Discussion:
[01/58] [abbrv] [mahout] Git Push Summary
a***@apache.org
2017-12-21 04:52:31 UTC
Permalink
Repository: mahout
Updated Branches:
refs/heads/master 2f55adeff -> b887ab365
a***@apache.org
2017-12-21 04:52:33 UTC
Permalink
http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/oldsite/js/search.js
----------------------------------------------------------------------
diff --git a/website-old/oldsite/js/search.js b/website-old/oldsite/js/search.js
deleted file mode 100644
index 58249ad..0000000
--- a/website-old/oldsite/js/search.js
+++ /dev/null
@@ -1,21 +0,0 @@
-function initSearch(){
- var methods = {
- defaultValueActsAsHint: function(element){
- element = $(element);
- element._default = element.value;
- return element.observe('focus', function(){
- if(element._default != element.value) return;
- element.removeClassName('hint').value = '';
- }).observe('blur', function(){
- if(element.value.strip() != '') return;
- element.addClassName('hint').value = element._default;
- }).addClassName('hint');
- }
- };
- $w('input textarea').each(function(tag){ Element.addMethods(tag, methods) });
-}
-initSearch();
-
-document.observe('dom:loaded', function(){
- $('searchDocs').defaultValueActsAsHint();
-});
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/oldsite/js/slides.js
----------------------------------------------------------------------
diff --git a/website-old/oldsite/js/slides.js b/website-old/oldsite/js/slides.js
deleted file mode 100644
index 004d5ee..0000000
--- a/website-old/oldsite/js/slides.js
+++ /dev/null
@@ -1,109 +0,0 @@
-var Slides = Class.create({
-
- initialize: function(element, options) {
- this.options = {
- Duration: 1,
- Delay: 10.0,
- Random: true,
- Slideshow:true,
- Controls:true
- }
- Object.extend(this.options, options || {});
-
- this.element = $(element);
- this.slides = this.element.childElements();
- this.num_slides = this.slides.length;
- this.current_slide = (this.options.Random) ? (Math.floor(Math.random()*this.num_slides)) : 0;
- this.end_slide = this.num_slides - 1;
-
- this.slides.invoke('hide');
- this.slides[this.current_slide].show();
-
- if (this.options.Slideshow) {
- this.startSlideshow();
- }
- if (this.options.Controls) {
- this.addControls();
- }
- },
-
- addControls: function() {
- this.btn_previous = $('previous');
- this.btn_next = $('next');
- this.btn_start = $('start');
- this.btn_stop = $('stop');
-
- this.btn_previous.observe('click', this.moveToPrevious.bindAsEventListener(this));
- this.btn_next.observe('click', this.moveToNext.bindAsEventListener(this));
- this.btn_start.observe('click', this.startSlideshow.bindAsEventListener(this));
- this.btn_stop.observe('click', this.stopSlideshow.bindAsEventListener(this));
- },
-
- startSlideshow: function(event) {
- if (event) { Event.stop(event); }
- if (!this.running) {
- this.fadeStartBtn();
- this.executer = new PeriodicalExecuter(function(){
- this.updateSlide(this.current_slide+1);
- }.bind(this),this.options.Delay);
- this.running=true;
- }
-
- },
-
- fadeStartBtn: function() {
- var startBtn = $('start');
- var stopBtn = $('stop');
- Effect.Fade(startBtn, { duration: 0.3 }),
- Effect.Appear(stopBtn, { duration: 0.3 })
- },
-
- stopSlideshow: function(event) {
- if (event) { Event.stop(event); }
- if (this.executer) {
- this.fadeStopBtn();
- this.executer.stop();
- this.running=false;
- }
- },
-
- fadeStopBtn: function() {
- var startBtn = $('start');
- var stopBtn = $('stop');
- Effect.Fade(stopBtn, { duration: 0.3 }),
- Effect.Appear(startBtn, { duration: 0.3 })
- },
-
- moveToPrevious: function (event) {
- if (event) { Event.stop(event); }
- //this.stopSlideshow();
- this.updateSlide(this.current_slide-1);
- },
-
- moveToNext: function (event) {
- if (event) { Event.stop(event); }
- //this.stopSlideshow();
- this.updateSlide(this.current_slide+1);
- },
-
- updateSlide: function(next_slide) {
- if (next_slide > this.end_slide) {
- next_slide = 0;
- }
- else if ( next_slide == -1 ) {
- next_slide = this.end_slide;
- }
-
- this.fadeInOut(next_slide, this.current_slide);
- },
-
- fadeInOut: function (next, current) {
- new Effect.Parallel([
- new Effect.Fade(this.slides[current], { sync: true }),
- new Effect.Appear(this.slides[next], { sync: true })
- ], { duration: this.options.Duration });
-
- this.current_slide = next;
- }
-
-});
\ No newline at end of file
a***@apache.org
2017-12-21 04:52:32 UTC
Permalink
http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/oldsite/js/widgets.js
----------------------------------------------------------------------
diff --git a/website-old/oldsite/js/widgets.js b/website-old/oldsite/js/widgets.js
deleted file mode 100644
index 14613c8..0000000
--- a/website-old/oldsite/js/widgets.js
+++ /dev/null
@@ -1,45 +0,0 @@
-if(!window.__twttrlr){(function(e,t){function y(e){for(var t=1,n;n=arguments[t];t++)for(var r in n)e[r]=n[r];return e}function b(e){return Array.prototype.slice.call(e)}function E(e,t){for(var n=0,r;r=e[n];n++)if(t==r)return n;return-1}function S(){var e=b(arguments),t=[];for(var n=0,r=e.length;n<r;n++)e[n].length>0&&t.push(e[n].replace(/\/$/,""));return t.join("/")}function x(e,t,n){var r=t.split("/"),i=e;while(r.length>1){var s=r.shift();i=i[s]=i[s]||{}}i[r[0]]=n}function T(){}function N(e,t){this.id=this.path=e,this.force=!!t}function C(e,t){this.id=e,this.body=t,typeof t=="undefined"&&(this.path=this.resolvePath(e))}function k(e,t){this.deps=e,this.collectResults=t,this.deps.length==0&&this.complete()}function L(e,t){this.deps=e,this.collectResults=t}function A(){for(var e in r)if(r[e].readyState=="interactive")return c[r[e].id]}function O(e,t){var r;return!e&&n&&(r=l||A()),r?(delete c[r.scriptId],r.body=t,r.execute()):(f=r=new C(e,t),a[r.id]=r),r}function M(){var e=b(arguments)
,t,n;return typeof e[0]=="string"&&(t=e.shift()),n=e.shift(),O(t,n)}function _(e,t){var n=t.id||"",r=n.split("/");r.pop();var i=r.join("/");return e.replace(/^\./,i)}function D(e,t){function r(e){return C.exports[_(e,t)]}var n=[];for(var i=0,s=e.length;i<s;i++){if(e[i]=="require"){n.push(r);continue}if(e[i]=="exports"){t.exports=t.exports||{},n.push(t.exports);continue}n.push(r(e[i]))}return n}function P(){var e=b(arguments),t=[],n,r;return typeof e[0]=="string"&&(n=e.shift()),w(e[0])&&(t=e.shift()),r=e.shift(),O(n,function(e){function s(){var i=D(b(t),n),s;typeof r=="function"?s=r.apply(n,i):s=r,typeof s=="undefined"&&(s=n.exports),e(s)}var n=this,i=[];for(var o=0,u=t.length;o<u;o++){var a=t[o];E(["require","exports"],a)==-1&&i.push(_(a,n))}i.length>0?H.apply(this,i.concat(s)):s()})}function H(){var e=b(arguments),t,n;typeof e[e.length-1]=="function"&&(t=e.pop()),typeof e[e.length-1]=="boolean"&&(n=e.pop());var r=new k(B(e,n),n);return t&&r.then(t),r}function B(e,t){var n=[];for(va
r r=0,i;i=e[r];r++)typeof i=="string"&&(i=j(i)),w(i)&&(i=new L(B(i,t),t)),n.push(i);return n}function j(e){var t,n;for(var r=0,i;i=H.matchers[r];r++){var s=i[0],o=i[1];if(t=e.match(s))return o(e)}throw new Error(e+" was not recognised by loader")}function I(){return e.using=h,e.provide=p,e.define=d,e.loadrunner=v,F}function q(e){for(var t=0;t<H.bundles.length;t++)for(var n in H.bundles[t])if(n!=e&&E(H.bundles[t][n],e)>-1)return n}var n=e.attachEvent&&!e.opera,r=t.getElementsByTagName("script"),i=0,s,o=t.createElement("script"),u={},a={},f,l,c={},h=e.using,p=e.provide,d=e.define,v=e.loadrunner;for(var m=0,g;g=r[m];m++)if(g.src.match(/loadrunner\.js(\?|#|$)/)){s=g;break}var w=Array.isArray||function(e){return e.constructor==Array};T.prototype.then=function(t){var n=this;return this.started||(this.started=!0,this.start()),this.completed?t.apply(e,this.results):(this.callbacks=this.callbacks||[],this.callbacks.push(t)),this},T.prototype.start=function(){},T.prototype.complete=function()
{if(!this.completed){this.results=b(arguments),this.completed=!0;if(this.callbacks)for(var t=0,n;n=this.callbacks[t];t++)n.apply(e,this.results)}},N.loaded=[],N.prototype=new T,N.prototype.start=function(){var e=this,t,n,r;return(r=a[this.id])?(r.then(function(){e.complete()}),this):((t=u[this.id])?t.then(function(){e.loaded()}):!this.force&&E(N.loaded,this.id)>-1?this.loaded():(n=q(this.id))?H(n,function(){e.loaded()}):this.load(),this)},N.prototype.load=function(){var t=this;u[this.id]=t;var n=o.cloneNode(!1);this.scriptId=n.id="LR"+ ++i,n.type="text/javascript",n.async=!0,n.onerror=function(){throw new Error(t.path+" not loaded")},n.onreadystatechange=n.onload=function(n){n=e.event||n;if(n.type=="load"||E(["loaded","complete"],this.readyState)>-1)this.onreadystatechange=null,t.loaded()},n.src=this.path,l=this,r[0].parentNode.insertBefore(n,r[0]),l=null,c[n.id]=this},N.prototype.loaded=function(){this.complete()},N.prototype.complete=function(){E(N.loaded,this.id)==-1&&N.loaded.pu
sh(this.id),delete u[this.id],T.prototype.complete.apply(this,arguments)},C.exports={},C.prototype=new N,C.prototype.resolvePath=function(e){return S(H.path,e+".js")},C.prototype.start=function(){var e,t,n=this,r;this.body?this.execute():(e=C.exports[this.id])?this.exp(e):(t=a[this.id])?t.then(function(e){n.exp(e)}):(bundle=q(this.id))?H(bundle,function(){n.start()}):(a[this.id]=this,this.load())},C.prototype.loaded=function(){var e,t,r=this;n?(t=C.exports[this.id])?this.exp(t):(e=a[this.id])&&e.then(function(e){r.exp(e)}):(e=f,f=null,e.id=e.id||this.id,e.then(function(e){r.exp(e)}))},C.prototype.complete=function(){delete a[this.id],N.prototype.complete.apply(this,arguments)},C.prototype.execute=function(){var e=this;typeof this.body=="object"?this.exp(this.body):typeof this.body=="function"&&this.body.apply(window,[function(t){e.exp(t)}])},C.prototype.exp=function(e){this.complete(this.exports=C.exports[this.id]=e||{})},k.prototype=new T,k.prototype.start=function(){function t(){v
ar t=[];e.collectResults&&(t[0]={});for(var n=0,r;r=e.deps[n];n++){if(!r.completed)return;r.results.length>0&&(e.collectResults?r instanceof L?y(t[0],r.results[0]):x(t[0],r.id,r.results[0]):t=t.concat(r.results))}e.complete.apply(e,t)}var e=this;for(var n=0,r;r=this.deps[n];n++)r.then(t);return this},L.prototype=new T,L.prototype.start=function(){var e=this,t=0,n=[];return e.collectResults&&(n[0]={}),function r(){var i=e.deps[t++];i?i.then(function(t){i.results.length>0&&(e.collectResults?i instanceof L?y(n[0],i.results[0]):x(n[0],i.id,i.results[0]):n.push(i.results[0])),r()}):e.complete.apply(e,n)}(),this},P.amd={};var F=function(e){return e(H,M,F,define)};F.Script=N,F.Module=C,F.Collection=k,F.Sequence=L,F.Dependency=T,F.noConflict=I,e.loadrunner=F,e.using=H,e.provide=M,e.define=P,H.path="",H.matchers=[],H.matchers.add=function(e,t){this.unshift([e,t])},H.matchers.add(/(^script!|\.js$)/,function(e){var t=new N(e.replace(/^\$/,H.path.replace(/\/$/,"")+"/").replace(/^script!/,""),!1
);return t.id=e,t}),H.matchers.add(/^[a-zA-Z0-9_\-\/]+$/,function(e){return new C(e)}),H.bundles=[],s&&(H.path=s.getAttribute("data-path")||s.src.split(/loadrunner\.js/)[0]||"",(main=s.getAttribute("data-main"))&&H.apply(e,main.split(/\s*,\s*/)).then(function(){}))})(this,document);(window.__twttrlr = loadrunner.noConflict());}__twttrlr(function(using, provide, loadrunner, define) {provide("util/util",function(e){function t(e){return e&&String(e).toLowerCase().indexOf("[native code]")>-1}function n(e){return o(arguments,function(t){s(t,function(t,n){e[t]=n})}),e}function r(e){return s(e,function(t,n){d(n)&&(r(n),v(n)&&delete e[t]),(n===undefined||n===null||n==="")&&delete e[t]}),e}function s(e,t){for(var n in e)(!e.hasOwnProperty||e.hasOwnProperty(n))&&t(n,e[n]);return e}function l(e){return{}.toString.call(e).match(/\s([a-zA-Z]+)/)[1].toLowerCase()}function c(e,t){return e==l(t)}function h(e,t,n){return n=n||[],function(){var r=a(arguments,function(e){return e});return e.apply(t,n.
concat(r))}}function d(e){return e===Object(e)}function v(e){if(!d(e))return!1;if(Object.keys)return!Object.keys(e).length;for(var t in e)if(e.hasOwnProperty(t))return!1;return!0}var i=t(Array.prototype.indexOf)?function(e,t){return e?Array.prototype.indexOf.apply(e,[t]):-1}:function(e,t){if(!e)return-1;for(var n=0,r=e.length;n<r;n++)if(t==e[n])return n;return-1},o=t(Array.prototype.forEach)?function(e,t){if(!e)return;if(!t)return;Array.prototype.forEach.apply(e,[t])}:function(e,t){if(!e)return;if(!t)return;for(var n=0,r=e.length;n<r;n++)t(e[n],n)},u=t(Array.prototype.filter)?function(e,t){return e?t?Array.prototype.filter.apply(e,[t]):e:null}:function(e,t){if(!e)return null;if(!t)return e;var n=[],r=0,i=e.length;for(;r<i;r++)t(e[r])&&n.push(e[r]);return n},a=t(Array.prototype.map)?function(e,t){return e?t?Array.prototype.map.apply(e,[t]):e:null}:function(e,t){if(!e)return null;if(!t)return e;var n=[],r=0,i=e.length;for(;r<i;r++)n.push(t(e[r]));return n},f=t(String.prototype.trim)?f
unction(e){return e&&String.prototype.trim.apply(e)}:function(e){return e&&e.replace(/(^\s+|\s+$)/g,"")},p=t(Object.create)?Object.create:function(e){function t(){}return t.prototype=e,new t};e({aug:n,compact:r,forIn:s,forEach:o,filter:u,map:a,trim:f,indexOf:i,isNative:t,isObject:d,isEmptyObject:v,createObject:p,bind:h,toType:l,isType:c})});
-provide("util/events",function(e){using("util/util",function(t){function r(){this.completed=!1,this.callbacks=[]}var n={bind:function(e,t){return this._handlers=this._handlers||{},this._handlers[e]=this._handlers[e]||[],this._handlers[e].push(t)},unbind:function(e,n){if(!this._handlers[e])return;if(n){var r=t.indexOf(this._handlers[e],n);r>=0&&this._handlers[e].splice(r,1)}else this._handlers[e]=[]},trigger:function(e,t){var n=this._handlers&&this._handlers[e];t.type=e;if(n)for(var r=0,i;i=n[r];r++)i.call(this,t)}};r.prototype.addCallback=function(e){this.completed?e.apply(this,this.results):this.callbacks.push(e)},r.prototype.complete=function(){this.results=makeArray(arguments),this.completed=!0;for(var e=0,t;t=this.callbacks[e];e++)t.apply(this,this.results)},e({Emitter:n,Promise:r})})});
-provide("util/querystring",function(e){function t(e){return encodeURIComponent(e).replace(/\+/g,"%2B")}function n(e){return decodeURIComponent(e)}function r(e){var n=[],r;for(r in e)e[r]!==null&&typeof e[r]!="undefined"&&n.push(t(r)+"="+t(e[r]));return n.sort().join("&")}function i(e){var t={},r,i,s,o;if(e){r=e.split("&");for(o=0;s=r[o];o++)i=s.split("="),i.length==2&&(t[n(i[0])]=n(i[1]))}return t}function s(e,t){var n=r(t);return n.length>0?e.indexOf("?")>=0?e+"&"+r(t):e+"?"+r(t):e}function o(e){var t=e&&e.split("?");return t.length==2?i(t[1]):{}}e({url:s,decodeURL:o,decode:i,encode:r,encodePart:t,decodePart:n})});
-provide("util/twitter",function(e){using("util/querystring",function(t){function o(e){return typeof e=="string"&&n.test(e)&&RegExp.$1.length<=20}function u(e){if(o(e))return RegExp.$1}function a(e){var n=t.decodeURL(e);n.screen_name=u(e);if(n.screen_name)return t.url("https://twitter.com/intent/user",n)}function f(e){return typeof e=="string"&&s.test(e)}function l(e,t){t=t===undefined?!0:t;if(f(e))return(t?"#":"")+RegExp.$1}function c(e){return typeof e=="string"&&r.test(e)}function h(e){return c(e)&&RegExp.$1}function p(e){return i.test(e)}var n=/(?:^|(?:https?\:)?\/\/(?:www\.)?twitter\.com(?:\:\d+)?(?:\/intent\/(?:follow|user)\/?\?screen_name=|(?:\/#!)?\/))@?([\w]+)(?:\?|&|$)/i,r=/(?:^|(?:https?\:)?\/\/(?:www\.)?twitter\.com(?:\:\d+)?\/(?:#!\/)?[\w_]+\/status(?:es)?\/)(\d+)/i,i=/^http(s?):\/\/((www\.)?)twitter\.com\//,s=/^#?([^.,<>!\s\/#\-\(\)\'\"]+)$/;e({isHashTag:f,hashTag:l,isScreenName:o,screenName:u,isStatus:c,status:h,intentForProfileURL:a,isTwitterURL:p,regexen:{profile:n}}
)})});
-provide("util/uri",function(e){using("util/querystring","util/util","util/twitter",function(t,n,r){function i(e,t){var n,r;return t=t||location,/^https?:\/\//.test(e)?e:/^\/\//.test(e)?t.protocol+e:(n=t.host+(t.port.length?":"+t.port:""),e.indexOf("/")!==0&&(r=t.pathname.split("/"),r.pop(),r.push(e),e="/"+r.join("/")),[t.protocol,"//",n,e].join(""))}function s(){var e=document.getElementsByTagName("link"),t=0,n;for(;n=e[t];t++)if(n.rel=="canonical")return i(n.href)}function o(){var e=document.getElementsByTagName("a"),t=document.getElementsByTagName("link"),n=[e,t],i,s,o=0,u=0,a=/\bme\b/,f;for(;i=n[o];o++)for(u=0;s=i[u];u++)if(a.test(s.rel)&&(f=r.screenName(s.href)))return f}e({absolutize:i,getCanonicalURL:s,getScreenNameFromPage:o})})});
-provide("util/typevalidator",function(e){using("util/util",function(t){function n(e){return e!==undefined&&e!==null&&e!==""}function r(e){return s(e)&&e%1===0}function i(e){return s(e)&&!r(e)}function s(e){return n(e)&&!isNaN(e)}function o(e){return n(e)&&t.toType(e)=="array"}function u(e){if(!n(e))return!1;switch(e){case"on":case"ON":case"true":case"TRUE":return!0;case"off":case"OFF":case"false":case"FALSE":return!1;default:return!!e}}function a(e){if(s(e))return e}function f(e){if(i(e))return e}function l(e){if(r(e))return e}e({hasValue:n,isInt:r,isFloat:i,isNumber:s,isArray:o,asInt:l,asFloat:f,asNumber:a,asBoolean:u})})});
-provide("tfw/util/globals",function(e){using("util/typevalidator",function(t){function r(){var e=document.getElementsByTagName("meta"),t,r,i=0;n={};for(;t=e[i];i++){if(!/^twitter:/.test(t.name))continue;r=t.name.replace(/^twitter:/,""),n[r]=t.content}}function i(e){return n[e]}function s(e){return t.asBoolean(e)&&(n.dnt=!0),t.asBoolean(n.dnt)}var n;r(),e({init:r,val:i,dnt:s})})});
-provide("util/logger",function(e){function n(e,n,r,i,s){window[t]&&window[t].log&&window[t].log(e,n,r,i,s)}function r(e,n,r,i,s){window[t]&&window[t].warn&&window[t].warn(e,n,r,i,s)}function i(e,n,r,i,s){window[t]&&window[t].error&&window[t].error(e,n,r,i,s)}var t=["con","sole"].join("");e({info:n,warn:r,error:i})});
-provide("util/domready",function(e){function l(){t=1;for(var e=0,r=n.length;e<r;e++)n[e]()}var t=0,n=[],r,i,s=!1,o=document.createElement("a"),u="DOMContentLoaded",a="addEventListener",f="onreadystatechange";/^loade|c/.test(document.readyState)&&(t=1),document[a]&&document[a](u,i=function(){document.removeEventListener(u,i,s),l()},s),o.doScroll&&document.attachEvent(f,r=function(){/^c/.test(document.readyState)&&(document.detachEvent(f,r),l())});var c=o.doScroll?function(e){self!=top?t?e():n.push(e):!function(){try{o.doScroll("left")}catch(t){return setTimeout(function(){c(e)},50)}e()}()}:function(e){t?e():n.push(e)};e(c)});
-provide("util/env",function(e){using("util/domready","util/typevalidator","util/logger","tfw/util/globals",function(t,n,r,i){function f(){return window.devicePixelRatio?window.devicePixelRatio>=1.5:window.matchMedia?window.matchMedia("only screen and (min-resolution: 144dpi)").matches:!1}function l(){return/MSIE \d/.test(s)}function c(){return/MSIE 6/.test(s)}function h(){return/MSIE 7/.test(s)}function p(){return o}function d(){return"ontouchstart"in window||/Opera Mini/.test(s)||navigator.msMaxTouchPoints>0}function v(){var e=document.body.style;return e.transition!==undefined||e.webkitTransition!==undefined||e.mozTransition!==undefined||e.oTransition!==undefined||e.msTransition!==undefined}var s=window.navigator.userAgent,o=!1,u=!1,a="twitter-csp-test";window.twttr=window.twttr||{},twttr.verifyCSP=function(e){var t=document.getElementById(a);u=!0,o=!!e,t&&t.parentNode.removeChild(t)},t(function(){var e;if(c()||h())return o=!1;if(n.asBoolean(i.val("widgets:csp")))return o=!0;e=doc
ument.createElement("script"),e.id=a,e.text="twttr.verifyCSP(false);",document.body.appendChild(e),window.setTimeout(function(){if(u)return;r.warn('TWITTER: Content Security Policy restrictions may be applied to your site. Add <meta name="twitter:widgets:csp" content="on"> to supress this warning.'),r.warn("TWITTER: Please note: Not all embedded timeline and embedded Tweet functionality is supported when CSP is applied.")},5e3)}),e({retina:f,anyIE:l,ie6:c,ie7:h,cspEnabled:p,touch:d,cssTransitions:v})})});
-provide("dom/delegate",function(e){using("util/env",function(t){function i(e){var t=e.getAttribute("data-twitter-event-id");return t?t:(e.setAttribute("data-twitter-event-id",++r),r)}function s(e,t,n){var r=0,i=e&&e.length||0;for(r=0;r<i;r++)e[r].call(t,n)}function o(e,t,n){var r=n||e.target||e.srcElement,i=r.className.split(" "),u=0,a,f=i.length;for(;u<f;u++)s(t["."+i[u]],r,e);s(t[r.tagName],r,e);if(e.cease)return;r!==this&&o.call(this,e,t,r.parentElement||r.parentNode)}function u(e,t,n){if(e.addEventListener){e.addEventListener(t,function(r){o.call(e,r,n[t])},!1);return}e.attachEvent&&e.attachEvent("on"+t,function(){o.call(e,e.ownerDocument.parentWindow.event,n[t])})}function a(e,t,r,s){var o=i(e);n[o]=n[o]||{},n[o][t]||(n[o][t]={},u(e,t,n[o])),n[o][t][r]=n[o][t][r]||[],n[o][t][r].push(s)}function f(e,t,n){e.addEventListener?e.addEventListener(t,n,!1):e.attachEvent("on"+t,function(){n(window.event)})}function l(e,t,r){var s=i(t),u=n[s]&&n[s];o.call(t,{target:r},u[e])}function c(e)
{return p(e),h(e),!1}function h(e){e&&e.preventDefault?e.preventDefault():e.returnValue=!1}function p(e){e&&(e.cease=!0)&&e.stopPropagation?e.stopPropagation():e.cancelBubble=!0}var n={},r=-1;e({stop:c,stopPropagation:p,preventDefault:h,delegate:a,on:f,simulate:l})})});
-provide("tfw/util/article",function(e){using("dom/delegate","tfw/util/globals","util/uri",function(t,n,r){function o(){i=r.getCanonicalURL()||""+document.location;if(!window.top.postMessage)return;if(window==window.top){t.on(window,"message",function(e){var t;if(e.data&&e.data[0]!="{")return;try{t=JSON.parse(e.data)}catch(r){}t&&t.name=="twttr:private:requestArticleUrl"&&e.source.postMessage(JSON.stringify({name:"twttr:private:provideArticleUrl",data:{url:i,dnt:n.dnt()}}),"*")});return}t.on(window,"message",function(e){var t;if(e.data&&e.data[0]!="{")return;try{t=JSON.parse(e.data)}catch(r){}t&&t.name=="twttr:private:provideArticleUrl"&&(i=t.data&&t.data.url,n.dnt(t.data.dnt),s=document.location.href)}),window.top.postMessage(JSON.stringify({name:"twttr:private:requestArticleUrl"}),"*")}var i,s="";o(),e({url:function(){return i},frameUrl:function(){return s}})})});
-provide("util/promise",function(e){using("util/util",function(t){var n=function(e,t){setTimeout(function(){e.call(t)},1)},r=function(e){try{var t=e.then;if(typeof t=="function")return!0}catch(n){}return!1},i=function(e){Error.call(this,e)};i.prototype=t.createObject(Error.prototype);var s=function(){var e=[];return e.pump=function(t){n(function(){var n=e.length,r=0;while(r<n)r++,e.shift()(t)})},e},o=function(e,t,i,s,o,u){var a=!1,f=this,l=function(e){n(function(){u("fulfilled"),s(e),t.pump(e)})},c=function(e){n(function(){u("rejected"),o(e),i.pump(e)})},h=function(e){if(r(e)){e.then(h,c);return}l(e)},p=function(e,t){return function(t){a||(a=!0,e(t))}};this.resolve=p(h,"resolve"),this.fulfill=p(l,"fulfill"),this.reject=p(c,"reject"),this.cancel=function(){f.reject(new Error("Cancel"))},this.timeout=function(){f.reject(new Error("Timeout"))},u("pending")},u=function(e){var t=new s,n=new s,r,i,u="pending";this._addAcceptCallback=function(e){t.push(e),u=="fulfilled"&&t.pump(r)},this._ad
dRejectCallback=function(e){n.push(e),u=="rejected"&&n.pump(i)};var a=new o(this,t,n,function(e){r=e},function(e){i=e},function(e){u=e});try{e&&e(a)}catch(f){a.reject(f)}},a=function(e){return typeof e=="function"},f=function(e,n,r){return a(e)?function(){try{var t=e.apply(null,arguments);n.resolve(t)}catch(r){n.reject(r)}}:t.bind(n[r],n)},l=function(e,t,n){return a(e)&&n._addAcceptCallback(e),a(t)&&n._addRejectCallback(t),n};t.aug(u.prototype,{then:function(e,t){var n=this;return new u(function(r){l(f(e,r,"resolve"),f(t,r,"reject"),n)})},"catch":function(e){var t=this;return new u(function(n){l(null,f(e,n,"reject"),t)})}}),u.isThenable=r;var c=function(e){return t.map(e,u.resolve)};u.any=function(){var e=c(arguments);return new u(function(n){if(!e.length)n.reject("No futures passed to Promise.any()");else{var r=!1,i=function(e){if(r)return;r=!0,n.resolve(e)},s=function(e){if(r)return;r=!0,n.reject(e)};t.forEach(e,function(e,t){e.then(i,s)})}})},u.every=function(){var e=c(arguments)
;return new u(function(n){if(!e.length)n.reject("No futures passed to Promise.every()");else{var r=new Array(e.length),i=0,s=function(t,s){i++,r[t]=s,i==e.length&&n.resolve(r)};t.forEach(e,function(e,r){e.then(t.bind(s,null,[r]),n.reject)})}})},u.some=function(){var e=c(arguments);return new u(function(n){if(!e.length)n.reject("No futures passed to Promise.some()");else{var r=0,i=function(t){r++,r==e.length&&n.reject()};t.forEach(e,function(e,t){e.then(n.resolve,i)})}})},u.fulfill=function(e){return new u(function(t){t.fulfill(e)})},u.resolve=function(e){return new u(function(t){t.resolve(e)})},u.reject=function(e){return new u(function(t){t.reject(e)})},e(u)})});
-provide("util/layout",function(e){using("util/promise","util/logger",function(t,n){function s(){}var r=[],i;s.prototype.enqueue=function(e,n){return new t(function(t){r.push({action:e,resolver:t,note:n})})},s.prototype.exec=function(){var e=r,t;if(!e.length)return;r=[];while(e.length)t=e.shift(),t&&t.action?t.resolver.fulfill(t.action()):t.resolver.reject()},s.prototype.delayedExec=function(){i&&window.clearTimeout(i),i=window.setTimeout(this.exec,100)},e(s)})});
-provide("util/iframe",function(e){using("util/util",function(t){e(function(e,n,r){var i;r=r||document,e=e||{},n=n||{};if(e.name){try{i=r.createElement('<iframe name="'+e.name+'"></iframe>')}catch(s){i=r.createElement("iframe"),i.name=e.name}delete e.name}else i=r.createElement("iframe");return e.id&&(i.id=e.id,delete e.id),i.allowtransparency="true",i.scrolling="no",i.setAttribute("frameBorder",0),i.setAttribute("allowTransparency",!0),t.forIn(e,function(e,t){i.setAttribute(e,t)}),t.forIn(n,function(e,t){i.style[e]=t}),i})})});
-provide("dom/get",function(e){using("util/util",function(t){function r(e,t,r){return n(e,t,r,1)[0]}function i(e,n,r){var s=n&&n.parentNode,o;if(!s||s===r)return;return s.tagName==e?s:(o=s.className.split(" "),0===e.indexOf(".")&&~t.indexOf(o,e.slice(1))?s:i(e,s,r))}var n=t.isNative(document.getElementsByClassName)?function(e,n,r,i){var s=t.filter((n||document).getElementsByClassName(e),function(e){return!r||e.tagName.toLowerCase()==r.toLowerCase()});return[].slice.call(s,0,i||s.length)}:function(e,n,r,i){var s,o,u=[],a,f,l,c,h,p;n=n||document,a=e.split(" "),c=a.length,s=n.getElementsByTagName(r||"*"),p=s.length;for(l=0;l<c&&p>0;l++){u=[],f=a[l];for(h=0;h<p;h++){o=s[h],~t.indexOf(o.className.split(" "),f)&&u.push(o);if(l+1==c&&u.length===i)break}s=u,p=s.length}return u};e({all:n,one:r,ancestor:i})})});
-provide("tfw/widget/base",function(e){using("dom/get","util/domready","util/iframe","util/layout","util/promise","util/querystring","util/typevalidator","util/util","tfw/util/globals",function(t,n,r,i,s,o,u,a,f){function g(e){var t;if(!e)return;e.ownerDocument?(this.srcEl=e,this.classAttr=e.className.split(" ")):(this.srcOb=e,this.classAttr=[]),t=this.params(),this.id=this.generateId(),this.setLanguage(),this.related=t.related||this.dataAttr("related"),this.partner=t.partner||this.dataAttr("partner")||f.val("partner"),this.dnt=t.dnt||this.dataAttr("dnt")||f.dnt()||"",this.styleAttr=[],this.targetEl=e.targetEl}function y(){a.forEach(p,function(e){e()}),g.doLayout()}function b(e){if(!e)return;return e.lang?e.lang:b(e.parentNode)}var l=0,c,h={list:[],byId:{}},p=[],d=new i,v="data-twttr-rendered",m={ar:{"%{followers_count} followers":"عدد المتابعين %{followers_count}","100K+":"+100 ألف","10k unit":"10 آلاف وحدة",Follow:"تابِع","Follow %{screen_name}":"تاب�
�ع %{screen_name}",K:"ألف",M:"مليون",Tweet:"غرِّد","Tweet %{hashtag}":"غرِّد %{hashtag}","Tweet to %{name}":"غرِّد لـ %{name}","Twitter Stream":"خطّ تويتر الزمنيّ"},da:{"%{followers_count} followers":"%{followers_count} følgere","10k unit":"10k enhed",Follow:"Følg","Follow %{screen_name}":"Følg %{screen_name}","Tweet to %{name}":"Tweet til %{name}","Twitter Stream":"Twitter-strøm"},de:{"%{followers_count} followers":"%{followers_count} Follower","100K+":"100Tsd+","10k unit":"10tsd-Einheit",Follow:"Folgen","Follow %{screen_name}":"%{screen_name} folgen",K:"Tsd",Tweet:"Twittern","Tweet to %{name}":"Tweet an %{name}"},es:{"%{followers_count} followers":"%{followers_count} seguidores","10k unit":"10k unidad",Follow:"Seguir","Follow %{screen_name}":"Seguir a %{screen_name}",Tweet:"Twittear","Tweet %{hashtag}":"Twittear %{hashtag}","Tweet to %{name}":"Twittear a %{name}","Twitter Stream":"Cronología de Twitter"},fa:{"%{followers_count} followe
rs":"%{followers_count} دنبال‌کننده","100K+":">۱۰۰هزار","10k unit":"۱۰هزار واحد",Follow:"دنبال کردن","Follow %{screen_name}":"دنبال کردن %{screen_name}",K:"هزار",M:"میلیون",Tweet:"توییت","Tweet %{hashtag}":"توییت کردن %{hashtag}","Tweet to %{name}":"به %{name} توییت کنید","Twitter Stream":"جریان توییت‌ها"},fi:{"%{followers_count} followers":"%{followers_count} seuraajaa","100K+":"100 000+","10k unit":"10 000 yksikköä",Follow:"Seuraa","Follow %{screen_name}":"Seuraa käyttäjää %{screen_name}",K:"tuhatta",M:"milj.",Tweet:"Twiittaa","Tweet %{hashtag}":"Twiittaa %{hashtag}","Tweet to %{name}":"Twiittaa käyttäjälle %{name}","Twitter Stream":"Twitter-virta"},fil:{"%{followers_count} followers":"%{followers_count} mga tagasunod","10k unit":"10k yunit",Follow:"Sundan","Follow %{screen_name}":"Sundan si %{screen_name}",Tweet:"I-tweet","Tweet %{hashtag}":"I-tweet ang %{hashtag}","Tweet to %
{name}":"Mag-Tweet kay %{name}","Twitter Stream":"Stream ng Twitter"},fr:{"%{followers_count} followers":"%{followers_count} abonnés","10k unit":"unité de 10k",Follow:"Suivre","Follow %{screen_name}":"Suivre %{screen_name}",Tweet:"Tweeter","Tweet %{hashtag}":"Tweeter %{hashtag}","Tweet to %{name}":"Tweeter à %{name}","Twitter Stream":"Flux Twitter"},he:{"%{followers_count} followers":"%{followers_count} עוקבים","100K+":"מאות אלפים","10k unit":"עשרות אלפים",Follow:"מעקב","Follow %{screen_name}":"לעקוב אחר %{screen_name}",K:"אלף",M:"מיליון",Tweet:"ציוץ","Tweet %{hashtag}":"צייצו %{hashtag}","Tweet to %{name}":"ציוץ אל %{name}","Twitter Stream":"התזרים של טוויטר"},hi:{"%{followers_count} followers":"%{followers_count} फ़ॉलोअर्स","100K+":"1 लाख+","10k unit":"10 हजार इकाईयां",Follow:"फ़ॉलो","Follow %{screen_name}":"%{screen_name} को फ़ॉलो क
रें",K:"हजार",M:"मिलियन",Tweet:"ट्वीट","Tweet %{hashtag}":"ट्वीट %{hashtag}","Tweet to %{name}":"%{name} को ट्वीट करें","Twitter Stream":"ट्विटर स्ट्रीम"},hu:{"%{followers_count} followers":"%{followers_count} követő","100K+":"100E+","10k unit":"10E+",Follow:"Követés","Follow %{screen_name}":"%{screen_name} követése",K:"E","Tweet %{hashtag}":"%{hashtag} tweetelése","Tweet to %{name}":"Tweet küldése neki: %{name}","Twitter Stream":"Twitter Hírfolyam"},id:{"%{followers_count} followers":"%{followers_count} pengikut","100K+":"100 ribu+","10k unit":"10 ribu unit",Follow:"Ikuti","Follow %{screen_name}":"Ikuti %{screen_name}",K:"&nbsp;ribu",M:"&nbsp;juta","Tweet to %{name}":"Tweet ke %{name}","Twitter Stream":"Aliran Twitter"},it:{"%{followers_count} followers":"%{followers_count} follower","10k unit":"10k unità",Follow:"Segui","Follow %{screen_name}":"Segui %{screen_name}","Tweet %{ha
shtag}":"Twitta %{hashtag}","Tweet to %{name}":"Twitta a %{name}"},ja:{"%{followers_count} followers":"%{followers_count}人のフォロワー","100K+":"100K以上","10k unit":"万",Follow:"フォローする","Follow %{screen_name}":"%{screen_name}さんをフォロー",Tweet:"ツイート","Tweet %{hashtag}":"%{hashtag} をツイートする","Tweet to %{name}":"%{name}さんへツイートする","Twitter Stream":"Twitterストリーム"},ko:{"%{followers_count} followers":"%{followers_count}명의 팔로워","100K+":"100만 이상","10k unit":"만 단위",Follow:"팔로우","Follow %{screen_name}":"%{screen_name} 님 팔로우하기",K:"천",M:"백만",Tweet:"트윗","Tweet %{hashtag}":"%{hashtag} 관련 트윗하기","Tweet to %{name}":"%{name}님에게 트윗하기","Twitter Stream":"트위터 스트림"},msa:{"%{followers_count} followers":"%{followers_count} pengikut","100K+":"100 ribu+","10k unit":"10 ribu unit",Follow:"Ikut","Follow %{screen_name}":"Ikut %{screen_name}",K:
"ribu",M:"juta","Tweet to %{name}":"Tweet kepada %{name}","Twitter Stream":"Strim Twitter"},nl:{"%{followers_count} followers":"%{followers_count} volgers","100K+":"100k+","10k unit":"10k-eenheid",Follow:"Volgen","Follow %{screen_name}":"%{screen_name} volgen",K:"k",M:" mln.",Tweet:"Tweeten","Tweet %{hashtag}":"%{hashtag} tweeten","Tweet to %{name}":"Tweeten naar %{name}"},no:{"%{followers_count} followers":"%{followers_count} følgere","100K+":"100 K+","10k unit":"10 K-enhet",Follow:"Følg","Follow %{screen_name}":"Følg %{screen_name}","Tweet to %{name}":"Send en tweet til %{name}","Twitter Stream":"Twitter-strøm"},pl:{"%{followers_count} followers":"%{followers_count} obserwujących","100K+":"100 tys.+","10k unit":"10 tys.",Follow:"Obserwuj","Follow %{screen_name}":"Obserwuj %{screen_name}",K:"tys.",M:"mln",Tweet:"Tweetnij","Tweet %{hashtag}":"Tweetnij %{hashtag}","Tweet to %{name}":"Tweetnij do %{name}","Twitter Stream":"Strumień Twittera"},pt:{"%{followers_count} followers":"
%{followers_count} seguidores","100K+":"+100 mil","10k unit":"10 mil unidades",Follow:"Seguir","Follow %{screen_name}":"Seguir %{screen_name}",K:"Mil",Tweet:"Tweetar","Tweet %{hashtag}":"Tweetar %{hashtag}","Tweet to %{name}":"Tweetar para %{name}","Twitter Stream":"Transmissões do Twitter"},ru:{"%{followers_count} followers":"Читатели: %{followers_count} ","100K+":"100 тыс.+","10k unit":"блок 10k",Follow:"Читать","Follow %{screen_name}":"Читать %{screen_name}",K:"тыс.",M:"млн.",Tweet:"Твитнуть","Tweet %{hashtag}":"Твитнуть %{hashtag}","Tweet to %{name}":"Твитнуть %{name}","Twitter Stream":"Поток в Твиттере"},sv:{"%{followers_count} followers":"%{followers_count} följare","10k unit":"10k",Follow:"Följ","Follow %{screen_name}":"Följ %{screen_name}",Tweet:"Tweeta","Tweet %{hashtag}":"Tweeta %{hashtag}","Tweet to %{name}":"Tweeta till %{name}","Twitter Stream":"Twitterflöde"},th:{"%{followers_count} followers":
"%{followers_count} ผู้ติดตาม","100K+":"100พัน+","10k unit":"หน่วย 10พัน",Follow:"ติดตาม","Follow %{screen_name}":"ติดตาม %{screen_name}",K:"พัน",M:"ล้าน",Tweet:"ทวีต","Tweet %{hashtag}":"ทวีต %{hashtag}","Tweet to %{name}":"ทวีตถึง %{name}","Twitter Stream":"ทวิตเตอร์สตรีม"},tr:{"%{followers_count} followers":"%{followers_count} takipçi","100K+":"+100 bin","10k unit":"10 bin birim",Follow:"Takip et","Follow %{screen_name}":"Takip et: %{screen_name}",K:"bin",M:"milyon",Tweet:"Tweetle","Tweet %{hashtag}":"Tweetle: %{hashtag}","Tweet to %{name}":"Tweetle: %{name}","Twitter Stream":"Twitter Akışı"},ur:{"%{followers_count} followers":"%{followers_count} فالورز","100K+":"ایک لاکھ سے زیادہ","10k unit":"دس ہزار یونٹ",Follow:"فالو کریں","Follow %{screen_name}":"%{screen_name} کو فالو کریں",K:"ہزار",M:"
ملین",Tweet:"ٹویٹ کریں","Tweet %{hashtag}":"%{hashtag} ٹویٹ کریں","Tweet to %{name}":"%{name} کو ٹویٹ کریں","Twitter Stream":"ٹوئٹر سٹریم"},"zh-cn":{"%{followers_count} followers":"%{followers_count} 关注者","100K+":"10万+","10k unit":"1万单元",Follow:"关注","Follow %{screen_name}":"关注 %{screen_name}",K:"千",M:"百万",Tweet:"发推","Tweet %{hashtag}":"以 %{hashtag} 发推","Tweet to %{name}":"发推给 %{name}","Twitter Stream":"Twitter 信息流"},"zh-tw":{"%{followers_count} followers":"%{followers_count} 位跟隨者","100K+":"超過十萬","10k unit":"1萬 單位",Follow:"跟隨","Follow %{screen_name}":"跟隨 %{screen_name}",K:"千",M:"百萬",Tweet:"推文","Tweet %{hashtag}":"推文%{hashtag}","Tweet to %{name}":"推文給%{name}","Twitter Stream":"Twitter 資訊流"}};a.aug(g.prototype,{setLanguage:function(e){var t;e||(e=this.params().lang||this.dataAttr("lang")||b(this.srcEl)),e=e&&e.toLowerCase();if(!e)return this.
lang="en";if(m[e])return this.lang=e;t=e.replace(/[\-_].*/,"");if(m[t])return this.lang=t;this.lang="en"},_:function(e,t){var n=this.lang;t=t||{};if(!n||!m.hasOwnProperty(n))n=this.lang="en";return e=m[n]&&m[n][e]||e,this.ringo(e,t,/%\{([\w_]+)\}/g)},ringo:function(e,t,n){return n=n||/\{\{([\w_]+)\}\}/g,e.replace(n,function(e,n){return t[n]!==undefined?t[n]:e})},add:function(e){h.list.push(this),h.byId[this.id]=e},create:function(e,t,n){var i=this,o;return n[v]=!0,o=r(a.aug({id:this.id,src:e,"class":this.classAttr.join(" ")},n),t,this.targetEl&&this.targetEl.ownerDocument),this.srcEl?this.layout(function(){return i.srcEl.parentNode.replaceChild(o,i.srcEl),o}):this.targetEl?this.layout(function(){return i.targetEl.appendChild(o),o}):s.reject("Did not append widget")},params:function(){var e,t;return this.srcOb?t=this.srcOb:(e=this.srcEl&&this.srcEl.href&&this.srcEl.href.split("?")[1],t=e?o.decode(e):{}),this.params=function(){return t},t},dataAttr:function(e){return this.srcEl&&this.
srcEl.getAttribute("data-"+e)},attr:function(e){return this.srcEl&&this.srcEl.getAttribute(e)},layout:function(e){return d.enqueue(e)},styles:{base:[["font","normal normal normal 11px/18px 'Helvetica Neue', Arial, sans-serif"],["margin","0"],["padding","0"],["whiteSpace","nowrap"]],button:[["fontWeight","bold"],["textShadow","0 1px 0 rgba(255,255,255,.5)"]],large:[["fontSize","13px"],["lineHeight","26px"]],vbubble:[["fontSize","16px"]]},width:function(){throw new Error(name+" not implemented")},height:function(){return this.size=="m"?20:28},minWidth:function(){},maxWidth:function(){},minHeight:function(){},maxHeight:function(){},dimensions:function(){function e(e){switch(typeof e){case"string":return e;case"undefined":return;default:return e+"px"}}var t={width:this.width(),height:this.height()};return this.minWidth()&&(t["min-width"]=this.minWidth()),this.maxWidth()&&(t["max-width"]=this.maxWidth()),this.minHeight()&&(t["min-height"]=this.minHeight()),this.maxHeight()&&(t["max-heigh
t"]=this.maxHeight()),a.forIn(t,function(n,r){t[n]=e(r)}),t},generateId:function(){return this.srcEl&&this.srcEl.id||"twitter-widget-"+l++}}),g.afterLoad=function(e){p.push(e)},g.doLayout=function(){d.exec()},g.doLayoutAsync=function(){d.delayedExec()},g.init=function(e){c=e},g.find=function(e){return e&&h.byId[e]?h.byId[e].element:null},g.embed=function(e){var n=c.widgets,r=[];u.isArray(e)||(e=[e||document]),a.forEach(e,function(e){a.forIn(n,function(n,i){var s,o;n.match(/\./)?(s=n.split("."),o=t.all(s[1],e,s[0])):o=e.getElementsByTagName(n),a.forEach(o,function(e){if(e.getAttribute(v))return;e.setAttribute(v,"true"),r.push(new i(e))})})}),g.doLayout(),a.forEach(r,function(e){h.byId[e.id]=e,h.list.push(e),e.render(c)}),g.doLayoutAsync(),y()},window.setInterval(function(){g.doLayout()},500),e(g)})});
-provide("tfw/widget/intent",function(e){using("tfw/widget/base","util/util","util/querystring","util/uri",function(t,n,r,i){function h(e){var t=Math.round(l/2-u/2),n=0;f>a&&(n=Math.round(f/2-a/2)),window.open(e,undefined,[o,"width="+u,"height="+a,"left="+t,"top="+n].join(","))}function p(e,t){using("tfw/hub/client",function(n){n.openIntent(e,t)})}function d(e){var t="original_referer="+location.href;return[e,t].join(e.indexOf("?")==-1?"?":"&")}function v(e){var t,r,i,o;e=e||window.event,t=e.target||e.srcElement;if(e.altKey||e.metaKey||e.shiftKey)return;while(t){if(~n.indexOf(["A","AREA"],t.nodeName))break;t=t.parentNode}t&&t.href&&(r=t.href.match(s),r&&(o=d(t.href),o=o.replace(/^http[:]/,"https:"),o=o.replace(/^\/\//,"https://"),m(o,t),e.returnValue=!1,e.preventDefault&&e.preventDefault()))}function m(e,t){if(twttr.events.hub&&t){var n=new g(c.generateId(),t);c.add(n),p(e,t),twttr.events.trigger("click",{target:t,region:"intent",type:"click",data:{}})}else h(e)}function g(e,t){this.
id=e,this.element=this.srcEl=t}function y(e){this.srcEl=[],this.element=e}var s=/twitter\.com(\:\d{2,4})?\/intent\/(\w+)/,o="scrollbars=yes,resizable=yes,toolbar=no,location=yes",u=550,a=520,f=screen.height,l=screen.width,c;y.prototype=new t,n.aug(y.prototype,{render:function(e){c=this,window.__twitterIntentHandler||(document.addEventListener?document.addEventListener("click",v,!1):document.attachEvent&&document.attachEvent("onclick",v),window.__twitterIntentHandler=!0)}}),y.open=m,e(y)})});
-provide("dom/classname",function(e){function t(e){return new RegExp("\\b"+e+"\\b","g")}function n(e,n){if(e.classList){e.classList.add(n);return}t(n).test(e.className)||(e.className+=" "+n)}function r(e,n){if(e.classList){e.classList.remove(n);return}e.className=e.className.replace(t(n)," ")}function i(e,t,i){return e.classList&&e.classList.toggle?e.classList.toggle(t,i):(i?n(e,t):r(e,t),i)}function s(e,i,s){if(e.classList&&o(e,i)){r(e,i),n(e,s);return}e.className=e.className.replace(t(i),s)}function o(e,n){return e.classList?e.classList.contains(n):t(n).test(e.className)}e({add:n,remove:r,replace:s,toggle:i,present:o})});
-provide("util/throttle",function(e){function t(e,t,n){function o(){var n=+(new Date);window.clearTimeout(s);if(n-i>t){i=n,e.call(r);return}s=window.setTimeout(o,t)}var r=n||this,i=0,s;return o}e(t)});
-provide("util/css",function(e){using("util/util",function(t){e({sanitize:function(e,n,r){var i=/^[\w ,%\/"'\-_#]+$/,s=e&&t.map(e.split(";"),function(e){return t.map(e.split(":").slice(0,2),function(e){return t.trim(e)})}),o=0,u,a=[],f=r?"!important":"";n=n||/^(font|text\-|letter\-|color|line\-)[\w\-]*$/;for(;s&&(u=s[o]);o++)u[0].match(n)&&u[1].match(i)&&a.push(u.join(":")+f);return a.join(";")}})})});
-provide("tfw/util/params",function(e){using("util/querystring","util/twitter",function(t,n){e(function(e,r){return function(i){var s,o="data-tw-params",u,a=i.innerHTML;if(!i)return;if(!n.isTwitterURL(i.href))return;if(i.getAttribute(o))return;i.setAttribute(o,!0);if(typeof r=="function"){s=r.call(this,i);for(u in s)s.hasOwnProperty(u)&&(e[u]=s[u])}i.href=t.url(i.href,e),i.innerHTML=a}})})});
-provide("$xd/json2.js", function(exports) {window.JSON||(window.JSON={}),function(){function f(e){return e<10?"0"+e:e}function quote(e){return escapable.lastIndex=0,escapable.test(e)?'"'+e.replace(escapable,function(e){var t=meta[e];return typeof t=="string"?t:"\\u"+("0000"+e.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+e+'"'}function str(e,t){var n,r,i,s,o=gap,u,a=t[e];a&&typeof a=="object"&&typeof a.toJSON=="function"&&(a=a.toJSON(e)),typeof rep=="function"&&(a=rep.call(t,e,a));switch(typeof a){case"string":return quote(a);case"number":return isFinite(a)?String(a):"null";case"boolean":case"null":return String(a);case"object":if(!a)return"null";gap+=indent,u=[];if(Object.prototype.toString.apply(a)==="[object Array]"){s=a.length;for(n=0;n<s;n+=1)u[n]=str(n,a)||"null";return i=u.length===0?"[]":gap?"[\n"+gap+u.join(",\n"+gap)+"\n"+o+"]":"["+u.join(",")+"]",gap=o,i}if(rep&&typeof rep=="object"){s=rep.length;for(n=0;n<s;n+=1)r=rep[n],typeof r=="string"&&(i=str(r,a),i&&u.push(quote(
r)+(gap?": ":":")+i))}else for(r in a)Object.hasOwnProperty.call(a,r)&&(i=str(r,a),i&&u.push(quote(r)+(gap?": ":":")+i));return i=u.length===0?"{}":gap?"{\n"+gap+u.join(",\n"+gap)+"\n"+o+"}":"{"+u.join(",")+"}",gap=o,i}}typeof Date.prototype.toJSON!="function"&&(Date.prototype.toJSON=function(e){return isFinite(this.valueOf())?this.getUTCFullYear()+"-"+f(this.getUTCMonth()+1)+"-"+f(this.getUTCDate())+"T"+f(this.getUTCHours())+":"+f(this.getUTCMinutes())+":"+f(this.getUTCSeconds())+"Z":null},String.prototype.toJSON=Number.prototype.toJSON=Boolean.prototype.toJSON=function(e){return this.valueOf()});var cx=/[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,escapable=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,gap,indent,meta={"\b":"\\b"," ":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},rep;typeof JSON.stringify!="function"&&(JSON.string
ify=function(e,t,n){var r;gap="",indent="";if(typeof n=="number")for(r=0;r<n;r+=1)indent+=" ";else typeof n=="string"&&(indent=n);rep=t;if(!t||typeof t=="function"||typeof t=="object"&&typeof t.length=="number")return str("",{"":e});throw new Error("JSON.stringify")}),typeof JSON.parse!="function"&&(JSON.parse=function(text,reviver){function walk(e,t){var n,r,i=e[t];if(i&&typeof i=="object")for(n in i)Object.hasOwnProperty.call(i,n)&&(r=walk(i,n),r!==undefined?i[n]=r:delete i[n]);return reviver.call(e,t,i)}var j;cx.lastIndex=0,cx.test(text)&&(text=text.replace(cx,function(e){return"\\u"+("0000"+e.charCodeAt(0).toString(16)).slice(-4)}));if(/^[\],:{}\s]*$/.test(text.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,"]").replace(/(?:^|:|,)(?:\s*\[)+/g,"")))return j=eval("("+text+")"),typeof reviver=="function"?walk({"":j},""):j;throw new SyntaxError("JSON.parse")})}();exports();loadrunner.Script.loaded.push("$
xd/json2.js")});
-provide("util/params",function(e){using("util/querystring",function(t){var n=function(e){var n=e.search.substr(1);return t.decode(n)},r=function(e){var n=e.href,r=n.indexOf("#"),i=r<0?"":n.substring(r+1);return t.decode(i)},i=function(e){var t={},i=n(e),s=r(e);for(var o in i)i.hasOwnProperty(o)&&(t[o]=i[o]);for(var o in s)s.hasOwnProperty(o)&&(t[o]=s[o]);return t};e({combined:i,fromQuery:n,fromFragment:r})})});
-provide("tfw/util/env",function(e){using("util/params",function(t){function r(){var e=36e5,r=t.combined(document.location)._;return n!==undefined?n:(n=!1,r&&/^\d+$/.test(r)&&(n=+(new Date)-parseInt(r)<e),n)}var n;e({isDynamicWidget:r})})});
-provide("util/decider",function(e){function n(e){var n=t[e]||!1;if(!n)return!1;if(n===!0||n===100)return!0;var r=Math.random()*100,i=n>=r;return t[e]=i,i}var t={force_new_cookie:100,rufous_pixel:100,decider_fixture:12.34};e({isAvailable:n})});
-provide("dom/cookie",function(e){using("util/util",function(t){e(function(e,n,r){var i=t.aug({},r);if(arguments.length>1&&String(n)!=="[object Object]"){if(n===null||n===undefined)i.expires=-1;if(typeof i.expires=="number"){var s=i.expires,o=new Date((new Date).getTime()+s*60*1e3);i.expires=o}return n=String(n),document.cookie=[encodeURIComponent(e),"=",i.raw?n:encodeURIComponent(n),i.expires?"; expires="+i.expires.toUTCString():"",i.path?"; path="+i.path:"",i.domain?"; domain="+i.domain:"",i.secure?"; secure":""].join("")}i=n||{};var u,a=i.raw?function(e){return e}:decodeURIComponent;return(u=(new RegExp("(?:^|; )"+encodeURIComponent(e)+"=([^;]*)")).exec(document.cookie))?a(u[1]):null})})});
-provide("util/donottrack",function(e){using("dom/cookie",function(t){e(function(e){var n=/\.(gov|mil)(:\d+)?$/i,r=/https?:\/\/([^\/]+).*/i;return e=e||document.referrer,e=r.test(e)&&r.exec(e)[1],t("dnt")?!0:n.test(document.location.host)?!0:e&&n.test(e)?!0:document.navigator?document.navigator["doNotTrack"]==1:navigator?navigator["doNotTrack"]==1||navigator["msDoNotTrack"]==1:!1})})});
-provide("tfw/util/guest_cookie",function(e){using("dom/cookie","util/donottrack","util/decider",function(t,n,r){function s(){var e=t(i)||!1;if(!e)return;e.match(/^v3\:/)||o()}function o(){t(i)&&t(i,null,{domain:".twitter.com",path:"/"})}function u(){n()&&o()}var i="pid";e({set:u,destroy:o,forceNewCookie:s,guest_id_cookie:i})})});
-provide("sandbox/baseframe",function(e){using("util/domready","util/env","util/iframe","util/promise","util/util",function(t,n,r,i,s){function u(e,t,n,o){var u;this.readyPromise=new i(s.bind(function(e){this.resolver=e},this)),this.attrs=e||{},this.styles=t||{},this.appender=n||function(e){document.body.appendChild(e)},this.layout=o||function(e){return new i(function(t){return t.fulfill(e())})},this.frame=u=r(this.attrs,this.styles),u.onreadystatechange=u.onload=this.getCallback(this.onLoad),this.layout(s.bind(function(){this.appender(u)},this))}var o=0;window.twttr=window.twttr||{},window.twttr.sandbox=window.twttr.sandbox||{},u.prototype.getCallback=function(e){var t=this,n=!1;return function(){n||(n=!0,e.call(t))}},u.prototype.registerCallback=function(e){var t="cb"+o++;return window.twttr.sandbox[t]=e,t},u.prototype.onLoad=function(){try{this.document=this.frame.contentWindow.document}catch(e){this.setDocDomain();return}this.writeStandardsDoc(),this.resolver.fulfill(this)},u.pro
totype.ready=function(){return this.readyPromise},u.prototype.setDocDomain=function(){var e=r(this.attrs,this.styles),t=this.registerCallback(this.getCallback(this.onLoad));e.src=["javascript:",'document.write("");',"try { window.parent.document; }","catch (e) {",'document.domain="'+document.domain+'";',"}",'window.parent.twttr.sandbox["'+t+'"]();'].join(""),this.layout(s.bind(function(){this.frame.parentNode.removeChild(this.frame),this.frame=null,this.appender?this.appender(e):document.body.appendChild(e),this.frame=e},this))},u.prototype.writeStandardsDoc=function(){if(!n.anyIE()||n.cspEnabled())return;var e=["<!DOCTYPE html>","<html>","<head>","<scr","ipt>","try { window.parent.document; }",'catch (e) {document.domain="'+document.domain+'";}',"</scr","ipt>","</head>","<body></body>","</html>"].join("");this.document.write(e),this.document.close()},e(u)})});
-provide("sandbox/minimal",function(e){using("sandbox/baseframe","util/env","util/promise","util/util",function(t,n,r,i){function s(e,t){if(!e)return;this._frame=e,this._win=e.contentWindow,this._doc=this._win.document,this._body=this._doc.body,this._head=this._body.parentNode.children[0],this.layout=t}i.aug(s.prototype,{createElement:function(e){return this._doc.createElement(e)},createDocumentFragment:function(){return this._doc.createDocumentFragment()},appendChild:function(e){return this.layout(i.bind(function(){return this._body.appendChild(e)},this))},setBaseTarget:function(e){var t=this._doc.createElement("base");return t.target=e,this.layout(i.bind(function(){return this._head.appendChild(t)},this))},element:function(){return this._frame},document:function(){return this._doc}}),s.createSandbox=function(e,n,r,i){var o=new t(e,n,r,i);return o.ready().then(function(e){return new s(e.frame,e.layout)})},e(s)})});
-provide("tfw/util/tracking",function(e){using("dom/cookie","dom/delegate","sandbox/minimal","util/donottrack","util/promise","tfw/util/guest_cookie","tfw/util/env","util/iframe","util/util","$xd/json2.js",function(t,n,r,i,s,o,u,a,f){function S(){return b?b:b=r.createSandbox({id:"rufous-sandbox"},{display:"none"}).then(f.bind(function(e){y=e,d=D(),v=P();while(m[0])k.apply(this,m.shift());return g?L():[d,v]},this))}function x(e,t,n,r){var i=!f.isObject(e),s=t?!f.isObject(t):!1,o,u;if(i||s)return;if(/Firefox/.test(navigator.userAgent))return;o=O(e),u=M(t,!!n,!!r),C(o,u,!0)}function T(e,n,r,s){var a=c[n],l,h,p=o.guest_id_cookie;if(!a)return;e=e||{},s=!!s,r=!!r,h=e.original_redirect_referrer||document.referrer,s=s||i(h),l=f.aug({},e),r||(N(l,"referrer",h),N(l,"widget",+u.isDynamicWidget()),N(l,"hask",+!!t("k")),N(l,"li",+!!t("twid")),N(l,p,t(p)||"")),s&&(N(l,"dnt",1),B(l)),H(a+"?"+_(l))}function N(e,t,n){var r=l+t;if(!e)return;return e[r]=n,e}function C(e,t,n){var r,i,s,o,u=w+"?";if(!f.i
sObject(e)||!f.isObject(t))return;s=f.aug({},t,{event_namespace:e}),n?(u+=_({l:j(s)}),H(u)):(r=d.firstChild,r.value=+r.value||+s.dnt,o=j(s),i=y.createElement("input"),i.type="hidden",i.name="l",i.value=o,d.appendChild(i))}function k(e,t,n,r){var i=!f.isObject(e),s=t?!f.isObject(t):!1,o,u;if(i||s)return;if(!y||!d){m.push([e,t,n,r]);return}o=O(e),u=M(t,!!n,!!r),C(o,u)}function L(){if(!d)return g=!0,b||s.reject();if(d.children.length<=2)return s.reject();var e=s.every(y.appendChild(d),y.appendChild(v)).then(function(e){var t=e[0],r=e[1];return n.on(r,"load",function(){window.setTimeout(A(t,r),0)}),t.submit(),e});return d=D(),v=P(),e}function A(e,t){return function(){var n=e.parentNode;if(!n)return;n.removeChild(e),n.removeChild(t)}}function O(e){return f.aug({client:"tfw"},e||{})}function M(e,t,n){var r={_category_:"tfw_client_event"},s,o;return t=!!t,n=!!n,s=f.aug(r,e||{}),o=s.widget_origin||document.referrer,s.format_version=1,s.dnt=n=n||i(o),s.triggered_on=s.triggered_on||+(new Date
),t||(s.widget_origin=o),n&&B(s),s}function _(e){var t=[],n,r,i;for(n in e)e.hasOwnProperty(n)&&(r=encodeURIComponent(n),i=encodeURIComponent(e[n]),i=i.replace(/'/g,"%27"),t.push(r+"="+i));return t.join("&")}function D(){var e=y.createElement("form"),t=y.createElement("input"),n=y.createElement("input");return p++,e.action=w,e.method="POST",e.target="rufous-frame-"+p,e.id="rufous-form-"+p,t.type="hidden",t.name="dnt",t.value=0,n.type="hidden",n.name="tfw_redirect",n.value=E,e.appendChild(t),e.appendChild(n),e}function P(){var e="rufous-frame-"+p;return a({id:e,name:e,width:0,height:0,border:0},{display:"none"},y.document())}function H(e){var t=document.createElement("img");t.src=e,t.alt="",t.style.position="absolute",t.style.height="1px",t.style.width="1px",t.style.top="-9999px",t.style.left="-9999px",document.body.appendChild(t)}function B(e){f.forIn(e,function(t){~f.indexOf(h,t)&&delete e[t]})}function j(e){var t=Array.prototype.toJSON,n;return delete Array.prototype.toJSON,n=JSON
.stringify(e),t&&(Array.prototype.toJSON=t),n}var l="twttr_",c={tweetbutton:"//p.twitter.com/t.gif",followbutton:"//p.twitter.com/f.gif",tweetembed:"//p.twitter.com/e.gif"},h=["hask","li","logged_in","pid","user_id",o.guest_id_cookie,l+"hask",l+"li",l+o.guest_id_cookie],p=0,d,v,m=[],g,y,b,w="https://twitter.com/i/jot",E="https://platform.twitter.com/jot.html";o.forceNewCookie(),e({enqueue:k,flush:L,initPostLogging:S,addPixel:x,addLegacyPixel:T,addVar:N})})});
-provide("tfw/util/data",function(e){using("util/logger","util/util","util/querystring",function(t,n,r){function c(e){return function(n){n.error?e.error&&e.error(n):n.headers&&n.headers.status!=200?(e.error&&e.error(n),t.warn(n.headers.message)):e.success&&e.success(n),e.complete&&e.complete(n),h(e)}}function h(e){var t=e.script;t&&(t.onload=t.onreadystatechange=null,t.parentNode&&t.parentNode.removeChild(t),e.script=undefined,t=undefined),e.callbackName&&twttr.tfw.callbacks[e.callbackName]&&delete twttr.tfw.callbacks[e.callbackName]}function p(e){var t={};return e.success&&n.isType("function",e.success)&&(t.success=e.success),e.error&&n.isType("function",e.error)&&(t.error=e.error),e.complete&&n.isType("function",e.complete)&&(t.complete=e.complete),t}window.twttr=window.twttr||{},twttr.tfw=twttr.tfw||{},twttr.tfw.callbacks=twttr.tfw.callbacks||{};var i="twttr.tfw.callbacks",s=twttr.tfw.callbacks,o="cb",u=0,a=!1,f={},l={tweets:"https://syndication.twitter.com/tweets.json",timeline:"
https://cdn.syndication.twimg.com/widgets/timelines/",timelinePoll:"https://syndication.twimg.com/widgets/timelines/paged/",timelinePreview:"https://syndication.twimg.com/widgets/timelines/preview/"};twttr.widgets&&twttr.widgets.endpoints&&n.aug(l,twttr.widgets.endpoints),f.jsonp=function(e,t,n){var f=n||o+u,l=i+"."+f,h=document.createElement("script"),p={callback:l,suppress_response_codes:!0};s[f]=c(t);if(a||!/^https?\:$/.test(window.location.protocol))e=e.replace(/^\/\//,"https://");h.src=r.url(e,p),h.async="async",document.body.appendChild(h),t.script=h,t.callbackName=f,n||u++},f.config=function(e){if(e.forceSSL===!0||e.forceSSL===!1)a=e.forceSSL},f.tweets=function(e){var t=arguments[0],n=p(t),i={ids:e.ids.join(","),lang:e.lang},s=r.url(l.tweets,i);this.jsonp(s,n)},f.timeline=function(e){var t=arguments[0],i=p(t),s,o=9e5,u=Math.floor(+(new Date)/o),a={lang:e.lang,t:u,domain:window.location.host,dnt:e.dnt,override_type:e.overrideType,override_id:e.overrideId,override_name:e.overri
deName,override_owner_id:e.overrideOwnerId,override_owner_name:e.overrideOwnerName,with_replies:e.withReplies};n.compact(a),s=r.url(l.timeline+e.id,a),this.jsonp(s,i,"tl_"+e.id+"_"+e.instanceId)},f.timelinePoll=function(e){var t=arguments[0],i=p(t),s={lang:e.lang,since_id:e.sinceId,max_id:e.maxId,min_position:e.minPosition,max_position:e.maxPosition,domain:window.location.host,dnt:e.dnt,override_type:e.overrideType,override_id:e.overrideId,override_name:e.overrideName,override_owner_id:e.overrideOwnerId,override_owner_name:e.overrideOwnerName,with_replies:e.withReplies},o;n.compact(s),o=r.url(l.timelinePoll+e.id,s),this.jsonp(o,i,"tlPoll_"+e.id+"_"+e.instanceId+"_"+(e.sinceId||e.maxId||e.maxPosition||e.minPosition))},f.timelinePreview=function(e){var t=arguments[0],n=p(t),i=e.params,s=r.url(l.timelinePreview,i);this.jsonp(s,n)},e(f)})});
-provide("anim/transition",function(e){function t(e,t){var n;return t=t||window,n=t.requestAnimationFrame||t.webkitRequestAnimationFrame||t.mozRequestAnimationFrame||t.msRequestAnimationFrame||t.oRequestAnimationFrame||function(n){t.setTimeout(function(){e(+(new Date))},1e3/60)},n(e)}function n(e,t){return Math.sin(Math.PI/2*t)*e}function r(e,n,r,i,s){function a(){var u=+(new Date),f=u-o,l=Math.min(f/r,1),c=i?i(n,l):n*l;e(c);if(l==1)return;t(a,s)}var o=+(new Date),u;t(a)}e({animate:r,requestAnimationFrame:t,easeOut:n})});
-provide("util/datetime",function(e){using("util/util",function(t){function h(e){return e<10?"0"+e:e}function p(e){function i(e,n){return t&&t[e]&&(e=t[e]),e.replace(/%\{([\w_]+)\}/g,function(e,t){return n[t]!==undefined?n[t]:e})}var t=e&&e.phrases,n=e&&e.months||s,r=e&&e.formats||o;this.timeAgo=function(e){var t=p.parseDate(e),s=+(new Date),o=s-t,h;return t?isNaN(o)||o<u*2?i("now"):o<a?(h=Math.floor(o/u),i(r.abbr,{number:h,symbol:i(c,{abbr:i("s"),expanded:h>1?i("seconds"):i("second")})})):o<f?(h=Math.floor(o/a),i(r.abbr,{number:h,symbol:i(c,{abbr:i("m"),expanded:h>1?i("minutes"):i("minute")})})):o<l?(h=Math.floor(o/f),i(r.abbr,{number:h,symbol:i(c,{abbr:i("h"),expanded:h>1?i("hours"):i("hour")})})):o<l*365?i(r.shortdate,{day:t.getDate(),month:i(n[t.getMonth()])}):i(r.longdate,{day:t.getDate(),month:i(n[t.getMonth()]),year:t.getFullYear().toString().slice(2)}):""},this.localTimeStamp=function(e){var t=p.parseDate(e),s=t&&t.getHours();return t?i(r.full,{day:t.getDate(),month:i(n[t.get
Month()]),year:t.getFullYear(),hours24:h(s),hours12:s<13?s?s:"12":s-12,minutes:h(t.getMinutes()),seconds:h(t.getSeconds()),amPm:s<12?i("AM"):i("PM")}):""}}var n=/(\d{4})-?(\d{2})-?(\d{2})T(\d{2}):?(\d{2}):?(\d{2})(Z|[\+\-]\d{2}:?\d{2})/,r=/[a-z]{3,4} ([a-z]{3}) (\d{1,2}) (\d{1,2}):(\d{2}):(\d{2}) ([\+\-]\d{2}:?\d{2}) (\d{4})/i,i=/^\d+$/,s=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],o={abbr:"%{number}%{symbol}",shortdate:"%{day} %{month}",longdate:"%{day} %{month} %{year}",full:"%{hours12}:%{minutes} %{amPm} - %{day} %{month} %{year}"},u=1e3,a=u*60,f=a*60,l=f*24,c='<abbr title="%{expanded}">%{abbr}</abbr>';p.parseDate=function(e){var o=e||"",u=o.toString(),a,f;return a=function(){var e;if(i.test(u))return parseInt(u,10);if(e=u.match(r))return Date.UTC(e[7],t.indexOf(s,e[1]),e[2],e[3],e[4],e[5]);if(e=u.match(n))return Date.UTC(e[1],e[2]-1,e[3],e[4],e[5],e[6])}(),a?(f=new Date(a),!isNaN(f.getTime())&&f):!1},e(p)})});
-provide("sandbox/frame",function(e){using("sandbox/baseframe","sandbox/minimal","util/env","util/promise","util/util",function(t,n,r,i,s){function h(){var e,t;a={};if(f)return;e=document.body.offsetHeight,t=document.body.offsetWidth;if(e==c&&t==l)return;s.forEach(u,function(e){e.dispatchFrameResize(l,c)}),c=e,l=t}function p(e){var t;return e.id?e.id:(t=e.getAttribute("data-twttr-id"))?t:(t="twttr-sandbox-"+o++,e.setAttribute("data-twttr-id",t),t)}function d(e,t){n.apply(this,[e,t]),this._resizeHandlers=[],u.push(this),this._win.addEventListener?this._win.addEventListener("resize",s.bind(function(){this.dispatchFrameResize()},this),!0):this._win.attachEvent("onresize",s.bind(function(){this.dispatchFrameResize(this._win.event)},this))}var o=0,u=[],a={},f,l=0,c=0;window.addEventListener?window.addEventListener("resize",h,!0):document.body.attachEvent("onresize",function(){h(window.event)}),d.prototype=new n,s.aug(d.prototype,{dispatchFrameResize:function(){var e=this._frame.parentNode
,t=p(e),n=a[t];f=!0;if(!this._resizeHandlers.length)return;n||(n=a[t]={w:this._frame.offsetWidth,h:this._frame.offsetHeight});if(this._frameWidth==n.w&&this._frameHeight==n.h)return;this._frameWidth=n.w,this._frameHeight=n.h,s.forEach(this._resizeHandlers,function(e){e(n.w,n.h)}),window.setTimeout(function(){a={}},50)},appendStyleSheet:function(e){var t=this._doc.createElement("link");return t.type="text/css",t.rel="stylesheet",t.href=e,this.layout(s.bind(function(){return this._head.appendChild(t)},this))},appendCss:function(e){var t;return r.cspEnabled()?i.reject("CSP enabled; cannot embed inline styles."):(t=this._doc.createElement("style"),t.type="text/css",t.styleSheet?t.styleSheet.cssText=e:t.appendChild(this._doc.createTextNode(e)),this.layout(s.bind(function(){return this._head.appendChild(t)},this)))},style:function(e){return this.layout(s.bind(function(){s.forIn(e,s.bind(function(e,t){this._frame.style[e]=t},this))},this))},onresize:function(e){this._resizeHandlers.push(e)
},width:function(e){return e!==undefined&&(this._frame.width=e),this._frame.offsetWidth},height:function(e){return e!==undefined&&(this._frame.height=e),this._frame.offsetHeight}}),d.createSandbox=function(e,n,r,i){var s=new t(e,n,r,i);return s.ready().then(function(e){return new d(e.frame,e.layout)})},e(d)})});
-provide("tfw/util/assets",function(e){using("util/env",function(t){function r(e,r){var i=n[e],s;return t.retina()?s="2x":t.ie6()||t.ie7()?s="gif":s="default",r&&(s+=".rtl"),i[s]}var n={"embed/timeline.css":{"default":"embed/timeline.5e1325f111fbc177d1261f5d81cceeeb.default.css","2x":"embed/timeline.5e1325f111fbc177d1261f5d81cceeeb.2x.css",gif:"embed/timeline.5e1325f111fbc177d1261f5d81cceeeb.gif.css","default.rtl":"embed/timeline.5e1325f111fbc177d1261f5d81cceeeb.default.rtl.css","2x.rtl":"embed/timeline.5e1325f111fbc177d1261f5d81cceeeb.2x.rtl.css","gif.rtl":"embed/timeline.5e1325f111fbc177d1261f5d81cceeeb.gif.rtl.css"}};e(r)})});
-provide("tfw/widget/syndicatedbase",function(e){using("tfw/widget/base","tfw/widget/intent","tfw/util/assets","tfw/util/globals","dom/classname","dom/get","dom/delegate","sandbox/frame","util/env","util/promise","util/twitter","util/util",function(t,n,r,i,s,o,u,a,f,l,c,h){function w(){g=E.VALID_COLOR.test(i.val("widgets:link-color"))&&RegExp.$1,b=E.VALID_COLOR.test(i.val("widgets:border-color"))&&RegExp.$1,y=i.val("widgets:theme")}function E(e){if(!e)return;var n;this.readyPromise=new l(h.bind(function(e){this.readyResolver=e},this)),this.renderedPromise=new l(h.bind(function(e){this.renderResolver=e},this)),t.apply(this,[e]),n=this.params(),this.targetEl=this.srcEl&&this.srcEl.parentNode||n.targetEl||document.body,this.predefinedWidth=E.VALID_UNIT.test(n.width||this.attr("width"))&&RegExp.$1,this.layout(h.bind(function(){return this.containerWidth=this.targetEl&&this.targetEl.offsetWidth},this)).then(h.bind(function(e){var t=this.predefinedWidth||e||this.dimensions.DEFAULT_WIDTH;th
is.height=E.VALID_UNIT.test(n.height||this.attr("height"))&&RegExp.$1,this.width=Math.max(this.dimensions.MIN_WIDTH,Math.min(t,this.dimensions.DEFAULT_WIDTH))},this)),E.VALID_COLOR.test(n.linkColor||this.dataAttr("link-color"))?this.linkColor=RegExp.$1:this.linkColor=g,E.VALID_COLOR.test(n.borderColor||this.dataAttr("border-color"))?this.borderColor=RegExp.$1:this.borderColor=b,this.theme=n.theme||this.attr("data-theme")||y,this.theme=/(dark|light)/.test(this.theme)?this.theme:"",this.classAttr.push(f.touch()?"is-touch":"not-touch"),a.createSandbox({"class":this.renderedClassNames,id:this.id,title:this.a11yTitle},{width:"1px",height:"0px",border:"none",position:"absolute",visibility:"hidden"},h.bind(function(e){this.srcEl?this.targetEl.insertBefore(e,this.srcEl):this.targetEl.appendChild(e)},this),this.layout).then(h.bind(function(e){this.setupSandbox(e)},this))}var p=[".customisable",".customisable:link",".customisable:visited",".customisable:hover",".customisable:focus",".customis
able:active",".customisable-highlight:hover",".customisable-highlight:focus","a:hover .customisable-highlight","a:focus .customisable-highlight"],d=["a:hover .ic-mask","a:focus .ic-mask"],v=[".customisable-border"],m=[".timeline-header h1.summary",".timeline-header h1.summary a:link",".timeline-header h1.summary a:visited"],g,y,b;E.prototype=new t,h.aug(E.prototype,{setupSandbox:function(e){this.sandbox=e,l.some(e.appendCss("body{display:none}"),e.setBaseTarget("_blank"),e.appendStyleSheet(twttr.widgets.config.assetUrl()+"/"+r("embed/timeline.css"))).then(h.bind(function(){this.readyResolver.fulfill(e)},this))},ready:function(){return this.readyPromise},rendered:function(){return this.renderedPromise},contentWidth:function(e){var t=this.dimensions,n=this.fullBleedPhoto?0:this.chromeless&&this.narrow?t.NARROW_MEDIA_PADDING_CL:this.chromeless?t.WIDE_MEDIA_PADDING_CL:this.narrow?t.NARROW_MEDIA_PADDING:t.WIDE_MEDIA_PADDING;return(e||this.width)-n},addSiteStyles:function(){var e=h.bind(f
unction(e){return(this.theme=="dark"?".thm-dark ":"")+e},this),t=[];this.headingStyle&&t.push(h.map(m,e).join(",")+"{"+this.headingStyle+"}"),this.linkColor&&(t.push(h.map(p,e).join(",")+"{color:"+this.linkColor+"}"),t.push(h.map(d,e).join(",")+"{background-color:"+this.linkColor+"}")),this.borderColor&&t.push(h.map(v,e).concat(this.theme=="dark"?[".thm-dark.customisable-border"]:[]).join(",")+"{border-color:"+this.borderColor+"}");if(!t.length)return;return this.sandbox.appendCss(t.join(""))},setNarrow:function(){var e=this.narrow;return this.narrow=this.width<this.dimensions.NARROW_WIDTH,e!=this.narrow?this.layout(h.bind(function(){return s.toggle(this.element,"var-narrow",this.narrow)},this)):l.fulfill(this.narrow)},bindIntentHandlers:function(){var e=this,t=this.element;u.delegate(t,"click",".profile",function(t){var r;e.addUrlParams(this),r=c.intentForProfileURL(this.href);if(t.altKey||t.metaKey||t.shiftKey)return;r&&(n.open(r,e.sandbox.frame),u.preventDefault(t))}),u.delegate(
t,"click",".web-intent",function(t){e.addUrlParams(this);if(t.altKey||t.metaKey||t.shiftKey)return;n.open(this.href,e.sandbox.frame),u.preventDefault(t)})},constrainMedia:function(e,t){var n=0,r=this.fullBleedPhoto?500:375;e=e||this.element,t=t||this.contentWidth();if(!e)return;return h.forEach(o.all("autosized-media",e),h.bind(function(e){var i=E.scaleDimensions(e.getAttribute("data-width"),e.getAttribute("data-height"),t,r);this.layout(function(){i.width>0&&(e.width=i.width),i.height>0&&(e.height=i.height)}),n=i.height>n?i.height:n},this)),n}}),E.VALID_UNIT=/^([0-9]+)( ?px)?$/,E.VALID_COLOR=/^(#(?:[0-9a-f]{3}|[0-9a-f]{6}))$/i,E.retinize=function(e){if(!f.retina())return;h.forEach(e.getElementsByTagName("IMG"),function(e){var t=e.getAttribute("data-src-2x");t&&(e.src=t)})},E.scaleDimensions=function(e,t,n,r){return t>e&&t>r&&(e*=r/t,t=r),e>n&&(t*=n/e,e=n,t>r&&(e*=r/t,t=r)),{width:Math.ceil(e),height:Math.ceil(t)}},w(),e(E)})});
-provide("tfw/widget/timeline",function(e){using("tfw/widget/base","tfw/widget/syndicatedbase","util/datetime","util/promise","anim/transition","tfw/util/article","tfw/util/data","tfw/util/tracking","tfw/util/params","util/css","util/env","util/throttle","util/twitter","util/querystring","util/typevalidator","util/util","dom/delegate","dom/classname","dom/get",function(t,n,r,i,s,o,u,a,f,l,c,h,p,d,v,m,g,y,b){function I(e){if(!e)return;var t,r,i,s,o,u,a,f;this.a11yTitle=this._("Twitter Timeline Widget"),n.apply(this,[e]),t=this.params(),r=(t.chrome||this.dataAttr("chrome")||"").split(" "),this.preview=t.previewParams,this.widgetId=t.widgetId||this.dataAttr("widget-id"),this.instanceId=++F,this.cursors={maxPosition:0,minPosition:0},(s=t.screenName||this.dataAttr("screen-name"))||(o=t.userId||this.dataAttr("user-id"))?this.override={overrideType:"user",overrideId:o,overrideName:s,withReplies:v.asBoolean(t.showReplies||this.dataAttr("show-replies"))?"true":"false"}:(s=t.favoritesScreenNam
e||this.dataAttr("favorites-screen-name"))||(o=t.favoritesUserId||this.dataAttr("favorites-user-id"))?this.override={overrideType:"favorites",overrideId:o,overrideName:s}:((s=t.listOwnerScreenName||this.dataAttr("list-owner-screen-name"))||(o=t.listOwnerId||this.dataAttr("list-owner-id")))&&((u=t.listId||this.dataAttr("list-id"))||(a=t.listSlug||this.dataAttr("list-slug")))?this.override={overrideType:"list",overrideOwnerId:o,overrideOwnerName:s,overrideId:u,overrideName:a}:(f=t.customTimelineId||this.dataAttr("custom-timeline-id"))?this.override={overrideType:"custom",overrideId:f}:this.override={},this.tweetLimit=v.asInt(t.tweetLimit||this.dataAttr("tweet-limit")),this.staticTimeline=this.tweetLimit>0,r.length&&(i=~m.indexOf(r,"none"),this.chromeless=i||~m.indexOf(r,"transparent"),this.headerless=i||~m.indexOf(r,"noheader"),this.footerless=i||~m.indexOf(r,"nofooter"),this.borderless=i||~m.indexOf(r,"noborders"),this.noscrollbar=~m.indexOf(r,"noscrollbar")),this.headingStyle=l.sani
tize(t.headingStyle||this.dataAttr("heading-style"),undefined,!0),this.classAttr.push("twitter-timeline-rendered"),this.ariaPolite=t.ariaPolite||this.dataAttr("aria-polite")}var w="1.0",E={CLIENT_SIDE_USER:0,CLIENT_SIDE_APP:2},S="timeline",x="new-tweets-bar",T="timeline-header",N="timeline-footer",C="stream",k="h-feed",L="tweet",A="expanded",O="detail-expander",M="expand",_="permalink",D="twitter-follow-button",P="no-more-pane",H="pending-scroll-in",B="pending-new-tweet",j="pending-new-tweet-display",F=0;I.prototype=new n,m.aug(I.prototype,{renderedClassNames:"twitter-timeline twitter-timeline-rendered",dimensions:{DEFAULT_HEIGHT:"600",DEFAULT_WIDTH:"520",NARROW_WIDTH:"320",MIN_WIDTH:"180",MIN_HEIGHT:"200",WIDE_MEDIA_PADDING:81,NARROW_MEDIA_PADDING:16,WIDE_MEDIA_PADDING_CL:60,NARROW_MEDIA_PADDING_CL:12},create:function(e){var r=this.sandbox.createElement("div"),i,s,u=[],f;r.innerHTML=e.body,i=r.children[0]||!1;if(!i)return;return this.reconfigure(e.config),this.discardStaticOverflow
(i),this.augmentWidgets(i),n.retinize(i),this.constrainMedia(i),this.searchQuery=i.getAttribute("data-search-query"),this.profileId=i.getAttribute("data-profile-id"),f=this.getTweetDetails(r),m.forIn(f,function(e){u.push(e)}),a.enqueue({page:"timeline",component:"timeline",element:"initial",action:u.length?"results":"no_results"},{widget_id:this.widgetId,widget_origin:o.url(),item_ids:u,item_details:f,client_version:w,message:this.partner,query:this.searchQuery,profile_id:this.profileId},!0,this.dnt),a.flush(),this.ariaPolite=="assertive"&&(s=b.one(x,i,"DIV"),s.setAttribute("aria-polite","assertive")),i.id=this.id,i.className+=" "+this.classAttr.join(" "),i.lang=this.lang,twttr.widgets.load(i),this.ready().then(m.bind(function(e){e.appendChild(i),e.style({cssText:"",border:"none",maxWidth:"100%",minWidth:this.dimensions.MIN_WIDTH+"px"}),this.layout(m.bind(function(){this.srcEl&&this.srcEl.parentNode&&this.srcEl.parentNode.removeChild(this.srcEl),this.predefinedWidth=this.width,this.
predefinedHeight=this.height,this.width=e.width(this.width),this.height=e.height(this.height)},this)).then(m.bind(function(){this.width<this.predefinedWidth&&(this.layout(m.bind(function(){this.width=e.width(this.predefinedWidth)},this)),t.doLayoutAsync()),this.height<this.predefinedHeight&&(this.layout(m.bind(function(){this.height=e.height(this.predefinedHeight)},this)),t.doLayoutAsync())},this)),this.setNarrow().then(m.bind(function(){this.sandbox.onresize(m.bind(this.handleResize,this)),this.renderResolver.fulfill(this.sandbox)},this))},this)),i},render:function(e,n){var r,s;return!this.preview&&!this.widgetId?i.reject(400):(s=new i(function(e){r=e}),this.staticTimeline?this.rendered().then(m.bind(function(e){this.layout(m.bind(function(){e.height(this.height=this.element.offsetHeight)},this)),t.doLayoutAsync()},this)):this.rendered().then(m.bind(function(){this.recalculateStreamHeight(),t.doLayoutAsync()},this)),this.preview?this.getPreviewTimeline(r):this.getTimeline(r),n&&s.t
hen(n),s)},getPreviewTimeline:function(e){u.timelinePreview({success:m.bind(function(n){this.ready().then(m.bind(function(){this.element=this.create(n),this.readTranslations(),this.bindInteractions(),this.updateCursors(n.headers,{initial:!0}),t.doLayoutAsync(),e.fulfill(this.element)},this))},this),error:function(t){if(!t||!t.headers)return;e.reject(t.headers.status)},params:this.preview})},getTimeline:function(e){a.initPostLogging(),u.timeline(m.aug({id:this.widgetId,instanceId:this.instanceId,dnt:this.dnt,lang:this.lang,success:m.bind(function(n){this.ready().then(m.bind(function(){this.element=this.create(n),this.readTranslations(),this.bindInteractions(),this.updateTimeStamps(),this.updateCursors(n.headers,{initial:!0}),n.headers.xPolling&&/\d/.test(n.headers.xPolling)&&(this.pollInterval=n.headers.xPolling*1e3),this.staticTimeline||this.schedulePolling(),t.doLayoutAsync(),e.fulfill(this.sandbox.element())},this))},this),error:function(t){if(!t||!t.headers)return;e.reject(t.head
ers.status)}},this.override))},reconfigure:function(e){this.lang=e.lang,this.theme||(this.theme=e.theme),this.theme=="dark"&&this.classAttr.push("thm-dark"),this.chromeless&&this.classAttr.push("var-chromeless"),this.borderless&&this.classAttr.push("var-borderless"),this.headerless&&this.classAttr.push("var-headerless"),this.footerless&&this.classAttr.push("var-footerless"),this.staticTimeline&&this.classAttr.push("var-static"),!this.linkColor&&e.linkColor&&n.VALID_COLOR.test(e.linkColor)&&(this.linkColor=RegExp.$1),!this.height&&n.VALID_UNIT.test(e.height)&&(this.height=RegExp.$1),this.height=Math.max(this.dimensions.MIN_HEIGHT,this.height?this.height:this.dimensions.DEFAULT_HEIGHT),this.preview&&this.classAttr.push("var-preview"),this.narrow=this.width<=this.dimensions.NARROW_WIDTH,this.narrow&&this.classAttr.push("var-narrow"),this.addSiteStyles()},getTweetDetails:function(e){var t=b.one(k,e),n,r={},i,s,o,u,a={TWEET:0,RETWEET:10},f=0;n=t&&t.children||[];for(;i=n[f];f++)s=b.one(_,
i,"A"),o=i.getAttribute("data-rendered-tweet-id")||p.status(s.href),u=i.getAttribute("data-tweet-id"),o===u?r[o]={item_type:a.TWEET}:r[o]={item_type:a.RETWEET,target_type:a.TWEET,target_id:u};return r},bindInteractions:function(){var e=this,t=this.element,n=!0;this.bindIntentHandlers(),g.delegate(t,"click",".load-tweets",function(t){n&&(n=!1,e.forceLoad(),g.stop(t))}),g.delegate(t,"click",".display-sensitive-image",function(n){e.showNSFW(b.ancestor("."+L,this,t)),g.stop(n)}),g.delegate(t,"mouseover","."+S,function(){e.mouseOver=!0}),g.delegate(t,"mouseout","."+S,function(){e.mouseOver=!1}),g.delegate(t,"mouseover","."+x,function(){e.mouseOverNotifier=!0}),g.delegate(t,"mouseout","."+x,function(){e.mouseOverNotifier=!1,window.setTimeout(function(){e.hideNewTweetNotifier()},3e3)});if(this.staticTimeline)return;g.delegate(t,"click","."+M,function(n){if(n.altKey||n.metaKey||n.shiftKey)return;e.toggleExpando(b.ancestor("."+L,this,t)),g.stop(n)}),g.delegate(t,"click","A",function(e){g.sto
pPropagation(e)}),g.delegate(t,"click",".with-expansion",function(t){e.toggleExpando(this),g.stop(t)}),g.delegate(t,"click",".load-more",function(){e.loadMore()}),g.delegate(t,"click","."+x,function(){e.scrollToTop(),e.hideNewTweetNotifier(!0)})},scrollToTop:function(){var e=b.one(C,this.element,"DIV");e.scrollTop=0,e.focus()},update:function(){var e=this,t=b.one(L,this.element,"LI"),n=t&&t.getAttribute("data-tweet-id");this.updateTimeStamps(),this.requestTweets(n,!0,function(t){t.childNodes.length>0&&e.insertNewTweets(t)})},loadMore:function(){var e=this,t=b.all(L,this.element,"LI").pop(),n=t&&t.getAttribute("data-tweet-id");this.requestTweets(n,!1,function(t){var r=b.one(P,e.element,"P"),i=t.childNodes[0];r.style.cssText="",i&&i.getAttribute("data-tweet-id")==n&&t.removeChild(i);if(t.childNodes.length>0){e.appendTweets(t);return}y.add(e.element,"no-more"),r.focus()})},forceLoad:function(){var e=this,t=!!b.all(k,this.element,"OL").length;this.requestTweets(1,!0,function(n){n.childN
odes.length&&(e[t?"insertNewTweets":"appendTweets"](n),y.add(e.element,"has-tweets"))})},schedulePolling:function(e){var t=this;if(this.pollInterval===null)return;e=twttr.widgets.poll||e||this.pollInterval||1e4,e>-1&&window.setTimeout(function(){this.isUpdating||t.update(),t.schedulePolling()},e)},updateCursors:function(e,t){(t||{}).initial?(this.cursors.maxPosition=e.maxPosition,this.cursors.minPosition=e.minPosition):(t||{}).newer?this.cursors.maxPosition=e.maxPosition||this.cursors.maxPosition:this.cursors.minPosition=e.minPosition||this.cursors.minPosition},requestTweets:function(e,t,r){var i=this,s={id:this.widgetId,instanceId:this.instanceId,screenName:this.widgetScreenName,userId:this.widgetUserId,withReplies:this.widgetShowReplies,dnt:this.dnt,lang:this.lang};t&&this.cursors.maxPosition?s.minPosition=this.cursors.maxPosition:!t&&this.cursors.minPosition?s.maxPosition=this.cursors.minPosition:t?s.sinceId=e:s.maxId=e,s.complete=function(){this.isUpdating=!1},s.error=function(e
){if(e&&e.headers){if(e.headers.status=="404"){i.pollInterval=null;return}if(e.headers.status=="503"){i.pollInterval*=1.5;return}}},s.success=function(e){var s=i.sandbox.createDocumentFragment(),u=i.sandbox.createElement("div"),f=[],l,c;i.updateCursors(e.headers,{newer:t}),e&&e.headers&&e.headers.xPolling&&/\d+/.test(e.headers.xPolling)&&(i.pollInterval=e.headers.xPolling*1e3);if(e&&e.body!==undefined){u.innerHTML=e.body;if(u.children[0]&&u.children[0].tagName!="LI")return;l=i.getTweetDetails(u);for(c in l)l.hasOwnProperty(c)&&f.push(c);f.length&&(a.enqueue({page:"timeline",component:"timeline",element:t?"newer":"older",action:"results"},{widget_id:i.widgetId,widget_origin:o.url(),item_ids:f,item_details:l,client_version:w,message:i.partner,query:i.searchQuery,profile_id:i.profileId,event_initiator:t?E.CLIENT_SIDE_APP:E.CLIENT_SIDE_USER},!0,i.dnt),a.flush()),n.retinize(u),i.constrainMedia(u);while(u.children[0])s.appendChild(u.children[0]);r(s)}},u.timelinePoll(m.aug(s,this.override
))},insertNewTweets:function(e){var t=this,n=b.one(C,this.element,"DIV"),r=b.one(k,n,"OL"),i=r.offsetHeight,o;this.updateTimeStamps(),r.insertBefore(e,r.firstChild),o=r.offsetHeight-i;if(n.scrollTop>40||this.mouseIsOver()){n.scrollTop=n.scrollTop+o,this.showNewTweetNotifier();return}y.remove(this.element,H),r.style.cssText="margin-top: -"+o+"px",window.setTimeout(function(){n.scrollTop=0,y.add(t.element,H),c.cssTransitions()?r.style.cssText="":s.animate(function(e){e<o?r.style.cssText="margin-top: -"+(o-e)+"px":r.style.cssText=""},o,500,s.easeOut)},500),this.gcTweets(50)},appendTweets:function(e){var t=b.one(C,this.element,"DIV"),n=b.one(k,t,"OL");this.updateTimeStamps(),n.appendChild(e)},gcTweets:function(e){var t=b.one(k,this.element,"OL"),n=t.children.length,r;e=e||50;for(;n>e&&(r=t.children[n-1]);n--)t.removeChild(r)},showNewTweetNotifier:function(){var e=this,t=b.one(x,this.element,"DIV"),n=t.children[0];t.style.cssText="",t.removeChild(n),t.appendChild(n),y.add(this.element,j)
,window.setTimeout(function(){y.add(e.element,B)},10),this.newNoticeDisplayTime=+(new Date),window.setTimeout(function(){e.hideNewTweetNotifier()},5e3)},hideNewTweetNotifier:function(e){var t=this;if(!e&&this.mouseOverNotifier)return;y.remove(this.element,B),window.setTimeout(function(){y.remove(t.element,j)},500)},augmentWidgets:function(e){var t=b.all(D,e,"A"),n=0,r;for(;r=t[n];n++)r.setAttribute("data-related",this.related),r.setAttribute("data-partner",this.partner),r.setAttribute("data-dnt",this.dnt),r.setAttribute("data-search-query",this.searchQuery),r.setAttribute("data-profile-id",this.profileId),this.width<250&&r.setAttribute("data-show-screen-name","false")},discardStaticOverflow:function(e){var t=b.one(k,e,"OL"),n;if(this.staticTimeline){this.height=0;while(n=t.children[this.tweetLimit])t.removeChild(n)}},hideStreamScrollBar:function(){var e=b.one(C,this.element,"DIV"),t=b.one(k,this.element,"OL"),n;e.style.width="",n=this.element.offsetWidth-t.offsetWidth,n>0&&(e.style.
width=this.element.offsetWidth+n+"px")},readTranslations:function(){var e=this.element,t="data-dt-";this.datetime=new r(m.compact({phrases:{now:e.getAttribute(t+"now"),s:e.getAttribute(t+"s"),m:e.getAttribute(t+"m"),h:e.getAttribute(t+"h"),second:e.getAttribute(t+"second"),seconds:e.getAttribute(t+"seconds"),minute:e.getAttribute(t+"minute"),minutes:e.getAttribute(t+"minutes"),hour:e.getAttribute(t+"hour"),hours:e.getAttribute(t+"hours")},months:e.getAttribute(t+"months").split("|"),formats:{abbr:e.getAttribute(t+"abbr"),shortdate:e.getAttribute(t+"short"),longdate:e.getAttribute(t+"long")}}))},updateTimeStamps:function(){var e=b.all(_,this.element,"A"),t,n,r=0,i,s;for(;t=e[r];r++){i=t.getAttribute("data-datetime"),s=i&&this.datetime.timeAgo(i,this.i18n),n=t.getElementsByTagName("TIME")[0];if(!s)continue;if(n&&n.innerHTML){n.innerHTML=s;continue}t.innerHTML=s}},mouseIsOver:function(){return this.mouseOver},addUrlParams:function(e){var t=this,n={tw_w:this.widgetId,related:this.relate
d,partner:this.partner,query:this.searchQuery,profile_id:this.profileId,original_referer:o.url(),tw_p:"embeddedtimeline"};return this.addUrlParams=f(n,function(e){var n=b.ancestor("."+L,e,t.element);return n&&{tw_i:n.getAttribute("data-tweet-id")}}),this.addUrlParams(e)},showNSFW:function(e){var t=b.one("nsfw",e,"DIV"),r,i,s=0,o,u,a,f;if(!t)return;i=n.scaleDimensions(t.getAttribute("data-width"),t.getAttribute("data-height"),this.contentWidth(),t.getAttribute("data-height")),r=!!(u=t.getAttribute("data-player")),r?a=this.sandbox.createElement("iframe"):(a=this.sandbox.createElement("img"),u=t.getAttribute(c.retina()?"data-image-2x":"data-image"),a.alt=t.getAttribute("data-alt"),f=this.sandbox.createElement("a"),f.href=t.getAttribute("data-href"),f.appendChild(a)),a.title=t.getAttribute("data-title"),a.src=u,a.width=i.width,a.height=i.height,o=b.ancestor("."+O,t,e),s=i.height-t.offsetHeight,t.parentNode.replaceChild(r?a:f,t),o.style.cssText="height:"+(o.offsetHeight+s)+"px"},toggleEx
pando:function(e){var r=b.one(O,e,"DIV"),i=r&&r.children[0],s=i&&i.getAttribute("data-expanded-media"),o,u=0,a=b.one(M,e,"A"),f=a&&a.getElementsByTagName("B")[0],l=f&&(f.innerText||f.textContent),c;if(!f)return;this.layout(function(){f.innerHTML=a.getAttribute("data-toggled-text"),a.setAttribute("data-toggled-text",l)});if(y.present(e,A)){this.layout(function(){y.remove(e,A)});if(!r){t.doLayout();return}this.layout(function(){r.style.cssText="",i.innerHTML=""}),t.doLayout();return}s&&(o=this.sandbox.createElement("DIV"),o.innerHTML=s,n.retinize(o),u=this.constrainMedia(o),this.layout(function(){i.appendChild(o)})),r&&this.layout(function(){c=Math.max(i.offsetHeight,u),r.style.cssText="height:"+c+"px"}),this.layout(function(){y.add(e,A)}),t.doLayout()},recalculateStreamHeight:function(e){var t=b.one(T,this.element,"DIV"),n=b.one(N,this.element,"DIV"),r=b.one(C,this.element,"DIV");this.layout(m.bind(function(){var i=t.offsetHeight+(n?n.offsetHeight:0),s=e||this.sandbox.height();r.styl
e.cssText="height:"+(s-i-2)+"px",this.noscrollbar&&this.hideStreamScrollBar()},this))},handleResize:function(e,n){var r=Math.min(this.dimensions.DEFAULT_WIDTH,Math.max(this.dimensions.MIN_WIDTH,Math.min(this.predefinedWidth||this.dimensions.DEFAULT_WIDTH,e)));if(r==this.width&&n==this.height)return;this.width=r,this.height=n,this.setNarrow(),this.constrainMedia(this.element,this.contentWidth(r)),this.staticTimeline?this.layout(m.bind(function(){this.height=this.element.offsetHeight,this.sandbox.height(this.height)},this)):this.recalculateStreamHeight(n),t.doLayoutAsync()}}),e(I)})});
-provide("tfw/widget/embed",function(e){using("tfw/widget/base","tfw/widget/syndicatedbase","util/datetime","tfw/util/params","dom/classname","dom/get","util/env","util/promise","util/util","util/throttle","util/twitter","tfw/util/article","tfw/util/data","tfw/util/tracking",function(t,n,r,i,s,o,u,a,f,l,c,h,p,d){function w(e,t,n){var r=o.one("subject",e,"BLOCKQUOTE"),i=o.one("reply",e,"BLOCKQUOTE"),s=r&&r.getAttribute("data-tweet-id"),u=i&&i.getAttribute("data-tweet-id"),a={},f={};if(!s)return;a[s]={item_type:0},d.enqueue({page:"tweet",section:"subject",component:"tweet",action:"results"},{client_version:v,widget_origin:h.url(),widget_frame:h.frameUrl(),message:t,item_ids:[s],item_details:a},!0,n);if(!u)return;f[u]={item_type:0},d.enqueue({page:"tweet",section:"conversation",component:"tweet",action:"results"},{client_version:v,widget_origin:h.url(),widget_frame:h.frameUrl(),message:t,item_ids:[u],item_details:f,associations:{4:{association_id:s,association_type:4}}},!0,n)}function E
(e,t,n){var r={};if(!e)return;r[e]={item_type:0},d.enqueue({page:"tweet",section:"subject",component:"rawembedcode",action:"no_results"},{client_version:v,widget_origin:h.url(),widget_frame:h.frameUrl(),message:t,item_ids:[e],item_details:r},!0,n)}function S(e,t,n,r){g[e]=g[e]||[],g[e].push({s:n,f:r,lang:t})}function x(){twttr.widgets.load(b)}function T(e){if(!e)return;var t,r,i;this.a11yTitle=this._("Embedded Tweet"),n.apply(this,[e]),t=this.params(),r=this.srcEl&&this.srcEl.getElementsByTagName("A"),i=r&&r[r.length-1],this.hideThread=(t.conversation||this.dataAttr("conversation"))=="none"||~f.indexOf(this.classAttr,"tw-hide-thread"),this.hideCard=(t.cards||this.dataAttr("cards"))=="hidden"||~f.indexOf(this.classAttr,"tw-hide-media");if((t.align||this.attr("align"))=="left"||~f.indexOf(this.classAttr,"tw-align-left"))this.align="left";else if((t.align||this.attr("align"))=="right"||~f.indexOf(this.classAttr,"tw-align-right"))this.align="right";else if((t.align||this.attr("align"))=
="center"||~f.indexOf(this.classAttr,"tw-align-center"))this.align="center",this.containerWidth>this.dimensions.MIN_WIDTH*(1/.7)&&this.width>this.containerWidth*.7&&(this.width=this.containerWidth*.7);this.narrow=t.narrow||this.width<=this.dimensions.NARROW_WIDTH,this.narrow&&this.classAttr.push("var-narrow"),this.tweetId=t.tweetId||i&&c.status(i.href)}var v="2.0",m="tweetembed",g={},y=[],b=[];T.prototype=new n,f.aug(T.prototype,{renderedClassNames:"twitter-tweet twitter-tweet-rendered",dimensions:{DEFAULT_HEIGHT:"0",DEFAULT_WIDTH:"500",NARROW_WIDTH:"350",MIN_WIDTH:"220",MIN_HEIGHT:"0",WIDE_MEDIA_PADDING:32,NARROW_MEDIA_PADDING:32},create:function(e){var t=this.sandbox.createElement("div"),r;t.innerHTML=e,r=t.children[0]||!1;if(!r)return;return this.theme=="dark"&&this.classAttr.push("thm-dark"),this.linkColor&&this.addSiteStyles(),s.present(r,"media-forward")&&(this.fullBleedPhoto=!0),this.augmentWidgets(r),n.retinize(r),r.id=this.id,r.className+=" "+this.classAttr.join(" "),r.lang
=this.lang,this.sandbox.appendChild(r),this.sandbox.style({cssText:"",display:"block",maxWidth:"99%",minWidth:this.dimensions.MIN_WIDTH+"px",padding:"0",borderRadius:"5px",margin:"10px 0",border:"#ddd 1px solid",borderTopColor:"#eee",borderBottomColor:"#bbb",boxShadow:"0 1px 3px rgba(0,0,0,0.15)",position:"absolute",visibility:"hidden"}),this.layout(f.bind(function(){this.predefinedWidth=this.width,this.width=this.sandbox.width(this.width)},this),"Insert Sandbox"),this.setNarrow().then(f.bind(function(){this.constrainMedia(r,this.contentWidth(this.width)),this.renderResolver.fulfill(this.sandbox)},this)),w(r,this.partner,this.dnt),r},render:function(e,n){var r="",i=this.tweetId,s,o;return i?(o=new a(function(e){s=e}),this.hideCard&&(r+="c"),this.hideThread&&(r+="t"),r&&(i+="-"+r),this.rendered().then(f.bind(function(e){this.srcEl&&this.srcEl.parentNode&&this.layout(f.bind(function(){this.srcEl.parentNode.removeChild(this.srcEl)},this),"Remove Embed Code"),this.align=="center"?e.styl
e({margin:"7px auto",cssFloat:"none"}):this.align&&(this.width==this.dimensions.DEFAULT_WIDTH&&(this.predefinedWidth=this.width=this.dimensions.NARROW_WIDTH),e.style({cssFloat:this.align})),this.layout(f.bind(function(){this.height=this.sandbox.height(this.element.offsetHeight)},this)).then(f.bind(function(){return t.doLayoutAsync(),this.layout(f.bind(function(){this.height=this.sandbox.height(this.element.offsetHeight)},this))},this)).then(f.bind(function(){e.onresize(f.bind(this.handleResize,this))},this)),e.style({position:"static",visibility:"visible"}),t.doLayoutAsync()},this)),S(i,this.lang,f.bind(function(n){this.ready().then(f.bind(function(){this.element=this.create(n),this.readTimestampTranslations(),this.updateTimeStamps(),this.bindIntentHandlers(),t.doLayoutAsync(),s.fulfill(this.sandbox.element())},this))},this),f.bind(function(){E(this.tweetId,this.partner,this.dnt),s.fulfill(this.srcEl)},this)),y.push(o),n&&o.then(n),o):a.fulfill(this.srcEl)},augmentWidgets:function(e
){var t=o.one("twitter-follow-button",e,"A");if(!t)return;t.setAttribute("data-related",this.related),t.setAttribute("data-partner",this.partner),t.setAttribute("data-dnt",this.dnt),t.setAttribute("data-show-screen-name","false"),b.push(t.parentNode)},addUrlParams:function(e){var t=this,n={related:this.related,partner:this.partner,original_referer:h.url(),tw_p:m};return this.addUrlParams=i(n,function(e){var n=o.ancestor(".tweet",e,t.element);return{tw_i:n.getAttribute("data-tweet-id")}}),this.addUrlParams(e)},handleResize:function(e){var n=Math.min(this.dimensions.DEFAULT_WIDTH,Math.max(this.dimensions.MIN_WIDTH,Math.min(this.predefinedWidth||this.dimensions.DEFAULT_WIDTH,e)));if(n==this.width)return;this.width=n,this.setNarrow(),this.constrainMedia(this.element,this.contentWidth(n)),this.layout(f.bind(function(){this.height=this.element.offsetHeight,this.sandbox.height(this.height)},this),"Embed Resize"),t.doLayoutAsync()},readTimestampTranslations:function(){var e=this.element,t="
data-dt-",n=e.getAttribute(t+"months")||"";this.datetime=new r(f.compact({phrases:{AM:e.getAttribute(t+"am"),PM:e.getAttribute(t+"pm")},months:n.split("|"),formats:{full:e.getAttribute(t+"full")}}))},updateTimeStamps:function(){var e=o.one("long-permalink",this.element,"A"),n=e.getAttribute("data-datetime"),r=n&&this.datetime.localTimeStamp(n),i=e.getElementsByTagName("TIME")[0];if(!r)return;this.layout(function(){if(i&&i.innerHTML){i.innerHTML=r;return}e.innerHTML=r},"Update Timestamp"),t.doLayoutAsync()}}),T.fetchAndRender=function(){var e=g,n=[],r,i;g={};if(e.keys)n=e.keys();else for(r in e)e.hasOwnProperty(r)&&n.push(r);if(!n.length)return;d.initPostLogging(),i=e[n[0]][0].lang,p.tweets({ids:n.sort(),lang:i,complete:function(n){f.forIn(n,function(t,n){var r=e[t];f.forEach(r,function(e){e.s&&e.s.call(this,n)}),delete e[t]}),t.doLayout(),f.forIn(e,function(e,t){f.forEach(t,function(t){t.f&&t.f.call(this,e)})}),t.doLayout()}}),a.every.apply(null,y).then(function(){x(),d.flush()})},t
.afterLoad(T.fetchAndRender),e(T)})});
-provide("dom/textsize",function(e){function n(e,t,n){var r=[],i=0,s;for(;s=n[i];i++)r.push(s[0]),r.push(s[1]);return e+t+r.join(":")}function r(e){var t=e||"";return t.replace(/([A-Z])/g,function(e){return"-"+e.toLowerCase()})}var t={};e(function(e,i,s){var o=document.createElement("span"),u={},a="",f,l=0,c=0,h=[];s=s||[],i=i||"",a=n(e,i,s);if(t[a])return t[a];o.className=i+" twitter-measurement";try{for(;f=s[l];l++)o.style[f[0]]=f[1]}catch(p){for(;f=s[c];c++)h.push(r(f[0])+":"+f[1]);o.setAttribute("style",h.join(";")+";")}return o.innerHTML=e,document.body.appendChild(o),u.width=o.clientWidth||o.offsetWidth,u.height=o.clientHeight||o.offsetHeight,document.body.removeChild(o),delete o,t[a]=u})});
-provide("tfw/widget/tweetbase",function(e){using("util/util","tfw/widget/base","util/querystring","util/twitter",function(t,n,r,i){function s(e){if(!e)return;var t;n.apply(this,[e]),t=this.params(),this.text=t.text||this.dataAttr("text"),this.text&&/\+/.test(this.text)&&!/ /.test(this.text)&&(this.text=this.text.replace(/\+/g," ")),this.align=t.align||this.dataAttr("align")||"",this.via=t.via||this.dataAttr("via"),this.placeid=t.placeid||this.dataAttr("placeid"),this.hashtags=t.hashtags||this.dataAttr("hashtags"),this.screen_name=i.screenName(t.screen_name||t.screenName||this.dataAttr("button-screen-name")),this.url=t.url||this.dataAttr("url")}s.prototype=new n,t.aug(s.prototype,{parameters:function(){var e={text:this.text,url:this.url,related:this.related,lang:this.lang,placeid:this.placeid,original_referer:location.href,id:this.id,screen_name:this.screen_name,hashtags:this.hashtags,partner:this.partner,dnt:this.dnt,_:+(new Date)};return t.compact(e),r.encode(e)}}),e(s)})});
-provide("tfw/widget/tweetbutton",function(e){using("tfw/widget/tweetbase","util/util","util/querystring","util/uri","util/twitter","dom/textsize",function(t,n,r,i,s,o){function l(e){t.apply(this,[e]);var r=this.params(),o=r.count||this.dataAttr("count"),l=r.size||this.dataAttr("size"),c=i.getScreenNameFromPage();this.classAttr.push("twitter-tweet-button");if(r.type=="hashtag"||~n.indexOf(this.classAttr,"twitter-hashtag-button"))this.type="hashtag",this.classAttr.push("twitter-hashtag-button");else if(r.type=="mention"||~n.indexOf(this.classAttr,"twitter-mention-button"))this.type="mention",this.classAttr.push("twitter-mention-button");this.counturl=r.counturl||this.dataAttr("counturl"),this.searchlink=r.searchlink||this.dataAttr("searchlink"),this.button_hashtag=s.hashTag(r.button_hashtag||r.hashtag||this.dataAttr("button-hashtag"),!1),this.size=l=="large"?"l":"m",this.type?(this.count="none",c&&(this.related=this.related?c+","+this.related:c)):(this.text=this.text||u,this.url=this.
url||i.getCanonicalURL()||a,this.count=~n.indexOf(f,o)?o:"horizontal",this.count=this.count=="vertical"&&this.size=="l"?"none":this.count,this.via=this.via||c)}var u=document.title,a=encodeURI(location.href),f=["vertical","horizontal","none"];l.prototype=new t,n.aug(l.prototype,{parameters:function(){var e={text:this.text,url:this.url,via:this.via,related:this.related,count:this.count,lang:this.lang,counturl:this.counturl,searchlink:this.searchlink,placeid:this.placeid,original_referer:location.href,id:this.id,size:this.size,type:this.type,screen_name:this.screen_name,button_hashtag:this.button_hashtag,hashtags:this.hashtags,align:this.align,partner:this.partner,dnt:this.dnt,_:+(new Date)};return n.compact(e),r.encode(e)},height:function(){return this.count=="vertical"?62:this.size=="m"?20:28},width:function(){var e={ver:8,cnt:14,btn:24,xlcnt:18,xlbtn:38},t=this.count=="vertical",r=this.type=="hashtag"&&this.button_hashtag?"Tweet %{hashtag}":this.type=="mention"&&this.screen_name?"T
weet to %{name}":"Tweet",i=this._(r,{name:"@"+this.screen_name,hashtag:"#"+this.button_hashtag}),s=this._("K"),u=this._("100K+"),a=(t?"8888":"88888")+s,f=0,l=0,c=0,h=0,p=this.styles.base,d=p;return~n.indexOf(["ja","ko"],this.lang)?a+=this._("10k unit"):a=a.length>u.length?a:u,t?(d=p.concat(this.styles.vbubble),h=e.ver,c=e.btn):this.size=="l"?(p=d=p.concat(this.styles.large),c=e.xlbtn,h=e.xlcnt):(c=e.btn,h=e.cnt),this.count!="none"&&(l=o(a,"",d).width+h),f=o(i,"",p.concat(this.styles.button)).width+c,t?f>l?f:l:this.calculatedWidth=f+l},render:function(e,t){var r=twtt

<TRUNCATED>
a***@apache.org
2017-12-21 04:52:34 UTC
Permalink
http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/oldsite/js/prototype.js
----------------------------------------------------------------------
diff --git a/website-old/oldsite/js/prototype.js b/website-old/oldsite/js/prototype.js
deleted file mode 100644
index dfe8ab4..0000000
--- a/website-old/oldsite/js/prototype.js
+++ /dev/null
@@ -1,4320 +0,0 @@
-/* Prototype JavaScript framework, version 1.6.0.3
- * (c) 2005-2008 Sam Stephenson
- *
- * Prototype is freely distributable under the terms of an MIT-style license.
- * For details, see the Prototype web site: http://www.prototypejs.org/
- *
- *--------------------------------------------------------------------------*/
-
-var Prototype = {
- Version: '1.6.0.3',
-
- Browser: {
- IE: !!(window.attachEvent &&
- navigator.userAgent.indexOf('Opera') === -1),
- Opera: navigator.userAgent.indexOf('Opera') > -1,
- WebKit: navigator.userAgent.indexOf('AppleWebKit/') > -1,
- Gecko: navigator.userAgent.indexOf('Gecko') > -1 &&
- navigator.userAgent.indexOf('KHTML') === -1,
- MobileSafari: !!navigator.userAgent.match(/Apple.*Mobile.*Safari/)
- },
-
- BrowserFeatures: {
- XPath: !!document.evaluate,
- SelectorsAPI: !!document.querySelector,
- ElementExtensions: !!window.HTMLElement,
- SpecificElementExtensions:
- document.createElement('div')['__proto__'] &&
- document.createElement('div')['__proto__'] !==
- document.createElement('form')['__proto__']
- },
-
- ScriptFragment: '<script[^>]*>([\\S\\s]*?)<\/script>',
- JSONFilter: /^\/\*-secure-([\s\S]*)\*\/\s*$/,
-
- emptyFunction: function() { },
- K: function(x) { return x }
-};
-
-if (Prototype.Browser.MobileSafari)
- Prototype.BrowserFeatures.SpecificElementExtensions = false;
-
-
-/* Based on Alex Arnell's inheritance implementation. */
-var Class = {
- create: function() {
- var parent = null, properties = $A(arguments);
- if (Object.isFunction(properties[0]))
- parent = properties.shift();
-
- function klass() {
- this.initialize.apply(this, arguments);
- }
-
- Object.extend(klass, Class.Methods);
- klass.superclass = parent;
- klass.subclasses = [];
-
- if (parent) {
- var subclass = function() { };
- subclass.prototype = parent.prototype;
- klass.prototype = new subclass;
- parent.subclasses.push(klass);
- }
-
- for (var i = 0; i < properties.length; i++)
- klass.addMethods(properties[i]);
-
- if (!klass.prototype.initialize)
- klass.prototype.initialize = Prototype.emptyFunction;
-
- klass.prototype.constructor = klass;
-
- return klass;
- }
-};
-
-Class.Methods = {
- addMethods: function(source) {
- var ancestor = this.superclass && this.superclass.prototype;
- var properties = Object.keys(source);
-
- if (!Object.keys({ toString: true }).length)
- properties.push("toString", "valueOf");
-
- for (var i = 0, length = properties.length; i < length; i++) {
- var property = properties[i], value = source[property];
- if (ancestor && Object.isFunction(value) &&
- value.argumentNames().first() == "$super") {
- var method = value;
- value = (function(m) {
- return function() { return ancestor[m].apply(this, arguments) };
- })(property).wrap(method);
-
- value.valueOf = method.valueOf.bind(method);
- value.toString = method.toString.bind(method);
- }
- this.prototype[property] = value;
- }
-
- return this;
- }
-};
-
-var Abstract = { };
-
-Object.extend = function(destination, source) {
- for (var property in source)
- destination[property] = source[property];
- return destination;
-};
-
-Object.extend(Object, {
- inspect: function(object) {
- try {
- if (Object.isUndefined(object)) return 'undefined';
- if (object === null) return 'null';
- return object.inspect ? object.inspect() : String(object);
- } catch (e) {
- if (e instanceof RangeError) return '...';
- throw e;
- }
- },
-
- toJSON: function(object) {
- var type = typeof object;
- switch (type) {
- case 'undefined':
- case 'function':
- case 'unknown': return;
- case 'boolean': return object.toString();
- }
-
- if (object === null) return 'null';
- if (object.toJSON) return object.toJSON();
- if (Object.isElement(object)) return;
-
- var results = [];
- for (var property in object) {
- var value = Object.toJSON(object[property]);
- if (!Object.isUndefined(value))
- results.push(property.toJSON() + ': ' + value);
- }
-
- return '{' + results.join(', ') + '}';
- },
-
- toQueryString: function(object) {
- return $H(object).toQueryString();
- },
-
- toHTML: function(object) {
- return object && object.toHTML ? object.toHTML() : String.interpret(object);
- },
-
- keys: function(object) {
- var keys = [];
- for (var property in object)
- keys.push(property);
- return keys;
- },
-
- values: function(object) {
- var values = [];
- for (var property in object)
- values.push(object[property]);
- return values;
- },
-
- clone: function(object) {
- return Object.extend({ }, object);
- },
-
- isElement: function(object) {
- return !!(object && object.nodeType == 1);
- },
-
- isArray: function(object) {
- return object != null && typeof object == "object" &&
- 'splice' in object && 'join' in object;
- },
-
- isHash: function(object) {
- return object instanceof Hash;
- },
-
- isFunction: function(object) {
- return typeof object == "function";
- },
-
- isString: function(object) {
- return typeof object == "string";
- },
-
- isNumber: function(object) {
- return typeof object == "number";
- },
-
- isUndefined: function(object) {
- return typeof object == "undefined";
- }
-});
-
-Object.extend(Function.prototype, {
- argumentNames: function() {
- var names = this.toString().match(/^[\s\(]*function[^(]*\(([^\)]*)\)/)[1]
- .replace(/\s+/g, '').split(',');
- return names.length == 1 && !names[0] ? [] : names;
- },
-
- bind: function() {
- if (arguments.length < 2 && Object.isUndefined(arguments[0])) return this;
- var __method = this, args = $A(arguments), object = args.shift();
- return function() {
- return __method.apply(object, args.concat($A(arguments)));
- }
- },
-
- bindAsEventListener: function() {
- var __method = this, args = $A(arguments), object = args.shift();
- return function(event) {
- return __method.apply(object, [event || window.event].concat(args));
- }
- },
-
- curry: function() {
- if (!arguments.length) return this;
- var __method = this, args = $A(arguments);
- return function() {
- return __method.apply(this, args.concat($A(arguments)));
- }
- },
-
- delay: function() {
- var __method = this, args = $A(arguments), timeout = args.shift() * 1000;
- return window.setTimeout(function() {
- return __method.apply(__method, args);
- }, timeout);
- },
-
- defer: function() {
- var args = [0.01].concat($A(arguments));
- return this.delay.apply(this, args);
- },
-
- wrap: function(wrapper) {
- var __method = this;
- return function() {
- return wrapper.apply(this, [__method.bind(this)].concat($A(arguments)));
- }
- },
-
- methodize: function() {
- if (this._methodized) return this._methodized;
- var __method = this;
- return this._methodized = function() {
- return __method.apply(null, [this].concat($A(arguments)));
- };
- }
-});
-
-Date.prototype.toJSON = function() {
- return '"' + this.getUTCFullYear() + '-' +
- (this.getUTCMonth() + 1).toPaddedString(2) + '-' +
- this.getUTCDate().toPaddedString(2) + 'T' +
- this.getUTCHours().toPaddedString(2) + ':' +
- this.getUTCMinutes().toPaddedString(2) + ':' +
- this.getUTCSeconds().toPaddedString(2) + 'Z"';
-};
-
-var Try = {
- these: function() {
- var returnValue;
-
- for (var i = 0, length = arguments.length; i < length; i++) {
- var lambda = arguments[i];
- try {
- returnValue = lambda();
- break;
- } catch (e) { }
- }
-
- return returnValue;
- }
-};
-
-RegExp.prototype.match = RegExp.prototype.test;
-
-RegExp.escape = function(str) {
- return String(str).replace(/([.*+?^=!:${}()|[\]\/\\])/g, '\\$1');
-};
-
-/*--------------------------------------------------------------------------*/
-
-var PeriodicalExecuter = Class.create({
- initialize: function(callback, frequency) {
- this.callback = callback;
- this.frequency = frequency;
- this.currentlyExecuting = false;
-
- this.registerCallback();
- },
-
- registerCallback: function() {
- this.timer = setInterval(this.onTimerEvent.bind(this), this.frequency * 1000);
- },
-
- execute: function() {
- this.callback(this);
- },
-
- stop: function() {
- if (!this.timer) return;
- clearInterval(this.timer);
- this.timer = null;
- },
-
- onTimerEvent: function() {
- if (!this.currentlyExecuting) {
- try {
- this.currentlyExecuting = true;
- this.execute();
- } finally {
- this.currentlyExecuting = false;
- }
- }
- }
-});
-Object.extend(String, {
- interpret: function(value) {
- return value == null ? '' : String(value);
- },
- specialChar: {
- '\b': '\\b',
- '\t': '\\t',
- '\n': '\\n',
- '\f': '\\f',
- '\r': '\\r',
- '\\': '\\\\'
- }
-});
-
-Object.extend(String.prototype, {
- gsub: function(pattern, replacement) {
- var result = '', source = this, match;
- replacement = arguments.callee.prepareReplacement(replacement);
-
- while (source.length > 0) {
- if (match = source.match(pattern)) {
- result += source.slice(0, match.index);
- result += String.interpret(replacement(match));
- source = source.slice(match.index + match[0].length);
- } else {
- result += source, source = '';
- }
- }
- return result;
- },
-
- sub: function(pattern, replacement, count) {
- replacement = this.gsub.prepareReplacement(replacement);
- count = Object.isUndefined(count) ? 1 : count;
-
- return this.gsub(pattern, function(match) {
- if (--count < 0) return match[0];
- return replacement(match);
- });
- },
-
- scan: function(pattern, iterator) {
- this.gsub(pattern, iterator);
- return String(this);
- },
-
- truncate: function(length, truncation) {
- length = length || 30;
- truncation = Object.isUndefined(truncation) ? '...' : truncation;
- return this.length > length ?
- this.slice(0, length - truncation.length) + truncation : String(this);
- },
-
- strip: function() {
- return this.replace(/^\s+/, '').replace(/\s+$/, '');
- },
-
- stripTags: function() {
- return this.replace(/<\/?[^>]+>/gi, '');
- },
-
- stripScripts: function() {
- return this.replace(new RegExp(Prototype.ScriptFragment, 'img'), '');
- },
-
- extractScripts: function() {
- var matchAll = new RegExp(Prototype.ScriptFragment, 'img');
- var matchOne = new RegExp(Prototype.ScriptFragment, 'im');
- return (this.match(matchAll) || []).map(function(scriptTag) {
- return (scriptTag.match(matchOne) || ['', ''])[1];
- });
- },
-
- evalScripts: function() {
- return this.extractScripts().map(function(script) { return eval(script) });
- },
-
- escapeHTML: function() {
- var self = arguments.callee;
- self.text.data = this;
- return self.div.innerHTML;
- },
-
- unescapeHTML: function() {
- var div = new Element('div');
- div.innerHTML = this.stripTags();
- return div.childNodes[0] ? (div.childNodes.length > 1 ?
- $A(div.childNodes).inject('', function(memo, node) { return memo+node.nodeValue }) :
- div.childNodes[0].nodeValue) : '';
- },
-
- toQueryParams: function(separator) {
- var match = this.strip().match(/([^?#]*)(#.*)?$/);
- if (!match) return { };
-
- return match[1].split(separator || '&').inject({ }, function(hash, pair) {
- if ((pair = pair.split('='))[0]) {
- var key = decodeURIComponent(pair.shift());
- var value = pair.length > 1 ? pair.join('=') : pair[0];
- if (value != undefined) value = decodeURIComponent(value);
-
- if (key in hash) {
- if (!Object.isArray(hash[key])) hash[key] = [hash[key]];
- hash[key].push(value);
- }
- else hash[key] = value;
- }
- return hash;
- });
- },
-
- toArray: function() {
- return this.split('');
- },
-
- succ: function() {
- return this.slice(0, this.length - 1) +
- String.fromCharCode(this.charCodeAt(this.length - 1) + 1);
- },
-
- times: function(count) {
- return count < 1 ? '' : new Array(count + 1).join(this);
- },
-
- camelize: function() {
- var parts = this.split('-'), len = parts.length;
- if (len == 1) return parts[0];
-
- var camelized = this.charAt(0) == '-'
- ? parts[0].charAt(0).toUpperCase() + parts[0].substring(1)
- : parts[0];
-
- for (var i = 1; i < len; i++)
- camelized += parts[i].charAt(0).toUpperCase() + parts[i].substring(1);
-
- return camelized;
- },
-
- capitalize: function() {
- return this.charAt(0).toUpperCase() + this.substring(1).toLowerCase();
- },
-
- underscore: function() {
- return this.gsub(/::/, '/').gsub(/([A-Z]+)([A-Z][a-z])/,'#{1}_#{2}').gsub(/([a-z\d])([A-Z])/,'#{1}_#{2}').gsub(/-/,'_').toLowerCase();
- },
-
- dasherize: function() {
- return this.gsub(/_/,'-');
- },
-
- inspect: function(useDoubleQuotes) {
- var escapedString = this.gsub(/[\x00-\x1f\\]/, function(match) {
- var character = String.specialChar[match[0]];
- return character ? character : '\\u00' + match[0].charCodeAt().toPaddedString(2, 16);
- });
- if (useDoubleQuotes) return '"' + escapedString.replace(/"/g, '\\"') + '"';
- return "'" + escapedString.replace(/'/g, '\\\'') + "'";
- },
-
- toJSON: function() {
- return this.inspect(true);
- },
-
- unfilterJSON: function(filter) {
- return this.sub(filter || Prototype.JSONFilter, '#{1}');
- },
-
- isJSON: function() {
- var str = this;
- if (str.blank()) return false;
- str = this.replace(/\\./g, '@').replace(/"[^"\\\n\r]*"/g, '');
- return (/^[,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t]*$/).test(str);
- },
-
- evalJSON: function(sanitize) {
- var json = this.unfilterJSON();
- try {
- if (!sanitize || json.isJSON()) return eval('(' + json + ')');
- } catch (e) { }
- throw new SyntaxError('Badly formed JSON string: ' + this.inspect());
- },
-
- include: function(pattern) {
- return this.indexOf(pattern) > -1;
- },
-
- startsWith: function(pattern) {
- return this.indexOf(pattern) === 0;
- },
-
- endsWith: function(pattern) {
- var d = this.length - pattern.length;
- return d >= 0 && this.lastIndexOf(pattern) === d;
- },
-
- empty: function() {
- return this == '';
- },
-
- blank: function() {
- return /^\s*$/.test(this);
- },
-
- interpolate: function(object, pattern) {
- return new Template(this, pattern).evaluate(object);
- }
-});
-
-if (Prototype.Browser.WebKit || Prototype.Browser.IE) Object.extend(String.prototype, {
- escapeHTML: function() {
- return this.replace(/&/g,'&amp;').replace(/</g,'&lt;').replace(/>/g,'&gt;');
- },
- unescapeHTML: function() {
- return this.stripTags().replace(/&amp;/g,'&').replace(/&lt;/g,'<').replace(/&gt;/g,'>');
- }
-});
-
-String.prototype.gsub.prepareReplacement = function(replacement) {
- if (Object.isFunction(replacement)) return replacement;
- var template = new Template(replacement);
- return function(match) { return template.evaluate(match) };
-};
-
-String.prototype.parseQuery = String.prototype.toQueryParams;
-
-Object.extend(String.prototype.escapeHTML, {
- div: document.createElement('div'),
- text: document.createTextNode('')
-});
-
-String.prototype.escapeHTML.div.appendChild(String.prototype.escapeHTML.text);
-
-var Template = Class.create({
- initialize: function(template, pattern) {
- this.template = template.toString();
- this.pattern = pattern || Template.Pattern;
- },
-
- evaluate: function(object) {
- if (Object.isFunction(object.toTemplateReplacements))
- object = object.toTemplateReplacements();
-
- return this.template.gsub(this.pattern, function(match) {
- if (object == null) return '';
-
- var before = match[1] || '';
- if (before == '\\') return match[2];
-
- var ctx = object, expr = match[3];
- var pattern = /^([^.[]+|\[((?:.*?[^\\])?)\])(\.|\[|$)/;
- match = pattern.exec(expr);
- if (match == null) return before;
-
- while (match != null) {
- var comp = match[1].startsWith('[') ? match[2].gsub('\\\\]', ']') : match[1];
- ctx = ctx[comp];
- if (null == ctx || '' == match[3]) break;
- expr = expr.substring('[' == match[3] ? match[1].length : match[0].length);
- match = pattern.exec(expr);
- }
-
- return before + String.interpret(ctx);
- });
- }
-});
-Template.Pattern = /(^|.|\r|\n)(#\{(.*?)\})/;
-
-var $break = { };
-
-var Enumerable = {
- each: function(iterator, context) {
- var index = 0;
- try {
- this._each(function(value) {
- iterator.call(context, value, index++);
- });
- } catch (e) {
- if (e != $break) throw e;
- }
- return this;
- },
-
- eachSlice: function(number, iterator, context) {
- var index = -number, slices = [], array = this.toArray();
- if (number < 1) return array;
- while ((index += number) < array.length)
- slices.push(array.slice(index, index+number));
- return slices.collect(iterator, context);
- },
-
- all: function(iterator, context) {
- iterator = iterator || Prototype.K;
- var result = true;
- this.each(function(value, index) {
- result = result && !!iterator.call(context, value, index);
- if (!result) throw $break;
- });
- return result;
- },
-
- any: function(iterator, context) {
- iterator = iterator || Prototype.K;
- var result = false;
- this.each(function(value, index) {
- if (result = !!iterator.call(context, value, index))
- throw $break;
- });
- return result;
- },
-
- collect: function(iterator, context) {
- iterator = iterator || Prototype.K;
- var results = [];
- this.each(function(value, index) {
- results.push(iterator.call(context, value, index));
- });
- return results;
- },
-
- detect: function(iterator, context) {
- var result;
- this.each(function(value, index) {
- if (iterator.call(context, value, index)) {
- result = value;
- throw $break;
- }
- });
- return result;
- },
-
- findAll: function(iterator, context) {
- var results = [];
- this.each(function(value, index) {
- if (iterator.call(context, value, index))
- results.push(value);
- });
- return results;
- },
-
- grep: function(filter, iterator, context) {
- iterator = iterator || Prototype.K;
- var results = [];
-
- if (Object.isString(filter))
- filter = new RegExp(filter);
-
- this.each(function(value, index) {
- if (filter.match(value))
- results.push(iterator.call(context, value, index));
- });
- return results;
- },
-
- include: function(object) {
- if (Object.isFunction(this.indexOf))
- if (this.indexOf(object) != -1) return true;
-
- var found = false;
- this.each(function(value) {
- if (value == object) {
- found = true;
- throw $break;
- }
- });
- return found;
- },
-
- inGroupsOf: function(number, fillWith) {
- fillWith = Object.isUndefined(fillWith) ? null : fillWith;
- return this.eachSlice(number, function(slice) {
- while(slice.length < number) slice.push(fillWith);
- return slice;
- });
- },
-
- inject: function(memo, iterator, context) {
- this.each(function(value, index) {
- memo = iterator.call(context, memo, value, index);
- });
- return memo;
- },
-
- invoke: function(method) {
- var args = $A(arguments).slice(1);
- return this.map(function(value) {
- return value[method].apply(value, args);
- });
- },
-
- max: function(iterator, context) {
- iterator = iterator || Prototype.K;
- var result;
- this.each(function(value, index) {
- value = iterator.call(context, value, index);
- if (result == null || value >= result)
- result = value;
- });
- return result;
- },
-
- min: function(iterator, context) {
- iterator = iterator || Prototype.K;
- var result;
- this.each(function(value, index) {
- value = iterator.call(context, value, index);
- if (result == null || value < result)
- result = value;
- });
- return result;
- },
-
- partition: function(iterator, context) {
- iterator = iterator || Prototype.K;
- var trues = [], falses = [];
- this.each(function(value, index) {
- (iterator.call(context, value, index) ?
- trues : falses).push(value);
- });
- return [trues, falses];
- },
-
- pluck: function(property) {
- var results = [];
- this.each(function(value) {
- results.push(value[property]);
- });
- return results;
- },
-
- reject: function(iterator, context) {
- var results = [];
- this.each(function(value, index) {
- if (!iterator.call(context, value, index))
- results.push(value);
- });
- return results;
- },
-
- sortBy: function(iterator, context) {
- return this.map(function(value, index) {
- return {
- value: value,
- criteria: iterator.call(context, value, index)
- };
- }).sort(function(left, right) {
- var a = left.criteria, b = right.criteria;
- return a < b ? -1 : a > b ? 1 : 0;
- }).pluck('value');
- },
-
- toArray: function() {
- return this.map();
- },
-
- zip: function() {
- var iterator = Prototype.K, args = $A(arguments);
- if (Object.isFunction(args.last()))
- iterator = args.pop();
-
- var collections = [this].concat(args).map($A);
- return this.map(function(value, index) {
- return iterator(collections.pluck(index));
- });
- },
-
- size: function() {
- return this.toArray().length;
- },
-
- inspect: function() {
- return '#<Enumerable:' + this.toArray().inspect() + '>';
- }
-};
-
-Object.extend(Enumerable, {
- map: Enumerable.collect,
- find: Enumerable.detect,
- select: Enumerable.findAll,
- filter: Enumerable.findAll,
- member: Enumerable.include,
- entries: Enumerable.toArray,
- every: Enumerable.all,
- some: Enumerable.any
-});
-function $A(iterable) {
- if (!iterable) return [];
- if (iterable.toArray) return iterable.toArray();
- var length = iterable.length || 0, results = new Array(length);
- while (length--) results[length] = iterable[length];
- return results;
-}
-
-if (Prototype.Browser.WebKit) {
- $A = function(iterable) {
- if (!iterable) return [];
- // In Safari, only use the `toArray` method if it's not a NodeList.
- // A NodeList is a function, has an function `item` property, and a numeric
- // `length` property. Adapted from Google Doctype.
- if (!(typeof iterable === 'function' && typeof iterable.length ===
- 'number' && typeof iterable.item === 'function') && iterable.toArray)
- return iterable.toArray();
- var length = iterable.length || 0, results = new Array(length);
- while (length--) results[length] = iterable[length];
- return results;
- };
-}
-
-Array.from = $A;
-
-Object.extend(Array.prototype, Enumerable);
-
-if (!Array.prototype._reverse) Array.prototype._reverse = Array.prototype.reverse;
-
-Object.extend(Array.prototype, {
- _each: function(iterator) {
- for (var i = 0, length = this.length; i < length; i++)
- iterator(this[i]);
- },
-
- clear: function() {
- this.length = 0;
- return this;
- },
-
- first: function() {
- return this[0];
- },
-
- last: function() {
- return this[this.length - 1];
- },
-
- compact: function() {
- return this.select(function(value) {
- return value != null;
- });
- },
-
- flatten: function() {
- return this.inject([], function(array, value) {
- return array.concat(Object.isArray(value) ?
- value.flatten() : [value]);
- });
- },
-
- without: function() {
- var values = $A(arguments);
- return this.select(function(value) {
- return !values.include(value);
- });
- },
-
- reverse: function(inline) {
- return (inline !== false ? this : this.toArray())._reverse();
- },
-
- reduce: function() {
- return this.length > 1 ? this : this[0];
- },
-
- uniq: function(sorted) {
- return this.inject([], function(array, value, index) {
- if (0 == index || (sorted ? array.last() != value : !array.include(value)))
- array.push(value);
- return array;
- });
- },
-
- intersect: function(array) {
- return this.uniq().findAll(function(item) {
- return array.detect(function(value) { return item === value });
- });
- },
-
- clone: function() {
- return [].concat(this);
- },
-
- size: function() {
- return this.length;
- },
-
- inspect: function() {
- return '[' + this.map(Object.inspect).join(', ') + ']';
- },
-
- toJSON: function() {
- var results = [];
- this.each(function(object) {
- var value = Object.toJSON(object);
- if (!Object.isUndefined(value)) results.push(value);
- });
- return '[' + results.join(', ') + ']';
- }
-});
-
-// use native browser JS 1.6 implementation if available
-if (Object.isFunction(Array.prototype.forEach))
- Array.prototype._each = Array.prototype.forEach;
-
-if (!Array.prototype.indexOf) Array.prototype.indexOf = function(item, i) {
- i || (i = 0);
- var length = this.length;
- if (i < 0) i = length + i;
- for (; i < length; i++)
- if (this[i] === item) return i;
- return -1;
-};
-
-if (!Array.prototype.lastIndexOf) Array.prototype.lastIndexOf = function(item, i) {
- i = isNaN(i) ? this.length : (i < 0 ? this.length + i : i) + 1;
- var n = this.slice(0, i).reverse().indexOf(item);
- return (n < 0) ? n : i - n - 1;
-};
-
-Array.prototype.toArray = Array.prototype.clone;
-
-function $w(string) {
- if (!Object.isString(string)) return [];
- string = string.strip();
- return string ? string.split(/\s+/) : [];
-}
-
-if (Prototype.Browser.Opera){
- Array.prototype.concat = function() {
- var array = [];
- for (var i = 0, length = this.length; i < length; i++) array.push(this[i]);
- for (var i = 0, length = arguments.length; i < length; i++) {
- if (Object.isArray(arguments[i])) {
- for (var j = 0, arrayLength = arguments[i].length; j < arrayLength; j++)
- array.push(arguments[i][j]);
- } else {
- array.push(arguments[i]);
- }
- }
- return array;
- };
-}
-Object.extend(Number.prototype, {
- toColorPart: function() {
- return this.toPaddedString(2, 16);
- },
-
- succ: function() {
- return this + 1;
- },
-
- times: function(iterator, context) {
- $R(0, this, true).each(iterator, context);
- return this;
- },
-
- toPaddedString: function(length, radix) {
- var string = this.toString(radix || 10);
- return '0'.times(length - string.length) + string;
- },
-
- toJSON: function() {
- return isFinite(this) ? this.toString() : 'null';
- }
-});
-
-$w('abs round ceil floor').each(function(method){
- Number.prototype[method] = Math[method].methodize();
-});
-function $H(object) {
- return new Hash(object);
-};
-
-var Hash = Class.create(Enumerable, (function() {
-
- function toQueryPair(key, value) {
- if (Object.isUndefined(value)) return key;
- return key + '=' + encodeURIComponent(String.interpret(value));
- }
-
- return {
- initialize: function(object) {
- this._object = Object.isHash(object) ? object.toObject() : Object.clone(object);
- },
-
- _each: function(iterator) {
- for (var key in this._object) {
- var value = this._object[key], pair = [key, value];
- pair.key = key;
- pair.value = value;
- iterator(pair);
- }
- },
-
- set: function(key, value) {
- return this._object[key] = value;
- },
-
- get: function(key) {
- // simulating poorly supported hasOwnProperty
- if (this._object[key] !== Object.prototype[key])
- return this._object[key];
- },
-
- unset: function(key) {
- var value = this._object[key];
- delete this._object[key];
- return value;
- },
-
- toObject: function() {
- return Object.clone(this._object);
- },
-
- keys: function() {
- return this.pluck('key');
- },
-
- values: function() {
- return this.pluck('value');
- },
-
- index: function(value) {
- var match = this.detect(function(pair) {
- return pair.value === value;
- });
- return match && match.key;
- },
-
- merge: function(object) {
- return this.clone().update(object);
- },
-
- update: function(object) {
- return new Hash(object).inject(this, function(result, pair) {
- result.set(pair.key, pair.value);
- return result;
- });
- },
-
- toQueryString: function() {
- return this.inject([], function(results, pair) {
- var key = encodeURIComponent(pair.key), values = pair.value;
-
- if (values && typeof values == 'object') {
- if (Object.isArray(values))
- return results.concat(values.map(toQueryPair.curry(key)));
- } else results.push(toQueryPair(key, values));
- return results;
- }).join('&');
- },
-
- inspect: function() {
- return '#<Hash:{' + this.map(function(pair) {
- return pair.map(Object.inspect).join(': ');
- }).join(', ') + '}>';
- },
-
- toJSON: function() {
- return Object.toJSON(this.toObject());
- },
-
- clone: function() {
- return new Hash(this);
- }
- }
-})());
-
-Hash.prototype.toTemplateReplacements = Hash.prototype.toObject;
-Hash.from = $H;
-var ObjectRange = Class.create(Enumerable, {
- initialize: function(start, end, exclusive) {
- this.start = start;
- this.end = end;
- this.exclusive = exclusive;
- },
-
- _each: function(iterator) {
- var value = this.start;
- while (this.include(value)) {
- iterator(value);
- value = value.succ();
- }
- },
-
- include: function(value) {
- if (value < this.start)
- return false;
- if (this.exclusive)
- return value < this.end;
- return value <= this.end;
- }
-});
-
-var $R = function(start, end, exclusive) {
- return new ObjectRange(start, end, exclusive);
-};
-
-var Ajax = {
- getTransport: function() {
- return Try.these(
- function() {return new XMLHttpRequest()},
- function() {return new ActiveXObject('Msxml2.XMLHTTP')},
- function() {return new ActiveXObject('Microsoft.XMLHTTP')}
- ) || false;
- },
-
- activeRequestCount: 0
-};
-
-Ajax.Responders = {
- responders: [],
-
- _each: function(iterator) {
- this.responders._each(iterator);
- },
-
- register: function(responder) {
- if (!this.include(responder))
- this.responders.push(responder);
- },
-
- unregister: function(responder) {
- this.responders = this.responders.without(responder);
- },
-
- dispatch: function(callback, request, transport, json) {
- this.each(function(responder) {
- if (Object.isFunction(responder[callback])) {
- try {
- responder[callback].apply(responder, [request, transport, json]);
- } catch (e) { }
- }
- });
- }
-};
-
-Object.extend(Ajax.Responders, Enumerable);
-
-Ajax.Responders.register({
- onCreate: function() { Ajax.activeRequestCount++ },
- onComplete: function() { Ajax.activeRequestCount-- }
-});
-
-Ajax.Base = Class.create({
- initialize: function(options) {
- this.options = {
- method: 'post',
- asynchronous: true,
- contentType: 'application/x-www-form-urlencoded',
- encoding: 'UTF-8',
- parameters: '',
- evalJSON: true,
- evalJS: true
- };
- Object.extend(this.options, options || { });
-
- this.options.method = this.options.method.toLowerCase();
-
- if (Object.isString(this.options.parameters))
- this.options.parameters = this.options.parameters.toQueryParams();
- else if (Object.isHash(this.options.parameters))
- this.options.parameters = this.options.parameters.toObject();
- }
-});
-
-Ajax.Request = Class.create(Ajax.Base, {
- _complete: false,
-
- initialize: function($super, url, options) {
- $super(options);
- this.transport = Ajax.getTransport();
- this.request(url);
- },
-
- request: function(url) {
- this.url = url;
- this.method = this.options.method;
- var params = Object.clone(this.options.parameters);
-
- if (!['get', 'post'].include(this.method)) {
- // simulate other verbs over post
- params['_method'] = this.method;
- this.method = 'post';
- }
-
- this.parameters = params;
-
- if (params = Object.toQueryString(params)) {
- // when GET, append parameters to URL
- if (this.method == 'get')
- this.url += (this.url.include('?') ? '&' : '?') + params;
- else if (/Konqueror|Safari|KHTML/.test(navigator.userAgent))
- params += '&_=';
- }
-
- try {
- var response = new Ajax.Response(this);
- if (this.options.onCreate) this.options.onCreate(response);
- Ajax.Responders.dispatch('onCreate', this, response);
-
- this.transport.open(this.method.toUpperCase(), this.url,
- this.options.asynchronous);
-
- if (this.options.asynchronous) this.respondToReadyState.bind(this).defer(1);
-
- this.transport.onreadystatechange = this.onStateChange.bind(this);
- this.setRequestHeaders();
-
- this.body = this.method == 'post' ? (this.options.postBody || params) : null;
- this.transport.send(this.body);
-
- /* Force Firefox to handle ready state 4 for synchronous requests */
- if (!this.options.asynchronous && this.transport.overrideMimeType)
- this.onStateChange();
-
- }
- catch (e) {
- this.dispatchException(e);
- }
- },
-
- onStateChange: function() {
- var readyState = this.transport.readyState;
- if (readyState > 1 && !((readyState == 4) && this._complete))
- this.respondToReadyState(this.transport.readyState);
- },
-
- setRequestHeaders: function() {
- var headers = {
- 'X-Requested-With': 'XMLHttpRequest',
- 'X-Prototype-Version': Prototype.Version,
- 'Accept': 'text/javascript, text/html, application/xml, text/xml, */*'
- };
-
- if (this.method == 'post') {
- headers['Content-type'] = this.options.contentType +
- (this.options.encoding ? '; charset=' + this.options.encoding : '');
-
- /* Force "Connection: close" for older Mozilla browsers to work
- * around a bug where XMLHttpRequest sends an incorrect
- * Content-length header. See Mozilla Bugzilla #246651.
- */
- if (this.transport.overrideMimeType &&
- (navigator.userAgent.match(/Gecko\/(\d{4})/) || [0,2005])[1] < 2005)
- headers['Connection'] = 'close';
- }
-
- // user-defined headers
- if (typeof this.options.requestHeaders == 'object') {
- var extras = this.options.requestHeaders;
-
- if (Object.isFunction(extras.push))
- for (var i = 0, length = extras.length; i < length; i += 2)
- headers[extras[i]] = extras[i+1];
- else
- $H(extras).each(function(pair) { headers[pair.key] = pair.value });
- }
-
- for (var name in headers)
- this.transport.setRequestHeader(name, headers[name]);
- },
-
- success: function() {
- var status = this.getStatus();
- return !status || (status >= 200 && status < 300);
- },
-
- getStatus: function() {
- try {
- return this.transport.status || 0;
- } catch (e) { return 0 }
- },
-
- respondToReadyState: function(readyState) {
- var state = Ajax.Request.Events[readyState], response = new Ajax.Response(this);
-
- if (state == 'Complete') {
- try {
- this._complete = true;
- (this.options['on' + response.status]
- || this.options['on' + (this.success() ? 'Success' : 'Failure')]
- || Prototype.emptyFunction)(response, response.headerJSON);
- } catch (e) {
- this.dispatchException(e);
- }
-
- var contentType = response.getHeader('Content-type');
- if (this.options.evalJS == 'force'
- || (this.options.evalJS && this.isSameOrigin() && contentType
- && contentType.match(/^\s*(text|application)\/(x-)?(java|ecma)script(;.*)?\s*$/i)))
- this.evalResponse();
- }
-
- try {
- (this.options['on' + state] || Prototype.emptyFunction)(response, response.headerJSON);
- Ajax.Responders.dispatch('on' + state, this, response, response.headerJSON);
- } catch (e) {
- this.dispatchException(e);
- }
-
- if (state == 'Complete') {
- // avoid memory leak in MSIE: clean up
- this.transport.onreadystatechange = Prototype.emptyFunction;
- }
- },
-
- isSameOrigin: function() {
- var m = this.url.match(/^\s*https?:\/\/[^\/]*/);
- return !m || (m[0] == '#{protocol}//#{domain}#{port}'.interpolate({
- protocol: location.protocol,
- domain: document.domain,
- port: location.port ? ':' + location.port : ''
- }));
- },
-
- getHeader: function(name) {
- try {
- return this.transport.getResponseHeader(name) || null;
- } catch (e) { return null }
- },
-
- evalResponse: function() {
- try {
- return eval((this.transport.responseText || '').unfilterJSON());
- } catch (e) {
- this.dispatchException(e);
- }
- },
-
- dispatchException: function(exception) {
- (this.options.onException || Prototype.emptyFunction)(this, exception);
- Ajax.Responders.dispatch('onException', this, exception);
- }
-});
-
-Ajax.Request.Events =
- ['Uninitialized', 'Loading', 'Loaded', 'Interactive', 'Complete'];
-
-Ajax.Response = Class.create({
- initialize: function(request){
- this.request = request;
- var transport = this.transport = request.transport,
- readyState = this.readyState = transport.readyState;
-
- if((readyState > 2 && !Prototype.Browser.IE) || readyState == 4) {
- this.status = this.getStatus();
- this.statusText = this.getStatusText();
- this.responseText = String.interpret(transport.responseText);
- this.headerJSON = this._getHeaderJSON();
- }
-
- if(readyState == 4) {
- var xml = transport.responseXML;
- this.responseXML = Object.isUndefined(xml) ? null : xml;
- this.responseJSON = this._getResponseJSON();
- }
- },
-
- status: 0,
- statusText: '',
-
- getStatus: Ajax.Request.prototype.getStatus,
-
- getStatusText: function() {
- try {
- return this.transport.statusText || '';
- } catch (e) { return '' }
- },
-
- getHeader: Ajax.Request.prototype.getHeader,
-
- getAllHeaders: function() {
- try {
- return this.getAllResponseHeaders();
- } catch (e) { return null }
- },
-
- getResponseHeader: function(name) {
- return this.transport.getResponseHeader(name);
- },
-
- getAllResponseHeaders: function() {
- return this.transport.getAllResponseHeaders();
- },
-
- _getHeaderJSON: function() {
- var json = this.getHeader('X-JSON');
- if (!json) return null;
- json = decodeURIComponent(escape(json));
- try {
- return json.evalJSON(this.request.options.sanitizeJSON ||
- !this.request.isSameOrigin());
- } catch (e) {
- this.request.dispatchException(e);
- }
- },
-
- _getResponseJSON: function() {
- var options = this.request.options;
- if (!options.evalJSON || (options.evalJSON != 'force' &&
- !(this.getHeader('Content-type') || '').include('application/json')) ||
- this.responseText.blank())
- return null;
- try {
- return this.responseText.evalJSON(options.sanitizeJSON ||
- !this.request.isSameOrigin());
- } catch (e) {
- this.request.dispatchException(e);
- }
- }
-});
-
-Ajax.Updater = Class.create(Ajax.Request, {
- initialize: function($super, container, url, options) {
- this.container = {
- success: (container.success || container),
- failure: (container.failure || (container.success ? null : container))
- };
-
- options = Object.clone(options);
- var onComplete = options.onComplete;
- options.onComplete = (function(response, json) {
- this.updateContent(response.responseText);
- if (Object.isFunction(onComplete)) onComplete(response, json);
- }).bind(this);
-
- $super(url, options);
- },
-
- updateContent: function(responseText) {
- var receiver = this.container[this.success() ? 'success' : 'failure'],
- options = this.options;
-
- if (!options.evalScripts) responseText = responseText.stripScripts();
-
- if (receiver = $(receiver)) {
- if (options.insertion) {
- if (Object.isString(options.insertion)) {
- var insertion = { }; insertion[options.insertion] = responseText;
- receiver.insert(insertion);
- }
- else options.insertion(receiver, responseText);
- }
- else receiver.update(responseText);
- }
- }
-});
-
-Ajax.PeriodicalUpdater = Class.create(Ajax.Base, {
- initialize: function($super, container, url, options) {
- $super(options);
- this.onComplete = this.options.onComplete;
-
- this.frequency = (this.options.frequency || 2);
- this.decay = (this.options.decay || 1);
-
- this.updater = { };
- this.container = container;
- this.url = url;
-
- this.start();
- },
-
- start: function() {
- this.options.onComplete = this.updateComplete.bind(this);
- this.onTimerEvent();
- },
-
- stop: function() {
- this.updater.options.onComplete = undefined;
- clearTimeout(this.timer);
- (this.onComplete || Prototype.emptyFunction).apply(this, arguments);
- },
-
- updateComplete: function(response) {
- if (this.options.decay) {
- this.decay = (response.responseText == this.lastText ?
- this.decay * this.options.decay : 1);
-
- this.lastText = response.responseText;
- }
- this.timer = this.onTimerEvent.bind(this).delay(this.decay * this.frequency);
- },
-
- onTimerEvent: function() {
- this.updater = new Ajax.Updater(this.container, this.url, this.options);
- }
-});
-function $(element) {
- if (arguments.length > 1) {
- for (var i = 0, elements = [], length = arguments.length; i < length; i++)
- elements.push($(arguments[i]));
- return elements;
- }
- if (Object.isString(element))
- element = document.getElementById(element);
- return Element.extend(element);
-}
-
-if (Prototype.BrowserFeatures.XPath) {
- document._getElementsByXPath = function(expression, parentElement) {
- var results = [];
- var query = document.evaluate(expression, $(parentElement) || document,
- null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);
- for (var i = 0, length = query.snapshotLength; i < length; i++)
- results.push(Element.extend(query.snapshotItem(i)));
- return results;
- };
-}
-
-/*--------------------------------------------------------------------------*/
-
-if (!window.Node) var Node = { };
-
-if (!Node.ELEMENT_NODE) {
- // DOM level 2 ECMAScript Language Binding
- Object.extend(Node, {
- ELEMENT_NODE: 1,
- ATTRIBUTE_NODE: 2,
- TEXT_NODE: 3,
- CDATA_SECTION_NODE: 4,
- ENTITY_REFERENCE_NODE: 5,
- ENTITY_NODE: 6,
- PROCESSING_INSTRUCTION_NODE: 7,
- COMMENT_NODE: 8,
- DOCUMENT_NODE: 9,
- DOCUMENT_TYPE_NODE: 10,
- DOCUMENT_FRAGMENT_NODE: 11,
- NOTATION_NODE: 12
- });
-}
-
-(function() {
- var element = this.Element;
- this.Element = function(tagName, attributes) {
- attributes = attributes || { };
- tagName = tagName.toLowerCase();
- var cache = Element.cache;
- if (Prototype.Browser.IE && attributes.name) {
- tagName = '<' + tagName + ' name="' + attributes.name + '">';
- delete attributes.name;
- return Element.writeAttribute(document.createElement(tagName), attributes);
- }
- if (!cache[tagName]) cache[tagName] = Element.extend(document.createElement(tagName));
- return Element.writeAttribute(cache[tagName].cloneNode(false), attributes);
- };
- Object.extend(this.Element, element || { });
- if (element) this.Element.prototype = element.prototype;
-}).call(window);
-
-Element.cache = { };
-
-Element.Methods = {
- visible: function(element) {
- return $(element).style.display != 'none';
- },
-
- toggle: function(element) {
- element = $(element);
- Element[Element.visible(element) ? 'hide' : 'show'](element);
- return element;
- },
-
- hide: function(element) {
- element = $(element);
- element.style.display = 'none';
- return element;
- },
-
- show: function(element) {
- element = $(element);
- element.style.display = '';
- return element;
- },
-
- remove: function(element) {
- element = $(element);
- element.parentNode.removeChild(element);
- return element;
- },
-
- update: function(element, content) {
- element = $(element);
- if (content && content.toElement) content = content.toElement();
- if (Object.isElement(content)) return element.update().insert(content);
- content = Object.toHTML(content);
- element.innerHTML = content.stripScripts();
- content.evalScripts.bind(content).defer();
- return element;
- },
-
- replace: function(element, content) {
- element = $(element);
- if (content && content.toElement) content = content.toElement();
- else if (!Object.isElement(content)) {
- content = Object.toHTML(content);
- var range = element.ownerDocument.createRange();
- range.selectNode(element);
- content.evalScripts.bind(content).defer();
- content = range.createContextualFragment(content.stripScripts());
- }
- element.parentNode.replaceChild(content, element);
- return element;
- },
-
- insert: function(element, insertions) {
- element = $(element);
-
- if (Object.isString(insertions) || Object.isNumber(insertions) ||
- Object.isElement(insertions) || (insertions && (insertions.toElement || insertions.toHTML)))
- insertions = {bottom:insertions};
-
- var content, insert, tagName, childNodes;
-
- for (var position in insertions) {
- content = insertions[position];
- position = position.toLowerCase();
- insert = Element._insertionTranslations[position];
-
- if (content && content.toElement) content = content.toElement();
- if (Object.isElement(content)) {
- insert(element, content);
- continue;
- }
-
- content = Object.toHTML(content);
-
- tagName = ((position == 'before' || position == 'after')
- ? element.parentNode : element).tagName.toUpperCase();
-
- childNodes = Element._getContentFromAnonymousElement(tagName, content.stripScripts());
-
- if (position == 'top' || position == 'after') childNodes.reverse();
- childNodes.each(insert.curry(element));
-
- content.evalScripts.bind(content).defer();
- }
-
- return element;
- },
-
- wrap: function(element, wrapper, attributes) {
- element = $(element);
- if (Object.isElement(wrapper))
- $(wrapper).writeAttribute(attributes || { });
- else if (Object.isString(wrapper)) wrapper = new Element(wrapper, attributes);
- else wrapper = new Element('div', wrapper);
- if (element.parentNode)
- element.parentNode.replaceChild(wrapper, element);
- wrapper.appendChild(element);
- return wrapper;
- },
-
- inspect: function(element) {
- element = $(element);
- var result = '<' + element.tagName.toLowerCase();
- $H({'id': 'id', 'className': 'class'}).each(function(pair) {
- var property = pair.first(), attribute = pair.last();
- var value = (element[property] || '').toString();
- if (value) result += ' ' + attribute + '=' + value.inspect(true);
- });
- return result + '>';
- },
-
- recursivelyCollect: function(element, property) {
- element = $(element);
- var elements = [];
- while (element = element[property])
- if (element.nodeType == 1)
- elements.push(Element.extend(element));
- return elements;
- },
-
- ancestors: function(element) {
- return $(element).recursivelyCollect('parentNode');
- },
-
- descendants: function(element) {
- return $(element).select("*");
- },
-
- firstDescendant: function(element) {
- element = $(element).firstChild;
- while (element && element.nodeType != 1) element = element.nextSibling;
- return $(element);
- },
-
- immediateDescendants: function(element) {
- if (!(element = $(element).firstChild)) return [];
- while (element && element.nodeType != 1) element = element.nextSibling;
- if (element) return [element].concat($(element).nextSiblings());
- return [];
- },
-
- previousSiblings: function(element) {
- return $(element).recursivelyCollect('previousSibling');
- },
-
- nextSiblings: function(element) {
- return $(element).recursivelyCollect('nextSibling');
- },
-
- siblings: function(element) {
- element = $(element);
- return element.previousSiblings().reverse().concat(element.nextSiblings());
- },
-
- match: function(element, selector) {
- if (Object.isString(selector))
- selector = new Selector(selector);
- return selector.match($(element));
- },
-
- up: function(element, expression, index) {
- element = $(element);
- if (arguments.length == 1) return $(element.parentNode);
- var ancestors = element.ancestors();
- return Object.isNumber(expression) ? ancestors[expression] :
- Selector.findElement(ancestors, expression, index);
- },
-
- down: function(element, expression, index) {
- element = $(element);
- if (arguments.length == 1) return element.firstDescendant();
- return Object.isNumber(expression) ? element.descendants()[expression] :
- Element.select(element, expression)[index || 0];
- },
-
- previous: function(element, expression, index) {
- element = $(element);
- if (arguments.length == 1) return $(Selector.handlers.previousElementSibling(element));
- var previousSiblings = element.previousSiblings();
- return Object.isNumber(expression) ? previousSiblings[expression] :
- Selector.findElement(previousSiblings, expression, index);
- },
-
- next: function(element, expression, index) {
- element = $(element);
- if (arguments.length == 1) return $(Selector.handlers.nextElementSibling(element));
- var nextSiblings = element.nextSiblings();
- return Object.isNumber(expression) ? nextSiblings[expression] :
- Selector.findElement(nextSiblings, expression, index);
- },
-
- select: function() {
- var args = $A(arguments), element = $(args.shift());
- return Selector.findChildElements(element, args);
- },
-
- adjacent: function() {
- var args = $A(arguments), element = $(args.shift());
- return Selector.findChildElements(element.parentNode, args).without(element);
- },
-
- identify: function(element) {
- element = $(element);
- var id = element.readAttribute('id'), self = arguments.callee;
- if (id) return id;
- do { id = 'anonymous_element_' + self.counter++ } while ($(id));
- element.writeAttribute('id', id);
- return id;
- },
-
- readAttribute: function(element, name) {
- element = $(element);
- if (Prototype.Browser.IE) {
- var t = Element._attributeTranslations.read;
- if (t.values[name]) return t.values[name](element, name);
- if (t.names[name]) name = t.names[name];
- if (name.include(':')) {
- return (!element.attributes || !element.attributes[name]) ? null :
- element.attributes[name].value;
- }
- }
- return element.getAttribute(name);
- },
-
- writeAttribute: function(element, name, value) {
- element = $(element);
- var attributes = { }, t = Element._attributeTranslations.write;
-
- if (typeof name == 'object') attributes = name;
- else attributes[name] = Object.isUndefined(value) ? true : value;
-
- for (var attr in attributes) {
- name = t.names[attr] || attr;
- value = attributes[attr];
- if (t.values[attr]) name = t.values[attr](element, value);
- if (value === false || value === null)
- element.removeAttribute(name);
- else if (value === true)
- element.setAttribute(name, name);
- else element.setAttribute(name, value);
- }
- return element;
- },
-
- getHeight: function(element) {
- return $(element).getDimensions().height;
- },
-
- getWidth: function(element) {
- return $(element).getDimensions().width;
- },
-
- classNames: function(element) {
- return new Element.ClassNames(element);
- },
-
- hasClassName: function(element, className) {
- if (!(element = $(element))) return;
- var elementClassName = element.className;
- return (elementClassName.length > 0 && (elementClassName == className ||
- new RegExp("(^|\\s)" + className + "(\\s|$)").test(elementClassName)));
- },
-
- addClassName: function(element, className) {
- if (!(element = $(element))) return;
- if (!element.hasClassName(className))
- element.className += (element.className ? ' ' : '') + className;
- return element;
- },
-
- removeClassName: function(element, className) {
- if (!(element = $(element))) return;
- element.className = element.className.replace(
- new RegExp("(^|\\s+)" + className + "(\\s+|$)"), ' ').strip();
- return element;
- },
-
- toggleClassName: function(element, className) {
- if (!(element = $(element))) return;
- return element[element.hasClassName(className) ?
- 'removeClassName' : 'addClassName'](className);
- },
-
- // removes whitespace-only text node children
- cleanWhitespace: function(element) {
- element = $(element);
- var node = element.firstChild;
- while (node) {
- var nextNode = node.nextSibling;
- if (node.nodeType == 3 && !/\S/.test(node.nodeValue))
- element.removeChild(node);
- node = nextNode;
- }
- return element;
- },
-
- empty: function(element) {
- return $(element).innerHTML.blank();
- },
-
- descendantOf: function(element, ancestor) {
- element = $(element), ancestor = $(ancestor);
-
- if (element.compareDocumentPosition)
- return (element.compareDocumentPosition(ancestor) & 8) === 8;
-
- if (ancestor.contains)
- return ancestor.contains(element) && ancestor !== element;
-
- while (element = element.parentNode)
- if (element == ancestor) return true;
-
- return false;
- },
-
- scrollTo: function(element) {
- element = $(element);
- var pos = element.cumulativeOffset();
- window.scrollTo(pos[0], pos[1]);
- return element;
- },
-
- getStyle: function(element, style) {
- element = $(element);
- style = style == 'float' ? 'cssFloat' : style.camelize();
- var value = element.style[style];
- if (!value || value == 'auto') {
- var css = document.defaultView.getComputedStyle(element, null);
- value = css ? css[style] : null;
- }
- if (style == 'opacity') return value ? parseFloat(value) : 1.0;
- return value == 'auto' ? null : value;
- },
-
- getOpacity: function(element) {
- return $(element).getStyle('opacity');
- },
-
- setStyle: function(element, styles) {
- element = $(element);
- var elementStyle = element.style, match;
- if (Object.isString(styles)) {
- element.style.cssText += ';' + styles;
- return styles.include('opacity') ?
- element.setOpacity(styles.match(/opacity:\s*(\d?\.?\d*)/)[1]) : element;
- }
- for (var property in styles)
- if (property == 'opacity') element.setOpacity(styles[property]);
- else
- elementStyle[(property == 'float' || property == 'cssFloat') ?
- (Object.isUndefined(elementStyle.styleFloat) ? 'cssFloat' : 'styleFloat') :
- property] = styles[property];
-
- return element;
- },
-
- setOpacity: function(element, value) {
- element = $(element);
- element.style.opacity = (value == 1 || value === '') ? '' :
- (value < 0.00001) ? 0 : value;
- return element;
- },
-
- getDimensions: function(element) {
- element = $(element);
- var display = element.getStyle('display');
- if (display != 'none' && display != null) // Safari bug
- return {width: element.offsetWidth, height: element.offsetHeight};
-
- // All *Width and *Height properties give 0 on elements with display none,
- // so enable the element temporarily
- var els = element.style;
- var originalVisibility = els.visibility;
- var originalPosition = els.position;
- var originalDisplay = els.display;
- els.visibility = 'hidden';
- els.position = 'absolute';
- els.display = 'block';
- var originalWidth = element.clientWidth;
- var originalHeight = element.clientHeight;
- els.display = originalDisplay;
- els.position = originalPosition;
- els.visibility = originalVisibility;
- return {width: originalWidth, height: originalHeight};
- },
-
- makePositioned: function(element) {
- element = $(element);
- var pos = Element.getStyle(element, 'position');
- if (pos == 'static' || !pos) {
- element._madePositioned = true;
- element.style.position = 'relative';
- // Opera returns the offset relative to the positioning context, when an
- // element is position relative but top and left have not been defined
- if (Prototype.Browser.Opera) {
- element.style.top = 0;
- element.style.left = 0;
- }
- }
- return element;
- },
-
- undoPositioned: function(element) {
- element = $(element);
- if (element._madePositioned) {
- element._madePositioned = undefined;
- element.style.position =
- element.style.top =
- element.style.left =
- element.style.bottom =
- element.style.right = '';
- }
- return element;
- },
-
- makeClipping: function(element) {
- element = $(element);
- if (element._overflow) return element;
- element._overflow = Element.getStyle(element, 'overflow') || 'auto';
- if (element._overflow !== 'hidden')
- element.style.overflow = 'hidden';
- return element;
- },
-
- undoClipping: function(element) {
- element = $(element);
- if (!element._overflow) return element;
- element.style.overflow = element._overflow == 'auto' ? '' : element._overflow;
- element._overflow = null;
- return element;
- },
-
- cumulativeOffset: function(element) {
- var valueT = 0, valueL = 0;
- do {
- valueT += element.offsetTop || 0;
- valueL += element.offsetLeft || 0;
- element = element.offsetParent;
- } while (element);
- return Element._returnOffset(valueL, valueT);
- },
-
- positionedOffset: function(element) {
- var valueT = 0, valueL = 0;
- do {
- valueT += element.offsetTop || 0;
- valueL += element.offsetLeft || 0;
- element = element.offsetParent;
- if (element) {
- if (element.tagName.toUpperCase() == 'BODY') break;
- var p = Element.getStyle(element, 'position');
- if (p !== 'static') break;
- }
- } while (element);
- return Element._returnOffset(valueL, valueT);
- },
-
- absolutize: function(element) {
- element = $(element);
- if (element.getStyle('position') == 'absolute') return element;
- // Position.prepare(); // To be done manually by Scripty when it needs it.
-
- var offsets = element.positionedOffset();
- var top = offsets[1];
- var left = offsets[0];
- var width = element.clientWidth;
- var height = element.clientHeight;
-
- element._originalLeft = left - parseFloat(element.style.left || 0);
- element._originalTop = top - parseFloat(element.style.top || 0);
- element._originalWidth = element.style.width;
- element._originalHeight = element.style.height;
-
- element.style.position = 'absolute';
- element.style.top = top + 'px';
- element.style.left = left + 'px';
- element.style.width = width + 'px';
- element.style.height = height + 'px';
- return element;
- },
-
- relativize: function(element) {
- element = $(element);
- if (element.getStyle('position') == 'relative') return element;
- // Position.prepare(); // To be done manually by Scripty when it needs it.
-
- element.style.position = 'relative';
- var top = parseFloat(element.style.top || 0) - (element._originalTop || 0);
- var left = parseFloat(element.style.left || 0) - (element._originalLeft || 0);
-
- element.style.top = top + 'px';
- element.style.left = left + 'px';
- element.style.height = element._originalHeight;
- element.style.width = element._originalWidth;
- return element;
- },
-
- cumulativeScrollOffset: function(element) {
- var valueT = 0, valueL = 0;
- do {
- valueT += element.scrollTop || 0;
- valueL += element.scrollLeft || 0;
- element = element.parentNode;
- } while (element);
- return Element._returnOffset(valueL, valueT);
- },
-
- getOffsetParent: function(element) {
- if (element.offsetParent) return $(element.offsetParent);
- if (element == document.body) return $(element);
-
- while ((element = element.parentNode) && element != document.body)
- if (Element.getStyle(element, 'position') != 'static')
- return $(element);
-
- return $(document.body);
- },
-
- viewportOffset: function(forElement) {
- var valueT = 0, valueL = 0;
-
- var element = forElement;
- do {
- valueT += element.offsetTop || 0;
- valueL += element.offsetLeft || 0;
-
- // Safari fix
- if (element.offsetParent == document.body &&
- Element.getStyle(element, 'position') == 'absolute') break;
-
- } while (element = element.offsetParent);
-
- element = forElement;
- do {
- if (!Prototype.Browser.Opera || (element.tagName && (element.tagName.toUpperCase() == 'BODY'))) {
- valueT -= element.scrollTop || 0;
- valueL -= element.scrollLeft || 0;
- }
- } while (element = element.parentNode);
-
- return Element._returnOffset(valueL, valueT);
- },
-
- clonePosition: function(element, source) {
- var options = Object.extend({
- setLeft: true,
- setTop: true,
- setWidth: true,
- setHeight: true,
- offsetTop: 0,
- offsetLeft: 0
- }, arguments[2] || { });
-
- // find page position of source
- source = $(source);
- var p = source.viewportOffset();
-
- // find coordinate system to use
- element = $(element);
- var delta = [0, 0];
- var parent = null;
- // delta [0,0] will do fine with position: fixed elements,
- // position:absolute needs offsetParent deltas
- if (Element.getStyle(element, 'position') == 'absolute') {
- parent = element.getOffsetParent();
- delta = parent.viewportOffset();
- }
-
- // correct by body offsets (fixes Safari)
- if (parent == document.body) {
- delta[0] -= document.body.offsetLeft;
- delta[1] -= document.body.offsetTop;
- }
-
- // set position
- if (options.setLeft) element.style.left = (p[0] - delta[0] + options.offsetLeft) + 'px';
- if (options.setTop) element.style.top = (p[1] - delta[1] + options.offsetTop) + 'px';
- if (options.setWidth) element.style.width = source.offsetWidth + 'px';
- if (options.setHeight) element.style.height = source.offsetHeight + 'px';
- return element;
- }
-};
-
-Element.Methods.identify.counter = 1;
-
-Object.extend(Element.Methods, {
- getElementsBySelector: Element.Methods.select,
- childElements: Element.Methods.immediateDescendants
-});
-
-Element._attributeTranslations = {
- write: {
- names: {
- className: 'class',
- htmlFor: 'for'
- },
- values: { }
- }
-};
-
-if (Prototype.Browser.Opera) {
- Element.Methods.getStyle = Element.Methods.getStyle.wrap(
- function(proceed, element, style) {
- switch (style) {
- case 'left': case 'top': case 'right': case 'bottom':
- if (proceed(element, 'position') === 'static') return null;
- case 'height': case 'width':
- // returns '0px' for hidden elements; we want it to return null
- if (!Element.visible(element)) return null;
-
- // returns the border-box dimensions rather than the content-box
- // dimensions, so we subtract padding and borders from the value
- var dim = parseInt(proceed(element, style), 10);
-
- if (dim !== element['offset' + style.capitalize()])
- return dim + 'px';
-
- var properties;
- if (style === 'height') {
- properties = ['border-top-width', 'padding-top',
- 'padding-bottom', 'border-bottom-width'];
- }
- else {
- properties = ['border-left-width', 'padding-left',
- 'padding-right', 'border-right-width'];
- }
- return properties.inject(dim, function(memo, property) {
- var val = proceed(element, property);
- return val === null ? memo : memo - parseInt(val, 10);
- }) + 'px';
- default: return proceed(element, style);
- }
- }
- );
-
- Element.Methods.readAttribute = Element.Methods.readAttribute.wrap(
- function(proceed, element, attribute) {
- if (attribute === 'title') return element.title;
- return proceed(element, attribute);
- }
- );
-}
-
-else if (Prototype.Browser.IE) {
- // IE doesn't report offsets correctly for static elements, so we change them
- // to "relative" to get the values, then change them back.
- Element.Methods.getOffsetParent = Element.Methods.getOffsetParent.wrap(
- function(proceed, element) {
- element = $(element);
- // IE throws an error if element is not in document
- try { element.offsetParent }
- catch(e) { return $(document.body) }
- var position = element.getStyle('position');
- if (position !== 'static') return proceed(element);
- element.setStyle({ position: 'relative' });
- var value = proceed(element);
- element.setStyle({ position: position });
- return value;
- }
- );
-
- $w('positionedOffset viewportOffset').each(function(method) {
- Element.Methods[method] = Element.Methods[method].wrap(
- function(proceed, element) {
- element = $(element);
- try { element.offsetParent }
- catch(e) { return Element._returnOffset(0,0) }
- var position = element.getStyle('position');
- if (position !== 'static') return proceed(element);
- // Trigger hasLayout on the offset parent so that IE6 reports
- // accurate offsetTop and offsetLeft values for position: fixed.
- var offsetParent = element.getOffsetParent();
- if (offsetParent && offsetParent.getStyle('position') === 'fixed')
- offsetParent.setStyle({ zoom: 1 });
- element.setStyle({ position: 'relative' });
- var value = proceed(element);
- element.setStyle({ position: position });
- return value;
- }
- );
- });
-
- Element.Methods.cumulativeOffset = Element.Methods.cumulativeOffset.wrap(
- function(proceed, element) {
- try { element.offsetParent }
- catch(e) { return Element._returnOffset(0,0) }
- return proceed(element);
- }
- );
-
- Element.Methods.getStyle = function(element, style) {
- element = $(element);
- style = (style == 'float' || style == 'cssFloat') ? 'styleFloat' : style.camelize();
- var value = element.style[style];
- if (!value && element.currentStyle) value = element.currentStyle[style];
-
- if (style == 'opacity') {
- if (value = (element.getStyle('filter') || '').match(/alpha\(opacity=(.*)\)/))
- if (value[1]) return parseFloat(value[1]) / 100;
- return 1.0;
- }
-
- if (value == 'auto') {
- if ((style == 'width' || style == 'height') && (element.getStyle('display') != 'none'))
- return element['offset' + style.capitalize()] + 'px';
- return null;
- }
- return value;
- };
-
- Element.Methods.setOpacity = function(element, value) {
- function stripAlpha(filter){
- return filter.replace(/alpha\([^\)]*\)/gi,'');
- }
- element = $(element);
- var currentStyle = element.currentStyle;
- if ((currentStyle && !currentStyle.hasLayout) ||
- (!currentStyle && element.style.zoom == 'normal'))
- element.style.zoom = 1;
-
- var filter = element.getStyle('filter'), style = element.style;
- if (value == 1 || value === '') {
- (filter = stripAlpha(filter)) ?
- style.filter = filter : style.removeAttribute('filter');
- return element;
- } else if (value < 0.00001) value = 0;
- style.filter = stripAlpha(filter) +
- 'alpha(opacity=' + (value * 100) + ')';
- return element;
- };
-
- Element._attributeTranslations = {
- read: {
- names: {
- 'class': 'className',
- 'for': 'htmlFor'
- },
- values: {
- _getAttr: function(element, attribute) {
- return element.getAttribute(attribute, 2);
- },
- _getAttrNode: function(element, attribute) {
- var node = element.getAttributeNode(attribute);
- return node ? node.value : "";
- },
- _getEv: function(element, attribute) {
- attribute = element.getAttribute(attribute);
- return attribute ? attribute.toString().slice(23, -2) : null;
- },
- _flag: function(element, attribute) {
- return $(element).hasAttribute(attribute) ? attribute : null;
- },
- style: function(element) {
- return element.style.cssText.toLowerCase();
- },
- title: function(element) {
- return element.title;
- }
- }
- }
- };
-
- Element._attributeTranslations.write = {
- names: Object.extend({
- cellpadding: 'cellPadding',
- cellspacing: 'cellSpacing'
- }, Element._attributeTranslations.read.names),
- values: {
- checked: function(element, value) {
- element.checked = !!value;
- },
-
- style: function(element, value) {
- element.style.cssText = value ? value : '';
- }
- }
- };
-
- Element._attributeTranslations.has = {};
-
- $w('colSpan rowSpan vAlign dateTime accessKey tabIndex ' +
- 'encType maxLength readOnly longDesc frameBorder').each(function(attr) {
- Element._attributeTranslations.write.names[attr.toLowerCase()] = attr;
- Element._attributeTranslations.has[attr.toLowerCase()] = attr;
- });
-
- (function(v) {
- Object.extend(v, {
- href: v._getAttr,
- src: v._getAttr,
- type: v._getAttr,
- action: v._getAttrNode,
- disabled: v._flag,
- checked: v._flag,
- readonly: v._flag,
- multiple: v._flag,
- onload: v._getEv,
- onunload: v._getEv,
- onclick: v._getEv,
- ondblclick: v._getEv,
- onmousedown: v._getEv,
- onmouseup: v._getEv,
- onmouseover: v._getEv,
- onmousemove: v._getEv,
- onmouseout: v._getEv,
- onfocus: v._getEv,
- onblur: v._getEv,
- onkeypress: v._getEv,
- onkeydown: v._getEv,
- onkeyup: v._getEv,
- onsubmit: v._getEv,
- onreset: v._getEv,
- onselect: v._getEv,
- onchange: v._getEv
- });
- })(Element._attributeTranslations.read.values);
-}
-
-else if (Prototype.Browser.Gecko && /rv:1\.8\.0/.test(navigator.userAgent)) {
- Element.Methods.setOpacity = function(element, value) {
- element = $(element);
- element.style.opacity = (value == 1) ? 0.999999 :
- (value === '') ? '' : (value < 0.00001) ? 0 : value;
- return element;
- };
-}
-
-else if (Prototype.Browser.WebKit) {
- Element.Methods.setOpacity = function(element, value) {
- element = $(element);
- element.style.opacity = (value == 1 || value === '') ? '' :
- (value < 0.00001) ? 0 : value;
-
- if (value == 1)
- if(element.tagName.toUpperCase() == 'IMG' && element.width) {
- element.width++; element.width--;
- } else try {
- var n = document.createTextNode(' ');
- element.appendChild(n);
- element.removeChild(n);
- } catch (e) { }
-
- return element;
- };
-
- // Safari returns margins on body which is incorrect if the child is absolutely
- // positioned. For performance reasons, redefine Element#cumulativeOffset for
- // KHTML/WebKit only.
- Element.Methods.cumulativeOffset = function(element) {
- var valueT = 0, valueL = 0;
- do {
- valueT += element.offsetTop || 0;
- valueL += element.offsetLeft || 0;
- if (element.offsetParent == document.body)
- if (Element.getStyle(element, 'position') == 'absolute') break;
-
- element = element.offsetParent;
- } while (element);
-
- return Element._returnOffset(valueL, valueT);
- };
-}
-
-if (Prototype.Browser.IE || Prototype.Browser.Opera) {
- // IE and Opera are missing .innerHTML support for TABLE-related and SELECT elements
- Element.Methods.update = function(element, content) {
- element = $(element);
-
- if (content && content.toElement) content = content.toElement();
- if (Object.isElement(content)) return element.update().insert(content);
-
- content = Object.toHTML(content);
- var tagName = element.tagName.toUpperCase();
-
- if (tagName in Element._insertionTranslations.tags) {
- $A(element.childNodes).each(function(node) { element.removeChild(node) });
- Element._getContentFromAnonymousElement(tagName, content.stripScripts())
- .each(function(node) { element.appendChild(node) });
- }
- else element.innerHTML = content.stripScripts();
-
- content.evalScripts.bind(content).defer();
- return element;
- };
-}
-
-if ('outerHTML' in document.createElement('div')) {
- Element.Methods.replace = function(element, content) {
- element = $(element);
-
- if (content && content.toElement) content = content.toElement();
- if (Object.isElement(content)) {
- element.parentNode.replaceChild(content, element);
- return element;
- }
-
- content = Object.toHTML(content);
- var parent = element.parentNode, tagName = parent.tagName.toUpperCase();
-
- if (Element._insertionTranslations.tags[tagName]) {
- var nextSibling = element.next();
- var fragments = Element._getContentFromAnonymousElement(tagName, content.stripScripts());
- parent.removeChild(element);
- if (nextSibling)
- fragments.each(function(node) { parent.insertBefore(node, nextSibling) });
- else
- fragments.each(function(node) { parent.appendChild(node) });
- }
- else element.outerHTML = content.stripScripts();
-
- content.evalScripts.bind(content).defer();
- return element;
- };
-}
-
-Element._returnOffset = function(l, t) {
- var result = [l, t];
- result.left = l;
- result.top = t;
- return result;
-};
-
-Element._getContentFromAnonymousElement = function(tagName, html) {
- var div = new Element('div'), t = Element._insertionTranslations.tags[tagName];
- if (t) {
- div.innerHTML = t[0] + html + t[1];
- t[2].times(function() { div = div.firstChild });
- } else div.innerHTML = html;
- return $A(div.childNodes);
-};
-
-Element._insertionTranslations = {
- before: function(element, node) {
- element.parentNode.insertBefore(node, element);
- },
- top: function(element, node) {
- element.insertBefore(node, element.firstChild);
- },
- bottom: function(element, node) {
- element.appendChild(node);
- },
- after: function(element, node) {
- element.parentNode.insertBefore(node, element.nextSibling);
- },
- tags: {
- TABLE: ['<table>', '</table>', 1],
- TBODY: ['<table><tbody>', '</tbody></table>', 2],
- TR: ['<table><tbody><tr>', '</tr></tbody></table>', 3],
- TD: ['<table><tbody><tr><td>', '</td></tr></tbody></table>', 4],
- SELECT: ['<select>', '</select>', 1]
- }
-};
-
-(function() {
- Object.extend(this.tags, {
- THEAD: this.tags.TBODY,
- TFOOT: this.tags.TBODY,
- TH: this.tags.TD
- });
-}).call(Element._insertionTranslations);
-
-Element.Methods.Simulated = {
- hasAttribute: function(element, attribute) {
- attribute = Element._attributeTranslations.has[attribute] || attribute;
- var node = $(element).getAttributeNode(attribute);
- return !!(node && node.specified);
- }
-};
-
-Element.Methods.ByTag = { };
-
-Object.extend(Element, Element.Methods);
-
-if (!Prototype.BrowserFeatures.ElementExtensions &&
- document.createElement('div')['__proto__']) {
- window.HTMLElement = { };
- window.HTMLElement.prototype = document.createElement('div')['__proto__'];
- Prototype.BrowserFeatures.ElementExtensions = true;
-}
-
-Element.extend = (function() {
- if (Prototype.BrowserFeatures.SpecificElementExtensions)
- return Prototype.K;
-
- var Methods = { }, ByTag = Element.Methods.ByTag;
-
- var extend = Object.extend(function(element) {
- if (!element || element._extendedByPrototype ||
- element.nodeType != 1 || element == window) return element;
-
- var methods = Object.clone(Methods),
- tagName = element.tagName.toUpperCase(), property, value;
-
- // extend methods for specific tags
- if (ByTag[tagName]) Object.extend(methods, ByTag[tagName]);
-
- for (property in methods) {
- value = methods[property];
- if (Object.isFunction(value) && !(property in element))
- element[property] = value.methodize();
- }
-
- element._extendedByPrototype = Prototype.emptyFunction;
- return element;
-
- }, {
- refresh: function() {
- // extend methods for all tags (Safari doesn't need this)
- if (!Prototype.BrowserFeatures.ElementExtensions) {
- Object.extend(Methods, Element.Methods);
- Object.extend(Methods, Element.Methods.Simulated);
- }
- }
- });
-
- extend.refresh();
- return extend;
-})();
-
-Element.hasAttribute = function(element, attribute) {
- if (element.hasAttribute) return element.hasAttribute(attribute);
- return Element.Methods.Simulated.hasAttribute(element, attribute);
-};
-
-Element.addMethods = function(methods) {
- var F = Prototype.BrowserFeatures, T = Element.Methods.ByTag;
-
- if (!methods) {
- Object.extend(Form, Form.Methods);
- Object.extend(Form.Element, Form.Element.Methods);
- Object.extend(Element.Methods.ByTag, {
- "FORM": Object.clone(Form.Methods),
- "INPUT": Object.clone(Form.Element.Methods),
- "SELECT": Object.clone(Form.Element.Methods),
- "TEXTAREA": Object.clone(Form.Element.Methods)
- });
- }
-
- if (arguments.length == 2) {
- var tagName = methods;
- methods = arguments[1];
- }
-
- if (!tagName) Object.extend(Element.Methods, methods || { });
- else {
- if (Object.isArray(tagName)) tagName.each(extend);
- else extend(tagName);
- }
-
- function extend(tagName) {
- tagName = tagName.toUpperCase();
- if (!Element.Methods.ByTag[tagName])
- Element.Methods.ByTag[tagName] = { };
- Object.extend(Element.Methods.ByTag[tagName], methods);
- }
-
- function copy(methods, destination, onlyIfAbsent) {
- onlyIfAbsent = onlyIfAbsent || false;
- for (var property in methods) {
- var value = methods[property];
- if (!Object.isFunction(value)) continue;
- if (!onlyIfAbsent || !(property in destination))
- destination[property] = value.methodize();
- }
- }
-
- function findDOMClass(tagName) {
- var klass;
- var trans = {
- "OPTGROUP": "OptGroup", "TEXTAREA": "TextArea", "P": "Paragraph",
- "FIELDSET": "FieldSet", "UL": "UList", "OL": "OList", "DL": "DList",
- "DIR": "Directory", "H1": "Heading", "H2": "Heading", "H3": "Heading",
- "H4": "Heading", "H5": "Heading", "H6": "Heading", "Q": "Quote",
- "INS": "Mod", "DEL": "Mod", "A": "Anchor", "IMG": "Image", "CAPTION":
- "TableCaption", "COL": "TableCol", "COLGROUP": "TableCol", "THEAD":
- "TableSection", "TFOOT": "TableSection", "TBODY": "TableSection", "TR":
- "TableRow", "TH": "TableCell", "TD": "TableCell", "FRAMESET":
- "FrameSet", "IFRAME": "IFrame"
- };
- if (trans[tagName]) klass = 'HTML' + trans[tagName] + 'Element';
- if (window[klass]) return window[klass];
- klass = 'HTML' + tagName + 'Element';
- if (window[klass]) return window[klass];
- klass = 'HTML' + tagName.capitalize() + 'Element';
- if (window[klass]) return window[klass];
-
- window[klass] = { };
- window[klass].prototype = document.createElement(tagName)['__proto__'];
- return window[klass];
- }
-
- if (F.ElementExtensions) {
- copy(Element.Methods, HTMLElement.prototype);
- copy(Element.Methods.Simulated, HTMLElement.prototype, true);
- }
-
- if (F.SpecificElementExtensions) {
- for (var tag in Element.Methods.ByTag) {
- var klass = findDOMClass(tag);
- if (Object.isUndefined(klass)) continue;
- copy(T[tag], klass.prototype);
- }
- }
-
- Object.extend(Element, Element.Methods);
- delete Element.ByTag;
-
- if (Element.extend.refresh) Element.extend.refresh();
- Element.cache = { };
-};
-
-document.viewport = {
- getDimensions: function() {
- var dimensions = { }, B = Prototype.Browser;
- $w('width height').each(function(d) {
- var D = d.capitalize();
- if (B.WebKit && !document.evaluate) {
- // Safari <3.0 needs self.innerWidth/Height
- dimensions[d] = self['inner' + D];
- } else if (B.Opera && parseFloat(window.opera.version()) < 9.5) {
- // Opera <9.5 needs document.body.clientWidth/Height
- dimensions[d] = document.body['client' + D]
- } else {
- dimensions[d] = document.documentElement['client' + D];
- }
- });
- return dimensions;
- },
-
- getWidth: function() {
- return this.getDimensions().width;
- },
-
- getHeight: function() {
- return this.getDimensions().height;
- },
-
- getScrollOffsets: function() {
- return Element._returnOffset(
- window.pageXOffset || document.documentElement.scrollLeft || document.body.scrollLeft,
- window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop);
- }
-};
-/* Portions of the Selector class are derived from Jack Slocum's DomQuery,
- * part of YUI-Ext version 0.40, distributed under the terms of an MIT-style
- * license. Please see http://www.yui-ext.com/ for more information. */
-
-var Selector = Class.create({
- initialize: function(expression) {
- this.expression = expression.strip();
-
- if (this.shouldUseSelectorsAPI()) {
- this.mode = 'selectorsAPI';
- } else if (this.shouldUseXPath()) {
- this.mode = 'xpath';
- this.compileXPathMatcher();
- } else {
- this.mode = "normal";
- this.compileMatcher();
- }
-
- },
-
- shouldUseXPath: function() {
- if (!Prototype.BrowserFeatures.XPath) return false;
-
- var e = this.expression;
-
- // Safari 3 chokes on :*-of-type and :empty
- if (Prototype.Browser.WebKit &&
- (e.include("-of-type") || e.include(":empty")))
- return false;
-
- // XPath can't do namespaced attributes, nor can it read
- // the "checked" property from DOM nodes
- if ((/(\[[\w-]*?:|:checked)/).test(e))
- return false;
-
- return true;
- },
-
- shouldUseSelectorsAPI: function() {
- if (!Prototype.BrowserFeatures.SelectorsAPI) return false;
-
- if (!Selector._div) Selector._div = new Element('div');
-
- // Make sure the browser treats the selector as valid. Test on an
- // isolated element to minimize cost of this check.
- try {
- Selector._div.querySelector(this.expression);
- } catch(e) {
- return false;
- }
-
- return true;
- },
-
- compileMatcher: function() {
- var e = this.expression, ps = Selector.patterns, h = Selector.handlers,
- c = Selector.criteria, le, p, m;
-
- if (Selector._cache[e]) {
- this.matcher = Selector._cache[e];
- return;
- }
-
- this.matcher = ["this.matcher = function(root) {",
- "var r = root, h = Selector.handlers, c = false, n;"];
-
- while (e && le != e && (/\S/).test(e)) {
- le = e;
- for (var i in ps) {
- p = ps[i];
- if (m = e.match(p)) {
- this.matcher.push(Object.isFunction(c[i]) ? c[i](m) :
- new Template(c[i]).evaluate(m));
- e = e.replace(m[0], '');
- break;
- }
- }
- }
-
- this.matcher.push("return h.unique(n);\n}");
- eval(this.matcher.join('\n'));
- Selector._cache[this.expression] = this.matcher;
- },
-
- compileXPathMatcher: function() {
- var e = this.expression, ps = Selector.patterns,
- x = Selector.xpath, le, m;
-
- if (Selector._cache[e]) {
- this.xpath = Selector._cache[e]; return;
- }
-
- this.matcher = ['.//*'];
- while (e && le != e && (/\S/).test(e)) {
- le = e;
- for (var i in ps) {
- if (m = e.match(ps[i])) {
- this.matcher.push(Object.isFunction(x[i]) ? x[i](m) :
- new Template(x[i]).evaluate(m));
- e = e.replace(m[0], '');
- break;
- }
- }
- }
-
- this.xpath = this.matcher.join('');
- Selector._cache[this.expression] = this.xpath;
- },
-
- findElements: function(root) {
- root = root || document;
- var e = this.expression, results;
-
- switch (this.mode) {
- case 'selectorsAPI':
- // querySelectorAll queries document-wide, then filters to descendants
- // of the context element. That's not what we want.
- // Add an explicit context to the selector if necessary.
- if (root !== document) {
- var oldId = root.id, id = $(root).identify();
- e = "#" + id + " " + e;
- }
-
- results = $A(root.querySelectorAll(e)).map(Element.extend);
- root.id = oldId;
-
- return results;
- case 'xpath':
- return document._getElementsByXPath(this.xpath, root);
- default:
- return this.matcher(root);
- }
- },
-
- match: function(element) {
- this.tokens = [];
-
- var e = this.expression, ps = Selector.patterns, as = Selector.assertions;
- var le, p, m;
-
- while (e && le !== e && (/\S/).test(e)) {
- le = e;
- for (var i in ps) {
- p = ps[i];
- if (m = e.match(p)) {
- // use the Selector.assertions methods unless the selector
- // is too complex.
- if (as[i]) {
- this.tokens.push([i, Object.clone(m)]);
- e = e.replace(m[0], '');
- } else {
- // reluctantly do a document-wide search
- // and look for a match in the array
- return this.findElements(document).include(element);
- }
- }
- }
- }
-
- var match = true, name, matches;
- for (var i = 0, token; token = this.tokens[i]; i++) {
- name = token[0], matches = token[1];
- if (!Selector.assertions[name](element, matches)) {
- match = false; break;
- }
- }
-
- return match;
- },
-
- toString: function() {
- return this.expression;
- },
-
- inspect: function() {
- return "#<Selector:" + this.expression.inspect() + ">";
- }
-});
-
-Object.extend(Selector, {
- _cache: { },
-
- xpath: {
- descendant: "//*",
- child: "/*",
- adjacent: "/following-sibling::*[1]",
- laterSibling: '/following-sibling::*',
- tagName: function(m) {
- if (m[1] == '*') return '';
- return "[local-name()='" + m[1].toLowerCase() +
- "' or local-name()='" + m[1].toUpperCase() + "']";
- },
- className: "[contains(concat(' ', @class, ' '), ' #{1} ')]",
- id: "[@id='#{1}']",
- attrPresence: function(m) {
- m[1] = m[1].toLowerCase();
- return new Template("[@#{1}]").evaluate(m);
- },
- attr: function(m) {
- m[1] = m[1].toLowerCase();
- m[3] = m[5] || m[6];
- return new Template(Selector.xpath.operators[m[2]]).evaluate(m);
- },
- pseudo: function(m) {
- var h = Selector.xpath.pseudos[m[1]];
- if (!h) return '';
- if (Object.isFunction(h)) return h(m);
- return new Template(Selector.xpath.pseudos[m[1]]).evaluate(m);
- },
- operators: {
- '=': "[@#{1}='#{3}']",
- '!=': "[@#{1}!='#{3}']",
- '^=': "[starts-with(@#{1}, '#{3}')]",
- '$=': "[substring(@#{1}, (string-length(@#{1}) - string-length('#{3}') + 1))='#{3}']",
- '*=': "[contains(@#{1}, '#{3}')]",
- '~=': "[contains(concat(' ', @#{1}, ' '), ' #{3} ')]",
- '|=': "[contains(concat('-', @#{1}, '-'), '-#{3}-')]"
- },
- pseudos: {
- 'first-child': '[not(preceding-sibling::*)]',
- 'last-child': '[not(following-sibling::*)]',
- 'only-child': '[not(preceding-sibling::* or following-sibling::*)]',
- 'empty': "[count(*) = 0 and (count(text()) = 0)]",
- 'checked': "[@checked]",
-

<TRUNCATED>
a***@apache.org
2017-12-21 04:52:36 UTC
Permalink
http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/oldsite/js/bootstrap.min.js
----------------------------------------------------------------------
diff --git a/website-old/oldsite/js/bootstrap.min.js b/website-old/oldsite/js/bootstrap.min.js
deleted file mode 100644
index 95c5ac5..0000000
--- a/website-old/oldsite/js/bootstrap.min.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*!
-* Bootstrap.js by @fat & @mdo
-* Copyright 2012 Twitter, Inc.
-* http://www.apache.org/licenses/LICENSE-2.0.txt
-*/
-!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()};var r=e.fn.alert;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.fn.alert.noConflict=function(){return e.fn.alert=r,this},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")};var n=e.fn.button;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.de
faults={loadingText:"loading..."},e.fn.button.Constructor=t,e.fn.button.noConflict=function(){return e.fn.button=n,this},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.$indicators=this.$element.find(".carousel-indicators"),this.options=n,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.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(e.proxy(this.next,this),this.options.interval)),this},getActiveIndex:function(){return this.$active=this.$element.find(".item.active"),this.$items=this.$active.parent().children(),this.$items.index(this.$active)},to:function(t){var n=this.getActiveIndex(),r=this;if(t>thi
s.$items.length-1||t<0)return;return this.sliding?this.$element.one("slid",function(){r.to(t)}):n==t?this.pause().cycle():this.slide(t>n?"next":"prev",e(this.$items[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(!0)),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],direction:o});if(i.hasClass("active"))return;this.$indicators.length&&(this.$indicators.find(".active").removeClass("active"),this.$element.one("slid",function(){var t=e(a.$indicators.children(
)[a.getActiveIndex()]);t&&t.addClass("active")}));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}};var n=e.fn.carousel;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.pause().cycle()})},e.fn.carousel.defaults={interval:5e3,pause:"hover"},e.fn.carousel.Const
ructor=t,e.fn.carousel.noConflict=function(){return e.fn.carousel=n,this},e(document).on("click.carousel.data-api","[data-slide], [data-slide-to]",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()),o;i.carousel(s),(o=n.attr("data-slide-to"))&&i.data("carousel").pause().to(o).cycle(),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||this.$element.hasClass("in"))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.transitionin
g)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||!this.$element.hasClass("in"))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"]()}};var n=e.fn.collapse
;e.fn.collapse=function(n){return this.each(function(){var r=e(this),i=r.data("collapse"),s=e.extend({},e.fn.collapse.defaults,r.data(),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.fn.collapse.noConflict=function(){return e.fn.collapse=n,this},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;n||(n=t.attr("href"),n=n&&/#/.test(n)&&n.replace(/.*(?=#[^\s]*$)/,"")),r=n&&e(n);if(!r||!r.length)r=t.parent();return r}var t="[data-toggle=dropdown]",n=function(t){var n=e(t).o
n("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(n){var r,s,o,u,a,f;if(!/(38|40|27)/.test(n.keyCode))return;r=e(this),n.preventDefault(),n.stopPropagation();if(r.is(".disabled, :disabled"))return;u=i(r),a=u.hasClass("open");if(!a||a&&n.keyCode==27)return n.which==27&&u.find(t).focus(),r.click();s=e("[role=menu] li:not(.divider):visible a",u);if(!s.length)return;f=s.index(s.filter(":focus")),n.keyCode==38&&f>0&&f--,n.keyCode==40&&f<s.length-1&&f++,~f||(f=0),s.eq(f).focus()}};var s=e.fn.dropdown;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.fn.dropdown.noConflict=function()
{return e.fn.dropdown=s,this},e(document).on("click.dropdown.data-api",r).on("click.dropdown.data-api",".dropdown form",function(e){e.stopPropagation()}).on("click.dropdown-menu",function(e){e.stopPropagation()}).on("click.dropdown.data-api",t,n.prototype.toggle).on("keydown.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.$e
lement[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(){var e=this;this.$element.hide(),this.backdrop(function(){e.removeBackdrop(),e.$element.trigger("hidden")})},removeBackdrop:function(){this.$backdrop&&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");if(!t)return;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.tra
nsition.end,t):t()):t&&t()}};var n=e.fn.modal;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.fn.modal.noConflict=function(){return e.fn.modal=n,this},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,o,u,a;this.type=t,this.$element=e(n),this.options=this.getOptions(r),this.enabled=!0,o=this.options.trigger.split(" ");for(a=o
.length;a--;)u=o[a],u=="click"?this.$element.on("click."+this.type,this.options.selector,e.proxy(this.toggle,this)):u!="manual"&&(i=u=="hover"?"mouseenter":"focus",s=u=="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,this.$element.data(),t),t.delay&&typeof t.delay=="number"&&(t.delay={show:t.delay,hide:t.delay}),t},enter:function(t){var n=e.fn[this.type].defaults,r={},i;this._options&&e.each(this._options,function(e,t){n[e]!=t&&(r[e]=t)},this),i=e(t.currentTarget)[this.type](r).data(this.type);if(!i.options.delay||!i.options.delay.show)return i.show();clearTimeout(this.timeout),i.hoverState="in",this.timeout=setTimeout(function(){i.hoverState=="in"&&i.show()},i.optio
ns.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 t,n,r,i,s,o,u=e.Event("show");if(this.hasContent()&&this.enabled){this.$element.trigger(u);if(u.isDefaultPrevented())return;t=this.tip(),this.setContent(),this.options.animation&&t.addClass("fade"),s=typeof this.options.placement=="function"?this.options.placement.call(this,t[0],this.$element[0]):this.options.placement,t.detach().css({top:0,left:0,display:"block"}),this.options.container?t.appendTo(this.options.container):t.insertAfter(this.$element),n=this.getPosition(),r=t[0].offsetWidth,i=t[0].offsetHeight;switch(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}}this.applyPlacement(o,s),this.$element.trigger("shown")}},applyPlacement:function(e,t){var n=this.tip(),r=n[0].offsetWidth,i=n[0].offsetHeight,s,o,u,a;n.offset(e).addClass(t).addClass("in"),s=n[0].offsetWidth,o=n[0].offsetHeight,t=="top"&&o!=i&&(e.top=e.top+i-o,a=!0),t=="bottom"||t=="top"?(u=0,e.left<0&&(u=e.left*-2,e.left=0,n.offset(e),s=n[0].offsetWidth,o=n[0].offsetHeight),this.replaceArrow(u-r+s,s,"left")):this.replaceArrow(o-i,o,"top"),a&&n.offset(e)},replaceArrow:function(e,t,n){this.arrow().css(n,e?50*(1-e/t)+"%":"")},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 i(){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
(),r=e.Event("hide");this.$element.trigger(r);if(r.isDefaultPrevented())return;return n.removeClass("in"),e.support.transition&&this.$tip.hasClass("fade")?i():n.detach(),this.$element.trigger("hidden"),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")||"").attr("title","")},hasContent:function(){return this.getTitle()},getPosition:function(){var t=this.$element[0];return e.extend({},typeof t.getBoundingClientRect=="function"?t.getBoundingClientRect():{width:t.offsetWidth,height:t.offsetHeight},this.$element.offset())},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)},arrow:function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},validate:function(){this.$element[0].parentNode||(this.h
ide(),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=t?e(t.currentTarget)[this.type](this._options).data(this.type):this;n.tip().hasClass("in")?n.hide():n.show()},destroy:function(){this.hide().$element.off("."+this.type).removeData(this.type)}};var n=e.fn.tooltip;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 focus",title:"",delay:0,html:!1,container:!1},e.fn.tooltip.noConflict=function(){return e.fn.tooltip=n,this}}(window.jQuery),!function(e){"use strict";var t=function(e,t){this.init("popover",e,t)};t.pro
totype=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=(typeof n.content=="function"?n.content.call(t[0]):n.content)||t.attr("data-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)}});var n=e.fn.popover;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><h3 class="popover-title"></h3><div class="popover-content"></div></div>'}),e.fn.popover.noConflict=function(){return e.fn.popover=n,this}}(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 n=e(this),r=n.data("target")||n.attr("href"),i=/^#\w/.test(r)&&e(r);return i&&i.length&&[[i.position().top+(!e.isWindow(t.$scrollElement.get(0))&&t.$scrollElement.scrollTop()),r]]||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")}};var n=e.fn.scrollspy;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.scr
ollspy.defaults={offset:10},e.fn.scrollspy.noConflict=function(){return e.fn.scrollspy=n,this},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.dro
pdown").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")}};var n=e.fn.tab;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.fn.tab.noConflict=function(){return e.fn.tab=n,this},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.source=this.options.source,this.$menu=e(this.options.menu),this.shown=!1,this.listen()};t.prototype={constructor:t,select:fu
nction(){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.position(),{height:this.$element[0].offsetHeight});return this.$menu.insertAfter(this.$element).css({top:t.top+t.height,left:t.left}).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;whil
e(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("focus",e.proxy(this.focus,this)).on("blur",e.proxy(this.blur,this)).on("keypress",e.proxy(this.keypress,this)).on("keyup",e.proxy(this.keyup,t
his)),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)).on("mouseleave","li",e.proxy(this.mouseleave,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.stopPropagat
ion(),e.preventDefault()},focus:function(e){this.focused=!0},blur:function(e){this.focused=!1,!this.mousedover&&this.shown&&this.hide()},click:function(e){e.stopPropagation(),e.preventDefault(),this.select(),this.$element.focus()},mouseenter:function(t){this.mousedover=!0,this.$menu.find(".active").removeClass("active"),e(t.currentTarget).addClass("active")},mouseleave:function(e){this.mousedover=!1,!this.focused&&this.shown&&this.hide()}};var n=e.fn.typeahead;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.fn.typeahead.noConflict=function(){return e.fn.typeahead=n,this},e(document).on("focus.typeahead.data-api",'[data-provide="typeahead"]',function(t){var n=e(this);if(n.data("typeah
ead"))return;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:""))};var n=e.fn.affix;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.fn.affix.noConflict=function(){return e.fn.affix=n,this},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);
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/oldsite/js/effects.js
----------------------------------------------------------------------
diff --git a/website-old/oldsite/js/effects.js b/website-old/oldsite/js/effects.js
deleted file mode 100644
index f31a81a..0000000
--- a/website-old/oldsite/js/effects.js
+++ /dev/null
@@ -1,1130 +0,0 @@
-// script.aculo.us effects.js v1.8.2, Tue Nov 18 18:30:58 +0100 2008
-
-// Copyright (c) 2005-2008 Thomas Fuchs (http://script.aculo.us, http://mir.aculo.us)
-// Contributors:
-// Justin Palmer (http://encytemedia.com/)
-// Mark Pilgrim (http://diveintomark.org/)
-// Martin Bialasinki
-//
-// script.aculo.us is freely distributable under the terms of an MIT-style license.
-// For details, see the script.aculo.us web site: http://script.aculo.us/
-
-// converts rgb() and #xxx to #xxxxxx format,
-// returns self (or first argument) if not convertable
-String.prototype.parseColor = function() {
- var color = '#';
- if (this.slice(0,4) == 'rgb(') {
- var cols = this.slice(4,this.length-1).split(',');
- var i=0; do { color += parseInt(cols[i]).toColorPart() } while (++i<3);
- } else {
- if (this.slice(0,1) == '#') {
- if (this.length==4) for(var i=1;i<4;i++) color += (this.charAt(i) + this.charAt(i)).toLowerCase();
- if (this.length==7) color = this.toLowerCase();
- }
- }
- return (color.length==7 ? color : (arguments[0] || this));
-};
-
-/*--------------------------------------------------------------------------*/
-
-Element.collectTextNodes = function(element) {
- return $A($(element).childNodes).collect( function(node) {
- return (node.nodeType==3 ? node.nodeValue :
- (node.hasChildNodes() ? Element.collectTextNodes(node) : ''));
- }).flatten().join('');
-};
-
-Element.collectTextNodesIgnoreClass = function(element, className) {
- return $A($(element).childNodes).collect( function(node) {
- return (node.nodeType==3 ? node.nodeValue :
- ((node.hasChildNodes() && !Element.hasClassName(node,className)) ?
- Element.collectTextNodesIgnoreClass(node, className) : ''));
- }).flatten().join('');
-};
-
-Element.setContentZoom = function(element, percent) {
- element = $(element);
- element.setStyle({fontSize: (percent/100) + 'em'});
- if (Prototype.Browser.WebKit) window.scrollBy(0,0);
- return element;
-};
-
-Element.getInlineOpacity = function(element){
- return $(element).style.opacity || '';
-};
-
-Element.forceRerendering = function(element) {
- try {
- element = $(element);
- var n = document.createTextNode(' ');
- element.appendChild(n);
- element.removeChild(n);
- } catch(e) { }
-};
-
-/*--------------------------------------------------------------------------*/
-
-var Effect = {
- _elementDoesNotExistError: {
- name: 'ElementDoesNotExistError',
- message: 'The specified DOM element does not exist, but is required for this effect to operate'
- },
- Transitions: {
- linear: Prototype.K,
- sinoidal: function(pos) {
- return (-Math.cos(pos*Math.PI)/2) + .5;
- },
- reverse: function(pos) {
- return 1-pos;
- },
- flicker: function(pos) {
- var pos = ((-Math.cos(pos*Math.PI)/4) + .75) + Math.random()/4;
- return pos > 1 ? 1 : pos;
- },
- wobble: function(pos) {
- return (-Math.cos(pos*Math.PI*(9*pos))/2) + .5;
- },
- pulse: function(pos, pulses) {
- return (-Math.cos((pos*((pulses||5)-.5)*2)*Math.PI)/2) + .5;
- },
- spring: function(pos) {
- return 1 - (Math.cos(pos * 4.5 * Math.PI) * Math.exp(-pos * 6));
- },
- none: function(pos) {
- return 0;
- },
- full: function(pos) {
- return 1;
- }
- },
- DefaultOptions: {
- duration: 1.0, // seconds
- fps: 100, // 100= assume 66fps max.
- sync: false, // true for combining
- from: 0.0,
- to: 1.0,
- delay: 0.0,
- queue: 'parallel'
- },
- tagifyText: function(element) {
- var tagifyStyle = 'position:relative';
- if (Prototype.Browser.IE) tagifyStyle += ';zoom:1';
-
- element = $(element);
- $A(element.childNodes).each( function(child) {
- if (child.nodeType==3) {
- child.nodeValue.toArray().each( function(character) {
- element.insertBefore(
- new Element('span', {style: tagifyStyle}).update(
- character == ' ' ? String.fromCharCode(160) : character),
- child);
- });
- Element.remove(child);
- }
- });
- },
- multiple: function(element, effect) {
- var elements;
- if (((typeof element == 'object') ||
- Object.isFunction(element)) &&
- (element.length))
- elements = element;
- else
- elements = $(element).childNodes;
-
- var options = Object.extend({
- speed: 0.1,
- delay: 0.0
- }, arguments[2] || { });
- var masterDelay = options.delay;
-
- $A(elements).each( function(element, index) {
- new effect(element, Object.extend(options, { delay: index * options.speed + masterDelay }));
- });
- },
- PAIRS: {
- 'slide': ['SlideDown','SlideUp'],
- 'blind': ['BlindDown','BlindUp'],
- 'appear': ['Appear','Fade']
- },
- toggle: function(element, effect) {
- element = $(element);
- effect = (effect || 'appear').toLowerCase();
- var options = Object.extend({
- queue: { position:'end', scope:(element.id || 'global'), limit: 1 }
- }, arguments[2] || { });
- Effect[element.visible() ?
- Effect.PAIRS[effect][1] : Effect.PAIRS[effect][0]](element, options);
- }
-};
-
-Effect.DefaultOptions.transition = Effect.Transitions.sinoidal;
-
-/* ------------- core effects ------------- */
-
-Effect.ScopedQueue = Class.create(Enumerable, {
- initialize: function() {
- this.effects = [];
- this.interval = null;
- },
- _each: function(iterator) {
- this.effects._each(iterator);
- },
- add: function(effect) {
- var timestamp = new Date().getTime();
-
- var position = Object.isString(effect.options.queue) ?
- effect.options.queue : effect.options.queue.position;
-
- switch(position) {
- case 'front':
- // move unstarted effects after this effect
- this.effects.findAll(function(e){ return e.state=='idle' }).each( function(e) {
- e.startOn += effect.finishOn;
- e.finishOn += effect.finishOn;
- });
- break;
- case 'with-last':
- timestamp = this.effects.pluck('startOn').max() || timestamp;
- break;
- case 'end':
- // start effect after last queued effect has finished
- timestamp = this.effects.pluck('finishOn').max() || timestamp;
- break;
- }
-
- effect.startOn += timestamp;
- effect.finishOn += timestamp;
-
- if (!effect.options.queue.limit || (this.effects.length < effect.options.queue.limit))
- this.effects.push(effect);
-
- if (!this.interval)
- this.interval = setInterval(this.loop.bind(this), 15);
- },
- remove: function(effect) {
- this.effects = this.effects.reject(function(e) { return e==effect });
- if (this.effects.length == 0) {
- clearInterval(this.interval);
- this.interval = null;
- }
- },
- loop: function() {
- var timePos = new Date().getTime();
- for(var i=0, len=this.effects.length;i<len;i++)
- this.effects[i] && this.effects[i].loop(timePos);
- }
-});
-
-Effect.Queues = {
- instances: $H(),
- get: function(queueName) {
- if (!Object.isString(queueName)) return queueName;
-
- return this.instances.get(queueName) ||
- this.instances.set(queueName, new Effect.ScopedQueue());
- }
-};
-Effect.Queue = Effect.Queues.get('global');
-
-Effect.Base = Class.create({
- position: null,
- start: function(options) {
- function codeForEvent(options,eventName){
- return (
- (options[eventName+'Internal'] ? 'this.options.'+eventName+'Internal(this);' : '') +
- (options[eventName] ? 'this.options.'+eventName+'(this);' : '')
- );
- }
- if (options && options.transition === false) options.transition = Effect.Transitions.linear;
- this.options = Object.extend(Object.extend({ },Effect.DefaultOptions), options || { });
- this.currentFrame = 0;
- this.state = 'idle';
- this.startOn = this.options.delay*1000;
- this.finishOn = this.startOn+(this.options.duration*1000);
- this.fromToDelta = this.options.to-this.options.from;
- this.totalTime = this.finishOn-this.startOn;
- this.totalFrames = this.options.fps*this.options.duration;
-
- this.render = (function() {
- function dispatch(effect, eventName) {
- if (effect.options[eventName + 'Internal'])
- effect.options[eventName + 'Internal'](effect);
- if (effect.options[eventName])
- effect.options[eventName](effect);
- }
-
- return function(pos) {
- if (this.state === "idle") {
- this.state = "running";
- dispatch(this, 'beforeSetup');
- if (this.setup) this.setup();
- dispatch(this, 'afterSetup');
- }
- if (this.state === "running") {
- pos = (this.options.transition(pos) * this.fromToDelta) + this.options.from;
- this.position = pos;
- dispatch(this, 'beforeUpdate');
- if (this.update) this.update(pos);
- dispatch(this, 'afterUpdate');
- }
- };
- })();
-
- this.event('beforeStart');
- if (!this.options.sync)
- Effect.Queues.get(Object.isString(this.options.queue) ?
- 'global' : this.options.queue.scope).add(this);
- },
- loop: function(timePos) {
- if (timePos >= this.startOn) {
- if (timePos >= this.finishOn) {
- this.render(1.0);
- this.cancel();
- this.event('beforeFinish');
- if (this.finish) this.finish();
- this.event('afterFinish');
- return;
- }
- var pos = (timePos - this.startOn) / this.totalTime,
- frame = (pos * this.totalFrames).round();
- if (frame > this.currentFrame) {
- this.render(pos);
- this.currentFrame = frame;
- }
- }
- },
- cancel: function() {
- if (!this.options.sync)
- Effect.Queues.get(Object.isString(this.options.queue) ?
- 'global' : this.options.queue.scope).remove(this);
- this.state = 'finished';
- },
- event: function(eventName) {
- if (this.options[eventName + 'Internal']) this.options[eventName + 'Internal'](this);
- if (this.options[eventName]) this.options[eventName](this);
- },
- inspect: function() {
- var data = $H();
- for(property in this)
- if (!Object.isFunction(this[property])) data.set(property, this[property]);
- return '#<Effect:' + data.inspect() + ',options:' + $H(this.options).inspect() + '>';
- }
-});
-
-Effect.Parallel = Class.create(Effect.Base, {
- initialize: function(effects) {
- this.effects = effects || [];
- this.start(arguments[1]);
- },
- update: function(position) {
- this.effects.invoke('render', position);
- },
- finish: function(position) {
- this.effects.each( function(effect) {
- effect.render(1.0);
- effect.cancel();
- effect.event('beforeFinish');
- if (effect.finish) effect.finish(position);
- effect.event('afterFinish');
- });
- }
-});
-
-Effect.Tween = Class.create(Effect.Base, {
- initialize: function(object, from, to) {
- object = Object.isString(object) ? $(object) : object;
- var args = $A(arguments), method = args.last(),
- options = args.length == 5 ? args[3] : null;
- this.method = Object.isFunction(method) ? method.bind(object) :
- Object.isFunction(object[method]) ? object[method].bind(object) :
- function(value) { object[method] = value };
- this.start(Object.extend({ from: from, to: to }, options || { }));
- },
- update: function(position) {
- this.method(position);
- }
-});
-
-Effect.Event = Class.create(Effect.Base, {
- initialize: function() {
- this.start(Object.extend({ duration: 0 }, arguments[0] || { }));
- },
- update: Prototype.emptyFunction
-});
-
-Effect.Opacity = Class.create(Effect.Base, {
- initialize: function(element) {
- this.element = $(element);
- if (!this.element) throw(Effect._elementDoesNotExistError);
- // make this work on IE on elements without 'layout'
- if (Prototype.Browser.IE && (!this.element.currentStyle.hasLayout))
- this.element.setStyle({zoom: 1});
- var options = Object.extend({
- from: this.element.getOpacity() || 0.0,
- to: 1.0
- }, arguments[1] || { });
- this.start(options);
- },
- update: function(position) {
- this.element.setOpacity(position);
- }
-});
-
-Effect.Move = Class.create(Effect.Base, {
- initialize: function(element) {
- this.element = $(element);
- if (!this.element) throw(Effect._elementDoesNotExistError);
- var options = Object.extend({
- x: 0,
- y: 0,
- mode: 'relative'
- }, arguments[1] || { });
- this.start(options);
- },
- setup: function() {
- this.element.makePositioned();
- this.originalLeft = parseFloat(this.element.getStyle('left') || '0');
- this.originalTop = parseFloat(this.element.getStyle('top') || '0');
- if (this.options.mode == 'absolute') {
- this.options.x = this.options.x - this.originalLeft;
- this.options.y = this.options.y - this.originalTop;
- }
- },
- update: function(position) {
- this.element.setStyle({
- left: (this.options.x * position + this.originalLeft).round() + 'px',
- top: (this.options.y * position + this.originalTop).round() + 'px'
- });
- }
-});
-
-// for backwards compatibility
-Effect.MoveBy = function(element, toTop, toLeft) {
- return new Effect.Move(element,
- Object.extend({ x: toLeft, y: toTop }, arguments[3] || { }));
-};
-
-Effect.Scale = Class.create(Effect.Base, {
- initialize: function(element, percent) {
- this.element = $(element);
- if (!this.element) throw(Effect._elementDoesNotExistError);
- var options = Object.extend({
- scaleX: true,
- scaleY: true,
- scaleContent: true,
- scaleFromCenter: false,
- scaleMode: 'box', // 'box' or 'contents' or { } with provided values
- scaleFrom: 100.0,
- scaleTo: percent
- }, arguments[2] || { });
- this.start(options);
- },
- setup: function() {
- this.restoreAfterFinish = this.options.restoreAfterFinish || false;
- this.elementPositioning = this.element.getStyle('position');
-
- this.originalStyle = { };
- ['top','left','width','height','fontSize'].each( function(k) {
- this.originalStyle[k] = this.element.style[k];
- }.bind(this));
-
- this.originalTop = this.element.offsetTop;
- this.originalLeft = this.element.offsetLeft;
-
- var fontSize = this.element.getStyle('font-size') || '100%';
- ['em','px','%','pt'].each( function(fontSizeType) {
- if (fontSize.indexOf(fontSizeType)>0) {
- this.fontSize = parseFloat(fontSize);
- this.fontSizeType = fontSizeType;
- }
- }.bind(this));
-
- this.factor = (this.options.scaleTo - this.options.scaleFrom)/100;
-
- this.dims = null;
- if (this.options.scaleMode=='box')
- this.dims = [this.element.offsetHeight, this.element.offsetWidth];
- if (/^content/.test(this.options.scaleMode))
- this.dims = [this.element.scrollHeight, this.element.scrollWidth];
- if (!this.dims)
- this.dims = [this.options.scaleMode.originalHeight,
- this.options.scaleMode.originalWidth];
- },
- update: function(position) {
- var currentScale = (this.options.scaleFrom/100.0) + (this.factor * position);
- if (this.options.scaleContent && this.fontSize)
- this.element.setStyle({fontSize: this.fontSize * currentScale + this.fontSizeType });
- this.setDimensions(this.dims[0] * currentScale, this.dims[1] * currentScale);
- },
- finish: function(position) {
- if (this.restoreAfterFinish) this.element.setStyle(this.originalStyle);
- },
- setDimensions: function(height, width) {
- var d = { };
- if (this.options.scaleX) d.width = width.round() + 'px';
- if (this.options.scaleY) d.height = height.round() + 'px';
- if (this.options.scaleFromCenter) {
- var topd = (height - this.dims[0])/2;
- var leftd = (width - this.dims[1])/2;
- if (this.elementPositioning == 'absolute') {
- if (this.options.scaleY) d.top = this.originalTop-topd + 'px';
- if (this.options.scaleX) d.left = this.originalLeft-leftd + 'px';
- } else {
- if (this.options.scaleY) d.top = -topd + 'px';
- if (this.options.scaleX) d.left = -leftd + 'px';
- }
- }
- this.element.setStyle(d);
- }
-});
-
-Effect.Highlight = Class.create(Effect.Base, {
- initialize: function(element) {
- this.element = $(element);
- if (!this.element) throw(Effect._elementDoesNotExistError);
- var options = Object.extend({ startcolor: '#ffff99' }, arguments[1] || { });
- this.start(options);
- },
- setup: function() {
- // Prevent executing on elements not in the layout flow
- if (this.element.getStyle('display')=='none') { this.cancel(); return; }
- // Disable background image during the effect
- this.oldStyle = { };
- if (!this.options.keepBackgroundImage) {
- this.oldStyle.backgroundImage = this.element.getStyle('background-image');
- this.element.setStyle({backgroundImage: 'none'});
- }
- if (!this.options.endcolor)
- this.options.endcolor = this.element.getStyle('background-color').parseColor('#ffffff');
- if (!this.options.restorecolor)
- this.options.restorecolor = this.element.getStyle('background-color');
- // init color calculations
- this._base = $R(0,2).map(function(i){ return parseInt(this.options.startcolor.slice(i*2+1,i*2+3),16) }.bind(this));
- this._delta = $R(0,2).map(function(i){ return parseInt(this.options.endcolor.slice(i*2+1,i*2+3),16)-this._base[i] }.bind(this));
- },
- update: function(position) {
- this.element.setStyle({backgroundColor: $R(0,2).inject('#',function(m,v,i){
- return m+((this._base[i]+(this._delta[i]*position)).round().toColorPart()); }.bind(this)) });
- },
- finish: function() {
- this.element.setStyle(Object.extend(this.oldStyle, {
- backgroundColor: this.options.restorecolor
- }));
- }
-});
-
-Effect.ScrollTo = function(element) {
- var options = arguments[1] || { },
- scrollOffsets = document.viewport.getScrollOffsets(),
- elementOffsets = $(element).cumulativeOffset();
-
- if (options.offset) elementOffsets[1] += options.offset;
-
- return new Effect.Tween(null,
- scrollOffsets.top,
- elementOffsets[1],
- options,
- function(p){ scrollTo(scrollOffsets.left, p.round()); }
- );
-};
-
-/* ------------- combination effects ------------- */
-
-Effect.Fade = function(element) {
- element = $(element);
- var oldOpacity = element.getInlineOpacity();
- var options = Object.extend({
- from: element.getOpacity() || 1.0,
- to: 0.0,
- afterFinishInternal: function(effect) {
- if (effect.options.to!=0) return;
- effect.element.hide().setStyle({opacity: oldOpacity});
- }
- }, arguments[1] || { });
- return new Effect.Opacity(element,options);
-};
-
-Effect.Appear = function(element) {
- element = $(element);
- var options = Object.extend({
- from: (element.getStyle('display') == 'none' ? 0.0 : element.getOpacity() || 0.0),
- to: 1.0,
- // force Safari to render floated elements properly
- afterFinishInternal: function(effect) {
- effect.element.forceRerendering();
- },
- beforeSetup: function(effect) {
- effect.element.setOpacity(effect.options.from).show();
- }}, arguments[1] || { });
- return new Effect.Opacity(element,options);
-};
-
-Effect.Puff = function(element) {
- element = $(element);
- var oldStyle = {
- opacity: element.getInlineOpacity(),
- position: element.getStyle('position'),
- top: element.style.top,
- left: element.style.left,
- width: element.style.width,
- height: element.style.height
- };
- return new Effect.Parallel(
- [ new Effect.Scale(element, 200,
- { sync: true, scaleFromCenter: true, scaleContent: true, restoreAfterFinish: true }),
- new Effect.Opacity(element, { sync: true, to: 0.0 } ) ],
- Object.extend({ duration: 1.0,
- beforeSetupInternal: function(effect) {
- Position.absolutize(effect.effects[0].element);
- },
- afterFinishInternal: function(effect) {
- effect.effects[0].element.hide().setStyle(oldStyle); }
- }, arguments[1] || { })
- );
-};
-
-Effect.BlindUp = function(element) {
- element = $(element);
- element.makeClipping();
- return new Effect.Scale(element, 0,
- Object.extend({ scaleContent: false,
- scaleX: false,
- restoreAfterFinish: true,
- afterFinishInternal: function(effect) {
- effect.element.hide().undoClipping();
- }
- }, arguments[1] || { })
- );
-};
-
-Effect.BlindDown = function(element) {
- element = $(element);
- var elementDimensions = element.getDimensions();
- return new Effect.Scale(element, 100, Object.extend({
- scaleContent: false,
- scaleX: false,
- scaleFrom: 0,
- scaleMode: {originalHeight: elementDimensions.height, originalWidth: elementDimensions.width},
- restoreAfterFinish: true,
- afterSetup: function(effect) {
- effect.element.makeClipping().setStyle({height: '0px'}).show();
- },
- afterFinishInternal: function(effect) {
- effect.element.undoClipping();
- }
- }, arguments[1] || { }));
-};
-
-Effect.SwitchOff = function(element) {
- element = $(element);
- var oldOpacity = element.getInlineOpacity();
- return new Effect.Appear(element, Object.extend({
- duration: 0.4,
- from: 0,
- transition: Effect.Transitions.flicker,
- afterFinishInternal: function(effect) {
- new Effect.Scale(effect.element, 1, {
- duration: 0.3, scaleFromCenter: true,
- scaleX: false, scaleContent: false, restoreAfterFinish: true,
- beforeSetup: function(effect) {
- effect.element.makePositioned().makeClipping();
- },
- afterFinishInternal: function(effect) {
- effect.element.hide().undoClipping().undoPositioned().setStyle({opacity: oldOpacity});
- }
- });
- }
- }, arguments[1] || { }));
-};
-
-Effect.DropOut = function(element) {
- element = $(element);
- var oldStyle = {
- top: element.getStyle('top'),
- left: element.getStyle('left'),
- opacity: element.getInlineOpacity() };
- return new Effect.Parallel(
- [ new Effect.Move(element, {x: 0, y: 100, sync: true }),
- new Effect.Opacity(element, { sync: true, to: 0.0 }) ],
- Object.extend(
- { duration: 0.5,
- beforeSetup: function(effect) {
- effect.effects[0].element.makePositioned();
- },
- afterFinishInternal: function(effect) {
- effect.effects[0].element.hide().undoPositioned().setStyle(oldStyle);
- }
- }, arguments[1] || { }));
-};
-
-Effect.Shake = function(element) {
- element = $(element);
- var options = Object.extend({
- distance: 20,
- duration: 0.5
- }, arguments[1] || {});
- var distance = parseFloat(options.distance);
- var split = parseFloat(options.duration) / 10.0;
- var oldStyle = {
- top: element.getStyle('top'),
- left: element.getStyle('left') };
- return new Effect.Move(element,
- { x: distance, y: 0, duration: split, afterFinishInternal: function(effect) {
- new Effect.Move(effect.element,
- { x: -distance*2, y: 0, duration: split*2, afterFinishInternal: function(effect) {
- new Effect.Move(effect.element,
- { x: distance*2, y: 0, duration: split*2, afterFinishInternal: function(effect) {
- new Effect.Move(effect.element,
- { x: -distance*2, y: 0, duration: split*2, afterFinishInternal: function(effect) {
- new Effect.Move(effect.element,
- { x: distance*2, y: 0, duration: split*2, afterFinishInternal: function(effect) {
- new Effect.Move(effect.element,
- { x: -distance, y: 0, duration: split, afterFinishInternal: function(effect) {
- effect.element.undoPositioned().setStyle(oldStyle);
- }}); }}); }}); }}); }}); }});
-};
-
-Effect.SlideDown = function(element) {
- element = $(element).cleanWhitespace();
- // SlideDown need to have the content of the element wrapped in a container element with fixed height!
- var oldInnerBottom = element.down().getStyle('bottom');
- var elementDimensions = element.getDimensions();
- return new Effect.Scale(element, 100, Object.extend({
- scaleContent: false,
- scaleX: false,
- scaleFrom: window.opera ? 0 : 1,
- scaleMode: {originalHeight: elementDimensions.height, originalWidth: elementDimensions.width},
- restoreAfterFinish: true,
- afterSetup: function(effect) {
- effect.element.makePositioned();
- effect.element.down().makePositioned();
- if (window.opera) effect.element.setStyle({top: ''});
- effect.element.makeClipping().setStyle({height: '0px'}).show();
- },
- afterUpdateInternal: function(effect) {
- effect.element.down().setStyle({bottom:
- (effect.dims[0] - effect.element.clientHeight) + 'px' });
- },
- afterFinishInternal: function(effect) {
- effect.element.undoClipping().undoPositioned();
- effect.element.down().undoPositioned().setStyle({bottom: oldInnerBottom}); }
- }, arguments[1] || { })
- );
-};
-
-Effect.SlideUp = function(element) {
- element = $(element).cleanWhitespace();
- var oldInnerBottom = element.down().getStyle('bottom');
- var elementDimensions = element.getDimensions();
- return new Effect.Scale(element, window.opera ? 0 : 1,
- Object.extend({ scaleContent: false,
- scaleX: false,
- scaleMode: 'box',
- scaleFrom: 100,
- scaleMode: {originalHeight: elementDimensions.height, originalWidth: elementDimensions.width},
- restoreAfterFinish: true,
- afterSetup: function(effect) {
- effect.element.makePositioned();
- effect.element.down().makePositioned();
- if (window.opera) effect.element.setStyle({top: ''});
- effect.element.makeClipping().show();
- },
- afterUpdateInternal: function(effect) {
- effect.element.down().setStyle({bottom:
- (effect.dims[0] - effect.element.clientHeight) + 'px' });
- },
- afterFinishInternal: function(effect) {
- effect.element.hide().undoClipping().undoPositioned();
- effect.element.down().undoPositioned().setStyle({bottom: oldInnerBottom});
- }
- }, arguments[1] || { })
- );
-};
-
-// Bug in opera makes the TD containing this element expand for a instance after finish
-Effect.Squish = function(element) {
- return new Effect.Scale(element, window.opera ? 1 : 0, {
- restoreAfterFinish: true,
- beforeSetup: function(effect) {
- effect.element.makeClipping();
- },
- afterFinishInternal: function(effect) {
- effect.element.hide().undoClipping();
- }
- });
-};
-
-Effect.Grow = function(element) {
- element = $(element);
- var options = Object.extend({
- direction: 'center',
- moveTransition: Effect.Transitions.sinoidal,
- scaleTransition: Effect.Transitions.sinoidal,
- opacityTransition: Effect.Transitions.full
- }, arguments[1] || { });
- var oldStyle = {
- top: element.style.top,
- left: element.style.left,
- height: element.style.height,
- width: element.style.width,
- opacity: element.getInlineOpacity() };
-
- var dims = element.getDimensions();
- var initialMoveX, initialMoveY;
- var moveX, moveY;
-
- switch (options.direction) {
- case 'top-left':
- initialMoveX = initialMoveY = moveX = moveY = 0;
- break;
- case 'top-right':
- initialMoveX = dims.width;
- initialMoveY = moveY = 0;
- moveX = -dims.width;
- break;
- case 'bottom-left':
- initialMoveX = moveX = 0;
- initialMoveY = dims.height;
- moveY = -dims.height;
- break;
- case 'bottom-right':
- initialMoveX = dims.width;
- initialMoveY = dims.height;
- moveX = -dims.width;
- moveY = -dims.height;
- break;
- case 'center':
- initialMoveX = dims.width / 2;
- initialMoveY = dims.height / 2;
- moveX = -dims.width / 2;
- moveY = -dims.height / 2;
- break;
- }
-
- return new Effect.Move(element, {
- x: initialMoveX,
- y: initialMoveY,
- duration: 0.01,
- beforeSetup: function(effect) {
- effect.element.hide().makeClipping().makePositioned();
- },
- afterFinishInternal: function(effect) {
- new Effect.Parallel(
- [ new Effect.Opacity(effect.element, { sync: true, to: 1.0, from: 0.0, transition: options.opacityTransition }),
- new Effect.Move(effect.element, { x: moveX, y: moveY, sync: true, transition: options.moveTransition }),
- new Effect.Scale(effect.element, 100, {
- scaleMode: { originalHeight: dims.height, originalWidth: dims.width },
- sync: true, scaleFrom: window.opera ? 1 : 0, transition: options.scaleTransition, restoreAfterFinish: true})
- ], Object.extend({
- beforeSetup: function(effect) {
- effect.effects[0].element.setStyle({height: '0px'}).show();
- },
- afterFinishInternal: function(effect) {
- effect.effects[0].element.undoClipping().undoPositioned().setStyle(oldStyle);
- }
- }, options)
- );
- }
- });
-};
-
-Effect.Shrink = function(element) {
- element = $(element);
- var options = Object.extend({
- direction: 'center',
- moveTransition: Effect.Transitions.sinoidal,
- scaleTransition: Effect.Transitions.sinoidal,
- opacityTransition: Effect.Transitions.none
- }, arguments[1] || { });
- var oldStyle = {
- top: element.style.top,
- left: element.style.left,
- height: element.style.height,
- width: element.style.width,
- opacity: element.getInlineOpacity() };
-
- var dims = element.getDimensions();
- var moveX, moveY;
-
- switch (options.direction) {
- case 'top-left':
- moveX = moveY = 0;
- break;
- case 'top-right':
- moveX = dims.width;
- moveY = 0;
- break;
- case 'bottom-left':
- moveX = 0;
- moveY = dims.height;
- break;
- case 'bottom-right':
- moveX = dims.width;
- moveY = dims.height;
- break;
- case 'center':
- moveX = dims.width / 2;
- moveY = dims.height / 2;
- break;
- }
-
- return new Effect.Parallel(
- [ new Effect.Opacity(element, { sync: true, to: 0.0, from: 1.0, transition: options.opacityTransition }),
- new Effect.Scale(element, window.opera ? 1 : 0, { sync: true, transition: options.scaleTransition, restoreAfterFinish: true}),
- new Effect.Move(element, { x: moveX, y: moveY, sync: true, transition: options.moveTransition })
- ], Object.extend({
- beforeStartInternal: function(effect) {
- effect.effects[0].element.makePositioned().makeClipping();
- },
- afterFinishInternal: function(effect) {
- effect.effects[0].element.hide().undoClipping().undoPositioned().setStyle(oldStyle); }
- }, options)
- );
-};
-
-Effect.Pulsate = function(element) {
- element = $(element);
- var options = arguments[1] || { },
- oldOpacity = element.getInlineOpacity(),
- transition = options.transition || Effect.Transitions.linear,
- reverser = function(pos){
- return 1 - transition((-Math.cos((pos*(options.pulses||5)*2)*Math.PI)/2) + .5);
- };
-
- return new Effect.Opacity(element,
- Object.extend(Object.extend({ duration: 2.0, from: 0,
- afterFinishInternal: function(effect) { effect.element.setStyle({opacity: oldOpacity}); }
- }, options), {transition: reverser}));
-};
-
-Effect.Fold = function(element) {
- element = $(element);
- var oldStyle = {
- top: element.style.top,
- left: element.style.left,
- width: element.style.width,
- height: element.style.height };
- element.makeClipping();
- return new Effect.Scale(element, 5, Object.extend({
- scaleContent: false,
- scaleX: false,
- afterFinishInternal: function(effect) {
- new Effect.Scale(element, 1, {
- scaleContent: false,
- scaleY: false,
- afterFinishInternal: function(effect) {
- effect.element.hide().undoClipping().setStyle(oldStyle);
- } });
- }}, arguments[1] || { }));
-};
-
-Effect.Morph = Class.create(Effect.Base, {
- initialize: function(element) {
- this.element = $(element);
- if (!this.element) throw(Effect._elementDoesNotExistError);
- var options = Object.extend({
- style: { }
- }, arguments[1] || { });
-
- if (!Object.isString(options.style)) this.style = $H(options.style);
- else {
- if (options.style.include(':'))
- this.style = options.style.parseStyle();
- else {
- this.element.addClassName(options.style);
- this.style = $H(this.element.getStyles());
- this.element.removeClassName(options.style);
- var css = this.element.getStyles();
- this.style = this.style.reject(function(style) {
- return style.value == css[style.key];
- });
- options.afterFinishInternal = function(effect) {
- effect.element.addClassName(effect.options.style);
- effect.transforms.each(function(transform) {
- effect.element.style[transform.style] = '';
- });
- };
- }
- }
- this.start(options);
- },
-
- setup: function(){
- function parseColor(color){
- if (!color || ['rgba(0, 0, 0, 0)','transparent'].include(color)) color = '#ffffff';
- color = color.parseColor();
- return $R(0,2).map(function(i){
- return parseInt( color.slice(i*2+1,i*2+3), 16 );
- });
- }
- this.transforms = this.style.map(function(pair){
- var property = pair[0], value = pair[1], unit = null;
-
- if (value.parseColor('#zzzzzz') != '#zzzzzz') {
- value = value.parseColor();
- unit = 'color';
- } else if (property == 'opacity') {
- value = parseFloat(value);
- if (Prototype.Browser.IE && (!this.element.currentStyle.hasLayout))
- this.element.setStyle({zoom: 1});
- } else if (Element.CSS_LENGTH.test(value)) {
- var components = value.match(/^([\+\-]?[0-9\.]+)(.*)$/);
- value = parseFloat(components[1]);
- unit = (components.length == 3) ? components[2] : null;
- }
-
- var originalValue = this.element.getStyle(property);
- return {
- style: property.camelize(),
- originalValue: unit=='color' ? parseColor(originalValue) : parseFloat(originalValue || 0),
- targetValue: unit=='color' ? parseColor(value) : value,
- unit: unit
- };
- }.bind(this)).reject(function(transform){
- return (
- (transform.originalValue == transform.targetValue) ||
- (
- transform.unit != 'color' &&
- (isNaN(transform.originalValue) || isNaN(transform.targetValue))
- )
- );
- });
- },
- update: function(position) {
- var style = { }, transform, i = this.transforms.length;
- while(i--)
- style[(transform = this.transforms[i]).style] =
- transform.unit=='color' ? '#'+
- (Math.round(transform.originalValue[0]+
- (transform.targetValue[0]-transform.originalValue[0])*position)).toColorPart() +
- (Math.round(transform.originalValue[1]+
- (transform.targetValue[1]-transform.originalValue[1])*position)).toColorPart() +
- (Math.round(transform.originalValue[2]+
- (transform.targetValue[2]-transform.originalValue[2])*position)).toColorPart() :
- (transform.originalValue +
- (transform.targetValue - transform.originalValue) * position).toFixed(3) +
- (transform.unit === null ? '' : transform.unit);
- this.element.setStyle(style, true);
- }
-});
-
-Effect.Transform = Class.create({
- initialize: function(tracks){
- this.tracks = [];
- this.options = arguments[1] || { };
- this.addTracks(tracks);
- },
- addTracks: function(tracks){
- tracks.each(function(track){
- track = $H(track);
- var data = track.values().first();
- this.tracks.push($H({
- ids: track.keys().first(),
- effect: Effect.Morph,
- options: { style: data }
- }));
- }.bind(this));
- return this;
- },
- play: function(){
- return new Effect.Parallel(
- this.tracks.map(function(track){
- var ids = track.get('ids'), effect = track.get('effect'), options = track.get('options');
- var elements = [$(ids) || $$(ids)].flatten();
- return elements.map(function(e){ return new effect(e, Object.extend({ sync:true }, options)) });
- }).flatten(),
- this.options
- );
- }
-});
-
-Element.CSS_PROPERTIES = $w(
- 'backgroundColor backgroundPosition borderBottomColor borderBottomStyle ' +
- 'borderBottomWidth borderLeftColor borderLeftStyle borderLeftWidth ' +
- 'borderRightColor borderRightStyle borderRightWidth borderSpacing ' +
- 'borderTopColor borderTopStyle borderTopWidth bottom clip color ' +
- 'fontSize fontWeight height left letterSpacing lineHeight ' +
- 'marginBottom marginLeft marginRight marginTop markerOffset maxHeight '+
- 'maxWidth minHeight minWidth opacity outlineColor outlineOffset ' +
- 'outlineWidth paddingBottom paddingLeft paddingRight paddingTop ' +
- 'right textIndent top width wordSpacing zIndex');
-
-Element.CSS_LENGTH = /^(([\+\-]?[0-9\.]+)(em|ex|px|in|cm|mm|pt|pc|\%))|0$/;
-
-String.__parseStyleElement = document.createElement('div');
-String.prototype.parseStyle = function(){
- var style, styleRules = $H();
- if (Prototype.Browser.WebKit)
- style = new Element('div',{style:this}).style;
- else {
- String.__parseStyleElement.innerHTML = '<div style="' + this + '"></div>';
- style = String.__parseStyleElement.childNodes[0].style;
- }
-
- Element.CSS_PROPERTIES.each(function(property){
- if (style[property]) styleRules.set(property, style[property]);
- });
-
- if (Prototype.Browser.IE && this.include('opacity'))
- styleRules.set('opacity', this.match(/opacity:\s*((?:0|1)?(?:\.\d*)?)/)[1]);
-
- return styleRules;
-};
-
-if (document.defaultView && document.defaultView.getComputedStyle) {
- Element.getStyles = function(element) {
- var css = document.defaultView.getComputedStyle($(element), null);
- return Element.CSS_PROPERTIES.inject({ }, function(styles, property) {
- styles[property] = css[property];
- return styles;
- });
- };
-} else {
- Element.getStyles = function(element) {
- element = $(element);
- var css = element.currentStyle, styles;
- styles = Element.CSS_PROPERTIES.inject({ }, function(results, property) {
- results[property] = css[property];
- return results;
- });
- if (!styles.opacity) styles.opacity = element.getOpacity();
- return styles;
- };
-}
-
-Effect.Methods = {
- morph: function(element, style) {
- element = $(element);
- new Effect.Morph(element, Object.extend({ style: style }, arguments[2] || { }));
- return element;
- },
- visualEffect: function(element, effect, options) {
- element = $(element);
- var s = effect.dasherize().camelize(), klass = s.charAt(0).toUpperCase() + s.substring(1);
- new Effect[klass](element, options);
- return element;
- },
- highlight: function(element, options) {
- element = $(element);
- new Effect.Highlight(element, options);
- return element;
- }
-};
-
-$w('fade appear grow shrink fold blindUp blindDown slideUp slideDown '+
- 'pulsate shake puff squish switchOff dropOut').each(
- function(effect) {
- Effect.Methods[effect] = function(element, options){
- element = $(element);
- Effect[effect.charAt(0).toUpperCase() + effect.substring(1)](element, options);
- return element;
- };
- }
-);
-
-$w('getInlineOpacity forceRerendering setContentZoom collectTextNodes collectTextNodesIgnoreClass getStyles').each(
- function(f) { Effect.Methods[f] = Element[f]; }
-);
-
-Element.addMethods(Effect.Methods);
\ No newline at end of file
a***@apache.org
2017-12-21 04:52:35 UTC
Permalink
http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/oldsite/js/jquery-1.9.1.min.js
----------------------------------------------------------------------
diff --git a/website-old/oldsite/js/jquery-1.9.1.min.js b/website-old/oldsite/js/jquery-1.9.1.min.js
deleted file mode 100644
index 006e953..0000000
--- a/website-old/oldsite/js/jquery-1.9.1.min.js
+++ /dev/null
@@ -1,5 +0,0 @@
-/*! jQuery v1.9.1 | (c) 2005, 2012 jQuery Foundation, Inc. | jquery.org/license
-//@ sourceMappingURL=jquery.min.map
-*/(function(e,t){var n,r,i=typeof t,o=e.document,a=e.location,s=e.jQuery,u=e.$,l={},c=[],p="1.9.1",f=c.concat,d=c.push,h=c.slice,g=c.indexOf,m=l.toString,y=l.hasOwnProperty,v=p.trim,b=function(e,t){return new b.fn.init(e,t,r)},x=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,w=/\S+/g,T=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,N=/^(?:(<[\w\W]+>)[^>]*|#([\w-]*))$/,C=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,k=/^[\],:{}\s]*$/,E=/(?:^|:|,)(?:\s*\[)+/g,S=/\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,A=/"[^"\\\r\n]*"|true|false|null|-?(?:\d+\.|)\d+(?:[eE][+-]?\d+|)/g,j=/^-ms-/,D=/-([\da-z])/gi,L=function(e,t){return t.toUpperCase()},H=function(e){(o.addEventListener||"load"===e.type||"complete"===o.readyState)&&(q(),b.ready())},q=function(){o.addEventListener?(o.removeEventListener("DOMContentLoaded",H,!1),e.removeEventListener("load",H,!1)):(o.detachEvent("onreadystatechange",H),e.detachEvent("onload",H))};b.fn=b.prototype={jquery:p,constructor:b,init:function(e,n,r){var i,a;if(!e)return this;if("string"==typeof e)
{if(i="<"===e.charAt(0)&&">"===e.charAt(e.length-1)&&e.length>=3?[null,e,null]:N.exec(e),!i||!i[1]&&n)return!n||n.jquery?(n||r).find(e):this.constructor(n).find(e);if(i[1]){if(n=n instanceof b?n[0]:n,b.merge(this,b.parseHTML(i[1],n&&n.nodeType?n.ownerDocument||n:o,!0)),C.test(i[1])&&b.isPlainObject(n))for(i in n)b.isFunction(this[i])?this[i](n[i]):this.attr(i,n[i]);return this}if(a=o.getElementById(i[2]),a&&a.parentNode){if(a.id!==i[2])return r.find(e);this.length=1,this[0]=a}return this.context=o,this.selector=e,this}return e.nodeType?(this.context=this[0]=e,this.length=1,this):b.isFunction(e)?r.ready(e):(e.selector!==t&&(this.selector=e.selector,this.context=e.context),b.makeArray(e,this))},selector:"",length:0,size:function(){return this.length},toArray:function(){return h.call(this)},get:function(e){return null==e?this.toArray():0>e?this[this.length+e]:this[e]},pushStack:function(e){var t=b.merge(this.constructor(),e);return t.prevObject=this,t.context=this.context,t},each:funct
ion(e,t){return b.each(this,e,t)},ready:function(e){return b.ready.promise().done(e),this},slice:function(){return this.pushStack(h.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(0>e?t:0);return this.pushStack(n>=0&&t>n?[this[n]]:[])},map:function(e){return this.pushStack(b.map(this,function(t,n){return e.call(t,n,t)}))},end:function(){return this.prevObject||this.constructor(null)},push:d,sort:[].sort,splice:[].splice},b.fn.init.prototype=b.fn,b.extend=b.fn.extend=function(){var e,n,r,i,o,a,s=arguments[0]||{},u=1,l=arguments.length,c=!1;for("boolean"==typeof s&&(c=s,s=arguments[1]||{},u=2),"object"==typeof s||b.isFunction(s)||(s={}),l===u&&(s=this,--u);l>u;u++)if(null!=(o=arguments[u]))for(i in o)e=s[i],r=o[i],s!==r&&(c&&r&&(b.isPlainObject(r)||(n=b.isArray(r)))?(n?(n=!1,a=e&&b.isArray(e)?e:[]):a=e&&b.isPlainObject(e)?e:{},s[i]=b.extend(c,a,r)):r!==t&&(s[i]=r));return s},b.extend({noConflict:fun
ction(t){return e.$===b&&(e.$=u),t&&e.jQuery===b&&(e.jQuery=s),b},isReady:!1,readyWait:1,holdReady:function(e){e?b.readyWait++:b.ready(!0)},ready:function(e){if(e===!0?!--b.readyWait:!b.isReady){if(!o.body)return setTimeout(b.ready);b.isReady=!0,e!==!0&&--b.readyWait>0||(n.resolveWith(o,[b]),b.fn.trigger&&b(o).trigger("ready").off("ready"))}},isFunction:function(e){return"function"===b.type(e)},isArray:Array.isArray||function(e){return"array"===b.type(e)},isWindow:function(e){return null!=e&&e==e.window},isNumeric:function(e){return!isNaN(parseFloat(e))&&isFinite(e)},type:function(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?l[m.call(e)]||"object":typeof e},isPlainObject:function(e){if(!e||"object"!==b.type(e)||e.nodeType||b.isWindow(e))return!1;try{if(e.constructor&&!y.call(e,"constructor")&&!y.call(e.constructor.prototype,"isPrototypeOf"))return!1}catch(n){return!1}var r;for(r in e);return r===t||y.call(e,r)},isEmptyObject:function(e){var t;for(t in e)return!1;r
eturn!0},error:function(e){throw Error(e)},parseHTML:function(e,t,n){if(!e||"string"!=typeof e)return null;"boolean"==typeof t&&(n=t,t=!1),t=t||o;var r=C.exec(e),i=!n&&[];return r?[t.createElement(r[1])]:(r=b.buildFragment([e],t,i),i&&b(i).remove(),b.merge([],r.childNodes))},parseJSON:function(n){return e.JSON&&e.JSON.parse?e.JSON.parse(n):null===n?n:"string"==typeof n&&(n=b.trim(n),n&&k.test(n.replace(S,"@").replace(A,"]").replace(E,"")))?Function("return "+n)():(b.error("Invalid JSON: "+n),t)},parseXML:function(n){var r,i;if(!n||"string"!=typeof n)return null;try{e.DOMParser?(i=new DOMParser,r=i.parseFromString(n,"text/xml")):(r=new ActiveXObject("Microsoft.XMLDOM"),r.async="false",r.loadXML(n))}catch(o){r=t}return r&&r.documentElement&&!r.getElementsByTagName("parsererror").length||b.error("Invalid XML: "+n),r},noop:function(){},globalEval:function(t){t&&b.trim(t)&&(e.execScript||function(t){e.eval.call(e,t)})(t)},camelCase:function(e){return e.replace(j,"ms-").replace(D,L)},node
Name:function(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()},each:function(e,t,n){var r,i=0,o=e.length,a=M(e);if(n){if(a){for(;o>i;i++)if(r=t.apply(e[i],n),r===!1)break}else for(i in e)if(r=t.apply(e[i],n),r===!1)break}else if(a){for(;o>i;i++)if(r=t.call(e[i],i,e[i]),r===!1)break}else for(i in e)if(r=t.call(e[i],i,e[i]),r===!1)break;return e},trim:v&&!v.call("\ufeff\u00a0")?function(e){return null==e?"":v.call(e)}:function(e){return null==e?"":(e+"").replace(T,"")},makeArray:function(e,t){var n=t||[];return null!=e&&(M(Object(e))?b.merge(n,"string"==typeof e?[e]:e):d.call(n,e)),n},inArray:function(e,t,n){var r;if(t){if(g)return g.call(t,e,n);for(r=t.length,n=n?0>n?Math.max(0,r+n):n:0;r>n;n++)if(n in t&&t[n]===e)return n}return-1},merge:function(e,n){var r=n.length,i=e.length,o=0;if("number"==typeof r)for(;r>o;o++)e[i++]=n[o];else while(n[o]!==t)e[i++]=n[o++];return e.length=i,e},grep:function(e,t,n){var r,i=[],o=0,a=e.length;for(n=!!n;a>o;o++)r=!!t(e[o],o),n!==r
&&i.push(e[o]);return i},map:function(e,t,n){var r,i=0,o=e.length,a=M(e),s=[];if(a)for(;o>i;i++)r=t(e[i],i,n),null!=r&&(s[s.length]=r);else for(i in e)r=t(e[i],i,n),null!=r&&(s[s.length]=r);return f.apply([],s)},guid:1,proxy:function(e,n){var r,i,o;return"string"==typeof n&&(o=e[n],n=e,e=o),b.isFunction(e)?(r=h.call(arguments,2),i=function(){return e.apply(n||this,r.concat(h.call(arguments)))},i.guid=e.guid=e.guid||b.guid++,i):t},access:function(e,n,r,i,o,a,s){var u=0,l=e.length,c=null==r;if("object"===b.type(r)){o=!0;for(u in r)b.access(e,n,u,r[u],!0,a,s)}else if(i!==t&&(o=!0,b.isFunction(i)||(s=!0),c&&(s?(n.call(e,i),n=null):(c=n,n=function(e,t,n){return c.call(b(e),n)})),n))for(;l>u;u++)n(e[u],r,s?i:i.call(e[u],u,n(e[u],r)));return o?e:c?n.call(e):l?n(e[0],r):a},now:function(){return(new Date).getTime()}}),b.ready.promise=function(t){if(!n)if(n=b.Deferred(),"complete"===o.readyState)setTimeout(b.ready);else if(o.addEventListener)o.addEventListener("DOMContentLoaded",H,!1),e.addEv
entListener("load",H,!1);else{o.attachEvent("onreadystatechange",H),e.attachEvent("onload",H);var r=!1;try{r=null==e.frameElement&&o.documentElement}catch(i){}r&&r.doScroll&&function a(){if(!b.isReady){try{r.doScroll("left")}catch(e){return setTimeout(a,50)}q(),b.ready()}}()}return n.promise(t)},b.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(e,t){l["[object "+t+"]"]=t.toLowerCase()});function M(e){var t=e.length,n=b.type(e);return b.isWindow(e)?!1:1===e.nodeType&&t?!0:"array"===n||"function"!==n&&(0===t||"number"==typeof t&&t>0&&t-1 in e)}r=b(o);var _={};function F(e){var t=_[e]={};return b.each(e.match(w)||[],function(e,n){t[n]=!0}),t}b.Callbacks=function(e){e="string"==typeof e?_[e]||F(e):b.extend({},e);var n,r,i,o,a,s,u=[],l=!e.once&&[],c=function(t){for(r=e.memory&&t,i=!0,a=s||0,s=0,o=u.length,n=!0;u&&o>a;a++)if(u[a].apply(t[0],t[1])===!1&&e.stopOnFalse){r=!1;break}n=!1,u&&(l?l.length&&c(l.shift()):r?u=[]:p.disable())},p={add:function(
){if(u){var t=u.length;(function i(t){b.each(t,function(t,n){var r=b.type(n);"function"===r?e.unique&&p.has(n)||u.push(n):n&&n.length&&"string"!==r&&i(n)})})(arguments),n?o=u.length:r&&(s=t,c(r))}return this},remove:function(){return u&&b.each(arguments,function(e,t){var r;while((r=b.inArray(t,u,r))>-1)u.splice(r,1),n&&(o>=r&&o--,a>=r&&a--)}),this},has:function(e){return e?b.inArray(e,u)>-1:!(!u||!u.length)},empty:function(){return u=[],this},disable:function(){return u=l=r=t,this},disabled:function(){return!u},lock:function(){return l=t,r||p.disable(),this},locked:function(){return!l},fireWith:function(e,t){return t=t||[],t=[e,t.slice?t.slice():t],!u||i&&!l||(n?l.push(t):c(t)),this},fire:function(){return p.fireWith(this,arguments),this},fired:function(){return!!i}};return p},b.extend({Deferred:function(e){var t=[["resolve","done",b.Callbacks("once memory"),"resolved"],["reject","fail",b.Callbacks("once memory"),"rejected"],["notify","progress",b.Callbacks("memory")]],n="pending",r
={state:function(){return n},always:function(){return i.done(arguments).fail(arguments),this},then:function(){var e=arguments;return b.Deferred(function(n){b.each(t,function(t,o){var a=o[0],s=b.isFunction(e[t])&&e[t];i[o[1]](function(){var e=s&&s.apply(this,arguments);e&&b.isFunction(e.promise)?e.promise().done(n.resolve).fail(n.reject).progress(n.notify):n[a+"With"](this===r?n.promise():this,s?[e]:arguments)})}),e=null}).promise()},promise:function(e){return null!=e?b.extend(e,r):r}},i={};return r.pipe=r.then,b.each(t,function(e,o){var a=o[2],s=o[3];r[o[1]]=a.add,s&&a.add(function(){n=s},t[1^e][2].disable,t[2][2].lock),i[o[0]]=function(){return i[o[0]+"With"](this===i?r:this,arguments),this},i[o[0]+"With"]=a.fireWith}),r.promise(i),e&&e.call(i,i),i},when:function(e){var t=0,n=h.call(arguments),r=n.length,i=1!==r||e&&b.isFunction(e.promise)?r:0,o=1===i?e:b.Deferred(),a=function(e,t,n){return function(r){t[e]=this,n[e]=arguments.length>1?h.call(arguments):r,n===s?o.notifyWith(t,n):--
i||o.resolveWith(t,n)}},s,u,l;if(r>1)for(s=Array(r),u=Array(r),l=Array(r);r>t;t++)n[t]&&b.isFunction(n[t].promise)?n[t].promise().done(a(t,l,n)).fail(o.reject).progress(a(t,u,s)):--i;return i||o.resolveWith(l,n),o.promise()}}),b.support=function(){var t,n,r,a,s,u,l,c,p,f,d=o.createElement("div");if(d.setAttribute("className","t"),d.innerHTML=" <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",n=d.getElementsByTagName("*"),r=d.getElementsByTagName("a")[0],!n||!r||!n.length)return{};s=o.createElement("select"),l=s.appendChild(o.createElement("option")),a=d.getElementsByTagName("input")[0],r.style.cssText="top:1px;float:left;opacity:.5",t={getSetAttribute:"t"!==d.className,leadingWhitespace:3===d.firstChild.nodeType,tbody:!d.getElementsByTagName("tbody").length,htmlSerialize:!!d.getElementsByTagName("link").length,style:/top/.test(r.getAttribute("style")),hrefNormalized:"/a"===r.getAttribute("href"),opacity:/^0.5/.test(r.style.opacity),cssFloat:!!r.style.cssFloat,check
On:!!a.value,optSelected:l.selected,enctype:!!o.createElement("form").enctype,html5Clone:"<:nav></:nav>"!==o.createElement("nav").cloneNode(!0).outerHTML,boxModel:"CSS1Compat"===o.compatMode,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0,boxSizingReliable:!0,pixelPosition:!1},a.checked=!0,t.noCloneChecked=a.cloneNode(!0).checked,s.disabled=!0,t.optDisabled=!l.disabled;try{delete d.test}catch(h){t.deleteExpando=!1}a=o.createElement("input"),a.setAttribute("value",""),t.input=""===a.getAttribute("value"),a.value="t",a.setAttribute("type","radio"),t.radioValue="t"===a.value,a.setAttribute("checked","t"),a.setAttribute("name","t"),u=o.createDocumentFragment(),u.appendChild(a),t.appendChecked=a.checked,t.checkClone=u.cloneNode(!0).cloneNode(!0).lastChild.checked,d.attachEvent&&(d.attachEvent("onclick",function(){t.noCloneEvent=!1}),d.cloneNode(!0).click());for(f in{submit:!0,change:!0,focusin:!0})d.setAttribute(c="on"+f,"t"),t[f+"Bub
bles"]=c in e||d.attributes[c].expando===!1;return d.style.backgroundClip="content-box",d.cloneNode(!0).style.backgroundClip="",t.clearCloneStyle="content-box"===d.style.backgroundClip,b(function(){var n,r,a,s="padding:0;margin:0;border:0;display:block;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;",u=o.getElementsByTagName("body")[0];u&&(n=o.createElement("div"),n.style.cssText="border:0;width:0;height:0;position:absolute;top:0;left:-9999px;margin-top:1px",u.appendChild(n).appendChild(d),d.innerHTML="<table><tr><td></td><td>t</td></tr></table>",a=d.getElementsByTagName("td"),a[0].style.cssText="padding:0;margin:0;border:0;display:none",p=0===a[0].offsetHeight,a[0].style.display="",a[1].style.display="none",t.reliableHiddenOffsets=p&&0===a[0].offsetHeight,d.innerHTML="",d.style.cssText="box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1
%;",t.boxSizing=4===d.offsetWidth,t.doesNotIncludeMarginInBodyOffset=1!==u.offsetTop,e.getComputedStyle&&(t.pixelPosition="1%"!==(e.getComputedStyle(d,null)||{}).top,t.boxSizingReliable="4px"===(e.getComputedStyle(d,null)||{width:"4px"}).width,r=d.appendChild(o.createElement("div")),r.style.cssText=d.style.cssText=s,r.style.marginRight=r.style.width="0",d.style.width="1px",t.reliableMarginRight=!parseFloat((e.getComputedStyle(r,null)||{}).marginRight)),typeof d.style.zoom!==i&&(d.innerHTML="",d.style.cssText=s+"width:1px;padding:1px;display:inline;zoom:1",t.inlineBlockNeedsLayout=3===d.offsetWidth,d.style.display="block",d.innerHTML="<div></div>",d.firstChild.style.width="5px",t.shrinkWrapBlocks=3!==d.offsetWidth,t.inlineBlockNeedsLayout&&(u.style.zoom=1)),u.removeChild(n),n=d=a=r=null)}),n=s=u=l=r=a=null,t}();var O=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/,B=/([A-Z])/g;function P(e,n,r,i){if(b.acceptData(e)){var o,a,s=b.expando,u="string"==typeof n,l=e.nodeType,p=l?b.cache:e,f=l?e[s]:e[s]&&s;
if(f&&p[f]&&(i||p[f].data)||!u||r!==t)return f||(l?e[s]=f=c.pop()||b.guid++:f=s),p[f]||(p[f]={},l||(p[f].toJSON=b.noop)),("object"==typeof n||"function"==typeof n)&&(i?p[f]=b.extend(p[f],n):p[f].data=b.extend(p[f].data,n)),o=p[f],i||(o.data||(o.data={}),o=o.data),r!==t&&(o[b.camelCase(n)]=r),u?(a=o[n],null==a&&(a=o[b.camelCase(n)])):a=o,a}}function R(e,t,n){if(b.acceptData(e)){var r,i,o,a=e.nodeType,s=a?b.cache:e,u=a?e[b.expando]:b.expando;if(s[u]){if(t&&(o=n?s[u]:s[u].data)){b.isArray(t)?t=t.concat(b.map(t,b.camelCase)):t in o?t=[t]:(t=b.camelCase(t),t=t in o?[t]:t.split(" "));for(r=0,i=t.length;i>r;r++)delete o[t[r]];if(!(n?$:b.isEmptyObject)(o))return}(n||(delete s[u].data,$(s[u])))&&(a?b.cleanData([e],!0):b.support.deleteExpando||s!=s.window?delete s[u]:s[u]=null)}}}b.extend({cache:{},expando:"jQuery"+(p+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(e){return e=e.nodeType?b.cache[e[b.expando]]:e[
b.expando],!!e&&!$(e)},data:function(e,t,n){return P(e,t,n)},removeData:function(e,t){return R(e,t)},_data:function(e,t,n){return P(e,t,n,!0)},_removeData:function(e,t){return R(e,t,!0)},acceptData:function(e){if(e.nodeType&&1!==e.nodeType&&9!==e.nodeType)return!1;var t=e.nodeName&&b.noData[e.nodeName.toLowerCase()];return!t||t!==!0&&e.getAttribute("classid")===t}}),b.fn.extend({data:function(e,n){var r,i,o=this[0],a=0,s=null;if(e===t){if(this.length&&(s=b.data(o),1===o.nodeType&&!b._data(o,"parsedAttrs"))){for(r=o.attributes;r.length>a;a++)i=r[a].name,i.indexOf("data-")||(i=b.camelCase(i.slice(5)),W(o,i,s[i]));b._data(o,"parsedAttrs",!0)}return s}return"object"==typeof e?this.each(function(){b.data(this,e)}):b.access(this,function(n){return n===t?o?W(o,e,b.data(o,e)):null:(this.each(function(){b.data(this,e,n)}),t)},null,n,arguments.length>1,null,!0)},removeData:function(e){return this.each(function(){b.removeData(this,e)})}});function W(e,n,r){if(r===t&&1===e.nodeType){var i="data
-"+n.replace(B,"-$1").toLowerCase();if(r=e.getAttribute(i),"string"==typeof r){try{r="true"===r?!0:"false"===r?!1:"null"===r?null:+r+""===r?+r:O.test(r)?b.parseJSON(r):r}catch(o){}b.data(e,n,r)}else r=t}return r}function $(e){var t;for(t in e)if(("data"!==t||!b.isEmptyObject(e[t]))&&"toJSON"!==t)return!1;return!0}b.extend({queue:function(e,n,r){var i;return e?(n=(n||"fx")+"queue",i=b._data(e,n),r&&(!i||b.isArray(r)?i=b._data(e,n,b.makeArray(r)):i.push(r)),i||[]):t},dequeue:function(e,t){t=t||"fx";var n=b.queue(e,t),r=n.length,i=n.shift(),o=b._queueHooks(e,t),a=function(){b.dequeue(e,t)};"inprogress"===i&&(i=n.shift(),r--),o.cur=i,i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,a,o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return b._data(e,n)||b._data(e,n,{empty:b.Callbacks("once memory").add(function(){b._removeData(e,t+"queue"),b._removeData(e,n)})})}}),b.fn.extend({queue:function(e,n){var r=2;return"string"!=typeof e&&(n=e,e="fx",r--),r>a
rguments.length?b.queue(this[0],e):n===t?this:this.each(function(){var t=b.queue(this,e,n);b._queueHooks(this,e),"fx"===e&&"inprogress"!==t[0]&&b.dequeue(this,e)})},dequeue:function(e){return this.each(function(){b.dequeue(this,e)})},delay:function(e,t){return e=b.fx?b.fx.speeds[e]||e:e,t=t||"fx",this.queue(t,function(t,n){var r=setTimeout(t,e);n.stop=function(){clearTimeout(r)}})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,n){var r,i=1,o=b.Deferred(),a=this,s=this.length,u=function(){--i||o.resolveWith(a,[a])};"string"!=typeof e&&(n=e,e=t),e=e||"fx";while(s--)r=b._data(a[s],e+"queueHooks"),r&&r.empty&&(i++,r.empty.add(u));return u(),o.promise(n)}});var I,z,X=/[\t\r\n]/g,U=/\r/g,V=/^(?:input|select|textarea|button|object)$/i,Y=/^(?:a|area)$/i,J=/^(?:checked|selected|autofocus|autoplay|async|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped)$/i,G=/^(?:checked|selected)$/i,Q=b.support.getSetAttribute,K=b.support.input;b.fn.extend(
{attr:function(e,t){return b.access(this,b.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){b.removeAttr(this,e)})},prop:function(e,t){return b.access(this,b.prop,e,t,arguments.length>1)},removeProp:function(e){return e=b.propFix[e]||e,this.each(function(){try{this[e]=t,delete this[e]}catch(n){}})},addClass:function(e){var t,n,r,i,o,a=0,s=this.length,u="string"==typeof e&&e;if(b.isFunction(e))return this.each(function(t){b(this).addClass(e.call(this,t,this.className))});if(u)for(t=(e||"").match(w)||[];s>a;a++)if(n=this[a],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(X," "):" ")){o=0;while(i=t[o++])0>r.indexOf(" "+i+" ")&&(r+=i+" ");n.className=b.trim(r)}return this},removeClass:function(e){var t,n,r,i,o,a=0,s=this.length,u=0===arguments.length||"string"==typeof e&&e;if(b.isFunction(e))return this.each(function(t){b(this).removeClass(e.call(this,t,this.className))});if(u)for(t=(e||"").match(w)||[];s>a;a++)if(n=this[a],r=1===n.nodeType&&
(n.className?(" "+n.className+" ").replace(X," "):"")){o=0;while(i=t[o++])while(r.indexOf(" "+i+" ")>=0)r=r.replace(" "+i+" "," ");n.className=e?b.trim(r):""}return this},toggleClass:function(e,t){var n=typeof e,r="boolean"==typeof t;return b.isFunction(e)?this.each(function(n){b(this).toggleClass(e.call(this,n,this.className,t),t)}):this.each(function(){if("string"===n){var o,a=0,s=b(this),u=t,l=e.match(w)||[];while(o=l[a++])u=r?u:!s.hasClass(o),s[u?"addClass":"removeClass"](o)}else(n===i||"boolean"===n)&&(this.className&&b._data(this,"__className__",this.className),this.className=this.className||e===!1?"":b._data(this,"__className__")||"")})},hasClass:function(e){var t=" "+e+" ",n=0,r=this.length;for(;r>n;n++)if(1===this[n].nodeType&&(" "+this[n].className+" ").replace(X," ").indexOf(t)>=0)return!0;return!1},val:function(e){var n,r,i,o=this[0];{if(arguments.length)return i=b.isFunction(e),this.each(function(n){var o,a=b(this);1===this.nodeType&&(o=i?e.call(this,n,a.val()):e,null==
o?o="":"number"==typeof o?o+="":b.isArray(o)&&(o=b.map(o,function(e){return null==e?"":e+""})),r=b.valHooks[this.type]||b.valHooks[this.nodeName.toLowerCase()],r&&"set"in r&&r.set(this,o,"value")!==t||(this.value=o))});if(o)return r=b.valHooks[o.type]||b.valHooks[o.nodeName.toLowerCase()],r&&"get"in r&&(n=r.get(o,"value"))!==t?n:(n=o.value,"string"==typeof n?n.replace(U,""):null==n?"":n)}}}),b.extend({valHooks:{option:{get:function(e){var t=e.attributes.value;return!t||t.specified?e.value:e.text}},select:{get:function(e){var t,n,r=e.options,i=e.selectedIndex,o="select-one"===e.type||0>i,a=o?null:[],s=o?i+1:r.length,u=0>i?s:o?i:0;for(;s>u;u++)if(n=r[u],!(!n.selected&&u!==i||(b.support.optDisabled?n.disabled:null!==n.getAttribute("disabled"))||n.parentNode.disabled&&b.nodeName(n.parentNode,"optgroup"))){if(t=b(n).val(),o)return t;a.push(t)}return a},set:function(e,t){var n=b.makeArray(t);return b(e).find("option").each(function(){this.selected=b.inArray(b(this).val(),n)>=0}),n.length|
|(e.selectedIndex=-1),n}}},attr:function(e,n,r){var o,a,s,u=e.nodeType;if(e&&3!==u&&8!==u&&2!==u)return typeof e.getAttribute===i?b.prop(e,n,r):(a=1!==u||!b.isXMLDoc(e),a&&(n=n.toLowerCase(),o=b.attrHooks[n]||(J.test(n)?z:I)),r===t?o&&a&&"get"in o&&null!==(s=o.get(e,n))?s:(typeof e.getAttribute!==i&&(s=e.getAttribute(n)),null==s?t:s):null!==r?o&&a&&"set"in o&&(s=o.set(e,r,n))!==t?s:(e.setAttribute(n,r+""),r):(b.removeAttr(e,n),t))},removeAttr:function(e,t){var n,r,i=0,o=t&&t.match(w);if(o&&1===e.nodeType)while(n=o[i++])r=b.propFix[n]||n,J.test(n)?!Q&&G.test(n)?e[b.camelCase("default-"+n)]=e[r]=!1:e[r]=!1:b.attr(e,n,""),e.removeAttribute(Q?n:r)},attrHooks:{type:{set:function(e,t){if(!b.support.radioValue&&"radio"===t&&b.nodeName(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},propFix:{tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",col
span:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},prop:function(e,n,r){var i,o,a,s=e.nodeType;if(e&&3!==s&&8!==s&&2!==s)return a=1!==s||!b.isXMLDoc(e),a&&(n=b.propFix[n]||n,o=b.propHooks[n]),r!==t?o&&"set"in o&&(i=o.set(e,r,n))!==t?i:e[n]=r:o&&"get"in o&&null!==(i=o.get(e,n))?i:e[n]},propHooks:{tabIndex:{get:function(e){var n=e.getAttributeNode("tabindex");return n&&n.specified?parseInt(n.value,10):V.test(e.nodeName)||Y.test(e.nodeName)&&e.href?0:t}}}}),z={get:function(e,n){var r=b.prop(e,n),i="boolean"==typeof r&&e.getAttribute(n),o="boolean"==typeof r?K&&Q?null!=i:G.test(n)?e[b.camelCase("default-"+n)]:!!i:e.getAttributeNode(n);return o&&o.value!==!1?n.toLowerCase():t},set:function(e,t,n){return t===!1?b.removeAttr(e,n):K&&Q||!G.test(n)?e.setAttribute(!Q&&b.propFix[n]||n,n):e[b.camelCase("default-"+n)]=e[n]=!0,n}},K&&Q||(b.attrHooks.value={get:function(e,n){var r=e.getAttributeNode(n);return b.nodeName(e,"input")?e.defaultValue:r&&r.specif
ied?r.value:t},set:function(e,n,r){return b.nodeName(e,"input")?(e.defaultValue=n,t):I&&I.set(e,n,r)}}),Q||(I=b.valHooks.button={get:function(e,n){var r=e.getAttributeNode(n);return r&&("id"===n||"name"===n||"coords"===n?""!==r.value:r.specified)?r.value:t},set:function(e,n,r){var i=e.getAttributeNode(r);return i||e.setAttributeNode(i=e.ownerDocument.createAttribute(r)),i.value=n+="","value"===r||n===e.getAttribute(r)?n:t}},b.attrHooks.contenteditable={get:I.get,set:function(e,t,n){I.set(e,""===t?!1:t,n)}},b.each(["width","height"],function(e,n){b.attrHooks[n]=b.extend(b.attrHooks[n],{set:function(e,r){return""===r?(e.setAttribute(n,"auto"),r):t}})})),b.support.hrefNormalized||(b.each(["href","src","width","height"],function(e,n){b.attrHooks[n]=b.extend(b.attrHooks[n],{get:function(e){var r=e.getAttribute(n,2);return null==r?t:r}})}),b.each(["href","src"],function(e,t){b.propHooks[t]={get:function(e){return e.getAttribute(t,4)}}})),b.support.style||(b.attrHooks.style={get:function(e
){return e.style.cssText||t},set:function(e,t){return e.style.cssText=t+""}}),b.support.optSelected||(b.propHooks.selected=b.extend(b.propHooks.selected,{get:function(e){var t=e.parentNode;return t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex),null}})),b.support.enctype||(b.propFix.enctype="encoding"),b.support.checkOn||b.each(["radio","checkbox"],function(){b.valHooks[this]={get:function(e){return null===e.getAttribute("value")?"on":e.value}}}),b.each(["radio","checkbox"],function(){b.valHooks[this]=b.extend(b.valHooks[this],{set:function(e,n){return b.isArray(n)?e.checked=b.inArray(b(e).val(),n)>=0:t}})});var Z=/^(?:input|select|textarea)$/i,et=/^key/,tt=/^(?:mouse|contextmenu)|click/,nt=/^(?:focusinfocus|focusoutblur)$/,rt=/^([^.]*)(?:\.(.+)|)$/;function it(){return!0}function ot(){return!1}b.event={global:{},add:function(e,n,r,o,a){var s,u,l,c,p,f,d,h,g,m,y,v=b._data(e);if(v){r.handler&&(c=r,r=c.handler,a=c.selector),r.guid||(r.guid=b.guid++),(u=v.events)||(u=v.eve
nts={}),(f=v.handle)||(f=v.handle=function(e){return typeof b===i||e&&b.event.triggered===e.type?t:b.event.dispatch.apply(f.elem,arguments)},f.elem=e),n=(n||"").match(w)||[""],l=n.length;while(l--)s=rt.exec(n[l])||[],g=y=s[1],m=(s[2]||"").split(".").sort(),p=b.event.special[g]||{},g=(a?p.delegateType:p.bindType)||g,p=b.event.special[g]||{},d=b.extend({type:g,origType:y,data:o,handler:r,guid:r.guid,selector:a,needsContext:a&&b.expr.match.needsContext.test(a),namespace:m.join(".")},c),(h=u[g])||(h=u[g]=[],h.delegateCount=0,p.setup&&p.setup.call(e,o,m,f)!==!1||(e.addEventListener?e.addEventListener(g,f,!1):e.attachEvent&&e.attachEvent("on"+g,f))),p.add&&(p.add.call(e,d),d.handler.guid||(d.handler.guid=r.guid)),a?h.splice(h.delegateCount++,0,d):h.push(d),b.event.global[g]=!0;e=null}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,p,f,d,h,g,m=b.hasData(e)&&b._data(e);if(m&&(c=m.events)){t=(t||"").match(w)||[""],l=t.length;while(l--)if(s=rt.exec(t[l])||[],d=g=s[1],h=(s[2]||"").split(".").sort
(),d){p=b.event.special[d]||{},d=(r?p.delegateType:p.bindType)||d,f=c[d]||[],s=s[2]&&RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),u=o=f.length;while(o--)a=f[o],!i&&g!==a.origType||n&&n.guid!==a.guid||s&&!s.test(a.namespace)||r&&r!==a.selector&&("**"!==r||!a.selector)||(f.splice(o,1),a.selector&&f.delegateCount--,p.remove&&p.remove.call(e,a));u&&!f.length&&(p.teardown&&p.teardown.call(e,h,m.handle)!==!1||b.removeEvent(e,d,m.handle),delete c[d])}else for(d in c)b.event.remove(e,d+t[l],n,r,!0);b.isEmptyObject(c)&&(delete m.handle,b._removeData(e,"events"))}},trigger:function(n,r,i,a){var s,u,l,c,p,f,d,h=[i||o],g=y.call(n,"type")?n.type:n,m=y.call(n,"namespace")?n.namespace.split("."):[];if(l=f=i=i||o,3!==i.nodeType&&8!==i.nodeType&&!nt.test(g+b.event.triggered)&&(g.indexOf(".")>=0&&(m=g.split("."),g=m.shift(),m.sort()),u=0>g.indexOf(":")&&"on"+g,n=n[b.expando]?n:new b.Event(g,"object"==typeof n&&n),n.isTrigger=!0,n.namespace=m.join("."),n.namespace_re=n.namespace?RegExp("(^|\\.)
"+m.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,n.result=t,n.target||(n.target=i),r=null==r?[n]:b.makeArray(r,[n]),p=b.event.special[g]||{},a||!p.trigger||p.trigger.apply(i,r)!==!1)){if(!a&&!p.noBubble&&!b.isWindow(i)){for(c=p.delegateType||g,nt.test(c+g)||(l=l.parentNode);l;l=l.parentNode)h.push(l),f=l;f===(i.ownerDocument||o)&&h.push(f.defaultView||f.parentWindow||e)}d=0;while((l=h[d++])&&!n.isPropagationStopped())n.type=d>1?c:p.bindType||g,s=(b._data(l,"events")||{})[n.type]&&b._data(l,"handle"),s&&s.apply(l,r),s=u&&l[u],s&&b.acceptData(l)&&s.apply&&s.apply(l,r)===!1&&n.preventDefault();if(n.type=g,!(a||n.isDefaultPrevented()||p._default&&p._default.apply(i.ownerDocument,r)!==!1||"click"===g&&b.nodeName(i,"a")||!b.acceptData(i)||!u||!i[g]||b.isWindow(i))){f=i[u],f&&(i[u]=null),b.event.triggered=g;try{i[g]()}catch(v){}b.event.triggered=t,f&&(i[u]=f)}return n.result}},dispatch:function(e){e=b.event.fix(e);var n,r,i,o,a,s=[],u=h.call(arguments),l=(b._data(this,"events")||{})[e.type]||[],c
=b.event.special[e.type]||{};if(u[0]=e,e.delegateTarget=this,!c.preDispatch||c.preDispatch.call(this,e)!==!1){s=b.event.handlers.call(this,e,l),n=0;while((o=s[n++])&&!e.isPropagationStopped()){e.currentTarget=o.elem,a=0;while((i=o.handlers[a++])&&!e.isImmediatePropagationStopped())(!e.namespace_re||e.namespace_re.test(i.namespace))&&(e.handleObj=i,e.data=i.data,r=((b.event.special[i.origType]||{}).handle||i.handler).apply(o.elem,u),r!==t&&(e.result=r)===!1&&(e.preventDefault(),e.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,e),e.result}},handlers:function(e,n){var r,i,o,a,s=[],u=n.delegateCount,l=e.target;if(u&&l.nodeType&&(!e.button||"click"!==e.type))for(;l!=this;l=l.parentNode||this)if(1===l.nodeType&&(l.disabled!==!0||"click"!==e.type)){for(o=[],a=0;u>a;a++)i=n[a],r=i.selector+" ",o[r]===t&&(o[r]=i.needsContext?b(r,this).index(l)>=0:b.find(r,this,null,[l]).length),o[r]&&o.push(i);o.length&&s.push({elem:l,handlers:o})}return n.length>u&&s.push({elem:this,han
dlers:n.slice(u)}),s},fix:function(e){if(e[b.expando])return e;var t,n,r,i=e.type,a=e,s=this.fixHooks[i];s||(this.fixHooks[i]=s=tt.test(i)?this.mouseHooks:et.test(i)?this.keyHooks:{}),r=s.props?this.props.concat(s.props):this.props,e=new b.Event(a),t=r.length;while(t--)n=r[t],e[n]=a[n];return e.target||(e.target=a.srcElement||o),3===e.target.nodeType&&(e.target=e.target.parentNode),e.metaKey=!!e.metaKey,s.filter?s.filter(e,a):e},props:"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(e,t){return null==e.which&&(e.which=null!=t.charCode?t.charCode:t.keyCode),e}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(e,n){var r,i,a,s=n.button,u=n.fromElement;return null==e.pageX&&null!=n.clientX&&(i=e.target.ownerDocument||o,a=i.documen
tElement,r=i.body,e.pageX=n.clientX+(a&&a.scrollLeft||r&&r.scrollLeft||0)-(a&&a.clientLeft||r&&r.clientLeft||0),e.pageY=n.clientY+(a&&a.scrollTop||r&&r.scrollTop||0)-(a&&a.clientTop||r&&r.clientTop||0)),!e.relatedTarget&&u&&(e.relatedTarget=u===e.target?n.toElement:u),e.which||s===t||(e.which=1&s?1:2&s?3:4&s?2:0),e}},special:{load:{noBubble:!0},click:{trigger:function(){return b.nodeName(this,"input")&&"checkbox"===this.type&&this.click?(this.click(),!1):t}},focus:{trigger:function(){if(this!==o.activeElement&&this.focus)try{return this.focus(),!1}catch(e){}},delegateType:"focusin"},blur:{trigger:function(){return this===o.activeElement&&this.blur?(this.blur(),!1):t},delegateType:"focusout"},beforeunload:{postDispatch:function(e){e.result!==t&&(e.originalEvent.returnValue=e.result)}}},simulate:function(e,t,n,r){var i=b.extend(new b.Event,n,{type:e,isSimulated:!0,originalEvent:{}});r?b.event.trigger(i,null,t):b.event.dispatch.call(t,i),i.isDefaultPrevented()&&n.preventDefault()}},b.r
emoveEvent=o.removeEventListener?function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n,!1)}:function(e,t,n){var r="on"+t;e.detachEvent&&(typeof e[r]===i&&(e[r]=null),e.detachEvent(r,n))},b.Event=function(e,n){return this instanceof b.Event?(e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||e.returnValue===!1||e.getPreventDefault&&e.getPreventDefault()?it:ot):this.type=e,n&&b.extend(this,n),this.timeStamp=e&&e.timeStamp||b.now(),this[b.expando]=!0,t):new b.Event(e,n)},b.Event.prototype={isDefaultPrevented:ot,isPropagationStopped:ot,isImmediatePropagationStopped:ot,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=it,e&&(e.preventDefault?e.preventDefault():e.returnValue=!1)},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=it,e&&(e.stopPropagation&&e.stopPropagation(),e.cancelBubble=!0)},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=it,this.stopPropagati
on()}},b.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(e,t){b.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,r=this,i=e.relatedTarget,o=e.handleObj;
-return(!i||i!==r&&!b.contains(r,i))&&(e.type=o.origType,n=o.handler.apply(this,arguments),e.type=t),n}}}),b.support.submitBubbles||(b.event.special.submit={setup:function(){return b.nodeName(this,"form")?!1:(b.event.add(this,"click._submit keypress._submit",function(e){var n=e.target,r=b.nodeName(n,"input")||b.nodeName(n,"button")?n.form:t;r&&!b._data(r,"submitBubbles")&&(b.event.add(r,"submit._submit",function(e){e._submit_bubble=!0}),b._data(r,"submitBubbles",!0))}),t)},postDispatch:function(e){e._submit_bubble&&(delete e._submit_bubble,this.parentNode&&!e.isTrigger&&b.event.simulate("submit",this.parentNode,e,!0))},teardown:function(){return b.nodeName(this,"form")?!1:(b.event.remove(this,"._submit"),t)}}),b.support.changeBubbles||(b.event.special.change={setup:function(){return Z.test(this.nodeName)?(("checkbox"===this.type||"radio"===this.type)&&(b.event.add(this,"propertychange._change",function(e){"checked"===e.originalEvent.propertyName&&(this._just_changed=!0)}),b.event.add
(this,"click._change",function(e){this._just_changed&&!e.isTrigger&&(this._just_changed=!1),b.event.simulate("change",this,e,!0)})),!1):(b.event.add(this,"beforeactivate._change",function(e){var t=e.target;Z.test(t.nodeName)&&!b._data(t,"changeBubbles")&&(b.event.add(t,"change._change",function(e){!this.parentNode||e.isSimulated||e.isTrigger||b.event.simulate("change",this.parentNode,e,!0)}),b._data(t,"changeBubbles",!0))}),t)},handle:function(e){var n=e.target;return this!==n||e.isSimulated||e.isTrigger||"radio"!==n.type&&"checkbox"!==n.type?e.handleObj.handler.apply(this,arguments):t},teardown:function(){return b.event.remove(this,"._change"),!Z.test(this.nodeName)}}),b.support.focusinBubbles||b.each({focus:"focusin",blur:"focusout"},function(e,t){var n=0,r=function(e){b.event.simulate(t,e.target,b.event.fix(e),!0)};b.event.special[t]={setup:function(){0===n++&&o.addEventListener(e,r,!0)},teardown:function(){0===--n&&o.removeEventListener(e,r,!0)}}}),b.fn.extend({on:function(e,n,r
,i,o){var a,s;if("object"==typeof e){"string"!=typeof n&&(r=r||n,n=t);for(a in e)this.on(a,n,r,e[a],o);return this}if(null==r&&null==i?(i=n,r=n=t):null==i&&("string"==typeof n?(i=r,r=t):(i=r,r=n,n=t)),i===!1)i=ot;else if(!i)return this;return 1===o&&(s=i,i=function(e){return b().off(e),s.apply(this,arguments)},i.guid=s.guid||(s.guid=b.guid++)),this.each(function(){b.event.add(this,e,i,r,n)})},one:function(e,t,n,r){return this.on(e,t,n,r,1)},off:function(e,n,r){var i,o;if(e&&e.preventDefault&&e.handleObj)return i=e.handleObj,b(e.delegateTarget).off(i.namespace?i.origType+"."+i.namespace:i.origType,i.selector,i.handler),this;if("object"==typeof e){for(o in e)this.off(o,n,e[o]);return this}return(n===!1||"function"==typeof n)&&(r=n,n=t),r===!1&&(r=ot),this.each(function(){b.event.remove(this,e,r,n)})},bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===
arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},trigger:function(e,t){return this.each(function(){b.event.trigger(e,t,this)})},triggerHandler:function(e,n){var r=this[0];return r?b.event.trigger(e,n,r,!0):t}}),function(e,t){var n,r,i,o,a,s,u,l,c,p,f,d,h,g,m,y,v,x="sizzle"+-new Date,w=e.document,T={},N=0,C=0,k=it(),E=it(),S=it(),A=typeof t,j=1<<31,D=[],L=D.pop,H=D.push,q=D.slice,M=D.indexOf||function(e){var t=0,n=this.length;for(;n>t;t++)if(this[t]===e)return t;return-1},_="[\\x20\\t\\r\\n\\f]",F="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",O=F.replace("w","w#"),B="([*^$|!~]?=)",P="\\["+_+"*("+F+")"+_+"*(?:"+B+_+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+O+")|)|)"+_+"*\\]",R=":("+F+")(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|"+P.replace(3,8)+")*)|.*)\\)|)",W=RegExp("^"+_+"+|((?:^|[^\\\\])(?:\\\\.)*)"+_+"+$","g"),$=RegExp("^"+_+"*,"+_+"*"),I=RegExp("^"+_+"*([\\x20\\t\\r\\n\\f>+~])"+_+"*"),z=RegExp(R),X=RegExp("^"+O+"$"),U={ID:RegExp("^#("+F+")"),CLASS:RegExp("^\\.("+F
+")"),NAME:RegExp("^\\[name=['\"]?("+F+")['\"]?\\]"),TAG:RegExp("^("+F.replace("w","w*")+")"),ATTR:RegExp("^"+P),PSEUDO:RegExp("^"+R),CHILD:RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+_+"*(even|odd|(([+-]|)(\\d*)n|)"+_+"*(?:([+-]|)"+_+"*(\\d+)|))"+_+"*\\)|)","i"),needsContext:RegExp("^"+_+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+_+"*((?:-\\d)?\\d*)"+_+"*\\)|)(?=[^-]|$)","i")},V=/[\x20\t\r\n\f]*[+~]/,Y=/^[^{]+\{\s*\[native code/,J=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,G=/^(?:input|select|textarea|button)$/i,Q=/^h\d$/i,K=/'|\\/g,Z=/\=[\x20\t\r\n\f]*([^'"\]]*)[\x20\t\r\n\f]*\]/g,et=/\\([\da-fA-F]{1,6}[\x20\t\r\n\f]?|.)/g,tt=function(e,t){var n="0x"+t-65536;return n!==n?t:0>n?String.fromCharCode(n+65536):String.fromCharCode(55296|n>>10,56320|1023&n)};try{q.call(w.documentElement.childNodes,0)[0].nodeType}catch(nt){q=function(e){var t,n=[];while(t=this[e++])n.push(t);return n}}function rt(e){return Y.test(e+"")}function it(){var e,t=[];return e=function(n,r){re
turn t.push(n+=" ")>i.cacheLength&&delete e[t.shift()],e[n]=r}}function ot(e){return e[x]=!0,e}function at(e){var t=p.createElement("div");try{return e(t)}catch(n){return!1}finally{t=null}}function st(e,t,n,r){var i,o,a,s,u,l,f,g,m,v;if((t?t.ownerDocument||t:w)!==p&&c(t),t=t||p,n=n||[],!e||"string"!=typeof e)return n;if(1!==(s=t.nodeType)&&9!==s)return[];if(!d&&!r){if(i=J.exec(e))if(a=i[1]){if(9===s){if(o=t.getElementById(a),!o||!o.parentNode)return n;if(o.id===a)return n.push(o),n}else if(t.ownerDocument&&(o=t.ownerDocument.getElementById(a))&&y(t,o)&&o.id===a)return n.push(o),n}else{if(i[2])return H.apply(n,q.call(t.getElementsByTagName(e),0)),n;if((a=i[3])&&T.getByClassName&&t.getElementsByClassName)return H.apply(n,q.call(t.getElementsByClassName(a),0)),n}if(T.qsa&&!h.test(e)){if(f=!0,g=x,m=t,v=9===s&&e,1===s&&"object"!==t.nodeName.toLowerCase()){l=ft(e),(f=t.getAttribute("id"))?g=f.replace(K,"\\$&"):t.setAttribute("id",g),g="[id='"+g+"'] ",u=l.length;while(u--)l[u]=g+dt(l[u]);m
=V.test(e)&&t.parentNode||t,v=l.join(",")}if(v)try{return H.apply(n,q.call(m.querySelectorAll(v),0)),n}catch(b){}finally{f||t.removeAttribute("id")}}}return wt(e.replace(W,"$1"),t,n,r)}a=st.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return t?"HTML"!==t.nodeName:!1},c=st.setDocument=function(e){var n=e?e.ownerDocument||e:w;return n!==p&&9===n.nodeType&&n.documentElement?(p=n,f=n.documentElement,d=a(n),T.tagNameNoComments=at(function(e){return e.appendChild(n.createComment("")),!e.getElementsByTagName("*").length}),T.attributes=at(function(e){e.innerHTML="<select></select>";var t=typeof e.lastChild.getAttribute("multiple");return"boolean"!==t&&"string"!==t}),T.getByClassName=at(function(e){return e.innerHTML="<div class='hidden e'></div><div class='hidden'></div>",e.getElementsByClassName&&e.getElementsByClassName("e").length?(e.lastChild.className="e",2===e.getElementsByClassName("e").length):!1}),T.getByName=at(function(e){e.id=x+0,e.innerHTML="<a name='"+x+"'><
/a><div name='"+x+"'></div>",f.insertBefore(e,f.firstChild);var t=n.getElementsByName&&n.getElementsByName(x).length===2+n.getElementsByName(x+0).length;return T.getIdNotName=!n.getElementById(x),f.removeChild(e),t}),i.attrHandle=at(function(e){return e.innerHTML="<a href='#'></a>",e.firstChild&&typeof e.firstChild.getAttribute!==A&&"#"===e.firstChild.getAttribute("href")})?{}:{href:function(e){return e.getAttribute("href",2)},type:function(e){return e.getAttribute("type")}},T.getIdNotName?(i.find.ID=function(e,t){if(typeof t.getElementById!==A&&!d){var n=t.getElementById(e);return n&&n.parentNode?[n]:[]}},i.filter.ID=function(e){var t=e.replace(et,tt);return function(e){return e.getAttribute("id")===t}}):(i.find.ID=function(e,n){if(typeof n.getElementById!==A&&!d){var r=n.getElementById(e);return r?r.id===e||typeof r.getAttributeNode!==A&&r.getAttributeNode("id").value===e?[r]:t:[]}},i.filter.ID=function(e){var t=e.replace(et,tt);return function(e){var n=typeof e.getAttributeNode!=
=A&&e.getAttributeNode("id");return n&&n.value===t}}),i.find.TAG=T.tagNameNoComments?function(e,n){return typeof n.getElementsByTagName!==A?n.getElementsByTagName(e):t}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},i.find.NAME=T.getByName&&function(e,n){return typeof n.getElementsByName!==A?n.getElementsByName(name):t},i.find.CLASS=T.getByClassName&&function(e,n){return typeof n.getElementsByClassName===A||d?t:n.getElementsByClassName(e)},g=[],h=[":focus"],(T.qsa=rt(n.querySelectorAll))&&(at(function(e){e.innerHTML="<select><option selected=''></option></select>",e.querySelectorAll("[selected]").length||h.push("\\["+_+"*(?:checked|disabled|ismap|multiple|readonly|selected|value)"),e.querySelectorAll(":checked").length||h.push(":checked")}),at(function(e){e.innerHTML="<input type='hidden' i=''/>",e.querySelectorAll("[i^='']").length&&h.push("[*^$]="+_+"*(?:\"\"|'')"),e.querySelectorAll(":enabled").leng
th||h.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),h.push(",.*:")})),(T.matchesSelector=rt(m=f.matchesSelector||f.mozMatchesSelector||f.webkitMatchesSelector||f.oMatchesSelector||f.msMatchesSelector))&&at(function(e){T.disconnectedMatch=m.call(e,"div"),m.call(e,"[s!='']:x"),g.push("!=",R)}),h=RegExp(h.join("|")),g=RegExp(g.join("|")),y=rt(f.contains)||f.compareDocumentPosition?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},v=f.compareDocumentPosition?function(e,t){var r;return e===t?(u=!0,0):(r=t.compareDocumentPosition&&e.compareDocumentPosition&&e.compareDocumentPosition(t))?1&r||e.parentNode&&11===e.parentNode.nodeType?e===n||y(w,e)?-1:t===n||y(w,t)?1:0:4&r?-1:1:e.compareDocumentPosition?-1:1}:function(e,t){var r,i=0,o=e.parentNode,a=t.parentNode,s=[e],l
=[t];if(e===t)return u=!0,0;if(!o||!a)return e===n?-1:t===n?1:o?-1:a?1:0;if(o===a)return ut(e,t);r=e;while(r=r.parentNode)s.unshift(r);r=t;while(r=r.parentNode)l.unshift(r);while(s[i]===l[i])i++;return i?ut(s[i],l[i]):s[i]===w?-1:l[i]===w?1:0},u=!1,[0,0].sort(v),T.detectDuplicates=u,p):p},st.matches=function(e,t){return st(e,null,null,t)},st.matchesSelector=function(e,t){if((e.ownerDocument||e)!==p&&c(e),t=t.replace(Z,"='$1']"),!(!T.matchesSelector||d||g&&g.test(t)||h.test(t)))try{var n=m.call(e,t);if(n||T.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(r){}return st(t,p,null,[e]).length>0},st.contains=function(e,t){return(e.ownerDocument||e)!==p&&c(e),y(e,t)},st.attr=function(e,t){var n;return(e.ownerDocument||e)!==p&&c(e),d||(t=t.toLowerCase()),(n=i.attrHandle[t])?n(e):d||T.attributes?e.getAttribute(t):((n=e.getAttributeNode(t))||e.getAttribute(t))&&e[t]===!0?t:n&&n.specified?n.value:null},st.error=function(e){throw Error("Syntax error, unrecognized expressi
on: "+e)},st.uniqueSort=function(e){var t,n=[],r=1,i=0;if(u=!T.detectDuplicates,e.sort(v),u){for(;t=e[r];r++)t===e[r-1]&&(i=n.push(r));while(i--)e.splice(n[i],1)}return e};function ut(e,t){var n=t&&e,r=n&&(~t.sourceIndex||j)-(~e.sourceIndex||j);if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function lt(e){return function(t){var n=t.nodeName.toLowerCase();return"input"===n&&t.type===e}}function ct(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function pt(e){return ot(function(t){return t=+t,ot(function(n,r){var i,o=e([],n.length,t),a=o.length;while(a--)n[i=o[a]]&&(n[i]=!(r[i]=n[i]))})})}o=st.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=o(e)}else if(3===i||4===i)return e.nodeValue}else for(;t=e[r];r++)n+=o(t);return n},i=st.selectors={cacheLength:50,createPseudo:ot,match:U,find:{
},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(et,tt),e[3]=(e[4]||e[5]||"").replace(et,tt),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||st.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&st.error(e[0]),e},PSEUDO:function(e){var t,n=!e[5]&&e[2];return U.CHILD.test(e[0])?null:(e[4]?e[2]=e[4]:n&&z.test(n)&&(t=ft(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){return"*"===e?function(){return!0}:(e=e.replace(et,tt).toLowerCase(),function(t){return t.nodeName&&t.nodeName.toLowerCase()===e})},CLASS:function(e){var t=k[e+" "];return t||(t=RegExp("(^|"+_+")"+e+"("+_+"|$)"))&&k(e,function(e){return t.test(e.className||typeof e.getAttr
ibute!==A&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r){var i=st.attr(r,e);return null==i?"!="===t:t?(i+="","="===t?i===n:"!="===t?i!==n:"^="===t?n&&0===i.indexOf(n):"*="===t?n&&i.indexOf(n)>-1:"$="===t?n&&i.slice(-n.length)===n:"~="===t?(" "+i+" ").indexOf(n)>-1:"|="===t?i===n||i.slice(0,n.length+1)===n+"-":!1):!0}},CHILD:function(e,t,n,r,i){var o="nth"!==e.slice(0,3),a="last"!==e.slice(-4),s="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,u){var l,c,p,f,d,h,g=o!==a?"nextSibling":"previousSibling",m=t.parentNode,y=s&&t.nodeName.toLowerCase(),v=!u&&!s;if(m){if(o){while(g){p=t;while(p=p[g])if(s?p.nodeName.toLowerCase()===y:1===p.nodeType)return!1;h=g="only"===e&&!h&&"nextSibling"}return!0}if(h=[a?m.firstChild:m.lastChild],a&&v){c=m[x]||(m[x]={}),l=c[e]||[],d=l[0]===N&&l[1],f=l[0]===N&&l[2],p=d&&m.childNodes[d];while(p=++d&&p&&p[g]||(f=d=0)||h.pop())if(1===p.nodeType&&++f&&p===t){c[e]=[N,d,f];break}}else if(v&&(l=(t[x]||(t[x]
={}))[e])&&l[0]===N)f=l[1];else while(p=++d&&p&&p[g]||(f=d=0)||h.pop())if((s?p.nodeName.toLowerCase()===y:1===p.nodeType)&&++f&&(v&&((p[x]||(p[x]={}))[e]=[N,f]),p===t))break;return f-=i,f===r||0===f%r&&f/r>=0}}},PSEUDO:function(e,t){var n,r=i.pseudos[e]||i.setFilters[e.toLowerCase()]||st.error("unsupported pseudo: "+e);return r[x]?r(t):r.length>1?(n=[e,e,"",t],i.setFilters.hasOwnProperty(e.toLowerCase())?ot(function(e,n){var i,o=r(e,t),a=o.length;while(a--)i=M.call(e,o[a]),e[i]=!(n[i]=o[a])}):function(e){return r(e,0,n)}):r}},pseudos:{not:ot(function(e){var t=[],n=[],r=s(e.replace(W,"$1"));return r[x]?ot(function(e,t,n,i){var o,a=r(e,null,i,[]),s=e.length;while(s--)(o=a[s])&&(e[s]=!(t[s]=o))}):function(e,i,o){return t[0]=e,r(t,null,o,n),!n.pop()}}),has:ot(function(e){return function(t){return st(e,t).length>0}}),contains:ot(function(e){return function(t){return(t.textContent||t.innerText||o(t)).indexOf(e)>-1}}),lang:ot(function(e){return X.test(e||"")||st.error("unsupported lang: "+
e),e=e.replace(et,tt).toLowerCase(),function(t){var n;do if(n=d?t.getAttribute("xml:lang")||t.getAttribute("lang"):t.lang)return n=n.toLowerCase(),n===e||0===n.indexOf(e+"-");while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===f},focus:function(e){return e===p.activeElement&&(!p.hasFocus||p.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:function(e){return e.disabled===!1},disabled:function(e){return e.disabled===!0},checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,e.selected===!0},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeName>"@"||3===e.nodeType||4===e.nodeType)return!1;return!0},parent:function(e){return!i.pseudos.empty(e)},header:function(e){return Q.test(e.nodeName)},input:function(e){return G.test(e.nodeName)},bu
tton:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||t.toLowerCase()===e.type)},first:pt(function(){return[0]}),last:pt(function(e,t){return[t-1]}),eq:pt(function(e,t,n){return[0>n?n+t:n]}),even:pt(function(e,t){var n=0;for(;t>n;n+=2)e.push(n);return e}),odd:pt(function(e,t){var n=1;for(;t>n;n+=2)e.push(n);return e}),lt:pt(function(e,t,n){var r=0>n?n+t:n;for(;--r>=0;)e.push(r);return e}),gt:pt(function(e,t,n){var r=0>n?n+t:n;for(;t>++r;)e.push(r);return e})}};for(n in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})i.pseudos[n]=lt(n);for(n in{submit:!0,reset:!0})i.pseudos[n]=ct(n);function ft(e,t){var n,r,o,a,s,u,l,c=E[e+" "];if(c)return t?0:c.slice(0);s=e,u=[],l=i.preFilter;while(s){(!n||(r=$.exec(s)))&&(r&&(s=s.slice(r[0].length)||s),u.push(o=[])),n=!1,(r=I.exec(s))&&(n=r.shift(),o.push({value:n,type:r[0].replace(W,"
")}),s=s.slice(n.length));for(a in i.filter)!(r=U[a].exec(s))||l[a]&&!(r=l[a](r))||(n=r.shift(),o.push({value:n,type:a,matches:r}),s=s.slice(n.length));if(!n)break}return t?s.length:s?st.error(e):E(e,u).slice(0)}function dt(e){var t=0,n=e.length,r="";for(;n>t;t++)r+=e[t].value;return r}function ht(e,t,n){var i=t.dir,o=n&&"parentNode"===i,a=C++;return t.first?function(t,n,r){while(t=t[i])if(1===t.nodeType||o)return e(t,n,r)}:function(t,n,s){var u,l,c,p=N+" "+a;if(s){while(t=t[i])if((1===t.nodeType||o)&&e(t,n,s))return!0}else while(t=t[i])if(1===t.nodeType||o)if(c=t[x]||(t[x]={}),(l=c[i])&&l[0]===p){if((u=l[1])===!0||u===r)return u===!0}else if(l=c[i]=[p],l[1]=e(t,n,s)||r,l[1]===!0)return!0}}function gt(e){return e.length>1?function(t,n,r){var i=e.length;while(i--)if(!e[i](t,n,r))return!1;return!0}:e[0]}function mt(e,t,n,r,i){var o,a=[],s=0,u=e.length,l=null!=t;for(;u>s;s++)(o=e[s])&&(!n||n(o,r,i))&&(a.push(o),l&&t.push(s));return a}function yt(e,t,n,r,i,o){return r&&!r[x]&&(r=yt(r))
,i&&!i[x]&&(i=yt(i,o)),ot(function(o,a,s,u){var l,c,p,f=[],d=[],h=a.length,g=o||xt(t||"*",s.nodeType?[s]:s,[]),m=!e||!o&&t?g:mt(g,f,e,s,u),y=n?i||(o?e:h||r)?[]:a:m;if(n&&n(m,y,s,u),r){l=mt(y,d),r(l,[],s,u),c=l.length;while(c--)(p=l[c])&&(y[d[c]]=!(m[d[c]]=p))}if(o){if(i||e){if(i){l=[],c=y.length;while(c--)(p=y[c])&&l.push(m[c]=p);i(null,y=[],l,u)}c=y.length;while(c--)(p=y[c])&&(l=i?M.call(o,p):f[c])>-1&&(o[l]=!(a[l]=p))}}else y=mt(y===a?y.splice(h,y.length):y),i?i(null,a,y,u):H.apply(a,y)})}function vt(e){var t,n,r,o=e.length,a=i.relative[e[0].type],s=a||i.relative[" "],u=a?1:0,c=ht(function(e){return e===t},s,!0),p=ht(function(e){return M.call(t,e)>-1},s,!0),f=[function(e,n,r){return!a&&(r||n!==l)||((t=n).nodeType?c(e,n,r):p(e,n,r))}];for(;o>u;u++)if(n=i.relative[e[u].type])f=[ht(gt(f),n)];else{if(n=i.filter[e[u].type].apply(null,e[u].matches),n[x]){for(r=++u;o>r;r++)if(i.relative[e[r].type])break;return yt(u>1&&gt(f),u>1&&dt(e.slice(0,u-1)).replace(W,"$1"),n,r>u&&vt(e.slice(u,r)),
o>r&&vt(e=e.slice(r)),o>r&&dt(e))}f.push(n)}return gt(f)}function bt(e,t){var n=0,o=t.length>0,a=e.length>0,s=function(s,u,c,f,d){var h,g,m,y=[],v=0,b="0",x=s&&[],w=null!=d,T=l,C=s||a&&i.find.TAG("*",d&&u.parentNode||u),k=N+=null==T?1:Math.random()||.1;for(w&&(l=u!==p&&u,r=n);null!=(h=C[b]);b++){if(a&&h){g=0;while(m=e[g++])if(m(h,u,c)){f.push(h);break}w&&(N=k,r=++n)}o&&((h=!m&&h)&&v--,s&&x.push(h))}if(v+=b,o&&b!==v){g=0;while(m=t[g++])m(x,y,u,c);if(s){if(v>0)while(b--)x[b]||y[b]||(y[b]=L.call(f));y=mt(y)}H.apply(f,y),w&&!s&&y.length>0&&v+t.length>1&&st.uniqueSort(f)}return w&&(N=k,l=T),x};return o?ot(s):s}s=st.compile=function(e,t){var n,r=[],i=[],o=S[e+" "];if(!o){t||(t=ft(e)),n=t.length;while(n--)o=vt(t[n]),o[x]?r.push(o):i.push(o);o=S(e,bt(i,r))}return o};function xt(e,t,n){var r=0,i=t.length;for(;i>r;r++)st(e,t[r],n);return n}function wt(e,t,n,r){var o,a,u,l,c,p=ft(e);if(!r&&1===p.length){if(a=p[0]=p[0].slice(0),a.length>2&&"ID"===(u=a[0]).type&&9===t.nodeType&&!d&&i.relative[a[
1].type]){if(t=i.find.ID(u.matches[0].replace(et,tt),t)[0],!t)return n;e=e.slice(a.shift().value.length)}o=U.needsContext.test(e)?0:a.length;while(o--){if(u=a[o],i.relative[l=u.type])break;if((c=i.find[l])&&(r=c(u.matches[0].replace(et,tt),V.test(a[0].type)&&t.parentNode||t))){if(a.splice(o,1),e=r.length&&dt(a),!e)return H.apply(n,q.call(r,0)),n;break}}}return s(e,p)(r,t,d,n,V.test(e)),n}i.pseudos.nth=i.pseudos.eq;function Tt(){}i.filters=Tt.prototype=i.pseudos,i.setFilters=new Tt,c(),st.attr=b.attr,b.find=st,b.expr=st.selectors,b.expr[":"]=b.expr.pseudos,b.unique=st.uniqueSort,b.text=st.getText,b.isXMLDoc=st.isXML,b.contains=st.contains}(e);var at=/Until$/,st=/^(?:parents|prev(?:Until|All))/,ut=/^.[^:#\[\.,]*$/,lt=b.expr.match.needsContext,ct={children:!0,contents:!0,next:!0,prev:!0};b.fn.extend({find:function(e){var t,n,r,i=this.length;if("string"!=typeof e)return r=this,this.pushStack(b(e).filter(function(){for(t=0;i>t;t++)if(b.contains(r[t],this))return!0}));for(n=[],t=0;i>t;t++
)b.find(e,this[t],n);return n=this.pushStack(i>1?b.unique(n):n),n.selector=(this.selector?this.selector+" ":"")+e,n},has:function(e){var t,n=b(e,this),r=n.length;return this.filter(function(){for(t=0;r>t;t++)if(b.contains(this,n[t]))return!0})},not:function(e){return this.pushStack(ft(this,e,!1))},filter:function(e){return this.pushStack(ft(this,e,!0))},is:function(e){return!!e&&("string"==typeof e?lt.test(e)?b(e,this.context).index(this[0])>=0:b.filter(e,this).length>0:this.filter(e).length>0)},closest:function(e,t){var n,r=0,i=this.length,o=[],a=lt.test(e)||"string"!=typeof e?b(e,t||this.context):0;for(;i>r;r++){n=this[r];while(n&&n.ownerDocument&&n!==t&&11!==n.nodeType){if(a?a.index(n)>-1:b.find.matchesSelector(n,e)){o.push(n);break}n=n.parentNode}}return this.pushStack(o.length>1?b.unique(o):o)},index:function(e){return e?"string"==typeof e?b.inArray(this[0],b(e)):b.inArray(e.jquery?e[0]:e,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){var
n="string"==typeof e?b(e,t):b.makeArray(e&&e.nodeType?[e]:e),r=b.merge(this.get(),n);return this.pushStack(b.unique(r))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),b.fn.andSelf=b.fn.addBack;function pt(e,t){do e=e[t];while(e&&1!==e.nodeType);return e}b.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return b.dir(e,"parentNode")},parentsUntil:function(e,t,n){return b.dir(e,"parentNode",n)},next:function(e){return pt(e,"nextSibling")},prev:function(e){return pt(e,"previousSibling")},nextAll:function(e){return b.dir(e,"nextSibling")},prevAll:function(e){return b.dir(e,"previousSibling")},nextUntil:function(e,t,n){return b.dir(e,"nextSibling",n)},prevUntil:function(e,t,n){return b.dir(e,"previousSibling",n)},siblings:function(e){return b.sibling((e.parentNode||{}).firstChild,e)},children:function(e){return b.sibling(e.firstChild)},contents:function(e){return b.nodeName(e,"iframe")?e.contentD
ocument||e.contentWindow.document:b.merge([],e.childNodes)}},function(e,t){b.fn[e]=function(n,r){var i=b.map(this,t,n);return at.test(e)||(r=n),r&&"string"==typeof r&&(i=b.filter(r,i)),i=this.length>1&&!ct[e]?b.unique(i):i,this.length>1&&st.test(e)&&(i=i.reverse()),this.pushStack(i)}}),b.extend({filter:function(e,t,n){return n&&(e=":not("+e+")"),1===t.length?b.find.matchesSelector(t[0],e)?[t[0]]:[]:b.find.matches(e,t)},dir:function(e,n,r){var i=[],o=e[n];while(o&&9!==o.nodeType&&(r===t||1!==o.nodeType||!b(o).is(r)))1===o.nodeType&&i.push(o),o=o[n];return i},sibling:function(e,t){var n=[];for(;e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n}});function ft(e,t,n){if(t=t||0,b.isFunction(t))return b.grep(e,function(e,r){var i=!!t.call(e,r,e);return i===n});if(t.nodeType)return b.grep(e,function(e){return e===t===n});if("string"==typeof t){var r=b.grep(e,function(e){return 1===e.nodeType});if(ut.test(t))return b.filter(t,r,!n);t=b.filter(t,r)}return b.grep(e,function(e){retur
n b.inArray(e,t)>=0===n})}function dt(e){var t=ht.split("|"),n=e.createDocumentFragment();if(n.createElement)while(t.length)n.createElement(t.pop());return n}var ht="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",gt=/ jQuery\d+="(?:null|\d+)"/g,mt=RegExp("<(?:"+ht+")[\\s/>]","i"),yt=/^\s+/,vt=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,bt=/<([\w:]+)/,xt=/<tbody/i,wt=/<|&#?\w+;/,Tt=/<(?:script|style|link)/i,Nt=/^(?:checkbox|radio)$/i,Ct=/checked\s*(?:[^=]|=\s*.checked.)/i,kt=/^$|\/(?:java|ecma)script/i,Et=/^true\/(.*)/,St=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,At={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],area:[1,"<map>","</map>"],param:[1,"<object>","</object>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></tab
le>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:b.support.htmlSerialize?[0,"",""]:[1,"X<div>","</div>"]},jt=dt(o),Dt=jt.appendChild(o.createElement("div"));At.optgroup=At.option,At.tbody=At.tfoot=At.colgroup=At.caption=At.thead,At.th=At.td,b.fn.extend({text:function(e){return b.access(this,function(e){return e===t?b.text(this):this.empty().append((this[0]&&this[0].ownerDocument||o).createTextNode(e))},null,e,arguments.length)},wrapAll:function(e){if(b.isFunction(e))return this.each(function(t){b(this).wrapAll(e.call(this,t))});if(this[0]){var t=b(e,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstChild&&1===e.firstChild.nodeType)e=e.firstChild;return e}).append(this)}return this},wrapInner:function(e){return b.isFunction(e)?this.each(function(t){b(this).wrapInner(e.call(this,t))}):this.each(function(){var t=b(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=b
.isFunction(e);return this.each(function(n){b(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(){return this.parent().each(function(){b.nodeName(this,"body")||b(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(e){(1===this.nodeType||11===this.nodeType||9===this.nodeType)&&this.appendChild(e)})},prepend:function(){return this.domManip(arguments,!0,function(e){(1===this.nodeType||11===this.nodeType||9===this.nodeType)&&this.insertBefore(e,this.firstChild)})},before:function(){return this.domManip(arguments,!1,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return this.domManip(arguments,!1,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},remove:function(e,t){var n,r=0;for(;null!=(n=this[r]);r++)(!e||b.filter(e,[n]).length>0)&&(t||1!==n.nodeType||b.cleanData(Ot(n)),n.parentNode&&(t&&b.contains(n.ownerDocument,n)&&Mt(Ot(n,"script")),n.parentNode.removeChild(n
)));return this},empty:function(){var e,t=0;for(;null!=(e=this[t]);t++){1===e.nodeType&&b.cleanData(Ot(e,!1));while(e.firstChild)e.removeChild(e.firstChild);e.options&&b.nodeName(e,"select")&&(e.options.length=0)}return this},clone:function(e,t){return e=null==e?!1:e,t=null==t?e:t,this.map(function(){return b.clone(this,e,t)})},html:function(e){return b.access(this,function(e){var n=this[0]||{},r=0,i=this.length;if(e===t)return 1===n.nodeType?n.innerHTML.replace(gt,""):t;if(!("string"!=typeof e||Tt.test(e)||!b.support.htmlSerialize&&mt.test(e)||!b.support.leadingWhitespace&&yt.test(e)||At[(bt.exec(e)||["",""])[1].toLowerCase()])){e=e.replace(vt,"<$1></$2>");try{for(;i>r;r++)n=this[r]||{},1===n.nodeType&&(b.cleanData(Ot(n,!1)),n.innerHTML=e);n=0}catch(o){}}n&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(e){var t=b.isFunction(e);return t||"string"==typeof e||(e=b(e).not(this).detach()),this.domManip([e],!0,function(e){var t=this.nextSibling,n=this.parentNode;
n&&(b(this).remove(),n.insertBefore(e,t))})},detach:function(e){return this.remove(e,!0)},domManip:function(e,n,r){e=f.apply([],e);var i,o,a,s,u,l,c=0,p=this.length,d=this,h=p-1,g=e[0],m=b.isFunction(g);if(m||!(1>=p||"string"!=typeof g||b.support.checkClone)&&Ct.test(g))return this.each(function(i){var o=d.eq(i);m&&(e[0]=g.call(this,i,n?o.html():t)),o.domManip(e,n,r)});if(p&&(l=b.buildFragment(e,this[0].ownerDocument,!1,this),i=l.firstChild,1===l.childNodes.length&&(l=i),i)){for(n=n&&b.nodeName(i,"tr"),s=b.map(Ot(l,"script"),Ht),a=s.length;p>c;c++)o=l,c!==h&&(o=b.clone(o,!0,!0),a&&b.merge(s,Ot(o,"script"))),r.call(n&&b.nodeName(this[c],"table")?Lt(this[c],"tbody"):this[c],o,c);if(a)for(u=s[s.length-1].ownerDocument,b.map(s,qt),c=0;a>c;c++)o=s[c],kt.test(o.type||"")&&!b._data(o,"globalEval")&&b.contains(u,o)&&(o.src?b.ajax({url:o.src,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0}):b.globalEval((o.text||o.textContent||o.innerHTML||"").replace(St,"")));l=i=null}return thi
s}});function Lt(e,t){return e.getElementsByTagName(t)[0]||e.appendChild(e.ownerDocument.createElement(t))}function Ht(e){var t=e.getAttributeNode("type");return e.type=(t&&t.specified)+"/"+e.type,e}function qt(e){var t=Et.exec(e.type);return t?e.type=t[1]:e.removeAttribute("type"),e}function Mt(e,t){var n,r=0;for(;null!=(n=e[r]);r++)b._data(n,"globalEval",!t||b._data(t[r],"globalEval"))}function _t(e,t){if(1===t.nodeType&&b.hasData(e)){var n,r,i,o=b._data(e),a=b._data(t,o),s=o.events;if(s){delete a.handle,a.events={};for(n in s)for(r=0,i=s[n].length;i>r;r++)b.event.add(t,n,s[n][r])}a.data&&(a.data=b.extend({},a.data))}}function Ft(e,t){var n,r,i;if(1===t.nodeType){if(n=t.nodeName.toLowerCase(),!b.support.noCloneEvent&&t[b.expando]){i=b._data(t);for(r in i.events)b.removeEvent(t,r,i.handle);t.removeAttribute(b.expando)}"script"===n&&t.text!==e.text?(Ht(t).text=e.text,qt(t)):"object"===n?(t.parentNode&&(t.outerHTML=e.outerHTML),b.support.html5Clone&&e.innerHTML&&!b.trim(t.innerHTML)&
&(t.innerHTML=e.innerHTML)):"input"===n&&Nt.test(e.type)?(t.defaultChecked=t.checked=e.checked,t.value!==e.value&&(t.value=e.value)):"option"===n?t.defaultSelected=t.selected=e.defaultSelected:("input"===n||"textarea"===n)&&(t.defaultValue=e.defaultValue)}}b.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,t){b.fn[e]=function(e){var n,r=0,i=[],o=b(e),a=o.length-1;for(;a>=r;r++)n=r===a?this:this.clone(!0),b(o[r])[t](n),d.apply(i,n.get());return this.pushStack(i)}});function Ot(e,n){var r,o,a=0,s=typeof e.getElementsByTagName!==i?e.getElementsByTagName(n||"*"):typeof e.querySelectorAll!==i?e.querySelectorAll(n||"*"):t;if(!s)for(s=[],r=e.childNodes||e;null!=(o=r[a]);a++)!n||b.nodeName(o,n)?s.push(o):b.merge(s,Ot(o,n));return n===t||n&&b.nodeName(e,n)?b.merge([e],s):s}function Bt(e){Nt.test(e.type)&&(e.defaultChecked=e.checked)}b.extend({clone:function(e,t,n){var r,i,o,a,s,u=b.contains(e.ownerDocument,e);if(b.supp
ort.html5Clone||b.isXMLDoc(e)||!mt.test("<"+e.nodeName+">")?o=e.cloneNode(!0):(Dt.innerHTML=e.outerHTML,Dt.removeChild(o=Dt.firstChild)),!(b.support.noCloneEvent&&b.support.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||b.isXMLDoc(e)))for(r=Ot(o),s=Ot(e),a=0;null!=(i=s[a]);++a)r[a]&&Ft(i,r[a]);if(t)if(n)for(s=s||Ot(e),r=r||Ot(o),a=0;null!=(i=s[a]);a++)_t(i,r[a]);else _t(e,o);return r=Ot(o,"script"),r.length>0&&Mt(r,!u&&Ot(e,"script")),r=s=i=null,o},buildFragment:function(e,t,n,r){var i,o,a,s,u,l,c,p=e.length,f=dt(t),d=[],h=0;for(;p>h;h++)if(o=e[h],o||0===o)if("object"===b.type(o))b.merge(d,o.nodeType?[o]:o);else if(wt.test(o)){s=s||f.appendChild(t.createElement("div")),u=(bt.exec(o)||["",""])[1].toLowerCase(),c=At[u]||At._default,s.innerHTML=c[1]+o.replace(vt,"<$1></$2>")+c[2],i=c[0];while(i--)s=s.lastChild;if(!b.support.leadingWhitespace&&yt.test(o)&&d.push(t.createTextNode(yt.exec(o)[0])),!b.support.tbody){o="table"!==u||xt.test(o)?"<table>"!==c[1]||xt.test(o)?0:s:s.firstChild,i
=o&&o.childNodes.length;while(i--)b.nodeName(l=o.childNodes[i],"tbody")&&!l.childNodes.length&&o.removeChild(l)
-}b.merge(d,s.childNodes),s.textContent="";while(s.firstChild)s.removeChild(s.firstChild);s=f.lastChild}else d.push(t.createTextNode(o));s&&f.removeChild(s),b.support.appendChecked||b.grep(Ot(d,"input"),Bt),h=0;while(o=d[h++])if((!r||-1===b.inArray(o,r))&&(a=b.contains(o.ownerDocument,o),s=Ot(f.appendChild(o),"script"),a&&Mt(s),n)){i=0;while(o=s[i++])kt.test(o.type||"")&&n.push(o)}return s=null,f},cleanData:function(e,t){var n,r,o,a,s=0,u=b.expando,l=b.cache,p=b.support.deleteExpando,f=b.event.special;for(;null!=(n=e[s]);s++)if((t||b.acceptData(n))&&(o=n[u],a=o&&l[o])){if(a.events)for(r in a.events)f[r]?b.event.remove(n,r):b.removeEvent(n,r,a.handle);l[o]&&(delete l[o],p?delete n[u]:typeof n.removeAttribute!==i?n.removeAttribute(u):n[u]=null,c.push(o))}}});var Pt,Rt,Wt,$t=/alpha\([^)]*\)/i,It=/opacity\s*=\s*([^)]*)/,zt=/^(top|right|bottom|left)$/,Xt=/^(none|table(?!-c[ea]).+)/,Ut=/^margin/,Vt=RegExp("^("+x+")(.*)$","i"),Yt=RegExp("^("+x+")(?!px)[a-z%]+$","i"),Jt=RegExp("^([+-])=("+x+
")","i"),Gt={BODY:"block"},Qt={position:"absolute",visibility:"hidden",display:"block"},Kt={letterSpacing:0,fontWeight:400},Zt=["Top","Right","Bottom","Left"],en=["Webkit","O","Moz","ms"];function tn(e,t){if(t in e)return t;var n=t.charAt(0).toUpperCase()+t.slice(1),r=t,i=en.length;while(i--)if(t=en[i]+n,t in e)return t;return r}function nn(e,t){return e=t||e,"none"===b.css(e,"display")||!b.contains(e.ownerDocument,e)}function rn(e,t){var n,r,i,o=[],a=0,s=e.length;for(;s>a;a++)r=e[a],r.style&&(o[a]=b._data(r,"olddisplay"),n=r.style.display,t?(o[a]||"none"!==n||(r.style.display=""),""===r.style.display&&nn(r)&&(o[a]=b._data(r,"olddisplay",un(r.nodeName)))):o[a]||(i=nn(r),(n&&"none"!==n||!i)&&b._data(r,"olddisplay",i?n:b.css(r,"display"))));for(a=0;s>a;a++)r=e[a],r.style&&(t&&"none"!==r.style.display&&""!==r.style.display||(r.style.display=t?o[a]||"":"none"));return e}b.fn.extend({css:function(e,n){return b.access(this,function(e,n,r){var i,o,a={},s=0;if(b.isArray(n)){for(o=Rt(e),i=n.
length;i>s;s++)a[n[s]]=b.css(e,n[s],!1,o);return a}return r!==t?b.style(e,n,r):b.css(e,n)},e,n,arguments.length>1)},show:function(){return rn(this,!0)},hide:function(){return rn(this)},toggle:function(e){var t="boolean"==typeof e;return this.each(function(){(t?e:nn(this))?b(this).show():b(this).hide()})}}),b.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Wt(e,"opacity");return""===n?"1":n}}}},cssNumber:{columnCount:!0,fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":b.support.cssFloat?"cssFloat":"styleFloat"},style:function(e,n,r,i){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var o,a,s,u=b.camelCase(n),l=e.style;if(n=b.cssProps[u]||(b.cssProps[u]=tn(l,u)),s=b.cssHooks[n]||b.cssHooks[u],r===t)return s&&"get"in s&&(o=s.get(e,!1,i))!==t?o:l[n];if(a=typeof r,"string"===a&&(o=Jt.exec(r))&&(r=(o[1]+1)*o[2]+parseFloat(b.css(e,n)),a="number"),!(null==r||"number"===a&&isNaN(r)||("number"!==a||b.cssNumber[u]||(r+="px"
),b.support.clearCloneStyle||""!==r||0!==n.indexOf("background")||(l[n]="inherit"),s&&"set"in s&&(r=s.set(e,r,i))===t)))try{l[n]=r}catch(c){}}},css:function(e,n,r,i){var o,a,s,u=b.camelCase(n);return n=b.cssProps[u]||(b.cssProps[u]=tn(e.style,u)),s=b.cssHooks[n]||b.cssHooks[u],s&&"get"in s&&(a=s.get(e,!0,r)),a===t&&(a=Wt(e,n,i)),"normal"===a&&n in Kt&&(a=Kt[n]),""===r||r?(o=parseFloat(a),r===!0||b.isNumeric(o)?o||0:a):a},swap:function(e,t,n,r){var i,o,a={};for(o in t)a[o]=e.style[o],e.style[o]=t[o];i=n.apply(e,r||[]);for(o in t)e.style[o]=a[o];return i}}),e.getComputedStyle?(Rt=function(t){return e.getComputedStyle(t,null)},Wt=function(e,n,r){var i,o,a,s=r||Rt(e),u=s?s.getPropertyValue(n)||s[n]:t,l=e.style;return s&&(""!==u||b.contains(e.ownerDocument,e)||(u=b.style(e,n)),Yt.test(u)&&Ut.test(n)&&(i=l.width,o=l.minWidth,a=l.maxWidth,l.minWidth=l.maxWidth=l.width=u,u=s.width,l.width=i,l.minWidth=o,l.maxWidth=a)),u}):o.documentElement.currentStyle&&(Rt=function(e){return e.currentStyle
},Wt=function(e,n,r){var i,o,a,s=r||Rt(e),u=s?s[n]:t,l=e.style;return null==u&&l&&l[n]&&(u=l[n]),Yt.test(u)&&!zt.test(n)&&(i=l.left,o=e.runtimeStyle,a=o&&o.left,a&&(o.left=e.currentStyle.left),l.left="fontSize"===n?"1em":u,u=l.pixelLeft+"px",l.left=i,a&&(o.left=a)),""===u?"auto":u});function on(e,t,n){var r=Vt.exec(t);return r?Math.max(0,r[1]-(n||0))+(r[2]||"px"):t}function an(e,t,n,r,i){var o=n===(r?"border":"content")?4:"width"===t?1:0,a=0;for(;4>o;o+=2)"margin"===n&&(a+=b.css(e,n+Zt[o],!0,i)),r?("content"===n&&(a-=b.css(e,"padding"+Zt[o],!0,i)),"margin"!==n&&(a-=b.css(e,"border"+Zt[o]+"Width",!0,i))):(a+=b.css(e,"padding"+Zt[o],!0,i),"padding"!==n&&(a+=b.css(e,"border"+Zt[o]+"Width",!0,i)));return a}function sn(e,t,n){var r=!0,i="width"===t?e.offsetWidth:e.offsetHeight,o=Rt(e),a=b.support.boxSizing&&"border-box"===b.css(e,"boxSizing",!1,o);if(0>=i||null==i){if(i=Wt(e,t,o),(0>i||null==i)&&(i=e.style[t]),Yt.test(i))return i;r=a&&(b.support.boxSizingReliable||i===e.style[t]),i=parse
Float(i)||0}return i+an(e,t,n||(a?"border":"content"),r,o)+"px"}function un(e){var t=o,n=Gt[e];return n||(n=ln(e,t),"none"!==n&&n||(Pt=(Pt||b("<iframe frameborder='0' width='0' height='0'/>").css("cssText","display:block !important")).appendTo(t.documentElement),t=(Pt[0].contentWindow||Pt[0].contentDocument).document,t.write("<!doctype html><html><body>"),t.close(),n=ln(e,t),Pt.detach()),Gt[e]=n),n}function ln(e,t){var n=b(t.createElement(e)).appendTo(t.body),r=b.css(n[0],"display");return n.remove(),r}b.each(["height","width"],function(e,n){b.cssHooks[n]={get:function(e,r,i){return r?0===e.offsetWidth&&Xt.test(b.css(e,"display"))?b.swap(e,Qt,function(){return sn(e,n,i)}):sn(e,n,i):t},set:function(e,t,r){var i=r&&Rt(e);return on(e,t,r?an(e,n,r,b.support.boxSizing&&"border-box"===b.css(e,"boxSizing",!1,i),i):0)}}}),b.support.opacity||(b.cssHooks.opacity={get:function(e,t){return It.test((t&&e.currentStyle?e.currentStyle.filter:e.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":t?"1":"
"},set:function(e,t){var n=e.style,r=e.currentStyle,i=b.isNumeric(t)?"alpha(opacity="+100*t+")":"",o=r&&r.filter||n.filter||"";n.zoom=1,(t>=1||""===t)&&""===b.trim(o.replace($t,""))&&n.removeAttribute&&(n.removeAttribute("filter"),""===t||r&&!r.filter)||(n.filter=$t.test(o)?o.replace($t,i):o+" "+i)}}),b(function(){b.support.reliableMarginRight||(b.cssHooks.marginRight={get:function(e,n){return n?b.swap(e,{display:"inline-block"},Wt,[e,"marginRight"]):t}}),!b.support.pixelPosition&&b.fn.position&&b.each(["top","left"],function(e,n){b.cssHooks[n]={get:function(e,r){return r?(r=Wt(e,n),Yt.test(r)?b(e).position()[n]+"px":r):t}}})}),b.expr&&b.expr.filters&&(b.expr.filters.hidden=function(e){return 0>=e.offsetWidth&&0>=e.offsetHeight||!b.support.reliableHiddenOffsets&&"none"===(e.style&&e.style.display||b.css(e,"display"))},b.expr.filters.visible=function(e){return!b.expr.filters.hidden(e)}),b.each({margin:"",padding:"",border:"Width"},function(e,t){b.cssHooks[e+t]={expand:function(n){var
r=0,i={},o="string"==typeof n?n.split(" "):[n];for(;4>r;r++)i[e+Zt[r]+t]=o[r]||o[r-2]||o[0];return i}},Ut.test(e)||(b.cssHooks[e+t].set=on)});var cn=/%20/g,pn=/\[\]$/,fn=/\r?\n/g,dn=/^(?:submit|button|image|reset|file)$/i,hn=/^(?:input|select|textarea|keygen)/i;b.fn.extend({serialize:function(){return b.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=b.prop(this,"elements");return e?b.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!b(this).is(":disabled")&&hn.test(this.nodeName)&&!dn.test(e)&&(this.checked||!Nt.test(e))}).map(function(e,t){var n=b(this).val();return null==n?null:b.isArray(n)?b.map(n,function(e){return{name:t.name,value:e.replace(fn,"\r\n")}}):{name:t.name,value:n.replace(fn,"\r\n")}}).get()}}),b.param=function(e,n){var r,i=[],o=function(e,t){t=b.isFunction(t)?t():null==t?"":t,i[i.length]=encodeURIComponent(e)+"="+encodeURIComponent(t)};if(n===t&&(n=b.ajaxSettings&&b.ajaxSettings.traditional),b.isArra
y(e)||e.jquery&&!b.isPlainObject(e))b.each(e,function(){o(this.name,this.value)});else for(r in e)gn(r,e[r],n,o);return i.join("&").replace(cn,"+")};function gn(e,t,n,r){var i;if(b.isArray(t))b.each(t,function(t,i){n||pn.test(e)?r(e,i):gn(e+"["+("object"==typeof i?t:"")+"]",i,n,r)});else if(n||"object"!==b.type(t))r(e,t);else for(i in t)gn(e+"["+i+"]",t[i],n,r)}b.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(e,t){b.fn[t]=function(e,n){return arguments.length>0?this.on(t,null,e,n):this.trigger(t)}}),b.fn.hover=function(e,t){return this.mouseenter(e).mouseleave(t||e)};var mn,yn,vn=b.now(),bn=/\?/,xn=/#.*$/,wn=/([?&])_=[^&]*/,Tn=/^(.*?):[ \t]*([^\r\n]*)\r?$/gm,Nn=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Cn=/^(?:GET|HEAD)$/,kn=/^\/\//,En=/^([\w.+-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/,Sn=b.fn
.load,An={},jn={},Dn="*/".concat("*");try{yn=a.href}catch(Ln){yn=o.createElement("a"),yn.href="",yn=yn.href}mn=En.exec(yn.toLowerCase())||[];function Hn(e){return function(t,n){"string"!=typeof t&&(n=t,t="*");var r,i=0,o=t.toLowerCase().match(w)||[];if(b.isFunction(n))while(r=o[i++])"+"===r[0]?(r=r.slice(1)||"*",(e[r]=e[r]||[]).unshift(n)):(e[r]=e[r]||[]).push(n)}}function qn(e,n,r,i){var o={},a=e===jn;function s(u){var l;return o[u]=!0,b.each(e[u]||[],function(e,u){var c=u(n,r,i);return"string"!=typeof c||a||o[c]?a?!(l=c):t:(n.dataTypes.unshift(c),s(c),!1)}),l}return s(n.dataTypes[0])||!o["*"]&&s("*")}function Mn(e,n){var r,i,o=b.ajaxSettings.flatOptions||{};for(i in n)n[i]!==t&&((o[i]?e:r||(r={}))[i]=n[i]);return r&&b.extend(!0,e,r),e}b.fn.load=function(e,n,r){if("string"!=typeof e&&Sn)return Sn.apply(this,arguments);var i,o,a,s=this,u=e.indexOf(" ");return u>=0&&(i=e.slice(u,e.length),e=e.slice(0,u)),b.isFunction(n)?(r=n,n=t):n&&"object"==typeof n&&(a="POST"),s.length>0&&b.ajax({
url:e,type:a,dataType:"html",data:n}).done(function(e){o=arguments,s.html(i?b("<div>").append(b.parseHTML(e)).find(i):e)}).complete(r&&function(e,t){s.each(r,o||[e.responseText,t,e])}),this},b.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){b.fn[t]=function(e){return this.on(t,e)}}),b.each(["get","post"],function(e,n){b[n]=function(e,r,i,o){return b.isFunction(r)&&(o=o||i,i=r,r=t),b.ajax({url:e,type:n,dataType:o,data:r,success:i})}}),b.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:yn,type:"GET",isLocal:Nn.test(mn[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Dn,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":e.String,"text html":!0,"text json":b.parseJSON,"text xml":b.parseXML}
,flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?Mn(Mn(e,b.ajaxSettings),t):Mn(b.ajaxSettings,e)},ajaxPrefilter:Hn(An),ajaxTransport:Hn(jn),ajax:function(e,n){"object"==typeof e&&(n=e,e=t),n=n||{};var r,i,o,a,s,u,l,c,p=b.ajaxSetup({},n),f=p.context||p,d=p.context&&(f.nodeType||f.jquery)?b(f):b.event,h=b.Deferred(),g=b.Callbacks("once memory"),m=p.statusCode||{},y={},v={},x=0,T="canceled",N={readyState:0,getResponseHeader:function(e){var t;if(2===x){if(!c){c={};while(t=Tn.exec(a))c[t[1].toLowerCase()]=t[2]}t=c[e.toLowerCase()]}return null==t?null:t},getAllResponseHeaders:function(){return 2===x?a:null},setRequestHeader:function(e,t){var n=e.toLowerCase();return x||(e=v[n]=v[n]||e,y[e]=t),this},overrideMimeType:function(e){return x||(p.mimeType=e),this},statusCode:function(e){var t;if(e)if(2>x)for(t in e)m[t]=[m[t],e[t]];else N.always(e[N.status]);return this},abort:function(e){var t=e||T;return l&&l.abort(t),k(0,t),this}};if(h.promise(N).complete=g.add,N.success=N.d
one,N.error=N.fail,p.url=((e||p.url||yn)+"").replace(xn,"").replace(kn,mn[1]+"//"),p.type=n.method||n.type||p.method||p.type,p.dataTypes=b.trim(p.dataType||"*").toLowerCase().match(w)||[""],null==p.crossDomain&&(r=En.exec(p.url.toLowerCase()),p.crossDomain=!(!r||r[1]===mn[1]&&r[2]===mn[2]&&(r[3]||("http:"===r[1]?80:443))==(mn[3]||("http:"===mn[1]?80:443)))),p.data&&p.processData&&"string"!=typeof p.data&&(p.data=b.param(p.data,p.traditional)),qn(An,p,n,N),2===x)return N;u=p.global,u&&0===b.active++&&b.event.trigger("ajaxStart"),p.type=p.type.toUpperCase(),p.hasContent=!Cn.test(p.type),o=p.url,p.hasContent||(p.data&&(o=p.url+=(bn.test(o)?"&":"?")+p.data,delete p.data),p.cache===!1&&(p.url=wn.test(o)?o.replace(wn,"$1_="+vn++):o+(bn.test(o)?"&":"?")+"_="+vn++)),p.ifModified&&(b.lastModified[o]&&N.setRequestHeader("If-Modified-Since",b.lastModified[o]),b.etag[o]&&N.setRequestHeader("If-None-Match",b.etag[o])),(p.data&&p.hasContent&&p.contentType!==!1||n.contentType)&&N.setRequestHeader(
"Content-Type",p.contentType),N.setRequestHeader("Accept",p.dataTypes[0]&&p.accepts[p.dataTypes[0]]?p.accepts[p.dataTypes[0]]+("*"!==p.dataTypes[0]?", "+Dn+"; q=0.01":""):p.accepts["*"]);for(i in p.headers)N.setRequestHeader(i,p.headers[i]);if(p.beforeSend&&(p.beforeSend.call(f,N,p)===!1||2===x))return N.abort();T="abort";for(i in{success:1,error:1,complete:1})N[i](p[i]);if(l=qn(jn,p,n,N)){N.readyState=1,u&&d.trigger("ajaxSend",[N,p]),p.async&&p.timeout>0&&(s=setTimeout(function(){N.abort("timeout")},p.timeout));try{x=1,l.send(y,k)}catch(C){if(!(2>x))throw C;k(-1,C)}}else k(-1,"No Transport");function k(e,n,r,i){var c,y,v,w,T,C=n;2!==x&&(x=2,s&&clearTimeout(s),l=t,a=i||"",N.readyState=e>0?4:0,r&&(w=_n(p,N,r)),e>=200&&300>e||304===e?(p.ifModified&&(T=N.getResponseHeader("Last-Modified"),T&&(b.lastModified[o]=T),T=N.getResponseHeader("etag"),T&&(b.etag[o]=T)),204===e?(c=!0,C="nocontent"):304===e?(c=!0,C="notmodified"):(c=Fn(p,w),C=c.state,y=c.data,v=c.error,c=!v)):(v=C,(e||!C)&&(C="er
ror",0>e&&(e=0))),N.status=e,N.statusText=(n||C)+"",c?h.resolveWith(f,[y,C,N]):h.rejectWith(f,[N,C,v]),N.statusCode(m),m=t,u&&d.trigger(c?"ajaxSuccess":"ajaxError",[N,p,c?y:v]),g.fireWith(f,[N,C]),u&&(d.trigger("ajaxComplete",[N,p]),--b.active||b.event.trigger("ajaxStop")))}return N},getScript:function(e,n){return b.get(e,t,n,"script")},getJSON:function(e,t,n){return b.get(e,t,n,"json")}});function _n(e,n,r){var i,o,a,s,u=e.contents,l=e.dataTypes,c=e.responseFields;for(s in c)s in r&&(n[c[s]]=r[s]);while("*"===l[0])l.shift(),o===t&&(o=e.mimeType||n.getResponseHeader("Content-Type"));if(o)for(s in u)if(u[s]&&u[s].test(o)){l.unshift(s);break}if(l[0]in r)a=l[0];else{for(s in r){if(!l[0]||e.converters[s+" "+l[0]]){a=s;break}i||(i=s)}a=a||i}return a?(a!==l[0]&&l.unshift(a),r[a]):t}function Fn(e,t){var n,r,i,o,a={},s=0,u=e.dataTypes.slice(),l=u[0];if(e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u[1])for(i in e.converters)a[i.toLowerCase()]=e.converters[i];for(;r=u[++s];)if("*"!==r){if("*"
!==l&&l!==r){if(i=a[l+" "+r]||a["* "+r],!i)for(n in a)if(o=n.split(" "),o[1]===r&&(i=a[l+" "+o[0]]||a["* "+o[0]])){i===!0?i=a[n]:a[n]!==!0&&(r=o[0],u.splice(s--,0,r));break}if(i!==!0)if(i&&e["throws"])t=i(t);else try{t=i(t)}catch(c){return{state:"parsererror",error:i?c:"No conversion from "+l+" to "+r}}}l=r}return{state:"success",data:t}}b.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(e){return b.globalEval(e),e}}}),b.ajaxPrefilter("script",function(e){e.cache===t&&(e.cache=!1),e.crossDomain&&(e.type="GET",e.global=!1)}),b.ajaxTransport("script",function(e){if(e.crossDomain){var n,r=o.head||b("head")[0]||o.documentElement;return{send:function(t,i){n=o.createElement("script"),n.async=!0,e.scriptCharset&&(n.charset=e.scriptCharset),n.src=e.url,n.onload=n.onreadystatechange=function(e,t){(t||!n.readyState||/loaded|complete/.test(n.readySta
te))&&(n.onload=n.onreadystatechange=null,n.parentNode&&n.parentNode.removeChild(n),n=null,t||i(200,"success"))},r.insertBefore(n,r.firstChild)},abort:function(){n&&n.onload(t,!0)}}}});var On=[],Bn=/(=)\?(?=&|$)|\?\?/;b.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=On.pop()||b.expando+"_"+vn++;return this[e]=!0,e}}),b.ajaxPrefilter("json jsonp",function(n,r,i){var o,a,s,u=n.jsonp!==!1&&(Bn.test(n.url)?"url":"string"==typeof n.data&&!(n.contentType||"").indexOf("application/x-www-form-urlencoded")&&Bn.test(n.data)&&"data");return u||"jsonp"===n.dataTypes[0]?(o=n.jsonpCallback=b.isFunction(n.jsonpCallback)?n.jsonpCallback():n.jsonpCallback,u?n[u]=n[u].replace(Bn,"$1"+o):n.jsonp!==!1&&(n.url+=(bn.test(n.url)?"&":"?")+n.jsonp+"="+o),n.converters["script json"]=function(){return s||b.error(o+" was not called"),s[0]},n.dataTypes[0]="json",a=e[o],e[o]=function(){s=arguments},i.always(function(){e[o]=a,n[o]&&(n.jsonpCallback=r.jsonpCallback,On.push(o)),s&&b.isFunction(a)&&a(s[0
]),s=a=t}),"script"):t});var Pn,Rn,Wn=0,$n=e.ActiveXObject&&function(){var e;for(e in Pn)Pn[e](t,!0)};function In(){try{return new e.XMLHttpRequest}catch(t){}}function zn(){try{return new e.ActiveXObject("Microsoft.XMLHTTP")}catch(t){}}b.ajaxSettings.xhr=e.ActiveXObject?function(){return!this.isLocal&&In()||zn()}:In,Rn=b.ajaxSettings.xhr(),b.support.cors=!!Rn&&"withCredentials"in Rn,Rn=b.support.ajax=!!Rn,Rn&&b.ajaxTransport(function(n){if(!n.crossDomain||b.support.cors){var r;return{send:function(i,o){var a,s,u=n.xhr();if(n.username?u.open(n.type,n.url,n.async,n.username,n.password):u.open(n.type,n.url,n.async),n.xhrFields)for(s in n.xhrFields)u[s]=n.xhrFields[s];n.mimeType&&u.overrideMimeType&&u.overrideMimeType(n.mimeType),n.crossDomain||i["X-Requested-With"]||(i["X-Requested-With"]="XMLHttpRequest");try{for(s in i)u.setRequestHeader(s,i[s])}catch(l){}u.send(n.hasContent&&n.data||null),r=function(e,i){var s,l,c,p;try{if(r&&(i||4===u.readyState))if(r=t,a&&(u.onreadystatechange=b.n
oop,$n&&delete Pn[a]),i)4!==u.readyState&&u.abort();else{p={},s=u.status,l=u.getAllResponseHeaders(),"string"==typeof u.responseText&&(p.text=u.responseText);try{c=u.statusText}catch(f){c=""}s||!n.isLocal||n.crossDomain?1223===s&&(s=204):s=p.text?200:404}}catch(d){i||o(-1,d)}p&&o(s,c,p,l)},n.async?4===u.readyState?setTimeout(r):(a=++Wn,$n&&(Pn||(Pn={},b(e).unload($n)),Pn[a]=r),u.onreadystatechange=r):r()},abort:function(){r&&r(t,!0)}}}});var Xn,Un,Vn=/^(?:toggle|show|hide)$/,Yn=RegExp("^(?:([+-])=|)("+x+")([a-z%]*)$","i"),Jn=/queueHooks$/,Gn=[nr],Qn={"*":[function(e,t){var n,r,i=this.createTween(e,t),o=Yn.exec(t),a=i.cur(),s=+a||0,u=1,l=20;if(o){if(n=+o[2],r=o[3]||(b.cssNumber[e]?"":"px"),"px"!==r&&s){s=b.css(i.elem,e,!0)||n||1;do u=u||".5",s/=u,b.style(i.elem,e,s+r);while(u!==(u=i.cur()/a)&&1!==u&&--l)}i.unit=r,i.start=s,i.end=o[1]?s+(o[1]+1)*n:n}return i}]};function Kn(){return setTimeout(function(){Xn=t}),Xn=b.now()}function Zn(e,t){b.each(t,function(t,n){var r=(Qn[t]||[]).concat
(Qn["*"]),i=0,o=r.length;for(;o>i;i++)if(r[i].call(e,t,n))return})}function er(e,t,n){var r,i,o=0,a=Gn.length,s=b.Deferred().always(function(){delete u.elem}),u=function(){if(i)return!1;var t=Xn||Kn(),n=Math.max(0,l.startTime+l.duration-t),r=n/l.duration||0,o=1-r,a=0,u=l.tweens.length;for(;u>a;a++)l.tweens[a].run(o);return s.notifyWith(e,[l,o,n]),1>o&&u?n:(s.resolveWith(e,[l]),!1)},l=s.promise({elem:e,props:b.extend({},t),opts:b.extend(!0,{specialEasing:{}},n),originalProperties:t,originalOptions:n,startTime:Xn||Kn(),duration:n.duration,tweens:[],createTween:function(t,n){var r=b.Tween(e,l.opts,t,n,l.opts.specialEasing[t]||l.opts.easing);return l.tweens.push(r),r},stop:function(t){var n=0,r=t?l.tweens.length:0;if(i)return this;for(i=!0;r>n;n++)l.tweens[n].run(1);return t?s.resolveWith(e,[l,t]):s.rejectWith(e,[l,t]),this}}),c=l.props;for(tr(c,l.opts.specialEasing);a>o;o++)if(r=Gn[o].call(l,e,c,l.opts))return r;return Zn(l,c),b.isFunction(l.opts.start)&&l.opts.start.call(e,l),b.fx.tim
er(b.extend(u,{elem:e,anim:l,queue:l.opts.queue})),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always)}function tr(e,t){var n,r,i,o,a;for(i in e)if(r=b.camelCase(i),o=t[r],n=e[i],b.isArray(n)&&(o=n[1],n=e[i]=n[0]),i!==r&&(e[r]=n,delete e[i]),a=b.cssHooks[r],a&&"expand"in a){n=a.expand(n),delete e[r];for(i in n)i in e||(e[i]=n[i],t[i]=o)}else t[r]=o}b.Animation=b.extend(er,{tweener:function(e,t){b.isFunction(e)?(t=e,e=["*"]):e=e.split(" ");var n,r=0,i=e.length;for(;i>r;r++)n=e[r],Qn[n]=Qn[n]||[],Qn[n].unshift(t)},prefilter:function(e,t){t?Gn.unshift(e):Gn.push(e)}});function nr(e,t,n){var r,i,o,a,s,u,l,c,p,f=this,d=e.style,h={},g=[],m=e.nodeType&&nn(e);n.queue||(c=b._queueHooks(e,"fx"),null==c.unqueued&&(c.unqueued=0,p=c.empty.fire,c.empty.fire=function(){c.unqueued||p()}),c.unqueued++,f.always(function(){f.always(function(){c.unqueued--,b.queue(e,"fx").length||c.empty.fire()})})),1===e.nodeType&&("height"in t||"width"in t)&&(n.overfl
ow=[d.overflow,d.overflowX,d.overflowY],"inline"===b.css(e,"display")&&"none"===b.css(e,"float")&&(b.support.inlineBlockNeedsLayout&&"inline"!==un(e.nodeName)?d.zoom=1:d.display="inline-block")),n.overflow&&(d.overflow="hidden",b.support.shrinkWrapBlocks||f.always(function(){d.overflow=n.overflow[0],d.overflowX=n.overflow[1],d.overflowY=n.overflow[2]}));for(i in t)if(a=t[i],Vn.exec(a)){if(delete t[i],u=u||"toggle"===a,a===(m?"hide":"show"))continue;g.push(i)}if(o=g.length){s=b._data(e,"fxshow")||b._data(e,"fxshow",{}),"hidden"in s&&(m=s.hidden),u&&(s.hidden=!m),m?b(e).show():f.done(function(){b(e).hide()}),f.done(function(){var t;b._removeData(e,"fxshow");for(t in h)b.style(e,t,h[t])});for(i=0;o>i;i++)r=g[i],l=f.createTween(r,m?s[r]:0),h[r]=s[r]||b.style(e,r),r in s||(s[r]=l.start,m&&(l.end=l.start,l.start="width"===r||"height"===r?1:0))}}function rr(e,t,n,r,i){return new rr.prototype.init(e,t,n,r,i)}b.Tween=rr,rr.prototype={constructor:rr,init:function(e,t,n,r,i,o){this.elem=e,this
.prop=n,this.easing=i||"swing",this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(b.cssNumber[n]?"":"px")},cur:function(){var e=rr.propHooks[this.prop];return e&&e.get?e.get(this):rr.propHooks._default.get(this)},run:function(e){var t,n=rr.propHooks[this.prop];return this.pos=t=this.options.duration?b.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):rr.propHooks._default.set(this),this}},rr.prototype.init.prototype=rr.prototype,rr.propHooks={_default:{get:function(e){var t;return null==e.elem[e.prop]||e.elem.style&&null!=e.elem.style[e.prop]?(t=b.css(e.elem,e.prop,""),t&&"auto"!==t?t:0):e.elem[e.prop]},set:function(e){b.fx.step[e.prop]?b.fx.step[e.prop](e):e.elem.style&&(null!=e.elem.style[b.cssProps[e.prop]]||b.cssHooks[e.prop])?b.style(e.elem,e.prop,e.now+e.unit):e.elem[e.prop]=e.now}}},rr.propHooks.scroll
Top=rr.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},b.each(["toggle","show","hide"],function(e,t){var n=b.fn[t];b.fn[t]=function(e,r,i){return null==e||"boolean"==typeof e?n.apply(this,arguments):this.animate(ir(t,!0),e,r,i)}}),b.fn.extend({fadeTo:function(e,t,n,r){return this.filter(nn).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(e,t,n,r){var i=b.isEmptyObject(e),o=b.speed(t,n,r),a=function(){var t=er(this,b.extend({},e),o);a.finish=function(){t.stop(!0)},(i||b._data(this,"finish"))&&t.stop(!0)};return a.finish=a,i||o.queue===!1?this.each(a):this.queue(o.queue,a)},stop:function(e,n,r){var i=function(e){var t=e.stop;delete e.stop,t(r)};return"string"!=typeof e&&(r=n,n=e,e=t),n&&e!==!1&&this.queue(e||"fx",[]),this.each(function(){var t=!0,n=null!=e&&e+"queueHooks",o=b.timers,a=b._data(this);if(n)a[n]&&a[n].stop&&i(a[n]);else for(n in a)a[n]&&a[n].stop&&Jn.test(n)&&i(a[n]);for(n=o.length;n--;)o[n].ele
m!==this||null!=e&&o[n].queue!==e||(o[n].anim.stop(r),t=!1,o.splice(n,1));(t||!r)&&b.dequeue(this,e)})},finish:function(e){return e!==!1&&(e=e||"fx"),this.each(function(){var t,n=b._data(this),r=n[e+"queue"],i=n[e+"queueHooks"],o=b.timers,a=r?r.length:0;for(n.finish=!0,b.queue(this,e,[]),i&&i.cur&&i.cur.finish&&i.cur.finish.call(this),t=o.length;t--;)o[t].elem===this&&o[t].queue===e&&(o[t].anim.stop(!0),o.splice(t,1));for(t=0;a>t;t++)r[t]&&r[t].finish&&r[t].finish.call(this);delete n.finish})}});function ir(e,t){var n,r={height:e},i=0;for(t=t?1:0;4>i;i+=2-t)n=Zt[i],r["margin"+n]=r["padding"+n]=e;return t&&(r.opacity=r.width=e),r}b.each({slideDown:ir("show"),slideUp:ir("hide"),slideToggle:ir("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,t){b.fn[e]=function(e,n,r){return this.animate(t,e,n,r)}}),b.speed=function(e,t,n){var r=e&&"object"==typeof e?b.extend({},e):{com

<TRUNCATED>
a***@apache.org
2017-12-21 04:52:38 UTC
Permalink
Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/oldsite/images/search.gif b/website-old/oldsite/images/search.gif
deleted file mode 100755
index 921b5a1..0000000
Binary files a/website-old/oldsite/images/search.gif and /dev/null differ

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/oldsite/images/search.js
----------------------------------------------------------------------
diff --git a/website-old/oldsite/images/search.js b/website-old/oldsite/images/search.js
deleted file mode 100755
index 58249ad..0000000
--- a/website-old/oldsite/images/search.js
+++ /dev/null
@@ -1,21 +0,0 @@
-function initSearch(){
- var methods = {
- defaultValueActsAsHint: function(element){
- element = $(element);
- element._default = element.value;
- return element.observe('focus', function(){
- if(element._default != element.value) return;
- element.removeClassName('hint').value = '';
- }).observe('blur', function(){
- if(element.value.strip() != '') return;
- element.addClassName('hint').value = element._default;
- }).addClassName('hint');
- }
- };
- $w('input textarea').each(function(tag){ Element.addMethods(tag, methods) });
-}
-initSearch();
-
-document.observe('dom:loaded', function(){
- $('searchDocs').defaultValueActsAsHint();
-});
\ No newline at end of file

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/oldsite/images/sgd-class-hierarchy.png b/website-old/oldsite/images/sgd-class-hierarchy.png
deleted file mode 100644
index 7d5364f..0000000
Binary files a/website-old/oldsite/images/sgd-class-hierarchy.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/oldsite/images/sidebar-original.png b/website-old/oldsite/images/sidebar-original.png
deleted file mode 100644
index 55ea78d..0000000
Binary files a/website-old/oldsite/images/sidebar-original.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/oldsite/images/sidebar.png b/website-old/oldsite/images/sidebar.png
deleted file mode 100644
index 37366aa..0000000
Binary files a/website-old/oldsite/images/sidebar.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/oldsite/images/slides.js
----------------------------------------------------------------------
diff --git a/website-old/oldsite/images/slides.js b/website-old/oldsite/images/slides.js
deleted file mode 100755
index 004d5ee..0000000
--- a/website-old/oldsite/images/slides.js
+++ /dev/null
@@ -1,109 +0,0 @@
-var Slides = Class.create({
-
- initialize: function(element, options) {
- this.options = {
- Duration: 1,
- Delay: 10.0,
- Random: true,
- Slideshow:true,
- Controls:true
- }
- Object.extend(this.options, options || {});
-
- this.element = $(element);
- this.slides = this.element.childElements();
- this.num_slides = this.slides.length;
- this.current_slide = (this.options.Random) ? (Math.floor(Math.random()*this.num_slides)) : 0;
- this.end_slide = this.num_slides - 1;
-
- this.slides.invoke('hide');
- this.slides[this.current_slide].show();
-
- if (this.options.Slideshow) {
- this.startSlideshow();
- }
- if (this.options.Controls) {
- this.addControls();
- }
- },
-
- addControls: function() {
- this.btn_previous = $('previous');
- this.btn_next = $('next');
- this.btn_start = $('start');
- this.btn_stop = $('stop');
-
- this.btn_previous.observe('click', this.moveToPrevious.bindAsEventListener(this));
- this.btn_next.observe('click', this.moveToNext.bindAsEventListener(this));
- this.btn_start.observe('click', this.startSlideshow.bindAsEventListener(this));
- this.btn_stop.observe('click', this.stopSlideshow.bindAsEventListener(this));
- },
-
- startSlideshow: function(event) {
- if (event) { Event.stop(event); }
- if (!this.running) {
- this.fadeStartBtn();
- this.executer = new PeriodicalExecuter(function(){
- this.updateSlide(this.current_slide+1);
- }.bind(this),this.options.Delay);
- this.running=true;
- }
-
- },
-
- fadeStartBtn: function() {
- var startBtn = $('start');
- var stopBtn = $('stop');
- Effect.Fade(startBtn, { duration: 0.3 }),
- Effect.Appear(stopBtn, { duration: 0.3 })
- },
-
- stopSlideshow: function(event) {
- if (event) { Event.stop(event); }
- if (this.executer) {
- this.fadeStopBtn();
- this.executer.stop();
- this.running=false;
- }
- },
-
- fadeStopBtn: function() {
- var startBtn = $('start');
- var stopBtn = $('stop');
- Effect.Fade(stopBtn, { duration: 0.3 }),
- Effect.Appear(startBtn, { duration: 0.3 })
- },
-
- moveToPrevious: function (event) {
- if (event) { Event.stop(event); }
- //this.stopSlideshow();
- this.updateSlide(this.current_slide-1);
- },
-
- moveToNext: function (event) {
- if (event) { Event.stop(event); }
- //this.stopSlideshow();
- this.updateSlide(this.current_slide+1);
- },
-
- updateSlide: function(next_slide) {
- if (next_slide > this.end_slide) {
- next_slide = 0;
- }
- else if ( next_slide == -1 ) {
- next_slide = this.end_slide;
- }
-
- this.fadeInOut(next_slide, this.current_slide);
- },
-
- fadeInOut: function (next, current) {
- new Effect.Parallel([
- new Effect.Fade(this.slides[current], { sync: true }),
- new Effect.Appear(this.slides[next], { sync: true })
- ], { duration: this.options.Duration });
-
- this.current_slide = next;
- }
-
-});
\ No newline at end of file

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/oldsite/images/start.gif b/website-old/oldsite/images/start.gif
deleted file mode 100755
index bb57a4b..0000000
Binary files a/website-old/oldsite/images/start.gif and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/oldsite/images/taste-architecture.png b/website-old/oldsite/images/taste-architecture.png
deleted file mode 100644
index d2f23e0..0000000
Binary files a/website-old/oldsite/images/taste-architecture.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/oldsite/images/vector-class-hierarchy.png b/website-old/oldsite/images/vector-class-hierarchy.png
deleted file mode 100644
index 002626e..0000000
Binary files a/website-old/oldsite/images/vector-class-hierarchy.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/oldsite/images/wiki-bg.png b/website-old/oldsite/images/wiki-bg.png
deleted file mode 100644
index 73b65ae..0000000
Binary files a/website-old/oldsite/images/wiki-bg.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/oldsite/images/wiki-wrapper-original.png b/website-old/oldsite/images/wiki-wrapper-original.png
deleted file mode 100644
index 2d23ec0..0000000
Binary files a/website-old/oldsite/images/wiki-wrapper-original.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/oldsite/images/wiki-wrapper.png b/website-old/oldsite/images/wiki-wrapper.png
deleted file mode 100644
index d689225..0000000
Binary files a/website-old/oldsite/images/wiki-wrapper.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/oldsite/images/wiki.css
----------------------------------------------------------------------
diff --git a/website-old/oldsite/images/wiki.css b/website-old/oldsite/images/wiki.css
deleted file mode 100644
index 4c06233..0000000
--- a/website-old/oldsite/images/wiki.css
+++ /dev/null
@@ -1,371 +0,0 @@
-/**********************************
- The Apache Software Foundation
-
-Derived from: Open for Business Project Website
-
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements. See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership. The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied. See the License for the
- specific language governing permissions and limitations
- under the License.
-*********************************/
-
-/********************************
- Global Reset
-********************************/
-html, body, div, span, applet, object, iframe,
-h1, h2, h3, h4, h5, h6, p, blockquote, pre,
-a, abbr, acronym, address, big, cite, code,
-del, dfn, em, font, img, ins, kbd, q, s, samp,
-small, strike, strong, sub, sup, tt, var,
-b, u, i, center,
-dl, dt, dd, ol, ul, li,
-fieldset, form, label, legend,
-table, caption, tbody, tfoot, thead, tr, th, td, a {
- font-family: Opensans , "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
- border:0;
- margin:0;
- outline:0;
- padding:0;
- background:transparent;
- vertical-align: baseline;
-}
-
-body, .bodytext, .stepfield, .wiki-content, .wiki-content p, .wiki-content table, .wiki-content tr, .wiki-content td, .wiki-content th, .wiki-content ol, .wiki-content ul, .wiki-content li, h4.author {
- font-size:13px;
- color: #555;
-}
-
-blockquote, q {
- quotes: none;
-}
-
-blockquote:before,
-blockquote:after,
-q:before,
-q:after {
- content:'';
- content: none;
-}
-
-.wiki-content a, address, body, caption, cite, code, dfn, em, strong, th, var {
- font-style: normal;
- font-weight: normal;
- text-decoration: none;
-}
-
-.wiki-content a, address, body, caption, cite, code, dfn, em, strong, th, var {
- font-family: Opensans , "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
-}
-.wiki-content p,
-.wiki-content span,
-.wiki-content div,
-.wiki-content ol,
-.wiki-content ul,
-.wiki-content li,
-.wiki-content th,
-.wiki-content td, address, body, caption, cite, code, dfn, em, strong, th, var {
- font-family: "Lucida Grande", Geneva, Verdana, Arial, Helvetica, sans-serif;
- color: #333;
-}
-
-a img {
- border: none;
-}
-
-ol, ul {
- list-style: none;
-}
-
-table {
- border-collapse: collapse;
- border-spacing: 0;
-}
-
-/********************************
-General Layout
- ********************************/
-* {margin:0;padding:0;}
-
-html, body, #wrap {height: 100%;}
-
-body > #wrap {height: auto; min-height: 100%;}
-
-body{
- font-family: Opensans , "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
- color: #333;
- margin: 0;
- font-size:80%;
- padding: 0;
- background: url(Loading Image...) top left repeat-x #A6A6A6;
- text-align: center;
- background-color:#A6A6A6!important;
-}
-
-.wiki-content {
- font-family: Opensans , "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
- color: #333;
-}
-
-a,a:active,a:link {
- text-decoration: none;
- color: #304c90;
-}
-
-a:visited {
- text-decoration: none;
-}
-
-a:hover {
- color: #304c90;
-}
-
-.wiki-content h1, .wiki-content h2, .wiki-content h3, h1, h2, h3 {
- font-family: Opensans , "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
- color: #333;
-}
-
-.wiki-content h1, h1 {
- font-family: Opensans , "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
- font-size: 350%;
- font-weight: 100!important;
- letter-spacing: -1px;
-}
-
-.wiki-content h2, h2 {
- font-size: 200%;
- font-weight: 100;
- color: #895F30;
-}
-
-.wiki-content h3, h3 {
- font-size: 170%;
- font-weight: 100;
-}
-
-p,dl {
- padding: 10px;
- margin: 0;
-}
-
-ul{
- margin: 0px 5px;
- padding: 0 0 0 10px;
-}
-
-ul {
- list-style: none;
-}
-
-ol {
- margin: 0px 5px;
- padding: 0 0 0 10px;
-}
-
-dt {
- font-weight: bold;
- color: #b13f1a;
-}
-
-dd {
- padding-left: 25px;
-}
-
-.wiki-content {
- margin-top: 0px;
-}
-
-.wiki-content, #labels-section {
- width: 950px;
- margin-left:0px;
- float:left;
- clear:none;
-}
-
-.wiki-content p {
- margin: 10px 0px;
-}
-
-#title-heading{
- display:block;
- font-family: Opensans , "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
- font-size: 28px;
- font-weight: 100!important;
- margin-bottom:14px;
- margin-top:35px!important;
- line-height: 1.4em;
-}
-
-#title-heading span a, h1{
- font-family: Opensans , "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
- font-size: 28px!important;
- font-weight: 100!important;
- letter-spacing: -1px!important;
-}
-
-#footer, #footer p.license, #footer p.license a {
- background-color:#E0BB12;
- color: #304c90;
- clear:both;
-}
-
-#footer {
- margin-top:20px!important;
-}
-
-#main {
- clear:both;
- background: url(Loading Image...) top left no-repeat;
- padding-top:170px;
- padding-left:25px;
- padding-bottom:80px;
-}
-
-.has-sidebar {
- padding-top:190px!important;
-}
-.page-metadata {
- position:absolute;
- top:185px;
-}
-
-.page-metadata ul li, .page-metadata ul li a, .page-metadata ul li span{
- font-size: 9px!important;
-}
-
-#navigation {
- float: right;
- right:0px;
- margin:10px 0px;
-}
-
-#children-section {
- width: 370px;
- position:absolute;
- right:10px;
- top:190px;
-}
-
-#children-section .section-header {
- display:block;
-}
-
-#children-section-title {
- display:none;
-}
-
-
-#children-section .section-header span {
- color:white;
- scroll:none;
- overflow:hidden;
-}
-
-#children-section .section-header span a{
- display:none;
-}
-
-#children-section .section-header span a#hide-children-link,
-#children-section .section-header span a#show-children-link{
- display:block;
- padding: 5px 5px 3px 5px;
- font-size: 22px;
- font-family: Opensans , "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
- color: #666666;
- letter-spacing: -.5px;
- height: 27px;
- width: 89px;
- overflow:hidden;
-}
-#children-section .section-header span a#hide-children-link:before ,
-#children-section .section-header span a#show-children-link:before {
-
- content: "Contents ";
-}
-
-.hidden parameters {
- clear:none;
- display:none;
-}
-
-#full-height-container {
- width:1400px;
-}
-
-#header {
- position:absolute;
- top:130px;
- height:38px;
- width:1360px;
- padding-left:20px;
- padding-right:20px;
- background:none;
-}
-
-#page-children, #page-children a {
- text-decoration: none;
- color: #304c70;
- font-family: Opensans , "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
- font-size: 14px;
- line-height:28px;
- position:relative;
- top:-10px;
- padding-left:10px;
-}
-
-#page-children img {
- display:none;
-}
-
-#quick-search {
- float:right;
- padding:5px;
- padding-top:4px;
- border-radius:3px;
- background-color:#444;
- height:23px;
- position:relative;
- top: -130px;
- left:20px;
- width: 300px;
- height: 24px;
-}
-
-#quick-search fieldset{
- margin:0;
- padding:0;
- height:15px;
- line-height:22px;
-}
-
-#quick-search-query{
- width: 295px;
- margin-left:1px;
- background:white;
- -webkit-appearance:text;
-}
-
-#header-menu-bar {
- float:right;
- position:relative;
- left:300px;
-}
-
-.clear {
- margin-bottom:20px;
-}
-
-.panelContent {
- font-size: 13px;
-}

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/oldsite/images/wrapper.jpg b/website-old/oldsite/images/wrapper.jpg
deleted file mode 100755
index a772ef2..0000000
Binary files a/website-old/oldsite/images/wrapper.jpg and /dev/null differ

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/oldsite/index.md
----------------------------------------------------------------------
diff --git a/website-old/oldsite/index.md b/website-old/oldsite/index.md
deleted file mode 100644
index 6e80bdb..0000000
--- a/website-old/oldsite/index.md
+++ /dev/null
@@ -1,171 +0,0 @@
----
-layout: default
-title: Downloads
-theme:
- name: retro-mahout
----
-
-# What is Apache Mahout?
-## The Apache Mahout™ project's goal is to build an environment for quickly creating scalable performant machine learning applications.
-
- <div class="highlights">
- <a href="http://mahout.apache.org/general/downloads.html"><img src="Loading Image..."/></a>
- <h4>Latest release version 0.13.0 has</h4>
- <h6>Apache Mahout Samsara Environment includes</h6>
- <ul>
- <li>Distributed Algebraic optimizer</li>
- <li>R-Like DSL Scala API</li>
- <li>Linear algebra operations</li>
- <li>Ops are extensions to Scala</li>
- <li>IScala REPL based interactive shell</li>
- <li>Integrates with compatible libraries like MLLib</li>
- <li>Runs on distributed Spark, H2O, and Flink</li>
- <li>fastutil to speed up sparse matrix and vector computations</li>
- <li>Matrix to tsv conversions for integration with Apache Zeppelin</li>
- </ul>
- <h6>Apache Mahout Samsara Algorithms included</h6>
- <ul>
- <li>Stochastic Singular Value Decomposition (ssvd, dssvd)</li>
- <li>Stochastic Principal Component Analysis (spca, dspca)</li>
- <li>Distributed Cholesky QR (thinQR) </li>
- <li>Distributed regularized Alternating Least Squares (dals)</li>
- <li>Collaborative Filtering: Item and Row Similarity</li>
- <li>Naive Bayes Classification</li>
- <li>Distributed and in-core</li>
- </ul>
- </div>
-
-**Apache Mahout software** provides three major features:
-- A simple and extensible programming environment and framework for building scalable algorithms
-- A wide variety of premade algorithms for Scala + Apache Spark, H2O, Apache Flink
-- Samsara, a vector math experimentation environment with R-like syntax which works at scale
-
-
-Read an [Overview of programming a Mahout Samsara Application][1],
-learn [How To Contribute to Mahout][2],
-[report an issue, bug, or suggestion][3] in our JIRA,
-see the [Samsara bindings for Scala and Spark][4],
-and [contact us on our mailing lists][5].
-
-#### 13 May 2017 - Apache Mahout website beta release
-
-Docs available [here](http://mahout.apache.org/docs/0.13.1-SNAPSHOT)
-
-#### 17 April 2017 - Apache Mahout 0.13.0 released
-
-Mahout 0.13.0 includes
-
-* In-core matrices backed by ViennaCL [3] providing in some cases speedups
-of an order of magnitude.
-* A JavaCPP bridge to native/GPU operations in ViennaCL
-* Distributed GPU Matrix-Matrix and Matrix-Vector multiplication on Spark
-* Distributed OpenMP Matrix-Matrix and Matrix-Vector multiplication on Spark
-* Sparse and dense matrix GPU-backed support.
-* Fault tolerance by falling back to Mahout JVM counterpart of new solvers
-in the case of failure on GPU or OpenMP
-* A new scikit-learn-like framework for algorithms with the goal for
-creating a consistent API for various machine-learning algorithms and an
-orderly package structure for grouping regression, classification,
-clustering, and pre-processing algorithms together
-* New DRM wrappers in Spark Bindings making it more convenient to create
-DRMs from MLLib RDDs and DataFrames
-* MahoutConversions adds Scala-like compatibility to Vectors introducing
-methods such as toArray() and toMap()
-
-#### 13 Jun 2016 - Apache Mahout 0.12.2 released
-
-Mahout 0.12.2 is a minor release following 0.12.1 that provides Matrix exports for Apache Zeppelin integration along with a few minor bug fixes and dependency upgrades.
-
-
-#### 19 May 2016 - "Visualizing Apache Mahout in R via Apache Zeppelin" posted
-<p>A tutorial on connecting Mahout, R, Spark, and Zeppelin by <a href="https://trevorgrant.org/2016/05/19/visualizing-apache-mahout-in-r-via-apache-zeppelin-incubating" target="_blank">Trevor Grant</a> showing how to plot results in Apache Zeppelin.</p>
-
-#### 18 May 2016 - Apache Mahout 0.12.1 released
-
-Mahout 0.12.1 is a minor release following 0.12.0 that fixes issues in the newly added Flink backend and supports Flink 1.0.3.
-
-
-#### **11 Apr 2016 - Apache Mahout 0.12.0 released**
-
-The Mahout 0.12.0 release marks a major milestone for the “Samsara” environment’s goal of providing an engine neutral math platform by now supporting Flink. While still experimental, the mahout Flink bindings now offer all of the R-Like semantics for linear algebra operations, matrix decompositions, and algorithms of the “Samsara” platform for execution on a Flink back-end.
-
-
-#### **12 Mar 2016 - Apache Mahout 0.11.2 released**
-**Apache Mahout introduces a new math environment called** [**Samsara**](http://mahout.apache.org/users/sparkbindings/home.html),
- for its theme of universal renewal. It reflects a fundamental rethinking of how scalable machine learning
- algorithms are built and customized. Mahout-Samsara is here to help people create their own math while providing
- some off-the-shelf algorithm implementations. At its core are general linear algebra and statistical operations
- along with the data structures to support them. You can use is as a library or customize it in Scala with Mahout-specific extensions
- that look something like R.
- Mahout-Samsara comes with an interactive shell that runs distributed operations on an Apache Spark cluster.
- This make prototyping or task submission much easier and allows users to customize algorithms with
- a whole new degree of freedom.
-
- [**Mahout Algorithms**](http://mahout.apache.org/users/basics/algorithms.html) include many new
- implementations built for speed on Mahout-Samsara. They run on Spark 1.3+, Flink 1.0.1, and some on H2O, which means as
- much as a 10x speed increase. You’ll find robust matrix decomposition algorithms as well as a **[Naive Bayes][6]**
- classifier and collaborative filtering. The new spark-itemsimilarity enables the next generation of **[cooccurrence
- recommenders][7]** that can use entire user click streams and context in making recommendations.
-
- Our [release notes](http://mahout.apache.org/general/release-notes.html) have details. Interested in helping? Join the <a href="https://mahout.apache.org/general/mailing-lists,-irc-and-archives.html">Mailing lists</a>.
-
-# Mahout News
-
-#### 13 May 2017 - Apache Mahout website beta release
-
-Docs available [here](http://mahout.apache.org/docs/0.13.1-SNAPSHOT)
-
-#### 17 April 2017 - Apache Mahout 0.13.0 released
-
-#### 13 June 2016 - Apache Mahout 0.12.2 released
-
-#### 18 May 2016 - Apache Mahout 0.12.1 released
-
-#### 11 April 2016 - Apache Mahout 0.12.0 released
-
-#### 12 March 2016 - Apache Mahout 0.11.2 released
-
-#### 23 February 2016 - New Apache Mahout Book - "Apache Mahout: Beyond MapReduce" by D.Lyubimov and A.Palumbo released. See [link](http://www.weatheringthroughtechdays.com/2016/02/mahout-samsara-book-is-out.html) Mahout "Samsara" Book Is Out
-
-#### 6 November 2015 - Apache Mahout 0.11.1 released
-
-#### 7 August 2015 - Apache Mahout 0.11.0 released
-
-#### 6 August 2015 - Apache Mahout 0.10.2 released
-
-#### 31 May 2015 - Apache Mahout 0.10.1 released
-
-#### 11 April 2015 - Apache Mahout 0.10.0 released
-
-#### 1 February 2014 - Apache Mahout 0.9 released
-
-Visit our [release notes](http://svn.apache.org/viewvc/mahout/trunk/CHANGELOG?view=markup&pathrev=1563661) page for details.
-
-
-
-####25 July 2013 - Apache Mahout 0.8 released
-
-Visit our [release notes](http://mahout.apache.org/general/release-notes.html) page for details.
-
-#### 16 June 2012 - Apache Mahout 0.7 released
-
-Visit our [release notes](http://mahout.apache.org/general/release-notes.html) page for details.
-
-#### 6 Feb 2012 - Apache Mahout 0.6 released
-
-Visit our [release notes](http://mahout.apache.org/general/release-notes.html) page for details.
-
-#### 9 Oct 2011 - Mahout in Action released
-
-The book *Mahout in Action* is available in print. Sean Owen, Robin Anil, Ted Dunning and Ellen Friedman thank the community (especially those who were reviewers) for input during the process and hope it is enjoyable.
-
-Find *Mahout in Action* at your favorite bookstore, or [order print and eBook copies from Manning](http://manning.com/owen/) -- use discount code "mahout37" for 37% off.
-
-
- [1]: http://mahout.apache.org/users/environment/how-to-build-an-app.html
- [2]: http://mahout.apache.org/developers/how-to-contribute.html
- [3]: http://mahout.apache.org/developers/issue-tracker.html
- [4]: http://mahout.apache.org/users/sparkbindings/home.html
- [5]: http://mahout.apache.org/general/mailing-lists,-irc-and-archives.html
- [6]: http://mahout.apache.org/users/algorithms/spark-naive-bayes.html
- [7]: http://mahout.apache.org/users/algorithms/intro-cooccurrence-spark.html
\ No newline at end of file
a***@apache.org
2017-12-21 04:52:37 UTC
Permalink
http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/oldsite/js/bootstrap.js
----------------------------------------------------------------------
diff --git a/website-old/oldsite/js/bootstrap.js b/website-old/oldsite/js/bootstrap.js
deleted file mode 100644
index c298ee4..0000000
--- a/website-old/oldsite/js/bootstrap.js
+++ /dev/null
@@ -1,2276 +0,0 @@
-/* ===================================================
- * bootstrap-transition.js v2.3.1
- * http://twitter.github.com/bootstrap/javascript.html#transitions
- * ===================================================
- * Copyright 2012 Twitter, Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ========================================================== */
-
-
-!function ($) {
-
- "use strict"; // jshint ;_;
-
-
- /* CSS TRANSITION SUPPORT (http://www.modernizr.com/)
- * ======================================================= */
-
- $(function () {
-
- $.support.transition = (function () {
-
- var transitionEnd = (function () {
-
- var el = document.createElement('bootstrap')
- , transEndEventNames = {
- 'WebkitTransition' : 'webkitTransitionEnd'
- , 'MozTransition' : 'transitionend'
- , 'OTransition' : 'oTransitionEnd otransitionend'
- , 'transition' : 'transitionend'
- }
- , name
-
- for (name in transEndEventNames){
- if (el.style[name] !== undefined) {
- return transEndEventNames[name]
- }
- }
-
- }())
-
- return transitionEnd && {
- end: transitionEnd
- }
-
- })()
-
- })
-
-}(window.jQuery);/* ==========================================================
- * bootstrap-alert.js v2.3.1
- * http://twitter.github.com/bootstrap/javascript.html#alerts
- * ==========================================================
- * Copyright 2012 Twitter, Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ========================================================== */
-
-
-!function ($) {
-
- "use strict"; // jshint ;_;
-
-
- /* ALERT CLASS DEFINITION
- * ====================== */
-
- var dismiss = '[data-dismiss="alert"]'
- , Alert = function (el) {
- $(el).on('click', dismiss, this.close)
- }
-
- Alert.prototype.close = function (e) {
- var $this = $(this)
- , selector = $this.attr('data-target')
- , $parent
-
- if (!selector) {
- selector = $this.attr('href')
- selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7
- }
-
- $parent = $(selector)
-
- e && e.preventDefault()
-
- $parent.length || ($parent = $this.hasClass('alert') ? $this : $this.parent())
-
- $parent.trigger(e = $.Event('close'))
-
- if (e.isDefaultPrevented()) return
-
- $parent.removeClass('in')
-
- function removeElement() {
- $parent
- .trigger('closed')
- .remove()
- }
-
- $.support.transition && $parent.hasClass('fade') ?
- $parent.on($.support.transition.end, removeElement) :
- removeElement()
- }
-
-
- /* ALERT PLUGIN DEFINITION
- * ======================= */
-
- var old = $.fn.alert
-
- $.fn.alert = function (option) {
- return this.each(function () {
- var $this = $(this)
- , data = $this.data('alert')
- if (!data) $this.data('alert', (data = new Alert(this)))
- if (typeof option == 'string') data[option].call($this)
- })
- }
-
- $.fn.alert.Constructor = Alert
-
-
- /* ALERT NO CONFLICT
- * ================= */
-
- $.fn.alert.noConflict = function () {
- $.fn.alert = old
- return this
- }
-
-
- /* ALERT DATA-API
- * ============== */
-
- $(document).on('click.alert.data-api', dismiss, Alert.prototype.close)
-
-}(window.jQuery);/* ============================================================
- * bootstrap-button.js v2.3.1
- * http://twitter.github.com/bootstrap/javascript.html#buttons
- * ============================================================
- * Copyright 2012 Twitter, Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============================================================ */
-
-
-!function ($) {
-
- "use strict"; // jshint ;_;
-
-
- /* BUTTON PUBLIC CLASS DEFINITION
- * ============================== */
-
- var Button = function (element, options) {
- this.$element = $(element)
- this.options = $.extend({}, $.fn.button.defaults, options)
- }
-
- Button.prototype.setState = function (state) {
- var d = 'disabled'
- , $el = this.$element
- , data = $el.data()
- , val = $el.is('input') ? 'val' : 'html'
-
- state = state + 'Text'
- data.resetText || $el.data('resetText', $el[val]())
-
- $el[val](data[state] || this.options[state])
-
- // push to event loop to allow forms to submit
- setTimeout(function () {
- state == 'loadingText' ?
- $el.addClass(d).attr(d, d) :
- $el.removeClass(d).removeAttr(d)
- }, 0)
- }
-
- Button.prototype.toggle = function () {
- var $parent = this.$element.closest('[data-toggle="buttons-radio"]')
-
- $parent && $parent
- .find('.active')
- .removeClass('active')
-
- this.$element.toggleClass('active')
- }
-
-
- /* BUTTON PLUGIN DEFINITION
- * ======================== */
-
- var old = $.fn.button
-
- $.fn.button = function (option) {
- return this.each(function () {
- var $this = $(this)
- , data = $this.data('button')
- , options = typeof option == 'object' && option
- if (!data) $this.data('button', (data = new Button(this, options)))
- if (option == 'toggle') data.toggle()
- else if (option) data.setState(option)
- })
- }
-
- $.fn.button.defaults = {
- loadingText: 'loading...'
- }
-
- $.fn.button.Constructor = Button
-
-
- /* BUTTON NO CONFLICT
- * ================== */
-
- $.fn.button.noConflict = function () {
- $.fn.button = old
- return this
- }
-
-
- /* BUTTON DATA-API
- * =============== */
-
- $(document).on('click.button.data-api', '[data-toggle^=button]', function (e) {
- var $btn = $(e.target)
- if (!$btn.hasClass('btn')) $btn = $btn.closest('.btn')
- $btn.button('toggle')
- })
-
-}(window.jQuery);/* ==========================================================
- * bootstrap-carousel.js v2.3.1
- * http://twitter.github.com/bootstrap/javascript.html#carousel
- * ==========================================================
- * Copyright 2012 Twitter, Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ========================================================== */
-
-
-!function ($) {
-
- "use strict"; // jshint ;_;
-
-
- /* CAROUSEL CLASS DEFINITION
- * ========================= */
-
- var Carousel = function (element, options) {
- this.$element = $(element)
- this.$indicators = this.$element.find('.carousel-indicators')
- this.options = options
- this.options.pause == 'hover' && this.$element
- .on('mouseenter', $.proxy(this.pause, this))
- .on('mouseleave', $.proxy(this.cycle, this))
- }
-
- Carousel.prototype = {
-
- cycle: function (e) {
- if (!e) this.paused = false
- if (this.interval) clearInterval(this.interval);
- this.options.interval
- && !this.paused
- && (this.interval = setInterval($.proxy(this.next, this), this.options.interval))
- return this
- }
-
- , getActiveIndex: function () {
- this.$active = this.$element.find('.item.active')
- this.$items = this.$active.parent().children()
- return this.$items.index(this.$active)
- }
-
- , to: function (pos) {
- var activeIndex = this.getActiveIndex()
- , that = this
-
- if (pos > (this.$items.length - 1) || pos < 0) return
-
- if (this.sliding) {
- return this.$element.one('slid', function () {
- that.to(pos)
- })
- }
-
- if (activeIndex == pos) {
- return this.pause().cycle()
- }
-
- return this.slide(pos > activeIndex ? 'next' : 'prev', $(this.$items[pos]))
- }
-
- , pause: function (e) {
- if (!e) this.paused = true
- if (this.$element.find('.next, .prev').length && $.support.transition.end) {
- this.$element.trigger($.support.transition.end)
- this.cycle(true)
- }
- clearInterval(this.interval)
- this.interval = null
- return this
- }
-
- , next: function () {
- if (this.sliding) return
- return this.slide('next')
- }
-
- , prev: function () {
- if (this.sliding) return
- return this.slide('prev')
- }
-
- , slide: function (type, next) {
- var $active = this.$element.find('.item.active')
- , $next = next || $active[type]()
- , isCycling = this.interval
- , direction = type == 'next' ? 'left' : 'right'
- , fallback = type == 'next' ? 'first' : 'last'
- , that = this
- , e
-
- this.sliding = true
-
- isCycling && this.pause()
-
- $next = $next.length ? $next : this.$element.find('.item')[fallback]()
-
- e = $.Event('slide', {
- relatedTarget: $next[0]
- , direction: direction
- })
-
- if ($next.hasClass('active')) return
-
- if (this.$indicators.length) {
- this.$indicators.find('.active').removeClass('active')
- this.$element.one('slid', function () {
- var $nextIndicator = $(that.$indicators.children()[that.getActiveIndex()])
- $nextIndicator && $nextIndicator.addClass('active')
- })
- }
-
- if ($.support.transition && this.$element.hasClass('slide')) {
- this.$element.trigger(e)
- if (e.isDefaultPrevented()) return
- $next.addClass(type)
- $next[0].offsetWidth // force reflow
- $active.addClass(direction)
- $next.addClass(direction)
- this.$element.one($.support.transition.end, function () {
- $next.removeClass([type, direction].join(' ')).addClass('active')
- $active.removeClass(['active', direction].join(' '))
- that.sliding = false
- setTimeout(function () { that.$element.trigger('slid') }, 0)
- })
- } else {
- this.$element.trigger(e)
- if (e.isDefaultPrevented()) return
- $active.removeClass('active')
- $next.addClass('active')
- this.sliding = false
- this.$element.trigger('slid')
- }
-
- isCycling && this.cycle()
-
- return this
- }
-
- }
-
-
- /* CAROUSEL PLUGIN DEFINITION
- * ========================== */
-
- var old = $.fn.carousel
-
- $.fn.carousel = function (option) {
- return this.each(function () {
- var $this = $(this)
- , data = $this.data('carousel')
- , options = $.extend({}, $.fn.carousel.defaults, typeof option == 'object' && option)
- , action = typeof option == 'string' ? option : options.slide
- if (!data) $this.data('carousel', (data = new Carousel(this, options)))
- if (typeof option == 'number') data.to(option)
- else if (action) data[action]()
- else if (options.interval) data.pause().cycle()
- })
- }
-
- $.fn.carousel.defaults = {
- interval: 5000
- , pause: 'hover'
- }
-
- $.fn.carousel.Constructor = Carousel
-
-
- /* CAROUSEL NO CONFLICT
- * ==================== */
-
- $.fn.carousel.noConflict = function () {
- $.fn.carousel = old
- return this
- }
-
- /* CAROUSEL DATA-API
- * ================= */
-
- $(document).on('click.carousel.data-api', '[data-slide], [data-slide-to]', function (e) {
- var $this = $(this), href
- , $target = $($this.attr('data-target') || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) //strip for ie7
- , options = $.extend({}, $target.data(), $this.data())
- , slideIndex
-
- $target.carousel(options)
-
- if (slideIndex = $this.attr('data-slide-to')) {
- $target.data('carousel').pause().to(slideIndex).cycle()
- }
-
- e.preventDefault()
- })
-
-}(window.jQuery);/* =============================================================
- * bootstrap-collapse.js v2.3.1
- * http://twitter.github.com/bootstrap/javascript.html#collapse
- * =============================================================
- * Copyright 2012 Twitter, Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============================================================ */
-
-
-!function ($) {
-
- "use strict"; // jshint ;_;
-
-
- /* COLLAPSE PUBLIC CLASS DEFINITION
- * ================================ */
-
- var Collapse = function (element, options) {
- this.$element = $(element)
- this.options = $.extend({}, $.fn.collapse.defaults, options)
-
- if (this.options.parent) {
- this.$parent = $(this.options.parent)
- }
-
- this.options.toggle && this.toggle()
- }
-
- Collapse.prototype = {
-
- constructor: Collapse
-
- , dimension: function () {
- var hasWidth = this.$element.hasClass('width')
- return hasWidth ? 'width' : 'height'
- }
-
- , show: function () {
- var dimension
- , scroll
- , actives
- , hasData
-
- if (this.transitioning || this.$element.hasClass('in')) return
-
- dimension = this.dimension()
- scroll = $.camelCase(['scroll', dimension].join('-'))
- actives = this.$parent && this.$parent.find('> .accordion-group > .in')
-
- if (actives && actives.length) {
- hasData = actives.data('collapse')
- if (hasData && hasData.transitioning) return
- actives.collapse('hide')
- hasData || actives.data('collapse', null)
- }
-
- this.$element[dimension](0)
- this.transition('addClass', $.Event('show'), 'shown')
- $.support.transition && this.$element[dimension](this.$element[0][scroll])
- }
-
- , hide: function () {
- var dimension
- if (this.transitioning || !this.$element.hasClass('in')) return
- dimension = this.dimension()
- this.reset(this.$element[dimension]())
- this.transition('removeClass', $.Event('hide'), 'hidden')
- this.$element[dimension](0)
- }
-
- , reset: function (size) {
- var dimension = this.dimension()
-
- this.$element
- .removeClass('collapse')
- [dimension](size || 'auto')
- [0].offsetWidth
-
- this.$element[size !== null ? 'addClass' : 'removeClass']('collapse')
-
- return this
- }
-
- , transition: function (method, startEvent, completeEvent) {
- var that = this
- , complete = function () {
- if (startEvent.type == 'show') that.reset()
- that.transitioning = 0
- that.$element.trigger(completeEvent)
- }
-
- this.$element.trigger(startEvent)
-
- if (startEvent.isDefaultPrevented()) return
-
- this.transitioning = 1
-
- this.$element[method]('in')
-
- $.support.transition && this.$element.hasClass('collapse') ?
- this.$element.one($.support.transition.end, complete) :
- complete()
- }
-
- , toggle: function () {
- this[this.$element.hasClass('in') ? 'hide' : 'show']()
- }
-
- }
-
-
- /* COLLAPSE PLUGIN DEFINITION
- * ========================== */
-
- var old = $.fn.collapse
-
- $.fn.collapse = function (option) {
- return this.each(function () {
- var $this = $(this)
- , data = $this.data('collapse')
- , options = $.extend({}, $.fn.collapse.defaults, $this.data(), typeof option == 'object' && option)
- if (!data) $this.data('collapse', (data = new Collapse(this, options)))
- if (typeof option == 'string') data[option]()
- })
- }
-
- $.fn.collapse.defaults = {
- toggle: true
- }
-
- $.fn.collapse.Constructor = Collapse
-
-
- /* COLLAPSE NO CONFLICT
- * ==================== */
-
- $.fn.collapse.noConflict = function () {
- $.fn.collapse = old
- return this
- }
-
-
- /* COLLAPSE DATA-API
- * ================= */
-
- $(document).on('click.collapse.data-api', '[data-toggle=collapse]', function (e) {
- var $this = $(this), href
- , target = $this.attr('data-target')
- || e.preventDefault()
- || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '') //strip for ie7
- , option = $(target).data('collapse') ? 'toggle' : $this.data()
- $this[$(target).hasClass('in') ? 'addClass' : 'removeClass']('collapsed')
- $(target).collapse(option)
- })
-
-}(window.jQuery);/* ============================================================
- * bootstrap-dropdown.js v2.3.1
- * http://twitter.github.com/bootstrap/javascript.html#dropdowns
- * ============================================================
- * Copyright 2012 Twitter, Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============================================================ */
-
-
-!function ($) {
-
- "use strict"; // jshint ;_;
-
-
- /* DROPDOWN CLASS DEFINITION
- * ========================= */
-
- var toggle = '[data-toggle=dropdown]'
- , Dropdown = function (element) {
- var $el = $(element).on('click.dropdown.data-api', this.toggle)
- $('html').on('click.dropdown.data-api', function () {
- $el.parent().removeClass('open')
- })
- }
-
- Dropdown.prototype = {
-
- constructor: Dropdown
-
- , toggle: function (e) {
- var $this = $(this)
- , $parent
- , isActive
-
- if ($this.is('.disabled, :disabled')) return
-
- $parent = getParent($this)
-
- isActive = $parent.hasClass('open')
-
- clearMenus()
-
- if (!isActive) {
- $parent.toggleClass('open')
- }
-
- $this.focus()
-
- return false
- }
-
- , keydown: function (e) {
- var $this
- , $items
- , $active
- , $parent
- , isActive
- , index
-
- if (!/(38|40|27)/.test(e.keyCode)) return
-
- $this = $(this)
-
- e.preventDefault()
- e.stopPropagation()
-
- if ($this.is('.disabled, :disabled')) return
-
- $parent = getParent($this)
-
- isActive = $parent.hasClass('open')
-
- if (!isActive || (isActive && e.keyCode == 27)) {
- if (e.which == 27) $parent.find(toggle).focus()
- return $this.click()
- }
-
- $items = $('[role=menu] li:not(.divider):visible a', $parent)
-
- if (!$items.length) return
-
- index = $items.index($items.filter(':focus'))
-
- if (e.keyCode == 38 && index > 0) index-- // up
- if (e.keyCode == 40 && index < $items.length - 1) index++ // down
- if (!~index) index = 0
-
- $items
- .eq(index)
- .focus()
- }
-
- }
-
- function clearMenus() {
- $(toggle).each(function () {
- getParent($(this)).removeClass('open')
- })
- }
-
- function getParent($this) {
- var selector = $this.attr('data-target')
- , $parent
-
- if (!selector) {
- selector = $this.attr('href')
- selector = selector && /#/.test(selector) && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7
- }
-
- $parent = selector && $(selector)
-
- if (!$parent || !$parent.length) $parent = $this.parent()
-
- return $parent
- }
-
-
- /* DROPDOWN PLUGIN DEFINITION
- * ========================== */
-
- var old = $.fn.dropdown
-
- $.fn.dropdown = function (option) {
- return this.each(function () {
- var $this = $(this)
- , data = $this.data('dropdown')
- if (!data) $this.data('dropdown', (data = new Dropdown(this)))
- if (typeof option == 'string') data[option].call($this)
- })
- }
-
- $.fn.dropdown.Constructor = Dropdown
-
-
- /* DROPDOWN NO CONFLICT
- * ==================== */
-
- $.fn.dropdown.noConflict = function () {
- $.fn.dropdown = old
- return this
- }
-
-
- /* APPLY TO STANDARD DROPDOWN ELEMENTS
- * =================================== */
-
- $(document)
- .on('click.dropdown.data-api', clearMenus)
- .on('click.dropdown.data-api', '.dropdown form', function (e) { e.stopPropagation() })
- .on('click.dropdown-menu', function (e) { e.stopPropagation() })
- .on('click.dropdown.data-api' , toggle, Dropdown.prototype.toggle)
- .on('keydown.dropdown.data-api', toggle + ', [role=menu]' , Dropdown.prototype.keydown)
-
-}(window.jQuery);
-/* =========================================================
- * bootstrap-modal.js v2.3.1
- * http://twitter.github.com/bootstrap/javascript.html#modals
- * =========================================================
- * Copyright 2012 Twitter, Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ========================================================= */
-
-
-!function ($) {
-
- "use strict"; // jshint ;_;
-
-
- /* MODAL CLASS DEFINITION
- * ====================== */
-
- var Modal = function (element, options) {
- this.options = options
- this.$element = $(element)
- .delegate('[data-dismiss="modal"]', 'click.dismiss.modal', $.proxy(this.hide, this))
- this.options.remote && this.$element.find('.modal-body').load(this.options.remote)
- }
-
- Modal.prototype = {
-
- constructor: Modal
-
- , toggle: function () {
- return this[!this.isShown ? 'show' : 'hide']()
- }
-
- , show: function () {
- var that = this
- , e = $.Event('show')
-
- this.$element.trigger(e)
-
- if (this.isShown || e.isDefaultPrevented()) return
-
- this.isShown = true
-
- this.escape()
-
- this.backdrop(function () {
- var transition = $.support.transition && that.$element.hasClass('fade')
-
- if (!that.$element.parent().length) {
- that.$element.appendTo(document.body) //don't move modals dom position
- }
-
- that.$element.show()
-
- if (transition) {
- that.$element[0].offsetWidth // force reflow
- }
-
- that.$element
- .addClass('in')
- .attr('aria-hidden', false)
-
- that.enforceFocus()
-
- transition ?
- that.$element.one($.support.transition.end, function () { that.$element.focus().trigger('shown') }) :
- that.$element.focus().trigger('shown')
-
- })
- }
-
- , hide: function (e) {
- e && e.preventDefault()
-
- var that = this
-
- e = $.Event('hide')
-
- this.$element.trigger(e)
-
- if (!this.isShown || e.isDefaultPrevented()) return
-
- this.isShown = false
-
- this.escape()
-
- $(document).off('focusin.modal')
-
- this.$element
- .removeClass('in')
- .attr('aria-hidden', true)
-
- $.support.transition && this.$element.hasClass('fade') ?
- this.hideWithTransition() :
- this.hideModal()
- }
-
- , enforceFocus: function () {
- var that = this
- $(document).on('focusin.modal', function (e) {
- if (that.$element[0] !== e.target && !that.$element.has(e.target).length) {
- that.$element.focus()
- }
- })
- }
-
- , escape: function () {
- var that = this
- if (this.isShown && this.options.keyboard) {
- this.$element.on('keyup.dismiss.modal', function ( e ) {
- e.which == 27 && that.hide()
- })
- } else if (!this.isShown) {
- this.$element.off('keyup.dismiss.modal')
- }
- }
-
- , hideWithTransition: function () {
- var that = this
- , timeout = setTimeout(function () {
- that.$element.off($.support.transition.end)
- that.hideModal()
- }, 500)
-
- this.$element.one($.support.transition.end, function () {
- clearTimeout(timeout)
- that.hideModal()
- })
- }
-
- , hideModal: function () {
- var that = this
- this.$element.hide()
- this.backdrop(function () {
- that.removeBackdrop()
- that.$element.trigger('hidden')
- })
- }
-
- , removeBackdrop: function () {
- this.$backdrop && this.$backdrop.remove()
- this.$backdrop = null
- }
-
- , backdrop: function (callback) {
- var that = this
- , animate = this.$element.hasClass('fade') ? 'fade' : ''
-
- if (this.isShown && this.options.backdrop) {
- var doAnimate = $.support.transition && animate
-
- this.$backdrop = $('<div class="modal-backdrop ' + animate + '" />')
- .appendTo(document.body)
-
- this.$backdrop.click(
- this.options.backdrop == 'static' ?
- $.proxy(this.$element[0].focus, this.$element[0])
- : $.proxy(this.hide, this)
- )
-
- if (doAnimate) this.$backdrop[0].offsetWidth // force reflow
-
- this.$backdrop.addClass('in')
-
- if (!callback) return
-
- doAnimate ?
- this.$backdrop.one($.support.transition.end, callback) :
- callback()
-
- } else if (!this.isShown && this.$backdrop) {
- this.$backdrop.removeClass('in')
-
- $.support.transition && this.$element.hasClass('fade')?
- this.$backdrop.one($.support.transition.end, callback) :
- callback()
-
- } else if (callback) {
- callback()
- }
- }
- }
-
-
- /* MODAL PLUGIN DEFINITION
- * ======================= */
-
- var old = $.fn.modal
-
- $.fn.modal = function (option) {
- return this.each(function () {
- var $this = $(this)
- , data = $this.data('modal')
- , options = $.extend({}, $.fn.modal.defaults, $this.data(), typeof option == 'object' && option)
- if (!data) $this.data('modal', (data = new Modal(this, options)))
- if (typeof option == 'string') data[option]()
- else if (options.show) data.show()
- })
- }
-
- $.fn.modal.defaults = {
- backdrop: true
- , keyboard: true
- , show: true
- }
-
- $.fn.modal.Constructor = Modal
-
-
- /* MODAL NO CONFLICT
- * ================= */
-
- $.fn.modal.noConflict = function () {
- $.fn.modal = old
- return this
- }
-
-
- /* MODAL DATA-API
- * ============== */
-
- $(document).on('click.modal.data-api', '[data-toggle="modal"]', function (e) {
- var $this = $(this)
- , href = $this.attr('href')
- , $target = $($this.attr('data-target') || (href && href.replace(/.*(?=#[^\s]+$)/, ''))) //strip for ie7
- , option = $target.data('modal') ? 'toggle' : $.extend({ remote:!/#/.test(href) && href }, $target.data(), $this.data())
-
- e.preventDefault()
-
- $target
- .modal(option)
- .one('hide', function () {
- $this.focus()
- })
- })
-
-}(window.jQuery);
-/* ===========================================================
- * bootstrap-tooltip.js v2.3.1
- * http://twitter.github.com/bootstrap/javascript.html#tooltips
- * Inspired by the original jQuery.tipsy by Jason Frame
- * ===========================================================
- * Copyright 2012 Twitter, Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ========================================================== */
-
-
-!function ($) {
-
- "use strict"; // jshint ;_;
-
-
- /* TOOLTIP PUBLIC CLASS DEFINITION
- * =============================== */
-
- var Tooltip = function (element, options) {
- this.init('tooltip', element, options)
- }
-
- Tooltip.prototype = {
-
- constructor: Tooltip
-
- , init: function (type, element, options) {
- var eventIn
- , eventOut
- , triggers
- , trigger
- , i
-
- this.type = type
- this.$element = $(element)
- this.options = this.getOptions(options)
- this.enabled = true
-
- triggers = this.options.trigger.split(' ')
-
- for (i = triggers.length; i--;) {
- trigger = triggers[i]
- if (trigger == 'click') {
- this.$element.on('click.' + this.type, this.options.selector, $.proxy(this.toggle, this))
- } else if (trigger != 'manual') {
- eventIn = trigger == 'hover' ? 'mouseenter' : 'focus'
- eventOut = trigger == 'hover' ? 'mouseleave' : 'blur'
- this.$element.on(eventIn + '.' + this.type, this.options.selector, $.proxy(this.enter, this))
- this.$element.on(eventOut + '.' + this.type, this.options.selector, $.proxy(this.leave, this))
- }
- }
-
- this.options.selector ?
- (this._options = $.extend({}, this.options, { trigger: 'manual', selector: '' })) :
- this.fixTitle()
- }
-
- , getOptions: function (options) {
- options = $.extend({}, $.fn[this.type].defaults, this.$element.data(), options)
-
- if (options.delay && typeof options.delay == 'number') {
- options.delay = {
- show: options.delay
- , hide: options.delay
- }
- }
-
- return options
- }
-
- , enter: function (e) {
- var defaults = $.fn[this.type].defaults
- , options = {}
- , self
-
- this._options && $.each(this._options, function (key, value) {
- if (defaults[key] != value) options[key] = value
- }, this)
-
- self = $(e.currentTarget)[this.type](options).data(this.type)
-
- if (!self.options.delay || !self.options.delay.show) return self.show()
-
- clearTimeout(this.timeout)
- self.hoverState = 'in'
- this.timeout = setTimeout(function() {
- if (self.hoverState == 'in') self.show()
- }, self.options.delay.show)
- }
-
- , leave: function (e) {
- var self = $(e.currentTarget)[this.type](this._options).data(this.type)
-
- if (this.timeout) clearTimeout(this.timeout)
- if (!self.options.delay || !self.options.delay.hide) return self.hide()
-
- self.hoverState = 'out'
- this.timeout = setTimeout(function() {
- if (self.hoverState == 'out') self.hide()
- }, self.options.delay.hide)
- }
-
- , show: function () {
- var $tip
- , pos
- , actualWidth
- , actualHeight
- , placement
- , tp
- , e = $.Event('show')
-
- if (this.hasContent() && this.enabled) {
- this.$element.trigger(e)
- if (e.isDefaultPrevented()) return
- $tip = this.tip()
- this.setContent()
-
- if (this.options.animation) {
- $tip.addClass('fade')
- }
-
- placement = typeof this.options.placement == 'function' ?
- this.options.placement.call(this, $tip[0], this.$element[0]) :
- this.options.placement
-
- $tip
- .detach()
- .css({ top: 0, left: 0, display: 'block' })
-
- this.options.container ? $tip.appendTo(this.options.container) : $tip.insertAfter(this.$element)
-
- pos = this.getPosition()
-
- actualWidth = $tip[0].offsetWidth
- actualHeight = $tip[0].offsetHeight
-
- switch (placement) {
- case 'bottom':
- tp = {top: pos.top + pos.height, left: pos.left + pos.width / 2 - actualWidth / 2}
- break
- case 'top':
- tp = {top: pos.top - actualHeight, left: pos.left + pos.width / 2 - actualWidth / 2}
- break
- case 'left':
- tp = {top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left - actualWidth}
- break
- case 'right':
- tp = {top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left + pos.width}
- break
- }
-
- this.applyPlacement(tp, placement)
- this.$element.trigger('shown')
- }
- }
-
- , applyPlacement: function(offset, placement){
- var $tip = this.tip()
- , width = $tip[0].offsetWidth
- , height = $tip[0].offsetHeight
- , actualWidth
- , actualHeight
- , delta
- , replace
-
- $tip
- .offset(offset)
- .addClass(placement)
- .addClass('in')
-
- actualWidth = $tip[0].offsetWidth
- actualHeight = $tip[0].offsetHeight
-
- if (placement == 'top' && actualHeight != height) {
- offset.top = offset.top + height - actualHeight
- replace = true
- }
-
- if (placement == 'bottom' || placement == 'top') {
- delta = 0
-
- if (offset.left < 0){
- delta = offset.left * -2
- offset.left = 0
- $tip.offset(offset)
- actualWidth = $tip[0].offsetWidth
- actualHeight = $tip[0].offsetHeight
- }
-
- this.replaceArrow(delta - width + actualWidth, actualWidth, 'left')
- } else {
- this.replaceArrow(actualHeight - height, actualHeight, 'top')
- }
-
- if (replace) $tip.offset(offset)
- }
-
- , replaceArrow: function(delta, dimension, position){
- this
- .arrow()
- .css(position, delta ? (50 * (1 - delta / dimension) + "%") : '')
- }
-
- , setContent: function () {
- var $tip = this.tip()
- , title = this.getTitle()
-
- $tip.find('.tooltip-inner')[this.options.html ? 'html' : 'text'](title)
- $tip.removeClass('fade in top bottom left right')
- }
-
- , hide: function () {
- var that = this
- , $tip = this.tip()
- , e = $.Event('hide')
-
- this.$element.trigger(e)
- if (e.isDefaultPrevented()) return
-
- $tip.removeClass('in')
-
- function removeWithAnimation() {
- var timeout = setTimeout(function () {
- $tip.off($.support.transition.end).detach()
- }, 500)
-
- $tip.one($.support.transition.end, function () {
- clearTimeout(timeout)
- $tip.detach()
- })
- }
-
- $.support.transition && this.$tip.hasClass('fade') ?
- removeWithAnimation() :
- $tip.detach()
-
- this.$element.trigger('hidden')
-
- return this
- }
-
- , fixTitle: function () {
- var $e = this.$element
- if ($e.attr('title') || typeof($e.attr('data-original-title')) != 'string') {
- $e.attr('data-original-title', $e.attr('title') || '').attr('title', '')
- }
- }
-
- , hasContent: function () {
- return this.getTitle()
- }
-
- , getPosition: function () {
- var el = this.$element[0]
- return $.extend({}, (typeof el.getBoundingClientRect == 'function') ? el.getBoundingClientRect() : {
- width: el.offsetWidth
- , height: el.offsetHeight
- }, this.$element.offset())
- }
-
- , getTitle: function () {
- var title
- , $e = this.$element
- , o = this.options
-
- title = $e.attr('data-original-title')
- || (typeof o.title == 'function' ? o.title.call($e[0]) : o.title)
-
- return title
- }
-
- , tip: function () {
- return this.$tip = this.$tip || $(this.options.template)
- }
-
- , arrow: function(){
- return this.$arrow = this.$arrow || this.tip().find(".tooltip-arrow")
- }
-
- , validate: function () {
- if (!this.$element[0].parentNode) {
- this.hide()
- this.$element = null
- this.options = null
- }
- }
-
- , enable: function () {
- this.enabled = true
- }
-
- , disable: function () {
- this.enabled = false
- }
-
- , toggleEnabled: function () {
- this.enabled = !this.enabled
- }
-
- , toggle: function (e) {
- var self = e ? $(e.currentTarget)[this.type](this._options).data(this.type) : this
- self.tip().hasClass('in') ? self.hide() : self.show()
- }
-
- , destroy: function () {
- this.hide().$element.off('.' + this.type).removeData(this.type)
- }
-
- }
-
-
- /* TOOLTIP PLUGIN DEFINITION
- * ========================= */
-
- var old = $.fn.tooltip
-
- $.fn.tooltip = function ( option ) {
- return this.each(function () {
- var $this = $(this)
- , data = $this.data('tooltip')
- , options = typeof option == 'object' && option
- if (!data) $this.data('tooltip', (data = new Tooltip(this, options)))
- if (typeof option == 'string') data[option]()
- })
- }
-
- $.fn.tooltip.Constructor = Tooltip
-
- $.fn.tooltip.defaults = {
- animation: true
- , placement: 'top'
- , selector: false
- , template: '<div class="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>'
- , trigger: 'hover focus'
- , title: ''
- , delay: 0
- , html: false
- , container: false
- }
-
-
- /* TOOLTIP NO CONFLICT
- * =================== */
-
- $.fn.tooltip.noConflict = function () {
- $.fn.tooltip = old
- return this
- }
-
-}(window.jQuery);
-/* ===========================================================
- * bootstrap-popover.js v2.3.1
- * http://twitter.github.com/bootstrap/javascript.html#popovers
- * ===========================================================
- * Copyright 2012 Twitter, Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * =========================================================== */
-
-
-!function ($) {
-
- "use strict"; // jshint ;_;
-
-
- /* POPOVER PUBLIC CLASS DEFINITION
- * =============================== */
-
- var Popover = function (element, options) {
- this.init('popover', element, options)
- }
-
-
- /* NOTE: POPOVER EXTENDS BOOTSTRAP-TOOLTIP.js
- ========================================== */
-
- Popover.prototype = $.extend({}, $.fn.tooltip.Constructor.prototype, {
-
- constructor: Popover
-
- , setContent: function () {
- var $tip = this.tip()
- , title = this.getTitle()
- , content = this.getContent()
-
- $tip.find('.popover-title')[this.options.html ? 'html' : 'text'](title)
- $tip.find('.popover-content')[this.options.html ? 'html' : 'text'](content)
-
- $tip.removeClass('fade top bottom left right in')
- }
-
- , hasContent: function () {
- return this.getTitle() || this.getContent()
- }
-
- , getContent: function () {
- var content
- , $e = this.$element
- , o = this.options
-
- content = (typeof o.content == 'function' ? o.content.call($e[0]) : o.content)
- || $e.attr('data-content')
-
- return content
- }
-
- , tip: function () {
- if (!this.$tip) {
- this.$tip = $(this.options.template)
- }
- return this.$tip
- }
-
- , destroy: function () {
- this.hide().$element.off('.' + this.type).removeData(this.type)
- }
-
- })
-
-
- /* POPOVER PLUGIN DEFINITION
- * ======================= */
-
- var old = $.fn.popover
-
- $.fn.popover = function (option) {
- return this.each(function () {
- var $this = $(this)
- , data = $this.data('popover')
- , options = typeof option == 'object' && option
- if (!data) $this.data('popover', (data = new Popover(this, options)))
- if (typeof option == 'string') data[option]()
- })
- }
-
- $.fn.popover.Constructor = Popover
-
- $.fn.popover.defaults = $.extend({} , $.fn.tooltip.defaults, {
- placement: 'right'
- , trigger: 'click'
- , content: ''
- , template: '<div class="popover"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'
- })
-
-
- /* POPOVER NO CONFLICT
- * =================== */
-
- $.fn.popover.noConflict = function () {
- $.fn.popover = old
- return this
- }
-
-}(window.jQuery);
-/* =============================================================
- * bootstrap-scrollspy.js v2.3.1
- * http://twitter.github.com/bootstrap/javascript.html#scrollspy
- * =============================================================
- * Copyright 2012 Twitter, Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============================================================== */
-
-
-!function ($) {
-
- "use strict"; // jshint ;_;
-
-
- /* SCROLLSPY CLASS DEFINITION
- * ========================== */
-
- function ScrollSpy(element, options) {
- var process = $.proxy(this.process, this)
- , $element = $(element).is('body') ? $(window) : $(element)
- , href
- this.options = $.extend({}, $.fn.scrollspy.defaults, options)
- this.$scrollElement = $element.on('scroll.scroll-spy.data-api', process)
- this.selector = (this.options.target
- || ((href = $(element).attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) //strip for ie7
- || '') + ' .nav li > a'
- this.$body = $('body')
- this.refresh()
- this.process()
- }
-
- ScrollSpy.prototype = {
-
- constructor: ScrollSpy
-
- , refresh: function () {
- var self = this
- , $targets
-
- this.offsets = $([])
- this.targets = $([])
-
- $targets = this.$body
- .find(this.selector)
- .map(function () {
- var $el = $(this)
- , href = $el.data('target') || $el.attr('href')
- , $href = /^#\w/.test(href) && $(href)
- return ( $href
- && $href.length
- && [[ $href.position().top + (!$.isWindow(self.$scrollElement.get(0)) && self.$scrollElement.scrollTop()), href ]] ) || null
- })
- .sort(function (a, b) { return a[0] - b[0] })
- .each(function () {
- self.offsets.push(this[0])
- self.targets.push(this[1])
- })
- }
-
- , process: function () {
- var scrollTop = this.$scrollElement.scrollTop() + this.options.offset
- , scrollHeight = this.$scrollElement[0].scrollHeight || this.$body[0].scrollHeight
- , maxScroll = scrollHeight - this.$scrollElement.height()
- , offsets = this.offsets
- , targets = this.targets
- , activeTarget = this.activeTarget
- , i
-
- if (scrollTop >= maxScroll) {
- return activeTarget != (i = targets.last()[0])
- && this.activate ( i )
- }
-
- for (i = offsets.length; i--;) {
- activeTarget != targets[i]
- && scrollTop >= offsets[i]
- && (!offsets[i + 1] || scrollTop <= offsets[i + 1])
- && this.activate( targets[i] )
- }
- }
-
- , activate: function (target) {
- var active
- , selector
-
- this.activeTarget = target
-
- $(this.selector)
- .parent('.active')
- .removeClass('active')
-
- selector = this.selector
- + '[data-target="' + target + '"],'
- + this.selector + '[href="' + target + '"]'
-
- active = $(selector)
- .parent('li')
- .addClass('active')
-
- if (active.parent('.dropdown-menu').length) {
- active = active.closest('li.dropdown').addClass('active')
- }
-
- active.trigger('activate')
- }
-
- }
-
-
- /* SCROLLSPY PLUGIN DEFINITION
- * =========================== */
-
- var old = $.fn.scrollspy
-
- $.fn.scrollspy = function (option) {
- return this.each(function () {
- var $this = $(this)
- , data = $this.data('scrollspy')
- , options = typeof option == 'object' && option
- if (!data) $this.data('scrollspy', (data = new ScrollSpy(this, options)))
- if (typeof option == 'string') data[option]()
- })
- }
-
- $.fn.scrollspy.Constructor = ScrollSpy
-
- $.fn.scrollspy.defaults = {
- offset: 10
- }
-
-
- /* SCROLLSPY NO CONFLICT
- * ===================== */
-
- $.fn.scrollspy.noConflict = function () {
- $.fn.scrollspy = old
- return this
- }
-
-
- /* SCROLLSPY DATA-API
- * ================== */
-
- $(window).on('load', function () {
- $('[data-spy="scroll"]').each(function () {
- var $spy = $(this)
- $spy.scrollspy($spy.data())
- })
- })
-
-}(window.jQuery);/* ========================================================
- * bootstrap-tab.js v2.3.1
- * http://twitter.github.com/bootstrap/javascript.html#tabs
- * ========================================================
- * Copyright 2012 Twitter, Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ======================================================== */
-
-
-!function ($) {
-
- "use strict"; // jshint ;_;
-
-
- /* TAB CLASS DEFINITION
- * ==================== */
-
- var Tab = function (element) {
- this.element = $(element)
- }
-
- Tab.prototype = {
-
- constructor: Tab
-
- , show: function () {
- var $this = this.element
- , $ul = $this.closest('ul:not(.dropdown-menu)')
- , selector = $this.attr('data-target')
- , previous
- , $target
- , e
-
- if (!selector) {
- selector = $this.attr('href')
- selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7
- }
-
- if ( $this.parent('li').hasClass('active') ) return
-
- previous = $ul.find('.active:last a')[0]
-
- e = $.Event('show', {
- relatedTarget: previous
- })
-
- $this.trigger(e)
-
- if (e.isDefaultPrevented()) return
-
- $target = $(selector)
-
- this.activate($this.parent('li'), $ul)
- this.activate($target, $target.parent(), function () {
- $this.trigger({
- type: 'shown'
- , relatedTarget: previous
- })
- })
- }
-
- , activate: function ( element, container, callback) {
- var $active = container.find('> .active')
- , transition = callback
- && $.support.transition
- && $active.hasClass('fade')
-
- function next() {
- $active
- .removeClass('active')
- .find('> .dropdown-menu > .active')
- .removeClass('active')
-
- element.addClass('active')
-
- if (transition) {
- element[0].offsetWidth // reflow for transition
- element.addClass('in')
- } else {
- element.removeClass('fade')
- }
-
- if ( element.parent('.dropdown-menu') ) {
- element.closest('li.dropdown').addClass('active')
- }
-
- callback && callback()
- }
-
- transition ?
- $active.one($.support.transition.end, next) :
- next()
-
- $active.removeClass('in')
- }
- }
-
-
- /* TAB PLUGIN DEFINITION
- * ===================== */
-
- var old = $.fn.tab
-
- $.fn.tab = function ( option ) {
- return this.each(function () {
- var $this = $(this)
- , data = $this.data('tab')
- if (!data) $this.data('tab', (data = new Tab(this)))
- if (typeof option == 'string') data[option]()
- })
- }
-
- $.fn.tab.Constructor = Tab
-
-
- /* TAB NO CONFLICT
- * =============== */
-
- $.fn.tab.noConflict = function () {
- $.fn.tab = old
- return this
- }
-
-
- /* TAB DATA-API
- * ============ */
-
- $(document).on('click.tab.data-api', '[data-toggle="tab"], [data-toggle="pill"]', function (e) {
- e.preventDefault()
- $(this).tab('show')
- })
-
-}(window.jQuery);/* =============================================================
- * bootstrap-typeahead.js v2.3.1
- * http://twitter.github.com/bootstrap/javascript.html#typeahead
- * =============================================================
- * Copyright 2012 Twitter, Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============================================================ */
-
-
-!function($){
-
- "use strict"; // jshint ;_;
-
-
- /* TYPEAHEAD PUBLIC CLASS DEFINITION
- * ================================= */
-
- var Typeahead = function (element, options) {
- this.$element = $(element)
- this.options = $.extend({}, $.fn.typeahead.defaults, options)
- 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.source = this.options.source
- this.$menu = $(this.options.menu)
- this.shown = false
- this.listen()
- }
-
- Typeahead.prototype = {
-
- constructor: Typeahead
-
- , select: function () {
- var val = this.$menu.find('.active').attr('data-value')
- this.$element
- .val(this.updater(val))
- .change()
- return this.hide()
- }
-
- , updater: function (item) {
- return item
- }
-
- , show: function () {
- var pos = $.extend({}, this.$element.position(), {
- height: this.$element[0].offsetHeight
- })
-
- this.$menu
- .insertAfter(this.$element)
- .css({
- top: pos.top + pos.height
- , left: pos.left
- })
- .show()
-
- this.shown = true
- return this
- }
-
- , hide: function () {
- this.$menu.hide()
- this.shown = false
- return this
- }
-
- , lookup: function (event) {
- var items
-
- this.query = this.$element.val()
-
- if (!this.query || this.query.length < this.options.minLength) {
- return this.shown ? this.hide() : this
- }
-
- items = $.isFunction(this.source) ? this.source(this.query, $.proxy(this.process, this)) : this.source
-
- return items ? this.process(items) : this
- }
-
- , process: function (items) {
- var that = this
-
- items = $.grep(items, function (item) {
- return that.matcher(item)
- })
-
- items = this.sorter(items)
-
- if (!items.length) {
- return this.shown ? this.hide() : this
- }
-
- return this.render(items.slice(0, this.options.items)).show()
- }
-
- , matcher: function (item) {
- return ~item.toLowerCase().indexOf(this.query.toLowerCase())
- }
-
- , sorter: function (items) {
- var beginswith = []
- , caseSensitive = []
- , caseInsensitive = []
- , item
-
- while (item = items.shift()) {
- if (!item.toLowerCase().indexOf(this.query.toLowerCase())) beginswith.push(item)
- else if (~item.indexOf(this.query)) caseSensitive.push(item)
- else caseInsensitive.push(item)
- }
-
- return beginswith.concat(caseSensitive, caseInsensitive)
- }
-
- , highlighter: function (item) {
- var query = this.query.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g, '\\$&')
- return item.replace(new RegExp('(' + query + ')', 'ig'), function ($1, match) {
- return '<strong>' + match + '</strong>'
- })
- }
-
- , render: function (items) {
- var that = this
-
- items = $(items).map(function (i, item) {
- i = $(that.options.item).attr('data-value', item)
- i.find('a').html(that.highlighter(item))
- return i[0]
- })
-
- items.first().addClass('active')
- this.$menu.html(items)
- return this
- }
-
- , next: function (event) {
- var active = this.$menu.find('.active').removeClass('active')
- , next = active.next()
-
- if (!next.length) {
- next = $(this.$menu.find('li')[0])
- }
-
- next.addClass('active')
- }
-
- , prev: function (event) {
- var active = this.$menu.find('.active').removeClass('active')
- , prev = active.prev()
-
- if (!prev.length) {
- prev = this.$menu.find('li').last()
- }
-
- prev.addClass('active')
- }
-
- , listen: function () {
- this.$element
- .on('focus', $.proxy(this.focus, this))
- .on('blur', $.proxy(this.blur, this))
- .on('keypress', $.proxy(this.keypress, this))
- .on('keyup', $.proxy(this.keyup, this))
-
- if (this.eventSupported('keydown')) {
- this.$element.on('keydown', $.proxy(this.keydown, this))
- }
-
- this.$menu
- .on('click', $.proxy(this.click, this))
- .on('mouseenter', 'li', $.proxy(this.mouseenter, this))
- .on('mouseleave', 'li', $.proxy(this.mouseleave, this))
- }
-
- , eventSupported: function(eventName) {
- var isSupported = eventName in this.$element
- if (!isSupported) {
- this.$element.setAttribute(eventName, 'return;')
- isSupported = typeof this.$element[eventName] === 'function'
- }
- return isSupported
- }
-
- , move: function (e) {
- if (!this.shown) return
-
- switch(e.keyCode) {
- case 9: // tab
- case 13: // enter
- case 27: // escape
- e.preventDefault()
- break
-
- case 38: // up arrow
- e.preventDefault()
- this.prev()
- break
-
- case 40: // down arrow
- e.preventDefault()
- this.next()
- break
- }
-
- e.stopPropagation()
- }
-
- , keydown: function (e) {
- this.suppressKeyPressRepeat = ~$.inArray(e.keyCode, [40,38,9,13,27])
- this.move(e)
- }
-
- , keypress: function (e) {
- if (this.suppressKeyPressRepeat) return
- this.move(e)
- }
-
- , keyup: function (e) {
- switch(e.keyCode) {
- case 40: // down arrow
- case 38: // up arrow
- case 16: // shift
- case 17: // ctrl
- case 18: // alt
- break
-
- case 9: // tab
- case 13: // enter
- if (!this.shown) return
- this.select()
- break
-
- case 27: // escape
- if (!this.shown) return
- this.hide()
- break
-
- default:
- this.lookup()
- }
-
- e.stopPropagation()
- e.preventDefault()
- }
-
- , focus: function (e) {
- this.focused = true
- }
-
- , blur: function (e) {
- this.focused = false
- if (!this.mousedover && this.shown) this.hide()
- }
-
- , click: function (e) {
- e.stopPropagation()
- e.preventDefault()
- this.select()
- this.$element.focus()
- }
-
- , mouseenter: function (e) {
- this.mousedover = true
- this.$menu.find('.active').removeClass('active')
- $(e.currentTarget).addClass('active')
- }
-
- , mouseleave: function (e) {
- this.mousedover = false
- if (!this.focused && this.shown) this.hide()
- }
-
- }
-
-
- /* TYPEAHEAD PLUGIN DEFINITION
- * =========================== */
-
- var old = $.fn.typeahead
-
- $.fn.typeahead = function (option) {
- return this.each(function () {
- var $this = $(this)
- , data = $this.data('typeahead')
- , options = typeof option == 'object' && option
- if (!data) $this.data('typeahead', (data = new Typeahead(this, options)))
- if (typeof option == 'string') data[option]()
- })
- }
-
- $.fn.typeahead.defaults = {
- source: []
- , items: 8
- , menu: '<ul class="typeahead dropdown-menu"></ul>'
- , item: '<li><a href="#"></a></li>'
- , minLength: 1
- }
-
- $.fn.typeahead.Constructor = Typeahead
-
-
- /* TYPEAHEAD NO CONFLICT
- * =================== */
-
- $.fn.typeahead.noConflict = function () {
- $.fn.typeahead = old
- return this
- }
-
-
- /* TYPEAHEAD DATA-API
- * ================== */
-
- $(document).on('focus.typeahead.data-api', '[data-provide="typeahead"]', function (e) {
- var $this = $(this)
- if ($this.data('typeahead')) return
- $this.typeahead($this.data())
- })
-
-}(window.jQuery);
-/* ==========================================================
- * bootstrap-affix.js v2.3.1
- * http://twitter.github.com/bootstrap/javascript.html#affix
- * ==========================================================
- * Copyright 2012 Twitter, Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ========================================================== */
-
-
-!function ($) {
-
- "use strict"; // jshint ;_;
-
-
- /* AFFIX CLASS DEFINITION
- * ====================== */
-
- var Affix = function (element, options) {
- this.options = $.extend({}, $.fn.affix.defaults, options)
- this.$window = $(window)
- .on('scroll.affix.data-api', $.proxy(this.checkPosition, this))
- .on('click.affix.data-api', $.proxy(function () { setTimeout($.proxy(this.checkPosition, this), 1) }, this))
- this.$element = $(element)
- this.checkPosition()
- }
-
- Affix.prototype.checkPosition = function () {
- if (!this.$element.is(':visible')) return
-
- var scrollHeight = $(document).height()
- , scrollTop = this.$window.scrollTop()
- , position = this.$element.offset()
- , offset = this.options.offset
- , offsetBottom = offset.bottom
- , offsetTop = offset.top
- , reset = 'affix affix-top affix-bottom'
- , affix
-
- if (typeof offset != 'object') offsetBottom = offsetTop = offset
- if (typeof offsetTop == 'function') offsetTop = offset.top()
- if (typeof offsetBottom == 'function') offsetBottom = offset.bottom()
-
- affix = this.unpin != null && (scrollTop + this.unpin <= position.top) ?
- false : offsetBottom != null && (position.top + this.$element.height() >= scrollHeight - offsetBottom) ?
- 'bottom' : offsetTop != null && scrollTop <= offsetTop ?
- 'top' : false
-
- if (this.affixed === affix) return
-
- this.affixed = affix
- this.unpin = affix == 'bottom' ? position.top - scrollTop : null
-
- this.$element.removeClass(reset).addClass('affix' + (affix ? '-' + affix : ''))
- }
-
-
- /* AFFIX PLUGIN DEFINITION
- * ======================= */
-
- var old = $.fn.affix
-
- $.fn.affix = function (option) {
- return this.each(function () {
- var $this = $(this)
- , data = $this.data('affix')
- , options = typeof option == 'object' && option
- if (!data) $this.data('affix', (data = new Affix(this, options)))
- if (typeof option == 'string') data[option]()
- })
- }
-
- $.fn.affix.Constructor = Affix
-
- $.fn.affix.defaults = {
- offset: 0
- }
-
-
- /* AFFIX NO CONFLICT
- * ================= */
-
- $.fn.affix.noConflict = function () {
- $.fn.affix = old
- return this
- }
-
-
- /* AFFIX DATA-API
- * ============== */
-
- $(window).on('load', function () {
- $('[data-spy="affix"]').each(function () {
- var $spy = $(this)
- , data = $spy.data()
-
- data.offset = data.offset || {}
-
- data.offsetBottom && (data.offset.bottom = data.offsetBottom)
- data.offsetTop && (data.offset.top = data.offsetTop)
-
- $spy.affix(data)
- })
- })
-
-
-}(window.jQuery);
\ No newline at end of file
a***@apache.org
2017-12-21 04:52:40 UTC
Permalink
http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/oldsite/images/mahout-powered.svg
----------------------------------------------------------------------
diff --git a/website-old/oldsite/images/mahout-powered.svg b/website-old/oldsite/images/mahout-powered.svg
deleted file mode 100644
index 1a31146..0000000
--- a/website-old/oldsite/images/mahout-powered.svg
+++ /dev/null
@@ -1,676 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
- width="956px" height="400px" viewBox="0 0 956 400" enable-background="new 0 0 956 400" xml:space="preserve">
-<g>
- <path fill-rule="evenodd" clip-rule="evenodd" fill="#23A9FF" d="M709.799,389.6c-21.38,0-37.761-6.839-48.688-20.322
- c-0.377-0.467-0.747-0.936-1.11-1.408V376c0,5.523-4.478,10.001-10.001,10.001h-28.6c-5.522,0-10-4.478-10-10.001v-64.87
- c0-4.989-0.908-7.693-1.669-9.083c-0.053-0.096-0.104-0.194-0.154-0.292c-0.32-0.634-0.987-1.954-5.366-1.954
- c-5.29,0-7.384,1.85-8.617,3.464c-2.353,3.069-3.593,8.255-3.593,15.005V376c0,5.523-4.477,10.001-10,10.001h-27.8
- c-0.756,0-1.492-0.085-2.201-0.244c-0.708,0.159-1.444,0.244-2.2,0.244h-30.271c-3.453,0-6.61-1.776-8.425-4.61
- c-0.791,0.505-1.595,0.995-2.412,1.471c-7.595,4.351-16.133,6.54-25.442,6.54c-11.384,0-21.145-3.183-29.042-9.469
- c-1.529,3.569-5.072,6.068-9.198,6.068h-28.408c-5.523,0-10-4.478-10-10.001v-67.812c0-3.194-0.564-4.789-0.9-5.458
- c-0.392-0.777-0.97-1.93-4.821-1.93c-4.724,0-5.983,1.728-6.896,3.675c-0.919,2.062-1.383,4.791-1.383,8.114V376
- c0,5.523-4.477,10.001-10,10.001h-27.8c-5.523,0-10-4.478-10-10.001v-63.33c0-6.95-0.88-9.239-1.055-9.628
- c-0.349-0.762-0.843-1.841-4.675-1.841c-5.697,0-6.798,1.676-7.151,2.329c-0.298,0.621-1.12,2.837-1.12,8.449V376
- c0,5.523-4.477,10.001-10,10.001h-28.199c-5.523,0-10-4.478-10-10.001V269.8c0-5.522,4.477-10,10-10h26.999
- c2.902,0,5.514,1.235,7.34,3.209c6.486-3.852,14.321-5.809,23.34-5.809c10.216,0,18.796,2.437,25.504,7.242
- c0.185,0.133,0.368,0.272,0.545,0.418c1.322,1.092,2.566,2.262,3.73,3.506c2.438-2.188,5.07-4.048,7.884-5.571
- c0.07-0.036,0.14-0.073,0.211-0.11c7.126-3.639,15.103-5.484,23.707-5.484c5.958,0,11.882,1.164,17.608,3.456
- c6.131,2.448,11.667,6.673,16.449,12.554c1.573,1.945,2.946,4.052,4.116,6.313c0.941-1.602,1.974-3.131,3.103-4.586
- C462.508,263.016,477.94,257,499.041,257c13.235,0,25.249,2.715,35.706,8.067c3.12,1.598,6.458,3.872,9.454,7.101v-39.569
- c0-5.522,4.477-10,10-10h27.8c5.523,0,10,4.478,10,10v28.484c6.504-2.974,13.447-4.483,20.639-4.483
- c7.865,0,15.192,1.418,21.774,4.218c7.009,3,12.832,7.627,17.329,13.761c2.014,2.758,3.63,5.599,4.846,8.499
- c1.368-2.145,2.862-4.229,4.481-6.253c10.92-13.683,27.316-20.624,48.729-20.624c21.414,0,37.812,6.941,48.737,20.633
- c0.225,0.278,0.444,0.562,0.665,0.843v-8.274c0-5.523,4.477-10,10-10h28.6c5.523,0,10,4.477,10,10v64.358
- c0,6.407,0.92,8.881,1.203,9.484c0.409,0.88,1.098,2.354,5.816,2.354c6.371,0,8.746-2.222,10.299-5.57
- c0.86-2.012,1.881-5.809,1.881-12.539v-58.088c0-5.523,4.477-10,10-10h28.201c1.719,0,3.338,0.434,4.749,1.198h2.85v-20.001
- c0-5.522,4.478-10,10.001-10h27.6c5.522,0,10,4.478,10,10V260.6h7.198c5.523,0,10,4.477,10,10v19.602c0,5.523-4.477,10-10,10H920.4
- v46.178c0.521,0.013,1.106,0.021,1.76,0.021c0.63,0,1.279-0.023,1.929-0.071c0.704-0.053,1.405-0.129,2.085-0.227
- c0.475-0.068,0.952-0.103,1.427-0.103c2.388,0,4.717,0.856,6.547,2.442c2.192,1.899,3.451,4.658,3.451,7.558v20.8
- c0,5.347-4.205,9.745-9.545,9.989l-13.179,0.602c-0.037,0.002-0.076,0.004-0.113,0.004c-1.198,0.042-2.364,0.062-3.501,0.062
- c-14.403,0-24.539-3.26-30.987-9.963c-2.15-2.205-3.846-4.837-5.072-7.872V376c0,5.523-4.478,10.001-10,10.001H838.2
- c-3.148,0-5.959-1.456-7.791-3.732c-2.405,1.436-4.804,2.577-7.188,3.416c-5.142,1.804-11.065,2.717-17.621,2.717
- c-24.711,0-35.835-12.303-40.818-22.626c-0.51-1.045-0.984-2.142-1.422-3.292c-1.476,2.343-3.101,4.608-4.874,6.796
- C747.562,382.761,731.181,389.6,709.799,389.6L709.799,389.6z M487.944,348.278c0.598,0.447,1.538,0.922,3.414,0.922
- c4.033,0,7.665-1.15,11.099-3.517c1.935-1.333,2.882-4.174,3.318-7.126c-0.231,0.043-0.465,0.089-0.702,0.133l-6.347,1.172
- c-6.723,1.191-9.018,2.316-9.562,2.634c-0.961,0.561-1.564,1.024-1.564,3.194C487.601,347.181,487.822,347.995,487.944,348.278
- L487.944,348.278z M709.751,299.801c-6.414,0-9.15,2.51-10.819,4.697c-3.009,3.937-4.531,10.177-4.531,18.552
- c0,8.386,1.529,14.651,4.544,18.623c1.671,2.205,4.405,4.728,10.807,4.728c6.375,0,9.085-2.51,10.732-4.697
- c2.995-3.98,4.517-10.259,4.517-18.653c0-8.384-1.515-14.637-4.504-18.585C718.854,302.297,716.139,299.801,709.751,299.801
- L709.751,299.801z M491.611,300.711c-0.264,0.336-0.562,0.826-0.854,1.529l7.135-0.875c3.8-0.479,5.996-0.97,7.181-1.304
- c-1.357-0.335-3.556-0.662-6.974-0.662C493.944,299.399,492.062,300.24,491.611,300.711L491.611,300.711z"/>
- <path fill="#1F1F1F" d="M582,232.6v50.641c4.02-6.2,8.67-10.52,13.96-12.971c5.28-2.449,10.851-3.67,16.681-3.67
- c6.549,0,12.5,1.141,17.859,3.42c5.35,2.291,9.74,5.78,13.18,10.471c2.91,3.99,4.7,8.08,5.35,12.289
- c0.65,4.201,0.971,11.07,0.971,20.601V376h-28.6v-64.87c0-5.739-0.971-10.37-2.9-13.89c-2.51-4.961-7.27-7.44-14.29-7.44
- c-7.271,0-12.79,2.46-16.56,7.39c-3.771,4.92-5.65,11.951-5.65,21.08V376h-27.8V232.6H582 M910.4,240.6v30H927.6V290.2H910.4
- v56.409c0,4.371,0.55,7.101,1.649,8.17c1.101,1.08,4.47,1.621,10.11,1.621c0.84,0,1.73-0.03,2.67-0.101
- c0.939-0.069,1.859-0.17,2.77-0.3v20.8l-13.18,0.601c-1.083,0.037-2.135,0.056-3.161,0.056c-11.429,0-19.356-2.299-23.778-6.896
- c-3.121-3.201-4.681-8.121-4.681-14.761v-65.6H868V270.6h14.8v-30H910.4 M709.8,266.2c18.3,0,31.94,5.62,40.92,16.87
- c8.99,11.24,13.48,24.539,13.48,39.88c0,15.6-4.49,28.94-13.48,40.03c-8.979,11.08-22.62,16.619-40.92,16.619
- s-31.94-5.539-40.92-16.619c-8.989-11.09-13.479-24.431-13.479-40.03c0-15.341,4.49-28.64,13.479-39.88
- C677.859,271.82,691.5,266.2,709.8,266.2 M709.75,356.4c8.12,0,14.359-2.891,18.72-8.68c4.351-5.781,6.53-14.011,6.53-24.671
- c0-10.659-2.18-18.87-6.53-24.62c-4.36-5.75-10.6-8.63-18.72-8.63c-8.13,0-14.38,2.88-18.77,8.63
- c-4.391,5.75-6.58,13.961-6.58,24.62c0,10.66,2.189,18.89,6.58,24.671C695.37,353.51,701.62,356.4,709.75,356.4 M499.04,267
- c11.69,0,22.069,2.32,31.149,6.971c9.07,4.639,13.61,13.369,13.61,26.18v48.76c0,3.38,0.07,7.48,0.2,12.29
- c0.2,3.63,0.75,6.09,1.67,7.39c0.92,1.301,2.29,2.37,4.13,3.21v4.2h-30.271c-0.84-2.141-1.43-4.141-1.75-6.02
- c-0.329-1.881-0.59-4.021-0.779-6.41c-3.859,4.17-8.311,7.72-13.34,10.65c-6.02,3.449-12.82,5.18-20.41,5.18
- c-9.68,0-17.67-2.75-23.98-8.26c-6.31-5.5-9.47-13.301-9.47-23.4c0-13.1,5.08-22.57,15.23-28.44c5.56-3.19,13.75-5.47,24.55-6.84
- l9.529-1.17c5.17-0.649,8.871-1.47,11.101-2.44c3.99-1.699,5.99-4.34,5.99-7.92c0-4.359-1.53-7.38-4.601-9.039
- c-3.06-1.66-7.56-2.49-13.5-2.49c-6.66,0-11.379,1.619-14.14,4.869c-1.979,2.4-3.3,5.641-3.96,9.73h-26.8
- c0.59-9.311,3.2-16.95,7.84-22.939C468.41,271.689,481.08,267,499.04,267 M491.359,359.2c6.07,0,11.66-1.761,16.771-5.28
- c5.12-3.529,7.771-9.949,7.97-19.279V324.26c-1.779,1.11-3.58,2.01-5.39,2.69c-1.81,0.69-4.3,1.319-7.47,1.909l-6.33,1.17
- c-5.93,1.051-10.189,2.32-12.77,3.82c-4.361,2.551-6.541,6.49-6.541,11.84c0,4.771,1.339,8.211,4.009,10.33
- C484.279,358.141,487.529,359.2,491.359,359.2 M411.86,267.2c4.7,0,9.32,0.909,13.89,2.739c4.56,1.82,8.7,5.021,12.41,9.58
- c3,3.711,5.02,8.271,6.06,13.67c0.65,3.58,0.98,8.82,0.98,15.73L445.01,376H416.6v-67.811c0-4.039-0.66-7.359-1.97-9.959
- c-2.49-4.961-7.07-7.431-13.75-7.431c-7.73,0-13.07,3.19-16.02,9.58c-1.51,3.38-2.26,7.45-2.26,12.21V376h-27.8v-63.33
- c0-6.311-0.65-10.9-1.95-13.76c-2.35-5.141-6.94-7.71-13.78-7.71c-7.95,0-13.29,2.569-16.02,7.71c-1.5,2.93-2.25,7.279-2.25,13.07
- V376h-28.2V269.8h27v15.46c3.44-5.529,6.69-9.47,9.74-11.81c5.39-4.171,12.37-6.25,20.94-6.25c8.12,0,14.68,1.79,19.68,5.37
- c4.02,3.32,7.08,7.58,9.15,12.779c3.65-6.24,8.18-10.83,13.59-13.76C398.44,268.66,404.82,267.2,411.86,267.2 M865.2,269.4V376h-27
- v-14.96c-0.261,0.33-0.91,1.3-1.95,2.931c-1.04,1.619-2.28,3.049-3.71,4.289c-4.36,3.9-8.57,6.561-12.64,7.99
- c-4.07,1.43-8.83,2.15-14.301,2.15c-15.74,0-26.35-5.66-31.81-16.971c-3.06-6.27-4.59-15.5-4.59-27.699V269.4h28.6v64.359
- c0,6.07,0.71,10.641,2.14,13.711c2.53,5.42,7.49,8.129,14.881,8.129c9.47,0,15.959-3.85,19.459-11.56
- c1.811-4.181,2.721-9.7,2.721-16.55V269.4H865.2 M582,212.6h-27.8c-11.046,0-20,8.954-20,20v21.182
- C523.599,249.28,511.796,247,499.04,247c-20.979,0-37.309,5.431-48.668,16.161c-5.107-5.312-10.877-9.27-17.208-11.796
- c-6.893-2.761-14.068-4.165-21.305-4.165c-10.198,0-19.703,2.213-28.252,6.576c-0.145,0.074-0.289,0.149-0.431,0.227
- c-0.904,0.49-1.792,1.006-2.664,1.55c-8.252-5.543-18.415-8.353-30.233-8.353c-8.355,0-15.932,1.435-22.647,4.278
- c-2.458-1.08-5.175-1.679-8.032-1.679h-27c-11.045,0-20,8.954-20,20V376c0,11.046,8.955,20,20,20h28.2
- c7.177,0,13.472-3.781,17-9.459c3.528,5.678,9.823,9.459,17,9.459h27.8c7.177,0,13.471-3.781,17-9.459
- c3.528,5.678,9.823,9.459,17,9.459h28.41c3.945,0,7.625-1.143,10.724-3.115c8.044,4.328,17.258,6.516,27.516,6.516
- c9.591,0,18.534-1.975,26.644-5.875c2.891,1.591,6.19,2.475,9.636,2.475H549.8c0.743,0,1.478-0.04,2.2-0.119
- c0.723,0.079,1.457,0.119,2.2,0.119H582c9.862,0,18.058-7.139,19.7-16.531c1.643,9.393,9.838,16.531,19.7,16.531H650
- c6.725,0,12.675-3.318,16.3-8.408c11.611,7.979,26.173,12.008,43.5,12.008c22.084,0,39.678-6.547,52.395-19.475
- c7.525,9.087,20.741,18.275,43.405,18.275c7.69,0,14.732-1.104,20.93-3.281c0.97-0.341,1.939-0.72,2.908-1.136
- c2.646,1.292,5.62,2.017,8.763,2.017h27c5.679,0,10.805-2.367,14.445-6.168c7.947,5.119,18.379,7.624,31.613,7.624
- c1.246,0,2.539-0.022,3.843-0.067c0.076-0.003,0.152-0.006,0.229-0.009l13.18-0.601c10.681-0.486,19.09-9.287,19.09-19.979V356
- c0-5.798-2.516-11.311-6.896-15.108c-2.94-2.551-6.527-4.16-10.304-4.694v-26.191c9.72-1.362,17.199-9.711,17.199-19.806V270.6
- c0-10.095-7.479-18.443-17.199-19.806V240.6c0-11.046-8.954-20-20-20H882.8c-11.046,0-20,8.954-20,20v8.801H837
- c-9.677,0-17.747,6.871-19.601,16.001c-1.852-9.13-9.923-16.001-19.6-16.001h-28.6c-6.813,0-12.833,3.408-16.443,8.612
- c-3.523-2.381-7.322-4.414-11.38-6.087c-9.217-3.799-19.841-5.726-31.577-5.726s-22.36,1.927-31.577,5.726
- c-7.925,3.267-14.862,7.909-20.695,13.84c-5.208-6.167-11.636-10.911-19.153-14.131c-0.016-0.007-0.031-0.014-0.047-0.021
- c-7.824-3.327-16.467-5.015-25.687-5.015c-3.604,0-7.156,0.315-10.641,0.943V232.6C602,221.554,593.046,212.6,582,212.6L582,212.6z
- M709.75,336.4c-2.254,0-2.562-0.406-2.833-0.764c-0.598-0.787-2.517-3.982-2.517-12.587c0-8.573,1.895-11.722,2.476-12.482
- c0.263-0.343,0.587-0.768,2.874-0.768c2.241,0,2.542,0.396,2.783,0.715c0.569,0.752,2.467,3.929,2.467,12.535
- c0,8.638-1.922,11.862-2.511,12.645C712.255,336.006,711.958,336.4,709.75,336.4L709.75,336.4z"/>
-</g>
-<g>
- <path fill-rule="evenodd" clip-rule="evenodd" fill="#FBE500" d="M293.5,388c-14.735,0-16.195-10.601-16.492-15.157
- c-2.281,0.968-5.548,2.49-8.354,3.8C254.849,383.076,243.715,388,236.499,388c-25.961,0-44.166-21.61-49.72-41.423
- c-0.496,1.275-1.103,2.539-1.847,3.778l-0.259,0.435l-0.314,0.393C176.217,361.363,147.782,362,147.5,362
- c-13.223,0-22.925-3.37-28.833-10.014c-3.174-3.572-6.704-9.898-5.668-19.864c-0.076-13.164,4.078-39.976,7.319-50.778l1.604-5.345
- h5.58H138.5h3.11l2.2,2.203c2.876,2.883,2.6,6.301,2.397,8.795c-0.186,2.297-0.532,6.568-0.213,15.227
- c0.099,2.286,2.6,9.209,5.635,13.571c2.905-2.996,8.481-10.19,18.777-27.414c1.035-1.731,1.508-2.521,1.855-3.041l4.312-6.47
- c-2.459-5.737-5.025-12.35-5.561-21.953L171,256.709V256.5c0-1.624,0.272-3.165,0.536-4.656c0.063-0.36,0.141-0.801,0.208-1.223
- c-1.643-1.128-3.838-2.151-6.127-3.218c-2.111-0.98-4.292-1.997-6.398-3.256c-0.369-0.209-0.729-0.422-1.082-0.644
- c0.54,1.213,0.862,2.522,0.862,3.996c0,3.947-4.782,14.335-8.793,22.354l-1.476,2.949l-3.169,0.907
- c-4.74,1.354-14.83,1.837-22.691,1.837c-3.454,0-7.977-0.087-12.869-0.412v1.364c0,1.262,0.242,3.583,0.437,5.449
- c0.242,2.332,0.392,3.825,0.392,5.05c0,9.626-4.898,16.854-13.795,20.355c-5.908,2.325-12.401,2.646-18.535,2.646
- c-14.368,0-22.193-2.225-27.005-7.674c-4.93-5.588-4.942-12.66-4.958-20.851c-0.002-1.472-0.006-3.027-0.036-4.666
- c-0.021-0.987,0.051-4.085,0.19-9.928c0.137-5.841,0.308-13.109,0.308-16.382v-21.002c-4.692-11.946-6.908-23.599-7.928-30.97
- c-1.042-7.549,0.479-14.029,4.519-19.265c2.714-3.515,6.315-6.117,10.411-8.084v-3.68c0-4.226,0-8.548,0.348-12.964
- c-0.274-0.091-0.552-0.181-0.833-0.272c-7.121-2.319-15.983-5.204-21.708-11.882C22.598,131.542,17,104.646,17,101.5
- c0-9.415,5.693-15.501,14.501-15.501C40.835,85.999,46,94.573,46,100.5c0,2.351-0.814,5.752-2.543,12.424
- c-0.538,2.081-1.261,4.873-1.453,5.927c0.13,5.004,3.026,8.388,5.463,10.36c3.112,2.516,7.279,4.158,11.751,4.679
- C76.873,88.335,129.009,72,169.499,72c50.34,0,81.615,26.567,86.227,73.024C271.345,139.479,288.758,134,302.5,134
- c10.265,0,22.501,4.945,22.501,28.5c0,26.976-14.824,65.562-47.938,90.953l-5.501,4.217l-4.637-5.153
- c-6.05-6.723-13.757-10.396-24.253-11.562l-1.746-0.194c0.875,3.851,2.273,7.381,3.798,11.227
- c1.421,3.591,2.943,7.431,4.067,11.781l0.006-0.036L259.498,278c6.913,9.213,14.501,33.549,14.501,46.5
- c0,0.404-0.011,0.826-0.036,1.263c3.446-4.232,8.916-6.763,15.537-6.763c13.398,0,19.501,8.553,19.501,16.501
- c0,3.262-1.63,6.604-4.312,11.722c-0.3,0.573-0.668,1.277-1.004,1.936c0.398,0.487,0.848,1.01,1.231,1.457
- c3.22,3.751,8.084,9.422,8.084,16.884C313.001,379.377,304.8,388,293.5,388L293.5,388z M246.439,356.083
- c-0.28,0.348-0.395,0.733-0.437,1.229C246.153,356.929,246.298,356.518,246.439,356.083L246.439,356.083z M270.056,335.941
- c-1.21,1.355-2.773,2.583-4.78,3.574c1.535-0.104,3.14-0.207,4.789-0.296c-0.04-0.548-0.065-1.123-0.065-1.721
- C270,336.973,270.019,336.451,270.056,335.941L270.056,335.941z M219.021,317.979c0.093,0.007,0.194,0.013,0.302,0.018
- c0.586-0.089,1.986-0.42,2.938-0.646c0.477-0.114,0.957-0.226,1.438-0.338c-1.721,0.032-3.758,0.146-4.62,0.547
- C219.059,317.655,219.036,317.792,219.021,317.979L219.021,317.979z M172.531,125.258c8.011,5.611,15.058,13.592,20.572,20.675
- c2.554-14.033,4.928-23.67,8.842-29.011c-5.7,1.628-9.894,5.061-12.692,7.353c-2.444,1.999-4.553,3.726-7.753,3.726
- c-2.045,0-3.8-0.7-6.71-1.858C174.111,125.874,173.352,125.572,172.531,125.258L172.531,125.258z"/>
- <path fill="#1F1F1F" d="M169.5,79.5c36,0,75,15,79,69h-3c-5-28-16-40-37-40c-16,0-25,12-27,12s-12.5-6-23-6c-21,0-43,12-42,42
- l-55,11c0-6,0-12,1-18c-7-3-19-5-25-12c-7.5-8.83-13-34-13-36c0-6,3-8,7-8c5,0,7,5,7,7c0,3-4,16-4,18
- c0,13.355,12.737,23.069,27.8,23.069c0.728,0,1.463-0.023,2.2-0.069C79.5,93.5,134.5,79.5,169.5,79.5 M213.538,119.277
- c18.366,0.001,22.213,25.926,26.962,39.223c17-6,44-17,62-17c13,0,15,11,15,21c0,26-15,62-45,85c-9-10-20-13-29-14
- c8.5-20.5,10.83-49,1-49c-6,0-3,11-4,14c-2,11-8,32-8,34c0,18,10.5,26.5,10.5,44.5c0,3-4.5,22.5-7.5,33.5c-3-1-8-1-10-1
- c-6,0-14,0-14,9c0,6,5,7,8,7c2,0,8-2,11-2c2,0,6,1,6,5c0,10-20,4-20,16c0,6,3,7,6,7c2,0,18.01-9.73,21-10
- c0.204-0.019,0.396-0.027,0.579-0.027c4.739,0,2.421,6.027,2.421,6.027c-8.83,3.5-8,9-8,12c0,5,3,8,6,8c10,0,11-19,11-20
- c6,0,14-1,22-1c1-3,0-6,0-9c0-8,6-11,12-11c8,0,12,4,12,9c0,3-6,12-6,14c0,4,10,10,10,18s-5,13-12,13c-16,0-3-16-15-16
- c-4,0-32,16-42,16c-27,0-44-28-44-46v-22c-1-7-2-16-4-23c-3-12-9.17-18.17-10-33c0-3,2-8,0-10c-4-4-10.5-5.83-15.5-8.83
- c-9-5-11.5-16.17-13.5-21.17c-1-4-3-7-6-11c-7,3-6,9-6,13c0,18,14,25,14,29c0,2-5,13-8,19c-3.04,0.868-11.171,1.549-20.627,1.549
- c-12.319,0-26.887-1.154-35.373-4.549c-29-10-38.26-46.189-41-66C43.67,177,65.83,174.17,84,172c12.6-1.5,31.5-4.5,45.5-6.5
- c0,0,1,0,1-2c0-3-2-11-2-13v-6c0-10,12.5-19,24-19c20.17,0,40,33,45,39c3.5-20.17,6.83-43.83,13-45
- C211.555,119.349,212.566,119.277,213.538,119.277 M54.5,250.5c10.601,13.491,30.487,26.054,46.237,26.054
- c0.594,0,1.182-0.018,1.763-0.054c0,3,0.83,8.5,0.83,10.5c0,15-15.83,15.5-24.83,15.5c-27,0-24.17-8.17-24.5-25.83
- C53.96,274.67,54.5,256.5,54.5,250.5 M253.5,282.5c6,8,13,31,13,42c0,8-6,10-14,10c-7,0-7-9-7-13
- C245.5,318.5,251.5,295.5,253.5,282.5 M138.5,283.5c1,1-0.59,3.01,0,19c0.17,4.5,4.83,17.17,11,22
- c0.394,0.31,0.843,0.454,1.342,0.454c7.473,0,25.783-32.642,27.658-35.454l3,41c0,5,0,11-3,16c-4,5-22,8-31,8c-15,0-29-5-27-22
- c-0.17-12.17,4-39,7-49H138.5 M169.5,64.5c-22.887,0-47.102,5.267-66.436,14.451c-22.318,10.602-38.762,26.385-48.174,46.081
- c-2.892-1.323-4.917-3.379-5.317-5.69c0.286-1.215,0.786-3.146,1.146-4.539c1.934-7.468,2.781-11.077,2.781-14.302
- c0-10.625-8.84-22-22-22c-12.953,0-22,9.458-22,23c0,5.403,4.153,19.196,4.33,19.781c3.642,12.041,7.645,20.522,12.238,25.93
- l0.022,0.026l0.022,0.025c5.736,6.693,13.632,10.188,20.458,12.587c-0.062,2.329-0.068,4.619-0.069,6.88
- c-3.33,2.099-6.335,4.699-8.847,7.953c-3.655,4.736-7.666,12.895-6.012,24.87c1.152,8.332,3.418,19.828,7.859,31.554V250.5
- c0,3.184-0.17,10.403-0.307,16.204c-0.159,6.711-0.212,9.158-0.19,10.267c0.029,1.535,0.031,3.051,0.034,4.517
- c0.015,8.896,0.031,18.094,6.835,25.802C53.794,316.263,66.235,317.5,78.5,317.5c6.544,0,14.191-0.376,21.283-3.167
- c2.781-1.094,5.281-2.484,7.479-4.137c-1.056,8.09-1.759,15.938-1.766,21.561c-1.177,12.445,3.43,20.561,7.567,25.214
- c7.394,8.313,18.98,12.529,34.438,12.529c5.904,0,13.821-0.954,20.661-2.489c6.875-1.543,12.2-3.518,16.228-6.052
- c2.301,4.51,5.13,8.851,8.412,12.832C204.34,387.79,219.86,395.5,236.5,395.5c8.772,0,20.174-4.999,35.323-12.061
- c0.02-0.009,0.04-0.019,0.06-0.028c0.447,0.926,0.981,1.858,1.621,2.783c2.932,4.245,8.782,9.306,19.996,9.306
- c7.6,0,14.536-2.912,19.53-8.201c4.817-5.1,7.47-12.132,7.47-19.799c0-8.513-4.28-14.937-7.848-19.338
- c2.113-4.158,3.848-8.218,3.848-12.662c0-11.927-9.274-24-27-24c-3.298,0-6.405,0.485-9.255,1.394
- c-2.486-13.581-8.349-30.866-14.745-39.394l-9.87-13.16c-0.968-3.413-2.118-6.49-3.218-9.299c3.468,1.514,6.374,3.645,8.938,6.493
- l9.274,10.305l11.002-8.435C316.77,232.461,332.5,191.32,332.5,162.5c0-5.601-0.454-13.9-4.378-21.287
- c-5.04-9.488-14.14-14.713-25.622-14.713c-12.295,0-26.812,3.88-40.602,8.463c-1.801-9.966-4.853-19.031-9.12-27.063
- c-5.635-10.608-13.4-19.48-23.079-26.371C214.048,70.389,193.232,64.5,169.5,64.5L169.5,64.5z M153.054,279.371l0.912-0.261
- l2.951-5.902c1.771-3.542,3.868-8.042,5.472-11.744c0.449-1.035,0.853-1.989,1.216-2.875c0.6,8.093,2.501,14.303,4.513,19.443
- l-2.098,3.147c-0.447,0.67-0.922,1.462-2.05,3.349c-4.393,7.349-7.831,12.719-10.507,16.642c-0.255-7.688,0.052-11.492,0.22-13.565
- C153.833,285.754,154.081,282.688,153.054,279.371L153.054,279.371z"/>
-</g>
-<g>
- <path fill-rule="evenodd" clip-rule="evenodd" fill="#23A9FF" d="M445.01,377.502H416.6c-0.828,0-1.501-0.673-1.501-1.501v-67.812
- c0-3.775-0.607-6.899-1.808-9.283c-2.233-4.446-6.292-6.605-12.412-6.605c-7.158,0-11.952,2.849-14.657,8.708
- c-1.406,3.146-2.121,7.051-2.121,11.583v63.41c0,0.828-0.673,1.501-1.501,1.501h-27.8c-0.828,0-1.501-0.673-1.501-1.501v-63.33
- c0-6.069-0.609-10.49-1.816-13.142c-2.1-4.593-6.162-6.828-12.414-6.828c-7.419,0-12.225,2.26-14.695,6.912
- c-1.373,2.681-2.073,6.848-2.073,12.368v64.02c0,0.828-0.673,1.501-1.501,1.501h-28.202c-0.828,0-1.501-0.673-1.501-1.501V269.8
- c0-0.828,0.673-1.501,1.501-1.501h27.001c0.828,0,1.501,0.673,1.501,1.501v10.492c2.533-3.545,4.988-6.237,7.326-8.03
- c5.624-4.353,12.977-6.562,21.853-6.562c8.402,0,15.317,1.902,20.551,5.65c0.03,0.02,0.057,0.04,0.082,0.063
- c3.509,2.895,6.334,6.504,8.422,10.749c3.508-5.25,7.753-9.242,12.649-11.891c5.95-3.04,12.626-4.572,19.875-4.572
- c4.873,0,9.735,0.959,14.446,2.849c4.774,1.902,9.153,5.276,13.018,10.025c3.147,3.89,5.287,8.71,6.37,14.331
- c0.668,3.688,1.007,9.069,1.007,16.015l-0.189,67.085C446.507,376.831,445.836,377.502,445.01,377.502L445.01,377.502z"/>
- <path fill="#1F1F1F" d="M411.86,267.2c4.7,0,9.32,0.909,13.89,2.739c4.56,1.82,8.7,5.021,12.41,9.58c3,3.711,5.02,8.271,6.06,13.67
- c0.65,3.58,0.98,8.82,0.98,15.73L445.01,376H416.6v-67.811c0-4.039-0.66-7.359-1.97-9.959c-2.49-4.961-7.07-7.431-13.75-7.431
- c-7.73,0-13.07,3.19-16.02,9.58c-1.51,3.38-2.26,7.45-2.26,12.21V376h-27.8v-63.33c0-6.311-0.65-10.9-1.95-13.76
- c-2.35-5.141-6.94-7.71-13.78-7.71c-7.95,0-13.29,2.569-16.02,7.71c-1.5,2.93-2.25,7.279-2.25,13.07V376h-28.2V269.8h27v15.46
- c3.44-5.529,6.69-9.47,9.74-11.81c5.39-4.171,12.37-6.25,20.94-6.25c8.12,0,14.68,1.79,19.68,5.37c4.02,3.32,7.08,7.58,9.15,12.779
- c3.65-6.24,8.18-10.83,13.59-13.76C398.44,268.66,404.82,267.2,411.86,267.2 M411.86,264.2c-7.485,0-14.391,1.587-20.523,4.718
- c-0.022,0.011-0.043,0.022-0.065,0.034c-4.465,2.418-8.405,5.893-11.758,10.363c-2.029-3.501-4.587-6.534-7.643-9.058
- c-0.053-0.045-0.108-0.087-0.164-0.127c-5.497-3.936-12.706-5.931-21.427-5.931c-9.215,0-16.878,2.313-22.776,6.877
- c-1.614,1.238-3.242,2.832-4.904,4.808V269.8c0-1.657-1.343-3-3-3h-27c-1.657,0-3,1.343-3,3V376c0,1.657,1.343,3,3,3h28.2
- c1.657,0,3-1.343,3-3v-64.02c0-5.276,0.646-9.214,1.92-11.703c2.165-4.076,6.539-6.077,13.35-6.077
- c5.682,0,9.194,1.893,11.052,5.957c0.764,1.682,1.678,5.222,1.678,12.513V376c0,1.657,1.343,3,3,3h27.8c1.657,0,3-1.343,3-3v-63.41
- c0-4.321,0.672-8.018,1.999-10.986c2.453-5.313,6.678-7.804,13.281-7.804c5.574,0,9.091,1.835,11.069,5.776
- c1.097,2.176,1.651,5.072,1.651,8.613V376c0,1.657,1.343,3,3,3h28.41c1.653,0,2.996-1.338,3-2.991l0.19-67.08
- c0-7.044-0.346-12.517-1.028-16.275c-1.136-5.897-3.381-10.94-6.679-15.02c-4.031-4.955-8.615-8.479-13.631-10.48
- C421.97,265.194,416.922,264.2,411.86,264.2L411.86,264.2z"/>
-</g>
-<g>
- <g>
- <path fill-rule="evenodd" clip-rule="evenodd" fill="#23A9FF" d="M170,62c10.33,0,14-3.67,28.67-13
- c22.66,14.21-2.84,34.11,28.33,54c-7.33-1.65-15.33-4.33-21,1.5c-8.5,0-8.83-6.97-14.5-15.5c-8.5,5.68,29.5,34.67-22.67,42.26
- c-28.03,4.09-8.5-17.05-36.83-34.1c0,0-2.83,0-5.67,2.84c2.84,2.84,15.17,12,15.17,12c-15-3.67-25.67-2.89-28.5,17
- c-2.83-5.68-5.67-12.04-5.67-20.56c0-14.21,6.67-59.11,29.34-59.11C142.33,49.33,159.67,62,170,62z"/>
- <path fill="none" stroke="#000000" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" d="M170,62
- c10.33,0,14-3.67,28.67-13c22.66,14.21-2.84,34.11,28.33,54c-7.33-1.65-15.33-4.33-21,1.5c-8.5,0-8.83-6.97-14.5-15.5
- c-8.5,5.68,29.5,34.67-22.67,42.26c-28.03,4.09-8.5-17.05-36.83-34.1c0,0-2.83,0-5.67,2.84c2.84,2.84,15.17,12,15.17,12
- c-15-3.67-25.67-2.89-28.5,17c-2.83-5.68-5.67-12.04-5.67-20.56c0-14.21,6.67-59.11,29.34-59.11C142.33,49.33,159.67,62,170,62z"
- />
- </g>
- <defs>
- <filter id="Adobe_OpacityMaskFilter" filterUnits="userSpaceOnUse" x="105.83" y="47.5" width="122.67" height="85.774">
-
- <feColorMatrix type="matrix" values="-1 0 0 0 1 0 -1 0 0 1 0 0 -1 0 1 0 0 0 1 0" color-interpolation-filters="sRGB" result="source"/>
- </filter>
- </defs>
- <mask maskUnits="userSpaceOnUse" x="105.83" y="47.5" width="122.67" height="85.774" id="SVGID_1_">
- <g filter="url(#Adobe_OpacityMaskFilter)">
-
- <image overflow="visible" width="128" height="91" xlink:href="data:image/jpeg;base64,/9j/4AAQSkZJRgABAgEASABIAAD/7AARRHVja3kAAQAEAAAAHgAA/+4AIUFkb2JlAGTAAAAAAQMA
-EAMCAwYAAAItAAADjQAABP//2wCEABALCwsMCxAMDBAXDw0PFxsUEBAUGx8XFxcXFx8eFxoaGhoX
-Hh4jJSclIx4vLzMzLy9AQEBAQEBAQEBAQEBAQEABEQ8PERMRFRISFRQRFBEUGhQWFhQaJhoaHBoa
-JjAjHh4eHiMwKy4nJycuKzU1MDA1NUBAP0BAQEBAQEBAQEBAQP/CABEIAFsAgAMBIgACEQEDEQH/
-xACNAAEAAgMBAQAAAAAAAAAAAAAABQcBBAYCAwEBAAAAAAAAAAAAAAAAAAAAABAAAgICAQQCAwEB
-AAAAAAAAAwQBAgUGABAgERMwElAxFEAWEQABAwIEBAUEAwAAAAAAAAABABECIQMgMUESEFFhIjBx
-gTIEQJGhQlJiFBIBAAAAAAAAAAAAAAAAAAAAUP/aAAwDAQACEQMRAAAAr8GZad70qyHvKHKfdZzp
-qvewam91PYlQa1oVofICXiLCOv38ZGMj56MkITakR49hqVDclRECD6XBVlxm4AAAA8/M91ZavGlZ
-M4J+26rtU9cl0VaFjyNMWmSrGQDU4GxqyO7ia/1Dai/WCc7ist024jWHrrOR2y8fpEypljyZr7qq
-1IIAD15AAHV9PVosuF44b+gAAH//2gAIAQIAAQUA/If/2gAIAQMAAQUA/If/2gAIAQEAAQUA6Vra
-8p646zB9UdHVhRha3apiGmYcQOpbsiJmdX1z7wrjABpdIF4yWtLM1yulmFLGNdXn0m4tjHWbYXTJ
-mVsCAQ9hwI7hZBZc/XXcf/a5i0qLg6kCMkHwqpuf80n5BhVQ8oKlI5kBQRfZQ1Fkeuk42KirERHw
-sR5Dt8eMl0WH7T60rAVfiJHmm8LTRnpgQ+7JYwfrW+C1orA2wFn983LGwwC1ZpbmoBm761fqEl4H
-RzeFV3sdmAOVifPbkq2sshkzY3Jr5gVxZnJAJTKgHcn65pcxDILR6n2xUFsaYTFw+aYxjGGyg3Qd
-haxYe5qSIwNgbENjItsW9pOTMzzVmKhZYz1FlsptbbNyZBonLEtfml5a4yhJBB9bT4ru9qyLsRPI
-D5R+5R9cWzKzuEdqZfpctKRk80EI9izH9pe215t2RMxOC2iFqj3FX6s7utTju72vDuYccn/L/9oA
-CAECAgY/AEP/2gAIAQMCBj8AQ//aAAgBAQEGPwDgIxBJOQCEiNoK3Rr5hbb0DHrpi3CJjHRNcHbz
-wgDM5KN67F5SqgNoTGIR7AXRn8an9dE1y1KmoDr2S+xQFu0WOpDKNz5A3S6oR2gKXbop2pfqfxgB
-IeMD+VFg1MDSDqsQvYFSITRDcJPyUm/bP0wRuSFZVKAGnhS8l6Hjbt/ykAoUZh4ch0UbrasTxthn
-EaqI6eDukWATQkCeE2FRUIxkGILHgZaBgojojM6I/FJ7oljyHqgYyBfFIRzZXPjXpkwlIygZF8zU
-VKBJGSkDII3LWevCXmFGuilEkKV22wm+aEZyJtPXookF3GGQ6IfIt0lAu4Ww16omdwsdAm3FVUnN
-XBW4yZgpRslov7iu+bruX+acssn5ISGuAkqbYRJ2BoULYNDngt3HYOx9VGunF5FSAkEbcC4epxVw
-OMwo27p2kc1W4PumFwP5oi05KO+TROg+m//Z" transform="matrix(1 0 0 1 103 45)">
- </image>
- </g>
- </mask>
- <g mask="url(#SVGID_1_)">
- <path fill-rule="evenodd" clip-rule="evenodd" fill="#043C96" d="M170,62c10.33,0,14-3.67,28.67-13
- c22.66,14.21-2.84,34.11,28.33,54c-7.33-1.65-15.33-4.33-21,1.5c-8.5,0-8.83-6.97-14.5-15.5c-8.5,5.68,29.5,34.67-22.67,42.26
- c-28.03,4.09-8.5-17.05-36.83-34.1c0,0-2.83,0-5.67,2.84c2.84,2.84,15.17,12,15.17,12c-15-3.67-25.67-2.89-28.5,17
- c-2.83-5.68-5.67-12.04-5.67-20.56c0-14.21,6.67-59.11,29.34-59.11C142.33,49.33,159.67,62,170,62z"/>
- <path fill="none" stroke="#043C96" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" d="M170,62
- c10.33,0,14-3.67,28.67-13c22.66,14.21-2.84,34.11,28.33,54c-7.33-1.65-15.33-4.33-21,1.5c-8.5,0-8.83-6.97-14.5-15.5
- c-8.5,5.68,29.5,34.67-22.67,42.26c-28.03,4.09-8.5-17.05-36.83-34.1c0,0-2.83,0-5.67,2.84c2.84,2.84,15.17,12,15.17,12
- c-15-3.67-25.67-2.89-28.5,17c-2.83-5.68-5.67-12.04-5.67-20.56c0-14.21,6.67-59.11,29.34-59.11C142.33,49.33,159.67,62,170,62z"
- />
- </g>
-</g>
-<g>
- <path fill-rule="evenodd" clip-rule="evenodd" fill="#FBE500" d="M293.5,382c-9.998,0-10.315-5.942-10.546-10.279
- c-0.217-4.07-0.465-5.721-4.453-5.721c-1.218,0-7.149,2.766-12.382,5.203C255.8,376.014,242.957,382,236.5,382
- c-12.534,0-24.353-5.965-33.282-16.796C195.682,356.062,191,344.297,191,334.499v-21.89c-0.17-1.201-0.341-2.459-0.518-3.752
- c-0.845-6.225-1.805-13.276-3.424-18.945c-1.138-4.55-2.757-8.294-4.324-11.914c-2.56-5.912-5.206-12.029-5.732-21.414
- c-0.002-1.18,0.212-2.402,0.442-3.695c0.355-2.016,0.799-4.522-0.004-5.328c-2.376-2.377-5.892-4.014-9.292-5.598
- c-1.994-0.93-4.056-1.889-5.919-3.005c-8.018-4.455-11.089-13.294-13.123-19.146c-0.37-1.066-0.69-1.987-0.997-2.755l-0.038-0.095
- l-0.025-0.1c-0.816-3.267-2.352-5.857-5.008-9.474c-4.247,2.344-4.152,6.092-4.06,9.727c0.013,0.481,0.023,0.944,0.023,1.384
- c0,11.657,6.152,18.462,10.225,22.965c2.191,2.423,3.775,4.175,3.775,6.034c0,3.166-8.077,19.509-8.159,19.671l-0.296,0.592
- l-0.633,0.181c-3.363,0.961-11.819,1.606-21.042,1.606c-7.303,0-25.421-0.454-35.926-4.656
- c-30.922-10.66-39.625-50.538-41.929-67.187c-0.814-5.892,0.305-10.864,3.325-14.776c6.96-9.015,22.775-10.902,35.482-12.418
- c8.487-1.01,19.755-2.69,30.65-4.316c5.071-0.757,10.019-1.493,14.48-2.133c0.025-0.116,0.048-0.296,0.048-0.562
- c0-1.51-0.598-4.632-1.125-7.385c-0.542-2.835-0.875-4.625-0.875-5.616v-6.001c0-11.356,13.95-20.5,25.5-20.5
- c17.761,0,34.676,23.646,42.804,35.009c0.467,0.654,0.904,1.262,1.304,1.819c0.164-0.953,0.326-1.91,0.488-2.869
- c4.085-24.071,7.006-38.771,13.125-39.933c1.174-0.168,2.268-0.248,3.317-0.248c16.308,0,21.873,18.76,25.937,32.459
- c0.671,2.254,1.311,4.413,1.952,6.341c2.131-0.759,4.403-1.588,6.779-2.457C264.544,148.163,286.92,140,302.5,140
- c16.501,0,16.501,16.934,16.501,22.5c0,25.503-14.097,62.045-45.589,86.19l-1.1,0.843l-0.928-1.03
- c-6.994-7.771-16.168-12.191-28.05-13.513l-1.984-0.221l0.764-1.845c7.093-17.106,9.554-38.674,5.162-45.25
- c-0.763-1.145-1.647-1.677-2.776-1.677c-0.789,0-1.146,0.278-1.346,0.486c-1.222,1.269-1.085,4.924-0.984,7.593
- c0.074,1.938,0.139,3.62-0.208,4.779c-1.132,6.178-3.464,15.332-5.345,22.691c-1.271,4.979-2.585,10.13-2.617,10.963
- c0,8.704,2.499,15.01,5.145,21.688c2.633,6.646,5.355,13.515,5.355,22.801c0,3.303-4.705,23.461-7.551,33.896l-0.417,1.529
- l-1.504-0.501C232.255,311,227.348,311,225.499,311c-7.319,0-12.5,0.539-12.5,7.499c0,4.545,3.536,5.5,6.501,5.5
- c0.724,0,2.461-0.41,4.142-0.808c2.474-0.585,5.031-1.19,6.857-1.19c3.014,0,7.5,1.731,7.5,6.5c0,5.946-5.555,7.321-10.456,8.535
- c-5.938,1.47-9.543,2.707-9.543,7.465c0,5.075,2.224,5.5,4.5,5.5c0.845-0.146,5.368-2.56,8.67-4.322
- c6.417-3.424,10.441-5.515,12.195-5.673c0.25-0.022,0.488-0.033,0.711-0.033c2.091,0,3.172,0.936,3.71,1.721
- c1.59,2.315,0.269,5.939,0.114,6.346l-0.238,0.614l-0.61,0.241c-7.2,2.854-7.12,6.903-7.063,9.859
- c0.006,0.263,0.011,0.511,0.011,0.746c0,4.068,2.289,6.5,4.499,6.5c8.643,0,9.501-18.314,9.501-18.5v-1.499h1.5
- c2.734,0,5.946-0.217,9.348-0.444c3.719-0.248,7.553-0.507,11.48-0.551c0.231-1.382,0.072-2.827-0.097-4.339
- c-0.113-1.024-0.231-2.083-0.231-3.166c0-9.228,7.274-12.5,13.502-12.5c9.963,0,13.5,5.655,13.5,10.5
- c0,1.88-1.435,4.758-3.625,8.935c-0.976,1.864-2.313,4.413-2.376,5.091c0,1.074,1.71,3.068,3.363,4.997
- c2.957,3.445,6.636,7.734,6.636,12.976C306.999,376.174,301.574,382,293.5,382L293.5,382z"/>
- <g>
- <path fill="#1F1F1F" d="M213.538,119.277c18.366,0.001,22.213,25.926,26.962,39.223c17-6,44-17,62-17c13,0,15,11,15,21
- c0,26-15,62-45,85c-9-10-20-13-29-14c8.5-20.5,10.83-49,1-49c-6,0-3,11-4,14c-2,11-8,32-8,34c0,18,10.5,26.5,10.5,44.5
- c0,3-4.5,22.5-7.5,33.5c-3-1-8-1-10-1c-6,0-14,0-14,9c0,6,5,7,8,7c2,0,8-2,11-2c2,0,6,1,6,5c0,10-20,4-20,16c0,6,3,7,6,7
- c2,0,18.01-9.73,21-10c0.204-0.019,0.396-0.027,0.579-0.027c4.739,0,2.421,6.027,2.421,6.027c-8.83,3.5-8,9-8,12c0,5,3,8,6,8
- c10,0,11-19,11-20c6,0,14-1,22-1c1-3,0-6,0-9c0-8,6-11,12-11c8,0,12,4,12,9c0,3-6,12-6,14c0,4,10,10,10,18s-5,13-12,13
- c-16,0-3-16-15-16c-4,0-32,16-42,16c-27,0-44-28-44-46v-22c-1-7-2-16-4-23c-3-12-9.17-18.17-10-33c0-3,2-8,0-10
- c-4-4-10.5-5.83-15.5-8.83c-9-5-11.5-16.17-13.5-21.17c-1-4-3-7-6-11c-7,3-6,9-6,13c0,18,14,25,14,29c0,2-5,13-8,19
- c-3.04,0.868-11.171,1.549-20.627,1.549c-12.319,0-26.887-1.154-35.373-4.549c-29-10-38.26-46.189-41-66
- C43.67,177,65.83,174.17,84,172c12.6-1.5,31.5-4.5,45.5-6.5c0,0,1,0,1-2c0-3-2-11-2-13v-6c0-10,12.5-19,24-19c20.17,0,40,33,45,39
- c3.5-20.17,6.83-43.83,13-45C211.555,119.349,212.566,119.277,213.538,119.277 M213.538,116.277L213.538,116.277
- c-1.121,0-2.285,0.085-3.462,0.253l-0.067,0.009l-0.067,0.013c-7.154,1.356-10.092,16.252-14.208,40.478
- c-8.547-11.923-25.273-34.53-43.232-34.53c-6.25,0-12.861,2.322-18.139,6.37c-5.631,4.32-8.861,10.017-8.861,15.63v6
- c0,1.128,0.326,2.887,0.902,5.898c0.415,2.168,0.916,4.785,1.058,6.364c-4.108,0.593-8.54,1.254-13.201,1.949
- c-10.889,1.624-22.148,3.302-30.614,4.31c-12.988,1.551-29.15,3.481-36.493,12.993c-3.275,4.243-4.495,9.591-3.625,15.896
- c1.349,9.753,4.34,24.19,10.932,37.593c7.76,15.777,18.523,26.143,31.994,30.81c10.756,4.273,29.043,4.736,36.418,4.736
- c9.348,0,17.968-0.669,21.452-1.664l1.269-0.362l0.59-1.181c0.34-0.68,8.317-16.676,8.317-20.342c0-2.437-1.747-4.369-4.165-7.043
- c-3.916-4.332-9.835-10.879-9.835-21.957c0-0.452-0.012-0.929-0.024-1.423c-0.087-3.454,0.041-5.904,2.188-7.644
- c2.064,2.912,3.25,5.088,3.926,7.794l0.05,0.197l0.075,0.189c0.294,0.734,0.609,1.641,0.973,2.689
- c1.976,5.687,5.281,15.197,13.81,19.963c1.919,1.147,4.002,2.118,6.018,3.057c3.399,1.584,6.611,3.08,8.799,5.234
- c0.252,0.677-0.136,2.876-0.347,4.069c-0.23,1.3-0.467,2.645-0.467,3.873v0.084l0.005,0.084c0.54,9.651,3.24,15.891,5.851,21.924
- c1.614,3.729,3.138,7.252,4.234,11.636l0.012,0.049l0.014,0.048c1.589,5.56,2.54,12.55,3.378,18.716
- c0.172,1.267,0.34,2.497,0.507,3.673V334.5c0,10.129,4.813,22.26,12.56,31.658c9.218,11.183,21.45,17.342,34.44,17.342
- c6.791,0,19.8-6.064,30.254-10.938c4.641-2.163,10.408-4.851,11.819-5.062c2.478,0.006,2.669,0.32,2.882,4.301
- c0.219,4.089,0.626,11.699,12.044,11.699c8.832,0,15-6.579,15-16c0-5.797-3.88-10.319-6.997-13.953
- c-1.082-1.262-2.686-3.131-2.97-3.964c0.292-0.864,1.411-2.999,2.171-4.449c2.362-4.507,3.796-7.404,3.796-9.634
- c0-5.973-4.638-12-15-12c-9.112,0-15,5.495-15,14c0,1.166,0.123,2.267,0.241,3.331c0.107,0.968,0.207,1.864,0.204,2.7
- c-3.537,0.083-7.038,0.317-10.199,0.529c-3.374,0.226-6.562,0.439-9.246,0.439h-2.961l-0.039,2.989
- c-0.035,2.644-1.656,17.011-8,17.011c-1.21,0-3-1.589-3-5c0-0.244-0.005-0.503-0.01-0.775c-0.057-2.933-0.117-5.966,6.116-8.436
- l1.223-0.484l0.472-1.228c0.302-0.785,1.707-4.846-0.276-7.733c-0.608-0.886-2.06-2.371-4.945-2.371
- c-0.274,0-0.561,0.014-0.851,0.04c-1.974,0.178-5.405,1.917-12.763,5.842c-2.98,1.59-7.018,3.744-8.235,4.145
- c-1.546-0.011-2.731-0.216-2.731-3.999c0-3.57,2.432-4.528,8.404-6.008c4.894-1.212,11.596-2.872,11.596-9.992
- c0-5.252-4.527-8-9-8c-2.002,0-4.647,0.626-7.205,1.231c-1.293,0.307-3.246,0.769-3.795,0.769c-5,0-5-2.906-5-4
- c0-5.094,2.882-6,11-6c1.611,0,6.513,0,9.051,0.846l3.009,1.003l0.834-3.06C240.998,301.743,246,280.698,246,277
- c0-9.572-2.776-16.579-5.461-23.355c-2.583-6.521-5.024-12.68-5.039-21.068c0.119-1.052,1.42-6.151,2.57-10.657
- c1.876-7.352,4.206-16.483,5.351-22.711c0.392-1.379,0.328-3.073,0.248-5.188c-0.054-1.437-0.219-5.81,0.57-6.5c0,0,0,0,0.001,0
- c0.011,0,0.1-0.021,0.261-0.021c0.299,0,0.854,0,1.528,1.008c3.675,5.502,2.161,25.852-5.299,43.842l-1.53,3.69l3.97,0.44
- c11.498,1.277,20.363,5.538,27.101,13.025l1.855,2.061l2.2-1.687c14.329-10.985,26.298-25.655,34.612-42.423
- c7.457-15.037,11.562-31.003,11.562-44.958c0-5.936,0-24-18-24c-15.847,0-37.457,7.883-54.821,14.218
- c-1.838,0.67-3.611,1.317-5.304,1.927c-0.479-1.517-0.963-3.148-1.464-4.836C236.714,135.658,230.964,116.277,213.538,116.277
- L213.538,116.277z"/>
- </g>
-</g>
-<g>
- <g>
- <path fill-rule="evenodd" clip-rule="evenodd" fill="#FBE500" d="M240.5,158.5c-5-14-9-42-30-39c-6.17,1.17-9.5,24.83-13,45
- c-5-6-24.83-39-45-39c-11.5,0-24,9-24,19v6c0,2,2,10,2,13c0,2-1,2-1,2c-14,2-32.9,5-45.5,6.5c-18.17,2.17-40.33,5-37.5,25.5
- c2.74,19.811,12,56,41,66c15,6,49,5,56,3c3-6,8-17,8-19c0-4-14-11-14-29c0-4-1-10,6-13c3,4,5,7,6,11c2,5,4.5,16.17,13.5,21.17
- c5,3,11.5,4.83,15.5,8.83c2,2,0,7,0,10c0.83,14.83,7,21,10,33c2,7,3,16,4,23v22c0,18,17,46,44,46c10,0,38-16,42-16
- c12,0-1,16,15,16c7,0,12-5,12-13s-10-14-10-18c0-2,6-11,6-14c0-5-4-9-12-9c-6,0-12,3-12,11c0,3,1,6,0,9c-8,0-16,1-22,1
- c0,1-1,20-11,20c-3,0-6-3-6-8c0-3-0.83-8.5,8-12c0,0,2.5-6.5-3-6c-2.99,0.27-19,10-21,10c-3,0-6-1-6-7c0-12,20-6,20-16
- c0-4-4-5-6-5c-3,0-9,2-11,2c-3,0-8-1-8-7c0-9,8-9,14-9c2,0,7,0,10,1c3-11,7.5-30.5,7.5-33.5c0-18-10.5-26.5-10.5-44.5
- c0-2,6-23,8-34c1-3-2-14,4-14c9.83,0,7.5,28.5-1,49c9,1,20,4,29,14c30-23,45-59,45-85c0-10-2-21-15-21
- C284.5,141.5,257.5,152.5,240.5,158.5z"/>
- </g>
- <defs>
- <filter id="Adobe_OpacityMaskFilter_1_" filterUnits="userSpaceOnUse" x="46.254" y="119.277" width="271.246" height="261.223">
-
- <feColorMatrix type="matrix" values="-1 0 0 0 1 0 -1 0 0 1 0 0 -1 0 1 0 0 0 1 0" color-interpolation-filters="sRGB" result="source"/>
- </filter>
- </defs>
- <mask maskUnits="userSpaceOnUse" x="46.254" y="119.277" width="271.246" height="261.223" id="SVGID_2_">
- <g filter="url(#Adobe_OpacityMaskFilter_1_)">
-
- <image overflow="visible" width="278" height="268" xlink:href="data:image/jpeg;base64,/9j/4AAQSkZJRgABAgEASABIAAD/7AARRHVja3kAAQAEAAAAHgAA/+4AIUFkb2JlAGTAAAAAAQMA
-EAMCAwYAAARTAAAJlwAADlr/2wCEABALCwsMCxAMDBAXDw0PFxsUEBAUGx8XFxcXFx8eFxoaGhoX
-Hh4jJSclIx4vLzMzLy9AQEBAQEBAQEBAQEBAQEABEQ8PERMRFRISFRQRFBEUGhQWFhQaJhoaHBoa
-JjAjHh4eHiMwKy4nJycuKzU1MDA1NUBAP0BAQEBAQEBAQEBAQP/CABEIAQwBFgMBIgACEQEDEQH/
-xACaAAEAAgMBAQAAAAAAAAAAAAAABgcDBAUBAgEBAAAAAAAAAAAAAAAAAAAAABAAAgICAQMEAgEE
-AwEAAAAAAgMBBAUGACARExAwQBIxFBWAITM0IjI1FhEAAgIBAQYFAgUEAwEAAAAAAQIAESEDIDFB
-URIiEDBAYXGRE4GxMlIjocFCYuFyMwQSAQAAAAAAAAAAAAAAAAAAAID/2gAMAwEAAhEDEQAAAK/A
-AAAAPs+Hf7BCEqjprgAzdPrTsp7WtOtjVAAAAAAAAAAB7N4nbRubf16YI/J/kpblXDWJzPr52iy5
-VyeuYa5suOlRMuIAPreOekfSIUm8eOSAAAAADcuCmLhO0AD5i8qxlGb8v5pYG3jyDT3Pkprj27rF
-ed+fbpGOz0fTBk+xjjUp5RTzeHHMhjd7tEH+rK3yrNi19oqres3KQSbbHoAAB8fOUeegB4D0AADl
-dXglatIY7DidrDZ+x49AAAAAAAADz35OBwNWGl65+F3QADyGS2ryLvB3bZpi3zpAAAAeOEdfNT1j
-nbeegAADFl0yt4r1eYWzI+B3wB57iORU0qhQB92vUs4LH9+PsAAA8gU9hJW0yhvQLsycnqnoAAHD
-7cMK6y6fcLQ6mlug8Ee6FYHK1QAdLmi7OnXc/MwAAHG7OMo7Un0DJfP6Q7RcnsQlRlAB81xZFekC
-6vKFmyaju0XFqRThn3EffkAAA2LIq/aLxywKVnSYsh689Hjw5VU2PVZhBktyobWJQ89APIxKNApD
-563JAPv4AAAAAD66fKEw6tdC0c1Uelq6la+EhjwALKrWUlre4cwA+PvwraE2ZWYAAAAAAAAAAAAA
-2tUXP2YNOD0Dz34IdWc2hIAAAAAAAAAAAAABK7Rp23DaeaxtamnxiG8HZ1gAAAAAAAAAAAAADoXD
-TtwGSrrGp0+vnD6eAAAAAAAAAAAAAAA37gp63jfiMy4RCND65Bh8ABlxSYxa9p8Qq/zPgAAAAAAA
-AAAMtsVFNiya9n3GKd+5Z0iFa3Y4g++hPitpvKugZIHPa6IMAAAAAAAAAABt6gtuR0tY5IdfL9lP
-8KyYodGw4VjJxrVZoF687hSMqXky2JAAAAAAAAAAADb1BM+3WP0T+O8L5NrVADu9+B/Rv84AP//a
-AAgBAgABBQD+jL//2gAIAQMAAQUA/oy//9oACAEBAAEFAPiVqrLJ/wDzlmRtULFWfjqUxx0dWsP4
-GmB9bunmuLdGxULo1TF+QVYlfjzWBWasjSOnY+KAyZa1r49quOUoIUuONqKZGY15Tgy2EfRZ6LH7
-HqtSAREdosKhq9wxfaPi4oYO9gkCKfUhgozOHW9eZxTaL+YxXlu4JP0r+my0oaiyrw2PUFsZKMJf
-fyvp9lnE6SMcdpixHJ4N1L3MSUDfwhRNfoMYMdiwgWFX6TKT9ZT5chjl/RHpkUeVGz05rXhAjmrg
-r1maGlSXKOqIVCMPXXAVEhyFBHDSso2HHBKf14/kPaqlIWNdkpq9LlC0Nn1ybAahhLiXpD6L9CGC
-jL6xXyBVNQrJmviEJgErDqzYxKCGP5/phbJ4NG2fF4LIslWq3jlGlOKcfo6QZSqDWV1GsGQuupc+
-7my7VyKP5/ia7nlS1W0/lbSA7I02uMK1auPF6/WHgYmuPBooHgoUPIEY97v25BDPsbG6Ar+aP5Kn
-VK0/A68sARj0qGFhHO0fE2HPDjk4fdP2rFWwL1dMz2jb7sAj7T9tVUJ2scoQT8U57DvbJkaxkuxr
-b5ZW6bTIWrcL3kZzVGwFygX2R7JFAx+2n7RMFHsvL6q3V4kxX+TV/wDW6c9eFKcnZmzb5hH+G/h3
-Qyv7Ow5T9NC9rvxcwWVG2n2ck3xo2Sz5r6Bk360uRrdFhsKXt+W/t6JOVt1e3DEexP43k5/X5peR
-IeJODX7Gw2IXXut81rEpl1/CK+lf1mYiNgyoIVkbhW7PrpeQ/wCCjgw65/G61SOvzC3Jq3cNdFye
-ufxuVvx15mZnV0fa3jfrCfXKZAK6tkzJWndGDvTUuYe6L0+xnqUWK+TqFUtxMxOs7DAcpZNTwgoK
-Ok/+u9sKB5iMkunOJ2ZBRWySXRBhMXb60hs+fI5mZKeiJmJ1PN9xruFodblwwNswXkgwJZCZAWN2
-W1UnC7SmzCXC4Ogv7jvNeSV6Aw1ljdmtVSr7OJqzWzkcMYbD6qVtlR+vZ8HLS4Gj15pYSrOisbfo
-h7a7NXtm+r07VT8tdgStnqDmBEzMz7FDIOpMwm1LZFXLJbAvWfIKJ6CKBjYsgIJuPl9j0X/k1WYi
-v05WvDUbFTmtd94DMCp7BdrTU3SR5X3RBcHca3A22sUM22uPH7fXkc7nf2o9YntOn24NET3joaP2
-XulKIH4cEQ8kiLr06/421WQxXRP43Bcfr/LxtqatvA3IfX6J/G4tiK/zNLvSxET3j1YX1Dd7UyPz
-NKsyLUF9let90LTtVry2/mas2V36B/ZH44++hPGZ6vHMrnFmvIv89v5mDKRyOJnvXyVr9dGc2S06
-zN+5PJt2S5M95+Zhf/Qw/wDr7Aozq21GqzztPzsL/wChh/8AXekXBmdarNJmDrom3WSIlEQXRXrs
-sMRq7DC7r7a8EMjPxMPPa/hSia/M/fVWXkdg8putub1alUFxV8cEKzyFrXckZs/ErM8VjWrcMRP4
-302Qri1MZMUCGGiIl2meCppTFC4XNIxtha+31XueQ8ITMzPxdPyv9kMhi8/hAyCo0ZgtXra6q86f
-gZ+eYOn+zYx+upIVYGsPEVVIg47ju+Naz4+NulTs4DMLeoSEx8YcuVxJO2IJd/mp0pCKrVLW7K11
-cDYKpGl4OHMUQerP4/8AUs/GwuZOgzD59TwVYWyD+shs2GVchWBhTatlVQLm1Aobuw3LMjcsizVs
-wTq9myBK2wgkfj0sjZpljdwiIXtaTG9sKCG3nQmX5Cw7kzM+uCysVodsQeLLZGbjPkj5OF5OqO/e
-fJ29f//aAAgBAgIGPwAZf//aAAgBAwIGPwAZf//aAAgBAQEGPwD0nQg+TOoE/SfyLjn6gJpi2MB1
-Lo8BMpmE6dgzp1Vxz2RqMMtmCxG7Y2mR232+mCLvJoRXZbY5JMGJulERqUG4zAE6d/TxVeZAiY4C
-VCCI2qq5XPptMGKa4bFGN23cY1/GT9PDSX3uL8eL43iPp/tONikUsfYQUnSDzgLk+4EtgT8w0kLL
-ZUbx5mmTzqL8bJBjdt3G0mBr/EwGr6azF+PFh7QtVB5SgseQgpOkHnAdW2+YOwfSDtEws3SiIxrh
-PsVjrqvL02G8MIhPLaKkRm017t4qM/8A9Gn0d2PwgXxIPGXqIGo2IKQCvaDtEwNpviIP9v7HawhP
-4GDp0mz7QD7dA8Z3YHsJ3kmKzr1UQRed0CDgNumFy1WvOb4iHh1f2Ph06SljAdSwOQnepPzAPtjH
-tB2D6T9In6RP0iYWYHn4PkN8T7vD7n/EXSXjvikrBgTA9Kz3u4T7epaEnAPGBhtEx88DOrjdw3zE
-FDh6Yyv9h+c03XeGES+W0TPtA7znwKnjRi/HlWTQnT1C5Yz5TGBOJMT/ALD84nwNps1iO92AaHgh
-ug2Ivx5TMDVCfcZv4i27kIpu7HlN8Qi7CzTUbywiXy2SxjaaNlsDxRx/iQYmeA8kxxw8Bosf0moD
-5LZ4TUe7tjU0l5G4vxsWY3dVCNqE2t9uwumxyuICPJ1K5HwVrpWwYueHkvngZZ3mfcO4YEAHLYOa
-jaKHHE7K5pWOfmLnh5LCrsR9MigSSssbxF0tRqYc4O4Swb2jKB3nPgOrHvAvWPrBTCXcOYdLSbuM
-JJsnedmxvG6Lps3cuDAQfIKmNqIveMgwo4phvEDIaYbiIBqEso4iKOsXygZTsmM37Tf08epGKnmI
-q6p6l5wHq4RtPSa2MLubY7ztrqIaF9wijqgIPkNfKHp35vxGppMVYHhxiF95A2nxwMZDvUkbBCsQ
-DwlnJ8kOhPTxWBWajxBg7hMGYOxZMbPCPqHiceK/I/OIByG02OELcH/Pz+pCVPMTJ6hANQlT7yi4
-+s/9B9Zhx9Zlx9YQNQfWFNNrvYsbxEzeBAdkiM4GVN+kwSPiZJPzt/ZY7jj4gO059j6xNQbrAMXO
-8bTj2PrUBOaowHYJhQcTXrTp8AfzinYOeECXus+tq8Govx4dzCYYRgrR3969bp1F+Ize0fT0WpVN
-EzOs07tQmWfW6cX4jheU1EcUwY/1Phu9dpxfiFWhcoLhpRCMQgbtkJpizxMtruFlvHAwqcEb/S6Z
-i/HgzMaqEaORz4TuOOW11EWbgxwjYj9O6/S6b8iImeHgQDQJAP18KQXL1Me0oTEpUJJ9pjRY/hOr
-WQoSTgz4EZQe44Es7z6ZdNjlcGAiMpF3MsxS90wtVPtJgnwyLAxASggtRKQVCJ91QT0G69OuoD23
-3Re67EsZE3RqHCAkdpsX4DUcUWNwXMsJ0dYuWpuNYuxCyilY59OFY/x3v5Re4G5YMIuHnvBEvUPU
-BwMAsCoQrWeQhCsUX+sGqNVuoG95iFzmsw54Rq3+oB02PT+2BdRuk+8/WPrCeoQ/byfaV1dI9pZy
-fEIxqp+rhKBtR6rsv8Lndde97WN8zde97H//2Q==" transform="matrix(1 0 0 1 43 116)">
- </image>
- </g>
- </mask>
- <g mask="url(#SVGID_2_)">
- <path fill-rule="evenodd" clip-rule="evenodd" fill="#CEBC01" d="M240.5,158.5c-5-14-9-42-30-39c-6.17,1.17-9.5,24.83-13,45
- c-5-6-24.83-39-45-39c-11.5,0-24,9-24,19v6c0,2,2,10,2,13c0,2-1,2-1,2c-14,2-32.9,5-45.5,6.5c-18.17,2.17-40.33,5-37.5,25.5
- c2.74,19.811,12,56,41,66c15,6,49,5,56,3c3-6,8-17,8-19c0-4-14-11-14-29c0-4-1-10,6-13c3,4,5,7,6,11c2,5,4.5,16.17,13.5,21.17
- c5,3,11.5,4.83,15.5,8.83c2,2,0,7,0,10c0.83,14.83,7,21,10,33c2,7,3,16,4,23v22c0,18,17,46,44,46c10,0,38-16,42-16
- c12,0-1,16,15,16c7,0,12-5,12-13s-10-14-10-18c0-2,6-11,6-14c0-5-4-9-12-9c-6,0-12,3-12,11c0,3,1,6,0,9c-8,0-16,1-22,1
- c0,1-1,20-11,20c-3,0-6-3-6-8c0-3-0.83-8.5,8-12c0,0,2.5-6.5-3-6c-2.99,0.27-19,10-21,10c-3,0-6-1-6-7c0-12,20-6,20-16
- c0-4-4-5-6-5c-3,0-9,2-11,2c-3,0-8-1-8-7c0-9,8-9,14-9c2,0,7,0,10,1c3-11,7.5-30.5,7.5-33.5c0-18-10.5-26.5-10.5-44.5
- c0-2,6-23,8-34c1-3-2-14,4-14c9.83,0,7.5,28.5-1,49c9,1,20,4,29,14c30-23,45-59,45-85c0-10-2-21-15-21
- C284.5,141.5,257.5,152.5,240.5,158.5z"/>
- </g>
-</g>
-<path fill-rule="evenodd" clip-rule="evenodd" fill="#FFFFCC" d="M168.67,263.33c-3.67-2-6.67-3.33-9-6.33
- c-5,9-11.17,30.5-11.17,41.5c0,3,1,10,2,15C177.67,289,168.67,263.33,168.67,263.33z"/>
-<g>
- <path fill-rule="evenodd" clip-rule="evenodd" fill="#FF6600" d="M193.772,206.837c-5.358,0-10.236-2.729-13.736-7.683l-0.198-0.28
- l-0.093-0.33c-8.547-30.246-25.982-48.151-39.992-62.539c-2.949-3.03-5.736-5.89-8.24-8.667l-0.94-1.043l0.662-1.238
- c3.588-6.719,10.431-10.272,19.783-10.272c5.169,0,10.029,1.066,13.196,1.96c2.665,0.75,5.5,1.129,8.429,1.129
- c0.004,0,0.006,0,0.01,0c7.256,0,14.981-2.283,22.334-6.601c2.978-1.746,6.236-2.632,9.686-2.632
- c6.564,0,11.543,3.219,11.753,3.357l1.181,0.775l-0.336,1.373c-4.887,19.923-7.7,46.495-8.604,81.235l-0.006,0.27l-0.078,0.255
- C206.643,202.342,200.553,206.835,193.772,206.837L193.772,206.837z"/>
- <path fill="#917013" d="M204.676,110.643c6.042,0,10.654,3.027,10.654,3.027c-4.33,17.66-7.66,43.26-8.66,81.66
- c-1.729,5.729-7.115,9.506-12.899,9.506c-4.249,0-8.713-2.037-12.101-6.836c-10.51-37.2-34.41-56.19-48.67-72
- c3.897-7.297,11.292-9.214,18.019-9.214c5.322,0,10.226,1.199,12.651,1.884c2.928,0.824,5.941,1.206,8.975,1.206
- c8.011,0,16.174-2.662,23.355-6.876C198.988,111.248,201.975,110.643,204.676,110.643 M204.677,106.643L204.677,106.643
- c-3.812,0-7.412,0.979-10.701,2.907c-7.053,4.139-14.428,6.327-21.332,6.327c-2.745,0-5.4-0.355-7.892-1.057
- c-3.285-0.927-8.337-2.033-13.734-2.033c-10.138,0-17.589,3.917-21.547,11.33l-1.323,2.478l1.881,2.086
- c2.528,2.803,5.326,5.676,8.289,8.718c13.853,14.225,31.094,31.929,39.502,61.69l0.187,0.659l0.396,0.561
- c3.883,5.5,9.342,8.528,15.369,8.528c7.655,0,14.534-5.078,16.729-12.35l0.155-0.515l0.014-0.537
- c0.889-34.117,3.764-61.306,8.546-80.812l0.673-2.746l-2.363-1.551C217.296,110.176,211.832,106.643,204.677,106.643
- L204.677,106.643z"/>
-</g>
-<g>
- <g>
- <path fill-rule="evenodd" clip-rule="evenodd" fill="#FF6600" d="M215.33,113.67c-4.33,17.66-7.66,43.26-8.66,81.66
- c-3,9.939-17,14-25,2.67c-10.51-37.2-34.41-56.19-48.67-72c6.98-13.07,25.18-8.88,30.67-7.33c10.66,3,22.43,0.14,32.33-5.67
- C205.67,107.33,215.33,113.67,215.33,113.67z"/>
- </g>
- <defs>
- <filter id="Adobe_OpacityMaskFilter_2_" filterUnits="userSpaceOnUse" x="133" y="110.643" width="82.33" height="94.193">
-
- <feColorMatrix type="matrix" values="-1 0 0 0 1 0 -1 0 0 1 0 0 -1 0 1 0 0 0 1 0" color-interpolation-filters="sRGB" result="source"/>
- </filter>
- </defs>
- <mask maskUnits="userSpaceOnUse" x="133" y="110.643" width="82.33" height="94.193" id="SVGID_3_">
- <g filter="url(#Adobe_OpacityMaskFilter_2_)">
-
- <image overflow="visible" width="87" height="99" xlink:href="data:image/jpeg;base64,/9j/4AAQSkZJRgABAgEASABIAAD/7AARRHVja3kAAQAEAAAAHgAA/+4AIUFkb2JlAGTAAAAAAQMA
-EAMCAwYAAAIPAAADBQAAA/v/2wCEABALCwsMCxAMDBAXDw0PFxsUEBAUGx8XFxcXFx8eFxoaGhoX
-Hh4jJSclIx4vLzMzLy9AQEBAQEBAQEBAQEBAQEABEQ8PERMRFRISFRQRFBEUGhQWFhQaJhoaHBoa
-JjAjHh4eHiMwKy4nJycuKzU1MDA1NUBAP0BAQEBAQEBAQEBAQP/CABEIAGMAVwMBIgACEQEDEQH/
-xACPAAEAAgMBAQAAAAAAAAAAAAAABgcCAwUBBAEBAAAAAAAAAAAAAAAAAAAAABAAAQQBAwMDBQEA
-AAAAAAAAAwECBAYFABAgETESUCETMDIjMxQ0EQACAQEGAwgDAQAAAAAAAAABAgARECAhMUEDcRIi
-MFFhgZGhMkJigrITEgEAAAAAAAAAAAAAAAAAAABQ/9oADAMBAAIRAxEAAACv2ySEXWJ8xBEowI1n
-MZGQLbaXOKmfaNVkVRIS3Ped0jW2jDL0OH24uVm+YYgk1lUhMSzffm+kA8hE2rwggAGeAsia0lbB
-2HnphWlk1YRcAACawr7i7tnJ6xpqi1anI+AAACxJvS0zJXU0ihhpAAAA2BjiAH//2gAIAQIAAQUA
-9K//2gAIAQMAAQUA9K//2gAIAQEAAQUA5iCUzolalGSTWXiaSK8ZwAed+Oq7TIyoBVkmkjVCUuQj
-kpkpVh0j3gVUAdCxYRtzEQYxS3IuZxUhgj4MgSNY1nirGLpY4l1/MLSDY3exERkd5PLJ6r+efGLi
-8kOSPlbDeEfz/JtWs+QBMdPZIHwXtdJHhH3RVatWsDmrEktOPd/23cifFwCV4SVTOIcY3o9uxPZl
-4d15YbIOhSsJkGyA7SF6CuhXKflTcu7QSIQepX6bj/q5YeUsWbhJaGBqYvQFtIjpnJFVFqOU8gjM
-x7clIY0Nkej5/PEZR0EsWzj+PKWZijlSHSDfQH2J32//2gAIAQICBj8AK//aAAgBAwIGPwAr/9oA
-CAEBAQY/AL/LtqWPhAz1A7hKioMXZObMFHmaQInmYC45ie+U5B6Q8q0PhDysaT5H0gO6C3GDoA8p
-QARjTSbQ0G4n9CAPqc4tKQUExE+M+MwFrcINyuH+qmvAixdrdbDQwY1rffgZz/lze9bRs7rYaEwY
-1umPwNwMpoRkYuzut1CAg3DGBOeF1dxDRlNYqserIiBhraZT8heU16GIBi41qLWgXQm+Nl26lwgY
-WNF4m+jaMaGLjpY0C61JvgjMZRAxxgNYwrpCR49gAT0EwdfvCA2cbcbXLsfv+s+37W//2Q==" transform="matrix(1 0 0 1 131 108)">
- </image>
- </g>
- </mask>
- <g opacity="0.6" mask="url(#SVGID_3_)">
- <path fill-rule="evenodd" clip-rule="evenodd" fill="#7F3E03" d="M215.33,113.67c-4.33,17.66-7.66,43.26-8.66,81.66
- c-3,9.939-17,14-25,2.67c-10.51-37.2-34.41-56.19-48.67-72c6.98-13.07,25.18-8.88,30.67-7.33c10.66,3,22.43,0.14,32.33-5.67
- C205.67,107.33,215.33,113.67,215.33,113.67z"/>
- </g>
-</g>
-<path opacity="0.25" fill-rule="evenodd" clip-rule="evenodd" fill="#FFFFFF" d="M210.936,113.796
- c-11.983,64.227-22.738,60.791-73.726,11.721c0.148-11.045,22.734-5.193,27.431-4c9.14,2.331,19.844,0.864,27.954-4.462
- C202.85,110.315,210.936,113.796,210.936,113.796z"/>
-<path fill-rule="evenodd" clip-rule="evenodd" fill="#FFFFCC" d="M281.5,290.5c-7.17-37.17-37.17-42.83-37.17-42.83
- c3,10,6.34,19.33,9.17,27.83C261,282,273.5,289.5,281.5,290.5z"/>
-<path fill-rule="evenodd" clip-rule="evenodd" fill="#FFFFCC" d="M168.67,263.33c-3.67-2-6.67-3.33-9-6.33
- c-5,9-11.17,30.5-11.17,41.5c0,3,1,10,2,15C177.67,289,168.67,263.33,168.67,263.33z"/>
-<path fill-rule="evenodd" clip-rule="evenodd" fill="#FFFFCC" d="M281.5,290.5c-7.17-37.17-37.17-42.83-37.17-42.83
- c3,10,6.34,19.33,9.17,27.83C261,282,273.5,289.5,281.5,290.5z"/>
-<path fill-rule="evenodd" clip-rule="evenodd" d="M166.77,188.01c5.25,0.61,8.37,11.49,9.67,19.44c1.33,8.17,1.33,16.76-4.05,17.47
- c-8.06,1.08-11.67-21.93-11.67-21.93C158.28,187.29,166.77,188.01,166.77,188.01z"/>
-<path fill-rule="evenodd" clip-rule="evenodd" d="M229.86,192.56c0.99,10.209-3.431,23.959-6.57,24.39
- c-6.29,0.85-7.51-9.05-7.72-10.7c-0.41-3.3-3.061-24.76,7.939-26.25C228.33,182,229.45,189.26,229.86,192.56z"/>
-<path opacity="0.1" fill-rule="evenodd" clip-rule="evenodd" fill="#FFFFFF" d="M216.51,195.85c0.93-8.26,11.79-5.08,11.79,2.86
- c0,7.95-2.1,14.261-4.34,16.21C217.75,220.32,215.58,204.12,216.51,195.85z"/>
-<path opacity="0.1" fill-rule="evenodd" clip-rule="evenodd" fill="#FFFFFF" d="M163.09,206.33c-1.19-8.13,9.59-8.43,11.57-0.891
- c1.97,7.551,1.6,14.181,0.02,16.721C170.3,229.18,164.28,214.45,163.09,206.33z"/>
-<rect x="701" y="306" fill-rule="evenodd" clip-rule="evenodd" fill="#FBE500" stroke="#1F1F1F" stroke-width="20" stroke-linecap="round" stroke-linejoin="round" width="14" height="34"/>
-<circle fill-rule="evenodd" clip-rule="evenodd" fill="#FFFF33" cx="182.5" cy="139.5" r="11.5"/>
-<g>
- <g>
- <path fill-rule="evenodd" clip-rule="evenodd" fill="#23A9FF" d="M149.33,127.79c0,14.21-17,14.21-17,14.21
- c-14.16,0-14.9-11.46-14.16-14.21c2.16-8.12,3.83-13.12,15.16-13.12C139,114.67,149.33,119.26,149.33,127.79z"/>
- <path fill="none" stroke="#000000" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" d="M149.33,127.79
- c0,14.21-17,14.21-17,14.21c-14.16,0-14.9-11.46-14.16-14.21c2.16-8.12,3.83-13.12,15.16-13.12
- C139,114.67,149.33,119.26,149.33,127.79z"/>
- </g>
- <defs>
- <filter id="Adobe_OpacityMaskFilter_3_" filterUnits="userSpaceOnUse" x="116.477" y="113.17" width="34.353" height="30.33">
-
- <feColorMatrix type="matrix" values="-1 0 0 0 1 0 -1 0 0 1 0 0 -1 0 1 0 0 0 1 0" color-interpolation-filters="sRGB" result="source"/>
- </filter>
- </defs>
- <mask maskUnits="userSpaceOnUse" x="116.477" y="113.17" width="34.353" height="30.33" id="SVGID_4_">
- <g filter="url(#Adobe_OpacityMaskFilter_3_)">
-
- <image overflow="visible" width="39" height="35" xlink:href="data:image/jpeg;base64,/9j/4AAQSkZJRgABAgEASABIAAD/7AARRHVja3kAAQAEAAAAHgAA/+4AIUFkb2JlAGTAAAAAAQMA
-EAMCAwYAAAGnAAAB+QAAAmr/2wCEABALCwsMCxAMDBAXDw0PFxsUEBAUGx8XFxcXFx8eFxoaGhoX
-Hh4jJSclIx4vLzMzLy9AQEBAQEBAQEBAQEBAQEABEQ8PERMRFRISFRQRFBEUGhQWFhQaJhoaHBoa
-JjAjHh4eHiMwKy4nJycuKzU1MDA1NUBAP0BAQEBAQEBAQEBAQP/CABEIACMAJwMBIgACEQEDEQH/
-xAB9AAEAAgMBAAAAAAAAAAAAAAAABgcBBAUDAQEAAAAAAAAAAAAAAAAAAAAAEAACAwEAAwEBAAAA
-AAAAAAADBAECBQYQMBEAExEBAAIBAwMDBQAAAAAAAAAAAQACETFBAxBxEiGBkcEiMhMEEgEAAAAA
-AAAAAAAAAAAAAAAw/9oADAMBAAIRAxEAAACAdvxtYgHEurklMuyNm1aPm5YOlHo4aqPjzBnAAf/a
-AAgBAgABBQD0/wD/2gAIAQMAAQUA9P8A/9oACAEBAAEFAIibTncyy3BOKvFH8NxOfk/edThlzMzx
-CDIRzGvlhIJ7PgO1yJKUZSJW4f2kwMYdRql91Nu6h8rrhQMnYLRXY67+1bHJY/ifP//aAAgBAgIG
-PwAf/9oACAEDAgY/AB//2gAIAQEBBj8AAMroQtfIOxM1yMVq2qb7zG8GxkrKvjtMeJLPiaTg4g+3
-l5aVx3sER1zK4elhdp/JjSvPxq9rkOWm2pAvfCajPzPmWpwvks/eubli3uevU+vX/9k=" transform="matrix(1 0 0 1 114 111)">
- </image>
- </g>
- </mask>
- <g mask="url(#SVGID_4_)">
- <path fill-rule="evenodd" clip-rule="evenodd" fill="#043C96" d="M149.33,127.79c0,14.21-17,14.21-17,14.21
- c-14.16,0-14.9-11.46-14.16-14.21c2.16-8.12,3.83-13.12,15.16-13.12C139,114.67,149.33,119.26,149.33,127.79z"/>
- <path fill="none" stroke="#043C96" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" d="M149.33,127.79
- c0,14.21-17,14.21-17,14.21c-14.16,0-14.9-11.46-14.16-14.21c2.16-8.12,3.83-13.12,15.16-13.12
- C139,114.67,149.33,119.26,149.33,127.79z"/>
- </g>
-</g>
-<g>
- <g>
- <path fill-rule="evenodd" clip-rule="evenodd" fill="#23A9FF" d="M230.33,111.33c3,4.84,4.68,17.12-15.33,16.17
- c-7-0.33-11.35-13.81-7.33-17.83C211.67,103,226,104.33,230.33,111.33z"/>
- <path fill="none" stroke="#000000" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" d="M230.33,111.33
- c3,4.84,4.68,17.12-15.33,16.17c-7-0.33-11.35-13.81-7.33-17.83C211.67,103,226,104.33,230.33,111.33z"/>
- </g>
- <defs>
- <filter id="Adobe_OpacityMaskFilter_4_" filterUnits="userSpaceOnUse" x="204.631" y="103.813" width="29.007" height="25.239">
-
- <feColorMatrix type="matrix" values="-1 0 0 0 1 0 -1 0 0 1 0 0 -1 0 1 0 0 0 1 0" color-interpolation-filters="sRGB" result="source"/>
- </filter>
- </defs>
- <mask maskUnits="userSpaceOnUse" x="204.631" y="103.813" width="29.007" height="25.239" id="SVGID_5_">
- <g filter="url(#Adobe_OpacityMaskFilter_4_)">
-
- <image overflow="visible" width="34" height="31" xlink:href="data:image/jpeg;base64,/9j/4AAQSkZJRgABAgEASABIAAD/7AARRHVja3kAAQAEAAAAHgAA/+4AIUFkb2JlAGTAAAAAAQMA
-EAMCAwYAAAGWAAAB3QAAAkb/2wCEABALCwsMCxAMDBAXDw0PFxsUEBAUGx8XFxcXFx8eFxoaGhoX
-Hh4jJSclIx4vLzMzLy9AQEBAQEBAQEBAQEBAQEABEQ8PERMRFRISFRQRFBEUGhQWFhQaJhoaHBoa
-JjAjHh4eHiMwKy4nJycuKzU1MDA1NUBAP0BAQEBAQEBAQEBAQP/CABEIAB8AIgMBIgACEQEDEQH/
-xAB4AAADAQEAAAAAAAAAAAAAAAAABQcGAwEBAAAAAAAAAAAAAAAAAAAAABAAAgIDAQEAAAAAAAAA
-AAAAAgMEBQABBiASEQACAQMDAwUAAAAAAAAAAAABAgAREgMQITFRsQRBcdEiYhIBAAAAAAAAAAAA
-AAAAAAAAIP/aAAwDAQACEQMRAAAAwTkqRLU1vnZkQBrUoy5KrPV6Y5gH/9oACAECAAEFAPX/2gAI
-AQMAAQUA9f/aAAgBAQABBQBSjccbl5Tgk8tMSLksSecugGya+CnSpUBJr6ysBesoJuosystUkmVa
-IBfU2i2awfr6iTrxYSLC/MH7cR5//9oACAECAgY/AF//2gAIAQMCBj8AX//aAAgBAQEGPwAJjFWM
-DEkE9BLlNfcQpkFrDQ3DgiA0h2EbIg+y76C40Dd4tWHENGEZFNSdhoLa3elOYBi8fK46hGPYSj+P
-mQdTjf4hOe6/9Cmn/9k=" transform="matrix(1 0 0 1 202 101)">
- </image>
- </g>
- </mask>
- <g mask="url(#SVGID_5_)">
- <path fill-rule="evenodd" clip-rule="evenodd" fill="#043C96" d="M230.33,111.33c3,4.84,4.68,17.12-15.33,16.17
- c-7-0.33-11.35-13.81-7.33-17.83C211.67,103,226,104.33,230.33,111.33z"/>
- <path fill="none" stroke="#043C96" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" d="M230.33,111.33
- c3,4.84,4.68,17.12-15.33,16.17c-7-0.33-11.35-13.81-7.33-17.83C211.67,103,226,104.33,230.33,111.33z"/>
- </g>
-</g>
-<path opacity="0.25" fill-rule="evenodd" clip-rule="evenodd" fill="#FFFFFF" d="M116,85c4-22.67,16.33-29.33,23.67-27.67
- c7.33,1.67,20,11,30,11c12.33,0,16.66-3,23.66-8.66c7-5.67,10.31,2.33,10,12.33C203,83,207,91.67,204,92s-10.67-18-19-11
- c-5.33,10.67-2,25.67-12.33,27c-6.7,0.86-21.67-3.67-35-19c-3.07-3.52-12-6-15,1c-3.33,7.75-3.34,4.67-5,8
- C116.61,100.11,114.86,91.45,116,85z"/>
-<g>
- <g>
- <circle fill-rule="evenodd" clip-rule="evenodd" fill="#23A9FF" cx="169" cy="29" r="26"/>
- <circle fill="none" stroke="#000000" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" cx="169" cy="29" r="26"/>
- </g>
- <defs>
- <filter id="Adobe_OpacityMaskFilter_5_" filterUnits="userSpaceOnUse" x="141.5" y="1.5" width="55" height="55">
-
- <feColorMatrix type="matrix" values="-1 0 0 0 1 0 -1 0 0 1 0 0 -1 0 1 0 0 0 1 0" color-interpolation-filters="sRGB" result="source"/>
- </filter>
- </defs>
- <mask maskUnits="userSpaceOnUse" x="141.5" y="1.5" width="55" height="55" id="SVGID_6_">
- <g filter="url(#Adobe_OpacityMaskFilter_5_)">
-
- <image overflow="visible" width="60" height="60" xlink:href="data:image/jpeg;base64,/9j/4AAQSkZJRgABAgEASABIAAD/7AARRHVja3kAAQAEAAAAHgAA/+4AIUFkb2JlAGTAAAAAAQMA
-EAMCAwYAAAHLAAACZwAAAyD/2wCEABALCwsMCxAMDBAXDw0PFxsUEBAUGx8XFxcXFx8eFxoaGhoX
-Hh4jJSclIx4vLzMzLy9AQEBAQEBAQEBAQEBAQEABEQ8PERMRFRISFRQRFBEUGhQWFhQaJhoaHBoa
-JjAjHh4eHiMwKy4nJycuKzU1MDA1NUBAP0BAQEBAQEBAQEBAQP/CABEIADwAPAMBIgACEQEDEQH/
-xACFAAACAwEBAQAAAAAAAAAAAAAABwIFBgQBAwEBAAAAAAAAAAAAAAAAAAAAABAAAQQBBAMBAAAA
-AAAAAAAAAgEDBAYFABARFCBAExIRAAEDAgQFBAMAAAAAAAAAAAEAEQJBEiAhMQMQUXGRImGhwWKx
-MhMSAQAAAAAAAAAAAAAAAAAAAED/2gAMAwEAAhEDEQAAAF/6bAorJk9gpKZ5Z8UxYV5aNtbNU+no
-BGQYVdN9TFy2Ua0TUEZB4cpQqvS5cO7hBi3ag+w0chmYEogf/9oACAECAAEFAPQ//9oACAEDAAEF
-APQ//9oACAEBAAEFANIiksKvzpWhpcpUkVGY0MmFIilsiKS1qtfXUPFMMAjDSaciMuJmq4xIby+M
-PHyNV+F2p2KhgwxuYoQ3HFibPC80sUWUwnDXhZwRY34XuVGQLUyI4jjPha5YhH/afaFJKLIrmbbf
-ZAxNNps1thu15rsObY3KyIDmKuDJiNnjKMq2RwHM2w5GnDNw9055HucH9uN//9oACAECAgY/AAf/
-2gAIAQMCBj8AB//aAAgBAQEGPwBAAOToEDbbE909x7ImJJPqFbvQI9acQAHJ0Cjvb0Xkc86IC0L9
-QmMQpeALoxY2HQ8uEXDxj+VFhTAQaqcgMxmFbXRlJ+YUemGfRW/f5RiTmSCokcsMw9Cr6XXe7qG9
-Ghz6KHlqE8S/EknNS2ISd9enEGBeD5hASmx5FPeESJjujDYLvWiM5l5HU4PHWjI2/wBGrqvO5vs/
-zg//2Q==" transform="matrix(1 0 0 1 139 -1)">
- </image>
- </g>
- </mask>
- <g mask="url(#SVGID_6_)">
- <circle fill-rule="evenodd" clip-rule="evenodd" fill="#043C96" cx="169" cy="29" r="26"/>
- <circle fill="none" stroke="#043C96" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" cx="169" cy="29" r="26"/>
- </g>
-</g>
-<path opacity="0.25" fill-rule="evenodd" clip-rule="evenodd" fill="#FFFFFF" d="M149,22.33c13.33-26.66,39.67-9,40.67,3.34
- C190.67,38,141.58,37.17,149,22.33z"/>
-<g>
- <path fill="#1F1F1F" d="M396.123,149.896c-5.056,4.219-12.275,6.328-21.66,6.328H356.48v31.055h-17.93v-86.367h37.083
- c8.549,0,15.365,2.227,20.448,6.68c5.084,4.453,7.625,11.348,7.625,20.684C403.707,138.471,401.179,145.678,396.123,149.896z
- M382.349,118.783c-2.285-1.914-5.487-2.871-9.604-2.871H356.48v25.43h16.264c4.118,0,7.319-1.034,9.604-3.105
- c2.285-2.07,3.429-5.352,3.429-9.844C385.777,123.901,384.634,120.698,382.349,118.783z"/>
- <path fill="#1F1F1F" d="M464.094,179.466c-5.391,6.654-13.574,9.981-24.551,9.981c-10.978,0-19.16-3.327-24.551-9.981
- c-5.391-6.653-8.086-14.665-8.086-24.032c0-9.21,2.695-17.191,8.086-23.943s13.573-10.129,24.551-10.129
- c10.977,0,19.16,3.377,24.551,10.129s8.086,14.733,8.086,23.943C472.18,164.801,469.484,172.812,464.094,179.466z M450.734,170.236
- c2.616-3.472,3.926-8.405,3.926-14.803c0-6.396-1.31-11.321-3.926-14.773c-2.617-3.451-6.367-5.178-11.25-5.178
- c-4.884,0-8.643,1.727-11.279,5.178c-2.637,3.452-3.955,8.377-3.955,14.773c0,6.397,1.318,11.331,3.955,14.803
- s6.396,5.207,11.279,5.207C444.367,175.443,448.117,173.708,450.734,170.236z"/>
- <path fill="#1F1F1F" d="M508.25,123.412h16.934l9.727,45.996l9.961-45.996h17.402l-18.516,63.867H526.59l-10.02-46.523
- l-10.137,46.523H489.09l-17.93-63.867h17.93l9.961,45.82L508.25,123.412z"/>
- <path fill="#1F1F1F" d="M607.091,124.706c4.455,1.995,8.135,5.145,11.036,9.448c2.616,3.795,4.312,8.195,5.089,13.203
- c0.449,2.935,0.633,7.16,0.55,12.676H577.25c0.259,6.407,2.485,10.898,6.679,13.477c2.551,1.603,5.619,2.402,9.208,2.402
- c3.804,0,6.895-0.976,9.271-2.93c1.297-1.055,2.443-2.52,3.438-4.395h17.049c-0.449,3.789-2.513,7.638-6.19,11.543
- c-5.722,6.211-13.73,9.316-24.028,9.316c-8.5,0-15.999-2.619-22.496-7.858c-6.498-5.238-9.746-13.762-9.746-25.569
- c0-11.063,2.933-19.548,8.798-25.451s13.479-8.855,22.839-8.855C597.629,121.713,602.636,122.711,607.091,124.706z
- M582.108,139.132c-2.36,2.433-3.842,5.728-4.448,9.886h28.77c-0.304-4.433-1.786-7.797-4.448-10.092
- c-2.663-2.295-5.964-3.443-9.904-3.443C587.79,135.482,584.468,136.699,582.108,139.132z"/>
- <path fill="#1F1F1F" d="M661.689,121.918c0.214,0.02,0.693,0.049,1.436,0.088v17.109c-1.055-0.117-1.992-0.195-2.812-0.234
- c-0.82-0.038-1.485-0.059-1.992-0.059c-6.719,0-11.23,2.188-13.535,6.562c-1.289,2.461-1.934,6.25-1.934,11.367v30.527h-16.816
- v-63.867h15.938v11.133c2.578-4.257,4.824-7.168,6.738-8.73c3.125-2.617,7.187-3.926,12.188-3.926
- C661.211,121.889,661.475,121.899,661.689,121.918z"/>
- <path fill="#1F1F1F" d="M708.528,124.706c4.455,1.995,8.135,5.145,11.036,9.448c2.616,3.795,4.312,8.195,5.089,13.203
- c0.449,2.935,0.633,7.16,0.55,12.676h-46.516c0.259,6.407,2.485,10.898,6.679,13.477c2.551,1.603,5.619,2.402,9.208,2.402
- c3.804,0,6.895-0.976,9.271-2.93c1.297-1.055,2.443-2.52,3.438-4.395h17.049c-0.449,3.789-2.513,7.638-6.19,11.543
- c-5.722,6.211-13.73,9.316-24.028,9.316c-8.5,0-15.999-2.619-22.496-7.858c-6.498-5.238-9.746-13.762-9.746-25.569
- c0-11.063,2.933-19.548,8.798-25.451s13.479-8.855,22.839-8.855C699.066,121.713,704.073,122.711,708.528,124.706z
- M683.546,139.132c-2.36,2.433-3.842,5.728-4.448,9.886h28.77c-0.304-4.433-1.786-7.797-4.448-10.092
- c-2.663-2.295-5.964-3.443-9.904-3.443C689.228,135.482,685.905,136.699,683.546,139.132z"/>
- <path fill="#1F1F1F" d="M764.516,124.438c3.008,1.699,5.449,4.053,7.324,7.061v-30.469h16.934v86.25h-16.23v-8.848
- c-2.383,3.789-5.098,6.543-8.145,8.262s-6.836,2.578-11.367,2.578c-7.462,0-13.74-3.018-18.838-9.053s-7.646-13.778-7.646-23.232
- c0-10.898,2.51-19.473,7.529-25.723c5.019-6.249,11.728-9.375,20.127-9.375C758.07,121.889,761.507,122.738,764.516,124.438z
- M768.617,169.936c2.461-3.516,3.691-8.065,3.691-13.652c0-7.812-1.973-13.397-5.918-16.758c-2.423-2.03-5.235-3.047-8.438-3.047
- c-4.884,0-8.467,1.846-10.752,5.537s-3.428,8.271-3.428,13.74c0,5.898,1.162,10.615,3.486,14.15
- c2.323,3.536,5.85,5.303,10.576,5.303C762.562,175.209,766.156,173.451,768.617,169.936z"/>
- <path fill="#1F1F1F" d="M876.822,131.088c4.777,6.056,7.166,13.867,7.166,23.438c0,9.923-2.356,18.145-7.068,24.668
- c-4.711,6.524-11.288,9.785-19.729,9.785c-5.301,0-9.561-1.055-12.779-3.164c-1.925-1.25-4.006-3.437-6.243-6.562v8.027h-16.465
- v-86.25h16.699v30.703c2.122-2.968,4.461-5.234,7.018-6.797c3.026-1.953,6.88-2.93,11.559-2.93
- C865.431,122.006,872.045,125.033,876.822,131.088z M862.864,169.994c2.402-3.477,3.604-8.047,3.604-13.711
- c0-4.531-0.592-8.281-1.772-11.25c-2.245-5.625-6.38-8.438-12.406-8.438c-6.104,0-10.3,2.754-12.584,8.262
- c-1.182,2.93-1.772,6.719-1.772,11.367c0,5.47,1.221,10,3.663,13.594c2.441,3.595,6.163,5.391,11.166,5.391
- C857.095,175.209,860.462,173.472,862.864,169.994z"/>
- <path fill="#1F1F1F" d="M892.109,199.525l2.109,0.117c1.641,0.078,3.202,0.02,4.688-0.176c1.484-0.196,2.733-0.645,3.75-1.348
- c0.976-0.665,1.884-2.051,2.725-4.16c0.84-2.109,1.201-3.398,1.085-3.867l-23.468-66.68h18.574l13.945,47.109l13.184-47.109h17.754
- l-21.896,62.812c-4.231,12.108-7.579,19.619-10.043,22.529c-2.464,2.909-7.391,4.365-14.782,4.365c-1.485,0-2.679-0.01-3.577-0.029
- c-0.9-0.021-2.25-0.088-4.048-0.205V199.525z"/>
-</g>
-</svg>

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/oldsite/images/mantle-1-original.png b/website-old/oldsite/images/mantle-1-original.png
deleted file mode 100644
index e5544b7..0000000
Binary files a/website-old/oldsite/images/mantle-1-original.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/oldsite/images/mantle-asf.png b/website-old/oldsite/images/mantle-asf.png
deleted file mode 100644
index 96d73dd..0000000
Binary files a/website-old/oldsite/images/mantle-asf.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/oldsite/images/mantle-community.png b/website-old/oldsite/images/mantle-community.png
deleted file mode 100644
index 0d93140..0000000
Binary files a/website-old/oldsite/images/mantle-community.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/oldsite/images/mantle-hadoop.png b/website-old/oldsite/images/mantle-hadoop.png
deleted file mode 100644
index 9a33f1f..0000000
Binary files a/website-old/oldsite/images/mantle-hadoop.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/oldsite/images/mantle-mahout.png b/website-old/oldsite/images/mantle-mahout.png
deleted file mode 100644
index 9bd33da..0000000
Binary files a/website-old/oldsite/images/mantle-mahout.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/oldsite/images/pause.gif b/website-old/oldsite/images/pause.gif
deleted file mode 100755
index 0e3ceda..0000000
Binary files a/website-old/oldsite/images/pause.gif and /dev/null differ
a***@apache.org
2017-12-21 04:52:41 UTC
Permalink
http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/oldsite/images/global.css
----------------------------------------------------------------------
diff --git a/website-old/oldsite/images/global.css b/website-old/oldsite/images/global.css
deleted file mode 100755
index 76f56e6..0000000
--- a/website-old/oldsite/images/global.css
+++ /dev/null
@@ -1,887 +0,0 @@
-/**********************************
- The Apache Software Foundation
-
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements. See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership. The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied. See the License for the
- specific language governing permissions and limitations
- under the License.
-*********************************/
-
-/* Derived from: Open for Business Project Website */
-
-html, body, div, span, applet, object, iframe,
-h1, h2, h2, h4, h5, h6, p, blockquote, pre,
-a, abbr, acronym, address, big, cite, code,
-del, dfn, em, font, img, ins, kbd, q, s, samp,
-small, strike, strong, sub, sup, tt, var,
-b, u, i, center,
-dl, dt, dd, ol, ul, li,
-fieldset, form, label, legend,
-table, caption, tbody, tfoot, thead, tr, th, td {
- border:0;
- margin:0;
- outline:0;
- padding:0;
- background:transparent;
- vertical-align: baseline;
-}
-
-blockquote, q {
- quotes: none;
-}
-
-a, address, body, caption, cite, code, dfn, em, strong, th, var {
- font-style: normal;
- font-weight: normal;
- text-decoration: none;
-}
-
-a img {
- border: none;
-}
-
-ol, ul {
- list-style: none;
-}
-
-table {
- border-collapse: collapse;
- border-spacing: 0;
-}
-
-* {margin:0;padding:0;}
-
-html, body, #wrap {height: 100%;}
-
-body > #wrap {height: auto; min-height: 100%;}
-
-body {
- font: 13px/ 165% sans-serif;
- line-height: 1.7em;
- color: #555;
- margin: 0;
- padding: 0;
- background: url(../images/bg.png) top left repeat-x #A6A6A6;
- text-align: center;
- font-family: Opensans , "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
-}
-
-.clearfix:after {
- content: ".";
- display: block;
- height: 0;
- clear: both;
- visibility: hidden;
-}
-
-.clearfix {
- display: inline-block;
-}
-
-html[xmlns] .clearfix {
- display: block;
-}
-
-* html .clearfix {
- height: 1%;
-}
-
-.clearfix {
- display: block;
-}
-
-.clearLeft {
- clear:left;
-}
-
-a,a:active,a:link {
- text-decoration: none;
- color: #304c90;
-}
-
-a:visited {
- text-decoration: none;
-}
-
-a:hover {
- color: #304c90;
-}
-
-h1,h2,h2 {
- font-family: Opensans , "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
- font-weight: 300;
- color: #555;
- line-height: 130%;
-}
-
-h1 {
- font-size: 200%;
- color: #895F30;
- padding: 20px 10px 5px 10px;
- margin: 0;
-}
-
-h2 {
- font-size: 1.5em;
- font-weight: normal;
- padding: 20px 10px 5px 10px;
- margin: 0;
-}
-
-p,dl {
- padding: 10px;
- margin: 0;
-}
-
-ul{
- margin: 10px 10px;
- padding: 0 0 0 10px;
-}
-
-ul {
- list-style: none;
-}
-
-ol {
- margin: 10px 30px;
- padding: 0;
-}
-
-dt {
- font-weight: bold;
- color: #b13f1a;
-}
-
-dd {
- padding-left: 25px;
-}
-
-img {
- border: none;
-}
-
-p img {
- background: #fafafa;
- border: 1px solid #dcdcdc;
- padding: 5px;
- margin:0 10px 0 0;
-}
-
-img.float-right {
- margin: 5px 0 10px 10px;
-}
-
-img.float-left {
- margin: 5px 10px 10px 0;
-}
-
-code {
- margin: 5px 0;
- padding: 15px;
- text-align: left;
- display: block;
- overflow: auto;
- font: 1em/ 1.5em 'Lucida Console', 'courier new', monospace;
- border: 1px solid #ECF8FE;
- background: #ECF8FE;
-}
-
-acronym {
- cursor: help;
- border-bottom: 1px dotted #895F30;
-}
-
-blockquote {
- margin: 15px 10px;
- padding: 10px 10px 10px 35px;
- border: 1px solid #ECF8FE;
- background: #ECF8FE no-repeat 10px 10px;
- font-weight: normal;
- font-size: 1.5em;
- line-height: 1.5em;
- font-style: italic;
- font-family: sans-serif;
- color: #976957;
-}
-
-table {
- border-collapse: collapse;
- margin: 15px 10px;
-}
-
-th {
- background: #d14b1f repeat-x 0 -100px;
- height: 38px;
- padding-left: 12px;
- padding-right: 12px;
- color: #fff;
- text-align: left;
- border-left: 1px solid #d14b1f;
- border-bottom: solid 2px #fff;
-}
-
-tr {
- height: 34px;
-}
-
-td {
- padding-left: 11px;
- padding-right: 11px;
-}
-
-input,select {
- padding: 4px;
- font-size: 1em;
- font-weight: 300;
- font-family: Opensans , "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
- color: #555;
-}
-
-input[type="search"] {
- width: 220px;
-}
-
-#sidebar-wrap {
- background: #fff url(../images/sidebar.png) top left repeat-y;
- padding: 0 0 0 15px;
-}
-
-#sidebar ul.sidemenu {
- text-align: left;
- margin: 0 5px 8px 0;
- padding: 5px 0 0 0;
- text-decoration: none;
-}
-
-#sidebar ul.sidemenu li {
- list-style: none;
- background: repeat-x left bottom;
- padding: 4px 10px;
- margin: 0;
-}
-
-* html body #sidebar ul.sidemenu li {
- height: 1%;
-}
-
-#sidebar ul.sidemenu li a {
- text-decoration: none;
- background-image: none;
- background-color: transparent;
- border: none;
- color: #304c90;
- font-size: 1em;
- font-weight: 300;
- font-family: Opensans , "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
- color: #555;
- background: #fff;
-}
-
-textarea {
- width: 400px;
- padding: 4px;
- font-size: 1em;
- font-weight: 300;
- font-family: Opensans , "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
- height: 100px;
- display: block;
- color: #555;
-}
-
-input,textarea,select {
- background: #fff;
- border-width: 1px;
- border-style: solid;
- border-color: #D4D4D4 #ebebeb #ebebeb #d4d4d4;
-}
-
-input.button {
- font-size: 13px;
- font-weight: 500;
- font-family: Opensans , "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
- height: 30px;
- margin: 0;
- padding: 2px 3px;
- color: #555;
- background: #E6E6E6;
- border-width: 1px;
- border-style: solid;
- border-color: #ebebeb #d4d4d4 #d4d4d4 #ebebeb;
-}
-
-.float-left {
- float: left;
-}
-
-.float-right {
- float: right;
-}
-
-.align-left {
- text-align: left;
-}
-
-.align-right {
- text-align: right;
-}
-
-.clearer {
- clear: both;
-}
-
-#wrap{
- background: #fff url(../images/wrapper.jpg) top center no-repeat;
- width: 1400px;
- margin: 0 auto;
- text-align:left;
-}
-
-#content-wrap {
- width:1400px;
- margin:0 auto;
- padding-bottom: 42px;
-}
-
-#content {
- width:500px;
- float:left;
- padding:30px 0 25px 0;
-}
-
-#footer {
- background: bottom center no-repeat;
- position: relative;
- margin: -50px auto 0 auto;
- height: 50px;
- clear:both;
- font-size:12px;
- width:1400px;
- border-top: 1px solid #eee;
- background-color: #E2E2E2;
- padding: 20px 0;
-}
-
-#foot {
- text-align:left;
- position:relative;
- top:5px;
- left:30px;
-}
-
-#header {
- position: relative;
- width: 945px;
- height: 100px;
- padding: 0;
- margin: 0 auto;
- background: transparent;
-}
-
-#header #logo {
- position: absolute;
- top: 5px;
- left: 20px;
- height: 42px;
- width: 405px;
-}
-
-#header #logo a,img {
- background: none;
- border: none;
-}
-
-#header #controls {
- position: absolute;
- top: 60px;
- right: 32px;
- height: 42px;
- color: #1b78d7;
- font-size: 13px;
- background: top right no-repeat;
- padding-right: 20px;
- text-align: right;
-}
-
-#header #controls a {
- position: relative;
- top: -2px;
-}
-
-#header #language {
- position: absolute;
- top: 10px;
- right: 32px;
- height: 42px;
- color: #797c7e;
- text-align: right;
-}
-
-#search {
- position:absolute;
- top:0;
- right:0;
- background:url(../images/search.gif) center left no-repeat;
- padding:5px;
- padding-top:4px;
- padding-left:33px;
- background-color:#444;
- width: 360px;
-}
-
-.hintText {
- display: none;
-}
-
-.fieldWithHint {
- color: #001f2f;
-}
-
-#nav {
- position: absolute;
- clear: both;
- margin: 0;
- padding: 0;
- padding-right:5px;
- padding-left:5px;
- right:0;
- height: 34px;
- top: 84px;
- z-index: 99999;
- background-color:#444;
-}
-
-#nav ul {
- float: left;
- list-style: none;
- height: 34px;
- margin: 0;
- padding: 0;
- display: inline;
-}
-
-#nav ul li {
- display: inline;
- margin: 0;
- padding: 0;
-}
-
-#nav ul li a {
- float: left;
- margin: 0 0 0 0;
- padding: 0 15px 0 15px;
- text-decoration: none;
- color: #fff;
- border-right:1px inset #888;
- font-size: 14px;
- padding-top: 6px;
- font-weight: 300;
- height: 28px;
-}
-
-#nav ul li a.last {
- border:none;
-}
-
-#nav ul li a:hover,#nav ul li a:active {
- color: #111;
- background-image: url(../images/header_hot.jpg);
-}
-
-#nav ul li#current a {
- color: #333333;
- background-image: url(../images/header_hot.jpg);
-}
-
-#main {
- float: left;
- width: 960px;
- padding: 0;
- margin: 0 0 0 20px;
- display: inline;
-}
-
-#main h1 {
- padding-bottom: 3px;
- margin-top: 15px;
- color: #333;
- text-transform: none;
- border-bottom: 1px solid #ebebeb;
- font-size: 2em;
- font-weight: 300;
- font-family: Opensans , "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
-}
-
-#main h1 a {
- color: #333;
- text-decoration: none;
- background: none;
- border: none;
-}
-
-#main ul li {
- list-style-image: url(../images/bullet.gif);
-}
-
-#col1 {
- float: left;
- width: 260px;
- padding: 0;
- margin: 20px 0 0 20px;
- display: inline;
-}
-
-#col2 {
- float: left;
- width: 260px;
- padding: 0;
- margin: 20px 0 0 20px;
- display: inline;
-}
-
-#col1 h1, #col2 h1 {
- padding-bottom: 3px;
- margin-top: 15px;
- font-size: 2em;
- font-weight: 300;
- font-family: Opensans , "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
- color: #555;
- text-transform: none;
- border-bottom: 1px solid #ebebeb;
-}
-
-#main #col1 h1, #main #col2 h1 {
- border-bottom: 1px solid #ebebeb;
- color:#304C70;
- padding-bottom: 3px;
- text-transform: none;
- font-size:30px;
-}
-
-.feature {
- margin:0;
- padding:0;
- height:435px;
-}
-
-.screen {
- margin:10px 0 5px 0;
- padding:0;
- background:#fff;
- border:1px solid #eee;
- width:255px;
- height:200px;
- overflow:hidden;
-}
-
-#main .hero {
- margin:10px 0 5px 0;
- padding:0;
- background:#fff;
- border:1px solid #eee;
- width:555px;
-}
-
-#main .highlights {
- float:right;
- width:400px;
- background:#dfe9ef;
- border:1px solid #eee;
- margin:0 10px 0 10px;
- display:inline;
- padding: 15px;
-}
-
-#main .highlights ul li {
- list-style-image: url(../images/highlight-bullet.gif);
-}
-
-#main .highlights h4 {
- padding:5px 5px 0 5px;
- font-size: 13px;
-}
-
-#sidebar {
- float: right;
- width: 380px;
- padding: 0;
- margin: 15px 20px 0 0;
- display: inline;
-}
-
-#sidebar h2 {
- margin-top: 10px;
- padding: 15px 5px 0px 10px;
- font-size: 1.5em;
- font-weight: 300;
- font-family: Opensans , "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
- color: #333;
-}
-
-#sidebar ul.sidemenu {
- text-align: left;
- margin: 0 5px 8px 0;
- padding: 5px 0 0 0;
- text-decoration: none;
- background: repeat-x left top;
-}
-
-#sidebar ul.sidemenu li {
- list-style: none;
- background: repeat-x left bottom;
- padding: 4px 10px;
- margin: 0;
-}
-
-* html body #sidebar ul.sidemenu li {
- height: 1%;
-}
-
-#sidebar ul.sidemenu li a {
- text-decoration: none;
- background-image: none;
- background-color: transparent;
- border: none;
- color: #304c90;
- font-weight: 300;
- font-size: 14px;
-}
-
-#sidebar ul.sidemenu li a span {
- color: #989898;
- font-family: serif;
- font-style: italic;
- font-weight: normal;
- font-size: .8em;
-}
-
-#sidebar ul.sidemenu li a:hover {
- color: #555;
-}
-
-#sidebar ul.sidemenu ul {
- margin: 0 0 0 5px;
- padding: 0;
-}
-
-#sidebar ul.sidemenu ul li {
- background: none;
-}
-
-#sidebar .indentfirst {
- margin-left:0;
-}
-
-#sidebar .indentsecond {
- margin-left:20px;
-}
-
-.postmeta {
- padding: 5px;
- margin: 20px 10px 15px 10px;
- font-size: 1em;
- color: #777;
- border: 1px solid #ECF8FE;
- background: #ECF8FE;
-}
-
-.postmeta .date {
- margin: 0 10px 0 5px;
-}
-
-.postmeta a.comments {
- margin: 0 10px 0 5px;
-}
-
-.postmeta a.readmore {
- margin: 0 10px 0 5px;
-}
-
-.post-info {
- font-size: .95em;
- padding-top: 3px;
- margin-left: 5px;
- color: #bababa;
-}
-
-p.thumbs {
- padding: 12px 0 0 10px;
-}
-
-.thumbs img {
- position: relative;
- border: 1px solid #ebebeb;
- background: none;
- padding: 4px;
- margin: 5px;
-}
-
-.thumbs img:hover {
- border: 1px solid #c5c5c5;
- background: none;
-}
-
-.thumbs a:hover {
- background-color: transparent;
- border: none
-}
-
-body#home #wrap {
- position: relative;
- background: #fff url(../images/home-wrapper-v2.png) top center no-repeat;
- width: 1400px;
- margin: 0 auto;
- text-align: left;
-}
-
-body#home #header {
- position: relative;
- width: 1400px;
- height: 403px;
- padding: 0;
- margin: 0 auto;
- background: transparent;
-}
-
-body#home #header #slides {
- position: absolute;
- top: 128px;
- left: 10px;
- width: 1363px;
- height: 260px;
-}
-
-body#home #header #slides .slideshow {
- width:1363px;
- height:260px;
- margin:0;
- padding:0;
-}
-
-body#home #header #slides .callout {
- position: absolute;
- top: 35px;
- left: 30px;
- font-size: 30px;
- line-height: 30px;
- color: #2b1f48;
-}
-
-body#home #header #slides .description {
- position: absolute;
- top: 190px;
- left: 30px;
- font-size: 14px;
- line-height: 1.2em;
- color: #e0e0e0;
- width: 640px;
-}
-
-body#home #header #slides .controls {
- width: 100px;
- position: absolute;
- top: 15px;
- left: 900px;
- height:30px;
-}
-
-body#home #header #slides .controls a {
- border: none;
- position:absolute;
- height:30px;
- line-height:24px;
- padding:5px;
- text-indent:-9999px;
- outline:none;
-}
-
-body#home #header #slides .controls a.previous {
- background: url(../images/backward.gif) top center no-repeat;
- left:0;
- height:30px;
- width:16px;
-}
-
-body#home #header #slides .controls a.next {
- background: url(../images/forward.gif) top center no-repeat;
- left:60px;
- height:30px;
- width:16px;
-}
-
-body#home #header #slides .controls a.stop {
- background: url(../images/pause.gif) top center no-repeat;
- left:30px;
- height:30px;
- width:16px;
-}
-
-body#home #header #slides .controls a.start {
- background: url(../images/start.gif) top center no-repeat;
- left:30px;
- height:30px;
- width:16px;
-}
-
-body#home #header #slides .controls a img {
- background: none;
- border: none;
- cursor: pointer;
-}
-
-body#home #header #slides .mantle{
- position:absolute;
- top:58px;
- left:585px;
-}
-
-body#home #col1 {
- float: left;
- width: 260px;
- padding: 0;
- margin: 5px 0 0 0;
- display: inline;
-}
-
-body#home #col2 {
- float: left;
- width: 260px;
- padding: 0;
- margin: 5px 0 0 20px;
- display: inline;
-}
-
-.downloadNow {
- margin:30px 0 10px 20px;
-}
-
-.downloadLinks span.docs {
- float:left;
- margin:0;
- display:inline;
-}
-
-.downloadLinks span.previousVersions {
- float:right;
- margin:0 20px 0 0;
- display:inline;
-}
-
-body#full #wrap {
- position: relative;
- background: #fff top center no-repeat;
- width: 1400px;
- margin: 0 auto;
- text-align: left;
-}

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/oldsite/images/header_hot.jpg b/website-old/oldsite/images/header_hot.jpg
deleted file mode 100755
index 6738ce0..0000000
Binary files a/website-old/oldsite/images/header_hot.jpg and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/oldsite/images/highlight-bullet.gif b/website-old/oldsite/images/highlight-bullet.gif
deleted file mode 100755
index 3600851..0000000
Binary files a/website-old/oldsite/images/highlight-bullet.gif and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/oldsite/images/home-wrapper-original.png b/website-old/oldsite/images/home-wrapper-original.png
deleted file mode 100644
index 24b88c0..0000000
Binary files a/website-old/oldsite/images/home-wrapper-original.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/oldsite/images/home-wrapper-v2.png b/website-old/oldsite/images/home-wrapper-v2.png
deleted file mode 100644
index 8789219..0000000
Binary files a/website-old/oldsite/images/home-wrapper-v2.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/oldsite/images/home-wrapper-v3.png b/website-old/oldsite/images/home-wrapper-v3.png
deleted file mode 100644
index bbcdd93..0000000
Binary files a/website-old/oldsite/images/home-wrapper-v3.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/oldsite/images/home-wrapper.png b/website-old/oldsite/images/home-wrapper.png
deleted file mode 100644
index 02a7b72..0000000
Binary files a/website-old/oldsite/images/home-wrapper.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/oldsite/images/instruction_arrow.png b/website-old/oldsite/images/instruction_arrow.png
deleted file mode 100644
index 0fbc724..0000000
Binary files a/website-old/oldsite/images/instruction_arrow.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/oldsite/images/logo.png b/website-old/oldsite/images/logo.png
deleted file mode 100644
index c8e6c22..0000000
Binary files a/website-old/oldsite/images/logo.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/oldsite/images/mahout-logo-100.png b/website-old/oldsite/images/mahout-logo-100.png
deleted file mode 100644
index 9868200..0000000
Binary files a/website-old/oldsite/images/mahout-logo-100.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/oldsite/images/mahout-logo-200.png b/website-old/oldsite/images/mahout-logo-200.png
deleted file mode 100644
index 4ef5bdd..0000000
Binary files a/website-old/oldsite/images/mahout-logo-200.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/oldsite/images/mahout-logo-300.png b/website-old/oldsite/images/mahout-logo-300.png
deleted file mode 100644
index 2fbd589..0000000
Binary files a/website-old/oldsite/images/mahout-logo-300.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/oldsite/images/mahout-logo-400.png b/website-old/oldsite/images/mahout-logo-400.png
deleted file mode 100644
index d9ac832..0000000
Binary files a/website-old/oldsite/images/mahout-logo-400.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/oldsite/images/mahout-logo-brudman.png b/website-old/oldsite/images/mahout-logo-brudman.png
deleted file mode 100644
index 5f515bf..0000000
Binary files a/website-old/oldsite/images/mahout-logo-brudman.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/oldsite/images/mahout-logo-poweredby-100.png b/website-old/oldsite/images/mahout-logo-poweredby-100.png
deleted file mode 100644
index 8f8af00..0000000
Binary files a/website-old/oldsite/images/mahout-logo-poweredby-100.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/oldsite/images/mahout-logo-poweredby-55.png b/website-old/oldsite/images/mahout-logo-poweredby-55.png
deleted file mode 100644
index 9814d31..0000000
Binary files a/website-old/oldsite/images/mahout-logo-poweredby-55.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/oldsite/images/mahout-logo-poweredby.png b/website-old/oldsite/images/mahout-logo-poweredby.png
deleted file mode 100644
index 205fd60..0000000
Binary files a/website-old/oldsite/images/mahout-logo-poweredby.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/oldsite/images/mahout-logo-transparent-400.png b/website-old/oldsite/images/mahout-logo-transparent-400.png
deleted file mode 100644
index 583436b..0000000
Binary files a/website-old/oldsite/images/mahout-logo-transparent-400.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/oldsite/images/mahout-logo.png b/website-old/oldsite/images/mahout-logo.png
deleted file mode 100644
index b3dd9e9..0000000
Binary files a/website-old/oldsite/images/mahout-logo.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/oldsite/images/mahout-logo.svg
----------------------------------------------------------------------
diff --git a/website-old/oldsite/images/mahout-logo.svg b/website-old/oldsite/images/mahout-logo.svg
deleted file mode 100644
index 5899a69..0000000
--- a/website-old/oldsite/images/mahout-logo.svg
+++ /dev/null
@@ -1,627 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
- width="956px" height="400px" viewBox="0 0 956 400" enable-background="new 0 0 956 400" xml:space="preserve">
-<g>
- <path fill-rule="evenodd" clip-rule="evenodd" fill="#23A9FF" d="M709.799,389.6c-21.38,0-37.761-6.839-48.688-20.322
- c-0.377-0.467-0.747-0.936-1.11-1.408V376c0,5.523-4.478,10.001-10.001,10.001h-28.6c-5.522,0-10-4.478-10-10.001v-64.87
- c0-4.989-0.908-7.693-1.669-9.083c-0.053-0.096-0.104-0.194-0.154-0.292c-0.32-0.634-0.987-1.954-5.366-1.954
- c-5.29,0-7.384,1.85-8.617,3.464c-2.353,3.069-3.593,8.255-3.593,15.005V376c0,5.523-4.477,10.001-10,10.001h-27.8
- c-0.756,0-1.492-0.085-2.201-0.244c-0.708,0.159-1.444,0.244-2.2,0.244h-30.271c-3.453,0-6.61-1.776-8.425-4.61
- c-0.791,0.505-1.595,0.995-2.412,1.471c-7.595,4.351-16.133,6.54-25.442,6.54c-11.384,0-21.145-3.183-29.042-9.469
- c-1.529,3.569-5.072,6.068-9.198,6.068h-28.408c-5.523,0-10-4.478-10-10.001v-67.812c0-3.194-0.564-4.789-0.9-5.458
- c-0.392-0.777-0.97-1.93-4.821-1.93c-4.724,0-5.983,1.728-6.896,3.675c-0.919,2.062-1.383,4.791-1.383,8.114V376
- c0,5.523-4.477,10.001-10,10.001h-27.8c-5.523,0-10-4.478-10-10.001v-63.33c0-6.95-0.88-9.239-1.055-9.628
- c-0.349-0.762-0.843-1.841-4.675-1.841c-5.697,0-6.798,1.676-7.151,2.329c-0.298,0.621-1.12,2.837-1.12,8.449V376
- c0,5.523-4.477,10.001-10,10.001h-28.199c-5.523,0-10-4.478-10-10.001V269.8c0-5.522,4.477-10,10-10h26.999
- c2.902,0,5.514,1.235,7.34,3.209c6.486-3.852,14.321-5.809,23.34-5.809c10.216,0,18.796,2.437,25.504,7.242
- c0.185,0.133,0.368,0.272,0.545,0.418c1.322,1.092,2.566,2.262,3.73,3.506c2.438-2.188,5.07-4.048,7.884-5.571
- c0.07-0.036,0.14-0.073,0.211-0.11c7.126-3.639,15.103-5.484,23.707-5.484c5.958,0,11.882,1.164,17.608,3.456
- c6.131,2.448,11.667,6.673,16.449,12.554c1.573,1.945,2.946,4.052,4.116,6.313c0.941-1.602,1.974-3.131,3.103-4.586
- C462.508,263.016,477.94,257,499.041,257c13.235,0,25.249,2.715,35.706,8.067c3.12,1.598,6.458,3.872,9.454,7.101v-39.569
- c0-5.522,4.477-10,10-10h27.8c5.523,0,10,4.478,10,10v28.484c6.504-2.974,13.447-4.483,20.639-4.483
- c7.865,0,15.192,1.418,21.774,4.218c7.009,3,12.832,7.627,17.329,13.761c2.014,2.758,3.63,5.599,4.846,8.499
- c1.368-2.145,2.862-4.229,4.481-6.253c10.92-13.683,27.316-20.624,48.729-20.624c21.414,0,37.812,6.941,48.737,20.633
- c0.225,0.278,0.444,0.562,0.665,0.843v-8.274c0-5.523,4.477-10,10-10h28.6c5.523,0,10,4.477,10,10v64.358
- c0,6.407,0.92,8.881,1.203,9.484c0.409,0.88,1.098,2.354,5.816,2.354c6.371,0,8.746-2.222,10.299-5.57
- c0.86-2.012,1.881-5.809,1.881-12.539v-58.088c0-5.523,4.477-10,10-10h28.201c1.719,0,3.338,0.434,4.749,1.198h2.85v-20.001
- c0-5.522,4.478-10,10.001-10h27.6c5.522,0,10,4.478,10,10V260.6h7.198c5.523,0,10,4.477,10,10v19.602c0,5.523-4.477,10-10,10H920.4
- v46.178c0.521,0.013,1.106,0.021,1.76,0.021c0.63,0,1.279-0.023,1.929-0.071c0.704-0.053,1.405-0.129,2.085-0.227
- c0.475-0.068,0.952-0.103,1.427-0.103c2.388,0,4.717,0.856,6.547,2.442c2.192,1.899,3.451,4.658,3.451,7.558v20.8
- c0,5.347-4.205,9.745-9.545,9.989l-13.179,0.602c-0.037,0.002-0.076,0.004-0.113,0.004c-1.198,0.042-2.364,0.062-3.501,0.062
- c-14.403,0-24.539-3.26-30.987-9.963c-2.15-2.205-3.846-4.837-5.072-7.872V376c0,5.523-4.478,10.001-10,10.001H838.2
- c-3.148,0-5.959-1.456-7.791-3.732c-2.405,1.436-4.804,2.577-7.188,3.416c-5.142,1.804-11.065,2.717-17.621,2.717
- c-24.711,0-35.835-12.303-40.818-22.626c-0.51-1.045-0.984-2.142-1.422-3.292c-1.476,2.343-3.101,4.608-4.874,6.796
- C747.562,382.761,731.181,389.6,709.799,389.6L709.799,389.6z M487.944,348.278c0.598,0.447,1.538,0.922,3.414,0.922
- c4.033,0,7.665-1.15,11.099-3.517c1.935-1.333,2.882-4.174,3.318-7.126c-0.231,0.043-0.465,0.089-0.702,0.133l-6.347,1.172
- c-6.723,1.191-9.018,2.316-9.562,2.634c-0.961,0.561-1.564,1.024-1.564,3.194C487.601,347.181,487.822,347.995,487.944,348.278
- L487.944,348.278z M709.751,299.801c-6.414,0-9.15,2.51-10.819,4.697c-3.009,3.937-4.531,10.177-4.531,18.552
- c0,8.386,1.529,14.651,4.544,18.623c1.671,2.205,4.405,4.728,10.807,4.728c6.375,0,9.085-2.51,10.732-4.697
- c2.995-3.98,4.517-10.259,4.517-18.653c0-8.384-1.515-14.637-4.504-18.585C718.854,302.297,716.139,299.801,709.751,299.801
- L709.751,299.801z M491.611,300.711c-0.264,0.336-0.562,0.826-0.854,1.529l7.135-0.875c3.8-0.479,5.996-0.97,7.181-1.304
- c-1.357-0.335-3.556-0.662-6.974-0.662C493.944,299.399,492.062,300.24,491.611,300.711L491.611,300.711z"/>
- <path fill="#1F1F1F" d="M582,232.6v50.641c4.02-6.2,8.67-10.52,13.96-12.971c5.28-2.449,10.851-3.67,16.681-3.67
- c6.549,0,12.5,1.141,17.859,3.42c5.35,2.291,9.74,5.78,13.18,10.471c2.91,3.99,4.7,8.08,5.35,12.289
- c0.65,4.201,0.971,11.07,0.971,20.601V376h-28.6v-64.87c0-5.739-0.971-10.37-2.9-13.89c-2.51-4.961-7.27-7.44-14.29-7.44
- c-7.271,0-12.79,2.46-16.56,7.39c-3.771,4.92-5.65,11.951-5.65,21.08V376h-27.8V232.6H582 M910.4,240.6v30H927.6V290.2H910.4
- v56.409c0,4.371,0.55,7.101,1.649,8.17c1.101,1.08,4.47,1.621,10.11,1.621c0.84,0,1.73-0.03,2.67-0.101
- c0.939-0.069,1.859-0.17,2.77-0.3v20.8l-13.18,0.601c-1.083,0.037-2.135,0.056-3.161,0.056c-11.429,0-19.356-2.299-23.778-6.896
- c-3.121-3.201-4.681-8.121-4.681-14.761v-65.6H868V270.6h14.8v-30H910.4 M709.8,266.2c18.3,0,31.94,5.62,40.92,16.87
- c8.99,11.24,13.48,24.539,13.48,39.88c0,15.6-4.49,28.94-13.48,40.03c-8.979,11.08-22.62,16.619-40.92,16.619
- s-31.94-5.539-40.92-16.619c-8.989-11.09-13.479-24.431-13.479-40.03c0-15.341,4.49-28.64,13.479-39.88
- C677.859,271.82,691.5,266.2,709.8,266.2 M709.75,356.4c8.12,0,14.359-2.891,18.72-8.68c4.351-5.781,6.53-14.011,6.53-24.671
- c0-10.659-2.18-18.87-6.53-24.62c-4.36-5.75-10.6-8.63-18.72-8.63c-8.13,0-14.38,2.88-18.77,8.63
- c-4.391,5.75-6.58,13.961-6.58,24.62c0,10.66,2.189,18.89,6.58,24.671C695.37,353.51,701.62,356.4,709.75,356.4 M499.04,267
- c11.69,0,22.069,2.32,31.149,6.971c9.07,4.639,13.61,13.369,13.61,26.18v48.76c0,3.38,0.07,7.48,0.2,12.29
- c0.2,3.63,0.75,6.09,1.67,7.39c0.92,1.301,2.29,2.37,4.13,3.21v4.2h-30.271c-0.84-2.141-1.43-4.141-1.75-6.02
- c-0.329-1.881-0.59-4.021-0.779-6.41c-3.859,4.17-8.311,7.72-13.34,10.65c-6.02,3.449-12.82,5.18-20.41,5.18
- c-9.68,0-17.67-2.75-23.98-8.26c-6.31-5.5-9.47-13.301-9.47-23.4c0-13.1,5.08-22.57,15.23-28.44c5.56-3.19,13.75-5.47,24.55-6.84
- l9.529-1.17c5.17-0.649,8.871-1.47,11.101-2.44c3.99-1.699,5.99-4.34,5.99-7.92c0-4.359-1.53-7.38-4.601-9.039
- c-3.06-1.66-7.56-2.49-13.5-2.49c-6.66,0-11.379,1.619-14.14,4.869c-1.979,2.4-3.3,5.641-3.96,9.73h-26.8
- c0.59-9.311,3.2-16.95,7.84-22.939C468.41,271.689,481.08,267,499.04,267 M491.359,359.2c6.07,0,11.66-1.761,16.771-5.28
- c5.12-3.529,7.771-9.949,7.97-19.279V324.26c-1.779,1.11-3.58,2.01-5.39,2.69c-1.81,0.69-4.3,1.319-7.47,1.909l-6.33,1.17
- c-5.93,1.051-10.189,2.32-12.77,3.82c-4.361,2.551-6.541,6.49-6.541,11.84c0,4.771,1.339,8.211,4.009,10.33
- C484.279,358.141,487.529,359.2,491.359,359.2 M411.86,267.2c4.7,0,9.32,0.909,13.89,2.739c4.56,1.82,8.7,5.021,12.41,9.58
- c3,3.711,5.02,8.271,6.06,13.67c0.65,3.58,0.98,8.82,0.98,15.73L445.01,376H416.6v-67.811c0-4.039-0.66-7.359-1.97-9.959
- c-2.49-4.961-7.07-7.431-13.75-7.431c-7.73,0-13.07,3.19-16.02,9.58c-1.51,3.38-2.26,7.45-2.26,12.21V376h-27.8v-63.33
- c0-6.311-0.65-10.9-1.95-13.76c-2.35-5.141-6.94-7.71-13.78-7.71c-7.95,0-13.29,2.569-16.02,7.71c-1.5,2.93-2.25,7.279-2.25,13.07
- V376h-28.2V269.8h27v15.46c3.44-5.529,6.69-9.47,9.74-11.81c5.39-4.171,12.37-6.25,20.94-6.25c8.12,0,14.68,1.79,19.68,5.37
- c4.02,3.32,7.08,7.58,9.15,12.779c3.65-6.24,8.18-10.83,13.59-13.76C398.44,268.66,404.82,267.2,411.86,267.2 M865.2,269.4V376h-27
- v-14.96c-0.261,0.33-0.91,1.3-1.95,2.931c-1.04,1.619-2.28,3.049-3.71,4.289c-4.36,3.9-8.57,6.561-12.64,7.99
- c-4.07,1.43-8.83,2.15-14.301,2.15c-15.74,0-26.35-5.66-31.81-16.971c-3.06-6.27-4.59-15.5-4.59-27.699V269.4h28.6v64.359
- c0,6.07,0.71,10.641,2.14,13.711c2.53,5.42,7.49,8.129,14.881,8.129c9.47,0,15.959-3.85,19.459-11.56
- c1.811-4.181,2.721-9.7,2.721-16.55V269.4H865.2 M582,212.6h-27.8c-11.046,0-20,8.954-20,20v21.182
- C523.599,249.28,511.796,247,499.04,247c-20.979,0-37.309,5.431-48.668,16.161c-5.107-5.312-10.877-9.27-17.208-11.796
- c-6.893-2.761-14.068-4.165-21.305-4.165c-10.198,0-19.703,2.213-28.252,6.576c-0.145,0.074-0.289,0.149-0.431,0.227
- c-0.904,0.49-1.792,1.006-2.664,1.55c-8.252-5.543-18.415-8.353-30.233-8.353c-8.355,0-15.932,1.435-22.647,4.278
- c-2.458-1.08-5.175-1.679-8.032-1.679h-27c-11.045,0-20,8.954-20,20V376c0,11.046,8.955,20,20,20h28.2
- c7.177,0,13.472-3.781,17-9.459c3.528,5.678,9.823,9.459,17,9.459h27.8c7.177,0,13.471-3.781,17-9.459
- c3.528,5.678,9.823,9.459,17,9.459h28.41c3.945,0,7.625-1.143,10.724-3.115c8.044,4.328,17.258,6.516,27.516,6.516
- c9.591,0,18.534-1.975,26.644-5.875c2.891,1.591,6.19,2.475,9.636,2.475H549.8c0.743,0,1.478-0.04,2.2-0.119
- c0.723,0.079,1.457,0.119,2.2,0.119H582c9.862,0,18.058-7.139,19.7-16.531c1.643,9.393,9.838,16.531,19.7,16.531H650
- c6.725,0,12.675-3.318,16.3-8.408c11.611,7.979,26.173,12.008,43.5,12.008c22.084,0,39.678-6.547,52.395-19.475
- c7.525,9.087,20.741,18.275,43.405,18.275c7.69,0,14.732-1.104,20.93-3.281c0.97-0.341,1.939-0.72,2.908-1.136
- c2.646,1.292,5.62,2.017,8.763,2.017h27c5.679,0,10.805-2.367,14.445-6.168c7.947,5.119,18.379,7.624,31.613,7.624
- c1.246,0,2.539-0.022,3.843-0.067c0.076-0.003,0.152-0.006,0.229-0.009l13.18-0.601c10.681-0.486,19.09-9.287,19.09-19.979V356
- c0-5.798-2.516-11.311-6.896-15.108c-2.94-2.551-6.527-4.16-10.304-4.694v-26.191c9.72-1.362,17.199-9.711,17.199-19.806V270.6
- c0-10.095-7.479-18.443-17.199-19.806V240.6c0-11.046-8.954-20-20-20H882.8c-11.046,0-20,8.954-20,20v8.801H837
- c-9.677,0-17.747,6.871-19.601,16.001c-1.852-9.13-9.923-16.001-19.6-16.001h-28.6c-6.813,0-12.833,3.408-16.443,8.612
- c-3.523-2.381-7.322-4.414-11.38-6.087c-9.217-3.799-19.841-5.726-31.577-5.726s-22.36,1.927-31.577,5.726
- c-7.925,3.267-14.862,7.909-20.695,13.84c-5.208-6.167-11.636-10.911-19.153-14.131c-0.016-0.007-0.031-0.014-0.047-0.021
- c-7.824-3.327-16.467-5.015-25.687-5.015c-3.604,0-7.156,0.315-10.641,0.943V232.6C602,221.554,593.046,212.6,582,212.6L582,212.6z
- M709.75,336.4c-2.254,0-2.562-0.406-2.833-0.764c-0.598-0.787-2.517-3.982-2.517-12.587c0-8.573,1.895-11.722,2.476-12.482
- c0.263-0.343,0.587-0.768,2.874-0.768c2.241,0,2.542,0.396,2.783,0.715c0.569,0.752,2.467,3.929,2.467,12.535
- c0,8.638-1.922,11.862-2.511,12.645C712.255,336.006,711.958,336.4,709.75,336.4L709.75,336.4z"/>
-</g>
-<g>
- <path fill-rule="evenodd" clip-rule="evenodd" fill="#FBE500" d="M293.5,388c-14.735,0-16.195-10.601-16.492-15.157
- c-2.281,0.968-5.548,2.49-8.354,3.8C254.849,383.076,243.715,388,236.499,388c-25.961,0-44.166-21.61-49.72-41.423
- c-0.496,1.275-1.103,2.539-1.847,3.778l-0.259,0.435l-0.314,0.393C176.217,361.363,147.782,362,147.5,362
- c-13.223,0-22.925-3.37-28.833-10.014c-3.174-3.572-6.704-9.898-5.668-19.864c-0.076-13.164,4.078-39.976,7.319-50.778l1.604-5.345
- h5.58H138.5h3.11l2.2,2.203c2.876,2.883,2.6,6.301,2.397,8.795c-0.186,2.297-0.532,6.568-0.213,15.227
- c0.099,2.286,2.6,9.209,5.635,13.571c2.905-2.996,8.481-10.19,18.777-27.414c1.035-1.731,1.508-2.521,1.855-3.041l4.312-6.47
- c-2.459-5.737-5.025-12.35-5.561-21.953L171,256.709V256.5c0-1.624,0.272-3.165,0.536-4.656c0.063-0.36,0.141-0.801,0.208-1.223
- c-1.643-1.128-3.838-2.151-6.127-3.218c-2.111-0.98-4.292-1.997-6.398-3.256c-0.369-0.209-0.729-0.422-1.082-0.644
- c0.54,1.213,0.862,2.522,0.862,3.996c0,3.947-4.782,14.335-8.793,22.354l-1.476,2.949l-3.169,0.907
- c-4.74,1.354-14.83,1.837-22.691,1.837c-3.454,0-7.977-0.087-12.869-0.412v1.364c0,1.262,0.242,3.583,0.437,5.449
- c0.242,2.332,0.392,3.825,0.392,5.05c0,9.626-4.898,16.854-13.795,20.355c-5.908,2.325-12.401,2.646-18.535,2.646
- c-14.368,0-22.193-2.225-27.005-7.674c-4.93-5.588-4.942-12.66-4.958-20.851c-0.002-1.472-0.006-3.027-0.036-4.666
- c-0.021-0.987,0.051-4.085,0.19-9.928c0.137-5.841,0.308-13.109,0.308-16.382v-21.002c-4.692-11.946-6.908-23.599-7.928-30.97
- c-1.042-7.549,0.479-14.029,4.519-19.265c2.714-3.515,6.315-6.117,10.411-8.084v-3.68c0-4.226,0-8.548,0.348-12.964
- c-0.274-0.091-0.552-0.181-0.833-0.272c-7.121-2.319-15.983-5.204-21.708-11.882C22.598,131.542,17,104.646,17,101.5
- c0-9.415,5.693-15.501,14.501-15.501C40.835,85.999,46,94.573,46,100.5c0,2.351-0.814,5.752-2.543,12.424
- c-0.538,2.081-1.261,4.873-1.453,5.927c0.13,5.004,3.026,8.388,5.463,10.36c3.112,2.516,7.279,4.158,11.751,4.679
- C76.873,88.335,129.009,72,169.499,72c50.34,0,81.615,26.567,86.227,73.024C271.345,139.479,288.758,134,302.5,134
- c10.265,0,22.501,4.945,22.501,28.5c0,26.976-14.824,65.562-47.938,90.953l-5.501,4.217l-4.637-5.153
- c-6.05-6.723-13.757-10.396-24.253-11.562l-1.746-0.194c0.875,3.851,2.273,7.381,3.798,11.227
- c1.421,3.591,2.943,7.431,4.067,11.781l0.006-0.036L259.498,278c6.913,9.213,14.501,33.549,14.501,46.5
- c0,0.404-0.011,0.826-0.036,1.263c3.446-4.232,8.916-6.763,15.537-6.763c13.398,0,19.501,8.553,19.501,16.501
- c0,3.262-1.63,6.604-4.312,11.722c-0.3,0.573-0.668,1.277-1.004,1.936c0.398,0.487,0.848,1.01,1.231,1.457
- c3.22,3.751,8.084,9.422,8.084,16.884C313.001,379.377,304.8,388,293.5,388L293.5,388z M246.439,356.083
- c-0.28,0.348-0.395,0.733-0.437,1.229C246.153,356.929,246.298,356.518,246.439,356.083L246.439,356.083z M270.056,335.941
- c-1.21,1.355-2.773,2.583-4.78,3.574c1.535-0.104,3.14-0.207,4.789-0.296c-0.04-0.548-0.065-1.123-0.065-1.721
- C270,336.973,270.019,336.451,270.056,335.941L270.056,335.941z M219.021,317.979c0.093,0.007,0.194,0.013,0.302,0.018
- c0.586-0.089,1.986-0.42,2.938-0.646c0.477-0.114,0.957-0.226,1.438-0.338c-1.721,0.032-3.758,0.146-4.62,0.547
- C219.059,317.655,219.036,317.792,219.021,317.979L219.021,317.979z M172.531,125.258c8.011,5.611,15.058,13.592,20.572,20.675
- c2.554-14.033,4.928-23.67,8.842-29.011c-5.7,1.628-9.894,5.061-12.692,7.353c-2.444,1.999-4.553,3.726-7.753,3.726
- c-2.045,0-3.8-0.7-6.71-1.858C174.111,125.874,173.352,125.572,172.531,125.258L172.531,125.258z"/>
- <path fill="#1F1F1F" d="M169.5,79.5c36,0,75,15,79,69h-3c-5-28-16-40-37-40c-16,0-25,12-27,12s-12.5-6-23-6c-21,0-43,12-42,42
- l-55,11c0-6,0-12,1-18c-7-3-19-5-25-12c-7.5-8.83-13-34-13-36c0-6,3-8,7-8c5,0,7,5,7,7c0,3-4,16-4,18
- c0,13.355,12.737,23.069,27.8,23.069c0.728,0,1.463-0.023,2.2-0.069C79.5,93.5,134.5,79.5,169.5,79.5 M213.538,119.277
- c18.366,0.001,22.213,25.926,26.962,39.223c17-6,44-17,62-17c13,0,15,11,15,21c0,26-15,62-45,85c-9-10-20-13-29-14
- c8.5-20.5,10.83-49,1-49c-6,0-3,11-4,14c-2,11-8,32-8,34c0,18,10.5,26.5,10.5,44.5c0,3-4.5,22.5-7.5,33.5c-3-1-8-1-10-1
- c-6,0-14,0-14,9c0,6,5,7,8,7c2,0,8-2,11-2c2,0,6,1,6,5c0,10-20,4-20,16c0,6,3,7,6,7c2,0,18.01-9.73,21-10
- c0.204-0.019,0.396-0.027,0.579-0.027c4.739,0,2.421,6.027,2.421,6.027c-8.83,3.5-8,9-8,12c0,5,3,8,6,8c10,0,11-19,11-20
- c6,0,14-1,22-1c1-3,0-6,0-9c0-8,6-11,12-11c8,0,12,4,12,9c0,3-6,12-6,14c0,4,10,10,10,18s-5,13-12,13c-16,0-3-16-15-16
- c-4,0-32,16-42,16c-27,0-44-28-44-46v-22c-1-7-2-16-4-23c-3-12-9.17-18.17-10-33c0-3,2-8,0-10c-4-4-10.5-5.83-15.5-8.83
- c-9-5-11.5-16.17-13.5-21.17c-1-4-3-7-6-11c-7,3-6,9-6,13c0,18,14,25,14,29c0,2-5,13-8,19c-3.04,0.868-11.171,1.549-20.627,1.549
- c-12.319,0-26.887-1.154-35.373-4.549c-29-10-38.26-46.189-41-66C43.67,177,65.83,174.17,84,172c12.6-1.5,31.5-4.5,45.5-6.5
- c0,0,1,0,1-2c0-3-2-11-2-13v-6c0-10,12.5-19,24-19c20.17,0,40,33,45,39c3.5-20.17,6.83-43.83,13-45
- C211.555,119.349,212.566,119.277,213.538,119.277 M54.5,250.5c10.601,13.491,30.487,26.054,46.237,26.054
- c0.594,0,1.182-0.018,1.763-0.054c0,3,0.83,8.5,0.83,10.5c0,15-15.83,15.5-24.83,15.5c-27,0-24.17-8.17-24.5-25.83
- C53.96,274.67,54.5,256.5,54.5,250.5 M253.5,282.5c6,8,13,31,13,42c0,8-6,10-14,10c-7,0-7-9-7-13
- C245.5,318.5,251.5,295.5,253.5,282.5 M138.5,283.5c1,1-0.59,3.01,0,19c0.17,4.5,4.83,17.17,11,22
- c0.394,0.31,0.843,0.454,1.342,0.454c7.473,0,25.783-32.642,27.658-35.454l3,41c0,5,0,11-3,16c-4,5-22,8-31,8c-15,0-29-5-27-22
- c-0.17-12.17,4-39,7-49H138.5 M169.5,64.5c-22.887,0-47.102,5.267-66.436,14.451c-22.318,10.602-38.762,26.385-48.174,46.081
- c-2.892-1.323-4.917-3.379-5.317-5.69c0.286-1.215,0.786-3.146,1.146-4.539c1.934-7.468,2.781-11.077,2.781-14.302
- c0-10.625-8.84-22-22-22c-12.953,0-22,9.458-22,23c0,5.403,4.153,19.196,4.33,19.781c3.642,12.041,7.645,20.522,12.238,25.93
- l0.022,0.026l0.022,0.025c5.736,6.693,13.632,10.188,20.458,12.587c-0.062,2.329-0.068,4.619-0.069,6.88
- c-3.33,2.099-6.335,4.699-8.847,7.953c-3.655,4.736-7.666,12.895-6.012,24.87c1.152,8.332,3.418,19.828,7.859,31.554V250.5
- c0,3.184-0.17,10.403-0.307,16.204c-0.159,6.711-0.212,9.158-0.19,10.267c0.029,1.535,0.031,3.051,0.034,4.517
- c0.015,8.896,0.031,18.094,6.835,25.802C53.794,316.263,66.235,317.5,78.5,317.5c6.544,0,14.191-0.376,21.283-3.167
- c2.781-1.094,5.281-2.484,7.479-4.137c-1.056,8.09-1.759,15.938-1.766,21.561c-1.177,12.445,3.43,20.561,7.567,25.214
- c7.394,8.313,18.98,12.529,34.438,12.529c5.904,0,13.821-0.954,20.661-2.489c6.875-1.543,12.2-3.518,16.228-6.052
- c2.301,4.51,5.13,8.851,8.412,12.832C204.34,387.79,219.86,395.5,236.5,395.5c8.772,0,20.174-4.999,35.323-12.061
- c0.02-0.009,0.04-0.019,0.06-0.028c0.447,0.926,0.981,1.858,1.621,2.783c2.932,4.245,8.782,9.306,19.996,9.306
- c7.6,0,14.536-2.912,19.53-8.201c4.817-5.1,7.47-12.132,7.47-19.799c0-8.513-4.28-14.937-7.848-19.338
- c2.113-4.158,3.848-8.218,3.848-12.662c0-11.927-9.274-24-27-24c-3.298,0-6.405,0.485-9.255,1.394
- c-2.486-13.581-8.349-30.866-14.745-39.394l-9.87-13.16c-0.968-3.413-2.118-6.49-3.218-9.299c3.468,1.514,6.374,3.645,8.938,6.493
- l9.274,10.305l11.002-8.435C316.77,232.461,332.5,191.32,332.5,162.5c0-5.601-0.454-13.9-4.378-21.287
- c-5.04-9.488-14.14-14.713-25.622-14.713c-12.295,0-26.812,3.88-40.602,8.463c-1.801-9.966-4.853-19.031-9.12-27.063
- c-5.635-10.608-13.4-19.48-23.079-26.371C214.048,70.389,193.232,64.5,169.5,64.5L169.5,64.5z M153.054,279.371l0.912-0.261
- l2.951-5.902c1.771-3.542,3.868-8.042,5.472-11.744c0.449-1.035,0.853-1.989,1.216-2.875c0.6,8.093,2.501,14.303,4.513,19.443
- l-2.098,3.147c-0.447,0.67-0.922,1.462-2.05,3.349c-4.393,7.349-7.831,12.719-10.507,16.642c-0.255-7.688,0.052-11.492,0.22-13.565
- C153.833,285.754,154.081,282.688,153.054,279.371L153.054,279.371z"/>
-</g>
-<g>
- <path fill-rule="evenodd" clip-rule="evenodd" fill="#23A9FF" d="M445.01,377.502H416.6c-0.828,0-1.501-0.673-1.501-1.501v-67.812
- c0-3.775-0.607-6.899-1.808-9.283c-2.233-4.446-6.292-6.605-12.412-6.605c-7.158,0-11.952,2.849-14.657,8.708
- c-1.406,3.146-2.121,7.051-2.121,11.583v63.41c0,0.828-0.673,1.501-1.501,1.501h-27.8c-0.828,0-1.501-0.673-1.501-1.501v-63.33
- c0-6.069-0.609-10.49-1.816-13.142c-2.1-4.593-6.162-6.828-12.414-6.828c-7.419,0-12.225,2.26-14.695,6.912
- c-1.373,2.681-2.073,6.848-2.073,12.368v64.02c0,0.828-0.673,1.501-1.501,1.501h-28.202c-0.828,0-1.501-0.673-1.501-1.501V269.8
- c0-0.828,0.673-1.501,1.501-1.501h27.001c0.828,0,1.501,0.673,1.501,1.501v10.492c2.533-3.545,4.988-6.237,7.326-8.03
- c5.624-4.353,12.977-6.562,21.853-6.562c8.402,0,15.317,1.902,20.551,5.65c0.03,0.02,0.057,0.04,0.082,0.063
- c3.509,2.895,6.334,6.504,8.422,10.749c3.508-5.25,7.753-9.242,12.649-11.891c5.95-3.04,12.626-4.572,19.875-4.572
- c4.873,0,9.735,0.959,14.446,2.849c4.774,1.902,9.153,5.276,13.018,10.025c3.147,3.89,5.287,8.71,6.37,14.331
- c0.668,3.688,1.007,9.069,1.007,16.015l-0.189,67.085C446.507,376.831,445.836,377.502,445.01,377.502L445.01,377.502z"/>
- <path fill="#1F1F1F" d="M411.86,267.2c4.7,0,9.32,0.909,13.89,2.739c4.56,1.82,8.7,5.021,12.41,9.58c3,3.711,5.02,8.271,6.06,13.67
- c0.65,3.58,0.98,8.82,0.98,15.73L445.01,376H416.6v-67.811c0-4.039-0.66-7.359-1.97-9.959c-2.49-4.961-7.07-7.431-13.75-7.431
- c-7.73,0-13.07,3.19-16.02,9.58c-1.51,3.38-2.26,7.45-2.26,12.21V376h-27.8v-63.33c0-6.311-0.65-10.9-1.95-13.76
- c-2.35-5.141-6.94-7.71-13.78-7.71c-7.95,0-13.29,2.569-16.02,7.71c-1.5,2.93-2.25,7.279-2.25,13.07V376h-28.2V269.8h27v15.46
- c3.44-5.529,6.69-9.47,9.74-11.81c5.39-4.171,12.37-6.25,20.94-6.25c8.12,0,14.68,1.79,19.68,5.37c4.02,3.32,7.08,7.58,9.15,12.779
- c3.65-6.24,8.18-10.83,13.59-13.76C398.44,268.66,404.82,267.2,411.86,267.2 M411.86,264.2c-7.485,0-14.391,1.587-20.523,4.718
- c-0.022,0.011-0.043,0.022-0.065,0.034c-4.465,2.418-8.405,5.893-11.758,10.363c-2.029-3.501-4.587-6.534-7.643-9.058
- c-0.053-0.045-0.108-0.087-0.164-0.127c-5.497-3.936-12.706-5.931-21.427-5.931c-9.215,0-16.878,2.313-22.776,6.877
- c-1.614,1.238-3.242,2.832-4.904,4.808V269.8c0-1.657-1.343-3-3-3h-27c-1.657,0-3,1.343-3,3V376c0,1.657,1.343,3,3,3h28.2
- c1.657,0,3-1.343,3-3v-64.02c0-5.276,0.646-9.214,1.92-11.703c2.165-4.076,6.539-6.077,13.35-6.077
- c5.682,0,9.194,1.893,11.052,5.957c0.764,1.682,1.678,5.222,1.678,12.513V376c0,1.657,1.343,3,3,3h27.8c1.657,0,3-1.343,3-3v-63.41
- c0-4.321,0.672-8.018,1.999-10.986c2.453-5.313,6.678-7.804,13.281-7.804c5.574,0,9.091,1.835,11.069,5.776
- c1.097,2.176,1.651,5.072,1.651,8.613V376c0,1.657,1.343,3,3,3h28.41c1.653,0,2.996-1.338,3-2.991l0.19-67.08
- c0-7.044-0.346-12.517-1.028-16.275c-1.136-5.897-3.381-10.94-6.679-15.02c-4.031-4.955-8.615-8.479-13.631-10.48
- C421.97,265.194,416.922,264.2,411.86,264.2L411.86,264.2z"/>
-</g>
-<g>
- <g>
- <path fill-rule="evenodd" clip-rule="evenodd" fill="#23A9FF" d="M170,62c10.33,0,14-3.67,28.67-13
- c22.66,14.21-2.84,34.11,28.33,54c-7.33-1.65-15.33-4.33-21,1.5c-8.5,0-8.83-6.97-14.5-15.5c-8.5,5.68,29.5,34.67-22.67,42.26
- c-28.03,4.09-8.5-17.05-36.83-34.1c0,0-2.83,0-5.67,2.84c2.84,2.84,15.17,12,15.17,12c-15-3.67-25.67-2.89-28.5,17
- c-2.83-5.68-5.67-12.04-5.67-20.56c0-14.21,6.67-59.11,29.34-59.11C142.33,49.33,159.67,62,170,62z"/>
- <path fill="none" stroke="#000000" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" d="M170,62
- c10.33,0,14-3.67,28.67-13c22.66,14.21-2.84,34.11,28.33,54c-7.33-1.65-15.33-4.33-21,1.5c-8.5,0-8.83-6.97-14.5-15.5
- c-8.5,5.68,29.5,34.67-22.67,42.26c-28.03,4.09-8.5-17.05-36.83-34.1c0,0-2.83,0-5.67,2.84c2.84,2.84,15.17,12,15.17,12
- c-15-3.67-25.67-2.89-28.5,17c-2.83-5.68-5.67-12.04-5.67-20.56c0-14.21,6.67-59.11,29.34-59.11C142.33,49.33,159.67,62,170,62z"
- />
- </g>
- <defs>
- <filter id="Adobe_OpacityMaskFilter" filterUnits="userSpaceOnUse" x="105.83" y="47.5" width="122.67" height="85.774">
-
- <feColorMatrix type="matrix" values="-1 0 0 0 1 0 -1 0 0 1 0 0 -1 0 1 0 0 0 1 0" color-interpolation-filters="sRGB" result="source"/>
- </filter>
- </defs>
- <mask maskUnits="userSpaceOnUse" x="105.83" y="47.5" width="122.67" height="85.774" id="SVGID_1_">
- <g filter="url(#Adobe_OpacityMaskFilter)">
-
- <image overflow="visible" width="128" height="91" xlink:href="data:image/jpeg;base64,/9j/4AAQSkZJRgABAgEASABIAAD/7AARRHVja3kAAQAEAAAAHgAA/+4AIUFkb2JlAGTAAAAAAQMA
-EAMCAwYAAAItAAADjQAABP//2wCEABALCwsMCxAMDBAXDw0PFxsUEBAUGx8XFxcXFx8eFxoaGhoX
-Hh4jJSclIx4vLzMzLy9AQEBAQEBAQEBAQEBAQEABEQ8PERMRFRISFRQRFBEUGhQWFhQaJhoaHBoa
-JjAjHh4eHiMwKy4nJycuKzU1MDA1NUBAP0BAQEBAQEBAQEBAQP/CABEIAFsAgAMBIgACEQEDEQH/
-xACNAAEAAgMBAQAAAAAAAAAAAAAABQcBBAYCAwEBAAAAAAAAAAAAAAAAAAAAABAAAgICAQQCAwEB
-AAAAAAAAAwQBAgUGABAgERMwElAxFEAWEQABAwIEBAUEAwAAAAAAAAABABECIQMgMUESEFFhIjBx
-gTIEQJGhQlJiFBIBAAAAAAAAAAAAAAAAAAAAUP/aAAwDAQACEQMRAAAAr8GZad70qyHvKHKfdZzp
-qvewam91PYlQa1oVofICXiLCOv38ZGMj56MkITakR49hqVDclRECD6XBVlxm4AAAA8/M91ZavGlZ
-M4J+26rtU9cl0VaFjyNMWmSrGQDU4GxqyO7ia/1Dai/WCc7ist024jWHrrOR2y8fpEypljyZr7qq
-1IIAD15AAHV9PVosuF44b+gAAH//2gAIAQIAAQUA/If/2gAIAQMAAQUA/If/2gAIAQEAAQUA6Vra
-8p646zB9UdHVhRha3apiGmYcQOpbsiJmdX1z7wrjABpdIF4yWtLM1yulmFLGNdXn0m4tjHWbYXTJ
-mVsCAQ9hwI7hZBZc/XXcf/a5i0qLg6kCMkHwqpuf80n5BhVQ8oKlI5kBQRfZQ1Fkeuk42KirERHw
-sR5Dt8eMl0WH7T60rAVfiJHmm8LTRnpgQ+7JYwfrW+C1orA2wFn983LGwwC1ZpbmoBm761fqEl4H
-RzeFV3sdmAOVifPbkq2sshkzY3Jr5gVxZnJAJTKgHcn65pcxDILR6n2xUFsaYTFw+aYxjGGyg3Qd
-haxYe5qSIwNgbENjItsW9pOTMzzVmKhZYz1FlsptbbNyZBonLEtfml5a4yhJBB9bT4ru9qyLsRPI
-D5R+5R9cWzKzuEdqZfpctKRk80EI9izH9pe215t2RMxOC2iFqj3FX6s7utTju72vDuYccn/L/9oA
-CAECAgY/AEP/2gAIAQMCBj8AQ//aAAgBAQEGPwDgIxBJOQCEiNoK3Rr5hbb0DHrpi3CJjHRNcHbz
-wgDM5KN67F5SqgNoTGIR7AXRn8an9dE1y1KmoDr2S+xQFu0WOpDKNz5A3S6oR2gKXbop2pfqfxgB
-IeMD+VFg1MDSDqsQvYFSITRDcJPyUm/bP0wRuSFZVKAGnhS8l6Hjbt/ykAoUZh4ch0UbrasTxthn
-EaqI6eDukWATQkCeE2FRUIxkGILHgZaBgojojM6I/FJ7oljyHqgYyBfFIRzZXPjXpkwlIygZF8zU
-VKBJGSkDII3LWevCXmFGuilEkKV22wm+aEZyJtPXookF3GGQ6IfIt0lAu4Ww16omdwsdAm3FVUnN
-XBW4yZgpRslov7iu+bruX+acssn5ISGuAkqbYRJ2BoULYNDngt3HYOx9VGunF5FSAkEbcC4epxVw
-OMwo27p2kc1W4PumFwP5oi05KO+TROg+m//Z" transform="matrix(1 0 0 1 103 45)">
- </image>
- </g>
- </mask>
- <g mask="url(#SVGID_1_)">
- <path fill-rule="evenodd" clip-rule="evenodd" fill="#043C96" d="M170,62c10.33,0,14-3.67,28.67-13
- c22.66,14.21-2.84,34.11,28.33,54c-7.33-1.65-15.33-4.33-21,1.5c-8.5,0-8.83-6.97-14.5-15.5c-8.5,5.68,29.5,34.67-22.67,42.26
- c-28.03,4.09-8.5-17.05-36.83-34.1c0,0-2.83,0-5.67,2.84c2.84,2.84,15.17,12,15.17,12c-15-3.67-25.67-2.89-28.5,17
- c-2.83-5.68-5.67-12.04-5.67-20.56c0-14.21,6.67-59.11,29.34-59.11C142.33,49.33,159.67,62,170,62z"/>
- <path fill="none" stroke="#043C96" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" d="M170,62
- c10.33,0,14-3.67,28.67-13c22.66,14.21-2.84,34.11,28.33,54c-7.33-1.65-15.33-4.33-21,1.5c-8.5,0-8.83-6.97-14.5-15.5
- c-8.5,5.68,29.5,34.67-22.67,42.26c-28.03,4.09-8.5-17.05-36.83-34.1c0,0-2.83,0-5.67,2.84c2.84,2.84,15.17,12,15.17,12
- c-15-3.67-25.67-2.89-28.5,17c-2.83-5.68-5.67-12.04-5.67-20.56c0-14.21,6.67-59.11,29.34-59.11C142.33,49.33,159.67,62,170,62z"
- />
- </g>
-</g>
-<g>
- <path fill-rule="evenodd" clip-rule="evenodd" fill="#FBE500" d="M293.5,382c-9.998,0-10.315-5.942-10.546-10.279
- c-0.217-4.07-0.465-5.721-4.453-5.721c-1.218,0-7.149,2.766-12.382,5.203C255.8,376.014,242.957,382,236.5,382
- c-12.534,0-24.353-5.965-33.282-16.796C195.682,356.062,191,344.297,191,334.499v-21.89c-0.17-1.201-0.341-2.459-0.518-3.752
- c-0.845-6.225-1.805-13.276-3.424-18.945c-1.138-4.55-2.757-8.294-4.324-11.914c-2.56-5.912-5.206-12.029-5.732-21.414
- c-0.002-1.18,0.212-2.402,0.442-3.695c0.355-2.016,0.799-4.522-0.004-5.328c-2.376-2.377-5.892-4.014-9.292-5.598
- c-1.994-0.93-4.056-1.889-5.919-3.005c-8.018-4.455-11.089-13.294-13.123-19.146c-0.37-1.066-0.69-1.987-0.997-2.755l-0.038-0.095
- l-0.025-0.1c-0.816-3.267-2.352-5.857-5.008-9.474c-4.247,2.344-4.152,6.092-4.06,9.727c0.013,0.481,0.023,0.944,0.023,1.384
- c0,11.657,6.152,18.462,10.225,22.965c2.191,2.423,3.775,4.175,3.775,6.034c0,3.166-8.077,19.509-8.159,19.671l-0.296,0.592
- l-0.633,0.181c-3.363,0.961-11.819,1.606-21.042,1.606c-7.303,0-25.421-0.454-35.926-4.656
- c-30.922-10.66-39.625-50.538-41.929-67.187c-0.814-5.892,0.305-10.864,3.325-14.776c6.96-9.015,22.775-10.902,35.482-12.418
- c8.487-1.01,19.755-2.69,30.65-4.316c5.071-0.757,10.019-1.493,14.48-2.133c0.025-0.116,0.048-0.296,0.048-0.562
- c0-1.51-0.598-4.632-1.125-7.385c-0.542-2.835-0.875-4.625-0.875-5.616v-6.001c0-11.356,13.95-20.5,25.5-20.5
- c17.761,0,34.676,23.646,42.804,35.009c0.467,0.654,0.904,1.262,1.304,1.819c0.164-0.953,0.326-1.91,0.488-2.869
- c4.085-24.071,7.006-38.771,13.125-39.933c1.174-0.168,2.268-0.248,3.317-0.248c16.308,0,21.873,18.76,25.937,32.459
- c0.671,2.254,1.311,4.413,1.952,6.341c2.131-0.759,4.403-1.588,6.779-2.457C264.544,148.163,286.92,140,302.5,140
- c16.501,0,16.501,16.934,16.501,22.5c0,25.503-14.097,62.045-45.589,86.19l-1.1,0.843l-0.928-1.03
- c-6.994-7.771-16.168-12.191-28.05-13.513l-1.984-0.221l0.764-1.845c7.093-17.106,9.554-38.674,5.162-45.25
- c-0.763-1.145-1.647-1.677-2.776-1.677c-0.789,0-1.146,0.278-1.346,0.486c-1.222,1.269-1.085,4.924-0.984,7.593
- c0.074,1.938,0.139,3.62-0.208,4.779c-1.132,6.178-3.464,15.332-5.345,22.691c-1.271,4.979-2.585,10.13-2.617,10.963
- c0,8.704,2.499,15.01,5.145,21.688c2.633,6.646,5.355,13.515,5.355,22.801c0,3.303-4.705,23.461-7.551,33.896l-0.417,1.529
- l-1.504-0.501C232.255,311,227.348,311,225.499,311c-7.319,0-12.5,0.539-12.5,7.499c0,4.545,3.536,5.5,6.501,5.5
- c0.724,0,2.461-0.41,4.142-0.808c2.474-0.585,5.031-1.19,6.857-1.19c3.014,0,7.5,1.731,7.5,6.5c0,5.946-5.555,7.321-10.456,8.535
- c-5.938,1.47-9.543,2.707-9.543,7.465c0,5.075,2.224,5.5,4.5,5.5c0.845-0.146,5.368-2.56,8.67-4.322
- c6.417-3.424,10.441-5.515,12.195-5.673c0.25-0.022,0.488-0.033,0.711-0.033c2.091,0,3.172,0.936,3.71,1.721
- c1.59,2.315,0.269,5.939,0.114,6.346l-0.238,0.614l-0.61,0.241c-7.2,2.854-7.12,6.903-7.063,9.859
- c0.006,0.263,0.011,0.511,0.011,0.746c0,4.068,2.289,6.5,4.499,6.5c8.643,0,9.501-18.314,9.501-18.5v-1.499h1.5
- c2.734,0,5.946-0.217,9.348-0.444c3.719-0.248,7.553-0.507,11.48-0.551c0.231-1.382,0.072-2.827-0.097-4.339
- c-0.113-1.024-0.231-2.083-0.231-3.166c0-9.228,7.274-12.5,13.502-12.5c9.963,0,13.5,5.655,13.5,10.5
- c0,1.88-1.435,4.758-3.625,8.935c-0.976,1.864-2.313,4.413-2.376,5.091c0,1.074,1.71,3.068,3.363,4.997
- c2.957,3.445,6.636,7.734,6.636,12.976C306.999,376.174,301.574,382,293.5,382L293.5,382z"/>
- <g>
- <path fill="#1F1F1F" d="M213.538,119.277c18.366,0.001,22.213,25.926,26.962,39.223c17-6,44-17,62-17c13,0,15,11,15,21
- c0,26-15,62-45,85c-9-10-20-13-29-14c8.5-20.5,10.83-49,1-49c-6,0-3,11-4,14c-2,11-8,32-8,34c0,18,10.5,26.5,10.5,44.5
- c0,3-4.5,22.5-7.5,33.5c-3-1-8-1-10-1c-6,0-14,0-14,9c0,6,5,7,8,7c2,0,8-2,11-2c2,0,6,1,6,5c0,10-20,4-20,16c0,6,3,7,6,7
- c2,0,18.01-9.73,21-10c0.204-0.019,0.396-0.027,0.579-0.027c4.739,0,2.421,6.027,2.421,6.027c-8.83,3.5-8,9-8,12c0,5,3,8,6,8
- c10,0,11-19,11-20c6,0,14-1,22-1c1-3,0-6,0-9c0-8,6-11,12-11c8,0,12,4,12,9c0,3-6,12-6,14c0,4,10,10,10,18s-5,13-12,13
- c-16,0-3-16-15-16c-4,0-32,16-42,16c-27,0-44-28-44-46v-22c-1-7-2-16-4-23c-3-12-9.17-18.17-10-33c0-3,2-8,0-10
- c-4-4-10.5-5.83-15.5-8.83c-9-5-11.5-16.17-13.5-21.17c-1-4-3-7-6-11c-7,3-6,9-6,13c0,18,14,25,14,29c0,2-5,13-8,19
- c-3.04,0.868-11.171,1.549-20.627,1.549c-12.319,0-26.887-1.154-35.373-4.549c-29-10-38.26-46.189-41-66
- C43.67,177,65.83,174.17,84,172c12.6-1.5,31.5-4.5,45.5-6.5c0,0,1,0,1-2c0-3-2-11-2-13v-6c0-10,12.5-19,24-19c20.17,0,40,33,45,39
- c3.5-20.17,6.83-43.83,13-45C211.555,119.349,212.566,119.277,213.538,119.277 M213.538,116.277L213.538,116.277
- c-1.121,0-2.285,0.085-3.462,0.253l-0.067,0.009l-0.067,0.013c-7.154,1.356-10.092,16.252-14.208,40.478
- c-8.547-11.923-25.273-34.53-43.232-34.53c-6.25,0-12.861,2.322-18.139,6.37c-5.631,4.32-8.861,10.017-8.861,15.63v6
- c0,1.128,0.326,2.887,0.902,5.898c0.415,2.168,0.916,4.785,1.058,6.364c-4.108,0.593-8.54,1.254-13.201,1.949
- c-10.889,1.624-22.148,3.302-30.614,4.31c-12.988,1.551-29.15,3.481-36.493,12.993c-3.275,4.243-4.495,9.591-3.625,15.896
- c1.349,9.753,4.34,24.19,10.932,37.593c7.76,15.777,18.523,26.143,31.994,30.81c10.756,4.273,29.043,4.736,36.418,4.736
- c9.348,0,17.968-0.669,21.452-1.664l1.269-0.362l0.59-1.181c0.34-0.68,8.317-16.676,8.317-20.342c0-2.437-1.747-4.369-4.165-7.043
- c-3.916-4.332-9.835-10.879-9.835-21.957c0-0.452-0.012-0.929-0.024-1.423c-0.087-3.454,0.041-5.904,2.188-7.644
- c2.064,2.912,3.25,5.088,3.926,7.794l0.05,0.197l0.075,0.189c0.294,0.734,0.609,1.641,0.973,2.689
- c1.976,5.687,5.281,15.197,13.81,19.963c1.919,1.147,4.002,2.118,6.018,3.057c3.399,1.584,6.611,3.08,8.799,5.234
- c0.252,0.677-0.136,2.876-0.347,4.069c-0.23,1.3-0.467,2.645-0.467,3.873v0.084l0.005,0.084c0.54,9.651,3.24,15.891,5.851,21.924
- c1.614,3.729,3.138,7.252,4.234,11.636l0.012,0.049l0.014,0.048c1.589,5.56,2.54,12.55,3.378,18.716
- c0.172,1.267,0.34,2.497,0.507,3.673V334.5c0,10.129,4.813,22.26,12.56,31.658c9.218,11.183,21.45,17.342,34.44,17.342
- c6.791,0,19.8-6.064,30.254-10.938c4.641-2.163,10.408-4.851,11.819-5.062c2.478,0.006,2.669,0.32,2.882,4.301
- c0.219,4.089,0.626,11.699,12.044,11.699c8.832,0,15-6.579,15-16c0-5.797-3.88-10.319-6.997-13.953
- c-1.082-1.262-2.686-3.131-2.97-3.964c0.292-0.864,1.411-2.999,2.171-4.449c2.362-4.507,3.796-7.404,3.796-9.634
- c0-5.973-4.638-12-15-12c-9.112,0-15,5.495-15,14c0,1.166,0.123,2.267,0.241,3.331c0.107,0.968,0.207,1.864,0.204,2.7
- c-3.537,0.083-7.038,0.317-10.199,0.529c-3.374,0.226-6.562,0.439-9.246,0.439h-2.961l-0.039,2.989
- c-0.035,2.644-1.656,17.011-8,17.011c-1.21,0-3-1.589-3-5c0-0.244-0.005-0.503-0.01-0.775c-0.057-2.933-0.117-5.966,6.116-8.436
- l1.223-0.484l0.472-1.228c0.302-0.785,1.707-4.846-0.276-7.733c-0.608-0.886-2.06-2.371-4.945-2.371
- c-0.274,0-0.561,0.014-0.851,0.04c-1.974,0.178-5.405,1.917-12.763,5.842c-2.98,1.59-7.018,3.744-8.235,4.145
- c-1.546-0.011-2.731-0.216-2.731-3.999c0-3.57,2.432-4.528,8.404-6.008c4.894-1.212,11.596-2.872,11.596-9.992
- c0-5.252-4.527-8-9-8c-2.002,0-4.647,0.626-7.205,1.231c-1.293,0.307-3.246,0.769-3.795,0.769c-5,0-5-2.906-5-4
- c0-5.094,2.882-6,11-6c1.611,0,6.513,0,9.051,0.846l3.009,1.003l0.834-3.06C240.998,301.743,246,280.698,246,277
- c0-9.572-2.776-16.579-5.461-23.355c-2.583-6.521-5.024-12.68-5.039-21.068c0.119-1.052,1.42-6.151,2.57-10.657
- c1.876-7.352,4.206-16.483,5.351-22.711c0.392-1.379,0.328-3.073,0.248-5.188c-0.054-1.437-0.219-5.81,0.57-6.5c0,0,0,0,0.001,0
- c0.011,0,0.1-0.021,0.261-0.021c0.299,0,0.854,0,1.528,1.008c3.675,5.502,2.161,25.852-5.299,43.842l-1.53,3.69l3.97,0.44
- c11.498,1.277,20.363,5.538,27.101,13.025l1.855,2.061l2.2-1.687c14.329-10.985,26.298-25.655,34.612-42.423
- c7.457-15.037,11.562-31.003,11.562-44.958c0-5.936,0-24-18-24c-15.847,0-37.457,7.883-54.821,14.218
- c-1.838,0.67-3.611,1.317-5.304,1.927c-0.479-1.517-0.963-3.148-1.464-4.836C236.714,135.658,230.964,116.277,213.538,116.277
- L213.538,116.277z"/>
- </g>
-</g>
-<g>
- <g>
- <path fill-rule="evenodd" clip-rule="evenodd" fill="#FBE500" d="M240.5,158.5c-5-14-9-42-30-39c-6.17,1.17-9.5,24.83-13,45
- c-5-6-24.83-39-45-39c-11.5,0-24,9-24,19v6c0,2,2,10,2,13c0,2-1,2-1,2c-14,2-32.9,5-45.5,6.5c-18.17,2.17-40.33,5-37.5,25.5
- c2.74,19.811,12,56,41,66c15,6,49,5,56,3c3-6,8-17,8-19c0-4-14-11-14-29c0-4-1-10,6-13c3,4,5,7,6,11c2,5,4.5,16.17,13.5,21.17
- c5,3,11.5,4.83,15.5,8.83c2,2,0,7,0,10c0.83,14.83,7,21,10,33c2,7,3,16,4,23v22c0,18,17,46,44,46c10,0,38-16,42-16
- c12,0-1,16,15,16c7,0,12-5,12-13s-10-14-10-18c0-2,6-11,6-14c0-5-4-9-12-9c-6,0-12,3-12,11c0,3,1,6,0,9c-8,0-16,1-22,1
- c0,1-1,20-11,20c-3,0-6-3-6-8c0-3-0.83-8.5,8-12c0,0,2.5-6.5-3-6c-2.99,0.27-19,10-21,10c-3,0-6-1-6-7c0-12,20-6,20-16
- c0-4-4-5-6-5c-3,0-9,2-11,2c-3,0-8-1-8-7c0-9,8-9,14-9c2,0,7,0,10,1c3-11,7.5-30.5,7.5-33.5c0-18-10.5-26.5-10.5-44.5
- c0-2,6-23,8-34c1-3-2-14,4-14c9.83,0,7.5,28.5-1,49c9,1,20,4,29,14c30-23,45-59,45-85c0-10-2-21-15-21
- C284.5,141.5,257.5,152.5,240.5,158.5z"/>
- </g>
- <defs>
- <filter id="Adobe_OpacityMaskFilter_1_" filterUnits="userSpaceOnUse" x="46.254" y="119.277" width="271.246" height="261.223">
-
- <feColorMatrix type="matrix" values="-1 0 0 0 1 0 -1 0 0 1 0 0 -1 0 1 0 0 0 1 0" color-interpolation-filters="sRGB" result="source"/>
- </filter>
- </defs>
- <mask maskUnits="userSpaceOnUse" x="46.254" y="119.277" width="271.246" height="261.223" id="SVGID_2_">
- <g filter="url(#Adobe_OpacityMaskFilter_1_)">
-
- <image overflow="visible" width="278" height="268" xlink:href="data:image/jpeg;base64,/9j/4AAQSkZJRgABAgEASABIAAD/7AARRHVja3kAAQAEAAAAHgAA/+4AIUFkb2JlAGTAAAAAAQMA
-EAMCAwYAAARTAAAJlwAADlr/2wCEABALCwsMCxAMDBAXDw0PFxsUEBAUGx8XFxcXFx8eFxoaGhoX
-Hh4jJSclIx4vLzMzLy9AQEBAQEBAQEBAQEBAQEABEQ8PERMRFRISFRQRFBEUGhQWFhQaJhoaHBoa
-JjAjHh4eHiMwKy4nJycuKzU1MDA1NUBAP0BAQEBAQEBAQEBAQP/CABEIAQwBFgMBIgACEQEDEQH/
-xACaAAEAAgMBAQAAAAAAAAAAAAAABgcDBAUBAgEBAAAAAAAAAAAAAAAAAAAAABAAAgICAQMEAgEE
-AwEAAAAAAgMBBAUGACARExAwQBIxFBWAITM0IjI1FhEAAgIBAQYFAgUEAwEAAAAAAQIAESEDIDFB
-URIiEDBAYXGRE4GxMlIjocFCYuFyMwQSAQAAAAAAAAAAAAAAAAAAAID/2gAMAwEAAhEDEQAAAK/A
-AAAAPs+Hf7BCEqjprgAzdPrTsp7WtOtjVAAAAAAAAAAB7N4nbRubf16YI/J/kpblXDWJzPr52iy5
-VyeuYa5suOlRMuIAPreOekfSIUm8eOSAAAAADcuCmLhO0AD5i8qxlGb8v5pYG3jyDT3Pkprj27rF
-ed+fbpGOz0fTBk+xjjUp5RTzeHHMhjd7tEH+rK3yrNi19oqres3KQSbbHoAAB8fOUeegB4D0AADl
-dXglatIY7DidrDZ+x49AAAAAAAADz35OBwNWGl65+F3QADyGS2ryLvB3bZpi3zpAAAAeOEdfNT1j
-nbeegAADFl0yt4r1eYWzI+B3wB57iORU0qhQB92vUs4LH9+PsAAA8gU9hJW0yhvQLsycnqnoAAHD
-7cMK6y6fcLQ6mlug8Ee6FYHK1QAdLmi7OnXc/MwAAHG7OMo7Un0DJfP6Q7RcnsQlRlAB81xZFekC
-6vKFmyaju0XFqRThn3EffkAAA2LIq/aLxywKVnSYsh689Hjw5VU2PVZhBktyobWJQ89APIxKNApD
-563JAPv4AAAAAD66fKEw6tdC0c1Uelq6la+EhjwALKrWUlre4cwA+PvwraE2ZWYAAAAAAAAAAAAA
-2tUXP2YNOD0Dz34IdWc2hIAAAAAAAAAAAAABK7Rp23DaeaxtamnxiG8HZ1gAAAAAAAAAAAAADoXD
-TtwGSrrGp0+vnD6eAAAAAAAAAAAAAAA37gp63jfiMy4RCND65Bh8ABlxSYxa9p8Qq/zPgAAAAAAA
-AAAMtsVFNiya9n3GKd+5Z0iFa3Y4g++hPitpvKugZIHPa6IMAAAAAAAAAABt6gtuR0tY5IdfL9lP
-8KyYodGw4VjJxrVZoF687hSMqXky2JAAAAAAAAAAADb1BM+3WP0T+O8L5NrVADu9+B/Rv84AP//a
-AAgBAgABBQD+jL//2gAIAQMAAQUA/oy//9oACAEBAAEFAPiVqrLJ/wDzlmRtULFWfjqUxx0dWsP4
-GmB9bunmuLdGxULo1TF+QVYlfjzWBWasjSOnY+KAyZa1r49quOUoIUuONqKZGY15Tgy2EfRZ6LH7
-HqtSAREdosKhq9wxfaPi4oYO9gkCKfUhgozOHW9eZxTaL+YxXlu4JP0r+my0oaiyrw2PUFsZKMJf
-fyvp9lnE6SMcdpixHJ4N1L3MSUDfwhRNfoMYMdiwgWFX6TKT9ZT5chjl/RHpkUeVGz05rXhAjmrg
-r1maGlSXKOqIVCMPXXAVEhyFBHDSso2HHBKf14/kPaqlIWNdkpq9LlC0Nn1ybAahhLiXpD6L9CGC
-jL6xXyBVNQrJmviEJgErDqzYxKCGP5/phbJ4NG2fF4LIslWq3jlGlOKcfo6QZSqDWV1GsGQuupc+
-7my7VyKP5/ia7nlS1W0/lbSA7I02uMK1auPF6/WHgYmuPBooHgoUPIEY97v25BDPsbG6Ar+aP5Kn
-VK0/A68sARj0qGFhHO0fE2HPDjk4fdP2rFWwL1dMz2jb7sAj7T9tVUJ2scoQT8U57DvbJkaxkuxr
-b5ZW6bTIWrcL3kZzVGwFygX2R7JFAx+2n7RMFHsvL6q3V4kxX+TV/wDW6c9eFKcnZmzb5hH+G/h3
-Qyv7Ow5T9NC9rvxcwWVG2n2ck3xo2Sz5r6Bk360uRrdFhsKXt+W/t6JOVt1e3DEexP43k5/X5peR
-IeJODX7Gw2IXXut81rEpl1/CK+lf1mYiNgyoIVkbhW7PrpeQ/wCCjgw65/G61SOvzC3Jq3cNdFye
-ufxuVvx15mZnV0fa3jfrCfXKZAK6tkzJWndGDvTUuYe6L0+xnqUWK+TqFUtxMxOs7DAcpZNTwgoK
-Ok/+u9sKB5iMkunOJ2ZBRWySXRBhMXb60hs+fI5mZKeiJmJ1PN9xruFodblwwNswXkgwJZCZAWN2
-W1UnC7SmzCXC4Ogv7jvNeSV6Aw1ljdmtVSr7OJqzWzkcMYbD6qVtlR+vZ8HLS4Gj15pYSrOisbfo
-h7a7NXtm+r07VT8tdgStnqDmBEzMz7FDIOpMwm1LZFXLJbAvWfIKJ6CKBjYsgIJuPl9j0X/k1WYi
-v05WvDUbFTmtd94DMCp7BdrTU3SR5X3RBcHca3A22sUM22uPH7fXkc7nf2o9YntOn24NET3joaP2
-XulKIH4cEQ8kiLr06/421WQxXRP43Bcfr/LxtqatvA3IfX6J/G4tiK/zNLvSxET3j1YX1Dd7UyPz
-NKsyLUF9let90LTtVry2/mas2V36B/ZH44++hPGZ6vHMrnFmvIv89v5mDKRyOJnvXyVr9dGc2S06
-zN+5PJt2S5M95+Zhf/Qw/wDr7Aozq21GqzztPzsL/wChh/8AXekXBmdarNJmDrom3WSIlEQXRXrs
-sMRq7DC7r7a8EMjPxMPPa/hSia/M/fVWXkdg8putub1alUFxV8cEKzyFrXckZs/ErM8VjWrcMRP4
-302Qri1MZMUCGGiIl2meCppTFC4XNIxtha+31XueQ8ITMzPxdPyv9kMhi8/hAyCo0ZgtXra6q86f
-gZ+eYOn+zYx+upIVYGsPEVVIg47ju+Naz4+NulTs4DMLeoSEx8YcuVxJO2IJd/mp0pCKrVLW7K11
-cDYKpGl4OHMUQerP4/8AUs/GwuZOgzD59TwVYWyD+shs2GVchWBhTatlVQLm1Aobuw3LMjcsizVs
-wTq9myBK2wgkfj0sjZpljdwiIXtaTG9sKCG3nQmX5Cw7kzM+uCysVodsQeLLZGbjPkj5OF5OqO/e
-fJ29f//aAAgBAgIGPwAZf//aAAgBAwIGPwAZf//aAAgBAQEGPwD0nQg+TOoE/SfyLjn6gJpi2MB1
-Lo8BMpmE6dgzp1Vxz2RqMMtmCxG7Y2mR232+mCLvJoRXZbY5JMGJulERqUG4zAE6d/TxVeZAiY4C
-VCCI2qq5XPptMGKa4bFGN23cY1/GT9PDSX3uL8eL43iPp/tONikUsfYQUnSDzgLk+4EtgT8w0kLL
-ZUbx5mmTzqL8bJBjdt3G0mBr/EwGr6azF+PFh7QtVB5SgseQgpOkHnAdW2+YOwfSDtEws3SiIxrh
-PsVjrqvL02G8MIhPLaKkRm017t4qM/8A9Gn0d2PwgXxIPGXqIGo2IKQCvaDtEwNpviIP9v7HawhP
-4GDp0mz7QD7dA8Z3YHsJ3kmKzr1UQRed0CDgNumFy1WvOb4iHh1f2Ph06SljAdSwOQnepPzAPtjH
-tB2D6T9In6RP0iYWYHn4PkN8T7vD7n/EXSXjvikrBgTA9Kz3u4T7epaEnAPGBhtEx88DOrjdw3zE
-FDh6Yyv9h+c03XeGES+W0TPtA7znwKnjRi/HlWTQnT1C5Yz5TGBOJMT/ALD84nwNps1iO92AaHgh
-ug2Ivx5TMDVCfcZv4i27kIpu7HlN8Qi7CzTUbywiXy2SxjaaNlsDxRx/iQYmeA8kxxw8Bosf0moD
-5LZ4TUe7tjU0l5G4vxsWY3dVCNqE2t9uwumxyuICPJ1K5HwVrpWwYueHkvngZZ3mfcO4YEAHLYOa
-jaKHHE7K5pWOfmLnh5LCrsR9MigSSssbxF0tRqYc4O4Swb2jKB3nPgOrHvAvWPrBTCXcOYdLSbuM
-JJsnedmxvG6Lps3cuDAQfIKmNqIveMgwo4phvEDIaYbiIBqEso4iKOsXygZTsmM37Tf08epGKnmI
-q6p6l5wHq4RtPSa2MLubY7ztrqIaF9wijqgIPkNfKHp35vxGppMVYHhxiF95A2nxwMZDvUkbBCsQ
-DwlnJ8kOhPTxWBWajxBg7hMGYOxZMbPCPqHiceK/I/OIByG02OELcH/Pz+pCVPMTJ6hANQlT7yi4
-+s/9B9Zhx9Zlx9YQNQfWFNNrvYsbxEzeBAdkiM4GVN+kwSPiZJPzt/ZY7jj4gO059j6xNQbrAMXO
-8bTj2PrUBOaowHYJhQcTXrTp8AfzinYOeECXus+tq8Govx4dzCYYRgrR3969bp1F+Ize0fT0WpVN
-EzOs07tQmWfW6cX4jheU1EcUwY/1Phu9dpxfiFWhcoLhpRCMQgbtkJpizxMtruFlvHAwqcEb/S6Z
-i/HgzMaqEaORz4TuOOW11EWbgxwjYj9O6/S6b8iImeHgQDQJAP18KQXL1Me0oTEpUJJ9pjRY/hOr
-WQoSTgz4EZQe44Es7z6ZdNjlcGAiMpF3MsxS90wtVPtJgnwyLAxASggtRKQVCJ91QT0G69OuoD23
-3Re67EsZE3RqHCAkdpsX4DUcUWNwXMsJ0dYuWpuNYuxCyilY59OFY/x3v5Re4G5YMIuHnvBEvUPU
-BwMAsCoQrWeQhCsUX+sGqNVuoG95iFzmsw54Rq3+oB02PT+2BdRuk+8/WPrCeoQ/byfaV1dI9pZy
-fEIxqp+rhKBtR6rsv8Lndde97WN8zde97H//2Q==" transform="matrix(1 0 0 1 43 116)">
- </image>
- </g>
- </mask>
- <g mask="url(#SVGID_2_)">
- <path fill-rule="evenodd" clip-rule="evenodd" fill="#CEBC01" d="M240.5,158.5c-5-14-9-42-30-39c-6.17,1.17-9.5,24.83-13,45
- c-5-6-24.83-39-45-39c-11.5,0-24,9-24,19v6c0,2,2,10,2,13c0,2-1,2-1,2c-14,2-32.9,5-45.5,6.5c-18.17,2.17-40.33,5-37.5,25.5
- c2.74,19.811,12,56,41,66c15,6,49,5,56,3c3-6,8-17,8-19c0-4-14-11-14-29c0-4-1-10,6-13c3,4,5,7,6,11c2,5,4.5,16.17,13.5,21.17
- c5,3,11.5,4.83,15.5,8.83c2,2,0,7,0,10c0.83,14.83,7,21,10,33c2,7,3,16,4,23v22c0,18,17,46,44,46c10,0,38-16,42-16
- c12,0-1,16,15,16c7,0,12-5,12-13s-10-14-10-18c0-2,6-11,6-14c0-5-4-9-12-9c-6,0-12,3-12,11c0,3,1,6,0,9c-8,0-16,1-22,1
- c0,1-1,20-11,20c-3,0-6-3-6-8c0-3-0.83-8.5,8-12c0,0,2.5-6.5-3-6c-2.99,0.27-19,10-21,10c-3,0-6-1-6-7c0-12,20-6,20-16
- c0-4-4-5-6-5c-3,0-9,2-11,2c-3,0-8-1-8-7c0-9,8-9,14-9c2,0,7,0,10,1c3-11,7.5-30.5,7.5-33.5c0-18-10.5-26.5-10.5-44.5
- c0-2,6-23,8-34c1-3-2-14,4-14c9.83,0,7.5,28.5-1,49c9,1,20,4,29,14c30-23,45-59,45-85c0-10-2-21-15-21
- C284.5,141.5,257.5,152.5,240.5,158.5z"/>
- </g>
-</g>
-<path fill-rule="evenodd" clip-rule="evenodd" fill="#FFFFCC" d="M168.67,263.33c-3.67-2-6.67-3.33-9-6.33
- c-5,9-11.17,30.5-11.17,41.5c0,3,1,10,2,15C177.67,289,168.67,263.33,168.67,263.33z"/>
-<g>
- <path fill-rule="evenodd" clip-rule="evenodd" fill="#FF6600" d="M193.772,206.837c-5.358,0-10.236-2.729-13.736-7.683l-0.198-0.28
- l-0.093-0.33c-8.547-30.246-25.982-48.151-39.992-62.539c-2.949-3.03-5.736-5.89-8.24-8.667l-0.94-1.043l0.662-1.238
- c3.588-6.719,10.431-10.272,19.783-10.272c5.169,0,10.029,1.066,13.196,1.96c2.665,0.75,5.5,1.129,8.429,1.129
- c0.004,0,0.006,0,0.01,0c7.256,0,14.981-2.283,22.334-6.601c2.978-1.746,6.236-2.632,9.686-2.632
- c6.564,0,11.543,3.219,11.753,3.357l1.181,0.775l-0.336,1.373c-4.887,19.923-7.7,46.495-8.604,81.235l-0.006,0.27l-0.078,0.255
- C206.643,202.342,200.553,206.835,193.772,206.837L193.772,206.837z"/>
- <path fill="#917013" d="M204.676,110.643c6.042,0,10.654,3.027,10.654,3.027c-4.33,17.66-7.66,43.26-8.66,81.66
- c-1.729,5.729-7.115,9.506-12.899,9.506c-4.249,0-8.713-2.037-12.101-6.836c-10.51-37.2-34.41-56.19-48.67-72
- c3.897-7.297,11.292-9.214,18.019-9.214c5.322,0,10.226,1.199,12.651,1.884c2.928,0.824,5.941,1.206,8.975,1.206
- c8.011,0,16.174-2.662,23.355-6.876C198.988,111.248,201.975,110.643,204.676,110.643 M204.677,106.643L204.677,106.643
- c-3.812,0-7.412,0.979-10.701,2.907c-7.053,4.139-14.428,6.327-21.332,6.327c-2.745,0-5.4-0.355-7.892-1.057
- c-3.285-0.927-8.337-2.033-13.734-2.033c-10.138,0-17.589,3.917-21.547,11.33l-1.323,2.478l1.881,2.086
- c2.528,2.803,5.326,5.676,8.289,8.718c13.853,14.225,31.094,31.929,39.502,61.69l0.187,0.659l0.396,0.561
- c3.883,5.5,9.342,8.528,15.369,8.528c7.655,0,14.534-5.078,16.729-12.35l0.155-0.515l0.014-0.537
- c0.889-34.117,3.764-61.306,8.546-80.812l0.673-2.746l-2.363-1.551C217.296,110.176,211.832,106.643,204.677,106.643
- L204.677,106.643z"/>
-</g>
-<g>
- <g>
- <path fill-rule="evenodd" clip-rule="evenodd" fill="#FF6600" d="M215.33,113.67c-4.33,17.66-7.66,43.26-8.66,81.66
- c-3,9.939-17,14-25,2.67c-10.51-37.2-34.41-56.19-48.67-72c6.98-13.07,25.18-8.88,30.67-7.33c10.66,3,22.43,0.14,32.33-5.67
- C205.67,107.33,215.33,113.67,215.33,113.67z"/>
- </g>
- <defs>
- <filter id="Adobe_OpacityMaskFilter_2_" filterUnits="userSpaceOnUse" x="133" y="110.643" width="82.33" height="94.193">
-
- <feColorMatrix type="matrix" values="-1 0 0 0 1 0 -1 0 0 1 0 0 -1 0 1 0 0 0 1 0" color-interpolation-filters="sRGB" result="source"/>
- </filter>
- </defs>
- <mask maskUnits="userSpaceOnUse" x="133" y="110.643" width="82.33" height="94.193" id="SVGID_3_">
- <g filter="url(#Adobe_OpacityMaskFilter_2_)">
-
- <image overflow="visible" width="87" height="99" xlink:href="data:image/jpeg;base64,/9j/4AAQSkZJRgABAgEASABIAAD/7AARRHVja3kAAQAEAAAAHgAA/+4AIUFkb2JlAGTAAAAAAQMA
-EAMCAwYAAAIPAAADBQAAA/v/2wCEABALCwsMCxAMDBAXDw0PFxsUEBAUGx8XFxcXFx8eFxoaGhoX
-Hh4jJSclIx4vLzMzLy9AQEBAQEBAQEBAQEBAQEABEQ8PERMRFRISFRQRFBEUGhQWFhQaJhoaHBoa
-JjAjHh4eHiMwKy4nJycuKzU1MDA1NUBAP0BAQEBAQEBAQEBAQP/CABEIAGMAVwMBIgACEQEDEQH/
-xACPAAEAAgMBAQAAAAAAAAAAAAAABgcCAwUBBAEBAAAAAAAAAAAAAAAAAAAAABAAAQQBAwMDBQEA
-AAAAAAAAAwECBAYFABAgETESUCETMDIjMxQ0EQACAQEGAwgDAQAAAAAAAAABAgARECAhMUEDcRIi
-MFFhgZGhMkJigrITEgEAAAAAAAAAAAAAAAAAAABQ/9oADAMBAAIRAxEAAACv2ySEXWJ8xBEowI1n
-MZGQLbaXOKmfaNVkVRIS3Ped0jW2jDL0OH24uVm+YYgk1lUhMSzffm+kA8hE2rwggAGeAsia0lbB
-2HnphWlk1YRcAACawr7i7tnJ6xpqi1anI+AAACxJvS0zJXU0ihhpAAAA2BjiAH//2gAIAQIAAQUA
-9K//2gAIAQMAAQUA9K//2gAIAQEAAQUA5iCUzolalGSTWXiaSK8ZwAed+Oq7TIyoBVkmkjVCUuQj
-kpkpVh0j3gVUAdCxYRtzEQYxS3IuZxUhgj4MgSNY1nirGLpY4l1/MLSDY3exERkd5PLJ6r+efGLi
-8kOSPlbDeEfz/JtWs+QBMdPZIHwXtdJHhH3RVatWsDmrEktOPd/23cifFwCV4SVTOIcY3o9uxPZl
-4d15YbIOhSsJkGyA7SF6CuhXKflTcu7QSIQepX6bj/q5YeUsWbhJaGBqYvQFtIjpnJFVFqOU8gjM
-x7clIY0Nkej5/PEZR0EsWzj+PKWZijlSHSDfQH2J32//2gAIAQICBj8AK//aAAgBAwIGPwAr/9oA
-CAEBAQY/AL/LtqWPhAz1A7hKioMXZObMFHmaQInmYC45ie+U5B6Q8q0PhDysaT5H0gO6C3GDoA8p
-QARjTSbQ0G4n9CAPqc4tKQUExE+M+MwFrcINyuH+qmvAixdrdbDQwY1rffgZz/lze9bRs7rYaEwY
-1umPwNwMpoRkYuzut1CAg3DGBOeF1dxDRlNYqserIiBhraZT8heU16GIBi41qLWgXQm+Nl26lwgY
-WNF4m+jaMaGLjpY0C61JvgjMZRAxxgNYwrpCR49gAT0EwdfvCA2cbcbXLsfv+s+37W//2Q==" transform="matrix(1 0 0 1 131 108)">
- </image>
- </g>
- </mask>
- <g opacity="0.6" mask="url(#SVGID_3_)">
- <path fill-rule="evenodd" clip-rule="evenodd" fill="#7F3E03" d="M215.33,113.67c-4.33,17.66-7.66,43.26-8.66,81.66
- c-3,9.939-17,14-25,2.67c-10.51-37.2-34.41-56.19-48.67-72c6.98-13.07,25.18-8.88,30.67-7.33c10.66,3,22.43,0.14,32.33-5.67
- C205.67,107.33,215.33,113.67,215.33,113.67z"/>
- </g>
-</g>
-<path opacity="0.25" fill-rule="evenodd" clip-rule="evenodd" fill="#FFFFFF" d="M210.936,113.796
- c-11.983,64.227-22.738,60.791-73.726,11.721c0.148-11.045,22.734-5.193,27.431-4c9.14,2.331,19.844,0.864,27.954-4.462
- C202.85,110.315,210.936,113.796,210.936,113.796z"/>
-<path fill-rule="evenodd" clip-rule="evenodd" fill="#FFFFCC" d="M281.5,290.5c-7.17-37.17-37.17-42.83-37.17-42.83
- c3,10,6.34,19.33,9.17,27.83C261,282,273.5,289.5,281.5,290.5z"/>
-<path fill-rule="evenodd" clip-rule="evenodd" fill="#FFFFCC" d="M168.67,263.33c-3.67-2-6.67-3.33-9-6.33
- c-5,9-11.17,30.5-11.17,41.5c0,3,1,10,2,15C177.67,289,168.67,263.33,168.67,263.33z"/>
-<path fill-rule="evenodd" clip-rule="evenodd" fill="#FFFFCC" d="M281.5,290.5c-7.17-37.17-37.17-42.83-37.17-42.83
- c3,10,6.34,19.33,9.17,27.83C261,282,273.5,289.5,281.5,290.5z"/>
-<path fill-rule="evenodd" clip-rule="evenodd" d="M166.77,188.01c5.25,0.61,8.37,11.49,9.67,19.44c1.33,8.17,1.33,16.76-4.05,17.47
- c-8.06,1.08-11.67-21.93-11.67-21.93C158.28,187.29,166.77,188.01,166.77,188.01z"/>
-<path fill-rule="evenodd" clip-rule="evenodd" d="M229.86,192.56c0.99,10.209-3.431,23.959-6.57,24.39
- c-6.29,0.85-7.51-9.05-7.72-10.7c-0.41-3.3-3.061-24.76,7.939-26.25C228.33,182,229.45,189.26,229.86,192.56z"/>
-<path opacity="0.1" fill-rule="evenodd" clip-rule="evenodd" fill="#FFFFFF" d="M216.51,195.85c0.93-8.26,11.79-5.08,11.79,2.86
- c0,7.95-2.1,14.261-4.34,16.21C217.75,220.32,215.58,204.12,216.51,195.85z"/>
-<path opacity="0.1" fill-rule="evenodd" clip-rule="evenodd" fill="#FFFFFF" d="M163.09,206.33c-1.19-8.13,9.59-8.43,11.57-0.891
- c1.97,7.551,1.6,14.181,0.02,16.721C170.3,229.18,164.28,214.45,163.09,206.33z"/>
-<rect x="701" y="306" fill-rule="evenodd" clip-rule="evenodd" fill="#FBE500" stroke="#1F1F1F" stroke-width="20" stroke-linecap="round" stroke-linejoin="round" width="14" height="34"/>
-<circle fill-rule="evenodd" clip-rule="evenodd" fill="#FFFF33" cx="182.5" cy="139.5" r="11.5"/>
-<g>
- <g>
- <path fill-rule="evenodd" clip-rule="evenodd" fill="#23A9FF" d="M149.33,127.79c0,14.21-17,14.21-17,14.21
- c-14.16,0-14.9-11.46-14.16-14.21c2.16-8.12,3.83-13.12,15.16-13.12C139,114.67,149.33,119.26,149.33,127.79z"/>
- <path fill="none" stroke="#000000" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" d="M149.33,127.79
- c0,14.21-17,14.21-17,14.21c-14.16,0-14.9-11.46-14.16-14.21c2.16-8.12,3.83-13.12,15.16-13.12
- C139,114.67,149.33,119.26,149.33,127.79z"/>
- </g>
- <defs>
- <filter id="Adobe_OpacityMaskFilter_3_" filterUnits="userSpaceOnUse" x="116.477" y="113.17" width="34.353" height="30.33">
-
- <feColorMatrix type="matrix" values="-1 0 0 0 1 0 -1 0 0 1 0 0 -1 0 1 0 0 0 1 0" color-interpolation-filters="sRGB" result="source"/>
- </filter>
- </defs>
- <mask maskUnits="userSpaceOnUse" x="116.477" y="113.17" width="34.353" height="30.33" id="SVGID_4_">
- <g filter="url(#Adobe_OpacityMaskFilter_3_)">
-
- <image overflow="visible" width="39" height="35" xlink:href="data:image/jpeg;base64,/9j/4AAQSkZJRgABAgEASABIAAD/7AARRHVja3kAAQAEAAAAHgAA/+4AIUFkb2JlAGTAAAAAAQMA
-EAMCAwYAAAGnAAAB+QAAAmr/2wCEABALCwsMCxAMDBAXDw0PFxsUEBAUGx8XFxcXFx8eFxoaGhoX
-Hh4jJSclIx4vLzMzLy9AQEBAQEBAQEBAQEBAQEABEQ8PERMRFRISFRQRFBEUGhQWFhQaJhoaHBoa
-JjAjHh4eHiMwKy4nJycuKzU1MDA1NUBAP0BAQEBAQEBAQEBAQP/CABEIACMAJwMBIgACEQEDEQH/
-xAB9AAEAAgMBAAAAAAAAAAAAAAAABgcBBAUDAQEAAAAAAAAAAAAAAAAAAAAAEAACAwEAAwEBAAAA
-AAAAAAADBAECBQYQMBEAExEBAAIBAwMDBQAAAAAAAAAAAQACETFBAxBxEiGBkcEiMhMEEgEAAAAA
-AAAAAAAAAAAAAAAw/9oADAMBAAIRAxEAAACAdvxtYgHEurklMuyNm1aPm5YOlHo4aqPjzBnAAf/a
-AAgBAgABBQD0/wD/2gAIAQMAAQUA9P8A/9oACAEBAAEFAIibTncyy3BOKvFH8NxOfk/edThlzMzx
-CDIRzGvlhIJ7PgO1yJKUZSJW4f2kwMYdRql91Nu6h8rrhQMnYLRXY67+1bHJY/ifP//aAAgBAgIG
-PwAf/9oACAEDAgY/AB//2gAIAQEBBj8AAMroQtfIOxM1yMVq2qb7zG8GxkrKvjtMeJLPiaTg4g+3
-l5aVx3sER1zK4elhdp/JjSvPxq9rkOWm2pAvfCajPzPmWpwvks/eubli3uevU+vX/9k=" transform="matrix(1 0 0 1 114 111)">
- </image>
- </g>
- </mask>
- <g mask="url(#SVGID_4_)">
- <path fill-rule="evenodd" clip-rule="evenodd" fill="#043C96" d="M149.33,127.79c0,14.21-17,14.21-17,14.21
- c-14.16,0-14.9-11.46-14.16-14.21c2.16-8.12,3.83-13.12,15.16-13.12C139,114.67,149.33,119.26,149.33,127.79z"/>
- <path fill="none" stroke="#043C96" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" d="M149.33,127.79
- c0,14.21-17,14.21-17,14.21c-14.16,0-14.9-11.46-14.16-14.21c2.16-8.12,3.83-13.12,15.16-13.12
- C139,114.67,149.33,119.26,149.33,127.79z"/>
- </g>
-</g>
-<g>
- <g>
- <path fill-rule="evenodd" clip-rule="evenodd" fill="#23A9FF" d="M230.33,111.33c3,4.84,4.68,17.12-15.33,16.17
- c-7-0.33-11.35-13.81-7.33-17.83C211.67,103,226,104.33,230.33,111.33z"/>
- <path fill="none" stroke="#000000" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" d="M230.33,111.33
- c3,4.84,4.68,17.12-15.33,16.17c-7-0.33-11.35-13.81-7.33-17.83C211.67,103,226,104.33,230.33,111.33z"/>
- </g>
- <defs>
- <filter id="Adobe_OpacityMaskFilter_4_" filterUnits="userSpaceOnUse" x="204.631" y="103.813" width="29.007" height="25.239">
-
- <feColorMatrix type="matrix" values="-1 0 0 0 1 0 -1 0 0 1 0 0 -1 0 1 0 0 0 1 0" color-interpolation-filters="sRGB" result="source"/>
- </filter>
- </defs>
- <mask maskUnits="userSpaceOnUse" x="204.631" y="103.813" width="29.007" height="25.239" id="SVGID_5_">
- <g filter="url(#Adobe_OpacityMaskFilter_4_)">
-
- <image overflow="visible" width="34" height="31" xlink:href="data:image/jpeg;base64,/9j/4AAQSkZJRgABAgEASABIAAD/7AARRHVja3kAAQAEAAAAHgAA/+4AIUFkb2JlAGTAAAAAAQMA
-EAMCAwYAAAGWAAAB3QAAAkb/2wCEABALCwsMCxAMDBAXDw0PFxsUEBAUGx8XFxcXFx8eFxoaGhoX
-Hh4jJSclIx4vLzMzLy9AQEBAQEBAQEBAQEBAQEABEQ8PERMRFRISFRQRFBEUGhQWFhQaJhoaHBoa
-JjAjHh4eHiMwKy4nJycuKzU1MDA1NUBAP0BAQEBAQEBAQEBAQP/CABEIAB8AIgMBIgACEQEDEQH/
-xAB4AAADAQEAAAAAAAAAAAAAAAAABQcGAwEBAAAAAAAAAAAAAAAAAAAAABAAAgIDAQEAAAAAAAAA
-AAAAAgMEBQABBiASEQACAQMDAwUAAAAAAAAAAAABAgAREgMQITFRsQRBcdEiYhIBAAAAAAAAAAAA
-AAAAAAAAIP/aAAwDAQACEQMRAAAAwTkqRLU1vnZkQBrUoy5KrPV6Y5gH/9oACAECAAEFAPX/2gAI
-AQMAAQUA9f/aAAgBAQABBQBSjccbl5Tgk8tMSLksSecugGya+CnSpUBJr6ysBesoJuosystUkmVa
-IBfU2i2awfr6iTrxYSLC/MH7cR5//9oACAECAgY/AF//2gAIAQMCBj8AX//aAAgBAQEGPwAJjFWM
-DEkE9BLlNfcQpkFrDQ3DgiA0h2EbIg+y76C40Dd4tWHENGEZFNSdhoLa3elOYBi8fK46hGPYSj+P
-mQdTjf4hOe6/9Cmn/9k=" transform="matrix(1 0 0 1 202 101)">
- </image>
- </g>
- </mask>
- <g mask="url(#SVGID_5_)">
- <path fill-rule="evenodd" clip-rule="evenodd" fill="#043C96" d="M230.33,111.33c3,4.84,4.68,17.12-15.33,16.17
- c-7-0.33-11.35-13.81-7.33-17.83C211.67,103,226,104.33,230.33,111.33z"/>
- <path fill="none" stroke="#043C96" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" d="M230.33,111.33
- c3,4.84,4.68,17.12-15.33,16.17c-7-0.33-11.35-13.81-7.33-17.83C211.67,103,226,104.33,230.33,111.33z"/>
- </g>
-</g>
-<path opacity="0.25" fill-rule="evenodd" clip-rule="evenodd" fill="#FFFFFF" d="M116,85c4-22.67,16.33-29.33,23.67-27.67
- c7.33,1.67,20,11,30,11c12.33,0,16.66-3,23.66-8.66c7-5.67,10.31,2.33,10,12.33C203,83,207,91.67,204,92s-10.67-18-19-11
- c-5.33,10.67-2,25.67-12.33,27c-6.7,0.86-21.67-3.67-35-19c-3.07-3.52-12-6-15,1c-3.33,7.75-3.34,4.67-5,8
- C116.61,100.11,114.86,91.45,116,85z"/>
-<g>
- <g>
- <circle fill-rule="evenodd" clip-rule="evenodd" fill="#23A9FF" cx="169" cy="29" r="26"/>
- <circle fill="none" stroke="#000000" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" cx="169" cy="29" r="26"/>
- </g>
- <defs>
- <filter id="Adobe_OpacityMaskFilter_5_" filterUnits="userSpaceOnUse" x="141.5" y="1.5" width="55" height="55">
-
- <feColorMatrix type="matrix" values="-1 0 0 0 1 0 -1 0 0 1 0 0 -1 0 1 0 0 0 1 0" color-interpolation-filters="sRGB" result="source"/>
- </filter>
- </defs>
- <mask maskUnits="userSpaceOnUse" x="141.5" y="1.5" width="55" height="55" id="SVGID_6_">
- <g filter="url(#Adobe_OpacityMaskFilter_5_)">
-
- <image overflow="visible" width="60" height="60" xlink:href="data:image/jpeg;base64,/9j/4AAQSkZJRgABAgEASABIAAD/7AARRHVja3kAAQAEAAAAHgAA/+4AIUFkb2JlAGTAAAAAAQMA
-EAMCAwYAAAHLAAACZwAAAyD/2wCEABALCwsMCxAMDBAXDw0PFxsUEBAUGx8XFxcXFx8eFxoaGhoX
-Hh4jJSclIx4vLzMzLy9AQEBAQEBAQEBAQEBAQEABEQ8PERMRFRISFRQRFBEUGhQWFhQaJhoaHBoa
-JjAjHh4eHiMwKy4nJycuKzU1MDA1NUBAP0BAQEBAQEBAQEBAQP/CABEIADwAPAMBIgACEQEDEQH/
-xACFAAACAwEBAQAAAAAAAAAAAAAABwIFBgQBAwEBAAAAAAAAAAAAAAAAAAAAABAAAQQBBAMBAAAA
-AAAAAAAAAgEDBAYFABARFCBAExIRAAEDAgQFBAMAAAAAAAAAAAEAEQJBEiAhMQMQUXGRImGhwWKx
-MhMSAQAAAAAAAAAAAAAAAAAAAED/2gAMAwEAAhEDEQAAAF/6bAorJk9gpKZ5Z8UxYV5aNtbNU+no
-BGQYVdN9TFy2Ua0TUEZB4cpQqvS5cO7hBi3ag+w0chmYEogf/9oACAECAAEFAPQ//9oACAEDAAEF
-APQ//9oACAEBAAEFANIiksKvzpWhpcpUkVGY0MmFIilsiKS1qtfXUPFMMAjDSaciMuJmq4xIby+M
-PHyNV+F2p2KhgwxuYoQ3HFibPC80sUWUwnDXhZwRY34XuVGQLUyI4jjPha5YhH/afaFJKLIrmbbf
-ZAxNNps1thu15rsObY3KyIDmKuDJiNnjKMq2RwHM2w5GnDNw9055HucH9uN//9oACAECAgY/AAf/
-2gAIAQMCBj8AB//aAAgBAQEGPwBAAOToEDbbE909x7ImJJPqFbvQI9acQAHJ0Cjvb0Xkc86IC0L9
-QmMQpeALoxY2HQ8uEXDxj+VFhTAQaqcgMxmFbXRlJ+YUemGfRW/f5RiTmSCokcsMw9Cr6XXe7qG9
-Ghz6KHlqE8S/EknNS2ISd9enEGBeD5hASmx5FPeESJjujDYLvWiM5l5HU4PHWjI2/wBGrqvO5vs/
-zg//2Q==" transform="matrix(1 0 0 1 139 -1)">
- </image>
- </g>
- </mask>
- <g mask="url(#SVGID_6_)">
- <circle fill-rule="evenodd" clip-rule="evenodd" fill="#043C96" cx="169" cy="29" r="26"/>
- <circle fill="none" stroke="#043C96" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" cx="169" cy="29" r="26"/>
- </g>
-</g>
-<path opacity="0.25" fill-rule="evenodd" clip-rule="evenodd" fill="#FFFFFF" d="M149,22.33c13.33-26.66,39.67-9,40.67,3.34
- C190.67,38,141.58,37.17,149,22.33z"/>
-</svg>

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/oldsite/images/mahout-lupe.png b/website-old/oldsite/images/mahout-lupe.png
deleted file mode 100644
index d9d3146..0000000
Binary files a/website-old/oldsite/images/mahout-lupe.png and /dev/null differ
a***@apache.org
2017-12-21 04:52:39 UTC
Permalink
http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/oldsite/images/prototype.js
----------------------------------------------------------------------
diff --git a/website-old/oldsite/images/prototype.js b/website-old/oldsite/images/prototype.js
deleted file mode 100755
index dfe8ab4..0000000
--- a/website-old/oldsite/images/prototype.js
+++ /dev/null
@@ -1,4320 +0,0 @@
-/* Prototype JavaScript framework, version 1.6.0.3
- * (c) 2005-2008 Sam Stephenson
- *
- * Prototype is freely distributable under the terms of an MIT-style license.
- * For details, see the Prototype web site: http://www.prototypejs.org/
- *
- *--------------------------------------------------------------------------*/
-
-var Prototype = {
- Version: '1.6.0.3',
-
- Browser: {
- IE: !!(window.attachEvent &&
- navigator.userAgent.indexOf('Opera') === -1),
- Opera: navigator.userAgent.indexOf('Opera') > -1,
- WebKit: navigator.userAgent.indexOf('AppleWebKit/') > -1,
- Gecko: navigator.userAgent.indexOf('Gecko') > -1 &&
- navigator.userAgent.indexOf('KHTML') === -1,
- MobileSafari: !!navigator.userAgent.match(/Apple.*Mobile.*Safari/)
- },
-
- BrowserFeatures: {
- XPath: !!document.evaluate,
- SelectorsAPI: !!document.querySelector,
- ElementExtensions: !!window.HTMLElement,
- SpecificElementExtensions:
- document.createElement('div')['__proto__'] &&
- document.createElement('div')['__proto__'] !==
- document.createElement('form')['__proto__']
- },
-
- ScriptFragment: '<script[^>]*>([\\S\\s]*?)<\/script>',
- JSONFilter: /^\/\*-secure-([\s\S]*)\*\/\s*$/,
-
- emptyFunction: function() { },
- K: function(x) { return x }
-};
-
-if (Prototype.Browser.MobileSafari)
- Prototype.BrowserFeatures.SpecificElementExtensions = false;
-
-
-/* Based on Alex Arnell's inheritance implementation. */
-var Class = {
- create: function() {
- var parent = null, properties = $A(arguments);
- if (Object.isFunction(properties[0]))
- parent = properties.shift();
-
- function klass() {
- this.initialize.apply(this, arguments);
- }
-
- Object.extend(klass, Class.Methods);
- klass.superclass = parent;
- klass.subclasses = [];
-
- if (parent) {
- var subclass = function() { };
- subclass.prototype = parent.prototype;
- klass.prototype = new subclass;
- parent.subclasses.push(klass);
- }
-
- for (var i = 0; i < properties.length; i++)
- klass.addMethods(properties[i]);
-
- if (!klass.prototype.initialize)
- klass.prototype.initialize = Prototype.emptyFunction;
-
- klass.prototype.constructor = klass;
-
- return klass;
- }
-};
-
-Class.Methods = {
- addMethods: function(source) {
- var ancestor = this.superclass && this.superclass.prototype;
- var properties = Object.keys(source);
-
- if (!Object.keys({ toString: true }).length)
- properties.push("toString", "valueOf");
-
- for (var i = 0, length = properties.length; i < length; i++) {
- var property = properties[i], value = source[property];
- if (ancestor && Object.isFunction(value) &&
- value.argumentNames().first() == "$super") {
- var method = value;
- value = (function(m) {
- return function() { return ancestor[m].apply(this, arguments) };
- })(property).wrap(method);
-
- value.valueOf = method.valueOf.bind(method);
- value.toString = method.toString.bind(method);
- }
- this.prototype[property] = value;
- }
-
- return this;
- }
-};
-
-var Abstract = { };
-
-Object.extend = function(destination, source) {
- for (var property in source)
- destination[property] = source[property];
- return destination;
-};
-
-Object.extend(Object, {
- inspect: function(object) {
- try {
- if (Object.isUndefined(object)) return 'undefined';
- if (object === null) return 'null';
- return object.inspect ? object.inspect() : String(object);
- } catch (e) {
- if (e instanceof RangeError) return '...';
- throw e;
- }
- },
-
- toJSON: function(object) {
- var type = typeof object;
- switch (type) {
- case 'undefined':
- case 'function':
- case 'unknown': return;
- case 'boolean': return object.toString();
- }
-
- if (object === null) return 'null';
- if (object.toJSON) return object.toJSON();
- if (Object.isElement(object)) return;
-
- var results = [];
- for (var property in object) {
- var value = Object.toJSON(object[property]);
- if (!Object.isUndefined(value))
- results.push(property.toJSON() + ': ' + value);
- }
-
- return '{' + results.join(', ') + '}';
- },
-
- toQueryString: function(object) {
- return $H(object).toQueryString();
- },
-
- toHTML: function(object) {
- return object && object.toHTML ? object.toHTML() : String.interpret(object);
- },
-
- keys: function(object) {
- var keys = [];
- for (var property in object)
- keys.push(property);
- return keys;
- },
-
- values: function(object) {
- var values = [];
- for (var property in object)
- values.push(object[property]);
- return values;
- },
-
- clone: function(object) {
- return Object.extend({ }, object);
- },
-
- isElement: function(object) {
- return !!(object && object.nodeType == 1);
- },
-
- isArray: function(object) {
- return object != null && typeof object == "object" &&
- 'splice' in object && 'join' in object;
- },
-
- isHash: function(object) {
- return object instanceof Hash;
- },
-
- isFunction: function(object) {
- return typeof object == "function";
- },
-
- isString: function(object) {
- return typeof object == "string";
- },
-
- isNumber: function(object) {
- return typeof object == "number";
- },
-
- isUndefined: function(object) {
- return typeof object == "undefined";
- }
-});
-
-Object.extend(Function.prototype, {
- argumentNames: function() {
- var names = this.toString().match(/^[\s\(]*function[^(]*\(([^\)]*)\)/)[1]
- .replace(/\s+/g, '').split(',');
- return names.length == 1 && !names[0] ? [] : names;
- },
-
- bind: function() {
- if (arguments.length < 2 && Object.isUndefined(arguments[0])) return this;
- var __method = this, args = $A(arguments), object = args.shift();
- return function() {
- return __method.apply(object, args.concat($A(arguments)));
- }
- },
-
- bindAsEventListener: function() {
- var __method = this, args = $A(arguments), object = args.shift();
- return function(event) {
- return __method.apply(object, [event || window.event].concat(args));
- }
- },
-
- curry: function() {
- if (!arguments.length) return this;
- var __method = this, args = $A(arguments);
- return function() {
- return __method.apply(this, args.concat($A(arguments)));
- }
- },
-
- delay: function() {
- var __method = this, args = $A(arguments), timeout = args.shift() * 1000;
- return window.setTimeout(function() {
- return __method.apply(__method, args);
- }, timeout);
- },
-
- defer: function() {
- var args = [0.01].concat($A(arguments));
- return this.delay.apply(this, args);
- },
-
- wrap: function(wrapper) {
- var __method = this;
- return function() {
- return wrapper.apply(this, [__method.bind(this)].concat($A(arguments)));
- }
- },
-
- methodize: function() {
- if (this._methodized) return this._methodized;
- var __method = this;
- return this._methodized = function() {
- return __method.apply(null, [this].concat($A(arguments)));
- };
- }
-});
-
-Date.prototype.toJSON = function() {
- return '"' + this.getUTCFullYear() + '-' +
- (this.getUTCMonth() + 1).toPaddedString(2) + '-' +
- this.getUTCDate().toPaddedString(2) + 'T' +
- this.getUTCHours().toPaddedString(2) + ':' +
- this.getUTCMinutes().toPaddedString(2) + ':' +
- this.getUTCSeconds().toPaddedString(2) + 'Z"';
-};
-
-var Try = {
- these: function() {
- var returnValue;
-
- for (var i = 0, length = arguments.length; i < length; i++) {
- var lambda = arguments[i];
- try {
- returnValue = lambda();
- break;
- } catch (e) { }
- }
-
- return returnValue;
- }
-};
-
-RegExp.prototype.match = RegExp.prototype.test;
-
-RegExp.escape = function(str) {
- return String(str).replace(/([.*+?^=!:${}()|[\]\/\\])/g, '\\$1');
-};
-
-/*--------------------------------------------------------------------------*/
-
-var PeriodicalExecuter = Class.create({
- initialize: function(callback, frequency) {
- this.callback = callback;
- this.frequency = frequency;
- this.currentlyExecuting = false;
-
- this.registerCallback();
- },
-
- registerCallback: function() {
- this.timer = setInterval(this.onTimerEvent.bind(this), this.frequency * 1000);
- },
-
- execute: function() {
- this.callback(this);
- },
-
- stop: function() {
- if (!this.timer) return;
- clearInterval(this.timer);
- this.timer = null;
- },
-
- onTimerEvent: function() {
- if (!this.currentlyExecuting) {
- try {
- this.currentlyExecuting = true;
- this.execute();
- } finally {
- this.currentlyExecuting = false;
- }
- }
- }
-});
-Object.extend(String, {
- interpret: function(value) {
- return value == null ? '' : String(value);
- },
- specialChar: {
- '\b': '\\b',
- '\t': '\\t',
- '\n': '\\n',
- '\f': '\\f',
- '\r': '\\r',
- '\\': '\\\\'
- }
-});
-
-Object.extend(String.prototype, {
- gsub: function(pattern, replacement) {
- var result = '', source = this, match;
- replacement = arguments.callee.prepareReplacement(replacement);
-
- while (source.length > 0) {
- if (match = source.match(pattern)) {
- result += source.slice(0, match.index);
- result += String.interpret(replacement(match));
- source = source.slice(match.index + match[0].length);
- } else {
- result += source, source = '';
- }
- }
- return result;
- },
-
- sub: function(pattern, replacement, count) {
- replacement = this.gsub.prepareReplacement(replacement);
- count = Object.isUndefined(count) ? 1 : count;
-
- return this.gsub(pattern, function(match) {
- if (--count < 0) return match[0];
- return replacement(match);
- });
- },
-
- scan: function(pattern, iterator) {
- this.gsub(pattern, iterator);
- return String(this);
- },
-
- truncate: function(length, truncation) {
- length = length || 30;
- truncation = Object.isUndefined(truncation) ? '...' : truncation;
- return this.length > length ?
- this.slice(0, length - truncation.length) + truncation : String(this);
- },
-
- strip: function() {
- return this.replace(/^\s+/, '').replace(/\s+$/, '');
- },
-
- stripTags: function() {
- return this.replace(/<\/?[^>]+>/gi, '');
- },
-
- stripScripts: function() {
- return this.replace(new RegExp(Prototype.ScriptFragment, 'img'), '');
- },
-
- extractScripts: function() {
- var matchAll = new RegExp(Prototype.ScriptFragment, 'img');
- var matchOne = new RegExp(Prototype.ScriptFragment, 'im');
- return (this.match(matchAll) || []).map(function(scriptTag) {
- return (scriptTag.match(matchOne) || ['', ''])[1];
- });
- },
-
- evalScripts: function() {
- return this.extractScripts().map(function(script) { return eval(script) });
- },
-
- escapeHTML: function() {
- var self = arguments.callee;
- self.text.data = this;
- return self.div.innerHTML;
- },
-
- unescapeHTML: function() {
- var div = new Element('div');
- div.innerHTML = this.stripTags();
- return div.childNodes[0] ? (div.childNodes.length > 1 ?
- $A(div.childNodes).inject('', function(memo, node) { return memo+node.nodeValue }) :
- div.childNodes[0].nodeValue) : '';
- },
-
- toQueryParams: function(separator) {
- var match = this.strip().match(/([^?#]*)(#.*)?$/);
- if (!match) return { };
-
- return match[1].split(separator || '&').inject({ }, function(hash, pair) {
- if ((pair = pair.split('='))[0]) {
- var key = decodeURIComponent(pair.shift());
- var value = pair.length > 1 ? pair.join('=') : pair[0];
- if (value != undefined) value = decodeURIComponent(value);
-
- if (key in hash) {
- if (!Object.isArray(hash[key])) hash[key] = [hash[key]];
- hash[key].push(value);
- }
- else hash[key] = value;
- }
- return hash;
- });
- },
-
- toArray: function() {
- return this.split('');
- },
-
- succ: function() {
- return this.slice(0, this.length - 1) +
- String.fromCharCode(this.charCodeAt(this.length - 1) + 1);
- },
-
- times: function(count) {
- return count < 1 ? '' : new Array(count + 1).join(this);
- },
-
- camelize: function() {
- var parts = this.split('-'), len = parts.length;
- if (len == 1) return parts[0];
-
- var camelized = this.charAt(0) == '-'
- ? parts[0].charAt(0).toUpperCase() + parts[0].substring(1)
- : parts[0];
-
- for (var i = 1; i < len; i++)
- camelized += parts[i].charAt(0).toUpperCase() + parts[i].substring(1);
-
- return camelized;
- },
-
- capitalize: function() {
- return this.charAt(0).toUpperCase() + this.substring(1).toLowerCase();
- },
-
- underscore: function() {
- return this.gsub(/::/, '/').gsub(/([A-Z]+)([A-Z][a-z])/,'#{1}_#{2}').gsub(/([a-z\d])([A-Z])/,'#{1}_#{2}').gsub(/-/,'_').toLowerCase();
- },
-
- dasherize: function() {
- return this.gsub(/_/,'-');
- },
-
- inspect: function(useDoubleQuotes) {
- var escapedString = this.gsub(/[\x00-\x1f\\]/, function(match) {
- var character = String.specialChar[match[0]];
- return character ? character : '\\u00' + match[0].charCodeAt().toPaddedString(2, 16);
- });
- if (useDoubleQuotes) return '"' + escapedString.replace(/"/g, '\\"') + '"';
- return "'" + escapedString.replace(/'/g, '\\\'') + "'";
- },
-
- toJSON: function() {
- return this.inspect(true);
- },
-
- unfilterJSON: function(filter) {
- return this.sub(filter || Prototype.JSONFilter, '#{1}');
- },
-
- isJSON: function() {
- var str = this;
- if (str.blank()) return false;
- str = this.replace(/\\./g, '@').replace(/"[^"\\\n\r]*"/g, '');
- return (/^[,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t]*$/).test(str);
- },
-
- evalJSON: function(sanitize) {
- var json = this.unfilterJSON();
- try {
- if (!sanitize || json.isJSON()) return eval('(' + json + ')');
- } catch (e) { }
- throw new SyntaxError('Badly formed JSON string: ' + this.inspect());
- },
-
- include: function(pattern) {
- return this.indexOf(pattern) > -1;
- },
-
- startsWith: function(pattern) {
- return this.indexOf(pattern) === 0;
- },
-
- endsWith: function(pattern) {
- var d = this.length - pattern.length;
- return d >= 0 && this.lastIndexOf(pattern) === d;
- },
-
- empty: function() {
- return this == '';
- },
-
- blank: function() {
- return /^\s*$/.test(this);
- },
-
- interpolate: function(object, pattern) {
- return new Template(this, pattern).evaluate(object);
- }
-});
-
-if (Prototype.Browser.WebKit || Prototype.Browser.IE) Object.extend(String.prototype, {
- escapeHTML: function() {
- return this.replace(/&/g,'&amp;').replace(/</g,'&lt;').replace(/>/g,'&gt;');
- },
- unescapeHTML: function() {
- return this.stripTags().replace(/&amp;/g,'&').replace(/&lt;/g,'<').replace(/&gt;/g,'>');
- }
-});
-
-String.prototype.gsub.prepareReplacement = function(replacement) {
- if (Object.isFunction(replacement)) return replacement;
- var template = new Template(replacement);
- return function(match) { return template.evaluate(match) };
-};
-
-String.prototype.parseQuery = String.prototype.toQueryParams;
-
-Object.extend(String.prototype.escapeHTML, {
- div: document.createElement('div'),
- text: document.createTextNode('')
-});
-
-String.prototype.escapeHTML.div.appendChild(String.prototype.escapeHTML.text);
-
-var Template = Class.create({
- initialize: function(template, pattern) {
- this.template = template.toString();
- this.pattern = pattern || Template.Pattern;
- },
-
- evaluate: function(object) {
- if (Object.isFunction(object.toTemplateReplacements))
- object = object.toTemplateReplacements();
-
- return this.template.gsub(this.pattern, function(match) {
- if (object == null) return '';
-
- var before = match[1] || '';
- if (before == '\\') return match[2];
-
- var ctx = object, expr = match[3];
- var pattern = /^([^.[]+|\[((?:.*?[^\\])?)\])(\.|\[|$)/;
- match = pattern.exec(expr);
- if (match == null) return before;
-
- while (match != null) {
- var comp = match[1].startsWith('[') ? match[2].gsub('\\\\]', ']') : match[1];
- ctx = ctx[comp];
- if (null == ctx || '' == match[3]) break;
- expr = expr.substring('[' == match[3] ? match[1].length : match[0].length);
- match = pattern.exec(expr);
- }
-
- return before + String.interpret(ctx);
- });
- }
-});
-Template.Pattern = /(^|.|\r|\n)(#\{(.*?)\})/;
-
-var $break = { };
-
-var Enumerable = {
- each: function(iterator, context) {
- var index = 0;
- try {
- this._each(function(value) {
- iterator.call(context, value, index++);
- });
- } catch (e) {
- if (e != $break) throw e;
- }
- return this;
- },
-
- eachSlice: function(number, iterator, context) {
- var index = -number, slices = [], array = this.toArray();
- if (number < 1) return array;
- while ((index += number) < array.length)
- slices.push(array.slice(index, index+number));
- return slices.collect(iterator, context);
- },
-
- all: function(iterator, context) {
- iterator = iterator || Prototype.K;
- var result = true;
- this.each(function(value, index) {
- result = result && !!iterator.call(context, value, index);
- if (!result) throw $break;
- });
- return result;
- },
-
- any: function(iterator, context) {
- iterator = iterator || Prototype.K;
- var result = false;
- this.each(function(value, index) {
- if (result = !!iterator.call(context, value, index))
- throw $break;
- });
- return result;
- },
-
- collect: function(iterator, context) {
- iterator = iterator || Prototype.K;
- var results = [];
- this.each(function(value, index) {
- results.push(iterator.call(context, value, index));
- });
- return results;
- },
-
- detect: function(iterator, context) {
- var result;
- this.each(function(value, index) {
- if (iterator.call(context, value, index)) {
- result = value;
- throw $break;
- }
- });
- return result;
- },
-
- findAll: function(iterator, context) {
- var results = [];
- this.each(function(value, index) {
- if (iterator.call(context, value, index))
- results.push(value);
- });
- return results;
- },
-
- grep: function(filter, iterator, context) {
- iterator = iterator || Prototype.K;
- var results = [];
-
- if (Object.isString(filter))
- filter = new RegExp(filter);
-
- this.each(function(value, index) {
- if (filter.match(value))
- results.push(iterator.call(context, value, index));
- });
- return results;
- },
-
- include: function(object) {
- if (Object.isFunction(this.indexOf))
- if (this.indexOf(object) != -1) return true;
-
- var found = false;
- this.each(function(value) {
- if (value == object) {
- found = true;
- throw $break;
- }
- });
- return found;
- },
-
- inGroupsOf: function(number, fillWith) {
- fillWith = Object.isUndefined(fillWith) ? null : fillWith;
- return this.eachSlice(number, function(slice) {
- while(slice.length < number) slice.push(fillWith);
- return slice;
- });
- },
-
- inject: function(memo, iterator, context) {
- this.each(function(value, index) {
- memo = iterator.call(context, memo, value, index);
- });
- return memo;
- },
-
- invoke: function(method) {
- var args = $A(arguments).slice(1);
- return this.map(function(value) {
- return value[method].apply(value, args);
- });
- },
-
- max: function(iterator, context) {
- iterator = iterator || Prototype.K;
- var result;
- this.each(function(value, index) {
- value = iterator.call(context, value, index);
- if (result == null || value >= result)
- result = value;
- });
- return result;
- },
-
- min: function(iterator, context) {
- iterator = iterator || Prototype.K;
- var result;
- this.each(function(value, index) {
- value = iterator.call(context, value, index);
- if (result == null || value < result)
- result = value;
- });
- return result;
- },
-
- partition: function(iterator, context) {
- iterator = iterator || Prototype.K;
- var trues = [], falses = [];
- this.each(function(value, index) {
- (iterator.call(context, value, index) ?
- trues : falses).push(value);
- });
- return [trues, falses];
- },
-
- pluck: function(property) {
- var results = [];
- this.each(function(value) {
- results.push(value[property]);
- });
- return results;
- },
-
- reject: function(iterator, context) {
- var results = [];
- this.each(function(value, index) {
- if (!iterator.call(context, value, index))
- results.push(value);
- });
- return results;
- },
-
- sortBy: function(iterator, context) {
- return this.map(function(value, index) {
- return {
- value: value,
- criteria: iterator.call(context, value, index)
- };
- }).sort(function(left, right) {
- var a = left.criteria, b = right.criteria;
- return a < b ? -1 : a > b ? 1 : 0;
- }).pluck('value');
- },
-
- toArray: function() {
- return this.map();
- },
-
- zip: function() {
- var iterator = Prototype.K, args = $A(arguments);
- if (Object.isFunction(args.last()))
- iterator = args.pop();
-
- var collections = [this].concat(args).map($A);
- return this.map(function(value, index) {
- return iterator(collections.pluck(index));
- });
- },
-
- size: function() {
- return this.toArray().length;
- },
-
- inspect: function() {
- return '#<Enumerable:' + this.toArray().inspect() + '>';
- }
-};
-
-Object.extend(Enumerable, {
- map: Enumerable.collect,
- find: Enumerable.detect,
- select: Enumerable.findAll,
- filter: Enumerable.findAll,
- member: Enumerable.include,
- entries: Enumerable.toArray,
- every: Enumerable.all,
- some: Enumerable.any
-});
-function $A(iterable) {
- if (!iterable) return [];
- if (iterable.toArray) return iterable.toArray();
- var length = iterable.length || 0, results = new Array(length);
- while (length--) results[length] = iterable[length];
- return results;
-}
-
-if (Prototype.Browser.WebKit) {
- $A = function(iterable) {
- if (!iterable) return [];
- // In Safari, only use the `toArray` method if it's not a NodeList.
- // A NodeList is a function, has an function `item` property, and a numeric
- // `length` property. Adapted from Google Doctype.
- if (!(typeof iterable === 'function' && typeof iterable.length ===
- 'number' && typeof iterable.item === 'function') && iterable.toArray)
- return iterable.toArray();
- var length = iterable.length || 0, results = new Array(length);
- while (length--) results[length] = iterable[length];
- return results;
- };
-}
-
-Array.from = $A;
-
-Object.extend(Array.prototype, Enumerable);
-
-if (!Array.prototype._reverse) Array.prototype._reverse = Array.prototype.reverse;
-
-Object.extend(Array.prototype, {
- _each: function(iterator) {
- for (var i = 0, length = this.length; i < length; i++)
- iterator(this[i]);
- },
-
- clear: function() {
- this.length = 0;
- return this;
- },
-
- first: function() {
- return this[0];
- },
-
- last: function() {
- return this[this.length - 1];
- },
-
- compact: function() {
- return this.select(function(value) {
- return value != null;
- });
- },
-
- flatten: function() {
- return this.inject([], function(array, value) {
- return array.concat(Object.isArray(value) ?
- value.flatten() : [value]);
- });
- },
-
- without: function() {
- var values = $A(arguments);
- return this.select(function(value) {
- return !values.include(value);
- });
- },
-
- reverse: function(inline) {
- return (inline !== false ? this : this.toArray())._reverse();
- },
-
- reduce: function() {
- return this.length > 1 ? this : this[0];
- },
-
- uniq: function(sorted) {
- return this.inject([], function(array, value, index) {
- if (0 == index || (sorted ? array.last() != value : !array.include(value)))
- array.push(value);
- return array;
- });
- },
-
- intersect: function(array) {
- return this.uniq().findAll(function(item) {
- return array.detect(function(value) { return item === value });
- });
- },
-
- clone: function() {
- return [].concat(this);
- },
-
- size: function() {
- return this.length;
- },
-
- inspect: function() {
- return '[' + this.map(Object.inspect).join(', ') + ']';
- },
-
- toJSON: function() {
- var results = [];
- this.each(function(object) {
- var value = Object.toJSON(object);
- if (!Object.isUndefined(value)) results.push(value);
- });
- return '[' + results.join(', ') + ']';
- }
-});
-
-// use native browser JS 1.6 implementation if available
-if (Object.isFunction(Array.prototype.forEach))
- Array.prototype._each = Array.prototype.forEach;
-
-if (!Array.prototype.indexOf) Array.prototype.indexOf = function(item, i) {
- i || (i = 0);
- var length = this.length;
- if (i < 0) i = length + i;
- for (; i < length; i++)
- if (this[i] === item) return i;
- return -1;
-};
-
-if (!Array.prototype.lastIndexOf) Array.prototype.lastIndexOf = function(item, i) {
- i = isNaN(i) ? this.length : (i < 0 ? this.length + i : i) + 1;
- var n = this.slice(0, i).reverse().indexOf(item);
- return (n < 0) ? n : i - n - 1;
-};
-
-Array.prototype.toArray = Array.prototype.clone;
-
-function $w(string) {
- if (!Object.isString(string)) return [];
- string = string.strip();
- return string ? string.split(/\s+/) : [];
-}
-
-if (Prototype.Browser.Opera){
- Array.prototype.concat = function() {
- var array = [];
- for (var i = 0, length = this.length; i < length; i++) array.push(this[i]);
- for (var i = 0, length = arguments.length; i < length; i++) {
- if (Object.isArray(arguments[i])) {
- for (var j = 0, arrayLength = arguments[i].length; j < arrayLength; j++)
- array.push(arguments[i][j]);
- } else {
- array.push(arguments[i]);
- }
- }
- return array;
- };
-}
-Object.extend(Number.prototype, {
- toColorPart: function() {
- return this.toPaddedString(2, 16);
- },
-
- succ: function() {
- return this + 1;
- },
-
- times: function(iterator, context) {
- $R(0, this, true).each(iterator, context);
- return this;
- },
-
- toPaddedString: function(length, radix) {
- var string = this.toString(radix || 10);
- return '0'.times(length - string.length) + string;
- },
-
- toJSON: function() {
- return isFinite(this) ? this.toString() : 'null';
- }
-});
-
-$w('abs round ceil floor').each(function(method){
- Number.prototype[method] = Math[method].methodize();
-});
-function $H(object) {
- return new Hash(object);
-};
-
-var Hash = Class.create(Enumerable, (function() {
-
- function toQueryPair(key, value) {
- if (Object.isUndefined(value)) return key;
- return key + '=' + encodeURIComponent(String.interpret(value));
- }
-
- return {
- initialize: function(object) {
- this._object = Object.isHash(object) ? object.toObject() : Object.clone(object);
- },
-
- _each: function(iterator) {
- for (var key in this._object) {
- var value = this._object[key], pair = [key, value];
- pair.key = key;
- pair.value = value;
- iterator(pair);
- }
- },
-
- set: function(key, value) {
- return this._object[key] = value;
- },
-
- get: function(key) {
- // simulating poorly supported hasOwnProperty
- if (this._object[key] !== Object.prototype[key])
- return this._object[key];
- },
-
- unset: function(key) {
- var value = this._object[key];
- delete this._object[key];
- return value;
- },
-
- toObject: function() {
- return Object.clone(this._object);
- },
-
- keys: function() {
- return this.pluck('key');
- },
-
- values: function() {
- return this.pluck('value');
- },
-
- index: function(value) {
- var match = this.detect(function(pair) {
- return pair.value === value;
- });
- return match && match.key;
- },
-
- merge: function(object) {
- return this.clone().update(object);
- },
-
- update: function(object) {
- return new Hash(object).inject(this, function(result, pair) {
- result.set(pair.key, pair.value);
- return result;
- });
- },
-
- toQueryString: function() {
- return this.inject([], function(results, pair) {
- var key = encodeURIComponent(pair.key), values = pair.value;
-
- if (values && typeof values == 'object') {
- if (Object.isArray(values))
- return results.concat(values.map(toQueryPair.curry(key)));
- } else results.push(toQueryPair(key, values));
- return results;
- }).join('&');
- },
-
- inspect: function() {
- return '#<Hash:{' + this.map(function(pair) {
- return pair.map(Object.inspect).join(': ');
- }).join(', ') + '}>';
- },
-
- toJSON: function() {
- return Object.toJSON(this.toObject());
- },
-
- clone: function() {
- return new Hash(this);
- }
- }
-})());
-
-Hash.prototype.toTemplateReplacements = Hash.prototype.toObject;
-Hash.from = $H;
-var ObjectRange = Class.create(Enumerable, {
- initialize: function(start, end, exclusive) {
- this.start = start;
- this.end = end;
- this.exclusive = exclusive;
- },
-
- _each: function(iterator) {
- var value = this.start;
- while (this.include(value)) {
- iterator(value);
- value = value.succ();
- }
- },
-
- include: function(value) {
- if (value < this.start)
- return false;
- if (this.exclusive)
- return value < this.end;
- return value <= this.end;
- }
-});
-
-var $R = function(start, end, exclusive) {
- return new ObjectRange(start, end, exclusive);
-};
-
-var Ajax = {
- getTransport: function() {
- return Try.these(
- function() {return new XMLHttpRequest()},
- function() {return new ActiveXObject('Msxml2.XMLHTTP')},
- function() {return new ActiveXObject('Microsoft.XMLHTTP')}
- ) || false;
- },
-
- activeRequestCount: 0
-};
-
-Ajax.Responders = {
- responders: [],
-
- _each: function(iterator) {
- this.responders._each(iterator);
- },
-
- register: function(responder) {
- if (!this.include(responder))
- this.responders.push(responder);
- },
-
- unregister: function(responder) {
- this.responders = this.responders.without(responder);
- },
-
- dispatch: function(callback, request, transport, json) {
- this.each(function(responder) {
- if (Object.isFunction(responder[callback])) {
- try {
- responder[callback].apply(responder, [request, transport, json]);
- } catch (e) { }
- }
- });
- }
-};
-
-Object.extend(Ajax.Responders, Enumerable);
-
-Ajax.Responders.register({
- onCreate: function() { Ajax.activeRequestCount++ },
- onComplete: function() { Ajax.activeRequestCount-- }
-});
-
-Ajax.Base = Class.create({
- initialize: function(options) {
- this.options = {
- method: 'post',
- asynchronous: true,
- contentType: 'application/x-www-form-urlencoded',
- encoding: 'UTF-8',
- parameters: '',
- evalJSON: true,
- evalJS: true
- };
- Object.extend(this.options, options || { });
-
- this.options.method = this.options.method.toLowerCase();
-
- if (Object.isString(this.options.parameters))
- this.options.parameters = this.options.parameters.toQueryParams();
- else if (Object.isHash(this.options.parameters))
- this.options.parameters = this.options.parameters.toObject();
- }
-});
-
-Ajax.Request = Class.create(Ajax.Base, {
- _complete: false,
-
- initialize: function($super, url, options) {
- $super(options);
- this.transport = Ajax.getTransport();
- this.request(url);
- },
-
- request: function(url) {
- this.url = url;
- this.method = this.options.method;
- var params = Object.clone(this.options.parameters);
-
- if (!['get', 'post'].include(this.method)) {
- // simulate other verbs over post
- params['_method'] = this.method;
- this.method = 'post';
- }
-
- this.parameters = params;
-
- if (params = Object.toQueryString(params)) {
- // when GET, append parameters to URL
- if (this.method == 'get')
- this.url += (this.url.include('?') ? '&' : '?') + params;
- else if (/Konqueror|Safari|KHTML/.test(navigator.userAgent))
- params += '&_=';
- }
-
- try {
- var response = new Ajax.Response(this);
- if (this.options.onCreate) this.options.onCreate(response);
- Ajax.Responders.dispatch('onCreate', this, response);
-
- this.transport.open(this.method.toUpperCase(), this.url,
- this.options.asynchronous);
-
- if (this.options.asynchronous) this.respondToReadyState.bind(this).defer(1);
-
- this.transport.onreadystatechange = this.onStateChange.bind(this);
- this.setRequestHeaders();
-
- this.body = this.method == 'post' ? (this.options.postBody || params) : null;
- this.transport.send(this.body);
-
- /* Force Firefox to handle ready state 4 for synchronous requests */
- if (!this.options.asynchronous && this.transport.overrideMimeType)
- this.onStateChange();
-
- }
- catch (e) {
- this.dispatchException(e);
- }
- },
-
- onStateChange: function() {
- var readyState = this.transport.readyState;
- if (readyState > 1 && !((readyState == 4) && this._complete))
- this.respondToReadyState(this.transport.readyState);
- },
-
- setRequestHeaders: function() {
- var headers = {
- 'X-Requested-With': 'XMLHttpRequest',
- 'X-Prototype-Version': Prototype.Version,
- 'Accept': 'text/javascript, text/html, application/xml, text/xml, */*'
- };
-
- if (this.method == 'post') {
- headers['Content-type'] = this.options.contentType +
- (this.options.encoding ? '; charset=' + this.options.encoding : '');
-
- /* Force "Connection: close" for older Mozilla browsers to work
- * around a bug where XMLHttpRequest sends an incorrect
- * Content-length header. See Mozilla Bugzilla #246651.
- */
- if (this.transport.overrideMimeType &&
- (navigator.userAgent.match(/Gecko\/(\d{4})/) || [0,2005])[1] < 2005)
- headers['Connection'] = 'close';
- }
-
- // user-defined headers
- if (typeof this.options.requestHeaders == 'object') {
- var extras = this.options.requestHeaders;
-
- if (Object.isFunction(extras.push))
- for (var i = 0, length = extras.length; i < length; i += 2)
- headers[extras[i]] = extras[i+1];
- else
- $H(extras).each(function(pair) { headers[pair.key] = pair.value });
- }
-
- for (var name in headers)
- this.transport.setRequestHeader(name, headers[name]);
- },
-
- success: function() {
- var status = this.getStatus();
- return !status || (status >= 200 && status < 300);
- },
-
- getStatus: function() {
- try {
- return this.transport.status || 0;
- } catch (e) { return 0 }
- },
-
- respondToReadyState: function(readyState) {
- var state = Ajax.Request.Events[readyState], response = new Ajax.Response(this);
-
- if (state == 'Complete') {
- try {
- this._complete = true;
- (this.options['on' + response.status]
- || this.options['on' + (this.success() ? 'Success' : 'Failure')]
- || Prototype.emptyFunction)(response, response.headerJSON);
- } catch (e) {
- this.dispatchException(e);
- }
-
- var contentType = response.getHeader('Content-type');
- if (this.options.evalJS == 'force'
- || (this.options.evalJS && this.isSameOrigin() && contentType
- && contentType.match(/^\s*(text|application)\/(x-)?(java|ecma)script(;.*)?\s*$/i)))
- this.evalResponse();
- }
-
- try {
- (this.options['on' + state] || Prototype.emptyFunction)(response, response.headerJSON);
- Ajax.Responders.dispatch('on' + state, this, response, response.headerJSON);
- } catch (e) {
- this.dispatchException(e);
- }
-
- if (state == 'Complete') {
- // avoid memory leak in MSIE: clean up
- this.transport.onreadystatechange = Prototype.emptyFunction;
- }
- },
-
- isSameOrigin: function() {
- var m = this.url.match(/^\s*https?:\/\/[^\/]*/);
- return !m || (m[0] == '#{protocol}//#{domain}#{port}'.interpolate({
- protocol: location.protocol,
- domain: document.domain,
- port: location.port ? ':' + location.port : ''
- }));
- },
-
- getHeader: function(name) {
- try {
- return this.transport.getResponseHeader(name) || null;
- } catch (e) { return null }
- },
-
- evalResponse: function() {
- try {
- return eval((this.transport.responseText || '').unfilterJSON());
- } catch (e) {
- this.dispatchException(e);
- }
- },
-
- dispatchException: function(exception) {
- (this.options.onException || Prototype.emptyFunction)(this, exception);
- Ajax.Responders.dispatch('onException', this, exception);
- }
-});
-
-Ajax.Request.Events =
- ['Uninitialized', 'Loading', 'Loaded', 'Interactive', 'Complete'];
-
-Ajax.Response = Class.create({
- initialize: function(request){
- this.request = request;
- var transport = this.transport = request.transport,
- readyState = this.readyState = transport.readyState;
-
- if((readyState > 2 && !Prototype.Browser.IE) || readyState == 4) {
- this.status = this.getStatus();
- this.statusText = this.getStatusText();
- this.responseText = String.interpret(transport.responseText);
- this.headerJSON = this._getHeaderJSON();
- }
-
- if(readyState == 4) {
- var xml = transport.responseXML;
- this.responseXML = Object.isUndefined(xml) ? null : xml;
- this.responseJSON = this._getResponseJSON();
- }
- },
-
- status: 0,
- statusText: '',
-
- getStatus: Ajax.Request.prototype.getStatus,
-
- getStatusText: function() {
- try {
- return this.transport.statusText || '';
- } catch (e) { return '' }
- },
-
- getHeader: Ajax.Request.prototype.getHeader,
-
- getAllHeaders: function() {
- try {
- return this.getAllResponseHeaders();
- } catch (e) { return null }
- },
-
- getResponseHeader: function(name) {
- return this.transport.getResponseHeader(name);
- },
-
- getAllResponseHeaders: function() {
- return this.transport.getAllResponseHeaders();
- },
-
- _getHeaderJSON: function() {
- var json = this.getHeader('X-JSON');
- if (!json) return null;
- json = decodeURIComponent(escape(json));
- try {
- return json.evalJSON(this.request.options.sanitizeJSON ||
- !this.request.isSameOrigin());
- } catch (e) {
- this.request.dispatchException(e);
- }
- },
-
- _getResponseJSON: function() {
- var options = this.request.options;
- if (!options.evalJSON || (options.evalJSON != 'force' &&
- !(this.getHeader('Content-type') || '').include('application/json')) ||
- this.responseText.blank())
- return null;
- try {
- return this.responseText.evalJSON(options.sanitizeJSON ||
- !this.request.isSameOrigin());
- } catch (e) {
- this.request.dispatchException(e);
- }
- }
-});
-
-Ajax.Updater = Class.create(Ajax.Request, {
- initialize: function($super, container, url, options) {
- this.container = {
- success: (container.success || container),
- failure: (container.failure || (container.success ? null : container))
- };
-
- options = Object.clone(options);
- var onComplete = options.onComplete;
- options.onComplete = (function(response, json) {
- this.updateContent(response.responseText);
- if (Object.isFunction(onComplete)) onComplete(response, json);
- }).bind(this);
-
- $super(url, options);
- },
-
- updateContent: function(responseText) {
- var receiver = this.container[this.success() ? 'success' : 'failure'],
- options = this.options;
-
- if (!options.evalScripts) responseText = responseText.stripScripts();
-
- if (receiver = $(receiver)) {
- if (options.insertion) {
- if (Object.isString(options.insertion)) {
- var insertion = { }; insertion[options.insertion] = responseText;
- receiver.insert(insertion);
- }
- else options.insertion(receiver, responseText);
- }
- else receiver.update(responseText);
- }
- }
-});
-
-Ajax.PeriodicalUpdater = Class.create(Ajax.Base, {
- initialize: function($super, container, url, options) {
- $super(options);
- this.onComplete = this.options.onComplete;
-
- this.frequency = (this.options.frequency || 2);
- this.decay = (this.options.decay || 1);
-
- this.updater = { };
- this.container = container;
- this.url = url;
-
- this.start();
- },
-
- start: function() {
- this.options.onComplete = this.updateComplete.bind(this);
- this.onTimerEvent();
- },
-
- stop: function() {
- this.updater.options.onComplete = undefined;
- clearTimeout(this.timer);
- (this.onComplete || Prototype.emptyFunction).apply(this, arguments);
- },
-
- updateComplete: function(response) {
- if (this.options.decay) {
- this.decay = (response.responseText == this.lastText ?
- this.decay * this.options.decay : 1);
-
- this.lastText = response.responseText;
- }
- this.timer = this.onTimerEvent.bind(this).delay(this.decay * this.frequency);
- },
-
- onTimerEvent: function() {
- this.updater = new Ajax.Updater(this.container, this.url, this.options);
- }
-});
-function $(element) {
- if (arguments.length > 1) {
- for (var i = 0, elements = [], length = arguments.length; i < length; i++)
- elements.push($(arguments[i]));
- return elements;
- }
- if (Object.isString(element))
- element = document.getElementById(element);
- return Element.extend(element);
-}
-
-if (Prototype.BrowserFeatures.XPath) {
- document._getElementsByXPath = function(expression, parentElement) {
- var results = [];
- var query = document.evaluate(expression, $(parentElement) || document,
- null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);
- for (var i = 0, length = query.snapshotLength; i < length; i++)
- results.push(Element.extend(query.snapshotItem(i)));
- return results;
- };
-}
-
-/*--------------------------------------------------------------------------*/
-
-if (!window.Node) var Node = { };
-
-if (!Node.ELEMENT_NODE) {
- // DOM level 2 ECMAScript Language Binding
- Object.extend(Node, {
- ELEMENT_NODE: 1,
- ATTRIBUTE_NODE: 2,
- TEXT_NODE: 3,
- CDATA_SECTION_NODE: 4,
- ENTITY_REFERENCE_NODE: 5,
- ENTITY_NODE: 6,
- PROCESSING_INSTRUCTION_NODE: 7,
- COMMENT_NODE: 8,
- DOCUMENT_NODE: 9,
- DOCUMENT_TYPE_NODE: 10,
- DOCUMENT_FRAGMENT_NODE: 11,
- NOTATION_NODE: 12
- });
-}
-
-(function() {
- var element = this.Element;
- this.Element = function(tagName, attributes) {
- attributes = attributes || { };
- tagName = tagName.toLowerCase();
- var cache = Element.cache;
- if (Prototype.Browser.IE && attributes.name) {
- tagName = '<' + tagName + ' name="' + attributes.name + '">';
- delete attributes.name;
- return Element.writeAttribute(document.createElement(tagName), attributes);
- }
- if (!cache[tagName]) cache[tagName] = Element.extend(document.createElement(tagName));
- return Element.writeAttribute(cache[tagName].cloneNode(false), attributes);
- };
- Object.extend(this.Element, element || { });
- if (element) this.Element.prototype = element.prototype;
-}).call(window);
-
-Element.cache = { };
-
-Element.Methods = {
- visible: function(element) {
- return $(element).style.display != 'none';
- },
-
- toggle: function(element) {
- element = $(element);
- Element[Element.visible(element) ? 'hide' : 'show'](element);
- return element;
- },
-
- hide: function(element) {
- element = $(element);
- element.style.display = 'none';
- return element;
- },
-
- show: function(element) {
- element = $(element);
- element.style.display = '';
- return element;
- },
-
- remove: function(element) {
- element = $(element);
- element.parentNode.removeChild(element);
- return element;
- },
-
- update: function(element, content) {
- element = $(element);
- if (content && content.toElement) content = content.toElement();
- if (Object.isElement(content)) return element.update().insert(content);
- content = Object.toHTML(content);
- element.innerHTML = content.stripScripts();
- content.evalScripts.bind(content).defer();
- return element;
- },
-
- replace: function(element, content) {
- element = $(element);
- if (content && content.toElement) content = content.toElement();
- else if (!Object.isElement(content)) {
- content = Object.toHTML(content);
- var range = element.ownerDocument.createRange();
- range.selectNode(element);
- content.evalScripts.bind(content).defer();
- content = range.createContextualFragment(content.stripScripts());
- }
- element.parentNode.replaceChild(content, element);
- return element;
- },
-
- insert: function(element, insertions) {
- element = $(element);
-
- if (Object.isString(insertions) || Object.isNumber(insertions) ||
- Object.isElement(insertions) || (insertions && (insertions.toElement || insertions.toHTML)))
- insertions = {bottom:insertions};
-
- var content, insert, tagName, childNodes;
-
- for (var position in insertions) {
- content = insertions[position];
- position = position.toLowerCase();
- insert = Element._insertionTranslations[position];
-
- if (content && content.toElement) content = content.toElement();
- if (Object.isElement(content)) {
- insert(element, content);
- continue;
- }
-
- content = Object.toHTML(content);
-
- tagName = ((position == 'before' || position == 'after')
- ? element.parentNode : element).tagName.toUpperCase();
-
- childNodes = Element._getContentFromAnonymousElement(tagName, content.stripScripts());
-
- if (position == 'top' || position == 'after') childNodes.reverse();
- childNodes.each(insert.curry(element));
-
- content.evalScripts.bind(content).defer();
- }
-
- return element;
- },
-
- wrap: function(element, wrapper, attributes) {
- element = $(element);
- if (Object.isElement(wrapper))
- $(wrapper).writeAttribute(attributes || { });
- else if (Object.isString(wrapper)) wrapper = new Element(wrapper, attributes);
- else wrapper = new Element('div', wrapper);
- if (element.parentNode)
- element.parentNode.replaceChild(wrapper, element);
- wrapper.appendChild(element);
- return wrapper;
- },
-
- inspect: function(element) {
- element = $(element);
- var result = '<' + element.tagName.toLowerCase();
- $H({'id': 'id', 'className': 'class'}).each(function(pair) {
- var property = pair.first(), attribute = pair.last();
- var value = (element[property] || '').toString();
- if (value) result += ' ' + attribute + '=' + value.inspect(true);
- });
- return result + '>';
- },
-
- recursivelyCollect: function(element, property) {
- element = $(element);
- var elements = [];
- while (element = element[property])
- if (element.nodeType == 1)
- elements.push(Element.extend(element));
- return elements;
- },
-
- ancestors: function(element) {
- return $(element).recursivelyCollect('parentNode');
- },
-
- descendants: function(element) {
- return $(element).select("*");
- },
-
- firstDescendant: function(element) {
- element = $(element).firstChild;
- while (element && element.nodeType != 1) element = element.nextSibling;
- return $(element);
- },
-
- immediateDescendants: function(element) {
- if (!(element = $(element).firstChild)) return [];
- while (element && element.nodeType != 1) element = element.nextSibling;
- if (element) return [element].concat($(element).nextSiblings());
- return [];
- },
-
- previousSiblings: function(element) {
- return $(element).recursivelyCollect('previousSibling');
- },
-
- nextSiblings: function(element) {
- return $(element).recursivelyCollect('nextSibling');
- },
-
- siblings: function(element) {
- element = $(element);
- return element.previousSiblings().reverse().concat(element.nextSiblings());
- },
-
- match: function(element, selector) {
- if (Object.isString(selector))
- selector = new Selector(selector);
- return selector.match($(element));
- },
-
- up: function(element, expression, index) {
- element = $(element);
- if (arguments.length == 1) return $(element.parentNode);
- var ancestors = element.ancestors();
- return Object.isNumber(expression) ? ancestors[expression] :
- Selector.findElement(ancestors, expression, index);
- },
-
- down: function(element, expression, index) {
- element = $(element);
- if (arguments.length == 1) return element.firstDescendant();
- return Object.isNumber(expression) ? element.descendants()[expression] :
- Element.select(element, expression)[index || 0];
- },
-
- previous: function(element, expression, index) {
- element = $(element);
- if (arguments.length == 1) return $(Selector.handlers.previousElementSibling(element));
- var previousSiblings = element.previousSiblings();
- return Object.isNumber(expression) ? previousSiblings[expression] :
- Selector.findElement(previousSiblings, expression, index);
- },
-
- next: function(element, expression, index) {
- element = $(element);
- if (arguments.length == 1) return $(Selector.handlers.nextElementSibling(element));
- var nextSiblings = element.nextSiblings();
- return Object.isNumber(expression) ? nextSiblings[expression] :
- Selector.findElement(nextSiblings, expression, index);
- },
-
- select: function() {
- var args = $A(arguments), element = $(args.shift());
- return Selector.findChildElements(element, args);
- },
-
- adjacent: function() {
- var args = $A(arguments), element = $(args.shift());
- return Selector.findChildElements(element.parentNode, args).without(element);
- },
-
- identify: function(element) {
- element = $(element);
- var id = element.readAttribute('id'), self = arguments.callee;
- if (id) return id;
- do { id = 'anonymous_element_' + self.counter++ } while ($(id));
- element.writeAttribute('id', id);
- return id;
- },
-
- readAttribute: function(element, name) {
- element = $(element);
- if (Prototype.Browser.IE) {
- var t = Element._attributeTranslations.read;
- if (t.values[name]) return t.values[name](element, name);
- if (t.names[name]) name = t.names[name];
- if (name.include(':')) {
- return (!element.attributes || !element.attributes[name]) ? null :
- element.attributes[name].value;
- }
- }
- return element.getAttribute(name);
- },
-
- writeAttribute: function(element, name, value) {
- element = $(element);
- var attributes = { }, t = Element._attributeTranslations.write;
-
- if (typeof name == 'object') attributes = name;
- else attributes[name] = Object.isUndefined(value) ? true : value;
-
- for (var attr in attributes) {
- name = t.names[attr] || attr;
- value = attributes[attr];
- if (t.values[attr]) name = t.values[attr](element, value);
- if (value === false || value === null)
- element.removeAttribute(name);
- else if (value === true)
- element.setAttribute(name, name);
- else element.setAttribute(name, value);
- }
- return element;
- },
-
- getHeight: function(element) {
- return $(element).getDimensions().height;
- },
-
- getWidth: function(element) {
- return $(element).getDimensions().width;
- },
-
- classNames: function(element) {
- return new Element.ClassNames(element);
- },
-
- hasClassName: function(element, className) {
- if (!(element = $(element))) return;
- var elementClassName = element.className;
- return (elementClassName.length > 0 && (elementClassName == className ||
- new RegExp("(^|\\s)" + className + "(\\s|$)").test(elementClassName)));
- },
-
- addClassName: function(element, className) {
- if (!(element = $(element))) return;
- if (!element.hasClassName(className))
- element.className += (element.className ? ' ' : '') + className;
- return element;
- },
-
- removeClassName: function(element, className) {
- if (!(element = $(element))) return;
- element.className = element.className.replace(
- new RegExp("(^|\\s+)" + className + "(\\s+|$)"), ' ').strip();
- return element;
- },
-
- toggleClassName: function(element, className) {
- if (!(element = $(element))) return;
- return element[element.hasClassName(className) ?
- 'removeClassName' : 'addClassName'](className);
- },
-
- // removes whitespace-only text node children
- cleanWhitespace: function(element) {
- element = $(element);
- var node = element.firstChild;
- while (node) {
- var nextNode = node.nextSibling;
- if (node.nodeType == 3 && !/\S/.test(node.nodeValue))
- element.removeChild(node);
- node = nextNode;
- }
- return element;
- },
-
- empty: function(element) {
- return $(element).innerHTML.blank();
- },
-
- descendantOf: function(element, ancestor) {
- element = $(element), ancestor = $(ancestor);
-
- if (element.compareDocumentPosition)
- return (element.compareDocumentPosition(ancestor) & 8) === 8;
-
- if (ancestor.contains)
- return ancestor.contains(element) && ancestor !== element;
-
- while (element = element.parentNode)
- if (element == ancestor) return true;
-
- return false;
- },
-
- scrollTo: function(element) {
- element = $(element);
- var pos = element.cumulativeOffset();
- window.scrollTo(pos[0], pos[1]);
- return element;
- },
-
- getStyle: function(element, style) {
- element = $(element);
- style = style == 'float' ? 'cssFloat' : style.camelize();
- var value = element.style[style];
- if (!value || value == 'auto') {
- var css = document.defaultView.getComputedStyle(element, null);
- value = css ? css[style] : null;
- }
- if (style == 'opacity') return value ? parseFloat(value) : 1.0;
- return value == 'auto' ? null : value;
- },
-
- getOpacity: function(element) {
- return $(element).getStyle('opacity');
- },
-
- setStyle: function(element, styles) {
- element = $(element);
- var elementStyle = element.style, match;
- if (Object.isString(styles)) {
- element.style.cssText += ';' + styles;
- return styles.include('opacity') ?
- element.setOpacity(styles.match(/opacity:\s*(\d?\.?\d*)/)[1]) : element;
- }
- for (var property in styles)
- if (property == 'opacity') element.setOpacity(styles[property]);
- else
- elementStyle[(property == 'float' || property == 'cssFloat') ?
- (Object.isUndefined(elementStyle.styleFloat) ? 'cssFloat' : 'styleFloat') :
- property] = styles[property];
-
- return element;
- },
-
- setOpacity: function(element, value) {
- element = $(element);
- element.style.opacity = (value == 1 || value === '') ? '' :
- (value < 0.00001) ? 0 : value;
- return element;
- },
-
- getDimensions: function(element) {
- element = $(element);
- var display = element.getStyle('display');
- if (display != 'none' && display != null) // Safari bug
- return {width: element.offsetWidth, height: element.offsetHeight};
-
- // All *Width and *Height properties give 0 on elements with display none,
- // so enable the element temporarily
- var els = element.style;
- var originalVisibility = els.visibility;
- var originalPosition = els.position;
- var originalDisplay = els.display;
- els.visibility = 'hidden';
- els.position = 'absolute';
- els.display = 'block';
- var originalWidth = element.clientWidth;
- var originalHeight = element.clientHeight;
- els.display = originalDisplay;
- els.position = originalPosition;
- els.visibility = originalVisibility;
- return {width: originalWidth, height: originalHeight};
- },
-
- makePositioned: function(element) {
- element = $(element);
- var pos = Element.getStyle(element, 'position');
- if (pos == 'static' || !pos) {
- element._madePositioned = true;
- element.style.position = 'relative';
- // Opera returns the offset relative to the positioning context, when an
- // element is position relative but top and left have not been defined
- if (Prototype.Browser.Opera) {
- element.style.top = 0;
- element.style.left = 0;
- }
- }
- return element;
- },
-
- undoPositioned: function(element) {
- element = $(element);
- if (element._madePositioned) {
- element._madePositioned = undefined;
- element.style.position =
- element.style.top =
- element.style.left =
- element.style.bottom =
- element.style.right = '';
- }
- return element;
- },
-
- makeClipping: function(element) {
- element = $(element);
- if (element._overflow) return element;
- element._overflow = Element.getStyle(element, 'overflow') || 'auto';
- if (element._overflow !== 'hidden')
- element.style.overflow = 'hidden';
- return element;
- },
-
- undoClipping: function(element) {
- element = $(element);
- if (!element._overflow) return element;
- element.style.overflow = element._overflow == 'auto' ? '' : element._overflow;
- element._overflow = null;
- return element;
- },
-
- cumulativeOffset: function(element) {
- var valueT = 0, valueL = 0;
- do {
- valueT += element.offsetTop || 0;
- valueL += element.offsetLeft || 0;
- element = element.offsetParent;
- } while (element);
- return Element._returnOffset(valueL, valueT);
- },
-
- positionedOffset: function(element) {
- var valueT = 0, valueL = 0;
- do {
- valueT += element.offsetTop || 0;
- valueL += element.offsetLeft || 0;
- element = element.offsetParent;
- if (element) {
- if (element.tagName.toUpperCase() == 'BODY') break;
- var p = Element.getStyle(element, 'position');
- if (p !== 'static') break;
- }
- } while (element);
- return Element._returnOffset(valueL, valueT);
- },
-
- absolutize: function(element) {
- element = $(element);
- if (element.getStyle('position') == 'absolute') return element;
- // Position.prepare(); // To be done manually by Scripty when it needs it.
-
- var offsets = element.positionedOffset();
- var top = offsets[1];
- var left = offsets[0];
- var width = element.clientWidth;
- var height = element.clientHeight;
-
- element._originalLeft = left - parseFloat(element.style.left || 0);
- element._originalTop = top - parseFloat(element.style.top || 0);
- element._originalWidth = element.style.width;
- element._originalHeight = element.style.height;
-
- element.style.position = 'absolute';
- element.style.top = top + 'px';
- element.style.left = left + 'px';
- element.style.width = width + 'px';
- element.style.height = height + 'px';
- return element;
- },
-
- relativize: function(element) {
- element = $(element);
- if (element.getStyle('position') == 'relative') return element;
- // Position.prepare(); // To be done manually by Scripty when it needs it.
-
- element.style.position = 'relative';
- var top = parseFloat(element.style.top || 0) - (element._originalTop || 0);
- var left = parseFloat(element.style.left || 0) - (element._originalLeft || 0);
-
- element.style.top = top + 'px';
- element.style.left = left + 'px';
- element.style.height = element._originalHeight;
- element.style.width = element._originalWidth;
- return element;
- },
-
- cumulativeScrollOffset: function(element) {
- var valueT = 0, valueL = 0;
- do {
- valueT += element.scrollTop || 0;
- valueL += element.scrollLeft || 0;
- element = element.parentNode;
- } while (element);
- return Element._returnOffset(valueL, valueT);
- },
-
- getOffsetParent: function(element) {
- if (element.offsetParent) return $(element.offsetParent);
- if (element == document.body) return $(element);
-
- while ((element = element.parentNode) && element != document.body)
- if (Element.getStyle(element, 'position') != 'static')
- return $(element);
-
- return $(document.body);
- },
-
- viewportOffset: function(forElement) {
- var valueT = 0, valueL = 0;
-
- var element = forElement;
- do {
- valueT += element.offsetTop || 0;
- valueL += element.offsetLeft || 0;
-
- // Safari fix
- if (element.offsetParent == document.body &&
- Element.getStyle(element, 'position') == 'absolute') break;
-
- } while (element = element.offsetParent);
-
- element = forElement;
- do {
- if (!Prototype.Browser.Opera || (element.tagName && (element.tagName.toUpperCase() == 'BODY'))) {
- valueT -= element.scrollTop || 0;
- valueL -= element.scrollLeft || 0;
- }
- } while (element = element.parentNode);
-
- return Element._returnOffset(valueL, valueT);
- },
-
- clonePosition: function(element, source) {
- var options = Object.extend({
- setLeft: true,
- setTop: true,
- setWidth: true,
- setHeight: true,
- offsetTop: 0,
- offsetLeft: 0
- }, arguments[2] || { });
-
- // find page position of source
- source = $(source);
- var p = source.viewportOffset();
-
- // find coordinate system to use
- element = $(element);
- var delta = [0, 0];
- var parent = null;
- // delta [0,0] will do fine with position: fixed elements,
- // position:absolute needs offsetParent deltas
- if (Element.getStyle(element, 'position') == 'absolute') {
- parent = element.getOffsetParent();
- delta = parent.viewportOffset();
- }
-
- // correct by body offsets (fixes Safari)
- if (parent == document.body) {
- delta[0] -= document.body.offsetLeft;
- delta[1] -= document.body.offsetTop;
- }
-
- // set position
- if (options.setLeft) element.style.left = (p[0] - delta[0] + options.offsetLeft) + 'px';
- if (options.setTop) element.style.top = (p[1] - delta[1] + options.offsetTop) + 'px';
- if (options.setWidth) element.style.width = source.offsetWidth + 'px';
- if (options.setHeight) element.style.height = source.offsetHeight + 'px';
- return element;
- }
-};
-
-Element.Methods.identify.counter = 1;
-
-Object.extend(Element.Methods, {
- getElementsBySelector: Element.Methods.select,
- childElements: Element.Methods.immediateDescendants
-});
-
-Element._attributeTranslations = {
- write: {
- names: {
- className: 'class',
- htmlFor: 'for'
- },
- values: { }
- }
-};
-
-if (Prototype.Browser.Opera) {
- Element.Methods.getStyle = Element.Methods.getStyle.wrap(
- function(proceed, element, style) {
- switch (style) {
- case 'left': case 'top': case 'right': case 'bottom':
- if (proceed(element, 'position') === 'static') return null;
- case 'height': case 'width':
- // returns '0px' for hidden elements; we want it to return null
- if (!Element.visible(element)) return null;
-
- // returns the border-box dimensions rather than the content-box
- // dimensions, so we subtract padding and borders from the value
- var dim = parseInt(proceed(element, style), 10);
-
- if (dim !== element['offset' + style.capitalize()])
- return dim + 'px';
-
- var properties;
- if (style === 'height') {
- properties = ['border-top-width', 'padding-top',
- 'padding-bottom', 'border-bottom-width'];
- }
- else {
- properties = ['border-left-width', 'padding-left',
- 'padding-right', 'border-right-width'];
- }
- return properties.inject(dim, function(memo, property) {
- var val = proceed(element, property);
- return val === null ? memo : memo - parseInt(val, 10);
- }) + 'px';
- default: return proceed(element, style);
- }
- }
- );
-
- Element.Methods.readAttribute = Element.Methods.readAttribute.wrap(
- function(proceed, element, attribute) {
- if (attribute === 'title') return element.title;
- return proceed(element, attribute);
- }
- );
-}
-
-else if (Prototype.Browser.IE) {
- // IE doesn't report offsets correctly for static elements, so we change them
- // to "relative" to get the values, then change them back.
- Element.Methods.getOffsetParent = Element.Methods.getOffsetParent.wrap(
- function(proceed, element) {
- element = $(element);
- // IE throws an error if element is not in document
- try { element.offsetParent }
- catch(e) { return $(document.body) }
- var position = element.getStyle('position');
- if (position !== 'static') return proceed(element);
- element.setStyle({ position: 'relative' });
- var value = proceed(element);
- element.setStyle({ position: position });
- return value;
- }
- );
-
- $w('positionedOffset viewportOffset').each(function(method) {
- Element.Methods[method] = Element.Methods[method].wrap(
- function(proceed, element) {
- element = $(element);
- try { element.offsetParent }
- catch(e) { return Element._returnOffset(0,0) }
- var position = element.getStyle('position');
- if (position !== 'static') return proceed(element);
- // Trigger hasLayout on the offset parent so that IE6 reports
- // accurate offsetTop and offsetLeft values for position: fixed.
- var offsetParent = element.getOffsetParent();
- if (offsetParent && offsetParent.getStyle('position') === 'fixed')
- offsetParent.setStyle({ zoom: 1 });
- element.setStyle({ position: 'relative' });
- var value = proceed(element);
- element.setStyle({ position: position });
- return value;
- }
- );
- });
-
- Element.Methods.cumulativeOffset = Element.Methods.cumulativeOffset.wrap(
- function(proceed, element) {
- try { element.offsetParent }
- catch(e) { return Element._returnOffset(0,0) }
- return proceed(element);
- }
- );
-
- Element.Methods.getStyle = function(element, style) {
- element = $(element);
- style = (style == 'float' || style == 'cssFloat') ? 'styleFloat' : style.camelize();
- var value = element.style[style];
- if (!value && element.currentStyle) value = element.currentStyle[style];
-
- if (style == 'opacity') {
- if (value = (element.getStyle('filter') || '').match(/alpha\(opacity=(.*)\)/))
- if (value[1]) return parseFloat(value[1]) / 100;
- return 1.0;
- }
-
- if (value == 'auto') {
- if ((style == 'width' || style == 'height') && (element.getStyle('display') != 'none'))
- return element['offset' + style.capitalize()] + 'px';
- return null;
- }
- return value;
- };
-
- Element.Methods.setOpacity = function(element, value) {
- function stripAlpha(filter){
- return filter.replace(/alpha\([^\)]*\)/gi,'');
- }
- element = $(element);
- var currentStyle = element.currentStyle;
- if ((currentStyle && !currentStyle.hasLayout) ||
- (!currentStyle && element.style.zoom == 'normal'))
- element.style.zoom = 1;
-
- var filter = element.getStyle('filter'), style = element.style;
- if (value == 1 || value === '') {
- (filter = stripAlpha(filter)) ?
- style.filter = filter : style.removeAttribute('filter');
- return element;
- } else if (value < 0.00001) value = 0;
- style.filter = stripAlpha(filter) +
- 'alpha(opacity=' + (value * 100) + ')';
- return element;
- };
-
- Element._attributeTranslations = {
- read: {
- names: {
- 'class': 'className',
- 'for': 'htmlFor'
- },
- values: {
- _getAttr: function(element, attribute) {
- return element.getAttribute(attribute, 2);
- },
- _getAttrNode: function(element, attribute) {
- var node = element.getAttributeNode(attribute);
- return node ? node.value : "";
- },
- _getEv: function(element, attribute) {
- attribute = element.getAttribute(attribute);
- return attribute ? attribute.toString().slice(23, -2) : null;
- },
- _flag: function(element, attribute) {
- return $(element).hasAttribute(attribute) ? attribute : null;
- },
- style: function(element) {
- return element.style.cssText.toLowerCase();
- },
- title: function(element) {
- return element.title;
- }
- }
- }
- };
-
- Element._attributeTranslations.write = {
- names: Object.extend({
- cellpadding: 'cellPadding',
- cellspacing: 'cellSpacing'
- }, Element._attributeTranslations.read.names),
- values: {
- checked: function(element, value) {
- element.checked = !!value;
- },
-
- style: function(element, value) {
- element.style.cssText = value ? value : '';
- }
- }
- };
-
- Element._attributeTranslations.has = {};
-
- $w('colSpan rowSpan vAlign dateTime accessKey tabIndex ' +
- 'encType maxLength readOnly longDesc frameBorder').each(function(attr) {
- Element._attributeTranslations.write.names[attr.toLowerCase()] = attr;
- Element._attributeTranslations.has[attr.toLowerCase()] = attr;
- });
-
- (function(v) {
- Object.extend(v, {
- href: v._getAttr,
- src: v._getAttr,
- type: v._getAttr,
- action: v._getAttrNode,
- disabled: v._flag,
- checked: v._flag,
- readonly: v._flag,
- multiple: v._flag,
- onload: v._getEv,
- onunload: v._getEv,
- onclick: v._getEv,
- ondblclick: v._getEv,
- onmousedown: v._getEv,
- onmouseup: v._getEv,
- onmouseover: v._getEv,
- onmousemove: v._getEv,
- onmouseout: v._getEv,
- onfocus: v._getEv,
- onblur: v._getEv,
- onkeypress: v._getEv,
- onkeydown: v._getEv,
- onkeyup: v._getEv,
- onsubmit: v._getEv,
- onreset: v._getEv,
- onselect: v._getEv,
- onchange: v._getEv
- });
- })(Element._attributeTranslations.read.values);
-}
-
-else if (Prototype.Browser.Gecko && /rv:1\.8\.0/.test(navigator.userAgent)) {
- Element.Methods.setOpacity = function(element, value) {
- element = $(element);
- element.style.opacity = (value == 1) ? 0.999999 :
- (value === '') ? '' : (value < 0.00001) ? 0 : value;
- return element;
- };
-}
-
-else if (Prototype.Browser.WebKit) {
- Element.Methods.setOpacity = function(element, value) {
- element = $(element);
- element.style.opacity = (value == 1 || value === '') ? '' :
- (value < 0.00001) ? 0 : value;
-
- if (value == 1)
- if(element.tagName.toUpperCase() == 'IMG' && element.width) {
- element.width++; element.width--;
- } else try {
- var n = document.createTextNode(' ');
- element.appendChild(n);
- element.removeChild(n);
- } catch (e) { }
-
- return element;
- };
-
- // Safari returns margins on body which is incorrect if the child is absolutely
- // positioned. For performance reasons, redefine Element#cumulativeOffset for
- // KHTML/WebKit only.
- Element.Methods.cumulativeOffset = function(element) {
- var valueT = 0, valueL = 0;
- do {
- valueT += element.offsetTop || 0;
- valueL += element.offsetLeft || 0;
- if (element.offsetParent == document.body)
- if (Element.getStyle(element, 'position') == 'absolute') break;
-
- element = element.offsetParent;
- } while (element);
-
- return Element._returnOffset(valueL, valueT);
- };
-}
-
-if (Prototype.Browser.IE || Prototype.Browser.Opera) {
- // IE and Opera are missing .innerHTML support for TABLE-related and SELECT elements
- Element.Methods.update = function(element, content) {
- element = $(element);
-
- if (content && content.toElement) content = content.toElement();
- if (Object.isElement(content)) return element.update().insert(content);
-
- content = Object.toHTML(content);
- var tagName = element.tagName.toUpperCase();
-
- if (tagName in Element._insertionTranslations.tags) {
- $A(element.childNodes).each(function(node) { element.removeChild(node) });
- Element._getContentFromAnonymousElement(tagName, content.stripScripts())
- .each(function(node) { element.appendChild(node) });
- }
- else element.innerHTML = content.stripScripts();
-
- content.evalScripts.bind(content).defer();
- return element;
- };
-}
-
-if ('outerHTML' in document.createElement('div')) {
- Element.Methods.replace = function(element, content) {
- element = $(element);
-
- if (content && content.toElement) content = content.toElement();
- if (Object.isElement(content)) {
- element.parentNode.replaceChild(content, element);
- return element;
- }
-
- content = Object.toHTML(content);
- var parent = element.parentNode, tagName = parent.tagName.toUpperCase();
-
- if (Element._insertionTranslations.tags[tagName]) {
- var nextSibling = element.next();
- var fragments = Element._getContentFromAnonymousElement(tagName, content.stripScripts());
- parent.removeChild(element);
- if (nextSibling)
- fragments.each(function(node) { parent.insertBefore(node, nextSibling) });
- else
- fragments.each(function(node) { parent.appendChild(node) });
- }
- else element.outerHTML = content.stripScripts();
-
- content.evalScripts.bind(content).defer();
- return element;
- };
-}
-
-Element._returnOffset = function(l, t) {
- var result = [l, t];
- result.left = l;
- result.top = t;
- return result;
-};
-
-Element._getContentFromAnonymousElement = function(tagName, html) {
- var div = new Element('div'), t = Element._insertionTranslations.tags[tagName];
- if (t) {
- div.innerHTML = t[0] + html + t[1];
- t[2].times(function() { div = div.firstChild });
- } else div.innerHTML = html;
- return $A(div.childNodes);
-};
-
-Element._insertionTranslations = {
- before: function(element, node) {
- element.parentNode.insertBefore(node, element);
- },
- top: function(element, node) {
- element.insertBefore(node, element.firstChild);
- },
- bottom: function(element, node) {
- element.appendChild(node);
- },
- after: function(element, node) {
- element.parentNode.insertBefore(node, element.nextSibling);
- },
- tags: {
- TABLE: ['<table>', '</table>', 1],
- TBODY: ['<table><tbody>', '</tbody></table>', 2],
- TR: ['<table><tbody><tr>', '</tr></tbody></table>', 3],
- TD: ['<table><tbody><tr><td>', '</td></tr></tbody></table>', 4],
- SELECT: ['<select>', '</select>', 1]
- }
-};
-
-(function() {
- Object.extend(this.tags, {
- THEAD: this.tags.TBODY,
- TFOOT: this.tags.TBODY,
- TH: this.tags.TD
- });
-}).call(Element._insertionTranslations);
-
-Element.Methods.Simulated = {
- hasAttribute: function(element, attribute) {
- attribute = Element._attributeTranslations.has[attribute] || attribute;
- var node = $(element).getAttributeNode(attribute);
- return !!(node && node.specified);
- }
-};
-
-Element.Methods.ByTag = { };
-
-Object.extend(Element, Element.Methods);
-
-if (!Prototype.BrowserFeatures.ElementExtensions &&
- document.createElement('div')['__proto__']) {
- window.HTMLElement = { };
- window.HTMLElement.prototype = document.createElement('div')['__proto__'];
- Prototype.BrowserFeatures.ElementExtensions = true;
-}
-
-Element.extend = (function() {
- if (Prototype.BrowserFeatures.SpecificElementExtensions)
- return Prototype.K;
-
- var Methods = { }, ByTag = Element.Methods.ByTag;
-
- var extend = Object.extend(function(element) {
- if (!element || element._extendedByPrototype ||
- element.nodeType != 1 || element == window) return element;
-
- var methods = Object.clone(Methods),
- tagName = element.tagName.toUpperCase(), property, value;
-
- // extend methods for specific tags
- if (ByTag[tagName]) Object.extend(methods, ByTag[tagName]);
-
- for (property in methods) {
- value = methods[property];
- if (Object.isFunction(value) && !(property in element))
- element[property] = value.methodize();
- }
-
- element._extendedByPrototype = Prototype.emptyFunction;
- return element;
-
- }, {
- refresh: function() {
- // extend methods for all tags (Safari doesn't need this)
- if (!Prototype.BrowserFeatures.ElementExtensions) {
- Object.extend(Methods, Element.Methods);
- Object.extend(Methods, Element.Methods.Simulated);
- }
- }
- });
-
- extend.refresh();
- return extend;
-})();
-
-Element.hasAttribute = function(element, attribute) {
- if (element.hasAttribute) return element.hasAttribute(attribute);
- return Element.Methods.Simulated.hasAttribute(element, attribute);
-};
-
-Element.addMethods = function(methods) {
- var F = Prototype.BrowserFeatures, T = Element.Methods.ByTag;
-
- if (!methods) {
- Object.extend(Form, Form.Methods);
- Object.extend(Form.Element, Form.Element.Methods);
- Object.extend(Element.Methods.ByTag, {
- "FORM": Object.clone(Form.Methods),
- "INPUT": Object.clone(Form.Element.Methods),
- "SELECT": Object.clone(Form.Element.Methods),
- "TEXTAREA": Object.clone(Form.Element.Methods)
- });
- }
-
- if (arguments.length == 2) {
- var tagName = methods;
- methods = arguments[1];
- }
-
- if (!tagName) Object.extend(Element.Methods, methods || { });
- else {
- if (Object.isArray(tagName)) tagName.each(extend);
- else extend(tagName);
- }
-
- function extend(tagName) {
- tagName = tagName.toUpperCase();
- if (!Element.Methods.ByTag[tagName])
- Element.Methods.ByTag[tagName] = { };
- Object.extend(Element.Methods.ByTag[tagName], methods);
- }
-
- function copy(methods, destination, onlyIfAbsent) {
- onlyIfAbsent = onlyIfAbsent || false;
- for (var property in methods) {
- var value = methods[property];
- if (!Object.isFunction(value)) continue;
- if (!onlyIfAbsent || !(property in destination))
- destination[property] = value.methodize();
- }
- }
-
- function findDOMClass(tagName) {
- var klass;
- var trans = {
- "OPTGROUP": "OptGroup", "TEXTAREA": "TextArea", "P": "Paragraph",
- "FIELDSET": "FieldSet", "UL": "UList", "OL": "OList", "DL": "DList",
- "DIR": "Directory", "H1": "Heading", "H2": "Heading", "H3": "Heading",
- "H4": "Heading", "H5": "Heading", "H6": "Heading", "Q": "Quote",
- "INS": "Mod", "DEL": "Mod", "A": "Anchor", "IMG": "Image", "CAPTION":
- "TableCaption", "COL": "TableCol", "COLGROUP": "TableCol", "THEAD":
- "TableSection", "TFOOT": "TableSection", "TBODY": "TableSection", "TR":
- "TableRow", "TH": "TableCell", "TD": "TableCell", "FRAMESET":
- "FrameSet", "IFRAME": "IFrame"
- };
- if (trans[tagName]) klass = 'HTML' + trans[tagName] + 'Element';
- if (window[klass]) return window[klass];
- klass = 'HTML' + tagName + 'Element';
- if (window[klass]) return window[klass];
- klass = 'HTML' + tagName.capitalize() + 'Element';
- if (window[klass]) return window[klass];
-
- window[klass] = { };
- window[klass].prototype = document.createElement(tagName)['__proto__'];
- return window[klass];
- }
-
- if (F.ElementExtensions) {
- copy(Element.Methods, HTMLElement.prototype);
- copy(Element.Methods.Simulated, HTMLElement.prototype, true);
- }
-
- if (F.SpecificElementExtensions) {
- for (var tag in Element.Methods.ByTag) {
- var klass = findDOMClass(tag);
- if (Object.isUndefined(klass)) continue;
- copy(T[tag], klass.prototype);
- }
- }
-
- Object.extend(Element, Element.Methods);
- delete Element.ByTag;
-
- if (Element.extend.refresh) Element.extend.refresh();
- Element.cache = { };
-};
-
-document.viewport = {
- getDimensions: function() {
- var dimensions = { }, B = Prototype.Browser;
- $w('width height').each(function(d) {
- var D = d.capitalize();
- if (B.WebKit && !document.evaluate) {
- // Safari <3.0 needs self.innerWidth/Height
- dimensions[d] = self['inner' + D];
- } else if (B.Opera && parseFloat(window.opera.version()) < 9.5) {
- // Opera <9.5 needs document.body.clientWidth/Height
- dimensions[d] = document.body['client' + D]
- } else {
- dimensions[d] = document.documentElement['client' + D];
- }
- });
- return dimensions;
- },
-
- getWidth: function() {
- return this.getDimensions().width;
- },
-
- getHeight: function() {
- return this.getDimensions().height;
- },
-
- getScrollOffsets: function() {
- return Element._returnOffset(
- window.pageXOffset || document.documentElement.scrollLeft || document.body.scrollLeft,
- window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop);
- }
-};
-/* Portions of the Selector class are derived from Jack Slocum's DomQuery,
- * part of YUI-Ext version 0.40, distributed under the terms of an MIT-style
- * license. Please see http://www.yui-ext.com/ for more information. */
-
-var Selector = Class.create({
- initialize: function(expression) {
- this.expression = expression.strip();
-
- if (this.shouldUseSelectorsAPI()) {
- this.mode = 'selectorsAPI';
- } else if (this.shouldUseXPath()) {
- this.mode = 'xpath';
- this.compileXPathMatcher();
- } else {
- this.mode = "normal";
- this.compileMatcher();
- }
-
- },
-
- shouldUseXPath: function() {
- if (!Prototype.BrowserFeatures.XPath) return false;
-
- var e = this.expression;
-
- // Safari 3 chokes on :*-of-type and :empty
- if (Prototype.Browser.WebKit &&
- (e.include("-of-type") || e.include(":empty")))
- return false;
-
- // XPath can't do namespaced attributes, nor can it read
- // the "checked" property from DOM nodes
- if ((/(\[[\w-]*?:|:checked)/).test(e))
- return false;
-
- return true;
- },
-
- shouldUseSelectorsAPI: function() {
- if (!Prototype.BrowserFeatures.SelectorsAPI) return false;
-
- if (!Selector._div) Selector._div = new Element('div');
-
- // Make sure the browser treats the selector as valid. Test on an
- // isolated element to minimize cost of this check.
- try {
- Selector._div.querySelector(this.expression);
- } catch(e) {
- return false;
- }
-
- return true;
- },
-
- compileMatcher: function() {
- var e = this.expression, ps = Selector.patterns, h = Selector.handlers,
- c = Selector.criteria, le, p, m;
-
- if (Selector._cache[e]) {
- this.matcher = Selector._cache[e];
- return;
- }
-
- this.matcher = ["this.matcher = function(root) {",
- "var r = root, h = Selector.handlers, c = false, n;"];
-
- while (e && le != e && (/\S/).test(e)) {
- le = e;
- for (var i in ps) {
- p = ps[i];
- if (m = e.match(p)) {
- this.matcher.push(Object.isFunction(c[i]) ? c[i](m) :
- new Template(c[i]).evaluate(m));
- e = e.replace(m[0], '');
- break;
- }
- }
- }
-
- this.matcher.push("return h.unique(n);\n}");
- eval(this.matcher.join('\n'));
- Selector._cache[this.expression] = this.matcher;
- },
-
- compileXPathMatcher: function() {
- var e = this.expression, ps = Selector.patterns,
- x = Selector.xpath, le, m;
-
- if (Selector._cache[e]) {
- this.xpath = Selector._cache[e]; return;
- }
-
- this.matcher = ['.//*'];
- while (e && le != e && (/\S/).test(e)) {
- le = e;
- for (var i in ps) {
- if (m = e.match(ps[i])) {
- this.matcher.push(Object.isFunction(x[i]) ? x[i](m) :
- new Template(x[i]).evaluate(m));
- e = e.replace(m[0], '');
- break;
- }
- }
- }
-
- this.xpath = this.matcher.join('');
- Selector._cache[this.expression] = this.xpath;
- },
-
- findElements: function(root) {
- root = root || document;
- var e = this.expression, results;
-
- switch (this.mode) {
- case 'selectorsAPI':
- // querySelectorAll queries document-wide, then filters to descendants
- // of the context element. That's not what we want.
- // Add an explicit context to the selector if necessary.
- if (root !== document) {
- var oldId = root.id, id = $(root).identify();
- e = "#" + id + " " + e;
- }
-
- results = $A(root.querySelectorAll(e)).map(Element.extend);
- root.id = oldId;
-
- return results;
- case 'xpath':
- return document._getElementsByXPath(this.xpath, root);
- default:
- return this.matcher(root);
- }
- },
-
- match: function(element) {
- this.tokens = [];
-
- var e = this.expression, ps = Selector.patterns, as = Selector.assertions;
- var le, p, m;
-
- while (e && le !== e && (/\S/).test(e)) {
- le = e;
- for (var i in ps) {
- p = ps[i];
- if (m = e.match(p)) {
- // use the Selector.assertions methods unless the selector
- // is too complex.
- if (as[i]) {
- this.tokens.push([i, Object.clone(m)]);
- e = e.replace(m[0], '');
- } else {
- // reluctantly do a document-wide search
- // and look for a match in the array
- return this.findElements(document).include(element);
- }
- }
- }
- }
-
- var match = true, name, matches;
- for (var i = 0, token; token = this.tokens[i]; i++) {
- name = token[0], matches = token[1];
- if (!Selector.assertions[name](element, matches)) {
- match = false; break;
- }
- }
-
- return match;
- },
-
- toString: function() {
- return this.expression;
- },
-
- inspect: function() {
- return "#<Selector:" + this.expression.inspect() + ">";
- }
-});
-
-Object.extend(Selector, {
- _cache: { },
-
- xpath: {
- descendant: "//*",
- child: "/*",
- adjacent: "/following-sibling::*[1]",
- laterSibling: '/following-sibling::*',
- tagName: function(m) {
- if (m[1] == '*') return '';
- return "[local-name()='" + m[1].toLowerCase() +
- "' or local-name()='" + m[1].toUpperCase() + "']";
- },
- className: "[contains(concat(' ', @class, ' '), ' #{1} ')]",
- id: "[@id='#{1}']",
- attrPresence: function(m) {
- m[1] = m[1].toLowerCase();
- return new Template("[@#{1}]").evaluate(m);
- },
- attr: function(m) {
- m[1] = m[1].toLowerCase();
- m[3] = m[5] || m[6];
- return new Template(Selector.xpath.operators[m[2]]).evaluate(m);
- },
- pseudo: function(m) {
- var h = Selector.xpath.pseudos[m[1]];
- if (!h) return '';
- if (Object.isFunction(h)) return h(m);
- return new Template(Selector.xpath.pseudos[m[1]]).evaluate(m);
- },
- operators: {
- '=': "[@#{1}='#{3}']",
- '!=': "[@#{1}!='#{3}']",
- '^=': "[starts-with(@#{1}, '#{3}')]",
- '$=': "[substring(@#{1}, (string-length(@#{1}) - string-length('#{3}') + 1))='#{3}']",
- '*=': "[contains(@#{1}, '#{3}')]",
- '~=': "[contains(concat(' ', @#{1}, ' '), ' #{3} ')]",
- '|=': "[contains(concat('-', @#{1}, '-'), '-#{3}-')]"
- },
- pseudos: {
- 'first-child': '[not(preceding-sibling::*)]',
- 'last-child': '[not(following-sibling::*)]',
- 'only-child': '[not(preceding-sibling::* or following-sibling::*)]',
- 'empty': "[count(*) = 0 and (count(text()) = 0)]",
- 'checked':

<TRUNCATED>
Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/oldsite/images/screen.png b/website-old/oldsite/images/screen.png
deleted file mode 100644
index eb54507..0000000
Binary files a/website-old/oldsite/images/screen.png and /dev/null differ
a***@apache.org
2017-12-21 04:52:42 UTC
Permalink
http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/oldsite/images/Mahout-logo-transparent.svg
----------------------------------------------------------------------
diff --git a/website-old/oldsite/images/Mahout-logo-transparent.svg b/website-old/oldsite/images/Mahout-logo-transparent.svg
deleted file mode 100644
index cbb289a..0000000
--- a/website-old/oldsite/images/Mahout-logo-transparent.svg
+++ /dev/null
@@ -1,181 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!-- Created with Inkscape (http://www.inkscape.org/) -->
-<svg
- xmlns:dc="http://purl.org/dc/elements/1.1/"
- xmlns:cc="http://web.resource.org/cc/"
- xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:svg="http://www.w3.org/2000/svg"
- xmlns="http://www.w3.org/2000/svg"
- xmlns:xlink="http://www.w3.org/1999/xlink"
- xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
- xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
- id="svg2225"
- sodipodi:version="0.32"
- inkscape:version="0.45.1"
- width="294"
- height="312"
- version="1.0"
- sodipodi:docbase="D:\Grafika\mahout\final\public-for-JIRA"
- sodipodi:docname="Mahout-logo-transparent.svg"
- inkscape:output_extension="org.inkscape.output.svg.inkscape"
- inkscape:export-filename="D:\Grafika\mahout\final\Mahout-logo-100.png"
- inkscape:export-xdpi="49.298431"
- inkscape:export-ydpi="49.298431">
- <metadata
- id="metadata2230">
- <rdf:RDF>
- <cc:Work
- rdf:about="">
- <dc:format>image/svg+xml</dc:format>
- <dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
- <dc:title>Mahout</dc:title>
- <dc:creator>
- <cc:Agent>
- <dc:title>Lukas Vlcek</dc:title>
- </cc:Agent>
- </dc:creator>
- <cc:license
- rdf:resource="" />
- <dc:description>Mahout project logo</dc:description>
- <dc:date>2008-05-24</dc:date>
- </cc:Work>
- </rdf:RDF>
- </metadata>
- <defs
- id="defs2228">
- <linearGradient
- id="linearGradient30064">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop30066" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop30068" />
- </linearGradient>
- <linearGradient
- id="linearGradient21032">
- <stop
- style="stop-color:#9d9e3a;stop-opacity:1;"
- offset="0"
- id="stop21034" />
- <stop
- style="stop-color:#9c9e3a;stop-opacity:0;"
- offset="1"
- id="stop21036" />
- </linearGradient>
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient30064"
- id="radialGradient33970"
- cx="-70.286964"
- cy="166.3316"
- fx="-70.286964"
- fy="166.3316"
- r="19.129021"
- gradientUnits="userSpaceOnUse" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient30064"
- id="radialGradient35919"
- gradientUnits="userSpaceOnUse"
- cx="-70.286964"
- cy="166.3316"
- fx="-70.286964"
- fy="166.3316"
- r="19.129021" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient30064"
- id="radialGradient35945"
- gradientUnits="userSpaceOnUse"
- cx="-70.286964"
- cy="166.3316"
- fx="-70.286964"
- fy="166.3316"
- r="19.129021" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient30064"
- id="radialGradient35964"
- gradientUnits="userSpaceOnUse"
- cx="-70.286964"
- cy="166.3316"
- fx="-70.286964"
- fy="166.3316"
- r="19.129021" />
- </defs>
- <sodipodi:namedview
- inkscape:window-height="808"
- inkscape:window-width="1152"
- inkscape:pageshadow="2"
- inkscape:pageopacity="0.0"
- guidetolerance="10.0"
- gridtolerance="10.0"
- objecttolerance="10.0"
- borderopacity="1.0"
- bordercolor="#666666"
- pagecolor="#ffffff"
- id="base"
- inkscape:zoom="1.311968"
- inkscape:cx="158.65698"
- inkscape:cy="141.15206"
- inkscape:window-x="0"
- inkscape:window-y="22"
- inkscape:current-layer="layer4"
- showguides="true"
- inkscape:guide-bbox="true"
- inkscape:document-units="pt" />
- <g
- inkscape:groupmode="layer"
- id="layer4"
- inkscape:label="mahout"
- style="display:inline"
- sodipodi:insensitive="true">
- <path
- style="fill:#1ba80d;fill-opacity:1;stroke:none;display:inline"
- d="M 77.40625,72.59375 L 77.40625,226.21875 L 226.5625,226.21875 L 226.5625,72.59375 L 165.15625,72.59375 C 164.2189,74.5667 162.64503,76.388975 160.625,77.53125 C 159.95855,77.90811 159.28355,78.185347 158.625,78.375 C 161.39507,79.479504 162.39376,82.428313 163.15625,85.875 C 163.27242,86.40011 163.44264,86.864433 163.59375,87.3125 C 163.81231,87.377354 164.03738,87.432231 164.25,87.5 C 172.3817,90.091881 177.30055,95.094291 180,99.8125 C 181.34972,102.17159 183.52996,107.4115 184.34375,115.71875 C 183.38073,116.10186 183.60939,115.65206 182.5625,116.09375 C 182.06714,113.69299 181.3988,111.20714 180.59375,108.71875 C 179.72643,106.03787 178.36074,103.50474 176.34375,101.8125 C 174.34807,100.13812 169.99813,97.836997 165.375,98.5 C 160.73566,99.165319 157.32289,102.45697 155.4375,103.96875 C 152.75785,102.52728 148.7698,101.32631 144.5,101.34375 C 140.26387,101.36105 135.89719,102.74329 132.15625,106.6875 C 128.4153,110.63171 127.24375,115.71876 127.65625,119.1875 C 119.805
06,120.97905 111.48048,123.01148 103.09375,124.09375 C 103.18111,121.55848 102.91319,119.92077 103.6875,116.0625 C 96.89135,115.65003 89.945401,110.62168 89.53125,103.40625 C 88.544582,99.905933 84.92959,91.922102 91.09375,91.46875 C 97.460092,93.098551 92.071546,99.020532 92.40625,103.375 C 93.24008,108.91176 98.116102,112.7081 104.6875,112.21875 C 105.95812,108.18755 108.86,103.37526 112.3125,99.21875 C 115.63596,95.217576 122.26453,90.904468 133,87.65625 C 137.04021,86.433809 141.36238,85.773059 145.625,85.53125 C 147.60561,82.553596 150.50339,79.044734 154.15625,78.125 C 152.91078,77.538902 151.94209,76.497252 151.5,75 C 151.27388,74.234165 151.22059,73.425907 151.28125,72.59375 L 77.40625,72.59375 z M 167.59375,102.65625 C 168.14216,102.66363 168.77694,102.70381 169.46875,102.78125 C 171.21789,102.97705 173.15016,103.47634 174.78125,104.78125 C 176.039,105.78747 177.14941,107.60953 178.21875,110.4375 C 179.28809,113.26548 180.10353,117.49235 180.8125,119.40625 C 182.67103,118.8
4662 186.96243,117.30072 191.15625,115.90625 C 195.35701,114.50948 198.58961,113.47546 201.1875,112.875 C 203.78538,112.27454 207.25105,111.60366 209.71875,112.34375 C 212.1822,113.08256 213.66191,115.40769 214,118.3125 C 214.33808,121.19689 214.1436,126.23192 212.6875,131.1875 C 211.2416,136.1201 210.34702,137.92009 208.8125,141.125 C 207.33269,144.21568 205.40021,147.28817 202.5,150.78125 C 199.76972,154.06483 196.51361,157.86075 194.40625,158.5 C 193.49638,157.21165 191.6623,155.61539 189.15625,154.4375 C 186.6502,153.2596 183.46505,152.45304 181.625,152.15625 C 181.44257,148.74614 183.50942,145.84258 184.03125,144.1875 C 184.55789,142.51719 185.03823,140.45353 185.03125,139 C 185.02426,137.42648 185.06342,135.21928 184.75,133.96875 C 184.43356,132.7062 184.29679,132.7093 183.8125,132.125 C 183.75651,132.05744 183.25338,130.88786 182.375,131.03125 C 181.47671,131.17788 181.42824,132.21537 181.375,134.34375 C 181.33258,136.03909 181.07741,138.80557 180.1875,142.1875 C 179.30955,14
5.52404 177.82357,148.7852 177.71875,150.59375 C 177.61298,152.41856 177.50831,155.52099 178.90625,159 C 180.27098,162.39638 183.06559,164.10928 182.375,172.8125 C 182.16355,175.47733 180.71315,177.72914 180,180.28125 C 179.46634,182.19097 178.65612,185.49094 178.75,185.46875 C 178.68685,185.4575 176.6312,185.06274 175.875,185.03125 C 174.60825,184.97846 173.20252,184.72945 171.875,185.03125 C 170.54094,185.33454 169.81361,185.55782 169.09375,186.40625 C 168.37511,187.25324 168.26317,189.30968 168.9375,190.15625 C 169.59979,190.98658 170.09129,191.31334 171.28125,191.375 C 172.22684,191.424 173.16988,190.97866 174.125,190.71875 C 175.12355,190.44702 176.50893,190.12114 177.5,190.375 C 178.49464,190.62977 179.53383,191.62329 179.40625,192.59375 C 179.28332,193.52874 179.08114,194.05501 178.0625,194.9375 C 177.05911,195.80677 176.30026,196.07027 175.375,196.3125 C 174.41364,196.56418 173.34042,196.68495 172.5,197.125 C 171.652,197.56901 170.80664,198.25404 170.75,199.4375 C 170.69543,
200.57772 170.74209,201.64615 171.6875,202.0625 C 172.60327,202.46579 173.40279,202.30106 174.3125,201.9375 C 175.20976,201.57891 176.96292,200.50374 177.84375,199.9375 C 178.72539,199.37073 180.31025,198.30131 181.4375,198.1875 C 182.58036,198.07211 183.56584,198.66522 183.6875,199.9375 C 183.75834,200.67836 183.65731,201.02747 182.9375,201.71875 C 182.29484,202.33593 181.18153,203.10826 180.75,203.84375 C 180.31846,204.57924 179.74439,205.60835 179.9375,206.875 C 180.1306,208.14165 180.61558,208.35332 181.40625,208.75 C 182.18879,209.1426 182.99869,209.10748 183.71875,208.71875 C 184.44439,208.327 185.42915,206.8938 185.9375,205.09375 C 186.44862,203.28389 186.66506,201.70713 186.625,200.6875 C 187.11557,200.59279 187.69205,200.52459 187.875,200.5 C 188.81511,200.37361 195.05918,200.36402 196.5625,200.25 C 196.11015,198.10346 195.98648,195.84146 196.40625,194.8125 C 196.91417,193.56747 198.00651,192.24605 199.40625,191.71875 C 201.07229,191.09114 204.07887,191.21135 205.34375,192.
40625 C 206.62525,193.61685 207.48073,195.15092 207,197.21875 C 206.52161,199.27658 204.77535,201.99153 204.5,202.03125 C 204.6124,202.11579 208.02172,205.03966 208.5625,207.6875 C 209.10174,210.32781 208.52259,212.99112 207.5,213.9375 C 206.3414,215.00973 205.25394,215.64176 203.65625,215.6875 C 202.54502,215.71931 201.02045,215.59195 199.96875,214.34375 C 199.00373,213.19842 199.08803,210.80184 199.125,209.125 C 198.53744,208.89545 197.78439,208.75585 197,208.71875 C 195.57709,208.65146 193.30347,210.05041 191.21875,211.15625 C 189.11673,212.27125 184.88485,214.47471 183.03125,214.9375 C 179.56083,215.80397 176.20878,215.29087 173.65625,214.59375 C 171.1323,213.90444 168.62048,212.23374 166.28125,209.96875 C 163.93181,207.69385 161.92748,204.75027 160.78125,200.75 C 159.65969,196.83584 159.5,193.70405 159.5,190.53125 C 159.5,187.78441 159.23687,181.77323 158.8125,179 C 158.38416,176.20082 157.10895,173.72361 156.25,172.03125 C 155.4151,170.38628 154.51826,168.83231 154.125,166.968
75 C 153.80789,165.46609 153.49599,163.98767 153.59375,162.4375 C 153.68715,160.95654 153.84821,158.66331 153.875,157.875 C 152.3977,157.18865 149.07687,155.55107 146.875,153.65625 C 144.66727,151.75639 143.98655,150.80076 142.71875,148.34375 C 141.44159,145.86861 141.06844,143.58903 140.3125,142.53125 C 139.55655,141.47345 138.70456,139.38294 137.875,140.6875 C 136.99881,142.06539 136.54196,143.34132 136.5,145.15625 C 136.45552,147.08014 136.69519,149.23023 137.6875,150.9375 C 138.6798,152.64476 140.48164,155.5016 143,157.78125 C 142.35193,159.20573 141.87902,160.42848 141.4375,161.75 C 140.90401,163.34678 140.30937,165.16709 139.40625,166.8125 C 137.24669,167.1939 134.22342,167.4316 130.1875,167.53125 C 126.15158,167.63091 121.15979,167.2789 116.03125,165.84375 C 110.89602,164.40674 106.52742,160.35244 103.34375,156.09375 C 100.17724,151.85803 98.603378,147.9655 97.59375,143.25 C 96.59876,138.60286 96.576258,132.9207 97.875,130.90625 C 99.16777,128.90105 101.39574,128.27703 103.21
875,127.90625 C 105.9794,127.34476 114.3908,125.74546 119.5,124.6875 C 124.58058,123.63547 133.17549,122.28308 133.09375,122.125 C 132.70774,121.37836 132.08991,119.72571 131.90625,116.9375 C 131.53823,111.35011 134.86652,108.29942 136.46875,107.40625 C 138.42548,106.31546 142.24561,104.97531 145.125,104.875 C 147.83641,104.78054 149.61487,105.07826 151.34375,105.75 C 152.82769,106.32657 154.14153,107.35407 156,108.75 C 157.48215,107.14572 161.61012,103.95068 163.6875,103.28125 C 164.87114,102.89982 165.94852,102.63412 167.59375,102.65625 z M 171.90625,130.96875 C 171.04926,131.06434 170.31919,131.74591 170.09375,133.25 C 169.71585,135.7712 168.6093,140.25736 171.125,140.3125 C 171.77653,140.32678 172.45158,139.45341 172.78125,138.40625 C 173.09407,137.41259 173.36013,136.5807 173.5,135.53125 C 173.72163,133.86851 173.52473,131.65664 172.28125,130.96875 C 172.1548,130.95947 172.02868,130.95509 171.90625,130.96875 z M 154.21875,133.71875 C 154.07385,133.70924 153.9323,133.72508 153.7
5,133.75 C 152.37686,134.27082 152.43456,136.66253 152.53125,138.03125 C 152.62469,139.35412 152.55012,141.41399 153.375,142.53125 C 153.62672,142.87219 154.12238,144.01225 155.28125,143.6875 C 156.10077,143.45785 156.44348,142.54375 156.5625,141.59375 C 156.68424,140.62206 156.74999,139.72658 156.75,138.71875 C 156.75,137.83864 155.97648,135.08529 155.40625,134.4375 C 154.97857,133.95166 154.65345,133.74728 154.21875,133.71875 z M 183.53125,156.8125 C 184.28627,156.82907 185.2454,157.12871 186.3125,157.5625 C 188.08385,158.28257 189.66221,159.60958 191.1875,161.59375 C 192.70417,163.5667 195.17009,167.35637 196.375,169.5 C 197.57991,171.64363 199.24482,175.79484 198.9375,175.625 C 198.53943,175.40501 194.00796,174.4211 192.21875,173.5 C 190.4457,172.58723 187.81929,170.2045 185.6875,168.59375 C 185.56368,166.4194 185.12034,165.20063 184.53125,163.40625 C 183.94213,161.61174 183.02247,160.84235 182.5625,159.3125 C 182.31627,158.49358 182.42519,157.66823 182.40625,157.125 C 182.69913
,156.89123 183.07824,156.80256 183.53125,156.8125 z M 100.375,158.40625 C 100.394,158.41552 100.41667,158.45103 100.4375,158.5 C 101.24148,158.97375 101.85633,159.69029 102.4375,160.40625 C 103.31286,161.63692 104.47029,162.63153 105.59375,163.625 C 107.93542,165.96824 110.81554,167.71062 113.90625,168.875 C 115.49939,169.63771 120.27397,170.12248 121.5625,170.03125 C 122.04663,171.51354 122.09074,173.01444 122.25,174.78125 C 122.41223,176.58098 121.98875,177.72595 121.375,178.8125 C 120.76125,179.89906 119.68409,180.56268 118.21875,181.09375 C 116.73537,181.63137 114.21496,182.04216 111.28125,182.0625 C 108.33733,182.08285 104.92996,181.48944 103.09375,180.46875 C 101.23326,179.43455 100.80273,177.73775 100.1875,175.5 C 99.90466,173.57644 99.779169,170.13132 99.90625,166.15625 C 100.02465,162.45277 100.08993,158.26716 100.375,158.40625 z M 146.125,160.5 C 147.58024,160.97799 149.00537,161.61991 150.21875,162.5625 C 151.12245,163.32573 151.16884,164.44089 150.875,165.5 C 150.67286,1
67.60065 151.19131,169.61642 151.1875,171.71875 C 151.01717,173.17869 149.15797,176.73698 147.375,179.46875 C 145.58446,182.21212 143.62608,184.03046 141.75,185.46875 C 140.82371,182.96325 140.58835,179.32229 140.65625,177.5625 C 140.72413,175.77718 141.51888,171.36936 142.375,168.75 C 143.23435,166.12078 145.15041,161.77895 146.125,160.5 z M 185.84375,171.96875 C 187.37647,173.60813 188.1882,175.23152 189.1875,177.9375 C 190.19353,180.66168 191.08347,182.52778 191.59375,185.59375 C 192.10802,188.68374 192.40802,190.43878 192.3125,192.71875 C 192.27986,193.48916 191.85983,194.12057 191.1875,194.53125 C 190.65209,194.85829 189.20489,195.50628 187.34375,195.65625 C 186.76641,195.70312 183.73414,195.86863 183.25,195.28125 C 182.53958,194.41935 182.26091,191.45116 182.21875,190.28125 C 182.17944,189.19018 182.70105,185.8287 182.9375,184.46875 C 183.18127,183.06671 183.82885,180.89469 184.6875,178.875 C 185.4919,176.98294 186.0185,172.49016 185.84375,171.96875 z M 131.96875,172.71875 L 1
37.65625,173 C 137.41769,174.29624 136.75268,177.79112 137.3125,181.6875 C 137.87202,185.58182 139.3425,188.34209 141.125,190.84375 C 143.86187,189.17076 146.46081,186.99501 148.53125,184.4375 C 150.59363,181.88994 152.89761,178.32191 154.125,174.4375 C 154.44957,177.22811 155.21181,182.76697 155.34375,186.5625 C 155.4761,190.36988 155.69673,193.16595 155.65625,194.90625 C 155.61576,196.65678 155.54988,199.90182 154.125,201 C 152.70011,202.09818 151.59116,202.40379 149.4375,203.1875 C 147.28385,203.97121 143.48891,204.37543 140.53125,204.4375 C 137.33939,204.50433 133.78221,203.90907 131.6875,202.625 C 129.59279,201.34093 129.01759,198.87612 128.65625,195.25 C 128.29472,191.62192 128.53907,188.07084 129.21875,184.1875 C 129.89842,180.30416 130.50947,176.07763 131.96875,172.71875 z "
- id="rect9147"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90" />
- <path
- style="fill:#ff35cc;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;display:inline"
- d="M 143.68503,105.19188 C 149.25201,108.27272 155.88122,112.10404 162.18614,122.02177 C 164.59259,114.81381 164.55464,106.20425 167.7937,102.17679 C 162.97025,102.85026 160.22988,103.91305 157.55824,107.22102 C 154.02025,105.11791 147.82861,103.36472 143.68503,105.19188 z "
- id="path5254"
- sodipodi:nodetypes="ccccc"
- inkscape:export-filename="D:\Grafika\mahout\final\public\rect9147.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90" />
- <path
- transform="scale(0.9931536,1.0068936)"
- style="font-size:23.15151978px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#005300;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:ReservoirGrunge"
- d="M 77.779074,244.81677 L 78.080055,245.11775 C 78.959446,245.11775 79.399142,245.11775 79.399143,245.11775 L 80.718938,245.14107 C 82.416957,245.14107 83.752058,245.0869 84.724247,244.97856 L 84.863433,244.81677 C 84.971289,242.00762 85.025221,240.27121 85.025228,239.60754 L 85.025228,236.87539 C 85.025221,236.24282 85.117776,235.27818 85.302894,233.98145 L 85.44208,233.98145 C 85.581023,234.16704 85.696658,234.42186 85.788986,234.74591 C 85.943471,235.28618 86.020718,235.55631 86.020727,235.5563 L 89.076462,243.82127 C 89.323735,244.46939 89.586328,244.84739 89.864241,244.95525 C 89.910388,244.97079 90.419559,245.00164 91.391755,245.0478 C 92.302691,245.09444 92.935504,245.11775 93.290197,245.11775 C 93.92323,245.11775 94.586895,245.07136 95.281193,244.97856 C 95.512917,244.82407 95.705799,244.53086 95.85984,244.09894 L 98.75378,236.43593 C 98.831006,236.29699 98.931333,236.08856 99.054761,235.81065 C 99.224777,235.23979 99.34842,234.86933 99.425689,234.69928 C 99.641864,2
34.23628 99.857826,233.94307 100.07357,233.81966 C 100.07355,234.03587 100.09675,234.35616 100.14317,234.78053 C 100.18954,235.20493 100.21274,235.52523 100.21276,235.74141 C 100.21274,236.00378 100.16634,236.18889 100.07357,236.29674 C 100.07355,237.19216 100.07355,237.63986 100.07357,237.63985 C 100.07355,237.82497 100.06578,238.07956 100.05026,238.40361 C 100.05024,238.66598 100.05024,238.85109 100.05026,238.95894 C 100.05024,241.10444 100.1044,243.01065 100.21276,244.67758 L 100.49043,244.97856 L 106.71847,244.97856 C 106.99635,244.97856 107.18923,244.87824 107.29712,244.67758 C 107.29709,243.68986 107.32017,242.21981 107.36636,240.26743 C 107.41249,238.31507 107.43557,236.84502 107.4356,235.85728 C 107.43557,235.78005 107.46265,235.66041 107.51685,235.49837 C 107.57099,235.33635 107.59807,235.21671 107.5981,235.13945 L 107.5981,227.45313 C 107.59807,226.68115 107.30486,226.29515 106.71847,226.29513 L 102.50474,226.29513 C 101.62485,226.29515 99.510214,226.34932 96.160821,226.45
763 L 95.85984,226.59611 C 95.582392,227.07468 95.38951,227.46068 95.281193,227.75411 C 95.003275,228.5412 94.586659,229.71427 94.031345,231.27333 C 93.336576,233.17155 92.842713,234.12065 92.549755,234.12064 C 92.441406,233.91999 92.294684,233.62679 92.109588,233.24101 L 89.933481,227.17546 C 89.763431,226.69693 89.570549,226.45765 89.354834,226.45763 C 89.045834,226.45765 88.586591,226.43057 87.977104,226.37638 C 87.367595,226.32223 86.908353,226.29515 86.599374,226.29513 C 86.800018,226.29515 84.924894,226.33377 80.973995,226.411 C 80.541597,226.41102 79.769833,226.42656 78.658702,226.45763 C 78.33464,226.47319 78.141758,226.56575 78.080055,226.7353 C 77.97172,226.99767 77.917553,227.62271 77.917554,228.61042 L 77.917554,235.99576 L 77.779074,236.29674 L 77.779074,244.81677 z M 108.35267,245.11775 C 111.71716,245.24116 113.71592,245.30286 114.34898,245.30286 C 114.93539,245.30286 115.35201,245.19476 115.59883,244.97856 C 115.89227,244.16041 116.17794,243.67432 116.45585,243.52029
C 117.0578,243.52029 117.96451,243.49321 119.17598,243.43904 C 120.38743,243.38487 121.29414,243.35779 121.89612,243.35779 C 123.33177,243.35779 124.14215,243.45812 124.32728,243.65877 C 124.38897,243.76711 124.5663,244.04501 124.8593,244.49247 C 125.09102,244.86269 125.3303,245.07112 125.57713,245.11775 C 125.8861,245.11775 126.42636,245.12552 127.1979,245.14107 L 132.24464,245.27955 C 132.72317,245.27955 132.96244,245.12529 132.96247,244.81677 L 128.47107,234.12064 C 128.17807,233.47253 127.66113,232.26083 126.92024,230.48555 C 126.34887,229.06591 125.80862,227.86223 125.29946,226.87448 C 125.16049,226.5966 124.91345,226.45765 124.55831,226.45763 L 121.66437,226.43432 C 119.96681,226.41879 118.23064,226.47272 116.45585,226.59611 C 116.31689,226.73508 116.17794,226.8818 116.039,227.03628 L 108.35267,243.82127 C 108.16756,244.22258 108.07501,244.5311 108.07501,244.74682 L 108.07501,244.81677 C 108.12117,244.87847 108.21372,244.9788 108.35267,245.11775 L 108.35267,245.11775 z M 118.
47016,238.12595 C 118.47015,237.75526 118.67834,237.01435 119.09473,235.90321 C 119.54266,234.69929 119.89781,234.09733 120.16018,234.09732 C 120.34527,234.09733 120.69241,234.68387 121.2016,235.85693 C 121.71076,237.03001 121.96534,237.77858 121.96536,238.10263 C 121.96534,238.33438 121.54095,238.45779 120.69219,238.47285 C 121.41755,238.45779 120.90838,238.45025 119.16468,238.45024 C 119.11803,238.45025 119.04067,238.4579 118.93258,238.47321 C 118.82447,238.48852 118.74734,238.49617 118.70119,238.49617 C 118.54716,238.49617 118.47015,238.37277 118.47016,238.12595 L 118.47016,238.12595 z M 133.4422,244.63166 C 133.4422,244.95572 133.60423,245.11775 133.92829,245.11775 C 136.19719,245.11775 138.39661,245.07136 140.52656,244.97856 L 140.89678,244.67758 L 140.89678,238.61204 C 140.89677,238.30353 141.18998,238.11842 141.77641,238.05671 C 141.91535,238.04117 142.31666,238.0334 142.98033,238.03339 C 143.62845,238.0334 144.59309,238.05648 145.87427,238.10263 C 147.15543,238.1488 148.1200
8,238.17188 148.76821,238.17187 C 148.87606,238.23358 148.97639,238.3803 149.0692,238.61204 C 149.05364,239.13676 149.04586,239.6537 149.04588,240.16287 C 149.04586,241.72194 149.10003,243.28101 149.20838,244.84009 C 149.33177,245.0252 149.47826,245.11775 149.64784,245.11775 L 155.50567,245.11775 C 156.21547,245.11775 156.57815,244.83208 156.59372,244.26073 C 156.5937,243.79772 156.60901,242.95672 156.63965,241.73772 C 156.63962,241.30533 156.65517,240.34822 156.68628,238.86639 C 156.71687,237.47736 156.73218,236.52049 156.7322,235.99576 L 156.7322,227.33726 C 156.73218,227.18278 156.68979,226.99756 156.60503,226.78157 C 156.52022,226.56563 156.41612,226.45765 156.29274,226.45763 L 149.64784,226.45763 C 149.30822,226.45765 149.13842,226.69693 149.13843,227.17546 L 149.13843,232.82416 C 148.93777,232.96312 148.76796,233.06345 148.62903,233.12514 C 148.1043,233.12515 147.30945,233.14835 146.24449,233.19473 C 145.17951,233.24114 144.38467,233.26434 143.85996,233.26433 C 143.47419,233.2
6434 143.03449,233.22571 142.54087,233.14845 C 141.81502,233.04013 141.38263,232.97843 141.24369,232.96334 L 141.03597,232.68497 L 141.03597,226.75861 C 141.02042,226.72754 140.93928,226.66961 140.79257,226.58481 C 140.64584,226.50004 140.55717,226.45765 140.52656,226.45763 L 134.46031,226.45763 C 134.02838,226.45765 133.78157,226.55798 133.71987,226.75861 C 133.64262,227.02099 133.58869,227.66157 133.55807,228.68037 C 133.54253,229.2668 133.54253,230.22368 133.55807,231.55099 L 133.58068,233.54199 C 133.58068,233.80436 133.5576,234.19024 133.51144,234.69964 C 133.46528,235.20905 133.4422,235.59494 133.4422,235.85728 L 133.4422,237.29224 L 133.41889,238.72791 L 133.4422,244.63166 z M 157.18156,236.3893 C 157.18155,237.79389 157.56732,239.20623 158.33885,240.62635 C 159.52723,242.818 161.44875,244.25343 164.10341,244.93264 C 165.66248,245.33395 168.14757,245.5346 171.5587,245.5346 C 176.5284,245.5346 179.89288,243.79819 181.65216,240.32537 C 182.40859,238.82801 182.78682,237.24586 18
2.78685,235.57891 C 182.78682,229.09677 178.31097,225.85569 169.35928,225.85567 C 165.63963,225.85569 162.73792,226.6583 160.65414,228.26352 C 158.33908,230.06942 157.18155,232.77801 157.18156,236.3893 L 157.18156,236.3893 z M 165.28402,236.27343 C 165.28401,234.74545 165.65447,233.47983 166.39539,232.47655 C 167.22908,231.33481 168.37908,230.76394 169.84537,230.76392 C 170.10771,230.76394 170.23889,230.76394 170.2389,230.76392 C 170.59357,230.77901 170.72475,230.78654 170.63244,230.78653 C 170.81754,230.91042 171.07989,231.01852 171.41951,231.11083 C 171.92867,231.24979 172.21411,231.32704 172.27583,231.34257 C 173.07843,231.6511 173.69593,232.27614 174.12834,233.21769 C 174.49855,234.00478 174.68366,234.88464 174.68367,235.85728 C 174.68366,237.06075 174.27481,238.14103 173.45714,239.09813 C 172.60788,240.11695 171.59684,240.62635 170.42402,240.62635 C 169.00388,240.62635 167.8155,240.26367 166.85887,239.5383 C 165.80896,238.75123 165.28401,237.66294 165.28402,236.27343 L 165.2840
2,236.27343 z M 194.75544,245.67308 C 201.17588,245.67308 204.82603,243.74379 205.70592,239.8852 C 205.72144,239.8235 205.76006,239.31433 205.82179,238.35769 C 205.86793,237.63186 205.97579,237.17638 206.14538,236.99126 L 206.14538,229.74511 C 206.14535,228.00094 206.04503,226.94374 205.8444,226.5735 C 204.67154,226.46519 203.59126,226.41102 202.60355,226.411 C 201.78537,226.41102 200.59699,226.46519 199.03841,226.5735 L 198.76004,226.85117 L 198.6908,231.94453 C 198.69078,232.68546 198.69078,233.78905 198.6908,235.25532 C 198.67524,237.46205 198.33563,238.95518 197.67198,239.73471 C 197.0083,240.51425 196.04366,240.90402 194.77804,240.90402 C 193.71306,240.90402 192.81035,240.64166 192.06992,240.11694 C 191.22067,239.53053 190.79604,238.72792 190.79605,237.70909 L 190.79605,227.01296 C 190.79604,226.62722 190.60316,226.43433 190.2174,226.43432 L 183.98936,226.43432 C 183.88149,226.43433 183.68861,226.57329 183.41071,226.85117 C 183.41071,227.97786 183.38763,229.66788 183.34147,231.
92121 C 183.29531,234.17458 183.27223,235.86459 183.27223,236.99126 C 183.27223,239.46082 183.84711,241.3708 184.99687,242.72121 C 186.14662,244.07162 187.93319,244.90909 190.35659,245.23362 C 192.57885,245.52659 194.04513,245.67308 194.75544,245.67308 L 194.75544,245.67308 z M 206.60462,226.89709 L 206.60462,230.94903 C 206.60462,231.27311 207.50756,231.43514 209.31345,231.43512 C 209.77646,231.43514 210.4632,231.42737 211.37369,231.41181 L 213.24881,231.38849 C 213.54225,231.38851 213.68897,231.67418 213.68898,232.24551 L 213.68898,244.67758 C 213.68897,244.97103 213.83546,245.11775 214.12844,245.11775 L 220.77334,245.11775 L 220.91182,244.84009 C 220.95843,242.1388 221.0126,239.4839 221.07432,236.87539 L 221.2128,231.66686 C 221.38282,231.4813 221.52954,231.35765 221.65297,231.29594 L 228.15868,231.29594 L 228.15868,226.89709 L 227.8577,226.59611 C 225.34197,226.50381 223.63641,226.45765 222.74102,226.45763 L 209.75291,226.45763 C 209.50609,226.45765 208.54922,226.50381 206.88229
,226.59611 L 206.60462,226.89709 z "
- id="text9138"
- inkscape:export-filename="D:\Grafika\mahout\final\public\rect9147.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90" />
- <path
- sodipodi:type="arc"
- style="fill:#005300;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline"
- id="path3180"
- sodipodi:cx="160.83333"
- sodipodi:cy="71.769928"
- sodipodi:rx="9.5715446"
- sodipodi:ry="9.5715446"
- d="M 170.40487 71.769928 A 9.5715446 9.5715446 0 1 1 151.26178,71.769928 A 9.5715446 9.5715446 0 1 1 170.40487 71.769928 z"
- transform="matrix(0.1639137,0.5551419,-0.6046474,0.3419129,175.50732,-42.778692)"
- inkscape:export-filename="D:\Grafika\mahout\final\public\rect9147.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90" />
- <path
- style="fill:#005300;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.46393025;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline"
- d="M 144.09954,99.47666 C 144.73876,94.398819 145.13107,89.316533 146.93124,86.364732 C 148.81327,83.278707 151.81908,79.295057 155.72179,79.353742 C 159.62205,79.412389 160.71013,82.503104 161.49346,86.260098 C 162.31875,90.218327 164.77131,91.429818 165.21119,96.63426 C 161.31651,96.683298 158.70428,99.258017 155.40257,101.56491 C 151.84226,100.67725 148.14966,98.855728 144.09954,99.47666 z "
- id="path4152"
- sodipodi:nodetypes="cszzccc"
- inkscape:export-filename="D:\Grafika\mahout\final\public\rect9147.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90" />
- </g>
-</svg>

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/oldsite/images/MeanShift.png b/website-old/oldsite/images/MeanShift.png
deleted file mode 100644
index ea7f5e1..0000000
Binary files a/website-old/oldsite/images/MeanShift.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/oldsite/images/SampleData.png b/website-old/oldsite/images/SampleData.png
deleted file mode 100644
index 48c4690..0000000
Binary files a/website-old/oldsite/images/SampleData.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/oldsite/images/backward.gif b/website-old/oldsite/images/backward.gif
deleted file mode 100755
index 6b46fca..0000000
Binary files a/website-old/oldsite/images/backward.gif and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/oldsite/images/bg.png b/website-old/oldsite/images/bg.png
deleted file mode 100755
index 8c6d61b..0000000
Binary files a/website-old/oldsite/images/bg.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/oldsite/images/bullet.gif b/website-old/oldsite/images/bullet.gif
deleted file mode 100755
index a677dfc..0000000
Binary files a/website-old/oldsite/images/bullet.gif and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/oldsite/images/debug-config-2.png b/website-old/oldsite/images/debug-config-2.png
deleted file mode 100644
index 59a09b4..0000000
Binary files a/website-old/oldsite/images/debug-config-2.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/oldsite/images/debug-config.png b/website-old/oldsite/images/debug-config.png
deleted file mode 100644
index be49441..0000000
Binary files a/website-old/oldsite/images/debug-config.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/oldsite/images/download-mahout.png b/website-old/oldsite/images/download-mahout.png
deleted file mode 100644
index 77fa513..0000000
Binary files a/website-old/oldsite/images/download-mahout.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/oldsite/images/download-original.png b/website-old/oldsite/images/download-original.png
deleted file mode 100644
index ef50ce9..0000000
Binary files a/website-old/oldsite/images/download-original.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/oldsite/images/download.png b/website-old/oldsite/images/download.png
deleted file mode 100644
index ec24e77..0000000
Binary files a/website-old/oldsite/images/download.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/oldsite/images/effects.js
----------------------------------------------------------------------
diff --git a/website-old/oldsite/images/effects.js b/website-old/oldsite/images/effects.js
deleted file mode 100755
index f31a81a..0000000
--- a/website-old/oldsite/images/effects.js
+++ /dev/null
@@ -1,1130 +0,0 @@
-// script.aculo.us effects.js v1.8.2, Tue Nov 18 18:30:58 +0100 2008
-
-// Copyright (c) 2005-2008 Thomas Fuchs (http://script.aculo.us, http://mir.aculo.us)
-// Contributors:
-// Justin Palmer (http://encytemedia.com/)
-// Mark Pilgrim (http://diveintomark.org/)
-// Martin Bialasinki
-//
-// script.aculo.us is freely distributable under the terms of an MIT-style license.
-// For details, see the script.aculo.us web site: http://script.aculo.us/
-
-// converts rgb() and #xxx to #xxxxxx format,
-// returns self (or first argument) if not convertable
-String.prototype.parseColor = function() {
- var color = '#';
- if (this.slice(0,4) == 'rgb(') {
- var cols = this.slice(4,this.length-1).split(',');
- var i=0; do { color += parseInt(cols[i]).toColorPart() } while (++i<3);
- } else {
- if (this.slice(0,1) == '#') {
- if (this.length==4) for(var i=1;i<4;i++) color += (this.charAt(i) + this.charAt(i)).toLowerCase();
- if (this.length==7) color = this.toLowerCase();
- }
- }
- return (color.length==7 ? color : (arguments[0] || this));
-};
-
-/*--------------------------------------------------------------------------*/
-
-Element.collectTextNodes = function(element) {
- return $A($(element).childNodes).collect( function(node) {
- return (node.nodeType==3 ? node.nodeValue :
- (node.hasChildNodes() ? Element.collectTextNodes(node) : ''));
- }).flatten().join('');
-};
-
-Element.collectTextNodesIgnoreClass = function(element, className) {
- return $A($(element).childNodes).collect( function(node) {
- return (node.nodeType==3 ? node.nodeValue :
- ((node.hasChildNodes() && !Element.hasClassName(node,className)) ?
- Element.collectTextNodesIgnoreClass(node, className) : ''));
- }).flatten().join('');
-};
-
-Element.setContentZoom = function(element, percent) {
- element = $(element);
- element.setStyle({fontSize: (percent/100) + 'em'});
- if (Prototype.Browser.WebKit) window.scrollBy(0,0);
- return element;
-};
-
-Element.getInlineOpacity = function(element){
- return $(element).style.opacity || '';
-};
-
-Element.forceRerendering = function(element) {
- try {
- element = $(element);
- var n = document.createTextNode(' ');
- element.appendChild(n);
- element.removeChild(n);
- } catch(e) { }
-};
-
-/*--------------------------------------------------------------------------*/
-
-var Effect = {
- _elementDoesNotExistError: {
- name: 'ElementDoesNotExistError',
- message: 'The specified DOM element does not exist, but is required for this effect to operate'
- },
- Transitions: {
- linear: Prototype.K,
- sinoidal: function(pos) {
- return (-Math.cos(pos*Math.PI)/2) + .5;
- },
- reverse: function(pos) {
- return 1-pos;
- },
- flicker: function(pos) {
- var pos = ((-Math.cos(pos*Math.PI)/4) + .75) + Math.random()/4;
- return pos > 1 ? 1 : pos;
- },
- wobble: function(pos) {
- return (-Math.cos(pos*Math.PI*(9*pos))/2) + .5;
- },
- pulse: function(pos, pulses) {
- return (-Math.cos((pos*((pulses||5)-.5)*2)*Math.PI)/2) + .5;
- },
- spring: function(pos) {
- return 1 - (Math.cos(pos * 4.5 * Math.PI) * Math.exp(-pos * 6));
- },
- none: function(pos) {
- return 0;
- },
- full: function(pos) {
- return 1;
- }
- },
- DefaultOptions: {
- duration: 1.0, // seconds
- fps: 100, // 100= assume 66fps max.
- sync: false, // true for combining
- from: 0.0,
- to: 1.0,
- delay: 0.0,
- queue: 'parallel'
- },
- tagifyText: function(element) {
- var tagifyStyle = 'position:relative';
- if (Prototype.Browser.IE) tagifyStyle += ';zoom:1';
-
- element = $(element);
- $A(element.childNodes).each( function(child) {
- if (child.nodeType==3) {
- child.nodeValue.toArray().each( function(character) {
- element.insertBefore(
- new Element('span', {style: tagifyStyle}).update(
- character == ' ' ? String.fromCharCode(160) : character),
- child);
- });
- Element.remove(child);
- }
- });
- },
- multiple: function(element, effect) {
- var elements;
- if (((typeof element == 'object') ||
- Object.isFunction(element)) &&
- (element.length))
- elements = element;
- else
- elements = $(element).childNodes;
-
- var options = Object.extend({
- speed: 0.1,
- delay: 0.0
- }, arguments[2] || { });
- var masterDelay = options.delay;
-
- $A(elements).each( function(element, index) {
- new effect(element, Object.extend(options, { delay: index * options.speed + masterDelay }));
- });
- },
- PAIRS: {
- 'slide': ['SlideDown','SlideUp'],
- 'blind': ['BlindDown','BlindUp'],
- 'appear': ['Appear','Fade']
- },
- toggle: function(element, effect) {
- element = $(element);
- effect = (effect || 'appear').toLowerCase();
- var options = Object.extend({
- queue: { position:'end', scope:(element.id || 'global'), limit: 1 }
- }, arguments[2] || { });
- Effect[element.visible() ?
- Effect.PAIRS[effect][1] : Effect.PAIRS[effect][0]](element, options);
- }
-};
-
-Effect.DefaultOptions.transition = Effect.Transitions.sinoidal;
-
-/* ------------- core effects ------------- */
-
-Effect.ScopedQueue = Class.create(Enumerable, {
- initialize: function() {
- this.effects = [];
- this.interval = null;
- },
- _each: function(iterator) {
- this.effects._each(iterator);
- },
- add: function(effect) {
- var timestamp = new Date().getTime();
-
- var position = Object.isString(effect.options.queue) ?
- effect.options.queue : effect.options.queue.position;
-
- switch(position) {
- case 'front':
- // move unstarted effects after this effect
- this.effects.findAll(function(e){ return e.state=='idle' }).each( function(e) {
- e.startOn += effect.finishOn;
- e.finishOn += effect.finishOn;
- });
- break;
- case 'with-last':
- timestamp = this.effects.pluck('startOn').max() || timestamp;
- break;
- case 'end':
- // start effect after last queued effect has finished
- timestamp = this.effects.pluck('finishOn').max() || timestamp;
- break;
- }
-
- effect.startOn += timestamp;
- effect.finishOn += timestamp;
-
- if (!effect.options.queue.limit || (this.effects.length < effect.options.queue.limit))
- this.effects.push(effect);
-
- if (!this.interval)
- this.interval = setInterval(this.loop.bind(this), 15);
- },
- remove: function(effect) {
- this.effects = this.effects.reject(function(e) { return e==effect });
- if (this.effects.length == 0) {
- clearInterval(this.interval);
- this.interval = null;
- }
- },
- loop: function() {
- var timePos = new Date().getTime();
- for(var i=0, len=this.effects.length;i<len;i++)
- this.effects[i] && this.effects[i].loop(timePos);
- }
-});
-
-Effect.Queues = {
- instances: $H(),
- get: function(queueName) {
- if (!Object.isString(queueName)) return queueName;
-
- return this.instances.get(queueName) ||
- this.instances.set(queueName, new Effect.ScopedQueue());
- }
-};
-Effect.Queue = Effect.Queues.get('global');
-
-Effect.Base = Class.create({
- position: null,
- start: function(options) {
- function codeForEvent(options,eventName){
- return (
- (options[eventName+'Internal'] ? 'this.options.'+eventName+'Internal(this);' : '') +
- (options[eventName] ? 'this.options.'+eventName+'(this);' : '')
- );
- }
- if (options && options.transition === false) options.transition = Effect.Transitions.linear;
- this.options = Object.extend(Object.extend({ },Effect.DefaultOptions), options || { });
- this.currentFrame = 0;
- this.state = 'idle';
- this.startOn = this.options.delay*1000;
- this.finishOn = this.startOn+(this.options.duration*1000);
- this.fromToDelta = this.options.to-this.options.from;
- this.totalTime = this.finishOn-this.startOn;
- this.totalFrames = this.options.fps*this.options.duration;
-
- this.render = (function() {
- function dispatch(effect, eventName) {
- if (effect.options[eventName + 'Internal'])
- effect.options[eventName + 'Internal'](effect);
- if (effect.options[eventName])
- effect.options[eventName](effect);
- }
-
- return function(pos) {
- if (this.state === "idle") {
- this.state = "running";
- dispatch(this, 'beforeSetup');
- if (this.setup) this.setup();
- dispatch(this, 'afterSetup');
- }
- if (this.state === "running") {
- pos = (this.options.transition(pos) * this.fromToDelta) + this.options.from;
- this.position = pos;
- dispatch(this, 'beforeUpdate');
- if (this.update) this.update(pos);
- dispatch(this, 'afterUpdate');
- }
- };
- })();
-
- this.event('beforeStart');
- if (!this.options.sync)
- Effect.Queues.get(Object.isString(this.options.queue) ?
- 'global' : this.options.queue.scope).add(this);
- },
- loop: function(timePos) {
- if (timePos >= this.startOn) {
- if (timePos >= this.finishOn) {
- this.render(1.0);
- this.cancel();
- this.event('beforeFinish');
- if (this.finish) this.finish();
- this.event('afterFinish');
- return;
- }
- var pos = (timePos - this.startOn) / this.totalTime,
- frame = (pos * this.totalFrames).round();
- if (frame > this.currentFrame) {
- this.render(pos);
- this.currentFrame = frame;
- }
- }
- },
- cancel: function() {
- if (!this.options.sync)
- Effect.Queues.get(Object.isString(this.options.queue) ?
- 'global' : this.options.queue.scope).remove(this);
- this.state = 'finished';
- },
- event: function(eventName) {
- if (this.options[eventName + 'Internal']) this.options[eventName + 'Internal'](this);
- if (this.options[eventName]) this.options[eventName](this);
- },
- inspect: function() {
- var data = $H();
- for(property in this)
- if (!Object.isFunction(this[property])) data.set(property, this[property]);
- return '#<Effect:' + data.inspect() + ',options:' + $H(this.options).inspect() + '>';
- }
-});
-
-Effect.Parallel = Class.create(Effect.Base, {
- initialize: function(effects) {
- this.effects = effects || [];
- this.start(arguments[1]);
- },
- update: function(position) {
- this.effects.invoke('render', position);
- },
- finish: function(position) {
- this.effects.each( function(effect) {
- effect.render(1.0);
- effect.cancel();
- effect.event('beforeFinish');
- if (effect.finish) effect.finish(position);
- effect.event('afterFinish');
- });
- }
-});
-
-Effect.Tween = Class.create(Effect.Base, {
- initialize: function(object, from, to) {
- object = Object.isString(object) ? $(object) : object;
- var args = $A(arguments), method = args.last(),
- options = args.length == 5 ? args[3] : null;
- this.method = Object.isFunction(method) ? method.bind(object) :
- Object.isFunction(object[method]) ? object[method].bind(object) :
- function(value) { object[method] = value };
- this.start(Object.extend({ from: from, to: to }, options || { }));
- },
- update: function(position) {
- this.method(position);
- }
-});
-
-Effect.Event = Class.create(Effect.Base, {
- initialize: function() {
- this.start(Object.extend({ duration: 0 }, arguments[0] || { }));
- },
- update: Prototype.emptyFunction
-});
-
-Effect.Opacity = Class.create(Effect.Base, {
- initialize: function(element) {
- this.element = $(element);
- if (!this.element) throw(Effect._elementDoesNotExistError);
- // make this work on IE on elements without 'layout'
- if (Prototype.Browser.IE && (!this.element.currentStyle.hasLayout))
- this.element.setStyle({zoom: 1});
- var options = Object.extend({
- from: this.element.getOpacity() || 0.0,
- to: 1.0
- }, arguments[1] || { });
- this.start(options);
- },
- update: function(position) {
- this.element.setOpacity(position);
- }
-});
-
-Effect.Move = Class.create(Effect.Base, {
- initialize: function(element) {
- this.element = $(element);
- if (!this.element) throw(Effect._elementDoesNotExistError);
- var options = Object.extend({
- x: 0,
- y: 0,
- mode: 'relative'
- }, arguments[1] || { });
- this.start(options);
- },
- setup: function() {
- this.element.makePositioned();
- this.originalLeft = parseFloat(this.element.getStyle('left') || '0');
- this.originalTop = parseFloat(this.element.getStyle('top') || '0');
- if (this.options.mode == 'absolute') {
- this.options.x = this.options.x - this.originalLeft;
- this.options.y = this.options.y - this.originalTop;
- }
- },
- update: function(position) {
- this.element.setStyle({
- left: (this.options.x * position + this.originalLeft).round() + 'px',
- top: (this.options.y * position + this.originalTop).round() + 'px'
- });
- }
-});
-
-// for backwards compatibility
-Effect.MoveBy = function(element, toTop, toLeft) {
- return new Effect.Move(element,
- Object.extend({ x: toLeft, y: toTop }, arguments[3] || { }));
-};
-
-Effect.Scale = Class.create(Effect.Base, {
- initialize: function(element, percent) {
- this.element = $(element);
- if (!this.element) throw(Effect._elementDoesNotExistError);
- var options = Object.extend({
- scaleX: true,
- scaleY: true,
- scaleContent: true,
- scaleFromCenter: false,
- scaleMode: 'box', // 'box' or 'contents' or { } with provided values
- scaleFrom: 100.0,
- scaleTo: percent
- }, arguments[2] || { });
- this.start(options);
- },
- setup: function() {
- this.restoreAfterFinish = this.options.restoreAfterFinish || false;
- this.elementPositioning = this.element.getStyle('position');
-
- this.originalStyle = { };
- ['top','left','width','height','fontSize'].each( function(k) {
- this.originalStyle[k] = this.element.style[k];
- }.bind(this));
-
- this.originalTop = this.element.offsetTop;
- this.originalLeft = this.element.offsetLeft;
-
- var fontSize = this.element.getStyle('font-size') || '100%';
- ['em','px','%','pt'].each( function(fontSizeType) {
- if (fontSize.indexOf(fontSizeType)>0) {
- this.fontSize = parseFloat(fontSize);
- this.fontSizeType = fontSizeType;
- }
- }.bind(this));
-
- this.factor = (this.options.scaleTo - this.options.scaleFrom)/100;
-
- this.dims = null;
- if (this.options.scaleMode=='box')
- this.dims = [this.element.offsetHeight, this.element.offsetWidth];
- if (/^content/.test(this.options.scaleMode))
- this.dims = [this.element.scrollHeight, this.element.scrollWidth];
- if (!this.dims)
- this.dims = [this.options.scaleMode.originalHeight,
- this.options.scaleMode.originalWidth];
- },
- update: function(position) {
- var currentScale = (this.options.scaleFrom/100.0) + (this.factor * position);
- if (this.options.scaleContent && this.fontSize)
- this.element.setStyle({fontSize: this.fontSize * currentScale + this.fontSizeType });
- this.setDimensions(this.dims[0] * currentScale, this.dims[1] * currentScale);
- },
- finish: function(position) {
- if (this.restoreAfterFinish) this.element.setStyle(this.originalStyle);
- },
- setDimensions: function(height, width) {
- var d = { };
- if (this.options.scaleX) d.width = width.round() + 'px';
- if (this.options.scaleY) d.height = height.round() + 'px';
- if (this.options.scaleFromCenter) {
- var topd = (height - this.dims[0])/2;
- var leftd = (width - this.dims[1])/2;
- if (this.elementPositioning == 'absolute') {
- if (this.options.scaleY) d.top = this.originalTop-topd + 'px';
- if (this.options.scaleX) d.left = this.originalLeft-leftd + 'px';
- } else {
- if (this.options.scaleY) d.top = -topd + 'px';
- if (this.options.scaleX) d.left = -leftd + 'px';
- }
- }
- this.element.setStyle(d);
- }
-});
-
-Effect.Highlight = Class.create(Effect.Base, {
- initialize: function(element) {
- this.element = $(element);
- if (!this.element) throw(Effect._elementDoesNotExistError);
- var options = Object.extend({ startcolor: '#ffff99' }, arguments[1] || { });
- this.start(options);
- },
- setup: function() {
- // Prevent executing on elements not in the layout flow
- if (this.element.getStyle('display')=='none') { this.cancel(); return; }
- // Disable background image during the effect
- this.oldStyle = { };
- if (!this.options.keepBackgroundImage) {
- this.oldStyle.backgroundImage = this.element.getStyle('background-image');
- this.element.setStyle({backgroundImage: 'none'});
- }
- if (!this.options.endcolor)
- this.options.endcolor = this.element.getStyle('background-color').parseColor('#ffffff');
- if (!this.options.restorecolor)
- this.options.restorecolor = this.element.getStyle('background-color');
- // init color calculations
- this._base = $R(0,2).map(function(i){ return parseInt(this.options.startcolor.slice(i*2+1,i*2+3),16) }.bind(this));
- this._delta = $R(0,2).map(function(i){ return parseInt(this.options.endcolor.slice(i*2+1,i*2+3),16)-this._base[i] }.bind(this));
- },
- update: function(position) {
- this.element.setStyle({backgroundColor: $R(0,2).inject('#',function(m,v,i){
- return m+((this._base[i]+(this._delta[i]*position)).round().toColorPart()); }.bind(this)) });
- },
- finish: function() {
- this.element.setStyle(Object.extend(this.oldStyle, {
- backgroundColor: this.options.restorecolor
- }));
- }
-});
-
-Effect.ScrollTo = function(element) {
- var options = arguments[1] || { },
- scrollOffsets = document.viewport.getScrollOffsets(),
- elementOffsets = $(element).cumulativeOffset();
-
- if (options.offset) elementOffsets[1] += options.offset;
-
- return new Effect.Tween(null,
- scrollOffsets.top,
- elementOffsets[1],
- options,
- function(p){ scrollTo(scrollOffsets.left, p.round()); }
- );
-};
-
-/* ------------- combination effects ------------- */
-
-Effect.Fade = function(element) {
- element = $(element);
- var oldOpacity = element.getInlineOpacity();
- var options = Object.extend({
- from: element.getOpacity() || 1.0,
- to: 0.0,
- afterFinishInternal: function(effect) {
- if (effect.options.to!=0) return;
- effect.element.hide().setStyle({opacity: oldOpacity});
- }
- }, arguments[1] || { });
- return new Effect.Opacity(element,options);
-};
-
-Effect.Appear = function(element) {
- element = $(element);
- var options = Object.extend({
- from: (element.getStyle('display') == 'none' ? 0.0 : element.getOpacity() || 0.0),
- to: 1.0,
- // force Safari to render floated elements properly
- afterFinishInternal: function(effect) {
- effect.element.forceRerendering();
- },
- beforeSetup: function(effect) {
- effect.element.setOpacity(effect.options.from).show();
- }}, arguments[1] || { });
- return new Effect.Opacity(element,options);
-};
-
-Effect.Puff = function(element) {
- element = $(element);
- var oldStyle = {
- opacity: element.getInlineOpacity(),
- position: element.getStyle('position'),
- top: element.style.top,
- left: element.style.left,
- width: element.style.width,
- height: element.style.height
- };
- return new Effect.Parallel(
- [ new Effect.Scale(element, 200,
- { sync: true, scaleFromCenter: true, scaleContent: true, restoreAfterFinish: true }),
- new Effect.Opacity(element, { sync: true, to: 0.0 } ) ],
- Object.extend({ duration: 1.0,
- beforeSetupInternal: function(effect) {
- Position.absolutize(effect.effects[0].element);
- },
- afterFinishInternal: function(effect) {
- effect.effects[0].element.hide().setStyle(oldStyle); }
- }, arguments[1] || { })
- );
-};
-
-Effect.BlindUp = function(element) {
- element = $(element);
- element.makeClipping();
- return new Effect.Scale(element, 0,
- Object.extend({ scaleContent: false,
- scaleX: false,
- restoreAfterFinish: true,
- afterFinishInternal: function(effect) {
- effect.element.hide().undoClipping();
- }
- }, arguments[1] || { })
- );
-};
-
-Effect.BlindDown = function(element) {
- element = $(element);
- var elementDimensions = element.getDimensions();
- return new Effect.Scale(element, 100, Object.extend({
- scaleContent: false,
- scaleX: false,
- scaleFrom: 0,
- scaleMode: {originalHeight: elementDimensions.height, originalWidth: elementDimensions.width},
- restoreAfterFinish: true,
- afterSetup: function(effect) {
- effect.element.makeClipping().setStyle({height: '0px'}).show();
- },
- afterFinishInternal: function(effect) {
- effect.element.undoClipping();
- }
- }, arguments[1] || { }));
-};
-
-Effect.SwitchOff = function(element) {
- element = $(element);
- var oldOpacity = element.getInlineOpacity();
- return new Effect.Appear(element, Object.extend({
- duration: 0.4,
- from: 0,
- transition: Effect.Transitions.flicker,
- afterFinishInternal: function(effect) {
- new Effect.Scale(effect.element, 1, {
- duration: 0.3, scaleFromCenter: true,
- scaleX: false, scaleContent: false, restoreAfterFinish: true,
- beforeSetup: function(effect) {
- effect.element.makePositioned().makeClipping();
- },
- afterFinishInternal: function(effect) {
- effect.element.hide().undoClipping().undoPositioned().setStyle({opacity: oldOpacity});
- }
- });
- }
- }, arguments[1] || { }));
-};
-
-Effect.DropOut = function(element) {
- element = $(element);
- var oldStyle = {
- top: element.getStyle('top'),
- left: element.getStyle('left'),
- opacity: element.getInlineOpacity() };
- return new Effect.Parallel(
- [ new Effect.Move(element, {x: 0, y: 100, sync: true }),
- new Effect.Opacity(element, { sync: true, to: 0.0 }) ],
- Object.extend(
- { duration: 0.5,
- beforeSetup: function(effect) {
- effect.effects[0].element.makePositioned();
- },
- afterFinishInternal: function(effect) {
- effect.effects[0].element.hide().undoPositioned().setStyle(oldStyle);
- }
- }, arguments[1] || { }));
-};
-
-Effect.Shake = function(element) {
- element = $(element);
- var options = Object.extend({
- distance: 20,
- duration: 0.5
- }, arguments[1] || {});
- var distance = parseFloat(options.distance);
- var split = parseFloat(options.duration) / 10.0;
- var oldStyle = {
- top: element.getStyle('top'),
- left: element.getStyle('left') };
- return new Effect.Move(element,
- { x: distance, y: 0, duration: split, afterFinishInternal: function(effect) {
- new Effect.Move(effect.element,
- { x: -distance*2, y: 0, duration: split*2, afterFinishInternal: function(effect) {
- new Effect.Move(effect.element,
- { x: distance*2, y: 0, duration: split*2, afterFinishInternal: function(effect) {
- new Effect.Move(effect.element,
- { x: -distance*2, y: 0, duration: split*2, afterFinishInternal: function(effect) {
- new Effect.Move(effect.element,
- { x: distance*2, y: 0, duration: split*2, afterFinishInternal: function(effect) {
- new Effect.Move(effect.element,
- { x: -distance, y: 0, duration: split, afterFinishInternal: function(effect) {
- effect.element.undoPositioned().setStyle(oldStyle);
- }}); }}); }}); }}); }}); }});
-};
-
-Effect.SlideDown = function(element) {
- element = $(element).cleanWhitespace();
- // SlideDown need to have the content of the element wrapped in a container element with fixed height!
- var oldInnerBottom = element.down().getStyle('bottom');
- var elementDimensions = element.getDimensions();
- return new Effect.Scale(element, 100, Object.extend({
- scaleContent: false,
- scaleX: false,
- scaleFrom: window.opera ? 0 : 1,
- scaleMode: {originalHeight: elementDimensions.height, originalWidth: elementDimensions.width},
- restoreAfterFinish: true,
- afterSetup: function(effect) {
- effect.element.makePositioned();
- effect.element.down().makePositioned();
- if (window.opera) effect.element.setStyle({top: ''});
- effect.element.makeClipping().setStyle({height: '0px'}).show();
- },
- afterUpdateInternal: function(effect) {
- effect.element.down().setStyle({bottom:
- (effect.dims[0] - effect.element.clientHeight) + 'px' });
- },
- afterFinishInternal: function(effect) {
- effect.element.undoClipping().undoPositioned();
- effect.element.down().undoPositioned().setStyle({bottom: oldInnerBottom}); }
- }, arguments[1] || { })
- );
-};
-
-Effect.SlideUp = function(element) {
- element = $(element).cleanWhitespace();
- var oldInnerBottom = element.down().getStyle('bottom');
- var elementDimensions = element.getDimensions();
- return new Effect.Scale(element, window.opera ? 0 : 1,
- Object.extend({ scaleContent: false,
- scaleX: false,
- scaleMode: 'box',
- scaleFrom: 100,
- scaleMode: {originalHeight: elementDimensions.height, originalWidth: elementDimensions.width},
- restoreAfterFinish: true,
- afterSetup: function(effect) {
- effect.element.makePositioned();
- effect.element.down().makePositioned();
- if (window.opera) effect.element.setStyle({top: ''});
- effect.element.makeClipping().show();
- },
- afterUpdateInternal: function(effect) {
- effect.element.down().setStyle({bottom:
- (effect.dims[0] - effect.element.clientHeight) + 'px' });
- },
- afterFinishInternal: function(effect) {
- effect.element.hide().undoClipping().undoPositioned();
- effect.element.down().undoPositioned().setStyle({bottom: oldInnerBottom});
- }
- }, arguments[1] || { })
- );
-};
-
-// Bug in opera makes the TD containing this element expand for a instance after finish
-Effect.Squish = function(element) {
- return new Effect.Scale(element, window.opera ? 1 : 0, {
- restoreAfterFinish: true,
- beforeSetup: function(effect) {
- effect.element.makeClipping();
- },
- afterFinishInternal: function(effect) {
- effect.element.hide().undoClipping();
- }
- });
-};
-
-Effect.Grow = function(element) {
- element = $(element);
- var options = Object.extend({
- direction: 'center',
- moveTransition: Effect.Transitions.sinoidal,
- scaleTransition: Effect.Transitions.sinoidal,
- opacityTransition: Effect.Transitions.full
- }, arguments[1] || { });
- var oldStyle = {
- top: element.style.top,
- left: element.style.left,
- height: element.style.height,
- width: element.style.width,
- opacity: element.getInlineOpacity() };
-
- var dims = element.getDimensions();
- var initialMoveX, initialMoveY;
- var moveX, moveY;
-
- switch (options.direction) {
- case 'top-left':
- initialMoveX = initialMoveY = moveX = moveY = 0;
- break;
- case 'top-right':
- initialMoveX = dims.width;
- initialMoveY = moveY = 0;
- moveX = -dims.width;
- break;
- case 'bottom-left':
- initialMoveX = moveX = 0;
- initialMoveY = dims.height;
- moveY = -dims.height;
- break;
- case 'bottom-right':
- initialMoveX = dims.width;
- initialMoveY = dims.height;
- moveX = -dims.width;
- moveY = -dims.height;
- break;
- case 'center':
- initialMoveX = dims.width / 2;
- initialMoveY = dims.height / 2;
- moveX = -dims.width / 2;
- moveY = -dims.height / 2;
- break;
- }
-
- return new Effect.Move(element, {
- x: initialMoveX,
- y: initialMoveY,
- duration: 0.01,
- beforeSetup: function(effect) {
- effect.element.hide().makeClipping().makePositioned();
- },
- afterFinishInternal: function(effect) {
- new Effect.Parallel(
- [ new Effect.Opacity(effect.element, { sync: true, to: 1.0, from: 0.0, transition: options.opacityTransition }),
- new Effect.Move(effect.element, { x: moveX, y: moveY, sync: true, transition: options.moveTransition }),
- new Effect.Scale(effect.element, 100, {
- scaleMode: { originalHeight: dims.height, originalWidth: dims.width },
- sync: true, scaleFrom: window.opera ? 1 : 0, transition: options.scaleTransition, restoreAfterFinish: true})
- ], Object.extend({
- beforeSetup: function(effect) {
- effect.effects[0].element.setStyle({height: '0px'}).show();
- },
- afterFinishInternal: function(effect) {
- effect.effects[0].element.undoClipping().undoPositioned().setStyle(oldStyle);
- }
- }, options)
- );
- }
- });
-};
-
-Effect.Shrink = function(element) {
- element = $(element);
- var options = Object.extend({
- direction: 'center',
- moveTransition: Effect.Transitions.sinoidal,
- scaleTransition: Effect.Transitions.sinoidal,
- opacityTransition: Effect.Transitions.none
- }, arguments[1] || { });
- var oldStyle = {
- top: element.style.top,
- left: element.style.left,
- height: element.style.height,
- width: element.style.width,
- opacity: element.getInlineOpacity() };
-
- var dims = element.getDimensions();
- var moveX, moveY;
-
- switch (options.direction) {
- case 'top-left':
- moveX = moveY = 0;
- break;
- case 'top-right':
- moveX = dims.width;
- moveY = 0;
- break;
- case 'bottom-left':
- moveX = 0;
- moveY = dims.height;
- break;
- case 'bottom-right':
- moveX = dims.width;
- moveY = dims.height;
- break;
- case 'center':
- moveX = dims.width / 2;
- moveY = dims.height / 2;
- break;
- }
-
- return new Effect.Parallel(
- [ new Effect.Opacity(element, { sync: true, to: 0.0, from: 1.0, transition: options.opacityTransition }),
- new Effect.Scale(element, window.opera ? 1 : 0, { sync: true, transition: options.scaleTransition, restoreAfterFinish: true}),
- new Effect.Move(element, { x: moveX, y: moveY, sync: true, transition: options.moveTransition })
- ], Object.extend({
- beforeStartInternal: function(effect) {
- effect.effects[0].element.makePositioned().makeClipping();
- },
- afterFinishInternal: function(effect) {
- effect.effects[0].element.hide().undoClipping().undoPositioned().setStyle(oldStyle); }
- }, options)
- );
-};
-
-Effect.Pulsate = function(element) {
- element = $(element);
- var options = arguments[1] || { },
- oldOpacity = element.getInlineOpacity(),
- transition = options.transition || Effect.Transitions.linear,
- reverser = function(pos){
- return 1 - transition((-Math.cos((pos*(options.pulses||5)*2)*Math.PI)/2) + .5);
- };
-
- return new Effect.Opacity(element,
- Object.extend(Object.extend({ duration: 2.0, from: 0,
- afterFinishInternal: function(effect) { effect.element.setStyle({opacity: oldOpacity}); }
- }, options), {transition: reverser}));
-};
-
-Effect.Fold = function(element) {
- element = $(element);
- var oldStyle = {
- top: element.style.top,
- left: element.style.left,
- width: element.style.width,
- height: element.style.height };
- element.makeClipping();
- return new Effect.Scale(element, 5, Object.extend({
- scaleContent: false,
- scaleX: false,
- afterFinishInternal: function(effect) {
- new Effect.Scale(element, 1, {
- scaleContent: false,
- scaleY: false,
- afterFinishInternal: function(effect) {
- effect.element.hide().undoClipping().setStyle(oldStyle);
- } });
- }}, arguments[1] || { }));
-};
-
-Effect.Morph = Class.create(Effect.Base, {
- initialize: function(element) {
- this.element = $(element);
- if (!this.element) throw(Effect._elementDoesNotExistError);
- var options = Object.extend({
- style: { }
- }, arguments[1] || { });
-
- if (!Object.isString(options.style)) this.style = $H(options.style);
- else {
- if (options.style.include(':'))
- this.style = options.style.parseStyle();
- else {
- this.element.addClassName(options.style);
- this.style = $H(this.element.getStyles());
- this.element.removeClassName(options.style);
- var css = this.element.getStyles();
- this.style = this.style.reject(function(style) {
- return style.value == css[style.key];
- });
- options.afterFinishInternal = function(effect) {
- effect.element.addClassName(effect.options.style);
- effect.transforms.each(function(transform) {
- effect.element.style[transform.style] = '';
- });
- };
- }
- }
- this.start(options);
- },
-
- setup: function(){
- function parseColor(color){
- if (!color || ['rgba(0, 0, 0, 0)','transparent'].include(color)) color = '#ffffff';
- color = color.parseColor();
- return $R(0,2).map(function(i){
- return parseInt( color.slice(i*2+1,i*2+3), 16 );
- });
- }
- this.transforms = this.style.map(function(pair){
- var property = pair[0], value = pair[1], unit = null;
-
- if (value.parseColor('#zzzzzz') != '#zzzzzz') {
- value = value.parseColor();
- unit = 'color';
- } else if (property == 'opacity') {
- value = parseFloat(value);
- if (Prototype.Browser.IE && (!this.element.currentStyle.hasLayout))
- this.element.setStyle({zoom: 1});
- } else if (Element.CSS_LENGTH.test(value)) {
- var components = value.match(/^([\+\-]?[0-9\.]+)(.*)$/);
- value = parseFloat(components[1]);
- unit = (components.length == 3) ? components[2] : null;
- }
-
- var originalValue = this.element.getStyle(property);
- return {
- style: property.camelize(),
- originalValue: unit=='color' ? parseColor(originalValue) : parseFloat(originalValue || 0),
- targetValue: unit=='color' ? parseColor(value) : value,
- unit: unit
- };
- }.bind(this)).reject(function(transform){
- return (
- (transform.originalValue == transform.targetValue) ||
- (
- transform.unit != 'color' &&
- (isNaN(transform.originalValue) || isNaN(transform.targetValue))
- )
- );
- });
- },
- update: function(position) {
- var style = { }, transform, i = this.transforms.length;
- while(i--)
- style[(transform = this.transforms[i]).style] =
- transform.unit=='color' ? '#'+
- (Math.round(transform.originalValue[0]+
- (transform.targetValue[0]-transform.originalValue[0])*position)).toColorPart() +
- (Math.round(transform.originalValue[1]+
- (transform.targetValue[1]-transform.originalValue[1])*position)).toColorPart() +
- (Math.round(transform.originalValue[2]+
- (transform.targetValue[2]-transform.originalValue[2])*position)).toColorPart() :
- (transform.originalValue +
- (transform.targetValue - transform.originalValue) * position).toFixed(3) +
- (transform.unit === null ? '' : transform.unit);
- this.element.setStyle(style, true);
- }
-});
-
-Effect.Transform = Class.create({
- initialize: function(tracks){
- this.tracks = [];
- this.options = arguments[1] || { };
- this.addTracks(tracks);
- },
- addTracks: function(tracks){
- tracks.each(function(track){
- track = $H(track);
- var data = track.values().first();
- this.tracks.push($H({
- ids: track.keys().first(),
- effect: Effect.Morph,
- options: { style: data }
- }));
- }.bind(this));
- return this;
- },
- play: function(){
- return new Effect.Parallel(
- this.tracks.map(function(track){
- var ids = track.get('ids'), effect = track.get('effect'), options = track.get('options');
- var elements = [$(ids) || $$(ids)].flatten();
- return elements.map(function(e){ return new effect(e, Object.extend({ sync:true }, options)) });
- }).flatten(),
- this.options
- );
- }
-});
-
-Element.CSS_PROPERTIES = $w(
- 'backgroundColor backgroundPosition borderBottomColor borderBottomStyle ' +
- 'borderBottomWidth borderLeftColor borderLeftStyle borderLeftWidth ' +
- 'borderRightColor borderRightStyle borderRightWidth borderSpacing ' +
- 'borderTopColor borderTopStyle borderTopWidth bottom clip color ' +
- 'fontSize fontWeight height left letterSpacing lineHeight ' +
- 'marginBottom marginLeft marginRight marginTop markerOffset maxHeight '+
- 'maxWidth minHeight minWidth opacity outlineColor outlineOffset ' +
- 'outlineWidth paddingBottom paddingLeft paddingRight paddingTop ' +
- 'right textIndent top width wordSpacing zIndex');
-
-Element.CSS_LENGTH = /^(([\+\-]?[0-9\.]+)(em|ex|px|in|cm|mm|pt|pc|\%))|0$/;
-
-String.__parseStyleElement = document.createElement('div');
-String.prototype.parseStyle = function(){
- var style, styleRules = $H();
- if (Prototype.Browser.WebKit)
- style = new Element('div',{style:this}).style;
- else {
- String.__parseStyleElement.innerHTML = '<div style="' + this + '"></div>';
- style = String.__parseStyleElement.childNodes[0].style;
- }
-
- Element.CSS_PROPERTIES.each(function(property){
- if (style[property]) styleRules.set(property, style[property]);
- });
-
- if (Prototype.Browser.IE && this.include('opacity'))
- styleRules.set('opacity', this.match(/opacity:\s*((?:0|1)?(?:\.\d*)?)/)[1]);
-
- return styleRules;
-};
-
-if (document.defaultView && document.defaultView.getComputedStyle) {
- Element.getStyles = function(element) {
- var css = document.defaultView.getComputedStyle($(element), null);
- return Element.CSS_PROPERTIES.inject({ }, function(styles, property) {
- styles[property] = css[property];
- return styles;
- });
- };
-} else {
- Element.getStyles = function(element) {
- element = $(element);
- var css = element.currentStyle, styles;
- styles = Element.CSS_PROPERTIES.inject({ }, function(results, property) {
- results[property] = css[property];
- return results;
- });
- if (!styles.opacity) styles.opacity = element.getOpacity();
- return styles;
- };
-}
-
-Effect.Methods = {
- morph: function(element, style) {
- element = $(element);
- new Effect.Morph(element, Object.extend({ style: style }, arguments[2] || { }));
- return element;
- },
- visualEffect: function(element, effect, options) {
- element = $(element);
- var s = effect.dasherize().camelize(), klass = s.charAt(0).toUpperCase() + s.substring(1);
- new Effect[klass](element, options);
- return element;
- },
- highlight: function(element, options) {
- element = $(element);
- new Effect.Highlight(element, options);
- return element;
- }
-};
-
-$w('fade appear grow shrink fold blindUp blindDown slideUp slideDown '+
- 'pulsate shake puff squish switchOff dropOut').each(
- function(effect) {
- Effect.Methods[effect] = function(element, options){
- element = $(element);
- Effect[effect.charAt(0).toUpperCase() + effect.substring(1)](element, options);
- return element;
- };
- }
-);
-
-$w('getInlineOpacity forceRerendering setContentZoom collectTextNodes collectTextNodesIgnoreClass getStyles').each(
- function(f) { Effect.Methods[f] = Element[f]; }
-);
-
-Element.addMethods(Effect.Methods);
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/oldsite/images/favicon.ico
----------------------------------------------------------------------
diff --git a/website-old/oldsite/images/favicon.ico b/website-old/oldsite/images/favicon.ico
deleted file mode 100644
index 4f5878d..0000000
Binary files a/website-old/oldsite/images/favicon.ico and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/oldsite/images/flink_squirrel_100_color.png b/website-old/oldsite/images/flink_squirrel_100_color.png
deleted file mode 100644
index c508e1e..0000000
Binary files a/website-old/oldsite/images/flink_squirrel_100_color.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/oldsite/images/forward.gif b/website-old/oldsite/images/forward.gif
deleted file mode 100755
index c17444a..0000000
Binary files a/website-old/oldsite/images/forward.gif and /dev/null differ

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/oldsite/images/generic page.png
----------------------------------------------------------------------
diff --git a/website-old/oldsite/images/generic page.png b/website-old/oldsite/images/generic page.png
deleted file mode 100644
index 892564d..0000000
Binary files a/website-old/oldsite/images/generic page.png and /dev/null differ
a***@apache.org
2017-12-21 04:52:47 UTC
Permalink
http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/oldsite/css/bootstrap-responsive.css
----------------------------------------------------------------------
diff --git a/website-old/oldsite/css/bootstrap-responsive.css b/website-old/oldsite/css/bootstrap-responsive.css
deleted file mode 100644
index fcd72f7..0000000
--- a/website-old/oldsite/css/bootstrap-responsive.css
+++ /dev/null
@@ -1,1109 +0,0 @@
-/*!
- * Bootstrap Responsive v2.3.1
- *
- * Copyright 2012 Twitter, Inc
- * Licensed under the Apache License v2.0
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Designed and built with all the love in the world @twitter by @mdo and @fat.
- */
-
-.clearfix {
- *zoom: 1;
-}
-
-.clearfix:before,
-.clearfix:after {
- display: table;
- line-height: 0;
- content: "";
-}
-
-.clearfix:after {
- clear: both;
-}
-
-.hide-text {
- font: 0/0 a;
- color: transparent;
- text-shadow: none;
- background-color: transparent;
- border: 0;
-}
-
-.input-block-level {
- display: block;
- width: 100%;
- min-height: 30px;
- -webkit-box-sizing: border-box;
- -moz-box-sizing: border-box;
- box-sizing: border-box;
-}
-
-@-ms-viewport {
- width: device-width;
-}
-
-.hidden {
- display: none;
- visibility: hidden;
-}
-
-.visible-phone {
- display: none !important;
-}
-
-.visible-tablet {
- display: none !important;
-}
-
-.hidden-desktop {
- display: none !important;
-}
-
-.visible-desktop {
- display: inherit !important;
-}
-
-@media (min-width: 768px) and (max-width: 979px) {
- .hidden-desktop {
- display: inherit !important;
- }
- .visible-desktop {
- display: none !important ;
- }
- .visible-tablet {
- display: inherit !important;
- }
- .hidden-tablet {
- display: none !important;
- }
-}
-
-@media (max-width: 767px) {
- .hidden-desktop {
- display: inherit !important;
- }
- .visible-desktop {
- display: none !important;
- }
- .visible-phone {
- display: inherit !important;
- }
- .hidden-phone {
- display: none !important;
- }
-}
-
-.visible-print {
- display: none !important;
-}
-
-@media print {
- .visible-print {
- display: inherit !important;
- }
- .hidden-print {
- display: none !important;
- }
-}
-
-@media (min-width: 1200px) {
- .row {
- margin-left: -30px;
- *zoom: 1;
- }
- .row:before,
- .row:after {
- display: table;
- line-height: 0;
- content: "";
- }
- .row:after {
- clear: both;
- }
- [class*="span"] {
- float: left;
- min-height: 1px;
- margin-left: 30px;
- }
- .container,
- .navbar-static-top .container,
- .navbar-fixed-top .container,
- .navbar-fixed-bottom .container {
- width: 1170px;
- }
- .span12 {
- width: 1170px;
- }
- .span11 {
- width: 1070px;
- }
- .span10 {
- width: 970px;
- }
- .span9 {
- width: 870px;
- }
- .span8 {
- width: 770px;
- }
- .span7 {
- width: 670px;
- }
- .span6 {
- width: 570px;
- }
- .span5 {
- width: 470px;
- }
- .span4 {
- width: 370px;
- }
- .span3 {
- width: 270px;
- }
- .span2 {
- width: 170px;
- }
- .span1 {
- width: 70px;
- }
- .offset12 {
- margin-left: 1230px;
- }
- .offset11 {
- margin-left: 1130px;
- }
- .offset10 {
- margin-left: 1030px;
- }
- .offset9 {
- margin-left: 930px;
- }
- .offset8 {
- margin-left: 830px;
- }
- .offset7 {
- margin-left: 730px;
- }
- .offset6 {
- margin-left: 630px;
- }
- .offset5 {
- margin-left: 530px;
- }
- .offset4 {
- margin-left: 430px;
- }
- .offset3 {
- margin-left: 330px;
- }
- .offset2 {
- margin-left: 230px;
- }
- .offset1 {
- margin-left: 130px;
- }
- .row-fluid {
- width: 100%;
- *zoom: 1;
- }
- .row-fluid:before,
- .row-fluid:after {
- display: table;
- line-height: 0;
- content: "";
- }
- .row-fluid:after {
- clear: both;
- }
- .row-fluid [class*="span"] {
- display: block;
- float: left;
- width: 100%;
- min-height: 30px;
- margin-left: 2.564102564102564%;
- *margin-left: 2.5109110747408616%;
- -webkit-box-sizing: border-box;
- -moz-box-sizing: border-box;
- box-sizing: border-box;
- }
- .row-fluid [class*="span"]:first-child {
- margin-left: 0;
- }
- .row-fluid .controls-row [class*="span"] + [class*="span"] {
- margin-left: 2.564102564102564%;
- }
- .row-fluid .span12 {
- width: 100%;
- *width: 99.94680851063829%;
- }
- .row-fluid .span11 {
- width: 91.45299145299145%;
- *width: 91.39979996362975%;
- }
- .row-fluid .span10 {
- width: 82.90598290598291%;
- *width: 82.8527914166212%;
- }
- .row-fluid .span9 {
- width: 74.35897435897436%;
- *width: 74.30578286961266%;
- }
- .row-fluid .span8 {
- width: 65.81196581196582%;
- *width: 65.75877432260411%;
- }
- .row-fluid .span7 {
- width: 57.26495726495726%;
- *width: 57.21176577559556%;
- }
- .row-fluid .span6 {
- width: 48.717948717948715%;
- *width: 48.664757228587014%;
- }
- .row-fluid .span5 {
- width: 40.17094017094017%;
- *width: 40.11774868157847%;
- }
- .row-fluid .span4 {
- width: 31.623931623931625%;
- *width: 31.570740134569924%;
- }
- .row-fluid .span3 {
- width: 23.076923076923077%;
- *width: 23.023731587561375%;
- }
- .row-fluid .span2 {
- width: 14.52991452991453%;
- *width: 14.476723040552828%;
- }
- .row-fluid .span1 {
- width: 5.982905982905983%;
- *width: 5.929714493544281%;
- }
- .row-fluid .offset12 {
- margin-left: 105.12820512820512%;
- *margin-left: 105.02182214948171%;
- }
- .row-fluid .offset12:first-child {
- margin-left: 102.56410256410257%;
- *margin-left: 102.45771958537915%;
- }
- .row-fluid .offset11 {
- margin-left: 96.58119658119658%;
- *margin-left: 96.47481360247316%;
- }
- .row-fluid .offset11:first-child {
- margin-left: 94.01709401709402%;
- *margin-left: 93.91071103837061%;
- }
- .row-fluid .offset10 {
- margin-left: 88.03418803418803%;
- *margin-left: 87.92780505546462%;
- }
- .row-fluid .offset10:first-child {
- margin-left: 85.47008547008548%;
- *margin-left: 85.36370249136206%;
- }
- .row-fluid .offset9 {
- margin-left: 79.48717948717949%;
- *margin-left: 79.38079650845607%;
- }
- .row-fluid .offset9:first-child {
- margin-left: 76.92307692307693%;
- *margin-left: 76.81669394435352%;
- }
- .row-fluid .offset8 {
- margin-left: 70.94017094017094%;
- *margin-left: 70.83378796144753%;
- }
- .row-fluid .offset8:first-child {
- margin-left: 68.37606837606839%;
- *margin-left: 68.26968539734497%;
- }
- .row-fluid .offset7 {
- margin-left: 62.393162393162385%;
- *margin-left: 62.28677941443899%;
- }
- .row-fluid .offset7:first-child {
- margin-left: 59.82905982905982%;
- *margin-left: 59.72267685033642%;
- }
- .row-fluid .offset6 {
- margin-left: 53.84615384615384%;
- *margin-left: 53.739770867430444%;
- }
- .row-fluid .offset6:first-child {
- margin-left: 51.28205128205128%;
- *margin-left: 51.175668303327875%;
- }
- .row-fluid .offset5 {
- margin-left: 45.299145299145295%;
- *margin-left: 45.1927623204219%;
- }
- .row-fluid .offset5:first-child {
- margin-left: 42.73504273504273%;
- *margin-left: 42.62865975631933%;
- }
- .row-fluid .offset4 {
- margin-left: 36.75213675213675%;
- *margin-left: 36.645753773413354%;
- }
- .row-fluid .offset4:first-child {
- margin-left: 34.18803418803419%;
- *margin-left: 34.081651209310785%;
- }
- .row-fluid .offset3 {
- margin-left: 28.205128205128204%;
- *margin-left: 28.0987452264048%;
- }
- .row-fluid .offset3:first-child {
- margin-left: 25.641025641025642%;
- *margin-left: 25.53464266230224%;
- }
- .row-fluid .offset2 {
- margin-left: 19.65811965811966%;
- *margin-left: 19.551736679396257%;
- }
- .row-fluid .offset2:first-child {
- margin-left: 17.094017094017094%;
- *margin-left: 16.98763411529369%;
- }
- .row-fluid .offset1 {
- margin-left: 11.11111111111111%;
- *margin-left: 11.004728132387708%;
- }
- .row-fluid .offset1:first-child {
- margin-left: 8.547008547008547%;
- *margin-left: 8.440625568285142%;
- }
- input,
- textarea,
- .uneditable-input {
- margin-left: 0;
- }
- .controls-row [class*="span"] + [class*="span"] {
- margin-left: 30px;
- }
- input.span12,
- textarea.span12,
- .uneditable-input.span12 {
- width: 1156px;
- }
- input.span11,
- textarea.span11,
- .uneditable-input.span11 {
- width: 1056px;
- }
- input.span10,
- textarea.span10,
- .uneditable-input.span10 {
- width: 956px;
- }
- input.span9,
- textarea.span9,
- .uneditable-input.span9 {
- width: 856px;
- }
- input.span8,
- textarea.span8,
- .uneditable-input.span8 {
- width: 756px;
- }
- input.span7,
- textarea.span7,
- .uneditable-input.span7 {
- width: 656px;
- }
- input.span6,
- textarea.span6,
- .uneditable-input.span6 {
- width: 556px;
- }
- input.span5,
- textarea.span5,
- .uneditable-input.span5 {
- width: 456px;
- }
- input.span4,
- textarea.span4,
- .uneditable-input.span4 {
- width: 356px;
- }
- input.span3,
- textarea.span3,
- .uneditable-input.span3 {
- width: 256px;
- }
- input.span2,
- textarea.span2,
- .uneditable-input.span2 {
- width: 156px;
- }
- input.span1,
- textarea.span1,
- .uneditable-input.span1 {
- width: 56px;
- }
- .thumbnails {
- margin-left: -30px;
- }
- .thumbnails > li {
- margin-left: 30px;
- }
- .row-fluid .thumbnails {
- margin-left: 0;
- }
-}
-
-@media (min-width: 768px) and (max-width: 979px) {
- .row {
- margin-left: -20px;
- *zoom: 1;
- }
- .row:before,
- .row:after {
- display: table;
- line-height: 0;
- content: "";
- }
- .row:after {
- clear: both;
- }
- [class*="span"] {
- float: left;
- min-height: 1px;
- margin-left: 20px;
- }
- .container,
- .navbar-static-top .container,
- .navbar-fixed-top .container,
- .navbar-fixed-bottom .container {
- width: 724px;
- }
- .span12 {
- width: 724px;
- }
- .span11 {
- width: 662px;
- }
- .span10 {
- width: 600px;
- }
- .span9 {
- width: 538px;
- }
- .span8 {
- width: 476px;
- }
- .span7 {
- width: 414px;
- }
- .span6 {
- width: 352px;
- }
- .span5 {
- width: 290px;
- }
- .span4 {
- width: 228px;
- }
- .span3 {
- width: 166px;
- }
- .span2 {
- width: 104px;
- }
- .span1 {
- width: 42px;
- }
- .offset12 {
- margin-left: 764px;
- }
- .offset11 {
- margin-left: 702px;
- }
- .offset10 {
- margin-left: 640px;
- }
- .offset9 {
- margin-left: 578px;
- }
- .offset8 {
- margin-left: 516px;
- }
- .offset7 {
- margin-left: 454px;
- }
- .offset6 {
- margin-left: 392px;
- }
- .offset5 {
- margin-left: 330px;
- }
- .offset4 {
- margin-left: 268px;
- }
- .offset3 {
- margin-left: 206px;
- }
- .offset2 {
- margin-left: 144px;
- }
- .offset1 {
- margin-left: 82px;
- }
- .row-fluid {
- width: 100%;
- *zoom: 1;
- }
- .row-fluid:before,
- .row-fluid:after {
- display: table;
- line-height: 0;
- content: "";
- }
- .row-fluid:after {
- clear: both;
- }
- .row-fluid [class*="span"] {
- display: block;
- float: left;
- width: 100%;
- min-height: 30px;
- margin-left: 2.7624309392265194%;
- *margin-left: 2.709239449864817%;
- -webkit-box-sizing: border-box;
- -moz-box-sizing: border-box;
- box-sizing: border-box;
- }
- .row-fluid [class*="span"]:first-child {
- margin-left: 0;
- }
- .row-fluid .controls-row [class*="span"] + [class*="span"] {
- margin-left: 2.7624309392265194%;
- }
- .row-fluid .span12 {
- width: 100%;
- *width: 99.94680851063829%;
- }
- .row-fluid .span11 {
- width: 91.43646408839778%;
- *width: 91.38327259903608%;
- }
- .row-fluid .span10 {
- width: 82.87292817679558%;
- *width: 82.81973668743387%;
- }
- .row-fluid .span9 {
- width: 74.30939226519337%;
- *width: 74.25620077583166%;
- }
- .row-fluid .span8 {
- width: 65.74585635359117%;
- *width: 65.69266486422946%;
- }
- .row-fluid .span7 {
- width: 57.18232044198895%;
- *width: 57.12912895262725%;
- }
- .row-fluid .span6 {
- width: 48.61878453038674%;
- *width: 48.56559304102504%;
- }
- .row-fluid .span5 {
- width: 40.05524861878453%;
- *width: 40.00205712942283%;
- }
- .row-fluid .span4 {
- width: 31.491712707182323%;
- *width: 31.43852121782062%;
- }
- .row-fluid .span3 {
- width: 22.92817679558011%;
- *width: 22.87498530621841%;
- }
- .row-fluid .span2 {
- width: 14.3646408839779%;
- *width: 14.311449394616199%;
- }
- .row-fluid .span1 {
- width: 5.801104972375691%;
- *width: 5.747913483013988%;
- }
- .row-fluid .offset12 {
- margin-left: 105.52486187845304%;
- *margin-left: 105.41847889972962%;
- }
- .row-fluid .offset12:first-child {
- margin-left: 102.76243093922652%;
- *margin-left: 102.6560479605031%;
- }
- .row-fluid .offset11 {
- margin-left: 96.96132596685082%;
- *margin-left: 96.8549429881274%;
- }
- .row-fluid .offset11:first-child {
- margin-left: 94.1988950276243%;
- *margin-left: 94.09251204890089%;
- }
- .row-fluid .offset10 {
- margin-left: 88.39779005524862%;
- *margin-left: 88.2914070765252%;
- }
- .row-fluid .offset10:first-child {
- margin-left: 85.6353591160221%;
- *margin-left: 85.52897613729868%;
- }
- .row-fluid .offset9 {
- margin-left: 79.8342541436464%;
- *margin-left: 79.72787116492299%;
- }
- .row-fluid .offset9:first-child {
- margin-left: 77.07182320441989%;
- *margin-left: 76.96544022569647%;
- }
- .row-fluid .offset8 {
- margin-left: 71.2707182320442%;
- *margin-left: 71.16433525332079%;
- }
- .row-fluid .offset8:first-child {
- margin-left: 68.50828729281768%;
- *margin-left: 68.40190431409427%;
- }
- .row-fluid .offset7 {
- margin-left: 62.70718232044199%;
- *margin-left: 62.600799341718584%;
- }
- .row-fluid .offset7:first-child {
- margin-left: 59.94475138121547%;
- *margin-left: 59.838368402492065%;
- }
- .row-fluid .offset6 {
- margin-left: 54.14364640883978%;
- *margin-left: 54.037263430116376%;
- }
- .row-fluid .offset6:first-child {
- margin-left: 51.38121546961326%;
- *margin-left: 51.27483249088986%;
- }
- .row-fluid .offset5 {
- margin-left: 45.58011049723757%;
- *margin-left: 45.47372751851417%;
- }
- .row-fluid .offset5:first-child {
- margin-left: 42.81767955801105%;
- *margin-left: 42.71129657928765%;
- }
- .row-fluid .offset4 {
- margin-left: 37.01657458563536%;
- *margin-left: 36.91019160691196%;
- }
- .row-fluid .offset4:first-child {
- margin-left: 34.25414364640884%;
- *margin-left: 34.14776066768544%;
- }
- .row-fluid .offset3 {
- margin-left: 28.45303867403315%;
- *margin-left: 28.346655695309746%;
- }
- .row-fluid .offset3:first-child {
- margin-left: 25.69060773480663%;
- *margin-left: 25.584224756083227%;
- }
- .row-fluid .offset2 {
- margin-left: 19.88950276243094%;
- *margin-left: 19.783119783707537%;
- }
- .row-fluid .offset2:first-child {
- margin-left: 17.12707182320442%;
- *margin-left: 17.02068884448102%;
- }
- .row-fluid .offset1 {
- margin-left: 11.32596685082873%;
- *margin-left: 11.219583872105325%;
- }
- .row-fluid .offset1:first-child {
- margin-left: 8.56353591160221%;
- *margin-left: 8.457152932878806%;
- }
- input,
- textarea,
- .uneditable-input {
- margin-left: 0;
- }
- .controls-row [class*="span"] + [class*="span"] {
- margin-left: 20px;
- }
- input.span12,
- textarea.span12,
- .uneditable-input.span12 {
- width: 710px;
- }
- input.span11,
- textarea.span11,
- .uneditable-input.span11 {
- width: 648px;
- }
- input.span10,
- textarea.span10,
- .uneditable-input.span10 {
- width: 586px;
- }
- input.span9,
- textarea.span9,
- .uneditable-input.span9 {
- width: 524px;
- }
- input.span8,
- textarea.span8,
- .uneditable-input.span8 {
- width: 462px;
- }
- input.span7,
- textarea.span7,
- .uneditable-input.span7 {
- width: 400px;
- }
- input.span6,
- textarea.span6,
- .uneditable-input.span6 {
- width: 338px;
- }
- input.span5,
- textarea.span5,
- .uneditable-input.span5 {
- width: 276px;
- }
- input.span4,
- textarea.span4,
- .uneditable-input.span4 {
- width: 214px;
- }
- input.span3,
- textarea.span3,
- .uneditable-input.span3 {
- width: 152px;
- }
- input.span2,
- textarea.span2,
- .uneditable-input.span2 {
- width: 90px;
- }
- input.span1,
- textarea.span1,
- .uneditable-input.span1 {
- width: 28px;
- }
-}
-
-@media (max-width: 767px) {
- body {
- padding-right: 20px;
- padding-left: 20px;
- }
- .navbar-fixed-top,
- .navbar-fixed-bottom,
- .navbar-static-top {
- margin-right: -20px;
- margin-left: -20px;
- }
- .container-fluid {
- padding: 0;
- }
- .dl-horizontal dt {
- float: none;
- width: auto;
- clear: none;
- text-align: left;
- }
- .dl-horizontal dd {
- margin-left: 0;
- }
- .container {
- width: auto;
- }
- .row-fluid {
- width: 100%;
- }
- .row,
- .thumbnails {
- margin-left: 0;
- }
- .thumbnails > li {
- float: none;
- margin-left: 0;
- }
- [class*="span"],
- .uneditable-input[class*="span"],
- .row-fluid [class*="span"] {
- display: block;
- float: none;
- width: 100%;
- margin-left: 0;
- -webkit-box-sizing: border-box;
- -moz-box-sizing: border-box;
- box-sizing: border-box;
- }
- .span12,
- .row-fluid .span12 {
- width: 100%;
- -webkit-box-sizing: border-box;
- -moz-box-sizing: border-box;
- box-sizing: border-box;
- }
- .row-fluid [class*="offset"]:first-child {
- margin-left: 0;
- }
- .input-large,
- .input-xlarge,
- .input-xxlarge,
- input[class*="span"],
- select[class*="span"],
- textarea[class*="span"],
- .uneditable-input {
- display: block;
- width: 100%;
- min-height: 30px;
- -webkit-box-sizing: border-box;
- -moz-box-sizing: border-box;
- box-sizing: border-box;
- }
- .input-prepend input,
- .input-append input,
- .input-prepend input[class*="span"],
- .input-append input[class*="span"] {
- display: inline-block;
- width: auto;
- }
- .controls-row [class*="span"] + [class*="span"] {
- margin-left: 0;
- }
- .modal {
- position: fixed;
- top: 20px;
- right: 20px;
- left: 20px;
- width: auto;
- margin: 0;
- }
- .modal.fade {
- top: -100px;
- }
- .modal.fade.in {
- top: 20px;
- }
-}
-
-@media (max-width: 480px) {
- .nav-collapse {
- -webkit-transform: translate3d(0, 0, 0);
- }
- .page-header h1 small {
- display: block;
- line-height: 20px;
- }
- input[type="checkbox"],
- input[type="radio"] {
- border: 1px solid #ccc;
- }
- .form-horizontal .control-label {
- float: none;
- width: auto;
- padding-top: 0;
- text-align: left;
- }
- .form-horizontal .controls {
- margin-left: 0;
- }
- .form-horizontal .control-list {
- padding-top: 0;
- }
- .form-horizontal .form-actions {
- padding-right: 10px;
- padding-left: 10px;
- }
- .media .pull-left,
- .media .pull-right {
- display: block;
- float: none;
- margin-bottom: 10px;
- }
- .media-object {
- margin-right: 0;
- margin-left: 0;
- }
- .modal {
- top: 10px;
- right: 10px;
- left: 10px;
- }
- .modal-header .close {
- padding: 10px;
- margin: -10px;
- }
- .carousel-caption {
- position: static;
- }
-}
-
-@media (max-width: 979px) {
- body {
- padding-top: 0;
- }
- .navbar-fixed-top,
- .navbar-fixed-bottom {
- position: static;
- }
- .navbar-fixed-top {
- margin-bottom: 20px;
- }
- .navbar-fixed-bottom {
- margin-top: 20px;
- }
- .navbar-fixed-top .navbar-inner,
- .navbar-fixed-bottom .navbar-inner {
- padding: 5px;
- }
- .navbar .container {
- width: auto;
- padding: 0;
- }
- .navbar .brand {
- padding-right: 10px;
- padding-left: 10px;
- margin: 0 0 0 -5px;
- }
- .nav-collapse {
- clear: both;
- }
- .nav-collapse .nav {
- float: none;
- margin: 0 0 10px;
- }
- .nav-collapse .nav > li {
- float: none;
- }
- .nav-collapse .nav > li > a {
- margin-bottom: 2px;
- }
- .nav-collapse .nav > .divider-vertical {
- display: none;
- }
- .nav-collapse .nav .nav-header {
- color: #777777;
- text-shadow: none;
- }
- .nav-collapse .nav > li > a,
- .nav-collapse .dropdown-menu a {
- padding: 9px 15px;
- font-weight: bold;
- color: #777777;
- -webkit-border-radius: 3px;
- -moz-border-radius: 3px;
- border-radius: 3px;
- }
- .nav-collapse .btn {
- padding: 4px 10px 4px;
- font-weight: normal;
- -webkit-border-radius: 4px;
- -moz-border-radius: 4px;
- border-radius: 4px;
- }
- .nav-collapse .dropdown-menu li + li a {
- margin-bottom: 2px;
- }
- .nav-collapse .nav > li > a:hover,
- .nav-collapse .nav > li > a:focus,
- .nav-collapse .dropdown-menu a:hover,
- .nav-collapse .dropdown-menu a:focus {
- background-color: #f2f2f2;
- }
- .navbar-inverse .nav-collapse .nav > li > a,
- .navbar-inverse .nav-collapse .dropdown-menu a {
- color: #999999;
- }
- .navbar-inverse .nav-collapse .nav > li > a:hover,
- .navbar-inverse .nav-collapse .nav > li > a:focus,
- .navbar-inverse .nav-collapse .dropdown-menu a:hover,
- .navbar-inverse .nav-collapse .dropdown-menu a:focus {
- background-color: #111111;
- }
- .nav-collapse.in .btn-group {
- padding: 0;
- margin-top: 5px;
- }
- .nav-collapse .dropdown-menu {
- position: static;
- top: auto;
- left: auto;
- display: none;
- float: none;
- max-width: none;
- padding: 0;
- margin: 0 15px;
- background-color: transparent;
- border: none;
- -webkit-border-radius: 0;
- -moz-border-radius: 0;
- border-radius: 0;
- -webkit-box-shadow: none;
- -moz-box-shadow: none;
- box-shadow: none;
- }
- .nav-collapse .open > .dropdown-menu {
- display: block;
- }
- .nav-collapse .dropdown-menu:before,
- .nav-collapse .dropdown-menu:after {
- display: none;
- }
- .nav-collapse .dropdown-menu .divider {
- display: none;
- }
- .nav-collapse .nav > li > .dropdown-menu:before,
- .nav-collapse .nav > li > .dropdown-menu:after {
- display: none;
- }
- .nav-collapse .navbar-form,
- .nav-collapse .navbar-search {
- float: none;
- padding: 10px 15px;
- margin: 10px 0;
- border-top: 1px solid #f2f2f2;
- border-bottom: 1px solid #f2f2f2;
- -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
- -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
- box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
- }
- .navbar-inverse .nav-collapse .navbar-form,
- .navbar-inverse .nav-collapse .navbar-search {
- border-top-color: #111111;
- border-bottom-color: #111111;
- }
- .navbar .nav-collapse .nav.pull-right {
- float: none;
- margin-left: 0;
- }
- .nav-collapse,
- .nav-collapse.collapse {
- height: 0;
- overflow: hidden;
- }
- .navbar .btn-navbar {
- display: block;
- }
- .navbar-static .navbar-inner {
- padding-right: 10px;
- padding-left: 10px;
- }
-}
-
-@media (min-width: 980px) {
- .nav-collapse.collapse {
- height: auto !important;
- overflow: visible !important;
- }
-}

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/oldsite/css/bootstrap-responsive.min.css
----------------------------------------------------------------------
diff --git a/website-old/oldsite/css/bootstrap-responsive.min.css b/website-old/oldsite/css/bootstrap-responsive.min.css
deleted file mode 100644
index d1b7f4b..0000000
--- a/website-old/oldsite/css/bootstrap-responsive.min.css
+++ /dev/null
@@ -1,9 +0,0 @@
-/*!
- * Bootstrap Responsive v2.3.1
- *
- * Copyright 2012 Twitter, Inc
- * Licensed under the Apache License v2.0
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Designed and built with all the love in the world @twitter by @mdo and @fat.
- */.clearfix{*zoom:1}.clearfix:before,.clearfix:after{display:table;line-height:0;content:""}.clearfix:after{clear:both}.hide-text{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.input-block-level{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}@-ms-viewport{width:device-width}.hidden{display:none;visibility:hidden}.visible-phone{display:none!important}.visible-tablet{display:none!important}.hidden-desktop{display:none!important}.visible-desktop{display:inherit!important}@media(min-width:768px) and (max-width:979px){.hidden-desktop{display:inherit!important}.visible-desktop{display:none!important}.visible-tablet{display:inherit!important}.hidden-tablet{display:none!important}}@media(max-width:767px){.hidden-desktop{display:inherit!important}.visible-desktop{display:none!important}.visible-phone{display:inherit!important}.hidden-phone{display:none!important}}.visible-print{dis
play:none!important}@media print{.visible-print{display:inherit!important}.hidden-print{display:none!important}}@media(min-width:1200px){.row{margin-left:-30px;*zoom:1}.row:before,.row:after{display:table;line-height:0;content:""}.row:after{clear:both}[class*="span"]{float:left;min-height:1px;margin-left:30px}.container,.navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:1170px}.span12{width:1170px}.span11{width:1070px}.span10{width:970px}.span9{width:870px}.span8{width:770px}.span7{width:670px}.span6{width:570px}.span5{width:470px}.span4{width:370px}.span3{width:270px}.span2{width:170px}.span1{width:70px}.offset12{margin-left:1230px}.offset11{margin-left:1130px}.offset10{margin-left:1030px}.offset9{margin-left:930px}.offset8{margin-left:830px}.offset7{margin-left:730px}.offset6{margin-left:630px}.offset5{margin-left:530px}.offset4{margin-left:430px}.offset3{margin-left:330px}.offset2{margin-left:230px}.offset1{margin-left:130px}.row-flui
d{width:100%;*zoom:1}.row-fluid:before,.row-fluid:after{display:table;line-height:0;content:""}.row-fluid:after{clear:both}.row-fluid [class*="span"]{display:block;float:left;width:100%;min-height:30px;margin-left:2.564102564102564%;*margin-left:2.5109110747408616%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.row-fluid [class*="span"]:first-child{margin-left:0}.row-fluid .controls-row [class*="span"]+[class*="span"]{margin-left:2.564102564102564%}.row-fluid .span12{width:100%;*width:99.94680851063829%}.row-fluid .span11{width:91.45299145299145%;*width:91.39979996362975%}.row-fluid .span10{width:82.90598290598291%;*width:82.8527914166212%}.row-fluid .span9{width:74.35897435897436%;*width:74.30578286961266%}.row-fluid .span8{width:65.81196581196582%;*width:65.75877432260411%}.row-fluid .span7{width:57.26495726495726%;*width:57.21176577559556%}.row-fluid .span6{width:48.717948717948715%;*width:48.664757228587014%}.row-fluid .span5{width:40.17094017094
017%;*width:40.11774868157847%}.row-fluid .span4{width:31.623931623931625%;*width:31.570740134569924%}.row-fluid .span3{width:23.076923076923077%;*width:23.023731587561375%}.row-fluid .span2{width:14.52991452991453%;*width:14.476723040552828%}.row-fluid .span1{width:5.982905982905983%;*width:5.929714493544281%}.row-fluid .offset12{margin-left:105.12820512820512%;*margin-left:105.02182214948171%}.row-fluid .offset12:first-child{margin-left:102.56410256410257%;*margin-left:102.45771958537915%}.row-fluid .offset11{margin-left:96.58119658119658%;*margin-left:96.47481360247316%}.row-fluid .offset11:first-child{margin-left:94.01709401709402%;*margin-left:93.91071103837061%}.row-fluid .offset10{margin-left:88.03418803418803%;*margin-left:87.92780505546462%}.row-fluid .offset10:first-child{margin-left:85.47008547008548%;*margin-left:85.36370249136206%}.row-fluid .offset9{margin-left:79.48717948717949%;*margin-left:79.38079650845607%}.row-fluid .offset9:first-child{margin-left:76.92307692307
693%;*margin-left:76.81669394435352%}.row-fluid .offset8{margin-left:70.94017094017094%;*margin-left:70.83378796144753%}.row-fluid .offset8:first-child{margin-left:68.37606837606839%;*margin-left:68.26968539734497%}.row-fluid .offset7{margin-left:62.393162393162385%;*margin-left:62.28677941443899%}.row-fluid .offset7:first-child{margin-left:59.82905982905982%;*margin-left:59.72267685033642%}.row-fluid .offset6{margin-left:53.84615384615384%;*margin-left:53.739770867430444%}.row-fluid .offset6:first-child{margin-left:51.28205128205128%;*margin-left:51.175668303327875%}.row-fluid .offset5{margin-left:45.299145299145295%;*margin-left:45.1927623204219%}.row-fluid .offset5:first-child{margin-left:42.73504273504273%;*margin-left:42.62865975631933%}.row-fluid .offset4{margin-left:36.75213675213675%;*margin-left:36.645753773413354%}.row-fluid .offset4:first-child{margin-left:34.18803418803419%;*margin-left:34.081651209310785%}.row-fluid .offset3{margin-left:28.205128205128204%;*margin-left:
28.0987452264048%}.row-fluid .offset3:first-child{margin-left:25.641025641025642%;*margin-left:25.53464266230224%}.row-fluid .offset2{margin-left:19.65811965811966%;*margin-left:19.551736679396257%}.row-fluid .offset2:first-child{margin-left:17.094017094017094%;*margin-left:16.98763411529369%}.row-fluid .offset1{margin-left:11.11111111111111%;*margin-left:11.004728132387708%}.row-fluid .offset1:first-child{margin-left:8.547008547008547%;*margin-left:8.440625568285142%}input,textarea,.uneditable-input{margin-left:0}.controls-row [class*="span"]+[class*="span"]{margin-left:30px}input.span12,textarea.span12,.uneditable-input.span12{width:1156px}input.span11,textarea.span11,.uneditable-input.span11{width:1056px}input.span10,textarea.span10,.uneditable-input.span10{width:956px}input.span9,textarea.span9,.uneditable-input.span9{width:856px}input.span8,textarea.span8,.uneditable-input.span8{width:756px}input.span7,textarea.span7,.uneditable-input.span7{width:656px}input.span6,textarea.span
6,.uneditable-input.span6{width:556px}input.span5,textarea.span5,.uneditable-input.span5{width:456px}input.span4,textarea.span4,.uneditable-input.span4{width:356px}input.span3,textarea.span3,.uneditable-input.span3{width:256px}input.span2,textarea.span2,.uneditable-input.span2{width:156px}input.span1,textarea.span1,.uneditable-input.span1{width:56px}.thumbnails{margin-left:-30px}.thumbnails>li{margin-left:30px}.row-fluid .thumbnails{margin-left:0}}@media(min-width:768px) and (max-width:979px){.row{margin-left:-20px;*zoom:1}.row:before,.row:after{display:table;line-height:0;content:""}.row:after{clear:both}[class*="span"]{float:left;min-height:1px;margin-left:20px}.container,.navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:724px}.span12{width:724px}.span11{width:662px}.span10{width:600px}.span9{width:538px}.span8{width:476px}.span7{width:414px}.span6{width:352px}.span5{width:290px}.span4{width:228px}.span3{width:166px}.span2{width:104px
}.span1{width:42px}.offset12{margin-left:764px}.offset11{margin-left:702px}.offset10{margin-left:640px}.offset9{margin-left:578px}.offset8{margin-left:516px}.offset7{margin-left:454px}.offset6{margin-left:392px}.offset5{margin-left:330px}.offset4{margin-left:268px}.offset3{margin-left:206px}.offset2{margin-left:144px}.offset1{margin-left:82px}.row-fluid{width:100%;*zoom:1}.row-fluid:before,.row-fluid:after{display:table;line-height:0;content:""}.row-fluid:after{clear:both}.row-fluid [class*="span"]{display:block;float:left;width:100%;min-height:30px;margin-left:2.7624309392265194%;*margin-left:2.709239449864817%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.row-fluid [class*="span"]:first-child{margin-left:0}.row-fluid .controls-row [class*="span"]+[class*="span"]{margin-left:2.7624309392265194%}.row-fluid .span12{width:100%;*width:99.94680851063829%}.row-fluid .span11{width:91.43646408839778%;*width:91.38327259903608%}.row-fluid .span10{width:82.87
292817679558%;*width:82.81973668743387%}.row-fluid .span9{width:74.30939226519337%;*width:74.25620077583166%}.row-fluid .span8{width:65.74585635359117%;*width:65.69266486422946%}.row-fluid .span7{width:57.18232044198895%;*width:57.12912895262725%}.row-fluid .span6{width:48.61878453038674%;*width:48.56559304102504%}.row-fluid .span5{width:40.05524861878453%;*width:40.00205712942283%}.row-fluid .span4{width:31.491712707182323%;*width:31.43852121782062%}.row-fluid .span3{width:22.92817679558011%;*width:22.87498530621841%}.row-fluid .span2{width:14.3646408839779%;*width:14.311449394616199%}.row-fluid .span1{width:5.801104972375691%;*width:5.747913483013988%}.row-fluid .offset12{margin-left:105.52486187845304%;*margin-left:105.41847889972962%}.row-fluid .offset12:first-child{margin-left:102.76243093922652%;*margin-left:102.6560479605031%}.row-fluid .offset11{margin-left:96.96132596685082%;*margin-left:96.8549429881274%}.row-fluid .offset11:first-child{margin-left:94.1988950276243%;*margi
n-left:94.09251204890089%}.row-fluid .offset10{margin-left:88.39779005524862%;*margin-left:88.2914070765252%}.row-fluid .offset10:first-child{margin-left:85.6353591160221%;*margin-left:85.52897613729868%}.row-fluid .offset9{margin-left:79.8342541436464%;*margin-left:79.72787116492299%}.row-fluid .offset9:first-child{margin-left:77.07182320441989%;*margin-left:76.96544022569647%}.row-fluid .offset8{margin-left:71.2707182320442%;*margin-left:71.16433525332079%}.row-fluid .offset8:first-child{margin-left:68.50828729281768%;*margin-left:68.40190431409427%}.row-fluid .offset7{margin-left:62.70718232044199%;*margin-left:62.600799341718584%}.row-fluid .offset7:first-child{margin-left:59.94475138121547%;*margin-left:59.838368402492065%}.row-fluid .offset6{margin-left:54.14364640883978%;*margin-left:54.037263430116376%}.row-fluid .offset6:first-child{margin-left:51.38121546961326%;*margin-left:51.27483249088986%}.row-fluid .offset5{margin-left:45.58011049723757%;*margin-left:45.4737275185141
7%}.row-fluid .offset5:first-child{margin-left:42.81767955801105%;*margin-left:42.71129657928765%}.row-fluid .offset4{margin-left:37.01657458563536%;*margin-left:36.91019160691196%}.row-fluid .offset4:first-child{margin-left:34.25414364640884%;*margin-left:34.14776066768544%}.row-fluid .offset3{margin-left:28.45303867403315%;*margin-left:28.346655695309746%}.row-fluid .offset3:first-child{margin-left:25.69060773480663%;*margin-left:25.584224756083227%}.row-fluid .offset2{margin-left:19.88950276243094%;*margin-left:19.783119783707537%}.row-fluid .offset2:first-child{margin-left:17.12707182320442%;*margin-left:17.02068884448102%}.row-fluid .offset1{margin-left:11.32596685082873%;*margin-left:11.219583872105325%}.row-fluid .offset1:first-child{margin-left:8.56353591160221%;*margin-left:8.457152932878806%}input,textarea,.uneditable-input{margin-left:0}.controls-row [class*="span"]+[class*="span"]{margin-left:20px}input.span12,textarea.span12,.uneditable-input.span12{width:710px}input.sp
an11,textarea.span11,.uneditable-input.span11{width:648px}input.span10,textarea.span10,.uneditable-input.span10{width:586px}input.span9,textarea.span9,.uneditable-input.span9{width:524px}input.span8,textarea.span8,.uneditable-input.span8{width:462px}input.span7,textarea.span7,.uneditable-input.span7{width:400px}input.span6,textarea.span6,.uneditable-input.span6{width:338px}input.span5,textarea.span5,.uneditable-input.span5{width:276px}input.span4,textarea.span4,.uneditable-input.span4{width:214px}input.span3,textarea.span3,.uneditable-input.span3{width:152px}input.span2,textarea.span2,.uneditable-input.span2{width:90px}input.span1,textarea.span1,.uneditable-input.span1{width:28px}}@media(max-width:767px){body{padding-right:20px;padding-left:20px}.navbar-fixed-top,.navbar-fixed-bottom,.navbar-static-top{margin-right:-20px;margin-left:-20px}.container-fluid{padding:0}.dl-horizontal dt{float:none;width:auto;clear:none;text-align:left}.dl-horizontal dd{margin-left:0}.container{width:aut
o}.row-fluid{width:100%}.row,.thumbnails{margin-left:0}.thumbnails>li{float:none;margin-left:0}[class*="span"],.uneditable-input[class*="span"],.row-fluid [class*="span"]{display:block;float:none;width:100%;margin-left:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.span12,.row-fluid .span12{width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.row-fluid [class*="offset"]:first-child{margin-left:0}.input-large,.input-xlarge,.input-xxlarge,input[class*="span"],select[class*="span"],textarea[class*="span"],.uneditable-input{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.input-prepend input,.input-append input,.input-prepend input[class*="span"],.input-append input[class*="span"]{display:inline-block;width:auto}.controls-row [class*="span"]+[class*="span"]{margin-left:0}.modal{position:fixed;top:20px;right:20px;left:20px;width:auto;margin:0}.m
odal.fade{top:-100px}.modal.fade.in{top:20px}}@media(max-width:480px){.nav-collapse{-webkit-transform:translate3d(0,0,0)}.page-header h1 small{display:block;line-height:20px}input[type="checkbox"],input[type="radio"]{border:1px solid #ccc}.form-horizontal .control-label{float:none;width:auto;padding-top:0;text-align:left}.form-horizontal .controls{margin-left:0}.form-horizontal .control-list{padding-top:0}.form-horizontal .form-actions{padding-right:10px;padding-left:10px}.media .pull-left,.media .pull-right{display:block;float:none;margin-bottom:10px}.media-object{margin-right:0;margin-left:0}.modal{top:10px;right:10px;left:10px}.modal-header .close{padding:10px;margin:-10px}.carousel-caption{position:static}}@media(max-width:979px){body{padding-top:0}.navbar-fixed-top,.navbar-fixed-bottom{position:static}.navbar-fixed-top{margin-bottom:20px}.navbar-fixed-bottom{margin-top:20px}.navbar-fixed-top .navbar-inner,.navbar-fixed-bottom .navbar-inner{padding:5px}.navbar .container{width:a
uto;padding:0}.navbar .brand{padding-right:10px;padding-left:10px;margin:0 0 0 -5px}.nav-collapse{clear:both}.nav-collapse .nav{float:none;margin:0 0 10px}.nav-collapse .nav>li{float:none}.nav-collapse .nav>li>a{margin-bottom:2px}.nav-collapse .nav>.divider-vertical{display:none}.nav-collapse .nav .nav-header{color:#777;text-shadow:none}.nav-collapse .nav>li>a,.nav-collapse .dropdown-menu a{padding:9px 15px;font-weight:bold;color:#777;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.nav-collapse .btn{padding:4px 10px 4px;font-weight:normal;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.nav-collapse .dropdown-menu li+li a{margin-bottom:2px}.nav-collapse .nav>li>a:hover,.nav-collapse .nav>li>a:focus,.nav-collapse .dropdown-menu a:hover,.nav-collapse .dropdown-menu a:focus{background-color:#f2f2f2}.navbar-inverse .nav-collapse .nav>li>a,.navbar-inverse .nav-collapse .dropdown-menu a{color:#999}.navbar-inverse .nav-collapse .nav>li>a:hover,.navbar
-inverse .nav-collapse .nav>li>a:focus,.navbar-inverse .nav-collapse .dropdown-menu a:hover,.navbar-inverse .nav-collapse .dropdown-menu a:focus{background-color:#111}.nav-collapse.in .btn-group{padding:0;margin-top:5px}.nav-collapse .dropdown-menu{position:static;top:auto;left:auto;display:none;float:none;max-width:none;padding:0;margin:0 15px;background-color:transparent;border:0;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.nav-collapse .open>.dropdown-menu{display:block}.nav-collapse .dropdown-menu:before,.nav-collapse .dropdown-menu:after{display:none}.nav-collapse .dropdown-menu .divider{display:none}.nav-collapse .nav>li>.dropdown-menu:before,.nav-collapse .nav>li>.dropdown-menu:after{display:none}.nav-collapse .navbar-form,.nav-collapse .navbar-search{float:none;padding:10px 15px;margin:10px 0;border-top:1px solid #f2f2f2;border-bottom:1px solid #f2f2f2;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,
255,0.1),0 1px 0 rgba(255,255,255,0.1);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1)}.navbar-inverse .nav-collapse .navbar-form,.navbar-inverse .nav-collapse .navbar-search{border-top-color:#111;border-bottom-color:#111}.navbar .nav-collapse .nav.pull-right{float:none;margin-left:0}.nav-collapse,.nav-collapse.collapse{height:0;overflow:hidden}.navbar .btn-navbar{display:block}.navbar-static .navbar-inner{padding-right:10px;padding-left:10px}}@media(min-width:980px){.nav-collapse.collapse{height:auto!important;overflow:visible!important}}
a***@apache.org
2017-12-21 04:52:43 UTC
Permalink
http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/oldsite/general/books-tutorials-and-talks.md
----------------------------------------------------------------------
diff --git a/website-old/oldsite/general/books-tutorials-and-talks.md b/website-old/oldsite/general/books-tutorials-and-talks.md
deleted file mode 100644
index bbbdeef..0000000
--- a/website-old/oldsite/general/books-tutorials-and-talks.md
+++ /dev/null
@@ -1,121 +0,0 @@
----
-layout: default
-title: Books Tutorials and Talks
-theme:
- name: retro-mahout
----
-# Intro
-
-This page is a place for info about talks (past and upcoming), tutorials, articles, books, slides, PDFs, discussions, etc. about Mahout. No endorsements are implied or
-given.
-
-# Books
-
-## Mahout specific
-
- * <a href="http://www.weatheringthroughtechdays.com/2016/02/mahout-samsara-book-is-out.html">Apache Mahout: Beyond MapReduce</a> by Dmitriy Lyubimov and Andrew Palumbo published Feb 2016. Covers new features in Mahout "Samsara" releases (0.10, 0.11+).
- * <a href="http://www.packtpub.com/apache-mahout-cookbook/book">Apache Mahout cookbook</a>- Book by Piero Giacomelli published Dec 2013 by Packtpub.
- * <a href="http://www.manning.com/owen/">Mahout in Action</a> - Book by Sean Owen, Robin Anil, Ted Dunning and Ellen Friedman published Oct 2011 by Manning Publications.
- * <a href="http://www.manning.com/ingersoll/">Taming Text</a> - By Grant Ingersoll and Tom Morton, published by Manning Publications. Will have some Mahout coverage, but by no means as complete as Mahout in Action.
-
-## Engineering oriented machine learning books
-
- * <a href="http://www.amazon.com/Collective-Intelligence-Action-Satnam-Alag/dp/1933988312/ref=pd_bbs_sr_3?ie=UTF8&s=books&qid=1214545249&sr=1-3">Collective Intelligence in Action</a>
- * <a href="http://www.amazon.com/Programming-Collective-Intelligence-Building-Applications/dp/0596529325/ref=pd_bbs_sr_1/104-1017533-9408723?ie=UTF8&s=books&qid=1214593516&sr=1-1">Programming Collective Intelligence</a>
- * <a href="http://www.amazon.com/Algorithms-Intelligent-Web-Haralambos-Marmanis/dp/1933988665/ref=sr_1_1?s=books&ie=UTF8&qid=1298005918&sr=1-1">Algorithms of the Intelligent Web</a>
-
-## Scientific background
-
- * <a href="http://www.cs.waikato.ac.nz/~ml/weka/book.html">Data Mining: Practical Machine Learning Tools and Techniques</a>
- * <a href="http://www-nlp.stanford.edu/IR-book/">Introduction to Information Retrieval</a>
- * <a href="http://www.amazon.com/Machine-Learning-Mcgraw-Hill-International-Edit/dp/0071154671/ref=pd_bbs_sr_1?ie=UTF8&s=books&qid=1214593709&sr=8-1">Machine Learning</a>
- * <a href="http://www.amazon.com/Pattern-Recognition-Learning-Information-Statistics/dp/0387310738/ref=pd_bbs_sr_2?ie=UTF8&s=books&qid=1214593709&sr=8-2">Pattern Recognition and Machine Learning (Information Science and Statistics) </a>
-
-# News, Articles and Tutorials
-
- * [Mahout 0.10.x: first Mahout release as a programming environment](http://www.weatheringthroughtechdays.com/2015/04/mahout-010x-first-mahout-release-as.html)
- * [Comparing Document Classification Functions of Lucene and Mahout](http://soleami.com/blog/comparing-document-classification-functions-of-lucene-and-mahout.html)
- * <a href="http://www.ibm.com/developerworks/java/library/j-mahout-scaling/">Apache Mahout: Scalable Machine Learning for Everyone</a>
- * <a href="http://emmaespina.wordpress.com/2011/04/26/ham-spam-and-elephants-or-how-to-build-a-spam-filter-server-with-mahout/">How to build a spam filter server with Mahout</a> - Applying classification on a live server - April 2011
- * <a href="http://ssc.io/deploying-a-massively-scalable-recommender-system-with-apache-mahout/">Deploying a massively scalable recommender system with Apache Mahout</a> - Blogpost of Sebastian Schelter in April 2011
- * <a href="http://www.redmonk.com/cote/2010/11/04/makeall013/">Apache Mahout & the commoditization of machine learning </a> - Podcast interview with Grant Ingersoll at ApacheCon 2010
- * <a href="http://isabel-drost.de/hadoop/slides/devoxx.pdf">Apache Mahout 0.4 mit neuen Algorithmen</a> - published after the 0.4 release by heise Open/ Developer, November 2010
- * <a href="http://www.infoq.com/news/2009/04/mahout">Mahout on InfoQ</a> - Interview with Grant Ingersoll on InfoQ
- * <a href="http://www.cloudera.com/blog/2009/04/21/hadoop-uk-user-group-meeting/">Mahout in the Cloudera weblog</a> - published after the Hadoop user group UK.
- * <a href="http://blog.athico.com/2008/08/machine-learning-and-apache-mahout.html">Mahout in the Drools weblog</a> - Michael Neale published an article on Mahout in the drools weblog
- * <a href="https://www.ibm.com/developerworks/java/library/j-mahout/index.html">Introducing Apache Mahout</a> - Grant Ingersoll - Intro to Apache Mahout focused on clustering, classification and collaborative filtering. Japanese translation available at: [http://www.ibm.com/developerworks/jp/java/library/j-mahout/](http://www.ibm.com/developerworks/jp/java/library/j-mahout/)
- * <a href="http://philippeadjiman.com/blog/2009/11/11/flexible-collaborative-filtering-in-java-with-mahout-taste/">Flexible Collaborative Filtering In Java With Mahout Taste</a> - Philippe Adjiman - Quick starting guide on how to use the collaborative filtering package of Mahout (called Taste) to quickly and flexibly create, test and compare tailored recommendation engines.
- * <a href="http://www.lucidimagination.com/blog/2010/03/16/integrating-apache-mahout-with-apache-lucene-and-solr-part-i-of-3/">Integrating Mahout with Lucene and Solr</a> Three part series on ways to integrate Mahout with Lucene and Solr
- * <a
Item Recommender Tutorial using Java and Eclipse</a> - YouTube video tutorial by Steve Cook
-
-
-# Coursework/Lectures
-
- * <a href="http://videolectures.net/mlss05us_chicago/">http://videolectures.net/mlss05us_chicago/</a>
- * <a href="http://videolectures.net/mlas06_pittsburgh/">http://videolectures.net/mlas06_pittsburgh/</a>
- * <a href="http://see.stanford.edu/see/lecturelist.aspx?coll=348ca38a-3a6d-4052-937d-cb017338d7b1">Stanford Lectures on Machine Learning by Andrew Ng</a>
- * <a href="https://docs.google.com/open?id=0ByhGL2_SCeitMDQ3OTczNjItM2ZjYi00ZDg5LWE0MzItZGQxODQ5NzkzYjNj">***@Qatar Introduction to Mahout lecture</a>
-
-
-# Talks
-
-In reverse chronological order, so that most recent talks are at the top
-
- * [Distributed Machine Learning with Apache Mahout] Suneel Marthi at Apache Big Data North America, Vancouver, Canada, May 11, 2016 and MapR Washington DC Big Data Everywhere, Tysons, VA, June 2 2016
- * [Declarative Machine Learning with the Samsara DSL](http://www.slideshare.net/FlinkForward/sebastian-schelter-distributed-machine-learing-with-the-samsara-dsl) Sebastian Schelter at Flink Forward Conference, Berlin Germany, October 2015.
- * [Bringing Algebraic Semantics to Mahout](http://www.slideshare.net/sscdotopen/bringing-algebraic-semantics-to-mahout) Sebastian Schelter at HPI Infolunch, Potsdam Germany, May 2014
- * Mahout Spark and Scala bindings: Bringing Algebraic Semantics
- Dmitriy Lyubimov at Mahout Meetup, April 17, 2014.
- * Mahout Future Directions - Ted Dunning, Suneel Marthi, Sebastian Schelter at Hadoop Summit Europe 2014, Amsterdam, April 3, 2014
- * Building Recommender Systems for Mere-Mortals - Sebastian Schelter at Researchgate Developer Day, Berlin, November 2013
- * Recommendations with Apache Mahout - Sebastian Schelter at IBM Almaden Research Center, San Jose, September 2013
- * <a href="http://de.slideshare.net/sscdotopen/next-directions-in-mahouts-recommenders">Next Directions in Mahout’s Recommenders</a> - Sebastian Schelter at Bay Area Mahout Meetup, Redwood City, August 2013
- * <a href="http://de.slideshare.net/sscdotopen/new-directions-in-mahouts-recommenders">New Directions in Mahout’s Recommenders</a> - Sebastian Schelter at Recommender Systems Get Together Berlin, April 2013
- * <a href="http://www.slideshare.net/VaradMeru/introduction-to-mahout-and-machine-learning">Introduction to Mahout and Machine Learning</a> - Slides by Varad Meru, Software Development Engineer at Orzota. July 27th, 2013.
- * <a href="http://de.slideshare.net/sscdotopen/introduction-to-collaborative-filtering-with-apache-mahout">An Introduction to Collaborative Filtering with Apache Mahout</a> - Sebastian Schelter at Recommender Systems Challenge Workshop in conjunction with ACM RecSys 2012, Dublin, September 2012
- * <a href="https://github.com/ManuelB/facebook-recommender-demo/raw/master/docs/Talk-BedCon-Berlin-2012.pdf">How to build a recommender system based on Mahout and JavaEE</a> - Slides by Manuel Blechschmidt at Berlin Expert Days March, 2012.
- * <a href="http://lanyrd.com/2011/apachecon-north-america/skdtb/">Apache Mahout for intelligent data analysis</a> - Slides from Isabel Drost at Apache Con NA November, 2011.
- * <a href="http://lanyrd.com/2011/apachecon-north-america/skdrk/">Dr. Mahout: Analyzing clinical data using scalable and distributed computing</a> - Slides from Shannon Quinn at Apache Con NA November, 2011.
- * Frank Scholten at Berlin Buzzwords on June 7, 2011.
- * Introduction to Collaborative Filtering using Mahout (updated) - Talk by Sean Owen at the London Hadoop User Group on April 14, 2011.
- * <a href="http://www.meetup.com/LA-HUG/pages/Video_from_March_16th_LA-HUG_Ted_Dunning_Mahout">Cool Tricks with Classifiers</a> - Talk by Ted Dunning at the Los Angeles HUG talking about Mahout classifiers on March 16, 2011.
- * First Mahout Hackathon, Berlin, March 2011
- * <a href="http://blog.jteam.nl/2011/01/13/announcement-lucene-nl-mahout-meetup-with-isabel-drost-feb-7/">Mahout meetup</a> - there were two talks at the Apache Mahout meetup at JTeam in Amsterdam, February 2011. <a href="http://isabel-drost.de/hadoop/slides/jteam.pdf">intro slides</a>
- * <a href="http://www.fosdem.org/2011/schedule/event/mahoutclustering.html">Mahout clustering </a> - Talk on Mahout clustering at data dev room FOSDEM, February 2011.
- * Scaling Data Analysis with Apache Mahout - talk on Mahout at O'Reilly Strata, February 2011.
- * <a href="http://www.slideshare.net/jaganadhg/mahout-tutorial-fossmeet-nitc">Practical Machine Learning</a> - Slides from Biju B and Jaganadh G, FOSSMEET-NITC, Calicut, India, February 2011.
- * <a href="http://www.javaedge.com/jedge/pdf/Mahout.pdf">Mahout at AlphaCSPs The Edge 2010 (pdf)</a> - <a href="http://www.slideshare.net/arikogan/mahouts-presentation-at-alphacsps-the-edge-2010">slideshare</a> - Slides from <a href="http://il.linkedin.com/in/arielkogan">Ariel Kogan</a> AlphaCSP's The Edge, December 2010.
- * <a href="http://isabel-drost.de/hadoop/slides/devoxx.pdf">Intelligent data analysis with Apache Mahout</a> - Slides from Isabel Drost, Devoxx Antwerp, November 2010.
- * <a href="http://isabel-drost.de/hadoop/slides/codebits.pdf">Apache Mahout introduction</a> - Slides from Isabel Drost, codebits Lisbon, November 2010.
- * <a href="http://isabel-drost.de/hadoop/slides/apachecon_2010.pdf">Apache Mahout - Making Data Analysis Easy</a> - Slides from Isabel Drost, Apache Con US Atlanta, November 2010.
- * <a href="http://www.slideshare.net/jaganadhg/bck9">Practical Machine Learning</a> - Slides from Jaganadh G, BarCamp Kerala 9, November 2010.
- * <a href="http://www.slideshare.net/tdunning/sdforum-11042010">Mahout and its new classification framework</a> - Slides from Ted Dunning, SDForum, November 2010.
- * <a href="http://www.slideshare.net/sscdotopen/mahoutcf">Distributed Item-based Collaborative Filtering with Apache Mahout</a> - Slides from Sebastian Schelter, Hadoop Get Together Berlin, October 2010.
- * <a href="http://isabel-drost.de/hadoop/slides/HMM.pdf">Hidden Markov Models for Mahout</a> - Slides from Max Heimel, Hadoop Get Together Berlin, October 2010.
- * <a href="http://www.slideshare.net/robinanil/oscon-apache-mahout-mammoth-scale-machine-learning">Apache Mahout Mammoth Scale Machine Learning </a> - Slides from Robin Anil, OSCON 2010.
- * <a href="http://slidesha.re/9LxOIu">Intro to Apache Mahout</a> - Slides from Grant Ingersoll, RTP Semantic Web Group.
- * <a href="http://www.slideshare.net/ydn/3-biometric-hadoopsummit2010">Case study: Biometric Databases and Hadoop </a> - Slides from Jason Trost, Hadoop Summit 2010.
- * <a href="http://www.slideshare.net/hadoopusergroup/mail-antispam?from=ss_embed">Spam Fighting at Yahoo</a>
- * <a href="http://www.slideshare.net/hadoopusergroup/bixo-hug-talk?from=ss_embed">Web Mining with Ken Krugler</a>
- * <a href="http://berlinbuzzwords.wikidot.com/local--files/links-to-slides/ingersoll_bbuzz2010.pdf">Keynote on intelligent search</a> - Slides from Grant Ingersoll, Berlin Buzzwords, June 2010.
- * <a href="http://berlinbuzzwords.wikidot.com/local--files/links-to-slides/owen_bbuzz2010.pdf">Simple co-occurrence-based recommendation on Hadoop</a> - Slides from Sean Owen, Berlin Buzzwords, June, 2010.
- * <a href="http://berlinbuzzwords.wikidot.com/local--files/links-to-slides/scholten_bbuzz2010.odp">Introduction to Collaborative Filtering using Mahout</a> - Slides from Frank Scholten, Berlin Buzzwords, June, 2010.
- * <a href="http://lucene.grantingersoll.com/2010/02/16/trijug-intro-to-mahout-slides-and-demo-examples/">Introduction to Scalable Machine Learning</a> - Slides and demos from Grant Ingersoll, March, 2010.
- * Mahout @ India Hadoop Summit - Slides from a 1 hour talk on Mahout at the India Hadoop Summit by Robin Anil, February 2010.
- * <a href="http://www.isabel-drost.de/hadoop/slides/opensourceexpo09.pdf">Mahout in 10 minutes</a> - Slides from a 10 min intro to Mahout at the Map Reduce tutorial by David Z&uuml;lke at Open Source Expo in Karlsruhe, Isabel Drost, November 2009.
- * <a href="http://www.isabel-drost.de/hadoop/slides/apacheconus2009.pdf">Mahout at Apache Con US </a> - Slides from a talk on "Going from raw data to information" (with Mahout) at Apache Con US in Oakland, Isabel Drost, November 2009.
- * <a href="http://www.isabel-drost.de/hadoop/slides/froscon2009.pdf">Mahout at FrOSCon</a> - Slides from a talk on Mahout at FrOSCon in Sankt Augustin, Isabel Drost, August 2009.
- * <a href="http://www.isabel-drost.de/hadoop/slides/dai.pdf">Mahout at DAI group TU Berlin</a> - Slides from a talk on Mahout at the DAI Laboratories TU Berlin, Isabel Drost, July 2009.
- * <a href="http://www.isabel-drost.de/hadoop/slides/ulf.pdf">Mahout at Machine Learning Group TU Berlin</a> - Slides from a talk on Hadoop with some detour to Mahout at the Machine
- * Learning Group of Prof. Dr. Klaus-Robert M&uuml;ller at TU Berlin, Isabel Drost, June 2009.
- * <a href="http://www.isabel-drost.de/hadoop/slides/google.pdf">Mahout at Google Z&uuml;rich</a> - Slides from a Google tech-talk on the past, present and future of Mahout, Isabel Drost, May 2009.
- * <a href="http://static.last.fm/johan/huguk-20090414/isabel_drost-introducing_apache_mahout.pdf">Hadoop user group UK</a> - Slides from a talk on April 14, 2009 at the Hadoop User Group UK in London, Isabel Drost, April 2009.
- * <a href="http://cwiki.apache.org/confluence/download/attachments/88410/SDForum.pdf">BI Over Petabytes: Meet Apache Mahout</a> - Slides from a talk by Jeff Eastman on April 21, 2009 at the Bay Area SD Forum Business Intelligence SIG meeting at SAP in Palo Alto, CA.
- * Lucene Meetup and Apache Barcamp in Amsterdam, March 2009.
- * BarCampRDU - (Raleigh) on Aug. 2, 2008
- * Introducing Mahout: Apache Machine Learning - Committer Grant Ingersoll gave a gentle introduction to Mahout and Machine Learning at ApacheCon in November (3rd through 7th) in New Orleans, USA.
- * Mahout: Scaling Machine Learning - Introduction to Mahout and machine learning at FrOSCon in Sankt Augustin/Germany, Isabel Drost, August 2008. (<a href="http://cwiki.apache.org/confluence/download/attachments/88410/froscon.pdf">slides</a>)
- * Mahout: Scalable Machine Learning - An introduction to Mahout and machine learning at the first German Hadoop gathering in newthinking store/ Berlin, Isabel Drost, July 2008.
- * Apache Mahout: Industrial Strength Machine Learning - Committer Jeff Eastman gave an introduction to Mahout at Yahoo\!, May 2008
- * <a href="http://people.apache.org/~berndf/openexpode08-lucene-talk.pdf">Apache Lucene - Mach's wie Google</a> - Bernd Fondermann presented an overview of the Apache Lucene project,
- * including Mahout at Open Source Expo 2008 in Karlsruhe, May 2008.
- * Apache Mahout: Bringing Machine Learning to Industrial Strength - Committer Isabel Drost gave a Fast Feather introduction the the new project Mahout at Apache Con EU April, 2008
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/oldsite/general/downloads.md
----------------------------------------------------------------------
diff --git a/website-old/oldsite/general/downloads.md b/website-old/oldsite/general/downloads.md
deleted file mode 100644
index 0822d19..0000000
--- a/website-old/oldsite/general/downloads.md
+++ /dev/null
@@ -1,68 +0,0 @@
----
-layout: default
-title: Downloads
-theme:
- name: retro-mahout
----
-
-<a name="Downloads-OfficialRelease"></a>
-# Official Release
-Apache Mahout is an official Apache project and thus available from any of
-the Apache mirrors. The latest Mahout release is available for download at:
-
-* [Download Latest](http://www.apache.org/dyn/closer.cgi/mahout/)
-* [Release Archive](http://archive.apache.org/dist/mahout/)
-
-
-# Source code for the current snapshot
-
-Apache Mahout is mirrored to [Github](https://github.com/apache/mahout). To get all source:
-
- git clone https://github.com/apache/mahout.git mahout
-
-# Environment
-
-Whether you are using Mahout's Shell, running command line jobs or using it as a library to build your own apps
-you'll need to setup several environment variables.
-Edit your environment in ```~/.bash_profile``` for Mac or ```~/.bashrc``` for many linux distributions. Add the following
-
- export MAHOUT_HOME=/path/to/mahout
- export MAHOUT_LOCAL=true # for running standalone on your dev machine,
- # unset MAHOUT_LOCAL for running on a cluster
-
-If you are running on Spark you will also need $SPARK_HOME
-
-Make sure to have $JAVA_HOME set also
-
-# Using Mahout as a Library
-
-Running any application that uses Mahout will require installing a binary or source version and setting the environment.
-Then add the appropriate setting to your pom.xml or build.sbt following the template below.
-
-If you only need the math part of Mahout:
-
- <dependency>
- <groupId>org.apache.mahout</groupId>
- <artifactId>mahout-math</artifactId>
- <version>${mahout.version}</version>
- </dependency>
-
-In case you would like to use some of our integration tooling (e.g. for generating vectors from Lucene):
-
- <dependency>
- <groupId>org.apache.mahout</groupId>
- <artifactId>mahout-hdfs</artifactId>
- <version>${mahout.version}</version>
- </dependency>
-
-In case you are using Ivy, Gradle, Buildr, Grape or SBT you might want to directly head over to the official [Maven Repository search](http://mvnrepository.com/artifact/org.apache.mahout/mahout-core).
-
-
-<a name="Downloads-FutureReleases"></a>
-# Future Releases
-
-Official releases are usually created when the developers feel there are
-sufficient changes, improvements and bug fixes to warrant a release. Watch
-the <a href="https://mahout.apache.org/general/mailing-lists,-irc-and-archives.html">Mailing lists</a>
- for latest release discussions and check the Github repo.
-

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/oldsite/general/faq.md
----------------------------------------------------------------------
diff --git a/website-old/oldsite/general/faq.md b/website-old/oldsite/general/faq.md
deleted file mode 100644
index 8e1e592..0000000
--- a/website-old/oldsite/general/faq.md
+++ /dev/null
@@ -1,105 +0,0 @@
----
-layout: default
-title: FAQ
-theme:
- name: retro-mahout
----
-
-# The Official Mahout FAQ
-
-*General*
-
-1. [What is Apache Mahout?](#whatis)
-1. [What does the name mean?](#mean)
-1. [How is the name pronounced?](#pronounce)
-1. [Where can I find the origins of the Mahout project?](#historical)
-1. [Where can I download the Mahout logo?](#downloadlogo)
-1. [Where can I download Mahout slide presentations?](#presentations)
-
-*Algorithms*
-
-1. [What algorithms are implemented in Mahout?](#algos)
-1. [What algorithms are missing from Mahout?](#todo)
-1. [Do I need Hadoop to run Mahout?](#hadoop)
-
-*Hadoop specific questions*
-
-1. [Mahout just won't run in parallel on my dataset. Why?](#split)
-
-
-# *Answers*
-
-
-## General
-
-
-<a name="whatis"></a>
-#### What is Apache Mahout?
-
-Apache Mahout is a suite of machine learning libraries designed to be
-scalable and robust
-
-<a name="mean"></a>
-#### What does the name mean?
-
-The name [Mahout](http://en.wikipedia.org/wiki/Mahout)
- was original chosen for it's association with the [Apache Hadoop](http://hadoop.apache.org)
- project. A Mahout is a person who drives an elephant (hint: Hadoop's logo
-is an elephant). We just wanted a name that complemented Hadoop but we see
-our project as a good driver of Hadoop in the sense that we will be using
-and testing it. We are not, however, implying that we are controlling
-Hadoop's development.
-
-Prior to coming to the ASF, those of us working on the project plan voted between [Howdah](http://en.wikipedia.org/wiki/Howdah) – the carriage on top of an elephant and Mahout.
-
-<a name="historical"></a>
-#### Where can I find the origins of the Mahout project?
-
-See [http://ml-site.grantingersoll.com](http://web.archive.org/web/20080101233917/http://ml-site.grantingersoll.com/index.php?title=Main_Page)
- for old wiki and mailing list archives (all read-only)
-
-Mahout was started by <a href="http://web.archive.org/web/20071228055210/http://ml-site.grantingersoll.com/index.php?title=Main_Page" class="external-link" rel="nofollow">Isabel Drost, Grant Ingersoll and Karl Wettin</a>. It <a href="http://web.archive.org/web/20080201093120/http://lucene.apache.org/#22+January+2008+-+Lucene+PMC+Approves+Mahout+Machine+Learning+Project" class="external-link" rel="nofollow">started</a> as part of the <a href="http://lucene.apache.org" class="external-link" rel="nofollow">Lucene</a> project (see the <a href="http://web.archive.org/web/20080102151102/http://ml-site.grantingersoll.com/index.php?title=Incubator_proposal" class="external-link" rel="nofollow">original proposal</a>) and went on to become a top level project in April of 2010.</p><p style="text-align: left;">The original goal was to implement all 10 algorithms from Andrew Ng's paper &quot;<a href="http://ai.stanford.edu/~ang/papers/nips06-mapreducemulticore.pdf" class="external-link" rel="nof
ollow">Map-Reduce for Machine Learning on Multicore</a>&quot;</p>
-
-<a name="pronounce"></a>
-#### How is the name pronounced?
-
-There are some disagreements about how to pronounce the name. Webster's has it as muh-hout (as in ["out"](http://dictionary.reference.com/browse/mahout)), but the Sanskrit/Hindi origins pronounce it as "muh-hoot". The second pronunciation suggests a nice pun on the Hebrew word מהות meaning "essence or truth".
-
-<a name="downloadlogo"></a>
-#### Where can I download the Mahout logo?
-
-See [MAHOUT-335](https://issues.apache.org/jira/browse/MAHOUT-335)
-
-
-<a name="presentations"></a>
-#### Where can I download Mahout slide presentations?
-
-The [Books, Tutorials and Talks](https://mahout.apache.org/general/books-tutorials-and-talks.html)
- page contains an overview of a wide variety of presentations with links to slides where available.
-
-## Algorithms
-
-<a name="algos"></a>
-#### What algorithms are implemented in Mahout?
-
-We are interested in a wide variety of machine learning algorithms. Many of
-which are already implemented in Mahout. You can find a list [here](https://mahout.apache.org/users/basics/algorithms.html).
-
-<a name="todo"></a>
-#### What algorithms are missing from Mahout?
-
-There are many machine learning algorithms that we would like to have in
-Mahout. If you have an algorithm or an improvement to an algorithm that you would
-like to implement, start a discussion on our [mailing list](https://mahout.apache.org/general/mailing-lists,-irc-and-archives.html).
-
-<a name="hadoop"></a>
-#### Do I need Hadoop to use Mahout?
-
-There is a number of algorithm implementations that require no Hadoop dependencies whatsoever, consult the [algorithms list](https://mahout.apache.org/users/basics/algorithms.html). In the future, we might provide more algorithm implementations on platforms more suitable for machine learning such as [Apache Spark](http://spark.apache.org)
-
-## Hadoop specific questions
-<a name="split"></a>
-#### Mahout just won't run in parallel on my dataset. Why?
-
-If you are running training on a Hadoop cluster keep in mind that the number of mappers started is governed by the size of the input data and the configured split/block size of your cluster. As a rule of thumb,
-anything below 100MB in size won't be split by default.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/oldsite/general/glossary.md
----------------------------------------------------------------------
diff --git a/website-old/oldsite/general/glossary.md b/website-old/oldsite/general/glossary.md
deleted file mode 100644
index 215cd50..0000000
--- a/website-old/oldsite/general/glossary.md
+++ /dev/null
@@ -1,11 +0,0 @@
----
-layout: default
-title: Glossary
-theme:
- name: retro-mahout
----
-This is a list of common glossary terms used on both the mailing lists and
-around the site. Where possible I have tried to provide a link to more
-in-depth explanations from the web
-
-{children:excerpt=true|style=h4}

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/oldsite/general/mahout-benchmarks.md
----------------------------------------------------------------------
diff --git a/website-old/oldsite/general/mahout-benchmarks.md b/website-old/oldsite/general/mahout-benchmarks.md
deleted file mode 100644
index 7a2c643..0000000
--- a/website-old/oldsite/general/mahout-benchmarks.md
+++ /dev/null
@@ -1,153 +0,0 @@
----
-layout: default
-title: Mahout Benchmarks
-theme:
- name: retro-mahout
----
-
-<a name="MahoutBenchmarks-Introduction"></a>
-# Introduction
-
-Depending on hardware configuration, exact distribution of ratings over users and items YMMV!
-
-<a name="MahoutBenchmarks-Recommenders"></a>
-# Recommenders
-
-<a name="MahoutBenchmarks-ARuleofThumb"></a>
-## A Rule of Thumb
-
-100M preferences are about the data set size where non-distributed
-recommenders will outgrow a normal-sized machine (32-bit, <= 4GB RAM). Your
-mileage will vary significantly with the nature of the data.
-
-<a name="MahoutBenchmarks-Distributedrecommendervs.Wikipedialinks(May272010)"></a>
-## Distributed recommender vs. Wikipedia links (May 27 2010)
-
-From the mailing list:
-
-I just finished running a set of recommendations based on the Wikipedia
-link graph, for book purposes (yeah, it's unconventional). I ran on my
-laptop, but it ought to be crudely representative of how it runs in a real
-cluster.
-
-The input is 1058MB as a text file, and contains, 130M article-article
-associations, from 5.7M articles to 3.8M distinct articles ("users" and
-"items", respectively). I estimate cost based on Amazon's North
-American small Linux-based instance pricing of $0.085/hour. I ran on a
-dual-core laptop with plenty of RAM, allowing 1GB per worker, so this is
-valid.
-
-In this run, I run recommendations for all 5.7M "users". You can certainly
-run for any subset of all users of course.
-
-Phase 1 (Item ID to item index mapping)
-29 minutes CPU time
-$0.05
-60MB output
-
-Phase 2 (Create user vectors)
-88 minutes CPU time
-$0.13
-Output: 1159MB
-
-Phase 3 (Count co-occurrence)
-77 hours CPU time
-$6.54
-Output: 23.6GB
-
-Phase 4 (Partial multiply prep)
-10.5 hours CPU time
-$0.90
-Output: 24.6GB
-
-Phase 5 (Aggregate and recommend)
-about 600 hours
-about $51.00
-about 10GB
-(I estimated these rather than let it run at home for days!)
-
-
-Note that phases 1 and 3 may be run less frequently, and need not be run
-every time. But the cost is dominated by the last step, which is most of
-the work. I've ignored storage costs.
-
-This implies a cost of $0.01 (or about 8 instance-minutes) per 1,000 user
-recommendations. That's not bad if, say, you want to update recs for you
-site's 100,000 daily active users for a dollar.
-
-There are several levers one could pull internally to sacrifice accuracy
-for speed, but it's currently set to pretty normal values. So this is just
-one possibility.
-
-Now that's not terrible, but it is about 8x more computing than would be
-needed by a non-distributed implementation *if* you could fit the whole
-data set into a very large instance's memory, which is still possible at
-this scale but needs a pretty big instance. That's a very apples-to-oranges
-comparison of course; different algorithms, entirely different
-environments. This is about the amount of overhead I'd expect from
-distributing -- interesting to note how non-trivial it is.
-
-<a name="MahoutBenchmarks-Non-distributedrecommendervs.KDDCupdataset(March2011)"></a>
-## Non-distributed recommender vs. KDD Cup data set (March 2011)
-
-(From the ***@mahout.apache.org mailing list)
-
-I've been test-driving a simple application of Mahout recommenders (the
-non-distributed kind) on Amazon EC2 on the new Yahoo KDD Cup data set
-(kddcup.yahoo.com).
-
-In the spirit of open-source, like I mentioned, I'm committing the extra
-code to mahout-examples that can be used to run a Recommender on the input
-and output the right format. And, I'd like to publish the rough timings
-too. Find all the source in org.apache.mahout.cf.taste.example.kddcup
-
-<a name="MahoutBenchmarks-Track1"></a>
-### Track 1
-
-* m2.2xlarge instance, 34.2GB RAM / 4 cores
-* Steady state memory consumption: ~19GB
-* Computation time: 30 hours (wall clock-time)
-* CPU time per user: ~0.43 sec
-* Cost on EC2: $34.20 (!)
-
-(Helpful hint on cost I realized after the fact: you can almost surely get
-spot instances for cheaper. The maximum price this sort of instance has
-gone for as a spot instance is about $0.60/hour, vs "retail price" of
-$1.14/hour.)
-
-Resulted in an RMSE of 29.5618 (the rating scale is 0-100), which is only
-good enough for 29th place at the moment. Not terrible for "out of the box"
-performance -- it's just using an item-based recommender with uncentered
-cosine similarity. But not really good in absolute terms. A winning
-solution is going to try to factor in time, and apply more sophisticated
-techniques. The best RMSE so far is about 23.
-
-<a name="MahoutBenchmarks-Track2"></a>
-### Track 2
-
-* c1.xlarge instance: 7GB RAM / 8 cores
-* Steady state memory consumption: ~3.8GB
-* Computation time: 4.1 hours (wall clock-time)
-* CPU time per user: ~1.1 sec
-* Cost on EC2: $3.20
-
-For this I bothered to write a simplistic item-item similarity metric to
-take into account the additional info that is available: track, artist,
-album, genre. The result was comparatively better: 17.92% error rate, good
-enough for 4th place at the moment.
-
-Of course, the next task is to put this through the actual distributed
-processing -- that's really the appropriate solution.
-
-This shows you can still tackle fairly impressive scale with a
-non-distributed solution. These results suggest that the largest instances
-available from EC2 would accomodate almost 1 billion ratings in memory.
-However at that scale running a user's full recommendations would easily be
-measured in seconds, not milliseconds.
-
-<a name="MahoutBenchmarks-Clustering"></a>
-# Clustering
-
-See [MAHOUT-588](https://issues.apache.org/jira/browse/MAHOUT-588)
-
-

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/oldsite/general/mahout-wiki.md
----------------------------------------------------------------------
diff --git a/website-old/oldsite/general/mahout-wiki.md b/website-old/oldsite/general/mahout-wiki.md
deleted file mode 100644
index 82edb1c..0000000
--- a/website-old/oldsite/general/mahout-wiki.md
+++ /dev/null
@@ -1,199 +0,0 @@
----
-layout: default
-title: Mahout Wiki
-theme:
- name: retro-mahout
----
-Apache Mahout is a new Apache TLP project to create scalable, machine
-learning algorithms under the Apache license.
-
-{toc:style=disc|minlevel=2}
-
-<a name="MahoutWiki-General"></a>
-## General
-[Overview](overview.html)
- -- Mahout? What's that supposed to be?
-
-[Quickstart](quickstart.html)
- -- learn how to quickly setup Apache Mahout for your project.
-
-[FAQ](faq.html)
- -- Frequent questions encountered on the mailing lists.
-
-[Developer Resources](developer-resources.html)
- -- overview of the Mahout development infrastructure.
-
-[How To Contribute](how-to-contribute.html)
- -- get involved with the Mahout community.
-
-[How To Become A Committer](how-to-become-a-committer.html)
- -- become a member of the Mahout development community.
-
-[Hadoop](http://hadoop.apache.org)
- -- several of our implementations depend on Hadoop.
-
-[Machine Learning Open Source Software](http://mloss.org/software/)
- -- other projects implementing Open Source Machine Learning libraries.
-
-[Mahout -- The name, history and its pronunciation](mahoutname.html)
-
-<a name="MahoutWiki-Community"></a>
-## Community
-
-[Who we are](who-we-are.html)
- -- who are the developers behind Apache Mahout?
-
-[Books, Tutorials, Talks, Articles, News, Background Reading, etc. on Mahout](books-tutorials-and-talks.html)
-
-[Issue Tracker](issue-tracker.html)
- -- see what features people are working on, submit patches and file bugs.
-
-[Source Code (SVN)](https://svn.apache.org/repos/asf/mahout/)
- -- [Fisheye|http://fisheye6.atlassian.com/browse/mahout]
- -- download the Mahout source code from svn.
-
-[Mailing lists and IRC](mailing-lists,-irc-and-archives.html)
- -- links to our mailing lists, IRC channel and archived design and
-algorithm discussions, maybe your questions was answered there already?
-
-[Version Control](version-control.html)
- -- where we track our code.
-
-[Powered By Mahout](powered-by-mahout.html)
- -- who is using Mahout in production?
-
-[Professional Support](professional-support.html)
- -- who is offering professional support for Mahout?
-
-[Mahout and Google Summer of Code](gsoc.html)
- -- All you need to know about Mahout and GSoC.
-
-
-[Glossary of commonly used terms and abbreviations](glossary.html)
-
-<a name="MahoutWiki-Installation/Setup"></a>
-## Installation/Setup
-
-[System Requirements](system-requirements.html)
- -- what do you need to run Mahout?
-
-[Quickstart](quickstart.html)
- -- get started with Mahout, run the examples and get pointers to further
-resources.
-
-[Downloads](downloads.html)
- -- a list of Mahout releases.
-
-[Download and installation](buildingmahout.html)
- -- build Mahout from the sources.
-
-[Mahout on Amazon's EC2 Service](mahout-on-amazon-ec2.html)
- -- run Mahout on Amazon's EC2.
-
-[Mahout on Amazon's EMR](mahout-on-elastic-mapreduce.html)
- -- Run Mahout on Amazon's Elastic Map Reduce
-
-[Integrating Mahout into an Application](mahoutintegration.html)
- -- integrate Mahout's capabilities in your application.
-
-<a name="MahoutWiki-Examples"></a>
-## Examples
-
-1. [ASF Email Examples](asfemail.html)
- -- Examples of recommenders, clustering and classification all using a
-public domain collection of 7 million emails.
-
-<a name="MahoutWiki-ImplementationBackground"></a>
-## Implementation Background
-
-<a name="MahoutWiki-RequirementsandDesign"></a>
-### Requirements and Design
-
-[Matrix and Vector Needs](matrix-and-vector-needs.html)
- -- requirements for Mahout vectors.
-
-[Collection(De-)Serialization](collection(de-)serialization.html)
-
-<a name="MahoutWiki-CollectionsandAlgorithms"></a>
-### Collections and Algorithms
-
-Learn more about [mahout-collections](mahout-collections.html)
-, containers for efficient storage of primitive-type data and open hash
-tables.
-
-Learn more about the [Algorithms](algorithms.html)
- discussed and employed by Mahout.
-
-Learn more about the [Mahout recommender implementation](recommender-documentation.html)
-.
-
-<a name="MahoutWiki-Utilities"></a>
-### Utilities
-
-This section describes tools that might be useful for working with Mahout.
-
-[Converting Content](converting-content.html)
- -- Mahout has some utilities for converting content such as logs to
-formats more amenable for consumption by Mahout.
-[Creating Vectors](creating-vectors.html)
- -- Mahout's algorithms operate on vectors. Learn more on how to generate
-these from raw data.
-[Viewing Result](viewing-result.html)
- -- How to visualize the result of your trained algorithms.
-
-<a name="MahoutWiki-Data"></a>
-### Data
-
-[Collections](collections.html)
- -- To try out and test Mahout's algorithms you need training data. We are
-always looking for new training data collections.
-
-<a name="MahoutWiki-Benchmarks"></a>
-### Benchmarks
-
-[Mahout Benchmarks](mahout-benchmarks.html)
-
-<a name="MahoutWiki-Committer'sResources"></a>
-## Committer's Resources
-
-* [Testing](testing.html)
- -- Information on test plans and ideas for testing
-
-<a name="MahoutWiki-ProjectResources"></a>
-### Project Resources
-
-* [Dealing with Third Party Dependencies not in Maven](thirdparty-dependencies.html)
-* [How To Update The Website](how-to-update-the-website.html)
-* [Patch Check List](patch-check-list.html)
-* [How To Release](http://cwiki.apache.org/confluence/display/MAHOUT/How+to+release)
-* [Release Planning](release-planning.html)
-* [Sonar Code Quality Analysis](https://analysis.apache.org/dashboard/index/63921)
-
-<a name="MahoutWiki-AdditionalResources"></a>
-### Additional Resources
-
-* [Apache Machine Status](http://monitoring.apache.org/status/)
- \- Check to see if SVN, other resources are available.
-* [Committer's FAQ](http://www.apache.org/dev/committers.html)
-* [Apache Dev](http://www.apache.org/dev/)
-
-
-<a name="MahoutWiki-HowToEditThisWiki"></a>
-## How To Edit This Wiki
-
-How to edit this Wiki
-
-This Wiki is a collaborative site, anyone can contribute and share:
-
-* Create an account by clicking the "Login" link at the top of any page,
-and picking a username and password.
-* Edit any page by pressing Edit at the top of the page
-
-There are some conventions used on the Mahout wiki:
-
- * {noformat}+*TODO:*+{noformat} (+*TODO:*+ ) is used to denote sections
-that definitely need to be cleaned up.
- * {noformat}+*Mahout_(version)*+{noformat} (+*Mahout_0.2*+) is used to
-draw attention to which version of Mahout a feature was (or will be) added
-to Mahout.
-

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/oldsite/general/mailing-lists,-irc-and-archives.md
----------------------------------------------------------------------
diff --git a/website-old/oldsite/general/mailing-lists,-irc-and-archives.md b/website-old/oldsite/general/mailing-lists,-irc-and-archives.md
deleted file mode 100644
index e3862ca..0000000
--- a/website-old/oldsite/general/mailing-lists,-irc-and-archives.md
+++ /dev/null
@@ -1,75 +0,0 @@
----
-layout: default
-title: Mailing Lists, IRC and Archives
-theme:
- name: retro-mahout
----
-
-# General
-
-Communication at Mahout happens primarily online via mailing lists. We have
-a user as well as a dev list for discussion. In addition there is a commit
-list so we are able to monitor what happens on the wiki and in svn.
-
-<a name="MailingLists,IRCandArchives-Mailinglists"></a>
-# Mailing lists
-
-<a name="MailingLists,IRCandArchives-MahoutUserList"></a>
-## Mahout User List
-
-This list is for users of Mahout to ask questions, share knowledge, and
-discuss issues. Do send mail to this list with usage and configuration
-questions and problems. Also, please send questions to this list to verify
-your problem before filing issues in JIRA.
-
-* [Subscribe](mailto:user-***@mahout.apache.org)
-* [Unsubscribe](mailto:user-***@mahout.apache.org)
-
-<a name="MailingLists,IRCandArchives-MahoutDeveloperList"></a>
-## Mahout Developer List
-
-This is the list where participating developers of the Mahout project meet
-and discuss issues concerning Mahout internals, code changes/additions,
-etc. Do not send mail to this list with usage questions or configuration
-questions and problems.
-
-Discussion list:
-
-* [Subscribe](mailto:dev-***@mahout.apache.org)
- -- Do not send mail to this list with usage questions or configuration
-questions and problems.
-* [Unsubscribe](mailto:dev-***@mahout.apache.org)
-
-Commit notifications:
-
-* [Subscribe](mailto:commits-***@mahout.apache.org)
-* [Unsubscribe](mailto:commits-***@mahout.apache.org)
-
-<a name="MailingLists,IRCandArchives-IRC"></a>
-# IRC
-
-Mahout's IRC channel is **#mahout**. It is a logged channel. Please keep in
-mind that it is for discussion purposes only and that (pseudo)decisions
-should be brought back to the dev@ mailing list or JIRA and other people
-who are not on IRC should be given time to respond before any work is
-committed.
-
-<a name="MailingLists,IRCandArchives-Archives"></a>
-# Archives
-
-<a name="MailingLists,IRCandArchives-OfficialApacheArchive"></a>
-## Official Apache Archive
-
-* [http://mail-archives.apache.org/mod_mbox/mahout-dev/](http://mail-archives.apache.org/mod_mbox/mahout-dev/)
-* [http://mail-archives.apache.org/mod_mbox/mahout-user/](http://mail-archives.apache.org/mod_mbox/mahout-user/)
-
-<a name="MailingLists,IRCandArchives-ExternalArchives"></a>
-## External Archives
-
-* [MarkMail](http://mahout.markmail.org/)
-* [Gmane](http://dir.gmane.org/gmane.comp.apache.mahout.user)
-
-Please note the inclusion of a link to an archive does not imply an
-endorsement of that company by any of the committers of Mahout the Lucene
-PMC or the Apache Software Foundation. Each archive owner is solely
-responsible for the contents and availability of their archive.

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/oldsite/general/powered-by-mahout.md
----------------------------------------------------------------------
diff --git a/website-old/oldsite/general/powered-by-mahout.md b/website-old/oldsite/general/powered-by-mahout.md
deleted file mode 100644
index cb7c039..0000000
--- a/website-old/oldsite/general/powered-by-mahout.md
+++ /dev/null
@@ -1,129 +0,0 @@
----
-layout: default
-title: Powered By Mahout
-theme:
- name: retro-mahout
----
-
-# Powered by Mahout
-
-Are you using Mahout to do Machine Learning? <a href="https://mahout.apache.org/general/mailing-lists,-irc-and-archives.html">Care to share</a>? Developers of the project always are happy to learn about new happy users with interesting use cases.
-
-*Links here do NOT imply
-endorsement by Mahout, its committers or the Apache Software Foundation and
-are for informational purposes only.*
-
-<a name="PoweredByMahout-CommercialUse"></a>
-## Commercial Use
-
-* <a href="http://nosql.mypopescu.com/post/2082712431/hbase-and-hadoop-at-adobe">Adobe AMP</a> uses Mahout's clustering algorithms to increase video
-consumption by better user targeting.
-* Accenture uses Mahout as typical example for their [Hadoop Deployment Comparison Study](http://www.accenture.com/SiteCollectionDocuments/PDF/Accenture-Hadoop-Deployment-Comparison-Study.pdf)
-* [AOL](http://www.aol.com)
- use Mahout for shopping recommendations. See [slide deck](http://www.slideshare.net/kryton/the-data-layer)
-* [Booz Allen Hamilton](http://www.boozallen.com/)
- uses Mahout's clustering algorithms. See [slide deck](http://www.slideshare.net/ydn/3-biometric-hadoopsummit2010)
-* [Buzzlogic](http://www.buzzlogic.com)
- uses Mahout's clustering algorithms to improve ad targeting
-* [Cull.tv](http://cull.tv/)
- uses modified Mahout algorithms for content recommendations
-* ![DatamineLab](http://cdn.dataminelab.com/favicon.ico) [DataMine Lab](http://dataminelab.com)
- uses Mahout's recommendation and clustering algorithms to improve our
-clients' ad targeting.
-* [Drupal](http://drupal.org/project/recommender)
- uses Mahout to provide open source content recommendation solutions.
-* [Evolv ](http://www.evolvondemand.com)
- uses Mahout for its Workforce Predictive Analytics platform.
-* [Foursquare](http://www.foursquare.com)
- uses Mahout for its [recommendation engine](http://engineering.foursquare.com/2011/03/22/building-a-recommendation-engine-foursquare-style/).
-* [Idealo](http://www.idealo.de)
- uses Mahout's recommendation engine.
-* [InfoGlutton](http://www.infoglutton.com)
- uses Mahout's clustering and classification for various consulting
-projects.
-* [Intel](http://mark.chmarny.com/2013/07/thinking-big-about-data-at-intel.html)
- ships Mahout as part of their Distribution for Apache Hadoop Software.
-* [Intela](http://www.intela.com/)
- has implementations of Mahout's recommendation algorithms to select new
-offers to send tu customers, as well as to recommend potential customers to
-current offers. We are also working on enhancing our offer categories by
-using the clustering algorithms.
-* ![iOffer](http://ioffer.com/favicon.ico) [iOffer](http://www.ioffer.com)
- uses Mahout's Frequent Pattern Mining and Collaborative Filtering to
-recommend items to users.
-* ![kau.li](http://kau.li/favicon.ico) [Kauli](http://kau.li/en)
-, one of Japanese Adnetwork, uses Mahout's clustering to handle clickstream
-data for predicting audience's interests and intents.
-* [Linked.In](http://linkedin.com)
- Historically, we have used R for model training. We have recently started
-experimenting with Mahout for model training and are excited about it - also see
- <a href="https://www.quora.com/LinkedIn-Recommendations/How-does-LinkedIns-recommendation-system-work?srid=XoeG&share=1">Hadoop World slides</a>
-.
-* [LucidWorks Big Data](http://www.lucidworks.com/products/lucidworks-big-data)
- uses Mahout for clustering, duplicate document detection, phrase
-extraction and classification.
-* ![Mendeley](http://mendeley.com/favicon.ico) [Mendeley](http://mendeley.com)
- uses Mahout to power Mendeley Suggest, a research article recommendation
-service.
-* ![Mippin](http://mippin.com/web/favicon.ico) [Mippin](http://mippin.com)
- uses Mahout's collaborative filtering engine to recommend news feeds
-* [Mobage](http://www.slideshare.net/hamadakoichi/mobage-prmu-2011-mahout-hadoop)
- uses Mahout in their analysis pipeline
-* ![Myrrix](http://myrrix.com/wp-content/uploads/2012/03/favicon.ico) [Myrrix](http://myrrix.com)
- is a recommender system product built on Mahout.
-* ![Newscred](http://www.newscred.com/static/img/website/favicon.ico) [NewsCred](http://platform.newscred.com)
- uses Mahout to generate clusters of news articles and to surface the
-important stories of the day
-* [Next Glass](http://nextglass.co/)
- uses Mahout
-* [Predixion Software](http://predixionsoftware.com/)
- uses Mahout’s algorithms to build predictive models on big data
-* <img src="Loading Image..." width=15> [Radoop](http://radoop.eu)
- provides a drag-n-drop interface for big data analytics, including Mahout
-clustering and classification algorithms
-* ![Researchgate](https://www.researchgate.net/favicon.ico) [ResearchGate](http://www.researchgate.net/), the professional network for scientists and researchers, uses Mahout's
-recommendation algorithms.
-* [Sematext](http://www.sematext.com/)
- uses Mahout for its recommendation engine
-* [SpeedDate.com](http://www.speeddate.com)
- uses Mahout's collaborative filtering engine to recommend member profiles
-* [Twitter](http://twitter.com)
- uses Mahout's LDA implementation for user interest modeling
-* [Yahoo\!](http://www.yahoo.com)
- Mail uses Mahout's Frequent Pattern Set Mining. See [slides](http://www.slideshare.net/hadoopusergroup/mail-antispam)
-* [365Media ](http://365media.com/)
- uses *Mahout's* Classification and Collaborative Filtering algorithms in
-its Real-time system named [UPTIME](http://uptime.365media.com/)
- and 365Media/Social
-
-<a name="PoweredByMahout-AcademicUse"></a>
-## Academic Use
-
-* [Dicode](https://www.dicode-project.eu/)
- project uses Mahout's clustering and classification algorithms on top of
-HBase.
-* The course [Large Scale Data Analysis and Data Mining](http://www.dima.tu-berlin.de/menue/teaching/masterstudium/aim-3/)
- at TU Berlin uses Mahout to teach students about the parallelization of data
-mining problems with Hadoop and Map/Reduce
-* Mahout is used at Carnegie Mellon University, as a comparable platform to [GraphLab](http://www.graphlab.ml.cmu.edu/)
-
-* The [ROBUST project](http://www.robust-project.eu/)
-, co-funded by the European Commission, employs Mahout in the large scale
-analysis of online community data.
-* Mahout is used for research and data processing at [Nagoya Institute of Technology](http://www.nitech.ac.jp/eng/schools/grad/cse.html)
-, in the context of a large-scale citizen participation platform project,
-funded by the Ministry of Interior of Japan.
-* Several researches within [Digital Enterprise Research Institute](http://www.deri.ie)
- [NUI Galway](http://www.nuigalway.ie)
- use Mahout for e.g. topic mining and modelling of large corpora.
-* Mahout is used in the NoTube EU project.
-
-<a name="PoweredByMahout-PoweredByLogos"></a>
-## Powered By Logos
-
-Feel free to use our **Powered By** logos on your site:
-
-![powered by logo](Loading Image...)
-
-
-![powered by logo](Loading Image...)
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/oldsite/general/privacy-policy.md
----------------------------------------------------------------------
diff --git a/website-old/oldsite/general/privacy-policy.md b/website-old/oldsite/general/privacy-policy.md
deleted file mode 100644
index bc10929..0000000
--- a/website-old/oldsite/general/privacy-policy.md
+++ /dev/null
@@ -1,28 +0,0 @@
----
-layout: default
-title: Privacy Policy
-theme:
- name: retro-mahout
----
-Information about your use of this website is collected using server access
-logs and a tracking cookie. The collected information consists of the
-following:
-
-* The IP address from which you access the website;
-* The type of browser and operating system you use to access our site;
-* The date and time you access our site;
-* The pages you visit; and
-* The addresses of pages from where you followed a link to our site.
-
-Part of this information is gathered using a tracking cookie set by the
-Google Analytics service and handled by Google as described in their
-privacy policy. See your browser documentation for instructions on how to
-disable the cookie if you prefer not to share this data with Google.
-
-We use the gathered information to help us make our site more useful to
-visitors and to better understand how and when our site is used. We do not
-track or collect personally identifiable information or associate gathered
-data with any personally identifying information from other sources.
-
-By using this website, you consent to the collection of this data in the
-manner and for the purpose described above.

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/oldsite/general/professional-support.md
----------------------------------------------------------------------
diff --git a/website-old/oldsite/general/professional-support.md b/website-old/oldsite/general/professional-support.md
deleted file mode 100644
index ad8ef7c..0000000
--- a/website-old/oldsite/general/professional-support.md
+++ /dev/null
@@ -1,39 +0,0 @@
----
-layout: default
-title: Professional Support
-theme:
- name: retro-mahout
----
-
-<a name="ProfessionalSupport-ProfessionalsupportforMahout"></a>
-# Professional support for Mahout
-
-Add yourself or your company if you are offering support for Mahout
-users. Please keep lists in alphabetical order. An entry here
-is not an endorsement by the Apache Software Foundation nor any of its
-committers.
-
-
-<a name="ProfessionalSupport-Peopleandcompaniesforhire"></a>
-## People and companies for hire
-
-| Name | Contact details | Notes |
-|------|-----------------|-------|
-| Accenture | ***@accenture.com | [Consulting services in big data analytics](http://accenture.com) |
-| Boston Predictive Analytics | ***@bostonpredictiveanalytics.com | [http://tutorteddy.com/site/free_statistics_help.php](http://tutorteddy.com/site/free_statistics_help.php) |
-| Frank Scholten | ***@orange11.nl | |
-| GridLine | [http://www.gridline.nl/contact](http://www.gridline.nl/contact) | Specialised in search and thesauri |
-| Jagdish Nomula | ***@gmail.com | ML, Search, Algorithms, Java [http://www.kosmex.com](http://www.kosmex.com) |
-| LucidWorks | [http://www.lucidworks.com](http://www.lucidworks.com) | Big data platform including Mahout as a service for clustering, classification and more |
-| Sematext International | [http://sematext.com/](http://sematext.com/) | |
-| Ted Dunning | ***@maprtech.com | Full commercial support |
-| Winterwell | ***@winterwell.com | Business/maths concept development & algorithms [http://winterwell.com](http://winterwell.com) |
-
-<a name="ProfessionalSupport-Talksandpresentations"></a>
-## Talks and presentations
-
-| Name | Contact details | Notes |
-|------|-----------------|-------|
-| Andrew Musselman | ***@apache.org | ["Building a Recommender with Apache Mahout on Amazon Elastic-MapReduce"](https://blogs.aws.amazon.com/bigdata/post/Tx1TDK3HHBD4EZL/Building-a-Recommender-with-Apache-Mahout-on-Amazon-Elastic-MapReduce-EMR) |
-| Frank Scholten | ***@jteam.nl | Mahout/Taste [http://blog.jteam.nl/author/frank/](http://blog.jteam.nl/author/frank/) |
-| Isabel Drost-Fromm | ***@apache.org | If travel and accommodation costs are covered scheduling a talk is a lot easier. |

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/oldsite/general/reference-reading.md
----------------------------------------------------------------------
diff --git a/website-old/oldsite/general/reference-reading.md b/website-old/oldsite/general/reference-reading.md
deleted file mode 100644
index ba969ac..0000000
--- a/website-old/oldsite/general/reference-reading.md
+++ /dev/null
@@ -1,71 +0,0 @@
----
-layout: default
-title: Reference Reading
-theme:
- name: retro-mahout
----
-
-# Reference Reading
-
-Here we provide references to books and courses about data analysis in general, which might also be helpful in the context of Mahout.
-
-<a name="ReferenceReading-GeneralBackgroundMaterials"></a>
-## General Background Materials
-
-Don't be overwhelmed by all the maths, you can do a lot in Mahout with some
-basic knowledge. The books will help you understand your
-data better, and ask better questions both of Mahout's APIs, and also of
-the Mahout community. And unlike learning some particular software tool,
-these are skills that will remain useful decades later.
-
- * [Gilbert Strang](http://www-math.mit.edu/~gs)
-'s [Introduction to Linear Algebra](http://math.mit.edu/linearalgebra/). His [lectures](http://ocw.mit.edu/courses/mathematics/18-06-linear-algebra-spring-2010/) are also [available online](http://web.mit.edu/18.06/www/)
- and are strongly recommended.
- * [Mathematical Tools for Applied Mulitvariate Analysis](http://www.amazon.com/Mathematical-Tools-Applied-Multivariate-Analysis/dp/0121609553/ref=sr_1_1?ie=UTF8&qid=1299602805&sr=8-1) by J.Douglass
-Carroll.
- * [Stanford Machine Learning online courseware](http://www.stanford.edu/class/cs229/)
- * [MIT Machine Learning online courseware](http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-867-machine-learning-fall-2006/) has [lecture notes](http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-867-machine-learning-fall-2006/lecture-notes/) online.
- * As a pre-requisite to probability and statistics, you'll need [basic calculus](http://en.wikipedia.org/wiki/Calculus). A maths for scientists text might be useful here such as 'Mathematics for Engineers and Scientists', Alan Jeffrey, Chapman & Hall/CRC. ([openlibrary](http://openlibrary.org/books/OL3305993M/Mathematics_for_engineers_and_scientists))
- * One of the best writers in the probability/statistics world is Sheldon Ross. Try [A First Course in Probability (8th Edition)](http://www.pearsonhighered.com/educator/product/First-Course-in-Probability-A/9780136033134.page) and then move on to his [Introduction to Probability Models](http://www.amazon.com/Introduction-Probability-Models-Sixth-Sheldon/dp/0125984707)
-
-Some good introductory alternatives here are:
-
- * [Kahn Academy](http://www.khanacademy.org/) -- videos on stats, probability, linear algebra
- * [Probability and Statistics (7th Edition)](http://www.amazon.com/Probability-Statistics-Engineering-Sciences-InfoTrac/dp/0534399339), Jay L. Devore, Chapman.
- * [Probability and Statistical Inference (7th Edition)](http://www.amazon.com/Probability-Statistical-Inference-Robert-Hogg/dp/0132546086), Hogg and Tanis, Pearson.
-
-Once you have a grasp of the basics then there are a slew of great texts that you might consult:
-
- * [Statistical Inference](http://www.amazon.com/Statistical-Inference-George-Casella/dp/0534243126), Casell and Berger, Duxbury/Thomson Learning.
- * [Introduction to Bayesian Statistics](http://www.amazon.com/Introduction-Bayesian-Statistics-William-Bolstad/dp/0471270202), William H. Bolstad, Wiley.
- * [Understanding Computational Bayesian Statistics](http://www.amazon.com/Understanding-Computational-Bayesian-Statistics-Wiley/dp/0470046090), Bolstadt
- * [Bayesian Data Analysis, Gelman et al.](http://www.stat.columbia.edu/~gelman/book/)
-
-
-## For statistics related to machine learning, these are particularly helpful:
-
- * [Pattern Recognition and Machine Learning by Chris Bishop](http://research.microsoft.com/en-us/um/people/cmbishop/PRML/index.htm)
- * [Elements of Statistical Learning](http://www-stat.stanford.edu/~tibs/ElemStatLearn/) by Trevor Hastie, Robert Tibshirani, Jerome Friedman
- * [http://research.microsoft.com/en-us/um/people/cmbishop/PRML/index.htm](http://research.microsoft.com/en-us/um/people/cmbishop/PRML/index.htm)
-
-
-## For matrix computations/decomposition/factorization etc.:
-
- * Peter V. O'Neil [Introduction to Linear Algebra](http://www.amazon.com/Introduction-Linear-Algebra-Theory-Applications/dp/053400606X), great book for beginners (with some knowledge in calculus). It is not comprehensive, but, it will be a good place to start and the author starts by explaining the concepts with regards to vector spaces which I found to be a more natural way of explaining.
- * David S. Watkins [Fundamentals of Matrix Computations](http://www.amazon.com/Fundamentals-Matrix-Computations-Applied-Mathematics/dp/0470528338/)
- * [Matrix Computations](http://www.amazon.com/Computations-Hopkins-Studies-Mathematical-Sciences/dp/0801854148/ref=sr_1_2?s=books&ie=UTF8&qid=1394307676&sr=1-2&keywords=golub+van+loan) is the classic text for numerical linear algebra. Can't go wrong with it - great for researchers.
- * Nick Trefethen's [Numerical Linear Algebra](http://people.maths.ox.ac.uk/trefethen/books.html). It's a bit more approachable for practitioners. Many chapters on SVD, there are even chapters on Lanczos.
-
-
-## Books specifically on R:
-
-* Learning about R is a difficult thing. The best introduction is in MASS [http://www.stats.ox.ac.uk/pub/MASS4/](http://www.stats.ox.ac.uk/pub/MASS4/)
-* [R Tutor](http://www.r-tutor.com/r-introduction)
-* [Manual](http://cran.r-project.org/doc/manuals/R-intro.pdf)
-* [R Course](http://faculty.washington.edu/tlumley/Rcourse/)
-
-In addition, you should see how to plot data well:
-
-* [Trellis plotting](http://www.statmethods.net/advgraphs/trellis.html)
-* [ggplot2](http://had.co.nz/ggplot2/)
-

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/oldsite/general/release-notes.md
----------------------------------------------------------------------
diff --git a/website-old/oldsite/general/release-notes.md b/website-old/oldsite/general/release-notes.md
deleted file mode 100644
index bd41ebb..0000000
--- a/website-old/oldsite/general/release-notes.md
+++ /dev/null
@@ -1,242 +0,0 @@
----
-layout: default
-title: Release Notes
-theme:
- name: retro-mahout
----
-
-# Release Notes
-
-#### 11 April 2016 - Apache Mahout 0.12.0 released
-
-This release marks a major milestone for the “Samsara” environment’s goal
-of providing an engine neutral math platform by now supporting Apache Flink.
-While still experimental, the mahout Flink bindings now offer all of the R-Like
-semantics for linear algebra operations, matrix decompositions,
-and algorithms of the “Samsara” platform for execution on a Flink back-end.
-
-This release gives users of Apache Flink out of the box access to the following features (and more):
-
-<ol>
-<li>The Mahout Distributed Row Matrix (DRM) API.</li>
-<li>Distributed and local Vector and Matrix algebra routines.</li>
-<li>Distributed and local Stochastic Principal Component Analysis.</li>
-<li>Distributed and local Stochastic Singular Value Decomposition.</li>
-<li>Distributed and local Thin QR Decomposition.</li>
-<li>Collaborative Filtering.</li>
-<li>Naive Bayes Classification.</li>
-<li>Matrix operations (only listing a few here):
-<ol>
-<li>Mahout-native blockified distributed Matrix map and allreduce routines.</li>
-<li>Distributed data point (row) sampling.</li>
-<li>Matrix/Matrix Squared Distance.</li>
-<li>Element-wise log.</li>
-<li>Element-wise roots.</li>
-<li>Element-wise Matrix/Matrix addition, subtraction, division and multiplication.</li>
-<li>Functional Matrix value assignment.</li>
-<li>A familiar Scala-based R-like DSL.</li>
-</ol>
-</ol>
-
-#### 11 March 2016 - Apache Mahout 0.11.2 released
-
-This is a minor release over Mahout 0.11.1 meant to introduce major
-performance enhancements with sparse matrix and vector computations, and
-major performance optimizations to the Samsara DSL. Mahout 0.11.2 includes
-all new features and bug fixes released in Mahout versions 0.11.0 and
-0.11.1.
-
-Highlights include:
-
-* Spark 1.5.2 support
-* Performance improvements of over 30% on Sparse Vector and Matrix
- computations leveraging the ‘fastutil’ library - contribution from
- Sebastiano Vigna. This speeds up all in-core sparse vector and matrix
- computations.
-
-
-#### 06 November 2015 - Apache Mahout 0.11.1 released
-
-This is a minor release over Mahout 0.11.0 meant to expand Mahout’s
-compatibility with Spark versions, to introduce some new features and to
-fix some bugs. Mahout 0.11.1 includes all new features and bug fixes
-released in Mahout versions 0.11.0 and earlier.
-
-Highlights include:
-
-* Spark 1.4+ support
-* 4x Performance improvement in Dot Product over Dense Vectors (https://issues.apache.org/jira/browse/MAHOUT-1781)
-
-
-#### 07 August 2015 - Apache Mahout 0.11.0 released
-
-Mahout 0.11.0 includes all new features and bugfixes released in Mahout versions 0.10.1
-and 0.10.2 along with support for Spark 1.3+.
-
-Highlights include:
-
-* Spark 1.3 support
-* Fixes for a major memory usage bug in co-occurrence analysis used by the driver spark-itemsimilarity. This will now require far less memory in the executor.
-* Some minor fixes to Mahout-Samsara QR Decomposition and matrix ops.
-* All of the Mahout Samsara fixes from 0.10.2 Release
-
-
-#### 06 August 2015 - Apache Mahout 0.10.2 released
-
-Highlights include:
-
-* In-core transpose view rewrites. Modifiable transpose views eg. (for (col <- a.t) col := 5).
-* Performance and parallelization improvements for AB', A'B, A'A spark physical operators.
-* Optional structural "flavor" abstraction for in-core matrices. In-core matrices can now be tagged as e.g. sparse or dense.
-* %*% optimization based on matrix flavors.
-* In-core ::= sparse assignment functions.
-* Assign := optimization (do proper traversal based on matrix flavors, similarly to %*%).
-* Adding in-place elementwise functional assignment (e.g. mxA := exp _, mxA ::= exp _).
-* Distributed and in-core version of simple elementwise analogues of scala.math._. for example, for log(x) the convention is dlog(drm), mlog(mx), vlog(vec). Unfortunately we cannot overload these functions over what is done in scala.math, i.e. scala would not allow log(mx) or log(drm) and log(Double) at the same time, mainly because they are being defined in different packages.
-* Distributed and in-core first and second moment routines. R analogs: mean(), colMeans(), rowMeans(), variance(), sd(). By convention, distributed versions are prepended by (d) letter: colMeanVars() colMeanStdevs() dcolMeanVars() dcolMeanStdevs().
-* Distance and squared distance matrix routines. R analog: dist(). Provide both squared and non-squared Euclidean distance matrices. By convention, distributed versions are prepended by (d) letter: dist(x), sqDist(x), dsqDist(x). Also a variation for pair-wise distance matrix of two different inputs x and y: sqDist(x,y), dsqDist(x,y).
-* DRM row sampling api.
-* Distributed performance bug fixes. This relates mostly to (a) matrix multiplication deficiencies, and (b) handling parallelism.
-* Distributed engine neutral allreduceBlock() operator api for Spark and H2O.
-* Distributed optimizer operators for elementwise functions. Rewrites recognizing e.g. 1+ drmX * dexp(drmX) as a single fused elementwise physical operator: elementwiseFunc(f1(f2(drmX)) where f1 = 1 + x and f2 = exp(x).
-* More cbind, rbind flavors (e.g. 1 cbind mxX, 1 cbind drmX or the other way around) for Spark and H2O.
-* Added +=: and *=: operators on vectors.
-* Closeable API for broadcast tensors.
-* Support for conversion of any type-keyed DRM into ordinally-keyed DRM.
-* Scala logging style.
-* rowSumsMap() summary for non-int-keyed DRMs.
-* elementwise power operator ^ .
-* R-like vector concatenation operator.
-* In-core functional assignments e.g.: mxA := { (x) => x * x}.
-* Straighten out behavior of Matrix.iterator() and iterateNonEmpty().
-* New mutable transposition view for in-core matrices. In-core matrix transpose view. rewrite with mostly two goals in mind: (1) enable mutability, e.g. for (col <- mxA.t) col := k (2) translate matrix structural flavor for optimizers correctly. i.e. new SparseRowMatrix.t carries on as column-major structure.
-* Native support for kryo serialization of tensor types.
-* Deprecation of the MultiLayerPerceptron, ConcatenateVectorsJob and all related classes.
-* Deprecation of SparseColumnMatrix.
-
-#### 31 May 2015 - Apache Mahout 0.10.1 released
-
-Highlights include:
-
-* Major memory use improvements in cooccurrence analysis including the spark-itemsimilarity driver [MAHOUT-1707](https://issues.apache.org/jira/browse/MAHOUT-1707)
-* Support for Spark version 1.2.2 or less.
-* Some minor fixes to Mahout-Samsara QR Decomposition and matrix ops.
-* Trim down packages size to < 200MB MAHOUT-1704 and MAHOUT-1706
-* Minor testing indicates binary compatibility with Spark 1.3 with the exception of the Mahout Shell.
-
-#### 11 April 2015 - Apache Mahout 0.10.0 released
-
-Mahout 0.10.0 was a major release, which separates out a ML environment (we call Mahout-Samsara) including an
-extended version of Scala that is largely backend independent but runs fully on Spark. The Hadoop MapReduce versions of
-Mahout algorithms are still maintained but no new MapReduce contributions are accepted. From this release onwards
-contributions must be Mahout Samsara based or at least run on Spark.
-
-Highlights include:
-
-New Mahout Samsara Environment
-
-* Distributed Algebraic optimizer
-* R-Like DSL Scala API
-* Linear algebra operations
-* Ops are extensions to Scala
-* Scala REPL based interactive shell running on Spark
-* Integrates with compatible libraries like MLlib
-* Run on distributed Spark
-* H2O in progress
-
-New Mahout Samsara based Algorithms
-
-* Stochastic Singular Value Decomposition (ssvd, dssvd)
-* Stochastic Principal Component Analysis (spca, dspca)
-* Distributed Cholesky QR (thinQR)
-* Distributed regularized Alternating Least Squares (dals)
-* Collaborative Filtering: Item and Row Similarity
-* Naive Bayes Classification
-* Distributed and in-core
-
-Changes in 0.10.0 are detailed <a href="https://github.com/apache/mahout/blob/mahout-0.10.0/CHANGELOG">here</a>
-
-#### 1 February 2014 - Apache Mahout 0.9 released
-
- <p>Highlights include:</p>
-
- <ul>
- <li>New and improved Mahout website based on Apache CMS - <a href="https://issues.apache.org/jira/browse/MAHOUT-1245">MAHOUT-1245</a></li>
- <li>Early implementation of a Multi Layer Perceptron (MLP) classifier - <a href="https://issues.apache.org/jira/browse/MAHOUT-1265">MAHOUT-1265</a>.</li>
- <li>Scala DSL Bindings for Mahout Math Linear Algebra. See <a href="http://weatheringthrutechdays.blogspot.com/2013/07/scala-dsl-for-mahout-in-core-linear.html">this blogpost</a> - <a href="https://issues.apache.org/jira/browse/MAHOUT-1297">MAHOUT-1297</a></li>
- <li>Recommenders as a Search. See <a href="https://github.com/pferrel/solr-recommender">https://github.com/pferrel/solr-recommender</a> - <a href="https://issues.apache.org/jira/browse/MAHOUT-1288">MAHOUT-1288</a></li>
- <li>Support for easy functional Matrix views and derivatives - <a href="https://issues.apache.org/jira/browse/MAHOUT-1300">MAHOUT-1300</a></li>
- <li>JSON output format for ClusterDumper - <a href="https://issues.apache.org/jira/browse/MAHOUT-1343">MAHOUT-1343</a></li>
- <li>Enable randomised testing for all Mahout modules using Carrot RandomizedRunner - <a href="https://issues.apache.org/jira/browse/MAHOUT-1345">MAHOUT-1345</a></li>
- <li>Online Algorithm for computing accurate Quantiles using 1-dimensional Clustering - <a href="https://issues.apache.org/jira/browse/MAHOUT-1361">MAHOUT-1361</a>. See this <a href="https://github.com/tdunning/t-digest/blob/master/docs/theory/t-digest-paper/histo.pdf">pdf</a> for the details.
- <li>Upgrade to Lucene 4.6.1 - <a href="https://issues.apache.org/jira/browse/MAHOUT-1364">MAHOUT-1364</a></li>
- </ul>
-
- <p>Changes in 0.9 are detailed <a href="http://svn.apache.org/viewvc/mahout/trunk/CHANGELOG?view=markup&pathrev=1563661">here</a>.</p>
-
-#### 25 July 2013 - Apache Mahout 0.8 released
-
- <p>Highlights include:</p>
-
- <ul>
- <li>Numerous performance improvements to Vector and Matrix implementations, API's and their iterators</li>
- <li>Numerous performance improvements to the recommender implementations</li>
- <li><a href="https://issues.apache.org/jira/browse/MAHOUT-1088" class="external-link" rel="nofollow">MAHOUT-1088</a>: Support for biased item-based recommender</li>
- <li><a href="https://issues.apache.org/jira/browse/MAHOUT-1089" class="external-link" rel="nofollow">MAHOUT-1089</a>: SGD matrix factorization for rating prediction with user and item biases</li>
- <li><a href="https://issues.apache.org/jira/browse/MAHOUT-1106" class="external-link" rel="nofollow">MAHOUT-1106</a>: Support for SVD++</li>
- <li><a href="https://issues.apache.org/jira/browse/MAHOUT-944" class="external-link" rel="nofollow">MAHOUT-944</a>: Support for converting one or more Lucene storage indexes to SequenceFiles as well as an upgrade of the supported Lucene version to Lucene 4.3.1.</li>
- <li><a href="https://issues.apache.org/jira/browse/MAHOUT-1154" class="external-link" rel="nofollow">MAHOUT-1154</a> and friends: New streaming k-means implementation that offers on-line (and fast) clustering</li>
- <li><a href="https://issues.apache.org/jira/browse/MAHOUT-833" class="external-link" rel="nofollow">MAHOUT-833</a>: Make conversion to SequenceFiles Map-Reduce, 'seqdirectory' can now be run as a MapReduce job.</li>
- <li><a href="https://issues.apache.org/jira/browse/MAHOUT-1052" class="external-link" rel="nofollow">MAHOUT-1052</a>: Add an option to MinHashDriver that specifies the dimension of vector to hash (indexes or values).</li>
- <li><a href="https://issues.apache.org/jira/browse/MAHOUT-884" class="external-link" rel="nofollow">MAHOUT-884</a>: Matrix Concat utility, presently only concatenates two matrices.</li>
- <li><a href="https://issues.apache.org/jira/browse/MAHOUT-1187" class="external-link" rel="nofollow">MAHOUT-1187</a>: Upgraded to CommonsLang3</li>
- <li><a href="https://issues.apache.org/jira/browse/MAHOUT-916" class="external-link" rel="nofollow">MAHOUT-916</a>: Speedup the Mahout build by making tests run in parallel.</li>
-
- </ul>
-
- <p>Changes in 0.8 are detailed <a href="http://svn.apache.org/viewvc/mahout/trunk/CHANGELOG?revision=1501110&view=markup">here</a>.</p>
-
-#### 16 June 2012 - Apache Mahout 0.7 released
-
- <p>Highlights include:</p>
-
- <ul>
- <li>Outlier removal capability in K-Means, Fuzzy K, Canopy and Dirichlet Clustering</li>
- <li>New Clustering implementation for K-Means, Fuzzy K, Canopy and Dirichlet using Cluster Classifiers</li>
- <li>Collections and Math API consolidated</li>
- <li>(Complementary) Naive Bayes refactored and cleaned</li>
- <li>Watchmaker and Old Naive Bayes dropped.</li>
- <li>Many bug fixes, refactorings, and other small improvements</li>
- </ul>
-
- <p>Changes in 0.7 are detailed <a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12310751&version=12319261">here</a>.</p>
-
-
-
-#### 6 Feb 2012 - Apache Mahout 0.6 released
-
- <p>Highlights include:</p>
-
- <ul>
- <li>Improved Decision Tree performance and added support for regression problems</li>
- <li>New LDA implementation using Collapsed Variational Bayes 0th Derivative Approximation</li>
- <li>Reduced runtime of LanczosSolver tests</li>
- <li>K-Trusses, Top-Down and Bottom-Up clustering, Random Walk with Restarts implementation</li>
- <li>Reduced runtime of dot product between vectors</li>
- <li>Added MongoDB and Cassandra DataModel support</li>
- <li>Increased efficiency of parallel ALS matrix factorization</li>
- <li>SSVD enhancements</li>
- <li>Performance improvements in RowSimilarityJob, TransposeJob</li>
- <li>Added numerous clustering display examples</li>
- <li>Many bug fixes, refactorings, and other small improvements</li>
- </ul>
-
- <p>Changes in 0.6 are detailed <a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12310751&version=12316364">here</a>.</p>
-
-#### Past Releases
-
- * [Mahout 0.5](https://issues.apache.org/jira/secure/ReleaseNote.jspa?version=12315255&styleName=Text&projectId=12310751&Create=Create&atl_token=A5KQ-2QAV-T4JA-FDED|20f0d06214912accbd47acf2f0a89231ed00a767|lin)
- * [Mahout 0.4](https://issues.apache.org/jira/secure/ReleaseNote.jspa?version=12314281&styleName=Text&projectId=12310751&Create=Create&atl_token=A5KQ-2QAV-T4JA-FDED|20f0d06214912accbd47acf2f0a89231ed00a767|lin)
- * [Mahout 0.3](https://issues.apache.org/jira/secure/ReleaseNote.jspa?version=12314281&styleName=Text&projectId=12310751&Create=Create&atl_token=A5KQ-2QAV-T4JA-FDED|20f0d06214912accbd47acf2f0a89231ed00a767|lin)
- * [Mahout 0.2](https://issues.apache.org/jira/secure/ReleaseNote.jspa?version=12313278&styleName=Text&projectId=12310751&Create=Create&atl_token=A5KQ-2QAV-T4JA-FDED|20f0d06214912accbd47acf2f0a89231ed00a767|lin)
- * [Mahout 0.1](https://issues.apache.org/jira/secure/ReleaseNote.jspa?version=12312976&styleName=Html&projectId=12310751&Create=Create&atl_token=A5KQ-2QAV-T4JA-FDED%7C48e83cdefb8bca42acf8f129692f8c3a05b360cf%7Clout)
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/oldsite/general/who-we-are.md
----------------------------------------------------------------------
diff --git a/website-old/oldsite/general/who-we-are.md b/website-old/oldsite/general/who-we-are.md
deleted file mode 100644
index 24f493b..0000000
--- a/website-old/oldsite/general/who-we-are.md
+++ /dev/null
@@ -1,62 +0,0 @@
----
-layout: default
-title: Who We Are
-theme:
- name: retro-mahout
----
-
-<a name="WhoWeAre-Whoweare"></a>
-# Who we are
-
-Apache Mahout is maintained by a team of volunteer developers.
-
-<a name="WhoWeAre-CoreCommitters"></a>
-## Core Committers
-
-(Please keep the list below in alphabetical order by first name.)
-
-Name | Mail | PMC | Comment
-----|---------|------|------|----------
-Anand Avati | ***@... | No | Twitter: @anandavati
-Andrew Musselman | ***@... | Yes | Twitter: @akm
-Andrew Palumbo | ***@... | Yes (Chair) | |
-Benson Margulies | ***@... | Yes | |
-Dan Filimon | ***@... | No | |
-Dmitriy Lyubimov | ***@... | No (Emeritus) |
-Drew Farris | ***@... | Yes | |
-Ellen Friedman | ***@... | No | Twitter: @Ellen_Friedman
-Frank Scholten | ***@... | No | |
-Gokhan Capan | ***@... | No | <a href="http://www.linkedin.com/in/gokhancapan">LinkedIn Profile</a>
-Grant Ingersoll | ***@... | Yes | Twitter: @gsingers
-Isabel Drost-Fromm | ***@... | Yes | Passion for free software (development, but to some extend also the political and economic implications), interested in agile development and project management, lives in Germany. Follow me on Twitter @MaineC
-Jacob Alexander Mannix | ***@... | Yes | |
-Jeff Eastman | ***@... | No (Emeritus) |
-Paritosh Ranjan | ***@... | Yes | Twitter: @paritoshranjan
-Pat Ferrel | ***@... | Yes | Twitter: @occam
-Robin Anil | ***@... | Yes | |
-Sean Owen | ***@... | No (Emeritus) |
-Sebastian Schelter | ***@... | Yes | |
-Shannon Quinn | ***@... | No | |
-Stevo Slavić| ***@... | No | Twitter: @sslavic
-Suneel Marthi | ***@... | Yes | Twitter: @suneelmarthi
-Ted Dunning | ***@... | Yes |
-Tom Pierce | ***@... | No | |
-
-<a name="WhoWeAre-EmeritusCommitters"></a>
-## Emeritus Committers
-
-* Niranjan Balasubramanian (***@...)
-* Otis Gospodnetic (***@...)
-* David Hall (***@...)
-* Erik Hatcher (***@...)
-* Ozgur Yilmazel (***@...)
-* Dawid Weiss (***@...)
-* Karl Wettin (***@...)
-* AbdelHakim Deneche (***@...)
-
-Note that the email addresses above end with @apache.org.
-
-<a name="WhoWeAre-Contributors"></a>
-## Contributors
-
-Apache Mahout contributors and their contributions to individual issues can be found at Apache <a href="http://issues.apache.org/jira/browse/MAHOUT">JIRA</a>.
\ No newline at end of file

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/oldsite/images/2dDirichletASN.png b/website-old/oldsite/images/2dDirichletASN.png
deleted file mode 100644
index b4fafab..0000000
Binary files a/website-old/oldsite/images/2dDirichletASN.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/oldsite/images/2dDirichletASN4040.png b/website-old/oldsite/images/2dDirichletASN4040.png
deleted file mode 100644
index 7fb0508..0000000
Binary files a/website-old/oldsite/images/2dDirichletASN4040.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/oldsite/images/2dDirichletSN.png b/website-old/oldsite/images/2dDirichletSN.png
deleted file mode 100644
index 31e45a7..0000000
Binary files a/website-old/oldsite/images/2dDirichletSN.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/oldsite/images/2dFuzzyKMeans.png b/website-old/oldsite/images/2dFuzzyKMeans.png
deleted file mode 100644
index 5e9f187..0000000
Binary files a/website-old/oldsite/images/2dFuzzyKMeans.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/oldsite/images/2dKMeans.png b/website-old/oldsite/images/2dKMeans.png
deleted file mode 100644
index 877648a..0000000
Binary files a/website-old/oldsite/images/2dKMeans.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/oldsite/images/2dMeanShift.png b/website-old/oldsite/images/2dMeanShift.png
deleted file mode 100644
index 4322ac4..0000000
Binary files a/website-old/oldsite/images/2dMeanShift.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/oldsite/images/AsymmetricSampleData.png b/website-old/oldsite/images/AsymmetricSampleData.png
deleted file mode 100644
index fd647fc..0000000
Binary files a/website-old/oldsite/images/AsymmetricSampleData.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/oldsite/images/Canopy.png b/website-old/oldsite/images/Canopy.png
deleted file mode 100644
index 934efd7..0000000
Binary files a/website-old/oldsite/images/Canopy.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/oldsite/images/Canopy10.png b/website-old/oldsite/images/Canopy10.png
deleted file mode 100644
index 4bb291c..0000000
Binary files a/website-old/oldsite/images/Canopy10.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/oldsite/images/DirichletASN.png b/website-old/oldsite/images/DirichletASN.png
deleted file mode 100644
index eba9444..0000000
Binary files a/website-old/oldsite/images/DirichletASN.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/oldsite/images/DirichletN.png b/website-old/oldsite/images/DirichletN.png
deleted file mode 100644
index 9ae0fd3..0000000
Binary files a/website-old/oldsite/images/DirichletN.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/oldsite/images/DirichletSN.png b/website-old/oldsite/images/DirichletSN.png
deleted file mode 100644
index 50d648b..0000000
Binary files a/website-old/oldsite/images/DirichletSN.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/oldsite/images/DirichletSN40.png b/website-old/oldsite/images/DirichletSN40.png
deleted file mode 100644
index 51f2089..0000000
Binary files a/website-old/oldsite/images/DirichletSN40.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/oldsite/images/Example implementation of k-Means provided with Mahout.png
----------------------------------------------------------------------
diff --git a/website-old/oldsite/images/Example implementation of k-Means provided with Mahout.png b/website-old/oldsite/images/Example implementation of k-Means provided with Mahout.png
deleted file mode 100644
index e8b7180..0000000
Binary files a/website-old/oldsite/images/Example implementation of k-Means provided with Mahout.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/oldsite/images/FuzzyKMeans.png b/website-old/oldsite/images/FuzzyKMeans.png
deleted file mode 100644
index 676574a..0000000
Binary files a/website-old/oldsite/images/FuzzyKMeans.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/oldsite/images/KMeans.png b/website-old/oldsite/images/KMeans.png
deleted file mode 100644
index 73d0a27..0000000
Binary files a/website-old/oldsite/images/KMeans.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/oldsite/images/Mahout-logo-164x200.png b/website-old/oldsite/images/Mahout-logo-164x200.png
deleted file mode 100644
index 69cd409..0000000
Binary files a/website-old/oldsite/images/Mahout-logo-164x200.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/oldsite/images/Mahout-logo-245x300.png b/website-old/oldsite/images/Mahout-logo-245x300.png
deleted file mode 100644
index e43bcab..0000000
Binary files a/website-old/oldsite/images/Mahout-logo-245x300.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/oldsite/images/Mahout-logo-327x400.png b/website-old/oldsite/images/Mahout-logo-327x400.png
deleted file mode 100644
index f0341ac..0000000
Binary files a/website-old/oldsite/images/Mahout-logo-327x400.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/oldsite/images/Mahout-logo-82x100.png b/website-old/oldsite/images/Mahout-logo-82x100.png
deleted file mode 100644
index 31d40c4..0000000
Binary files a/website-old/oldsite/images/Mahout-logo-82x100.png and /dev/null differ
a***@apache.org
2017-12-21 04:52:46 UTC
Permalink
http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/oldsite/css/bootstrap.css
----------------------------------------------------------------------
diff --git a/website-old/oldsite/css/bootstrap.css b/website-old/oldsite/css/bootstrap.css
deleted file mode 100644
index 2f56af3..0000000
--- a/website-old/oldsite/css/bootstrap.css
+++ /dev/null
@@ -1,6158 +0,0 @@
-/*!
- * Bootstrap v2.3.1
- *
- * Copyright 2012 Twitter, Inc
- * Licensed under the Apache License v2.0
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Designed and built with all the love in the world @twitter by @mdo and @fat.
- */
-
-.clearfix {
- *zoom: 1;
-}
-
-.clearfix:before,
-.clearfix:after {
- display: table;
- line-height: 0;
- content: "";
-}
-
-.clearfix:after {
- clear: both;
-}
-
-.hide-text {
- font: 0/0 a;
- color: transparent;
- text-shadow: none;
- background-color: transparent;
- border: 0;
-}
-
-.input-block-level {
- display: block;
- width: 100%;
- min-height: 30px;
- -webkit-box-sizing: border-box;
- -moz-box-sizing: border-box;
- box-sizing: border-box;
-}
-
-article,
-aside,
-details,
-figcaption,
-figure,
-footer,
-header,
-hgroup,
-nav,
-section {
- display: block;
-}
-
-audio,
-canvas,
-video {
- display: inline-block;
- *display: inline;
- *zoom: 1;
-}
-
-audio:not([controls]) {
- display: none;
-}
-
-html {
- font-size: 100%;
- -webkit-text-size-adjust: 100%;
- -ms-text-size-adjust: 100%;
-}
-
-a:focus {
- outline: thin dotted #333;
- outline: 5px auto -webkit-focus-ring-color;
- outline-offset: -2px;
-}
-
-a:hover,
-a:active {
- outline: 0;
-}
-
-sub,
-sup {
- position: relative;
- font-size: 75%;
- line-height: 0;
- vertical-align: baseline;
-}
-
-sup {
- top: -0.5em;
-}
-
-sub {
- bottom: -0.25em;
-}
-
-img {
- width: auto\9;
- height: auto;
- max-width: 100%;
- vertical-align: middle;
- border: 0;
- -ms-interpolation-mode: bicubic;
-}
-
-#map_canvas img,
-.google-maps img {
- max-width: none;
-}
-
-button,
-input,
-select,
-textarea {
- margin: 0;
- font-size: 100%;
- vertical-align: middle;
-}
-
-button,
-input {
- *overflow: visible;
- line-height: normal;
-}
-
-button::-moz-focus-inner,
-input::-moz-focus-inner {
- padding: 0;
- border: 0;
-}
-
-button,
-html input[type="button"],
-input[type="reset"],
-input[type="submit"] {
- cursor: pointer;
- -webkit-appearance: button;
-}
-
-label,
-select,
-button,
-input[type="button"],
-input[type="reset"],
-input[type="submit"],
-input[type="radio"],
-input[type="checkbox"] {
- cursor: pointer;
-}
-
-input[type="search"] {
- -webkit-box-sizing: content-box;
- -moz-box-sizing: content-box;
- box-sizing: content-box;
- -webkit-appearance: textfield;
-}
-
-input[type="search"]::-webkit-search-decoration,
-input[type="search"]::-webkit-search-cancel-button {
- -webkit-appearance: none;
-}
-
-textarea {
- overflow: auto;
- vertical-align: top;
-}
-
-@media print {
- * {
- color: #000 !important;
- text-shadow: none !important;
- background: transparent !important;
- box-shadow: none !important;
- }
- a,
- a:visited {
- text-decoration: underline;
- }
- a[href]:after {
- content: " (" attr(href) ")";
- }
- abbr[title]:after {
- content: " (" attr(title) ")";
- }
- .ir a:after,
- a[href^="javascript:"]:after,
- a[href^="#"]:after {
- content: "";
- }
- pre,
- blockquote {
- border: 1px solid #999;
- page-break-inside: avoid;
- }
- thead {
- display: table-header-group;
- }
- tr,
- img {
- page-break-inside: avoid;
- }
- img {
- max-width: 100% !important;
- }
- @page {
- margin: 0.5cm;
- }
- p,
- h2,
- h3 {
- orphans: 3;
- widows: 3;
- }
- h2,
- h3 {
- page-break-after: avoid;
- }
-}
-
-body {
- margin: 0;
- font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
- font-size: 14px;
- line-height: 20px;
- color: #333333;
- background-color: #ffffff;
-}
-
-a {
- color: #0088cc;
- text-decoration: none;
-}
-
-a:hover,
-a:focus {
- color: #005580;
- text-decoration: underline;
-}
-
-.img-rounded {
- -webkit-border-radius: 6px;
- -moz-border-radius: 6px;
- border-radius: 6px;
-}
-
-.img-polaroid {
- padding: 4px;
- background-color: #fff;
- border: 1px solid #ccc;
- border: 1px solid rgba(0, 0, 0, 0.2);
- -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
- -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
- box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
-}
-
-.img-circle {
- -webkit-border-radius: 500px;
- -moz-border-radius: 500px;
- border-radius: 500px;
-}
-
-.row {
- margin-left: -20px;
- *zoom: 1;
-}
-
-.row:before,
-.row:after {
- display: table;
- line-height: 0;
- content: "";
-}
-
-.row:after {
- clear: both;
-}
-
-[class*="span"] {
- float: left;
- min-height: 1px;
- margin-left: 20px;
-}
-
-.container,
-.navbar-static-top .container,
-.navbar-fixed-top .container,
-.navbar-fixed-bottom .container {
- width: 940px;
-}
-
-.span12 {
- width: 940px;
-}
-
-.span11 {
- width: 860px;
-}
-
-.span10 {
- width: 780px;
-}
-
-.span9 {
- width: 700px;
-}
-
-.span8 {
- width: 620px;
-}
-
-.span7 {
- width: 540px;
-}
-
-.span6 {
- width: 460px;
-}
-
-.span5 {
- width: 380px;
-}
-
-.span4 {
- width: 300px;
-}
-
-.span3 {
- width: 220px;
-}
-
-.span2 {
- width: 140px;
-}
-
-.span1 {
- width: 60px;
-}
-
-.offset12 {
- margin-left: 980px;
-}
-
-.offset11 {
- margin-left: 900px;
-}
-
-.offset10 {
- margin-left: 820px;
-}
-
-.offset9 {
- margin-left: 740px;
-}
-
-.offset8 {
- margin-left: 660px;
-}
-
-.offset7 {
- margin-left: 580px;
-}
-
-.offset6 {
- margin-left: 500px;
-}
-
-.offset5 {
- margin-left: 420px;
-}
-
-.offset4 {
- margin-left: 340px;
-}
-
-.offset3 {
- margin-left: 260px;
-}
-
-.offset2 {
- margin-left: 180px;
-}
-
-.offset1 {
- margin-left: 100px;
-}
-
-.row-fluid {
- width: 100%;
- *zoom: 1;
-}
-
-.row-fluid:before,
-.row-fluid:after {
- display: table;
- line-height: 0;
- content: "";
-}
-
-.row-fluid:after {
- clear: both;
-}
-
-.row-fluid [class*="span"] {
- display: block;
- float: left;
- width: 100%;
- min-height: 30px;
- margin-left: 2.127659574468085%;
- *margin-left: 2.074468085106383%;
- -webkit-box-sizing: border-box;
- -moz-box-sizing: border-box;
- box-sizing: border-box;
-}
-
-.row-fluid [class*="span"]:first-child {
- margin-left: 0;
-}
-
-.row-fluid .controls-row [class*="span"] + [class*="span"] {
- margin-left: 2.127659574468085%;
-}
-
-.row-fluid .span12 {
- width: 100%;
- *width: 99.94680851063829%;
-}
-
-.row-fluid .span11 {
- width: 91.48936170212765%;
- *width: 91.43617021276594%;
-}
-
-.row-fluid .span10 {
- width: 82.97872340425532%;
- *width: 82.92553191489361%;
-}
-
-.row-fluid .span9 {
- width: 74.46808510638297%;
- *width: 74.41489361702126%;
-}
-
-.row-fluid .span8 {
- width: 65.95744680851064%;
- *width: 65.90425531914893%;
-}
-
-.row-fluid .span7 {
- width: 57.44680851063829%;
- *width: 57.39361702127659%;
-}
-
-.row-fluid .span6 {
- width: 48.93617021276595%;
- *width: 48.88297872340425%;
-}
-
-.row-fluid .span5 {
- width: 40.42553191489362%;
- *width: 40.37234042553192%;
-}
-
-.row-fluid .span4 {
- width: 31.914893617021278%;
- *width: 31.861702127659576%;
-}
-
-.row-fluid .span3 {
- width: 23.404255319148934%;
- *width: 23.351063829787233%;
-}
-
-.row-fluid .span2 {
- width: 14.893617021276595%;
- *width: 14.840425531914894%;
-}
-
-.row-fluid .span1 {
- width: 6.382978723404255%;
- *width: 6.329787234042553%;
-}
-
-.row-fluid .offset12 {
- margin-left: 104.25531914893617%;
- *margin-left: 104.14893617021275%;
-}
-
-.row-fluid .offset12:first-child {
- margin-left: 102.12765957446808%;
- *margin-left: 102.02127659574467%;
-}
-
-.row-fluid .offset11 {
- margin-left: 95.74468085106382%;
- *margin-left: 95.6382978723404%;
-}
-
-.row-fluid .offset11:first-child {
- margin-left: 93.61702127659574%;
- *margin-left: 93.51063829787232%;
-}
-
-.row-fluid .offset10 {
- margin-left: 87.23404255319149%;
- *margin-left: 87.12765957446807%;
-}
-
-.row-fluid .offset10:first-child {
- margin-left: 85.1063829787234%;
- *margin-left: 84.99999999999999%;
-}
-
-.row-fluid .offset9 {
- margin-left: 78.72340425531914%;
- *margin-left: 78.61702127659572%;
-}
-
-.row-fluid .offset9:first-child {
- margin-left: 76.59574468085106%;
- *margin-left: 76.48936170212764%;
-}
-
-.row-fluid .offset8 {
- margin-left: 70.2127659574468%;
- *margin-left: 70.10638297872339%;
-}
-
-.row-fluid .offset8:first-child {
- margin-left: 68.08510638297872%;
- *margin-left: 67.9787234042553%;
-}
-
-.row-fluid .offset7 {
- margin-left: 61.70212765957446%;
- *margin-left: 61.59574468085106%;
-}
-
-.row-fluid .offset7:first-child {
- margin-left: 59.574468085106375%;
- *margin-left: 59.46808510638297%;
-}
-
-.row-fluid .offset6 {
- margin-left: 53.191489361702125%;
- *margin-left: 53.085106382978715%;
-}
-
-.row-fluid .offset6:first-child {
- margin-left: 51.063829787234035%;
- *margin-left: 50.95744680851063%;
-}
-
-.row-fluid .offset5 {
- margin-left: 44.68085106382979%;
- *margin-left: 44.57446808510638%;
-}
-
-.row-fluid .offset5:first-child {
- margin-left: 42.5531914893617%;
- *margin-left: 42.4468085106383%;
-}
-
-.row-fluid .offset4 {
- margin-left: 36.170212765957444%;
- *margin-left: 36.06382978723405%;
-}
-
-.row-fluid .offset4:first-child {
- margin-left: 34.04255319148936%;
- *margin-left: 33.93617021276596%;
-}
-
-.row-fluid .offset3 {
- margin-left: 27.659574468085104%;
- *margin-left: 27.5531914893617%;
-}
-
-.row-fluid .offset3:first-child {
- margin-left: 25.53191489361702%;
- *margin-left: 25.425531914893618%;
-}
-
-.row-fluid .offset2 {
- margin-left: 19.148936170212764%;
- *margin-left: 19.04255319148936%;
-}
-
-.row-fluid .offset2:first-child {
- margin-left: 17.02127659574468%;
- *margin-left: 16.914893617021278%;
-}
-
-.row-fluid .offset1 {
- margin-left: 10.638297872340425%;
- *margin-left: 10.53191489361702%;
-}
-
-.row-fluid .offset1:first-child {
- margin-left: 8.51063829787234%;
- *margin-left: 8.404255319148938%;
-}
-
-[class*="span"].hide,
-.row-fluid [class*="span"].hide {
- display: none;
-}
-
-[class*="span"].pull-right,
-.row-fluid [class*="span"].pull-right {
- float: right;
-}
-
-.container {
- margin-right: auto;
- margin-left: auto;
- *zoom: 1;
-}
-
-.container:before,
-.container:after {
- display: table;
- line-height: 0;
- content: "";
-}
-
-.container:after {
- clear: both;
-}
-
-.container-fluid {
- padding-right: 20px;
- padding-left: 20px;
- *zoom: 1;
-}
-
-.container-fluid:before,
-.container-fluid:after {
- display: table;
- line-height: 0;
- content: "";
-}
-
-.container-fluid:after {
- clear: both;
-}
-
-p {
- margin: 0 0 10px;
-}
-
-.lead {
- margin-bottom: 20px;
- font-size: 21px;
- font-weight: 200;
- line-height: 30px;
-}
-
-small {
- font-size: 85%;
-}
-
-strong {
- font-weight: bold;
-}
-
-em {
- font-style: italic;
-}
-
-cite {
- font-style: normal;
-}
-
-.muted {
- color: #999999;
-}
-
-a.muted:hover,
-a.muted:focus {
- color: #808080;
-}
-
-.text-warning {
- color: #c09853;
-}
-
-a.text-warning:hover,
-a.text-warning:focus {
- color: #a47e3c;
-}
-
-.text-error {
- color: #b94a48;
-}
-
-a.text-error:hover,
-a.text-error:focus {
- color: #953b39;
-}
-
-.text-info {
- color: #3a87ad;
-}
-
-a.text-info:hover,
-a.text-info:focus {
- color: #2d6987;
-}
-
-.text-success {
- color: #468847;
-}
-
-a.text-success:hover,
-a.text-success:focus {
- color: #356635;
-}
-
-.text-left {
- text-align: left;
-}
-
-.text-right {
- text-align: right;
-}
-
-.text-center {
- text-align: center;
-}
-
-h1,
-h2,
-h3,
-h4,
-h5,
-h6 {
- margin: 10px 0;
- font-family: inherit;
- font-weight: bold;
- line-height: 20px;
- color: inherit;
- text-rendering: optimizelegibility;
-}
-
-h1 small,
-h2 small,
-h3 small,
-h4 small,
-h5 small,
-h6 small {
- font-weight: normal;
- line-height: 1;
- color: #999999;
-}
-
-h1,
-h2,
-h3 {
- line-height: 40px;
-}
-
-h1 {
- font-size: 38.5px;
-}
-
-h2 {
- font-size: 31.5px;
-}
-
-h3 {
- font-size: 24.5px;
-}
-
-h4 {
- font-size: 17.5px;
-}
-
-h5 {
- font-size: 14px;
-}
-
-h6 {
- font-size: 11.9px;
-}
-
-h1 small {
- font-size: 24.5px;
-}
-
-h2 small {
- font-size: 17.5px;
-}
-
-h3 small {
- font-size: 14px;
-}
-
-h4 small {
- font-size: 14px;
-}
-
-.page-header {
- padding-bottom: 9px;
- margin: 20px 0 30px;
- border-bottom: 1px solid #eeeeee;
-}
-
-ul,
-ol {
- padding: 0;
- margin: 0 0 10px 25px;
-}
-
-ul ul,
-ul ol,
-ol ol,
-ol ul {
- margin-bottom: 0;
-}
-
-li {
- line-height: 20px;
-}
-
-ul.unstyled,
-ol.unstyled {
- margin-left: 0;
- list-style: none;
-}
-
-ul.inline,
-ol.inline {
- margin-left: 0;
- list-style: none;
-}
-
-ul.inline > li,
-ol.inline > li {
- display: inline-block;
- *display: inline;
- padding-right: 5px;
- padding-left: 5px;
- *zoom: 1;
-}
-
-dl {
- margin-bottom: 20px;
-}
-
-dt,
-dd {
- line-height: 20px;
-}
-
-dt {
- font-weight: bold;
-}
-
-dd {
- margin-left: 10px;
-}
-
-.dl-horizontal {
- *zoom: 1;
-}
-
-.dl-horizontal:before,
-.dl-horizontal:after {
- display: table;
- line-height: 0;
- content: "";
-}
-
-.dl-horizontal:after {
- clear: both;
-}
-
-.dl-horizontal dt {
- float: left;
- width: 160px;
- overflow: hidden;
- clear: left;
- text-align: right;
- text-overflow: ellipsis;
- white-space: nowrap;
-}
-
-.dl-horizontal dd {
- margin-left: 180px;
-}
-
-hr {
- margin: 20px 0;
- border: 0;
- border-top: 1px solid #eeeeee;
- border-bottom: 1px solid #ffffff;
-}
-
-abbr[title],
-abbr[data-original-title] {
- cursor: help;
- border-bottom: 1px dotted #999999;
-}
-
-abbr.initialism {
- font-size: 90%;
- text-transform: uppercase;
-}
-
-blockquote {
- padding: 0 0 0 15px;
- margin: 0 0 20px;
- border-left: 5px solid #eeeeee;
-}
-
-blockquote p {
- margin-bottom: 0;
- font-size: 17.5px;
- font-weight: 300;
- line-height: 1.25;
-}
-
-blockquote small {
- display: block;
- line-height: 20px;
- color: #999999;
-}
-
-blockquote small:before {
- content: '\2014 \00A0';
-}
-
-blockquote.pull-right {
- float: right;
- padding-right: 15px;
- padding-left: 0;
- border-right: 5px solid #eeeeee;
- border-left: 0;
-}
-
-blockquote.pull-right p,
-blockquote.pull-right small {
- text-align: right;
-}
-
-blockquote.pull-right small:before {
- content: '';
-}
-
-blockquote.pull-right small:after {
- content: '\00A0 \2014';
-}
-
-q:before,
-q:after,
-blockquote:before,
-blockquote:after {
- content: "";
-}
-
-address {
- display: block;
- margin-bottom: 20px;
- font-style: normal;
- line-height: 20px;
-}
-
-code,
-pre {
- padding: 0 3px 2px;
- font-family: Monaco, Menlo, Consolas, "Courier New", monospace;
- font-size: 12px;
- color: #333333;
- -webkit-border-radius: 3px;
- -moz-border-radius: 3px;
- border-radius: 3px;
-}
-
-code {
- padding: 2px 4px;
- color: #d14;
- white-space: nowrap;
- background-color: #f7f7f9;
- border: 1px solid #e1e1e8;
-}
-
-pre {
- display: block;
- padding: 9.5px;
- margin: 0 0 10px;
- font-size: 13px;
- line-height: 20px;
- word-break: break-all;
- word-wrap: break-word;
- white-space: pre;
- white-space: pre-wrap;
- background-color: #f5f5f5;
- border: 1px solid #ccc;
- border: 1px solid rgba(0, 0, 0, 0.15);
- -webkit-border-radius: 4px;
- -moz-border-radius: 4px;
- border-radius: 4px;
-}
-
-pre.prettyprint {
- margin-bottom: 20px;
-}
-
-pre code {
- padding: 0;
- color: inherit;
- white-space: pre;
- white-space: pre-wrap;
- background-color: transparent;
- border: 0;
-}
-
-.pre-scrollable {
- max-height: 340px;
- overflow-y: scroll;
-}
-
-form {
- margin: 0 0 20px;
-}
-
-fieldset {
- padding: 0;
- margin: 0;
- border: 0;
-}
-
-legend {
- display: block;
- width: 100%;
- padding: 0;
- margin-bottom: 20px;
- font-size: 21px;
- line-height: 40px;
- color: #333333;
- border: 0;
- border-bottom: 1px solid #e5e5e5;
-}
-
-legend small {
- font-size: 15px;
- color: #999999;
-}
-
-label,
-input,
-button,
-select,
-textarea {
- font-size: 14px;
- font-weight: normal;
- line-height: 20px;
-}
-
-input,
-button,
-select,
-textarea {
- font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
-}
-
-label {
- display: block;
- margin-bottom: 5px;
-}
-
-select,
-textarea,
-input[type="text"],
-input[type="password"],
-input[type="datetime"],
-input[type="datetime-local"],
-input[type="date"],
-input[type="month"],
-input[type="time"],
-input[type="week"],
-input[type="number"],
-input[type="email"],
-input[type="url"],
-input[type="search"],
-input[type="tel"],
-input[type="color"],
-.uneditable-input {
- display: inline-block;
- height: 20px;
- padding: 4px 6px;
- margin-bottom: 10px;
- font-size: 14px;
- line-height: 20px;
- color: #555555;
- vertical-align: middle;
- -webkit-border-radius: 4px;
- -moz-border-radius: 4px;
- border-radius: 4px;
-}
-
-input,
-textarea,
-.uneditable-input {
- width: 206px;
-}
-
-textarea {
- height: auto;
-}
-
-textarea,
-input[type="text"],
-input[type="password"],
-input[type="datetime"],
-input[type="datetime-local"],
-input[type="date"],
-input[type="month"],
-input[type="time"],
-input[type="week"],
-input[type="number"],
-input[type="email"],
-input[type="url"],
-input[type="search"],
-input[type="tel"],
-input[type="color"],
-.uneditable-input {
- background-color: #ffffff;
- border: 1px solid #cccccc;
- -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
- -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
- box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
- -webkit-transition: border linear 0.2s, box-shadow linear 0.2s;
- -moz-transition: border linear 0.2s, box-shadow linear 0.2s;
- -o-transition: border linear 0.2s, box-shadow linear 0.2s;
- transition: border linear 0.2s, box-shadow linear 0.2s;
-}
-
-textarea:focus,
-input[type="text"]:focus,
-input[type="password"]:focus,
-input[type="datetime"]:focus,
-input[type="datetime-local"]:focus,
-input[type="date"]:focus,
-input[type="month"]:focus,
-input[type="time"]:focus,
-input[type="week"]:focus,
-input[type="number"]:focus,
-input[type="email"]:focus,
-input[type="url"]:focus,
-input[type="search"]:focus,
-input[type="tel"]:focus,
-input[type="color"]:focus,
-.uneditable-input:focus {
- border-color: rgba(82, 168, 236, 0.8);
- outline: 0;
- outline: thin dotted \9;
- /* IE6-9 */
-
- -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6);
- -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6);
- box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6);
-}
-
-input[type="radio"],
-input[type="checkbox"] {
- margin: 4px 0 0;
- margin-top: 1px \9;
- *margin-top: 0;
- line-height: normal;
-}
-
-input[type="file"],
-input[type="image"],
-input[type="submit"],
-input[type="reset"],
-input[type="button"],
-input[type="radio"],
-input[type="checkbox"] {
- width: auto;
-}
-
-select,
-input[type="file"] {
- height: 30px;
- /* In IE7, the height of the select element cannot be changed by height, only font-size */
-
- *margin-top: 4px;
- /* For IE7, add top margin to align select with labels */
-
- line-height: 30px;
-}
-
-select {
- width: 220px;
- background-color: #ffffff;
- border: 1px solid #cccccc;
-}
-
-select[multiple],
-select[size] {
- height: auto;
-}
-
-select:focus,
-input[type="file"]:focus,
-input[type="radio"]:focus,
-input[type="checkbox"]:focus {
- outline: thin dotted #333;
- outline: 5px auto -webkit-focus-ring-color;
- outline-offset: -2px;
-}
-
-.uneditable-input,
-.uneditable-textarea {
- color: #999999;
- cursor: not-allowed;
- background-color: #fcfcfc;
- border-color: #cccccc;
- -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025);
- -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025);
- box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025);
-}
-
-.uneditable-input {
- overflow: hidden;
- white-space: nowrap;
-}
-
-.uneditable-textarea {
- width: auto;
- height: auto;
-}
-
-input:-moz-placeholder,
-textarea:-moz-placeholder {
- color: #999999;
-}
-
-input:-ms-input-placeholder,
-textarea:-ms-input-placeholder {
- color: #999999;
-}
-
-input::-webkit-input-placeholder,
-textarea::-webkit-input-placeholder {
- color: #999999;
-}
-
-.radio,
-.checkbox {
- min-height: 20px;
- padding-left: 20px;
-}
-
-.radio input[type="radio"],
-.checkbox input[type="checkbox"] {
- float: left;
- margin-left: -20px;
-}
-
-.controls > .radio:first-child,
-.controls > .checkbox:first-child {
- padding-top: 5px;
-}
-
-.radio.inline,
-.checkbox.inline {
- display: inline-block;
- padding-top: 5px;
- margin-bottom: 0;
- vertical-align: middle;
-}
-
-.radio.inline + .radio.inline,
-.checkbox.inline + .checkbox.inline {
- margin-left: 10px;
-}
-
-.input-mini {
- width: 60px;
-}
-
-.input-small {
- width: 90px;
-}
-
-.input-medium {
- width: 150px;
-}
-
-.input-large {
- width: 210px;
-}
-
-.input-xlarge {
- width: 270px;
-}
-
-.input-xxlarge {
- width: 530px;
-}
-
-input[class*="span"],
-select[class*="span"],
-textarea[class*="span"],
-.uneditable-input[class*="span"],
-.row-fluid input[class*="span"],
-.row-fluid select[class*="span"],
-.row-fluid textarea[class*="span"],
-.row-fluid .uneditable-input[class*="span"] {
- float: none;
- margin-left: 0;
-}
-
-.input-append input[class*="span"],
-.input-append .uneditable-input[class*="span"],
-.input-prepend input[class*="span"],
-.input-prepend .uneditable-input[class*="span"],
-.row-fluid input[class*="span"],
-.row-fluid select[class*="span"],
-.row-fluid textarea[class*="span"],
-.row-fluid .uneditable-input[class*="span"],
-.row-fluid .input-prepend [class*="span"],
-.row-fluid .input-append [class*="span"] {
- display: inline-block;
-}
-
-input,
-textarea,
-.uneditable-input {
- margin-left: 0;
-}
-
-.controls-row [class*="span"] + [class*="span"] {
- margin-left: 20px;
-}
-
-input.span12,
-textarea.span12,
-.uneditable-input.span12 {
- width: 926px;
-}
-
-input.span11,
-textarea.span11,
-.uneditable-input.span11 {
- width: 846px;
-}
-
-input.span10,
-textarea.span10,
-.uneditable-input.span10 {
- width: 766px;
-}
-
-input.span9,
-textarea.span9,
-.uneditable-input.span9 {
- width: 686px;
-}
-
-input.span8,
-textarea.span8,
-.uneditable-input.span8 {
- width: 606px;
-}
-
-input.span7,
-textarea.span7,
-.uneditable-input.span7 {
- width: 526px;
-}
-
-input.span6,
-textarea.span6,
-.uneditable-input.span6 {
- width: 446px;
-}
-
-input.span5,
-textarea.span5,
-.uneditable-input.span5 {
- width: 366px;
-}
-
-input.span4,
-textarea.span4,
-.uneditable-input.span4 {
- width: 286px;
-}
-
-input.span3,
-textarea.span3,
-.uneditable-input.span3 {
- width: 206px;
-}
-
-input.span2,
-textarea.span2,
-.uneditable-input.span2 {
- width: 126px;
-}
-
-input.span1,
-textarea.span1,
-.uneditable-input.span1 {
- width: 46px;
-}
-
-.controls-row {
- *zoom: 1;
-}
-
-.controls-row:before,
-.controls-row:after {
- display: table;
- line-height: 0;
- content: "";
-}
-
-.controls-row:after {
- clear: both;
-}
-
-.controls-row [class*="span"],
-.row-fluid .controls-row [class*="span"] {
- float: left;
-}
-
-.controls-row .checkbox[class*="span"],
-.controls-row .radio[class*="span"] {
- padding-top: 5px;
-}
-
-input[disabled],
-select[disabled],
-textarea[disabled],
-input[readonly],
-select[readonly],
-textarea[readonly] {
- cursor: not-allowed;
- background-color: #eeeeee;
-}
-
-input[type="radio"][disabled],
-input[type="checkbox"][disabled],
-input[type="radio"][readonly],
-input[type="checkbox"][readonly] {
- background-color: transparent;
-}
-
-.control-group.warning .control-label,
-.control-group.warning .help-block,
-.control-group.warning .help-inline {
- color: #c09853;
-}
-
-.control-group.warning .checkbox,
-.control-group.warning .radio,
-.control-group.warning input,
-.control-group.warning select,
-.control-group.warning textarea {
- color: #c09853;
-}
-
-.control-group.warning input,
-.control-group.warning select,
-.control-group.warning textarea {
- border-color: #c09853;
- -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
- -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
- box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
-}
-
-.control-group.warning input:focus,
-.control-group.warning select:focus,
-.control-group.warning textarea:focus {
- border-color: #a47e3c;
- -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #dbc59e;
- -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #dbc59e;
- box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #dbc59e;
-}
-
-.control-group.warning .input-prepend .add-on,
-.control-group.warning .input-append .add-on {
- color: #c09853;
- background-color: #fcf8e3;
- border-color: #c09853;
-}
-
-.control-group.error .control-label,
-.control-group.error .help-block,
-.control-group.error .help-inline {
- color: #b94a48;
-}
-
-.control-group.error .checkbox,
-.control-group.error .radio,
-.control-group.error input,
-.control-group.error select,
-.control-group.error textarea {
- color: #b94a48;
-}
-
-.control-group.error input,
-.control-group.error select,
-.control-group.error textarea {
- border-color: #b94a48;
- -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
- -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
- box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
-}
-
-.control-group.error input:focus,
-.control-group.error select:focus,
-.control-group.error textarea:focus {
- border-color: #953b39;
- -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #d59392;
- -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #d59392;
- box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #d59392;
-}
-
-.control-group.error .input-prepend .add-on,
-.control-group.error .input-append .add-on {
- color: #b94a48;
- background-color: #f2dede;
- border-color: #b94a48;
-}
-
-.control-group.success .control-label,
-.control-group.success .help-block,
-.control-group.success .help-inline {
- color: #468847;
-}
-
-.control-group.success .checkbox,
-.control-group.success .radio,
-.control-group.success input,
-.control-group.success select,
-.control-group.success textarea {
- color: #468847;
-}
-
-.control-group.success input,
-.control-group.success select,
-.control-group.success textarea {
- border-color: #468847;
- -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
- -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
- box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
-}
-
-.control-group.success input:focus,
-.control-group.success select:focus,
-.control-group.success textarea:focus {
- border-color: #356635;
- -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7aba7b;
- -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7aba7b;
- box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7aba7b;
-}
-
-.control-group.success .input-prepend .add-on,
-.control-group.success .input-append .add-on {
- color: #468847;
- background-color: #dff0d8;
- border-color: #468847;
-}
-
-.control-group.info .control-label,
-.control-group.info .help-block,
-.control-group.info .help-inline {
- color: #3a87ad;
-}
-
-.control-group.info .checkbox,
-.control-group.info .radio,
-.control-group.info input,
-.control-group.info select,
-.control-group.info textarea {
- color: #3a87ad;
-}
-
-.control-group.info input,
-.control-group.info select,
-.control-group.info textarea {
- border-color: #3a87ad;
- -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
- -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
- box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
-}
-
-.control-group.info input:focus,
-.control-group.info select:focus,
-.control-group.info textarea:focus {
- border-color: #2d6987;
- -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7ab5d3;
- -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7ab5d3;
- box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7ab5d3;
-}
-
-.control-group.info .input-prepend .add-on,
-.control-group.info .input-append .add-on {
- color: #3a87ad;
- background-color: #d9edf7;
- border-color: #3a87ad;
-}
-
-input:focus:invalid,
-textarea:focus:invalid,
-select:focus:invalid {
- color: #b94a48;
- border-color: #ee5f5b;
-}
-
-input:focus:invalid:focus,
-textarea:focus:invalid:focus,
-select:focus:invalid:focus {
- border-color: #e9322d;
- -webkit-box-shadow: 0 0 6px #f8b9b7;
- -moz-box-shadow: 0 0 6px #f8b9b7;
- box-shadow: 0 0 6px #f8b9b7;
-}
-
-.form-actions {
- padding: 19px 20px 20px;
- margin-top: 20px;
- margin-bottom: 20px;
- background-color: #f5f5f5;
- border-top: 1px solid #e5e5e5;
- *zoom: 1;
-}
-
-.form-actions:before,
-.form-actions:after {
- display: table;
- line-height: 0;
- content: "";
-}
-
-.form-actions:after {
- clear: both;
-}
-
-.help-block,
-.help-inline {
- color: #595959;
-}
-
-.help-block {
- display: block;
- margin-bottom: 10px;
-}
-
-.help-inline {
- display: inline-block;
- *display: inline;
- padding-left: 5px;
- vertical-align: middle;
- *zoom: 1;
-}
-
-.input-append,
-.input-prepend {
- display: inline-block;
- margin-bottom: 10px;
- font-size: 0;
- white-space: nowrap;
- vertical-align: middle;
-}
-
-.input-append input,
-.input-prepend input,
-.input-append select,
-.input-prepend select,
-.input-append .uneditable-input,
-.input-prepend .uneditable-input,
-.input-append .dropdown-menu,
-.input-prepend .dropdown-menu,
-.input-append .popover,
-.input-prepend .popover {
- font-size: 14px;
-}
-
-.input-append input,
-.input-prepend input,
-.input-append select,
-.input-prepend select,
-.input-append .uneditable-input,
-.input-prepend .uneditable-input {
- position: relative;
- margin-bottom: 0;
- *margin-left: 0;
- vertical-align: top;
- -webkit-border-radius: 0 4px 4px 0;
- -moz-border-radius: 0 4px 4px 0;
- border-radius: 0 4px 4px 0;
-}
-
-.input-append input:focus,
-.input-prepend input:focus,
-.input-append select:focus,
-.input-prepend select:focus,
-.input-append .uneditable-input:focus,
-.input-prepend .uneditable-input:focus {
- z-index: 2;
-}
-
-.input-append .add-on,
-.input-prepend .add-on {
- display: inline-block;
- width: auto;
- height: 20px;
- min-width: 16px;
- padding: 4px 5px;
- font-size: 14px;
- font-weight: normal;
- line-height: 20px;
- text-align: center;
- text-shadow: 0 1px 0 #ffffff;
- background-color: #eeeeee;
- border: 1px solid #ccc;
-}
-
-.input-append .add-on,
-.input-prepend .add-on,
-.input-append .btn,
-.input-prepend .btn,
-.input-append .btn-group > .dropdown-toggle,
-.input-prepend .btn-group > .dropdown-toggle {
- vertical-align: top;
- -webkit-border-radius: 0;
- -moz-border-radius: 0;
- border-radius: 0;
-}
-
-.input-append .active,
-.input-prepend .active {
- background-color: #a9dba9;
- border-color: #46a546;
-}
-
-.input-prepend .add-on,
-.input-prepend .btn {
- margin-right: -1px;
-}
-
-.input-prepend .add-on:first-child,
-.input-prepend .btn:first-child {
- -webkit-border-radius: 4px 0 0 4px;
- -moz-border-radius: 4px 0 0 4px;
- border-radius: 4px 0 0 4px;
-}
-
-.input-append input,
-.input-append select,
-.input-append .uneditable-input {
- -webkit-border-radius: 4px 0 0 4px;
- -moz-border-radius: 4px 0 0 4px;
- border-radius: 4px 0 0 4px;
-}
-
-.input-append input + .btn-group .btn:last-child,
-.input-append select + .btn-group .btn:last-child,
-.input-append .uneditable-input + .btn-group .btn:last-child {
- -webkit-border-radius: 0 4px 4px 0;
- -moz-border-radius: 0 4px 4px 0;
- border-radius: 0 4px 4px 0;
-}
-
-.input-append .add-on,
-.input-append .btn,
-.input-append .btn-group {
- margin-left: -1px;
-}
-
-.input-append .add-on:last-child,
-.input-append .btn:last-child,
-.input-append .btn-group:last-child > .dropdown-toggle {
- -webkit-border-radius: 0 4px 4px 0;
- -moz-border-radius: 0 4px 4px 0;
- border-radius: 0 4px 4px 0;
-}
-
-.input-prepend.input-append input,
-.input-prepend.input-append select,
-.input-prepend.input-append .uneditable-input {
- -webkit-border-radius: 0;
- -moz-border-radius: 0;
- border-radius: 0;
-}
-
-.input-prepend.input-append input + .btn-group .btn,
-.input-prepend.input-append select + .btn-group .btn,
-.input-prepend.input-append .uneditable-input + .btn-group .btn {
- -webkit-border-radius: 0 4px 4px 0;
- -moz-border-radius: 0 4px 4px 0;
- border-radius: 0 4px 4px 0;
-}
-
-.input-prepend.input-append .add-on:first-child,
-.input-prepend.input-append .btn:first-child {
- margin-right: -1px;
- -webkit-border-radius: 4px 0 0 4px;
- -moz-border-radius: 4px 0 0 4px;
- border-radius: 4px 0 0 4px;
-}
-
-.input-prepend.input-append .add-on:last-child,
-.input-prepend.input-append .btn:last-child {
- margin-left: -1px;
- -webkit-border-radius: 0 4px 4px 0;
- -moz-border-radius: 0 4px 4px 0;
- border-radius: 0 4px 4px 0;
-}
-
-.input-prepend.input-append .btn-group:first-child {
- margin-left: 0;
-}
-
-input.search-query {
- padding-right: 14px;
- padding-right: 4px \9;
- padding-left: 14px;
- padding-left: 4px \9;
- /* IE7-8 doesn't have border-radius, so don't indent the padding */
-
- margin-bottom: 0;
- -webkit-border-radius: 15px;
- -moz-border-radius: 15px;
- border-radius: 15px;
-}
-
-/* Allow for input prepend/append in search forms */
-
-.form-search .input-append .search-query,
-.form-search .input-prepend .search-query {
- -webkit-border-radius: 0;
- -moz-border-radius: 0;
- border-radius: 0;
-}
-
-.form-search .input-append .search-query {
- -webkit-border-radius: 14px 0 0 14px;
- -moz-border-radius: 14px 0 0 14px;
- border-radius: 14px 0 0 14px;
-}
-
-.form-search .input-append .btn {
- -webkit-border-radius: 0 14px 14px 0;
- -moz-border-radius: 0 14px 14px 0;
- border-radius: 0 14px 14px 0;
-}
-
-.form-search .input-prepend .search-query {
- -webkit-border-radius: 0 14px 14px 0;
- -moz-border-radius: 0 14px 14px 0;
- border-radius: 0 14px 14px 0;
-}
-
-.form-search .input-prepend .btn {
- -webkit-border-radius: 14px 0 0 14px;
- -moz-border-radius: 14px 0 0 14px;
- border-radius: 14px 0 0 14px;
-}
-
-.form-search input,
-.form-inline input,
-.form-horizontal input,
-.form-search textarea,
-.form-inline textarea,
-.form-horizontal textarea,
-.form-search select,
-.form-inline select,
-.form-horizontal select,
-.form-search .help-inline,
-.form-inline .help-inline,
-.form-horizontal .help-inline,
-.form-search .uneditable-input,
-.form-inline .uneditable-input,
-.form-horizontal .uneditable-input,
-.form-search .input-prepend,
-.form-inline .input-prepend,
-.form-horizontal .input-prepend,
-.form-search .input-append,
-.form-inline .input-append,
-.form-horizontal .input-append {
- display: inline-block;
- *display: inline;
- margin-bottom: 0;
- vertical-align: middle;
- *zoom: 1;
-}
-
-.form-search .hide,
-.form-inline .hide,
-.form-horizontal .hide {
- display: none;
-}
-
-.form-search label,
-.form-inline label,
-.form-search .btn-group,
-.form-inline .btn-group {
- display: inline-block;
-}
-
-.form-search .input-append,
-.form-inline .input-append,
-.form-search .input-prepend,
-.form-inline .input-prepend {
- margin-bottom: 0;
-}
-
-.form-search .radio,
-.form-search .checkbox,
-.form-inline .radio,
-.form-inline .checkbox {
- padding-left: 0;
- margin-bottom: 0;
- vertical-align: middle;
-}
-
-.form-search .radio input[type="radio"],
-.form-search .checkbox input[type="checkbox"],
-.form-inline .radio input[type="radio"],
-.form-inline .checkbox input[type="checkbox"] {
- float: left;
- margin-right: 3px;
- margin-left: 0;
-}
-
-.control-group {
- margin-bottom: 10px;
-}
-
-legend + .control-group {
- margin-top: 20px;
- -webkit-margin-top-collapse: separate;
-}
-
-.form-horizontal .control-group {
- margin-bottom: 20px;
- *zoom: 1;
-}
-
-.form-horizontal .control-group:before,
-.form-horizontal .control-group:after {
- display: table;
- line-height: 0;
- content: "";
-}
-
-.form-horizontal .control-group:after {
- clear: both;
-}
-
-.form-horizontal .control-label {
- float: left;
- width: 160px;
- padding-top: 5px;
- text-align: right;
-}
-
-.form-horizontal .controls {
- *display: inline-block;
- *padding-left: 20px;
- margin-left: 180px;
- *margin-left: 0;
-}
-
-.form-horizontal .controls:first-child {
- *padding-left: 180px;
-}
-
-.form-horizontal .help-block {
- margin-bottom: 0;
-}
-
-.form-horizontal input + .help-block,
-.form-horizontal select + .help-block,
-.form-horizontal textarea + .help-block,
-.form-horizontal .uneditable-input + .help-block,
-.form-horizontal .input-prepend + .help-block,
-.form-horizontal .input-append + .help-block {
- margin-top: 10px;
-}
-
-.form-horizontal .form-actions {
- padding-left: 180px;
-}
-
-table {
- max-width: 100%;
- background-color: transparent;
- border-collapse: collapse;
- border-spacing: 0;
-}
-
-.table {
- width: 100%;
- margin-bottom: 20px;
-}
-
-.table th,
-.table td {
- padding: 8px;
- line-height: 20px;
- text-align: left;
- vertical-align: top;
- border-top: 1px solid #dddddd;
-}
-
-.table th {
- font-weight: bold;
-}
-
-.table thead th {
- vertical-align: bottom;
-}
-
-.table caption + thead tr:first-child th,
-.table caption + thead tr:first-child td,
-.table colgroup + thead tr:first-child th,
-.table colgroup + thead tr:first-child td,
-.table thead:first-child tr:first-child th,
-.table thead:first-child tr:first-child td {
- border-top: 0;
-}
-
-.table tbody + tbody {
- border-top: 2px solid #dddddd;
-}
-
-.table .table {
- background-color: #ffffff;
-}
-
-.table-condensed th,
-.table-condensed td {
- padding: 4px 5px;
-}
-
-.table-bordered {
- border: 1px solid #dddddd;
- border-collapse: separate;
- *border-collapse: collapse;
- border-left: 0;
- -webkit-border-radius: 4px;
- -moz-border-radius: 4px;
- border-radius: 4px;
-}
-
-.table-bordered th,
-.table-bordered td {
- border-left: 1px solid #dddddd;
-}
-
-.table-bordered caption + thead tr:first-child th,
-.table-bordered caption + tbody tr:first-child th,
-.table-bordered caption + tbody tr:first-child td,
-.table-bordered colgroup + thead tr:first-child th,
-.table-bordered colgroup + tbody tr:first-child th,
-.table-bordered colgroup + tbody tr:first-child td,
-.table-bordered thead:first-child tr:first-child th,
-.table-bordered tbody:first-child tr:first-child th,
-.table-bordered tbody:first-child tr:first-child td {
- border-top: 0;
-}
-
-.table-bordered thead:first-child tr:first-child > th:first-child,
-.table-bordered tbody:first-child tr:first-child > td:first-child,
-.table-bordered tbody:first-child tr:first-child > th:first-child {
- -webkit-border-top-left-radius: 4px;
- border-top-left-radius: 4px;
- -moz-border-radius-topleft: 4px;
-}
-
-.table-bordered thead:first-child tr:first-child > th:last-child,
-.table-bordered tbody:first-child tr:first-child > td:last-child,
-.table-bordered tbody:first-child tr:first-child > th:last-child {
- -webkit-border-top-right-radius: 4px;
- border-top-right-radius: 4px;
- -moz-border-radius-topright: 4px;
-}
-
-.table-bordered thead:last-child tr:last-child > th:first-child,
-.table-bordered tbody:last-child tr:last-child > td:first-child,
-.table-bordered tbody:last-child tr:last-child > th:first-child,
-.table-bordered tfoot:last-child tr:last-child > td:first-child,
-.table-bordered tfoot:last-child tr:last-child > th:first-child {
- -webkit-border-bottom-left-radius: 4px;
- border-bottom-left-radius: 4px;
- -moz-border-radius-bottomleft: 4px;
-}
-
-.table-bordered thead:last-child tr:last-child > th:last-child,
-.table-bordered tbody:last-child tr:last-child > td:last-child,
-.table-bordered tbody:last-child tr:last-child > th:last-child,
-.table-bordered tfoot:last-child tr:last-child > td:last-child,
-.table-bordered tfoot:last-child tr:last-child > th:last-child {
- -webkit-border-bottom-right-radius: 4px;
- border-bottom-right-radius: 4px;
- -moz-border-radius-bottomright: 4px;
-}
-
-.table-bordered tfoot + tbody:last-child tr:last-child td:first-child {
- -webkit-border-bottom-left-radius: 0;
- border-bottom-left-radius: 0;
- -moz-border-radius-bottomleft: 0;
-}
-
-.table-bordered tfoot + tbody:last-child tr:last-child td:last-child {
- -webkit-border-bottom-right-radius: 0;
- border-bottom-right-radius: 0;
- -moz-border-radius-bottomright: 0;
-}
-
-.table-bordered caption + thead tr:first-child th:first-child,
-.table-bordered caption + tbody tr:first-child td:first-child,
-.table-bordered colgroup + thead tr:first-child th:first-child,
-.table-bordered colgroup + tbody tr:first-child td:first-child {
- -webkit-border-top-left-radius: 4px;
- border-top-left-radius: 4px;
- -moz-border-radius-topleft: 4px;
-}
-
-.table-bordered caption + thead tr:first-child th:last-child,
-.table-bordered caption + tbody tr:first-child td:last-child,
-.table-bordered colgroup + thead tr:first-child th:last-child,
-.table-bordered colgroup + tbody tr:first-child td:last-child {
- -webkit-border-top-right-radius: 4px;
- border-top-right-radius: 4px;
- -moz-border-radius-topright: 4px;
-}
-
-.table-striped tbody > tr:nth-child(odd) > td,
-.table-striped tbody > tr:nth-child(odd) > th {
- background-color: #f9f9f9;
-}
-
-.table-hover tbody tr:hover > td,
-.table-hover tbody tr:hover > th {
- background-color: #f5f5f5;
-}
-
-table td[class*="span"],
-table th[class*="span"],
-.row-fluid table td[class*="span"],
-.row-fluid table th[class*="span"] {
- display: table-cell;
- float: none;
- margin-left: 0;
-}
-
-.table td.span1,
-.table th.span1 {
- float: none;
- width: 44px;
- margin-left: 0;
-}
-
-.table td.span2,
-.table th.span2 {
- float: none;
- width: 124px;
- margin-left: 0;
-}
-
-.table td.span3,
-.table th.span3 {
- float: none;
- width: 204px;
- margin-left: 0;
-}
-
-.table td.span4,
-.table th.span4 {
- float: none;
- width: 284px;
- margin-left: 0;
-}
-
-.table td.span5,
-.table th.span5 {
- float: none;
- width: 364px;
- margin-left: 0;
-}
-
-.table td.span6,
-.table th.span6 {
- float: none;
- width: 444px;
- margin-left: 0;
-}
-
-.table td.span7,
-.table th.span7 {
- float: none;
- width: 524px;
- margin-left: 0;
-}
-
-.table td.span8,
-.table th.span8 {
- float: none;
- width: 604px;
- margin-left: 0;
-}
-
-.table td.span9,
-.table th.span9 {
- float: none;
- width: 684px;
- margin-left: 0;
-}
-
-.table td.span10,
-.table th.span10 {
- float: none;
- width: 764px;
- margin-left: 0;
-}
-
-.table td.span11,
-.table th.span11 {
- float: none;
- width: 844px;
- margin-left: 0;
-}
-
-.table td.span12,
-.table th.span12 {
- float: none;
- width: 924px;
- margin-left: 0;
-}
-
-.table tbody tr.success > td {
- background-color: #dff0d8;
-}
-
-.table tbody tr.error > td {
- background-color: #f2dede;
-}
-
-.table tbody tr.warning > td {
- background-color: #fcf8e3;
-}
-
-.table tbody tr.info > td {
- background-color: #d9edf7;
-}
-
-.table-hover tbody tr.success:hover > td {
- background-color: #d0e9c6;
-}
-
-.table-hover tbody tr.error:hover > td {
- background-color: #ebcccc;
-}
-
-.table-hover tbody tr.warning:hover > td {
- background-color: #faf2cc;
-}
-
-.table-hover tbody tr.info:hover > td {
- background-color: #c4e3f3;
-}
-
-[class^="icon-"],
-[class*=" icon-"] {
- display: inline-block;
- width: 14px;
- height: 14px;
- margin-top: 1px;
- *margin-right: .3em;
- line-height: 14px;
- vertical-align: text-top;
- background-image: url("../img/glyphicons-halflings.png");
- background-position: 14px 14px;
- background-repeat: no-repeat;
-}
-
-/* White icons with optional class, or on hover/focus/active states of certain elements */
-
-.icon-white,
-.nav-pills > .active > a > [class^="icon-"],
-.nav-pills > .active > a > [class*=" icon-"],
-.nav-list > .active > a > [class^="icon-"],
-.nav-list > .active > a > [class*=" icon-"],
-.navbar-inverse .nav > .active > a > [class^="icon-"],
-.navbar-inverse .nav > .active > a > [class*=" icon-"],
-.dropdown-menu > li > a:hover > [class^="icon-"],
-.dropdown-menu > li > a:focus > [class^="icon-"],
-.dropdown-menu > li > a:hover > [class*=" icon-"],
-.dropdown-menu > li > a:focus > [class*=" icon-"],
-.dropdown-menu > .active > a > [class^="icon-"],
-.dropdown-menu > .active > a > [class*=" icon-"],
-.dropdown-submenu:hover > a > [class^="icon-"],
-.dropdown-submenu:focus > a > [class^="icon-"],
-.dropdown-submenu:hover > a > [class*=" icon-"],
-.dropdown-submenu:focus > a > [class*=" icon-"] {
- background-image: url("../img/glyphicons-halflings-white.png");
-}
-
-.icon-glass {
- background-position: 0 0;
-}
-
-.icon-music {
- background-position: -24px 0;
-}
-
-.icon-search {
- background-position: -48px 0;
-}
-
-.icon-envelope {
- background-position: -72px 0;
-}
-
-.icon-heart {
- background-position: -96px 0;
-}
-
-.icon-star {
- background-position: -120px 0;
-}
-
-.icon-star-empty {
- background-position: -144px 0;
-}
-
-.icon-user {
- background-position: -168px 0;
-}
-
-.icon-film {
- background-position: -192px 0;
-}
-
-.icon-th-large {
- background-position: -216px 0;
-}
-
-.icon-th {
- background-position: -240px 0;
-}
-
-.icon-th-list {
- background-position: -264px 0;
-}
-
-.icon-ok {
- background-position: -288px 0;
-}
-
-.icon-remove {
- background-position: -312px 0;
-}
-
-.icon-zoom-in {
- background-position: -336px 0;
-}
-
-.icon-zoom-out {
- background-position: -360px 0;
-}
-
-.icon-off {
- background-position: -384px 0;
-}
-
-.icon-signal {
- background-position: -408px 0;
-}
-
-.icon-cog {
- background-position: -432px 0;
-}
-
-.icon-trash {
- background-position: -456px 0;
-}
-
-.icon-home {
- background-position: 0 -24px;
-}
-
-.icon-file {
- background-position: -24px -24px;
-}
-
-.icon-time {
- background-position: -48px -24px;
-}
-
-.icon-road {
- background-position: -72px -24px;
-}
-
-.icon-download-alt {
- background-position: -96px -24px;
-}
-
-.icon-download {
- background-position: -120px -24px;
-}
-
-.icon-upload {
- background-position: -144px -24px;
-}
-
-.icon-inbox {
- background-position: -168px -24px;
-}
-
-.icon-play-circle {
- background-position: -192px -24px;
-}
-
-.icon-repeat {
- background-position: -216px -24px;
-}
-
-.icon-refresh {
- background-position: -240px -24px;
-}
-
-.icon-list-alt {
- background-position: -264px -24px;
-}
-
-.icon-lock {
- background-position: -287px -24px;
-}
-
-.icon-flag {
- background-position: -312px -24px;
-}
-
-.icon-headphones {
- background-position: -336px -24px;
-}
-
-.icon-volume-off {
- background-position: -360px -24px;
-}
-
-.icon-volume-down {
- background-position: -384px -24px;
-}
-
-.icon-volume-up {
- background-position: -408px -24px;
-}
-
-.icon-qrcode {
- background-position: -432px -24px;
-}
-
-.icon-barcode {
- background-position: -456px -24px;
-}
-
-.icon-tag {
- background-position: 0 -48px;
-}
-
-.icon-tags {
- background-position: -25px -48px;
-}
-
-.icon-book {
- background-position: -48px -48px;
-}
-
-.icon-bookmark {
- background-position: -72px -48px;
-}
-
-.icon-print {
- background-position: -96px -48px;
-}
-
-.icon-camera {
- background-position: -120px -48px;
-}
-
-.icon-font {
- background-position: -144px -48px;
-}
-
-.icon-bold {
- background-position: -167px -48px;
-}
-
-.icon-italic {
- background-position: -192px -48px;
-}
-
-.icon-text-height {
- background-position: -216px -48px;
-}
-
-.icon-text-width {
- background-position: -240px -48px;
-}
-
-.icon-align-left {
- background-position: -264px -48px;
-}
-
-.icon-align-center {
- background-position: -288px -48px;
-}
-
-.icon-align-right {
- background-position: -312px -48px;
-}
-
-.icon-align-justify {
- background-position: -336px -48px;
-}
-
-.icon-list {
- background-position: -360px -48px;
-}
-
-.icon-indent-left {
- background-position: -384px -48px;
-}
-
-.icon-indent-right {
- background-position: -408px -48px;
-}
-
-.icon-facetime-video {
- background-position: -432px -48px;
-}
-
-.icon-picture {
- background-position: -456px -48px;
-}
-
-.icon-pencil {
- background-position: 0 -72px;
-}
-
-.icon-map-marker {
- background-position: -24px -72px;
-}
-
-.icon-adjust {
- background-position: -48px -72px;
-}
-
-.icon-tint {
- background-position: -72px -72px;
-}
-
-.icon-edit {
- background-position: -96px -72px;
-}
-
-.icon-share {
- background-position: -120px -72px;
-}
-
-.icon-check {
- background-position: -144px -72px;
-}
-
-.icon-move {
- background-position: -168px -72px;
-}
-
-.icon-step-backward {
- background-position: -192px -72px;
-}
-
-.icon-fast-backward {
- background-position: -216px -72px;
-}
-
-.icon-backward {
- background-position: -240px -72px;
-}
-
-.icon-play {
- background-position: -264px -72px;
-}
-
-.icon-pause {
- background-position: -288px -72px;
-}
-
-.icon-stop {
- background-position: -312px -72px;
-}
-
-.icon-forward {
- background-position: -336px -72px;
-}
-
-.icon-fast-forward {
- background-position: -360px -72px;
-}
-
-.icon-step-forward {
- background-position: -384px -72px;
-}
-
-.icon-eject {
- background-position: -408px -72px;
-}
-
-.icon-chevron-left {
- background-position: -432px -72px;
-}
-
-.icon-chevron-right {
- background-position: -456px -72px;
-}
-
-.icon-plus-sign {
- background-position: 0 -96px;
-}
-
-.icon-minus-sign {
- background-position: -24px -96px;
-}
-
-.icon-remove-sign {
- background-position: -48px -96px;
-}
-
-.icon-ok-sign {
- background-position: -72px -96px;
-}
-
-.icon-question-sign {
- background-position: -96px -96px;
-}
-
-.icon-info-sign {
- background-position: -120px -96px;
-}
-
-.icon-screenshot {
- background-position: -144px -96px;
-}
-
-.icon-remove-circle {
- background-position: -168px -96px;
-}
-
-.icon-ok-circle {
- background-position: -192px -96px;
-}
-
-.icon-ban-circle {
- background-position: -216px -96px;
-}
-
-.icon-arrow-left {
- background-position: -240px -96px;
-}
-
-.icon-arrow-right {
- background-position: -264px -96px;
-}
-
-.icon-arrow-up {
- background-position: -289px -96px;
-}
-
-.icon-arrow-down {
- background-position: -312px -96px;
-}
-
-.icon-share-alt {
- background-position: -336px -96px;
-}
-
-.icon-resize-full {
- background-position: -360px -96px;
-}
-
-.icon-resize-small {
- background-position: -384px -96px;
-}
-
-.icon-plus {
- background-position: -408px -96px;
-}
-
-.icon-minus {
- background-position: -433px -96px;
-}
-
-.icon-asterisk {
- background-position: -456px -96px;
-}
-
-.icon-exclamation-sign {
- background-position: 0 -120px;
-}
-
-.icon-gift {
- background-position: -24px -120px;
-}
-
-.icon-leaf {
- background-position: -48px -120px;
-}
-
-.icon-fire {
- background-position: -72px -120px;
-}
-
-.icon-eye-open {
- background-position: -96px -120px;
-}
-
-.icon-eye-close {
- background-position: -120px -120px;
-}
-
-.icon-warning-sign {
- background-position: -144px -120px;
-}
-
-.icon-plane {
- background-position: -168px -120px;
-}
-
-.icon-calendar {
- background-position: -192px -120px;
-}
-
-.icon-random {
- width: 16px;
- background-position: -216px -120px;
-}
-
-.icon-comment {
- background-position: -240px -120px;
-}
-
-.icon-magnet {
- background-position: -264px -120px;
-}
-
-.icon-chevron-up {
- background-position: -288px -120px;
-}
-
-.icon-chevron-down {
- background-position: -313px -119px;
-}
-
-.icon-retweet {
- background-position: -336px -120px;
-}
-
-.icon-shopping-cart {
- background-position: -360px -120px;
-}
-
-.icon-folder-close {
- width: 16px;
- background-position: -384px -120px;
-}
-
-.icon-folder-open {
- width: 16px;
- background-position: -408px -120px;
-}
-
-.icon-resize-vertical {
- background-position: -432px -119px;
-}
-
-.icon-resize-horizontal {
- background-position: -456px -118px;
-}
-
-.icon-hdd {
- background-position: 0 -144px;
-}
-
-.icon-bullhorn {
- background-position: -24px -144px;
-}
-
-.icon-bell {
- background-position: -48px -144px;
-}
-
-.icon-certificate {
- background-position: -72px -144px;
-}
-
-.icon-thumbs-up {
- background-position: -96px -144px;
-}
-
-.icon-thumbs-down {
- background-position: -120px -144px;
-}
-
-.icon-hand-right {
- background-position: -144px -144px;
-}
-
-.icon-hand-left {
- background-position: -168px -144px;
-}
-
-.icon-hand-up {
- background-position: -192px -144px;
-}
-
-.icon-hand-down {
- background-position: -216px -144px;
-}
-
-.icon-circle-arrow-right {
- background-position: -240px -144px;
-}
-
-.icon-circle-arrow-left {
- background-position: -264px -144px;
-}
-
-.icon-circle-arrow-up {
- background-position: -288px -144px;
-}
-
-.icon-circle-arrow-down {
- background-position: -312px -144px;
-}
-
-.icon-globe {
- background-position: -336px -144px;
-}
-
-.icon-wrench {
- background-position: -360px -144px;
-}
-
-.icon-tasks {
- background-position: -384px -144px;
-}
-
-.icon-filter {
- background-position: -408px -144px;
-}
-
-.icon-briefcase {
- background-position: -432px -144px;
-}
-
-.icon-fullscreen {
- background-position: -456px -144px;
-}
-
-.dropup,
-.dropdown {
- position: relative;
-}
-
-.dropdown-toggle {
- *margin-bottom: -3px;
-}
-
-.dropdown-toggle:active,
-.open .dropdown-toggle {
- outline: 0;
-}
-
-.caret {
- display: inline-block;
- width: 0;
- height: 0;
- vertical-align: top;
- border-top: 4px solid #000000;
- border-right: 4px solid transparent;
- border-left: 4px solid transparent;
- content: "";
-}
-
-.dropdown .caret {
- margin-top: 8px;
- margin-left: 2px;
-}
-
-.dropdown-menu {
- position: absolute;
- top: 100%;
- left: 0;
- z-index: 1000;
- display: none;
- float: left;
- min-width: 160px;
- padding: 5px 0;
- margin: 2px 0 0;
- list-style: none;
- background-color: #ffffff;
- border: 1px solid #ccc;
- border: 1px solid rgba(0, 0, 0, 0.2);
- *border-right-width: 2px;
- *border-bottom-width: 2px;
- -webkit-border-radius: 6px;
- -moz-border-radius: 6px;
- border-radius: 6px;
- -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
- -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
- box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
- -webkit-background-clip: padding-box;
- -moz-background-clip: padding;
- background-clip: padding-box;
-}
-
-.dropdown-menu.pull-right {
- right: 0;
- left: auto;
-}
-
-.dropdown-menu .divider {
- *width: 100%;
- height: 1px;
- margin: 9px 1px;
- *margin: -5px 0 5px;
- overflow: hidden;
- background-color: #e5e5e5;
- border-bottom: 1px solid #ffffff;
-}
-
-.dropdown-menu > li > a {
- display: block;
- padding: 3px 20px;
- clear: both;
- font-weight: normal;
- line-height: 20px;
- color: #333333;
- white-space: nowrap;
-}
-
-.dropdown-menu > li > a:hover,
-.dropdown-menu > li > a:focus,
-.dropdown-submenu:hover > a,
-.dropdown-submenu:focus > a {
- color: #ffffff;
- text-decoration: none;
- background-color: #0081c2;
- background-image: -moz-linear-gradient(top, #0088cc, #0077b3);
- background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0077b3));
- background-image: -webkit-linear-gradient(top, #0088cc, #0077b3);
- background-image: -o-linear-gradient(top, #0088cc, #0077b3);
- background-image: linear-gradient(to bottom, #0088cc, #0077b3);
- background-repeat: repeat-x;
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc', endColorstr='#ff0077b3', GradientType=0);
-}
-
-.dropdown-menu > .active > a,
-.dropdown-menu > .active > a:hover,
-.dropdown-menu > .active > a:focus {
- color: #ffffff;
- text-decoration: none;
- background-color: #0081c2;
- background-image: -moz-linear-gradient(top, #0088cc, #0077b3);
- background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0077b3));
- background-image: -webkit-linear-gradient(top, #0088cc, #0077b3);
- background-image: -o-linear-gradient(top, #0088cc, #0077b3);
- background-image: linear-gradient(to bottom, #0088cc, #0077b3);
- background-repeat: repeat-x;
- outline: 0;
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc', endColorstr='#ff0077b3', GradientType=0);
-}
-
-.dropdown-menu > .disabled > a,
-.dropdown-menu > .disabled > a:hover,
-.dropdown-menu > .disabled > a:focus {
- color: #999999;
-}
-
-.dropdown-menu > .disabled > a:hover,
-.dropdown-menu > .disabled > a:focus {
- text-decoration: none;
- cursor: default;
- background-color: transparent;
- background-image: none;
- filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
-}
-
-.open {
- *z-index: 1000;
-}
-
-.open > .dropdown-menu {
- display: block;
-}
-
-.pull-right > .dropdown-menu {
- right: 0;
- left: auto;
-}
-
-.dropup .caret,
-.navbar-fixed-bottom .dropdown .caret {
- border-top: 0;
- border-bottom: 4px solid #000000;
- content: "";
-}
-
-.dropup .dropdown-menu,
-.navbar-fixed-bottom .dropdown .dropdown-menu {
- top: auto;
- bottom: 100%;
- margin-bottom: 1px;
-}
-
-.dropdown-submenu {
- position: relative;
-}
-
-.dropdown-submenu > .dropdown-menu {
- top: 0;
- left: 100%;
- margin-top: -6px;
- margin-left: -1px;
- -webkit-border-radius: 0 6px 6px 6px;
- -moz-border-radius: 0 6px 6px 6px;
- border-radius: 0 6px 6px 6px;
-}
-
-.dropdown-submenu:hover > .dropdown-menu {
- display: block;
-}
-
-.dropup .dropdown-submenu > .dropdown-menu {
- top: auto;
- bottom: 0;
- margin-top: 0;
- margin-bottom: -2px;
- -webkit-border-radius: 5px 5px 5px 0;
- -moz-border-radius: 5px 5px 5px 0;
- border-radius: 5px 5px 5px 0;
-}
-
-.dropdown-submenu > a:after {
- display: block;
- float: right;
- width: 0;
- height: 0;
- margin-top: 5px;
- margin-right: -10px;
- border-color: transparent;
- border-left-color: #cccccc;
- border-style: solid;
- border-width: 5px 0 5px 5px;
- content: " ";
-}
-
-.dropdown-submenu:hover > a:after {
- border-left-color: #ffffff;
-}
-
-.dropdown-submenu.pull-left {
- float: none;
-}
-
-.dropdown-submenu.pull-left > .dropdown-menu {
- left: -100%;
- margin-left: 10px;
- -webkit-border-radius: 6px 0 6px 6px;
- -moz-border-radius: 6px 0 6px 6px;
- border-radius: 6px 0 6px 6px;
-}
-
-.dropdown .dropdown-menu .nav-header {
- padding-right: 20px;
- padding-left: 20px;
-}
-
-.typeahead {
- z-index: 1051;
- margin-top: 2px;
- -webkit-border-radius: 4px;
- -moz-border-radius: 4px;
- border-radius: 4px;
-}
-
-.well {
- min-height: 20px;
- padding: 19px;
- margin-bottom: 20px;
- background-color: #f5f5f5;
- border: 1px solid #e3e3e3;
- -webkit-border-radius: 4px;
- -moz-border-radius: 4px;
- border-radius: 4px;
- -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
- -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
- box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
-}
-
-.well blockquote {
- border-color: #ddd;
- border-color: rgba(0, 0, 0, 0.15);
-}
-
-.well-large {
- padding: 24px;
- -webkit-border-radius: 6px;
- -moz-border-radius: 6px;
- border-radius: 6px;
-}
-
-.well-small {
- padding: 9px;
- -webkit-border-radius: 3px;
- -moz-border-radius: 3px;
- border-radius: 3px;
-}
-
-.fade {
- opacity: 0;
- -webkit-transition: opacity 0.15s linear;
- -moz-transition: opacity 0.15s linear;
- -o-transition: opacity 0.15s linear;
- transition: opacity 0.15s linear;
-}
-
-.fade.in {
- opacity: 1;
-}
-
-.collapse {
- position: relative;
- height: 0;
- overflow: hidden;
- -webkit-transition: height 0.35s ease;
- -moz-transition: height 0.35s ease;
- -o-transition: height 0.35s ease;
- transition: height 0.35s ease;
-}
-
-.collapse.in {
- height: auto;
-}
-
-.close {
- float: right;
- font-size: 20px;
- font-weight: bold;
- line-height: 20px;
- color: #000000;
- text-shadow: 0 1px 0 #ffffff;
- opacity: 0.2;
- filter: alpha(opacity=20);
-}
-
-.close:hover,
-.close:focus {
- color: #000000;
- text-decoration: none;
- cursor: pointer;
- opacity: 0.4;
- filter: alpha(opacity=40);
-}
-
-button.close {
- padding: 0;
- cursor: pointer;
- background: transparent;
- border: 0;
- -webkit-appearance: none;
-}
-
-.btn {
- display: inline-block;
- *display: inline;
- padding: 4px 12px;
- margin-bottom: 0;
- *margin-left: .3em;
- font-size: 14px;
- line-height: 20px;
- color: #333333;
- text-align: center;
- text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);
- vertical-align: middle;
- cursor: pointer;
- background-color: #f5f5f5;
- *background-color: #e6e6e6;
- background-image: -moz-linear-gradient(top, #ffffff, #e6e6e6);
- background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#e6e6e6));
- background-image: -webkit-linear-gradient(top, #ffffff, #e6e6e6);
- background-image: -o-linear-gradient(top, #ffffff, #e6e6e6);
- background-image: linear-gradient(to bottom, #ffffff, #e6e6e6);
- background-repeat: repeat-x;
- border: 1px solid #cccccc;
- *border: 0;
- border-color: #e6e6e6 #e6e6e6 #bfbfbf;
- border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
- border-bottom-color: #b3b3b3;
- -webkit-border-radius: 4px;
- -moz-border-radius: 4px;
- border-radius: 4px;
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe6e6e6', GradientType=0);
- filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
- *zoom: 1;
- -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
- -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
- box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
-}
-
-.btn:hover,
-.btn:focus,
-.btn:active,
-.btn.active,
-.btn.disabled,
-.btn[disabled] {
- color: #333333;
- background-color: #e6e6e6;
- *background-color: #d9d9d9;
-}
-
-.btn:active,
-.btn.active {
- background-color: #cccccc \9;
-}
-
-.btn:first-child {
- *margin-left: 0;
-}
-
-.btn:hover,
-.btn:focus {
- color: #333333;
- text-decoration: none;
- background-position: 0 -15px;
- -webkit-transition: background-position 0.1s linear;
- -moz-transition: background-position 0.1s linear;
- -o-transition: background-position 0.1s linear;
- transition: background-position 0.1s linear;
-}
-
-.btn:focus {
- outline: thin dotted #333;
- outline: 5px auto -webkit-focus-ring-color;
- outline-offset: -2px;
-}
-
-.btn.active,
-.btn:active {
- background-image: none;
- outline: 0;
- -webkit-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
- -moz-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
- box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
-}
-
-.btn.disabled,
-.btn[disabled] {
- cursor: default;
- background-image: none;
- opacity: 0.65;
- filter: alpha(opacity=65);
- -webkit-box-shadow: none;
- -moz-box-shadow: none;
- box-shadow: none;
-}
-
-.btn-large {
- padding: 11px 19px;
- font-size: 17.5px;
- -webkit-border-radius: 6px;
- -moz-border-radius: 6px;
- border-radius: 6px;
-}
-
-.btn-large [class^="icon-"],
-.btn-large [class*=" icon-"] {
- margin-top: 4px;
-}
-
-.btn-small {
- padding: 2px 10px;
- font-size: 11.9px;
- -webkit-border-radius: 3px;
- -moz-border-radius: 3px;
- border-radius: 3px;
-}
-
-.btn-small [class^="icon-"],
-.btn-small [class*=" icon-"] {
- margin-top: 0;
-}
-
-.btn-mini [class^="icon-"],
-.btn-mini [class*=" icon-"] {
- margin-top: -1px;
-}
-
-.btn-mini {
- padding: 0 6px;
- font-size: 10.5px;
- -webkit-border-radius: 3px;
- -moz-border-radius: 3px;
- border-radius: 3px;
-}
-
-.btn-block {
- display: block;
- width: 100%;
- padding-right: 0;
- padding-left: 0;
- -webkit-box-sizing: border-box;
- -moz-box-sizing: border-box;
- box-sizing: border-box;
-}
-
-.btn-block + .btn-block {
- margin-top: 5px;
-}
-
-input[type="submit"].btn-block,
-input[type="reset"].btn-block,
-input[type="button"].btn-block {
- width: 100%;
-}
-
-.btn-primary.active,
-.btn-warning.active,
-.btn-danger.active,
-.btn-success.active,
-.btn-info.active,
-.btn-inverse.active {
- color: rgba(255, 255, 255, 0.75);
-}
-
-.btn-primary {
- color: #ffffff;
- text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
- background-color: #006dcc;
- *background-color: #0044cc;
- background-image: -moz-linear-gradient(top, #0088cc, #0044cc);
- background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0044cc));
- background-image: -webkit-linear-gradient(top, #0088cc, #0044cc);
- background-image: -o-linear-gradient(top, #0088cc, #0044cc);
- background-image: linear-gradient(to bottom, #0088cc, #0044cc);
- background-repeat: repeat-x;
- border-color: #0044cc #0044cc #002a80;
- border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc', endColorstr='#ff0044cc', GradientType=0);
- filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
-}
-
-.btn-primary:hover,
-.btn-primary:focus,
-.btn-primary:active,
-.btn-primary.active,
-.btn-primary.disabled,
-.btn-primary[disabled] {
- color: #ffffff;
- background-color: #0044cc;
- *background-color: #003bb3;
-}
-
-.btn-primary:active,
-.btn-primary.active {
- background-color: #003399 \9;
-}
-
-.btn-warning {
- color: #ffffff;
- text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
- background-color: #faa732;
- *background-color: #f89406;
- background-image: -moz-linear-gradient(top, #fbb450, #f89406);
- background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fbb450), to(#f89406));
- background-image: -webkit-linear-gradient(top, #fbb450, #f89406);
- background-image: -o-linear-gradient(top, #fbb450, #f89406);
- background-image: linear-gradient(to bottom, #fbb450, #f89406);
- background-repeat: repeat-x;
- border-color: #f89406 #f89406 #ad6704;
- border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffbb450', endColorstr='#fff89406', GradientType=0);
- filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
-}
-
-.btn-warning:hover,
-.btn-warning:focus,
-.btn-warning:active,
-.btn-warning.active,
-.btn-warning.disabled,
-.btn-warning[disabled] {
- color: #ffffff;
- background-color: #f89406;
- *background-color: #df8505;
-}
-
-.btn-warning:active,
-.btn-warning.active {
- background-color: #c67605 \9;
-}
-
-.btn-danger {
- color: #ffffff;
- text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
- background-color: #da4f49;
- *background-color: #bd362f;
- background-image: -moz-linear-gradient(top, #ee5f5b, #bd362f);
- background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ee5f5b), to(#bd362f));
- background-image: -webkit-linear-gradient(top, #ee5f5b, #bd362f);
- background-image: -o-linear-gradient(top, #ee5f5b, #bd362f);
- background-image: linear-gradient(to bottom, #ee5f5b, #bd362f);
- background-repeat: repeat-x;
- border-color: #bd362f #bd362f #802420;
- border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffee5f5b', endColorstr='#ffbd362f', GradientType=0);
- filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
-}
-
-.btn-danger:hover,
-.btn-danger:focus,
-.btn-danger:active,
-.btn-danger.active,
-.btn-danger.disabled,
-.btn-danger[disabled] {
- color: #ffffff;
- background-color: #bd362f;
- *background-color: #a9302a;
-}
-
-.btn-danger:active,
-.btn-danger.active {
- background-color: #942a25 \9;
-}
-
-.btn-success {
- color: #ffffff;
- text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
- background-color: #5bb75b;
- *background-color: #51a351;
- background-image: -moz-linear-gradient(top, #62c462, #51a351);
- background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#62c462), to(#51a351));
- background-image: -webkit-linear-gradient(top, #62c462, #51a351);
- background-image: -o-linear-gradient(top, #62c462, #51a351);
- background-image: linear-gradient(to bottom, #62c462, #51a351);
- background-repeat: repeat-x;
- border-color: #51a351 #51a351 #387038;
- border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff62c462', endColorstr='#ff51a351', GradientType=0);
- filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
-}
-
-.btn-success:hover,
-.btn-success:focus,
-.btn-success:active,
-.btn-success.active,
-.btn-success.disabled,
-.btn-success[disabled] {
- color: #ffffff;
- background-color: #51a351;
- *background-color: #499249;
-}
-
-.btn-success:active,
-.btn-success.active {
- background-color: #408140 \9;
-}
-
-.btn-info {
- color: #ffffff;
- text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
- background-color: #49afcd;
- *background-color: #2f96b4;
- background-image: -moz-linear-gradient(top, #5bc0de, #2f96b4);
- background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#5bc0de), to(#2f96b4));
- background-image: -webkit-linear-gradient(top, #5bc0de, #2f96b4);
- background-image: -o-linear-gradient(top, #5bc0de, #2f96b4);
- background-image: linear-gradient(to bottom, #5bc0de, #2f96b4);
- background-repeat: repeat-x;
- border-color: #2f96b4 #2f96b4 #1f6377;
- border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2f96b4', GradientType=0);
- filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
-}
-
-.btn-info:hover,
-.btn-info:focus,
-.btn-info:active,
-.btn-info.active,
-.btn-info.disabled,
-.btn-info[disabled] {
- color: #ffffff;
- background-color: #2f96b4;
- *background-color: #2a85a0;
-}
-
-.btn-info:active,
-.btn-info.active {
- background-color: #24748c \9;
-}
-
-.btn-inverse {
- color: #ffffff;
- text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
- background-color: #363636;
- *background-color: #222222;
- background-image: -moz-linear-gradient(top, #444444, #222222);
- background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#444444), to(#222222));
- background-image: -webkit-linear-gradient(top, #444444, #222222);
- background-image: -o-linear-gradient(top, #444444, #222222);
- background-image: linear-gradient(to bottom, #444444, #222222);
- background-repeat: repeat-x;
- border-color: #222222 #222222 #000000;
- border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff444444', endColorstr='#ff222222', GradientType=0);
- filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
-}
-
-.btn-inverse:hover,
-.btn-inverse:focus,
-.btn-inverse:active,
-.btn-inverse.active,
-.btn-inverse.disabled,
-.btn-inverse[disabled] {
- color: #ffffff;
- background-color: #222222;
- *background-color: #151515;
-}
-
-.btn-inverse:active,
-.btn-inverse.active {
- background-color: #080808 \9;
-}
-
-button.btn,
-input[type="submit"].btn {
- *padding-top: 3px;
- *padding-bottom: 3px;
-}
-
-button.btn::-moz-focus-inner,
-input[type="submit"].btn::-moz-focus-inner {
- padding: 0;
- border: 0;
-}
-
-button.btn.btn-large,
-input[type="submit"].btn.btn-large {
- *padding-top: 7px;
- *padding-bottom: 7px;
-}
-
-button.btn.btn-small,
-input[type="submit"].btn.btn-small {
- *padding-top: 3px;
- *padding-bottom: 3px;
-}
-
-button.btn.btn-mini,
-input[type="submit"].btn.btn-mini {
- *padding-top: 1px;
- *padding-bottom: 1px;
-}
-
-.btn-link,
-.btn-link:active,
-.btn-link[disabled] {
- background-color: transparent;
- background-image: none;
- -webkit-box-shadow: none;
- -moz-box-shadow: none;
- box-shadow: none;
-}
-
-.btn-link {
- color: #0088cc;
- cursor: pointer;
- border-color: transparent;
- -webkit-border-radius: 0;
- -moz-border-radius: 0;
- border-radius: 0;
-}
-
-.btn-link:hover,
-.btn-link:focus {
- color: #005580;
- text-decoration: underline;
- background-color: transparent;
-}
-
-.btn-link[disabled]:hover,
-.btn-link[disabled]:focus {
- color: #333333;
- text-decoration: none;
-}
-
-.btn-group {
- position: relative;
- display: inline-block;
- *display: inline;
- *margin-left: .3em;
- font-size: 0;
- white-space: nowrap;
- vertical-align: middle;
- *zoom: 1;
-}
-
-.btn-group:first-child {
- *margin-left: 0;
-}
-
-.btn-group + .btn-group {
- margin-left: 5px;
-}
-
-.btn-toolbar {
- margin-top: 10px;
- margin-bottom: 10px;
- font-size: 0;
-}
-
-.btn-toolbar > .btn + .btn,
-.btn-toolbar > .btn-group + .btn,
-.btn-toolbar > .btn + .btn-group {
- margin-left: 5px;
-}
-
-.btn-group > .btn {
- position: relative;
- -webkit-border-radius: 0;
- -moz-border-radius: 0;
- border-radius: 0;
-}
-
-.btn-group > .btn + .btn {
- margin-left: -1px;
-}
-
-.btn-group > .btn,
-.btn-group > .dropdown-menu,
-.btn-group > .popover {
- font-size: 14px;
-}
-
-.btn-group > .btn-mini {
- font-size: 10.5px;
-}
-
-.btn-group > .btn-small {
- font-size: 11.9px;
-}
-
-.btn-group > .btn-large {
- font-size: 17.5px;
-}
-
-.btn-group > .btn:first-child {
- margin-left: 0;
- -webkit-border-bottom-left-radius: 4px;
- border-bottom-left-radius: 4px;
- -webkit-border-top-left-radius: 4px;
- border-top-left-radius: 4px;
- -moz-border-radius-bottomleft: 4px;
- -moz-border-radius-topleft: 4px;
-}
-
-.btn-group > .btn:last-child,
-.btn-group > .dropdown-toggle {
- -webkit-border-top-right-radius: 4px;
- border-top-right-radius: 4px;
- -webkit-border-bottom-right-radius: 4px;
- border-bottom-right-radius: 4px;
- -moz-border-radius-topright: 4px;
- -moz-border-radius-bottomright: 4px;
-}
-
-.btn-group > .btn.large:first-child {
- margin-left: 0;
- -webkit-border-bottom-left-radius: 6px;
- border-bottom-left-radius: 6px;
- -webkit-border-top-left-radius: 6px;
- border-top-left-radius: 6px;
- -moz-border-radius-bottomleft: 6px;
- -moz-border-radius-topleft: 6px;
-}
-
-.btn-group > .btn.large:last-child,
-.btn-group > .large.dropdown-toggle {
- -webkit-border-top-right-radius: 6px;
- border-top-right-radius: 6px;
- -webkit-border-bottom-right-radius: 6px;
- border-bottom-right-radius: 6px;
- -moz-border-radius-topright: 6px;
- -moz-border-radius-bottomright: 6px;
-}
-
-.btn-group > .btn:hover,
-.btn-group > .btn:focus,
-.btn-group > .btn:active,
-.btn-group > .btn.active {
- z-index: 2;
-}
-
-.btn-group .dropdown-toggle:active,
-.btn-group.open .dropdown-toggle {
- outline: 0;
-}
-
-.btn-group > .btn + .dropdown-toggle {
- *padding-top: 5px;
- padding-right: 8px;
- *padding-bottom: 5px;
- padding-left: 8px;
- -webkit-box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
- -moz-box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
- box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
-}
-
-.btn-group > .btn-mini + .dropdown-toggle {
- *padding-top: 2px;
- padding-right: 5px;
- *padding-bottom: 2px;
- padding-left: 5px;
-}
-
-.btn-group > .btn-small + .dropdown-toggle {
- *padding-top: 5px;
- *padding-bottom: 4px;
-}
-
-.btn-group > .btn-large + .dropdown-toggle {
- *padding-top: 7px;
- padding-right: 12px;
- *padding-bottom: 7px;
- padding-left: 12px;
-}
-
-.btn-group.open .dropdown-toggle {
- background-image: none;
- -webkit-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
- -moz-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
- box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
-}
-
-.btn-group.open .btn.dropdown-toggle {
- background-color: #e6e6e6;
-}
-
-.btn-group.open .btn-primary.dropdown-toggle {
- background-color: #0044cc;
-}
-
-.btn-group.open .btn-warning.dropdown-toggle {
- background-color: #f89406;
-}
-
-.btn-group.open .btn-danger.dropdown-toggle {
- background-color: #bd362f;
-}
-
-.btn-group.open .btn-success.dropdown-toggle {
- background-color: #51a351;
-}
-
-.btn-group.open .btn-info.dropdown-toggle {
- background-color: #2f96b4;
-}
-
-.btn-group.open .btn-inverse.dropdown-toggle {
- background-color: #222222;
-}
-
-.btn .caret {
- margin-top: 8px;
- margin-left: 0;
-}
-
-.btn-large .caret {
- margin-top: 6px;
-}
-
-.btn-large .caret {
- border-top-width: 5px;
- border-right-width: 5px;
- border-left-width: 5px;
-}
-
-.btn-mini .caret,
-.btn-small .caret {
- margin-top: 8px;
-}
-
-.dropup .btn-large .caret {
- border-bottom-width: 5px;
-}
-
-.btn-primary .caret,
-.btn-warning .caret,
-.btn-danger .caret,
-.btn-info .caret,
-.btn-success .caret,
-.btn-inverse .caret {
- border-top-color: #ffffff;
- border-bottom-color: #ffffff;
-}
-
-.btn-group-vertical {
- display: inline-block;
- *display: inline;
- /* IE7 inline-block hack */
-
- *zoom: 1;
-}
-
-.btn-group-vertical > .btn {
- display: block;
- float: none;
- max-width: 100%;
- -webkit-border-radius: 0;
- -moz-border-radius: 0;
- border-radius: 0;
-}
-
-.btn-group-vertical > .btn + .btn {
- margin-top: -1px;
- margin-left: 0;
-}
-
-.btn-group-vertical > .btn:first-child {
- -webkit-border-radius: 4px 4px 0 0;
- -moz-border-radius: 4px 4px 0 0;
- border-radius: 4px 4px 0 0;
-}
-
-.btn-group-vertical > .btn:last-child {
- -webkit-border-radius: 0 0 4px 4px;
- -moz-border-radius: 0 0 4px 4px;
- border-radius: 0 0 4px 4px;
-}
-
-.btn-group-vertical > .btn-large:first-child {
- -webkit-border-radius: 6px 6px 0 0;
- -moz-border-radius: 6px 6px 0 0;
- border-radius: 6px 6px 0 0;
-}
-
-.btn-group-vertical > .btn-large:last-child {
- -webkit-border-radius: 0 0 6px 6px;
- -moz-border-radius: 0 0 6px 6px;
- border-radius: 0 0 6px 6px;
-}
-
-.alert {
- padding: 8px 35px 8px 14px;
- margin-bottom: 20px;
- text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
- background-color: #fcf8e3;
- border: 1px solid #fbeed5;
- -webkit-border-radius: 4px;
- -moz-border-radius: 4px;
- border-radius: 4px;
-}
-
-.alert,
-.alert h4 {
- color: #c09853;
-}
-
-.alert h4 {
- margin: 0;
-}
-
-.alert .close {
- position: relative;
- top: -2px;
- right: -21px;
- line-height: 20px;
-}
-
-.alert-success {
- color: #468847;
- background-color: #dff0d8;
- border-color: #d6e9c6;
-}
-
-.alert-success h4 {
- color: #468847;
-}
-
-.alert-danger,
-.alert-error {
- color: #b94a48;
- background-color: #f2dede;
- border-color: #eed3d7;
-}
-
-.alert-danger h4,
-.alert-error h4 {
- color: #b94a48;
-}
-
-.alert-info {
- color: #3a87ad;
- background-color: #d9edf7;
- border-color: #bce8f1;
-}
-
-.alert-info h4 {
- color: #3a87ad;
-}
-
-.alert-block {
- padding-top: 14px;
- padding-bottom: 14px;
-}
-
-.alert-block > p,
-.alert-block > ul {
- margin-bottom: 0;
-}
-
-.alert-block p + p {
- margin-top: 5px;
-}
-
-.nav {
- margin-bottom: 20px;
- margin-left: 0;
- list-style: none;
-}
-
-.nav > li > a {
- display: block;
-}
-
-.nav > li > a:hover,
-.nav > li > a:focus {
- text-decoration: none;
- background-color: #eeeeee;
-}
-
-.nav > li > a > img {
- max-width: none;
-}
-
-.nav > .pull-right {
- float: right;
-}
-
-.nav-header {
- display: block;
- padding: 3px 15px;
- font-size: 11px;
- font-weight: bold;
- line-height: 20px;
- color: #999999;
- text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
- text-transform: uppercase;
-}
-
-.nav li + .nav-header {
- margin-top: 9px;
-}
-
-.nav-list {
- padding-right: 15px;
- padding-left: 15px;
- margin-bottom: 0;
-}
-
-.nav-list > li > a,
-.nav-list .nav-header {
- margin-right: -15px;
- margin-left: -15px;
- text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
-}
-
-.nav-list > li > a {
- padding: 3px 15px;
-}
-
-.nav-list > .active > a,
-.nav-list > .active > a:hover,
-.nav-list > .active > a:focus {
- color: #ffffff;
- text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2);
- background-color: #0088cc;
-}
-
-.nav-list [class^="icon-"],
-.nav-list [class*=" icon-"] {
- margin-right: 2px;
-}
-
-.nav-list .divider {
- *width: 100%;
- height: 1px;
- margin: 9px 1px;
- *margin: -5px 0 5px;
- overflow: hidden;
- background-color: #e5e5e5;
- border-bottom: 1px solid #ffffff;
-}
-
-.nav-tabs,
-.nav-pills {
- *zoom: 1;
-}
-
-.nav-tabs:before,
-.nav-pills:before,
-.nav-tabs:after,
-.nav-pills:after {
- display: table;
- line-height: 0;
- content: "";
-}
-
-.nav-tabs:after,
-.nav-pills:after {
- clear: both;
-}
-
-.nav-tabs > li,
-.nav-pills > li {
- float: left;
-}
-
-.nav-tabs > li > a,
-.nav-pills > li > a {
- padding-right: 12px;
- padding-left: 12px;
- margin-right: 2px;
- line-height: 14px;
-}
-
-.nav-tabs {
- border-bottom: 1px solid #ddd;
-}
-
-.nav-tabs > li {
- margin-bottom: -1px;
-}
-
-.nav-tabs > li > a {
- padding-top: 8px;
- padding-bottom: 8px;
- line-height: 20px;
- border: 1px solid transparent;
- -webkit-border-radius: 4px 4px 0 0;
- -moz-border-radius: 4px 4px 0 0;
- border-radius: 4px 4px 0 0;
-}
-
-.nav-tabs > li > a:hover,
-.nav-tabs > li > a:focus {
- border-color: #eeeeee #eeeeee #dddddd;
-}
-
-.nav-tabs > .active > a,
-.nav-tabs > .active > a:hover,
-.nav-tabs > .active > a:focus {
- color: #555555;
- cursor: default;
- background-color: #ffffff;
- border: 1px solid #ddd;
- border-bottom-color: transparent;
-}
-
-.nav-pills > li > a {
- padding-top: 8px;
- padding-bottom: 8px;
- margin-top: 2px;
- margin-bottom: 2px;
- -webkit-border-radius: 5px;
- -moz-border-radius: 5px;
- border-radius: 5px;
-}
-
-.nav-pills > .active > a,
-.nav-pills > .active > a:hover,
-.nav-pills > .active > a:focus {
- color: #ffffff;
- background-color: #0088cc;
-}
-
-.nav-stacked > li {
- float: none;
-}
-
-.nav-stacked > li > a {
- margin-right: 0;
-}
-
-.nav-tabs.nav-stacked {
- border-bottom: 0;
-}
-
-.nav-tabs.nav-stacked > li > a {
- border: 1px solid #ddd;
- -webkit-border-radius: 0;
- -moz-border-radius: 0;
- border-radius: 0;
-}
-
-.nav-tabs.nav-stacked > li:first-child > a {
- -webkit-border-top-right-radius: 4px;
- border-top-right-radius: 4px;
- -webkit-border-top-left-radius: 4px;
- border-top-left-radius: 4px;
- -moz-border-radius-topright: 4px;
- -moz-border-radius-topleft: 4px;
-}
-
-.nav-tabs.nav-stacked > li:last-child > a {
- -webkit-border-bottom-right-radius: 4px;
- border-bottom-right-radius: 4px;
- -webkit-border-bottom-left-radius: 4px;
- border-bottom-left-radius: 4px;
- -moz-border-radius-bottomright: 4px;
- -moz-border-radius-bottomleft: 4px;
-}
-
-.nav-tabs.nav-stacked > li > a:hover,
-.nav-tabs.nav-stacked > li > a:focus {
- z-index: 2;
- border-color: #ddd;
-}
-
-.nav-pills.nav-stacked > li > a {
- margin-bottom: 3px;
-}
-
-.nav-pills.nav-stacked > li:last-child > a {
- margin-bottom: 1px;
-}
-
-.nav-tabs .dropdown-menu {
- -webkit-border-radius: 0 0 6px 6px;
- -moz-border-radius: 0 0 6px 6px;
- border-radius: 0 0 6px 6px;
-}
-
-.nav-pills .dropdown-menu {
- -webkit-border-radius: 6px;
- -moz-border-radius: 6px;
- border-radius: 6px;
-}
-
-.nav .dropdown-toggle .caret {
- margin-top: 6px;
- border-top-color: #0088cc;
- border-bottom-color: #0088cc;
-}
-
-.nav .dropdown-toggle:hover .caret,
-.nav .dropdown-toggle:focus .caret {
- border-top-color: #005580;
- border-bottom-color: #005580;
-}
-
-/* move down carets for tabs */
-
-.nav-tabs .dropdown-toggle .caret {
- margin-top: 8px;
-}
-
-.nav .active .dropdown-toggle .caret {
- border-top-color: #fff;
- border-bottom-color: #fff;
-}
-
-.nav-tabs .active .dropdown-toggle .caret {
- border-top-color: #555555;
- border-bottom-color: #555555;
-}
-
-.nav > .dropdown.active > a:hover,
-.nav > .dropdown.active > a:focus {
- cursor: pointer;
-}
-
-.nav-tabs .open .dropdown-toggle,
-.nav-pills .open .dropdown-toggle,
-.nav > li.dropdown.open.active > a:hover,
-.nav > li.dropdown.open.active > a:focus {
- color: #ffffff;
- background-color: #999999;
- border-color: #999999;
-}
-
-.nav li.dropdown.open .caret,
-.nav li.dropdown.open.active .caret,
-.nav li.dropdown.open a:hover .caret,
-.nav li.dropdown.open a:focus .caret {
- border-top-color: #ffffff;
- border-bottom-color: #ffffff;
- opacity: 1;
- filter: alpha(opacity=100);
-}
-
-.tabs-stacked .open > a:hover,
-.tabs-stacked .open > a:focus {
- border-color: #999999;
-}
-
-.tabbable {
- *zoom: 1;
-}
-
-.tabbable:before,
-.tabbable:after {
- display: table;
- line-height: 0;
- content: "";
-}
-
-.tabbable:after {
- clear: both;
-}
-
-.tab-content {
- overflow: auto;
-}
-
-.tabs-below > .nav-tabs,
-.tabs-right > .nav-tabs,
-.tabs-left > .nav-tabs {
- border-bottom: 0;
-}
-
-.tab-content > .tab-pane,
-.pill-content > .pill-pane {
- display: none;
-}
-
-.tab-content > .active,
-.pill-content > .active {
- display: block;
-}
-
-.tabs-below > .nav-tabs {
- border-top: 1px solid #ddd;
-}
-
-.tabs-below > .nav-tabs > li {
- margin-top: -1px;
- margin-bottom: 0;
-}
-
-.tabs-below > .nav-tabs > li > a {
- -webkit-border-radius: 0 0 4px 4px;
- -moz-border-radius: 0 0 4px 4px;
- border-radius: 0 0 4px 4px;
-}
-
-.tabs-below > .nav-tabs > li > a:hover,
-.tabs-below > .nav-tabs > li > a:focus {
- border-top-color: #ddd;
- border-bottom-color: transparent;
-}
-
-.tabs-below > .nav-tabs > .active > a,
-.tabs-below > .nav-tabs > .active > a:hover,
-.tabs-below > .nav-tabs > .active > a:focus {
- border-color: transparent #ddd #ddd #ddd;
-}
-
-.tabs-left > .nav-tabs > li,
-.tabs-right > .nav-tabs > li {
- float: none;
-}
-
-.tabs-left > .nav-tabs > li > a,
-.tabs-right > .nav-tabs > li > a {
- min-width: 74px;
- margin-right: 0;
- margin-bottom: 3px;
-}
-
-.tabs-left > .nav-tabs {
- float: left;
- margin-right: 19px;
- border-right: 1px solid #ddd;
-}
-
-.tabs-left > .nav-tabs > li > a {
- margin-right: -1px;
- -webkit-border-radius: 4px 0 0 4px;
- -moz-border-radius: 4px 0 0 4px;
- border-radius: 4px 0 0 4px;
-}
-
-.tabs-left > .nav-tabs > li > a:hover,
-.tabs-left > .nav-tabs > li > a:focus {
- border-color: #eeeeee #dddddd #eeeeee #eeeeee;
-}
-
-.tabs-left > .nav-tabs .active > a,
-.tabs-left > .nav-tabs .active > a:hover,
-.tabs-left > .nav-tabs .active > a:focus {
- border-color: #ddd transparent #ddd #ddd;
- *border-right-color: #ffffff;
-}
-
-.tabs-right > .nav-tabs {
- float: right;
- margin-left: 19px;
- border-left: 1px solid #ddd;
-}
-
-.tabs-right > .nav-tabs > li > a {
- margin-left: -1px;
- -webkit-border-radius: 0 4px 4px 0;
- -moz-border-radius: 0 4px 4px 0;
- border-radius: 0 4px 4px 0;
-}
-
-.tabs-right > .nav-tabs > li > a:hover,
-.tabs-right > .nav-tabs > li > a:focus {
- border-color: #eeeeee #eeeeee #eeeeee #dddddd;
-}
-
-.tabs-right > .nav-tabs .active > a,
-.tabs-right > .nav-tabs .active > a:hover,
-.tabs-right > .nav-tabs .active > a:focus {
- border-color: #ddd #ddd #ddd transparent;
- *border-left-color: #ffffff;
-}
-
-.nav > .disabled > a {
- color: #999999;
-}
-
-.nav > .disabled > a:hover,
-.nav > .disabled > a:focus {
- text-decoration: none;
- cursor: default;
- background-color: transparent;
-}
-
-.navbar {
- *position: relative;
- *z-index: 2;
- margin-bottom: 20px;
- overflow: visible;
-}
-
-.navbar-inner {
- min-height: 40px;
- padding-right: 20px;
- padding-left: 20px;
- background-color: #fafafa;
- background-image: -moz-linear-gradient(top, #ffffff, #f2f2f2);
- background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#f2f2f2));
- background-image: -webkit-linear-gradient(top, #ffffff, #f2f2f2);
- background-image: -o-linear-gradient(top, #ffffff, #f2f2f2);
- background-image: linear-gradient(to bottom, #ffffff, #f2f2f2);
- background-repeat: repeat-x;
- border: 1px solid #d4d4d4;
- -webkit-border-radius: 4px;
- -moz-border-radius: 4px;
- border-radius: 4px;
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff2f2f2', GradientType=0);
- *zoom: 1;
- -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.065);
- -moz-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.065);
- box-shadow: 0 1px 4px rgba(0, 0, 0, 0.065);
-}
-
-.navbar-inner:before,
-.navbar-inner:after {
- display: table;
- line-height: 0;
- content: "";
-}
-
-.navbar-inner:after {
- clear: both;
-}
-
-.navbar .container {
- width: auto;
-}
-
-.nav-collapse.collapse {
- height: auto;
- overflow: visible;
-}
-
-.navbar .brand {
- display: block;
- float: left;
- padding: 10px 20px 10px;
- margin-left: -20px;
- font-size: 20px;
- font-weight: 200;
- color: #777777;
- text-shadow: 0 1px 0 #ffffff;
-

<TRUNCATED>
a***@apache.org
2017-12-21 04:52:45 UTC
Permalink
http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/oldsite/css/bootstrap.min.css
----------------------------------------------------------------------
diff --git a/website-old/oldsite/css/bootstrap.min.css b/website-old/oldsite/css/bootstrap.min.css
deleted file mode 100644
index 6f91491..0000000
--- a/website-old/oldsite/css/bootstrap.min.css
+++ /dev/null
@@ -1,9 +0,0 @@
-/*!
- * Bootstrap v2.3.1
- *
- * Copyright 2012 Twitter, Inc
- * Licensed under the Apache License v2.0
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Designed and built with all the love in the world @twitter by @mdo and @fat.
- */.clearfix{*zoom:1}.clearfix:before,.clearfix:after{display:table;line-height:0;content:""}.clearfix:after{clear:both}.hide-text{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.input-block-level{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}article,aside,details,figcaption,figure,footer,header,hgroup,nav,section{display:block}audio,canvas,video{display:inline-block;*display:inline;*zoom:1}audio:not([controls]){display:none}html{font-size:100%;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}a:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}a:hover,a:active{outline:0}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{width:auto\9;height:auto;max-width:100%;vertical-align:middle;border:0;-ms-interpolation-mode:bicubic}#map_canvas img,.google-maps img{max-widt
h:none}button,input,select,textarea{margin:0;font-size:100%;vertical-align:middle}button,input{*overflow:visible;line-height:normal}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}button,html input[type="button"],input[type="reset"],input[type="submit"]{cursor:pointer;-webkit-appearance:button}label,select,button,input[type="button"],input[type="reset"],input[type="submit"],input[type="radio"],input[type="checkbox"]{cursor:pointer}input[type="search"]{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield}input[type="search"]::-webkit-search-decoration,input[type="search"]::-webkit-search-cancel-button{-webkit-appearance:none}textarea{overflow:auto;vertical-align:top}@media print{*{color:#000!important;text-shadow:none!important;background:transparent!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title)
")"}.ir a:after,a[href^="javascript:"]:after,a[href^="#"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100%!important}@page{margin:.5cm}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}}body{margin:0;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:20px;color:#333;background-color:#fff}a{color:#08c;text-decoration:none}a:hover,a:focus{color:#005580;text-decoration:underline}.img-rounded{-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.img-polaroid{padding:4px;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.2);-webkit-box-shadow:0 1px 3px rgba(0,0,0,0.1);-moz-box-shadow:0 1px 3px rgba(0,0,0,0.1);box-shadow:0 1px 3px rgba(0,0,0,0.1)}.img-circle{-webkit-border-radius:500px;-moz-border-radius:500px;border-radius:500px}.row{margin-left:-20px;*zoom:1}.row:before,.row:after{display:table;line-hei
ght:0;content:""}.row:after{clear:both}[class*="span"]{float:left;min-height:1px;margin-left:20px}.container,.navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:940px}.span12{width:940px}.span11{width:860px}.span10{width:780px}.span9{width:700px}.span8{width:620px}.span7{width:540px}.span6{width:460px}.span5{width:380px}.span4{width:300px}.span3{width:220px}.span2{width:140px}.span1{width:60px}.offset12{margin-left:980px}.offset11{margin-left:900px}.offset10{margin-left:820px}.offset9{margin-left:740px}.offset8{margin-left:660px}.offset7{margin-left:580px}.offset6{margin-left:500px}.offset5{margin-left:420px}.offset4{margin-left:340px}.offset3{margin-left:260px}.offset2{margin-left:180px}.offset1{margin-left:100px}.row-fluid{width:100%;*zoom:1}.row-fluid:before,.row-fluid:after{display:table;line-height:0;content:""}.row-fluid:after{clear:both}.row-fluid [class*="span"]{display:block;float:left;width:100%;min-height:30px;margin-left:2.127
659574468085%;*margin-left:2.074468085106383%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.row-fluid [class*="span"]:first-child{margin-left:0}.row-fluid .controls-row [class*="span"]+[class*="span"]{margin-left:2.127659574468085%}.row-fluid .span12{width:100%;*width:99.94680851063829%}.row-fluid .span11{width:91.48936170212765%;*width:91.43617021276594%}.row-fluid .span10{width:82.97872340425532%;*width:82.92553191489361%}.row-fluid .span9{width:74.46808510638297%;*width:74.41489361702126%}.row-fluid .span8{width:65.95744680851064%;*width:65.90425531914893%}.row-fluid .span7{width:57.44680851063829%;*width:57.39361702127659%}.row-fluid .span6{width:48.93617021276595%;*width:48.88297872340425%}.row-fluid .span5{width:40.42553191489362%;*width:40.37234042553192%}.row-fluid .span4{width:31.914893617021278%;*width:31.861702127659576%}.row-fluid .span3{width:23.404255319148934%;*width:23.351063829787233%}.row-fluid .span2{width:14.893617021276595%;*wid
th:14.840425531914894%}.row-fluid .span1{width:6.382978723404255%;*width:6.329787234042553%}.row-fluid .offset12{margin-left:104.25531914893617%;*margin-left:104.14893617021275%}.row-fluid .offset12:first-child{margin-left:102.12765957446808%;*margin-left:102.02127659574467%}.row-fluid .offset11{margin-left:95.74468085106382%;*margin-left:95.6382978723404%}.row-fluid .offset11:first-child{margin-left:93.61702127659574%;*margin-left:93.51063829787232%}.row-fluid .offset10{margin-left:87.23404255319149%;*margin-left:87.12765957446807%}.row-fluid .offset10:first-child{margin-left:85.1063829787234%;*margin-left:84.99999999999999%}.row-fluid .offset9{margin-left:78.72340425531914%;*margin-left:78.61702127659572%}.row-fluid .offset9:first-child{margin-left:76.59574468085106%;*margin-left:76.48936170212764%}.row-fluid .offset8{margin-left:70.2127659574468%;*margin-left:70.10638297872339%}.row-fluid .offset8:first-child{margin-left:68.08510638297872%;*margin-left:67.9787234042553%}.row-flui
d .offset7{margin-left:61.70212765957446%;*margin-left:61.59574468085106%}.row-fluid .offset7:first-child{margin-left:59.574468085106375%;*margin-left:59.46808510638297%}.row-fluid .offset6{margin-left:53.191489361702125%;*margin-left:53.085106382978715%}.row-fluid .offset6:first-child{margin-left:51.063829787234035%;*margin-left:50.95744680851063%}.row-fluid .offset5{margin-left:44.68085106382979%;*margin-left:44.57446808510638%}.row-fluid .offset5:first-child{margin-left:42.5531914893617%;*margin-left:42.4468085106383%}.row-fluid .offset4{margin-left:36.170212765957444%;*margin-left:36.06382978723405%}.row-fluid .offset4:first-child{margin-left:34.04255319148936%;*margin-left:33.93617021276596%}.row-fluid .offset3{margin-left:27.659574468085104%;*margin-left:27.5531914893617%}.row-fluid .offset3:first-child{margin-left:25.53191489361702%;*margin-left:25.425531914893618%}.row-fluid .offset2{margin-left:19.148936170212764%;*margin-left:19.04255319148936%}.row-fluid .offset2:first-ch
ild{margin-left:17.02127659574468%;*margin-left:16.914893617021278%}.row-fluid .offset1{margin-left:10.638297872340425%;*margin-left:10.53191489361702%}.row-fluid .offset1:first-child{margin-left:8.51063829787234%;*margin-left:8.404255319148938%}[class*="span"].hide,.row-fluid [class*="span"].hide{display:none}[class*="span"].pull-right,.row-fluid [class*="span"].pull-right{float:right}.container{margin-right:auto;margin-left:auto;*zoom:1}.container:before,.container:after{display:table;line-height:0;content:""}.container:after{clear:both}.container-fluid{padding-right:20px;padding-left:20px;*zoom:1}.container-fluid:before,.container-fluid:after{display:table;line-height:0;content:""}.container-fluid:after{clear:both}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:21px;font-weight:200;line-height:30px}small{font-size:85%}strong{font-weight:bold}em{font-style:italic}cite{font-style:normal}.muted{color:#999}a.muted:hover,a.muted:focus{color:#808080}.text-warning{color:#c09853}a.t
ext-warning:hover,a.text-warning:focus{color:#a47e3c}.text-error{color:#b94a48}a.text-error:hover,a.text-error:focus{color:#953b39}.text-info{color:#3a87ad}a.text-info:hover,a.text-info:focus{color:#2d6987}.text-success{color:#468847}a.text-success:hover,a.text-success:focus{color:#356635}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}h1,h2,h3,h4,h5,h6{margin:10px 0;font-family:inherit;font-weight:bold;line-height:20px;color:inherit;text-rendering:optimizelegibility}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small{font-weight:normal;line-height:1;color:#999}h1,h2,h3{line-height:40px}h1{font-size:38.5px}h2{font-size:31.5px}h3{font-size:24.5px}h4{font-size:17.5px}h5{font-size:14px}h6{font-size:11.9px}h1 small{font-size:24.5px}h2 small{font-size:17.5px}h3 small{font-size:14px}h4 small{font-size:14px}.page-header{padding-bottom:9px;margin:20px 0 30px;border-bottom:1px solid #eee}ul,ol{padding:0;margin:0 0 10px 25px}ul ul,ul ol,ol ol,ol ul{mar
gin-bottom:0}li{line-height:20px}ul.unstyled,ol.unstyled{margin-left:0;list-style:none}ul.inline,ol.inline{margin-left:0;list-style:none}ul.inline>li,ol.inline>li{display:inline-block;*display:inline;padding-right:5px;padding-left:5px;*zoom:1}dl{margin-bottom:20px}dt,dd{line-height:20px}dt{font-weight:bold}dd{margin-left:10px}.dl-horizontal{*zoom:1}.dl-horizontal:before,.dl-horizontal:after{display:table;line-height:0;content:""}.dl-horizontal:after{clear:both}.dl-horizontal dt{float:left;width:160px;overflow:hidden;clear:left;text-align:right;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}hr{margin:20px 0;border:0;border-top:1px solid #eee;border-bottom:1px solid #fff}abbr[title],abbr[data-original-title]{cursor:help;border-bottom:1px dotted #999}abbr.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:0 0 0 15px;margin:0 0 20px;border-left:5px solid #eee}blockquote p{margin-bottom:0;font-size:17.5px;font-weight:300;line-height:1.25}b
lockquote small{display:block;line-height:20px;color:#999}blockquote small:before{content:'\2014 \00A0'}blockquote.pull-right{float:right;padding-right:15px;padding-left:0;border-right:5px solid #eee;border-left:0}blockquote.pull-right p,blockquote.pull-right small{text-align:right}blockquote.pull-right small:before{content:''}blockquote.pull-right small:after{content:'\00A0 \2014'}q:before,q:after,blockquote:before,blockquote:after{content:""}address{display:block;margin-bottom:20px;font-style:normal;line-height:20px}code,pre{padding:0 3px 2px;font-family:Monaco,Menlo,Consolas,"Courier New",monospace;font-size:12px;color:#333;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:20px;word-break:break-all;word-wrap:break-word;white-space:pre;white-space:pre-wrap;background-color:#f5f5f5;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.15);-webkit-border-radius:4px;-moz-border-radius:4px;border
-radius:4px}pre.prettyprint{margin-bottom:20px}pre code{padding:0;color:inherit;white-space:pre;white-space:pre-wrap;background-color:transparent;border:0}.pre-scrollable{max-height:340px;overflow-y:scroll}form{margin:0 0 20px}fieldset{padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:40px;color:#333;border:0;border-bottom:1px solid #e5e5e5}legend small{font-size:15px;color:#999}label,input,button,select,textarea{font-size:14px;font-weight:normal;line-height:20px}input,button,select,textarea{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif}label{display:block;margin-bottom:5px}select,textarea,input[type="text"],input[type="password"],input[type="datetime"],input[type="datetime-local"],input[type="date"],input[type="month"],input[type="time"],input[type="week"],input[type="number"],input[type="email"],input[type="url"],input[type="search"],input[type="tel"],input[type="color"],.uneditable-input{display:inline-bl
ock;height:20px;padding:4px 6px;margin-bottom:10px;font-size:14px;line-height:20px;color:#555;vertical-align:middle;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}input,textarea,.uneditable-input{width:206px}textarea{height:auto}textarea,input[type="text"],input[type="password"],input[type="datetime"],input[type="datetime-local"],input[type="date"],input[type="month"],input[type="time"],input[type="week"],input[type="number"],input[type="email"],input[type="url"],input[type="search"],input[type="tel"],input[type="color"],.uneditable-input{background-color:#fff;border:1px solid #ccc;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-webkit-transition:border linear .2s,box-shadow linear .2s;-moz-transition:border linear .2s,box-shadow linear .2s;-o-transition:border linear .2s,box-shadow linear .2s;transition:border linear .2s,box-shadow linear .2s}textarea:focus,input
[type="text"]:focus,input[type="password"]:focus,input[type="datetime"]:focus,input[type="datetime-local"]:focus,input[type="date"]:focus,input[type="month"]:focus,input[type="time"]:focus,input[type="week"]:focus,input[type="number"]:focus,input[type="email"]:focus,input[type="url"]:focus,input[type="search"]:focus,input[type="tel"]:focus,input[type="color"]:focus,.uneditable-input:focus{border-color:rgba(82,168,236,0.8);outline:0;outline:thin dotted \9;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(82,168,236,0.6);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(82,168,236,0.6);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(82,168,236,0.6)}input[type="radio"],input[type="checkbox"]{margin:4px 0 0;margin-top:1px \9;*margin-top:0;line-height:normal}input[type="file"],input[type="image"],input[type="submit"],input[type="reset"],input[type="button"],input[type="radio"],input[type="checkbox"]{width:auto}select,input[type="file"]{height:30px;*
margin-top:4px;line-height:30px}select{width:220px;background-color:#fff;border:1px solid #ccc}select[multiple],select[size]{height:auto}select:focus,input[type="file"]:focus,input[type="radio"]:focus,input[type="checkbox"]:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.uneditable-input,.uneditable-textarea{color:#999;cursor:not-allowed;background-color:#fcfcfc;border-color:#ccc;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.025);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,0.025);box-shadow:inset 0 1px 2px rgba(0,0,0,0.025)}.uneditable-input{overflow:hidden;white-space:nowrap}.uneditable-textarea{width:auto;height:auto}input:-moz-placeholder,textarea:-moz-placeholder{color:#999}input:-ms-input-placeholder,textarea:-ms-input-placeholder{color:#999}input::-webkit-input-placeholder,textarea::-webkit-input-placeholder{color:#999}.radio,.checkbox{min-height:20px;padding-left:20px}.radio input[type="radio"],.checkbox input[type="checkbox"]{fl
oat:left;margin-left:-20px}.controls>.radio:first-child,.controls>.checkbox:first-child{padding-top:5px}.radio.inline,.checkbox.inline{display:inline-block;padding-top:5px;margin-bottom:0;vertical-align:middle}.radio.inline+.radio.inline,.checkbox.inline+.checkbox.inline{margin-left:10px}.input-mini{width:60px}.input-small{width:90px}.input-medium{width:150px}.input-large{width:210px}.input-xlarge{width:270px}.input-xxlarge{width:530px}input[class*="span"],select[class*="span"],textarea[class*="span"],.uneditable-input[class*="span"],.row-fluid input[class*="span"],.row-fluid select[class*="span"],.row-fluid textarea[class*="span"],.row-fluid .uneditable-input[class*="span"]{float:none;margin-left:0}.input-append input[class*="span"],.input-append .uneditable-input[class*="span"],.input-prepend input[class*="span"],.input-prepend .uneditable-input[class*="span"],.row-fluid input[class*="span"],.row-fluid select[class*="span"],.row-fluid textarea[class*="span"],.row-fluid .uneditable
-input[class*="span"],.row-fluid .input-prepend [class*="span"],.row-fluid .input-append [class*="span"]{display:inline-block}input,textarea,.uneditable-input{margin-left:0}.controls-row [class*="span"]+[class*="span"]{margin-left:20px}input.span12,textarea.span12,.uneditable-input.span12{width:926px}input.span11,textarea.span11,.uneditable-input.span11{width:846px}input.span10,textarea.span10,.uneditable-input.span10{width:766px}input.span9,textarea.span9,.uneditable-input.span9{width:686px}input.span8,textarea.span8,.uneditable-input.span8{width:606px}input.span7,textarea.span7,.uneditable-input.span7{width:526px}input.span6,textarea.span6,.uneditable-input.span6{width:446px}input.span5,textarea.span5,.uneditable-input.span5{width:366px}input.span4,textarea.span4,.uneditable-input.span4{width:286px}input.span3,textarea.span3,.uneditable-input.span3{width:206px}input.span2,textarea.span2,.uneditable-input.span2{width:126px}input.span1,textarea.span1,.uneditable-input.span1{width:46
px}.controls-row{*zoom:1}.controls-row:before,.controls-row:after{display:table;line-height:0;content:""}.controls-row:after{clear:both}.controls-row [class*="span"],.row-fluid .controls-row [class*="span"]{float:left}.controls-row .checkbox[class*="span"],.controls-row .radio[class*="span"]{padding-top:5px}input[disabled],select[disabled],textarea[disabled],input[readonly],select[readonly],textarea[readonly]{cursor:not-allowed;background-color:#eee}input[type="radio"][disabled],input[type="checkbox"][disabled],input[type="radio"][readonly],input[type="checkbox"][readonly]{background-color:transparent}.control-group.warning .control-label,.control-group.warning .help-block,.control-group.warning .help-inline{color:#c09853}.control-group.warning .checkbox,.control-group.warning .radio,.control-group.warning input,.control-group.warning select,.control-group.warning textarea{color:#c09853}.control-group.warning input,.control-group.warning select,.control-group.warning textarea{border
-color:#c09853;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.control-group.warning input:focus,.control-group.warning select:focus,.control-group.warning textarea:focus{border-color:#a47e3c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #dbc59e;-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #dbc59e;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #dbc59e}.control-group.warning .input-prepend .add-on,.control-group.warning .input-append .add-on{color:#c09853;background-color:#fcf8e3;border-color:#c09853}.control-group.error .control-label,.control-group.error .help-block,.control-group.error .help-inline{color:#b94a48}.control-group.error .checkbox,.control-group.error .radio,.control-group.error input,.control-group.error select,.control-group.error textarea{color:#b94a48}.control-group.error input,.control-group.error select,.control-group.error textar
ea{border-color:#b94a48;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.control-group.error input:focus,.control-group.error select:focus,.control-group.error textarea:focus{border-color:#953b39;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #d59392;-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #d59392;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #d59392}.control-group.error .input-prepend .add-on,.control-group.error .input-append .add-on{color:#b94a48;background-color:#f2dede;border-color:#b94a48}.control-group.success .control-label,.control-group.success .help-block,.control-group.success .help-inline{color:#468847}.control-group.success .checkbox,.control-group.success .radio,.control-group.success input,.control-group.success select,.control-group.success textarea{color:#468847}.control-group.success input,.control-group.success select,.control
-group.success textarea{border-color:#468847;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.control-group.success input:focus,.control-group.success select:focus,.control-group.success textarea:focus{border-color:#356635;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7aba7b;-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7aba7b;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7aba7b}.control-group.success .input-prepend .add-on,.control-group.success .input-append .add-on{color:#468847;background-color:#dff0d8;border-color:#468847}.control-group.info .control-label,.control-group.info .help-block,.control-group.info .help-inline{color:#3a87ad}.control-group.info .checkbox,.control-group.info .radio,.control-group.info input,.control-group.info select,.control-group.info textarea{color:#3a87ad}.control-group.info input,.control-group.info select,.contro
l-group.info textarea{border-color:#3a87ad;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.control-group.info input:focus,.control-group.info select:focus,.control-group.info textarea:focus{border-color:#2d6987;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7ab5d3;-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7ab5d3;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7ab5d3}.control-group.info .input-prepend .add-on,.control-group.info .input-append .add-on{color:#3a87ad;background-color:#d9edf7;border-color:#3a87ad}input:focus:invalid,textarea:focus:invalid,select:focus:invalid{color:#b94a48;border-color:#ee5f5b}input:focus:invalid:focus,textarea:focus:invalid:focus,select:focus:invalid:focus{border-color:#e9322d;-webkit-box-shadow:0 0 6px #f8b9b7;-moz-box-shadow:0 0 6px #f8b9b7;box-shadow:0 0 6px #f8b9b7}.form-actions{padding:19px 20px 20px;margin-top:
20px;margin-bottom:20px;background-color:#f5f5f5;border-top:1px solid #e5e5e5;*zoom:1}.form-actions:before,.form-actions:after{display:table;line-height:0;content:""}.form-actions:after{clear:both}.help-block,.help-inline{color:#595959}.help-block{display:block;margin-bottom:10px}.help-inline{display:inline-block;*display:inline;padding-left:5px;vertical-align:middle;*zoom:1}.input-append,.input-prepend{display:inline-block;margin-bottom:10px;font-size:0;white-space:nowrap;vertical-align:middle}.input-append input,.input-prepend input,.input-append select,.input-prepend select,.input-append .uneditable-input,.input-prepend .uneditable-input,.input-append .dropdown-menu,.input-prepend .dropdown-menu,.input-append .popover,.input-prepend .popover{font-size:14px}.input-append input,.input-prepend input,.input-append select,.input-prepend select,.input-append .uneditable-input,.input-prepend .uneditable-input{position:relative;margin-bottom:0;*margin-left:0;vertical-align:top;-webkit-bo
rder-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.input-append input:focus,.input-prepend input:focus,.input-append select:focus,.input-prepend select:focus,.input-append .uneditable-input:focus,.input-prepend .uneditable-input:focus{z-index:2}.input-append .add-on,.input-prepend .add-on{display:inline-block;width:auto;height:20px;min-width:16px;padding:4px 5px;font-size:14px;font-weight:normal;line-height:20px;text-align:center;text-shadow:0 1px 0 #fff;background-color:#eee;border:1px solid #ccc}.input-append .add-on,.input-prepend .add-on,.input-append .btn,.input-prepend .btn,.input-append .btn-group>.dropdown-toggle,.input-prepend .btn-group>.dropdown-toggle{vertical-align:top;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.input-append .active,.input-prepend .active{background-color:#a9dba9;border-color:#46a546}.input-prepend .add-on,.input-prepend .btn{margin-right:-1px}.input-prepend .add-on:first-child,.input-prepend .btn:first-c
hild{-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px}.input-append input,.input-append select,.input-append .uneditable-input{-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px}.input-append input+.btn-group .btn:last-child,.input-append select+.btn-group .btn:last-child,.input-append .uneditable-input+.btn-group .btn:last-child{-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.input-append .add-on,.input-append .btn,.input-append .btn-group{margin-left:-1px}.input-append .add-on:last-child,.input-append .btn:last-child,.input-append .btn-group:last-child>.dropdown-toggle{-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.input-prepend.input-append input,.input-prepend.input-append select,.input-prepend.input-append .uneditable-input{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.input-prepend.input-appen
d input+.btn-group .btn,.input-prepend.input-append select+.btn-group .btn,.input-prepend.input-append .uneditable-input+.btn-group .btn{-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.input-prepend.input-append .add-on:first-child,.input-prepend.input-append .btn:first-child{margin-right:-1px;-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px}.input-prepend.input-append .add-on:last-child,.input-prepend.input-append .btn:last-child{margin-left:-1px;-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.input-prepend.input-append .btn-group:first-child{margin-left:0}input.search-query{padding-right:14px;padding-right:4px \9;padding-left:14px;padding-left:4px \9;margin-bottom:0;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px}.form-search .input-append .search-query,.form-search .input-prepend .search-query{-webkit-border-radius:0;-moz-border-r
adius:0;border-radius:0}.form-search .input-append .search-query{-webkit-border-radius:14px 0 0 14px;-moz-border-radius:14px 0 0 14px;border-radius:14px 0 0 14px}.form-search .input-append .btn{-webkit-border-radius:0 14px 14px 0;-moz-border-radius:0 14px 14px 0;border-radius:0 14px 14px 0}.form-search .input-prepend .search-query{-webkit-border-radius:0 14px 14px 0;-moz-border-radius:0 14px 14px 0;border-radius:0 14px 14px 0}.form-search .input-prepend .btn{-webkit-border-radius:14px 0 0 14px;-moz-border-radius:14px 0 0 14px;border-radius:14px 0 0 14px}.form-search input,.form-inline input,.form-horizontal input,.form-search textarea,.form-inline textarea,.form-horizontal textarea,.form-search select,.form-inline select,.form-horizontal select,.form-search .help-inline,.form-inline .help-inline,.form-horizontal .help-inline,.form-search .uneditable-input,.form-inline .uneditable-input,.form-horizontal .uneditable-input,.form-search .input-prepend,.form-inline .input-prepend,.form-h
orizontal .input-prepend,.form-search .input-append,.form-inline .input-append,.form-horizontal .input-append{display:inline-block;*display:inline;margin-bottom:0;vertical-align:middle;*zoom:1}.form-search .hide,.form-inline .hide,.form-horizontal .hide{display:none}.form-search label,.form-inline label,.form-search .btn-group,.form-inline .btn-group{display:inline-block}.form-search .input-append,.form-inline .input-append,.form-search .input-prepend,.form-inline .input-prepend{margin-bottom:0}.form-search .radio,.form-search .checkbox,.form-inline .radio,.form-inline .checkbox{padding-left:0;margin-bottom:0;vertical-align:middle}.form-search .radio input[type="radio"],.form-search .checkbox input[type="checkbox"],.form-inline .radio input[type="radio"],.form-inline .checkbox input[type="checkbox"]{float:left;margin-right:3px;margin-left:0}.control-group{margin-bottom:10px}legend+.control-group{margin-top:20px;-webkit-margin-top-collapse:separate}.form-horizontal .control-group{mar
gin-bottom:20px;*zoom:1}.form-horizontal .control-group:before,.form-horizontal .control-group:after{display:table;line-height:0;content:""}.form-horizontal .control-group:after{clear:both}.form-horizontal .control-label{float:left;width:160px;padding-top:5px;text-align:right}.form-horizontal .controls{*display:inline-block;*padding-left:20px;margin-left:180px;*margin-left:0}.form-horizontal .controls:first-child{*padding-left:180px}.form-horizontal .help-block{margin-bottom:0}.form-horizontal input+.help-block,.form-horizontal select+.help-block,.form-horizontal textarea+.help-block,.form-horizontal .uneditable-input+.help-block,.form-horizontal .input-prepend+.help-block,.form-horizontal .input-append+.help-block{margin-top:10px}.form-horizontal .form-actions{padding-left:180px}table{max-width:100%;background-color:transparent;border-collapse:collapse;border-spacing:0}.table{width:100%;margin-bottom:20px}.table th,.table td{padding:8px;line-height:20px;text-align:left;vertical-ali
gn:top;border-top:1px solid #ddd}.table th{font-weight:bold}.table thead th{vertical-align:bottom}.table caption+thead tr:first-child th,.table caption+thead tr:first-child td,.table colgroup+thead tr:first-child th,.table colgroup+thead tr:first-child td,.table thead:first-child tr:first-child th,.table thead:first-child tr:first-child td{border-top:0}.table tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed th,.table-condensed td{padding:4px 5px}.table-bordered{border:1px solid #ddd;border-collapse:separate;*border-collapse:collapse;border-left:0;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.table-bordered th,.table-bordered td{border-left:1px solid #ddd}.table-bordered caption+thead tr:first-child th,.table-bordered caption+tbody tr:first-child th,.table-bordered caption+tbody tr:first-child td,.table-bordered colgroup+thead tr:first-child th,.table-bordered colgroup+tbody tr:first-child th,.table-bordered colgroup+tbo
dy tr:first-child td,.table-bordered thead:first-child tr:first-child th,.table-bordered tbody:first-child tr:first-child th,.table-bordered tbody:first-child tr:first-child td{border-top:0}.table-bordered thead:first-child tr:first-child>th:first-child,.table-bordered tbody:first-child tr:first-child>td:first-child,.table-bordered tbody:first-child tr:first-child>th:first-child{-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-topleft:4px}.table-bordered thead:first-child tr:first-child>th:last-child,.table-bordered tbody:first-child tr:first-child>td:last-child,.table-bordered tbody:first-child tr:first-child>th:last-child{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-moz-border-radius-topright:4px}.table-bordered thead:last-child tr:last-child>th:first-child,.table-bordered tbody:last-child tr:last-child>td:first-child,.table-bordered tbody:last-child tr:last-child>th:first-child,.table-bordered tfoot:last-child tr:last-child>td:f
irst-child,.table-bordered tfoot:last-child tr:last-child>th:first-child{-webkit-border-bottom-left-radius:4px;border-bottom-left-radius:4px;-moz-border-radius-bottomleft:4px}.table-bordered thead:last-child tr:last-child>th:last-child,.table-bordered tbody:last-child tr:last-child>td:last-child,.table-bordered tbody:last-child tr:last-child>th:last-child,.table-bordered tfoot:last-child tr:last-child>td:last-child,.table-bordered tfoot:last-child tr:last-child>th:last-child{-webkit-border-bottom-right-radius:4px;border-bottom-right-radius:4px;-moz-border-radius-bottomright:4px}.table-bordered tfoot+tbody:last-child tr:last-child td:first-child{-webkit-border-bottom-left-radius:0;border-bottom-left-radius:0;-moz-border-radius-bottomleft:0}.table-bordered tfoot+tbody:last-child tr:last-child td:last-child{-webkit-border-bottom-right-radius:0;border-bottom-right-radius:0;-moz-border-radius-bottomright:0}.table-bordered caption+thead tr:first-child th:first-child,.table-bordered captio
n+tbody tr:first-child td:first-child,.table-bordered colgroup+thead tr:first-child th:first-child,.table-bordered colgroup+tbody tr:first-child td:first-child{-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-topleft:4px}.table-bordered caption+thead tr:first-child th:last-child,.table-bordered caption+tbody tr:first-child td:last-child,.table-bordered colgroup+thead tr:first-child th:last-child,.table-bordered colgroup+tbody tr:first-child td:last-child{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-moz-border-radius-topright:4px}.table-striped tbody>tr:nth-child(odd)>td,.table-striped tbody>tr:nth-child(odd)>th{background-color:#f9f9f9}.table-hover tbody tr:hover>td,.table-hover tbody tr:hover>th{background-color:#f5f5f5}table td[class*="span"],table th[class*="span"],.row-fluid table td[class*="span"],.row-fluid table th[class*="span"]{display:table-cell;float:none;margin-left:0}.table td.span1,.table th.span1{float:none;width:44p
x;margin-left:0}.table td.span2,.table th.span2{float:none;width:124px;margin-left:0}.table td.span3,.table th.span3{float:none;width:204px;margin-left:0}.table td.span4,.table th.span4{float:none;width:284px;margin-left:0}.table td.span5,.table th.span5{float:none;width:364px;margin-left:0}.table td.span6,.table th.span6{float:none;width:444px;margin-left:0}.table td.span7,.table th.span7{float:none;width:524px;margin-left:0}.table td.span8,.table th.span8{float:none;width:604px;margin-left:0}.table td.span9,.table th.span9{float:none;width:684px;margin-left:0}.table td.span10,.table th.span10{float:none;width:764px;margin-left:0}.table td.span11,.table th.span11{float:none;width:844px;margin-left:0}.table td.span12,.table th.span12{float:none;width:924px;margin-left:0}.table tbody tr.success>td{background-color:#dff0d8}.table tbody tr.error>td{background-color:#f2dede}.table tbody tr.warning>td{background-color:#fcf8e3}.table tbody tr.info>td{background-color:#d9edf7}.table-hover
tbody tr.success:hover>td{background-color:#d0e9c6}.table-hover tbody tr.error:hover>td{background-color:#ebcccc}.table-hover tbody tr.warning:hover>td{background-color:#faf2cc}.table-hover tbody tr.info:hover>td{background-color:#c4e3f3}[class^="icon-"],[class*=" icon-"]{display:inline-block;width:14px;height:14px;margin-top:1px;*margin-right:.3em;line-height:14px;vertical-align:text-top;background-image:url("../img/glyphicons-halflings.png");background-position:14px 14px;background-repeat:no-repeat}.icon-white,.nav-pills>.active>a>[class^="icon-"],.nav-pills>.active>a>[class*=" icon-"],.nav-list>.active>a>[class^="icon-"],.nav-list>.active>a>[class*=" icon-"],.navbar-inverse .nav>.active>a>[class^="icon-"],.navbar-inverse .nav>.active>a>[class*=" icon-"],.dropdown-menu>li>a:hover>[class^="icon-"],.dropdown-menu>li>a:focus>[class^="icon-"],.dropdown-menu>li>a:hover>[class*=" icon-"],.dropdown-menu>li>a:focus>[class*=" icon-"],.dropdown-menu>.active>a>[class^="icon-"],.dropdown-menu
.active>a>[class*=" icon-"],.dropdown-submenu:hover>a>[class^="icon-"],.dropdown-submenu:focus>a>[class^="icon-"],.dropdown-submenu:hover>a>[class*=" icon-"],.dropdown-submenu:focus>a>[class*=" icon-"]{background-image:url("../img/glyphicons-halflings-white.png")}.icon-glass{background-position:0 0}.icon-music{background-position:-24px 0}.icon-search{background-position:-48px 0}.icon-envelope{background-position:-72px 0}.icon-heart{background-position:-96px 0}.icon-star{background-position:-120px 0}.icon-star-empty{background-position:-144px 0}.icon-user{background-position:-168px 0}.icon-film{background-position:-192px 0}.icon-th-large{background-position:-216px 0}.icon-th{background-position:-240px 0}.icon-th-list{background-position:-264px 0}.icon-ok{background-position:-288px 0}.icon-remove{background-position:-312px 0}.icon-zoom-in{background-position:-336px 0}.icon-zoom-out{background-position:-360px 0}.icon-off{background-position:-384px 0}.icon-signal{background-position:-4
08px 0}.icon-cog{background-position:-432px 0}.icon-trash{background-position:-456px 0}.icon-home{background-position:0 -24px}.icon-file{background-position:-24px -24px}.icon-time{background-position:-48px -24px}.icon-road{background-position:-72px -24px}.icon-download-alt{background-position:-96px -24px}.icon-download{background-position:-120px -24px}.icon-upload{background-position:-144px -24px}.icon-inbox{background-position:-168px -24px}.icon-play-circle{background-position:-192px -24px}.icon-repeat{background-position:-216px -24px}.icon-refresh{background-position:-240px -24px}.icon-list-alt{background-position:-264px -24px}.icon-lock{background-position:-287px -24px}.icon-flag{background-position:-312px -24px}.icon-headphones{background-position:-336px -24px}.icon-volume-off{background-position:-360px -24px}.icon-volume-down{background-position:-384px -24px}.icon-volume-up{background-position:-408px -24px}.icon-qrcode{background-position:-432px -24px}.icon-barcode{background-p
osition:-456px -24px}.icon-tag{background-position:0 -48px}.icon-tags{background-position:-25px -48px}.icon-book{background-position:-48px -48px}.icon-bookmark{background-position:-72px -48px}.icon-print{background-position:-96px -48px}.icon-camera{background-position:-120px -48px}.icon-font{background-position:-144px -48px}.icon-bold{background-position:-167px -48px}.icon-italic{background-position:-192px -48px}.icon-text-height{background-position:-216px -48px}.icon-text-width{background-position:-240px -48px}.icon-align-left{background-position:-264px -48px}.icon-align-center{background-position:-288px -48px}.icon-align-right{background-position:-312px -48px}.icon-align-justify{background-position:-336px -48px}.icon-list{background-position:-360px -48px}.icon-indent-left{background-position:-384px -48px}.icon-indent-right{background-position:-408px -48px}.icon-facetime-video{background-position:-432px -48px}.icon-picture{background-position:-456px -48px}.icon-pencil{background-po
sition:0 -72px}.icon-map-marker{background-position:-24px -72px}.icon-adjust{background-position:-48px -72px}.icon-tint{background-position:-72px -72px}.icon-edit{background-position:-96px -72px}.icon-share{background-position:-120px -72px}.icon-check{background-position:-144px -72px}.icon-move{background-position:-168px -72px}.icon-step-backward{background-position:-192px -72px}.icon-fast-backward{background-position:-216px -72px}.icon-backward{background-position:-240px -72px}.icon-play{background-position:-264px -72px}.icon-pause{background-position:-288px -72px}.icon-stop{background-position:-312px -72px}.icon-forward{background-position:-336px -72px}.icon-fast-forward{background-position:-360px -72px}.icon-step-forward{background-position:-384px -72px}.icon-eject{background-position:-408px -72px}.icon-chevron-left{background-position:-432px -72px}.icon-chevron-right{background-position:-456px -72px}.icon-plus-sign{background-position:0 -96px}.icon-minus-sign{background-position
:-24px -96px}.icon-remove-sign{background-position:-48px -96px}.icon-ok-sign{background-position:-72px -96px}.icon-question-sign{background-position:-96px -96px}.icon-info-sign{background-position:-120px -96px}.icon-screenshot{background-position:-144px -96px}.icon-remove-circle{background-position:-168px -96px}.icon-ok-circle{background-position:-192px -96px}.icon-ban-circle{background-position:-216px -96px}.icon-arrow-left{background-position:-240px -96px}.icon-arrow-right{background-position:-264px -96px}.icon-arrow-up{background-position:-289px -96px}.icon-arrow-down{background-position:-312px -96px}.icon-share-alt{background-position:-336px -96px}.icon-resize-full{background-position:-360px -96px}.icon-resize-small{background-position:-384px -96px}.icon-plus{background-position:-408px -96px}.icon-minus{background-position:-433px -96px}.icon-asterisk{background-position:-456px -96px}.icon-exclamation-sign{background-position:0 -120px}.icon-gift{background-position:-24px -120px}.
icon-leaf{background-position:-48px -120px}.icon-fire{background-position:-72px -120px}.icon-eye-open{background-position:-96px -120px}.icon-eye-close{background-position:-120px -120px}.icon-warning-sign{background-position:-144px -120px}.icon-plane{background-position:-168px -120px}.icon-calendar{background-position:-192px -120px}.icon-random{width:16px;background-position:-216px -120px}.icon-comment{background-position:-240px -120px}.icon-magnet{background-position:-264px -120px}.icon-chevron-up{background-position:-288px -120px}.icon-chevron-down{background-position:-313px -119px}.icon-retweet{background-position:-336px -120px}.icon-shopping-cart{background-position:-360px -120px}.icon-folder-close{width:16px;background-position:-384px -120px}.icon-folder-open{width:16px;background-position:-408px -120px}.icon-resize-vertical{background-position:-432px -119px}.icon-resize-horizontal{background-position:-456px -118px}.icon-hdd{background-position:0 -144px}.icon-bullhorn{background
-position:-24px -144px}.icon-bell{background-position:-48px -144px}.icon-certificate{background-position:-72px -144px}.icon-thumbs-up{background-position:-96px -144px}.icon-thumbs-down{background-position:-120px -144px}.icon-hand-right{background-position:-144px -144px}.icon-hand-left{background-position:-168px -144px}.icon-hand-up{background-position:-192px -144px}.icon-hand-down{background-position:-216px -144px}.icon-circle-arrow-right{background-position:-240px -144px}.icon-circle-arrow-left{background-position:-264px -144px}.icon-circle-arrow-up{background-position:-288px -144px}.icon-circle-arrow-down{background-position:-312px -144px}.icon-globe{background-position:-336px -144px}.icon-wrench{background-position:-360px -144px}.icon-tasks{background-position:-384px -144px}.icon-filter{background-position:-408px -144px}.icon-briefcase{background-position:-432px -144px}.icon-fullscreen{background-position:-456px -144px}.dropup,.dropdown{position:relative}.dropdown-toggle{*margin-
bottom:-3px}.dropdown-toggle:active,.open .dropdown-toggle{outline:0}.caret{display:inline-block;width:0;height:0;vertical-align:top;border-top:4px solid #000;border-right:4px solid transparent;border-left:4px solid transparent;content:""}.dropdown .caret{margin-top:8px;margin-left:2px}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;list-style:none;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.2);*border-right-width:2px;*border-bottom-width:2px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,0.2);-moz-box-shadow:0 5px 10px rgba(0,0,0,0.2);box-shadow:0 5px 10px rgba(0,0,0,0.2);-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{*width:100%;height:1px;margin:9px 1px;*margin:-5px 0 5px;overflow:hidden;backgroun
d-color:#e5e5e5;border-bottom:1px solid #fff}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:normal;line-height:20px;color:#333;white-space:nowrap}.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus,.dropdown-submenu:hover>a,.dropdown-submenu:focus>a{color:#fff;text-decoration:none;background-color:#0081c2;background-image:-moz-linear-gradient(top,#08c,#0077b3);background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#0077b3));background-image:-webkit-linear-gradient(top,#08c,#0077b3);background-image:-o-linear-gradient(top,#08c,#0077b3);background-image:linear-gradient(to bottom,#08c,#0077b3);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc',endColorstr='#ff0077b3',GradientType=0)}.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus{color:#fff;text-decoration:none;background-color:#0081c2;background-image:-moz-linear-gradient(top,#08c,#0077b3);background-image:-
webkit-gradient(linear,0 0,0 100%,from(#08c),to(#0077b3));background-image:-webkit-linear-gradient(top,#08c,#0077b3);background-image:-o-linear-gradient(top,#08c,#0077b3);background-image:linear-gradient(to bottom,#08c,#0077b3);background-repeat:repeat-x;outline:0;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc',endColorstr='#ff0077b3',GradientType=0)}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{color:#999}.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{text-decoration:none;cursor:default;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.open{*z-index:1000}.open>.dropdown-menu{display:block}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{border-top:0;border-bottom:4px solid #000;content:""}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100
%;margin-bottom:1px}.dropdown-submenu{position:relative}.dropdown-submenu>.dropdown-menu{top:0;left:100%;margin-top:-6px;margin-left:-1px;-webkit-border-radius:0 6px 6px 6px;-moz-border-radius:0 6px 6px 6px;border-radius:0 6px 6px 6px}.dropdown-submenu:hover>.dropdown-menu{display:block}.dropup .dropdown-submenu>.dropdown-menu{top:auto;bottom:0;margin-top:0;margin-bottom:-2px;-webkit-border-radius:5px 5px 5px 0;-moz-border-radius:5px 5px 5px 0;border-radius:5px 5px 5px 0}.dropdown-submenu>a:after{display:block;float:right;width:0;height:0;margin-top:5px;margin-right:-10px;border-color:transparent;border-left-color:#ccc;border-style:solid;border-width:5px 0 5px 5px;content:" "}.dropdown-submenu:hover>a:after{border-left-color:#fff}.dropdown-submenu.pull-left{float:none}.dropdown-submenu.pull-left>.dropdown-menu{left:-100%;margin-left:10px;-webkit-border-radius:6px 0 6px 6px;-moz-border-radius:6px 0 6px 6px;border-radius:6px 0 6px 6px}.dropdown .dropdown-menu .nav-header{padding-right
:20px;padding-left:20px}.typeahead{z-index:1051;margin-top:2px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.05);box-shadow:inset 0 1px 1px rgba(0,0,0,0.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,0.15)}.well-large{padding:24px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.well-small{padding:9px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.fade{opacity:0;-webkit-transition:opacity .15s linear;-moz-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{position:relative;height:0;overflow:hidden;-webkit-transition:height .35s ease;-moz-transition:height .35s ease;-o-tra
nsition:height .35s ease;transition:height .35s ease}.collapse.in{height:auto}.close{float:right;font-size:20px;font-weight:bold;line-height:20px;color:#000;text-shadow:0 1px 0 #fff;opacity:.2;filter:alpha(opacity=20)}.close:hover,.close:focus{color:#000;text-decoration:none;cursor:pointer;opacity:.4;filter:alpha(opacity=40)}button.close{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none}.btn{display:inline-block;*display:inline;padding:4px 12px;margin-bottom:0;*margin-left:.3em;font-size:14px;line-height:20px;color:#333;text-align:center;text-shadow:0 1px 1px rgba(255,255,255,0.75);vertical-align:middle;cursor:pointer;background-color:#f5f5f5;*background-color:#e6e6e6;background-image:-moz-linear-gradient(top,#fff,#e6e6e6);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fff),to(#e6e6e6));background-image:-webkit-linear-gradient(top,#fff,#e6e6e6);background-image:-o-linear-gradient(top,#fff,#e6e6e6);background-image:linear-gradient(to bottom,#
fff,#e6e6e6);background-repeat:repeat-x;border:1px solid #ccc;*border:0;border-color:#e6e6e6 #e6e6e6 #bfbfbf;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);border-bottom-color:#b3b3b3;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff',endColorstr='#ffe6e6e6',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);*zoom:1;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05)}.btn:hover,.btn:focus,.btn:active,.btn.active,.btn.disabled,.btn[disabled]{color:#333;background-color:#e6e6e6;*background-color:#d9d9d9}.btn:active,.btn.active{background-color:#ccc \9}.btn:first-child{*margin-left:0}.btn:hover,.btn:focus{color:#333;text-decoration:none;background-position:0 -15px;-webkit
-transition:background-position .1s linear;-moz-transition:background-position .1s linear;-o-transition:background-position .1s linear;transition:background-position .1s linear}.btn:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn.active,.btn:active{background-image:none;outline:0;-webkit-box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05)}.btn.disabled,.btn[disabled]{cursor:default;background-image:none;opacity:.65;filter:alpha(opacity=65);-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.btn-large{padding:11px 19px;font-size:17.5px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.btn-large [class^="icon-"],.btn-large [class*=" icon-"]{margin-top:4px}.btn-small{padding:2px 10px;font-size:11.9px;-webkit-border-radius:3px;-moz-border-radius:3
px;border-radius:3px}.btn-small [class^="icon-"],.btn-small [class*=" icon-"]{margin-top:0}.btn-mini [class^="icon-"],.btn-mini [class*=" icon-"]{margin-top:-1px}.btn-mini{padding:0 6px;font-size:10.5px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.btn-block{display:block;width:100%;padding-right:0;padding-left:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.btn-block+.btn-block{margin-top:5px}input[type="submit"].btn-block,input[type="reset"].btn-block,input[type="button"].btn-block{width:100%}.btn-primary.active,.btn-warning.active,.btn-danger.active,.btn-success.active,.btn-info.active,.btn-inverse.active{color:rgba(255,255,255,0.75)}.btn-primary{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#006dcc;*background-color:#04c;background-image:-moz-linear-gradient(top,#08c,#04c);background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#04c));background-image:-webkit-linear-gradient(top,#08c,#04c);back
ground-image:-o-linear-gradient(top,#08c,#04c);background-image:linear-gradient(to bottom,#08c,#04c);background-repeat:repeat-x;border-color:#04c #04c #002a80;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc',endColorstr='#ff0044cc',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-primary:hover,.btn-primary:focus,.btn-primary:active,.btn-primary.active,.btn-primary.disabled,.btn-primary[disabled]{color:#fff;background-color:#04c;*background-color:#003bb3}.btn-primary:active,.btn-primary.active{background-color:#039 \9}.btn-warning{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#faa732;*background-color:#f89406;background-image:-moz-linear-gradient(top,#fbb450,#f89406);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fbb450),to(#f89406));background-image:-webkit-linear-gradient(top,#fbb450,#f89406);background-image:-o-linear-gradient
(top,#fbb450,#f89406);background-image:linear-gradient(to bottom,#fbb450,#f89406);background-repeat:repeat-x;border-color:#f89406 #f89406 #ad6704;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffbb450',endColorstr='#fff89406',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-warning:hover,.btn-warning:focus,.btn-warning:active,.btn-warning.active,.btn-warning.disabled,.btn-warning[disabled]{color:#fff;background-color:#f89406;*background-color:#df8505}.btn-warning:active,.btn-warning.active{background-color:#c67605 \9}.btn-danger{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#da4f49;*background-color:#bd362f;background-image:-moz-linear-gradient(top,#ee5f5b,#bd362f);background-image:-webkit-gradient(linear,0 0,0 100%,from(#ee5f5b),to(#bd362f));background-image:-webkit-linear-gradient(top,#ee5f5b,#bd362f);background-image:-o-linear-gradient(top,#ee
5f5b,#bd362f);background-image:linear-gradient(to bottom,#ee5f5b,#bd362f);background-repeat:repeat-x;border-color:#bd362f #bd362f #802420;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffee5f5b',endColorstr='#ffbd362f',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-danger:hover,.btn-danger:focus,.btn-danger:active,.btn-danger.active,.btn-danger.disabled,.btn-danger[disabled]{color:#fff;background-color:#bd362f;*background-color:#a9302a}.btn-danger:active,.btn-danger.active{background-color:#942a25 \9}.btn-success{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#5bb75b;*background-color:#51a351;background-image:-moz-linear-gradient(top,#62c462,#51a351);background-image:-webkit-gradient(linear,0 0,0 100%,from(#62c462),to(#51a351));background-image:-webkit-linear-gradient(top,#62c462,#51a351);background-image:-o-linear-gradient(top,#62c462,#51a351);b
ackground-image:linear-gradient(to bottom,#62c462,#51a351);background-repeat:repeat-x;border-color:#51a351 #51a351 #387038;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff62c462',endColorstr='#ff51a351',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-success:hover,.btn-success:focus,.btn-success:active,.btn-success.active,.btn-success.disabled,.btn-success[disabled]{color:#fff;background-color:#51a351;*background-color:#499249}.btn-success:active,.btn-success.active{background-color:#408140 \9}.btn-info{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#49afcd;*background-color:#2f96b4;background-image:-moz-linear-gradient(top,#5bc0de,#2f96b4);background-image:-webkit-gradient(linear,0 0,0 100%,from(#5bc0de),to(#2f96b4));background-image:-webkit-linear-gradient(top,#5bc0de,#2f96b4);background-image:-o-linear-gradient(top,#5bc0de,#2f96b4);background-
image:linear-gradient(to bottom,#5bc0de,#2f96b4);background-repeat:repeat-x;border-color:#2f96b4 #2f96b4 #1f6377;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de',endColorstr='#ff2f96b4',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-info:hover,.btn-info:focus,.btn-info:active,.btn-info.active,.btn-info.disabled,.btn-info[disabled]{color:#fff;background-color:#2f96b4;*background-color:#2a85a0}.btn-info:active,.btn-info.active{background-color:#24748c \9}.btn-inverse{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#363636;*background-color:#222;background-image:-moz-linear-gradient(top,#444,#222);background-image:-webkit-gradient(linear,0 0,0 100%,from(#444),to(#222));background-image:-webkit-linear-gradient(top,#444,#222);background-image:-o-linear-gradient(top,#444,#222);background-image:linear-gradient(to bottom,#444,#222);background-repe
at:repeat-x;border-color:#222 #222 #000;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff444444',endColorstr='#ff222222',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-inverse:hover,.btn-inverse:focus,.btn-inverse:active,.btn-inverse.active,.btn-inverse.disabled,.btn-inverse[disabled]{color:#fff;background-color:#222;*background-color:#151515}.btn-inverse:active,.btn-inverse.active{background-color:#080808 \9}button.btn,input[type="submit"].btn{*padding-top:3px;*padding-bottom:3px}button.btn::-moz-focus-inner,input[type="submit"].btn::-moz-focus-inner{padding:0;border:0}button.btn.btn-large,input[type="submit"].btn.btn-large{*padding-top:7px;*padding-bottom:7px}button.btn.btn-small,input[type="submit"].btn.btn-small{*padding-top:3px;*padding-bottom:3px}button.btn.btn-mini,input[type="submit"].btn.btn-mini{*padding-top:1px;*padding-bottom:1px}.btn-link,.btn-link:act
ive,.btn-link[disabled]{background-color:transparent;background-image:none;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.btn-link{color:#08c;cursor:pointer;border-color:transparent;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.btn-link:hover,.btn-link:focus{color:#005580;text-decoration:underline;background-color:transparent}.btn-link[disabled]:hover,.btn-link[disabled]:focus{color:#333;text-decoration:none}.btn-group{position:relative;display:inline-block;*display:inline;*margin-left:.3em;font-size:0;white-space:nowrap;vertical-align:middle;*zoom:1}.btn-group:first-child{*margin-left:0}.btn-group+.btn-group{margin-left:5px}.btn-toolbar{margin-top:10px;margin-bottom:10px;font-size:0}.btn-toolbar>.btn+.btn,.btn-toolbar>.btn-group+.btn,.btn-toolbar>.btn+.btn-group{margin-left:5px}.btn-group>.btn{position:relative;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.btn-group>.btn+.btn{margin-left:-1px}.btn-group>.btn,.btn-group>.dropdown-menu,.
btn-group>.popover{font-size:14px}.btn-group>.btn-mini{font-size:10.5px}.btn-group>.btn-small{font-size:11.9px}.btn-group>.btn-large{font-size:17.5px}.btn-group>.btn:first-child{margin-left:0;-webkit-border-bottom-left-radius:4px;border-bottom-left-radius:4px;-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-bottomleft:4px;-moz-border-radius-topleft:4px}.btn-group>.btn:last-child,.btn-group>.dropdown-toggle{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-webkit-border-bottom-right-radius:4px;border-bottom-right-radius:4px;-moz-border-radius-topright:4px;-moz-border-radius-bottomright:4px}.btn-group>.btn.large:first-child{margin-left:0;-webkit-border-bottom-left-radius:6px;border-bottom-left-radius:6px;-webkit-border-top-left-radius:6px;border-top-left-radius:6px;-moz-border-radius-bottomleft:6px;-moz-border-radius-topleft:6px}.btn-group>.btn.large:last-child,.btn-group>.large.dropdown-toggle{-webkit-border-top-right-radius:6px;border-t
op-right-radius:6px;-webkit-border-bottom-right-radius:6px;border-bottom-right-radius:6px;-moz-border-radius-topright:6px;-moz-border-radius-bottomright:6px}.btn-group>.btn:hover,.btn-group>.btn:focus,.btn-group>.btn:active,.btn-group>.btn.active{z-index:2}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{*padding-top:5px;padding-right:8px;*padding-bottom:5px;padding-left:8px;-webkit-box-shadow:inset 1px 0 0 rgba(255,255,255,0.125),inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 1px 0 0 rgba(255,255,255,0.125),inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 1px 0 0 rgba(255,255,255,0.125),inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05)}.btn-group>.btn-mini+.dropdown-toggle{*padding-top:2px;padding-right:5px;*padding-bottom:2px;padding-left:5px}.btn-group>.btn-small+.dropdown-toggle{*padding-top:5px;*padding-bottom:4px}.btn-group>.btn-large+
.dropdown-toggle{*padding-top:7px;padding-right:12px;*padding-bottom:7px;padding-left:12px}.btn-group.open .dropdown-toggle{background-image:none;-webkit-box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05)}.btn-group.open .btn.dropdown-toggle{background-color:#e6e6e6}.btn-group.open .btn-primary.dropdown-toggle{background-color:#04c}.btn-group.open .btn-warning.dropdown-toggle{background-color:#f89406}.btn-group.open .btn-danger.dropdown-toggle{background-color:#bd362f}.btn-group.open .btn-success.dropdown-toggle{background-color:#51a351}.btn-group.open .btn-info.dropdown-toggle{background-color:#2f96b4}.btn-group.open .btn-inverse.dropdown-toggle{background-color:#222}.btn .caret{margin-top:8px;margin-left:0}.btn-large .caret{margin-top:6px}.btn-large .caret{border-top-width:5px;border-right-width:5px;border-left-width
:5px}.btn-mini .caret,.btn-small .caret{margin-top:8px}.dropup .btn-large .caret{border-bottom-width:5px}.btn-primary .caret,.btn-warning .caret,.btn-danger .caret,.btn-info .caret,.btn-success .caret,.btn-inverse .caret{border-top-color:#fff;border-bottom-color:#fff}.btn-group-vertical{display:inline-block;*display:inline;*zoom:1}.btn-group-vertical>.btn{display:block;float:none;max-width:100%;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.btn-group-vertical>.btn+.btn{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:first-child{-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0}.btn-group-vertical>.btn:last-child{-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px}.btn-group-vertical>.btn-large:first-child{-webkit-border-radius:6px 6px 0 0;-moz-border-radius:6px 6px 0 0;border-radius:6px 6px 0 0}.btn-group-vertical>.btn-large:last-child{-webkit-border-radius:0 0 6px 6px;-moz-border-r
adius:0 0 6px 6px;border-radius:0 0 6px 6px}.alert{padding:8px 35px 8px 14px;margin-bottom:20px;text-shadow:0 1px 0 rgba(255,255,255,0.5);background-color:#fcf8e3;border:1px solid #fbeed5;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.alert,.alert h4{color:#c09853}.alert h4{margin:0}.alert .close{position:relative;top:-2px;right:-21px;line-height:20px}.alert-success{color:#468847;background-color:#dff0d8;border-color:#d6e9c6}.alert-success h4{color:#468847}.alert-danger,.alert-error{color:#b94a48;background-color:#f2dede;border-color:#eed3d7}.alert-danger h4,.alert-error h4{color:#b94a48}.alert-info{color:#3a87ad;background-color:#d9edf7;border-color:#bce8f1}.alert-info h4{color:#3a87ad}.alert-block{padding-top:14px;padding-bottom:14px}.alert-block>p,.alert-block>ul{margin-bottom:0}.alert-block p+p{margin-top:5px}.nav{margin-bottom:20px;margin-left:0;list-style:none}.nav>li>a{display:block}.nav>li>a:hover,.nav>li>a:focus{text-decoration:none;background-color:#ee
e}.nav>li>a>img{max-width:none}.nav>.pull-right{float:right}.nav-header{display:block;padding:3px 15px;font-size:11px;font-weight:bold;line-height:20px;color:#999;text-shadow:0 1px 0 rgba(255,255,255,0.5);text-transform:uppercase}.nav li+.nav-header{margin-top:9px}.nav-list{padding-right:15px;padding-left:15px;margin-bottom:0}.nav-list>li>a,.nav-list .nav-header{margin-right:-15px;margin-left:-15px;text-shadow:0 1px 0 rgba(255,255,255,0.5)}.nav-list>li>a{padding:3px 15px}.nav-list>.active>a,.nav-list>.active>a:hover,.nav-list>.active>a:focus{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.2);background-color:#08c}.nav-list [class^="icon-"],.nav-list [class*=" icon-"]{margin-right:2px}.nav-list .divider{*width:100%;height:1px;margin:9px 1px;*margin:-5px 0 5px;overflow:hidden;background-color:#e5e5e5;border-bottom:1px solid #fff}.nav-tabs,.nav-pills{*zoom:1}.nav-tabs:before,.nav-pills:before,.nav-tabs:after,.nav-pills:after{display:table;line-height:0;content:""}.nav-tabs:after,.nav-pill
s:after{clear:both}.nav-tabs>li,.nav-pills>li{float:left}.nav-tabs>li>a,.nav-pills>li>a{padding-right:12px;padding-left:12px;margin-right:2px;line-height:14px}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{margin-bottom:-1px}.nav-tabs>li>a{padding-top:8px;padding-bottom:8px;line-height:20px;border:1px solid transparent;-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover,.nav-tabs>li>a:focus{border-color:#eee #eee #ddd}.nav-tabs>.active>a,.nav-tabs>.active>a:hover,.nav-tabs>.active>a:focus{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.nav-pills>li>a{padding-top:8px;padding-bottom:8px;margin-top:2px;margin-bottom:2px;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.nav-pills>.active>a,.nav-pills>.active>a:hover,.nav-pills>.active>a:focus{color:#fff;background-color:#08c}.nav-stacked>li{float:none}.nav-stacked>li>a{margin-right:0}.nav-tabs.nav-sta
cked{border-bottom:0}.nav-tabs.nav-stacked>li>a{border:1px solid #ddd;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.nav-tabs.nav-stacked>li:first-child>a{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-topright:4px;-moz-border-radius-topleft:4px}.nav-tabs.nav-stacked>li:last-child>a{-webkit-border-bottom-right-radius:4px;border-bottom-right-radius:4px;-webkit-border-bottom-left-radius:4px;border-bottom-left-radius:4px;-moz-border-radius-bottomright:4px;-moz-border-radius-bottomleft:4px}.nav-tabs.nav-stacked>li>a:hover,.nav-tabs.nav-stacked>li>a:focus{z-index:2;border-color:#ddd}.nav-pills.nav-stacked>li>a{margin-bottom:3px}.nav-pills.nav-stacked>li:last-child>a{margin-bottom:1px}.nav-tabs .dropdown-menu{-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px}.nav-pills .dropdown-menu{-webkit-border-radius:6px;-moz-border-radius:6px;borde
r-radius:6px}.nav .dropdown-toggle .caret{margin-top:6px;border-top-color:#08c;border-bottom-color:#08c}.nav .dropdown-toggle:hover .caret,.nav .dropdown-toggle:focus .caret{border-top-color:#005580;border-bottom-color:#005580}.nav-tabs .dropdown-toggle .caret{margin-top:8px}.nav .active .dropdown-toggle .caret{border-top-color:#fff;border-bottom-color:#fff}.nav-tabs .active .dropdown-toggle .caret{border-top-color:#555;border-bottom-color:#555}.nav>.dropdown.active>a:hover,.nav>.dropdown.active>a:focus{cursor:pointer}.nav-tabs .open .dropdown-toggle,.nav-pills .open .dropdown-toggle,.nav>li.dropdown.open.active>a:hover,.nav>li.dropdown.open.active>a:focus{color:#fff;background-color:#999;border-color:#999}.nav li.dropdown.open .caret,.nav li.dropdown.open.active .caret,.nav li.dropdown.open a:hover .caret,.nav li.dropdown.open a:focus .caret{border-top-color:#fff;border-bottom-color:#fff;opacity:1;filter:alpha(opacity=100)}.tabs-stacked .open>a:hover,.tabs-stacked .open>a:focus{bor
der-color:#999}.tabbable{*zoom:1}.tabbable:before,.tabbable:after{display:table;line-height:0;content:""}.tabbable:after{clear:both}.tab-content{overflow:auto}.tabs-below>.nav-tabs,.tabs-right>.nav-tabs,.tabs-left>.nav-tabs{border-bottom:0}.tab-content>.tab-pane,.pill-content>.pill-pane{display:none}.tab-content>.active,.pill-content>.active{display:block}.tabs-below>.nav-tabs{border-top:1px solid #ddd}.tabs-below>.nav-tabs>li{margin-top:-1px;margin-bottom:0}.tabs-below>.nav-tabs>li>a{-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px}.tabs-below>.nav-tabs>li>a:hover,.tabs-below>.nav-tabs>li>a:focus{border-top-color:#ddd;border-bottom-color:transparent}.tabs-below>.nav-tabs>.active>a,.tabs-below>.nav-tabs>.active>a:hover,.tabs-below>.nav-tabs>.active>a:focus{border-color:transparent #ddd #ddd #ddd}.tabs-left>.nav-tabs>li,.tabs-right>.nav-tabs>li{float:none}.tabs-left>.nav-tabs>li>a,.tabs-right>.nav-tabs>li>a{min-width:74px;margin-right:0;margi
n-bottom:3px}.tabs-left>.nav-tabs{float:left;margin-right:19px;border-right:1px solid #ddd}.tabs-left>.nav-tabs>li>a{margin-right:-1px;-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px}.tabs-left>.nav-tabs>li>a:hover,.tabs-left>.nav-tabs>li>a:focus{border-color:#eee #ddd #eee #eee}.tabs-left>.nav-tabs .active>a,.tabs-left>.nav-tabs .active>a:hover,.tabs-left>.nav-tabs .active>a:focus{border-color:#ddd transparent #ddd #ddd;*border-right-color:#fff}.tabs-right>.nav-tabs{float:right;margin-left:19px;border-left:1px solid #ddd}.tabs-right>.nav-tabs>li>a{margin-left:-1px;-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.tabs-right>.nav-tabs>li>a:hover,.tabs-right>.nav-tabs>li>a:focus{border-color:#eee #eee #eee #ddd}.tabs-right>.nav-tabs .active>a,.tabs-right>.nav-tabs .active>a:hover,.tabs-right>.nav-tabs .active>a:focus{border-color:#ddd #ddd #ddd transparent;*border-left-color:#fff}.nav>.disabled>a{col
or:#999}.nav>.disabled>a:hover,.nav>.disabled>a:focus{text-decoration:none;cursor:default;background-color:transparent}.navbar{*position:relative;*z-index:2;margin-bottom:20px;overflow:visible}.navbar-inner{min-height:40px;padding-right:20px;padding-left:20px;background-color:#fafafa;background-image:-moz-linear-gradient(top,#fff,#f2f2f2);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fff),to(#f2f2f2));background-image:-webkit-linear-gradient(top,#fff,#f2f2f2);background-image:-o-linear-gradient(top,#fff,#f2f2f2);background-image:linear-gradient(to bottom,#fff,#f2f2f2);background-repeat:repeat-x;border:1px solid #d4d4d4;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff',endColorstr='#fff2f2f2',GradientType=0);*zoom:1;-webkit-box-shadow:0 1px 4px rgba(0,0,0,0.065);-moz-box-shadow:0 1px 4px rgba(0,0,0,0.065);box-shadow:0 1px 4px rgba(0,0,0,0.065)}.navbar-inner:before,.navbar-inner:af
ter{display:table;line-height:0;content:""}.navbar-inner:after{clear:both}.navbar .container{width:auto}.nav-collapse.collapse{height:auto;overflow:visible}.navbar .brand{display:block;float:left;padding:10px 20px 10px;margin-left:-20px;font-size:20px;font-weight:200;color:#777;text-shadow:0 1px 0 #fff}.navbar .brand:hover,.navbar .brand:focus{text-decoration:none}.navbar-text{margin-bottom:0;line-height:40px;color:#777}.navbar-link{color:#777}.navbar-link:hover,.navbar-link:focus{color:#333}.navbar .divider-vertical{height:40px;margin:0 9px;border-right:1px solid #fff;border-left:1px solid #f2f2f2}.navbar .btn,.navbar .btn-group{margin-top:5px}.navbar .btn-group .btn,.navbar .input-prepend .btn,.navbar .input-append .btn,.navbar .input-prepend .btn-group,.navbar .input-append .btn-group{margin-top:0}.navbar-form{margin-bottom:0;*zoom:1}.navbar-form:before,.navbar-form:after{display:table;line-height:0;content:""}.navbar-form:after{clear:both}.navbar-form input,.navbar-form select,.
navbar-form .radio,.navbar-form .checkbox{margin-top:5px}.navbar-form input,.navbar-form select,.navbar-form .btn{display:inline-block;margin-bottom:0}.navbar-form input[type="image"],.navbar-form input[type="checkbox"],.navbar-form input[type="radio"]{margin-top:3px}.navbar-form .input-append,.navbar-form .input-prepend{margin-top:5px;white-space:nowrap}.navbar-form .input-append input,.navbar-form .input-prepend input{margin-top:0}.navbar-search{position:relative;float:left;margin-top:5px;margin-bottom:0}.navbar-search .search-query{padding:4px 14px;margin-bottom:0;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;font-weight:normal;line-height:1;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px}.navbar-static-top{position:static;margin-bottom:0}.navbar-static-top .navbar-inner{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.navbar-fixed-top,.navbar-fixed-bottom{position:fixed;right:0;left:0;z-index:1030;margin-bottom:0}.navba
r-fixed-top .navbar-inner,.navbar-static-top .navbar-inner{border-width:0 0 1px}.navbar-fixed-bottom .navbar-inner{border-width:1px 0 0}.navbar-fixed-top .navbar-inner,.navbar-fixed-bottom .navbar-inner{padding-right:0;padding-left:0;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:940px}.navbar-fixed-top{top:0}.navbar-fixed-top .navbar-inner,.navbar-static-top .navbar-inner{-webkit-box-shadow:0 1px 10px rgba(0,0,0,0.1);-moz-box-shadow:0 1px 10px rgba(0,0,0,0.1);box-shadow:0 1px 10px rgba(0,0,0,0.1)}.navbar-fixed-bottom{bottom:0}.navbar-fixed-bottom .navbar-inner{-webkit-box-shadow:0 -1px 10px rgba(0,0,0,0.1);-moz-box-shadow:0 -1px 10px rgba(0,0,0,0.1);box-shadow:0 -1px 10px rgba(0,0,0,0.1)}.navbar .nav{position:relative;left:0;display:block;float:left;margin:0 10px 0 0}.navbar .nav.pull-right{float:right;margin-right:0}.navbar .nav>li{float:left}.navbar .nav>li>a{float:none;
padding:10px 15px 10px;color:#777;text-decoration:none;text-shadow:0 1px 0 #fff}.navbar .nav .dropdown-toggle .caret{margin-top:8px}.navbar .nav>li>a:focus,.navbar .nav>li>a:hover{color:#333;text-decoration:none;background-color:transparent}.navbar .nav>.active>a,.navbar .nav>.active>a:hover,.navbar .nav>.active>a:focus{color:#555;text-decoration:none;background-color:#e5e5e5;-webkit-box-shadow:inset 0 3px 8px rgba(0,0,0,0.125);-moz-box-shadow:inset 0 3px 8px rgba(0,0,0,0.125);box-shadow:inset 0 3px 8px rgba(0,0,0,0.125)}.navbar .btn-navbar{display:none;float:right;padding:7px 10px;margin-right:5px;margin-left:5px;color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#ededed;*background-color:#e5e5e5;background-image:-moz-linear-gradient(top,#f2f2f2,#e5e5e5);background-image:-webkit-gradient(linear,0 0,0 100%,from(#f2f2f2),to(#e5e5e5));background-image:-webkit-linear-gradient(top,#f2f2f2,#e5e5e5);background-image:-o-linear-gradient(top,#f2f2f2,#e5e5e5);background-image:l
inear-gradient(to bottom,#f2f2f2,#e5e5e5);background-repeat:repeat-x;border-color:#e5e5e5 #e5e5e5 #bfbfbf;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2f2f2',endColorstr='#ffe5e5e5',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.075);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.075);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.075)}.navbar .btn-navbar:hover,.navbar .btn-navbar:focus,.navbar .btn-navbar:active,.navbar .btn-navbar.active,.navbar .btn-navbar.disabled,.navbar .btn-navbar[disabled]{color:#fff;background-color:#e5e5e5;*background-color:#d9d9d9}.navbar .btn-navbar:active,.navbar .btn-navbar.active{background-color:#ccc \9}.navbar .btn-navbar .icon-bar{display:block;width:18px;height:2px;background-color:#f5f5f5;-
webkit-border-radius:1px;-moz-border-radius:1px;border-radius:1px;-webkit-box-shadow:0 1px 0 rgba(0,0,0,0.25);-moz-box-shadow:0 1px 0 rgba(0,0,0,0.25);box-shadow:0 1px 0 rgba(0,0,0,0.25)}.btn-navbar .icon-bar+.icon-bar{margin-top:3px}.navbar .nav>li>.dropdown-menu:before{position:absolute;top:-7px;left:9px;display:inline-block;border-right:7px solid transparent;border-bottom:7px solid #ccc;border-left:7px solid transparent;border-bottom-color:rgba(0,0,0,0.2);content:''}.navbar .nav>li>.dropdown-menu:after{position:absolute;top:-6px;left:10px;display:inline-block;border-right:6px solid transparent;border-bottom:6px solid #fff;border-left:6px solid transparent;content:''}.navbar-fixed-bottom .nav>li>.dropdown-menu:before{top:auto;bottom:-7px;border-top:7px solid #ccc;border-bottom:0;border-top-color:rgba(0,0,0,0.2)}.navbar-fixed-bottom .nav>li>.dropdown-menu:after{top:auto;bottom:-6px;border-top:6px solid #fff;border-bottom:0}.navbar .nav li.dropdown>a:hover .caret,.navbar .nav li.dro
pdown>a:focus .caret{border-top-color:#333;border-bottom-color:#333}.navbar .nav li.dropdown.open>.dropdown-toggle,.navbar .nav li.dropdown.active>.dropdown-toggle,.navbar .nav li.dropdown.open.active>.dropdown-toggle{color:#555;background-color:#e5e5e5}.navbar .nav li.dropdown>.dropdown-toggle .caret{border-top-color:#777;border-bottom-color:#777}.navbar .nav li.dropdown.open>.dropdown-toggle .caret,.navbar .nav li.dropdown.active>.dropdown-toggle .caret,.navbar .nav li.dropdown.open.active>.dropdown-toggle .caret{border-top-color:#555;border-bottom-color:#555}.navbar .pull-right>li>.dropdown-menu,.navbar .nav>li>.dropdown-menu.pull-right{right:0;left:auto}.navbar .pull-right>li>.dropdown-menu:before,.navbar .nav>li>.dropdown-menu.pull-right:before{right:12px;left:auto}.navbar .pull-right>li>.dropdown-menu:after,.navbar .nav>li>.dropdown-menu.pull-right:after{right:13px;left:auto}.navbar .pull-right>li>.dropdown-menu .dropdown-menu,.navbar .nav>li>.dropdown-menu.pull-right .dropdow
n-menu{right:100%;left:auto;margin-right:-1px;margin-left:0;-webkit-border-radius:6px 0 6px 6px;-moz-border-radius:6px 0 6px 6px;border-radius:6px 0 6px 6px}.navbar-inverse .navbar-inner{background-color:#1b1b1b;background-image:-moz-linear-gradient(top,#222,#111);background-image:-webkit-gradient(linear,0 0,0 100%,from(#222),to(#111));background-image:-webkit-linear-gradient(top,#222,#111);background-image:-o-linear-gradient(top,#222,#111);background-image:linear-gradient(to bottom,#222,#111);background-repeat:repeat-x;border-color:#252525;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff222222',endColorstr='#ff111111',GradientType=0)}.navbar-inverse .brand,.navbar-inverse .nav>li>a{color:#999;text-shadow:0 -1px 0 rgba(0,0,0,0.25)}.navbar-inverse .brand:hover,.navbar-inverse .nav>li>a:hover,.navbar-inverse .brand:focus,.navbar-inverse .nav>li>a:focus{color:#fff}.navbar-inverse .brand{color:#999}.navbar-inverse .navbar-text{color:#999}.navbar-inverse .nav>li>a:foc
us,.navbar-inverse .nav>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .nav .active>a,.navbar-inverse .nav .active>a:hover,.navbar-inverse .nav .active>a:focus{color:#fff;background-color:#111}.navbar-inverse .navbar-link{color:#999}.navbar-inverse .navbar-link:hover,.navbar-inverse .navbar-link:focus{color:#fff}.navbar-inverse .divider-vertical{border-right-color:#222;border-left-color:#111}.navbar-inverse .nav li.dropdown.open>.dropdown-toggle,.navbar-inverse .nav li.dropdown.active>.dropdown-toggle,.navbar-inverse .nav li.dropdown.open.active>.dropdown-toggle{color:#fff;background-color:#111}.navbar-inverse .nav li.dropdown>a:hover .caret,.navbar-inverse .nav li.dropdown>a:focus .caret{border-top-color:#fff;border-bottom-color:#fff}.navbar-inverse .nav li.dropdown>.dropdown-toggle .caret{border-top-color:#999;border-bottom-color:#999}.navbar-inverse .nav li.dropdown.open>.dropdown-toggle .caret,.navbar-inverse .nav li.dropdown.active>.dropdown-toggle .caret,.n
avbar-inverse .nav li.dropdown.open.active>.dropdown-toggle .caret{border-top-color:#fff;border-bottom-color:#fff}.navbar-inverse .navbar-search .search-query{color:#fff;background-color:#515151;border-color:#111;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1),0 1px 0 rgba(255,255,255,0.15);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1),0 1px 0 rgba(255,255,255,0.15);box-shadow:inset 0 1px 2px rgba(0,0,0,0.1),0 1px 0 rgba(255,255,255,0.15);-webkit-transition:none;-moz-transition:none;-o-transition:none;transition:none}.navbar-inverse .navbar-search .search-query:-moz-placeholder{color:#ccc}.navbar-inverse .navbar-search .search-query:-ms-input-placeholder{color:#ccc}.navbar-inverse .navbar-search .search-query::-webkit-input-placeholder{color:#ccc}.navbar-inverse .navbar-search .search-query:focus,.navbar-inverse .navbar-search .search-query.focused{padding:5px 15px;color:#333;text-shadow:0 1px 0 #fff;background-color:#fff;border:0;outline:0;-webkit-box-shadow:0 0 3px rgba(0,0,0
,0.15);-moz-box-shadow:0 0 3px rgba(0,0,0,0.15);box-shadow:0 0 3px rgba(0,0,0,0.15)}.navbar-inverse .btn-navbar{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#0e0e0e;*background-color:#040404;background-image:-moz-linear-gradient(top,#151515,#040404);background-image:-webkit-gradient(linear,0 0,0 100%,from(#151515),to(#040404));background-image:-webkit-linear-gradient(top,#151515,#040404);background-image:-o-linear-gradient(top,#151515,#040404);background-image:linear-gradient(to bottom,#151515,#040404);background-repeat:repeat-x;border-color:#040404 #040404 #000;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff151515',endColorstr='#ff040404',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.navbar-inverse .btn-navbar:hover,.navbar-inverse .btn-navbar:focus,.navbar-inverse .btn-navbar:active,.navbar-inverse .btn-navbar.active,.navbar-inverse .btn-navba
r.disabled,.navbar-inverse .btn-navbar[disabled]{color:#fff;background-color:#040404;*background-color:#000}.navbar-inverse .btn-navbar:active,.navbar-inverse .btn-navbar.active{background-color:#000 \9}.breadcrumb{padding:8px 15px;margin:0 0 20px;list-style:none;background-color:#f5f5f5;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.breadcrumb>li{display:inline-block;*display:inline;text-shadow:0 1px 0 #fff;*zoom:1}.breadcrumb>li>.divider{padding:0 5px;color:#ccc}.breadcrumb>.active{color:#999}.pagination{margin:20px 0}.pagination ul{display:inline-block;*display:inline;margin-bottom:0;margin-left:0;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;*zoom:1;-webkit-box-shadow:0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:0 1px 2px rgba(0,0,0,0.05);box-shadow:0 1px 2px rgba(0,0,0,0.05)}.pagination ul>li{display:inline}.pagination ul>li>a,.pagination ul>li>span{float:left;padding:4px 12px;line-height:20px;text-decoration:none;background-color:#fff;bo
rder:1px solid #ddd;border-left-width:0}.pagination ul>li>a:hover,.pagination ul>li>a:focus,.pagination ul>.active>a,.pagination ul>.active>span{background-color:#f5f5f5}.pagination ul>.active>a,.pagination ul>.active>span{color:#999;cursor:default}.pagination ul>.disabled>span,.pagination ul>.disabled>a,.pagination ul>.disabled>a:hover,.pagination ul>.disabled>a:focus{color:#999;cursor:default;background-color:transparent}.pagination ul>li:first-child>a,.pagination ul>li:first-child>span{border-left-width:1px;-webkit-border-bottom-left-radius:4px;border-bottom-left-radius:4px;-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-bottomleft:4px;-moz-border-radius-topleft:4px}.pagination ul>li:last-child>a,.pagination ul>li:last-child>span{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-webkit-border-bottom-right-radius:4px;border-bottom-right-radius:4px;-moz-border-radius-topright:4px;-moz-border-radius-bottomright:4px}.pagination-centered
{text-align:center}.pagination-right{text-align:right}.pagination-large ul>li>a,.pagination-large ul>li>span{padding:11px 19px;font-size:17.5px}.pagination-large ul>li:first-child>a,.pagination-large ul>li:first-child>span{-webkit-border-bottom-left-radius:6px;border-bottom-left-radius:6px;-webkit-border-top-left-radius:6px;border-top-left-radius:6px;-moz-border-radius-bottomleft:6px;-moz-border-radius-topleft:6px}.pagination-large ul>li:last-child>a,.pagination-large ul>li:last-child>span{-webkit-border-top-right-radius:6px;border-top-right-radius:6px;-webkit-border-bottom-right-radius:6px;border-bottom-right-radius:6px;-moz-border-radius-topright:6px;-moz-border-radius-bottomright:6px}.pagination-mini ul>li:first-child>a,.pagination-small ul>li:first-child>a,.pagination-mini ul>li:first-child>span,.pagination-small ul>li:first-child>span{-webkit-border-bottom-left-radius:3px;border-bottom-left-radius:3px;-webkit-border-top-left-radius:3px;border-top-left-radius:3px;-moz-border-rad
ius-bottomleft:3px;-moz-border-radius-topleft:3px}.pagination-mini ul>li:last-child>a,.pagination-small ul>li:last-child>a,.pagination-mini ul>li:last-child>span,.pagination-small ul>li:last-child>span{-webkit-border-top-right-radius:3px;border-top-right-radius:3px;-webkit-border-bottom-right-radius:3px;border-bottom-right-radius:3px;-moz-border-radius-topright:3px;-moz-border-radius-bottomright:3px}.pagination-small ul>li>a,.pagination-small ul>li>span{padding:2px 10px;font-size:11.9px}.pagination-mini ul>li>a,.pagination-mini ul>li>span{padding:0 6px;font-size:10.5px}.pager{margin:20px 0;text-align:center;list-style:none;*zoom:1}.pager:before,.pager:after{display:table;line-height:0;content:""}.pager:after{clear:both}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px}.pager li>a:hover,.pager li>a:focus{text-decoration:none;backgro
und-color:#f5f5f5}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:hover,.pager .disabled>a:focus,.pager .disabled>span{color:#999;cursor:default;background-color:#fff}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop,.modal-backdrop.fade.in{opacity:.8;filter:alpha(opacity=80)}.modal{position:fixed;top:10%;left:50%;z-index:1050;width:560px;margin-left:-280px;background-color:#fff;border:1px solid #999;border:1px solid rgba(0,0,0,0.3);*border:1px solid #999;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;outline:0;-webkit-box-shadow:0 3px 7px rgba(0,0,0,0.3);-moz-box-shadow:0 3px 7px rgba(0,0,0,0.3);box-shadow:0 3px 7px rgba(0,0,0,0.3);-webkit-background-clip:padding-box;-moz-background-clip:padding-box;background-clip:padding-box}.modal.fade{top:-25%;-webkit-transition:opacity .3s linear,
top .3s ease-out;-moz-transition:opacity .3s linear,top .3s ease-out;-o-transition:opacity .3s linear,top .3s ease-out;transition:opacity .3s linear,top .3s ease-out}.modal.fade.in{top:10%}.modal-header{padding:9px 15px;border-bottom:1px solid #eee}.modal-header .close{margin-top:2px}.modal-header h3{margin:0;line-height:30px}.modal-body{position:relative;max-height:400px;padding:15px;overflow-y:auto}.modal-form{margin-bottom:0}.modal-footer{padding:14px 15px 15px;margin-bottom:0;text-align:right;background-color:#f5f5f5;border-top:1px solid #ddd;-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px;*zoom:1;-webkit-box-shadow:inset 0 1px 0 #fff;-moz-box-shadow:inset 0 1px 0 #fff;box-shadow:inset 0 1px 0 #fff}.modal-footer:before,.modal-footer:after{display:table;line-height:0;content:""}.modal-footer:after{clear:both}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-bloc
k+.btn-block{margin-left:0}.tooltip{position:absolute;z-index:1030;display:block;font-size:11px;line-height:1.4;opacity:0;filter:alpha(opacity=0);visibility:visible}.tooltip.in{opacity:.8;filter:alpha(opacity=80)}.tooltip.top{padding:5px 0;margin-top:-3px}.tooltip.right{padding:0 5px;margin-left:3px}.tooltip.bottom{padding:5px 0;margin-top:3px}.tooltip.left{padding:0 5px;margin-left:-3px}.tooltip-inner{max-width:200px;padding:8px;color:#fff;text-align:center;text-decoration:none;background-color:#000;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-top-color:#000;border-width:5px 5px 0}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-right-color:#000;border-width:5px 5px 5px 0}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-left-color:#000;border-width:5px 0 5px 5px
}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-bottom-color:#000;border-width:0 5px 5px}.popover{position:absolute;top:0;left:0;z-index:1010;display:none;max-width:276px;padding:1px;text-align:left;white-space:normal;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.2);-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,0.2);-moz-box-shadow:0 5px 10px rgba(0,0,0,0.2);box-shadow:0 5px 10px rgba(0,0,0,0.2);-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{padding:8px 14px;margin:0;font-size:14px;font-weight:normal;line-height:18px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;-webkit-border-radius:5px 5px 0 0;-moz-border-radius:5px 5px 0 0;border-radius:5px 5px 0 0}.popover-title:empty{displ
ay:none}.popover-content{padding:9px 14px}.popover .arrow,.popover .arrow:after{position:absolute;display:block;width:0

<TRUNCATED>
a***@apache.org
2017-12-21 04:52:53 UTC
Permalink
http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/docs/distributed/spark-bindings/faq.md
----------------------------------------------------------------------
diff --git a/website-old/docs/distributed/spark-bindings/faq.md b/website-old/docs/distributed/spark-bindings/faq.md
deleted file mode 100644
index 9649e3b..0000000
--- a/website-old/docs/distributed/spark-bindings/faq.md
+++ /dev/null
@@ -1,52 +0,0 @@
----
-layout: default
-title: FAQ
-theme:
- name: retro-mahout
----
-
-# FAQ for using Mahout with Spark
-
-**Q: Mahout Spark shell doesn't start; "ClassNotFound" problems or various classpath problems.**
-
-**A:** So far as of the time of this writing all reported problems starting the Spark shell in Mahout were revolving
-around classpath issues one way or another.
-
-If you are getting method signature like errors, most probably you have mismatch between Mahout's Spark dependency
-and actual Spark installed. (At the time of this writing the HEAD depends on Spark 1.1.0) but check mahout/pom.xml.
-
-Troubleshooting general classpath issues is pretty straightforward. Since Mahout is using Spark's installation
-and its classpath as reported by Spark itself for Spark-related dependencies, it is important to make sure
-the classpath is sane and is made available to Mahout:
-
-1. Check Spark is of correct version (same as in Mahout's poms), is compiled and SPARK_HOME is set.
-2. Check Mahout is compiled and MAHOUT_HOME is set.
-3. Run `$SPARK_HOME/bin/compute-classpath.sh` and make sure it produces sane result with no errors.
-If it outputs something other than a straightforward classpath string, most likely Spark is not compiled/set correctly (later spark versions require
-`sbt/sbt assembly` to be run, simply runnig `sbt/sbt publish-local` is not enough any longer).
-4. Run `$MAHOUT_HOME/bin/mahout -spark classpath` and check that path reported in step (3) is included.
-
-**Q: I am using the command line Mahout jobs that run on Spark or am writing my own application that uses
-Mahout's Spark code. When I run the code on my cluster I get ClassNotFound or signature errors during serialization.
-What's wrong?**
-
-**A:** The Spark artifacts in the maven ecosystem may not match the exact binary you are running on your cluster. This may
-cause class name or version mismatches. In this case you may wish
-to build Spark yourself to guarantee that you are running exactly what you are building Mahout against. To do this follow these steps
-in order:
-
-1. Build Spark with maven, but **do not** use the "package" target as described on the Spark site. Build with the "clean install" target instead.
-Something like: "mvn clean install -Dhadoop1.2.1" or whatever your particular build options are. This will put the jars for Spark
-in the local maven cache.
-2. Deploy **your** Spark build to your cluster and test it there.
-3. Build Mahout. This will cause maven to pull the jars for Spark from the local maven cache and may resolve missing
-or mis-identified classes.
-4. if you are building your own code do so against the local builds of Spark and Mahout.
-
-**Q: The implicit SparkContext 'sc' does not work in the Mahout spark-shell.**
-
-**A:** In the Mahout spark-shell the SparkContext is called 'sdc', where the 'd' stands for distributed.
-
-
-
-

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/docs/distributed/spark-bindings/index.md
----------------------------------------------------------------------
diff --git a/website-old/docs/distributed/spark-bindings/index.md b/website-old/docs/distributed/spark-bindings/index.md
deleted file mode 100644
index 54324c7..0000000
--- a/website-old/docs/distributed/spark-bindings/index.md
+++ /dev/null
@@ -1,104 +0,0 @@
----
-layout: default
-title: Spark Bindings
-theme:
- name: retro-mahout
----
-
-# Scala & Spark Bindings:
-*Bringing algebraic semantics*
-
-## What is Scala & Spark Bindings?
-
-In short, Scala & Spark Bindings for Mahout is Scala DSL and algebraic optimizer of something like this (actual formula from **(d)spca**)
-
-
-`\[\mathbf{G}=\mathbf{B}\mathbf{B}^{\top}-\mathbf{C}-\mathbf{C}^{\top}+\mathbf{s}_{q}\mathbf{s}_{q}^{\top}\boldsymbol{\xi}^{\top}\boldsymbol{\xi}\]`
-
-bound to in-core and distributed computations (currently, on Apache Spark).
-
-
-Mahout Scala & Spark Bindings expression of the above:
-
- val g = bt.t %*% bt - c - c.t + (s_q cross s_q) * (xi dot xi)
-
-The main idea is that a scientist writing algebraic expressions cannot care less of distributed
-operation plans and works **entirely on the logical level** just like he or she would do with R.
-
-Another idea is decoupling logical expression from distributed back-end. As more back-ends are added,
-this implies **"write once, run everywhere"**.
-
-The linear algebra side works with scalars, in-core vectors and matrices, and Mahout Distributed
-Row Matrices (DRMs).
-
-The ecosystem of operators is built in the R's image, i.e. it follows R naming such as %*%,
-colSums, nrow, length operating over vectors or matices.
-
-Important part of Spark Bindings is expression optimizer. It looks at expression as a whole
-and figures out how it can be simplified, and which physical operators should be picked. For example,
-there are currently about 5 different physical operators performing DRM-DRM multiplication
-picked based on matrix geometry, distributed dataset partitioning, orientation etc.
-If we count in DRM by in-core combinations, that would be another 4, i.e. 9 total -- all of it for just
-simple x %*% y logical notation.
-
-Please refer to the documentation for details.
-
-## Status
-
-This environment addresses mostly R-like Linear Algebra optmizations for
-Spark, Flink and H20.
-
-
-## Documentation
-
-* Scala and Spark bindings manual: [web](http://apache.github.io/mahout/doc/ScalaSparkBindings.html), [pdf](ScalaSparkBindings.pdf), [pptx](MahoutScalaAndSparkBindings.pptx)
-* [Spark Bindings FAQ](faq.html)
-<!-- dead link* Overview blog on 0.10.x releases: [blog](http://www.weatheringthroughtechdays.com/2015/04/mahout-010x-first-mahout-release-as.html) -->
-
-## Distributed methods and solvers using Bindings
-
-* In-core ([ssvd]) and Distributed ([dssvd]) Stochastic SVD -- guinea pigs -- see the bindings manual
-* In-core ([spca]) and Distributed ([dspca]) Stochastic PCA -- guinea pigs -- see the bindings manual
-* Distributed thin QR decomposition ([dqrThin]) -- guinea pig -- see the bindings manual
-* [Current list of algorithms](https://mahout.apache.org/users/basics/algorithms.html)
-
-[ssvd]: https://github.com/apache/mahout/blob/trunk/math-scala/src/main/scala/org/apache/mahout/math/scalabindings/SSVD.scala
-[spca]: https://github.com/apache/mahout/blob/trunk/math-scala/src/main/scala/org/apache/mahout/math/scalabindings/SSVD.scala
-[dssvd]: https://github.com/apache/mahout/blob/trunk/spark/src/main/scala/org/apache/mahout/sparkbindings/decompositions/DSSVD.scala
-[dspca]: https://github.com/apache/mahout/blob/trunk/spark/src/main/scala/org/apache/mahout/sparkbindings/decompositions/DSPCA.scala
-[dqrThin]: https://github.com/apache/mahout/blob/trunk/spark/src/main/scala/org/apache/mahout/sparkbindings/decompositions/DQR.scala
-
-## Reading RDDs and DataFrames into DRMs
-TODO
-
-
-TODO: Do we still want this? (I don't think so...)
-## Related history of note
-
-* CLI and Driver for Spark version of item similarity -- [MAHOUT-1541](https://issues.apache.org/jira/browse/MAHOUT-1541)
-* Command line interface for generalizable Spark pipelines -- [MAHOUT-1569](https://issues.apache.org/jira/browse/MAHOUT-1569)
-* Cooccurrence Analysis / Item-based Recommendation -- [MAHOUT-1464](https://issues.apache.org/jira/browse/MAHOUT-1464)
-* Spark Bindings -- [MAHOUT-1346](https://issues.apache.org/jira/browse/MAHOUT-1346)
-* Scala Bindings -- [MAHOUT-1297](https://issues.apache.org/jira/browse/MAHOUT-1297)
-* Interactive Scala & Spark Bindings Shell & Script processor -- [MAHOUT-1489](https://issues.apache.org/jira/browse/MAHOUT-1489)
-* OLS tutorial using Mahout shell -- [MAHOUT-1542](https://issues.apache.org/jira/browse/MAHOUT-1542)
-* Full abstraction of DRM apis and algorithms from a distributed engine -- [MAHOUT-1529](https://issues.apache.org/jira/browse/MAHOUT-1529)
-* Port Naive Bayes -- [MAHOUT-1493](https://issues.apache.org/jira/browse/MAHOUT-1493)
-
-## Work in progress
-* Text-delimited files for input and output -- [MAHOUT-1568](https://issues.apache.org/jira/browse/MAHOUT-1568)
-<!-- * Weighted (Implicit Feedback) ALS -- [MAHOUT-1365](https://issues.apache.org/jira/browse/MAHOUT-1365) -->
-<!--* Data frame R-like bindings -- [MAHOUT-1490](https://issues.apache.org/jira/browse/MAHOUT-1490) -->
-
-* *Your issue here!*
-
-<!-- ## Stuff wanted:
-* Data frame R-like bindings (similarly to linalg bindings)
-* Stat R-like bindings (perhaps we can just adapt to commons.math stat)
-* **BYODMs:** Bring Your Own Distributed Method on SparkBindings!
-* In-core jBlas matrix adapter
-* In-core GPU matrix adapters -->
-
-
-
-
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/docs/index.md
----------------------------------------------------------------------
diff --git a/website-old/docs/index.md b/website-old/docs/index.md
deleted file mode 100755
index 9d7f667..0000000
--- a/website-old/docs/index.md
+++ /dev/null
@@ -1,110 +0,0 @@
----
-layout: page
-title: Welcome to the Docs
-tagline: Apache Mahout from 30,000 feet (10,000 meters)
----
-
-
-You've probably already noticed Mahout has a lot of things going on at different levels, and it can be hard to know where
-to start. Let's provide an overview to help you see how the pieces fit together. In general the stack is something like this:
-
-1. Application Code
-1. Samsara Scala-DSL (Syntactic Sugar)
-1. Logical/Physical DAG
-1. Engine Bindings
-1. Code runs in Engine
-1. Native Solvers
-
-## Application Code
-
-You have an JAVA/Scala applicatoin (skip this if you're working from an interactive shell or Apache Zeppelin)
-
-
- def main(args: Array[String]) {
-
- println("Welcome to My Mahout App")
-
- if (args.isEmpty) {
-
-This may seem like a trivial part to call out, but the point is important- Mahout runs _inline_ with your regular application
-code. E.g. if this is an Apache Spark app, then you do all your Spark things, including ETL and data prep in the same
-application, and then invoke Mahout's mathematically expressive Scala DSL when you're ready to math on it.
-
-## Samsara Scala-DSL (Syntactic Sugar)
-
-So when you get to a point in your code where you're ready to math it up (in this example Spark) you can elegently express
-yourself mathematically.
-
- implicit val sdc: org.apache.mahout.sparkbindings.SparkDistributedContext = sc2sdc(sc)
-
- val A = drmWrap(rddA)
- val B = drmWrap(rddB)
-
- val C = A.t %*% A + A %*% B.t
-
-We've defined a `MahoutDistributedContext` (which is a wrapper on the Spark Context), and two Disitributed Row Matrices (DRMs)
-which are wrappers around RDDs (in Spark).
-
-## Logical / Physical DAG
-
-At this point there is a bit of optimization that happens. For example, consider the
-
- A.t %*% A
-
-Which is
-<center>\(\mathbf{A^\intercal A}\)</center>
-
-Transposing a large matrix is a very expensive thing to do, and in this case we don't actually need to do it. There is a
-more efficient way to calculate <foo>\(\mathbf{A^\intercal A}\)</foo> that doesn't require a physical transpose.
-
-(Image showing this)
-
-Mahout converts this code into something that looks like:
-
- OpAtA(A) + OpABt(A, B) // illustrative pseudocode with real functions called
-
-There's a little more magic that happens at this level, but the punchline is _Mahout translates the pretty scala into a
-a series of operators, which at the next level are turned implemented at the engine_.
-
-## Engine Bindings and Engine Level Ops
-
-When one creates new engine bindings, one is in essence defining
-
-1. What the engine specific underlying structure for a DRM is (in Spark its an RDD). The underlying structure also has
-rows of `MahoutVector`s, so in Spark `RDD[(index, MahoutVector)]`. This will be important when we get to the native solvers.
-1. Implementing a set of BLAS (basic linear algebra) functions for working on the underlying structure- in Spark this means
-implementing things like `AtA` on an RDD. See [the sparkbindings on github](https://github.com/apache/mahout/tree/master/spark/src/main/scala/org/apache/mahout/sparkbindings)
-
-Now your mathematically expresive Samsara Scala code has been translated into optimized engine specific functions.
-
-## Native Solvers
-
-Recall how I said the rows of the DRMs are `org.apache.mahout.math.Vector`. Here is where this becomes important. I'm going
-to explain this in the context of Spark, but the principals apply to all distributed backends.
-
-If you are familiar with how mapping and reducing in Spark, then envision this RDD of `MahoutVector`s, each partition,
-and indexed collection of vectors is a _block_ of the distributed matrix, however this _block_ is totally incore, and therefor
-is treated like an in core matrix.
-
-Now Mahout defines its own incore BLAS packs and refers to them as _Native Solvers_. The default native solver is just plain
-old JVM, which is painfully slow, but works just about anywhere.
-
-When the data gets to the node and an operation on the matrix block is called. In the same way Mahout converts abstract
-operators on the DRM that are implemented on various distributed engines, it calls abstract operators on the incore matrix
-and vectors which are implemented on various native solvers.
-
-The default "native solver" is the JVM, which isn't native at all- and if no actual native solvers are present operations
-will fall back to this. However, IF a native solver is present (the jar was added to the notebook), then the magic will happen.
-
-Imagine still we have our Spark executor- it has this block of a matrix sitting in its core. Now let's suppose the `ViennaCl-OMP`
-native solver is in use. When Spark calls an operation on this incore matrix, the matrix dumps out of the JVM and the
-calculation is carried out on _all available CPUs_.
-
-In a similar way, the `ViennaCL` native solver dumps the matrix out of the JVM and looks for a GPU to execute the operations on.
-
-Once the operations are complete, the result is loaded back up into the JVM, and Spark (or whatever distributed engine) and
-shipped back to the driver.
-
-The native solver operatoins are only defined on `org.apache.mahout.math.Vector` and `org.apache.mahout.math.Matrix`, which is
-why it is critical that the underlying structure composed row-wise of `Vector` or `Matrices`.
-

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/docs/mahout-samsara/faq.md
----------------------------------------------------------------------
diff --git a/website-old/docs/mahout-samsara/faq.md b/website-old/docs/mahout-samsara/faq.md
deleted file mode 100644
index af9d466..0000000
--- a/website-old/docs/mahout-samsara/faq.md
+++ /dev/null
@@ -1,51 +0,0 @@
----
-layout: page
-title: Mahout Samsara
-theme:
- name: mahout2
----
-# FAQ for using Mahout with Spark
-
-**Q: Mahout Spark shell doesn't start; "ClassNotFound" problems or various classpath problems.**
-
-**A:** So far as of the time of this writing all reported problems starting the Spark shell in Mahout were revolving
-around classpath issues one way or another.
-
-If you are getting method signature like errors, most probably you have mismatch between Mahout's Spark dependency
-and actual Spark installed. (At the time of this writing the HEAD depends on Spark 1.1.0) but check mahout/pom.xml.
-
-Troubleshooting general classpath issues is pretty straightforward. Since Mahout is using Spark's installation
-and its classpath as reported by Spark itself for Spark-related dependencies, it is important to make sure
-the classpath is sane and is made available to Mahout:
-
-1. Check Spark is of correct version (same as in Mahout's poms), is compiled and SPARK_HOME is set.
-2. Check Mahout is compiled and MAHOUT_HOME is set.
-3. Run `$SPARK_HOME/bin/compute-classpath.sh` and make sure it produces sane result with no errors.
-If it outputs something other than a straightforward classpath string, most likely Spark is not compiled/set correctly (later spark versions require
-`sbt/sbt assembly` to be run, simply runnig `sbt/sbt publish-local` is not enough any longer).
-4. Run `$MAHOUT_HOME/bin/mahout -spark classpath` and check that path reported in step (3) is included.
-
-**Q: I am using the command line Mahout jobs that run on Spark or am writing my own application that uses
-Mahout's Spark code. When I run the code on my cluster I get ClassNotFound or signature errors during serialization.
-What's wrong?**
-
-**A:** The Spark artifacts in the maven ecosystem may not match the exact binary you are running on your cluster. This may
-cause class name or version mismatches. In this case you may wish
-to build Spark yourself to guarantee that you are running exactly what you are building Mahout against. To do this follow these steps
-in order:
-
-1. Build Spark with maven, but **do not** use the "package" target as described on the Spark site. Build with the "clean install" target instead.
-Something like: "mvn clean install -Dhadoop1.2.1" or whatever your particular build options are. This will put the jars for Spark
-in the local maven cache.
-2. Deploy **your** Spark build to your cluster and test it there.
-3. Build Mahout. This will cause maven to pull the jars for Spark from the local maven cache and may resolve missing
-or mis-identified classes.
-4. if you are building your own code do so against the local builds of Spark and Mahout.
-
-**Q: The implicit SparkContext 'sc' does not work in the Mahout spark-shell.**
-
-**A:** In the Mahout spark-shell the SparkContext is called 'sdc', where the 'd' stands for distributed.
-
-
-
-

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/docs/mahout-samsara/in-core-reference.md
----------------------------------------------------------------------
diff --git a/website-old/docs/mahout-samsara/in-core-reference.md b/website-old/docs/mahout-samsara/in-core-reference.md
deleted file mode 100644
index a3f78dc..0000000
--- a/website-old/docs/mahout-samsara/in-core-reference.md
+++ /dev/null
@@ -1,303 +0,0 @@
----
-layout: page
-title: Mahout Samsara In Core
-theme:
- name: mahout2
----
-## Mahout-Samsara's In-Core Linear Algebra DSL Reference
-
-#### Imports
-
-The following imports are used to enable Mahout-Samsara's Scala DSL bindings for in-core Linear Algebra:
-
- import org.apache.mahout.math._
- import scalabindings._
- import RLikeOps._
-
-#### Inline initalization
-
-Dense vectors:
-
- val densVec1: Vector = (1.0, 1.1, 1.2)
- val denseVec2 = dvec(1, 0, 1,1 ,1,2)
-
-Sparse vectors:
-
- val sparseVec1: Vector = (5 -> 1.0) :: (10 -> 2.0) :: Nil
- val sparseVec1 = svec((5 -> 1.0) :: (10 -> 2.0) :: Nil)
-
- // to create a vector with specific cardinality
- val sparseVec1 = svec((5 -> 1.0) :: (10 -> 2.0) :: Nil, cardinality = 20)
-
-Inline matrix initialization, either sparse or dense, is always done row wise.
-
-Dense matrices:
-
- val A = dense((1, 2, 3), (3, 4, 5))
-
-Sparse matrices:
-
- val A = sparse(
- (1, 3) :: Nil,
- (0, 2) :: (1, 2.5) :: Nil
- )
-
-Diagonal matrix with constant diagonal elements:
-
- diag(3.5, 10)
-
-Diagonal matrix with main diagonal backed by a vector:
-
- diagv((1, 2, 3, 4, 5))
-
-Identity matrix:
-
- eye(10)
-
-####Slicing and Assigning
-
-Getting a vector element:
-
- val d = vec(5)
-
-Setting a vector element:
-
- vec(5) = 3.0
-
-Getting a matrix element:
-
- val d = m(3,5)
-
-Setting a matrix element:
-
- M(3,5) = 3.0
-
-Getting a matrix row or column:
-
- val rowVec = M(3, ::)
- val colVec = M(::, 3)
-
-Setting a matrix row or column via vector assignment:
-
- M(3, ::) := (1, 2, 3)
- M(::, 3) := (1, 2, 3)
-
-Setting a subslices of a matrix row or column:
-
- a(0, 0 to 1) = (3, 5)
-
-Setting a subslices of a matrix row or column via vector assignment:
-
- a(0, 0 to 1) := (3, 5)
-
-Getting a matrix as from matrix contiguous block:
-
- val B = A(2 to 3, 3 to 4)
-
-Assigning a contiguous block to a matrix:
-
- A(0 to 1, 1 to 2) = dense((3, 2), (3 ,3))
-
-Assigning a contiguous block to a matrix using the matrix assignment operator:
-
- A(o to 1, 1 to 2) := dense((3, 2), (3, 3))
-
-Assignment operator used for copying between vectors or matrices:
-
- vec1 := vec2
- M1 := M2
-
-Assignment operator using assignment through a functional literal for a matrix:
-
- M := ((row, col, x) => if (row == col) 1 else 0
-
-Assignment operator using assignment through a functional literal for a vector:
-
- vec := ((index, x) => sqrt(x)
-
-#### BLAS-like operations
-
-Plus/minus either vector or numeric with assignment or not:
-
- a + b
- a - b
- a + 5.0
- a - 5.0
-
-Hadamard (elementwise) product, either vector or matrix or numeric operands:
-
- a * b
- a * 0.5
-
-Operations with assignment:
-
- a += b
- a -= b
- a += 5.0
- a -= 5.0
- a *= b
- a *= 5
-
-*Some nuanced rules*:
-
-1/x in R (where x is a vector or a matrix) is elementwise inverse. In scala it would be expressed as:
-
- val xInv = 1 /: x
-
-and R's 5.0 - x would be:
-
- val x1 = 5.0 -: x
-
-*note: All assignment operations, including :=, return the assignee just like in C++*:
-
- a -= b
-
-assigns **a - b** to **b** (in-place) and returns **b**. Similarly for **a /=: b** or **1 /=: v**
-
-
-Dot product:
-
- a dot b
-
-Matrix and vector equivalency (or non-equivalency). **Dangerous, exact equivalence is rarely useful, better to use norm comparisons with an allowance of small errors.**
-
- a === b
- a !== b
-
-Matrix multiply:
-
- a %*% b
-
-Optimized Right Multiply with a diagonal matrix:
-
- diag(5, 5) :%*% b
-
-Optimized Left Multiply with a diagonal matrix:
-
- A %*%: diag(5, 5)
-
-Second norm, of a vector or matrix:
-
- a.norm
-
-Transpose:
-
- val Mt = M.t
-
-*note: Transposition is currently handled via view, i.e. updating a transposed matrix will be updating the original.* Also computing something like `\(\mathbf{X^\top}\mathbf{X}\)`:
-
- val XtX = X.t %*% X
-
-will not therefore incur any additional data copying.
-
-#### Decompositions
-
-Matrix decompositions require an additional import:
-
- import org.apache.mahout.math.decompositions._
-
-
-All arguments in the following are matricies.
-
-**Cholesky decomposition**
-
- val ch = chol(M)
-
-**SVD**
-
- val (U, V, s) = svd(M)
-
-**EigenDecomposition**
-
- val (V, d) = eigen(M)
-
-**QR decomposition**
-
- val (Q, R) = qr(M)
-
-**Rank**: Check for rank deficiency (runs rank-revealing QR)
-
- M.isFullRank
-
-**In-core SSVD**
-
- Val (U, V, s) = ssvd(A, k = 50, p = 15, q = 1)
-
-**Solving linear equation systems and matrix inversion:** fully similar to R semantics; there are three forms of invocation:
-
-
-Solve `\(\mathbf{AX}=\mathbf{B}\)`:
-
- solve(A, B)
-
-Solve `\(\mathbf{Ax}=\mathbf{b}\)`:
-
- solve(A, b)
-
-Compute `\(\mathbf{A^{-1}}\)`:
-
- solve(A)
-
-#### Misc
-
-Vector cardinality:
-
- a.length
-
-Matrix cardinality:
-
- m.nrow
- m.ncol
-
-Means and sums:
-
- m.colSums
- m.colMeans
- m.rowSums
- m.rowMeans
-
-Copy-By-Value:
-
- val b = a cloned
-
-#### Random Matrices
-
-`\(\mathcal{U}\)`(0,1) random matrix view:
-
- val incCoreA = Matrices.uniformView(m, n, seed)
-
-
-`\(\mathcal{U}\)`(-1,1) random matrix view:
-
- val incCoreA = Matrices.symmetricUniformView(m, n, seed)
-
-`\(\mathcal{N}\)`(-1,1) random matrix view:
-
- val incCoreA = Matrices.gaussianView(m, n, seed)
-
-#### Iterators
-
-Mahout-Math already exposes a number of iterators. Scala code just needs the following imports to enable implicit conversions to scala iterators.
-
- import collection._
- import JavaConversions._
-
-Iterating over rows in a Matrix:
-
- for (row <- m) {
- ... do something with row
- }
-
-<!--Iterating over non-zero and all elements of a vector:
-*Note that Vector.Element also has some implicit syntatic sugar, e.g to add 5.0 to every non-zero element of a matrix, the following code may be used:*
-
- for (row <- m; el <- row.nonZero) el = 5.0 + el
- ... or
- for (row <- m; el <- row.nonZero) el := 5.0 + el
-
-Similarly **row.all** produces an iterator over all elements in a row (Vector).
--->
-
-For more information including information on Mahout-Samsara's out-of-core Linear algebra bindings see: [Mahout Scala Bindings and Mahout Spark Bindings for Linear Algebra Subroutines](http://mahout.apache.org/users/sparkbindings/ScalaSparkBindings.pdf)
-
-

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/docs/mahout-samsara/out-of-core-reference.md
----------------------------------------------------------------------
diff --git a/website-old/docs/mahout-samsara/out-of-core-reference.md b/website-old/docs/mahout-samsara/out-of-core-reference.md
deleted file mode 100644
index 3642e49..0000000
--- a/website-old/docs/mahout-samsara/out-of-core-reference.md
+++ /dev/null
@@ -1,317 +0,0 @@
----
-layout: page
-title: Mahout Samsara Out of Core
-theme:
- name: mahout2
----
-# Mahout-Samsara's Distributed Linear Algebra DSL Reference
-
-**Note: this page is meant only as a quick reference to Mahout-Samsara's R-Like DSL semantics. For more information, including information on Mahout-Samsara's Algebraic Optimizer please see: [Mahout Scala Bindings and Mahout Spark Bindings for Linear Algebra Subroutines](http://mahout.apache.org/users/sparkbindings/ScalaSparkBindings.pdf).**
-
-The subjects of this reference are solely applicable to Mahout-Samsara's **DRM** (distributed row matrix).
-
-In this reference, DRMs will be denoted as e.g. `A`, and in-core matrices as e.g. `inCoreA`.
-
-#### Imports
-
-The following imports are used to enable seamless in-core and distributed algebraic DSL operations:
-
- import org.apache.mahout.math._
- import scalabindings._
- import RLikeOps._
- import drm._
- import RLikeDRMOps._
-
-If working with mixed scala/java code:
-
- import collection._
- import JavaConversions._
-
-If you are working with Mahout-Samsara's Spark-specific operations e.g. for context creation:
-
- import org.apache.mahout.sparkbindings._
-
-The Mahout shell does all of these imports automatically.
-
-
-#### DRM Persistence operators
-
-**Mahout-Samsara's DRM persistance to HDFS is compatible with all Mahout-MapReduce algorithms such as seq2sparse.**
-
-
-Loading a DRM from (HD)FS:
-
- drmDfsRead(path = hdfsPath)
-
-Parallelizing from an in-core matrix:
-
- val inCoreA = (dense(1, 2, 3), (3, 4, 5))
- val A = drmParallelize(inCoreA)
-
-Creating an empty DRM:
-
- val A = drmParallelizeEmpty(100, 50)
-
-Collecting to driver's jvm in-core:
-
- val inCoreA = A.collect
-
-**Warning: The collection of distributed matrices happens implicitly whenever conversion to an in-core (o.a.m.math.Matrix) type is required. E.g.:**
-
- val inCoreA: Matrix = ...
- val drmB: DrmLike[Int] =...
- val inCoreC: Matrix = inCoreA %*%: drmB
-
-**implies (incoreA %*%: drmB).collect**
-
-Collecting to (HD)FS as a Mahout's DRM formatted file:
-
- A.dfsWrite(path = hdfsPath)
-
-#### Logical algebraic operators on DRM matrices:
-
-A logical set of operators are defined for distributed matrices as a subset of those defined for in-core matrices. In particular, since all distributed matrices are immutable, there are no assignment operators (e.g. **A += B**)
-*Note: please see: [Mahout Scala Bindings and Mahout Spark Bindings for Linear Algebra Subroutines](http://mahout.apache.org/users/sparkbindings/ScalaSparkBindings.pdf) for information on Mahout-Samsars's Algebraic Optimizer, and translation from logical operations to a physical plan for the back end.*
-
-
-Cache a DRM and trigger an optimized physical plan:
-
- drmA.checkpoint(CacheHint.MEMORY_AND_DISK)
-
-Other valid caching Instructions:
-
- drmA.checkpoint(CacheHint.NONE)
- drmA.checkpoint(CacheHint.DISK_ONLY)
- drmA.checkpoint(CacheHint.DISK_ONLY_2)
- drmA.checkpoint(CacheHint.MEMORY_ONLY)
- drmA.checkpoint(CacheHint.MEMORY_ONLY_2)
- drmA.checkpoint(CacheHint.MEMORY_ONLY_SER
- drmA.checkpoint(CacheHint.MEMORY_ONLY_SER_2)
- drmA.checkpoint(CacheHint.MEMORY_AND_DISK_2)
- drmA.checkpoint(CacheHint.MEMORY_AND_DISK_SER)
- drmA.checkpoint(CacheHint.MEMORY_AND_DISK_SER_2)
-
-*Note: Logical DRM operations are lazily computed. Currently the actual computations and optional caching will be triggered by dfsWrite(...), collect(...) and blockify(...).*
-
-
-
-Transposition:
-
- A.t
-
-Elementwise addition *(Matrices of identical geometry and row key types)*:
-
- A + B
-
-Elementwise subtraction *(Matrices of identical geometry and row key types)*:
-
- A - B
-
-Elementwise multiplication (Hadamard) *(Matrices of identical geometry and row key types)*:
-
- A * B
-
-Elementwise division *(Matrices of identical geometry and row key types)*:
-
- A / B
-
-**Elementwise operations involving one in-core argument (int-keyed DRMs only)**:
-
- A + inCoreB
- A - inCoreB
- A * inCoreB
- A / inCoreB
- A :+ inCoreB
- A :- inCoreB
- A :* inCoreB
- A :/ inCoreB
- inCoreA +: B
- inCoreA -: B
- inCoreA *: B
- inCoreA /: B
-
-Note the Spark associativity change (e.g. `A *: inCoreB` means `B.leftMultiply(A`), same as when both arguments are in core). Whenever operator arguments include both in-core and out-of-core arguments, the operator can only be associated with the out-of-core (DRM) argument to support the distributed implementation.
-
-**Matrix-matrix multiplication %*%**:
-
-`\(\mathbf{M}=\mathbf{AB}\)`
-
- A %*% B
- A %*% inCoreB
- A %*% inCoreDiagonal
- A %*%: B
-
-
-*Note: same as above, whenever operator arguments include both in-core and out-of-core arguments, the operator can only be associated with the out-of-core (DRM) argument to support the distributed implementation.*
-
-**Matrix-vector multiplication %*%**
-Currently we support a right multiply product of a DRM and an in-core Vector(`\(\mathbf{Ax}\)`) resulting in a single column DRM, which then can be collected in front (usually the desired outcome):
-
- val Ax = A %*% x
- val inCoreX = Ax.collect(::, 0)
-
-
-**Matrix-scalar +,-,*,/**
-Elementwise operations of every matrix element and a scalar:
-
- A + 5.0
- A - 5.0
- A :- 5.0
- 5.0 -: A
- A * 5.0
- A / 5.0
- 5.0 /: a
-
-Note that `5.0 -: A` means `\(m_{ij} = 5 - a_{ij}\)` and `5.0 /: A` means `\(m_{ij} = \frac{5}{a{ij}}\)` for all elements of the result.
-
-
-#### Slicing
-
-General slice:
-
- A(100 to 200, 100 to 200)
-
-Horizontal Block:
-
- A(::, 100 to 200)
-
-Vertical Block:
-
- A(100 to 200, ::)
-
-*Note: if row range is not all-range (::) the the DRM must be `Int`-keyed. General case row slicing is not supported by DRMs with key types other than `Int`*.
-
-
-#### Stitching
-
-Stitch side by side (cbind R semantics):
-
- val drmAnextToB = drmA cbind drmB
-
-Stitch side by side (Scala):
-
- val drmAnextToB = drmA.cbind(drmB)
-
-Analogously, vertical concatenation is available via **rbind**
-
-#### Custom pipelines on blocks
-Internally, Mahout-Samsara's DRM is represented as a distributed set of vertical (Key, Block) tuples.
-
-**drm.mapBlock(...)**:
-
-The DRM operator `mapBlock` provides transformational access to the distributed vertical blockified tuples of a matrix (Row-Keys, Vertical-Matrix-Block).
-
-Using `mapBlock` to add 1.0 to a DRM:
-
- val inCoreA = dense((1, 2, 3), (2, 3 , 4), (3, 4, 5))
- val drmA = drmParallelize(inCoreA)
- val B = A.mapBlock() {
- case (keys, block) => keys -> (block += 1.0)
- }
-
-#### Broadcasting Vectors and matrices to closures
-Generally we can create and use one-way closure attributes to be used on the back end.
-
-Scalar matrix multiplication:
-
- val factor: Int = 15
- val drm2 = drm1.mapBlock() {
- case (keys, block) => block *= factor
- keys -> block
- }
-
-**Closure attributes must be java-serializable. Currently Mahout's in-core Vectors and Matrices are not java-serializable, and must be broadcast to the closure using `drmBroadcast(...)`**:
-
- val v: Vector ...
- val bcastV = drmBroadcast(v)
- val drm2 = drm1.mapBlock() {
- case (keys, block) =>
- for(row <- 0 until block.nrow) block(row, ::) -= bcastV
- keys -> block
- }
-
-#### Computations providing ad-hoc summaries
-
-
-Matrix cardinality:
-
- drmA.nrow
- drmA.ncol
-
-*Note: depending on the stage of optimization, these may trigger a computational action. I.e. if one calls `nrow()` n times, then the back end will actually recompute `nrow` n times.*
-
-Means and sums:
-
- drmA.colSums
- drmA.colMeans
- drmA.rowSums
- drmA.rowMeans
-
-
-*Note: These will always trigger a computational action. I.e. if one calls `colSums()` n times, then the back end will actually recompute `colSums` n times.*
-
-#### Distributed Matrix Decompositions
-
-To import the decomposition package:
-
- import org.apache.mahout.math._
- import decompositions._
-
-Distributed thin QR:
-
- val (drmQ, incoreR) = dqrThin(drmA)
-
-Distributed SSVD:
-
- val (drmU, drmV, s) = dssvd(drmA, k = 40, q = 1)
-
-Distributed SPCA:
-
- val (drmU, drmV, s) = dspca(drmA, k = 30, q = 1)
-
-Distributed regularized ALS:
-
- val (drmU, drmV, i) = dals(drmA,
- k = 50,
- lambda = 0.0,
- maxIterations = 10,
- convergenceThreshold = 0.10))
-
-#### Adjusting parallelism of computations
-
-Set the minimum parallelism to 100 for computations on `drmA`:
-
- drmA.par(min = 100)
-
-Set the exact parallelism to 100 for computations on `drmA`:
-
- drmA.par(exact = 100)
-
-
-Set the engine specific automatic parallelism adjustment for computations on `drmA`:
-
- drmA.par(auto = true)
-
-#### Retrieving the engine specific data structure backing the DRM:
-
-**A Spark RDD:**
-
- val myRDD = drmA.checkpoint().rdd
-
-**An H2O Frame and Key Vec:**
-
- val myFrame = drmA.frame
- val myKeys = drmA.keys
-
-**A Flink DataSet:**
-
- val myDataSet = drmA.ds
-
-For more information including information on Mahout-Samsara's Algebraic Optimizer and in-core Linear algebra bindings see: [Mahout Scala Bindings and Mahout Spark Bindings for Linear Algebra Subroutines](http://mahout.apache.org/users/sparkbindings/ScalaSparkBindings.pdf)
-
-
-
-
-
-
-

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/docs/native-solvers/cuda.md
----------------------------------------------------------------------
diff --git a/website-old/docs/native-solvers/cuda.md b/website-old/docs/native-solvers/cuda.md
deleted file mode 100644
index 1ec7807..0000000
--- a/website-old/docs/native-solvers/cuda.md
+++ /dev/null
@@ -1,6 +0,0 @@
----
-layout: page
-title: Native Solvers- CUDA
-theme:
- name: mahout2
----

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/docs/native-solvers/viennacl-omp.md
----------------------------------------------------------------------
diff --git a/website-old/docs/native-solvers/viennacl-omp.md b/website-old/docs/native-solvers/viennacl-omp.md
deleted file mode 100644
index 7540ad3..0000000
--- a/website-old/docs/native-solvers/viennacl-omp.md
+++ /dev/null
@@ -1,6 +0,0 @@
----
-layout: page
-title: Native Solvers- ViennaCL-OMP
-theme:
- name: mahout2
----
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/docs/native-solvers/viennacl.md
----------------------------------------------------------------------
diff --git a/website-old/docs/native-solvers/viennacl.md b/website-old/docs/native-solvers/viennacl.md
deleted file mode 100644
index d41e0f7..0000000
--- a/website-old/docs/native-solvers/viennacl.md
+++ /dev/null
@@ -1,6 +0,0 @@
----
-layout: page
-title: Native Solvers- ViennaCL
-theme:
- name: mahout2
----
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/docs/quickstart.md
----------------------------------------------------------------------
diff --git a/website-old/docs/quickstart.md b/website-old/docs/quickstart.md
deleted file mode 100644
index 2a947ad..0000000
--- a/website-old/docs/quickstart.md
+++ /dev/null
@@ -1,63 +0,0 @@
----
-layout: default
-title: Quickstart
-theme:
- name: mahout2
----
-# Mahout Quick Start
-# TODO : Fill this in with the bare essential basics
-
-
-
-# Mahout MapReduce Overview
-
-## Getting Mahout
-
-#### Download the latest release
-
-Download the latest release [here](http://www.apache.org/dyn/closer.cgi/mahout/).
-
-Or checkout the latest code from [here](http://mahout.apache.org/developers/version-control.html)
-
-#### Alternatively: Add Mahout 0.13.0 to a maven project
-
-Mahout is also available via a [maven repository](http://mvnrepository.com/artifact/org.apache.mahout) under the group id *org.apache.mahout*.
-If you would like to import the latest release of mahout into a java project, add the following dependency in your *pom.xml*:
-
- <dependency>
- <groupId>org.apache.mahout</groupId>
- <artifactId>mahout-mr</artifactId>
- <version>0.13.0</version>
- </dependency>
-
-
-## Features
-
-For a full list of Mahout's features see our [Features by Engine](http://mahout.apache.org/users/basics/algorithms.html) page.
-
-
-## Using Mahout
-
-Mahout has prepared a bunch of examples and tutorials for users to quickly learn how to use its machine learning algorithms.
-
-#### Recommendations
-
-Check the [Recommender Quickstart](/users/recommender/quickstart.html) or the tutorial on [creating a userbased recommender in 5 minutes](/users/recommender/userbased-5-minutes.html).
-
-If you are building a recommender system for the first time, please also refer to a list of [Dos and Don'ts](/users/recommender/recommender-first-timer-faq.html) that might be helpful.
-
-#### Clustering
-
-Check the [Synthetic data](/users/clustering/clustering-of-synthetic-control-data.html) example.
-
-#### Classification
-
-If you are interested in how to train a **Naive Bayes** model, look at the [20 newsgroups](/users/classification/twenty-newsgroups.html) example.
-
-If you plan to build a **Hidden Markov Model** for speech recognition, the example [here](/users/classification/hidden-markov-models.html) might be instructive.
-
-Or you could build a **Random Forest** model by following this [quick start page](/users/classification/partial-implementation.html).
-
-#### Working with Text
-
-If you need to convert raw text into word vectors as input to clustering or classification algorithms, please refer to this page on [how to create vectors from text](/users/basics/creating-vectors-from-text.html).

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/docs/screenshots/landing.png b/website-old/docs/screenshots/landing.png
deleted file mode 100644
index d879e46..0000000
Binary files a/website-old/docs/screenshots/landing.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/docs/screenshots/mr-algos.png b/website-old/docs/screenshots/mr-algos.png
deleted file mode 100644
index 34b4f53..0000000
Binary files a/website-old/docs/screenshots/mr-algos.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/docs/screenshots/tutorials.png b/website-old/docs/screenshots/tutorials.png
deleted file mode 100644
index 500187a..0000000
Binary files a/website-old/docs/screenshots/tutorials.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/docs/tutorials/cco-lastfm/cco-lastfm.scala
----------------------------------------------------------------------
diff --git a/website-old/docs/tutorials/cco-lastfm/cco-lastfm.scala b/website-old/docs/tutorials/cco-lastfm/cco-lastfm.scala
deleted file mode 100644
index 6ba46a9..0000000
--- a/website-old/docs/tutorials/cco-lastfm/cco-lastfm.scala
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
-*/
-
-/*
- * Download data from: http://files.grouplens.org/datasets/hetrec2011/hetrec2011-lastfm-2k.zip
- * then run this in the mahout shell.
- */
-
-import org.apache.mahout.sparkbindings.indexeddataset.IndexedDatasetSpark
-
-// We need to turn our raw text files into RDD[(String, String)]
-val userTagsRDD = sc.textFile("/path/to/lastfm/user_taggedartists.dat").map(line => line.split("\t")).map(a => (a(0), a(2))).filter(_._1 != "userID")
-val userTagsIDS = IndexedDatasetSpark.apply(userTagsRDD)(sc)
-
-val userArtistsRDD = sc.textFile("/path/to/lastfm/user_artists.dat").map(line => line.split("\t")).map(a => (a(0), a(1))).filter(_._1 != "userID")
-val userArtistsIDS = IndexedDatasetSpark.apply(userArtistsRDD)(sc)
-
-val userFriendsRDD = sc.textFile("/path/to/data/lastfm/user_friends.dat").map(line => line.split("\t")).map(a => (a(0), a(1))).filter(_._1 != "userID")
-val userFriendsIDS = IndexedDatasetSpark.apply(userFriendsRDD)(sc)
-
-import org.apache.mahout.math.cf.SimilarityAnalysis
-
-val artistReccosLlrDrmListByArtist = SimilarityAnalysis.cooccurrencesIDSs(Array(userArtistsIDS, userTagsIDS, userFriendsIDS), maxInterestingItemsPerThing = 20, maxNumInteractions = 500, randomSeed = 1234)
-
-// Anonymous User
-
-val artistMap = sc.textFile("/path/to/lastfm/artists.dat").map(line => line.split("\t")).map(a => (a(1), a(0))).filter(_._1 != "name").collect.toMap
-val tagsMap = sc.textFile("/path/to/lastfm/tags.dat").map(line => line.split("\t")).map(a => (a(1), a(0))).filter(_._1 != "tagValue").collect.toMap
-
-// Watch your skin- you're not wearing armour. (This will fail on misspelled artists
-// This is neccessary because the ids are integer-strings already, and for this demo I didn't want to chance them to Integer types (bc more often you'll have strings).
-val kilroyUserArtists = svec( (userArtistsIDS.columnIDs.get(artistMap("Beck")).get, 1) ::
- (userArtistsIDS.columnIDs.get(artistMap("David Bowie")).get, 1) ::
- (userArtistsIDS.columnIDs.get(artistMap("Gary Numan")).get, 1) ::
- (userArtistsIDS.columnIDs.get(artistMap("Less Than Jake")).get, 1) ::
- (userArtistsIDS.columnIDs.get(artistMap("Lou Reed")).get, 1) ::
- (userArtistsIDS.columnIDs.get(artistMap("Parliament")).get, 1) ::
- (userArtistsIDS.columnIDs.get(artistMap("Radiohead")).get, 1) ::
- (userArtistsIDS.columnIDs.get(artistMap("Seu Jorge")).get, 1) ::
- (userArtistsIDS.columnIDs.get(artistMap("The Skatalites")).get, 1) ::
- (userArtistsIDS.columnIDs.get(artistMap("Reverend Horton Heat")).get, 1) ::
- (userArtistsIDS.columnIDs.get(artistMap("Talking Heads")).get, 1) ::
- (userArtistsIDS.columnIDs.get(artistMap("Tom Waits")).get, 1) ::
- (userArtistsIDS.columnIDs.get(artistMap("Waylon Jennings")).get, 1) ::
- (userArtistsIDS.columnIDs.get(artistMap("Wu-Tang Clan")).get, 1) :: Nil, cardinality = userArtistsIDS.columnIDs.size
-)
-
-val kilroyUserTags = svec(
- (userTagsIDS.columnIDs.get(tagsMap("classical")).get, 1) ::
- (userTagsIDS.columnIDs.get(tagsMap("skacore")).get, 1) ::
- (userTagsIDS.columnIDs.get(tagsMap("why on earth is this just a bonus track")).get, 1) ::
- (userTagsIDS.columnIDs.get(tagsMap("punk rock")).get, 1) :: Nil, cardinality = userTagsIDS.columnIDs.size)
-
-val kilroysRecs = (artistReccosLlrDrmListByArtist(0).matrix %*% kilroyUserArtists + artistReccosLlrDrmListByArtist(1).matrix %*% kilroyUserTags).collect
-
-
-import org.apache.mahout.math.scalabindings.MahoutCollections._
-import collection._
-import JavaConversions._
-
-// Which Users I should Be Friends with.
-println(kilroysRecs(::, 0).toMap.toList.sortWith(_._2 > _._2).take(5))
-
-/**
- * So there you have it- the basis for a new dating/friend finding app based on musical preferences which
- * is actually a pretty dope idea.
- *
- * Solving for which bands a user might like is left as an exercise to the reader.
- */
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/docs/tutorials/cco-lastfm/index.md
----------------------------------------------------------------------
diff --git a/website-old/docs/tutorials/cco-lastfm/index.md b/website-old/docs/tutorials/cco-lastfm/index.md
deleted file mode 100644
index ca95f9d..0000000
--- a/website-old/docs/tutorials/cco-lastfm/index.md
+++ /dev/null
@@ -1,151 +0,0 @@
----
-layout: tutorial
-title: CCOs with Last.fm
-theme:
- name: mahout2
----
-
-Most reccomender examples utilize the MovieLense dataset, but that relies only on ratings (which makes the recommender being demonstrated look less trivial). Right next to the MovieLense dataset is the LastFM data set. The LastFM dataset has ratings by user, friends of the user, bands listened to by user, and tags by user. This is the kind of exciting data set we’d like to work with!
-
-Start by downloading the LastFM dataset from
-http://files.grouplens.org/datasets/hetrec2011/hetrec2011-lastfm-2k.zip
-
-I’m going to assume you’ve unzipped them to /path/to/lastfm/*
-We’re going to use a new trick for creating our IndexedDataSets, the `apply` function. `apply` takes an `RDD[(String, String)]` that is an RDD of tuples where both elements are strings. We load RDDs, and use Spark to manipulate the RDDs into this form. The files from LastFM are tab seperated- but it should be noted, that this could easily be done from log files, but would just take a touch more Spark-Fu.
-
-The second important thing to note is that the first element in each tuple is going to be the rows in the resulting matrix, the second element will be the column, and at that position there will be a one. The BiDictionary will automatically be created from the strings.
-For those following along at home- [the full Scala worksheet](cco-lastfm.scala) might be easier than copying and pasting
-from this page.
-
-```
-import org.apache.mahout.sparkbindings.indexeddataset.IndexedDatasetSpark
-
-val userTagsRDD = sc.textFile("/path/to/lastfm/user_taggedartists.dat")
-.map(line => line.split("\t"))
-.map(a => (a(0), a(2)))
-.filter(_._1 != "userID")
-val userTagsIDS = IndexedDatasetSpark.apply(userTagsRDD)(sc)
-
-val userArtistsRDD = sc.textFile("/path/to/lastfm/user_artists.dat")
-.map(line => line.split("\t"))
-.map(a => (a(0), a(1)))
-.filter(_._1 != "userID")
-val userArtistsIDS = IndexedDatasetSpark.apply(userArtistsRDD)(sc)
-
-val userFriendsRDD = sc.textFile("/path/to/lastfm/user_friends.dat")
-.map(line => line.split("\t"))
-.map(a => (a(0), a(1)))
-.filter(_._1 != "userID")
-val userFriendsIDS = IndexedDatasetSpark.apply(userFriendsRDD)(sc)
-```
-
-How much easier was that?! In each RDD creations we:
-
-Load our data using sc.textFile
-
- sc.textFile("/path/to/lastfm/user_taggedartists.dat")
-
-Split the data into an array based on tabs (\t)
-
- .map(line => line.split("\t"))
-
-Pull the userID column into the first position of the tuple, and the other attribute we want into the second position.
-
- .map(a => (a(0), a(1)))
-
-Remove the header (the only line that will have “userID” in that position)
-
- .filter(_._1 != "userID")
-
-Then we easily create an IndexedDataSet using the `apply` method.
-val userTagsIDS = IndexedDatasetSpark.apply(userTagsRDD)(sc)
-Note the `(sc)` at the end. You may or may not need that. `sc` is the SparkContext and should be passed as an implicit parameter, however the REPL environment (e.g. Mahout Shell or notebooks) has a hard time with the implicits, so I had to pass it explicitly.
-
-Now we compute our co-occurrence matrices:
-```scala
-import org.apache.mahout.math.cf.SimilarityAnalysis
-
-val artistReccosLlrDrmListByArtist = SimilarityAnalysis.cooccurrencesIDSs(
-Array(userArtistsIDS, userTagsIDS, userFriendsIDS),
-maxInterestingItemsPerThing = 20,
-maxNumInteractions = 500,
-randomSeed = 1234)
-```
-
-
-Let’s see an example of how this would work-
-
-First we have a small problem. If you look at our original input files, the userIDs, artistIDs, and tags were all integers. We loaded them as strings and if you look at the BiDictionaries associated with each IDS, you’ll see they map the original integers as strings to the integer indices of our matrix. Not super helpful. There are other files which contain mappings from LastFM ID to human readable band and tag names. I could have sorted this out in the begining but I chose to do it on the backside because it is a bit of clever Spark/Scala only needed to work around a quirk in this particular dataset. We have to reverse map a few things if we want to input ‘human readable’ attributes, which I did. If this doesn’t make sense, please don’t be discouraged- the important part was above, this is just some magic for working with this dataset in a pretty way.
-
-First I load, and create incore maps from the mapping files:
-
-```scala
-val artistMap = sc.textFile("/path/to/lastfm/artists.dat")
- .map(line => line.split("\t"))
- .map(a => (a(1), a(0)))
- .filter(_._1 != "name")
- .collect
- .toMap
-
-val tagsMap = sc.textFile("/path/tolastfm/tags.dat")
- .map(line => line.split("\t"))
- .map(a => (a(1), a(0)))
- .filter(_._1 != "tagValue")
- .collect
- .toMap
-
-```
-
-This will create some `Map`s that I can use to type readable names for the artist and tags to create my ‘history’.
-
-```scala
-val kilroyUserArtists = svec( (userArtistsIDS.columnIDs.get(artistMap("Beck")).get, 1) ::
- (userArtistsIDS.columnIDs.get(artistMap("David Bowie")).get, 1) ::
- (userArtistsIDS.columnIDs.get(artistMap("Gary Numan")).get, 1) ::
- (userArtistsIDS.columnIDs.get(artistMap("Less Than Jake")).get, 1) ::
- (userArtistsIDS.columnIDs.get(artistMap("Lou Reed")).get, 1) ::
- (userArtistsIDS.columnIDs.get(artistMap("Parliament")).get, 1) ::
- (userArtistsIDS.columnIDs.get(artistMap("Radiohead")).get, 1) ::
- (userArtistsIDS.columnIDs.get(artistMap("Seu Jorge")).get, 1) ::
- (userArtistsIDS.columnIDs.get(artistMap("The Skatalites")).get, 1) ::
- (userArtistsIDS.columnIDs.get(artistMap("Reverend Horton Heat")).get, 1) ::
- (userArtistsIDS.columnIDs.get(artistMap("Talking Heads")).get, 1) ::
- (userArtistsIDS.columnIDs.get(artistMap("Tom Waits")).get, 1) ::
- (userArtistsIDS.columnIDs.get(artistMap("Waylon Jennings")).get, 1) ::
- (userArtistsIDS.columnIDs.get(artistMap("Wu-Tang Clan")).get, 1) :: Nil,
- cardinality = userArtistsIDS.columnIDs.size
-)
-
-
-
-val kilroyUserTags = svec(
- (userTagsIDS.columnIDs.get(tagsMap("classical")).get, 1) ::
- (userTagsIDS.columnIDs.get(tagsMap("skacore")).get, 1) ::
- (userTagsIDS.columnIDs.get(tagsMap("why on earth is this just a bonus track")).get, 1) ::
- (userTagsIDS.columnIDs.get(tagsMap("punk rock")).get, 1) :: Nil,
- cardinality = userTagsIDS.columnIDs.size)
-```
-
-So what we have then is me typing in a name to `artistMap` where the keys are human readable names of my favorite bands, which returns the value which is the LastFM ID, which in turn is the key in the BiDictionary map, and returns the matrix position. I’m making a sparse vector where I want the index at the value I just fetched (which in an awry way refers to the artist I specified) to have the value 1.
-
-Same idea for the tags.
-
-I now have two history vectors. I didn’t make one for the users table, because I don’t have any friends on LastFM yet. That’s about to change though, because I’m about to have some friends recommended to me.
-
-val kilroysRecs = (artistReccosLlrDrmListByArtist(0).matrix %*% kilroyUserArtists + artistReccosLlrDrmListByArtist(1).matrix %*% kilroyUserTags).collect
-Finally let’s sort that vector out and get some user ids and strengths.
-```scala
-import org.apache.mahout.math.scalabindings.MahoutCollections._
-import collection._
-import JavaConversions._
-
-// Which Users I should Be Friends with.
-println(kilroysRecs(::, 0).toMap.toList.sortWith(_._2 > _._2).take(5))
-
-```
-
-`kilroysRecs` is actually a one column matrix, so we take that, and the convert it into something we can sort. We then take the top 5 suggestions. Keep in mind, this will return the Mahout user ID, which you would also have to reverse map back to the lastFM userID. The lastFM userID is just another Integer, and not particularly exciting so I left that out.
-
-If you wanted to recommend artists like a normal recommendation engine- you would change the first position in all of the input matrices to be “artistID”. This is left as an exercise to the user.
-
-[Full Scala Worksheet](cco-lastfm.scala)

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/docs/tutorials/eigenfaces/eigenfaces.png b/website-old/docs/tutorials/eigenfaces/eigenfaces.png
deleted file mode 100644
index b388575..0000000
Binary files a/website-old/docs/tutorials/eigenfaces/eigenfaces.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/docs/tutorials/eigenfaces/index.md
----------------------------------------------------------------------
diff --git a/website-old/docs/tutorials/eigenfaces/index.md b/website-old/docs/tutorials/eigenfaces/index.md
deleted file mode 100644
index 08f3bb6..0000000
--- a/website-old/docs/tutorials/eigenfaces/index.md
+++ /dev/null
@@ -1,128 +0,0 @@
----
-layout: tutorial
-title: Eigenfaces Demo
-theme:
- name: mahout3
----
-
-*Credit: [original blog post by rawkintrevo](https://rawkintrevo.org/2016/11/10/deep-magic-volume-3-eigenfaces/). This will be maintained through version changes, blog post will not.*
-
-*Eigenfaces* are an image equivelent(ish) to *eigenvectors* if you recall your high school linear algebra classes. If you don't recall: [read wikipedia](https://en.wikipedia.org/wiki/Eigenvalues_and_eigenvectors) otherwise, it is a set of 'faces' that by a linear combination can be used to represent other faces.
-
-Their are lots of "image recognition" things out there right now, and deep learning is the popular one everyone is talking about.
-Deep learning will admittedly do better a recognizing and correctly classifying faces, however it does so at a price.
-1. Neural networks are very costly to train in the first place
-1. Everytime a new person is added, the neural network must be retrained to recognize the new person
-
-The advantage/use-case for the eigenfaces approach is when new faces are being regularly added. Even when building a production
-grade eigenfaces based system- neural networks still have a place- _idenitifying faces_ in images, and creating _centered and scaled_ images around
-the face. This is scalable because we only need to train our neural network to detect, center, and scale faces once. E.g.
-a neural network would be deployed as a microservice, and then eigenfaces would be deployed as a microservice.
-
-A production version ends up looking something like this:
-- Image comes in- is fed to 'detect faces, center, scale- neural network based microservice'
-- Neural network microservice detects faces, centers and scales. Passes each face to eigenfaces microservice
-- For each face:<br>
- a. Decompose face into linear combination of eigenfaces<br>
- b. Determine if linear combination vector is close enough to any exististing vector to declare a match <br>
- c. If no match "add new person" to face corpus.
-
-### Get the data
-
-The first thing we're going to do is collect a set of 13,232 face images (250x250 pixels) from the <a href="http://vis-www.cs.umass.edu/lfw/">Labeled Faces in the Wild</a> data set.
-
- cd /tmp
- mkdir eigenfaces
- wget http://vis-www.cs.umass.edu/lfw/lfw-deepfunneled.tgz
- tar -xzf lfw-deepfunneled.tgz
-
-### Load dependencies
-
- cd $MAHOUT_HOME/bin
- ./mahout spark-shell \
- --packages com.sksamuel.scrimage:scrimage-core_2.10:2.1.0, \
- com.sksamuel.scrimage:scrimage-io-extra_2.10:2.1.0, \
- com.sksamuel.scrimage:scrimage-filters_2.10:2.1.0
-
-
-
-### Create a DRM of Vectorized Images
-
-```scala
-import com.sksamuel.scrimage._
-import com.sksamuel.scrimage.filter.GrayscaleFilter
-
-val imagesRDD:DrmRdd[Int] = sc.binaryFiles("/tmp/lfw-deepfunneled/*/*", 500)
- .map(o => new DenseVector( Image.apply(o._2.toArray)
- .filter(GrayscaleFilter)
- .pixels
- .map(p => p.toInt.toDouble / 10000000)) )
- .zipWithIndex
- .map(o => (o._2.toInt, o._1))
-
-val imagesDRM = drmWrap(rdd= imagesRDD).par(min = 500).checkpoint()
-
-println(s"Dataset: ${imagesDRM.nrow} images, ${imagesDRM.ncol} pixels per image")
-```
-
-### Mean Center the Images
-
-```scala
-import org.apache.mahout.math.algorithms.preprocessing.MeanCenter
-
-
-val scaler: MeanCenterModel = new MeanCenter().fit(imagesDRM)
-
-val centeredImages = scaler.transform(imagesDRM)
-```
-
-
-### Calculate the Eigenimages via DS-SVD
-
-```scala
-import org.apache.mahout.math._
-import decompositions._
-import drm._
-
-val(drmU, drmV, s) = dssvd(centeredImages, k= 20, p= 15, q = 0)
-```
-
-### Write the Eigenfaces to Disk
-
-```scala
-import java.io.File
-import javax.imageio.ImageIO
-
-val sampleImagePath = "/home/guest/lfw-deepfunneled/Aaron_Eckhart/Aaron_Eckhart_0001.jpg"
-val sampleImage = ImageIO.read(new File(sampleImagePath))
-val w = sampleImage.getWidth
-val h = sampleImage.getHeight
-
-val eigenFaces = drmV.t.collect(::,::)
-val colMeans = scaler.colCentersV
-
-for (i <- 0 until 20){
- val v = (eigenFaces(i, ::) + colMeans) * 10000000
- val output = new Array[com.sksamuel.scrimage.Pixel](v.size)
- for (i <- 0 until v.size) {
- output(i) = Pixel(v.get(i).toInt)
- }
- val image = Image(w, h, output)
- image.output(new File(s"/tmp/eigenfaces/${i}.png"))
-}
-```
-
-### View the Eigenfaces
-
-If using Zeppelin, the following can be used to generate a fun table of the Eigenfaces:
-
-```python
-%python
-
-r = 4
-c = 5
-print '%html\n<table style="width:100%">' + "".join(["<tr>" + "".join([ '<td><img src="/tmp/eigenfaces/%i.png"></td>' % (i + j) for j in range(0, c) ]) + "</tr>" for i in range(0, r * c, r +1 ) ]) + '</table>'
-
-```
-
-![Eigenfaces](eigenfaces.png)
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/docs/tutorials/intro-cooccurrence-spark/index.md
----------------------------------------------------------------------
diff --git a/website-old/docs/tutorials/intro-cooccurrence-spark/index.md b/website-old/docs/tutorials/intro-cooccurrence-spark/index.md
deleted file mode 100644
index d7d0185..0000000
--- a/website-old/docs/tutorials/intro-cooccurrence-spark/index.md
+++ /dev/null
@@ -1,446 +0,0 @@
----
-layout: algorithm
-title: Intro to Cooccurrence Recommenders with Spark
-theme:
- name: retro-mahout
----
-
-# Intro to Cooccurrence Recommenders with Spark
-
-Mahout provides several important building blocks for creating recommendations using Spark. *spark-itemsimilarity* can
-be used to create "other people also liked these things" type recommendations and paired with a search engine can
-personalize recommendations for individual users. *spark-rowsimilarity* can provide non-personalized content based
-recommendations and when paired with a search engine can be used to personalize content based recommendations.
-
-![image](Loading Image...)
-
-This is a simplified Lambda architecture with Mahout's *spark-itemsimilarity* playing the batch model building role and a search engine playing the realtime serving role.
-
-You will create two collections, one for user history and one for item "indicators". Indicators are user interactions that lead to the wished for interaction. So for example if you wish a user to purchase something and you collect all users purchase interactions *spark-itemsimilarity* will create a purchase indicator from them. But you can also use other user interactions in a cross-cooccurrence calculation, to create purchase indicators.
-
-User history is used as a query on the item collection with its cooccurrence and cross-cooccurrence indicators (there may be several indicators). The primary interaction or action is picked to be the thing you want to recommend, other actions are believed to be corelated but may not indicate exactly the same user intent. For instance in an ecom recommender a purchase is a very good primary action, but you may also know product detail-views, or additions-to-wishlists. These can be considered secondary actions which may all be used to calculate cross-cooccurrence indicators. The user history that forms the recommendations query will contain recorded primary and secondary actions all targetted towards the correct indicator fields.
-
-## References
-
-1. A free ebook, which talks about the general idea: [Practical Machine Learning](https://www.mapr.com/practical-machine-learning)
-2. A slide deck, which talks about mixing actions or other indicators: [Creating a Unified Recommender](http://occamsmachete.com/ml/2014/10/07/creating-a-unified-recommender-with-mahout-and-a-search-engine/)
-3. Two blog posts: [What's New in Recommenders: part #1](http://occamsmachete.com/ml/2014/08/11/mahout-on-spark-whats-new-in-recommenders/)
-and [What's New in Recommenders: part #2](http://occamsmachete.com/ml/2014/09/09/mahout-on-spark-whats-new-in-recommenders-part-2/)
-3. A post describing the loglikelihood ratio: [Surprise and Coinsidense](http://tdunning.blogspot.com/2008/03/surprise-and-coincidence.html) LLR is used to reduce noise in the data while keeping the calculations O(n) complexity.
-
-Below are the command line jobs but the drivers and associated code can also be customized and accessed from the Scala APIs.
-
-## 1. spark-itemsimilarity
-*spark-itemsimilarity* is the Spark counterpart of the of the Mahout mapreduce job called *itemsimilarity*. It takes in elements of interactions, which have userID, itemID, and optionally a value. It will produce one of more indicator matrices created by comparing every user's interactions with every other user. The indicator matrix is an item x item matrix where the values are log-likelihood ratio strengths. For the legacy mapreduce version, there were several possible similarity measures but these are being deprecated in favor of LLR because in practice it performs the best.
-
-Mahout's mapreduce version of itemsimilarity takes a text file that is expected to have user and item IDs that conform to
-Mahout's ID requirements--they are non-negative integers that can be viewed as row and column numbers in a matrix.
-
-*spark-itemsimilarity* also extends the notion of cooccurrence to cross-cooccurrence, in other words the Spark version will
-account for multi-modal interactions and create cross-cooccurrence indicator matrices allowing the use of much more data in
-creating recommendations or similar item lists. People try to do this by mixing different actions and giving them weights.
-For instance they might say an item-view is 0.2 of an item purchase. In practice this is often not helpful. Spark-itemsimilarity's
-cross-cooccurrence is a more principled way to handle this case. In effect it scrubs secondary actions with the action you want
-to recommend.
-
-
- spark-itemsimilarity Mahout 1.0
- Usage: spark-itemsimilarity [options]
-
- Disconnected from the target VM, address: '127.0.0.1:64676', transport: 'socket'
- Input, output options
- -i <value> | --input <value>
- Input path, may be a filename, directory name, or comma delimited list of HDFS supported URIs (required)
- -i2 <value> | --input2 <value>
- Secondary input path for cross-similarity calculation, same restrictions as "--input" (optional). Default: empty.
- -o <value> | --output <value>
- Path for output, any local or HDFS supported URI (required)
-
- Algorithm control options:
- -mppu <value> | --maxPrefs <value>
- Max number of preferences to consider per user (optional). Default: 500
- -m <value> | --maxSimilaritiesPerItem <value>
- Limit the number of similarities per item to this number (optional). Default: 100
-
- Note: Only the Log Likelihood Ratio (LLR) is supported as a similarity measure.
-
- Input text file schema options:
- -id <value> | --inDelim <value>
- Input delimiter character (optional). Default: "[,\t]"
- -f1 <value> | --filter1 <value>
- String (or regex) whose presence indicates a datum for the primary item set (optional). Default: no filter, all data is used
- -f2 <value> | --filter2 <value>
- String (or regex) whose presence indicates a datum for the secondary item set (optional). If not present no secondary dataset is collected
- -rc <value> | --rowIDColumn <value>
- Column number (0 based Int) containing the row ID string (optional). Default: 0
- -ic <value> | --itemIDColumn <value>
- Column number (0 based Int) containing the item ID string (optional). Default: 1
- -fc <value> | --filterColumn <value>
- Column number (0 based Int) containing the filter string (optional). Default: -1 for no filter
-
- Using all defaults the input is expected of the form: "userID<tab>itemId" or "userID<tab>itemID<tab>any-text..." and all rows will be used
-
- File discovery options:
- -r | --recursive
- Searched the -i path recursively for files that match --filenamePattern (optional), Default: false
- -fp <value> | --filenamePattern <value>
- Regex to match in determining input files (optional). Default: filename in the --input option or "^part-.*" if --input is a directory
-
- Output text file schema options:
- -rd <value> | --rowKeyDelim <value>
- Separates the rowID key from the vector values list (optional). Default: "\t"
- -cd <value> | --columnIdStrengthDelim <value>
- Separates column IDs from their values in the vector values list (optional). Default: ":"
- -td <value> | --elementDelim <value>
- Separates vector element values in the values list (optional). Default: " "
- -os | --omitStrength
- Do not write the strength to the output files (optional), Default: false.
- This option is used to output indexable data for creating a search engine recommender.
-
- Default delimiters will produce output of the form: "itemID1<tab>itemID2:value2<space>itemID10:value10..."
-
- Spark config options:
- -ma <value> | --master <value>
- Spark Master URL (optional). Default: "local". Note that you can specify the number of cores to get a performance improvement, for example "local[4]"
- -sem <value> | --sparkExecutorMem <value>
- Max Java heap available as "executor memory" on each node (optional). Default: 4g
- -rs <value> | --randomSeed <value>
-
- -h | --help
- prints this usage text
-
-This looks daunting but defaults to simple fairly sane values to take exactly the same input as legacy code and is pretty flexible. It allows the user to point to a single text file, a directory full of files, or a tree of directories to be traversed recursively. The files included can be specified with either a regex-style pattern or filename. The schema for the file is defined by column numbers, which map to the important bits of data including IDs and values. The files can even contain filters, which allow unneeded rows to be discarded or used for cross-cooccurrence calculations.
-
-See ItemSimilarityDriver.scala in Mahout's spark module if you want to customize the code.
-
-### Defaults in the _**spark-itemsimilarity**_ CLI
-
-If all defaults are used the input can be as simple as:
-
- userID1,itemID1
- userID2,itemID2
- ...
-
-With the command line:
-
-
- bash$ mahout spark-itemsimilarity --input in-file --output out-dir
-
-
-This will use the "local" Spark context and will output the standard text version of a DRM
-
- itemID1<tab>itemID2:value2<space>itemID10:value10...
-
-### <a name="multiple-actions">How To Use Multiple User Actions</a>
-
-Often we record various actions the user takes for later analytics. These can now be used to make recommendations.
-The idea of a recommender is to recommend the action you want the user to make. For an ecom app this might be
-a purchase action. It is usually not a good idea to just treat other actions the same as the action you want to recommend.
-For instance a view of an item does not indicate the same intent as a purchase and if you just mixed the two together you
-might even make worse recommendations. It is tempting though since there are so many more views than purchases. With *spark-itemsimilarity*
-we can now use both actions. Mahout will use cross-action cooccurrence analysis to limit the views to ones that do predict purchases.
-We do this by treating the primary action (purchase) as data for the indicator matrix and use the secondary action (view)
-to calculate the cross-cooccurrence indicator matrix.
-
-*spark-itemsimilarity* can read separate actions from separate files or from a mixed action log by filtering certain lines. For a mixed
-action log of the form:
-
- u1,purchase,iphone
- u1,purchase,ipad
- u2,purchase,nexus
- u2,purchase,galaxy
- u3,purchase,surface
- u4,purchase,iphone
- u4,purchase,galaxy
- u1,view,iphone
- u1,view,ipad
- u1,view,nexus
- u1,view,galaxy
- u2,view,iphone
- u2,view,ipad
- u2,view,nexus
- u2,view,galaxy
- u3,view,surface
- u3,view,nexus
- u4,view,iphone
- u4,view,ipad
- u4,view,galaxy
-
-###Command Line
-
-
-Use the following options:
-
- bash$ mahout spark-itemsimilarity \
- --input in-file \ # where to look for data
- --output out-path \ # root dir for output
- --master masterUrl \ # URL of the Spark master server
- --filter1 purchase \ # word that flags input for the primary action
- --filter2 view \ # word that flags input for the secondary action
- --itemIDPosition 2 \ # column that has the item ID
- --rowIDPosition 0 \ # column that has the user ID
- --filterPosition 1 # column that has the filter word
-
-
-
-### Output
-
-The output of the job will be the standard text version of two Mahout DRMs. This is a case where we are calculating
-cross-cooccurrence so a primary indicator matrix and cross-cooccurrence indicator matrix will be created
-
- out-path
- |-- similarity-matrix - TDF part files
- \-- cross-similarity-matrix - TDF part-files
-
-The similarity-matrix will contain the lines:
-
- galaxy\tnexus:1.7260924347106847
- ipad\tiphone:1.7260924347106847
- nexus\tgalaxy:1.7260924347106847
- iphone\tipad:1.7260924347106847
- surface
-
-The cross-similarity-matrix will contain:
-
- iphone\tnexus:1.7260924347106847 iphone:1.7260924347106847 ipad:1.7260924347106847 galaxy:1.7260924347106847
- ipad\tnexus:0.6795961471815897 iphone:0.6795961471815897 ipad:0.6795961471815897 galaxy:0.6795961471815897
- nexus\tnexus:0.6795961471815897 iphone:0.6795961471815897 ipad:0.6795961471815897 galaxy:0.6795961471815897
- galaxy\tnexus:1.7260924347106847 iphone:1.7260924347106847 ipad:1.7260924347106847 galaxy:1.7260924347106847
- surface\tsurface:4.498681156950466 nexus:0.6795961471815897
-
-**Note:** You can run this multiple times to use more than two actions or you can use the underlying
-SimilarityAnalysis.cooccurrence API, which will more efficiently calculate any number of cross-cooccurrence indicators.
-
-### Log File Input
-
-A common method of storing data is in log files. If they are written using some delimiter they can be consumed directly by spark-itemsimilarity. For instance input of the form:
-
- 2014-06-23 14:46:53.115\tu1\tpurchase\trandom text\tiphone
- 2014-06-23 14:46:53.115\tu1\tpurchase\trandom text\tipad
- 2014-06-23 14:46:53.115\tu2\tpurchase\trandom text\tnexus
- 2014-06-23 14:46:53.115\tu2\tpurchase\trandom text\tgalaxy
- 2014-06-23 14:46:53.115\tu3\tpurchase\trandom text\tsurface
- 2014-06-23 14:46:53.115\tu4\tpurchase\trandom text\tiphone
- 2014-06-23 14:46:53.115\tu4\tpurchase\trandom text\tgalaxy
- 2014-06-23 14:46:53.115\tu1\tview\trandom text\tiphone
- 2014-06-23 14:46:53.115\tu1\tview\trandom text\tipad
- 2014-06-23 14:46:53.115\tu1\tview\trandom text\tnexus
- 2014-06-23 14:46:53.115\tu1\tview\trandom text\tgalaxy
- 2014-06-23 14:46:53.115\tu2\tview\trandom text\tiphone
- 2014-06-23 14:46:53.115\tu2\tview\trandom text\tipad
- 2014-06-23 14:46:53.115\tu2\tview\trandom text\tnexus
- 2014-06-23 14:46:53.115\tu2\tview\trandom text\tgalaxy
- 2014-06-23 14:46:53.115\tu3\tview\trandom text\tsurface
- 2014-06-23 14:46:53.115\tu3\tview\trandom text\tnexus
- 2014-06-23 14:46:53.115\tu4\tview\trandom text\tiphone
- 2014-06-23 14:46:53.115\tu4\tview\trandom text\tipad
- 2014-06-23 14:46:53.115\tu4\tview\trandom text\tgalaxy
-
-Can be parsed with the following CLI and run on the cluster producing the same output as the above example.
-
- bash$ mahout spark-itemsimilarity \
- --input in-file \
- --output out-path \
- --master spark://sparkmaster:4044 \
- --filter1 purchase \
- --filter2 view \
- --inDelim "\t" \
- --itemIDPosition 4 \
- --rowIDPosition 1 \
- --filterPosition 2
-
-## 2. spark-rowsimilarity
-
-*spark-rowsimilarity* is the companion to *spark-itemsimilarity* the primary difference is that it takes a text file version of
-a matrix of sparse vectors with optional application specific IDs and it finds similar rows rather than items (columns). Its use is
-not limited to collaborative filtering. The input is in text-delimited form where there are three delimiters used. By
-default it reads (rowID&lt;tab>columnID1:strength1&lt;space>columnID2:strength2...) Since this job only supports LLR similarity,
- which does not use the input strengths, they may be omitted in the input. It writes
-(rowID&lt;tab>rowID1:strength1&lt;space>rowID2:strength2...)
-The output is sorted by strength descending. The output can be interpreted as a row ID from the primary input followed
-by a list of the most similar rows.
-
-The command line interface is:
-
- spark-rowsimilarity Mahout 1.0
- Usage: spark-rowsimilarity [options]
-
- Input, output options
- -i <value> | --input <value>
- Input path, may be a filename, directory name, or comma delimited list of HDFS supported URIs (required)
- -o <value> | --output <value>
- Path for output, any local or HDFS supported URI (required)
-
- Algorithm control options:
- -mo <value> | --maxObservations <value>
- Max number of observations to consider per row (optional). Default: 500
- -m <value> | --maxSimilaritiesPerRow <value>
- Limit the number of similarities per item to this number (optional). Default: 100
-
- Note: Only the Log Likelihood Ratio (LLR) is supported as a similarity measure.
- Disconnected from the target VM, address: '127.0.0.1:49162', transport: 'socket'
-
- Output text file schema options:
- -rd <value> | --rowKeyDelim <value>
- Separates the rowID key from the vector values list (optional). Default: "\t"
- -cd <value> | --columnIdStrengthDelim <value>
- Separates column IDs from their values in the vector values list (optional). Default: ":"
- -td <value> | --elementDelim <value>
- Separates vector element values in the values list (optional). Default: " "
- -os | --omitStrength
- Do not write the strength to the output files (optional), Default: false.
- This option is used to output indexable data for creating a search engine recommender.
-
- Default delimiters will produce output of the form: "itemID1<tab>itemID2:value2<space>itemID10:value10..."
-
- File discovery options:
- -r | --recursive
- Searched the -i path recursively for files that match --filenamePattern (optional), Default: false
- -fp <value> | --filenamePattern <value>
- Regex to match in determining input files (optional). Default: filename in the --input option or "^part-.*" if --input is a directory
-
- Spark config options:
- -ma <value> | --master <value>
- Spark Master URL (optional). Default: "local". Note that you can specify the number of cores to get a performance improvement, for example "local[4]"
- -sem <value> | --sparkExecutorMem <value>
- Max Java heap available as "executor memory" on each node (optional). Default: 4g
- -rs <value> | --randomSeed <value>
-
- -h | --help
- prints this usage text
-
-See RowSimilarityDriver.scala in Mahout's spark module if you want to customize the code.
-
-# 3. Using *spark-rowsimilarity* with Text Data
-
-Another use case for *spark-rowsimilarity* is in finding similar textual content. For instance given the tags associated with
-a blog post,
- which other posts have similar tags. In this case the columns are tags and the rows are posts. Since LLR is
-the only similarity method supported this is not the optimal way to determine general "bag-of-words" document similarity.
-LLR is used more as a quality filter than as a similarity measure. However *spark-rowsimilarity* will produce
-lists of similar docs for every doc if input is docs with lists of terms. The Apache [Lucene](http://lucene.apache.org) project provides several methods of [analyzing and tokenizing](http://lucene.apache.org/core/4_9_0/core/org/apache/lucene/analysis/package-summary.html#package_description) documents.
-
-# <a name="unified-recommender">4. Creating a Multimodal Recommender</a>
-
-Using the output of *spark-itemsimilarity* and *spark-rowsimilarity* you can build a miltimodal cooccurrence and content based
- recommender that can be used in both or either mode depending on indicators available and the history available at
-runtime for a user. Some slide describing this method can be found [here](http://occamsmachete.com/ml/2014/10/07/creating-a-unified-recommender-with-mahout-and-a-search-engine/)
-
-## Requirements
-
-1. Mahout SNAPSHOT-1.0 or later
-2. Hadoop
-3. Spark, the correct version for your version of Mahout and Hadoop
-4. A search engine like Solr or Elasticsearch
-
-## Indicators
-
-Indicators come in 3 types
-
-1. **Cooccurrence**: calculated with *spark-itemsimilarity* from user actions
-2. **Content**: calculated from item metadata or content using *spark-rowsimilarity*
-3. **Intrinsic**: assigned to items as metadata. Can be anything that describes the item.
-
-The query for recommendations will be a mix of values meant to match one of your indicators. The query can be constructed
-from user history and values derived from context (category being viewed for instance) or special precalculated data
-(popularity rank for instance). This blending of indicators allows for creating many flavors or recommendations to fit
-a very wide variety of circumstances.
-
-With the right mix of indicators developers can construct a single query that works for completely new items and new users
-while working well for items with lots of interactions and users with many recorded actions. In other words by adding in content and intrinsic
-indicators developers can create a solution for the "cold-start" problem that gracefully improves with more user history
-and as items have more interactions. It is also possible to create a completely content-based recommender that personalizes
-recommendations.
-
-## Example with 3 Indicators
-
-You will need to decide how you store user action data so they can be processed by the item and row similarity jobs and
-this is most easily done by using text files as described above. The data that is processed by these jobs is considered the
-training data. You will need some amount of user history in your recs query. It is typical to use the most recent user history
-but need not be exactly what is in the training set, which may include a greater volume of historical data. Keeping the user
-history for query purposes could be done with a database by storing it in a users table. In the example above the two
-collaborative filtering actions are "purchase" and "view", but let's also add tags (taken from catalog categories or other
-descriptive metadata).
-
-We will need to create 1 cooccurrence indicator from the primary action (purchase) 1 cross-action cooccurrence indicator
-from the secondary action (view)
-and 1 content indicator (tags). We'll have to run *spark-itemsimilarity* once and *spark-rowsimilarity* once.
-
-We have described how to create the collaborative filtering indicators for purchase and view (the [How to use Multiple User
-Actions](#multiple-actions) section) but tags will be a slightly different process. We want to use the fact that
-certain items have tags similar to the ones associated with a user's purchases. This is not a collaborative filtering indicator
-but rather a "content" or "metadata" type indicator since you are not using other users' history, only the
-individual that you are making recs for. This means that this method will make recommendations for items that have
-no collaborative filtering data, as happens with new items in a catalog. New items may have tags assigned but no one
- has purchased or viewed them yet. In the final query we will mix all 3 indicators.
-
-##Content Indicator
-
-To create a content-indicator we'll make use of the fact that the user has purchased items with certain tags. We want to find
-items with the most similar tags. Notice that other users' behavior is not considered--only other item's tags. This defines a
-content or metadata indicator. They are used when you want to find items that are similar to other items by using their
-content or metadata, not by which users interacted with them.
-
-**Note**: It may be advisable to treat tags as cross-cooccurrence indicators but for the sake of an example they are treated here as content only.
-
-For this we need input of the form:
-
- itemID<tab>list-of-tags
- ...
-
-The full collection will look like the tags column from a catalog DB. For our ecom example it might be:
-
- 3459860b<tab>men long-sleeve chambray clothing casual
- 9446577d<tab>women tops chambray clothing casual
- ...
-
-We'll use *spark-rowimilairity* because we are looking for similar rows, which encode items in this case. As with the
-collaborative filtering indicators we use the --omitStrength option. The strengths created are
-probabilistic log-likelihood ratios and so are used to filter unimportant similarities. Once the filtering or downsampling
-is finished we no longer need the strengths. We will get an indicator matrix of the form:
-
- itemID<tab>list-of-item IDs
- ...
-
-This is a content indicator since it has found other items with similar content or metadata.
-
- 3459860b<tab>3459860b 3459860b 6749860c 5959860a 3434860a 3477860a
- 9446577d<tab>9446577d 9496577d 0943577d 8346577d 9442277d 9446577e
- ...
-
-We now have three indicators, two collaborative filtering type and one content type.
-
-## Multimodal Recommender Query
-
-The actual form of the query for recommendations will vary depending on your search engine but the intent is the same. For a given user, map their history of an action or content to the correct indicator field and perform an OR'd query.
-
-We have 3 indicators, these are indexed by the search engine into 3 fields, we'll call them "purchase", "view", and "tags".
-We take the user's history that corresponds to each indicator and create a query of the form:
-
- Query:
- field: purchase; q:user's-purchase-history
- field: view; q:user's view-history
- field: tags; q:user's-tags-associated-with-purchases
-
-The query will result in an ordered list of items recommended for purchase but skewed towards items with similar tags to
-the ones the user has already purchased.
-
-This is only an example and not necessarily the optimal way to create recs. It illustrates how business decisions can be
-translated into recommendations. This technique can be used to skew recommendations towards intrinsic indicators also.
-For instance you may want to put personalized popular item recs in a special place in the UI. Create a popularity indicator
-by tagging items with some category of popularity (hot, warm, cold for instance) then
-index that as a new indicator field and include the corresponding value in a query
-on the popularity field. If we use the ecom example but use the query to get "hot" recommendations it might look like this:
-
- Query:
- field: purchase; q:user's-purchase-history
- field: view; q:user's view-history
- field: popularity; q:"hot"
-
-This will return recommendations favoring ones that have the intrinsic indicator "hot".
-
-## Notes
-1. Use as much user action history as you can gather. Choose a primary action that is closest to what you want to recommend and the others will be used to create cross-cooccurrence indicators. Using more data in this fashion will almost always produce better recommendations.
-2. Content can be used where there is no recorded user behavior or when items change too quickly to get much interaction history. They can be used alone or mixed with other indicators.
-3. Most search engines support "boost" factors so you can favor one or more indicators. In the example query, if you want tags to only have a small effect you could boost the CF indicators.
-4. In the examples we have used space delimited strings for lists of IDs in indicators and in queries. It may be better to use arrays of strings if your storage system and search engine support them. For instance Solr allows multi-valued fields, which correspond to arrays.
a***@apache.org
2017-12-21 04:52:51 UTC
Permalink
http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/docs/tutorials/map-reduce/recommender/intro-cooccurrence-spark.md
----------------------------------------------------------------------
diff --git a/website-old/docs/tutorials/map-reduce/recommender/intro-cooccurrence-spark.md b/website-old/docs/tutorials/map-reduce/recommender/intro-cooccurrence-spark.md
deleted file mode 100644
index 9561843..0000000
--- a/website-old/docs/tutorials/map-reduce/recommender/intro-cooccurrence-spark.md
+++ /dev/null
@@ -1,437 +0,0 @@
----
-layout: default
-title: (Deprecated) Perceptron and Winnow
-theme:
- name: retro-mahout
----
-
-#Intro to Cooccurrence Recommenders with Spark
-
-Mahout provides several important building blocks for creating recommendations using Spark. *spark-itemsimilarity* can
-be used to create "other people also liked these things" type recommendations and paired with a search engine can
-personalize recommendations for individual users. *spark-rowsimilarity* can provide non-personalized content based
-recommendations and when paired with a search engine can be used to personalize content based recommendations.
-
-##References
-
-1. A free ebook, which talks about the general idea: [Practical Machine Learning](https://www.mapr.com/practical-machine-learning)
-2. A slide deck, which talks about mixing actions or other indicators: [Creating a Unified Recommender](http://occamsmachete.com/ml/2014/10/07/creating-a-unified-recommender-with-mahout-and-a-search-engine/)
-3. Two blog posts: [What's New in Recommenders: part #1](http://occamsmachete.com/ml/2014/08/11/mahout-on-spark-whats-new-in-recommenders/)
-and [What's New in Recommenders: part #2](http://occamsmachete.com/ml/2014/09/09/mahout-on-spark-whats-new-in-recommenders-part-2/)
-3. A post describing the loglikelihood ratio: [Surprise and Coinsidense](http://tdunning.blogspot.com/2008/03/surprise-and-coincidence.html) LLR is used to reduce noise in the data while keeping the calculations O(n) complexity.
-
-Below are the command line jobs but the drivers and associated code can also be customized and accessed from the Scala APIs.
-
-##1. spark-itemsimilarity
-*spark-itemsimilarity* is the Spark counterpart of the of the Mahout mapreduce job called *itemsimilarity*. It takes in elements of interactions, which have userID, itemID, and optionally a value. It will produce one of more indicator matrices created by comparing every user's interactions with every other user. The indicator matrix is an item x item matrix where the values are log-likelihood ratio strengths. For the legacy mapreduce version, there were several possible similarity measures but these are being deprecated in favor of LLR because in practice it performs the best.
-
-Mahout's mapreduce version of itemsimilarity takes a text file that is expected to have user and item IDs that conform to
-Mahout's ID requirements--they are non-negative integers that can be viewed as row and column numbers in a matrix.
-
-*spark-itemsimilarity* also extends the notion of cooccurrence to cross-cooccurrence, in other words the Spark version will
-account for multi-modal interactions and create indicator matrices allowing the use of much more data in
-creating recommendations or similar item lists. People try to do this by mixing different actions and giving them weights.
-For instance they might say an item-view is 0.2 of an item purchase. In practice this is often not helpful. Spark-itemsimilarity's
-cross-cooccurrence is a more principled way to handle this case. In effect it scrubs secondary actions with the action you want
-to recommend.
-
-
- spark-itemsimilarity Mahout 1.0
- Usage: spark-itemsimilarity [options]
-
- Disconnected from the target VM, address: '127.0.0.1:64676', transport: 'socket'
- Input, output options
- -i <value> | --input <value>
- Input path, may be a filename, directory name, or comma delimited list of HDFS supported URIs (required)
- -i2 <value> | --input2 <value>
- Secondary input path for cross-similarity calculation, same restrictions as "--input" (optional). Default: empty.
- -o <value> | --output <value>
- Path for output, any local or HDFS supported URI (required)
-
- Algorithm control options:
- -mppu <value> | --maxPrefs <value>
- Max number of preferences to consider per user (optional). Default: 500
- -m <value> | --maxSimilaritiesPerItem <value>
- Limit the number of similarities per item to this number (optional). Default: 100
-
- Note: Only the Log Likelihood Ratio (LLR) is supported as a similarity measure.
-
- Input text file schema options:
- -id <value> | --inDelim <value>
- Input delimiter character (optional). Default: "[,\t]"
- -f1 <value> | --filter1 <value>
- String (or regex) whose presence indicates a datum for the primary item set (optional). Default: no filter, all data is used
- -f2 <value> | --filter2 <value>
- String (or regex) whose presence indicates a datum for the secondary item set (optional). If not present no secondary dataset is collected
- -rc <value> | --rowIDColumn <value>
- Column number (0 based Int) containing the row ID string (optional). Default: 0
- -ic <value> | --itemIDColumn <value>
- Column number (0 based Int) containing the item ID string (optional). Default: 1
- -fc <value> | --filterColumn <value>
- Column number (0 based Int) containing the filter string (optional). Default: -1 for no filter
-
- Using all defaults the input is expected of the form: "userID<tab>itemId" or "userID<tab>itemID<tab>any-text..." and all rows will be used
-
- File discovery options:
- -r | --recursive
- Searched the -i path recursively for files that match --filenamePattern (optional), Default: false
- -fp <value> | --filenamePattern <value>
- Regex to match in determining input files (optional). Default: filename in the --input option or "^part-.*" if --input is a directory
-
- Output text file schema options:
- -rd <value> | --rowKeyDelim <value>
- Separates the rowID key from the vector values list (optional). Default: "\t"
- -cd <value> | --columnIdStrengthDelim <value>
- Separates column IDs from their values in the vector values list (optional). Default: ":"
- -td <value> | --elementDelim <value>
- Separates vector element values in the values list (optional). Default: " "
- -os | --omitStrength
- Do not write the strength to the output files (optional), Default: false.
- This option is used to output indexable data for creating a search engine recommender.
-
- Default delimiters will produce output of the form: "itemID1<tab>itemID2:value2<space>itemID10:value10..."
-
- Spark config options:
- -ma <value> | --master <value>
- Spark Master URL (optional). Default: "local". Note that you can specify the number of cores to get a performance improvement, for example "local[4]"
- -sem <value> | --sparkExecutorMem <value>
- Max Java heap available as "executor memory" on each node (optional). Default: 4g
- -rs <value> | --randomSeed <value>
-
- -h | --help
- prints this usage text
-
-This looks daunting but defaults to simple fairly sane values to take exactly the same input as legacy code and is pretty flexible. It allows the user to point to a single text file, a directory full of files, or a tree of directories to be traversed recursively. The files included can be specified with either a regex-style pattern or filename. The schema for the file is defined by column numbers, which map to the important bits of data including IDs and values. The files can even contain filters, which allow unneeded rows to be discarded or used for cross-cooccurrence calculations.
-
-See ItemSimilarityDriver.scala in Mahout's spark module if you want to customize the code.
-
-###Defaults in the _**spark-itemsimilarity**_ CLI
-
-If all defaults are used the input can be as simple as:
-
- userID1,itemID1
- userID2,itemID2
- ...
-
-With the command line:
-
-
- bash$ mahout spark-itemsimilarity --input in-file --output out-dir
-
-
-This will use the "local" Spark context and will output the standard text version of a DRM
-
- itemID1<tab>itemID2:value2<space>itemID10:value10...
-
-###<a name="multiple-actions">How To Use Multiple User Actions</a>
-
-Often we record various actions the user takes for later analytics. These can now be used to make recommendations.
-The idea of a recommender is to recommend the action you want the user to make. For an ecom app this might be
-a purchase action. It is usually not a good idea to just treat other actions the same as the action you want to recommend.
-For instance a view of an item does not indicate the same intent as a purchase and if you just mixed the two together you
-might even make worse recommendations. It is tempting though since there are so many more views than purchases. With *spark-itemsimilarity*
-we can now use both actions. Mahout will use cross-action cooccurrence analysis to limit the views to ones that do predict purchases.
-We do this by treating the primary action (purchase) as data for the indicator matrix and use the secondary action (view)
-to calculate the cross-cooccurrence indicator matrix.
-
-*spark-itemsimilarity* can read separate actions from separate files or from a mixed action log by filtering certain lines. For a mixed
-action log of the form:
-
- u1,purchase,iphone
- u1,purchase,ipad
- u2,purchase,nexus
- u2,purchase,galaxy
- u3,purchase,surface
- u4,purchase,iphone
- u4,purchase,galaxy
- u1,view,iphone
- u1,view,ipad
- u1,view,nexus
- u1,view,galaxy
- u2,view,iphone
- u2,view,ipad
- u2,view,nexus
- u2,view,galaxy
- u3,view,surface
- u3,view,nexus
- u4,view,iphone
- u4,view,ipad
- u4,view,galaxy
-
-###Command Line
-
-
-Use the following options:
-
- bash$ mahout spark-itemsimilarity \
- --input in-file \ # where to look for data
- --output out-path \ # root dir for output
- --master masterUrl \ # URL of the Spark master server
- --filter1 purchase \ # word that flags input for the primary action
- --filter2 view \ # word that flags input for the secondary action
- --itemIDPosition 2 \ # column that has the item ID
- --rowIDPosition 0 \ # column that has the user ID
- --filterPosition 1 # column that has the filter word
-
-
-
-###Output
-
-The output of the job will be the standard text version of two Mahout DRMs. This is a case where we are calculating
-cross-cooccurrence so a primary indicator matrix and cross-cooccurrence indicator matrix will be created
-
- out-path
- |-- similarity-matrix - TDF part files
- \-- cross-similarity-matrix - TDF part-files
-
-The indicator matrix will contain the lines:
-
- galaxy\tnexus:1.7260924347106847
- ipad\tiphone:1.7260924347106847
- nexus\tgalaxy:1.7260924347106847
- iphone\tipad:1.7260924347106847
- surface
-
-The cross-cooccurrence indicator matrix will contain:
-
- iphone\tnexus:1.7260924347106847 iphone:1.7260924347106847 ipad:1.7260924347106847 galaxy:1.7260924347106847
- ipad\tnexus:0.6795961471815897 iphone:0.6795961471815897 ipad:0.6795961471815897 galaxy:0.6795961471815897
- nexus\tnexus:0.6795961471815897 iphone:0.6795961471815897 ipad:0.6795961471815897 galaxy:0.6795961471815897
- galaxy\tnexus:1.7260924347106847 iphone:1.7260924347106847 ipad:1.7260924347106847 galaxy:1.7260924347106847
- surface\tsurface:4.498681156950466 nexus:0.6795961471815897
-
-**Note:** You can run this multiple times to use more than two actions or you can use the underlying
-SimilarityAnalysis.cooccurrence API, which will more efficiently calculate any number of cross-cooccurrence indicators.
-
-###Log File Input
-
-A common method of storing data is in log files. If they are written using some delimiter they can be consumed directly by spark-itemsimilarity. For instance input of the form:
-
- 2014-06-23 14:46:53.115\tu1\tpurchase\trandom text\tiphone
- 2014-06-23 14:46:53.115\tu1\tpurchase\trandom text\tipad
- 2014-06-23 14:46:53.115\tu2\tpurchase\trandom text\tnexus
- 2014-06-23 14:46:53.115\tu2\tpurchase\trandom text\tgalaxy
- 2014-06-23 14:46:53.115\tu3\tpurchase\trandom text\tsurface
- 2014-06-23 14:46:53.115\tu4\tpurchase\trandom text\tiphone
- 2014-06-23 14:46:53.115\tu4\tpurchase\trandom text\tgalaxy
- 2014-06-23 14:46:53.115\tu1\tview\trandom text\tiphone
- 2014-06-23 14:46:53.115\tu1\tview\trandom text\tipad
- 2014-06-23 14:46:53.115\tu1\tview\trandom text\tnexus
- 2014-06-23 14:46:53.115\tu1\tview\trandom text\tgalaxy
- 2014-06-23 14:46:53.115\tu2\tview\trandom text\tiphone
- 2014-06-23 14:46:53.115\tu2\tview\trandom text\tipad
- 2014-06-23 14:46:53.115\tu2\tview\trandom text\tnexus
- 2014-06-23 14:46:53.115\tu2\tview\trandom text\tgalaxy
- 2014-06-23 14:46:53.115\tu3\tview\trandom text\tsurface
- 2014-06-23 14:46:53.115\tu3\tview\trandom text\tnexus
- 2014-06-23 14:46:53.115\tu4\tview\trandom text\tiphone
- 2014-06-23 14:46:53.115\tu4\tview\trandom text\tipad
- 2014-06-23 14:46:53.115\tu4\tview\trandom text\tgalaxy
-
-Can be parsed with the following CLI and run on the cluster producing the same output as the above example.
-
- bash$ mahout spark-itemsimilarity \
- --input in-file \
- --output out-path \
- --master spark://sparkmaster:4044 \
- --filter1 purchase \
- --filter2 view \
- --inDelim "\t" \
- --itemIDPosition 4 \
- --rowIDPosition 1 \
- --filterPosition 2
-
-##2. spark-rowsimilarity
-
-*spark-rowsimilarity* is the companion to *spark-itemsimilarity* the primary difference is that it takes a text file version of
-a matrix of sparse vectors with optional application specific IDs and it finds similar rows rather than items (columns). Its use is
-not limited to collaborative filtering. The input is in text-delimited form where there are three delimiters used. By
-default it reads (rowID&lt;tab>columnID1:strength1&lt;space>columnID2:strength2...) Since this job only supports LLR similarity,
- which does not use the input strengths, they may be omitted in the input. It writes
-(rowID&lt;tab>rowID1:strength1&lt;space>rowID2:strength2...)
-The output is sorted by strength descending. The output can be interpreted as a row ID from the primary input followed
-by a list of the most similar rows.
-
-The command line interface is:
-
- spark-rowsimilarity Mahout 1.0
- Usage: spark-rowsimilarity [options]
-
- Input, output options
- -i <value> | --input <value>
- Input path, may be a filename, directory name, or comma delimited list of HDFS supported URIs (required)
- -o <value> | --output <value>
- Path for output, any local or HDFS supported URI (required)
-
- Algorithm control options:
- -mo <value> | --maxObservations <value>
- Max number of observations to consider per row (optional). Default: 500
- -m <value> | --maxSimilaritiesPerRow <value>
- Limit the number of similarities per item to this number (optional). Default: 100
-
- Note: Only the Log Likelihood Ratio (LLR) is supported as a similarity measure.
- Disconnected from the target VM, address: '127.0.0.1:49162', transport: 'socket'
-
- Output text file schema options:
- -rd <value> | --rowKeyDelim <value>
- Separates the rowID key from the vector values list (optional). Default: "\t"
- -cd <value> | --columnIdStrengthDelim <value>
- Separates column IDs from their values in the vector values list (optional). Default: ":"
- -td <value> | --elementDelim <value>
- Separates vector element values in the values list (optional). Default: " "
- -os | --omitStrength
- Do not write the strength to the output files (optional), Default: false.
- This option is used to output indexable data for creating a search engine recommender.
-
- Default delimiters will produce output of the form: "itemID1<tab>itemID2:value2<space>itemID10:value10..."
-
- File discovery options:
- -r | --recursive
- Searched the -i path recursively for files that match --filenamePattern (optional), Default: false
- -fp <value> | --filenamePattern <value>
- Regex to match in determining input files (optional). Default: filename in the --input option or "^part-.*" if --input is a directory
-
- Spark config options:
- -ma <value> | --master <value>
- Spark Master URL (optional). Default: "local". Note that you can specify the number of cores to get a performance improvement, for example "local[4]"
- -sem <value> | --sparkExecutorMem <value>
- Max Java heap available as "executor memory" on each node (optional). Default: 4g
- -rs <value> | --randomSeed <value>
-
- -h | --help
- prints this usage text
-
-See RowSimilarityDriver.scala in Mahout's spark module if you want to customize the code.
-
-#3. Using *spark-rowsimilarity* with Text Data
-
-Another use case for *spark-rowsimilarity* is in finding similar textual content. For instance given the tags associated with
-a blog post,
- which other posts have similar tags. In this case the columns are tags and the rows are posts. Since LLR is
-the only similarity method supported this is not the optimal way to determine general "bag-of-words" document similarity.
-LLR is used more as a quality filter than as a similarity measure. However *spark-rowsimilarity* will produce
-lists of similar docs for every doc if input is docs with lists of terms. The Apache [Lucene](http://lucene.apache.org) project provides several methods of [analyzing and tokenizing](http://lucene.apache.org/core/4_9_0/core/org/apache/lucene/analysis/package-summary.html#package_description) documents.
-
-#<a name="unified-recommender">4. Creating a Unified Recommender</a>
-
-Using the output of *spark-itemsimilarity* and *spark-rowsimilarity* you can build a unified cooccurrence and content based
- recommender that can be used in both or either mode depending on indicators available and the history available at
-runtime for a user.
-
-##Requirements
-
-1. Mahout 0.10.0 or later
-2. Hadoop
-3. Spark, the correct version for your version of Mahout and Hadoop
-4. A search engine like Solr or Elasticsearch
-
-##Indicators
-
-Indicators come in 3 types
-
-1. **Cooccurrence**: calculated with *spark-itemsimilarity* from user actions
-2. **Content**: calculated from item metadata or content using *spark-rowsimilarity*
-3. **Intrinsic**: assigned to items as metadata. Can be anything that describes the item.
-
-The query for recommendations will be a mix of values meant to match one of your indicators. The query can be constructed
-from user history and values derived from context (category being viewed for instance) or special precalculated data
-(popularity rank for instance). This blending of indicators allows for creating many flavors or recommendations to fit
-a very wide variety of circumstances.
-
-With the right mix of indicators developers can construct a single query that works for completely new items and new users
-while working well for items with lots of interactions and users with many recorded actions. In other words by adding in content and intrinsic
-indicators developers can create a solution for the "cold-start" problem that gracefully improves with more user history
-and as items have more interactions. It is also possible to create a completely content-based recommender that personalizes
-recommendations.
-
-##Example with 3 Indicators
-
-You will need to decide how you store user action data so they can be processed by the item and row similarity jobs and
-this is most easily done by using text files as described above. The data that is processed by these jobs is considered the
-training data. You will need some amount of user history in your recs query. It is typical to use the most recent user history
-but need not be exactly what is in the training set, which may include a greater volume of historical data. Keeping the user
-history for query purposes could be done with a database by storing it in a users table. In the example above the two
-collaborative filtering actions are "purchase" and "view", but let's also add tags (taken from catalog categories or other
-descriptive metadata).
-
-We will need to create 1 cooccurrence indicator from the primary action (purchase) 1 cross-action cooccurrence indicator
-from the secondary action (view)
-and 1 content indicator (tags). We'll have to run *spark-itemsimilarity* once and *spark-rowsimilarity* once.
-
-We have described how to create the collaborative filtering indicator and cross-cooccurrence indicator for purchase and view (the [How to use Multiple User
-Actions](#multiple-actions) section) but tags will be a slightly different process. We want to use the fact that
-certain items have tags similar to the ones associated with a user's purchases. This is not a collaborative filtering indicator
-but rather a "content" or "metadata" type indicator since you are not using other users' history, only the
-individual that you are making recs for. This means that this method will make recommendations for items that have
-no collaborative filtering data, as happens with new items in a catalog. New items may have tags assigned but no one
- has purchased or viewed them yet. In the final query we will mix all 3 indicators.
-
-##Content Indicator
-
-To create a content-indicator we'll make use of the fact that the user has purchased items with certain tags. We want to find
-items with the most similar tags. Notice that other users' behavior is not considered--only other item's tags. This defines a
-content or metadata indicator. They are used when you want to find items that are similar to other items by using their
-content or metadata, not by which users interacted with them.
-
-For this we need input of the form:
-
- itemID<tab>list-of-tags
- ...
-
-The full collection will look like the tags column from a catalog DB. For our ecom example it might be:
-
- 3459860b<tab>men long-sleeve chambray clothing casual
- 9446577d<tab>women tops chambray clothing casual
- ...
-
-We'll use *spark-rowimilairity* because we are looking for similar rows, which encode items in this case. As with the
-collaborative filtering indicator and cross-cooccurrence indicator we use the --omitStrength option. The strengths created are
-probabilistic log-likelihood ratios and so are used to filter unimportant similarities. Once the filtering or downsampling
-is finished we no longer need the strengths. We will get an indicator matrix of the form:
-
- itemID<tab>list-of-item IDs
- ...
-
-This is a content indicator since it has found other items with similar content or metadata.
-
- 3459860b<tab>3459860b 3459860b 6749860c 5959860a 3434860a 3477860a
- 9446577d<tab>9446577d 9496577d 0943577d 8346577d 9442277d 9446577e
- ...
-
-We now have three indicators, two collaborative filtering type and one content type.
-
-##Unified Recommender Query
-
-The actual form of the query for recommendations will vary depending on your search engine but the intent is the same.
-For a given user, map their history of an action or content to the correct indicator field and perform an OR'd query.
-
-We have 3 indicators, these are indexed by the search engine into 3 fields, we'll call them "purchase", "view", and "tags".
-We take the user's history that corresponds to each indicator and create a query of the form:
-
- Query:
- field: purchase; q:user's-purchase-history
- field: view; q:user's view-history
- field: tags; q:user's-tags-associated-with-purchases
-
-The query will result in an ordered list of items recommended for purchase but skewed towards items with similar tags to
-the ones the user has already purchased.
-
-This is only an example and not necessarily the optimal way to create recs. It illustrates how business decisions can be
-translated into recommendations. This technique can be used to skew recommendations towards intrinsic indicators also.
-For instance you may want to put personalized popular item recs in a special place in the UI. Create a popularity indicator
-by tagging items with some category of popularity (hot, warm, cold for instance) then
-index that as a new indicator field and include the corresponding value in a query
-on the popularity field. If we use the ecom example but use the query to get "hot" recommendations it might look like this:
-
- Query:
- field: purchase; q:user's-purchase-history
- field: view; q:user's view-history
- field: popularity; q:"hot"
-
-This will return recommendations favoring ones that have the intrinsic indicator "hot".
-
-##Notes
-1. Use as much user action history as you can gather. Choose a primary action that is closest to what you want to recommend and the others will be used to create cross-cooccurrence indicators. Using more data in this fashion will almost always produce better recommendations.
-2. Content can be used where there is no recorded user behavior or when items change too quickly to get much interaction history. They can be used alone or mixed with other indicators.
-3. Most search engines support "boost" factors so you can favor one or more indicators. In the example query, if you want tags to only have a small effect you could boost the CF indicators.
-4. In the examples we have used space delimited strings for lists of IDs in indicators and in queries. It may be better to use arrays of strings if your storage system and search engine support them. For instance Solr allows multi-valued fields, which correspond to arrays.

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/docs/tutorials/map-reduce/recommender/intro-itembased-hadoop.md
----------------------------------------------------------------------
diff --git a/website-old/docs/tutorials/map-reduce/recommender/intro-itembased-hadoop.md b/website-old/docs/tutorials/map-reduce/recommender/intro-itembased-hadoop.md
deleted file mode 100644
index 9537669..0000000
--- a/website-old/docs/tutorials/map-reduce/recommender/intro-itembased-hadoop.md
+++ /dev/null
@@ -1,54 +0,0 @@
----
-layout: default
-title: (Deprecated) Perceptron and Winnow
-theme:
- name: retro-mahout
----
-# Introduction to Item-Based Recommendations with Hadoop
-
-##Overview
-
-Mahout’s item based recommender is a flexible and easily implemented algorithm with a diverse range of applications. The minimalism of the primary input file’s structure and availability of ancillary filtering controls can make sourcing required data and shaping a desired output both efficient and straightforward.
-
-Typical use cases include:
-
-* Recommend products to customers via an eCommerce platform (think: Amazon, Netflix, Overstock)
-* Identify organic sales opportunities
-* Segment users/customers based on similar item preferences
-
-Broadly speaking, Mahout's item-based recommendation algorithm takes as input customer preferences by item and generates an output recommending similar items with a score indicating whether a customer will "like" the recommended item.
-
-One of the strengths of the item based recommender is its adaptability to your business conditions or research interests. For example, there are many available approaches for providing product preference. One such method is to calculate the total orders for a given product for each customer (i.e. Acme Corp has ordered Widget-A 5,678 times) while others rely on user preference captured via the web (i.e. Jane Doe rated a movie as five stars, or gave a product two thumbs’ up).
-
-Additionally, a variety of methodologies can be implemented to narrow the focus of Mahout's recommendations, such as:
-
-* Exclude low volume or low profitability products from consideration
-* Group customers by segment or market rather than using user/customer level data
-* Exclude zero-dollar transactions, returns or other order types
-* Map product substitutions into the Mahout input (i.e. if WidgetA is a recommended item replace it with WidgetX)
-
-The item based recommender output can be easily consumed by downstream applications (i.e. websites, ERP systems or salesforce automation tools) and is configurable so users can determine the number of item recommendations generated by the algorithm.
-
-##Example
-
-Testing the item based recommender can be a simple and potentially quite rewarding endeavor. Whereas the typical sample use case for collaborative filtering focuses on utilization of, and integration with, eCommerce platforms we can instead look at a potential use case applicable to most businesses (even those without a web presence). Let’s look at how a company might use Mahout’s item based recommender to identify new sales opportunities for an existing customer base. First, you’ll need to get Mahout up and running, the instructions for which can be found [here](https://mahout.apache.org/users/basics/quickstart.html). After you've ensured Mahout is properly installed, we’re ready to run a quick example.
-
-**Step 1: Gather some test data**
-
-Mahout’s item based recommender relies on three key pieces of data: *userID*, *itemID* and *preference*. The “users” could be website visitors or simply customers that purchase products from your business. Similarly, items could be products, product groups or even pages on your website – really anything you would want to recommend to a group of users or customers. For our example let’s use customer orders as a proxy for preference. A simple count of distinct orders by customer, by product will work for this example. You’ll find as you explore ways to manipulate the item based recommender the preference value can be many things (page clicks, explicit ratings, order counts, etc.). Once your test data is gathered put it in a *.txt* file separated by commas with no column headers included.
-
-**Step 2: Pick a similarity measure**
-
-Choosing a similarity measure for use in a production environment is something that requires careful testing, evaluation and research. For our example purposes, we’ll just go with a Mahout similarity classname called *SIMILARITY_LOGLIKELIHOOD*.
-
-**Step 3: Configure the Mahout command**
-
-Assuming your *JAVA_HOME* is appropriately set and Mahout was installed properly we’re ready to configure our syntax. Enter the following command:
-
- $ mahout recommenditembased -s SIMILARITY_LOGLIKELIHOOD -i /path/to/input/file -o /path/to/desired/output --numRecommendations 25
-
-Running the command will execute a series of jobs the final product of which will be an output file deposited to the directory specified in the command syntax. The output file will contain two columns: the *userID* and an array of *itemIDs* and scores.
-
-**Step 4: Making use of the output and doing more with Mahout**
-
-The output file generated in our simple example can be transformed using your tool of choice and consumed by downstream applications. There exist a variety of configuration options for Mahout’s item based recommender to accommodate custom business requirements; exploring and testing various configurations to suit your needs will doubtless lead to additional questions. Our user community is accessible via our [mailing list](https://mahout.apache.org/general/mailing-lists,-irc-and-archives.html) and the book *Mahout In Action* is a fantastic (but slightly outdated) starting point.

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/docs/tutorials/map-reduce/recommender/matrix-factorization.md
----------------------------------------------------------------------
diff --git a/website-old/docs/tutorials/map-reduce/recommender/matrix-factorization.md b/website-old/docs/tutorials/map-reduce/recommender/matrix-factorization.md
deleted file mode 100644
index 4cff138..0000000
--- a/website-old/docs/tutorials/map-reduce/recommender/matrix-factorization.md
+++ /dev/null
@@ -1,187 +0,0 @@
----
-layout: default
-title: (Deprecated) Perceptron and Winnow
-theme:
- name: retro-mahout
----
-<a name="MatrixFactorization-Intro"></a>
-# Introduction to Matrix Factorization for Recommendation Mining
-
-In the mathematical discipline of linear algebra, a matrix decomposition
-or matrix factorization is a dimensionality reduction technique that factorizes a matrix into a product of matrices, usually two.
-There are many different matrix decompositions, each finds use among a particular class of problems.
-
-In mahout, the SVDRecommender provides an interface to build recommender based on matrix factorization.
-The idea behind is to project the users and items onto a feature space and try to optimize U and M so that U \* (M^t) is as close to R as possible:
-
- U is n * p user feature matrix,
- M is m * p item feature matrix, M^t is the conjugate transpose of M,
- R is n * m rating matrix,
- n is the number of users,
- m is the number of items,
- p is the number of features
-
-We usually use RMSE to represent the deviations between predictions and atual ratings.
-RMSE is defined as the squared root of the sum of squared errors at each known user item ratings.
-So our matrix factorization target could be mathmatically defined as:
-
- find U and M, (U, M) = argmin(RMSE) = argmin(pow(SSE / K, 0.5))
-
- SSE = sum(e(u,i)^2)
- e(u,i) = r(u, i) - U[u,] * (M[i,]^t) = r(u,i) - sum(U[u,f] * M[i,f]), f = 0, 1, .. p - 1
- K is the number of known user item ratings.
-
-<a name="MatrixFactorization-Factorizers"></a>
-
-Mahout has implemented matrix factorization based on
-
- (1) SGD(Stochastic Gradient Descent)
- (2) ALSWR(Alternating-Least-Squares with Weighted-λ-Regularization).
-
-## SGD
-
-Stochastic gradient descent is a gradient descent optimization method for minimizing an objective function that is written as a su of differentiable functions.
-
- Q(w) = sum(Q_i(w)),
-
-where w is the parameters to be estimated,
- Q(w) is the objective function that could be expressed as sum of differentiable functions,
- Q_i(w) is associated with the i-th observation in the data set
-
-In practice, w is estimated using an iterative method at each single sample until an approximate miminum is obtained,
-
- w = w - alpha * (d(Q_i(w))/dw),
-where aplpha is the learning rate,
- (d(Q_i(w))/dw) is the first derivative of Q_i(w) on w.
-
-In matrix factorization, the RatingSGDFactorizer class implements the SGD with w = (U, M) and objective function Q(w) = sum(Q(u,i)),
-
- Q(u,i) = sum(e(u,i) * e(u,i)) / 2 + lambda * [(U[u,] * (U[u,]^t)) + (M[i,] * (M[i,]^t))] / 2
-
-where Q(u, i) is the objecive function for user u and item i,
- e(u, i) is the error between predicted rating and actual rating,
- U[u,] is the feature vector of user u,
- M[i,] is the feature vector of item i,
- lambda is the regularization parameter to prevent overfitting.
-
-The algorithm is sketched as follows:
-
- init U and M with randomized value between 0.0 and 1.0 with standard Gaussian distribution
-
- for(iter = 0; iter < numIterations; iter++)
- {
- for(user u and item i with rating R[u,i])
- {
- predicted_rating = U[u,] * M[i,]^t //dot product of feature vectors between user u and item i
- err = R[u, i] - predicted_rating
- //adjust U[u,] and M[i,]
- // p is the number of features
- for(f = 0; f < p; f++) {
- NU[u,f] = U[u,f] - alpha * d(Q(u,i))/d(U[u,f]) //optimize U[u,f]
- = U[u, f] + alpha * (e(u,i) * M[i,f] - lambda * U[u,f])
- }
- for(f = 0; f < p; f++) {
- M[i,f] = M[i,f] - alpha * d(Q(u,i))/d(M[i,f]) //optimize M[i,f]
- = M[i,f] + alpha * (e(u,i) * U[u,f] - lambda * M[i,f])
- }
- U[u,] = NU[u,]
- }
- }
-
-## SVD++
-
-SVD++ is an enhancement of the SGD matrix factorization.
-
-It could be considered as an integration of latent factor model and neighborhood based model, considering not only how users rate, but also who has rated what.
-
-The complete model is a sum of 3 sub-models with complete prediction formula as follows:
-
- pr(u,i) = b[u,i] + fm + nm //user u and item i
-
- pr(u,i) is the predicted rating of user u on item i,
- b[u,i] = U + b(u) + b(i)
- fm = (q[i,]) * (p[u,] + pow(|N(u)|, -0.5) * sum(y[j,])), j is an item in N(u)
- nm = pow(|R(i;u;k)|, -0.5) * sum((r[u,j0] - b[u,j0]) * w[i,j0]) + pow(|N(i;u;k)|, -0.5) * sum(c[i,j1]), j0 is an item in R(i;u;k), j1 is an item in N(i;u;k)
-
-The associated regularized squared error function to be minimized is:
-
- {sum((r[u,i] - pr[u,i]) * (r[u,i] - pr[u,i])) - lambda * (b(u) * b(u) + b(i) * b(i) + ||q[i,]||^2 + ||p[u,]||^2 + sum(||y[j,]||^2) + sum(w[i,j0] * w[i,j0]) + sum(c[i,j1] * c[i,j1]))}
-
-b[u,i] is the baseline estimate of user u's predicted rating on item i. U is users' overall average rating and b(u) and b(i) indicate the observed deviations of user u and item i's ratings from average.
-
-The baseline estimate is to adjust for the user and item effects - i.e, systematic tendencies for some users to give higher ratings than others and tendencies
-for some items to receive higher ratings than other items.
-
-fm is the latent factor model to capture the interactions between user and item via a feature layer. q[i,] is the feature vector of item i, and the rest part of the formula represents user u with a user feature vector and a sum of features of items in N(u),
-N(u) is the set of items that user u have expressed preference, y[j,] is feature vector of an item in N(u).
-
-nm is an extension of the classic item-based neighborhood model.
-It captures not only the user's explicit ratings but also the user's implicit preferences. R(i;u;k) is the set of items that have got explicit rating from user u and only retain top k most similar items. r[u,j0] is the actual rating of user u on item j0,
-b[u,j0] is the corresponding baseline estimate.
-
-The difference between r[u,j0] and b[u,j0] is weighted by a parameter w[i,j0], which could be thought as the similarity between item i and j0.
-
-N[i;u;k] is the top k most similar items that have got the user's preference.
-c[i;j1] is the paramter to be estimated.
-
-The value of w[i,j0] and c[i,j1] could be treated as the significance of the
-user's explicit rating and implicit preference respectively.
-
-The parameters b, y, q, w, c are to be determined by minimizing the the associated regularized squared error function through gradient descent. We loop over all known ratings and for a given training case r[u,i], we apply gradient descent on the error function and modify the parameters by moving in the opposite direction of the gradient.
-
-For a complete analysis of the SVD++ algorithm,
-please refer to the paper [Yehuda Koren: Factorization Meets the Neighborhood: a Multifaceted Collaborative Filtering Model, KDD 2008](http://research.yahoo.com/files/kdd08koren.pdf).
-
-In Mahout,SVDPlusPlusFactorizer class is a simplified implementation of the SVD++ algorithm.It mainly uses the latent factor model with item feature vector, user feature vector and user's preference, with pr(u,i) = fm = (q[i,]) \* (p[u,] + pow(|N(u)|, -0.5) * sum(y[j,])) and the parameters to be determined are q, p, y.
-
-The update to q, p, y in each gradient descent step is:
-
- err(u,i) = r[u,i] - pr[u,i]
- q[i,] = q[i,] + alpha * (err(u,i) * (p[u,] + pow(|N(u)|, -0.5) * sum(y[j,])) - lamda * q[i,])
- p[u,] = p[u,] + alpha * (err(u,i) * q[i,] - lambda * p[u,])
- for j that is an item in N(u):
- y[j,] = y[j,] + alpha * (err(u,i) * pow(|N(u)|, -0.5) * q[i,] - lambda * y[j,])
-
-where alpha is the learning rate of gradient descent, N(u) is the items that user u has expressed preference.
-
-## Parallel SGD
-
-Mahout has a parallel SGD implementation in ParallelSGDFactorizer class. It shuffles the user ratings in every iteration and
-generates splits on the shuffled ratings. Each split is handled by a thread to update the user features and item features using
-vanilla SGD.
-
-The implementation could be traced back to a lock-free version of SGD based on paper
-[Hogwild!: A Lock-Free Approach to Parallelizing Stochastic Gradient Descent](http://www.eecs.berkeley.edu/~brecht/papers/hogwildTR.pdf).
-
-## ALSWR
-
-ALSWR is an iterative algorithm to solve the low rank factorization of user feature matrix U and item feature matrix M.
-The loss function to be minimized is formulated as the sum of squared errors plus [Tikhonov regularization](http://en.wikipedia.org/wiki/Tikhonov_regularization):
-
- L(R, U, M) = sum(pow((R[u,i] - U[u,]* (M[i,]^t)), 2)) + lambda * (sum(n(u) * ||U[u,]||^2) + sum(n(i) * ||M[i,]||^2))
-
-At the beginning of the algorithm, M is initialized with the average item ratings as its first row and random numbers for the rest row.
-
-In every iteration, we fix M and solve U by minimization of the cost function L(R, U, M), then we fix U and solve M by the minimization of
-the cost function similarly. The iteration stops until a certain stopping criteria is met.
-
-To solve the matrix U when M is given, each user's feature vector is calculated by resolving a regularized linear least square error function
-using the items the user has rated and their feature vectors:
-
- 1/2 * d(L(R,U,M)) / d(U[u,f]) = 0
-
-Similary, when M is updated, we resolve a regularized linear least square error function using feature vectors of the users that have rated the
-item and their feature vectors:
-
- 1/2 * d(L(R,U,M)) / d(M[i,f]) = 0
-
-The ALSWRFactorizer class is a non-distributed implementation of ALSWR using multi-threading to dispatch the computation among several threads.
-Mahout also offers a [parallel map-reduce implementation](https://mahout.apache.org/users/recommender/intro-als-hadoop.html).
-
-<a name="MatrixFactorization-Reference"></a>
-# Reference:
-
-[Stochastic gradient descent](http://en.wikipedia.org/wiki/Stochastic_gradient_descent)
-
-[ALSWR](http://www.hpl.hp.com/personal/Robert_Schreiber/papers/2008%20AAIM%20Netflix/netflix_aaim08%28submitted%29.pdf)
-

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/docs/tutorials/map-reduce/recommender/quickstart.md
----------------------------------------------------------------------
diff --git a/website-old/docs/tutorials/map-reduce/recommender/quickstart.md b/website-old/docs/tutorials/map-reduce/recommender/quickstart.md
deleted file mode 100644
index 545c64a..0000000
--- a/website-old/docs/tutorials/map-reduce/recommender/quickstart.md
+++ /dev/null
@@ -1,32 +0,0 @@
----
-layout: default
-title: (Deprecated) Recommender Quickstart
-theme:
- name: retro-mahout
----
-
-# Recommender Overview
-
-Recommenders have changed over the years. Mahout contains a long list of them, which you can still use. But to get the best out of our more modern aproach we'll need to think of the Recommender as a "model creation" component&mdash;supplied by Mahout's new spark-itemsimilarity job, and a "serving" component&mdash;supplied by a modern scalable search engine, like Solr.
-
-![image](Loading Image...)
-
-To integrate with your application you will collect user interactions storing them in a DB and also in a from usable by Mahout. The simplest way to do this is to log user interactions to csv files (user-id, item-id). The DB should be setup to contain the last n user interactions, which will form part of the query for recommendations.
-
-Mahout's spark-itemsimilarity will create a table of (item-id, list-of-similar-items) in csv form. Think of this as an item collection with one field containing the item-ids of similar items. Index this with your search engine.
-
-When your application needs recommendations for a specific person, get the latest user history of interactions from the DB and query the indicator collection with this history. You will get back an ordered list of item-ids. These are your recommendations. You may wish to filter out any that the user has already seen but that will depend on your use case.
-
-All ids for users and items are preserved as string tokens and so work as an external key in DBs or as doc ids for search engines, they also work as tokens for search queries.
-
-##References
-
-1. A free ebook, which talks about the general idea: [Practical Machine Learning](https://www.mapr.com/practical-machine-learning)
-2. A slide deck, which talks about mixing actions or other indicators: [Creating a Multimodal Recommender with Mahout and a Search Engine](http://occamsmachete.com/ml/2014/10/07/creating-a-unified-recommender-with-mahout-and-a-search-engine/)
-3. Two blog posts: [What's New in Recommenders: part #1](http://occamsmachete.com/ml/2014/08/11/mahout-on-spark-whats-new-in-recommenders/)
-and [What's New in Recommenders: part #2](http://occamsmachete.com/ml/2014/09/09/mahout-on-spark-whats-new-in-recommenders-part-2/)
-3. A post describing the loglikelihood ratio: [Surprise and Coinsidense](http://tdunning.blogspot.com/2008/03/surprise-and-coincidence.html) LLR is used to reduce noise in the data while keeping the calculations O(n) complexity.
-
-##Mahout Model Creation
-
-See the page describing [*spark-itemsimilarity*](http://mahout.apache.org/users/recommender/intro-cooccurrence-spark.html) for more details.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/docs/tutorials/map-reduce/recommender/recommender-documentation.md
----------------------------------------------------------------------
diff --git a/website-old/docs/tutorials/map-reduce/recommender/recommender-documentation.md b/website-old/docs/tutorials/map-reduce/recommender/recommender-documentation.md
deleted file mode 100644
index c6d9ffb..0000000
--- a/website-old/docs/tutorials/map-reduce/recommender/recommender-documentation.md
+++ /dev/null
@@ -1,277 +0,0 @@
----
-layout: default
-title: (Deprecated) Recommender Documentation
-theme:
- name: retro-mahout
----
-
-<a name="RecommenderDocumentation-Overview"></a>
-## Overview
-
-_This documentation concerns the non-distributed, non-Hadoop-based
-recommender engine / collaborative filtering code inside Mahout. It was
-formerly a separate project called "Taste" and has continued development
-inside Mahout alongside other Hadoop-based code. It may be viewed as a
-somewhat separate, more comprehensive and more mature aspect of this
-code, compared to current development efforts focusing on Hadoop-based
-distributed recommenders. This remains the best entry point into Mahout
-recommender engines of all kinds._
-
-A Mahout-based collaborative filtering engine takes users' preferences for
-items ("tastes") and returns estimated preferences for other items. For
-example, a site that sells books or CDs could easily use Mahout to figure
-out, from past purchase data, which CDs a customer might be interested in
-listening to.
-
-Mahout provides a rich set of components from which you can construct a
-customized recommender system from a selection of algorithms. Mahout is
-designed to be enterprise-ready; it's designed for performance, scalability
-and flexibility.
-
-Top-level packages define the Mahout interfaces to these key abstractions:
-
-* **DataModel**
-* **UserSimilarity**
-* **ItemSimilarity**
-* **UserNeighborhood**
-* **Recommender**
-
-Subpackages of *org.apache.mahout.cf.taste.impl* hold implementations of
-these interfaces. These are the pieces from which you will build your own
-recommendation engine. That's it!
-
-<a name="RecommenderDocumentation-Architecture"></a>
-## Architecture
-
-![doc](../../images/taste-architecture.png)
-
-This diagram shows the relationship between various Mahout components in a
-user-based recommender. An item-based recommender system is similar except
-that there are no Neighborhood algorithms involved.
-
-<a name="RecommenderDocumentation-Recommender"></a>
-### Recommender
-A Recommender is the core abstraction in Mahout. Given a DataModel, it can
-produce recommendations. Applications will most likely use the
-**GenericUserBasedRecommender** or **GenericItemBasedRecommender**,
-possibly decorated by **CachingRecommender**.
-
-<a name="RecommenderDocumentation-DataModel"></a>
-### DataModel
-A **DataModel** is the interface to information about user preferences. An
-implementation might draw this data from any source, but a database is the
-most likely source. Be sure to wrap this with a **ReloadFromJDBCDataModel** to get good performance! Mahout provides **MySQLJDBCDataModel**, for example, to access preference data from a database via JDBC and MySQL. Another exists for PostgreSQL. Mahout also provides a **FileDataModel**, which is fine for small applications.
-
-Users and items are identified solely by an ID value in the
-framework. Further, this ID value must be numeric; it is a Java long type
-through the APIs. A **Preference** object or **PreferenceArray** object
-encapsulates the relation between user and preferred items (or items and
-users preferring them).
-
-Finally, Mahout supports, in various ways, a so-called "boolean" data model
-in which users do not express preferences of varying strengths for items,
-but simply express an association or none at all. For example, while users
-might express a preference from 1 to 5 in the context of a movie
-recommender site, there may be no notion of a preference value between
-users and pages in the context of recommending pages on a web site: there
-is only a notion of an association, or none, between a user and pages that
-have been visited.
-
-<a name="RecommenderDocumentation-UserSimilarity"></a>
-### UserSimilarity
-A **UserSimilarity** defines a notion of similarity between two users. This is
-a crucial part of a recommendation engine. These are attached to a
-**Neighborhood** implementation. **ItemSimilarity** is analagous, but find
-similarity between items.
-
-<a name="RecommenderDocumentation-UserNeighborhood"></a>
-### UserNeighborhood
-In a user-based recommender, recommendations are produced by finding a
-"neighborhood" of similar users near a given user. A **UserNeighborhood**
-defines a means of determining that neighborhood &mdash; for example,
-nearest 10 users. Implementations typically need a **UserSimilarity** to
-operate.
-
-<a name="RecommenderDocumentation-Examples"></a>
-## Examples
-<a name="RecommenderDocumentation-User-basedRecommender"></a>
-### User-based Recommender
-User-based recommenders are the "original", conventional style of
-recommender systems. They can produce good recommendations when tweaked
-properly; they are not necessarily the fastest recommender systems and are
-thus suitable for small data sets (roughly, less than ten million ratings).
-We'll start with an example of this.
-
-First, create a **DataModel** of some kind. Here, we'll use a simple on based
-on data in a file. The file should be in CSV format, with lines of the form
-"userID,itemID,prefValue" (e.g. "39505,290002,3.5"):
-
-
- DataModel model = new FileDataModel(new File("data.txt"));
-
-
-We'll use the **PearsonCorrelationSimilarity** implementation of **UserSimilarity**
-as our user correlation algorithm, and add an optional preference inference
-algorithm:
-
-
- UserSimilarity userSimilarity = new PearsonCorrelationSimilarity(model);
-
-
-Now we create a **UserNeighborhood** algorithm. Here we use nearest-3:
-
-
- UserNeighborhood neighborhood =
- new NearestNUserNeighborhood(3, userSimilarity, model);{code}
-
-Now we can create our **Recommender**, and add a caching decorator:
-
-
- Recommender recommender =
- new GenericUserBasedRecommender(model, neighborhood, userSimilarity);
- Recommender cachingRecommender = new CachingRecommender(recommender);
-
-
-Now we can get 10 recommendations for user ID "1234" &mdash; done!
-
- List<RecommendedItem> recommendations =
- cachingRecommender.recommend(1234, 10);
-
-
-## Item-based Recommender
-
-We could have created an item-based recommender instead. Item-based
-recommenders base recommendation not on user similarity, but on item
-similarity. In theory these are about the same approach to the problem,
-just from different angles. However the similarity of two items is
-relatively fixed, more so than the similarity of two users. So, item-based
-recommenders can use pre-computed similarity values in the computations,
-which make them much faster. For large data sets, item-based recommenders
-are more appropriate.
-
-Let's start over, again with a **FileDataModel** to start:
-
-
- DataModel model = new FileDataModel(new File("data.txt"));
-
-
-We'll also need an **ItemSimilarity**. We could use
-**PearsonCorrelationSimilarity**, which computes item similarity in realtime,
-but, this is generally too slow to be useful. Instead, in a real
-application, you would feed a list of pre-computed correlations to a
-**GenericItemSimilarity**:
-
-
- // Construct the list of pre-computed correlations
- Collection<GenericItemSimilarity.ItemItemSimilarity> correlations =
- ...;
- ItemSimilarity itemSimilarity =
- new GenericItemSimilarity(correlations);
-
-
-
-Then we can finish as before to produce recommendations:
-
-
- Recommender recommender =
- new GenericItemBasedRecommender(model, itemSimilarity);
- Recommender cachingRecommender = new CachingRecommender(recommender);
- ...
- List<RecommendedItem> recommendations =
- cachingRecommender.recommend(1234, 10);
-
-
-<a name="RecommenderDocumentation-Integrationwithyourapplication"></a>
-## Integration with your application
-
-You can create a Recommender, as shown above, wherever you like in your
-Java application, and use it. This includes simple Java applications or GUI
-applications, server applications, and J2EE web applications.
-
-<a name="RecommenderDocumentation-Performance"></a>
-## Performance
-<a name="RecommenderDocumentation-RuntimePerformance"></a>
-### Runtime Performance
-The more data you give, the better. Though Mahout is designed for
-performance, you will undoubtedly run into performance issues at some
-point. For best results, consider using the following command-line flags to
-your JVM:
-
-* -server: Enables the server VM, which is generally appropriate for
-long-running, computation-intensive applications.
-* -Xms1024m -Xmx1024m: Make the heap as big as possible -- a gigabyte
-doesn't hurt when dealing with tens millions of preferences. Mahout
-recommenders will generally use as much memory as you give it for caching,
-which helps performance. Set the initial and max size to the same value to
-avoid wasting time growing the heap, and to avoid having the JVM run minor
-collections to avoid growing the heap, which will clear cached values.
-* -da -dsa: Disable all assertions.
-* -XX:NewRatio=9: Increase heap allocated to 'old' objects, which is most
-of them in this framework
-* -XX:+UseParallelGC -XX:+UseParallelOldGC (multi-processor machines only):
-Use a GC algorithm designed to take advantage of multiple processors, and
-designed for throughput. This is a default in J2SE 5.0.
-* -XX:-DisableExplicitGC: Disable calls to System.gc(). These calls can
-only hurt in the presence of modern GC algorithms; they may force Mahout to
-remove cached data needlessly. This flag isn't needed if you're sure your
-code and third-party code you use doesn't call this method.
-
-Also consider the following tips:
-
-* Use **CachingRecommender** on top of your custom **Recommender** implementation.
-* When using **JDBCDataModel**, make sure you wrap it with the **ReloadFromJDBCDataModel** to load data into memory!.
-
-<a name="RecommenderDocumentation-AlgorithmPerformance:WhichOneIsBest?"></a>
-### Algorithm Performance: Which One Is Best?
-There is no right answer; it depends on your data, your application,
-environment, and performance needs. Mahout provides the building blocks
-from which you can construct the best Recommender for your application. The
-links below provide research on this topic. You will probably need a bit of
-trial-and-error to find a setup that works best. The code sample above
-provides a good starting point.
-
-Fortunately, Mahout provides a way to evaluate the accuracy of your
-Recommender on your own data, in org.apache.mahout.cf.taste.eval
-
-
- DataModel myModel = ...;
- RecommenderBuilder builder = new RecommenderBuilder() {
- public Recommender buildRecommender(DataModel model) {
- // build and return the Recommender to evaluate here
- }
- };
- RecommenderEvaluator evaluator =
- new AverageAbsoluteDifferenceRecommenderEvaluator();
- double evaluation = evaluator.evaluate(builder, myModel, 0.9, 1.0);
-
-
-For "boolean" data model situations, where there are no notions of
-preference value, the above evaluation based on estimated preference does
-not make sense. In this case, try a *RecommenderIRStatsEvaluator*, which presents
-traditional information retrieval figures like precision and recall, which
-are more meaningful.
-
-
-<a name="RecommenderDocumentation-UsefulLinks"></a>
-## Useful Links
-
-
-Here's a handful of research papers that I've read and found particularly
-useful:
-
-J.S. Breese, D. Heckerman and C. Kadie, "[Empirical Analysis of Predictive Algorithms for Collaborative Filtering](http://research.microsoft.com/research/pubs/view.aspx?tr_id=166)
-," in Proceedings of the Fourteenth Conference on Uncertainity in
-Artificial Intelligence (UAI 1998), 1998.
-
-B. Sarwar, G. Karypis, J. Konstan and J. Riedl, "[Item-based collaborative filtering recommendation algorithms](http://www10.org/cdrom/papers/519/)
-" in Proceedings of the Tenth International Conference on the World Wide
-Web (WWW 10), pp. 285-295, 2001.
-
-P. Resnick, N. Iacovou, M. Suchak, P. Bergstrom and J. Riedl, "[GroupLens: an open architecture for collaborative filtering of netnews](http://doi.acm.org/10.1145/192844.192905)
-" in Proceedings of the 1994 ACM conference on Computer Supported
-Cooperative Work (CSCW 1994), pp. 175-186, 1994.
-
-J.L. Herlocker, J.A. Konstan, A. Borchers and J. Riedl, "[An algorithmic framework for performing collaborative filtering](http://www.grouplens.org/papers/pdf/algs.pdf)
-" in Proceedings of the 22nd annual international ACM SIGIR Conference on
-Research and Development in Information Retrieval (SIGIR 99), pp. 230-237,
-1999.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/docs/tutorials/map-reduce/recommender/recommender-first-timer-faq.md
----------------------------------------------------------------------
diff --git a/website-old/docs/tutorials/map-reduce/recommender/recommender-first-timer-faq.md b/website-old/docs/tutorials/map-reduce/recommender/recommender-first-timer-faq.md
deleted file mode 100644
index cdf425e..0000000
--- a/website-old/docs/tutorials/map-reduce/recommender/recommender-first-timer-faq.md
+++ /dev/null
@@ -1,54 +0,0 @@
----
-layout: default
-title: (Deprecated) Recommender First-Timer FAQ
-theme:
- name: retro-mahout
----
-
-# Recommender First Timer Dos and Don'ts
-
-Many people with an interest in recommenders arrive at Mahout since they're
-building a first recommender system. Some starting questions have been
-asked enough times to warrant a FAQ collecting advice and rules-of-thumb to
-newcomers.
-
-For the interested, these topics are treated in detail in the book [Mahout in Action](http://manning.com/owen/).
-
-Don't start with a distributed, Hadoop-based recommender; take on that
-complexity only if necessary. Start with non-distributed recommenders. It
-is simpler, has fewer requirements, and is more flexible.
-
-As a crude rule of thumb, a system with up to 100M user-item associations
-(ratings, preferences) should "fit" onto one modern server machine with 4GB
-of heap available and run acceptably as a real-time recommender. The system
-is invariably memory-bound since keeping data in memory is essential to
-performance.
-
-Beyond this point it gets expensive to deploy a machine with enough RAM,
-so, designing for a distributed makes sense when nearing this scale.
-However most applications don't "really" have 100M associations to process.
-Data can be sampled; noisy and old data can often be aggressively pruned
-without significant impact on the result.
-
-The next question is whether or not your system has preference values, or
-ratings. Do users and items merely have an association or not, such as the
-existence or lack of a click? or is behavior translated into some scalar
-value representing the user's degree of preference for the item.
-
-If you have ratings, then a good place to start is a
-GenericItemBasedRecommender, plus a PearsonCorrelationSimilarity similarity
-metric. If you don't have ratings, then a good place to start is
-GenericBooleanPrefItemBasedRecommender and LogLikelihoodSimilarity.
-
-If you want to do content-based item-item similarity, you need to implement
-your own ItemSimilarity.
-
-If your data can be simply exported to a CSV file, use FileDataModel and
-push new files periodically.
-If your data is in a database, use MySQLJDBCDataModel (or its "BooleanPref"
-counterpart if appropriate, or its PostgreSQL counterpart, etc.) and put on
-top a ReloadFromJDBCDataModel.
-
-This should give a reasonable starter system which responds fast. The
-nature of the system is that new data comes in from the file or database
-only periodically -- perhaps on the order of minutes.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/docs/tutorials/map-reduce/recommender/userbased-5-minutes.md
----------------------------------------------------------------------
diff --git a/website-old/docs/tutorials/map-reduce/recommender/userbased-5-minutes.md b/website-old/docs/tutorials/map-reduce/recommender/userbased-5-minutes.md
deleted file mode 100644
index 6234275..0000000
--- a/website-old/docs/tutorials/map-reduce/recommender/userbased-5-minutes.md
+++ /dev/null
@@ -1,133 +0,0 @@
----
-layout: default
-title: (Deprecated) User Based Recommender in 5 Minutes
-theme:
- name: retro-mahout
----
-
-# Creating a User-Based Recommender in 5 minutes
-
-##Prerequisites
-
-Create a java project in your favorite IDE and make sure mahout is on the classpath. The easiest way to accomplish this is by importing it via maven as described on the [Quickstart](/users/basics/quickstart.html) page.
-
-
-## Dataset
-
-Mahout's recommenders expect interactions between users and items as input. The easiest way to supply such data to Mahout is in the form of a textfile, where every line has the format *userID,itemID,value*. Here *userID* and *itemID* refer to a particular user and a particular item, and *value* denotes the strength of the interaction (e.g. the rating given to a movie).
-
-In this example, we'll use some made up data for simplicity. Create a file called "dataset.csv" and copy the following example interactions into the file.
-
-<pre>
-1,10,1.0
-1,11,2.0
-1,12,5.0
-1,13,5.0
-1,14,5.0
-1,15,4.0
-1,16,5.0
-1,17,1.0
-1,18,5.0
-2,10,1.0
-2,11,2.0
-2,15,5.0
-2,16,4.5
-2,17,1.0
-2,18,5.0
-3,11,2.5
-3,12,4.5
-3,13,4.0
-3,14,3.0
-3,15,3.5
-3,16,4.5
-3,17,4.0
-3,18,5.0
-4,10,5.0
-4,11,5.0
-4,12,5.0
-4,13,0.0
-4,14,2.0
-4,15,3.0
-4,16,1.0
-4,17,4.0
-4,18,1.0
-</pre>
-
-## Creating a user-based recommender
-
-Create a class called *SampleRecommender* with a main method.
-
-The first thing we have to do is load the data from the file. Mahout's recommenders use an interface called *DataModel* to handle interaction data. You can load our made up interactions like this:
-
-<pre>
-DataModel model = new FileDataModel(new File("/path/to/dataset.csv"));
-</pre>
-
-In this example, we want to create a user-based recommender. The idea behind this approach is that when we want to compute recommendations for a particular users, we look for other users with a similar taste and pick the recommendations from their items. For finding similar users, we have to compare their interactions. There are several methods for doing this. One popular method is to compute the [correlation coefficient](https://en.wikipedia.org/wiki/Pearson_product-moment_correlation_coefficient) between their interactions. In Mahout, you use this method as follows:
-
-<pre>
-UserSimilarity similarity = new PearsonCorrelationSimilarity(model);
-</pre>
-
-The next thing we have to do is to define which similar users we want to leverage for the recommender. For the sake of simplicity, we'll use all that have a similarity greater than *0.1*. This is implemented via a *ThresholdUserNeighborhood*:
-
-<pre>UserNeighborhood neighborhood = new ThresholdUserNeighborhood(0.1, similarity, model);</pre>
-
-Now we have all the pieces to create our recommender:
-
-<pre>
-UserBasedRecommender recommender = new GenericUserBasedRecommender(model, neighborhood, similarity);
-</pre>
-
-We can easily ask the recommender for recommendations now. If we wanted to get three items recommended for the user with *userID* 2, we would do it like this:
-
-
-<pre>
-List<RecommendedItem> recommendations = recommender.recommend(2, 3);
-for (RecommendedItem recommendation : recommendations) {
- System.out.println(recommendation);
-}
-</pre>
-
-
-Congratulations, you have built your first recommender!
-
-
-## Evaluation
-
-You might ask yourself, how to make sure that your recommender returns good results. Unfortunately, the only way to be really sure about the quality is by doing an A/B test with real users in a live system.
-
-We can however try to get a feel of the quality, by statistical offline evaluation. Just keep in mind that this does not replace a test with real users!
-
-One way to check whether the recommender returns good results is by doing a **hold-out** test. We partition our dataset into two sets: a trainingset consisting of 90% of the data and a testset consisting of 10%. Then we train our recommender using the training set and look how well it predicts the unknown interactions in the testset.
-
-To test our recommender, we create a class called *EvaluateRecommender* with a main method and add an inner class called *MyRecommenderBuilder* that implements the *RecommenderBuilder* interface. We implement the *buildRecommender* method and make it setup our user-based recommender:
-
-<pre>
-UserSimilarity similarity = new PearsonCorrelationSimilarity(dataModel);
-UserNeighborhood neighborhood = new ThresholdUserNeighborhood(0.1, similarity, dataModel);
-return new GenericUserBasedRecommender(dataModel, neighborhood, similarity);
-</pre>
-
-Now we have to create the code for the test. We'll check how much the recommender misses the real interaction strength on average. We employ an *AverageAbsoluteDifferenceRecommenderEvaluator* for this. The following code shows how to put the pieces together and run a hold-out test:
-
-<pre>
-DataModel model = new FileDataModel(new File("/path/to/dataset.csv"));
-RecommenderEvaluator evaluator = new AverageAbsoluteDifferenceRecommenderEvaluator();
-RecommenderBuilder builder = new MyRecommenderBuilder();
-double result = evaluator.evaluate(builder, null, model, 0.9, 1.0);
-System.out.println(result);
-</pre>
-
-Note: if you run this test multiple times, you will get different results, because the splitting into trainingset and testset is done randomly.
-
-
-
-
-
-
-
-
-
-
-

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/docs/tutorials/misc/contributing-algos/Foo.scala
----------------------------------------------------------------------
diff --git a/website-old/docs/tutorials/misc/contributing-algos/Foo.scala b/website-old/docs/tutorials/misc/contributing-algos/Foo.scala
deleted file mode 100644
index 171993f..0000000
--- a/website-old/docs/tutorials/misc/contributing-algos/Foo.scala
+++ /dev/null
@@ -1,75 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-
-package org.apache.mahout.math.algorithms.regression
-
-
-import org.apache.mahout.math._
-import org.apache.mahout.math.drm._
-import org.apache.mahout.math.drm.RLikeDrmOps._
-import org.apache.mahout.math.function.VectorFunction
-import org.apache.mahout.math.scalabindings._
-import org.apache.mahout.math.scalabindings.RLikeOps._
-import org.apache.mahout.math.{Matrix, Vector}
-import org.apache.mahout.math.drm.DrmLike
-
-class Foo[K] extends RegressorFitter[K] {
-
- var guessThisNumber: Double = _
-
- def setStandardHyperparameters(hyperparameters: Map[Symbol, Any] = Map('foo -> None)): Unit = {
- guessThisNumber = hyperparameters.asInstanceOf[Map[Symbol, Double]].getOrElse('guessThisNumber, 1.0)
- }
- def fit(drmX : DrmLike[K],
- drmTarget: DrmLike[K],
- hyperparameters: (Symbol, Any)*): FooModel[K] ={
- /**
- * Normally one would have a lot more code here.
- */
-
- var model = new FooModel[K]
-
- setStandardHyperparameters(hyperparameters.toMap)
- model.guessThisNumber = guessThisNumber
- model.summary = s"This model will always guess ${model.guessThisNumber}"
- model
- }
-}
-
-class FooModel[K] extends RegressorModel[K] {
-
- var guessThisNumber: Double = _
-
- def predict(drmPredictors: DrmLike[K]): DrmLike[K] = {
-
- // This is needed for MapBlock
- implicit val ktag = drmPredictors.keyClassTag
- // This is needed for broadcasting
- implicit val ctx = drmPredictors.context
-
- val bcGuess = drmBroadcast(dvec(guessThisNumber))
- drmPredictors.mapBlock(1) {
- case (keys, block: Matrix) => {
- var outputBlock = new DenseMatrix(block.nrow, 1)
- keys -> (outputBlock += bcGuess.value.get(0))
- }
- }
- }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/docs/tutorials/misc/contributing-algos/RegressionSuiteBase.scala
----------------------------------------------------------------------
diff --git a/website-old/docs/tutorials/misc/contributing-algos/RegressionSuiteBase.scala b/website-old/docs/tutorials/misc/contributing-algos/RegressionSuiteBase.scala
deleted file mode 100644
index 3290ea1..0000000
--- a/website-old/docs/tutorials/misc/contributing-algos/RegressionSuiteBase.scala
+++ /dev/null
@@ -1,202 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.mahout.math.algorithms
-
-import org.apache.mahout.math.algorithms.regression._
-import org.apache.mahout.math.drm._
-import org.apache.mahout.math.drm.RLikeDrmOps._
-import org.apache.mahout.math.scalabindings._
-import org.apache.mahout.math.scalabindings.RLikeOps._
-import org.apache.mahout.test.DistributedMahoutSuite
-import org.scalatest.{FunSuite, Matchers}
-
-trait RegressionSuiteBase extends DistributedMahoutSuite with Matchers {
- this: FunSuite =>
-
- val epsilon = 1E-6
-
- test("ordinary least squares") {
- /*
- R Prototype:
- dataM <- matrix( c(2, 2, 10.5, 10, 29.509541,
- 1, 2, 12, 12, 18.042851,
- 1, 1, 12, 13, 22.736446,
- 2, 1, 11, 13, 32.207582,
- 1, 2, 12, 11, 21.871292,
- 2, 1, 16, 8, 36.187559,
- 6, 2, 17, 1, 50.764999,
- 3, 2, 13, 7, 40.400208,
- 3, 3, 13, 4, 45.811716), nrow=9, ncol=5, byrow=TRUE)
-
-
- X = dataM[, c(1,2,3,4)]
- y = dataM[, c(5)]
-
- model <- lm(y ~ X )
- summary(model)
-
- */
-
- val drmData = drmParallelize(dense(
- (2, 2, 10.5, 10, 29.509541), // Apple Cinnamon Cheerios
- (1, 2, 12, 12, 18.042851), // Cap'n'Crunch
- (1, 1, 12, 13, 22.736446), // Cocoa Puffs
- (2, 1, 11, 13, 32.207582), // Froot Loops
- (1, 2, 12, 11, 21.871292), // Honey Graham Ohs
- (2, 1, 16, 8, 36.187559), // Wheaties Honey Gold
- (6, 2, 17, 1, 50.764999), // Cheerios
- (3, 2, 13, 7, 40.400208), // Clusters
- (3, 3, 13, 4, 45.811716)), numPartitions = 2)
-
-
- val drmX = drmData(::, 0 until 4)
- val drmY = drmData(::, 4 until 5)
-
- val model = new OrdinaryLeastSquares[Int]().fit(drmX, drmY, 'calcCommonStatistics → false)
-
- val estimate = model.beta
- val Ranswers = dvec(-1.336265, -13.157702, -4.152654, -5.679908, 163.179329)
-
- val epsilon = 1E-6
- (estimate - Ranswers).sum should be < epsilon
-
- // TODO add test for S.E / pvalue
- }
-
- test("cochrane-orcutt"){
- /* R Prototype:
- library(orcutt)
-
- df = data.frame(t(data.frame(
- c(20.96, 127.3),
- c(21.40, 130.0),
- c(21.96, 132.7),
- c(21.52, 129.4),
- c(22.39, 135.0),
- c(22.76, 137.1),
- c(23.48, 141.2),
- c(23.66, 142.8),
- c(24.10, 145.5),
- c(24.01, 145.3),
- c(24.54, 148.3),
- c(24.30, 146.4),
- c(25.00, 150.2),
- c(25.64, 153.1),
- c(26.36, 157.3),
- c(26.98, 160.7),
- c(27.52, 164.2),
- c(27.78, 165.6),
- c(28.24, 168.7),
- c(28.78, 171.7))))
-
- rownames(df) <- NULL
- colnames(df) <- c("y", "x")
- my_lm = lm(y ~ x, data=df)
- coch = cochrane.orcutt(my_lm)
-
- ///////////////////////////////////////
- The R-implementation is kind of...silly.
-
- The above works- converges at 318 iterations- the transformed DW is 1.72, yet the rho is
- .95882. After 318 iteartions, this will also report a rho of .95882 (which sugguests SEVERE
- autocorrelation- nothing close to 1.72.
-
- At anyrate, the real prototype for this is the example from Applied Linear Statistcal Models
- 5th Edition by Kunter, Nachstheim, Neter, and Li. They also provide some interesting notes on p 494:
- 1) "Cochrane-Orcutt does not always work properly. A major reason is that when the error terms
- are positively autocorrelated, the estimate r in (12.22) tends to underestimate the autocorrelation
- parameter rho. When this bias is serious, it can significantly reduce the effectiveness of the
- Cochrane-Orcutt approach.
- 2. There exists an approximate relation between the Durbin Watson test statistic D in (12.14)
- and the estimated autocorrelation paramater r in (12.22):
- D ~= 2(1-r)"
-
- They also note on p492:
- "... If the process does not terminate after one or two iterations, a different procedure
- should be employed."
- This differs from the logic found elsewhere, and the method presented in R where, in the simple
- example in the prototype, the procedure runs for 318 iterations. This is why the default
- maximum iteratoins are 3, and should be left as such.
-
- Also, the prototype and 'correct answers' are based on the example presented in Kunter et. al on
- p492-4 (including dataset).
-
- */
-
- val alsmBlaisdellCo = drmParallelize( dense(
- (20.96, 127.3),
- (21.40, 130.0),
- (21.96, 132.7),
- (21.52, 129.4),
- (22.39, 135.0),
- (22.76, 137.1),
- (23.48, 141.2),
- (23.66, 142.8),
- (24.10, 145.5),
- (24.01, 145.3),
- (24.54, 148.3),
- (24.30, 146.4),
- (25.00, 150.2),
- (25.64, 153.1),
- (26.36, 157.3),
- (26.98, 160.7),
- (27.52, 164.2),
- (27.78, 165.6),
- (28.24, 168.7),
- (28.78, 171.7) ))
-
- val drmY = alsmBlaisdellCo(::, 0 until 1)
- val drmX = alsmBlaisdellCo(::, 1 until 2)
-
- var coModel = new CochraneOrcutt[Int]().fit(drmX, drmY , ('iterations -> 2))
- val coResiduals = drmY - coModel.predict(drmX)
-
- val correctRho = 0.631166
- (coModel.rhos(1) - correctRho) should be < epsilon
-
- val shortEpsilon = 1E-4 // book rounded off pretty short
- val correctBeta = dvec(0.17376, -1.0685)
- (coModel.betas(1) - correctBeta).sum.abs < shortEpsilon
-
- val correctSe = dvec(0.002957, 0.45332)
- (coModel.se - correctSe).sum.abs < shortEpsilon
- }
-
- test("foo") {
- import org.apache.mahout.math.algorithms.regression.Foo
-
- val drmA = drmParallelize(dense((1.0, 1.2, 1.3, 1.4),
- (1.1, 1.5, 2.5, 1.0),
- (6.0, 5.2, -5.2, 5.3),
- (7.0,6.0, 5.0, 5.0),
- (10.0, 1.0, 20.0, -10.0)))
-
- val model = new Foo().fit(drmA(::, 0 until 2), drmA(::, 2 until 3), 'guessThisNumber -> 2.0)
-
- val myAnswer = model.predict(drmA).collect
- val correctAnswer = dense( (2.0),
- (2.0),
- (2.0),
- (2.0),
- (2.0))
-
-
- val epsilon = 1E-6
- (myAnswer - correctAnswer).sum should be < epsilon
- }
-}

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/docs/tutorials/misc/contributing-algos/create-pr.png b/website-old/docs/tutorials/misc/contributing-algos/create-pr.png
deleted file mode 100644
index 692be93..0000000
Binary files a/website-old/docs/tutorials/misc/contributing-algos/create-pr.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/docs/tutorials/misc/contributing-algos/github-branch.png b/website-old/docs/tutorials/misc/contributing-algos/github-branch.png
deleted file mode 100644
index a5b2c92..0000000
Binary files a/website-old/docs/tutorials/misc/contributing-algos/github-branch.png and /dev/null differ
a***@apache.org
2017-12-21 04:53:24 UTC
Permalink
MAHOUT-1981 Update build_site.sh to not commit entire website


Project: http://git-wip-us.apache.org/repos/asf/mahout/repo
Commit: http://git-wip-us.apache.org/repos/asf/mahout/commit/fc36bef1
Tree: http://git-wip-us.apache.org/repos/asf/mahout/tree/fc36bef1
Diff: http://git-wip-us.apache.org/repos/asf/mahout/diff/fc36bef1

Branch: refs/heads/master
Commit: fc36bef157dc47d9572c4cfd460067e1916910a0
Parents: 0391871
Author: Trevor a.k.a @rawkintrevo <***@gmail.com>
Authored: Tue Dec 5 22:35:26 2017 -0600
Committer: Trevor a.k.a @rawkintrevo <***@gmail.com>
Committed: Tue Dec 5 22:35:26 2017 -0600

----------------------------------------------------------------------
website/build_site.sh | 11 ++++-------
1 file changed, 4 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/mahout/blob/fc36bef1/website/build_site.sh
----------------------------------------------------------------------
diff --git a/website/build_site.sh b/website/build_site.sh
index ca9740f..408e327 100755
--- a/website/build_site.sh
+++ b/website/build_site.sh
@@ -12,12 +12,9 @@ curl -sSL https://get.rvm.io | bash -s -- --path ${RUBY_PATH}
mkdir -p ${GEM_HOME}/gems
gem install --install-dir ${GEM_HOME} bundler
export PATH=${GEM_HOME}/bin:$PATH
-(cd website/oldsite && bundle install --path ${GEM_HOME})
-(cd website/oldsite && bundle)
-(cd website/oldsite && bundle exec jekyll build --destination $WORKDIR)
-(cd website/docs && bundle install --path ${GEM_HOME})
-(cd website/docs && bundle)
-(cd website/docs && bundle exec jekyll build --destination $WORKDIR/docs/latest)
+(cd website && bundle install --path ${GEM_HOME})
+(cd website && bundle)
+(cd website && bundle exec jekyll build --destination $WORKDIR)

# Set env for docs
MAHOUT_VERSION=0.13.0
@@ -27,7 +24,7 @@ if [ ! -d "$WORKDIR/docs/$MAHOUT_VERSION/api" ]; then
DISTPATH= https://dist.apache.org/repos/dist/release/mahout/$MAHOUT_VERSION/$DISTFILE

# Copy API docs into _site
- wget -q -P $WORKDIR $DISTPATH
+ wget -qP $WORKDIR $DISTPATH
tar -C $WORKDIR -xzf $WORKDIR/$DISTFILE apache-mahout-distribution-$MAHOUT_VERSION/docs
mkdir -p $WORKDIR/docs/$MAHOUT_VERSION/api
mv $WORKDIR/apache-mahout-distribution-$MAHOUT_VERSION/docs $WORKDIR/docs/$MAHOUT_VERSION/api
a***@apache.org
2017-12-21 04:52:49 UTC
Permalink
http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/front/Rakefile
----------------------------------------------------------------------
diff --git a/website-old/front/Rakefile b/website-old/front/Rakefile
deleted file mode 100755
index 183ca1e..0000000
--- a/website-old/front/Rakefile
+++ /dev/null
@@ -1,306 +0,0 @@
-require "rubygems"
-require 'rake'
-require 'yaml'
-require 'time'
-
-SOURCE = "."
-CONFIG = {
- 'version' => "0.3.0",
- 'themes' => File.join(SOURCE, "_includes", "themes"),
- 'layouts' => File.join(SOURCE, "_layouts"),
- 'posts' => File.join(SOURCE, "_posts"),
- 'post_ext' => "md",
- 'theme_package_version' => "0.1.0"
-}
-
-# Path configuration helper
-module JB
- class Path
- SOURCE = "."
- Paths = {
- :layouts => "_layouts",
- :themes => "_includes/themes",
- :theme_assets => "assets/themes",
- :theme_packages => "_theme_packages",
- :posts => "_posts"
- }
-
- def self.base
- SOURCE
- end
-
- # build a path relative to configured path settings.
- def self.build(path, opts = {})
- opts[:root] ||= SOURCE
- path = "#{opts[:root]}/#{Paths[path.to_sym]}/#{opts[:node]}".split("/")
- path.compact!
- File.__send__ :join, path
- end
-
- end #Path
-end #JB
-
-# Usage: rake post title="A Title" [date="2012-02-09"] [tags=[tag1,tag2]] [category="category"]
-desc "Begin a new post in #{CONFIG['posts']}"
-task :post do
- abort("rake aborted: '#{CONFIG['posts']}' directory not found.") unless FileTest.directory?(CONFIG['posts'])
- title = ENV["title"] || "new-post"
- tags = ENV["tags"] || "[]"
- category = ENV["category"] || ""
- category = "\"#{category.gsub(/-/,' ')}\"" if !category.empty?
- slug = title.downcase.strip.gsub(' ', '-').gsub(/[^\w-]/, '')
- begin
- date = (ENV['date'] ? Time.parse(ENV['date']) : Time.now).strftime('%Y-%m-%d')
- rescue => e
- puts "Error - date format must be YYYY-MM-DD, please check you typed it correctly!"
- exit -1
- end
- filename = File.join(CONFIG['posts'], "#{date}-#{slug}.#{CONFIG['post_ext']}")
- if File.exist?(filename)
- abort("rake aborted!") if ask("#{filename} already exists. Do you want to overwrite?", ['y', 'n']) == 'n'
- end
-
- puts "Creating new post: #{filename}"
- open(filename, 'w') do |post|
- post.puts "---"
- post.puts "layout: post"
- post.puts "title: \"#{title.gsub(/-/,' ')}\""
- post.puts 'description: ""'
- post.puts "category: #{category}"
- post.puts "tags: #{tags}"
- post.puts "---"
- post.puts "{% include JB/setup %}"
- end
-end # task :post
-
-# Usage: rake page name="about.html"
-# You can also specify a sub-directory path.
-# If you don't specify a file extention we create an index.html at the path specified
-desc "Create a new page."
-task :page do
- name = ENV["name"] || "new-page.md"
- filename = File.join(SOURCE, "#{name}")
- filename = File.join(filename, "index.html") if File.extname(filename) == ""
- title = File.basename(filename, File.extname(filename)).gsub(/[\W\_]/, " ").gsub(/\b\w/){$&.upcase}
- if File.exist?(filename)
- abort("rake aborted!") if ask("#{filename} already exists. Do you want to overwrite?", ['y', 'n']) == 'n'
- end
-
- mkdir_p File.dirname(filename)
- puts "Creating new page: #{filename}"
- open(filename, 'w') do |post|
- post.puts "---"
- post.puts "layout: page"
- post.puts "title: \"#{title}\""
- post.puts 'description: ""'
- post.puts "---"
- post.puts "{% include JB/setup %}"
- end
-end # task :page
-
-desc "Launch preview environment"
-task :preview do
- system "jekyll serve -w"
-end # task :preview
-
-# Public: Alias - Maintains backwards compatability for theme switching.
-task :switch_theme => "theme:switch"
-
-namespace :theme do
-
- # Public: Switch from one theme to another for your blog.
- #
- # name - String, Required. name of the theme you want to switch to.
- # The theme must be installed into your JB framework.
- #
- # Examples
- #
- # rake theme:switch name="the-program"
- #
- # Returns Success/failure messages.
- desc "Switch between Jekyll-bootstrap themes."
- task :switch do
- theme_name = ENV["name"].to_s
- theme_path = File.join(CONFIG['themes'], theme_name)
- settings_file = File.join(theme_path, "settings.yml")
- non_layout_files = ["settings.yml"]
-
- abort("rake aborted: name cannot be blank") if theme_name.empty?
- abort("rake aborted: '#{theme_path}' directory not found.") unless FileTest.directory?(theme_path)
- abort("rake aborted: '#{CONFIG['layouts']}' directory not found.") unless FileTest.directory?(CONFIG['layouts'])
-
- Dir.glob("#{theme_path}/*") do |filename|
- next if non_layout_files.include?(File.basename(filename).downcase)
- puts "Generating '#{theme_name}' layout: #{File.basename(filename)}"
-
- open(File.join(CONFIG['layouts'], File.basename(filename)), 'w') do |page|
- page.puts "---"
- page.puts File.read(settings_file) if File.exist?(settings_file)
- page.puts "layout: default" unless File.basename(filename, ".html").downcase == "default"
- page.puts "---"
- page.puts "{% include JB/setup %}"
- page.puts "{% include themes/#{theme_name}/#{File.basename(filename)} %}"
- end
- end
-
- puts "=> Theme successfully switched!"
- puts "=> Reload your web-page to check it out =)"
- end # task :switch
-
- # Public: Install a theme using the theme packager.
- # Version 0.1.0 simple 1:1 file matching.
- #
- # git - String, Optional path to the git repository of the theme to be installed.
- # name - String, Optional name of the theme you want to install.
- # Passing name requires that the theme package already exist.
- #
- # Examples
- #
- # rake theme:install git="https://github.com/jekyllbootstrap/theme-twitter.git"
- # rake theme:install name="cool-theme"
- #
- # Returns Success/failure messages.
- desc "Install theme"
- task :install do
- if ENV["git"]
- manifest = theme_from_git_url(ENV["git"])
- name = manifest["name"]
- else
- name = ENV["name"].to_s.downcase
- end
-
- packaged_theme_path = JB::Path.build(:theme_packages, :node => name)
-
- abort("rake aborted!
- => ERROR: 'name' cannot be blank") if name.empty?
- abort("rake aborted!
- => ERROR: '#{packaged_theme_path}' directory not found.
- => Installable themes can be added via git. You can find some here: http://github.com/jekyllbootstrap
- => To download+install run: `rake theme:install git='[PUBLIC-CLONE-URL]'`
- => example : rake theme:install git='***@github.com:jekyllbootstrap/theme-the-program.git'
- ") unless FileTest.directory?(packaged_theme_path)
-
- manifest = verify_manifest(packaged_theme_path)
-
- # Get relative paths to packaged theme files
- # Exclude directories as they'll be recursively created. Exclude meta-data files.
- packaged_theme_files = []
- FileUtils.cd(packaged_theme_path) {
- Dir.glob("**/*.*") { |f|
- next if ( FileTest.directory?(f) || f =~ /^(manifest|readme|packager)/i )
- packaged_theme_files << f
- }
- }
-
- # Mirror each file into the framework making sure to prompt if already exists.
- packaged_theme_files.each do |filename|
- file_install_path = File.join(JB::Path.base, filename)
- if File.exist? file_install_path and ask("#{file_install_path} already exists. Do you want to overwrite?", ['y', 'n']) == 'n'
- next
- else
- mkdir_p File.dirname(file_install_path)
- cp_r File.join(packaged_theme_path, filename), file_install_path
- end
- end
-
- puts "=> #{name} theme has been installed!"
- puts "=> ---"
- if ask("=> Want to switch themes now?", ['y', 'n']) == 'y'
- system("rake switch_theme name='#{name}'")
- end
- end
-
- # Public: Package a theme using the theme packager.
- # The theme must be structured using valid JB API.
- # In other words packaging is essentially the reverse of installing.
- #
- # name - String, Required name of the theme you want to package.
- #
- # Examples
- #
- # rake theme:package name="twitter"
- #
- # Returns Success/failure messages.
- desc "Package theme"
- task :package do
- name = ENV["name"].to_s.downcase
- theme_path = JB::Path.build(:themes, :node => name)
- asset_path = JB::Path.build(:theme_assets, :node => name)
-
- abort("rake aborted: name cannot be blank") if name.empty?
- abort("rake aborted: '#{theme_path}' directory not found.") unless FileTest.directory?(theme_path)
- abort("rake aborted: '#{asset_path}' directory not found.") unless FileTest.directory?(asset_path)
-
- ## Mirror theme's template directory (_includes)
- packaged_theme_path = JB::Path.build(:themes, :root => JB::Path.build(:theme_packages, :node => name))
- mkdir_p packaged_theme_path
- cp_r theme_path, packaged_theme_path
-
- ## Mirror theme's asset directory
- packaged_theme_assets_path = JB::Path.build(:theme_assets, :root => JB::Path.build(:theme_packages, :node => name))
- mkdir_p packaged_theme_assets_path
- cp_r asset_path, packaged_theme_assets_path
-
- ## Log packager version
- packager = {"packager" => {"version" => CONFIG["theme_package_version"].to_s } }
- open(JB::Path.build(:theme_packages, :node => "#{name}/packager.yml"), "w") do |page|
- page.puts packager.to_yaml
- end
-
- puts "=> '#{name}' theme is packaged and available at: #{JB::Path.build(:theme_packages, :node => name)}"
- end
-
-end # end namespace :theme
-
-# Internal: Download and process a theme from a git url.
-# Notice we don't know the name of the theme until we look it up in the manifest.
-# So we'll have to change the folder name once we get the name.
-#
-# url - String, Required url to git repository.
-#
-# Returns theme manifest hash
-def theme_from_git_url(url)
- tmp_path = JB::Path.build(:theme_packages, :node => "_tmp")
- abort("rake aborted: system call to git clone failed") if !system("git clone #{url} #{tmp_path}")
- manifest = verify_manifest(tmp_path)
- new_path = JB::Path.build(:theme_packages, :node => manifest["name"])
- if File.exist?(new_path) && ask("=> #{new_path} theme package already exists. Override?", ['y', 'n']) == 'n'
- remove_dir(tmp_path)
- abort("rake aborted: '#{manifest["name"]}' already exists as theme package.")
- end
-
- remove_dir(new_path) if File.exist?(new_path)
- mv(tmp_path, new_path)
- manifest
-end
-
-# Internal: Process theme package manifest file.
-#
-# theme_path - String, Required. File path to theme package.
-#
-# Returns theme manifest hash
-def verify_manifest(theme_path)
- manifest_path = File.join(theme_path, "manifest.yml")
- manifest_file = File.open( manifest_path )
- abort("rake aborted: repo must contain valid manifest.yml") unless File.exist? manifest_file
- manifest = YAML.load( manifest_file )
- manifest_file.close
- manifest
-end
-
-def ask(message, valid_options)
- if valid_options
- answer = get_stdin("#{message} #{valid_options.to_s.gsub(/"/, '').gsub(/, /,'/')} ") while !valid_options.include?(answer)
- else
- answer = get_stdin(message)
- end
- answer
-end
-
-def get_stdin(message)
- print message
- STDIN.gets.chomp
-end
-
-#Load custom rake scripts
-Dir['_rake/*.rake'].each { |r| load r }

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/front/_config.yml
----------------------------------------------------------------------
diff --git a/website-old/front/_config.yml b/website-old/front/_config.yml
deleted file mode 100644
index 346fec9..0000000
--- a/website-old/front/_config.yml
+++ /dev/null
@@ -1,134 +0,0 @@
-# This is the default format.
-# For more see: http://jekyllrb.com/docs/permalinks/
-permalink: /:categories/:year/:month/:day/:title
-
-exclude: [".rvmrc", ".rbenv-version", "README.md", "Rakefile", "changelog.md", "vendor", "node_modules", "scss", "screenshots", "Gemfile.lock", "Gemfile"]
-#pygments: true
-highlighter: rouge
-markdown: kramdown
-redcarpet:
- extensions: ["tables"]
-encoding: utf-8
-
-# Themes are encouraged to use these universal variables
-# so be sure to set them if your theme uses them.
-#
-title : Apache Mahout
-tagline: Distributed Linear Algebra
-author :
- name : The Apache Software Foundation
- email : ***@mahout.apache.org
- github : apache
- twitter : ASF
- feedburner : feedname
-
-# Serving
-detach: false
-port: 4000
-host: 127.0.0.1
-baseurl: "" # does not include hostname
-
-MAHOUT_VERSION : 0.13.1
-
-# The production_url is only used when full-domain names are needed
-# such as sitemap.txt
-# Most places will/should use BASE_PATH to make the urls
-#
-# If you have set a CNAME (pages.github.com) set your custom domain here.
-# Else if you are pushing to username.github.io, replace with your username.
-# Finally if you are pushing to a GitHub project page, include the project name at the end.
-#
-production_url : http://mahout.apache.org/
-# All Jekyll-Bootstrap specific configurations are namespaced into this hash
-#
-JB :
- version : 0.3.0
-
- # All links will be namespaced by BASE_PATH if defined.
- # Links in your website should always be prefixed with {{BASE_PATH}}
- # however this value will be dynamically changed depending on your deployment situation.
- #
- # CNAME (http://yourcustomdomain.com)
- # DO NOT SET BASE_PATH
- # (urls will be prefixed with "/" and work relatively)
- #
- # GitHub Pages (http://username.github.io)
- # DO NOT SET BASE_PATH
- # (urls will be prefixed with "/" and work relatively)
- #
- # GitHub Project Pages (http://username.github.io/project-name)
- #
- # A GitHub Project site exists in the `gh-pages` branch of one of your repositories.
- # REQUIRED! Set BASE_PATH to: http://username.github.io/project-name
- #
- # CAUTION:
- # - When in Localhost, your site will run from root "/" regardless of BASE_PATH
- # - Only the following values are falsy: ["", null, false]
- # - When setting BASE_PATH it must be a valid url.
- # This means always setting the protocol (http|https) or prefixing with "/"
- BASE_PATH :
-
- # By default, the asset_path is automatically defined relative to BASE_PATH plus the enabled theme.
- # ex: [BASE_PATH]/assets/themes/[THEME-NAME]
- #
- # Override this by defining an absolute path to assets here.
- # ex:
- # http://s3.amazonaws.com/yoursite/themes/watermelon
- # /assets
- #
- ASSET_PATH : false
-
- # These paths are to the main pages Jekyll-Bootstrap ships with.
- # Some JB helpers refer to these paths; change them here if needed.
- #
- archive_path: /archive.html
- categories_path : /categories.html
- tags_path : /tags.html
- atom_path : /atom.xml
- rss_path : /rss.xml
-
- # Settings for comments helper
- # Set 'provider' to the comment provider you want to use.
- # Set 'provider' to false to turn commenting off globally.
- #
-# comments :
-# provider : disqus
-# disqus :
-# short_name : jekyllbootstrap
-# livefyre :
-# site_id : 123
-# intensedebate :
-# account : 123abc
-# facebook :
-# appid : 123
-# num_posts: 5
-# width: 580
-# colorscheme: light
-
- # Settings for analytics helper
- # Set 'provider' to the analytics provider you want to use.
- # Set 'provider' to false to turn analytics off globally.
-
- # Settings for sharing helper.
- # Sharing is for things like tweet, plusone, like, reddit buttons etc.
- # Set 'provider' to the sharing provider you want to use.
- # Set 'provider' to false to turn sharing off globally.
- #
- sharing :
- provider : false
-
- # Settings for all other include helpers can be defined by creating
- # a hash with key named for the given helper. ex:
- #
- # pages_list :
- # provider : "custom"
- #
- # Setting any helper's provider to 'custom' will bypass the helper code
- # and include your custom code. Your custom file must be defined at:
- # ./_includes/custom/[HELPER]
-
-
- analytics :
- provider : google
- google :
- tracking_id : 'UA-98314020-1'
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/front/_includes/JB
----------------------------------------------------------------------
diff --git a/website-old/front/_includes/JB b/website-old/front/_includes/JB
deleted file mode 120000
index 78a010c..0000000
--- a/website-old/front/_includes/JB
+++ /dev/null
@@ -1 +0,0 @@
-../../_includes/JB
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/front/_includes/navbar.html
----------------------------------------------------------------------
diff --git a/website-old/front/_includes/navbar.html b/website-old/front/_includes/navbar.html
deleted file mode 100644
index 787b3d5..0000000
--- a/website-old/front/_includes/navbar.html
+++ /dev/null
@@ -1,91 +0,0 @@
-{% include JB/setup %}
-<div class="collapse navbar-collapse" id="main-navbar">
- <ul class="nav navbar-nav">
-
- <!-- Download -->
- <li><a href="{{ BASE_PATH }}/downloads.html">Download Mahout</a></li>
-
- <!-- Developers -->
- <li id="dropdown">
- <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Developers<span class="caret"></span></a>
- <ul class="dropdown-menu">
- <!--<li><a href="/developers/key-concepts.html">Key-Concepts</a></li> needs to be filled out -->
- <!--<li><a href="/developers/index.html">Developer Resources</a></li> moved to docs -->
- <!--<li><a href="/developers/patch-check-list.html">Patch Check List</a></li> going to github template -->
- <!--<li><a href="/developers/reference.html">References</a></li> a lot of overlap with books, talks, etc. page -->
- <!--<li><a href="/developers/thirdparty-dependencies.html">Third Party Dependencies</a></li> is our site the reasonable place for this? -->
- <!--<li><a href="/developers/version-control.html">Version Control</a></li>-->
- <li class="divider"></li>
- <li class="nav-header">&nbsp;&nbsp;<b>How Tos</b></li>
- <li><a href="/developers/how-to-contribute.html">How to Contribute</a></li>
- <li><a href="/developers/buildingmahout.html">How to Build Mahout</a></li>
- <li><a href="/developers/githubPRs.html">How to Merge a Github PR</a></li> <!-- gtg, added new info for develop and feature branching -->
- <li><a href="/developers/how-to-become-a-committer.html">How to Become a Committer</a></li>
- <li><a href="/developers/how-to-release.html">How to Release</a></li>
- <li><a href="/developers/how-to-update-the-website.html">How to Update the Website</a></li>
- <li><a href="/developers/publish-website.html">How to Publish the Website</a></li>
- <li class="divider"></li>
- <li class="nav-header">&nbsp;&nbsp;<b>Miscellaneous</b></li>
- <li><a href="/developers/issue-tracker.html">Issues Tracking (JIRA)</a></li>
- <li><a href="/developers/release-notes.html">Release Notes</a></li>
-
- </ul>
- </li>
-
- <!-- Docs -->
- <li class="dropdown">
- <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Docs <span class="caret"></span></a> <ul class="dropdown-menu">
- <li><span><b>&nbsp;&nbsp;Release</b></span></li>
- <li><a href="/docs/0.13.0">0.13.0</a></li>
- <li><a href="/tbd">Older Versions</a></li>
- <li role="separator" class="divider"></li>
- <li><span><b>&nbsp;&nbsp;Snapshot</b>&nbsp;(development)&nbsp;<span></li>
- <li><a href="/docs/0.13.1-SNAPSHOT">0.13.1-SNAPSHOT</a></li>
- </ul>
- </li>
-
-
- <!-- Community -->
- <li id="dropdown">
- <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Community<span class="caret"></span></a>
- <ul class="dropdown-menu">
- <li><a href="/community/history.html">History of the Apache Mahout Project</a></li>
- <li><a href="/community/blogs.html">Blog Posts About Mahout</a></li>
- <li><a href="/community/recent-upcoming-talks.html">Recent and Upcoming Talks</a></li>
- <!--<li><a href="/community/books-tutorials-and-talks.html">Books Tutorials and Talks</a></li>-->
- <!--<li><a href="/community/faq.html">FAQ</a></li> needs a lot of updating -->
- <li><a href="/community/gsoc.html">GSoC</a></li> <!-- Is OK- updated Map/Reduce verbage to reflect Samsara -->
- <!--<li><a href="/community/mahout-benchmarks.html">Mahout Benchmarks</a></li> These are old, Keep them? -->
- <!--<li><a href="/community/mahout-wiki.html">Mahout Wiki</a></li> at very least needs links cleanedup - do we still want this even?-->
- <li><a href="/community/mailing-lists.html">Mailing Lists</a></li> <!-- Clean and pretty -->
- <!--<li><a href="/community/powered-by-mahout.html">Powered By Mahout</a></li> needs update -->
- <li><a href="/community/privacy-policy.html">Privacy Policy</a></li>
- <!--<li><a href="/community/professional-support.html">Professional Support</a></li> update if we even want to keep -->
- <li><a href="/community/who-we-are.html">Who We Are</a></li> <!-- nikolai needs to add himself -->
- </ul>
- </li>
- <!--<li><a href="/docs/0.13.1-SNAPSHOT/index.html">Overview</a></li> not sure this need to be-->
-
- </ul>
- <form class="navbar-form navbar-left">
- <div class="form-group">
- <input type="text" class="form-control" placeholder="Search">
- </div>
- <button type="submit" class="btn btn-default">Submit</button>
- </form>
- <ul class="nav navbar-nav navbar-right">
- <li><a href="http://github.com/apache/mahout">Github</a></li>
-
- <!-- Apache -->
- <li class="dropdown">
- <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Apache <span class="caret"></span></a>
- <ul class="dropdown-menu">
- <li><a href="http://www.apache.org/foundation/how-it-works.html">Apache Software Foundation</a></li>
- <li><a href="http://www.apache.org/licenses/">Apache License</a></li>
- <li><a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
- <li><a href="http://www.apache.org/foundation/thanks.html">Thanks</a></li>
- </ul>
- </li>
-
- </ul>
-</div><!-- /.navbar-collapse -->

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/front/_includes/themes
----------------------------------------------------------------------
diff --git a/website-old/front/_includes/themes b/website-old/front/_includes/themes
deleted file mode 120000
index b1d44e6..0000000
--- a/website-old/front/_includes/themes
+++ /dev/null
@@ -1 +0,0 @@
-../../_includes/themes
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/front/_layouts/default.html
----------------------------------------------------------------------
diff --git a/website-old/front/_layouts/default.html b/website-old/front/_layouts/default.html
deleted file mode 100755
index ec60279..0000000
--- a/website-old/front/_layouts/default.html
+++ /dev/null
@@ -1,6 +0,0 @@
----
-theme :
- name : mahout3
----
-{% include JB/setup %}
-{% include themes/mahout3/default.html %}

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/front/_layouts/page.html
----------------------------------------------------------------------
diff --git a/website-old/front/_layouts/page.html b/website-old/front/_layouts/page.html
deleted file mode 100755
index 0e123f9..0000000
--- a/website-old/front/_layouts/page.html
+++ /dev/null
@@ -1,7 +0,0 @@
----
-theme :
- name : mahout3
-layout: default
----
-{% include JB/setup %}
-{% include themes/mahout3/page.html %}

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/front/_layouts/post.html
----------------------------------------------------------------------
diff --git a/website-old/front/_layouts/post.html b/website-old/front/_layouts/post.html
deleted file mode 100755
index 9b8f584..0000000
--- a/website-old/front/_layouts/post.html
+++ /dev/null
@@ -1,7 +0,0 @@
----
-theme :
- name : mahout3
-layout: default
----
-{% include JB/setup %}
-{% include themes/mahout3/post.html %}

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/front/_plugins/debug.rb
----------------------------------------------------------------------
diff --git a/website-old/front/_plugins/debug.rb b/website-old/front/_plugins/debug.rb
deleted file mode 100755
index e1dde39..0000000
--- a/website-old/front/_plugins/debug.rb
+++ /dev/null
@@ -1,38 +0,0 @@
-# A simple way to inspect liquid template variables.
-# Usage:
-# Can be used anywhere liquid syntax is parsed (templates, includes, posts/pages)
-# {{ site | debug }}
-# {{ site.posts | debug }}
-#
-require 'pp'
-module Jekyll
- # Need to overwrite the inspect method here because the original
- # uses < > to encapsulate the psuedo post/page objects in which case
- # the output is taken for HTML tags and hidden from view.
- #
- class Post
- def inspect
- "#Jekyll:Post @id=#{self.id.inspect}"
- end
- end
-
- class Page
- def inspect
- "#Jekyll:Page @name=#{self.name.inspect}"
- end
- end
-
-end # Jekyll
-
-module Jekyll
- module DebugFilter
-
- def debug(obj, stdout=false)
- puts obj.pretty_inspect if stdout
- "<pre>#{obj.class}\n#{obj.pretty_inspect}</pre>"
- end
-
- end # DebugFilter
-end # Jekyll
-
-Liquid::Template.register_filter(Jekyll::DebugFilter)
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/front/archive.html
----------------------------------------------------------------------
diff --git a/website-old/front/archive.html b/website-old/front/archive.html
deleted file mode 100755
index dc7c054..0000000
--- a/website-old/front/archive.html
+++ /dev/null
@@ -1,10 +0,0 @@
----
-layout: page
-title : Archive
-header : Post Archive
-group: navigation
----
-{% include JB/setup %}
-
-{% assign posts_collate = site.posts %}
-{% include JB/posts_collate %}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/front/assets
----------------------------------------------------------------------
diff --git a/website-old/front/assets b/website-old/front/assets
deleted file mode 120000
index ec2e4be..0000000
--- a/website-old/front/assets
+++ /dev/null
@@ -1 +0,0 @@
-../assets
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/front/categories.html
----------------------------------------------------------------------
diff --git a/website-old/front/categories.html b/website-old/front/categories.html
deleted file mode 100755
index cdb8789..0000000
--- a/website-old/front/categories.html
+++ /dev/null
@@ -1,22 +0,0 @@
----
-layout: page
-title: Categories
-header: Posts By Category
-group: navigation
----
-{% include JB/setup %}
-
-<ul class="tag_box inline">
- {% assign categories_list = site.categories %}
- {% include JB/categories_list %}
-</ul>
-
-
-{% for category in site.categories %}
- <h2 id="{{ category[0] }}-ref">{{ category[0] | join: "/" }}</h2>
- <ul>
- {% assign pages_list = category[1] %}
- {% include JB/pages_list %}
- </ul>
-{% endfor %}
-

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/front/changelog.md
----------------------------------------------------------------------
diff --git a/website-old/front/changelog.md b/website-old/front/changelog.md
deleted file mode 100755
index 7965e9d..0000000
--- a/website-old/front/changelog.md
+++ /dev/null
@@ -1,70 +0,0 @@
-## Changelog
-
-Public releases are all root nodes.
-Incremental version bumps that were not released publicly are nested where appropriate.
-
-P.S. If there is a standard (popular) changelog format, please let me know.
-
-- **0.3.0 : 2013.02.24**
- - **Features**
- - Update twitter bootstrap to 2.2.2. Add responsiveness and update design a bit.
- - @techotaku fixes custom tagline support (finally made it in!)
- - @opie4624 adds ability to set tags from the command-line.
- - @lax adds support for RSS feed. Adds rss and atom html links for discovery.
- - Small typo fixes.
-
- - **Bug Fixes**
- - @xuhdev fixes theme:install bug which does not overwrite theme even if saying 'yes'.
-
-- **0.2.13 : 2012.03.24**
- - **Features**
- - 0.2.13 : @mjpieters Updates pages_list helper to only show pages having a title.
- - 0.2.12 : @sway recommends showing page tagline only if tagline is set.
- - 0.2.11 : @LukasKnuth adds 'description' meta-data field to post/page scaffold.
-
- - **Bug Fixes**
- - 0.2.10 : @koriroys fixes typo in atom feed
-
-- **0.2.9 : 2012.03.01**
- - **Bug Fixes**
- - 0.2.9 : @alishutc Fixes the error on post creation if date was not specified.
-
-- **0.2.8 : 2012.03.01**
- - **Features**
- - 0.2.8 : @metalelf0 Added option to specify a custom date when creating post.
- - 0.2.7 : @daz Updates twitter theme framework to use 2.x while still maintaining core layout. #50
- @philips and @treggats add support for page.tagline metadata. #31 & #48
- - 0.2.6 : @koomar Adds Mixpanel analytics provider. #49
- - 0.2.5 : @nolith Adds ability to load custom rake scripts. #33
- - 0.2.4 : @tommyblue Updated disqus comments provider to be compatible with posts imported from Wordpress. #47
-
- - **Bug Fixes**
- - 0.2.3 : @3martini Adds Windows MSYS Support and error checks for git system calls. #40
- - 0.2.2 : @sstar Resolved an issue preventing disabling comments for individual pages #44
- - 0.2.1 : Resolve incorrect HOME\_PATH/BASE\_PATH settings
-
-- **0.2.0 : 2012.02.01**
- Features
- - Add Theme Packages v 0.1.0
- All themes should be tracked and maintained outside of JB core.
- Themes get "installed" via the Theme Installer.
- Theme Packages versioning is done separately from JB core with
- the main intent being to make sure theme versions are compatible with the given installer.
-
- - 0.1.2 : @jamesFleeting adds facebook comments support
- - 0.1.1 : @SegFaultAX adds tagline as site-wide configuration
-
-- **0.1.0 : 2012.01.24**
- First major versioned release.
- Features
- - Standardize Public API
- - Use name-spacing and modulation where possible.
- - Ability to override public methods with custom code.
- - Publish the theme API.
- - Ship with comments, analytics integration.
-
-- **0.0.1 : 2011.12.30**
- First public release, lots of updates =p
- Thank you everybody for dealing with the fast changes and helping
- me work out the API to a manageable state.
-

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/front/community/blogs.md
----------------------------------------------------------------------
diff --git a/website-old/front/community/blogs.md b/website-old/front/community/blogs.md
deleted file mode 100644
index 3b2da80..0000000
--- a/website-old/front/community/blogs.md
+++ /dev/null
@@ -1,28 +0,0 @@
----
-layout: default
-title: History of Apache Mahout
-theme:
- name: mahout2
----
-
-<!-- Add to this collection, newest date on top in following format:
-### [Title](Link to Post)
-**Author**, _MM/DD/YYYY_, Name of Host
-Description
--->
-
-### [Precanned Algorithms in Apache Mahout](https://rawkintrevo.org/2017/05/02/introducing-pre-canned-algorithms-apache-mahout/)
-**Trevor Grant** | _05/02/2017_ | rawkintrevo.org
-
-An introduction to the new Algorithms Framework
-
-### [Getting Started With Apache Mahout](https://datascience.ibm.com/blog/getting-started-with-apache-mahout-2/)
-**Trevor Grant** | _04/25/2017_ | datascience.ibm.com/blog
-
-How to setup Apache Mahout in IBM's Datascience Experience Notebooking Environment, and run a few trivial programs.
-
-### [Mahout 0.10.x: first Mahout release as a programming environment](http://www.weatheringthroughtechdays.com/2015/04/mahout-010x-first-mahout-release-as.html)
-**Dmitriy Lyubimov, Andrew Palumbo** | _04/09/2017_ | http://weatheringthrutechdays.blogspot.com/
-
-Introduces Apache Mahout of the post-MapReduce era, and lays out motivations for change in focus.
-

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/front/community/buildingmahout.md
----------------------------------------------------------------------
diff --git a/website-old/front/community/buildingmahout.md b/website-old/front/community/buildingmahout.md
deleted file mode 100644
index f6e33d2..0000000
--- a/website-old/front/community/buildingmahout.md
+++ /dev/null
@@ -1,128 +0,0 @@
----
-layout: default
-title: Building Mahout
-theme:
- name: mahout2
----
-
-
-# Building Mahout from Source
-
-## Prerequisites
-
-* Java JDK 1.7
-* Apache Maven 3.3.9
-
-
-## Getting the source code
-
-Checkout the sources from the [Mahout GitHub repository](https://github.com/apache/mahout)
-either via
-
- git clone ***@github.com:apache/mahout.git
-or
-
- git clone https://github.com/apache/mahout.git
-
-## Building From Source
-
-###### Prerequisites:
-
-Linux Environment (preferably Ubuntu 16.04.x) Note: Currently only the JVM-only build will work on a Mac.
-gcc > 4.x
-NVIDIA Card (installed with OpenCL drivers alongside usual GPU drivers)
-
-###### Downloads
-
-Install java 1.7+ in an easily accessible directory (for this example, ~/java/)
-http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
-
-Create a directory ~/apache/ .
-
-Download apache Maven 3.3.9 and un-tar/gunzip to ~/apache/apache-maven-3.3.9/ .
-https://maven.apache.org/download.cgi
-
-Download and un-tar/gunzip Hadoop 2.4.1 to ~/apache/hadoop-2.4.1/ .
-https://archive.apache.org/dist/hadoop/common/hadoop-2.4.1/
-
-Download and un-tar/gunzip spark-1.6.3-bin-hadoop2.4 to ~/apache/ .
-http://spark.apache.org/downloads.html
-Choose release: Spark-1.6.3 (Nov 07 2016)
-Choose package type: Pre-Built for Hadoop 2.4
-
-Install ViennaCL 1.7.0+
-If running Ubuntu 16.04+
-
-```
-sudo apt-get install libviennacl-dev
-```
-
-Otherwise if your distribution’s package manager does not have a viennniacl-dev package >1.7.0, clone it directly into the directory which will be included in when being compiled by Mahout:
-
-```
-mkdir ~/tmp
-cd ~/tmp && git clone https://github.com/viennacl/viennacl-dev.git
-cp -r viennacl/ /usr/local/
-cp -r CL/ /usr/local/
-```
-
-Ensure that the OpenCL 1.2+ drivers are installed (packed with most consumer grade NVIDIA drivers). Not sure about higher end cards.
-
-Clone mahout repository into `~/apache`.
-
-```
-git clone https://github.com/apache/mahout.git
-```
-
-###### Configuration
-
-When building mahout for a spark backend, we need four System Environment variables set:
-```
- export MAHOUT_HOME=/home/<user>/apache/mahout
- export HADOOP_HOME=/home/<user>/apache/hadoop-2.4.1
- export SPARK_HOME=/home/<user>/apache/spark-1.6.3-bin-hadoop2.4
- export JAVA_HOME=/home/<user>/java/jdk-1.8.121
-```
-
-Mahout on Spark regularly uses one more env variable, the IP of the Spark cluster’s master node (usually the node which one would be logged into).
-
-To use 4 local cores (Spark master need not be running)
-```
-export MASTER=local[4]
-```
-To use all available local cores (again, Spark master need not be running)
-```
-export MASTER=local[*]
-```
-To point to a cluster with spark running:
-```
-export MASTER=spark://master.ip.address:7077
-```
-
-We then add these to the path:
-
-```
- PATH=$PATH$:MAHOUT_HOME/bin:$HADOOP_HOME/bin:$SPARK_HOME/bin:$JAVA_HOME/bin
-```
-
-These should be added to the your ~/.bashrc file.
-
-
-###### Building Mahout with Apache Maven
-
-Currently Mahout has 3 builds. From the $MAHOUT_HOME directory we may issue the commands to build each using mvn profiles.
-
-JVM only:
-```
-mvn clean install -DskipTests
-```
-
-JVM with native OpenMP level 2 and level 3 matrix/vector Multiplication
-```
-mvn clean install -Pviennacl-omp -Phadoop2 -DskipTests
-```
-JVM with native OpenMP and OpenCL for Level 2 and level 3 matrix/vector Multiplication. (GPU errors fall back to OpenMP, currently only a single GPU/node is supported).
-```
-mvn clean install -Pviennacl -Phadoop2 -DskipTests
-```
-
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/front/community/gsoc.md
----------------------------------------------------------------------
diff --git a/website-old/front/community/gsoc.md b/website-old/front/community/gsoc.md
deleted file mode 100644
index 125a567..0000000
--- a/website-old/front/community/gsoc.md
+++ /dev/null
@@ -1,64 +0,0 @@
----
-layout: default
-title: Google Summer of Code
-theme:
- name: mahout2
----
-
-# Google Summer of Code
-
-Mahout has been mentoring students in Google Summer of Code (GSoC) for as long as
-the project has existed. To help students better understand what is
-expected of them, this page lays out common advice, links and other tips
-and tricks for successfully creating a GSoC proposal for Mahout.
-
-Be warned, however, that GSoC, particularly at the Apache Software
-Foundation (ASF), is fairly competitive. Not only are you competing
-against others within Mahout, but Mahout is competing with other projects
-in the ASF. Therefore, it is very important that proposals be well
-referenced and well thought out. Even if you don't get selected, consider
-sticking around. Open source is fun, a great career builder and can open up many
-opportunities for you.
-
-## Tips on Good Proposals
-
-* Interact with the community before proposal time. This is actually part
-of how we rate proposals. Having a good idea is just one part of the
-process. You must show you can communicate and work within the community
-parameters. You might even consider putting up a patch or two that shows
-you get how things work. See [How To Contribute](how-to-contribute.html).
-* Since Machine Learning is fairly academic, be sure to cite your sources
-in your proposal.
-* Provide a realistic timeline. Be sure you indicate what other
-obligations you have during the summer. It may seem worthwhile to lie
-here, but we have failed students mid-term in the past because they did not
-participate as they said they would. Failing mid-term means not getting
-paid.
-* Do not mail mentors off list privately unless it is something truly
-personal (most things are not). This will likely decrease your chances of
-being selected, not increase them.
-* DO NOT BITE OFF MORE THAN YOU CAN CHEW. Every year, there are a few
-students who propose to implement 3-5 machine learning algorithms, all in a two month period. They NEVER get selected. Be
-realistic. All successful projects to date follow, more or less, the
-following formula: Implement algorithm in Samsara (Mahout's R-Like Scala DSL). Write Unit Tests.
-Do some bigger scale tests. Write 1 or 2 examples. Write Website
-documentation. That's it. Trust us, it takes a summer to do these things.
-
-
-## What to expect once selected
-
-* Just as in the proposals, almost all interaction should take place on the
-mailing lists. Only personal matters related to your whereabouts or your
-evaluation will take place privately.
-* Show up. Ask questions. Be engaged. We don't care if you know it all
-about what you are implementing. We care about you contributing to open
-source. You learn. We learn. Win-win.
-* Enjoy it! Contributing to open source can open some amazing doors for
-your career.
-
-<a name="GSOC-References"></a>
-## References
-
- * [GSoC Home](http://code.google.com/soc/) - official GSoC page
- * [GSoC FAQ](http://socghop.appspot.com/document/show/gsoc_program/google/gsoc2010/faqs) - official FAQ
- * [Apache GSoC coordination](http://community.apache.org/gsoc.html) - official Apache GSoC documentation, especially important if you want to become a mentor
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/front/community/history.md
----------------------------------------------------------------------
diff --git a/website-old/front/community/history.md b/website-old/front/community/history.md
deleted file mode 100644
index bebc2f9..0000000
--- a/website-old/front/community/history.md
+++ /dev/null
@@ -1,20 +0,0 @@
----
-layout: default
-title: History of Apache Mahout
-theme:
- name: mahout2
----
-
-
-TODO: Would really like to get perspective of multiple people here
-
-## Pre-Apache
-
-## Decision to Move to ASF
-
-## Early Releases
-
-## The 0.9.x Major Vendor Freeze
-
-## Mahout Samsara 0.10.0+
-

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/front/community/mailing-lists.md
----------------------------------------------------------------------
diff --git a/website-old/front/community/mailing-lists.md b/website-old/front/community/mailing-lists.md
deleted file mode 100644
index c33baba..0000000
--- a/website-old/front/community/mailing-lists.md
+++ /dev/null
@@ -1,47 +0,0 @@
----
-layout: default
-title: Mailing Lists, IRC and Archives
-theme:
- name: mahout2
----
-# General
-
-Communication at Mahout happens primarily online via mailing lists. We have
-a user as well as a dev list for discussion. In addition there is a commit
-list so we are able to monitor what happens on the wiki and in svn.
-
-<div class="container-fluid">
- <div class="row">
- <div class="col-md-8"><div class="mahoutMailListBox1">
- <b>User</b> - This list is for users of Mahout to ask questions, share knowledge, and
- discuss issues. Do send mail to this list with usage and configuration
- questions and problems. Also, please send questions to this list to verify
- your problem before filing issues in JIRA.
- </div></div>
- <div class="col-md-2"><div class="mahoutMailListBox1"><a href="mailto:user-***@mahout.apache.org">Subscribe</a></div></div>
- <div class="col-md-2"><div class="mahoutMailListBox1"><a href="mailto:user-***@mahout.apache.org">Un-Subscribe</a></div></div>
- </div>
- <div class="row">
- <div class="col-md-8"><div class="mahoutMailListBox2">
- <b>Developers</b> - This is the list where participating developers of the Mahout project meet
- and discuss issues concerning Mahout internals, code changes/additions,
- etc. Do not send mail to this list with usage questions or configuration
- questions and problems.
- </div></div>
- <div class="col-md-2"><div class="mahoutMailListBox2"><a href="mailto:dev-***@mahout.apache.org">Subscribe</a></div></div>
- <div class="col-md-2"><div class="mahoutMailListBox2"><a href="mailto:dev-***@mahout.apache.org">Un-Subscribe</a></div></div>
- </div>
- <div class="row">
- <div class="col-md-8"><div class="mahoutMailListBox1"><b>Commits</b></div></div>
- <div class="col-md-2"><div class="mahoutMailListBox1"><a href="mailto:commits-***@mahout.apache.org">Subscribe</a></div></div>
- <div class="col-md-2"><div class="mahoutMailListBox1"><a href="mailto:commits-***@mahout.apache.org">Un-Subscribe</a></div></div>
- </div>
-
-</div>
-
-## Official Apache Archive
-
-* [New Pony Mail ***@mahout.apache.org](https://lists.apache.org/list.html?***@mahout.apache.org)
-* [New Pony Mail ***@mahout.apache.org](https://lists.apache.org/list.html?***@mahout.apache.org)
-* [Old Apache Mail Archives ***@mahout.apache.org](http://mail-archives.apache.org/mod_mbox/mahout-dev/)
-* [Old Apache Mail Archives ***@mahout.apache.org](http://mail-archives.apache.org/mod_mbox/mahout-user/)

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/front/community/privacy-policy.md
----------------------------------------------------------------------
diff --git a/website-old/front/community/privacy-policy.md b/website-old/front/community/privacy-policy.md
deleted file mode 100644
index 9b51f6e..0000000
--- a/website-old/front/community/privacy-policy.md
+++ /dev/null
@@ -1,30 +0,0 @@
----
-layout: default
-title: Privacy Policy
-theme:
- name: mahout2
----
-
-
-Information about your use of this website is collected using server access
-logs and a tracking cookie. The collected information consists of the
-following:
-
-* The IP address from which you access the website;
-* The type of browser and operating system you use to access our site;
-* The date and time you access our site;
-* The pages you visit; and
-* The addresses of pages from where you followed a link to our site.
-
-Part of this information is gathered using a tracking cookie set by the
-Google Analytics service and handled by Google as described in their
-privacy policy. See your browser documentation for instructions on how to
-disable the cookie if you prefer not to share this data with Google.
-
-We use the gathered information to help us make our site more useful to
-visitors and to better understand how and when our site is used. We do not
-track or collect personally identifiable information or associate gathered
-data with any personally identifying information from other sources.
-
-By using this website, you consent to the collection of this data in the
-manner and for the purpose described above.

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/front/community/recent-upcoming-talks.md
----------------------------------------------------------------------
diff --git a/website-old/front/community/recent-upcoming-talks.md b/website-old/front/community/recent-upcoming-talks.md
deleted file mode 100644
index ae09874..0000000
--- a/website-old/front/community/recent-upcoming-talks.md
+++ /dev/null
@@ -1,19 +0,0 @@
----
-layout: default
-title: Recent and Upcoming Talks
-theme:
- name: mahout2
----
-
-
-**APACHE MAHOUT'S NEW RECOMMENDER ALGORITHM AND USING GPUS TO SPEED MODEL CREATION** _Pat Ferrel, Andy Palumbo_. [GPU Technology Conference](https://gputechconf2017.smarteventscloud.com/connect/sessionDetail.ww?SESSION_ID=118703). Silicon Valley, CA- May 11, 2017
-
-**EXTENDING MAHOUT-SAMSARA LINEAR ALGEBRA DSL TO SUPPORT GPU CLUSTERS** _Suneel Marthi, Trevor Grant_. [GPU Technology Conference](https://gputechconf2017.smarteventscloud.com/connect/sessionDetail.ww?SESSION_ID=110060). Silicon Valley, CA- May 11, 2017
-
-**Apache​ ​Mahout:​ ​An​ ​Extendable​ ​Machine​ ​Learning​ ​Framework​ ​for​ ​Spark​ ​and​ ​Flink** _Trevor Grant_. [Apache Big Data](https://apachebigdata2017.sched.com/event/9ztC/apache-mahout-an-extendable-machine-learning-framework-for-spark-and-flink-trevor-grant-ibm?iframe=no&w=&sidebar=yes&bg=no). Miami, FL- May 16, 2017
-
-**An Apache Based Intelligent IoT Stack for Transportation** _Trevor Grant, Joe Olsen_. [ApacheCon IoT](https://apachecon2017.sched.com/event/9zos/an-apache-based-intelligent-iot-stack-for-transportation-trevor-grant-ibm?iframe=no&w=&sidebar=yes&bg=no). Miami, FL- May 18, 2017
-
-**Apache Mahout: Distributed Matrix Math for Machine Learning** _Andrew Musselman_. [MLConf](http://mlconf.com/mlconf-2017-seattle/#andrew). Seattle, WA- May 19, 2017
-
-

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/front/community/who-we-are.md
----------------------------------------------------------------------
diff --git a/website-old/front/community/who-we-are.md b/website-old/front/community/who-we-are.md
deleted file mode 100644
index ca3efc6..0000000
--- a/website-old/front/community/who-we-are.md
+++ /dev/null
@@ -1,64 +0,0 @@
----
-layout: default
-title: Who we are
-theme:
- name: mahout2
----
-
-
-<a name="WhoWeAre-Whoweare"></a>
-# Who we are
-
-Apache Mahout is maintained by a team of volunteer developers.
-
-<a name="WhoWeAre-CoreCommitters"></a>
-## Core Committers
-
-(Please keep the list below in alphabetical order by first name.)
-
-Name | Mail | PMC | Comment
-----|---------|------|------|----------
-Anand Avati | ***@... | No | Twitter: @anandavati
-Andrew Musselman | ***@... | Yes | Twitter: @akm
-Andrew Palumbo | ***@... | Yes (Chair) | |
-Benson Margulies | ***@... | Yes | |
-Dan Filimon | ***@... | No | |
-Dmitriy Lyubimov | ***@... | No (Emeritus) |
-Drew Farris | ***@... | Yes | |
-Ellen Friedman | ***@... | No | Twitter: @Ellen_Friedman
-Frank Scholten | ***@... | No | |
-Gokhan Capan | ***@... | No | <a href="http://www.linkedin.com/in/gokhancapan">LinkedIn Profile</a>
-Grant Ingersoll | ***@... | Yes | Twitter: @gsingers
-Isabel Drost-Fromm | ***@... | Yes | Passion for free software (development, but to some extend also the political and economic implications), interested in agile development and project management, lives in Germany. Follow me on Twitter @MaineC
-Jacob Alexander Mannix | ***@... | Yes | |
-Jeff Eastman | ***@... | No (Emeritus) |
-Paritosh Ranjan | ***@... | Yes | Twitter: @paritoshranjan
-Pat Ferrel | ***@... | Yes | Twitter: @occam
-Robin Anil | ***@... | Yes | |
-Sean Owen | ***@... | No (Emeritus) |
-Sebastian Schelter | ***@... | Yes | |
-Shannon Quinn | ***@... | No | |
-Stevo Slavić| ***@... | No | Twitter: @sslavic
-Suneel Marthi | ***@... | Yes | Twitter: @suneelmarthi
-Ted Dunning | ***@... | Yes |
-Tom Pierce | ***@... | No | |
-Trevor Grant | ***@... | Yes | Twitter: @rawkintrevo , [Blog](http://rawkintrevo.org)
-
-<a name="WhoWeAre-EmeritusCommitters"></a>
-## Emeritus Committers
-
-* Niranjan Balasubramanian (***@...)
-* Otis Gospodnetic (***@...)
-* David Hall (***@...)
-* Erik Hatcher (***@...)
-* Ozgur Yilmazel (***@...)
-* Dawid Weiss (***@...)
-* Karl Wettin (***@...)
-* AbdelHakim Deneche (***@...)
-
-Note that the email addresses above end with @apache.org.
-
-<a name="WhoWeAre-Contributors"></a>
-## Contributors
-
-Apache Mahout contributors and their contributions to individual issues can be found at Apache <a href="http://issues.apache.org/jira/browse/MAHOUT">JIRA</a>.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/front/developers/githubPRs.md
----------------------------------------------------------------------
diff --git a/website-old/front/developers/githubPRs.md b/website-old/front/developers/githubPRs.md
deleted file mode 100644
index 50a2da6..0000000
--- a/website-old/front/developers/githubPRs.md
+++ /dev/null
@@ -1,84 +0,0 @@
----
-layout: default
-title: Github PRs
-theme:
- name: mahout2
----
-
-
-# Handling Github PRs #
-
-----------
-
-
-## How to Create a PR (for contributers)
-
-Read [[1]].
-
-Pull requests are made to apache/mahout repository on Github.
-
-## Merging a PR and Closing it (for committers).
-
-Remember that pull requests are equivalent to a remote branch with potentially a multitude of commits.
-In this case it is recommended to squash remote commit history to have one commit per issue, rather
-than merging in a multitude of contributer's commits. In order to do that, as well as close the PR at the
-same time, it is recommended to use **squash commits**.
-
-Read [[2]] (merging locally). Merging pull requests are equivalent to merging contributor's branch:
-
- git checkout master # switch to local master branch
- git pull apache master # fast-forward to current remote HEAD
- git pull --squash https://github.com/cuser/mahout cbranch # merge to master
-
-
-In this example we assume that contributor Github handle is "cuser" and the PR branch name is "cbranch" there. We also
-assume that *apache* remote is configured as
-
- apache https://git-wip-us.apache.org/repos/asf/mahout.git (fetch)
- apache https://git-wip-us.apache.org/repos/asf/mahout.git (push)
-
-
-Squash pull ensures all PR history is squashed into single commit. Also, it is not yet committed, even if
-fast forward is possible, so you get chance to change things before committing.
-
-At this point resolve conflicts, if any, or ask contributor to rebase on top of master, if PR went out of sync.
-
-Suppose everything is fine, you now can commit the squashed request
-
- git commit -a
-
-edit message to contain "MAHOUT-YYYY description **closes #ZZ**", where ZZ is the pull request number.
-Including "closes #ZZ" will close PR automatically. More information [[3]].
-
- push apache master
-
-(this will require credentials).
-
-Note on `master` branch: Minor patches, bug fixes, complete features, etc. may be merged to `master`. Features that
-are still under development should be pushed to a feature branch with reasonable name or better yet `mahout-xxxx` where
-`xxxx` is the JIRA number.
-
-Note on squashing: Since squash discards remote branch history, repeated PRs from the same remote branch are
-difficult for merging. The workflow implies that every new PR starts with a new rebased branch. This is more
-important for contributors to know, rather than for committers, because if new PR is not mergeable, github
-would warn to begin with. Anyway, watch for dupe PRs (based on same source branches). This is a bad practice.
-
-## Closing a PR without committing
-
-When we want to reject a PR (close without committing), just do the following commit on master's HEAD
-*without merging the PR*:
-
- git commit --allow-empty -m "closes #ZZ *Won't fix*"
- git push apache master
-
-that should close PR without merging and any code modifications in the master repository.
-
-## Apache/github integration features
-
-Read [[4]]. Issue handles mentioned in comments and PR name should post to mailing lists and Jira.
-
-
-[1]: https://help.github.com/articles/creating-a-pull-request
-[2]: https://help.github.com/articles/merging-a-pull-request#merging-locally
-[3]: https://help.github.com/articles/closing-issues-via-commit-messages
-[4]: https://blogs.apache.org/infra/entry/improved_integration_between_apache_and

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/front/developers/how-to-become-a-committer.md
----------------------------------------------------------------------
diff --git a/website-old/front/developers/how-to-become-a-committer.md b/website-old/front/developers/how-to-become-a-committer.md
deleted file mode 100644
index 15fb076..0000000
--- a/website-old/front/developers/how-to-become-a-committer.md
+++ /dev/null
@@ -1,28 +0,0 @@
----
-layout: default
-title: How to Become a Commmiter
-theme:
- name: mahout2
----
-
-# How to Become a Committer
-
-While there's no exact criteria for becoming a committer, there is a fairly
-obvious path to becoming a committer.
-
-For starters, one should be familiar with the [Apache Way ](http://www.apache.org/foundation/how-it-works.html), especially the part about meritocracy.
-
-Second, participate in the mailing lists, help answer questions when you
-can and do so in a respectful manner. This is often more important than
-writing amazing code.
-
-Third, write code, add patches, stick with them and be patient. Add unit
-tests and documentation. In general, tackling 3 or 4 decent patches is
-where the bar is at, but it depends on the state of the project. In the
-earlier stages of the project, the bar is a bit lower, so it pays to join
-early!
-
-Finally, it is then up to someone to nominate them to the PMC. Typically,
-one of the existing committers does this by sending an email to the private
-PMC mailing list (***@m.a.o, where m.a.o is mahout.apache.org) and then
-the PMC votes on it. Nominations often occur internal to the PMC as well.

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/front/developers/how-to-contribute.md
----------------------------------------------------------------------
diff --git a/website-old/front/developers/how-to-contribute.md b/website-old/front/developers/how-to-contribute.md
deleted file mode 100644
index 0d6f85b..0000000
--- a/website-old/front/developers/how-to-contribute.md
+++ /dev/null
@@ -1,155 +0,0 @@
----
-layout: default
-title: How to Contribute
-theme:
- name: mahout2
----
-
-
-# How to Contribute
-
-*Contributing to an Apache project* is about more than just writing code --
-it's about doing what you can to make the project better. There are lots
-of ways to contribute!
-
-<a name="HowToContribute-BeInvolved"></a>
-## Get Involved
-
-Discussions at Apache happen on the mailing list. To get involved, you should join the [Mahout mailing lists](/general/mailing-lists,-irc-and-archives.html). In particular:
-
-* The **user list** (to help others)
-* The **development list** (to join discussions of changes) -- This is the best place
-to understand where the project is headed.
-* The **commit list** (to see changes as they are made)
-
-Please keep discussions about Mahout on list so that everyone benefits.
-Emailing individual committers with questions about specific Mahout issues
-is discouraged. See [http://people.apache.org/~hossman/#private_q](http://people.apache.org/~hossman/#private_q)
-. Apache has a number of [email tips for contributors][1] as well.
-
-<a name="HowToContribute-WhattoWorkOn?"></a>
-## What to Work On?
-
-What do you like to work on? There are a ton of things in Mahout that we
-would love to have contributions for: documentation, performance improvements, better tests, etc.
-The best place to start is by looking into our [issue tracker](https://issues.apache.org/jira/browse/MAHOUT) and
-seeing what bugs have been reported and seeing if any look like you could
-take them on. Small, well written, well tested patches are a great way to
-get your feet wet. It could be something as simple as fixing a typo. The
-more important piece is you are showing you understand the necessary steps
-for making changes to the code. Mahout is a pretty big beast at this
-point, so changes, especially from non-committers, need to be evolutionary
-not revolutionary since it is often very difficult to evaluate the merits
-of a very large patch. Think small, at least to start!
-
-Beyond JIRA, hang out on the dev@ mailing list. That's where we discuss
-what we are working on in the internals and where you can get a sense of
-where people are working.
-
-Also, documentation is a great way to familiarize yourself with the code
-and is always a welcome addition to the codebase and this website. Feel free
-to contribute texts and tutorials! Committers will make sure they are added
-to this website, and we have a [guide for making website updates][2].
-We also have a [wide variety of books and slides][3] for learning more about
-machine learning algorithms.
-
-If you are interested in working towards being a committer, [general guidelines are available online](/developers/how-to-become-a-committer.html).
-
-<a name="HowToContribute-ContributingCode(Features,BigFixes,Tests,etc...)"></a>
-## Contributing Code (Features, Big Fixes, Tests, etc...)
-
-This section identifies the ''optimal'' steps community member can take to
-submit a changes or additions to the Mahout code base. This can be new
-features, bug fixes optimizations of existing features, or tests of
-existing code to prove it works as advertised (and to make it more robust
-against possible future changes).
-
-Please note that these are the "optimal" steps, and community members that
-don't have the time or resources to do everything outlined on this below
-should not be discouraged from submitting their ideas "as is" per "Yonik
-Seeley's (Solr committer) Law of Patches":
-
-*A half-baked patch in Jira, with no documentation, no tests and no backwards compatibility is better than no patch at all.*
-
-Just because you may not have the time to write unit tests, or cleanup
-backwards compatibility issues, or add documentation, doesn't mean other
-people don't. Putting your patch out there allows other people to try it
-and possibly improve it.
-
-<a name="HowToContribute-Gettingthesourcecode"></a>
-## Getting the source code
-
-First of all, you need to get the [Mahout source code](/developers/version-control.html). Most development is done on the "trunk". Mahout mirrors its codebase on [GitHub](https://github.com/apache/mahout). The first step to making a contribution is to fork Mahout's master branch to your GitHub repository.
-
-
-<a name="HowToContribute-MakingChanges"></a>
-## Making Changes
-
-Before you start, you should send a message to the [Mahout developer mailing list](/general/mailing-lists,-irc-and-archives.html)
-(note: you have to subscribe before you can post), or file a ticket in our [issue tracker](/developers/issue-tracker.html).
-Describe your proposed changes and check that they fit in with what others are doing and have planned for the project. Be patient, it may take folks a while to understand your requirements.
-
- 1. Create a JIRA Issue (if one does not already exist or you haven't already)
- 2. Pull the code from your GitHub repository
- 3. Ensure that you are working with the latest code from the [apache/mahout](https://github.com/apache/mahout) master branch.
- 3. Modify the source code and add some (very) nice features.
- - Be sure to adhere to the following points:
- - All public classes and methods should have informative Javadoc
- comments.
- - Code should be formatted according to standard
- [Java coding conventions](http://www.oracle.com/technetwork/java/codeconventions-150003.pdf),
- with two exceptions:
- - indent two spaces per level, not four.
- - lines can be 120 characters, not 80.
- - Contributions should pass existing unit tests.
- - New unit tests should be provided to demonstrate bugs and fixes.
- 4. Commit the changes to your local repository.
- 4. Push the code back up to your GitHub repository.
- 5. Create a [Pull Request](https://help.github.com/articles/creating-a-pull-request) to the to apache/mahout repository on Github.
- - Include the corresponding JIRA Issue number and description in the title of the pull request:
- - ie. MAHOUT-xxxx: < JIRA-Issue-Description >
- 6. Committers and other members of the Mahout community can then comment on the Pull Request. Be sure to watch for comments, respond and make any necessary changes.
-
-Please be patient. Committers are busy people too. If no one responds to your Pull Request after a few days, please make friendly reminders on the mailing list. Please
-incorporate other's suggestions into into your changes if you think they're reasonable. Finally, remember that even changes that are not committed are useful to the community.
-
-<a name="HowToContribute-UnitTests"></a>
-#### Unit Tests
-
-Please make sure that all unit tests succeed before creating your Pull Request.
-
-Run *mvn clean test*, if you see *BUILD SUCCESSFUL* after the tests have finished, all is ok, but if you see *BUILD FAILED*,
-please carefully read the errors messages and check your code.
-
-#### Do's and Don'ts
-
-Please do not:
-
-* reformat code unrelated to the bug being fixed: formatting changes should
-be done in separate issues.
-* comment out code that is now obsolete: just remove it.
-* insert comments around each change, marking the change: folks can use
-subversion to figure out what's changed and by whom.
-* make things public which are not required by end users.
-
-Please do:
-
-* try to adhere to the coding style of files you edit;
-* comment code whose function or rationale is not obvious;
-* update documentation (e.g., ''package.html'' files, the website, etc.)
-
-
-<a name="HowToContribute-Review/ImproveExistingPatches"></a>
-## Review/Improve Existing Pull Requests
-
-If there's a JIRA issue that already has a Pull Request with changes that you think are really good, and works well for you -- please add a comment saying so. If there's room
-for improvement (more tests, better javadocs, etc...) then make the changes on your GitHub branch and add a comment about them. If a lot of people review a Pull Request and give it a
-thumbs up, that's a good sign for committers when deciding if it's worth spending time to review it -- and if other people have already put in
-effort to improve the docs/tests for an issue, that helps even more.
-
-For more information see [Handling GitHub PRs](http://mahout.apache.org/developers/github.html).
-
-
- [1]: http://www.apache.org/dev/contrib-email-tips
- [2]: http://mahout.apache.org/developers/how-to-update-the-website.html
- [3]: http://mahout.apache.org/general/books-tutorials-and-talks.html
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/front/developers/how-to-release.md
----------------------------------------------------------------------
diff --git a/website-old/front/developers/how-to-release.md b/website-old/front/developers/how-to-release.md
deleted file mode 100644
index 4d152b5..0000000
--- a/website-old/front/developers/how-to-release.md
+++ /dev/null
@@ -1,241 +0,0 @@
----
-layout: default
-title: How to Release Mahout
-theme:
- name: mahout2
----
-
-
-Title: How To Release
-
-# How To Release Mahout
-
-
-*This page is prepared for Mahout committers. You need committer rights to
-create a new Mahout release.*
-
-<a name="HowToRelease-ReleasePlanning"></a>
-# Release Planning
-
-Start a discussion on mahout-dev about having a release, questions to bring
-up include:
-
- * Any [Unresolved JIRA issues for the upcoming release ](-https://issues.apache.org/jira/secure/issuenavigator!executeadvanced.jspa?jqlquery=project+%3d+mahout+and+resolution+%3d+unresolved+and+fixversion+%3d+%220.6%22&runquery=true&clear=true.html)
- * Any [Resolved or Closed JIRA issues missing a "Fix Version" ](-https://issues.apache.org/jira/secure/issuenavigator!executeadvanced.jspa?jqlquery=project+%3d+mahout+and+%28status+%3d+resolved+or+status+%3d+closed%29+and+fixversion+is+null+and+resolution+%3d+fixed&runquery=true&clear=true.html)
- that should be marked as fixed in this release?
- * Does any documentation need an update?
- * Who is going to be the "release engineer"?
- * What day should be targeted for the release ? Leave buffer time for a
-code freeze and release candidate testing; make sure at least a few people
-commit to having time to help test the release candidates around the target
-date.
-
-
-<a name="HowToRelease-CodeFreeze"></a>
-# Code Freeze
-
-For 7-14 days prior to the release target date, have a "code freeze" where
-committers agree to only commit things if they:
-
- * Are documentation improvements (including fixes to eliminate Javadoc
-warnings)
- * Are new test cases that improve test coverage
- * Are bug fixes found because of improved test coverage
- * Are new tests and bug fixes for new bugs encountered by manually testing
-
-<a name="HowToRelease-StepsForReleaseEngineer"></a>
-# Steps For Release Engineer
-
-<a name="HowToRelease-Beforebuildingrelease"></a>
-## Before building release
-1. Check that all tests pass after a clean compile: mvn clean test
-1. Check that there are no remaining unresolved Jira issues with the
-upcoming version number listed as the "Fix" version
-1. Publish any prev. unpublished Third Party Deps: [Thirdparty Dependencies](thirdparty-dependencies.html)
-
-<a name="HowToRelease-PreviewingtheArtifacts"></a>
-## Previewing the Artifacts
-1. To build the artifacts:
-1. # mvn -Pmahout-release,apache-release,hadoop2 package
-
-<a name="HowToRelease-Makingarelease"></a>
-## Making a release
-* Check if documentation needs an update
-* Update the web site's news by updating a working copy of the SVN
-directory at https://svn.apache.org/repos/asf/mahout/site/new_website
-* Commit these changes. It is important to do this prior to the build so
-that it is reflected in the copy of the website included with the release
-for documentation purposes.
-* If this is your first release, add your key to the KEYS file. The KEYS
-file is located on Github at
-https://github.com/apache/mahout/master/distribution/KEYS and copy it
-to the release directory.
-Make sure you commit your change.
-See http://www.apache.org/dev/release-signing.html.
-* Ensure you have set up standard Apache committer settings in
- ~/.m2/settings.xml as per [this page](http://maven.apache.org/developers/committer-settings.html)
-.
-* Add a profile to your ~/.m2/settings.xml in the <profiles> section with:
-
- <blockquote>
- <profiles>
- <profile>
- <id>mahout_release</id>
- <properties>
- <gpg.keyname>YOUR PGP KEY NAME</gpg.keyname>
- <gpg.passphrase>YOUR SIGNING PASSCODE HERE</gpg.passphrase>
-
-<deploy.altRepository>mahout.releases::default::https://repository.apache.org/service/local/staging/deploy/maven2/</deploy.altRepository>
- <username>USERNAME</username>
-
-<deploy.url>https://repository.apache.org/service/local/staging/deploy/maven2/</deploy.url>
- </properties>
- </profile>
- </profiles>
-</blockquote>
-
-* You may also need to add the following to the <servers> section in
-~/.m2/settings.xml in order to upload artifacts (as the -Dusername=
--Dpassword= didn't work for Grant for 0.8, but this did):
-<blockquote>
-<server>
- <id>apache.releases.https</id>
- <username>USERNAME</username>
- <password>PASSWORD</password>
-</server>
-</blockquote>
-
-* Set environment variable MAVEN_OPTS to -Xmx1024m to ensure the tests can
-run
-* export _JAVA_OPTIONS="-Xmx1g"
-* If you are outside the US, then svn.apache.org may not resolve to the
-main US-based Subversion servers. (Compare the IP address you get for
-svn.apache.org with svn.us.apache.org to see if they are different.) This
-will cause problems during the release since it will create a revision and
-then immediately access, but, there is a replication lag of perhaps a
-minute to the non-US servers. To temporarily force using the US-based
-server, edit your equivalent of /etc/hosts and map the IP address of
-svn.us.apache.org to svn.apache.org.
-* Create the release candidate:
-
- mvn -Pmahout-release,apache-release,hadoop2 release:prepare release:perform
-
- If you have problems authenticating to svn.apache.org, try adding to the command line
-
- -Dusername=\[user]\ -Dpassword=\[password\]
-
- If it screws up, first try doing:
-
- mvn -Dmahout-release,apache-release,hadoop2 release:rollback.
-
- followed by
-
- mvn -Dmahout-release,apache-release,hadoop2 release:clean
-
- This will likely save you time and do the right thing. You may also need to delete the tag in source control:
-
- git tag -d mahout-X.XX.X; git push apache :refs/tags/mahout-X.XX.X
-
- You may also have to rollback the version numbers in the POM files.
-
- If you want to skip test cases while rebuilding, use
-
- mvn -DpreparationGoals="clean compile" release:prepare release:perform
-
-* Review the artifacts, etc. on the Apache Repository (using Sonatype's
-Nexus application) site: https://repository.apache.org/.
- You will need to login using your ASF SVN credentials and then
-browse to the staging area.
-* Once you have reviewed the artifacts, you will need to "Close" out
-the staging area under Nexus, which then makes the artifacts available for
-others to see.
- * Log in to Nexus
- * Click the Staging Repositories link in the left hand menu
- * Click the Mahout staged one that was just uploaded by the
-release:perform target
- * Click Close in the toolbar. See
-https://docs.sonatype.org/display/Repository/Closing+a+Staging+Repository
-for a picture
- * Copy the "Repository URL" link to your email; it should be like
-https://repository.apache.org/content/repositories/orgapachemahout-024/
-* Call a VOTE on ***@mahout.apache.org. Votes require 3 days before
-passing. See Apache [release policy|http://www.apache.org/foundation/voting.html#ReleaseVotes]
- for more info.
-* If there's a problem, you need to unwind the release and start all
-over.
- <blockquote>
- mvn -Pmahout-release,apache-release,hadoop2 versions:set -DnewVersion=PREVIOUS_SNAPSHOT
-
- mvn -Pmahout-release,apache-release,hadoop2 versions:commit
-
- git commit
-
- git push --delete apache <tagname> (deletes the remote tag)
- git tag -d tagname (deletes the local tag)
-
-* Release the artifact in the Nexus Repository in the same way you
-Closed it earlier.
-* Add your key to the KEYS file at
-http://www.apache.org/dist/mahout/<version>/
-* Copy the assemblies and their supporting files (tar.gz, zip, tar.bz2,
-plus .asc, .md5, .pom, .sha1 files) to the ASF mirrors at:
-people.apache.org:/www/www.apache.org/dist/mahout/<version>/. You should
-make sure the group "mahout" owns the files and that they are read only
-(-r--r--r-- in UNIX-speak). See [Guide To Distributing Existing Releases Through The ASF Mirrors|http://jakarta.apache.org/site/convert-to-mirror.html?Step-By-Step]
- and the links that are there.
- * cd /www/www.apache.org/dist/mahout
- * mkdir <VERSION>
- * cd <VERSION>
- * wget -e robots=off --no-check-certificate -np -r
-https://repository.apache.org/content/groups/public/org/apache/mahout/apache-mahout-distribution/<VERSION>/
- * mv
-repository.apache.org/content/groups/public/org/apache/mahout/mahout-distribution/0.8/*
-.
- * rm -rf repository.apache.org/
- * rm index.html
-* Wait 24 hours for release to propagate to mirrors.
-* Clean up JIRA: Bulk close all X.Y JIRA issues. Mark the Version
-number as being released (see Manage Versions.) Add the next version
-(X.Y+1) if necessary.
-* Update release version on http://mahout.apache.org/ and
-http://en.wikipedia.org/wiki/Apache_Mahout
-*
-https://cwiki.apache.org/confluence/display/MAHOUT/How+To+Update+The+Website
-* Send announcements to the user and developer lists.
-
-
-
-See also:
-
-* http://maven.apache.org/developers/release/releasing.html
-*
-http://www.sonatype.com/books/nexus-book/reference/staging-sect-deployment.html
-* http://www.sonatype.com/books/nexus-book/reference/index.html
-
-
-### Post Release
-
-## Versioning
-* Create the next version in JIRA (if it doesn't already exist)
-* Mark the version as "released" in JIRA (noting the release date)
-
-## Documentation
-* Change wiki to match current best practices (remove/change deprecations,
-etc)
-
-## Publicity
-* update freshmeat
-* blog away
-* Update MLOSS entry: http://mloss.org/revision/view/387/. See Grant for
-details.
-
-## Related Resources
-
-* http://www.apache.org/dev/#releases
-* http://www.apache.org/dev/#mirror
-
-# TODO: Things To Cleanup in this document
-
-* more specifics about things to test before starting or after packaging
-(RAT, run scripts against example, etc...)
-* include info about [Voting | http://www.apache.org/foundation/voting.html#ReleaseVotes]
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/front/developers/how-to-update-the-website.md
----------------------------------------------------------------------
diff --git a/website-old/front/developers/how-to-update-the-website.md b/website-old/front/developers/how-to-update-the-website.md
deleted file mode 100644
index 373c27e..0000000
--- a/website-old/front/developers/how-to-update-the-website.md
+++ /dev/null
@@ -1,40 +0,0 @@
----
-layout: default
-title: How to Update the Website
-theme:
- name: mahout2
----
-
-# How to update the Mahout Website
-
-<a name="HowToUpdateTheWebsite-Howtoupdatethemahouthomepage"></a>
-## How to update the mahout home page
-1. Clone Apache Mahout, the website is contained in the `website/` folder, and all pages are writtin in markdown.
-1. Once you have made appropriate changes, please open a pull request.
-
-<a name="HowToUpdateTheWebsite-SomeDo'sandDont'sofupdatingthewiki"></a>
-## Some Do's and Dont's of updating the web site
-1. Keep all pages cleanly formatted - this includes using standard formatting for headers etc.
-1. Try to keep a single page for a topic instead of starting multiple ones.
-If the topics are related, put it under as a child under the similar page.
-1. Notify the developers of orphaned or broken links.
-
-## How to push changes to the actual website (committers only)
-
-1. `svn co https://svn.apache.org/repos/asf/mahout asf-mahout`
-
-1. Run Terminal
- ```
- JEKYLL_ENV=production bundle exec jekyll build
- ```
-
-Setting `JEKYLL_ENV=production ...` is going to build the docs with {{ BASE_PATH }} from `_config.yml` filled in. This
-required when building `docs` especially (it sets to `/docs/[VERSION]`).
-
-
-1. Copy `mahout/website/_site` to `asf-mahout/site/docs/<MAHOUT-VERSION>/`
-
-1. `svn commit`
-
-... `svnpubsub` will come into play...
-https://reference.apache.org/committer/website
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/front/developers/index.md
----------------------------------------------------------------------
diff --git a/website-old/front/developers/index.md b/website-old/front/developers/index.md
deleted file mode 100644
index e4a8fee..0000000
--- a/website-old/front/developers/index.md
+++ /dev/null
@@ -1,47 +0,0 @@
----
-layout: default
-title: Developers
-theme:
- name: mahout2
----
-
-<a name="DeveloperResources-MakingaContribution"></a>
-## Making a Contribution
-
-Mahout is always looking for contributions, especially in the areas of
-documentation. See our [How to contribute](/developers/how-to-contribute.html) page for details.
-
-
-<a name="DeveloperResources-SourceCode"></a>
-## Source Code
-
-The source files are stored using Git, our page on [version control](/developers/version-control.html) has details on how to access the sourcecode.
-
-
-<a name="DeveloperResources-Documentation"></a>
-## Documentation
-
-Javadoc and Scaladoc documentation is available online by module:
-
- * [Mahout Math](http://apache.github.io/mahout/0.10.1/docs/mahout-math/index.html)
- * [Mahout Math Scala bindings](http://apache.github.io/mahout/0.10.1/docs/mahout-math-scala/index.html)
- * [Mahout Spark bindings](http://apache.github.io/mahout/0.10.1/docs/mahout-spark/index.html)
- * [Mahout Spark bindings shell](http://apache.github.io/mahout/0.10.1/docs/mahout-spark-shell/index.html)
- * [Mahout H2O backend Scaladoc](http://apache.github.io/mahout/0.10.1/docs/mahout-h2o/scaladocs/index.html)
- * [Mahout H2O backend Javadoc](http://apache.github.io/mahout/0.10.1/docs/mahout-h2o/javadoc/index.html)
- * [Mahout HDFS](http://apache.github.io/mahout/0.10.1/docs/mahout-hdfs/index.html)
- * [Mahout Map-Reduce](http://apache.github.io/mahout/0.10.1/docs/mahout-mr/index.html)
- * [Mahout Examples](http://apache.github.io/mahout/0.10.1/docs/mahout-examples/index.html)
- * [Mahout Integration](http://apache.github.io/mahout/0.10.1/docs/mahout-integration/index.html)
-
-
-<a name="DeveloperResources-Issues"></a>
-## Issues
-
-All bugs, improvements, [pull requests](http://mahout.apache.org/developers/github.html), etc. should be logged in our [issue tracker](/developers/issue-tracker.html).
-
-<a name="DeveloperResources-ContinuousIntegration"></a>
-## Continuous Integration
-
-Mahout is continuously built on an hourly basis on the [Apache Jenkins](https://builds.apache.org/job/Mahout-Quality/) build system.
-

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/front/developers/issue-tracker.md
----------------------------------------------------------------------
diff --git a/website-old/front/developers/issue-tracker.md b/website-old/front/developers/issue-tracker.md
deleted file mode 100644
index 8945342..0000000
--- a/website-old/front/developers/issue-tracker.md
+++ /dev/null
@@ -1,46 +0,0 @@
----
-layout: default
-title: Issue Tracker
-theme:
- name: mahout2
----
-
-# Issue tracker
-
-
-Mahout's issue tracker is located [here](http://issues.apache.org/jira/browse/MAHOUT).
-For most changes (apart from trivial stuff) Mahout works according to a review-then-commit model.
-This means anything that is to be added is first presented as a patch in the issue tracker. All conversations in the issue tracker are automatically
-echoed on the developer mailing list and people tend to respond or continue
-conversations there rather in the issue tracker, so in order to follow an
-issue you also have to read to the <a href="http://mahout.apache.org/general/mailing-lists,-irc-and-archives.html">mailing lists</a>.
-
-An issue does not literally have to be an issue. It could be a wish, task,
-bug report, etc. and it does not have to contain a patch.
-
-Mahout uses [JIRA](https://confluence.atlassian.com/display/JIRA/JIRA+Documentation) by Atlassian.
-
-<a name="IssueTracker-Bestpractise"></a>
-#### Best practices
-
-Don't create duplicate issues. Make sure your problem is a problem and that
-nobody else already fixed it. If you are new to the project, it is often
-preferred that the subject of an issue is discussed on one of our mailing
-lists before an issue is created - in particular when it comes to adding new functionality.
-
-Quote only what it is you are responding to in comments.
-
-Patches should be created at trunk or trunk parent level and if possible be
-a single uncompressed text file so it is easy to inspect the patch in a web
-browser. (See [Patch Check List](/developers/patch-check-list.html)
-.)
-
-Use the issue identity when referring to an issue in any discussion.
-"MAHOUT-n" and not "mahout-n" or "n". MAHOUT-1 would automatically be
-linked to [MAHOUT-1](http://issues.apache.org/jira/browse/MAHOUT-1)
- in a better world.
-
-A note to committers: Make sure to mention the issue id in each commit. Not only has
-JIRA the capability of auto-linking commits to the issue they are related to
-that way, it also makes it easier to get further information for a specific commit
-when browsing through the commit log and within the commit mailing list.

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/front/developers/key-concepts.md
----------------------------------------------------------------------
diff --git a/website-old/front/developers/key-concepts.md b/website-old/front/developers/key-concepts.md
deleted file mode 100644
index 9071bab..0000000
--- a/website-old/front/developers/key-concepts.md
+++ /dev/null
@@ -1,43 +0,0 @@
----
-layout: default
-title: Key Concepts Overview
-theme:
- name: mahout2
----
-
-
-Stub:
-## Mahout-Samsara Mathematically Expressive Scala DSL
-
-High level over view of how user creates DRMs (which are actually wrappers around underlying bindings data structure)
-How Samsara gives R-Like syntax to these DRMs with operations like `drmA.t %*% drmA`. How the spirit of this is to let
-practitioners quickly develop their own distributed algorithms.
-
-## Distributed Bindings
-
-Here we'll talk a bit how the user can write distributed bindings for any engine they wish, how they must implement a few
-linear algebra operations on the distributed engine in question.
-
-## Native Solvers
-
-How in JVM based distributed engines, computations happens at JVM on node, native solvers tell application how to dump
-out of JVM and calculate natively, then load back into JVM for shipping.
-
-
-## Linear Algebra Algorithms
-
-How algos like dssvd dspca dqr, etc make back bone of algos framework.
-
-## Reccomenders
-
-Mahout's long legacy as leader in Reccomenders in big data, and what is available today.
-
-## Distributed Statistics / Machine Learning Algos a.k.a. pre-canned algos.
-
-How we recognize that not everyone wants to re-invent K-means and linear regression so we are building up a collection of
-common and essoteric algorithms that will come 'pre-canned'
-
-## Map Reduce
-
-How these are legacy but still exist.
-

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/front/developers/patch-check-list.md
----------------------------------------------------------------------
diff --git a/website-old/front/developers/patch-check-list.md b/website-old/front/developers/patch-check-list.md
deleted file mode 100644
index 8f48ae9..0000000
--- a/website-old/front/developers/patch-check-list.md
+++ /dev/null
@@ -1,30 +0,0 @@
----
-layout: default
-title: Pathc Check List
-theme:
- name: mahout2
----
-
-
-# Patch Check List
-
-So, you want to merge a contribution- or you want to know in more detail what committers look for in your contribution?
-Here are tips, traps, etc. for dealing with
-PRs:
-
- - Did the author write unit tests? Are the unit tests worthwhile?
- - Are the licenses correct on newly added files? Has an ASF license been
-granted?
- - Make sure you update JIRA by assigning the issue to you so that others
-know you are working on it.
- - How is the documentation, especially the javadocs?
- - Before committing, make sure you add any new documents to your local Git repo.
- - Run all unit tests, verify that all tests pass.
- - Lastly, update the [CHANGELOG](https://github.com/apache/mahout/blob/master/CHANGELOG) file. Give proper credit to the authors.
-
-After the above steps are verified and completed, and the contribution is ready to merge, follow the steps in the "Merging a PR" section in: [Handling Github PRs](http://mahout.apache.org/developers/github.html).
-
- - Remember to update the issue status in JIRA when you have completed it.
-
-
-
\ No newline at end of file
a***@apache.org
2017-12-21 04:52:50 UTC
Permalink
http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/docs/tutorials/misc/contributing-algos/index.md
----------------------------------------------------------------------
diff --git a/website-old/docs/tutorials/misc/contributing-algos/index.md b/website-old/docs/tutorials/misc/contributing-algos/index.md
deleted file mode 100644
index 618dd4b..0000000
--- a/website-old/docs/tutorials/misc/contributing-algos/index.md
+++ /dev/null
@@ -1,416 +0,0 @@
----
-layout: default
-title: Contributing new algorithms
-theme:
- name: mahout2
----
-
-The Mahout community is driven by user contribution. If you have implemented an algorithm and are interested in
-sharing it with the rest of the community, we highly encourage you to contribute it to the codebase. However to
-keep things from getting too out of control, we have instituted a standard API for our algorithms, and we ask you
-contribute your algorithm in a way that conforms to this API as much as possible. You can always reach out on
-[***@mahout.apache.org](***@mahout.apache.org) if you need help.
-
-In this example, let's say you've created a totally new algorithm- a regression algorithm called `Foo`
-
-The `Foo` algorithm is a silly algorithm- it always guesses the target is 1. Not at all useful as an algorithm, but great for
-illustrating how an algorithm would be added.
-
-## Step 1: Create JIRA ticket
-
-Go to [the Mahout JIRA board](https://issues.apache.org/jira/browse/MAHOUT/) and click the red "Create" button.
-
-If you don't see the button, you may need to be granted contributor rights on the JIRA board. Send a message to [***@mahout.apache.org](***@mahout.apache.org) and someone will add you.
-
-Once you click "Create" a dialog box will pop up.
-
-In the Summary box write a short description, something like `Implement Foo Algorithm`
-
-Under assignee- click "Assign to Me", this lets everyone know you're working on the algorithm.
-
-In the description, it would be good to describe the algorithm, and if possible link to a Wikipedia article about the algorithm/method or better yet an academic journal article.
-
-![Jira Dialogue box](new-jira.png)
-
-Once you've creted- a JIRA number will be assigned. For example, here is the JIRA ticket for me writing this tutorial.
-
-![New Issue Created](jira.png)
-
-This is MAHOUT-1980. Whatever number your new issue is assigned, we'll refer to as XXXX for the rest of the tutorial.
-
-## Step 2. Clone Mahout and create branch
-
-Supposing you don't already have a copy of Mahout on your computer open a terminal and type the following
-
- git clone http://github.com/apache/mahout
-
-This will clone the Mahout source code into a directory called `mahout`. Go into that directory and create a new branch called
-`mahout-xxxx` (where `xxxx` is your JIRA number from step 1)
-
- cd mahout
- git checkout -b mahout-xxxx
-
-## Step 3. Create Classes for your new Algorithm
-
-**NOTE** I am using IntelliJ Community-Edition as an IDE. There are several good IDEs that exist, and I _highly_ reccomend
-you use one, but you can do what you like. As far as screen shots go though, that is what I'm working with here.
-
-Create a file `mahout/math-scala/src/main/scala/org/apache/mahout/math/algorithms/regression/FooModel.scala`
-
-The first thing to add to the file is a license:
-
- /**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-The next thing to add to the file is the `package` statement.
-
- package org.apache.mahout.math.algorithms.regression
-
-And finally declare the Fitter and Model classes
-
- class Foo extends RegressorFitter {
-
- }
-
- class FooModel extends RegressorModel {
-
- }
-
-
-The Fitter class holds the methods for fitting which returns a Model, the Model class hold the parameters for the model and
- methods for using on new data sets. In a RegressorModel that is going to be a `predict()` method.
-
-In your algorithm, most of your code is going to go into the `.fit` method. Since this is just a silly example, we're
- don't really have anything to fit- so we're just going to return a FooModel (because that is what the Fitter must do)
-
- class Foo[K] extends RegressorFitter[K] {
-
- def fit(drmX : DrmLike[K],
- drmTarget: DrmLike[K],
- hyperparameters: (Symbol, Any)*): FooModel[K] ={
- /**
- * Normally one would have a lot more code here.
- */
-
- var model = new FooModel[K]
- model.summary = "This model has been fit, I would tell you more interesting things- if there was anything to tell."
- model
- }
- }
-
- class FooModel[K] extends RegressorModel[K] {
-
- def predict(drmPredictors: DrmLike[K]): DrmLike[K] = {
- drmPredictors.mapBlock(1) {
- case (keys, block: Matrix) => {
- var outputBlock = new DenseMatrix(block.nrow, 1)
- keys -> (outputBlock += 1.0)
- }
- }
- }
- }
-
-I've also added something to the summary string. It wasn't a very helpful thing, but this isn't a very helpful algorithm. I included
-as a reminder to you, the person writing a useful algorithm, that this is a good place to talk about the results of the fitting.
-
-At this point it would be reasonable to try building Mahout and checking that your algorithm is working the way you expect it to
-
- mvn clean package -DskipTests
-
-I like to use the Mahout Spark-Shell for cases like this.
-
- cd $MAHOUT_HOME/bin
- ./mahout spark-shell
-
-Then once I'm in the shell:
-
- import org.apache.mahout.math.algorithms.regression.Foo
-
- val drmA = drmParallelize(dense((1.0, 1.2, 1.3, 1.4), (1.1, 1.5, 2.5, 1.0), (6.0, 5.2, -5.2, 5.3), (7.0,6.0, 5.0, 5.0), (10.0, 1.0, 20.0, -10.0)))
-
- val model = new Foo().fit(drmA(::, 0 until 2), drmA(::, 2 until 3))
-
- model.predict(drmA).collect
-
-And everything seems to be in order.
-
- res5: org.apache.mahout.math.Matrix =
- {
- 0 => {0:1.0}
- 1 => {0:1.0}
- 2 => {0:1.0}
- 3 => {0:1.0}
- 4 => {0:1.0}
- }
-
-## Step 4. Working with Hyper Parameters
-
-It's entirely likely you'll need to have hyper-parameters to tune your algorithm.
-
-In Mahout we handle these with a map of Symbols. You might have noticed in the `fit` and `predict` methods we included
-`hyperparameters: (Symbol, Any)*`
-
-Well let's look at how we would work with those.
-
-Suppose instead of always guessing "1.0" we wanted to guess some user defined number (a very silly algorithm).
-
-We'll be adding a parameter called `guessThisNumber` to the Fitter method. By convention, we usually create a function in
-the fitter called `setStandardHyperparameters` and let that take care of setting up all of our hyperparameters and then call
-that function inside of fit. This keeps things nice and clean.
-
- class Foo[K] extends RegressorFitter[K] {
-
- var guessThisNumber: Double = _
-
- def setStandardHyperparameters(hyperparameters: Map[Symbol, Any] = Map('foo -> None)): Unit = {
- guessThisNumber = hyperparameters.asInstanceOf[Map[Symbol, Double]].getOrElse('guessThisNumber, 1.0)
- }
- def fit(drmX : DrmLike[K],
- drmTarget: DrmLike[K],
- hyperparameters: (Symbol, Any)*): FooModel[K] ={
- /**
- * Normally one would have a lot more code here.
- */
-
- var model = new FooModel[K]
-
- setStandardHyperparameters(hyperparameters.toMap)
- model.guessThisNumber = guessThisNumber
- model.summary = s"This model will always guess ${model.guessThisNumber}"
- model
- }
- }
-
-Also notice we set the _default value_ to 1.0. We also now have something to add into the summary string.
-
-To implement this, we'll need to broadcast the guessed number in the `predict` method. In Mahout you can only broadcast
-`Vectors` and `Matrices`. We use `drmBroadcast` It might be tempting to use the broadcast method of the underlying engine, but
-this is a no-no. The reason for this is that we want to keep our algorithm abstracted over multiple distributed engines.
-
- class FooModel[K] extends RegressorModel[K] {
-
- var guessThisNumber: Double = _
-
- def predict(drmPredictors: DrmLike[K]): DrmLike[K] = {
-
- // This is needed for MapBlock
- implicit val ktag = drmPredictors.keyClassTag
-
- // This is needed for broadcasting
- implicit val ctx = drmPredictors.context
-
- val bcGuess = drmBroadcast(dvec(guessThisNumber))
- drmPredictors.mapBlock(1) {
- case (keys, block: Matrix) => {
- var outputBlock = new DenseMatrix(block.nrow, 1)
- keys -> (outputBlock += bcGuess.get(0))
- }
- }
- }
- }
-
-We can get pretty creative with what sort of information we can send out in the broadcast even when it's just Vectors and Matrices
-
-Here we get the single number we need by broadcasting it in a length 1 vector. We then `get` our number from that position.
-
- keys -> (outputBlock += bcGuess.get(0))
-
-
-Let's open up the `$MAHOUT_HOME/bin/mahout spark-shell` and try out the hyperparameter
-
- import org.apache.mahout.math.algorithms.regression.Foo
-
- val drmA = drmParallelize(dense((1.0, 1.2, 1.3, 1.4), (1.1, 1.5, 2.5, 1.0), (6.0, 5.2, -5.2, 5.3), (7.0,6.0, 5.0, 5.0), (10.0, 1.0, 20.0, -10.0)))
-
- val model = new Foo().fit(drmA(::, 0 until 2), drmA(::, 2 until 3), 'guessThisNumber -> 2.0)
-
- model.predict(drmA).collect
-
-## Step 5. Unit Tests
-
-Ahh unit tests, so tedious but so important. We want to create a unit test that will break if someone changes some other code
-that causes our algorithm to fail (or guess the wrong numbers)
-
-By convention, if an algorithm has been written in R it is best to make a very small sample data set, and run the R version
-of the algorithm- and then verify your algorithm generates the same results, or explain why it there is divergence.
-
-Since no one has implemented Foo in any other packages however, we will have to be very sure our algorithm correct by doing
-it by hand in R, and in a way others can verify. Actually- I'm not making a prototype of the Foo algorithm, but I do want to impress
-that it _is_ very important that you do, so that the person reviewing the PR can verify your results. (Maybe there is an example
-in the paper you read).
-
-Since this is a regression model, open up
-
- $MAHOUT_HOME/math-scala/src/test/scala/org/apache/mahout/math/algorithms/RegressionSuiteBase.scala
-
-You'll see some other tests in there to get you started. You'll also see some R-Prototypes, and in the case of `cochrane orcutt`
-where the R implementation had divergent results and my argument for why our algorithm was right.
-
-I'm going to create a new test called `foo test` and I'm going to build it similar to the example I've been using.
-
- test("foo") {
- import org.apache.mahout.math.algorithms.regression.Foo
-
- val drmA = drmParallelize(dense((1.0, 1.2, 1.3, 1.4),
- (1.1, 1.5, 2.5, 1.0),
- (6.0, 5.2, -5.2, 5.3),
- (7.0,6.0, 5.0, 5.0),
- (10.0, 1.0, 20.0, -10.0)))
-
- val model = new Foo().fit(drmA(::, 0 until 2), drmA(::, 2 until 3), 'guessThisNumber -> 2.0)
-
- val myAnswer = model.predict(drmA).collect
- val correctAnswer = dense( (2.0),
- (2.0),
- (2.0),
- (2.0),
- (2.0))
-
-
- val epsilon = 1E-6
- (myAnswer - correctAnswer).sum should be < epsilon
- }
-
-Note the use of `epsilon`. The answer really _should be_ 0.0. But, especially for more complicated algorithms, we allow
-for a touch of machine rounding error.
-
-Now build and check your tests by building without skipping the tests
-
- mvn clean package
-
-## Step 6. Add documentation to the website.
-
-Now you've created this awesome algorithm- time to do a little marketing! Create the following file:
-
- $MAHOUT_HOME/website/docs/algorithms/regression/foo.md
-
-In that file create a blank Jekyll template:
-
- ---
- layout: algorithm
- title: Foo
- theme:
- name: mahout2
- ---
-
- ### About
-
- Foo is a very famous and useful algorithm. Let me tell you lots about it...
-
- [A mark down link](https://en.wikipedia.org/wiki/Foobar)
-
- ### Parameters
-
- <div class="table-striped">
- <table class="table">
- <tr>
- <th>Parameter</th>
- <th>Description</th>
- <th>Default Value</th>
- </tr>
- <tr>
- <td><code>'guessThisNumber</code></td>
- <td>The number to guess</td>
- <td><code>1.0</code></td>
- </tr>
- </table>
- </div>
-
- ### Example
- import org.apache.mahout.math.algorithms.regression.Foo
-
- val drmA = drmParallelize(dense((1.0, 1.2, 1.3, 1.4), (1.1, 1.5, 2.5, 1.0), (6.0, 5.2, -5.2, 5.3), (7.0,6.0, 5.0, 5.0), (10.0, 1.0, 20.0, -10.0)))
-
- val model = new Foo().fit(drmA(::, 0 until 2), drmA(::, 2 until 3), 'guessThisNumber -> 2.0)
-
- model.predict(drmA).collect
-
-The firse few lines between the `---` is the header, this has the title and tells Jekyll what sort of page this is, it knows
-elsewhere based on that, how to compile the page (add navbars, etc).
-
-The _About_ section, is your chance to really dive into the algorithm and its implementation. More is more. If you didn't have an
-R prototype in the unit tests (or have a divergent answer from R) this is a good place to really expand on that.
-
-The _Parameters_ section is a good reference for users to know that the hyperparameters are and what they do.
-
-The _Example_ section is a quick little example to get users started. You may have noticed I used the same code I used in
-the unit test. That's something I do often, but there is no reason you have to. If you want to come up with a more illustrative example
-(or several illustrative examples) that's encouraged.
-Add links to the nav-bars
-
- $MAHOUT_HOME/website/docs/_includes/algo_navbar.html
- $MAHOUT_HOME/website/docs/_includes/navbar.html
-
-You can look at the links already in there, but it's going to look something like
-
- <li> <a href="{{ BASE_PATH }}/algorithms/regression/Foo.html">Foo</a></li>
-
-Jeckyll will convert your *.md file into *.html at the same place on the directory tree.
-
-To check that your webpage look right:
-
- cd $MAHOUT_HOME/website/docs
- jeckyll --serve
-
-Then open a webbrowser and go to [http://localhost:4000](http://localhost:4000)
-
-If you're feeling really froggy- you're also welcome to add a tutorial :)
-
-## Step 7. Commit Changes, Push to Github, and Open a PR
-
-Open a terminal, return to the `mahout` top directory and type
-
- git status
-
-You'll see `Changes not staged for commit`.
-
-Any file you touched will be listed there, but we only want to stage the files we were in.
-
-For this tutorial it was
-
- git add mahout/math-scala/src/main/scala/org/apache/mahout/math/algorithms/regression/FooModel.scala
- git add math-scala/src/test/scala/org/apache/mahout/math/algorithms/RegressionSuiteBase.scala
- git add website/docs/algorithms/regression/foo.md
- git add website/docs/_includes/algo_navbar.html
- git add website/docs/_includes/navbar.html
-
-Now we _commit_ our changes. We add a message that starts with `MAHOUT-xxxx` where `xxxx` is the JIRA number your issue was
-assigned, then a descriptive title.
-
- git commit -m "MAHOUT-xxxx Implement Foo Algorithm"
-
-Finally, _push_ the changes to your local repository. The `-u` flag will create a new branch
-
- git push -u origin mahout-xxxx
-
-Now in your browser, go to [http://github.com/yourusername/mahout](http://github.com/yourusername/mahout)
-
-There is a "branch" drop down menu- scroll down and find `mahout-xxxx`
-
-![i have lots of issues](github-branch.png)
-
-Towards the top, off to the right, you'll see a link to "Pull Request", click on this- and follow the prompts!
-
-![create PR](create-pr.png)
-
-## Conclusion
-
-That's it! Thanks so much for contributing to Apache Mahout, users like you are what keep this project moving forward!
-
-I've included [Foo.scala](Foo.scala) and [RegressionSuiteBase.scala](RegressionSuiteBase.scala) for reference.
\ No newline at end of file

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/docs/tutorials/misc/contributing-algos/jira.png b/website-old/docs/tutorials/misc/contributing-algos/jira.png
deleted file mode 100644
index d4c5bcd..0000000
Binary files a/website-old/docs/tutorials/misc/contributing-algos/jira.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/docs/tutorials/misc/contributing-algos/new-jira.png b/website-old/docs/tutorials/misc/contributing-algos/new-jira.png
deleted file mode 100644
index efaba7e..0000000
Binary files a/website-old/docs/tutorials/misc/contributing-algos/new-jira.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/docs/tutorials/misc/how-to-build-an-app.md
----------------------------------------------------------------------
diff --git a/website-old/docs/tutorials/misc/how-to-build-an-app.md b/website-old/docs/tutorials/misc/how-to-build-an-app.md
deleted file mode 100644
index a17c189..0000000
--- a/website-old/docs/tutorials/misc/how-to-build-an-app.md
+++ /dev/null
@@ -1,256 +0,0 @@
----
-layout: tutorial
-title: Mahout Samsara In Core
-theme:
- name: mahout2
----
-# How to create and App using Mahout
-
-This is an example of how to create a simple app using Mahout as a Library. The source is available on Github in the [3-input-cooc project](https://github.com/pferrel/3-input-cooc) with more explanation about what it does (has to do with collaborative filtering). For this tutorial we'll concentrate on the app rather than the data science.
-
-The app reads in three user-item interactions types and creats indicators for them using cooccurrence and cross-cooccurrence. The indicators will be written to text files in a format ready for search engine indexing in search engine based recommender.
-
-## Setup
-In order to build and run the CooccurrenceDriver you need to install the following:
-
-* Install the Java 7 JDK from Oracle. Mac users look here: [Java SE Development Kit 7u72](http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html).
-* Install sbt (simple build tool) 0.13.x for [Mac](http://www.scala-sbt.org/release/tutorial/Installing-sbt-on-Mac.html), [Linux](http://www.scala-sbt.org/release/tutorial/Installing-sbt-on-Linux.html) or [manual instalation](http://www.scala-sbt.org/release/tutorial/Manual-Installation.html).
-* Install [Spark 1.1.1](https://spark.apache.org/docs/1.1.1/spark-standalone.html). Don't forget to setup SPARK_HOME
-* Install [Mahout 0.10.0](http://mahout.apache.org/general/downloads.html). Don't forget to setup MAHOUT_HOME and MAHOUT_LOCAL
-
-Why install if you are only using them as a library? Certain binaries and scripts are required by the libraries to get information about the environment like discovering where jars are located.
-
-Spark requires a set of jars on the classpath for the client side part of an app and another set of jars must be passed to the Spark Context for running distributed code. The example should discover all the neccessary classes automatically.
-
-## Application
-Using Mahout as a library in an application will require a little Scala code. Scala has an App trait so we'll create an object, which inherits from ```App```
-
-
- object CooccurrenceDriver extends App {
- }
-
-
-This will look a little different than Java since ```App``` does delayed initialization, which causes the body to be executed when the App is launched, just as in Java you would create a main method.
-
-Before we can execute something on Spark we'll need to create a context. We could use raw Spark calls here but default values are setup for a Mahout context by using the Mahout helper function.
-
- implicit val mc = mahoutSparkContext(masterUrl = "local",
- appName = "CooccurrenceDriver")
-
-We need to read in three files containing different interaction types. The files will each be read into a Mahout IndexedDataset. This allows us to preserve application-specific user and item IDs throughout the calculations.
-
-For example, here is data/purchase.csv:
-
- u1,iphone
- u1,ipad
- u2,nexus
- u2,galaxy
- u3,surface
- u4,iphone
- u4,galaxy
-
-Mahout has a helper function that reads the text delimited files SparkEngine.indexedDatasetDFSReadElements. The function reads single element tuples (user-id,item-id) in a distributed way to create the IndexedDataset. Distributed Row Matrices (DRM) and Vectors are important data types supplied by Mahout and IndexedDataset is like a very lightweight Dataframe in R, it wraps a DRM with HashBiMaps for row and column IDs.
-
-One important thing to note about this example is that we read in all datasets before we adjust the number of rows in them to match the total number of users in the data. This is so the math works out [(A'A, A'B, A'C)](http://mahout.apache.org/users/algorithms/intro-cooccurrence-spark.html) even if some users took one action but not another there must be the same number of rows in all matrices.
-
- /**
- * Read files of element tuples and create IndexedDatasets one per action. These
- * share a userID BiMap but have their own itemID BiMaps
- */
- def readActions(actionInput: Array[(String, String)]): Array[(String, IndexedDataset)] = {
- var actions = Array[(String, IndexedDataset)]()
-
- val userDictionary: BiMap[String, Int] = HashBiMap.create()
-
- // The first action named in the sequence is the "primary" action and
- // begins to fill up the user dictionary
- for ( actionDescription <- actionInput ) {// grab the path to actions
- val action: IndexedDataset = SparkEngine.indexedDatasetDFSReadElements(
- actionDescription._2,
- schema = DefaultIndexedDatasetElementReadSchema,
- existingRowIDs = userDictionary)
- userDictionary.putAll(action.rowIDs)
- // put the name in the tuple with the indexedDataset
- actions = actions :+ (actionDescription._1, action)
- }
-
- // After all actions are read in the userDictonary will contain every user seen,
- // even if they may not have taken all actions . Now we adjust the row rank of
- // all IndxedDataset's to have this number of rows
- // Note: this is very important or the cooccurrence calc may fail
- val numUsers = userDictionary.size() // one more than the cardinality
-
- val resizedNameActionPairs = actions.map { a =>
- //resize the matrix by, in effect by adding empty rows
- val resizedMatrix = a._2.create(a._2.matrix, userDictionary, a._2.columnIDs).newRowCardinality(numUsers)
- (a._1, resizedMatrix) // return the Tuple of (name, IndexedDataset)
- }
- resizedNameActionPairs // return the array of Tuples
- }
-
-
-Now that we have the data read in we can perform the cooccurrence calculation.
-
- // actions.map creates an array of just the IndeedDatasets
- val indicatorMatrices = SimilarityAnalysis.cooccurrencesIDSs(
- actions.map(a => a._2))
-
-All we need to do now is write the indicators.
-
- // zip a pair of arrays into an array of pairs, reattaching the action names
- val indicatorDescriptions = actions.map(a => a._1).zip(indicatorMatrices)
- writeIndicators(indicatorDescriptions)
-
-
-The ```writeIndicators``` method uses the default write function ```dfsWrite```.
-
- /**
- * Write indicatorMatrices to the output dir in the default format
- * for indexing by a search engine.
- */
- def writeIndicators( indicators: Array[(String, IndexedDataset)]) = {
- for (indicator <- indicators ) {
- // create a name based on the type of indicator
- val indicatorDir = OutputPath + indicator._1
- indicator._2.dfsWrite(
- indicatorDir,
- // Schema tells the writer to omit LLR strengths
- // and format for search engine indexing
- IndexedDatasetWriteBooleanSchema)
- }
- }
-
-
-See the Github project for the full source. Now we create a build.sbt to build the example.
-
- name := "cooccurrence-driver"
-
- organization := "com.finderbots"
-
- version := "0.1"
-
- scalaVersion := "2.10.4"
-
- val sparkVersion = "1.1.1"
-
- libraryDependencies ++= Seq(
- "log4j" % "log4j" % "1.2.17",
- // Mahout's Spark code
- "commons-io" % "commons-io" % "2.4",
- "org.apache.mahout" % "mahout-math-scala_2.10" % "0.10.0",
- "org.apache.mahout" % "mahout-spark_2.10" % "0.10.0",
- "org.apache.mahout" % "mahout-math" % "0.10.0",
- "org.apache.mahout" % "mahout-hdfs" % "0.10.0",
- // Google collections, AKA Guava
- "com.google.guava" % "guava" % "16.0")
-
- resolvers += "typesafe repo" at " http://repo.typesafe.com/typesafe/releases/"
-
- resolvers += Resolver.mavenLocal
-
- packSettings
-
- packMain := Map(
- "cooc" -> "CooccurrenceDriver")
-
-
-## Build
-Building the examples from project's root folder:
-
- $ sbt pack
-
-This will automatically set up some launcher scripts for the driver. To run execute
-
- $ target/pack/bin/cooc
-
-The driver will execute in Spark standalone mode and put the data in /path/to/3-input-cooc/data/indicators/*indicator-type*
-
-## Using a Debugger
-To build and run this example in a debugger like IntelliJ IDEA. Install from the IntelliJ site and add the Scala plugin.
-
-Open IDEA and go to the menu File->New->Project from existing sources->SBT->/path/to/3-input-cooc. This will create an IDEA project from ```build.sbt``` in the root directory.
-
-At this point you may create a "Debug Configuration" to run. In the menu choose Run->Edit Configurations. Under "Default" choose "Application". In the dialog hit the elipsis button "..." to the right of "Environment Variables" and fill in your versions of JAVA_HOME, SPARK_HOME, and MAHOUT_HOME. In configuration editor under "Use classpath from" choose root-3-input-cooc module.
-
-![image](Loading Image...)
-
-Now choose "Application" in the left pane and hit the plus sign "+". give the config a name and hit the elipsis button to the right of the "Main class" field as shown.
-
-![image](Loading Image...)
-
-
-After setting breakpoints you are now ready to debug the configuration. Go to the Run->Debug... menu and pick your configuration. This will execute using a local standalone instance of Spark.
-
-##The Mahout Shell
-
-For small script-like apps you may wish to use the Mahout shell. It is a Scala REPL type interactive shell built on the Spark shell with Mahout-Samsara extensions.
-
-To make the CooccurrenceDriver.scala into a script make the following changes:
-
-* You won't need the context, since it is created when the shell is launched, comment that line out.
-* Replace the logger.info lines with println
-* Remove the package info since it's not needed, this will produce the file in ```path/to/3-input-cooc/bin/CooccurrenceDriver.mscala```.
-
-Note the extension ```.mscala``` to indicate we are using Mahout's scala extensions for math, otherwise known as [Mahout-Samsara](http://mahout.apache.org/users/environment/out-of-core-reference.html)
-
-To run the code make sure the output does not exist already
-
- $ rm -r /path/to/3-input-cooc/data/indicators
-
-Launch the Mahout + Spark shell:
-
- $ mahout spark-shell
-
-You'll see the Mahout splash:
-
- MAHOUT_LOCAL is set, so we don't add HADOOP_CONF_DIR to classpath.
-
- _ _
- _ __ ___ __ _| |__ ___ _ _| |_
- | '_ ` _ \ / _` | '_ \ / _ \| | | | __|
- | | | | | | (_| | | | | (_) | |_| | |_
- |_| |_| |_|\__,_|_| |_|\___/ \__,_|\__| version 0.10.0
-
-
- Using Scala version 2.10.4 (Java HotSpot(TM) 64-Bit Server VM, Java 1.7.0_72)
- Type in expressions to have them evaluated.
- Type :help for more information.
- 15/04/26 09:30:48 WARN NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
- Created spark context..
- Mahout distributed context is available as "implicit val sdc".
- mahout>
-
-To load the driver type:
-
- mahout> :load /path/to/3-input-cooc/bin/CooccurrenceDriver.mscala
- Loading ./bin/CooccurrenceDriver.mscala...
- import com.google.common.collect.{HashBiMap, BiMap}
- import org.apache.log4j.Logger
- import org.apache.mahout.math.cf.SimilarityAnalysis
- import org.apache.mahout.math.indexeddataset._
- import org.apache.mahout.sparkbindings._
- import scala.collection.immutable.HashMap
- defined module CooccurrenceDriver
- mahout>
-
-To run the driver type:
-
- mahout> CooccurrenceDriver.main(args = Array(""))
-
-You'll get some stats printed:
-
- Total number of users for all actions = 5
- purchase indicator matrix:
- Number of rows for matrix = 4
- Number of columns for matrix = 5
- Number of rows after resize = 5
- view indicator matrix:
- Number of rows for matrix = 4
- Number of columns for matrix = 5
- Number of rows after resize = 5
- category indicator matrix:
- Number of rows for matrix = 5
- Number of columns for matrix = 7
- Number of rows after resize = 5
-
-If you look in ```path/to/3-input-cooc/data/indicators``` you should find folders containing the indicator matrices.

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/docs/tutorials/misc/mahout-in-zeppelin/index.md
----------------------------------------------------------------------
diff --git a/website-old/docs/tutorials/misc/mahout-in-zeppelin/index.md b/website-old/docs/tutorials/misc/mahout-in-zeppelin/index.md
deleted file mode 100644
index 93a15c0..0000000
--- a/website-old/docs/tutorials/misc/mahout-in-zeppelin/index.md
+++ /dev/null
@@ -1,276 +0,0 @@
----
-layout: tutorial
-title: Visualizing Mahout in Zeppelin
-theme:
- name: mahout2
----
-
-
-The [Apache Zeppelin](http://zeppelin.apache.org) is an exciting notebooking tool, designed for working with Big Data
-applications. It comes with great integration for graphing in R and Python, supports multiple langauges in a single
-notebook (and facilitates sharing of variables between interpreters), and makes working with Spark and Flink in an interactive environment (either locally or in cluster mode) a
-breeze. Of course, it does lots of other cool things too- but those are the features we're going to take advantage of.
-
-### Step1: Download and Install Zeppelin
-
-Zeppelin binaries by default use Spark 2.1 / Scala 2.11, until Mahout puts out Spark 2.1/Scala 2.11 binaries you have
-two options.
-
-#### Option 1: Build Mahout for Spark 2.1/Scala 2.11
-
-**Build Mahout**
-
-Follow the standard procedures for building Mahout, except manually set the Spark and Scala versions - the easiest way being:
-
- git clone http://github.com/apache/mahout
- cd mahout
- mvn clean package -Dspark.version=2.1.0 -Dscala.version=2.11.8 -Dscala.compat.version=2.11 -DskipTests
-
-
-**Download Zeppelin**
-
- cd /a/good/place/to/install/
- wget http://apache.mirrors.tds.net/zeppelin/zeppelin-0.7.1/zeppelin-0.7.1-bin-all.tgz
- tar -xzf zeppelin-0.7.1-bin-all.tgz
- cd zeppelin*
- bin/zeppelin-daemon.sh start
-
-And that's it. Open a web browser and surf to [http://localhost:8080](http://localhost:8080)
-
-Proceed to Step 2.
-
-#### Option2: Build Zeppelin for Spark 1.6/Scala 2.10
-
-We'll use Mahout binaries from Maven, so all you need to do is clone, and build Zeppelin-
-
- git clone http://github.com/apache/zeppelin
- cd zeppelin
- mvn clean package -Pspark1.6 -Pscala2.10 -DskipTests
-
-After it builds successfully...
-
- bin/zeppelin-daemon.sh start
-
-And that's it. Open a web browser and surf to [http://localhost:8080](http://localhost:8080)
-
-### Step2: Create the Mahout Spark Interpreter
-
-After opening your web browser and surfing to [http://localhost:8080](http://localhost:8080), click on the `Anonymous`
-button on the top right corner, which will open a drop down. Then click `Interpreter`.
-
-![Screen Shot1](zeppelin1.png)
-
-At the top right, just below the blue nav bar- you will see two buttons, "Repository" and "+Create". Click on "+Create"
-
-The following screen should appear.
-
-![Screen Shot2](zeppelin2.png)
-
-In the **Interpreter Name** enter `mahoutSpark` (you can name it whatever you like, but this is what we'll assume you've
-named it later in the tutorial)
-
-In the **Interpreter group** drop down, select `spark`. A bunch of other settings will now auto-populate.
-
-Scroll to the bottom of the **Properties** list. In the last row, you'll see two blank boxes.
-
-Add the following properies by clicking the "+" button to the right.
-
-<div class="table-striped">
-<table class="table">
- <tr>
- <th>name</th>
- <th>value</th>
- </tr>
- <tr>
- <td>spark.kryo.referenceTracking</td>
- <td>false</td>
- </tr>
- <tr>
- <td>spark.kryo.registrator</td>
- <td>org.apache.mahout.sparkbindings.io.MahoutKryoRegistrator</td>
- </tr>
- <tr>
- <td>spark.kryoserializer.buffer</td>
- <td>32</td>
- </tr>
- <tr>
- <td>spark.kryoserializer.buffer.max</td>
- <td>600m</td>
- </tr>
- <tr>
- <td>spark.serializer</td>
- <td>org.apache.spark.serializer.KryoSerializer</td>
- </tr>
-</table>
-</div>
-
-### Step 3: Add Dependendencies
-You'll also need to add the following **Dependencies**.
-
-#### If you chose Option1 in Step 1:
-
-Where `/path/to/mahout` is the path to the directory where you've built mahout.
-
-<div class="table-striped">
-<table class="table">
- <tr>
- <th>artifact</th>
- <th>exclude</th>
- </tr>
- <tr>
- <td>/path/to/mahout/mahout-math-0.13.0.jar</td>
- <td></td>
- </tr>
- <tr>
- <td>/path/to/mahout/mahout-math-scala_2.11-0.13.0.jar</td>
- <td></td>
- </tr>
- <tr>
- <td>/path/to/mahout/mahout-spark_2.11-0.13.0.jar</td>
- <td></td>
- </tr>
- <tr>
- <td>/path/to/mahout/mahout-spark_2.11-0.13.0-dependeny-reduced.jar</td>
- <td></td>
- </tr>
-</table>
-</div>
-
-#### If you chose Option2 in Step 1:
-
-<div class="table-striped">
-<table class="table">
- <tr>
- <th>artifact</th>
- <th>exclude</th>
- </tr>
- <tr>
- <td>org.apache.mahout:mahout-math:0.13.0</td>
- <td></td>
- </tr>
- <tr>
- <td>org.apache.mahout:mahout-math-scala_2.10:0.13.0</td>
- <td></td>
- </tr>
- <tr>
- <td>org.apache.mahout:mahout-spark_2.10:0.13.0</td>
- <td></td>
- </tr>
- <tr>
- <td>org.apache.mahout:mahout-native-viennacl-omp_2.10:0.13.0</td>
- <td></td>
- </tr>
-
-</table>
-</div>
-
-
-_**OPTIONALLY**_ You can add **one** of the following artifacts for CPU/GPU acceleration.
-
-<div class="table-striped">
-<table class="table">
- <tr>
- <th>artifact</th>
- <th>exclude</th>
- <th>type of native solver</th>
- </tr>
- <tr>
- <td>org.apache.mahout:mahout-native-viennacl_2.10:0.13.0</td>
- <td></td>
- <td>ViennaCL GPU Accelerated</td>
- </tr>
- <tr>
- <td>org.apache.mahout:mahout-native-viennacl-omp_2.10:0.13.0</td>
- <td></td>
- <td>ViennaCL-OMP CPU Accelerated (use this if you don't have a good graphics card)</td>
- </tr>
-</table>
-</div>
-
-Make sure to click "Save" and you're all set.
-
-### Step 4. Rock and Roll.
-
-Mahout in Zeppelin, unlike the Mahout Shell, won't take care of importing the Mahout libraries or creating the
-`MahoutSparkContext`, we need to do that manually. This is easy though. When ever you start Zeppelin (or restart) the
-Mahout interpreter, you'll need to run the following code first:
-
- %sparkMahout
-
- import org.apache.mahout.math._
- import org.apache.mahout.math.scalabindings._
- import org.apache.mahout.math.drm._
- import org.apache.mahout.math.scalabindings.RLikeOps._
- import org.apache.mahout.math.drm.RLikeDrmOps._
- import org.apache.mahout.sparkbindings._
-
- implicit val sdc: org.apache.mahout.sparkbindings.SparkDistributedContext = sc2sdc(sc)
-
-
-At this point, you have a Zeppelin Interpreter which will behave like the `$MAHOUT_HOME/bin/mahout spark-shell`
-
-Except, much much more.
-
-At the begining I mentioned a few important features of Zeppelin, that we could leverage to use Zeppelin for visualizatoins.
-
-#### Example 1: Visualizing a Matrix (Sample) with R
-
-In Mahout we can use `Matrices.symmetricUniformView` to create a Gaussian Matrix.
-
-We can use `.mapBlock` and some clever code to create a 3D Gausian Matrix.
-
-We can use `.drmSampleToTsv` to take a sample of the matrix and turn it in to a tab seperated string. We take a sample of
- the matrix because, since we are dealing with "big" data, we wouldn't want to try to collect and plot the entire matrix,
- however, IF we knew we had a small matrix and we DID want to sample the entire thing, then we could sample `100.0` e.g. 100%.
-
-Finally we use `z.put(...)` to put a variable into Zeppelin's `ResourcePool` a block of memory shared by all interpreters.
-
-
- %sparkMahout
-
- val mxRnd3d = Matrices.symmetricUniformView(5000, 3, 1234)
- val drmRand3d = drmParallelize(mxRnd3d)
-
- val drmGauss = drmRand3d.mapBlock() {case (keys, block) =>
- val blockB = block.like()
- for (i <- 0 until block.nrow) {
- val x: Double = block(i, 0)
- val y: Double = block(i, 1)
- val z: Double = block(i, 2)
-
- blockB(i, 0) = x
- blockB(i, 1) = y
- blockB(i, 2) = Math.exp(-((Math.pow(x, 2)) + (Math.pow(y, 2)))/2)
- }
- keys -> blockB
- }
-
- resourcePool.put("gaussDrm", drm.drmSampleToTSV(drmGauss, 50.0))
-
-Here we sample 50% of the matrix and put it in the `ResourcePool` under a variable named "gaussDrm".
-
-Now, for the exciting part. Scala doesn't have a lot of great graphing utilities. But you know who does? R and Python. So
-instead of trying to akwardly visualize our data using Scala, let's just use R and Python.
-
-We start the Spark R interpreter (we do this because the regular R interpreter doesn't have access to the resource pools).
-
-We `z.get` the variable we just put in.
-
-We use R's `read.table` to read the string- this is very similar to how we would read a tsv file in R.
-
-Then we plot the data using the R `scatterplot3d` package.
-
-**Note** you may need to install `scatterplot3d`. In Ubuntu, do this with `sudo apt-get install r-cran-scatterplot3d`
-
-
- %spark.r {"imageWidth": "400px"}
-
- library(scatterplot3d)
-
-
- gaussStr = z.get("gaussDrm")
- data <- read.table(text= gaussStr, sep="\t", header=FALSE)
-
- scatterplot3d(data, color="green")
-
-![A neat plot](zeppelin3.png)
\ No newline at end of file

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/docs/tutorials/misc/mahout-in-zeppelin/zeppelin1.png b/website-old/docs/tutorials/misc/mahout-in-zeppelin/zeppelin1.png
deleted file mode 100644
index 54fcbc2..0000000
Binary files a/website-old/docs/tutorials/misc/mahout-in-zeppelin/zeppelin1.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/docs/tutorials/misc/mahout-in-zeppelin/zeppelin2.png b/website-old/docs/tutorials/misc/mahout-in-zeppelin/zeppelin2.png
deleted file mode 100644
index 724cf7a..0000000
Binary files a/website-old/docs/tutorials/misc/mahout-in-zeppelin/zeppelin2.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/docs/tutorials/misc/mahout-in-zeppelin/zeppelin3.png b/website-old/docs/tutorials/misc/mahout-in-zeppelin/zeppelin3.png
deleted file mode 100644
index 2136c5b..0000000
Binary files a/website-old/docs/tutorials/misc/mahout-in-zeppelin/zeppelin3.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/docs/tutorials/samsara/classify-a-doc-from-the-shell.md
----------------------------------------------------------------------
diff --git a/website-old/docs/tutorials/samsara/classify-a-doc-from-the-shell.md b/website-old/docs/tutorials/samsara/classify-a-doc-from-the-shell.md
deleted file mode 100644
index 8a49903..0000000
--- a/website-old/docs/tutorials/samsara/classify-a-doc-from-the-shell.md
+++ /dev/null
@@ -1,258 +0,0 @@
----
-layout: tutorial
-title: Text Classification Example
-theme:
- name: mahout2
----
-
-# Building a text classifier in Mahout's Spark Shell
-
-This tutorial will take you through the steps used to train a Multinomial Naive Bayes model and create a text classifier based on that model using the ```mahout spark-shell```.
-
-## Prerequisites
-This tutorial assumes that you have your Spark environment variables set for the ```mahout spark-shell``` see: [Playing with Mahout's Shell](http://mahout.apache.org/users/sparkbindings/play-with-shell.html). As well we assume that Mahout is running in cluster mode (i.e. with the ```MAHOUT_LOCAL``` environment variable **unset**) as we'll be reading and writing to HDFS.
-
-## Downloading and Vectorizing the Wikipedia dataset
-*As of Mahout v. 0.10.0, we are still reliant on the MapReduce versions of ```mahout seqwiki``` and ```mahout seq2sparse``` to extract and vectorize our text. A* [*Spark implementation of seq2sparse*](https://issues.apache.org/jira/browse/MAHOUT-1663) *is in the works for Mahout v. 0.11.* However, to download the Wikipedia dataset, extract the bodies of the documentation, label each document and vectorize the text into TF-IDF vectors, we can simpmly run the [wikipedia-classifier.sh](https://github.com/apache/mahout/blob/master/examples/bin/classify-wikipedia.sh) example.
-
- Please select a number to choose the corresponding task to run
- 1. CBayes (may require increased heap space on yarn)
- 2. BinaryCBayes
- 3. clean -- cleans up the work area in /tmp/mahout-work-wiki
- Enter your choice :
-
-Enter (2). This will download a large recent XML dump of the Wikipedia database, into a ```/tmp/mahout-work-wiki``` directory, unzip it and place it into HDFS. It will run a [MapReduce job to parse the wikipedia set](http://mahout.apache.org/users/classification/wikipedia-classifier-example.html), extracting and labeling only pages with category tags for [United States] and [United Kingdom] (~11600 documents). It will then run ```mahout seq2sparse``` to convert the documents into TF-IDF vectors. The script will also a build and test a [Naive Bayes model using MapReduce](http://mahout.apache.org/users/classification/bayesian.html). When it is completed, you should see a confusion matrix on your screen. For this tutorial, we will ignore the MapReduce model, and build a new model using Spark based on the vectorized text output by ```seq2sparse```.
-
-## Getting Started
-
-Launch the ```mahout spark-shell```. There is an example script: ```spark-document-classifier.mscala``` (.mscala denotes a Mahout-Scala script which can be run similarly to an R script). We will be walking through this script for this tutorial but if you wanted to simply run the script, you could just issue the command:
-
- mahout> :load /path/to/mahout/examples/bin/spark-document-classifier.mscala
-
-For now, lets take the script apart piece by piece. You can cut and paste the following code blocks into the ```mahout spark-shell```.
-
-## Imports
-
-Our Mahout Naive Bayes imports:
-
- import org.apache.mahout.classifier.naivebayes._
- import org.apache.mahout.classifier.stats._
- import org.apache.mahout.nlp.tfidf._
-
-Hadoop imports needed to read our dictionary:
-
- import org.apache.hadoop.io.Text
- import org.apache.hadoop.io.IntWritable
- import org.apache.hadoop.io.LongWritable
-
-## Read in our full set from HDFS as vectorized by seq2sparse in classify-wikipedia.sh
-
- val pathToData = "/tmp/mahout-work-wiki/"
- val fullData = drmDfsRead(pathToData + "wikipediaVecs/tfidf-vectors")
-
-## Extract the category of each observation and aggregate those observations by category
-
- val (labelIndex, aggregatedObservations) = SparkNaiveBayes.extractLabelsAndAggregateObservations(
- fullData)
-
-## Build a Muitinomial Naive Bayes model and self test on the training set
-
- val model = SparkNaiveBayes.train(aggregatedObservations, labelIndex, false)
- val resAnalyzer = SparkNaiveBayes.test(model, fullData, false)
- println(resAnalyzer)
-
-printing the ```ResultAnalyzer``` will display the confusion matrix.
-
-## Read in the dictionary and document frequency count from HDFS
-
- val dictionary = sdc.sequenceFile(pathToData + "wikipediaVecs/dictionary.file-0",
- classOf[Text],
- classOf[IntWritable])
- val documentFrequencyCount = sdc.sequenceFile(pathToData + "wikipediaVecs/df-count",
- classOf[IntWritable],
- classOf[LongWritable])
-
- // setup the dictionary and document frequency count as maps
- val dictionaryRDD = dictionary.map {
- case (wKey, wVal) => wKey.asInstanceOf[Text]
- .toString() -> wVal.get()
- }
-
- val documentFrequencyCountRDD = documentFrequencyCount.map {
- case (wKey, wVal) => wKey.asInstanceOf[IntWritable]
- .get() -> wVal.get()
- }
-
- val dictionaryMap = dictionaryRDD.collect.map(x => x._1.toString -> x._2.toInt).toMap
- val dfCountMap = documentFrequencyCountRDD.collect.map(x => x._1.toInt -> x._2.toLong).toMap
-
-## Define a function to tokenize and vectorize new text using our current dictionary
-
-For this simple example, our function ```vectorizeDocument(...)``` will tokenize a new document into unigrams using native Java String methods and vectorize using our dictionary and document frequencies. You could also use a [Lucene](https://lucene.apache.org/core/) analyzer for bigrams, trigrams, etc., and integrate Apache [Tika](https://tika.apache.org/) to extract text from different document types (PDF, PPT, XLS, etc.). Here, however we will keep it simple, stripping and tokenizing our text using regexs and native String methods.
-
- def vectorizeDocument(document: String,
- dictionaryMap: Map[String,Int],
- dfMap: Map[Int,Long]): Vector = {
- val wordCounts = document.replaceAll("[^\\p{L}\\p{Nd}]+", " ")
- .toLowerCase
- .split(" ")
- .groupBy(identity)
- .mapValues(_.length)
- val vec = new RandomAccessSparseVector(dictionaryMap.size)
- val totalDFSize = dfMap(-1)
- val docSize = wordCounts.size
- for (word <- wordCounts) {
- val term = word._1
- if (dictionaryMap.contains(term)) {
- val tfidf: TermWeight = new TFIDF()
- val termFreq = word._2
- val dictIndex = dictionaryMap(term)
- val docFreq = dfCountMap(dictIndex)
- val currentTfIdf = tfidf.calculate(termFreq,
- docFreq.toInt,
- docSize,
- totalDFSize.toInt)
- vec.setQuick(dictIndex, currentTfIdf)
- }
- }
- vec
- }
-
-## Setup our classifier
-
- val labelMap = model.labelIndex
- val numLabels = model.numLabels
- val reverseLabelMap = labelMap.map(x => x._2 -> x._1)
-
- // instantiate the correct type of classifier
- val classifier = model.isComplementary match {
- case true => new ComplementaryNBClassifier(model)
- case _ => new StandardNBClassifier(model)
- }
-
-## Define an argmax function
-
-The label with the highest score wins the classification for a given document.
-
- def argmax(v: Vector): (Int, Double) = {
- var bestIdx: Int = Integer.MIN_VALUE
- var bestScore: Double = Integer.MIN_VALUE.asInstanceOf[Int].toDouble
- for(i <- 0 until v.size) {
- if(v(i) > bestScore){
- bestScore = v(i)
- bestIdx = i
- }
- }
- (bestIdx, bestScore)
- }
-
-## Define our TF(-IDF) vector classifier
-
- def classifyDocument(clvec: Vector) : String = {
- val cvec = classifier.classifyFull(clvec)
- val (bestIdx, bestScore) = argmax(cvec)
- reverseLabelMap(bestIdx)
- }
-
-## Two sample news articles: United States Football and United Kingdom Football
-
- // A random United States football article
- // http://www.reuters.com/article/2015/01/28/us-nfl-superbowl-security-idUSKBN0L12JR20150128
- val UStextToClassify = new String("(Reuters) - Super Bowl security officials acknowledge" +
- " the NFL championship game represents a high profile target on a world stage but are" +
- " unaware of any specific credible threats against Sunday's showcase. In advance of" +
- " one of the world's biggest single day sporting events, Homeland Security Secretary" +
- " Jeh Johnson was in Glendale on Wednesday to review security preparations and tour" +
- " University of Phoenix Stadium where the Seattle Seahawks and New England Patriots" +
- " will battle. Deadly shootings in Paris and arrest of suspects in Belgium, Greece and" +
- " Germany heightened fears of more attacks around the world and social media accounts" +
- " linked to Middle East militant groups have carried a number of threats to attack" +
- " high-profile U.S. events. There is no specific credible threat, said Johnson, who" +
- " has appointed a federal coordination team to work with local, state and federal" +
- " agencies to ensure safety of fans, players and other workers associated with the" +
- " Super Bowl. I'm confident we will have a safe and secure and successful event." +
- " Sunday's game has been given a Special Event Assessment Rating (SEAR) 1 rating, the" +
- " same as in previous years, except for the year after the Sept. 11, 2001 attacks, when" +
- " a higher level was declared. But security will be tight and visible around Super" +
- " Bowl-related events as well as during the game itself. All fans will pass through" +
- " metal detectors and pat downs. Over 4,000 private security personnel will be deployed" +
- " and the almost 3,000 member Phoenix police force will be on Super Bowl duty. Nuclear" +
- " device sniffing teams will be deployed and a network of Bio-Watch detectors will be" +
- " set up to provide a warning in the event of a biological attack. The Department of" +
- " Homeland Security (DHS) said in a press release it had held special cyber-security" +
- " and anti-sniper training sessions. A U.S. official said the Transportation Security" +
- " Administration, which is responsible for screening airline passengers, will add" +
- " screeners and checkpoint lanes at airports. Federal air marshals, behavior detection" +
- " officers and dog teams will help to secure transportation systems in the area. We" +
- " will be ramping it (security) up on Sunday, there is no doubt about that, said Federal"+
- " Coordinator Matthew Allen, the DHS point of contact for planning and support. I have" +
- " every confidence the public safety agencies that represented in the planning process" +
- " are going to have their best and brightest out there this weekend and we will have" +
- " a very safe Super Bowl.")
-
- // A random United Kingdom football article
- // http://www.reuters.com/article/2015/01/26/manchester-united-swissquote-idUSL6N0V52RZ20150126
- val UKtextToClassify = new String("(Reuters) - Manchester United have signed a sponsorship" +
- " deal with online financial trading company Swissquote, expanding the commercial" +
- " partnerships that have helped to make the English club one of the richest teams in" +
- " world soccer. United did not give a value for the deal, the club's first in the sector," +
- " but said on Monday it was a multi-year agreement. The Premier League club, 20 times" +
- " English champions, claim to have 659 million followers around the globe, making the" +
- " United name attractive to major brands like Chevrolet cars and sportswear group Adidas." +
- " Swissquote said the global deal would allow it to use United's popularity in Asia to" +
- " help it meet its targets for expansion in China. Among benefits from the deal," +
- " Swissquote's clients will have a chance to meet United players and get behind the scenes" +
- " at the Old Trafford stadium. Swissquote is a Geneva-based online trading company that" +
- " allows retail investors to buy and sell foreign exchange, equities, bonds and other asset" +
- " classes. Like other retail FX brokers, Swissquote was left nursing losses on the Swiss" +
- " franc after Switzerland's central bank stunned markets this month by abandoning its cap" +
- " on the currency. The fallout from the abrupt move put rival and West Ham United shirt" +
- " sponsor Alpari UK into administration. Swissquote itself was forced to book a 25 million" +
- " Swiss francs ($28 million) provision for its clients who were left out of pocket" +
- " following the franc's surge. United's ability to grow revenues off the pitch has made" +
- " them the second richest club in the world behind Spain's Real Madrid, despite a" +
- " downturn in their playing fortunes. United Managing Director Richard Arnold said" +
- " there was still lots of scope for United to develop sponsorships in other areas of" +
- " business. The last quoted statistics that we had showed that of the top 25 sponsorship" +
- " categories, we were only active in 15 of those, Arnold told Reuters. I think there is a" +
- " huge potential still for the club, and the other thing we have seen is there is very" +
- " significant growth even within categories. United have endured a tricky transition" +
- " following the retirement of manager Alex Ferguson in 2013, finishing seventh in the" +
- " Premier League last season and missing out on a place in the lucrative Champions League." +
- " ($1 = 0.8910 Swiss francs) (Writing by Neil Maidment, additional reporting by Jemima" +
- " Kelly; editing by Keith Weir)")
-
-## Vectorize and classify our documents
-
- val usVec = vectorizeDocument(UStextToClassify, dictionaryMap, dfCountMap)
- val ukVec = vectorizeDocument(UKtextToClassify, dictionaryMap, dfCountMap)
-
- println("Classifying the news article about superbowl security (united states)")
- classifyDocument(usVec)
-
- println("Classifying the news article about Manchester United (united kingdom)")
- classifyDocument(ukVec)
-
-## Tie everything together in a new method to classify text
-
- def classifyText(txt: String): String = {
- val v = vectorizeDocument(txt, dictionaryMap, dfCountMap)
- classifyDocument(v)
- }
-
-## Now we can simply call our classifyText(...) method on any String
-
- classifyText("Hello world from Queens")
- classifyText("Hello world from London")
-
-## Model persistance
-
-You can save the model to HDFS:
-
- model.dfsWrite("/path/to/model")
-
-And retrieve it with:
-
- val model = NBModel.dfsRead("/path/to/model")
-
-The trained model can now be embedded in an external application.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/docs/tutorials/samsara/play-with-shell.md
----------------------------------------------------------------------
diff --git a/website-old/docs/tutorials/samsara/play-with-shell.md b/website-old/docs/tutorials/samsara/play-with-shell.md
deleted file mode 100644
index a01f23c..0000000
--- a/website-old/docs/tutorials/samsara/play-with-shell.md
+++ /dev/null
@@ -1,199 +0,0 @@
----
-layout: tutorial
-title: Mahout Samsara In Core
-theme:
- name: mahout2
----
-# Playing with Mahout's Spark Shell
-
-This tutorial will show you how to play with Mahout's scala DSL for linear algebra and its Spark shell. **Please keep in mind that this code is still in a very early experimental stage**.
-
-_(Edited for 0.10.2)_
-
-## Intro
-
-We'll use an excerpt of a publicly available [dataset about cereals](http://lib.stat.cmu.edu/DASL/Datafiles/Cereals.html). The dataset tells the protein, fat, carbohydrate and sugars (in milligrams) contained in a set of cereals, as well as a customer rating for the cereals. Our aim for this example is to fit a linear model which infers the customer rating from the ingredients.
-
-
-Name | protein | fat | carbo | sugars | rating
-:-----------------------|:--------|:----|:------|:-------|:---------
-Apple Cinnamon Cheerios | 2 | 2 | 10.5 | 10 | 29.509541
-Cap'n'Crunch | 1 | 2 | 12 | 12 | 18.042851
-Cocoa Puffs | 1 | 1 | 12 | 13 | 22.736446
-Froot Loops | 2 | 1 | 11 | 13 | 32.207582
-Honey Graham Ohs | 1 | 2 | 12 | 11 | 21.871292
-Wheaties Honey Gold | 2 | 1 | 16 | 8 | 36.187559
-Cheerios | 6 | 2 | 17 | 1 | 50.764999
-Clusters | 3 | 2 | 13 | 7 | 40.400208
-Great Grains Pecan | 3 | 3 | 13 | 4 | 45.811716
-
-
-## Installing Mahout & Spark on your local machine
-
-We describe how to do a quick toy setup of Spark & Mahout on your local machine, so that you can run this example and play with the shell.
-
- 1. Download [Apache Spark 1.6.2](http://d3kbcqa49mib13.cloudfront.net/spark-1.6.2-bin-hadoop2.6.tgz) and unpack the archive file
- 1. Change to the directory where you unpacked Spark and type ```sbt/sbt assembly``` to build it
- 1. Create a directory for Mahout somewhere on your machine, change to there and checkout the master branch of Apache Mahout from GitHub ```git clone https://github.com/apache/mahout mahout```
- 1. Change to the ```mahout``` directory and build mahout using ```mvn -DskipTests clean install```
-
-## Starting Mahout's Spark shell
-
- 1. Goto the directory where you unpacked Spark and type ```sbin/start-all.sh``` to locally start Spark
- 1. Open a browser, point it to [http://localhost:8080/](http://localhost:8080/) to check whether Spark successfully started. Copy the url of the spark master at the top of the page (it starts with **spark://**)
- 1. Define the following environment variables: <pre class="codehilite">export MAHOUT_HOME=[directory into which you checked out Mahout]
-export SPARK_HOME=[directory where you unpacked Spark]
-export MASTER=[url of the Spark master]
-</pre>
- 1. Finally, change to the directory where you unpacked Mahout and type ```bin/mahout spark-shell```,
-you should see the shell starting and get the prompt ```mahout> ```. Check
-[FAQ](http://mahout.apache.org/users/sparkbindings/faq.html) for further troubleshooting.
-
-## Implementation
-
-We'll use the shell to interactively play with the data and incrementally implement a simple [linear regression](https://en.wikipedia.org/wiki/Linear_regression) algorithm. Let's first load the dataset. Usually, we wouldn't need Mahout unless we processed a large dataset stored in a distributed filesystem. But for the sake of this example, we'll use our tiny toy dataset and "pretend" it was too big to fit onto a single machine.
-
-*Note: You can incrementally follow the example by copy-and-pasting the code into your running Mahout shell.*
-
-Mahout's linear algebra DSL has an abstraction called *DistributedRowMatrix (DRM)* which models a matrix that is partitioned by rows and stored in the memory of a cluster of machines. We use ```dense()``` to create a dense in-memory matrix from our toy dataset and use ```drmParallelize``` to load it into the cluster, "mimicking" a large, partitioned dataset.
-
-<div class="codehilite"><pre>
-val drmData = drmParallelize(dense(
- (2, 2, 10.5, 10, 29.509541), // Apple Cinnamon Cheerios
- (1, 2, 12, 12, 18.042851), // Cap'n'Crunch
- (1, 1, 12, 13, 22.736446), // Cocoa Puffs
- (2, 1, 11, 13, 32.207582), // Froot Loops
- (1, 2, 12, 11, 21.871292), // Honey Graham Ohs
- (2, 1, 16, 8, 36.187559), // Wheaties Honey Gold
- (6, 2, 17, 1, 50.764999), // Cheerios
- (3, 2, 13, 7, 40.400208), // Clusters
- (3, 3, 13, 4, 45.811716)), // Great Grains Pecan
- numPartitions = 2);
-</pre></div>
-
-Have a look at this matrix. The first four columns represent the ingredients
-(our features) and the last column (the rating) is the target variable for
-our regression. [Linear regression](https://en.wikipedia.org/wiki/Linear_regression)
-assumes that the **target variable** `\(\mathbf{y}\)` is generated by the
-linear combination of **the feature matrix** `\(\mathbf{X}\)` with the
-**parameter vector** `\(\boldsymbol{\beta}\)` plus the
- **noise** `\(\boldsymbol{\varepsilon}\)`, summarized in the formula
-`\(\mathbf{y}=\mathbf{X}\boldsymbol{\beta}+\boldsymbol{\varepsilon}\)`.
-Our goal is to find an estimate of the parameter vector
-`\(\boldsymbol{\beta}\)` that explains the data very well.
-
-As a first step, we extract `\(\mathbf{X}\)` and `\(\mathbf{y}\)` from our data matrix. We get *X* by slicing: we take all rows (denoted by ```::```) and the first four columns, which have the ingredients in milligrams as content. Note that the result is again a DRM. The shell will not execute this code yet, it saves the history of operations and defers the execution until we really access a result. **Mahout's DSL automatically optimizes and parallelizes all operations on DRMs and runs them on Apache Spark.**
-
-<div class="codehilite"><pre>
-val drmX = drmData(::, 0 until 4)
-</pre></div>
-
-Next, we extract the target variable vector *y*, the fifth column of the data matrix. We assume this one fits into our driver machine, so we fetch it into memory using ```collect```:
-
-<div class="codehilite"><pre>
-val y = drmData.collect(::, 4)
-</pre></div>
-
-Now we are ready to think about a mathematical way to estimate the parameter vector *β*. A simple textbook approach is [ordinary least squares (OLS)](https://en.wikipedia.org/wiki/Ordinary_least_squares), which minimizes the sum of residual squares between the true target variable and the prediction of the target variable. In OLS, there is even a closed form expression for estimating `\(\boldsymbol{\beta}\)` as
-`\(\left(\mathbf{X}^{\top}\mathbf{X}\right)^{-1}\mathbf{X}^{\top}\mathbf{y}\)`.
-
-The first thing which we compute for this is `\(\mathbf{X}^{\top}\mathbf{X}\)`. The code for doing this in Mahout's scala DSL maps directly to the mathematical formula. The operation ```.t()``` transposes a matrix and analogous to R ```%*%``` denotes matrix multiplication.
-
-<div class="codehilite"><pre>
-val drmXtX = drmX.t %*% drmX
-</pre></div>
-
-The same is true for computing `\(\mathbf{X}^{\top}\mathbf{y}\)`. We can simply type the math in scala expressions into the shell. Here, *X* lives in the cluster, while is *y* in the memory of the driver, and the result is a DRM again.
-<div class="codehilite"><pre>
-val drmXty = drmX.t %*% y
-</pre></div>
-
-We're nearly done. The next step we take is to fetch `\(\mathbf{X}^{\top}\mathbf{X}\)` and
-`\(\mathbf{X}^{\top}\mathbf{y}\)` into the memory of our driver machine (we are targeting
-features matrices that are tall and skinny ,
-so we can assume that `\(\mathbf{X}^{\top}\mathbf{X}\)` is small enough
-to fit in). Then, we provide them to an in-memory solver (Mahout provides
-the an analog to R's ```solve()``` for that) which computes ```beta```, our
-OLS estimate of the parameter vector `\(\boldsymbol{\beta}\)`.
-
-<div class="codehilite"><pre>
-val XtX = drmXtX.collect
-val Xty = drmXty.collect(::, 0)
-
-val beta = solve(XtX, Xty)
-</pre></div>
-
-That's it! We have a implemented a distributed linear regression algorithm
-on Apache Spark. I hope you agree that we didn't have to worry a lot about
-parallelization and distributed systems. The goal of Mahout's linear algebra
-DSL is to abstract away the ugliness of programming a distributed system
-as much as possible, while still retaining decent performance and
-scalability.
-
-We can now check how well our model fits its training data.
-First, we multiply the feature matrix `\(\mathbf{X}\)` by our estimate of
-`\(\boldsymbol{\beta}\)`. Then, we look at the difference (via L2-norm) of
-the target variable `\(\mathbf{y}\)` to the fitted target variable:
-
-<div class="codehilite"><pre>
-val yFitted = (drmX %*% beta).collect(::, 0)
-(y - yFitted).norm(2)
-</pre></div>
-
-We hope that we could show that Mahout's shell allows people to interactively and incrementally write algorithms. We have entered a lot of individual commands, one-by-one, until we got the desired results. We can now refactor a little by wrapping our statements into easy-to-use functions. The definition of functions follows standard scala syntax.
-
-We put all the commands for ordinary least squares into a function ```ols```.
-
-<div class="codehilite"><pre>
-def ols(drmX: DrmLike[Int], y: Vector) =
- solve(drmX.t %*% drmX, drmX.t %*% y)(::, 0)
-
-</pre></div>
-
-Note that DSL declares implicit `collect` if coersion rules require an in-core argument. Hence, we can simply
-skip explicit `collect`s.
-
-Next, we define a function ```goodnessOfFit``` that tells how well a model fits the target variable:
-
-<div class="codehilite"><pre>
-def goodnessOfFit(drmX: DrmLike[Int], beta: Vector, y: Vector) = {
- val fittedY = (drmX %*% beta).collect(::, 0)
- (y - fittedY).norm(2)
-}
-</pre></div>
-
-So far we have left out an important aspect of a standard linear regression
-model. Usually there is a constant bias term added to the model. Without
-that, our model always crosses through the origin and we only learn the
-right angle. An easy way to add such a bias term to our model is to add a
-column of ones to the feature matrix `\(\mathbf{X}\)`.
-The corresponding weight in the parameter vector will then be the bias term.
-
-Here is how we add a bias column:
-
-<div class="codehilite"><pre>
-val drmXwithBiasColumn = drmX cbind 1
-</pre></div>
-
-Now we can give the newly created DRM ```drmXwithBiasColumn``` to our model fitting method ```ols``` and see how well the resulting model fits the training data with ```goodnessOfFit```. You should see a large improvement in the result.
-
-<div class="codehilite"><pre>
-val betaWithBiasTerm = ols(drmXwithBiasColumn, y)
-goodnessOfFit(drmXwithBiasColumn, betaWithBiasTerm, y)
-</pre></div>
-
-As a further optimization, we can make use of the DSL's caching functionality. We use ```drmXwithBiasColumn``` repeatedly as input to a computation, so it might be beneficial to cache it in memory. This is achieved by calling ```checkpoint()```. In the end, we remove it from the cache with uncache:
-
-<div class="codehilite"><pre>
-val cachedDrmX = drmXwithBiasColumn.checkpoint()
-
-val betaWithBiasTerm = ols(cachedDrmX, y)
-val goodness = goodnessOfFit(cachedDrmX, betaWithBiasTerm, y)
-
-cachedDrmX.uncache()
-
-goodness
-</pre></div>
-
-
-Liked what you saw? Checkout Mahout's overview for the [Scala and Spark bindings]({{ BASE_PATH }}/distributed/spark-bindings).
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/docs/tutorials/samsara/playing-with-samsara-flink-batch.md
----------------------------------------------------------------------
diff --git a/website-old/docs/tutorials/samsara/playing-with-samsara-flink-batch.md b/website-old/docs/tutorials/samsara/playing-with-samsara-flink-batch.md
deleted file mode 100644
index 752f01c..0000000
--- a/website-old/docs/tutorials/samsara/playing-with-samsara-flink-batch.md
+++ /dev/null
@@ -1,111 +0,0 @@
----
-layout: tutorial
-title:
-theme:
- name: retro-mahout
----
-
-## Getting Started
-
-To get started, add the following dependency to the pom:
-
- <dependency>
- <groupId>org.apache.mahout</groupId>
- <artifactId>mahout-flink_2.10</artifactId>
- <version>0.12.0</version>
- </dependency>
-
-Here is how to use the Flink backend:
-
- import org.apache.flink.api.scala._
- import org.apache.mahout.math.drm._
- import org.apache.mahout.math.drm.RLikeDrmOps._
- import org.apache.mahout.flinkbindings._
-
- object ReadCsvExample {
-
- def main(args: Array[String]): Unit = {
- val filePath = "path/to/the/input/file"
-
- val env = ExecutionEnvironment.getExecutionEnvironment
- implicit val ctx = new FlinkDistributedContext(env)
-
- val drm = readCsv(filePath, delim = "\t", comment = "#")
- val C = drm.t %*% drm
- println(C.collect)
- }
-
- }
-
-## Current Status
-
-The top JIRA for Flink backend is [MAHOUT-1570](https://issues.apache.org/jira/browse/MAHOUT-1570) which has been fully implemented.
-
-### Implemented
-
-* [MAHOUT-1701](https://issues.apache.org/jira/browse/MAHOUT-1701) Mahout DSL for Flink: implement AtB ABt and AtA operators
-* [MAHOUT-1702](https://issues.apache.org/jira/browse/MAHOUT-1702) implement element-wise operators (like `A + 2` or `A + B`)
-* [MAHOUT-1703](https://issues.apache.org/jira/browse/MAHOUT-1703) implement `cbind` and `rbind`
-* [MAHOUT-1709](https://issues.apache.org/jira/browse/MAHOUT-1709) implement slicing (like `A(1 to 10, ::)`)
-* [MAHOUT-1710](https://issues.apache.org/jira/browse/MAHOUT-1710) implement right in-core matrix multiplication (`A %*% B` when `B` is in-core)
-* [MAHOUT-1711](https://issues.apache.org/jira/browse/MAHOUT-1711) implement broadcasting
-* [MAHOUT-1712](https://issues.apache.org/jira/browse/MAHOUT-1712) implement operators `At`, `Ax`, `Atx` - `Ax` and `At` are implemented
-* [MAHOUT-1734](https://issues.apache.org/jira/browse/MAHOUT-1734) implement I/O - should be able to read results of Flink bindings
-* [MAHOUT-1747](https://issues.apache.org/jira/browse/MAHOUT-1747) add support for different types of indexes (String, long, etc) - now supports `Int`, `Long` and `String`
-* [MAHOUT-1748](https://issues.apache.org/jira/browse/MAHOUT-1748) switch to Flink Scala API
-* [MAHOUT-1749](https://issues.apache.org/jira/browse/MAHOUT-1749) Implement `Atx`
-* [MAHOUT-1750](https://issues.apache.org/jira/browse/MAHOUT-1750) Implement `ABt`
-* [MAHOUT-1751](https://issues.apache.org/jira/browse/MAHOUT-1751) Implement `AtA`
-* [MAHOUT-1755](https://issues.apache.org/jira/browse/MAHOUT-1755) Flush intermediate results to FS - Flink, unlike Spark, does not store intermediate results in memory.
-* [MAHOUT-1764](https://issues.apache.org/jira/browse/MAHOUT-1764) Add standard backend tests for Flink
-* [MAHOUT-1765](https://issues.apache.org/jira/browse/MAHOUT-1765) Add documentation about Flink backend
-* [MAHOUT-1776](https://issues.apache.org/jira/browse/MAHOUT-1776) Refactor common Engine agnostic classes to Math-Scala module
-* [MAHOUT-1777](https://issues.apache.org/jira/browse/MAHOUT-1777) move HDFSUtil classes into the HDFS module
-* [MAHOUT-1804](https://issues.apache.org/jira/browse/MAHOUT-1804) Implement drmParallelizeWithRowLabels(..) in Flink
-* [MAHOUT-1805](https://issues.apache.org/jira/browse/MAHOUT-1805) Implement allReduceBlock(..) in Flink bindings
-* [MAHOUT-1809](https://issues.apache.org/jira/browse/MAHOUT-1809) Failing tests in flin-bindings: dals and dspca
-* [MAHOUT-1810](https://issues.apache.org/jira/browse/MAHOUT-1810) Failing test in flink-bindings: A + B Identically partitioned (mapBlock Checkpointing issue)
-* [MAHOUT-1812](https://issues.apache.org/jira/browse/MAHOUT-1812) Implement drmParallelizeWithEmptyLong(..) in flink bindings
-* [MAHOUT-1814](https://issues.apache.org/jira/browse/MAHOUT-1814) Implement drm2intKeyed in flink bindings
-* [MAHOUT-1815](https://issues.apache.org/jira/browse/MAHOUT-1815) dsqDist(X,Y) and dsqDist(X) failing in flink tests
-* [MAHOUT-1816](https://issues.apache.org/jira/browse/MAHOUT-1816) Implement newRowCardinality in CheckpointedFlinkDrm
-* [MAHOUT-1817](https://issues.apache.org/jira/browse/MAHOUT-1817) Implement caching in Flink Bindings
-* [MAHOUT-1818](https://issues.apache.org/jira/browse/MAHOUT-1818) dals test failing in Flink Bindings
-* [MAHOUT-1819](https://issues.apache.org/jira/browse/MAHOUT-1819) Set the default Parallelism for Flink execution in FlinkDistributedContext
-* [MAHOUT-1820](https://issues.apache.org/jira/browse/MAHOUT-1820) Add a method to generate Tuple<PartitionId, Partition elements count>> to support Flink backend
-* [MAHOUT-1821](https://issues.apache.org/jira/browse/MAHOUT-1821) Use a mahout-flink-conf.yaml configuration file for Mahout specific Flink configuration
-* [MAHOUT-1822](https://issues.apache.org/jira/browse/MAHOUT-1822) Update NOTICE.txt, License.txt to add Apache Flink
-* [MAHOUT-1823](https://issues.apache.org/jira/browse/MAHOUT-1823) Modify MahoutFlinkTestSuite to implement FlinkTestBase
-* [MAHOUT-1824](https://issues.apache.org/jira/browse/MAHOUT-1824) Optimize FlinkOpAtA to use upper triangular matrices
-* [MAHOUT-1825](https://issues.apache.org/jira/browse/MAHOUT-1825) Add List of Flink algorithms to Mahout wiki page
-
-### Tests
-
-There is a set of standard tests that all engines should pass (see [MAHOUT-1764](https://issues.apache.org/jira/browse/MAHOUT-1764)).
-
-* `DistributedDecompositionsSuite`
-* `DrmLikeOpsSuite`
-* `DrmLikeSuite`
-* `RLikeDrmOpsSuite`
-
-
-These are Flink-backend specific tests, e.g.
-
-* `DrmLikeOpsSuite` for operations like `norm`, `rowSums`, `rowMeans`
-* `RLikeOpsSuite` for basic LA like `A.t %*% A`, `A.t %*% x`, etc
-* `LATestSuite` tests for specific operators like `AtB`, `Ax`, etc
-* `UseCasesSuite` has more complex examples, like power iteration, ridge regression, etc
-
-## Environment
-
-For development the minimal supported configuration is
-
-* [JDK 1.7](http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html)
-* [Scala 2.10]
-
-When using mahout, please import the following modules:
-
-* `mahout-math`
-* `mahout-math-scala`
-* `mahout-flink_2.10`
-*
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/docs/tutorials/samsara/spark-naive-bayes.md
----------------------------------------------------------------------
diff --git a/website-old/docs/tutorials/samsara/spark-naive-bayes.md b/website-old/docs/tutorials/samsara/spark-naive-bayes.md
deleted file mode 100644
index 3c24fff..0000000
--- a/website-old/docs/tutorials/samsara/spark-naive-bayes.md
+++ /dev/null
@@ -1,132 +0,0 @@
----
-layout: tutorial
-title: Spark Naive Bayes
-theme:
- name: retro-mahout
----
-
-# Spark Naive Bayes
-
-
-## Intro
-
-Mahout currently has two flavors of Naive Bayes. The first is standard Multinomial Naive Bayes. The second is an implementation of Transformed Weight-normalized Complement Naive Bayes as introduced by Rennie et al. [[1]](http://people.csail.mit.edu/jrennie/papers/icml03-nb.pdf). We refer to the former as Bayes and the latter as CBayes.
-
-Where Bayes has long been a standard in text classification, CBayes is an extension of Bayes that performs particularly well on datasets with skewed classes and has been shown to be competitive with algorithms of higher complexity such as Support Vector Machines.
-
-
-## Implementations
-The mahout `math-scala` library has an implemetation of both Bayes and CBayes which is further optimized in the `spark` module. Currently the Spark optimized version provides CLI drivers for training and testing. Mahout Spark-Naive-Bayes models can also be trained, tested and saved to the filesystem from the Mahout Spark Shell.
-
-## Preprocessing and Algorithm
-
-As described in [[1]](http://people.csail.mit.edu/jrennie/papers/icml03-nb.pdf) Mahout Naive Bayes is broken down into the following steps (assignments are over all possible index values):
-
-- Let `\(\vec{d}=(\vec{d_1},...,\vec{d_n})\)` be a set of documents; `\(d_{ij}\)` is the count of word `\(i\)` in document `\(j\)`.
-- Let `\(\vec{y}=(y_1,...,y_n)\)` be their labels.
-- Let `\(\alpha_i\)` be a smoothing parameter for all words in the vocabulary; let `\(\alpha=\sum_i{\alpha_i}\)`.
-- **Preprocessing**(via seq2Sparse) TF-IDF transformation and L2 length normalization of `\(\vec{d}\)`
- 1. `\(d_{ij} = \sqrt{d_{ij}}\)`
- 2. `\(d_{ij} = d_{ij}\left(\log{\frac{\sum_k1}{\sum_k\delta_{ik}+1}}+1\right)\)`
- 3. `\(d_{ij} =\frac{d_{ij}}{\sqrt{\sum_k{d_{kj}^2}}}\)`
-- **Training: Bayes**`\((\vec{d},\vec{y})\)` calculate term weights `\(w_{ci}\)` as:
- 1. `\(\hat\theta_{ci}=\frac{d_{ic}+\alpha_i}{\sum_k{d_{kc}}+\alpha}\)`
- 2. `\(w_{ci}=\log{\hat\theta_{ci}}\)`
-- **Training: CBayes**`\((\vec{d},\vec{y})\)` calculate term weights `\(w_{ci}\)` as:
- 1. `\(\hat\theta_{ci} = \frac{\sum_{j:y_j\neq c}d_{ij}+\alpha_i}{\sum_{j:y_j\neq c}{\sum_k{d_{kj}}}+\alpha}\)`
- 2. `\(w_{ci}=-\log{\hat\theta_{ci}}\)`
- 3. `\(w_{ci}=\frac{w_{ci}}{\sum_i \lvert w_{ci}\rvert}\)`
-- **Label Assignment/Testing:**
- 1. Let `\(\vec{t}= (t_1,...,t_n)\)` be a test document; let `\(t_i\)` be the count of the word `\(t\)`.
- 2. Label the document according to `\(l(t)=\arg\max_c \sum\limits_{i} t_i w_{ci}\)`
-
-As we can see, the main difference between Bayes and CBayes is the weight calculation step. Where Bayes weighs terms more heavily based on the likelihood that they belong to class `\(c\)`, CBayes seeks to maximize term weights on the likelihood that they do not belong to any other class.
-
-## Running from the command line
-
-Mahout provides CLI drivers for all above steps. Here we will give a simple overview of Mahout CLI commands used to preprocess the data, train the model and assign labels to the training set. An [example script](https://github.com/apache/mahout/blob/master/examples/bin/classify-20newsgroups.sh) is given for the full process from data acquisition through classification of the classic [20 Newsgroups corpus](https://mahout.apache.org/users/classification/twenty-newsgroups.html).
-
-- **Preprocessing:**
-For a set of Sequence File Formatted documents in PATH_TO_SEQUENCE_FILES the [mahout seq2sparse](https://mahout.apache.org/users/basics/creating-vectors-from-text.html) command performs the TF-IDF transformations (-wt tfidf option) and L2 length normalization (-n 2 option) as follows:
-
- $ mahout seq2sparse
- -i ${PATH_TO_SEQUENCE_FILES}
- -o ${PATH_TO_TFIDF_VECTORS}
- -nv
- -n 2
- -wt tfidf
-
-- **Training:**
-The model is then trained using `mahout spark-trainnb`. The default is to train a Bayes model. The -c option is given to train a CBayes model:
-
- $ mahout spark-trainnb
- -i ${PATH_TO_TFIDF_VECTORS}
- -o ${PATH_TO_MODEL}
- -ow
- -c
-
-- **Label Assignment/Testing:**
-Classification and testing on a holdout set can then be performed via `mahout spark-testnb`. Again, the -c option indicates that the model is CBayes:
-
- $ mahout spark-testnb
- -i ${PATH_TO_TFIDF_TEST_VECTORS}
- -m ${PATH_TO_MODEL}
- -c
-
-## Command line options
-
-- **Preprocessing:** *note: still reliant on MapReduce seq2sparse*
-
- Only relevant parameters used for Bayes/CBayes as detailed above are shown. Several other transformations can be performed by `mahout seq2sparse` and used as input to Bayes/CBayes. For a full list of `mahout seq2Sparse` options see the [Creating vectors from text](https://mahout.apache.org/users/basics/creating-vectors-from-text.html) page.
-
- $ mahout seq2sparse
- --output (-o) output The directory pathname for output.
- --input (-i) input Path to job input directory.
- --weight (-wt) weight The kind of weight to use. Currently TF
- or TFIDF. Default: TFIDF
- --norm (-n) norm The norm to use, expressed as either a
- float or "INF" if you want to use the
- Infinite norm. Must be greater or equal
- to 0. The default is not to normalize
- --overwrite (-ow) If set, overwrite the output directory
- --sequentialAccessVector (-seq) (Optional) Whether output vectors should
- be SequentialAccessVectors. If set true
- else false
- --namedVector (-nv) (Optional) Whether output vectors should
- be NamedVectors. If set true else false
-
-- **Training:**
-
- $ mahout spark-trainnb
- --input (-i) input Path to job input directory.
- --output (-o) output The directory pathname for output.
- --trainComplementary (-c) Train complementary? Default is false.
- --master (-ma) Spark Master URL (optional). Default: "local".
- Note that you can specify the number of
- cores to get a performance improvement,
- for example "local[4]"
- --help (-h) Print out help
-
-- **Testing:**
-
- $ mahout spark-testnb
- --input (-i) input Path to job input directory.
- --model (-m) model The path to the model built during training.
- --testComplementary (-c) Test complementary? Default is false.
- --master (-ma) Spark Master URL (optional). Default: "local".
- Note that you can specify the number of
- cores to get a performance improvement,
- for example "local[4]"
- --help (-h) Print out help
-
-## Examples
-1. [20 Newsgroups classification](https://github.com/apache/mahout/blob/master/examples/bin/classify-20newsgroups.sh)
-2. [Document classification with Naive Bayes in the Mahout shell](https://github.com/apache/mahout/blob/master/examples/bin/spark-document-classifier.mscala)
-
-
-## References
-
-[1]: Jason D. M. Rennie, Lawerence Shih, Jamie Teevan, David Karger (2003). [Tackling the Poor Assumptions of Naive Bayes Text Classifiers](http://people.csail.mit.edu/jrennie/papers/icml03-nb.pdf). Proceedings of the Twentieth International Conference on Machine Learning (ICML-2003).
-
-
-

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/front/404.html
----------------------------------------------------------------------
diff --git a/website-old/front/404.html b/website-old/front/404.html
deleted file mode 100755
index 6904bcd..0000000
--- a/website-old/front/404.html
+++ /dev/null
@@ -1 +0,0 @@
-Sorry this page does not exist =(

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/front/Gemfile
----------------------------------------------------------------------
diff --git a/website-old/front/Gemfile b/website-old/front/Gemfile
deleted file mode 100755
index 301d29c..0000000
--- a/website-old/front/Gemfile
+++ /dev/null
@@ -1,5 +0,0 @@
-source "https://rubygems.org"
-
-gem "jekyll", "~> 3.1"
-gem "jekyll-sitemap"
-gem "pygments.rb"

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/front/README.md
----------------------------------------------------------------------
diff --git a/website-old/front/README.md b/website-old/front/README.md
deleted file mode 100755
index 2283543..0000000
--- a/website-old/front/README.md
+++ /dev/null
@@ -1,5 +0,0 @@
-### Landing Page
-
-Stil needs a lot of work...
-
-![landing](screenshots/landing.png)
\ No newline at end of file
a***@apache.org
2017-12-21 04:52:44 UTC
Permalink
http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/oldsite/css/global.css
----------------------------------------------------------------------
diff --git a/website-old/oldsite/css/global.css b/website-old/oldsite/css/global.css
deleted file mode 100644
index 318b577..0000000
--- a/website-old/oldsite/css/global.css
+++ /dev/null
@@ -1,938 +0,0 @@
-/**********************************
- The Apache Software Foundation
-
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements. See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership. The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied. See the License for the
- specific language governing permissions and limitations
- under the License.
-*********************************/
-
-/* Derived from: Open for Business Project Website */
-
-html, body, div, span, applet, object, iframe,
-h1, h2, h2, h4, h5, h6, p, blockquote, pre,
-a, abbr, acronym, address, big, cite, code,
-del, dfn, em, font, img, ins, kbd, q, s, samp,
-small, strike, strong, sub, sup, tt, var,
-b, u, i, center,
-dl, dt, dd, ol, ul, li,
-fieldset, form, label, legend,
-table, caption, tbody, tfoot, thead, tr, th, td {
- border:0;
- margin:0;
- outline:0;
- padding:0;
- background:transparent;
- vertical-align: baseline;
-}
-
-blockquote, q {
- quotes: none;
-}
-
-a, address, body, caption, cite, code, dfn, em, strong, th, var {
- font-style: normal;
- font-weight: normal;
- text-decoration: none;
-}
-
-em {
- font-style: italic;
-}
-
-strong {
- font-weight: bold;
-}
-
-a img {
- border: none;
-}
-
-table {
- border-collapse: collapse;
- border-spacing: 0;
-}
-
-* {margin:0;padding:0;}
-
-html, body, #wrap {height: 100%;}
-
-body > #wrap {height: auto; min-height: 100%;}
-
-body {
- color: #555;
- margin: 0;
- padding: 0;
- background-color: #cde9fc;
- text-align: center;
- font-family: Arial;
-}
-
-.clearfix:after {
- content: ".";
- display: block;
- height: 0;
- clear: both;
- visibility: hidden;
-}
-
-.clearfix {
- display: inline-block;
-}
-
-html[xmlns] .clearfix {
- display: block;
-}
-
-* html .clearfix {
- height: 1%;
-}
-
-.clearfix {
- display: block;
-}
-
-.clearLeft {
- clear:left;
-}
-
-a,a:active,a:link {
- text-decoration: none;
- color: #304c90;
-}
-
-a:visited {
- text-decoration: none;
-}
-
-a:hover {
- color: #304c90;
-}
-
-h1,h2,h2 {
- font-weight: 300;
- color: #555;
- line-height: 130%;
-}
-
-h1 {
- font-size: 200%;
- color: #895F30;
- padding: 20px 10px 5px 10px;
- margin: 0;
-}
-
-h2 {
- font-size: 1.5em;
- font-weight: normal;
- padding: 20px 10px 5px 10px;
- margin: 0;
-}
-
-h4 {
- padding: 20px 10px 5px;
-}
-
-p,dl {
- padding-left: 10px;
- padding-top: 5px;
- padding-bottom: 5px;
- margin: 0;
-}
-
-ul{
- /*margin: 10px 10px;*/
- /*padding: 0 0 0 10px;*/
- margin-left: 40px;
- margin-right: 20px;
-}
-
-ol {
- margin: 10px 30px;
- padding: 0;
-}
-
-dt {
- font-weight: bold;
- color: #b13f1a;
-}
-
-dd {
- padding-left: 25px;
-}
-
-img {
- border: none;
-}
-
-p img {
- background: #fafafa;
- border: 1px solid #dcdcdc;
- padding: 5px;
- margin:0 10px 0 0;
-}
-
-img.float-right {
- margin: 5px 0 10px 10px;
-}
-
-img.float-left {
- margin: 5px 10px 10px 0;
-}
-
-code {
- text-align: left;
- overflow: auto;
- font: 1em/ 1.5em 'Lucida Console', 'courier new', monospace;
- margin: 0px;
- border: 1px solid #DDD;
- background-color: #F8F8F8;
- border-radius: 3px;
- padding: 0px;
-}
-
-acronym {
- cursor: help;
- border-bottom: 1px dotted #895F30;
-}
-
-blockquote {
- margin: 15px 10px;
- padding: 10px 10px 10px 35px;
- border: 1px solid #ECF8FE;
- background: #ECF8FE no-repeat 10px 10px;
- font-weight: normal;
- font-size: 1.5em;
- line-height: 1.5em;
- font-style: italic;
- font-family: sans-serif;
- color: #976957;
-}
-
-table {
- border-collapse: collapse;
- margin: 15px 10px;
-}
-
-th {
- font-weight: bold;
- height: 16px;
- padding-left: 12px;
- padding-right: 12px;
- color: black;
- text-align: left;
-}
-
-tr {
- height: 34px;
-}
-
-td {
- padding-left: 11px;
- padding-right: 11px;
-}
-
-input,select {
- padding: 4px;
- font-size: 1em;
- font-weight: 300;
- color: #555;
-}
-
-input[type="search"] {
- width: 220px;
-}
-
-#sidebar-wrap {
- padding: 0 0 0 0px;
-}
-
-#sidebar ul.sidemenu {
- text-align: left;
- margin: 0 5px 8px 0;
- padding: 5px 0 0 0;
- text-decoration: none;
-}
-
-#sidebar ul.sidemenu li {
- list-style: none;
- background: repeat-x left bottom;
- padding: 4px 10px;
- margin: 0;
-}
-
-* html body #sidebar ul.sidemenu li {
- height: 1%;
-}
-
-#sidebar ul.sidemenu li a {
- text-decoration: none;
- background-image: none;
- background-color: transparent;
- border: none;
- color: #304c90;
- font-size: 1em;
- font-weight: 300;
- color: #555;
- background: #fff;
-}
-
-textarea {
- width: 400px;
- padding: 4px;
- font-size: 1em;
- font-weight: 300;
- height: 100px;
- display: block;
- color: #555;
-}
-
-input,textarea,select {
- background: #fff;
- border-width: 1px;
- border-style: solid;
- border-color: #D4D4D4 #ebebeb #ebebeb #d4d4d4;
-}
-
-input.button {
- font-size: 13px;
- font-weight: 500;
- height: 30px;
- margin: 0;
- padding: 2px 3px;
- color: #555;
- background: #E6E6E6;
- border-width: 1px;
- border-style: solid;
- border-color: #ebebeb #d4d4d4 #d4d4d4 #ebebeb;
-}
-
-.float-left {
- float: left;
-}
-
-.float-right {
- float: right;
-}
-
-.align-left {
- text-align: left;
-}
-
-.align-right {
- text-align: right;
-}
-
-.clearer {
- clear: both;
-}
-
-#wrap {
- width: 1200px;
- margin: 0 auto;
- text-align:left;
-}
-
-#content-wrap {
- width: 860px;
- margin: 0;
- padding-bottom: 42px;
- background-color: white;
-}
-
-#content {
- width:500px;
- float:left;
- padding:30px 0 25px 0;
-}
-
-#footer {
- background: bottom center no-repeat;
- position: relative;
- margin: -50px auto 0 auto;
- height: 50px;
- clear:both;
- font-size:12px;
- width:860px;
- border-top: 1px solid #eee;
- background-color: #E2E2E2;
- padding: 20px 0;
-}
-
-#footer #container {
- width: 860px;
- margin: 0;
- float: left;
-}
-
-#foot {
- text-align:left;
- position:relative;
- top:5px;
- left:30px;
-}
-
-
-
-#header {
- position: relative;
- width: 945px;
- height: 166px;
- padding: 0;
- margin: 0;
- background: transparent;
-}
-
-#header #logo {
- position: absolute;
- top: 20px;
- left: 10px;
- height: 104px;
- width: 498px;
-}
-
-#header #logo a,img {
- background: none;
- border: none;
-}
-
-#header #controls {
- position: absolute;
- top: 60px;
- right: 32px;
- height: 42px;
- color: #1b78d7;
- font-size: 13px;
- background: top right no-repeat;
- padding-right: 20px;
- text-align: right;
-}
-
-#header #controls a {
- position: relative;
- top: -2px;
-}
-
-#header #language {
- position: absolute;
- top: 10px;
- right: 32px;
- height: 42px;
- color: #797c7e;
- text-align: right;
-}
-
-#search {
- position:absolute;
- top:0;
- right:40px;
- padding:5px;
- padding-top:4px;
- padding-left:33px;
- background-color:#444;
- width: 260px;
- height: 133px;
-}
-
-.hintText {
- display: none;
-}
-
-.fieldWithHint {
- color: #001f2f;
-}
-
-#nav {
- position: absolute;
- clear: both;
- margin: 0;
- padding: 0;
- padding-right:5px;
- padding-left:5px;
- right:0;
- height: 33px;
- top: 133px;
- z-index: 99999;
- background-color:#444;
-}
-
-div.navbar-inner {
- min-height: 33px;
- padding-right: 0px;
- padding-left: 0px;
- background-color: #FAFAFA;
- background-image: none;
- background-repeat: repeat-x;
- border: none;
- border-radius: 4px;
- box-shadow: 0px 1px 4px rgba(0, 0, 0, 0.067);
-}
-
-#nav ul {
- float: left;
- list-style: none;
- height: 34px;
- margin: 0;
- padding: 0;
- display: inline;
-}
-
-#nav ul li {
- display: inline;
- margin: 0;
- padding: 0;
-}
-
-#nav ul li a {
- float: left;
- margin: 0 0 0 0;
- padding: 0 15px 0 15px;
- text-decoration: none;
- color: #fff;
- border-right:1px inset #888;
- font-size: 14px;
- padding-top: 6px;
- font-weight: 300;
- height: 28px;
-}
-
-#nav ul li a.last {
- border:none;
-}
-
-#nav ul li a:hover,#nav ul li a:active {
- color: #111;
- background-image: url(../images/header_hot.jpg);
-}
-
-#nav ul li#current a {
- color: #333333;
- background-image: url(../images/header_hot.jpg);
-}
-
-.navbar .nav {
- float: right;
- margin-right: 30px;
-}
-
-.navbar .nav > li > a {
- text-align: left;
- color: #fff;
-}
-
-.navbar .container {
- width: 860px;
- text-align: left;
-}
-
-#main {
- float: left;
- width: 826px;
- padding: 0;
- margin: 0 0 0 20px;
- display: inline;
-}
-
-#main h1 {
- padding-bottom: 3px;
- margin-top: 15px;
- color: #333;
- text-transform: none;
- border-bottom: 1px solid #ebebeb;
- font-size: 2em;
- font-weight: 300;
-}
-
-#main h1 a {
- color: #333;
- text-decoration: none;
- background: none;
- border: none;
-}
-
-#col1 {
- float: left;
- width: 260px;
- padding: 0;
- margin: 20px 0 0 20px;
- display: inline;
-}
-
-#col2 {
- float: left;
- width: 260px;
- padding: 0;
- margin: 20px 0 0 20px;
- display: inline;
-}
-
-#col1 h1, #col2 h1 {
- padding-bottom: 3px;
- margin-top: 15px;
- font-size: 2em;
- font-weight: 300;
- color: #555;
- text-transform: none;
- border-bottom: 1px solid #ebebeb;
-}
-
-#main #col1 h1, #main #col2 h1 {
- border-bottom: 1px solid #ebebeb;
- color:#304C70;
- padding-bottom: 3px;
- text-transform: none;
- font-size:30px;
-}
-
-.feature {
- margin:0;
- padding:0;
- height:435px;
-}
-
-.screen {
- margin:10px 0 5px 0;
- padding:0;
- background:#fff;
- border:1px solid #eee;
- width:255px;
- height:200px;
- overflow:hidden;
-}
-
-#main .hero {
- margin:10px 0 5px 0;
- padding:0;
- background:#fff;
- border:1px solid #eee;
- width:555px;
-}
-
-#main .highlights {
- float:right;
- width: 300px;
- margin-left: 20px;
- /* margin: 0 20px 0 10px;*/
- display:inline;
- padding: 15px;
- color: #a8569c;
-}
-
-#main .highlights h4 {
- padding-top: 10px;
-}
-
-#sidebar {
- float: right;
- width: 280px;
- padding: 0;
-
- display: inline;
-}
-
-#sidebar h2 {
- margin-top: 10px;
- padding: 15px 5px 0px 10px;
- font-size: 1.5em;
- font-weight: 300;
- color: #333;
-}
-
-#sidebar ul.sidemenu {
- text-align: left;
- margin: 0 5px 8px 0;
- padding: 5px 0 0 0;
- text-decoration: none;
- background: repeat-x left top;
-}
-
-#sidebar ul.sidemenu li {
- list-style: none;
- background: repeat-x left bottom;
- padding: 4px 10px;
- margin: 0;
-}
-
-* html body #sidebar ul.sidemenu li {
- height: 1%;
-}
-
-#sidebar ul.sidemenu li a {
- text-decoration: none;
- background-image: none;
- background-color: transparent;
- border: none;
- color: #304c90;
- font-weight: 300;
- font-size: 14px;
-}
-
-#sidebar ul.sidemenu li a span {
- color: #989898;
- font-family: serif;
- font-style: italic;
- font-weight: normal;
- font-size: .8em;
-}
-
-#sidebar ul.sidemenu li a:hover {
- color: #555;
-}
-
-#sidebar ul.sidemenu ul {
- margin: 0 0 0 5px;
- padding: 0;
-}
-
-#sidebar ul.sidemenu ul li {
- background: none;
-}
-
-#sidebar .indentfirst {
- margin-left:0;
-}
-
-pre {
- padding: 9.5px;
- margin: 0px 0px 10px;
- background-color: #F5F5F5;
- border: 1px solid rgba(0, 0, 0, 0.15);
- border-radius: 4px;
- margin-left: 10px;
- margin-right: 10px;
-}
-
-#sidebar .indentsecond {
- margin-left:20px;
-}
-
-.postmeta {
- padding: 5px;
- margin: 20px 10px 15px 10px;
- font-size: 1em;
- color: #777;
- border: 1px solid #ECF8FE;
- background: #ECF8FE;
-}
-
-.postmeta .date {
- margin: 0 10px 0 5px;
-}
-
-.postmeta a.comments {
- margin: 0 10px 0 5px;
-}
-
-.postmeta a.readmore {
- margin: 0 10px 0 5px;
-}
-
-.post-info {
- font-size: .95em;
- padding-top: 3px;
- margin-left: 5px;
- color: #bababa;
-}
-
-p.thumbs {
- padding: 12px 0 0 10px;
-}
-
-.thumbs img {
- position: relative;
- border: 1px solid #ebebeb;
- background: none;
- padding: 4px;
- margin: 5px;
-}
-
-.thumbs img:hover {
- border: 1px solid #c5c5c5;
- background: none;
-}
-
-.thumbs a:hover {
- background-color: transparent;
- border: none
-}
-
-body#home #wrap {
- position: relative;
- width: 1150px;
- margin: 0 auto;
- text-align: left;
-}
-
-body#home #header {
- position: relative;
- width: 860px;
- padding: 0;
- margin: 0;
- background-color: white;
-}
-
-body#home #header #slides {
- position: absolute;
- top: 128px;
- left: 10px;
- width: 1363px;
- height: 260px;
-}
-
-body#home #header #slides .slideshow {
- width:1363px;
- height:260px;
- margin:0;
- padding:0;
-}
-
-body#home #header #slides .callout {
- position: absolute;
- top: 35px;
- left: 30px;
- font-size: 30px;
- line-height: 30px;
- color: #2b1f48;
-}
-
-body#home #header #slides .description {
- position: absolute;
- top: 190px;
- left: 30px;
- font-size: 14px;
- line-height: 1.2em;
- color: #e0e0e0;
- width: 640px;
-}
-
-body#home #header #slides .controls {
- width: 100px;
- position: absolute;
- top: 15px;
- left: 900px;
- height:30px;
-}
-
-body#home #header #slides .controls a {
- border: none;
- position:absolute;
- height:30px;
- line-height:24px;
- padding:5px;
- text-indent:-9999px;
- outline:none;
-}
-
-body#home #header #slides .controls a.previous {
- background: url(../images/backward.gif) top center no-repeat;
- left:0;
- height:30px;
- width:16px;
-}
-
-body#home #header #slides .controls a.next {
- background: url(../images/forward.gif) top center no-repeat;
- left:60px;
- height:30px;
- width:16px;
-}
-
-body#home #header #slides .controls a.stop {
- background: url(../images/pause.gif) top center no-repeat;
- left:30px;
- height:30px;
- width:16px;
-}
-
-body#home #header #slides .controls a.start {
- background: url(../images/start.gif) top center no-repeat;
- left:30px;
- height:30px;
- width:16px;
-}
-
-body#home #header #slides .controls a img {
- background: none;
- border: none;
- cursor: pointer;
-}
-
-body#home #header #slides .mantle{
- position:absolute;
- top:58px;
- left:585px;
-}
-
-body#home #col1 {
- float: left;
- width: 260px;
- padding: 0;
- margin: 5px 0 0 0;
- display: inline;
-}
-
-body#home #col2 {
- float: left;
- width: 260px;
- padding: 0;
- margin: 5px 0 0 20px;
- display: inline;
-}
-
-.downloadNow {
- margin:30px 0 10px 20px;
-}
-
-.downloadLinks span.docs {
- float:left;
- margin:0;
- display:inline;
-}
-
-.downloadLinks span.previousVersions {
- float:right;
- margin:0 20px 0 0;
- display:inline;
-}
-
-body#full #wrap {
- position: relative;
- background: #fff top center no-repeat;
- width: 1200px;
- margin: 0 auto;
- text-align: left;
-}
-
-#search-form {
- margin-top: 20px;
-}
-
-#search-form input {
- float: left;
-}
-
-#search-form .search-query {
- font-family: Arial;
- width: 180px;
- margin-right: 10px;
-}
-
-#search-form #submission {
- border: none;
- background: transparent;
- margin-right: 10px;
-}
-
-code.has-jax {font: inherit; font-size: 100%; color: #555; background: inherit; border: inherit;}

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/oldsite/css/global__.css
----------------------------------------------------------------------
diff --git a/website-old/oldsite/css/global__.css b/website-old/oldsite/css/global__.css
deleted file mode 100644
index b3001dd..0000000
--- a/website-old/oldsite/css/global__.css
+++ /dev/null
@@ -1,886 +0,0 @@
-/**********************************
- The Apache Software Foundation
-
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements. See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership. The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied. See the License for the
- specific language governing permissions and limitations
- under the License.
-*********************************/
-
-/* Derived from: Open for Business Project Website */
-
-html, body, div, span, applet, object, iframe,
-h1, h2, h2, h4, h5, h6, p, blockquote, pre,
-a, abbr, acronym, address, big, cite, code,
-del, dfn, em, font, img, ins, kbd, q, s, samp,
-small, strike, strong, sub, sup, tt, var,
-b, u, i, center,
-dl, dt, dd, ol, ul, li,
-fieldset, form, label, legend,
-table, caption, tbody, tfoot, thead, tr, th, td {
- border:0;
- margin:0;
- outline:0;
- padding:0;
- background:transparent;
- vertical-align: baseline;
-}
-
-blockquote, q {
- quotes: none;
-}
-
-a, address, body, caption, cite, code, dfn, em, strong, th, var {
- font-style: normal;
- font-weight: normal;
- text-decoration: none;
-}
-
-a img {
- border: none;
-}
-
-ol, ul {
- list-style: none;
-}
-
-table {
- border-collapse: collapse;
- border-spacing: 0;
-}
-
-* {margin:0;padding:0;}
-
-html, body, #wrap {height: 100%;}
-
-body > #wrap {height: auto; min-height: 100%;}
-
-body {
- font: 13px/ 165% sans-serif;
- line-height: 1.7em;
- color: #555;
- margin: 0;
- padding: 0;
- background: url(../images/bg.png) top left repeat-x #A6A6A6;
- text-align: center;
- font-family: Opensans , "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
-}
-
-.clearfix:after {
- content: ".";
- display: block;
- height: 0;
- clear: both;
- visibility: hidden;
-}
-
-.clearfix {
- display: inline-block;
-}
-
-html[xmlns] .clearfix {
- display: block;
-}
-
-* html .clearfix {
- height: 1%;
-}
-
-.clearfix {
- display: block;
-}
-
-.clearLeft {
- clear:left;
-}
-
-a,a:active,a:link {
- text-decoration: none;
- color: #304c90;
-}
-
-a:visited {
- text-decoration: none;
-}
-
-a:hover {
- color: #304c90;
-}
-
-h1,h2,h2 {
- font-family: Opensans , "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
- font-weight: 300;
- color: #555;
- line-height: 130%;
-}
-
-h1 {
- font-size: 200%;
- color: #895F30;
- padding: 20px 10px 5px 10px;
- margin: 0;
-}
-
-h2 {
- font-size: 1.5em;
- font-weight: normal;
- padding: 20px 10px 5px 10px;
- margin: 0;
-}
-
-p,dl {
- padding: 10px;
- margin: 0;
-}
-
-ul{
- margin: 10px 10px;
- padding: 0 0 0 10px;
-}
-
-ul {
- list-style: none;
-}
-
-ol {
- margin: 10px 30px;
- padding: 0;
-}
-
-dt {
- font-weight: bold;
- color: #b13f1a;
-}
-
-dd {
- padding-left: 25px;
-}
-
-img {
- border: none;
-}
-
-p img {
- background: #fafafa;
- border: 1px solid #dcdcdc;
- padding: 5px;
- margin:0 10px 0 0;
-}
-
-img.float-right {
- margin: 5px 0 10px 10px;
-}
-
-img.float-left {
- margin: 5px 10px 10px 0;
-}
-
-code {
- margin: 5px 0;
- padding: 15px;
- text-align: left;
- display: block;
- overflow: auto;
- font: 1em/ 1.5em 'Lucida Console', 'courier new', monospace;
- border: 1px solid #ECF8FE;
- background: #ECF8FE;
-}
-
-acronym {
- cursor: help;
- border-bottom: 1px dotted #895F30;
-}
-
-blockquote {
- margin: 15px 10px;
- padding: 10px 10px 10px 35px;
- border: 1px solid #ECF8FE;
- background: #ECF8FE no-repeat 10px 10px;
- font-weight: normal;
- font-size: 1.5em;
- line-height: 1.5em;
- font-style: italic;
- font-family: sans-serif;
- color: #976957;
-}
-
-table {
- border-collapse: collapse;
- margin: 15px 10px;
-}
-
-th {
- background: #d14b1f repeat-x 0 -100px;
- height: 38px;
- padding-left: 12px;
- padding-right: 12px;
- color: #fff;
- text-align: left;
- border-left: 1px solid #d14b1f;
- border-bottom: solid 2px #fff;
-}
-
-tr {
- height: 34px;
-}
-
-td {
- padding-left: 11px;
- padding-right: 11px;
-}
-
-input,select {
- padding: 4px;
- font-size: 1em;
- font-weight: 300;
- font-family: Opensans , "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
- color: #555;
-}
-
-input[type="search"] {
- width: 220px;
-}
-
-#sidebar-wrap {
- background: #fff url(../images/sidebar.png) top left repeat-y;
- padding: 0 0 0 15px;
-}
-
-#sidebar ul.sidemenu {
- text-align: left;
- margin: 0 5px 8px 0;
- padding: 5px 0 0 0;
- text-decoration: none;
-}
-
-#sidebar ul.sidemenu li {
- list-style: none;
- background: repeat-x left bottom;
- padding: 4px 10px;
- margin: 0;
-}
-
-* html body #sidebar ul.sidemenu li {
- height: 1%;
-}
-
-#sidebar ul.sidemenu li a {
- text-decoration: none;
- background-image: none;
- background-color: transparent;
- border: none;
- color: #304c90;
- font-size: 1em;
- font-weight: 300;
- font-family: Opensans , "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
- color: #555;
- background: #fff;
-}
-
-textarea {
- width: 400px;
- padding: 4px;
- font-size: 1em;
- font-weight: 300;
- font-family: Opensans , "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
- height: 100px;
- display: block;
- color: #555;
-}
-
-input,textarea,select {
- background: #fff;
- border-width: 1px;
- border-style: solid;
- border-color: #D4D4D4 #ebebeb #ebebeb #d4d4d4;
-}
-
-input.button {
- font-size: 13px;
- font-weight: 500;
- font-family: Opensans , "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
- height: 30px;
- margin: 0;
- padding: 2px 3px;
- color: #555;
- background: #E6E6E6;
- border-width: 1px;
- border-style: solid;
- border-color: #ebebeb #d4d4d4 #d4d4d4 #ebebeb;
-}
-
-.float-left {
- float: left;
-}
-
-.float-right {
- float: right;
-}
-
-.align-left {
- text-align: left;
-}
-
-.align-right {
- text-align: right;
-}
-
-.clearer {
- clear: both;
-}
-
-#wrap{
- background: #fff url(../images/wrapper.jpg) top center no-repeat;
- width: 1200px;
- margin: 0 auto;
- text-align:left;
-}
-
-#content-wrap {
- width:1200px;
- margin:0 auto;
- padding-bottom: 42px;
-}
-
-#content {
- width:500px;
- float:left;
- padding:30px 0 25px 0;
-}
-
-#footer {
- background: bottom center no-repeat;
- position: relative;
- margin: -50px auto 0 auto;
- height: 50px;
- clear:both;
- font-size:12px;
- width:1200px;
- border-top: 1px solid #eee;
- background-color: #E2E2E2;
- padding: 20px 0;
-}
-
-#foot {
- text-align:left;
- position:relative;
- top:5px;
- left:30px;
-}
-
-#header {
- position: relative;
- width: 945px;
- height: 100px;
- padding: 0;
- margin: 0 auto;
- background: transparent;
-}
-
-#header #logo {
- position: absolute;
- top: 5px;
- left: 20px;
- height: 42px;
- width: 405px;
-}
-
-#header #logo a,img {
- background: none;
- border: none;
-}
-
-#header #controls {
- position: absolute;
- top: 60px;
- right: 32px;
- height: 42px;
- color: #1b78d7;
- font-size: 13px;
- background: top right no-repeat;
- padding-right: 20px;
- text-align: right;
-}
-
-#header #controls a {
- position: relative;
- top: -2px;
-}
-
-#header #language {
- position: absolute;
- top: 10px;
- right: 32px;
- height: 42px;
- color: #797c7e;
- text-align: right;
-}
-
-#search {
- position:absolute;
- top:0;
- right:0;
- background:url(../images/search.gif) center left no-repeat;
- padding:5px;
- padding-top:4px;
- padding-left:33px;
- background-color:#444;
- width: 360px;
-}
-
-.hintText {
- display: none;
-}
-
-.fieldWithHint {
- color: #001f2f;
-}
-
-#nav {
- position: absolute;
- clear: both;
- margin: 0;
- padding: 0;
- padding-right:5px;
- padding-left:5px;
- right:0;
- height: 34px;
- top: 84px;
- z-index: 99999;
- background-color:#444;
-}
-
-#nav ul {
- float: left;
- list-style: none;
- height: 34px;
- margin: 0;
- padding: 0;
- display: inline;
-}
-
-#nav ul li {
- display: inline;
- margin: 0;
- padding: 0;
-}
-
-#nav ul li a {
- float: left;
- margin: 0 0 0 0;
- padding: 0 15px 0 15px;
- text-decoration: none;
- color: #fff;
- border-right:1px inset #888;
- font-size: 14px;
- padding-top: 6px;
- font-weight: 300;
- height: 28px;
-}
-
-#nav ul li a.last {
- border:none;
-}
-
-#nav ul li a:hover,#nav ul li a:active {
- color: #111;
- background-image: url(../images/header_hot.jpg);
-}
-
-#nav ul li#current a {
- color: #333333;
- background-image: url(../images/header_hot.jpg);
-}
-
-#main {
- float: left;
- width: 826px;
- padding: 0;
- margin: 0 0 0 20px;
- display: inline;
-}
-
-#main h1 {
- padding-bottom: 3px;
- margin-top: 15px;
- color: #333;
- text-transform: none;
- border-bottom: 1px solid #ebebeb;
- font-size: 2em;
- font-weight: 300;
- font-family: Opensans , "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
-}
-
-#main h1 a {
- color: #333;
- text-decoration: none;
- background: none;
- border: none;
-}
-
-#main ul li {
- list-style-image: url(../images/bullet.gif);
-}
-
-#col1 {
- float: left;
- width: 260px;
- padding: 0;
- margin: 20px 0 0 20px;
- display: inline;
-}
-
-#col2 {
- float: left;
- width: 260px;
- padding: 0;
- margin: 20px 0 0 20px;
- display: inline;
-}
-
-#col1 h1, #col2 h1 {
- padding-bottom: 3px;
- margin-top: 15px;
- font-size: 2em;
- font-weight: 300;
- font-family: Opensans , "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
- color: #555;
- text-transform: none;
- border-bottom: 1px solid #ebebeb;
-}
-
-#main #col1 h1, #main #col2 h1 {
- border-bottom: 1px solid #ebebeb;
- color:#304C70;
- padding-bottom: 3px;
- text-transform: none;
- font-size:30px;
-}
-
-.feature {
- margin:0;
- padding:0;
- height:435px;
-}
-
-.screen {
- margin:10px 0 5px 0;
- padding:0;
- background:#fff;
- border:1px solid #eee;
- width:255px;
- height:200px;
- overflow:hidden;
-}
-
-#main .hero {
- margin:10px 0 5px 0;
- padding:0;
- background:#fff;
- border:1px solid #eee;
- width:555px;
-}
-
-#main .highlights {
- float:right;
- width:400px;
- background:#dfe9ef;
- border:1px solid #eee;
- margin:0 10px 0 10px;
- display:inline;
- padding: 15px;
-}
-
-#main .highlights ul li {
- list-style-image: url(../images/highlight-bullet.gif);
-}
-
-#main .highlights h4 {
- padding:5px 5px 0 5px;
- font-size: 13px;
-}
-
-#sidebar {
- float: right;
- width: 323px;
- padding: 0;
- margin: 15px 20px 0 0;
- display: inline;
-}
-
-#sidebar h2 {
- margin-top: 10px;
- padding: 15px 5px 0px 10px;
- font-size: 1.5em;
- font-weight: 300;
- font-family: Opensans , "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
- color: #333;
-}
-
-#sidebar ul.sidemenu {
- text-align: left;
- margin: 0 5px 8px 0;
- padding: 5px 0 0 0;
- text-decoration: none;
- background: repeat-x left top;
-}
-
-#sidebar ul.sidemenu li {
- list-style: none;
- background: repeat-x left bottom;
- padding: 4px 10px;
- margin: 0;
-}
-
-* html body #sidebar ul.sidemenu li {
- height: 1%;
-}
-
-#sidebar ul.sidemenu li a {
- text-decoration: none;
- background-image: none;
- background-color: transparent;
- border: none;
- color: #304c90;
- font-weight: 300;
- font-size: 14px;
-}
-
-#sidebar ul.sidemenu li a span {
- color: #989898;
- font-family: serif;
- font-style: italic;
- font-weight: normal;
- font-size: .8em;
-}
-
-#sidebar ul.sidemenu li a:hover {
- color: #555;
-}
-
-#sidebar ul.sidemenu ul {
- margin: 0 0 0 5px;
- padding: 0;
-}
-
-#sidebar ul.sidemenu ul li {
- background: none;
-}
-
-#sidebar .indentfirst {
- margin-left:0;
-}
-
-#sidebar .indentsecond {
- margin-left:20px;
-}
-
-.postmeta {
- padding: 5px;
- margin: 20px 10px 15px 10px;
- font-size: 1em;
- color: #777;
- border: 1px solid #ECF8FE;
- background: #ECF8FE;
-}
-
-.postmeta .date {
- margin: 0 10px 0 5px;
-}
-
-.postmeta a.comments {
- margin: 0 10px 0 5px;
-}
-
-.postmeta a.readmore {
- margin: 0 10px 0 5px;
-}
-
-.post-info {
- font-size: .95em;
- padding-top: 3px;
- margin-left: 5px;
- color: #bababa;
-}
-
-p.thumbs {
- padding: 12px 0 0 10px;
-}
-
-.thumbs img {
- position: relative;
- border: 1px solid #ebebeb;
- background: none;
- padding: 4px;
- margin: 5px;
-}
-
-.thumbs img:hover {
- border: 1px solid #c5c5c5;
- background: none;
-}
-
-.thumbs a:hover {
- background-color: transparent;
- border: none
-}
-
-body#home #wrap {
- position: relative;
- background: #fff url(../images/home-wrapper-v3.png) top center no-repeat;
- width: 1200px;
- margin: 0 auto;
- text-align: left;
-}
-
-body#home #header {
- position: relative;
- width: 1200px;
- padding: 0;
- margin: 0 auto;
- background: transparent;
-}
-
-body#home #header #slides {
- position: absolute;
- top: 128px;
- left: 10px;
- width: 1363px;
- height: 260px;
-}
-
-body#home #header #slides .slideshow {
- width:1363px;
- height:260px;
- margin:0;
- padding:0;
-}
-
-body#home #header #slides .callout {
- position: absolute;
- top: 35px;
- left: 30px;
- font-size: 30px;
- line-height: 30px;
- color: #2b1f48;
-}
-
-body#home #header #slides .description {
- position: absolute;
- top: 190px;
- left: 30px;
- font-size: 14px;
- line-height: 1.2em;
- color: #e0e0e0;
- width: 640px;
-}
-
-body#home #header #slides .controls {
- width: 100px;
- position: absolute;
- top: 15px;
- left: 900px;
- height:30px;
-}
-
-body#home #header #slides .controls a {
- border: none;
- position:absolute;
- height:30px;
- line-height:24px;
- padding:5px;
- text-indent:-9999px;
- outline:none;
-}
-
-body#home #header #slides .controls a.previous {
- background: url(../images/backward.gif) top center no-repeat;
- left:0;
- height:30px;
- width:16px;
-}
-
-body#home #header #slides .controls a.next {
- background: url(../images/forward.gif) top center no-repeat;
- left:60px;
- height:30px;
- width:16px;
-}
-
-body#home #header #slides .controls a.stop {
- background: url(../images/pause.gif) top center no-repeat;
- left:30px;
- height:30px;
- width:16px;
-}
-
-body#home #header #slides .controls a.start {
- background: url(../images/start.gif) top center no-repeat;
- left:30px;
- height:30px;
- width:16px;
-}
-
-body#home #header #slides .controls a img {
- background: none;
- border: none;
- cursor: pointer;
-}
-
-body#home #header #slides .mantle{
- position:absolute;
- top:58px;
- left:585px;
-}
-
-body#home #col1 {
- float: left;
- width: 260px;
- padding: 0;
- margin: 5px 0 0 0;
- display: inline;
-}
-
-body#home #col2 {
- float: left;
- width: 260px;
- padding: 0;
- margin: 5px 0 0 20px;
- display: inline;
-}
-
-.downloadNow {
- margin:30px 0 10px 20px;
-}
-
-.downloadLinks span.docs {
- float:left;
- margin:0;
- display:inline;
-}
-
-.downloadLinks span.previousVersions {
- float:right;
- margin:0 20px 0 0;
- display:inline;
-}
-
-body#full #wrap {
- position: relative;
- background: #fff top center no-repeat;
- width: 1200px;
- margin: 0 auto;
- text-align: left;
-}

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/oldsite/css/main.css
----------------------------------------------------------------------
diff --git a/website-old/oldsite/css/main.css b/website-old/oldsite/css/main.css
deleted file mode 100644
index a6cb362..0000000
--- a/website-old/oldsite/css/main.css
+++ /dev/null
@@ -1,4 +0,0 @@
-.feather {
- background-image:url('Loading Image...');
- background-repeat:no-repeat;
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/oldsite/developers/buildingmahout.md
----------------------------------------------------------------------
diff --git a/website-old/oldsite/developers/buildingmahout.md b/website-old/oldsite/developers/buildingmahout.md
deleted file mode 100644
index 40b509b..0000000
--- a/website-old/oldsite/developers/buildingmahout.md
+++ /dev/null
@@ -1,193 +0,0 @@
----
-layout: default
-title: Building Mahout
-theme:
- name: mahout2
----
-
-
-# Building Mahout from Source
-
-## Prerequisites
-
-* Java JDK 1.7
-* Apache Maven 3.3.9
-
-
-## Getting the source code
-
-Checkout the sources from the [Mahout GitHub repository](https://github.com/apache/mahout)
-either via
-
- git clone ***@github.com:apache/mahout.git
-or
-
- git clone https://github.com/apache/mahout.git
-
-## Building From Source
-
-###### Prerequisites:
-
-Linux Environment (preferably Ubuntu 16.04.x) Note: Currently only the JVM-only build will work on a Mac.
-gcc > 4.x
-NVIDIA Card (installed with OpenCL drivers alongside usual GPU drivers)
-
-###### Downloads
-
-Install java 1.7+ in an easily accessible directory (for this example, ~/java/)
-http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
-
-Create a directory ~/apache/ .
-
-Download apache Maven 3.3.9 and un-tar/gunzip to ~/apache/apache-maven-3.3.9/ .
-https://maven.apache.org/download.cgi
-
-Download and un-tar/gunzip Hadoop 2.4.1 to ~/apache/hadoop-2.4.1/ .
-https://archive.apache.org/dist/hadoop/common/hadoop-2.4.1/
-
-Download and un-tar/gunzip spark-1.6.3-bin-hadoop2.4 to ~/apache/ .
-http://spark.apache.org/downloads.html
-Choose release: Spark-1.6.3 (Nov 07 2016)
-Choose package type: Pre-Built for Hadoop 2.4
-
-Install ViennaCL 1.7.0+
-If running Ubuntu 16.04+
-
-```
-sudo apt-get install libviennacl-dev
-```
-
-Otherwise if your distribution’s package manager does not have a viennniacl-dev package >1.7.0, clone it directly into the directory which will be included in when being compiled by Mahout:
-
-```
-mkdir ~/tmp
-cd ~/tmp && git clone https://github.com/viennacl/viennacl-dev.git
-cp -r viennacl/ /usr/local/
-cp -r CL/ /usr/local/
-```
-
-Ensure that the OpenCL 1.2+ drivers are installed (packed with most consumer grade NVIDIA drivers). Not sure about higher end cards.
-
-Clone mahout repository into `~/apache`.
-
-```
-git clone https://github.com/apache/mahout.git
-```
-
-###### Configuration
-
-When building mahout for a spark backend, we need four System Environment variables set:
-```
- export MAHOUT_HOME=/home/<user>/apache/mahout
- export HADOOP_HOME=/home/<user>/apache/hadoop-2.4.1
- export SPARK_HOME=/home/<user>/apache/spark-1.6.3-bin-hadoop2.4
- export JAVA_HOME=/home/<user>/java/jdk-1.8.121
-```
-
-Mahout on Spark regularly uses one more env variable, the IP of the Spark cluster’s master node (usually the node which one would be logged into).
-
-To use 4 local cores (Spark master need not be running)
-```
-export MASTER=local[4]
-```
-To use all available local cores (again, Spark master need not be running)
-```
-export MASTER=local[*]
-```
-To point to a cluster with spark running:
-```
-export MASTER=spark://master.ip.address:7077
-```
-
-We then add these to the path:
-
-```
- PATH=$PATH$:MAHOUT_HOME/bin:$HADOOP_HOME/bin:$SPARK_HOME/bin:$JAVA_HOME/bin
-```
-
-These should be added to the your ~/.bashrc file.
-
-
-###### Building Mahout with Apache Maven
-
-From the $MAHOUT_HOME directory we may issue the commands to build each using mvn profiles.
-
-JVM only:
-```
-mvn clean install -DskipTests
-```
-
-JVM with native OpenMP level 2 and level 3 matrix/vector Multiplication
-```
-mvn clean install -Pviennacl-omp -Phadoop2 -DskipTests
-```
-JVM with native OpenMP and OpenCL for Level 2 and level 3 matrix/vector Multiplication. (GPU errors fall back to OpenMP, currently only a single GPU/node is supported).
-```
-mvn clean install -Pviennacl -Phadoop2 -DskipTests
-```
-
-### Changing Scala Version
-
-To change the Scala version used it is possible to use profiles, however the resulting artifacts seem to have trouble being resolved with SBT.
-
-```bash
-mvn clean install -Pscala-2.11
-```
-
-Maven is able to resolve the resulting artifacts effectively, this will also work if the goal is simply to use the Mahout-Shell. However if the goal is to build with SBT, the following tool should be used
-
-```bash
-cd $MAHOUT_HOME/buildtools
-./change-scala-version.sh 2.11
-```
-
-Now go back to `$MAHOUT_HOME` and execute
-
-```bash
-mvn clean install -Pscala-2.11
-```
-
-**NOTE:** you still need to pass the `-Pscala-2.11` profile, as this determines and propegates the minor scala version (e.g. 2.11.8)
-
-
-### The Distribution Profile
-
-The distribution profile, among other things, will produce the same artifact for multiple Scala and Spark versions.
-
-Specifically, in addition to creating all of the
-
-Default Targets:
-- Spark 1.6 Bindings, Scala-2.10
-- Mahout-Math Scala-2.10
-- ViennaCL Scala-2.10*
-- ViennaCL-OMP Scala-2.10*
-- H2O Scala-2.10
-
-It will also create:
-- Spark 2.0 Bindings, Scala-2.11
-- Spark 2.1 Bindings, Scala-2.11
-- Mahout-Math Scala-2.11
-- ViennaCL Scala-2.11*
-- ViennaCL-OMP Scala-2.11*
-- H2O Scala-2.11
-
-Note: * ViennaCLs are only created if the `viennacl` or `viennacl-omp` profiles are activated.
-
-By default, this phase will execute the `package` lifecycle goal on all built "extra" varients.
-
-E.g. if you were to run
-
-```bash
-mvn clean install -Pdistribution
-```
-
-You will `install` all of the "Default Targets" but only `package` the "Also created".
-
-If you wish to `install` all of the above, you can set the `lifecycle.target` switch as follows:
-
-```bash
-mvn clean install -Pdistribution -Dlifecycle.target=install
-```
-
-
-

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/oldsite/developers/developer-resources.md
----------------------------------------------------------------------
diff --git a/website-old/oldsite/developers/developer-resources.md b/website-old/oldsite/developers/developer-resources.md
deleted file mode 100644
index 01de4e5..0000000
--- a/website-old/oldsite/developers/developer-resources.md
+++ /dev/null
@@ -1,52 +0,0 @@
----
-layout: default
-title: Developer Resources
-theme:
- name: retro-mahout
----
-
-<a name="DeveloperResources-MakingaContribution"></a>
-## Making a Contribution
-
-Mahout is always looking for contributions, especially in the areas of
-documentation. See our [How to contribute](/developers/how-to-contribute.html) page for details.
-
-
-<a name="DeveloperResources-SourceCode"></a>
-## Source Code
-
-The source files are stored using Git, our page on [version control](/developers/version-control.html) has details on how to access the sourcecode.
-
-
-<a name="DeveloperResources-Documentation"></a>
-## Documentation
-
-Javadoc and Scaladoc documentation is available online by module:
-
- * [Mahout Math](http://apache.github.io/mahout/0.10.1/docs/mahout-math/index.html)
- * [Mahout Math Scala bindings](http://apache.github.io/mahout/0.10.1/docs/mahout-math-scala/index.html)
- * [Mahout Spark bindings](http://apache.github.io/mahout/0.10.1/docs/mahout-spark/index.html)
- * [Mahout Spark bindings shell](http://apache.github.io/mahout/0.10.1/docs/mahout-spark-shell/index.html)
- * [Mahout H2O backend Scaladoc](http://apache.github.io/mahout/0.10.1/docs/mahout-h2o/scaladocs/index.html)
- * [Mahout H2O backend Javadoc](http://apache.github.io/mahout/0.10.1/docs/mahout-h2o/javadoc/index.html)
- * [Mahout HDFS](http://apache.github.io/mahout/0.10.1/docs/mahout-hdfs/index.html)
- * [Mahout Map-Reduce](http://apache.github.io/mahout/0.10.1/docs/mahout-mr/index.html)
- * [Mahout Examples](http://apache.github.io/mahout/0.10.1/docs/mahout-examples/index.html)
- * [Mahout Integration](http://apache.github.io/mahout/0.10.1/docs/mahout-integration/index.html)
-
-
-<a name="DeveloperResources-Issues"></a>
-## Issues
-
-All bugs, improvements, [pull requests](http://mahout.apache.org/developers/github.html), etc. should be logged in our [issue tracker](/developers/issue-tracker.html).
-
-<a name="DeveloperResources-ContinuousIntegration"></a>
-## Continuous Integration
-
-Mahout is continuously built on an hourly basis on the [Apache Jenkins](https://builds.apache.org/job/Mahout-Quality/) build system.
-
-## Board reports
-
-Every three months Mahout submits a report to the Apache board. All of the drafts that get sent are checked into svn. See here:
-
-<a href="https://svn.apache.org/repos/asf/mahout/pmc/board-reports/">https://svn.apache.org/repos/asf/mahout/pmc/board-reports/</a>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/oldsite/developers/github.md
----------------------------------------------------------------------
diff --git a/website-old/oldsite/developers/github.md b/website-old/oldsite/developers/github.md
deleted file mode 100644
index 61a373d..0000000
--- a/website-old/oldsite/developers/github.md
+++ /dev/null
@@ -1,157 +0,0 @@
----
-layout: default
-title:
-theme:
- name: retro-mahout
----
-
-# Github Setup and Pull Requests (PRs) #
-
-There are several ways to setup Git for committers and contributors. Contributors can safely setup
-Git any way they choose but committers should take extra care since they can push new commits to the master at
-Apache and various policies there make backing out mistakes problematic. Therefore all but very small changes should
-go through a PR, even for committers. To keep the commit history clean take note of the use of --squash below
-when merging into apache/master.
-
-## Git setup for Committers
-
-This describes setup for one local repo and two remotes. It allows you to push the code on your machine to either your Github repo or to git-wip-us.apache.org.
-You will want to fork github's apache/mahout to your own account on github, this will enable Pull Requests of your own.
-Cloning this fork locally will set up "origin" to point to your remote fork on github as the default remote.
-So if you perform "git push origin master" it will go to github.
-
-To attach to the apache git repo do the following:
-
- git remote add apache https://git-wip-us.apache.org/repos/asf/mahout.git
-
-To check your remote setup
-
- git remote -v
-
-you should see something like this:
-
- origin https://github.com/your-github-id/mahout.git (fetch)
- origin https://github.com/your-github-id/mahout.git (push)
- apache https://git-wip-us.apache.org/repos/asf/mahout.git (fetch)
- apache https://git-wip-us.apache.org/repos/asf/mahout.git (push)
-
-Now if you want to experiment with a branch everything, by default, points to your github account because 'origin' is default. You can work as normal using only github until you are ready to merge with the apache remote. Some conventions will integrate with Apache Jira ticket numbers.
-
- git checkout -b mahout-xxxx #xxxx typically is a Jira ticket number
- #do some work on the branch
- git commit -a -m "doing some work"
- git push origin mahout-xxxx # notice pushing to **origin** not **apache**
-
-Once you are ready to commit to the apache remote you can merge and push them directly or better yet create a PR.
-
-## How to create a PR (committers)
-
-Push your branch to Github:
-
- git checkout mahout-xxxx
- git push origin mahout-xxxx
-
-Go to your mahout-xxxx branch on Github. Since you forked it from Github's apache/mahout it will default
-any PR to go to apache/master.
-
-* Click the green "Compare, review, and create pull request" button.
-* You can edit the to and from for the PR if it isn't correct. The "base fork" should be apache/mahout unless you are collaborating
-separately with one of the committers on the list. The "base" will be master. Don't submit a PR to one of the other
-branches unless you know what you are doing. The "head fork" will be your forked repo and the "compare" will be
-your mahout-xxxx branch.
-* Click the "Create pull request" button and name the request "MAHOUT-XXXX" all caps.
-This will connect the comments of the PR to the mailing list and Jira comments.
-* From now on the PR lives on github's apache/mahout. You use the commenting UI there.
-* If you are looking for a review or sharing with someone else say so in the comments but don't worry about
-automated merging of your PR--you will have to do that later. The PR is tied to your branch so you can respond to
-comments, make fixes, and commit them from your local repo. They will appear on the PR page and be mirrored to Jira
-and the mailing list.
-
-When you are satisfied and want to push it to Apache's remote repo proceed with **Merging a PR**
-
-## How to create a PR (contributors)
-
-Create pull requests: \[[1]\].
-
-Pull requests are made to apache/mahout repository on Github. In the Github UI you should pick the master
-branch to target the PR as described for committers. This will be reviewed and commented on so the merge is
-not automatic. This can be used for discussing a contributions in progress.
-
-## Merging a PR (yours or contributors)
-
-Start with reading \[[2]\] (merging locally).
-
-Remember that pull requests are equivalent to a remote github branch with potentially a multitude of commits.
-In this case it is recommended to squash remote commit history to have one commit per issue, rather
-than merging in a multitude of contributor's commits. In order to do that, as well as close the PR at the
-same time, it is recommended to use **squash commits**.
-
-Merging pull requests are equivalent to a "pull" of a contributor's branch:
-
- git checkout master # switch to local master branch
- git pull apache master # fast-forward to current remote HEAD
- git pull --squash https://github.com/cuser/mahout cbranch # merge to master
-
---squash ensures all PR history is squashed into single commit, and allows committer to use his/her own
-message. Read git help for merge or pull for more information about `--squash` option. In this example we
-assume that the contributor's Github handle is "cuser" and the PR branch name is "cbranch".
-Next, resolve conflicts, if any, or ask a contributor to rebase on top of master, if PR went out of sync.
-
-If you are ready to merge your own (committer's) PR you probably only need to merge (not pull), since you have a local copy
-that you've been working on. This is the branch that you used to create the PR.
-
- git checkout master # switch to local master branch
- git pull apache master # fast-forward to current remote HEAD
- git merge --squash mahout-xxxx
-
-Remember to run regular patch checks, build with tests enabled, and change CHANGELOG.
-
-If everything is fine, you now can commit the squashed request along the lines
-
- git commit --author <contributor_email> -a -m "MAHOUT-XXXX description closes apache/mahout#ZZ"
-
-MAHOUT-XXXX is all caps and where `ZZ` is the pull request number on apache/mahout repository. Including
-"closes apache/mahout#ZZ" will close the PR automatically. More information is found here \[[3]\].
-
-Next, push to git-wip-us.a.o:
-
- push apache master
-
-(this will require Apache handle credentials).
-
-The PR, once pushed, will get mirrored to github. To update your github version push there too:
-
- push origin master
-
-*Note on squashing: Since squash discards remote branch history, repeated PRs from the same remote branch are
-difficult for merging. The workflow implies that every new PR starts with a new rebased branch. This is more
-important for contributors to know, rather than for committers, because if new PR is not mergeable, github
-would warn to begin with. Anyway, watch for dupe PRs (based on same source branches). This is a bad practice.*
-
-## Closing a PR without committing (for committers)
-
-When we want to reject a PR (close without committing), we can just issue an empty commit on master's HEAD
-*without merging the PR*:
-
- git commit --allow-empty -m "closes apache/mahout#ZZ *Won't fix*"
- git push apache master
-
-that should close PR `ZZ` on github mirror without merging and any code modifications in the master repository.
-
-## Apache/github integration features
-
-Read \[[4]\]. Comments and PRs with Mahout issue handles should post to mailing lists and Jira.
-Mahout issue handles must be in the form MAHOUT-YYYYY (all capitals). Usually it makes sense to
-file a jira issue first, and then create a PR with description
-
- MAHOUT-YYYY: <jira-issue-description>
-
-
-In this case all subsequent comments will automatically be copied to jira without having to mention
-jira issue explicitly in each comment of the PR.
-
-
-[1]: https://help.github.com/articles/creating-a-pull-request
-[2]: https://help.github.com/articles/merging-a-pull-request#merging-locally
-[3]: https://help.github.com/articles/closing-issues-via-commit-messages
-[4]: https://blogs.apache.org/infra/entry/improved_integration_between_apache_and

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/oldsite/developers/githubPRs.md
----------------------------------------------------------------------
diff --git a/website-old/oldsite/developers/githubPRs.md b/website-old/oldsite/developers/githubPRs.md
deleted file mode 100644
index 3186c59..0000000
--- a/website-old/oldsite/developers/githubPRs.md
+++ /dev/null
@@ -1,80 +0,0 @@
----
-layout: default
-title:
-theme:
- name: retro-mahout
----
-# Handling Github PRs #
-
-----------
-
-
-## how to create a PR (for contributers)
-
-Read [[1]].
-
-Pull requests are made to apache/mahout repository on Github.
-
-## merging a PR and closing it (for committers).
-
-Remember that pull requests are equivalent to a remote branch with potentially a multitude of commits.
-In this case it is recommended to squash remote commit history to have one commit per issue, rather
-than merging in a multitude of contributer's commits. In order to do that, as well as close the PR at the
-same time, it is recommended to use **squash commits**.
-
-Read [[2]] (merging locally). Merging pull requests are equivalent to merging contributor's branch:
-
- git checkout master # switch to local master branch
- git pull apache master # fast-forward to current remote HEAD
- git pull --squash https://github.com/cuser/mahout cbranch # merge to master
-
-
-In this example we assume that contributor Github handle is "cuser" and the PR branch name is "cbranch" there. We also
-assume that *apache* remote is configured as
-
- apache https://git-wip-us.apache.org/repos/asf/mahout.git (fetch)
- apache https://git-wip-us.apache.org/repos/asf/mahout.git (push)
-
-
-Squash pull ensures all PR history is squashed into single commit. Also, it is not yet committed, even if
-fast forward is possible, so you get chance to change things before committing.
-
-At this point resolve conflicts, if any, or ask contributor to rebase on top of master, if PR went out of sync.
-
-Also run regular patch checks and change CHANGELOG.
-
-Suppose everything is fine, you now can commit the squashed request
-
- git commit -a
-
-edit message to contain "MAHOUT-YYYY description **closes #ZZ**", where ZZ is the pull request number.
-Including "closes #ZZ" will close PR automatically. More information [[3]].
-
- push apache master
-
-(this will require credentials).
-
-Note on squashing: Since squash discards remote branch history, repeated PRs from the same remote branch are
-difficult for merging. The workflow implies that every new PR starts with a new rebased branch. This is more
-important for contributors to know, rather than for committers, because if new PR is not mergeable, github
-would warn to begin with. Anyway, watch for dupe PRs (based on same source branches). This is a bad practice.
-
-## Closing a PR without committing
-
-When we want to reject a PR (close without committing), just do the following commit on master's HEAD
-*without merging the PR*:
-
- git commit --allow-empty -m "closes #ZZ *Won't fix*"
- git push apache master
-
-that should close PR without merging and any code modifications in the master repository.
-
-## Apache/github integration features
-
-Read [[4]]. Issue handles mentioned in comments and PR name should post to mailing lists and Jira.
-
-
-[1]: https://help.github.com/articles/creating-a-pull-request
-[2]: https://help.github.com/articles/merging-a-pull-request#merging-locally
-[3]: https://help.github.com/articles/closing-issues-via-commit-messages
-[4]: https://blogs.apache.org/infra/entry/improved_integration_between_apache_and

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/oldsite/developers/gsoc.md
----------------------------------------------------------------------
diff --git a/website-old/oldsite/developers/gsoc.md b/website-old/oldsite/developers/gsoc.md
deleted file mode 100644
index 1005724..0000000
--- a/website-old/oldsite/developers/gsoc.md
+++ /dev/null
@@ -1,65 +0,0 @@
----
-layout: default
-title: GSOC
-theme:
- name: retro-mahout
----
-
-# Google Summer of Code
-
-Mahout has been mentoring students in Google Summer of Code (GSoC) for as long as
-the project has existed. To help students better understand what is
-expected of them, this page lays out common advice, links and other tips
-and tricks for successfully creating a GSoC proposal for Mahout.
-
-Be warned, however, that GSoC, particularly at the Apache Software
-Foundation (ASF), is fairly competitive. Not only are you competing
-against others within Mahout, but Mahout is competing with other projects
-in the ASF. Therefore, it is very important that proposals be well
-referenced and well thought out. Even if you don't get selected, consider
-sticking around. Open source is fun, a great career builder and can open up many
-opportunities for you.
-
-## Tips on Good Proposals
-
-* Interact with the community before proposal time. This is actually part
-of how we rate proposals. Having a good idea is just one part of the
-process. You must show you can communicate and work within the community
-parameters. You might even consider putting up a patch or two that shows
-you get how things work. See [How To Contribute](how-to-contribute.html).
-* Since Machine Learning is fairly academic, be sure to cite your sources
-in your proposal.
-* Provide a realistic timeline. Be sure you indicate what other
-obligations you have during the summer. It may seem worthwhile to lie
-here, but we have failed students mid-term in the past because they did not
-participate as they said they would. Failing mid-term means not getting
-paid.
-* Do not mail mentors off list privately unless it is something truly
-personal (most things are not). This will likely decrease your chances of
-being selected, not increase them.
-* DO NOT BITE OFF MORE THAN YOU CAN CHEW. Every year, there are a few
-students who propose to implement 3-5 machine learning algorithms on
-Map/Reduce, all in a two month period. They NEVER get selected. Be
-realistic. All successful projects to date follow, more or less, the
-following formula: Implement algorithm on Map/Reduce. Write Unit Tests.
-Do some bigger scale tests. Write 1 or 2 examples. Write Wiki
-documentation. That's it. Trust us, it takes a summer to do these things.
-
-
-## What to expect once selected
-
-* Just as in the proposals, almost all interaction should take place on the
-mailing lists. Only personal matters related to your whereabouts or your
-evaluation will take place privately.
-* Show up. Ask questions. Be engaged. We don't care if you know it all
-about what you are implementing. We care about you contributing to open
-source. You learn. We learn. Win-win.
-* Enjoy it! Contributing to open source can open some amazing doors for
-your career.
-
-<a name="GSOC-References"></a>
-## References
-
- * [GSoC Home](http://code.google.com/soc/) - official GSoC page
- * [GSoC FAQ](http://socghop.appspot.com/document/show/gsoc_program/google/gsoc2010/faqs) - official FAQ
- * [Apache GSoC coordination](http://community.apache.org/gsoc.html) - official Apache GSoC documentation, especially important if you want to become a mentor
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/oldsite/developers/how-to-become-a-committer.md
----------------------------------------------------------------------
diff --git a/website-old/oldsite/developers/how-to-become-a-committer.md b/website-old/oldsite/developers/how-to-become-a-committer.md
deleted file mode 100644
index 37e683f..0000000
--- a/website-old/oldsite/developers/how-to-become-a-committer.md
+++ /dev/null
@@ -1,28 +0,0 @@
----
-layout: default
-title: How To Become A Committer
-theme:
- name: retro-mahout
----
-
-# How to become a committer
-
-While there's no exact criteria for becoming a committer, there is a fairly
-obvious path to becoming a committer.
-
-For starters, one should be familiar with the [Apache Way ](http://www.apache.org/foundation/how-it-works.html), especially the part about meritocracy.
-
-Second, participate in the mailing lists, help answer questions when you
-can and do so in a respectful manner. This is often more important than
-writing amazing code.
-
-Third, write code, add patches, stick with them and be patient. Add unit
-tests and documentation. In general, tackling 3 or 4 decent patches is
-where the bar is at, but it depends on the state of the project. In the
-earlier stages of the project, the bar is a bit lower, so it pays to join
-early!
-
-Finally, it is then up to someone to nominate them to the PMC. Typically,
-one of the existing committers does this by sending an email to the private
-PMC mailing list (***@m.a.o, where m.a.o is mahout.apache.org) and then
-the PMC votes on it. Nominations often occur internal to the PMC as well.

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/oldsite/developers/how-to-contribute.md
----------------------------------------------------------------------
diff --git a/website-old/oldsite/developers/how-to-contribute.md b/website-old/oldsite/developers/how-to-contribute.md
deleted file mode 100644
index 9b70124..0000000
--- a/website-old/oldsite/developers/how-to-contribute.md
+++ /dev/null
@@ -1,154 +0,0 @@
----
-layout: default
-title: How To Contribute
-theme:
- name: retro-mahout
----
-
-# How to contribute
-
-*Contributing to an Apache project* is about more than just writing code --
-it's about doing what you can to make the project better. There are lots
-of ways to contribute!
-
-<a name="HowToContribute-BeInvolved"></a>
-## Get Involved
-
-Discussions at Apache happen on the mailing list. To get involved, you should join the [Mahout mailing lists](/general/mailing-lists,-irc-and-archives.html). In particular:
-
-* The **user list** (to help others)
-* The **development list** (to join discussions of changes) -- This is the best place
-to understand where the project is headed.
-* The **commit list** (to see changes as they are made)
-
-Please keep discussions about Mahout on list so that everyone benefits.
-Emailing individual committers with questions about specific Mahout issues
-is discouraged. See [http://people.apache.org/~hossman/#private_q](http://people.apache.org/~hossman/#private_q)
-. Apache has a number of [email tips for contributors][1] as well.
-
-<a name="HowToContribute-WhattoWorkOn?"></a>
-## What to Work On?
-
-What do you like to work on? There are a ton of things in Mahout that we
-would love to have contributions for: documentation, performance improvements, better tests, etc.
-The best place to start is by looking into our [issue tracker](https://issues.apache.org/jira/browse/MAHOUT) and
-seeing what bugs have been reported and seeing if any look like you could
-take them on. Small, well written, well tested patches are a great way to
-get your feet wet. It could be something as simple as fixing a typo. The
-more important piece is you are showing you understand the necessary steps
-for making changes to the code. Mahout is a pretty big beast at this
-point, so changes, especially from non-committers, need to be evolutionary
-not revolutionary since it is often very difficult to evaluate the merits
-of a very large patch. Think small, at least to start!
-
-Beyond JIRA, hang out on the dev@ mailing list. That's where we discuss
-what we are working on in the internals and where you can get a sense of
-where people are working.
-
-Also, documentation is a great way to familiarize yourself with the code
-and is always a welcome addition to the codebase and this website. Feel free
-to contribute texts and tutorials! Committers will make sure they are added
-to this website, and we have a [guide for making website updates][2].
-We also have a [wide variety of books and slides][3] for learning more about
-machine learning algorithms.
-
-If you are interested in working towards being a committer, [general guidelines are available online](/developers/how-to-become-a-committer.html).
-
-<a name="HowToContribute-ContributingCode(Features,BigFixes,Tests,etc...)"></a>
-## Contributing Code (Features, Big Fixes, Tests, etc...)
-
-This section identifies the ''optimal'' steps community member can take to
-submit a changes or additions to the Mahout code base. This can be new
-features, bug fixes optimizations of existing features, or tests of
-existing code to prove it works as advertised (and to make it more robust
-against possible future changes).
-
-Please note that these are the "optimal" steps, and community members that
-don't have the time or resources to do everything outlined on this below
-should not be discouraged from submitting their ideas "as is" per "Yonik
-Seeley's (Solr committer) Law of Patches":
-
-*A half-baked patch in Jira, with no documentation, no tests and no backwards compatibility is better than no patch at all.*
-
-Just because you may not have the time to write unit tests, or cleanup
-backwards compatibility issues, or add documentation, doesn't mean other
-people don't. Putting your patch out there allows other people to try it
-and possibly improve it.
-
-<a name="HowToContribute-Gettingthesourcecode"></a>
-## Getting the source code
-
-First of all, you need to get the [Mahout source code](/developers/version-control.html). Most development is done on the "trunk". Mahout mirrors its codebase on [GitHub](https://github.com/apache/mahout). The first step to making a contribution is to fork Mahout's master branch to your GitHub repository.
-
-
-<a name="HowToContribute-MakingChanges"></a>
-## Making Changes
-
-Before you start, you should send a message to the [Mahout developer mailing list](/general/mailing-lists,-irc-and-archives.html)
-(note: you have to subscribe before you can post), or file a ticket in our [issue tracker](/developers/issue-tracker.html).
-Describe your proposed changes and check that they fit in with what others are doing and have planned for the project. Be patient, it may take folks a while to understand your requirements.
-
- 1. Create a JIRA Issue (if one does not already exist or you haven't already)
- 2. Pull the code from your GitHub repository
- 3. Ensure that you are working with the latest code from the [apache/mahout](https://github.com/apache/mahout) master branch.
- 3. Modify the source code and add some (very) nice features.
- - Be sure to adhere to the following points:
- - All public classes and methods should have informative Javadoc
- comments.
- - Code should be formatted according to standard
- [Java coding conventions](http://www.oracle.com/technetwork/java/codeconventions-150003.pdf),
- with two exceptions:
- - indent two spaces per level, not four.
- - lines can be 120 characters, not 80.
- - Contributions should pass existing unit tests.
- - New unit tests should be provided to demonstrate bugs and fixes.
- 4. Commit the changes to your local repository.
- 4. Push the code back up to your GitHub repository.
- 5. Create a [Pull Request](https://help.github.com/articles/creating-a-pull-request) to the to apache/mahout repository on Github.
- - Include the corresponding JIRA Issue number and description in the title of the pull request:
- - ie. MAHOUT-xxxx: < JIRA-Issue-Description >
- 6. Committers and other members of the Mahout community can then comment on the Pull Request. Be sure to watch for comments, respond and make any necessary changes.
-
-Please be patient. Committers are busy people too. If no one responds to your Pull Request after a few days, please make friendly reminders on the mailing list. Please
-incorporate other's suggestions into into your changes if you think they're reasonable. Finally, remember that even changes that are not committed are useful to the community.
-
-<a name="HowToContribute-UnitTests"></a>
-#### Unit Tests
-
-Please make sure that all unit tests succeed before creating your Pull Request.
-
-Run *mvn clean test*, if you see *BUILD SUCCESSFUL* after the tests have finished, all is ok, but if you see *BUILD FAILED*,
-please carefully read the errors messages and check your code.
-
-#### Do's and Don'ts
-
-Please do not:
-
-* reformat code unrelated to the bug being fixed: formatting changes should
-be done in separate issues.
-* comment out code that is now obsolete: just remove it.
-* insert comments around each change, marking the change: folks can use
-subversion to figure out what's changed and by whom.
-* make things public which are not required by end users.
-
-Please do:
-
-* try to adhere to the coding style of files you edit;
-* comment code whose function or rationale is not obvious;
-* update documentation (e.g., ''package.html'' files, the website, etc.)
-
-
-<a name="HowToContribute-Review/ImproveExistingPatches"></a>
-## Review/Improve Existing Pull Requests
-
-If there's a JIRA issue that already has a Pull Request with changes that you think are really good, and works well for you -- please add a comment saying so. If there's room
-for improvement (more tests, better javadocs, etc...) then make the changes on your GitHub branch and add a comment about them. If a lot of people review a Pull Request and give it a
-thumbs up, that's a good sign for committers when deciding if it's worth spending time to review it -- and if other people have already put in
-effort to improve the docs/tests for an issue, that helps even more.
-
-For more information see [Handling GitHub PRs](http://mahout.apache.org/developers/github.html).
-
-
- [1]: http://www.apache.org/dev/contrib-email-tips
- [2]: http://mahout.apache.org/developers/how-to-update-the-website.html
- [3]: http://mahout.apache.org/general/books-tutorials-and-talks.html
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/oldsite/developers/how-to-release.md
----------------------------------------------------------------------
diff --git a/website-old/oldsite/developers/how-to-release.md b/website-old/oldsite/developers/how-to-release.md
deleted file mode 100644
index b3c4b28..0000000
--- a/website-old/oldsite/developers/how-to-release.md
+++ /dev/null
@@ -1,173 +0,0 @@
----
-layout: default
-title: How To Release
-theme:
- name: retro-mahout
----
-
-# How To Release Mahout
-
-
-*This page is prepared for Mahout committers. You need committer rights to
-create a new Mahout release.*
-
-<a name="HowToRelease-ReleasePlanning"></a>
-# Release Planning
-
-Start a discussion on mahout-dev about having a release, questions to bring
-up include:
-
- * Any [Unresolved JIRA issues for the upcoming release ](-https://issues.apache.org/jira/secure/issuenavigator!executeadvanced.jspa?jqlquery=project+%3d+mahout+and+resolution+%3d+unresolved+and+fixversion+%3d+%220.6%22&runquery=true&clear=true.html)
- * Any [Resolved or Closed JIRA issues missing a "Fix Version" ](-https://issues.apache.org/jira/secure/issuenavigator!executeadvanced.jspa?jqlquery=project+%3d+mahout+and+%28status+%3d+resolved+or+status+%3d+closed%29+and+fixversion+is+null+and+resolution+%3d+fixed&runquery=true&clear=true.html)
- that should be marked as fixed in this release?
- * Does any documentation need an update?
- * Who is going to be the release engineer?
- * What day should be targeted for the release? Leave buffer time for a code freeze and release candidate testing; make sure at least a few people commit to having time to help test the release candidates around the target date.
-
-
-<a name="HowToRelease-CodeFreeze"></a>
-# Code Freeze
-
-For 7-14 days prior to the release target date, have a "code freeze" where
-committers agree to only commit things if they:
-
- * Are documentation improvements (including fixes to eliminate Javadoc
-warnings)
- * Are new test cases that improve test coverage
- * Are bug fixes found because of improved test coverage
- * Are new tests and bug fixes for new bugs encountered by manually testing
-
-<a name="HowToRelease-StepsForReleaseEngineer"></a>
-# Steps For Release Engineer
-
-<a name="HowToRelease-Beforebuildingrelease"></a>
-## Before building release
-1. Check that all tests pass after a clean compile: `mvn clean test`
-1. Check that there are no remaining unresolved Jira issues with the upcoming version number listed as the "Fix" version
-1. Publish any previously unpublished third-party dependenciess: [Thirdparty Dependencies](thirdparty-dependencies.html)
-1. Build and preview resulting artifacts:
- ```bash
- cd buildtools
- ./build-all-release-jars.sh
- ```
-1. Make sure packages will come out looking right
-
-<a name="HowToRelease-Makingarelease"></a>
-## Making a release
-* Check if documentation needs an update
-* *Needs correction* Update the web site's news by updating a working copy of the SVN directory at https://svn.apache.org/repos/asf/mahout/site/new_website
-* *Needs clarification* Commit these changes. It is important to do this prior to the build so that it is reflected in the copy of the website included with the release for documentation purposes.
-* If this is your first release, add your key to the KEYS file (located on GitHub at https://github.com/apache/mahout/master/distribution/KEYS) and copy it to the release directory. Make sure you commit your change. See http://www.apache.org/dev/release-signing.html.
-* Ensure you have set up standard Apache committer settings in
- ~/.m2/settings.xml as per [this page](http://maven.apache.org/developers/committer-settings.html)
-.
-* Add a profile to your `~/.m2/settings.xml` in the `<profiles>` section with:
-
-```
-<profiles>
- <profile>
- <id>mahout_release</id>
- <properties>
- <gpg.keyname>1234BEEF</gpg.keyname>
- <gpg.passphrase>YOUR_SIGNING_PASSCODE_HERE</gpg.passphrase>
- <deploy.altRepository>mahout.releases::default::https://repository.apache.org/service/local/staging/deploy/maven2/</deploy.altRepository>
- <username>USERNAME</username>
- <deploy.url>https://repository.apache.org/service/local/staging/deploy/maven2/</deploy.url>
- </properties>
- </profile>
-</profiles>
-```
-
-* You may also need to add the following to the `<servers>` section in `~/.m2/settings.xml` in order to upload artifacts (as the `-Dusername=` `-Dpassword=` didn't work for gsingers for 0.8, but this did; n.b. it didn't work for akm for the 0.13 release):
-```
-<server>
- <id>apache.releases.https</id>
- <username>USERNAME</username>
- <password>PASSWORD</password>
-</server>
-```
-
-* *Clarify which env var is better or choose one* Set environment variable `MAVEN_OPTS` to `-Xmx1024m` to ensure the tests can run: `export JAVA_OPTIONS="-Xmx1g"`
-* If you are outside the US, then svn.apache.org may not resolve to the main US-based Subversion servers. (Compare the IP address you get for svn.apache.org with svn.us.apache.org to see if they are different.) This will cause problems during the release since it will create a revision and then immediately access, but, there is a replication lag of perhaps a minute to the non-US servers. To temporarily force using the US-based server, edit your equivalent of /etc/hosts and map the IP address of svn.us.apache.org to svn.apache.org.
-* Create the release candidate: `mvn -Pmahout-release,apache-release release:prepare release:perform`
-* If you have problems authenticating to svn.apache.org, try adding to the command line `-Dusername=USERNAME -Dpassword=PASSWORD`
-* If there is an issue first try doing: `mvn -Dmahout-release,apache-release release:rollback` followed by `mvn -Dmahout-release,apache-release,hadoop2 release:clean` as this will likely save you time and do the right thing. You may also have to rollback the version numbers in the POM files. If you want to skip test cases while rebuilding, use `mvn -DpreparationGoals="clean compile" release:prepare release:perform`
-* Review the artifacts, etc. on the Apache Repository (using Sonatype's Nexus application) site: https://repository.apache.org/. You will need to login using your ASF SVN credentials and then browse to the staging area.
-* Once you have reviewed the artifacts, you will need to "Close" out
-the staging area under Nexus, which then makes the artifacts available for
-others to see.
- 1. Log in to Nexus
- 1. Click the Staging Repositories link in the left hand menu
- 1. Click the Mahout staged artifact that was just uploaded by the
-release:perform target
- 1. Click Close in the toolbar. See https://docs.sonatype.org/display/Repository/Closing+a+Staging+Repository for a picture
- 1. Copy the "Repository URL" link to your email; it should be formed like https://repository.apache.org/content/repositories/orgapachemahout-024/
-* Call a VOTE on ***@mahout.apache.org. Votes require 3 days before passing. See Apache [release policy|http://www.apache.org/foundation/voting.html#ReleaseVotes] for more info.
-* If there's a problem, you need to unwind the release and start all over.
-
-```
-mvn -Pmahout-release,apache-release versions:set -DnewVersion=PREVIOUS_SNAPSHOT
-mvn -Pmahout-release,apache-release versions:commit
-git commit
-git push --delete apache <tagname> (deletes the remote tag)
-git tag -d tagname (deletes the local tag)
-```
-
-* Release the artifact in the Nexus Repository in the same way you closed it earlier.
-* Add your key to the KEYS file at http://www.apache.org/dist/mahout/<version>/
-* Copy the assemblies and their supporting files (tar.gz, zip, tar.bz2, plus .asc, .md5, .pom, .sha1 files) to the ASF mirrors at: people.apache.org:/www/www.apache.org/dist/mahout/<version>/. You should make sure the group "mahout" owns the files and that they are read only (-r--r--r-- in UNIX-speak). See [Guide To Distributing Existing Releases Through The ASF Mirrors|http://jakarta.apache.org/site/convert-to-mirror.html?Step-By-Step] and the links that are there.
- * cd /www/www.apache.org/dist/mahout
- * mkdir <VERSION>
- * cd <VERSION>
- * wget -e robots=off --no-check-certificate -np -r
-https://repository.apache.org/content/groups/public/org/apache/mahout/apache-mahout-distribution/<VERSION>/
- * mv
-repository.apache.org/content/groups/public/org/apache/mahout/mahout-distribution/0.8/*
-.
- * rm -rf repository.apache.org/
- * rm index.html
-* Wait 24 hours for release to propagate to mirrors.
-* Clean up JIRA: Bulk close all X.Y JIRA issues. Mark the Version
-number as being released (see Manage Versions.) Add the next version
-(X.Y+1) if necessary.
-* Update release version on http://mahout.apache.org/ and
-http://en.wikipedia.org/wiki/Apache_Mahout
-*
-https://cwiki.apache.org/confluence/display/MAHOUT/How+To+Update+The+Website
-* Send announcements to the user and developer lists.
-
-
-
-See also:
-
-* http://maven.apache.org/developers/release/releasing.html
-*
-http://www.sonatype.com/books/nexus-book/reference/staging-sect-deployment.html
-* http://www.sonatype.com/books/nexus-book/reference/index.html
-
-
-### Post Release
-## Versioning
-* Create the next version in JIRA (if it doesn't already exist)
-* Mark the version as "released" in JIRA (noting the release date)
-
-## Documentation
-* Change wiki to match current best practices (remove/change deprecations,
-etc)
-
-## Publicity
-* update freshmeat
-* blog away
-* Update MLOSS entry: http://mloss.org/revision/view/387/. See Grant for
-details.
-
-## Related Resources
-
-* http://www.apache.org/dev/#releases
-* http://www.apache.org/dev/#mirror
-
-# TODO: Things To Cleanup in this document
-
-* more specifics about things to test before starting or after packaging
-(RAT, run scripts against example, etc...)
-* include info about [Voting | http://www.apache.org/foundation/voting.html#ReleaseVotes]

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/oldsite/developers/how-to-update-the-website.md
----------------------------------------------------------------------
diff --git a/website-old/oldsite/developers/how-to-update-the-website.md b/website-old/oldsite/developers/how-to-update-the-website.md
deleted file mode 100644
index 0c21c68..0000000
--- a/website-old/oldsite/developers/how-to-update-the-website.md
+++ /dev/null
@@ -1,16 +0,0 @@
----
-layout: default
-title: How To Update The Website
-theme:
- name: retro-mahout
----
-
-# How to update the Mahout Website
-
-Website updates are handled by updating code in the trunk.
-
-You will find markdown pages in `mahout/website`.
-
-Jenkins rebuilds and publishes the website whenever a change is detected in master.
-
-`mahout/website/build_site.sh` contains the script that is used to do this.

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/oldsite/developers/issue-tracker.md
----------------------------------------------------------------------
diff --git a/website-old/oldsite/developers/issue-tracker.md b/website-old/oldsite/developers/issue-tracker.md
deleted file mode 100644
index c16f7c8..0000000
--- a/website-old/oldsite/developers/issue-tracker.md
+++ /dev/null
@@ -1,46 +0,0 @@
----
-layout: default
-title: Issue Tracker
-theme:
- name: retro-mahout
----
-
-# Issue tracker
-
-
-Mahout's issue tracker is located [here](http://issues.apache.org/jira/browse/MAHOUT).
-For most changes (apart from trivial stuff) Mahout works according to a review-then-commit model.
-This means anything that is to be added is first presented as a patch in the issue tracker. All conversations in the issue tracker are automatically
-echoed on the developer mailing list and people tend to respond or continue
-conversations there rather in the issue tracker, so in order to follow an
-issue you also have to read to the <a href="http://mahout.apache.org/general/mailing-lists,-irc-and-archives.html">mailing lists</a>.
-
-An issue does not literally have to be an issue. It could be a wish, task,
-bug report, etc. and it does not have to contain a patch.
-
-Mahout uses [JIRA](https://confluence.atlassian.com/display/JIRA/JIRA+Documentation) by Atlassian.
-
-<a name="IssueTracker-Bestpractise"></a>
-#### Best practices
-
-Don't create duplicate issues. Make sure your problem is a problem and that
-nobody else already fixed it. If you are new to the project, it is often
-preferred that the subject of an issue is discussed on one of our mailing
-lists before an issue is created - in particular when it comes to adding new functionality.
-
-Quote only what it is you are responding to in comments.
-
-Patches should be created at trunk or trunk parent level and if possible be
-a single uncompressed text file so it is easy to inspect the patch in a web
-browser. (See [Patch Check List](/developers/patch-check-list.html)
-.)
-
-Use the issue identity when referring to an issue in any discussion.
-"MAHOUT-n" and not "mahout-n" or "n". MAHOUT-1 would automatically be
-linked to [MAHOUT-1](http://issues.apache.org/jira/browse/MAHOUT-1)
- in a better world.
-
-A note to committers: Make sure to mention the issue id in each commit. Not only has
-JIRA the capability of auto-linking commits to the issue they are related to
-that way, it also makes it easier to get further information for a specific commit
-when browsing through the commit log and within the commit mailing list.

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/oldsite/developers/patch-check-list.md
----------------------------------------------------------------------
diff --git a/website-old/oldsite/developers/patch-check-list.md b/website-old/oldsite/developers/patch-check-list.md
deleted file mode 100644
index 0e77064..0000000
--- a/website-old/oldsite/developers/patch-check-list.md
+++ /dev/null
@@ -1,29 +0,0 @@
----
-layout: default
-title: Patch Check List
-theme:
- name: retro-mahout
----
-
-# Patch Check List
-
-So, you want to merge a contribution- or you want to know in more detail what committers look for in your contribution?
-Here are tips, traps, etc. for dealing with
-PRs:
-
- - Did the author write unit tests? Are the unit tests worthwhile?
- - Are the licenses correct on newly added files? Has an ASF license been
-granted?
- - Make sure you update JIRA by assigning the issue to you so that others
-know you are working on it.
- - How is the documentation, especially the javadocs?
- - Before committing, make sure you add any new documents to your local Git repo.
- - Run all unit tests, verify that all tests pass.
- - Lastly, update the [CHANGELOG](https://github.com/apache/mahout/blob/master/CHANGELOG) file. Give proper credit to the authors.
-
-After the above steps are verified and completed, and the contribution is ready to merge, follow the steps in the "Merging a PR" section in: [Handling Github PRs](http://mahout.apache.org/developers/github.html).
-
- - Remember to update the issue status in JIRA when you have completed it.
-
-
-
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/oldsite/developers/thirdparty-dependencies.md
----------------------------------------------------------------------
diff --git a/website-old/oldsite/developers/thirdparty-dependencies.md b/website-old/oldsite/developers/thirdparty-dependencies.md
deleted file mode 100644
index 04511d4..0000000
--- a/website-old/oldsite/developers/thirdparty-dependencies.md
+++ /dev/null
@@ -1,30 +0,0 @@
----
-layout: default
-title: Thirdparty Dependencies
-theme:
- name: retro-mahout
----
-
-# Adding Thirdparty Dependencies in Maven
-
-If you have a dependency on a third party artifact that is not in Maven,
-you should:
-
-
-* Ask the project to add it if at all possible. Most open source projects
-want wider adoption, so this kind of request is often well received.
-* If they won't add it, we may be able to add it to our Maven repo,
-assuming it can be published at the ASF at all (no GPL code, for instance).
- Please ask on the mailing list first.
-* Assuming it can be, then you need to sign and deploy the artifacts, as
-described below:
-
-*mvn gpg:sign-and-deploy-file -Durl=https://repository.apache.org/service/local/staging/deploy/maven2 -DrepositoryId=apache.releases.https -DgroupId=org.apache.mahout.foobar -DartifactId=foobar -Dversion=x.y -Dpackaging=jar -Dfile=foobar-x.y.jar*
-
-* Once it is deployed, go into [http://repository.apache.org/](http://repository.apache.org/) by using your SVN
-credentials to login in
-* Select Staging
-* Find your repository artifacts
-* Close them (this makes them publicly available, since you are closing the
-staging repo)
-* Promote them. This adds them to the public Maven repo.

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/oldsite/developers/version-control.md
----------------------------------------------------------------------
diff --git a/website-old/oldsite/developers/version-control.md b/website-old/oldsite/developers/version-control.md
deleted file mode 100644
index 809ca6b..0000000
--- a/website-old/oldsite/developers/version-control.md
+++ /dev/null
@@ -1,38 +0,0 @@
----
-layout: default
-title: Version Control
-theme:
- name: retro-mahout
----
-
-# Version control access
-
-The Mahout source is mirrored in the **[Apache Mahout GitHub](https://github.com/apache/mahout)** repository.
-
-<a name="VersionControl-WebAccess(read-only)"></a>
-## Web Access (read-only)
-
-The source code can be browsed via the Web at [https://github.com/apache/mahout](https://github.com/apache/mahout).
-
-<a name="VersionControl-AnonymousAccess(read-only)"></a>
-## Anonymous Access (read-only)
-
-The Git URL for anonymous users is [https://github.com/apache/mahout.git](https://github.com/apache/mahout.git).
-
-<a name="VersionControl-CommitterAccess(read-write)"></a>
-## Committer Access (read-write)
-
-The Git URL for committers is [https://git-wip-us.apache.org/repos/asf/mahout.git](https://git-wip-us.apache.org/repos/asf/mahout.git).
-
-## Mahout Website
-The Mahout website resides in the [Apache SVN repository](https://svn.apache.org/viewvc/mahout/site).
-
-The SVN URL for the Mahout site is: [https://svn.apache.org/repos/asf/mahout/site](https://svn.apache.org/repos/asf/mahout/site).
-
-The Mahout website can be edited via the [ASF CMS Editor](http://www.apache.org/dev/cms.html) or by checking out the source locally from SVN. A handy tool for publising the website locally while editing is available [here](https://gist.github.com/tuxdna/11223434).
-
-
-<a name="VersionControl-Issues"></a>
-## Issues
-
-All bugs, improvements, [pull requests](http://mahout.apache.org/developers/github.html), etc. should be logged in our [issue tracker](https://mahout.apache.org/developers/issue-tracker.html).
\ No newline at end of file
a***@apache.org
2017-12-21 04:52:48 UTC
Permalink
http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/front/developers/publish-website.md
----------------------------------------------------------------------
diff --git a/website-old/front/developers/publish-website.md b/website-old/front/developers/publish-website.md
deleted file mode 100644
index ded65ee..0000000
--- a/website-old/front/developers/publish-website.md
+++ /dev/null
@@ -1,123 +0,0 @@
----
-layout: default
-title: How to Publish Website
-theme:
- name: mahout2
----
-
-## Publishing Docs
-
-This is the most common use case as new docs are published at least with every version release. They are also updated
-much more frequently as new algorithms and other features are added.
-
-#### Step 1. Checkout current website from Subversion.
-
-At the terminal:
-
- svn co https://svn.apache.org/repos/asf/mahout asf-mahout
-
-
-#### Step 2. Check the Version you're building
-
-Open `mahout/website/docs/_config.yml`
-
-Edit the `BASE_PATH` variable (near line 59), set this to the version you wish to publish.
-
-
-#### Step 3. Build Website:
-
- cd $MAHOUT_HOME/website/docs
- JEKYLL_ENV=production bundle exec jekyll build
-
-
-#### Step 4. Build Scala / Java Docs
-
-From the mahout source top level directory, use maven to build Scala and Java Docs, and copy them to the `mahout/website/docs/_site`
-
- cd _site
- mkdir scaladocs
- cd ../../../
-
- cd math-scala
- mvn scala:doc
- cp target/site/scaladocs ../website/docs/_site/scaladocs/math-scala -r
-
- cd ../spark
- mvn scala:doc
- cp target/site/scaladocs ../website/docs/_site/scaladocs/spark -r
-
-
-To build javadocs, make sure you are on Java 7 (`sudo update-alternatives --config java`)
-
- cd ..
- mvn javadoc:aggregate
- cp target/site/apidocs website/docs/_site/javadocs -r
-
-
-If you changed the version number in Step 2, be sure to edit `website/docs/_includes/navbar.html` with a new version.
-
-#### Step 5. Copy `_site` to Subversion
-
-From Mahout top level directory
-
-Delete old version if exists
-
- rm ../asf-mahout/site/mahout_cms/trunk/content/docs/<version> -r
- cp website/docs/_site ../asf-mahout/site/mahout_cms/trunk/content/docs/<version> -r
-
-Where **<version>** is the version you set in Step 2.
-
-#### Step 6. Publish Site
-
- cd /path/to/asf-mahout
- svn add site/mahout_cms/trunk/content/docs/<version>
- svn commit
-
-This will "publish" to http://mahout.staging.apache.org Now would be a good time to go do some QA (quality assurance) load
-up the site and check that your links works, esp in the area you were working on.
-
-When you're ready to publish, go to https://cms.apache.org/mahout/ and click publish.
-
-## Publishing Front Site
-
-
-#### Step 1. Checkout current website from Subversion.
-
-At the terminal:
-
- svn co https://svn.apache.org/repos/asf/mahout asf-mahout
-
-
-#### Step 2. Build Website:
-
-
- cd $MAHOUT_HOME/website/front
- JEKYLL_ENV=production bundle exec jekyll build
-
-
-#### Step 3. Copy `_site` to Subversion
-
-From Mahout top level directory
-
- cp website/front/_site/. ../asf-mahout/site/mahout_cms/trunk/content/ -r
-
-
-
-#### Step 6. Publish Site
-
- cd /path/to/asf-mahout
- svn status | grep '?' | sed 's/^.* /svn add /' | bash
- svn commit
-
-
-`svn status | grep '?' | sed 's/^.* /svn add /' | bash` is a clever trick that will pick up any new files. It's the equivelent
-to `git add --all` use with care. You could also manually add files with `svn add path/to/file`
-
-
-This will "publish" to http://mahout.staging.apache.org Now would be a good time to go do some QA (quality assurance) load
-up the site and check that your links works, esp in the area you were working on.
-
-When you're ready to publish, go to https://cms.apache.org/mahout/ and click publish.
-
-
-
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/front/developers/release-notes.md
----------------------------------------------------------------------
diff --git a/website-old/front/developers/release-notes.md b/website-old/front/developers/release-notes.md
deleted file mode 100644
index d893688..0000000
--- a/website-old/front/developers/release-notes.md
+++ /dev/null
@@ -1,249 +0,0 @@
----
-layout: default
-title: Release notes
-theme:
- name: mahout2
----
-
-
-# Release Notes
-
-#### 17 April 2017 - Apache Mahout 0.13.0 released
-
-This release contains a big shift in the approach to computation in the project. We are including a new capability to compute matrix math directly on the GPU, resulting in significant performance improvements.
-
-Changes in 0.13 are detailed [here](http://mahout.apache.org/release-notes/Apache-Mahout-0.13.0-Release-Notes.pdf).
-
-#### 11 April 2016 - Apache Mahout 0.12.0 released
-
-This release marks a major milestone for the “Samsara” environment’s goal
-of providing an engine neutral math platform by now supporting Apache Flink.
-While still experimental, the mahout Flink bindings now offer all of the R-Like
-semantics for linear algebra operations, matrix decompositions,
-and algorithms of the “Samsara” platform for execution on a Flink back-end.
-
-This release gives users of Apache Flink out of the box access to the following features (and more):
-
-<ol>
-<li>The Mahout Distributed Row Matrix (DRM) API.</li>
-<li>Distributed and local Vector and Matrix algebra routines.</li>
-<li>Distributed and local Stochastic Principal Component Analysis.</li>
-<li>Distributed and local Stochastic Singular Value Decomposition.</li>
-<li>Distributed and local Thin QR Decomposition.</li>
-<li>Collaborative Filtering.</li>
-<li>Naive Bayes Classification.</li>
-<li>Matrix operations (only listing a few here):
-<ol>
-<li>Mahout-native blockified distributed Matrix map and allreduce routines.</li>
-<li>Distributed data point (row) sampling.</li>
-<li>Matrix/Matrix Squared Distance.</li>
-<li>Element-wise log.</li>
-<li>Element-wise roots.</li>
-<li>Element-wise Matrix/Matrix addition, subtraction, division and multiplication.</li>
-<li>Functional Matrix value assignment.</li>
-<li>A familiar Scala-based R-like DSL.</li>
-</ol>
-</ol>
-
-#### 11 March 2016 - Apache Mahout 0.11.2 released
-
-This is a minor release over Mahout 0.11.1 meant to introduce major
-performance enhancements with sparse matrix and vector computations, and
-major performance optimizations to the Samsara DSL. Mahout 0.11.2 includes
-all new features and bug fixes released in Mahout versions 0.11.0 and
-0.11.1.
-
-Highlights include:
-
-* Spark 1.5.2 support
-* Performance improvements of over 30% on Sparse Vector and Matrix
- computations leveraging the ‘fastutil’ library - contribution from
- Sebastiano Vigna. This speeds up all in-core sparse vector and matrix
- computations.
-
-
-#### 06 November 2015 - Apache Mahout 0.11.1 released
-
-This is a minor release over Mahout 0.11.0 meant to expand Mahout’s
-compatibility with Spark versions, to introduce some new features and to
-fix some bugs. Mahout 0.11.1 includes all new features and bug fixes
-released in Mahout versions 0.11.0 and earlier.
-
-Highlights include:
-
-* Spark 1.4+ support
-* 4x Performance improvement in Dot Product over Dense Vectors (https://issues.apache.org/jira/browse/MAHOUT-1781)
-
-
-#### 07 August 2015 - Apache Mahout 0.11.0 released
-
-Mahout 0.11.0 includes all new features and bugfixes released in Mahout versions 0.10.1
-and 0.10.2 along with support for Spark 1.3+.
-
-Highlights include:
-
-* Spark 1.3 support
-* Fixes for a major memory usage bug in co-occurrence analysis used by the driver spark-itemsimilarity. This will now require far less memory in the executor.
-* Some minor fixes to Mahout-Samsara QR Decomposition and matrix ops.
-* All of the Mahout Samsara fixes from 0.10.2 Release
-
-
-#### 06 August 2015 - Apache Mahout 0.10.2 released
-
-Highlights include:
-
-* In-core transpose view rewrites. Modifiable transpose views eg. (for (col <- a.t) col := 5).
-* Performance and parallelization improvements for AB', A'B, A'A spark physical operators.
-* Optional structural "flavor" abstraction for in-core matrices. In-core matrices can now be tagged as e.g. sparse or dense.
-* %*% optimization based on matrix flavors.
-* In-core ::= sparse assignment functions.
-* Assign := optimization (do proper traversal based on matrix flavors, similarly to %*%).
-* Adding in-place elementwise functional assignment (e.g. mxA := exp _, mxA ::= exp _).
-* Distributed and in-core version of simple elementwise analogues of scala.math._. for example, for log(x) the convention is dlog(drm), mlog(mx), vlog(vec). Unfortunately we cannot overload these functions over what is done in scala.math, i.e. scala would not allow log(mx) or log(drm) and log(Double) at the same time, mainly because they are being defined in different packages.
-* Distributed and in-core first and second moment routines. R analogs: mean(), colMeans(), rowMeans(), variance(), sd(). By convention, distributed versions are prepended by (d) letter: colMeanVars() colMeanStdevs() dcolMeanVars() dcolMeanStdevs().
-* Distance and squared distance matrix routines. R analog: dist(). Provide both squared and non-squared Euclidean distance matrices. By convention, distributed versions are prepended by (d) letter: dist(x), sqDist(x), dsqDist(x). Also a variation for pair-wise distance matrix of two different inputs x and y: sqDist(x,y), dsqDist(x,y).
-* DRM row sampling api.
-* Distributed performance bug fixes. This relates mostly to (a) matrix multiplication deficiencies, and (b) handling parallelism.
-* Distributed engine neutral allreduceBlock() operator api for Spark and H2O.
-* Distributed optimizer operators for elementwise functions. Rewrites recognizing e.g. 1+ drmX * dexp(drmX) as a single fused elementwise physical operator: elementwiseFunc(f1(f2(drmX)) where f1 = 1 + x and f2 = exp(x).
-* More cbind, rbind flavors (e.g. 1 cbind mxX, 1 cbind drmX or the other way around) for Spark and H2O.
-* Added +=: and *=: operators on vectors.
-* Closeable API for broadcast tensors.
-* Support for conversion of any type-keyed DRM into ordinally-keyed DRM.
-* Scala logging style.
-* rowSumsMap() summary for non-int-keyed DRMs.
-* elementwise power operator ^ .
-* R-like vector concatenation operator.
-* In-core functional assignments e.g.: mxA := { (x) => x * x}.
-* Straighten out behavior of Matrix.iterator() and iterateNonEmpty().
-* New mutable transposition view for in-core matrices. In-core matrix transpose view. rewrite with mostly two goals in mind: (1) enable mutability, e.g. for (col <- mxA.t) col := k (2) translate matrix structural flavor for optimizers correctly. i.e. new SparseRowMatrix.t carries on as column-major structure.
-* Native support for kryo serialization of tensor types.
-* Deprecation of the MultiLayerPerceptron, ConcatenateVectorsJob and all related classes.
-* Deprecation of SparseColumnMatrix.
-
-#### 31 May 2015 - Apache Mahout 0.10.1 released
-
-Highlights include:
-
-* Major memory use improvements in cooccurrence analysis including the spark-itemsimilarity driver [MAHOUT-1707](https://issues.apache.org/jira/browse/MAHOUT-1707)
-* Support for Spark version 1.2.2 or less.
-* Some minor fixes to Mahout-Samsara QR Decomposition and matrix ops.
-* Trim down packages size to < 200MB MAHOUT-1704 and MAHOUT-1706
-* Minor testing indicates binary compatibility with Spark 1.3 with the exception of the Mahout Shell.
-
-#### 11 April 2015 - Apache Mahout 0.10.0 released
-
-Mahout 0.10.0 was a major release, which separates out a ML environment (we call Mahout-Samsara) including an
-extended version of Scala that is largely backend independent but runs fully on Spark. The Hadoop MapReduce versions of
-Mahout algorithms are still maintained but no new MapReduce contributions are accepted. From this release onwards
-contributions must be Mahout Samsara based or at least run on Spark.
-
-Highlights include:
-
-New Mahout Samsara Environment
-
-* Distributed Algebraic optimizer
-* R-Like DSL Scala API
-* Linear algebra operations
-* Ops are extensions to Scala
-* Scala REPL based interactive shell running on Spark
-* Integrates with compatible libraries like MLlib
-* Run on distributed Spark
-* H2O in progress
-
-New Mahout Samsara based Algorithms
-
-* Stochastic Singular Value Decomposition (ssvd, dssvd)
-* Stochastic Principal Component Analysis (spca, dspca)
-* Distributed Cholesky QR (thinQR)
-* Distributed regularized Alternating Least Squares (dals)
-* Collaborative Filtering: Item and Row Similarity
-* Naive Bayes Classification
-* Distributed and in-core
-
-Changes in 0.10.0 are detailed <a href="https://github.com/apache/mahout/blob/mahout-0.10.0/CHANGELOG">here</a>
-
-#### 1 February 2014 - Apache Mahout 0.9 released
-
- <p>Highlights include:</p>
-
- <ul>
- <li>New and improved Mahout website based on Apache CMS - <a href="https://issues.apache.org/jira/browse/MAHOUT-1245">MAHOUT-1245</a></li>
- <li>Early implementation of a Multi Layer Perceptron (MLP) classifier - <a href="https://issues.apache.org/jira/browse/MAHOUT-1265">MAHOUT-1265</a>.</li>
- <li>Scala DSL Bindings for Mahout Math Linear Algebra. See <a href="http://weatheringthrutechdays.blogspot.com/2013/07/scala-dsl-for-mahout-in-core-linear.html">this blogpost</a> - <a href="https://issues.apache.org/jira/browse/MAHOUT-1297">MAHOUT-1297</a></li>
- <li>Recommenders as a Search. See <a href="https://github.com/pferrel/solr-recommender">https://github.com/pferrel/solr-recommender</a> - <a href="https://issues.apache.org/jira/browse/MAHOUT-1288">MAHOUT-1288</a></li>
- <li>Support for easy functional Matrix views and derivatives - <a href="https://issues.apache.org/jira/browse/MAHOUT-1300">MAHOUT-1300</a></li>
- <li>JSON output format for ClusterDumper - <a href="https://issues.apache.org/jira/browse/MAHOUT-1343">MAHOUT-1343</a></li>
- <li>Enable randomised testing for all Mahout modules using Carrot RandomizedRunner - <a href="https://issues.apache.org/jira/browse/MAHOUT-1345">MAHOUT-1345</a></li>
- <li>Online Algorithm for computing accurate Quantiles using 1-dimensional Clustering - <a href="https://issues.apache.org/jira/browse/MAHOUT-1361">MAHOUT-1361</a>. See this <a href="https://github.com/tdunning/t-digest/blob/master/docs/theory/t-digest-paper/histo.pdf">pdf</a> for the details.
- <li>Upgrade to Lucene 4.6.1 - <a href="https://issues.apache.org/jira/browse/MAHOUT-1364">MAHOUT-1364</a></li>
- </ul>
-
- <p>Changes in 0.9 are detailed <a href="http://svn.apache.org/viewvc/mahout/trunk/CHANGELOG?view=markup&pathrev=1563661">here</a>.</p>
-
-#### 25 July 2013 - Apache Mahout 0.8 released
-
- <p>Highlights include:</p>
-
- <ul>
- <li>Numerous performance improvements to Vector and Matrix implementations, API's and their iterators</li>
- <li>Numerous performance improvements to the recommender implementations</li>
- <li><a href="https://issues.apache.org/jira/browse/MAHOUT-1088" class="external-link" rel="nofollow">MAHOUT-1088</a>: Support for biased item-based recommender</li>
- <li><a href="https://issues.apache.org/jira/browse/MAHOUT-1089" class="external-link" rel="nofollow">MAHOUT-1089</a>: SGD matrix factorization for rating prediction with user and item biases</li>
- <li><a href="https://issues.apache.org/jira/browse/MAHOUT-1106" class="external-link" rel="nofollow">MAHOUT-1106</a>: Support for SVD++</li>
- <li><a href="https://issues.apache.org/jira/browse/MAHOUT-944" class="external-link" rel="nofollow">MAHOUT-944</a>: Support for converting one or more Lucene storage indexes to SequenceFiles as well as an upgrade of the supported Lucene version to Lucene 4.3.1.</li>
- <li><a href="https://issues.apache.org/jira/browse/MAHOUT-1154" class="external-link" rel="nofollow">MAHOUT-1154</a> and friends: New streaming k-means implementation that offers on-line (and fast) clustering</li>
- <li><a href="https://issues.apache.org/jira/browse/MAHOUT-833" class="external-link" rel="nofollow">MAHOUT-833</a>: Make conversion to SequenceFiles Map-Reduce, 'seqdirectory' can now be run as a MapReduce job.</li>
- <li><a href="https://issues.apache.org/jira/browse/MAHOUT-1052" class="external-link" rel="nofollow">MAHOUT-1052</a>: Add an option to MinHashDriver that specifies the dimension of vector to hash (indexes or values).</li>
- <li><a href="https://issues.apache.org/jira/browse/MAHOUT-884" class="external-link" rel="nofollow">MAHOUT-884</a>: Matrix Concat utility, presently only concatenates two matrices.</li>
- <li><a href="https://issues.apache.org/jira/browse/MAHOUT-1187" class="external-link" rel="nofollow">MAHOUT-1187</a>: Upgraded to CommonsLang3</li>
- <li><a href="https://issues.apache.org/jira/browse/MAHOUT-916" class="external-link" rel="nofollow">MAHOUT-916</a>: Speedup the Mahout build by making tests run in parallel.</li>
-
- </ul>
-
- <p>Changes in 0.8 are detailed <a href="http://svn.apache.org/viewvc/mahout/trunk/CHANGELOG?revision=1501110&view=markup">here</a>.</p>
-
-#### 16 June 2012 - Apache Mahout 0.7 released
-
- <p>Highlights include:</p>
-
- <ul>
- <li>Outlier removal capability in K-Means, Fuzzy K, Canopy and Dirichlet Clustering</li>
- <li>New Clustering implementation for K-Means, Fuzzy K, Canopy and Dirichlet using Cluster Classifiers</li>
- <li>Collections and Math API consolidated</li>
- <li>(Complementary) Naive Bayes refactored and cleaned</li>
- <li>Watchmaker and Old Naive Bayes dropped.</li>
- <li>Many bug fixes, refactorings, and other small improvements</li>
- </ul>
-
- <p>Changes in 0.7 are detailed <a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12310751&version=12319261">here</a>.</p>
-
-
-
-#### 6 Feb 2012 - Apache Mahout 0.6 released
-
- <p>Highlights include:</p>
-
- <ul>
- <li>Improved Decision Tree performance and added support for regression problems</li>
- <li>New LDA implementation using Collapsed Variational Bayes 0th Derivative Approximation</li>
- <li>Reduced runtime of LanczosSolver tests</li>
- <li>K-Trusses, Top-Down and Bottom-Up clustering, Random Walk with Restarts implementation</li>
- <li>Reduced runtime of dot product between vectors</li>
- <li>Added MongoDB and Cassandra DataModel support</li>
- <li>Increased efficiency of parallel ALS matrix factorization</li>
- <li>SSVD enhancements</li>
- <li>Performance improvements in RowSimilarityJob, TransposeJob</li>
- <li>Added numerous clustering display examples</li>
- <li>Many bug fixes, refactorings, and other small improvements</li>
- </ul>
-
- <p>Changes in 0.6 are detailed <a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12310751&version=12316364">here</a>.</p>
-
-#### Past Releases
-
- * [Mahout 0.5](https://issues.apache.org/jira/secure/ReleaseNote.jspa?version=12315255&styleName=Text&projectId=12310751&Create=Create&atl_token=A5KQ-2QAV-T4JA-FDED|20f0d06214912accbd47acf2f0a89231ed00a767|lin)
- * [Mahout 0.4](https://issues.apache.org/jira/secure/ReleaseNote.jspa?version=12314281&styleName=Text&projectId=12310751&Create=Create&atl_token=A5KQ-2QAV-T4JA-FDED|20f0d06214912accbd47acf2f0a89231ed00a767|lin)
- * [Mahout 0.3](https://issues.apache.org/jira/secure/ReleaseNote.jspa?version=12314281&styleName=Text&projectId=12310751&Create=Create&atl_token=A5KQ-2QAV-T4JA-FDED|20f0d06214912accbd47acf2f0a89231ed00a767|lin)
- * [Mahout 0.2](https://issues.apache.org/jira/secure/ReleaseNote.jspa?version=12313278&styleName=Text&projectId=12310751&Create=Create&atl_token=A5KQ-2QAV-T4JA-FDED|20f0d06214912accbd47acf2f0a89231ed00a767|lin)
- * [Mahout 0.1](https://issues.apache.org/jira/secure/ReleaseNote.jspa?version=12312976&styleName=Html&projectId=12310751&Create=Create&atl_token=A5KQ-2QAV-T4JA-FDED%7C48e83cdefb8bca42acf8f129692f8c3a05b360cf%7Clout)
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/front/developers/version-control.md
----------------------------------------------------------------------
diff --git a/website-old/front/developers/version-control.md b/website-old/front/developers/version-control.md
deleted file mode 100644
index f488785..0000000
--- a/website-old/front/developers/version-control.md
+++ /dev/null
@@ -1,38 +0,0 @@
----
-layout: default
-title: Thirdparty Dependencies
-theme:
- name: mahout2
----
-
-# Version control access
-
-The Mahout source is mirrored in the **[Apache Mahout GitHub](https://github.com/apache/mahout)** repository.
-
-<a name="VersionControl-WebAccess(read-only)"></a>
-## Web Access (read-only)
-
-The source code can be browsed via the Web at [https://github.com/apache/mahout](https://github.com/apache/mahout).
-
-<a name="VersionControl-AnonymousAccess(read-only)"></a>
-## Anonymous Access (read-only)
-
-The Git URL for anonymous users is [https://github.com/apache/mahout.git](https://github.com/apache/mahout.git).
-
-<a name="VersionControl-CommitterAccess(read-write)"></a>
-## Committer Access (read-write)
-
-The Git URL for committers is [https://git-wip-us.apache.org/repos/asf/mahout.git](https://git-wip-us.apache.org/repos/asf/mahout.git).
-
-## Mahout Website
-The Mahout website resides in the [Apache SVN repository](https://svn.apache.org/viewvc/mahout/site).
-
-The SVN URL for the Mahout site is: [https://svn.apache.org/repos/asf/mahout/site](https://svn.apache.org/repos/asf/mahout/site).
-
-The Mahout website can be edited via the [ASF CMS Editor](http://www.apache.org/dev/cms.html) or by checking out the source locally from SVN. A handy tool for publising the website locally while editing is available [here](https://gist.github.com/tuxdna/11223434).
-
-
-<a name="VersionControl-Issues"></a>
-## Issues
-
-All bugs, improvements, [pull requests](http://mahout.apache.org/developers/github.html), etc. should be logged in our [issue tracker](https://mahout.apache.org/developers/issue-tracker.html).
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/front/downloads.md
----------------------------------------------------------------------
diff --git a/website-old/front/downloads.md b/website-old/front/downloads.md
deleted file mode 100644
index 8f33466..0000000
--- a/website-old/front/downloads.md
+++ /dev/null
@@ -1,67 +0,0 @@
----
-layout: default
-title: Downloads
-theme: mahout
----
-
-<a name="Downloads-OfficialRelease"></a>
-# Official Release
-Apache Mahout is an official Apache project and thus available from any of
-the Apache mirrors. The latest Mahout release is available for download at:
-
-* [Download Latest](http://www.apache.org/dyn/closer.cgi/mahout/)
-* [Release Archive](http://archive.apache.org/dist/mahout/)
-
-
-# Source code for the current snapshot
-
-Apache Mahout is mirrored to [Github](https://github.com/apache/mahout). To get all source:
-
- git clone https://github.com/apache/mahout.git mahout
-
-# Environment
-
-Whether you are using Mahout's Shell, running command line jobs or using it as a library to build your own apps
-you'll need to setup several environment variables.
-Edit your environment in ```~/.bash_profile``` for Mac or ```~/.bashrc``` for many linux distributions. Add the following
-
- export MAHOUT_HOME=/path/to/mahout
- export MAHOUT_LOCAL=true # for running standalone on your dev machine,
- # unset MAHOUT_LOCAL for running on a cluster
-
-If you are running on Spark you will also need $SPARK_HOME
-
-Make sure to have $JAVA_HOME set also
-
-# Using Mahout as a Library
-
-Running any application that uses Mahout will require installing a binary or source version and setting the environment.
-Then add the appropriate setting to your pom.xml or build.sbt following the template below.
-
-If you only need the math part of Mahout:
-
- <dependency>
- <groupId>org.apache.mahout</groupId>
- <artifactId>mahout-math</artifactId>
- <version>${mahout.version}</version>
- </dependency>
-
-In case you would like to use some of our integration tooling (e.g. for generating vectors from Lucene):
-
- <dependency>
- <groupId>org.apache.mahout</groupId>
- <artifactId>mahout-hdfs</artifactId>
- <version>${mahout.version}</version>
- </dependency>
-
-In case you are using Ivy, Gradle, Buildr, Grape or SBT you might want to directly head over to the official [Maven Repository search](http://mvnrepository.com/artifact/org.apache.mahout/mahout-core).
-
-
-<a name="Downloads-FutureReleases"></a>
-# Future Releases
-
-Official releases are usually created when the developers feel there are
-sufficient changes, improvements and bug fixes to warrant a release. Watch
-the <a href="https://mahout.apache.org/general/mailing-lists,-irc-and-archives.html">Mailing lists</a>
- for latest release discussions and check the Github repo.
-

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/front/index.md
----------------------------------------------------------------------
diff --git a/website-old/front/index.md b/website-old/front/index.md
deleted file mode 100644
index ab66336..0000000
--- a/website-old/front/index.md
+++ /dev/null
@@ -1,148 +0,0 @@
----
-layout: page
-theme:
- name: mahout2
----
-
-
-<div class="container-fluid">
- <div class="row">
- <div class="col-md-8">
- <div class="row">
- <div class="col-s-12">
- <div class="mahoutBox1">
- <h4> Apache Mahout(TM) is a <b>distributed linear algebra framework</b> and <b>mathematically expressive Scala DSL</b>
- designed to let mathematicians, statisticians, and data scientists quickly <i>implementent their own algorithms</i>.
- Apache Spark is the reccomended out-of-the-box distributed back-end, <i>or can be extended to other distributed backends.</i></h4>
- </div></div>
- </div> <!-- row -->
- <div class="row">
- <div class="col-xs-4">
- <div class="mahoutBox3"><b>Mathematically Expressive Scala DSL</b>
- </div></div>
- <div class="col-xs-4">
- <div class="mahoutBox2"><b>Support for Multiple Distributed Backends (including Apache Spark)</b>
- </div></div>
- <div class="col-xs-4">
- <div class="mahoutBox2"><b>Modular Native Solvers for CPU/GPU/CUDA Acceleration</b>
- </div></div>
- </div> <!-- row -->
- </div>
- <div class="col-md-4">
- <div class="mahoutBox2 col-md-11">
- <div class='jekyll-twitter-plugin'>
- <a class="twitter-timeline" data-width="300" data-height="300" data-tweet-limit="4" data-chrome="nofooter" href="https://twitter.com/ApacheMahout">Tweets by ApacheMahout</a>
- <script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script>
- </div></div>
- </div>
- </div>
-</div>
-
-<!--
-<div class="container">
- <div class="row">
- <div class="col-9">
- <div class="mahoutBox1">
- <h4> Apache Mahout(TM) is a <b>distributed linear algebra framework</b> and <b>mathematically expressive Scala DSL</b>
- designed to let mathematicians, statisticians, and data scientists quickly <i>implementent their own algorithms</i>.
- Apache Spark is the reccomended out-of-the-box distributed back-end, <i>or can be extended to other distributed backends.</i></h4>
- </div>
- </div> <!-- col9 -->
-<!--
-<div class="col-3">
- <div class="row">
- <div class="col-md-12 col-sm-12 col-xs-12 text-center">
- <div class='jekyll-twitter-plugin'><a class="twitter-timeline" data-width="500" data-tweet-limit="4" data-chrome="nofooter" href="https://twitter.com/ApacheMahout">Tweets by ApacheMahout</a>
- <script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script></div>
- </div>
- <div class="col-md-12 col-sm-12 col-xs-12 text-center twitterBtn">
- <p style="text-align:center; margin-top: 32px; font-size: 12px; color: gray; font-weight: 200; font-style: italic; padding-bottom: 0;">See more tweets or</p>
- <a href="https://twitter.com/ApacheMahout" target="_blank" class="btn btn-primary btn-lg round" role="button">Follow Mahout on &nbsp;<i class="fa fa-twitter fa-lg" aria-hidden="true"></i></a>
- </div>
- </div>
-</div>
-</div>
-<div class="row">
-
-<!-- Jumbotron -->
-
-<!--
- <div class="newMahout col-md-4 col-sm-4">
- <h4>Simple and <br/>Extensible</h4>
- <div class="viz">
- <p>
- Build your own algorithms using Mahouts R like interface. See an example in this
- <a href="" target="_blank">demo</a>
- </p>
- </div>
- </div>
- <div class="newMahout col-md-4 col-sm-4">
- <h4>Support for Multiple <br/>Distributed Backends</h4>
- <div class="multi">
- <p>
- Custom bindings for Spark, Flink, and H20 enable a write once run anywhere machine learning platform
- </p>
- </div>
- </div>
- <div class="newMahout col-md-4 col-sm-4">
- <h4>Introducing Samsara an R<br/> dsl for writing ML algos</h4>
- <div class="personal">
- <p>
- Use this capability to write algorithms at scale, that will run on any backend
- </p>
- </div>
- </div>
-</div>
-<div class="border row">
- <div class="newMahout col-md-4 col-sm-4">
- <h4>Support for GPUs</h4>
- <p>
- Distributed GPU Matrix-Matrix and Matrix-Vector multiplication on Spark along with sparse and dense matrix GPU-backed support.
- </p>
- </div>
- <div class="newMahout col-md-4 col-sm-4">
- <h4>Extensible Algorithms Framework</h4>
- <p>
- A new scikit-learn-like framework for algorithms with the goal for
- creating a consistent API for various machine-learning algorithms
- </p>
- </div>
- <div class="newMahout col-md-4 col-sm-4">
- <h4>0.13.1 - Future Plans</h4>
- <p>
- - JCuda native solver <br>
- - Scala 2.11 / Spark 2.x Support <br>
- - Expaned Algorithms Framework
- </p>
- </div>
-</div>
-<div class="col-md-12 col-sm-12 col-xs-12 text-center">
- <p style="text-align:center; margin-top: 32px; font-size: 14px; color: gray; font-weight: 200; font-style: italic; padding-bottom: 0;">See more details in
- <a href="tbd">0.13.0 Release Note</a>
- </p>
-</div>
-
-<aside>
- <div class="col-md-12 col-sm-6">
- <h2>Mahout Blogs</h2>
- {% for post in paginator.posts %}
- {% include tile.html %}
- {% endfor %}
- </div>
- <div class="container col-sm-6 col-md-12">
- <h2>Mahout on Twitter</h2>
- <br/>
- <div class="row">
- <div class="col-md-12 col-sm-12 col-xs-12 text-center">
- <div class='jekyll-twitter-plugin'><a class="twitter-timeline" data-width="500" data-tweet-limit="4" data-chrome="nofooter" href="https://twitter.com/ApacheMahout">Tweets by ApacheMahout</a>
- <script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script></div>
- </div>
- <div class="col-md-12 col-sm-12 col-xs-12 text-center twitterBtn">
- <p style="text-align:center; margin-top: 32px; font-size: 12px; color: gray; font-weight: 200; font-style: italic; padding-bottom: 0;">See more tweets or</p>
- <a href="https://twitter.com/ApacheMahout" target="_blank" class="btn btn-primary btn-lg round" role="button">Follow Mahout on &nbsp;<i class="fa fa-twitter fa-lg" aria-hidden="true"></i></a>
- </div>
- </div>
- </div>
-</aside>
-f-->
-

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/front/screenshots/landing.png b/website-old/front/screenshots/landing.png
deleted file mode 100644
index 734a3e8..0000000
Binary files a/website-old/front/screenshots/landing.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/oldsite/404.html
----------------------------------------------------------------------
diff --git a/website-old/oldsite/404.html b/website-old/oldsite/404.html
deleted file mode 100644
index 6904bcd..0000000
--- a/website-old/oldsite/404.html
+++ /dev/null
@@ -1 +0,0 @@
-Sorry this page does not exist =(

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/oldsite/Gemfile
----------------------------------------------------------------------
diff --git a/website-old/oldsite/Gemfile b/website-old/oldsite/Gemfile
deleted file mode 100644
index 301d29c..0000000
--- a/website-old/oldsite/Gemfile
+++ /dev/null
@@ -1,5 +0,0 @@
-source "https://rubygems.org"
-
-gem "jekyll", "~> 3.1"
-gem "jekyll-sitemap"
-gem "pygments.rb"

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/oldsite/README.md
----------------------------------------------------------------------
diff --git a/website-old/oldsite/README.md b/website-old/oldsite/README.md
deleted file mode 100644
index b5ef323..0000000
--- a/website-old/oldsite/README.md
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
-### Original Apache Mahout Site
-
-Currently running with `mahout3` theme. To switch to old theme:
-
- rake theme:switch name="mahout-retro"
-
-Also if you want to be fun, you can use the `mahout-retro` theme on the other website parts as well.
-
-
-To build come to this directory and type
-
- jekyll serve
-

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/oldsite/Rakefile
----------------------------------------------------------------------
diff --git a/website-old/oldsite/Rakefile b/website-old/oldsite/Rakefile
deleted file mode 100644
index 183ca1e..0000000
--- a/website-old/oldsite/Rakefile
+++ /dev/null
@@ -1,306 +0,0 @@
-require "rubygems"
-require 'rake'
-require 'yaml'
-require 'time'
-
-SOURCE = "."
-CONFIG = {
- 'version' => "0.3.0",
- 'themes' => File.join(SOURCE, "_includes", "themes"),
- 'layouts' => File.join(SOURCE, "_layouts"),
- 'posts' => File.join(SOURCE, "_posts"),
- 'post_ext' => "md",
- 'theme_package_version' => "0.1.0"
-}
-
-# Path configuration helper
-module JB
- class Path
- SOURCE = "."
- Paths = {
- :layouts => "_layouts",
- :themes => "_includes/themes",
- :theme_assets => "assets/themes",
- :theme_packages => "_theme_packages",
- :posts => "_posts"
- }
-
- def self.base
- SOURCE
- end
-
- # build a path relative to configured path settings.
- def self.build(path, opts = {})
- opts[:root] ||= SOURCE
- path = "#{opts[:root]}/#{Paths[path.to_sym]}/#{opts[:node]}".split("/")
- path.compact!
- File.__send__ :join, path
- end
-
- end #Path
-end #JB
-
-# Usage: rake post title="A Title" [date="2012-02-09"] [tags=[tag1,tag2]] [category="category"]
-desc "Begin a new post in #{CONFIG['posts']}"
-task :post do
- abort("rake aborted: '#{CONFIG['posts']}' directory not found.") unless FileTest.directory?(CONFIG['posts'])
- title = ENV["title"] || "new-post"
- tags = ENV["tags"] || "[]"
- category = ENV["category"] || ""
- category = "\"#{category.gsub(/-/,' ')}\"" if !category.empty?
- slug = title.downcase.strip.gsub(' ', '-').gsub(/[^\w-]/, '')
- begin
- date = (ENV['date'] ? Time.parse(ENV['date']) : Time.now).strftime('%Y-%m-%d')
- rescue => e
- puts "Error - date format must be YYYY-MM-DD, please check you typed it correctly!"
- exit -1
- end
- filename = File.join(CONFIG['posts'], "#{date}-#{slug}.#{CONFIG['post_ext']}")
- if File.exist?(filename)
- abort("rake aborted!") if ask("#{filename} already exists. Do you want to overwrite?", ['y', 'n']) == 'n'
- end
-
- puts "Creating new post: #{filename}"
- open(filename, 'w') do |post|
- post.puts "---"
- post.puts "layout: post"
- post.puts "title: \"#{title.gsub(/-/,' ')}\""
- post.puts 'description: ""'
- post.puts "category: #{category}"
- post.puts "tags: #{tags}"
- post.puts "---"
- post.puts "{% include JB/setup %}"
- end
-end # task :post
-
-# Usage: rake page name="about.html"
-# You can also specify a sub-directory path.
-# If you don't specify a file extention we create an index.html at the path specified
-desc "Create a new page."
-task :page do
- name = ENV["name"] || "new-page.md"
- filename = File.join(SOURCE, "#{name}")
- filename = File.join(filename, "index.html") if File.extname(filename) == ""
- title = File.basename(filename, File.extname(filename)).gsub(/[\W\_]/, " ").gsub(/\b\w/){$&.upcase}
- if File.exist?(filename)
- abort("rake aborted!") if ask("#{filename} already exists. Do you want to overwrite?", ['y', 'n']) == 'n'
- end
-
- mkdir_p File.dirname(filename)
- puts "Creating new page: #{filename}"
- open(filename, 'w') do |post|
- post.puts "---"
- post.puts "layout: page"
- post.puts "title: \"#{title}\""
- post.puts 'description: ""'
- post.puts "---"
- post.puts "{% include JB/setup %}"
- end
-end # task :page
-
-desc "Launch preview environment"
-task :preview do
- system "jekyll serve -w"
-end # task :preview
-
-# Public: Alias - Maintains backwards compatability for theme switching.
-task :switch_theme => "theme:switch"
-
-namespace :theme do
-
- # Public: Switch from one theme to another for your blog.
- #
- # name - String, Required. name of the theme you want to switch to.
- # The theme must be installed into your JB framework.
- #
- # Examples
- #
- # rake theme:switch name="the-program"
- #
- # Returns Success/failure messages.
- desc "Switch between Jekyll-bootstrap themes."
- task :switch do
- theme_name = ENV["name"].to_s
- theme_path = File.join(CONFIG['themes'], theme_name)
- settings_file = File.join(theme_path, "settings.yml")
- non_layout_files = ["settings.yml"]
-
- abort("rake aborted: name cannot be blank") if theme_name.empty?
- abort("rake aborted: '#{theme_path}' directory not found.") unless FileTest.directory?(theme_path)
- abort("rake aborted: '#{CONFIG['layouts']}' directory not found.") unless FileTest.directory?(CONFIG['layouts'])
-
- Dir.glob("#{theme_path}/*") do |filename|
- next if non_layout_files.include?(File.basename(filename).downcase)
- puts "Generating '#{theme_name}' layout: #{File.basename(filename)}"
-
- open(File.join(CONFIG['layouts'], File.basename(filename)), 'w') do |page|
- page.puts "---"
- page.puts File.read(settings_file) if File.exist?(settings_file)
- page.puts "layout: default" unless File.basename(filename, ".html").downcase == "default"
- page.puts "---"
- page.puts "{% include JB/setup %}"
- page.puts "{% include themes/#{theme_name}/#{File.basename(filename)} %}"
- end
- end
-
- puts "=> Theme successfully switched!"
- puts "=> Reload your web-page to check it out =)"
- end # task :switch
-
- # Public: Install a theme using the theme packager.
- # Version 0.1.0 simple 1:1 file matching.
- #
- # git - String, Optional path to the git repository of the theme to be installed.
- # name - String, Optional name of the theme you want to install.
- # Passing name requires that the theme package already exist.
- #
- # Examples
- #
- # rake theme:install git="https://github.com/jekyllbootstrap/theme-twitter.git"
- # rake theme:install name="cool-theme"
- #
- # Returns Success/failure messages.
- desc "Install theme"
- task :install do
- if ENV["git"]
- manifest = theme_from_git_url(ENV["git"])
- name = manifest["name"]
- else
- name = ENV["name"].to_s.downcase
- end
-
- packaged_theme_path = JB::Path.build(:theme_packages, :node => name)
-
- abort("rake aborted!
- => ERROR: 'name' cannot be blank") if name.empty?
- abort("rake aborted!
- => ERROR: '#{packaged_theme_path}' directory not found.
- => Installable themes can be added via git. You can find some here: http://github.com/jekyllbootstrap
- => To download+install run: `rake theme:install git='[PUBLIC-CLONE-URL]'`
- => example : rake theme:install git='***@github.com:jekyllbootstrap/theme-the-program.git'
- ") unless FileTest.directory?(packaged_theme_path)
-
- manifest = verify_manifest(packaged_theme_path)
-
- # Get relative paths to packaged theme files
- # Exclude directories as they'll be recursively created. Exclude meta-data files.
- packaged_theme_files = []
- FileUtils.cd(packaged_theme_path) {
- Dir.glob("**/*.*") { |f|
- next if ( FileTest.directory?(f) || f =~ /^(manifest|readme|packager)/i )
- packaged_theme_files << f
- }
- }
-
- # Mirror each file into the framework making sure to prompt if already exists.
- packaged_theme_files.each do |filename|
- file_install_path = File.join(JB::Path.base, filename)
- if File.exist? file_install_path and ask("#{file_install_path} already exists. Do you want to overwrite?", ['y', 'n']) == 'n'
- next
- else
- mkdir_p File.dirname(file_install_path)
- cp_r File.join(packaged_theme_path, filename), file_install_path
- end
- end
-
- puts "=> #{name} theme has been installed!"
- puts "=> ---"
- if ask("=> Want to switch themes now?", ['y', 'n']) == 'y'
- system("rake switch_theme name='#{name}'")
- end
- end
-
- # Public: Package a theme using the theme packager.
- # The theme must be structured using valid JB API.
- # In other words packaging is essentially the reverse of installing.
- #
- # name - String, Required name of the theme you want to package.
- #
- # Examples
- #
- # rake theme:package name="twitter"
- #
- # Returns Success/failure messages.
- desc "Package theme"
- task :package do
- name = ENV["name"].to_s.downcase
- theme_path = JB::Path.build(:themes, :node => name)
- asset_path = JB::Path.build(:theme_assets, :node => name)
-
- abort("rake aborted: name cannot be blank") if name.empty?
- abort("rake aborted: '#{theme_path}' directory not found.") unless FileTest.directory?(theme_path)
- abort("rake aborted: '#{asset_path}' directory not found.") unless FileTest.directory?(asset_path)
-
- ## Mirror theme's template directory (_includes)
- packaged_theme_path = JB::Path.build(:themes, :root => JB::Path.build(:theme_packages, :node => name))
- mkdir_p packaged_theme_path
- cp_r theme_path, packaged_theme_path
-
- ## Mirror theme's asset directory
- packaged_theme_assets_path = JB::Path.build(:theme_assets, :root => JB::Path.build(:theme_packages, :node => name))
- mkdir_p packaged_theme_assets_path
- cp_r asset_path, packaged_theme_assets_path
-
- ## Log packager version
- packager = {"packager" => {"version" => CONFIG["theme_package_version"].to_s } }
- open(JB::Path.build(:theme_packages, :node => "#{name}/packager.yml"), "w") do |page|
- page.puts packager.to_yaml
- end
-
- puts "=> '#{name}' theme is packaged and available at: #{JB::Path.build(:theme_packages, :node => name)}"
- end
-
-end # end namespace :theme
-
-# Internal: Download and process a theme from a git url.
-# Notice we don't know the name of the theme until we look it up in the manifest.
-# So we'll have to change the folder name once we get the name.
-#
-# url - String, Required url to git repository.
-#
-# Returns theme manifest hash
-def theme_from_git_url(url)
- tmp_path = JB::Path.build(:theme_packages, :node => "_tmp")
- abort("rake aborted: system call to git clone failed") if !system("git clone #{url} #{tmp_path}")
- manifest = verify_manifest(tmp_path)
- new_path = JB::Path.build(:theme_packages, :node => manifest["name"])
- if File.exist?(new_path) && ask("=> #{new_path} theme package already exists. Override?", ['y', 'n']) == 'n'
- remove_dir(tmp_path)
- abort("rake aborted: '#{manifest["name"]}' already exists as theme package.")
- end
-
- remove_dir(new_path) if File.exist?(new_path)
- mv(tmp_path, new_path)
- manifest
-end
-
-# Internal: Process theme package manifest file.
-#
-# theme_path - String, Required. File path to theme package.
-#
-# Returns theme manifest hash
-def verify_manifest(theme_path)
- manifest_path = File.join(theme_path, "manifest.yml")
- manifest_file = File.open( manifest_path )
- abort("rake aborted: repo must contain valid manifest.yml") unless File.exist? manifest_file
- manifest = YAML.load( manifest_file )
- manifest_file.close
- manifest
-end
-
-def ask(message, valid_options)
- if valid_options
- answer = get_stdin("#{message} #{valid_options.to_s.gsub(/"/, '').gsub(/, /,'/')} ") while !valid_options.include?(answer)
- else
- answer = get_stdin(message)
- end
- answer
-end
-
-def get_stdin(message)
- print message
- STDIN.gets.chomp
-end
-
-#Load custom rake scripts
-Dir['_rake/*.rake'].each { |r| load r }

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/oldsite/_config.yml
----------------------------------------------------------------------
diff --git a/website-old/oldsite/_config.yml b/website-old/oldsite/_config.yml
deleted file mode 100644
index fd2003f..0000000
--- a/website-old/oldsite/_config.yml
+++ /dev/null
@@ -1,137 +0,0 @@
-# This is the default format.
-# For more see: http://jekyllrb.com/docs/permalinks/
-permalink: /:categories/:year/:month/:day/:title
-
-exclude: [".rvmrc", ".rbenv-version", "README.md", "Rakefile", "changelog.md"]
-highlighter: pygments
-
-title : Apache Mahout
-tagline: Distributed Linear Algebra
-author :
- name : The Apache Software Foundation
- email : ***@mahout.apache.org
- github : apache
- twitter : ASF
- feedburner : feedname
-
-# The production_url is only used when full-domain names are needed
-# such as sitemap.txt
-# Most places will/should use BASE_PATH to make the urls
-#
-# If you have set a CNAME (pages.github.com) set your custom domain here.
-# Else if you are pushing to username.github.io, replace with your username.
-# Finally if you are pushing to a GitHub project page, include the project name at the end.
-#
-production_url : http://mahout.apache.org
-
-gems: ["jekyll-sitemap"]
-
-# All Jekyll-Bootstrap specific configurations are namespaced into this hash
-#
-JB :
- version : 0.3.0
-
- # All links will be namespaced by BASE_PATH if defined.
- # Links in your website should always be prefixed with {{BASE_PATH}}
- # however this value will be dynamically changed depending on your deployment situation.
- #
- # CNAME (http://yourcustomdomain.com)
- # DO NOT SET BASE_PATH
- # (urls will be prefixed with "/" and work relatively)
- #
- # GitHub Pages (http://username.github.io)
- # DO NOT SET BASE_PATH
- # (urls will be prefixed with "/" and work relatively)
- #
- # GitHub Project Pages (http://username.github.io/project-name)
- #
- # A GitHub Project site exists in the `gh-pages` branch of one of your repositories.
- # REQUIRED! Set BASE_PATH to: http://username.github.io/project-name
- #
- # CAUTION:
- # - When in Localhost, your site will run from root "/" regardless of BASE_PATH
- # - Only the following values are falsy: ["", null, false]
- # - When setting BASE_PATH it must be a valid url.
- # This means always setting the protocol (http|https) or prefixing with "/"
- BASE_PATH :
-
- # By default, the asset_path is automatically defined relative to BASE_PATH plus the enabled theme.
- # ex: [BASE_PATH]/assets/themes/[THEME-NAME]
- #
- # Override this by defining an absolute path to assets here.
- # ex:
- # http://s3.amazonaws.com/yoursite/themes/watermelon
- # /assets
- #
- ASSET_PATH : false
-
- # These paths are to the main pages Jekyll-Bootstrap ships with.
- # Some JB helpers refer to these paths; change them here if needed.
- #
- archive_path: /archive.html
- categories_path : /categories.html
- tags_path : /tags.html
- atom_path : /atom.xml
- rss_path : /rss.xml
-
- # Settings for comments helper
- # Set 'provider' to the comment provider you want to use.
- # Set 'provider' to false to turn commenting off globally.
- #
-# comments :
-# provider : disqus
-# disqus :
-# short_name : jekyllbootstrap
-# livefyre :
-# site_id : 123
-# intensedebate :
-# account : 123abc
-# facebook :
-# appid : 123
-# num_posts: 5
-# width: 580
-# colorscheme: light
-# duoshuo :
-# short_name : jekyllbootstrap
-
- # Settings for analytics helper
- # Set 'provider' to the analytics provider you want to use.
- # Set 'provider' to false to turn analytics off globally.
- #
-# analytics :
-# provider : google
-# gauges :
-# site_id : 'SITE ID'
-# google :
-# tracking_id : 'UA-123-12'
-# getclicky :
-# site_id :
-# mixpanel :
-# token : '_MIXPANEL_TOKEN_'
-# piwik :
-# baseURL : 'myserver.tld/piwik' # Piwik installation address (without protocol)
-# idsite : '1' # the id of the site on Piwik
-
- # Settings for sharing helper.
- # Sharing is for things like tweet, plusone, like, reddit buttons etc.
- # Set 'provider' to the sharing provider you want to use.
- # Set 'provider' to false to turn sharing off globally.
- #
- sharing :
- provider : false
-
- # Settings for all other include helpers can be defined by creating
- # a hash with key named for the given helper. ex:
- #
- # pages_list :
- # provider : "custom"
- #
- # Setting any helper's provider to 'custom' will bypass the helper code
- # and include your custom code. Your custom file must be defined at:
- # ./_includes/custom/[HELPER]
- # where [HELPER] is the name of the helper you are overriding.
-
- analytics :
- provider : google
- google :
- tracking_id : 'UA-98314020-1'
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/oldsite/_includes/JB
----------------------------------------------------------------------
diff --git a/website-old/oldsite/_includes/JB b/website-old/oldsite/_includes/JB
deleted file mode 120000
index 78a010c..0000000
--- a/website-old/oldsite/_includes/JB
+++ /dev/null
@@ -1 +0,0 @@
-../../_includes/JB
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/oldsite/_includes/assets
----------------------------------------------------------------------
diff --git a/website-old/oldsite/_includes/assets b/website-old/oldsite/_includes/assets
deleted file mode 100644
index e69de29..0000000

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/oldsite/_includes/navbar.html
----------------------------------------------------------------------
diff --git a/website-old/oldsite/_includes/navbar.html b/website-old/oldsite/_includes/navbar.html
deleted file mode 100644
index acd6145..0000000
--- a/website-old/oldsite/_includes/navbar.html
+++ /dev/null
@@ -1,138 +0,0 @@
-<!--<div class="nav-collapse collapse">-->
-<div class="collapse navbar-collapse" id="main-navbar">
- <ul class="nav navbar-nav">
- <!-- <li><a href="{{ BASE_PATH }}/">Home</a></li> -->
- <li class="dropdown"> <a href="#" class="dropdown-toggle" data-toggle="dropdown">General<b class="caret"></b></a>
- <ul class="dropdown-menu">
- <li><a href="{{ BASE_PATH }}/general/downloads.html">Downloads</a>
- <li><a href="{{ BASE_PATH }}/general/who-we-are.html">Who we are</a>
- <li><a href="{{ BASE_PATH }}/general/mailing-lists,-irc-and-archives.html">Mailing Lists</a>
- <li><a href="{{ BASE_PATH }}/general/release-notes.html">Release Notes</a>
- <li><a href="{{ BASE_PATH }}/general/books-tutorials-and-talks.html">Books, Tutorials, Talks</a></li>
- <li><a href="{{ BASE_PATH }}/general/powered-by-mahout.html">Powered By Mahout</a>
- <li><a href="{{ BASE_PATH }}/general/professional-support.html">Professional Support</a>
- <li class="divider"></li>
- <li class="nav-header">Resources</li>
- <li><a href="{{ BASE_PATH }}/general/reference-reading.html">Reference Reading</a>
- <li><a href="{{ BASE_PATH }}/general/faq.html">FAQ</a>
- <li class="divider"></li>
- <li class="nav-header">Legal</li>
- <li><a href="http://www.apache.org/licenses/">License</a></li>
- <li><a href="http://www.apache.org/security/">Security</a></li>
- <li><a href="{{ BASE_PATH }}/general/privacy-policy.html">Privacy Policy</a>
- </ul>
- </li>
- <li class="dropdown"> <a href="#" class="dropdown-toggle" data-toggle="dropdown">Developers<b class="caret"></b></a>
- <ul class="dropdown-menu">
- <li><a href="{{ BASE_PATH }}/developers/developer-resources.html">Developer resources</a></li>
- <li><a href="{{ BASE_PATH }}/developers/version-control.html">Version control</a></li>
- <li><a href="{{ BASE_PATH }}/developers/buildingmahout.html">Build from source</a></li>
- <li><a href="{{ BASE_PATH }}/developers/issue-tracker.html">Issue tracker</a></li>
- <li><a href="https://builds.apache.org/job/Mahout-Quality/" target="_blank">Code quality reports</a></li>
- <li class="divider"></li>
- <li class="nav-header">Contributions</li>
- <li><a href="{{ BASE_PATH }}/developers/how-to-contribute.html">How to contribute</a></li>
- <li><a href="{{ BASE_PATH }}/developers/how-to-become-a-committer.html">How to become a committer</a></li>
- <li><a href="{{ BASE_PATH }}/developers/gsoc.html">GSoC</a></li>
- <li class="divider"></li>
- <li class="nav-header">For committers</li>
- <li><a href="{{ BASE_PATH }}/developers/how-to-update-the-website.html">How to update the website</a></li>
- <li><a href="{{ BASE_PATH }}/developers/patch-check-list.html">Patch check list</a></li>
- <li><a href="{{ BASE_PATH }}/developers/github.html">Handling Github PRs</a></li>
- <li><a href="{{ BASE_PATH }}/developers/how-to-release.html">How to release</a></li>
- <li><a href="{{ BASE_PATH }}/developers/thirdparty-dependencies.html">Third party dependencies</a></li>
- </ul>
- </li>
- <li class="dropdown"> <a href="#" class="dropdown-toggle" data-toggle="dropdown">Mahout-Samsara<b class="caret"></b></a>
- <ul class="dropdown-menu">
- <li><a href="{{ BASE_PATH }}/users/sparkbindings/home.html">Scala &amp; Spark Bindings Overview</a></li>
- <li><a href="{{ BASE_PATH }}/users/sparkbindings/faq.html">FAQ</a></li>
- <li><a href="{{ BASE_PATH }}/users/flinkbindings/playing-with-samsara-flink.html">Flink Bindings Overview</a></li>
- <li class="nav-header">Engines</li>
- <li><a href="{{ BASE_PATH }}/users/sparkbindings/home.html">Spark</a></li>
- <li><a href="{{ BASE_PATH }}/users/environment/h2o-internals.html">H2O</a></li>
- <li><a href="{{ BASE_PATH }}/users/flinkbindings/flink-internals.html">Flink</a></li>
- <li class="nav-header">References</li>
- <li><a href="{{ BASE_PATH }}/users/environment/in-core-reference.html">In-Core Algebraic DSL Reference</a></li>
- <li><a href="{{ BASE_PATH }}/users/environment/out-of-core-reference.html">Distributed Algebraic DSL Reference</a></li>
- <li class="nav-header">Tutorials</li>
- <li><a href="{{ BASE_PATH }}/users/sparkbindings/play-with-shell.html">Playing with Mahout's Spark Shell</a></li>
- <li><a href="{{ BASE_PATH }}/users/environment/how-to-build-an-app.html">How to build an app</a></li>
- <li><a href="{{ BASE_PATH }}/users/environment/classify-a-doc-from-the-shell.html">Building a text classifier in Mahout's Spark Shell</a></li>
- </ul>
- </li>
- <li class="dropdown"> <a href="#" class="dropdown-toggle" data-toggle="dropdown">Algorithms<b class="caret"></b></a>
- <ul class="dropdown-menu">
- <li><a href="{{ BASE_PATH }}/users/basics/algorithms.html">List of algorithms</a>
- <li class="nav-header">Distributed Matrix Decomposition</li>
- <li><a href="{{ BASE_PATH }}/users/algorithms/d-qr.html">Cholesky QR</a></li>
- <li><a href="{{ BASE_PATH }}/users/algorithms/d-ssvd.html">SSVD</a></li>
- <li><a href="{{ BASE_PATH }}/users/algorithms/d-als.html">Distributed ALS</a></li>
- <li><a href="{{ BASE_PATH }}/users/algorithms/d-spca.html">SPCA</a></li>
- <li class="nav-header">Recommendations</li>
- <li><a href="{{ BASE_PATH }}/users/algorithms/recommender-overview.html">Recommender Overview</a></li>
- <li><a href="{{ BASE_PATH }}/users/algorithms/intro-cooccurrence-spark.html">Intro to cooccurrence-based<br/> recommendations with Spark</a></li>
- <li class="nav-header">Classification</li>
- <li><a href="{{ BASE_PATH }}/users/algorithms/spark-naive-bayes.html">Spark Naive Bayes</a></li>
- </ul>
- </li>
- <li class="dropdown"> <a href="#" class="dropdown-toggle" data-toggle="dropdown">MapReduce Basics<b class="caret"></b></a>
- <ul class="dropdown-menu">
- <li><a href="{{ BASE_PATH }}/users/basics/algorithms.html">List of algorithms</a>
- <li><a href="{{ BASE_PATH }}/users/basics/quickstart.html">Overview</a>
- <li class="divider"></li>
- <li class="nav-header">Working with text</li>
- <li><a href="{{ BASE_PATH }}/users/basics/creating-vectors-from-text.html">Creating vectors from text</a>
- <li><a href="{{ BASE_PATH }}/users/basics/collocations.html">Collocations</a>
- <li class="divider"></li>
- <li class="nav-header">Dimensionality reduction</li>
- <li><a href="{{ BASE_PATH }}/users/dim-reduction/dimensional-reduction.html">Singular Value Decomposition</a></li>
- <li><a href="{{ BASE_PATH }}/users/dim-reduction/ssvd.html">Stochastic SVD</a></li>
- <li class="divider"></li>
- <li class="nav-header">Topic Models</li>
- <li><a href="{{ BASE_PATH }}/users/clustering/latent-dirichlet-allocation.html">Latent Dirichlet Allocation</a></li>
- </ul>
- </li>
- <li class="dropdown"> <a href="#" class="dropdown-toggle" data-toggle="dropdown">Mahout MapReduce<b class="caret"></b></a>
- <ul class="dropdown-menu">
- <li class="nav-header">Classification</li>
- <li><a href="{{ BASE_PATH }}/users/classification/bayesian.html">Naive Bayes</a></li>
- <li><a href="{{ BASE_PATH }}/users/classification/hidden-markov-models.html">Hidden Markov Models</a></li>
- <li><a href="{{ BASE_PATH }}/users/classification/logistic-regression.html">Logistic Regression (Single Machine)</a></li>
- <li><a href="{{ BASE_PATH }}/users/classification/partial-implementation.html">Random Forest</a></li>
- <li class="nav-header">Classification Examples</li>
- <li><a href="{{ BASE_PATH }}/users/classification/breiman-example.html">Breiman example</a></li>
- <li><a href="{{ BASE_PATH }}/users/classification/twenty-newsgroups.html">20 newsgroups example</a></li>
- <li><a href="{{ BASE_PATH }}/users/classification/bankmarketing-example.html">SGD classifier bank marketing</a></li>
- <li><a href="{{ BASE_PATH }}/users/classification/wikipedia-classifier-example.html">Wikipedia XML parser and classifier</a></li>
- <li class="nav-header">Clustering</li>
- <li><a href="{{ BASE_PATH }}/users/clustering/k-means-clustering.html">k-Means</a></li>
- <li><a href="{{ BASE_PATH }}/users/clustering/canopy-clustering.html">Canopy</a></li>
- <li><a href="{{ BASE_PATH }}/users/clustering/fuzzy-k-means.html">Fuzzy k-Means</a></li>
- <li><a href="{{ BASE_PATH }}/users/clustering/streaming-k-means.html">Streaming KMeans</a></li>
- <li><a href="{{ BASE_PATH }}/users/clustering/spectral-clustering.html">Spectral Clustering</a></li>
- <li class="nav-header">Clustering Commandline usage</li>
- <li><a href="{{ BASE_PATH }}/users/clustering/k-means-commandline.html">Options for k-Means</a></li>
- <li><a href="{{ BASE_PATH }}/users/clustering/canopy-commandline.html">Options for Canopy</a></li>
- <li><a href="{{ BASE_PATH }}/users/clustering/fuzzy-k-means-commandline.html">Options for Fuzzy k-Means</a></li>
- <li class="nav-header">Clustering Examples</li>
- <li><a href="{{ BASE_PATH }}/users/clustering/clustering-of-synthetic-control-data.html">Synthetic data</a></li>
- <li class="nav-header">Cluster Post processing</li>
- <li><a href="{{ BASE_PATH }}/users/clustering/cluster-dumper.html">Cluster Dumper tool</a></li>
- <li><a href="{{ BASE_PATH }}/users/clustering/visualizing-sample-clusters.html">Cluster visualisation</a></li>
- <li class="nav-header">Recommendations</li>
- <li><a href="{{ BASE_PATH }}/users/recommender/recommender-first-timer-faq.html">First Timer FAQ</a></li>
- <li><a href="{{ BASE_PATH }}/users/recommender/userbased-5-minutes.html">A user-based recommender <br/>in 5 minutes</a></li>
- <li><a href="{{ BASE_PATH }}/users/recommender/matrix-factorization.html">Matrix factorization-based<br/> recommenders</a></li>
- <li><a href="{{ BASE_PATH }}/users/recommender/recommender-documentation.html">Overview</a></li>
- <li><a href="{{ BASE_PATH }}/users/recommender/intro-itembased-hadoop.html">Intro to item-based recommendations<br/> with Hadoop</a></li>
- <li><a href="{{ BASE_PATH }}/users/recommender/intro-als-hadoop.html">Intro to ALS recommendations<br/> with Hadoop</a></li>
- </ul>
- </li>
- <!-- <li class="dropdown"> <a href="#" class="dropdown-toggle" data-toggle="dropdown">Recommendations<b class="caret"></b></a>
- <ul class="dropdown-menu">
-
- </ul> -->
- </li>
- </ul>
-</div><!--/.nav-collapse -->
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/oldsite/_includes/themes
----------------------------------------------------------------------
diff --git a/website-old/oldsite/_includes/themes b/website-old/oldsite/_includes/themes
deleted file mode 120000
index b1d44e6..0000000
--- a/website-old/oldsite/_includes/themes
+++ /dev/null
@@ -1 +0,0 @@
-../../_includes/themes
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/oldsite/_layouts/default.html
----------------------------------------------------------------------
diff --git a/website-old/oldsite/_layouts/default.html b/website-old/oldsite/_layouts/default.html
deleted file mode 100644
index fb9c05d..0000000
--- a/website-old/oldsite/_layouts/default.html
+++ /dev/null
@@ -1,6 +0,0 @@
----
-theme :
- name : mahout-retro
----
-{% include JB/setup %}
-{% include themes/mahout-retro/default.html %}

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/oldsite/_layouts/page.html
----------------------------------------------------------------------
diff --git a/website-old/oldsite/_layouts/page.html b/website-old/oldsite/_layouts/page.html
deleted file mode 100644
index fafefd2..0000000
--- a/website-old/oldsite/_layouts/page.html
+++ /dev/null
@@ -1,7 +0,0 @@
----
-theme :
- name : mahout-retro
-layout: default
----
-{% include JB/setup %}
-{% include themes/mahout-retro/page.html %}

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/oldsite/_layouts/post.html
----------------------------------------------------------------------
diff --git a/website-old/oldsite/_layouts/post.html b/website-old/oldsite/_layouts/post.html
deleted file mode 100644
index 44dc541..0000000
--- a/website-old/oldsite/_layouts/post.html
+++ /dev/null
@@ -1,7 +0,0 @@
----
-theme :
- name : mahout-retro
-layout: default
----
-{% include JB/setup %}
-{% include themes/mahout-retro/post.html %}

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/oldsite/_plugins/debug.rb
----------------------------------------------------------------------
diff --git a/website-old/oldsite/_plugins/debug.rb b/website-old/oldsite/_plugins/debug.rb
deleted file mode 100644
index e1dde39..0000000
--- a/website-old/oldsite/_plugins/debug.rb
+++ /dev/null
@@ -1,38 +0,0 @@
-# A simple way to inspect liquid template variables.
-# Usage:
-# Can be used anywhere liquid syntax is parsed (templates, includes, posts/pages)
-# {{ site | debug }}
-# {{ site.posts | debug }}
-#
-require 'pp'
-module Jekyll
- # Need to overwrite the inspect method here because the original
- # uses < > to encapsulate the psuedo post/page objects in which case
- # the output is taken for HTML tags and hidden from view.
- #
- class Post
- def inspect
- "#Jekyll:Post @id=#{self.id.inspect}"
- end
- end
-
- class Page
- def inspect
- "#Jekyll:Page @name=#{self.name.inspect}"
- end
- end
-
-end # Jekyll
-
-module Jekyll
- module DebugFilter
-
- def debug(obj, stdout=false)
- puts obj.pretty_inspect if stdout
- "<pre>#{obj.class}\n#{obj.pretty_inspect}</pre>"
- end
-
- end # DebugFilter
-end # Jekyll
-
-Liquid::Template.register_filter(Jekyll::DebugFilter)
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/oldsite/assets
----------------------------------------------------------------------
diff --git a/website-old/oldsite/assets b/website-old/oldsite/assets
deleted file mode 120000
index ec2e4be..0000000
--- a/website-old/oldsite/assets
+++ /dev/null
@@ -1 +0,0 @@
-../assets
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/oldsite/changelog.md
----------------------------------------------------------------------
diff --git a/website-old/oldsite/changelog.md b/website-old/oldsite/changelog.md
deleted file mode 100644
index 7965e9d..0000000
--- a/website-old/oldsite/changelog.md
+++ /dev/null
@@ -1,70 +0,0 @@
-## Changelog
-
-Public releases are all root nodes.
-Incremental version bumps that were not released publicly are nested where appropriate.
-
-P.S. If there is a standard (popular) changelog format, please let me know.
-
-- **0.3.0 : 2013.02.24**
- - **Features**
- - Update twitter bootstrap to 2.2.2. Add responsiveness and update design a bit.
- - @techotaku fixes custom tagline support (finally made it in!)
- - @opie4624 adds ability to set tags from the command-line.
- - @lax adds support for RSS feed. Adds rss and atom html links for discovery.
- - Small typo fixes.
-
- - **Bug Fixes**
- - @xuhdev fixes theme:install bug which does not overwrite theme even if saying 'yes'.
-
-- **0.2.13 : 2012.03.24**
- - **Features**
- - 0.2.13 : @mjpieters Updates pages_list helper to only show pages having a title.
- - 0.2.12 : @sway recommends showing page tagline only if tagline is set.
- - 0.2.11 : @LukasKnuth adds 'description' meta-data field to post/page scaffold.
-
- - **Bug Fixes**
- - 0.2.10 : @koriroys fixes typo in atom feed
-
-- **0.2.9 : 2012.03.01**
- - **Bug Fixes**
- - 0.2.9 : @alishutc Fixes the error on post creation if date was not specified.
-
-- **0.2.8 : 2012.03.01**
- - **Features**
- - 0.2.8 : @metalelf0 Added option to specify a custom date when creating post.
- - 0.2.7 : @daz Updates twitter theme framework to use 2.x while still maintaining core layout. #50
- @philips and @treggats add support for page.tagline metadata. #31 & #48
- - 0.2.6 : @koomar Adds Mixpanel analytics provider. #49
- - 0.2.5 : @nolith Adds ability to load custom rake scripts. #33
- - 0.2.4 : @tommyblue Updated disqus comments provider to be compatible with posts imported from Wordpress. #47
-
- - **Bug Fixes**
- - 0.2.3 : @3martini Adds Windows MSYS Support and error checks for git system calls. #40
- - 0.2.2 : @sstar Resolved an issue preventing disabling comments for individual pages #44
- - 0.2.1 : Resolve incorrect HOME\_PATH/BASE\_PATH settings
-
-- **0.2.0 : 2012.02.01**
- Features
- - Add Theme Packages v 0.1.0
- All themes should be tracked and maintained outside of JB core.
- Themes get "installed" via the Theme Installer.
- Theme Packages versioning is done separately from JB core with
- the main intent being to make sure theme versions are compatible with the given installer.
-
- - 0.1.2 : @jamesFleeting adds facebook comments support
- - 0.1.1 : @SegFaultAX adds tagline as site-wide configuration
-
-- **0.1.0 : 2012.01.24**
- First major versioned release.
- Features
- - Standardize Public API
- - Use name-spacing and modulation where possible.
- - Ability to override public methods with custom code.
- - Publish the theme API.
- - Ship with comments, analytics integration.
-
-- **0.0.1 : 2011.12.30**
- First public release, lots of updates =p
- Thank you everybody for dealing with the fast changes and helping
- me work out the API to a manageable state.
-
a***@apache.org
2017-12-21 04:52:52 UTC
Permalink
http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/docs/tutorials/map-reduce/classification/bankmarketing-example.md
----------------------------------------------------------------------
diff --git a/website-old/docs/tutorials/map-reduce/classification/bankmarketing-example.md b/website-old/docs/tutorials/map-reduce/classification/bankmarketing-example.md
deleted file mode 100644
index e348961..0000000
--- a/website-old/docs/tutorials/map-reduce/classification/bankmarketing-example.md
+++ /dev/null
@@ -1,53 +0,0 @@
----
-layout: tutorial
-title: (Deprecated)
-theme:
- name: retro-mahout
----
-
-Notice: Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements. See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership. The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License. You may obtain a copy of the License at
- .
- http://www.apache.org/licenses/LICENSE-2.0
- .
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied. See the License for the
- specific language governing permissions and limitations
- under the License.
-
-#Bank Marketing Example
-
-### Introduction
-
-This page describes how to run Mahout's SGD classifier on the [UCI Bank Marketing dataset](http://mlr.cs.umass.edu/ml/datasets/Bank+Marketing).
-The goal is to predict if the client will subscribe a term deposit offered via a phone call. The features in the dataset consist
-of information such as age, job, marital status as well as information about the last contacts from the bank.
-
-### Code & Data
-
-The bank marketing example code lives under
-
-*mahout-examples/src/main/java/org.apache.mahout.classifier.sgd.bankmarketing*
-
-The data can be found at
-
-*mahout-examples/src/main/resources/bank-full.csv*
-
-### Code details
-
-This example consists of 3 classes:
-
- - BankMarketingClassificationMain
- - TelephoneCall
- - TelephoneCallParser
-
-When you run the main method of BankMarketingClassificationMain it parses the dataset using the TelephoneCallParser and trains
-a logistic regression model with 20 runs and 20 passes. The TelephoneCallParser uses Mahout's feature vector encoder
-to encode the features in the dataset into a vector. Afterwards the model is tested and the learning rate and AUC is printed accuracy is printed to standard output.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/docs/tutorials/map-reduce/classification/breiman-example.md
----------------------------------------------------------------------
diff --git a/website-old/docs/tutorials/map-reduce/classification/breiman-example.md b/website-old/docs/tutorials/map-reduce/classification/breiman-example.md
deleted file mode 100644
index 32f8c44..0000000
--- a/website-old/docs/tutorials/map-reduce/classification/breiman-example.md
+++ /dev/null
@@ -1,67 +0,0 @@
----
-layout: tutorial
-title: (Deprecated) Breiman Example
-theme:
- name: retro-mahout
----
-
-#Breiman Example
-
-#### Introduction
-
-This page describes how to run the Breiman example, which implements the test procedure described in [Leo Breiman's paper](http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.23.3999&rep=rep1&type=pdf). The basic algorithm is as follows :
-
- * repeat *I* iterations
- * in each iteration do
- * keep 10% of the dataset apart as a testing set
- * build two forests using the training set, one with *m = int(log2(M) + 1)* (called Random-Input) and one with *m = 1* (called Single-Input)
- * choose the forest that gave the lowest oob error estimation to compute
-the test set error
- * compute the test set error using the Single Input Forest (test error),
-this demonstrates that even with *m = 1*, Decision Forests give comparable
-results to greater values of *m*
- * compute the mean testset error using every tree of the chosen forest
-(tree error). This should indicate how well a single Decision Tree performs
- * compute the mean test error for all iterations
- * compute the mean tree error for all iterations
-
-
-#### Running the Example
-
-The current implementation is compatible with the [UCI repository](http://archive.ics.uci.edu/ml/) file format. We'll show how to run this example on two datasets:
-
-First, we deal with [Glass Identification](http://archive.ics.uci.edu/ml/datasets/Glass+Identification): download the [dataset](http://archive.ics.uci.edu/ml/machine-learning-databases/glass/glass.data) file called **glass.data** and store it onto your local machine. Next, we must generate the descriptor file **glass.info** for this dataset with the following command:
-
- bin/mahout org.apache.mahout.classifier.df.tools.Describe -p /path/to/glass.data -f /path/to/glass.info -d I 9 N L
-
-Substitute */path/to/* with the folder where you downloaded the dataset, the argument "I 9 N L" indicates the nature of the variables. Here it means 1
-ignored (I) attribute, followed by 9 numerical(N) attributes, followed by
-the label (L).
-
-Finally, we build and evaluate our random forest classifier as follows:
-
- bin/mahout org.apache.mahout.classifier.df.BreimanExample -d /path/to/glass.data -ds /path/to/glass.info -i 10 -t 100
-which builds 100 trees (-t argument) and repeats the test 10 iterations (-i
-argument)
-
-The example outputs the following results:
-
- * Selection error: mean test error for the selected forest on all iterations
- * Single Input error: mean test error for the single input forest on all
-iterations
- * One Tree error: mean single tree error on all iterations
- * Mean Random Input Time: mean build time for random input forests on all
-iterations
- * Mean Single Input Time: mean build time for single input forests on all
-iterations
-
-We can repeat this for a [Sonar](http://archive.ics.uci.edu/ml/datasets/Connectionist+Bench+%28Sonar,+Mines+vs.+Rocks%29) usecase: download the [dataset](http://archive.ics.uci.edu/ml/machine-learning-databases/undocumented/connectionist-bench/sonar/sonar.all-data) file called **sonar.all-data** and store it onto your local machine. Generate the descriptor file **sonar.info** for this dataset with the following command:
-
- bin/mahout org.apache.mahout.classifier.df.tools.Describe -p /path/to/sonar.all-data -f /path/to/sonar.info -d 60 N L
-
-The argument "60 N L" means 60 numerical(N) attributes, followed by the label (L). Analogous to the previous case, we run the evaluation as follows:
-
- bin/mahout org.apache.mahout.classifier.df.BreimanExample -d /path/to/sonar.all-data -ds /path/to/sonar.info -i 10 -t 100
-
-
-

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/docs/tutorials/map-reduce/classification/twenty-newsgroups.md
----------------------------------------------------------------------
diff --git a/website-old/docs/tutorials/map-reduce/classification/twenty-newsgroups.md b/website-old/docs/tutorials/map-reduce/classification/twenty-newsgroups.md
deleted file mode 100644
index 2226e94..0000000
--- a/website-old/docs/tutorials/map-reduce/classification/twenty-newsgroups.md
+++ /dev/null
@@ -1,179 +0,0 @@
----
-layout: tutorial
-title: (Deprecated) Twenty Newsgroups
-theme:
- name: retro-mahout
----
-
-
-<a name="TwentyNewsgroups-TwentyNewsgroupsClassificationExample"></a>
-## Twenty Newsgroups Classification Example
-
-<a name="TwentyNewsgroups-Introduction"></a>
-## Introduction
-
-The 20 newsgroups dataset is a collection of approximately 20,000
-newsgroup documents, partitioned (nearly) evenly across 20 different
-newsgroups. The 20 newsgroups collection has become a popular data set for
-experiments in text applications of machine learning techniques, such as
-text classification and text clustering. We will use the [Mahout CBayes](http://mahout.apache.org/users/mapreduce/classification/bayesian.html)
-classifier to create a model that would classify a new document into one of
-the 20 newsgroups.
-
-<a name="TwentyNewsgroups-Prerequisites"></a>
-### Prerequisites
-
-* Mahout has been downloaded ([instructions here](https://mahout.apache.org/general/downloads.html))
-* Maven is available
-* Your environment has the following variables:
- * **HADOOP_HOME** Environment variables refers to where Hadoop lives
- * **MAHOUT_HOME** Environment variables refers to where Mahout lives
-
-<a name="TwentyNewsgroups-Instructionsforrunningtheexample"></a>
-### Instructions for running the example
-
-1. If running Hadoop in cluster mode, start the hadoop daemons by executing the following commands:
-
- $ cd $HADOOP_HOME/bin
- $ ./start-all.sh
-
- Otherwise:
-
- $ export MAHOUT_LOCAL=true
-
-2. In the trunk directory of Mahout, compile and install Mahout:
-
- $ cd $MAHOUT_HOME
- $ mvn -DskipTests clean install
-
-3. Run the [20 newsgroups example script](https://github.com/apache/mahout/blob/master/examples/bin/classify-20newsgroups.sh) by executing:
-
- $ ./examples/bin/classify-20newsgroups.sh
-
-4. You will be prompted to select a classification method algorithm:
-
- 1. Complement Naive Bayes
- 2. Naive Bayes
- 3. Stochastic Gradient Descent
-
-Select 1 and the the script will perform the following:
-
-1. Create a working directory for the dataset and all input/output.
-2. Download and extract the *20news-bydate.tar.gz* from the [20 newsgroups dataset](http://people.csail.mit.edu/jrennie/20Newsgroups/20news-bydate.tar.gz) to the working directory.
-3. Convert the full 20 newsgroups dataset into a < Text, Text > SequenceFile.
-4. Convert and preprocesses the dataset into a < Text, VectorWritable > SequenceFile containing term frequencies for each document.
-5. Split the preprocessed dataset into training and testing sets.
-6. Train the classifier.
-7. Test the classifier.
-
-
-Output should look something like:
-
-
- =======================================================
- Confusion Matrix
- -------------------------------------------------------
- a b c d e f g h i j k l m n o p q r s t <--Classified as
- 381 0 0 0 0 9 1 0 0 0 1 0 0 2 0 1 0 0 3 0 |398 a=rec.motorcycles
- 1 284 0 0 0 0 1 0 6 3 11 0 66 3 0 6 0 4 9 0 |395 b=comp.windows.x
- 2 0 339 2 0 3 5 1 0 0 0 0 1 1 12 1 7 0 2 0 |376 c=talk.politics.mideast
- 4 0 1 327 0 2 2 0 0 2 1 1 0 5 1 4 12 0 2 0 |364 d=talk.politics.guns
- 7 0 4 32 27 7 7 2 0 12 0 0 6 0 100 9 7 31 0 0 |251 e=talk.religion.misc
- 10 0 0 0 0 359 2 2 0 0 3 0 1 6 0 1 0 0 11 0 |396 f=rec.autos
- 0 0 0 0 0 1 383 9 1 0 0 0 0 0 0 0 0 3 0 0 |397 g=rec.sport.baseball
- 1 0 0 0 0 0 9 382 0 0 0 0 1 1 1 0 2 0 2 0 |399 h=rec.sport.hockey
- 2 0 0 0 0 4 3 0 330 4 4 0 5 12 0 0 2 0 12 7 |385 i=comp.sys.mac.hardware
- 0 3 0 0 0 0 1 0 0 368 0 0 10 4 1 3 2 0 2 0 |394 j=sci.space
- 0 0 0 0 0 3 1 0 27 2 291 0 11 25 0 0 1 0 13 18|392 k=comp.sys.ibm.pc.hardware
- 8 0 1 109 0 6 11 4 1 18 0 98 1 3 11 10 27 1 1 0 |310 l=talk.politics.misc
- 0 11 0 0 0 3 6 0 10 6 11 0 299 13 0 2 13 0 7 8 |389 m=comp.graphics
- 6 0 1 0 0 4 2 0 5 2 12 0 8 321 0 4 14 0 8 6 |393 n=sci.electronics
- 2 0 0 0 0 0 4 1 0 3 1 0 3 1 372 6 0 2 1 2 |398 o=soc.religion.christian
- 4 0 0 1 0 2 3 3 0 4 2 0 7 12 6 342 1 0 9 0 |396 p=sci.med
- 0 1 0 1 0 1 4 0 3 0 1 0 8 4 0 2 369 0 1 1 |396 q=sci.crypt
- 10 0 4 10 1 5 6 2 2 6 2 0 2 1 86 15 14 152 0 1 |319 r=alt.atheism
- 4 0 0 0 0 9 1 1 8 1 12 0 3 0 2 0 0 0 341 2 |390 s=misc.forsale
- 8 5 0 0 0 1 6 0 8 5 50 0 40 2 1 0 9 0 3 256|394 t=comp.os.ms-windows.misc
- =======================================================
- Statistics
- -------------------------------------------------------
- Kappa 0.8808
- Accuracy 90.8596%
- Reliability 86.3632%
- Reliability (standard deviation) 0.2131
-
-
-
-
-
-<a name="TwentyNewsgroups-ComplementaryNaiveBayes"></a>
-## End to end commands to build a CBayes model for 20 newsgroups
-The [20 newsgroups example script](https://github.com/apache/mahout/blob/master/examples/bin/classify-20newsgroups.sh) issues the following commands as outlined above. We can build a CBayes classifier from the command line by following the process in the script:
-
-*Be sure that **MAHOUT_HOME**/bin and **HADOOP_HOME**/bin are in your **$PATH***
-
-1. Create a working directory for the dataset and all input/output.
-
- $ export WORK_DIR=/tmp/mahout-work-${USER}
- $ mkdir -p ${WORK_DIR}
-
-2. Download and extract the *20news-bydate.tar.gz* from the [20newsgroups dataset](http://people.csail.mit.edu/jrennie/20Newsgroups/20news-bydate.tar.gz) to the working directory.
-
- $ curl http://people.csail.mit.edu/jrennie/20Newsgroups/20news-bydate.tar.gz
- -o ${WORK_DIR}/20news-bydate.tar.gz
- $ mkdir -p ${WORK_DIR}/20news-bydate
- $ cd ${WORK_DIR}/20news-bydate && tar xzf ../20news-bydate.tar.gz && cd .. && cd ..
- $ mkdir ${WORK_DIR}/20news-all
- $ cp -R ${WORK_DIR}/20news-bydate/*/* ${WORK_DIR}/20news-all
- * If you're running on a Hadoop cluster:
-
- $ hadoop dfs -put ${WORK_DIR}/20news-all ${WORK_DIR}/20news-all
-
-3. Convert the full 20 newsgroups dataset into a < Text, Text > SequenceFile.
-
- $ mahout seqdirectory
- -i ${WORK_DIR}/20news-all
- -o ${WORK_DIR}/20news-seq
- -ow
-
-4. Convert and preprocesses the dataset into a < Text, VectorWritable > SequenceFile containing term frequencies for each document.
-
- $ mahout seq2sparse
- -i ${WORK_DIR}/20news-seq
- -o ${WORK_DIR}/20news-vectors
- -lnorm
- -nv
- -wt tfidf
-If we wanted to use different parsing methods or transformations on the term frequency vectors we could supply different options here e.g.: -ng 2 for bigrams or -n 2 for L2 length normalization. See the [Creating vectors from text](http://mahout.apache.org/users/basics/creating-vectors-from-text.html) page for a list of all seq2sparse options.
-
-5. Split the preprocessed dataset into training and testing sets.
-
- $ mahout split
- -i ${WORK_DIR}/20news-vectors/tfidf-vectors
- --trainingOutput ${WORK_DIR}/20news-train-vectors
- --testOutput ${WORK_DIR}/20news-test-vectors
- --randomSelectionPct 40
- --overwrite --sequenceFiles -xm sequential
-
-6. Train the classifier.
-
- $ mahout trainnb
- -i ${WORK_DIR}/20news-train-vectors
- -el
- -o ${WORK_DIR}/model
- -li ${WORK_DIR}/labelindex
- -ow
- -c
-
-7. Test the classifier.
-
- $ mahout testnb
- -i ${WORK_DIR}/20news-test-vectors
- -m ${WORK_DIR}/model
- -l ${WORK_DIR}/labelindex
- -ow
- -o ${WORK_DIR}/20news-testing
- -c
-
-
-
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/docs/tutorials/map-reduce/classification/wikipedia-classifier-example.md
----------------------------------------------------------------------
diff --git a/website-old/docs/tutorials/map-reduce/classification/wikipedia-classifier-example.md b/website-old/docs/tutorials/map-reduce/classification/wikipedia-classifier-example.md
deleted file mode 100644
index ab80054..0000000
--- a/website-old/docs/tutorials/map-reduce/classification/wikipedia-classifier-example.md
+++ /dev/null
@@ -1,57 +0,0 @@
----
-layout: tutorial
-title: (Deprecated) Wikipedia XML parser and Naive Bayes Example
-theme:
- name: retro-mahout
----
-# Wikipedia XML parser and Naive Bayes Classifier Example
-
-## Introduction
-Mahout has an [example script](https://github.com/apache/mahout/blob/master/examples/bin/classify-wikipedia.sh) [1] which will download a recent XML dump of the (entire if desired) [English Wikipedia database](http://dumps.wikimedia.org/enwiki/latest/). After running the classification script, you can use the [document classification script](https://github.com/apache/mahout/blob/master/examples/bin/spark-document-classifier.mscala) from the Mahout [spark-shell](http://mahout.apache.org/users/sparkbindings/play-with-shell.html) to vectorize and classify text from outside of the training and testing corpus using a modle built on the Wikipedia dataset.
-
-You can run this script to build and test a Naive Bayes classifier for option (1) 10 arbitrary countries or option (2) 2 countries (United States and United Kingdom).
-
-## Oververview
-
-Tou run the example simply execute the `$MAHOUT_HOME/examples/bin/classify-wikipedia.sh` script.
-
-By defult the script is set to run on a medium sized Wikipedia XML dump. To run on the full set (the entire english Wikipedia) you can change the download by commenting out line 78, and uncommenting line 80 of [classify-wikipedia.sh](https://github.com/apache/mahout/blob/master/examples/bin/classify-wikipedia.sh) [1]. However this is not recommended unless you have the resources to do so. *Be sure to clean your work directory when changing datasets- option (3).*
-
-The step by step process for Creating a Naive Bayes Classifier for the Wikipedia XML dump is very similar to that for [creating a 20 Newsgroups Classifier](http://mahout.apache.org/users/classification/twenty-newsgroups.html) [4]. The only difference being that instead of running `$mahout seqdirectory` on the unzipped 20 Newsgroups file, you'll run `$mahout seqwiki` on the unzipped Wikipedia xml dump.
-
- $ mahout seqwiki
-
-The above command launches `WikipediaToSequenceFile.java` which accepts a text file of categories [3] and starts an MR job to parse the each document in the XML file. This process will seek to extract documents with a wikipedia category tag which (exactly, if the `-exactMatchOnly` option is set) matches a line in the category file. If no match is found and the `-all` option is set, the document will be dumped into an "unknown" category. The documents will then be written out as a `<Text,Text>` sequence file of the form (K:/category/document_title , V: document).
-
-There are 3 different example category files available to in the /examples/src/test/resources
-directory: country.txt, country10.txt and country2.txt. You can edit these categories to extract a different corpus from the Wikipedia dataset.
-
-The CLI options for `seqwiki` are as follows:
-
- --input (-i) input pathname String
- --output (-o) the output pathname String
- --categories (-c) the file containing the Wikipedia categories
- --exactMatchOnly (-e) if set, then the Wikipedia category must match
- exactly instead of simply containing the category string
- --all (-all) if set select all categories
- --removeLabels (-rl) if set, remove [[Category:labels]] from document text after extracting label.
-
-
-After `seqwiki`, the script runs `seq2sparse`, `split`, `trainnb` and `testnb` as in the [step by step 20newsgroups example](http://mahout.apache.org/users/classification/twenty-newsgroups.html). When all of the jobs have finished, a confusion matrix will be displayed.
-
-#Resourcese
-
-[1] [classify-wikipedia.sh](https://github.com/apache/mahout/blob/master/examples/bin/classify-wikipedia.sh)
-
-[2] [Document classification script for the Mahout Spark Shell](https://github.com/apache/mahout/blob/master/examples/bin/spark-document-classifier.mscala)
-
-[3] [Example category file](https://github.com/apache/mahout/blob/master/examples/src/test/resources/country10.txt)
-
-[4] [Step by step instructions for building a Naive Bayes classifier for 20newsgroups from the command line](http://mahout.apache.org/users/classification/twenty-newsgroups.html)
-
-[5] [Mahout MapReduce Naive Bayes](http://mahout.apache.org/users/classification/bayesian.html)
-
-[6] [Mahout Spark Naive Bayes](http://mahout.apache.org/users/algorithms/spark-naive-bayes.html)
-
-[7] [Mahout Scala Spark and H2O Bindings](http://mahout.apache.org/users/sparkbindings/home.html)
-

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/docs/tutorials/map-reduce/clustering/20newsgroups.md
----------------------------------------------------------------------
diff --git a/website-old/docs/tutorials/map-reduce/clustering/20newsgroups.md b/website-old/docs/tutorials/map-reduce/clustering/20newsgroups.md
deleted file mode 100644
index e39d989..0000000
--- a/website-old/docs/tutorials/map-reduce/clustering/20newsgroups.md
+++ /dev/null
@@ -1,11 +0,0 @@
----
-layout: tutorial
-title: (Deprecated) 20Newsgroups
-theme:
- name: retro-mahout
----
-
-<a name="20Newsgroups-NaiveBayesusing20NewsgroupsData"></a>
-# Naive Bayes using 20 Newsgroups Data
-
-See [https://issues.apache.org/jira/browse/MAHOUT-9](https://issues.apache.org/jira/browse/MAHOUT-9)

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/docs/tutorials/map-reduce/clustering/canopy-commandline.md
----------------------------------------------------------------------
diff --git a/website-old/docs/tutorials/map-reduce/clustering/canopy-commandline.md b/website-old/docs/tutorials/map-reduce/clustering/canopy-commandline.md
deleted file mode 100644
index e7f2b21..0000000
--- a/website-old/docs/tutorials/map-reduce/clustering/canopy-commandline.md
+++ /dev/null
@@ -1,70 +0,0 @@
----
-layout: tutorial
-title: (Deprecated) canopy-commandline
-theme:
- name: retro-mahout
----
-
-<a name="canopy-commandline-RunningCanopyClusteringfromtheCommandLine"></a>
-# Running Canopy Clustering from the Command Line
-Mahout's Canopy clustering can be launched from the same command line
-invocation whether you are running on a single machine in stand-alone mode
-or on a larger Hadoop cluster. The difference is determined by the
-$HADOOP_HOME and $HADOOP_CONF_DIR environment variables. If both are set to
-an operating Hadoop cluster on the target machine then the invocation will
-run Canopy on that cluster. If either of the environment variables are
-missing then the stand-alone Hadoop configuration will be invoked instead.
-
-
- ./bin/mahout canopy <OPTIONS>
-
-
-* In $MAHOUT_HOME/, build the jar containing the job (mvn install) The job
-will be generated in $MAHOUT_HOME/core/target/ and it's name will contain
-the Mahout version number. For example, when using Mahout 0.3 release, the
-job will be mahout-core-0.3.job
-
-
-<a name="canopy-commandline-Testingitononesinglemachinew/ocluster"></a>
-## Testing it on one single machine w/o cluster
-
-* Put the data: cp <PATH TO DATA> testdata
-* Run the Job:
-
- ./bin/mahout canopy -i testdata -o output -dm
-org.apache.mahout.common.distance.CosineDistanceMeasure -ow -t1 5 -t2 2
-
-
-<a name="canopy-commandline-Runningitonthecluster"></a>
-## Running it on the cluster
-
-* (As needed) Start up Hadoop: $HADOOP_HOME/bin/start-all.sh
-* Put the data: $HADOOP_HOME/bin/hadoop fs -put <PATH TO DATA> testdata
-* Run the Job:
-
- export HADOOP_HOME=<Hadoop Home Directory>
- export HADOOP_CONF_DIR=$HADOOP_HOME/conf
- ./bin/mahout canopy -i testdata -o output -dm
-org.apache.mahout.common.distance.CosineDistanceMeasure -ow -t1 5 -t2 2
-
-* Get the data out of HDFS and have a look. Use bin/hadoop fs -lsr output
-to view all outputs.
-
-<a name="canopy-commandline-Commandlineoptions"></a>
-# Command line options
-
- --input (-i) input Path to job input directory.Must
- be a SequenceFile of
- VectorWritable
- --output (-o) output The directory pathname for output.
- --overwrite (-ow) If present, overwrite the output
- directory before running job
- --distanceMeasure (-dm) distanceMeasure The classname of the
- DistanceMeasure. Default is
- SquaredEuclidean
- --t1 (-t1) t1 T1 threshold value
- --t2 (-t2) t2 T2 threshold value
- --clustering (-cl) If present, run clustering after
- the iterations have taken place
- --help (-h) Print out help
-

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/docs/tutorials/map-reduce/clustering/clustering-of-synthetic-control-data.md
----------------------------------------------------------------------
diff --git a/website-old/docs/tutorials/map-reduce/clustering/clustering-of-synthetic-control-data.md b/website-old/docs/tutorials/map-reduce/clustering/clustering-of-synthetic-control-data.md
deleted file mode 100644
index 201e9d8..0000000
--- a/website-old/docs/tutorials/map-reduce/clustering/clustering-of-synthetic-control-data.md
+++ /dev/null
@@ -1,53 +0,0 @@
----
-layout: tutorial
-title: (Deprecated) Clustering of synthetic control data
-theme:
- name: retro-mahout
----
-
-# Clustering synthetic control data
-
-## Introduction
-
-This example will demonstrate clustering of time series data, specifically control charts. [Control charts](http://en.wikipedia.org/wiki/Control_chart) are tools used to determine whether a manufacturing or business process is in a state of statistical control. Such control charts are generated / simulated repeatedly at equal time intervals. A [simulated dataset](http://archive.ics.uci.edu/ml/databases/synthetic_control/synthetic_control.data.html) is available for use in UCI machine learning repository.
-
-A time series of control charts needs to be clustered into their close knit groups. The data set we use is synthetic and is meant to resemble real world information in an anonymized format. It contains six different classes: Normal, Cyclic, Increasing trend, Decreasing trend, Upward shift, Downward shift. In this example we will use Mahout to cluster the data into corresponding class buckets.
-
-*For the sake of simplicity, we won't use a cluster in this example, but instead show you the commands to run the clustering examples locally with Hadoop*.
-
-## Setup
-
-We need to do some initial setup before we are able to run the example.
-
-
- 1. Start out by downloading the dataset to be clustered from the UCI Machine Learning Repository: [http://archive.ics.uci.edu/ml/databases/synthetic_control/synthetic_control.data](http://archive.ics.uci.edu/ml/databases/synthetic_control/synthetic_control.data).
-
- 2. Download the [latest release of Mahout](/general/downloads.html).
-
- 3. Unpack the release binary and switch to the *mahout-distribution-0.x* folder
-
- 4. Make sure that the *JAVA_HOME* environment variable points to your local java installation
-
- 5. Create a folder called *testdata* in the current directory and copy the dataset into this folder.
-
-
-## Clustering Examples
-
-Depending on the clustering algorithm you want to run, the following commands can be used:
-
-
- * [Canopy Clustering](/users/clustering/canopy-clustering.html)
-
- bin/mahout org.apache.mahout.clustering.syntheticcontrol.canopy.Job
-
- * [k-Means Clustering](/users/clustering/k-means-clustering.html)
-
- bin/mahout org.apache.mahout.clustering.syntheticcontrol.kmeans.Job
-
-
- * [Fuzzy k-Means Clustering](/users/clustering/fuzzy-k-means.html)
-
- bin/mahout org.apache.mahout.clustering.syntheticcontrol.fuzzykmeans.Job
-
-The clustering output will be produced in the *output* directory. The output data points are in vector format. In order to read/analyze the output, you can use the [clusterdump](/users/clustering/cluster-dumper.html) utility provided by Mahout.
-

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/docs/tutorials/map-reduce/clustering/clustering-seinfeld-episodes.md
----------------------------------------------------------------------
diff --git a/website-old/docs/tutorials/map-reduce/clustering/clustering-seinfeld-episodes.md b/website-old/docs/tutorials/map-reduce/clustering/clustering-seinfeld-episodes.md
deleted file mode 100644
index 35b2008..0000000
--- a/website-old/docs/tutorials/map-reduce/clustering/clustering-seinfeld-episodes.md
+++ /dev/null
@@ -1,11 +0,0 @@
----
-layout: tutorial
-title: (Deprecated) Clustering Seinfeld Episodes
-theme:
- name: retro-mahout
----
-
-Below is short tutorial on how to cluster Seinfeld episode transcripts with
-Mahout.
-
-http://blog.jteam.nl/2011/04/04/how-to-cluster-seinfeld-episodes-with-mahout/

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/docs/tutorials/map-reduce/clustering/clusteringyourdata.md
----------------------------------------------------------------------
diff --git a/website-old/docs/tutorials/map-reduce/clustering/clusteringyourdata.md b/website-old/docs/tutorials/map-reduce/clustering/clusteringyourdata.md
deleted file mode 100644
index ba7cb0b..0000000
--- a/website-old/docs/tutorials/map-reduce/clustering/clusteringyourdata.md
+++ /dev/null
@@ -1,126 +0,0 @@
----
-layout: tutorial
-title: (Deprecated) ClusteringYourData
-theme:
- name: retro-mahout
----
-
-# Clustering your data
-
-After you've done the [Quickstart](quickstart.html) and are familiar with the basics of Mahout, it is time to cluster your own
-data. See also [Wikipedia on cluster analysis](en.wikipedia.org/wiki/Cluster_analysis) for more background.
-
-The following pieces *may* be useful for in getting started:
-
-<a name="ClusteringYourData-Input"></a>
-# Input
-
-For starters, you will need your data in an appropriate Vector format, see [Creating Vectors](../basics/creating-vectors.html).
-In particular for text preparation check out [Creating Vectors from Text](../basics/creating-vectors-from-text.html).
-
-
-<a name="ClusteringYourData-RunningtheProcess"></a>
-# Running the Process
-
-* [Canopy background](canopy-clustering.html) and [canopy-commandline](canopy-commandline.html).
-
-* [K-Means background](k-means-clustering.html), [k-means-commandline](k-means-commandline.html), and
-[fuzzy-k-means-commandline](fuzzy-k-means-commandline.html).
-
-* [Dirichlet background](dirichlet-process-clustering.html) and [dirichlet-commandline](dirichlet-commandline.html).
-
-* [Meanshift background](mean-shift-clustering.html) and [mean-shift-commandline](mean-shift-commandline.html).
-
-* [LDA (Latent Dirichlet Allocation) background](-latent-dirichlet-allocation.html) and [lda-commandline](lda-commandline.html).
-
-* TODO: kmeans++/ streaming kMeans documentation
-
-
-<a name="ClusteringYourData-RetrievingtheOutput"></a>
-# Retrieving the Output
-
-Mahout has a cluster dumper utility that can be used to retrieve and evaluate your clustering data.
-
- ./bin/mahout clusterdump <OPTIONS>
-
-
-<a name="ClusteringYourData-Theclusterdumperoptionsare:"></a>
-## The cluster dumper options are:
-
- --help (-h) Print out help
-
- --input (-i) input The directory containing Sequence
- Files for the Clusters
-
- --output (-o) output The output file. If not specified,
- dumps to the console.
-
- --outputFormat (-of) outputFormat The optional output format to write
- the results as. Options: TEXT, CSV, or GRAPH_ML
-
- --substring (-b) substring The number of chars of the
- asFormatString() to print
-
- --pointsDir (-p) pointsDir The directory containing points
- sequence files mapping input vectors to their cluster. If specified,
- then the program will output the
- points associated with a cluster
-
- --dictionary (-d) dictionary The dictionary file.
-
- --dictionaryType (-dt) dictionaryType The dictionary file type
- (text|sequencefile)
-
- --distanceMeasure (-dm) distanceMeasure The classname of the DistanceMeasure.
- Default is SquaredEuclidean.
-
- --numWords (-n) numWords The number of top terms to print
-
- --tempDir tempDir Intermediate output directory
-
- --startPhase startPhase First phase to run
-
- --endPhase endPhase Last phase to run
-
- --evaluate (-e) Run ClusterEvaluator and CDbwEvaluator over the
- input. The output will be appended to the rest of
- the output at the end.
-
-
-More information on using clusterdump utility can be found [here](cluster-dumper.html)
-
-<a name="ClusteringYourData-ValidatingtheOutput"></a>
-# Validating the Output
-
-{quote}
-Ted Dunning: A principled approach to cluster evaluation is to measure how well the
-cluster membership captures the structure of unseen data. A natural
-measure for this is to measure how much of the entropy of the data is
-captured by cluster membership. For k-means and its natural L_2 metric,
-the natural cluster quality metric is the squared distance from the nearest
-centroid adjusted by the log_2 of the number of clusters. This can be
-compared to the squared magnitude of the original data or the squared
-deviation from the centroid for all of the data. The idea is that you are
-changing the representation of the data by allocating some of the bits in
-your original representation to represent which cluster each point is in.
-If those bits aren't made up by the residue being small then your
-clustering is making a bad trade-off.
-
-In the past, I have used other more heuristic measures as well. One of the
-key characteristics that I would like to see out of a clustering is a
-degree of stability. Thus, I look at the fractions of points that are
-assigned to each cluster or the distribution of distances from the cluster
-centroid. These values should be relatively stable when applied to held-out
-data.
-
-For text, you can actually compute perplexity which measures how well
-cluster membership predicts what words are used. This is nice because you
-don't have to worry about the entropy of real valued numbers.
-
-Manual inspection and the so-called laugh test is also important. The idea
-is that the results should not be so ludicrous as to make you laugh.
-Unfortunately, it is pretty easy to kid yourself into thinking your system
-is working using this kind of inspection. The problem is that we are too
-good at seeing (making up) patterns.
-{quote}
-

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/docs/tutorials/map-reduce/clustering/fuzzy-k-means-commandline.md
----------------------------------------------------------------------
diff --git a/website-old/docs/tutorials/map-reduce/clustering/fuzzy-k-means-commandline.md b/website-old/docs/tutorials/map-reduce/clustering/fuzzy-k-means-commandline.md
deleted file mode 100644
index 721256d..0000000
--- a/website-old/docs/tutorials/map-reduce/clustering/fuzzy-k-means-commandline.md
+++ /dev/null
@@ -1,97 +0,0 @@
----
-layout: tutorial
-title: (Deprecated) fuzzy-k-means-commandline
-theme:
- name: retro-mahout
----
-
-<a name="fuzzy-k-means-commandline-RunningFuzzyk-MeansClusteringfromtheCommandLine"></a>
-# Running Fuzzy k-Means Clustering from the Command Line
-Mahout's Fuzzy k-Means clustering can be launched from the same command
-line invocation whether you are running on a single machine in stand-alone
-mode or on a larger Hadoop cluster. The difference is determined by the
-$HADOOP_HOME and $HADOOP_CONF_DIR environment variables. If both are set to
-an operating Hadoop cluster on the target machine then the invocation will
-run FuzzyK on that cluster. If either of the environment variables are
-missing then the stand-alone Hadoop configuration will be invoked instead.
-
-
- ./bin/mahout fkmeans <OPTIONS>
-
-
-* In $MAHOUT_HOME/, build the jar containing the job (mvn install) The job
-will be generated in $MAHOUT_HOME/core/target/ and it's name will contain
-the Mahout version number. For example, when using Mahout 0.3 release, the
-job will be mahout-core-0.3.job
-
-
-<a name="fuzzy-k-means-commandline-Testingitononesinglemachinew/ocluster"></a>
-## Testing it on one single machine w/o cluster
-
-* Put the data: cp <PATH TO DATA> testdata
-* Run the Job:
-
- ./bin/mahout fkmeans -i testdata <OPTIONS>
-
-
-<a name="fuzzy-k-means-commandline-Runningitonthecluster"></a>
-## Running it on the cluster
-
-* (As needed) Start up Hadoop: $HADOOP_HOME/bin/start-all.sh
-* Put the data: $HADOOP_HOME/bin/hadoop fs -put <PATH TO DATA> testdata
-* Run the Job:
-
- export HADOOP_HOME=<Hadoop Home Directory>
- export HADOOP_CONF_DIR=$HADOOP_HOME/conf
- ./bin/mahout fkmeans -i testdata <OPTIONS>
-
-* Get the data out of HDFS and have a look. Use bin/hadoop fs -lsr output
-to view all outputs.
-
-<a name="fuzzy-k-means-commandline-Commandlineoptions"></a>
-# Command line options
-
- --input (-i) input Path to job input directory.
- Must be a SequenceFile of
- VectorWritable
- --clusters (-c) clusters The input centroids, as Vectors.
- Must be a SequenceFile of
- Writable, Cluster/Canopy. If k
- is also specified, then a random
- set of vectors will be selected
- and written out to this path
- first
- --output (-o) output The directory pathname for
- output.
- --distanceMeasure (-dm) distanceMeasure The classname of the
- DistanceMeasure. Default is
- SquaredEuclidean
- --convergenceDelta (-cd) convergenceDelta The convergence delta value.
- Default is 0.5
- --maxIter (-x) maxIter The maximum number of
- iterations.
- --k (-k) k The k in k-Means. If specified,
- then a random selection of k
- Vectors will be chosen as the
- Centroid and written to the
- clusters input path.
- --m (-m) m coefficient normalization
- factor, must be greater than 1
- --overwrite (-ow) If present, overwrite the output
- directory before running job
- --help (-h) Print out help
- --numMap (-u) numMap The number of map tasks.
- Defaults to 10
- --maxRed (-r) maxRed The number of reduce tasks.
- Defaults to 2
- --emitMostLikely (-e) emitMostLikely True if clustering should emit
- the most likely point only,
- false for threshold clustering.
- Default is true
- --threshold (-t) threshold The pdf threshold used for
- cluster determination. Default
- is 0
- --clustering (-cl) If present, run clustering after
- the iterations have taken place
-
-

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/docs/tutorials/map-reduce/clustering/k-means-commandline.md
----------------------------------------------------------------------
diff --git a/website-old/docs/tutorials/map-reduce/clustering/k-means-commandline.md b/website-old/docs/tutorials/map-reduce/clustering/k-means-commandline.md
deleted file mode 100644
index b9ac430..0000000
--- a/website-old/docs/tutorials/map-reduce/clustering/k-means-commandline.md
+++ /dev/null
@@ -1,94 +0,0 @@
----
-layout: tutorial
-title: (Deprecated) k-means-commandline
-theme:
- name: retro-mahout
----
-
-<a name="k-means-commandline-Introduction"></a>
-# kMeans commandline introduction
-
-This quick start page describes how to run the kMeans clustering algorithm
-on a Hadoop cluster.
-
-<a name="k-means-commandline-Steps"></a>
-# Steps
-
-Mahout's k-Means clustering can be launched from the same command line
-invocation whether you are running on a single machine in stand-alone mode
-or on a larger Hadoop cluster. The difference is determined by the
-$HADOOP_HOME and $HADOOP_CONF_DIR environment variables. If both are set to
-an operating Hadoop cluster on the target machine then the invocation will
-run k-Means on that cluster. If either of the environment variables are
-missing then the stand-alone Hadoop configuration will be invoked instead.
-
-
- ./bin/mahout kmeans <OPTIONS>
-
-
-In $MAHOUT_HOME/, build the jar containing the job (mvn install) The job
-will be generated in $MAHOUT_HOME/core/target/ and it's name will contain
-the Mahout version number. For example, when using Mahout 0.3 release, the
-job will be mahout-core-0.3.job
-
-
-<a name="k-means-commandline-Testingitononesinglemachinew/ocluster"></a>
-## Testing it on one single machine w/o cluster
-
-* Put the data: cp <PATH TO DATA> testdata
-* Run the Job:
-
- ./bin/mahout kmeans -i testdata -o output -c clusters -dm
-org.apache.mahout.common.distance.CosineDistanceMeasure -x 5 -ow -cd 1 -k
-25
-
-
-<a name="k-means-commandline-Runningitonthecluster"></a>
-## Running it on the cluster
-
-* (As needed) Start up Hadoop: $HADOOP_HOME/bin/start-all.sh
-* Put the data: $HADOOP_HOME/bin/hadoop fs -put <PATH TO DATA> testdata
-* Run the Job:
-
- export HADOOP_HOME=<Hadoop Home Directory>
- export HADOOP_CONF_DIR=$HADOOP_HOME/conf
- ./bin/mahout kmeans -i testdata -o output -c clusters -dm org.apache.mahout.common.distance.CosineDistanceMeasure -x 5 -ow -cd 1 -k 25
-
-* Get the data out of HDFS and have a look. Use bin/hadoop fs -lsr output
-to view all outputs.
-
-<a name="k-means-commandline-Commandlineoptions"></a>
-# Command line options
-
- --input (-i) input Path to job input directory.
- Must be a SequenceFile of
- VectorWritable
- --clusters (-c) clusters The input centroids, as Vectors.
- Must be a SequenceFile of
- Writable, Cluster/Canopy. If k
- is also specified, then a random
- set of vectors will be selected
- and written out to this path
- first
- --output (-o) output The directory pathname for
- output.
- --distanceMeasure (-dm) distanceMeasure The classname of the
- DistanceMeasure. Default is
- SquaredEuclidean
- --convergenceDelta (-cd) convergenceDelta The convergence delta value.
- Default is 0.5
- --maxIter (-x) maxIter The maximum number of
- iterations.
- --maxRed (-r) maxRed The number of reduce tasks.
- Defaults to 2
- --k (-k) k The k in k-Means. If specified,
- then a random selection of k
- Vectors will be chosen as the
- Centroid and written to the
- clusters input path.
- --overwrite (-ow) If present, overwrite the output
- directory before running job
- --help (-h) Print out help
- --clustering (-cl) If present, run clustering after
- the iterations have taken place
-

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/docs/tutorials/map-reduce/clustering/lda-commandline.md
----------------------------------------------------------------------
diff --git a/website-old/docs/tutorials/map-reduce/clustering/lda-commandline.md b/website-old/docs/tutorials/map-reduce/clustering/lda-commandline.md
deleted file mode 100644
index 6b10681..0000000
--- a/website-old/docs/tutorials/map-reduce/clustering/lda-commandline.md
+++ /dev/null
@@ -1,83 +0,0 @@
----
-layout: tutorial
-title: (Deprecated) lda-commandline
-theme:
- name: retro-mahout
----
-
-<a name="lda-commandline-RunningLatentDirichletAllocation(algorithm)fromtheCommandLine"></a>
-# Running Latent Dirichlet Allocation (algorithm) from the Command Line
-[Since Mahout v0.6](https://issues.apache.org/jira/browse/MAHOUT-897)
- lda has been implemented as Collapsed Variable Bayes (cvb).
-
-Mahout's LDA can be launched from the same command line invocation whether
-you are running on a single machine in stand-alone mode or on a larger
-Hadoop cluster. The difference is determined by the $HADOOP_HOME and
-$HADOOP_CONF_DIR environment variables. If both are set to an operating
-Hadoop cluster on the target machine then the invocation will run the LDA
-algorithm on that cluster. If either of the environment variables are
-missing then the stand-alone Hadoop configuration will be invoked instead.
-
-
-
- ./bin/mahout cvb <OPTIONS>
-
-
-* In $MAHOUT_HOME/, build the jar containing the job (mvn install) The job
-will be generated in $MAHOUT_HOME/core/target/ and it's name will contain
-the Mahout version number. For example, when using Mahout 0.3 release, the
-job will be mahout-core-0.3.job
-
-
-<a name="lda-commandline-Testingitononesinglemachinew/ocluster"></a>
-## Testing it on one single machine w/o cluster
-
-* Put the data: cp <PATH TO DATA> testdata
-* Run the Job:
-
- ./bin/mahout cvb -i testdata <OTHER OPTIONS>
-
-
-<a name="lda-commandline-Runningitonthecluster"></a>
-## Running it on the cluster
-
-* (As needed) Start up Hadoop: $HADOOP_HOME/bin/start-all.sh
-* Put the data: $HADOOP_HOME/bin/hadoop fs -put <PATH TO DATA> testdata
-* Run the Job:
-
- export HADOOP_HOME=<Hadoop Home Directory>
- export HADOOP_CONF_DIR=$HADOOP_HOME/conf
- ./bin/mahout cvb -i testdata <OTHER OPTIONS>
-
-* Get the data out of HDFS and have a look. Use bin/hadoop fs -lsr output
-to view all outputs.
-
-<a name="lda-commandline-CommandlineoptionsfromMahoutcvbversion0.8"></a>
-# Command line options from Mahout cvb version 0.8
-
- mahout cvb -h
- --input (-i) input Path to job input directory.
- --output (-o) output The directory pathname for output.
- --maxIter (-x) maxIter The maximum number of iterations.
- --convergenceDelta (-cd) convergenceDelta The convergence delta value
- --overwrite (-ow) If present, overwrite the output directory before running job
- --num_topics (-k) num_topics Number of topics to learn
- --num_terms (-nt) num_terms Vocabulary size
- --doc_topic_smoothing (-a) doc_topic_smoothing Smoothing for document/topic distribution
- --term_topic_smoothing (-e) term_topic_smoothing Smoothing for topic/term distribution
- --dictionary (-dict) dictionary Path to term-dictionary file(s) (glob expression supported)
- --doc_topic_output (-dt) doc_topic_output Output path for the training doc/topic distribution
- --topic_model_temp_dir (-mt) topic_model_temp_dir Path to intermediate model path (useful for restarting)
- --iteration_block_size (-block) iteration_block_size Number of iterations per perplexity check
- --random_seed (-seed) random_seed Random seed
- --test_set_fraction (-tf) test_set_fraction Fraction of data to hold out for testing
- --num_train_threads (-ntt) num_train_threads number of threads per mapper to train with
- --num_update_threads (-nut) num_update_threads number of threads per mapper to update the model with
- --max_doc_topic_iters (-mipd) max_doc_topic_iters max number of iterations per doc for p(topic|doc) learning
- --num_reduce_tasks num_reduce_tasks number of reducers to use during model estimation
- --backfill_perplexity enable backfilling of missing perplexity values
- --help (-h) Print out help
- --tempDir tempDir Intermediate output directory
- --startPhase startPhase First phase to run
- --endPhase endPhase Last phase to run
-

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/docs/tutorials/map-reduce/clustering/viewing-result.md
----------------------------------------------------------------------
diff --git a/website-old/docs/tutorials/map-reduce/clustering/viewing-result.md b/website-old/docs/tutorials/map-reduce/clustering/viewing-result.md
deleted file mode 100644
index ce9dd91..0000000
--- a/website-old/docs/tutorials/map-reduce/clustering/viewing-result.md
+++ /dev/null
@@ -1,15 +0,0 @@
----
-layout: tutorial
-title: (Deprecated) Viewing Result
-theme:
- name: retro-mahout
----
-* [Algorithm Viewing pages](#ViewingResult-AlgorithmViewingpages)
-
-There are various technologies available to view the output of Mahout
-algorithms.
-* Clusters
-
-<a name="ViewingResult-AlgorithmViewingpages"></a>
-# Algorithm Viewing pages
-{pagetree:root=@self|excerpt=true|expandCollapseAll=true}

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/docs/tutorials/map-reduce/clustering/viewing-results.md
----------------------------------------------------------------------
diff --git a/website-old/docs/tutorials/map-reduce/clustering/viewing-results.md b/website-old/docs/tutorials/map-reduce/clustering/viewing-results.md
deleted file mode 100644
index 1b5092f..0000000
--- a/website-old/docs/tutorials/map-reduce/clustering/viewing-results.md
+++ /dev/null
@@ -1,49 +0,0 @@
----
-layout: tutorial
-title: (Deprecated) Viewing Results
-theme:
- name: retro-mahout
----
-<a name="ViewingResults-Intro"></a>
-# Intro
-
-Many of the Mahout libraries run as batch jobs, dumping results into Hadoop
-sequence files or other data structures. This page is intended to
-demonstrate the various ways one might inspect the outcome of various jobs.
- The page is organized by algorithms.
-
-<a name="ViewingResults-GeneralUtilities"></a>
-# General Utilities
-
-<a name="ViewingResults-SequenceFileDumper"></a>
-## Sequence File Dumper
-
-
-<a name="ViewingResults-Clustering"></a>
-# Clustering
-
-<a name="ViewingResults-ClusterDumper"></a>
-## Cluster Dumper
-
-Run the following to print out all options:
-
- java -cp "*" org.apache.mahout.utils.clustering.ClusterDumper --help
-
-
-
-<a name="ViewingResults-Example"></a>
-### Example
-
- java -cp "*" org.apache.mahout.utils.clustering.ClusterDumper --seqFileDir
-./solr-clust-n2/out/clusters-2
- --dictionary ./solr-clust-n2/dictionary.txt
- --substring 100 --pointsDir ./solr-clust-n2/out/points/
-
-
-
-
-<a name="ViewingResults-ClusterLabels(MAHOUT-163)"></a>
-## Cluster Labels (MAHOUT-163)
-
-<a name="ViewingResults-Classification"></a>
-# Classification

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/docs/tutorials/map-reduce/clustering/visualizing-sample-clusters.md
----------------------------------------------------------------------
diff --git a/website-old/docs/tutorials/map-reduce/clustering/visualizing-sample-clusters.md b/website-old/docs/tutorials/map-reduce/clustering/visualizing-sample-clusters.md
deleted file mode 100644
index fe4b93f..0000000
--- a/website-old/docs/tutorials/map-reduce/clustering/visualizing-sample-clusters.md
+++ /dev/null
@@ -1,50 +0,0 @@
----
-layout: tutorial
-title: (Deprecated) Visualizing Sample Clusters
-theme:
- name: retro-mahout
----
-
-<a name="VisualizingSampleClusters-Introduction"></a>
-# Introduction
-
-Mahout provides examples to visualize sample clusters that gets created by
-our clustering algorithms. Note that the visualization is done by Swing programs. You have to be in a window system on the same
-machine you run these, or logged in via a remote desktop.
-
-For visualizing the clusters, you have to execute the Java
-classes under *org.apache.mahout.clustering.display* package in
-mahout-examples module. The easiest way to achieve this is to [setup Mahout](users/basics/quickstart.html) in your IDE.
-
-<a name="VisualizingSampleClusters-Visualizingclusters"></a>
-# Visualizing clusters
-
-The following classes in *org.apache.mahout.clustering.display* can be run
-without parameters to generate a sample data set and run the reference
-clustering implementations over them:
-
-1. **DisplayClustering** - generates 1000 samples from three, symmetric
-distributions. This is the same data set that is used by the following
-clustering programs. It displays the points on a screen and superimposes
-the model parameters that were used to generate the points. You can edit
-the *generateSamples()* method to change the sample points used by these
-programs.
-1. **DisplayClustering** - displays initial areas of generated points
-1. **DisplayCanopy** - uses Canopy clustering
-1. **DisplayKMeans** - uses k-Means clustering
-1. **DisplayFuzzyKMeans** - uses Fuzzy k-Means clustering
-1. **DisplaySpectralKMeans** - uses Spectral KMeans via map-reduce algorithm
-
-If you are using Eclipse, just right-click on each of the classes mentioned above and choose "Run As -Java Application". To run these directly from the command line:
-
- cd $MAHOUT_HOME/examples
- mvn -q exec:java -Dexec.mainClass=org.apache.mahout.clustering.display.DisplayClustering
-
-You can substitute other names above for *DisplayClustering*.
-
-
-Note that some of these programs display the sample points and then superimpose all of the clusters from each iteration. The last iteration's clusters are in
-bold red and the previous several are colored (orange, yellow, green, blue,
-magenta) in order after which all earlier clusters are in light grey. This
-helps to visualize how the clusters converge upon a solution over multiple
-iterations.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/docs/tutorials/map-reduce/index.md
----------------------------------------------------------------------
diff --git a/website-old/docs/tutorials/map-reduce/index.md b/website-old/docs/tutorials/map-reduce/index.md
deleted file mode 100644
index b1a269c..0000000
--- a/website-old/docs/tutorials/map-reduce/index.md
+++ /dev/null
@@ -1,19 +0,0 @@
----
-layout: tutorial
-title: (Deprecated) Deprecated Map Reduce Based Examples
-theme:
- name: mahout2
----
-
-A note about the sunsetting of our support for Map Reduce.
-
-
-### Classification
-
-[Bank Marketing Example](classification/bankmarketing-example.html)
-
-[Breiman Exampe](classification/breiman-example.html)
-
-[Twenty Newsgroups](classification/twenty-newsgroups.html)
-
-[Wikipedia Classifier Example](classification/wikipedia-classifier-example.html)
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/docs/tutorials/map-reduce/misc/mr---map-reduce.md
----------------------------------------------------------------------
diff --git a/website-old/docs/tutorials/map-reduce/misc/mr---map-reduce.md b/website-old/docs/tutorials/map-reduce/misc/mr---map-reduce.md
deleted file mode 100644
index a85d0cd..0000000
--- a/website-old/docs/tutorials/map-reduce/misc/mr---map-reduce.md
+++ /dev/null
@@ -1,19 +0,0 @@
----
-layout: default
-title: (Deprecated) MR - Map Reduce
-theme:
- name: retro-mahout
----
-
-{excerpt}MapReduce is a framework for processing huge datasets on certain
-kinds of distributable problems using a large number of computers (nodes),
-collectively referred to as a cluster.{excerpt} Computational processing
-can occur on data stored either in a filesystem (unstructured) or within a
-database (structured).
-
-&nbsp; Also written M/R
-
-
-&nbsp; See Also
-* [http://wiki.apache.org/hadoop/HadoopMapReduce](http://wiki.apache.org/hadoop/HadoopMapReduce)
-* [http://en.wikipedia.org/wiki/MapReduce](http://en.wikipedia.org/wiki/MapReduce)

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/docs/tutorials/map-reduce/misc/parallel-frequent-pattern-mining.md
----------------------------------------------------------------------
diff --git a/website-old/docs/tutorials/map-reduce/misc/parallel-frequent-pattern-mining.md b/website-old/docs/tutorials/map-reduce/misc/parallel-frequent-pattern-mining.md
deleted file mode 100644
index 213c385..0000000
--- a/website-old/docs/tutorials/map-reduce/misc/parallel-frequent-pattern-mining.md
+++ /dev/null
@@ -1,185 +0,0 @@
----
-layout: default
-title: (Deprecated) Parallel Frequent Pattern Mining
-theme:
- name: retro-mahout
----
-Mahout has a Top K Parallel FPGrowth Implementation. Its based on the paper [http://infolab.stanford.edu/~echang/recsys08-69.pdf](http://infolab.stanford.edu/~echang/recsys08-69.pdf)
- with some optimisations in mining the data.
-
-Given a huge transaction list, the algorithm finds all unique features(sets
-of field values) and eliminates those features whose frequency in the whole
-dataset is less that minSupport. Using these remaining features N, we find
-the top K closed patterns for each of them, generating a total of NxK
-patterns. FPGrowth Algorithm is a generic implementation, we can use any
-Object type to denote a feature. Current implementation requires you to use
-a String as the object type. You may implement a version for any object by
-creating Iterators, Convertors and TopKPatternWritable for that particular
-object. For more information please refer the package
-org.apache.mahout.fpm.pfpgrowth.convertors.string
-
- e.g:
- FPGrowth<String> fp = new FPGrowth<String>();
- Set<String> features = new HashSet<String>();
- fp.generateTopKStringFrequentPatterns(
- new StringRecordIterator(new FileLineIterable(new File(input),
-encoding, false), pattern),
- fp.generateFList(
- new StringRecordIterator(new FileLineIterable(new File(input),
-encoding, false), pattern), minSupport),
- minSupport,
- maxHeapSize,
- features,
- new StringOutputConvertor(new SequenceFileOutputCollector<Text,
-TopKStringPatterns>(writer))
- );
-
-* The first argument is the iterator of transaction in this case its
-Iterator<List<String>>
-* The second argument is the output of generateFList function, which
-returns the frequent items and their frequencies from the given database
-transaction iterator
-* The third argument is the minimum Support of the pattern to be generated
-* The fourth argument is the maximum number of patterns to be mined for
-each feature
-* The fifth argument is the set of features for which the frequent patterns
-has to be mined
-* The last argument is an output collector which takes \[key, value\](key,-value\.html)
- of Feature and TopK Patterns of the format \[String,
-List<Pair<List<String>, Long>>\] and writes them to the appropriate writer
-class which takes care of storing the object, in this case in a Sequence
-File Output format
-
-<a name="ParallelFrequentPatternMining-RunningFrequentPatternGrowthviacommandline"></a>
-## Running Frequent Pattern Growth via command line
-
-The command line launcher for string transaction data
-org.apache.mahout.fpm.pfpgrowth.FPGrowthDriver has other features including
-specifying the regex pattern for spitting a string line of a transaction
-into the constituent features.
-
-Input files have to be in the following format.
-
-<optional document id>TAB<TOKEN1>SPACE<TOKEN2>SPACE....
-
-instead of tab you could use , or \| as the default tokenization is done using a java Regex pattern {code}[,\t](,\t.html)
-*[,|\t][ ,\t]*{code}
-You can override this parameter to parse your log files or transaction
-files (each line is a transaction.) The FPGrowth algorithm mines the top K
-frequently occurring sets of items and their counts from the given input
-data
-
-$MAHOUT_HOME/core/src/test/resources/retail.dat is a sample dataset in this
-format.
-Other sample files are accident.dat.gz from [http://fimi.cs.helsinki.fi/data/](http://fimi.cs.helsinki.fi/data/)
-. As a quick test, try this:
-
-
- bin/mahout fpg \
- -i core/src/test/resources/retail.dat \
- -o patterns \
- -k 50 \
- -method sequential \
- -regex '[\ ]
-' \
- -s 2
-
-
-The minimumSupport parameter \-s is the minimum number of times a pattern
-or a feature needs to occur in the dataset so that it is included in the
-patterns generated. You can speed up the process by having a large value of
-s. There are cases where you will have less than k patterns for a
-particular feature as the rest don't for qualify the minimum support
-criteria
-
-Note that the input to the algorithm, could be uncompressed or compressed
-gz file or even a directory containing any number of such files.
-We modified the regex to use space to split the token. Note that input
-regex string is escaped.
-
-<a name="ParallelFrequentPatternMining-RunningParallelFPGrowth"></a>
-## Running Parallel FPGrowth
-
-Running parallel FPGrowth is as easy as adding changing the flag \-method
-mapreduce and adding the number of groups parameter e.g. \-g 20 for 20
-groups. First, let's run the above sample test in map-reduce mode:
-
- bin/mahout fpg \
- -i core/src/test/resources/retail.dat \
- -o patterns \
- -k 50 \
- -method mapreduce \
- -regex '[\ ]
-' \
- -s 2
-
-The above test took 102 seconds on dual-core laptop, v.s. 609 seconds in
-the sequential mode, (with 5 gigs of ram allocated). In a separate test,
-the first 1000 lines of retail.dat took 20 seconds in map/reduce v.s. 30
-seconds in sequential mode.
-
-Here is another dataset which, while several times larger, requires much
-less time to find frequent patterns, as there are very few. Get
-accidents.dat.gz from [http://fimi.cs.helsinki.fi/data/](http://fimi.cs.helsinki.fi/data/)
- and place it on your hdfs in a folder named accidents. Then, run the
-hadoop version of the FPGrowth job:
-
- bin/mahout fpg \
- -i accidents \
- -o patterns \
- -k 50 \
- -method mapreduce \
- -regex '[\ ]
-' \
- -s 2
-
-
-OR to run a dataset of this size in sequential mode on a single machine
-let's give Mahout a lot more memory and only keep features with more than
-300 members:
-
- export MAHOUT_HEAPSIZE=-Xmx5000m
- bin/mahout fpg \
- -i accidents \
- -o patterns \
- -k 50 \
- -method sequential \
- -regex '[\ ]
-' \
- -s 2
-
-
-
-The numGroups parameter \-g in FPGrowthJob specifies the number of groups
-into which transactions have to be decomposed. The default of 1000 works
-very well on a single-machine cluster; this may be very different on large
-clusters.
-
-Note that accidents.dat has 340 unique features. So we chose \-g 10 to
-split the transactions across 10 shards where 34 patterns are mined from
-each shard. (Note: g doesnt need to be exactly divisible.) The Algorithm
-takes care of calculating the split. For better performance in large
-datasets and clusters, try not to mine for more than 20-25 features per
-shard. Stick to the defaults on a small machine.
-
-The numTreeCacheEntries parameter \-tc specifies the number of generated
-conditional FP-Trees to be kept in memory so that subsequent operations do
-not to regenerate them. Increasing this number increases the memory
-consumption but might improve speed until a certain point. This depends
-entirely on the dataset in question. A value of 5-10 is recommended for
-mining up to top 100 patterns for each feature.
-
-<a name="ParallelFrequentPatternMining-Viewingtheresults"></a>
-## Viewing the results
-The output will be dumped to a SequenceFile in the frequentpatterns
-directory in Text=>TopKStringPatterns format. Run this command to see a few
-of the Frequent Patterns:
-
- bin/mahout seqdumper \
- -i patterns/frequentpatterns/part-?-00000 \
- -n 4
-
-or replace -n 4 with -c for the count of patterns.
-
-Open questions: how does one experiment and monitor with these various
-parameters?

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/docs/tutorials/map-reduce/misc/perceptron-and-winnow.md
----------------------------------------------------------------------
diff --git a/website-old/docs/tutorials/map-reduce/misc/perceptron-and-winnow.md b/website-old/docs/tutorials/map-reduce/misc/perceptron-and-winnow.md
deleted file mode 100644
index a3c7063..0000000
--- a/website-old/docs/tutorials/map-reduce/misc/perceptron-and-winnow.md
+++ /dev/null
@@ -1,41 +0,0 @@
----
-layout: default
-title: (Deprecated) Perceptron and Winnow
-theme:
- name: retro-mahout
----
-<a name="PerceptronandWinnow-ClassificationwithPerceptronorWinnow"></a>
-# Classification with Perceptron or Winnow
-
-Both algorithms are comparably simple linear classifiers. Given training
-data in some n-dimensional vector space that is annotated with binary
-labels the algorithms are guaranteed to find a linear separating hyperplane
-if one exists. In contrast to the Perceptron, Winnow works only for binary
-feature vectors.
-
-For more information on the Perceptron see for instance:
-http://en.wikipedia.org/wiki/Perceptron
-
-Concise course notes on both algorithms:
-http://pages.cs.wisc.edu/~shuchi/courses/787-F07/scribe-notes/lecture24.pdf
-
-Although the algorithms are comparably simple they still work pretty well
-for text classification and are fast to train even for huge example sets.
-In contrast to Naive Bayes they are not based on the assumption that all
-features (in the domain of text classification: all terms in a document)
-are independent.
-
-<a name="PerceptronandWinnow-Strategyforparallelisation"></a>
-## Strategy for parallelisation
-
-Currently the strategy for parallelisation is simple: Given there is enough
-training data, split the training data. Train the classifier on each split.
-The resulting hyperplanes are then averaged.
-
-<a name="PerceptronandWinnow-Roadmap"></a>
-## Roadmap
-
-Currently the patch only contains the code for the classifier itself. It is
-planned to provide unit tests and at least one example based on the WebKB
-dataset by the end of November for the serial version. After that the
-parallelisation will be added.

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/docs/tutorials/map-reduce/misc/testing.md
----------------------------------------------------------------------
diff --git a/website-old/docs/tutorials/map-reduce/misc/testing.md b/website-old/docs/tutorials/map-reduce/misc/testing.md
deleted file mode 100644
index 826fff8..0000000
--- a/website-old/docs/tutorials/map-reduce/misc/testing.md
+++ /dev/null
@@ -1,46 +0,0 @@
----
-layout: default
-title: (Deprecated) Testing
-theme:
- name: retro-mahout
----
-<a name="Testing-Intro"></a>
-# Intro
-
-As Mahout matures, solid testing procedures are needed. This page and its
-children capture test plans along with ideas for improving our testing.
-
-<a name="Testing-TestPlans"></a>
-# Test Plans
-
-* [0.6](0.6.html)
- - Test Plans for the 0.6 release
-There are no special plans except for unit tests, and user testing of the
-Hadoop jobs.
-
-<a name="Testing-TestIdeas"></a>
-# Test Ideas
-
-<a name="Testing-Regressions/Benchmarks/Integrations"></a>
-## Regressions/Benchmarks/Integrations
-* Algorithmic quality and speed are not tested, except in a few instances.
-Such tests often require much longer run times (minutes to hours), a
-running Hadoop cluster, and downloads of large datasets (in the megabytes).
-* Standardized speed tests are difficult on different hardware.
-* Unit tests of external integrations require access to externals: HDFS,
-S3, JDBC, Cassandra, etc.
-
-Apache Jenkins is not able to support these environments. Commercial
-donations would help.
-
-<a name="Testing-UnitTests"></a>
-## Unit Tests
-Mahout's current tests are almost entirely unit tests. Algorithm tests
-generally supply a few numbers to code paths and verify that expected
-numbers come out. 'mvn test' runs these tests. There is "positive" coverage
-of a great many utilities and algorithms. A much smaller percent include
-"negative" coverage (bogus setups, inputs, combinations).
-
-<a name="Testing-Other"></a>
-## Other
-

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/docs/tutorials/map-reduce/misc/using-mahout-with-python-via-jpype.md
----------------------------------------------------------------------
diff --git a/website-old/docs/tutorials/map-reduce/misc/using-mahout-with-python-via-jpype.md b/website-old/docs/tutorials/map-reduce/misc/using-mahout-with-python-via-jpype.md
deleted file mode 100644
index 4b6af12..0000000
--- a/website-old/docs/tutorials/map-reduce/misc/using-mahout-with-python-via-jpype.md
+++ /dev/null
@@ -1,222 +0,0 @@
----
-layout: default
-title: (Deprecated) Using Mahout with Python via JPype
-theme:
- name: retro-mahout
----
-
-<a name="UsingMahoutwithPythonviaJPype-overview"></a>
-# Mahout over Jython - some examples
-This tutorial provides some sample code illustrating how we can read and
-write sequence files containing Mahout vectors from Python using JPype.
-This tutorial is intended for people who want to use Python for analyzing
-and plotting Mahout data. Using Mahout from Python turns out to be quite
-easy.
-
-This tutorial concerns the use of cPython (cython) as opposed to Jython.
-JPython wasn't an option for me, because (to the best of my knowledge)
-JPython doesn't work with Python extensions numpy, matplotlib, or h5py
-which I rely on heavily.
-
-The instructions below explain how to setup a python script to read and
-write the output of Mahout clustering.
-
-You will first need to download and install the JPype package for python.
-
-The first step to setting up JPype is determining the path to the dynamic
-library for the jvm ; on linux this will be a .so file on and on windows it
-will be a .dll.
-
-In your python script, create a global variable with the path to this dll
-
-
-
-Next we need to figure out how we need to set the classpath for mahout. The
-easiest way to do this is to edit the script in "bin/mahout" to print out
-the classpath. Add the line "echo $CLASSPATH" to the script somewhere after
-the comment "run it" (this is line 195 or so). Execute the script to print
-out the classpath. Copy this output and paste it into a variable in your
-python script. The result for me looks like the following
-
-
-
-
-Now we can create a function to start the jvm in python using jype
-
- jvm=None
- def start_jpype():
- global jvm
- if (jvm is None):
- cpopt="-Djava.class.path={cp}".format(cp=classpath)
- startJVM(jvmlib,"-ea",cpopt)
- jvm="started"
-
-
-
-<a name="UsingMahoutwithPythonviaJPype-WritingNamedVectorstoSequenceFilesfromPython"></a>
-# Writing Named Vectors to Sequence Files from Python
-We can now use JPype to create sequence files which will contain vectors to
-be used by Mahout for kmeans. The example below is a function which creates
-vectors from two Gaussian distributions with unit variance.
-
-
- def create_inputs(ifile,*args,**param):
- """Create a sequence file containing some normally distributed
- ifile - path to the sequence file to create
- """
-
- #matrix of the cluster means
- cmeans=np.array([[1,1] ,[-1,-1]],np.int)
-
- nperc=30 #number of points per cluster
-
- vecs=[]
-
- vnames=[]
- for cind in range(cmeans.shape[0]):
- pts=np.random.randn(nperc,2)
- pts=pts+cmeans[cind,:].reshape([1,cmeans.shape[1]])
- vecs.append(pts)
-
- #names for the vectors
- #names are just the points with an index
- #we do this so we can validate by cross-refencing the name with thevector
- vn=np.empty(nperc,dtype=(np.str,30))
- for row in range(nperc):
- vn[row]="c"+str(cind)+"_"+pts[row,0].astype((np.str,4))+"_"+pts[row,1].astype((np.str,4))
- vnames.append(vn)
-
- vecs=np.vstack(vecs)
- vnames=np.hstack(vnames)
-
-
- #start the jvm
- start_jpype()
-
- #create the sequence file that we will write to
- io=JPackage("org").apache.hadoop.io
- FileSystemCls=JPackage("org").apache.hadoop.fs.FileSystem
-
- PathCls=JPackage("org").apache.hadoop.fs.Path
- path=PathCls(ifile)
-
- ConfCls=JPackage("org").apache.hadoop.conf.Configuration
- conf=ConfCls()
-
- fs=FileSystemCls.get(conf)
-
- #vector classes
- VectorWritableCls=JPackage("org").apache.mahout.math.VectorWritable
- DenseVectorCls=JPackage("org").apache.mahout.math.DenseVector
- NamedVectorCls=JPackage("org").apache.mahout.math.NamedVector
- writer=io.SequenceFile.createWriter(fs, conf, path,io.Text,VectorWritableCls)
-
-
- vecwritable=VectorWritableCls()
- for row in range(vecs.shape[0]):
- nvector=NamedVectorCls(DenseVectorCls(JArray(JDouble,1)(vecs[row,:])),vnames[row])
- #need to wrap key and value because of overloading
- wrapkey=JObject(io.Text("key "+str(row)),io.Writable)
- wrapval=JObject(vecwritable,io.Writable)
-
- vecwritable.set(nvector)
- writer.append(wrapkey,wrapval)
-
- writer.close()
-
-
-<a name="UsingMahoutwithPythonviaJPype-ReadingtheKMeansClusteredPointsfromPython"></a>
-# Reading the KMeans Clustered Points from Python
-Similarly we can use JPype to easily read the clustered points outputted by
-mahout.
-
- def read_clustered_pts(ifile,*args,**param):
- """Read the clustered points
- ifile - path to the sequence file containing the clustered points
- """
-
- #start the jvm
- start_jpype()
-
- #create the sequence file that we will write to
- io=JPackage("org").apache.hadoop.io
- FileSystemCls=JPackage("org").apache.hadoop.fs.FileSystem
-
- PathCls=JPackage("org").apache.hadoop.fs.Path
- path=PathCls(ifile)
-
- ConfCls=JPackage("org").apache.hadoop.conf.Configuration
- conf=ConfCls()
-
- fs=FileSystemCls.get(conf)
-
- #vector classes
- VectorWritableCls=JPackage("org").apache.mahout.math.VectorWritable
- NamedVectorCls=JPackage("org").apache.mahout.math.NamedVector
-
-
- ReaderCls=io.__getattribute__("SequenceFile$Reader")
- reader=ReaderCls(fs, path,conf)
-
-
- key=reader.getKeyClass()()
-
-
- valcls=reader.getValueClass()
- vecwritable=valcls()
- while (reader.next(key,vecwritable)):
- weight=vecwritable.getWeight()
- nvec=vecwritable.getVector()
-
- cname=nvec.__class__.__name__
- if (cname.rsplit('.',1)[1]=="NamedVector"):
- print "cluster={key} Name={name} x={x}y={y}".format(key=key.toString(),name=nvec.getName(),x=nvec.get(0),y=nvec.get(1))
- else:
- raise NotImplementedError("Vector isn't a NamedVector. Need tomodify/test the code to handle this case.")
-
-
-<a name="UsingMahoutwithPythonviaJPype-ReadingtheKMeansCentroids"></a>
-# Reading the KMeans Centroids
-Finally we can create a function to print out the actual cluster centers
-found by mahout,
-
- def getClusters(ifile,*args,**param):
- """Read the centroids from the clusters outputted by kmenas
- ifile - Path to the sequence file containing the centroids
- """
-
- #start the jvm
- start_jpype()
-
- #create the sequence file that we will write to
- io=JPackage("org").apache.hadoop.io
- FileSystemCls=JPackage("org").apache.hadoop.fs.FileSystem
-
- PathCls=JPackage("org").apache.hadoop.fs.Path
- path=PathCls(ifile)
-
- ConfCls=JPackage("org").apache.hadoop.conf.Configuration
- conf=ConfCls()
-
- fs=FileSystemCls.get(conf)
-
- #vector classes
- VectorWritableCls=JPackage("org").apache.mahout.math.VectorWritable
- NamedVectorCls=JPackage("org").apache.mahout.math.NamedVector
- ReaderCls=io.__getattribute__("SequenceFile$Reader")
- reader=ReaderCls(fs, path,conf)
-
-
- key=io.Text()
-
-
- valcls=reader.getValueClass()
-
- vecwritable=valcls()
-
- while (reader.next(key,vecwritable)):
- center=vecwritable.getCenter()
-
- print "id={cid}center={center}".format(cid=vecwritable.getId(),center=center.values)
- pass
-

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/docs/tutorials/map-reduce/recommender/intro-als-hadoop.md
----------------------------------------------------------------------
diff --git a/website-old/docs/tutorials/map-reduce/recommender/intro-als-hadoop.md b/website-old/docs/tutorials/map-reduce/recommender/intro-als-hadoop.md
deleted file mode 100644
index ad540c7..0000000
--- a/website-old/docs/tutorials/map-reduce/recommender/intro-als-hadoop.md
+++ /dev/null
@@ -1,98 +0,0 @@
----
-layout: default
-title: (Deprecated) Perceptron and Winnow
-theme:
- name: retro-mahout
----
-
-# Introduction to ALS Recommendations with Hadoop
-
-##Overview
-
-Mahout’s ALS recommender is a matrix factorization algorithm that uses Alternating Least Squares with Weighted-Lamda-Regularization (ALS-WR). It factors the user to item matrix *A* into the user-to-feature matrix *U* and the item-to-feature matrix *M*: It runs the ALS algorithm in a parallel fashion. The algorithm details can be referred to in the following papers:
-
-* [Large-scale Parallel Collaborative Filtering for
-the Netflix Prize](http://www.hpl.hp.com/personal/Robert_Schreiber/papers/2008%20AAIM%20Netflix/netflix_aaim08%28submitted%29.pdf)
-* [Collaborative Filtering for Implicit Feedback Datasets](http://research.yahoo.com/pub/2433)
-
-This recommendation algorithm can be used in eCommerce platform to recommend products to customers. Unlike the user or item based recommenders that computes the similarity of users or items to make recommendations, the ALS algorithm uncovers the latent factors that explain the observed user to item ratings and tries to find optimal factor weights to minimize the least squares between predicted and actual ratings.
-
-Mahout's ALS recommendation algorithm takes as input user preferences by item and generates an output of recommending items for a user. The input customer preference could either be explicit user ratings or implicit feedback such as user's click on a web page.
-
-One of the strengths of the ALS based recommender, compared to the user or item based recommender, is its ability to handle large sparse data sets and its better prediction performance. It could also gives an intuitive rationale of the factors that influence recommendations.
-
-##Implementation
-At present Mahout has a map-reduce implementation of ALS, which is composed of 2 jobs: a parallel matrix factorization job and a recommendation job.
-The matrix factorization job computes the user-to-feature matrix and item-to-feature matrix given the user to item ratings. Its input includes:
-<pre>
- --input: directory containing files of explicit user to item rating or implicit feedback;
- --output: output path of the user-feature matrix and feature-item matrix;
- --lambda: regularization parameter to avoid overfitting;
- --alpha: confidence parameter only used on implicit feedback
- --implicitFeedback: boolean flag to indicate whether the input dataset contains implicit feedback;
- --numFeatures: dimensions of feature space;
- --numThreadsPerSolver: number of threads per solver mapper for concurrent execution;
- --numIterations: number of iterations
- --usesLongIDs: boolean flag to indicate whether the input contains long IDs that need to be translated
-</pre>
-and it outputs the matrices in sequence file format.
-
-The recommendation job uses the user feature matrix and item feature matrix calculated from the factorization job to compute the top-N recommendations per user. Its input includes:
-<pre>
- --input: directory containing files of user ids;
- --output: output path of the recommended items for each input user id;
- --userFeatures: path to the user feature matrix;
- --itemFeatures: path to the item feature matrix;
- --numRecommendations: maximum number of recommendations per user, default is 10;
- --maxRating: maximum rating available;
- --numThreads: number of threads per mapper;
- --usesLongIDs: boolean flag to indicate whether the input contains long IDs that need to be translated;
- --userIDIndex: index for user long IDs (necessary if usesLongIDs is true);
- --itemIDIndex: index for item long IDs (necessary if usesLongIDs is true)
-</pre>
-and it outputs a list of recommended item ids for each user. The predicted rating between user and item is a dot product of the user's feature vector and the item's feature vector.
-
-##Example
-
-Let’s look at a simple example of how we could use Mahout’s ALS recommender to recommend items for users. First, you’ll need to get Mahout up and running, the instructions for which can be found [here](https://mahout.apache.org/users/basics/quickstart.html). After you've ensured Mahout is properly installed, we’re ready to run the example.
-
-**Step 1: Prepare test data**
-
-Similar to Mahout's item based recommender, the ALS recommender relies on the user to item preference data: *userID*, *itemID* and *preference*. The preference could be explicit numeric rating or counts of actions such as a click (implicit feedback). The test data file is organized as each line is a tab-delimited string, the 1st field is user id, which must be numeric, the 2nd field is item id, which must be numeric and the 3rd field is preference, which should also be a number.
-
-**Note:** You must create IDs that are ordinal positive integers for all user and item IDs. Often this will require you to keep a dictionary
-to map into and out of Mahout IDs. For instance if the first user has ID "xyz" in your application, this would get an Mahout ID of the integer 1 and so on. The same
-for item IDs. Then after recommendations are calculated you will have to translate the Mahout user and item IDs back into your application IDs.
-
-To quickly start, you could specify a text file like following as the input:
-<pre>
-1 100 1
-1 200 5
-1 400 1
-2 200 2
-2 300 1
-</pre>
-
-**Step 2: Determine parameters**
-
-In addition, users need to determine dimension of feature space, the number of iterations to run the alternating least square algorithm, Using 10 features and 15 iterations is a reasonable default to try first. Optionally a confidence parameter can be set if the input preference is implicit user feedback.
-
-**Step 3: Run ALS**
-
-Assuming your *JAVA_HOME* is appropriately set and Mahout was installed properly we’re ready to configure our syntax. Enter the following command:
-
- $ mahout parallelALS --input $als_input --output $als_output --lambda 0.1 --implicitFeedback true --alpha 0.8 --numFeatures 2 --numIterations 5 --numThreadsPerSolver 1 --tempDir tmp
-
-Running the command will execute a series of jobs the final product of which will be an output file deposited to the output directory specified in the command syntax. The output directory contains 3 sub-directories: *M* stores the item to feature matrix, *U* stores the user to feature matrix and userRatings stores the user's ratings on the items. The *tempDir* parameter specifies the directory to store the intermediate output of the job, such as the matrix output in each iteration and each item's average rating. Using the *tempDir* will help on debugging.
-
-**Step 4: Make Recommendations**
-
-Based on the output feature matrices from step 3, we could make recommendations for users. Enter the following command:
-
- $ mahout recommendfactorized --input $als_recommender_input --userFeatures $als_output/U/ --itemFeatures $als_output/M/ --numRecommendations 1 --output recommendations --maxRating 1
-
-The input user file is a sequence file, the sequence record key is user id and value is the user's rated item ids which will be removed from recommendation. The output file generated in our simple example will be a text file giving the recommended item ids for each user.
-Remember to translate the Mahout ids back into your application specific ids.
-
-There exist a variety of parameters for Mahout’s ALS recommender to accommodate custom business requirements; exploring and testing various configurations to suit your needs will doubtless lead to additional questions. Feel free to ask such questions on the [mailing list](https://mahout.apache.org/general/mailing-lists,-irc-and-archives.html).
-
a***@apache.org
2017-12-21 04:52:55 UTC
Permalink
http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/docs/algorithms/map-reduce/clustering/streaming-k-means.md
----------------------------------------------------------------------
diff --git a/website-old/docs/algorithms/map-reduce/clustering/streaming-k-means.md b/website-old/docs/algorithms/map-reduce/clustering/streaming-k-means.md
deleted file mode 100644
index 599921f..0000000
--- a/website-old/docs/algorithms/map-reduce/clustering/streaming-k-means.md
+++ /dev/null
@@ -1,174 +0,0 @@
----
-layout: algorithm
-title: (Deprecated) Spectral Clustering
-theme:
- name: retro-mahout
----
-
-# *StreamingKMeans* algorithm
-
-The *StreamingKMeans* algorithm is a variant of Algorithm 1 from [Shindler et al][1] and consists of two steps:
-
- 1. Streaming step
- 2. BallKMeans step.
-
-The streaming step is a randomized algorithm that makes one pass through the data and
-produces as many centroids as it determines is optimal. This step can be viewed as
-a preparatory dimensionality reduction. If the size of the data stream is *n* and the
-expected number of clusters is *k*, the streaming step will produce roughly *k\*log(n)*
-clusters that will be passed on to the BallKMeans step which will further reduce the
-number of clusters down to *k*. BallKMeans is a randomized Lloyd-type algorithm that
-has been studied in detail, see [Ostrovsky et al][2].
-
-## Streaming step
-
----
-
-### Overview
-
-The streaming step is a derivative of the streaming
-portion of Algorithm 1 in [Shindler et al][1]. The main difference between the two is that
-Algorithm 1 of [Shindler et al][1] assumes
-the knowledge of the size of the data stream and uses it to set a key parameter
-for the algorithm. More precisely, the initial *distanceCutoff* (defined below), which is
-denoted by *f* in [Shindler et al][1], is set to *1/(k(1+log(n))*. The *distanceCutoff* influences the number of clusters that the algorithm
-will produce.
-In contrast, Mahout implementation does not require the knowledge of the size of the
-data stream. Instead, it dynamically re-evaluates the parameters that depend on the size
-of the data stream at runtime as more and more data is processed. In particular,
-the parameter *numClusters* (defined below) changes its value as the data is processed.
-
-###Parameters
-
- - **numClusters** (int): Conceptually, *numClusters* represents the algorithm's guess at the optimal
-number of clusters it is shooting for. In particular, *numClusters* will increase at run
-time as more and more data is processed. Note that •numClusters• is not the number of clusters that the algorithm will produce. Also, *numClusters* should not be set to the final number of clusters that we expect to receive as the output of *StreamingKMeans*.
- - **distanceCutoff** (double): a parameter representing the value of the distance between a point and
-its closest centroid after which
-the new point will definitely be assigned to a new cluster. *distanceCutoff* can be thought
-of as an estimate of the variable *f* from Shindler et al. The default initial value for
-*distanceCutoff* is *1.0/numClusters* and *distanceCutoff* grows as a geometric progression with
-common ratio *beta* (see below).
- - **beta** (double): a constant parameter that controls the growth of *distanceCutoff*. If the initial setting of *distanceCutoff* is *d0*, *distanceCutoff* will grow as the geometric progression with initial term *d0* and common ratio *beta*. The default value for *beta* is 1.3.
- - **clusterLogFactor** (double): a constant parameter such that *clusterLogFactor* *log(numProcessedPoints)* is the runtime estimate of the number of clusters to be produced by the streaming step. If the final number of clusters (that we expect *StreamingKMeans* to output) is *k*, *clusterLogFactor* can be set to *k*.
- - **clusterOvershoot** (double): a constant multiplicative slack factor that slows down the collapsing of clusters. The default value is 2.
-
-
-###Algorithm
-
-The algorithm processes the data one-by-one and makes only one pass through the data.
-The first point from the data stream will form the centroid of the first cluster (this designation may change as more points are processed). Suppose there are *r* clusters at one point and a new point *p* is being processed. The new point can either be added to one of the existing *r* clusters or become a new cluster. To decide:
-
- - let *c* be the closest cluster to point *p*
- - let *d* be the distance between *c* and *p*
- - if *d > distanceCutoff*, create a new cluster from *p* (*p* is too far away from the clusters to be part of any one of them)
- - else (*d <= distanceCutoff*), create a new cluster with probability *d / distanceCutoff* (the probability of creating a new cluster increases as *d* increases).
-
-There will be either *r* or *r+1* clusters after processing a new point.
-
-As the number of clusters increases, it will go over the *clusterOvershoot \* numClusters* limit (*numClusters* represents a recommendation for the number of clusters that the streaming step should aim for and *clusterOvershoot* is the slack). To decrease the number of clusters the existing clusters
-are treated as data points and are re-clustered (collapsed). This tends to make the number of clusters go down. If the number of clusters is still too high, *distanceCutoff* is increased.
-
-## BallKMeans step
----
-### Overview
-The algorithm is a Lloyd-type algorithm that takes a set of weighted vectors and returns k centroids, see [Ostrovsky et al][2] for details. The algorithm has two stages:
-
- 1. Seeding
- 2. Ball k-means
-
-The seeding stage is an initial guess of where the centroids should be. The initial guess is improved using the ball k-means stage.
-
-### Parameters
-
-* **numClusters** (int): the number k of centroids to return. The algorithm will return exactly this number of centroids.
-
-* **maxNumIterations** (int): After seeding, the iterative clustering procedure will be run at most *maxNumIterations* times. 1 or 2 iterations are recommended. Increasing beyond this will increase the accuracy of the result at the expense of runtime. Each successive iteration yields diminishing returns in lowering the cost.
-
-* **trimFraction** (double): Outliers are ignored when computing the center of mass for a cluster. For any datapoint *x*, let *c* be the nearest centroid. Let *d* be the minimum distance from *c* to another centroid. If the distance from *x* to *c* is greater than *trimFraction \* d*, then *x* is considered an outlier during that iteration of ball k-means. The default is 9/10. In [Ostrovsky et al][2], the authors use *trimFraction* = 1/3, but this does not mean that 1/3 is optimal in practice.
-
-* **kMeansPlusPlusInit** (boolean): If true, the seeding method is k-means++. If false, the seeding method is to select points uniformly at random. The default is true.
-
-* **correctWeights** (boolean): If *correctWeights* is true, outliers will be considered when calculating the weight of centroids. The default is true. Note that outliers are not considered when calculating the position of centroids.
-
-* **testProbability** (double): If *testProbability* is *p* (0 < *p* < 1), the data (of size n) is partitioned into a test set (of size *p\*n*) and a training set (of size *(1-p)\*n*). If 0, no test set is created (the entire data set is used for both training and testing). The default is 0.1 if *numRuns* > 1. If *numRuns* = 1, then no test set should be created (since it is only used to compare the cost between different runs).
-
-* **numRuns** (int): This is the number of runs to perform. The solution of lowest cost is returned. The default is 1 run.
-
-###Algorithm
-The algorithm can be instructed to take multiple independent runs (using the *numRuns* parameter) and the algorithm will select the best solution (i.e., the one with the lowest cost). In practice, one run is sufficient to find a good solution.
-
-Each run operates as follows: a seeding procedure is used to select k centroids, and then ball k-means is run iteratively to refine the solution.
-
-The seeding procedure can be set to either 'uniformly at random' or 'k-means++' using *kMeansPlusPlusInit* boolean variable. Seeding with k-means++ involves more computation but offers better results in practice.
-
-Each iteration of ball k-means runs as follows:
-
-1. Clusters are formed by assigning each datapoint to the nearest centroid
-2. The centers of mass of the trimmed clusters (see *trimFraction* parameter above) become the new centroids
-
-The data may be partitioned into a test set and a training set (see *testProbability*). The seeding procedure and ball k-means run on the training set. The cost is computed on the test set.
-
-
-##Usage of *StreamingKMeans*
-
- bin/mahout streamingkmeans
- -i <input>
- -o <output>
- -ow
- -k <k>
- -km <estimatedNumMapClusters>
- -e <estimatedDistanceCutoff>
- -mi <maxNumIterations>
- -tf <trimFraction>
- -ri
- -iw
- -testp <testProbability>
- -nbkm <numBallKMeansRuns>
- -dm <distanceMeasure>
- -sc <searcherClass>
- -np <numProjections>
- -s <searchSize>
- -rskm
- -xm <method>
- -h
- --tempDir <tempDir>
- --startPhase <startPhase>
- --endPhase <endPhase>
-
-
-###Details on Job-Specific Options:
-
- * `--input (-i) <input>`: Path to job input directory.
- * `--output (-o) <output>`: The directory pathname for output.
- * `--overwrite (-ow)`: If present, overwrite the output directory before running job.
- * `--numClusters (-k) <k>`: The k in k-Means. Approximately this many clusters will be generated.
- * `--estimatedNumMapClusters (-km) <estimatedNumMapClusters>`: The estimated number of clusters to use for the Map phase of the job when running StreamingKMeans. This should be around k \* log(n), where k is the final number of clusters and n is the total number of data points to cluster.
- * `--estimatedDistanceCutoff (-e) <estimatedDistanceCutoff>`: The initial estimated distance cutoff between two points for forming new clusters. If no value is given, it's estimated from the data set
- * `--maxNumIterations (-mi) <maxNumIterations>`: The maximum number of iterations to run for the BallKMeans algorithm used by the reducer. If no value is given, defaults to 10.
- * `--trimFraction (-tf) <trimFraction>`: The 'ball' aspect of ball k-means means that only the closest points to the centroid will actually be used for updating. The fraction of the points to be used is those points whose distance to the center is within trimFraction \* distance to the closest other center. If no value is given, defaults to 0.9.
- * `--randomInit` (`-ri`) Whether to use k-means++ initialization or random initialization of the seed centroids. Essentially, k-means++ provides better clusters, but takes longer, whereas random initialization takes less time, but produces worse clusters, and tends to fail more often and needs multiple runs to compare to k-means++. If set, uses the random initialization.
- * `--ignoreWeights (-iw)`: Whether to correct the weights of the centroids after the clustering is done. The weights end up being wrong because of the trimFraction and possible train/test splits. In some cases, especially in a pipeline, having an accurate count of the weights is useful. If set, ignores the final weights.
- * `--testProbability (-testp) <testProbability>`: A double value between 0 and 1 that represents the percentage of points to be used for 'testing' different clustering runs in the final BallKMeans step. If no value is given, defaults to 0.1
- * `--numBallKMeansRuns (-nbkm) <numBallKMeansRuns>`: Number of BallKMeans runs to use at the end to try to cluster the points. If no value is given, defaults to 4
- * `--distanceMeasure (-dm) <distanceMeasure>`: The classname of the DistanceMeasure. Default is SquaredEuclidean.
- * `--searcherClass (-sc) <searcherClass>`: The type of searcher to be used when performing nearest neighbor searches. Defaults to ProjectionSearch.
- * `--numProjections (-np) <numProjections>`: The number of projections considered in estimating the distances between vectors. Only used when the distance measure requested is either ProjectionSearch or FastProjectionSearch. If no value is given, defaults to 3.
- * `--searchSize (-s) <searchSize>`: In more efficient searches (non BruteSearch), not all distances are calculated for determining the nearest neighbors. The number of elements whose distances from the query vector is actually computer is proportional to searchSize. If no value is given, defaults to 1.
- * `--reduceStreamingKMeans (-rskm)`: There might be too many intermediate clusters from the mapper to fit into memory, so the reducer can run another pass of StreamingKMeans to collapse them down to a fewer clusters.
- * `--method (-xm)` method The execution method to use: sequential or mapreduce. Default is mapreduce.
- * `-- help (-h)`: Print out help
- * `--tempDir <tempDir>`: Intermediate output directory.
- * `--startPhase <startPhase>` First phase to run.
- * `--endPhase <endPhase>` Last phase to run.
-
-
-##References
-
-1. [M. Shindler, A. Wong, A. Meyerson: Fast and Accurate k-means For Large Datasets][1]
-2. [R. Ostrovsky, Y. Rabani, L. Schulman, Ch. Swamy: The Effectiveness of Lloyd-Type Methods for the k-means Problem][2]
-
-
-[1]: http://nips.cc/Conferences/2011/Program/event.php?ID=2989 "M. Shindler, A. Wong, A. Meyerson: Fast and Accurate k-means For Large Datasets"
-
-[2]: http://www.math.uwaterloo.ca/~cswamy/papers/kmeansfnl.pdf "R. Ostrovsky, Y. Rabani, L. Schulman, Ch. Swamy: The Effectiveness of Lloyd-Type Methods for the k-means Problem"

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/docs/algorithms/map-reduce/index.md
----------------------------------------------------------------------
diff --git a/website-old/docs/algorithms/map-reduce/index.md b/website-old/docs/algorithms/map-reduce/index.md
deleted file mode 100644
index 14d099a..0000000
--- a/website-old/docs/algorithms/map-reduce/index.md
+++ /dev/null
@@ -1,42 +0,0 @@
----
-layout: algorithm
-title: (Deprecated) Deprecated Map Reduce Algorithms
-theme:
- name: mahout2
----
-
-### Classification
-
-[Bayesian](classification/bayesian.html)
-
-[Class Discovery](classification/class-discovery.html)
-
-[Classifying Your Data](classification/classifyingyourdata.html)
-
-[Collocations](classification/collocations.html)
-
-[Gaussian Discriminative Analysis](classification/gaussian-discriminative-analysis.html)
-
-[Hidden Markov Models](classification/hidden-markov-models.html)
-
-[Independent Component Analysis](classification/independent-component-analysis.html)
-
-[Locally Weighted Linear Regression](classification/locally-weighted-linear-regression.html)
-
-[Logistic Regression](classification/logistic-regression.html)
-
-[Mahout Collections](classification/mahout-collections.html)
-
-[Multilayer Perceptron](classification/mlp.html)
-
-[Naive Bayes](classification/naivebayes.html)
-
-[Neural Network](classification/neural-network.html)
-
-[Partial Implementation](classification/partial-implementation.html)
-
-[Random Forrests](classification/random-forrests.html)
-
-[Restricted Boltzman Machines](classification/restricted-boltzman-machines.html)
-
-[Support Vector Machines](classification/support-vector-machines.html)

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/docs/algorithms/preprocessors/AsFactor.md
----------------------------------------------------------------------
diff --git a/website-old/docs/algorithms/preprocessors/AsFactor.md b/website-old/docs/algorithms/preprocessors/AsFactor.md
deleted file mode 100644
index 255f982..0000000
--- a/website-old/docs/algorithms/preprocessors/AsFactor.md
+++ /dev/null
@@ -1,35 +0,0 @@
----
-layout: algorithm
-title: AsFactor
-theme:
- name: mahout2
----
-
-
-### About
-
-The `AsFactor` preprocessor is used to turn the integer values of the columns into sparse vectors where the value is 1
- at the index that corresponds to the 'category' of that column. This is also known as "One Hot Encoding" in many other
- packages.
-
-
-### Parameters
-
-`AsFactor` takes no parameters.
-
-### Example
-
-```scala
-import org.apache.mahout.math.algorithms.preprocessing.AsFactor
-
-val A = drmParallelize(dense(
- (3, 2, 1, 2),
- (0, 0, 0, 0),
- (1, 1, 1, 1)), numPartitions = 2)
-
-// 0 -> 2, 3 -> 5, 6 -> 9
-val factorizer: AsFactorModel = new AsFactor().fit(A)
-
-val factoredA = factorizer.transform(A)
-```
-

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/docs/algorithms/preprocessors/MeanCenter.md
----------------------------------------------------------------------
diff --git a/website-old/docs/algorithms/preprocessors/MeanCenter.md b/website-old/docs/algorithms/preprocessors/MeanCenter.md
deleted file mode 100644
index 771b6a3..0000000
--- a/website-old/docs/algorithms/preprocessors/MeanCenter.md
+++ /dev/null
@@ -1,30 +0,0 @@
----
-layout: algorithm
-title: MeanCenter
-theme:
- name: mahout2
----
-
-### About
-
-`MeanCenter` centers values about the column mean.
-
-### Parameters
-
-### Example
-
-```scala
-import org.apache.mahout.math.algorithms.preprocessing.MeanCenter
-
-val A = drmParallelize(dense(
- (1, 1, -2),
- (2, 5, 2),
- (3, 9, 0)), numPartitions = 2)
-
-val scaler: MeanCenterModel = new MeanCenter().fit(A)
-
-val centeredA = scaler.transform(A)
-```
-
-
-

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/docs/algorithms/preprocessors/StandardScaler.md
----------------------------------------------------------------------
diff --git a/website-old/docs/algorithms/preprocessors/StandardScaler.md b/website-old/docs/algorithms/preprocessors/StandardScaler.md
deleted file mode 100644
index 5b33709..0000000
--- a/website-old/docs/algorithms/preprocessors/StandardScaler.md
+++ /dev/null
@@ -1,44 +0,0 @@
----
-layout: algorithm
-title: StandardScaler
-theme:
- name: mahout2
----
-
-### About
-
-`StandardScaler` centers the values of each column to their mean, and scales them to unit variance.
-
-#### Relation to the `scale` function in R-base
-The `StandardScaler` is the equivelent of the R-base function [`scale`](https://stat.ethz.ch/R-manual/R-devel/library/base/html/scale.html) with
-one noteable tweek. R's `scale` function (indeed all of R) calculates standard deviation with 1 degree of freedom, Mahout
-(like many other statistical packages aimed at larger data sets) does not make this adjustment. In larger datasets the difference
-is trivial, however when testing the function on smaller datasets the practicioner may be confused by the discrepency.
-
-To verify this function against R on an arbitrary matrix, use the following form in R to "undo" the degrees of freedom correction.
-```R
-N <- nrow(x)
-scale(x, scale= apply(x, 2, sd) * sqrt(N-1/N))
-```
-
-### Parameters
-
-`StandardScaler` takes no parameters at this time.
-
-### Example
-
-
-```scala
-import org.apache.mahout.math.algorithms.preprocessing.StandardScaler
-
-val A = drmParallelize(dense(
- (1, 1, 5),
- (2, 5, -15),
- (3, 9, -2)), numPartitions = 2)
-
-val scaler: StandardScalerModel = new StandardScaler().fit(A)
-
-val scaledA = scaler.transform(A)
-```
-
-

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/docs/algorithms/preprocessors/index.md
----------------------------------------------------------------------
diff --git a/website-old/docs/algorithms/preprocessors/index.md b/website-old/docs/algorithms/preprocessors/index.md
deleted file mode 100644
index 204e06c..0000000
--- a/website-old/docs/algorithms/preprocessors/index.md
+++ /dev/null
@@ -1,10 +0,0 @@
----
-layout: algorithm
-title: Preprocesors
-theme:
- name: mahout2
----
-
-[AsFactor](AsFactor.html) - For "one-hot-encoding"
-
-[StandardScaler](StandardScaler.html) - For mean centering an unit variance
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/docs/algorithms/reccomenders/cco.md
----------------------------------------------------------------------
diff --git a/website-old/docs/algorithms/reccomenders/cco.md b/website-old/docs/algorithms/reccomenders/cco.md
deleted file mode 100644
index 4a6f3f8..0000000
--- a/website-old/docs/algorithms/reccomenders/cco.md
+++ /dev/null
@@ -1,435 +0,0 @@
----
-layout: algorithm
-title: Intro to Cooccurrence Recommenders with Spark
-theme:
- name: retro-mahout
----
-
-Mahout provides several important building blocks for creating recommendations using Spark. *spark-itemsimilarity* can
-be used to create "other people also liked these things" type recommendations and paired with a search engine can
-personalize recommendations for individual users. *spark-rowsimilarity* can provide non-personalized content based
-recommendations and when paired with a search engine can be used to personalize content based recommendations.
-
-## References
-
-1. A free ebook, which talks about the general idea: [Practical Machine Learning](https://www.mapr.com/practical-machine-learning)
-2. A slide deck, which talks about mixing actions or other indicators: [Creating a Unified Recommender](http://occamsmachete.com/ml/2014/10/07/creating-a-unified-recommender-with-mahout-and-a-search-engine/)
-3. Two blog posts: [What's New in Recommenders: part #1](http://occamsmachete.com/ml/2014/08/11/mahout-on-spark-whats-new-in-recommenders/)
-and [What's New in Recommenders: part #2](http://occamsmachete.com/ml/2014/09/09/mahout-on-spark-whats-new-in-recommenders-part-2/)
-3. A post describing the loglikelihood ratio: [Surprise and Coinsidense](http://tdunning.blogspot.com/2008/03/surprise-and-coincidence.html) LLR is used to reduce noise in the data while keeping the calculations O(n) complexity.
-
-Below are the command line jobs but the drivers and associated code can also be customized and accessed from the Scala APIs.
-
-## 1. spark-itemsimilarity
-*spark-itemsimilarity* is the Spark counterpart of the of the Mahout mapreduce job called *itemsimilarity*. It takes in elements of interactions, which have userID, itemID, and optionally a value. It will produce one of more indicator matrices created by comparing every user's interactions with every other user. The indicator matrix is an item x item matrix where the values are log-likelihood ratio strengths. For the legacy mapreduce version, there were several possible similarity measures but these are being deprecated in favor of LLR because in practice it performs the best.
-
-Mahout's mapreduce version of itemsimilarity takes a text file that is expected to have user and item IDs that conform to
-Mahout's ID requirements--they are non-negative integers that can be viewed as row and column numbers in a matrix.
-
-*spark-itemsimilarity* also extends the notion of cooccurrence to cross-cooccurrence, in other words the Spark version will
-account for multi-modal interactions and create indicator matrices allowing the use of much more data in
-creating recommendations or similar item lists. People try to do this by mixing different actions and giving them weights.
-For instance they might say an item-view is 0.2 of an item purchase. In practice this is often not helpful. Spark-itemsimilarity's
-cross-cooccurrence is a more principled way to handle this case. In effect it scrubs secondary actions with the action you want
-to recommend.
-
-
- spark-itemsimilarity Mahout 1.0
- Usage: spark-itemsimilarity [options]
-
- Disconnected from the target VM, address: '127.0.0.1:64676', transport: 'socket'
- Input, output options
- -i <value> | --input <value>
- Input path, may be a filename, directory name, or comma delimited list of HDFS supported URIs (required)
- -i2 <value> | --input2 <value>
- Secondary input path for cross-similarity calculation, same restrictions as "--input" (optional). Default: empty.
- -o <value> | --output <value>
- Path for output, any local or HDFS supported URI (required)
-
- Algorithm control options:
- -mppu <value> | --maxPrefs <value>
- Max number of preferences to consider per user (optional). Default: 500
- -m <value> | --maxSimilaritiesPerItem <value>
- Limit the number of similarities per item to this number (optional). Default: 100
-
- Note: Only the Log Likelihood Ratio (LLR) is supported as a similarity measure.
-
- Input text file schema options:
- -id <value> | --inDelim <value>
- Input delimiter character (optional). Default: "[,\t]"
- -f1 <value> | --filter1 <value>
- String (or regex) whose presence indicates a datum for the primary item set (optional). Default: no filter, all data is used
- -f2 <value> | --filter2 <value>
- String (or regex) whose presence indicates a datum for the secondary item set (optional). If not present no secondary dataset is collected
- -rc <value> | --rowIDColumn <value>
- Column number (0 based Int) containing the row ID string (optional). Default: 0
- -ic <value> | --itemIDColumn <value>
- Column number (0 based Int) containing the item ID string (optional). Default: 1
- -fc <value> | --filterColumn <value>
- Column number (0 based Int) containing the filter string (optional). Default: -1 for no filter
-
- Using all defaults the input is expected of the form: "userID<tab>itemId" or "userID<tab>itemID<tab>any-text..." and all rows will be used
-
- File discovery options:
- -r | --recursive
- Searched the -i path recursively for files that match --filenamePattern (optional), Default: false
- -fp <value> | --filenamePattern <value>
- Regex to match in determining input files (optional). Default: filename in the --input option or "^part-.*" if --input is a directory
-
- Output text file schema options:
- -rd <value> | --rowKeyDelim <value>
- Separates the rowID key from the vector values list (optional). Default: "\t"
- -cd <value> | --columnIdStrengthDelim <value>
- Separates column IDs from their values in the vector values list (optional). Default: ":"
- -td <value> | --elementDelim <value>
- Separates vector element values in the values list (optional). Default: " "
- -os | --omitStrength
- Do not write the strength to the output files (optional), Default: false.
- This option is used to output indexable data for creating a search engine recommender.
-
- Default delimiters will produce output of the form: "itemID1<tab>itemID2:value2<space>itemID10:value10..."
-
- Spark config options:
- -ma <value> | --master <value>
- Spark Master URL (optional). Default: "local". Note that you can specify the number of cores to get a performance improvement, for example "local[4]"
- -sem <value> | --sparkExecutorMem <value>
- Max Java heap available as "executor memory" on each node (optional). Default: 4g
- -rs <value> | --randomSeed <value>
-
- -h | --help
- prints this usage text
-
-This looks daunting but defaults to simple fairly sane values to take exactly the same input as legacy code and is pretty flexible. It allows the user to point to a single text file, a directory full of files, or a tree of directories to be traversed recursively. The files included can be specified with either a regex-style pattern or filename. The schema for the file is defined by column numbers, which map to the important bits of data including IDs and values. The files can even contain filters, which allow unneeded rows to be discarded or used for cross-cooccurrence calculations.
-
-See ItemSimilarityDriver.scala in Mahout's spark module if you want to customize the code.
-
-### Defaults in the _**spark-itemsimilarity**_ CLI
-
-If all defaults are used the input can be as simple as:
-
- userID1,itemID1
- userID2,itemID2
- ...
-
-With the command line:
-
-
- bash$ mahout spark-itemsimilarity --input in-file --output out-dir
-
-
-This will use the "local" Spark context and will output the standard text version of a DRM
-
- itemID1<tab>itemID2:value2<space>itemID10:value10...
-
-### <a name="multiple-actions">How To Use Multiple User Actions</a>
-
-Often we record various actions the user takes for later analytics. These can now be used to make recommendations.
-The idea of a recommender is to recommend the action you want the user to make. For an ecom app this might be
-a purchase action. It is usually not a good idea to just treat other actions the same as the action you want to recommend.
-For instance a view of an item does not indicate the same intent as a purchase and if you just mixed the two together you
-might even make worse recommendations. It is tempting though since there are so many more views than purchases. With *spark-itemsimilarity*
-we can now use both actions. Mahout will use cross-action cooccurrence analysis to limit the views to ones that do predict purchases.
-We do this by treating the primary action (purchase) as data for the indicator matrix and use the secondary action (view)
-to calculate the cross-cooccurrence indicator matrix.
-
-*spark-itemsimilarity* can read separate actions from separate files or from a mixed action log by filtering certain lines. For a mixed
-action log of the form:
-
- u1,purchase,iphone
- u1,purchase,ipad
- u2,purchase,nexus
- u2,purchase,galaxy
- u3,purchase,surface
- u4,purchase,iphone
- u4,purchase,galaxy
- u1,view,iphone
- u1,view,ipad
- u1,view,nexus
- u1,view,galaxy
- u2,view,iphone
- u2,view,ipad
- u2,view,nexus
- u2,view,galaxy
- u3,view,surface
- u3,view,nexus
- u4,view,iphone
- u4,view,ipad
- u4,view,galaxy
-
-### Command Line
-
-
-Use the following options:
-
- bash$ mahout spark-itemsimilarity \
- --input in-file \ # where to look for data
- --output out-path \ # root dir for output
- --master masterUrl \ # URL of the Spark master server
- --filter1 purchase \ # word that flags input for the primary action
- --filter2 view \ # word that flags input for the secondary action
- --itemIDPosition 2 \ # column that has the item ID
- --rowIDPosition 0 \ # column that has the user ID
- --filterPosition 1 # column that has the filter word
-
-
-
-### Output
-
-The output of the job will be the standard text version of two Mahout DRMs. This is a case where we are calculating
-cross-cooccurrence so a primary indicator matrix and cross-cooccurrence indicator matrix will be created
-
- out-path
- |-- similarity-matrix - TDF part files
- \-- cross-similarity-matrix - TDF part-files
-
-The indicator matrix will contain the lines:
-
- galaxy\tnexus:1.7260924347106847
- ipad\tiphone:1.7260924347106847
- nexus\tgalaxy:1.7260924347106847
- iphone\tipad:1.7260924347106847
- surface
-
-The cross-cooccurrence indicator matrix will contain:
-
- iphone\tnexus:1.7260924347106847 iphone:1.7260924347106847 ipad:1.7260924347106847 galaxy:1.7260924347106847
- ipad\tnexus:0.6795961471815897 iphone:0.6795961471815897 ipad:0.6795961471815897 galaxy:0.6795961471815897
- nexus\tnexus:0.6795961471815897 iphone:0.6795961471815897 ipad:0.6795961471815897 galaxy:0.6795961471815897
- galaxy\tnexus:1.7260924347106847 iphone:1.7260924347106847 ipad:1.7260924347106847 galaxy:1.7260924347106847
- surface\tsurface:4.498681156950466 nexus:0.6795961471815897
-
-**Note:** You can run this multiple times to use more than two actions or you can use the underlying
-SimilarityAnalysis.cooccurrence API, which will more efficiently calculate any number of cross-cooccurrence indicators.
-
-### Log File Input
-
-A common method of storing data is in log files. If they are written using some delimiter they can be consumed directly by spark-itemsimilarity. For instance input of the form:
-
- 2014-06-23 14:46:53.115\tu1\tpurchase\trandom text\tiphone
- 2014-06-23 14:46:53.115\tu1\tpurchase\trandom text\tipad
- 2014-06-23 14:46:53.115\tu2\tpurchase\trandom text\tnexus
- 2014-06-23 14:46:53.115\tu2\tpurchase\trandom text\tgalaxy
- 2014-06-23 14:46:53.115\tu3\tpurchase\trandom text\tsurface
- 2014-06-23 14:46:53.115\tu4\tpurchase\trandom text\tiphone
- 2014-06-23 14:46:53.115\tu4\tpurchase\trandom text\tgalaxy
- 2014-06-23 14:46:53.115\tu1\tview\trandom text\tiphone
- 2014-06-23 14:46:53.115\tu1\tview\trandom text\tipad
- 2014-06-23 14:46:53.115\tu1\tview\trandom text\tnexus
- 2014-06-23 14:46:53.115\tu1\tview\trandom text\tgalaxy
- 2014-06-23 14:46:53.115\tu2\tview\trandom text\tiphone
- 2014-06-23 14:46:53.115\tu2\tview\trandom text\tipad
- 2014-06-23 14:46:53.115\tu2\tview\trandom text\tnexus
- 2014-06-23 14:46:53.115\tu2\tview\trandom text\tgalaxy
- 2014-06-23 14:46:53.115\tu3\tview\trandom text\tsurface
- 2014-06-23 14:46:53.115\tu3\tview\trandom text\tnexus
- 2014-06-23 14:46:53.115\tu4\tview\trandom text\tiphone
- 2014-06-23 14:46:53.115\tu4\tview\trandom text\tipad
- 2014-06-23 14:46:53.115\tu4\tview\trandom text\tgalaxy
-
-Can be parsed with the following CLI and run on the cluster producing the same output as the above example.
-
- bash$ mahout spark-itemsimilarity \
- --input in-file \
- --output out-path \
- --master spark://sparkmaster:4044 \
- --filter1 purchase \
- --filter2 view \
- --inDelim "\t" \
- --itemIDPosition 4 \
- --rowIDPosition 1 \
- --filterPosition 2
-
-## 2. spark-rowsimilarity
-
-*spark-rowsimilarity* is the companion to *spark-itemsimilarity* the primary difference is that it takes a text file version of
-a matrix of sparse vectors with optional application specific IDs and it finds similar rows rather than items (columns). Its use is
-not limited to collaborative filtering. The input is in text-delimited form where there are three delimiters used. By
-default it reads (rowID&lt;tab>columnID1:strength1&lt;space>columnID2:strength2...) Since this job only supports LLR similarity,
- which does not use the input strengths, they may be omitted in the input. It writes
-(rowID&lt;tab>rowID1:strength1&lt;space>rowID2:strength2...)
-The output is sorted by strength descending. The output can be interpreted as a row ID from the primary input followed
-by a list of the most similar rows.
-
-The command line interface is:
-
- spark-rowsimilarity Mahout 1.0
- Usage: spark-rowsimilarity [options]
-
- Input, output options
- -i <value> | --input <value>
- Input path, may be a filename, directory name, or comma delimited list of HDFS supported URIs (required)
- -o <value> | --output <value>
- Path for output, any local or HDFS supported URI (required)
-
- Algorithm control options:
- -mo <value> | --maxObservations <value>
- Max number of observations to consider per row (optional). Default: 500
- -m <value> | --maxSimilaritiesPerRow <value>
- Limit the number of similarities per item to this number (optional). Default: 100
-
- Note: Only the Log Likelihood Ratio (LLR) is supported as a similarity measure.
- Disconnected from the target VM, address: '127.0.0.1:49162', transport: 'socket'
-
- Output text file schema options:
- -rd <value> | --rowKeyDelim <value>
- Separates the rowID key from the vector values list (optional). Default: "\t"
- -cd <value> | --columnIdStrengthDelim <value>
- Separates column IDs from their values in the vector values list (optional). Default: ":"
- -td <value> | --elementDelim <value>
- Separates vector element values in the values list (optional). Default: " "
- -os | --omitStrength
- Do not write the strength to the output files (optional), Default: false.
- This option is used to output indexable data for creating a search engine recommender.
-
- Default delimiters will produce output of the form: "itemID1<tab>itemID2:value2<space>itemID10:value10..."
-
- File discovery options:
- -r | --recursive
- Searched the -i path recursively for files that match --filenamePattern (optional), Default: false
- -fp <value> | --filenamePattern <value>
- Regex to match in determining input files (optional). Default: filename in the --input option or "^part-.*" if --input is a directory
-
- Spark config options:
- -ma <value> | --master <value>
- Spark Master URL (optional). Default: "local". Note that you can specify the number of cores to get a performance improvement, for example "local[4]"
- -sem <value> | --sparkExecutorMem <value>
- Max Java heap available as "executor memory" on each node (optional). Default: 4g
- -rs <value> | --randomSeed <value>
-
- -h | --help
- prints this usage text
-
-See RowSimilarityDriver.scala in Mahout's spark module if you want to customize the code.
-
-# 3. Using *spark-rowsimilarity* with Text Data
-
-Another use case for *spark-rowsimilarity* is in finding similar textual content. For instance given the tags associated with
-a blog post,
- which other posts have similar tags. In this case the columns are tags and the rows are posts. Since LLR is
-the only similarity method supported this is not the optimal way to determine general "bag-of-words" document similarity.
-LLR is used more as a quality filter than as a similarity measure. However *spark-rowsimilarity* will produce
-lists of similar docs for every doc if input is docs with lists of terms. The Apache [Lucene](http://lucene.apache.org) project provides several methods of [analyzing and tokenizing](http://lucene.apache.org/core/4_9_0/core/org/apache/lucene/analysis/package-summary.html#package_description) documents.
-
-# <a name="unified-recommender">4. Creating a Unified Recommender</a>
-
-Using the output of *spark-itemsimilarity* and *spark-rowsimilarity* you can build a unified cooccurrence and content based
- recommender that can be used in both or either mode depending on indicators available and the history available at
-runtime for a user.
-
-## Requirements
-
-1. Mahout 0.10.0 or later
-2. Hadoop
-3. Spark, the correct version for your version of Mahout and Hadoop
-4. A search engine like Solr or Elasticsearch
-
-## Indicators
-
-Indicators come in 3 types
-
-1. **Cooccurrence**: calculated with *spark-itemsimilarity* from user actions
-2. **Content**: calculated from item metadata or content using *spark-rowsimilarity*
-3. **Intrinsic**: assigned to items as metadata. Can be anything that describes the item.
-
-The query for recommendations will be a mix of values meant to match one of your indicators. The query can be constructed
-from user history and values derived from context (category being viewed for instance) or special precalculated data
-(popularity rank for instance). This blending of indicators allows for creating many flavors or recommendations to fit
-a very wide variety of circumstances.
-
-With the right mix of indicators developers can construct a single query that works for completely new items and new users
-while working well for items with lots of interactions and users with many recorded actions. In other words by adding in content and intrinsic
-indicators developers can create a solution for the "cold-start" problem that gracefully improves with more user history
-and as items have more interactions. It is also possible to create a completely content-based recommender that personalizes
-recommendations.
-
-## Example with 3 Indicators
-
-You will need to decide how you store user action data so they can be processed by the item and row similarity jobs and
-this is most easily done by using text files as described above. The data that is processed by these jobs is considered the
-training data. You will need some amount of user history in your recs query. It is typical to use the most recent user history
-but need not be exactly what is in the training set, which may include a greater volume of historical data. Keeping the user
-history for query purposes could be done with a database by storing it in a users table. In the example above the two
-collaborative filtering actions are "purchase" and "view", but let's also add tags (taken from catalog categories or other
-descriptive metadata).
-
-We will need to create 1 cooccurrence indicator from the primary action (purchase) 1 cross-action cooccurrence indicator
-from the secondary action (view)
-and 1 content indicator (tags). We'll have to run *spark-itemsimilarity* once and *spark-rowsimilarity* once.
-
-We have described how to create the collaborative filtering indicator and cross-cooccurrence indicator for purchase and view (the [How to use Multiple User
-Actions](#multiple-actions) section) but tags will be a slightly different process. We want to use the fact that
-certain items have tags similar to the ones associated with a user's purchases. This is not a collaborative filtering indicator
-but rather a "content" or "metadata" type indicator since you are not using other users' history, only the
-individual that you are making recs for. This means that this method will make recommendations for items that have
-no collaborative filtering data, as happens with new items in a catalog. New items may have tags assigned but no one
- has purchased or viewed them yet. In the final query we will mix all 3 indicators.
-
-## Content Indicator
-
-To create a content-indicator we'll make use of the fact that the user has purchased items with certain tags. We want to find
-items with the most similar tags. Notice that other users' behavior is not considered--only other item's tags. This defines a
-content or metadata indicator. They are used when you want to find items that are similar to other items by using their
-content or metadata, not by which users interacted with them.
-
-For this we need input of the form:
-
- itemID<tab>list-of-tags
- ...
-
-The full collection will look like the tags column from a catalog DB. For our ecom example it might be:
-
- 3459860b<tab>men long-sleeve chambray clothing casual
- 9446577d<tab>women tops chambray clothing casual
- ...
-
-We'll use *spark-rowimilairity* because we are looking for similar rows, which encode items in this case. As with the
-collaborative filtering indicator and cross-cooccurrence indicator we use the --omitStrength option. The strengths created are
-probabilistic log-likelihood ratios and so are used to filter unimportant similarities. Once the filtering or downsampling
-is finished we no longer need the strengths. We will get an indicator matrix of the form:
-
- itemID<tab>list-of-item IDs
- ...
-
-This is a content indicator since it has found other items with similar content or metadata.
-
- 3459860b<tab>3459860b 3459860b 6749860c 5959860a 3434860a 3477860a
- 9446577d<tab>9446577d 9496577d 0943577d 8346577d 9442277d 9446577e
- ...
-
-We now have three indicators, two collaborative filtering type and one content type.
-
-## Unified Recommender Query
-
-The actual form of the query for recommendations will vary depending on your search engine but the intent is the same.
-For a given user, map their history of an action or content to the correct indicator field and perform an OR'd query.
-
-We have 3 indicators, these are indexed by the search engine into 3 fields, we'll call them "purchase", "view", and "tags".
-We take the user's history that corresponds to each indicator and create a query of the form:
-
- Query:
- field: purchase; q:user's-purchase-history
- field: view; q:user's view-history
- field: tags; q:user's-tags-associated-with-purchases
-
-The query will result in an ordered list of items recommended for purchase but skewed towards items with similar tags to
-the ones the user has already purchased.
-
-This is only an example and not necessarily the optimal way to create recs. It illustrates how business decisions can be
-translated into recommendations. This technique can be used to skew recommendations towards intrinsic indicators also.
-For instance you may want to put personalized popular item recs in a special place in the UI. Create a popularity indicator
-by tagging items with some category of popularity (hot, warm, cold for instance) then
-index that as a new indicator field and include the corresponding value in a query
-on the popularity field. If we use the ecom example but use the query to get "hot" recommendations it might look like this:
-
- Query:
- field: purchase; q:user's-purchase-history
- field: view; q:user's view-history
- field: popularity; q:"hot"
-
-This will return recommendations favoring ones that have the intrinsic indicator "hot".
-
-## Notes
-1. Use as much user action history as you can gather. Choose a primary action that is closest to what you want to recommend and the others will be used to create cross-cooccurrence indicators. Using more data in this fashion will almost always produce better recommendations.
-2. Content can be used where there is no recorded user behavior or when items change too quickly to get much interaction history. They can be used alone or mixed with other indicators.
-3. Most search engines support "boost" factors so you can favor one or more indicators. In the example query, if you want tags to only have a small effect you could boost the CF indicators.
-4. In the examples we have used space delimited strings for lists of IDs in indicators and in queries. It may be better to use arrays of strings if your storage system and search engine support them. For instance Solr allows multi-valued fields, which correspond to arrays.

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/docs/algorithms/reccomenders/d-als.md
----------------------------------------------------------------------
diff --git a/website-old/docs/algorithms/reccomenders/d-als.md b/website-old/docs/algorithms/reccomenders/d-als.md
deleted file mode 100644
index b5fe1b0..0000000
--- a/website-old/docs/algorithms/reccomenders/d-als.md
+++ /dev/null
@@ -1,58 +0,0 @@
----
-layout: algorithm
-title: Mahout Samsara Distributed ALS
-theme:
- name: mahout2
----
-Seems like someone has jacked up this page?
-TODO: Find the ALS Page
-
-## Intro
-
-Mahout has a distributed implementation of QR decomposition for tall thin matricies[1].
-
-## Algorithm
-
-For the classic QR decomposition of the form `\(\mathbf{A}=\mathbf{QR},\mathbf{A}\in\mathbb{R}^{m\times n}\)` a distributed version is fairly easily achieved if `\(\mathbf{A}\)` is tall and thin such that `\(\mathbf{A}^{\top}\mathbf{A}\)` fits in memory, i.e. *m* is large but *n* < ~5000 Under such circumstances, only `\(\mathbf{A}\)` and `\(\mathbf{Q}\)` are distributed matricies and `\(\mathbf{A^{\top}A}\)` and `\(\mathbf{R}\)` are in-core products. We just compute the in-core version of the Cholesky decomposition in the form of `\(\mathbf{LL}^{\top}= \mathbf{A}^{\top}\mathbf{A}\)`. After that we take `\(\mathbf{R}= \mathbf{L}^{\top}\)` and `\(\mathbf{Q}=\mathbf{A}\left(\mathbf{L}^{\top}\right)^{-1}\)`. The latter is easily achieved by multiplying each verticle block of `\(\mathbf{A}\)` by `\(\left(\mathbf{L}^{\top}\right)^{-1}\)`. (There is no actual matrix inversion happening).
-
-
-
-## Implementation
-
-Mahout `dqrThin(...)` is implemented in the mahout `math-scala` algebraic optimizer which translates Mahout's R-like linear algebra operators into a physical plan for both Spark and H2O distributed engines.
-
- def dqrThin[K: ClassTag](A: DrmLike[K], checkRankDeficiency: Boolean = true): (DrmLike[K], Matrix) = {
- if (drmA.ncol > 5000)
- log.warn("A is too fat. A'A must fit in memory and easily broadcasted.")
- implicit val ctx = drmA.context
- val AtA = (drmA.t %*% drmA).checkpoint()
- val inCoreAtA = AtA.collect
- val ch = chol(inCoreAtA)
- val inCoreR = (ch.getL cloned) t
- if (checkRankDeficiency && !ch.isPositiveDefinite)
- throw new IllegalArgumentException("R is rank-deficient.")
- val bcastAtA = sc.broadcast(inCoreAtA)
- val Q = A.mapBlock() {
- case (keys, block) => keys -> chol(bcastAtA).solveRight(block)
- }
- Q -> inCoreR
- }
-
-
-## Usage
-
-The scala `dqrThin(...)` method can easily be called in any Spark or H2O application built with the `math-scala` library and the corresponding `Spark` or `H2O` engine module as follows:
-
- import org.apache.mahout.math._
- import decompositions._
- import drm._
-
- val(drmQ, inCoreR) = dqrThin(drma)
-
-
-## References
-
-[1]: [Mahout Scala and Mahout Spark Bindings for Linear Algebra Subroutines](http://mahout.apache.org/users/sparkbindings/ScalaSparkBindings.pdf)
-
-[2]: [Mahout Spark and Scala Bindings](http://mahout.apache.org/users/sparkbindings/home.html)
-

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/docs/algorithms/reccomenders/index.md
----------------------------------------------------------------------
diff --git a/website-old/docs/algorithms/reccomenders/index.md b/website-old/docs/algorithms/reccomenders/index.md
deleted file mode 100644
index 00d8ec4..0000000
--- a/website-old/docs/algorithms/reccomenders/index.md
+++ /dev/null
@@ -1,33 +0,0 @@
----
-layout: algorithm
-title: Recommender Quickstart
-theme:
- name: retro-mahout
----
-
-
-# Recommender Overview
-
-Recommenders have changed over the years. Mahout contains a long list of them, which you can still use. But to get the best out of our more modern aproach we'll need to think of the Recommender as a "model creation" component&mdash;supplied by Mahout's new spark-itemsimilarity job, and a "serving" component&mdash;supplied by a modern scalable search engine, like Solr.
-
-![image](http://i.imgur.com/fliHMBo.png)
-
-To integrate with your application you will collect user interactions storing them in a DB and also in a from usable by Mahout. The simplest way to do this is to log user interactions to csv files (user-id, item-id). The DB should be setup to contain the last n user interactions, which will form part of the query for recommendations.
-
-Mahout's spark-itemsimilarity will create a table of (item-id, list-of-similar-items) in csv form. Think of this as an item collection with one field containing the item-ids of similar items. Index this with your search engine.
-
-When your application needs recommendations for a specific person, get the latest user history of interactions from the DB and query the indicator collection with this history. You will get back an ordered list of item-ids. These are your recommendations. You may wish to filter out any that the user has already seen but that will depend on your use case.
-
-All ids for users and items are preserved as string tokens and so work as an external key in DBs or as doc ids for search engines, they also work as tokens for search queries.
-
-##References
-
-1. A free ebook, which talks about the general idea: [Practical Machine Learning](https://www.mapr.com/practical-machine-learning)
-2. A slide deck, which talks about mixing actions or other indicators: [Creating a Multimodal Recommender with Mahout and a Search Engine](http://occamsmachete.com/ml/2014/10/07/creating-a-unified-recommender-with-mahout-and-a-search-engine/)
-3. Two blog posts: [What's New in Recommenders: part #1](http://occamsmachete.com/ml/2014/08/11/mahout-on-spark-whats-new-in-recommenders/)
-and [What's New in Recommenders: part #2](http://occamsmachete.com/ml/2014/09/09/mahout-on-spark-whats-new-in-recommenders-part-2/)
-3. A post describing the loglikelihood ratio: [Surprise and Coinsidense](http://tdunning.blogspot.com/2008/03/surprise-and-coincidence.html) LLR is used to reduce noise in the data while keeping the calculations O(n) complexity.
-
-##Mahout Model Creation
-
-See the page describing [*spark-itemsimilarity*](http://mahout.apache.org/users/recommender/intro-cooccurrence-spark.html) for more details.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/docs/algorithms/regression/fittness-tests.md
----------------------------------------------------------------------
diff --git a/website-old/docs/algorithms/regression/fittness-tests.md b/website-old/docs/algorithms/regression/fittness-tests.md
deleted file mode 100644
index 1bd8984..0000000
--- a/website-old/docs/algorithms/regression/fittness-tests.md
+++ /dev/null
@@ -1,17 +0,0 @@
----
-layout: algorithm
-title: Regression Fitness Tests
-theme:
- name: mahout2
----
-
-TODO: Fill this out!
-Stub
-
-### About
-
-### Parameters
-
-### Example
-
-

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/docs/algorithms/regression/index.md
----------------------------------------------------------------------
diff --git a/website-old/docs/algorithms/regression/index.md b/website-old/docs/algorithms/regression/index.md
deleted file mode 100644
index 3639c4f..0000000
--- a/website-old/docs/algorithms/regression/index.md
+++ /dev/null
@@ -1,21 +0,0 @@
----
-layout: algorithm
-
-title: Regressoin Algorithms
-theme:
- name: retro-mahout
----
-
-Apache Mahout implements the following regression algorithms "off the shelf".
-
-### Closed Form Solutions
-
-These methods used close form solutions (not stochastic) to solve regression problems
-
-[Ordinary Least Squares](ols.html)
-
-### Autocorrelation Regression
-
-Serial Correlation of the error terms can lead to biased estimates of regression parameters, the following remedial procedures are provided:
-
-[Cochrane Orcutt Procedure](cochrane-orcutt.html)

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/docs/algorithms/regression/ols.md
----------------------------------------------------------------------
diff --git a/website-old/docs/algorithms/regression/ols.md b/website-old/docs/algorithms/regression/ols.md
deleted file mode 100644
index 58c74c5..0000000
--- a/website-old/docs/algorithms/regression/ols.md
+++ /dev/null
@@ -1,66 +0,0 @@
----
-layout: algorithm
-title: Ordinary Least Squares Regression
-theme:
- name: mahout2
----
-
-### About
-
-The `OrinaryLeastSquares` regressor in Mahout implements a _closed-form_ solution to [Ordinary Least Squares](https://en.wikipedia.org/wiki/Ordinary_least_squares).
-This is in stark contrast to many "big data machine learning" frameworks which implement a _stochastic_ approach. From the users perspecive this difference can be reduced to:
-
-- **_Stochastic_**- A series of guesses at a line line of best fit.
-- **_Closed Form_**- A mathimatical approach has been explored, the properties of the parameters are well understood, and problems which arise (and the remedial measures), exist. This is usually the preferred choice of mathematicians/statisticians, but computational limititaions have forced us to resort to SGD.
-
-### Parameters
-
-<div class="table-striped">
- <table class="table">
- <tr>
- <th>Parameter</th>
- <th>Description</th>
- <th>Default Value</th>
- </tr>
- <tr>
- <td><code>'calcCommonStatistics</code></td>
- <td>Calculate commons statistics such as Coeefficient of Determination and Mean Square Error</td>
- <td><code>true</code></td>
- </tr>
- <tr>
- <td><code>'calcStandardErrors</code></td>
- <td>Calculate the standard errors (and subsequent "t-scores" and "p-values") of the \(\boldsymbol{\beta}\) estimates</td>
- <td><code>true</code></td>
- </tr>
- <tr>
- <td><code>'addIntercept</code></td>
- <td>Add an intercept to \(\mathbf{X}\)</td>
- <td><code>true</code></td>
- </tr>
- </table>
-</div>
-
-### Example
-
-In this example we disable the "calculate common statistics" parameters, so our summary will NOT contain the coefficient of determination (R-squared) or Mean Square Error
-```scala
-import org.apache.mahout.math.algorithms.regression.OrdinaryLeastSquares
-
-val drmData = drmParallelize(dense(
- (2, 2, 10.5, 10, 29.509541), // Apple Cinnamon Cheerios
- (1, 2, 12, 12, 18.042851), // Cap'n'Crunch
- (1, 1, 12, 13, 22.736446), // Cocoa Puffs
- (2, 1, 11, 13, 32.207582), // Froot Loops
- (1, 2, 12, 11, 21.871292), // Honey Graham Ohs
- (2, 1, 16, 8, 36.187559), // Wheaties Honey Gold
- (6, 2, 17, 1, 50.764999), // Cheerios
- (3, 2, 13, 7, 40.400208), // Clusters
- (3, 3, 13, 4, 45.811716)), numPartitions = 2)
-
-
-val drmX = drmData(::, 0 until 4)
-val drmY = drmData(::, 4 until 5)
-
-val model = new OrdinaryLeastSquares[Int]().fit(drmX, drmY, 'calcCommonStatistics → false)
-println(model.summary)
-```

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/docs/algorithms/regression/serial-correlation/cochrane-orcutt.md
----------------------------------------------------------------------
diff --git a/website-old/docs/algorithms/regression/serial-correlation/cochrane-orcutt.md b/website-old/docs/algorithms/regression/serial-correlation/cochrane-orcutt.md
deleted file mode 100644
index b155ca8..0000000
--- a/website-old/docs/algorithms/regression/serial-correlation/cochrane-orcutt.md
+++ /dev/null
@@ -1,146 +0,0 @@
----
-layout: algorithm
-title: Cochrane-Orcutt Procedure
-theme:
- name: mahout2
----
-
-### About
-
-The [Cochrane Orcutt](https://en.wikipedia.org/wiki/Cochrane%E2%80%93Orcutt_estimation) procedure is use in economics to
-adjust a linear model for serial correlation in the error term.
-
-The cooresponding method in R is [`cochrane.orcutt`](https://cran.r-project.org/web/packages/orcutt/orcutt.pdf)
-however the implementation differes slightly.
-
-#### R Prototype:
- library(orcutt)
-
- df = data.frame(t(data.frame(
- c(20.96, 127.3),
- c(21.40, 130.0),
- c(21.96, 132.7),
- c(21.52, 129.4),
- c(22.39, 135.0),
- c(22.76, 137.1),
- c(23.48, 141.2),
- c(23.66, 142.8),
- c(24.10, 145.5),
- c(24.01, 145.3),
- c(24.54, 148.3),
- c(24.30, 146.4),
- c(25.00, 150.2),
- c(25.64, 153.1),
- c(26.36, 157.3),
- c(26.98, 160.7),
- c(27.52, 164.2),
- c(27.78, 165.6),
- c(28.24, 168.7),
- c(28.78, 171.7))))
-
- rownames(df) <- NULL
- colnames(df) <- c("y", "x")
- my_lm = lm(y ~ x, data=df)
- coch = cochrane.orcutt(my_lm)
-
-
-The R-implementation is kind of...silly.
-
-The above works- converges at 318 iterations- the transformed DW is 1.72, yet the rho is
- .95882. After 318 iteartions, this will also report a rho of .95882 (which sugguests SEVERE
- autocorrelation- nothing close to 1.72.
-
- At anyrate, the real prototype for this is the example from [Applied Linear Statistcal Models
- 5th Edition by Kunter, Nachstheim, Neter, and Li](https://www.amazon.com/Applied-Linear-Statistical-Models-Hardcover/dp/B010EWX85C/ref=sr_1_4?ie=UTF8&qid=1493847480&sr=8-4&keywords=applied+linear+statistical+models+5th+edition).
-
-Steps:
-1. Normal Regression
-2. Estimate <foo>\(\rho\)</foo>
-3. Get Estimates of Transformed Equation
-4. Step 5: Use Betas from (4) to recalculate model from (1)
-5. Step 6: repeat Step 2 through 5 until a stopping criteria is met. Some models call for convergence-
-Kunter et. al reccomend 3 iterations, if you don't achieve desired results, use an alternative method.
-
-#### Some additional notes from Applied Linear Statistical Models:
- They also provide some interesting notes on p 494:
-
- 1. "Cochrane-Orcutt does not always work properly. A major reason is that when the error terms
- are positively autocorrelated, the estimate <foo>\(r\)</foo> in (12.22) tends to underestimate the autocorrelation
- parameter <foo>\(\rho\)</foo>. When this bias is serious, it can significantly reduce the effectiveness of the
- Cochrane-Orcutt approach.
- 1. "There exists an approximate relation between the [Durbin Watson test statistic](dw-test.html) <foo>\(\mathbf{D}\)</foo> in (12.14)
- and the estimated autocorrelation paramater <foo>\(r\)</foo> in (12.22):
- <center>\(D ~= 2(1-\rho)\)</center>
-
- They also note on p492:
- "... If the process does not terminate after one or two iterations, a different procedure
- should be employed."
- This differs from the logic found elsewhere, and the method presented in R where, in the simple
- example in the prototype, the procedure runs for 318 iterations. This is why the default
- maximum iteratoins are 3, and should be left as such.
-
- Also, the prototype and 'correct answers' are based on the example presented in Kunter et. al on
- p492-4 (including dataset).
-
-
-### Parameters
-
-
-<div class="table-striped">
- <table class="table">
- <tr>
- <th>Parameter</th>
- <th>Description</th>
- <th>Default Value</th>
- </tr>
- <tr>
- <td><code>'regressor</code></td>
- <td>Any subclass of <code>org.apache.mahout.math.algorithms.regression.LinearRegressorFitter</code></td>
- <td><code>OrdinaryLeastSquares()</code></td>
- </tr>
- <tr>
- <td><code>'iteratoins</code></td>
- <td>Unlike our friends in R- we stick to the 3 iteration guidance.</td>
- <td>3</td>
- </tr>
- <tr>
- <td><code>'cacheHint</code></td>
- <td>The DRM Cache Hint to use when holding the data in memory between iterations</td>
- <td><code>CacheHint.MEMORY_ONLY</code></td>
- </tr>
- </table>
-</div>
-
-### Example
-
-
- val alsmBlaisdellCo = drmParallelize( dense(
- (20.96, 127.3),
- (21.40, 130.0),
- (21.96, 132.7),
- (21.52, 129.4),
- (22.39, 135.0),
- (22.76, 137.1),
- (23.48, 141.2),
- (23.66, 142.8),
- (24.10, 145.5),
- (24.01, 145.3),
- (24.54, 148.3),
- (24.30, 146.4),
- (25.00, 150.2),
- (25.64, 153.1),
- (26.36, 157.3),
- (26.98, 160.7),
- (27.52, 164.2),
- (27.78, 165.6),
- (28.24, 168.7),
- (28.78, 171.7) ))
-
- val drmY = alsmBlaisdellCo(::, 0 until 1)
- val drmX = alsmBlaisdellCo(::, 1 until 2)
-
- var coModel = new CochraneOrcutt[Int]().fit(drmX, drmY , ('iterations -> 2))
-
- println(coModel.rhos)
- println(coModel.summary)
-

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/docs/algorithms/regression/serial-correlation/dw-test.md
----------------------------------------------------------------------
diff --git a/website-old/docs/algorithms/regression/serial-correlation/dw-test.md b/website-old/docs/algorithms/regression/serial-correlation/dw-test.md
deleted file mode 100644
index 7bdd896..0000000
--- a/website-old/docs/algorithms/regression/serial-correlation/dw-test.md
+++ /dev/null
@@ -1,43 +0,0 @@
----
-layout: algorithm
-title: Durbin-Watson Test
-theme:
- name: mahout2
----
-
-### About
-
-The [Durbin Watson Test](https://en.wikipedia.org/wiki/Durbin%E2%80%93Watson_statistic) is a test for serial correlation
-in error terms. The Durbin Watson test statistic <foo>\(d\)</foo> can take values between 0 and 4, and in general
-
-- <foo>\(d \lt 1.5 \)</foo> implies positive autocorrelation
-- <foo>\(d \gt 2.5 \)</foo> implies negative autocorrelation
-- <foo>\(1.5 \lt d \lt 2.5 \)</foo> implies to autocorrelation.
-
-Implementation is based off of the `durbinWatsonTest` function in the [`car`](https://cran.r-project.org/web/packages/car/index.html) package in R
-
-### Parameters
-
-### Example
-
-#### R Prototype
-
- library(car)
- residuals <- seq(0, 4.9, 0.1)
- ## perform Durbin-Watson test
- durbinWatsonTest(residuals)
-
-#### In Apache Mahout
-
-
- // A DurbinWatson Test must be performed on a model. The model does not matter.
- val drmX = drmParallelize( dense((0 until 50).toArray.map( t => Math.pow(-1.0, t)) ) ).t
- val drmY = drmX + err1 + 1
- var model = new OrdinaryLeastSquares[Int]().fit(drmX, drmY)
- // end arbitrary model
-
- val err1 = drmParallelize( dense((0.0 until 5.0 by 0.1).toArray) ).t
- val syntheticResiduals = err1
- model = AutocorrelationTests.DurbinWatson(model, syntheticResiduals)
- val myAnswer: Double = model.testResults.getOrElse('durbinWatsonTestStatistic, -1.0).asInstanceOf[Double]
-

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/docs/algorithms/template.md
----------------------------------------------------------------------
diff --git a/website-old/docs/algorithms/template.md b/website-old/docs/algorithms/template.md
deleted file mode 100644
index 4a48829..0000000
--- a/website-old/docs/algorithms/template.md
+++ /dev/null
@@ -1,20 +0,0 @@
----
-layout: algorithm
-title: AsFactor
-theme:
- name: mahout2
----
-
-TODO: Fill this out!
-Stub
-
-### About
-
-### Parameters
-
-### Example
-
-
-
-
-

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/docs/assets
----------------------------------------------------------------------
diff --git a/website-old/docs/assets b/website-old/docs/assets
deleted file mode 120000
index ec2e4be..0000000
--- a/website-old/docs/assets
+++ /dev/null
@@ -1 +0,0 @@
-../assets
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/docs/changelog.md
----------------------------------------------------------------------
diff --git a/website-old/docs/changelog.md b/website-old/docs/changelog.md
deleted file mode 100755
index 7965e9d..0000000
--- a/website-old/docs/changelog.md
+++ /dev/null
@@ -1,70 +0,0 @@
-## Changelog
-
-Public releases are all root nodes.
-Incremental version bumps that were not released publicly are nested where appropriate.
-
-P.S. If there is a standard (popular) changelog format, please let me know.
-
-- **0.3.0 : 2013.02.24**
- - **Features**
- - Update twitter bootstrap to 2.2.2. Add responsiveness and update design a bit.
- - @techotaku fixes custom tagline support (finally made it in!)
- - @opie4624 adds ability to set tags from the command-line.
- - @lax adds support for RSS feed. Adds rss and atom html links for discovery.
- - Small typo fixes.
-
- - **Bug Fixes**
- - @xuhdev fixes theme:install bug which does not overwrite theme even if saying 'yes'.
-
-- **0.2.13 : 2012.03.24**
- - **Features**
- - 0.2.13 : @mjpieters Updates pages_list helper to only show pages having a title.
- - 0.2.12 : @sway recommends showing page tagline only if tagline is set.
- - 0.2.11 : @LukasKnuth adds 'description' meta-data field to post/page scaffold.
-
- - **Bug Fixes**
- - 0.2.10 : @koriroys fixes typo in atom feed
-
-- **0.2.9 : 2012.03.01**
- - **Bug Fixes**
- - 0.2.9 : @alishutc Fixes the error on post creation if date was not specified.
-
-- **0.2.8 : 2012.03.01**
- - **Features**
- - 0.2.8 : @metalelf0 Added option to specify a custom date when creating post.
- - 0.2.7 : @daz Updates twitter theme framework to use 2.x while still maintaining core layout. #50
- @philips and @treggats add support for page.tagline metadata. #31 & #48
- - 0.2.6 : @koomar Adds Mixpanel analytics provider. #49
- - 0.2.5 : @nolith Adds ability to load custom rake scripts. #33
- - 0.2.4 : @tommyblue Updated disqus comments provider to be compatible with posts imported from Wordpress. #47
-
- - **Bug Fixes**
- - 0.2.3 : @3martini Adds Windows MSYS Support and error checks for git system calls. #40
- - 0.2.2 : @sstar Resolved an issue preventing disabling comments for individual pages #44
- - 0.2.1 : Resolve incorrect HOME\_PATH/BASE\_PATH settings
-
-- **0.2.0 : 2012.02.01**
- Features
- - Add Theme Packages v 0.1.0
- All themes should be tracked and maintained outside of JB core.
- Themes get "installed" via the Theme Installer.
- Theme Packages versioning is done separately from JB core with
- the main intent being to make sure theme versions are compatible with the given installer.
-
- - 0.1.2 : @jamesFleeting adds facebook comments support
- - 0.1.1 : @SegFaultAX adds tagline as site-wide configuration
-
-- **0.1.0 : 2012.01.24**
- First major versioned release.
- Features
- - Standardize Public API
- - Use name-spacing and modulation where possible.
- - Ability to override public methods with custom code.
- - Publish the theme API.
- - Ship with comments, analytics integration.
-
-- **0.0.1 : 2011.12.30**
- First public release, lots of updates =p
- Thank you everybody for dealing with the fast changes and helping
- me work out the API to a manageable state.
-

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/docs/distributed/flink-bindings.md
----------------------------------------------------------------------
diff --git a/website-old/docs/distributed/flink-bindings.md b/website-old/docs/distributed/flink-bindings.md
deleted file mode 100644
index 4a39e56..0000000
--- a/website-old/docs/distributed/flink-bindings.md
+++ /dev/null
@@ -1,49 +0,0 @@
----
-layout: page
-title: Mahout Samsara Flink Bindings
-theme:
- name: mahout2
----
-# Introduction
-
-This document provides an overview of how the Mahout Samsara environment is implemented over the Apache Flink backend engine. This document gives an overview of the code layout for the Flink backend engine, the source code for which can be found under /flink directory in the Mahout codebase.
-
-Apache Flink is a distributed big data streaming engine that supports both Streaming and Batch interfaces. Batch processing is an extension of Flink’s Stream processing engine.
-
-The Mahout Flink integration presently supports Flink’s batch processing capabilities leveraging the DataSet API.
-
-The Mahout DRM, or Distributed Row Matrix, is an abstraction for storing a large matrix of numbers in-memory in a cluster by distributing logical rows among servers. Mahout's scala DSL provides an abstract API on DRMs for backend engines to provide implementations of this API. An example is the Spark backend engine. Each engine has it's own design of mapping the abstract API onto its data model and provides implementations for algebraic operators over that mapping.
-
-# Flink Overview
-
-Apache Flink is an open source, distributed Stream and Batch Processing Framework. At it's core, Flink is a Stream Processing engine and Batch processing is an extension of Stream Processing.
-
-Flink includes several APIs for building applications with the Flink Engine:
-
- <ol>
-<li><b>DataSet API</b> for Batch data in Java, Scala and Python</li>
-<li><b>DataStream API</b> for Stream Processing in Java and Scala</li>
-<li><b>Table API</b> with SQL-like regular expression language in Java and Scala</li>
-<li><b>Gelly</b> Graph Processing API in Java and Scala</li>
-<li><b>CEP API</b>, a complex event processing library</li>
-<li><b>FlinkML</b>, a Machine Learning library</li>
-</ol>
-#Flink Environment Engine
-
-The Flink backend implements the abstract DRM as a Flink DataSet. A Flink job runs in the context of an ExecutionEnvironment (from the Flink Batch processing API).
-
-# Source Layout
-
-Within mahout.git, the top level directory, flink/ holds all the source code for the Flink backend engine. Sections of code that interface with the rest of the Mahout components are in Scala, and sections of the code that interface with Flink DataSet API and implement algebraic operators are in Java. Here is a brief overview of what functionality can be found within flink/ folder.
-
-flink/ - top level directory containing all Flink related code
-
-flink/src/main/scala/org/apache/mahout/flinkbindings/blas/*.scala - Physical operator code for the Samsara DSL algebra
-
-flink/src/main/scala/org/apache/mahout/flinkbindings/drm/*.scala - Flink Dataset DRM and broadcast implementation
-
-flink/src/main/scala/org/apache/mahout/flinkbindings/io/*.scala - Read / Write between DRMDataSet and files on HDFS
-
-flink/src/main/scala/org/apache/mahout/flinkbindings/FlinkEngine.scala - DSL operator graph evaluator and various abstract API implementations for a distributed engine.
-
-

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/docs/distributed/h2o-internals.md
----------------------------------------------------------------------
diff --git a/website-old/docs/distributed/h2o-internals.md b/website-old/docs/distributed/h2o-internals.md
deleted file mode 100644
index 2388354..0000000
--- a/website-old/docs/distributed/h2o-internals.md
+++ /dev/null
@@ -1,50 +0,0 @@
----
-layout: page
-title: Mahout Samsara H20 Bindings
-theme:
- name: mahout2
----
-# Introduction
-
-This document provides an overview of how the Mahout Samsara environment is implemented over the H2O backend engine. The document is aimed at Mahout developers, to give a high level description of the design so that one can explore the code inside `h2o/` with some context.
-
-## H2O Overview
-
-H2O is a distributed scalable machine learning system. Internal architecture of H2O has a distributed math engine (h2o-core) and a separate layer on top for algorithms and UI. The Mahout integration requires only the math engine (h2o-core).
-
-## H2O Data Model
-
-The data model of the H2O math engine is a distributed columnar store (of primarily numbers, but also strings). A column of numbers is called a Vector, which is broken into Chunks (of a few thousand elements). Chunks are distributed across the cluster based on a deterministic hash. Therefore, any member of the cluster knows where a particular Chunk of a Vector is homed. Each Chunk is separately compressed in memory and elements are individually decompressed on the fly upon access with purely register operations (thereby achieving high memory throughput). An ordered set of similarly partitioned Vecs are composed into a Frame. A Frame is therefore a large two dimensional table of numbers. All elements of a logical row in the Frame are guaranteed to be homed in the same server of the cluster. Generally speaking, H2O works well on "tall skinny" data, i.e, lots of rows (100s of millions) and modest number of columns (10s of thousands).
-
-
-## Mahout DRM
-
-The Mahout DRM, or Distributed Row Matrix, is an abstraction for storing a large matrix of numbers in-memory in a cluster by distributing logical rows among servers. Mahout's scala DSL provides an abstract API on DRMs for backend engines to provide implementations of this API. Examples are the Spark and H2O backend engines. Each engine has it's own design of mapping the abstract API onto its data model and provides implementations for algebraic operators over that mapping.
-
-
-## H2O Environment Engine
-
-The H2O backend implements the abstract DRM as an H2O Frame. Each logical column in the DRM is an H2O Vector. All elements of a logical DRM row are guaranteed to be homed on the same server. A set of rows stored on a server are presented as a read-only virtual in-core Matrix (i.e BlockMatrix) for the closure method in the `mapBlock(...)` API.
-
-H2O provides a flexible execution framework called `MRTask`. The `MRTask` framework typically executes over a Frame (or even a Vector), supports various types of map() methods, can optionally modify the Frame or Vector (though this never happens in the Mahout integration), and optionally create a new Vector or set of Vectors (to combine them into a new Frame, and consequently a new DRM).
-
-
-## Source Layout
-
-Within mahout.git, the top level directory, `h2o/` holds all the source code related to the H2O backend engine. Part of the code (that interfaces with the rest of the Mahout componenets) is in Scala, and part of the code (that interfaces with h2o-core and implements algebraic operators) is in Java. Here is a brief overview of what functionality can be found where within `h2o/`.
-
- h2o/ - top level directory containing all H2O related code
-
- h2o/src/main/java/org/apache/mahout/h2obindings/ops/*.java - Physical operator code for the various DSL algebra
-
- h2o/src/main/java/org/apache/mahout/h2obindings/drm/*.java - DRM backing (onto Frame) and Broadcast implementation
-
- h2o/src/main/java/org/apache/mahout/h2obindings/H2OHdfs.java - Read / Write between DRM (Frame) and files on HDFS
-
- h2o/src/main/java/org/apache/mahout/h2obindings/H2OBlockMatrix.java - A vertical block matrix of DRM presented as a virtual copy-on-write in-core Matrix. Used in mapBlock() API
-
- h2o/src/main/java/org/apache/mahout/h2obindings/H2OHelper.java - A collection of various functionality and helpers. For e.g, convert between in-core Matrix and DRM, various summary statistics on DRM/Frame.
-
- h2o/src/main/scala/org/apache/mahout/h2obindings/H2OEngine.scala - DSL operator graph evaluator and various abstract API implementations for a distributed engine
-
- h2o/src/main/scala/org/apache/mahout/h2obindings/* - Various abstract API implementations ("glue work")
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/docs/distributed/spark-bindings/MahoutScalaAndSparkBindings.pptx
----------------------------------------------------------------------
diff --git a/website-old/docs/distributed/spark-bindings/MahoutScalaAndSparkBindings.pptx b/website-old/docs/distributed/spark-bindings/MahoutScalaAndSparkBindings.pptx
deleted file mode 100644
index ec1de04..0000000
Binary files a/website-old/docs/distributed/spark-bindings/MahoutScalaAndSparkBindings.pptx and /dev/null differ
a***@apache.org
2017-12-21 04:52:54 UTC
Permalink
http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/docs/distributed/spark-bindings/ScalaSparkBindings.pdf
----------------------------------------------------------------------
diff --git a/website-old/docs/distributed/spark-bindings/ScalaSparkBindings.pdf b/website-old/docs/distributed/spark-bindings/ScalaSparkBindings.pdf
deleted file mode 100644
index 857fd82..0000000
--- a/website-old/docs/distributed/spark-bindings/ScalaSparkBindings.pdf
+++ /dev/null
@@ -1,6215 +0,0 @@
-%PDF-1.4
-%����
-28 0 obj
-<< /S /GoTo /D (section.1) >>
-endobj
-31 0 obj
-(\376\377\000M\000a\000h\000o\000u\000t\000\040\000i\000n\000-\000c\000o\000r\000e\000\040\000a\000l\000g\000e\000b\000r\000a\000i\000c\000\040\000S\000c\000a\000l\000a\000\040\000B\000i\000n\000d\000i\000n\000g\000s\000S\000e\000e\000\040\000l\000i\000n\000k\000:\000\040\000o\000r\000i\000g\000i\000n\000a\000l\000\040\000p\000r\000o\000p\000o\000s\000a\000l\000.)
-endobj
-32 0 obj
-<< /S /GoTo /D (subsection.1.1) >>
-endobj
-35 0 obj
-(\376\377\000I\000m\000p\000o\000r\000t\000s)
-endobj
-36 0 obj
-<< /S /GoTo /D (subsection.1.2) >>
-endobj
-39 0 obj
-(\376\377\000I\000n\000l\000i\000n\000e\000\040\000i\000n\000i\000t\000i\000a\000l\000i\000z\000a\000t\000i\000o\000n)
-endobj
-40 0 obj
-<< /S /GoTo /D (subsection.1.3) >>
-endobj
-43 0 obj
-(\376\377\000S\000l\000i\000c\000i\000n\000g\000\040\000a\000n\000d\000\040\000A\000s\000s\000i\000g\000n\000i\000n\000g)
-endobj
-44 0 obj
-<< /S /GoTo /D (subsection.1.4) >>
-endobj
-47 0 obj
-(\376\377\000B\000L\000A\000S\000-\000l\000i\000k\000e\000\040\000o\000p\000e\000r\000a\000t\000i\000o\000n\000s)
-endobj
-48 0 obj
-<< /S /GoTo /D (subsection.1.5) >>
-endobj
-51 0 obj
-(\376\377\000D\000e\000c\000o\000m\000p\000o\000s\000i\000t\000i\000o\000n\000s)
-endobj
-52 0 obj
-<< /S /GoTo /D (section*.3) >>
-endobj
-55 0 obj
-(\376\377\000C\000h\000o\000l\000e\000s\000k\000y\000\040\000d\000e\000c\000o\000m\000p\000o\000s\000i\000t\000o\000n)
-endobj
-56 0 obj
-<< /S /GoTo /D (section*.4) >>
-endobj
-59 0 obj
-(\376\377\000S\000V\000D)
-endobj
-60 0 obj
-<< /S /GoTo /D (section*.5) >>
-endobj
-63 0 obj
-(\376\377\000E\000i\000g\000e\000n\000D\000e\000c\000o\000m\000p\000o\000s\000i\000t\000i\000o\000n)
-endobj
-64 0 obj
-<< /S /GoTo /D (section*.6) >>
-endobj
-67 0 obj
-(\376\377\000Q\000R\000\040\000d\000e\000c\000o\000m\000p\000o\000s\000i\000t\000i\000o\000n)
-endobj
-68 0 obj
-<< /S /GoTo /D (section*.7) >>
-endobj
-71 0 obj
-(\376\377\000R\000a\000n\000k)
-endobj
-72 0 obj
-<< /S /GoTo /D (section*.8) >>
-endobj
-75 0 obj
-(\376\377\000I\000n\000-\000c\000o\000r\000e\000\040\000S\000S\000V\000D)
-endobj
-76 0 obj
-<< /S /GoTo /D (section*.9) >>
-endobj
-79 0 obj
-(\376\377\000S\000o\000l\000v\000i\000n\000g\000\040\000l\000i\000n\000e\000a\000r\000\040\000e\000q\000u\000a\000t\000i\000o\000n\000\040\000s\000y\000s\000t\000e\000m\000s\000\040\000a\000n\000d\000\040\000m\000a\000t\000r\000i\000x\000\040\000i\000n\000v\000e\000r\000s\000i\000o\000n)
-endobj
-80 0 obj
-<< /S /GoTo /D (subsection.1.6) >>
-endobj
-83 0 obj
-(\376\377\000M\000i\000s\000c)
-endobj
-84 0 obj
-<< /S /GoTo /D (subsection.1.7) >>
-endobj
-87 0 obj
-(\376\377\000R\000a\000n\000d\000o\000m\000\040\000m\000a\000t\000r\000i\000c\000e\000s)
-endobj
-88 0 obj
-<< /S /GoTo /D (subsubsection.1.7.1) >>
-endobj
-91 0 obj
-(\376\377\000F\000u\000n\000c\000t\000i\000o\000n\000a\000l\000\040\000m\000a\000t\000r\000i\000x\000\040\000v\000i\000e\000w\000s\000.\000\040)
-endobj
-92 0 obj
-<< /S /GoTo /D (subsubsection.1.7.2) >>
-endobj
-95 0 obj
-(\376\377\000U\000\050\0000\000,\0001\000\051\000\040\000r\000a\000n\000d\000o\000m\000\040\000m\000a\000t\000r\000i\000x\000\040\000v\000i\000e\000w)
-endobj
-96 0 obj
-<< /S /GoTo /D (subsubsection.1.7.3) >>
-endobj
-99 0 obj
-(\376\377\000U\000\050\000-\0001\000,\0001\000\051\000\040\000r\000a\000n\000d\000o\000m\000\040\000m\000a\000t\000r\000i\000x\000\040\000v\000i\000e\000w\000\040)
-endobj
-100 0 obj
-<< /S /GoTo /D (subsubsection.1.7.4) >>
-endobj
-103 0 obj
-(\376\377\000U\000n\000i\000v\000a\000r\000i\000a\000t\000e\000\040\000N\000\050\0000\000,\0001\000\051\000\040\000m\000a\000t\000r\000i\000x\000\040\000v\000i\000e\000w)
-endobj
-104 0 obj
-<< /S /GoTo /D (subsection.1.8) >>
-endobj
-107 0 obj
-(\376\377\000I\000t\000e\000r\000a\000t\000o\000r\000s\000\040)
-endobj
-108 0 obj
-<< /S /GoTo /D (subsubsection.1.8.1) >>
-endobj
-111 0 obj
-(\376\377\000I\000t\000e\000r\000a\000t\000i\000n\000g\000\040\000o\000v\000e\000r\000\040\000r\000o\000w\000s\000\040\000i\000n\000\040\000a\000\040\000m\000a\000t\000r\000i\000x)
-endobj
-112 0 obj
-<< /S /GoTo /D (subsubsection.1.8.2) >>
-endobj
-115 0 obj
-(\376\377\000I\000t\000e\000r\000a\000t\000i\000n\000g\000\040\000o\000v\000e\000r\000\040\000n\000o\000n\000-\000z\000e\000r\000o\000\040\000a\000n\000d\000\040\000a\000l\000l\000\040\000e\000l\000e\000m\000e\000n\000t\000s\000\040\000o\000f\000\040\000a\000\040\000v\000e\000c\000t\000o\000r\000\040\000o\000r\000\040\000m\000a\000t\000r\000i\000x\000\040)
-endobj
-116 0 obj
-<< /S /GoTo /D (subsection.1.9) >>
-endobj
-119 0 obj
-(\376\377\000B\000r\000i\000n\000g\000i\000n\000g\000\040\000i\000t\000\040\000a\000l\000l\000\040\000t\000o\000g\000e\000t\000h\000e\000r\000:\000\040\000i\000n\000-\000c\000o\000r\000e\000\040\000S\000S\000V\000D)
-endobj
-120 0 obj
-<< /S /GoTo /D (subsection.1.10) >>
-endobj
-123 0 obj
-(\376\377\000S\000t\000o\000c\000h\000a\000s\000t\000i\000c\000\040\000P\000C\000A)
-endobj
-124 0 obj
-<< /S /GoTo /D (subsection.1.11) >>
-endobj
-127 0 obj
-(\376\377\000P\000i\000t\000f\000a\000l\000l\000s\000\040)
-endobj
-128 0 obj
-<< /S /GoTo /D (section.2) >>
-endobj
-131 0 obj
-(\376\377\000O\000u\000t\000-\000o\000f\000-\000c\000o\000r\000e\000\040\000l\000i\000n\000a\000l\000g\000\040\000b\000i\000n\000d\000i\000n\000g\000s)
-endobj
-132 0 obj
-<< /S /GoTo /D (subsection.2.1) >>
-endobj
-135 0 obj
-(\376\377\000I\000n\000i\000t\000i\000a\000l\000i\000z\000i\000n\000g\000\040\000M\000a\000h\000o\000u\000t\000/\000S\000p\000a\000r\000k\000\040\000c\000o\000n\000t\000e\000x\000t)
-endobj
-136 0 obj
-<< /S /GoTo /D (subsection.2.2) >>
-endobj
-139 0 obj
-(\376\377\000R\000e\000c\000o\000m\000m\000e\000n\000d\000e\000d\000\040\000i\000m\000p\000o\000r\000t\000s\000\040\000f\000o\000r\000\040\000S\000c\000a\000l\000a\000\040\000\046\000\040\000S\000p\000a\000r\000k\000\040\000B\000i\000n\000d\000i\000n\000g\000s)
-endobj
-140 0 obj
-<< /S /GoTo /D (subsection.2.3) >>
-endobj
-143 0 obj
-(\376\377\000D\000R\000M\000\040\000P\000e\000r\000s\000i\000s\000t\000e\000n\000c\000e\000\040\000o\000p\000e\000r\000a\000t\000o\000r\000s)
-endobj
-144 0 obj
-<< /S /GoTo /D (subsubsection.2.3.1) >>
-endobj
-147 0 obj
-(\376\377\000L\000o\000a\000d\000i\000n\000g\000\040\000D\000R\000M\000\040\000o\000f\000f\000\040\000H\000D\000F\000S)
-endobj
-148 0 obj
-<< /S /GoTo /D (subsubsection.2.3.2) >>
-endobj
-151 0 obj
-(\376\377\000P\000a\000r\000a\000l\000l\000e\000l\000i\000z\000i\000n\000g\000\040\000f\000r\000o\000m\000\040\000a\000n\000\040\000i\000n\000-\000c\000o\000r\000e\000\040\000m\000a\000t\000r\000i\000x)
-endobj
-152 0 obj
-<< /S /GoTo /D (subsubsection.2.3.3) >>
-endobj
-155 0 obj
-(\376\377\000E\000m\000p\000t\000y\000\040\000D\000R\000M)
-endobj
-156 0 obj
-<< /S /GoTo /D (subsubsection.2.3.4) >>
-endobj
-159 0 obj
-(\376\377\000C\000o\000l\000l\000e\000c\000t\000i\000n\000g\000\040\000t\000o\000\040\000d\000r\000i\000v\000e\000r\000'\000s\000\040\000j\000v\000m\000\040\000i\000n\000-\000c\000o\000r\000e)
-endobj
-160 0 obj
-<< /S /GoTo /D (subsubsection.2.3.5) >>
-endobj
-163 0 obj
-(\376\377\000C\000o\000l\000l\000e\000c\000t\000i\000n\000g\000\040\000t\000o\000\040\000H\000D\000F\000S)
-endobj
-164 0 obj
-<< /S /GoTo /D (subsection.2.4) >>
-endobj
-167 0 obj
-(\376\377\000L\000o\000g\000i\000c\000a\000l\000\040\000a\000l\000g\000e\000b\000r\000a\000i\000c\000\040\000o\000p\000e\000r\000a\000t\000o\000r\000s\000\040\000o\000n\000\040\000D\000R\000M\000\040\000m\000a\000t\000r\000i\000c\000e\000s)
-endobj
-168 0 obj
-<< /S /GoTo /D (section*.10) >>
-endobj
-171 0 obj
-(\376\377\000O\000p\000t\000i\000m\000i\000z\000e\000r\000\040\000a\000c\000t\000i\000o\000n\000s\000.)
-endobj
-172 0 obj
-<< /S /GoTo /D (section*.11) >>
-endobj
-175 0 obj
-(\376\377\000C\000o\000m\000p\000u\000t\000a\000t\000i\000o\000n\000a\000l\000\040\000a\000c\000t\000i\000o\000n\000s\000.)
-endobj
-176 0 obj
-<< /S /GoTo /D (section*.12) >>
-endobj
-179 0 obj
-(\376\377\000C\000a\000c\000h\000i\000n\000g\000\040\000i\000n\000\040\000S\000p\000a\000r\000k\000'\000s\000\040\000B\000l\000o\000c\000k\000\040\000M\000a\000n\000a\000g\000e\000r\000.)
-endobj
-180 0 obj
-<< /S /GoTo /D (subsubsection.2.4.1) >>
-endobj
-183 0 obj
-(\376\377\000T\000r\000a\000n\000s\000p\000o\000s\000i\000t\000i\000o\000n)
-endobj
-184 0 obj
-<< /S /GoTo /D (subsubsection.2.4.2) >>
-endobj
-187 0 obj
-(\376\377\000E\000l\000e\000m\000e\000n\000t\000w\000i\000s\000e\000\040\000+\000,\000\040\000-\000,\000\040\000*\000,\000\040\000/)
-endobj
-188 0 obj
-<< /S /GoTo /D (subsubsection.2.4.3) >>
-endobj
-191 0 obj
-(\376\377\000M\000a\000t\000r\000i\000x\000-\000m\000a\000t\000r\000i\000x\000\040\000m\000u\000l\000t\000i\000p\000l\000i\000c\000a\000t\000i\000o\000n\000\040\000\045\000*\000\045)
-endobj
-192 0 obj
-<< /S /GoTo /D (subsubsection.2.4.4) >>
-endobj
-195 0 obj
-(\376\377\000M\000a\000t\000r\000i\000x\000-\000v\000e\000c\000t\000o\000r\000\040\000m\000u\000l\000t\000i\000p\000l\000i\000c\000a\000t\000i\000o\000n\000\040\000\045\000*\000\045)
-endobj
-196 0 obj
-<< /S /GoTo /D (subsubsection.2.4.5) >>
-endobj
-199 0 obj
-(\376\377\000M\000a\000t\000r\000i\000x\000-\000s\000c\000a\000l\000a\000r\000\040\000+\000,\000-\000,\000*\000,\000/)
-endobj
-200 0 obj
-<< /S /GoTo /D (subsection.2.5) >>
-endobj
-203 0 obj
-(\376\377\000S\000l\000i\000c\000i\000n\000g)
-endobj
-204 0 obj
-<< /S /GoTo /D (subsection.2.6) >>
-endobj
-207 0 obj
-(\376\377\000S\000t\000i\000t\000c\000h\000i\000n\000g\000\040\000\050\000c\000b\000i\000n\000d\000\040\000a\000n\000d\000\040\000r\000b\000i\000n\000d\000\051)
-endobj
-208 0 obj
-<< /S /GoTo /D (subsection.2.7) >>
-endobj
-211 0 obj
-(\376\377\000C\000u\000s\000t\000o\000m\000\040\000p\000i\000p\000e\000l\000i\000n\000e\000s\000\040\000o\000n\000\040\000b\000l\000o\000c\000k\000s)
-endobj
-212 0 obj
-<< /S /GoTo /D (subsection.2.8) >>
-endobj
-215 0 obj
-(\376\377\000D\000o\000i\000n\000g\000\040\000s\000o\000m\000e\000t\000h\000i\000n\000g\000\040\000c\000o\000m\000p\000l\000e\000t\000e\000l\000y\000\040\000c\000u\000s\000t\000o\000m)
-endobj
-216 0 obj
-<< /S /GoTo /D (subsection.2.9) >>
-endobj
-219 0 obj
-(\376\377\000B\000r\000o\000a\000d\000c\000a\000s\000t\000i\000n\000g\000\040\000v\000e\000c\000t\000o\000r\000s\000\040\000a\000n\000d\000\040\000m\000a\000t\000r\000i\000c\000e\000s\000\040\000t\000o\000\040\000c\000l\000o\000s\000u\000r\000e\000s\000.\000\040)
-endobj
-220 0 obj
-<< /S /GoTo /D (subsection.2.10) >>
-endobj
-223 0 obj
-(\376\377\000C\000o\000m\000p\000u\000t\000a\000t\000i\000o\000n\000s\000\040\000p\000r\000o\000v\000i\000d\000i\000n\000g\000\040\000a\000d\000-\000h\000o\000c\000\040\000s\000u\000m\000m\000a\000r\000i\000e\000s)
-endobj
-224 0 obj
-<< /S /GoTo /D (subsubsection.2.10.1) >>
-endobj
-227 0 obj
-(\376\377\000n\000r\000o\000w\000,\000\040\000n\000c\000o\000l)
-endobj
-228 0 obj
-<< /S /GoTo /D (subsubsection.2.10.2) >>
-endobj
-231 0 obj
-(\376\377\000c\000o\000l\000S\000u\000m\000s\000,\000\040\000c\000o\000l\000M\000e\000a\000n\000s)
-endobj
-232 0 obj
-<< /S /GoTo /D (subsubsection.2.10.3) >>
-endobj
-235 0 obj
-(\376\377\000t\000e\000n\000t\000a\000t\000i\000v\000e\000r\000o\000w\000M\000e\000a\000n\000s\000,\000\040\000r\000o\000w\000S\000u\000m\000s)
-endobj
-236 0 obj
-<< /S /GoTo /D (subsubsection.2.10.4) >>
-endobj
-239 0 obj
-(\376\377\000M\000a\000t\000r\000i\000x\000\040\000n\000o\000r\000m)
-endobj
-240 0 obj
-<< /S /GoTo /D (subsection.2.11) >>
-endobj
-243 0 obj
-(\376\377\000D\000i\000s\000t\000r\000i\000b\000u\000t\000e\000d\000\040\000D\000e\000c\000o\000m\000p\000o\000s\000i\000t\000i\000o\000n\000s)
-endobj
-244 0 obj
-<< /S /GoTo /D (subsubsection.2.11.1) >>
-endobj
-247 0 obj
-(\376\377\000I\000m\000p\000o\000r\000t\000s\000\040\000f\000o\000r\000\040\000d\000e\000c\000o\000m\000p\000o\000s\000i\000t\000i\000o\000n\000s\000\040\000p\000a\000c\000k\000a\000g\000e)
-endobj
-248 0 obj
-<< /S /GoTo /D (subsubsection.2.11.2) >>
-endobj
-251 0 obj
-(\376\377\000D\000i\000s\000t\000r\000i\000b\000u\000t\000e\000d\000\040\000t\000h\000i\000n\000\040\000Q\000R)
-endobj
-252 0 obj
-<< /S /GoTo /D (subsubsection.2.11.3) >>
-endobj
-255 0 obj
-(\376\377\000D\000i\000s\000t\000r\000i\000b\000u\000t\000e\000d\000\040\000S\000t\000o\000c\000h\000a\000s\000t\000i\000c\000\040\000S\000V\000D)
-endobj
-256 0 obj
-<< /S /GoTo /D (subsubsection.2.11.4) >>
-endobj
-259 0 obj
-(\376\377\000D\000i\000s\000t\000r\000i\000b\000u\000t\000e\000d\000\040\000S\000t\000o\000c\000h\000a\000s\000t\000i\000c\000\040\000P\000C\000A)
-endobj
-260 0 obj
-<< /S /GoTo /D (subsubsection.2.11.5) >>
-endobj
-263 0 obj
-(\376\377\000D\000i\000s\000t\000r\000i\000b\000u\000t\000e\000d\000\040\000r\000e\000g\000u\000l\000a\000r\000i\000z\000e\000d\000\040\000A\000L\000S)
-endobj
-264 0 obj
-<< /S /GoTo /D (subsection.2.12) >>
-endobj
-267 0 obj
-(\376\377\000A\000d\000j\000u\000s\000t\000i\000n\000g\000\040\000p\000a\000r\000a\000l\000l\000e\000l\000i\000s\000m\000\040\000o\000f\000\040\000c\000o\000m\000p\000u\000t\000a\000t\000i\000o\000n\000s\000\040)
-endobj
-268 0 obj
-<< /S /GoTo /D (subsection.2.13) >>
-endobj
-271 0 obj
-(\376\377\000M\000a\000h\000o\000u\000t\000\040\000s\000h\000e\000l\000l\000\040\000f\000o\000r\000\040\000S\000p\000a\000r\000k)
-endobj
-272 0 obj
-<< /S /GoTo /D (section.3) >>
-endobj
-275 0 obj
-(\376\377\000O\000p\000t\000i\000m\000i\000z\000e\000r\000\040\000n\000o\000t\000e\000s)
-endobj
-276 0 obj
-<< /S /GoTo /D (subsection.3.1) >>
-endobj
-279 0 obj
-(\376\377\000P\000h\000y\000s\000i\000c\000a\000l\000\040\000o\000p\000e\000r\000a\000t\000o\000r\000s\000\040)
-endobj
-280 0 obj
-<< /S /GoTo /D (subsection.3.2) >>
-endobj
-283 0 obj
-(\376\377\000T\000r\000a\000c\000k\000i\000n\000g\000\040\000t\000h\000e\000\040\000p\000a\000r\000t\000i\000t\000i\000o\000n\000i\000n\000g)
-endobj
-284 0 obj
-<< /S /GoTo /D (subsection.3.3) >>
-endobj
-287 0 obj
-(\376\377\000T\000r\000a\000c\000k\000i\000n\000g\000\040\000t\000h\000e\000\040\000D\000R\000M\000\040\000r\000o\000w\000\040\000k\000e\000y\000\040\000v\000a\000l\000u\000e\000s\000\040\000a\000n\000d\000\040\000t\000h\000e\000i\000r\000\040\000t\000y\000p\000e\000s)
-endobj
-288 0 obj
-<< /S /GoTo /D (section.4) >>
-endobj
-291 0 obj
-(\376\377\000N\000o\000t\000a\000t\000i\000o\000n\000s)
-endobj
-292 0 obj
-<< /S /GoTo /D [293 0 R /Fit ] >>
-endobj
-298 0 obj <<
-/Length 2529
-/Filter /FlateDecode
->>
-stream
-xڍXY���~�_�7�U"��țE�SVR�6��,? �!w"4�D��|}�en%O����k�D�����!��^��*/*�8�R�q��q�i��yD@�����< �y�M���P�����7�?L�_���E�G������J�g��϶y�I����G3~�Ct�AE�T��(�?��]��nT�>�v#h�ɼ~�^Ty�*fQ���-�n���O� i��u�q˘�`�;�o��?�V�F^Y�"(��b��j�7��Gw��8�>�v�6q�?��
-��"��z�YUzi�$���� !���^�M��>[<UX��Y䙲�~7ͣ���d)�ȱȃ ���O=�UF[[�{���ְ�$��z�1L�ڬ�,@�0��3����q��K��� �<�7�#�mN�Ul�)a�k�ݏ��Ͳ���gj�n�N�Uv�.X��.�WQ�1L�x?��
-6�<-n=" ����d����a|@���3�C�Z̶��5�3Y�UN�|ɹ}��1صv���{3�wV� h �Q �iR�:�O��z��o��qQ�=�u��x�-[)-������1�A�����Z��z�zVy���]�Z�M0q���#�{�J��=��uD3�����Bg�I�3��E=�<o�\��K�g�� �d:]��\�H��a��B��h�N���'s�� ������.w{QN������@�� $��8 2���`J��+�p�͓;<qhP �ɍfG>EG�9��[0��b�"� '�}T �"���"��Q��M�`_�
-C��h��_��n �R,�}�Mcg�Z~x�F���g��bf��IE�� N���W�T����)F=��͊����k�%IB��gE�@9�O�^���ɉ�S�@`/Y��ӗ�t�k˚c�F�����a�k���N �%���D�'��+�t���h�5� R�AJ6H����"g�>F�iFJ?�����A� �h�y���:�i��[��њi�՗q\������?��}b�I���*r��%Z�{>.���E�R"�w�虠V*���~�*�2JmTE\z,T��;�HDE���u��`1��`շ�}� �E�F��6�����NE�[�H%��_W"��ǡ�D�j��މ+!P{)�)U/�|I/G>����u�K/g��)��vg&�,�op_��;�f�����JA�srŠm9pc);.�I���!��y'�_�F�\7�_���݌�r��&��B]�����(�e�������ٖ9*�.�-�h|M18D��X��؞K2g9 �� gW��R�/���m���h
- 5�+ѹ�6{ x"_���y�չV����x�N?�Qy�W A�<B��܉��PQ��VA\$"�ߞ7Ig�—��W�Ę6�x ��2�@�e�ʫ��DQE �i�X���z�hj��������yp��^�zco.��r�^KQ�nIyf-뽵�h��H��\�'�뜆F�"�T�]+0V�)Z�,����u�j� ���Y0�L�ܝ\�@{��y��%�����{f�ZR�|����L��I6澮{���xl��$u%ćc��@�K�O�>x��I_ �!���j [�Z��)�ъ-m$�c-�OCg��tE��:?R�B�$?�Z5 ����K�V�1b?Q�a������ ��lǨJpP����h��?`"w^2A�4�L�zu�����0 ]_��f�Vo�:�:���S ZO8�Ҳp:aqppUBO�����!5�G�;ɠP�_Ԟ�O��� ���;��9;���#!�SgC�G4�
-1����y�Y�$�vi�F���L��E�o{0b��K'���)���ڃ>��;)���YR ��|�Y�{k����h��~1ݑ�,���ݕ8[��å��2J8�gRUq�il�����}77/aD�ï�SX��&ِ�YeÆc�8���R0`7��q��$۳H�i9��Fkn�-���f��4��x�?/�@y�T4����)��"���d����n��4J� ͈F��rR��"^�*�A�*��+����^��d�-��.֠3j��F�kozI�����O��a���c�u���6��,-#���v��'$g�fw�;���eG� =Ƌ2��_]b���5����VDp��\ySU�o%v ����T*ǽ�"+��r�=��w+�u:��kJ5א������icIx�B����ey�t:e����bQ&��U��RuSN7%����q��}?�VlJ;#F���NΒ�RdŞ��_J–\��p�S8-@L�`��P�/��v��:R�#�.!��>_�u n�W���᷇�Ћ�=^��*/��{���
�k�AR��g�꼨�LUX�އ���/�$\�feT��"4�Q���jj��'��2��Ai_ش�_\���M2�������Ћf�� z��|gB܂}y�<��YO�߈�X+\�Ӧ�(�Wʻ�o�6|�L� �Zf���2Yd4�`I�w~��M�Gy�9���,W��@��
-endstream
-endobj
-293 0 obj <<
-/Type /Page
-/Contents 298 0 R
-/Resources 297 0 R
-/MediaBox [0 0 612 792]
-/Parent 313 0 R
-/Annots [ 294 0 R 295 0 R 296 0 R ]
->> endobj
-294 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 1]/H/I/C[1 0 0]
-/Rect [360.462 388.808 366.605 400.138]
-/A << /S /GoTo /D (Hfootnote.1) >>
->> endobj
-295 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 1]/H/I/C[1 0 0]
-/Rect [75.826 149.432 82.799 160.225]
-/A << /S /GoTo /D (section.1) >>
->> endobj
-296 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 1]/H/I/C[1 0 0]
-/Rect [277.445 149.432 284.419 160.225]
-/A << /S /GoTo /D (section.2) >>
->> endobj
-299 0 obj <<
-/D [293 0 R /XYZ 71 792.731 null]
->> endobj
-300 0 obj <<
-/D [293 0 R /XYZ 72 720 null]
->> endobj
-308 0 obj <<
-/D [293 0 R /XYZ 72 288.573 null]
->> endobj
-312 0 obj <<
-/D [293 0 R /XYZ 87.243 111.352 null]
->> endobj
-297 0 obj <<
- /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R
-/Font << /F19 301 0 R /F20 302 0 R /F21 303 0 R /F29 304 0 R /F45 305 0 R /F44 306 0 R /F52 307 0 R /F18 309 0 R /F30 310 0 R /F38 311 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-353 0 obj <<
-/Length 1426
-/Filter /FlateDecode
->>
-stream
-x��ZK{�8��W��� T�@��*ϙ�k�4vg�vA1v4��I���JH�_줮��^a ���ý�^]����9�w^��@8p�C�a�Q�`N�\�Go��'��^�C�U����A�J� �2
-�j:9Ѹs�:u�ܹ�f��l��;���5�">�(�P�V]�zFzpUpu4K������( 4�� # ����.An�C��Wא�Dž��`�^�����{^g�e�#��2��,����(���22�zQ����L2]S.5��`�UP�x��}�"Pk"���r�I]��,WO�1滠��>�@�x�u��a-o��W3ǹ�P�|c��(�7 � �&2� � ��a"���T��|.�fZ�F��K�'�^"#�]��t�P��(�ȕ�Ԝ����C��%�S���냞�ț��K��>�^��q^}�D{��(�%����8��PH 7�{^��|v�WH̅��,������ f���?gl�Ⱥ,�����X]��>@���~"Gq:�Bt�4�%�6;ݟ����VGP�� �����^��3��� ���Mb�Hݫ��J�w��?�x8�e�]���$2�����M ��.�j�\�����iq�a��/u�E�]��ޕ+ח�_ ����צ���=�E��{���<D,�C�5�r
уl<E�(։���>�X��* s�c Z�BXUD���]�o�H��0Y�w2�/����h��1ݓh ��S�Y��U�j�;;a��.�OE=�=T�܅���I�܅����� j+c��g��ߔŵ v��H��� ��Ek��X�Ι6���9 !f6a���< ���0&x�1T3F ���IЭ��+�Q�Hj]�T�u}� s�q��9���h�� !@ ~o��!(%;�·�Q�������N� ٙ�”�x��9���ިc�;Q7��W���v^ �یI�v�h��1����*�Ep��Y�}�ij�nabug����G�ŒdC;�:��n�����ܜ� �s��-G���oh'����r�P���r�2��u���,�jh�) ����m�v�}j�����2�J��f�uX�U/�����@�
-�>�\�5�2k c� Y�u�C�����{�V�g��Z���=h�! ���7��� �F���&#Ӕ�i="�3�"�b����m-��3-P/z���ƌDY����N!�(o��
-�Վ��� 7�C�z�HE�Al �r��K� �Y�����`?�.����lu�����ˆ�B��h������x��[��h��Y8hD����n�!!��ǧ��������H�Fp_h��*�jO�,u�y]� �z�gJH�zY��R�U�,��XOƟJ���Ʃ��L�"���Wy"g�"�Q��M���f��\�\�O����Q���ԆE�,��i$|�t���Z�M�=�w�$w~;
-endstream
-endobj
-352 0 obj <<
-/Type /Page
-/Contents 353 0 R
-/Resources 351 0 R
-/MediaBox [0 0 612 792]
-/Parent 313 0 R
-/Annots [ 314 0 R 315 0 R 316 0 R 317 0 R 318 0 R 319 0 R 320 0 R 321 0 R 322 0 R 323 0 R 324 0 R 325 0 R 326 0 R 327 0 R 328 0 R 329 0 R 330 0 R 331 0 R 332 0 R 333 0 R 334 0 R 335 0 R 336 0 R 337 0 R 338 0 R 339 0 R 340 0 R 341 0 R 342 0 R 343 0 R 344 0 R 345 0 R 346 0 R ]
->> endobj
-314 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 1]/H/I/C[1 0 0]
-/Rect [71.004 679.316 291.027 690.21]
-/A << /S /GoTo /D (section.1) >>
->> endobj
-315 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 1]/H/I/C[1 0 0]
-/Rect [85.948 661.491 145.253 672.284]
-/A << /S /GoTo /D (subsection.1.1) >>
->> endobj
-316 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 1]/H/I/C[1 0 0]
-/Rect [85.948 645.604 193.599 654.459]
-/A << /S /GoTo /D (subsection.1.2) >>
->> endobj
-317 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 1]/H/I/C[1 0 0]
-/Rect [85.948 625.841 204.226 636.634]
-/A << /S /GoTo /D (subsection.1.3) >>
->> endobj
-318 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 1]/H/I/C[1 0 0]
-/Rect [85.948 608.016 203.922 618.809]
-/A << /S /GoTo /D (subsection.1.4) >>
->> endobj
-319 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 1]/H/I/C[1 0 0]
-/Rect [85.948 590.191 179.181 600.984]
-/A << /S /GoTo /D (subsection.1.5) >>
->> endobj
-320 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 1]/H/I/C[1 0 0]
-/Rect [140.742 572.366 244.962 583.159]
-/A << /S /GoTo /D (section*.3) >>
->> endobj
-321 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 1]/H/I/C[1 0 0]
-/Rect [140.742 556.479 163.352 565.334]
-/A << /S /GoTo /D (section*.4) >>
->> endobj
-322 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 1]/H/I/C[1 0 0]
-/Rect [140.742 536.717 231.623 547.509]
-/A << /S /GoTo /D (section*.5) >>
->> endobj
-323 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 1]/H/I/C[1 0 0]
-/Rect [140.742 518.892 223.46 529.684]
-/A << /S /GoTo /D (section*.6) >>
->> endobj
-324 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 1]/H/I/C[1 0 0]
-/Rect [140.742 503.004 165.843 511.859]
-/A << /S /GoTo /D (section*.7) >>
->> endobj
-325 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 1]/H/I/C[1 0 0]
-/Rect [140.742 485.179 202.4 494.034]
-/A << /S /GoTo /D (section*.8) >>
->> endobj
-326 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 1]/H/I/C[1 0 0]
-/Rect [140.742 465.417 373.564 476.209]
-/A << /S /GoTo /D (section*.9) >>
->> endobj
-327 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 1]/H/I/C[1 0 0]
-/Rect [85.948 449.529 131.112 458.384]
-/A << /S /GoTo /D (subsection.1.6) >>
->> endobj
-328 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 1]/H/I/C[1 0 0]
-/Rect [85.948 431.704 187.455 440.559]
-/A << /S /GoTo /D (subsection.1.7) >>
->> endobj
-329 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 1]/H/I/C[1 0 0]
-/Rect [108.862 413.879 255.313 422.734]
-/A << /S /GoTo /D (subsubsection.1.7.1) >>
->> endobj
-330 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 1]/H/I/C[1 0 0]
-/Rect [108.862 393.563 266.356 405.518]
-/A << /S /GoTo /D (subsubsection.1.7.2) >>
->> endobj
-331 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 1]/H/I/C[1 0 0]
-/Rect [108.862 375.738 277.425 387.693]
-/A << /S /GoTo /D (subsubsection.1.7.3) >>
->> endobj
-332 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 1]/H/I/C[1 0 0]
-/Rect [108.862 357.913 280.287 369.868]
-/A << /S /GoTo /D (subsubsection.1.7.4) >>
->> endobj
-333 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 1]/H/I/C[1 0 0]
-/Rect [85.948 342.579 151.646 351.435]
-/A << /S /GoTo /D (subsection.1.8) >>
->> endobj
-334 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 1]/H/I/C[1 0 0]
-/Rect [108.862 322.817 277.396 333.61]
-/A << /S /GoTo /D (subsubsection.1.8.1) >>
->> endobj
-335 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 1]/H/I/C[1 0 0]
-/Rect [108.862 304.992 413.885 315.785]
-/A << /S /GoTo /D (subsubsection.1.8.2) >>
->> endobj
-336 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 1]/H/I/C[1 0 0]
-/Rect [85.948 287.167 277.535 297.96]
-/A << /S /GoTo /D (subsection.1.9) >>
->> endobj
-337 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 1]/H/I/C[1 0 0]
-/Rect [85.948 271.279 179.956 280.135]
-/A << /S /GoTo /D (subsection.1.10) >>
->> endobj
-338 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 1]/H/I/C[1 0 0]
-/Rect [85.948 253.454 145.087 262.31]
-/A << /S /GoTo /D (subsection.1.11) >>
->> endobj
-339 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 1]/H/I/C[1 0 0]
-/Rect [71.004 223.729 221.946 234.623]
-/A << /S /GoTo /D (section.2) >>
->> endobj
-340 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 1]/H/I/C[1 0 0]
-/Rect [85.948 205.351 260.599 217.306]
-/A << /S /GoTo /D (subsection.2.1) >>
->> endobj
-341 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 1]/H/I/C[1 0 0]
-/Rect [85.948 188.079 333.269 198.872]
-/A << /S /GoTo /D (subsection.2.2) >>
->> endobj
-342 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 1]/H/I/C[1 0 0]
-/Rect [85.948 170.254 230.517 181.047]
-/A << /S /GoTo /D (subsection.2.3) >>
->> endobj
-343 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 1]/H/I/C[1 0 0]
-/Rect [108.862 152.429 249.695 163.222]
-/A << /S /GoTo /D (subsubsection.2.3.1) >>
->> endobj
-344 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 1]/H/I/C[1 0 0]
-/Rect [108.862 134.604 298.788 145.397]
-/A << /S /GoTo /D (subsubsection.2.3.2) >>
->> endobj
-345 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 1]/H/I/C[1 0 0]
-/Rect [108.862 116.779 199.605 127.572]
-/A << /S /GoTo /D (subsubsection.2.3.3) >>
->> endobj
-346 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 1]/H/I/C[1 0 0]
-/Rect [108.862 98.954 286.778 109.747]
-/A << /S /GoTo /D (subsubsection.2.3.4) >>
->> endobj
-354 0 obj <<
-/D [352 0 R /XYZ 71 792.731 null]
->> endobj
-356 0 obj <<
-/D [352 0 R /XYZ 72 700.172 null]
->> endobj
-351 0 obj <<
- /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R
-/Font << /F64 355 0 R /F18 309 0 R /F52 307 0 R /F53 357 0 R /F56 358 0 R /F54 359 0 R /F58 360 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-392 0 obj <<
-/Length 1437
-/Filter /FlateDecode
->>
-stream
-x��[w�8���)x�Y�Uw�c����Ӥ��K��Vl6`������#$h��ͥm�<�`@����?#ao�a����a��+�=����{!�B"�Bo8�>��o����A���uo���G�I�����Cs��FY��'���k#�"�n���)!�����NI��G qn�s�?2�+{�2�������5�
-E"����"�D? �s7OS=��٤0��*7G����j��>��_�J��n�u��G`F�OD�r@)��"�X�bL��&�$�8�\�t���8Y������E\�Ei��3{o�Á���U��4ܖL�r"wIR��S H�o�U�%_u����^rr�>��� Y����<�/�ؠ\z��"���a(�f��4�.v2?qw0���?�h~�BD�fu�{� ��]@�L�{���0���B�D�MF�~��"���Y^&�%�¶g4ߩ��s��A�Ou�g�;�>LE�I���>۱�`Ǻ�Sw��P��y���H[�$�2P���>0s����ҿX��a�H�d��N�=��U���$HP
-��_���ۨ��(F8$M�5V:�w�$�.��]������͝���B!��Y�"!��Ѧ] � �������`��D.�O�]�q'�Xt᲍�p�H��g�i_�2�Gk¿llS%UG3r�_,�O��d6�Wb�����A��n��Y92��㾻(�<�T��:Mf��q3�����fD�&�7�9�{�27*�LW�n?��3�וN��%g��w�?(�kԺ***@_y<�e��j� �5�V9/����7J�rQh�����Hx.C��I��q �+�˼��x�������i^W�\��\dY\$4<����s�J��{yuY�`��K�r32F��F�)%E�Q7ܢV8�I� �=Xd�Kύ�����[X�1b�B�l�=�$��^�[���3�Q`�ߙ��Sc��� )U�EM�z����ZՓY^� �cz�c��n��E��6���-*�Ş6�]���#T���k=�2�ͼ�wõ��D9�]�d�P[�kc#B�$�h ,z�2���ۤ�/���=,���:�lj��vQv �A�J��&Cq�yS��
�?{f �o�Z e������fd['0���k�'��ͅo�m���F5fB�xa�q�ߢ<�74��8Mu�����r�
-��;����oe�\�G�%zO�E�JeS����q�BUo)��w's�d�]�J��:]@8R��(Ršl���l8�$��S8� �g�� W,��0�54��8�
-޻�;ge�#�����G�^��W�³zǃ���fb���Jj5��PV�꺾�B�������fԗ�]�Ğ�����-�� ��s��ܪ�'q���G�[�1�Z�P�nĸ b�y3ᮊ\�w��0JŒ�X���Mpl?�?�}���
-endstream
-endobj
-391 0 obj <<
-/Type /Page
-/Contents 392 0 R
-/Resources 390 0 R
-/MediaBox [0 0 612 792]
-/Parent 313 0 R
-/Annots [ 347 0 R 348 0 R 349 0 R 350 0 R 361 0 R 362 0 R 363 0 R 364 0 R 365 0 R 366 0 R 367 0 R 368 0 R 369 0 R 370 0 R 371 0 R 372 0 R 373 0 R 374 0 R 375 0 R 376 0 R 377 0 R 378 0 R 379 0 R 380 0 R 381 0 R 382 0 R 383 0 R 384 0 R 385 0 R 386 0 R 387 0 R 388 0 R 389 0 R ]
->> endobj
-347 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 1]/H/I/C[1 0 0]
-/Rect [108.862 695.149 229.078 705.941]
-/A << /S /GoTo /D (subsubsection.2.3.5) >>
->> endobj
-348 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 1]/H/I/C[1 0 0]
-/Rect [85.948 677.216 309.36 688.009]
-/A << /S /GoTo /D (subsection.2.4) >>
->> endobj
-349 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 1]/H/I/C[1 0 0]
-/Rect [140.742 659.283 223.072 670.076]
-/A << /S /GoTo /D (section*.10) >>
->> endobj
-350 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 1]/H/I/C[1 0 0]
-/Rect [140.742 641.351 244.63 652.143]
-/A << /S /GoTo /D (section*.11) >>
->> endobj
-361 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 1]/H/I/C[1 0 0]
-/Rect [140.742 623.418 296.574 634.21]
-/A << /S /GoTo /D (section*.12) >>
->> endobj
-362 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 1]/H/I/C[1 0 0]
-/Rect [108.862 605.485 202.095 616.278]
-/A << /S /GoTo /D (subsubsection.2.4.1) >>
->> endobj
-363 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 1]/H/I/C[1 0 0]
-/Rect [108.862 586.999 239.234 598.954]
-/A << /S /GoTo /D (subsubsection.2.4.2) >>
->> endobj
-364 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 1]/H/I/C[1 0 0]
-/Rect [108.862 569.619 288.068 580.468]
-/A << /S /GoTo /D (subsubsection.2.4.3) >>
->> endobj
-365 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 1]/H/I/C[1 0 0]
-/Rect [108.862 551.687 285.578 562.535]
-/A << /S /GoTo /D (subsubsection.2.4.4) >>
->> endobj
-366 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 1]/H/I/C[1 0 0]
-/Rect [108.862 533.2 233.617 545.156]
-/A << /S /GoTo /D (subsubsection.2.4.5) >>
->> endobj
-367 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 1]/H/I/C[1 0 0]
-/Rect [85.948 515.821 139.635 526.614]
-/A << /S /GoTo /D (subsection.2.5) >>
->> endobj
-368 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 1]/H/I/C[1 0 0]
-/Rect [85.948 497.335 230.71 509.29]
-/A << /S /GoTo /D (subsection.2.6) >>
->> endobj
-369 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 1]/H/I/C[1 0 0]
-/Rect [85.948 479.956 230.018 490.748]
-/A << /S /GoTo /D (subsection.2.7) >>
->> endobj
-370 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 1]/H/I/C[1 0 0]
-/Rect [85.948 462.023 268.845 472.816]
-/A << /S /GoTo /D (subsection.2.8) >>
->> endobj
-371 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 1]/H/I/C[1 0 0]
-/Rect [85.948 444.09 317.552 454.883]
-/A << /S /GoTo /D (subsection.2.9) >>
->> endobj
-372 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 1]/H/I/C[1 0 0]
-/Rect [85.948 426.157 298.428 436.95]
-/A << /S /GoTo /D (subsection.2.10) >>
->> endobj
-373 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 1]/H/I/C[1 0 0]
-/Rect [108.862 408.225 187.871 419.017]
-/A << /S /GoTo /D (subsubsection.2.10.1) >>
->> endobj
-374 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 1]/H/I/C[1 0 0]
-/Rect [108.862 390.292 224.484 401.085]
-/A << /S /GoTo /D (subsubsection.2.10.2) >>
->> endobj
-375 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 1]/H/I/C[1 0 0]
-/Rect [108.862 372.359 231.734 383.152]
-/A << /S /GoTo /D (subsubsection.2.10.3) >>
->> endobj
-376 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 1]/H/I/C[1 0 0]
-/Rect [108.862 356.364 198.692 365.219]
-/A << /S /GoTo /D (subsubsection.2.10.4) >>
->> endobj
-377 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 1]/H/I/C[1 0 0]
-/Rect [85.948 336.494 232.26 347.286]
-/A << /S /GoTo /D (subsection.2.11) >>
->> endobj
-378 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 1]/H/I/C[1 0 0]
-/Rect [108.862 318.561 299.591 329.354]
-/A << /S /GoTo /D (subsubsection.2.11.1) >>
->> endobj
-379 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 1]/H/I/C[1 0 0]
-/Rect [108.862 300.628 231.928 311.421]
-/A << /S /GoTo /D (subsubsection.2.11.2) >>
->> endobj
-380 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 1]/H/I/C[1 0 0]
-/Rect [108.862 284.633 264.086 293.488]
-/A << /S /GoTo /D (subsubsection.2.11.3) >>
->> endobj
-381 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 1]/H/I/C[1 0 0]
-/Rect [108.862 266.7 264.916 275.555]
-/A << /S /GoTo /D (subsubsection.2.11.4) >>
->> endobj
-382 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 1]/H/I/C[1 0 0]
-/Rect [108.862 246.83 266.023 257.623]
-/A << /S /GoTo /D (subsubsection.2.11.5) >>
->> endobj
-383 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 1]/H/I/C[1 0 0]
-/Rect [85.948 228.897 280.412 239.69]
-/A << /S /GoTo /D (subsection.2.12) >>
->> endobj
-384 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 1]/H/I/C[1 0 0]
-/Rect [85.948 210.964 211.422 221.757]
-/A << /S /GoTo /D (subsection.2.13) >>
->> endobj
-385 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 1]/H/I/C[1 0 0]
-/Rect [71.004 183.069 168.479 193.963]
-/A << /S /GoTo /D (section.3) >>
->> endobj
-386 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 1]/H/I/C[1 0 0]
-/Rect [85.948 165.136 194.458 175.929]
-/A << /S /GoTo /D (subsection.3.1) >>
->> endobj
-387 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 1]/H/I/C[1 0 0]
-/Rect [85.948 147.204 220.776 157.996]
-/A << /S /GoTo /D (subsection.3.2) >>
->> endobj
-388 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 1]/H/I/C[1 0 0]
-/Rect [85.948 129.271 329.674 140.064]
-/A << /S /GoTo /D (subsection.3.3) >>
->> endobj
-389 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 1]/H/I/C[1 0 0]
-/Rect [71.004 103.313 136.91 112.269]
-/A << /S /GoTo /D (section.4) >>
->> endobj
-393 0 obj <<
-/D [391 0 R /XYZ 71 792.731 null]
->> endobj
-390 0 obj <<
- /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R
-/Font << /F64 355 0 R /F18 309 0 R /F65 394 0 R /F53 357 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-399 0 obj <<
-/Length 1372
-/Filter /FlateDecode
->>
-stream
-xڭW�n�8 }�W��b�$� ��\;��d�e:X���hDZ���N����I�NۇV)Q��!sg�p��蟑��;‘Q„H�8�Y*�|5���;�>;��i�ܙ�+\-X�N��F���7D�,�d��oG,�\�,Hcg^8_]1���=�~��s>�|�wOν���q��ӏ�/�'o�6{;=��x|r�����l�m�y�~>:�&�X<p%0R��&n��#��İ�Y�F,�‡�� ݳlYo:%]]yy�(�d�B]7��i:˳2#�XW��-F��/8�wB&yDɃ�E�`��'�����_��I@ǜlc|�����(�e��=�Vc����/�f��[fIoڎ�f�h�+��eyg0A�f�5$�h���!\�iR�B�C>&غY�l��K�V�%;˺F�8��L�D�ۯx��$�5_T��� ��<N�ۘ��9x���1��@@�����իu�V�b��j�؋�ԝ�����N`p�QIN�F/t�{��xRm��cO��qm���U�meϨo�G�^�3�D4fe[S�6����e�R���J��T w�&Y�
�HX_&'+��Dw���OL��͗�LR��.KC�;(TA�c��u5�i��Ц���)�h��n�_��K�y�"p(u5�SUv]��{tP�=�b�u�}!� P¨O���S�G����ҏ�$X�c@"�`#dɌ�0|����⻷4�g�c����S�]]��ʽ��9��n��������iн\��$\q�!x������@/HS�TyG�k��{�U����
-���^��mɟ���[ݚ�� �۷=�A�-_Px� &Y$PNUn���C��쬇i߁��CA(UkUx���d���b�v����`omc�������}C�A۩�a٭��h QY#RrB��u�Cv�z�Vc�#���U֛�U%={���tѦ�-�x�^ֺdߺ�
-��u��������SUOy�6|�_����[�R�m�n�G4�b��� �� �'4�F���y���#�r�cq�r��zz��K�h�Κ�@'� �5~!���[>����~�q�K����>��L2�x�.�>�|����:tޯ������M�B-ۍ<d�-W��^Ņ�2��}(��� ��Sf��[]C}Իӭ:�"���x(c��Σ�M��.��=��}w��o���!�_D|D; �6��M����>r�Hੈw���$���q[� ����,|�����?u�>���>�D������N�WT���g<W������?qbX�.����]�a����{
-x}��p��� ��<~��J��5�~���(�sR�$ �c�1
-��
-endstream
-endobj
-398 0 obj <<
-/Type /Page
-/Contents 399 0 R
-/Resources 397 0 R
-/MediaBox [0 0 612 792]
-/Parent 313 0 R
-/Annots [ 395 0 R 396 0 R ]
->> endobj
-395 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 1]/H/I/C[1 0 0]
-/Rect [381.107 692.779 388.579 709.041]
-/A << /S /GoTo /D (Hfootnote.2) >>
->> endobj
-396 0 obj <<
-/Type /Annot
-/Border[0 0 1]/H/I/C[0 1 1]
-/Rect [121.296 86.097 187.568 97.554]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://weatheringthrutechdays.blogspot.com/2013/07/scala-dsl-for-mahout-in-core-linear.html)>>
->> endobj
-400 0 obj <<
-/D [398 0 R /XYZ 71 792.731 null]
->> endobj
-29 0 obj <<
-/D [398 0 R /XYZ 72 708.045 null]
->> endobj
-33 0 obj <<
-/D [398 0 R /XYZ 72 613.531 null]
->> endobj
-37 0 obj <<
-/D [398 0 R /XYZ 72 409.616 null]
->> endobj
-401 0 obj <<
-/D [398 0 R /XYZ 87.243 99.397 null]
->> endobj
-397 0 obj <<
- /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R
-/Font << /F18 309 0 R /F52 307 0 R /F65 394 0 R /F44 306 0 R /F38 311 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-404 0 obj <<
-/Length 812
-/Filter /FlateDecode
->>
-stream
-xڭVMs�0��+t�gbU�d����L�L�%��1
-hb��6P��+yeb(��䴲���{�~2ADP�s:�|��(‘�|4zDC�`7
-�h��,���PB�5Le"���pέ8àW�r����������C��Q��S��8�(Jf��{��j�̣-�̙Φ8�<��a�PѰ��>�64������ �����s��Z�������� �g��=��> ���A��9苀]?TВ -���� ���� @� էnt�[�:,P��e<ɳ8̳�*�o/e5�I��U��,�*��\%R10]�l�M�¼��M(9��y��{��2ۅ�!N4�'��0=��߬L#��~%�*/�Br�Y�L Q�6�5�����)�����F�#�����o!�y���[�'Z�B�g;,�-��JƩ�W2��]�Zm-�!�Ħ�z\�ʭ~�U�f���4�7g��J��9J�\؞�4~H�j�=*�d����*(0`���P� ǘL�C&�;$��#mu� �{b��&G{�m�$U��쒁g\R 6\r�LR�r���j�m}u���M�L+S�7 �m�.C�a!�N}٥�^D������mXm����tך>�|�Q4����4n~r��m�l�
��8@כ�웹�4�E�����l��j*`P&"e����m^�V����W�BU$��X�4W�\:�eo�P�/��d���n�̶a��PHvn��6��!�+x��*�bڦ���ۧ�.ί��5�T�b��X��M���i���
-� /�6�x�{$R�D8 C8���Q���Ԩ�
-endstream
-endobj
-403 0 obj <<
-/Type /Page
-/Contents 404 0 R
-/Resources 402 0 R
-/MediaBox [0 0 612 792]
-/Parent 313 0 R
->> endobj
-405 0 obj <<
-/D [403 0 R /XYZ 71 792.731 null]
->> endobj
-41 0 obj <<
-/D [403 0 R /XYZ 72 482.691 null]
->> endobj
-402 0 obj <<
- /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R
-/Font << /F64 355 0 R /F18 309 0 R /F65 394 0 R /F52 307 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-408 0 obj <<
-/Length 951
-/Filter /FlateDecode
->>
-stream
-xڵWKS�0��W��LcE�ߙigJ) �iIOm�Q��c������rl9�����Z��C
-AW����l>�]��g>�/Q�P�؍4_�_��Ц�kv:����f�B�m�q��vh�U�i�W�?���|p7��:A1?ĔF¤�#������Bv�v�=(͕Ԧ8�<����wF�0�8d}t���뷟su|n|�q(�5==:������`z:����������6hE���,`��h���?�^Nj�� ���� �8�M<⌆��<k2+��a�r��L��R�ŇlM]km21�^o�G��\��fv�&�Z_VY��J'�Ʋ����%lޫlIjX�B,�EyҺP�S����1g I,}!���)G�z�q���{�Í3i} n�n9V\U�U��ܯ��;������2}�I�ӫu�����L�%�)���XGΎ��H����s0�CCr�+��� 4fFp�� fr֐���S��|;����s� ��~�4jn���\���@7�Jm�F�(�WE<43��.�08
-m�5���6/ �5��{ؙ�_zl/:��.��/p��\��U#T�54A9�@�h:f٭�}+�'=���y%����k����Х��n˞j..�4_�� 'yQ뗁�-8|�� �WB|���d ��Ƈ��t��l�ac���=Xei-���B�`mc�϶;���ŃN�����S�`L��1qD ?nN�'�������-� Nܿ�F q�W�+>yG�C%��4Twe-��2��~2�1��>�Q*��u���*X��<F{de�FX����x���ZW�.�4^�+����+�Z�2Mz�㮶��U�oS�W�}3��*�.o��g�lC�5��5^ī�\�u�3�aBv�T�v��C ���:�G��E6a�~|mǤ�m�~[��A;b�����Nr������!�
-endstream
-endobj
-407 0 obj <<
-/Type /Page
-/Contents 408 0 R
-/Resources 406 0 R
-/MediaBox [0 0 612 792]
-/Parent 313 0 R
->> endobj
-409 0 obj <<
-/D [407 0 R /XYZ 71 792.731 null]
->> endobj
-45 0 obj <<
-/D [407 0 R /XYZ 72 222.155 null]
->> endobj
-406 0 obj <<
- /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R
-/Font << /F64 355 0 R /F18 309 0 R /F65 394 0 R /F52 307 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-412 0 obj <<
-/Length 1281
-/Filter /FlateDecode
->>
-stream
-xڭW[W�6~ϯp��,,�W��XJ���)�O��`%��KV����w���8�}�d����|���r����dt�[�[ IB/�&3+�ȏ��D�dj}�)��u]�>�:�sr�}��6;�1�Z���i#���|�OF?F����0&�&����ZY1��͵������֓�,�4%IX�u7���c^�����������?'���svs{�6�}ruq~z{ry����N�Npyzy�������:�D�M��0�'z�tn?1��FIH7��$&n�a�� ����ǽrN;&"��J���Z��E$Ṉ:- R̓(�5��D��I�Z�K��v9�"�9@�"m�x6�G x�Tᓩ��\�l��)��v>���s9�E����pv�����A��R{���A��!�)B���i����f%n!ShU:Ù�~{�`�2�͹%���4O ��<��� z��y$� l����iB��:T��[��� ܧ�����I�r�3>�򂳴 �y�uY�ОD�u�/�$�X�%ц��)NU�Q�HX�P�
�Q�:3��<� �
-��ͧ���b� ^H^��|K�sy?�9��e��+S1�G���d�H~� f!��|����_��`���ē��ˬ���EA��u���گ��7 =�0�6����Bq�!�U���� Yݧ�ݮ��U���^��ZC�u�~uC��wÿ�7GT�K��ԃ3� �n���꽄�Ѫ �j@%���NdHIL��� ��Y�i�MS��Ne�i��p ��-3Y�.0�����(D�Jηg�)/�>�����C�t
-���B�� j��x�*-t[��V�-#�f �=`�:�['����� 0[m.gQfy;���G�(�I��~���w;9o�&��b�ݦ?�!u��������U #�b���,1m3�F�b�X��B��'zJ�WO�5�D�}�s/�~��qv�C���-QP��21����FmE7�'��
-Iݾ��cZι*Q��`�9ՙ�L��8���!���乱���6�:������[sYn�.e%���U�"��V���8-��_�;Й�+VEɥ�d��(�0D������A��W=HA4y#��V����+6DW+H�Oe�a��;�p� �ڳ��]צ�a��0�j͎��v��S�=4��w��Ugo�q�g�@���R�\7i�Ji(^��643�*Ӽ��kL�2�#Mg!XE\/��7,��AF��y�b�e �?��
-F�x])����m��ߞnHB���� 5F��/��y��
-endstream
-endobj
-411 0 obj <<
-/Type /Page
-/Contents 412 0 R
-/Resources 410 0 R
-/MediaBox [0 0 612 792]
-/Parent 414 0 R
->> endobj
-413 0 obj <<
-/D [411 0 R /XYZ 71 792.731 null]
->> endobj
-410 0 obj <<
- /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R
-/Font << /F64 355 0 R /F18 309 0 R /F65 394 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-417 0 obj <<
-/Length 1086
-/Filter /FlateDecode
->>
-stream
-xڭ�[o�6���) �!�HQ���\��I�- �}�$��"K�$'�>�u�DN����D�����B1� ���f��NdHR��@��5��1 Ә�r���4��1��Zݎ� �ƴ�*��kƟgoFdzї��pȄr��ASN����gFr�{CiB+���4�HA�F�ÓLK�O���������/���.��w�c�z�������!�]N�N�{pvqtvqz�����1�!p(h�� %ܠ[2M(K�n[�2�!
-}�bo5bo *��-�!��i�8��ɍZT�*pz��v����%z��oFCC����AL�4B�"
-"�կ���g��"�E�p�C5�^�V{����ٺwlcoB����?��� �Hx�V:�ʪ^�a��ʥ3�}[ը��S�|u�Ջ�J�c���_���=���n�����9ֶVec�%�d�/�pB�Y�[��[lw����j��3O���ra�"�^��k�Y�0d�2o�ʼ��“!�O�i
-'
-�b}���'4 �5V����Io��%W�)x�B�-m�A�2�\����(��gwA�� ��e�P
-�b!��
-�km֡�PN���h��W�c� �]g&�j�ۥ�э�Ɗ��Xb(C�(Hz!�$J��i,�$�RDP��[�H!���ęϡ>��Fڼ�o�ڜ���z�]�(��{���j�#����]>�.��D��.B��T��m�@�|�{K��@A)�o�� ��f�mXw!݃3�1�,M���}��s]EeW�?D����Je���時�<ܝy��
-��X% i�;�!i�d��>|�A[�U�KW-1/�ҙsGu����ny���P�39x�
-�2���U����4�ހ�b�4�;��-7B3\{����I�r(�Շ�U�Z���~�\�<�s���_Lwl�<��Aw�g�4F��/f��n �� ���N��~�wg ��T�7[rFHA��>������dW�j�+���D�]f�FY�z]�ȷ+�Z�u�_��j� �T�f!=��9YE�����e&�d�מ�?������V��+
-endstream
-endobj
-416 0 obj <<
-/Type /Page
-/Contents 417 0 R
-/Resources 415 0 R
-/MediaBox [0 0 612 792]
-/Parent 414 0 R
->> endobj
-418 0 obj <<
-/D [416 0 R /XYZ 71 792.731 null]
->> endobj
-49 0 obj <<
-/D [416 0 R /XYZ 72 447.086 null]
->> endobj
-53 0 obj <<
-/D [416 0 R /XYZ 72 388.853 null]
->> endobj
-57 0 obj <<
-/D [416 0 R /XYZ 72 330.192 null]
->> endobj
-61 0 obj <<
-/D [416 0 R /XYZ 72 271.861 null]
->> endobj
-65 0 obj <<
-/D [416 0 R /XYZ 72 213.256 null]
->> endobj
-69 0 obj <<
-/D [416 0 R /XYZ 72 155.479 null]
->> endobj
-415 0 obj <<
- /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R
-/Font << /F64 355 0 R /F18 309 0 R /F65 394 0 R /F72 419 0 R /F73 420 0 R /F59 421 0 R /F52 307 0 R /F53 357 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-424 0 obj <<
-/Length 1435
-/Filter /FlateDecode
->>
-stream
-xڭWYo�8~��У T ���ȃ�kS4)6v��e$��V���I��� [j�n�] 0)ΐ��=��ơ����jv���NJR�sg�vb߉Ø�i�r���{�R�^]6��z5{��}�1�O��<!��p) )s�j��ur��r( �ĹW�r3�F�S:��Z4KF������Z��������� ��������y���x�������-�.^/����������c�Jɀ�컀C����ұ��`j0�&�&�|Y{Y�J�����3%�޷+X=���Ǝ�G����(�^�G�{ѷO��֬2�=7'�>G΅��tQ�ݝ��l?�3u0}��g1�$���l�}Qo�^�nY�R�z/?�/�Zu_���zYu�[Թ�T�o��/�y�{��m�w��B !I����ն��8p����vEU��?�F�7�xd%��}��'�����
-a��K%R(�A���V��iQ3��f��@?e�$�o����O9;&Iʵ� -��8:���xy:m�x�:�"BU������ڧ������#�D�[� �1��0"<�{���? 8���$
-��~wze*�t هJs��5�n���*�=�<%��$�"`U0�'i$ȒΙΌ��P� _4����c���QߔM_')� H�,���q�f�P���$Ϩ� -1xTˬoZݙh�e�#��O��%R�z�oO$�w��V���ɫ��ms��N���)�u���↛n��_�—��Ѐx�$���F߾
-����jf�c�f� �A$A
-��~qW��)��){��2�z�#� ��=h�̯DΡ��Mz�0�Y6��O�mbI8�����5��HC��);Q�N����}�i7D�D���JR�m3��[re_� Co���7^.z��GQ��h�J7��]�N�/@'8���/�)w�:Ûh�/�NBw_`ӻ�ȿk��6L[���C � ���KMBgD�ݑ��@��x�t�4U����*vj\��dM��]�ϰ{�h�O�#���/�=��9 RWI��+��mt�yĹSy�\�TO�ON���$�2{Y������&)�� <a�\�)D˸�@��� �Ts��Z}��[aN&�#e�^�d�~-s�uw$qw�6�0` C�1)`��2#E�Cti.��� (6~��J�75NWHA?�h%'6��i'�av�A�:���[��Vf^�ͺY������$���tH� �}:6{��7ke��:ӬT�����|@�b�e�����J�ß�J{�� ���tj�c�D<;�C�r��Bo:Q�Q�yЧ����]8���EH����Q,6�h��%W���&��N�C�>܈7F18n(�zJ��
�i|v4:m��X�L�[�<�p�i��'��0�ޫ�,�Cf���T--K���<jm���‹5P�ʦ��C^G0�z�"�Nx����û
-endstream
-endobj
-423 0 obj <<
-/Type /Page
-/Contents 424 0 R
-/Resources 422 0 R
-/MediaBox [0 0 612 792]
-/Parent 414 0 R
->> endobj
-425 0 obj <<
-/D [423 0 R /XYZ 71 792.731 null]
->> endobj
-73 0 obj <<
-/D [423 0 R /XYZ 72 708.045 null]
->> endobj
-77 0 obj <<
-/D [423 0 R /XYZ 72 656.025 null]
->> endobj
-81 0 obj <<
-/D [423 0 R /XYZ 72 560.391 null]
->> endobj
-85 0 obj <<
-/D [423 0 R /XYZ 72 239.366 null]
->> endobj
-89 0 obj <<
-/D [423 0 R /XYZ 72 179.196 null]
->> endobj
-422 0 obj <<
- /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R
-/Font << /F64 355 0 R /F18 309 0 R /F53 357 0 R /F65 394 0 R /F73 420 0 R /F54 359 0 R /F59 421 0 R /F55 426 0 R /F52 307 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-429 0 obj <<
-/Length 1371
-/Filter /FlateDecode
->>
-stream
-x��Wms�6 ��_��R����t���fYrMz��~X��12k�K*�v������e�m�^w�/&)� �@{ֽ�Yg���ѓ_��JY��u}gž1 �غ�Z�m������jdW7����btz=z?�ij��G �<���������7�5�� �c"M���,Q��4 �š�~��y2�ߏ#���F.ǿ���v\!�}~垼xy���??;=~9>?����������W�ί�&�=,�58��Zo�Z(6Q�҄y�ߣ3��h 'B�y�PK��!�) ���� =o���%�z�CK�u 5� ��>�╚FVӺ�a��k�8�E�p[-5~=���A�"p�� IJz�p���:�5��O4\�E�jټ���|��%:]�~e�V��'�p���^l���(�k������ sT�$�2�m��k=|�)`u���1 aL1����e�p~��c@�g���lr٩�I9�*6W;`��#<�â��uDDd�ppO�(M��S�r޶��� �oJ�� �^�^���F/ت�>�{!���z޹���q}�
�e�(9}�����Į[՚m*��KǏ�[�۪���Ga�`d���9n�%�$��9��Z�T���y��ഹ��i�KcC����Be]^W�B� '�lyRWh�����m���o��t6�5����*y[(��=E������H�Z��G[�es7�W�6}�|(����$�^{��x�����\�����^���0yuO�_;���Ê%�џ�-����6 s���![��'H��^��G��***@O��Pp���#" �1��ֆ:5���v���g���C-��8_઺r�RMm��fR��
-��������$�K
-3�0�n6z�9~Uw��qhw3���+h����C�w$%��&��l�"J�M@�}���53��F�����=F&J�5 /�S��NoL�iT�j�$8� 7&���p��S�ؒB�����TѲ���oua1g筚}+{���OiT��wd�����:�{!�/4P8�a��������yG��o+!�]�M�2/dS<b*ҩ ����6�� m>�#�՛�1�e�)��[5ZǺ�v�'BbKX�����ڡ-J0Z � l;�J�ҧ�VO"���F��*,�i�� �/�0Rn�ˢ��=�7���+�� ��7��z��p�;@E1G��Fv�+�*%!�� �� �� �A�_�NϢ�� T�����z�d+�����_C����{uT�� ���zrp��2_�M>P���Wギƙ,�kpsV�]\:��Q���A6�4Z�7��ܴ������Z�*��s�vۖ�?�w�lE�' <��y?eIbp������/Ӧ E
-endstream
-endobj
-428 0 obj <<
-/Type /Page
-/Contents 429 0 R
-/Resources 427 0 R
-/MediaBox [0 0 612 792]
-/Parent 414 0 R
->> endobj
-430 0 obj <<
-/D [428 0 R /XYZ 71 792.731 null]
->> endobj
-93 0 obj <<
-/D [428 0 R /XYZ 72 708.045 null]
->> endobj
-97 0 obj <<
-/D [428 0 R /XYZ 72 664.437 null]
->> endobj
-101 0 obj <<
-/D [428 0 R /XYZ 72 613.578 null]
->> endobj
-105 0 obj <<
-/D [428 0 R /XYZ 72 563.547 null]
->> endobj
-109 0 obj <<
-/D [428 0 R /XYZ 72 454.471 null]
->> endobj
-113 0 obj <<
-/D [428 0 R /XYZ 72 381.913 null]
->> endobj
-117 0 obj <<
-/D [428 0 R /XYZ 72 209.049 null]
->> endobj
-427 0 obj <<
- /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R
-/Font << /F64 355 0 R /F18 309 0 R /F53 357 0 R /F56 358 0 R /F54 359 0 R /F65 394 0 R /F58 360 0 R /F52 307 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-433 0 obj <<
-/Length 1535
-/Filter /FlateDecode
->>
-stream
-xڥXms�8�ί�t�3���m�@&�M��N�.!���a�eǖ!����[I+� ������gw�Vx����ڻQ�y��>�A茦N7p��.i���h�|������y^�V& 7�գ��i.y�p[�V��Š�c�v9�=�|�9��=��}��"}߉����3����GZ����+c��'�N�Y8��� &���)膤�CT��ލ �����ͥ��Oח�n� 3w{1�40�w�/�_�o���ַH�?
-���k�zOv�P�~@:�+���� ꓆� :�_S��شS�I�,�i�.���Z�$�NP⢛ z4Q�c�c�NQT��CR���1Yd�t~�:����i 簾u;$h�8�� Cy��(A���?S��S�y����8�nFL���\�x`��An�����i�~��.̒����%�}����(Y����>��[TɅ����K��+�
-�Y̰1\,،.٬����OKUh�䃂^!��
-�����|g��2E�)ڙ�4�p*>�J�n�>�J�Kw��'6�� �OO{�4]d�!�5��HV݄EI�&9W�0CG#�Uࡋ~نt���wC�$��$_�dƤ����Ɋ }B"��|C�����$��9[)o �VvZ� �=I8����h�J`�y}�z���pw��JX�#c}�\*wN�<
-7�W�G�d�<(~j�X�l%y�X�>�K������u2�`m�?7�s$�g>��`Fې~O����x��c�^����jw_��{?�_�uc�̮�<JB���S{�L�]�ϘNL��0�PZ^�:!�cv\}q�[� �� �����Kv�[��a�E'�Ζj6q<�\K;J�0�svvz��:o���k�b���� �HӼ�XU�s[�
-��m�^ة��>�եmˇ�~�Ҷ�)K[[��o�:]��z���j�VW�^�����D�lAU�s�>@�*�@���c�����������{�
-겡I��
-��tV\�%NN�׃�A���a���Wt��&rf&��0�-��ۃҷz��cS�����y��e�e�d�HV���9�zx#+K ����㨩�ݞ�EEWV7n�d(J��<Q�0&r}����I��B��!�E
-���N���.K�1�b'ٺ�/�ӯ5Y�j���
-ײ Єg,�V(�XfP΀�����{�|�.�i��P-֖WlE��em,JN�#������|��i�f�2��P#Z�w�|S�_��y�L��� `�Ѷb��)�)��Br�Eé��[�r��\R��e�=:� ��#��܂R�om0E�&&��j1���P%ذV���0��Z�xp!�)LЈ��u����yYD��͆uB%Eb'��%�'#�Z�OXf�� �q� �oL��Yr��C t8��Bl\ f�b�_)Տ�I1�՗�9�՗�q<�i�pV2���+;��ۃ�|7Cg�y >��pA�+�̫Y�8��y5���� ���t�'���1�7�c����3�u�ynڸƳ�.��_0~�C�6�l�g ���rT�=��
-endstream
-endobj
-432 0 obj <<
-/Type /Page
-/Contents 433 0 R
-/Resources 431 0 R
-/MediaBox [0 0 612 792]
-/Parent 414 0 R
->> endobj
-434 0 obj <<
-/D [432 0 R /XYZ 71 792.731 null]
->> endobj
-121 0 obj <<
-/D [432 0 R /XYZ 72 288.791 null]
->> endobj
-431 0 obj <<
- /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R
-/Font << /F64 355 0 R /F18 309 0 R /F65 394 0 R /F52 307 0 R /F76 435 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-438 0 obj <<
-/Length 1029
-/Filter /FlateDecode
->>
-stream
-xڭV�o�8 ~�_���6����=�Y�u赻&��6 ��$�;��f���"΂�0�K$QɏI��%��jt1��O"��y$l�`i��(��<e�9��_��s��EUi�����r6z 0™`A�,���+ף/�8���G��0���"�-�<�YŦ�п��i�g�1 b���������0t�o�����9D������~|=���d|3������۫鯤m�����$%�Ȗfm�l%y��,@�Ӯq� sJ~V��T�t>M���ȼ�c+��<��ߡ�Y ��2��|Ѵd��ʦ��z7u�s��ᮖ��-����sM���fۙ���OÃ@œ�yB�6��+��gƇ� �I�8�.NX܏E҃�r� j�<�B��un_�Ou�B��*^$?�����1�>���A tb�� $��-J�Ӫ�J��/�l����TՐ��1� 9��ba u��Q�Im�j�>�b9����W縛�b�l8��($?�� l�A��<e�~�$�V`�U��ͭr�Pk�V��,qS4A;�J�dckX6���U���
��%IQ�[�5k9�3�= [թz��{�U��EKz�R>��UU!r�6�ţ)X#���j2��U����Xq�j�A]�z
-�f������\�R�ܛ�SG�� ���"�;̣\<콦�L���u��������f� ����v4�7�_h\�#�$�H�n<��ғ��P�E�K�\�W���<Y��J��<D�5h�io�� <i���H����'2��#1��I��Ul]�$��ܙ��$�.�(٭vF��9և���&[���|1c�B�,�8�8���2�v� �@ �Y�D�p�R8�i�49��)ksz���Ms��Q� �:���،�����ݦ�{D�w��p�W~l��yu��Ok��̕i���TS�ߙ���897��Ѹ>UL=� �b���쌴��Z(�_�a���;YU'��7���� �'&C��q�������RV���?ID�����~g����� �,��[�'�/��T�`�f���d�
-endstream
-endobj
-437 0 obj <<
-/Type /Page
-/Contents 438 0 R
-/Resources 436 0 R
-/MediaBox [0 0 612 792]
-/Parent 414 0 R
->> endobj
-439 0 obj <<
-/D [437 0 R /XYZ 71 792.731 null]
->> endobj
-125 0 obj <<
-/D [437 0 R /XYZ 72 642.077 null]
->> endobj
-436 0 obj <<
- /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R
-/Font << /F64 355 0 R /F18 309 0 R /F73 420 0 R /F58 360 0 R /F65 394 0 R /F52 307 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-443 0 obj <<
-/Length 2568
-/Filter /FlateDecode
->>
-stream
-xڥYKs�8��W�r�HUB�Hb���yx*�wl�IM�m1�H���x�v�=(�Ô*�@��C�_h��Q0zw����0�#�b&#9��d����ɗ��hk�&M<�a)�H͙�z�]��u�����[� 3�G׷#�#D!���2��z6�2�)�`|��zz�v�����d*�8����;���Og��]M�^�y��z^$,���BSa ��+p[���qŤ
-f��Y�-6.��b�L��iZV��x����7y1ˋ��[ fD��fL؉�Pg�C &�$H���S�o&S��eiC3�-�7�&��ل��&/ zN*�r����U �4��V�<Mn���ɼ\7���ˏ4�w��Y^7U~�n�MV�����e�?���EqfJ����( �J� 4��.����u�J��C�`q,z�HŢ@l$��,P�P��k�{P#/���_�]=�0,��Q�u�d`)=
-�xie��m�ӡ:
-x p�Az����� DK��R�;�`�Y�f��JA;j��0�v��}6���l��������
-�2�P�A�x����go;��0�pqr���>f<}��S���'���F�***@K8{>�����u䥸�ǝ���} ��C �8��a\�/��t܇xɨ��G��;�[=��,�� ����+n#O�C�*�Le�
-j�� �J�/+�
-Y �ao��!v.��Ga%�U9H�S��;򒼍��w,@G��CH4��T2�EEC��]Y��/�'k'PH�}���J'�B�$t]C�q(�DP��� ���� �dA���x4�]�ݕ��ƨ��K�b4�����uz���0��^�(=�]��^��l �:�{ >�b���']�*�H��H�aZc�U:������Yp�����~8� �nDԇ�@��vвꨔ�D�[p��p;��~���Jʨ��컨�ZVg7A�ˇ��k��V�ÁA<��)��^�8*Q`�=��)�V�'q�e�T�|�(��gq�x�ś0��c���)�#M�`KR�b��*�zgu�D���3Z�A&�DN�S;�Q�� 8 �'(��\I0(�)��#�<)f��=����C�6eU[��Ҧ¸tm���� +�(N�N�?r�W�h�e���z��(��Jq�o:Uv �A���P���u�X</;� �[��O�9pN߼��m� )*�5*:�rH/�=׼x �dKȜ|#�v�l��v��
-��)& ȳ�?b�u���8����öUR/� �LZ��X~6 �̄b�{�Ǥp�$5����?:���$X�[h�����T��ʾ�A]�� �K� :4@�&Se��b��訓�V�I帮@DR��H�u(KӐ����N$8�X�¢����pw�֐��H)�pư��U��b�A�����'�:V� �uF�3���*���SW�����U�m�``��?v��Mq�t�@ryv�邵�z�q� �YL��y��
-��:w�*��ֵ��W4���Hh5BD�q�x��3K��R
-B�����֜w���o6��>��o�<�.��J w�(5��C����n�u��؝�^��E�w�������L�&�>W�=��%���i�y�V��e�OO���r0������ ��r��j)�{�\��&ޕ���D������T 6��/d{��vD��OHG\�t��,\X:��n�Xb8P|����Γ��I94���vE<�8�+ ��_���|�����o���OIWXLf_�UY,w\QaEd��gdl^.�?@�0K,K\��6��19E����rMommBs���;�1Js!)��Gz� �o�U����b��s��EF�v�� *'�h��o'�jb �{�����`g�y�ц����3�h���U�)F,�l3|3C;�n������҂����-����WkG� U��Ը� jե<���/N7:���Ns���E�c�����}��[|.lj�����$��{l��|�IS<���˄h dS>w��s({���U>�[!vœ�ˬ��;�UNe#>�ち3G)�J��g^�
k»�� ���D% 8V�↴\��n���^c��ꃼ��K�Vs�������I�Ts�&h�3��X�d���k�җ��|���z��sȥ�Ί/h�z�c�e��K�K�ހu4� ��2\A�Hh�7��_�|X�/�'{c��d����ʰ� c���:�-&��M����w���nf���|��]�|�_O]n�����*��|֤N�q�������-�;���t�1�AМ�ӑQk�#��k:n>뒔զr~�>DgzV��MAiǗ�E~��3���/>�O>���tx�\���A�?f�$�j}��8bܴ:J����mP��\V�E*ܹ�� ^c��*���x�6�z��Q�meø�;��ǹ��6RhH{ T��.06D��y��_<�l�6����_/�����4q�v<rb��׋l��kf�}e�3{���T�T@�Ǵ.���?@�
-endstream
-endobj
-442 0 obj <<
-/Type /Page
-/Contents 443 0 R
-/Resources 441 0 R
-/MediaBox [0 0 612 792]
-/Parent 448 0 R
-/Annots [ 440 0 R ]
->> endobj
-440 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 1]/H/I/C[1 0 0]
-/Rect [273.103 618.581 279.565 631.469]
-/A << /S /GoTo /D (Hfootnote.3) >>
->> endobj
-444 0 obj <<
-/D [442 0 R /XYZ 71 792.731 null]
->> endobj
-129 0 obj <<
-/D [442 0 R /XYZ 72 708.045 null]
->> endobj
-133 0 obj <<
-/D [442 0 R /XYZ 72 570.725 null]
->> endobj
-137 0 obj <<
-/D [442 0 R /XYZ 72 271.41 null]
->> endobj
-447 0 obj <<
-/D [442 0 R /XYZ 87.243 99.397 null]
->> endobj
-441 0 obj <<
- /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R
-/Font << /F18 309 0 R /F52 307 0 R /F53 357 0 R /F83 445 0 R /F65 394 0 R /F86 446 0 R /F44 306 0 R /F38 311 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-452 0 obj <<
-/Length 1164
-/Filter /FlateDecode
->>
-stream
-xڥV�r�6��+xq�L a�����.o�����J�$$aL���|}���D5���x���ؚZ�:�G�gQ`�(���O�ط� FA[��z�}D���'�׎K��?�i۱��uN��7�+�Y���y_�Nǣ�#���g� A$&��Գ�j�����]Z�4�^�?+�o�ah�����K� �0F8�85��?���{|{��]]�^��y`]ܜ\ܜ?�O�MP�m�D �
-ޠ0\×F(ű� ‰����;n��E��W�l�󼧅2T���<k�dq�,��|c���H�l�][��Ֆ 8�ŗ�
-��-� �T�����,яX���I[�6���3�iY�'5���2᭚<4Y��v �ل�����7B��םZw�|�OЖ��=}Ӹ���m>Ag{jF�)���Mk��D;, ���Cj�o����sf"�g��h7�y;EY��3��l��=�EϬ.X=�%�j�r�Ig���uFk=�� �� �kJ+���g�ge��-[h��7�B��. ��МL�Nw`�Q����� Q�� ��F�q�@�e׏Q�j��R��n��A��|��լѥ��)�y��$$W����t���R�����M����]���X�3F)!
-׵̼�1�e��P����odz����=��� g廓��d����d��(\oЫ�EB� �f��C�.�y�.�1�3@$Z�!� �!��xVH����c�� Q��O�T�75ڌ�`��AkJ�9��ܸ�-k�Y�+��+q����b�݁>z���P�UH� 8�!��4-�?��&p���Jd��vs.%F�/v�4���cp9������E}=����D�=�⻡bx?g�nI�<Y��_�+J���jz���J'?K�6��wIƆ����X�1�����h�B�D�_:��o -#����GZ8D��j=x�Y(u��r�r��8p��e`�D�j��q��! Rڹ�Yb��XsQ+_�b��B[K����d9�`ɵlYPf���V�� 7 �5`��Ɋʡxe��6��е���U݅�w�J����{����`�$�7�a����:Y���T{t/3�@{�����չ���!��_�V�m{�| F������E��%VF�,���A��lX�[���/U�UH
-endstream
-endobj
-451 0 obj <<
-/Type /Page
-/Contents 452 0 R
-/Resources 450 0 R
-/MediaBox [0 0 612 792]
-/Parent 448 0 R
->> endobj
-453 0 obj <<
-/D [451 0 R /XYZ 71 792.731 null]
->> endobj
-141 0 obj <<
-/D [451 0 R /XYZ 72 457.049 null]
->> endobj
-145 0 obj <<
-/D [451 0 R /XYZ 72 430.302 null]
->> endobj
-149 0 obj <<
-/D [451 0 R /XYZ 72 380.15 null]
->> endobj
-153 0 obj <<
-/D [451 0 R /XYZ 72 319.316 null]
->> endobj
-157 0 obj <<
-/D [451 0 R /XYZ 72 267.67 null]
->> endobj
-450 0 obj <<
- /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R
-/Font << /F64 355 0 R /F18 309 0 R /F65 394 0 R /F86 446 0 R /F52 307 0 R /F53 357 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-456 0 obj <<
-/Length 2522
-/Filter /FlateDecode
->>
-stream
-x��Y��6����Cqr�"�g��G�K�Mz�����]�"K�$�&���<HY�z7)p��_̇���pf~3t�Q������ۗi�HU\��
-�8q�W���P�x��Q����z��Z�e}k���V<l����CӕC��n��6/����r�le���W?���:��D�Q �Bgv֢�A�9���(X���H�"�r��RI������2�ȯ�LDYzpw��?_-߾\��}��E�|�����y�����7��?�t�E&�-NshY�h��D�����r���E��$
-�ۺ6�`�[�(���r����$��Q�`�b�SwH���~[v��e��k��?fup�];���6<�c�nw���=� n���I�t\��;+�A*�L�tQ$$�Y�T�,ZL:�J�-X^29�Re�Pq,� 蚖������-J�m9��D%�sn֫��'����eI�3�LcQD��"OөMKX���,��4 Ѧ���4�5ܲN�3�駯�ܤ�U�
-�m�{&:\�d��K��G�`�7϶7�E_�&r�ܰ��A�ᩛrck[v���ϻ��5�O����~m�Z�<t�Thj�1 ~����n�oha.��ï��[ǀ��jp.Kj�'[��K�4Ԓ?�>R���nk��`I�0���_�E͊;CW6=G���H)�Xg�+Ӏz�ݮ6ܳn7�-�4��'�i�]�oE�_�pw����>b�����;�����H� �P�8R�l8E�ybY���ً����_;:p��V���@ͱ���6�[Z�>�he{P��n0+���<{�a-�um�_���ώN�M{�De���f4
-
-w �IPQ��=�>J$����c���~B�X���;����?AT�5�tx� ��ؼ��(���g�<yO8W��m����ô<2���{�=��|��Y�� d>|�?lL�ְ��VMՙ��h��U���x�گ�N8�6�ٲ�����������A�$7\���� �E*b�6
-�q���
-�H���%v�P≶c��'���M5N�TI�m|p����yi�L�MԌO,gY�3�@R�U0����~�� ��-B��^�S
-��rj��m*�y鑌ֵ�ܗ3��s��Q��P���`7pwNYL����a���v��yU�H�����p1����s��w !ɘxZ���FO�.Թ��e9v�*�"��������lKn�N35.p����3�..�s�!�g�$�H���(O����~�v`|C�J0
-�iTqb�� K���HR���x\�)����@F >O���w�, �)� ��nX�<��,-� ��y�/ II�S|L��yÃ��&��jz��o����� C�r�q�>.�qRR���'��.�k9������;{���#� ��+)�!��ŋ'���$ ***@3sk�=Ne/1h0R���zz[�Vh�{�9=�� ��ە�A�0���gɟK}��2�N?w�o���Yһ�6?��L�C��>>�������|��IHI�#�'W_�V�P��/P�w;?��Ŭt������I��/+�(�9��Ƿ�����E��<� ��UBZ+f��.ݯm3�[�T� ��>R_8���kquJϏ0M�Zz��SǤ��u2�TӲ��#���H��'C�;�#tո�cRK�'pB����&I]Z��#�%p�t�#���cG�Vm�숳mS��~����3�S�(��CN����fWYH�g{�z|� L�|���f���@�z�������� �[��S<j>:��q.�t�[�P��<�O!��
��ٴ�o߸��V�ƽ��@� ��8>��5/�G� ��X�����/�%dC��Y��UGЂж4��~���� D�P�r����9T�M�f���58c��ٻE�oYcuN\��R,�0Y�>T�w��9^mÛ�l�4��+��`��w��<r�$��XX�f\������I����H�T<�]�������#�$�J����$N=���ʳ�s[\�/�XD��I���*�/W�y�A����x��1���˝� �Wfk
-�J�����%��Ǝ/���YY�QX�����HR+!�)ӣŽ:y?҉�!��3ʄv(>_���1 �R�]��M��z��g�M�J�Ͷ#�qs4��(�`�3�B�?�=�ܳ"3����5BK �Wq�����58Zhr`��Vz�e����(�NPW�)�����qc��?v$�)�'�ؑy&d���П:q�9Y�q�ET�(IVL���+�r� r],d"1'D�f���#Spk
-��zc�S6ܚ����HK�r�̿AC����;Z��4��<���ޱ�]/@S�Ƨ`���� �N�y�=�mw+�-����de�.���<���,�l4D~�M1ô���p=:�����@:S@��`�����A(B�R�����?1��7��r�s�v���A�K<�V� M)����N%�O��2|Z>
-endstream
-endobj
-455 0 obj <<
-/Type /Page
-/Contents 456 0 R
-/Resources 454 0 R
-/MediaBox [0 0 612 792]
-/Parent 448 0 R
-/Annots [ 449 0 R ]
->> endobj
-449 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 1]/H/I/C[1 0 0]
-/Rect [371.157 670.782 377.619 682.718]
-/A << /S /GoTo /D (Hfootnote.4) >>
->> endobj
-457 0 obj <<
-/D [455 0 R /XYZ 71 792.731 null]
->> endobj
-161 0 obj <<
-/D [455 0 R /XYZ 72 708.045 null]
->> endobj
-165 0 obj <<
-/D [455 0 R /XYZ 72 629.665 null]
->> endobj
-169 0 obj <<
-/D [455 0 R /XYZ 72 488.023 null]
->> endobj
-459 0 obj <<
-/D [455 0 R /XYZ 87.243 111.231 null]
->> endobj
-454 0 obj <<
- /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R
-/Font << /F64 355 0 R /F18 309 0 R /F53 357 0 R /F83 445 0 R /F65 394 0 R /F52 307 0 R /F72 419 0 R /F73 420 0 R /F54 359 0 R /F59 421 0 R /F31 458 0 R /F44 306 0 R /F38 311 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-463 0 obj <<
-/Length 2647
-/Filter /FlateDecode
->>
-stream
-x��YKs�6��W�N�I���nɖ�(kKK{p�)EB3,s�1V&�~��M9���i�`������l�ys������(p�D~���;�wt�E�h�6w>��Vk�y����YZ��J)7-7�I����~��c�4iW7-�U������.�"3����_�^ݞ}=�� ϑ�
-b�����H����>��99|���Jb��J�PZ�$ �ҹ9���/���U�����C���s��~�~y��m������7���W�Wono��D -��Z��K�����tEI,�ا����y��S�4�Z�!y�+v�Zi�S���`�i����[�e��n�CG��ghw�yWr���sVW-���$�w��K���ȿ��i����mS�[T0-+�ܴ���z��Xr8K�5hD��ZFB������J�Z~��AmG��7<>��
-�E���.�(h�A��t�/Y�`P���CQ�Ԣm�
-���Z�/*�� FG�p��!8'1i�(�g��D�iIO�I0H�LJ�%B�1��0&�O��-,B��%'��/x�ĉD�UlF"� ��X� ˂?����qM�������]]��q�L������:�`cxX aٴ]r�/��3�]J�z���5z��~���,��O`�!X����=oA[ �(r�G�}S����[ЫB0�^�;s�#��x4�i�G�Ǣ����%7�B�`�HFO;***@U�9�� ��������"�yF^���~�x@!*`?���5_|t!󋡺�̡=ֻy���R�"��&8�{�����вH��=�1�E�\�p� �j�-� }ަ�=A8�)� wi�[�Bh��מ�]�$��� ��/��sѲ��l���$r_7�� x�՗ �z ������D�T7KJ %!wY�bAI,t<���-�Sw`Iҁ�S���$��l������֌�a�j�i-�5dx���#ͺe�A6-K4%�-�ߔ~ʑG�i\a���b�Ci�Un�9cͣ�Z�3y��њ���z�r�+�E�
-tβ��+�Vf��{�%2��� ��|���'tN]A��=�x8؜[����##�"�ɠ�4i�.��� �ƴ}��[�N+�\A�4@���<D��<�  ��J\��i�q����~��i#HJ�{�O�/�,���н�O_�R�!Fc�˖5�韅u���&�.EVt��m�Q��7Ԟ�I��R�#�$x�6�Ǘ}��r`��n�\��D=Ÿ�?�ʏ�UZJI�����E�Cs��G�NYw2z�v�Ħ-��AIJxO@��B; 0�I���3�]�Z m�3����,�&knl��;G�\��� �dP����5Ƿ�c�.*�������dz����zE���%�u�� ꢅ��ӹ���q�ɇ�H�� U��Q���*_��1�m
-��0�:����ݦ����VV��L �J; �Э � ۴9P��K�S��xђJ.X�ONq�H�K�ǻ ?��u(h�������c�"޶-Gi�v?tmR���Gc�ްQ�B ʆ4�,Dz�q�c�}%6Gd��e,��͏W��3�����篣pJb���8 �5�i�O�퐁��|i6��R�R��4h�t�c�Z �7���)�/�a���_8��J ��Q��E��鄡�Q [��;��5�R��%�D��(�%�RX�,��xZ�w?�TT�nx^�l��!��;��.�LbI��n��������B���*�%��Z�D�~����V�S(�$�M5}��3=;y;!�[ �o
-L������%�R�h�拄��L�y�3�ۙ]mw����v��ב���Mާ�Fo��Z0`�$L{�����P�����bl~xƋ�<_t��v���R�Y'��:-S� �{h5�Y��l�'_Y6 ?`���i�ւ�'<6i:e1K ��6�Q;�[��C�H�v�|���z �,Bf�߮�+�* V�����H�_���v�4ڠ+�F�� r�o�wK��zH��Ö�g?M����a��kߛu\��Wڌ���T {̶��7��-g�� ]��.��0f�������C6D���|'}IgY���G.PW�thw��Ã�‹���$\�9J�ډ��� ������Rk�"�S�����}q�=��WS�#�M��z]���|�pCM:i{�,k�"���o��>�ܓhn��)W2�����3�}�h��͛�9�~������4&���*!~|nݕ������6���l�/��>|>���|qy��7�f��TC�� ?���ta��� �5��)��c���]�0&G�
���5�î^�|�AXwo���$ b�^�è��((��{rE�L�ڤ� ��'�q(�dL���u��A�i��@4&�3���e�G��v��Soq��%��3F��U�S�:L�^�}�n �2���\����
-�5i���n��� Mt����a @�"��ǿٿ ��k=�I/UA,� ����E�Iz~��ė�X2�1h�0B~�J\�P!�}�o_�A���/���"��|3�18���w#�� �sj��~`�>2�fʖ���M����< :_*��YC�Jv��N}�_x�]�
-endstream
-endobj
-462 0 obj <<
-/Type /Page
-/Contents 463 0 R
-/Resources 461 0 R
-/MediaBox [0 0 612 792]
-/Parent 448 0 R
-/Annots [ 460 0 R ]
->> endobj
-460 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 1]/H/I/C[1 0 0]
-/Rect [275.064 339.109 281.526 351.599]
-/A << /S /GoTo /D (Hfootnote.5) >>
->> endobj
-464 0 obj <<
-/D [462 0 R /XYZ 71 792.731 null]
->> endobj
-173 0 obj <<
-/D [462 0 R /XYZ 72 589.718 null]
->> endobj
-177 0 obj <<
-/D [462 0 R /XYZ 72 406.412 null]
->> endobj
-181 0 obj <<
-/D [462 0 R /XYZ 72 197.149 null]
->> endobj
-465 0 obj <<
-/D [462 0 R /XYZ 87.243 154.7 null]
->> endobj
-461 0 obj <<
- /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R
-/Font << /F64 355 0 R /F18 309 0 R /F73 420 0 R /F54 359 0 R /F31 458 0 R /F59 421 0 R /F56 358 0 R /F53 357 0 R /F72 419 0 R /F65 394 0 R /F83 445 0 R /F44 306 0 R /F38 311 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-468 0 obj <<
-/Length 1610
-/Filter /FlateDecode
->>
-stream
-x��X�r�6��+�Ɍ�0�=әZy:;��]�Y�-��H���_ߋeR�%��L7$^\\\G�G�����;ɣ%����2R4R\!���|}R�G1�?��|��G1cl��g�E���Y^�b��Y��e��u�y��/��b��U>ɖ���o�?@�D�k���JH4Y �}���}�0b��n���X�ͣ��?~�[��P+�1?���ǟ�ů?y� }:9;�������99{�u��!EvB�R����m~��+���k~��G��g��1:���6_fM���W�͇�+�}�߇��;��b8c�%��r� E{� C�s�i-~ �" ��-�C>0�J4/>L�5ccŜ���E�N��~�_=A*�4��H"n"���FB��"�t�.�j
-e�Q� � ̈D��G��$&ܙY��ML��مJ +�G��GI�(��?�(��Ďښ���$��ф3��Q�!��!� �R�D�"��P%�V1�+���-�6,
-d0b�°�m�` ����!��-y;GI��h`�<A�� �a�����m�7� EЌ3�^�DO�uI�R�!�4�k�(������q 0��E ��.
-�WA�
-� ���b+9?��Q�V�Yj��j����h�f�|dk����v=���4�����z�OO�kq- +Z�N�t�ݎ�E`�$"D5�T�)�:d;���3|��ٓ�R�N�l�f��)�0��th�'��΂:�e�����'O� �7wj���O�2h�I@����*��$�H���*�w�$�P*@��̓Ë�%m3xH�I&��~H7ݚ�&s�2�:j�pɲ��i~�/�Oz�JI��&��Hx$�s8�pF��U�t%{�Q�D�|e��\�U�>��ޝ�L�,+Y]�y��[��b�A�{,-x��Ô����y4��η^6�ڕns��\Y �z�̪:����aޜ�<�u����*w��n�2���z+s?4���|������y�R�w{��sѰ��y�ag��}�;�D�$�or2��Ö�V��"5���a��q3��(�@�͚���'�� {,�f�uT��e1�s��Lܸ�c?��9]��M��w���5���T��a�����} �^�����7̣�8ݯ�ѣ�ٱ�{[�<<�
�>�:+k�� ��i��AJܓt�&w
-c�q/i1�ͬȢ�R�{0日B0�s��V!�8F��>]���z~g\�`~����Z֮4�]軮o�Q6�qa��l>�� ����� SÓ�W��N���m��Jk�@C�|���
-5�WY��Xx��im�����<��d��z�N��(�?���U�-WuXy�XS����yW����j NmL�1ٸiO����b��T_y;�����m������hW3͗ue&�be����~�{k���o&LjgF��/ɘ�$;5���b{���]�-�m� 9؋�O�2�V�!�ºI�^�ވx��=�t��X�~��{7Ƶ�~��0}����0y��3�6Gr_v�,]�m�J�~����4��M�����A��?h�V���{��!���&p���CT� ����_`
-endstream
-endobj
-467 0 obj <<
-/Type /Page
-/Contents 468 0 R
-/Resources 466 0 R
-/MediaBox [0 0 612 792]
-/Parent 448 0 R
->> endobj
-469 0 obj <<
-/D [467 0 R /XYZ 71 792.731 null]
->> endobj
-185 0 obj <<
-/D [467 0 R /XYZ 72 708.045 null]
->> endobj
-189 0 obj <<
-/D [467 0 R /XYZ 72 199.683 null]
->> endobj
-466 0 obj <<
- /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R
-/Font << /F64 355 0 R /F18 309 0 R /F53 357 0 R /F73 420 0 R /F54 359 0 R /F58 360 0 R /F31 458 0 R /F57 470 0 R /F39 471 0 R /F40 472 0 R /F65 394 0 R /F86 446 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-475 0 obj <<
-/Length 1775
-/Filter /FlateDecode
->>
-stream
-xڭX�r�6}�W�%S*1a\^4����:��S��t&�#��tIʶ���ł�0���Š��bq�{���[y�;>xqyp�&
-�������+/�^�,Lc�r�}�%ӳ@p����X�j������˃����T�0+�N�Tx������[»�g*M�[c�Ak�R��һ8��V�hu�c���^6��_/��7�˳�׳@)�;9}���C���髓��/�3;R,�F ������4a<��E��a�4�G�g�f�L�zn�O~8 B!��u^������EQ����TK���]P_��4��&�*�ζ͗�sֶ�q�(���):\vG_�W�ݵ����+���d ~:�uU����!�����F�uN��q��\�W��ath��:2)*������s�-�p��7Z�p�Օ` $�M��Bs�}�5�]p3S��]݀�D�f����kHSڤq�D#�"����퓧O��9㠷
-d�Td���i��� 𥖀�
-ϰ| [�^�u��d���b�F��`�_P�;zw���-� ����'�k�az�^ ��s�aX|�'C����*��0�1x~7�Y &x�v�M�b��fE<�a��_-�ͧ-���K�F�ҊI��Ԃ�2������l�n��!ZS�tT7�zW4.�m���s��G*+�a ��ȗ4�'�US�sAڶ۬�à$ͺ�am�\�m��ˡ�&GX�nz��G�T=B�(倀�Y�F��MV�-5�o��O03���T1�K8��]wlA;ǭ��ܔ�D�;qYח�/������J �UZ ��R7��jLF=b��!;�n��'�Rʔi�<��H�� �—~D
-�Hn,��^��X%h��(���"a��ӄ���RC����_k����ԲY�g3�Y �f�ɞ�O�&��.%�`FKi0�'�@���uXL2�7����pjP"�([���u��yO��maJ �;-�~cJ���ꚝueV9��*�~dN]N����c�\L�?f���hЌO�5
-c4�
-��ټ�ڱU��z������x�ǔ�i��{Z��8C �0ԋ�1�m>��F�4�=�Mks�k V�"v*d��l�ş�l�HS'�7���q�kk�PD :O������F&�LFӁ�|***@g� ��`�r�s�c�?'��X����zu���_=qH9�'��� �In�/�bP�Fm;��}I��,��{"��b,���}�ځa-����|ĶU�V�UY��j]�1��A=�K{���� �)�
-����(�>�F=L�!�ndd
-vQ�4}�XU3�`+��8���v$C� �ܦn;�8�ni��y?���� *����Lݘ{]0?���ɬZ�n0����á����&X��s�#� {$F����(��_;&�V�l̪/D#�Sʢ��b�N��fa��Q[��ḛ�$ĊB�&�J&�:���V]Q~�m��d���S�?/���o���UA�y�2@����s�'��|���H8������}Se�l�yJ�
-EL��?ww�}���Zr~HOS�%ymi�\7��V8�*������9(���z��]����wF=���[�DŁ*E��Y3N�<a~���G��0VuG�(����ꦩ��B�{���Qd���qOd�v�t3om4=5LD L����T�T��ҡT�Ϧw���U'�?��-0�σ�] :6��PH�c�5�h���KX�?�Xx�����=�3���&x�o{Q3��j
-�X1ͣoA�U���Y��[�\P�LD�؀��Ð�}
-endstream
-endobj
-474 0 obj <<
-/Type /Page
-/Contents 475 0 R
-/Resources 473 0 R
-/MediaBox [0 0 612 792]
-/Parent 448 0 R
->> endobj
-476 0 obj <<
-/D [474 0 R /XYZ 71 792.731 null]
->> endobj
-193 0 obj <<
-/D [474 0 R /XYZ 72 669.696 null]
->> endobj
-197 0 obj <<
-/D [474 0 R /XYZ 72 534.308 null]
->> endobj
-201 0 obj <<
-/D [474 0 R /XYZ 72 347.083 null]
->> endobj
-473 0 obj <<
- /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R
-/Font << /F64 355 0 R /F18 309 0 R /F53 357 0 R /F86 446 0 R /F73 420 0 R /F65 394 0 R /F59 421 0 R /F56 358 0 R /F57 470 0 R /F54 359 0 R /F58 360 0 R /F55 426 0 R /F40 472 0 R /F52 307 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-479 0 obj <<
-/Length 2482
-/Filter /FlateDecode
->>
-stream
-xڵYIs�F��W��!�K&I�$;�3���J��qM����%, I����y[� �|����C�[����-���������OI���< ����" i��Q�.�W�ON�&�K��<�co��4Ȝ���N�a:z�Wܘz�Cŝ�ii��u����/'��O�:��Ho�/�(s�4�sB7�Eu�鳷X��/ � �l�H�R�nNjr���w����� �����ea�����?-��x������ů����7�^�y���1{���M�/�%�̗���8�Qg�g�����X��V�i<Q' ��:�.4�-�A�fI����4 ����N7Z�e����&�TߚBw�܁��J��ɶ�����|�+8�{St�/�~G:�J�-�]�'G����0I�0�<]Ơ�U[]����n.y��<�����Q�r������6�2O�k�S��L�$ U����hn!��P�g`^.2ۃi��ܢK���N3�Љ��4N�՛���w����zabѾ��c&Bύc�R����
wTQ�MO�M�� -XL����*;���s3�H��y�i���i\��V��Ιq^�X^,�8v�,��
-�D�(S��&F��fs�uKZri�7?q# ��Z�͝h9r���b��(@+�+�S ���)��P��E��X�s
-���1��)�����ۋ���8O�@�fl ��Vi��]��>��P�L1E�e�砹:>cl�,,�����6���KS����M��V<����L���V�� P��EnAg�+������Z�~i��v%m�T�g������6؉�m��x��68�]g�Tr ,���w.�Y8�J��fM wl}�zC�5�i�G(�X�R{�ʎ�Nŧ�$q����̓�.7��c,o�E�t�/�hx���y�Z��-�����b�j`)�m(jY��y�Ѫ[�����sުu3����r����(( :
-��VJ�7���r�`����n@E8|�%ܶ<\�^�g�S� �8X���8� �]0� �˲)�ͭѫ�mu=lJ=㬐��1p���>�um��"�Q��<��
-AD��g�TSS�!h�_�iGȚ.ӻ4�����
--��Sk!O�^���Rȱ͗���z���S��i�B$ '��d���r�X� ���~���+���9l
-�G��1�/�}0�Y�z
-�+���6�#��cD��o�/���ʭ�䒯*���� ���x��8$wn�G�48�#��G0��� rI^m���)� ۶y�ν�v�S��"�b�B�ȃ���f����ۍ||X���yR� k�p�S�����}K <W�)�L��5u�cHr��d֝*�!~g���K��߰_\*`� ��i+J�.��EQ�17���U����طR�"�.U�}+�(�� '���\k�؍J���жRx��W�������9-!�ݠZ���v2��e�H?�X�˭��|�X��;�F�G���=)����+��?dp����r �/Ko�m��b7���+|"v�d$�A���� ���b�� ��[���Uh�D�� �������^.t�i�>��d��!j�l�㼴���8/m|�>�K�� �#��l_ކ~�+K(�&Ϋɺ)'�Rs��&t�ѹ����[؅k͍g� ������p�hVXk1r͂���)��F�p�P�qOڳ=,���Ï�P��q���[a�eo9w���q��T�K
�h@�E�5_^5u�6�a�ё�9l������ �s��s��m?f'�eXVO]�g��;J<'O�ج�Au[JJ����^���RCd���%�� ��+Db�X��J@�BS�+yf�u�3��{]md�I���o}���� ���[یqba��`
-�X7F�c�oڕnǓ���]��,@
-*z�MO�e6^hzW7f� QJ��y`���{p�l`�塒zvP�Mip��`��į��~��P�$\��?#�!�{h0 ��D��uo�c���2[�^b�ȍ]�U=$ء�� [��c����5�g����OV)B�bQ)Q°k��^.�r����K7� ���t'�f�?3� U���<\Y��X���7?�)Hp�'�z��Y!=��=ˡ�j���C� ��*E���^�6���0�(��놊������X g z��|�7�<y�AǦ5w��� ��꼔�g�4�r�EG�!��]>��p�����$�P.l��E"ڡ�� �P)A����v����OV eM�+ ߙ�mڃ�ע��r|��[^��Áډ��`��/�t�r�G����,a�1{���4�B�p�zce�n-�;�q��jό�;��2�W/ ~�����+�V���V�@���!jSA���ӗ�]��t��)$H+V�s�p��~n���� �C7��/¦>��k�ؓ«���@�D3�5F~`S9dž��hwR./��M�S�R7�2f��
'4��O�iE�
-endstream
-endobj
-478 0 obj <<
-/Type /Page
-/Contents 479 0 R
-/Resources 477 0 R
-/MediaBox [0 0 612 792]
-/Parent 481 0 R
->> endobj
-480 0 obj <<
-/D [478 0 R /XYZ 71 792.731 null]
->> endobj
-205 0 obj <<
-/D [478 0 R /XYZ 72 708.045 null]
->> endobj
-209 0 obj <<
-/D [478 0 R /XYZ 72 541.068 null]
->> endobj
-477 0 obj <<
- /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R
-/Font << /F64 355 0 R /F18 309 0 R /F52 307 0 R /F65 394 0 R /F72 419 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-484 0 obj <<
-/Length 2129
-/Filter /FlateDecode
->>
-stream
-xڥX�sܸ �_�>�T��h}d&��Ϲ�/wIko��<p%�˳>��֛�N��)Kk��L�� �#��|����g�볋��)X�����s�����E�+��|���W�l�W^En�5b؎�e��j1��h����5�/��ޭ��y�-� �(�Y�E` bE����/�S��O�Ϣ"wZ�A�I������f�O`FI��,=�j�~���������w���o~�t�^^������9<���e���9��˟�1 ���1-r���ԏA��~̒��s�G��x�{��˜E��������%���Z�0w�����ZnC4�I"dOc� D����o�W^�g��R�>�b���n��W��rS b ���Z�~���v���mx/*�`�^l7�%��l�7nCo\�����n�Q���$���xB�>Jյ �[yi���Y& ���7~����F�� �>�hڊ?���^��vf��ROo�"�v�Do�wC�ӑO�y��,>����R�%8��/ 9�
�\�nP\���4�����>q� �-7<�.����ad���z �o�j�x�(O�4�|��Z���p�0�İW��ox
-<8C��� �_� /,b���?�j �CD����{8v��S��I<�M��$%#�YȊ�f��"����cQbA�***@S49S������VP��p��V n��uuMf����U͖%;��?Jt�eyau����K�:���Y��ep#��bvS��N�F�j�~���9ѿ�r�p��c=���a��=o��U���/ie8ON0& M�N��?O�/僷�<��,� I�,,�H���Q�2<X[a�)�\g�4u�{��r+X÷Pma��ESA��q9ät����~���7��L��G^���㍍�$-��ݫ�`ʱ���fa���1��%$�P�k���c������� M{שflp� �� '�X�N J�s��*�LE�����rcqr������%��-9�-���%��#3/���w5q�x�G og�*�����S'!W�CH�PefS �o��,�z6 ��K%c�Q�{[5 *��I�cl/�%�����
-Jpeh�T�5˔~�B'� l��Q�p�4��ky [ȒL�sZ�dH��ݮ����~[q$ Y�$2f~(���^wZ?\�(���W��Y�����,� RPޙ�� �> E{��Ii�B>]� � ����X�fg���^�A��
-R�~e�������BhH��0� %y-��-��_�
-�l��5�"��Vp�{�ǟؿ�RJL�<�P/� �.0��5�ʯ���]+��JJ Ƒ:F�/��G�e��tA���.��Rz")��R-K�{�l �-�A13;#�b���{��
-0��Ƚ�<�k�:R��u ��YHXg��4�d+�9�r�R��0�/�Yꯍ z!�Dt�������}��¤}�`�8yd��}�<�1!vF��j�y���g,���x��8T���<��Us�:^���Cz壆��p}��k�sq��V��=}���n�x��8`T�QoK S~����WI�rotm�umm4��6p�KpƜ$��:�'g��v!��� R�Q6�8�� �W�- %հd#����D�E+��Hr=�+���+0���ɝ����Oo F{�a�g��(1�-.�� !=�S�.��:Ֆ��9�ضO7��N�r��هn�u$'?Tl7!!#� `�all�ۑ ϑN uA�]� $Ƈ����^۠cS��X����i��7`�Q��4�7
-�w�����W�qt�zbP���)*�a�\ſu��K�g�����1!�� ���.����Y�Jp�#�ֶ��� �M~j�����@
-gRU�z� �+�c`m��@���'EڸQ1b��'���X�7H �(H��FH��}=H���ɵtmN,����{c��cd����/�$‚�����r�2%{G�[� ���x�g%D����Yú�q���i��kiwYw�}l�Կa:!� N�z��y��4��֨|� ۼW�L7�Ց�7[N�4��?��� B�K�9��?[�n}��0�r
-endstream
-endobj
-483 0 obj <<
-/Type /Page
-/Contents 484 0 R
-/Resources 482 0 R
-/MediaBox [0 0 612 792]
-/Parent 481 0 R
->> endobj
-485 0 obj <<
-/D [483 0 R /XYZ 71 792.731 null]
->> endobj
-213 0 obj <<
-/D [483 0 R /XYZ 72 708.045 null]
->> endobj
-217 0 obj <<
-/D [483 0 R /XYZ 72 256.786 null]
->> endobj
-482 0 obj <<
- /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R
-/Font << /F64 355 0 R /F18 309 0 R /F52 307 0 R /F65 394 0 R /F72 419 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-488 0 obj <<
-/Length 1953
-/Filter /FlateDecode
->>
-stream
-x��Xݏ�߿Bo��5#��%�w��a��]4�^䂂�i�]}��X������в��k �k���p8�n�m��{w�fy���E��"_D o����K�T�y�-�ޯ~$�`6� �h��Ы�4u7�K)�}�̢�2kSo����]3�� B7T�j��f�-��Y^��*��/�d� �J8P�<�����o k?z��y�,g�ܡȓ�+������av��LR������]�������tz{���;���ۻ?�޽{�R=k
-)��ŋ ��Wpn� �@�"�D�E��k�`�f�a���q�j�~�g���a��~B�x�]3lwĶQEߴD7�Lmz�J�%��x6mS���Ⱥ^�00����u ��Ug�#q  �|�{Vp�*���'�e� ��k�C]c����@sv���d}��l��J��y�%^�M�J��Jc��H; ګV��.�lDZ�q�I'V�ex�PS܇�.�����I�T�R���3��lO���5�c�ybz� �ڤ���q[�lB ��[���У�PD� KG'��@�+�h�d�y�[�c�*5�R.��ΰ�Ӂ�X<��[���჊�m5E�y�E���#�Ύ��-�L=/����k��,��c�@���M#��[��
-�N<�@��l�q2�!�1������!O3�k�8E3���c�
-�3Ƞߋ�XJ�8�Վ��b��#��5�_���=�>(�]�����h8���7bˣ���,-�,�ZR���v���S2վԎk�jJ��;�W} �1.58�1IS�1SyJ��pM+Sr�n�� ��g�&" b��j{��g!~�\���������0HE�ͯ,�;$v_�r�ٖ9 ��a�A��,_��'��$J��W�8��>B�)Ӟ6��*���PTj��l��OA�_HK��Tҋ@.*u�=�s� E<�#�/NW,�E~���vw ��6�|;�o@���My&T��9Jv���W�ƅ9_�i�dԔپ?�cY�S�ׄk�Q,����%?�#�G# :S�Ra�Pٞu1p���Jq�����a���д=�>Q�j��#X�<���V=!7L;c�h�k.t8�t����(��H^ ��О�U��9f'�!>\ �-��ʗ�`v�`������&*�k*���-�|֪�)O�t��N-�y����aA˝&��@�ϗZ�;>a��'� � �@'*��2���U�����?$�W辏/�� �J���d���1l�?%��
�ILtR�l��x�� ���%M��B��r�\�Z�����{�\�KR������Յo��P�/oK ͆�{��Z���?`�nXLÄV՗G�3�n�&�D�ʌ9�H�ސ�d�bwM<]S�K� a+��S�.�S�K<��jn ���԰ZQ;��+O\���Q�~w�M��6��=3��uĎ��`������R9F�1�����u(~uє�ٷo'mo����R(䝚X�j��m�`�g�����ԦX}�$AS�*P� �F�=a��C���٘�:��Y?S�wj� ���/[��G��z��I��Y�k5ЁY�֭��Ŀ�8&͛׍}_�g$���nj��\~M}zR%�]#誡Hh���L`1n>���n��o�w�gY��***@g��6���x���%�x�< U���Z���R�Bh3��E!PEwQ^ >��CU�/��T�j�p8��\�S�l��L$Y�iU�qJ�;řc��)���d��m;�#�-F������t��pZ�зT��4b���K���M$:\��t6�u����/3��j.IQ
�(�tQeŬ5eL�ve��Ó��4[ �㑸zG:�V��[e�S �EoqQ�p����.�s���,C��!���g �f�L����H��L�N�����.x�ȸ�l��{PJiW8X팑ܞ,.Rʋ�\a�A���81� ���տMeW
-endstream
-endobj
-487 0 obj <<
-/Type /Page
-/Contents 488 0 R
-/Resources 486 0 R
-/MediaBox [0 0 612 792]
-/Parent 481 0 R
->> endobj
-489 0 obj <<
-/D [487 0 R /XYZ 71 792.731 null]
->> endobj
-221 0 obj <<
-/D [487 0 R /XYZ 72 354.544 null]
->> endobj
-225 0 obj <<
-/D [487 0 R /XYZ 72 283.249 null]
->> endobj
-229 0 obj <<
-/D [487 0 R /XYZ 72 203.099 null]
->> endobj
-486 0 obj <<
- /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R
-/Font << /F64 355 0 R /F18 309 0 R /F72 419 0 R /F65 394 0 R /F52 307 0 R /F53 357 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-492 0 obj <<
-/Length 2296
-/Filter /FlateDecode
->>
-stream
-xڭYYo��~ϯ���.j�ˆ��LDh�}h���ݞxilwBf��=��m���+��U�N}�;KUcg�`�����ѳ7>w"��w�+'�N�ģ�Y�ιK! �`�ݓ�i��b��t�1���T�v��Э��ͪ�Y|]�~�zy����!�!b� E�I����I���F,
-�k=�P� ��pr���G� �1 ��v>/�o�W�^�N߽?>}���}���ɻ�o?����P@�T��!<�^x��`c��(D8�=v F���>�N ��go��s��ݺZ0�^�)�y
-������+ ����ϣ1?��FΟ1�PVu1��=��b�<�p�x�FF�U�/<A�[�4��� |l��y|6�ǿ<6������=�̣�V�z:*�����bЕT���4t��Uz������G�$0{��@��dd�ω��$�X ���ԭ�1p��Z5�����q�Lv����{VlaE�IU�Q 27�ڵ�h7�/%[�n}F�C�u��;��� {�
->��ZX�H*�&+M�㙑8r� �o0P�E0�����<n�,1/ FMB��Vf\?{ei��M0� �>���ꅏ�n��P$�F����Iԍ�� ���h7��P����zP3§� �/b���P D"�0P�z��DD�A`[+� �tF��(�ǔ3��Sٯ�ߍ�5�A�^W ��n��6T��ƚ.���ƌ�q�A[��c��b�ep.��&�W��s��jr>�'����ݏ����6�sӊK+��[���Q���Y�D`̩��F��~��L@���7�3�ڍt:����t�J!|@Y������z����)`y\���`��"BO5�?��p� �a'x�_)�T�c+ ��� M�KC /$��\��6�� #
-uψZ�B�L�:����e"U2�<p��p��ܐ�Dp'�(
-�����b�a?��-Rx\K����8�n���vx�rҨÇ�T<�����'n�?,���K��e %��&�%m�(v����,mXa ����VE ���7�0�{/[���S76q��ԇW�*���yKA�l��'�D��T�N\�U�1F_����t�L�J5�ʰ��N�D��l{0�l'������l�>������ڀ�#�n]k�mo|i����G"P����ْ�ɴ��,���I{yH=� c�B���X���I����p�-�PW�x�(�q�xFG�lo?�G�h�ɼ�6X���+R�}1U ��R���|�#B#���V���n���ԕ���Z�>.��p�+Kt��@�P�HS֤�Å�䍙P��.o�m~���Nʾv�],i�$έ���C��4���( �{J�L���ր����
-T�3 �?�����?L���o ��цs��`�Z>i�UA ��L3Nڝ���M(�#5�!��]IkB;to��VgY�����fD\���xU�U��� ��*� U�٘�T6��.ͫ�uj�Z[���t�@��9���ˉ>?ki� �`+q�J���΢���m�Y�Z�V�&.l+S�򻥽����Bi��JP�D�2�*��e��B�G(����ڨ�k����֠�g�ʍ9Y(U ̜�@%���'&��@!��)�.��t�YpOH"6*��&Ri��J��m FU2E�����PtȹS*�.q�Ÿ��fw��o;�~�z��}�\�I�~��Iy��Uf7 ��d[�6{Q�Vk Wm�we��o��c��cl�H=�
-R��0Ł]ӽe��S�i����z�C}.߶�Һ��Լf% yf�zp�~��p.�����A퍖��N��T�:����bb�z��IIv�q3�l��d��~�\��@ ���S~okY��dMVls��������%��X���?5��f������?���W�j��� J�yR�٥<��5H����Y\^��U�d�Ln�З��C3���e
-�&�Ml�V5��,��8 FQ�R%l��9��w��fռ�f���qF�ܟ���j���Z쑽�U�ӛ�*�X�-���O�B���Ǭ�(l?����AU5��J�/�*N����,z�k�u�Q�Bw���v��w����c�Te l�.F�2�����z��+m�bH[ �C�b�:N�\{��{� �;(��2+vh9e��9����\�$&�]}K�c�'�/���Ǎ~<B�lk5{-��γp$����F_ʏ�<`�g�&��Ԋ�UZ����!qvgCqc��B(|�=��'�����^���
-endstream
-endobj
-491 0 obj <<
-/Type /Page
-/Contents 492 0 R
-/Resources 490 0 R
-/MediaBox [0 0 612 792]
-/Parent 481 0 R
->> endobj
-493 0 obj <<
-/D [491 0 R /XYZ 71 792.731 null]
->> endobj
-233 0 obj <<
-/D [491 0 R /XYZ 72 708.045 null]
->> endobj
-237 0 obj <<
-/D [491 0 R /XYZ 72 689.711 null]
->> endobj
-241 0 obj <<
-/D [491 0 R /XYZ 72 639.172 null]
->> endobj
-245 0 obj <<
-/D [491 0 R /XYZ 72 612.701 null]
->> endobj
-249 0 obj <<
-/D [491 0 R /XYZ 72 538.639 null]
->> endobj
-490 0 obj <<
- /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R
-/Font << /F64 355 0 R /F18 309 0 R /F53 357 0 R /F65 394 0 R /F52 307 0 R /F73 420 0 R /F54 359 0 R /F58 360 0 R /F62 494 0 R /F57 470 0 R /F59 421 0 R /F56 358 0 R /F31 458 0 R /F55 426 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-497 0 obj <<
-/Length 1763
-/Filter /FlateDecode
->>
-stream
-xڍWQs�6 ~ϯ���ʹ��,Y�w��ܦ�e�k���#16�2�R�l��>��d�q���$�`D�ۓW��߲4��i6ʂ�C���<�Y:̓y| G,��8���B������`�$Ix!
-�� ��I����Vv�i��ɛ���DA$�%yR6��b}��S���� b�tl��c6��*�9��œ=l�8gQ�$t�o���� _��~�ѽ����{��4|uyuqy���9<wބ��7���F�+��n��/�s6M�l��xD���`8�ÿ�qT,E���ju!d!�*���/��C�d����(�K�Z���q��,�d''�^������eU��ffѬ���|)�݃~��<����aIxj�c�l�j9�9e���� n�Y=��P��+�y��P�T����ɌH�;?�oՃ6u�x-��3:���e��R����^�J�Y�tqH!�?�F�J���+AR4��+�J�W7D����[��F➽$CH�B=-~�\*�3D_�k
-��/>�l;;�����#�}�W������j+�`�Se^=P��|�
-w�ޝ����x����x�g{�w~�ŏ�A'!J�Žm|�fu�(��b�j'���8�=b�}E>6��G�A&c�d9ȅ�>%��HU���hn�
-in��L!q�k���Ŀ�#�\p�M�T#e+ 6K�4���`����]v{�^��yڍ�Z Fy�����0M硆-�s�;���G� ^UR-Z�^�4\�z�o�X��P�Ѳ��A�4x�דy���=���$f(]�a ��x|Xt&Ix�8�᳄(����8�2 ��9�ɾ�|!|}_�zS��\Mh�z;dv1���� JH}�g]���� y�i�cIfĵ�q��?��q�!كF~��۲)�� V��Ϡ�$�(j��~,�cK��s
-� �|ޒHLf8�Cr�g!�A*���1q�Vz! ��S�U�km��� F(!{>�~C$%$P��G�t��4�6~�ږ8Ġr f0��I8����6���( �N�C/m+���%
-~�t(�����ʯxQ7p���
-j��Z��D� �I
-J�r����FMY�ep@�GB �<��p��R�%�X� IX��-GCޯ|~L��ʡ:h<�K�,�^r��ظj,gX�?��ފϘ���T{���1�k]�����e'KUrE�׮����� ��Ϝa��)q�o,����J�.�e�,]���,����� U�·0�O%�1�P�KIY�-����]37ƃ)��nE���T�w�.eJR�D�w�k�Ѣ�R�M�d�!Z-�W��g�h]������l�P��э)�x �-q�]��ҷK:t�ۂj�<�9�z8����z�����:�c6J��O�����Zm5pk@�T���f��6��Zh�e͎���8�����Kmcn��5�_ڿ�'e����!����]����6~Џ�X蜇܏6����GQR��^�95�i6zے�bx��>_ve�����R
-Fڕn�_�ٸ���;r�!���=�6��8p6/�G1�$J�P�ҐB����I���B��?\5�C&�>-'Ms�lA*,���S�,l��Mٚ�e�-q)$M}F�uUό~N0�n��{{���?~��Gŭ���'4Ҍ�f�N���?>��
-��T5Q6;J�i���W�.M�G�4�Ӓ��Y���{�bv���ES��9����>|�Θ·����#{
-]��ae�@i��^�d<�9�my3?�����
-endstream
-endobj
-496 0 obj <<
-/Type /Page
-/Contents 497 0 R
-/Resources 495 0 R
-/MediaBox [0 0 612 792]
-/Parent 481 0 R
->> endobj
-498 0 obj <<
-/D [496 0 R /XYZ 71 792.731 null]
->> endobj
-253 0 obj <<
-/D [496 0 R /XYZ 72 463.026 null]
->> endobj
-495 0 obj <<
- /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R
-/Font << /F64 355 0 R /F18 309 0 R /F65 394 0 R /F53 357 0 R /F73 420 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-501 0 obj <<
-/Length 1031
-/Filter /FlateDecode
->>
-stream
-x��Wko�6��_�(jw���G0��4M��hcw�b`$�!��-2i���}�xY���C�A���s�%%���N{�E��;D\�E�+���zxxh�O}[���L��3.rvy#h40���0K6���g�e)|^��,z۞%��B��ǎ�Ȩ,&�O�M���!;�������p0�]��kl����y���@@7_.���h��D�;?�M�O�|؟�͎�f�mxE���NhCח��eָ��,���\�Ŗ ��4�#s=0F����X�j)�ӄ�z��E땞?���i&����q�S"h��5w��8.��+�R�LEWH��]lG���ds�U�HN��"�e錮�Ң�q멡�u�b�� ���$7%��hJ/�$]�� �:������[W��2�***@kN79�4�� ] �N�Lp ��wʔ�m���Q��~���I*d���k�&/ ��F�<�{Ʌ N�fg�Z!H�,�Y��v�]ĶL<t�z��pZ)yM�8�RŝT!Ư�qOV�S���������W"���r���2eWY�|d
�¡��* ����K�.Uh�u ��5l� ������*���y��k�Z�T{��k�7�d�~�O�C�G�>�20���pQ
-��h�=���*�v<6��j�� {�v V <����w`5������ ��"�x,,��`.�oH.�s��J6�t��x1�eiX�A�4��Ư��8������ɻ�����>��v#��‹�:
-����h㜊�D���V��2���J��"���)���ë͘���ԁ�y �9@���WMyO��TtO(�{dh�SϷ� ��GYN��, �I��Y!�:� ��dE��-��l>;�6�| E'��I
-˷D�=�ܜz�lE��v�Q�"��ȼ��ۼ�,n��X��
-�c�>�7��^��������V�����vn���C`tv#m���y�VP��\�70y��3�3Ž�Ɏ��3�<��O�gJ���l;��H����=Ú�������'
-endstream
-endobj
-500 0 obj <<
-/Type /Page
-/Contents 501 0 R
-/Resources 499 0 R
-/MediaBox [0 0 612 792]
-/Parent 481 0 R
->> endobj
-502 0 obj <<
-/D [500 0 R /XYZ 71 792.731 null]
->> endobj
-499 0 obj <<
- /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R
-/Font << /F64 355 0 R /F18 309 0 R /F65 394 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-507 0 obj <<
-/Length 2624
-/Filter /FlateDecode
->>
-stream
-xڵX[sܶ~ׯ�d&S�G�y��I��;J;�d���4 �2Z�k^$����� �%wW�_� -x��w.�k--�z}������8�2��~l]�X�o%a"�,�. �� �_8�����O��ϡ��z�p� �7���Z�]ń�C;o���˾\xvSw�O�?�xy��ȃs]˳�0A�a��<+��>|r��~�\d�uO++\�,���uq�;����(n�ȭ�~���y��y���?��o�ߞ�y�R�8{v���žxd�@$ޓ��q
-�,�;5i�Mg�pS4�'B�ϋ\������zU�Li`_� |;_���c�<���S��d~��B�E��Y#�F��E"Q���Ϟ�V+~ZN&�8�g '
-��H)r:��#ɧ�i�P�]tlW�eS3U��M[��J�^�n�e.��Ѫ�us�cD
-��+Ńo..�Μ�f��;�)n�!�]<� ^4�P���篧?!R/S����"��iRրhV����b����X��:��dY�~�0��j;Ym��4�kT�گ��3��Cu [f��4��T?I~��n�ʺ?�ϡ�vV�x����Z��{�'tkU?��������h�mze�*����^��������T~�***@NgrX�&Z�B��Z�*�
-�A��$��uA�같�$k����ɻ� o�m��������
-cG#H�\�ĕ*��S,0!��s":����/��u�mr���ϗk�u�r�i�F:=a��Z To�[��O���z�y��*L zù����Nj���]�>��N�N������xX���HU������J�}��|'������K?��R
-�Z�c�Sp�q
- �.;&H�l��� ���� B��f ��`\�D�x{]��S˲c*dQu�J�O����k�4 �C��7C� ��i� CW��:]x �����{`g�3�@ �3'�]�G��1/~��u��\릙ay�H��N*�H���wT2���_�E<|�S�v��0��ɸZ��mu����&W�?�ȳt5Uw���(���9�y��o5���;���㩑 ��>���E�&MW$I<i�ǚ�V-��l��雋����@h��=7D�eh�ԗ�(Ĺ"�!Ev��� Ԡ��\Cu�%�g$�eX>�� ���0w��#��p�lc�f����7�| ������ ��L�!�u*R_7�|U%�s��埡�K��J~9��o�&Oz.$�]o�1�j����~.����2 ��l��ײ�.��=�n�Ķ6��ǀ�e�#�WO�|uH��������32�9��M�M��p��8��.��␨���v7�"��-� �jɔ^�]5ؗi%k��9;��h� ��1�tـy3�v(a�ڗ ����CmV��
�(��Su��\FB��Ρ,6�0��%�4 �p7v�W�j�1(�)�+;�!ȵ,t�D��:������X�ib
-D!�\.�B��O�x� fe'K$�ˢi�H�.G$1�t�#�<�\S����V”����!�I��7Y��}��������g��v�ܶ��MF��m��Si���[BY)�o
-���V�EK��G g{� Yx���L�1rө,+�p�گiHW\R5##��|L�)+���T����J�<wOX��%��� ��
-e��P�p���^�,5LL-H"{�?�NË.�U�u/�a�n ��~�%x��"� �}$%
-_Dj�1 �,P����*.%m�
-S�5� ����RP���_߉�w1�̇ �S�^�ᓌ��V�~�@��Jc��u��}z��M��\��~d���Zj�P�〓 7��j�gv�A��xDމ��`���iU�!���)$1\x��d�j,�Ճ�F%9�z�_��Ƴ�O3��H��n!KP��a 7S* ��'�cL�ph�H�A�ۣ�;yf�1u>�̾�q ^ �N#��ǗZ�bڤ��=zH.@҇E��(5����
-��Qn�'�8����o�M5 �.x� �ؐ���ڝ�"۹���ZI �ط���'U��6 S��؇�
-���gכ�π����ŊB5��y�@�iA#X�;�.0ad�}�b��
-�8�I�\��R��)45�t+\�$/eoĸ�#��\�]�!�����g�0�ݦ��V(t�ܷ%�,�G���6��c`� Q���+�?Ñ(:�)�}÷�%�w5Hm� 0t
-�Y٪����Mϣf�^���Ԍ� g�?*�7�n@�+�ٍgPY��3g�&Ơ�"��ϾA9Z��L�͂�[�T�C��I�TL��1�c��d�6�ط�p�`R���?���U_�fom�3� �\Q��-�C�b���:JP �2��� �$�q�A_�-pv�]pf�9�7-3.�\?k��4b�TD��;�D�N�U5ʚ�����E�Bu(eҳxd�Z�3h���Ə\�m�ꤜ+���gz �b A����^�w�t����E���E!� ���´'t�qo:y���`��I&2$e��q!�{�
-��2�ԧ��Q�a��$P��4�i��G�Y����"o���ϖ�a�q7p�V���8L���P��B8���Fs�H�1k�}�PD�����N��J��
-endstream
-endobj
-506 0 obj <<
-/Type /Page
-/Contents 507 0 R
-/Resources 505 0 R
-/MediaBox [0 0 612 792]
-/Parent 512 0 R
-/Annots [ 503 0 R 504 0 R ]
->> endobj
-503 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 1]/H/I/C[1 0 0]
-/Rect [394.956 425.013 401.418 436.949]
-/A << /S /GoTo /D (Hfootnote.6) >>
->> endobj
-504 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 1]/H/I/C[1 0 0]
-/Rect [371.959 302.306 378.421 314.797]
-/A << /S /GoTo /D (Hfootnote.7) >>
->> endobj
-508 0 obj <<
-/D [506 0 R /XYZ 71 792.731 null]
->> endobj
-257 0 obj <<
-/D [506 0 R /XYZ 72 708.045 null]
->> endobj
-261 0 obj <<
-/D [506 0 R /XYZ 72 468.712 null]
->> endobj
-265 0 obj <<
-/D [506 0 R /XYZ 72 264.758 null]
->> endobj
-509 0 obj <<
-/D [506 0 R /XYZ 87.243 193.006 null]
->> endobj
-511 0 obj <<
-/D [506 0 R /XYZ 87.243 99.397 null]
->> endobj
-505 0 obj <<
- /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R
-/Font << /F64 355 0 R /F18 309 0 R /F53 357 0 R /F76 435 0 R /F73 420 0 R /F58 360 0 R /F65 394 0 R /F83 445 0 R /F52 307 0 R /F44 306 0 R /F38 311 0 R /F84 510 0 R /F30 310 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-517 0 obj <<
-/Length 1874
-/Filter /FlateDecode
->>
-stream
-xڥX[s۶~���#="����vFm�$m����t��d�"]����Ņ�(Ѫj?h��Ňŷ7��6�ѻ��g�/x)�8��r �T�T�h��~�)"�<!��2�4}w�0�b��U�릵�4����?�_�x�vy���pD"�J�� )۳�~��
-��aĔ����J��,���_=8"w��L ,�����2��H~�����������<��?||����Cx�� rZ�%<=.�k� >�ŕDXR�lM�
-Po˺ܞS�[�@b�V6$��J֊������X��6]~B���ˇA�1e}kW���+����~�e��VMQ&ɎX�՝n����ќ)�B _���E�l߯�� �0���.� ��񛾵��U���Q��(@I��t� }sq��  �c^�ZM�z兼Y��Bs�m��]��V4}���GKä��n;�f��`G!����`k���6�H��)RXD H�l��Hk*��y��,��?��OX/���^�}9���? \��k���(�>������ g��]��] g ��sܒ���P`1��b�(�N2|�𧍦��E�,�e�`��9 ,5�?~1�W�������Rj�����|KRI�U�纾-k�������Y
-'*�k a ��S���W ���t[�}�/[��e��3�ש4.�Di<���8/����Ϣoۉ��^[�U7:�����];zr7Ŀ���<kFt��i/�x�  ҸnBR[�����
-&��=� ��@_��v��f4�2j/N���OR*��S��Ɣ
-C&�)u����?�M�{3:sU�a3���dU�X�܏�C�k��/�&{��1����w��^�����U�lsi&���;�[���!*z1o�C�˜~�O��.���;;Q�&7~Ն�J�(�/
-���Y�U�p.YlI�Q��^���v!����[�Ŧ�ּ���#o`u���ic.z�5��* �1vVʺ�s>0z�����tmy��q~h�N�fL� ��1_�f���!��ύ ��'�� V�c��z��Si�5E^�{���As+4��<p���h˻�<f`�e��8{ۛr�iZ�z�V��Ͼ4%h�%6�#v��~}!�݅�K�.� %x����`c���!Nڧ�}�#�z���e���z����K�ŧ�������T�����)� �z4e�J[8Wd�ng�nP%21 %�=��\ A� �2(��=w ;IAg�`�*%��c�n �<�3�r�|�)N�(� ��i�VUF��ٸ��7���� p� e�n��c�A��|�{����V8{ph-%9E4"=Ɩ4UC���m�n5p��^�S.Qv��V�R�'�=�B"B^bei78E�s~ 2�b|j��Y+g����٨�v�NR`]���*��uH#�GR-��";JI(_�1c�*[�P��"�E���j('O��PLf�EM
-d:A4u\�#��.n��.��L�%p�e/�Ϡ
-�!�
-Qz,�������� �q�^�^BD8���B2;j{PE�������E�)��U�
-�8 �r�tZp�ˣ:V$A�
-�{��I��Gi��(C��:q�C�z�x�y9F;ߌ�ѓX��I�� �W�S�"7Sqo���á΃�+G[=��Ư��1�-�m�3�7���( ��v$u��q��˶�qcLy�iX��PJaW�Z�:M�?�`���\+�qa+�e��Mw��-���*�Ha#�Ѵ,��Ĕ�iA���[2H�� b
-Pk�S�1x��r<%\%�z Dh��e�o4�ٕ[g� Z ���� vߖ4���̷�P@"�D�;���0d'�/ �|�>B��l
-endstream
-endobj
-516 0 obj <<
-/Type /Page
-/Contents 517 0 R
-/Resources 515 0 R
-/MediaBox [0 0 612 792]
-/Parent 512 0 R
-/Annots [ 513 0 R 514 0 R ]
->> endobj
-513 0 obj <<
-/Type /Annot
-/Border[0 0 1]/H/I/C[0 1 1]
-/Rect [88.715 341.468 150.594 353.424]
-/Subtype/Link/A<</Type/Action/S/URI/URI(https://github.com/apache/mahout/blob/master/spark-shell/src/test/mahout/simple.mscala)>>
->> endobj
-514 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 1]/H/I/C[1 0 0]
-/Rect [198.636 285.279 205.097 298.168]
-/A << /S /GoTo /D (Hfootnote.8) >>
->> endobj
-518 0 obj <<
-/D [516 0 R /XYZ 71 792.731 null]
->> endobj
-269 0 obj <<
-/D [516 0 R /XYZ 72 472.436 null]
->> endobj
-520 0 obj <<
-/D [516 0 R /XYZ 87.243 220.771 null]
->> endobj
-515 0 obj <<
- /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R
-/Font << /F64 355 0 R /F18 309 0 R /F65 394 0 R /F52 307 0 R /F88 519 0 R /F83 445 0 R /F44 306 0 R /F38 311 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-523 0 obj <<
-/Length 1765
-/Filter /FlateDecode
->>
-stream
-xڝXݓ�6�_�[�4V�����&��e&�$��I8�����>��뻫8�G�b���~����ʁ���ɷ �g�qO��*�"%Y½�f��k�e��� �Lboo%7(�Y��ڻ�|���'/_��KX����7�*fQ�AU�Ty������A�_��_������t&���]�ϯ�_�o&���HX ��1< F�Nd���I��e:�Y�#.B�rۘ���W%
-��l��$ ��h %I�I(k���L������Tr�P�E�&���ϫ�)+����H� x3!��)�� �a���,�d�2\��(��!��1R9�`��ț���+S����6���_�U�O�_��p3�f*b��icʂ�(o�y7���U� _\��� ��x[�����/���&�k��Q@��p��9���9a��i�<��f�M�H(2��:{�|�X)`�Y.�r��~�4�OZ҄�l��&/p��&�i᦬�'�6��<�/nN`� P7���C\��N -��Z������NI{ paG��4���0x�<��/A�Wf��+��=g�7Uj�o񧕿Ɨ����K�(��y$��lT����5����$@s˸��)1L����Y��]�a���8�+���V��Q;rA��h��[���� ��wu�=��%HA��s������ʿ�L��4'�n-Y�[���g��G�(-�3S�Q�EC��ۢ�Zv��i�9����9 ������a:�U
=Bg����^I<�OSOf�;���m��}�6��N㽱�,��C�,Th�*)7�b���e���ݺ��Z�z�B��]77��8�Af�D.#YV)ƅp��=N+��$c�R<�3�d�R��jlH�&/X۸�6ᚥi$�����l�@�|�W9Щrn�=�`�[N��%�6�j��8��P�H���$l%v[�r���-w�Խ��1�E5�Ц �� ��#�M�)+G������N�@��rEa`����� �ۯ��}�"-�(*�D��EY�.�Ue�-��e�b u6�!(�(4��i�t�I�3j
-bߕ��^��1ؑ �12$c�Q�+��_*��(7�W�����u�ڔ�I �3ƻ��A�~ޔ�\��%R���E�g�9( �b���Q��q>M���z�[�ǠyĢd]ƥ�� l�I��~+��cI��)���/Q�, �48>��m��9ز���mE^�[4�є��9[�QH�WW�^���~|Jlv��G���k@��a�t� j��ڡ��c'�P���)8�`��y��E�mF>D� ��yf���2�2��&�ZA�t+���><�OF�ԧzA=�uL��g0��g,� ��7�rP�i=w�J�5�N�c,4]� S�Mrz��Q����ש6m�Sif`��7e�+��[�nWT{�w�AgP�\^�,��]cƬ�|������oiT�=����^����6)�Nɍ�w n�m��@�K@�tהP�� az�ہTQ3ר��ʚQ�D�=I��S�r�=-�߷@�ږ�Y��K'!�ܬ��_N�D&��I�*�}:���$\G� �@�!�h �~��p���)�s�W

<TRUNCATED>
a***@apache.org
2017-12-21 04:52:56 UTC
Permalink
http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/docs/algorithms/map-reduce/classification/partial-implementation.md
----------------------------------------------------------------------
diff --git a/website-old/docs/algorithms/map-reduce/classification/partial-implementation.md b/website-old/docs/algorithms/map-reduce/classification/partial-implementation.md
deleted file mode 100644
index 59f701f..0000000
--- a/website-old/docs/algorithms/map-reduce/classification/partial-implementation.md
+++ /dev/null
@@ -1,146 +0,0 @@
----
-layout: algorithm
-title: (Deprecated) Partial Implementation
-theme:
- name: retro-mahout
----
-
-
-# Classifying with random forests
-
-<a name="PartialImplementation-Introduction"></a>
-# Introduction
-
-This quick start page shows how to build a decision forest using the
-partial implementation. This tutorial also explains how to use the decision
-forest to classify new data.
-Partial Decision Forests is a mapreduce implementation where each mapper
-builds a subset of the forest using only the data available in its
-partition. This allows building forests using large datasets as long as
-each partition can be loaded in-memory.
-
-<a name="PartialImplementation-Steps"></a>
-# Steps
-<a name="PartialImplementation-Downloadthedata"></a>
-## Download the data
-* The current implementation is compatible with the UCI repository file
-format. In this example we'll use the NSL-KDD dataset because its large
-enough to show the performances of the partial implementation.
-You can download the dataset here http://nsl.cs.unb.ca/NSL-KDD/
-You can either download the full training set "KDDTrain+.ARFF", or a 20%
-subset "KDDTrain+_20Percent.ARFF" (we'll use the full dataset in this
-tutorial) and the test set "KDDTest+.ARFF".
-* Open the train and test files and remove all the lines that begin with
-'@'. All those lines are at the top of the files. Actually you can keep
-those lines somewhere, because they'll help us describe the dataset to
-Mahout
-* Put the data in HDFS: {code}
-$HADOOP_HOME/bin/hadoop fs -mkdir testdata
-$HADOOP_HOME/bin/hadoop fs -put <PATH TO DATA> testdata{code}
-
-<a name="PartialImplementation-BuildtheJobfiles"></a>
-## Build the Job files
-* In $MAHOUT_HOME/ run: {code}mvn clean install -DskipTests{code}
-
-<a name="PartialImplementation-Generateafiledescriptorforthedataset:"></a>
-## Generate a file descriptor for the dataset:
-run the following command:
-
- $HADOOP_HOME/bin/hadoop jar
-$MAHOUT_HOME/core/target/mahout-core-<VERSION>-job.jar
-org.apache.mahout.classifier.df.tools.Describe -p testdata/KDDTrain+.arff
--f testdata/KDDTrain+.info -d N 3 C 2 N C 4 N C 8 N 2 C 19 N L
-
-The "N 3 C 2 N C 4 N C 8 N 2 C 19 N L" string describes all the attributes
-of the data. In this cases, it means 1 numerical(N) attribute, followed by
-3 Categorical(C) attributes, ...L indicates the label. You can also use 'I'
-to ignore some attributes
-
-<a name="PartialImplementation-Runtheexample"></a>
-## Run the example
-
-
- $HADOOP_HOME/bin/hadoop jar
-$MAHOUT_HOME/examples/target/mahout-examples-<version>-job.jar
-org.apache.mahout.classifier.df.mapreduce.BuildForest
--Dmapred.max.split.size=1874231 -d testdata/KDDTrain+.arff -ds
-testdata/KDDTrain+.info -sl 5 -p -t 100 -o nsl-forest
-
-which builds 100 trees (-t argument) using the partial implementation (-p).
-Each tree is built using 5 random selected attribute per node (-sl
-argument) and the example outputs the decision tree in the "nsl-forest"
-directory (-o).
-The number of partitions is controlled by the -Dmapred.max.split.size
-argument that indicates to Hadoop the max. size of each partition, in this
-case 1/10 of the size of the dataset. Thus 10 partitions will be used.
-IMPORTANT: using less partitions should give better classification results,
-but needs a lot of memory. So if the Jobs are failing, try increasing the
-number of partitions.
-* The example outputs the Build Time and the oob error estimation
-
-
- 10/03/13 17:57:29 INFO mapreduce.BuildForest: Build Time: 0h 7m 43s 582
- 10/03/13 17:57:33 INFO mapreduce.BuildForest: oob error estimate :
-0.002325895231517865
- 10/03/13 17:57:33 INFO mapreduce.BuildForest: Storing the forest in:
-nsl-forest/forest.seq
-
-
-<a name="PartialImplementation-UsingtheDecisionForesttoClassifynewdata"></a>
-## Using the Decision Forest to Classify new data
-run the following command:
-
- $HADOOP_HOME/bin/hadoop jar
-$MAHOUT_HOME/examples/target/mahout-examples-<version>-job.jar
-org.apache.mahout.classifier.df.mapreduce.TestForest -i
-nsl-kdd/KDDTest+.arff -ds nsl-kdd/KDDTrain+.info -m nsl-forest -a -mr -o
-predictions
-
-This will compute the predictions of "KDDTest+.arff" dataset (-i argument)
-using the same data descriptor generated for the training dataset (-ds) and
-the decision forest built previously (-m). Optionally (if the test dataset
-contains the labels of the tuples) run the analyzer to compute the
-confusion matrix (-a), and you can also store the predictions in a text
-file or a directory of text files(-o). Passing the (-mr) parameter will use
-Hadoop to distribute the classification.
-
-* The example should output the classification time and the confusion
-matrix
-
-
- 10/03/13 18:08:56 INFO mapreduce.TestForest: Classification Time: 0h 0m 6s
-355
- 10/03/13 18:08:56 INFO mapreduce.TestForest:
-=======================================================
- Summary
- -------------------------------------------------------
- Correctly Classified Instances : 17657 78.3224%
- Incorrectly Classified Instances : 4887 21.6776%
- Total Classified Instances : 22544
-
- =======================================================
- Confusion Matrix
- -------------------------------------------------------
- a b <--Classified as
- 9459 252 | 9711 a = normal
- 4635 8198 | 12833 b = anomaly
- Default Category: unknown: 2
-
-
-If the input is a single file then the output will be a single text file,
-in the above example 'predictions' would be one single file. If the input
-if a directory containing for example two files 'a.data' and 'b.data', then
-the output will be a directory 'predictions' containing two files
-'a.data.out' and 'b.data.out'
-
-<a name="PartialImplementation-KnownIssuesandlimitations"></a>
-## Known Issues and limitations
-The "Decision Forest" code is still "a work in progress", many features are
-still missing. Here is a list of some known issues:
-* For now, the training does not support multiple input files. The input
-dataset must be one single file (this support will be available with the upcoming release).
-Classifying new data does support multiple
-input files.
-* The tree building is done when each mapper.close() method is called.
-Because the mappers don't refresh their state, the job can fail when the
-dataset is big and you try to build a large number of trees.

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/docs/algorithms/map-reduce/classification/random-forests.md
----------------------------------------------------------------------
diff --git a/website-old/docs/algorithms/map-reduce/classification/random-forests.md b/website-old/docs/algorithms/map-reduce/classification/random-forests.md
deleted file mode 100644
index 6310909..0000000
--- a/website-old/docs/algorithms/map-reduce/classification/random-forests.md
+++ /dev/null
@@ -1,234 +0,0 @@
----
-layout: algorithm
-title: (Deprecated) Random Forests
-theme:
- name: retro-mahout
----
-
-<a name="RandomForests-HowtogrowaDecisionTree"></a>
-### How to grow a Decision Tree
-
-source : \[3\](3\.html)
-
-LearnUnprunedTree(*X*,*Y*)
-
-Input: *X* a matrix of *R* rows and *M* columns where *X{*}{*}{~}ij{~}* =
-the value of the *j*'th attribute in the *i*'th input datapoint. Each
-column consists of either all real values or all categorical values.
-Input: *Y* a vector of *R* elements, where *Y{*}{*}{~}i{~}* = the output
-class of the *i*'th datapoint. The *Y{*}{*}{~}i{~}* values are categorical.
-Output: An Unpruned decision tree
-
-
-If all records in *X* have identical values in all their attributes (this
-includes the case where *R<2*), return a Leaf Node predicting the majority
-output, breaking ties randomly. This case also includes
-If all values in *Y* are the same, return a Leaf Node predicting this value
-as the output
-Else
-&nbsp;&nbsp;&nbsp; select *m* variables at random out of the *M* variables
-&nbsp;&nbsp;&nbsp; For *j* = 1 .. *m*
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; If *j*'th attribute is
-categorical
-*&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-IG{*}{*}{~}j{~}* = IG(*Y*\|*X{*}{*}{~}j{~}*) (see Information
-Gain)&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Else (*j*'th attribute is
-real-valued)
-*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-IG{*}{*}{~}j{~}* = IG*(*Y*\|*X{*}{*}{~}j{~}*) (see Information Gain)
-&nbsp;&nbsp;&nbsp; Let *j\** = argmax{~}j~ *IG{*}{*}{~}j{~}* (this is the
-splitting attribute we'll use)
-&nbsp;&nbsp;&nbsp; If *j\** is categorical then
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; For each value *v* of the *j*'th
-attribute
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Let
-*X{*}{*}{^}v{^}* = subset of rows of *X* in which *X{*}{*}{~}ij{~}* = *v*.
-Let *Y{*}{*}{^}v{^}* = corresponding subset of *Y*
-&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Let *Child{*}{*}{^}v{^}* =
-LearnUnprunedTree(*X{*}{*}{^}v{^}*,*Y{*}{*}{^}v{^}*)
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Return a decision tree node,
-splitting on *j*'th attribute. The number of children equals the number of
-values of the *j*'th attribute, and the *v*'th child is
-*Child{*}{*}{^}v{^}*
-&nbsp;&nbsp;&nbsp; Else *j\** is real-valued and let *t* be the best split
-threshold
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Let *X{*}{*}{^}LO{^}* = subset
-of rows of *X* in which *X{*}{*}{~}ij{~}* *<= t*. Let *Y{*}{*}{^}LO{^}* =
-corresponding subset of *Y*
-&nbsp; &nbsp; &nbsp; &nbsp; Let *Child{*}{*}{^}LO{^}* =
-LearnUnprunedTree(*X{*}{*}{^}LO{^}*,*Y{*}{*}{^}LO{^}*)
-&nbsp; &nbsp; &nbsp; &nbsp; Let *X{*}{*}{^}HI{^}* = subset of rows of *X*
-in which *X{*}{*}{~}ij{~}* *> t*. Let *Y{*}{*}{^}HI{^}* = corresponding
-subset of *Y*
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Let *Child{*}{*}{^}HI{^}* =
-LearnUnprunedTree(*X{*}{*}{^}HI{^}*,*Y{*}{*}{^}HI{^}*)
-&nbsp; &nbsp; &nbsp; &nbsp; Return a decision tree node, splitting on
-*j*'th attribute. It has two children corresponding to whether the *j*'th
-attribute is above or below the given threshold.
-
-*Note*: There are alternatives to Information Gain for splitting nodes
-&nbsp;
-
-<a name="RandomForests-Informationgain"></a>
-### Information gain
-
-source : \[3\](3\.html)
-1. h4. nominal attributes
-
-suppose X can have one of m values V{~}1~,V{~}2~,...,V{~}m~
-P(X=V{~}1~)=p{~}1~, P(X=V{~}2~)=p{~}2~,...,P(X=V{~}m~)=p{~}m~
-&nbsp;
-H(X)= \-sum{~}j=1{~}{^}m^ p{~}j~ log{~}2~ p{~}j~ (The entropy of X)
-H(Y\|X=v) = the entropy of Y among only those records in which X has value
-v
-H(Y\|X) = sum{~}j~ p{~}j~ H(Y\|X=v{~}j~)
-IG(Y\|X) = H(Y) - H(Y\|X)
-1. h4. real-valued attributes
-
-suppose X is real valued
-define IG(Y\|X:t) as H(Y) - H(Y\|X:t)
-define H(Y\|X:t) = H(Y\|X<t) P(X<t) + H(Y\|X>=t) P(X>=t)
-define IG*(Y\|X) = max{~}t~ IG(Y\|X:t)
-
-<a name="RandomForests-HowtogrowaRandomForest"></a>
-### How to grow a Random Forest
-
-source : \[1\](1\.html)
-
-Each tree is grown as follows:
-1. if the number of cases in the training set is *N*, sample *N* cases at
-random \-but with replacement, from the original data. This sample will be
-the training set for the growing tree.
-1. if there are *M* input variables, a number *m << M* is specified such
-that at each node, *m* variables are selected at random out of the *M* and
-the best split on these *m* is used to split the node. The value of *m* is
-held constant during the forest growing.
-1. each tree is grown to its large extent possible. There is no pruning.
-
-<a name="RandomForests-RandomForestparameters"></a>
-### Random Forest parameters
-
-source : \[2\](2\.html)
-Random Forests are easy to use, the only 2 parameters a user of the
-technique has to determine are the number of trees to be used and the
-number of variables (*m*) to be randomly selected from the available set of
-variables.
-Breinman's recommendations are to pick a large number of trees, as well as
-the square root of the number of variables for *m*.
-&nbsp;
-
-<a name="RandomForests-Howtopredictthelabelofacase"></a>
-### How to predict the label of a case
-
-Classify(*node*,*V*)
-&nbsp;&nbsp;&nbsp; Input: *node* from the decision tree, if *node.attribute
-= j* then the split is done on the *j*'th attribute
-
-&nbsp;&nbsp; &nbsp;Input: *V* a vector of *M* columns where
-*V{*}{*}{~}j{~}* = the value of the *j*'th attribute.
-&nbsp;&nbsp;&nbsp; Output: label of *V*
-
-&nbsp;&nbsp;&nbsp; If *node* is a Leaf then
-&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; Return the value predicted
-by *node*
-
-&nbsp;&nbsp; &nbsp;Else
-&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Let *j =
-node.attribute*
-&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; If *j* is
-categorical then
-&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-Let *v* = *V{*}{*}{~}j{~}*
-&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-Let *child{*}{*}{^}v{^}* = child node corresponding to the attribute's
-value *v*
-&nbsp; &nbsp; &nbsp; &nbsp;&nbsp; &nbsp; &nbsp;&nbsp;&nbsp;
-&nbsp;&nbsp;&nbsp;&nbsp; Return Classify(*child{*}{*}{^}v{^}*,*V*)
-
-&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Else *j* is
-real-valued
-&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-Let *t = node.threshold* (split threshold)
-&nbsp; &nbsp; &nbsp; &nbsp;&nbsp; &nbsp; &nbsp;&nbsp;&nbsp;
-&nbsp;&nbsp;&nbsp;&nbsp; If Vj < t then
-&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
-&nbsp; &nbsp; &nbsp;&nbsp;&nbsp;&nbsp; Let *child{*}{*}{^}LO{^}* = child
-node corresponding to (*<t*)
-&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; &nbsp; &nbsp;&nbsp;&nbsp;
-&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; Return
-Classify(*child{*}{*}{^}LO{^}*,*V*)
-&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-Else
-&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; &nbsp; &nbsp;&nbsp;&nbsp;
-&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; Let *child{*}{*}{^}HI{^}* =
-child node corresponding to (*>=t*)
-&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; &nbsp; &nbsp;
-&nbsp; &nbsp; &nbsp; &nbsp;&nbsp; &nbsp;&nbsp; Return
-Classify(*child{*}{*}{^}HI{^}*,*V*)
-&nbsp;
-
-<a name="RandomForests-Theoutofbag(oob)errorestimation"></a>
-### The out of bag (oob) error estimation
-
-source : \[1\](1\.html)
-
-in random forests, there is no need for cross-validation or a separate test
-set to get an unbiased estimate of the test set error. It is estimated
-internally, during the run, as follows:
-* each tree is constructed using a different bootstrap sample from the
-original data. About one-third of the cases left of the bootstrap sample
-and not used in the construction of the _kth_ tree.
-* put each case left out in the construction of the _kth_ tree down the
-_kth{_}tree to get a classification. In this way, a test set classification
-is obtained for each case in about one-thrid of the trees. At the end of
-the run, take *j* to be the class that got most of the the votes every time
-case *n* was _oob_. The proportion of times that *j* is not equal to the
-true class of *n* averaged over all cases is the _oob error estimate_. This
-has proven to be unbiased in many tests.
-
-<a name="RandomForests-OtherRFuses"></a>
-### Other RF uses
-
-source : \[1\](1\.html)
-* variable importance
-* gini importance
-* proximities
-* scaling
-* prototypes
-* missing values replacement for the training set
-* missing values replacement for the test set
-* detecting mislabeled cases
-* detecting outliers
-* detecting novelties
-* unsupervised learning
-* balancing prediction error
-Please refer to \[1\](1\.html)
- for a detailed description
-
-<a name="RandomForests-References"></a>
-### References
-
-\[1\](1\.html)
-&nbsp; Random Forests - Classification Description
-&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;[http://www.stat.berkeley.edu/~breiman/RandomForests/cc_home.htm](http://www.stat.berkeley.edu/~breiman/RandomForests/cc_home.htm)
-\[2\](2\.html)
-&nbsp; B. Larivi�re & D. Van Den Poel, 2004. "Predicting Customer Retention
-and Profitability by Using Random Forests and Regression Forests
-Techniques,"
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Working Papers of Faculty of
-Economics and Business Administration, Ghent University, Belgium 04/282,
-Ghent University,
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Faculty of Economics and
-Business Administration.
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Available online : [http://ideas.repec.org/p/rug/rugwps/04-282.html](http://ideas.repec.org/p/rug/rugwps/04-282.html)
-\[3\](3\.html)
-&nbsp; Decision Trees - Andrew W. Moore\[4\]
-&nbsp; &nbsp; &nbsp; &nbsp; http://www.cs.cmu.edu/~awm/tutorials\[1\](1\.html)
-\[4\](4\.html)
-&nbsp; Information Gain - Andrew W. Moore
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [http://www.cs.cmu.edu/~awm/tutorials](http://www.cs.cmu.edu/~awm/tutorials)

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/docs/algorithms/map-reduce/classification/restricted-boltzmann-machines.md
----------------------------------------------------------------------
diff --git a/website-old/docs/algorithms/map-reduce/classification/restricted-boltzmann-machines.md b/website-old/docs/algorithms/map-reduce/classification/restricted-boltzmann-machines.md
deleted file mode 100644
index 3b84e80..0000000
--- a/website-old/docs/algorithms/map-reduce/classification/restricted-boltzmann-machines.md
+++ /dev/null
@@ -1,49 +0,0 @@
----
-layout: algorithm
-title: (Deprecated) Restricted Boltzmann Machines
-theme:
- name: retro-mahout
----
-
-NOTE: This implementation is a Work-In-Progress, at least till September,
-2010.
-
-The JIRA issue is [here](https://issues.apache.org/jira/browse/MAHOUT-375)
-.
-
-<a name="RestrictedBoltzmannMachines-BoltzmannMachines"></a>
-### Boltzmann Machines
-Boltzmann Machines are a type of stochastic neural networks that closely
-resemble physical processes. They define a network of units with an overall
-energy that is evolved over a period of time, until it reaches thermal
-equilibrium.
-
-However, the convergence speed of Boltzmann machines that have
-unconstrained connectivity is low.
-
-<a name="RestrictedBoltzmannMachines-RestrictedBoltzmannMachines"></a>
-### Restricted Boltzmann Machines
-Restricted Boltzmann Machines are a variant, that are 'restricted' in the
-sense that connections between hidden units of a single layer are _not_
-allowed. In addition, stacking multiple RBM's is also feasible, with the
-activities of the hidden units forming the base for a higher-level RBM. The
-combination of these two features renders RBM's highly usable for
-parallelization.
-
-In the Netflix Prize, RBM's offered distinctly orthogonal predictions to
-SVD and k-NN approaches, and contributed immensely to the final solution.
-
-<a name="RestrictedBoltzmannMachines-RBM'sinApacheMahout"></a>
-### RBM's in Apache Mahout
-An implementation of Restricted Boltzmann Machines is being developed for
-Apache Mahout as a Google Summer of Code 2010 project. A recommender
-interface will also be provided. The key aims of the implementation are:
-1. Accurate - should replicate known results, including those of the Netflix
-Prize
-1. Fast - The implementation uses Map-Reduce, hence, it should be fast
-1. Scale - Should scale to large datasets, with a design whose critical
-parts don't need a dependency between the amount of memory on your cluster
-systems and the size of your dataset
-
-You can view the patch as it develops [here](http://github.com/sisirkoppaka/mahout-rbm/compare/trunk...rbm)
-.

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/docs/algorithms/map-reduce/classification/support-vector-machines.md
----------------------------------------------------------------------
diff --git a/website-old/docs/algorithms/map-reduce/classification/support-vector-machines.md b/website-old/docs/algorithms/map-reduce/classification/support-vector-machines.md
deleted file mode 100644
index 6507f78..0000000
--- a/website-old/docs/algorithms/map-reduce/classification/support-vector-machines.md
+++ /dev/null
@@ -1,43 +0,0 @@
----
-layout: algorithm
-title: (Deprecated) Support Vector Machines
-theme:
- name: retro-mahout
----
-
-<a name="SupportVectorMachines-SupportVectorMachines"></a>
-# Support Vector Machines
-
-As with Naive Bayes, Support Vector Machines (or SVMs in short) can be used
-to solve the task of assigning objects to classes. However, the way this
-task is solved is completely different to the setting in Naive Bayes.
-
-Each object is considered to be a point in _n_ dimensional feature space,
-_n_ being the number of features used to describe the objects numerically.
-In addition each object is assigned a binary label, let us assume the
-labels are "positive" and "negative". During learning, the algorithm tries
-to find a hyperplane in that space, that perfectly separates positive from
-negative objects.
-It is trivial to think of settings where this might very well be
-impossible. To remedy this situation, objects can be assigned so called
-slack terms, that punish mistakes made during learning appropriately. That
-way, the algorithm is forced to find the hyperplane that causes the least
-number of mistakes.
-
-Another way to overcome the problem of there being no linear hyperplane to
-separate positive from negative objects is to simply project each feature
-vector into an higher dimensional feature space and search for a linear
-separating hyperplane in that new space. Usually the main problem with
-learning in high dimensional feature spaces is the so called curse of
-dimensionality. That is, there are fewer learning examples available than
-free parameters to tune. In the case of SVMs this problem is less
-detrimental, as SVMs impose additional structural constraints on their
-solutions. Each separating hyperplane needs to have a maximal margin to all
-training examples. In addition, that way, the solution may be based on the
-information encoded in only very few examples.
-
-<a name="SupportVectorMachines-Strategyforparallelization"></a>
-## Strategy for parallelization
-
-<a name="SupportVectorMachines-Designofpackages"></a>
-## Design of packages

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/docs/algorithms/map-reduce/clustering/canopy-clustering.md
----------------------------------------------------------------------
diff --git a/website-old/docs/algorithms/map-reduce/clustering/canopy-clustering.md b/website-old/docs/algorithms/map-reduce/clustering/canopy-clustering.md
deleted file mode 100644
index ac8a47c..0000000
--- a/website-old/docs/algorithms/map-reduce/clustering/canopy-clustering.md
+++ /dev/null
@@ -1,191 +0,0 @@
----
-layout: algorithm
-title: (Deprecated) Canopy Clustering
-theme:
- name: retro-mahout
----
-
-
-**_This Document refers to the deprecated Map-Reduce Version of this algorithm, please see [the new implementation]({{ BASE_PATH }}/algorithms/clustering/canopy.html)_**
-
-<a name="CanopyClustering-CanopyClustering"></a>
-# Canopy Clustering
-
-[Canopy Clustering](http://www.kamalnigam.com/papers/canopy-kdd00.pdf)
- is a very simple, fast and surprisingly accurate method for grouping
-objects into clusters. All objects are represented as a point in a
-multidimensional feature space. The algorithm uses a fast approximate
-distance metric and two distance thresholds T1 > T2 for processing. The
-basic algorithm is to begin with a set of points and remove one at random.
-Create a Canopy containing this point and iterate through the remainder of
-the point set. At each point, if its distance from the first point is < T1,
-then add the point to the cluster. If, in addition, the distance is < T2,
-then remove the point from the set. This way points that are very close to
-the original will avoid all further processing. The algorithm loops until
-the initial set is empty, accumulating a set of Canopies, each containing
-one or more points. A given point may occur in more than one Canopy.
-
-Canopy Clustering is often used as an initial step in more rigorous
-clustering techniques, such as [K-Means Clustering](k-means-clustering.html)
-. By starting with an initial clustering the number of more expensive
-distance measurements can be significantly reduced by ignoring points
-outside of the initial canopies.
-
-**WARNING**: Canopy is deprecated in the latest release and will be removed once streaming k-means becomes stable enough.
-
-<a name="CanopyClustering-Strategyforparallelization"></a>
-## Strategy for parallelization
-
-Looking at the sample Hadoop implementation in [http://code.google.com/p/canopy-clustering/](http://code.google.com/p/canopy-clustering/)
- the processing is done in 3 M/R steps:
-1. The data is massaged into suitable input format
-1. Each mapper performs canopy clustering on the points in its input set and
-outputs its canopies' centers
-1. The reducer clusters the canopy centers to produce the final canopy
-centers
-1. The points are then clustered into these final canopies
-
-Some ideas can be found in [Cluster computing and

- lecture video series \[by Google(r)\]; Canopy Clustering is discussed in [lecture

-. Finally here is the [Wikipedia page](http://en.wikipedia.org/wiki/Canopy_clustering_algorithm)
-.
-
-<a name="CanopyClustering-Designofimplementation"></a>
-## Design of implementation
-
-The implementation accepts as input Hadoop SequenceFiles containing
-multidimensional points (VectorWritable). Points may be expressed either as
-dense or sparse Vectors and processing is done in two phases: Canopy
-generation and, optionally, Clustering.
-
-<a name="CanopyClustering-Canopygenerationphase"></a>
-### Canopy generation phase
-
-During the map step, each mapper processes a subset of the total points and
-applies the chosen distance measure and thresholds to generate canopies. In
-the mapper, each point which is found to be within an existing canopy will
-be added to an internal list of Canopies. After observing all its input
-vectors, the mapper updates all of its Canopies and normalizes their totals
-to produce canopy centroids which are output, using a constant key
-("centroid") to a single reducer. The reducer receives all of the initial
-centroids and again applies the canopy measure and thresholds to produce a
-final set of canopy centroids which is output (i.e. clustering the cluster
-centroids). The reducer output format is: SequenceFile(Text, Canopy) with
-the _key_ encoding the canopy identifier.
-
-<a name="CanopyClustering-Clusteringphase"></a>
-### Clustering phase
-
-During the clustering phase, each mapper reads the Canopies produced by the
-first phase. Since all mappers have the same canopy definitions, their
-outputs will be combined during the shuffle so that each reducer (many are
-allowed here) will see all of the points assigned to one or more canopies.
-The output format will then be: SequenceFile(IntWritable,
-WeightedVectorWritable) with the _key_ encoding the canopyId. The
-WeightedVectorWritable has two fields: a double weight and a VectorWritable
-vector. Together they encode the probability that each vector is a member
-of the given canopy.
-
-<a name="CanopyClustering-RunningCanopyClustering"></a>
-## Running Canopy Clustering
-
-The canopy clustering algorithm may be run using a command-line invocation
-on CanopyDriver.main or by making a Java call to CanopyDriver.run(...).
-Both require several arguments:
-
-Invocation using the command line takes the form:
-
-
- bin/mahout canopy \
- -i <input vectors directory> \
- -o <output working directory> \
- -dm <DistanceMeasure> \
- -t1 <T1 threshold> \
- -t2 <T2 threshold> \
- -t3 <optional reducer T1 threshold> \
- -t4 <optional reducer T2 threshold> \
- -cf <optional cluster filter size (default: 0)> \
- -ow <overwrite output directory if present>
- -cl <run input vector clustering after computing Canopies>
- -xm <execution method: sequential or mapreduce>
-
-
-Invocation using Java involves supplying the following arguments:
-
-1. input: a file path string to a directory containing the input data set a
-SequenceFile(WritableComparable, VectorWritable). The sequence file _key_
-is not used.
-1. output: a file path string to an empty directory which is used for all
-output from the algorithm.
-1. measure: the fully-qualified class name of an instance of DistanceMeasure
-which will be used for the clustering.
-1. t1: the T1 distance threshold used for clustering.
-1. t2: the T2 distance threshold used for clustering.
-1. t3: the optional T1 distance threshold used by the reducer for
-clustering. If not specified, T1 is used by the reducer.
-1. t4: the optional T2 distance threshold used by the reducer for
-clustering. If not specified, T2 is used by the reducer.
-1. clusterFilter: the minimum size for canopies to be output by the
-algorithm. Affects both sequential and mapreduce execution modes, and
-mapper and reducer outputs.
-1. runClustering: a boolean indicating, if true, that the clustering step is
-to be executed after clusters have been determined.
-1. runSequential: a boolean indicating, if true, that the computation is to
-be run in memory using the reference Canopy implementation. Note: that the
-sequential implementation performs a single pass through the input vectors
-whereas the MapReduce implementation performs two passes (once in the
-mapper and again in the reducer). The MapReduce implementation will
-typically produce less clusters than the sequential implementation as a
-result.
-
-After running the algorithm, the output directory will contain:
-1. clusters-0: a directory containing SequenceFiles(Text, Canopy) produced
-by the algorithm. The Text _key_ contains the cluster identifier of the
-Canopy.
-1. clusteredPoints: (if runClustering enabled) a directory containing
-SequenceFile(IntWritable, WeightedVectorWritable). The IntWritable _key_ is
-the canopyId. The WeightedVectorWritable _value_ is a bean containing a
-double _weight_ and a VectorWritable _vector_ where the weight indicates
-the probability that the vector is a member of the canopy. For canopy
-clustering, the weights are computed as 1/(1+distance) where the distance
-is between the cluster center and the vector using the chosen
-DistanceMeasure.
-
-<a name="CanopyClustering-Examples"></a>
-# Examples
-
-The following images illustrate Canopy clustering applied to a set of
-randomly-generated 2-d data points. The points are generated using a normal
-distribution centered at a mean location and with a constant standard
-deviation. See the README file in the [/examples/src/main/java/org/apache/mahout/clustering/display/README.txt](https://github.com/apache/mahout/blob/master/examples/src/main/java/org/apache/mahout/clustering/display/README.txt)
- for details on running similar examples.
-
-The points are generated as follows:
-
-* 500 samples m=\[1.0, 1.0\](1.0,-1.0\.html)
- sd=3.0
-* 300 samples m=\[1.0, 0.0\](1.0,-0.0\.html)
- sd=0.5
-* 300 samples m=\[0.0, 2.0\](0.0,-2.0\.html)
- sd=0.1
-
-In the first image, the points are plotted and the 3-sigma boundaries of
-their generator are superimposed.
-
-![sample data](../../images/SampleData.png)
-
-In the second image, the resulting canopies are shown superimposed upon the
-sample data. Each canopy is represented by two circles, with radius T1 and
-radius T2.
-
-![canopy](../../images/Canopy.png)
-
-The third image uses the same values of T1 and T2 but only superimposes
-canopies covering more than 10% of the population. This is a bit better
-representation of the data but it still has lots of room for improvement.
-The advantage of Canopy clustering is that it is single-pass and fast
-enough to iterate runs using different T1, T2 parameters and display
-thresholds.
-
-![canopy](../../images/Canopy10.png)
-

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/docs/algorithms/map-reduce/clustering/cluster-dumper.md
----------------------------------------------------------------------
diff --git a/website-old/docs/algorithms/map-reduce/clustering/cluster-dumper.md b/website-old/docs/algorithms/map-reduce/clustering/cluster-dumper.md
deleted file mode 100644
index cd8cab2..0000000
--- a/website-old/docs/algorithms/map-reduce/clustering/cluster-dumper.md
+++ /dev/null
@@ -1,106 +0,0 @@
----
-layout: algorithm
-title: (Deprecated) Cluster Dumper
-theme:
- name: retro-mahout
----
-
-<a name="ClusterDumper-Introduction"></a>
-## Cluster Dumper - Introduction
-
-Clustering tasks in Mahout will output data in the format of a SequenceFile
-(Text, Cluster) and the Text is a cluster identifier string. To analyze
-this output we need to convert the sequence files to a human readable
-format and this is achieved using the clusterdump utility.
-
-<a name="ClusterDumper-Stepsforanalyzingclusteroutputusingclusterdumputility"></a>
-## Steps for analyzing cluster output using clusterdump utility
-
-After you've executed a clustering tasks (either examples or real-world),
-you can run clusterdumper in 2 modes:
-
-
-1. Hadoop Environment
-1. Standalone Java Program
-
-
-<a name="ClusterDumper-HadoopEnvironment{anchor:HadoopEnvironment}"></a>
-### Hadoop Environment
-
-If you have setup your HADOOP_HOME environment variable, you can use the
-command line utility `mahout` to execute the ClusterDumper on Hadoop. In
-this case we wont need to get the output clusters to our local machines.
-The utility will read the output clusters present in HDFS and output the
-human-readable cluster values into our local file system. Say you've just
-executed the [synthetic control example ](clustering-of-synthetic-control-data.html)
- and want to analyze the output, you can execute the `mahout clusterdumper` utility from the command line.
-
-#### CLI options:
- --help Print out help
- --input (-i) input The directory containing Sequence
- Files for the Clusters
- --output (-o) output The output file. If not specified,
- dumps to the console.
- --outputFormat (-of) outputFormat The optional output format to write
- the results as. Options: TEXT, CSV, or GRAPH_ML
- --substring (-b) substring The number of chars of the
- asFormatString() to print
- --pointsDir (-p) pointsDir The directory containing points
- sequence files mapping input vectors
- to their cluster. If specified,
- then the program will output the
- points associated with a cluster
- --dictionary (-d) dictionary The dictionary file.
- --dictionaryType (-dt) dictionaryType The dictionary file type
- (text|sequencefile)
- --distanceMeasure (-dm) distanceMeasure The classname of the DistanceMeasure.
- Default is SquaredEuclidean.
- --numWords (-n) numWords The number of top terms to print
- --tempDir tempDir Intermediate output directory
- --startPhase startPhase First phase to run
- --endPhase endPhase Last phase to run
- --evaluate (-e) Run ClusterEvaluator and CDbwEvaluator over the
- input. The output will be appended to the rest of
- the output at the end.
-
-### Standalone Java Program
-
-Run the clusterdump utility as follows as a standalone Java Program through Eclipse. <!-- - if you are using eclipse, setup mahout-utils as a project as specified in [Working with Maven in Eclipse](../../developers/buildingmahout.html). -->
- To execute ClusterDumper.java,
-
-* Under mahout-utils, Right-Click on ClusterDumper.java
-* Choose Run-As, Run Configurations
-* On the left menu, click on Java Application
-* On the top-bar click on "New Launch Configuration"
-* A new launch should be automatically created with project as
-
- "mahout-utils" and Main Class as "org.apache.mahout.utils.clustering.ClusterDumper"
-
-In the arguments tab, specify the below arguments
-
-
- --seqFileDir <MAHOUT_HOME>/examples/output/clusters-10
- --pointsDir <MAHOUT_HOME>/examples/output/clusteredPoints
- --output <MAHOUT_HOME>/examples/output/clusteranalyze.txt
- replace <MAHOUT_HOME> with the actual path of your $MAHOUT_HOME
-
-* Hit run to execute the ClusterDumper using Eclipse. Setting breakpoints etc should just work fine.
-
-Reading the output file
-
-This will output the clusters into a file called clusteranalyze.txt inside $MAHOUT_HOME/examples/output
-Sample data will look like
-
-CL-0 { n=116 c=[29.922, 30.407, 30.373, 30.094, 29.886, 29.937, 29.751, 30.054, 30.039, 30.126, 29.764, 29.835, 30.503, 29.876, 29.990, 29.605, 29.379, 30.120, 29.882, 30.161, 29.825, 30.074, 30.001, 30.421, 29.867, 29.736, 29.760, 30.192, 30.134, 30.082, 29.962, 29.512, 29.736, 29.594, 29.493, 29.761, 29.183, 29.517, 29.273, 29.161, 29.215, 29.731, 29.154, 29.113, 29.348, 28.981, 29.543, 29.192, 29.479, 29.406, 29.715, 29.344, 29.628, 29.074, 29.347, 29.812, 29.058, 29.177, 29.063, 29.607](29.922,-30.407,-30.373,-30.094,-29.886,-29.937,-29.751,-30.054,-30.039,-30.126,-29.764,-29.835,-30.503,-29.876,-29.990,-29.605,-29.379,-30.120,-29.882,-30.161,-29.825,-30.074,-30.001,-30.421,-29.867,-29.736,-29.760,-30.192,-30.134,-30.082,-29.962,-29.512,-29.736,-29.594,-29.493,-29.761,-29.183,-29.517,-29.273,-29.161,-29.215,-29.731,-29.154,-29.113,-29.348,-28.981,-29.543,-29.192,-29.479,-29.406,-29.715,-29.344,-29.628,-29.074,-29.347,-29.812,-29.058,-29.177,-29.063,-29.607.html)
- r=[3.463, 3.351, 3.452, 3.438, 3.371, 3.569, 3.253, 3.531, 3.439, 3.472,
-3.402, 3.459, 3.320, 3.260, 3.430, 3.452, 3.320, 3.499, 3.302, 3.511,
-3.520, 3.447, 3.516, 3.485, 3.345, 3.178, 3.492, 3.434, 3.619, 3.483,
-3.651, 3.833, 3.812, 3.433, 4.133, 3.855, 4.123, 3.999, 4.467, 4.731,
-4.539, 4.956, 4.644, 4.382, 4.277, 4.918, 4.784, 4.582, 4.915, 4.607,
-4.672, 4.577, 5.035, 5.241, 4.731, 4.688, 4.685, 4.657, 4.912, 4.300] }
-
-and on...
-
-where CL-0 is the Cluster 0 and n=116 refers to the number of points observed by this cluster and c = \[29.922 ...\]
- refers to the center of Cluster as a vector and r = \[3.463 ..\] refers to
-the radius of the cluster as a vector.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/docs/algorithms/map-reduce/clustering/expectation-maximization.md
----------------------------------------------------------------------
diff --git a/website-old/docs/algorithms/map-reduce/clustering/expectation-maximization.md b/website-old/docs/algorithms/map-reduce/clustering/expectation-maximization.md
deleted file mode 100644
index e020d60..0000000
--- a/website-old/docs/algorithms/map-reduce/clustering/expectation-maximization.md
+++ /dev/null
@@ -1,62 +0,0 @@
----
-layout: algorithm
-title: (Deprecated) Expectation Maximization
-theme:
- name: retro-mahout
----
-<a name="ExpectationMaximization-ExpectationMaximization"></a>
-# Expectation Maximization
-
-The principle of EM can be applied to several learning settings, but is
-most commonly associated with clustering. The main principle of the
-algorithm is comparable to k-Means. Yet in contrast to hard cluster
-assignments, each object is given some probability to belong to a cluster.
-Accordingly cluster centers are recomputed based on the average of all
-objects weighted by their probability of belonging to the cluster at hand.
-
-<a name="ExpectationMaximization-Canopy-modifiedEM"></a>
-## Canopy-modified EM
-
-One can also use the canopies idea to speed up prototypebased clustering
-methods like K-means and Expectation-Maximization (EM). In general, neither
-K-means nor EMspecify how many clusters to use. The canopies technique does
-not help this choice.
-
-Prototypes (our estimates of the cluster centroids) are associated with the
-canopies that contain them, and the prototypes are only influenced by data
-that are inside their associated canopies. After creating the canopies, we
-decide how many prototypes will be created for each canopy. This could be
-done, for example, using the number of data points in a canopy and AIC or
-BIC where points that occur in more than one canopy are counted
-fractionally. Then we place prototypesinto each canopy. This initial
-placement can be random, as long as it is within the canopy in question, as
-determined by the inexpensive distance metric.
-
-Then, instead of calculating the distance from each prototype to every
-point (as is traditional, a O(nk) operation), theE-step instead calculates
-the distance from each prototype to a much smaller number of points. For
-each prototype, we find the canopies that contain it (using the cheap
-distance metric), and only calculate distances (using the expensive
-distance metric) from that prototype to points within those canopies.
-
-Note that by this procedure prototypes may move across canopy boundaries
-when canopies overlap. Prototypes may move to cover the data in the
-overlapping region, and then move entirely into another canopy in order to
-cover data there.
-
-The canopy-modified EM algorithm behaves very similarly to traditional EM,
-with the slight difference that points outside the canopy have no influence
-on points in the canopy, rather than a minute influence. If the canopy
-property holds, and points in the same cluster fall in the same canopy,
-then the canopy-modified EM will almost always converge to the same maximum
-in likelihood as the traditional EM. In fact, the difference in each
-iterative step (apart from the enormous computational savings of computing
-fewer terms) will be negligible since points outside the canopy will have
-exponentially small influence.
-
-<a name="ExpectationMaximization-StrategyforParallelization"></a>
-## Strategy for Parallelization
-
-<a name="ExpectationMaximization-Map/ReduceImplementation"></a>
-## Map/Reduce Implementation
-

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/docs/algorithms/map-reduce/clustering/fuzzy-k-means.md
----------------------------------------------------------------------
diff --git a/website-old/docs/algorithms/map-reduce/clustering/fuzzy-k-means.md b/website-old/docs/algorithms/map-reduce/clustering/fuzzy-k-means.md
deleted file mode 100644
index ada1153..0000000
--- a/website-old/docs/algorithms/map-reduce/clustering/fuzzy-k-means.md
+++ /dev/null
@@ -1,184 +0,0 @@
----
-layout: algorithm
-title: (Deprecated) Fuzzy K-Means
-theme:
- name: retro-mahout
----
-
-Fuzzy K-Means (also called Fuzzy C-Means) is an extension of [K-Means](http://mahout.apache.org/users/clustering/k-means-clustering.html)
-, the popular simple clustering technique. While K-Means discovers hard
-clusters (a point belong to only one cluster), Fuzzy K-Means is a more
-statistically formalized method and discovers soft clusters where a
-particular point can belong to more than one cluster with certain
-probability.
-
-<a name="FuzzyK-Means-Algorithm"></a>
-#### Algorithm
-
-Like K-Means, Fuzzy K-Means works on those objects which can be represented
-in n-dimensional vector space and a distance measure is defined.
-The algorithm is similar to k-means.
-
-* Initialize k clusters
-* Until converged
- * Compute the probability of a point belong to a cluster for every <point,cluster> pair
- * Recompute the cluster centers using above probability membership values of points to clusters
-
-<a name="FuzzyK-Means-DesignImplementation"></a>
-#### Design Implementation
-
-The design is similar to K-Means present in Mahout. It accepts an input
-file containing vector points. User can either provide the cluster centers
-as input or can allow canopy algorithm to run and create initial clusters.
-
-Similar to K-Means, the program doesn't modify the input directories. And
-for every iteration, the cluster output is stored in a directory cluster-N.
-The code has set number of reduce tasks equal to number of map tasks. So,
-those many part-0
-
-
-Files are created in clusterN directory. The code uses
-driver/mapper/combiner/reducer as follows:
-
-FuzzyKMeansDriver - This is similar to&nbsp; KMeansDriver. It iterates over
-input points and cluster points for specified number of iterations or until
-it is converged.During every iteration i, a new cluster-i directory is
-created which contains the modified cluster centers obtained during
-FuzzyKMeans iteration. This will be feeded as input clusters in the next
-iteration.&nbsp; Once Fuzzy KMeans is run for specified number of
-iterations or until it is converged, a map task is run to output "the point
-and the cluster membership to each cluster" pair as final output to a
-directory named "points".
-
-FuzzyKMeansMapper - reads the input cluster during its configure() method,
-then&nbsp; computes cluster membership probability of a point to each
-cluster.Cluster membership is inversely propotional to the distance.
-Distance is computed using&nbsp; user supplied distance measure. Output key
-is encoded clusterId. Output values are ClusterObservations containing
-observation statistics.
-
-FuzzyKMeansCombiner - receives all key:value pairs from the mapper and
-produces partial sums of the cluster membership probability times input
-vectors for each cluster. Output key is: encoded cluster identifier. Output
-values are ClusterObservations containing observation statistics.
-
-FuzzyKMeansReducer - Multiple reducers receives certain keys and all values
-associated with those keys. The reducer sums the values to produce a new
-centroid for the cluster which is output. Output key is: encoded cluster
-identifier (e.g. "C14". Output value is: formatted cluster identifier (e.g.
-"C14"). The reducer encodes unconverged clusters with a 'Cn' cluster Id and
-converged clusters with 'Vn' clusterId.
-
-<a name="FuzzyK-Means-RunningFuzzyk-MeansClustering"></a>
-## Running Fuzzy k-Means Clustering
-
-The Fuzzy k-Means clustering algorithm may be run using a command-line
-invocation on FuzzyKMeansDriver.main or by making a Java call to
-FuzzyKMeansDriver.run().
-
-Invocation using the command line takes the form:
-
-
- bin/mahout fkmeans \
- -i <input vectors directory> \
- -c <input clusters directory> \
- -o <output working directory> \
- -dm <DistanceMeasure> \
- -m <fuzziness argument >1> \
- -x <maximum number of iterations> \
- -k <optional number of initial clusters to sample from input vectors> \
- -cd <optional convergence delta. Default is 0.5> \
- -ow <overwrite output directory if present>
- -cl <run input vector clustering after computing Clusters>
- -e <emit vectors to most likely cluster during clustering>
- -t <threshold to use for clustering if -e is false>
- -xm <execution method: sequential or mapreduce>
-
-
-*Note:* if the -k argument is supplied, any clusters in the -c directory
-will be overwritten and -k random points will be sampled from the input
-vectors to become the initial cluster centers.
-
-Invocation using Java involves supplying the following arguments:
-
-1. input: a file path string to a directory containing the input data set a
-SequenceFile(WritableComparable, VectorWritable). The sequence file _key_
-is not used.
-1. clustersIn: a file path string to a directory containing the initial
-clusters, a SequenceFile(key, SoftCluster | Cluster | Canopy). Fuzzy
-k-Means SoftClusters, k-Means Clusters and Canopy Canopies may be used for
-the initial clusters.
-1. output: a file path string to an empty directory which is used for all
-output from the algorithm.
-1. measure: the fully-qualified class name of an instance of DistanceMeasure
-which will be used for the clustering.
-1. convergence: a double value used to determine if the algorithm has
-converged (clusters have not moved more than the value in the last
-iteration)
-1. max-iterations: the maximum number of iterations to run, independent of
-the convergence specified
-1. m: the "fuzzyness" argument, a double > 1. For m equal to 2, this is
-equivalent to normalising the coefficient linearly to make their sum 1.
-When m is close to 1, then the cluster center closest to the point is given
-much more weight than the others, and the algorithm is similar to k-means.
-1. runClustering: a boolean indicating, if true, that the clustering step is
-to be executed after clusters have been determined.
-1. emitMostLikely: a boolean indicating, if true, that the clustering step
-should only emit the most likely cluster for each clustered point.
-1. threshold: a double indicating, if emitMostLikely is false, the cluster
-probability threshold used for emitting multiple clusters for each point. A
-value of 0 will emit all clusters with their associated probabilities for
-each vector.
-1. runSequential: a boolean indicating, if true, that the algorithm is to
-use the sequential reference implementation running in memory.
-
-After running the algorithm, the output directory will contain:
-1. clusters-N: directories containing SequenceFiles(Text, SoftCluster)
-produced by the algorithm for each iteration. The Text _key_ is a cluster
-identifier string.
-1. clusteredPoints: (if runClustering enabled) a directory containing
-SequenceFile(IntWritable, WeightedVectorWritable). The IntWritable _key_ is
-the clusterId. The WeightedVectorWritable _value_ is a bean containing a
-double _weight_ and a VectorWritable _vector_ where the weights are
-computed as 1/(1+distance) where the distance is between the cluster center
-and the vector using the chosen DistanceMeasure.
-
-<a name="FuzzyK-Means-Examples"></a>
-# Examples
-
-The following images illustrate Fuzzy k-Means clustering applied to a set
-of randomly-generated 2-d data points. The points are generated using a
-normal distribution centered at a mean location and with a constant
-standard deviation. See the README file in the [/examples/src/main/java/org/apache/mahout/clustering/display/README.txt](https://github.com/apache/mahout/blob/master/examples/src/main/java/org/apache/mahout/clustering/display/README.txt)
- for details on running similar examples.
-
-The points are generated as follows:
-
-* 500 samples m=\[1.0, 1.0\](1.0,-1.0\.html)
- sd=3.0
-* 300 samples m=\[1.0, 0.0\](1.0,-0.0\.html)
- sd=0.5
-* 300 samples m=\[0.0, 2.0\](0.0,-2.0\.html)
- sd=0.1
-
-In the first image, the points are plotted and the 3-sigma boundaries of
-their generator are superimposed.
-
-![fuzzy]({{ BASE_PATH }}/assets/img/SampleData.png)
-
-In the second image, the resulting clusters (k=3) are shown superimposed upon the sample data. As Fuzzy k-Means is an iterative algorithm, the centers of the clusters in each recent iteration are shown using different colors. Bold red is the final clustering and previous iterations are shown in \[orange, yellow, green, blue, violet and gray\](orange,-yellow,-green,-blue,-violet-and-gray\.html)
-. Although it misses a lot of the points and cannot capture the original,
-superimposed cluster centers, it does a decent job of clustering this data.
-
-![fuzzy]({{ BASE_PATH }}/assets/img/FuzzyKMeans.png)
-
-The third image shows the results of running Fuzzy k-Means on a different
-data set which is generated using asymmetrical standard deviations.
-Fuzzy k-Means does a fair job handling this data set as well.
-
-![fuzzy]({{ BASE_PATH }}/assets/img/2dFuzzyKMeans.png)
-
-<a name="FuzzyK-Means-References&nbsp;"></a>
-#### References&nbsp;
-
-* [http://en.wikipedia.org/wiki/Fuzzy_clustering](http://en.wikipedia.org/wiki/Fuzzy_clustering)
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/docs/algorithms/map-reduce/clustering/hierarchical-clustering.md
----------------------------------------------------------------------
diff --git a/website-old/docs/algorithms/map-reduce/clustering/hierarchical-clustering.md b/website-old/docs/algorithms/map-reduce/clustering/hierarchical-clustering.md
deleted file mode 100644
index 70a62fe..0000000
--- a/website-old/docs/algorithms/map-reduce/clustering/hierarchical-clustering.md
+++ /dev/null
@@ -1,15 +0,0 @@
----
-layout: algorithm
-title: (Deprecated) Hierarchical Clustering
-theme:
- name: retro-mahout
----
-Hierarchical clustering is the process or finding bigger clusters, and also
-the smaller clusters inside the bigger clusters.
-
-In Apache Mahout, separate algorithms can be used for finding clusters at
-different levels.
-
-See [Top Down Clustering](https://cwiki.apache.org/confluence/display/MAHOUT/Top+Down+Clustering)
-.
-

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/docs/algorithms/map-reduce/clustering/k-means-clustering.md
----------------------------------------------------------------------
diff --git a/website-old/docs/algorithms/map-reduce/clustering/k-means-clustering.md b/website-old/docs/algorithms/map-reduce/clustering/k-means-clustering.md
deleted file mode 100644
index 046fe0b..0000000
--- a/website-old/docs/algorithms/map-reduce/clustering/k-means-clustering.md
+++ /dev/null
@@ -1,182 +0,0 @@
----
-layout: algorithm
-title: (Deprecated) K-Means Clustering
-theme:
- name: retro-mahout
----
-
-# k-Means clustering - basics
-
-[k-Means](http://en.wikipedia.org/wiki/Kmeans) is a simple but well-known algorithm for grouping objects, clustering. All objects need to be represented
-as a set of numerical features. In addition, the user has to specify the
-number of groups (referred to as *k*) she wishes to identify.
-
-Each object can be thought of as being represented by some feature vector
-in an _n_ dimensional space, _n_ being the number of all features used to
-describe the objects to cluster. The algorithm then randomly chooses _k_
-points in that vector space, these point serve as the initial centers of
-the clusters. Afterwards all objects are each assigned to the center they
-are closest to. Usually the distance measure is chosen by the user and
-determined by the learning task.
-
-After that, for each cluster a new center is computed by averaging the
-feature vectors of all objects assigned to it. The process of assigning
-objects and recomputing centers is repeated until the process converges.
-The algorithm can be proven to converge after a finite number of
-iterations.
-
-Several tweaks concerning distance measure, initial center choice and
-computation of new average centers have been explored, as well as the
-estimation of the number of clusters _k_. Yet the main principle always
-remains the same.
-
-
-
-<a name="K-MeansClustering-Quickstart"></a>
-## Quickstart
-
-[Here](https://github.com/apache/mahout/blob/master/examples/bin/cluster-reuters.sh)
- is a short shell script outline that will get you started quickly with
-k-means. This does the following:
-
-* Accepts clustering type: *kmeans*, *fuzzykmeans*, *lda*, or *streamingkmeans*
-* Gets the Reuters dataset
-* Runs org.apache.lucene.benchmark.utils.ExtractReuters to generate
-reuters-out from reuters-sgm (the downloaded archive)
-* Runs seqdirectory to convert reuters-out to SequenceFile format
-* Runs seq2sparse to convert SequenceFiles to sparse vector format
-* Runs k-means with 20 clusters
-* Runs clusterdump to show results
-
-After following through the output that scrolls past, reading the code will
-offer you a better understanding.
-
-
-<a name="K-MeansClustering-Designofimplementation"></a>
-## Implementation
-
-The implementation accepts two input directories: one for the data points
-and one for the initial clusters. The data directory contains multiple
-input files of SequenceFile(Key, VectorWritable), while the clusters
-directory contains one or more SequenceFiles(Text, Cluster)
-containing _k_ initial clusters or canopies. None of the input directories
-are modified by the implementation, allowing experimentation with initial
-clustering and convergence values.
-
-Canopy clustering can be used to compute the initial clusters for k-KMeans:
-
- // run the CanopyDriver job
- CanopyDriver.runJob("testdata", "output"
- ManhattanDistanceMeasure.class.getName(), (float) 3.1, (float) 2.1, false);
-
- // now run the KMeansDriver job
- KMeansDriver.runJob("testdata", "output/clusters-0", "output",
- EuclideanDistanceMeasure.class.getName(), "0.001", "10", true);
-
-
-In the above example, the input data points are stored in 'testdata' and
-the CanopyDriver is configured to output to the 'output/clusters-0'
-directory. Once the driver executes it will contain the canopy definition
-files. Upon running the KMeansDriver the output directory will have two or
-more new directories: 'clusters-N'' containining the clusters for each
-iteration and 'clusteredPoints' will contain the clustered data points.
-
-This diagram shows the examplary dataflow of the k-Means example
-implementation provided by Mahout:
-<img src="../../images/Example implementation of k-Means provided with Mahout.png">
-
-
-<a name="K-MeansClustering-Runningk-MeansClustering"></a>
-## Running k-Means Clustering
-
-The k-Means clustering algorithm may be run using a command-line invocation
-on KMeansDriver.main or by making a Java call to KMeansDriver.runJob().
-
-Invocation using the command line takes the form:
-
-
- bin/mahout kmeans \
- -i <input vectors directory> \
- -c <input clusters directory> \
- -o <output working directory> \
- -k <optional number of initial clusters to sample from input vectors> \
- -dm <DistanceMeasure> \
- -x <maximum number of iterations> \
- -cd <optional convergence delta. Default is 0.5> \
- -ow <overwrite output directory if present>
- -cl <run input vector clustering after computing Canopies>
- -xm <execution method: sequential or mapreduce>
-
-
-Note: if the \-k argument is supplied, any clusters in the \-c directory
-will be overwritten and \-k random points will be sampled from the input
-vectors to become the initial cluster centers.
-
-Invocation using Java involves supplying the following arguments:
-
-1. input: a file path string to a directory containing the input data set a
-SequenceFile(WritableComparable, VectorWritable). The sequence file _key_
-is not used.
-1. clusters: a file path string to a directory containing the initial
-clusters, a SequenceFile(key, Cluster \| Canopy). Both KMeans clusters and
-Canopy canopies may be used for the initial clusters.
-1. output: a file path string to an empty directory which is used for all
-output from the algorithm.
-1. distanceMeasure: the fully-qualified class name of an instance of
-DistanceMeasure which will be used for the clustering.
-1. convergenceDelta: a double value used to determine if the algorithm has
-converged (clusters have not moved more than the value in the last
-iteration)
-1. maxIter: the maximum number of iterations to run, independent of the
-convergence specified
-1. runClustering: a boolean indicating, if true, that the clustering step is
-to be executed after clusters have been determined.
-1. runSequential: a boolean indicating, if true, that the k-means sequential
-implementation is to be used to process the input data.
-
-After running the algorithm, the output directory will contain:
-1. clusters-N: directories containing SequenceFiles(Text, Cluster) produced
-by the algorithm for each iteration. The Text _key_ is a cluster identifier
-string.
-1. clusteredPoints: (if \--clustering enabled) a directory containing
-SequenceFile(IntWritable, WeightedVectorWritable). The IntWritable _key_ is
-the clusterId. The WeightedVectorWritable _value_ is a bean containing a
-double _weight_ and a VectorWritable _vector_ where the weight indicates
-the probability that the vector is a member of the cluster. For k-Means
-clustering, the weights are computed as 1/(1+distance) where the distance
-is between the cluster center and the vector using the chosen
-DistanceMeasure.
-
-<a name="K-MeansClustering-Examples"></a>
-# Examples
-
-The following images illustrate k-Means clustering applied to a set of
-randomly-generated 2-d data points. The points are generated using a normal
-distribution centered at a mean location and with a constant standard
-deviation. See the README file in the [/examples/src/main/java/org/apache/mahout/clustering/display/README.txt](https://github.com/apache/mahout/blob/master/examples/src/main/java/org/apache/mahout/clustering/display/README.txt)
- for details on running similar examples.
-
-The points are generated as follows:
-
-* 500 samples m=\[1.0, 1.0\](1.0,-1.0\.html)
- sd=3.0
-* 300 samples m=\[1.0, 0.0\](1.0,-0.0\.html)
- sd=0.5
-* 300 samples m=\[0.0, 2.0\](0.0,-2.0\.html)
- sd=0.1
-
-In the first image, the points are plotted and the 3-sigma boundaries of
-their generator are superimposed.
-
-![Sample data graph](../../images/SampleData.png)
-
-In the second image, the resulting clusters (k=3) are shown superimposed upon the sample data. As k-Means is an iterative algorithm, the centers of the clusters in each recent iteration are shown using different colors. Bold red is the final clustering and previous iterations are shown in \[orange, yellow, green, blue, violet and gray\](orange,-yellow,-green,-blue,-violet-and-gray\.html)
-. Although it misses a lot of the points and cannot capture the original,
-superimposed cluster centers, it does a decent job of clustering this data.
-
-![kmeans](../../images/KMeans.png)
-
-The third image shows the results of running k-Means on a different dataset, which is generated using asymmetrical standard deviations.
-K-Means does a fair job handling this data set as well.
-
-![2d kmeans](../../images/2dKMeans.png)
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/docs/algorithms/map-reduce/clustering/latent-dirichlet-allocation.md
----------------------------------------------------------------------
diff --git a/website-old/docs/algorithms/map-reduce/clustering/latent-dirichlet-allocation.md b/website-old/docs/algorithms/map-reduce/clustering/latent-dirichlet-allocation.md
deleted file mode 100644
index 01290b3..0000000
--- a/website-old/docs/algorithms/map-reduce/clustering/latent-dirichlet-allocation.md
+++ /dev/null
@@ -1,155 +0,0 @@
----
-layout: algorithm
-title: (Deprecated) Latent Dirichlet Allocation
-theme:
- name: retro-mahout
----
-
-<a name="LatentDirichletAllocation-Overview"></a>
-# Overview
-
-Latent Dirichlet Allocation (Blei et al, 2003) is a powerful learning
-algorithm for automatically and jointly clustering words into "topics" and
-documents into mixtures of topics. It has been successfully applied to
-model change in scientific fields over time (Griffiths and Steyvers, 2004;
-Hall, et al. 2008).
-
-A topic model is, roughly, a hierarchical Bayesian model that associates
-with each document a probability distribution over "topics", which are in
-turn distributions over words. For instance, a topic in a collection of
-newswire might include words about "sports", such as "baseball", "home
-run", "player", and a document about steroid use in baseball might include
-"sports", "drugs", and "politics". Note that the labels "sports", "drugs",
-and "politics", are post-hoc labels assigned by a human, and that the
-algorithm itself only assigns associate words with probabilities. The task
-of parameter estimation in these models is to learn both what the topics
-are, and which documents employ them in what proportions.
-
-Another way to view a topic model is as a generalization of a mixture model
-like [Dirichlet Process Clustering](http://en.wikipedia.org/wiki/Dirichlet_process)
-. Starting from a normal mixture model, in which we have a single global
-mixture of several distributions, we instead say that _each_ document has
-its own mixture distribution over the globally shared mixture components.
-Operationally in Dirichlet Process Clustering, each document has its own
-latent variable drawn from a global mixture that specifies which model it
-belongs to, while in LDA each word in each document has its own parameter
-drawn from a document-wide mixture.
-
-The idea is that we use a probabilistic mixture of a number of models that
-we use to explain some observed data. Each observed data point is assumed
-to have come from one of the models in the mixture, but we don't know
-which. The way we deal with that is to use a so-called latent parameter
-which specifies which model each data point came from.
-
-<a name="LatentDirichletAllocation-CollapsedVariationalBayes"></a>
-# Collapsed Variational Bayes
-The CVB algorithm which is implemented in Mahout for LDA combines
-advantages of both regular Variational Bayes and Gibbs Sampling. The
-algorithm relies on modeling dependence of parameters on latest variables
-which are in turn mutually independent. The algorithm uses 2
-methodologies to marginalize out parameters when calculating the joint
-distribution and the other other is to model the posterior of theta and phi
-given the inputs z and x.
-
-A common solution to the CVB algorithm is to compute each expectation term
-by using simple Gaussian approximation which is accurate and requires low
-computational overhead. The specifics behind the approximation involve
-computing the sum of the means and variances of the individual Bernoulli
-variables.
-
-CVB with Gaussian approximation is implemented by tracking the mean and
-variance and subtracting the mean and variance of the corresponding
-Bernoulli variables. The computational cost for the algorithm scales on
-the order of O(K) with each update to q(z(i,j)). Also for each
-document/word pair only 1 copy of the variational posterior is required
-over the latent variable.
-
-<a name="LatentDirichletAllocation-InvocationandUsage"></a>
-# Invocation and Usage
-
-Mahout's implementation of LDA operates on a collection of SparseVectors of
-word counts. These word counts should be non-negative integers, though
-things will-- probably --work fine if you use non-negative reals. (Note
-that the probabilistic model doesn't make sense if you do!) To create these
-vectors, it's recommended that you follow the instructions in [Creating Vectors From Text](../basics/creating-vectors-from-text.html)
-, making sure to use TF and not TFIDF as the scorer.
-
-Invocation takes the form:
-
-
- bin/mahout cvb \
- -i <input path for document vectors> \
- -dict <path to term-dictionary file(s) , glob expression supported> \
- -o <output path for topic-term distributions>
- -dt <output path for doc-topic distributions> \
- -k <number of latent topics> \
- -nt <number of unique features defined by input document vectors> \
- -mt <path to store model state after each iteration> \
- -maxIter <max number of iterations> \
- -mipd <max number of iterations per doc for learning> \
- -a <smoothing for doc topic distributions> \
- -e <smoothing for term topic distributions> \
- -seed <random seed> \
- -tf <fraction of data to hold for testing> \
- -block <number of iterations per perplexity check, ignored unless
-test_set_percentage>0> \
-
-
-Topic smoothing should generally be about 50/K, where K is the number of
-topics. The number of words in the vocabulary can be an upper bound, though
-it shouldn't be too high (for memory concerns).
-
-Choosing the number of topics is more art than science, and it's
-recommended that you try several values.
-
-After running LDA you can obtain an output of the computed topics using the
-LDAPrintTopics utility:
-
-
- bin/mahout ldatopics \
- -i <input vectors directory> \
- -d <input dictionary file> \
- -w <optional number of words to print> \
- -o <optional output working directory. Default is to console> \
- -h <print out help> \
- -dt <optional dictionary type (text|sequencefile). Default is text>
-
-
-
-<a name="LatentDirichletAllocation-Example"></a>
-# Example
-
-An example is located in mahout/examples/bin/build-reuters.sh. The script
-automatically downloads the Reuters-21578 corpus, builds a Lucene index and
-converts the Lucene index to vectors. By uncommenting the last two lines
-you can then cause it to run LDA on the vectors and finally print the
-resultant topics to the console.
-
-To adapt the example yourself, you should note that Lucene has specialized
-support for Reuters, and that building your own index will require some
-adaptation. The rest should hopefully not differ too much.
-
-<a name="LatentDirichletAllocation-ParameterEstimation"></a>
-# Parameter Estimation
-
-We use mean field variational inference to estimate the models. Variational
-inference can be thought of as a generalization of [EM](expectation-maximization.html)
- for hierarchical Bayesian models. The E-Step takes the form of, for each
-document, inferring the posterior probability of each topic for each word
-in each document. We then take the sufficient statistics and emit them in
-the form of (log) pseudo-counts for each word in each topic. The M-Step is
-simply to sum these together and (log) normalize them so that we have a
-distribution over the entire vocabulary of the corpus for each topic.
-
-In implementation, the E-Step is implemented in the Map, and the M-Step is
-executed in the reduce step, with the final normalization happening as a
-post-processing step.
-
-<a name="LatentDirichletAllocation-References"></a>
-# References
-
-[David M. Blei, Andrew Y. Ng, Michael I. Jordan, John Lafferty. 2003. Latent Dirichlet Allocation. JMLR.](-http://machinelearning.wustl.edu/mlpapers/paper_files/BleiNJ03.pdf)
-
-[Thomas L. Griffiths and Mark Steyvers. 2004. Finding scientific topics. PNAS. ](http://psiexp.ss.uci.edu/research/papers/sciencetopics.pdf)
-
-[David Hall, Dan Jurafsky, and Christopher D. Manning. 2008. Studying the History of Ideas Using Topic Models ](-http://aclweb.org/anthology//D/D08/D08-1038.pdf)

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/docs/algorithms/map-reduce/clustering/llr---log-likelihood-ratio.md
----------------------------------------------------------------------
diff --git a/website-old/docs/algorithms/map-reduce/clustering/llr---log-likelihood-ratio.md b/website-old/docs/algorithms/map-reduce/clustering/llr---log-likelihood-ratio.md
deleted file mode 100644
index 300ae91..0000000
--- a/website-old/docs/algorithms/map-reduce/clustering/llr---log-likelihood-ratio.md
+++ /dev/null
@@ -1,46 +0,0 @@
----
-layout: algorithm
-title: (Deprecated) LLR - Log-likelihood Ratio
-theme:
- name: retro-mahout
----
-
-# Likelihood ratio test
-
-_Likelihood ratio test is used to compare the fit of two models one
-of which is nested within the other._
-
-In the context of machine learning and the Mahout project in particular,
-the term LLR is usually meant to refer to a test of significance for two
-binomial distributions, also known as the G squared statistic. This is a
-special case of the multinomial test and is closely related to mutual
-information. The value of this statistic is not normally used in this
-context as a true frequentist test of significance since there would be
-obvious and dreadful problems to do with multiple comparisons, but rather
-as a heuristic score to order pairs of items with the most interestingly
-connected items having higher scores. In this usage, the LLR has proven
-very useful for discriminating pairs of features that have interesting
-degrees of cooccurrence and those that do not with usefully small false
-positive and false negative rates. The LLR is typically far more suitable
-in the case of small than many other measures such as Pearson's
-correlation, Pearson's chi squared statistic or z statistics. The LLR as
-stated does not, however, make any use of rating data which can limit its
-applicability in problems such as the Netflix competition.
-
-The actual value of the LLR is not usually very helpful other than as a way
-of ordering pairs of items. As such, it is often used to determine a
-sparse set of coefficients to be estimated by other means such as TF-IDF.
-Since the actual estimation of these coefficients can be done in a way that
-is independent of the training data such as by general corpus statistics,
-and since the ordering imposed by the LLR is relatively robust to counting
-fluctuation, this technique can provide very strong results in very sparse
-problems where the potential number of features vastly out-numbers the
-number of training examples and where features are highly interdependent.
-
- See Also:
-
-* [Blog post "surprise and coincidence"](http://tdunning.blogspot.com/2008/03/surprise-and-coincidence.html)
-* [G-Test](http://en.wikipedia.org/wiki/G-test)
-* [Likelihood Ratio Test](http://en.wikipedia.org/wiki/Likelihood-ratio_test)
-
-
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/docs/algorithms/map-reduce/clustering/spectral-clustering.md
----------------------------------------------------------------------
diff --git a/website-old/docs/algorithms/map-reduce/clustering/spectral-clustering.md b/website-old/docs/algorithms/map-reduce/clustering/spectral-clustering.md
deleted file mode 100644
index 0891609..0000000
--- a/website-old/docs/algorithms/map-reduce/clustering/spectral-clustering.md
+++ /dev/null
@@ -1,84 +0,0 @@
----
-layout: algorithm
-title: (Deprecated) Spectral Clustering
-theme:
- name: retro-mahout
----
-
-# Spectral Clustering Overview
-
-Spectral clustering, as its name implies, makes use of the spectrum (or eigenvalues) of the similarity matrix of the data. It examines the _connectedness_ of the data, whereas other clustering algorithms such as k-means use the _compactness_ to assign clusters. Consequently, in situations where k-means performs well, spectral clustering will also perform well. Additionally, there are situations in which k-means will underperform (e.g. concentric circles), but spectral clustering will be able to segment the underlying clusters. Spectral clustering is also very useful for image segmentation.
-
-At its simplest, spectral clustering relies on the following four steps:
-
- 1. Computing a similarity (or _affinity_) matrix `\(\mathbf{A}\)` from the data. This involves determining a pairwise distance function `\(f\)` that takes a pair of data points and returns a scalar.
-
- 2. Computing a graph Laplacian `\(\mathbf{L}\)` from the affinity matrix. There are several types of graph Laplacians; which is used will often depends on the situation.
-
- 3. Computing the eigenvectors and eigenvalues of `\(\mathbf{L}\)`. The degree of this decomposition is often modulated by `\(k\)`, or the number of clusters. Put another way, `\(k\)` eigenvectors and eigenvalues are computed.
-
- 4. The `\(k\)` eigenvectors are used as "proxy" data for the original dataset, and fed into k-means clustering. The resulting cluster assignments are transparently passed back to the original data.
-
-For more theoretical background on spectral clustering, such as how affinity matrices are computed, the different types of graph Laplacians, and whether the top or bottom eigenvectors and eigenvalues are computed, please read [Ulrike von Luxburg's article in _Statistics and Computing_ from December 2007](http://link.springer.com/article/10.1007/s11222-007-9033-z). It provides an excellent description of the linear algebra operations behind spectral clustering, and imbues a thorough understanding of the types of situations in which it can be used.
-
-# Mahout Spectral Clustering
-
-As of Mahout 0.3, spectral clustering has been implemented to take advantage of the MapReduce framework. It uses [SSVD](http://mahout.apache.org/users/dim-reduction/ssvd.html) for dimensionality reduction of the input data set, and [k-means](http://mahout.apache.org/users/clustering/k-means-clustering.html) to perform the final clustering.
-
-**([MAHOUT-1538](https://issues.apache.org/jira/browse/MAHOUT-1538) will port the existing Hadoop MapReduce implementation to Mahout DSL, allowing for one of several distinct distributed back-ends to conduct the computation)**
-
-## Input
-
-The input format for the algorithm currently takes the form of a Hadoop-backed affinity matrix in the form of text files. Each line of the text file specifies a single element of the affinity matrix: the row index `\(i\)`, the column index `\(j\)`, and the value:
-
-`i, j, value`
-
-The affinity matrix is symmetric, and any unspecified `\(i, j\)` pairs are assumed to be 0 for sparsity. The row and column indices are 0-indexed. Thus, only the non-zero entries of either the upper or lower triangular need be specified.
-
-The matrix elements specified in the text files are collected into a Mahout `DistributedRowMatrix`.
-
-**([MAHOUT-1539](https://issues.apache.org/jira/browse/MAHOUT-1539) will allow for the creation of the affinity matrix to occur as part of the core spectral clustering algorithm, as opposed to the current requirement that the user create this matrix themselves and provide it, rather than the original data, to the algorithm)**
-
-## Running spectral clustering
-
-**([MAHOUT-1540](https://issues.apache.org/jira/browse/MAHOUT-1540) will provide a running example of this algorithm and this section will be updated to show how to run the example and what the expected output should be; until then, this section provides a how-to for simply running the algorithm on arbitrary input)**
-
-Spectral clustering can be invoked with the following arguments.
-
- bin/mahout spectralkmeans \
- -i <affinity matrix directory> \
- -o <output working directory> \
- -d <number of data points> \
- -k <number of clusters AND number of top eigenvectors to use> \
- -x <maximum number of k-means iterations>
-
-The affinity matrix can be contained in a single text file (using the aforementioned one-line-per-entry format) or span many text files [per (MAHOUT-978](https://issues.apache.org/jira/browse/MAHOUT-978), do not prefix text files with a leading underscore '_' or period '.'). The `-d` flag is required for the algorithm to know the dimensions of the affinity matrix. `-k` is the number of top eigenvectors from the normalized graph Laplacian in the SSVD step, and also the number of clusters given to k-means after the SSVD step.
-
-## Example
-
-To provide a simple example, take the following affinity matrix, contained in a text file called `affinity.txt`:
-
- 0, 0, 0
- 0, 1, 0.8
- 0, 2, 0.5
- 1, 0, 0.8
- 1, 1, 0
- 1, 2, 0.9
- 2, 0, 0.5
- 2, 1, 0.9
- 2, 2, 0
-
-With this 3-by-3 matrix, `-d` would be `3`. Furthermore, since all affinity matrices are assumed to be symmetric, the entries specifying both `1, 2, 0.9` and `2, 1, 0.9` are redundant; only one of these is needed. Additionally, any entries that are 0, such as those along the diagonal, also need not be specified at all. They are provided here for completeness.
-
-In general, larger values indicate a stronger "connectedness", whereas smaller values indicate a weaker connectedness. This will vary somewhat depending on the distance function used, though a common one is the [RBF kernel](http://en.wikipedia.org/wiki/RBF_kernel) (used in the above example) which returns values in the range [0, 1], where 0 indicates completely disconnected (or completely dissimilar) and 1 is fully connected (or identical).
-
-The call signature with this matrix could be as follows:
-
- bin/mahout spectralkmeans \
- -i s3://mahout-example/input/ \
- -o s3://mahout-example/output/ \
- -d 3 \
- -k 2 \
- -x 10
-
-There are many other optional arguments, in particular for tweaking the SSVD process (block size, number of power iterations, etc) and the k-means clustering step (distance measure, convergence delta, etc).
\ No newline at end of file
a***@apache.org
2017-12-21 04:53:02 UTC
Permalink
http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/assets/themes/mahout2/css/bs-sticky-footer.css
----------------------------------------------------------------------
diff --git a/website-old/assets/themes/mahout2/css/bs-sticky-footer.css b/website-old/assets/themes/mahout2/css/bs-sticky-footer.css
deleted file mode 100644
index 69beb8d..0000000
--- a/website-old/assets/themes/mahout2/css/bs-sticky-footer.css
+++ /dev/null
@@ -1,29 +0,0 @@
-/* Sticky footer styles
--------------------------------------------------- */
-
-html,
-body {
- height: 100%;
- /* The html and body elements cannot have any padding or margin. */
-}
-
-/* Wrapper for page content to push down footer */
-#wrap {
- min-height: 100%;
- height: auto;
- /* Negative indent footer by its height */
- margin: 0 auto -30px;
- /* Pad bottom by footer height */
- padding: 0 0 30px;
-}
-
-/* Set the fixed height of the footer here */
-#footer {
- height: 30px;
- background-color: #60007B;
-}
-
-#footer p {
- line-height: 30px;
- margin-bottom: 0px;
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/assets/themes/mahout2/css/style.css
----------------------------------------------------------------------
diff --git a/website-old/assets/themes/mahout2/css/style.css b/website-old/assets/themes/mahout2/css/style.css
deleted file mode 100644
index 9600ec2..0000000
--- a/website-old/assets/themes/mahout2/css/style.css
+++ /dev/null
@@ -1,126 +0,0 @@
-/* Custom container */
-@import url(//fonts.googleapis.com/css?family=Open+Sans);
-
-/*
-* Mahout Colors:
-* - Mahout Light Blue: 0099cc
-* palleton.com good tool for generating pallettes
-* Current Scheme is Tetrad (4 colors) http://paletton.com/palette.php?uid=73p0u0k%2B%2BJWumZMPf%2BV%2BWtQ%2B8nq
-* Other's that keep mahout blue:
-* Triad: http://paletton.com/palette.php?uid=33p0u0k%2B%2BJWumZMPf%2BV%2BWtQ%2B8nq
-* 3-Adjacent (30degree): http://paletton.com/#uid=53p0u0k++JWumZMPf+V+WtQ+8nq
-* 3-Adjacent (90degree): http://paletton.com/palette.php?uid=53p1q0k%2B%2BJWumZMPf%2BV%2BWtQ%2B8nq
-* ^^ Personal Favorite
-*/
-
-/* Replaced with normal container and standard footer */
-/*.container-narrow {
- margin: 0 auto;
- max-width: 700px; }
-
-.container-narrow > hr {
- margin: 30px 0; }
-*/
-
-/* Replaced with standard BS3 Navbar */
-/*.navbar .nav {
- float: right; }*/
-
-/* Jekyll Bootstrap Colors */
-h1, h2, h3, h4 {
- color: #005875;
-}
-#footer {
-
-}
-
-
-/* posts index */
-.post > h3.title {
- position: relative;
- padding-top: 10px; }
-
-.post > h3.title span.date {
- position: absolute;
- right: 0;
- font-size: 0.9em; }
-
-.post > .more {
- margin: 10px 0;
- text-align: left; }
-
-/* post-full*/
-.post-full .date {
- margin-bottom: 20px;
- font-weight: bold; }
-
-/* tag_box */
-.tag_box {
- list-style: none;
- margin: 0;
- overflow: hidden; }
-
-.tag_box li {
- line-height: 28px; }
-
-.tag_box li i {
- opacity: 0.9; }
-
-.tag_box.inline li {
- float: left; }
-
-.tag_box a {
- padding: 3px 6px;
- margin: 2px;
- background: #eee;
- color: #555;
- border-radius: 3px;
- text-decoration: none;
- border: 1px dashed #cccccc; }
-
-.tag_box a span {
- vertical-align: super;
- font-size: 0.8em; }
-
-.tag_box a:hover {
- background-color: #e5e5e5; }
-
-.tag_box a.active {
- background: #57A957;
- border: 1px solid #4c964d;
- color: #FFF; }
-
-
-.newMahout {
- text-align: center;
- background-color: #03c0ff;
- padding-bottom: 28px;
- color: #0099cc;
-}
-
-/** A handy link for new navbars: https://work.smarchal.com/twbscolor/css/e74c3c91d9e8ecf0f1ffbbbc0 **/
-.navbar-default{
- background-image:-webkit-linear-gradient(top,#fff 0,#E7FD00 100%);
- background-image:linear-gradient(to bottom,#fff 0,#E7FD00 100%);
- background-repeat:repeat-x;border-radius:4px;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff',endColorstr='#fff8f8f8',GradientType=0);
- filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.15),0 1px 5px rgba(0,0,0,0.075);
- /** box-shadow:inset 0 1px 0 rgba(255,255,255,0.15),0 1px 5px rgba(0,0,0,0.075); **/
- margin-bottom: 0px;
- border-color: #bfe8ec;
-}
-
-/** can't just set the color, have to be fancy, see above- this block will be overridden anyway
-.navbar-default {
- background-color: #bfe8ec;
- border-color: #91d9e8;
-}
-**/
-
-.jumbotron {
-/* background-color: #cde9fc; */
- background-color: #60007B;
- margin-bottom: 0px;
- padding-top: 28px;
- color: #f5f5f5;
-}
-

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/assets/themes/mahout2/fonts/glyphicons-halflings-regular.eot
----------------------------------------------------------------------
diff --git a/website-old/assets/themes/mahout2/fonts/glyphicons-halflings-regular.eot b/website-old/assets/themes/mahout2/fonts/glyphicons-halflings-regular.eot
deleted file mode 100644
index 423bd5d..0000000
Binary files a/website-old/assets/themes/mahout2/fonts/glyphicons-halflings-regular.eot and /dev/null differ

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/assets/themes/mahout2/fonts/glyphicons-halflings-regular.svg
----------------------------------------------------------------------
diff --git a/website-old/assets/themes/mahout2/fonts/glyphicons-halflings-regular.svg b/website-old/assets/themes/mahout2/fonts/glyphicons-halflings-regular.svg
deleted file mode 100644
index 4469488..0000000
--- a/website-old/assets/themes/mahout2/fonts/glyphicons-halflings-regular.svg
+++ /dev/null
@@ -1,229 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
-<svg xmlns="http://www.w3.org/2000/svg">
-<metadata></metadata>
-<defs>
-<font id="glyphicons_halflingsregular" horiz-adv-x="1200" >
-<font-face units-per-em="1200" ascent="960" descent="-240" />
-<missing-glyph horiz-adv-x="500" />
-<glyph />
-<glyph />
-<glyph unicode="&#xd;" />
-<glyph unicode=" " />
-<glyph unicode="*" d="M100 500v200h259l-183 183l141 141l183 -183v259h200v-259l183 183l141 -141l-183 -183h259v-200h-259l183 -183l-141 -141l-183 183v-259h-200v259l-183 -183l-141 141l183 183h-259z" />
-<glyph unicode="+" d="M0 400v300h400v400h300v-400h400v-300h-400v-400h-300v400h-400z" />
-<glyph unicode="&#xa0;" />
-<glyph unicode="&#x2000;" horiz-adv-x="652" />
-<glyph unicode="&#x2001;" horiz-adv-x="1304" />
-<glyph unicode="&#x2002;" horiz-adv-x="652" />
-<glyph unicode="&#x2003;" horiz-adv-x="1304" />
-<glyph unicode="&#x2004;" horiz-adv-x="434" />
-<glyph unicode="&#x2005;" horiz-adv-x="326" />
-<glyph unicode="&#x2006;" horiz-adv-x="217" />
-<glyph unicode="&#x2007;" horiz-adv-x="217" />
-<glyph unicode="&#x2008;" horiz-adv-x="163" />
-<glyph unicode="&#x2009;" horiz-adv-x="260" />
-<glyph unicode="&#x200a;" horiz-adv-x="72" />
-<glyph unicode="&#x202f;" horiz-adv-x="260" />
-<glyph unicode="&#x205f;" horiz-adv-x="326" />
-<glyph unicode="&#x20ac;" d="M100 500l100 100h113q0 47 5 100h-218l100 100h135q37 167 112 257q117 141 297 141q242 0 354 -189q60 -103 66 -209h-181q0 55 -25.5 99t-63.5 68t-75 36.5t-67 12.5q-24 0 -52.5 -10t-62.5 -32t-65.5 -67t-50.5 -107h379l-100 -100h-300q-6 -46 -6 -100h406l-100 -100 h-300q9 -74 33 -132t52.5 -91t62 -54.5t59 -29t46.5 -7.5q29 0 66 13t75 37t63.5 67.5t25.5 96.5h174q-31 -172 -128 -278q-107 -117 -274 -117q-205 0 -324 158q-36 46 -69 131.5t-45 205.5h-217z" />
-<glyph unicode="&#x2212;" d="M200 400h900v300h-900v-300z" />
-<glyph unicode="&#x2601;" d="M-14 494q0 -80 56.5 -137t135.5 -57h750q120 0 205 86t85 208q0 120 -85 206.5t-205 86.5q-46 0 -90 -14q-44 97 -134.5 156.5t-200.5 59.5q-152 0 -260 -107.5t-108 -260.5q0 -25 2 -37q-66 -14 -108.5 -67.5t-42.5 -122.5z" />
-<glyph unicode="&#x2709;" d="M0 100l400 400l200 -200l200 200l400 -400h-1200zM0 300v600l300 -300zM0 1100l600 -603l600 603h-1200zM900 600l300 300v-600z" />
-<glyph unicode="&#x270f;" d="M-13 -13l333 112l-223 223zM187 403l214 -214l614 614l-214 214zM887 1103l214 -214l99 92q13 13 13 32.5t-13 33.5l-153 153q-15 13 -33 13t-33 -13z" />
-<glyph unicode="&#xe000;" horiz-adv-x="500" d="M0 0z" />
-<glyph unicode="&#xe001;" d="M0 1200h1200l-500 -550v-550h300v-100h-800v100h300v550z" />
-<glyph unicode="&#xe002;" d="M14 84q18 -55 86 -75.5t147 5.5q65 21 109 69t44 90v606l600 155v-521q-64 16 -138 -7q-79 -26 -122.5 -83t-25.5 -111q17 -55 85.5 -75.5t147.5 4.5q70 23 111.5 63.5t41.5 95.5v881q0 10 -7 15.5t-17 2.5l-752 -193q-10 -3 -17 -12.5t-7 -19.5v-689q-64 17 -138 -7 q-79 -25 -122.5 -82t-25.5 -112z" />
-<glyph unicode="&#xe003;" d="M23 693q0 200 142 342t342 142t342 -142t142 -342q0 -142 -78 -261l300 -300q7 -8 7 -18t-7 -18l-109 -109q-8 -7 -18 -7t-18 7l-300 300q-119 -78 -261 -78q-200 0 -342 142t-142 342zM176 693q0 -136 97 -233t234 -97t233.5 96.5t96.5 233.5t-96.5 233.5t-233.5 96.5 t-234 -97t-97 -233z" />
-<glyph unicode="&#xe005;" d="M100 784q0 64 28 123t73 100.5t104.5 64t119 20.5t120 -38.5t104.5 -104.5q48 69 109.5 105t121.5 38t118.5 -20.5t102.5 -64t71 -100.5t27 -123q0 -57 -33.5 -117.5t-94 -124.5t-126.5 -127.5t-150 -152.5t-146 -174q-62 85 -145.5 174t-149.5 152.5t-126.5 127.5 t-94 124.5t-33.5 117.5z" />
-<glyph unicode="&#xe006;" d="M-72 800h479l146 400h2l146 -400h472l-382 -278l145 -449l-384 275l-382 -275l146 447zM168 71l2 1z" />
-<glyph unicode="&#xe007;" d="M-72 800h479l146 400h2l146 -400h472l-382 -278l145 -449l-384 275l-382 -275l146 447zM168 71l2 1zM237 700l196 -142l-73 -226l192 140l195 -141l-74 229l193 140h-235l-77 211l-78 -211h-239z" />
-<glyph unicode="&#xe008;" d="M0 0v143l400 257v100q-37 0 -68.5 74.5t-31.5 125.5v200q0 124 88 212t212 88t212 -88t88 -212v-200q0 -51 -31.5 -125.5t-68.5 -74.5v-100l400 -257v-143h-1200z" />
-<glyph unicode="&#xe009;" d="M0 0v1100h1200v-1100h-1200zM100 100h100v100h-100v-100zM100 300h100v100h-100v-100zM100 500h100v100h-100v-100zM100 700h100v100h-100v-100zM100 900h100v100h-100v-100zM300 100h600v400h-600v-400zM300 600h600v400h-600v-400zM1000 100h100v100h-100v-100z M1000 300h100v100h-100v-100zM1000 500h100v100h-100v-100zM1000 700h100v100h-100v-100zM1000 900h100v100h-100v-100z" />
-<glyph unicode="&#xe010;" d="M0 50v400q0 21 14.5 35.5t35.5 14.5h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5zM0 650v400q0 21 14.5 35.5t35.5 14.5h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400 q-21 0 -35.5 14.5t-14.5 35.5zM600 50v400q0 21 14.5 35.5t35.5 14.5h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5zM600 650v400q0 21 14.5 35.5t35.5 14.5h400q21 0 35.5 -14.5t14.5 -35.5v-400 q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5z" />
-<glyph unicode="&#xe011;" d="M0 50v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM0 450v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200 q-21 0 -35.5 14.5t-14.5 35.5zM0 850v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM400 50v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5 t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM400 450v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM400 850v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5 v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM800 50v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM800 450v200q0
21 14.5 35.5t35.5 14.5h200 q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM800 850v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5z" />
-<glyph unicode="&#xe012;" d="M0 50v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM0 450q0 -21 14.5 -35.5t35.5 -14.5h200q21 0 35.5 14.5t14.5 35.5v200q0 21 -14.5 35.5t-35.5 14.5h-200q-21 0 -35.5 -14.5 t-14.5 -35.5v-200zM0 850v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM400 50v200q0 21 14.5 35.5t35.5 14.5h700q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5 t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5zM400 450v200q0 21 14.5 35.5t35.5 14.5h700q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5zM400 850v200q0 21 14.5 35.5t35.5 14.5h700q21 0 35.5 -14.5t14.5 -35.5 v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5z" />
-<glyph unicode="&#xe013;" d="M29 454l419 -420l818 820l-212 212l-607 -607l-206 207z" />
-<glyph unicode="&#xe014;" d="M106 318l282 282l-282 282l212 212l282 -282l282 282l212 -212l-282 -282l282 -282l-212 -212l-282 282l-282 -282z" />
-<glyph unicode="&#xe015;" d="M23 693q0 200 142 342t342 142t342 -142t142 -342q0 -142 -78 -261l300 -300q7 -8 7 -18t-7 -18l-109 -109q-8 -7 -18 -7t-18 7l-300 300q-119 -78 -261 -78q-200 0 -342 142t-142 342zM176 693q0 -136 97 -233t234 -97t233.5 96.5t96.5 233.5t-96.5 233.5t-233.5 96.5 t-234 -97t-97 -233zM300 600v200h100v100h200v-100h100v-200h-100v-100h-200v100h-100z" />
-<glyph unicode="&#xe016;" d="M23 694q0 200 142 342t342 142t342 -142t142 -342q0 -141 -78 -262l300 -299q7 -7 7 -18t-7 -18l-109 -109q-8 -8 -18 -8t-18 8l-300 299q-120 -77 -261 -77q-200 0 -342 142t-142 342zM176 694q0 -136 97 -233t234 -97t233.5 97t96.5 233t-96.5 233t-233.5 97t-234 -97 t-97 -233zM300 601h400v200h-400v-200z" />
-<glyph unicode="&#xe017;" d="M23 600q0 183 105 331t272 210v-166q-103 -55 -165 -155t-62 -220q0 -177 125 -302t302 -125t302 125t125 302q0 120 -62 220t-165 155v166q167 -62 272 -210t105 -331q0 -118 -45.5 -224.5t-123 -184t-184 -123t-224.5 -45.5t-224.5 45.5t-184 123t-123 184t-45.5 224.5 zM500 750q0 -21 14.5 -35.5t35.5 -14.5h100q21 0 35.5 14.5t14.5 35.5v400q0 21 -14.5 35.5t-35.5 14.5h-100q-21 0 -35.5 -14.5t-14.5 -35.5v-400z" />
-<glyph unicode="&#xe018;" d="M100 1h200v300h-200v-300zM400 1v500h200v-500h-200zM700 1v800h200v-800h-200zM1000 1v1200h200v-1200h-200z" />
-<glyph unicode="&#xe019;" d="M26 601q0 -33 6 -74l151 -38l2 -6q14 -49 38 -93l3 -5l-80 -134q45 -59 105 -105l133 81l5 -3q45 -26 94 -39l5 -2l38 -151q40 -5 74 -5q27 0 74 5l38 151l6 2q46 13 93 39l5 3l134 -81q56 44 104 105l-80 134l3 5q24 44 39 93l1 6l152 38q5 40 5 74q0 28 -5 73l-152 38 l-1 6q-16 51 -39 93l-3 5l80 134q-44 58 -104 105l-134 -81l-5 3q-45 25 -93 39l-6 1l-38 152q-40 5 -74 5q-27 0 -74 -5l-38 -152l-5 -1q-50 -14 -94 -39l-5 -3l-133 81q-59 -47 -105 -105l80 -134l-3 -5q-25 -47 -38 -93l-2 -6l-151 -38q-6 -48 -6 -73zM385 601 q0 88 63 151t152 63t152 -63t63 -151q0 -89 -63 -152t-152 -63t-152 63t-63 152z" />
-<glyph unicode="&#xe020;" d="M100 1025v50q0 10 7.5 17.5t17.5 7.5h275v100q0 41 29.5 70.5t70.5 29.5h300q41 0 70.5 -29.5t29.5 -70.5v-100h275q10 0 17.5 -7.5t7.5 -17.5v-50q0 -11 -7 -18t-18 -7h-1050q-11 0 -18 7t-7 18zM200 100v800h900v-800q0 -41 -29.5 -71t-70.5 -30h-700q-41 0 -70.5 30 t-29.5 71zM300 100h100v700h-100v-700zM500 100h100v700h-100v-700zM500 1100h300v100h-300v-100zM700 100h100v700h-100v-700zM900 100h100v700h-100v-700z" />
-<glyph unicode="&#xe021;" d="M1 601l656 644l644 -644h-200v-600h-300v400h-300v-400h-300v600h-200z" />
-<glyph unicode="&#xe022;" d="M100 25v1150q0 11 7 18t18 7h475v-500h400v-675q0 -11 -7 -18t-18 -7h-850q-11 0 -18 7t-7 18zM700 800v300l300 -300h-300z" />
-<glyph unicode="&#xe023;" d="M4 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM186 600q0 -171 121.5 -292.5t292.5 -121.5t292.5 121.5t121.5 292.5t-121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM500 500v400h100 v-300h200v-100h-300z" />
-<glyph unicode="&#xe024;" d="M-100 0l431 1200h209l-21 -300h162l-20 300h208l431 -1200h-538l-41 400h-242l-40 -400h-539zM488 500h224l-27 300h-170z" />
-<glyph unicode="&#xe025;" d="M0 0v400h490l-290 300h200v500h300v-500h200l-290 -300h490v-400h-1100zM813 200h175v100h-175v-100z" />
-<glyph unicode="&#xe026;" d="M1 600q0 122 47.5 233t127.5 191t191 127.5t233 47.5t233 -47.5t191 -127.5t127.5 -191t47.5 -233t-47.5 -233t-127.5 -191t-191 -127.5t-233 -47.5t-233 47.5t-191 127.5t-127.5 191t-47.5 233zM188 600q0 -170 121 -291t291 -121t291 121t121 291t-121 291t-291 121 t-291 -121t-121 -291zM350 600h150v300h200v-300h150l-250 -300z" />
-<glyph unicode="&#xe027;" d="M4 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM186 600q0 -171 121.5 -292.5t292.5 -121.5t292.5 121.5t121.5 292.5t-121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM350 600l250 300 l250 -300h-150v-300h-200v300h-150z" />
-<glyph unicode="&#xe028;" d="M0 25v475l200 700h800q199 -700 200 -700v-475q0 -11 -7 -18t-18 -7h-1150q-11 0 -18 7t-7 18zM200 500h200l50 -200h300l50 200h200l-97 500h-606z" />
-<glyph unicode="&#xe029;" d="M4 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM186 600q0 -172 121.5 -293t292.5 -121t292.5 121t121.5 293q0 171 -121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM500 397v401 l297 -200z" />
-<glyph unicode="&#xe030;" d="M23 600q0 -118 45.5 -224.5t123 -184t184 -123t224.5 -45.5t224.5 45.5t184 123t123 184t45.5 224.5h-150q0 -177 -125 -302t-302 -125t-302 125t-125 302t125 302t302 125q136 0 246 -81l-146 -146h400v400l-145 -145q-157 122 -355 122q-118 0 -224.5 -45.5t-184 -123 t-123 -184t-45.5 -224.5z" />
-<glyph unicode="&#xe031;" d="M23 600q0 118 45.5 224.5t123 184t184 123t224.5 45.5q198 0 355 -122l145 145v-400h-400l147 147q-112 80 -247 80q-177 0 -302 -125t-125 -302h-150zM100 0v400h400l-147 -147q112 -80 247 -80q177 0 302 125t125 302h150q0 -118 -45.5 -224.5t-123 -184t-184 -123 t-224.5 -45.5q-198 0 -355 122z" />
-<glyph unicode="&#xe032;" d="M100 0h1100v1200h-1100v-1200zM200 100v900h900v-900h-900zM300 200v100h100v-100h-100zM300 400v100h100v-100h-100zM300 600v100h100v-100h-100zM300 800v100h100v-100h-100zM500 200h500v100h-500v-100zM500 400v100h500v-100h-500zM500 600v100h500v-100h-500z M500 800v100h500v-100h-500z" />
-<glyph unicode="&#xe033;" d="M0 100v600q0 41 29.5 70.5t70.5 29.5h100v200q0 82 59 141t141 59h300q82 0 141 -59t59 -141v-200h100q41 0 70.5 -29.5t29.5 -70.5v-600q0 -41 -29.5 -70.5t-70.5 -29.5h-900q-41 0 -70.5 29.5t-29.5 70.5zM400 800h300v150q0 21 -14.5 35.5t-35.5 14.5h-200 q-21 0 -35.5 -14.5t-14.5 -35.5v-150z" />
-<glyph unicode="&#xe034;" d="M100 0v1100h100v-1100h-100zM300 400q60 60 127.5 84t127.5 17.5t122 -23t119 -30t110 -11t103 42t91 120.5v500q-40 -81 -101.5 -115.5t-127.5 -29.5t-138 25t-139.5 40t-125.5 25t-103 -29.5t-65 -115.5v-500z" />
-<glyph unicode="&#xe035;" d="M0 275q0 -11 7 -18t18 -7h50q11 0 18 7t7 18v300q0 127 70.5 231.5t184.5 161.5t245 57t245 -57t184.5 -161.5t70.5 -231.5v-300q0 -11 7 -18t18 -7h50q11 0 18 7t7 18v300q0 116 -49.5 227t-131 192.5t-192.5 131t-227 49.5t-227 -49.5t-192.5 -131t-131 -192.5 t-49.5 -227v-300zM200 20v460q0 8 6 14t14 6h160q8 0 14 -6t6 -14v-460q0 -8 -6 -14t-14 -6h-160q-8 0 -14 6t-6 14zM800 20v460q0 8 6 14t14 6h160q8 0 14 -6t6 -14v-460q0 -8 -6 -14t-14 -6h-160q-8 0 -14 6t-6 14z" />
-<glyph unicode="&#xe036;" d="M0 400h300l300 -200v800l-300 -200h-300v-400zM688 459l141 141l-141 141l71 71l141 -141l141 141l71 -71l-141 -141l141 -141l-71 -71l-141 141l-141 -141z" />
-<glyph unicode="&#xe037;" d="M0 400h300l300 -200v800l-300 -200h-300v-400zM700 857l69 53q111 -135 111 -310q0 -169 -106 -302l-67 54q86 110 86 248q0 146 -93 257z" />
-<glyph unicode="&#xe038;" d="M0 401v400h300l300 200v-800l-300 200h-300zM702 858l69 53q111 -135 111 -310q0 -170 -106 -303l-67 55q86 110 86 248q0 145 -93 257zM889 951l7 -8q123 -151 123 -344q0 -189 -119 -339l-7 -8l81 -66l6 8q142 178 142 405q0 230 -144 408l-6 8z" />
-<glyph unicode="&#xe039;" d="M0 0h500v500h-200v100h-100v-100h-200v-500zM0 600h100v100h400v100h100v100h-100v300h-500v-600zM100 100v300h300v-300h-300zM100 800v300h300v-300h-300zM200 200v100h100v-100h-100zM200 900h100v100h-100v-100zM500 500v100h300v-300h200v-100h-100v-100h-200v100 h-100v100h100v200h-200zM600 0v100h100v-100h-100zM600 1000h100v-300h200v-300h300v200h-200v100h200v500h-600v-200zM800 800v300h300v-300h-300zM900 0v100h300v-100h-300zM900 900v100h100v-100h-100zM1100 200v100h100v-100h-100z" />
-<glyph unicode="&#xe040;" d="M0 200h100v1000h-100v-1000zM100 0v100h300v-100h-300zM200 200v1000h100v-1000h-100zM500 0v91h100v-91h-100zM500 200v1000h200v-1000h-200zM700 0v91h100v-91h-100zM800 200v1000h100v-1000h-100zM900 0v91h200v-91h-200zM1000 200v1000h200v-1000h-200z" />
-<glyph unicode="&#xe041;" d="M1 700v475q0 10 7.5 17.5t17.5 7.5h474l700 -700l-500 -500zM148 953q0 -42 29 -71q30 -30 71.5 -30t71.5 30q29 29 29 71t-29 71q-30 30 -71.5 30t-71.5 -30q-29 -29 -29 -71z" />
-<glyph unicode="&#xe042;" d="M2 700v475q0 11 7 18t18 7h474l700 -700l-500 -500zM148 953q0 -42 30 -71q29 -30 71 -30t71 30q30 29 30 71t-30 71q-29 30 -71 30t-71 -30q-30 -29 -30 -71zM701 1200h100l700 -700l-500 -500l-50 50l450 450z" />
-<glyph unicode="&#xe043;" d="M100 0v1025l175 175h925v-1000l-100 -100v1000h-750l-100 -100h750v-1000h-900z" />
-<glyph unicode="&#xe044;" d="M200 0l450 444l450 -443v1150q0 20 -14.5 35t-35.5 15h-800q-21 0 -35.5 -15t-14.5 -35v-1151z" />
-<glyph unicode="&#xe045;" d="M0 100v700h200l100 -200h600l100 200h200v-700h-200v200h-800v-200h-200zM253 829l40 -124h592l62 124l-94 346q-2 11 -10 18t-18 7h-450q-10 0 -18 -7t-10 -18zM281 24l38 152q2 10 11.5 17t19.5 7h500q10 0 19.5 -7t11.5 -17l38 -152q2 -10 -3.5 -17t-15.5 -7h-600 q-10 0 -15.5 7t-3.5 17z" />
-<glyph unicode="&#xe046;" d="M0 200q0 -41 29.5 -70.5t70.5 -29.5h1000q41 0 70.5 29.5t29.5 70.5v600q0 41 -29.5 70.5t-70.5 29.5h-150q-4 8 -11.5 21.5t-33 48t-53 61t-69 48t-83.5 21.5h-200q-41 0 -82 -20.5t-70 -50t-52 -59t-34 -50.5l-12 -20h-150q-41 0 -70.5 -29.5t-29.5 -70.5v-600z M356 500q0 100 72 172t172 72t172 -72t72 -172t-72 -172t-172 -72t-172 72t-72 172zM494 500q0 -44 31 -75t75 -31t75 31t31 75t-31 75t-75 31t-75 -31t-31 -75zM900 700v100h100v-100h-100z" />
-<glyph unicode="&#xe047;" d="M53 0h365v66q-41 0 -72 11t-49 38t1 71l92 234h391l82 -222q16 -45 -5.5 -88.5t-74.5 -43.5v-66h417v66q-34 1 -74 43q-18 19 -33 42t-21 37l-6 13l-385 998h-93l-399 -1006q-24 -48 -52 -75q-12 -12 -33 -25t-36 -20l-15 -7v-66zM416 521l178 457l46 -140l116 -317h-340 z" />
-<glyph unicode="&#xe048;" d="M100 0v89q41 7 70.5 32.5t29.5 65.5v827q0 28 -1 39.5t-5.5 26t-15.5 21t-29 14t-49 14.5v70h471q120 0 213 -88t93 -228q0 -55 -11.5 -101.5t-28 -74t-33.5 -47.5t-28 -28l-12 -7q8 -3 21.5 -9t48 -31.5t60.5 -58t47.5 -91.5t21.5 -129q0 -84 -59 -156.5t-142 -111 t-162 -38.5h-500zM400 200h161q89 0 153 48.5t64 132.5q0 90 -62.5 154.5t-156.5 64.5h-159v-400zM400 700h139q76 0 130 61.5t54 138.5q0 82 -84 130.5t-239 48.5v-379z" />
-<glyph unicode="&#xe049;" d="M200 0v57q77 7 134.5 40.5t65.5 80.5l173 849q10 56 -10 74t-91 37q-6 1 -10.5 2.5t-9.5 2.5v57h425l2 -57q-33 -8 -62 -25.5t-46 -37t-29.5 -38t-17.5 -30.5l-5 -12l-128 -825q-10 -52 14 -82t95 -36v-57h-500z" />
-<glyph unicode="&#xe050;" d="M-75 200h75v800h-75l125 167l125 -167h-75v-800h75l-125 -167zM300 900v300h150h700h150v-300h-50q0 29 -8 48.5t-18.5 30t-33.5 15t-39.5 5.5t-50.5 1h-200v-850l100 -50v-100h-400v100l100 50v850h-200q-34 0 -50.5 -1t-40 -5.5t-33.5 -15t-18.5 -30t-8.5 -48.5h-49z " />
-<glyph unicode="&#xe051;" d="M33 51l167 125v-75h800v75l167 -125l-167 -125v75h-800v-75zM100 901v300h150h700h150v-300h-50q0 29 -8 48.5t-18 30t-33.5 15t-40 5.5t-50.5 1h-200v-650l100 -50v-100h-400v100l100 50v650h-200q-34 0 -50.5 -1t-39.5 -5.5t-33.5 -15t-18.5 -30t-8 -48.5h-50z" />
-<glyph unicode="&#xe052;" d="M0 50q0 -20 14.5 -35t35.5 -15h1100q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-1100q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM0 350q0 -20 14.5 -35t35.5 -15h800q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-800q-21 0 -35.5 -14.5t-14.5 -35.5 v-100zM0 650q0 -20 14.5 -35t35.5 -15h1000q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-1000q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM0 950q0 -20 14.5 -35t35.5 -15h600q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-600q-21 0 -35.5 -14.5 t-14.5 -35.5v-100z" />
-<glyph unicode="&#xe053;" d="M0 50q0 -20 14.5 -35t35.5 -15h1100q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-1100q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM0 650q0 -20 14.5 -35t35.5 -15h1100q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-1100q-21 0 -35.5 -14.5t-14.5 -35.5 v-100zM200 350q0 -20 14.5 -35t35.5 -15h700q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-700q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM200 950q0 -20 14.5 -35t35.5 -15h700q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-700q-21 0 -35.5 -14.5 t-14.5 -35.5v-100z" />
-<glyph unicode="&#xe054;" d="M0 50v100q0 21 14.5 35.5t35.5 14.5h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-1100q-21 0 -35.5 15t-14.5 35zM100 650v100q0 21 14.5 35.5t35.5 14.5h1000q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-1000q-21 0 -35.5 15 t-14.5 35zM300 350v100q0 21 14.5 35.5t35.5 14.5h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-800q-21 0 -35.5 15t-14.5 35zM500 950v100q0 21 14.5 35.5t35.5 14.5h600q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-600 q-21 0 -35.5 15t-14.5 35z" />
-<glyph unicode="&#xe055;" d="M0 50v100q0 21 14.5 35.5t35.5 14.5h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-1100q-21 0 -35.5 15t-14.5 35zM0 350v100q0 21 14.5 35.5t35.5 14.5h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-1100q-21 0 -35.5 15 t-14.5 35zM0 650v100q0 21 14.5 35.5t35.5 14.5h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-1100q-21 0 -35.5 15t-14.5 35zM0 950v100q0 21 14.5 35.5t35.5 14.5h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-1100 q-21 0 -35.5 15t-14.5 35z" />
-<glyph unicode="&#xe056;" d="M0 50v100q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-100q-21 0 -35.5 15t-14.5 35zM0 350v100q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-100q-21 0 -35.5 15 t-14.5 35zM0 650v100q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-100q-21 0 -35.5 15t-14.5 35zM0 950v100q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-100q-21 0 -35.5 15 t-14.5 35zM300 50v100q0 21 14.5 35.5t35.5 14.5h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-800q-21 0 -35.5 15t-14.5 35zM300 350v100q0 21 14.5 35.5t35.5 14.5h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-800 q-21 0 -35.5 15t-14.5 35zM300 650v100q0 21 14.5 35.5t35.5 14.5h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-800q-21 0 -35.5 15t-14.5 35zM300 950v100q0 21 14.5 35.5t35.5 14.5h800q21 0 35.5 -14.5t14.5 -35.5v-10
0q0 -20 -14.5 -35t-35.5 -15 h-800q-21 0 -35.5 15t-14.5 35z" />
-<glyph unicode="&#xe057;" d="M-101 500v100h201v75l166 -125l-166 -125v75h-201zM300 0h100v1100h-100v-1100zM500 50q0 -20 14.5 -35t35.5 -15h600q20 0 35 15t15 35v100q0 21 -15 35.5t-35 14.5h-600q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM500 350q0 -20 14.5 -35t35.5 -15h300q20 0 35 15t15 35 v100q0 21 -15 35.5t-35 14.5h-300q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM500 650q0 -20 14.5 -35t35.5 -15h500q20 0 35 15t15 35v100q0 21 -15 35.5t-35 14.5h-500q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM500 950q0 -20 14.5 -35t35.5 -15h100q20 0 35 15t15 35v100 q0 21 -15 35.5t-35 14.5h-100q-21 0 -35.5 -14.5t-14.5 -35.5v-100z" />
-<glyph unicode="&#xe058;" d="M1 50q0 -20 14.5 -35t35.5 -15h600q20 0 35 15t15 35v100q0 21 -15 35.5t-35 14.5h-600q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM1 350q0 -20 14.5 -35t35.5 -15h300q20 0 35 15t15 35v100q0 21 -15 35.5t-35 14.5h-300q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM1 650 q0 -20 14.5 -35t35.5 -15h500q20 0 35 15t15 35v100q0 21 -15 35.5t-35 14.5h-500q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM1 950q0 -20 14.5 -35t35.5 -15h100q20 0 35 15t15 35v100q0 21 -15 35.5t-35 14.5h-100q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM801 0v1100h100v-1100 h-100zM934 550l167 -125v75h200v100h-200v75z" />
-<glyph unicode="&#xe059;" d="M0 275v650q0 31 22 53t53 22h750q31 0 53 -22t22 -53v-650q0 -31 -22 -53t-53 -22h-750q-31 0 -53 22t-22 53zM900 600l300 300v-600z" />
-<glyph unicode="&#xe060;" d="M0 44v1012q0 18 13 31t31 13h1112q19 0 31.5 -13t12.5 -31v-1012q0 -18 -12.5 -31t-31.5 -13h-1112q-18 0 -31 13t-13 31zM100 263l247 182l298 -131l-74 156l293 318l236 -288v500h-1000v-737zM208 750q0 56 39 95t95 39t95 -39t39 -95t-39 -95t-95 -39t-95 39t-39 95z " />
-<glyph unicode="&#xe062;" d="M148 745q0 124 60.5 231.5t165 172t226.5 64.5q123 0 227 -63t164.5 -169.5t60.5 -229.5t-73 -272q-73 -114 -166.5 -237t-150.5 -189l-57 -66q-10 9 -27 26t-66.5 70.5t-96 109t-104 135.5t-100.5 155q-63 139 -63 262zM342 772q0 -107 75.5 -182.5t181.5 -75.5 q107 0 182.5 75.5t75.5 182.5t-75.5 182t-182.5 75t-182 -75.5t-75 -181.5z" />
-<glyph unicode="&#xe063;" d="M1 600q0 122 47.5 233t127.5 191t191 127.5t233 47.5t233 -47.5t191 -127.5t127.5 -191t47.5 -233t-47.5 -233t-127.5 -191t-191 -127.5t-233 -47.5t-233 47.5t-191 127.5t-127.5 191t-47.5 233zM173 600q0 -177 125.5 -302t301.5 -125v854q-176 0 -301.5 -125 t-125.5 -302z" />
-<glyph unicode="&#xe064;" d="M117 406q0 94 34 186t88.5 172.5t112 159t115 177t87.5 194.5q21 -71 57.5 -142.5t76 -130.5t83 -118.5t82 -117t70 -116t50 -125.5t18.5 -136q0 -89 -39 -165.5t-102 -126.5t-140 -79.5t-156 -33.5q-114 6 -211.5 53t-161.5 138.5t-64 210.5zM243 414q14 -82 59.5 -136 t136.5 -80l16 98q-7 6 -18 17t-34 48t-33 77q-15 73 -14 143.5t10 122.5l9 51q-92 -110 -119.5 -185t-12.5 -156z" />
-<glyph unicode="&#xe065;" d="M0 400v300q0 165 117.5 282.5t282.5 117.5q366 -6 397 -14l-186 -186h-311q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v125l200 200v-225q0 -165 -117.5 -282.5t-282.5 -117.5h-300q-165 0 -282.5 117.5 t-117.5 282.5zM436 341l161 50l412 412l-114 113l-405 -405zM995 1015l113 -113l113 113l-21 85l-92 28z" />
-<glyph unicode="&#xe066;" d="M0 400v300q0 165 117.5 282.5t282.5 117.5h261l2 -80q-133 -32 -218 -120h-145q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5l200 153v-53q0 -165 -117.5 -282.5t-282.5 -117.5h-300q-165 0 -282.5 117.5t-117.5 282.5 zM423 524q30 38 81.5 64t103 35.5t99 14t77.5 3.5l29 -1v-209l360 324l-359 318v-216q-7 0 -19 -1t-48 -8t-69.5 -18.5t-76.5 -37t-76.5 -59t-62 -88t-39.5 -121.5z" />
-<glyph unicode="&#xe067;" d="M0 400v300q0 165 117.5 282.5t282.5 117.5h300q60 0 127 -23l-178 -177h-349q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v69l200 200v-169q0 -165 -117.5 -282.5t-282.5 -117.5h-300q-165 0 -282.5 117.5 t-117.5 282.5zM342 632l283 -284l566 567l-136 137l-430 -431l-147 147z" />
-<glyph unicode="&#xe068;" d="M0 603l300 296v-198h200v200h-200l300 300l295 -300h-195v-200h200v198l300 -296l-300 -300v198h-200v-200h195l-295 -300l-300 300h200v200h-200v-198z" />
-<glyph unicode="&#xe069;" d="M200 50v1000q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-437l500 487v-1100l-500 488v-438q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5z" />
-<glyph unicode="&#xe070;" d="M0 50v1000q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-437l500 487v-487l500 487v-1100l-500 488v-488l-500 488v-438q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5z" />
-<glyph unicode="&#xe071;" d="M136 550l564 550v-487l500 487v-1100l-500 488v-488z" />
-<glyph unicode="&#xe072;" d="M200 0l900 550l-900 550v-1100z" />
-<glyph unicode="&#xe073;" d="M200 150q0 -21 14.5 -35.5t35.5 -14.5h200q21 0 35.5 14.5t14.5 35.5v800q0 21 -14.5 35.5t-35.5 14.5h-200q-21 0 -35.5 -14.5t-14.5 -35.5v-800zM600 150q0 -21 14.5 -35.5t35.5 -14.5h200q21 0 35.5 14.5t14.5 35.5v800q0 21 -14.5 35.5t-35.5 14.5h-200 q-21 0 -35.5 -14.5t-14.5 -35.5v-800z" />
-<glyph unicode="&#xe074;" d="M200 150q0 -20 14.5 -35t35.5 -15h800q21 0 35.5 15t14.5 35v800q0 21 -14.5 35.5t-35.5 14.5h-800q-21 0 -35.5 -14.5t-14.5 -35.5v-800z" />
-<glyph unicode="&#xe075;" d="M0 0v1100l500 -487v487l564 -550l-564 -550v488z" />
-<glyph unicode="&#xe076;" d="M0 0v1100l500 -487v487l500 -487v437q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-1000q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v438l-500 -488v488z" />
-<glyph unicode="&#xe077;" d="M300 0v1100l500 -487v437q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-1000q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v438z" />
-<glyph unicode="&#xe078;" d="M100 250v100q0 21 14.5 35.5t35.5 14.5h1000q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1000q-21 0 -35.5 14.5t-14.5 35.5zM100 500h1100l-550 564z" />
-<glyph unicode="&#xe079;" d="M185 599l592 -592l240 240l-353 353l353 353l-240 240z" />
-<glyph unicode="&#xe080;" d="M272 194l353 353l-353 353l241 240l572 -571l21 -22l-1 -1v-1l-592 -591z" />
-<glyph unicode="&#xe081;" d="M3 600q0 162 80 299.5t217.5 217.5t299.5 80t299.5 -80t217.5 -217.5t80 -299.5t-80 -300t-217.5 -218t-299.5 -80t-299.5 80t-217.5 218t-80 300zM300 500h200v-200h200v200h200v200h-200v200h-200v-200h-200v-200z" />
-<glyph unicode="&#xe082;" d="M3 600q0 162 80 299.5t217.5 217.5t299.5 80t299.5 -80t217.5 -217.5t80 -299.5t-80 -300t-217.5 -218t-299.5 -80t-299.5 80t-217.5 218t-80 300zM300 500h600v200h-600v-200z" />
-<glyph unicode="&#xe083;" d="M3 600q0 162 80 299.5t217.5 217.5t299.5 80t299.5 -80t217.5 -217.5t80 -299.5t-80 -300t-217.5 -218t-299.5 -80t-299.5 80t-217.5 218t-80 300zM246 459l213 -213l141 142l141 -142l213 213l-142 141l142 141l-213 212l-141 -141l-141 142l-212 -213l141 -141z" />
-<glyph unicode="&#xe084;" d="M3 600q0 162 80 299.5t217.5 217.5t299.5 80t299.5 -80t217.5 -217.5t80 -299.5t-80 -299.5t-217.5 -217.5t-299.5 -80t-299.5 80t-217.5 217.5t-80 299.5zM270 551l276 -277l411 411l-175 174l-236 -236l-102 102z" />
-<glyph unicode="&#xe085;" d="M3 600q0 162 80 299.5t217.5 217.5t299.5 80t299.5 -80t217.5 -217.5t80 -299.5t-80 -300t-217.5 -218t-299.5 -80t-299.5 80t-217.5 218t-80 300zM363 700h144q4 0 11.5 -1t11 -1t6.5 3t3 9t1 11t3.5 8.5t3.5 6t5.5 4t6.5 2.5t9 1.5t9 0.5h11.5h12.5q19 0 30 -10t11 -26 q0 -22 -4 -28t-27 -22q-5 -1 -12.5 -3t-27 -13.5t-34 -27t-26.5 -46t-11 -68.5h200q5 3 14 8t31.5 25.5t39.5 45.5t31 69t14 94q0 51 -17.5 89t-42 58t-58.5 32t-58.5 15t-51.5 3q-105 0 -172 -56t-67 -183zM500 300h200v100h-200v-100z" />
-<glyph unicode="&#xe086;" d="M3 600q0 162 80 299.5t217.5 217.5t299.5 80t299.5 -80t217.5 -217.5t80 -299.5t-80 -300t-217.5 -218t-299.5 -80t-299.5 80t-217.5 218t-80 300zM400 300h400v100h-100v300h-300v-100h100v-200h-100v-100zM500 800h200v100h-200v-100z" />
-<glyph unicode="&#xe087;" d="M0 500v200h194q15 60 36 104.5t55.5 86t88 69t126.5 40.5v200h200v-200q54 -20 113 -60t112.5 -105.5t71.5 -134.5h203v-200h-203q-25 -102 -116.5 -186t-180.5 -117v-197h-200v197q-140 27 -208 102.5t-98 200.5h-194zM290 500q24 -73 79.5 -127.5t130.5 -78.5v206h200 v-206q149 48 201 206h-201v200h200q-25 74 -76 127.5t-124 76.5v-204h-200v203q-75 -24 -130 -77.5t-79 -125.5h209v-200h-210z" />
-<glyph unicode="&#xe088;" d="M4 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM186 600q0 -171 121.5 -292.5t292.5 -121.5t292.5 121.5t121.5 292.5t-121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM356 465l135 135 l-135 135l109 109l135 -135l135 135l109 -109l-135 -135l135 -135l-109 -109l-135 135l-135 -135z" />
-<glyph unicode="&#xe089;" d="M4 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM186 600q0 -171 121.5 -292.5t292.5 -121.5t292.5 121.5t121.5 292.5t-121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM322 537l141 141 l87 -87l204 205l142 -142l-346 -345z" />
-<glyph unicode="&#xe090;" d="M4 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM186 600q0 -115 62 -215l568 567q-100 62 -216 62q-171 0 -292.5 -121.5t-121.5 -292.5zM391 245q97 -59 209 -59q171 0 292.5 121.5t121.5 292.5 q0 112 -59 209z" />
-<glyph unicode="&#xe091;" d="M0 547l600 453v-300h600v-300h-600v-301z" />
-<glyph unicode="&#xe092;" d="M0 400v300h600v300l600 -453l-600 -448v301h-600z" />
-<glyph unicode="&#xe093;" d="M204 600l450 600l444 -600h-298v-600h-300v600h-296z" />
-<glyph unicode="&#xe094;" d="M104 600h296v600h300v-600h298l-449 -600z" />
-<glyph unicode="&#xe095;" d="M0 200q6 132 41 238.5t103.5 193t184 138t271.5 59.5v271l600 -453l-600 -448v301q-95 -2 -183 -20t-170 -52t-147 -92.5t-100 -135.5z" />
-<glyph unicode="&#xe096;" d="M0 0v400l129 -129l294 294l142 -142l-294 -294l129 -129h-400zM635 777l142 -142l294 294l129 -129v400h-400l129 -129z" />
-<glyph unicode="&#xe097;" d="M34 176l295 295l-129 129h400v-400l-129 130l-295 -295zM600 600v400l129 -129l295 295l142 -141l-295 -295l129 -130h-400z" />
-<glyph unicode="&#xe101;" d="M23 600q0 118 45.5 224.5t123 184t184 123t224.5 45.5t224.5 -45.5t184 -123t123 -184t45.5 -224.5t-45.5 -224.5t-123 -184t-184 -123t-224.5 -45.5t-224.5 45.5t-184 123t-123 184t-45.5 224.5zM456 851l58 -302q4 -20 21.5 -34.5t37.5 -14.5h54q20 0 37.5 14.5 t21.5 34.5l58 302q4 20 -8 34.5t-33 14.5h-207q-20 0 -32 -14.5t-8 -34.5zM500 300h200v100h-200v-100z" />
-<glyph unicode="&#xe102;" d="M0 800h100v-200h400v300h200v-300h400v200h100v100h-111v6t-1 15t-3 18l-34 172q-11 39 -41.5 63t-69.5 24q-32 0 -61 -17l-239 -144q-22 -13 -40 -35q-19 24 -40 36l-238 144q-33 18 -62 18q-39 0 -69.5 -23t-40.5 -61l-35 -177q-2 -8 -3 -18t-1 -15v-6h-111v-100z M100 0h400v400h-400v-400zM200 900q-3 0 14 48t35 96l18 47l214 -191h-281zM700 0v400h400v-400h-400zM731 900l202 197q5 -12 12 -32.5t23 -64t25 -72t7 -28.5h-269z" />
-<glyph unicode="&#xe103;" d="M0 -22v143l216 193q-9 53 -13 83t-5.5 94t9 113t38.5 114t74 124q47 60 99.5 102.5t103 68t127.5 48t145.5 37.5t184.5 43.5t220 58.5q0 -189 -22 -343t-59 -258t-89 -181.5t-108.5 -120t-122 -68t-125.5 -30t-121.5 -1.5t-107.5 12.5t-87.5 17t-56.5 7.5l-99 -55z M238.5 300.5q19.5 -6.5 86.5 76.5q55 66 367 234q70 38 118.5 69.5t102 79t99 111.5t86.5 148q22 50 24 60t-6 19q-7 5 -17 5t-26.5 -14.5t-33.5 -39.5q-35 -51 -113.5 -108.5t-139.5 -89.5l-61 -32q-369 -197 -458 -401q-48 -111 -28.5 -117.5z" />
-<glyph unicode="&#xe104;" d="M111 408q0 -33 5 -63q9 -56 44 -119.5t105 -108.5q31 -21 64 -16t62 23.5t57 49.5t48 61.5t35 60.5q32 66 39 184.5t-13 157.5q79 -80 122 -164t26 -184q-5 -33 -20.5 -69.5t-37.5 -80.5q-10 -19 -14.5 -29t-12 -26t-9 -23.5t-3 -19t2.5 -15.5t11 -9.5t19.5 -5t30.5 2.5 t42 8q57 20 91 34t87.5 44.5t87 64t65.5 88.5t47 122q38 172 -44.5 341.5t-246.5 278.5q22 -44 43 -129q39 -159 -32 -154q-15 2 -33 9q-79 33 -120.5 100t-44 175.5t48.5 257.5q-13 -8 -34 -23.5t-72.5 -66.5t-88.5 -105.5t-60 -138t-8 -166.5q2 -12 8 -41.5t8 -43t6 -39.5 t3.5 -39.5t-1 -33.5t-6 -31.5t-13.5 -24t-21 -20.5t-31 -12q-38 -10 -67 13t-40.5 61.5t-15 81.5t10.5 75q-52 -46 -83.5 -101t-39 -107t-7.5 -85z" />
-<glyph unicode="&#xe105;" d="M-61 600l26 40q6 10 20 30t49 63.5t74.5 85.5t97 90t116.5 83.5t132.5 59t145.5 23.5t145.5 -23.5t132.5 -59t116.5 -83.5t97 -90t74.5 -85.5t49 -63.5t20 -30l26 -40l-26 -40q-6 -10 -20 -30t-49 -63.5t-74.5 -85.5t-97 -90t-116.5 -83.5t-132.5 -59t-145.5 -23.5 t-145.5 23.5t-132.5 59t-116.5 83.5t-97 90t-74.5 85.5t-49 63.5t-20 30zM120 600q7 -10 40.5 -58t56 -78.5t68 -77.5t87.5 -75t103 -49.5t125 -21.5t123.5 20t100.5 45.5t85.5 71.5t66.5 75.5t58 81.5t47 66q-1 1 -28.5 37.5t-42 55t-43.5 53t-57.5 63.5t-58.5 54 q49 -74 49 -163q0 -124 -88 -212t-212 -88t-212 88t-88 212q0 85 46 158q-102 -87 -226 -258zM377 656q49 -124 154 -191l105 105q-37 24 -75 72t-57 84l-20 36z" />
-<glyph unicode="&#xe106;" d="M-61 600l26 40q6 10 20 30t49 63.5t74.5 85.5t97 90t116.5 83.5t132.5 59t145.5 23.5q61 0 121 -17l37 142h148l-314 -1200h-148l37 143q-82 21 -165 71.5t-140 102t-109.5 112t-72 88.5t-29.5 43zM120 600q210 -282 393 -336l37 141q-107 18 -178.5 101.5t-71.5 193.5 q0 85 46 158q-102 -87 -226 -258zM377 656q49 -124 154 -191l47 47l23 87q-30 28 -59 69t-44 68l-14 26zM780 161l38 145q22 15 44.5 34t46 44t40.5 44t41 50.5t33.5 43.5t33 44t24.5 34q-97 127 -140 175l39 146q67 -54 131.5 -125.5t87.5 -103.5t36 -52l26 -40l-26 -40 q-7 -12 -25.5 -38t-63.5 -79.5t-95.5 -102.5t-124 -100t-146.5 -79z" />
-<glyph unicode="&#xe107;" d="M-97.5 34q13.5 -34 50.5 -34h1294q37 0 50.5 35.5t-7.5 67.5l-642 1056q-20 33 -48 36t-48 -29l-642 -1066q-21 -32 -7.5 -66zM155 200l445 723l445 -723h-345v100h-200v-100h-345zM500 600l100 -300l100 300v100h-200v-100z" />
-<glyph unicode="&#xe108;" d="M100 262v41q0 20 11 44.5t26 38.5l363 325v339q0 62 44 106t106 44t106 -44t44 -106v-339l363 -325q15 -14 26 -38.5t11 -44.5v-41q0 -20 -12 -26.5t-29 5.5l-359 249v-263q100 -91 100 -113v-64q0 -21 -13 -29t-32 1l-94 78h-222l-94 -78q-19 -9 -32 -1t-13 29v64 q0 22 100 113v263l-359 -249q-17 -12 -29 -5.5t-12 26.5z" />
-<glyph unicode="&#xe109;" d="M0 50q0 -20 14.5 -35t35.5 -15h1000q21 0 35.5 15t14.5 35v750h-1100v-750zM0 900h1100v150q0 21 -14.5 35.5t-35.5 14.5h-150v100h-100v-100h-500v100h-100v-100h-150q-21 0 -35.5 -14.5t-14.5 -35.5v-150zM100 100v100h100v-100h-100zM100 300v100h100v-100h-100z M100 500v100h100v-100h-100zM300 100v100h100v-100h-100zM300 300v100h100v-100h-100zM300 500v100h100v-100h-100zM500 100v100h100v-100h-100zM500 300v100h100v-100h-100zM500 500v100h100v-100h-100zM700 100v100h100v-100h-100zM700 300v100h100v-100h-100zM700 500 v100h100v-100h-100zM900 100v100h100v-100h-100zM900 300v100h100v-100h-100zM900 500v100h100v-100h-100z" />
-<glyph unicode="&#xe110;" d="M0 200v200h259l600 600h241v198l300 -295l-300 -300v197h-159l-600 -600h-341zM0 800h259l122 -122l141 142l-181 180h-341v-200zM678 381l141 142l122 -123h159v198l300 -295l-300 -300v197h-241z" />
-<glyph unicode="&#xe111;" d="M0 400v600q0 41 29.5 70.5t70.5 29.5h1000q41 0 70.5 -29.5t29.5 -70.5v-600q0 -41 -29.5 -70.5t-70.5 -29.5h-596l-304 -300v300h-100q-41 0 -70.5 29.5t-29.5 70.5z" />
-<glyph unicode="&#xe112;" d="M100 600v200h300v-250q0 -113 6 -145q17 -92 102 -117q39 -11 92 -11q37 0 66.5 5.5t50 15.5t36 24t24 31.5t14 37.5t7 42t2.5 45t0 47v25v250h300v-200q0 -42 -3 -83t-15 -104t-31.5 -116t-58 -109.5t-89 -96.5t-129 -65.5t-174.5 -25.5t-174.5 25.5t-129 65.5t-89 96.5 t-58 109.5t-31.5 116t-15 104t-3 83zM100 900v300h300v-300h-300zM800 900v300h300v-300h-300z" />
-<glyph unicode="&#xe113;" d="M-30 411l227 -227l352 353l353 -353l226 227l-578 579z" />
-<glyph unicode="&#xe114;" d="M70 797l580 -579l578 579l-226 227l-353 -353l-352 353z" />
-<glyph unicode="&#xe115;" d="M-198 700l299 283l300 -283h-203v-400h385l215 -200h-800v600h-196zM402 1000l215 -200h381v-400h-198l299 -283l299 283h-200v600h-796z" />
-<glyph unicode="&#xe116;" d="M18 939q-5 24 10 42q14 19 39 19h896l38 162q5 17 18.5 27.5t30.5 10.5h94q20 0 35 -14.5t15 -35.5t-15 -35.5t-35 -14.5h-54l-201 -961q-2 -4 -6 -10.5t-19 -17.5t-33 -11h-31v-50q0 -20 -14.5 -35t-35.5 -15t-35.5 15t-14.5 35v50h-300v-50q0 -20 -14.5 -35t-35.5 -15 t-35.5 15t-14.5 35v50h-50q-21 0 -35.5 15t-14.5 35q0 21 14.5 35.5t35.5 14.5h535l48 200h-633q-32 0 -54.5 21t-27.5 43z" />
-<glyph unicode="&#xe117;" d="M0 0v800h1200v-800h-1200zM0 900v100h200q0 41 29.5 70.5t70.5 29.5h300q41 0 70.5 -29.5t29.5 -70.5h500v-100h-1200z" />
-<glyph unicode="&#xe118;" d="M1 0l300 700h1200l-300 -700h-1200zM1 400v600h200q0 41 29.5 70.5t70.5 29.5h300q41 0 70.5 -29.5t29.5 -70.5h500v-200h-1000z" />
-<glyph unicode="&#xe119;" d="M302 300h198v600h-198l298 300l298 -300h-198v-600h198l-298 -300z" />
-<glyph unicode="&#xe120;" d="M0 600l300 298v-198h600v198l300 -298l-300 -297v197h-600v-197z" />
-<glyph unicode="&#xe121;" d="M0 100v100q0 41 29.5 70.5t70.5 29.5h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5zM31 400l172 739q5 22 23 41.5t38 19.5h672q19 0 37.5 -22.5t23.5 -45.5l172 -732h-1138zM800 100h100v100h-100v-100z M1000 100h100v100h-100v-100z" />
-<glyph unicode="&#xe122;" d="M-101 600v50q0 24 25 49t50 38l25 13v-250l-11 5.5t-24 14t-30 21.5t-24 27.5t-11 31.5zM99 500v250v5q0 13 0.5 18.5t2.5 13t8 10.5t15 3h200l675 250v-850l-675 200h-38l47 -276q2 -12 -3 -17.5t-11 -6t-21 -0.5h-8h-83q-20 0 -34.5 14t-18.5 35q-56 337 -56 351z M1100 200v850q0 21 14.5 35.5t35.5 14.5q20 0 35 -14.5t15 -35.5v-850q0 -20 -15 -35t-35 -15q-21 0 -35.5 15t-14.5 35z" />
-<glyph unicode="&#xe123;" d="M74 350q0 21 13.5 35.5t33.5 14.5h17l118 173l63 327q15 77 76 140t144 83l-18 32q-6 19 3 32t29 13h94q20 0 29 -10.5t3 -29.5l-18 -37q83 -19 144 -82.5t76 -140.5l63 -327l118 -173h17q20 0 33.5 -14.5t13.5 -35.5q0 -20 -13 -40t-31 -27q-22 -9 -63 -23t-167.5 -37 t-251.5 -23t-245.5 20.5t-178.5 41.5l-58 20q-18 7 -31 27.5t-13 40.5zM497 110q12 -49 40 -79.5t63 -30.5t63 30.5t39 79.5q-48 -6 -102 -6t-103 6z" />
-<glyph unicode="&#xe124;" d="M21 445l233 -45l-78 -224l224 78l45 -233l155 179l155 -179l45 233l224 -78l-78 224l234 45l-180 155l180 156l-234 44l78 225l-224 -78l-45 233l-155 -180l-155 180l-45 -233l-224 78l78 -225l-233 -44l179 -156z" />
-<glyph unicode="&#xe125;" d="M0 200h200v600h-200v-600zM300 275q0 -75 100 -75h61q123 -100 139 -100h250q46 0 83 57l238 344q29 31 29 74v100q0 44 -30.5 84.5t-69.5 40.5h-328q28 118 28 125v150q0 44 -30.5 84.5t-69.5 40.5h-50q-27 0 -51 -20t-38 -48l-96 -198l-145 -196q-20 -26 -20 -63v-400z M400 300v375l150 212l100 213h50v-175l-50 -225h450v-125l-250 -375h-214l-136 100h-100z" />
-<glyph unicode="&#xe126;" d="M0 400v600h200v-600h-200zM300 525v400q0 75 100 75h61q123 100 139 100h250q46 0 83 -57l238 -344q29 -31 29 -74v-100q0 -44 -30.5 -84.5t-69.5 -40.5h-328q28 -118 28 -125v-150q0 -44 -30.5 -84.5t-69.5 -40.5h-50q-27 0 -51 20t-38 48l-96 198l-145 196 q-20 26 -20 63zM400 525l150 -212l100 -213h50v175l-50 225h450v125l-250 375h-214l-136 -100h-100v-375z" />
-<glyph unicode="&#xe127;" d="M8 200v600h200v-600h-200zM308 275v525q0 17 14 35.5t28 28.5l14 9l362 230q14 6 25 6q17 0 29 -12l109 -112q14 -14 14 -34q0 -18 -11 -32l-85 -121h302q85 0 138.5 -38t53.5 -110t-54.5 -111t-138.5 -39h-107l-130 -339q-7 -22 -20.5 -41.5t-28.5 -19.5h-341 q-7 0 -90 81t-83 94zM408 289l100 -89h293l131 339q6 21 19.5 41t28.5 20h203q16 0 25 15t9 36q0 20 -9 34.5t-25 14.5h-457h-6.5h-7.5t-6.5 0.5t-6 1t-5 1.5t-5.5 2.5t-4 4t-4 5.5q-5 12 -5 20q0 14 10 27l147 183l-86 83l-339 -236v-503z" />
-<glyph unicode="&#xe128;" d="M-101 651q0 72 54 110t139 37h302l-85 121q-11 16 -11 32q0 21 14 34l109 113q13 12 29 12q11 0 25 -6l365 -230q7 -4 16.5 -10.5t26 -26t16.5 -36.5v-526q0 -13 -85.5 -93.5t-93.5 -80.5h-342q-15 0 -28.5 20t-19.5 41l-131 339h-106q-84 0 -139 39t-55 111zM-1 601h222 q15 0 28.5 -20.5t19.5 -40.5l131 -339h293l106 89v502l-342 237l-87 -83l145 -184q10 -11 10 -26q0 -11 -5 -20q-1 -3 -3.5 -5.5l-4 -4t-5 -2.5t-5.5 -1.5t-6.5 -1t-6.5 -0.5h-7.5h-6.5h-476v-100zM999 201v600h200v-600h-200z" />
-<glyph unicode="&#xe129;" d="M97 719l230 -363q4 -6 10.5 -15.5t26 -25t36.5 -15.5h525q13 0 94 83t81 90v342q0 15 -20 28.5t-41 19.5l-339 131v106q0 84 -39 139t-111 55t-110 -53.5t-38 -138.5v-302l-121 84q-15 12 -33.5 11.5t-32.5 -13.5l-112 -110q-22 -22 -6 -53zM172 739l83 86l183 -146 q22 -18 47 -5q3 1 5.5 3.5l4 4t2.5 5t1.5 5.5t1 6.5t0.5 6v7.5v7v456q0 22 25 31t50 -0.5t25 -30.5v-202q0 -16 20 -29.5t41 -19.5l339 -130v-294l-89 -100h-503zM400 0v200h600v-200h-600z" />
-<glyph unicode="&#xe130;" d="M1 585q-15 -31 7 -53l112 -110q13 -13 32 -13.5t34 10.5l121 85l-1 -302q0 -84 38.5 -138t110.5 -54t111 55t39 139v106l339 131q20 6 40.5 19.5t20.5 28.5v342q0 7 -81 90t-94 83h-525q-17 0 -35.5 -14t-28.5 -28l-10 -15zM76 565l237 339h503l89 -100v-294l-340 -130 q-20 -6 -40 -20t-20 -29v-202q0 -22 -25 -31t-50 0t-25 31v456v14.5t-1.5 11.5t-5 12t-9.5 7q-24 13 -46 -5l-184 -146zM305 1104v200h600v-200h-600z" />
-<glyph unicode="&#xe131;" d="M5 597q0 122 47.5 232.5t127.5 190.5t190.5 127.5t232.5 47.5q162 0 299.5 -80t217.5 -218t80 -300t-80 -299.5t-217.5 -217.5t-299.5 -80t-300 80t-218 217.5t-80 299.5zM300 500h300l-2 -194l402 294l-402 298v-197h-298v-201z" />
-<glyph unicode="&#xe132;" d="M0 597q0 122 47.5 232.5t127.5 190.5t190.5 127.5t231.5 47.5q122 0 232.5 -47.5t190.5 -127.5t127.5 -190.5t47.5 -232.5q0 -162 -80 -299.5t-218 -217.5t-300 -80t-299.5 80t-217.5 217.5t-80 299.5zM200 600l400 -294v194h302v201h-300v197z" />
-<glyph unicode="&#xe133;" d="M5 597q0 122 47.5 232.5t127.5 190.5t190.5 127.5t232.5 47.5q121 0 231.5 -47.5t190.5 -127.5t127.5 -190.5t47.5 -232.5q0 -162 -80 -299.5t-217.5 -217.5t-299.5 -80t-300 80t-218 217.5t-80 299.5zM300 600h200v-300h200v300h200l-300 400z" />
-<glyph unicode="&#xe134;" d="M5 597q0 122 47.5 232.5t127.5 190.5t190.5 127.5t232.5 47.5q121 0 231.5 -47.5t190.5 -127.5t127.5 -190.5t47.5 -232.5q0 -162 -80 -299.5t-217.5 -217.5t-299.5 -80t-300 80t-218 217.5t-80 299.5zM300 600l300 -400l300 400h-200v300h-200v-300h-200z" />
-<glyph unicode="&#xe135;" d="M5 597q0 122 47.5 232.5t127.5 190.5t190.5 127.5t232.5 47.5q121 0 231.5 -47.5t190.5 -127.5t127.5 -190.5t47.5 -232.5q0 -162 -80 -299.5t-217.5 -217.5t-299.5 -80t-300 80t-218 217.5t-80 299.5zM254 780q-8 -34 5.5 -93t7.5 -87q0 -9 17 -44t16 -60q12 0 23 -5.5 t23 -15t20 -13.5q20 -10 108 -42q22 -8 53 -31.5t59.5 -38.5t57.5 -11q8 -18 -15 -55.5t-20 -57.5q12 -21 22.5 -34.5t28 -27t36.5 -17.5q0 -6 -3 -15.5t-3.5 -14.5t4.5 -17q101 -2 221 111q31 30 47 48t34 49t21 62q-14 9 -37.5 9.5t-35.5 7.5q-14 7 -49 15t-52 19 q-9 0 -39.5 -0.5t-46.5 -1.5t-39 -6.5t-39 -16.5q-50 -35 -66 -12q-4 2 -3.5 25.5t0.5 25.5q-6 13 -26.5 17t-24.5 7q2 22 -2 41t-16.5 28t-38.5 -20q-23 -25 -42 4q-19 28 -8 58q8 16 22 22q6 -1 26 -1.5t33.5 -4.5t19.5 -13q12 -19 32 -37.5t34 -27.5l14 -8q0 3 9.5 39.5 t5.5 57.5q-4 23 14.5 44.5t22.5 31.5q5 14 10 35t8.5 31t15.5 22.5t34 21.5q-6 18 10 37q8 0 23.5 -1.5t24.5 -1.5t20.5 4.5t20.5 15.5q-10 23 -30.5 42.5t-38 30t-49 26.5t-43.5 23q11 41 1 44q31 -13 58.5 -14.5t39.5 3.5l11 4q6 3
6 -17 53.5t-64 28.5t-56 23 q-19 -3 -37 0q-15 -12 -36.5 -21t-34.5 -12t-44 -8t-39 -6q-15 -3 -46 0t-45 -3q-20 -6 -51.5 -25.5t-34.5 -34.5q-3 -11 6.5 -22.5t8.5 -18.5q-3 -34 -27.5 -91t-29.5 -79zM518 915q3 12 16 30.5t16 25.5q10 -10 18.5 -10t14 6t14.5 14.5t16 12.5q0 -18 8 -42.5t16.5 -44 t9.5 -23.5q-6 1 -39 5t-53.5 10t-36.5 16z" />
-<glyph unicode="&#xe136;" d="M0 164.5q0 21.5 15 37.5l600 599q-33 101 6 201.5t135 154.5q164 92 306 -9l-259 -138l145 -232l251 126q13 -175 -151 -267q-123 -70 -253 -23l-596 -596q-15 -16 -36.5 -16t-36.5 16l-111 110q-15 15 -15 36.5z" />
-<glyph unicode="&#xe137;" horiz-adv-x="1220" d="M0 196v100q0 41 29.5 70.5t70.5 29.5h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5zM0 596v100q0 41 29.5 70.5t70.5 29.5h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000 q-41 0 -70.5 29.5t-29.5 70.5zM0 996v100q0 41 29.5 70.5t70.5 29.5h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5zM600 596h500v100h-500v-100zM800 196h300v100h-300v-100zM900 996h200v100h-200v-100z" />
-<glyph unicode="&#xe138;" d="M100 1100v100h1000v-100h-1000zM150 1000h900l-350 -500v-300l-200 -200v500z" />
-<glyph unicode="&#xe139;" d="M0 200v200h1200v-200q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5zM0 500v400q0 41 29.5 70.5t70.5 29.5h300v100q0 41 29.5 70.5t70.5 29.5h200q41 0 70.5 -29.5t29.5 -70.5v-100h300q41 0 70.5 -29.5t29.5 -70.5v-400h-500v100h-200v-100h-500z M500 1000h200v100h-200v-100z" />
-<glyph unicode="&#xe140;" d="M0 0v400l129 -129l200 200l142 -142l-200 -200l129 -129h-400zM0 800l129 129l200 -200l142 142l-200 200l129 129h-400v-400zM729 329l142 142l200 -200l129 129v-400h-400l129 129zM729 871l200 200l-129 129h400v-400l-129 129l-200 -200z" />
-<glyph unicode="&#xe141;" d="M0 596q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM182 596q0 -172 121.5 -293t292.5 -121t292.5 121t121.5 293q0 171 -121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM291 655 q0 23 15.5 38.5t38.5 15.5t39 -16t16 -38q0 -23 -16 -39t-39 -16q-22 0 -38 16t-16 39zM400 850q0 22 16 38.5t39 16.5q22 0 38 -16t16 -39t-16 -39t-38 -16q-23 0 -39 16.5t-16 38.5zM513 609q0 32 21 56.5t52 29.5l122 126l1 1q-9 14 -9 28q0 22 16 38.5t39 16.5 q22 0 38 -16t16 -39t-16 -39t-38 -16q-16 0 -29 10l-55 -145q17 -22 17 -51q0 -36 -25.5 -61.5t-61.5 -25.5q-37 0 -62.5 25.5t-25.5 61.5zM800 655q0 22 16 38t39 16t38.5 -15.5t15.5 -38.5t-16 -39t-38 -16q-23 0 -39 16t-16 39z" />
-<glyph unicode="&#xe142;" d="M-40 375q-13 -95 35 -173q35 -57 94 -89t129 -32q63 0 119 28q33 16 65 40.5t52.5 45.5t59.5 64q40 44 57 61l394 394q35 35 47 84t-3 96q-27 87 -117 104q-20 2 -29 2q-46 0 -79.5 -17t-67.5 -51l-388 -396l-7 -7l69 -67l377 373q20 22 39 38q23 23 50 23q38 0 53 -36 q16 -39 -20 -75l-547 -547q-52 -52 -125 -52q-55 0 -100 33t-54 96q-5 35 2.5 66t31.5 63t42 50t56 54q24 21 44 41l348 348q52 52 82.5 79.5t84 54t107.5 26.5q25 0 48 -4q95 -17 154 -94.5t51 -175.5q-7 -101 -98 -192l-252 -249l-253 -256l7 -7l69 -60l517 511 q67 67 95 157t11 183q-16 87 -67 154t-130 103q-69 33 -152 33q-107 0 -197 -55q-40 -24 -111 -95l-512 -512q-68 -68 -81 -163z" />
-<glyph unicode="&#xe143;" d="M79 784q0 131 99 229.5t230 98.5q144 0 242 -129q103 129 245 129q130 0 227 -98.5t97 -229.5q0 -46 -17.5 -91t-61 -99t-77 -89.5t-104.5 -105.5q-197 -191 -293 -322l-17 -23l-16 23q-43 58 -100 122.5t-92 99.5t-101 100l-84.5 84.5t-68 74t-60 78t-33.5 70.5t-15 78z M250 784q0 -27 30.5 -70t61.5 -75.5t95 -94.5l22 -22q93 -90 190 -201q82 92 195 203l12 12q64 62 97.5 97t64.5 79t31 72q0 71 -48 119.5t-106 48.5q-73 0 -131 -83l-118 -171l-114 174q-51 80 -124 80q-59 0 -108.5 -49.5t-49.5 -118.5z" />
-<glyph unicode="&#xe144;" d="M57 353q0 -94 66 -160l141 -141q66 -66 159 -66q95 0 159 66l283 283q66 66 66 159t-66 159l-141 141q-12 12 -19 17l-105 -105l212 -212l-389 -389l-247 248l95 95l-18 18q-46 45 -75 101l-55 -55q-66 -66 -66 -159zM269 706q0 -93 66 -159l141 -141l19 -17l105 105 l-212 212l389 389l247 -247l-95 -96l18 -18q46 -46 77 -99l29 29q35 35 62.5 88t27.5 96q0 93 -66 159l-141 141q-66 66 -159 66q-95 0 -159 -66l-283 -283q-66 -64 -66 -159z" />
-<glyph unicode="&#xe145;" d="M200 100v953q0 21 30 46t81 48t129 38t163 15t162 -15t127 -38t79 -48t29 -46v-953q0 -41 -29.5 -70.5t-70.5 -29.5h-600q-41 0 -70.5 29.5t-29.5 70.5zM300 300h600v700h-600v-700zM496 150q0 -43 30.5 -73.5t73.5 -30.5t73.5 30.5t30.5 73.5t-30.5 73.5t-73.5 30.5 t-73.5 -30.5t-30.5 -73.5z" />
-<glyph unicode="&#xe146;" d="M0 0l303 380l207 208l-210 212h300l267 279l-35 36q-15 14 -15 35t15 35q14 15 35 15t35 -15l283 -282q15 -15 15 -36t-15 -35q-14 -15 -35 -15t-35 15l-36 35l-279 -267v-300l-212 210l-208 -207z" />
-<glyph unicode="&#xe148;" d="M295 433h139q5 -77 48.5 -126.5t117.5 -64.5v335l-27 7q-46 14 -79 26.5t-72 36t-62.5 52t-40 72.5t-16.5 99q0 92 44 159.5t109 101t144 40.5v78h100v-79q38 -4 72.5 -13.5t75.5 -31.5t71 -53.5t51.5 -84t24.5 -118.5h-159q-8 72 -35 109.5t-101 50.5v-307l64 -14 q34 -7 64 -16.5t70 -31.5t67.5 -52t47.5 -80.5t20 -112.5q0 -139 -89 -224t-244 -96v-77h-100v78q-152 17 -237 104q-40 40 -52.5 93.5t-15.5 139.5zM466 889q0 -29 8 -51t16.5 -34t29.5 -22.5t31 -13.5t38 -10q7 -2 11 -3v274q-61 -8 -97.5 -37.5t-36.5 -102.5zM700 237 q170 18 170 151q0 64 -44 99.5t-126 60.5v-311z" />
-<glyph unicode="&#xe149;" d="M100 600v100h166q-24 49 -44 104q-10 26 -14.5 55.5t-3 72.5t25 90t68.5 87q97 88 263 88q129 0 230 -89t101 -208h-153q0 52 -34 89.5t-74 51.5t-76 14q-37 0 -79 -14.5t-62 -35.5q-41 -44 -41 -101q0 -11 2.5 -24.5t5.5 -24t9.5 -26.5t10.5 -25t14 -27.5t14 -25.5 t15.5 -27t13.5 -24h242v-100h-197q8 -50 -2.5 -115t-31.5 -94q-41 -59 -99 -113q35 11 84 18t70 7q32 1 102 -16t104 -17q76 0 136 30l50 -147q-41 -25 -80.5 -36.5t-59 -13t-61.5 -1.5q-23 0 -128 33t-155 29q-39 -4 -82 -17t-66 -25l-24 -11l-55 145l16.5 11t15.5 10 t13.5 9.5t14.5 12t14.5 14t17.5 18.5q48 55 54 126.5t-30 142.5h-221z" />
-<glyph unicode="&#xe150;" d="M2 300l298 -300l298 300h-198v900h-200v-900h-198zM602 900l298 300l298 -300h-198v-900h-200v900h-198z" />
-<glyph unicode="&#xe151;" d="M2 300h198v900h200v-900h198l-298 -300zM700 0v200h100v-100h200v-100h-300zM700 400v100h300v-200h-99v-100h-100v100h99v100h-200zM700 700v500h300v-500h-100v100h-100v-100h-100zM801 900h100v200h-100v-200z" />
-<glyph unicode="&#xe152;" d="M2 300h198v900h200v-900h198l-298 -300zM700 0v500h300v-500h-100v100h-100v-100h-100zM700 700v200h100v-100h200v-100h-300zM700 1100v100h300v-200h-99v-100h-100v100h99v100h-200zM801 200h100v200h-100v-200z" />
-<glyph unicode="&#xe153;" d="M2 300l298 -300l298 300h-198v900h-200v-900h-198zM800 100v400h300v-500h-100v100h-200zM800 1100v100h200v-500h-100v400h-100zM901 200h100v200h-100v-200z" />
-<glyph unicode="&#xe154;" d="M2 300l298 -300l298 300h-198v900h-200v-900h-198zM800 400v100h200v-500h-100v400h-100zM800 800v400h300v-500h-100v100h-200zM901 900h100v200h-100v-200z" />
-<glyph unicode="&#xe155;" d="M2 300l298 -300l298 300h-198v900h-200v-900h-198zM700 100v200h500v-200h-500zM700 400v200h400v-200h-400zM700 700v200h300v-200h-300zM700 1000v200h200v-200h-200z" />
-<glyph unicode="&#xe156;" d="M2 300l298 -300l298 300h-198v900h-200v-900h-198zM700 100v200h200v-200h-200zM700 400v200h300v-200h-300zM700 700v200h400v-200h-400zM700 1000v200h500v-200h-500z" />
-<glyph unicode="&#xe157;" d="M0 400v300q0 165 117.5 282.5t282.5 117.5h300q162 0 281 -118.5t119 -281.5v-300q0 -165 -118.5 -282.5t-281.5 -117.5h-300q-165 0 -282.5 117.5t-117.5 282.5zM200 300q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v500q0 41 -29.5 70.5t-70.5 29.5 h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500z" />
-<glyph unicode="&#xe158;" d="M0 400v300q0 163 119 281.5t281 118.5h300q165 0 282.5 -117.5t117.5 -282.5v-300q0 -165 -117.5 -282.5t-282.5 -117.5h-300q-163 0 -281.5 117.5t-118.5 282.5zM200 300q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v500q0 41 -29.5 70.5t-70.5 29.5 h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500zM400 300l333 250l-333 250v-500z" />
-<glyph unicode="&#xe159;" d="M0 400v300q0 163 117.5 281.5t282.5 118.5h300q163 0 281.5 -119t118.5 -281v-300q0 -165 -117.5 -282.5t-282.5 -117.5h-300q-165 0 -282.5 117.5t-117.5 282.5zM200 300q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v500q0 41 -29.5 70.5t-70.5 29.5 h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500zM300 700l250 -333l250 333h-500z" />
-<glyph unicode="&#xe160;" d="M0 400v300q0 165 117.5 282.5t282.5 117.5h300q165 0 282.5 -117.5t117.5 -282.5v-300q0 -162 -118.5 -281t-281.5 -119h-300q-165 0 -282.5 118.5t-117.5 281.5zM200 300q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v500q0 41 -29.5 70.5t-70.5 29.5 h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500zM300 400h500l-250 333z" />
-<glyph unicode="&#xe161;" d="M0 400v300h300v200l400 -350l-400 -350v200h-300zM500 0v200h500q41 0 70.5 29.5t29.5 70.5v500q0 41 -29.5 70.5t-70.5 29.5h-500v200h400q165 0 282.5 -117.5t117.5 -282.5v-300q0 -165 -117.5 -282.5t-282.5 -117.5h-400z" />
-<glyph unicode="&#xe162;" d="M216 519q10 -19 32 -19h302q-155 -438 -160 -458q-5 -21 4 -32l9 -8l9 -1q13 0 26 16l538 630q15 19 6 36q-8 18 -32 16h-300q1 4 78 219.5t79 227.5q2 17 -6 27l-8 8h-9q-16 0 -25 -15q-4 -5 -98.5 -111.5t-228 -257t-209.5 -238.5q-17 -19 -7 -40z" />
-<glyph unicode="&#xe163;" d="M0 400q0 -165 117.5 -282.5t282.5 -117.5h300q47 0 100 15v185h-500q-41 0 -70.5 29.5t-29.5 70.5v500q0 41 29.5 70.5t70.5 29.5h500v185q-14 4 -114 7.5t-193 5.5l-93 2q-165 0 -282.5 -117.5t-117.5 -282.5v-300zM600 400v300h300v200l400 -350l-400 -350v200h-300z " />
-<glyph unicode="&#xe164;" d="M0 400q0 -165 117.5 -282.5t282.5 -117.5h300q163 0 281.5 117.5t118.5 282.5v98l-78 73l-122 -123v-148q0 -41 -29.5 -70.5t-70.5 -29.5h-500q-41 0 -70.5 29.5t-29.5 70.5v500q0 41 29.5 70.5t70.5 29.5h156l118 122l-74 78h-100q-165 0 -282.5 -117.5t-117.5 -282.5 v-300zM496 709l353 342l-149 149h500v-500l-149 149l-342 -353z" />
-<glyph unicode="&#xe165;" d="M4 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM186 600q0 -171 121.5 -292.5t292.5 -121.5t292.5 121.5t121.5 292.5t-121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM406 600 q0 80 57 137t137 57t137 -57t57 -137t-57 -137t-137 -57t-137 57t-57 137z" />
-<glyph unicode="&#xe166;" d="M0 0v275q0 11 7 18t18 7h1048q11 0 19 -7.5t8 -17.5v-275h-1100zM100 800l445 -500l450 500h-295v400h-300v-400h-300zM900 150h100v50h-100v-50z" />
-<glyph unicode="&#xe167;" d="M0 0v275q0 11 7 18t18 7h1048q11 0 19 -7.5t8 -17.5v-275h-1100zM100 700h300v-300h300v300h295l-445 500zM900 150h100v50h-100v-50z" />
-<glyph unicode="&#xe168;" d="M0 0v275q0 11 7 18t18 7h1048q11 0 19 -7.5t8 -17.5v-275h-1100zM100 705l305 -305l596 596l-154 155l-442 -442l-150 151zM900 150h100v50h-100v-50z" />
-<glyph unicode="&#xe169;" d="M0 0v275q0 11 7 18t18 7h1048q11 0 19 -7.5t8 -17.5v-275h-1100zM100 988l97 -98l212 213l-97 97zM200 401h700v699l-250 -239l-149 149l-212 -212l149 -149zM900 150h100v50h-100v-50z" />
-<glyph unicode="&#xe170;" d="M0 0v275q0 11 7 18t18 7h1048q11 0 19 -7.5t8 -17.5v-275h-1100zM200 612l212 -212l98 97l-213 212zM300 1200l239 -250l-149 -149l212 -212l149 148l248 -237v700h-699zM900 150h100v50h-100v-50z" />
-<glyph unicode="&#xe171;" d="M23 415l1177 784v-1079l-475 272l-310 -393v416h-392zM494 210l672 938l-672 -712v-226z" />
-<glyph unicode="&#xe172;" d="M0 150v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100l200 -200v-850q0 -21 -15 -35.5t-35 -14.5h-150v400h-700v-400h-150q-21 0 -35.5 14.5t-14.5 35.5zM600 1000h100v200h-100v-200z" />
-<glyph unicode="&#xe173;" d="M0 150v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100l200 -200v-218l-276 -275l-120 120l-126 -127h-378v-400h-150q-21 0 -35.5 14.5t-14.5 35.5zM581 306l123 123l120 -120l353 352l123 -123l-475 -476zM600 1000h100v200h-100v-200z" />
-<glyph unicode="&#xe174;" d="M0 150v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100l200 -200v-269l-103 -103l-170 170l-298 -298h-329v-400h-150q-21 0 -35.5 14.5t-14.5 35.5zM600 1000h100v200h-100v-200zM700 133l170 170l-170 170l127 127l170 -170l170 170l127 -128l-170 -169l170 -170 l-127 -127l-170 170l-170 -170z" />
-<glyph unicode="&#xe175;" d="M0 150v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100l200 -200v-300h-400v-200h-500v-400h-150q-21 0 -35.5 14.5t-14.5 35.5zM600 300l300 -300l300 300h-200v300h-200v-300h-200zM600 1000v200h100v-200h-100z" />
-<glyph unicode="&#xe176;" d="M0 150v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100l200 -200v-402l-200 200l-298 -298h-402v-400h-150q-21 0 -35.5 14.5t-14.5 35.5zM600 300h200v-300h200v300h200l-300 300zM600 1000v200h100v-200h-100z" />
-<glyph unicode="&#xe177;" d="M0 250q0 -21 14.5 -35.5t35.5 -14.5h1100q21 0 35.5 14.5t14.5 35.5v550h-1200v-550zM0 900h1200v150q0 21 -14.5 35.5t-35.5 14.5h-1100q-21 0 -35.5 -14.5t-14.5 -35.5v-150zM100 300v200h400v-200h-400z" />
-<glyph unicode="&#xe178;" d="M0 400l300 298v-198h400v-200h-400v-198zM100 800v200h100v-200h-100zM300 800v200h100v-200h-100zM500 800v200h400v198l300 -298l-300 -298v198h-400zM800 300v200h100v-200h-100zM1000 300h100v200h-100v-200z" />
-<glyph unicode="&#xe179;" d="M100 700v400l50 100l50 -100v-300h100v300l50 100l50 -100v-300h100v300l50 100l50 -100v-400l-100 -203v-447q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v447zM800 597q0 -29 10.5 -55.5t25 -43t29 -28.5t25.5 -18l10 -5v-397q0 -21 14.5 -35.5 t35.5 -14.5h200q21 0 35.5 14.5t14.5 35.5v1106q0 31 -18 40.5t-44 -7.5l-276 -117q-25 -16 -43.5 -50.5t-18.5 -65.5v-359z" />
-<glyph unicode="&#xe180;" d="M100 0h400v56q-75 0 -87.5 6t-12.5 44v394h500v-394q0 -38 -12.5 -44t-87.5 -6v-56h400v56q-4 0 -11 0.5t-24 3t-30 7t-24 15t-11 24.5v888q0 22 25 34.5t50 13.5l25 2v56h-400v-56q75 0 87.5 -6t12.5 -44v-394h-500v394q0 38 12.5 44t87.5 6v56h-400v-56q4 0 11 -0.5 t24 -3t30 -7t24 -15t11 -24.5v-888q0 -22 -25 -34.5t-50 -13.5l-25 -2v-56z" />
-<glyph unicode="&#xe181;" d="M0 300q0 -41 29.5 -70.5t70.5 -29.5h300q41 0 70.5 29.5t29.5 70.5v500q0 41 -29.5 70.5t-70.5 29.5h-300q-41 0 -70.5 -29.5t-29.5 -70.5v-500zM100 100h400l200 200h105l295 98v-298h-425l-100 -100h-375zM100 300v200h300v-200h-300zM100 600v200h300v-200h-300z M100 1000h400l200 -200v-98l295 98h105v200h-425l-100 100h-375zM700 402v163l400 133v-163z" />
-<glyph unicode="&#xe182;" d="M16.5 974.5q0.5 -21.5 16 -90t46.5 -140t104 -177.5t175 -208q103 -103 207.5 -176t180 -103.5t137 -47t92.5 -16.5l31 1l163 162q16 17 13 40.5t-22 37.5l-192 136q-19 14 -45 12t-42 -19l-119 -118q-143 103 -267 227q-126 126 -227 268l118 118q17 17 20 41.5 t-11 44.5l-139 194q-14 19 -36.5 22t-40.5 -14l-162 -162q-1 -11 -0.5 -32.5z" />
-<glyph unicode="&#xe183;" d="M0 50v212q0 20 10.5 45.5t24.5 39.5l365 303v50q0 4 1 10.5t12 22.5t30 28.5t60 23t97 10.5t97 -10t60 -23.5t30 -27.5t12 -24l1 -10v-50l365 -303q14 -14 24.5 -39.5t10.5 -45.5v-212q0 -21 -15 -35.5t-35 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5zM0 712 q0 -21 14.5 -33.5t34.5 -8.5l202 33q20 4 34.5 21t14.5 38v146q141 24 300 24t300 -24v-146q0 -21 14.5 -38t34.5 -21l202 -33q20 -4 34.5 8.5t14.5 33.5v200q-6 8 -19 20.5t-63 45t-112 57t-171 45t-235 20.5q-92 0 -175 -10.5t-141.5 -27t-108.5 -36.5t-81.5 -40 t-53.5 -36.5t-31 -27.5l-9 -10v-200z" />
-<glyph unicode="&#xe184;" d="M100 0v100h1100v-100h-1100zM175 200h950l-125 150v250l100 100v400h-100v-200h-100v200h-200v-200h-100v200h-200v-200h-100v200h-100v-400l100 -100v-250z" />
-<glyph unicode="&#xe185;" d="M100 0h300v400q0 41 -29.5 70.5t-70.5 29.5h-100q-41 0 -70.5 -29.5t-29.5 -70.5v-400zM500 0v1000q0 41 29.5 70.5t70.5 29.5h100q41 0 70.5 -29.5t29.5 -70.5v-1000h-300zM900 0v700q0 41 29.5 70.5t70.5 29.5h100q41 0 70.5 -29.5t29.5 -70.5v-700h-300z" />
-<glyph unicode="&#xe186;" d="M-100 300v500q0 124 88 212t212 88h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212zM100 200h900v700h-900v-700zM200 300h300v300h-200v100h200v100h-300v-300h200v-100h-200v-100zM600 300h200v100h100v300h-100v100h-200v-500 zM700 400v300h100v-300h-100z" />
-<glyph unicode="&#xe187;" d="M-100 300v500q0 124 88 212t212 88h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212zM100 200h900v700h-900v-700zM200 300h100v200h100v-200h100v500h-100v-200h-100v200h-100v-500zM600 300h200v100h100v300h-100v100h-200v-500 zM700 400v300h100v-300h-100z" />
-<glyph unicode="&#xe188;" d="M-100 300v500q0 124 88 212t212 88h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212zM100 200h900v700h-900v-700zM200 300h300v100h-200v300h200v100h-300v-500zM600 300h300v100h-200v300h200v100h-300v-500z" />
-<glyph unicode="&#xe189;" d="M-100 300v500q0 124 88 212t212 88h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212zM100 200h900v700h-900v-700zM200 550l300 -150v300zM600 400l300 150l-300 150v-300z" />
-<glyph unicode="&#xe190;" d="M-100 300v500q0 124 88 212t212 88h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212zM100 200h900v700h-900v-700zM200 300v500h700v-500h-700zM300 400h130q41 0 68 42t27 107t-28.5 108t-66.5 43h-130v-300zM575 549 q0 -65 27 -107t68 -42h130v300h-130q-38 0 -66.5 -43t-28.5 -108z" />
-<glyph unicode="&#xe191;" d="M-100 300v500q0 124 88 212t212 88h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212zM100 200h900v700h-900v-700zM200 300h300v300h-200v100h200v100h-300v-300h200v-100h-200v-100zM601 300h100v100h-100v-100zM700 700h100 v-400h100v500h-200v-100z" />
-<glyph unicode="&#xe192;" d="M-100 300v500q0 124 88 212t212 88h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212zM100 200h900v700h-900v-700zM200 300h300v400h-200v100h-100v-500zM301 400v200h100v-200h-100zM601 300h100v100h-100v-100zM700 700h100 v-400h100v500h-200v-100z" />
-<glyph unicode="&#xe193;" d="M-100 300v500q0 124 88 212t212 88h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212zM100 200h900v700h-900v-700zM200 700v100h300v-300h-99v-100h-100v100h99v200h-200zM201 300v100h100v-100h-100zM601 300v100h100v-100h-100z M700 700v100h200v-500h-100v400h-100z" />
-<glyph unicode="&#xe194;" d="M4 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM186 600q0 -171 121.5 -292.5t292.5 -121.5t292.5 121.5t121.5 292.5t-121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM400 500v200 l100 100h300v-100h-300v-200h300v-100h-300z" />
-<glyph unicode="&#xe195;" d="M0 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM182 600q0 -171 121.5 -292.5t292.5 -121.5t292.5 121.5t121.5 292.5t-121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM400 400v400h300 l100 -100v-100h-100v100h-200v-100h200v-100h-200v-100h-100zM700 400v100h100v-100h-100z" />
-<glyph unicode="&#xe197;" d="M-14 494q0 -80 56.5 -137t135.5 -57h222v300h400v-300h128q120 0 205 86t85 208q0 120 -85 206.5t-205 86.5q-46 0 -90 -14q-44 97 -134.5 156.5t-200.5 59.5q-152 0 -260 -107.5t-108 -260.5q0 -25 2 -37q-66 -14 -108.5 -67.5t-42.5 -122.5zM300 200h200v300h200v-300 h200l-300 -300z" />
-<glyph unicode="&#xe198;" d="M-14 494q0 -80 56.5 -137t135.5 -57h8l414 414l403 -403q94 26 154.5 104t60.5 178q0 121 -85 207.5t-205 86.5q-46 0 -90 -14q-44 97 -134.5 156.5t-200.5 59.5q-152 0 -260 -107.5t-108 -260.5q0 -25 2 -37q-66 -14 -108.5 -67.5t-42.5 -122.5zM300 200l300 300 l300 -300h-200v-300h-200v300h-200z" />
-<glyph unicode="&#xe199;" d="M100 200h400v-155l-75 -45h350l-75 45v155h400l-270 300h170l-270 300h170l-300 333l-300 -333h170l-270 -300h170z" />
-<glyph unicode="&#xe200;" d="M121 700q0 -53 28.5 -97t75.5 -65q-4 -16 -4 -38q0 -74 52.5 -126.5t126.5 -52.5q56 0 100 30v-306l-75 -45h350l-75 45v306q46 -30 100 -30q74 0 126.5 52.5t52.5 126.5q0 24 -9 55q50 32 79.5 83t29.5 112q0 90 -61.5 155.5t-150.5 71.5q-26 89 -99.5 145.5 t-167.5 56.5q-116 0 -197.5 -81.5t-81.5 -197.5q0 -4 1 -12t1 -11q-14 2 -23 2q-74 0 -126.5 -52.5t-52.5 -126.5z" />
-</font>
-</defs></svg>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/assets/themes/mahout2/fonts/glyphicons-halflings-regular.ttf
----------------------------------------------------------------------
diff --git a/website-old/assets/themes/mahout2/fonts/glyphicons-halflings-regular.ttf b/website-old/assets/themes/mahout2/fonts/glyphicons-halflings-regular.ttf
deleted file mode 100644
index a498ef4..0000000
Binary files a/website-old/assets/themes/mahout2/fonts/glyphicons-halflings-regular.ttf and /dev/null differ

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/assets/themes/mahout2/fonts/glyphicons-halflings-regular.woff
----------------------------------------------------------------------
diff --git a/website-old/assets/themes/mahout2/fonts/glyphicons-halflings-regular.woff b/website-old/assets/themes/mahout2/fonts/glyphicons-halflings-regular.woff
deleted file mode 100644
index d83c539..0000000
Binary files a/website-old/assets/themes/mahout2/fonts/glyphicons-halflings-regular.woff and /dev/null differ
a***@apache.org
2017-12-21 04:53:23 UTC
Permalink
MAHOUT-1981 Missing Gemfile Added


Project: http://git-wip-us.apache.org/repos/asf/mahout/repo
Commit: http://git-wip-us.apache.org/repos/asf/mahout/commit/03918713
Tree: http://git-wip-us.apache.org/repos/asf/mahout/tree/03918713
Diff: http://git-wip-us.apache.org/repos/asf/mahout/diff/03918713

Branch: refs/heads/master
Commit: 03918713563bf6aac55299d7239c4e042795faf0
Parents: 9beddd3
Author: Trevor a.k.a @rawkintrevo <***@gmail.com>
Authored: Tue Dec 5 22:17:31 2017 -0600
Committer: Trevor a.k.a @rawkintrevo <***@gmail.com>
Committed: Tue Dec 5 22:17:31 2017 -0600

----------------------------------------------------------------------
website/Gemfile | 28 ++++++++++++++++++++++++++++
1 file changed, 28 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/mahout/blob/03918713/website/Gemfile
----------------------------------------------------------------------
diff --git a/website/Gemfile b/website/Gemfile
new file mode 100644
index 0000000..9e82f6a
--- /dev/null
+++ b/website/Gemfile
@@ -0,0 +1,28 @@
+source "https://rubygems.org"
+
+# Hello! This is where you manage which Jekyll version is used to run.
+# When you want to use a different version, change it below, save the
+# file and run `bundle install`. Run Jekyll with `bundle exec`, like so:
+#
+# bundle exec jekyll serve
+#
+# This will help ensure the proper Jekyll version is running.
+# Happy Jekylling!
+gem "jekyll", "3.5.0"
+
+# If you want to use GitHub Pages, remove the "gem "jekyll"" above and
+# uncomment the line below. To upgrade, run `bundle update github-pages`.
+# gem "github-pages", group: :jekyll_plugins
+
+# If you have any plugins, put them here!
+group :jekyll_plugins do
+ gem "jekyll-feed", "~> 0.6"
+end
+
+# Windows does not include zoneinfo files, so bundle the tzinfo-data gem
+gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby]
+
+require 'rbconfig'
+ if RbConfig::CONFIG['target_os'] =~ /darwin(1[0-3])/i
+ gem 'rb-fsevent', '<= 0.9.4'
+end
\ No newline at end of file
a***@apache.org
2017-12-21 04:53:13 UTC
Permalink
http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/assets/themes/mahout-retro/js/prototype.js
----------------------------------------------------------------------
diff --git a/website-old/assets/themes/mahout-retro/js/prototype.js b/website-old/assets/themes/mahout-retro/js/prototype.js
deleted file mode 100644
index dfe8ab4..0000000
--- a/website-old/assets/themes/mahout-retro/js/prototype.js
+++ /dev/null
@@ -1,4320 +0,0 @@
-/* Prototype JavaScript framework, version 1.6.0.3
- * (c) 2005-2008 Sam Stephenson
- *
- * Prototype is freely distributable under the terms of an MIT-style license.
- * For details, see the Prototype web site: http://www.prototypejs.org/
- *
- *--------------------------------------------------------------------------*/
-
-var Prototype = {
- Version: '1.6.0.3',
-
- Browser: {
- IE: !!(window.attachEvent &&
- navigator.userAgent.indexOf('Opera') === -1),
- Opera: navigator.userAgent.indexOf('Opera') > -1,
- WebKit: navigator.userAgent.indexOf('AppleWebKit/') > -1,
- Gecko: navigator.userAgent.indexOf('Gecko') > -1 &&
- navigator.userAgent.indexOf('KHTML') === -1,
- MobileSafari: !!navigator.userAgent.match(/Apple.*Mobile.*Safari/)
- },
-
- BrowserFeatures: {
- XPath: !!document.evaluate,
- SelectorsAPI: !!document.querySelector,
- ElementExtensions: !!window.HTMLElement,
- SpecificElementExtensions:
- document.createElement('div')['__proto__'] &&
- document.createElement('div')['__proto__'] !==
- document.createElement('form')['__proto__']
- },
-
- ScriptFragment: '<script[^>]*>([\\S\\s]*?)<\/script>',
- JSONFilter: /^\/\*-secure-([\s\S]*)\*\/\s*$/,
-
- emptyFunction: function() { },
- K: function(x) { return x }
-};
-
-if (Prototype.Browser.MobileSafari)
- Prototype.BrowserFeatures.SpecificElementExtensions = false;
-
-
-/* Based on Alex Arnell's inheritance implementation. */
-var Class = {
- create: function() {
- var parent = null, properties = $A(arguments);
- if (Object.isFunction(properties[0]))
- parent = properties.shift();
-
- function klass() {
- this.initialize.apply(this, arguments);
- }
-
- Object.extend(klass, Class.Methods);
- klass.superclass = parent;
- klass.subclasses = [];
-
- if (parent) {
- var subclass = function() { };
- subclass.prototype = parent.prototype;
- klass.prototype = new subclass;
- parent.subclasses.push(klass);
- }
-
- for (var i = 0; i < properties.length; i++)
- klass.addMethods(properties[i]);
-
- if (!klass.prototype.initialize)
- klass.prototype.initialize = Prototype.emptyFunction;
-
- klass.prototype.constructor = klass;
-
- return klass;
- }
-};
-
-Class.Methods = {
- addMethods: function(source) {
- var ancestor = this.superclass && this.superclass.prototype;
- var properties = Object.keys(source);
-
- if (!Object.keys({ toString: true }).length)
- properties.push("toString", "valueOf");
-
- for (var i = 0, length = properties.length; i < length; i++) {
- var property = properties[i], value = source[property];
- if (ancestor && Object.isFunction(value) &&
- value.argumentNames().first() == "$super") {
- var method = value;
- value = (function(m) {
- return function() { return ancestor[m].apply(this, arguments) };
- })(property).wrap(method);
-
- value.valueOf = method.valueOf.bind(method);
- value.toString = method.toString.bind(method);
- }
- this.prototype[property] = value;
- }
-
- return this;
- }
-};
-
-var Abstract = { };
-
-Object.extend = function(destination, source) {
- for (var property in source)
- destination[property] = source[property];
- return destination;
-};
-
-Object.extend(Object, {
- inspect: function(object) {
- try {
- if (Object.isUndefined(object)) return 'undefined';
- if (object === null) return 'null';
- return object.inspect ? object.inspect() : String(object);
- } catch (e) {
- if (e instanceof RangeError) return '...';
- throw e;
- }
- },
-
- toJSON: function(object) {
- var type = typeof object;
- switch (type) {
- case 'undefined':
- case 'function':
- case 'unknown': return;
- case 'boolean': return object.toString();
- }
-
- if (object === null) return 'null';
- if (object.toJSON) return object.toJSON();
- if (Object.isElement(object)) return;
-
- var results = [];
- for (var property in object) {
- var value = Object.toJSON(object[property]);
- if (!Object.isUndefined(value))
- results.push(property.toJSON() + ': ' + value);
- }
-
- return '{' + results.join(', ') + '}';
- },
-
- toQueryString: function(object) {
- return $H(object).toQueryString();
- },
-
- toHTML: function(object) {
- return object && object.toHTML ? object.toHTML() : String.interpret(object);
- },
-
- keys: function(object) {
- var keys = [];
- for (var property in object)
- keys.push(property);
- return keys;
- },
-
- values: function(object) {
- var values = [];
- for (var property in object)
- values.push(object[property]);
- return values;
- },
-
- clone: function(object) {
- return Object.extend({ }, object);
- },
-
- isElement: function(object) {
- return !!(object && object.nodeType == 1);
- },
-
- isArray: function(object) {
- return object != null && typeof object == "object" &&
- 'splice' in object && 'join' in object;
- },
-
- isHash: function(object) {
- return object instanceof Hash;
- },
-
- isFunction: function(object) {
- return typeof object == "function";
- },
-
- isString: function(object) {
- return typeof object == "string";
- },
-
- isNumber: function(object) {
- return typeof object == "number";
- },
-
- isUndefined: function(object) {
- return typeof object == "undefined";
- }
-});
-
-Object.extend(Function.prototype, {
- argumentNames: function() {
- var names = this.toString().match(/^[\s\(]*function[^(]*\(([^\)]*)\)/)[1]
- .replace(/\s+/g, '').split(',');
- return names.length == 1 && !names[0] ? [] : names;
- },
-
- bind: function() {
- if (arguments.length < 2 && Object.isUndefined(arguments[0])) return this;
- var __method = this, args = $A(arguments), object = args.shift();
- return function() {
- return __method.apply(object, args.concat($A(arguments)));
- }
- },
-
- bindAsEventListener: function() {
- var __method = this, args = $A(arguments), object = args.shift();
- return function(event) {
- return __method.apply(object, [event || window.event].concat(args));
- }
- },
-
- curry: function() {
- if (!arguments.length) return this;
- var __method = this, args = $A(arguments);
- return function() {
- return __method.apply(this, args.concat($A(arguments)));
- }
- },
-
- delay: function() {
- var __method = this, args = $A(arguments), timeout = args.shift() * 1000;
- return window.setTimeout(function() {
- return __method.apply(__method, args);
- }, timeout);
- },
-
- defer: function() {
- var args = [0.01].concat($A(arguments));
- return this.delay.apply(this, args);
- },
-
- wrap: function(wrapper) {
- var __method = this;
- return function() {
- return wrapper.apply(this, [__method.bind(this)].concat($A(arguments)));
- }
- },
-
- methodize: function() {
- if (this._methodized) return this._methodized;
- var __method = this;
- return this._methodized = function() {
- return __method.apply(null, [this].concat($A(arguments)));
- };
- }
-});
-
-Date.prototype.toJSON = function() {
- return '"' + this.getUTCFullYear() + '-' +
- (this.getUTCMonth() + 1).toPaddedString(2) + '-' +
- this.getUTCDate().toPaddedString(2) + 'T' +
- this.getUTCHours().toPaddedString(2) + ':' +
- this.getUTCMinutes().toPaddedString(2) + ':' +
- this.getUTCSeconds().toPaddedString(2) + 'Z"';
-};
-
-var Try = {
- these: function() {
- var returnValue;
-
- for (var i = 0, length = arguments.length; i < length; i++) {
- var lambda = arguments[i];
- try {
- returnValue = lambda();
- break;
- } catch (e) { }
- }
-
- return returnValue;
- }
-};
-
-RegExp.prototype.match = RegExp.prototype.test;
-
-RegExp.escape = function(str) {
- return String(str).replace(/([.*+?^=!:${}()|[\]\/\\])/g, '\\$1');
-};
-
-/*--------------------------------------------------------------------------*/
-
-var PeriodicalExecuter = Class.create({
- initialize: function(callback, frequency) {
- this.callback = callback;
- this.frequency = frequency;
- this.currentlyExecuting = false;
-
- this.registerCallback();
- },
-
- registerCallback: function() {
- this.timer = setInterval(this.onTimerEvent.bind(this), this.frequency * 1000);
- },
-
- execute: function() {
- this.callback(this);
- },
-
- stop: function() {
- if (!this.timer) return;
- clearInterval(this.timer);
- this.timer = null;
- },
-
- onTimerEvent: function() {
- if (!this.currentlyExecuting) {
- try {
- this.currentlyExecuting = true;
- this.execute();
- } finally {
- this.currentlyExecuting = false;
- }
- }
- }
-});
-Object.extend(String, {
- interpret: function(value) {
- return value == null ? '' : String(value);
- },
- specialChar: {
- '\b': '\\b',
- '\t': '\\t',
- '\n': '\\n',
- '\f': '\\f',
- '\r': '\\r',
- '\\': '\\\\'
- }
-});
-
-Object.extend(String.prototype, {
- gsub: function(pattern, replacement) {
- var result = '', source = this, match;
- replacement = arguments.callee.prepareReplacement(replacement);
-
- while (source.length > 0) {
- if (match = source.match(pattern)) {
- result += source.slice(0, match.index);
- result += String.interpret(replacement(match));
- source = source.slice(match.index + match[0].length);
- } else {
- result += source, source = '';
- }
- }
- return result;
- },
-
- sub: function(pattern, replacement, count) {
- replacement = this.gsub.prepareReplacement(replacement);
- count = Object.isUndefined(count) ? 1 : count;
-
- return this.gsub(pattern, function(match) {
- if (--count < 0) return match[0];
- return replacement(match);
- });
- },
-
- scan: function(pattern, iterator) {
- this.gsub(pattern, iterator);
- return String(this);
- },
-
- truncate: function(length, truncation) {
- length = length || 30;
- truncation = Object.isUndefined(truncation) ? '...' : truncation;
- return this.length > length ?
- this.slice(0, length - truncation.length) + truncation : String(this);
- },
-
- strip: function() {
- return this.replace(/^\s+/, '').replace(/\s+$/, '');
- },
-
- stripTags: function() {
- return this.replace(/<\/?[^>]+>/gi, '');
- },
-
- stripScripts: function() {
- return this.replace(new RegExp(Prototype.ScriptFragment, 'img'), '');
- },
-
- extractScripts: function() {
- var matchAll = new RegExp(Prototype.ScriptFragment, 'img');
- var matchOne = new RegExp(Prototype.ScriptFragment, 'im');
- return (this.match(matchAll) || []).map(function(scriptTag) {
- return (scriptTag.match(matchOne) || ['', ''])[1];
- });
- },
-
- evalScripts: function() {
- return this.extractScripts().map(function(script) { return eval(script) });
- },
-
- escapeHTML: function() {
- var self = arguments.callee;
- self.text.data = this;
- return self.div.innerHTML;
- },
-
- unescapeHTML: function() {
- var div = new Element('div');
- div.innerHTML = this.stripTags();
- return div.childNodes[0] ? (div.childNodes.length > 1 ?
- $A(div.childNodes).inject('', function(memo, node) { return memo+node.nodeValue }) :
- div.childNodes[0].nodeValue) : '';
- },
-
- toQueryParams: function(separator) {
- var match = this.strip().match(/([^?#]*)(#.*)?$/);
- if (!match) return { };
-
- return match[1].split(separator || '&').inject({ }, function(hash, pair) {
- if ((pair = pair.split('='))[0]) {
- var key = decodeURIComponent(pair.shift());
- var value = pair.length > 1 ? pair.join('=') : pair[0];
- if (value != undefined) value = decodeURIComponent(value);
-
- if (key in hash) {
- if (!Object.isArray(hash[key])) hash[key] = [hash[key]];
- hash[key].push(value);
- }
- else hash[key] = value;
- }
- return hash;
- });
- },
-
- toArray: function() {
- return this.split('');
- },
-
- succ: function() {
- return this.slice(0, this.length - 1) +
- String.fromCharCode(this.charCodeAt(this.length - 1) + 1);
- },
-
- times: function(count) {
- return count < 1 ? '' : new Array(count + 1).join(this);
- },
-
- camelize: function() {
- var parts = this.split('-'), len = parts.length;
- if (len == 1) return parts[0];
-
- var camelized = this.charAt(0) == '-'
- ? parts[0].charAt(0).toUpperCase() + parts[0].substring(1)
- : parts[0];
-
- for (var i = 1; i < len; i++)
- camelized += parts[i].charAt(0).toUpperCase() + parts[i].substring(1);
-
- return camelized;
- },
-
- capitalize: function() {
- return this.charAt(0).toUpperCase() + this.substring(1).toLowerCase();
- },
-
- underscore: function() {
- return this.gsub(/::/, '/').gsub(/([A-Z]+)([A-Z][a-z])/,'#{1}_#{2}').gsub(/([a-z\d])([A-Z])/,'#{1}_#{2}').gsub(/-/,'_').toLowerCase();
- },
-
- dasherize: function() {
- return this.gsub(/_/,'-');
- },
-
- inspect: function(useDoubleQuotes) {
- var escapedString = this.gsub(/[\x00-\x1f\\]/, function(match) {
- var character = String.specialChar[match[0]];
- return character ? character : '\\u00' + match[0].charCodeAt().toPaddedString(2, 16);
- });
- if (useDoubleQuotes) return '"' + escapedString.replace(/"/g, '\\"') + '"';
- return "'" + escapedString.replace(/'/g, '\\\'') + "'";
- },
-
- toJSON: function() {
- return this.inspect(true);
- },
-
- unfilterJSON: function(filter) {
- return this.sub(filter || Prototype.JSONFilter, '#{1}');
- },
-
- isJSON: function() {
- var str = this;
- if (str.blank()) return false;
- str = this.replace(/\\./g, '@').replace(/"[^"\\\n\r]*"/g, '');
- return (/^[,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t]*$/).test(str);
- },
-
- evalJSON: function(sanitize) {
- var json = this.unfilterJSON();
- try {
- if (!sanitize || json.isJSON()) return eval('(' + json + ')');
- } catch (e) { }
- throw new SyntaxError('Badly formed JSON string: ' + this.inspect());
- },
-
- include: function(pattern) {
- return this.indexOf(pattern) > -1;
- },
-
- startsWith: function(pattern) {
- return this.indexOf(pattern) === 0;
- },
-
- endsWith: function(pattern) {
- var d = this.length - pattern.length;
- return d >= 0 && this.lastIndexOf(pattern) === d;
- },
-
- empty: function() {
- return this == '';
- },
-
- blank: function() {
- return /^\s*$/.test(this);
- },
-
- interpolate: function(object, pattern) {
- return new Template(this, pattern).evaluate(object);
- }
-});
-
-if (Prototype.Browser.WebKit || Prototype.Browser.IE) Object.extend(String.prototype, {
- escapeHTML: function() {
- return this.replace(/&/g,'&amp;').replace(/</g,'&lt;').replace(/>/g,'&gt;');
- },
- unescapeHTML: function() {
- return this.stripTags().replace(/&amp;/g,'&').replace(/&lt;/g,'<').replace(/&gt;/g,'>');
- }
-});
-
-String.prototype.gsub.prepareReplacement = function(replacement) {
- if (Object.isFunction(replacement)) return replacement;
- var template = new Template(replacement);
- return function(match) { return template.evaluate(match) };
-};
-
-String.prototype.parseQuery = String.prototype.toQueryParams;
-
-Object.extend(String.prototype.escapeHTML, {
- div: document.createElement('div'),
- text: document.createTextNode('')
-});
-
-String.prototype.escapeHTML.div.appendChild(String.prototype.escapeHTML.text);
-
-var Template = Class.create({
- initialize: function(template, pattern) {
- this.template = template.toString();
- this.pattern = pattern || Template.Pattern;
- },
-
- evaluate: function(object) {
- if (Object.isFunction(object.toTemplateReplacements))
- object = object.toTemplateReplacements();
-
- return this.template.gsub(this.pattern, function(match) {
- if (object == null) return '';
-
- var before = match[1] || '';
- if (before == '\\') return match[2];
-
- var ctx = object, expr = match[3];
- var pattern = /^([^.[]+|\[((?:.*?[^\\])?)\])(\.|\[|$)/;
- match = pattern.exec(expr);
- if (match == null) return before;
-
- while (match != null) {
- var comp = match[1].startsWith('[') ? match[2].gsub('\\\\]', ']') : match[1];
- ctx = ctx[comp];
- if (null == ctx || '' == match[3]) break;
- expr = expr.substring('[' == match[3] ? match[1].length : match[0].length);
- match = pattern.exec(expr);
- }
-
- return before + String.interpret(ctx);
- });
- }
-});
-Template.Pattern = /(^|.|\r|\n)(#\{(.*?)\})/;
-
-var $break = { };
-
-var Enumerable = {
- each: function(iterator, context) {
- var index = 0;
- try {
- this._each(function(value) {
- iterator.call(context, value, index++);
- });
- } catch (e) {
- if (e != $break) throw e;
- }
- return this;
- },
-
- eachSlice: function(number, iterator, context) {
- var index = -number, slices = [], array = this.toArray();
- if (number < 1) return array;
- while ((index += number) < array.length)
- slices.push(array.slice(index, index+number));
- return slices.collect(iterator, context);
- },
-
- all: function(iterator, context) {
- iterator = iterator || Prototype.K;
- var result = true;
- this.each(function(value, index) {
- result = result && !!iterator.call(context, value, index);
- if (!result) throw $break;
- });
- return result;
- },
-
- any: function(iterator, context) {
- iterator = iterator || Prototype.K;
- var result = false;
- this.each(function(value, index) {
- if (result = !!iterator.call(context, value, index))
- throw $break;
- });
- return result;
- },
-
- collect: function(iterator, context) {
- iterator = iterator || Prototype.K;
- var results = [];
- this.each(function(value, index) {
- results.push(iterator.call(context, value, index));
- });
- return results;
- },
-
- detect: function(iterator, context) {
- var result;
- this.each(function(value, index) {
- if (iterator.call(context, value, index)) {
- result = value;
- throw $break;
- }
- });
- return result;
- },
-
- findAll: function(iterator, context) {
- var results = [];
- this.each(function(value, index) {
- if (iterator.call(context, value, index))
- results.push(value);
- });
- return results;
- },
-
- grep: function(filter, iterator, context) {
- iterator = iterator || Prototype.K;
- var results = [];
-
- if (Object.isString(filter))
- filter = new RegExp(filter);
-
- this.each(function(value, index) {
- if (filter.match(value))
- results.push(iterator.call(context, value, index));
- });
- return results;
- },
-
- include: function(object) {
- if (Object.isFunction(this.indexOf))
- if (this.indexOf(object) != -1) return true;
-
- var found = false;
- this.each(function(value) {
- if (value == object) {
- found = true;
- throw $break;
- }
- });
- return found;
- },
-
- inGroupsOf: function(number, fillWith) {
- fillWith = Object.isUndefined(fillWith) ? null : fillWith;
- return this.eachSlice(number, function(slice) {
- while(slice.length < number) slice.push(fillWith);
- return slice;
- });
- },
-
- inject: function(memo, iterator, context) {
- this.each(function(value, index) {
- memo = iterator.call(context, memo, value, index);
- });
- return memo;
- },
-
- invoke: function(method) {
- var args = $A(arguments).slice(1);
- return this.map(function(value) {
- return value[method].apply(value, args);
- });
- },
-
- max: function(iterator, context) {
- iterator = iterator || Prototype.K;
- var result;
- this.each(function(value, index) {
- value = iterator.call(context, value, index);
- if (result == null || value >= result)
- result = value;
- });
- return result;
- },
-
- min: function(iterator, context) {
- iterator = iterator || Prototype.K;
- var result;
- this.each(function(value, index) {
- value = iterator.call(context, value, index);
- if (result == null || value < result)
- result = value;
- });
- return result;
- },
-
- partition: function(iterator, context) {
- iterator = iterator || Prototype.K;
- var trues = [], falses = [];
- this.each(function(value, index) {
- (iterator.call(context, value, index) ?
- trues : falses).push(value);
- });
- return [trues, falses];
- },
-
- pluck: function(property) {
- var results = [];
- this.each(function(value) {
- results.push(value[property]);
- });
- return results;
- },
-
- reject: function(iterator, context) {
- var results = [];
- this.each(function(value, index) {
- if (!iterator.call(context, value, index))
- results.push(value);
- });
- return results;
- },
-
- sortBy: function(iterator, context) {
- return this.map(function(value, index) {
- return {
- value: value,
- criteria: iterator.call(context, value, index)
- };
- }).sort(function(left, right) {
- var a = left.criteria, b = right.criteria;
- return a < b ? -1 : a > b ? 1 : 0;
- }).pluck('value');
- },
-
- toArray: function() {
- return this.map();
- },
-
- zip: function() {
- var iterator = Prototype.K, args = $A(arguments);
- if (Object.isFunction(args.last()))
- iterator = args.pop();
-
- var collections = [this].concat(args).map($A);
- return this.map(function(value, index) {
- return iterator(collections.pluck(index));
- });
- },
-
- size: function() {
- return this.toArray().length;
- },
-
- inspect: function() {
- return '#<Enumerable:' + this.toArray().inspect() + '>';
- }
-};
-
-Object.extend(Enumerable, {
- map: Enumerable.collect,
- find: Enumerable.detect,
- select: Enumerable.findAll,
- filter: Enumerable.findAll,
- member: Enumerable.include,
- entries: Enumerable.toArray,
- every: Enumerable.all,
- some: Enumerable.any
-});
-function $A(iterable) {
- if (!iterable) return [];
- if (iterable.toArray) return iterable.toArray();
- var length = iterable.length || 0, results = new Array(length);
- while (length--) results[length] = iterable[length];
- return results;
-}
-
-if (Prototype.Browser.WebKit) {
- $A = function(iterable) {
- if (!iterable) return [];
- // In Safari, only use the `toArray` method if it's not a NodeList.
- // A NodeList is a function, has an function `item` property, and a numeric
- // `length` property. Adapted from Google Doctype.
- if (!(typeof iterable === 'function' && typeof iterable.length ===
- 'number' && typeof iterable.item === 'function') && iterable.toArray)
- return iterable.toArray();
- var length = iterable.length || 0, results = new Array(length);
- while (length--) results[length] = iterable[length];
- return results;
- };
-}
-
-Array.from = $A;
-
-Object.extend(Array.prototype, Enumerable);
-
-if (!Array.prototype._reverse) Array.prototype._reverse = Array.prototype.reverse;
-
-Object.extend(Array.prototype, {
- _each: function(iterator) {
- for (var i = 0, length = this.length; i < length; i++)
- iterator(this[i]);
- },
-
- clear: function() {
- this.length = 0;
- return this;
- },
-
- first: function() {
- return this[0];
- },
-
- last: function() {
- return this[this.length - 1];
- },
-
- compact: function() {
- return this.select(function(value) {
- return value != null;
- });
- },
-
- flatten: function() {
- return this.inject([], function(array, value) {
- return array.concat(Object.isArray(value) ?
- value.flatten() : [value]);
- });
- },
-
- without: function() {
- var values = $A(arguments);
- return this.select(function(value) {
- return !values.include(value);
- });
- },
-
- reverse: function(inline) {
- return (inline !== false ? this : this.toArray())._reverse();
- },
-
- reduce: function() {
- return this.length > 1 ? this : this[0];
- },
-
- uniq: function(sorted) {
- return this.inject([], function(array, value, index) {
- if (0 == index || (sorted ? array.last() != value : !array.include(value)))
- array.push(value);
- return array;
- });
- },
-
- intersect: function(array) {
- return this.uniq().findAll(function(item) {
- return array.detect(function(value) { return item === value });
- });
- },
-
- clone: function() {
- return [].concat(this);
- },
-
- size: function() {
- return this.length;
- },
-
- inspect: function() {
- return '[' + this.map(Object.inspect).join(', ') + ']';
- },
-
- toJSON: function() {
- var results = [];
- this.each(function(object) {
- var value = Object.toJSON(object);
- if (!Object.isUndefined(value)) results.push(value);
- });
- return '[' + results.join(', ') + ']';
- }
-});
-
-// use native browser JS 1.6 implementation if available
-if (Object.isFunction(Array.prototype.forEach))
- Array.prototype._each = Array.prototype.forEach;
-
-if (!Array.prototype.indexOf) Array.prototype.indexOf = function(item, i) {
- i || (i = 0);
- var length = this.length;
- if (i < 0) i = length + i;
- for (; i < length; i++)
- if (this[i] === item) return i;
- return -1;
-};
-
-if (!Array.prototype.lastIndexOf) Array.prototype.lastIndexOf = function(item, i) {
- i = isNaN(i) ? this.length : (i < 0 ? this.length + i : i) + 1;
- var n = this.slice(0, i).reverse().indexOf(item);
- return (n < 0) ? n : i - n - 1;
-};
-
-Array.prototype.toArray = Array.prototype.clone;
-
-function $w(string) {
- if (!Object.isString(string)) return [];
- string = string.strip();
- return string ? string.split(/\s+/) : [];
-}
-
-if (Prototype.Browser.Opera){
- Array.prototype.concat = function() {
- var array = [];
- for (var i = 0, length = this.length; i < length; i++) array.push(this[i]);
- for (var i = 0, length = arguments.length; i < length; i++) {
- if (Object.isArray(arguments[i])) {
- for (var j = 0, arrayLength = arguments[i].length; j < arrayLength; j++)
- array.push(arguments[i][j]);
- } else {
- array.push(arguments[i]);
- }
- }
- return array;
- };
-}
-Object.extend(Number.prototype, {
- toColorPart: function() {
- return this.toPaddedString(2, 16);
- },
-
- succ: function() {
- return this + 1;
- },
-
- times: function(iterator, context) {
- $R(0, this, true).each(iterator, context);
- return this;
- },
-
- toPaddedString: function(length, radix) {
- var string = this.toString(radix || 10);
- return '0'.times(length - string.length) + string;
- },
-
- toJSON: function() {
- return isFinite(this) ? this.toString() : 'null';
- }
-});
-
-$w('abs round ceil floor').each(function(method){
- Number.prototype[method] = Math[method].methodize();
-});
-function $H(object) {
- return new Hash(object);
-};
-
-var Hash = Class.create(Enumerable, (function() {
-
- function toQueryPair(key, value) {
- if (Object.isUndefined(value)) return key;
- return key + '=' + encodeURIComponent(String.interpret(value));
- }
-
- return {
- initialize: function(object) {
- this._object = Object.isHash(object) ? object.toObject() : Object.clone(object);
- },
-
- _each: function(iterator) {
- for (var key in this._object) {
- var value = this._object[key], pair = [key, value];
- pair.key = key;
- pair.value = value;
- iterator(pair);
- }
- },
-
- set: function(key, value) {
- return this._object[key] = value;
- },
-
- get: function(key) {
- // simulating poorly supported hasOwnProperty
- if (this._object[key] !== Object.prototype[key])
- return this._object[key];
- },
-
- unset: function(key) {
- var value = this._object[key];
- delete this._object[key];
- return value;
- },
-
- toObject: function() {
- return Object.clone(this._object);
- },
-
- keys: function() {
- return this.pluck('key');
- },
-
- values: function() {
- return this.pluck('value');
- },
-
- index: function(value) {
- var match = this.detect(function(pair) {
- return pair.value === value;
- });
- return match && match.key;
- },
-
- merge: function(object) {
- return this.clone().update(object);
- },
-
- update: function(object) {
- return new Hash(object).inject(this, function(result, pair) {
- result.set(pair.key, pair.value);
- return result;
- });
- },
-
- toQueryString: function() {
- return this.inject([], function(results, pair) {
- var key = encodeURIComponent(pair.key), values = pair.value;
-
- if (values && typeof values == 'object') {
- if (Object.isArray(values))
- return results.concat(values.map(toQueryPair.curry(key)));
- } else results.push(toQueryPair(key, values));
- return results;
- }).join('&');
- },
-
- inspect: function() {
- return '#<Hash:{' + this.map(function(pair) {
- return pair.map(Object.inspect).join(': ');
- }).join(', ') + '}>';
- },
-
- toJSON: function() {
- return Object.toJSON(this.toObject());
- },
-
- clone: function() {
- return new Hash(this);
- }
- }
-})());
-
-Hash.prototype.toTemplateReplacements = Hash.prototype.toObject;
-Hash.from = $H;
-var ObjectRange = Class.create(Enumerable, {
- initialize: function(start, end, exclusive) {
- this.start = start;
- this.end = end;
- this.exclusive = exclusive;
- },
-
- _each: function(iterator) {
- var value = this.start;
- while (this.include(value)) {
- iterator(value);
- value = value.succ();
- }
- },
-
- include: function(value) {
- if (value < this.start)
- return false;
- if (this.exclusive)
- return value < this.end;
- return value <= this.end;
- }
-});
-
-var $R = function(start, end, exclusive) {
- return new ObjectRange(start, end, exclusive);
-};
-
-var Ajax = {
- getTransport: function() {
- return Try.these(
- function() {return new XMLHttpRequest()},
- function() {return new ActiveXObject('Msxml2.XMLHTTP')},
- function() {return new ActiveXObject('Microsoft.XMLHTTP')}
- ) || false;
- },
-
- activeRequestCount: 0
-};
-
-Ajax.Responders = {
- responders: [],
-
- _each: function(iterator) {
- this.responders._each(iterator);
- },
-
- register: function(responder) {
- if (!this.include(responder))
- this.responders.push(responder);
- },
-
- unregister: function(responder) {
- this.responders = this.responders.without(responder);
- },
-
- dispatch: function(callback, request, transport, json) {
- this.each(function(responder) {
- if (Object.isFunction(responder[callback])) {
- try {
- responder[callback].apply(responder, [request, transport, json]);
- } catch (e) { }
- }
- });
- }
-};
-
-Object.extend(Ajax.Responders, Enumerable);
-
-Ajax.Responders.register({
- onCreate: function() { Ajax.activeRequestCount++ },
- onComplete: function() { Ajax.activeRequestCount-- }
-});
-
-Ajax.Base = Class.create({
- initialize: function(options) {
- this.options = {
- method: 'post',
- asynchronous: true,
- contentType: 'application/x-www-form-urlencoded',
- encoding: 'UTF-8',
- parameters: '',
- evalJSON: true,
- evalJS: true
- };
- Object.extend(this.options, options || { });
-
- this.options.method = this.options.method.toLowerCase();
-
- if (Object.isString(this.options.parameters))
- this.options.parameters = this.options.parameters.toQueryParams();
- else if (Object.isHash(this.options.parameters))
- this.options.parameters = this.options.parameters.toObject();
- }
-});
-
-Ajax.Request = Class.create(Ajax.Base, {
- _complete: false,
-
- initialize: function($super, url, options) {
- $super(options);
- this.transport = Ajax.getTransport();
- this.request(url);
- },
-
- request: function(url) {
- this.url = url;
- this.method = this.options.method;
- var params = Object.clone(this.options.parameters);
-
- if (!['get', 'post'].include(this.method)) {
- // simulate other verbs over post
- params['_method'] = this.method;
- this.method = 'post';
- }
-
- this.parameters = params;
-
- if (params = Object.toQueryString(params)) {
- // when GET, append parameters to URL
- if (this.method == 'get')
- this.url += (this.url.include('?') ? '&' : '?') + params;
- else if (/Konqueror|Safari|KHTML/.test(navigator.userAgent))
- params += '&_=';
- }
-
- try {
- var response = new Ajax.Response(this);
- if (this.options.onCreate) this.options.onCreate(response);
- Ajax.Responders.dispatch('onCreate', this, response);
-
- this.transport.open(this.method.toUpperCase(), this.url,
- this.options.asynchronous);
-
- if (this.options.asynchronous) this.respondToReadyState.bind(this).defer(1);
-
- this.transport.onreadystatechange = this.onStateChange.bind(this);
- this.setRequestHeaders();
-
- this.body = this.method == 'post' ? (this.options.postBody || params) : null;
- this.transport.send(this.body);
-
- /* Force Firefox to handle ready state 4 for synchronous requests */
- if (!this.options.asynchronous && this.transport.overrideMimeType)
- this.onStateChange();
-
- }
- catch (e) {
- this.dispatchException(e);
- }
- },
-
- onStateChange: function() {
- var readyState = this.transport.readyState;
- if (readyState > 1 && !((readyState == 4) && this._complete))
- this.respondToReadyState(this.transport.readyState);
- },
-
- setRequestHeaders: function() {
- var headers = {
- 'X-Requested-With': 'XMLHttpRequest',
- 'X-Prototype-Version': Prototype.Version,
- 'Accept': 'text/javascript, text/html, application/xml, text/xml, */*'
- };
-
- if (this.method == 'post') {
- headers['Content-type'] = this.options.contentType +
- (this.options.encoding ? '; charset=' + this.options.encoding : '');
-
- /* Force "Connection: close" for older Mozilla browsers to work
- * around a bug where XMLHttpRequest sends an incorrect
- * Content-length header. See Mozilla Bugzilla #246651.
- */
- if (this.transport.overrideMimeType &&
- (navigator.userAgent.match(/Gecko\/(\d{4})/) || [0,2005])[1] < 2005)
- headers['Connection'] = 'close';
- }
-
- // user-defined headers
- if (typeof this.options.requestHeaders == 'object') {
- var extras = this.options.requestHeaders;
-
- if (Object.isFunction(extras.push))
- for (var i = 0, length = extras.length; i < length; i += 2)
- headers[extras[i]] = extras[i+1];
- else
- $H(extras).each(function(pair) { headers[pair.key] = pair.value });
- }
-
- for (var name in headers)
- this.transport.setRequestHeader(name, headers[name]);
- },
-
- success: function() {
- var status = this.getStatus();
- return !status || (status >= 200 && status < 300);
- },
-
- getStatus: function() {
- try {
- return this.transport.status || 0;
- } catch (e) { return 0 }
- },
-
- respondToReadyState: function(readyState) {
- var state = Ajax.Request.Events[readyState], response = new Ajax.Response(this);
-
- if (state == 'Complete') {
- try {
- this._complete = true;
- (this.options['on' + response.status]
- || this.options['on' + (this.success() ? 'Success' : 'Failure')]
- || Prototype.emptyFunction)(response, response.headerJSON);
- } catch (e) {
- this.dispatchException(e);
- }
-
- var contentType = response.getHeader('Content-type');
- if (this.options.evalJS == 'force'
- || (this.options.evalJS && this.isSameOrigin() && contentType
- && contentType.match(/^\s*(text|application)\/(x-)?(java|ecma)script(;.*)?\s*$/i)))
- this.evalResponse();
- }
-
- try {
- (this.options['on' + state] || Prototype.emptyFunction)(response, response.headerJSON);
- Ajax.Responders.dispatch('on' + state, this, response, response.headerJSON);
- } catch (e) {
- this.dispatchException(e);
- }
-
- if (state == 'Complete') {
- // avoid memory leak in MSIE: clean up
- this.transport.onreadystatechange = Prototype.emptyFunction;
- }
- },
-
- isSameOrigin: function() {
- var m = this.url.match(/^\s*https?:\/\/[^\/]*/);
- return !m || (m[0] == '#{protocol}//#{domain}#{port}'.interpolate({
- protocol: location.protocol,
- domain: document.domain,
- port: location.port ? ':' + location.port : ''
- }));
- },
-
- getHeader: function(name) {
- try {
- return this.transport.getResponseHeader(name) || null;
- } catch (e) { return null }
- },
-
- evalResponse: function() {
- try {
- return eval((this.transport.responseText || '').unfilterJSON());
- } catch (e) {
- this.dispatchException(e);
- }
- },
-
- dispatchException: function(exception) {
- (this.options.onException || Prototype.emptyFunction)(this, exception);
- Ajax.Responders.dispatch('onException', this, exception);
- }
-});
-
-Ajax.Request.Events =
- ['Uninitialized', 'Loading', 'Loaded', 'Interactive', 'Complete'];
-
-Ajax.Response = Class.create({
- initialize: function(request){
- this.request = request;
- var transport = this.transport = request.transport,
- readyState = this.readyState = transport.readyState;
-
- if((readyState > 2 && !Prototype.Browser.IE) || readyState == 4) {
- this.status = this.getStatus();
- this.statusText = this.getStatusText();
- this.responseText = String.interpret(transport.responseText);
- this.headerJSON = this._getHeaderJSON();
- }
-
- if(readyState == 4) {
- var xml = transport.responseXML;
- this.responseXML = Object.isUndefined(xml) ? null : xml;
- this.responseJSON = this._getResponseJSON();
- }
- },
-
- status: 0,
- statusText: '',
-
- getStatus: Ajax.Request.prototype.getStatus,
-
- getStatusText: function() {
- try {
- return this.transport.statusText || '';
- } catch (e) { return '' }
- },
-
- getHeader: Ajax.Request.prototype.getHeader,
-
- getAllHeaders: function() {
- try {
- return this.getAllResponseHeaders();
- } catch (e) { return null }
- },
-
- getResponseHeader: function(name) {
- return this.transport.getResponseHeader(name);
- },
-
- getAllResponseHeaders: function() {
- return this.transport.getAllResponseHeaders();
- },
-
- _getHeaderJSON: function() {
- var json = this.getHeader('X-JSON');
- if (!json) return null;
- json = decodeURIComponent(escape(json));
- try {
- return json.evalJSON(this.request.options.sanitizeJSON ||
- !this.request.isSameOrigin());
- } catch (e) {
- this.request.dispatchException(e);
- }
- },
-
- _getResponseJSON: function() {
- var options = this.request.options;
- if (!options.evalJSON || (options.evalJSON != 'force' &&
- !(this.getHeader('Content-type') || '').include('application/json')) ||
- this.responseText.blank())
- return null;
- try {
- return this.responseText.evalJSON(options.sanitizeJSON ||
- !this.request.isSameOrigin());
- } catch (e) {
- this.request.dispatchException(e);
- }
- }
-});
-
-Ajax.Updater = Class.create(Ajax.Request, {
- initialize: function($super, container, url, options) {
- this.container = {
- success: (container.success || container),
- failure: (container.failure || (container.success ? null : container))
- };
-
- options = Object.clone(options);
- var onComplete = options.onComplete;
- options.onComplete = (function(response, json) {
- this.updateContent(response.responseText);
- if (Object.isFunction(onComplete)) onComplete(response, json);
- }).bind(this);
-
- $super(url, options);
- },
-
- updateContent: function(responseText) {
- var receiver = this.container[this.success() ? 'success' : 'failure'],
- options = this.options;
-
- if (!options.evalScripts) responseText = responseText.stripScripts();
-
- if (receiver = $(receiver)) {
- if (options.insertion) {
- if (Object.isString(options.insertion)) {
- var insertion = { }; insertion[options.insertion] = responseText;
- receiver.insert(insertion);
- }
- else options.insertion(receiver, responseText);
- }
- else receiver.update(responseText);
- }
- }
-});
-
-Ajax.PeriodicalUpdater = Class.create(Ajax.Base, {
- initialize: function($super, container, url, options) {
- $super(options);
- this.onComplete = this.options.onComplete;
-
- this.frequency = (this.options.frequency || 2);
- this.decay = (this.options.decay || 1);
-
- this.updater = { };
- this.container = container;
- this.url = url;
-
- this.start();
- },
-
- start: function() {
- this.options.onComplete = this.updateComplete.bind(this);
- this.onTimerEvent();
- },
-
- stop: function() {
- this.updater.options.onComplete = undefined;
- clearTimeout(this.timer);
- (this.onComplete || Prototype.emptyFunction).apply(this, arguments);
- },
-
- updateComplete: function(response) {
- if (this.options.decay) {
- this.decay = (response.responseText == this.lastText ?
- this.decay * this.options.decay : 1);
-
- this.lastText = response.responseText;
- }
- this.timer = this.onTimerEvent.bind(this).delay(this.decay * this.frequency);
- },
-
- onTimerEvent: function() {
- this.updater = new Ajax.Updater(this.container, this.url, this.options);
- }
-});
-function $(element) {
- if (arguments.length > 1) {
- for (var i = 0, elements = [], length = arguments.length; i < length; i++)
- elements.push($(arguments[i]));
- return elements;
- }
- if (Object.isString(element))
- element = document.getElementById(element);
- return Element.extend(element);
-}
-
-if (Prototype.BrowserFeatures.XPath) {
- document._getElementsByXPath = function(expression, parentElement) {
- var results = [];
- var query = document.evaluate(expression, $(parentElement) || document,
- null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);
- for (var i = 0, length = query.snapshotLength; i < length; i++)
- results.push(Element.extend(query.snapshotItem(i)));
- return results;
- };
-}
-
-/*--------------------------------------------------------------------------*/
-
-if (!window.Node) var Node = { };
-
-if (!Node.ELEMENT_NODE) {
- // DOM level 2 ECMAScript Language Binding
- Object.extend(Node, {
- ELEMENT_NODE: 1,
- ATTRIBUTE_NODE: 2,
- TEXT_NODE: 3,
- CDATA_SECTION_NODE: 4,
- ENTITY_REFERENCE_NODE: 5,
- ENTITY_NODE: 6,
- PROCESSING_INSTRUCTION_NODE: 7,
- COMMENT_NODE: 8,
- DOCUMENT_NODE: 9,
- DOCUMENT_TYPE_NODE: 10,
- DOCUMENT_FRAGMENT_NODE: 11,
- NOTATION_NODE: 12
- });
-}
-
-(function() {
- var element = this.Element;
- this.Element = function(tagName, attributes) {
- attributes = attributes || { };
- tagName = tagName.toLowerCase();
- var cache = Element.cache;
- if (Prototype.Browser.IE && attributes.name) {
- tagName = '<' + tagName + ' name="' + attributes.name + '">';
- delete attributes.name;
- return Element.writeAttribute(document.createElement(tagName), attributes);
- }
- if (!cache[tagName]) cache[tagName] = Element.extend(document.createElement(tagName));
- return Element.writeAttribute(cache[tagName].cloneNode(false), attributes);
- };
- Object.extend(this.Element, element || { });
- if (element) this.Element.prototype = element.prototype;
-}).call(window);
-
-Element.cache = { };
-
-Element.Methods = {
- visible: function(element) {
- return $(element).style.display != 'none';
- },
-
- toggle: function(element) {
- element = $(element);
- Element[Element.visible(element) ? 'hide' : 'show'](element);
- return element;
- },
-
- hide: function(element) {
- element = $(element);
- element.style.display = 'none';
- return element;
- },
-
- show: function(element) {
- element = $(element);
- element.style.display = '';
- return element;
- },
-
- remove: function(element) {
- element = $(element);
- element.parentNode.removeChild(element);
- return element;
- },
-
- update: function(element, content) {
- element = $(element);
- if (content && content.toElement) content = content.toElement();
- if (Object.isElement(content)) return element.update().insert(content);
- content = Object.toHTML(content);
- element.innerHTML = content.stripScripts();
- content.evalScripts.bind(content).defer();
- return element;
- },
-
- replace: function(element, content) {
- element = $(element);
- if (content && content.toElement) content = content.toElement();
- else if (!Object.isElement(content)) {
- content = Object.toHTML(content);
- var range = element.ownerDocument.createRange();
- range.selectNode(element);
- content.evalScripts.bind(content).defer();
- content = range.createContextualFragment(content.stripScripts());
- }
- element.parentNode.replaceChild(content, element);
- return element;
- },
-
- insert: function(element, insertions) {
- element = $(element);
-
- if (Object.isString(insertions) || Object.isNumber(insertions) ||
- Object.isElement(insertions) || (insertions && (insertions.toElement || insertions.toHTML)))
- insertions = {bottom:insertions};
-
- var content, insert, tagName, childNodes;
-
- for (var position in insertions) {
- content = insertions[position];
- position = position.toLowerCase();
- insert = Element._insertionTranslations[position];
-
- if (content && content.toElement) content = content.toElement();
- if (Object.isElement(content)) {
- insert(element, content);
- continue;
- }
-
- content = Object.toHTML(content);
-
- tagName = ((position == 'before' || position == 'after')
- ? element.parentNode : element).tagName.toUpperCase();
-
- childNodes = Element._getContentFromAnonymousElement(tagName, content.stripScripts());
-
- if (position == 'top' || position == 'after') childNodes.reverse();
- childNodes.each(insert.curry(element));
-
- content.evalScripts.bind(content).defer();
- }
-
- return element;
- },
-
- wrap: function(element, wrapper, attributes) {
- element = $(element);
- if (Object.isElement(wrapper))
- $(wrapper).writeAttribute(attributes || { });
- else if (Object.isString(wrapper)) wrapper = new Element(wrapper, attributes);
- else wrapper = new Element('div', wrapper);
- if (element.parentNode)
- element.parentNode.replaceChild(wrapper, element);
- wrapper.appendChild(element);
- return wrapper;
- },
-
- inspect: function(element) {
- element = $(element);
- var result = '<' + element.tagName.toLowerCase();
- $H({'id': 'id', 'className': 'class'}).each(function(pair) {
- var property = pair.first(), attribute = pair.last();
- var value = (element[property] || '').toString();
- if (value) result += ' ' + attribute + '=' + value.inspect(true);
- });
- return result + '>';
- },
-
- recursivelyCollect: function(element, property) {
- element = $(element);
- var elements = [];
- while (element = element[property])
- if (element.nodeType == 1)
- elements.push(Element.extend(element));
- return elements;
- },
-
- ancestors: function(element) {
- return $(element).recursivelyCollect('parentNode');
- },
-
- descendants: function(element) {
- return $(element).select("*");
- },
-
- firstDescendant: function(element) {
- element = $(element).firstChild;
- while (element && element.nodeType != 1) element = element.nextSibling;
- return $(element);
- },
-
- immediateDescendants: function(element) {
- if (!(element = $(element).firstChild)) return [];
- while (element && element.nodeType != 1) element = element.nextSibling;
- if (element) return [element].concat($(element).nextSiblings());
- return [];
- },
-
- previousSiblings: function(element) {
- return $(element).recursivelyCollect('previousSibling');
- },
-
- nextSiblings: function(element) {
- return $(element).recursivelyCollect('nextSibling');
- },
-
- siblings: function(element) {
- element = $(element);
- return element.previousSiblings().reverse().concat(element.nextSiblings());
- },
-
- match: function(element, selector) {
- if (Object.isString(selector))
- selector = new Selector(selector);
- return selector.match($(element));
- },
-
- up: function(element, expression, index) {
- element = $(element);
- if (arguments.length == 1) return $(element.parentNode);
- var ancestors = element.ancestors();
- return Object.isNumber(expression) ? ancestors[expression] :
- Selector.findElement(ancestors, expression, index);
- },
-
- down: function(element, expression, index) {
- element = $(element);
- if (arguments.length == 1) return element.firstDescendant();
- return Object.isNumber(expression) ? element.descendants()[expression] :
- Element.select(element, expression)[index || 0];
- },
-
- previous: function(element, expression, index) {
- element = $(element);
- if (arguments.length == 1) return $(Selector.handlers.previousElementSibling(element));
- var previousSiblings = element.previousSiblings();
- return Object.isNumber(expression) ? previousSiblings[expression] :
- Selector.findElement(previousSiblings, expression, index);
- },
-
- next: function(element, expression, index) {
- element = $(element);
- if (arguments.length == 1) return $(Selector.handlers.nextElementSibling(element));
- var nextSiblings = element.nextSiblings();
- return Object.isNumber(expression) ? nextSiblings[expression] :
- Selector.findElement(nextSiblings, expression, index);
- },
-
- select: function() {
- var args = $A(arguments), element = $(args.shift());
- return Selector.findChildElements(element, args);
- },
-
- adjacent: function() {
- var args = $A(arguments), element = $(args.shift());
- return Selector.findChildElements(element.parentNode, args).without(element);
- },
-
- identify: function(element) {
- element = $(element);
- var id = element.readAttribute('id'), self = arguments.callee;
- if (id) return id;
- do { id = 'anonymous_element_' + self.counter++ } while ($(id));
- element.writeAttribute('id', id);
- return id;
- },
-
- readAttribute: function(element, name) {
- element = $(element);
- if (Prototype.Browser.IE) {
- var t = Element._attributeTranslations.read;
- if (t.values[name]) return t.values[name](element, name);
- if (t.names[name]) name = t.names[name];
- if (name.include(':')) {
- return (!element.attributes || !element.attributes[name]) ? null :
- element.attributes[name].value;
- }
- }
- return element.getAttribute(name);
- },
-
- writeAttribute: function(element, name, value) {
- element = $(element);
- var attributes = { }, t = Element._attributeTranslations.write;
-
- if (typeof name == 'object') attributes = name;
- else attributes[name] = Object.isUndefined(value) ? true : value;
-
- for (var attr in attributes) {
- name = t.names[attr] || attr;
- value = attributes[attr];
- if (t.values[attr]) name = t.values[attr](element, value);
- if (value === false || value === null)
- element.removeAttribute(name);
- else if (value === true)
- element.setAttribute(name, name);
- else element.setAttribute(name, value);
- }
- return element;
- },
-
- getHeight: function(element) {
- return $(element).getDimensions().height;
- },
-
- getWidth: function(element) {
- return $(element).getDimensions().width;
- },
-
- classNames: function(element) {
- return new Element.ClassNames(element);
- },
-
- hasClassName: function(element, className) {
- if (!(element = $(element))) return;
- var elementClassName = element.className;
- return (elementClassName.length > 0 && (elementClassName == className ||
- new RegExp("(^|\\s)" + className + "(\\s|$)").test(elementClassName)));
- },
-
- addClassName: function(element, className) {
- if (!(element = $(element))) return;
- if (!element.hasClassName(className))
- element.className += (element.className ? ' ' : '') + className;
- return element;
- },
-
- removeClassName: function(element, className) {
- if (!(element = $(element))) return;
- element.className = element.className.replace(
- new RegExp("(^|\\s+)" + className + "(\\s+|$)"), ' ').strip();
- return element;
- },
-
- toggleClassName: function(element, className) {
- if (!(element = $(element))) return;
- return element[element.hasClassName(className) ?
- 'removeClassName' : 'addClassName'](className);
- },
-
- // removes whitespace-only text node children
- cleanWhitespace: function(element) {
- element = $(element);
- var node = element.firstChild;
- while (node) {
- var nextNode = node.nextSibling;
- if (node.nodeType == 3 && !/\S/.test(node.nodeValue))
- element.removeChild(node);
- node = nextNode;
- }
- return element;
- },
-
- empty: function(element) {
- return $(element).innerHTML.blank();
- },
-
- descendantOf: function(element, ancestor) {
- element = $(element), ancestor = $(ancestor);
-
- if (element.compareDocumentPosition)
- return (element.compareDocumentPosition(ancestor) & 8) === 8;
-
- if (ancestor.contains)
- return ancestor.contains(element) && ancestor !== element;
-
- while (element = element.parentNode)
- if (element == ancestor) return true;
-
- return false;
- },
-
- scrollTo: function(element) {
- element = $(element);
- var pos = element.cumulativeOffset();
- window.scrollTo(pos[0], pos[1]);
- return element;
- },
-
- getStyle: function(element, style) {
- element = $(element);
- style = style == 'float' ? 'cssFloat' : style.camelize();
- var value = element.style[style];
- if (!value || value == 'auto') {
- var css = document.defaultView.getComputedStyle(element, null);
- value = css ? css[style] : null;
- }
- if (style == 'opacity') return value ? parseFloat(value) : 1.0;
- return value == 'auto' ? null : value;
- },
-
- getOpacity: function(element) {
- return $(element).getStyle('opacity');
- },
-
- setStyle: function(element, styles) {
- element = $(element);
- var elementStyle = element.style, match;
- if (Object.isString(styles)) {
- element.style.cssText += ';' + styles;
- return styles.include('opacity') ?
- element.setOpacity(styles.match(/opacity:\s*(\d?\.?\d*)/)[1]) : element;
- }
- for (var property in styles)
- if (property == 'opacity') element.setOpacity(styles[property]);
- else
- elementStyle[(property == 'float' || property == 'cssFloat') ?
- (Object.isUndefined(elementStyle.styleFloat) ? 'cssFloat' : 'styleFloat') :
- property] = styles[property];
-
- return element;
- },
-
- setOpacity: function(element, value) {
- element = $(element);
- element.style.opacity = (value == 1 || value === '') ? '' :
- (value < 0.00001) ? 0 : value;
- return element;
- },
-
- getDimensions: function(element) {
- element = $(element);
- var display = element.getStyle('display');
- if (display != 'none' && display != null) // Safari bug
- return {width: element.offsetWidth, height: element.offsetHeight};
-
- // All *Width and *Height properties give 0 on elements with display none,
- // so enable the element temporarily
- var els = element.style;
- var originalVisibility = els.visibility;
- var originalPosition = els.position;
- var originalDisplay = els.display;
- els.visibility = 'hidden';
- els.position = 'absolute';
- els.display = 'block';
- var originalWidth = element.clientWidth;
- var originalHeight = element.clientHeight;
- els.display = originalDisplay;
- els.position = originalPosition;
- els.visibility = originalVisibility;
- return {width: originalWidth, height: originalHeight};
- },
-
- makePositioned: function(element) {
- element = $(element);
- var pos = Element.getStyle(element, 'position');
- if (pos == 'static' || !pos) {
- element._madePositioned = true;
- element.style.position = 'relative';
- // Opera returns the offset relative to the positioning context, when an
- // element is position relative but top and left have not been defined
- if (Prototype.Browser.Opera) {
- element.style.top = 0;
- element.style.left = 0;
- }
- }
- return element;
- },
-
- undoPositioned: function(element) {
- element = $(element);
- if (element._madePositioned) {
- element._madePositioned = undefined;
- element.style.position =
- element.style.top =
- element.style.left =
- element.style.bottom =
- element.style.right = '';
- }
- return element;
- },
-
- makeClipping: function(element) {
- element = $(element);
- if (element._overflow) return element;
- element._overflow = Element.getStyle(element, 'overflow') || 'auto';
- if (element._overflow !== 'hidden')
- element.style.overflow = 'hidden';
- return element;
- },
-
- undoClipping: function(element) {
- element = $(element);
- if (!element._overflow) return element;
- element.style.overflow = element._overflow == 'auto' ? '' : element._overflow;
- element._overflow = null;
- return element;
- },
-
- cumulativeOffset: function(element) {
- var valueT = 0, valueL = 0;
- do {
- valueT += element.offsetTop || 0;
- valueL += element.offsetLeft || 0;
- element = element.offsetParent;
- } while (element);
- return Element._returnOffset(valueL, valueT);
- },
-
- positionedOffset: function(element) {
- var valueT = 0, valueL = 0;
- do {
- valueT += element.offsetTop || 0;
- valueL += element.offsetLeft || 0;
- element = element.offsetParent;
- if (element) {
- if (element.tagName.toUpperCase() == 'BODY') break;
- var p = Element.getStyle(element, 'position');
- if (p !== 'static') break;
- }
- } while (element);
- return Element._returnOffset(valueL, valueT);
- },
-
- absolutize: function(element) {
- element = $(element);
- if (element.getStyle('position') == 'absolute') return element;
- // Position.prepare(); // To be done manually by Scripty when it needs it.
-
- var offsets = element.positionedOffset();
- var top = offsets[1];
- var left = offsets[0];
- var width = element.clientWidth;
- var height = element.clientHeight;
-
- element._originalLeft = left - parseFloat(element.style.left || 0);
- element._originalTop = top - parseFloat(element.style.top || 0);
- element._originalWidth = element.style.width;
- element._originalHeight = element.style.height;
-
- element.style.position = 'absolute';
- element.style.top = top + 'px';
- element.style.left = left + 'px';
- element.style.width = width + 'px';
- element.style.height = height + 'px';
- return element;
- },
-
- relativize: function(element) {
- element = $(element);
- if (element.getStyle('position') == 'relative') return element;
- // Position.prepare(); // To be done manually by Scripty when it needs it.
-
- element.style.position = 'relative';
- var top = parseFloat(element.style.top || 0) - (element._originalTop || 0);
- var left = parseFloat(element.style.left || 0) - (element._originalLeft || 0);
-
- element.style.top = top + 'px';
- element.style.left = left + 'px';
- element.style.height = element._originalHeight;
- element.style.width = element._originalWidth;
- return element;
- },
-
- cumulativeScrollOffset: function(element) {
- var valueT = 0, valueL = 0;
- do {
- valueT += element.scrollTop || 0;
- valueL += element.scrollLeft || 0;
- element = element.parentNode;
- } while (element);
- return Element._returnOffset(valueL, valueT);
- },
-
- getOffsetParent: function(element) {
- if (element.offsetParent) return $(element.offsetParent);
- if (element == document.body) return $(element);
-
- while ((element = element.parentNode) && element != document.body)
- if (Element.getStyle(element, 'position') != 'static')
- return $(element);
-
- return $(document.body);
- },
-
- viewportOffset: function(forElement) {
- var valueT = 0, valueL = 0;
-
- var element = forElement;
- do {
- valueT += element.offsetTop || 0;
- valueL += element.offsetLeft || 0;
-
- // Safari fix
- if (element.offsetParent == document.body &&
- Element.getStyle(element, 'position') == 'absolute') break;
-
- } while (element = element.offsetParent);
-
- element = forElement;
- do {
- if (!Prototype.Browser.Opera || (element.tagName && (element.tagName.toUpperCase() == 'BODY'))) {
- valueT -= element.scrollTop || 0;
- valueL -= element.scrollLeft || 0;
- }
- } while (element = element.parentNode);
-
- return Element._returnOffset(valueL, valueT);
- },
-
- clonePosition: function(element, source) {
- var options = Object.extend({
- setLeft: true,
- setTop: true,
- setWidth: true,
- setHeight: true,
- offsetTop: 0,
- offsetLeft: 0
- }, arguments[2] || { });
-
- // find page position of source
- source = $(source);
- var p = source.viewportOffset();
-
- // find coordinate system to use
- element = $(element);
- var delta = [0, 0];
- var parent = null;
- // delta [0,0] will do fine with position: fixed elements,
- // position:absolute needs offsetParent deltas
- if (Element.getStyle(element, 'position') == 'absolute') {
- parent = element.getOffsetParent();
- delta = parent.viewportOffset();
- }
-
- // correct by body offsets (fixes Safari)
- if (parent == document.body) {
- delta[0] -= document.body.offsetLeft;
- delta[1] -= document.body.offsetTop;
- }
-
- // set position
- if (options.setLeft) element.style.left = (p[0] - delta[0] + options.offsetLeft) + 'px';
- if (options.setTop) element.style.top = (p[1] - delta[1] + options.offsetTop) + 'px';
- if (options.setWidth) element.style.width = source.offsetWidth + 'px';
- if (options.setHeight) element.style.height = source.offsetHeight + 'px';
- return element;
- }
-};
-
-Element.Methods.identify.counter = 1;
-
-Object.extend(Element.Methods, {
- getElementsBySelector: Element.Methods.select,
- childElements: Element.Methods.immediateDescendants
-});
-
-Element._attributeTranslations = {
- write: {
- names: {
- className: 'class',
- htmlFor: 'for'
- },
- values: { }
- }
-};
-
-if (Prototype.Browser.Opera) {
- Element.Methods.getStyle = Element.Methods.getStyle.wrap(
- function(proceed, element, style) {
- switch (style) {
- case 'left': case 'top': case 'right': case 'bottom':
- if (proceed(element, 'position') === 'static') return null;
- case 'height': case 'width':
- // returns '0px' for hidden elements; we want it to return null
- if (!Element.visible(element)) return null;
-
- // returns the border-box dimensions rather than the content-box
- // dimensions, so we subtract padding and borders from the value
- var dim = parseInt(proceed(element, style), 10);
-
- if (dim !== element['offset' + style.capitalize()])
- return dim + 'px';
-
- var properties;
- if (style === 'height') {
- properties = ['border-top-width', 'padding-top',
- 'padding-bottom', 'border-bottom-width'];
- }
- else {
- properties = ['border-left-width', 'padding-left',
- 'padding-right', 'border-right-width'];
- }
- return properties.inject(dim, function(memo, property) {
- var val = proceed(element, property);
- return val === null ? memo : memo - parseInt(val, 10);
- }) + 'px';
- default: return proceed(element, style);
- }
- }
- );
-
- Element.Methods.readAttribute = Element.Methods.readAttribute.wrap(
- function(proceed, element, attribute) {
- if (attribute === 'title') return element.title;
- return proceed(element, attribute);
- }
- );
-}
-
-else if (Prototype.Browser.IE) {
- // IE doesn't report offsets correctly for static elements, so we change them
- // to "relative" to get the values, then change them back.
- Element.Methods.getOffsetParent = Element.Methods.getOffsetParent.wrap(
- function(proceed, element) {
- element = $(element);
- // IE throws an error if element is not in document
- try { element.offsetParent }
- catch(e) { return $(document.body) }
- var position = element.getStyle('position');
- if (position !== 'static') return proceed(element);
- element.setStyle({ position: 'relative' });
- var value = proceed(element);
- element.setStyle({ position: position });
- return value;
- }
- );
-
- $w('positionedOffset viewportOffset').each(function(method) {
- Element.Methods[method] = Element.Methods[method].wrap(
- function(proceed, element) {
- element = $(element);
- try { element.offsetParent }
- catch(e) { return Element._returnOffset(0,0) }
- var position = element.getStyle('position');
- if (position !== 'static') return proceed(element);
- // Trigger hasLayout on the offset parent so that IE6 reports
- // accurate offsetTop and offsetLeft values for position: fixed.
- var offsetParent = element.getOffsetParent();
- if (offsetParent && offsetParent.getStyle('position') === 'fixed')
- offsetParent.setStyle({ zoom: 1 });
- element.setStyle({ position: 'relative' });
- var value = proceed(element);
- element.setStyle({ position: position });
- return value;
- }
- );
- });
-
- Element.Methods.cumulativeOffset = Element.Methods.cumulativeOffset.wrap(
- function(proceed, element) {
- try { element.offsetParent }
- catch(e) { return Element._returnOffset(0,0) }
- return proceed(element);
- }
- );
-
- Element.Methods.getStyle = function(element, style) {
- element = $(element);
- style = (style == 'float' || style == 'cssFloat') ? 'styleFloat' : style.camelize();
- var value = element.style[style];
- if (!value && element.currentStyle) value = element.currentStyle[style];
-
- if (style == 'opacity') {
- if (value = (element.getStyle('filter') || '').match(/alpha\(opacity=(.*)\)/))
- if (value[1]) return parseFloat(value[1]) / 100;
- return 1.0;
- }
-
- if (value == 'auto') {
- if ((style == 'width' || style == 'height') && (element.getStyle('display') != 'none'))
- return element['offset' + style.capitalize()] + 'px';
- return null;
- }
- return value;
- };
-
- Element.Methods.setOpacity = function(element, value) {
- function stripAlpha(filter){
- return filter.replace(/alpha\([^\)]*\)/gi,'');
- }
- element = $(element);
- var currentStyle = element.currentStyle;
- if ((currentStyle && !currentStyle.hasLayout) ||
- (!currentStyle && element.style.zoom == 'normal'))
- element.style.zoom = 1;
-
- var filter = element.getStyle('filter'), style = element.style;
- if (value == 1 || value === '') {
- (filter = stripAlpha(filter)) ?
- style.filter = filter : style.removeAttribute('filter');
- return element;
- } else if (value < 0.00001) value = 0;
- style.filter = stripAlpha(filter) +
- 'alpha(opacity=' + (value * 100) + ')';
- return element;
- };
-
- Element._attributeTranslations = {
- read: {
- names: {
- 'class': 'className',
- 'for': 'htmlFor'
- },
- values: {
- _getAttr: function(element, attribute) {
- return element.getAttribute(attribute, 2);
- },
- _getAttrNode: function(element, attribute) {
- var node = element.getAttributeNode(attribute);
- return node ? node.value : "";
- },
- _getEv: function(element, attribute) {
- attribute = element.getAttribute(attribute);
- return attribute ? attribute.toString().slice(23, -2) : null;
- },
- _flag: function(element, attribute) {
- return $(element).hasAttribute(attribute) ? attribute : null;
- },
- style: function(element) {
- return element.style.cssText.toLowerCase();
- },
- title: function(element) {
- return element.title;
- }
- }
- }
- };
-
- Element._attributeTranslations.write = {
- names: Object.extend({
- cellpadding: 'cellPadding',
- cellspacing: 'cellSpacing'
- }, Element._attributeTranslations.read.names),
- values: {
- checked: function(element, value) {
- element.checked = !!value;
- },
-
- style: function(element, value) {
- element.style.cssText = value ? value : '';
- }
- }
- };
-
- Element._attributeTranslations.has = {};
-
- $w('colSpan rowSpan vAlign dateTime accessKey tabIndex ' +
- 'encType maxLength readOnly longDesc frameBorder').each(function(attr) {
- Element._attributeTranslations.write.names[attr.toLowerCase()] = attr;
- Element._attributeTranslations.has[attr.toLowerCase()] = attr;
- });
-
- (function(v) {
- Object.extend(v, {
- href: v._getAttr,
- src: v._getAttr,
- type: v._getAttr,
- action: v._getAttrNode,
- disabled: v._flag,
- checked: v._flag,
- readonly: v._flag,
- multiple: v._flag,
- onload: v._getEv,
- onunload: v._getEv,
- onclick: v._getEv,
- ondblclick: v._getEv,
- onmousedown: v._getEv,
- onmouseup: v._getEv,
- onmouseover: v._getEv,
- onmousemove: v._getEv,
- onmouseout: v._getEv,
- onfocus: v._getEv,
- onblur: v._getEv,
- onkeypress: v._getEv,
- onkeydown: v._getEv,
- onkeyup: v._getEv,
- onsubmit: v._getEv,
- onreset: v._getEv,
- onselect: v._getEv,
- onchange: v._getEv
- });
- })(Element._attributeTranslations.read.values);
-}
-
-else if (Prototype.Browser.Gecko && /rv:1\.8\.0/.test(navigator.userAgent)) {
- Element.Methods.setOpacity = function(element, value) {
- element = $(element);
- element.style.opacity = (value == 1) ? 0.999999 :
- (value === '') ? '' : (value < 0.00001) ? 0 : value;
- return element;
- };
-}
-
-else if (Prototype.Browser.WebKit) {
- Element.Methods.setOpacity = function(element, value) {
- element = $(element);
- element.style.opacity = (value == 1 || value === '') ? '' :
- (value < 0.00001) ? 0 : value;
-
- if (value == 1)
- if(element.tagName.toUpperCase() == 'IMG' && element.width) {
- element.width++; element.width--;
- } else try {
- var n = document.createTextNode(' ');
- element.appendChild(n);
- element.removeChild(n);
- } catch (e) { }
-
- return element;
- };
-
- // Safari returns margins on body which is incorrect if the child is absolutely
- // positioned. For performance reasons, redefine Element#cumulativeOffset for
- // KHTML/WebKit only.
- Element.Methods.cumulativeOffset = function(element) {
- var valueT = 0, valueL = 0;
- do {
- valueT += element.offsetTop || 0;
- valueL += element.offsetLeft || 0;
- if (element.offsetParent == document.body)
- if (Element.getStyle(element, 'position') == 'absolute') break;
-
- element = element.offsetParent;
- } while (element);
-
- return Element._returnOffset(valueL, valueT);
- };
-}
-
-if (Prototype.Browser.IE || Prototype.Browser.Opera) {
- // IE and Opera are missing .innerHTML support for TABLE-related and SELECT elements
- Element.Methods.update = function(element, content) {
- element = $(element);
-
- if (content && content.toElement) content = content.toElement();
- if (Object.isElement(content)) return element.update().insert(content);
-
- content = Object.toHTML(content);
- var tagName = element.tagName.toUpperCase();
-
- if (tagName in Element._insertionTranslations.tags) {
- $A(element.childNodes).each(function(node) { element.removeChild(node) });
- Element._getContentFromAnonymousElement(tagName, content.stripScripts())
- .each(function(node) { element.appendChild(node) });
- }
- else element.innerHTML = content.stripScripts();
-
- content.evalScripts.bind(content).defer();
- return element;
- };
-}
-
-if ('outerHTML' in document.createElement('div')) {
- Element.Methods.replace = function(element, content) {
- element = $(element);
-
- if (content && content.toElement) content = content.toElement();
- if (Object.isElement(content)) {
- element.parentNode.replaceChild(content, element);
- return element;
- }
-
- content = Object.toHTML(content);
- var parent = element.parentNode, tagName = parent.tagName.toUpperCase();
-
- if (Element._insertionTranslations.tags[tagName]) {
- var nextSibling = element.next();
- var fragments = Element._getContentFromAnonymousElement(tagName, content.stripScripts());
- parent.removeChild(element);
- if (nextSibling)
- fragments.each(function(node) { parent.insertBefore(node, nextSibling) });
- else
- fragments.each(function(node) { parent.appendChild(node) });
- }
- else element.outerHTML = content.stripScripts();
-
- content.evalScripts.bind(content).defer();
- return element;
- };
-}
-
-Element._returnOffset = function(l, t) {
- var result = [l, t];
- result.left = l;
- result.top = t;
- return result;
-};
-
-Element._getContentFromAnonymousElement = function(tagName, html) {
- var div = new Element('div'), t = Element._insertionTranslations.tags[tagName];
- if (t) {
- div.innerHTML = t[0] + html + t[1];
- t[2].times(function() { div = div.firstChild });
- } else div.innerHTML = html;
- return $A(div.childNodes);
-};
-
-Element._insertionTranslations = {
- before: function(element, node) {
- element.parentNode.insertBefore(node, element);
- },
- top: function(element, node) {
- element.insertBefore(node, element.firstChild);
- },
- bottom: function(element, node) {
- element.appendChild(node);
- },
- after: function(element, node) {
- element.parentNode.insertBefore(node, element.nextSibling);
- },
- tags: {
- TABLE: ['<table>', '</table>', 1],
- TBODY: ['<table><tbody>', '</tbody></table>', 2],
- TR: ['<table><tbody><tr>', '</tr></tbody></table>', 3],
- TD: ['<table><tbody><tr><td>', '</td></tr></tbody></table>', 4],
- SELECT: ['<select>', '</select>', 1]
- }
-};
-
-(function() {
- Object.extend(this.tags, {
- THEAD: this.tags.TBODY,
- TFOOT: this.tags.TBODY,
- TH: this.tags.TD
- });
-}).call(Element._insertionTranslations);
-
-Element.Methods.Simulated = {
- hasAttribute: function(element, attribute) {
- attribute = Element._attributeTranslations.has[attribute] || attribute;
- var node = $(element).getAttributeNode(attribute);
- return !!(node && node.specified);
- }
-};
-
-Element.Methods.ByTag = { };
-
-Object.extend(Element, Element.Methods);
-
-if (!Prototype.BrowserFeatures.ElementExtensions &&
- document.createElement('div')['__proto__']) {
- window.HTMLElement = { };
- window.HTMLElement.prototype = document.createElement('div')['__proto__'];
- Prototype.BrowserFeatures.ElementExtensions = true;
-}
-
-Element.extend = (function() {
- if (Prototype.BrowserFeatures.SpecificElementExtensions)
- return Prototype.K;
-
- var Methods = { }, ByTag = Element.Methods.ByTag;
-
- var extend = Object.extend(function(element) {
- if (!element || element._extendedByPrototype ||
- element.nodeType != 1 || element == window) return element;
-
- var methods = Object.clone(Methods),
- tagName = element.tagName.toUpperCase(), property, value;
-
- // extend methods for specific tags
- if (ByTag[tagName]) Object.extend(methods, ByTag[tagName]);
-
- for (property in methods) {
- value = methods[property];
- if (Object.isFunction(value) && !(property in element))
- element[property] = value.methodize();
- }
-
- element._extendedByPrototype = Prototype.emptyFunction;
- return element;
-
- }, {
- refresh: function() {
- // extend methods for all tags (Safari doesn't need this)
- if (!Prototype.BrowserFeatures.ElementExtensions) {
- Object.extend(Methods, Element.Methods);
- Object.extend(Methods, Element.Methods.Simulated);
- }
- }
- });
-
- extend.refresh();
- return extend;
-})();
-
-Element.hasAttribute = function(element, attribute) {
- if (element.hasAttribute) return element.hasAttribute(attribute);
- return Element.Methods.Simulated.hasAttribute(element, attribute);
-};
-
-Element.addMethods = function(methods) {
- var F = Prototype.BrowserFeatures, T = Element.Methods.ByTag;
-
- if (!methods) {
- Object.extend(Form, Form.Methods);
- Object.extend(Form.Element, Form.Element.Methods);
- Object.extend(Element.Methods.ByTag, {
- "FORM": Object.clone(Form.Methods),
- "INPUT": Object.clone(Form.Element.Methods),
- "SELECT": Object.clone(Form.Element.Methods),
- "TEXTAREA": Object.clone(Form.Element.Methods)
- });
- }
-
- if (arguments.length == 2) {
- var tagName = methods;
- methods = arguments[1];
- }
-
- if (!tagName) Object.extend(Element.Methods, methods || { });
- else {
- if (Object.isArray(tagName)) tagName.each(extend);
- else extend(tagName);
- }
-
- function extend(tagName) {
- tagName = tagName.toUpperCase();
- if (!Element.Methods.ByTag[tagName])
- Element.Methods.ByTag[tagName] = { };
- Object.extend(Element.Methods.ByTag[tagName], methods);
- }
-
- function copy(methods, destination, onlyIfAbsent) {
- onlyIfAbsent = onlyIfAbsent || false;
- for (var property in methods) {
- var value = methods[property];
- if (!Object.isFunction(value)) continue;
- if (!onlyIfAbsent || !(property in destination))
- destination[property] = value.methodize();
- }
- }
-
- function findDOMClass(tagName) {
- var klass;
- var trans = {
- "OPTGROUP": "OptGroup", "TEXTAREA": "TextArea", "P": "Paragraph",
- "FIELDSET": "FieldSet", "UL": "UList", "OL": "OList", "DL": "DList",
- "DIR": "Directory", "H1": "Heading", "H2": "Heading", "H3": "Heading",
- "H4": "Heading", "H5": "Heading", "H6": "Heading", "Q": "Quote",
- "INS": "Mod", "DEL": "Mod", "A": "Anchor", "IMG": "Image", "CAPTION":
- "TableCaption", "COL": "TableCol", "COLGROUP": "TableCol", "THEAD":
- "TableSection", "TFOOT": "TableSection", "TBODY": "TableSection", "TR":
- "TableRow", "TH": "TableCell", "TD": "TableCell", "FRAMESET":
- "FrameSet", "IFRAME": "IFrame"
- };
- if (trans[tagName]) klass = 'HTML' + trans[tagName] + 'Element';
- if (window[klass]) return window[klass];
- klass = 'HTML' + tagName + 'Element';
- if (window[klass]) return window[klass];
- klass = 'HTML' + tagName.capitalize() + 'Element';
- if (window[klass]) return window[klass];
-
- window[klass] = { };
- window[klass].prototype = document.createElement(tagName)['__proto__'];
- return window[klass];
- }
-
- if (F.ElementExtensions) {
- copy(Element.Methods, HTMLElement.prototype);
- copy(Element.Methods.Simulated, HTMLElement.prototype, true);
- }
-
- if (F.SpecificElementExtensions) {
- for (var tag in Element.Methods.ByTag) {
- var klass = findDOMClass(tag);
- if (Object.isUndefined(klass)) continue;
- copy(T[tag], klass.prototype);
- }
- }
-
- Object.extend(Element, Element.Methods);
- delete Element.ByTag;
-
- if (Element.extend.refresh) Element.extend.refresh();
- Element.cache = { };
-};
-
-document.viewport = {
- getDimensions: function() {
- var dimensions = { }, B = Prototype.Browser;
- $w('width height').each(function(d) {
- var D = d.capitalize();
- if (B.WebKit && !document.evaluate) {
- // Safari <3.0 needs self.innerWidth/Height
- dimensions[d] = self['inner' + D];
- } else if (B.Opera && parseFloat(window.opera.version()) < 9.5) {
- // Opera <9.5 needs document.body.clientWidth/Height
- dimensions[d] = document.body['client' + D]
- } else {
- dimensions[d] = document.documentElement['client' + D];
- }
- });
- return dimensions;
- },
-
- getWidth: function() {
- return this.getDimensions().width;
- },
-
- getHeight: function() {
- return this.getDimensions().height;
- },
-
- getScrollOffsets: function() {
- return Element._returnOffset(
- window.pageXOffset || document.documentElement.scrollLeft || document.body.scrollLeft,
- window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop);
- }
-};
-/* Portions of the Selector class are derived from Jack Slocum's DomQuery,
- * part of YUI-Ext version 0.40, distributed under the terms of an MIT-style
- * license. Please see http://www.yui-ext.com/ for more information. */
-
-var Selector = Class.create({
- initialize: function(expression) {
- this.expression = expression.strip();
-
- if (this.shouldUseSelectorsAPI()) {
- this.mode = 'selectorsAPI';
- } else if (this.shouldUseXPath()) {
- this.mode = 'xpath';
- this.compileXPathMatcher();
- } else {
- this.mode = "normal";
- this.compileMatcher();
- }
-
- },
-
- shouldUseXPath: function() {
- if (!Prototype.BrowserFeatures.XPath) return false;
-
- var e = this.expression;
-
- // Safari 3 chokes on :*-of-type and :empty
- if (Prototype.Browser.WebKit &&
- (e.include("-of-type") || e.include(":empty")))
- return false;
-
- // XPath can't do namespaced attributes, nor can it read
- // the "checked" property from DOM nodes
- if ((/(\[[\w-]*?:|:checked)/).test(e))
- return false;
-
- return true;
- },
-
- shouldUseSelectorsAPI: function() {
- if (!Prototype.BrowserFeatures.SelectorsAPI) return false;
-
- if (!Selector._div) Selector._div = new Element('div');
-
- // Make sure the browser treats the selector as valid. Test on an
- // isolated element to minimize cost of this check.
- try {
- Selector._div.querySelector(this.expression);
- } catch(e) {
- return false;
- }
-
- return true;
- },
-
- compileMatcher: function() {
- var e = this.expression, ps = Selector.patterns, h = Selector.handlers,
- c = Selector.criteria, le, p, m;
-
- if (Selector._cache[e]) {
- this.matcher = Selector._cache[e];
- return;
- }
-
- this.matcher = ["this.matcher = function(root) {",
- "var r = root, h = Selector.handlers, c = false, n;"];
-
- while (e && le != e && (/\S/).test(e)) {
- le = e;
- for (var i in ps) {
- p = ps[i];
- if (m = e.match(p)) {
- this.matcher.push(Object.isFunction(c[i]) ? c[i](m) :
- new Template(c[i]).evaluate(m));
- e = e.replace(m[0], '');
- break;
- }
- }
- }
-
- this.matcher.push("return h.unique(n);\n}");
- eval(this.matcher.join('\n'));
- Selector._cache[this.expression] = this.matcher;
- },
-
- compileXPathMatcher: function() {
- var e = this.expression, ps = Selector.patterns,
- x = Selector.xpath, le, m;
-
- if (Selector._cache[e]) {
- this.xpath = Selector._cache[e]; return;
- }
-
- this.matcher = ['.//*'];
- while (e && le != e && (/\S/).test(e)) {
- le = e;
- for (var i in ps) {
- if (m = e.match(ps[i])) {
- this.matcher.push(Object.isFunction(x[i]) ? x[i](m) :
- new Template(x[i]).evaluate(m));
- e = e.replace(m[0], '');
- break;
- }
- }
- }
-
- this.xpath = this.matcher.join('');
- Selector._cache[this.expression] = this.xpath;
- },
-
- findElements: function(root) {
- root = root || document;
- var e = this.expression, results;
-
- switch (this.mode) {
- case 'selectorsAPI':
- // querySelectorAll queries document-wide, then filters to descendants
- // of the context element. That's not what we want.
- // Add an explicit context to the selector if necessary.
- if (root !== document) {
- var oldId = root.id, id = $(root).identify();
- e = "#" + id + " " + e;
- }
-
- results = $A(root.querySelectorAll(e)).map(Element.extend);
- root.id = oldId;
-
- return results;
- case 'xpath':
- return document._getElementsByXPath(this.xpath, root);
- default:
- return this.matcher(root);
- }
- },
-
- match: function(element) {
- this.tokens = [];
-
- var e = this.expression, ps = Selector.patterns, as = Selector.assertions;
- var le, p, m;
-
- while (e && le !== e && (/\S/).test(e)) {
- le = e;
- for (var i in ps) {
- p = ps[i];
- if (m = e.match(p)) {
- // use the Selector.assertions methods unless the selector
- // is too complex.
- if (as[i]) {
- this.tokens.push([i, Object.clone(m)]);
- e = e.replace(m[0], '');
- } else {
- // reluctantly do a document-wide search
- // and look for a match in the array
- return this.findElements(document).include(element);
- }
- }
- }
- }
-
- var match = true, name, matches;
- for (var i = 0, token; token = this.tokens[i]; i++) {
- name = token[0], matches = token[1];
- if (!Selector.assertions[name](element, matches)) {
- match = false; break;
- }
- }
-
- return match;
- },
-
- toString: function() {
- return this.expression;
- },
-
- inspect: function() {
- return "#<Selector:" + this.expression.inspect() + ">";
- }
-});
-
-Object.extend(Selector, {
- _cache: { },
-
- xpath: {
- descendant: "//*",
- child: "/*",
- adjacent: "/following-sibling::*[1]",
- laterSibling: '/following-sibling::*',
- tagName: function(m) {
- if (m[1] == '*') return '';
- return "[local-name()='" + m[1].toLowerCase() +
- "' or local-name()='" + m[1].toUpperCase() + "']";
- },
- className: "[contains(concat(' ', @class, ' '), ' #{1} ')]",
- id: "[@id='#{1}']",
- attrPresence: function(m) {
- m[1] = m[1].toLowerCase();
- return new Template("[@#{1}]").evaluate(m);
- },
- attr: function(m) {
- m[1] = m[1].toLowerCase();
- m[3] = m[5] || m[6];
- return new Template(Selector.xpath.operators[m[2]]).evaluate(m);
- },
- pseudo: function(m) {
- var h = Selector.xpath.pseudos[m[1]];
- if (!h) return '';
- if (Object.isFunction(h)) return h(m);
- return new Template(Selector.xpath.pseudos[m[1]]).evaluate(m);
- },
- operators: {
- '=': "[@#{1}='#{3}']",
- '!=': "[@#{1}!='#{3}']",
- '^=': "[starts-with(@#{1}, '#{3}')]",
- '$=': "[substring(@#{1}, (string-length(@#{1}) - string-length('#{3}') + 1))='#{3}']",
- '*=': "[contains(@#{1}, '#{3}')]",
- '~=': "[contains(concat(' ', @#{1}, ' '), ' #{3} ')]",
- '|=': "[contains(concat('-', @#{1}, '-'), '-#{3}-')]"
- },
- pseudos: {
- 'first-child': '[not(preceding-sibling::*)]',
- 'last-child': '[not(following-sibling::*)]',
- 'only-child': '[not(preceding-sibling::* or following-sibling::*)]',
- 'empty': "[c

<TRUNCATED>
a***@apache.org
2017-12-21 04:53:15 UTC
Permalink
http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/assets/themes/mahout-retro/js/bootstrap.min.js
----------------------------------------------------------------------
diff --git a/website-old/assets/themes/mahout-retro/js/bootstrap.min.js b/website-old/assets/themes/mahout-retro/js/bootstrap.min.js
deleted file mode 100644
index 95c5ac5..0000000
--- a/website-old/assets/themes/mahout-retro/js/bootstrap.min.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*!
-* Bootstrap.js by @fat & @mdo
-* Copyright 2012 Twitter, Inc.
-* http://www.apache.org/licenses/LICENSE-2.0.txt
-*/
-!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()};var r=e.fn.alert;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.fn.alert.noConflict=function(){return e.fn.alert=r,this},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")};var n=e.fn.button;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.de
faults={loadingText:"loading..."},e.fn.button.Constructor=t,e.fn.button.noConflict=function(){return e.fn.button=n,this},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.$indicators=this.$element.find(".carousel-indicators"),this.options=n,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.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(e.proxy(this.next,this),this.options.interval)),this},getActiveIndex:function(){return this.$active=this.$element.find(".item.active"),this.$items=this.$active.parent().children(),this.$items.index(this.$active)},to:function(t){var n=this.getActiveIndex(),r=this;if(t>thi
s.$items.length-1||t<0)return;return this.sliding?this.$element.one("slid",function(){r.to(t)}):n==t?this.pause().cycle():this.slide(t>n?"next":"prev",e(this.$items[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(!0)),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],direction:o});if(i.hasClass("active"))return;this.$indicators.length&&(this.$indicators.find(".active").removeClass("active"),this.$element.one("slid",function(){var t=e(a.$indicators.children(
)[a.getActiveIndex()]);t&&t.addClass("active")}));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}};var n=e.fn.carousel;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.pause().cycle()})},e.fn.carousel.defaults={interval:5e3,pause:"hover"},e.fn.carousel.Const
ructor=t,e.fn.carousel.noConflict=function(){return e.fn.carousel=n,this},e(document).on("click.carousel.data-api","[data-slide], [data-slide-to]",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()),o;i.carousel(s),(o=n.attr("data-slide-to"))&&i.data("carousel").pause().to(o).cycle(),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||this.$element.hasClass("in"))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.transitionin
g)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||!this.$element.hasClass("in"))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"]()}};var n=e.fn.collapse
;e.fn.collapse=function(n){return this.each(function(){var r=e(this),i=r.data("collapse"),s=e.extend({},e.fn.collapse.defaults,r.data(),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.fn.collapse.noConflict=function(){return e.fn.collapse=n,this},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;n||(n=t.attr("href"),n=n&&/#/.test(n)&&n.replace(/.*(?=#[^\s]*$)/,"")),r=n&&e(n);if(!r||!r.length)r=t.parent();return r}var t="[data-toggle=dropdown]",n=function(t){var n=e(t).o
n("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(n){var r,s,o,u,a,f;if(!/(38|40|27)/.test(n.keyCode))return;r=e(this),n.preventDefault(),n.stopPropagation();if(r.is(".disabled, :disabled"))return;u=i(r),a=u.hasClass("open");if(!a||a&&n.keyCode==27)return n.which==27&&u.find(t).focus(),r.click();s=e("[role=menu] li:not(.divider):visible a",u);if(!s.length)return;f=s.index(s.filter(":focus")),n.keyCode==38&&f>0&&f--,n.keyCode==40&&f<s.length-1&&f++,~f||(f=0),s.eq(f).focus()}};var s=e.fn.dropdown;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.fn.dropdown.noConflict=function()
{return e.fn.dropdown=s,this},e(document).on("click.dropdown.data-api",r).on("click.dropdown.data-api",".dropdown form",function(e){e.stopPropagation()}).on("click.dropdown-menu",function(e){e.stopPropagation()}).on("click.dropdown.data-api",t,n.prototype.toggle).on("keydown.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.$e
lement[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(){var e=this;this.$element.hide(),this.backdrop(function(){e.removeBackdrop(),e.$element.trigger("hidden")})},removeBackdrop:function(){this.$backdrop&&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");if(!t)return;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.tra
nsition.end,t):t()):t&&t()}};var n=e.fn.modal;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.fn.modal.noConflict=function(){return e.fn.modal=n,this},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,o,u,a;this.type=t,this.$element=e(n),this.options=this.getOptions(r),this.enabled=!0,o=this.options.trigger.split(" ");for(a=o
.length;a--;)u=o[a],u=="click"?this.$element.on("click."+this.type,this.options.selector,e.proxy(this.toggle,this)):u!="manual"&&(i=u=="hover"?"mouseenter":"focus",s=u=="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,this.$element.data(),t),t.delay&&typeof t.delay=="number"&&(t.delay={show:t.delay,hide:t.delay}),t},enter:function(t){var n=e.fn[this.type].defaults,r={},i;this._options&&e.each(this._options,function(e,t){n[e]!=t&&(r[e]=t)},this),i=e(t.currentTarget)[this.type](r).data(this.type);if(!i.options.delay||!i.options.delay.show)return i.show();clearTimeout(this.timeout),i.hoverState="in",this.timeout=setTimeout(function(){i.hoverState=="in"&&i.show()},i.optio
ns.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 t,n,r,i,s,o,u=e.Event("show");if(this.hasContent()&&this.enabled){this.$element.trigger(u);if(u.isDefaultPrevented())return;t=this.tip(),this.setContent(),this.options.animation&&t.addClass("fade"),s=typeof this.options.placement=="function"?this.options.placement.call(this,t[0],this.$element[0]):this.options.placement,t.detach().css({top:0,left:0,display:"block"}),this.options.container?t.appendTo(this.options.container):t.insertAfter(this.$element),n=this.getPosition(),r=t[0].offsetWidth,i=t[0].offsetHeight;switch(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}}this.applyPlacement(o,s),this.$element.trigger("shown")}},applyPlacement:function(e,t){var n=this.tip(),r=n[0].offsetWidth,i=n[0].offsetHeight,s,o,u,a;n.offset(e).addClass(t).addClass("in"),s=n[0].offsetWidth,o=n[0].offsetHeight,t=="top"&&o!=i&&(e.top=e.top+i-o,a=!0),t=="bottom"||t=="top"?(u=0,e.left<0&&(u=e.left*-2,e.left=0,n.offset(e),s=n[0].offsetWidth,o=n[0].offsetHeight),this.replaceArrow(u-r+s,s,"left")):this.replaceArrow(o-i,o,"top"),a&&n.offset(e)},replaceArrow:function(e,t,n){this.arrow().css(n,e?50*(1-e/t)+"%":"")},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 i(){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
(),r=e.Event("hide");this.$element.trigger(r);if(r.isDefaultPrevented())return;return n.removeClass("in"),e.support.transition&&this.$tip.hasClass("fade")?i():n.detach(),this.$element.trigger("hidden"),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")||"").attr("title","")},hasContent:function(){return this.getTitle()},getPosition:function(){var t=this.$element[0];return e.extend({},typeof t.getBoundingClientRect=="function"?t.getBoundingClientRect():{width:t.offsetWidth,height:t.offsetHeight},this.$element.offset())},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)},arrow:function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},validate:function(){this.$element[0].parentNode||(this.h
ide(),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=t?e(t.currentTarget)[this.type](this._options).data(this.type):this;n.tip().hasClass("in")?n.hide():n.show()},destroy:function(){this.hide().$element.off("."+this.type).removeData(this.type)}};var n=e.fn.tooltip;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 focus",title:"",delay:0,html:!1,container:!1},e.fn.tooltip.noConflict=function(){return e.fn.tooltip=n,this}}(window.jQuery),!function(e){"use strict";var t=function(e,t){this.init("popover",e,t)};t.pro
totype=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=(typeof n.content=="function"?n.content.call(t[0]):n.content)||t.attr("data-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)}});var n=e.fn.popover;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><h3 class="popover-title"></h3><div class="popover-content"></div></div>'}),e.fn.popover.noConflict=function(){return e.fn.popover=n,this}}(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 n=e(this),r=n.data("target")||n.attr("href"),i=/^#\w/.test(r)&&e(r);return i&&i.length&&[[i.position().top+(!e.isWindow(t.$scrollElement.get(0))&&t.$scrollElement.scrollTop()),r]]||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")}};var n=e.fn.scrollspy;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.scr
ollspy.defaults={offset:10},e.fn.scrollspy.noConflict=function(){return e.fn.scrollspy=n,this},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.dro
pdown").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")}};var n=e.fn.tab;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.fn.tab.noConflict=function(){return e.fn.tab=n,this},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.source=this.options.source,this.$menu=e(this.options.menu),this.shown=!1,this.listen()};t.prototype={constructor:t,select:fu
nction(){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.position(),{height:this.$element[0].offsetHeight});return this.$menu.insertAfter(this.$element).css({top:t.top+t.height,left:t.left}).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;whil
e(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("focus",e.proxy(this.focus,this)).on("blur",e.proxy(this.blur,this)).on("keypress",e.proxy(this.keypress,this)).on("keyup",e.proxy(this.keyup,t
his)),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)).on("mouseleave","li",e.proxy(this.mouseleave,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.stopPropagat
ion(),e.preventDefault()},focus:function(e){this.focused=!0},blur:function(e){this.focused=!1,!this.mousedover&&this.shown&&this.hide()},click:function(e){e.stopPropagation(),e.preventDefault(),this.select(),this.$element.focus()},mouseenter:function(t){this.mousedover=!0,this.$menu.find(".active").removeClass("active"),e(t.currentTarget).addClass("active")},mouseleave:function(e){this.mousedover=!1,!this.focused&&this.shown&&this.hide()}};var n=e.fn.typeahead;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.fn.typeahead.noConflict=function(){return e.fn.typeahead=n,this},e(document).on("focus.typeahead.data-api",'[data-provide="typeahead"]',function(t){var n=e(this);if(n.data("typeah
ead"))return;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:""))};var n=e.fn.affix;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.fn.affix.noConflict=function(){return e.fn.affix=n,this},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);
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/assets/themes/mahout-retro/js/effects.js
----------------------------------------------------------------------
diff --git a/website-old/assets/themes/mahout-retro/js/effects.js b/website-old/assets/themes/mahout-retro/js/effects.js
deleted file mode 100644
index f31a81a..0000000
--- a/website-old/assets/themes/mahout-retro/js/effects.js
+++ /dev/null
@@ -1,1130 +0,0 @@
-// script.aculo.us effects.js v1.8.2, Tue Nov 18 18:30:58 +0100 2008
-
-// Copyright (c) 2005-2008 Thomas Fuchs (http://script.aculo.us, http://mir.aculo.us)
-// Contributors:
-// Justin Palmer (http://encytemedia.com/)
-// Mark Pilgrim (http://diveintomark.org/)
-// Martin Bialasinki
-//
-// script.aculo.us is freely distributable under the terms of an MIT-style license.
-// For details, see the script.aculo.us web site: http://script.aculo.us/
-
-// converts rgb() and #xxx to #xxxxxx format,
-// returns self (or first argument) if not convertable
-String.prototype.parseColor = function() {
- var color = '#';
- if (this.slice(0,4) == 'rgb(') {
- var cols = this.slice(4,this.length-1).split(',');
- var i=0; do { color += parseInt(cols[i]).toColorPart() } while (++i<3);
- } else {
- if (this.slice(0,1) == '#') {
- if (this.length==4) for(var i=1;i<4;i++) color += (this.charAt(i) + this.charAt(i)).toLowerCase();
- if (this.length==7) color = this.toLowerCase();
- }
- }
- return (color.length==7 ? color : (arguments[0] || this));
-};
-
-/*--------------------------------------------------------------------------*/
-
-Element.collectTextNodes = function(element) {
- return $A($(element).childNodes).collect( function(node) {
- return (node.nodeType==3 ? node.nodeValue :
- (node.hasChildNodes() ? Element.collectTextNodes(node) : ''));
- }).flatten().join('');
-};
-
-Element.collectTextNodesIgnoreClass = function(element, className) {
- return $A($(element).childNodes).collect( function(node) {
- return (node.nodeType==3 ? node.nodeValue :
- ((node.hasChildNodes() && !Element.hasClassName(node,className)) ?
- Element.collectTextNodesIgnoreClass(node, className) : ''));
- }).flatten().join('');
-};
-
-Element.setContentZoom = function(element, percent) {
- element = $(element);
- element.setStyle({fontSize: (percent/100) + 'em'});
- if (Prototype.Browser.WebKit) window.scrollBy(0,0);
- return element;
-};
-
-Element.getInlineOpacity = function(element){
- return $(element).style.opacity || '';
-};
-
-Element.forceRerendering = function(element) {
- try {
- element = $(element);
- var n = document.createTextNode(' ');
- element.appendChild(n);
- element.removeChild(n);
- } catch(e) { }
-};
-
-/*--------------------------------------------------------------------------*/
-
-var Effect = {
- _elementDoesNotExistError: {
- name: 'ElementDoesNotExistError',
- message: 'The specified DOM element does not exist, but is required for this effect to operate'
- },
- Transitions: {
- linear: Prototype.K,
- sinoidal: function(pos) {
- return (-Math.cos(pos*Math.PI)/2) + .5;
- },
- reverse: function(pos) {
- return 1-pos;
- },
- flicker: function(pos) {
- var pos = ((-Math.cos(pos*Math.PI)/4) + .75) + Math.random()/4;
- return pos > 1 ? 1 : pos;
- },
- wobble: function(pos) {
- return (-Math.cos(pos*Math.PI*(9*pos))/2) + .5;
- },
- pulse: function(pos, pulses) {
- return (-Math.cos((pos*((pulses||5)-.5)*2)*Math.PI)/2) + .5;
- },
- spring: function(pos) {
- return 1 - (Math.cos(pos * 4.5 * Math.PI) * Math.exp(-pos * 6));
- },
- none: function(pos) {
- return 0;
- },
- full: function(pos) {
- return 1;
- }
- },
- DefaultOptions: {
- duration: 1.0, // seconds
- fps: 100, // 100= assume 66fps max.
- sync: false, // true for combining
- from: 0.0,
- to: 1.0,
- delay: 0.0,
- queue: 'parallel'
- },
- tagifyText: function(element) {
- var tagifyStyle = 'position:relative';
- if (Prototype.Browser.IE) tagifyStyle += ';zoom:1';
-
- element = $(element);
- $A(element.childNodes).each( function(child) {
- if (child.nodeType==3) {
- child.nodeValue.toArray().each( function(character) {
- element.insertBefore(
- new Element('span', {style: tagifyStyle}).update(
- character == ' ' ? String.fromCharCode(160) : character),
- child);
- });
- Element.remove(child);
- }
- });
- },
- multiple: function(element, effect) {
- var elements;
- if (((typeof element == 'object') ||
- Object.isFunction(element)) &&
- (element.length))
- elements = element;
- else
- elements = $(element).childNodes;
-
- var options = Object.extend({
- speed: 0.1,
- delay: 0.0
- }, arguments[2] || { });
- var masterDelay = options.delay;
-
- $A(elements).each( function(element, index) {
- new effect(element, Object.extend(options, { delay: index * options.speed + masterDelay }));
- });
- },
- PAIRS: {
- 'slide': ['SlideDown','SlideUp'],
- 'blind': ['BlindDown','BlindUp'],
- 'appear': ['Appear','Fade']
- },
- toggle: function(element, effect) {
- element = $(element);
- effect = (effect || 'appear').toLowerCase();
- var options = Object.extend({
- queue: { position:'end', scope:(element.id || 'global'), limit: 1 }
- }, arguments[2] || { });
- Effect[element.visible() ?
- Effect.PAIRS[effect][1] : Effect.PAIRS[effect][0]](element, options);
- }
-};
-
-Effect.DefaultOptions.transition = Effect.Transitions.sinoidal;
-
-/* ------------- core effects ------------- */
-
-Effect.ScopedQueue = Class.create(Enumerable, {
- initialize: function() {
- this.effects = [];
- this.interval = null;
- },
- _each: function(iterator) {
- this.effects._each(iterator);
- },
- add: function(effect) {
- var timestamp = new Date().getTime();
-
- var position = Object.isString(effect.options.queue) ?
- effect.options.queue : effect.options.queue.position;
-
- switch(position) {
- case 'front':
- // move unstarted effects after this effect
- this.effects.findAll(function(e){ return e.state=='idle' }).each( function(e) {
- e.startOn += effect.finishOn;
- e.finishOn += effect.finishOn;
- });
- break;
- case 'with-last':
- timestamp = this.effects.pluck('startOn').max() || timestamp;
- break;
- case 'end':
- // start effect after last queued effect has finished
- timestamp = this.effects.pluck('finishOn').max() || timestamp;
- break;
- }
-
- effect.startOn += timestamp;
- effect.finishOn += timestamp;
-
- if (!effect.options.queue.limit || (this.effects.length < effect.options.queue.limit))
- this.effects.push(effect);
-
- if (!this.interval)
- this.interval = setInterval(this.loop.bind(this), 15);
- },
- remove: function(effect) {
- this.effects = this.effects.reject(function(e) { return e==effect });
- if (this.effects.length == 0) {
- clearInterval(this.interval);
- this.interval = null;
- }
- },
- loop: function() {
- var timePos = new Date().getTime();
- for(var i=0, len=this.effects.length;i<len;i++)
- this.effects[i] && this.effects[i].loop(timePos);
- }
-});
-
-Effect.Queues = {
- instances: $H(),
- get: function(queueName) {
- if (!Object.isString(queueName)) return queueName;
-
- return this.instances.get(queueName) ||
- this.instances.set(queueName, new Effect.ScopedQueue());
- }
-};
-Effect.Queue = Effect.Queues.get('global');
-
-Effect.Base = Class.create({
- position: null,
- start: function(options) {
- function codeForEvent(options,eventName){
- return (
- (options[eventName+'Internal'] ? 'this.options.'+eventName+'Internal(this);' : '') +
- (options[eventName] ? 'this.options.'+eventName+'(this);' : '')
- );
- }
- if (options && options.transition === false) options.transition = Effect.Transitions.linear;
- this.options = Object.extend(Object.extend({ },Effect.DefaultOptions), options || { });
- this.currentFrame = 0;
- this.state = 'idle';
- this.startOn = this.options.delay*1000;
- this.finishOn = this.startOn+(this.options.duration*1000);
- this.fromToDelta = this.options.to-this.options.from;
- this.totalTime = this.finishOn-this.startOn;
- this.totalFrames = this.options.fps*this.options.duration;
-
- this.render = (function() {
- function dispatch(effect, eventName) {
- if (effect.options[eventName + 'Internal'])
- effect.options[eventName + 'Internal'](effect);
- if (effect.options[eventName])
- effect.options[eventName](effect);
- }
-
- return function(pos) {
- if (this.state === "idle") {
- this.state = "running";
- dispatch(this, 'beforeSetup');
- if (this.setup) this.setup();
- dispatch(this, 'afterSetup');
- }
- if (this.state === "running") {
- pos = (this.options.transition(pos) * this.fromToDelta) + this.options.from;
- this.position = pos;
- dispatch(this, 'beforeUpdate');
- if (this.update) this.update(pos);
- dispatch(this, 'afterUpdate');
- }
- };
- })();
-
- this.event('beforeStart');
- if (!this.options.sync)
- Effect.Queues.get(Object.isString(this.options.queue) ?
- 'global' : this.options.queue.scope).add(this);
- },
- loop: function(timePos) {
- if (timePos >= this.startOn) {
- if (timePos >= this.finishOn) {
- this.render(1.0);
- this.cancel();
- this.event('beforeFinish');
- if (this.finish) this.finish();
- this.event('afterFinish');
- return;
- }
- var pos = (timePos - this.startOn) / this.totalTime,
- frame = (pos * this.totalFrames).round();
- if (frame > this.currentFrame) {
- this.render(pos);
- this.currentFrame = frame;
- }
- }
- },
- cancel: function() {
- if (!this.options.sync)
- Effect.Queues.get(Object.isString(this.options.queue) ?
- 'global' : this.options.queue.scope).remove(this);
- this.state = 'finished';
- },
- event: function(eventName) {
- if (this.options[eventName + 'Internal']) this.options[eventName + 'Internal'](this);
- if (this.options[eventName]) this.options[eventName](this);
- },
- inspect: function() {
- var data = $H();
- for(property in this)
- if (!Object.isFunction(this[property])) data.set(property, this[property]);
- return '#<Effect:' + data.inspect() + ',options:' + $H(this.options).inspect() + '>';
- }
-});
-
-Effect.Parallel = Class.create(Effect.Base, {
- initialize: function(effects) {
- this.effects = effects || [];
- this.start(arguments[1]);
- },
- update: function(position) {
- this.effects.invoke('render', position);
- },
- finish: function(position) {
- this.effects.each( function(effect) {
- effect.render(1.0);
- effect.cancel();
- effect.event('beforeFinish');
- if (effect.finish) effect.finish(position);
- effect.event('afterFinish');
- });
- }
-});
-
-Effect.Tween = Class.create(Effect.Base, {
- initialize: function(object, from, to) {
- object = Object.isString(object) ? $(object) : object;
- var args = $A(arguments), method = args.last(),
- options = args.length == 5 ? args[3] : null;
- this.method = Object.isFunction(method) ? method.bind(object) :
- Object.isFunction(object[method]) ? object[method].bind(object) :
- function(value) { object[method] = value };
- this.start(Object.extend({ from: from, to: to }, options || { }));
- },
- update: function(position) {
- this.method(position);
- }
-});
-
-Effect.Event = Class.create(Effect.Base, {
- initialize: function() {
- this.start(Object.extend({ duration: 0 }, arguments[0] || { }));
- },
- update: Prototype.emptyFunction
-});
-
-Effect.Opacity = Class.create(Effect.Base, {
- initialize: function(element) {
- this.element = $(element);
- if (!this.element) throw(Effect._elementDoesNotExistError);
- // make this work on IE on elements without 'layout'
- if (Prototype.Browser.IE && (!this.element.currentStyle.hasLayout))
- this.element.setStyle({zoom: 1});
- var options = Object.extend({
- from: this.element.getOpacity() || 0.0,
- to: 1.0
- }, arguments[1] || { });
- this.start(options);
- },
- update: function(position) {
- this.element.setOpacity(position);
- }
-});
-
-Effect.Move = Class.create(Effect.Base, {
- initialize: function(element) {
- this.element = $(element);
- if (!this.element) throw(Effect._elementDoesNotExistError);
- var options = Object.extend({
- x: 0,
- y: 0,
- mode: 'relative'
- }, arguments[1] || { });
- this.start(options);
- },
- setup: function() {
- this.element.makePositioned();
- this.originalLeft = parseFloat(this.element.getStyle('left') || '0');
- this.originalTop = parseFloat(this.element.getStyle('top') || '0');
- if (this.options.mode == 'absolute') {
- this.options.x = this.options.x - this.originalLeft;
- this.options.y = this.options.y - this.originalTop;
- }
- },
- update: function(position) {
- this.element.setStyle({
- left: (this.options.x * position + this.originalLeft).round() + 'px',
- top: (this.options.y * position + this.originalTop).round() + 'px'
- });
- }
-});
-
-// for backwards compatibility
-Effect.MoveBy = function(element, toTop, toLeft) {
- return new Effect.Move(element,
- Object.extend({ x: toLeft, y: toTop }, arguments[3] || { }));
-};
-
-Effect.Scale = Class.create(Effect.Base, {
- initialize: function(element, percent) {
- this.element = $(element);
- if (!this.element) throw(Effect._elementDoesNotExistError);
- var options = Object.extend({
- scaleX: true,
- scaleY: true,
- scaleContent: true,
- scaleFromCenter: false,
- scaleMode: 'box', // 'box' or 'contents' or { } with provided values
- scaleFrom: 100.0,
- scaleTo: percent
- }, arguments[2] || { });
- this.start(options);
- },
- setup: function() {
- this.restoreAfterFinish = this.options.restoreAfterFinish || false;
- this.elementPositioning = this.element.getStyle('position');
-
- this.originalStyle = { };
- ['top','left','width','height','fontSize'].each( function(k) {
- this.originalStyle[k] = this.element.style[k];
- }.bind(this));
-
- this.originalTop = this.element.offsetTop;
- this.originalLeft = this.element.offsetLeft;
-
- var fontSize = this.element.getStyle('font-size') || '100%';
- ['em','px','%','pt'].each( function(fontSizeType) {
- if (fontSize.indexOf(fontSizeType)>0) {
- this.fontSize = parseFloat(fontSize);
- this.fontSizeType = fontSizeType;
- }
- }.bind(this));
-
- this.factor = (this.options.scaleTo - this.options.scaleFrom)/100;
-
- this.dims = null;
- if (this.options.scaleMode=='box')
- this.dims = [this.element.offsetHeight, this.element.offsetWidth];
- if (/^content/.test(this.options.scaleMode))
- this.dims = [this.element.scrollHeight, this.element.scrollWidth];
- if (!this.dims)
- this.dims = [this.options.scaleMode.originalHeight,
- this.options.scaleMode.originalWidth];
- },
- update: function(position) {
- var currentScale = (this.options.scaleFrom/100.0) + (this.factor * position);
- if (this.options.scaleContent && this.fontSize)
- this.element.setStyle({fontSize: this.fontSize * currentScale + this.fontSizeType });
- this.setDimensions(this.dims[0] * currentScale, this.dims[1] * currentScale);
- },
- finish: function(position) {
- if (this.restoreAfterFinish) this.element.setStyle(this.originalStyle);
- },
- setDimensions: function(height, width) {
- var d = { };
- if (this.options.scaleX) d.width = width.round() + 'px';
- if (this.options.scaleY) d.height = height.round() + 'px';
- if (this.options.scaleFromCenter) {
- var topd = (height - this.dims[0])/2;
- var leftd = (width - this.dims[1])/2;
- if (this.elementPositioning == 'absolute') {
- if (this.options.scaleY) d.top = this.originalTop-topd + 'px';
- if (this.options.scaleX) d.left = this.originalLeft-leftd + 'px';
- } else {
- if (this.options.scaleY) d.top = -topd + 'px';
- if (this.options.scaleX) d.left = -leftd + 'px';
- }
- }
- this.element.setStyle(d);
- }
-});
-
-Effect.Highlight = Class.create(Effect.Base, {
- initialize: function(element) {
- this.element = $(element);
- if (!this.element) throw(Effect._elementDoesNotExistError);
- var options = Object.extend({ startcolor: '#ffff99' }, arguments[1] || { });
- this.start(options);
- },
- setup: function() {
- // Prevent executing on elements not in the layout flow
- if (this.element.getStyle('display')=='none') { this.cancel(); return; }
- // Disable background image during the effect
- this.oldStyle = { };
- if (!this.options.keepBackgroundImage) {
- this.oldStyle.backgroundImage = this.element.getStyle('background-image');
- this.element.setStyle({backgroundImage: 'none'});
- }
- if (!this.options.endcolor)
- this.options.endcolor = this.element.getStyle('background-color').parseColor('#ffffff');
- if (!this.options.restorecolor)
- this.options.restorecolor = this.element.getStyle('background-color');
- // init color calculations
- this._base = $R(0,2).map(function(i){ return parseInt(this.options.startcolor.slice(i*2+1,i*2+3),16) }.bind(this));
- this._delta = $R(0,2).map(function(i){ return parseInt(this.options.endcolor.slice(i*2+1,i*2+3),16)-this._base[i] }.bind(this));
- },
- update: function(position) {
- this.element.setStyle({backgroundColor: $R(0,2).inject('#',function(m,v,i){
- return m+((this._base[i]+(this._delta[i]*position)).round().toColorPart()); }.bind(this)) });
- },
- finish: function() {
- this.element.setStyle(Object.extend(this.oldStyle, {
- backgroundColor: this.options.restorecolor
- }));
- }
-});
-
-Effect.ScrollTo = function(element) {
- var options = arguments[1] || { },
- scrollOffsets = document.viewport.getScrollOffsets(),
- elementOffsets = $(element).cumulativeOffset();
-
- if (options.offset) elementOffsets[1] += options.offset;
-
- return new Effect.Tween(null,
- scrollOffsets.top,
- elementOffsets[1],
- options,
- function(p){ scrollTo(scrollOffsets.left, p.round()); }
- );
-};
-
-/* ------------- combination effects ------------- */
-
-Effect.Fade = function(element) {
- element = $(element);
- var oldOpacity = element.getInlineOpacity();
- var options = Object.extend({
- from: element.getOpacity() || 1.0,
- to: 0.0,
- afterFinishInternal: function(effect) {
- if (effect.options.to!=0) return;
- effect.element.hide().setStyle({opacity: oldOpacity});
- }
- }, arguments[1] || { });
- return new Effect.Opacity(element,options);
-};
-
-Effect.Appear = function(element) {
- element = $(element);
- var options = Object.extend({
- from: (element.getStyle('display') == 'none' ? 0.0 : element.getOpacity() || 0.0),
- to: 1.0,
- // force Safari to render floated elements properly
- afterFinishInternal: function(effect) {
- effect.element.forceRerendering();
- },
- beforeSetup: function(effect) {
- effect.element.setOpacity(effect.options.from).show();
- }}, arguments[1] || { });
- return new Effect.Opacity(element,options);
-};
-
-Effect.Puff = function(element) {
- element = $(element);
- var oldStyle = {
- opacity: element.getInlineOpacity(),
- position: element.getStyle('position'),
- top: element.style.top,
- left: element.style.left,
- width: element.style.width,
- height: element.style.height
- };
- return new Effect.Parallel(
- [ new Effect.Scale(element, 200,
- { sync: true, scaleFromCenter: true, scaleContent: true, restoreAfterFinish: true }),
- new Effect.Opacity(element, { sync: true, to: 0.0 } ) ],
- Object.extend({ duration: 1.0,
- beforeSetupInternal: function(effect) {
- Position.absolutize(effect.effects[0].element);
- },
- afterFinishInternal: function(effect) {
- effect.effects[0].element.hide().setStyle(oldStyle); }
- }, arguments[1] || { })
- );
-};
-
-Effect.BlindUp = function(element) {
- element = $(element);
- element.makeClipping();
- return new Effect.Scale(element, 0,
- Object.extend({ scaleContent: false,
- scaleX: false,
- restoreAfterFinish: true,
- afterFinishInternal: function(effect) {
- effect.element.hide().undoClipping();
- }
- }, arguments[1] || { })
- );
-};
-
-Effect.BlindDown = function(element) {
- element = $(element);
- var elementDimensions = element.getDimensions();
- return new Effect.Scale(element, 100, Object.extend({
- scaleContent: false,
- scaleX: false,
- scaleFrom: 0,
- scaleMode: {originalHeight: elementDimensions.height, originalWidth: elementDimensions.width},
- restoreAfterFinish: true,
- afterSetup: function(effect) {
- effect.element.makeClipping().setStyle({height: '0px'}).show();
- },
- afterFinishInternal: function(effect) {
- effect.element.undoClipping();
- }
- }, arguments[1] || { }));
-};
-
-Effect.SwitchOff = function(element) {
- element = $(element);
- var oldOpacity = element.getInlineOpacity();
- return new Effect.Appear(element, Object.extend({
- duration: 0.4,
- from: 0,
- transition: Effect.Transitions.flicker,
- afterFinishInternal: function(effect) {
- new Effect.Scale(effect.element, 1, {
- duration: 0.3, scaleFromCenter: true,
- scaleX: false, scaleContent: false, restoreAfterFinish: true,
- beforeSetup: function(effect) {
- effect.element.makePositioned().makeClipping();
- },
- afterFinishInternal: function(effect) {
- effect.element.hide().undoClipping().undoPositioned().setStyle({opacity: oldOpacity});
- }
- });
- }
- }, arguments[1] || { }));
-};
-
-Effect.DropOut = function(element) {
- element = $(element);
- var oldStyle = {
- top: element.getStyle('top'),
- left: element.getStyle('left'),
- opacity: element.getInlineOpacity() };
- return new Effect.Parallel(
- [ new Effect.Move(element, {x: 0, y: 100, sync: true }),
- new Effect.Opacity(element, { sync: true, to: 0.0 }) ],
- Object.extend(
- { duration: 0.5,
- beforeSetup: function(effect) {
- effect.effects[0].element.makePositioned();
- },
- afterFinishInternal: function(effect) {
- effect.effects[0].element.hide().undoPositioned().setStyle(oldStyle);
- }
- }, arguments[1] || { }));
-};
-
-Effect.Shake = function(element) {
- element = $(element);
- var options = Object.extend({
- distance: 20,
- duration: 0.5
- }, arguments[1] || {});
- var distance = parseFloat(options.distance);
- var split = parseFloat(options.duration) / 10.0;
- var oldStyle = {
- top: element.getStyle('top'),
- left: element.getStyle('left') };
- return new Effect.Move(element,
- { x: distance, y: 0, duration: split, afterFinishInternal: function(effect) {
- new Effect.Move(effect.element,
- { x: -distance*2, y: 0, duration: split*2, afterFinishInternal: function(effect) {
- new Effect.Move(effect.element,
- { x: distance*2, y: 0, duration: split*2, afterFinishInternal: function(effect) {
- new Effect.Move(effect.element,
- { x: -distance*2, y: 0, duration: split*2, afterFinishInternal: function(effect) {
- new Effect.Move(effect.element,
- { x: distance*2, y: 0, duration: split*2, afterFinishInternal: function(effect) {
- new Effect.Move(effect.element,
- { x: -distance, y: 0, duration: split, afterFinishInternal: function(effect) {
- effect.element.undoPositioned().setStyle(oldStyle);
- }}); }}); }}); }}); }}); }});
-};
-
-Effect.SlideDown = function(element) {
- element = $(element).cleanWhitespace();
- // SlideDown need to have the content of the element wrapped in a container element with fixed height!
- var oldInnerBottom = element.down().getStyle('bottom');
- var elementDimensions = element.getDimensions();
- return new Effect.Scale(element, 100, Object.extend({
- scaleContent: false,
- scaleX: false,
- scaleFrom: window.opera ? 0 : 1,
- scaleMode: {originalHeight: elementDimensions.height, originalWidth: elementDimensions.width},
- restoreAfterFinish: true,
- afterSetup: function(effect) {
- effect.element.makePositioned();
- effect.element.down().makePositioned();
- if (window.opera) effect.element.setStyle({top: ''});
- effect.element.makeClipping().setStyle({height: '0px'}).show();
- },
- afterUpdateInternal: function(effect) {
- effect.element.down().setStyle({bottom:
- (effect.dims[0] - effect.element.clientHeight) + 'px' });
- },
- afterFinishInternal: function(effect) {
- effect.element.undoClipping().undoPositioned();
- effect.element.down().undoPositioned().setStyle({bottom: oldInnerBottom}); }
- }, arguments[1] || { })
- );
-};
-
-Effect.SlideUp = function(element) {
- element = $(element).cleanWhitespace();
- var oldInnerBottom = element.down().getStyle('bottom');
- var elementDimensions = element.getDimensions();
- return new Effect.Scale(element, window.opera ? 0 : 1,
- Object.extend({ scaleContent: false,
- scaleX: false,
- scaleMode: 'box',
- scaleFrom: 100,
- scaleMode: {originalHeight: elementDimensions.height, originalWidth: elementDimensions.width},
- restoreAfterFinish: true,
- afterSetup: function(effect) {
- effect.element.makePositioned();
- effect.element.down().makePositioned();
- if (window.opera) effect.element.setStyle({top: ''});
- effect.element.makeClipping().show();
- },
- afterUpdateInternal: function(effect) {
- effect.element.down().setStyle({bottom:
- (effect.dims[0] - effect.element.clientHeight) + 'px' });
- },
- afterFinishInternal: function(effect) {
- effect.element.hide().undoClipping().undoPositioned();
- effect.element.down().undoPositioned().setStyle({bottom: oldInnerBottom});
- }
- }, arguments[1] || { })
- );
-};
-
-// Bug in opera makes the TD containing this element expand for a instance after finish
-Effect.Squish = function(element) {
- return new Effect.Scale(element, window.opera ? 1 : 0, {
- restoreAfterFinish: true,
- beforeSetup: function(effect) {
- effect.element.makeClipping();
- },
- afterFinishInternal: function(effect) {
- effect.element.hide().undoClipping();
- }
- });
-};
-
-Effect.Grow = function(element) {
- element = $(element);
- var options = Object.extend({
- direction: 'center',
- moveTransition: Effect.Transitions.sinoidal,
- scaleTransition: Effect.Transitions.sinoidal,
- opacityTransition: Effect.Transitions.full
- }, arguments[1] || { });
- var oldStyle = {
- top: element.style.top,
- left: element.style.left,
- height: element.style.height,
- width: element.style.width,
- opacity: element.getInlineOpacity() };
-
- var dims = element.getDimensions();
- var initialMoveX, initialMoveY;
- var moveX, moveY;
-
- switch (options.direction) {
- case 'top-left':
- initialMoveX = initialMoveY = moveX = moveY = 0;
- break;
- case 'top-right':
- initialMoveX = dims.width;
- initialMoveY = moveY = 0;
- moveX = -dims.width;
- break;
- case 'bottom-left':
- initialMoveX = moveX = 0;
- initialMoveY = dims.height;
- moveY = -dims.height;
- break;
- case 'bottom-right':
- initialMoveX = dims.width;
- initialMoveY = dims.height;
- moveX = -dims.width;
- moveY = -dims.height;
- break;
- case 'center':
- initialMoveX = dims.width / 2;
- initialMoveY = dims.height / 2;
- moveX = -dims.width / 2;
- moveY = -dims.height / 2;
- break;
- }
-
- return new Effect.Move(element, {
- x: initialMoveX,
- y: initialMoveY,
- duration: 0.01,
- beforeSetup: function(effect) {
- effect.element.hide().makeClipping().makePositioned();
- },
- afterFinishInternal: function(effect) {
- new Effect.Parallel(
- [ new Effect.Opacity(effect.element, { sync: true, to: 1.0, from: 0.0, transition: options.opacityTransition }),
- new Effect.Move(effect.element, { x: moveX, y: moveY, sync: true, transition: options.moveTransition }),
- new Effect.Scale(effect.element, 100, {
- scaleMode: { originalHeight: dims.height, originalWidth: dims.width },
- sync: true, scaleFrom: window.opera ? 1 : 0, transition: options.scaleTransition, restoreAfterFinish: true})
- ], Object.extend({
- beforeSetup: function(effect) {
- effect.effects[0].element.setStyle({height: '0px'}).show();
- },
- afterFinishInternal: function(effect) {
- effect.effects[0].element.undoClipping().undoPositioned().setStyle(oldStyle);
- }
- }, options)
- );
- }
- });
-};
-
-Effect.Shrink = function(element) {
- element = $(element);
- var options = Object.extend({
- direction: 'center',
- moveTransition: Effect.Transitions.sinoidal,
- scaleTransition: Effect.Transitions.sinoidal,
- opacityTransition: Effect.Transitions.none
- }, arguments[1] || { });
- var oldStyle = {
- top: element.style.top,
- left: element.style.left,
- height: element.style.height,
- width: element.style.width,
- opacity: element.getInlineOpacity() };
-
- var dims = element.getDimensions();
- var moveX, moveY;
-
- switch (options.direction) {
- case 'top-left':
- moveX = moveY = 0;
- break;
- case 'top-right':
- moveX = dims.width;
- moveY = 0;
- break;
- case 'bottom-left':
- moveX = 0;
- moveY = dims.height;
- break;
- case 'bottom-right':
- moveX = dims.width;
- moveY = dims.height;
- break;
- case 'center':
- moveX = dims.width / 2;
- moveY = dims.height / 2;
- break;
- }
-
- return new Effect.Parallel(
- [ new Effect.Opacity(element, { sync: true, to: 0.0, from: 1.0, transition: options.opacityTransition }),
- new Effect.Scale(element, window.opera ? 1 : 0, { sync: true, transition: options.scaleTransition, restoreAfterFinish: true}),
- new Effect.Move(element, { x: moveX, y: moveY, sync: true, transition: options.moveTransition })
- ], Object.extend({
- beforeStartInternal: function(effect) {
- effect.effects[0].element.makePositioned().makeClipping();
- },
- afterFinishInternal: function(effect) {
- effect.effects[0].element.hide().undoClipping().undoPositioned().setStyle(oldStyle); }
- }, options)
- );
-};
-
-Effect.Pulsate = function(element) {
- element = $(element);
- var options = arguments[1] || { },
- oldOpacity = element.getInlineOpacity(),
- transition = options.transition || Effect.Transitions.linear,
- reverser = function(pos){
- return 1 - transition((-Math.cos((pos*(options.pulses||5)*2)*Math.PI)/2) + .5);
- };
-
- return new Effect.Opacity(element,
- Object.extend(Object.extend({ duration: 2.0, from: 0,
- afterFinishInternal: function(effect) { effect.element.setStyle({opacity: oldOpacity}); }
- }, options), {transition: reverser}));
-};
-
-Effect.Fold = function(element) {
- element = $(element);
- var oldStyle = {
- top: element.style.top,
- left: element.style.left,
- width: element.style.width,
- height: element.style.height };
- element.makeClipping();
- return new Effect.Scale(element, 5, Object.extend({
- scaleContent: false,
- scaleX: false,
- afterFinishInternal: function(effect) {
- new Effect.Scale(element, 1, {
- scaleContent: false,
- scaleY: false,
- afterFinishInternal: function(effect) {
- effect.element.hide().undoClipping().setStyle(oldStyle);
- } });
- }}, arguments[1] || { }));
-};
-
-Effect.Morph = Class.create(Effect.Base, {
- initialize: function(element) {
- this.element = $(element);
- if (!this.element) throw(Effect._elementDoesNotExistError);
- var options = Object.extend({
- style: { }
- }, arguments[1] || { });
-
- if (!Object.isString(options.style)) this.style = $H(options.style);
- else {
- if (options.style.include(':'))
- this.style = options.style.parseStyle();
- else {
- this.element.addClassName(options.style);
- this.style = $H(this.element.getStyles());
- this.element.removeClassName(options.style);
- var css = this.element.getStyles();
- this.style = this.style.reject(function(style) {
- return style.value == css[style.key];
- });
- options.afterFinishInternal = function(effect) {
- effect.element.addClassName(effect.options.style);
- effect.transforms.each(function(transform) {
- effect.element.style[transform.style] = '';
- });
- };
- }
- }
- this.start(options);
- },
-
- setup: function(){
- function parseColor(color){
- if (!color || ['rgba(0, 0, 0, 0)','transparent'].include(color)) color = '#ffffff';
- color = color.parseColor();
- return $R(0,2).map(function(i){
- return parseInt( color.slice(i*2+1,i*2+3), 16 );
- });
- }
- this.transforms = this.style.map(function(pair){
- var property = pair[0], value = pair[1], unit = null;
-
- if (value.parseColor('#zzzzzz') != '#zzzzzz') {
- value = value.parseColor();
- unit = 'color';
- } else if (property == 'opacity') {
- value = parseFloat(value);
- if (Prototype.Browser.IE && (!this.element.currentStyle.hasLayout))
- this.element.setStyle({zoom: 1});
- } else if (Element.CSS_LENGTH.test(value)) {
- var components = value.match(/^([\+\-]?[0-9\.]+)(.*)$/);
- value = parseFloat(components[1]);
- unit = (components.length == 3) ? components[2] : null;
- }
-
- var originalValue = this.element.getStyle(property);
- return {
- style: property.camelize(),
- originalValue: unit=='color' ? parseColor(originalValue) : parseFloat(originalValue || 0),
- targetValue: unit=='color' ? parseColor(value) : value,
- unit: unit
- };
- }.bind(this)).reject(function(transform){
- return (
- (transform.originalValue == transform.targetValue) ||
- (
- transform.unit != 'color' &&
- (isNaN(transform.originalValue) || isNaN(transform.targetValue))
- )
- );
- });
- },
- update: function(position) {
- var style = { }, transform, i = this.transforms.length;
- while(i--)
- style[(transform = this.transforms[i]).style] =
- transform.unit=='color' ? '#'+
- (Math.round(transform.originalValue[0]+
- (transform.targetValue[0]-transform.originalValue[0])*position)).toColorPart() +
- (Math.round(transform.originalValue[1]+
- (transform.targetValue[1]-transform.originalValue[1])*position)).toColorPart() +
- (Math.round(transform.originalValue[2]+
- (transform.targetValue[2]-transform.originalValue[2])*position)).toColorPart() :
- (transform.originalValue +
- (transform.targetValue - transform.originalValue) * position).toFixed(3) +
- (transform.unit === null ? '' : transform.unit);
- this.element.setStyle(style, true);
- }
-});
-
-Effect.Transform = Class.create({
- initialize: function(tracks){
- this.tracks = [];
- this.options = arguments[1] || { };
- this.addTracks(tracks);
- },
- addTracks: function(tracks){
- tracks.each(function(track){
- track = $H(track);
- var data = track.values().first();
- this.tracks.push($H({
- ids: track.keys().first(),
- effect: Effect.Morph,
- options: { style: data }
- }));
- }.bind(this));
- return this;
- },
- play: function(){
- return new Effect.Parallel(
- this.tracks.map(function(track){
- var ids = track.get('ids'), effect = track.get('effect'), options = track.get('options');
- var elements = [$(ids) || $$(ids)].flatten();
- return elements.map(function(e){ return new effect(e, Object.extend({ sync:true }, options)) });
- }).flatten(),
- this.options
- );
- }
-});
-
-Element.CSS_PROPERTIES = $w(
- 'backgroundColor backgroundPosition borderBottomColor borderBottomStyle ' +
- 'borderBottomWidth borderLeftColor borderLeftStyle borderLeftWidth ' +
- 'borderRightColor borderRightStyle borderRightWidth borderSpacing ' +
- 'borderTopColor borderTopStyle borderTopWidth bottom clip color ' +
- 'fontSize fontWeight height left letterSpacing lineHeight ' +
- 'marginBottom marginLeft marginRight marginTop markerOffset maxHeight '+
- 'maxWidth minHeight minWidth opacity outlineColor outlineOffset ' +
- 'outlineWidth paddingBottom paddingLeft paddingRight paddingTop ' +
- 'right textIndent top width wordSpacing zIndex');
-
-Element.CSS_LENGTH = /^(([\+\-]?[0-9\.]+)(em|ex|px|in|cm|mm|pt|pc|\%))|0$/;
-
-String.__parseStyleElement = document.createElement('div');
-String.prototype.parseStyle = function(){
- var style, styleRules = $H();
- if (Prototype.Browser.WebKit)
- style = new Element('div',{style:this}).style;
- else {
- String.__parseStyleElement.innerHTML = '<div style="' + this + '"></div>';
- style = String.__parseStyleElement.childNodes[0].style;
- }
-
- Element.CSS_PROPERTIES.each(function(property){
- if (style[property]) styleRules.set(property, style[property]);
- });
-
- if (Prototype.Browser.IE && this.include('opacity'))
- styleRules.set('opacity', this.match(/opacity:\s*((?:0|1)?(?:\.\d*)?)/)[1]);
-
- return styleRules;
-};
-
-if (document.defaultView && document.defaultView.getComputedStyle) {
- Element.getStyles = function(element) {
- var css = document.defaultView.getComputedStyle($(element), null);
- return Element.CSS_PROPERTIES.inject({ }, function(styles, property) {
- styles[property] = css[property];
- return styles;
- });
- };
-} else {
- Element.getStyles = function(element) {
- element = $(element);
- var css = element.currentStyle, styles;
- styles = Element.CSS_PROPERTIES.inject({ }, function(results, property) {
- results[property] = css[property];
- return results;
- });
- if (!styles.opacity) styles.opacity = element.getOpacity();
- return styles;
- };
-}
-
-Effect.Methods = {
- morph: function(element, style) {
- element = $(element);
- new Effect.Morph(element, Object.extend({ style: style }, arguments[2] || { }));
- return element;
- },
- visualEffect: function(element, effect, options) {
- element = $(element);
- var s = effect.dasherize().camelize(), klass = s.charAt(0).toUpperCase() + s.substring(1);
- new Effect[klass](element, options);
- return element;
- },
- highlight: function(element, options) {
- element = $(element);
- new Effect.Highlight(element, options);
- return element;
- }
-};
-
-$w('fade appear grow shrink fold blindUp blindDown slideUp slideDown '+
- 'pulsate shake puff squish switchOff dropOut').each(
- function(effect) {
- Effect.Methods[effect] = function(element, options){
- element = $(element);
- Effect[effect.charAt(0).toUpperCase() + effect.substring(1)](element, options);
- return element;
- };
- }
-);
-
-$w('getInlineOpacity forceRerendering setContentZoom collectTextNodes collectTextNodesIgnoreClass getStyles').each(
- function(f) { Effect.Methods[f] = Element[f]; }
-);
-
-Element.addMethods(Effect.Methods);
\ No newline at end of file
a***@apache.org
2017-12-21 04:52:59 UTC
Permalink
http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/assets/themes/mahout3/css/bs-sticky-footer.css
----------------------------------------------------------------------
diff --git a/website-old/assets/themes/mahout3/css/bs-sticky-footer.css b/website-old/assets/themes/mahout3/css/bs-sticky-footer.css
deleted file mode 100644
index 69beb8d..0000000
--- a/website-old/assets/themes/mahout3/css/bs-sticky-footer.css
+++ /dev/null
@@ -1,29 +0,0 @@
-/* Sticky footer styles
--------------------------------------------------- */
-
-html,
-body {
- height: 100%;
- /* The html and body elements cannot have any padding or margin. */
-}
-
-/* Wrapper for page content to push down footer */
-#wrap {
- min-height: 100%;
- height: auto;
- /* Negative indent footer by its height */
- margin: 0 auto -30px;
- /* Pad bottom by footer height */
- padding: 0 0 30px;
-}
-
-/* Set the fixed height of the footer here */
-#footer {
- height: 30px;
- background-color: #60007B;
-}
-
-#footer p {
- line-height: 30px;
- margin-bottom: 0px;
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/assets/themes/mahout3/css/style.css
----------------------------------------------------------------------
diff --git a/website-old/assets/themes/mahout3/css/style.css b/website-old/assets/themes/mahout3/css/style.css
deleted file mode 100644
index 5c1cfe8..0000000
--- a/website-old/assets/themes/mahout3/css/style.css
+++ /dev/null
@@ -1,161 +0,0 @@
-/* Custom container */
-@import url(//fonts.googleapis.com/css?family=Open+Sans);
-
-/*
-Mahout3 Pallette: http://paletton.com/palette.php?uid=53q0u0k7GRe0s%2BV3HXRc0HpgyvF
-
-*/
-
-/* Replaced with normal container and standard footer */
-/*.container-narrow {
- margin: 0 auto;
- max-width: 700px; }
-
-.container-narrow > hr {
- margin: 30px 0; }
-*/
-
-/* Replaced with standard BS3 Navbar */
-/*.navbar .nav {
- float: right; }*/
-
-/* Jekyll Bootstrap Colors */
-h1, h2, h3, h4 {
- color: #005875;
-}
-#footer {
- background: #C9F4B9
-}
-
-/* posts index */
-.post > h3.title {
- position: relative;
- padding-top: 10px; }
-
-.post > h3.title span.date {
- position: absolute;
- right: 0;
- font-size: 0.9em; }
-
-.post > .more {
- margin: 10px 0;
- text-align: left; }
-
-/* post-full*/
-.post-full .date {
- margin-bottom: 20px;
- font-weight: bold; }
-
-/* tag_box */
-.tag_box {
- list-style: none;
- margin: 0;
- overflow: hidden; }
-
-.tag_box li {
- line-height: 28px; }
-
-.tag_box li i {
- opacity: 0.9; }
-
-.tag_box.inline li {
- float: left; }
-
-.tag_box a {
- padding: 3px 6px;
- margin: 2px;
- background: #eee;
- color: #555;
- border-radius: 3px;
- text-decoration: none;
- border: 1px dashed #cccccc; }
-
-.tag_box a span {
- vertical-align: super;
- font-size: 0.8em; }
-
-.tag_box a:hover {
- background-color: #e5e5e5; }
-
-.tag_box a.active {
- background: #57A957;
- border: 1px solid #4c964d;
- color: #FFF; }
-
-
-
-
-/** A handy link for new navbars: https://work.smarchal.com/twbscolor/css/e74c3c91d9e8ecf0f1ffbbbc0 **/
-.navbar-default{
- background-image:-webkit-linear-gradient(top,#fff 0,#aed4e2 20%);
- background-image:linear-gradient(to bottom,#fff 0,#aed4e2 70%);
- background-repeat:repeat-x;border-radius:4px;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff',endColorstr='#fff8f8f8',GradientType=0);
- filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.15),0 1px 5px rgba(0,0,0,0.075);
- /** box-shadow:inset 0 1px 0 rgba(255,255,255,0.15),0 1px 5px rgba(0,0,0,0.075); **/
- margin-bottom: 0px;
- border-color: #bfe8ec;
-
-}
-/** can't just set the color, have to be fancy, see above- this block will be overridden anyway
-.navbar-default {
- background-color: #bfe8ec;
- border-color: #91d9e8;
-}
-**/
-
-.jumbotron {
-/* background-color: #cde9fc; */
- background-color: #B2EAC7;
- margin-bottom: 0px;
- padding-top: 28px;
- color: #5F6BAD;
-}
-
-/* Light Green Box */
-.mahoutBox1 {
- text-align: center;
- background-color: #DCF8E6;
- padding: 5px;
- margin: 4px;
- color: #5F6BAD;
-}
-
-/* Light Purple Box */
-.mahoutBox2 {
- text-align: center;
- background-color: #DEE2F7;
- padding: 5px;
- margin: 4px;
- color: #58B77B;
-}
-
-/* Light Blue Box */
-.mahoutBox3 {
- text-align: center;
- background-color: #DBEEF6;
- padding: 5px;
- margin: 4px;
- color: #50889E;
-}
-body {
- padding-top: 65px;
-}
-
-
-/* Light Blue Box */
-.mahoutMailListBox1 {
- background-color: #DBEEF6;
- padding: 0px;
- margin: 0px;
-}
-
-.mahoutMailListBox2 {
- background-color: #DCF8E6;
- padding: 0px;
- margin: 0px;
-}
-
-.list-group.panel > .list-group-item {
- border-bottom-right-radius: 4px;
- border-bottom-left-radius: 4px
-}

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/assets/themes/mahout3/fonts/glyphicons-halflings-regular.eot
----------------------------------------------------------------------
diff --git a/website-old/assets/themes/mahout3/fonts/glyphicons-halflings-regular.eot b/website-old/assets/themes/mahout3/fonts/glyphicons-halflings-regular.eot
deleted file mode 100644
index e69de29..0000000

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/assets/themes/mahout3/fonts/glyphicons-halflings-regular.svg
----------------------------------------------------------------------
diff --git a/website-old/assets/themes/mahout3/fonts/glyphicons-halflings-regular.svg b/website-old/assets/themes/mahout3/fonts/glyphicons-halflings-regular.svg
deleted file mode 100644
index 4469488..0000000
--- a/website-old/assets/themes/mahout3/fonts/glyphicons-halflings-regular.svg
+++ /dev/null
@@ -1,229 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
-<svg xmlns="http://www.w3.org/2000/svg">
-<metadata></metadata>
-<defs>
-<font id="glyphicons_halflingsregular" horiz-adv-x="1200" >
-<font-face units-per-em="1200" ascent="960" descent="-240" />
-<missing-glyph horiz-adv-x="500" />
-<glyph />
-<glyph />
-<glyph unicode="&#xd;" />
-<glyph unicode=" " />
-<glyph unicode="*" d="M100 500v200h259l-183 183l141 141l183 -183v259h200v-259l183 183l141 -141l-183 -183h259v-200h-259l183 -183l-141 -141l-183 183v-259h-200v259l-183 -183l-141 141l183 183h-259z" />
-<glyph unicode="+" d="M0 400v300h400v400h300v-400h400v-300h-400v-400h-300v400h-400z" />
-<glyph unicode="&#xa0;" />
-<glyph unicode="&#x2000;" horiz-adv-x="652" />
-<glyph unicode="&#x2001;" horiz-adv-x="1304" />
-<glyph unicode="&#x2002;" horiz-adv-x="652" />
-<glyph unicode="&#x2003;" horiz-adv-x="1304" />
-<glyph unicode="&#x2004;" horiz-adv-x="434" />
-<glyph unicode="&#x2005;" horiz-adv-x="326" />
-<glyph unicode="&#x2006;" horiz-adv-x="217" />
-<glyph unicode="&#x2007;" horiz-adv-x="217" />
-<glyph unicode="&#x2008;" horiz-adv-x="163" />
-<glyph unicode="&#x2009;" horiz-adv-x="260" />
-<glyph unicode="&#x200a;" horiz-adv-x="72" />
-<glyph unicode="&#x202f;" horiz-adv-x="260" />
-<glyph unicode="&#x205f;" horiz-adv-x="326" />
-<glyph unicode="&#x20ac;" d="M100 500l100 100h113q0 47 5 100h-218l100 100h135q37 167 112 257q117 141 297 141q242 0 354 -189q60 -103 66 -209h-181q0 55 -25.5 99t-63.5 68t-75 36.5t-67 12.5q-24 0 -52.5 -10t-62.5 -32t-65.5 -67t-50.5 -107h379l-100 -100h-300q-6 -46 -6 -100h406l-100 -100 h-300q9 -74 33 -132t52.5 -91t62 -54.5t59 -29t46.5 -7.5q29 0 66 13t75 37t63.5 67.5t25.5 96.5h174q-31 -172 -128 -278q-107 -117 -274 -117q-205 0 -324 158q-36 46 -69 131.5t-45 205.5h-217z" />
-<glyph unicode="&#x2212;" d="M200 400h900v300h-900v-300z" />
-<glyph unicode="&#x2601;" d="M-14 494q0 -80 56.5 -137t135.5 -57h750q120 0 205 86t85 208q0 120 -85 206.5t-205 86.5q-46 0 -90 -14q-44 97 -134.5 156.5t-200.5 59.5q-152 0 -260 -107.5t-108 -260.5q0 -25 2 -37q-66 -14 -108.5 -67.5t-42.5 -122.5z" />
-<glyph unicode="&#x2709;" d="M0 100l400 400l200 -200l200 200l400 -400h-1200zM0 300v600l300 -300zM0 1100l600 -603l600 603h-1200zM900 600l300 300v-600z" />
-<glyph unicode="&#x270f;" d="M-13 -13l333 112l-223 223zM187 403l214 -214l614 614l-214 214zM887 1103l214 -214l99 92q13 13 13 32.5t-13 33.5l-153 153q-15 13 -33 13t-33 -13z" />
-<glyph unicode="&#xe000;" horiz-adv-x="500" d="M0 0z" />
-<glyph unicode="&#xe001;" d="M0 1200h1200l-500 -550v-550h300v-100h-800v100h300v550z" />
-<glyph unicode="&#xe002;" d="M14 84q18 -55 86 -75.5t147 5.5q65 21 109 69t44 90v606l600 155v-521q-64 16 -138 -7q-79 -26 -122.5 -83t-25.5 -111q17 -55 85.5 -75.5t147.5 4.5q70 23 111.5 63.5t41.5 95.5v881q0 10 -7 15.5t-17 2.5l-752 -193q-10 -3 -17 -12.5t-7 -19.5v-689q-64 17 -138 -7 q-79 -25 -122.5 -82t-25.5 -112z" />
-<glyph unicode="&#xe003;" d="M23 693q0 200 142 342t342 142t342 -142t142 -342q0 -142 -78 -261l300 -300q7 -8 7 -18t-7 -18l-109 -109q-8 -7 -18 -7t-18 7l-300 300q-119 -78 -261 -78q-200 0 -342 142t-142 342zM176 693q0 -136 97 -233t234 -97t233.5 96.5t96.5 233.5t-96.5 233.5t-233.5 96.5 t-234 -97t-97 -233z" />
-<glyph unicode="&#xe005;" d="M100 784q0 64 28 123t73 100.5t104.5 64t119 20.5t120 -38.5t104.5 -104.5q48 69 109.5 105t121.5 38t118.5 -20.5t102.5 -64t71 -100.5t27 -123q0 -57 -33.5 -117.5t-94 -124.5t-126.5 -127.5t-150 -152.5t-146 -174q-62 85 -145.5 174t-149.5 152.5t-126.5 127.5 t-94 124.5t-33.5 117.5z" />
-<glyph unicode="&#xe006;" d="M-72 800h479l146 400h2l146 -400h472l-382 -278l145 -449l-384 275l-382 -275l146 447zM168 71l2 1z" />
-<glyph unicode="&#xe007;" d="M-72 800h479l146 400h2l146 -400h472l-382 -278l145 -449l-384 275l-382 -275l146 447zM168 71l2 1zM237 700l196 -142l-73 -226l192 140l195 -141l-74 229l193 140h-235l-77 211l-78 -211h-239z" />
-<glyph unicode="&#xe008;" d="M0 0v143l400 257v100q-37 0 -68.5 74.5t-31.5 125.5v200q0 124 88 212t212 88t212 -88t88 -212v-200q0 -51 -31.5 -125.5t-68.5 -74.5v-100l400 -257v-143h-1200z" />
-<glyph unicode="&#xe009;" d="M0 0v1100h1200v-1100h-1200zM100 100h100v100h-100v-100zM100 300h100v100h-100v-100zM100 500h100v100h-100v-100zM100 700h100v100h-100v-100zM100 900h100v100h-100v-100zM300 100h600v400h-600v-400zM300 600h600v400h-600v-400zM1000 100h100v100h-100v-100z M1000 300h100v100h-100v-100zM1000 500h100v100h-100v-100zM1000 700h100v100h-100v-100zM1000 900h100v100h-100v-100z" />
-<glyph unicode="&#xe010;" d="M0 50v400q0 21 14.5 35.5t35.5 14.5h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5zM0 650v400q0 21 14.5 35.5t35.5 14.5h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400 q-21 0 -35.5 14.5t-14.5 35.5zM600 50v400q0 21 14.5 35.5t35.5 14.5h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5zM600 650v400q0 21 14.5 35.5t35.5 14.5h400q21 0 35.5 -14.5t14.5 -35.5v-400 q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5z" />
-<glyph unicode="&#xe011;" d="M0 50v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM0 450v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200 q-21 0 -35.5 14.5t-14.5 35.5zM0 850v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM400 50v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5 t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM400 450v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM400 850v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5 v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM800 50v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM800 450v200q0
21 14.5 35.5t35.5 14.5h200 q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM800 850v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5z" />
-<glyph unicode="&#xe012;" d="M0 50v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM0 450q0 -21 14.5 -35.5t35.5 -14.5h200q21 0 35.5 14.5t14.5 35.5v200q0 21 -14.5 35.5t-35.5 14.5h-200q-21 0 -35.5 -14.5 t-14.5 -35.5v-200zM0 850v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM400 50v200q0 21 14.5 35.5t35.5 14.5h700q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5 t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5zM400 450v200q0 21 14.5 35.5t35.5 14.5h700q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5zM400 850v200q0 21 14.5 35.5t35.5 14.5h700q21 0 35.5 -14.5t14.5 -35.5 v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5z" />
-<glyph unicode="&#xe013;" d="M29 454l419 -420l818 820l-212 212l-607 -607l-206 207z" />
-<glyph unicode="&#xe014;" d="M106 318l282 282l-282 282l212 212l282 -282l282 282l212 -212l-282 -282l282 -282l-212 -212l-282 282l-282 -282z" />
-<glyph unicode="&#xe015;" d="M23 693q0 200 142 342t342 142t342 -142t142 -342q0 -142 -78 -261l300 -300q7 -8 7 -18t-7 -18l-109 -109q-8 -7 -18 -7t-18 7l-300 300q-119 -78 -261 -78q-200 0 -342 142t-142 342zM176 693q0 -136 97 -233t234 -97t233.5 96.5t96.5 233.5t-96.5 233.5t-233.5 96.5 t-234 -97t-97 -233zM300 600v200h100v100h200v-100h100v-200h-100v-100h-200v100h-100z" />
-<glyph unicode="&#xe016;" d="M23 694q0 200 142 342t342 142t342 -142t142 -342q0 -141 -78 -262l300 -299q7 -7 7 -18t-7 -18l-109 -109q-8 -8 -18 -8t-18 8l-300 299q-120 -77 -261 -77q-200 0 -342 142t-142 342zM176 694q0 -136 97 -233t234 -97t233.5 97t96.5 233t-96.5 233t-233.5 97t-234 -97 t-97 -233zM300 601h400v200h-400v-200z" />
-<glyph unicode="&#xe017;" d="M23 600q0 183 105 331t272 210v-166q-103 -55 -165 -155t-62 -220q0 -177 125 -302t302 -125t302 125t125 302q0 120 -62 220t-165 155v166q167 -62 272 -210t105 -331q0 -118 -45.5 -224.5t-123 -184t-184 -123t-224.5 -45.5t-224.5 45.5t-184 123t-123 184t-45.5 224.5 zM500 750q0 -21 14.5 -35.5t35.5 -14.5h100q21 0 35.5 14.5t14.5 35.5v400q0 21 -14.5 35.5t-35.5 14.5h-100q-21 0 -35.5 -14.5t-14.5 -35.5v-400z" />
-<glyph unicode="&#xe018;" d="M100 1h200v300h-200v-300zM400 1v500h200v-500h-200zM700 1v800h200v-800h-200zM1000 1v1200h200v-1200h-200z" />
-<glyph unicode="&#xe019;" d="M26 601q0 -33 6 -74l151 -38l2 -6q14 -49 38 -93l3 -5l-80 -134q45 -59 105 -105l133 81l5 -3q45 -26 94 -39l5 -2l38 -151q40 -5 74 -5q27 0 74 5l38 151l6 2q46 13 93 39l5 3l134 -81q56 44 104 105l-80 134l3 5q24 44 39 93l1 6l152 38q5 40 5 74q0 28 -5 73l-152 38 l-1 6q-16 51 -39 93l-3 5l80 134q-44 58 -104 105l-134 -81l-5 3q-45 25 -93 39l-6 1l-38 152q-40 5 -74 5q-27 0 -74 -5l-38 -152l-5 -1q-50 -14 -94 -39l-5 -3l-133 81q-59 -47 -105 -105l80 -134l-3 -5q-25 -47 -38 -93l-2 -6l-151 -38q-6 -48 -6 -73zM385 601 q0 88 63 151t152 63t152 -63t63 -151q0 -89 -63 -152t-152 -63t-152 63t-63 152z" />
-<glyph unicode="&#xe020;" d="M100 1025v50q0 10 7.5 17.5t17.5 7.5h275v100q0 41 29.5 70.5t70.5 29.5h300q41 0 70.5 -29.5t29.5 -70.5v-100h275q10 0 17.5 -7.5t7.5 -17.5v-50q0 -11 -7 -18t-18 -7h-1050q-11 0 -18 7t-7 18zM200 100v800h900v-800q0 -41 -29.5 -71t-70.5 -30h-700q-41 0 -70.5 30 t-29.5 71zM300 100h100v700h-100v-700zM500 100h100v700h-100v-700zM500 1100h300v100h-300v-100zM700 100h100v700h-100v-700zM900 100h100v700h-100v-700z" />
-<glyph unicode="&#xe021;" d="M1 601l656 644l644 -644h-200v-600h-300v400h-300v-400h-300v600h-200z" />
-<glyph unicode="&#xe022;" d="M100 25v1150q0 11 7 18t18 7h475v-500h400v-675q0 -11 -7 -18t-18 -7h-850q-11 0 -18 7t-7 18zM700 800v300l300 -300h-300z" />
-<glyph unicode="&#xe023;" d="M4 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM186 600q0 -171 121.5 -292.5t292.5 -121.5t292.5 121.5t121.5 292.5t-121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM500 500v400h100 v-300h200v-100h-300z" />
-<glyph unicode="&#xe024;" d="M-100 0l431 1200h209l-21 -300h162l-20 300h208l431 -1200h-538l-41 400h-242l-40 -400h-539zM488 500h224l-27 300h-170z" />
-<glyph unicode="&#xe025;" d="M0 0v400h490l-290 300h200v500h300v-500h200l-290 -300h490v-400h-1100zM813 200h175v100h-175v-100z" />
-<glyph unicode="&#xe026;" d="M1 600q0 122 47.5 233t127.5 191t191 127.5t233 47.5t233 -47.5t191 -127.5t127.5 -191t47.5 -233t-47.5 -233t-127.5 -191t-191 -127.5t-233 -47.5t-233 47.5t-191 127.5t-127.5 191t-47.5 233zM188 600q0 -170 121 -291t291 -121t291 121t121 291t-121 291t-291 121 t-291 -121t-121 -291zM350 600h150v300h200v-300h150l-250 -300z" />
-<glyph unicode="&#xe027;" d="M4 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM186 600q0 -171 121.5 -292.5t292.5 -121.5t292.5 121.5t121.5 292.5t-121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM350 600l250 300 l250 -300h-150v-300h-200v300h-150z" />
-<glyph unicode="&#xe028;" d="M0 25v475l200 700h800q199 -700 200 -700v-475q0 -11 -7 -18t-18 -7h-1150q-11 0 -18 7t-7 18zM200 500h200l50 -200h300l50 200h200l-97 500h-606z" />
-<glyph unicode="&#xe029;" d="M4 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM186 600q0 -172 121.5 -293t292.5 -121t292.5 121t121.5 293q0 171 -121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM500 397v401 l297 -200z" />
-<glyph unicode="&#xe030;" d="M23 600q0 -118 45.5 -224.5t123 -184t184 -123t224.5 -45.5t224.5 45.5t184 123t123 184t45.5 224.5h-150q0 -177 -125 -302t-302 -125t-302 125t-125 302t125 302t302 125q136 0 246 -81l-146 -146h400v400l-145 -145q-157 122 -355 122q-118 0 -224.5 -45.5t-184 -123 t-123 -184t-45.5 -224.5z" />
-<glyph unicode="&#xe031;" d="M23 600q0 118 45.5 224.5t123 184t184 123t224.5 45.5q198 0 355 -122l145 145v-400h-400l147 147q-112 80 -247 80q-177 0 -302 -125t-125 -302h-150zM100 0v400h400l-147 -147q112 -80 247 -80q177 0 302 125t125 302h150q0 -118 -45.5 -224.5t-123 -184t-184 -123 t-224.5 -45.5q-198 0 -355 122z" />
-<glyph unicode="&#xe032;" d="M100 0h1100v1200h-1100v-1200zM200 100v900h900v-900h-900zM300 200v100h100v-100h-100zM300 400v100h100v-100h-100zM300 600v100h100v-100h-100zM300 800v100h100v-100h-100zM500 200h500v100h-500v-100zM500 400v100h500v-100h-500zM500 600v100h500v-100h-500z M500 800v100h500v-100h-500z" />
-<glyph unicode="&#xe033;" d="M0 100v600q0 41 29.5 70.5t70.5 29.5h100v200q0 82 59 141t141 59h300q82 0 141 -59t59 -141v-200h100q41 0 70.5 -29.5t29.5 -70.5v-600q0 -41 -29.5 -70.5t-70.5 -29.5h-900q-41 0 -70.5 29.5t-29.5 70.5zM400 800h300v150q0 21 -14.5 35.5t-35.5 14.5h-200 q-21 0 -35.5 -14.5t-14.5 -35.5v-150z" />
-<glyph unicode="&#xe034;" d="M100 0v1100h100v-1100h-100zM300 400q60 60 127.5 84t127.5 17.5t122 -23t119 -30t110 -11t103 42t91 120.5v500q-40 -81 -101.5 -115.5t-127.5 -29.5t-138 25t-139.5 40t-125.5 25t-103 -29.5t-65 -115.5v-500z" />
-<glyph unicode="&#xe035;" d="M0 275q0 -11 7 -18t18 -7h50q11 0 18 7t7 18v300q0 127 70.5 231.5t184.5 161.5t245 57t245 -57t184.5 -161.5t70.5 -231.5v-300q0 -11 7 -18t18 -7h50q11 0 18 7t7 18v300q0 116 -49.5 227t-131 192.5t-192.5 131t-227 49.5t-227 -49.5t-192.5 -131t-131 -192.5 t-49.5 -227v-300zM200 20v460q0 8 6 14t14 6h160q8 0 14 -6t6 -14v-460q0 -8 -6 -14t-14 -6h-160q-8 0 -14 6t-6 14zM800 20v460q0 8 6 14t14 6h160q8 0 14 -6t6 -14v-460q0 -8 -6 -14t-14 -6h-160q-8 0 -14 6t-6 14z" />
-<glyph unicode="&#xe036;" d="M0 400h300l300 -200v800l-300 -200h-300v-400zM688 459l141 141l-141 141l71 71l141 -141l141 141l71 -71l-141 -141l141 -141l-71 -71l-141 141l-141 -141z" />
-<glyph unicode="&#xe037;" d="M0 400h300l300 -200v800l-300 -200h-300v-400zM700 857l69 53q111 -135 111 -310q0 -169 -106 -302l-67 54q86 110 86 248q0 146 -93 257z" />
-<glyph unicode="&#xe038;" d="M0 401v400h300l300 200v-800l-300 200h-300zM702 858l69 53q111 -135 111 -310q0 -170 -106 -303l-67 55q86 110 86 248q0 145 -93 257zM889 951l7 -8q123 -151 123 -344q0 -189 -119 -339l-7 -8l81 -66l6 8q142 178 142 405q0 230 -144 408l-6 8z" />
-<glyph unicode="&#xe039;" d="M0 0h500v500h-200v100h-100v-100h-200v-500zM0 600h100v100h400v100h100v100h-100v300h-500v-600zM100 100v300h300v-300h-300zM100 800v300h300v-300h-300zM200 200v100h100v-100h-100zM200 900h100v100h-100v-100zM500 500v100h300v-300h200v-100h-100v-100h-200v100 h-100v100h100v200h-200zM600 0v100h100v-100h-100zM600 1000h100v-300h200v-300h300v200h-200v100h200v500h-600v-200zM800 800v300h300v-300h-300zM900 0v100h300v-100h-300zM900 900v100h100v-100h-100zM1100 200v100h100v-100h-100z" />
-<glyph unicode="&#xe040;" d="M0 200h100v1000h-100v-1000zM100 0v100h300v-100h-300zM200 200v1000h100v-1000h-100zM500 0v91h100v-91h-100zM500 200v1000h200v-1000h-200zM700 0v91h100v-91h-100zM800 200v1000h100v-1000h-100zM900 0v91h200v-91h-200zM1000 200v1000h200v-1000h-200z" />
-<glyph unicode="&#xe041;" d="M1 700v475q0 10 7.5 17.5t17.5 7.5h474l700 -700l-500 -500zM148 953q0 -42 29 -71q30 -30 71.5 -30t71.5 30q29 29 29 71t-29 71q-30 30 -71.5 30t-71.5 -30q-29 -29 -29 -71z" />
-<glyph unicode="&#xe042;" d="M2 700v475q0 11 7 18t18 7h474l700 -700l-500 -500zM148 953q0 -42 30 -71q29 -30 71 -30t71 30q30 29 30 71t-30 71q-29 30 -71 30t-71 -30q-30 -29 -30 -71zM701 1200h100l700 -700l-500 -500l-50 50l450 450z" />
-<glyph unicode="&#xe043;" d="M100 0v1025l175 175h925v-1000l-100 -100v1000h-750l-100 -100h750v-1000h-900z" />
-<glyph unicode="&#xe044;" d="M200 0l450 444l450 -443v1150q0 20 -14.5 35t-35.5 15h-800q-21 0 -35.5 -15t-14.5 -35v-1151z" />
-<glyph unicode="&#xe045;" d="M0 100v700h200l100 -200h600l100 200h200v-700h-200v200h-800v-200h-200zM253 829l40 -124h592l62 124l-94 346q-2 11 -10 18t-18 7h-450q-10 0 -18 -7t-10 -18zM281 24l38 152q2 10 11.5 17t19.5 7h500q10 0 19.5 -7t11.5 -17l38 -152q2 -10 -3.5 -17t-15.5 -7h-600 q-10 0 -15.5 7t-3.5 17z" />
-<glyph unicode="&#xe046;" d="M0 200q0 -41 29.5 -70.5t70.5 -29.5h1000q41 0 70.5 29.5t29.5 70.5v600q0 41 -29.5 70.5t-70.5 29.5h-150q-4 8 -11.5 21.5t-33 48t-53 61t-69 48t-83.5 21.5h-200q-41 0 -82 -20.5t-70 -50t-52 -59t-34 -50.5l-12 -20h-150q-41 0 -70.5 -29.5t-29.5 -70.5v-600z M356 500q0 100 72 172t172 72t172 -72t72 -172t-72 -172t-172 -72t-172 72t-72 172zM494 500q0 -44 31 -75t75 -31t75 31t31 75t-31 75t-75 31t-75 -31t-31 -75zM900 700v100h100v-100h-100z" />
-<glyph unicode="&#xe047;" d="M53 0h365v66q-41 0 -72 11t-49 38t1 71l92 234h391l82 -222q16 -45 -5.5 -88.5t-74.5 -43.5v-66h417v66q-34 1 -74 43q-18 19 -33 42t-21 37l-6 13l-385 998h-93l-399 -1006q-24 -48 -52 -75q-12 -12 -33 -25t-36 -20l-15 -7v-66zM416 521l178 457l46 -140l116 -317h-340 z" />
-<glyph unicode="&#xe048;" d="M100 0v89q41 7 70.5 32.5t29.5 65.5v827q0 28 -1 39.5t-5.5 26t-15.5 21t-29 14t-49 14.5v70h471q120 0 213 -88t93 -228q0 -55 -11.5 -101.5t-28 -74t-33.5 -47.5t-28 -28l-12 -7q8 -3 21.5 -9t48 -31.5t60.5 -58t47.5 -91.5t21.5 -129q0 -84 -59 -156.5t-142 -111 t-162 -38.5h-500zM400 200h161q89 0 153 48.5t64 132.5q0 90 -62.5 154.5t-156.5 64.5h-159v-400zM400 700h139q76 0 130 61.5t54 138.5q0 82 -84 130.5t-239 48.5v-379z" />
-<glyph unicode="&#xe049;" d="M200 0v57q77 7 134.5 40.5t65.5 80.5l173 849q10 56 -10 74t-91 37q-6 1 -10.5 2.5t-9.5 2.5v57h425l2 -57q-33 -8 -62 -25.5t-46 -37t-29.5 -38t-17.5 -30.5l-5 -12l-128 -825q-10 -52 14 -82t95 -36v-57h-500z" />
-<glyph unicode="&#xe050;" d="M-75 200h75v800h-75l125 167l125 -167h-75v-800h75l-125 -167zM300 900v300h150h700h150v-300h-50q0 29 -8 48.5t-18.5 30t-33.5 15t-39.5 5.5t-50.5 1h-200v-850l100 -50v-100h-400v100l100 50v850h-200q-34 0 -50.5 -1t-40 -5.5t-33.5 -15t-18.5 -30t-8.5 -48.5h-49z " />
-<glyph unicode="&#xe051;" d="M33 51l167 125v-75h800v75l167 -125l-167 -125v75h-800v-75zM100 901v300h150h700h150v-300h-50q0 29 -8 48.5t-18 30t-33.5 15t-40 5.5t-50.5 1h-200v-650l100 -50v-100h-400v100l100 50v650h-200q-34 0 -50.5 -1t-39.5 -5.5t-33.5 -15t-18.5 -30t-8 -48.5h-50z" />
-<glyph unicode="&#xe052;" d="M0 50q0 -20 14.5 -35t35.5 -15h1100q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-1100q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM0 350q0 -20 14.5 -35t35.5 -15h800q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-800q-21 0 -35.5 -14.5t-14.5 -35.5 v-100zM0 650q0 -20 14.5 -35t35.5 -15h1000q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-1000q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM0 950q0 -20 14.5 -35t35.5 -15h600q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-600q-21 0 -35.5 -14.5 t-14.5 -35.5v-100z" />
-<glyph unicode="&#xe053;" d="M0 50q0 -20 14.5 -35t35.5 -15h1100q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-1100q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM0 650q0 -20 14.5 -35t35.5 -15h1100q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-1100q-21 0 -35.5 -14.5t-14.5 -35.5 v-100zM200 350q0 -20 14.5 -35t35.5 -15h700q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-700q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM200 950q0 -20 14.5 -35t35.5 -15h700q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-700q-21 0 -35.5 -14.5 t-14.5 -35.5v-100z" />
-<glyph unicode="&#xe054;" d="M0 50v100q0 21 14.5 35.5t35.5 14.5h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-1100q-21 0 -35.5 15t-14.5 35zM100 650v100q0 21 14.5 35.5t35.5 14.5h1000q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-1000q-21 0 -35.5 15 t-14.5 35zM300 350v100q0 21 14.5 35.5t35.5 14.5h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-800q-21 0 -35.5 15t-14.5 35zM500 950v100q0 21 14.5 35.5t35.5 14.5h600q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-600 q-21 0 -35.5 15t-14.5 35z" />
-<glyph unicode="&#xe055;" d="M0 50v100q0 21 14.5 35.5t35.5 14.5h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-1100q-21 0 -35.5 15t-14.5 35zM0 350v100q0 21 14.5 35.5t35.5 14.5h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-1100q-21 0 -35.5 15 t-14.5 35zM0 650v100q0 21 14.5 35.5t35.5 14.5h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-1100q-21 0 -35.5 15t-14.5 35zM0 950v100q0 21 14.5 35.5t35.5 14.5h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-1100 q-21 0 -35.5 15t-14.5 35z" />
-<glyph unicode="&#xe056;" d="M0 50v100q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-100q-21 0 -35.5 15t-14.5 35zM0 350v100q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-100q-21 0 -35.5 15 t-14.5 35zM0 650v100q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-100q-21 0 -35.5 15t-14.5 35zM0 950v100q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-100q-21 0 -35.5 15 t-14.5 35zM300 50v100q0 21 14.5 35.5t35.5 14.5h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-800q-21 0 -35.5 15t-14.5 35zM300 350v100q0 21 14.5 35.5t35.5 14.5h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-800 q-21 0 -35.5 15t-14.5 35zM300 650v100q0 21 14.5 35.5t35.5 14.5h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-800q-21 0 -35.5 15t-14.5 35zM300 950v100q0 21 14.5 35.5t35.5 14.5h800q21 0 35.5 -14.5t14.5 -35.5v-10
0q0 -20 -14.5 -35t-35.5 -15 h-800q-21 0 -35.5 15t-14.5 35z" />
-<glyph unicode="&#xe057;" d="M-101 500v100h201v75l166 -125l-166 -125v75h-201zM300 0h100v1100h-100v-1100zM500 50q0 -20 14.5 -35t35.5 -15h600q20 0 35 15t15 35v100q0 21 -15 35.5t-35 14.5h-600q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM500 350q0 -20 14.5 -35t35.5 -15h300q20 0 35 15t15 35 v100q0 21 -15 35.5t-35 14.5h-300q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM500 650q0 -20 14.5 -35t35.5 -15h500q20 0 35 15t15 35v100q0 21 -15 35.5t-35 14.5h-500q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM500 950q0 -20 14.5 -35t35.5 -15h100q20 0 35 15t15 35v100 q0 21 -15 35.5t-35 14.5h-100q-21 0 -35.5 -14.5t-14.5 -35.5v-100z" />
-<glyph unicode="&#xe058;" d="M1 50q0 -20 14.5 -35t35.5 -15h600q20 0 35 15t15 35v100q0 21 -15 35.5t-35 14.5h-600q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM1 350q0 -20 14.5 -35t35.5 -15h300q20 0 35 15t15 35v100q0 21 -15 35.5t-35 14.5h-300q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM1 650 q0 -20 14.5 -35t35.5 -15h500q20 0 35 15t15 35v100q0 21 -15 35.5t-35 14.5h-500q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM1 950q0 -20 14.5 -35t35.5 -15h100q20 0 35 15t15 35v100q0 21 -15 35.5t-35 14.5h-100q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM801 0v1100h100v-1100 h-100zM934 550l167 -125v75h200v100h-200v75z" />
-<glyph unicode="&#xe059;" d="M0 275v650q0 31 22 53t53 22h750q31 0 53 -22t22 -53v-650q0 -31 -22 -53t-53 -22h-750q-31 0 -53 22t-22 53zM900 600l300 300v-600z" />
-<glyph unicode="&#xe060;" d="M0 44v1012q0 18 13 31t31 13h1112q19 0 31.5 -13t12.5 -31v-1012q0 -18 -12.5 -31t-31.5 -13h-1112q-18 0 -31 13t-13 31zM100 263l247 182l298 -131l-74 156l293 318l236 -288v500h-1000v-737zM208 750q0 56 39 95t95 39t95 -39t39 -95t-39 -95t-95 -39t-95 39t-39 95z " />
-<glyph unicode="&#xe062;" d="M148 745q0 124 60.5 231.5t165 172t226.5 64.5q123 0 227 -63t164.5 -169.5t60.5 -229.5t-73 -272q-73 -114 -166.5 -237t-150.5 -189l-57 -66q-10 9 -27 26t-66.5 70.5t-96 109t-104 135.5t-100.5 155q-63 139 -63 262zM342 772q0 -107 75.5 -182.5t181.5 -75.5 q107 0 182.5 75.5t75.5 182.5t-75.5 182t-182.5 75t-182 -75.5t-75 -181.5z" />
-<glyph unicode="&#xe063;" d="M1 600q0 122 47.5 233t127.5 191t191 127.5t233 47.5t233 -47.5t191 -127.5t127.5 -191t47.5 -233t-47.5 -233t-127.5 -191t-191 -127.5t-233 -47.5t-233 47.5t-191 127.5t-127.5 191t-47.5 233zM173 600q0 -177 125.5 -302t301.5 -125v854q-176 0 -301.5 -125 t-125.5 -302z" />
-<glyph unicode="&#xe064;" d="M117 406q0 94 34 186t88.5 172.5t112 159t115 177t87.5 194.5q21 -71 57.5 -142.5t76 -130.5t83 -118.5t82 -117t70 -116t50 -125.5t18.5 -136q0 -89 -39 -165.5t-102 -126.5t-140 -79.5t-156 -33.5q-114 6 -211.5 53t-161.5 138.5t-64 210.5zM243 414q14 -82 59.5 -136 t136.5 -80l16 98q-7 6 -18 17t-34 48t-33 77q-15 73 -14 143.5t10 122.5l9 51q-92 -110 -119.5 -185t-12.5 -156z" />
-<glyph unicode="&#xe065;" d="M0 400v300q0 165 117.5 282.5t282.5 117.5q366 -6 397 -14l-186 -186h-311q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v125l200 200v-225q0 -165 -117.5 -282.5t-282.5 -117.5h-300q-165 0 -282.5 117.5 t-117.5 282.5zM436 341l161 50l412 412l-114 113l-405 -405zM995 1015l113 -113l113 113l-21 85l-92 28z" />
-<glyph unicode="&#xe066;" d="M0 400v300q0 165 117.5 282.5t282.5 117.5h261l2 -80q-133 -32 -218 -120h-145q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5l200 153v-53q0 -165 -117.5 -282.5t-282.5 -117.5h-300q-165 0 -282.5 117.5t-117.5 282.5 zM423 524q30 38 81.5 64t103 35.5t99 14t77.5 3.5l29 -1v-209l360 324l-359 318v-216q-7 0 -19 -1t-48 -8t-69.5 -18.5t-76.5 -37t-76.5 -59t-62 -88t-39.5 -121.5z" />
-<glyph unicode="&#xe067;" d="M0 400v300q0 165 117.5 282.5t282.5 117.5h300q60 0 127 -23l-178 -177h-349q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v69l200 200v-169q0 -165 -117.5 -282.5t-282.5 -117.5h-300q-165 0 -282.5 117.5 t-117.5 282.5zM342 632l283 -284l566 567l-136 137l-430 -431l-147 147z" />
-<glyph unicode="&#xe068;" d="M0 603l300 296v-198h200v200h-200l300 300l295 -300h-195v-200h200v198l300 -296l-300 -300v198h-200v-200h195l-295 -300l-300 300h200v200h-200v-198z" />
-<glyph unicode="&#xe069;" d="M200 50v1000q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-437l500 487v-1100l-500 488v-438q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5z" />
-<glyph unicode="&#xe070;" d="M0 50v1000q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-437l500 487v-487l500 487v-1100l-500 488v-488l-500 488v-438q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5z" />
-<glyph unicode="&#xe071;" d="M136 550l564 550v-487l500 487v-1100l-500 488v-488z" />
-<glyph unicode="&#xe072;" d="M200 0l900 550l-900 550v-1100z" />
-<glyph unicode="&#xe073;" d="M200 150q0 -21 14.5 -35.5t35.5 -14.5h200q21 0 35.5 14.5t14.5 35.5v800q0 21 -14.5 35.5t-35.5 14.5h-200q-21 0 -35.5 -14.5t-14.5 -35.5v-800zM600 150q0 -21 14.5 -35.5t35.5 -14.5h200q21 0 35.5 14.5t14.5 35.5v800q0 21 -14.5 35.5t-35.5 14.5h-200 q-21 0 -35.5 -14.5t-14.5 -35.5v-800z" />
-<glyph unicode="&#xe074;" d="M200 150q0 -20 14.5 -35t35.5 -15h800q21 0 35.5 15t14.5 35v800q0 21 -14.5 35.5t-35.5 14.5h-800q-21 0 -35.5 -14.5t-14.5 -35.5v-800z" />
-<glyph unicode="&#xe075;" d="M0 0v1100l500 -487v487l564 -550l-564 -550v488z" />
-<glyph unicode="&#xe076;" d="M0 0v1100l500 -487v487l500 -487v437q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-1000q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v438l-500 -488v488z" />
-<glyph unicode="&#xe077;" d="M300 0v1100l500 -487v437q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-1000q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v438z" />
-<glyph unicode="&#xe078;" d="M100 250v100q0 21 14.5 35.5t35.5 14.5h1000q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1000q-21 0 -35.5 14.5t-14.5 35.5zM100 500h1100l-550 564z" />
-<glyph unicode="&#xe079;" d="M185 599l592 -592l240 240l-353 353l353 353l-240 240z" />
-<glyph unicode="&#xe080;" d="M272 194l353 353l-353 353l241 240l572 -571l21 -22l-1 -1v-1l-592 -591z" />
-<glyph unicode="&#xe081;" d="M3 600q0 162 80 299.5t217.5 217.5t299.5 80t299.5 -80t217.5 -217.5t80 -299.5t-80 -300t-217.5 -218t-299.5 -80t-299.5 80t-217.5 218t-80 300zM300 500h200v-200h200v200h200v200h-200v200h-200v-200h-200v-200z" />
-<glyph unicode="&#xe082;" d="M3 600q0 162 80 299.5t217.5 217.5t299.5 80t299.5 -80t217.5 -217.5t80 -299.5t-80 -300t-217.5 -218t-299.5 -80t-299.5 80t-217.5 218t-80 300zM300 500h600v200h-600v-200z" />
-<glyph unicode="&#xe083;" d="M3 600q0 162 80 299.5t217.5 217.5t299.5 80t299.5 -80t217.5 -217.5t80 -299.5t-80 -300t-217.5 -218t-299.5 -80t-299.5 80t-217.5 218t-80 300zM246 459l213 -213l141 142l141 -142l213 213l-142 141l142 141l-213 212l-141 -141l-141 142l-212 -213l141 -141z" />
-<glyph unicode="&#xe084;" d="M3 600q0 162 80 299.5t217.5 217.5t299.5 80t299.5 -80t217.5 -217.5t80 -299.5t-80 -299.5t-217.5 -217.5t-299.5 -80t-299.5 80t-217.5 217.5t-80 299.5zM270 551l276 -277l411 411l-175 174l-236 -236l-102 102z" />
-<glyph unicode="&#xe085;" d="M3 600q0 162 80 299.5t217.5 217.5t299.5 80t299.5 -80t217.5 -217.5t80 -299.5t-80 -300t-217.5 -218t-299.5 -80t-299.5 80t-217.5 218t-80 300zM363 700h144q4 0 11.5 -1t11 -1t6.5 3t3 9t1 11t3.5 8.5t3.5 6t5.5 4t6.5 2.5t9 1.5t9 0.5h11.5h12.5q19 0 30 -10t11 -26 q0 -22 -4 -28t-27 -22q-5 -1 -12.5 -3t-27 -13.5t-34 -27t-26.5 -46t-11 -68.5h200q5 3 14 8t31.5 25.5t39.5 45.5t31 69t14 94q0 51 -17.5 89t-42 58t-58.5 32t-58.5 15t-51.5 3q-105 0 -172 -56t-67 -183zM500 300h200v100h-200v-100z" />
-<glyph unicode="&#xe086;" d="M3 600q0 162 80 299.5t217.5 217.5t299.5 80t299.5 -80t217.5 -217.5t80 -299.5t-80 -300t-217.5 -218t-299.5 -80t-299.5 80t-217.5 218t-80 300zM400 300h400v100h-100v300h-300v-100h100v-200h-100v-100zM500 800h200v100h-200v-100z" />
-<glyph unicode="&#xe087;" d="M0 500v200h194q15 60 36 104.5t55.5 86t88 69t126.5 40.5v200h200v-200q54 -20 113 -60t112.5 -105.5t71.5 -134.5h203v-200h-203q-25 -102 -116.5 -186t-180.5 -117v-197h-200v197q-140 27 -208 102.5t-98 200.5h-194zM290 500q24 -73 79.5 -127.5t130.5 -78.5v206h200 v-206q149 48 201 206h-201v200h200q-25 74 -76 127.5t-124 76.5v-204h-200v203q-75 -24 -130 -77.5t-79 -125.5h209v-200h-210z" />
-<glyph unicode="&#xe088;" d="M4 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM186 600q0 -171 121.5 -292.5t292.5 -121.5t292.5 121.5t121.5 292.5t-121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM356 465l135 135 l-135 135l109 109l135 -135l135 135l109 -109l-135 -135l135 -135l-109 -109l-135 135l-135 -135z" />
-<glyph unicode="&#xe089;" d="M4 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM186 600q0 -171 121.5 -292.5t292.5 -121.5t292.5 121.5t121.5 292.5t-121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM322 537l141 141 l87 -87l204 205l142 -142l-346 -345z" />
-<glyph unicode="&#xe090;" d="M4 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM186 600q0 -115 62 -215l568 567q-100 62 -216 62q-171 0 -292.5 -121.5t-121.5 -292.5zM391 245q97 -59 209 -59q171 0 292.5 121.5t121.5 292.5 q0 112 -59 209z" />
-<glyph unicode="&#xe091;" d="M0 547l600 453v-300h600v-300h-600v-301z" />
-<glyph unicode="&#xe092;" d="M0 400v300h600v300l600 -453l-600 -448v301h-600z" />
-<glyph unicode="&#xe093;" d="M204 600l450 600l444 -600h-298v-600h-300v600h-296z" />
-<glyph unicode="&#xe094;" d="M104 600h296v600h300v-600h298l-449 -600z" />
-<glyph unicode="&#xe095;" d="M0 200q6 132 41 238.5t103.5 193t184 138t271.5 59.5v271l600 -453l-600 -448v301q-95 -2 -183 -20t-170 -52t-147 -92.5t-100 -135.5z" />
-<glyph unicode="&#xe096;" d="M0 0v400l129 -129l294 294l142 -142l-294 -294l129 -129h-400zM635 777l142 -142l294 294l129 -129v400h-400l129 -129z" />
-<glyph unicode="&#xe097;" d="M34 176l295 295l-129 129h400v-400l-129 130l-295 -295zM600 600v400l129 -129l295 295l142 -141l-295 -295l129 -130h-400z" />
-<glyph unicode="&#xe101;" d="M23 600q0 118 45.5 224.5t123 184t184 123t224.5 45.5t224.5 -45.5t184 -123t123 -184t45.5 -224.5t-45.5 -224.5t-123 -184t-184 -123t-224.5 -45.5t-224.5 45.5t-184 123t-123 184t-45.5 224.5zM456 851l58 -302q4 -20 21.5 -34.5t37.5 -14.5h54q20 0 37.5 14.5 t21.5 34.5l58 302q4 20 -8 34.5t-33 14.5h-207q-20 0 -32 -14.5t-8 -34.5zM500 300h200v100h-200v-100z" />
-<glyph unicode="&#xe102;" d="M0 800h100v-200h400v300h200v-300h400v200h100v100h-111v6t-1 15t-3 18l-34 172q-11 39 -41.5 63t-69.5 24q-32 0 -61 -17l-239 -144q-22 -13 -40 -35q-19 24 -40 36l-238 144q-33 18 -62 18q-39 0 -69.5 -23t-40.5 -61l-35 -177q-2 -8 -3 -18t-1 -15v-6h-111v-100z M100 0h400v400h-400v-400zM200 900q-3 0 14 48t35 96l18 47l214 -191h-281zM700 0v400h400v-400h-400zM731 900l202 197q5 -12 12 -32.5t23 -64t25 -72t7 -28.5h-269z" />
-<glyph unicode="&#xe103;" d="M0 -22v143l216 193q-9 53 -13 83t-5.5 94t9 113t38.5 114t74 124q47 60 99.5 102.5t103 68t127.5 48t145.5 37.5t184.5 43.5t220 58.5q0 -189 -22 -343t-59 -258t-89 -181.5t-108.5 -120t-122 -68t-125.5 -30t-121.5 -1.5t-107.5 12.5t-87.5 17t-56.5 7.5l-99 -55z M238.5 300.5q19.5 -6.5 86.5 76.5q55 66 367 234q70 38 118.5 69.5t102 79t99 111.5t86.5 148q22 50 24 60t-6 19q-7 5 -17 5t-26.5 -14.5t-33.5 -39.5q-35 -51 -113.5 -108.5t-139.5 -89.5l-61 -32q-369 -197 -458 -401q-48 -111 -28.5 -117.5z" />
-<glyph unicode="&#xe104;" d="M111 408q0 -33 5 -63q9 -56 44 -119.5t105 -108.5q31 -21 64 -16t62 23.5t57 49.5t48 61.5t35 60.5q32 66 39 184.5t-13 157.5q79 -80 122 -164t26 -184q-5 -33 -20.5 -69.5t-37.5 -80.5q-10 -19 -14.5 -29t-12 -26t-9 -23.5t-3 -19t2.5 -15.5t11 -9.5t19.5 -5t30.5 2.5 t42 8q57 20 91 34t87.5 44.5t87 64t65.5 88.5t47 122q38 172 -44.5 341.5t-246.5 278.5q22 -44 43 -129q39 -159 -32 -154q-15 2 -33 9q-79 33 -120.5 100t-44 175.5t48.5 257.5q-13 -8 -34 -23.5t-72.5 -66.5t-88.5 -105.5t-60 -138t-8 -166.5q2 -12 8 -41.5t8 -43t6 -39.5 t3.5 -39.5t-1 -33.5t-6 -31.5t-13.5 -24t-21 -20.5t-31 -12q-38 -10 -67 13t-40.5 61.5t-15 81.5t10.5 75q-52 -46 -83.5 -101t-39 -107t-7.5 -85z" />
-<glyph unicode="&#xe105;" d="M-61 600l26 40q6 10 20 30t49 63.5t74.5 85.5t97 90t116.5 83.5t132.5 59t145.5 23.5t145.5 -23.5t132.5 -59t116.5 -83.5t97 -90t74.5 -85.5t49 -63.5t20 -30l26 -40l-26 -40q-6 -10 -20 -30t-49 -63.5t-74.5 -85.5t-97 -90t-116.5 -83.5t-132.5 -59t-145.5 -23.5 t-145.5 23.5t-132.5 59t-116.5 83.5t-97 90t-74.5 85.5t-49 63.5t-20 30zM120 600q7 -10 40.5 -58t56 -78.5t68 -77.5t87.5 -75t103 -49.5t125 -21.5t123.5 20t100.5 45.5t85.5 71.5t66.5 75.5t58 81.5t47 66q-1 1 -28.5 37.5t-42 55t-43.5 53t-57.5 63.5t-58.5 54 q49 -74 49 -163q0 -124 -88 -212t-212 -88t-212 88t-88 212q0 85 46 158q-102 -87 -226 -258zM377 656q49 -124 154 -191l105 105q-37 24 -75 72t-57 84l-20 36z" />
-<glyph unicode="&#xe106;" d="M-61 600l26 40q6 10 20 30t49 63.5t74.5 85.5t97 90t116.5 83.5t132.5 59t145.5 23.5q61 0 121 -17l37 142h148l-314 -1200h-148l37 143q-82 21 -165 71.5t-140 102t-109.5 112t-72 88.5t-29.5 43zM120 600q210 -282 393 -336l37 141q-107 18 -178.5 101.5t-71.5 193.5 q0 85 46 158q-102 -87 -226 -258zM377 656q49 -124 154 -191l47 47l23 87q-30 28 -59 69t-44 68l-14 26zM780 161l38 145q22 15 44.5 34t46 44t40.5 44t41 50.5t33.5 43.5t33 44t24.5 34q-97 127 -140 175l39 146q67 -54 131.5 -125.5t87.5 -103.5t36 -52l26 -40l-26 -40 q-7 -12 -25.5 -38t-63.5 -79.5t-95.5 -102.5t-124 -100t-146.5 -79z" />
-<glyph unicode="&#xe107;" d="M-97.5 34q13.5 -34 50.5 -34h1294q37 0 50.5 35.5t-7.5 67.5l-642 1056q-20 33 -48 36t-48 -29l-642 -1066q-21 -32 -7.5 -66zM155 200l445 723l445 -723h-345v100h-200v-100h-345zM500 600l100 -300l100 300v100h-200v-100z" />
-<glyph unicode="&#xe108;" d="M100 262v41q0 20 11 44.5t26 38.5l363 325v339q0 62 44 106t106 44t106 -44t44 -106v-339l363 -325q15 -14 26 -38.5t11 -44.5v-41q0 -20 -12 -26.5t-29 5.5l-359 249v-263q100 -91 100 -113v-64q0 -21 -13 -29t-32 1l-94 78h-222l-94 -78q-19 -9 -32 -1t-13 29v64 q0 22 100 113v263l-359 -249q-17 -12 -29 -5.5t-12 26.5z" />
-<glyph unicode="&#xe109;" d="M0 50q0 -20 14.5 -35t35.5 -15h1000q21 0 35.5 15t14.5 35v750h-1100v-750zM0 900h1100v150q0 21 -14.5 35.5t-35.5 14.5h-150v100h-100v-100h-500v100h-100v-100h-150q-21 0 -35.5 -14.5t-14.5 -35.5v-150zM100 100v100h100v-100h-100zM100 300v100h100v-100h-100z M100 500v100h100v-100h-100zM300 100v100h100v-100h-100zM300 300v100h100v-100h-100zM300 500v100h100v-100h-100zM500 100v100h100v-100h-100zM500 300v100h100v-100h-100zM500 500v100h100v-100h-100zM700 100v100h100v-100h-100zM700 300v100h100v-100h-100zM700 500 v100h100v-100h-100zM900 100v100h100v-100h-100zM900 300v100h100v-100h-100zM900 500v100h100v-100h-100z" />
-<glyph unicode="&#xe110;" d="M0 200v200h259l600 600h241v198l300 -295l-300 -300v197h-159l-600 -600h-341zM0 800h259l122 -122l141 142l-181 180h-341v-200zM678 381l141 142l122 -123h159v198l300 -295l-300 -300v197h-241z" />
-<glyph unicode="&#xe111;" d="M0 400v600q0 41 29.5 70.5t70.5 29.5h1000q41 0 70.5 -29.5t29.5 -70.5v-600q0 -41 -29.5 -70.5t-70.5 -29.5h-596l-304 -300v300h-100q-41 0 -70.5 29.5t-29.5 70.5z" />
-<glyph unicode="&#xe112;" d="M100 600v200h300v-250q0 -113 6 -145q17 -92 102 -117q39 -11 92 -11q37 0 66.5 5.5t50 15.5t36 24t24 31.5t14 37.5t7 42t2.5 45t0 47v25v250h300v-200q0 -42 -3 -83t-15 -104t-31.5 -116t-58 -109.5t-89 -96.5t-129 -65.5t-174.5 -25.5t-174.5 25.5t-129 65.5t-89 96.5 t-58 109.5t-31.5 116t-15 104t-3 83zM100 900v300h300v-300h-300zM800 900v300h300v-300h-300z" />
-<glyph unicode="&#xe113;" d="M-30 411l227 -227l352 353l353 -353l226 227l-578 579z" />
-<glyph unicode="&#xe114;" d="M70 797l580 -579l578 579l-226 227l-353 -353l-352 353z" />
-<glyph unicode="&#xe115;" d="M-198 700l299 283l300 -283h-203v-400h385l215 -200h-800v600h-196zM402 1000l215 -200h381v-400h-198l299 -283l299 283h-200v600h-796z" />
-<glyph unicode="&#xe116;" d="M18 939q-5 24 10 42q14 19 39 19h896l38 162q5 17 18.5 27.5t30.5 10.5h94q20 0 35 -14.5t15 -35.5t-15 -35.5t-35 -14.5h-54l-201 -961q-2 -4 -6 -10.5t-19 -17.5t-33 -11h-31v-50q0 -20 -14.5 -35t-35.5 -15t-35.5 15t-14.5 35v50h-300v-50q0 -20 -14.5 -35t-35.5 -15 t-35.5 15t-14.5 35v50h-50q-21 0 -35.5 15t-14.5 35q0 21 14.5 35.5t35.5 14.5h535l48 200h-633q-32 0 -54.5 21t-27.5 43z" />
-<glyph unicode="&#xe117;" d="M0 0v800h1200v-800h-1200zM0 900v100h200q0 41 29.5 70.5t70.5 29.5h300q41 0 70.5 -29.5t29.5 -70.5h500v-100h-1200z" />
-<glyph unicode="&#xe118;" d="M1 0l300 700h1200l-300 -700h-1200zM1 400v600h200q0 41 29.5 70.5t70.5 29.5h300q41 0 70.5 -29.5t29.5 -70.5h500v-200h-1000z" />
-<glyph unicode="&#xe119;" d="M302 300h198v600h-198l298 300l298 -300h-198v-600h198l-298 -300z" />
-<glyph unicode="&#xe120;" d="M0 600l300 298v-198h600v198l300 -298l-300 -297v197h-600v-197z" />
-<glyph unicode="&#xe121;" d="M0 100v100q0 41 29.5 70.5t70.5 29.5h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5zM31 400l172 739q5 22 23 41.5t38 19.5h672q19 0 37.5 -22.5t23.5 -45.5l172 -732h-1138zM800 100h100v100h-100v-100z M1000 100h100v100h-100v-100z" />
-<glyph unicode="&#xe122;" d="M-101 600v50q0 24 25 49t50 38l25 13v-250l-11 5.5t-24 14t-30 21.5t-24 27.5t-11 31.5zM99 500v250v5q0 13 0.5 18.5t2.5 13t8 10.5t15 3h200l675 250v-850l-675 200h-38l47 -276q2 -12 -3 -17.5t-11 -6t-21 -0.5h-8h-83q-20 0 -34.5 14t-18.5 35q-56 337 -56 351z M1100 200v850q0 21 14.5 35.5t35.5 14.5q20 0 35 -14.5t15 -35.5v-850q0 -20 -15 -35t-35 -15q-21 0 -35.5 15t-14.5 35z" />
-<glyph unicode="&#xe123;" d="M74 350q0 21 13.5 35.5t33.5 14.5h17l118 173l63 327q15 77 76 140t144 83l-18 32q-6 19 3 32t29 13h94q20 0 29 -10.5t3 -29.5l-18 -37q83 -19 144 -82.5t76 -140.5l63 -327l118 -173h17q20 0 33.5 -14.5t13.5 -35.5q0 -20 -13 -40t-31 -27q-22 -9 -63 -23t-167.5 -37 t-251.5 -23t-245.5 20.5t-178.5 41.5l-58 20q-18 7 -31 27.5t-13 40.5zM497 110q12 -49 40 -79.5t63 -30.5t63 30.5t39 79.5q-48 -6 -102 -6t-103 6z" />
-<glyph unicode="&#xe124;" d="M21 445l233 -45l-78 -224l224 78l45 -233l155 179l155 -179l45 233l224 -78l-78 224l234 45l-180 155l180 156l-234 44l78 225l-224 -78l-45 233l-155 -180l-155 180l-45 -233l-224 78l78 -225l-233 -44l179 -156z" />
-<glyph unicode="&#xe125;" d="M0 200h200v600h-200v-600zM300 275q0 -75 100 -75h61q123 -100 139 -100h250q46 0 83 57l238 344q29 31 29 74v100q0 44 -30.5 84.5t-69.5 40.5h-328q28 118 28 125v150q0 44 -30.5 84.5t-69.5 40.5h-50q-27 0 -51 -20t-38 -48l-96 -198l-145 -196q-20 -26 -20 -63v-400z M400 300v375l150 212l100 213h50v-175l-50 -225h450v-125l-250 -375h-214l-136 100h-100z" />
-<glyph unicode="&#xe126;" d="M0 400v600h200v-600h-200zM300 525v400q0 75 100 75h61q123 100 139 100h250q46 0 83 -57l238 -344q29 -31 29 -74v-100q0 -44 -30.5 -84.5t-69.5 -40.5h-328q28 -118 28 -125v-150q0 -44 -30.5 -84.5t-69.5 -40.5h-50q-27 0 -51 20t-38 48l-96 198l-145 196 q-20 26 -20 63zM400 525l150 -212l100 -213h50v175l-50 225h450v125l-250 375h-214l-136 -100h-100v-375z" />
-<glyph unicode="&#xe127;" d="M8 200v600h200v-600h-200zM308 275v525q0 17 14 35.5t28 28.5l14 9l362 230q14 6 25 6q17 0 29 -12l109 -112q14 -14 14 -34q0 -18 -11 -32l-85 -121h302q85 0 138.5 -38t53.5 -110t-54.5 -111t-138.5 -39h-107l-130 -339q-7 -22 -20.5 -41.5t-28.5 -19.5h-341 q-7 0 -90 81t-83 94zM408 289l100 -89h293l131 339q6 21 19.5 41t28.5 20h203q16 0 25 15t9 36q0 20 -9 34.5t-25 14.5h-457h-6.5h-7.5t-6.5 0.5t-6 1t-5 1.5t-5.5 2.5t-4 4t-4 5.5q-5 12 -5 20q0 14 10 27l147 183l-86 83l-339 -236v-503z" />
-<glyph unicode="&#xe128;" d="M-101 651q0 72 54 110t139 37h302l-85 121q-11 16 -11 32q0 21 14 34l109 113q13 12 29 12q11 0 25 -6l365 -230q7 -4 16.5 -10.5t26 -26t16.5 -36.5v-526q0 -13 -85.5 -93.5t-93.5 -80.5h-342q-15 0 -28.5 20t-19.5 41l-131 339h-106q-84 0 -139 39t-55 111zM-1 601h222 q15 0 28.5 -20.5t19.5 -40.5l131 -339h293l106 89v502l-342 237l-87 -83l145 -184q10 -11 10 -26q0 -11 -5 -20q-1 -3 -3.5 -5.5l-4 -4t-5 -2.5t-5.5 -1.5t-6.5 -1t-6.5 -0.5h-7.5h-6.5h-476v-100zM999 201v600h200v-600h-200z" />
-<glyph unicode="&#xe129;" d="M97 719l230 -363q4 -6 10.5 -15.5t26 -25t36.5 -15.5h525q13 0 94 83t81 90v342q0 15 -20 28.5t-41 19.5l-339 131v106q0 84 -39 139t-111 55t-110 -53.5t-38 -138.5v-302l-121 84q-15 12 -33.5 11.5t-32.5 -13.5l-112 -110q-22 -22 -6 -53zM172 739l83 86l183 -146 q22 -18 47 -5q3 1 5.5 3.5l4 4t2.5 5t1.5 5.5t1 6.5t0.5 6v7.5v7v456q0 22 25 31t50 -0.5t25 -30.5v-202q0 -16 20 -29.5t41 -19.5l339 -130v-294l-89 -100h-503zM400 0v200h600v-200h-600z" />
-<glyph unicode="&#xe130;" d="M1 585q-15 -31 7 -53l112 -110q13 -13 32 -13.5t34 10.5l121 85l-1 -302q0 -84 38.5 -138t110.5 -54t111 55t39 139v106l339 131q20 6 40.5 19.5t20.5 28.5v342q0 7 -81 90t-94 83h-525q-17 0 -35.5 -14t-28.5 -28l-10 -15zM76 565l237 339h503l89 -100v-294l-340 -130 q-20 -6 -40 -20t-20 -29v-202q0 -22 -25 -31t-50 0t-25 31v456v14.5t-1.5 11.5t-5 12t-9.5 7q-24 13 -46 -5l-184 -146zM305 1104v200h600v-200h-600z" />
-<glyph unicode="&#xe131;" d="M5 597q0 122 47.5 232.5t127.5 190.5t190.5 127.5t232.5 47.5q162 0 299.5 -80t217.5 -218t80 -300t-80 -299.5t-217.5 -217.5t-299.5 -80t-300 80t-218 217.5t-80 299.5zM300 500h300l-2 -194l402 294l-402 298v-197h-298v-201z" />
-<glyph unicode="&#xe132;" d="M0 597q0 122 47.5 232.5t127.5 190.5t190.5 127.5t231.5 47.5q122 0 232.5 -47.5t190.5 -127.5t127.5 -190.5t47.5 -232.5q0 -162 -80 -299.5t-218 -217.5t-300 -80t-299.5 80t-217.5 217.5t-80 299.5zM200 600l400 -294v194h302v201h-300v197z" />
-<glyph unicode="&#xe133;" d="M5 597q0 122 47.5 232.5t127.5 190.5t190.5 127.5t232.5 47.5q121 0 231.5 -47.5t190.5 -127.5t127.5 -190.5t47.5 -232.5q0 -162 -80 -299.5t-217.5 -217.5t-299.5 -80t-300 80t-218 217.5t-80 299.5zM300 600h200v-300h200v300h200l-300 400z" />
-<glyph unicode="&#xe134;" d="M5 597q0 122 47.5 232.5t127.5 190.5t190.5 127.5t232.5 47.5q121 0 231.5 -47.5t190.5 -127.5t127.5 -190.5t47.5 -232.5q0 -162 -80 -299.5t-217.5 -217.5t-299.5 -80t-300 80t-218 217.5t-80 299.5zM300 600l300 -400l300 400h-200v300h-200v-300h-200z" />
-<glyph unicode="&#xe135;" d="M5 597q0 122 47.5 232.5t127.5 190.5t190.5 127.5t232.5 47.5q121 0 231.5 -47.5t190.5 -127.5t127.5 -190.5t47.5 -232.5q0 -162 -80 -299.5t-217.5 -217.5t-299.5 -80t-300 80t-218 217.5t-80 299.5zM254 780q-8 -34 5.5 -93t7.5 -87q0 -9 17 -44t16 -60q12 0 23 -5.5 t23 -15t20 -13.5q20 -10 108 -42q22 -8 53 -31.5t59.5 -38.5t57.5 -11q8 -18 -15 -55.5t-20 -57.5q12 -21 22.5 -34.5t28 -27t36.5 -17.5q0 -6 -3 -15.5t-3.5 -14.5t4.5 -17q101 -2 221 111q31 30 47 48t34 49t21 62q-14 9 -37.5 9.5t-35.5 7.5q-14 7 -49 15t-52 19 q-9 0 -39.5 -0.5t-46.5 -1.5t-39 -6.5t-39 -16.5q-50 -35 -66 -12q-4 2 -3.5 25.5t0.5 25.5q-6 13 -26.5 17t-24.5 7q2 22 -2 41t-16.5 28t-38.5 -20q-23 -25 -42 4q-19 28 -8 58q8 16 22 22q6 -1 26 -1.5t33.5 -4.5t19.5 -13q12 -19 32 -37.5t34 -27.5l14 -8q0 3 9.5 39.5 t5.5 57.5q-4 23 14.5 44.5t22.5 31.5q5 14 10 35t8.5 31t15.5 22.5t34 21.5q-6 18 10 37q8 0 23.5 -1.5t24.5 -1.5t20.5 4.5t20.5 15.5q-10 23 -30.5 42.5t-38 30t-49 26.5t-43.5 23q11 41 1 44q31 -13 58.5 -14.5t39.5 3.5l11 4q6 3
6 -17 53.5t-64 28.5t-56 23 q-19 -3 -37 0q-15 -12 -36.5 -21t-34.5 -12t-44 -8t-39 -6q-15 -3 -46 0t-45 -3q-20 -6 -51.5 -25.5t-34.5 -34.5q-3 -11 6.5 -22.5t8.5 -18.5q-3 -34 -27.5 -91t-29.5 -79zM518 915q3 12 16 30.5t16 25.5q10 -10 18.5 -10t14 6t14.5 14.5t16 12.5q0 -18 8 -42.5t16.5 -44 t9.5 -23.5q-6 1 -39 5t-53.5 10t-36.5 16z" />
-<glyph unicode="&#xe136;" d="M0 164.5q0 21.5 15 37.5l600 599q-33 101 6 201.5t135 154.5q164 92 306 -9l-259 -138l145 -232l251 126q13 -175 -151 -267q-123 -70 -253 -23l-596 -596q-15 -16 -36.5 -16t-36.5 16l-111 110q-15 15 -15 36.5z" />
-<glyph unicode="&#xe137;" horiz-adv-x="1220" d="M0 196v100q0 41 29.5 70.5t70.5 29.5h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5zM0 596v100q0 41 29.5 70.5t70.5 29.5h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000 q-41 0 -70.5 29.5t-29.5 70.5zM0 996v100q0 41 29.5 70.5t70.5 29.5h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5zM600 596h500v100h-500v-100zM800 196h300v100h-300v-100zM900 996h200v100h-200v-100z" />
-<glyph unicode="&#xe138;" d="M100 1100v100h1000v-100h-1000zM150 1000h900l-350 -500v-300l-200 -200v500z" />
-<glyph unicode="&#xe139;" d="M0 200v200h1200v-200q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5zM0 500v400q0 41 29.5 70.5t70.5 29.5h300v100q0 41 29.5 70.5t70.5 29.5h200q41 0 70.5 -29.5t29.5 -70.5v-100h300q41 0 70.5 -29.5t29.5 -70.5v-400h-500v100h-200v-100h-500z M500 1000h200v100h-200v-100z" />
-<glyph unicode="&#xe140;" d="M0 0v400l129 -129l200 200l142 -142l-200 -200l129 -129h-400zM0 800l129 129l200 -200l142 142l-200 200l129 129h-400v-400zM729 329l142 142l200 -200l129 129v-400h-400l129 129zM729 871l200 200l-129 129h400v-400l-129 129l-200 -200z" />
-<glyph unicode="&#xe141;" d="M0 596q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM182 596q0 -172 121.5 -293t292.5 -121t292.5 121t121.5 293q0 171 -121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM291 655 q0 23 15.5 38.5t38.5 15.5t39 -16t16 -38q0 -23 -16 -39t-39 -16q-22 0 -38 16t-16 39zM400 850q0 22 16 38.5t39 16.5q22 0 38 -16t16 -39t-16 -39t-38 -16q-23 0 -39 16.5t-16 38.5zM513 609q0 32 21 56.5t52 29.5l122 126l1 1q-9 14 -9 28q0 22 16 38.5t39 16.5 q22 0 38 -16t16 -39t-16 -39t-38 -16q-16 0 -29 10l-55 -145q17 -22 17 -51q0 -36 -25.5 -61.5t-61.5 -25.5q-37 0 -62.5 25.5t-25.5 61.5zM800 655q0 22 16 38t39 16t38.5 -15.5t15.5 -38.5t-16 -39t-38 -16q-23 0 -39 16t-16 39z" />
-<glyph unicode="&#xe142;" d="M-40 375q-13 -95 35 -173q35 -57 94 -89t129 -32q63 0 119 28q33 16 65 40.5t52.5 45.5t59.5 64q40 44 57 61l394 394q35 35 47 84t-3 96q-27 87 -117 104q-20 2 -29 2q-46 0 -79.5 -17t-67.5 -51l-388 -396l-7 -7l69 -67l377 373q20 22 39 38q23 23 50 23q38 0 53 -36 q16 -39 -20 -75l-547 -547q-52 -52 -125 -52q-55 0 -100 33t-54 96q-5 35 2.5 66t31.5 63t42 50t56 54q24 21 44 41l348 348q52 52 82.5 79.5t84 54t107.5 26.5q25 0 48 -4q95 -17 154 -94.5t51 -175.5q-7 -101 -98 -192l-252 -249l-253 -256l7 -7l69 -60l517 511 q67 67 95 157t11 183q-16 87 -67 154t-130 103q-69 33 -152 33q-107 0 -197 -55q-40 -24 -111 -95l-512 -512q-68 -68 -81 -163z" />
-<glyph unicode="&#xe143;" d="M79 784q0 131 99 229.5t230 98.5q144 0 242 -129q103 129 245 129q130 0 227 -98.5t97 -229.5q0 -46 -17.5 -91t-61 -99t-77 -89.5t-104.5 -105.5q-197 -191 -293 -322l-17 -23l-16 23q-43 58 -100 122.5t-92 99.5t-101 100l-84.5 84.5t-68 74t-60 78t-33.5 70.5t-15 78z M250 784q0 -27 30.5 -70t61.5 -75.5t95 -94.5l22 -22q93 -90 190 -201q82 92 195 203l12 12q64 62 97.5 97t64.5 79t31 72q0 71 -48 119.5t-106 48.5q-73 0 -131 -83l-118 -171l-114 174q-51 80 -124 80q-59 0 -108.5 -49.5t-49.5 -118.5z" />
-<glyph unicode="&#xe144;" d="M57 353q0 -94 66 -160l141 -141q66 -66 159 -66q95 0 159 66l283 283q66 66 66 159t-66 159l-141 141q-12 12 -19 17l-105 -105l212 -212l-389 -389l-247 248l95 95l-18 18q-46 45 -75 101l-55 -55q-66 -66 -66 -159zM269 706q0 -93 66 -159l141 -141l19 -17l105 105 l-212 212l389 389l247 -247l-95 -96l18 -18q46 -46 77 -99l29 29q35 35 62.5 88t27.5 96q0 93 -66 159l-141 141q-66 66 -159 66q-95 0 -159 -66l-283 -283q-66 -64 -66 -159z" />
-<glyph unicode="&#xe145;" d="M200 100v953q0 21 30 46t81 48t129 38t163 15t162 -15t127 -38t79 -48t29 -46v-953q0 -41 -29.5 -70.5t-70.5 -29.5h-600q-41 0 -70.5 29.5t-29.5 70.5zM300 300h600v700h-600v-700zM496 150q0 -43 30.5 -73.5t73.5 -30.5t73.5 30.5t30.5 73.5t-30.5 73.5t-73.5 30.5 t-73.5 -30.5t-30.5 -73.5z" />
-<glyph unicode="&#xe146;" d="M0 0l303 380l207 208l-210 212h300l267 279l-35 36q-15 14 -15 35t15 35q14 15 35 15t35 -15l283 -282q15 -15 15 -36t-15 -35q-14 -15 -35 -15t-35 15l-36 35l-279 -267v-300l-212 210l-208 -207z" />
-<glyph unicode="&#xe148;" d="M295 433h139q5 -77 48.5 -126.5t117.5 -64.5v335l-27 7q-46 14 -79 26.5t-72 36t-62.5 52t-40 72.5t-16.5 99q0 92 44 159.5t109 101t144 40.5v78h100v-79q38 -4 72.5 -13.5t75.5 -31.5t71 -53.5t51.5 -84t24.5 -118.5h-159q-8 72 -35 109.5t-101 50.5v-307l64 -14 q34 -7 64 -16.5t70 -31.5t67.5 -52t47.5 -80.5t20 -112.5q0 -139 -89 -224t-244 -96v-77h-100v78q-152 17 -237 104q-40 40 -52.5 93.5t-15.5 139.5zM466 889q0 -29 8 -51t16.5 -34t29.5 -22.5t31 -13.5t38 -10q7 -2 11 -3v274q-61 -8 -97.5 -37.5t-36.5 -102.5zM700 237 q170 18 170 151q0 64 -44 99.5t-126 60.5v-311z" />
-<glyph unicode="&#xe149;" d="M100 600v100h166q-24 49 -44 104q-10 26 -14.5 55.5t-3 72.5t25 90t68.5 87q97 88 263 88q129 0 230 -89t101 -208h-153q0 52 -34 89.5t-74 51.5t-76 14q-37 0 -79 -14.5t-62 -35.5q-41 -44 -41 -101q0 -11 2.5 -24.5t5.5 -24t9.5 -26.5t10.5 -25t14 -27.5t14 -25.5 t15.5 -27t13.5 -24h242v-100h-197q8 -50 -2.5 -115t-31.5 -94q-41 -59 -99 -113q35 11 84 18t70 7q32 1 102 -16t104 -17q76 0 136 30l50 -147q-41 -25 -80.5 -36.5t-59 -13t-61.5 -1.5q-23 0 -128 33t-155 29q-39 -4 -82 -17t-66 -25l-24 -11l-55 145l16.5 11t15.5 10 t13.5 9.5t14.5 12t14.5 14t17.5 18.5q48 55 54 126.5t-30 142.5h-221z" />
-<glyph unicode="&#xe150;" d="M2 300l298 -300l298 300h-198v900h-200v-900h-198zM602 900l298 300l298 -300h-198v-900h-200v900h-198z" />
-<glyph unicode="&#xe151;" d="M2 300h198v900h200v-900h198l-298 -300zM700 0v200h100v-100h200v-100h-300zM700 400v100h300v-200h-99v-100h-100v100h99v100h-200zM700 700v500h300v-500h-100v100h-100v-100h-100zM801 900h100v200h-100v-200z" />
-<glyph unicode="&#xe152;" d="M2 300h198v900h200v-900h198l-298 -300zM700 0v500h300v-500h-100v100h-100v-100h-100zM700 700v200h100v-100h200v-100h-300zM700 1100v100h300v-200h-99v-100h-100v100h99v100h-200zM801 200h100v200h-100v-200z" />
-<glyph unicode="&#xe153;" d="M2 300l298 -300l298 300h-198v900h-200v-900h-198zM800 100v400h300v-500h-100v100h-200zM800 1100v100h200v-500h-100v400h-100zM901 200h100v200h-100v-200z" />
-<glyph unicode="&#xe154;" d="M2 300l298 -300l298 300h-198v900h-200v-900h-198zM800 400v100h200v-500h-100v400h-100zM800 800v400h300v-500h-100v100h-200zM901 900h100v200h-100v-200z" />
-<glyph unicode="&#xe155;" d="M2 300l298 -300l298 300h-198v900h-200v-900h-198zM700 100v200h500v-200h-500zM700 400v200h400v-200h-400zM700 700v200h300v-200h-300zM700 1000v200h200v-200h-200z" />
-<glyph unicode="&#xe156;" d="M2 300l298 -300l298 300h-198v900h-200v-900h-198zM700 100v200h200v-200h-200zM700 400v200h300v-200h-300zM700 700v200h400v-200h-400zM700 1000v200h500v-200h-500z" />
-<glyph unicode="&#xe157;" d="M0 400v300q0 165 117.5 282.5t282.5 117.5h300q162 0 281 -118.5t119 -281.5v-300q0 -165 -118.5 -282.5t-281.5 -117.5h-300q-165 0 -282.5 117.5t-117.5 282.5zM200 300q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v500q0 41 -29.5 70.5t-70.5 29.5 h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500z" />
-<glyph unicode="&#xe158;" d="M0 400v300q0 163 119 281.5t281 118.5h300q165 0 282.5 -117.5t117.5 -282.5v-300q0 -165 -117.5 -282.5t-282.5 -117.5h-300q-163 0 -281.5 117.5t-118.5 282.5zM200 300q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v500q0 41 -29.5 70.5t-70.5 29.5 h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500zM400 300l333 250l-333 250v-500z" />
-<glyph unicode="&#xe159;" d="M0 400v300q0 163 117.5 281.5t282.5 118.5h300q163 0 281.5 -119t118.5 -281v-300q0 -165 -117.5 -282.5t-282.5 -117.5h-300q-165 0 -282.5 117.5t-117.5 282.5zM200 300q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v500q0 41 -29.5 70.5t-70.5 29.5 h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500zM300 700l250 -333l250 333h-500z" />
-<glyph unicode="&#xe160;" d="M0 400v300q0 165 117.5 282.5t282.5 117.5h300q165 0 282.5 -117.5t117.5 -282.5v-300q0 -162 -118.5 -281t-281.5 -119h-300q-165 0 -282.5 118.5t-117.5 281.5zM200 300q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v500q0 41 -29.5 70.5t-70.5 29.5 h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500zM300 400h500l-250 333z" />
-<glyph unicode="&#xe161;" d="M0 400v300h300v200l400 -350l-400 -350v200h-300zM500 0v200h500q41 0 70.5 29.5t29.5 70.5v500q0 41 -29.5 70.5t-70.5 29.5h-500v200h400q165 0 282.5 -117.5t117.5 -282.5v-300q0 -165 -117.5 -282.5t-282.5 -117.5h-400z" />
-<glyph unicode="&#xe162;" d="M216 519q10 -19 32 -19h302q-155 -438 -160 -458q-5 -21 4 -32l9 -8l9 -1q13 0 26 16l538 630q15 19 6 36q-8 18 -32 16h-300q1 4 78 219.5t79 227.5q2 17 -6 27l-8 8h-9q-16 0 -25 -15q-4 -5 -98.5 -111.5t-228 -257t-209.5 -238.5q-17 -19 -7 -40z" />
-<glyph unicode="&#xe163;" d="M0 400q0 -165 117.5 -282.5t282.5 -117.5h300q47 0 100 15v185h-500q-41 0 -70.5 29.5t-29.5 70.5v500q0 41 29.5 70.5t70.5 29.5h500v185q-14 4 -114 7.5t-193 5.5l-93 2q-165 0 -282.5 -117.5t-117.5 -282.5v-300zM600 400v300h300v200l400 -350l-400 -350v200h-300z " />
-<glyph unicode="&#xe164;" d="M0 400q0 -165 117.5 -282.5t282.5 -117.5h300q163 0 281.5 117.5t118.5 282.5v98l-78 73l-122 -123v-148q0 -41 -29.5 -70.5t-70.5 -29.5h-500q-41 0 -70.5 29.5t-29.5 70.5v500q0 41 29.5 70.5t70.5 29.5h156l118 122l-74 78h-100q-165 0 -282.5 -117.5t-117.5 -282.5 v-300zM496 709l353 342l-149 149h500v-500l-149 149l-342 -353z" />
-<glyph unicode="&#xe165;" d="M4 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM186 600q0 -171 121.5 -292.5t292.5 -121.5t292.5 121.5t121.5 292.5t-121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM406 600 q0 80 57 137t137 57t137 -57t57 -137t-57 -137t-137 -57t-137 57t-57 137z" />
-<glyph unicode="&#xe166;" d="M0 0v275q0 11 7 18t18 7h1048q11 0 19 -7.5t8 -17.5v-275h-1100zM100 800l445 -500l450 500h-295v400h-300v-400h-300zM900 150h100v50h-100v-50z" />
-<glyph unicode="&#xe167;" d="M0 0v275q0 11 7 18t18 7h1048q11 0 19 -7.5t8 -17.5v-275h-1100zM100 700h300v-300h300v300h295l-445 500zM900 150h100v50h-100v-50z" />
-<glyph unicode="&#xe168;" d="M0 0v275q0 11 7 18t18 7h1048q11 0 19 -7.5t8 -17.5v-275h-1100zM100 705l305 -305l596 596l-154 155l-442 -442l-150 151zM900 150h100v50h-100v-50z" />
-<glyph unicode="&#xe169;" d="M0 0v275q0 11 7 18t18 7h1048q11 0 19 -7.5t8 -17.5v-275h-1100zM100 988l97 -98l212 213l-97 97zM200 401h700v699l-250 -239l-149 149l-212 -212l149 -149zM900 150h100v50h-100v-50z" />
-<glyph unicode="&#xe170;" d="M0 0v275q0 11 7 18t18 7h1048q11 0 19 -7.5t8 -17.5v-275h-1100zM200 612l212 -212l98 97l-213 212zM300 1200l239 -250l-149 -149l212 -212l149 148l248 -237v700h-699zM900 150h100v50h-100v-50z" />
-<glyph unicode="&#xe171;" d="M23 415l1177 784v-1079l-475 272l-310 -393v416h-392zM494 210l672 938l-672 -712v-226z" />
-<glyph unicode="&#xe172;" d="M0 150v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100l200 -200v-850q0 -21 -15 -35.5t-35 -14.5h-150v400h-700v-400h-150q-21 0 -35.5 14.5t-14.5 35.5zM600 1000h100v200h-100v-200z" />
-<glyph unicode="&#xe173;" d="M0 150v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100l200 -200v-218l-276 -275l-120 120l-126 -127h-378v-400h-150q-21 0 -35.5 14.5t-14.5 35.5zM581 306l123 123l120 -120l353 352l123 -123l-475 -476zM600 1000h100v200h-100v-200z" />
-<glyph unicode="&#xe174;" d="M0 150v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100l200 -200v-269l-103 -103l-170 170l-298 -298h-329v-400h-150q-21 0 -35.5 14.5t-14.5 35.5zM600 1000h100v200h-100v-200zM700 133l170 170l-170 170l127 127l170 -170l170 170l127 -128l-170 -169l170 -170 l-127 -127l-170 170l-170 -170z" />
-<glyph unicode="&#xe175;" d="M0 150v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100l200 -200v-300h-400v-200h-500v-400h-150q-21 0 -35.5 14.5t-14.5 35.5zM600 300l300 -300l300 300h-200v300h-200v-300h-200zM600 1000v200h100v-200h-100z" />
-<glyph unicode="&#xe176;" d="M0 150v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100l200 -200v-402l-200 200l-298 -298h-402v-400h-150q-21 0 -35.5 14.5t-14.5 35.5zM600 300h200v-300h200v300h200l-300 300zM600 1000v200h100v-200h-100z" />
-<glyph unicode="&#xe177;" d="M0 250q0 -21 14.5 -35.5t35.5 -14.5h1100q21 0 35.5 14.5t14.5 35.5v550h-1200v-550zM0 900h1200v150q0 21 -14.5 35.5t-35.5 14.5h-1100q-21 0 -35.5 -14.5t-14.5 -35.5v-150zM100 300v200h400v-200h-400z" />
-<glyph unicode="&#xe178;" d="M0 400l300 298v-198h400v-200h-400v-198zM100 800v200h100v-200h-100zM300 800v200h100v-200h-100zM500 800v200h400v198l300 -298l-300 -298v198h-400zM800 300v200h100v-200h-100zM1000 300h100v200h-100v-200z" />
-<glyph unicode="&#xe179;" d="M100 700v400l50 100l50 -100v-300h100v300l50 100l50 -100v-300h100v300l50 100l50 -100v-400l-100 -203v-447q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v447zM800 597q0 -29 10.5 -55.5t25 -43t29 -28.5t25.5 -18l10 -5v-397q0 -21 14.5 -35.5 t35.5 -14.5h200q21 0 35.5 14.5t14.5 35.5v1106q0 31 -18 40.5t-44 -7.5l-276 -117q-25 -16 -43.5 -50.5t-18.5 -65.5v-359z" />
-<glyph unicode="&#xe180;" d="M100 0h400v56q-75 0 -87.5 6t-12.5 44v394h500v-394q0 -38 -12.5 -44t-87.5 -6v-56h400v56q-4 0 -11 0.5t-24 3t-30 7t-24 15t-11 24.5v888q0 22 25 34.5t50 13.5l25 2v56h-400v-56q75 0 87.5 -6t12.5 -44v-394h-500v394q0 38 12.5 44t87.5 6v56h-400v-56q4 0 11 -0.5 t24 -3t30 -7t24 -15t11 -24.5v-888q0 -22 -25 -34.5t-50 -13.5l-25 -2v-56z" />
-<glyph unicode="&#xe181;" d="M0 300q0 -41 29.5 -70.5t70.5 -29.5h300q41 0 70.5 29.5t29.5 70.5v500q0 41 -29.5 70.5t-70.5 29.5h-300q-41 0 -70.5 -29.5t-29.5 -70.5v-500zM100 100h400l200 200h105l295 98v-298h-425l-100 -100h-375zM100 300v200h300v-200h-300zM100 600v200h300v-200h-300z M100 1000h400l200 -200v-98l295 98h105v200h-425l-100 100h-375zM700 402v163l400 133v-163z" />
-<glyph unicode="&#xe182;" d="M16.5 974.5q0.5 -21.5 16 -90t46.5 -140t104 -177.5t175 -208q103 -103 207.5 -176t180 -103.5t137 -47t92.5 -16.5l31 1l163 162q16 17 13 40.5t-22 37.5l-192 136q-19 14 -45 12t-42 -19l-119 -118q-143 103 -267 227q-126 126 -227 268l118 118q17 17 20 41.5 t-11 44.5l-139 194q-14 19 -36.5 22t-40.5 -14l-162 -162q-1 -11 -0.5 -32.5z" />
-<glyph unicode="&#xe183;" d="M0 50v212q0 20 10.5 45.5t24.5 39.5l365 303v50q0 4 1 10.5t12 22.5t30 28.5t60 23t97 10.5t97 -10t60 -23.5t30 -27.5t12 -24l1 -10v-50l365 -303q14 -14 24.5 -39.5t10.5 -45.5v-212q0 -21 -15 -35.5t-35 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5zM0 712 q0 -21 14.5 -33.5t34.5 -8.5l202 33q20 4 34.5 21t14.5 38v146q141 24 300 24t300 -24v-146q0 -21 14.5 -38t34.5 -21l202 -33q20 -4 34.5 8.5t14.5 33.5v200q-6 8 -19 20.5t-63 45t-112 57t-171 45t-235 20.5q-92 0 -175 -10.5t-141.5 -27t-108.5 -36.5t-81.5 -40 t-53.5 -36.5t-31 -27.5l-9 -10v-200z" />
-<glyph unicode="&#xe184;" d="M100 0v100h1100v-100h-1100zM175 200h950l-125 150v250l100 100v400h-100v-200h-100v200h-200v-200h-100v200h-200v-200h-100v200h-100v-400l100 -100v-250z" />
-<glyph unicode="&#xe185;" d="M100 0h300v400q0 41 -29.5 70.5t-70.5 29.5h-100q-41 0 -70.5 -29.5t-29.5 -70.5v-400zM500 0v1000q0 41 29.5 70.5t70.5 29.5h100q41 0 70.5 -29.5t29.5 -70.5v-1000h-300zM900 0v700q0 41 29.5 70.5t70.5 29.5h100q41 0 70.5 -29.5t29.5 -70.5v-700h-300z" />
-<glyph unicode="&#xe186;" d="M-100 300v500q0 124 88 212t212 88h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212zM100 200h900v700h-900v-700zM200 300h300v300h-200v100h200v100h-300v-300h200v-100h-200v-100zM600 300h200v100h100v300h-100v100h-200v-500 zM700 400v300h100v-300h-100z" />
-<glyph unicode="&#xe187;" d="M-100 300v500q0 124 88 212t212 88h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212zM100 200h900v700h-900v-700zM200 300h100v200h100v-200h100v500h-100v-200h-100v200h-100v-500zM600 300h200v100h100v300h-100v100h-200v-500 zM700 400v300h100v-300h-100z" />
-<glyph unicode="&#xe188;" d="M-100 300v500q0 124 88 212t212 88h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212zM100 200h900v700h-900v-700zM200 300h300v100h-200v300h200v100h-300v-500zM600 300h300v100h-200v300h200v100h-300v-500z" />
-<glyph unicode="&#xe189;" d="M-100 300v500q0 124 88 212t212 88h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212zM100 200h900v700h-900v-700zM200 550l300 -150v300zM600 400l300 150l-300 150v-300z" />
-<glyph unicode="&#xe190;" d="M-100 300v500q0 124 88 212t212 88h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212zM100 200h900v700h-900v-700zM200 300v500h700v-500h-700zM300 400h130q41 0 68 42t27 107t-28.5 108t-66.5 43h-130v-300zM575 549 q0 -65 27 -107t68 -42h130v300h-130q-38 0 -66.5 -43t-28.5 -108z" />
-<glyph unicode="&#xe191;" d="M-100 300v500q0 124 88 212t212 88h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212zM100 200h900v700h-900v-700zM200 300h300v300h-200v100h200v100h-300v-300h200v-100h-200v-100zM601 300h100v100h-100v-100zM700 700h100 v-400h100v500h-200v-100z" />
-<glyph unicode="&#xe192;" d="M-100 300v500q0 124 88 212t212 88h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212zM100 200h900v700h-900v-700zM200 300h300v400h-200v100h-100v-500zM301 400v200h100v-200h-100zM601 300h100v100h-100v-100zM700 700h100 v-400h100v500h-200v-100z" />
-<glyph unicode="&#xe193;" d="M-100 300v500q0 124 88 212t212 88h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212zM100 200h900v700h-900v-700zM200 700v100h300v-300h-99v-100h-100v100h99v200h-200zM201 300v100h100v-100h-100zM601 300v100h100v-100h-100z M700 700v100h200v-500h-100v400h-100z" />
-<glyph unicode="&#xe194;" d="M4 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM186 600q0 -171 121.5 -292.5t292.5 -121.5t292.5 121.5t121.5 292.5t-121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM400 500v200 l100 100h300v-100h-300v-200h300v-100h-300z" />
-<glyph unicode="&#xe195;" d="M0 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM182 600q0 -171 121.5 -292.5t292.5 -121.5t292.5 121.5t121.5 292.5t-121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM400 400v400h300 l100 -100v-100h-100v100h-200v-100h200v-100h-200v-100h-100zM700 400v100h100v-100h-100z" />
-<glyph unicode="&#xe197;" d="M-14 494q0 -80 56.5 -137t135.5 -57h222v300h400v-300h128q120 0 205 86t85 208q0 120 -85 206.5t-205 86.5q-46 0 -90 -14q-44 97 -134.5 156.5t-200.5 59.5q-152 0 -260 -107.5t-108 -260.5q0 -25 2 -37q-66 -14 -108.5 -67.5t-42.5 -122.5zM300 200h200v300h200v-300 h200l-300 -300z" />
-<glyph unicode="&#xe198;" d="M-14 494q0 -80 56.5 -137t135.5 -57h8l414 414l403 -403q94 26 154.5 104t60.5 178q0 121 -85 207.5t-205 86.5q-46 0 -90 -14q-44 97 -134.5 156.5t-200.5 59.5q-152 0 -260 -107.5t-108 -260.5q0 -25 2 -37q-66 -14 -108.5 -67.5t-42.5 -122.5zM300 200l300 300 l300 -300h-200v-300h-200v300h-200z" />
-<glyph unicode="&#xe199;" d="M100 200h400v-155l-75 -45h350l-75 45v155h400l-270 300h170l-270 300h170l-300 333l-300 -333h170l-270 -300h170z" />
-<glyph unicode="&#xe200;" d="M121 700q0 -53 28.5 -97t75.5 -65q-4 -16 -4 -38q0 -74 52.5 -126.5t126.5 -52.5q56 0 100 30v-306l-75 -45h350l-75 45v306q46 -30 100 -30q74 0 126.5 52.5t52.5 126.5q0 24 -9 55q50 32 79.5 83t29.5 112q0 90 -61.5 155.5t-150.5 71.5q-26 89 -99.5 145.5 t-167.5 56.5q-116 0 -197.5 -81.5t-81.5 -197.5q0 -4 1 -12t1 -11q-14 2 -23 2q-74 0 -126.5 -52.5t-52.5 -126.5z" />
-</font>
-</defs></svg>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/assets/themes/mahout3/fonts/glyphicons-halflings-regular.ttf
----------------------------------------------------------------------
diff --git a/website-old/assets/themes/mahout3/fonts/glyphicons-halflings-regular.ttf b/website-old/assets/themes/mahout3/fonts/glyphicons-halflings-regular.ttf
deleted file mode 100644
index e69de29..0000000

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/assets/themes/mahout3/fonts/glyphicons-halflings-regular.woff
----------------------------------------------------------------------
diff --git a/website-old/assets/themes/mahout3/fonts/glyphicons-halflings-regular.woff b/website-old/assets/themes/mahout3/fonts/glyphicons-halflings-regular.woff
deleted file mode 100644
index e69de29..0000000
a***@apache.org
2017-12-21 04:53:07 UTC
Permalink
http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/assets/themes/mahout/bootstrap/js/bootstrap.js
----------------------------------------------------------------------
diff --git a/website-old/assets/themes/mahout/bootstrap/js/bootstrap.js b/website-old/assets/themes/mahout/bootstrap/js/bootstrap.js
deleted file mode 100644
index 1c638ab..0000000
--- a/website-old/assets/themes/mahout/bootstrap/js/bootstrap.js
+++ /dev/null
@@ -1,2002 +0,0 @@
-/*!
- * Bootstrap v3.0.2 by @fat and @mdo
- * Copyright 2013 Twitter, Inc.
- * Licensed under http://www.apache.org/licenses/LICENSE-2.0
- *
- * Designed and built with all the love in the world by @mdo and @fat.
- */
-
-if (typeof jQuery === "undefined") { throw new Error("Bootstrap requires jQuery") }
-
-/* ========================================================================
- * Bootstrap: transition.js v3.0.2
- * http://getbootstrap.com/javascript/#transitions
- * ========================================================================
- * Copyright 2013 Twitter, Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ======================================================================== */
-
-
-+function ($) { "use strict";
-
- // CSS TRANSITION SUPPORT (Shoutout: http://www.modernizr.com/)
- // ============================================================
-
- function transitionEnd() {
- var el = document.createElement('bootstrap')
-
- var transEndEventNames = {
- 'WebkitTransition' : 'webkitTransitionEnd'
- , 'MozTransition' : 'transitionend'
- , 'OTransition' : 'oTransitionEnd otransitionend'
- , 'transition' : 'transitionend'
- }
-
- for (var name in transEndEventNames) {
- if (el.style[name] !== undefined) {
- return { end: transEndEventNames[name] }
- }
- }
- }
-
- // http://blog.alexmaccaw.com/css-transitions
- $.fn.emulateTransitionEnd = function (duration) {
- var called = false, $el = this
- $(this).one($.support.transition.end, function () { called = true })
- var callback = function () { if (!called) $($el).trigger($.support.transition.end) }
- setTimeout(callback, duration)
- return this
- }
-
- $(function () {
- $.support.transition = transitionEnd()
- })
-
-}(jQuery);
-
-/* ========================================================================
- * Bootstrap: alert.js v3.0.2
- * http://getbootstrap.com/javascript/#alerts
- * ========================================================================
- * Copyright 2013 Twitter, Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ======================================================================== */
-
-
-+function ($) { "use strict";
-
- // ALERT CLASS DEFINITION
- // ======================
-
- var dismiss = '[data-dismiss="alert"]'
- var Alert = function (el) {
- $(el).on('click', dismiss, this.close)
- }
-
- Alert.prototype.close = function (e) {
- var $this = $(this)
- var selector = $this.attr('data-target')
-
- if (!selector) {
- selector = $this.attr('href')
- selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7
- }
-
- var $parent = $(selector)
-
- if (e) e.preventDefault()
-
- if (!$parent.length) {
- $parent = $this.hasClass('alert') ? $this : $this.parent()
- }
-
- $parent.trigger(e = $.Event('close.bs.alert'))
-
- if (e.isDefaultPrevented()) return
-
- $parent.removeClass('in')
-
- function removeElement() {
- $parent.trigger('closed.bs.alert').remove()
- }
-
- $.support.transition && $parent.hasClass('fade') ?
- $parent
- .one($.support.transition.end, removeElement)
- .emulateTransitionEnd(150) :
- removeElement()
- }
-
-
- // ALERT PLUGIN DEFINITION
- // =======================
-
- var old = $.fn.alert
-
- $.fn.alert = function (option) {
- return this.each(function () {
- var $this = $(this)
- var data = $this.data('bs.alert')
-
- if (!data) $this.data('bs.alert', (data = new Alert(this)))
- if (typeof option == 'string') data[option].call($this)
- })
- }
-
- $.fn.alert.Constructor = Alert
-
-
- // ALERT NO CONFLICT
- // =================
-
- $.fn.alert.noConflict = function () {
- $.fn.alert = old
- return this
- }
-
-
- // ALERT DATA-API
- // ==============
-
- $(document).on('click.bs.alert.data-api', dismiss, Alert.prototype.close)
-
-}(jQuery);
-
-/* ========================================================================
- * Bootstrap: button.js v3.0.2
- * http://getbootstrap.com/javascript/#buttons
- * ========================================================================
- * Copyright 2013 Twitter, Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ======================================================================== */
-
-
-+function ($) { "use strict";
-
- // BUTTON PUBLIC CLASS DEFINITION
- // ==============================
-
- var Button = function (element, options) {
- this.$element = $(element)
- this.options = $.extend({}, Button.DEFAULTS, options)
- }
-
- Button.DEFAULTS = {
- loadingText: 'loading...'
- }
-
- Button.prototype.setState = function (state) {
- var d = 'disabled'
- var $el = this.$element
- var val = $el.is('input') ? 'val' : 'html'
- var data = $el.data()
-
- state = state + 'Text'
-
- if (!data.resetText) $el.data('resetText', $el[val]())
-
- $el[val](data[state] || this.options[state])
-
- // push to event loop to allow forms to submit
- setTimeout(function () {
- state == 'loadingText' ?
- $el.addClass(d).attr(d, d) :
- $el.removeClass(d).removeAttr(d);
- }, 0)
- }
-
- Button.prototype.toggle = function () {
- var $parent = this.$element.closest('[data-toggle="buttons"]')
-
- if ($parent.length) {
- var $input = this.$element.find('input')
- .prop('checked', !this.$element.hasClass('active'))
- .trigger('change')
- if ($input.prop('type') === 'radio') $parent.find('.active').removeClass('active')
- }
-
- this.$element.toggleClass('active')
- }
-
-
- // BUTTON PLUGIN DEFINITION
- // ========================
-
- var old = $.fn.button
-
- $.fn.button = function (option) {
- return this.each(function () {
- var $this = $(this)
- var data = $this.data('bs.button')
- var options = typeof option == 'object' && option
-
- if (!data) $this.data('bs.button', (data = new Button(this, options)))
-
- if (option == 'toggle') data.toggle()
- else if (option) data.setState(option)
- })
- }
-
- $.fn.button.Constructor = Button
-
-
- // BUTTON NO CONFLICT
- // ==================
-
- $.fn.button.noConflict = function () {
- $.fn.button = old
- return this
- }
-
-
- // BUTTON DATA-API
- // ===============
-
- $(document).on('click.bs.button.data-api', '[data-toggle^=button]', function (e) {
- var $btn = $(e.target)
- if (!$btn.hasClass('btn')) $btn = $btn.closest('.btn')
- $btn.button('toggle')
- e.preventDefault()
- })
-
-}(jQuery);
-
-/* ========================================================================
- * Bootstrap: carousel.js v3.0.2
- * http://getbootstrap.com/javascript/#carousel
- * ========================================================================
- * Copyright 2013 Twitter, Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ======================================================================== */
-
-
-+function ($) { "use strict";
-
- // CAROUSEL CLASS DEFINITION
- // =========================
-
- var Carousel = function (element, options) {
- this.$element = $(element)
- this.$indicators = this.$element.find('.carousel-indicators')
- this.options = options
- this.paused =
- this.sliding =
- this.interval =
- this.$active =
- this.$items = null
-
- this.options.pause == 'hover' && this.$element
- .on('mouseenter', $.proxy(this.pause, this))
- .on('mouseleave', $.proxy(this.cycle, this))
- }
-
- Carousel.DEFAULTS = {
- interval: 5000
- , pause: 'hover'
- , wrap: true
- }
-
- Carousel.prototype.cycle = function (e) {
- e || (this.paused = false)
-
- this.interval && clearInterval(this.interval)
-
- this.options.interval
- && !this.paused
- && (this.interval = setInterval($.proxy(this.next, this), this.options.interval))
-
- return this
- }
-
- Carousel.prototype.getActiveIndex = function () {
- this.$active = this.$element.find('.item.active')
- this.$items = this.$active.parent().children()
-
- return this.$items.index(this.$active)
- }
-
- Carousel.prototype.to = function (pos) {
- var that = this
- var activeIndex = this.getActiveIndex()
-
- if (pos > (this.$items.length - 1) || pos < 0) return
-
- if (this.sliding) return this.$element.one('slid', function () { that.to(pos) })
- if (activeIndex == pos) return this.pause().cycle()
-
- return this.slide(pos > activeIndex ? 'next' : 'prev', $(this.$items[pos]))
- }
-
- Carousel.prototype.pause = function (e) {
- e || (this.paused = true)
-
- if (this.$element.find('.next, .prev').length && $.support.transition.end) {
- this.$element.trigger($.support.transition.end)
- this.cycle(true)
- }
-
- this.interval = clearInterval(this.interval)
-
- return this
- }
-
- Carousel.prototype.next = function () {
- if (this.sliding) return
- return this.slide('next')
- }
-
- Carousel.prototype.prev = function () {
- if (this.sliding) return
- return this.slide('prev')
- }
-
- Carousel.prototype.slide = function (type, next) {
- var $active = this.$element.find('.item.active')
- var $next = next || $active[type]()
- var isCycling = this.interval
- var direction = type == 'next' ? 'left' : 'right'
- var fallback = type == 'next' ? 'first' : 'last'
- var that = this
-
- if (!$next.length) {
- if (!this.options.wrap) return
- $next = this.$element.find('.item')[fallback]()
- }
-
- this.sliding = true
-
- isCycling && this.pause()
-
- var e = $.Event('slide.bs.carousel', { relatedTarget: $next[0], direction: direction })
-
- if ($next.hasClass('active')) return
-
- if (this.$indicators.length) {
- this.$indicators.find('.active').removeClass('active')
- this.$element.one('slid', function () {
- var $nextIndicator = $(that.$indicators.children()[that.getActiveIndex()])
- $nextIndicator && $nextIndicator.addClass('active')
- })
- }
-
- if ($.support.transition && this.$element.hasClass('slide')) {
- this.$element.trigger(e)
- if (e.isDefaultPrevented()) return
- $next.addClass(type)
- $next[0].offsetWidth // force reflow
- $active.addClass(direction)
- $next.addClass(direction)
- $active
- .one($.support.transition.end, function () {
- $next.removeClass([type, direction].join(' ')).addClass('active')
- $active.removeClass(['active', direction].join(' '))
- that.sliding = false
- setTimeout(function () { that.$element.trigger('slid') }, 0)
- })
- .emulateTransitionEnd(600)
- } else {
- this.$element.trigger(e)
- if (e.isDefaultPrevented()) return
- $active.removeClass('active')
- $next.addClass('active')
- this.sliding = false
- this.$element.trigger('slid')
- }
-
- isCycling && this.cycle()
-
- return this
- }
-
-
- // CAROUSEL PLUGIN DEFINITION
- // ==========================
-
- var old = $.fn.carousel
-
- $.fn.carousel = function (option) {
- return this.each(function () {
- var $this = $(this)
- var data = $this.data('bs.carousel')
- var options = $.extend({}, Carousel.DEFAULTS, $this.data(), typeof option == 'object' && option)
- var action = typeof option == 'string' ? option : options.slide
-
- if (!data) $this.data('bs.carousel', (data = new Carousel(this, options)))
- if (typeof option == 'number') data.to(option)
- else if (action) data[action]()
- else if (options.interval) data.pause().cycle()
- })
- }
-
- $.fn.carousel.Constructor = Carousel
-
-
- // CAROUSEL NO CONFLICT
- // ====================
-
- $.fn.carousel.noConflict = function () {
- $.fn.carousel = old
- return this
- }
-
-
- // CAROUSEL DATA-API
- // =================
-
- $(document).on('click.bs.carousel.data-api', '[data-slide], [data-slide-to]', function (e) {
- var $this = $(this), href
- var $target = $($this.attr('data-target') || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) //strip for ie7
- var options = $.extend({}, $target.data(), $this.data())
- var slideIndex = $this.attr('data-slide-to')
- if (slideIndex) options.interval = false
-
- $target.carousel(options)
-
- if (slideIndex = $this.attr('data-slide-to')) {
- $target.data('bs.carousel').to(slideIndex)
- }
-
- e.preventDefault()
- })
-
- $(window).on('load', function () {
- $('[data-ride="carousel"]').each(function () {
- var $carousel = $(this)
- $carousel.carousel($carousel.data())
- })
- })
-
-}(jQuery);
-
-/* ========================================================================
- * Bootstrap: collapse.js v3.0.2
- * http://getbootstrap.com/javascript/#collapse
- * ========================================================================
- * Copyright 2013 Twitter, Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ======================================================================== */
-
-
-+function ($) { "use strict";
-
- // COLLAPSE PUBLIC CLASS DEFINITION
- // ================================
-
- var Collapse = function (element, options) {
- this.$element = $(element)
- this.options = $.extend({}, Collapse.DEFAULTS, options)
- this.transitioning = null
-
- if (this.options.parent) this.$parent = $(this.options.parent)
- if (this.options.toggle) this.toggle()
- }
-
- Collapse.DEFAULTS = {
- toggle: true
- }
-
- Collapse.prototype.dimension = function () {
- var hasWidth = this.$element.hasClass('width')
- return hasWidth ? 'width' : 'height'
- }
-
- Collapse.prototype.show = function () {
- if (this.transitioning || this.$element.hasClass('in')) return
-
- var startEvent = $.Event('show.bs.collapse')
- this.$element.trigger(startEvent)
- if (startEvent.isDefaultPrevented()) return
-
- var actives = this.$parent && this.$parent.find('> .panel > .in')
-
- if (actives && actives.length) {
- var hasData = actives.data('bs.collapse')
- if (hasData && hasData.transitioning) return
- actives.collapse('hide')
- hasData || actives.data('bs.collapse', null)
- }
-
- var dimension = this.dimension()
-
- this.$element
- .removeClass('collapse')
- .addClass('collapsing')
- [dimension](0)
-
- this.transitioning = 1
-
- var complete = function () {
- this.$element
- .removeClass('collapsing')
- .addClass('in')
- [dimension]('auto')
- this.transitioning = 0
- this.$element.trigger('shown.bs.collapse')
- }
-
- if (!$.support.transition) return complete.call(this)
-
- var scrollSize = $.camelCase(['scroll', dimension].join('-'))
-
- this.$element
- .one($.support.transition.end, $.proxy(complete, this))
- .emulateTransitionEnd(350)
- [dimension](this.$element[0][scrollSize])
- }
-
- Collapse.prototype.hide = function () {
- if (this.transitioning || !this.$element.hasClass('in')) return
-
- var startEvent = $.Event('hide.bs.collapse')
- this.$element.trigger(startEvent)
- if (startEvent.isDefaultPrevented()) return
-
- var dimension = this.dimension()
-
- this.$element
- [dimension](this.$element[dimension]())
- [0].offsetHeight
-
- this.$element
- .addClass('collapsing')
- .removeClass('collapse')
- .removeClass('in')
-
- this.transitioning = 1
-
- var complete = function () {
- this.transitioning = 0
- this.$element
- .trigger('hidden.bs.collapse')
- .removeClass('collapsing')
- .addClass('collapse')
- }
-
- if (!$.support.transition) return complete.call(this)
-
- this.$element
- [dimension](0)
- .one($.support.transition.end, $.proxy(complete, this))
- .emulateTransitionEnd(350)
- }
-
- Collapse.prototype.toggle = function () {
- this[this.$element.hasClass('in') ? 'hide' : 'show']()
- }
-
-
- // COLLAPSE PLUGIN DEFINITION
- // ==========================
-
- var old = $.fn.collapse
-
- $.fn.collapse = function (option) {
- return this.each(function () {
- var $this = $(this)
- var data = $this.data('bs.collapse')
- var options = $.extend({}, Collapse.DEFAULTS, $this.data(), typeof option == 'object' && option)
-
- if (!data) $this.data('bs.collapse', (data = new Collapse(this, options)))
- if (typeof option == 'string') data[option]()
- })
- }
-
- $.fn.collapse.Constructor = Collapse
-
-
- // COLLAPSE NO CONFLICT
- // ====================
-
- $.fn.collapse.noConflict = function () {
- $.fn.collapse = old
- return this
- }
-
-
- // COLLAPSE DATA-API
- // =================
-
- $(document).on('click.bs.collapse.data-api', '[data-toggle=collapse]', function (e) {
- var $this = $(this), href
- var target = $this.attr('data-target')
- || e.preventDefault()
- || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '') //strip for ie7
- var $target = $(target)
- var data = $target.data('bs.collapse')
- var option = data ? 'toggle' : $this.data()
- var parent = $this.attr('data-parent')
- var $parent = parent && $(parent)
-
- if (!data || !data.transitioning) {
- if ($parent) $parent.find('[data-toggle=collapse][data-parent="' + parent + '"]').not($this).addClass('collapsed')
- $this[$target.hasClass('in') ? 'addClass' : 'removeClass']('collapsed')
- }
-
- $target.collapse(option)
- })
-
-}(jQuery);
-
-/* ========================================================================
- * Bootstrap: dropdown.js v3.0.2
- * http://getbootstrap.com/javascript/#dropdowns
- * ========================================================================
- * Copyright 2013 Twitter, Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ======================================================================== */
-
-
-+function ($) { "use strict";
-
- // DROPDOWN CLASS DEFINITION
- // =========================
-
- var backdrop = '.dropdown-backdrop'
- var toggle = '[data-toggle=dropdown]'
- var Dropdown = function (element) {
- var $el = $(element).on('click.bs.dropdown', this.toggle)
- }
-
- Dropdown.prototype.toggle = function (e) {
- var $this = $(this)
-
- if ($this.is('.disabled, :disabled')) return
-
- var $parent = getParent($this)
- var isActive = $parent.hasClass('open')
-
- clearMenus()
-
- if (!isActive) {
- if ('ontouchstart' in document.documentElement && !$parent.closest('.navbar-nav').length) {
- // if mobile we we use a backdrop because click events don't delegate
- $('<div class="dropdown-backdrop"/>').insertAfter($(this)).on('click', clearMenus)
- }
-
- $parent.trigger(e = $.Event('show.bs.dropdown'))
-
- if (e.isDefaultPrevented()) return
-
- $parent
- .toggleClass('open')
- .trigger('shown.bs.dropdown')
-
- $this.focus()
- }
-
- return false
- }
-
- Dropdown.prototype.keydown = function (e) {
- if (!/(38|40|27)/.test(e.keyCode)) return
-
- var $this = $(this)
-
- e.preventDefault()
- e.stopPropagation()
-
- if ($this.is('.disabled, :disabled')) return
-
- var $parent = getParent($this)
- var isActive = $parent.hasClass('open')
-
- if (!isActive || (isActive && e.keyCode == 27)) {
- if (e.which == 27) $parent.find(toggle).focus()
- return $this.click()
- }
-
- var $items = $('[role=menu] li:not(.divider):visible a', $parent)
-
- if (!$items.length) return
-
- var index = $items.index($items.filter(':focus'))
-
- if (e.keyCode == 38 && index > 0) index-- // up
- if (e.keyCode == 40 && index < $items.length - 1) index++ // down
- if (!~index) index=0
-
- $items.eq(index).focus()
- }
-
- function clearMenus() {
- $(backdrop).remove()
- $(toggle).each(function (e) {
- var $parent = getParent($(this))
- if (!$parent.hasClass('open')) return
- $parent.trigger(e = $.Event('hide.bs.dropdown'))
- if (e.isDefaultPrevented()) return
- $parent.removeClass('open').trigger('hidden.bs.dropdown')
- })
- }
-
- function getParent($this) {
- var selector = $this.attr('data-target')
-
- if (!selector) {
- selector = $this.attr('href')
- selector = selector && /#/.test(selector) && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7
- }
-
- var $parent = selector && $(selector)
-
- return $parent && $parent.length ? $parent : $this.parent()
- }
-
-
- // DROPDOWN PLUGIN DEFINITION
- // ==========================
-
- var old = $.fn.dropdown
-
- $.fn.dropdown = function (option) {
- return this.each(function () {
- var $this = $(this)
- var data = $this.data('dropdown')
-
- if (!data) $this.data('dropdown', (data = new Dropdown(this)))
- if (typeof option == 'string') data[option].call($this)
- })
- }
-
- $.fn.dropdown.Constructor = Dropdown
-
-
- // DROPDOWN NO CONFLICT
- // ====================
-
- $.fn.dropdown.noConflict = function () {
- $.fn.dropdown = old
- return this
- }
-
-
- // APPLY TO STANDARD DROPDOWN ELEMENTS
- // ===================================
-
- $(document)
- .on('click.bs.dropdown.data-api', clearMenus)
- .on('click.bs.dropdown.data-api', '.dropdown form', function (e) { e.stopPropagation() })
- .on('click.bs.dropdown.data-api' , toggle, Dropdown.prototype.toggle)
- .on('keydown.bs.dropdown.data-api', toggle + ', [role=menu]' , Dropdown.prototype.keydown)
-
-}(jQuery);
-
-/* ========================================================================
- * Bootstrap: modal.js v3.0.2
- * http://getbootstrap.com/javascript/#modals
- * ========================================================================
- * Copyright 2013 Twitter, Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ======================================================================== */
-
-
-+function ($) { "use strict";
-
- // MODAL CLASS DEFINITION
- // ======================
-
- var Modal = function (element, options) {
- this.options = options
- this.$element = $(element)
- this.$backdrop =
- this.isShown = null
-
- if (this.options.remote) this.$element.load(this.options.remote)
- }
-
- Modal.DEFAULTS = {
- backdrop: true
- , keyboard: true
- , show: true
- }
-
- Modal.prototype.toggle = function (_relatedTarget) {
- return this[!this.isShown ? 'show' : 'hide'](_relatedTarget)
- }
-
- Modal.prototype.show = function (_relatedTarget) {
- var that = this
- var e = $.Event('show.bs.modal', { relatedTarget: _relatedTarget })
-
- this.$element.trigger(e)
-
- if (this.isShown || e.isDefaultPrevented()) return
-
- this.isShown = true
-
- this.escape()
-
- this.$element.on('click.dismiss.modal', '[data-dismiss="modal"]', $.proxy(this.hide, this))
-
- this.backdrop(function () {
- var transition = $.support.transition && that.$element.hasClass('fade')
-
- if (!that.$element.parent().length) {
- that.$element.appendTo(document.body) // don't move modals dom position
- }
-
- that.$element.show()
-
- if (transition) {
- that.$element[0].offsetWidth // force reflow
- }
-
- that.$element
- .addClass('in')
- .attr('aria-hidden', false)
-
- that.enforceFocus()
-
- var e = $.Event('shown.bs.modal', { relatedTarget: _relatedTarget })
-
- transition ?
- that.$element.find('.modal-dialog') // wait for modal to slide in
- .one($.support.transition.end, function () {
- that.$element.focus().trigger(e)
- })
- .emulateTransitionEnd(300) :
- that.$element.focus().trigger(e)
- })
- }
-
- Modal.prototype.hide = function (e) {
- if (e) e.preventDefault()
-
- e = $.Event('hide.bs.modal')
-
- this.$element.trigger(e)
-
- if (!this.isShown || e.isDefaultPrevented()) return
-
- this.isShown = false
-
- this.escape()
-
- $(document).off('focusin.bs.modal')
-
- this.$element
- .removeClass('in')
- .attr('aria-hidden', true)
- .off('click.dismiss.modal')
-
- $.support.transition && this.$element.hasClass('fade') ?
- this.$element
- .one($.support.transition.end, $.proxy(this.hideModal, this))
- .emulateTransitionEnd(300) :
- this.hideModal()
- }
-
- Modal.prototype.enforceFocus = function () {
- $(document)
- .off('focusin.bs.modal') // guard against infinite focus loop
- .on('focusin.bs.modal', $.proxy(function (e) {
- if (this.$element[0] !== e.target && !this.$element.has(e.target).length) {
- this.$element.focus()
- }
- }, this))
- }
-
- Modal.prototype.escape = function () {
- if (this.isShown && this.options.keyboard) {
- this.$element.on('keyup.dismiss.bs.modal', $.proxy(function (e) {
- e.which == 27 && this.hide()
- }, this))
- } else if (!this.isShown) {
- this.$element.off('keyup.dismiss.bs.modal')
- }
- }
-
- Modal.prototype.hideModal = function () {
- var that = this
- this.$element.hide()
- this.backdrop(function () {
- that.removeBackdrop()
- that.$element.trigger('hidden.bs.modal')
- })
- }
-
- Modal.prototype.removeBackdrop = function () {
- this.$backdrop && this.$backdrop.remove()
- this.$backdrop = null
- }
-
- Modal.prototype.backdrop = function (callback) {
- var that = this
- var animate = this.$element.hasClass('fade') ? 'fade' : ''
-
- if (this.isShown && this.options.backdrop) {
- var doAnimate = $.support.transition && animate
-
- this.$backdrop = $('<div class="modal-backdrop ' + animate + '" />')
- .appendTo(document.body)
-
- this.$element.on('click.dismiss.modal', $.proxy(function (e) {
- if (e.target !== e.currentTarget) return
- this.options.backdrop == 'static'
- ? this.$element[0].focus.call(this.$element[0])
- : this.hide.call(this)
- }, this))
-
- if (doAnimate) this.$backdrop[0].offsetWidth // force reflow
-
- this.$backdrop.addClass('in')
-
- if (!callback) return
-
- doAnimate ?
- this.$backdrop
- .one($.support.transition.end, callback)
- .emulateTransitionEnd(150) :
- callback()
-
- } else if (!this.isShown && this.$backdrop) {
- this.$backdrop.removeClass('in')
-
- $.support.transition && this.$element.hasClass('fade')?
- this.$backdrop
- .one($.support.transition.end, callback)
- .emulateTransitionEnd(150) :
- callback()
-
- } else if (callback) {
- callback()
- }
- }
-
-
- // MODAL PLUGIN DEFINITION
- // =======================
-
- var old = $.fn.modal
-
- $.fn.modal = function (option, _relatedTarget) {
- return this.each(function () {
- var $this = $(this)
- var data = $this.data('bs.modal')
- var options = $.extend({}, Modal.DEFAULTS, $this.data(), typeof option == 'object' && option)
-
- if (!data) $this.data('bs.modal', (data = new Modal(this, options)))
- if (typeof option == 'string') data[option](_relatedTarget)
- else if (options.show) data.show(_relatedTarget)
- })
- }
-
- $.fn.modal.Constructor = Modal
-
-
- // MODAL NO CONFLICT
- // =================
-
- $.fn.modal.noConflict = function () {
- $.fn.modal = old
- return this
- }
-
-
- // MODAL DATA-API
- // ==============
-
- $(document).on('click.bs.modal.data-api', '[data-toggle="modal"]', function (e) {
- var $this = $(this)
- var href = $this.attr('href')
- var $target = $($this.attr('data-target') || (href && href.replace(/.*(?=#[^\s]+$)/, ''))) //strip for ie7
- var option = $target.data('modal') ? 'toggle' : $.extend({ remote: !/#/.test(href) && href }, $target.data(), $this.data())
-
- e.preventDefault()
-
- $target
- .modal(option, this)
- .one('hide', function () {
- $this.is(':visible') && $this.focus()
- })
- })
-
- $(document)
- .on('show.bs.modal', '.modal', function () { $(document.body).addClass('modal-open') })
- .on('hidden.bs.modal', '.modal', function () { $(document.body).removeClass('modal-open') })
-
-}(jQuery);
-
-/* ========================================================================
- * Bootstrap: tooltip.js v3.0.2
- * http://getbootstrap.com/javascript/#tooltip
- * Inspired by the original jQuery.tipsy by Jason Frame
- * ========================================================================
- * Copyright 2013 Twitter, Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ======================================================================== */
-
-
-+function ($) { "use strict";
-
- // TOOLTIP PUBLIC CLASS DEFINITION
- // ===============================
-
- var Tooltip = function (element, options) {
- this.type =
- this.options =
- this.enabled =
- this.timeout =
- this.hoverState =
- this.$element = null
-
- this.init('tooltip', element, options)
- }
-
- Tooltip.DEFAULTS = {
- animation: true
- , placement: 'top'
- , selector: false
- , template: '<div class="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>'
- , trigger: 'hover focus'
- , title: ''
- , delay: 0
- , html: false
- , container: false
- }
-
- Tooltip.prototype.init = function (type, element, options) {
- this.enabled = true
- this.type = type
- this.$element = $(element)
- this.options = this.getOptions(options)
-
- var triggers = this.options.trigger.split(' ')
-
- for (var i = triggers.length; i--;) {
- var trigger = triggers[i]
-
- if (trigger == 'click') {
- this.$element.on('click.' + this.type, this.options.selector, $.proxy(this.toggle, this))
- } else if (trigger != 'manual') {
- var eventIn = trigger == 'hover' ? 'mouseenter' : 'focus'
- var eventOut = trigger == 'hover' ? 'mouseleave' : 'blur'
-
- this.$element.on(eventIn + '.' + this.type, this.options.selector, $.proxy(this.enter, this))
- this.$element.on(eventOut + '.' + this.type, this.options.selector, $.proxy(this.leave, this))
- }
- }
-
- this.options.selector ?
- (this._options = $.extend({}, this.options, { trigger: 'manual', selector: '' })) :
- this.fixTitle()
- }
-
- Tooltip.prototype.getDefaults = function () {
- return Tooltip.DEFAULTS
- }
-
- Tooltip.prototype.getOptions = function (options) {
- options = $.extend({}, this.getDefaults(), this.$element.data(), options)
-
- if (options.delay && typeof options.delay == 'number') {
- options.delay = {
- show: options.delay
- , hide: options.delay
- }
- }
-
- return options
- }
-
- Tooltip.prototype.getDelegateOptions = function () {
- var options = {}
- var defaults = this.getDefaults()
-
- this._options && $.each(this._options, function (key, value) {
- if (defaults[key] != value) options[key] = value
- })
-
- return options
- }
-
- Tooltip.prototype.enter = function (obj) {
- var self = obj instanceof this.constructor ?
- obj : $(obj.currentTarget)[this.type](this.getDelegateOptions()).data('bs.' + this.type)
-
- clearTimeout(self.timeout)
-
- self.hoverState = 'in'
-
- if (!self.options.delay || !self.options.delay.show) return self.show()
-
- self.timeout = setTimeout(function () {
- if (self.hoverState == 'in') self.show()
- }, self.options.delay.show)
- }
-
- Tooltip.prototype.leave = function (obj) {
- var self = obj instanceof this.constructor ?
- obj : $(obj.currentTarget)[this.type](this.getDelegateOptions()).data('bs.' + this.type)
-
- clearTimeout(self.timeout)
-
- self.hoverState = 'out'
-
- if (!self.options.delay || !self.options.delay.hide) return self.hide()
-
- self.timeout = setTimeout(function () {
- if (self.hoverState == 'out') self.hide()
- }, self.options.delay.hide)
- }
-
- Tooltip.prototype.show = function () {
- var e = $.Event('show.bs.'+ this.type)
-
- if (this.hasContent() && this.enabled) {
- this.$element.trigger(e)
-
- if (e.isDefaultPrevented()) return
-
- var $tip = this.tip()
-
- this.setContent()
-
- if (this.options.animation) $tip.addClass('fade')
-
- var placement = typeof this.options.placement == 'function' ?
- this.options.placement.call(this, $tip[0], this.$element[0]) :
- this.options.placement
-
- var autoToken = /\s?auto?\s?/i
- var autoPlace = autoToken.test(placement)
- if (autoPlace) placement = placement.replace(autoToken, '') || 'top'
-
- $tip
- .detach()
- .css({ top: 0, left: 0, display: 'block' })
- .addClass(placement)
-
- this.options.container ? $tip.appendTo(this.options.container) : $tip.insertAfter(this.$element)
-
- var pos = this.getPosition()
- var actualWidth = $tip[0].offsetWidth
- var actualHeight = $tip[0].offsetHeight
-
- if (autoPlace) {
- var $parent = this.$element.parent()
-
- var orgPlacement = placement
- var docScroll = document.documentElement.scrollTop || document.body.scrollTop
- var parentWidth = this.options.container == 'body' ? window.innerWidth : $parent.outerWidth()
- var parentHeight = this.options.container == 'body' ? window.innerHeight : $parent.outerHeight()
- var parentLeft = this.options.container == 'body' ? 0 : $parent.offset().left
-
- placement = placement == 'bottom' && pos.top + pos.height + actualHeight - docScroll > parentHeight ? 'top' :
- placement == 'top' && pos.top - docScroll - actualHeight < 0 ? 'bottom' :
- placement == 'right' && pos.right + actualWidth > parentWidth ? 'left' :
- placement == 'left' && pos.left - actualWidth < parentLeft ? 'right' :
- placement
-
- $tip
- .removeClass(orgPlacement)
- .addClass(placement)
- }
-
- var calculatedOffset = this.getCalculatedOffset(placement, pos, actualWidth, actualHeight)
-
- this.applyPlacement(calculatedOffset, placement)
- this.$element.trigger('shown.bs.' + this.type)
- }
- }
-
- Tooltip.prototype.applyPlacement = function(offset, placement) {
- var replace
- var $tip = this.tip()
- var width = $tip[0].offsetWidth
- var height = $tip[0].offsetHeight
-
- // manually read margins because getBoundingClientRect includes difference
- var marginTop = parseInt($tip.css('margin-top'), 10)
- var marginLeft = parseInt($tip.css('margin-left'), 10)
-
- // we must check for NaN for ie 8/9
- if (isNaN(marginTop)) marginTop = 0
- if (isNaN(marginLeft)) marginLeft = 0
-
- offset.top = offset.top + marginTop
- offset.left = offset.left + marginLeft
-
- $tip
- .offset(offset)
- .addClass('in')
-
- // check to see if placing tip in new offset caused the tip to resize itself
- var actualWidth = $tip[0].offsetWidth
- var actualHeight = $tip[0].offsetHeight
-
- if (placement == 'top' && actualHeight != height) {
- replace = true
- offset.top = offset.top + height - actualHeight
- }
-
- if (/bottom|top/.test(placement)) {
- var delta = 0
-
- if (offset.left < 0) {
- delta = offset.left * -2
- offset.left = 0
-
- $tip.offset(offset)
-
- actualWidth = $tip[0].offsetWidth
- actualHeight = $tip[0].offsetHeight
- }
-
- this.replaceArrow(delta - width + actualWidth, actualWidth, 'left')
- } else {
- this.replaceArrow(actualHeight - height, actualHeight, 'top')
- }
-
- if (replace) $tip.offset(offset)
- }
-
- Tooltip.prototype.replaceArrow = function(delta, dimension, position) {
- this.arrow().css(position, delta ? (50 * (1 - delta / dimension) + "%") : '')
- }
-
- Tooltip.prototype.setContent = function () {
- var $tip = this.tip()
- var title = this.getTitle()
-
- $tip.find('.tooltip-inner')[this.options.html ? 'html' : 'text'](title)
- $tip.removeClass('fade in top bottom left right')
- }
-
- Tooltip.prototype.hide = function () {
- var that = this
- var $tip = this.tip()
- var e = $.Event('hide.bs.' + this.type)
-
- function complete() {
- if (that.hoverState != 'in') $tip.detach()
- }
-
- this.$element.trigger(e)
-
- if (e.isDefaultPrevented()) return
-
- $tip.removeClass('in')
-
- $.support.transition && this.$tip.hasClass('fade') ?
- $tip
- .one($.support.transition.end, complete)
- .emulateTransitionEnd(150) :
- complete()
-
- this.$element.trigger('hidden.bs.' + this.type)
-
- return this
- }
-
- Tooltip.prototype.fixTitle = function () {
- var $e = this.$element
- if ($e.attr('title') || typeof($e.attr('data-original-title')) != 'string') {
- $e.attr('data-original-title', $e.attr('title') || '').attr('title', '')
- }
- }
-
- Tooltip.prototype.hasContent = function () {
- return this.getTitle()
- }
-
- Tooltip.prototype.getPosition = function () {
- var el = this.$element[0]
- return $.extend({}, (typeof el.getBoundingClientRect == 'function') ? el.getBoundingClientRect() : {
- width: el.offsetWidth
- , height: el.offsetHeight
- }, this.$element.offset())
- }
-
- Tooltip.prototype.getCalculatedOffset = function (placement, pos, actualWidth, actualHeight) {
- return placement == 'bottom' ? { top: pos.top + pos.height, left: pos.left + pos.width / 2 - actualWidth / 2 } :
- placement == 'top' ? { top: pos.top - actualHeight, left: pos.left + pos.width / 2 - actualWidth / 2 } :
- placement == 'left' ? { top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left - actualWidth } :
- /* placement == 'right' */ { top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left + pos.width }
- }
-
- Tooltip.prototype.getTitle = function () {
- var title
- var $e = this.$element
- var o = this.options
-
- title = $e.attr('data-original-title')
- || (typeof o.title == 'function' ? o.title.call($e[0]) : o.title)
-
- return title
- }
-
- Tooltip.prototype.tip = function () {
- return this.$tip = this.$tip || $(this.options.template)
- }
-
- Tooltip.prototype.arrow = function () {
- return this.$arrow = this.$arrow || this.tip().find('.tooltip-arrow')
- }
-
- Tooltip.prototype.validate = function () {
- if (!this.$element[0].parentNode) {
- this.hide()
- this.$element = null
- this.options = null
- }
- }
-
- Tooltip.prototype.enable = function () {
- this.enabled = true
- }
-
- Tooltip.prototype.disable = function () {
- this.enabled = false
- }
-
- Tooltip.prototype.toggleEnabled = function () {
- this.enabled = !this.enabled
- }
-
- Tooltip.prototype.toggle = function (e) {
- var self = e ? $(e.currentTarget)[this.type](this.getDelegateOptions()).data('bs.' + this.type) : this
- self.tip().hasClass('in') ? self.leave(self) : self.enter(self)
- }
-
- Tooltip.prototype.destroy = function () {
- this.hide().$element.off('.' + this.type).removeData('bs.' + this.type)
- }
-
-
- // TOOLTIP PLUGIN DEFINITION
- // =========================
-
- var old = $.fn.tooltip
-
- $.fn.tooltip = function (option) {
- return this.each(function () {
- var $this = $(this)
- var data = $this.data('bs.tooltip')
- var options = typeof option == 'object' && option
-
- if (!data) $this.data('bs.tooltip', (data = new Tooltip(this, options)))
- if (typeof option == 'string') data[option]()
- })
- }
-
- $.fn.tooltip.Constructor = Tooltip
-
-
- // TOOLTIP NO CONFLICT
- // ===================
-
- $.fn.tooltip.noConflict = function () {
- $.fn.tooltip = old
- return this
- }
-
-}(jQuery);
-
-/* ========================================================================
- * Bootstrap: popover.js v3.0.2
- * http://getbootstrap.com/javascript/#popovers
- * ========================================================================
- * Copyright 2013 Twitter, Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ======================================================================== */
-
-
-+function ($) { "use strict";
-
- // POPOVER PUBLIC CLASS DEFINITION
- // ===============================
-
- var Popover = function (element, options) {
- this.init('popover', element, options)
- }
-
- if (!$.fn.tooltip) throw new Error('Popover requires tooltip.js')
-
- Popover.DEFAULTS = $.extend({} , $.fn.tooltip.Constructor.DEFAULTS, {
- placement: 'right'
- , trigger: 'click'
- , content: ''
- , template: '<div class="popover"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'
- })
-
-
- // NOTE: POPOVER EXTENDS tooltip.js
- // ================================
-
- Popover.prototype = $.extend({}, $.fn.tooltip.Constructor.prototype)
-
- Popover.prototype.constructor = Popover
-
- Popover.prototype.getDefaults = function () {
- return Popover.DEFAULTS
- }
-
- Popover.prototype.setContent = function () {
- var $tip = this.tip()
- var title = this.getTitle()
- var content = this.getContent()
-
- $tip.find('.popover-title')[this.options.html ? 'html' : 'text'](title)
- $tip.find('.popover-content')[this.options.html ? 'html' : 'text'](content)
-
- $tip.removeClass('fade top bottom left right in')
-
- // IE8 doesn't accept hiding via the `:empty` pseudo selector, we have to do
- // this manually by checking the contents.
- if (!$tip.find('.popover-title').html()) $tip.find('.popover-title').hide()
- }
-
- Popover.prototype.hasContent = function () {
- return this.getTitle() || this.getContent()
- }
-
- Popover.prototype.getContent = function () {
- var $e = this.$element
- var o = this.options
-
- return $e.attr('data-content')
- || (typeof o.content == 'function' ?
- o.content.call($e[0]) :
- o.content)
- }
-
- Popover.prototype.arrow = function () {
- return this.$arrow = this.$arrow || this.tip().find('.arrow')
- }
-
- Popover.prototype.tip = function () {
- if (!this.$tip) this.$tip = $(this.options.template)
- return this.$tip
- }
-
-
- // POPOVER PLUGIN DEFINITION
- // =========================
-
- var old = $.fn.popover
-
- $.fn.popover = function (option) {
- return this.each(function () {
- var $this = $(this)
- var data = $this.data('bs.popover')
- var options = typeof option == 'object' && option
-
- if (!data) $this.data('bs.popover', (data = new Popover(this, options)))
- if (typeof option == 'string') data[option]()
- })
- }
-
- $.fn.popover.Constructor = Popover
-
-
- // POPOVER NO CONFLICT
- // ===================
-
- $.fn.popover.noConflict = function () {
- $.fn.popover = old
- return this
- }
-
-}(jQuery);
-
-/* ========================================================================
- * Bootstrap: scrollspy.js v3.0.2
- * http://getbootstrap.com/javascript/#scrollspy
- * ========================================================================
- * Copyright 2013 Twitter, Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ======================================================================== */
-
-
-+function ($) { "use strict";
-
- // SCROLLSPY CLASS DEFINITION
- // ==========================
-
- function ScrollSpy(element, options) {
- var href
- var process = $.proxy(this.process, this)
-
- this.$element = $(element).is('body') ? $(window) : $(element)
- this.$body = $('body')
- this.$scrollElement = this.$element.on('scroll.bs.scroll-spy.data-api', process)
- this.options = $.extend({}, ScrollSpy.DEFAULTS, options)
- this.selector = (this.options.target
- || ((href = $(element).attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) //strip for ie7
- || '') + ' .nav li > a'
- this.offsets = $([])
- this.targets = $([])
- this.activeTarget = null
-
- this.refresh()
- this.process()
- }
-
- ScrollSpy.DEFAULTS = {
- offset: 10
- }
-
- ScrollSpy.prototype.refresh = function () {
- var offsetMethod = this.$element[0] == window ? 'offset' : 'position'
-
- this.offsets = $([])
- this.targets = $([])
-
- var self = this
- var $targets = this.$body
- .find(this.selector)
- .map(function () {
- var $el = $(this)
- var href = $el.data('target') || $el.attr('href')
- var $href = /^#\w/.test(href) && $(href)
-
- return ($href
- && $href.length
- && [[ $href[offsetMethod]().top + (!$.isWindow(self.$scrollElement.get(0)) && self.$scrollElement.scrollTop()), href ]]) || null
- })
- .sort(function (a, b) { return a[0] - b[0] })
- .each(function () {
- self.offsets.push(this[0])
- self.targets.push(this[1])
- })
- }
-
- ScrollSpy.prototype.process = function () {
- var scrollTop = this.$scrollElement.scrollTop() + this.options.offset
- var scrollHeight = this.$scrollElement[0].scrollHeight || this.$body[0].scrollHeight
- var maxScroll = scrollHeight - this.$scrollElement.height()
- var offsets = this.offsets
- var targets = this.targets
- var activeTarget = this.activeTarget
- var i
-
- if (scrollTop >= maxScroll) {
- return activeTarget != (i = targets.last()[0]) && this.activate(i)
- }
-
- for (i = offsets.length; i--;) {
- activeTarget != targets[i]
- && scrollTop >= offsets[i]
- && (!offsets[i + 1] || scrollTop <= offsets[i + 1])
- && this.activate( targets[i] )
- }
- }
-
- ScrollSpy.prototype.activate = function (target) {
- this.activeTarget = target
-
- $(this.selector)
- .parents('.active')
- .removeClass('active')
-
- var selector = this.selector
- + '[data-target="' + target + '"],'
- + this.selector + '[href="' + target + '"]'
-
- var active = $(selector)
- .parents('li')
- .addClass('active')
-
- if (active.parent('.dropdown-menu').length) {
- active = active
- .closest('li.dropdown')
- .addClass('active')
- }
-
- active.trigger('activate')
- }
-
-
- // SCROLLSPY PLUGIN DEFINITION
- // ===========================
-
- var old = $.fn.scrollspy
-
- $.fn.scrollspy = function (option) {
- return this.each(function () {
- var $this = $(this)
- var data = $this.data('bs.scrollspy')
- var options = typeof option == 'object' && option
-
- if (!data) $this.data('bs.scrollspy', (data = new ScrollSpy(this, options)))
- if (typeof option == 'string') data[option]()
- })
- }
-
- $.fn.scrollspy.Constructor = ScrollSpy
-
-
- // SCROLLSPY NO CONFLICT
- // =====================
-
- $.fn.scrollspy.noConflict = function () {
- $.fn.scrollspy = old
- return this
- }
-
-
- // SCROLLSPY DATA-API
- // ==================
-
- $(window).on('load', function () {
- $('[data-spy="scroll"]').each(function () {
- var $spy = $(this)
- $spy.scrollspy($spy.data())
- })
- })
-
-}(jQuery);
-
-/* ========================================================================
- * Bootstrap: tab.js v3.0.2
- * http://getbootstrap.com/javascript/#tabs
- * ========================================================================
- * Copyright 2013 Twitter, Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ======================================================================== */
-
-
-+function ($) { "use strict";
-
- // TAB CLASS DEFINITION
- // ====================
-
- var Tab = function (element) {
- this.element = $(element)
- }
-
- Tab.prototype.show = function () {
- var $this = this.element
- var $ul = $this.closest('ul:not(.dropdown-menu)')
- var selector = $this.data('target')
-
- if (!selector) {
- selector = $this.attr('href')
- selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7
- }
-
- if ($this.parent('li').hasClass('active')) return
-
- var previous = $ul.find('.active:last a')[0]
- var e = $.Event('show.bs.tab', {
- relatedTarget: previous
- })
-
- $this.trigger(e)
-
- if (e.isDefaultPrevented()) return
-
- var $target = $(selector)
-
- this.activate($this.parent('li'), $ul)
- this.activate($target, $target.parent(), function () {
- $this.trigger({
- type: 'shown.bs.tab'
- , relatedTarget: previous
- })
- })
- }
-
- Tab.prototype.activate = function (element, container, callback) {
- var $active = container.find('> .active')
- var transition = callback
- && $.support.transition
- && $active.hasClass('fade')
-
- function next() {
- $active
- .removeClass('active')
- .find('> .dropdown-menu > .active')
- .removeClass('active')
-
- element.addClass('active')
-
- if (transition) {
- element[0].offsetWidth // reflow for transition
- element.addClass('in')
- } else {
- element.removeClass('fade')
- }
-
- if (element.parent('.dropdown-menu')) {
- element.closest('li.dropdown').addClass('active')
- }
-
- callback && callback()
- }
-
- transition ?
- $active
- .one($.support.transition.end, next)
- .emulateTransitionEnd(150) :
- next()
-
- $active.removeClass('in')
- }
-
-
- // TAB PLUGIN DEFINITION
- // =====================
-
- var old = $.fn.tab
-
- $.fn.tab = function ( option ) {
- return this.each(function () {
- var $this = $(this)
- var data = $this.data('bs.tab')
-
- if (!data) $this.data('bs.tab', (data = new Tab(this)))
- if (typeof option == 'string') data[option]()
- })
- }
-
- $.fn.tab.Constructor = Tab
-
-
- // TAB NO CONFLICT
- // ===============
-
- $.fn.tab.noConflict = function () {
- $.fn.tab = old
- return this
- }
-
-
- // TAB DATA-API
- // ============
-
- $(document).on('click.bs.tab.data-api', '[data-toggle="tab"], [data-toggle="pill"]', function (e) {
- e.preventDefault()
- $(this).tab('show')
- })
-
-}(jQuery);
-
-/* ========================================================================
- * Bootstrap: affix.js v3.0.2
- * http://getbootstrap.com/javascript/#affix
- * ========================================================================
- * Copyright 2013 Twitter, Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ======================================================================== */
-
-
-+function ($) { "use strict";
-
- // AFFIX CLASS DEFINITION
- // ======================
-
- var Affix = function (element, options) {
- this.options = $.extend({}, Affix.DEFAULTS, options)
- this.$window = $(window)
- .on('scroll.bs.affix.data-api', $.proxy(this.checkPosition, this))
- .on('click.bs.affix.data-api', $.proxy(this.checkPositionWithEventLoop, this))
-
- this.$element = $(element)
- this.affixed =
- this.unpin = null
-
- this.checkPosition()
- }
-
- Affix.RESET = 'affix affix-top affix-bottom'
-
- Affix.DEFAULTS = {
- offset: 0
- }
-
- Affix.prototype.checkPositionWithEventLoop = function () {
- setTimeout($.proxy(this.checkPosition, this), 1)
- }
-
- Affix.prototype.checkPosition = function () {
- if (!this.$element.is(':visible')) return
-
- var scrollHeight = $(document).height()
- var scrollTop = this.$window.scrollTop()
- var position = this.$element.offset()
- var offset = this.options.offset
- var offsetTop = offset.top
- var offsetBottom = offset.bottom
-
- if (typeof offset != 'object') offsetBottom = offsetTop = offset
- if (typeof offsetTop == 'function') offsetTop = offset.top()
- if (typeof offsetBottom == 'function') offsetBottom = offset.bottom()
-
- var affix = this.unpin != null && (scrollTop + this.unpin <= position.top) ? false :
- offsetBottom != null && (position.top + this.$element.height() >= scrollHeight - offsetBottom) ? 'bottom' :
- offsetTop != null && (scrollTop <= offsetTop) ? 'top' : false
-
- if (this.affixed === affix) return
- if (this.unpin) this.$element.css('top', '')
-
- this.affixed = affix
- this.unpin = affix == 'bottom' ? position.top - scrollTop : null
-
- this.$element.removeClass(Affix.RESET).addClass('affix' + (affix ? '-' + affix : ''))
-
- if (affix == 'bottom') {
- this.$element.offset({ top: document.body.offsetHeight - offsetBottom - this.$element.height() })
- }
- }
-
-
- // AFFIX PLUGIN DEFINITION
- // =======================
-
- var old = $.fn.affix
-
- $.fn.affix = function (option) {
- return this.each(function () {
- var $this = $(this)
- var data = $this.data('bs.affix')
- var options = typeof option == 'object' && option
-
- if (!data) $this.data('bs.affix', (data = new Affix(this, options)))
- if (typeof option == 'string') data[option]()
- })
- }
-
- $.fn.affix.Constructor = Affix
-
-
- // AFFIX NO CONFLICT
- // =================
-
- $.fn.affix.noConflict = function () {
- $.fn.affix = old
- return this
- }
-
-
- // AFFIX DATA-API
- // ==============
-
- $(window).on('load', function () {
- $('[data-spy="affix"]').each(function () {
- var $spy = $(this)
- var data = $spy.data()
-
- data.offset = data.offset || {}
-
- if (data.offsetBottom) data.offset.bottom = data.offsetBottom
- if (data.offsetTop) data.offset.top = data.offsetTop
-
- $spy.affix(data)
- })
- })
-
-}(jQuery);

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/assets/themes/mahout/bootstrap/js/bootstrap.min.js
----------------------------------------------------------------------
diff --git a/website-old/assets/themes/mahout/bootstrap/js/bootstrap.min.js b/website-old/assets/themes/mahout/bootstrap/js/bootstrap.min.js
deleted file mode 100644
index 0e668e8..0000000
--- a/website-old/assets/themes/mahout/bootstrap/js/bootstrap.min.js
+++ /dev/null
@@ -1,9 +0,0 @@
-/*!
- * Bootstrap v3.0.2 by @fat and @mdo
- * Copyright 2013 Twitter, Inc.
- * Licensed under http://www.apache.org/licenses/LICENSE-2.0
- *
- * Designed and built with all the love in the world by @mdo and @fat.
- */
-
-if("undefined"==typeof jQuery)throw new Error("Bootstrap requires jQuery");+function(a){"use strict";function b(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(void 0!==a.style[c])return{end:b[c]}}a.fn.emulateTransitionEnd=function(b){var c=!1,d=this;a(this).one(a.support.transition.end,function(){c=!0});var e=function(){c||a(d).trigger(a.support.transition.end)};return setTimeout(e,b),this},a(function(){a.support.transition=b()})}(jQuery),+function(a){"use strict";var b='[data-dismiss="alert"]',c=function(c){a(c).on("click",b,this.close)};c.prototype.close=function(b){function c(){f.trigger("closed.bs.alert").remove()}var d=a(this),e=d.attr("data-target");e||(e=d.attr("href"),e=e&&e.replace(/.*(?=#[^\s]*$)/,""));var f=a(e);b&&b.preventDefault(),f.length||(f=d.hasClass("alert")?d:d.parent()),f.trigger(b=a.Event("close.bs.alert"
)),b.isDefaultPrevented()||(f.removeClass("in"),a.support.transition&&f.hasClass("fade")?f.one(a.support.transition.end,c).emulateTransitionEnd(150):c())};var d=a.fn.alert;a.fn.alert=function(b){return this.each(function(){var d=a(this),e=d.data("bs.alert");e||d.data("bs.alert",e=new c(this)),"string"==typeof b&&e[b].call(d)})},a.fn.alert.Constructor=c,a.fn.alert.noConflict=function(){return a.fn.alert=d,this},a(document).on("click.bs.alert.data-api",b,c.prototype.close)}(jQuery),+function(a){"use strict";var b=function(c,d){this.$element=a(c),this.options=a.extend({},b.DEFAULTS,d)};b.DEFAULTS={loadingText:"loading..."},b.prototype.setState=function(a){var b="disabled",c=this.$element,d=c.is("input")?"val":"html",e=c.data();a+="Text",e.resetText||c.data("resetText",c[d]()),c[d](e[a]||this.options[a]),setTimeout(function(){"loadingText"==a?c.addClass(b).attr(b,b):c.removeClass(b).removeAttr(b)},0)},b.prototype.toggle=function(){var a=this.$element.closest('[data-toggle="buttons"]');i
f(a.length){var b=this.$element.find("input").prop("checked",!this.$element.hasClass("active")).trigger("change");"radio"===b.prop("type")&&a.find(".active").removeClass("active")}this.$element.toggleClass("active")};var c=a.fn.button;a.fn.button=function(c){return this.each(function(){var d=a(this),e=d.data("bs.button"),f="object"==typeof c&&c;e||d.data("bs.button",e=new b(this,f)),"toggle"==c?e.toggle():c&&e.setState(c)})},a.fn.button.Constructor=b,a.fn.button.noConflict=function(){return a.fn.button=c,this},a(document).on("click.bs.button.data-api","[data-toggle^=button]",function(b){var c=a(b.target);c.hasClass("btn")||(c=c.closest(".btn")),c.button("toggle"),b.preventDefault()})}(jQuery),+function(a){"use strict";var b=function(b,c){this.$element=a(b),this.$indicators=this.$element.find(".carousel-indicators"),this.options=c,this.paused=this.sliding=this.interval=this.$active=this.$items=null,"hover"==this.options.pause&&this.$element.on("mouseenter",a.proxy(this.pause,this)).o
n("mouseleave",a.proxy(this.cycle,this))};b.DEFAULTS={interval:5e3,pause:"hover",wrap:!0},b.prototype.cycle=function(b){return b||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(a.proxy(this.next,this),this.options.interval)),this},b.prototype.getActiveIndex=function(){return this.$active=this.$element.find(".item.active"),this.$items=this.$active.parent().children(),this.$items.index(this.$active)},b.prototype.to=function(b){var c=this,d=this.getActiveIndex();return b>this.$items.length-1||0>b?void 0:this.sliding?this.$element.one("slid",function(){c.to(b)}):d==b?this.pause().cycle():this.slide(b>d?"next":"prev",a(this.$items[b]))},b.prototype.pause=function(b){return b||(this.paused=!0),this.$element.find(".next, .prev").length&&a.support.transition.end&&(this.$element.trigger(a.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},b.prototype.next=function(){return this
.sliding?void 0:this.slide("next")},b.prototype.prev=function(){return this.sliding?void 0:this.slide("prev")},b.prototype.slide=function(b,c){var d=this.$element.find(".item.active"),e=c||d[b](),f=this.interval,g="next"==b?"left":"right",h="next"==b?"first":"last",i=this;if(!e.length){if(!this.options.wrap)return;e=this.$element.find(".item")[h]()}this.sliding=!0,f&&this.pause();var j=a.Event("slide.bs.carousel",{relatedTarget:e[0],direction:g});if(!e.hasClass("active")){if(this.$indicators.length&&(this.$indicators.find(".active").removeClass("active"),this.$element.one("slid",function(){var b=a(i.$indicators.children()[i.getActiveIndex()]);b&&b.addClass("active")})),a.support.transition&&this.$element.hasClass("slide")){if(this.$element.trigger(j),j.isDefaultPrevented())return;e.addClass(b),e[0].offsetWidth,d.addClass(g),e.addClass(g),d.one(a.support.transition.end,function(){e.removeClass([b,g].join(" ")).addClass("active"),d.removeClass(["active",g].join(" ")),i.sliding=!1,setT
imeout(function(){i.$element.trigger("slid")},0)}).emulateTransitionEnd(600)}else{if(this.$element.trigger(j),j.isDefaultPrevented())return;d.removeClass("active"),e.addClass("active"),this.sliding=!1,this.$element.trigger("slid")}return f&&this.cycle(),this}};var c=a.fn.carousel;a.fn.carousel=function(c){return this.each(function(){var d=a(this),e=d.data("bs.carousel"),f=a.extend({},b.DEFAULTS,d.data(),"object"==typeof c&&c),g="string"==typeof c?c:f.slide;e||d.data("bs.carousel",e=new b(this,f)),"number"==typeof c?e.to(c):g?e[g]():f.interval&&e.pause().cycle()})},a.fn.carousel.Constructor=b,a.fn.carousel.noConflict=function(){return a.fn.carousel=c,this},a(document).on("click.bs.carousel.data-api","[data-slide], [data-slide-to]",function(b){var c,d=a(this),e=a(d.attr("data-target")||(c=d.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,"")),f=a.extend({},e.data(),d.data()),g=d.attr("data-slide-to");g&&(f.interval=!1),e.carousel(f),(g=d.attr("data-slide-to"))&&e.data("bs.carousel").to(g),b
.preventDefault()}),a(window).on("load",function(){a('[data-ride="carousel"]').each(function(){var b=a(this);b.carousel(b.data())})})}(jQuery),+function(a){"use strict";var b=function(c,d){this.$element=a(c),this.options=a.extend({},b.DEFAULTS,d),this.transitioning=null,this.options.parent&&(this.$parent=a(this.options.parent)),this.options.toggle&&this.toggle()};b.DEFAULTS={toggle:!0},b.prototype.dimension=function(){var a=this.$element.hasClass("width");return a?"width":"height"},b.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var b=a.Event("show.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.$parent&&this.$parent.find("> .panel > .in");if(c&&c.length){var d=c.data("bs.collapse");if(d&&d.transitioning)return;c.collapse("hide"),d||c.data("bs.collapse",null)}var e=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[e](0),this.transitioning=1;var f=function(){this.$element.removeClass("collaps
ing").addClass("in")[e]("auto"),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!a.support.transition)return f.call(this);var g=a.camelCase(["scroll",e].join("-"));this.$element.one(a.support.transition.end,a.proxy(f,this)).emulateTransitionEnd(350)[e](this.$element[0][g])}}},b.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var b=a.Event("hide.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.dimension();this.$element[c](this.$element[c]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse").removeClass("in"),this.transitioning=1;var d=function(){this.transitioning=0,this.$element.trigger("hidden.bs.collapse").removeClass("collapsing").addClass("collapse")};return a.support.transition?(this.$element[c](0).one(a.support.transition.end,a.proxy(d,this)).emulateTransitionEnd(350),void 0):d.call(this)}}},b.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()
};var c=a.fn.collapse;a.fn.collapse=function(c){return this.each(function(){var d=a(this),e=d.data("bs.collapse"),f=a.extend({},b.DEFAULTS,d.data(),"object"==typeof c&&c);e||d.data("bs.collapse",e=new b(this,f)),"string"==typeof c&&e[c]()})},a.fn.collapse.Constructor=b,a.fn.collapse.noConflict=function(){return a.fn.collapse=c,this},a(document).on("click.bs.collapse.data-api","[data-toggle=collapse]",function(b){var c,d=a(this),e=d.attr("data-target")||b.preventDefault()||(c=d.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,""),f=a(e),g=f.data("bs.collapse"),h=g?"toggle":d.data(),i=d.attr("data-parent"),j=i&&a(i);g&&g.transitioning||(j&&j.find('[data-toggle=collapse][data-parent="'+i+'"]').not(d).addClass("collapsed"),d[f.hasClass("in")?"addClass":"removeClass"]("collapsed")),f.collapse(h)})}(jQuery),+function(a){"use strict";function b(){a(d).remove(),a(e).each(function(b){var d=c(a(this));d.hasClass("open")&&(d.trigger(b=a.Event("hide.bs.dropdown")),b.isDefaultPrevented()||d.removeClass
("open").trigger("hidden.bs.dropdown"))})}function c(b){var c=b.attr("data-target");c||(c=b.attr("href"),c=c&&/#/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,""));var d=c&&a(c);return d&&d.length?d:b.parent()}var d=".dropdown-backdrop",e="[data-toggle=dropdown]",f=function(b){a(b).on("click.bs.dropdown",this.toggle)};f.prototype.toggle=function(d){var e=a(this);if(!e.is(".disabled, :disabled")){var f=c(e),g=f.hasClass("open");if(b(),!g){if("ontouchstart"in document.documentElement&&!f.closest(".navbar-nav").length&&a('<div class="dropdown-backdrop"/>').insertAfter(a(this)).on("click",b),f.trigger(d=a.Event("show.bs.dropdown")),d.isDefaultPrevented())return;f.toggleClass("open").trigger("shown.bs.dropdown"),e.focus()}return!1}},f.prototype.keydown=function(b){if(/(38|40|27)/.test(b.keyCode)){var d=a(this);if(b.preventDefault(),b.stopPropagation(),!d.is(".disabled, :disabled")){var f=c(d),g=f.hasClass("open");if(!g||g&&27==b.keyCode)return 27==b.which&&f.find(e).focus(),d.click();var h=a("[ro
le=menu] li:not(.divider):visible a",f);if(h.length){var i=h.index(h.filter(":focus"));38==b.keyCode&&i>0&&i--,40==b.keyCode&&i<h.length-1&&i++,~i||(i=0),h.eq(i).focus()}}}};var g=a.fn.dropdown;a.fn.dropdown=function(b){return this.each(function(){var c=a(this),d=c.data("dropdown");d||c.data("dropdown",d=new f(this)),"string"==typeof b&&d[b].call(c)})},a.fn.dropdown.Constructor=f,a.fn.dropdown.noConflict=function(){return a.fn.dropdown=g,this},a(document).on("click.bs.dropdown.data-api",b).on("click.bs.dropdown.data-api",".dropdown form",function(a){a.stopPropagation()}).on("click.bs.dropdown.data-api",e,f.prototype.toggle).on("keydown.bs.dropdown.data-api",e+", [role=menu]",f.prototype.keydown)}(jQuery),+function(a){"use strict";var b=function(b,c){this.options=c,this.$element=a(b),this.$backdrop=this.isShown=null,this.options.remote&&this.$element.load(this.options.remote)};b.DEFAULTS={backdrop:!0,keyboard:!0,show:!0},b.prototype.toggle=function(a){return this[this.isShown?"hide":
"show"](a)},b.prototype.show=function(b){var c=this,d=a.Event("show.bs.modal",{relatedTarget:b});this.$element.trigger(d),this.isShown||d.isDefaultPrevented()||(this.isShown=!0,this.escape(),this.$element.on("click.dismiss.modal",'[data-dismiss="modal"]',a.proxy(this.hide,this)),this.backdrop(function(){var d=a.support.transition&&c.$element.hasClass("fade");c.$element.parent().length||c.$element.appendTo(document.body),c.$element.show(),d&&c.$element[0].offsetWidth,c.$element.addClass("in").attr("aria-hidden",!1),c.enforceFocus();var e=a.Event("shown.bs.modal",{relatedTarget:b});d?c.$element.find(".modal-dialog").one(a.support.transition.end,function(){c.$element.focus().trigger(e)}).emulateTransitionEnd(300):c.$element.focus().trigger(e)}))},b.prototype.hide=function(b){b&&b.preventDefault(),b=a.Event("hide.bs.modal"),this.$element.trigger(b),this.isShown&&!b.isDefaultPrevented()&&(this.isShown=!1,this.escape(),a(document).off("focusin.bs.modal"),this.$element.removeClass("in").at
tr("aria-hidden",!0).off("click.dismiss.modal"),a.support.transition&&this.$element.hasClass("fade")?this.$element.one(a.support.transition.end,a.proxy(this.hideModal,this)).emulateTransitionEnd(300):this.hideModal())},b.prototype.enforceFocus=function(){a(document).off("focusin.bs.modal").on("focusin.bs.modal",a.proxy(function(a){this.$element[0]===a.target||this.$element.has(a.target).length||this.$element.focus()},this))},b.prototype.escape=function(){this.isShown&&this.options.keyboard?this.$element.on("keyup.dismiss.bs.modal",a.proxy(function(a){27==a.which&&this.hide()},this)):this.isShown||this.$element.off("keyup.dismiss.bs.modal")},b.prototype.hideModal=function(){var a=this;this.$element.hide(),this.backdrop(function(){a.removeBackdrop(),a.$element.trigger("hidden.bs.modal")})},b.prototype.removeBackdrop=function(){this.$backdrop&&this.$backdrop.remove(),this.$backdrop=null},b.prototype.backdrop=function(b){var c=this.$element.hasClass("fade")?"fade":"";if(this.isShown&&th
is.options.backdrop){var d=a.support.transition&&c;if(this.$backdrop=a('<div class="modal-backdrop '+c+'" />').appendTo(document.body),this.$element.on("click.dismiss.modal",a.proxy(function(a){a.target===a.currentTarget&&("static"==this.options.backdrop?this.$element[0].focus.call(this.$element[0]):this.hide.call(this))},this)),d&&this.$backdrop[0].offsetWidth,this.$backdrop.addClass("in"),!b)return;d?this.$backdrop.one(a.support.transition.end,b).emulateTransitionEnd(150):b()}else!this.isShown&&this.$backdrop?(this.$backdrop.removeClass("in"),a.support.transition&&this.$element.hasClass("fade")?this.$backdrop.one(a.support.transition.end,b).emulateTransitionEnd(150):b()):b&&b()};var c=a.fn.modal;a.fn.modal=function(c,d){return this.each(function(){var e=a(this),f=e.data("bs.modal"),g=a.extend({},b.DEFAULTS,e.data(),"object"==typeof c&&c);f||e.data("bs.modal",f=new b(this,g)),"string"==typeof c?f[c](d):g.show&&f.show(d)})},a.fn.modal.Constructor=b,a.fn.modal.noConflict=function(){r
eturn a.fn.modal=c,this},a(document).on("click.bs.modal.data-api",'[data-toggle="modal"]',function(b){var c=a(this),d=c.attr("href"),e=a(c.attr("data-target")||d&&d.replace(/.*(?=#[^\s]+$)/,"")),f=e.data("modal")?"toggle":a.extend({remote:!/#/.test(d)&&d},e.data(),c.data());b.preventDefault(),e.modal(f,this).one("hide",function(){c.is(":visible")&&c.focus()})}),a(document).on("show.bs.modal",".modal",function(){a(document.body).addClass("modal-open")}).on("hidden.bs.modal",".modal",function(){a(document.body).removeClass("modal-open")})}(jQuery),+function(a){"use strict";var b=function(a,b){this.type=this.options=this.enabled=this.timeout=this.hoverState=this.$element=null,this.init("tooltip",a,b)};b.DEFAULTS={animation:!0,placement:"top",selector:!1,template:'<div class="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,container:!1},b.prototype.init=function(b,c,d){this.enabled=!0,this.type=b,this.$ele
ment=a(c),this.options=this.getOptions(d);for(var e=this.options.trigger.split(" "),f=e.length;f--;){var g=e[f];if("click"==g)this.$element.on("click."+this.type,this.options.selector,a.proxy(this.toggle,this));else if("manual"!=g){var h="hover"==g?"mouseenter":"focus",i="hover"==g?"mouseleave":"blur";this.$element.on(h+"."+this.type,this.options.selector,a.proxy(this.enter,this)),this.$element.on(i+"."+this.type,this.options.selector,a.proxy(this.leave,this))}}this.options.selector?this._options=a.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},b.prototype.getDefaults=function(){return b.DEFAULTS},b.prototype.getOptions=function(b){return b=a.extend({},this.getDefaults(),this.$element.data(),b),b.delay&&"number"==typeof b.delay&&(b.delay={show:b.delay,hide:b.delay}),b},b.prototype.getDelegateOptions=function(){var b={},c=this.getDefaults();return this._options&&a.each(this._options,function(a,d){c[a]!=d&&(b[a]=d)}),b},b.prototype.enter=function(b){var c=b in
stanceof this.constructor?b:a(b.currentTarget)[this.type](this.getDelegateOptions()).data("bs."+this.type);return clearTimeout(c.timeout),c.hoverState="in",c.options.delay&&c.options.delay.show?(c.timeout=setTimeout(function(){"in"==c.hoverState&&c.show()},c.options.delay.show),void 0):c.show()},b.prototype.leave=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget)[this.type](this.getDelegateOptions()).data("bs."+this.type);return clearTimeout(c.timeout),c.hoverState="out",c.options.delay&&c.options.delay.hide?(c.timeout=setTimeout(function(){"out"==c.hoverState&&c.hide()},c.options.delay.hide),void 0):c.hide()},b.prototype.show=function(){var b=a.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){if(this.$element.trigger(b),b.isDefaultPrevented())return;var c=this.tip();this.setContent(),this.options.animation&&c.addClass("fade");var d="function"==typeof this.options.placement?this.options.placement.call(this,c[0],this.$element[0]):this.options.placemen
t,e=/\s?auto?\s?/i,f=e.test(d);f&&(d=d.replace(e,"")||"top"),c.detach().css({top:0,left:0,display:"block"}).addClass(d),this.options.container?c.appendTo(this.options.container):c.insertAfter(this.$element);var g=this.getPosition(),h=c[0].offsetWidth,i=c[0].offsetHeight;if(f){var j=this.$element.parent(),k=d,l=document.documentElement.scrollTop||document.body.scrollTop,m="body"==this.options.container?window.innerWidth:j.outerWidth(),n="body"==this.options.container?window.innerHeight:j.outerHeight(),o="body"==this.options.container?0:j.offset().left;d="bottom"==d&&g.top+g.height+i-l>n?"top":"top"==d&&g.top-l-i<0?"bottom":"right"==d&&g.right+h>m?"left":"left"==d&&g.left-h<o?"right":d,c.removeClass(k).addClass(d)}var p=this.getCalculatedOffset(d,g,h,i);this.applyPlacement(p,d),this.$element.trigger("shown.bs."+this.type)}},b.prototype.applyPlacement=function(a,b){var c,d=this.tip(),e=d[0].offsetWidth,f=d[0].offsetHeight,g=parseInt(d.css("margin-top"),10),h=parseInt(d.css("margin-left
"),10);isNaN(g)&&(g=0),isNaN(h)&&(h=0),a.top=a.top+g,a.left=a.left+h,d.offset(a).addClass("in");var i=d[0].offsetWidth,j=d[0].offsetHeight;if("top"==b&&j!=f&&(c=!0,a.top=a.top+f-j),/bottom|top/.test(b)){var k=0;a.left<0&&(k=-2*a.left,a.left=0,d.offset(a),i=d[0].offsetWidth,j=d[0].offsetHeight),this.replaceArrow(k-e+i,i,"left")}else this.replaceArrow(j-f,j,"top");c&&d.offset(a)},b.prototype.replaceArrow=function(a,b,c){this.arrow().css(c,a?50*(1-a/b)+"%":"")},b.prototype.setContent=function(){var a=this.tip(),b=this.getTitle();a.find(".tooltip-inner")[this.options.html?"html":"text"](b),a.removeClass("fade in top bottom left right")},b.prototype.hide=function(){function b(){"in"!=c.hoverState&&d.detach()}var c=this,d=this.tip(),e=a.Event("hide.bs."+this.type);return this.$element.trigger(e),e.isDefaultPrevented()?void 0:(d.removeClass("in"),a.support.transition&&this.$tip.hasClass("fade")?d.one(a.support.transition.end,b).emulateTransitionEnd(150):b(),this.$element.trigger("hidden.bs
."+this.type),this)},b.prototype.fixTitle=function(){var a=this.$element;(a.attr("title")||"string"!=typeof a.attr("data-original-title"))&&a.attr("data-original-title",a.attr("title")||"").attr("title","")},b.prototype.hasContent=function(){return this.getTitle()},b.prototype.getPosition=function(){var b=this.$element[0];return a.extend({},"function"==typeof b.getBoundingClientRect?b.getBoundingClientRect():{width:b.offsetWidth,height:b.offsetHeight},this.$element.offset())},b.prototype.getCalculatedOffset=function(a,b,c,d){return"bottom"==a?{top:b.top+b.height,left:b.left+b.width/2-c/2}:"top"==a?{top:b.top-d,left:b.left+b.width/2-c/2}:"left"==a?{top:b.top+b.height/2-d/2,left:b.left-c}:{top:b.top+b.height/2-d/2,left:b.left+b.width}},b.prototype.getTitle=function(){var a,b=this.$element,c=this.options;return a=b.attr("data-original-title")||("function"==typeof c.title?c.title.call(b[0]):c.title)},b.prototype.tip=function(){return this.$tip=this.$tip||a(this.options.template)},b.prot
otype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},b.prototype.validate=function(){this.$element[0].parentNode||(this.hide(),this.$element=null,this.options=null)},b.prototype.enable=function(){this.enabled=!0},b.prototype.disable=function(){this.enabled=!1},b.prototype.toggleEnabled=function(){this.enabled=!this.enabled},b.prototype.toggle=function(b){var c=b?a(b.currentTarget)[this.type](this.getDelegateOptions()).data("bs."+this.type):this;c.tip().hasClass("in")?c.leave(c):c.enter(c)},b.prototype.destroy=function(){this.hide().$element.off("."+this.type).removeData("bs."+this.type)};var c=a.fn.tooltip;a.fn.tooltip=function(c){return this.each(function(){var d=a(this),e=d.data("bs.tooltip"),f="object"==typeof c&&c;e||d.data("bs.tooltip",e=new b(this,f)),"string"==typeof c&&e[c]()})},a.fn.tooltip.Constructor=b,a.fn.tooltip.noConflict=function(){return a.fn.tooltip=c,this}}(jQuery),+function(a){"use strict";var b=function(a,b){this.init("popove
r",a,b)};if(!a.fn.tooltip)throw new Error("Popover requires tooltip.js");b.DEFAULTS=a.extend({},a.fn.tooltip.Constructor.DEFAULTS,{placement:"right",trigger:"click",content:"",template:'<div class="popover"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'}),b.prototype=a.extend({},a.fn.tooltip.Constructor.prototype),b.prototype.constructor=b,b.prototype.getDefaults=function(){return b.DEFAULTS},b.prototype.setContent=function(){var a=this.tip(),b=this.getTitle(),c=this.getContent();a.find(".popover-title")[this.options.html?"html":"text"](b),a.find(".popover-content")[this.options.html?"html":"text"](c),a.removeClass("fade top bottom left right in"),a.find(".popover-title").html()||a.find(".popover-title").hide()},b.prototype.hasContent=function(){return this.getTitle()||this.getContent()},b.prototype.getContent=function(){var a=this.$element,b=this.options;return a.attr("data-content")||("function"==typeof b.content?b.content.call(a
[0]):b.content)},b.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")},b.prototype.tip=function(){return this.$tip||(this.$tip=a(this.options.template)),this.$tip};var c=a.fn.popover;a.fn.popover=function(c){return this.each(function(){var d=a(this),e=d.data("bs.popover"),f="object"==typeof c&&c;e||d.data("bs.popover",e=new b(this,f)),"string"==typeof c&&e[c]()})},a.fn.popover.Constructor=b,a.fn.popover.noConflict=function(){return a.fn.popover=c,this}}(jQuery),+function(a){"use strict";function b(c,d){var e,f=a.proxy(this.process,this);this.$element=a(c).is("body")?a(window):a(c),this.$body=a("body"),this.$scrollElement=this.$element.on("scroll.bs.scroll-spy.data-api",f),this.options=a.extend({},b.DEFAULTS,d),this.selector=(this.options.target||(e=a(c).attr("href"))&&e.replace(/.*(?=#[^\s]+$)/,"")||"")+" .nav li > a",this.offsets=a([]),this.targets=a([]),this.activeTarget=null,this.refresh(),this.process()}b.DEFAULTS={offset:10},b.prototype.refresh
=function(){var b=this.$element[0]==window?"offset":"position";this.offsets=a([]),this.targets=a([]);var c=this;this.$body.find(this.selector).map(function(){var d=a(this),e=d.data("target")||d.attr("href"),f=/^#\w/.test(e)&&a(e);return f&&f.length&&[[f[b]().top+(!a.isWindow(c.$scrollElement.get(0))&&c.$scrollElement.scrollTop()),e]]||null}).sort(function(a,b){return a[0]-b[0]}).each(function(){c.offsets.push(this[0]),c.targets.push(this[1])})},b.prototype.process=function(){var a,b=this.$scrollElement.scrollTop()+this.options.offset,c=this.$scrollElement[0].scrollHeight||this.$body[0].scrollHeight,d=c-this.$scrollElement.height(),e=this.offsets,f=this.targets,g=this.activeTarget;if(b>=d)return g!=(a=f.last()[0])&&this.activate(a);for(a=e.length;a--;)g!=f[a]&&b>=e[a]&&(!e[a+1]||b<=e[a+1])&&this.activate(f[a])},b.prototype.activate=function(b){this.activeTarget=b,a(this.selector).parents(".active").removeClass("active");var c=this.selector+'[data-target="'+b+'"],'+this.selector+'[hre
f="'+b+'"]',d=a(c).parents("li").addClass("active");d.parent(".dropdown-menu").length&&(d=d.closest("li.dropdown").addClass("active")),d.trigger("activate")};var c=a.fn.scrollspy;a.fn.scrollspy=function(c){return this.each(function(){var d=a(this),e=d.data("bs.scrollspy"),f="object"==typeof c&&c;e||d.data("bs.scrollspy",e=new b(this,f)),"string"==typeof c&&e[c]()})},a.fn.scrollspy.Constructor=b,a.fn.scrollspy.noConflict=function(){return a.fn.scrollspy=c,this},a(window).on("load",function(){a('[data-spy="scroll"]').each(function(){var b=a(this);b.scrollspy(b.data())})})}(jQuery),+function(a){"use strict";var b=function(b){this.element=a(b)};b.prototype.show=function(){var b=this.element,c=b.closest("ul:not(.dropdown-menu)"),d=b.data("target");if(d||(d=b.attr("href"),d=d&&d.replace(/.*(?=#[^\s]*$)/,"")),!b.parent("li").hasClass("active")){var e=c.find(".active:last a")[0],f=a.Event("show.bs.tab",{relatedTarget:e});if(b.trigger(f),!f.isDefaultPrevented()){var g=a(d);this.activate(b.pa
rent("li"),c),this.activate(g,g.parent(),function(){b.trigger({type:"shown.bs.tab",relatedTarget:e})})}}},b.prototype.activate=function(b,c,d){function e(){f.removeClass("active").find("> .dropdown-menu > .active").removeClass("active"),b.addClass("active"),g?(b[0].offsetWidth,b.addClass("in")):b.removeClass("fade"),b.parent(".dropdown-menu")&&b.closest("li.dropdown").addClass("active"),d&&d()}var f=c.find("> .active"),g=d&&a.support.transition&&f.hasClass("fade");g?f.one(a.support.transition.end,e).emulateTransitionEnd(150):e(),f.removeClass("in")};var c=a.fn.tab;a.fn.tab=function(c){return this.each(function(){var d=a(this),e=d.data("bs.tab");e||d.data("bs.tab",e=new b(this)),"string"==typeof c&&e[c]()})},a.fn.tab.Constructor=b,a.fn.tab.noConflict=function(){return a.fn.tab=c,this},a(document).on("click.bs.tab.data-api",'[data-toggle="tab"], [data-toggle="pill"]',function(b){b.preventDefault(),a(this).tab("show")})}(jQuery),+function(a){"use strict";var b=function(c,d){this.option
s=a.extend({},b.DEFAULTS,d),this.$window=a(window).on("scroll.bs.affix.data-api",a.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",a.proxy(this.checkPositionWithEventLoop,this)),this.$element=a(c),this.affixed=this.unpin=null,this.checkPosition()};b.RESET="affix affix-top affix-bottom",b.DEFAULTS={offset:0},b.prototype.checkPositionWithEventLoop=function(){setTimeout(a.proxy(this.checkPosition,this),1)},b.prototype.checkPosition=function(){if(this.$element.is(":visible")){var c=a(document).height(),d=this.$window.scrollTop(),e=this.$element.offset(),f=this.options.offset,g=f.top,h=f.bottom;"object"!=typeof f&&(h=g=f),"function"==typeof g&&(g=f.top()),"function"==typeof h&&(h=f.bottom());var i=null!=this.unpin&&d+this.unpin<=e.top?!1:null!=h&&e.top+this.$element.height()>=c-h?"bottom":null!=g&&g>=d?"top":!1;this.affixed!==i&&(this.unpin&&this.$element.css("top",""),this.affixed=i,this.unpin="bottom"==i?e.top-d:null,this.$element.removeClass(b.RESET).addClass("affix"+(i?"
-"+i:"")),"bottom"==i&&this.$element.offset({top:document.body.offsetHeight-h-this.$element.height()}))}};var c=a.fn.affix;a.fn.affix=function(c){return this.each(function(){var d=a(this),e=d.data("bs.affix"),f="object"==typeof c&&c;e||d.data("bs.affix",e=new b(this,f)),"string"==typeof c&&e[c]()})},a.fn.affix.Constructor=b,a.fn.affix.noConflict=function(){return a.fn.affix=c,this},a(window).on("load",function(){a('[data-spy="affix"]').each(function(){var b=a(this),c=b.data();c.offset=c.offset||{},c.offsetBottom&&(c.offset.bottom=c.offsetBottom),c.offsetTop&&(c.offset.top=c.offsetTop),b.affix(c)})})}(jQuery);
\ No newline at end of file
a***@apache.org
2017-12-21 04:52:57 UTC
Permalink
http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/docs/algorithms/linear-algebra/d-spca.md
----------------------------------------------------------------------
diff --git a/website-old/docs/algorithms/linear-algebra/d-spca.md b/website-old/docs/algorithms/linear-algebra/d-spca.md
deleted file mode 100644
index d2bd3da..0000000
--- a/website-old/docs/algorithms/linear-algebra/d-spca.md
+++ /dev/null
@@ -1,175 +0,0 @@
----
-layout: algorithm
-
-title: Distributed Stochastic PCA
-theme:
- name: retro-mahout
----
-
-
-## Intro
-
-Mahout has a distributed implementation of Stochastic PCA[1]. This algorithm computes the exact equivalent of Mahout's dssvd(`\(\mathbf{A-1\mu^\top}\)`) by modifying the `dssvd` algorithm so as to avoid forming `\(\mathbf{A-1\mu^\top}\)`, which would densify a sparse input. Thus, it is suitable for work with both dense and sparse inputs.
-
-## Algorithm
-
-Given an *m* `\(\times\)` *n* matrix `\(\mathbf{A}\)`, a target rank *k*, and an oversampling parameter *p*, this procedure computes a *k*-rank PCA by finding the unknowns in `\(\mathbf{A−1\mu^\top \approx U\Sigma V^\top}\)`:
-
-1. Create seed for random *n* `\(\times\)` *(k+p)* matrix `\(\Omega\)`.
-2. `\(\mathbf{s_\Omega \leftarrow \Omega^\top \mu}\)`.
-3. `\(\mathbf{Y_0 \leftarrow A\Omega − 1 {s_\Omega}^\top, Y \in \mathbb{R}^{m\times(k+p)}}\)`.
-4. Column-orthonormalize `\(\mathbf{Y_0} \rightarrow \mathbf{Q}\)` by computing thin decomposition `\(\mathbf{Y_0} = \mathbf{QR}\)`. Also, `\(\mathbf{Q}\in\mathbb{R}^{m\times(k+p)}, \mathbf{R}\in\mathbb{R}^{(k+p)\times(k+p)}\)`.
-5. `\(\mathbf{s_Q \leftarrow Q^\top 1}\)`.
-6. `\(\mathbf{B_0 \leftarrow Q^\top A: B \in \mathbb{R}^{(k+p)\times n}}\)`.
-7. `\(\mathbf{s_B \leftarrow {B_0}^\top \mu}\)`.
-8. For *i* in 1..*q* repeat (power iterations):
- - For *j* in 1..*n* apply `\(\mathbf{(B_{i−1})_{∗j} \leftarrow (B_{i−1})_{∗j}−\mu_j s_Q}\)`.
- - `\(\mathbf{Y_i \leftarrow A{B_{i−1}}^\top−1(s_B−\mu^\top \mu s_Q)^\top}\)`.
- - Column-orthonormalize `\(\mathbf{Y_i} \rightarrow \mathbf{Q}\)` by computing thin decomposition `\(\mathbf{Y_i = QR}\)`.
- - `\(\mathbf{s_Q \leftarrow Q^\top 1}\)`.
- - `\(\mathbf{B_i \leftarrow Q^\top A}\)`.
- - `\(\mathbf{s_B \leftarrow {B_i}^\top \mu}\)`.
-9. Let `\(\mathbf{C \triangleq s_Q {s_B}^\top}\)`. `\(\mathbf{M \leftarrow B_q {B_q}^\top − C − C^\top + \mu^\top \mu s_Q {s_Q}^\top}\)`.
-10. Compute an eigensolution of the small symmetric `\(\mathbf{M = \hat{U} \Lambda \hat{U}^\top: M \in \mathbb{R}^{(k+p)\times(k+p)}}\)`.
-11. The singular values `\(\Sigma = \Lambda^{\circ 0.5}\)`, or, in other words, `\(\mathbf{\sigma_i= \sqrt{\lambda_i}}\)`.
-12. If needed, compute `\(\mathbf{U = Q\hat{U}}\)`.
-13. If needed, compute `\(\mathbf{V = B^\top \hat{U} \Sigma^{−1}}\)`.
-14. If needed, items converted to the PCA space can be computed as `\(\mathbf{U\Sigma}\)`.
-
-## Implementation
-
-Mahout `dspca(...)` is implemented in the mahout `math-scala` algebraic optimizer which translates Mahout's R-like linear algebra operators into a physical plan for both Spark and H2O distributed engines.
-
- def dspca[K](drmA: DrmLike[K], k: Int, p: Int = 15, q: Int = 0):
- (DrmLike[K], DrmLike[Int], Vector) = {
-
- // Some mapBlock() calls need it
- implicit val ktag = drmA.keyClassTag
-
- val drmAcp = drmA.checkpoint()
- implicit val ctx = drmAcp.context
-
- val m = drmAcp.nrow
- val n = drmAcp.ncol
- assert(k <= (m min n), "k cannot be greater than smaller of m, n.")
- val pfxed = safeToNonNegInt((m min n) - k min p)
-
- // Actual decomposition rank
- val r = k + pfxed
-
- // Dataset mean
- val mu = drmAcp.colMeans
-
- val mtm = mu dot mu
-
- // We represent Omega by its seed.
- val omegaSeed = RandomUtils.getRandom().nextInt()
- val omega = Matrices.symmetricUniformView(n, r, omegaSeed)
-
- // This done in front in a single-threaded fashion for now. Even though it doesn't require any
- // memory beyond that is required to keep xi around, it still might be parallelized to backs
- // for significantly big n and r. TODO
- val s_o = omega.t %*% mu
-
- val bcastS_o = drmBroadcast(s_o)
- val bcastMu = drmBroadcast(mu)
-
- var drmY = drmAcp.mapBlock(ncol = r) {
- case (keys, blockA) ⇒
- val s_o:Vector = bcastS_o
- val blockY = blockA %*% Matrices.symmetricUniformView(n, r, omegaSeed)
- for (row ← 0 until blockY.nrow) blockY(row, ::) -= s_o
- keys → blockY
- }
- // Checkpoint Y
- .checkpoint()
-
- var drmQ = dqrThin(drmY, checkRankDeficiency = false)._1.checkpoint()
-
- var s_q = drmQ.colSums()
- var bcastVarS_q = drmBroadcast(s_q)
-
- // This actually should be optimized as identically partitioned map-side A'B since A and Q should
- // still be identically partitioned.
- var drmBt = (drmAcp.t %*% drmQ).checkpoint()
-
- var s_b = (drmBt.t %*% mu).collect(::, 0)
- var bcastVarS_b = drmBroadcast(s_b)
-
- for (i ← 0 until q) {
-
- // These closures don't seem to live well with outside-scope vars. This doesn't record closure
- // attributes correctly. So we create additional set of vals for broadcast vars to properly
- // create readonly closure attributes in this very scope.
- val bcastS_q = bcastVarS_q
- val bcastMuInner = bcastMu
-
- // Fix Bt as B' -= xi cross s_q
- drmBt = drmBt.mapBlock() {
- case (keys, block) ⇒
- val s_q: Vector = bcastS_q
- val mu: Vector = bcastMuInner
- keys.zipWithIndex.foreach {
- case (key, idx) ⇒ block(idx, ::) -= s_q * mu(key)
- }
- keys → block
- }
-
- drmY.uncache()
- drmQ.uncache()
-
- val bCastSt_b = drmBroadcast(s_b -=: mtm * s_q)
-
- drmY = (drmAcp %*% drmBt)
- // Fix Y by subtracting st_b from each row of the AB'
- .mapBlock() {
- case (keys, block) ⇒
- val st_b: Vector = bCastSt_b
- block := { (_, c, v) ⇒ v - st_b(c) }
- keys → block
- }
- // Checkpoint Y
- .checkpoint()
-
- drmQ = dqrThin(drmY, checkRankDeficiency = false)._1.checkpoint()
-
- s_q = drmQ.colSums()
- bcastVarS_q = drmBroadcast(s_q)
-
- // This on the other hand should be inner-join-and-map A'B optimization since A and Q_i are not
- // identically partitioned anymore.
- drmBt = (drmAcp.t %*% drmQ).checkpoint()
-
- s_b = (drmBt.t %*% mu).collect(::, 0)
- bcastVarS_b = drmBroadcast(s_b)
- }
-
- val c = s_q cross s_b
- val inCoreBBt = (drmBt.t %*% drmBt).checkpoint(CacheHint.NONE).collect -=:
- c -=: c.t +=: mtm *=: (s_q cross s_q)
- val (inCoreUHat, d) = eigen(inCoreBBt)
- val s = d.sqrt
-
- // Since neither drmU nor drmV are actually computed until actually used, we don't need the flags
- // instructing compute (or not compute) either of the U,V outputs anymore. Neat, isn't it?
- val drmU = drmQ %*% inCoreUHat
- val drmV = drmBt %*% (inCoreUHat %*% diagv(1 / s))
-
- (drmU(::, 0 until k), drmV(::, 0 until k), s(0 until k))
- }
-
-## Usage
-
-The scala `dspca(...)` method can easily be called in any Spark, Flink, or H2O application built with the `math-scala` library and the corresponding `Spark`, `Flink`, or `H2O` engine module as follows:
-
- import org.apache.mahout.math._
- import decompositions._
- import drm._
-
- val (drmU, drmV, s) = dspca(drmA, k=200, q=1)
-
-Note the parameter is optional and its default value is zero.
-
-## References
-
-[1]: Lyubimov and Palumbo, ["Apache Mahout: Beyond MapReduce; Distributed Algorithm Design"](https://www.amazon.com/Apache-Mahout-MapReduce-Dmitriy-Lyubimov/dp/1523775785)

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/docs/algorithms/linear-algebra/d-ssvd.md
----------------------------------------------------------------------
diff --git a/website-old/docs/algorithms/linear-algebra/d-ssvd.md b/website-old/docs/algorithms/linear-algebra/d-ssvd.md
deleted file mode 100644
index 7a31e4d..0000000
--- a/website-old/docs/algorithms/linear-algebra/d-ssvd.md
+++ /dev/null
@@ -1,140 +0,0 @@
----
-layout: algorithm
-title: Distributed Stochastic Singular Value Decomposition
-theme:
- name: retro-mahout
----
-
-## Intro
-
-Mahout has a distributed implementation of Stochastic Singular Value Decomposition [1] using the parallelization strategy comprehensively defined in Nathan Halko's dissertation ["Randomized methods for computing low-rank approximations of matrices"](http://amath.colorado.edu/faculty/martinss/Pubs/2012_halko_dissertation.pdf) [2].
-
-## Modified SSVD Algorithm
-
-Given an `\(m\times n\)`
-matrix `\(\mathbf{A}\)`, a target rank `\(k\in\mathbb{N}_{1}\)`
-, an oversampling parameter `\(p\in\mathbb{N}_{1}\)`,
-and the number of additional power iterations `\(q\in\mathbb{N}_{0}\)`,
-this procedure computes an `\(m\times\left(k+p\right)\)`
-SVD `\(\mathbf{A\approx U}\boldsymbol{\Sigma}\mathbf{V}^{\top}\)`:
-
- 1. Create seed for random `\(n\times\left(k+p\right)\)`
- matrix `\(\boldsymbol{\Omega}\)`. The seed defines matrix `\(\mathbf{\Omega}\)`
- using Gaussian unit vectors per one of suggestions in [Halko, Martinsson, Tropp].
-
- 2. `\(\mathbf{Y=A\boldsymbol{\Omega}},\,\mathbf{Y}\in\mathbb{R}^{m\times\left(k+p\right)}\)`
-
- 3. Column-orthonormalize `\(\mathbf{Y}\rightarrow\mathbf{Q}\)`
- by computing thin decomposition `\(\mathbf{Y}=\mathbf{Q}\mathbf{R}\)`.
- Also, `\(\mathbf{Q}\in\mathbb{R}^{m\times\left(k+p\right)},\,\mathbf{R}\in\mathbb{R}^{\left(k+p\right)\times\left(k+p\right)}\)`; denoted as `\(\mathbf{Q}=\mbox{qr}\left(\mathbf{Y}\right).\mathbf{Q}\)`
-
- 4. `\(\mathbf{B}_{0}=\mathbf{Q}^{\top}\mathbf{A}:\,\,\mathbf{B}\in\mathbb{R}^{\left(k+p\right)\times n}\)`.
-
- 5. If `\(q>0\)`
- repeat: for `\(i=1..q\)`:
- `\(\mathbf{B}_{i}^{\top}=\mathbf{A}^{\top}\mbox{qr}\left(\mathbf{A}\mathbf{B}_{i-1}^{\top}\right).\mathbf{Q}\)`
- (power iterations step).
-
- 6. Compute Eigensolution of a small Hermitian `\(\mathbf{B}_{q}\mathbf{B}_{q}^{\top}=\mathbf{\hat{U}}\boldsymbol{\Lambda}\mathbf{\hat{U}}^{\top}\)`,
- `\(\mathbf{B}_{q}\mathbf{B}_{q}^{\top}\in\mathbb{R}^{\left(k+p\right)\times\left(k+p\right)}\)`.
-
- 7. Singular values `\(\mathbf{\boldsymbol{\Sigma}}=\boldsymbol{\Lambda}^{0.5}\)`,
- or, in other words, `\(s_{i}=\sqrt{\sigma_{i}}\)`.
-
- 8. If needed, compute `\(\mathbf{U}=\mathbf{Q}\hat{\mathbf{U}}\)`.
-
- 9. If needed, compute `\(\mathbf{V}=\mathbf{B}_{q}^{\top}\hat{\mathbf{U}}\boldsymbol{\Sigma}^{-1}\)`.
-Another way is `\(\mathbf{V}=\mathbf{A}^{\top}\mathbf{U}\boldsymbol{\Sigma}^{-1}\)`.
-
-
-
-
-## Implementation
-
-Mahout `dssvd(...)` is implemented in the mahout `math-scala` algebraic optimizer which translates Mahout's R-like linear algebra operators into a physical plan for both Spark and H2O distributed engines.
-
- def dssvd[K: ClassTag](drmA: DrmLike[K], k: Int, p: Int = 15, q: Int = 0):
- (DrmLike[K], DrmLike[Int], Vector) = {
-
- val drmAcp = drmA.checkpoint()
-
- val m = drmAcp.nrow
- val n = drmAcp.ncol
- assert(k <= (m min n), "k cannot be greater than smaller of m, n.")
- val pfxed = safeToNonNegInt((m min n) - k min p)
-
- // Actual decomposition rank
- val r = k + pfxed
-
- // We represent Omega by its seed.
- val omegaSeed = RandomUtils.getRandom().nextInt()
-
- // Compute Y = A*Omega.
- var drmY = drmAcp.mapBlock(ncol = r) {
- case (keys, blockA) =>
- val blockY = blockA %*% Matrices.symmetricUniformView(n, r, omegaSeed)
- keys -> blockY
- }
-
- var drmQ = dqrThin(drmY.checkpoint())._1
-
- // Checkpoint Q if last iteration
- if (q == 0) drmQ = drmQ.checkpoint()
-
- var drmBt = drmAcp.t %*% drmQ
-
- // Checkpoint B' if last iteration
- if (q == 0) drmBt = drmBt.checkpoint()
-
- for (i <- 0 until q) {
- drmY = drmAcp %*% drmBt
- drmQ = dqrThin(drmY.checkpoint())._1
-
- // Checkpoint Q if last iteration
- if (i == q - 1) drmQ = drmQ.checkpoint()
-
- drmBt = drmAcp.t %*% drmQ
-
- // Checkpoint B' if last iteration
- if (i == q - 1) drmBt = drmBt.checkpoint()
- }
-
- val (inCoreUHat, d) = eigen(drmBt.t %*% drmBt)
- val s = d.sqrt
-
- // Since neither drmU nor drmV are actually computed until actually used
- // we don't need the flags instructing compute (or not compute) either of the U,V outputs
- val drmU = drmQ %*% inCoreUHat
- val drmV = drmBt %*% (inCoreUHat %*%: diagv(1 /: s))
-
- (drmU(::, 0 until k), drmV(::, 0 until k), s(0 until k))
- }
-
-Note: As a side effect of checkpointing, U and V values are returned as logical operators (i.e. they are neither checkpointed nor computed). Therefore there is no physical work actually done to compute `\(\mathbf{U}\)` or `\(\mathbf{V}\)` until they are used in a subsequent expression.
-
-
-## Usage
-
-The scala `dssvd(...)` method can easily be called in any Spark or H2O application built with the `math-scala` library and the corresponding `Spark` or `H2O` engine module as follows:
-
- import org.apache.mahout.math._
- import decompositions._
- import drm._
-
-
- val(drmU, drmV, s) = dssvd(drma, k = 40, q = 1)
-
-
-## References
-
-[1]: [Mahout Scala and Mahout Spark Bindings for Linear Algebra Subroutines](http://mahout.apache.org/users/sparkbindings/ScalaSparkBindings.pdf)
-
-[2]: [Randomized methods for computing low-rank
-approximations of matrices](http://amath.colorado.edu/faculty/martinss/Pubs/2012_halko_dissertation.pdf)
-
-[2]: [Halko, Martinsson, Tropp](http://arxiv.org/abs/0909.4061)
-
-[3]: [Mahout Spark and Scala Bindings](http://mahout.apache.org/users/sparkbindings/home.html)
-
-
-

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/docs/algorithms/linear-algebra/index.md
----------------------------------------------------------------------
diff --git a/website-old/docs/algorithms/linear-algebra/index.md b/website-old/docs/algorithms/linear-algebra/index.md
deleted file mode 100644
index e42978a..0000000
--- a/website-old/docs/algorithms/linear-algebra/index.md
+++ /dev/null
@@ -1,16 +0,0 @@
----
-layout: algorithm
-
-title: Distributed Linear Algebra
-theme:
- name: retro-mahout
----
-
-Mahout has a number of distributed linear algebra "algorithms" that, in concert with the mathematically expressive R-Like Scala DSL, make it possible for users to quickly "roll their own" distributed algorithms.
-
-[Distributed QR Decomposition](d-qr.html)
-
-[Distributed Stochastic Principal Component Analysis](d-spca.html)
-
-[Distributed Stochastic Singular Value Decomposition](d-ssvd.html)
-

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/docs/algorithms/map-reduce/classification/bayesian.md
----------------------------------------------------------------------
diff --git a/website-old/docs/algorithms/map-reduce/classification/bayesian.md b/website-old/docs/algorithms/map-reduce/classification/bayesian.md
deleted file mode 100644
index 5fd5f92..0000000
--- a/website-old/docs/algorithms/map-reduce/classification/bayesian.md
+++ /dev/null
@@ -1,147 +0,0 @@
----
-layout: algorithm
-title: (Deprecated)
-theme:
- name: retro-mahout
----
-
-# Naive Bayes
-
-
-## Intro
-
-Mahout currently has two Naive Bayes Map-Reduce implementations. The first is standard Multinomial Naive Bayes. The second is an implementation of Transformed Weight-normalized Complement Naive Bayes as introduced by Rennie et al. [[1]](http://people.csail.mit.edu/jrennie/papers/icml03-nb.pdf). We refer to the former as Bayes and the latter as CBayes.
-
-Where Bayes has long been a standard in text classification, CBayes is an extension of Bayes that performs particularly well on datasets with skewed classes and has been shown to be competitive with algorithms of higher complexity such as Support Vector Machines.
-
-
-## Implementations
-Both Bayes and CBayes are currently trained via MapReduce Jobs. Testing and classification can be done via a MapReduce Job or sequentially. Mahout provides CLI drivers for preprocessing, training and testing. A Spark implementation is currently in the works ([MAHOUT-1493](https://issues.apache.org/jira/browse/MAHOUT-1493)).
-
-## Preprocessing and Algorithm
-
-As described in [[1]](http://people.csail.mit.edu/jrennie/papers/icml03-nb.pdf) Mahout Naive Bayes is broken down into the following steps (assignments are over all possible index values):
-
-- Let `\(\vec{d}=(\vec{d_1},...,\vec{d_n})\)` be a set of documents; `\(d_{ij}\)` is the count of word `\(i\)` in document `\(j\)`.
-- Let `\(\vec{y}=(y_1,...,y_n)\)` be their labels.
-- Let `\(\alpha_i\)` be a smoothing parameter for all words in the vocabulary; let `\(\alpha=\sum_i{\alpha_i}\)`.
-- **Preprocessing**(via seq2Sparse) TF-IDF transformation and L2 length normalization of `\(\vec{d}\)`
- 1. `\(d_{ij} = \sqrt{d_{ij}}\)`
- 2. `\(d_{ij} = d_{ij}\left(\log{\frac{\sum_k1}{\sum_k\delta_{ik}+1}}+1\right)\)`
- 3. `\(d_{ij} =\frac{d_{ij}}{\sqrt{\sum_k{d_{kj}^2}}}\)`
-- **Training: Bayes**`\((\vec{d},\vec{y})\)` calculate term weights `\(w_{ci}\)` as:
- 1. `\(\hat\theta_{ci}=\frac{d_{ic}+\alpha_i}{\sum_k{d_{kc}}+\alpha}\)`
- 2. `\(w_{ci}=\log{\hat\theta_{ci}}\)`
-- **Training: CBayes**`\((\vec{d},\vec{y})\)` calculate term weights `\(w_{ci}\)` as:
- 1. `\(\hat\theta_{ci} = \frac{\sum_{j:y_j\neq c}d_{ij}+\alpha_i}{\sum_{j:y_j\neq c}{\sum_k{d_{kj}}}+\alpha}\)`
- 2. `\(w_{ci}=-\log{\hat\theta_{ci}}\)`
- 3. `\(w_{ci}=\frac{w_{ci}}{\sum_i \lvert w_{ci}\rvert}\)`
-- **Label Assignment/Testing:**
- 1. Let `\(\vec{t}= (t_1,...,t_n)\)` be a test document; let `\(t_i\)` be the count of the word `\(t\)`.
- 2. Label the document according to `\(l(t)=\arg\max_c \sum\limits_{i} t_i w_{ci}\)`
-
-As we can see, the main difference between Bayes and CBayes is the weight calculation step. Where Bayes weighs terms more heavily based on the likelihood that they belong to class `\(c\)`, CBayes seeks to maximize term weights on the likelihood that they do not belong to any other class.
-
-## Running from the command line
-
-Mahout provides CLI drivers for all above steps. Here we will give a simple overview of Mahout CLI commands used to preprocess the data, train the model and assign labels to the training set. An [example script](https://github.com/apache/mahout/blob/master/examples/bin/classify-20newsgroups.sh) is given for the full process from data acquisition through classification of the classic [20 Newsgroups corpus](https://mahout.apache.org/users/classification/twenty-newsgroups.html).
-
-- **Preprocessing:**
-For a set of Sequence File Formatted documents in PATH_TO_SEQUENCE_FILES the [mahout seq2sparse](https://mahout.apache.org/users/basics/creating-vectors-from-text.html) command performs the TF-IDF transformations (-wt tfidf option) and L2 length normalization (-n 2 option) as follows:
-
- mahout seq2sparse
- -i ${PATH_TO_SEQUENCE_FILES}
- -o ${PATH_TO_TFIDF_VECTORS}
- -nv
- -n 2
- -wt tfidf
-
-- **Training:**
-The model is then trained using `mahout trainnb` . The default is to train a Bayes model. The -c option is given to train a CBayes model:
-
- mahout trainnb
- -i ${PATH_TO_TFIDF_VECTORS}
- -o ${PATH_TO_MODEL}/model
- -li ${PATH_TO_MODEL}/labelindex
- -ow
- -c
-
-- **Label Assignment/Testing:**
-Classification and testing on a holdout set can then be performed via `mahout testnb`. Again, the -c option indicates that the model is CBayes. The -seq option tells `mahout testnb` to run sequentially:
-
- mahout testnb
- -i ${PATH_TO_TFIDF_TEST_VECTORS}
- -m ${PATH_TO_MODEL}/model
- -l ${PATH_TO_MODEL}/labelindex
- -ow
- -o ${PATH_TO_OUTPUT}
- -c
- -seq
-
-## Command line options
-
-- **Preprocessing:**
-
- Only relevant parameters used for Bayes/CBayes as detailed above are shown. Several other transformations can be performed by `mahout seq2sparse` and used as input to Bayes/CBayes. For a full list of `mahout seq2Sparse` options see the [Creating vectors from text](https://mahout.apache.org/users/basics/creating-vectors-from-text.html) page.
-
- mahout seq2sparse
- --output (-o) output The directory pathname for output.
- --input (-i) input Path to job input directory.
- --weight (-wt) weight The kind of weight to use. Currently TF
- or TFIDF. Default: TFIDF
- --norm (-n) norm The norm to use, expressed as either a
- float or "INF" if you want to use the
- Infinite norm. Must be greater or equal
- to 0. The default is not to normalize
- --overwrite (-ow) If set, overwrite the output directory
- --sequentialAccessVector (-seq) (Optional) Whether output vectors should
- be SequentialAccessVectors. If set true
- else false
- --namedVector (-nv) (Optional) Whether output vectors should
- be NamedVectors. If set true else false
-
-- **Training:**
-
- mahout trainnb
- --input (-i) input Path to job input directory.
- --output (-o) output The directory pathname for output.
- --alphaI (-a) alphaI Smoothing parameter. Default is 1.0
- --trainComplementary (-c) Train complementary? Default is false.
- --labelIndex (-li) labelIndex The path to store the label index in
- --overwrite (-ow) If present, overwrite the output directory
- before running job
- --help (-h) Print out help
- --tempDir tempDir Intermediate output directory
- --startPhase startPhase First phase to run
- --endPhase endPhase Last phase to run
-
-- **Testing:**
-
- mahout testnb
- --input (-i) input Path to job input directory.
- --output (-o) output The directory pathname for output.
- --overwrite (-ow) If present, overwrite the output directory
- before running job
-
-
- --model (-m) model The path to the model built during training
- --testComplementary (-c) Test complementary? Default is false.
- --runSequential (-seq) Run sequential?
- --labelIndex (-l) labelIndex The path to the location of the label index
- --help (-h) Print out help
- --tempDir tempDir Intermediate output directory
- --startPhase startPhase First phase to run
- --endPhase endPhase Last phase to run
-
-
-## Examples
-
-Mahout provides an example for Naive Bayes classification:
-
-1. [Classify 20 Newsgroups](twenty-newsgroups.html)
-
-## References
-
-[1]: Jason D. M. Rennie, Lawerence Shih, Jamie Teevan, David Karger (2003). [Tackling the Poor Assumptions of Naive Bayes Text Classifiers](http://people.csail.mit.edu/jrennie/papers/icml03-nb.pdf). Proceedings of the Twentieth International Conference on Machine Learning (ICML-2003).
-
-

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/docs/algorithms/map-reduce/classification/class-discovery.md
----------------------------------------------------------------------
diff --git a/website-old/docs/algorithms/map-reduce/classification/class-discovery.md b/website-old/docs/algorithms/map-reduce/classification/class-discovery.md
deleted file mode 100644
index 2afc519..0000000
--- a/website-old/docs/algorithms/map-reduce/classification/class-discovery.md
+++ /dev/null
@@ -1,155 +0,0 @@
----
-layout: algorithm
-title: (Deprecated) Class Discovery
-theme:
- name: retro-mahout
----
-<a name="ClassDiscovery-ClassDiscovery"></a>
-# Class Discovery
-
-See http://www.cs.bham.ac.uk/~wbl/biblio/gecco1999/GP-417.pdf
-
-CDGA uses a Genetic Algorithm to discover a classification rule for a given
-dataset.
-A dataset can be seen as a table:
-
-<table>
-<tr><th> </th><th>attribute 1</th><th>attribute 2</th><th>...</th><th>attribute N</th></tr>
-<tr><td>row 1</td><td>value1</td><td>value2</td><td>...</td><td>valueN</td></tr>
-<tr><td>row 2</td><td>value1</td><td>value2</td><td>...</td><td>valueN</td></tr>
-<tr><td>...</td><td>...</td><td>...</td><td>...</td><td>...</td></tr>
-<tr><td>row M</td><td>value1</td><td>value2</td><td>...</td><td>valueN</td></tr>
-</table>
-
-An attribute can be numerical, for example a "temperature" attribute, or
-categorical, for example a "color" attribute. For classification purposes,
-one of the categorical attributes is designated as a *label*, which means
-that its value defines the *class* of the rows.
-A classification rule can be represented as follows:
-<table>
-<tr><th> </th><th>attribute 1</th><th>attribute 2</th><th>...</th><th>attribute N</th></tr>
-<tr><td>weight</td><td>w1</td><td>w2</td><td>...</td><td>wN</td></tr>
-<tr><td>operator</td><td>op1</td><td>op2</td><td>...</td><td>opN</td></tr>
-<tr><td>value</td><td>value1</td><td>value2</td><td>...</td><td>valueN</td></tr>
-</table>
-
-For a given *target* class and a weight *threshold*, the classification
-rule can be read :
-
-
- for each row of the dataset
- if (rule.w1 < threshold || (rule.w1 >= threshold && row.value1 rule.op1
-rule.value1)) &&
- (rule.w2 < threshold || (rule.w2 >= threshold && row.value2 rule.op2
-rule.value2)) &&
- ...
- (rule.wN < threshold || (rule.wN >= threshold && row.valueN rule.opN
-rule.valueN)) then
- row is part of the target class
-
-
-*Important:* The label attribute is not evaluated by the rule.
-
-The threshold parameter allows some conditions of the rule to be skipped if
-their weight is too small. The operators available depend on the attribute
-types:
-* for a numerical attributes, the available operators are '<' and '>='
-* for categorical attributes, the available operators are '!=' and '=='
-
-The "threshold" and "target" are user defined parameters, and because the
-label is always a categorical attribute, the target is the (zero based)
-index of the class label value in all the possible values of the label. For
-example, if the label attribute can have the following values (blue, brown,
-green), then a target of 1 means the "blue" class.
-
-For example, we have the following dataset (the label attribute is "Eyes
-Color"):
-<table>
-<tr><th> </th><th>Age</th><th>Eyes Color</th><th>Hair Color</th></tr>
-<tr><td>row 1</td><td>16</td><td>brown</td><td>dark</td></tr>
-<tr><td>row 2</td><td>25</td><td>green</td><td>light</td></tr>
-<tr><td>row 3</td><td>12</td><td>blue</td><td>light</td></tr>
-and a classification rule:
-<tr><td>weight</td><td>0</td><td>1</td></tr>
-<tr><td>operator</td><td><</td><td>!=</td></tr>
-<tr><td>value</td><td>20</td><td>light</td></tr>
-and the following parameters: threshold = 1 and target = 0 (brown).
-</table>
-
-This rule can be read as follows:
-
- for each row of the dataset
- if (0 < 1 || (0 >= 1 && row.value1 < 20)) &&
- (1 < 1 || (1 >= 1 && row.value2 != light)) then
- row is part of the "brown Eye Color" class
-
-
-Please note how the rule skipped the label attribute (Eye Color), and how
-the first condition is ignored because its weight is < threshold.
-
-<a name="ClassDiscovery-Runningtheexample:"></a>
-# Running the example:
-NOTE: Substitute in the appropriate version for the Mahout JOB jar
-
-1. cd <MAHOUT_HOME>/examples
-1. ant job
-1. {code}<HADOOP_HOME>/bin/hadoop dfs -put
-<MAHOUT_HOME>/examples/src/test/resources/wdbc wdbc{code}
-1. {code}<HADOOP_HOME>/bin/hadoop dfs -put
-<MAHOUT_HOME>/examples/src/test/resources/wdbc.infos wdbc.infos{code}
-1. {code}<HADOOP_HOME>/bin/hadoop jar
-<MAHOUT_HOME>/examples/build/apache-mahout-examples-0.1-dev.job
-org.apache.mahout.ga.watchmaker.cd.CDGA
-<MAHOUT_HOME>/examples/src/test/resources/wdbc 1 0.9 1 0.033 0.1 0 100 10
-
- CDGA needs 9 parameters:
- * param 1 : path of the directory that contains the dataset and its infos
-file
- * param 2 : target class
- * param 3 : threshold
- * param 4 : number of crossover points for the multi-point crossover
- * param 5 : mutation rate
- * param 6 : mutation range
- * param 7 : mutation precision
- * param 8 : population size
- * param 9 : number of generations before the program stops
-
- For more information about 4th parameter, please see [Multi-point Crossover|http://www.geatbx.com/docu/algindex-03.html#P616_36571]
-.
- For a detailed explanation about the 5th, 6th and 7th parameters, please
-see [Real Valued Mutation|http://www.geatbx.com/docu/algindex-04.html#P659_42386]
-.
-
- *TODO*: Fill in where to find the output and what it means.
-
- h1. The info file:
- To run properly, CDGA needs some informations about the dataset. Each
-dataset should be accompanied by an .infos file that contains the needed
-informations. for each attribute a corresponding line in the info file
-describes it, it can be one of the following:
- * IGNORED
- if the attribute is ignored
- * LABEL, val1, val2,...
- if the attribute is the label (class), and its possible values
- * CATEGORICAL, val1, val2,...
- if the attribute is categorial (nominal), and its possible values
- * NUMERICAL, min, max
- if the attribute is numerical, and its min and max values
-
- This file can be generated automaticaly using a special tool available with
-CDGA.
-
-
-
-* the tool searches for an existing infos file (*must be filled by the
-user*), in the same directory of the dataset with the same name and with
-the ".infos" extension, that contain the type of the attributes:
- ** 'N' numerical attribute
- ** 'C' categorical attribute
- ** 'L' label (this also a categorical attribute)
- ** 'I' to ignore the attribute
- each attribute is in a separate
-* A Hadoop job is used to parse the dataset and collect the informations.
-This means that *the dataset can be distributed over HDFS*.
-* the results are written back in the same .info file, with the correct
-format needed by CDGA.

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/docs/algorithms/map-reduce/classification/classifyingyourdata.md
----------------------------------------------------------------------
diff --git a/website-old/docs/algorithms/map-reduce/classification/classifyingyourdata.md b/website-old/docs/algorithms/map-reduce/classification/classifyingyourdata.md
deleted file mode 100644
index 53bc514..0000000
--- a/website-old/docs/algorithms/map-reduce/classification/classifyingyourdata.md
+++ /dev/null
@@ -1,27 +0,0 @@
----
-layout: algorithm
-title: (Deprecated) ClassifyingYourData
-theme:
- name: retro-mahout
----
-
-# Classifying data from the command line
-
-
-After you've done the [Quickstart](../basics/quickstart.html) and are familiar with the basics of Mahout, it is time to build a
-classifier from your own data. The following pieces *may* be useful for in getting started:
-
-<a name="ClassifyingYourData-Input"></a>
-# Input
-
-For starters, you will need your data in an appropriate Vector format: See [Creating Vectors](../basics/creating-vectors.html) as well as [Creating Vectors from Text](../basics/creating-vectors-from-text.html).
-
-<a name="ClassifyingYourData-RunningtheProcess"></a>
-# Running the Process
-
-* Logistic regression [background](logistic-regression.html)
-* [Naive Bayes background](naivebayes.html) and [commandline](bayesian-commandline.html) options.
-* [Complementary naive bayes background](complementary-naive-bayes.html), [design](https://issues.apache.org/jira/browse/mahout-60.html), and [c-bayes-commandline](c-bayes-commandline.html)
-* [Random Forests Classification](https://cwiki.apache.org/confluence/display/MAHOUT/Random+Forests) comes with a [Breiman example](breiman-example.html). There is some really great documentation
-over at [Mark Needham's blog](http://www.markhneedham.com/blog/2012/10/27/kaggle-digit-recognizer-mahout-random-forest-attempt/). Also checkout the description on [Xiaomeng Shawn Wan
-s](http://shawnwan.wordpress.com/2012/06/01/mahout-0-7-random-forest-examples/) blog.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/docs/algorithms/map-reduce/classification/collocations.md
----------------------------------------------------------------------
diff --git a/website-old/docs/algorithms/map-reduce/classification/collocations.md b/website-old/docs/algorithms/map-reduce/classification/collocations.md
deleted file mode 100644
index d4406f2..0000000
--- a/website-old/docs/algorithms/map-reduce/classification/collocations.md
+++ /dev/null
@@ -1,385 +0,0 @@
----
-layout: algorithm
-title: (Deprecated) Collocations
-theme:
- name: retro-mahout
----
-
-
-
-<a name="Collocations-CollocationsinMahout"></a>
-# Collocations in Mahout
-
-A collocation is defined as a sequence of words or terms which co-occur
-more often than would be expected by chance. Statistically relevant
-combinations of terms identify additional lexical units which can be
-treated as features in a vector-based representation of a text. A detailed
-discussion of collocations can be found on [Wikipedia](http://en.wikipedia.org/wiki/Collocation).
-
-See there for a more detailed discussion of collocations in the [Reuters example](http://comments.gmane.org/gmane.comp.apache.mahout.user/5685).
-
-<a name="Collocations-Log-LikelihoodbasedCollocationIdentification"></a>
-## Theory behind implementation: Log-Likelihood based Collocation Identification
-
-Mahout provides an implementation of a collocation identification algorithm
-which scores collocations using log-likelihood ratio. The log-likelihood
-score indicates the relative usefulness of a collocation with regards other
-term combinations in the text. Collocations with the highest scores in a
-particular corpus will generally be more useful as features.
-
-Calculating the LLR is very straightforward and is described concisely in
-[Ted Dunning's blog post](http://tdunning.blogspot.com/2008/03/surprise-and-coincidence.html)
-. Ted describes the series of counts reqired to calculate the LLR for two
-events A and B in order to determine if they co-occur more often than pure
-chance. These counts include the number of times the events co-occur (k11),
-the number of times the events occur without each other (k12 and k21), and
-the number of times anything occurs. These counts are summarized in the
-following table:
-
-<table>
-<tr><td> </td><td> Event A </td><td> Everything but Event A </td></tr>
-<tr><td> Event B </td><td> A and B together (k11) </td><td> B but not A (k12) </td></tr>
-<tr><td> Everything but Event B </td><td> A but not B (k21) </td><td> Neither B nor A (k22) </td></tr>
-</table>
-
-For the purposes of collocation identification, it is useful to begin by
-thinking in word pairs, bigrams. In this case the leading or head term from
-the pair corresponds to A from the table above, B corresponds to the
-trailing or tail term, while neither B nor A is the total number of word
-pairs in the corpus less those containing B, A or both B and A.
-
-Given the word pair of 'oscillation overthruster', the Log-Likelihood ratio
-is computed by looking at the number of occurences of that word pair in the
-corpus, the number of word pairs that begin with 'oscillation' but end with
-something other than 'overthruster', the number of word pairs that end with
-'overthruster' begin with something other than 'oscillation' and the number
-of word pairs in the corpus that contain neither 'oscillation' and
-overthruster.
-
-This can be extended from bigrams to trigrams, 4-grams and beyond. In these
-cases, the current algorithm uses the first token of the ngram as the head
-of the ngram and the remaining n-1 tokens from the ngram, the n-1gram as it
-were, as the tail. Given the trigram 'hong kong cavaliers', 'hong' is
-treated as the head while 'kong cavaliers' is treated as the tail. Future
-versions of this algorithm will allow for variations in which tokens of the
-ngram are treated as the head and tail.
-
-Beyond ngrams, it is often useful to inspect cases where individual words
-occur around other interesting features of the text such as sentence
-boundaries.
-
-<a name="Collocations-GeneratingNGrams"></a>
-## Generating NGrams
-
-The tools that the collocation identification algorithm are embeeded within
-either consume tokenized text as input or provide the ability to specify an
-implementation of the Lucene Analyzer class perform tokenization in order
-to form ngrams. The tokens are passed through a Lucene ShingleFilter to
-produce NGrams of the desired length.
-
-Given the text "Alice was beginning to get very tired" as an example,
-Lucene's StandardAnalyzer produces the tokens 'alice', 'beginning', 'get',
-'very' and 'tired', while the ShingleFilter with a max NGram size set to 3
-produces the shingles 'alice beginning', 'alice beginning get', 'beginning
-get', 'beginning get very', 'get very', 'get very tired' and 'very tired'.
-Note that both bigrams and trigrams are produced here. A future enhancement
-to the existing algorithm would involve limiting the output to a particular
-gram size as opposed to solely specifiying a max ngram size.
-
-<a name="Collocations-RunningtheCollocationIdentificationAlgorithm."></a>
-## Running the Collocation Identification Algorithm.
-
-There are a couple ways to run the llr-based collocation algorithm in
-mahout
-
-<a name="Collocations-Whencreatingvectorsfromasequencefile"></a>
-### When creating vectors from a sequence file
-
-The llr collocation identifier is integrated into the process that is used
-to create vectors from sequence files of text keys and values. Collocations
-are generated when the --maxNGramSize (-ng) option is not specified and
-defaults to 2 or is set to a number of 2 or greater. The --minLLR option
-can be used to control the cutoff that prevents collocations below the
-specified LLR score from being emitted, and the --minSupport argument can
-be used to filter out collocations that appear below a certain number of
-times.
-
-
- bin/mahout seq2sparse
-
- Usage:
- [--minSupport <minSupport> --analyzerName <analyzerName> --chunkSize <chunkSize>
- --output <output> --input <input> --minDF <minDF>
- --maxDFPercent<maxDFPercent> --weight <weight> --norm <norm> --minLLR <minLLR>
- --numReducers <numReducers> --maxNGramSize <ngramSize> --overwrite --help
- --sequentialAccessVector]
- Options
-
- --minSupport (-s) minSupport (Optional) Minimum Support. Default Value: 2
-
- --analyzerName (-a) analyzerName The class name of the analyzer
-
- --chunkSize (-chunk) chunkSize The chunkSize in MegaBytes. 100-10000MB
-
- --output (-o) output The output directory
-
- --input (-i) input Input dir containing the documents in sequence file format
-
- --minDF (-md) minDF The minimum document frequency. Default is 1
-
- --maxDFPercent (-x) maxDFPercent The max percentage of docs for the DF. Can be used to remove
- really high frequency terms. Expressed as an
- integer between 0 and 100. Default is 99.
-
- --weight (-wt) weight The kind of weight to use. Currently TF
- or TFIDF
-
- --norm (-n) norm The norm to use, expressed as either a
- float or "INF" if you want to use the
- Infinite norm. Must be greater orequal
- to 0. The default is not to normalize
-
- --minLLR (-ml) minLLR (Optional)The minimum Log Likelihood
- Ratio(Float) Default is 1.0
-
- --numReducers (-nr) numReducers (Optional) Number of reduce tasks.
- Default Value: 1
-
- --maxNGramSize (-ng) ngramSize (Optional) The maximum size of ngrams to
- create (2 = bigrams, 3 = trigrams, etc)
- Default Value:2
-
- --overwrite (-w) If set, overwrite the output directory
- --help (-h) Print out help
- --sequentialAccessVector (-seq) (Optional) Whether output vectors should
- be SequentialAccessVectors If set true
- else false
-
-
-<a name="Collocations-CollocDriver"></a>
-### CollocDriver
-
-
- bin/mahout org.apache.mahout.vectorizer.collocations.llr.CollocDriver
-
- Usage:
- [--input <input> --output <output> --maxNGramSize <ngramSize> --overwrite
- --minSupport <minSupport> --minLLR <minLLR> --numReducers <numReducers>
- --analyzerName <analyzerName> --preprocess --unigram --help]
-
- Options
-
- --input (-i) input The Path for input files.
-
- --output (-o) output The Path write output to
-
- --maxNGramSize (-ng) ngramSize (Optional) The maximum size of ngramsto
- create (2 = bigrams, 3 = trigrams,etc)
- Default Value:2
-
- --overwrite (-w) If set, overwrite the outputdirectory
-
- --minSupport (-s) minSupport (Optional) Minimum Support. Default
- Value: 2
-
- --minLLR (-ml) minLLR (Optional)The minimum Log Likelihood
- Ratio(Float) Default is 1.0
-
- --numReducers (-nr) numReducers (Optional) Number of reduce tasks.
- Default Value: 1
-
- --analyzerName (-a) analyzerName The class name of the analyzer
-
- --preprocess (-p) If set, input is SequenceFile<Text,Text>
- where the value is the document, which
- will be tokenized using the specified
- analyzer.
-
- --unigram (-u) If set, unigrams will be emitted inthe
- final output alongside collocations
-
- --help (-h) Print out help
-
-
-<a name="Collocations-Algorithmdetails"></a>
-## Algorithm details
-
-This section describes the implementation of the collocation identification
-algorithm in terms of the map-reduce phases that are used to generate
-ngrams and count the frequencies required to perform the log-likelihood
-calculation. Unless otherwise noted, classes that are indicated in
-CamelCase can be found in the mahout-utils module under the package
-org.apache.mahout.utils.nlp.collocations.llr
-
-The algorithm is implemented in two map-reduce passes:
-
-<a name="Collocations-Pass1:CollocDriver.generateCollocations(...)"></a>
-### Pass 1: CollocDriver.generateCollocations(...)
-
-Generates NGrams and counts frequencies for ngrams, head and tail subgrams.
-
-<a name="Collocations-Map:CollocMapper"></a>
-#### Map: CollocMapper
-
-Input k: Text (documentId), v: StringTuple (tokens)
-
-Each call to the mapper passes in the full set of tokens for the
-corresponding document using a StringTuple. The ShingleFilter is run across
-these tokens to produce ngrams of the desired length. ngrams and
-frequencies are collected across the entire document.
-
-Once this is done, ngrams are split into head and tail portions. A key of type GramKey is generated which is used later to join ngrams with their heads and tails in the reducer phase. The GramKey is a composite key made up of a string n-gram fragement as the primary key and a secondary key used for grouping and sorting in the reduce phase. The secondary key will either be EMPTY in the case where we are collecting either the head or tail of an ngram as the value or it will contain the byte[](.html)
- form of the ngram when collecting an ngram as the value.
-
-
- head_key(EMPTY) -> (head subgram, head frequency)
-
- head_key(ngram) -> (ngram, ngram frequency)
-
- tail_key(EMPTY) -> (tail subgram, tail frequency)
-
- tail_key(ngram) -> (ngram, ngram frequency)
-
-
-subgram and ngram values are packaged in Gram objects.
-
-For each ngram found, the Count.NGRAM_TOTAL counter is incremented. When
-the pass is complete, this counter will hold the total number of ngrams
-encountered in the input which is used as a part of the LLR calculation.
-
-Output k: GramKey (head or tail subgram), v: Gram (head, tail or ngram with
-frequency)
-
-<a name="Collocations-Combiner:CollocCombiner"></a>
-#### Combiner: CollocCombiner
-
-Input k: GramKey, v:Gram (as above)
-
-This phase merges the counts for unique ngrams or ngram fragments across
-multiple documents. The combiner treats the entire GramKey as the key and
-as such, identical tuples from separate documents are passed into a single
-call to the combiner's reduce method, their frequencies are summed and a
-single tuple is passed out via the collector.
-
-Output k: GramKey, v:Gram
-
-<a name="Collocations-Reduce:CollocReducer"></a>
-#### Reduce: CollocReducer
-
-Input k: GramKey, v: Gram (as above)
-
-The CollocReducer employs the Hadoop secondary sort strategy to avoid
-caching ngram tuples in memory in order to calculate total ngram and
-subgram frequencies. The GramKeyPartitioner ensures that tuples with the
-same primary key are sent to the same reducer while the
-GramKeyGroupComparator ensures that iterator provided by the reduce method
-first returns the subgram and then returns ngram values grouped by ngram.
-This eliminates the need to cache the values returned by the iterator in
-order to calculate total frequencies for both subgrams and ngrams. There
-input will consist of multiple frequencies for each (subgram_key, subgram)
-or (subgram_key, ngram) tuple; one from each map task executed in which the
-particular subgram was found.
-The input will be traversed in the following order:
-
-
- (head subgram, frequency 1)
- (head subgram, frequency 2)
- ...
- (head subgram, frequency N)
- (ngram 1, frequency 1)
- (ngram 1, frequency 2)
- ...
- (ngram 1, frequency N)
- (ngram 2, frequency 1)
- (ngram 2, frequency 2)
- ...
- (ngram 2, frequency N)
- ...
- (ngram N, frequency 1)
- (ngram N, frequency 2)
- ...
- (ngram N, frequency N)
-
-
-Where all of the ngrams above share the same head. Data is presented in the
-same manner for the tail subgrams.
-
-As the values for a subgram or ngram are traversed, frequencies are
-accumulated. Once all values for a subgram or ngram are processed the
-resulting key/value pairs are passed to the collector as long as the ngram
-frequency is equal to or greater than the specified minSupport. When an
-ngram is skipped in this way the Skipped.LESS_THAN_MIN_SUPPORT counter to
-be incremented.
-
-Pairs are passed to the collector in the following format:
-
-
- ngram, ngram frequency -> subgram subgram frequency
-
-
-In this manner, the output becomes an unsorted version of the following:
-
-
- ngram 1, frequency -> ngram 1 head, head frequency
- ngram 1, frequency -> ngram 1 tail, tail frequency
- ngram 2, frequency -> ngram 2 head, head frequency
- ngram 2, frequency -> ngram 2 tail, tail frequency
- ngram N, frequency -> ngram N head, head frequency
- ngram N, frequency -> ngram N tail, tail frequency
-
-
-Output is in the format k:Gram (ngram, frequency), v:Gram (subgram,
-frequency)
-
-<a name="Collocations-Pass2:CollocDriver.computeNGramsPruneByLLR(...)"></a>
-### Pass 2: CollocDriver.computeNGramsPruneByLLR(...)
-
-Pass 1 has calculated full frequencies for ngrams and subgrams, Pass 2
-performs the LLR calculation.
-
-<a name="Collocations-MapPhase:IdentityMapper(org.apache.hadoop.mapred.lib.IdentityMapper)"></a>
-#### Map Phase: IdentityMapper (org.apache.hadoop.mapred.lib.IdentityMapper)
-
-This phase is a no-op. The data is passed through unchanged. The rest of
-the work for llr calculation is done in the reduce phase.
-
-<a name="Collocations-ReducePhase:LLRReducer"></a>
-#### Reduce Phase: LLRReducer
-
-Input is k:Gram, v:Gram (as above)
-
-This phase receives the head and tail subgrams and their frequencies for
-each ngram (with frequency) produced for the input:
-
-
- ngram 1, frequency -> ngram 1 head, frequency; ngram 1 tail, frequency
- ngram 2, frequency -> ngram 2 head, frequency; ngram 2 tail, frequency
- ...
- ngram 1, frequency -> ngram N head, frequency; ngram N tail, frequency
-
-
-It also reads the full ngram count obtained from the first pass, passed in
-as a configuration option. The parameters to the llr calculation are
-calculated as follows:
-
-k11 = f_n
-k12 = f_h - f_n
-k21 = f_t - f_n
-k22 = N - ((f_h + f_t) - f_n)
-
-Where f_n is the ngram frequency, f_h and f_t the frequency of head and
-tail and N is the total number of ngrams.
-
-Tokens with a llr below that of the specified minimum llr are dropped and
-the Skipped.LESS_THAN_MIN_LLR counter is incremented.
-
-Output is k: Text (ngram), v: DoubleWritable (llr score)
-
-<a name="Collocations-Unigrampass-through."></a>
-### Unigram pass-through.
-
-By default in seq2sparse, or if the -u option is provided to the
-CollocDriver, unigrams (single tokens) will be passed through the job and
-each token's frequency will be calculated. As with ngrams, unigrams are
-subject to filtering with minSupport and minLLR.
-

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/docs/algorithms/map-reduce/classification/gaussian-discriminative-analysis.md
----------------------------------------------------------------------
diff --git a/website-old/docs/algorithms/map-reduce/classification/gaussian-discriminative-analysis.md b/website-old/docs/algorithms/map-reduce/classification/gaussian-discriminative-analysis.md
deleted file mode 100644
index d310145..0000000
--- a/website-old/docs/algorithms/map-reduce/classification/gaussian-discriminative-analysis.md
+++ /dev/null
@@ -1,20 +0,0 @@
----
-layout: algorithm
-title: (Deprecated) Gaussian Discriminative Analysis
-theme:
- name: retro-mahout
----
-
-<a name="GaussianDiscriminativeAnalysis-GaussianDiscriminativeAnalysis"></a>
-# Gaussian Discriminative Analysis
-
-Gaussian Discriminative Analysis is a tool for multigroup classification
-based on extending linear discriminant analysis. The paper on the approach
-is located at http://citeseer.ist.psu.edu/4617.html (note, for some reason
-the paper is backwards, in that page 1 is at the end)
-
-<a name="GaussianDiscriminativeAnalysis-Parallelizationstrategy"></a>
-## Parallelization strategy
-
-<a name="GaussianDiscriminativeAnalysis-Designofpackages"></a>
-## Design of packages

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/docs/algorithms/map-reduce/classification/hidden-markov-models.md
----------------------------------------------------------------------
diff --git a/website-old/docs/algorithms/map-reduce/classification/hidden-markov-models.md b/website-old/docs/algorithms/map-reduce/classification/hidden-markov-models.md
deleted file mode 100644
index 3b11f12..0000000
--- a/website-old/docs/algorithms/map-reduce/classification/hidden-markov-models.md
+++ /dev/null
@@ -1,102 +0,0 @@
----
-layout: algorithm
-title: (Deprecated) Hidden Markov Models
-theme:
- name: retro-mahout
----
-
-# Hidden Markov Models
-
-<a name="HiddenMarkovModels-IntroductionandUsage"></a>
-## Introduction and Usage
-
-Hidden Markov Models are used in multiple areas of Machine Learning, such
-as speech recognition, handwritten letter recognition or natural language
-processing.
-
-<a name="HiddenMarkovModels-FormalDefinition"></a>
-## Formal Definition
-
-A Hidden Markov Model (HMM) is a statistical model of a process consisting
-of two (in our case discrete) random variables O and Y, which change their
-state sequentially. The variable Y with states \{y_1, ... , y_n\} is called
-the "hidden variable", since its state is not directly observable. The
-state of Y changes sequentially with a so called - in our case first-order
-- Markov Property. This means, that the state change probability of Y only
-depends on its current state and does not change in time. Formally we
-write: P(Y(t+1)=y_i|Y(0)...Y(t)) = P(Y(t+1)=y_i|Y(t)) = P(Y(2)=y_i|Y(1)).
-The variable O with states \{o_1, ... , o_m\} is called the "observable
-variable", since its state can be directly observed. O does not have a
-Markov Property, but its state probability depends statically on the
-current state of Y.
-
-Formally, an HMM is defined as a tuple M=(n,m,P,A,B), where n is the number of hidden states, m is the number of observable states, P is an n-dimensional vector containing initial hidden state probabilities, A is the nxn-dimensional "transition matrix" containing the transition probabilities such that A\[i,j\](i,j\.html)
-=P(Y(t)=y_i|Y(t-1)=y_j) and B is the mxn-dimensional "emission matrix"
-containing the observation probabilities such that B\[i,j\]=
-P(O=o_i|Y=y_j).
-
-<a name="HiddenMarkovModels-Problems"></a>
-## Problems
-
-Rabiner \[1\](1\.html)
- defined three main problems for HMM models:
-
-1. Evaluation: Given a sequence O of observations and a model M, what is
-the probability P(O|M) that sequence O was generated by model M. The
-Evaluation problem can be efficiently solved using the Forward algorithm
-2. Decoding: Given a sequence O of observations and a model M, what is
-the most likely sequence Y*=argmax(Y) P(O|M,Y) of hidden variables to
-generate this sequence. The Decoding problem can be efficiently solved
-using the Viterbi algorithm.
-3. Learning: Given a sequence O of observations, what is the most likely
-model M*=argmax(M)P(O|M) to generate this sequence. The Learning problem
-can be efficiently solved using the Baum-Welch algorithm.
-
-<a name="HiddenMarkovModels-Example"></a>
-## Example
-
-To build a Hidden Markov Model and use it to build some predictions, try a simple example like this:
-
-Create an input file to train the model. Here we have a sequence drawn from the set of states 0, 1, 2, and 3, separated by space characters.
-
- $ echo "0 1 2 2 2 1 1 0 0 3 3 3 2 1 2 1 1 1 1 2 2 2 0 0 0 0 0 0 2 2 2 0 0 0 0 0 0 2 2 2 3 3 3 3 3 3 2 3 2 3 2 3 2 1 3 0 0 0 1 0 1 0 2 1 2 1 2 1 2 3 3 3 3 2 2 3 2 1 1 0" > hmm-input
-
-Now run the baumwelch job to train your model, after first setting MAHOUT_LOCAL to true, to use your local file system.
-
- $ export MAHOUT_LOCAL=true
- $ $MAHOUT_HOME/bin/mahout baumwelch -i hmm-input -o hmm-model -nh 3 -no 4 -e .0001 -m 1000
-
-Output like the following should appear in the console.
-
- Initial probabilities:
- 0 1 2
- 1.0 0.0 3.5659361683006626E-251
- Transition matrix:
- 0 1 2
- 0 6.098919959130616E-5 0.9997275322964165 2.1147850399214744E-4
- 1 7.404648706054873E-37 0.9086408633885092 0.09135913661149081
- 2 0.2284374545687356 7.01786289571088E-11 0.7715625453610858
- Emission matrix:
- 0 1 2 3
- 0 0.9999997858591223 2.0536163836449762E-39 2.1414087769942127E-7 1.052441093535389E-27
- 1 7.495656581383351E-34 0.2241269055449904 0.4510889999455847 0.32478409450942497
- 2 0.815051477991782 0.18494852200821799 8.465660634827592E-33 2.8603899591778015E-36
- 14/03/22 09:52:21 INFO driver.MahoutDriver: Program took 180 ms (Minutes: 0.003)
-
-The model trained with the input set now is in the file 'hmm-model', which we can use to build a predicted sequence.
-
- $ $MAHOUT_HOME/bin/mahout hmmpredict -m hmm-model -o hmm-predictions -l 10
-
-To see the predictions:
-
- $ cat hmm-predictions
- 0 1 3 3 2 2 2 2 1 2
-
-
-<a name="HiddenMarkovModels-Resources"></a>
-## Resources
-
-\[1\]
- Lawrence R. Rabiner (February 1989). "A tutorial on Hidden Markov Models
-and selected applications in speech recognition". Proceedings of the IEEE
-77 (2): 257-286. doi:10.1109/5.18626.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/docs/algorithms/map-reduce/classification/independent-component-analysis.md
----------------------------------------------------------------------
diff --git a/website-old/docs/algorithms/map-reduce/classification/independent-component-analysis.md b/website-old/docs/algorithms/map-reduce/classification/independent-component-analysis.md
deleted file mode 100644
index 9216816..0000000
--- a/website-old/docs/algorithms/map-reduce/classification/independent-component-analysis.md
+++ /dev/null
@@ -1,17 +0,0 @@
----
-layout: algorithm
-title: (Deprecated) Independent Component Analysis
-theme:
- name: retro-mahout
----
-
-<a name="IndependentComponentAnalysis-IndependentComponentAnalysis"></a>
-# Independent Component Analysis
-
-See also: Principal Component Analysis.
-
-<a name="IndependentComponentAnalysis-Parallelizationstrategy"></a>
-## Parallelization strategy
-
-<a name="IndependentComponentAnalysis-Designofpackages"></a>
-## Design of packages

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/docs/algorithms/map-reduce/classification/locally-weighted-linear-regression.md
----------------------------------------------------------------------
diff --git a/website-old/docs/algorithms/map-reduce/classification/locally-weighted-linear-regression.md b/website-old/docs/algorithms/map-reduce/classification/locally-weighted-linear-regression.md
deleted file mode 100644
index fecfc62..0000000
--- a/website-old/docs/algorithms/map-reduce/classification/locally-weighted-linear-regression.md
+++ /dev/null
@@ -1,25 +0,0 @@
----
-layout: algorithm
-title: (Deprecated) Locally Weighted Linear Regression
-theme:
- name: retro-mahout
----
-
-<a name="LocallyWeightedLinearRegression-LocallyWeightedLinearRegression"></a>
-# Locally Weighted Linear Regression
-
-Model-based methods, such as SVM, Naive Bayes and the mixture of Gaussians,
-use the data to build a parameterized model. After training, the model is
-used for predictions and the data are generally discarded. In contrast,
-"memory-based" methods are non-parametric approaches that explicitly retain
-the training data, and use it each time a prediction needs to be made.
-Locally weighted regression (LWR) is a memory-based method that performs a
-regression around a point of interest using only training data that are
-"local" to that point. Source:
-http://www.cs.cmu.edu/afs/cs/project/jair/pub/volume4/cohn96a-html/node7.html
-
-<a name="LocallyWeightedLinearRegression-Strategyforparallelregression"></a>
-## Strategy for parallel regression
-
-<a name="LocallyWeightedLinearRegression-Designofpackages"></a>
-## Design of packages

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/docs/algorithms/map-reduce/classification/logistic-regression.md
----------------------------------------------------------------------
diff --git a/website-old/docs/algorithms/map-reduce/classification/logistic-regression.md b/website-old/docs/algorithms/map-reduce/classification/logistic-regression.md
deleted file mode 100644
index 762a391..0000000
--- a/website-old/docs/algorithms/map-reduce/classification/logistic-regression.md
+++ /dev/null
@@ -1,129 +0,0 @@
----
-layout: algorithm
-title: (Deprecated) Logistic Regression
-theme:
- name: retro-mahout
----
-
-<a name="LogisticRegression-LogisticRegression(SGD)"></a>
-# Logistic Regression (SGD)
-
-Logistic regression is a model used for prediction of the probability of
-occurrence of an event. It makes use of several predictor variables that
-may be either numerical or categories.
-
-Logistic regression is the standard industry workhorse that underlies many
-production fraud detection and advertising quality and targeting products.
-The Mahout implementation uses Stochastic Gradient Descent (SGD) to all
-large training sets to be used.
-
-For a more detailed analysis of the approach, have a look at the [thesis of
-Paul Komarek](http://repository.cmu.edu/cgi/viewcontent.cgi?article=1221&context=robotics) [1].
-
-See MAHOUT-228 for the main JIRA issue for SGD.
-
-A more detailed overview of the Mahout Linear Regression classifier and [detailed discription of building a Logistic Regression classifier](http://blog.trifork.com/2014/02/04/an-introduction-to-mahouts-logistic-regression-sgd-classifier/) for the classic [Iris flower dataset](http://en.wikipedia.org/wiki/Iris_flower_data_set) is also available [2].
-
-An example of training a Logistic Regression classifier for the [UCI Bank Marketing Dataset](http://mlr.cs.umass.edu/ml/datasets/Bank+Marketing) can be found [on the Mahout website](http://mahout.apache.org/users/classification/bankmarketing-example.html) [3].
-
-An example of training and testing a Logistic Regression document classifier for the classic [20 newsgroups corpus](https://github.com/apache/mahout/blob/master/examples/bin/classify-20newsgroups.sh) [4] is also available.
-
-<a name="LogisticRegression-Parallelizationstrategy"></a>
-## Parallelization strategy
-
-The bad news is that SGD is an inherently sequential algorithm. The good
-news is that it is blazingly fast and thus it is not a problem for Mahout's
-implementation to handle training sets of tens of millions of examples.
-With the down-sampling typical in many data-sets, this is equivalent to a
-dataset with billions of raw training examples.
-
-The SGD system in Mahout is an online learning algorithm which means that
-you can learn models in an incremental fashion and that you can do
-performance testing as your system runs. Often this means that you can
-stop training when a model reaches a target level of performance. The SGD
-framework includes classes to do on-line evaluation using cross validation
-(the CrossFoldLearner) and an evolutionary system to do learning
-hyper-parameter optimization on the fly (the AdaptiveLogisticRegression).
-The AdaptiveLogisticRegression system makes heavy use of threads to
-increase machine utilization. The way it works is that it runs 20
-CrossFoldLearners in separate threads, each with slightly different
-learning parameters. As better settings are found, these new settings are
-propagating to the other learners.
-
-<a name="LogisticRegression-Designofpackages"></a>
-## Design of packages
-
-There are three packages that are used in Mahout's SGD system. These
-include
-
-* The vector encoding package (found in org.apache.mahout.vectorizer.encoders)
-
-* The SGD learning package (found in org.apache.mahout.classifier.sgd)
-
-* The evolutionary optimization system (found in org.apache.mahout.ep)
-
-<a name="LogisticRegression-Featurevectorencoding"></a>
-## Feature vector encoding
-
-Because the SGD algorithms need to have fixed length feature vectors and
-because it is a pain to build a dictionary ahead of time, most SGD
-applications use the hashed feature vector encoding system that is rooted
-at FeatureVectorEncoder.
-
-The basic idea is that you create a vector, typically a
-RandomAccessSparseVector, and then you use various feature encoders to
-progressively add features to that vector. The size of the vector should
-be large enough to avoid feature collisions as features are hashed.
-
-There are specialized encoders for a variety of data types. You can
-normally encode either a string representation of the value you want to
-encode or you can encode a byte level representation to avoid string
-conversion. In the case of ContinuousValueEncoder and
-ConstantValueEncoder, it is also possible to encode a null value and pass
-the real value in as a weight. This avoids numerical parsing entirely in
-case you are getting your training data from a system like Avro.
-
-Here is a class diagram for the encoders package:
-
-![class diagram](../../images/vector-class-hierarchy.png)
-
-<a name="LogisticRegression-SGDLearning"></a>
-## SGD Learning
-
-For the simplest applications, you can construct an
-OnlineLogisticRegression and be off and running. Typically, though, it is
-nice to have running estimates of performance on held out data. To do
-that, you should use a CrossFoldLearner which keeps a stable of five (by
-default) OnlineLogisticRegression objects. Each time you pass a training
-example to a CrossFoldLearner, it passes this example to all but one of its
-children as training and passes the example to the last child to evaluate
-current performance. The children are used for evaluation in a round-robin
-fashion so, if you are using the default 5 way split, all of the children
-get 80% of the training data for training and get 20% of the data for
-evaluation.
-
-To avoid the pesky need to configure learning rates, regularization
-parameters and annealing schedules, you can use the
-AdaptiveLogisticRegression. This class maintains a pool of
-CrossFoldLearners and adapts learning rates and regularization on the fly
-so that you don't have to.
-
-Here is a class diagram for the classifiers.sgd package. As you can see,
-the number of twiddlable knobs is pretty large. For some examples, see the
-[TrainNewsGroups](https://github.com/apache/mahout/blob/master/examples/src/main/java/org/apache/mahout/classifier/sgd/TrainNewsGroups.java) example code.
-
-![sgd class diagram](../../images/sgd-class-hierarchy.png)
-
-## References
-
-[1] [Thesis of
-Paul Komarek](http://repository.cmu.edu/cgi/viewcontent.cgi?article=1221&context=robotics)
-
-[2] [An Introduction To Mahout's Logistic Regression SGD Classifier](http://blog.trifork.com/2014/02/04/an-introduction-to-mahouts-logistic-regression-sgd-classifier/)
-
-## Examples
-
-[3] [SGD Bank Marketing Example](http://mahout.apache.org/users/classification/bankmarketing-example.html)
-
-[4] [SGD 20 newsgroups classification](https://github.com/apache/mahout/blob/master/examples/bin/classify-20newsgroups.sh)
-

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/docs/algorithms/map-reduce/classification/mahout-collections.md
----------------------------------------------------------------------
diff --git a/website-old/docs/algorithms/map-reduce/classification/mahout-collections.md b/website-old/docs/algorithms/map-reduce/classification/mahout-collections.md
deleted file mode 100644
index bed87a6..0000000
--- a/website-old/docs/algorithms/map-reduce/classification/mahout-collections.md
+++ /dev/null
@@ -1,60 +0,0 @@
----
-layout: algorithm
-title: (Deprecated) mahout-collections
-theme:
- name: retro-mahout
----
-
-# Mahout collections
-
-<a name="mahout-collections-Introduction"></a>
-## Introduction
-
-The Mahout Collections library is a set of container classes that address
-some limitations of the standard collections in Java. [This presentation](http://domino.research.ibm.com/comm/research_people.nsf/pages/sevitsky.pubs.html/$FILE/oopsla08%20memory-efficient%20java%20slides.pdf)
- describes a number of performance problems with the standard collections.
-
-Mahout collections addresses two of the more glaring: the lack of support
-for primitive types and the lack of open hashing.
-
-<a name="mahout-collections-PrimitiveTypes"></a>
-## Primitive Types
-
-The most visible feature of Mahout Collections is the large collection of
-primitive type collections. Given Java's asymmetrical support for the
-primitive types, the only efficient way to handle them is with many
-classes. So, there are ArrayList-like containers for all of the primitive
-types, and hash maps for all the useful combinations of primitive type and
-object keys and values.
-
-These classes do not, in general, implement interfaces from *java.util*.
-Even when the *java.util* interfaces could be type-compatible, they tend
-to include requirements that are not consistent with efficient use of
-primitive types.
-
-<a name="mahout-collections-OpenAddressing"></a>
-# Open Addressing
-
-All of the sets and maps in Mahout Collections are open-addressed hash
-tables. Open addressing has a much smaller memory footprint than chaining.
-Since the purpose of these collections is to avoid the memory cost of
-autoboxing, open addressing is a consistent design choice.
-
-<a name="mahout-collections-Sets"></a>
-## Sets
-
-Mahout Collections includes open hash sets. Unlike *java.util*, a set is
-not a recycled hash table; the sets are separately implemented and do not
-have any additional storage usage for unused keys.
-
-<a name="mahout-collections-CreditwhereCreditisdue"></a>
-# Credit where Credit is due
-
-The implementation of Mahout Collections is derived from [Cern Colt](http://acs.lbl.gov/~hoschek/colt/)
-.
-
-
-
-
-
-

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/docs/algorithms/map-reduce/classification/mlp.md
----------------------------------------------------------------------
diff --git a/website-old/docs/algorithms/map-reduce/classification/mlp.md b/website-old/docs/algorithms/map-reduce/classification/mlp.md
deleted file mode 100644
index 85e47de..0000000
--- a/website-old/docs/algorithms/map-reduce/classification/mlp.md
+++ /dev/null
@@ -1,172 +0,0 @@
----
-layout: algorithm
-title: (Deprecated) Multilayer Perceptron
-theme:
- name: retro-mahout
----
-
-Multilayer Perceptron
-=====================
-
-A multilayer perceptron is a biologically inspired feed-forward network that can
-be trained to represent a nonlinear mapping between input and output data. It
-consists of multiple layers, each containing multiple artificial neuron units and
-can be used for classification and regression tasks in a supervised learning approach.
-
-Command line usage
-------------------
-
-The MLP implementation is currently located in the MapReduce-Legacy package. It
-can be used with the following commands:
-
-
-# model training
- $ bin/mahout org.apache.mahout.classifier.mlp.TrainMultilayerPerceptron
-# model usage
- $ bin/mahout org.apache.mahout.classifier.mlp.RunMultilayerPerceptron
-
-
-To train and use the model, a number of parameters can be specified. Parameters without default values have to be specified by the user. Consider that not all parameters can be used both for training and running the model. We give an example of the usage below.
-
-### Parameters
-
-| Command | Default | Description | Type |
-|:---------|---------:|:-------------|:---------|
-| --input -i | | Path to the input data (currently, only .csv-files are allowed) | |
-| --skipHeader -sh | false | Skip first row of the input file (corresponds to the csv headers)| |
-|--update -u | false | Whether the model should be updated incrementally with every new training instance. If this parameter is not given, the model is trained from scratch. | training |
-| --labels -labels | | Instance labels separated by whitespaces. | training |
-| --model -mo | | Location where the model will be stored / is stored (if the specified location has an existing model, it will update the model through incremental learning). | |
-| --layerSize -ls | | Number of units per layer, including input, hidden and ouput layers. This parameter specifies the topology of the network (see [this image][mlp] for an example specified by `-ls 4 8 3`). | training |
-| --squashingFunction -sf| Sigmoid | The squashing function to use for the units. Currently only the sigmoid fucntion is available. | training |
-| --learningRate -l | 0.5 | The learning rate that is used for weight updates. | training |
-| --momemtumWeight -m | 0.1 | The momentum weight that is used for gradient descent. Must be in the range between 0 ... 1.0 | training |
-| --regularizationWeight -r | 0 | Regularization value for the weight vector. Must be in the range between 0 ... 0.1 | training |
-| --format -f | csv | Input file format. Currently only csv is supported. | |
-|--columnRange -cr | | Range of the columns to use from the input file, starting with 0 (i.e. `-cr 0 5` for including the first six columns only) | testing |
-| --output -o | | Path to store the labeled results from running the model. | testing |
-
-Example usage
--------------
-
-In this example, we will train a multilayer perceptron for classification on the iris data set. The iris flower data set contains data of three flower species where each datapoint consists of four features.
-The dimensions of the data set are given through some flower parameters (sepal length, sepal width, ...). All samples contain a label that indicates the flower species they belong to.
-
-### Training
-
-To train our multilayer perceptron model from the command line, we call the following command
-
-
- $ bin/mahout org.apache.mahout.classifier.mlp.TrainMultilayerPerceptron \
- -i ./mrlegacy/src/test/resources/iris.csv -sh \
- -labels setosa versicolor virginica \
- -mo /tmp/model.model -ls 4 8 3 -l 0.2 -m 0.35 -r 0.0001
-
-
-The individual parameters are explained in the following.
-
-- `-i ./mrlegacy/src/test/resources/iris.csv` use the iris data set as input data
-- `-sh` since the file `iris.csv` contains a header row, this row needs to be skipped
-- `-labels setosa versicolor virginica` we specify, which class labels should be learnt (which are the flower species in this case)
-- `-mo /tmp/model.model` specify where to store the model file
-- `-ls 4 8 3` we specify the structure and depth of our layers. The actual network structure can be seen in the figure below.
-- `-l 0.2` we set the learning rate to `0.2`
-- `-m 0.35` momemtum weight is set to `0.35`
-- `-r 0.0001` regularization weight is set to `0.0001`
-
-| | |
-|---|---|
-| The picture shows the architecture defined by the above command. The topolgy of the network is completely defined through the number of layers and units because in this implementation of the MLP every unit is fully connected to the units of the next and previous layer. Bias units are added automatically. | ![Multilayer perceptron network][mlp] |
-
-[mlp]: mlperceptron_structure.png "Architecture of a three-layer MLP"
-### Testing
-
-To test / run the multilayer perceptron classification on the trained model, we can use the following command
-
-
- $ bin/mahout org.apache.mahout.classifier.mlp.RunMultilayerPerceptron \
- -i ./mrlegacy/src/test/resources/iris.csv -sh -cr 0 3 \
- -mo /tmp/model.model -o /tmp/labelResult.txt
-
-
-The individual parameters are explained in the following.
-
-- `-i ./mrlegacy/src/test/resources/iris.csv` use the iris data set as input data
-- `-sh` since the file `iris.csv` contains a header row, this row needs to be skipped
-- `-cr 0 3` we specify the column range of the input file
-- `-mo /tmp/model.model` specify where the model file is stored
-- `-o /tmp/labelResult.txt` specify where the labeled output file will be stored
-
-Implementation
---------------
-
-The Multilayer Perceptron implementation is based on a more general Neural Network class. Command line support was added later on and provides a simple usage of the MLP as shown in the example. It is implemented to run on a single machine using stochastic gradient descent where the weights are updated using one datapoint at a time, resulting in a weight update of the form:
-$$ \vec{w}^{(t + 1)} = \vec{w}^{(t)} - n \Delta E_n(\vec{w}^{(t)}) $$
-
-where *a* is the activation of the unit. It is not yet possible to change the learning to more advanced methods using adaptive learning rates yet.
-
-The number of layers and units per layer can be specified manually and determines the whole topology with each unit being fully connected to the previous layer. A bias unit is automatically added to the input of every layer.
-Currently, the logistic sigmoid is used as a squashing function in every hidden and output layer. It is of the form:
-
-$$ \frac{1}{1 + exp(-a)} $$
-
-The command line version **does not perform iterations** which leads to bad results on small datasets. Another restriction is, that the CLI version of the MLP only supports classification, since the labels have to be given explicitly when executing on the command line.
-
-A learned model can be stored and updated with new training instanced using the `--update` flag. Output of classification reults is saved as a .txt-file and only consists of the assigned labels. Apart from the command-line interface, it is possible to construct and compile more specialized neural networks using the API and interfaces in the mrlegacy package.
-
-
-Theoretical Background
--------------------------
-
-The *multilayer perceptron* was inspired by the biological structure of the brain where multiple neurons are connected and form columns and layers. Perceptual input enters this network through our sensory organs and is then further processed into higher levels.
-The term multilayer perceptron is a little misleading since the *perceptron* is a special case of a single *artificial neuron* that can be used for simple computations [\[1\]][1]. The difference is that the perceptron uses a discontinous nonlinearity while for the MLP neurons that are implemented in mahout it is important to use continous nonlinearities. This is necessary for the implemented learning algorithm, where the error is propagated back from the output layer to the input layer and the weights of the connections are changed according to their contribution to the overall error. This algorithm is called backpropagation and uses gradient descent to update the weights. To compute the gradients we need continous nonlinearities. But let's start from the beginning!
-
-The first layer of the MLP represents the input and has no other purpose than routing the input to every connected unit in a feed-forward fashion. Following layers are called hidden layers and the last layer serves the special purpose to determine the output. The activation of a unit *u* in a hidden layer is computed through a weighted sum of all inputs, resulting in
-$$ a_j = \sum_{i=1}^{D} w_{ji}^{(l)} x_i + w_{j0}^{(l)} $$
-This computes the activation *a* for neuron *j* where *w* is the weight from neuron *i* to neuron *j* in layer *l*. The last part, where *i = 0* is called the bias and can be used as an offset, independent from the input.
-
-The activation is then transformed by the aforementioned differentiable, nonlinear *activation function* and serves as the input to the next layer. The activation function is usually chosen from the family of sigmoidal functions such as *tanh* or *logistic sigmoidal* [\[2\]][2]. Often sigmoidal and logistic sigmoidal are used synonymous. Another word for the activation function is *squashing function* since the s-shape of this function class *squashes* the input.
-
-For different units or layers, different activation functions can be used to obtain different behaviors. Especially in the output layer, the activation function can be chosen to obtain the output value *y*, depending on the learning problem:
-$$ y_k = \sigma (a_k) $$
-
-If the learning problem is a linear regression task, sigma can be chosen to be the identity function. In case of classification problems, the choice of the squashing functions depends on the exact task at hand and often softmax activation functions are used.
-
-The equation for a MLP with three layers (one input, one hidden and one output) is then given by
-
-$$ y_k(\vec{x}, \vec{w}) = h \left( \sum_{j=1}^{M} w_{kj}^{(2)} h \left( \sum_{i=1}^{D} w_{ji}^{(1)} x_i + w_{j0}^{(1)} \right) + w_{k0}^{(2)} \right) $$
-
-where *h* indicates the respective squashing function that is used in the units of a layer. *M* and *D* specify the number of incoming connections to a unit and we can see that the input to the first layer (hidden layer) is just the original input *x* whereas the input into the second layer (output layer) is the transformed output of layer one. The output *y* of unit *k* is therefore given by the above equation and depends on the input *x* and the weight vector *w*. This shows us, that the parameter that we can optimize during learning is *w* since we can not do anything about the input *x*. To facilitate the following steps, we can include the bias-terms into the weight vector and correct for the indices by adding another dimension with the value 1 to the input vector. The bias is a constant factor that is added to the weighted sum and that serves as a scaling factor of the nonlinear transformation. Including it into the weight vector leads to:
-
-$$ y_k(\vec{x}, \vec{w}) = h \left( \sum_{j=0}^{M} w_{kj}^{(2)} h \left( \sum_{i=0}^{D} w_{ji}^{(1)} x_i \right) \right) $$
-
-The previous paragraphs described how the MLP transforms a given input into some output using a combination of different nonlinear functions. Of course what we really want is to learn the structure of our data so that we can feed data with unknown labels into the network and get the estimated target labels *t*. To achieve this, we have to train our network. In this context, training means optimizing some function such that the error between the real labels *y* and the network-output *t* becomes smallest. We have seen in the previous pragraph, that our only knob to change is the weight vector *w*, making the function to be optimized a function of *w*. For simplicitly and because it is widely used, we choose the so called *sum-of-squares* error function as an example that is given by
-
-$$ E(\vec{w}) = \frac{1}{2} \sum_{n=1}^N \left( y(\vec{x}_n, \vec{w}) - t_n \right)^2 $$
-
-The goal is to minimize this function and thereby increase the performance of our model. A common method to achieve this is to use gradient descent and the so called technique of *backpropagation* where the goal is to compute the contribution of every unit to the overall error and changing the weight according to this contribution and into the direction of the gradient of the error function at this particular unit. In the following we try to give a short overview of the model training with gradient descent and backpropagation. A more detailed example can be found in [\[3\]][3] where much of this information is taken from.
-
-The problem with minimizing the error function is that the error can only be computed at the output layers where we get *t*, but we want to update all the weights of all the units. Therefore we use the technique of backpropagation to propagate the error, that we first compute at the output layer, back to the units of the previous layers. For this approach we also need to compute the gradients of the activation function.
-
-Weights are then updated with a small step in the direction of the negative gradient, regulated by the learning rate *n* such that we arrive at the formula for weight update:
-
-$$ \vec{w}^{(t + 1)} = \vec{w}^{(t)} - n \Delta E(\vec{w}^{(t)}) $$
-
-A momentum weight can be set as a parameter of the gradient descent method to increase the probability of finding better local or global optima of the error function.
-
-
-
-
-
-[1]: http://en.wikipedia.org/wiki/Perceptron "The perceptron in wikipedia"
-[2]: http://en.wikipedia.org/wiki/Sigmoid_function "Sigmoid function on wikipedia"
-[3]: http://research.microsoft.com/en-us/um/people/cmbishop/prml/ "Christopher M. Bishop: Pattern Recognition and Machine Learning, Springer 2009"
-
-References
-
-\[1\] http://en.wikipedia.org/wiki/Perceptron
-
-\[2\] http://en.wikipedia.org/wiki/Sigmoid_function
-
-\[3\] [Christopher M. Bishop: Pattern Recognition and Machine Learning, Springer 2009](http://research.microsoft.com/en-us/um/people/cmbishop/prml/)
-

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/docs/algorithms/map-reduce/classification/naivebayes.md
----------------------------------------------------------------------
diff --git a/website-old/docs/algorithms/map-reduce/classification/naivebayes.md b/website-old/docs/algorithms/map-reduce/classification/naivebayes.md
deleted file mode 100644
index bbe1a2b..0000000
--- a/website-old/docs/algorithms/map-reduce/classification/naivebayes.md
+++ /dev/null
@@ -1,45 +0,0 @@
----
-layout: algorithm
-title: (Deprecated) NaiveBayes
-theme:
- name: retro-mahout
----
-
-<a name="NaiveBayes-NaiveBayes"></a>
-# Naive Bayes
-
-Naive Bayes is an algorithm that can be used to classify objects into
-usually binary categories. It is one of the most common learning algorithms
-in spam filters. Despite its simplicity and rather naive assumptions it has
-proven to work surprisingly well in practice.
-
-Before applying the algorithm, the objects to be classified need to be
-represented by numerical features. In the case of e-mail spam each feature
-might indicate whether some specific word is present or absent in the mail
-to classify. The algorithm comes in two phases: Learning and application.
-During learning, a set of feature vectors is given to the algorithm, each
-vector labeled with the class the object it represents, belongs to. From
-that it is deduced which combination of features appears with high
-probability in spam messages. Given this information, during application
-one can easily compute the probability of a new message being either spam
-or not.
-
-The algorithm does make several assumptions, that are not true for most
-datasets, but make computations easier. The worst probably being, that all
-features of an objects are considered independent. In practice, that means,
-given the phrase "Statue of Liberty" was already found in a text, does not
-influence the probability of seeing the phrase "New York" as well.
-
-<a name="NaiveBayes-StrategyforaparallelNaiveBayes"></a>
-## Strategy for a parallel Naive Bayes
-
-See [https://issues.apache.org/jira/browse/MAHOUT-9](https://issues.apache.org/jira/browse/MAHOUT-9)
-.
-
-
-<a name="NaiveBayes-Examples"></a>
-## Examples
-
-[20Newsgroups](20newsgroups.html)
- - Example code showing how to train and use the Naive Bayes classifier
-using the 20 Newsgroups data available at [http://people.csail.mit.edu/jrennie/20Newsgroups/]

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/docs/algorithms/map-reduce/classification/neural-network.md
----------------------------------------------------------------------
diff --git a/website-old/docs/algorithms/map-reduce/classification/neural-network.md b/website-old/docs/algorithms/map-reduce/classification/neural-network.md
deleted file mode 100644
index 0cf09bd..0000000
--- a/website-old/docs/algorithms/map-reduce/classification/neural-network.md
+++ /dev/null
@@ -1,22 +0,0 @@
----
-layout: algorithm
-title: (Deprecated) Neural Network
-theme:
- name: retro-mahout
----
-
-<a name="NeuralNetwork-NeuralNetworks"></a>
-# Neural Networks
-
-Neural Networks are a means for classifying multi dimensional objects. We
-concentrate on implementing back propagation networks with one hidden layer
-as these networks have been covered by the [2006 NIPS map reduce paper](http://www.cs.stanford.edu/people/ang/papers/nips06-mapreducemulticore.pdf)
-. Those networks are capable of learning not only linear separating hyper
-planes but arbitrary decision boundaries.
-
-<a name="NeuralNetwork-Strategyforparallelbackpropagationnetwork"></a>
-## Strategy for parallel backpropagation network
-
-
-<a name="NeuralNetwork-Designofimplementation"></a>
-## Design of implementation
a***@apache.org
2017-12-21 04:53:22 UTC
Permalink
MAHOUT-1981 Merged site updates, fixed navbars, Mathjax


Project: http://git-wip-us.apache.org/repos/asf/mahout/repo
Commit: http://git-wip-us.apache.org/repos/asf/mahout/commit/9beddd31
Tree: http://git-wip-us.apache.org/repos/asf/mahout/tree/9beddd31
Diff: http://git-wip-us.apache.org/repos/asf/mahout/diff/9beddd31

Branch: refs/heads/master
Commit: 9beddd3108ae453091a21a881c6693016f5f2012
Parents: ec5eb31
Author: Trevor a.k.a @rawkintrevo <***@gmail.com>
Authored: Mon Dec 4 20:53:19 2017 -0600
Committer: Trevor a.k.a @rawkintrevo <***@gmail.com>
Committed: Mon Dec 4 20:53:19 2017 -0600

----------------------------------------------------------------------
.gitignore | 4 +-
website-old/README.md | 163 -
website-old/_includes/JB/analytics | 20 -
.../_includes/JB/analytics-providers/gauges | 13 -
.../_includes/JB/analytics-providers/getclicky | 12 -
.../_includes/JB/analytics-providers/google | 11 -
.../JB/analytics-providers/google-universal | 9 -
.../_includes/JB/analytics-providers/mixpanel | 11 -
.../_includes/JB/analytics-providers/piwik | 10 -
website-old/_includes/JB/categories_list | 37 -
website-old/_includes/JB/comments | 18 -
.../_includes/JB/comments-providers/disqus | 15 -
.../_includes/JB/comments-providers/duoshuo | 14 -
.../_includes/JB/comments-providers/facebook | 9 -
.../JB/comments-providers/intensedebate | 6 -
.../_includes/JB/comments-providers/livefyre | 6 -
website-old/_includes/JB/feedburner | 3 -
website-old/_includes/JB/file_exists | 26 -
website-old/_includes/JB/gist | 19 -
website-old/_includes/JB/is_production | 39 -
website-old/_includes/JB/liquid_raw | 32 -
website-old/_includes/JB/pages_list | 39 -
website-old/_includes/JB/posts_collate | 55 -
website-old/_includes/JB/setup | 28 -
website-old/_includes/JB/sharing | 9 -
website-old/_includes/JB/sort_collection | 81 -
website-old/_includes/JB/tags_list | 33 -
.../_includes/themes/mahout-retro/default.html | 166 -
.../_includes/themes/mahout-retro/page.html | 9 -
.../_includes/themes/mahout-retro/post.html | 9 -
.../_includes/themes/mahout-retro/settings.yml | 2 -
.../_includes/themes/mahout/body-old.html | 22 -
.../_includes/themes/mahout/default.html | 71 -
website-old/_includes/themes/mahout/footer.html | 13 -
website-old/_includes/themes/mahout/header.html | 75 -
.../_includes/themes/mahout/homepage.html | 160 -
.../_includes/themes/mahout/navbar_main.html | 69 -
website-old/_includes/themes/mahout/page.html | 9 -
.../_includes/themes/mahout/pagination.html | 35 -
website-old/_includes/themes/mahout/post.html | 47 -
.../_includes/themes/mahout/settings.yml | 2 -
website-old/_includes/themes/mahout/tile.html | 36 -
.../_includes/themes/mahout/title-group.html | 43 -
.../_includes/themes/mahout2/default.html | 115 -
website-old/_includes/themes/mahout2/page.html | 9 -
website-old/_includes/themes/mahout2/post.html | 9 -
.../_includes/themes/mahout2/settings.yml | 2 -
.../_includes/themes/mahout3/algorithm.html | 13 -
.../_includes/themes/mahout3/default.html | 117 -
.../_includes/themes/mahout3/mr_algorithm.html | 13 -
.../_includes/themes/mahout3/mr_tutorial.html | 13 -
website-old/_includes/themes/mahout3/page.html | 9 -
website-old/_includes/themes/mahout3/post.html | 9 -
.../_includes/themes/mahout3/settings.yml | 2 -
.../_includes/themes/mahout3/tutorial.html | 13 -
website-old/assets/img/2dDirichletASN.png | Bin 61964 -> 0 bytes
website-old/assets/img/2dDirichletASN4040.png | Bin 80547 -> 0 bytes
website-old/assets/img/2dDirichletSN.png | Bin 70586 -> 0 bytes
website-old/assets/img/2dFuzzyKMeans.png | Bin 59029 -> 0 bytes
website-old/assets/img/2dKMeans.png | Bin 56553 -> 0 bytes
website-old/assets/img/2dMeanShift.png | Bin 42083 -> 0 bytes
website-old/assets/img/AsymmetricSampleData.png | Bin 37665 -> 0 bytes
website-old/assets/img/Canopy.png | Bin 48061 -> 0 bytes
website-old/assets/img/Canopy10.png | Bin 42414 -> 0 bytes
website-old/assets/img/DirichletASN.png | Bin 50460 -> 0 bytes
website-old/assets/img/DirichletN.png | Bin 85831 -> 0 bytes
website-old/assets/img/DirichletSN.png | Bin 75029 -> 0 bytes
website-old/assets/img/DirichletSN40.png | Bin 84339 -> 0 bytes
...entation of k-Means provided with Mahout.png | Bin 244837 -> 0 bytes
website-old/assets/img/FuzzyKMeans.png | Bin 50444 -> 0 bytes
website-old/assets/img/KMeans.png | Bin 62848 -> 0 bytes
website-old/assets/img/Mahout-logo-164x200.png | Bin 10577 -> 0 bytes
website-old/assets/img/Mahout-logo-245x300.png | Bin 16214 -> 0 bytes
website-old/assets/img/Mahout-logo-327x400.png | Bin 22115 -> 0 bytes
website-old/assets/img/Mahout-logo-82x100.png | Bin 5140 -> 0 bytes
website-old/assets/img/MeanShift.png | Bin 40236 -> 0 bytes
website-old/assets/img/SampleData.png | Bin 32587 -> 0 bytes
website-old/assets/img/bg.png | Bin 3894 -> 0 bytes
website-old/assets/img/debug-config-2.png | Bin 118953 -> 0 bytes
website-old/assets/img/debug-config.png | Bin 48956 -> 0 bytes
website-old/assets/img/download-mahout.png | Bin 10154 -> 0 bytes
website-old/assets/img/download-original.png | Bin 56689 -> 0 bytes
website-old/assets/img/download.png | Bin 6151 -> 0 bytes
.../assets/img/flink_squirrel_100_color.png | Bin 16446 -> 0 bytes
website-old/assets/img/generic page.png | Bin 306779 -> 0 bytes
.../assets/img/home-wrapper-original.png | Bin 435604 -> 0 bytes
website-old/assets/img/home-wrapper-v2.png | Bin 59828 -> 0 bytes
website-old/assets/img/home-wrapper-v3.png | Bin 111463 -> 0 bytes
website-old/assets/img/home-wrapper.png | Bin 57264 -> 0 bytes
website-old/assets/img/instruction_arrow.png | Bin 285 -> 0 bytes
website-old/assets/img/logo.png | Bin 25615 -> 0 bytes
website-old/assets/img/mahout-logo-100.png | Bin 19477 -> 0 bytes
website-old/assets/img/mahout-logo-200.png | Bin 46360 -> 0 bytes
website-old/assets/img/mahout-logo-300.png | Bin 70139 -> 0 bytes
website-old/assets/img/mahout-logo-400.png | Bin 55468 -> 0 bytes
website-old/assets/img/mahout-logo-brudman.png | Bin 59233 -> 0 bytes
.../assets/img/mahout-logo-poweredby-100.png | Bin 24623 -> 0 bytes
.../assets/img/mahout-logo-poweredby-55.png | Bin 11684 -> 0 bytes
.../assets/img/mahout-logo-poweredby.png | Bin 75777 -> 0 bytes
.../assets/img/mahout-logo-transparent-400.png | Bin 61970 -> 0 bytes
website-old/assets/img/mahout-logo.png | Bin 79779 -> 0 bytes
website-old/assets/img/mahout-lupe.png | Bin 479 -> 0 bytes
website-old/assets/img/mahout2_theme.png | Bin 285686 -> 0 bytes
website-old/assets/img/mahout_theme.png | Bin 271601 -> 0 bytes
website-old/assets/img/mantle-1-original.png | Bin 183285 -> 0 bytes
website-old/assets/img/mantle-asf.png | Bin 43710 -> 0 bytes
website-old/assets/img/mantle-community.png | Bin 47094 -> 0 bytes
website-old/assets/img/mantle-hadoop.png | Bin 34392 -> 0 bytes
website-old/assets/img/mantle-mahout.png | Bin 32609 -> 0 bytes
website-old/assets/img/screen.png | Bin 267592 -> 0 bytes
website-old/assets/img/sgd-class-hierarchy.png | Bin 259654 -> 0 bytes
website-old/assets/img/sidebar-original.png | Bin 48060 -> 0 bytes
website-old/assets/img/sidebar.png | Bin 401 -> 0 bytes
website-old/assets/img/taste-architecture.png | Bin 101546 -> 0 bytes
.../assets/img/vector-class-hierarchy.png | Bin 142705 -> 0 bytes
website-old/assets/img/wiki-bg.png | Bin 56041 -> 0 bytes
.../assets/img/wiki-wrapper-original.png | Bin 398249 -> 0 bytes
website-old/assets/img/wiki-wrapper.png | Bin 59718 -> 0 bytes
.../mahout-retro/css/bootstrap-responsive.css | 1109 ---
.../css/bootstrap-responsive.css.bu | 1109 ---
.../css/bootstrap-responsive.min.css | 9 -
.../themes/mahout-retro/css/bootstrap.css | 6165 ---------------
.../themes/mahout-retro/css/bootstrap.min.css | 9 -
.../assets/themes/mahout-retro/css/global.css | 938 ---
.../assets/themes/mahout-retro/css/global__.css | 886 ---
.../assets/themes/mahout-retro/css/main.css | 4 -
.../assets/themes/mahout-retro/js/bootstrap.js | 2276 ------
.../themes/mahout-retro/js/bootstrap.min.js | 6 -
.../assets/themes/mahout-retro/js/effects.js | 1130 ---
.../themes/mahout-retro/js/jquery-1.9.1.min.js | 5 -
.../assets/themes/mahout-retro/js/prototype.js | 4320 -----------
.../assets/themes/mahout-retro/js/search.js | 21 -
.../assets/themes/mahout-retro/js/slides.js | 109 -
.../assets/themes/mahout-retro/js/widgets.js | 45 -
.../mahout/bootstrap/css/bootstrap-theme.css | 459 --
.../bootstrap/css/bootstrap-theme.min.css | 9 -
.../themes/mahout/bootstrap/css/bootstrap.css | 7100 ------------------
.../fonts/glyphicons-halflings-regular.eot | Bin 20290 -> 0 bytes
.../fonts/glyphicons-halflings-regular.svg | 229 -
.../fonts/glyphicons-halflings-regular.ttf | Bin 41236 -> 0 bytes
.../fonts/glyphicons-halflings-regular.woff | Bin 23292 -> 0 bytes
.../img/glyphicons-halflings-white.png | Bin 8777 -> 0 bytes
.../bootstrap/img/glyphicons-halflings.png | Bin 12799 -> 0 bytes
.../themes/mahout/bootstrap/js/bootstrap.js | 2002 -----
.../themes/mahout/bootstrap/js/bootstrap.min.js | 9 -
website-old/assets/themes/mahout/css/style.css | 1128 ---
website-old/assets/themes/mahout/css/syntax.css | 60 -
.../assets/themes/mahout/imgx/asf_logo.png | Bin 21243 -> 0 bytes
.../mahout/imgx/available_interpreters.png | Bin 251135 -> 0 bytes
.../assets/themes/mahout/imgx/body-bg.jpg | Bin 3188 -> 0 bytes
.../assets/themes/mahout/imgx/graph1.png | Bin 19462 -> 0 bytes
.../assets/themes/mahout/imgx/graph2.png | Bin 22596 -> 0 bytes
.../assets/themes/mahout/imgx/header-bg.jpg | Bin 10442 -> 0 bytes
.../assets/themes/mahout/imgx/helium.gif | Bin 221381 -> 0 bytes
.../assets/themes/mahout/imgx/highlight-bg.jpg | Bin 34222 -> 0 bytes
.../assets/themes/mahout/imgx/interpreter.png | Bin 36035 -> 0 bytes
.../themes/mahout/imgx/maven_default_icon.png | Bin 4248 -> 0 bytes
.../assets/themes/mahout/imgx/notebook.png | Bin 194904 -> 0 bytes
.../assets/themes/mahout/imgx/personalize.gif | Bin 508468 -> 0 bytes
website-old/assets/themes/mahout/imgx/scope.gif | Bin 206852 -> 0 bytes
.../mahout/imgx/screenshots/collaboration.png | Bin 10901 -> 0 bytes
.../mahout/imgx/screenshots/display_angular.png | Bin 69621 -> 0 bytes
.../imgx/screenshots/display_angular1.png | Bin 97217 -> 0 bytes
.../imgx/screenshots/display_angular2.png | Bin 94041 -> 0 bytes
.../imgx/screenshots/display_angular3.png | Bin 76267 -> 0 bytes
.../mahout/imgx/screenshots/display_html.png | Bin 28401 -> 0 bytes
.../mahout/imgx/screenshots/display_image.png | Bin 25969 -> 0 bytes
.../mahout/imgx/screenshots/display_table.png | Bin 30912 -> 0 bytes
.../mahout/imgx/screenshots/display_table1.png | Bin 41254 -> 0 bytes
.../imgx/screenshots/display_table_html.png | Bin 33133 -> 0 bytes
.../mahout/imgx/screenshots/display_text.png | Bin 21517 -> 0 bytes
.../mahout/imgx/screenshots/display_text1.png | Bin 22977 -> 0 bytes
.../mahout/imgx/screenshots/dynamicform.png | Bin 119566 -> 0 bytes
.../mahout/imgx/screenshots/form_input.png | Bin 16832 -> 0 bytes
.../imgx/screenshots/form_input_default.png | Bin 15299 -> 0 bytes
.../screenshots/form_input_default_prog.png | Bin 16223 -> 0 bytes
.../mahout/imgx/screenshots/form_input_prog.png | Bin 17602 -> 0 bytes
.../mahout/imgx/screenshots/form_select.png | Bin 19207 -> 0 bytes
.../screenshots/form_select_displayname.png | Bin 20191 -> 0 bytes
.../imgx/screenshots/form_select_prog.png | Bin 26119 -> 0 bytes
.../imgx/screenshots/homepage_notebook_id.png | Bin 18950 -> 0 bytes
.../imgx/screenshots/homepage_notebook_list.png | Bin 35186 -> 0 bytes
.../imgx/screenshots/interpreter_create.png | Bin 10591 -> 0 bytes
.../imgx/screenshots/interpreter_setting.png | Bin 14602 -> 0 bytes
.../screenshots/interpreter_setting_spark.png | Bin 40237 -> 0 bytes
.../mahout/imgx/screenshots/link_paragraph.png | Bin 17113 -> 0 bytes
.../themes/mahout/imgx/screenshots/markdown.png | Bin 22145 -> 0 bytes
.../screenshots/multiple_language_backend.png | Bin 16491 -> 0 bytes
.../themes/mahout/imgx/screenshots/notebook.png | Bin 64398 -> 0 bytes
.../themes/mahout/imgx/screenshots/pivot.png | Bin 76003 -> 0 bytes
.../themes/mahout/imgx/screenshots/publish.png | Bin 548918 -> 0 bytes
.../themes/mahout/imgx/screenshots/spark.png | Bin 48215 -> 0 bytes
.../themes/mahout/imgx/screenshots/sparksql.png | Bin 36004 -> 0 bytes
.../mahout/imgx/screenshots/visualization.png | Bin 39545 -> 0 bytes
.../assets/themes/mahout/imgx/sidebar-bg.jpg | Bin 3200 -> 0 bytes
.../assets/themes/mahout/imgx/spark_logo.jpg | Bin 25886 -> 0 bytes
.../themes/mahout/imgx/user-impersonation.gif | Bin 913552 -> 0 bytes
.../mahout/imgx/zeppelin_classic_logo.png | Bin 24056 -> 0 bytes
.../assets/themes/mahout/imgx/zeppelin_logo.png | Bin 16393 -> 0 bytes
.../themes/mahout/imgx/zeppelin_svg_logo.svg | 77 -
.../assets/themes/mahout/js/anchor.min.js | 6 -
website-old/assets/themes/mahout/js/docs.js | 42 -
.../themes/mahout/js/helium.controller.js | 89 -
.../themes/mahout/js/medium.controller.js | 47 -
.../assets/themes/mahout/js/moment.min.js | 551 --
.../themes/mahout2/css/bootstrap-theme.min.css | 7 -
.../assets/themes/mahout2/css/bootstrap.min.css | 7 -
.../themes/mahout2/css/bs-sticky-footer.css | 29 -
website-old/assets/themes/mahout2/css/style.css | 126 -
.../fonts/glyphicons-halflings-regular.eot | Bin 20290 -> 0 bytes
.../fonts/glyphicons-halflings-regular.svg | 229 -
.../fonts/glyphicons-halflings-regular.ttf | Bin 41236 -> 0 bytes
.../fonts/glyphicons-halflings-regular.woff | Bin 23292 -> 0 bytes
.../assets/themes/mahout2/js/bootstrap.min.js | 7 -
.../themes/mahout3/css/bootstrap-theme.min.css | 7 -
.../assets/themes/mahout3/css/bootstrap.min.css | 7 -
.../themes/mahout3/css/bs-sticky-footer.css | 29 -
website-old/assets/themes/mahout3/css/style.css | 161 -
.../fonts/glyphicons-halflings-regular.eot | 0
.../fonts/glyphicons-halflings-regular.svg | 229 -
.../fonts/glyphicons-halflings-regular.ttf | 0
.../fonts/glyphicons-halflings-regular.woff | 0
.../assets/themes/mahout3/js/bootstrap.min.js | 17 -
website-old/docs/404.html | 1 -
website-old/docs/Gemfile | 5 -
website-old/docs/README.md | 16 -
website-old/docs/Rakefile | 306 -
website-old/docs/_config.yml | 140 -
website-old/docs/_includes/JB | 1 -
website-old/docs/_includes/algo_navbar.html | 91 -
website-old/docs/_includes/navbar.html | 109 -
website-old/docs/_includes/themes | 1 -
website-old/docs/_includes/tutorial_navbar.html | 62 -
website-old/docs/_layouts/algorithm.html | 7 -
website-old/docs/_layouts/default.html | 6 -
website-old/docs/_layouts/page.html | 7 -
website-old/docs/_layouts/post.html | 7 -
website-old/docs/_layouts/tutorial.html | 7 -
website-old/docs/_plugins/debug.rb | 38 -
.../algorithms/clustering/canopy/Canopy.png | Bin 48061 -> 0 bytes
.../algorithms/clustering/canopy/Canopy10.png | Bin 42414 -> 0 bytes
.../algorithms/clustering/canopy/SampleData.png | Bin 32587 -> 0 bytes
.../docs/algorithms/clustering/canopy/index.md | 128 -
.../algorithms/clustering/distance-metrics.md | 82 -
website-old/docs/algorithms/clustering/index.md | 6 -
.../docs/algorithms/linear-algebra/d-qr.md | 56 -
.../docs/algorithms/linear-algebra/d-spca.md | 175 -
.../docs/algorithms/linear-algebra/d-ssvd.md | 140 -
.../docs/algorithms/linear-algebra/index.md | 16 -
.../map-reduce/classification/bayesian.md | 147 -
.../classification/class-discovery.md | 155 -
.../classification/classifyingyourdata.md | 27 -
.../map-reduce/classification/collocations.md | 385 -
.../gaussian-discriminative-analysis.md | 20 -
.../classification/hidden-markov-models.md | 102 -
.../independent-component-analysis.md | 17 -
.../locally-weighted-linear-regression.md | 25 -
.../classification/logistic-regression.md | 129 -
.../classification/mahout-collections.md | 60 -
.../algorithms/map-reduce/classification/mlp.md | 172 -
.../map-reduce/classification/naivebayes.md | 45 -
.../map-reduce/classification/neural-network.md | 22 -
.../classification/partial-implementation.md | 146 -
.../map-reduce/classification/random-forests.md | 234 -
.../restricted-boltzmann-machines.md | 49 -
.../classification/support-vector-machines.md | 43 -
.../map-reduce/clustering/canopy-clustering.md | 191 -
.../map-reduce/clustering/cluster-dumper.md | 106 -
.../clustering/expectation-maximization.md | 62 -
.../map-reduce/clustering/fuzzy-k-means.md | 184 -
.../clustering/hierarchical-clustering.md | 15 -
.../map-reduce/clustering/k-means-clustering.md | 182 -
.../clustering/latent-dirichlet-allocation.md | 155 -
.../clustering/llr---log-likelihood-ratio.md | 46 -
.../clustering/spectral-clustering.md | 84 -
.../map-reduce/clustering/streaming-k-means.md | 174 -
website-old/docs/algorithms/map-reduce/index.md | 42 -
.../docs/algorithms/preprocessors/AsFactor.md | 35 -
.../docs/algorithms/preprocessors/MeanCenter.md | 30 -
.../algorithms/preprocessors/StandardScaler.md | 44 -
.../docs/algorithms/preprocessors/index.md | 10 -
website-old/docs/algorithms/reccomenders/cco.md | 435 --
.../docs/algorithms/reccomenders/d-als.md | 58 -
.../docs/algorithms/reccomenders/index.md | 33 -
.../algorithms/regression/fittness-tests.md | 17 -
website-old/docs/algorithms/regression/index.md | 21 -
website-old/docs/algorithms/regression/ols.md | 66 -
.../serial-correlation/cochrane-orcutt.md | 146 -
.../regression/serial-correlation/dw-test.md | 43 -
website-old/docs/algorithms/template.md | 20 -
website-old/docs/assets | 1 -
website-old/docs/changelog.md | 70 -
website-old/docs/distributed/flink-bindings.md | 49 -
website-old/docs/distributed/h2o-internals.md | 50 -
.../MahoutScalaAndSparkBindings.pptx | Bin 846177 -> 0 bytes
.../spark-bindings/ScalaSparkBindings.pdf | 6215 ---------------
.../docs/distributed/spark-bindings/faq.md | 52 -
.../docs/distributed/spark-bindings/index.md | 104 -
website-old/docs/index.md | 110 -
website-old/docs/mahout-samsara/faq.md | 51 -
.../docs/mahout-samsara/in-core-reference.md | 303 -
.../mahout-samsara/out-of-core-reference.md | 317 -
website-old/docs/native-solvers/cuda.md | 6 -
website-old/docs/native-solvers/viennacl-omp.md | 6 -
website-old/docs/native-solvers/viennacl.md | 6 -
website-old/docs/quickstart.md | 63 -
website-old/docs/screenshots/landing.png | Bin 205187 -> 0 bytes
website-old/docs/screenshots/mr-algos.png | Bin 316933 -> 0 bytes
website-old/docs/screenshots/tutorials.png | Bin 350203 -> 0 bytes
.../docs/tutorials/cco-lastfm/cco-lastfm.scala | 83 -
website-old/docs/tutorials/cco-lastfm/index.md | 151 -
.../docs/tutorials/eigenfaces/eigenfaces.png | Bin 355453 -> 0 bytes
website-old/docs/tutorials/eigenfaces/index.md | 128 -
.../tutorials/intro-cooccurrence-spark/index.md | 446 --
.../classification/bankmarketing-example.md | 53 -
.../classification/breiman-example.md | 67 -
.../classification/twenty-newsgroups.md | 179 -
.../wikipedia-classifier-example.md | 57 -
.../map-reduce/clustering/20newsgroups.md | 11 -
.../map-reduce/clustering/canopy-commandline.md | 70 -
.../clustering-of-synthetic-control-data.md | 53 -
.../clustering/clustering-seinfeld-episodes.md | 11 -
.../map-reduce/clustering/clusteringyourdata.md | 126 -
.../clustering/fuzzy-k-means-commandline.md | 97 -
.../clustering/k-means-commandline.md | 94 -
.../map-reduce/clustering/lda-commandline.md | 83 -
.../map-reduce/clustering/viewing-result.md | 15 -
.../map-reduce/clustering/viewing-results.md | 49 -
.../clustering/visualizing-sample-clusters.md | 50 -
website-old/docs/tutorials/map-reduce/index.md | 19 -
.../map-reduce/misc/mr---map-reduce.md | 19 -
.../misc/parallel-frequent-pattern-mining.md | 185 -
.../map-reduce/misc/perceptron-and-winnow.md | 41 -
.../docs/tutorials/map-reduce/misc/testing.md | 46 -
.../misc/using-mahout-with-python-via-jpype.md | 222 -
.../map-reduce/recommender/intro-als-hadoop.md | 98 -
.../recommender/intro-cooccurrence-spark.md | 437 --
.../recommender/intro-itembased-hadoop.md | 54 -
.../recommender/matrix-factorization.md | 187 -
.../map-reduce/recommender/quickstart.md | 32 -
.../recommender/recommender-documentation.md | 277 -
.../recommender/recommender-first-timer-faq.md | 54 -
.../recommender/userbased-5-minutes.md | 133 -
.../tutorials/misc/contributing-algos/Foo.scala | 75 -
.../RegressionSuiteBase.scala | 202 -
.../misc/contributing-algos/create-pr.png | Bin 27568 -> 0 bytes
.../misc/contributing-algos/github-branch.png | Bin 87923 -> 0 bytes
.../tutorials/misc/contributing-algos/index.md | 416 -
.../tutorials/misc/contributing-algos/jira.png | Bin 30685 -> 0 bytes
.../misc/contributing-algos/new-jira.png | Bin 75111 -> 0 bytes
.../docs/tutorials/misc/how-to-build-an-app.md | 256 -
.../tutorials/misc/mahout-in-zeppelin/index.md | 276 -
.../misc/mahout-in-zeppelin/zeppelin1.png | Bin 50936 -> 0 bytes
.../misc/mahout-in-zeppelin/zeppelin2.png | Bin 46906 -> 0 bytes
.../misc/mahout-in-zeppelin/zeppelin3.png | Bin 68551 -> 0 bytes
.../samsara/classify-a-doc-from-the-shell.md | 258 -
.../docs/tutorials/samsara/play-with-shell.md | 199 -
.../samsara/playing-with-samsara-flink-batch.md | 111 -
.../docs/tutorials/samsara/spark-naive-bayes.md | 132 -
website-old/front/404.html | 1 -
website-old/front/Gemfile | 5 -
website-old/front/README.md | 5 -
website-old/front/Rakefile | 306 -
website-old/front/_config.yml | 134 -
website-old/front/_includes/JB | 1 -
website-old/front/_includes/navbar.html | 91 -
website-old/front/_includes/themes | 1 -
website-old/front/_layouts/default.html | 6 -
website-old/front/_layouts/page.html | 7 -
website-old/front/_layouts/post.html | 7 -
website-old/front/_plugins/debug.rb | 38 -
website-old/front/archive.html | 10 -
website-old/front/assets | 1 -
website-old/front/categories.html | 22 -
website-old/front/changelog.md | 70 -
website-old/front/community/blogs.md | 28 -
website-old/front/community/buildingmahout.md | 128 -
website-old/front/community/gsoc.md | 64 -
website-old/front/community/history.md | 20 -
website-old/front/community/mailing-lists.md | 47 -
website-old/front/community/privacy-policy.md | 30 -
.../front/community/recent-upcoming-talks.md | 19 -
website-old/front/community/who-we-are.md | 64 -
website-old/front/developers/githubPRs.md | 84 -
.../developers/how-to-become-a-committer.md | 28 -
.../front/developers/how-to-contribute.md | 155 -
website-old/front/developers/how-to-release.md | 241 -
.../developers/how-to-update-the-website.md | 40 -
website-old/front/developers/index.md | 47 -
website-old/front/developers/issue-tracker.md | 46 -
website-old/front/developers/key-concepts.md | 43 -
.../front/developers/patch-check-list.md | 30 -
website-old/front/developers/publish-website.md | 123 -
website-old/front/developers/release-notes.md | 249 -
website-old/front/developers/version-control.md | 38 -
website-old/front/downloads.md | 67 -
website-old/front/index.md | 148 -
website-old/front/screenshots/landing.png | Bin 338899 -> 0 bytes
website-old/oldsite/404.html | 1 -
website-old/oldsite/Gemfile | 5 -
website-old/oldsite/README.md | 15 -
website-old/oldsite/Rakefile | 306 -
website-old/oldsite/_config.yml | 137 -
website-old/oldsite/_includes/JB | 1 -
website-old/oldsite/_includes/assets | 0
website-old/oldsite/_includes/navbar.html | 138 -
website-old/oldsite/_includes/themes | 1 -
website-old/oldsite/_layouts/default.html | 6 -
website-old/oldsite/_layouts/page.html | 7 -
website-old/oldsite/_layouts/post.html | 7 -
website-old/oldsite/_plugins/debug.rb | 38 -
website-old/oldsite/assets | 1 -
website-old/oldsite/changelog.md | 70 -
.../oldsite/css/bootstrap-responsive.css | 1109 ---
.../oldsite/css/bootstrap-responsive.min.css | 9 -
website-old/oldsite/css/bootstrap.css | 6158 ---------------
website-old/oldsite/css/bootstrap.min.css | 9 -
website-old/oldsite/css/global.css | 938 ---
website-old/oldsite/css/global__.css | 886 ---
website-old/oldsite/css/main.css | 4 -
.../oldsite/developers/buildingmahout.md | 193 -
.../oldsite/developers/developer-resources.md | 52 -
website-old/oldsite/developers/github.md | 157 -
website-old/oldsite/developers/githubPRs.md | 80 -
website-old/oldsite/developers/gsoc.md | 65 -
.../developers/how-to-become-a-committer.md | 28 -
.../oldsite/developers/how-to-contribute.md | 154 -
.../oldsite/developers/how-to-release.md | 173 -
.../developers/how-to-update-the-website.md | 16 -
website-old/oldsite/developers/issue-tracker.md | 46 -
.../oldsite/developers/patch-check-list.md | 29 -
.../developers/thirdparty-dependencies.md | 30 -
.../oldsite/developers/version-control.md | 38 -
.../general/books-tutorials-and-talks.md | 121 -
website-old/oldsite/general/downloads.md | 68 -
website-old/oldsite/general/faq.md | 105 -
website-old/oldsite/general/glossary.md | 11 -
.../oldsite/general/mahout-benchmarks.md | 153 -
website-old/oldsite/general/mahout-wiki.md | 199 -
.../general/mailing-lists,-irc-and-archives.md | 75 -
.../oldsite/general/powered-by-mahout.md | 129 -
website-old/oldsite/general/privacy-policy.md | 28 -
.../oldsite/general/professional-support.md | 39 -
.../oldsite/general/reference-reading.md | 71 -
website-old/oldsite/general/release-notes.md | 242 -
website-old/oldsite/general/who-we-are.md | 62 -
website-old/oldsite/images/2dDirichletASN.png | Bin 61964 -> 0 bytes
.../oldsite/images/2dDirichletASN4040.png | Bin 80547 -> 0 bytes
website-old/oldsite/images/2dDirichletSN.png | Bin 70586 -> 0 bytes
website-old/oldsite/images/2dFuzzyKMeans.png | Bin 59029 -> 0 bytes
website-old/oldsite/images/2dKMeans.png | Bin 56553 -> 0 bytes
website-old/oldsite/images/2dMeanShift.png | Bin 42083 -> 0 bytes
.../oldsite/images/AsymmetricSampleData.png | Bin 37665 -> 0 bytes
website-old/oldsite/images/Canopy.png | Bin 48061 -> 0 bytes
website-old/oldsite/images/Canopy10.png | Bin 42414 -> 0 bytes
website-old/oldsite/images/DirichletASN.png | Bin 50460 -> 0 bytes
website-old/oldsite/images/DirichletN.png | Bin 85831 -> 0 bytes
website-old/oldsite/images/DirichletSN.png | Bin 75029 -> 0 bytes
website-old/oldsite/images/DirichletSN40.png | Bin 84339 -> 0 bytes
...entation of k-Means provided with Mahout.png | Bin 244837 -> 0 bytes
website-old/oldsite/images/FuzzyKMeans.png | Bin 50444 -> 0 bytes
website-old/oldsite/images/KMeans.png | Bin 62848 -> 0 bytes
.../oldsite/images/Mahout-logo-164x200.png | Bin 10577 -> 0 bytes
.../oldsite/images/Mahout-logo-245x300.png | Bin 16214 -> 0 bytes
.../oldsite/images/Mahout-logo-327x400.png | Bin 22115 -> 0 bytes
.../oldsite/images/Mahout-logo-82x100.png | Bin 5140 -> 0 bytes
.../oldsite/images/Mahout-logo-transparent.svg | 181 -
website-old/oldsite/images/MeanShift.png | Bin 40236 -> 0 bytes
website-old/oldsite/images/SampleData.png | Bin 32587 -> 0 bytes
website-old/oldsite/images/backward.gif | Bin 569 -> 0 bytes
website-old/oldsite/images/bg.png | Bin 3894 -> 0 bytes
website-old/oldsite/images/bullet.gif | Bin 279 -> 0 bytes
website-old/oldsite/images/debug-config-2.png | Bin 118953 -> 0 bytes
website-old/oldsite/images/debug-config.png | Bin 48956 -> 0 bytes
website-old/oldsite/images/download-mahout.png | Bin 10154 -> 0 bytes
.../oldsite/images/download-original.png | Bin 56689 -> 0 bytes
website-old/oldsite/images/download.png | Bin 6151 -> 0 bytes
website-old/oldsite/images/effects.js | 1130 ---
website-old/oldsite/images/favicon.ico | Bin 28838 -> 0 bytes
.../oldsite/images/flink_squirrel_100_color.png | Bin 16446 -> 0 bytes
website-old/oldsite/images/forward.gif | Bin 355 -> 0 bytes
website-old/oldsite/images/generic page.png | Bin 306779 -> 0 bytes
website-old/oldsite/images/global.css | 887 ---
website-old/oldsite/images/header_hot.jpg | Bin 13394 -> 0 bytes
website-old/oldsite/images/highlight-bullet.gif | Bin 160 -> 0 bytes
.../oldsite/images/home-wrapper-original.png | Bin 435604 -> 0 bytes
website-old/oldsite/images/home-wrapper-v2.png | Bin 59828 -> 0 bytes
website-old/oldsite/images/home-wrapper-v3.png | Bin 111463 -> 0 bytes
website-old/oldsite/images/home-wrapper.png | Bin 57264 -> 0 bytes
.../oldsite/images/instruction_arrow.png | Bin 285 -> 0 bytes
website-old/oldsite/images/logo.png | Bin 25615 -> 0 bytes
website-old/oldsite/images/mahout-logo-100.png | Bin 19477 -> 0 bytes
website-old/oldsite/images/mahout-logo-200.png | Bin 46360 -> 0 bytes
website-old/oldsite/images/mahout-logo-300.png | Bin 70139 -> 0 bytes
website-old/oldsite/images/mahout-logo-400.png | Bin 55468 -> 0 bytes
.../oldsite/images/mahout-logo-brudman.png | Bin 59233 -> 0 bytes
.../images/mahout-logo-poweredby-100.png | Bin 24623 -> 0 bytes
.../oldsite/images/mahout-logo-poweredby-55.png | Bin 11684 -> 0 bytes
.../oldsite/images/mahout-logo-poweredby.png | Bin 75777 -> 0 bytes
.../images/mahout-logo-transparent-400.png | Bin 61970 -> 0 bytes
website-old/oldsite/images/mahout-logo.png | Bin 79779 -> 0 bytes
website-old/oldsite/images/mahout-logo.svg | 627 --
website-old/oldsite/images/mahout-lupe.png | Bin 479 -> 0 bytes
website-old/oldsite/images/mahout-powered.svg | 676 --
.../oldsite/images/mantle-1-original.png | Bin 183285 -> 0 bytes
website-old/oldsite/images/mantle-asf.png | Bin 43710 -> 0 bytes
website-old/oldsite/images/mantle-community.png | Bin 47094 -> 0 bytes
website-old/oldsite/images/mantle-hadoop.png | Bin 34392 -> 0 bytes
website-old/oldsite/images/mantle-mahout.png | Bin 32609 -> 0 bytes
website-old/oldsite/images/pause.gif | Bin 644 -> 0 bytes
website-old/oldsite/images/prototype.js | 4320 -----------
website-old/oldsite/images/screen.png | Bin 267592 -> 0 bytes
website-old/oldsite/images/search.gif | Bin 344 -> 0 bytes
website-old/oldsite/images/search.js | 21 -
.../oldsite/images/sgd-class-hierarchy.png | Bin 259654 -> 0 bytes
website-old/oldsite/images/sidebar-original.png | Bin 48060 -> 0 bytes
website-old/oldsite/images/sidebar.png | Bin 401 -> 0 bytes
website-old/oldsite/images/slides.js | 109 -
website-old/oldsite/images/start.gif | Bin 341 -> 0 bytes
.../oldsite/images/taste-architecture.png | Bin 101546 -> 0 bytes
.../oldsite/images/vector-class-hierarchy.png | Bin 142705 -> 0 bytes
website-old/oldsite/images/wiki-bg.png | Bin 56041 -> 0 bytes
.../oldsite/images/wiki-wrapper-original.png | Bin 398249 -> 0 bytes
website-old/oldsite/images/wiki-wrapper.png | Bin 59718 -> 0 bytes
website-old/oldsite/images/wiki.css | 371 -
website-old/oldsite/images/wrapper.jpg | Bin 60020 -> 0 bytes
website-old/oldsite/index.md | 171 -
website-old/oldsite/js/bootstrap.js | 2276 ------
website-old/oldsite/js/bootstrap.min.js | 6 -
website-old/oldsite/js/effects.js | 1130 ---
website-old/oldsite/js/jquery-1.9.1.min.js | 5 -
website-old/oldsite/js/prototype.js | 4320 -----------
website-old/oldsite/js/search.js | 21 -
website-old/oldsite/js/slides.js | 109 -
website-old/oldsite/js/widgets.js | 45 -
website-old/oldsite/overview.md | 41 -
.../Apache-Mahout-0.10.0-Release-Notes.pdf | Bin 88739 -> 0 bytes
website-old/oldsite/users/algorithms/d-als.md | 60 -
website-old/oldsite/users/algorithms/d-qr.md | 59 -
website-old/oldsite/users/algorithms/d-spca.md | 176 -
website-old/oldsite/users/algorithms/d-ssvd.md | 143 -
.../algorithms/intro-cooccurrence-spark.md | 446 --
.../users/algorithms/recommender-overview.md | 33 -
.../users/algorithms/spark-naive-bayes.md | 132 -
website-old/oldsite/users/basics/algorithms.md | 58 -
website-old/oldsite/users/basics/collections.md | 96 -
.../oldsite/users/basics/collocations.md | 384 -
.../users/basics/creating-vectors-from-text.md | 291 -
.../oldsite/users/basics/creating-vectors.md | 16 -
.../basics/gaussian-discriminative-analysis.md | 20 -
.../basics/independent-component-analysis.md | 17 -
.../oldsite/users/basics/mahout-collections.md | 60 -
.../oldsite/users/basics/mahoutintegration.md | 6 -
.../users/basics/matrix-and-vector-needs.md | 88 -
.../basics/principal-components-analysis.md | 29 -
website-old/oldsite/users/basics/quickstart.md | 59 -
.../svd---singular-value-decomposition.md | 52 -
.../oldsite/users/basics/system-requirements.md | 20 -
...term-frequency-inverse-document-frequency.md | 21 -
.../classification/bankmarketing-example.md | 53 -
.../classification/bayesian-commandline.md | 64 -
.../oldsite/users/classification/bayesian.md | 147 -
.../users/classification/breiman-example.md | 67 -
.../users/classification/class-discovery.md | 155 -
.../users/classification/classifyingyourdata.md | 27 -
.../classification/hidden-markov-models.md | 102 -
.../locally-weighted-linear-regression.md | 25 -
.../users/classification/logistic-regression.md | 129 -
website-old/oldsite/users/classification/mlp.md | 172 -
.../oldsite/users/classification/naivebayes.md | 45 -
.../users/classification/neural-network.md | 22 -
.../classification/partial-implementation.md | 146 -
.../users/classification/random-forests.md | 234 -
.../restricted-boltzmann-machines.md | 49 -
.../classification/support-vector-machines.md | 43 -
.../users/classification/twenty-newsgroups.md | 179 -
.../wikipedia-classifier-example.md | 57 -
.../oldsite/users/clustering/20newsgroups.md | 11 -
.../users/clustering/canopy-clustering.md | 188 -
.../users/clustering/canopy-commandline.md | 70 -
.../oldsite/users/clustering/cluster-dumper.md | 106 -
.../clustering-of-synthetic-control-data.md | 53 -
.../clustering/clustering-seinfeld-episodes.md | 11 -
.../users/clustering/clusteringyourdata.md | 126 -
.../clustering/expectation-maximization.md | 62 -
.../clustering/fuzzy-k-means-commandline.md | 97 -
.../oldsite/users/clustering/fuzzy-k-means.md | 186 -
.../users/clustering/hierarchical-clustering.md | 15 -
.../users/clustering/k-means-clustering.md | 182 -
.../users/clustering/k-means-commandline.md | 94 -
.../clustering/latent-dirichlet-allocation.md | 155 -
.../oldsite/users/clustering/lda-commandline.md | 83 -
.../clustering/llr---log-likelihood-ratio.md | 46 -
.../users/clustering/spectral-clustering.md | 84 -
.../users/clustering/streaming-k-means.md | 174 -
.../oldsite/users/clustering/viewing-result.md | 15 -
.../oldsite/users/clustering/viewing-results.md | 49 -
.../clustering/visualizing-sample-clusters.md | 50 -
.../dim-reduction/dimensional-reduction.md | 446 --
website-old/oldsite/users/dim-reduction/ssvd.md | 127 -
.../users/dim-reduction/ssvd.page/SSVD-CLI.pdf | Bin 462679 -> 0 bytes
.../users/dim-reduction/ssvd.page/ssvd.R | 181 -
.../classify-a-doc-from-the-shell.md | 258 -
.../oldsite/users/environment/h2o-internals.md | 51 -
.../users/environment/how-to-build-an-app.md | 257 -
.../users/environment/in-core-reference.md | 304 -
.../users/environment/out-of-core-reference.md | 318 -
.../users/environment/spark-internals.md | 25 -
.../users/flinkbindings/flink-internals.md | 50 -
.../flinkbindings/playing-with-samsara-flink.md | 111 -
.../oldsite/users/misc/mr---map-reduce.md | 19 -
.../misc/parallel-frequent-pattern-mining.md | 185 -
.../oldsite/users/misc/perceptron-and-winnow.md | 41 -
website-old/oldsite/users/misc/testing.md | 46 -
.../misc/using-mahout-with-python-via-jpype.md | 222 -
.../users/recommender/intro-als-hadoop.md | 98 -
.../recommender/intro-cooccurrence-spark.md | 437 --
.../users/recommender/intro-itembased-hadoop.md | 54 -
.../users/recommender/matrix-factorization.md | 187 -
.../oldsite/users/recommender/quickstart.md | 32 -
.../recommender/recommender-documentation.md | 277 -
.../recommender/recommender-first-timer-faq.md | 54 -
.../users/recommender/userbased-5-minutes.md | 133 -
.../MahoutScalaAndSparkBindings.pptx | Bin 846177 -> 0 bytes
.../users/sparkbindings/ScalaSparkBindings.pdf | 6215 ---------------
website-old/oldsite/users/sparkbindings/faq.md | 52 -
website-old/oldsite/users/sparkbindings/home.md | 101 -
.../users/sparkbindings/play-with-shell.md | 199 -
website/.gitignore | 3 -
website/404.html | 1 -
website/Gemfile | 28 -
website/LICENSE.txt | 21 -
website/README.md | 163 +
website/_includes/doc-navbar.html | 126 +
website/_includes/head.html | 1 +
website/_includes/navbar.html | 10 +-
website/_layouts/default.html | 2 +-
website/_layouts/doc-default.html | 22 +
website/_layouts/doc-page.html | 16 +
.../2017-04-17-apache-mahout-0.13.0-released.md | 21 -
.../_posts/2017-07-14-apache-mahout-website.md | 31 -
website/about.md | 18 -
website/archive.html | 7 -
website/build_newsite.sh | 39 -
website/build_oldsite.sh | 31 -
website/categories.html | 18 -
website/changelog.md | 70 -
website/community/blogs.md | 27 -
website/community/buildingmahout.md | 127 -
website/community/gsoc.md | 63 -
website/community/history.md | 19 -
website/community/mailing-lists.md | 46 -
website/community/privacy-policy.md | 29 -
website/community/recent-upcoming-talks.md | 18 -
website/community/who-we-are.md | 63 -
website/developers/buildingmahout.md | 193 +
website/developers/developer-resources.md | 52 +
website/developers/github.md | 157 +
website/developers/githubPRs.md | 17 +-
website/developers/gsoc.md | 65 +
website/developers/how-to-become-a-committer.md | 7 +-
website/developers/how-to-contribute.md | 8 +-
website/developers/how-to-release.md | 195 +-
website/developers/how-to-update-the-website.md | 37 +-
website/developers/index.md | 46 -
website/developers/issue-tracker.md | 3 +-
website/developers/key-concepts.md | 42 -
website/developers/patch-check-list.md | 4 +-
website/developers/publish-website.md | 122 -
website/developers/release-notes.md | 248 -
website/developers/thirdparty-dependencies.md | 30 +
website/developers/version-control.md | 5 +-
.../algorithms/clustering/canopy/Canopy.png | Bin 48061 -> 0 bytes
.../algorithms/clustering/canopy/Canopy10.png | Bin 42414 -> 0 bytes
.../algorithms/clustering/canopy/SampleData.png | Bin 32587 -> 0 bytes
.../docs/algorithms/clustering/canopy/index.md | 127 -
.../algorithms/clustering/distance-metrics.md | 81 -
website/docs/algorithms/clustering/index.md | 7 -
website/docs/algorithms/index.md | 19 -
website/docs/algorithms/linear-algebra/d-qr.md | 55 -
.../docs/algorithms/linear-algebra/d-spca.md | 173 -
.../docs/algorithms/linear-algebra/d-ssvd.md | 139 -
website/docs/algorithms/linear-algebra/index.md | 14 -
.../map-reduce/classification/bayesian.md | 146 -
.../classification/class-discovery.md | 154 -
.../classification/classifyingyourdata.md | 26 -
.../map-reduce/classification/collocations.md | 382 -
.../gaussian-discriminative-analysis.md | 19 -
.../classification/hidden-markov-models.md | 101 -
.../independent-component-analysis.md | 16 -
.../locally-weighted-linear-regression.md | 24 -
.../classification/logistic-regression.md | 128 -
.../classification/mahout-collections.md | 59 -
.../algorithms/map-reduce/classification/mlp.md | 171 -
.../map-reduce/classification/naivebayes.md | 44 -
.../map-reduce/classification/neural-network.md | 21 -
.../classification/partial-implementation.md | 145 -
.../map-reduce/classification/random-forests.md | 233 -
.../restricted-boltzmann-machines.md | 48 -
.../classification/support-vector-machines.md | 42 -
.../map-reduce/clustering/canopy-clustering.md | 190 -
.../map-reduce/clustering/cluster-dumper.md | 105 -
.../clustering/expectation-maximization.md | 61 -
.../map-reduce/clustering/fuzzy-k-means.md | 183 -
.../clustering/hierarchical-clustering.md | 14 -
.../map-reduce/clustering/k-means-clustering.md | 181 -
.../clustering/latent-dirichlet-allocation.md | 154 -
.../clustering/llr---log-likelihood-ratio.md | 45 -
.../clustering/spectral-clustering.md | 83 -
.../map-reduce/clustering/streaming-k-means.md | 173 -
website/docs/algorithms/map-reduce/index.md | 41 -
.../docs/algorithms/preprocessors/AsFactor.md | 34 -
.../docs/algorithms/preprocessors/MeanCenter.md | 29 -
.../algorithms/preprocessors/StandardScaler.md | 43 -
website/docs/algorithms/preprocessors/index.md | 9 -
website/docs/algorithms/reccomenders/cco.md | 434 --
website/docs/algorithms/reccomenders/d-als.md | 57 -
website/docs/algorithms/reccomenders/index.md | 32 -
.../docs/algorithms/regression/fitness-tests.md | 16 -
website/docs/algorithms/regression/index.md | 19 -
website/docs/algorithms/regression/ols.md | 65 -
.../serial-correlation/cochrane-orcutt.md | 145 -
.../regression/serial-correlation/dw-test.md | 42 -
website/docs/changelog.md | 70 -
website/docs/distributed/flink-bindings.md | 48 -
website/docs/distributed/h2o-internals.md | 49 -
.../MahoutScalaAndSparkBindings.pptx | Bin 846177 -> 0 bytes
.../spark-bindings/ScalaSparkBindings.pdf | 6215 ---------------
website/docs/distributed/spark-bindings/faq.md | 51 -
.../docs/distributed/spark-bindings/index.md | 103 -
website/docs/index.md | 110 -
.../algorithms/clustering/canopy/Canopy.png | Bin 0 -> 48061 bytes
.../algorithms/clustering/canopy/Canopy10.png | Bin 0 -> 42414 bytes
.../algorithms/clustering/canopy/SampleData.png | Bin 0 -> 32587 bytes
.../algorithms/clustering/canopy/index.md | 128 +
.../algorithms/clustering/distance-metrics.md | 82 +
.../docs/latest/algorithms/clustering/index.md | 6 +
.../latest/algorithms/linear-algebra/d-qr.md | 64 +
.../latest/algorithms/linear-algebra/d-spca.md | 175 +
.../latest/algorithms/linear-algebra/d-ssvd.md | 140 +
.../latest/algorithms/linear-algebra/index.md | 16 +
.../map-reduce/classification/bayesian.md | 147 +
.../classification/class-discovery.md | 155 +
.../classification/classifyingyourdata.md | 27 +
.../map-reduce/classification/collocations.md | 385 +
.../gaussian-discriminative-analysis.md | 20 +
.../classification/hidden-markov-models.md | 102 +
.../independent-component-analysis.md | 17 +
.../locally-weighted-linear-regression.md | 25 +
.../classification/logistic-regression.md | 129 +
.../classification/mahout-collections.md | 60 +
.../algorithms/map-reduce/classification/mlp.md | 172 +
.../map-reduce/classification/naivebayes.md | 45 +
.../map-reduce/classification/neural-network.md | 22 +
.../classification/partial-implementation.md | 146 +
.../map-reduce/classification/random-forests.md | 234 +
.../restricted-boltzmann-machines.md | 49 +
.../classification/support-vector-machines.md | 43 +
.../map-reduce/clustering/canopy-clustering.md | 191 +
.../map-reduce/clustering/cluster-dumper.md | 106 +
.../clustering/expectation-maximization.md | 62 +
.../map-reduce/clustering/fuzzy-k-means.md | 184 +
.../clustering/hierarchical-clustering.md | 15 +
.../map-reduce/clustering/k-means-clustering.md | 182 +
.../clustering/latent-dirichlet-allocation.md | 155 +
.../clustering/llr---log-likelihood-ratio.md | 46 +
.../clustering/spectral-clustering.md | 84 +
.../map-reduce/clustering/streaming-k-means.md | 174 +
.../docs/latest/algorithms/map-reduce/index.md | 42 +
.../latest/algorithms/preprocessors/AsFactor.md | 35 +
.../algorithms/preprocessors/MeanCenter.md | 30 +
.../algorithms/preprocessors/StandardScaler.md | 44 +
.../latest/algorithms/preprocessors/index.md | 10 +
.../docs/latest/algorithms/reccomenders/cco.md | 435 ++
.../latest/algorithms/reccomenders/d-als.md | 58 +
.../latest/algorithms/reccomenders/index.md | 33 +
.../algorithms/regression/fittness-tests.md | 17 +
.../docs/latest/algorithms/regression/index.md | 21 +
.../docs/latest/algorithms/regression/ols.md | 66 +
.../serial-correlation/cochrane-orcutt.md | 146 +
.../regression/serial-correlation/dw-test.md | 43 +
website/docs/latest/algorithms/template.md | 20 +
website/docs/latest/changelog.md | 70 +
.../docs/latest/distributed/flink-bindings.md | 49 +
.../docs/latest/distributed/h2o-internals.md | 50 +
.../MahoutScalaAndSparkBindings.pptx | Bin 0 -> 846177 bytes
.../spark-bindings/ScalaSparkBindings.pdf | 6215 +++++++++++++++
.../latest/distributed/spark-bindings/faq.md | 52 +
.../latest/distributed/spark-bindings/index.md | 104 +
website/docs/latest/index.md | 110 +
website/docs/latest/mahout-samsara/faq.md | 51 +
.../latest/mahout-samsara/in-core-reference.md | 303 +
.../mahout-samsara/out-of-core-reference.md | 317 +
website/docs/latest/native-solvers/cuda.md | 6 +
.../docs/latest/native-solvers/viennacl-omp.md | 6 +
website/docs/latest/native-solvers/viennacl.md | 6 +
website/docs/latest/quickstart.md | 63 +
.../tutorials/cco-lastfm/cco-lastfm.scala | 112 +
.../docs/latest/tutorials/cco-lastfm/index.md | 154 +
.../latest/tutorials/eigenfaces/eigenfaces.png | Bin 0 -> 355453 bytes
.../docs/latest/tutorials/eigenfaces/index.md | 128 +
.../tutorials/intro-cooccurrence-spark/index.md | 446 ++
.../classification/bankmarketing-example.md | 53 +
.../classification/breiman-example.md | 67 +
.../classification/twenty-newsgroups.md | 179 +
.../wikipedia-classifier-example.md | 57 +
.../map-reduce/clustering/20newsgroups.md | 11 +
.../map-reduce/clustering/canopy-commandline.md | 70 +
.../clustering-of-synthetic-control-data.md | 53 +
.../clustering/clustering-seinfeld-episodes.md | 11 +
.../map-reduce/clustering/clusteringyourdata.md | 126 +
.../clustering/fuzzy-k-means-commandline.md | 97 +
.../clustering/k-means-commandline.md | 94 +
.../map-reduce/clustering/lda-commandline.md | 83 +
.../map-reduce/clustering/viewing-result.md | 15 +
.../map-reduce/clustering/viewing-results.md | 49 +
.../clustering/visualizing-sample-clusters.md | 50 +
.../docs/latest/tutorials/map-reduce/index.md | 19 +
.../map-reduce/misc/mr---map-reduce.md | 19 +
.../misc/parallel-frequent-pattern-mining.md | 185 +
.../map-reduce/misc/perceptron-and-winnow.md | 41 +
.../latest/tutorials/map-reduce/misc/testing.md | 46 +
.../misc/using-mahout-with-python-via-jpype.md | 222 +
.../map-reduce/recommender/intro-als-hadoop.md | 98 +
.../recommender/intro-cooccurrence-spark.md | 437 ++
.../recommender/intro-itembased-hadoop.md | 54 +
.../recommender/matrix-factorization.md | 187 +
.../map-reduce/recommender/quickstart.md | 32 +
.../recommender/recommender-documentation.md | 277 +
.../recommender/recommender-first-timer-faq.md | 54 +
.../recommender/userbased-5-minutes.md | 133 +
.../tutorials/misc/contributing-algos/Foo.scala | 75 +
.../RegressionSuiteBase.scala | 202 +
.../misc/contributing-algos/create-pr.png | Bin 0 -> 27568 bytes
.../misc/contributing-algos/github-branch.png | Bin 0 -> 87923 bytes
.../tutorials/misc/contributing-algos/index.md | 416 +
.../tutorials/misc/contributing-algos/jira.png | Bin 0 -> 30685 bytes
.../misc/contributing-algos/new-jira.png | Bin 0 -> 75111 bytes
.../tutorials/misc/how-to-build-an-app.md | 256 +
.../tutorials/misc/mahout-in-zeppelin/index.md | 276 +
.../misc/mahout-in-zeppelin/zeppelin1.png | Bin 0 -> 50936 bytes
.../misc/mahout-in-zeppelin/zeppelin2.png | Bin 0 -> 46906 bytes
.../misc/mahout-in-zeppelin/zeppelin3.png | Bin 0 -> 68551 bytes
.../samsara/classify-a-doc-from-the-shell.md | 258 +
.../latest/tutorials/samsara/play-with-shell.md | 199 +
.../samsara/playing-with-samsara-flink-batch.md | 111 +
.../tutorials/samsara/spark-naive-bayes.md | 132 +
website/docs/mahout-samsara/faq.md | 50 -
.../docs/mahout-samsara/in-core-reference.md | 302 -
.../mahout-samsara/out-of-core-reference.md | 316 -
website/docs/native-solvers/cuda.md | 7 -
website/docs/native-solvers/viennacl-omp.md | 7 -
website/docs/native-solvers/viennacl.md | 7 -
website/docs/quickstart.md | 62 -
.../docs/tutorials/cco-lastfm/cco-lastfm.scala | 112 -
website/docs/tutorials/cco-lastfm/index.md | 150 -
.../docs/tutorials/eigenfaces/eigenfaces.png | Bin 355453 -> 0 bytes
website/docs/tutorials/eigenfaces/index.md | 127 -
.../tutorials/intro-cooccurrence-spark/index.md | 445 --
.../classification/bankmarketing-example.md | 52 -
.../classification/breiman-example.md | 66 -
.../classification/twenty-newsgroups.md | 178 -
.../wikipedia-classifier-example.md | 56 -
.../map-reduce/clustering/20newsgroups.md | 10 -
.../map-reduce/clustering/canopy-commandline.md | 69 -
.../clustering-of-synthetic-control-data.md | 52 -
.../clustering/clustering-seinfeld-episodes.md | 10 -
.../map-reduce/clustering/clusteringyourdata.md | 125 -
.../clustering/fuzzy-k-means-commandline.md | 96 -
.../clustering/k-means-commandline.md | 93 -
.../map-reduce/clustering/lda-commandline.md | 82 -
.../map-reduce/clustering/viewing-result.md | 14 -
.../map-reduce/clustering/viewing-results.md | 48 -
.../clustering/visualizing-sample-clusters.md | 49 -
website/docs/tutorials/map-reduce/index.md | 18 -
.../map-reduce/misc/mr---map-reduce.md | 18 -
.../misc/parallel-frequent-pattern-mining.md | 184 -
.../map-reduce/misc/perceptron-and-winnow.md | 40 -
.../docs/tutorials/map-reduce/misc/testing.md | 45 -
.../misc/using-mahout-with-python-via-jpype.md | 221 -
.../map-reduce/recommender/intro-als-hadoop.md | 97 -
.../recommender/intro-cooccurrence-spark.md | 436 --
.../recommender/intro-itembased-hadoop.md | 53 -
.../recommender/matrix-factorization.md | 186 -
.../map-reduce/recommender/quickstart.md | 31 -
.../recommender/recommender-documentation.md | 276 -
.../recommender/recommender-first-timer-faq.md | 53 -
.../recommender/userbased-5-minutes.md | 132 -
.../tutorials/misc/contributing-algos/Foo.scala | 75 -
.../RegressionSuiteBase.scala | 202 -
.../misc/contributing-algos/create-pr.png | Bin 27568 -> 0 bytes
.../misc/contributing-algos/github-branch.png | Bin 87923 -> 0 bytes
.../tutorials/misc/contributing-algos/index.md | 415 -
.../tutorials/misc/contributing-algos/jira.png | Bin 30685 -> 0 bytes
.../misc/contributing-algos/new-jira.png | Bin 75111 -> 0 bytes
.../docs/tutorials/misc/how-to-build-an-app.md | 255 -
.../tutorials/misc/mahout-in-zeppelin/index.md | 275 -
.../misc/mahout-in-zeppelin/zeppelin1.png | Bin 50936 -> 0 bytes
.../misc/mahout-in-zeppelin/zeppelin2.png | Bin 46906 -> 0 bytes
.../misc/mahout-in-zeppelin/zeppelin3.png | Bin 68551 -> 0 bytes
.../samsara/classify-a-doc-from-the-shell.md | 257 -
.../docs/tutorials/samsara/play-with-shell.md | 198 -
.../samsara/playing-with-samsara-flink-batch.md | 110 -
.../docs/tutorials/samsara/spark-naive-bayes.md | 131 -
website/downloads.md | 67 -
website/general/books-tutorials-and-talks.md | 121 +
website/general/downloads.md | 68 +
website/general/faq.md | 105 +
website/general/glossary.md | 11 +
website/general/mahout-benchmarks.md | 153 +
website/general/mahout-wiki.md | 199 +
.../general/mailing-lists,-irc-and-archives.md | 75 +
website/general/powered-by-mahout.md | 129 +
website/general/privacy-policy.md | 28 +
website/general/professional-support.md | 39 +
website/general/reference-reading.md | 71 +
website/general/release-notes.md | 242 +
website/general/who-we-are.md | 62 +
.../Apache-Mahout-0.10.0-Release-Notes.pdf | Bin 0 -> 88739 bytes
website/users/algorithms/d-als.md | 60 +
website/users/algorithms/d-qr.md | 59 +
website/users/algorithms/d-spca.md | 176 +
website/users/algorithms/d-ssvd.md | 143 +
.../algorithms/intro-cooccurrence-spark.md | 446 ++
.../users/algorithms/recommender-overview.md | 33 +
website/users/algorithms/spark-naive-bayes.md | 132 +
website/users/basics/algorithms.md | 58 +
website/users/basics/collections.md | 96 +
website/users/basics/collocations.md | 384 +
.../users/basics/creating-vectors-from-text.md | 291 +
website/users/basics/creating-vectors.md | 16 +
.../basics/gaussian-discriminative-analysis.md | 20 +
.../basics/independent-component-analysis.md | 17 +
website/users/basics/mahout-collections.md | 60 +
website/users/basics/mahoutintegration.md | 6 +
website/users/basics/matrix-and-vector-needs.md | 88 +
.../basics/principal-components-analysis.md | 29 +
website/users/basics/quickstart.md | 59 +
.../svd---singular-value-decomposition.md | 52 +
website/users/basics/system-requirements.md | 20 +
...term-frequency-inverse-document-frequency.md | 21 +
.../classification/bankmarketing-example.md | 53 +
.../classification/bayesian-commandline.md | 64 +
website/users/classification/bayesian.md | 147 +
website/users/classification/breiman-example.md | 67 +
website/users/classification/class-discovery.md | 155 +
.../users/classification/classifyingyourdata.md | 27 +
.../classification/hidden-markov-models.md | 102 +
.../locally-weighted-linear-regression.md | 25 +
.../users/classification/logistic-regression.md | 129 +
website/users/classification/mlp.md | 172 +
website/users/classification/naivebayes.md | 45 +
website/users/classification/neural-network.md | 22 +
.../classification/partial-implementation.md | 146 +
website/users/classification/random-forests.md | 234 +
.../restricted-boltzmann-machines.md | 49 +
.../classification/support-vector-machines.md | 43 +
.../users/classification/twenty-newsgroups.md | 179 +
.../wikipedia-classifier-example.md | 57 +
website/users/clustering/20newsgroups.md | 11 +
website/users/clustering/canopy-clustering.md | 188 +
website/users/clustering/canopy-commandline.md | 70 +
website/users/clustering/cluster-dumper.md | 106 +
.../clustering-of-synthetic-control-data.md | 53 +
.../clustering/clustering-seinfeld-episodes.md | 11 +
website/users/clustering/clusteringyourdata.md | 126 +
.../clustering/expectation-maximization.md | 62 +
.../clustering/fuzzy-k-means-commandline.md | 97 +
website/users/clustering/fuzzy-k-means.md | 186 +
.../users/clustering/hierarchical-clustering.md | 15 +
website/users/clustering/k-means-clustering.md | 182 +
website/users/clustering/k-means-commandline.md | 94 +
.../clustering/latent-dirichlet-allocation.md | 155 +
website/users/clustering/lda-commandline.md | 83 +
.../clustering/llr---log-likelihood-ratio.md | 46 +
website/users/clustering/spectral-clustering.md | 84 +
website/users/clustering/streaming-k-means.md | 174 +
website/users/clustering/viewing-result.md | 15 +
website/users/clustering/viewing-results.md | 49 +
.../clustering/visualizing-sample-clusters.md | 50 +
.../dim-reduction/dimensional-reduction.md | 446 ++
website/users/dim-reduction/ssvd.md | 127 +
.../users/dim-reduction/ssvd.page/SSVD-CLI.pdf | Bin 0 -> 462679 bytes
website/users/dim-reduction/ssvd.page/ssvd.R | 181 +
.../classify-a-doc-from-the-shell.md | 258 +
website/users/environment/h2o-internals.md | 51 +
.../users/environment/how-to-build-an-app.md | 257 +
website/users/environment/in-core-reference.md | 304 +
.../users/environment/out-of-core-reference.md | 318 +
website/users/environment/spark-internals.md | 25 +
website/users/flinkbindings/flink-internals.md | 50 +
.../flinkbindings/playing-with-samsara-flink.md | 111 +
website/users/misc/mr---map-reduce.md | 19 +
.../misc/parallel-frequent-pattern-mining.md | 185 +
website/users/misc/perceptron-and-winnow.md | 41 +
website/users/misc/testing.md | 46 +
.../misc/using-mahout-with-python-via-jpype.md | 222 +
website/users/recommender/intro-als-hadoop.md | 98 +
.../recommender/intro-cooccurrence-spark.md | 437 ++
.../users/recommender/intro-itembased-hadoop.md | 54 +
.../users/recommender/matrix-factorization.md | 187 +
website/users/recommender/quickstart.md | 32 +
.../recommender/recommender-documentation.md | 277 +
.../recommender/recommender-first-timer-faq.md | 54 +
.../users/recommender/userbased-5-minutes.md | 133 +
.../MahoutScalaAndSparkBindings.pptx | Bin 0 -> 846177 bytes
.../users/sparkbindings/ScalaSparkBindings.pdf | 6215 +++++++++++++++
website/users/sparkbindings/faq.md | 52 +
website/users/sparkbindings/home.md | 101 +
website/users/sparkbindings/play-with-shell.md | 199 +
1010 files changed, 36120 insertions(+), 117238 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/.gitignore
----------------------------------------------------------------------
diff --git a/.gitignore b/.gitignore
index a3eb8c5..0edb4bb 100644
--- a/.gitignore
+++ b/.gitignore
@@ -25,7 +25,5 @@ bin/derby.log
bin/metastore_db
*jar
*log
-website/oldsite/_site
-website/docs/_site
-website/front/_site
+website/_site
website/Gemfile.lock
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/README.md
----------------------------------------------------------------------
diff --git a/website-old/README.md b/website-old/README.md
deleted file mode 100644
index b711140..0000000
--- a/website-old/README.md
+++ /dev/null
@@ -1,163 +0,0 @@
-# Mahout Instructions
-
-![Mahout Logo]({{ ASSET_BASE }}/img/mahout-logo.png)
-
-## How do I edit Mahouts website? Jekyll
-
-The Mahout website uses Jekyll to manage its website. Refer to this page to setup your laptop with jekyll if you want to setup a local environment.
-![Jekyll Setup](https://scotch.io/tutorials/getting-started-with-jekyll-plus-a-free-bootstrap-3-starter-theme)
-
-Once you have Jekyll installed, next you will need to clone the mahout git repo
-```
-git clone https://github.com/apache/mahout.git mahout
-cd website
-```
-
-
-## There are actually three sites!
-
-#### `website/front`
-
-This has information about the community, github, how to update website, developer resources, list of members. __*Things that when they change change forever and we don't need to keep a history of the old way (e.g. the old way of updating the website )*__
-
-#### `website/docs`
-
-This has user documentation, info on algorithms, programing guides, features. etc.
-__*things that change between versions*__
-
-Follow the instructions below to serve either site, just know your links in community aren't going to work with the docs. Until you post it.
-
-#### `website/old-site`
-
-This is a full and mostly working port of the old site. It has been updated so that new themes can be applied to it, or the `mahout-retro` theme can be applied to the newer sites (thought this is somewhat messy).
-
-There is a lot of content in here, and a lot of it isn't even available from the main site. We should start going through this and dragging it over page by page, updating as we go.
-
-Eventually we'll use this to build `docs/0.13.0`
-
-## Getting Started
-
-To start editing the website first you need to open two terminals. One terminal will run a continuous build of the mahout website locally, and the other will serve the website on localhost:4000
-
-Terminal
-```
-bundle exec jekyll serve
-```
-
-Browser
-```
-localhost:4000
-```
-
-Start coding.
-
-
-
-## Organization
-
-Within `mahout/website/docs` and `mahout/website/front` you'll find the following directories
-
-- `./_site` : this directory holds your static website which is created with `jekyll build`. Modifying things in here directly will have no effect (they will be overwritten)
-- `./_layouts` : this directory holds the basic layouts for page types
-- `./_includes` : this directory holds files which can be included in layouts, such as the HTML that powers the
-page, the navbar, etc. You will see in the html files referenced in `./_layouts` a line that says ` {{ content }}` this
- is where the markdown compiled into HTML is injected.
-- `./assets` : this directory holds the css and images used for the website
-- `./[OTHER]` : all other directories become directory structure of the site. They maybe filled with markdown files. E.g.
-`./my-dir/myfile.md` will populate the site at `http://.../my-dir/myfile.html`
-
-**NOTE** `_includes/` and `_assets/` are actually symlinks so that if you change the theme, it will apply evenly to all sites.
-
-#### Themes
-
-With Jekyll Builder we can easily swap out themes. Currently the theme is `mahout3`
-`website/_includes/themes/mahout` : This directory has HTML for things you will include in your pages, e.g. navbar
-`website/assets/themes/mahout` : this directory holds the css and images used for the website (on the mahout theme, if we also may build new themes to try different looks and feels)
-
-
-
-## How to port a page
-
-#### Copy to it's new home
-
-There should be no chnages to `/website/docs/0.13.0/` Need to create `/website/docs/0.13.1-SNAPSHOT/`
-
-Other non-docs, e.g. things that go in developers or other static places, should go to where ever it is they are supposed to live.
-
-If appropriate, change the file suffix from `.mdtext` or whatever wierd thing it is to `.md`
-
-#### Change the Header
-
-Most of the old stuff has a title like:
-
-`Title: GSOC`
-
-Change this too:
-
-`---`
-```
-layout: default
-title: GSoC
-theme: mahout
----
-```
-
-#### Update PATHs where appropriate
-
-Change hard linkes or relative links like this
-```
-For more information see [Handling GitHub PRs](http://mahout.apache.org/developers/github.html)
-```
-
-To utilize JB's `{{ BASE_PATH }}`
-
-E.g.
-```
-For more information see [Handling GitHub PRs]({{ BASE_PATH }}/developers/github.html)
-```
-
-This will make links in say github, refer to the github links. Same with images.
-
-
-
-### Changing themes
-
-` rake theme:switch name="THEME-NAME"`
-
-Options currently are `mahout`, `mahout2`, `mahout3` and `mahout-retro`
-
-Mahout
-
-![assets/img/mahout_theme.png]
-
-
-Mahout2
-
-![assets/img/mahout2_theme.png]
-
-If you want to edit the style edit `assets/themes/<your_theme>/css/style.css` and override value.
-
-This is a helpful tool for reference http://pikock.github.io/bootstrap-magic/3.0/app/index.html#!/editor
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/_includes/JB/analytics
----------------------------------------------------------------------
diff --git a/website-old/_includes/JB/analytics b/website-old/_includes/JB/analytics
deleted file mode 100644
index 2bb4c80..0000000
--- a/website-old/_includes/JB/analytics
+++ /dev/null
@@ -1,20 +0,0 @@
-{% include JB/is_production %}
-
-{% if is_production and site.JB.analytics.provider and page.JB.analytics != false %}
-
-{% case site.JB.analytics.provider %}
-{% when "gauges" %}
- {% include JB/analytics-providers/gauges %}
-{% when "google" %}
- {% include JB/analytics-providers/google %}
-{% when "getclicky" %}
- {% include JB/analytics-providers/getclicky %}
-{% when "mixpanel" %}
- {% include JB/analytics-providers/mixpanel %}
-{% when "piwik" %}
- {% include JB/analytics-providers/piwik %}
-{% when "custom" %}
- {% include custom/analytics %}
-{% endcase %}
-
-{% endif %}

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/_includes/JB/analytics-providers/gauges
----------------------------------------------------------------------
diff --git a/website-old/_includes/JB/analytics-providers/gauges b/website-old/_includes/JB/analytics-providers/gauges
deleted file mode 100644
index b793ff1..0000000
--- a/website-old/_includes/JB/analytics-providers/gauges
+++ /dev/null
@@ -1,13 +0,0 @@
-<script type="text/javascript">
- var _gauges = _gauges || [];
- (function() {
- var t = document.createElement('script');
- t.type = 'text/javascript';
- t.async = true;
- t.id = 'gauges-tracker';
- t.setAttribute('data-site-id', '{{ site.JB.analytics.gauges.site_id }}');
- t.src = '//secure.gaug.es/track.js';
- var s = document.getElementsByTagName('script')[0];
- s.parentNode.insertBefore(t, s);
- })();
-</script>

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/_includes/JB/analytics-providers/getclicky
----------------------------------------------------------------------
diff --git a/website-old/_includes/JB/analytics-providers/getclicky b/website-old/_includes/JB/analytics-providers/getclicky
deleted file mode 100644
index e9462f4..0000000
--- a/website-old/_includes/JB/analytics-providers/getclicky
+++ /dev/null
@@ -1,12 +0,0 @@
-<script type="text/javascript">
-var clicky_site_ids = clicky_site_ids || [];
-clicky_site_ids.push({{ site.JB.analytics.getclicky.site_id }});
-(function() {
- var s = document.createElement('script');
- s.type = 'text/javascript';
- s.async = true;
- s.src = '//static.getclicky.com/js';
- ( document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0] ).appendChild( s );
-})();
-</script>
-<noscript><p><img alt="Clicky" width="1" height="1" src="//in.getclicky.com/{{ site.JB.analytics.getclicky.site_id }}ns.gif" /></p></noscript>

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/_includes/JB/analytics-providers/google
----------------------------------------------------------------------
diff --git a/website-old/_includes/JB/analytics-providers/google b/website-old/_includes/JB/analytics-providers/google
deleted file mode 100644
index 9014866..0000000
--- a/website-old/_includes/JB/analytics-providers/google
+++ /dev/null
@@ -1,11 +0,0 @@
-<script type="text/javascript">
- var _gaq = _gaq || [];
- _gaq.push(['_setAccount', '{{ site.JB.analytics.google.tracking_id }}']);
- _gaq.push(['_trackPageview']);
-
- (function() {
- var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
- ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
- var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
- })();
-</script>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/_includes/JB/analytics-providers/google-universal
----------------------------------------------------------------------
diff --git a/website-old/_includes/JB/analytics-providers/google-universal b/website-old/_includes/JB/analytics-providers/google-universal
deleted file mode 100644
index 834f2ee..0000000
--- a/website-old/_includes/JB/analytics-providers/google-universal
+++ /dev/null
@@ -1,9 +0,0 @@
-<script>
- (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
- (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
- m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
- })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
-
- ga('create', {{ site.JB.analytics.googleUA.tracking_id }}', {% if site.JB.analytics.googleUA.property_name %}{{ site.JB.analytics.googleUA.property_name }}{% else %}'auto'{% endif %});
- ga('send', 'pageview');
-</script>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/_includes/JB/analytics-providers/mixpanel
----------------------------------------------------------------------
diff --git a/website-old/_includes/JB/analytics-providers/mixpanel b/website-old/_includes/JB/analytics-providers/mixpanel
deleted file mode 100644
index 4406eb0..0000000
--- a/website-old/_includes/JB/analytics-providers/mixpanel
+++ /dev/null
@@ -1,11 +0,0 @@
-<script type="text/javascript">
- var mpq = [];
- mpq.push(["init", "{{ site.JB.analytics.mixpanel.token}}"]);
- (function(){var b,a,e,d,c;b=document.createElement("script");b.type="text/javascript";
- b.async=true;b.src=(document.location.protocol==="https:"?"https:":"http:")+
- "//api.mixpanel.com/site_media/js/api/mixpanel.js";a=document.getElementsByTagName("script")[0];
- a.parentNode.insertBefore(b,a);e=function(f){return function(){mpq.push(
- [f].concat(Array.prototype.slice.call(arguments,0)))}};d=["init","track","track_links",
- "track_forms","register","register_once","identify","name_tag","set_config"];for(c=0;c<
- d.length;c++){mpq[d[c]]=e(d[c])}})();
-</script>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/_includes/JB/analytics-providers/piwik
----------------------------------------------------------------------
diff --git a/website-old/_includes/JB/analytics-providers/piwik b/website-old/_includes/JB/analytics-providers/piwik
deleted file mode 100755
index 077a373..0000000
--- a/website-old/_includes/JB/analytics-providers/piwik
+++ /dev/null
@@ -1,10 +0,0 @@
-<script type="text/javascript">
- var pkBaseURL = (("https:" == document.location.protocol) ? "https://{{ site.JB.analytics.piwik.baseURL }}/" : "http://{{ site.JB.analytics.piwik.baseURL }}/");
- document.write(unescape("%3Cscript src='" + pkBaseURL + "piwik.js' type='text/javascript'%3E%3C/script%3E"));
-</script><script type="text/javascript">
- try {
- var piwikTracker = Piwik.getTracker(pkBaseURL + "piwik.php", {{ site.JB.analytics.piwik.idsite }});
- piwikTracker.trackPageView();
- piwikTracker.enableLinkTracking();
- } catch( err ) {}
-</script><noscript><p><img src="http://{{ site.JB.analytics.piwik.baseURL }}/piwik.php?idsite={{ site.JB.analytics.piwik.idsite }}" style="border:0" alt="" /></p></noscript>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/_includes/JB/categories_list
----------------------------------------------------------------------
diff --git a/website-old/_includes/JB/categories_list b/website-old/_includes/JB/categories_list
deleted file mode 100644
index 83be2e2..0000000
--- a/website-old/_includes/JB/categories_list
+++ /dev/null
@@ -1,37 +0,0 @@
-{% comment %}<!--
-The categories_list include is a listing helper for categories.
-Usage:
- 1) assign the 'categories_list' variable to a valid array of tags.
- 2) include JB/categories_list
- example:
- <ul>
- {% assign categories_list = site.categories %}
- {% include JB/categories_list %}
- </ul>
-
- Notes:
- Categories can be either a Hash of Category objects (hashes) or an Array of category-names (strings).
- The encapsulating 'if' statement checks whether categories_list is a Hash or Array.
- site.categories is a Hash while page.categories is an array.
-
- This helper can be seen in use at: ../_layouts/default.html
--->{% endcomment %}
-
-{% if site.JB.categories_list.provider == "custom" %}
- {% include custom/categories_list %}
-{% else %}
- {% if categories_list.first[0] == null %}
- {% for category in categories_list %}
- <li><a href="{{ BASE_PATH }}{{ site.JB.categories_path }}#{{ category }}-ref">
- {{ category | join: "/" }} <span>{{ site.categories[category].size }}</span>
- </a></li>
- {% endfor %}
- {% else %}
- {% for category in categories_list %}
- <li><a href="{{ BASE_PATH }}{{ site.JB.categories_path }}#{{ category[0] }}-ref">
- {{ category[0] | join: "/" }} <span>{{ category[1].size }}</span>
- </a></li>
- {% endfor %}
- {% endif %}
-{% endif %}
-{% assign categories_list = nil %}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/_includes/JB/comments
----------------------------------------------------------------------
diff --git a/website-old/_includes/JB/comments b/website-old/_includes/JB/comments
deleted file mode 100644
index eec2e1e..0000000
--- a/website-old/_includes/JB/comments
+++ /dev/null
@@ -1,18 +0,0 @@
-{% if site.JB.comments.provider and page.comments != false %}
-
-{% case site.JB.comments.provider %}
-{% when "disqus" %}
- {% include JB/comments-providers/disqus %}
-{% when "livefyre" %}
- {% include JB/comments-providers/livefyre %}
-{% when "intensedebate" %}
- {% include JB/comments-providers/intensedebate %}
-{% when "facebook" %}
- {% include JB/comments-providers/facebook %}
-{% when "duoshuo" %}
- {% include JB/comments-providers/duoshuo %}
-{% when "custom" %}
- {% include custom/comments %}
-{% endcase %}
-
-{% endif %}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/_includes/JB/comments-providers/disqus
----------------------------------------------------------------------
diff --git a/website-old/_includes/JB/comments-providers/disqus b/website-old/_includes/JB/comments-providers/disqus
deleted file mode 100644
index 6343100..0000000
--- a/website-old/_includes/JB/comments-providers/disqus
+++ /dev/null
@@ -1,15 +0,0 @@
-<div id="disqus_thread"></div>
-<script type="text/javascript">
- {% include JB/is_production %}
- {% if is_production == false %}var disqus_developer = 1;{% endif %}
- var disqus_shortname = '{{ site.JB.comments.disqus.short_name }}'; // required: replace example with your forum shortname
- {% if page.wordpress_id %}var disqus_identifier = '{{page.wordpress_id}} {{site.production_url}}/?p={{page.wordpress_id}}';{% endif %}
- /* * * DON'T EDIT BELOW THIS LINE * * */
- (function() {
- var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
- dsq.src = 'http://' + disqus_shortname + '.disqus.com/embed.js';
- (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
- })();
-</script>
-<noscript>Please enable JavaScript to view the <a href="http://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
-<a href="http://disqus.com" class="dsq-brlink">blog comments powered by <span class="logo-disqus">Disqus</span></a>

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/_includes/JB/comments-providers/duoshuo
----------------------------------------------------------------------
diff --git a/website-old/_includes/JB/comments-providers/duoshuo b/website-old/_includes/JB/comments-providers/duoshuo
deleted file mode 100644
index 90865a0..0000000
--- a/website-old/_includes/JB/comments-providers/duoshuo
+++ /dev/null
@@ -1,14 +0,0 @@
-<!-- Duoshuo Comment BEGIN -->
- <div class="ds-thread"{% if page.wordpress_id %} data-thread-key="{{page.wordpress_id}}"{% endif %}></div>
-<script type="text/javascript">
-var duoshuoQuery = {short_name:'{{ site.JB.comments.duoshuo.short_name }}'};
- (function() {
- var ds = document.createElement('script');
- ds.type = 'text/javascript';ds.async = true;
- ds.src = 'http://static.duoshuo.com/embed.js';
- ds.charset = 'UTF-8';
- (document.getElementsByTagName('head')[0]
- || document.getElementsByTagName('body')[0]).appendChild(ds);
- })();
- </script>
-<!-- Duoshuo Comment END -->

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/_includes/JB/comments-providers/facebook
----------------------------------------------------------------------
diff --git a/website-old/_includes/JB/comments-providers/facebook b/website-old/_includes/JB/comments-providers/facebook
deleted file mode 100644
index e1d3deb..0000000
--- a/website-old/_includes/JB/comments-providers/facebook
+++ /dev/null
@@ -1,9 +0,0 @@
-<div id="fb-root"></div>
-<script>(function(d, s, id) {
- var js, fjs = d.getElementsByTagName(s)[0];
- if (d.getElementById(id)) return;
- js = d.createElement(s); js.id = id;
- js.src = "//connect.facebook.net/en_US/all.js#xfbml=1&appId={{ site.JB.comments.facebook.appid }}";
- fjs.parentNode.insertBefore(js, fjs);
-}(document, 'script', 'facebook-jssdk'));</script>
-<div class="fb-comments" data-href="{{ site.production_url }}{{ page.url }}" data-num-posts="{{ site.JB.comments.facebook.num_posts }}" data-width="{{ site.JB.comments.facebook.width }}" data-colorscheme="{{ site.JB.comments.facebook.colorscheme }}"></div>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/_includes/JB/comments-providers/intensedebate
----------------------------------------------------------------------
diff --git a/website-old/_includes/JB/comments-providers/intensedebate b/website-old/_includes/JB/comments-providers/intensedebate
deleted file mode 100644
index 233ce34..0000000
--- a/website-old/_includes/JB/comments-providers/intensedebate
+++ /dev/null
@@ -1,6 +0,0 @@
-<script>
-var idcomments_acct = '{{ site.JB.comments.intensedebate.account }}';
-var idcomments_post_id;
-var idcomments_post_url;
-</script>
-<script type="text/javascript" src="http://www.intensedebate.com/js/genericCommentWrapperV2.js"></script>

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/_includes/JB/comments-providers/livefyre
----------------------------------------------------------------------
diff --git a/website-old/_includes/JB/comments-providers/livefyre b/website-old/_includes/JB/comments-providers/livefyre
deleted file mode 100644
index 704b803..0000000
--- a/website-old/_includes/JB/comments-providers/livefyre
+++ /dev/null
@@ -1,6 +0,0 @@
-<script type='text/javascript' src='http://zor.livefyre.com/wjs/v1.0/javascripts/livefyre_init.js'></script>
-<script type='text/javascript'>
- var fyre = LF({
- site_id: {{ site.JB.comments.livefyre.site_id }}
- });
-</script>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/_includes/JB/feedburner
----------------------------------------------------------------------
diff --git a/website-old/_includes/JB/feedburner b/website-old/_includes/JB/feedburner
deleted file mode 100644
index 6dba603..0000000
--- a/website-old/_includes/JB/feedburner
+++ /dev/null
@@ -1,3 +0,0 @@
-{% if site.author.feedburner != null %}
-<link href="http://feeds.feedburner.com/{{ site.author.feedburner }}" rel="alternate" title="{{ site.title }}" type="application/atom+xml" />
-{% endif %}

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/_includes/JB/file_exists
----------------------------------------------------------------------
diff --git a/website-old/_includes/JB/file_exists b/website-old/_includes/JB/file_exists
deleted file mode 100644
index f40080f..0000000
--- a/website-old/_includes/JB/file_exists
+++ /dev/null
@@ -1,26 +0,0 @@
-{% comment %}<!--
- param: file = "/example/file.png"
- return: file_exists_result = true
-
- examples:
- {% include JB/file_exists file="/404.html" %}
- {% if file_exists_result %}Found "/404.html"!{% else %}Did not find "/404.html".{% endif %}
-
- {% assign filename = "/405.html" %}
- {% include JB/file_exists file=filename %}
- {% if file_exists_result %}Found "{{ filename }}"!{% else %}Did not find "{{ filename }}".{% endif %}
-
- NOTE: the BREAK statement in the FOR loop assumes Liquid >= 2.5.0
-
--->{% endcomment %}
-
-{% assign file_exists_result = false %}
-
-{% if include.file %}
- {% for static_file in site.static_files %}
- {% if static_file.path == include.file %}
- {% assign file_exists_result = true %}
- {% break %}
- {% endif %}
- {% endfor %}
-{% endif %}

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/_includes/JB/gist
----------------------------------------------------------------------
diff --git a/website-old/_includes/JB/gist b/website-old/_includes/JB/gist
deleted file mode 100644
index 38a5b1c..0000000
--- a/website-old/_includes/JB/gist
+++ /dev/null
@@ -1,19 +0,0 @@
-{% comment %}<!--
-The gist include allows you to embed GitHub Gist snippets in your content.
-Usage:
- 1) include JB/gist
- 2) specify the gist_id parameter (REQUIRED)
- 3) specify the gist_file parameter (OPTIONAL)
- example:
- <ul>
- {% include JB/gist gist_id="fdcfeaba4f33c172828d" %}
- {% include JB/gist gist_id="fdcfeaba4f33c172828d" gist_file="jekyll-bootstrap.js" %}
- </ul>
--->{% endcomment %}
-
-<div id="gist">
-<script src="https://gist.github.com/{{ include.gist_id }}.js{% if include.gist_file %}?file={{ include.gist_file }}{% endif %}"></script>
-<noscript>
-<pre>https://gist.github.com/{{include.gist_id}}.js{% if include.gist_file %}?file={{include.gist_file}}{% endif %}</pre>
-</noscript>
-</div>

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/_includes/JB/is_production
----------------------------------------------------------------------
diff --git a/website-old/_includes/JB/is_production b/website-old/_includes/JB/is_production
deleted file mode 100644
index 3548f8c..0000000
--- a/website-old/_includes/JB/is_production
+++ /dev/null
@@ -1,39 +0,0 @@
-{% capture jbcache %}{% comment %}
-
- Determine whether or not the site is being built in a production environment.
-
- Parameters:
- None.
-
- Returns:
- is_production: [true|false]
- jb_prod_env: [development|github|other]
-
- Examples:
-
- {% include JB/is_production %}
-
- {% if is_production != true %}
- <h3>This is Private</h3>
- <p>I love to watch television in my undies. Don't tell anyone!</p>
- {% endif %}
-
- <h3>This is Public</h3>
- <p>I have no unusual quirks.</p>
-
-{% endcomment %}
-
-{% assign is_production = false %}
-{% assign jb_prod_env = "development" %}
-
-{% if jekyll.environment != "development" %}
- {% assign is_production = true %}
- {% assign jb_prod_env = jekyll.environment %}
-{% endif %}
-
-{% if site.github %}
- {% assign is_production = true %}
- {% assign jb_prod_env = "github" %}
-{% endif %}
-
-{% endcapture %}{% assign jbcache = nil %}
\ No newline at end of file
a***@apache.org
2017-12-21 04:53:16 UTC
Permalink
http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/assets/themes/mahout-retro/js/bootstrap.js
----------------------------------------------------------------------
diff --git a/website-old/assets/themes/mahout-retro/js/bootstrap.js b/website-old/assets/themes/mahout-retro/js/bootstrap.js
deleted file mode 100644
index c298ee4..0000000
--- a/website-old/assets/themes/mahout-retro/js/bootstrap.js
+++ /dev/null
@@ -1,2276 +0,0 @@
-/* ===================================================
- * bootstrap-transition.js v2.3.1
- * http://twitter.github.com/bootstrap/javascript.html#transitions
- * ===================================================
- * Copyright 2012 Twitter, Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ========================================================== */
-
-
-!function ($) {
-
- "use strict"; // jshint ;_;
-
-
- /* CSS TRANSITION SUPPORT (http://www.modernizr.com/)
- * ======================================================= */
-
- $(function () {
-
- $.support.transition = (function () {
-
- var transitionEnd = (function () {
-
- var el = document.createElement('bootstrap')
- , transEndEventNames = {
- 'WebkitTransition' : 'webkitTransitionEnd'
- , 'MozTransition' : 'transitionend'
- , 'OTransition' : 'oTransitionEnd otransitionend'
- , 'transition' : 'transitionend'
- }
- , name
-
- for (name in transEndEventNames){
- if (el.style[name] !== undefined) {
- return transEndEventNames[name]
- }
- }
-
- }())
-
- return transitionEnd && {
- end: transitionEnd
- }
-
- })()
-
- })
-
-}(window.jQuery);/* ==========================================================
- * bootstrap-alert.js v2.3.1
- * http://twitter.github.com/bootstrap/javascript.html#alerts
- * ==========================================================
- * Copyright 2012 Twitter, Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ========================================================== */
-
-
-!function ($) {
-
- "use strict"; // jshint ;_;
-
-
- /* ALERT CLASS DEFINITION
- * ====================== */
-
- var dismiss = '[data-dismiss="alert"]'
- , Alert = function (el) {
- $(el).on('click', dismiss, this.close)
- }
-
- Alert.prototype.close = function (e) {
- var $this = $(this)
- , selector = $this.attr('data-target')
- , $parent
-
- if (!selector) {
- selector = $this.attr('href')
- selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7
- }
-
- $parent = $(selector)
-
- e && e.preventDefault()
-
- $parent.length || ($parent = $this.hasClass('alert') ? $this : $this.parent())
-
- $parent.trigger(e = $.Event('close'))
-
- if (e.isDefaultPrevented()) return
-
- $parent.removeClass('in')
-
- function removeElement() {
- $parent
- .trigger('closed')
- .remove()
- }
-
- $.support.transition && $parent.hasClass('fade') ?
- $parent.on($.support.transition.end, removeElement) :
- removeElement()
- }
-
-
- /* ALERT PLUGIN DEFINITION
- * ======================= */
-
- var old = $.fn.alert
-
- $.fn.alert = function (option) {
- return this.each(function () {
- var $this = $(this)
- , data = $this.data('alert')
- if (!data) $this.data('alert', (data = new Alert(this)))
- if (typeof option == 'string') data[option].call($this)
- })
- }
-
- $.fn.alert.Constructor = Alert
-
-
- /* ALERT NO CONFLICT
- * ================= */
-
- $.fn.alert.noConflict = function () {
- $.fn.alert = old
- return this
- }
-
-
- /* ALERT DATA-API
- * ============== */
-
- $(document).on('click.alert.data-api', dismiss, Alert.prototype.close)
-
-}(window.jQuery);/* ============================================================
- * bootstrap-button.js v2.3.1
- * http://twitter.github.com/bootstrap/javascript.html#buttons
- * ============================================================
- * Copyright 2012 Twitter, Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============================================================ */
-
-
-!function ($) {
-
- "use strict"; // jshint ;_;
-
-
- /* BUTTON PUBLIC CLASS DEFINITION
- * ============================== */
-
- var Button = function (element, options) {
- this.$element = $(element)
- this.options = $.extend({}, $.fn.button.defaults, options)
- }
-
- Button.prototype.setState = function (state) {
- var d = 'disabled'
- , $el = this.$element
- , data = $el.data()
- , val = $el.is('input') ? 'val' : 'html'
-
- state = state + 'Text'
- data.resetText || $el.data('resetText', $el[val]())
-
- $el[val](data[state] || this.options[state])
-
- // push to event loop to allow forms to submit
- setTimeout(function () {
- state == 'loadingText' ?
- $el.addClass(d).attr(d, d) :
- $el.removeClass(d).removeAttr(d)
- }, 0)
- }
-
- Button.prototype.toggle = function () {
- var $parent = this.$element.closest('[data-toggle="buttons-radio"]')
-
- $parent && $parent
- .find('.active')
- .removeClass('active')
-
- this.$element.toggleClass('active')
- }
-
-
- /* BUTTON PLUGIN DEFINITION
- * ======================== */
-
- var old = $.fn.button
-
- $.fn.button = function (option) {
- return this.each(function () {
- var $this = $(this)
- , data = $this.data('button')
- , options = typeof option == 'object' && option
- if (!data) $this.data('button', (data = new Button(this, options)))
- if (option == 'toggle') data.toggle()
- else if (option) data.setState(option)
- })
- }
-
- $.fn.button.defaults = {
- loadingText: 'loading...'
- }
-
- $.fn.button.Constructor = Button
-
-
- /* BUTTON NO CONFLICT
- * ================== */
-
- $.fn.button.noConflict = function () {
- $.fn.button = old
- return this
- }
-
-
- /* BUTTON DATA-API
- * =============== */
-
- $(document).on('click.button.data-api', '[data-toggle^=button]', function (e) {
- var $btn = $(e.target)
- if (!$btn.hasClass('btn')) $btn = $btn.closest('.btn')
- $btn.button('toggle')
- })
-
-}(window.jQuery);/* ==========================================================
- * bootstrap-carousel.js v2.3.1
- * http://twitter.github.com/bootstrap/javascript.html#carousel
- * ==========================================================
- * Copyright 2012 Twitter, Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ========================================================== */
-
-
-!function ($) {
-
- "use strict"; // jshint ;_;
-
-
- /* CAROUSEL CLASS DEFINITION
- * ========================= */
-
- var Carousel = function (element, options) {
- this.$element = $(element)
- this.$indicators = this.$element.find('.carousel-indicators')
- this.options = options
- this.options.pause == 'hover' && this.$element
- .on('mouseenter', $.proxy(this.pause, this))
- .on('mouseleave', $.proxy(this.cycle, this))
- }
-
- Carousel.prototype = {
-
- cycle: function (e) {
- if (!e) this.paused = false
- if (this.interval) clearInterval(this.interval);
- this.options.interval
- && !this.paused
- && (this.interval = setInterval($.proxy(this.next, this), this.options.interval))
- return this
- }
-
- , getActiveIndex: function () {
- this.$active = this.$element.find('.item.active')
- this.$items = this.$active.parent().children()
- return this.$items.index(this.$active)
- }
-
- , to: function (pos) {
- var activeIndex = this.getActiveIndex()
- , that = this
-
- if (pos > (this.$items.length - 1) || pos < 0) return
-
- if (this.sliding) {
- return this.$element.one('slid', function () {
- that.to(pos)
- })
- }
-
- if (activeIndex == pos) {
- return this.pause().cycle()
- }
-
- return this.slide(pos > activeIndex ? 'next' : 'prev', $(this.$items[pos]))
- }
-
- , pause: function (e) {
- if (!e) this.paused = true
- if (this.$element.find('.next, .prev').length && $.support.transition.end) {
- this.$element.trigger($.support.transition.end)
- this.cycle(true)
- }
- clearInterval(this.interval)
- this.interval = null
- return this
- }
-
- , next: function () {
- if (this.sliding) return
- return this.slide('next')
- }
-
- , prev: function () {
- if (this.sliding) return
- return this.slide('prev')
- }
-
- , slide: function (type, next) {
- var $active = this.$element.find('.item.active')
- , $next = next || $active[type]()
- , isCycling = this.interval
- , direction = type == 'next' ? 'left' : 'right'
- , fallback = type == 'next' ? 'first' : 'last'
- , that = this
- , e
-
- this.sliding = true
-
- isCycling && this.pause()
-
- $next = $next.length ? $next : this.$element.find('.item')[fallback]()
-
- e = $.Event('slide', {
- relatedTarget: $next[0]
- , direction: direction
- })
-
- if ($next.hasClass('active')) return
-
- if (this.$indicators.length) {
- this.$indicators.find('.active').removeClass('active')
- this.$element.one('slid', function () {
- var $nextIndicator = $(that.$indicators.children()[that.getActiveIndex()])
- $nextIndicator && $nextIndicator.addClass('active')
- })
- }
-
- if ($.support.transition && this.$element.hasClass('slide')) {
- this.$element.trigger(e)
- if (e.isDefaultPrevented()) return
- $next.addClass(type)
- $next[0].offsetWidth // force reflow
- $active.addClass(direction)
- $next.addClass(direction)
- this.$element.one($.support.transition.end, function () {
- $next.removeClass([type, direction].join(' ')).addClass('active')
- $active.removeClass(['active', direction].join(' '))
- that.sliding = false
- setTimeout(function () { that.$element.trigger('slid') }, 0)
- })
- } else {
- this.$element.trigger(e)
- if (e.isDefaultPrevented()) return
- $active.removeClass('active')
- $next.addClass('active')
- this.sliding = false
- this.$element.trigger('slid')
- }
-
- isCycling && this.cycle()
-
- return this
- }
-
- }
-
-
- /* CAROUSEL PLUGIN DEFINITION
- * ========================== */
-
- var old = $.fn.carousel
-
- $.fn.carousel = function (option) {
- return this.each(function () {
- var $this = $(this)
- , data = $this.data('carousel')
- , options = $.extend({}, $.fn.carousel.defaults, typeof option == 'object' && option)
- , action = typeof option == 'string' ? option : options.slide
- if (!data) $this.data('carousel', (data = new Carousel(this, options)))
- if (typeof option == 'number') data.to(option)
- else if (action) data[action]()
- else if (options.interval) data.pause().cycle()
- })
- }
-
- $.fn.carousel.defaults = {
- interval: 5000
- , pause: 'hover'
- }
-
- $.fn.carousel.Constructor = Carousel
-
-
- /* CAROUSEL NO CONFLICT
- * ==================== */
-
- $.fn.carousel.noConflict = function () {
- $.fn.carousel = old
- return this
- }
-
- /* CAROUSEL DATA-API
- * ================= */
-
- $(document).on('click.carousel.data-api', '[data-slide], [data-slide-to]', function (e) {
- var $this = $(this), href
- , $target = $($this.attr('data-target') || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) //strip for ie7
- , options = $.extend({}, $target.data(), $this.data())
- , slideIndex
-
- $target.carousel(options)
-
- if (slideIndex = $this.attr('data-slide-to')) {
- $target.data('carousel').pause().to(slideIndex).cycle()
- }
-
- e.preventDefault()
- })
-
-}(window.jQuery);/* =============================================================
- * bootstrap-collapse.js v2.3.1
- * http://twitter.github.com/bootstrap/javascript.html#collapse
- * =============================================================
- * Copyright 2012 Twitter, Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============================================================ */
-
-
-!function ($) {
-
- "use strict"; // jshint ;_;
-
-
- /* COLLAPSE PUBLIC CLASS DEFINITION
- * ================================ */
-
- var Collapse = function (element, options) {
- this.$element = $(element)
- this.options = $.extend({}, $.fn.collapse.defaults, options)
-
- if (this.options.parent) {
- this.$parent = $(this.options.parent)
- }
-
- this.options.toggle && this.toggle()
- }
-
- Collapse.prototype = {
-
- constructor: Collapse
-
- , dimension: function () {
- var hasWidth = this.$element.hasClass('width')
- return hasWidth ? 'width' : 'height'
- }
-
- , show: function () {
- var dimension
- , scroll
- , actives
- , hasData
-
- if (this.transitioning || this.$element.hasClass('in')) return
-
- dimension = this.dimension()
- scroll = $.camelCase(['scroll', dimension].join('-'))
- actives = this.$parent && this.$parent.find('> .accordion-group > .in')
-
- if (actives && actives.length) {
- hasData = actives.data('collapse')
- if (hasData && hasData.transitioning) return
- actives.collapse('hide')
- hasData || actives.data('collapse', null)
- }
-
- this.$element[dimension](0)
- this.transition('addClass', $.Event('show'), 'shown')
- $.support.transition && this.$element[dimension](this.$element[0][scroll])
- }
-
- , hide: function () {
- var dimension
- if (this.transitioning || !this.$element.hasClass('in')) return
- dimension = this.dimension()
- this.reset(this.$element[dimension]())
- this.transition('removeClass', $.Event('hide'), 'hidden')
- this.$element[dimension](0)
- }
-
- , reset: function (size) {
- var dimension = this.dimension()
-
- this.$element
- .removeClass('collapse')
- [dimension](size || 'auto')
- [0].offsetWidth
-
- this.$element[size !== null ? 'addClass' : 'removeClass']('collapse')
-
- return this
- }
-
- , transition: function (method, startEvent, completeEvent) {
- var that = this
- , complete = function () {
- if (startEvent.type == 'show') that.reset()
- that.transitioning = 0
- that.$element.trigger(completeEvent)
- }
-
- this.$element.trigger(startEvent)
-
- if (startEvent.isDefaultPrevented()) return
-
- this.transitioning = 1
-
- this.$element[method]('in')
-
- $.support.transition && this.$element.hasClass('collapse') ?
- this.$element.one($.support.transition.end, complete) :
- complete()
- }
-
- , toggle: function () {
- this[this.$element.hasClass('in') ? 'hide' : 'show']()
- }
-
- }
-
-
- /* COLLAPSE PLUGIN DEFINITION
- * ========================== */
-
- var old = $.fn.collapse
-
- $.fn.collapse = function (option) {
- return this.each(function () {
- var $this = $(this)
- , data = $this.data('collapse')
- , options = $.extend({}, $.fn.collapse.defaults, $this.data(), typeof option == 'object' && option)
- if (!data) $this.data('collapse', (data = new Collapse(this, options)))
- if (typeof option == 'string') data[option]()
- })
- }
-
- $.fn.collapse.defaults = {
- toggle: true
- }
-
- $.fn.collapse.Constructor = Collapse
-
-
- /* COLLAPSE NO CONFLICT
- * ==================== */
-
- $.fn.collapse.noConflict = function () {
- $.fn.collapse = old
- return this
- }
-
-
- /* COLLAPSE DATA-API
- * ================= */
-
- $(document).on('click.collapse.data-api', '[data-toggle=collapse]', function (e) {
- var $this = $(this), href
- , target = $this.attr('data-target')
- || e.preventDefault()
- || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '') //strip for ie7
- , option = $(target).data('collapse') ? 'toggle' : $this.data()
- $this[$(target).hasClass('in') ? 'addClass' : 'removeClass']('collapsed')
- $(target).collapse(option)
- })
-
-}(window.jQuery);/* ============================================================
- * bootstrap-dropdown.js v2.3.1
- * http://twitter.github.com/bootstrap/javascript.html#dropdowns
- * ============================================================
- * Copyright 2012 Twitter, Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============================================================ */
-
-
-!function ($) {
-
- "use strict"; // jshint ;_;
-
-
- /* DROPDOWN CLASS DEFINITION
- * ========================= */
-
- var toggle = '[data-toggle=dropdown]'
- , Dropdown = function (element) {
- var $el = $(element).on('click.dropdown.data-api', this.toggle)
- $('html').on('click.dropdown.data-api', function () {
- $el.parent().removeClass('open')
- })
- }
-
- Dropdown.prototype = {
-
- constructor: Dropdown
-
- , toggle: function (e) {
- var $this = $(this)
- , $parent
- , isActive
-
- if ($this.is('.disabled, :disabled')) return
-
- $parent = getParent($this)
-
- isActive = $parent.hasClass('open')
-
- clearMenus()
-
- if (!isActive) {
- $parent.toggleClass('open')
- }
-
- $this.focus()
-
- return false
- }
-
- , keydown: function (e) {
- var $this
- , $items
- , $active
- , $parent
- , isActive
- , index
-
- if (!/(38|40|27)/.test(e.keyCode)) return
-
- $this = $(this)
-
- e.preventDefault()
- e.stopPropagation()
-
- if ($this.is('.disabled, :disabled')) return
-
- $parent = getParent($this)
-
- isActive = $parent.hasClass('open')
-
- if (!isActive || (isActive && e.keyCode == 27)) {
- if (e.which == 27) $parent.find(toggle).focus()
- return $this.click()
- }
-
- $items = $('[role=menu] li:not(.divider):visible a', $parent)
-
- if (!$items.length) return
-
- index = $items.index($items.filter(':focus'))
-
- if (e.keyCode == 38 && index > 0) index-- // up
- if (e.keyCode == 40 && index < $items.length - 1) index++ // down
- if (!~index) index = 0
-
- $items
- .eq(index)
- .focus()
- }
-
- }
-
- function clearMenus() {
- $(toggle).each(function () {
- getParent($(this)).removeClass('open')
- })
- }
-
- function getParent($this) {
- var selector = $this.attr('data-target')
- , $parent
-
- if (!selector) {
- selector = $this.attr('href')
- selector = selector && /#/.test(selector) && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7
- }
-
- $parent = selector && $(selector)
-
- if (!$parent || !$parent.length) $parent = $this.parent()
-
- return $parent
- }
-
-
- /* DROPDOWN PLUGIN DEFINITION
- * ========================== */
-
- var old = $.fn.dropdown
-
- $.fn.dropdown = function (option) {
- return this.each(function () {
- var $this = $(this)
- , data = $this.data('dropdown')
- if (!data) $this.data('dropdown', (data = new Dropdown(this)))
- if (typeof option == 'string') data[option].call($this)
- })
- }
-
- $.fn.dropdown.Constructor = Dropdown
-
-
- /* DROPDOWN NO CONFLICT
- * ==================== */
-
- $.fn.dropdown.noConflict = function () {
- $.fn.dropdown = old
- return this
- }
-
-
- /* APPLY TO STANDARD DROPDOWN ELEMENTS
- * =================================== */
-
- $(document)
- .on('click.dropdown.data-api', clearMenus)
- .on('click.dropdown.data-api', '.dropdown form', function (e) { e.stopPropagation() })
- .on('click.dropdown-menu', function (e) { e.stopPropagation() })
- .on('click.dropdown.data-api' , toggle, Dropdown.prototype.toggle)
- .on('keydown.dropdown.data-api', toggle + ', [role=menu]' , Dropdown.prototype.keydown)
-
-}(window.jQuery);
-/* =========================================================
- * bootstrap-modal.js v2.3.1
- * http://twitter.github.com/bootstrap/javascript.html#modals
- * =========================================================
- * Copyright 2012 Twitter, Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ========================================================= */
-
-
-!function ($) {
-
- "use strict"; // jshint ;_;
-
-
- /* MODAL CLASS DEFINITION
- * ====================== */
-
- var Modal = function (element, options) {
- this.options = options
- this.$element = $(element)
- .delegate('[data-dismiss="modal"]', 'click.dismiss.modal', $.proxy(this.hide, this))
- this.options.remote && this.$element.find('.modal-body').load(this.options.remote)
- }
-
- Modal.prototype = {
-
- constructor: Modal
-
- , toggle: function () {
- return this[!this.isShown ? 'show' : 'hide']()
- }
-
- , show: function () {
- var that = this
- , e = $.Event('show')
-
- this.$element.trigger(e)
-
- if (this.isShown || e.isDefaultPrevented()) return
-
- this.isShown = true
-
- this.escape()
-
- this.backdrop(function () {
- var transition = $.support.transition && that.$element.hasClass('fade')
-
- if (!that.$element.parent().length) {
- that.$element.appendTo(document.body) //don't move modals dom position
- }
-
- that.$element.show()
-
- if (transition) {
- that.$element[0].offsetWidth // force reflow
- }
-
- that.$element
- .addClass('in')
- .attr('aria-hidden', false)
-
- that.enforceFocus()
-
- transition ?
- that.$element.one($.support.transition.end, function () { that.$element.focus().trigger('shown') }) :
- that.$element.focus().trigger('shown')
-
- })
- }
-
- , hide: function (e) {
- e && e.preventDefault()
-
- var that = this
-
- e = $.Event('hide')
-
- this.$element.trigger(e)
-
- if (!this.isShown || e.isDefaultPrevented()) return
-
- this.isShown = false
-
- this.escape()
-
- $(document).off('focusin.modal')
-
- this.$element
- .removeClass('in')
- .attr('aria-hidden', true)
-
- $.support.transition && this.$element.hasClass('fade') ?
- this.hideWithTransition() :
- this.hideModal()
- }
-
- , enforceFocus: function () {
- var that = this
- $(document).on('focusin.modal', function (e) {
- if (that.$element[0] !== e.target && !that.$element.has(e.target).length) {
- that.$element.focus()
- }
- })
- }
-
- , escape: function () {
- var that = this
- if (this.isShown && this.options.keyboard) {
- this.$element.on('keyup.dismiss.modal', function ( e ) {
- e.which == 27 && that.hide()
- })
- } else if (!this.isShown) {
- this.$element.off('keyup.dismiss.modal')
- }
- }
-
- , hideWithTransition: function () {
- var that = this
- , timeout = setTimeout(function () {
- that.$element.off($.support.transition.end)
- that.hideModal()
- }, 500)
-
- this.$element.one($.support.transition.end, function () {
- clearTimeout(timeout)
- that.hideModal()
- })
- }
-
- , hideModal: function () {
- var that = this
- this.$element.hide()
- this.backdrop(function () {
- that.removeBackdrop()
- that.$element.trigger('hidden')
- })
- }
-
- , removeBackdrop: function () {
- this.$backdrop && this.$backdrop.remove()
- this.$backdrop = null
- }
-
- , backdrop: function (callback) {
- var that = this
- , animate = this.$element.hasClass('fade') ? 'fade' : ''
-
- if (this.isShown && this.options.backdrop) {
- var doAnimate = $.support.transition && animate
-
- this.$backdrop = $('<div class="modal-backdrop ' + animate + '" />')
- .appendTo(document.body)
-
- this.$backdrop.click(
- this.options.backdrop == 'static' ?
- $.proxy(this.$element[0].focus, this.$element[0])
- : $.proxy(this.hide, this)
- )
-
- if (doAnimate) this.$backdrop[0].offsetWidth // force reflow
-
- this.$backdrop.addClass('in')
-
- if (!callback) return
-
- doAnimate ?
- this.$backdrop.one($.support.transition.end, callback) :
- callback()
-
- } else if (!this.isShown && this.$backdrop) {
- this.$backdrop.removeClass('in')
-
- $.support.transition && this.$element.hasClass('fade')?
- this.$backdrop.one($.support.transition.end, callback) :
- callback()
-
- } else if (callback) {
- callback()
- }
- }
- }
-
-
- /* MODAL PLUGIN DEFINITION
- * ======================= */
-
- var old = $.fn.modal
-
- $.fn.modal = function (option) {
- return this.each(function () {
- var $this = $(this)
- , data = $this.data('modal')
- , options = $.extend({}, $.fn.modal.defaults, $this.data(), typeof option == 'object' && option)
- if (!data) $this.data('modal', (data = new Modal(this, options)))
- if (typeof option == 'string') data[option]()
- else if (options.show) data.show()
- })
- }
-
- $.fn.modal.defaults = {
- backdrop: true
- , keyboard: true
- , show: true
- }
-
- $.fn.modal.Constructor = Modal
-
-
- /* MODAL NO CONFLICT
- * ================= */
-
- $.fn.modal.noConflict = function () {
- $.fn.modal = old
- return this
- }
-
-
- /* MODAL DATA-API
- * ============== */
-
- $(document).on('click.modal.data-api', '[data-toggle="modal"]', function (e) {
- var $this = $(this)
- , href = $this.attr('href')
- , $target = $($this.attr('data-target') || (href && href.replace(/.*(?=#[^\s]+$)/, ''))) //strip for ie7
- , option = $target.data('modal') ? 'toggle' : $.extend({ remote:!/#/.test(href) && href }, $target.data(), $this.data())
-
- e.preventDefault()
-
- $target
- .modal(option)
- .one('hide', function () {
- $this.focus()
- })
- })
-
-}(window.jQuery);
-/* ===========================================================
- * bootstrap-tooltip.js v2.3.1
- * http://twitter.github.com/bootstrap/javascript.html#tooltips
- * Inspired by the original jQuery.tipsy by Jason Frame
- * ===========================================================
- * Copyright 2012 Twitter, Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ========================================================== */
-
-
-!function ($) {
-
- "use strict"; // jshint ;_;
-
-
- /* TOOLTIP PUBLIC CLASS DEFINITION
- * =============================== */
-
- var Tooltip = function (element, options) {
- this.init('tooltip', element, options)
- }
-
- Tooltip.prototype = {
-
- constructor: Tooltip
-
- , init: function (type, element, options) {
- var eventIn
- , eventOut
- , triggers
- , trigger
- , i
-
- this.type = type
- this.$element = $(element)
- this.options = this.getOptions(options)
- this.enabled = true
-
- triggers = this.options.trigger.split(' ')
-
- for (i = triggers.length; i--;) {
- trigger = triggers[i]
- if (trigger == 'click') {
- this.$element.on('click.' + this.type, this.options.selector, $.proxy(this.toggle, this))
- } else if (trigger != 'manual') {
- eventIn = trigger == 'hover' ? 'mouseenter' : 'focus'
- eventOut = trigger == 'hover' ? 'mouseleave' : 'blur'
- this.$element.on(eventIn + '.' + this.type, this.options.selector, $.proxy(this.enter, this))
- this.$element.on(eventOut + '.' + this.type, this.options.selector, $.proxy(this.leave, this))
- }
- }
-
- this.options.selector ?
- (this._options = $.extend({}, this.options, { trigger: 'manual', selector: '' })) :
- this.fixTitle()
- }
-
- , getOptions: function (options) {
- options = $.extend({}, $.fn[this.type].defaults, this.$element.data(), options)
-
- if (options.delay && typeof options.delay == 'number') {
- options.delay = {
- show: options.delay
- , hide: options.delay
- }
- }
-
- return options
- }
-
- , enter: function (e) {
- var defaults = $.fn[this.type].defaults
- , options = {}
- , self
-
- this._options && $.each(this._options, function (key, value) {
- if (defaults[key] != value) options[key] = value
- }, this)
-
- self = $(e.currentTarget)[this.type](options).data(this.type)
-
- if (!self.options.delay || !self.options.delay.show) return self.show()
-
- clearTimeout(this.timeout)
- self.hoverState = 'in'
- this.timeout = setTimeout(function() {
- if (self.hoverState == 'in') self.show()
- }, self.options.delay.show)
- }
-
- , leave: function (e) {
- var self = $(e.currentTarget)[this.type](this._options).data(this.type)
-
- if (this.timeout) clearTimeout(this.timeout)
- if (!self.options.delay || !self.options.delay.hide) return self.hide()
-
- self.hoverState = 'out'
- this.timeout = setTimeout(function() {
- if (self.hoverState == 'out') self.hide()
- }, self.options.delay.hide)
- }
-
- , show: function () {
- var $tip
- , pos
- , actualWidth
- , actualHeight
- , placement
- , tp
- , e = $.Event('show')
-
- if (this.hasContent() && this.enabled) {
- this.$element.trigger(e)
- if (e.isDefaultPrevented()) return
- $tip = this.tip()
- this.setContent()
-
- if (this.options.animation) {
- $tip.addClass('fade')
- }
-
- placement = typeof this.options.placement == 'function' ?
- this.options.placement.call(this, $tip[0], this.$element[0]) :
- this.options.placement
-
- $tip
- .detach()
- .css({ top: 0, left: 0, display: 'block' })
-
- this.options.container ? $tip.appendTo(this.options.container) : $tip.insertAfter(this.$element)
-
- pos = this.getPosition()
-
- actualWidth = $tip[0].offsetWidth
- actualHeight = $tip[0].offsetHeight
-
- switch (placement) {
- case 'bottom':
- tp = {top: pos.top + pos.height, left: pos.left + pos.width / 2 - actualWidth / 2}
- break
- case 'top':
- tp = {top: pos.top - actualHeight, left: pos.left + pos.width / 2 - actualWidth / 2}
- break
- case 'left':
- tp = {top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left - actualWidth}
- break
- case 'right':
- tp = {top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left + pos.width}
- break
- }
-
- this.applyPlacement(tp, placement)
- this.$element.trigger('shown')
- }
- }
-
- , applyPlacement: function(offset, placement){
- var $tip = this.tip()
- , width = $tip[0].offsetWidth
- , height = $tip[0].offsetHeight
- , actualWidth
- , actualHeight
- , delta
- , replace
-
- $tip
- .offset(offset)
- .addClass(placement)
- .addClass('in')
-
- actualWidth = $tip[0].offsetWidth
- actualHeight = $tip[0].offsetHeight
-
- if (placement == 'top' && actualHeight != height) {
- offset.top = offset.top + height - actualHeight
- replace = true
- }
-
- if (placement == 'bottom' || placement == 'top') {
- delta = 0
-
- if (offset.left < 0){
- delta = offset.left * -2
- offset.left = 0
- $tip.offset(offset)
- actualWidth = $tip[0].offsetWidth
- actualHeight = $tip[0].offsetHeight
- }
-
- this.replaceArrow(delta - width + actualWidth, actualWidth, 'left')
- } else {
- this.replaceArrow(actualHeight - height, actualHeight, 'top')
- }
-
- if (replace) $tip.offset(offset)
- }
-
- , replaceArrow: function(delta, dimension, position){
- this
- .arrow()
- .css(position, delta ? (50 * (1 - delta / dimension) + "%") : '')
- }
-
- , setContent: function () {
- var $tip = this.tip()
- , title = this.getTitle()
-
- $tip.find('.tooltip-inner')[this.options.html ? 'html' : 'text'](title)
- $tip.removeClass('fade in top bottom left right')
- }
-
- , hide: function () {
- var that = this
- , $tip = this.tip()
- , e = $.Event('hide')
-
- this.$element.trigger(e)
- if (e.isDefaultPrevented()) return
-
- $tip.removeClass('in')
-
- function removeWithAnimation() {
- var timeout = setTimeout(function () {
- $tip.off($.support.transition.end).detach()
- }, 500)
-
- $tip.one($.support.transition.end, function () {
- clearTimeout(timeout)
- $tip.detach()
- })
- }
-
- $.support.transition && this.$tip.hasClass('fade') ?
- removeWithAnimation() :
- $tip.detach()
-
- this.$element.trigger('hidden')
-
- return this
- }
-
- , fixTitle: function () {
- var $e = this.$element
- if ($e.attr('title') || typeof($e.attr('data-original-title')) != 'string') {
- $e.attr('data-original-title', $e.attr('title') || '').attr('title', '')
- }
- }
-
- , hasContent: function () {
- return this.getTitle()
- }
-
- , getPosition: function () {
- var el = this.$element[0]
- return $.extend({}, (typeof el.getBoundingClientRect == 'function') ? el.getBoundingClientRect() : {
- width: el.offsetWidth
- , height: el.offsetHeight
- }, this.$element.offset())
- }
-
- , getTitle: function () {
- var title
- , $e = this.$element
- , o = this.options
-
- title = $e.attr('data-original-title')
- || (typeof o.title == 'function' ? o.title.call($e[0]) : o.title)
-
- return title
- }
-
- , tip: function () {
- return this.$tip = this.$tip || $(this.options.template)
- }
-
- , arrow: function(){
- return this.$arrow = this.$arrow || this.tip().find(".tooltip-arrow")
- }
-
- , validate: function () {
- if (!this.$element[0].parentNode) {
- this.hide()
- this.$element = null
- this.options = null
- }
- }
-
- , enable: function () {
- this.enabled = true
- }
-
- , disable: function () {
- this.enabled = false
- }
-
- , toggleEnabled: function () {
- this.enabled = !this.enabled
- }
-
- , toggle: function (e) {
- var self = e ? $(e.currentTarget)[this.type](this._options).data(this.type) : this
- self.tip().hasClass('in') ? self.hide() : self.show()
- }
-
- , destroy: function () {
- this.hide().$element.off('.' + this.type).removeData(this.type)
- }
-
- }
-
-
- /* TOOLTIP PLUGIN DEFINITION
- * ========================= */
-
- var old = $.fn.tooltip
-
- $.fn.tooltip = function ( option ) {
- return this.each(function () {
- var $this = $(this)
- , data = $this.data('tooltip')
- , options = typeof option == 'object' && option
- if (!data) $this.data('tooltip', (data = new Tooltip(this, options)))
- if (typeof option == 'string') data[option]()
- })
- }
-
- $.fn.tooltip.Constructor = Tooltip
-
- $.fn.tooltip.defaults = {
- animation: true
- , placement: 'top'
- , selector: false
- , template: '<div class="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>'
- , trigger: 'hover focus'
- , title: ''
- , delay: 0
- , html: false
- , container: false
- }
-
-
- /* TOOLTIP NO CONFLICT
- * =================== */
-
- $.fn.tooltip.noConflict = function () {
- $.fn.tooltip = old
- return this
- }
-
-}(window.jQuery);
-/* ===========================================================
- * bootstrap-popover.js v2.3.1
- * http://twitter.github.com/bootstrap/javascript.html#popovers
- * ===========================================================
- * Copyright 2012 Twitter, Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * =========================================================== */
-
-
-!function ($) {
-
- "use strict"; // jshint ;_;
-
-
- /* POPOVER PUBLIC CLASS DEFINITION
- * =============================== */
-
- var Popover = function (element, options) {
- this.init('popover', element, options)
- }
-
-
- /* NOTE: POPOVER EXTENDS BOOTSTRAP-TOOLTIP.js
- ========================================== */
-
- Popover.prototype = $.extend({}, $.fn.tooltip.Constructor.prototype, {
-
- constructor: Popover
-
- , setContent: function () {
- var $tip = this.tip()
- , title = this.getTitle()
- , content = this.getContent()
-
- $tip.find('.popover-title')[this.options.html ? 'html' : 'text'](title)
- $tip.find('.popover-content')[this.options.html ? 'html' : 'text'](content)
-
- $tip.removeClass('fade top bottom left right in')
- }
-
- , hasContent: function () {
- return this.getTitle() || this.getContent()
- }
-
- , getContent: function () {
- var content
- , $e = this.$element
- , o = this.options
-
- content = (typeof o.content == 'function' ? o.content.call($e[0]) : o.content)
- || $e.attr('data-content')
-
- return content
- }
-
- , tip: function () {
- if (!this.$tip) {
- this.$tip = $(this.options.template)
- }
- return this.$tip
- }
-
- , destroy: function () {
- this.hide().$element.off('.' + this.type).removeData(this.type)
- }
-
- })
-
-
- /* POPOVER PLUGIN DEFINITION
- * ======================= */
-
- var old = $.fn.popover
-
- $.fn.popover = function (option) {
- return this.each(function () {
- var $this = $(this)
- , data = $this.data('popover')
- , options = typeof option == 'object' && option
- if (!data) $this.data('popover', (data = new Popover(this, options)))
- if (typeof option == 'string') data[option]()
- })
- }
-
- $.fn.popover.Constructor = Popover
-
- $.fn.popover.defaults = $.extend({} , $.fn.tooltip.defaults, {
- placement: 'right'
- , trigger: 'click'
- , content: ''
- , template: '<div class="popover"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'
- })
-
-
- /* POPOVER NO CONFLICT
- * =================== */
-
- $.fn.popover.noConflict = function () {
- $.fn.popover = old
- return this
- }
-
-}(window.jQuery);
-/* =============================================================
- * bootstrap-scrollspy.js v2.3.1
- * http://twitter.github.com/bootstrap/javascript.html#scrollspy
- * =============================================================
- * Copyright 2012 Twitter, Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============================================================== */
-
-
-!function ($) {
-
- "use strict"; // jshint ;_;
-
-
- /* SCROLLSPY CLASS DEFINITION
- * ========================== */
-
- function ScrollSpy(element, options) {
- var process = $.proxy(this.process, this)
- , $element = $(element).is('body') ? $(window) : $(element)
- , href
- this.options = $.extend({}, $.fn.scrollspy.defaults, options)
- this.$scrollElement = $element.on('scroll.scroll-spy.data-api', process)
- this.selector = (this.options.target
- || ((href = $(element).attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) //strip for ie7
- || '') + ' .nav li > a'
- this.$body = $('body')
- this.refresh()
- this.process()
- }
-
- ScrollSpy.prototype = {
-
- constructor: ScrollSpy
-
- , refresh: function () {
- var self = this
- , $targets
-
- this.offsets = $([])
- this.targets = $([])
-
- $targets = this.$body
- .find(this.selector)
- .map(function () {
- var $el = $(this)
- , href = $el.data('target') || $el.attr('href')
- , $href = /^#\w/.test(href) && $(href)
- return ( $href
- && $href.length
- && [[ $href.position().top + (!$.isWindow(self.$scrollElement.get(0)) && self.$scrollElement.scrollTop()), href ]] ) || null
- })
- .sort(function (a, b) { return a[0] - b[0] })
- .each(function () {
- self.offsets.push(this[0])
- self.targets.push(this[1])
- })
- }
-
- , process: function () {
- var scrollTop = this.$scrollElement.scrollTop() + this.options.offset
- , scrollHeight = this.$scrollElement[0].scrollHeight || this.$body[0].scrollHeight
- , maxScroll = scrollHeight - this.$scrollElement.height()
- , offsets = this.offsets
- , targets = this.targets
- , activeTarget = this.activeTarget
- , i
-
- if (scrollTop >= maxScroll) {
- return activeTarget != (i = targets.last()[0])
- && this.activate ( i )
- }
-
- for (i = offsets.length; i--;) {
- activeTarget != targets[i]
- && scrollTop >= offsets[i]
- && (!offsets[i + 1] || scrollTop <= offsets[i + 1])
- && this.activate( targets[i] )
- }
- }
-
- , activate: function (target) {
- var active
- , selector
-
- this.activeTarget = target
-
- $(this.selector)
- .parent('.active')
- .removeClass('active')
-
- selector = this.selector
- + '[data-target="' + target + '"],'
- + this.selector + '[href="' + target + '"]'
-
- active = $(selector)
- .parent('li')
- .addClass('active')
-
- if (active.parent('.dropdown-menu').length) {
- active = active.closest('li.dropdown').addClass('active')
- }
-
- active.trigger('activate')
- }
-
- }
-
-
- /* SCROLLSPY PLUGIN DEFINITION
- * =========================== */
-
- var old = $.fn.scrollspy
-
- $.fn.scrollspy = function (option) {
- return this.each(function () {
- var $this = $(this)
- , data = $this.data('scrollspy')
- , options = typeof option == 'object' && option
- if (!data) $this.data('scrollspy', (data = new ScrollSpy(this, options)))
- if (typeof option == 'string') data[option]()
- })
- }
-
- $.fn.scrollspy.Constructor = ScrollSpy
-
- $.fn.scrollspy.defaults = {
- offset: 10
- }
-
-
- /* SCROLLSPY NO CONFLICT
- * ===================== */
-
- $.fn.scrollspy.noConflict = function () {
- $.fn.scrollspy = old
- return this
- }
-
-
- /* SCROLLSPY DATA-API
- * ================== */
-
- $(window).on('load', function () {
- $('[data-spy="scroll"]').each(function () {
- var $spy = $(this)
- $spy.scrollspy($spy.data())
- })
- })
-
-}(window.jQuery);/* ========================================================
- * bootstrap-tab.js v2.3.1
- * http://twitter.github.com/bootstrap/javascript.html#tabs
- * ========================================================
- * Copyright 2012 Twitter, Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ======================================================== */
-
-
-!function ($) {
-
- "use strict"; // jshint ;_;
-
-
- /* TAB CLASS DEFINITION
- * ==================== */
-
- var Tab = function (element) {
- this.element = $(element)
- }
-
- Tab.prototype = {
-
- constructor: Tab
-
- , show: function () {
- var $this = this.element
- , $ul = $this.closest('ul:not(.dropdown-menu)')
- , selector = $this.attr('data-target')
- , previous
- , $target
- , e
-
- if (!selector) {
- selector = $this.attr('href')
- selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7
- }
-
- if ( $this.parent('li').hasClass('active') ) return
-
- previous = $ul.find('.active:last a')[0]
-
- e = $.Event('show', {
- relatedTarget: previous
- })
-
- $this.trigger(e)
-
- if (e.isDefaultPrevented()) return
-
- $target = $(selector)
-
- this.activate($this.parent('li'), $ul)
- this.activate($target, $target.parent(), function () {
- $this.trigger({
- type: 'shown'
- , relatedTarget: previous
- })
- })
- }
-
- , activate: function ( element, container, callback) {
- var $active = container.find('> .active')
- , transition = callback
- && $.support.transition
- && $active.hasClass('fade')
-
- function next() {
- $active
- .removeClass('active')
- .find('> .dropdown-menu > .active')
- .removeClass('active')
-
- element.addClass('active')
-
- if (transition) {
- element[0].offsetWidth // reflow for transition
- element.addClass('in')
- } else {
- element.removeClass('fade')
- }
-
- if ( element.parent('.dropdown-menu') ) {
- element.closest('li.dropdown').addClass('active')
- }
-
- callback && callback()
- }
-
- transition ?
- $active.one($.support.transition.end, next) :
- next()
-
- $active.removeClass('in')
- }
- }
-
-
- /* TAB PLUGIN DEFINITION
- * ===================== */
-
- var old = $.fn.tab
-
- $.fn.tab = function ( option ) {
- return this.each(function () {
- var $this = $(this)
- , data = $this.data('tab')
- if (!data) $this.data('tab', (data = new Tab(this)))
- if (typeof option == 'string') data[option]()
- })
- }
-
- $.fn.tab.Constructor = Tab
-
-
- /* TAB NO CONFLICT
- * =============== */
-
- $.fn.tab.noConflict = function () {
- $.fn.tab = old
- return this
- }
-
-
- /* TAB DATA-API
- * ============ */
-
- $(document).on('click.tab.data-api', '[data-toggle="tab"], [data-toggle="pill"]', function (e) {
- e.preventDefault()
- $(this).tab('show')
- })
-
-}(window.jQuery);/* =============================================================
- * bootstrap-typeahead.js v2.3.1
- * http://twitter.github.com/bootstrap/javascript.html#typeahead
- * =============================================================
- * Copyright 2012 Twitter, Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============================================================ */
-
-
-!function($){
-
- "use strict"; // jshint ;_;
-
-
- /* TYPEAHEAD PUBLIC CLASS DEFINITION
- * ================================= */
-
- var Typeahead = function (element, options) {
- this.$element = $(element)
- this.options = $.extend({}, $.fn.typeahead.defaults, options)
- 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.source = this.options.source
- this.$menu = $(this.options.menu)
- this.shown = false
- this.listen()
- }
-
- Typeahead.prototype = {
-
- constructor: Typeahead
-
- , select: function () {
- var val = this.$menu.find('.active').attr('data-value')
- this.$element
- .val(this.updater(val))
- .change()
- return this.hide()
- }
-
- , updater: function (item) {
- return item
- }
-
- , show: function () {
- var pos = $.extend({}, this.$element.position(), {
- height: this.$element[0].offsetHeight
- })
-
- this.$menu
- .insertAfter(this.$element)
- .css({
- top: pos.top + pos.height
- , left: pos.left
- })
- .show()
-
- this.shown = true
- return this
- }
-
- , hide: function () {
- this.$menu.hide()
- this.shown = false
- return this
- }
-
- , lookup: function (event) {
- var items
-
- this.query = this.$element.val()
-
- if (!this.query || this.query.length < this.options.minLength) {
- return this.shown ? this.hide() : this
- }
-
- items = $.isFunction(this.source) ? this.source(this.query, $.proxy(this.process, this)) : this.source
-
- return items ? this.process(items) : this
- }
-
- , process: function (items) {
- var that = this
-
- items = $.grep(items, function (item) {
- return that.matcher(item)
- })
-
- items = this.sorter(items)
-
- if (!items.length) {
- return this.shown ? this.hide() : this
- }
-
- return this.render(items.slice(0, this.options.items)).show()
- }
-
- , matcher: function (item) {
- return ~item.toLowerCase().indexOf(this.query.toLowerCase())
- }
-
- , sorter: function (items) {
- var beginswith = []
- , caseSensitive = []
- , caseInsensitive = []
- , item
-
- while (item = items.shift()) {
- if (!item.toLowerCase().indexOf(this.query.toLowerCase())) beginswith.push(item)
- else if (~item.indexOf(this.query)) caseSensitive.push(item)
- else caseInsensitive.push(item)
- }
-
- return beginswith.concat(caseSensitive, caseInsensitive)
- }
-
- , highlighter: function (item) {
- var query = this.query.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g, '\\$&')
- return item.replace(new RegExp('(' + query + ')', 'ig'), function ($1, match) {
- return '<strong>' + match + '</strong>'
- })
- }
-
- , render: function (items) {
- var that = this
-
- items = $(items).map(function (i, item) {
- i = $(that.options.item).attr('data-value', item)
- i.find('a').html(that.highlighter(item))
- return i[0]
- })
-
- items.first().addClass('active')
- this.$menu.html(items)
- return this
- }
-
- , next: function (event) {
- var active = this.$menu.find('.active').removeClass('active')
- , next = active.next()
-
- if (!next.length) {
- next = $(this.$menu.find('li')[0])
- }
-
- next.addClass('active')
- }
-
- , prev: function (event) {
- var active = this.$menu.find('.active').removeClass('active')
- , prev = active.prev()
-
- if (!prev.length) {
- prev = this.$menu.find('li').last()
- }
-
- prev.addClass('active')
- }
-
- , listen: function () {
- this.$element
- .on('focus', $.proxy(this.focus, this))
- .on('blur', $.proxy(this.blur, this))
- .on('keypress', $.proxy(this.keypress, this))
- .on('keyup', $.proxy(this.keyup, this))
-
- if (this.eventSupported('keydown')) {
- this.$element.on('keydown', $.proxy(this.keydown, this))
- }
-
- this.$menu
- .on('click', $.proxy(this.click, this))
- .on('mouseenter', 'li', $.proxy(this.mouseenter, this))
- .on('mouseleave', 'li', $.proxy(this.mouseleave, this))
- }
-
- , eventSupported: function(eventName) {
- var isSupported = eventName in this.$element
- if (!isSupported) {
- this.$element.setAttribute(eventName, 'return;')
- isSupported = typeof this.$element[eventName] === 'function'
- }
- return isSupported
- }
-
- , move: function (e) {
- if (!this.shown) return
-
- switch(e.keyCode) {
- case 9: // tab
- case 13: // enter
- case 27: // escape
- e.preventDefault()
- break
-
- case 38: // up arrow
- e.preventDefault()
- this.prev()
- break
-
- case 40: // down arrow
- e.preventDefault()
- this.next()
- break
- }
-
- e.stopPropagation()
- }
-
- , keydown: function (e) {
- this.suppressKeyPressRepeat = ~$.inArray(e.keyCode, [40,38,9,13,27])
- this.move(e)
- }
-
- , keypress: function (e) {
- if (this.suppressKeyPressRepeat) return
- this.move(e)
- }
-
- , keyup: function (e) {
- switch(e.keyCode) {
- case 40: // down arrow
- case 38: // up arrow
- case 16: // shift
- case 17: // ctrl
- case 18: // alt
- break
-
- case 9: // tab
- case 13: // enter
- if (!this.shown) return
- this.select()
- break
-
- case 27: // escape
- if (!this.shown) return
- this.hide()
- break
-
- default:
- this.lookup()
- }
-
- e.stopPropagation()
- e.preventDefault()
- }
-
- , focus: function (e) {
- this.focused = true
- }
-
- , blur: function (e) {
- this.focused = false
- if (!this.mousedover && this.shown) this.hide()
- }
-
- , click: function (e) {
- e.stopPropagation()
- e.preventDefault()
- this.select()
- this.$element.focus()
- }
-
- , mouseenter: function (e) {
- this.mousedover = true
- this.$menu.find('.active').removeClass('active')
- $(e.currentTarget).addClass('active')
- }
-
- , mouseleave: function (e) {
- this.mousedover = false
- if (!this.focused && this.shown) this.hide()
- }
-
- }
-
-
- /* TYPEAHEAD PLUGIN DEFINITION
- * =========================== */
-
- var old = $.fn.typeahead
-
- $.fn.typeahead = function (option) {
- return this.each(function () {
- var $this = $(this)
- , data = $this.data('typeahead')
- , options = typeof option == 'object' && option
- if (!data) $this.data('typeahead', (data = new Typeahead(this, options)))
- if (typeof option == 'string') data[option]()
- })
- }
-
- $.fn.typeahead.defaults = {
- source: []
- , items: 8
- , menu: '<ul class="typeahead dropdown-menu"></ul>'
- , item: '<li><a href="#"></a></li>'
- , minLength: 1
- }
-
- $.fn.typeahead.Constructor = Typeahead
-
-
- /* TYPEAHEAD NO CONFLICT
- * =================== */
-
- $.fn.typeahead.noConflict = function () {
- $.fn.typeahead = old
- return this
- }
-
-
- /* TYPEAHEAD DATA-API
- * ================== */
-
- $(document).on('focus.typeahead.data-api', '[data-provide="typeahead"]', function (e) {
- var $this = $(this)
- if ($this.data('typeahead')) return
- $this.typeahead($this.data())
- })
-
-}(window.jQuery);
-/* ==========================================================
- * bootstrap-affix.js v2.3.1
- * http://twitter.github.com/bootstrap/javascript.html#affix
- * ==========================================================
- * Copyright 2012 Twitter, Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ========================================================== */
-
-
-!function ($) {
-
- "use strict"; // jshint ;_;
-
-
- /* AFFIX CLASS DEFINITION
- * ====================== */
-
- var Affix = function (element, options) {
- this.options = $.extend({}, $.fn.affix.defaults, options)
- this.$window = $(window)
- .on('scroll.affix.data-api', $.proxy(this.checkPosition, this))
- .on('click.affix.data-api', $.proxy(function () { setTimeout($.proxy(this.checkPosition, this), 1) }, this))
- this.$element = $(element)
- this.checkPosition()
- }
-
- Affix.prototype.checkPosition = function () {
- if (!this.$element.is(':visible')) return
-
- var scrollHeight = $(document).height()
- , scrollTop = this.$window.scrollTop()
- , position = this.$element.offset()
- , offset = this.options.offset
- , offsetBottom = offset.bottom
- , offsetTop = offset.top
- , reset = 'affix affix-top affix-bottom'
- , affix
-
- if (typeof offset != 'object') offsetBottom = offsetTop = offset
- if (typeof offsetTop == 'function') offsetTop = offset.top()
- if (typeof offsetBottom == 'function') offsetBottom = offset.bottom()
-
- affix = this.unpin != null && (scrollTop + this.unpin <= position.top) ?
- false : offsetBottom != null && (position.top + this.$element.height() >= scrollHeight - offsetBottom) ?
- 'bottom' : offsetTop != null && scrollTop <= offsetTop ?
- 'top' : false
-
- if (this.affixed === affix) return
-
- this.affixed = affix
- this.unpin = affix == 'bottom' ? position.top - scrollTop : null
-
- this.$element.removeClass(reset).addClass('affix' + (affix ? '-' + affix : ''))
- }
-
-
- /* AFFIX PLUGIN DEFINITION
- * ======================= */
-
- var old = $.fn.affix
-
- $.fn.affix = function (option) {
- return this.each(function () {
- var $this = $(this)
- , data = $this.data('affix')
- , options = typeof option == 'object' && option
- if (!data) $this.data('affix', (data = new Affix(this, options)))
- if (typeof option == 'string') data[option]()
- })
- }
-
- $.fn.affix.Constructor = Affix
-
- $.fn.affix.defaults = {
- offset: 0
- }
-
-
- /* AFFIX NO CONFLICT
- * ================= */
-
- $.fn.affix.noConflict = function () {
- $.fn.affix = old
- return this
- }
-
-
- /* AFFIX DATA-API
- * ============== */
-
- $(window).on('load', function () {
- $('[data-spy="affix"]').each(function () {
- var $spy = $(this)
- , data = $spy.data()
-
- data.offset = data.offset || {}
-
- data.offsetBottom && (data.offset.bottom = data.offsetBottom)
- data.offsetTop && (data.offset.top = data.offsetTop)
-
- $spy.affix(data)
- })
- })
-
-
-}(window.jQuery);
\ No newline at end of file
a***@apache.org
2017-12-21 04:52:58 UTC
Permalink
http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/assets/themes/mahout3/js/bootstrap.min.js
----------------------------------------------------------------------
diff --git a/website-old/assets/themes/mahout3/js/bootstrap.min.js b/website-old/assets/themes/mahout3/js/bootstrap.min.js
deleted file mode 100644
index bde3efd..0000000
--- a/website-old/assets/themes/mahout3/js/bootstrap.min.js
+++ /dev/null
@@ -1,17 +0,0 @@
-/*!
- * Bootstrap v3.0.3 (http://getbootstrap.com)
- * Copyright 2013 Twitter, Inc.
- * Licensed under http://www.apache.org/licenses/LICENSE-2.0
- */
-
-if("undefined"==typeof jQuery)throw new Error("Bootstrap requires jQuery");+function(a){"use strict";function b(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(void 0!==a.style[c])return{end:b[c]}}a.fn.emulateTransitionEnd=function(b){var c=!1,d=this;a(this).one(a.support.transition.end,function(){c=!0});var e=function(){c||a(d).trigger(a.support.transition.end)};return setTimeout(e,b),this},a(function(){a.support.transition=b()})}(jQuery),+function(a){"use strict";var b='[data-dismiss="alert"]',c=function(c){a(c).on("click",b,this.close)};c.prototype.close=function(b){function c(){f.trigger("closed.bs.alert").remove()}var d=a(this),e=d.attr("data-target");e||(e=d.attr("href"),e=e&&e.replace(/.*(?=#[^\s]*$)/,""));var f=a(e);b&&b.preventDefault(),f.length||(f=d.hasClass("alert")?d:d.parent()),f.trigger(b=a.Event("close.bs.alert"
)),b.isDefaultPrevented()||(f.removeClass("in"),a.support.transition&&f.hasClass("fade")?f.one(a.support.transition.end,c).emulateTransitionEnd(150):c())};var d=a.fn.alert;a.fn.alert=function(b){return this.each(function(){var d=a(this),e=d.data("bs.alert");e||d.data("bs.alert",e=new c(this)),"string"==typeof b&&e[b].call(d)})},a.fn.alert.Constructor=c,a.fn.alert.noConflict=function(){return a.fn.alert=d,this},a(document).on("click.bs.alert.data-api",b,c.prototype.close)}(jQuery),+function(a){"use strict";var b=function(c,d){this.$element=a(c),this.options=a.extend({},b.DEFAULTS,d)};b.DEFAULTS={loadingText:"loading..."},b.prototype.setState=function(a){var b="disabled",c=this.$element,d=c.is("input")?"val":"html",e=c.data();a+="Text",e.resetText||c.data("resetText",c[d]()),c[d](e[a]||this.options[a]),setTimeout(function(){"loadingText"==a?c.addClass(b).attr(b,b):c.removeClass(b).removeAttr(b)},0)},b.prototype.toggle=function(){var a=this.$element.closest('[data-toggle="buttons"]'),b
=!0;if(a.length){var c=this.$element.find("input");"radio"===c.prop("type")&&(c.prop("checked")&&this.$element.hasClass("active")?b=!1:a.find(".active").removeClass("active")),b&&c.prop("checked",!this.$element.hasClass("active")).trigger("change")}b&&this.$element.toggleClass("active")};var c=a.fn.button;a.fn.button=function(c){return this.each(function(){var d=a(this),e=d.data("bs.button"),f="object"==typeof c&&c;e||d.data("bs.button",e=new b(this,f)),"toggle"==c?e.toggle():c&&e.setState(c)})},a.fn.button.Constructor=b,a.fn.button.noConflict=function(){return a.fn.button=c,this},a(document).on("click.bs.button.data-api","[data-toggle^=button]",function(b){var c=a(b.target);c.hasClass("btn")||(c=c.closest(".btn")),c.button("toggle"),b.preventDefault()})}(jQuery),+function(a){"use strict";var b=function(b,c){this.$element=a(b),this.$indicators=this.$element.find(".carousel-indicators"),this.options=c,this.paused=this.sliding=this.interval=this.$active=this.$items=null,"hover"==this.
options.pause&&this.$element.on("mouseenter",a.proxy(this.pause,this)).on("mouseleave",a.proxy(this.cycle,this))};b.DEFAULTS={interval:5e3,pause:"hover",wrap:!0},b.prototype.cycle=function(b){return b||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(a.proxy(this.next,this),this.options.interval)),this},b.prototype.getActiveIndex=function(){return this.$active=this.$element.find(".item.active"),this.$items=this.$active.parent().children(),this.$items.index(this.$active)},b.prototype.to=function(b){var c=this,d=this.getActiveIndex();return b>this.$items.length-1||0>b?void 0:this.sliding?this.$element.one("slid.bs.carousel",function(){c.to(b)}):d==b?this.pause().cycle():this.slide(b>d?"next":"prev",a(this.$items[b]))},b.prototype.pause=function(b){return b||(this.paused=!0),this.$element.find(".next, .prev").length&&a.support.transition.end&&(this.$element.trigger(a.support.transition.end),this.cycle(!0)),this
.interval=clearInterval(this.interval),this},b.prototype.next=function(){return this.sliding?void 0:this.slide("next")},b.prototype.prev=function(){return this.sliding?void 0:this.slide("prev")},b.prototype.slide=function(b,c){var d=this.$element.find(".item.active"),e=c||d[b](),f=this.interval,g="next"==b?"left":"right",h="next"==b?"first":"last",i=this;if(!e.length){if(!this.options.wrap)return;e=this.$element.find(".item")[h]()}this.sliding=!0,f&&this.pause();var j=a.Event("slide.bs.carousel",{relatedTarget:e[0],direction:g});if(!e.hasClass("active")){if(this.$indicators.length&&(this.$indicators.find(".active").removeClass("active"),this.$element.one("slid.bs.carousel",function(){var b=a(i.$indicators.children()[i.getActiveIndex()]);b&&b.addClass("active")})),a.support.transition&&this.$element.hasClass("slide")){if(this.$element.trigger(j),j.isDefaultPrevented())return;e.addClass(b),e[0].offsetWidth,d.addClass(g),e.addClass(g),d.one(a.support.transition.end,function(){e.removeC
lass([b,g].join(" ")).addClass("active"),d.removeClass(["active",g].join(" ")),i.sliding=!1,setTimeout(function(){i.$element.trigger("slid.bs.carousel")},0)}).emulateTransitionEnd(600)}else{if(this.$element.trigger(j),j.isDefaultPrevented())return;d.removeClass("active"),e.addClass("active"),this.sliding=!1,this.$element.trigger("slid.bs.carousel")}return f&&this.cycle(),this}};var c=a.fn.carousel;a.fn.carousel=function(c){return this.each(function(){var d=a(this),e=d.data("bs.carousel"),f=a.extend({},b.DEFAULTS,d.data(),"object"==typeof c&&c),g="string"==typeof c?c:f.slide;e||d.data("bs.carousel",e=new b(this,f)),"number"==typeof c?e.to(c):g?e[g]():f.interval&&e.pause().cycle()})},a.fn.carousel.Constructor=b,a.fn.carousel.noConflict=function(){return a.fn.carousel=c,this},a(document).on("click.bs.carousel.data-api","[data-slide], [data-slide-to]",function(b){var c,d=a(this),e=a(d.attr("data-target")||(c=d.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,"")),f=a.extend({},e.data(),d.data(
)),g=d.attr("data-slide-to");g&&(f.interval=!1),e.carousel(f),(g=d.attr("data-slide-to"))&&e.data("bs.carousel").to(g),b.preventDefault()}),a(window).on("load",function(){a('[data-ride="carousel"]').each(function(){var b=a(this);b.carousel(b.data())})})}(jQuery),+function(a){"use strict";var b=function(c,d){this.$element=a(c),this.options=a.extend({},b.DEFAULTS,d),this.transitioning=null,this.options.parent&&(this.$parent=a(this.options.parent)),this.options.toggle&&this.toggle()};b.DEFAULTS={toggle:!0},b.prototype.dimension=function(){var a=this.$element.hasClass("width");return a?"width":"height"},b.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var b=a.Event("show.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.$parent&&this.$parent.find("> .panel > .in");if(c&&c.length){var d=c.data("bs.collapse");if(d&&d.transitioning)return;c.collapse("hide"),d||c.data("bs.collapse",null)}var e=this.dimension();this.$element.remov
eClass("collapse").addClass("collapsing")[e](0),this.transitioning=1;var f=function(){this.$element.removeClass("collapsing").addClass("in")[e]("auto"),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!a.support.transition)return f.call(this);var g=a.camelCase(["scroll",e].join("-"));this.$element.one(a.support.transition.end,a.proxy(f,this)).emulateTransitionEnd(350)[e](this.$element[0][g])}}},b.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var b=a.Event("hide.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.dimension();this.$element[c](this.$element[c]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse").removeClass("in"),this.transitioning=1;var d=function(){this.transitioning=0,this.$element.trigger("hidden.bs.collapse").removeClass("collapsing").addClass("collapse")};return a.support.transition?(this.$element[c](0).one(a.support.transition.end,a.proxy(d,this)).emulateTra
nsitionEnd(350),void 0):d.call(this)}}},b.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()};var c=a.fn.collapse;a.fn.collapse=function(c){return this.each(function(){var d=a(this),e=d.data("bs.collapse"),f=a.extend({},b.DEFAULTS,d.data(),"object"==typeof c&&c);e||d.data("bs.collapse",e=new b(this,f)),"string"==typeof c&&e[c]()})},a.fn.collapse.Constructor=b,a.fn.collapse.noConflict=function(){return a.fn.collapse=c,this},a(document).on("click.bs.collapse.data-api","[data-toggle=collapse]",function(b){var c,d=a(this),e=d.attr("data-target")||b.preventDefault()||(c=d.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,""),f=a(e),g=f.data("bs.collapse"),h=g?"toggle":d.data(),i=d.attr("data-parent"),j=i&&a(i);g&&g.transitioning||(j&&j.find('[data-toggle=collapse][data-parent="'+i+'"]').not(d).addClass("collapsed"),d[f.hasClass("in")?"addClass":"removeClass"]("collapsed")),f.collapse(h)})}(jQuery),+function(a){"use strict";function b(){a(d).remove(),a(e).each(function
(b){var d=c(a(this));d.hasClass("open")&&(d.trigger(b=a.Event("hide.bs.dropdown")),b.isDefaultPrevented()||d.removeClass("open").trigger("hidden.bs.dropdown"))})}function c(b){var c=b.attr("data-target");c||(c=b.attr("href"),c=c&&/#/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,""));var d=c&&a(c);return d&&d.length?d:b.parent()}var d=".dropdown-backdrop",e="[data-toggle=dropdown]",f=function(b){a(b).on("click.bs.dropdown",this.toggle)};f.prototype.toggle=function(d){var e=a(this);if(!e.is(".disabled, :disabled")){var f=c(e),g=f.hasClass("open");if(b(),!g){if("ontouchstart"in document.documentElement&&!f.closest(".navbar-nav").length&&a('<div class="dropdown-backdrop"/>').insertAfter(a(this)).on("click",b),f.trigger(d=a.Event("show.bs.dropdown")),d.isDefaultPrevented())return;f.toggleClass("open").trigger("shown.bs.dropdown"),e.focus()}return!1}},f.prototype.keydown=function(b){if(/(38|40|27)/.test(b.keyCode)){var d=a(this);if(b.preventDefault(),b.stopPropagation(),!d.is(".disabled, :disabled
")){var f=c(d),g=f.hasClass("open");if(!g||g&&27==b.keyCode)return 27==b.which&&f.find(e).focus(),d.click();var h=a("[role=menu] li:not(.divider):visible a",f);if(h.length){var i=h.index(h.filter(":focus"));38==b.keyCode&&i>0&&i--,40==b.keyCode&&i<h.length-1&&i++,~i||(i=0),h.eq(i).focus()}}}};var g=a.fn.dropdown;a.fn.dropdown=function(b){return this.each(function(){var c=a(this),d=c.data("bs.dropdown");d||c.data("bs.dropdown",d=new f(this)),"string"==typeof b&&d[b].call(c)})},a.fn.dropdown.Constructor=f,a.fn.dropdown.noConflict=function(){return a.fn.dropdown=g,this},a(document).on("click.bs.dropdown.data-api",b).on("click.bs.dropdown.data-api",".dropdown form",function(a){a.stopPropagation()}).on("click.bs.dropdown.data-api",e,f.prototype.toggle).on("keydown.bs.dropdown.data-api",e+", [role=menu]",f.prototype.keydown)}(jQuery),+function(a){"use strict";var b=function(b,c){this.options=c,this.$element=a(b),this.$backdrop=this.isShown=null,this.options.remote&&this.$element.load(this
.options.remote)};b.DEFAULTS={backdrop:!0,keyboard:!0,show:!0},b.prototype.toggle=function(a){return this[this.isShown?"hide":"show"](a)},b.prototype.show=function(b){var c=this,d=a.Event("show.bs.modal",{relatedTarget:b});this.$element.trigger(d),this.isShown||d.isDefaultPrevented()||(this.isShown=!0,this.escape(),this.$element.on("click.dismiss.modal",'[data-dismiss="modal"]',a.proxy(this.hide,this)),this.backdrop(function(){var d=a.support.transition&&c.$element.hasClass("fade");c.$element.parent().length||c.$element.appendTo(document.body),c.$element.show(),d&&c.$element[0].offsetWidth,c.$element.addClass("in").attr("aria-hidden",!1),c.enforceFocus();var e=a.Event("shown.bs.modal",{relatedTarget:b});d?c.$element.find(".modal-dialog").one(a.support.transition.end,function(){c.$element.focus().trigger(e)}).emulateTransitionEnd(300):c.$element.focus().trigger(e)}))},b.prototype.hide=function(b){b&&b.preventDefault(),b=a.Event("hide.bs.modal"),this.$element.trigger(b),this.isShown&&
!b.isDefaultPrevented()&&(this.isShown=!1,this.escape(),a(document).off("focusin.bs.modal"),this.$element.removeClass("in").attr("aria-hidden",!0).off("click.dismiss.modal"),a.support.transition&&this.$element.hasClass("fade")?this.$element.one(a.support.transition.end,a.proxy(this.hideModal,this)).emulateTransitionEnd(300):this.hideModal())},b.prototype.enforceFocus=function(){a(document).off("focusin.bs.modal").on("focusin.bs.modal",a.proxy(function(a){this.$element[0]===a.target||this.$element.has(a.target).length||this.$element.focus()},this))},b.prototype.escape=function(){this.isShown&&this.options.keyboard?this.$element.on("keyup.dismiss.bs.modal",a.proxy(function(a){27==a.which&&this.hide()},this)):this.isShown||this.$element.off("keyup.dismiss.bs.modal")},b.prototype.hideModal=function(){var a=this;this.$element.hide(),this.backdrop(function(){a.removeBackdrop(),a.$element.trigger("hidden.bs.modal")})},b.prototype.removeBackdrop=function(){this.$backdrop&&this.$backdrop.rem
ove(),this.$backdrop=null},b.prototype.backdrop=function(b){var c=this.$element.hasClass("fade")?"fade":"";if(this.isShown&&this.options.backdrop){var d=a.support.transition&&c;if(this.$backdrop=a('<div class="modal-backdrop '+c+'" />').appendTo(document.body),this.$element.on("click.dismiss.modal",a.proxy(function(a){a.target===a.currentTarget&&("static"==this.options.backdrop?this.$element[0].focus.call(this.$element[0]):this.hide.call(this))},this)),d&&this.$backdrop[0].offsetWidth,this.$backdrop.addClass("in"),!b)return;d?this.$backdrop.one(a.support.transition.end,b).emulateTransitionEnd(150):b()}else!this.isShown&&this.$backdrop?(this.$backdrop.removeClass("in"),a.support.transition&&this.$element.hasClass("fade")?this.$backdrop.one(a.support.transition.end,b).emulateTransitionEnd(150):b()):b&&b()};var c=a.fn.modal;a.fn.modal=function(c,d){return this.each(function(){var e=a(this),f=e.data("bs.modal"),g=a.extend({},b.DEFAULTS,e.data(),"object"==typeof c&&c);f||e.data("bs.modal
",f=new b(this,g)),"string"==typeof c?f[c](d):g.show&&f.show(d)})},a.fn.modal.Constructor=b,a.fn.modal.noConflict=function(){return a.fn.modal=c,this},a(document).on("click.bs.modal.data-api",'[data-toggle="modal"]',function(b){var c=a(this),d=c.attr("href"),e=a(c.attr("data-target")||d&&d.replace(/.*(?=#[^\s]+$)/,"")),f=e.data("modal")?"toggle":a.extend({remote:!/#/.test(d)&&d},e.data(),c.data());b.preventDefault(),e.modal(f,this).one("hide",function(){c.is(":visible")&&c.focus()})}),a(document).on("show.bs.modal",".modal",function(){a(document.body).addClass("modal-open")}).on("hidden.bs.modal",".modal",function(){a(document.body).removeClass("modal-open")})}(jQuery),+function(a){"use strict";var b=function(a,b){this.type=this.options=this.enabled=this.timeout=this.hoverState=this.$element=null,this.init("tooltip",a,b)};b.DEFAULTS={animation:!0,placement:"top",selector:!1,template:'<div class="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigg
er:"hover focus",title:"",delay:0,html:!1,container:!1},b.prototype.init=function(b,c,d){this.enabled=!0,this.type=b,this.$element=a(c),this.options=this.getOptions(d);for(var e=this.options.trigger.split(" "),f=e.length;f--;){var g=e[f];if("click"==g)this.$element.on("click."+this.type,this.options.selector,a.proxy(this.toggle,this));else if("manual"!=g){var h="hover"==g?"mouseenter":"focus",i="hover"==g?"mouseleave":"blur";this.$element.on(h+"."+this.type,this.options.selector,a.proxy(this.enter,this)),this.$element.on(i+"."+this.type,this.options.selector,a.proxy(this.leave,this))}}this.options.selector?this._options=a.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},b.prototype.getDefaults=function(){return b.DEFAULTS},b.prototype.getOptions=function(b){return b=a.extend({},this.getDefaults(),this.$element.data(),b),b.delay&&"number"==typeof b.delay&&(b.delay={show:b.delay,hide:b.delay}),b},b.prototype.getDelegateOptions=function(){var b={},c=this.getDefau
lts();return this._options&&a.each(this._options,function(a,d){c[a]!=d&&(b[a]=d)}),b},b.prototype.enter=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget)[this.type](this.getDelegateOptions()).data("bs."+this.type);return clearTimeout(c.timeout),c.hoverState="in",c.options.delay&&c.options.delay.show?(c.timeout=setTimeout(function(){"in"==c.hoverState&&c.show()},c.options.delay.show),void 0):c.show()},b.prototype.leave=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget)[this.type](this.getDelegateOptions()).data("bs."+this.type);return clearTimeout(c.timeout),c.hoverState="out",c.options.delay&&c.options.delay.hide?(c.timeout=setTimeout(function(){"out"==c.hoverState&&c.hide()},c.options.delay.hide),void 0):c.hide()},b.prototype.show=function(){var b=a.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){if(this.$element.trigger(b),b.isDefaultPrevented())return;var c=this.tip();this.setContent(),this.options.animation&&c.addClass("fade")
;var d="function"==typeof this.options.placement?this.options.placement.call(this,c[0],this.$element[0]):this.options.placement,e=/\s?auto?\s?/i,f=e.test(d);f&&(d=d.replace(e,"")||"top"),c.detach().css({top:0,left:0,display:"block"}).addClass(d),this.options.container?c.appendTo(this.options.container):c.insertAfter(this.$element);var g=this.getPosition(),h=c[0].offsetWidth,i=c[0].offsetHeight;if(f){var j=this.$element.parent(),k=d,l=document.documentElement.scrollTop||document.body.scrollTop,m="body"==this.options.container?window.innerWidth:j.outerWidth(),n="body"==this.options.container?window.innerHeight:j.outerHeight(),o="body"==this.options.container?0:j.offset().left;d="bottom"==d&&g.top+g.height+i-l>n?"top":"top"==d&&g.top-l-i<0?"bottom":"right"==d&&g.right+h>m?"left":"left"==d&&g.left-h<o?"right":d,c.removeClass(k).addClass(d)}var p=this.getCalculatedOffset(d,g,h,i);this.applyPlacement(p,d),this.$element.trigger("shown.bs."+this.type)}},b.prototype.applyPlacement=function(a
,b){var c,d=this.tip(),e=d[0].offsetWidth,f=d[0].offsetHeight,g=parseInt(d.css("margin-top"),10),h=parseInt(d.css("margin-left"),10);isNaN(g)&&(g=0),isNaN(h)&&(h=0),a.top=a.top+g,a.left=a.left+h,d.offset(a).addClass("in");var i=d[0].offsetWidth,j=d[0].offsetHeight;if("top"==b&&j!=f&&(c=!0,a.top=a.top+f-j),/bottom|top/.test(b)){var k=0;a.left<0&&(k=-2*a.left,a.left=0,d.offset(a),i=d[0].offsetWidth,j=d[0].offsetHeight),this.replaceArrow(k-e+i,i,"left")}else this.replaceArrow(j-f,j,"top");c&&d.offset(a)},b.prototype.replaceArrow=function(a,b,c){this.arrow().css(c,a?50*(1-a/b)+"%":"")},b.prototype.setContent=function(){var a=this.tip(),b=this.getTitle();a.find(".tooltip-inner")[this.options.html?"html":"text"](b),a.removeClass("fade in top bottom left right")},b.prototype.hide=function(){function b(){"in"!=c.hoverState&&d.detach()}var c=this,d=this.tip(),e=a.Event("hide.bs."+this.type);return this.$element.trigger(e),e.isDefaultPrevented()?void 0:(d.removeClass("in"),a.support.transitio
n&&this.$tip.hasClass("fade")?d.one(a.support.transition.end,b).emulateTransitionEnd(150):b(),this.$element.trigger("hidden.bs."+this.type),this)},b.prototype.fixTitle=function(){var a=this.$element;(a.attr("title")||"string"!=typeof a.attr("data-original-title"))&&a.attr("data-original-title",a.attr("title")||"").attr("title","")},b.prototype.hasContent=function(){return this.getTitle()},b.prototype.getPosition=function(){var b=this.$element[0];return a.extend({},"function"==typeof b.getBoundingClientRect?b.getBoundingClientRect():{width:b.offsetWidth,height:b.offsetHeight},this.$element.offset())},b.prototype.getCalculatedOffset=function(a,b,c,d){return"bottom"==a?{top:b.top+b.height,left:b.left+b.width/2-c/2}:"top"==a?{top:b.top-d,left:b.left+b.width/2-c/2}:"left"==a?{top:b.top+b.height/2-d/2,left:b.left-c}:{top:b.top+b.height/2-d/2,left:b.left+b.width}},b.prototype.getTitle=function(){var a,b=this.$element,c=this.options;return a=b.attr("data-original-title")||("function"==typeo
f c.title?c.title.call(b[0]):c.title)},b.prototype.tip=function(){return this.$tip=this.$tip||a(this.options.template)},b.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},b.prototype.validate=function(){this.$element[0].parentNode||(this.hide(),this.$element=null,this.options=null)},b.prototype.enable=function(){this.enabled=!0},b.prototype.disable=function(){this.enabled=!1},b.prototype.toggleEnabled=function(){this.enabled=!this.enabled},b.prototype.toggle=function(b){var c=b?a(b.currentTarget)[this.type](this.getDelegateOptions()).data("bs."+this.type):this;c.tip().hasClass("in")?c.leave(c):c.enter(c)},b.prototype.destroy=function(){this.hide().$element.off("."+this.type).removeData("bs."+this.type)};var c=a.fn.tooltip;a.fn.tooltip=function(c){return this.each(function(){var d=a(this),e=d.data("bs.tooltip"),f="object"==typeof c&&c;e||d.data("bs.tooltip",e=new b(this,f)),"string"==typeof c&&e[c]()})},a.fn.tooltip.Constructor=b,a.fn.tool
tip.noConflict=function(){return a.fn.tooltip=c,this}}(jQuery),+function(a){"use strict";var b=function(a,b){this.init("popover",a,b)};if(!a.fn.tooltip)throw new Error("Popover requires tooltip.js");b.DEFAULTS=a.extend({},a.fn.tooltip.Constructor.DEFAULTS,{placement:"right",trigger:"click",content:"",template:'<div class="popover"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'}),b.prototype=a.extend({},a.fn.tooltip.Constructor.prototype),b.prototype.constructor=b,b.prototype.getDefaults=function(){return b.DEFAULTS},b.prototype.setContent=function(){var a=this.tip(),b=this.getTitle(),c=this.getContent();a.find(".popover-title")[this.options.html?"html":"text"](b),a.find(".popover-content")[this.options.html?"html":"text"](c),a.removeClass("fade top bottom left right in"),a.find(".popover-title").html()||a.find(".popover-title").hide()},b.prototype.hasContent=function(){return this.getTitle()||this.getContent()},b.prototype.getConte
nt=function(){var a=this.$element,b=this.options;return a.attr("data-content")||("function"==typeof b.content?b.content.call(a[0]):b.content)},b.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")},b.prototype.tip=function(){return this.$tip||(this.$tip=a(this.options.template)),this.$tip};var c=a.fn.popover;a.fn.popover=function(c){return this.each(function(){var d=a(this),e=d.data("bs.popover"),f="object"==typeof c&&c;e||d.data("bs.popover",e=new b(this,f)),"string"==typeof c&&e[c]()})},a.fn.popover.Constructor=b,a.fn.popover.noConflict=function(){return a.fn.popover=c,this}}(jQuery),+function(a){"use strict";function b(c,d){var e,f=a.proxy(this.process,this);this.$element=a(c).is("body")?a(window):a(c),this.$body=a("body"),this.$scrollElement=this.$element.on("scroll.bs.scroll-spy.data-api",f),this.options=a.extend({},b.DEFAULTS,d),this.selector=(this.options.target||(e=a(c).attr("href"))&&e.replace(/.*(?=#[^\s]+$)/,"")||"")+" .nav li > a",this.of
fsets=a([]),this.targets=a([]),this.activeTarget=null,this.refresh(),this.process()}b.DEFAULTS={offset:10},b.prototype.refresh=function(){var b=this.$element[0]==window?"offset":"position";this.offsets=a([]),this.targets=a([]);var c=this;this.$body.find(this.selector).map(function(){var d=a(this),e=d.data("target")||d.attr("href"),f=/^#\w/.test(e)&&a(e);return f&&f.length&&[[f[b]().top+(!a.isWindow(c.$scrollElement.get(0))&&c.$scrollElement.scrollTop()),e]]||null}).sort(function(a,b){return a[0]-b[0]}).each(function(){c.offsets.push(this[0]),c.targets.push(this[1])})},b.prototype.process=function(){var a,b=this.$scrollElement.scrollTop()+this.options.offset,c=this.$scrollElement[0].scrollHeight||this.$body[0].scrollHeight,d=c-this.$scrollElement.height(),e=this.offsets,f=this.targets,g=this.activeTarget;if(b>=d)return g!=(a=f.last()[0])&&this.activate(a);for(a=e.length;a--;)g!=f[a]&&b>=e[a]&&(!e[a+1]||b<=e[a+1])&&this.activate(f[a])},b.prototype.activate=function(b){this.activeTarge
t=b,a(this.selector).parents(".active").removeClass("active");var c=this.selector+'[data-target="'+b+'"],'+this.selector+'[href="'+b+'"]',d=a(c).parents("li").addClass("active");d.parent(".dropdown-menu").length&&(d=d.closest("li.dropdown").addClass("active")),d.trigger("activate.bs.scrollspy")};var c=a.fn.scrollspy;a.fn.scrollspy=function(c){return this.each(function(){var d=a(this),e=d.data("bs.scrollspy"),f="object"==typeof c&&c;e||d.data("bs.scrollspy",e=new b(this,f)),"string"==typeof c&&e[c]()})},a.fn.scrollspy.Constructor=b,a.fn.scrollspy.noConflict=function(){return a.fn.scrollspy=c,this},a(window).on("load",function(){a('[data-spy="scroll"]').each(function(){var b=a(this);b.scrollspy(b.data())})})}(jQuery),+function(a){"use strict";var b=function(b){this.element=a(b)};b.prototype.show=function(){var b=this.element,c=b.closest("ul:not(.dropdown-menu)"),d=b.data("target");if(d||(d=b.attr("href"),d=d&&d.replace(/.*(?=#[^\s]*$)/,"")),!b.parent("li").hasClass("active")){var e=c.
find(".active:last a")[0],f=a.Event("show.bs.tab",{relatedTarget:e});if(b.trigger(f),!f.isDefaultPrevented()){var g=a(d);this.activate(b.parent("li"),c),this.activate(g,g.parent(),function(){b.trigger({type:"shown.bs.tab",relatedTarget:e})})}}},b.prototype.activate=function(b,c,d){function e(){f.removeClass("active").find("> .dropdown-menu > .active").removeClass("active"),b.addClass("active"),g?(b[0].offsetWidth,b.addClass("in")):b.removeClass("fade"),b.parent(".dropdown-menu")&&b.closest("li.dropdown").addClass("active"),d&&d()}var f=c.find("> .active"),g=d&&a.support.transition&&f.hasClass("fade");g?f.one(a.support.transition.end,e).emulateTransitionEnd(150):e(),f.removeClass("in")};var c=a.fn.tab;a.fn.tab=function(c){return this.each(function(){var d=a(this),e=d.data("bs.tab");e||d.data("bs.tab",e=new b(this)),"string"==typeof c&&e[c]()})},a.fn.tab.Constructor=b,a.fn.tab.noConflict=function(){return a.fn.tab=c,this},a(document).on("click.bs.tab.data-api",'[data-toggle="tab"], [d
ata-toggle="pill"]',function(b){b.preventDefault(),a(this).tab("show")})}(jQuery),+function(a){"use strict";var b=function(c,d){this.options=a.extend({},b.DEFAULTS,d),this.$window=a(window).on("scroll.bs.affix.data-api",a.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",a.proxy(this.checkPositionWithEventLoop,this)),this.$element=a(c),this.affixed=this.unpin=null,this.checkPosition()};b.RESET="affix affix-top affix-bottom",b.DEFAULTS={offset:0},b.prototype.checkPositionWithEventLoop=function(){setTimeout(a.proxy(this.checkPosition,this),1)},b.prototype.checkPosition=function(){if(this.$element.is(":visible")){var c=a(document).height(),d=this.$window.scrollTop(),e=this.$element.offset(),f=this.options.offset,g=f.top,h=f.bottom;"object"!=typeof f&&(h=g=f),"function"==typeof g&&(g=f.top()),"function"==typeof h&&(h=f.bottom());var i=null!=this.unpin&&d+this.unpin<=e.top?!1:null!=h&&e.top+this.$element.height()>=c-h?"bottom":null!=g&&g>=d?"top":!1;this.affixed!==i&&(this.unp
in&&this.$element.css("top",""),this.affixed=i,this.unpin="bottom"==i?e.top-d:null,this.$element.removeClass(b.RESET).addClass("affix"+(i?"-"+i:"")),"bottom"==i&&this.$element.offset({top:document.body.offsetHeight-h-this.$element.height()}))}};var c=a.fn.affix;a.fn.affix=function(c){return this.each(function(){var d=a(this),e=d.data("bs.affix"),f="object"==typeof c&&c;e||d.data("bs.affix",e=new b(this,f)),"string"==typeof c&&e[c]()})},a.fn.affix.Constructor=b,a.fn.affix.noConflict=function(){return a.fn.affix=c,this},a(window).on("load",function(){a('[data-spy="affix"]').each(function(){var b=a(this),c=b.data();c.offset=c.offset||{},c.offsetBottom&&(c.offset.bottom=c.offsetBottom),c.offsetTop&&(c.offset.top=c.offsetTop),b.affix(c)})})}(jQuery);
-
-/* Open the sidenav */
-function openNav() {
- document.getElementById("mySidenav").style.width = "20%";
-}
-
-/* Close/hide the sidenav */
-function closeNav() {
- document.getElementById("mySidenav").style.width = "0";
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/docs/404.html
----------------------------------------------------------------------
diff --git a/website-old/docs/404.html b/website-old/docs/404.html
deleted file mode 100755
index 6904bcd..0000000
--- a/website-old/docs/404.html
+++ /dev/null
@@ -1 +0,0 @@
-Sorry this page does not exist =(

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/docs/Gemfile
----------------------------------------------------------------------
diff --git a/website-old/docs/Gemfile b/website-old/docs/Gemfile
deleted file mode 100755
index 301d29c..0000000
--- a/website-old/docs/Gemfile
+++ /dev/null
@@ -1,5 +0,0 @@
-source "https://rubygems.org"
-
-gem "jekyll", "~> 3.1"
-gem "jekyll-sitemap"
-gem "pygments.rb"

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/docs/README.md
----------------------------------------------------------------------
diff --git a/website-old/docs/README.md b/website-old/docs/README.md
deleted file mode 100755
index 68646fd..0000000
--- a/website-old/docs/README.md
+++ /dev/null
@@ -1,16 +0,0 @@
-
-### Landing Page
-
-![landing](screenshots/landing.png)
-
-### Tutorials
-
-Tutorials, Algorithms, MR-Tutorials, and MR-Algorithsm each have an accordion side bar for navigation
-(this is the part we need help building)
-![tutorials](screenshots/tutorials.png)
-
-### Old MR Algos
-
-
-![landing](screenshots/mr-algos.png)
-

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/docs/Rakefile
----------------------------------------------------------------------
diff --git a/website-old/docs/Rakefile b/website-old/docs/Rakefile
deleted file mode 100755
index 183ca1e..0000000
--- a/website-old/docs/Rakefile
+++ /dev/null
@@ -1,306 +0,0 @@
-require "rubygems"
-require 'rake'
-require 'yaml'
-require 'time'
-
-SOURCE = "."
-CONFIG = {
- 'version' => "0.3.0",
- 'themes' => File.join(SOURCE, "_includes", "themes"),
- 'layouts' => File.join(SOURCE, "_layouts"),
- 'posts' => File.join(SOURCE, "_posts"),
- 'post_ext' => "md",
- 'theme_package_version' => "0.1.0"
-}
-
-# Path configuration helper
-module JB
- class Path
- SOURCE = "."
- Paths = {
- :layouts => "_layouts",
- :themes => "_includes/themes",
- :theme_assets => "assets/themes",
- :theme_packages => "_theme_packages",
- :posts => "_posts"
- }
-
- def self.base
- SOURCE
- end
-
- # build a path relative to configured path settings.
- def self.build(path, opts = {})
- opts[:root] ||= SOURCE
- path = "#{opts[:root]}/#{Paths[path.to_sym]}/#{opts[:node]}".split("/")
- path.compact!
- File.__send__ :join, path
- end
-
- end #Path
-end #JB
-
-# Usage: rake post title="A Title" [date="2012-02-09"] [tags=[tag1,tag2]] [category="category"]
-desc "Begin a new post in #{CONFIG['posts']}"
-task :post do
- abort("rake aborted: '#{CONFIG['posts']}' directory not found.") unless FileTest.directory?(CONFIG['posts'])
- title = ENV["title"] || "new-post"
- tags = ENV["tags"] || "[]"
- category = ENV["category"] || ""
- category = "\"#{category.gsub(/-/,' ')}\"" if !category.empty?
- slug = title.downcase.strip.gsub(' ', '-').gsub(/[^\w-]/, '')
- begin
- date = (ENV['date'] ? Time.parse(ENV['date']) : Time.now).strftime('%Y-%m-%d')
- rescue => e
- puts "Error - date format must be YYYY-MM-DD, please check you typed it correctly!"
- exit -1
- end
- filename = File.join(CONFIG['posts'], "#{date}-#{slug}.#{CONFIG['post_ext']}")
- if File.exist?(filename)
- abort("rake aborted!") if ask("#{filename} already exists. Do you want to overwrite?", ['y', 'n']) == 'n'
- end
-
- puts "Creating new post: #{filename}"
- open(filename, 'w') do |post|
- post.puts "---"
- post.puts "layout: post"
- post.puts "title: \"#{title.gsub(/-/,' ')}\""
- post.puts 'description: ""'
- post.puts "category: #{category}"
- post.puts "tags: #{tags}"
- post.puts "---"
- post.puts "{% include JB/setup %}"
- end
-end # task :post
-
-# Usage: rake page name="about.html"
-# You can also specify a sub-directory path.
-# If you don't specify a file extention we create an index.html at the path specified
-desc "Create a new page."
-task :page do
- name = ENV["name"] || "new-page.md"
- filename = File.join(SOURCE, "#{name}")
- filename = File.join(filename, "index.html") if File.extname(filename) == ""
- title = File.basename(filename, File.extname(filename)).gsub(/[\W\_]/, " ").gsub(/\b\w/){$&.upcase}
- if File.exist?(filename)
- abort("rake aborted!") if ask("#{filename} already exists. Do you want to overwrite?", ['y', 'n']) == 'n'
- end
-
- mkdir_p File.dirname(filename)
- puts "Creating new page: #{filename}"
- open(filename, 'w') do |post|
- post.puts "---"
- post.puts "layout: page"
- post.puts "title: \"#{title}\""
- post.puts 'description: ""'
- post.puts "---"
- post.puts "{% include JB/setup %}"
- end
-end # task :page
-
-desc "Launch preview environment"
-task :preview do
- system "jekyll serve -w"
-end # task :preview
-
-# Public: Alias - Maintains backwards compatability for theme switching.
-task :switch_theme => "theme:switch"
-
-namespace :theme do
-
- # Public: Switch from one theme to another for your blog.
- #
- # name - String, Required. name of the theme you want to switch to.
- # The theme must be installed into your JB framework.
- #
- # Examples
- #
- # rake theme:switch name="the-program"
- #
- # Returns Success/failure messages.
- desc "Switch between Jekyll-bootstrap themes."
- task :switch do
- theme_name = ENV["name"].to_s
- theme_path = File.join(CONFIG['themes'], theme_name)
- settings_file = File.join(theme_path, "settings.yml")
- non_layout_files = ["settings.yml"]
-
- abort("rake aborted: name cannot be blank") if theme_name.empty?
- abort("rake aborted: '#{theme_path}' directory not found.") unless FileTest.directory?(theme_path)
- abort("rake aborted: '#{CONFIG['layouts']}' directory not found.") unless FileTest.directory?(CONFIG['layouts'])
-
- Dir.glob("#{theme_path}/*") do |filename|
- next if non_layout_files.include?(File.basename(filename).downcase)
- puts "Generating '#{theme_name}' layout: #{File.basename(filename)}"
-
- open(File.join(CONFIG['layouts'], File.basename(filename)), 'w') do |page|
- page.puts "---"
- page.puts File.read(settings_file) if File.exist?(settings_file)
- page.puts "layout: default" unless File.basename(filename, ".html").downcase == "default"
- page.puts "---"
- page.puts "{% include JB/setup %}"
- page.puts "{% include themes/#{theme_name}/#{File.basename(filename)} %}"
- end
- end
-
- puts "=> Theme successfully switched!"
- puts "=> Reload your web-page to check it out =)"
- end # task :switch
-
- # Public: Install a theme using the theme packager.
- # Version 0.1.0 simple 1:1 file matching.
- #
- # git - String, Optional path to the git repository of the theme to be installed.
- # name - String, Optional name of the theme you want to install.
- # Passing name requires that the theme package already exist.
- #
- # Examples
- #
- # rake theme:install git="https://github.com/jekyllbootstrap/theme-twitter.git"
- # rake theme:install name="cool-theme"
- #
- # Returns Success/failure messages.
- desc "Install theme"
- task :install do
- if ENV["git"]
- manifest = theme_from_git_url(ENV["git"])
- name = manifest["name"]
- else
- name = ENV["name"].to_s.downcase
- end
-
- packaged_theme_path = JB::Path.build(:theme_packages, :node => name)
-
- abort("rake aborted!
- => ERROR: 'name' cannot be blank") if name.empty?
- abort("rake aborted!
- => ERROR: '#{packaged_theme_path}' directory not found.
- => Installable themes can be added via git. You can find some here: http://github.com/jekyllbootstrap
- => To download+install run: `rake theme:install git='[PUBLIC-CLONE-URL]'`
- => example : rake theme:install git='***@github.com:jekyllbootstrap/theme-the-program.git'
- ") unless FileTest.directory?(packaged_theme_path)
-
- manifest = verify_manifest(packaged_theme_path)
-
- # Get relative paths to packaged theme files
- # Exclude directories as they'll be recursively created. Exclude meta-data files.
- packaged_theme_files = []
- FileUtils.cd(packaged_theme_path) {
- Dir.glob("**/*.*") { |f|
- next if ( FileTest.directory?(f) || f =~ /^(manifest|readme|packager)/i )
- packaged_theme_files << f
- }
- }
-
- # Mirror each file into the framework making sure to prompt if already exists.
- packaged_theme_files.each do |filename|
- file_install_path = File.join(JB::Path.base, filename)
- if File.exist? file_install_path and ask("#{file_install_path} already exists. Do you want to overwrite?", ['y', 'n']) == 'n'
- next
- else
- mkdir_p File.dirname(file_install_path)
- cp_r File.join(packaged_theme_path, filename), file_install_path
- end
- end
-
- puts "=> #{name} theme has been installed!"
- puts "=> ---"
- if ask("=> Want to switch themes now?", ['y', 'n']) == 'y'
- system("rake switch_theme name='#{name}'")
- end
- end
-
- # Public: Package a theme using the theme packager.
- # The theme must be structured using valid JB API.
- # In other words packaging is essentially the reverse of installing.
- #
- # name - String, Required name of the theme you want to package.
- #
- # Examples
- #
- # rake theme:package name="twitter"
- #
- # Returns Success/failure messages.
- desc "Package theme"
- task :package do
- name = ENV["name"].to_s.downcase
- theme_path = JB::Path.build(:themes, :node => name)
- asset_path = JB::Path.build(:theme_assets, :node => name)
-
- abort("rake aborted: name cannot be blank") if name.empty?
- abort("rake aborted: '#{theme_path}' directory not found.") unless FileTest.directory?(theme_path)
- abort("rake aborted: '#{asset_path}' directory not found.") unless FileTest.directory?(asset_path)
-
- ## Mirror theme's template directory (_includes)
- packaged_theme_path = JB::Path.build(:themes, :root => JB::Path.build(:theme_packages, :node => name))
- mkdir_p packaged_theme_path
- cp_r theme_path, packaged_theme_path
-
- ## Mirror theme's asset directory
- packaged_theme_assets_path = JB::Path.build(:theme_assets, :root => JB::Path.build(:theme_packages, :node => name))
- mkdir_p packaged_theme_assets_path
- cp_r asset_path, packaged_theme_assets_path
-
- ## Log packager version
- packager = {"packager" => {"version" => CONFIG["theme_package_version"].to_s } }
- open(JB::Path.build(:theme_packages, :node => "#{name}/packager.yml"), "w") do |page|
- page.puts packager.to_yaml
- end
-
- puts "=> '#{name}' theme is packaged and available at: #{JB::Path.build(:theme_packages, :node => name)}"
- end
-
-end # end namespace :theme
-
-# Internal: Download and process a theme from a git url.
-# Notice we don't know the name of the theme until we look it up in the manifest.
-# So we'll have to change the folder name once we get the name.
-#
-# url - String, Required url to git repository.
-#
-# Returns theme manifest hash
-def theme_from_git_url(url)
- tmp_path = JB::Path.build(:theme_packages, :node => "_tmp")
- abort("rake aborted: system call to git clone failed") if !system("git clone #{url} #{tmp_path}")
- manifest = verify_manifest(tmp_path)
- new_path = JB::Path.build(:theme_packages, :node => manifest["name"])
- if File.exist?(new_path) && ask("=> #{new_path} theme package already exists. Override?", ['y', 'n']) == 'n'
- remove_dir(tmp_path)
- abort("rake aborted: '#{manifest["name"]}' already exists as theme package.")
- end
-
- remove_dir(new_path) if File.exist?(new_path)
- mv(tmp_path, new_path)
- manifest
-end
-
-# Internal: Process theme package manifest file.
-#
-# theme_path - String, Required. File path to theme package.
-#
-# Returns theme manifest hash
-def verify_manifest(theme_path)
- manifest_path = File.join(theme_path, "manifest.yml")
- manifest_file = File.open( manifest_path )
- abort("rake aborted: repo must contain valid manifest.yml") unless File.exist? manifest_file
- manifest = YAML.load( manifest_file )
- manifest_file.close
- manifest
-end
-
-def ask(message, valid_options)
- if valid_options
- answer = get_stdin("#{message} #{valid_options.to_s.gsub(/"/, '').gsub(/, /,'/')} ") while !valid_options.include?(answer)
- else
- answer = get_stdin(message)
- end
- answer
-end
-
-def get_stdin(message)
- print message
- STDIN.gets.chomp
-end
-
-#Load custom rake scripts
-Dir['_rake/*.rake'].each { |r| load r }

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/docs/_config.yml
----------------------------------------------------------------------
diff --git a/website-old/docs/_config.yml b/website-old/docs/_config.yml
deleted file mode 100755
index 33da780..0000000
--- a/website-old/docs/_config.yml
+++ /dev/null
@@ -1,140 +0,0 @@
-# This is the default format.
-# For more see: http://jekyllrb.com/docs/permalinks/
-permalink: /:categories/:year/:month/:day/:title
-
-exclude: [".rvmrc", ".rbenv-version", "README.md", "Rakefile", "changelog.md", "screenshots"]
-highlighter: pygments
-
-# Themes are encouraged to use these universal variables
-# so be sure to set them if your theme uses them.
-#
-title : Apache Mahout Project
-tagline: Distributed Linear Algebra
-author :
- name : Apache Mahout
- email : ***@mahout.apache.org
- github : apache
- twitter : ApacheMahout
-
-
-# The production_url is only used when full-domain names are needed
-# such as sitemap.txt
-# Most places will/should use BASE_PATH to make the urls
-#
-# If you have set a CNAME (pages.github.com) set your custom domain here.
-# Else if you are pushing to username.github.io, replace with your username.
-# Finally if you are pushing to a GitHub project page, include the project name at the end.
-#
-production_url : http://mahout.apache.org
-
-gems: ["jekyll-sitemap"]
-
-# All Jekyll-Bootstrap specific configurations are namespaced into this hash
-#
-JB :
- version : 0.3.0
-
- # All links will be namespaced by BASE_PATH if defined.
- # Links in your website should always be prefixed with {{BASE_PATH}}
- # however this value will be dynamically changed depending on your deployment situation.
- #
- # CNAME (http://yourcustomdomain.com)
- # DO NOT SET BASE_PATH
- # (urls will be prefixed with "/" and work relatively)
- #
- # GitHub Pages (http://username.github.io)
- # DO NOT SET BASE_PATH
- # (urls will be prefixed with "/" and work relatively)
- #
- # GitHub Project Pages (http://username.github.io/project-name)
- #
- # A GitHub Project site exists in the `gh-pages` branch of one of your repositories.
- # REQUIRED! Set BASE_PATH to: http://username.github.io/project-name
- #
- # CAUTION:
- # - When in Localhost, your site will run from root "/" regardless of BASE_PATH
- # - Only the following values are falsy: ["", null, false]
- # - When setting BASE_PATH it must be a valid url.
- # This means always setting the protocol (http|https) or prefixing with "/"
- BASE_PATH : /docs/0.13.1-SNAPSHOT
-
- # By default, the asset_path is automatically defined relative to BASE_PATH plus the enabled theme.
- # ex: [BASE_PATH]/assets/themes/[THEME-NAME]
- #
- # Override this by defining an absolute path to assets here.
- # ex:
- # http://s3.amazonaws.com/yoursite/themes/watermelon
- # /assets
- #
- ASSET_PATH : false
-
- # These paths are to the main pages Jekyll-Bootstrap ships with.
- # Some JB helpers refer to these paths; change them here if needed.
- #
- archive_path: /archive.html
- categories_path : /categories.html
- tags_path : /tags.html
- atom_path : /atom.xml
- rss_path : /rss.xml
-
- # Settings for comments helper
- # Set 'provider' to the comment provider you want to use.
- # Set 'provider' to false to turn commenting off globally.
- #
-# comments :
-# provider : disqus
-# disqus :
-# short_name : jekyllbootstrap
-# livefyre :
-# site_id : 123
-# intensedebate :
-# account : 123abc
-# facebook :
-# appid : 123
-# num_posts: 5
-# width: 580
-# colorscheme: light
-# duoshuo :
-# short_name : jekyllbootstrap
-
- # Settings for analytics helper
- # Set 'provider' to the analytics provider you want to use.
- # Set 'provider' to false to turn analytics off globally.
- #
-# analytics :
-# provider : google
-# gauges :
-# site_id : 'SITE ID'
-# google :
-# tracking_id : 'UA-123-12'
-# getclicky :
-# site_id :
-# mixpanel :
-# token : '_MIXPANEL_TOKEN_'
-# piwik :
-# baseURL : 'myserver.tld/piwik' # Piwik installation address (without protocol)
-# idsite : '1' # the id of the site on Piwik
-
- # Settings for sharing helper.
- # Sharing is for things like tweet, plusone, like, reddit buttons etc.
- # Set 'provider' to the sharing provider you want to use.
- # Set 'provider' to false to turn sharing off globally.
- #
- sharing :
- provider : false
-
- # Settings for all other include helpers can be defined by creating
- # a hash with key named for the given helper. ex:
- #
- # pages_list :
- # provider : "custom"
- #
- # Setting any helper's provider to 'custom' will bypass the helper code
- # and include your custom code. Your custom file must be defined at:
- # ./_includes/custom/[HELPER]
- # where [HELPER] is the name of the helper you are overriding.
-
- analytics :
- provider : google
- google :
- tracking_id : 'UA-98314020-1'
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/docs/_includes/JB
----------------------------------------------------------------------
diff --git a/website-old/docs/_includes/JB b/website-old/docs/_includes/JB
deleted file mode 120000
index 78a010c..0000000
--- a/website-old/docs/_includes/JB
+++ /dev/null
@@ -1 +0,0 @@
-../../_includes/JB
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/docs/_includes/algo_navbar.html
----------------------------------------------------------------------
diff --git a/website-old/docs/_includes/algo_navbar.html b/website-old/docs/_includes/algo_navbar.html
deleted file mode 100644
index 38f833a..0000000
--- a/website-old/docs/_includes/algo_navbar.html
+++ /dev/null
@@ -1,91 +0,0 @@
-<div id="AlgoMenu">
- <span><b>Mahout-Samsara Algorithms</b></span>
- <div class="list-group panel">
- <a href="#linalg" class="list-group-item list-group-item-success" data-toggle="collapse" data-parent="#AlgoMenu"><b>Linear Algebra</b><i class="fa fa-caret-down"></i></a>
- <div class="collapse" id="linalg">
- <ul class="nav sidebar-nav">
- <li> <a href="{{ BASE_PATH }}/algorithms/linear-algebra/d-qr.html">Distributed QR Decomposition</a></li>
- <li> <a href="{{ BASE_PATH }}/algorithms/linear-algebra/d-spca.html">Distributed Stochastic Principal Component Analysis</a></li>
- <li> <a href="{{ BASE_PATH }}/algorithms/linear-algebra/d-ssvd.html">Distributed Stochastic Singular Value Decomposition</a></li>
- </ul>
- </div>
- <a href="#clustering" class="list-group-item list-group-item-success" data-toggle="collapse" data-parent="#AlgoMenu"><b>Clustering</b><i class="fa fa-caret-down"></i></a>
- <div class="collapse" id="clustering">
- <ul class="nav sidebar-nav">
- <li> <a href="{{ BASE_PATH }}/algorithms/clustering">Clustering Algorithms</a></li>
- <li> <a href="{{ BASE_PATH }}/algorithms/clustering/distance-metrics.html">Distance Metrics</a></li>
- <li> <a href="{{ BASE_PATH }}/algorithms/clustering/canopy">Canopy Clustering</a></li>
- </ul>
- </div>
- <a href="#preprocessors" class="list-group-item list-group-item-success" data-toggle="collapse" data-parent="#AlgoMenu"><b>Preprocessors</b><i class="fa fa-caret-down"></i></a>
- <div class="collapse" id="preprocessors">
- <ul class="nav sidebar-nav">
- <li> <a href="{{ BASE_PATH }}/algorithms/preprocessors/AsFactor.html">AsFactor (a.k.a. One-Hot-Encoding)</a></li>
- <li> <a href="{{ BASE_PATH }}/algorithms/preprocessors/StandardScaler.html">StandardScaler</a></li>
- <li> <a href="{{ BASE_PATH }}/algorithms/preprocessors/MeanCenter.html">MeanCenter</a></li>
- </ul>
- </div>
- <a href="#regression" class="list-group-item list-group-item-success" data-toggle="collapse" data-parent="#AlgoMenu"><b>Regression</b><i class="fa fa-caret-down"></i></a>
- <div class="collapse" id="regression">
- <ul class="nav sidebar-nav">
- <a href="#serial-correlation" class="list-group-item list-group-item-success" data-toggle="collapse" data-parent="#regression"><b>&#8226;&nbsp;Serial Correlation</b><i class="fa fa-caret-down"></i></a>
- <div class="collapse" id="serial-correlation">
- <ul class="nav sidebar-nav">
- <li> <a href="{{ BASE_PATH }}/algorithms/regression/serial-correlation/cochrane-orcutt.html">Cochrane-Orcutt Procedure</a></li>
- <li> <a href="{{ BASE_PATH }}/algorithms/regression/serial-correlation/dw-test.html">Durbin Watson Test</a></li>
- </ul>
- </div>
- <li> <a href="{{ BASE_PATH }}/algorithms/regression/ols.html">Ordinary Least Squares (Closed Form)</a></li>
- <li> <a href="{{ BASE_PATH }}/algorithms/regression/fittness-tests.html">Fitness Tests</a></li>
- </ul>
- </div>
- <a href="#reccomenders" class="list-group-item list-group-item-success" data-toggle="collapse" data-parent="#AlgoMenu"><b>Reccomenders</b><i class="fa fa-caret-down"></i></a>
- <div class="collapse" id="reccomenders">
- <ul class="nav sidebar-nav">
- <li> <a href="{{ BASE_PATH }}/algorithms/reccomenders">Reccomender Overview</a></li>
- <li> <a href="{{ BASE_PATH }}/algorithms/reccomenders/cco.html">CCO</a></li>
- <li> <a href="{{ BASE_PATH }}/algorithms/reccomenders/d-als.html">Distributed Alternating Least Squares</a></li>
- </ul>
- </div>
- </div>
- <span><b>Map Reduce Algorithms</b> (deprecated)</span>
- <div class="list-group panel">
- <a href="#classification" class="list-group-item list-group-item-success" data-toggle="collapse" data-parent="#AlgoMenu"><b>Classification</b><i class="fa fa-caret-down"></i></a>
- <div class="collapse" id="classification">
- <ul class="nav sidebar-nav">
- <li> <a href="{{ BASE_PATH }}/algorithms/map-reduce/classification/bayesian.html">Bayesian</a></li>
- <li> <a href="{{ BASE_PATH }}/algorithms/map-reduce/classification/class-discovery.html">Class Discovery</a></li>
- <li> <a href="{{ BASE_PATH }}/algorithms/map-reduce/classification/classifyingyourdata.html">Classifying Your Data</a></li>
- <li> <a href="{{ BASE_PATH }}/algorithms/map-reduce/classification/collocations.html">Collocation</a></li>
- <li> <a href="{{ BASE_PATH }}/algorithms/map-reduce/classification/gaussian-discriminative-analysis.html">Gaussian Discriminative Analysis</a></li>
- <li> <a href="{{ BASE_PATH }}/algorithms/map-reduce/classification/hidden-markov-models.html">Hidden Markov Models</a></li>
- <li> <a href="{{ BASE_PATH }}/algorithms/map-reduce/classification/independent-component-analysis.html">Independent Component Analysis</a></li>
- <li> <a href="{{ BASE_PATH }}/algorithms/map-reduce/classification/locally-weighted-linear-regression.html">Locally Weighted Linear Regression</a></li>
- <li> <a href="{{ BASE_PATH }}/algorithms/map-reduce/classification/logistic-regression.html">Logistic Regression</a></li>
- <li> <a href="{{ BASE_PATH }}/algorithms/map-reduce/classification/mahout-collections.html">Mahout Collections</a></li>
- <li> <a href="{{ BASE_PATH }}/algorithms/map-reduce/classification/mlp.html">Multilayer Perceptron</a></li>
- <li> <a href="{{ BASE_PATH }}/algorithms/map-reduce/classification/naivebayes.html">Naive Bayes</a></li>
- <li> <a href="{{ BASE_PATH }}/algorithms/map-reduce/classification/neural-network.html">Neural Networks</a></li>
- <li> <a href="{{ BASE_PATH }}/algorithms/map-reduce/classification/partial-implementation.html">Partial Implementation</a></li>
- <li> <a href="{{ BASE_PATH }}/algorithms/map-reduce/classification/random-forrests.html">Random Forrests</a></li>
- <li> <a href="{{ BASE_PATH }}/algorithms/map-reduce/classification/restricted-boltzman-machines.html">Restricted Boltzman Machines</a></li>
- <li> <a href="{{ BASE_PATH }}/algorithms/map-reduce/classification/support-vector-machines.html">Support Vector Machines</a></li>
- </ul>
- </div>
- <a href="#mr-clustering" class="list-group-item list-group-item-success" data-toggle="collapse" data-parent="#AlgoMenu"><b>Clustering</b><i class="fa fa-caret-down"></i></a>
- <div class="collapse" id="mr-clustering">
- <ul class="nav sidebar-nav">
- <li> <a href="{{ BASE_PATH }}/algorithms/map-reduce/clustering/canopy-clustering.html">Canopy Clustering</a></li>
- <li> <a href="{{ BASE_PATH }}/algorithms/map-reduce/clustering/cluster-dumper.html">Cluster Dumper</a></li>
- <li> <a href="{{ BASE_PATH }}/algorithms/map-reduce/clustering/expectation-maximization.html">Expectation Maximization</a></li>
- <li> <a href="{{ BASE_PATH }}/algorithms/map-reduce/clustering/fuzzy-k-means.html">Fuzzy K-Means</a></li>
- <li> <a href="{{ BASE_PATH }}/algorithms/map-reduce/clustering/hierarchical-clustering.html">Hierarchical Clustering</a></li>
- <li> <a href="{{ BASE_PATH }}/algorithms/map-reduce/clustering/k-means-clustering.html">K-Means Clustering</a></li>
- <li> <a href="{{ BASE_PATH }}/algorithms/map-reduce/clustering/latent-dirichlet-allocation.html">Latent Dirichlet Allocation</a></li>
- <li> <a href="{{ BASE_PATH }}/algorithms/map-reduce/clustering/llr---log-likelihood-ratio.html">Log Likelihood Ratio</a></li>
- <li> <a href="{{ BASE_PATH }}/algorithms/map-reduce/clustering/spectral-clustering.html">Spectral Clustering</a></li>
- <li> <a href="{{ BASE_PATH }}/algorithms/map-reduce/clustering/streaming-k-means.html">Streaming K-Means</a></li>
- </ul>
- </div>
- </div>
-</div>

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/docs/_includes/navbar.html
----------------------------------------------------------------------
diff --git a/website-old/docs/_includes/navbar.html b/website-old/docs/_includes/navbar.html
deleted file mode 100644
index 0d155b6..0000000
--- a/website-old/docs/_includes/navbar.html
+++ /dev/null
@@ -1,109 +0,0 @@
-{% include JB/setup %}
-
-<!-- Collect the nav links, forms, and other content for toggling -->
-<div class="collapse navbar-collapse" id="main-navbar">
- <ul class="nav navbar-nav">
-
- <!-- Quick Start -->
- <li id="quickstart">
- <a href="{{ BASE_PATH}}/index.html" >Mahout Overview</a>
- </li>
-
- <li id="dropdown">
- <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Key Concepts<span class="caret"></span></a>
- <ul class="dropdown-menu">
- <li><a href="{{ BASE_PATH }}/index.html">Mahout Overview</a></li>
- <li><span><b>&nbsp;&nbsp;Scala DSL</b><span></li>
- <li><a href="{{ BASE_PATH }}/mahout-samsara/in-core-reference.html">In-core Reference</a></li>
- <li><a href="{{ BASE_PATH }}/mahout-samsara/out-of-core-reference.html">Out-of-core Reference</a></li>
- <li><a href="{{ BASE_PATH }}/mahout-samsara/faq.html">Samsara FAQ</a></li>
- <li role="separator" class="divider"></li>
- <li><span>&nbsp;&nbsp;<b>Bindings</b><span></li>
- <li><a href="{{ BASE_PATH }}/distributed/spark-bindings/">Spark Bindings</a></li>
- <li><a href="{{ BASE_PATH }}/distributed/flink-bindings.html">Flink Bindings</a></li>
- <li><a href="{{ BASE_PATH }}/distributed/flink-bindings.html">H20 Bindings</a></li>
- <!--<li role="separator" class="divider"></li>
- <li><span>&nbsp;&nbsp;<b>Native Solvers</b><span></li>
- <li><a href="{{ BASE_PATH }}/native-solvers/viennacl.html">ViennaCL</a></li>
- <li><a href="{{ BASE_PATH }}/native-solvers/viennacl-omp.html">ViennaCL-OMP</a></li>
- <li><a href="{{ BASE_PATH }}/native-solvers/cuda.html">CUDA</a></li>-->
- </ul>
- </li>
-
- <li id="dropdown">
- <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Tutorials<span class="caret"></span></a>
- <ul class="dropdown-menu">
- <li><span>&nbsp;&nbsp;<b>Reccomenders</b><span></li>
- <li><a href="{{ BASE_PATH }}/tutorials/cco-lastfm">CCO Example with Last.FM Data</a></li>
- <li><a href="{{ BASE_PATH }}/tutorials/intro-cooccurrence-spark">Introduction to Cooccurrence in Spark</a></li>
- <li role="separator" class="divider"></li>
- <li><span>&nbsp;&nbsp;<b>Mahout Samsara</b><span></li>
- <li><a href="{{ BASE_PATH}}/tutorials/samsara/play-with-shell.html">Playing with Samsara in Spark Shell</a></li>
- <li><a href="{{ BASE_PATH}}/tutorials/samsara/playing-with-samsara-flink-batch.html">Playing with Samsara in Flink Batch</a></li>
- <li><a href="{{ BASE_PATH}}/tutorials/samsara/classify-a-doc-from-the-shell.html">Text Classification (Shell)</a></li>
- <li><a href="{{ BASE_PATH}}/tutorials/samsara/spark-naive-bayes.html">Spark Naive Bayes</a></li>
- <li role="separator" class="divider"></li>
- <li><span>&nbsp;&nbsp;<b>Misc</b><span></li>
- <li><a href="{{ BASE_PATH }}/tutorials/misc/mahout-in-zeppelin">Mahout in Apache Zeppelin</a></li>
- <li><a href="{{ BASE_PATH }}/tutorials/misc/contributing-algos">How To Contribute a New Algorithm</a></li>
- <li><a href="{{ BASE_PATH }}/tutorials/misc/how-to-build-an-app.html">How To Build An App</a></li>
- <li role="separator" class="divider"></li>
- <li><span>&nbsp;&nbsp;<b>Deprecated</b><span></li>
- <li><a href="{{ BASE_PATH}}/tutorials/map-reduce">MapReduce</a></li>
- </ul>
- </li>
-
-
- <!-- Algorithms (Samsara / MR) -->
- <li id="dropdown">
- <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Algorithms<span class="caret"></span></a>
- <ul class="dropdown-menu">
- <li><a href="{{ BASE_PATH}}/algorithms/linear-algebra">Distributed Linear Algebra</a></li>
- <li><a href="{{ BASE_PATH}}/algorithms/preprocessors">Preprocessors</a></li>
- <li><a href="{{ BASE_PATH}}/algorithms/regression">Regression</a></li>
- <li><a href="{{ BASE_PATH}}/algorithms/reccomenders">Reccomenders</a></li>
- <li role="separator" class="divider"></li>
- <li><a href="{{ BASE_PATH }}/algorithms/map-reduce">MapReduce <i>(deprecated)</i></a></li>
- </ul>
- <!--<li><a href="{{ BASE_PATH}}/algorithms/reccomenders/recommender-overview.html">Reccomender Overview</a></li> Do we still need? seems like short version of next post-->
- <!--
- <li><a href="{{ BASE_PATH}}/algorithms/reccomenders/intro-cooccurrence-spark.html">Intro to Coocurrence With Spark</a></li>
- <li role="separator" class="divider"></li>
- <li><span>&nbsp;&nbsp;<a href="{{ BASE_PATH }}/algorithms/map-reduce"><b>MapReduce</b> (deprecated)</a><span></li>
-
-
- -->
- </li>
-
- <!-- Scala Docs -->
- <li id="dropdown">
- <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">API Docs<span class="caret"></span></a>
- <ul class="dropdown-menu">
- <li><a href="{{ BASE_PATH }}/0.13.0/api/index.html">0.13.0</a></li>
- </ul>
- </li>
-
-
- </ul>
- <form class="navbar-form navbar-left">
- <div class="form-group">
- <input type="text" class="form-control" placeholder="Search">
- </div>
- <button type="submit" class="btn btn-default">Submit</button>
- </form>
- <ul class="nav navbar-nav navbar-right">
- <li><a href="http://github.com/apache/mahout">Github</a></li>
-
- <!-- Apache -->
- <li class="dropdown">
- <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Apache <span class="caret"></span></a>
- <ul class="dropdown-menu">
- <li><a href="http://www.apache.org/foundation/how-it-works.html">Apache Software Foundation</a></li>
- <li><a href="http://www.apache.org/licenses/">Apache License</a></li>
- <li><a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
- <li><a href="http://www.apache.org/foundation/thanks.html">Thanks</a></li>
- </ul>
- </li>
-
- </ul>
-</div><!-- /.navbar-collapse -->

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/docs/_includes/themes
----------------------------------------------------------------------
diff --git a/website-old/docs/_includes/themes b/website-old/docs/_includes/themes
deleted file mode 120000
index b1d44e6..0000000
--- a/website-old/docs/_includes/themes
+++ /dev/null
@@ -1 +0,0 @@
-../../_includes/themes
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/docs/_includes/tutorial_navbar.html
----------------------------------------------------------------------
diff --git a/website-old/docs/_includes/tutorial_navbar.html b/website-old/docs/_includes/tutorial_navbar.html
deleted file mode 100644
index 0b72a00..0000000
--- a/website-old/docs/_includes/tutorial_navbar.html
+++ /dev/null
@@ -1,62 +0,0 @@
-<div id="TutorialMenu">
- <span><b>Tutorials</b></span>
- <div class="list-group panel">
- <a href="#linalg" class="list-group-item list-group-item-success" data-toggle="collapse" data-parent="#TutorialMenu"><b>Linear Algebra</b><i class="fa fa-caret-down"></i></a>
- <div class="collapse" id="linalg">
- <ul class="nav sidebar-nav">
- <li><a href="{{ BASE_PATH }}/tutorials/eigenfaces">Eigenfaces Demo (Shell or Zeppelin)</a></li>
- </ul>
- </div>
- <a href="#reccomenders" class="list-group-item list-group-item-success" data-toggle="collapse" data-parent="#TutorialMenu"><b>Reccomenders</b><i class="fa fa-caret-down"></i></a>
- <div class="collapse" id="reccomenders">
- <ul class="nav sidebar-nav">
- <li><a href="{{ BASE_PATH }}/tutorials/cco-lastfm">CCO Example with Last.FM Data</a></li>
- <li><a href="{{ BASE_PATH }}/tutorials/intro-cooccurrence-spark">Introduction to Cooccurrence in Spark</a></li>
- </ul>
- </div>
- <a href="#other" class="list-group-item list-group-item-success" data-toggle="collapse" data-parent="#TutorialMenu"><b>Other</b><i class="fa fa-caret-down"></i></a>
- <div class="collapse" id="other">
- <ul class="nav sidebar-nav">
- <li><a href="{{ BASE_PATH }}/tutorials/misc/mahout-in-zeppelin">Mahout in Apache Zeppelin</a></li>
- <li><a href="{{ BASE_PATH }}/tutorials/misc/contributing-algos">How To Contribute a New Algorithm</a></li>
- <li><a href="{{ BASE_PATH }}/tutorials/misc/how-to-build-an-app.html">How To Build An App</a></li>
- </ul>
- </div>
- </div>
- <span><b>Map Reduce Tutorials</b> (deprecated)</span>
- <div class="list-group panel">
- <a href="#classification" class="list-group-item list-group-item-success" data-toggle="collapse" data-parent="#MrTutorialMenu"><b>Classification</b><i class="fa fa-caret-down"></i></a>
- <div class="collapse" id="classification">
- <ul class="nav sidebar-nav">
- <li> <a href="{{ BASE_PATH }}/tutorials/map-reduce/classification/bankmarketing-example.html">Bank Marketing Example</a></li>
- <li> <a href="{{ BASE_PATH }}/tutorials/map-reduce/classification/breiman-example.html">Breiman Example</a></li>
- <li> <a href="{{ BASE_PATH }}/tutorials/map-reduce/classification/twenty-newsgroups.html">Twenty Newsgroups Example</a></li>
- <li> <a href="{{ BASE_PATH }}/tutorials/map-reduce/classification/wikipedia-classifier-example.html">Wikipedia Classifier Example</a></li>
- <li> <a href="{{ BASE_PATH }}/tutorials/map-reduce/classification/parallel-frequent-pattern-mining.html">Parallel Frequent Pattern Mining</a></li>
- </ul>
- </div>
- <a href="#clustering" class="list-group-item list-group-item-success" data-toggle="collapse" data-parent="#MrTutorialMenu"><b>Clustering</b><i class="fa fa-caret-down"></i></a>
- <div class="collapse" id="clustering">
- <ul class="nav sidebar-nav">
- <li> <a href="{{ BASE_PATH }}/tutorials/map-reduce/clustering/20newsgroups.html">Twenty Newsgroups Example</a></li>
- <li> <a href="{{ BASE_PATH }}/tutorials/map-reduce/clustering/canopy-commandline.html">Canopy Clustering from the Commandline</a></li>
- <li> <a href="{{ BASE_PATH }}/tutorials/map-reduce/clustering/clustering-of-synthetic-control-data.html">Clustering of Synthetic Control Data</a></li>
- <li> <a href="{{ BASE_PATH }}/tutorials/map-reduce/clustering/clustering-seinfeld-episodes.html">Clustering of Seinfeld Episodes</a></li>
- <li> <a href="{{ BASE_PATH }}/tutorials/map-reduce/clustering/clusteringyourdata.html">Clustering Your Data</a></li>
- <li> <a href="{{ BASE_PATH }}/tutorials/map-reduce/clustering/fuzzy-k-means-commandline.html">Fuzzy K-Means from the Commandline</a></li>
- <li> <a href="{{ BASE_PATH }}/tutorials/map-reduce/clustering/k-means-commandline.html">K-Means from the Commandline</a></li>
- <li> <a href="{{ BASE_PATH }}/tutorials/map-reduce/clustering/lda-commandline.html">LDA from the Commandline</a></li>
- <li> <a href="{{ BASE_PATH }}/tutorials/map-reduce/clustering/viewing-results.html">Viewing Results</a></li>
- <li> <a href="{{ BASE_PATH }}/tutorials/map-reduce/clustering/visualizing-sample-clusters.html">Visualizing Sample Clusters</a></li>
- </ul>
- </div>
- <a href="#misc" class="list-group-item list-group-item-success" data-toggle="collapse" data-parent="#MrTutorialMenu"><b>Miscelaneous</b><i class="fa fa-caret-down"></i></a>
- <div class="collapse" id="misc">
- <ul class="nav sidebar-nav">
- <li> <a href="{{ BASE_PATH }}/tutorials/map-reduce/misc/mr---map-reduce.html">MR Map-Reduce</a></li>
- <li> <a href="{{ BASE_PATH }}/tutorials/map-reduce/misc/parallel-frequent-pattern-mining.html">Parallel Frequent Pattern Mining</a></li>
- <li> <a href="{{ BASE_PATH }}/tutorials/map-reduce/misc/using-mahout-with-python-via-jpype.html">Using Mahout (Map Reduce) with Python via Jpype</a></li>
- </ul>
- </div>
- </div>
-</div>

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/docs/_layouts/algorithm.html
----------------------------------------------------------------------
diff --git a/website-old/docs/_layouts/algorithm.html b/website-old/docs/_layouts/algorithm.html
deleted file mode 100644
index 188081e..0000000
--- a/website-old/docs/_layouts/algorithm.html
+++ /dev/null
@@ -1,7 +0,0 @@
----
-theme :
-name : mahout3
-layout: default
----
-{% include JB/setup %}
-{% include themes/mahout3/algorithm.html %}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/docs/_layouts/default.html
----------------------------------------------------------------------
diff --git a/website-old/docs/_layouts/default.html b/website-old/docs/_layouts/default.html
deleted file mode 100755
index ec60279..0000000
--- a/website-old/docs/_layouts/default.html
+++ /dev/null
@@ -1,6 +0,0 @@
----
-theme :
- name : mahout3
----
-{% include JB/setup %}
-{% include themes/mahout3/default.html %}

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/docs/_layouts/page.html
----------------------------------------------------------------------
diff --git a/website-old/docs/_layouts/page.html b/website-old/docs/_layouts/page.html
deleted file mode 100755
index 0e123f9..0000000
--- a/website-old/docs/_layouts/page.html
+++ /dev/null
@@ -1,7 +0,0 @@
----
-theme :
- name : mahout3
-layout: default
----
-{% include JB/setup %}
-{% include themes/mahout3/page.html %}

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/docs/_layouts/post.html
----------------------------------------------------------------------
diff --git a/website-old/docs/_layouts/post.html b/website-old/docs/_layouts/post.html
deleted file mode 100755
index 9b8f584..0000000
--- a/website-old/docs/_layouts/post.html
+++ /dev/null
@@ -1,7 +0,0 @@
----
-theme :
- name : mahout3
-layout: default
----
-{% include JB/setup %}
-{% include themes/mahout3/post.html %}

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/docs/_layouts/tutorial.html
----------------------------------------------------------------------
diff --git a/website-old/docs/_layouts/tutorial.html b/website-old/docs/_layouts/tutorial.html
deleted file mode 100644
index 8ee9223..0000000
--- a/website-old/docs/_layouts/tutorial.html
+++ /dev/null
@@ -1,7 +0,0 @@
----
-theme :
-name : mahout3
-layout: default
----
-{% include JB/setup %}
-{% include themes/mahout3/tutorial.html %}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/docs/_plugins/debug.rb
----------------------------------------------------------------------
diff --git a/website-old/docs/_plugins/debug.rb b/website-old/docs/_plugins/debug.rb
deleted file mode 100755
index e1dde39..0000000
--- a/website-old/docs/_plugins/debug.rb
+++ /dev/null
@@ -1,38 +0,0 @@
-# A simple way to inspect liquid template variables.
-# Usage:
-# Can be used anywhere liquid syntax is parsed (templates, includes, posts/pages)
-# {{ site | debug }}
-# {{ site.posts | debug }}
-#
-require 'pp'
-module Jekyll
- # Need to overwrite the inspect method here because the original
- # uses < > to encapsulate the psuedo post/page objects in which case
- # the output is taken for HTML tags and hidden from view.
- #
- class Post
- def inspect
- "#Jekyll:Post @id=#{self.id.inspect}"
- end
- end
-
- class Page
- def inspect
- "#Jekyll:Page @name=#{self.name.inspect}"
- end
- end
-
-end # Jekyll
-
-module Jekyll
- module DebugFilter
-
- def debug(obj, stdout=false)
- puts obj.pretty_inspect if stdout
- "<pre>#{obj.class}\n#{obj.pretty_inspect}</pre>"
- end
-
- end # DebugFilter
-end # Jekyll
-
-Liquid::Template.register_filter(Jekyll::DebugFilter)
\ No newline at end of file

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/docs/algorithms/clustering/canopy/Canopy.png b/website-old/docs/algorithms/clustering/canopy/Canopy.png
deleted file mode 100644
index 934efd7..0000000
Binary files a/website-old/docs/algorithms/clustering/canopy/Canopy.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/docs/algorithms/clustering/canopy/Canopy10.png b/website-old/docs/algorithms/clustering/canopy/Canopy10.png
deleted file mode 100644
index 4bb291c..0000000
Binary files a/website-old/docs/algorithms/clustering/canopy/Canopy10.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/docs/algorithms/clustering/canopy/SampleData.png b/website-old/docs/algorithms/clustering/canopy/SampleData.png
deleted file mode 100644
index 48c4690..0000000
Binary files a/website-old/docs/algorithms/clustering/canopy/SampleData.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/docs/algorithms/clustering/canopy/index.md
----------------------------------------------------------------------
diff --git a/website-old/docs/algorithms/clustering/canopy/index.md b/website-old/docs/algorithms/clustering/canopy/index.md
deleted file mode 100644
index 923c63a..0000000
--- a/website-old/docs/algorithms/clustering/canopy/index.md
+++ /dev/null
@@ -1,128 +0,0 @@
----
-layout: algorithm
-title: Canopy Clustering
-theme:
- name: retro-mahout
----
-
-### About
-
-[Canopy Clustering](http://www.kamalnigam.com/papers/canopy-kdd00.pdf)
- is a very simple, fast and surprisingly accurate method for grouping
-objects into clusters. All objects are represented as a point in a
-multidimensional feature space. The algorithm uses a fast approximate
-distance metric and two distance thresholds T1 > T2 for processing. The
-basic algorithm is to begin with a set of points and remove one at random.
-Create a Canopy containing this point and iterate through the remainder of
-the point set. At each point, if its distance from the first point is < T1,
-then add the point to the cluster. If, in addition, the distance is < T2,
-then remove the point from the set. This way points that are very close to
-the original will avoid all further processing. The algorithm loops until
-the initial set is empty, accumulating a set of Canopies, each containing
-one or more points. A given point may occur in more than one Canopy.
-
-Canopy Clustering is often used as an initial step in more rigorous
-clustering techniques, such as [K-Means Clustering](k-means-clustering.html)
-. By starting with an initial clustering the number of more expensive
-distance measurements can be significantly reduced by ignoring points
-outside of the initial canopies.
-
-#### Strategy for parallelization
-
-Looking at the sample Hadoop implementation in [http://code.google.com/p/canopy-clustering/](http://code.google.com/p/canopy-clustering/)
- the processing is done in 3 steps:
-1. The data is massaged into suitable input format
-1. Each mapper performs canopy clustering on the points in its input set and
-outputs its canopies' centers
-1. The reducer clusters the canopy centers to produce the final canopy
-centers
-
-The points are then clustered into these final canopies when the `model.cluster(inputDRM)` is called.
-
-Some ideas can be found in [Cluster computing and http://youtu.be/yjPBkvYh-ss
- lecture video series \[by Google(r)\]; Canopy Clustering is discussed in [lecture http://youtu.be/1ZDybXl212Q
-. Finally here is the [Wikipedia page](http://en.wikipedia.org/wiki/Canopy_clustering_algorithm)
-.
-
-#### Illustrations
-
-The following images illustrate Canopy clustering applied to a set of
-randomly-generated 2-d data points. The points are generated using a normal
-distribution centered at a mean location and with a constant standard
-deviation. See the README file in the [/examples/src/main/java/org/apache/mahout/clustering/display/README.txt](https://github.com/apache/mahout/blob/master/examples/src/main/java/org/apache/mahout/clustering/display/README.txt)
- for details on running similar examples.
-
-The points are generated as follows:
-
-* 500 samples m=\[1.0, 1.0\](1.0,-1.0\.html)
- sd=3.0
-* 300 samples m=\[1.0, 0.0\](1.0,-0.0\.html)
- sd=0.5
-* 300 samples m=\[0.0, 2.0\](0.0,-2.0\.html)
- sd=0.1
-
-In the first image, the points are plotted and the 3-sigma boundaries of
-their generator are superimposed.
-
-![sample data](SampleData.png)
-
-In the second image, the resulting canopies are shown superimposed upon the
-sample data. Each canopy is represented by two circles, with radius T1 and
-radius T2.
-
-![canopy](Canopy.png)
-
-The third image uses the same values of T1 and T2 but only superimposes
-canopies covering more than 10% of the population. This is a bit better
-representation of the data but it still has lots of room for improvement.
-The advantage of Canopy clustering is that it is single-pass and fast
-enough to iterate runs using different T1, T2 parameters and display
-thresholds.
-
-![canopy](Canopy10.png)
-
-### Parameters
-
-<div class="table-striped">
- <table class="table">
- <tr>
- <th>Parameter</th>
- <th>Description</th>
- <th>Default Value</th>
- </tr>
- <tr>
- <td><code>'distanceMeasure</code></td>
- <td>The metric used for calculating distance, see <a href="../distance-metrics.html">Distance Metrics</a></td>
- <td><code>'Cosine</code></td>
- </tr>
- <tr>
- <td><code>'t1</code></td>
- <td>The "loose" distance in the mapping phase</code></td>
- <td>0.5</td>
- </tr>
- <tr>
- <td><code>'t2</code></td>
- <td>The "tight" distance in the mapping phase</code></td>
- <td>0.1</td>
- </tr>
- <tr>
- <td><code>'t3</code></td>
- <td>The "loose" distance in the reducing phase</code></td>
- <td><code>'t1</code></td>
- </tr>
- <tr>
- <td><code>'t4</code></td>
- <td>The "tight" distance in the reducing phase</code></td>
- <td><code>'t2</code></td>
- </tr>
- </table>
-</div>
-
-### Example
-
- val drmA = drmParallelize(dense((1.0, 1.2, 1.3, 1.4), (1.1, 1.5, 2.5, 1.0), (6.0, 5.2, -5.2, 5.3), (7.0,6.0, 5.0, 5.0), (10.0, 1.0, 20.0, -10.0)))
-
- import org.apache.mahout.math.algorithms.clustering.CanopyClustering
-
- val model = new CanopyClustering().fit(drmA, 't1 -> 6.5, 't2 -> 5.5, 'distanceMeasure -> 'Chebyshev)
- model.cluster(drmA).collect

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/docs/algorithms/clustering/distance-metrics.md
----------------------------------------------------------------------
diff --git a/website-old/docs/algorithms/clustering/distance-metrics.md b/website-old/docs/algorithms/clustering/distance-metrics.md
deleted file mode 100644
index 5b25a93..0000000
--- a/website-old/docs/algorithms/clustering/distance-metrics.md
+++ /dev/null
@@ -1,82 +0,0 @@
----
-layout: algorithm
-title: Distance Metrics
-theme:
- name: retro-mahout
----
-
-### Distance Metrics Supported By Mahout
-
-<div class="table-striped">
- <table class="table">
- <tr>
- <th>Name</th>
- <th>Object</th>
- <th>Symbol</th>
- </tr>
- <tr>
- <td><a href="https://en.wikipedia.org/wiki/Chebyshev_distance">Chebyshev Distance</a></td>
- <td><code>org.apache.mahout.math.algorithms.common.distance.Chebyshev</code></td>
- <td><code>'Chebyshev</code></td>
- </tr>
- <tr>
- <td><a href="https://en.wikipedia.org/wiki/Cosine_similarity">Cosine Similarity</a></td>
- <td><code>org.apache.mahout.math.algorithms.common.distance.Cosine</code></td>
- <td><code>'Cosine</code></td>
- </tr>
- </table>
-</div>
-
-
-<!--
-A beginner JIRA to port the rest of these
-[Euclidean](https://en.wikipedia.org/wiki/Euclidean_distance)
-
-[Mahalanobis](https://en.wikipedia.org/wiki/Mahalanobis_distance)
-
-[Manhattan](https://en.wiktionary.org/wiki/Manhattan_distance)
-
-[Minkowski](https://en.wikipedia.org/wiki/Minkowski_distance)
-
-[Squared Euclidian](https://en.wikipedia.org/wiki/Euclidean_distance#Squared_Euclidean_distance)
-
-[Tanimoto](https://en.wikipedia.org/wiki/Jaccard_index#Tanimoto_similarity_and_distance)
-
-Weighted Euclidean
-
-Weighted Manhattan-->
-
-### Using Distance Metrics
-
-In Mahout one can access the distant metrics directly to measure the distance between two arbitrary vectors, or
-can specify which distance metric to use as part of an algorithm. In the latter case the distance metric is called
-by `Symbol`, we never pass Distance metrics directly to an algorithm. This design choice, in part has to do with
-serialization of object and keeping the engine bindings as simple as possible. Behind the scenes, the only thing
-that is serialized and sent to the workers is a number which specifies what distant metric to use- this is much more
-abstract and easier to maintain on the back end than making sure each function can be serialized by any arbitrary engine.
-We feel from the user perspective, it may seem quirky but causes no decrease in usability. If a user wishes to use a
-custom distance metric- simply add it to [math-scala/src/main/org/apache/mahout/math/common/DistanceMetrics.scala](https://github.com/apache/mahout/blob/master/math-scala/src/main/scala/org/apache/mahout/math/algorithms/common/DistanceMetrics.scala)
-and recompile.
-
-### Examples
-
-**Meausring the distance between two vectors**
-
- import org.apache.mahout.math.algorithms.common.distance._
-
- val v1 = dvec(1.0, 1.5, -1.2, 3.5)
- val v2 = dvec(0.1, -1.4, 10.5, 3.2)
-
- Cosine.distance(v1, v2)
-
-**Using distance in clustering**
-
- import org.apache.mahout.math.algorithms.clustering.CanopyClustering
-
- val drmA = drmParallelize(dense((1.0, 1.2, 1.3, 1.4),
- (1.1, 1.5, 2.5, 1.0),
- (6.0, 5.2, -5.2, 5.3),
- (7.0,6.0, 5.0, 5.0),
- (10.0, 1.0, 20.0, -10.0)))
-
- val model = new CanopyClustering().fit(drmA, 'distanceMeasure -> 'Cosine)
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/docs/algorithms/clustering/index.md
----------------------------------------------------------------------
diff --git a/website-old/docs/algorithms/clustering/index.md b/website-old/docs/algorithms/clustering/index.md
deleted file mode 100644
index 50030c2..0000000
--- a/website-old/docs/algorithms/clustering/index.md
+++ /dev/null
@@ -1,6 +0,0 @@
----
-layout: algorithm
-title: Clustering Algorithms
-theme:
- name: retro-mahout
----

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/docs/algorithms/linear-algebra/d-qr.md
----------------------------------------------------------------------
diff --git a/website-old/docs/algorithms/linear-algebra/d-qr.md b/website-old/docs/algorithms/linear-algebra/d-qr.md
deleted file mode 100644
index 8e9cecc..0000000
--- a/website-old/docs/algorithms/linear-algebra/d-qr.md
+++ /dev/null
@@ -1,56 +0,0 @@
----
-layout: algorithm
-title: Distributed Cholesky QR
-theme:
- name: retro-mahout
----
-
-## Intro
-
-Mahout has a distributed implementation of QR decomposition for tall thin matrices[1].
-
-## Algorithm
-
-For the classic QR decomposition of the form `\(\mathbf{A}=\mathbf{QR},\mathbf{A}\in\mathbb{R}^{m\times n}\)` a distributed version is fairly easily achieved if `\(\mathbf{A}\)` is tall and thin such that `\(\mathbf{A}^{\top}\mathbf{A}\)` fits in memory, i.e. *m* is large but *n* < ~5000 Under such circumstances, only `\(\mathbf{A}\)` and `\(\mathbf{Q}\)` are distributed matrices and `\(\mathbf{A^{\top}A}\)` and `\(\mathbf{R}\)` are in-core products. We just compute the in-core version of the Cholesky decomposition in the form of `\(\mathbf{LL}^{\top}= \mathbf{A}^{\top}\mathbf{A}\)`. After that we take `\(\mathbf{R}= \mathbf{L}^{\top}\)` and `\(\mathbf{Q}=\mathbf{A}\left(\mathbf{L}^{\top}\right)^{-1}\)`. The latter is easily achieved by multiplying each vertical block of `\(\mathbf{A}\)` by `\(\left(\mathbf{L}^{\top}\right)^{-1}\)`. (There is no actual matrix inversion happening).
-
-
-
-## Implementation
-
-Mahout `dqrThin(...)` is implemented in the mahout `math-scala` algebraic optimizer which translates Mahout's R-like linear algebra operators into a physical plan for both Spark and H2O distributed engines.
-
- def dqrThin[K: ClassTag](A: DrmLike[K], checkRankDeficiency: Boolean = true): (DrmLike[K], Matrix) = {
- if (drmA.ncol > 5000)
- log.warn("A is too fat. A'A must fit in memory and easily broadcasted.")
- implicit val ctx = drmA.context
- val AtA = (drmA.t %*% drmA).checkpoint()
- val inCoreAtA = AtA.collect
- val ch = chol(inCoreAtA)
- val inCoreR = (ch.getL cloned) t
- if (checkRankDeficiency && !ch.isPositiveDefinite)
- throw new IllegalArgumentException("R is rank-deficient.")
- val bcastAtA = sc.broadcast(inCoreAtA)
- val Q = A.mapBlock() {
- case (keys, block) => keys -> chol(bcastAtA).solveRight(block)
- }
- Q -> inCoreR
- }
-
-
-## Usage
-
-The scala `dqrThin(...)` method can easily be called in any Spark or H2O application built with the `math-scala` library and the corresponding `Spark` or `H2O` engine module as follows:
-
- import org.apache.mahout.math._
- import decompositions._
- import drm._
-
- val(drmQ, inCoreR) = dqrThin(drma)
-
-
-## References
-
-[1]: [Mahout Scala and Mahout Spark Bindings for Linear Algebra Subroutines](http://mahout.apache.org/users/sparkbindings/ScalaSparkBindings.pdf)
-
-[2]: [Mahout Spark and Scala Bindings](http://mahout.apache.org/users/sparkbindings/home.html)
-
a***@apache.org
2017-12-21 04:53:01 UTC
Permalink
http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/assets/themes/mahout2/js/bootstrap.min.js
----------------------------------------------------------------------
diff --git a/website-old/assets/themes/mahout2/js/bootstrap.min.js b/website-old/assets/themes/mahout2/js/bootstrap.min.js
deleted file mode 100644
index 1a6258e..0000000
--- a/website-old/assets/themes/mahout2/js/bootstrap.min.js
+++ /dev/null
@@ -1,7 +0,0 @@
-/*!
- * Bootstrap v3.0.3 (http://getbootstrap.com)
- * Copyright 2013 Twitter, Inc.
- * Licensed under http://www.apache.org/licenses/LICENSE-2.0
- */
-
-if("undefined"==typeof jQuery)throw new Error("Bootstrap requires jQuery");+function(a){"use strict";function b(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(void 0!==a.style[c])return{end:b[c]}}a.fn.emulateTransitionEnd=function(b){var c=!1,d=this;a(this).one(a.support.transition.end,function(){c=!0});var e=function(){c||a(d).trigger(a.support.transition.end)};return setTimeout(e,b),this},a(function(){a.support.transition=b()})}(jQuery),+function(a){"use strict";var b='[data-dismiss="alert"]',c=function(c){a(c).on("click",b,this.close)};c.prototype.close=function(b){function c(){f.trigger("closed.bs.alert").remove()}var d=a(this),e=d.attr("data-target");e||(e=d.attr("href"),e=e&&e.replace(/.*(?=#[^\s]*$)/,""));var f=a(e);b&&b.preventDefault(),f.length||(f=d.hasClass("alert")?d:d.parent()),f.trigger(b=a.Event("close.bs.alert"
)),b.isDefaultPrevented()||(f.removeClass("in"),a.support.transition&&f.hasClass("fade")?f.one(a.support.transition.end,c).emulateTransitionEnd(150):c())};var d=a.fn.alert;a.fn.alert=function(b){return this.each(function(){var d=a(this),e=d.data("bs.alert");e||d.data("bs.alert",e=new c(this)),"string"==typeof b&&e[b].call(d)})},a.fn.alert.Constructor=c,a.fn.alert.noConflict=function(){return a.fn.alert=d,this},a(document).on("click.bs.alert.data-api",b,c.prototype.close)}(jQuery),+function(a){"use strict";var b=function(c,d){this.$element=a(c),this.options=a.extend({},b.DEFAULTS,d)};b.DEFAULTS={loadingText:"loading..."},b.prototype.setState=function(a){var b="disabled",c=this.$element,d=c.is("input")?"val":"html",e=c.data();a+="Text",e.resetText||c.data("resetText",c[d]()),c[d](e[a]||this.options[a]),setTimeout(function(){"loadingText"==a?c.addClass(b).attr(b,b):c.removeClass(b).removeAttr(b)},0)},b.prototype.toggle=function(){var a=this.$element.closest('[data-toggle="buttons"]'),b
=!0;if(a.length){var c=this.$element.find("input");"radio"===c.prop("type")&&(c.prop("checked")&&this.$element.hasClass("active")?b=!1:a.find(".active").removeClass("active")),b&&c.prop("checked",!this.$element.hasClass("active")).trigger("change")}b&&this.$element.toggleClass("active")};var c=a.fn.button;a.fn.button=function(c){return this.each(function(){var d=a(this),e=d.data("bs.button"),f="object"==typeof c&&c;e||d.data("bs.button",e=new b(this,f)),"toggle"==c?e.toggle():c&&e.setState(c)})},a.fn.button.Constructor=b,a.fn.button.noConflict=function(){return a.fn.button=c,this},a(document).on("click.bs.button.data-api","[data-toggle^=button]",function(b){var c=a(b.target);c.hasClass("btn")||(c=c.closest(".btn")),c.button("toggle"),b.preventDefault()})}(jQuery),+function(a){"use strict";var b=function(b,c){this.$element=a(b),this.$indicators=this.$element.find(".carousel-indicators"),this.options=c,this.paused=this.sliding=this.interval=this.$active=this.$items=null,"hover"==this.
options.pause&&this.$element.on("mouseenter",a.proxy(this.pause,this)).on("mouseleave",a.proxy(this.cycle,this))};b.DEFAULTS={interval:5e3,pause:"hover",wrap:!0},b.prototype.cycle=function(b){return b||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(a.proxy(this.next,this),this.options.interval)),this},b.prototype.getActiveIndex=function(){return this.$active=this.$element.find(".item.active"),this.$items=this.$active.parent().children(),this.$items.index(this.$active)},b.prototype.to=function(b){var c=this,d=this.getActiveIndex();return b>this.$items.length-1||0>b?void 0:this.sliding?this.$element.one("slid.bs.carousel",function(){c.to(b)}):d==b?this.pause().cycle():this.slide(b>d?"next":"prev",a(this.$items[b]))},b.prototype.pause=function(b){return b||(this.paused=!0),this.$element.find(".next, .prev").length&&a.support.transition.end&&(this.$element.trigger(a.support.transition.end),this.cycle(!0)),this
.interval=clearInterval(this.interval),this},b.prototype.next=function(){return this.sliding?void 0:this.slide("next")},b.prototype.prev=function(){return this.sliding?void 0:this.slide("prev")},b.prototype.slide=function(b,c){var d=this.$element.find(".item.active"),e=c||d[b](),f=this.interval,g="next"==b?"left":"right",h="next"==b?"first":"last",i=this;if(!e.length){if(!this.options.wrap)return;e=this.$element.find(".item")[h]()}this.sliding=!0,f&&this.pause();var j=a.Event("slide.bs.carousel",{relatedTarget:e[0],direction:g});if(!e.hasClass("active")){if(this.$indicators.length&&(this.$indicators.find(".active").removeClass("active"),this.$element.one("slid.bs.carousel",function(){var b=a(i.$indicators.children()[i.getActiveIndex()]);b&&b.addClass("active")})),a.support.transition&&this.$element.hasClass("slide")){if(this.$element.trigger(j),j.isDefaultPrevented())return;e.addClass(b),e[0].offsetWidth,d.addClass(g),e.addClass(g),d.one(a.support.transition.end,function(){e.removeC
lass([b,g].join(" ")).addClass("active"),d.removeClass(["active",g].join(" ")),i.sliding=!1,setTimeout(function(){i.$element.trigger("slid.bs.carousel")},0)}).emulateTransitionEnd(600)}else{if(this.$element.trigger(j),j.isDefaultPrevented())return;d.removeClass("active"),e.addClass("active"),this.sliding=!1,this.$element.trigger("slid.bs.carousel")}return f&&this.cycle(),this}};var c=a.fn.carousel;a.fn.carousel=function(c){return this.each(function(){var d=a(this),e=d.data("bs.carousel"),f=a.extend({},b.DEFAULTS,d.data(),"object"==typeof c&&c),g="string"==typeof c?c:f.slide;e||d.data("bs.carousel",e=new b(this,f)),"number"==typeof c?e.to(c):g?e[g]():f.interval&&e.pause().cycle()})},a.fn.carousel.Constructor=b,a.fn.carousel.noConflict=function(){return a.fn.carousel=c,this},a(document).on("click.bs.carousel.data-api","[data-slide], [data-slide-to]",function(b){var c,d=a(this),e=a(d.attr("data-target")||(c=d.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,"")),f=a.extend({},e.data(),d.data(
)),g=d.attr("data-slide-to");g&&(f.interval=!1),e.carousel(f),(g=d.attr("data-slide-to"))&&e.data("bs.carousel").to(g),b.preventDefault()}),a(window).on("load",function(){a('[data-ride="carousel"]').each(function(){var b=a(this);b.carousel(b.data())})})}(jQuery),+function(a){"use strict";var b=function(c,d){this.$element=a(c),this.options=a.extend({},b.DEFAULTS,d),this.transitioning=null,this.options.parent&&(this.$parent=a(this.options.parent)),this.options.toggle&&this.toggle()};b.DEFAULTS={toggle:!0},b.prototype.dimension=function(){var a=this.$element.hasClass("width");return a?"width":"height"},b.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var b=a.Event("show.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.$parent&&this.$parent.find("> .panel > .in");if(c&&c.length){var d=c.data("bs.collapse");if(d&&d.transitioning)return;c.collapse("hide"),d||c.data("bs.collapse",null)}var e=this.dimension();this.$element.remov
eClass("collapse").addClass("collapsing")[e](0),this.transitioning=1;var f=function(){this.$element.removeClass("collapsing").addClass("in")[e]("auto"),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!a.support.transition)return f.call(this);var g=a.camelCase(["scroll",e].join("-"));this.$element.one(a.support.transition.end,a.proxy(f,this)).emulateTransitionEnd(350)[e](this.$element[0][g])}}},b.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var b=a.Event("hide.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.dimension();this.$element[c](this.$element[c]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse").removeClass("in"),this.transitioning=1;var d=function(){this.transitioning=0,this.$element.trigger("hidden.bs.collapse").removeClass("collapsing").addClass("collapse")};return a.support.transition?(this.$element[c](0).one(a.support.transition.end,a.proxy(d,this)).emulateTra
nsitionEnd(350),void 0):d.call(this)}}},b.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()};var c=a.fn.collapse;a.fn.collapse=function(c){return this.each(function(){var d=a(this),e=d.data("bs.collapse"),f=a.extend({},b.DEFAULTS,d.data(),"object"==typeof c&&c);e||d.data("bs.collapse",e=new b(this,f)),"string"==typeof c&&e[c]()})},a.fn.collapse.Constructor=b,a.fn.collapse.noConflict=function(){return a.fn.collapse=c,this},a(document).on("click.bs.collapse.data-api","[data-toggle=collapse]",function(b){var c,d=a(this),e=d.attr("data-target")||b.preventDefault()||(c=d.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,""),f=a(e),g=f.data("bs.collapse"),h=g?"toggle":d.data(),i=d.attr("data-parent"),j=i&&a(i);g&&g.transitioning||(j&&j.find('[data-toggle=collapse][data-parent="'+i+'"]').not(d).addClass("collapsed"),d[f.hasClass("in")?"addClass":"removeClass"]("collapsed")),f.collapse(h)})}(jQuery),+function(a){"use strict";function b(){a(d).remove(),a(e).each(function
(b){var d=c(a(this));d.hasClass("open")&&(d.trigger(b=a.Event("hide.bs.dropdown")),b.isDefaultPrevented()||d.removeClass("open").trigger("hidden.bs.dropdown"))})}function c(b){var c=b.attr("data-target");c||(c=b.attr("href"),c=c&&/#/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,""));var d=c&&a(c);return d&&d.length?d:b.parent()}var d=".dropdown-backdrop",e="[data-toggle=dropdown]",f=function(b){a(b).on("click.bs.dropdown",this.toggle)};f.prototype.toggle=function(d){var e=a(this);if(!e.is(".disabled, :disabled")){var f=c(e),g=f.hasClass("open");if(b(),!g){if("ontouchstart"in document.documentElement&&!f.closest(".navbar-nav").length&&a('<div class="dropdown-backdrop"/>').insertAfter(a(this)).on("click",b),f.trigger(d=a.Event("show.bs.dropdown")),d.isDefaultPrevented())return;f.toggleClass("open").trigger("shown.bs.dropdown"),e.focus()}return!1}},f.prototype.keydown=function(b){if(/(38|40|27)/.test(b.keyCode)){var d=a(this);if(b.preventDefault(),b.stopPropagation(),!d.is(".disabled, :disabled
")){var f=c(d),g=f.hasClass("open");if(!g||g&&27==b.keyCode)return 27==b.which&&f.find(e).focus(),d.click();var h=a("[role=menu] li:not(.divider):visible a",f);if(h.length){var i=h.index(h.filter(":focus"));38==b.keyCode&&i>0&&i--,40==b.keyCode&&i<h.length-1&&i++,~i||(i=0),h.eq(i).focus()}}}};var g=a.fn.dropdown;a.fn.dropdown=function(b){return this.each(function(){var c=a(this),d=c.data("bs.dropdown");d||c.data("bs.dropdown",d=new f(this)),"string"==typeof b&&d[b].call(c)})},a.fn.dropdown.Constructor=f,a.fn.dropdown.noConflict=function(){return a.fn.dropdown=g,this},a(document).on("click.bs.dropdown.data-api",b).on("click.bs.dropdown.data-api",".dropdown form",function(a){a.stopPropagation()}).on("click.bs.dropdown.data-api",e,f.prototype.toggle).on("keydown.bs.dropdown.data-api",e+", [role=menu]",f.prototype.keydown)}(jQuery),+function(a){"use strict";var b=function(b,c){this.options=c,this.$element=a(b),this.$backdrop=this.isShown=null,this.options.remote&&this.$element.load(this
.options.remote)};b.DEFAULTS={backdrop:!0,keyboard:!0,show:!0},b.prototype.toggle=function(a){return this[this.isShown?"hide":"show"](a)},b.prototype.show=function(b){var c=this,d=a.Event("show.bs.modal",{relatedTarget:b});this.$element.trigger(d),this.isShown||d.isDefaultPrevented()||(this.isShown=!0,this.escape(),this.$element.on("click.dismiss.modal",'[data-dismiss="modal"]',a.proxy(this.hide,this)),this.backdrop(function(){var d=a.support.transition&&c.$element.hasClass("fade");c.$element.parent().length||c.$element.appendTo(document.body),c.$element.show(),d&&c.$element[0].offsetWidth,c.$element.addClass("in").attr("aria-hidden",!1),c.enforceFocus();var e=a.Event("shown.bs.modal",{relatedTarget:b});d?c.$element.find(".modal-dialog").one(a.support.transition.end,function(){c.$element.focus().trigger(e)}).emulateTransitionEnd(300):c.$element.focus().trigger(e)}))},b.prototype.hide=function(b){b&&b.preventDefault(),b=a.Event("hide.bs.modal"),this.$element.trigger(b),this.isShown&&
!b.isDefaultPrevented()&&(this.isShown=!1,this.escape(),a(document).off("focusin.bs.modal"),this.$element.removeClass("in").attr("aria-hidden",!0).off("click.dismiss.modal"),a.support.transition&&this.$element.hasClass("fade")?this.$element.one(a.support.transition.end,a.proxy(this.hideModal,this)).emulateTransitionEnd(300):this.hideModal())},b.prototype.enforceFocus=function(){a(document).off("focusin.bs.modal").on("focusin.bs.modal",a.proxy(function(a){this.$element[0]===a.target||this.$element.has(a.target).length||this.$element.focus()},this))},b.prototype.escape=function(){this.isShown&&this.options.keyboard?this.$element.on("keyup.dismiss.bs.modal",a.proxy(function(a){27==a.which&&this.hide()},this)):this.isShown||this.$element.off("keyup.dismiss.bs.modal")},b.prototype.hideModal=function(){var a=this;this.$element.hide(),this.backdrop(function(){a.removeBackdrop(),a.$element.trigger("hidden.bs.modal")})},b.prototype.removeBackdrop=function(){this.$backdrop&&this.$backdrop.rem
ove(),this.$backdrop=null},b.prototype.backdrop=function(b){var c=this.$element.hasClass("fade")?"fade":"";if(this.isShown&&this.options.backdrop){var d=a.support.transition&&c;if(this.$backdrop=a('<div class="modal-backdrop '+c+'" />').appendTo(document.body),this.$element.on("click.dismiss.modal",a.proxy(function(a){a.target===a.currentTarget&&("static"==this.options.backdrop?this.$element[0].focus.call(this.$element[0]):this.hide.call(this))},this)),d&&this.$backdrop[0].offsetWidth,this.$backdrop.addClass("in"),!b)return;d?this.$backdrop.one(a.support.transition.end,b).emulateTransitionEnd(150):b()}else!this.isShown&&this.$backdrop?(this.$backdrop.removeClass("in"),a.support.transition&&this.$element.hasClass("fade")?this.$backdrop.one(a.support.transition.end,b).emulateTransitionEnd(150):b()):b&&b()};var c=a.fn.modal;a.fn.modal=function(c,d){return this.each(function(){var e=a(this),f=e.data("bs.modal"),g=a.extend({},b.DEFAULTS,e.data(),"object"==typeof c&&c);f||e.data("bs.modal
",f=new b(this,g)),"string"==typeof c?f[c](d):g.show&&f.show(d)})},a.fn.modal.Constructor=b,a.fn.modal.noConflict=function(){return a.fn.modal=c,this},a(document).on("click.bs.modal.data-api",'[data-toggle="modal"]',function(b){var c=a(this),d=c.attr("href"),e=a(c.attr("data-target")||d&&d.replace(/.*(?=#[^\s]+$)/,"")),f=e.data("modal")?"toggle":a.extend({remote:!/#/.test(d)&&d},e.data(),c.data());b.preventDefault(),e.modal(f,this).one("hide",function(){c.is(":visible")&&c.focus()})}),a(document).on("show.bs.modal",".modal",function(){a(document.body).addClass("modal-open")}).on("hidden.bs.modal",".modal",function(){a(document.body).removeClass("modal-open")})}(jQuery),+function(a){"use strict";var b=function(a,b){this.type=this.options=this.enabled=this.timeout=this.hoverState=this.$element=null,this.init("tooltip",a,b)};b.DEFAULTS={animation:!0,placement:"top",selector:!1,template:'<div class="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigg
er:"hover focus",title:"",delay:0,html:!1,container:!1},b.prototype.init=function(b,c,d){this.enabled=!0,this.type=b,this.$element=a(c),this.options=this.getOptions(d);for(var e=this.options.trigger.split(" "),f=e.length;f--;){var g=e[f];if("click"==g)this.$element.on("click."+this.type,this.options.selector,a.proxy(this.toggle,this));else if("manual"!=g){var h="hover"==g?"mouseenter":"focus",i="hover"==g?"mouseleave":"blur";this.$element.on(h+"."+this.type,this.options.selector,a.proxy(this.enter,this)),this.$element.on(i+"."+this.type,this.options.selector,a.proxy(this.leave,this))}}this.options.selector?this._options=a.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},b.prototype.getDefaults=function(){return b.DEFAULTS},b.prototype.getOptions=function(b){return b=a.extend({},this.getDefaults(),this.$element.data(),b),b.delay&&"number"==typeof b.delay&&(b.delay={show:b.delay,hide:b.delay}),b},b.prototype.getDelegateOptions=function(){var b={},c=this.getDefau
lts();return this._options&&a.each(this._options,function(a,d){c[a]!=d&&(b[a]=d)}),b},b.prototype.enter=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget)[this.type](this.getDelegateOptions()).data("bs."+this.type);return clearTimeout(c.timeout),c.hoverState="in",c.options.delay&&c.options.delay.show?(c.timeout=setTimeout(function(){"in"==c.hoverState&&c.show()},c.options.delay.show),void 0):c.show()},b.prototype.leave=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget)[this.type](this.getDelegateOptions()).data("bs."+this.type);return clearTimeout(c.timeout),c.hoverState="out",c.options.delay&&c.options.delay.hide?(c.timeout=setTimeout(function(){"out"==c.hoverState&&c.hide()},c.options.delay.hide),void 0):c.hide()},b.prototype.show=function(){var b=a.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){if(this.$element.trigger(b),b.isDefaultPrevented())return;var c=this.tip();this.setContent(),this.options.animation&&c.addClass("fade")
;var d="function"==typeof this.options.placement?this.options.placement.call(this,c[0],this.$element[0]):this.options.placement,e=/\s?auto?\s?/i,f=e.test(d);f&&(d=d.replace(e,"")||"top"),c.detach().css({top:0,left:0,display:"block"}).addClass(d),this.options.container?c.appendTo(this.options.container):c.insertAfter(this.$element);var g=this.getPosition(),h=c[0].offsetWidth,i=c[0].offsetHeight;if(f){var j=this.$element.parent(),k=d,l=document.documentElement.scrollTop||document.body.scrollTop,m="body"==this.options.container?window.innerWidth:j.outerWidth(),n="body"==this.options.container?window.innerHeight:j.outerHeight(),o="body"==this.options.container?0:j.offset().left;d="bottom"==d&&g.top+g.height+i-l>n?"top":"top"==d&&g.top-l-i<0?"bottom":"right"==d&&g.right+h>m?"left":"left"==d&&g.left-h<o?"right":d,c.removeClass(k).addClass(d)}var p=this.getCalculatedOffset(d,g,h,i);this.applyPlacement(p,d),this.$element.trigger("shown.bs."+this.type)}},b.prototype.applyPlacement=function(a
,b){var c,d=this.tip(),e=d[0].offsetWidth,f=d[0].offsetHeight,g=parseInt(d.css("margin-top"),10),h=parseInt(d.css("margin-left"),10);isNaN(g)&&(g=0),isNaN(h)&&(h=0),a.top=a.top+g,a.left=a.left+h,d.offset(a).addClass("in");var i=d[0].offsetWidth,j=d[0].offsetHeight;if("top"==b&&j!=f&&(c=!0,a.top=a.top+f-j),/bottom|top/.test(b)){var k=0;a.left<0&&(k=-2*a.left,a.left=0,d.offset(a),i=d[0].offsetWidth,j=d[0].offsetHeight),this.replaceArrow(k-e+i,i,"left")}else this.replaceArrow(j-f,j,"top");c&&d.offset(a)},b.prototype.replaceArrow=function(a,b,c){this.arrow().css(c,a?50*(1-a/b)+"%":"")},b.prototype.setContent=function(){var a=this.tip(),b=this.getTitle();a.find(".tooltip-inner")[this.options.html?"html":"text"](b),a.removeClass("fade in top bottom left right")},b.prototype.hide=function(){function b(){"in"!=c.hoverState&&d.detach()}var c=this,d=this.tip(),e=a.Event("hide.bs."+this.type);return this.$element.trigger(e),e.isDefaultPrevented()?void 0:(d.removeClass("in"),a.support.transitio
n&&this.$tip.hasClass("fade")?d.one(a.support.transition.end,b).emulateTransitionEnd(150):b(),this.$element.trigger("hidden.bs."+this.type),this)},b.prototype.fixTitle=function(){var a=this.$element;(a.attr("title")||"string"!=typeof a.attr("data-original-title"))&&a.attr("data-original-title",a.attr("title")||"").attr("title","")},b.prototype.hasContent=function(){return this.getTitle()},b.prototype.getPosition=function(){var b=this.$element[0];return a.extend({},"function"==typeof b.getBoundingClientRect?b.getBoundingClientRect():{width:b.offsetWidth,height:b.offsetHeight},this.$element.offset())},b.prototype.getCalculatedOffset=function(a,b,c,d){return"bottom"==a?{top:b.top+b.height,left:b.left+b.width/2-c/2}:"top"==a?{top:b.top-d,left:b.left+b.width/2-c/2}:"left"==a?{top:b.top+b.height/2-d/2,left:b.left-c}:{top:b.top+b.height/2-d/2,left:b.left+b.width}},b.prototype.getTitle=function(){var a,b=this.$element,c=this.options;return a=b.attr("data-original-title")||("function"==typeo
f c.title?c.title.call(b[0]):c.title)},b.prototype.tip=function(){return this.$tip=this.$tip||a(this.options.template)},b.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},b.prototype.validate=function(){this.$element[0].parentNode||(this.hide(),this.$element=null,this.options=null)},b.prototype.enable=function(){this.enabled=!0},b.prototype.disable=function(){this.enabled=!1},b.prototype.toggleEnabled=function(){this.enabled=!this.enabled},b.prototype.toggle=function(b){var c=b?a(b.currentTarget)[this.type](this.getDelegateOptions()).data("bs."+this.type):this;c.tip().hasClass("in")?c.leave(c):c.enter(c)},b.prototype.destroy=function(){this.hide().$element.off("."+this.type).removeData("bs."+this.type)};var c=a.fn.tooltip;a.fn.tooltip=function(c){return this.each(function(){var d=a(this),e=d.data("bs.tooltip"),f="object"==typeof c&&c;e||d.data("bs.tooltip",e=new b(this,f)),"string"==typeof c&&e[c]()})},a.fn.tooltip.Constructor=b,a.fn.tool
tip.noConflict=function(){return a.fn.tooltip=c,this}}(jQuery),+function(a){"use strict";var b=function(a,b){this.init("popover",a,b)};if(!a.fn.tooltip)throw new Error("Popover requires tooltip.js");b.DEFAULTS=a.extend({},a.fn.tooltip.Constructor.DEFAULTS,{placement:"right",trigger:"click",content:"",template:'<div class="popover"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'}),b.prototype=a.extend({},a.fn.tooltip.Constructor.prototype),b.prototype.constructor=b,b.prototype.getDefaults=function(){return b.DEFAULTS},b.prototype.setContent=function(){var a=this.tip(),b=this.getTitle(),c=this.getContent();a.find(".popover-title")[this.options.html?"html":"text"](b),a.find(".popover-content")[this.options.html?"html":"text"](c),a.removeClass("fade top bottom left right in"),a.find(".popover-title").html()||a.find(".popover-title").hide()},b.prototype.hasContent=function(){return this.getTitle()||this.getContent()},b.prototype.getConte
nt=function(){var a=this.$element,b=this.options;return a.attr("data-content")||("function"==typeof b.content?b.content.call(a[0]):b.content)},b.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")},b.prototype.tip=function(){return this.$tip||(this.$tip=a(this.options.template)),this.$tip};var c=a.fn.popover;a.fn.popover=function(c){return this.each(function(){var d=a(this),e=d.data("bs.popover"),f="object"==typeof c&&c;e||d.data("bs.popover",e=new b(this,f)),"string"==typeof c&&e[c]()})},a.fn.popover.Constructor=b,a.fn.popover.noConflict=function(){return a.fn.popover=c,this}}(jQuery),+function(a){"use strict";function b(c,d){var e,f=a.proxy(this.process,this);this.$element=a(c).is("body")?a(window):a(c),this.$body=a("body"),this.$scrollElement=this.$element.on("scroll.bs.scroll-spy.data-api",f),this.options=a.extend({},b.DEFAULTS,d),this.selector=(this.options.target||(e=a(c).attr("href"))&&e.replace(/.*(?=#[^\s]+$)/,"")||"")+" .nav li > a",this.of
fsets=a([]),this.targets=a([]),this.activeTarget=null,this.refresh(),this.process()}b.DEFAULTS={offset:10},b.prototype.refresh=function(){var b=this.$element[0]==window?"offset":"position";this.offsets=a([]),this.targets=a([]);var c=this;this.$body.find(this.selector).map(function(){var d=a(this),e=d.data("target")||d.attr("href"),f=/^#\w/.test(e)&&a(e);return f&&f.length&&[[f[b]().top+(!a.isWindow(c.$scrollElement.get(0))&&c.$scrollElement.scrollTop()),e]]||null}).sort(function(a,b){return a[0]-b[0]}).each(function(){c.offsets.push(this[0]),c.targets.push(this[1])})},b.prototype.process=function(){var a,b=this.$scrollElement.scrollTop()+this.options.offset,c=this.$scrollElement[0].scrollHeight||this.$body[0].scrollHeight,d=c-this.$scrollElement.height(),e=this.offsets,f=this.targets,g=this.activeTarget;if(b>=d)return g!=(a=f.last()[0])&&this.activate(a);for(a=e.length;a--;)g!=f[a]&&b>=e[a]&&(!e[a+1]||b<=e[a+1])&&this.activate(f[a])},b.prototype.activate=function(b){this.activeTarge
t=b,a(this.selector).parents(".active").removeClass("active");var c=this.selector+'[data-target="'+b+'"],'+this.selector+'[href="'+b+'"]',d=a(c).parents("li").addClass("active");d.parent(".dropdown-menu").length&&(d=d.closest("li.dropdown").addClass("active")),d.trigger("activate.bs.scrollspy")};var c=a.fn.scrollspy;a.fn.scrollspy=function(c){return this.each(function(){var d=a(this),e=d.data("bs.scrollspy"),f="object"==typeof c&&c;e||d.data("bs.scrollspy",e=new b(this,f)),"string"==typeof c&&e[c]()})},a.fn.scrollspy.Constructor=b,a.fn.scrollspy.noConflict=function(){return a.fn.scrollspy=c,this},a(window).on("load",function(){a('[data-spy="scroll"]').each(function(){var b=a(this);b.scrollspy(b.data())})})}(jQuery),+function(a){"use strict";var b=function(b){this.element=a(b)};b.prototype.show=function(){var b=this.element,c=b.closest("ul:not(.dropdown-menu)"),d=b.data("target");if(d||(d=b.attr("href"),d=d&&d.replace(/.*(?=#[^\s]*$)/,"")),!b.parent("li").hasClass("active")){var e=c.
find(".active:last a")[0],f=a.Event("show.bs.tab",{relatedTarget:e});if(b.trigger(f),!f.isDefaultPrevented()){var g=a(d);this.activate(b.parent("li"),c),this.activate(g,g.parent(),function(){b.trigger({type:"shown.bs.tab",relatedTarget:e})})}}},b.prototype.activate=function(b,c,d){function e(){f.removeClass("active").find("> .dropdown-menu > .active").removeClass("active"),b.addClass("active"),g?(b[0].offsetWidth,b.addClass("in")):b.removeClass("fade"),b.parent(".dropdown-menu")&&b.closest("li.dropdown").addClass("active"),d&&d()}var f=c.find("> .active"),g=d&&a.support.transition&&f.hasClass("fade");g?f.one(a.support.transition.end,e).emulateTransitionEnd(150):e(),f.removeClass("in")};var c=a.fn.tab;a.fn.tab=function(c){return this.each(function(){var d=a(this),e=d.data("bs.tab");e||d.data("bs.tab",e=new b(this)),"string"==typeof c&&e[c]()})},a.fn.tab.Constructor=b,a.fn.tab.noConflict=function(){return a.fn.tab=c,this},a(document).on("click.bs.tab.data-api",'[data-toggle="tab"], [d
ata-toggle="pill"]',function(b){b.preventDefault(),a(this).tab("show")})}(jQuery),+function(a){"use strict";var b=function(c,d){this.options=a.extend({},b.DEFAULTS,d),this.$window=a(window).on("scroll.bs.affix.data-api",a.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",a.proxy(this.checkPositionWithEventLoop,this)),this.$element=a(c),this.affixed=this.unpin=null,this.checkPosition()};b.RESET="affix affix-top affix-bottom",b.DEFAULTS={offset:0},b.prototype.checkPositionWithEventLoop=function(){setTimeout(a.proxy(this.checkPosition,this),1)},b.prototype.checkPosition=function(){if(this.$element.is(":visible")){var c=a(document).height(),d=this.$window.scrollTop(),e=this.$element.offset(),f=this.options.offset,g=f.top,h=f.bottom;"object"!=typeof f&&(h=g=f),"function"==typeof g&&(g=f.top()),"function"==typeof h&&(h=f.bottom());var i=null!=this.unpin&&d+this.unpin<=e.top?!1:null!=h&&e.top+this.$element.height()>=c-h?"bottom":null!=g&&g>=d?"top":!1;this.affixed!==i&&(this.unp
in&&this.$element.css("top",""),this.affixed=i,this.unpin="bottom"==i?e.top-d:null,this.$element.removeClass(b.RESET).addClass("affix"+(i?"-"+i:"")),"bottom"==i&&this.$element.offset({top:document.body.offsetHeight-h-this.$element.height()}))}};var c=a.fn.affix;a.fn.affix=function(c){return this.each(function(){var d=a(this),e=d.data("bs.affix"),f="object"==typeof c&&c;e||d.data("bs.affix",e=new b(this,f)),"string"==typeof c&&e[c]()})},a.fn.affix.Constructor=b,a.fn.affix.noConflict=function(){return a.fn.affix=c,this},a(window).on("load",function(){a('[data-spy="affix"]').each(function(){var b=a(this),c=b.data();c.offset=c.offset||{},c.offsetBottom&&(c.offset.bottom=c.offsetBottom),c.offsetTop&&(c.offset.top=c.offsetTop),b.affix(c)})})}(jQuery);
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/assets/themes/mahout3/css/bootstrap-theme.min.css
----------------------------------------------------------------------
diff --git a/website-old/assets/themes/mahout3/css/bootstrap-theme.min.css b/website-old/assets/themes/mahout3/css/bootstrap-theme.min.css
deleted file mode 100644
index c7b6d39..0000000
--- a/website-old/assets/themes/mahout3/css/bootstrap-theme.min.css
+++ /dev/null
@@ -1,7 +0,0 @@
-/*!
- * Bootstrap v3.0.3 (http://getbootstrap.com)
- * Copyright 2013 Twitter, Inc.
- * Licensed under http://www.apache.org/licenses/LICENSE-2.0
- */
-
-.btn-default,.btn-primary,.btn-success,.btn-info,.btn-warning,.btn-danger{text-shadow:0 -1px 0 rgba(0,0,0,0.2);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.15),0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 0 rgba(255,255,255,0.15),0 1px 1px rgba(0,0,0,0.075)}.btn-default:active,.btn-primary:active,.btn-success:active,.btn-info:active,.btn-warning:active,.btn-danger:active,.btn-default.active,.btn-primary.active,.btn-success.active,.btn-info.active,.btn-warning.active,.btn-danger.active{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.btn:active,.btn.active{background-image:none}.btn-default{text-shadow:0 1px 0 #fff;background-image:-webkit-linear-gradient(top,#fff 0,#e0e0e0 100%);background-image:linear-gradient(to bottom,#fff 0,#e0e0e0 100%);background-repeat:repeat-x;border-color:#dbdbdb;border-color:#ccc;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff',endColorstr='#ffe0e0e0',GradientType=0);
filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-default:hover,.btn-default:focus{background-color:#e0e0e0;background-position:0 -15px}.btn-default:active,.btn-default.active{background-color:#e0e0e0;border-color:#dbdbdb}.btn-primary{background-image:-webkit-linear-gradient(top,#428bca 0,#2d6ca2 100%);background-image:linear-gradient(to bottom,#428bca 0,#2d6ca2 100%);background-repeat:repeat-x;border-color:#2b669a;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca',endColorstr='#ff2d6ca2',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-primary:hover,.btn-primary:focus{background-color:#2d6ca2;background-position:0 -15px}.btn-primary:active,.btn-primary.active{background-color:#2d6ca2;border-color:#2b669a}.btn-success{background-image:-webkit-linear-gradient(top,#5cb85c 0,#419641 100%);background-image:linear-gradient(to bottom,#5cb85c 0,#419641 100%);background-repeat:repeat-x;border-color:#3e8f3e;fil
ter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c',endColorstr='#ff419641',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-success:hover,.btn-success:focus{background-color:#419641;background-position:0 -15px}.btn-success:active,.btn-success.active{background-color:#419641;border-color:#3e8f3e}.btn-warning{background-image:-webkit-linear-gradient(top,#f0ad4e 0,#eb9316 100%);background-image:linear-gradient(to bottom,#f0ad4e 0,#eb9316 100%);background-repeat:repeat-x;border-color:#e38d13;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e',endColorstr='#ffeb9316',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-warning:hover,.btn-warning:focus{background-color:#eb9316;background-position:0 -15px}.btn-warning:active,.btn-warning.active{background-color:#eb9316;border-color:#e38d13}.btn-danger{background-image:-webkit-linear-gradient(top,#d9534f 0,#c12e2a 100%);backgr
ound-image:linear-gradient(to bottom,#d9534f 0,#c12e2a 100%);background-repeat:repeat-x;border-color:#b92c28;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f',endColorstr='#ffc12e2a',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-danger:hover,.btn-danger:focus{background-color:#c12e2a;background-position:0 -15px}.btn-danger:active,.btn-danger.active{background-color:#c12e2a;border-color:#b92c28}.btn-info{background-image:-webkit-linear-gradient(top,#5bc0de 0,#2aabd2 100%);background-image:linear-gradient(to bottom,#5bc0de 0,#2aabd2 100%);background-repeat:repeat-x;border-color:#28a4c9;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de',endColorstr='#ff2aabd2',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-info:hover,.btn-info:focus{background-color:#2aabd2;background-position:0 -15px}.btn-info:active,.btn-info.active{background-color:#2aabd2;border-color:#2
8a4c9}.thumbnail,.img-thumbnail{-webkit-box-shadow:0 1px 2px rgba(0,0,0,0.075);box-shadow:0 1px 2px rgba(0,0,0,0.075)}.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus{background-color:#e8e8e8;background-image:-webkit-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:linear-gradient(to bottom,#f5f5f5 0,#e8e8e8 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5',endColorstr='#ffe8e8e8',GradientType=0)}.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus{background-color:#357ebd;background-image:-webkit-linear-gradient(top,#428bca 0,#357ebd 100%);background-image:linear-gradient(to bottom,#428bca 0,#357ebd 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca',endColorstr='#ff357ebd',GradientType=0)}.navbar-default{background-image:-webkit-linear-gradient(top,#fff 0,#f8f8f8 100%);background-image:linear-gradient(to bottom,#fff 0,
#f8f8f8 100%);background-repeat:repeat-x;border-radius:4px;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff',endColorstr='#fff8f8f8',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.15),0 1px 5px rgba(0,0,0,0.075);box-shadow:inset 0 1px 0 rgba(255,255,255,0.15),0 1px 5px rgba(0,0,0,0.075)}.navbar-default .navbar-nav>.active>a{background-image:-webkit-linear-gradient(top,#ebebeb 0,#f3f3f3 100%);background-image:linear-gradient(to bottom,#ebebeb 0,#f3f3f3 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb',endColorstr='#fff3f3f3',GradientType=0);-webkit-box-shadow:inset 0 3px 9px rgba(0,0,0,0.075);box-shadow:inset 0 3px 9px rgba(0,0,0,0.075)}.navbar-brand,.navbar-nav>li>a{text-shadow:0 1px 0 rgba(255,255,255,0.25)}.navbar-inverse{background-image:-webkit-linear-gradient(top,#3c3c3c 0,#222 100%);background-image:linear-gr
adient(to bottom,#3c3c3c 0,#222 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c',endColorstr='#ff222222',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.navbar-inverse .navbar-nav>.active>a{background-image:-webkit-linear-gradient(top,#222 0,#282828 100%);background-image:linear-gradient(to bottom,#222 0,#282828 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff222222',endColorstr='#ff282828',GradientType=0);-webkit-box-shadow:inset 0 3px 9px rgba(0,0,0,0.25);box-shadow:inset 0 3px 9px rgba(0,0,0,0.25)}.navbar-inverse .navbar-brand,.navbar-inverse .navbar-nav>li>a{text-shadow:0 -1px 0 rgba(0,0,0,0.25)}.navbar-static-top,.navbar-fixed-top,.navbar-fixed-bottom{border-radius:0}.alert{text-shadow:0 1px 0 rgba(255,255,255,0.2);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.25),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 0 1px 0 rgba(255,255
,255,0.25),0 1px 2px rgba(0,0,0,0.05)}.alert-success{background-image:-webkit-linear-gradient(top,#dff0d8 0,#c8e5bc 100%);background-image:linear-gradient(to bottom,#dff0d8 0,#c8e5bc 100%);background-repeat:repeat-x;border-color:#b2dba1;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8',endColorstr='#ffc8e5bc',GradientType=0)}.alert-info{background-image:-webkit-linear-gradient(top,#d9edf7 0,#b9def0 100%);background-image:linear-gradient(to bottom,#d9edf7 0,#b9def0 100%);background-repeat:repeat-x;border-color:#9acfea;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7',endColorstr='#ffb9def0',GradientType=0)}.alert-warning{background-image:-webkit-linear-gradient(top,#fcf8e3 0,#f8efc0 100%);background-image:linear-gradient(to bottom,#fcf8e3 0,#f8efc0 100%);background-repeat:repeat-x;border-color:#f5e79e;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3',endColorstr='#fff8efc0',GradientType=0)}.alert-danger{bac
kground-image:-webkit-linear-gradient(top,#f2dede 0,#e7c3c3 100%);background-image:linear-gradient(to bottom,#f2dede 0,#e7c3c3 100%);background-repeat:repeat-x;border-color:#dca7a7;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede',endColorstr='#ffe7c3c3',GradientType=0)}.progress{background-image:-webkit-linear-gradient(top,#ebebeb 0,#f5f5f5 100%);background-image:linear-gradient(to bottom,#ebebeb 0,#f5f5f5 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb',endColorstr='#fff5f5f5',GradientType=0)}.progress-bar{background-image:-webkit-linear-gradient(top,#428bca 0,#3071a9 100%);background-image:linear-gradient(to bottom,#428bca 0,#3071a9 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca',endColorstr='#ff3071a9',GradientType=0)}.progress-bar-success{background-image:-webkit-linear-gradient(top,#5cb85c 0,#449d44 100%);background-image:linear-gra
dient(to bottom,#5cb85c 0,#449d44 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c',endColorstr='#ff449d44',GradientType=0)}.progress-bar-info{background-image:-webkit-linear-gradient(top,#5bc0de 0,#31b0d5 100%);background-image:linear-gradient(to bottom,#5bc0de 0,#31b0d5 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de',endColorstr='#ff31b0d5',GradientType=0)}.progress-bar-warning{background-image:-webkit-linear-gradient(top,#f0ad4e 0,#ec971f 100%);background-image:linear-gradient(to bottom,#f0ad4e 0,#ec971f 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e',endColorstr='#ffec971f',GradientType=0)}.progress-bar-danger{background-image:-webkit-linear-gradient(top,#d9534f 0,#c9302c 100%);background-image:linear-gradient(to bottom,#d9534f 0,#c9302c 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.
Microsoft.gradient(startColorstr='#ffd9534f',endColorstr='#ffc9302c',GradientType=0)}.list-group{border-radius:4px;-webkit-box-shadow:0 1px 2px rgba(0,0,0,0.075);box-shadow:0 1px 2px rgba(0,0,0,0.075)}.list-group-item.active,.list-group-item.active:hover,.list-group-item.active:focus{text-shadow:0 -1px 0 #3071a9;background-image:-webkit-linear-gradient(top,#428bca 0,#3278b3 100%);background-image:linear-gradient(to bottom,#428bca 0,#3278b3 100%);background-repeat:repeat-x;border-color:#3278b3;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca',endColorstr='#ff3278b3',GradientType=0)}.panel{-webkit-box-shadow:0 1px 2px rgba(0,0,0,0.05);box-shadow:0 1px 2px rgba(0,0,0,0.05)}.panel-default>.panel-heading{background-image:-webkit-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:linear-gradient(to bottom,#f5f5f5 0,#e8e8e8 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5',endColorstr='#ffe8e8e8'
,GradientType=0)}.panel-primary>.panel-heading{background-image:-webkit-linear-gradient(top,#428bca 0,#357ebd 100%);background-image:linear-gradient(to bottom,#428bca 0,#357ebd 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca',endColorstr='#ff357ebd',GradientType=0)}.panel-success>.panel-heading{background-image:-webkit-linear-gradient(top,#dff0d8 0,#d0e9c6 100%);background-image:linear-gradient(to bottom,#dff0d8 0,#d0e9c6 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8',endColorstr='#ffd0e9c6',GradientType=0)}.panel-info>.panel-heading{background-image:-webkit-linear-gradient(top,#d9edf7 0,#c4e3f3 100%);background-image:linear-gradient(to bottom,#d9edf7 0,#c4e3f3 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7',endColorstr='#ffc4e3f3',GradientType=0)}.panel-warning>.panel-heading{background-image:-webkit-l
inear-gradient(top,#fcf8e3 0,#faf2cc 100%);background-image:linear-gradient(to bottom,#fcf8e3 0,#faf2cc 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3',endColorstr='#fffaf2cc',GradientType=0)}.panel-danger>.panel-heading{background-image:-webkit-linear-gradient(top,#f2dede 0,#ebcccc 100%);background-image:linear-gradient(to bottom,#f2dede 0,#ebcccc 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede',endColorstr='#ffebcccc',GradientType=0)}.well{background-image:-webkit-linear-gradient(top,#e8e8e8 0,#f5f5f5 100%);background-image:linear-gradient(to bottom,#e8e8e8 0,#f5f5f5 100%);background-repeat:repeat-x;border-color:#dcdcdc;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8',endColorstr='#fff5f5f5',GradientType=0);-webkit-box-shadow:inset 0 1px 3px rgba(0,0,0,0.05),0 1px 0 rgba(255,255,255,0.1);box-shadow:inset 0 1px 3px rgba(0,0,0,0.05),0 1p
x 0 rgba(255,255,255,0.1)}
\ No newline at end of file
a***@apache.org
2017-12-21 04:53:20 UTC
Permalink
Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/assets/img/mantle-mahout.png b/website-old/assets/img/mantle-mahout.png
deleted file mode 100644
index 9bd33da..0000000
Binary files a/website-old/assets/img/mantle-mahout.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/assets/img/screen.png b/website-old/assets/img/screen.png
deleted file mode 100644
index eb54507..0000000
Binary files a/website-old/assets/img/screen.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/assets/img/sgd-class-hierarchy.png b/website-old/assets/img/sgd-class-hierarchy.png
deleted file mode 100644
index 7d5364f..0000000
Binary files a/website-old/assets/img/sgd-class-hierarchy.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/assets/img/sidebar-original.png b/website-old/assets/img/sidebar-original.png
deleted file mode 100644
index 55ea78d..0000000
Binary files a/website-old/assets/img/sidebar-original.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/assets/img/sidebar.png b/website-old/assets/img/sidebar.png
deleted file mode 100644
index 37366aa..0000000
Binary files a/website-old/assets/img/sidebar.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/assets/img/taste-architecture.png b/website-old/assets/img/taste-architecture.png
deleted file mode 100644
index d2f23e0..0000000
Binary files a/website-old/assets/img/taste-architecture.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/assets/img/vector-class-hierarchy.png b/website-old/assets/img/vector-class-hierarchy.png
deleted file mode 100644
index 002626e..0000000
Binary files a/website-old/assets/img/vector-class-hierarchy.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/assets/img/wiki-bg.png b/website-old/assets/img/wiki-bg.png
deleted file mode 100644
index 73b65ae..0000000
Binary files a/website-old/assets/img/wiki-bg.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/assets/img/wiki-wrapper-original.png b/website-old/assets/img/wiki-wrapper-original.png
deleted file mode 100644
index 2d23ec0..0000000
Binary files a/website-old/assets/img/wiki-wrapper-original.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/assets/img/wiki-wrapper.png b/website-old/assets/img/wiki-wrapper.png
deleted file mode 100644
index d689225..0000000
Binary files a/website-old/assets/img/wiki-wrapper.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/assets/themes/mahout-retro/css/bootstrap-responsive.css
----------------------------------------------------------------------
diff --git a/website-old/assets/themes/mahout-retro/css/bootstrap-responsive.css b/website-old/assets/themes/mahout-retro/css/bootstrap-responsive.css
deleted file mode 100644
index eef0f59..0000000
--- a/website-old/assets/themes/mahout-retro/css/bootstrap-responsive.css
+++ /dev/null
@@ -1,1109 +0,0 @@
-/*!
- * Bootstrap Responsive v2.3.1
- *
- * Copyright 2012 Twitter, Inc
- * Licensed under the Apache License v2.0
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Designed and built with all the love in the world @twitter by @mdo and @fat.
- */
-
-.clearfix {
- *zoom: 1;
-}
-
-.clearfix:before,
-.clearfix:after {
- display: table;
- line-height: 0;
- content: "";
-}
-
-.clearfix:after {
- clear: both;
-}
-
-.hide-text {
- font: 0/0 a;
- color: transparent;
- text-shadow: none;
- background-color: transparent;
- border: 0;
-}
-
-.input-block-level {
- display: block;
- width: 100%;
- min-height: 30px;
- -webkit-box-sizing: border-box;
- -moz-box-sizing: border-box;
- box-sizing: border-box;
-}
-
-@-ms-viewport {
- width: device-width;
-}
-
-.hidden {
- display: none;
- visibility: hidden;
-}
-
-.visible-phone {
- display: none !important;
-}
-
-.visible-tablet {
- display: none !important;
-}
-
-.hidden-desktop {
- display: none !important;
-}
-
-.visible-desktop {
- display: inherit !important;
-}
-
-@media (min-width: 768px) and (max-width: 979px) {
- .hidden-desktop {
- display: inherit !important;
- }
- .visible-desktop {
- display: none !important ;
- }
- .visible-tablet {
- display: inherit !important;
- }
- .hidden-tablet {
- display: none !important;
- }
-}
-
-@media (max-width: 767px) {
- .hidden-desktop {
- display: inherit !important;
- }
- .visible-desktop {
- display: none !important;
- }
- .visible-phone {
- display: inherit !important;
- }
- .hidden-phone {
- display: none !important;
- }
-}
-
-.visible-print {
- display: none !important;
-}
-
-@media print {
- .visible-print {
- display: inherit !important;
- }
- .hidden-print {
- display: none !important;
- }
-}
-
-@media (min-width: 1200px) {
- .row {
- margin-left: -30px;
- *zoom: 1;
- }
- .row:before,
- .row:after {
- display: table;
- line-height: 0;
- content: "";
- }
- .row:after {
- clear: both;
- }
- [class*="span"] {
- float: left;
- min-height: 1px;
- margin-left: 30px;
- }
- .container,
- .navbar-static-top .container,
- .navbar-fixed-top .container,
- .navbar-fixed-bottom .container {
- width: 1170px;
- }
- .span12 {
- width: 1170px;
- }
- .span11 {
- width: 1070px;
- }
- .span10 {
- width: 970px;
- }
- .span9 {
- width: 870px;
- }
- .span8 {
- width: 770px;
- }
- .span7 {
- width: 670px;
- }
- .span6 {
- width: 570px;
- }
- .span5 {
- width: 470px;
- }
- .span4 {
- width: 370px;
- }
- .span3 {
- width: 270px;
- }
- .span2 {
- width: 170px;
- }
- .span1 {
- width: 70px;
- }
- .offset12 {
- margin-left: 1230px;
- }
- .offset11 {
- margin-left: 1130px;
- }
- .offset10 {
- margin-left: 1030px;
- }
- .offset9 {
- margin-left: 930px;
- }
- .offset8 {
- margin-left: 830px;
- }
- .offset7 {
- margin-left: 730px;
- }
- .offset6 {
- margin-left: 630px;
- }
- .offset5 {
- margin-left: 530px;
- }
- .offset4 {
- margin-left: 430px;
- }
- .offset3 {
- margin-left: 330px;
- }
- .offset2 {
- margin-left: 230px;
- }
- .offset1 {
- margin-left: 130px;
- }
- .row-fluid {
- width: 100%;
- *zoom: 1;
- }
- .row-fluid:before,
- .row-fluid:after {
- display: table;
- line-height: 0;
- content: "";
- }
- .row-fluid:after {
- clear: both;
- }
- .row-fluid [class*="span"] {
- display: block;
- float: left;
- width: 100%;
- min-height: 30px;
- margin-left: 2.564102564102564%;
- *margin-left: 2.5109110747408616%;
- -webkit-box-sizing: border-box;
- -moz-box-sizing: border-box;
- box-sizing: border-box;
- }
- .row-fluid [class*="span"]:first-child {
- margin-left: 0;
- }
- .row-fluid .controls-row [class*="span"] + [class*="span"] {
- margin-left: 2.564102564102564%;
- }
- .row-fluid .span12 {
- width: 100%;
- *width: 99.94680851063829%;
- }
- .row-fluid .span11 {
- width: 91.45299145299145%;
- *width: 91.39979996362975%;
- }
- .row-fluid .span10 {
- width: 82.90598290598291%;
- *width: 82.8527914166212%;
- }
- .row-fluid .span9 {
- width: 74.35897435897436%;
- *width: 74.30578286961266%;
- }
- .row-fluid .span8 {
- width: 65.81196581196582%;
- *width: 65.75877432260411%;
- }
- .row-fluid .span7 {
- width: 57.26495726495726%;
- *width: 57.21176577559556%;
- }
- .row-fluid .span6 {
- width: 48.717948717948715%;
- *width: 48.664757228587014%;
- }
- .row-fluid .span5 {
- width: 40.17094017094017%;
- *width: 40.11774868157847%;
- }
- .row-fluid .span4 {
- width: 31.623931623931625%;
- *width: 31.570740134569924%;
- }
- .row-fluid .span3 {
- width: 23.076923076923077%;
- *width: 23.023731587561375%;
- }
- .row-fluid .span2 {
- width: 14.52991452991453%;
- *width: 14.476723040552828%;
- }
- .row-fluid .span1 {
- width: 5.982905982905983%;
- *width: 5.929714493544281%;
- }
- .row-fluid .offset12 {
- margin-left: 105.12820512820512%;
- *margin-left: 105.02182214948171%;
- }
- .row-fluid .offset12:first-child {
- margin-left: 102.56410256410257%;
- *margin-left: 102.45771958537915%;
- }
- .row-fluid .offset11 {
- margin-left: 96.58119658119658%;
- *margin-left: 96.47481360247316%;
- }
- .row-fluid .offset11:first-child {
- margin-left: 94.01709401709402%;
- *margin-left: 93.91071103837061%;
- }
- .row-fluid .offset10 {
- margin-left: 88.03418803418803%;
- *margin-left: 87.92780505546462%;
- }
- .row-fluid .offset10:first-child {
- margin-left: 85.47008547008548%;
- *margin-left: 85.36370249136206%;
- }
- .row-fluid .offset9 {
- margin-left: 79.48717948717949%;
- *margin-left: 79.38079650845607%;
- }
- .row-fluid .offset9:first-child {
- margin-left: 76.92307692307693%;
- *margin-left: 76.81669394435352%;
- }
- .row-fluid .offset8 {
- margin-left: 70.94017094017094%;
- *margin-left: 70.83378796144753%;
- }
- .row-fluid .offset8:first-child {
- margin-left: 68.37606837606839%;
- *margin-left: 68.26968539734497%;
- }
- .row-fluid .offset7 {
- margin-left: 62.393162393162385%;
- *margin-left: 62.28677941443899%;
- }
- .row-fluid .offset7:first-child {
- margin-left: 59.82905982905982%;
- *margin-left: 59.72267685033642%;
- }
- .row-fluid .offset6 {
- margin-left: 53.84615384615384%;
- *margin-left: 53.739770867430444%;
- }
- .row-fluid .offset6:first-child {
- margin-left: 51.28205128205128%;
- *margin-left: 51.175668303327875%;
- }
- .row-fluid .offset5 {
- margin-left: 45.299145299145295%;
- *margin-left: 45.1927623204219%;
- }
- .row-fluid .offset5:first-child {
- margin-left: 42.73504273504273%;
- *margin-left: 42.62865975631933%;
- }
- .row-fluid .offset4 {
- margin-left: 36.75213675213675%;
- *margin-left: 36.645753773413354%;
- }
- .row-fluid .offset4:first-child {
- margin-left: 34.18803418803419%;
- *margin-left: 34.081651209310785%;
- }
- .row-fluid .offset3 {
- margin-left: 28.205128205128204%;
- *margin-left: 28.0987452264048%;
- }
- .row-fluid .offset3:first-child {
- margin-left: 25.641025641025642%;
- *margin-left: 25.53464266230224%;
- }
- .row-fluid .offset2 {
- margin-left: 19.65811965811966%;
- *margin-left: 19.551736679396257%;
- }
- .row-fluid .offset2:first-child {
- margin-left: 17.094017094017094%;
- *margin-left: 16.98763411529369%;
- }
- .row-fluid .offset1 {
- margin-left: 11.11111111111111%;
- *margin-left: 11.004728132387708%;
- }
- .row-fluid .offset1:first-child {
- margin-left: 8.547008547008547%;
- *margin-left: 8.440625568285142%;
- }
- input,
- textarea,
- .uneditable-input {
- margin-left: 0;
- }
- .controls-row [class*="span"] + [class*="span"] {
- margin-left: 30px;
- }
- input.span12,
- textarea.span12,
- .uneditable-input.span12 {
- width: 1156px;
- }
- input.span11,
- textarea.span11,
- .uneditable-input.span11 {
- width: 1056px;
- }
- input.span10,
- textarea.span10,
- .uneditable-input.span10 {
- width: 956px;
- }
- input.span9,
- textarea.span9,
- .uneditable-input.span9 {
- width: 856px;
- }
- input.span8,
- textarea.span8,
- .uneditable-input.span8 {
- width: 756px;
- }
- input.span7,
- textarea.span7,
- .uneditable-input.span7 {
- width: 656px;
- }
- input.span6,
- textarea.span6,
- .uneditable-input.span6 {
- width: 556px;
- }
- input.span5,
- textarea.span5,
- .uneditable-input.span5 {
- width: 456px;
- }
- input.span4,
- textarea.span4,
- .uneditable-input.span4 {
- width: 356px;
- }
- input.span3,
- textarea.span3,
- .uneditable-input.span3 {
- width: 256px;
- }
- input.span2,
- textarea.span2,
- .uneditable-input.span2 {
- width: 156px;
- }
- input.span1,
- textarea.span1,
- .uneditable-input.span1 {
- width: 56px;
- }
- .thumbnails {
- margin-left: -30px;
- }
- .thumbnails > li {
- margin-left: 30px;
- }
- .row-fluid .thumbnails {
- margin-left: 0;
- }
-}
-
-@media (min-width: 768px) and (max-width: 979px) {
- .row {
- margin-left: -20px;
- *zoom: 1;
- }
- .row:before,
- .row:after {
- display: table;
- line-height: 0;
- content: "";
- }
- .row:after {
- clear: both;
- }
- [class*="span"] {
- float: left;
- min-height: 1px;
- margin-left: 20px;
- }
- .container,
- .navbar-static-top .container,
- .navbar-fixed-top .container,
- .navbar-fixed-bottom .container {
- width: 724px;
- }
- .span12 {
- width: 724px;
- }
- .span11 {
- width: 662px;
- }
- .span10 {
- width: 600px;
- }
- .span9 {
- width: 538px;
- }
- .span8 {
- width: 476px;
- }
- .span7 {
- width: 414px;
- }
- .span6 {
- width: 352px;
- }
- .span5 {
- width: 290px;
- }
- .span4 {
- width: 228px;
- }
- .span3 {
- width: 166px;
- }
- .span2 {
- width: 104px;
- }
- .span1 {
- width: 42px;
- }
- .offset12 {
- margin-left: 764px;
- }
- .offset11 {
- margin-left: 702px;
- }
- .offset10 {
- margin-left: 640px;
- }
- .offset9 {
- margin-left: 578px;
- }
- .offset8 {
- margin-left: 516px;
- }
- .offset7 {
- margin-left: 454px;
- }
- .offset6 {
- margin-left: 392px;
- }
- .offset5 {
- margin-left: 330px;
- }
- .offset4 {
- margin-left: 268px;
- }
- .offset3 {
- margin-left: 206px;
- }
- .offset2 {
- margin-left: 144px;
- }
- .offset1 {
- margin-left: 82px;
- }
- .row-fluid {
- width: 100%;
- *zoom: 1;
- }
- .row-fluid:before,
- .row-fluid:after {
- display: table;
- line-height: 0;
- content: "";
- }
- .row-fluid:after {
- clear: both;
- }
- .row-fluid [class*="span"] {
- display: block;
- float: left;
- width: 100%;
- min-height: 30px;
- margin-left: 2.7624309392265194%;
- *margin-left: 2.709239449864817%;
- -webkit-box-sizing: border-box;
- -moz-box-sizing: border-box;
- box-sizing: border-box;
- }
- .row-fluid [class*="span"]:first-child {
- margin-left: 0;
- }
- .row-fluid .controls-row [class*="span"] + [class*="span"] {
- margin-left: 2.7624309392265194%;
- }
- .row-fluid .span12 {
- width: 100%;
- *width: 99.94680851063829%;
- }
- .row-fluid .span11 {
- width: 91.43646408839778%;
- *width: 91.38327259903608%;
- }
- .row-fluid .span10 {
- width: 82.87292817679558%;
- *width: 82.81973668743387%;
- }
- .row-fluid .span9 {
- width: 74.30939226519337%;
- *width: 74.25620077583166%;
- }
- .row-fluid .span8 {
- width: 65.74585635359117%;
- *width: 65.69266486422946%;
- }
- .row-fluid .span7 {
- width: 57.18232044198895%;
- *width: 57.12912895262725%;
- }
- .row-fluid .span6 {
- width: 48.61878453038674%;
- *width: 48.56559304102504%;
- }
- .row-fluid .span5 {
- width: 40.05524861878453%;
- *width: 40.00205712942283%;
- }
- .row-fluid .span4 {
- width: 31.491712707182323%;
- *width: 31.43852121782062%;
- }
- .row-fluid .span3 {
- width: 22.92817679558011%;
- *width: 22.87498530621841%;
- }
- .row-fluid .span2 {
- width: 14.3646408839779%;
- *width: 14.311449394616199%;
- }
- .row-fluid .span1 {
- width: 5.801104972375691%;
- *width: 5.747913483013988%;
- }
- .row-fluid .offset12 {
- margin-left: 105.52486187845304%;
- *margin-left: 105.41847889972962%;
- }
- .row-fluid .offset12:first-child {
- margin-left: 102.76243093922652%;
- *margin-left: 102.6560479605031%;
- }
- .row-fluid .offset11 {
- margin-left: 96.96132596685082%;
- *margin-left: 96.8549429881274%;
- }
- .row-fluid .offset11:first-child {
- margin-left: 94.1988950276243%;
- *margin-left: 94.09251204890089%;
- }
- .row-fluid .offset10 {
- margin-left: 88.39779005524862%;
- *margin-left: 88.2914070765252%;
- }
- .row-fluid .offset10:first-child {
- margin-left: 85.6353591160221%;
- *margin-left: 85.52897613729868%;
- }
- .row-fluid .offset9 {
- margin-left: 79.8342541436464%;
- *margin-left: 79.72787116492299%;
- }
- .row-fluid .offset9:first-child {
- margin-left: 77.07182320441989%;
- *margin-left: 76.96544022569647%;
- }
- .row-fluid .offset8 {
- margin-left: 71.2707182320442%;
- *margin-left: 71.16433525332079%;
- }
- .row-fluid .offset8:first-child {
- margin-left: 68.50828729281768%;
- *margin-left: 68.40190431409427%;
- }
- .row-fluid .offset7 {
- margin-left: 62.70718232044199%;
- *margin-left: 62.600799341718584%;
- }
- .row-fluid .offset7:first-child {
- margin-left: 59.94475138121547%;
- *margin-left: 59.838368402492065%;
- }
- .row-fluid .offset6 {
- margin-left: 54.14364640883978%;
- *margin-left: 54.037263430116376%;
- }
- .row-fluid .offset6:first-child {
- margin-left: 51.38121546961326%;
- *margin-left: 51.27483249088986%;
- }
- .row-fluid .offset5 {
- margin-left: 45.58011049723757%;
- *margin-left: 45.47372751851417%;
- }
- .row-fluid .offset5:first-child {
- margin-left: 42.81767955801105%;
- *margin-left: 42.71129657928765%;
- }
- .row-fluid .offset4 {
- margin-left: 37.01657458563536%;
- *margin-left: 36.91019160691196%;
- }
- .row-fluid .offset4:first-child {
- margin-left: 34.25414364640884%;
- *margin-left: 34.14776066768544%;
- }
- .row-fluid .offset3 {
- margin-left: 28.45303867403315%;
- *margin-left: 28.346655695309746%;
- }
- .row-fluid .offset3:first-child {
- margin-left: 25.69060773480663%;
- *margin-left: 25.584224756083227%;
- }
- .row-fluid .offset2 {
- margin-left: 19.88950276243094%;
- *margin-left: 19.783119783707537%;
- }
- .row-fluid .offset2:first-child {
- margin-left: 17.12707182320442%;
- *margin-left: 17.02068884448102%;
- }
- .row-fluid .offset1 {
- margin-left: 11.32596685082873%;
- *margin-left: 11.219583872105325%;
- }
- .row-fluid .offset1:first-child {
- margin-left: 8.56353591160221%;
- *margin-left: 8.457152932878806%;
- }
- input,
- textarea,
- .uneditable-input {
- margin-left: 0;
- }
- .controls-row [class*="span"] + [class*="span"] {
- margin-left: 20px;
- }
- input.span12,
- textarea.span12,
- .uneditable-input.span12 {
- width: 710px;
- }
- input.span11,
- textarea.span11,
- .uneditable-input.span11 {
- width: 648px;
- }
- input.span10,
- textarea.span10,
- .uneditable-input.span10 {
- width: 586px;
- }
- input.span9,
- textarea.span9,
- .uneditable-input.span9 {
- width: 524px;
- }
- input.span8,
- textarea.span8,
- .uneditable-input.span8 {
- width: 462px;
- }
- input.span7,
- textarea.span7,
- .uneditable-input.span7 {
- width: 400px;
- }
- input.span6,
- textarea.span6,
- .uneditable-input.span6 {
- width: 338px;
- }
- input.span5,
- textarea.span5,
- .uneditable-input.span5 {
- width: 276px;
- }
- input.span4,
- textarea.span4,
- .uneditable-input.span4 {
- width: 214px;
- }
- input.span3,
- textarea.span3,
- .uneditable-input.span3 {
- width: 152px;
- }
- input.span2,
- textarea.span2,
- .uneditable-input.span2 {
- width: 90px;
- }
- input.span1,
- textarea.span1,
- .uneditable-input.span1 {
- width: 28px;
- }
-}
-
-@media (max-width: 767px) {
- body {
- padding-right: 20px;
- padding-left: 20px;
- }
- .navbar-fixed-top,
- .navbar-fixed-bottom,
- .navbar-static-top {
- margin-right: -20px;
- margin-left: -20px;
- }
- .container-fluid {
- padding: 0;
- }
- .dl-horizontal dt {
- float: none;
- width: auto;
- clear: none;
- text-align: left;
- }
- .dl-horizontal dd {
- margin-left: 0;
- }
- .container {
- width: auto;
- }
- .row-fluid {
- width: 100%;
- }
- .row,
- .thumbnails {
- margin-left: 0;
- }
- .thumbnails > li {
- float: none;
- margin-left: 0;
- }
- [class*="span"],
- .uneditable-input[class*="span"],
- .row-fluid [class*="span"] {
- display: block;
- float: none;
- width: 100%;
- margin-left: 0;
- -webkit-box-sizing: border-box;
- -moz-box-sizing: border-box;
- box-sizing: border-box;
- }
- .span12,
- .row-fluid .span12 {
- width: 100%;
- -webkit-box-sizing: border-box;
- -moz-box-sizing: border-box;
- box-sizing: border-box;
- }
- .row-fluid [class*="offset"]:first-child {
- margin-left: 0;
- }
- .input-large,
- .input-xlarge,
- .input-xxlarge,
- input[class*="span"],
- select[class*="span"],
- textarea[class*="span"],
- .uneditable-input {
- display: block;
- width: 100%;
- min-height: 30px;
- -webkit-box-sizing: border-box;
- -moz-box-sizing: border-box;
- box-sizing: border-box;
- }
- .input-prepend input,
- .input-append input,
- .input-prepend input[class*="span"],
- .input-append input[class*="span"] {
- display: inline-block;
- width: auto;
- }
- .controls-row [class*="span"] + [class*="span"] {
- margin-left: 0;
- }
- .modal {
- position: fixed;
- top: 20px;
- right: 20px;
- left: 20px;
- width: auto;
- margin: 0;
- }
- .modal.fade {
- top: -100px;
- }
- .modal.fade.in {
- top: 20px;
- }
-}
-
-@media (max-width: 480px) {
- .navbar-collapse {
- -webkit-transform: translate3d(0, 0, 0);
- }
- .page-header h1 small {
- display: block;
- line-height: 20px;
- }
- input[type="checkbox"],
- input[type="radio"] {
- border: 1px solid #ccc;
- }
- .form-horizontal .control-label {
- float: none;
- width: auto;
- padding-top: 0;
- text-align: left;
- }
- .form-horizontal .controls {
- margin-left: 0;
- }
- .form-horizontal .control-list {
- padding-top: 0;
- }
- .form-horizontal .form-actions {
- padding-right: 10px;
- padding-left: 10px;
- }
- .media .pull-left,
- .media .pull-right {
- display: block;
- float: none;
- margin-bottom: 10px;
- }
- .media-object {
- margin-right: 0;
- margin-left: 0;
- }
- .modal {
- top: 10px;
- right: 10px;
- left: 10px;
- }
- .modal-header .close {
- padding: 10px;
- margin: -10px;
- }
- .carousel-caption {
- position: static;
- }
-}
-
-@media (max-width: 979px) {
- body {
- padding-top: 0;
- }
- .navbar-fixed-top,
- .navbar-fixed-bottom {
- position: static;
- }
- .navbar-fixed-top {
- margin-bottom: 20px;
- }
- .navbar-fixed-bottom {
- margin-top: 20px;
- }
- .navbar-fixed-top .navbar-inner,
- .navbar-fixed-bottom .navbar-inner {
- padding: 5px;
- }
- .navbar .container {
- width: auto;
- padding: 0;
- }
- .navbar .brand {
- padding-right: 10px;
- padding-left: 10px;
- margin: 0 0 0 -5px;
- }
- .navbar-collapse {
- clear: both;
- }
- .navbar-collapse .nav {
- float: none;
- margin: 0 0 10px;
- }
- .navbar-collapse .nav > li {
- float: none;
- }
- .navbar-collapse .nav > li > a {
- margin-bottom: 2px;
- }
- .navbar-collapse .nav > .divider-vertical {
- display: none;
- }
- .navbar-collapse .nav .nav-header {
- color: #777777;
- text-shadow: none;
- }
- .navbar-collapse .nav > li > a,
- .navbar-collapse .dropdown-menu a {
- padding: 9px 15px;
- font-weight: bold;
- color: #777777;
- -webkit-border-radius: 3px;
- -moz-border-radius: 3px;
- border-radius: 3px;
- }
- .navbar-collapse .btn {
- padding: 4px 10px 4px;
- font-weight: normal;
- -webkit-border-radius: 4px;
- -moz-border-radius: 4px;
- border-radius: 4px;
- }
- .navbar-collapse .dropdown-menu li + li a {
- margin-bottom: 2px;
- }
- .navbar-collapse .nav > li > a:hover,
- .navbar-collapse .nav > li > a:focus,
- .navbar-collapse .dropdown-menu a:hover,
- .navbar-collapse .dropdown-menu a:focus {
- background-color: #f2f2f2;
- }
- .navbar-inverse .navbar-collapse .nav > li > a,
- .navbar-inverse .navbar-collapse .dropdown-menu a {
- color: #999999;
- }
- .navbar-inverse .navbar-collapse .nav > li > a:hover,
- .navbar-inverse .navbar-collapse .nav > li > a:focus,
- .navbar-inverse .navbar-collapse .dropdown-menu a:hover,
- .navbar-inverse .navbar-collapse .dropdown-menu a:focus {
- background-color: #111111;
- }
- .navbar-collapse.in .btn-group {
- padding: 0;
- margin-top: 5px;
- }
- .navbar-collapse .dropdown-menu {
- position: static;
- top: auto;
- left: auto;
- display: none;
- float: none;
- max-width: none;
- padding: 0;
- margin: 0 15px;
- background-color: transparent;
- border: none;
- -webkit-border-radius: 0;
- -moz-border-radius: 0;
- border-radius: 0;
- -webkit-box-shadow: none;
- -moz-box-shadow: none;
- box-shadow: none;
- }
- .navbar-collapse .open > .dropdown-menu {
- display: block;
- }
- .navbar-collapse .dropdown-menu:before,
- .navbar-collapse .dropdown-menu:after {
- display: none;
- }
- .navbar-collapse .dropdown-menu .divider {
- display: none;
- }
- .navbar-collapse .nav > li > .dropdown-menu:before,
- .navbar-collapse .nav > li > .dropdown-menu:after {
- display: none;
- }
- .navbar-collapse .navbar-form,
- .navbar-collapse .navbar-search {
- float: none;
- padding: 10px 15px;
- margin: 10px 0;
- border-top: 1px solid #f2f2f2;
- border-bottom: 1px solid #f2f2f2;
- -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
- -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
- box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
- }
- .navbar-inverse .navbar-collapse .navbar-form,
- .navbar-inverse .navbar-collapse .navbar-search {
- border-top-color: #111111;
- border-bottom-color: #111111;
- }
- .navbar .navbar-collapse .nav.pull-right {
- float: none;
- margin-left: 0;
- }
- .navbar-collapse,
- .navbar-collapse.collapse {
- height: 0;
- overflow: hidden;
- }
- .navbar .btn-navbar {
- display: block;
- }
- .navbar-static .navbar-inner {
- padding-right: 10px;
- padding-left: 10px;
- }
-}
-
-@media (min-width: 980px) {
- .navbar-collapse.collapse {
- height: auto !important;
- overflow: visible !important;
- }
-}

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/assets/themes/mahout-retro/css/bootstrap-responsive.css.bu
----------------------------------------------------------------------
diff --git a/website-old/assets/themes/mahout-retro/css/bootstrap-responsive.css.bu b/website-old/assets/themes/mahout-retro/css/bootstrap-responsive.css.bu
deleted file mode 100644
index fcd72f7..0000000
--- a/website-old/assets/themes/mahout-retro/css/bootstrap-responsive.css.bu
+++ /dev/null
@@ -1,1109 +0,0 @@
-/*!
- * Bootstrap Responsive v2.3.1
- *
- * Copyright 2012 Twitter, Inc
- * Licensed under the Apache License v2.0
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Designed and built with all the love in the world @twitter by @mdo and @fat.
- */
-
-.clearfix {
- *zoom: 1;
-}
-
-.clearfix:before,
-.clearfix:after {
- display: table;
- line-height: 0;
- content: "";
-}
-
-.clearfix:after {
- clear: both;
-}
-
-.hide-text {
- font: 0/0 a;
- color: transparent;
- text-shadow: none;
- background-color: transparent;
- border: 0;
-}
-
-.input-block-level {
- display: block;
- width: 100%;
- min-height: 30px;
- -webkit-box-sizing: border-box;
- -moz-box-sizing: border-box;
- box-sizing: border-box;
-}
-
-@-ms-viewport {
- width: device-width;
-}
-
-.hidden {
- display: none;
- visibility: hidden;
-}
-
-.visible-phone {
- display: none !important;
-}
-
-.visible-tablet {
- display: none !important;
-}
-
-.hidden-desktop {
- display: none !important;
-}
-
-.visible-desktop {
- display: inherit !important;
-}
-
-@media (min-width: 768px) and (max-width: 979px) {
- .hidden-desktop {
- display: inherit !important;
- }
- .visible-desktop {
- display: none !important ;
- }
- .visible-tablet {
- display: inherit !important;
- }
- .hidden-tablet {
- display: none !important;
- }
-}
-
-@media (max-width: 767px) {
- .hidden-desktop {
- display: inherit !important;
- }
- .visible-desktop {
- display: none !important;
- }
- .visible-phone {
- display: inherit !important;
- }
- .hidden-phone {
- display: none !important;
- }
-}
-
-.visible-print {
- display: none !important;
-}
-
-@media print {
- .visible-print {
- display: inherit !important;
- }
- .hidden-print {
- display: none !important;
- }
-}
-
-@media (min-width: 1200px) {
- .row {
- margin-left: -30px;
- *zoom: 1;
- }
- .row:before,
- .row:after {
- display: table;
- line-height: 0;
- content: "";
- }
- .row:after {
- clear: both;
- }
- [class*="span"] {
- float: left;
- min-height: 1px;
- margin-left: 30px;
- }
- .container,
- .navbar-static-top .container,
- .navbar-fixed-top .container,
- .navbar-fixed-bottom .container {
- width: 1170px;
- }
- .span12 {
- width: 1170px;
- }
- .span11 {
- width: 1070px;
- }
- .span10 {
- width: 970px;
- }
- .span9 {
- width: 870px;
- }
- .span8 {
- width: 770px;
- }
- .span7 {
- width: 670px;
- }
- .span6 {
- width: 570px;
- }
- .span5 {
- width: 470px;
- }
- .span4 {
- width: 370px;
- }
- .span3 {
- width: 270px;
- }
- .span2 {
- width: 170px;
- }
- .span1 {
- width: 70px;
- }
- .offset12 {
- margin-left: 1230px;
- }
- .offset11 {
- margin-left: 1130px;
- }
- .offset10 {
- margin-left: 1030px;
- }
- .offset9 {
- margin-left: 930px;
- }
- .offset8 {
- margin-left: 830px;
- }
- .offset7 {
- margin-left: 730px;
- }
- .offset6 {
- margin-left: 630px;
- }
- .offset5 {
- margin-left: 530px;
- }
- .offset4 {
- margin-left: 430px;
- }
- .offset3 {
- margin-left: 330px;
- }
- .offset2 {
- margin-left: 230px;
- }
- .offset1 {
- margin-left: 130px;
- }
- .row-fluid {
- width: 100%;
- *zoom: 1;
- }
- .row-fluid:before,
- .row-fluid:after {
- display: table;
- line-height: 0;
- content: "";
- }
- .row-fluid:after {
- clear: both;
- }
- .row-fluid [class*="span"] {
- display: block;
- float: left;
- width: 100%;
- min-height: 30px;
- margin-left: 2.564102564102564%;
- *margin-left: 2.5109110747408616%;
- -webkit-box-sizing: border-box;
- -moz-box-sizing: border-box;
- box-sizing: border-box;
- }
- .row-fluid [class*="span"]:first-child {
- margin-left: 0;
- }
- .row-fluid .controls-row [class*="span"] + [class*="span"] {
- margin-left: 2.564102564102564%;
- }
- .row-fluid .span12 {
- width: 100%;
- *width: 99.94680851063829%;
- }
- .row-fluid .span11 {
- width: 91.45299145299145%;
- *width: 91.39979996362975%;
- }
- .row-fluid .span10 {
- width: 82.90598290598291%;
- *width: 82.8527914166212%;
- }
- .row-fluid .span9 {
- width: 74.35897435897436%;
- *width: 74.30578286961266%;
- }
- .row-fluid .span8 {
- width: 65.81196581196582%;
- *width: 65.75877432260411%;
- }
- .row-fluid .span7 {
- width: 57.26495726495726%;
- *width: 57.21176577559556%;
- }
- .row-fluid .span6 {
- width: 48.717948717948715%;
- *width: 48.664757228587014%;
- }
- .row-fluid .span5 {
- width: 40.17094017094017%;
- *width: 40.11774868157847%;
- }
- .row-fluid .span4 {
- width: 31.623931623931625%;
- *width: 31.570740134569924%;
- }
- .row-fluid .span3 {
- width: 23.076923076923077%;
- *width: 23.023731587561375%;
- }
- .row-fluid .span2 {
- width: 14.52991452991453%;
- *width: 14.476723040552828%;
- }
- .row-fluid .span1 {
- width: 5.982905982905983%;
- *width: 5.929714493544281%;
- }
- .row-fluid .offset12 {
- margin-left: 105.12820512820512%;
- *margin-left: 105.02182214948171%;
- }
- .row-fluid .offset12:first-child {
- margin-left: 102.56410256410257%;
- *margin-left: 102.45771958537915%;
- }
- .row-fluid .offset11 {
- margin-left: 96.58119658119658%;
- *margin-left: 96.47481360247316%;
- }
- .row-fluid .offset11:first-child {
- margin-left: 94.01709401709402%;
- *margin-left: 93.91071103837061%;
- }
- .row-fluid .offset10 {
- margin-left: 88.03418803418803%;
- *margin-left: 87.92780505546462%;
- }
- .row-fluid .offset10:first-child {
- margin-left: 85.47008547008548%;
- *margin-left: 85.36370249136206%;
- }
- .row-fluid .offset9 {
- margin-left: 79.48717948717949%;
- *margin-left: 79.38079650845607%;
- }
- .row-fluid .offset9:first-child {
- margin-left: 76.92307692307693%;
- *margin-left: 76.81669394435352%;
- }
- .row-fluid .offset8 {
- margin-left: 70.94017094017094%;
- *margin-left: 70.83378796144753%;
- }
- .row-fluid .offset8:first-child {
- margin-left: 68.37606837606839%;
- *margin-left: 68.26968539734497%;
- }
- .row-fluid .offset7 {
- margin-left: 62.393162393162385%;
- *margin-left: 62.28677941443899%;
- }
- .row-fluid .offset7:first-child {
- margin-left: 59.82905982905982%;
- *margin-left: 59.72267685033642%;
- }
- .row-fluid .offset6 {
- margin-left: 53.84615384615384%;
- *margin-left: 53.739770867430444%;
- }
- .row-fluid .offset6:first-child {
- margin-left: 51.28205128205128%;
- *margin-left: 51.175668303327875%;
- }
- .row-fluid .offset5 {
- margin-left: 45.299145299145295%;
- *margin-left: 45.1927623204219%;
- }
- .row-fluid .offset5:first-child {
- margin-left: 42.73504273504273%;
- *margin-left: 42.62865975631933%;
- }
- .row-fluid .offset4 {
- margin-left: 36.75213675213675%;
- *margin-left: 36.645753773413354%;
- }
- .row-fluid .offset4:first-child {
- margin-left: 34.18803418803419%;
- *margin-left: 34.081651209310785%;
- }
- .row-fluid .offset3 {
- margin-left: 28.205128205128204%;
- *margin-left: 28.0987452264048%;
- }
- .row-fluid .offset3:first-child {
- margin-left: 25.641025641025642%;
- *margin-left: 25.53464266230224%;
- }
- .row-fluid .offset2 {
- margin-left: 19.65811965811966%;
- *margin-left: 19.551736679396257%;
- }
- .row-fluid .offset2:first-child {
- margin-left: 17.094017094017094%;
- *margin-left: 16.98763411529369%;
- }
- .row-fluid .offset1 {
- margin-left: 11.11111111111111%;
- *margin-left: 11.004728132387708%;
- }
- .row-fluid .offset1:first-child {
- margin-left: 8.547008547008547%;
- *margin-left: 8.440625568285142%;
- }
- input,
- textarea,
- .uneditable-input {
- margin-left: 0;
- }
- .controls-row [class*="span"] + [class*="span"] {
- margin-left: 30px;
- }
- input.span12,
- textarea.span12,
- .uneditable-input.span12 {
- width: 1156px;
- }
- input.span11,
- textarea.span11,
- .uneditable-input.span11 {
- width: 1056px;
- }
- input.span10,
- textarea.span10,
- .uneditable-input.span10 {
- width: 956px;
- }
- input.span9,
- textarea.span9,
- .uneditable-input.span9 {
- width: 856px;
- }
- input.span8,
- textarea.span8,
- .uneditable-input.span8 {
- width: 756px;
- }
- input.span7,
- textarea.span7,
- .uneditable-input.span7 {
- width: 656px;
- }
- input.span6,
- textarea.span6,
- .uneditable-input.span6 {
- width: 556px;
- }
- input.span5,
- textarea.span5,
- .uneditable-input.span5 {
- width: 456px;
- }
- input.span4,
- textarea.span4,
- .uneditable-input.span4 {
- width: 356px;
- }
- input.span3,
- textarea.span3,
- .uneditable-input.span3 {
- width: 256px;
- }
- input.span2,
- textarea.span2,
- .uneditable-input.span2 {
- width: 156px;
- }
- input.span1,
- textarea.span1,
- .uneditable-input.span1 {
- width: 56px;
- }
- .thumbnails {
- margin-left: -30px;
- }
- .thumbnails > li {
- margin-left: 30px;
- }
- .row-fluid .thumbnails {
- margin-left: 0;
- }
-}
-
-@media (min-width: 768px) and (max-width: 979px) {
- .row {
- margin-left: -20px;
- *zoom: 1;
- }
- .row:before,
- .row:after {
- display: table;
- line-height: 0;
- content: "";
- }
- .row:after {
- clear: both;
- }
- [class*="span"] {
- float: left;
- min-height: 1px;
- margin-left: 20px;
- }
- .container,
- .navbar-static-top .container,
- .navbar-fixed-top .container,
- .navbar-fixed-bottom .container {
- width: 724px;
- }
- .span12 {
- width: 724px;
- }
- .span11 {
- width: 662px;
- }
- .span10 {
- width: 600px;
- }
- .span9 {
- width: 538px;
- }
- .span8 {
- width: 476px;
- }
- .span7 {
- width: 414px;
- }
- .span6 {
- width: 352px;
- }
- .span5 {
- width: 290px;
- }
- .span4 {
- width: 228px;
- }
- .span3 {
- width: 166px;
- }
- .span2 {
- width: 104px;
- }
- .span1 {
- width: 42px;
- }
- .offset12 {
- margin-left: 764px;
- }
- .offset11 {
- margin-left: 702px;
- }
- .offset10 {
- margin-left: 640px;
- }
- .offset9 {
- margin-left: 578px;
- }
- .offset8 {
- margin-left: 516px;
- }
- .offset7 {
- margin-left: 454px;
- }
- .offset6 {
- margin-left: 392px;
- }
- .offset5 {
- margin-left: 330px;
- }
- .offset4 {
- margin-left: 268px;
- }
- .offset3 {
- margin-left: 206px;
- }
- .offset2 {
- margin-left: 144px;
- }
- .offset1 {
- margin-left: 82px;
- }
- .row-fluid {
- width: 100%;
- *zoom: 1;
- }
- .row-fluid:before,
- .row-fluid:after {
- display: table;
- line-height: 0;
- content: "";
- }
- .row-fluid:after {
- clear: both;
- }
- .row-fluid [class*="span"] {
- display: block;
- float: left;
- width: 100%;
- min-height: 30px;
- margin-left: 2.7624309392265194%;
- *margin-left: 2.709239449864817%;
- -webkit-box-sizing: border-box;
- -moz-box-sizing: border-box;
- box-sizing: border-box;
- }
- .row-fluid [class*="span"]:first-child {
- margin-left: 0;
- }
- .row-fluid .controls-row [class*="span"] + [class*="span"] {
- margin-left: 2.7624309392265194%;
- }
- .row-fluid .span12 {
- width: 100%;
- *width: 99.94680851063829%;
- }
- .row-fluid .span11 {
- width: 91.43646408839778%;
- *width: 91.38327259903608%;
- }
- .row-fluid .span10 {
- width: 82.87292817679558%;
- *width: 82.81973668743387%;
- }
- .row-fluid .span9 {
- width: 74.30939226519337%;
- *width: 74.25620077583166%;
- }
- .row-fluid .span8 {
- width: 65.74585635359117%;
- *width: 65.69266486422946%;
- }
- .row-fluid .span7 {
- width: 57.18232044198895%;
- *width: 57.12912895262725%;
- }
- .row-fluid .span6 {
- width: 48.61878453038674%;
- *width: 48.56559304102504%;
- }
- .row-fluid .span5 {
- width: 40.05524861878453%;
- *width: 40.00205712942283%;
- }
- .row-fluid .span4 {
- width: 31.491712707182323%;
- *width: 31.43852121782062%;
- }
- .row-fluid .span3 {
- width: 22.92817679558011%;
- *width: 22.87498530621841%;
- }
- .row-fluid .span2 {
- width: 14.3646408839779%;
- *width: 14.311449394616199%;
- }
- .row-fluid .span1 {
- width: 5.801104972375691%;
- *width: 5.747913483013988%;
- }
- .row-fluid .offset12 {
- margin-left: 105.52486187845304%;
- *margin-left: 105.41847889972962%;
- }
- .row-fluid .offset12:first-child {
- margin-left: 102.76243093922652%;
- *margin-left: 102.6560479605031%;
- }
- .row-fluid .offset11 {
- margin-left: 96.96132596685082%;
- *margin-left: 96.8549429881274%;
- }
- .row-fluid .offset11:first-child {
- margin-left: 94.1988950276243%;
- *margin-left: 94.09251204890089%;
- }
- .row-fluid .offset10 {
- margin-left: 88.39779005524862%;
- *margin-left: 88.2914070765252%;
- }
- .row-fluid .offset10:first-child {
- margin-left: 85.6353591160221%;
- *margin-left: 85.52897613729868%;
- }
- .row-fluid .offset9 {
- margin-left: 79.8342541436464%;
- *margin-left: 79.72787116492299%;
- }
- .row-fluid .offset9:first-child {
- margin-left: 77.07182320441989%;
- *margin-left: 76.96544022569647%;
- }
- .row-fluid .offset8 {
- margin-left: 71.2707182320442%;
- *margin-left: 71.16433525332079%;
- }
- .row-fluid .offset8:first-child {
- margin-left: 68.50828729281768%;
- *margin-left: 68.40190431409427%;
- }
- .row-fluid .offset7 {
- margin-left: 62.70718232044199%;
- *margin-left: 62.600799341718584%;
- }
- .row-fluid .offset7:first-child {
- margin-left: 59.94475138121547%;
- *margin-left: 59.838368402492065%;
- }
- .row-fluid .offset6 {
- margin-left: 54.14364640883978%;
- *margin-left: 54.037263430116376%;
- }
- .row-fluid .offset6:first-child {
- margin-left: 51.38121546961326%;
- *margin-left: 51.27483249088986%;
- }
- .row-fluid .offset5 {
- margin-left: 45.58011049723757%;
- *margin-left: 45.47372751851417%;
- }
- .row-fluid .offset5:first-child {
- margin-left: 42.81767955801105%;
- *margin-left: 42.71129657928765%;
- }
- .row-fluid .offset4 {
- margin-left: 37.01657458563536%;
- *margin-left: 36.91019160691196%;
- }
- .row-fluid .offset4:first-child {
- margin-left: 34.25414364640884%;
- *margin-left: 34.14776066768544%;
- }
- .row-fluid .offset3 {
- margin-left: 28.45303867403315%;
- *margin-left: 28.346655695309746%;
- }
- .row-fluid .offset3:first-child {
- margin-left: 25.69060773480663%;
- *margin-left: 25.584224756083227%;
- }
- .row-fluid .offset2 {
- margin-left: 19.88950276243094%;
- *margin-left: 19.783119783707537%;
- }
- .row-fluid .offset2:first-child {
- margin-left: 17.12707182320442%;
- *margin-left: 17.02068884448102%;
- }
- .row-fluid .offset1 {
- margin-left: 11.32596685082873%;
- *margin-left: 11.219583872105325%;
- }
- .row-fluid .offset1:first-child {
- margin-left: 8.56353591160221%;
- *margin-left: 8.457152932878806%;
- }
- input,
- textarea,
- .uneditable-input {
- margin-left: 0;
- }
- .controls-row [class*="span"] + [class*="span"] {
- margin-left: 20px;
- }
- input.span12,
- textarea.span12,
- .uneditable-input.span12 {
- width: 710px;
- }
- input.span11,
- textarea.span11,
- .uneditable-input.span11 {
- width: 648px;
- }
- input.span10,
- textarea.span10,
- .uneditable-input.span10 {
- width: 586px;
- }
- input.span9,
- textarea.span9,
- .uneditable-input.span9 {
- width: 524px;
- }
- input.span8,
- textarea.span8,
- .uneditable-input.span8 {
- width: 462px;
- }
- input.span7,
- textarea.span7,
- .uneditable-input.span7 {
- width: 400px;
- }
- input.span6,
- textarea.span6,
- .uneditable-input.span6 {
- width: 338px;
- }
- input.span5,
- textarea.span5,
- .uneditable-input.span5 {
- width: 276px;
- }
- input.span4,
- textarea.span4,
- .uneditable-input.span4 {
- width: 214px;
- }
- input.span3,
- textarea.span3,
- .uneditable-input.span3 {
- width: 152px;
- }
- input.span2,
- textarea.span2,
- .uneditable-input.span2 {
- width: 90px;
- }
- input.span1,
- textarea.span1,
- .uneditable-input.span1 {
- width: 28px;
- }
-}
-
-@media (max-width: 767px) {
- body {
- padding-right: 20px;
- padding-left: 20px;
- }
- .navbar-fixed-top,
- .navbar-fixed-bottom,
- .navbar-static-top {
- margin-right: -20px;
- margin-left: -20px;
- }
- .container-fluid {
- padding: 0;
- }
- .dl-horizontal dt {
- float: none;
- width: auto;
- clear: none;
- text-align: left;
- }
- .dl-horizontal dd {
- margin-left: 0;
- }
- .container {
- width: auto;
- }
- .row-fluid {
- width: 100%;
- }
- .row,
- .thumbnails {
- margin-left: 0;
- }
- .thumbnails > li {
- float: none;
- margin-left: 0;
- }
- [class*="span"],
- .uneditable-input[class*="span"],
- .row-fluid [class*="span"] {
- display: block;
- float: none;
- width: 100%;
- margin-left: 0;
- -webkit-box-sizing: border-box;
- -moz-box-sizing: border-box;
- box-sizing: border-box;
- }
- .span12,
- .row-fluid .span12 {
- width: 100%;
- -webkit-box-sizing: border-box;
- -moz-box-sizing: border-box;
- box-sizing: border-box;
- }
- .row-fluid [class*="offset"]:first-child {
- margin-left: 0;
- }
- .input-large,
- .input-xlarge,
- .input-xxlarge,
- input[class*="span"],
- select[class*="span"],
- textarea[class*="span"],
- .uneditable-input {
- display: block;
- width: 100%;
- min-height: 30px;
- -webkit-box-sizing: border-box;
- -moz-box-sizing: border-box;
- box-sizing: border-box;
- }
- .input-prepend input,
- .input-append input,
- .input-prepend input[class*="span"],
- .input-append input[class*="span"] {
- display: inline-block;
- width: auto;
- }
- .controls-row [class*="span"] + [class*="span"] {
- margin-left: 0;
- }
- .modal {
- position: fixed;
- top: 20px;
- right: 20px;
- left: 20px;
- width: auto;
- margin: 0;
- }
- .modal.fade {
- top: -100px;
- }
- .modal.fade.in {
- top: 20px;
- }
-}
-
-@media (max-width: 480px) {
- .nav-collapse {
- -webkit-transform: translate3d(0, 0, 0);
- }
- .page-header h1 small {
- display: block;
- line-height: 20px;
- }
- input[type="checkbox"],
- input[type="radio"] {
- border: 1px solid #ccc;
- }
- .form-horizontal .control-label {
- float: none;
- width: auto;
- padding-top: 0;
- text-align: left;
- }
- .form-horizontal .controls {
- margin-left: 0;
- }
- .form-horizontal .control-list {
- padding-top: 0;
- }
- .form-horizontal .form-actions {
- padding-right: 10px;
- padding-left: 10px;
- }
- .media .pull-left,
- .media .pull-right {
- display: block;
- float: none;
- margin-bottom: 10px;
- }
- .media-object {
- margin-right: 0;
- margin-left: 0;
- }
- .modal {
- top: 10px;
- right: 10px;
- left: 10px;
- }
- .modal-header .close {
- padding: 10px;
- margin: -10px;
- }
- .carousel-caption {
- position: static;
- }
-}
-
-@media (max-width: 979px) {
- body {
- padding-top: 0;
- }
- .navbar-fixed-top,
- .navbar-fixed-bottom {
- position: static;
- }
- .navbar-fixed-top {
- margin-bottom: 20px;
- }
- .navbar-fixed-bottom {
- margin-top: 20px;
- }
- .navbar-fixed-top .navbar-inner,
- .navbar-fixed-bottom .navbar-inner {
- padding: 5px;
- }
- .navbar .container {
- width: auto;
- padding: 0;
- }
- .navbar .brand {
- padding-right: 10px;
- padding-left: 10px;
- margin: 0 0 0 -5px;
- }
- .nav-collapse {
- clear: both;
- }
- .nav-collapse .nav {
- float: none;
- margin: 0 0 10px;
- }
- .nav-collapse .nav > li {
- float: none;
- }
- .nav-collapse .nav > li > a {
- margin-bottom: 2px;
- }
- .nav-collapse .nav > .divider-vertical {
- display: none;
- }
- .nav-collapse .nav .nav-header {
- color: #777777;
- text-shadow: none;
- }
- .nav-collapse .nav > li > a,
- .nav-collapse .dropdown-menu a {
- padding: 9px 15px;
- font-weight: bold;
- color: #777777;
- -webkit-border-radius: 3px;
- -moz-border-radius: 3px;
- border-radius: 3px;
- }
- .nav-collapse .btn {
- padding: 4px 10px 4px;
- font-weight: normal;
- -webkit-border-radius: 4px;
- -moz-border-radius: 4px;
- border-radius: 4px;
- }
- .nav-collapse .dropdown-menu li + li a {
- margin-bottom: 2px;
- }
- .nav-collapse .nav > li > a:hover,
- .nav-collapse .nav > li > a:focus,
- .nav-collapse .dropdown-menu a:hover,
- .nav-collapse .dropdown-menu a:focus {
- background-color: #f2f2f2;
- }
- .navbar-inverse .nav-collapse .nav > li > a,
- .navbar-inverse .nav-collapse .dropdown-menu a {
- color: #999999;
- }
- .navbar-inverse .nav-collapse .nav > li > a:hover,
- .navbar-inverse .nav-collapse .nav > li > a:focus,
- .navbar-inverse .nav-collapse .dropdown-menu a:hover,
- .navbar-inverse .nav-collapse .dropdown-menu a:focus {
- background-color: #111111;
- }
- .nav-collapse.in .btn-group {
- padding: 0;
- margin-top: 5px;
- }
- .nav-collapse .dropdown-menu {
- position: static;
- top: auto;
- left: auto;
- display: none;
- float: none;
- max-width: none;
- padding: 0;
- margin: 0 15px;
- background-color: transparent;
- border: none;
- -webkit-border-radius: 0;
- -moz-border-radius: 0;
- border-radius: 0;
- -webkit-box-shadow: none;
- -moz-box-shadow: none;
- box-shadow: none;
- }
- .nav-collapse .open > .dropdown-menu {
- display: block;
- }
- .nav-collapse .dropdown-menu:before,
- .nav-collapse .dropdown-menu:after {
- display: none;
- }
- .nav-collapse .dropdown-menu .divider {
- display: none;
- }
- .nav-collapse .nav > li > .dropdown-menu:before,
- .nav-collapse .nav > li > .dropdown-menu:after {
- display: none;
- }
- .nav-collapse .navbar-form,
- .nav-collapse .navbar-search {
- float: none;
- padding: 10px 15px;
- margin: 10px 0;
- border-top: 1px solid #f2f2f2;
- border-bottom: 1px solid #f2f2f2;
- -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
- -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
- box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
- }
- .navbar-inverse .nav-collapse .navbar-form,
- .navbar-inverse .nav-collapse .navbar-search {
- border-top-color: #111111;
- border-bottom-color: #111111;
- }
- .navbar .nav-collapse .nav.pull-right {
- float: none;
- margin-left: 0;
- }
- .nav-collapse,
- .nav-collapse.collapse {
- height: 0;
- overflow: hidden;
- }
- .navbar .btn-navbar {
- display: block;
- }
- .navbar-static .navbar-inner {
- padding-right: 10px;
- padding-left: 10px;
- }
-}
-
-@media (min-width: 980px) {
- .nav-collapse.collapse {
- height: auto !important;
- overflow: visible !important;
- }
-}

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/assets/themes/mahout-retro/css/bootstrap-responsive.min.css
----------------------------------------------------------------------
diff --git a/website-old/assets/themes/mahout-retro/css/bootstrap-responsive.min.css b/website-old/assets/themes/mahout-retro/css/bootstrap-responsive.min.css
deleted file mode 100644
index d1b7f4b..0000000
--- a/website-old/assets/themes/mahout-retro/css/bootstrap-responsive.min.css
+++ /dev/null
@@ -1,9 +0,0 @@
-/*!
- * Bootstrap Responsive v2.3.1
- *
- * Copyright 2012 Twitter, Inc
- * Licensed under the Apache License v2.0
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Designed and built with all the love in the world @twitter by @mdo and @fat.
- */.clearfix{*zoom:1}.clearfix:before,.clearfix:after{display:table;line-height:0;content:""}.clearfix:after{clear:both}.hide-text{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.input-block-level{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}@-ms-viewport{width:device-width}.hidden{display:none;visibility:hidden}.visible-phone{display:none!important}.visible-tablet{display:none!important}.hidden-desktop{display:none!important}.visible-desktop{display:inherit!important}@media(min-width:768px) and (max-width:979px){.hidden-desktop{display:inherit!important}.visible-desktop{display:none!important}.visible-tablet{display:inherit!important}.hidden-tablet{display:none!important}}@media(max-width:767px){.hidden-desktop{display:inherit!important}.visible-desktop{display:none!important}.visible-phone{display:inherit!important}.hidden-phone{display:none!important}}.visible-print{dis
play:none!important}@media print{.visible-print{display:inherit!important}.hidden-print{display:none!important}}@media(min-width:1200px){.row{margin-left:-30px;*zoom:1}.row:before,.row:after{display:table;line-height:0;content:""}.row:after{clear:both}[class*="span"]{float:left;min-height:1px;margin-left:30px}.container,.navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:1170px}.span12{width:1170px}.span11{width:1070px}.span10{width:970px}.span9{width:870px}.span8{width:770px}.span7{width:670px}.span6{width:570px}.span5{width:470px}.span4{width:370px}.span3{width:270px}.span2{width:170px}.span1{width:70px}.offset12{margin-left:1230px}.offset11{margin-left:1130px}.offset10{margin-left:1030px}.offset9{margin-left:930px}.offset8{margin-left:830px}.offset7{margin-left:730px}.offset6{margin-left:630px}.offset5{margin-left:530px}.offset4{margin-left:430px}.offset3{margin-left:330px}.offset2{margin-left:230px}.offset1{margin-left:130px}.row-flui
d{width:100%;*zoom:1}.row-fluid:before,.row-fluid:after{display:table;line-height:0;content:""}.row-fluid:after{clear:both}.row-fluid [class*="span"]{display:block;float:left;width:100%;min-height:30px;margin-left:2.564102564102564%;*margin-left:2.5109110747408616%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.row-fluid [class*="span"]:first-child{margin-left:0}.row-fluid .controls-row [class*="span"]+[class*="span"]{margin-left:2.564102564102564%}.row-fluid .span12{width:100%;*width:99.94680851063829%}.row-fluid .span11{width:91.45299145299145%;*width:91.39979996362975%}.row-fluid .span10{width:82.90598290598291%;*width:82.8527914166212%}.row-fluid .span9{width:74.35897435897436%;*width:74.30578286961266%}.row-fluid .span8{width:65.81196581196582%;*width:65.75877432260411%}.row-fluid .span7{width:57.26495726495726%;*width:57.21176577559556%}.row-fluid .span6{width:48.717948717948715%;*width:48.664757228587014%}.row-fluid .span5{width:40.17094017094
017%;*width:40.11774868157847%}.row-fluid .span4{width:31.623931623931625%;*width:31.570740134569924%}.row-fluid .span3{width:23.076923076923077%;*width:23.023731587561375%}.row-fluid .span2{width:14.52991452991453%;*width:14.476723040552828%}.row-fluid .span1{width:5.982905982905983%;*width:5.929714493544281%}.row-fluid .offset12{margin-left:105.12820512820512%;*margin-left:105.02182214948171%}.row-fluid .offset12:first-child{margin-left:102.56410256410257%;*margin-left:102.45771958537915%}.row-fluid .offset11{margin-left:96.58119658119658%;*margin-left:96.47481360247316%}.row-fluid .offset11:first-child{margin-left:94.01709401709402%;*margin-left:93.91071103837061%}.row-fluid .offset10{margin-left:88.03418803418803%;*margin-left:87.92780505546462%}.row-fluid .offset10:first-child{margin-left:85.47008547008548%;*margin-left:85.36370249136206%}.row-fluid .offset9{margin-left:79.48717948717949%;*margin-left:79.38079650845607%}.row-fluid .offset9:first-child{margin-left:76.92307692307
693%;*margin-left:76.81669394435352%}.row-fluid .offset8{margin-left:70.94017094017094%;*margin-left:70.83378796144753%}.row-fluid .offset8:first-child{margin-left:68.37606837606839%;*margin-left:68.26968539734497%}.row-fluid .offset7{margin-left:62.393162393162385%;*margin-left:62.28677941443899%}.row-fluid .offset7:first-child{margin-left:59.82905982905982%;*margin-left:59.72267685033642%}.row-fluid .offset6{margin-left:53.84615384615384%;*margin-left:53.739770867430444%}.row-fluid .offset6:first-child{margin-left:51.28205128205128%;*margin-left:51.175668303327875%}.row-fluid .offset5{margin-left:45.299145299145295%;*margin-left:45.1927623204219%}.row-fluid .offset5:first-child{margin-left:42.73504273504273%;*margin-left:42.62865975631933%}.row-fluid .offset4{margin-left:36.75213675213675%;*margin-left:36.645753773413354%}.row-fluid .offset4:first-child{margin-left:34.18803418803419%;*margin-left:34.081651209310785%}.row-fluid .offset3{margin-left:28.205128205128204%;*margin-left:
28.0987452264048%}.row-fluid .offset3:first-child{margin-left:25.641025641025642%;*margin-left:25.53464266230224%}.row-fluid .offset2{margin-left:19.65811965811966%;*margin-left:19.551736679396257%}.row-fluid .offset2:first-child{margin-left:17.094017094017094%;*margin-left:16.98763411529369%}.row-fluid .offset1{margin-left:11.11111111111111%;*margin-left:11.004728132387708%}.row-fluid .offset1:first-child{margin-left:8.547008547008547%;*margin-left:8.440625568285142%}input,textarea,.uneditable-input{margin-left:0}.controls-row [class*="span"]+[class*="span"]{margin-left:30px}input.span12,textarea.span12,.uneditable-input.span12{width:1156px}input.span11,textarea.span11,.uneditable-input.span11{width:1056px}input.span10,textarea.span10,.uneditable-input.span10{width:956px}input.span9,textarea.span9,.uneditable-input.span9{width:856px}input.span8,textarea.span8,.uneditable-input.span8{width:756px}input.span7,textarea.span7,.uneditable-input.span7{width:656px}input.span6,textarea.span
6,.uneditable-input.span6{width:556px}input.span5,textarea.span5,.uneditable-input.span5{width:456px}input.span4,textarea.span4,.uneditable-input.span4{width:356px}input.span3,textarea.span3,.uneditable-input.span3{width:256px}input.span2,textarea.span2,.uneditable-input.span2{width:156px}input.span1,textarea.span1,.uneditable-input.span1{width:56px}.thumbnails{margin-left:-30px}.thumbnails>li{margin-left:30px}.row-fluid .thumbnails{margin-left:0}}@media(min-width:768px) and (max-width:979px){.row{margin-left:-20px;*zoom:1}.row:before,.row:after{display:table;line-height:0;content:""}.row:after{clear:both}[class*="span"]{float:left;min-height:1px;margin-left:20px}.container,.navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:724px}.span12{width:724px}.span11{width:662px}.span10{width:600px}.span9{width:538px}.span8{width:476px}.span7{width:414px}.span6{width:352px}.span5{width:290px}.span4{width:228px}.span3{width:166px}.span2{width:104px
}.span1{width:42px}.offset12{margin-left:764px}.offset11{margin-left:702px}.offset10{margin-left:640px}.offset9{margin-left:578px}.offset8{margin-left:516px}.offset7{margin-left:454px}.offset6{margin-left:392px}.offset5{margin-left:330px}.offset4{margin-left:268px}.offset3{margin-left:206px}.offset2{margin-left:144px}.offset1{margin-left:82px}.row-fluid{width:100%;*zoom:1}.row-fluid:before,.row-fluid:after{display:table;line-height:0;content:""}.row-fluid:after{clear:both}.row-fluid [class*="span"]{display:block;float:left;width:100%;min-height:30px;margin-left:2.7624309392265194%;*margin-left:2.709239449864817%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.row-fluid [class*="span"]:first-child{margin-left:0}.row-fluid .controls-row [class*="span"]+[class*="span"]{margin-left:2.7624309392265194%}.row-fluid .span12{width:100%;*width:99.94680851063829%}.row-fluid .span11{width:91.43646408839778%;*width:91.38327259903608%}.row-fluid .span10{width:82.87
292817679558%;*width:82.81973668743387%}.row-fluid .span9{width:74.30939226519337%;*width:74.25620077583166%}.row-fluid .span8{width:65.74585635359117%;*width:65.69266486422946%}.row-fluid .span7{width:57.18232044198895%;*width:57.12912895262725%}.row-fluid .span6{width:48.61878453038674%;*width:48.56559304102504%}.row-fluid .span5{width:40.05524861878453%;*width:40.00205712942283%}.row-fluid .span4{width:31.491712707182323%;*width:31.43852121782062%}.row-fluid .span3{width:22.92817679558011%;*width:22.87498530621841%}.row-fluid .span2{width:14.3646408839779%;*width:14.311449394616199%}.row-fluid .span1{width:5.801104972375691%;*width:5.747913483013988%}.row-fluid .offset12{margin-left:105.52486187845304%;*margin-left:105.41847889972962%}.row-fluid .offset12:first-child{margin-left:102.76243093922652%;*margin-left:102.6560479605031%}.row-fluid .offset11{margin-left:96.96132596685082%;*margin-left:96.8549429881274%}.row-fluid .offset11:first-child{margin-left:94.1988950276243%;*margi
n-left:94.09251204890089%}.row-fluid .offset10{margin-left:88.39779005524862%;*margin-left:88.2914070765252%}.row-fluid .offset10:first-child{margin-left:85.6353591160221%;*margin-left:85.52897613729868%}.row-fluid .offset9{margin-left:79.8342541436464%;*margin-left:79.72787116492299%}.row-fluid .offset9:first-child{margin-left:77.07182320441989%;*margin-left:76.96544022569647%}.row-fluid .offset8{margin-left:71.2707182320442%;*margin-left:71.16433525332079%}.row-fluid .offset8:first-child{margin-left:68.50828729281768%;*margin-left:68.40190431409427%}.row-fluid .offset7{margin-left:62.70718232044199%;*margin-left:62.600799341718584%}.row-fluid .offset7:first-child{margin-left:59.94475138121547%;*margin-left:59.838368402492065%}.row-fluid .offset6{margin-left:54.14364640883978%;*margin-left:54.037263430116376%}.row-fluid .offset6:first-child{margin-left:51.38121546961326%;*margin-left:51.27483249088986%}.row-fluid .offset5{margin-left:45.58011049723757%;*margin-left:45.4737275185141
7%}.row-fluid .offset5:first-child{margin-left:42.81767955801105%;*margin-left:42.71129657928765%}.row-fluid .offset4{margin-left:37.01657458563536%;*margin-left:36.91019160691196%}.row-fluid .offset4:first-child{margin-left:34.25414364640884%;*margin-left:34.14776066768544%}.row-fluid .offset3{margin-left:28.45303867403315%;*margin-left:28.346655695309746%}.row-fluid .offset3:first-child{margin-left:25.69060773480663%;*margin-left:25.584224756083227%}.row-fluid .offset2{margin-left:19.88950276243094%;*margin-left:19.783119783707537%}.row-fluid .offset2:first-child{margin-left:17.12707182320442%;*margin-left:17.02068884448102%}.row-fluid .offset1{margin-left:11.32596685082873%;*margin-left:11.219583872105325%}.row-fluid .offset1:first-child{margin-left:8.56353591160221%;*margin-left:8.457152932878806%}input,textarea,.uneditable-input{margin-left:0}.controls-row [class*="span"]+[class*="span"]{margin-left:20px}input.span12,textarea.span12,.uneditable-input.span12{width:710px}input.sp
an11,textarea.span11,.uneditable-input.span11{width:648px}input.span10,textarea.span10,.uneditable-input.span10{width:586px}input.span9,textarea.span9,.uneditable-input.span9{width:524px}input.span8,textarea.span8,.uneditable-input.span8{width:462px}input.span7,textarea.span7,.uneditable-input.span7{width:400px}input.span6,textarea.span6,.uneditable-input.span6{width:338px}input.span5,textarea.span5,.uneditable-input.span5{width:276px}input.span4,textarea.span4,.uneditable-input.span4{width:214px}input.span3,textarea.span3,.uneditable-input.span3{width:152px}input.span2,textarea.span2,.uneditable-input.span2{width:90px}input.span1,textarea.span1,.uneditable-input.span1{width:28px}}@media(max-width:767px){body{padding-right:20px;padding-left:20px}.navbar-fixed-top,.navbar-fixed-bottom,.navbar-static-top{margin-right:-20px;margin-left:-20px}.container-fluid{padding:0}.dl-horizontal dt{float:none;width:auto;clear:none;text-align:left}.dl-horizontal dd{margin-left:0}.container{width:aut
o}.row-fluid{width:100%}.row,.thumbnails{margin-left:0}.thumbnails>li{float:none;margin-left:0}[class*="span"],.uneditable-input[class*="span"],.row-fluid [class*="span"]{display:block;float:none;width:100%;margin-left:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.span12,.row-fluid .span12{width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.row-fluid [class*="offset"]:first-child{margin-left:0}.input-large,.input-xlarge,.input-xxlarge,input[class*="span"],select[class*="span"],textarea[class*="span"],.uneditable-input{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.input-prepend input,.input-append input,.input-prepend input[class*="span"],.input-append input[class*="span"]{display:inline-block;width:auto}.controls-row [class*="span"]+[class*="span"]{margin-left:0}.modal{position:fixed;top:20px;right:20px;left:20px;width:auto;margin:0}.m
odal.fade{top:-100px}.modal.fade.in{top:20px}}@media(max-width:480px){.nav-collapse{-webkit-transform:translate3d(0,0,0)}.page-header h1 small{display:block;line-height:20px}input[type="checkbox"],input[type="radio"]{border:1px solid #ccc}.form-horizontal .control-label{float:none;width:auto;padding-top:0;text-align:left}.form-horizontal .controls{margin-left:0}.form-horizontal .control-list{padding-top:0}.form-horizontal .form-actions{padding-right:10px;padding-left:10px}.media .pull-left,.media .pull-right{display:block;float:none;margin-bottom:10px}.media-object{margin-right:0;margin-left:0}.modal{top:10px;right:10px;left:10px}.modal-header .close{padding:10px;margin:-10px}.carousel-caption{position:static}}@media(max-width:979px){body{padding-top:0}.navbar-fixed-top,.navbar-fixed-bottom{position:static}.navbar-fixed-top{margin-bottom:20px}.navbar-fixed-bottom{margin-top:20px}.navbar-fixed-top .navbar-inner,.navbar-fixed-bottom .navbar-inner{padding:5px}.navbar .container{width:a
uto;padding:0}.navbar .brand{padding-right:10px;padding-left:10px;margin:0 0 0 -5px}.nav-collapse{clear:both}.nav-collapse .nav{float:none;margin:0 0 10px}.nav-collapse .nav>li{float:none}.nav-collapse .nav>li>a{margin-bottom:2px}.nav-collapse .nav>.divider-vertical{display:none}.nav-collapse .nav .nav-header{color:#777;text-shadow:none}.nav-collapse .nav>li>a,.nav-collapse .dropdown-menu a{padding:9px 15px;font-weight:bold;color:#777;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.nav-collapse .btn{padding:4px 10px 4px;font-weight:normal;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.nav-collapse .dropdown-menu li+li a{margin-bottom:2px}.nav-collapse .nav>li>a:hover,.nav-collapse .nav>li>a:focus,.nav-collapse .dropdown-menu a:hover,.nav-collapse .dropdown-menu a:focus{background-color:#f2f2f2}.navbar-inverse .nav-collapse .nav>li>a,.navbar-inverse .nav-collapse .dropdown-menu a{color:#999}.navbar-inverse .nav-collapse .nav>li>a:hover,.navbar
-inverse .nav-collapse .nav>li>a:focus,.navbar-inverse .nav-collapse .dropdown-menu a:hover,.navbar-inverse .nav-collapse .dropdown-menu a:focus{background-color:#111}.nav-collapse.in .btn-group{padding:0;margin-top:5px}.nav-collapse .dropdown-menu{position:static;top:auto;left:auto;display:none;float:none;max-width:none;padding:0;margin:0 15px;background-color:transparent;border:0;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.nav-collapse .open>.dropdown-menu{display:block}.nav-collapse .dropdown-menu:before,.nav-collapse .dropdown-menu:after{display:none}.nav-collapse .dropdown-menu .divider{display:none}.nav-collapse .nav>li>.dropdown-menu:before,.nav-collapse .nav>li>.dropdown-menu:after{display:none}.nav-collapse .navbar-form,.nav-collapse .navbar-search{float:none;padding:10px 15px;margin:10px 0;border-top:1px solid #f2f2f2;border-bottom:1px solid #f2f2f2;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,
255,0.1),0 1px 0 rgba(255,255,255,0.1);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1)}.navbar-inverse .nav-collapse .navbar-form,.navbar-inverse .nav-collapse .navbar-search{border-top-color:#111;border-bottom-color:#111}.navbar .nav-collapse .nav.pull-right{float:none;margin-left:0}.nav-collapse,.nav-collapse.collapse{height:0;overflow:hidden}.navbar .btn-navbar{display:block}.navbar-static .navbar-inner{padding-right:10px;padding-left:10px}}@media(min-width:980px){.nav-collapse.collapse{height:auto!important;overflow:visible!important}}
a***@apache.org
2017-12-21 04:53:06 UTC
Permalink
http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/assets/themes/mahout/css/style.css
----------------------------------------------------------------------
diff --git a/website-old/assets/themes/mahout/css/style.css b/website-old/assets/themes/mahout/css/style.css
deleted file mode 100644
index d261286..0000000
--- a/website-old/assets/themes/mahout/css/style.css
+++ /dev/null
@@ -1,1128 +0,0 @@
-/* Move down content because we have a fixed navbar that is 50px tall */
-@import url(//fonts.googleapis.com/css?family=Patua+One);
-@import url(//fonts.googleapis.com/css?family=Open+Sans);
-
-
-/*
- colors - mahout light blue cde9fc
- colors - mahout light yellow cde9fc
- colors - mahout blue button homepage 0099cc
- grey - aaaaaa
-
-*/
-
-body {
- padding-top: 50px;
- font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
- line-height: 1.6;
- color: #4c555a;
- letter-spacing: .2px;
-}
-
-.logopage_container {
- display: inline-block;
- vertical-align: middle;
- margin: 10px 20px;
-}
-
-.jumbotron {
-/* background-color: #cde9fc; */
- background-color: #cde9fc;
- margin-bottom: 0px;
- padding-top: 28px;
-}
-
-.jumbotron h1,
-.jumbotron p {
- color: #000;
-}
-
-.jumbotron p {
- font-size: 19px;
- line-height: 1.5;
- margin-bottom: 28px;
-}
-
-.jumbotron .btn {
- font-size: 16px;
-}
-
-.jumbotron .thumbnail {
- margin-top: 0;
-}
-
-.jumbotron.small {
- padding: 0 0 0 0;
- color: #ffffff;
-}
-
-.jumbotron.small .title{
- float: left;
- font-weight: bold;
- font-size: 20px;
- height: 30px;
- margin-right: 20px;
-}
-
-.jumbotron.small .subtitle{
- font-size: 14px;
- height: 30px;
- vertical-align: text-bottom;
- padding-top: 7px;
-}
-
-.jumbotron.small .description{
- margin-top: 7px;
-}
-
-.jumbotron h1 {
- font-family: 'Patua One', cursive;
- font-size: 60px;
- line-height: 1.5;
-}
-
-.jumbotron small {
- font-size: 60%;
- color: #FFF;
-}
-
-.navbar-brand {
- padding-top: 10px;
- padding-bottom: 10px;
-}
-
-.navbar-brand img {
- margin: 0;
-}
-
-.navbar {
- background: #cde9fc;
- border-bottom: 0px;
- height: 50px;
-}
-
-.navbar-inverse .navbar-nav > li > a {
- color: black;
- background: #cde9fc;
-}
-
-.navbar-inverse .navbar-nav > li > a:hover,
-.navbar-inverse .navbar-nav > li > a:focus {
- color: black !important;
- background: #FFDE00 !important;
-}
-
-.navbar-inverse .navbar-collapse.in .navbar-nav .dropdown-menu > li > a:hover,
-.navbar-inverse .navbar-collapse.in .navbar-nav .dropdown-menu > li > a:focus {
- color: white !important;
- background: #FFDE00 !important;
-}
-
-.navbar-inverse .navbar-collapse.in .navbar-nav .dropdown-menu > li > a {
- color: white !important;
-}
-
-.navbar-inverse .navbar-collapse.in .navbar-nav .divider {
- background: #286090;
-}
-
-.navbar-inverse .navbar-nav > li > a.active:hover,
-.navbar-inverse .navbar-nav > li > a.active:focus {
- text-decoration: none;
- background: #265380;
-}
-
-.navbar-inverse .navbar-nav > li > a.active {
- background: #265380;
-}
-
-.navbar-inverse .navbar-brand {
- color: black;
- text-decoration: none;
- font-size: 32px;
-}
-
-.navbar-inverse .navbar-collapse,
-.navbar-inverse .navbar-form {
- border-color: #265380;
- background: #cde9fc;
-}
-
-.bigFingerButton {
- margin-right: 10px;
-}
-
-.navbar-inverse .navbar-toggle {
- border-color: #265380;
-}
-
-.navbar-inverse .navbar-toggle:hover,
-.navbar-inverse .navbar-toggle:focus {
- border-color: #265380;
- background: #265380;
-}
-
-.navbar-inverse .navbar-toggle:focus {
- outline-width: 0;
-}
-
-/* SideMenu */
-
-.sideMenu li {
- list-style: none;
- border: 1px solid #c2c2c2;
- border-bottom: none;
- padding: 5px 10px;
-}
-
-.sideMenu li a {
- text-decoration: none;
- color: #cde9fc;
-}
-
-.sideMenu li:first-of-type {
- border-top-left-radius: 3px;
- border-top-right-radius: 3px;
-}
-
-.sideMenu li:last-of-type {
- border-bottom: 1px solid #c2c2c2;
- border-bottom-left-radius: 3px;
- border-bottom-right-radius: 3px;
-}
-
-/* CUSTOMIZE THE CAROUSEL
--------------------------------------------------- */
-
-/* Carousel base class */
-.carousel {
- height: 200px;
- margin-bottom: 10px;
-}
-/* Since positioning the image, we need to help out the caption */
-.carousel-caption {
- z-index: 10;
-}
-
-/* Declare heights because of positioning of img element */
-.carousel .item {
- height: 300px;
-}
-
-.carousel-control {
- background-image: none !important;
-}
-
-.carousel-inner > .item > img {
- position: absolute;
- top: 0;
- left: 0;
- min-width: 100%;
- height: 300px;
-}
-
-.carousel-indicators {
- margin-top: 30px;
- margin-bottom: 0;
-}
-
-/* screenshot img inside of doc */
-.screenshot {
- width: 800px;
-}
-
-.rotate270 {
- width: 15px;
- padding: 10px 0 0 0;
- -webkit-transform: rotate(270deg);
- -moz-transform: rotate(270deg);
- -ms-transform: rotate(270deg);
- -o-transform: rotate(270deg);
- transform: rotate(270deg);
-}
-
-/* Custom container */
-.content {
- word-wrap: break-word;
- max-width: 860px;
- padding: 2rem 2rem;
- margin: 0 auto;
-}
-.content :first-child {
- margin-top: 0;
-}
-
-/* <a> */
-.content a {
- color: #4183C4;
-}
-a.absent {
- color: #cc0000;
-}
-a.anchor {
- display: block;
- padding-left: 30px;
- margin-left: -30px;
- cursor: pointer;
- position: absolute;
- top: 0;
- left: 0;
- bottom: 0;
-}
-
-/* <hn> */
-.content h1, h2, h3, h4, h5, h6 {
- font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
- margin-top: 3rem;
- margin-bottom: 1rem;
- font-weight: bold;
- color: rgba(21,21,21,0.8);
-}
-.content h1 {
- font-size: 30px;
- color: black;
-}
-.content h2 {
- font-size: 28px;
- padding-top: 5px;
- padding-bottom: 5px;
- border-bottom: 1px solid #E5E5E5;
-}
-.content h3 {
- font-size: 22px;
- padding-top: 5px;
- padding-bottom: 5px;
-}
-.content h4 {
- font-size: 18px;
-}
-.content h5 {
- font-size: 14px;
-}
-.content h6 {
- font-size: 14px;
- color: #777777;
-}
-
-.content img {
- max-width: 100%;
-}
-
-/* <li, ul, ol> */
-.content li {
- margin: 0;
-}
-.content li p.viz {
- display: inline-block;
-}
-.content ul :first-child, ol :first-child {
- margin-top: 0px;
-}
-
-.content .nav-tabs {
- margin-bottom: 10px;
-}
-
-/* <code> */
-.content code {
- padding: 2px 4px;
- font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace;
- font-size: 90%;
- color: #567482;
- background-color: #f3f6fa;
- border-radius: 0.3rem;
-}
-
-/* <pre> */
-.content pre {
- padding: 0.8rem;
- margin-top: 0;
- margin-bottom: 1rem;
- font: Consolas, "Liberation Mono", Menlo, Courier, monospace;
- font-size: 90%;
- color: #567482;
- word-wrap: normal;
- background-color: #f3f6fa;
- border: solid 1px #dce6f0;
- border-radius: 0.3rem;
-}
-.content pre > code {
- padding: 0;
- margin: 0;
- font-size: 95%;
- color: #567482;
- word-break: normal;
- white-space: pre;
- background: transparent;
- border: 0;
-}
-.content .highlight {
- margin-bottom: 1rem;
-}
-.content .highlight pre {
- margin-bottom: 0;
- word-break: normal;
-}
-.content .highlight pre,
-.content pre {
- padding: 0.8rem;
- overflow: auto;
- font-size: 90%;
- line-height: 1.45;
- border-radius: 0.3rem;
- -webkit-overflow-scrolling: touch;
-}
-.content pre code,
-.content pre tt {
- display: inline;
- max-width: initial;
- padding: 0;
- margin: 0;
- overflow: initial;
- line-height: inherit;
- word-wrap: normal;
- background-color: transparent;
- border: 0;
-}
-.content pre code:before, .main-content pre code:after,
-.content pre tt:before,
-.content pre tt:after {
- content: normal;
-}
-
-/* <blockquotes> */
-.content blockquote {
- padding: 0 1rem;
- margin-left: 0;
- color: #819198;
- border-left: 0.3rem solid #dce6f0;
-}
-.content blockquote > :first-child {
- margin-top: 0;
-}
-.content blockquote > :last-child {
- margin-bottom: 0;
-}
-.content blockquote p {
- font-size: 14px;
-}
-
-/* <table> */
-.content table {
- display: block;
- width: 100%;
- overflow: auto;
- word-break: normal;
- word-break: keep-all;
- -webkit-overflow-scrolling: touch;
- font-size: 90%;
-}
-.content table th {
- font-weight: bold;
- text-align: center;
- background-color: rgba(91, 138, 179, 0.10);
-}
-.content table th,
-.content table td {
- padding: 0.5rem 1rem;
- border: 1px solid #e9ebec;
-}
-
-/* posts index */
-.post > h3.title {
- position: relative;
- padding-top: 10px;
-}
-
-.post > h3.title span.date {
- position: absolute;
- right: 0;
- font-size: 0.9em;
-}
-
-.post > .more {
- margin: 10px 0;
- text-align: left;
-}
-
-/* post-full*/
-.post-full .date {
- margin-bottom: 20px;
- font-weight: bold;
-}
-
-/* tag_box */
-.tag_box {
- list-style: none;
- margin: 0;
- overflow: hidden;
-}
-
-.tag_box li {
- line-height: 28px;
-}
-
-.tag_box li i {
- opacity: 0.9;
-}
-
-.tag_box.inline li {
- float: left;
-}
-
-.tag_box a {
- padding: 3px 6px;
- margin: 2px;
- background: #eee;
- color: #555;
- border-radius: 3px;
- text-decoration: none;
- border: 1px dashed #cccccc;
-}
-
-.tag_box a span {
- vertical-align: super;
- font-size: 0.8em;
-}
-
-.tag_box a:hover {
- background: #e5e5e5;
-}
-
-.tag_box a.active {
- background: #57A957;
- border: 1px solid #4c964d;
- color: white;
-}
-
-.navbar-brand {
- font-family: 'Patua One', cursive;
-}
-
-.navbar-brand small {
- font-size: 14px;
- font-family: 'Helvetica Neue', Helvetica;
- color: white;
-}
-
-.navbar-collapse.collapse {
- max-height: 50px;
-}
-
-.navbar-inverse .navbar-nav a .caret,
-.navbar-inverse .navbar-nav a:hover .caret {
- margin-left: 4px;
- border-top-color: white;
- border-bottom-color: white;
-}
-
-.navbar-inverse .navbar-nav > .open > a,
-.navbar-inverse .navbar-nav > .open > a:hover,
-.navbar-inverse .navbar-nav > .open > a:focus {
- color: white;
- background: #286090;
-}
-
-a.anchorjs-link:hover { text-decoration: none; }
-
-.index-header {
- font-family: 'Helvetica' !important;
- text-align: center;
- font-size: 37px !important;
- font-weight: 700;
- text-transform: uppercase;
- border-bottom: none;
- color: #4c555a !important;
- letter-spacing: 1px;
-}
-
-/* Helium Package list style */
-.heliumPackageContainer p {
- font-family: "Helvetica Neue";
- font-weight: 900;
- padding: 12px 0;
- text-transform: uppercase;
-}
-
-.heliumPackageList {
- min-height: 25px;
- margin-bottom: 15px;
- border-bottom: 2px solid #EFEFEF;
- padding-bottom: 13px;
-}
-
-.heliumPackageList .heliumPackageHead {
- font-family: "Helvetica Neue";
- height: 30px;
-}
-
-.heliumPackageList .heliumPackageName {
- font-size: 20px;
- font-weight: 900;
- color: #cde9fc;
- margin-top: 0;
-}
-
-.heliumPackageList .heliumPackageName span {
- font-size: 10px;
- color: #aaa;
-}
-
-.heliumPackageList .heliumPackageAuthor {
- font-size: 12px;
- color: #aaa;
- margin-top: 4px;
-}
-
-.heliumPackageList .heliumPackageIcon {
- float: left;
- font-size: 17px;
- width: 26px;
- height: 22px;
- padding: 5px 2px 0px 2px;
-}
-
-.heliumPackageList .heliumPackageDescription {
- margin-top: 10px;
- margin-bottom: 10px;
-}
-
-.heliumPackageList .heliumPackageLatestVersion {
- color: #aaa;
- font-style: italic;
-}
-
-.helium-radio {
- position: absolute;
- display: none;
-}
-
-.helium-radio[disabled] {
- cursor: not-allowed;
-}
-
-.helium-radio + label {
- position: relative;
- display: block;
- padding-left: 36px;
- cursor: pointer;
- vertical-align: middle;
- font-size: 13px;
- font-weight: 500;
- line-height: 26px;
-}
-.helium-radio + label:hover:before {
- animation-duration: 0.4s;
- animation-fill-mode: both;
- animation-name: hover-color;
-}
-.helium-radio + label:before {
- position: absolute;
- top: 5px;
- left: 5px;
- display: inline-block;
- width: 19px;
- height: 19px;
- content: '';
- border: 1px solid #c0c0c0;
-}
-.helium-radio + label:after {
- position: absolute;
- display: none;
- content: '';
-}
-
-.helium-radio[disabled] + label {
- cursor: not-allowed;
- color: #e4e4e4;
-}
-.helium-radio[disabled] + label:hover, .helium-radio[disabled] + label:before, .helium-radio[disabled] + label:after {
- cursor: not-allowed;
-}
-.helium-radio[disabled] + label:hover:before {
- border: 1px solid #e4e4e4;
- animation-name: none;
-}
-.helium-radio[disabled] + label:before {
- border-color: #e4e4e4;
-}
-
-.helium-radio:checked + label:before {
- animation-name: none;
-}
-
-.helium-radio:checked + label:after {
- display: block;
-}
-
-.helium-radio + label:before {
- border-radius: 50%;
-}
-
-.helium-radio + label:after {
- top: 11px;
- left: 11px;
- width: 7px;
- height: 7px;
- border-radius: 50%;
- background: #3e97eb;
-}
-
-.helium-radio:checked + label:before {
- border: 1px solid #3e97eb;
-}
-
-.helium-radio:checked[disabled] + label:before {
- border: 1px solid #c9e2f9;
-}
-
-.helium-radio:checked[disabled] + label:after {
- background: #c9e2f9;
-}
-
-/* For what's new section */
-.new {
- background: rgba(226, 233, 239, 0.4);
- padding-bottom: 28px;
-}
-
-.new .description {
- text-align: center;
- padding: 18px;
- font-size: 17px;
-}
-
-/* todo : zep -> mahout*/
-.newMahout {
- text-align: center;
- font-family: 'Patua One', cursive;
- font-size: 30px;
- padding-bottom: 28px;
- color: #0099cc;
-}
-
-.new h2 {
- font-family: "Helvetica";
- text-align: center;
- padding-top: 32px;
- font-size: 37px;
- font-weight: 700;
- text-transform: uppercase;
- border-bottom: none;
- letter-spacing: 1px;
-}
-
-.new h4 {
- text-align: center;
- font-size: 20px;
- font-weight: 700;
- padding: 18px;
- margin-top: 8px;
-}
-
-.new p {
- padding-bottom: 18px;
- padding-right: 9px;
- padding-left: 9px;
- text-align: justify;
-}
-
-.newBtn .round {
- border-radius: 24px;
-}
-
-.newBtn .btn {
- padding: 14px 16px;
- border: 0 none;
- font-weight: 700;
- font-size: 14px;
- letter-spacing: 1px;
- text-transform: uppercase;
- color: #fff !important;
- width: 190px;
- margin: 24px 16px
-}
-
-.newBtn .btn:focus, .btn:active:focus, .btn.active:focus {
- outline: 0 none;
-}
-
-.newBtn .btn-primary {
- background: #0099cc;
- color: #ffffff;
-}
-.newBtn .btn-primary:hover, .btn-primary:focus, .btn-primary:active, .btn-primary.active, .open > .dropdown-toggle.btn-primary {
- background: #ffffff;
- transition: .1s ease-in;
-}
-.newBtn .btn-primary:active, .btn-primary.active {
- background: #007299;
- box-shadow: none;
-}
-
-/* For twitter news feed button */
-.twitterBtn .round {
- border-radius: 18px;
-}
-
-.twitterBtn .btn {
- padding: 10px 24px;
- border: 0 none;
- font-weight: 700;
- font-size: 13px;
- letter-spacing: 1px;
- text-transform: uppercase;
- color: #fff !important;
- width: 280px;
- margin: 8px 16px
-}
-
-.twitterBtn .btn:focus, .btn:active:focus, .btn.active:focus {
- outline: 0 none;
-}
-
-.twitterBtn .btn-primary {
- background: #0099cc;
- color: #ffffff;
-}
-.twitterBtn .btn-primary:hover, .btn-primary:focus, .btn-primary:active, .btn-primary.active, .open > .dropdown-toggle.btn-primary {
- background: #33a6cc;
- transition: .1s ease-in;
-}
-.twitterBtn .btn-primary:active, .btn-primary.active {
- background: #007299;
- box-shadow: none;
-}
-
-/* For Medium Blog post */
-.blog {
- background: #fff;
- padding-bottom: 28px;
-}
-
-.blog .container {
- width: 60vw;
- max-width: 750px;
-}
-
-.blogContentBox {
- border-top: solid 1px #93A1A1;
- margin-top: 26px;
- padding-top: 22px;
- padding-bottom: 16px;
-}
-
-.blog h2 {
- font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
- text-align: center;
- padding-top: 32px;
- font-size: 36px;
- font-weight: 700;
- text-transform: uppercase;
- border-bottom: none;
- letter-spacing: 1px;
-}
-
-.blogList {
- min-height: 25px;
- margin-bottom: 22px;
- border-bottom: 1px solid #EFEFEF;
- padding-bottom: 22px;
-}
-
-.blogList .blogHead {
- font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
- height: 30px;
-}
-
-.blogList .blogTitle {
- white-space: nowrap;
- overflow: hidden;
- text-overflow: ellipsis;
-}
-
-.blogList .blogTitle a {
- font-size: 24px;
- font-weight: 700;
- letter-spacing: -.02em;
- line-height: 1.2;
- color: rgba(0,0,0,.7);
- margin-top: 5px;
- margin-bottom: 3px;
-}
-
-.blogList .blogDescription {
- margin-top: 14px;
- margin-bottom: 14px;
- letter-spacing: -.02em;
- font-weight: 200;
- font-size: 16px;
- line-height: 1.3;
- color: #000;
-}
-
-.blogList .blogAuthor {
- font-weight: 200;
- color: #00ab6b;
- float: left;
-}
-
-.blogList .blogPublishDate::before {
- content: '\00B7';
-}
-
-.blogList .blogPublishDate {
- font-weight: 200;
- color: rgba(0,0,0,.44);
-}
-
-/* Demo img thumbnail */
-.thumbnail {
- background-color: transparent;
- border: none;
- display: inline;
-}
-
-.thumbnail img {
- margin: 0 5px 5px 0;
-}
-
-.thumbnail:hover {
- background-color: transparent;
-}
-
-/* For enlarged image*/
-.thumbnail span img {
- border-width: 0;
- padding: 2px;
- max-width: 55vw;
-}
-
-.viz .thumbnail span {
- position: absolute;
- padding: 5px;
- left: -55vw;
- visibility: hidden;
- color: black;
- text-decoration: none;
- width: 30px;
-}
-
-.viz .thumbnail:hover span {
- visibility: visible;
- top: 0;
- left: 320px; /*position where enlarged image should offset horizontally */
- z-index: 50;
-}
-
-.multi .thumbnail span {
- position: absolute;
- padding: 5px;
- left: -12vw;
- top: 160px;
- visibility: hidden;
- color: black;
- text-decoration: none;
- width: 30px;
-}
-
-.multi .thumbnail:hover span {
- visibility: visible;
- z-index: 50;
-}
-
-.personal .thumbnail span {
- position: absolute;
- padding: 5px;
- left: -55vw;
- visibility: hidden;
- color: black;
- text-decoration: none;
- width: 30px;
-}
-
-.personal .thumbnail:hover span {
- visibility: visible;
- top: 0;
- z-index: 50;
-}
-
-
-/* Custom, iPhone Retina */
-@media only screen and (max-width: 480px) {
- .jumbotron h1 {
- display: none;
- }
- .navbar-brand small {
- display: none;
- color: white;
- }
-}
-
-@media only screen and (max-width: 768px) {
- .navbar .navbar-brand {
- padding-bottom: 0;
- }
-
- /* For enlarged image*/
- .thumbnail span img {
- max-width: 86vw !important;
- }
-
- .viz .thumbnail span {
- left: 0;
- }
-
- .viz .thumbnail:hover span {
- top: 16vh;
- left: 0;
- }
-
- .multi .thumbnail span {
- left: 0;
- top: 16vh;
- }
-
- .personal .thumbnail span {
- left: 0;
- }
-
- .personal .thumbnail:hover span {
- top: 16vh;
- left: 0;
- }
-
- .blog .container {
- width: 80vw;
- }
-}
-
-@media only screen
-and (min-width: 768px)
-and (max-width: 996px) {
- .navbar-brand small {
- display: none;
- }
- .navbar-collapse.collapse {
- padding-right: 0;
- }
- .navbar-header {
- float: none;
- }
- .navbar-toggle {
- display: block;
- }
- .navbar-fixed-top {
- top: 0;
- border-width: 0 0 1px;
- }
- .navbar-collapse {
- border-top: 1px solid transparent;
- box-shadow: inset 0 1px 0 rgba(255,255,255,0.1);
- }
- .navbar-collapse.collapse {
- display: none!important;
- }
- .navbar-nav {
- float: none!important;
- margin-top: 7.5px;
- }
- .navbar-nav>li {
- float: none;
- }
- .navbar-nav>li>a {
- padding-top: 10px;
- padding-bottom: 10px;
- }
- .collapse.in{
- display:block !important;
- }
-}
-
-@media only screen
-and (min-width: 768px)
-and (max-width: 1024px) {
- .navbar-brand small {
- display: none;
- }
- .navbar-collapse.collapse {
- padding-right: 0;
- }
-}
-
-/* master branch docs dropdown menu */
-#menu .dropdown-menu li span {
- padding: 3px 10px 10px 10px;
- font-size: 13px;
-}
-
-#menu .caret {
- border-top-color: white;
- border-bottom-color: white;
-}
-
-#menu .open .caret {
- border-top-color: #428bca;
- border-bottom-color: #428bca;
-}
-
-#menu .navbar-brand {
- margin-right: 50px;
-}
-
-/* gh-pages branch docs dropdown menu */
-#docs .dropdown-menu {
- left: 0;
- right: auto;
-}
-
-#docs .dropdown-menu li span {
- padding: 3px 10px 10px 10px;
- font-size: 13px;
-}
-
-/*
-** Media Queries CSS
-*/
-
-
-
-@media (max-width: 991px) {
- .navbar-inverse .navbar-brand {
- font-size: 28px;
- }
-
- .content {
- padding: 2rem 4rem;
- }
-}
-
-@media (max-width: 768px) {
- .navbar-collapse.in {
- box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.4);
- }
-
- .bigFingerButton {
- margin-top: 12px;
- display: block;
- margin-right: auto;
- margin-left: auto;
- }
-
- .sideMenu {
- margin-bottom: 15px;
- }
-
- .content {
- padding: 2rem 2rem;
- }
-}
-
-@media screen and (min-width: 768px) {
- .carousel-indicators {
- margin-bottom: -60px;
- }
- .carousel-caption {
- padding-bottom: 60px;
- }
-}

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/assets/themes/mahout/css/syntax.css
----------------------------------------------------------------------
diff --git a/website-old/assets/themes/mahout/css/syntax.css b/website-old/assets/themes/mahout/css/syntax.css
deleted file mode 100644
index 1e651cf..0000000
--- a/website-old/assets/themes/mahout/css/syntax.css
+++ /dev/null
@@ -1,60 +0,0 @@
-.highlight { background: #ffffff; }
-.highlight .c { color: #999988; font-style: italic } /* Comment */
-.highlight .err { color: #a61717; background-color: #e3d2d2 } /* Error */
-.highlight .k { font-weight: bold } /* Keyword */
-.highlight .o { font-weight: bold } /* Operator */
-.highlight .cm { color: #999988; font-style: italic } /* Comment.Multiline */
-.highlight .cp { color: #999999; font-weight: bold } /* Comment.Preproc */
-.highlight .c1 { color: #999988; font-style: italic } /* Comment.Single */
-.highlight .cs { color: #999999; font-weight: bold; font-style: italic } /* Comment.Special */
-.highlight .gd { color: #000000; background-color: #ffdddd } /* Generic.Deleted */
-.highlight .gd .x { color: #000000; background-color: #ffaaaa } /* Generic.Deleted.Specific */
-.highlight .ge { font-style: italic } /* Generic.Emph */
-.highlight .gr { color: #aa0000 } /* Generic.Error */
-.highlight .gh { color: #999999 } /* Generic.Heading */
-.highlight .gi { color: #000000; background-color: #ddffdd } /* Generic.Inserted */
-.highlight .gi .x { color: #000000; background-color: #aaffaa } /* Generic.Inserted.Specific */
-.highlight .go { color: #888888 } /* Generic.Output */
-.highlight .gp { color: #555555 } /* Generic.Prompt */
-.highlight .gs { font-weight: bold } /* Generic.Strong */
-.highlight .gu { color: #aaaaaa } /* Generic.Subheading */
-.highlight .gt { color: #aa0000 } /* Generic.Traceback */
-.highlight .kc { font-weight: bold } /* Keyword.Constant */
-.highlight .kd { font-weight: bold } /* Keyword.Declaration */
-.highlight .kp { font-weight: bold } /* Keyword.Pseudo */
-.highlight .kr { font-weight: bold } /* Keyword.Reserved */
-.highlight .kt { color: #445588; font-weight: bold } /* Keyword.Type */
-.highlight .m { color: #009999 } /* Literal.Number */
-.highlight .s { color: #d14 } /* Literal.String */
-.highlight .na { color: #008080 } /* Name.Attribute */
-.highlight .nb { color: #0086B3 } /* Name.Builtin */
-.highlight .nc { color: #445588; font-weight: bold } /* Name.Class */
-.highlight .no { color: #008080 } /* Name.Constant */
-.highlight .ni { color: #800080 } /* Name.Entity */
-.highlight .ne { color: #990000; font-weight: bold } /* Name.Exception */
-.highlight .nf { color: #990000; font-weight: bold } /* Name.Function */
-.highlight .nn { color: #555555 } /* Name.Namespace */
-.highlight .nt { color: #000080 } /* Name.Tag */
-.highlight .nv { color: #008080 } /* Name.Variable */
-.highlight .ow { font-weight: bold } /* Operator.Word */
-.highlight .w { color: #bbbbbb } /* Text.Whitespace */
-.highlight .mf { color: #009999 } /* Literal.Number.Float */
-.highlight .mh { color: #009999 } /* Literal.Number.Hex */
-.highlight .mi { color: #009999 } /* Literal.Number.Integer */
-.highlight .mo { color: #009999 } /* Literal.Number.Oct */
-.highlight .sb { color: #d14 } /* Literal.String.Backtick */
-.highlight .sc { color: #d14 } /* Literal.String.Char */
-.highlight .sd { color: #d14 } /* Literal.String.Doc */
-.highlight .s2 { color: #d14 } /* Literal.String.Double */
-.highlight .se { color: #d14 } /* Literal.String.Escape */
-.highlight .sh { color: #d14 } /* Literal.String.Heredoc */
-.highlight .si { color: #d14 } /* Literal.String.Interpol */
-.highlight .sx { color: #d14 } /* Literal.String.Other */
-.highlight .sr { color: #009926 } /* Literal.String.Regex */
-.highlight .s1 { color: #d14 } /* Literal.String.Single */
-.highlight .ss { color: #990073 } /* Literal.String.Symbol */
-.highlight .bp { color: #999999 } /* Name.Builtin.Pseudo */
-.highlight .vc { color: #008080 } /* Name.Variable.Class */
-.highlight .vg { color: #008080 } /* Name.Variable.Global */
-.highlight .vi { color: #008080 } /* Name.Variable.Instance */
-.highlight .il { color: #009999 } /* Literal.Number.Integer.Long */
\ No newline at end of file

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/assets/themes/mahout/imgx/asf_logo.png b/website-old/assets/themes/mahout/imgx/asf_logo.png
deleted file mode 100644
index b20bb7f..0000000
Binary files a/website-old/assets/themes/mahout/imgx/asf_logo.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/assets/themes/mahout/imgx/available_interpreters.png b/website-old/assets/themes/mahout/imgx/available_interpreters.png
deleted file mode 100644
index dc5545e..0000000
Binary files a/website-old/assets/themes/mahout/imgx/available_interpreters.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/assets/themes/mahout/imgx/body-bg.jpg b/website-old/assets/themes/mahout/imgx/body-bg.jpg
deleted file mode 100644
index 0e0f861..0000000
Binary files a/website-old/assets/themes/mahout/imgx/body-bg.jpg and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/assets/themes/mahout/imgx/graph1.png b/website-old/assets/themes/mahout/imgx/graph1.png
deleted file mode 100644
index 45296d3..0000000
Binary files a/website-old/assets/themes/mahout/imgx/graph1.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/assets/themes/mahout/imgx/graph2.png b/website-old/assets/themes/mahout/imgx/graph2.png
deleted file mode 100644
index 75d4558..0000000
Binary files a/website-old/assets/themes/mahout/imgx/graph2.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/assets/themes/mahout/imgx/header-bg.jpg b/website-old/assets/themes/mahout/imgx/header-bg.jpg
deleted file mode 100644
index 960bff7..0000000
Binary files a/website-old/assets/themes/mahout/imgx/header-bg.jpg and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/assets/themes/mahout/imgx/helium.gif b/website-old/assets/themes/mahout/imgx/helium.gif
deleted file mode 100644
index e97a238..0000000
Binary files a/website-old/assets/themes/mahout/imgx/helium.gif and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/assets/themes/mahout/imgx/highlight-bg.jpg b/website-old/assets/themes/mahout/imgx/highlight-bg.jpg
deleted file mode 100644
index 4c4a78e..0000000
Binary files a/website-old/assets/themes/mahout/imgx/highlight-bg.jpg and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/assets/themes/mahout/imgx/interpreter.png b/website-old/assets/themes/mahout/imgx/interpreter.png
deleted file mode 100644
index 28d92f6..0000000
Binary files a/website-old/assets/themes/mahout/imgx/interpreter.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/assets/themes/mahout/imgx/maven_default_icon.png b/website-old/assets/themes/mahout/imgx/maven_default_icon.png
deleted file mode 100644
index 56b3894..0000000
Binary files a/website-old/assets/themes/mahout/imgx/maven_default_icon.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/assets/themes/mahout/imgx/notebook.png b/website-old/assets/themes/mahout/imgx/notebook.png
deleted file mode 100644
index 5995bf2..0000000
Binary files a/website-old/assets/themes/mahout/imgx/notebook.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/assets/themes/mahout/imgx/personalize.gif b/website-old/assets/themes/mahout/imgx/personalize.gif
deleted file mode 100644
index 95c6af2..0000000
Binary files a/website-old/assets/themes/mahout/imgx/personalize.gif and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/assets/themes/mahout/imgx/scope.gif b/website-old/assets/themes/mahout/imgx/scope.gif
deleted file mode 100644
index aa6c6b1..0000000
Binary files a/website-old/assets/themes/mahout/imgx/scope.gif and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/assets/themes/mahout/imgx/screenshots/collaboration.png b/website-old/assets/themes/mahout/imgx/screenshots/collaboration.png
deleted file mode 100644
index 1a68468..0000000
Binary files a/website-old/assets/themes/mahout/imgx/screenshots/collaboration.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/assets/themes/mahout/imgx/screenshots/display_angular.png b/website-old/assets/themes/mahout/imgx/screenshots/display_angular.png
deleted file mode 100644
index 923f0a5..0000000
Binary files a/website-old/assets/themes/mahout/imgx/screenshots/display_angular.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/assets/themes/mahout/imgx/screenshots/display_angular1.png b/website-old/assets/themes/mahout/imgx/screenshots/display_angular1.png
deleted file mode 100644
index b24810c..0000000
Binary files a/website-old/assets/themes/mahout/imgx/screenshots/display_angular1.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/assets/themes/mahout/imgx/screenshots/display_angular2.png b/website-old/assets/themes/mahout/imgx/screenshots/display_angular2.png
deleted file mode 100644
index e2c366b..0000000
Binary files a/website-old/assets/themes/mahout/imgx/screenshots/display_angular2.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/assets/themes/mahout/imgx/screenshots/display_angular3.png b/website-old/assets/themes/mahout/imgx/screenshots/display_angular3.png
deleted file mode 100644
index a5f622d..0000000
Binary files a/website-old/assets/themes/mahout/imgx/screenshots/display_angular3.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/assets/themes/mahout/imgx/screenshots/display_html.png b/website-old/assets/themes/mahout/imgx/screenshots/display_html.png
deleted file mode 100644
index 745c27e..0000000
Binary files a/website-old/assets/themes/mahout/imgx/screenshots/display_html.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/assets/themes/mahout/imgx/screenshots/display_image.png b/website-old/assets/themes/mahout/imgx/screenshots/display_image.png
deleted file mode 100644
index 26624ab..0000000
Binary files a/website-old/assets/themes/mahout/imgx/screenshots/display_image.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/assets/themes/mahout/imgx/screenshots/display_table.png b/website-old/assets/themes/mahout/imgx/screenshots/display_table.png
deleted file mode 100644
index 255860c..0000000
Binary files a/website-old/assets/themes/mahout/imgx/screenshots/display_table.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/assets/themes/mahout/imgx/screenshots/display_table1.png b/website-old/assets/themes/mahout/imgx/screenshots/display_table1.png
deleted file mode 100644
index ce2946d..0000000
Binary files a/website-old/assets/themes/mahout/imgx/screenshots/display_table1.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/assets/themes/mahout/imgx/screenshots/display_table_html.png b/website-old/assets/themes/mahout/imgx/screenshots/display_table_html.png
deleted file mode 100644
index bce874c..0000000
Binary files a/website-old/assets/themes/mahout/imgx/screenshots/display_table_html.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/assets/themes/mahout/imgx/screenshots/display_text.png b/website-old/assets/themes/mahout/imgx/screenshots/display_text.png
deleted file mode 100644
index d177404..0000000
Binary files a/website-old/assets/themes/mahout/imgx/screenshots/display_text.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/assets/themes/mahout/imgx/screenshots/display_text1.png b/website-old/assets/themes/mahout/imgx/screenshots/display_text1.png
deleted file mode 100644
index c39eb09..0000000
Binary files a/website-old/assets/themes/mahout/imgx/screenshots/display_text1.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/assets/themes/mahout/imgx/screenshots/dynamicform.png b/website-old/assets/themes/mahout/imgx/screenshots/dynamicform.png
deleted file mode 100644
index 13a9afe..0000000
Binary files a/website-old/assets/themes/mahout/imgx/screenshots/dynamicform.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/assets/themes/mahout/imgx/screenshots/form_input.png b/website-old/assets/themes/mahout/imgx/screenshots/form_input.png
deleted file mode 100644
index 2bb4878..0000000
Binary files a/website-old/assets/themes/mahout/imgx/screenshots/form_input.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/assets/themes/mahout/imgx/screenshots/form_input_default.png b/website-old/assets/themes/mahout/imgx/screenshots/form_input_default.png
deleted file mode 100644
index 6dedf2c..0000000
Binary files a/website-old/assets/themes/mahout/imgx/screenshots/form_input_default.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/assets/themes/mahout/imgx/screenshots/form_input_default_prog.png b/website-old/assets/themes/mahout/imgx/screenshots/form_input_default_prog.png
deleted file mode 100644
index 246e1c6..0000000
Binary files a/website-old/assets/themes/mahout/imgx/screenshots/form_input_default_prog.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/assets/themes/mahout/imgx/screenshots/form_input_prog.png b/website-old/assets/themes/mahout/imgx/screenshots/form_input_prog.png
deleted file mode 100644
index e727244..0000000
Binary files a/website-old/assets/themes/mahout/imgx/screenshots/form_input_prog.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/assets/themes/mahout/imgx/screenshots/form_select.png b/website-old/assets/themes/mahout/imgx/screenshots/form_select.png
deleted file mode 100644
index f6a1d85..0000000
Binary files a/website-old/assets/themes/mahout/imgx/screenshots/form_select.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/assets/themes/mahout/imgx/screenshots/form_select_displayname.png b/website-old/assets/themes/mahout/imgx/screenshots/form_select_displayname.png
deleted file mode 100644
index b1b5666..0000000
Binary files a/website-old/assets/themes/mahout/imgx/screenshots/form_select_displayname.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/assets/themes/mahout/imgx/screenshots/form_select_prog.png b/website-old/assets/themes/mahout/imgx/screenshots/form_select_prog.png
deleted file mode 100644
index b5d6ca5..0000000
Binary files a/website-old/assets/themes/mahout/imgx/screenshots/form_select_prog.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/assets/themes/mahout/imgx/screenshots/homepage_notebook_id.png b/website-old/assets/themes/mahout/imgx/screenshots/homepage_notebook_id.png
deleted file mode 100644
index ac6ceef..0000000
Binary files a/website-old/assets/themes/mahout/imgx/screenshots/homepage_notebook_id.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/assets/themes/mahout/imgx/screenshots/homepage_notebook_list.png b/website-old/assets/themes/mahout/imgx/screenshots/homepage_notebook_list.png
deleted file mode 100644
index a5ac6f2..0000000
Binary files a/website-old/assets/themes/mahout/imgx/screenshots/homepage_notebook_list.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/assets/themes/mahout/imgx/screenshots/interpreter_create.png b/website-old/assets/themes/mahout/imgx/screenshots/interpreter_create.png
deleted file mode 100644
index dacd278..0000000
Binary files a/website-old/assets/themes/mahout/imgx/screenshots/interpreter_create.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/assets/themes/mahout/imgx/screenshots/interpreter_setting.png b/website-old/assets/themes/mahout/imgx/screenshots/interpreter_setting.png
deleted file mode 100644
index d6b9a21..0000000
Binary files a/website-old/assets/themes/mahout/imgx/screenshots/interpreter_setting.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/assets/themes/mahout/imgx/screenshots/interpreter_setting_spark.png b/website-old/assets/themes/mahout/imgx/screenshots/interpreter_setting_spark.png
deleted file mode 100644
index 83b6249..0000000
Binary files a/website-old/assets/themes/mahout/imgx/screenshots/interpreter_setting_spark.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/assets/themes/mahout/imgx/screenshots/link_paragraph.png b/website-old/assets/themes/mahout/imgx/screenshots/link_paragraph.png
deleted file mode 100644
index 1c854d4..0000000
Binary files a/website-old/assets/themes/mahout/imgx/screenshots/link_paragraph.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/assets/themes/mahout/imgx/screenshots/markdown.png b/website-old/assets/themes/mahout/imgx/screenshots/markdown.png
deleted file mode 100644
index 50c5c87..0000000
Binary files a/website-old/assets/themes/mahout/imgx/screenshots/markdown.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/assets/themes/mahout/imgx/screenshots/multiple_language_backend.png b/website-old/assets/themes/mahout/imgx/screenshots/multiple_language_backend.png
deleted file mode 100644
index 4d91168..0000000
Binary files a/website-old/assets/themes/mahout/imgx/screenshots/multiple_language_backend.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/assets/themes/mahout/imgx/screenshots/notebook.png b/website-old/assets/themes/mahout/imgx/screenshots/notebook.png
deleted file mode 100644
index ae9bb4b..0000000
Binary files a/website-old/assets/themes/mahout/imgx/screenshots/notebook.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/assets/themes/mahout/imgx/screenshots/pivot.png b/website-old/assets/themes/mahout/imgx/screenshots/pivot.png
deleted file mode 100644
index 1f5a91b..0000000
Binary files a/website-old/assets/themes/mahout/imgx/screenshots/pivot.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/assets/themes/mahout/imgx/screenshots/publish.png b/website-old/assets/themes/mahout/imgx/screenshots/publish.png
deleted file mode 100644
index d01f936..0000000
Binary files a/website-old/assets/themes/mahout/imgx/screenshots/publish.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/assets/themes/mahout/imgx/screenshots/spark.png b/website-old/assets/themes/mahout/imgx/screenshots/spark.png
deleted file mode 100644
index 4c50dc0..0000000
Binary files a/website-old/assets/themes/mahout/imgx/screenshots/spark.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/assets/themes/mahout/imgx/screenshots/sparksql.png b/website-old/assets/themes/mahout/imgx/screenshots/sparksql.png
deleted file mode 100644
index 1ee9653..0000000
Binary files a/website-old/assets/themes/mahout/imgx/screenshots/sparksql.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/assets/themes/mahout/imgx/screenshots/visualization.png b/website-old/assets/themes/mahout/imgx/screenshots/visualization.png
deleted file mode 100644
index 49ec55b..0000000
Binary files a/website-old/assets/themes/mahout/imgx/screenshots/visualization.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/assets/themes/mahout/imgx/sidebar-bg.jpg b/website-old/assets/themes/mahout/imgx/sidebar-bg.jpg
deleted file mode 100644
index 42890fe..0000000
Binary files a/website-old/assets/themes/mahout/imgx/sidebar-bg.jpg and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/assets/themes/mahout/imgx/spark_logo.jpg b/website-old/assets/themes/mahout/imgx/spark_logo.jpg
deleted file mode 100644
index afe2d1b..0000000
Binary files a/website-old/assets/themes/mahout/imgx/spark_logo.jpg and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/assets/themes/mahout/imgx/user-impersonation.gif b/website-old/assets/themes/mahout/imgx/user-impersonation.gif
deleted file mode 100644
index eb39bc8..0000000
Binary files a/website-old/assets/themes/mahout/imgx/user-impersonation.gif and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/assets/themes/mahout/imgx/zeppelin_classic_logo.png b/website-old/assets/themes/mahout/imgx/zeppelin_classic_logo.png
deleted file mode 100644
index ed3c282..0000000
Binary files a/website-old/assets/themes/mahout/imgx/zeppelin_classic_logo.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/assets/themes/mahout/imgx/zeppelin_logo.png b/website-old/assets/themes/mahout/imgx/zeppelin_logo.png
deleted file mode 100644
index 0b45fa4..0000000
Binary files a/website-old/assets/themes/mahout/imgx/zeppelin_logo.png and /dev/null differ
a***@apache.org
2017-12-21 04:53:12 UTC
Permalink
http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/assets/themes/mahout-retro/js/search.js
----------------------------------------------------------------------
diff --git a/website-old/assets/themes/mahout-retro/js/search.js b/website-old/assets/themes/mahout-retro/js/search.js
deleted file mode 100644
index 58249ad..0000000
--- a/website-old/assets/themes/mahout-retro/js/search.js
+++ /dev/null
@@ -1,21 +0,0 @@
-function initSearch(){
- var methods = {
- defaultValueActsAsHint: function(element){
- element = $(element);
- element._default = element.value;
- return element.observe('focus', function(){
- if(element._default != element.value) return;
- element.removeClassName('hint').value = '';
- }).observe('blur', function(){
- if(element.value.strip() != '') return;
- element.addClassName('hint').value = element._default;
- }).addClassName('hint');
- }
- };
- $w('input textarea').each(function(tag){ Element.addMethods(tag, methods) });
-}
-initSearch();
-
-document.observe('dom:loaded', function(){
- $('searchDocs').defaultValueActsAsHint();
-});
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/assets/themes/mahout-retro/js/slides.js
----------------------------------------------------------------------
diff --git a/website-old/assets/themes/mahout-retro/js/slides.js b/website-old/assets/themes/mahout-retro/js/slides.js
deleted file mode 100644
index 004d5ee..0000000
--- a/website-old/assets/themes/mahout-retro/js/slides.js
+++ /dev/null
@@ -1,109 +0,0 @@
-var Slides = Class.create({
-
- initialize: function(element, options) {
- this.options = {
- Duration: 1,
- Delay: 10.0,
- Random: true,
- Slideshow:true,
- Controls:true
- }
- Object.extend(this.options, options || {});
-
- this.element = $(element);
- this.slides = this.element.childElements();
- this.num_slides = this.slides.length;
- this.current_slide = (this.options.Random) ? (Math.floor(Math.random()*this.num_slides)) : 0;
- this.end_slide = this.num_slides - 1;
-
- this.slides.invoke('hide');
- this.slides[this.current_slide].show();
-
- if (this.options.Slideshow) {
- this.startSlideshow();
- }
- if (this.options.Controls) {
- this.addControls();
- }
- },
-
- addControls: function() {
- this.btn_previous = $('previous');
- this.btn_next = $('next');
- this.btn_start = $('start');
- this.btn_stop = $('stop');
-
- this.btn_previous.observe('click', this.moveToPrevious.bindAsEventListener(this));
- this.btn_next.observe('click', this.moveToNext.bindAsEventListener(this));
- this.btn_start.observe('click', this.startSlideshow.bindAsEventListener(this));
- this.btn_stop.observe('click', this.stopSlideshow.bindAsEventListener(this));
- },
-
- startSlideshow: function(event) {
- if (event) { Event.stop(event); }
- if (!this.running) {
- this.fadeStartBtn();
- this.executer = new PeriodicalExecuter(function(){
- this.updateSlide(this.current_slide+1);
- }.bind(this),this.options.Delay);
- this.running=true;
- }
-
- },
-
- fadeStartBtn: function() {
- var startBtn = $('start');
- var stopBtn = $('stop');
- Effect.Fade(startBtn, { duration: 0.3 }),
- Effect.Appear(stopBtn, { duration: 0.3 })
- },
-
- stopSlideshow: function(event) {
- if (event) { Event.stop(event); }
- if (this.executer) {
- this.fadeStopBtn();
- this.executer.stop();
- this.running=false;
- }
- },
-
- fadeStopBtn: function() {
- var startBtn = $('start');
- var stopBtn = $('stop');
- Effect.Fade(stopBtn, { duration: 0.3 }),
- Effect.Appear(startBtn, { duration: 0.3 })
- },
-
- moveToPrevious: function (event) {
- if (event) { Event.stop(event); }
- //this.stopSlideshow();
- this.updateSlide(this.current_slide-1);
- },
-
- moveToNext: function (event) {
- if (event) { Event.stop(event); }
- //this.stopSlideshow();
- this.updateSlide(this.current_slide+1);
- },
-
- updateSlide: function(next_slide) {
- if (next_slide > this.end_slide) {
- next_slide = 0;
- }
- else if ( next_slide == -1 ) {
- next_slide = this.end_slide;
- }
-
- this.fadeInOut(next_slide, this.current_slide);
- },
-
- fadeInOut: function (next, current) {
- new Effect.Parallel([
- new Effect.Fade(this.slides[current], { sync: true }),
- new Effect.Appear(this.slides[next], { sync: true })
- ], { duration: this.options.Duration });
-
- this.current_slide = next;
- }
-
-});
\ No newline at end of file
a***@apache.org
2017-12-21 04:53:17 UTC
Permalink
http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/assets/themes/mahout-retro/css/global.css
----------------------------------------------------------------------
diff --git a/website-old/assets/themes/mahout-retro/css/global.css b/website-old/assets/themes/mahout-retro/css/global.css
deleted file mode 100644
index 318b577..0000000
--- a/website-old/assets/themes/mahout-retro/css/global.css
+++ /dev/null
@@ -1,938 +0,0 @@
-/**********************************
- The Apache Software Foundation
-
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements. See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership. The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied. See the License for the
- specific language governing permissions and limitations
- under the License.
-*********************************/
-
-/* Derived from: Open for Business Project Website */
-
-html, body, div, span, applet, object, iframe,
-h1, h2, h2, h4, h5, h6, p, blockquote, pre,
-a, abbr, acronym, address, big, cite, code,
-del, dfn, em, font, img, ins, kbd, q, s, samp,
-small, strike, strong, sub, sup, tt, var,
-b, u, i, center,
-dl, dt, dd, ol, ul, li,
-fieldset, form, label, legend,
-table, caption, tbody, tfoot, thead, tr, th, td {
- border:0;
- margin:0;
- outline:0;
- padding:0;
- background:transparent;
- vertical-align: baseline;
-}
-
-blockquote, q {
- quotes: none;
-}
-
-a, address, body, caption, cite, code, dfn, em, strong, th, var {
- font-style: normal;
- font-weight: normal;
- text-decoration: none;
-}
-
-em {
- font-style: italic;
-}
-
-strong {
- font-weight: bold;
-}
-
-a img {
- border: none;
-}
-
-table {
- border-collapse: collapse;
- border-spacing: 0;
-}
-
-* {margin:0;padding:0;}
-
-html, body, #wrap {height: 100%;}
-
-body > #wrap {height: auto; min-height: 100%;}
-
-body {
- color: #555;
- margin: 0;
- padding: 0;
- background-color: #cde9fc;
- text-align: center;
- font-family: Arial;
-}
-
-.clearfix:after {
- content: ".";
- display: block;
- height: 0;
- clear: both;
- visibility: hidden;
-}
-
-.clearfix {
- display: inline-block;
-}
-
-html[xmlns] .clearfix {
- display: block;
-}
-
-* html .clearfix {
- height: 1%;
-}
-
-.clearfix {
- display: block;
-}
-
-.clearLeft {
- clear:left;
-}
-
-a,a:active,a:link {
- text-decoration: none;
- color: #304c90;
-}
-
-a:visited {
- text-decoration: none;
-}
-
-a:hover {
- color: #304c90;
-}
-
-h1,h2,h2 {
- font-weight: 300;
- color: #555;
- line-height: 130%;
-}
-
-h1 {
- font-size: 200%;
- color: #895F30;
- padding: 20px 10px 5px 10px;
- margin: 0;
-}
-
-h2 {
- font-size: 1.5em;
- font-weight: normal;
- padding: 20px 10px 5px 10px;
- margin: 0;
-}
-
-h4 {
- padding: 20px 10px 5px;
-}
-
-p,dl {
- padding-left: 10px;
- padding-top: 5px;
- padding-bottom: 5px;
- margin: 0;
-}
-
-ul{
- /*margin: 10px 10px;*/
- /*padding: 0 0 0 10px;*/
- margin-left: 40px;
- margin-right: 20px;
-}
-
-ol {
- margin: 10px 30px;
- padding: 0;
-}
-
-dt {
- font-weight: bold;
- color: #b13f1a;
-}
-
-dd {
- padding-left: 25px;
-}
-
-img {
- border: none;
-}
-
-p img {
- background: #fafafa;
- border: 1px solid #dcdcdc;
- padding: 5px;
- margin:0 10px 0 0;
-}
-
-img.float-right {
- margin: 5px 0 10px 10px;
-}
-
-img.float-left {
- margin: 5px 10px 10px 0;
-}
-
-code {
- text-align: left;
- overflow: auto;
- font: 1em/ 1.5em 'Lucida Console', 'courier new', monospace;
- margin: 0px;
- border: 1px solid #DDD;
- background-color: #F8F8F8;
- border-radius: 3px;
- padding: 0px;
-}
-
-acronym {
- cursor: help;
- border-bottom: 1px dotted #895F30;
-}
-
-blockquote {
- margin: 15px 10px;
- padding: 10px 10px 10px 35px;
- border: 1px solid #ECF8FE;
- background: #ECF8FE no-repeat 10px 10px;
- font-weight: normal;
- font-size: 1.5em;
- line-height: 1.5em;
- font-style: italic;
- font-family: sans-serif;
- color: #976957;
-}
-
-table {
- border-collapse: collapse;
- margin: 15px 10px;
-}
-
-th {
- font-weight: bold;
- height: 16px;
- padding-left: 12px;
- padding-right: 12px;
- color: black;
- text-align: left;
-}
-
-tr {
- height: 34px;
-}
-
-td {
- padding-left: 11px;
- padding-right: 11px;
-}
-
-input,select {
- padding: 4px;
- font-size: 1em;
- font-weight: 300;
- color: #555;
-}
-
-input[type="search"] {
- width: 220px;
-}
-
-#sidebar-wrap {
- padding: 0 0 0 0px;
-}
-
-#sidebar ul.sidemenu {
- text-align: left;
- margin: 0 5px 8px 0;
- padding: 5px 0 0 0;
- text-decoration: none;
-}
-
-#sidebar ul.sidemenu li {
- list-style: none;
- background: repeat-x left bottom;
- padding: 4px 10px;
- margin: 0;
-}
-
-* html body #sidebar ul.sidemenu li {
- height: 1%;
-}
-
-#sidebar ul.sidemenu li a {
- text-decoration: none;
- background-image: none;
- background-color: transparent;
- border: none;
- color: #304c90;
- font-size: 1em;
- font-weight: 300;
- color: #555;
- background: #fff;
-}
-
-textarea {
- width: 400px;
- padding: 4px;
- font-size: 1em;
- font-weight: 300;
- height: 100px;
- display: block;
- color: #555;
-}
-
-input,textarea,select {
- background: #fff;
- border-width: 1px;
- border-style: solid;
- border-color: #D4D4D4 #ebebeb #ebebeb #d4d4d4;
-}
-
-input.button {
- font-size: 13px;
- font-weight: 500;
- height: 30px;
- margin: 0;
- padding: 2px 3px;
- color: #555;
- background: #E6E6E6;
- border-width: 1px;
- border-style: solid;
- border-color: #ebebeb #d4d4d4 #d4d4d4 #ebebeb;
-}
-
-.float-left {
- float: left;
-}
-
-.float-right {
- float: right;
-}
-
-.align-left {
- text-align: left;
-}
-
-.align-right {
- text-align: right;
-}
-
-.clearer {
- clear: both;
-}
-
-#wrap {
- width: 1200px;
- margin: 0 auto;
- text-align:left;
-}
-
-#content-wrap {
- width: 860px;
- margin: 0;
- padding-bottom: 42px;
- background-color: white;
-}
-
-#content {
- width:500px;
- float:left;
- padding:30px 0 25px 0;
-}
-
-#footer {
- background: bottom center no-repeat;
- position: relative;
- margin: -50px auto 0 auto;
- height: 50px;
- clear:both;
- font-size:12px;
- width:860px;
- border-top: 1px solid #eee;
- background-color: #E2E2E2;
- padding: 20px 0;
-}
-
-#footer #container {
- width: 860px;
- margin: 0;
- float: left;
-}
-
-#foot {
- text-align:left;
- position:relative;
- top:5px;
- left:30px;
-}
-
-
-
-#header {
- position: relative;
- width: 945px;
- height: 166px;
- padding: 0;
- margin: 0;
- background: transparent;
-}
-
-#header #logo {
- position: absolute;
- top: 20px;
- left: 10px;
- height: 104px;
- width: 498px;
-}
-
-#header #logo a,img {
- background: none;
- border: none;
-}
-
-#header #controls {
- position: absolute;
- top: 60px;
- right: 32px;
- height: 42px;
- color: #1b78d7;
- font-size: 13px;
- background: top right no-repeat;
- padding-right: 20px;
- text-align: right;
-}
-
-#header #controls a {
- position: relative;
- top: -2px;
-}
-
-#header #language {
- position: absolute;
- top: 10px;
- right: 32px;
- height: 42px;
- color: #797c7e;
- text-align: right;
-}
-
-#search {
- position:absolute;
- top:0;
- right:40px;
- padding:5px;
- padding-top:4px;
- padding-left:33px;
- background-color:#444;
- width: 260px;
- height: 133px;
-}
-
-.hintText {
- display: none;
-}
-
-.fieldWithHint {
- color: #001f2f;
-}
-
-#nav {
- position: absolute;
- clear: both;
- margin: 0;
- padding: 0;
- padding-right:5px;
- padding-left:5px;
- right:0;
- height: 33px;
- top: 133px;
- z-index: 99999;
- background-color:#444;
-}
-
-div.navbar-inner {
- min-height: 33px;
- padding-right: 0px;
- padding-left: 0px;
- background-color: #FAFAFA;
- background-image: none;
- background-repeat: repeat-x;
- border: none;
- border-radius: 4px;
- box-shadow: 0px 1px 4px rgba(0, 0, 0, 0.067);
-}
-
-#nav ul {
- float: left;
- list-style: none;
- height: 34px;
- margin: 0;
- padding: 0;
- display: inline;
-}
-
-#nav ul li {
- display: inline;
- margin: 0;
- padding: 0;
-}
-
-#nav ul li a {
- float: left;
- margin: 0 0 0 0;
- padding: 0 15px 0 15px;
- text-decoration: none;
- color: #fff;
- border-right:1px inset #888;
- font-size: 14px;
- padding-top: 6px;
- font-weight: 300;
- height: 28px;
-}
-
-#nav ul li a.last {
- border:none;
-}
-
-#nav ul li a:hover,#nav ul li a:active {
- color: #111;
- background-image: url(../images/header_hot.jpg);
-}
-
-#nav ul li#current a {
- color: #333333;
- background-image: url(../images/header_hot.jpg);
-}
-
-.navbar .nav {
- float: right;
- margin-right: 30px;
-}
-
-.navbar .nav > li > a {
- text-align: left;
- color: #fff;
-}
-
-.navbar .container {
- width: 860px;
- text-align: left;
-}
-
-#main {
- float: left;
- width: 826px;
- padding: 0;
- margin: 0 0 0 20px;
- display: inline;
-}
-
-#main h1 {
- padding-bottom: 3px;
- margin-top: 15px;
- color: #333;
- text-transform: none;
- border-bottom: 1px solid #ebebeb;
- font-size: 2em;
- font-weight: 300;
-}
-
-#main h1 a {
- color: #333;
- text-decoration: none;
- background: none;
- border: none;
-}
-
-#col1 {
- float: left;
- width: 260px;
- padding: 0;
- margin: 20px 0 0 20px;
- display: inline;
-}
-
-#col2 {
- float: left;
- width: 260px;
- padding: 0;
- margin: 20px 0 0 20px;
- display: inline;
-}
-
-#col1 h1, #col2 h1 {
- padding-bottom: 3px;
- margin-top: 15px;
- font-size: 2em;
- font-weight: 300;
- color: #555;
- text-transform: none;
- border-bottom: 1px solid #ebebeb;
-}
-
-#main #col1 h1, #main #col2 h1 {
- border-bottom: 1px solid #ebebeb;
- color:#304C70;
- padding-bottom: 3px;
- text-transform: none;
- font-size:30px;
-}
-
-.feature {
- margin:0;
- padding:0;
- height:435px;
-}
-
-.screen {
- margin:10px 0 5px 0;
- padding:0;
- background:#fff;
- border:1px solid #eee;
- width:255px;
- height:200px;
- overflow:hidden;
-}
-
-#main .hero {
- margin:10px 0 5px 0;
- padding:0;
- background:#fff;
- border:1px solid #eee;
- width:555px;
-}
-
-#main .highlights {
- float:right;
- width: 300px;
- margin-left: 20px;
- /* margin: 0 20px 0 10px;*/
- display:inline;
- padding: 15px;
- color: #a8569c;
-}
-
-#main .highlights h4 {
- padding-top: 10px;
-}
-
-#sidebar {
- float: right;
- width: 280px;
- padding: 0;
-
- display: inline;
-}
-
-#sidebar h2 {
- margin-top: 10px;
- padding: 15px 5px 0px 10px;
- font-size: 1.5em;
- font-weight: 300;
- color: #333;
-}
-
-#sidebar ul.sidemenu {
- text-align: left;
- margin: 0 5px 8px 0;
- padding: 5px 0 0 0;
- text-decoration: none;
- background: repeat-x left top;
-}
-
-#sidebar ul.sidemenu li {
- list-style: none;
- background: repeat-x left bottom;
- padding: 4px 10px;
- margin: 0;
-}
-
-* html body #sidebar ul.sidemenu li {
- height: 1%;
-}
-
-#sidebar ul.sidemenu li a {
- text-decoration: none;
- background-image: none;
- background-color: transparent;
- border: none;
- color: #304c90;
- font-weight: 300;
- font-size: 14px;
-}
-
-#sidebar ul.sidemenu li a span {
- color: #989898;
- font-family: serif;
- font-style: italic;
- font-weight: normal;
- font-size: .8em;
-}
-
-#sidebar ul.sidemenu li a:hover {
- color: #555;
-}
-
-#sidebar ul.sidemenu ul {
- margin: 0 0 0 5px;
- padding: 0;
-}
-
-#sidebar ul.sidemenu ul li {
- background: none;
-}
-
-#sidebar .indentfirst {
- margin-left:0;
-}
-
-pre {
- padding: 9.5px;
- margin: 0px 0px 10px;
- background-color: #F5F5F5;
- border: 1px solid rgba(0, 0, 0, 0.15);
- border-radius: 4px;
- margin-left: 10px;
- margin-right: 10px;
-}
-
-#sidebar .indentsecond {
- margin-left:20px;
-}
-
-.postmeta {
- padding: 5px;
- margin: 20px 10px 15px 10px;
- font-size: 1em;
- color: #777;
- border: 1px solid #ECF8FE;
- background: #ECF8FE;
-}
-
-.postmeta .date {
- margin: 0 10px 0 5px;
-}
-
-.postmeta a.comments {
- margin: 0 10px 0 5px;
-}
-
-.postmeta a.readmore {
- margin: 0 10px 0 5px;
-}
-
-.post-info {
- font-size: .95em;
- padding-top: 3px;
- margin-left: 5px;
- color: #bababa;
-}
-
-p.thumbs {
- padding: 12px 0 0 10px;
-}
-
-.thumbs img {
- position: relative;
- border: 1px solid #ebebeb;
- background: none;
- padding: 4px;
- margin: 5px;
-}
-
-.thumbs img:hover {
- border: 1px solid #c5c5c5;
- background: none;
-}
-
-.thumbs a:hover {
- background-color: transparent;
- border: none
-}
-
-body#home #wrap {
- position: relative;
- width: 1150px;
- margin: 0 auto;
- text-align: left;
-}
-
-body#home #header {
- position: relative;
- width: 860px;
- padding: 0;
- margin: 0;
- background-color: white;
-}
-
-body#home #header #slides {
- position: absolute;
- top: 128px;
- left: 10px;
- width: 1363px;
- height: 260px;
-}
-
-body#home #header #slides .slideshow {
- width:1363px;
- height:260px;
- margin:0;
- padding:0;
-}
-
-body#home #header #slides .callout {
- position: absolute;
- top: 35px;
- left: 30px;
- font-size: 30px;
- line-height: 30px;
- color: #2b1f48;
-}
-
-body#home #header #slides .description {
- position: absolute;
- top: 190px;
- left: 30px;
- font-size: 14px;
- line-height: 1.2em;
- color: #e0e0e0;
- width: 640px;
-}
-
-body#home #header #slides .controls {
- width: 100px;
- position: absolute;
- top: 15px;
- left: 900px;
- height:30px;
-}
-
-body#home #header #slides .controls a {
- border: none;
- position:absolute;
- height:30px;
- line-height:24px;
- padding:5px;
- text-indent:-9999px;
- outline:none;
-}
-
-body#home #header #slides .controls a.previous {
- background: url(../images/backward.gif) top center no-repeat;
- left:0;
- height:30px;
- width:16px;
-}
-
-body#home #header #slides .controls a.next {
- background: url(../images/forward.gif) top center no-repeat;
- left:60px;
- height:30px;
- width:16px;
-}
-
-body#home #header #slides .controls a.stop {
- background: url(../images/pause.gif) top center no-repeat;
- left:30px;
- height:30px;
- width:16px;
-}
-
-body#home #header #slides .controls a.start {
- background: url(../images/start.gif) top center no-repeat;
- left:30px;
- height:30px;
- width:16px;
-}
-
-body#home #header #slides .controls a img {
- background: none;
- border: none;
- cursor: pointer;
-}
-
-body#home #header #slides .mantle{
- position:absolute;
- top:58px;
- left:585px;
-}
-
-body#home #col1 {
- float: left;
- width: 260px;
- padding: 0;
- margin: 5px 0 0 0;
- display: inline;
-}
-
-body#home #col2 {
- float: left;
- width: 260px;
- padding: 0;
- margin: 5px 0 0 20px;
- display: inline;
-}
-
-.downloadNow {
- margin:30px 0 10px 20px;
-}
-
-.downloadLinks span.docs {
- float:left;
- margin:0;
- display:inline;
-}
-
-.downloadLinks span.previousVersions {
- float:right;
- margin:0 20px 0 0;
- display:inline;
-}
-
-body#full #wrap {
- position: relative;
- background: #fff top center no-repeat;
- width: 1200px;
- margin: 0 auto;
- text-align: left;
-}
-
-#search-form {
- margin-top: 20px;
-}
-
-#search-form input {
- float: left;
-}
-
-#search-form .search-query {
- font-family: Arial;
- width: 180px;
- margin-right: 10px;
-}
-
-#search-form #submission {
- border: none;
- background: transparent;
- margin-right: 10px;
-}
-
-code.has-jax {font: inherit; font-size: 100%; color: #555; background: inherit; border: inherit;}

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/assets/themes/mahout-retro/css/global__.css
----------------------------------------------------------------------
diff --git a/website-old/assets/themes/mahout-retro/css/global__.css b/website-old/assets/themes/mahout-retro/css/global__.css
deleted file mode 100644
index b3001dd..0000000
--- a/website-old/assets/themes/mahout-retro/css/global__.css
+++ /dev/null
@@ -1,886 +0,0 @@
-/**********************************
- The Apache Software Foundation
-
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements. See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership. The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied. See the License for the
- specific language governing permissions and limitations
- under the License.
-*********************************/
-
-/* Derived from: Open for Business Project Website */
-
-html, body, div, span, applet, object, iframe,
-h1, h2, h2, h4, h5, h6, p, blockquote, pre,
-a, abbr, acronym, address, big, cite, code,
-del, dfn, em, font, img, ins, kbd, q, s, samp,
-small, strike, strong, sub, sup, tt, var,
-b, u, i, center,
-dl, dt, dd, ol, ul, li,
-fieldset, form, label, legend,
-table, caption, tbody, tfoot, thead, tr, th, td {
- border:0;
- margin:0;
- outline:0;
- padding:0;
- background:transparent;
- vertical-align: baseline;
-}
-
-blockquote, q {
- quotes: none;
-}
-
-a, address, body, caption, cite, code, dfn, em, strong, th, var {
- font-style: normal;
- font-weight: normal;
- text-decoration: none;
-}
-
-a img {
- border: none;
-}
-
-ol, ul {
- list-style: none;
-}
-
-table {
- border-collapse: collapse;
- border-spacing: 0;
-}
-
-* {margin:0;padding:0;}
-
-html, body, #wrap {height: 100%;}
-
-body > #wrap {height: auto; min-height: 100%;}
-
-body {
- font: 13px/ 165% sans-serif;
- line-height: 1.7em;
- color: #555;
- margin: 0;
- padding: 0;
- background: url(../images/bg.png) top left repeat-x #A6A6A6;
- text-align: center;
- font-family: Opensans , "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
-}
-
-.clearfix:after {
- content: ".";
- display: block;
- height: 0;
- clear: both;
- visibility: hidden;
-}
-
-.clearfix {
- display: inline-block;
-}
-
-html[xmlns] .clearfix {
- display: block;
-}
-
-* html .clearfix {
- height: 1%;
-}
-
-.clearfix {
- display: block;
-}
-
-.clearLeft {
- clear:left;
-}
-
-a,a:active,a:link {
- text-decoration: none;
- color: #304c90;
-}
-
-a:visited {
- text-decoration: none;
-}
-
-a:hover {
- color: #304c90;
-}
-
-h1,h2,h2 {
- font-family: Opensans , "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
- font-weight: 300;
- color: #555;
- line-height: 130%;
-}
-
-h1 {
- font-size: 200%;
- color: #895F30;
- padding: 20px 10px 5px 10px;
- margin: 0;
-}
-
-h2 {
- font-size: 1.5em;
- font-weight: normal;
- padding: 20px 10px 5px 10px;
- margin: 0;
-}
-
-p,dl {
- padding: 10px;
- margin: 0;
-}
-
-ul{
- margin: 10px 10px;
- padding: 0 0 0 10px;
-}
-
-ul {
- list-style: none;
-}
-
-ol {
- margin: 10px 30px;
- padding: 0;
-}
-
-dt {
- font-weight: bold;
- color: #b13f1a;
-}
-
-dd {
- padding-left: 25px;
-}
-
-img {
- border: none;
-}
-
-p img {
- background: #fafafa;
- border: 1px solid #dcdcdc;
- padding: 5px;
- margin:0 10px 0 0;
-}
-
-img.float-right {
- margin: 5px 0 10px 10px;
-}
-
-img.float-left {
- margin: 5px 10px 10px 0;
-}
-
-code {
- margin: 5px 0;
- padding: 15px;
- text-align: left;
- display: block;
- overflow: auto;
- font: 1em/ 1.5em 'Lucida Console', 'courier new', monospace;
- border: 1px solid #ECF8FE;
- background: #ECF8FE;
-}
-
-acronym {
- cursor: help;
- border-bottom: 1px dotted #895F30;
-}
-
-blockquote {
- margin: 15px 10px;
- padding: 10px 10px 10px 35px;
- border: 1px solid #ECF8FE;
- background: #ECF8FE no-repeat 10px 10px;
- font-weight: normal;
- font-size: 1.5em;
- line-height: 1.5em;
- font-style: italic;
- font-family: sans-serif;
- color: #976957;
-}
-
-table {
- border-collapse: collapse;
- margin: 15px 10px;
-}
-
-th {
- background: #d14b1f repeat-x 0 -100px;
- height: 38px;
- padding-left: 12px;
- padding-right: 12px;
- color: #fff;
- text-align: left;
- border-left: 1px solid #d14b1f;
- border-bottom: solid 2px #fff;
-}
-
-tr {
- height: 34px;
-}
-
-td {
- padding-left: 11px;
- padding-right: 11px;
-}
-
-input,select {
- padding: 4px;
- font-size: 1em;
- font-weight: 300;
- font-family: Opensans , "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
- color: #555;
-}
-
-input[type="search"] {
- width: 220px;
-}
-
-#sidebar-wrap {
- background: #fff url(../images/sidebar.png) top left repeat-y;
- padding: 0 0 0 15px;
-}
-
-#sidebar ul.sidemenu {
- text-align: left;
- margin: 0 5px 8px 0;
- padding: 5px 0 0 0;
- text-decoration: none;
-}
-
-#sidebar ul.sidemenu li {
- list-style: none;
- background: repeat-x left bottom;
- padding: 4px 10px;
- margin: 0;
-}
-
-* html body #sidebar ul.sidemenu li {
- height: 1%;
-}
-
-#sidebar ul.sidemenu li a {
- text-decoration: none;
- background-image: none;
- background-color: transparent;
- border: none;
- color: #304c90;
- font-size: 1em;
- font-weight: 300;
- font-family: Opensans , "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
- color: #555;
- background: #fff;
-}
-
-textarea {
- width: 400px;
- padding: 4px;
- font-size: 1em;
- font-weight: 300;
- font-family: Opensans , "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
- height: 100px;
- display: block;
- color: #555;
-}
-
-input,textarea,select {
- background: #fff;
- border-width: 1px;
- border-style: solid;
- border-color: #D4D4D4 #ebebeb #ebebeb #d4d4d4;
-}
-
-input.button {
- font-size: 13px;
- font-weight: 500;
- font-family: Opensans , "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
- height: 30px;
- margin: 0;
- padding: 2px 3px;
- color: #555;
- background: #E6E6E6;
- border-width: 1px;
- border-style: solid;
- border-color: #ebebeb #d4d4d4 #d4d4d4 #ebebeb;
-}
-
-.float-left {
- float: left;
-}
-
-.float-right {
- float: right;
-}
-
-.align-left {
- text-align: left;
-}
-
-.align-right {
- text-align: right;
-}
-
-.clearer {
- clear: both;
-}
-
-#wrap{
- background: #fff url(../images/wrapper.jpg) top center no-repeat;
- width: 1200px;
- margin: 0 auto;
- text-align:left;
-}
-
-#content-wrap {
- width:1200px;
- margin:0 auto;
- padding-bottom: 42px;
-}
-
-#content {
- width:500px;
- float:left;
- padding:30px 0 25px 0;
-}
-
-#footer {
- background: bottom center no-repeat;
- position: relative;
- margin: -50px auto 0 auto;
- height: 50px;
- clear:both;
- font-size:12px;
- width:1200px;
- border-top: 1px solid #eee;
- background-color: #E2E2E2;
- padding: 20px 0;
-}
-
-#foot {
- text-align:left;
- position:relative;
- top:5px;
- left:30px;
-}
-
-#header {
- position: relative;
- width: 945px;
- height: 100px;
- padding: 0;
- margin: 0 auto;
- background: transparent;
-}
-
-#header #logo {
- position: absolute;
- top: 5px;
- left: 20px;
- height: 42px;
- width: 405px;
-}
-
-#header #logo a,img {
- background: none;
- border: none;
-}
-
-#header #controls {
- position: absolute;
- top: 60px;
- right: 32px;
- height: 42px;
- color: #1b78d7;
- font-size: 13px;
- background: top right no-repeat;
- padding-right: 20px;
- text-align: right;
-}
-
-#header #controls a {
- position: relative;
- top: -2px;
-}
-
-#header #language {
- position: absolute;
- top: 10px;
- right: 32px;
- height: 42px;
- color: #797c7e;
- text-align: right;
-}
-
-#search {
- position:absolute;
- top:0;
- right:0;
- background:url(../images/search.gif) center left no-repeat;
- padding:5px;
- padding-top:4px;
- padding-left:33px;
- background-color:#444;
- width: 360px;
-}
-
-.hintText {
- display: none;
-}
-
-.fieldWithHint {
- color: #001f2f;
-}
-
-#nav {
- position: absolute;
- clear: both;
- margin: 0;
- padding: 0;
- padding-right:5px;
- padding-left:5px;
- right:0;
- height: 34px;
- top: 84px;
- z-index: 99999;
- background-color:#444;
-}
-
-#nav ul {
- float: left;
- list-style: none;
- height: 34px;
- margin: 0;
- padding: 0;
- display: inline;
-}
-
-#nav ul li {
- display: inline;
- margin: 0;
- padding: 0;
-}
-
-#nav ul li a {
- float: left;
- margin: 0 0 0 0;
- padding: 0 15px 0 15px;
- text-decoration: none;
- color: #fff;
- border-right:1px inset #888;
- font-size: 14px;
- padding-top: 6px;
- font-weight: 300;
- height: 28px;
-}
-
-#nav ul li a.last {
- border:none;
-}
-
-#nav ul li a:hover,#nav ul li a:active {
- color: #111;
- background-image: url(../images/header_hot.jpg);
-}
-
-#nav ul li#current a {
- color: #333333;
- background-image: url(../images/header_hot.jpg);
-}
-
-#main {
- float: left;
- width: 826px;
- padding: 0;
- margin: 0 0 0 20px;
- display: inline;
-}
-
-#main h1 {
- padding-bottom: 3px;
- margin-top: 15px;
- color: #333;
- text-transform: none;
- border-bottom: 1px solid #ebebeb;
- font-size: 2em;
- font-weight: 300;
- font-family: Opensans , "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
-}
-
-#main h1 a {
- color: #333;
- text-decoration: none;
- background: none;
- border: none;
-}
-
-#main ul li {
- list-style-image: url(../images/bullet.gif);
-}
-
-#col1 {
- float: left;
- width: 260px;
- padding: 0;
- margin: 20px 0 0 20px;
- display: inline;
-}
-
-#col2 {
- float: left;
- width: 260px;
- padding: 0;
- margin: 20px 0 0 20px;
- display: inline;
-}
-
-#col1 h1, #col2 h1 {
- padding-bottom: 3px;
- margin-top: 15px;
- font-size: 2em;
- font-weight: 300;
- font-family: Opensans , "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
- color: #555;
- text-transform: none;
- border-bottom: 1px solid #ebebeb;
-}
-
-#main #col1 h1, #main #col2 h1 {
- border-bottom: 1px solid #ebebeb;
- color:#304C70;
- padding-bottom: 3px;
- text-transform: none;
- font-size:30px;
-}
-
-.feature {
- margin:0;
- padding:0;
- height:435px;
-}
-
-.screen {
- margin:10px 0 5px 0;
- padding:0;
- background:#fff;
- border:1px solid #eee;
- width:255px;
- height:200px;
- overflow:hidden;
-}
-
-#main .hero {
- margin:10px 0 5px 0;
- padding:0;
- background:#fff;
- border:1px solid #eee;
- width:555px;
-}
-
-#main .highlights {
- float:right;
- width:400px;
- background:#dfe9ef;
- border:1px solid #eee;
- margin:0 10px 0 10px;
- display:inline;
- padding: 15px;
-}
-
-#main .highlights ul li {
- list-style-image: url(../images/highlight-bullet.gif);
-}
-
-#main .highlights h4 {
- padding:5px 5px 0 5px;
- font-size: 13px;
-}
-
-#sidebar {
- float: right;
- width: 323px;
- padding: 0;
- margin: 15px 20px 0 0;
- display: inline;
-}
-
-#sidebar h2 {
- margin-top: 10px;
- padding: 15px 5px 0px 10px;
- font-size: 1.5em;
- font-weight: 300;
- font-family: Opensans , "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
- color: #333;
-}
-
-#sidebar ul.sidemenu {
- text-align: left;
- margin: 0 5px 8px 0;
- padding: 5px 0 0 0;
- text-decoration: none;
- background: repeat-x left top;
-}
-
-#sidebar ul.sidemenu li {
- list-style: none;
- background: repeat-x left bottom;
- padding: 4px 10px;
- margin: 0;
-}
-
-* html body #sidebar ul.sidemenu li {
- height: 1%;
-}
-
-#sidebar ul.sidemenu li a {
- text-decoration: none;
- background-image: none;
- background-color: transparent;
- border: none;
- color: #304c90;
- font-weight: 300;
- font-size: 14px;
-}
-
-#sidebar ul.sidemenu li a span {
- color: #989898;
- font-family: serif;
- font-style: italic;
- font-weight: normal;
- font-size: .8em;
-}
-
-#sidebar ul.sidemenu li a:hover {
- color: #555;
-}
-
-#sidebar ul.sidemenu ul {
- margin: 0 0 0 5px;
- padding: 0;
-}
-
-#sidebar ul.sidemenu ul li {
- background: none;
-}
-
-#sidebar .indentfirst {
- margin-left:0;
-}
-
-#sidebar .indentsecond {
- margin-left:20px;
-}
-
-.postmeta {
- padding: 5px;
- margin: 20px 10px 15px 10px;
- font-size: 1em;
- color: #777;
- border: 1px solid #ECF8FE;
- background: #ECF8FE;
-}
-
-.postmeta .date {
- margin: 0 10px 0 5px;
-}
-
-.postmeta a.comments {
- margin: 0 10px 0 5px;
-}
-
-.postmeta a.readmore {
- margin: 0 10px 0 5px;
-}
-
-.post-info {
- font-size: .95em;
- padding-top: 3px;
- margin-left: 5px;
- color: #bababa;
-}
-
-p.thumbs {
- padding: 12px 0 0 10px;
-}
-
-.thumbs img {
- position: relative;
- border: 1px solid #ebebeb;
- background: none;
- padding: 4px;
- margin: 5px;
-}
-
-.thumbs img:hover {
- border: 1px solid #c5c5c5;
- background: none;
-}
-
-.thumbs a:hover {
- background-color: transparent;
- border: none
-}
-
-body#home #wrap {
- position: relative;
- background: #fff url(../images/home-wrapper-v3.png) top center no-repeat;
- width: 1200px;
- margin: 0 auto;
- text-align: left;
-}
-
-body#home #header {
- position: relative;
- width: 1200px;
- padding: 0;
- margin: 0 auto;
- background: transparent;
-}
-
-body#home #header #slides {
- position: absolute;
- top: 128px;
- left: 10px;
- width: 1363px;
- height: 260px;
-}
-
-body#home #header #slides .slideshow {
- width:1363px;
- height:260px;
- margin:0;
- padding:0;
-}
-
-body#home #header #slides .callout {
- position: absolute;
- top: 35px;
- left: 30px;
- font-size: 30px;
- line-height: 30px;
- color: #2b1f48;
-}
-
-body#home #header #slides .description {
- position: absolute;
- top: 190px;
- left: 30px;
- font-size: 14px;
- line-height: 1.2em;
- color: #e0e0e0;
- width: 640px;
-}
-
-body#home #header #slides .controls {
- width: 100px;
- position: absolute;
- top: 15px;
- left: 900px;
- height:30px;
-}
-
-body#home #header #slides .controls a {
- border: none;
- position:absolute;
- height:30px;
- line-height:24px;
- padding:5px;
- text-indent:-9999px;
- outline:none;
-}
-
-body#home #header #slides .controls a.previous {
- background: url(../images/backward.gif) top center no-repeat;
- left:0;
- height:30px;
- width:16px;
-}
-
-body#home #header #slides .controls a.next {
- background: url(../images/forward.gif) top center no-repeat;
- left:60px;
- height:30px;
- width:16px;
-}
-
-body#home #header #slides .controls a.stop {
- background: url(../images/pause.gif) top center no-repeat;
- left:30px;
- height:30px;
- width:16px;
-}
-
-body#home #header #slides .controls a.start {
- background: url(../images/start.gif) top center no-repeat;
- left:30px;
- height:30px;
- width:16px;
-}
-
-body#home #header #slides .controls a img {
- background: none;
- border: none;
- cursor: pointer;
-}
-
-body#home #header #slides .mantle{
- position:absolute;
- top:58px;
- left:585px;
-}
-
-body#home #col1 {
- float: left;
- width: 260px;
- padding: 0;
- margin: 5px 0 0 0;
- display: inline;
-}
-
-body#home #col2 {
- float: left;
- width: 260px;
- padding: 0;
- margin: 5px 0 0 20px;
- display: inline;
-}
-
-.downloadNow {
- margin:30px 0 10px 20px;
-}
-
-.downloadLinks span.docs {
- float:left;
- margin:0;
- display:inline;
-}
-
-.downloadLinks span.previousVersions {
- float:right;
- margin:0 20px 0 0;
- display:inline;
-}
-
-body#full #wrap {
- position: relative;
- background: #fff top center no-repeat;
- width: 1200px;
- margin: 0 auto;
- text-align: left;
-}

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/assets/themes/mahout-retro/css/main.css
----------------------------------------------------------------------
diff --git a/website-old/assets/themes/mahout-retro/css/main.css b/website-old/assets/themes/mahout-retro/css/main.css
deleted file mode 100644
index a6cb362..0000000
--- a/website-old/assets/themes/mahout-retro/css/main.css
+++ /dev/null
@@ -1,4 +0,0 @@
-.feather {
- background-image:url('http://www.apache.org/images/feather-small.gif');
- background-repeat:no-repeat;
-}
\ No newline at end of file
a***@apache.org
2017-12-21 04:53:27 UTC
Permalink
NOJIRA: Shrinking the home page splash area vertically, moving ASF logo to the top.


Project: http://git-wip-us.apache.org/repos/asf/mahout/repo
Commit: http://git-wip-us.apache.org/repos/asf/mahout/commit/9a2055e7
Tree: http://git-wip-us.apache.org/repos/asf/mahout/tree/9a2055e7
Diff: http://git-wip-us.apache.org/repos/asf/mahout/diff/9a2055e7

Branch: refs/heads/master
Commit: 9a2055e7b7bd1788b0b7523367772650ffdb6b53
Parents: 5a07b51
Author: Andrew Musselman <***@apache.org>
Authored: Tue Dec 5 22:44:12 2017 -0800
Committer: Andrew Musselman <***@apache.org>
Committed: Tue Dec 5 22:44:12 2017 -0800

----------------------------------------------------------------------
website/_layouts/home.html | 2 +-
website/_sass/mahout/_heading.scss | 9 +++++----
2 files changed, 6 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/mahout/blob/9a2055e7/website/_layouts/home.html
----------------------------------------------------------------------
diff --git a/website/_layouts/home.html b/website/_layouts/home.html
index 3ea982c..65f82fe 100644
--- a/website/_layouts/home.html
+++ b/website/_layouts/home.html
@@ -7,6 +7,7 @@ layout: default
<div class="row">
<div class="col-12">
<img src="/assets/mahout-logo-white.svg" alt="Apache Mahout">
+ <img class="asf-logo float-right" src="/assets/asf_logo_white.svg" alt="Apache Software Foundation">
</div>
</div>
</div>
@@ -16,7 +17,6 @@ layout: default
<h2 class="mb-4">For Creating Scalable Performant Machine Learning Applications</h2>
<a class="btn btn-lg btn-light btn-download mb-3" href="/downloads"><i class="fa fa-download"></i> Download Mahout</a>
<div class="small text-white mx-auto">Currently v{{ site.mahout-version }}</div>
- <img class="asf-logo float-right" src="/assets/asf_logo_white.svg" alt="Apache Software Foundation">
</div>
</div>
<canvas id="waves"></canvas>

http://git-wip-us.apache.org/repos/asf/mahout/blob/9a2055e7/website/_sass/mahout/_heading.scss
----------------------------------------------------------------------
diff --git a/website/_sass/mahout/_heading.scss b/website/_sass/mahout/_heading.scss
index 267640b..9b97a3d 100644
--- a/website/_sass/mahout/_heading.scss
+++ b/website/_sass/mahout/_heading.scss
@@ -1,5 +1,5 @@
header.mahout-header {
- height: 700px;
+ height: 500px;
position: relative;
background: url('Loading Image...'), -moz-linear-gradient(45deg, $blue 0%, darken($blue, 15%) 100%);
background: url('https://www.transparenttextures.com/patterns/cubes.png'), -webkit-linear-gradient(45deg, $blue 0%, darken($blue, 15%) 100%);
@@ -26,6 +26,10 @@ header.mahout-header {
width: 100%;
max-width: 800px;
}
+ .asf-logo {
+ height: 75px;
+ width: 150px;
+ }
}
.mahout-header-lower {
bottom: 0;
@@ -49,8 +53,5 @@ header.mahout-header {
color: $body-color;
}
}
- .asf-logo {
- height: 75px;
- }
}
}
a***@apache.org
2017-12-21 04:53:21 UTC
Permalink
http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/_includes/JB/liquid_raw
----------------------------------------------------------------------
diff --git a/website-old/_includes/JB/liquid_raw b/website-old/_includes/JB/liquid_raw
deleted file mode 100644
index da2d359..0000000
--- a/website-old/_includes/JB/liquid_raw
+++ /dev/null
@@ -1,32 +0,0 @@
-{% comment%}<!--
-The liquid_raw helper is a way to display raw liquid code, as opposed to parsing it.
-Normally you'd use Liquid's built in 'raw' tag.
-The problem is GitHub Jekyll does not support the current Liquid release.
-GitHub Jekyll supports the deprecated 'literal' tag.
-Using one will break the other if you plan to deploy to GitHub pages.
- see: https://github.com/mojombo/jekyll/issues/425
-
-Since I don't want to mess with Liquid versions, I'll just rewrite the way I
-intend to give liquid examples. It's not an elegant solution by any means:
-
-Usage:
- 1) Define a 'text' variable with the block of liquid code you intend to display.
- 2) Pass the text variable to include JB/liquid_raw
-
- example:
- {% capture text %}|.% for tag in tags_list %.|
- <li><a href="|.{ site.var.tags_path }.||.{ tag[0] }.|-ref">|.{ tag[0] }.| <span>|.{tag[1].size}.|</span></a></li>
- |.% endfor %.|
-
- |.% assign tags_list = null %.|{% endcapture %}
- {% include JB/liquid_raw %}
-
- As seen here, you must use "|." and ".|" as opening and closing brackets.
--->{% endcomment%}
-
-{% if site.JB.liquid_raw.provider == "custom" %}
- {% include custom/liquid_raw %}
-{% else %}
- <pre><code>{{text | replace:"|.", "&#123;" | replace:".|", "&#125;" | replace:">", "&gt;" | replace:"<", "&lt;" }}</code></pre>
-{% endif %}
-{% assign text = nil %}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/_includes/JB/pages_list
----------------------------------------------------------------------
diff --git a/website-old/_includes/JB/pages_list b/website-old/_includes/JB/pages_list
deleted file mode 100644
index 42f827a..0000000
--- a/website-old/_includes/JB/pages_list
+++ /dev/null
@@ -1,39 +0,0 @@
-{% comment %}<!--
-The pages_list include is a listing helper.
-Usage:
- 1) assign the 'pages_list' variable to a valid array of pages or posts.
- 2) include JB/pages_list
- example:
- <ul>
- {% assign pages_list = site.pages %}
- {% include JB/pages_list %}
- </ul>
-
- Grouping: (optional):
- assign the 'group' variable to constrain the list to only pages/posts
- in the given group. Note you must define the group manually in the page/post
- meta-data to use this feature.
- Grouping is mainly helpful for non-post pages.
- If you want to group posts, it's easier/better to tag them, then pass the tagged posts array.
- i.e. site.tags.cool_tag (this returns an array of posts tagged: cool_tag)
-
- This helper can be seen in use at: ../_layouts/default.html
--->{% endcomment %}
-
-{% if site.JB.pages_list.provider == "custom" %}
- {% include custom/pages_list %}
-{% else %}
- {% for node in pages_list %}
- {% if node.title != null %}
- {% if group == null or group == node.group %}
- {% if page.url == node.url %}
- <li class="active"><a href="{{ BASE_PATH }}{{node.url}}" class="active">{{node.title}}</a></li>
- {% else %}
- <li><a href="{{ BASE_PATH }}{{node.url}}">{{node.title}}</a></li>
- {% endif %}
- {% endif %}
- {% endif %}
- {% endfor %}
-{% endif %}
-{% assign pages_list = nil %}
-{% assign group = nil %}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/_includes/JB/posts_collate
----------------------------------------------------------------------
diff --git a/website-old/_includes/JB/posts_collate b/website-old/_includes/JB/posts_collate
deleted file mode 100644
index f612ade..0000000
--- a/website-old/_includes/JB/posts_collate
+++ /dev/null
@@ -1,55 +0,0 @@
-{% comment %}<!--
-Collate_posts helper. Collated posts by year and month.
-Usage:
- 1) assign the 'posts_collate' variable to a valid array of posts.
- 2) include JB/posts_collate
- example:
- {% assign posts_collate = site.posts %}
- {% include JB/posts_collate %}
-
- Ordering:
- Posts are displayed in reverse chronological order.
- For normal chronological order:
- 1) Change the for loop to this:
- => 'for post in site.posts reversed'
- 2) Next make sure to change 'post.previous.date' to:
- => 'post.next.date'
-
--->{% endcomment %}
-
-{% if site.JB.posts_collate.provider == "custom" %}
- {% include custom/posts_collate %}
-{% else %}
- {% for post in posts_collate %}
- {% capture this_year %}{{ post.date | date: "%Y" }}{% endcapture %}
- {% capture this_month %}{{ post.date | date: "%B" }}{% endcapture %}
- {% capture next_year %}{{ post.previous.date | date: "%Y" }}{% endcapture %}
- {% capture next_month %}{{ post.previous.date | date: "%B" }}{% endcapture %}
-
- {% if forloop.first %}
- <h2>{{this_year}}</h2>
- <h3>{{this_month}}</h3>
- <ul>
- {% endif %}
-
- <li><span>{{ post.date | date: "%B %e, %Y" }}</span> &raquo; <a href="{{ BASE_PATH }}{{ post.url }}">{{ post.title }}</a></li>
-
- {% if forloop.last %}
- </ul>
- {% else %}
- {% if this_year != next_year %}
- </ul>
- <h2>{{next_year}}</h2>
- <h3>{{next_month}}</h3>
- <ul>
- {% else %}
- {% if this_month != next_month %}
- </ul>
- <h3>{{next_month}}</h3>
- <ul>
- {% endif %}
- {% endif %}
- {% endif %}
- {% endfor %}
-{% endif %}
-{% assign posts_collate = nil %}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/_includes/JB/setup
----------------------------------------------------------------------
diff --git a/website-old/_includes/JB/setup b/website-old/_includes/JB/setup
deleted file mode 100644
index a2e4793..0000000
--- a/website-old/_includes/JB/setup
+++ /dev/null
@@ -1,28 +0,0 @@
-{% capture jbcache %}
- <!--
- - Dynamically set liquid variables for working with URLs/paths
- -->
-{% include JB/is_production %}
- {% if site.JB.setup.provider == "custom" %}
- {% include custom/setup %}
- {% else %}
- {% if is_production and site.JB.BASE_PATH and site.JB.BASE_PATH != '' %}
- {% assign BASE_PATH = site.JB.BASE_PATH %}
- {% assign HOME_PATH = site.JB.BASE_PATH %}
- {% else %}
- {% assign BASE_PATH = nil %}
- {% assign HOME_PATH = "/" %}
- {% endif %}
-
- {% if site.JB.ASSET_PATH %}
- {% assign ASSET_PATH = site.JB.ASSET_PATH %}
- {% else %}
- {% if layout.theme.name %}
- {% capture ASSET_PATH %}{{ BASE_PATH }}/assets/themes/{{ layout.theme.name }}{% endcapture %}
- {% else %}
- {% capture ASSET_PATH %}{{ BASE_PATH }}/assets/themes/{{ page.theme.name }}{% endcapture %}
- {% endif %}
- {% endif %}
-
- {% endif %}
-{% endcapture %}{% assign jbcache = nil %}

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/_includes/JB/sharing
----------------------------------------------------------------------
diff --git a/website-old/_includes/JB/sharing b/website-old/_includes/JB/sharing
deleted file mode 100644
index 175a001..0000000
--- a/website-old/_includes/JB/sharing
+++ /dev/null
@@ -1,9 +0,0 @@
-{% include JB/is_production %}
-{% if is_production and site.JB.sharing.provider and page.JB.sharing != false %}
-
-{% case site.JB.sharing.provider %}
-{% when "custom" %}
- {% include custom/sharing %}
-{% endcase %}
-
-{% endif %}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/_includes/JB/sort_collection
----------------------------------------------------------------------
diff --git a/website-old/_includes/JB/sort_collection b/website-old/_includes/JB/sort_collection
deleted file mode 100644
index 1e32015..0000000
--- a/website-old/_includes/JB/sort_collection
+++ /dev/null
@@ -1,81 +0,0 @@
-{% capture jbcache %}{% comment %}
-
- Sort the given array or map.
-
- Parameters:
- collection: the array or map to sort [REQUIRED]
- sort_by: the property to sort by [OPTIONAL]
- sort_descending: reverse the collection [OPTIONAL]
-
- Returns:
- sort_result: the sorted collection
-
- Examples:
- <h3>Pages</h3>
- <ol>
- {% include JB/sort_collection collection=site.pages sort_by="title" %}
- {% assign pages_list = sort_result %}
- {% include JB/pages_list %}
- </ol>
-
- <h3>Pages [Reversed]</h3>
- <ol>
- {% include JB/sort_collection collection=site.pages sort_by="title" sort_descending=true %}
- {% assign pages_list = sort_result %}
- {% include JB/pages_list %}
- </ol>
-
- <h3>Array</h3>
- <ol>
- {% assign test_array = "one,two,three,four" | split: "," %}
- {% include JB/sort_collection collection=test_array %}
- {% for test in sort_result %}
- <li>{{test}}</li>
- {% endfor %}
- </ol>
-
- <h3>Array [Reversed]</h3>
- <ol>
- {% assign test_array = "one,two,three,four" | split: "," %}
- {% include JB/sort_collection collection=test_array sort_descending=true %}
- {% for test in sort_result %}
- <li>{{test}}</li>
- {% endfor %}
- </ol>
-
-{% endcomment %}
-
-{% assign is_array = true %}
-{% assign sort_result = "," | split: "," %}
-{% assign collection = include.collection %}
-{% if include.sort_by %}
- {% assign sort_by = include.sort_by %}
-{% else %}
- {% assign sort_by = "title" %}
-{% endif %}
-
-{% if collection and collection.size > 0 %}
- {% for x in collection.first %}
- {% if x[1].size > 0 %}
- {% assign is_array = false %}
- {% endif %}
- {% break %}
- {% endfor %}
-
- {% if is_array == false %}
- {% assign sort_result = collection | sort: sort_by %}
- {% else %}
- {% assign sort_result = collection | sort %}
- {% endif %}
-
- {% if include.sort_descending %}
- {% assign reversed = "," | split: "," %}
- {% for index in (1..sort_result.size) %}
- {% assign i = sort_result.size | minus: index %}
- {% assign reversed = reversed | push: sort_result[i] %}
- {% endfor %}
- {% assign sort_result = reversed %}
- {% assign reversed = nil %}
- {% endif %}
-
-{% endif %}{% endcapture %}{% assign jbcache = nil %}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/_includes/JB/tags_list
----------------------------------------------------------------------
diff --git a/website-old/_includes/JB/tags_list b/website-old/_includes/JB/tags_list
deleted file mode 100644
index 8eb62a7..0000000
--- a/website-old/_includes/JB/tags_list
+++ /dev/null
@@ -1,33 +0,0 @@
-{% comment %}<!--
-The tags_list include is a listing helper for tags.
-Usage:
- 1) assign the 'tags_list' variable to a valid array of tags.
- 2) include JB/tags_list
- example:
- <ul>
- {% assign tags_list = site.tags %}
- {% include JB/tags_list %}
- </ul>
-
- Notes:
- Tags can be either a Hash of tag objects (hashes) or an Array of tag-names (strings).
- The encapsulating 'if' statement checks whether tags_list is a Hash or Array.
- site.tags is a Hash while page.tags is an array.
-
- This helper can be seen in use at: ../_layouts/default.html
--->{% endcomment %}
-
-{% if site.JB.tags_list.provider == "custom" %}
- {% include custom/tags_list %}
-{% else %}
- {% if tags_list.first[0] == null %}
- {% for tag in tags_list %}
- <li><a href="{{ BASE_PATH }}{{ site.JB.tags_path }}#{{ tag }}-ref">{{ tag }} <span>{{ site.tags[tag].size }}</span></a></li>
- {% endfor %}
- {% else %}
- {% for tag in tags_list %}
- <li><a href="{{ BASE_PATH }}{{ site.JB.tags_path }}#{{ tag[0] }}-ref">{{ tag[0] }} <span>{{ tag[1].size }}</span></a></li>
- {% endfor %}
- {% endif %}
-{% endif %}
-{% assign tags_list = nil %}

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/_includes/themes/mahout-retro/default.html
----------------------------------------------------------------------
diff --git a/website-old/_includes/themes/mahout-retro/default.html b/website-old/_includes/themes/mahout-retro/default.html
deleted file mode 100644
index 4144d5d..0000000
--- a/website-old/_includes/themes/mahout-retro/default.html
+++ /dev/null
@@ -1,166 +0,0 @@
-<!DOCTYPE html>
-<!--
-
- Licensed to the Apache Software Foundation (ASF) under one or more
- contributor license agreements. See the NOTICE file distributed with
- this work for additional information regarding copyright ownership.
- The ASF licenses this file to You under the Apache License, Version 2.0
- (the "License"); you may not use this file except in compliance with
- the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
- <title>Apache Mahout: Scalable machine learning and data mining</title>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
- <meta name="Distribution" content="Global">
- <meta name="Robots" content="index,follow">
- <meta name="keywords" content="apache, apache hadoop, apache lucene,
- business data mining, cluster analysis,
- collaborative filtering, data extraction, data filtering, data framework, data integration,
- data matching, data mining, data mining algorithms, data mining analysis, data mining data,
- data mining introduction, data mining software,
- data mining techniques, data representation, data set, datamining,
- feature extraction, fuzzy k means, genetic algorithm, hadoop,
- hierarchical clustering, high dimensional, introduction to data mining, kmeans,
- knowledge discovery, learning approach, learning approaches, learning methods,
- learning techniques, lucene, machine learning, machine translation, mahout apache,
- mahout taste, map reduce hadoop, mining data, mining methods, naive bayes,
- natural language processing,
- supervised, text mining, time series data, unsupervised, web data mining">
- <link rel="shortcut icon" type="image/x-icon" href="https://mahout.apache.org/images/favicon.ico">
- <!--<script type="text/javascript" src="{{ BASE_PATH}}/js/prototype.js"></script>-->
- <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/prototype/1.7.2.0/prototype.js"></script>
- <script type="text/javascript" src="{{ ASSET_PATH}}/js/effects.js"></script>
- <script type="text/javascript" src="{{ ASSET_PATH}}/js/search.js"></script>
- <script type="text/javascript" src="{{ ASSET_PATH}}/js/slides.js"></script>
-
- <link href="{{ ASSET_PATH }}/css/bootstrap.min.css" rel="stylesheet" media="screen">
- <link href="{{ ASSET_PATH }}/css/bootstrap-responsive.css" rel="stylesheet">
- <link rel="stylesheet" href="{{ ASSET_PATH }}/css/global.css" type="text/css">
-
- <!-- mathJax stuff -- use `\(...\)` for inline style math in markdown -->
- <script type="text/x-mathjax-config">
- MathJax.Hub.Config({
- tex2jax: {
- skipTags: ['script', 'noscript', 'style', 'textarea', 'pre']
- }
- });
- MathJax.Hub.Queue(function() {
- var all = MathJax.Hub.getAllJax(), i;
- for(i = 0; i < all.length; i += 1) {
- all[i].SourceElement().parentNode.className += ' has-jax';
- }
- });
- </script>
- <script type="text/javascript">
- var mathjax = document.createElement('script');
- mathjax.type = 'text/javascript';
- mathjax.async = true;
-
- mathjax.src = ('https:' == document.location.protocol) ?
- 'https://c328740.ssl.cf1.rackcdn.com/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML' :
- 'http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML';
-
- var s = document.getElementsByTagName('script')[0];
- s.parentNode.insertBefore(mathjax, s);
- </script>
-</head>
-
-<body id="home" data-twttr-rendered="true">
- <div id="wrap">
- <div id="header">
- <div id="logo"><a href="{{ BASE_PATH }}/"><img src="/assets/img/mahout-logo-brudman.png" alt="Logos for Mahout and Apache Software Foundation" /></a></div>
- <div id="search">
- <form id="search-form" action="http://www.google.com/search" method="get" class="navbar-search pull-right">
- <input value="http://mahout.apache.org" name="sitesearch" type="hidden">
- <input class="search-query" name="q" id="query" type="text">
- <input id="submission" type="image" src="/assets/img/mahout-lupe.png" alt="Search" />
- </form>
- </div>
-
- <div class="navbar navbar-inverse" style="position:absolute;top:133px;padding-right:0px;padding-left:0px;">
- <div class="navbar-inner" style="border: none; background: #999; border: none; border-radius: 0px;">
- <div class="container">
- <button type="button" class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
- <span class="icon-bar"></span>
- <span class="icon-bar"></span>
- <span class="icon-bar"></span>
- </button>
- <!-- <a class="brand" href="#">Apache Community Development Project</a> -->
- {% include navbar.html %}
- </div>
- </div>
- </div>
-
-</div>
-
- <div id="sidebar">
- <div id="sidebar-wrap">
- <h2>Twitter</h2>
- <ul class="sidemenu">
- <li>
-<a class="twitter-timeline" href="https://twitter.com/ApacheMahout" data-widget-id="422861673444028416">Tweets by @ApacheMahout</a>
-<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+"://platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script>
-</li>
- </ul>
- <h2>Apache Software Foundation</h2>
- <ul class="sidemenu">
- <li><a href="http://www.apache.org/foundation/how-it-works.html">How the ASF works</a></li>
- <li><a href="http://www.apache.org/foundation/getinvolved.html">Get Involved</a></li>
- <li><a href="http://www.apache.org/dev/">Developer Resources</a></li>
- <li><a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
- <li><a href="http://www.apache.org/foundation/thanks.html">Thanks</a></li>
- </ul>
- <h2>Related Projects</h2>
- <ul class="sidemenu">
- <li><a href="http://lucene.apache.org/">Apache Lucene</a></li>
- <li><a href="http://hadoop.apache.org/">Apache Hadoop</a></li>
- <li><a href="http://bigtop.apache.org/">Apache Bigtop</a></li>
- <li><a href="http://spark.apache.org/">Apache Spark</a></li>
- <li><a href="http://flink.apache.org/">Apache Flink</a></li>
- </ul>
- </div>
-</div>
-
- <div id="content-wrap" class="clearfix">
- <div id="main">
-
- {{ content }}
- </div>
- </div>
-</div>
- <footer class="footer" align="center">
- <div class="container">
- <p>
- Copyright &copy; 2014-2016 The Apache Software Foundation, Licensed under
- the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.
- <br />
- Apache Mahout, Mahout, Apache, the Apache feather logo, and the elephant rider logo are either registered trademarks or trademarks of <a href="http://www.apache.org/foundation/marks/">The Apache Software Foundation</a> in the United States and other countries.
- </p>
- </div>
- </footer>
-
- <script src="{{ ASSET_PATH}}/js/jquery-1.9.1.min.js"></script>
- <script src="{{ ASSET_PATH}}/js/bootstrap.min.js"></script>
- <script>
- (function() {
- var cx = '012254517474945470291:vhsfv7eokdc';
- var gcse = document.createElement('script');
- gcse.type = 'text/javascript';
- gcse.async = true;
- gcse.src = (document.location.protocol == 'https:' ? 'https:' : 'http:') +
- '//www.google.com/cse/cse.js?cx=' + cx;
- var s = document.getElementsByTagName('script')[0];
- s.parentNode.insertBefore(gcse, s);
- })();
- </script>
-</body>
-</html>

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/_includes/themes/mahout-retro/page.html
----------------------------------------------------------------------
diff --git a/website-old/_includes/themes/mahout-retro/page.html b/website-old/_includes/themes/mahout-retro/page.html
deleted file mode 100755
index e981ad9..0000000
--- a/website-old/_includes/themes/mahout-retro/page.html
+++ /dev/null
@@ -1,9 +0,0 @@
-<div class="page-header">
- <h1>{{ page.title }} {% if page.tagline %} <small>{{ page.tagline }}</small>{% endif %}</h1>
-</div>
-
-<div class="row">
- <div class="col-xs-12">
- {{ content }}
- </div>
-</div>

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/_includes/themes/mahout-retro/post.html
----------------------------------------------------------------------
diff --git a/website-old/_includes/themes/mahout-retro/post.html b/website-old/_includes/themes/mahout-retro/post.html
deleted file mode 100644
index 0de6bcc..0000000
--- a/website-old/_includes/themes/mahout-retro/post.html
+++ /dev/null
@@ -1,9 +0,0 @@
-<div class="page-header">
- <h1>{{ page.title }} {% if page.tagline %} <small>{{ page.tagline }}</small>{% endif %}</h1>
-</div>
-
-<div class="row">
- <div class="col-xs-12">
- {{ content }}
- </div>
-</div>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/_includes/themes/mahout-retro/settings.yml
----------------------------------------------------------------------
diff --git a/website-old/_includes/themes/mahout-retro/settings.yml b/website-old/_includes/themes/mahout-retro/settings.yml
deleted file mode 100644
index 6b1babc..0000000
--- a/website-old/_includes/themes/mahout-retro/settings.yml
+++ /dev/null
@@ -1,2 +0,0 @@
-theme :
- name : mahout-retro
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/_includes/themes/mahout/body-old.html
----------------------------------------------------------------------
diff --git a/website-old/_includes/themes/mahout/body-old.html b/website-old/_includes/themes/mahout/body-old.html
deleted file mode 100644
index 272e483..0000000
--- a/website-old/_includes/themes/mahout/body-old.html
+++ /dev/null
@@ -1,22 +0,0 @@
- <nav class="navbar navbar-inverse navbar-fixed-top">
- <div class="container-fluid">
- <div class="navbar-header">
- <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
- <span class="sr-only">Toggle navigation</span>
- <span class="icon-bar"></span>
- <span class="icon-bar"></span>
- <span class="icon-bar"></span>
- </button>
- <a class="navbar-brand" href="/"><i class="fa fa-heart"></i> {{ site.data.global.title }}</a>
- </div>
- <div id="navbar" class="navbar-collapse collapse">
- <ul class="nav navbar-nav navbar-right">
- {% for item in site.data.nav.main %}
- <li>
- <a href="{{ item.url }}">{{ item.text }}</a>
- </li>
- {% endfor %}
- </ul>
- </div>
- </div>
- </nav>

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/_includes/themes/mahout/default.html
----------------------------------------------------------------------
diff --git a/website-old/_includes/themes/mahout/default.html b/website-old/_includes/themes/mahout/default.html
deleted file mode 100644
index 529badf..0000000
--- a/website-old/_includes/themes/mahout/default.html
+++ /dev/null
@@ -1,71 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
- <head>
- <meta charset="utf-8">
- <meta http-equiv="X-UA-Compatible" content="IE=edge">
-
- <title>{{ page.title }}</title>
- {% if page.description %}<meta name="description" content="{{ page.description }}">{% endif %}
- <meta name="author" content="{{ site.author.name }}">
-
- <!-- Enable responsive viewport -->
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
-
- <!-- Bootstrap styles -->
- <link href="{{ ASSET_PATH }}/bootstrap/css/bootstrap.css" rel="stylesheet">
- <!-- Optional theme -->
- <link href="{{ ASSET_PATH }}/bootstrap/css/bootstrap-theme.min.css" rel="stylesheet">
- <!-- Sticky Footer -->
- <link href="{{ ASSET_PATH }}/bootstrap/css/bs-sticky-footer.css" rel="stylesheet">
-
- <!-- Custom styles -->
- <link href="{{ ASSET_PATH }}/css/style.css?body=1" rel="stylesheet" type="text/css" media="all">
-
- <!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
- <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
- <!--[if lt IE 9]>
- <script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
- <script src="https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script>
- <![endif]-->
-
- <!-- Fav and touch icons -->
- <!-- Update these with your own images
- <link rel="shortcut icon" href="images/favicon.ico">
- <link rel="apple-touch-icon" href="images/apple-touch-icon.png">
- <link rel="apple-touch-icon" sizes="72x72" href="images/apple-touch-icon-72x72.png">
- <link rel="apple-touch-icon" sizes="114x114" href="images/apple-touch-icon-114x114.png">
- -->
-
- <!-- atom & rss feed -->
- <link href="{{ BASE_PATH }}{{ site.JB.atom_path }}" type="application/atom+xml" rel="alternate" title="Sitewide ATOM Feed">
- <link href="{{ BASE_PATH }}{{ site.JB.rss_path }}" type="application/rss+xml" rel="alternate" title="Sitewide RSS Feed">
-
- </head>
-
- <body>
- {% include themes/mahout/navbar_main.html %}
-
- <div class="container">
- {{ content }}
- </div>
-
- </div>
-
- <div id="footer">
- <div class="container">
- <p>&copy; {{ site.time | date: '%Y' }} {{ site.author.name }}
- with help from <a href="http://jekyllbootstrap.com" target="_blank" title="The Definitive Jekyll Blogging Framework">Jekyll Bootstrap</a>
- and <a href="http://getbootstrap.com" target="_blank">Bootstrap</a>
- </p>
- </div>
- </div>
-
- {% include JB/analytics %}
-
-
- <!-- Latest compiled and minified JavaScript, requires jQuery 1.x (2.x not supported in IE8) -->
- <!-- Placed at the end of the document so the pages load faster -->
- <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
- <script src="{{ ASSET_PATH }}/bootstrap/js/bootstrap.min.js"></script>
- </body>
-</html>

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/_includes/themes/mahout/footer.html
----------------------------------------------------------------------
diff --git a/website-old/_includes/themes/mahout/footer.html b/website-old/_includes/themes/mahout/footer.html
deleted file mode 100644
index 1d1c904..0000000
--- a/website-old/_includes/themes/mahout/footer.html
+++ /dev/null
@@ -1,13 +0,0 @@
-
- <footer class="site-footer">
- <div class="container">
- <div class="row">
- <div class="col-md-12">
- <p class="text-muted">{{ site.data.global.footer_text }}</p>
- </div>
- </div>
- </div>
- </footer>
-
- </body>
-</html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/_includes/themes/mahout/header.html
----------------------------------------------------------------------
diff --git a/website-old/_includes/themes/mahout/header.html b/website-old/_includes/themes/mahout/header.html
deleted file mode 100644
index 0c29215..0000000
--- a/website-old/_includes/themes/mahout/header.html
+++ /dev/null
@@ -1,75 +0,0 @@
-<!doctype html>
-<!--[if lt IE 7 ]><html itemscope itemtype="http://schema.org/{% if page.id or post.id %}Article{% else %}Organization{% endif %}" id="ie6" class="ie ie-old" lang="en-US"><![endif]-->
-<!--[if IE 7 ]> <html itemscope itemtype="http://schema.org/{% if page.id or post.id %}Article{% else %}Organization{% endif %}" id="ie7" class="ie ie-old" lang="en-US"><![endif]-->
-<!--[if IE 8 ]> <html itemscope itemtype="http://schema.org/{% if page.id or post.id %}Article{% else %}Organization{% endif %}" id="ie8" class="ie ie-old" lang="en-US"><![endif]-->
-<!--[if IE 9 ]> <html itemscope itemtype="http://schema.org/{% if page.id or post.id %}Article{% else %}Organization{% endif %}" id="ie9" class="ie" lang="en-US"><![endif]-->
-<!--[if gt IE 9]><!--><html itemscope itemtype="http://schema.org/{% if page.id or post.id %}Article{% else %}Organization{% endif %}" lang="en-US"><!--<![endif]-->
-<head>
- <meta name="author" content="The Apache Software Foundation">
-
- <!-- Enable responsive viewport -->
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
-
- <!-- Le HTML5 shim, for IE6-8 support of HTML elements -->
- <!--[if lt IE 9]>
- <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
- <![endif]-->
-
- <!-- Le styles -->
- <link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet" integrity="sha384-wvfXpqpZZVQGK6TAh5PVlGOfQNHSoD2xbE+QkPxCAFlNEevoEH3Sl0sibVcOQVnN" crossorigin="anonymous">
- <link href="https://fonts.googleapis.com/icon?family=Material+Icons">
- <link href="/assets/themes/mahout/bootstrap/css/bootstrap.css" rel="stylesheet">
- <link href="/assets/themes/mahout/css/style.css?body=1" rel="stylesheet" type="text/css">
- <link href="/assets/themes/mahout/css/syntax.css" rel="stylesheet" type="text/css" media="screen" />
-
-<!--
- <link href="/assets/themes/mahout/css/main.css" rel="stylesheet" type="text/css" media="screen" />
- <link href="/assets/themes/mahout/css/global.css" rel="stylesheet" type="text/css" media="screen" />
- <link href="/assets/themes/mahout/css/global__.css" rel="stylesheet" type="text/css" media="screen" />
--->
- <!-- Le fav and touch icons -->
- <!-- Update these with your own images
- <link rel="shortcut icon" href="images/favicon.ico">
- <link rel="apple-touch-icon" href="images/apple-touch-icon.png">
- <link rel="apple-touch-icon" sizes="72x72" href="images/apple-touch-icon-72x72.png">
- <link rel="apple-touch-icon" sizes="114x114" href="images/apple-touch-icon-114x114.png">
- -->
-
- <!-- Js -->
- <script src="https://code.jquery.com/jquery-1.10.2.min.js"></script>
- <script src="/assets/themes/mahout/bootstrap/js/bootstrap.min.js"></script>
-<script type="text/x-mathjax-config">
- MathJax.Hub.Config({
- tex2jax: {
- skipTags: ['script', 'noscript', 'style', 'textarea', 'pre']
- }
- });
- MathJax.Hub.Queue(function() {
- var all = MathJax.Hub.getAllJax(), i;
- for(i = 0; i < all.length; i += 1) {
- all[i].SourceElement().parentNode.className += ' has-jax';
- }
- });
- </script>
- <script type="text/javascript">
- var mathjax = document.createElement('script');
- mathjax.type = 'text/javascript';
- mathjax.async = true;
-
- mathjax.src = ('https:' == document.location.protocol) ?
- 'https://c328740.ssl.cf1.rackcdn.com/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML' :
- 'http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML';
-
- var s = document.getElementsByTagName('script')[0];
- s.parentNode.insertBefore(mathjax, s);
- </script>
-
-
- <!-- atom & rss feed -->
- <link href="/atom.xml" type="application/atom+xml" rel="alternate" title="Sitewide ATOM Feed">
- <link href="/rss.xml" type="application/rss+xml" rel="alternate" title="Sitewide RSS Feed">
-
-
-</head>
-
-

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/_includes/themes/mahout/homepage.html
----------------------------------------------------------------------
diff --git a/website-old/_includes/themes/mahout/homepage.html b/website-old/_includes/themes/mahout/homepage.html
deleted file mode 100644
index 0f18c15..0000000
--- a/website-old/_includes/themes/mahout/homepage.html
+++ /dev/null
@@ -1,160 +0,0 @@
-
-<div class="jumbotron">
- <div class="container">
- <h1>Apache Mahout - DRAFT </h1>
- <p>A distributed linear algebra framework that runs on Spark, Flink, GPU's and more!<br/>
- Use Mahout's library of machine learning algorithms or roll your own! Use Mahout-Samsara to write matrix
- algebra using R like syntax. Check out our tutorials and quick start guide to get rolling.
- </p>
- <div class="border row">
- <div class="col-md-12 col-sm-12 col-xs-12 text-center newBtn">
- <a href="http://youtube.com" target="_mahoutVideo" class="btn btn-primary btn-lg bigFingerButton" role="button">Tutorial Video</a>
- <!-- is this supposed to be a link that works or is it an artifact?? ^^ -->
- <a href="https://github.com/apache/mahout" class="btn btn-primary btn-lg bigFingerButton" role="button">GET LATEST MAHOUT</a>
- </div>
- </div>
- </div>
-</div>
-
-<!-- 3 wide column -->
-
-<!--
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-
-
-
-<div class="new">
- <div class="container">
- <h2>Latest Release</h2>
- <span class="newMahout center-block">Apache Mahout 0.13.0</span>
- <div class="border row">
- <div class="border col-md-4 col-sm-4">
- <h4>Simple and <br/>Extensible</h4>
- <div class="viz">
- <p>
- Build your own algorithms using Mahouts R like interface. See an example in this
- <a href="" target="_blank">demo</a>
- </p>
- </div>
- </div>
- <div class="border col-md-4 col-sm-4">
- <h4>Support for Multiple <br/>Distributed Backends</h4>
- <div class="multi">
- <p>
- Custom bindings for Spark, Flink, and H20 enable a write once run anywhere machine learning platform
- <a class="thumbnail text-center" href="#thumb">
- <a href="https://github.com/apache/mahout" class="btn btn-primary btn-lg bigFingerButton" role="button">See more in this DEMO. (not working)</a>
- </a>
- </p>
- </div>
- </div>
- <div class="border col-md-4 col-sm-4">
- <h4>Introducing Samsara an R<br/> dsl for writing ML algos</h4>
- <div class="personal">
- <p>
- Use this capability to write algorithms at scale, that will run on any backend
- </p>
- </div>
- </div>
- </div>
- <div class="border row">
- <div class="border col-md-4 col-sm-4">
- <h4>Support for GPUs</h4>
- <p>
- Distributed GPU Matrix-Matrix and Matrix-Vector multiplication on Spark along with sparse and dense matrix GPU-backed support.
- </p>
- </div>
- <div class="border col-md-4 col-sm-4">
- <h4>Extensible Algorithms Framework</h4>
- <p>
- A new scikit-learn-like framework for algorithms with the goal for
- creating a consistent API for various machine-learning algorithms
- </p>
- </div>
- <div class="border col-md-4 col-sm-4">
- <h4>0.13.1 - Future Plans</h4>
- <p>
- Further Native Integration
- * JCuda backing for In-core Matrices and CUDA solvers
- * GPU/OpenMP Acceleration for linear solvers
- * Scala 2.11 Support
- * Spark 2.x Support
- </p>
- </div>
- </div>
- <div class="col-md-12 col-sm-12 col-xs-12 text-center">
- <p style="text-align:center; margin-top: 32px; font-size: 14px; color: gray; font-weight: 200; font-style: italic; padding-bottom: 0;">See more details in
- <a href="tbd">0.13.0 Release Note</a>
- </p>
- </div>
- </div>
-</div>
-
- <!--
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-
-
-
- <div class="container">
- <div class="row">
- <div class="col-md-12">
-
-
- </div>
- </div>
- <div class="row">
- <div class="col-md-12">
- {% for post in paginator.posts %}
- {% include tile.html %}
- {% endfor %}
-
-
-
- </div>
- </div>
- </div>
-
-
-
-<div class="new">
- <div class="container">
- <h2>Mahout on Twitter</h2>
- <br/>
- <div class="row">
- <div class="col-md-12 col-sm-12 col-xs-12 text-center">
- <div class='jekyll-twitter-plugin'><a class="twitter-timeline" data-width="500" data-tweet-limit="4" data-chrome="nofooter" href="https://twitter.com/ApacheMahout">Tweets by ApacheMahout</a>
-<script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script></div>
- </div>
- <div class="col-md-12 col-sm-12 col-xs-12 text-center twitterBtn">
- <p style="text-align:center; margin-top: 32px; font-size: 12px; color: gray; font-weight: 200; font-style: italic; padding-bottom: 0;">See more tweets or</p>
- <a href="https://twitter.com/ApacheMahout" target="_blank" class="btn btn-primary btn-lg round" role="button">
- Follow Mahout on &nbsp;
- <i class="fa fa-twitter fa-lg" aria-hidden="true"></i>
- </a>
- </div>
- </div>
- </div>
- <hr>
-</div>

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/_includes/themes/mahout/navbar_main.html
----------------------------------------------------------------------
diff --git a/website-old/_includes/themes/mahout/navbar_main.html b/website-old/_includes/themes/mahout/navbar_main.html
deleted file mode 100644
index 409d1e9..0000000
--- a/website-old/_includes/themes/mahout/navbar_main.html
+++ /dev/null
@@ -1,69 +0,0 @@
-<body class="{{ post.title | downcase | replace:' ','-' | replace:',','' | strip_html }}{% if page.category %} category-{{ page.category }}{% endif %}{% if page.layout-class %} layout-{{ page.layout-class }}{% endif %}">
-
- <div class="navbar navbar-inverse navbar-fixed-top" role="navigation">
- <div class="container">
- <div class="navbar-header">
- <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
- <span class="sr-only">Toggle navigation</span>
- <span class="icon-bar"></span>
- <span class="icon-bar"></span>
- <span class="icon-bar"></span>
- </button>
- <a class="navbar-brand" href="/">
- <img src="/assets/themes/mahout/img/mahout-logo.png" width="75" alt="I'm mahout">
- Apache Mahout
- </a>
- </div>
- <nav class="navbar-collapse collapse" role="navigation">
- <ul class="nav navbar-nav navbar-right">
-
- <li id="community">
- <a href="#" data-toggle="dropdown" class="dropdown-toggle">Community<b class="caret"></b></a>
- <ul class="dropdown-menu">
- <li><a href="/developers/how-to-contribute.html">How to Contribute</a></li>
- <li><a href="/issue-tracker">Issues Tracking (JIRA)</a></li>
- <li><a href="/developers">Developers</a></li>
- <li><a href="/mailing-lists">Mailing Lists</a></li>
- <li><a href="/reference">References</a></li>
- </ul>
- </li>
-
- <!-- Download -->
- <li id="download">
- <a href="#" data-toggle="dropdown" class="dropdown-toggle">Download<b class="caret"></b></a>
- <ul class="dropdown-menu">
- <li><a href="https://github.com/apache/mahout">Download Mahout</a></li>
- </ul>
- </li>
-
- <!-- Docs -->
- <li id="docs">
- <a href="#" data-toggle="dropdown" class="dropdown-toggle">Docs<b class="caret"></b></a>
- <ul class="dropdown-menu">
- <li><span><b>Release</b><span></li>
- <li><a href="/docs/0.13.0/quickstart">0.13.0</a></li>
- <li><a href="/tbd">Older Versions</a></li>
- <li role="separator" class="divider"></li>
- <li><span><b>Snapshot</b>&nbsp;(development)<span></li>
- <li><a href="/docs/0.13.1-SNAPSHOT">0.13.1-SNAPSHOT</a></li>
- </ul>
- </li>
-
- <li><a href="/docs/0.13.0/quickstart">QuickStart</a></li>
- <li><a href="https://github.com/apache/mahout">GitHub</a></li>
-
- <!-- Apache -->
- <li id="apache">
- <a href="#" data-toggle="dropdown" class="dropdown-toggle">Apache<b class="caret"></b></a>
- <ul class="dropdown-menu">
- <li><a href="http://www.apache.org/foundation/how-it-works.html">Apache Software Foundation</a></li>
- <li><a href="http://www.apache.org/licenses/">Apache License</a></li>
- <li><a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
- <li><a href="http://www.apache.org/foundation/thanks.html">Thanks</a></li>
- </ul>
- </li>
- </ul>
- </nav><!--/.navbar-collapse -->
- </div>
- </div>
-

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/_includes/themes/mahout/page.html
----------------------------------------------------------------------
diff --git a/website-old/_includes/themes/mahout/page.html b/website-old/_includes/themes/mahout/page.html
deleted file mode 100644
index e981ad9..0000000
--- a/website-old/_includes/themes/mahout/page.html
+++ /dev/null
@@ -1,9 +0,0 @@
-<div class="page-header">
- <h1>{{ page.title }} {% if page.tagline %} <small>{{ page.tagline }}</small>{% endif %}</h1>
-</div>
-
-<div class="row">
- <div class="col-xs-12">
- {{ content }}
- </div>
-</div>

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/_includes/themes/mahout/pagination.html
----------------------------------------------------------------------
diff --git a/website-old/_includes/themes/mahout/pagination.html b/website-old/_includes/themes/mahout/pagination.html
deleted file mode 100644
index fcccc8d..0000000
--- a/website-old/_includes/themes/mahout/pagination.html
+++ /dev/null
@@ -1,35 +0,0 @@
-<nav class="pagination-wrap">
- <ul class="pagination">
- {% if paginator.previous_page %}
- <li>
- <a href="{{ paginator.previous_page_path | prepend: site.baseurl | replace: '//', '/' }}" aria-label="Previous">
- <span aria-hidden="true">&laquo;</span>
- </a>
- </li>
- {% endif %}
-
- {% for page in (1..paginator.total_pages) %}
- {% if page == paginator.page %}
- <li class="active">
- <a href="#">{{ page }}</a>
- </li>
- {% elsif page == 1 %}
- <li>
- <a href="{{ paginator.previous_page_path | prepend: site.baseurl | replace: '//', '/' }}">{{ page }}</a>
- </li>
- {% else %}
- <li>
- <a href="{{ site.paginate_path | prepend: site.baseurl | replace: '//', '/' | replace: ':num', page }}">{{ page }}</a>
- </li>
- {% endif %}
- {% endfor %}
-
- {% if paginator.next_page %}
- <li>
- <a href="{{ paginator.next_page_path | prepend: site.baseurl | replace: '//', '/' }}" aria-label="Next">
- <span aria-hidden="true">&raquo;</span>
- </a>
- </li>
- {% endif %}
- </ul>
-</nav>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/_includes/themes/mahout/post.html
----------------------------------------------------------------------
diff --git a/website-old/_includes/themes/mahout/post.html b/website-old/_includes/themes/mahout/post.html
deleted file mode 100644
index 85cc0f4..0000000
--- a/website-old/_includes/themes/mahout/post.html
+++ /dev/null
@@ -1,47 +0,0 @@
-<div class="page-header">
- <h1>{{ page.title }} {% if page.tagline %}<small>{{page.tagline}}</small>{% endif %}</h1>
-</div>
-
-<div class="row post-full">
- <div class="col-xs-12">
- <div class="date">
- <span>{{ page.date | date_to_long_string }}</span>
- </div>
- <div class="content">
- {{ content }}
- </div>
-
- {% unless page.categories == empty %}
- <ul class="tag_box inline">
- <li><i class="glyphicon glyphicon-open"></i></li>
- {% assign categories_list = page.categories %}
- {% include JB/categories_list %}
- </ul>
- {% endunless %}
-
- {% unless page.tags == empty %}
- <ul class="tag_box inline">
- <li><i class="glyphicon glyphicon-tags"></i></li>
- {% assign tags_list = page.tags %}
- {% include JB/tags_list %}
- </ul>
- {% endunless %}
-
- <hr>
- <ul class="pagination">
- {% if page.previous %}
- <li class="prev"><a href="{{ BASE_PATH }}{{ page.previous.url }}" title="{{ page.previous.title }}">&laquo; Previous</a></li>
- {% else %}
- <li class="prev disabled"><a>&larr; Previous</a></li>
- {% endif %}
- <li><a href="{{ BASE_PATH }}{{ site.JB.archive_path }}">Archive</a></li>
- {% if page.next %}
- <li class="next"><a href="{{ BASE_PATH }}{{ page.next.url }}" title="{{ page.next.title }}">Next &raquo;</a></li>
- {% else %}
- <li class="next disabled"><a>Next &rarr;</a>
- {% endif %}
- </ul>
- <hr>
- {% include JB/comments %}
- </div>
-</div>

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/_includes/themes/mahout/settings.yml
----------------------------------------------------------------------
diff --git a/website-old/_includes/themes/mahout/settings.yml b/website-old/_includes/themes/mahout/settings.yml
deleted file mode 100644
index 7bf9f32..0000000
--- a/website-old/_includes/themes/mahout/settings.yml
+++ /dev/null
@@ -1,2 +0,0 @@
-theme :
- name : mahout
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/_includes/themes/mahout/tile.html
----------------------------------------------------------------------
diff --git a/website-old/_includes/themes/mahout/tile.html b/website-old/_includes/themes/mahout/tile.html
deleted file mode 100644
index 4c943c2..0000000
--- a/website-old/_includes/themes/mahout/tile.html
+++ /dev/null
@@ -1,36 +0,0 @@
-<div class="tile">
- {% if post.featured_image or post.featured_video_id %}
- <a href="{{ post.url | prepend: site.baseurl }}" class="featurette">
- {% if post.featured_image %}
- <!--<span class="img" style="background-image: url('{{ post.featured_image }}');"></span> -->
- <span class="img" style="background-image"><img src= '{{ post.mh_featured_image }}'></span>
-
- {% endif %}
-
- {% if post.featured_video_id %}
- <iframe src="https://www.youtube.com/embed/{{ post.featured_video_id }}" frameborder="0" allowfullscreen></iframe>
- {% endif %}
- </a>
- {% endif %}
- <div class="inner-guts">
- <h2><a href="{{ post.mh_featured_url }}">{{ post.title }}</a></h2>
- <aside>
- {{ post.date | date: "%m.%d.%y" }}
- {% if post.categories != empty %}
- &middot;
- {% for category in post.categories %}
- <span>{{ category }}</span>
- {% endfor %}
- {% endif %}
- </aside>
- <div class="excerpt">{{ post.excerpt }}</div>
- <a href="{{ post.mh_featured_url }}" class="read-more btn btn-info btn-lg">Read More <i class="fa fa-angle-right"></i></a>
- {% if post.categories != empty %}
- <div class="tags">
- {% for tag in post.tags %}
- <span>{{ tag }}</span>
- {% endfor %}
- </div>
- {% endif %}
- </div>
-</div>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/_includes/themes/mahout/title-group.html
----------------------------------------------------------------------
diff --git a/website-old/_includes/themes/mahout/title-group.html b/website-old/_includes/themes/mahout/title-group.html
deleted file mode 100644
index 3daca36..0000000
--- a/website-old/_includes/themes/mahout/title-group.html
+++ /dev/null
@@ -1,43 +0,0 @@
-{% if page.featured_image or page.featured_video_id %}
- <div class="topper">
- {% if page.featured_image %}
- <span class="img" style="background-image: url('{{ page.featured_image }}');">
- {% endif %}
-
- {% if page.featured_video_id %}
- <iframe src="https://www.youtube.com/embed/{{ page.featured_video_id }}" frameborder="0" allowfullscreen></iframe>
- {% endif %}
- </div>
-{% endif %}
-
-<div class="title-group">
- <h1 class="special">
- <span>
- {% if page.title %}
- {{ page.title }}
- {% else %}
- {{ site.data.global.title }}
- {% endif %}
- </span>
- </h1>
- {% if page.id %}
- <aside>
- {{ page.date | date: "%m.%d.%y" }}
- {% if page.categories != empty %}
- &middot;
- {% for category in page.categories %}
- <span>{{ category }}</span>
- {% endfor %}
- {% endif %}
- </aside>
- {% endif %}
- <p class="lead">
- {% if page.lead_text %}
- {{ page.lead_text }}
- {% elsif post.lead_text %}
- {{ post.lead_text }}
- {% else %}
- {{ site.data.global.description }}
- {% endif %}
- </p>
-</div>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/_includes/themes/mahout2/default.html
----------------------------------------------------------------------
diff --git a/website-old/_includes/themes/mahout2/default.html b/website-old/_includes/themes/mahout2/default.html
deleted file mode 100644
index b21b9d8..0000000
--- a/website-old/_includes/themes/mahout2/default.html
+++ /dev/null
@@ -1,115 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
- <meta charset="utf-8">
- <meta http-equiv="X-UA-Compatible" content="IE=edge">
-
- <title>{{ page.title }}</title>
- {% if page.description %}<meta name="description" content="{{ page.description }}">{% endif %}
- <meta name="author" content="{{ site.author.name }}">
-
- <!-- Enable responsive viewport -->
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
-
- <!-- Bootstrap styles -->
- <link href="{{ ASSET_PATH }}/css/bootstrap.min.css" rel="stylesheet">
- <!-- Optional theme -->
- <link href="{{ ASSET_PATH }}/css/bootstrap-theme.min.css" rel="stylesheet">
- <!-- Sticky Footer -->
- <link href="{{ ASSET_PATH }}/css/bs-sticky-footer.css" rel="stylesheet">
-
- <!-- Custom styles -->
- <link href="{{ ASSET_PATH }}/css/style.css" rel="stylesheet" type="text/css" media="all">
-
- <!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
- <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
- <!--[if lt IE 9]>
- <script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
- <script src="https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script>
- <![endif]-->
-
- <!-- Fav and touch icons -->
- <!-- Update these with your own images
- <link rel="shortcut icon" href="images/favicon.ico">
- <link rel="apple-touch-icon" href="images/apple-touch-icon.png">
- <link rel="apple-touch-icon" sizes="72x72" href="images/apple-touch-icon-72x72.png">
- <link rel="apple-touch-icon" sizes="114x114" href="images/apple-touch-icon-114x114.png">
- -->
-
- <!-- atom & rss feed -->
- <link href="{{ BASE_PATH }}{{ site.JB.atom_path }}" type="application/atom+xml" rel="alternate" title="Sitewide ATOM Feed">
- <link href="{{ BASE_PATH }}{{ site.JB.rss_path }}" type="application/rss+xml" rel="alternate" title="Sitewide RSS Feed">
- <script type="text/x-mathjax-config">
- MathJax.Hub.Config({
- tex2jax: {
- skipTags: ['script', 'noscript', 'style', 'textarea', 'pre']
- }
- });
- MathJax.Hub.Queue(function() {
- var all = MathJax.Hub.getAllJax(), i;
- for(i = 0; i < all.length; i += 1) {
- all[i].SourceElement().parentNode.className += ' has-jax';
- }
- });
- </script>
- <script type="text/javascript">
- var mathjax = document.createElement('script');
- mathjax.type = 'text/javascript';
- mathjax.async = true;
-
- mathjax.src = ('https:' == document.location.protocol) ?
- 'https://c328740.ssl.cf1.rackcdn.com/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML' :
- 'http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML';
-
- var s = document.getElementsByTagName('script')[0];
- s.parentNode.insertBefore(mathjax, s);
- </script>
-</head>
-
-<body>
-
-<div id="wrap">
- <body class="{{ post.title | downcase | replace:' ','-' | replace:',','' | strip_html }}{% if page.category %} category-{{ page.category }}{% endif %}{% if page.layout-class %} layout-{{ page.layout-class }}{% endif %}">
- <nav class="navbar navbar-default">
- <div class="container-fluid">
- <!-- Brand and toggle get grouped for better mobile display -->
- <div class="navbar-header">
- <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1" aria-expanded="false">
- <span class="sr-only">Toggle navigation</span>
- <span class="icon-bar"></span>
- <span class="icon-bar"></span>
- <span class="icon-bar"></span>
- </button>
- <a class="navbar-brand" href="/">
- <img src="{{ BASE_PATH }}/assets/img/Mahout-logo-82x100.png" height="30" alt="I'm mahout">
- </a>
- </div>
-
- {% include navbar.html %}
- </div><!-- /.container-fluid -->
- </nav>
- <div class="container">
- {{ content }}
- </div>
-
-
-</div>
-
-<div id="footer">
- <div class="container">
- <p>&copy; {{ site.time | date: '%Y' }} {{ site.author.name }}
- with help from <a href="http://jekyllbootstrap.com" target="_blank" title="The Definitive Jekyll Blogging Framework">Jekyll Bootstrap</a>
- and <a href="http://getbootstrap.com" target="_blank">Bootstrap</a>
- </p>
- </div>
-</div>
-
-{% include JB/analytics %}
-
-
-<!-- Latest compiled and minified JavaScript, requires jQuery 1.x (2.x not supported in IE8) -->
-<!-- Placed at the end of the document so the pages load faster -->
-<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
-<script src="{{ ASSET_PATH }}/js/bootstrap.min.js"></script>
-</body>
-</html>

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/_includes/themes/mahout2/page.html
----------------------------------------------------------------------
diff --git a/website-old/_includes/themes/mahout2/page.html b/website-old/_includes/themes/mahout2/page.html
deleted file mode 100755
index e981ad9..0000000
--- a/website-old/_includes/themes/mahout2/page.html
+++ /dev/null
@@ -1,9 +0,0 @@
-<div class="page-header">
- <h1>{{ page.title }} {% if page.tagline %} <small>{{ page.tagline }}</small>{% endif %}</h1>
-</div>
-
-<div class="row">
- <div class="col-xs-12">
- {{ content }}
- </div>
-</div>

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/_includes/themes/mahout2/post.html
----------------------------------------------------------------------
diff --git a/website-old/_includes/themes/mahout2/post.html b/website-old/_includes/themes/mahout2/post.html
deleted file mode 100644
index 0de6bcc..0000000
--- a/website-old/_includes/themes/mahout2/post.html
+++ /dev/null
@@ -1,9 +0,0 @@
-<div class="page-header">
- <h1>{{ page.title }} {% if page.tagline %} <small>{{ page.tagline }}</small>{% endif %}</h1>
-</div>
-
-<div class="row">
- <div class="col-xs-12">
- {{ content }}
- </div>
-</div>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/_includes/themes/mahout2/settings.yml
----------------------------------------------------------------------
diff --git a/website-old/_includes/themes/mahout2/settings.yml b/website-old/_includes/themes/mahout2/settings.yml
deleted file mode 100644
index 615b135..0000000
--- a/website-old/_includes/themes/mahout2/settings.yml
+++ /dev/null
@@ -1,2 +0,0 @@
-theme :
- name : mahout2
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/_includes/themes/mahout3/algorithm.html
----------------------------------------------------------------------
diff --git a/website-old/_includes/themes/mahout3/algorithm.html b/website-old/_includes/themes/mahout3/algorithm.html
deleted file mode 100644
index 1ffdf8c..0000000
--- a/website-old/_includes/themes/mahout3/algorithm.html
+++ /dev/null
@@ -1,13 +0,0 @@
-
-<div class="row">
- <div class="col-md-3">
- {% include algo_navbar.html %}
- </div>
-
- <div class="col-md-8">
- <div class="page-header">
- <h1>{{ page.title }} {% if page.tagline %} <small>{{ page.tagline }}</small>{% endif %}</h1>
- </div>
- {{ content }}
- </div>
-</div>

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/_includes/themes/mahout3/default.html
----------------------------------------------------------------------
diff --git a/website-old/_includes/themes/mahout3/default.html b/website-old/_includes/themes/mahout3/default.html
deleted file mode 100644
index ddd76c7..0000000
--- a/website-old/_includes/themes/mahout3/default.html
+++ /dev/null
@@ -1,117 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
- <meta charset="utf-8">
- <meta http-equiv="X-UA-Compatible" content="IE=edge">
-
- <title>{{ page.title }}</title>
- {% if page.description %}<meta name="description" content="{{ page.description }}">{% endif %}
- <meta name="author" content="{{ site.author.name }}">
-
- <!-- Enable responsive viewport -->
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
-
- <!-- Bootstrap styles -->
- <link href="{{ ASSET_PATH }}/css/bootstrap.min.css" rel="stylesheet">
- <!-- Optional theme -->
- <link href="{{ ASSET_PATH }}/css/bootstrap-theme.min.css" rel="stylesheet">
- <!-- Sticky Footer -->
- <link href="{{ ASSET_PATH }}/css/bs-sticky-footer.css" rel="stylesheet">
-
- <!-- Custom styles -->
- <link href="{{ ASSET_PATH }}/css/style.css" rel="stylesheet" type="text/css" media="all">
-
- <!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
- <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
- <!--[if lt IE 9]>
- <script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
- <script src="https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script>
- <![endif]-->
-
- <!-- Fav and touch icons -->
- <!-- Update these with your own images
- <link rel="shortcut icon" href="images/favicon.ico">
- <link rel="apple-touch-icon" href="images/apple-touch-icon.png">
- <link rel="apple-touch-icon" sizes="72x72" href="images/apple-touch-icon-72x72.png">
- <link rel="apple-touch-icon" sizes="114x114" href="images/apple-touch-icon-114x114.png">
- -->
-
- <!-- atom & rss feed -->
- <link href="{{ BASE_PATH }}{{ site.JB.atom_path }}" type="application/atom+xml" rel="alternate" title="Sitewide ATOM Feed">
- <link href="{{ BASE_PATH }}{{ site.JB.rss_path }}" type="application/rss+xml" rel="alternate" title="Sitewide RSS Feed">
- <script type="text/x-mathjax-config">
- MathJax.Hub.Config({
- tex2jax: {
- skipTags: ['script', 'noscript', 'style', 'textarea', 'pre']
- }
- });
- MathJax.Hub.Queue(function() {
- var all = MathJax.Hub.getAllJax(), i;
- for(i = 0; i < all.length; i += 1) {
- all[i].SourceElement().parentNode.className += ' has-jax';
- }
- });
- </script>
- <script type="text/javascript">
- var mathjax = document.createElement('script');
- mathjax.type = 'text/javascript';
- mathjax.async = true;
-
- mathjax.src = ('https:' == document.location.protocol) ?
- 'https://c328740.ssl.cf1.rackcdn.com/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML' :
- 'http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML';
-
- var s = document.getElementsByTagName('script')[0];
- s.parentNode.insertBefore(mathjax, s);
- </script>
-</head>
-
-<nav class="navbar navbar-default navbar-fixed-top">
- <div class="container-fluid">
- <!-- Brand and toggle get grouped for better mobile display -->
- <div class="navbar-header">
- <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1" aria-expanded="false">
- <span class="sr-only">Toggle navigation</span>
- <span class="icon-bar"></span>
- <span class="icon-bar"></span>
- <span class="icon-bar"></span>
- </button>
- <a class="navbar-brand" href="/">
- <img src="{{ BASE_PATH }}/assets/img/Mahout-logo-82x100.png" height="30" alt="I'm mahout">
- </a>
- </div>
-
- {% include navbar.html %}
- </div><!-- /.container-fluid -->
-</nav>
-
-<body>
-
-<div id="wrap">
- <body class="{{ post.title | downcase | replace:' ','-' | replace:',','' | strip_html }}{% if page.category %} category-{{ page.category }}{% endif %}{% if page.layout-class %} layout-{{ page.layout-class }}{% endif %}">
-
- <div class="container">
- {{ content }}
- </div>
-
-
-</div>
-
-<div id="footer">
- <div class="container">
- <p>&copy; {{ site.time | date: '%Y' }} {{ site.author.name }}
- with help from <a href="http://jekyllbootstrap.com" target="_blank" title="The Definitive Jekyll Blogging Framework">Jekyll Bootstrap</a>
- and <a href="http://getbootstrap.com" target="_blank">Bootstrap</a>
- </p>
- </div>
-</div>
-
-{% include JB/analytics %}
-
-
-<!-- Latest compiled and minified JavaScript, requires jQuery 1.x (2.x not supported in IE8) -->
-<!-- Placed at the end of the document so the pages load faster -->
-<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
-<script src="{{ ASSET_PATH }}/js/bootstrap.min.js"></script>
-</body>
-</html>

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/_includes/themes/mahout3/mr_algorithm.html
----------------------------------------------------------------------
diff --git a/website-old/_includes/themes/mahout3/mr_algorithm.html b/website-old/_includes/themes/mahout3/mr_algorithm.html
deleted file mode 100644
index 7a01d04..0000000
--- a/website-old/_includes/themes/mahout3/mr_algorithm.html
+++ /dev/null
@@ -1,13 +0,0 @@
-
-<div class="row">
- <div class="col-xs-3">
- {% include mr_algo_navbar.html %}
- </div>
-
- <div class="col-xs-8">
- <div class="page-header">
- <h1>{{ page.title }} {% if page.tagline %} <small>{{ page.tagline }}</small>{% endif %}</h1>
- </div>
- {{ content }}
- </div>
-</div>

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/_includes/themes/mahout3/mr_tutorial.html
----------------------------------------------------------------------
diff --git a/website-old/_includes/themes/mahout3/mr_tutorial.html b/website-old/_includes/themes/mahout3/mr_tutorial.html
deleted file mode 100644
index 1ebb34d..0000000
--- a/website-old/_includes/themes/mahout3/mr_tutorial.html
+++ /dev/null
@@ -1,13 +0,0 @@
-
-<div class="row">
- <div class="col-xs-3">
- {% include mr_tutorial_navbar.html %}
- </div>
-
- <div class="col-xs-8">
- <div class="page-header">
- <h1>{{ page.title }} {% if page.tagline %} <small>{{ page.tagline }}</small>{% endif %}</h1>
- </div>
- {{ content }}
- </div>
-</div>

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/_includes/themes/mahout3/page.html
----------------------------------------------------------------------
diff --git a/website-old/_includes/themes/mahout3/page.html b/website-old/_includes/themes/mahout3/page.html
deleted file mode 100755
index e981ad9..0000000
--- a/website-old/_includes/themes/mahout3/page.html
+++ /dev/null
@@ -1,9 +0,0 @@
-<div class="page-header">
- <h1>{{ page.title }} {% if page.tagline %} <small>{{ page.tagline }}</small>{% endif %}</h1>
-</div>
-
-<div class="row">
- <div class="col-xs-12">
- {{ content }}
- </div>
-</div>

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/_includes/themes/mahout3/post.html
----------------------------------------------------------------------
diff --git a/website-old/_includes/themes/mahout3/post.html b/website-old/_includes/themes/mahout3/post.html
deleted file mode 100644
index 0de6bcc..0000000
--- a/website-old/_includes/themes/mahout3/post.html
+++ /dev/null
@@ -1,9 +0,0 @@
-<div class="page-header">
- <h1>{{ page.title }} {% if page.tagline %} <small>{{ page.tagline }}</small>{% endif %}</h1>
-</div>
-
-<div class="row">
- <div class="col-xs-12">
- {{ content }}
- </div>
-</div>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/_includes/themes/mahout3/settings.yml
----------------------------------------------------------------------
diff --git a/website-old/_includes/themes/mahout3/settings.yml b/website-old/_includes/themes/mahout3/settings.yml
deleted file mode 100644
index 796adc1..0000000
--- a/website-old/_includes/themes/mahout3/settings.yml
+++ /dev/null
@@ -1,2 +0,0 @@
-theme :
- name : mahout3
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/_includes/themes/mahout3/tutorial.html
----------------------------------------------------------------------
diff --git a/website-old/_includes/themes/mahout3/tutorial.html b/website-old/_includes/themes/mahout3/tutorial.html
deleted file mode 100644
index d3597c7..0000000
--- a/website-old/_includes/themes/mahout3/tutorial.html
+++ /dev/null
@@ -1,13 +0,0 @@
-
-<div class="row">
- <div class="col-xs-3">
- {% include tutorial_navbar.html %}
- </div>
-
- <div class="col-xs-8">
- <div class="page-header">
- <h1>{{ page.title }} {% if page.tagline %} <small>{{ page.tagline }}</small>{% endif %}</h1>
- </div>
- {{ content }}
- </div>
-</div>

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/assets/img/2dDirichletASN.png b/website-old/assets/img/2dDirichletASN.png
deleted file mode 100644
index b4fafab..0000000
Binary files a/website-old/assets/img/2dDirichletASN.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/assets/img/2dDirichletASN4040.png b/website-old/assets/img/2dDirichletASN4040.png
deleted file mode 100644
index 7fb0508..0000000
Binary files a/website-old/assets/img/2dDirichletASN4040.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/assets/img/2dDirichletSN.png b/website-old/assets/img/2dDirichletSN.png
deleted file mode 100644
index 31e45a7..0000000
Binary files a/website-old/assets/img/2dDirichletSN.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/assets/img/2dFuzzyKMeans.png b/website-old/assets/img/2dFuzzyKMeans.png
deleted file mode 100644
index 5e9f187..0000000
Binary files a/website-old/assets/img/2dFuzzyKMeans.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/assets/img/2dKMeans.png b/website-old/assets/img/2dKMeans.png
deleted file mode 100644
index 877648a..0000000
Binary files a/website-old/assets/img/2dKMeans.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/assets/img/2dMeanShift.png b/website-old/assets/img/2dMeanShift.png
deleted file mode 100644
index 4322ac4..0000000
Binary files a/website-old/assets/img/2dMeanShift.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/assets/img/AsymmetricSampleData.png b/website-old/assets/img/AsymmetricSampleData.png
deleted file mode 100644
index fd647fc..0000000
Binary files a/website-old/assets/img/AsymmetricSampleData.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/assets/img/Canopy.png b/website-old/assets/img/Canopy.png
deleted file mode 100644
index 934efd7..0000000
Binary files a/website-old/assets/img/Canopy.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/assets/img/Canopy10.png b/website-old/assets/img/Canopy10.png
deleted file mode 100644
index 4bb291c..0000000
Binary files a/website-old/assets/img/Canopy10.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/assets/img/DirichletASN.png b/website-old/assets/img/DirichletASN.png
deleted file mode 100644
index eba9444..0000000
Binary files a/website-old/assets/img/DirichletASN.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/assets/img/DirichletN.png b/website-old/assets/img/DirichletN.png
deleted file mode 100644
index 9ae0fd3..0000000
Binary files a/website-old/assets/img/DirichletN.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/assets/img/DirichletSN.png b/website-old/assets/img/DirichletSN.png
deleted file mode 100644
index 50d648b..0000000
Binary files a/website-old/assets/img/DirichletSN.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/assets/img/DirichletSN40.png b/website-old/assets/img/DirichletSN40.png
deleted file mode 100644
index 51f2089..0000000
Binary files a/website-old/assets/img/DirichletSN40.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/assets/img/Example implementation of k-Means provided with Mahout.png
----------------------------------------------------------------------
diff --git a/website-old/assets/img/Example implementation of k-Means provided with Mahout.png b/website-old/assets/img/Example implementation of k-Means provided with Mahout.png
deleted file mode 100644
index e8b7180..0000000
Binary files a/website-old/assets/img/Example implementation of k-Means provided with Mahout.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/assets/img/FuzzyKMeans.png b/website-old/assets/img/FuzzyKMeans.png
deleted file mode 100644
index 676574a..0000000
Binary files a/website-old/assets/img/FuzzyKMeans.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/assets/img/KMeans.png b/website-old/assets/img/KMeans.png
deleted file mode 100644
index 73d0a27..0000000
Binary files a/website-old/assets/img/KMeans.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/assets/img/Mahout-logo-164x200.png b/website-old/assets/img/Mahout-logo-164x200.png
deleted file mode 100644
index 69cd409..0000000
Binary files a/website-old/assets/img/Mahout-logo-164x200.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/assets/img/Mahout-logo-245x300.png b/website-old/assets/img/Mahout-logo-245x300.png
deleted file mode 100644
index e43bcab..0000000
Binary files a/website-old/assets/img/Mahout-logo-245x300.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/assets/img/Mahout-logo-327x400.png b/website-old/assets/img/Mahout-logo-327x400.png
deleted file mode 100644
index f0341ac..0000000
Binary files a/website-old/assets/img/Mahout-logo-327x400.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/assets/img/Mahout-logo-82x100.png b/website-old/assets/img/Mahout-logo-82x100.png
deleted file mode 100644
index 31d40c4..0000000
Binary files a/website-old/assets/img/Mahout-logo-82x100.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/assets/img/MeanShift.png b/website-old/assets/img/MeanShift.png
deleted file mode 100644
index ea7f5e1..0000000
Binary files a/website-old/assets/img/MeanShift.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/assets/img/SampleData.png b/website-old/assets/img/SampleData.png
deleted file mode 100644
index 48c4690..0000000
Binary files a/website-old/assets/img/SampleData.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/assets/img/bg.png b/website-old/assets/img/bg.png
deleted file mode 100755
index 8c6d61b..0000000
Binary files a/website-old/assets/img/bg.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/assets/img/debug-config-2.png b/website-old/assets/img/debug-config-2.png
deleted file mode 100644
index 59a09b4..0000000
Binary files a/website-old/assets/img/debug-config-2.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/assets/img/debug-config.png b/website-old/assets/img/debug-config.png
deleted file mode 100644
index be49441..0000000
Binary files a/website-old/assets/img/debug-config.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/assets/img/download-mahout.png b/website-old/assets/img/download-mahout.png
deleted file mode 100644
index 77fa513..0000000
Binary files a/website-old/assets/img/download-mahout.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/assets/img/download-original.png b/website-old/assets/img/download-original.png
deleted file mode 100644
index ef50ce9..0000000
Binary files a/website-old/assets/img/download-original.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/assets/img/download.png b/website-old/assets/img/download.png
deleted file mode 100644
index ec24e77..0000000
Binary files a/website-old/assets/img/download.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/assets/img/flink_squirrel_100_color.png b/website-old/assets/img/flink_squirrel_100_color.png
deleted file mode 100644
index c508e1e..0000000
Binary files a/website-old/assets/img/flink_squirrel_100_color.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/assets/img/generic page.png
----------------------------------------------------------------------
diff --git a/website-old/assets/img/generic page.png b/website-old/assets/img/generic page.png
deleted file mode 100644
index 892564d..0000000
Binary files a/website-old/assets/img/generic page.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/assets/img/home-wrapper-original.png b/website-old/assets/img/home-wrapper-original.png
deleted file mode 100644
index 24b88c0..0000000
Binary files a/website-old/assets/img/home-wrapper-original.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/assets/img/home-wrapper-v2.png b/website-old/assets/img/home-wrapper-v2.png
deleted file mode 100644
index 8789219..0000000
Binary files a/website-old/assets/img/home-wrapper-v2.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/assets/img/home-wrapper-v3.png b/website-old/assets/img/home-wrapper-v3.png
deleted file mode 100644
index bbcdd93..0000000
Binary files a/website-old/assets/img/home-wrapper-v3.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/assets/img/home-wrapper.png b/website-old/assets/img/home-wrapper.png
deleted file mode 100644
index 02a7b72..0000000
Binary files a/website-old/assets/img/home-wrapper.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/assets/img/instruction_arrow.png b/website-old/assets/img/instruction_arrow.png
deleted file mode 100644
index 0fbc724..0000000
Binary files a/website-old/assets/img/instruction_arrow.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/assets/img/logo.png b/website-old/assets/img/logo.png
deleted file mode 100644
index c8e6c22..0000000
Binary files a/website-old/assets/img/logo.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/assets/img/mahout-logo-100.png b/website-old/assets/img/mahout-logo-100.png
deleted file mode 100644
index 9868200..0000000
Binary files a/website-old/assets/img/mahout-logo-100.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/assets/img/mahout-logo-200.png b/website-old/assets/img/mahout-logo-200.png
deleted file mode 100644
index 4ef5bdd..0000000
Binary files a/website-old/assets/img/mahout-logo-200.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/assets/img/mahout-logo-300.png b/website-old/assets/img/mahout-logo-300.png
deleted file mode 100644
index 2fbd589..0000000
Binary files a/website-old/assets/img/mahout-logo-300.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/assets/img/mahout-logo-400.png b/website-old/assets/img/mahout-logo-400.png
deleted file mode 100644
index d9ac832..0000000
Binary files a/website-old/assets/img/mahout-logo-400.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/assets/img/mahout-logo-brudman.png b/website-old/assets/img/mahout-logo-brudman.png
deleted file mode 100644
index 5f515bf..0000000
Binary files a/website-old/assets/img/mahout-logo-brudman.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/assets/img/mahout-logo-poweredby-100.png b/website-old/assets/img/mahout-logo-poweredby-100.png
deleted file mode 100644
index 8f8af00..0000000
Binary files a/website-old/assets/img/mahout-logo-poweredby-100.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/assets/img/mahout-logo-poweredby-55.png b/website-old/assets/img/mahout-logo-poweredby-55.png
deleted file mode 100644
index 9814d31..0000000
Binary files a/website-old/assets/img/mahout-logo-poweredby-55.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/assets/img/mahout-logo-poweredby.png b/website-old/assets/img/mahout-logo-poweredby.png
deleted file mode 100644
index 205fd60..0000000
Binary files a/website-old/assets/img/mahout-logo-poweredby.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/assets/img/mahout-logo-transparent-400.png b/website-old/assets/img/mahout-logo-transparent-400.png
deleted file mode 100644
index 583436b..0000000
Binary files a/website-old/assets/img/mahout-logo-transparent-400.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/assets/img/mahout-logo.png b/website-old/assets/img/mahout-logo.png
deleted file mode 100644
index b3dd9e9..0000000
Binary files a/website-old/assets/img/mahout-logo.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/assets/img/mahout-lupe.png b/website-old/assets/img/mahout-lupe.png
deleted file mode 100644
index d9d3146..0000000
Binary files a/website-old/assets/img/mahout-lupe.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/assets/img/mahout2_theme.png b/website-old/assets/img/mahout2_theme.png
deleted file mode 100644
index 0ca4740..0000000
Binary files a/website-old/assets/img/mahout2_theme.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/assets/img/mahout_theme.png b/website-old/assets/img/mahout_theme.png
deleted file mode 100644
index 40c04ad..0000000
Binary files a/website-old/assets/img/mahout_theme.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/assets/img/mantle-1-original.png b/website-old/assets/img/mantle-1-original.png
deleted file mode 100644
index e5544b7..0000000
Binary files a/website-old/assets/img/mantle-1-original.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/assets/img/mantle-asf.png b/website-old/assets/img/mantle-asf.png
deleted file mode 100644
index 96d73dd..0000000
Binary files a/website-old/assets/img/mantle-asf.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/assets/img/mantle-community.png b/website-old/assets/img/mantle-community.png
deleted file mode 100644
index 0d93140..0000000
Binary files a/website-old/assets/img/mantle-community.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/assets/img/mantle-hadoop.png b/website-old/assets/img/mantle-hadoop.png
deleted file mode 100644
index 9a33f1f..0000000
Binary files a/website-old/assets/img/mantle-hadoop.png and /dev/null differ
a***@apache.org
2017-12-21 04:53:18 UTC
Permalink
http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/assets/themes/mahout-retro/css/bootstrap.min.css
----------------------------------------------------------------------
diff --git a/website-old/assets/themes/mahout-retro/css/bootstrap.min.css b/website-old/assets/themes/mahout-retro/css/bootstrap.min.css
deleted file mode 100644
index 6f91491..0000000
--- a/website-old/assets/themes/mahout-retro/css/bootstrap.min.css
+++ /dev/null
@@ -1,9 +0,0 @@
-/*!
- * Bootstrap v2.3.1
- *
- * Copyright 2012 Twitter, Inc
- * Licensed under the Apache License v2.0
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Designed and built with all the love in the world @twitter by @mdo and @fat.
- */.clearfix{*zoom:1}.clearfix:before,.clearfix:after{display:table;line-height:0;content:""}.clearfix:after{clear:both}.hide-text{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.input-block-level{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}article,aside,details,figcaption,figure,footer,header,hgroup,nav,section{display:block}audio,canvas,video{display:inline-block;*display:inline;*zoom:1}audio:not([controls]){display:none}html{font-size:100%;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}a:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}a:hover,a:active{outline:0}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{width:auto\9;height:auto;max-width:100%;vertical-align:middle;border:0;-ms-interpolation-mode:bicubic}#map_canvas img,.google-maps img{max-widt
h:none}button,input,select,textarea{margin:0;font-size:100%;vertical-align:middle}button,input{*overflow:visible;line-height:normal}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}button,html input[type="button"],input[type="reset"],input[type="submit"]{cursor:pointer;-webkit-appearance:button}label,select,button,input[type="button"],input[type="reset"],input[type="submit"],input[type="radio"],input[type="checkbox"]{cursor:pointer}input[type="search"]{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield}input[type="search"]::-webkit-search-decoration,input[type="search"]::-webkit-search-cancel-button{-webkit-appearance:none}textarea{overflow:auto;vertical-align:top}@media print{*{color:#000!important;text-shadow:none!important;background:transparent!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title)
")"}.ir a:after,a[href^="javascript:"]:after,a[href^="#"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100%!important}@page{margin:.5cm}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}}body{margin:0;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:20px;color:#333;background-color:#fff}a{color:#08c;text-decoration:none}a:hover,a:focus{color:#005580;text-decoration:underline}.img-rounded{-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.img-polaroid{padding:4px;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.2);-webkit-box-shadow:0 1px 3px rgba(0,0,0,0.1);-moz-box-shadow:0 1px 3px rgba(0,0,0,0.1);box-shadow:0 1px 3px rgba(0,0,0,0.1)}.img-circle{-webkit-border-radius:500px;-moz-border-radius:500px;border-radius:500px}.row{margin-left:-20px;*zoom:1}.row:before,.row:after{display:table;line-hei
ght:0;content:""}.row:after{clear:both}[class*="span"]{float:left;min-height:1px;margin-left:20px}.container,.navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:940px}.span12{width:940px}.span11{width:860px}.span10{width:780px}.span9{width:700px}.span8{width:620px}.span7{width:540px}.span6{width:460px}.span5{width:380px}.span4{width:300px}.span3{width:220px}.span2{width:140px}.span1{width:60px}.offset12{margin-left:980px}.offset11{margin-left:900px}.offset10{margin-left:820px}.offset9{margin-left:740px}.offset8{margin-left:660px}.offset7{margin-left:580px}.offset6{margin-left:500px}.offset5{margin-left:420px}.offset4{margin-left:340px}.offset3{margin-left:260px}.offset2{margin-left:180px}.offset1{margin-left:100px}.row-fluid{width:100%;*zoom:1}.row-fluid:before,.row-fluid:after{display:table;line-height:0;content:""}.row-fluid:after{clear:both}.row-fluid [class*="span"]{display:block;float:left;width:100%;min-height:30px;margin-left:2.127
659574468085%;*margin-left:2.074468085106383%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.row-fluid [class*="span"]:first-child{margin-left:0}.row-fluid .controls-row [class*="span"]+[class*="span"]{margin-left:2.127659574468085%}.row-fluid .span12{width:100%;*width:99.94680851063829%}.row-fluid .span11{width:91.48936170212765%;*width:91.43617021276594%}.row-fluid .span10{width:82.97872340425532%;*width:82.92553191489361%}.row-fluid .span9{width:74.46808510638297%;*width:74.41489361702126%}.row-fluid .span8{width:65.95744680851064%;*width:65.90425531914893%}.row-fluid .span7{width:57.44680851063829%;*width:57.39361702127659%}.row-fluid .span6{width:48.93617021276595%;*width:48.88297872340425%}.row-fluid .span5{width:40.42553191489362%;*width:40.37234042553192%}.row-fluid .span4{width:31.914893617021278%;*width:31.861702127659576%}.row-fluid .span3{width:23.404255319148934%;*width:23.351063829787233%}.row-fluid .span2{width:14.893617021276595%;*wid
th:14.840425531914894%}.row-fluid .span1{width:6.382978723404255%;*width:6.329787234042553%}.row-fluid .offset12{margin-left:104.25531914893617%;*margin-left:104.14893617021275%}.row-fluid .offset12:first-child{margin-left:102.12765957446808%;*margin-left:102.02127659574467%}.row-fluid .offset11{margin-left:95.74468085106382%;*margin-left:95.6382978723404%}.row-fluid .offset11:first-child{margin-left:93.61702127659574%;*margin-left:93.51063829787232%}.row-fluid .offset10{margin-left:87.23404255319149%;*margin-left:87.12765957446807%}.row-fluid .offset10:first-child{margin-left:85.1063829787234%;*margin-left:84.99999999999999%}.row-fluid .offset9{margin-left:78.72340425531914%;*margin-left:78.61702127659572%}.row-fluid .offset9:first-child{margin-left:76.59574468085106%;*margin-left:76.48936170212764%}.row-fluid .offset8{margin-left:70.2127659574468%;*margin-left:70.10638297872339%}.row-fluid .offset8:first-child{margin-left:68.08510638297872%;*margin-left:67.9787234042553%}.row-flui
d .offset7{margin-left:61.70212765957446%;*margin-left:61.59574468085106%}.row-fluid .offset7:first-child{margin-left:59.574468085106375%;*margin-left:59.46808510638297%}.row-fluid .offset6{margin-left:53.191489361702125%;*margin-left:53.085106382978715%}.row-fluid .offset6:first-child{margin-left:51.063829787234035%;*margin-left:50.95744680851063%}.row-fluid .offset5{margin-left:44.68085106382979%;*margin-left:44.57446808510638%}.row-fluid .offset5:first-child{margin-left:42.5531914893617%;*margin-left:42.4468085106383%}.row-fluid .offset4{margin-left:36.170212765957444%;*margin-left:36.06382978723405%}.row-fluid .offset4:first-child{margin-left:34.04255319148936%;*margin-left:33.93617021276596%}.row-fluid .offset3{margin-left:27.659574468085104%;*margin-left:27.5531914893617%}.row-fluid .offset3:first-child{margin-left:25.53191489361702%;*margin-left:25.425531914893618%}.row-fluid .offset2{margin-left:19.148936170212764%;*margin-left:19.04255319148936%}.row-fluid .offset2:first-ch
ild{margin-left:17.02127659574468%;*margin-left:16.914893617021278%}.row-fluid .offset1{margin-left:10.638297872340425%;*margin-left:10.53191489361702%}.row-fluid .offset1:first-child{margin-left:8.51063829787234%;*margin-left:8.404255319148938%}[class*="span"].hide,.row-fluid [class*="span"].hide{display:none}[class*="span"].pull-right,.row-fluid [class*="span"].pull-right{float:right}.container{margin-right:auto;margin-left:auto;*zoom:1}.container:before,.container:after{display:table;line-height:0;content:""}.container:after{clear:both}.container-fluid{padding-right:20px;padding-left:20px;*zoom:1}.container-fluid:before,.container-fluid:after{display:table;line-height:0;content:""}.container-fluid:after{clear:both}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:21px;font-weight:200;line-height:30px}small{font-size:85%}strong{font-weight:bold}em{font-style:italic}cite{font-style:normal}.muted{color:#999}a.muted:hover,a.muted:focus{color:#808080}.text-warning{color:#c09853}a.t
ext-warning:hover,a.text-warning:focus{color:#a47e3c}.text-error{color:#b94a48}a.text-error:hover,a.text-error:focus{color:#953b39}.text-info{color:#3a87ad}a.text-info:hover,a.text-info:focus{color:#2d6987}.text-success{color:#468847}a.text-success:hover,a.text-success:focus{color:#356635}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}h1,h2,h3,h4,h5,h6{margin:10px 0;font-family:inherit;font-weight:bold;line-height:20px;color:inherit;text-rendering:optimizelegibility}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small{font-weight:normal;line-height:1;color:#999}h1,h2,h3{line-height:40px}h1{font-size:38.5px}h2{font-size:31.5px}h3{font-size:24.5px}h4{font-size:17.5px}h5{font-size:14px}h6{font-size:11.9px}h1 small{font-size:24.5px}h2 small{font-size:17.5px}h3 small{font-size:14px}h4 small{font-size:14px}.page-header{padding-bottom:9px;margin:20px 0 30px;border-bottom:1px solid #eee}ul,ol{padding:0;margin:0 0 10px 25px}ul ul,ul ol,ol ol,ol ul{mar
gin-bottom:0}li{line-height:20px}ul.unstyled,ol.unstyled{margin-left:0;list-style:none}ul.inline,ol.inline{margin-left:0;list-style:none}ul.inline>li,ol.inline>li{display:inline-block;*display:inline;padding-right:5px;padding-left:5px;*zoom:1}dl{margin-bottom:20px}dt,dd{line-height:20px}dt{font-weight:bold}dd{margin-left:10px}.dl-horizontal{*zoom:1}.dl-horizontal:before,.dl-horizontal:after{display:table;line-height:0;content:""}.dl-horizontal:after{clear:both}.dl-horizontal dt{float:left;width:160px;overflow:hidden;clear:left;text-align:right;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}hr{margin:20px 0;border:0;border-top:1px solid #eee;border-bottom:1px solid #fff}abbr[title],abbr[data-original-title]{cursor:help;border-bottom:1px dotted #999}abbr.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:0 0 0 15px;margin:0 0 20px;border-left:5px solid #eee}blockquote p{margin-bottom:0;font-size:17.5px;font-weight:300;line-height:1.25}b
lockquote small{display:block;line-height:20px;color:#999}blockquote small:before{content:'\2014 \00A0'}blockquote.pull-right{float:right;padding-right:15px;padding-left:0;border-right:5px solid #eee;border-left:0}blockquote.pull-right p,blockquote.pull-right small{text-align:right}blockquote.pull-right small:before{content:''}blockquote.pull-right small:after{content:'\00A0 \2014'}q:before,q:after,blockquote:before,blockquote:after{content:""}address{display:block;margin-bottom:20px;font-style:normal;line-height:20px}code,pre{padding:0 3px 2px;font-family:Monaco,Menlo,Consolas,"Courier New",monospace;font-size:12px;color:#333;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:20px;word-break:break-all;word-wrap:break-word;white-space:pre;white-space:pre-wrap;background-color:#f5f5f5;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.15);-webkit-border-radius:4px;-moz-border-radius:4px;border
-radius:4px}pre.prettyprint{margin-bottom:20px}pre code{padding:0;color:inherit;white-space:pre;white-space:pre-wrap;background-color:transparent;border:0}.pre-scrollable{max-height:340px;overflow-y:scroll}form{margin:0 0 20px}fieldset{padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:40px;color:#333;border:0;border-bottom:1px solid #e5e5e5}legend small{font-size:15px;color:#999}label,input,button,select,textarea{font-size:14px;font-weight:normal;line-height:20px}input,button,select,textarea{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif}label{display:block;margin-bottom:5px}select,textarea,input[type="text"],input[type="password"],input[type="datetime"],input[type="datetime-local"],input[type="date"],input[type="month"],input[type="time"],input[type="week"],input[type="number"],input[type="email"],input[type="url"],input[type="search"],input[type="tel"],input[type="color"],.uneditable-input{display:inline-bl
ock;height:20px;padding:4px 6px;margin-bottom:10px;font-size:14px;line-height:20px;color:#555;vertical-align:middle;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}input,textarea,.uneditable-input{width:206px}textarea{height:auto}textarea,input[type="text"],input[type="password"],input[type="datetime"],input[type="datetime-local"],input[type="date"],input[type="month"],input[type="time"],input[type="week"],input[type="number"],input[type="email"],input[type="url"],input[type="search"],input[type="tel"],input[type="color"],.uneditable-input{background-color:#fff;border:1px solid #ccc;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-webkit-transition:border linear .2s,box-shadow linear .2s;-moz-transition:border linear .2s,box-shadow linear .2s;-o-transition:border linear .2s,box-shadow linear .2s;transition:border linear .2s,box-shadow linear .2s}textarea:focus,input
[type="text"]:focus,input[type="password"]:focus,input[type="datetime"]:focus,input[type="datetime-local"]:focus,input[type="date"]:focus,input[type="month"]:focus,input[type="time"]:focus,input[type="week"]:focus,input[type="number"]:focus,input[type="email"]:focus,input[type="url"]:focus,input[type="search"]:focus,input[type="tel"]:focus,input[type="color"]:focus,.uneditable-input:focus{border-color:rgba(82,168,236,0.8);outline:0;outline:thin dotted \9;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(82,168,236,0.6);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(82,168,236,0.6);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(82,168,236,0.6)}input[type="radio"],input[type="checkbox"]{margin:4px 0 0;margin-top:1px \9;*margin-top:0;line-height:normal}input[type="file"],input[type="image"],input[type="submit"],input[type="reset"],input[type="button"],input[type="radio"],input[type="checkbox"]{width:auto}select,input[type="file"]{height:30px;*
margin-top:4px;line-height:30px}select{width:220px;background-color:#fff;border:1px solid #ccc}select[multiple],select[size]{height:auto}select:focus,input[type="file"]:focus,input[type="radio"]:focus,input[type="checkbox"]:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.uneditable-input,.uneditable-textarea{color:#999;cursor:not-allowed;background-color:#fcfcfc;border-color:#ccc;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.025);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,0.025);box-shadow:inset 0 1px 2px rgba(0,0,0,0.025)}.uneditable-input{overflow:hidden;white-space:nowrap}.uneditable-textarea{width:auto;height:auto}input:-moz-placeholder,textarea:-moz-placeholder{color:#999}input:-ms-input-placeholder,textarea:-ms-input-placeholder{color:#999}input::-webkit-input-placeholder,textarea::-webkit-input-placeholder{color:#999}.radio,.checkbox{min-height:20px;padding-left:20px}.radio input[type="radio"],.checkbox input[type="checkbox"]{fl
oat:left;margin-left:-20px}.controls>.radio:first-child,.controls>.checkbox:first-child{padding-top:5px}.radio.inline,.checkbox.inline{display:inline-block;padding-top:5px;margin-bottom:0;vertical-align:middle}.radio.inline+.radio.inline,.checkbox.inline+.checkbox.inline{margin-left:10px}.input-mini{width:60px}.input-small{width:90px}.input-medium{width:150px}.input-large{width:210px}.input-xlarge{width:270px}.input-xxlarge{width:530px}input[class*="span"],select[class*="span"],textarea[class*="span"],.uneditable-input[class*="span"],.row-fluid input[class*="span"],.row-fluid select[class*="span"],.row-fluid textarea[class*="span"],.row-fluid .uneditable-input[class*="span"]{float:none;margin-left:0}.input-append input[class*="span"],.input-append .uneditable-input[class*="span"],.input-prepend input[class*="span"],.input-prepend .uneditable-input[class*="span"],.row-fluid input[class*="span"],.row-fluid select[class*="span"],.row-fluid textarea[class*="span"],.row-fluid .uneditable
-input[class*="span"],.row-fluid .input-prepend [class*="span"],.row-fluid .input-append [class*="span"]{display:inline-block}input,textarea,.uneditable-input{margin-left:0}.controls-row [class*="span"]+[class*="span"]{margin-left:20px}input.span12,textarea.span12,.uneditable-input.span12{width:926px}input.span11,textarea.span11,.uneditable-input.span11{width:846px}input.span10,textarea.span10,.uneditable-input.span10{width:766px}input.span9,textarea.span9,.uneditable-input.span9{width:686px}input.span8,textarea.span8,.uneditable-input.span8{width:606px}input.span7,textarea.span7,.uneditable-input.span7{width:526px}input.span6,textarea.span6,.uneditable-input.span6{width:446px}input.span5,textarea.span5,.uneditable-input.span5{width:366px}input.span4,textarea.span4,.uneditable-input.span4{width:286px}input.span3,textarea.span3,.uneditable-input.span3{width:206px}input.span2,textarea.span2,.uneditable-input.span2{width:126px}input.span1,textarea.span1,.uneditable-input.span1{width:46
px}.controls-row{*zoom:1}.controls-row:before,.controls-row:after{display:table;line-height:0;content:""}.controls-row:after{clear:both}.controls-row [class*="span"],.row-fluid .controls-row [class*="span"]{float:left}.controls-row .checkbox[class*="span"],.controls-row .radio[class*="span"]{padding-top:5px}input[disabled],select[disabled],textarea[disabled],input[readonly],select[readonly],textarea[readonly]{cursor:not-allowed;background-color:#eee}input[type="radio"][disabled],input[type="checkbox"][disabled],input[type="radio"][readonly],input[type="checkbox"][readonly]{background-color:transparent}.control-group.warning .control-label,.control-group.warning .help-block,.control-group.warning .help-inline{color:#c09853}.control-group.warning .checkbox,.control-group.warning .radio,.control-group.warning input,.control-group.warning select,.control-group.warning textarea{color:#c09853}.control-group.warning input,.control-group.warning select,.control-group.warning textarea{border
-color:#c09853;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.control-group.warning input:focus,.control-group.warning select:focus,.control-group.warning textarea:focus{border-color:#a47e3c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #dbc59e;-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #dbc59e;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #dbc59e}.control-group.warning .input-prepend .add-on,.control-group.warning .input-append .add-on{color:#c09853;background-color:#fcf8e3;border-color:#c09853}.control-group.error .control-label,.control-group.error .help-block,.control-group.error .help-inline{color:#b94a48}.control-group.error .checkbox,.control-group.error .radio,.control-group.error input,.control-group.error select,.control-group.error textarea{color:#b94a48}.control-group.error input,.control-group.error select,.control-group.error textar
ea{border-color:#b94a48;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.control-group.error input:focus,.control-group.error select:focus,.control-group.error textarea:focus{border-color:#953b39;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #d59392;-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #d59392;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #d59392}.control-group.error .input-prepend .add-on,.control-group.error .input-append .add-on{color:#b94a48;background-color:#f2dede;border-color:#b94a48}.control-group.success .control-label,.control-group.success .help-block,.control-group.success .help-inline{color:#468847}.control-group.success .checkbox,.control-group.success .radio,.control-group.success input,.control-group.success select,.control-group.success textarea{color:#468847}.control-group.success input,.control-group.success select,.control
-group.success textarea{border-color:#468847;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.control-group.success input:focus,.control-group.success select:focus,.control-group.success textarea:focus{border-color:#356635;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7aba7b;-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7aba7b;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7aba7b}.control-group.success .input-prepend .add-on,.control-group.success .input-append .add-on{color:#468847;background-color:#dff0d8;border-color:#468847}.control-group.info .control-label,.control-group.info .help-block,.control-group.info .help-inline{color:#3a87ad}.control-group.info .checkbox,.control-group.info .radio,.control-group.info input,.control-group.info select,.control-group.info textarea{color:#3a87ad}.control-group.info input,.control-group.info select,.contro
l-group.info textarea{border-color:#3a87ad;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.control-group.info input:focus,.control-group.info select:focus,.control-group.info textarea:focus{border-color:#2d6987;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7ab5d3;-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7ab5d3;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7ab5d3}.control-group.info .input-prepend .add-on,.control-group.info .input-append .add-on{color:#3a87ad;background-color:#d9edf7;border-color:#3a87ad}input:focus:invalid,textarea:focus:invalid,select:focus:invalid{color:#b94a48;border-color:#ee5f5b}input:focus:invalid:focus,textarea:focus:invalid:focus,select:focus:invalid:focus{border-color:#e9322d;-webkit-box-shadow:0 0 6px #f8b9b7;-moz-box-shadow:0 0 6px #f8b9b7;box-shadow:0 0 6px #f8b9b7}.form-actions{padding:19px 20px 20px;margin-top:
20px;margin-bottom:20px;background-color:#f5f5f5;border-top:1px solid #e5e5e5;*zoom:1}.form-actions:before,.form-actions:after{display:table;line-height:0;content:""}.form-actions:after{clear:both}.help-block,.help-inline{color:#595959}.help-block{display:block;margin-bottom:10px}.help-inline{display:inline-block;*display:inline;padding-left:5px;vertical-align:middle;*zoom:1}.input-append,.input-prepend{display:inline-block;margin-bottom:10px;font-size:0;white-space:nowrap;vertical-align:middle}.input-append input,.input-prepend input,.input-append select,.input-prepend select,.input-append .uneditable-input,.input-prepend .uneditable-input,.input-append .dropdown-menu,.input-prepend .dropdown-menu,.input-append .popover,.input-prepend .popover{font-size:14px}.input-append input,.input-prepend input,.input-append select,.input-prepend select,.input-append .uneditable-input,.input-prepend .uneditable-input{position:relative;margin-bottom:0;*margin-left:0;vertical-align:top;-webkit-bo
rder-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.input-append input:focus,.input-prepend input:focus,.input-append select:focus,.input-prepend select:focus,.input-append .uneditable-input:focus,.input-prepend .uneditable-input:focus{z-index:2}.input-append .add-on,.input-prepend .add-on{display:inline-block;width:auto;height:20px;min-width:16px;padding:4px 5px;font-size:14px;font-weight:normal;line-height:20px;text-align:center;text-shadow:0 1px 0 #fff;background-color:#eee;border:1px solid #ccc}.input-append .add-on,.input-prepend .add-on,.input-append .btn,.input-prepend .btn,.input-append .btn-group>.dropdown-toggle,.input-prepend .btn-group>.dropdown-toggle{vertical-align:top;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.input-append .active,.input-prepend .active{background-color:#a9dba9;border-color:#46a546}.input-prepend .add-on,.input-prepend .btn{margin-right:-1px}.input-prepend .add-on:first-child,.input-prepend .btn:first-c
hild{-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px}.input-append input,.input-append select,.input-append .uneditable-input{-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px}.input-append input+.btn-group .btn:last-child,.input-append select+.btn-group .btn:last-child,.input-append .uneditable-input+.btn-group .btn:last-child{-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.input-append .add-on,.input-append .btn,.input-append .btn-group{margin-left:-1px}.input-append .add-on:last-child,.input-append .btn:last-child,.input-append .btn-group:last-child>.dropdown-toggle{-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.input-prepend.input-append input,.input-prepend.input-append select,.input-prepend.input-append .uneditable-input{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.input-prepend.input-appen
d input+.btn-group .btn,.input-prepend.input-append select+.btn-group .btn,.input-prepend.input-append .uneditable-input+.btn-group .btn{-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.input-prepend.input-append .add-on:first-child,.input-prepend.input-append .btn:first-child{margin-right:-1px;-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px}.input-prepend.input-append .add-on:last-child,.input-prepend.input-append .btn:last-child{margin-left:-1px;-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.input-prepend.input-append .btn-group:first-child{margin-left:0}input.search-query{padding-right:14px;padding-right:4px \9;padding-left:14px;padding-left:4px \9;margin-bottom:0;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px}.form-search .input-append .search-query,.form-search .input-prepend .search-query{-webkit-border-radius:0;-moz-border-r
adius:0;border-radius:0}.form-search .input-append .search-query{-webkit-border-radius:14px 0 0 14px;-moz-border-radius:14px 0 0 14px;border-radius:14px 0 0 14px}.form-search .input-append .btn{-webkit-border-radius:0 14px 14px 0;-moz-border-radius:0 14px 14px 0;border-radius:0 14px 14px 0}.form-search .input-prepend .search-query{-webkit-border-radius:0 14px 14px 0;-moz-border-radius:0 14px 14px 0;border-radius:0 14px 14px 0}.form-search .input-prepend .btn{-webkit-border-radius:14px 0 0 14px;-moz-border-radius:14px 0 0 14px;border-radius:14px 0 0 14px}.form-search input,.form-inline input,.form-horizontal input,.form-search textarea,.form-inline textarea,.form-horizontal textarea,.form-search select,.form-inline select,.form-horizontal select,.form-search .help-inline,.form-inline .help-inline,.form-horizontal .help-inline,.form-search .uneditable-input,.form-inline .uneditable-input,.form-horizontal .uneditable-input,.form-search .input-prepend,.form-inline .input-prepend,.form-h
orizontal .input-prepend,.form-search .input-append,.form-inline .input-append,.form-horizontal .input-append{display:inline-block;*display:inline;margin-bottom:0;vertical-align:middle;*zoom:1}.form-search .hide,.form-inline .hide,.form-horizontal .hide{display:none}.form-search label,.form-inline label,.form-search .btn-group,.form-inline .btn-group{display:inline-block}.form-search .input-append,.form-inline .input-append,.form-search .input-prepend,.form-inline .input-prepend{margin-bottom:0}.form-search .radio,.form-search .checkbox,.form-inline .radio,.form-inline .checkbox{padding-left:0;margin-bottom:0;vertical-align:middle}.form-search .radio input[type="radio"],.form-search .checkbox input[type="checkbox"],.form-inline .radio input[type="radio"],.form-inline .checkbox input[type="checkbox"]{float:left;margin-right:3px;margin-left:0}.control-group{margin-bottom:10px}legend+.control-group{margin-top:20px;-webkit-margin-top-collapse:separate}.form-horizontal .control-group{mar
gin-bottom:20px;*zoom:1}.form-horizontal .control-group:before,.form-horizontal .control-group:after{display:table;line-height:0;content:""}.form-horizontal .control-group:after{clear:both}.form-horizontal .control-label{float:left;width:160px;padding-top:5px;text-align:right}.form-horizontal .controls{*display:inline-block;*padding-left:20px;margin-left:180px;*margin-left:0}.form-horizontal .controls:first-child{*padding-left:180px}.form-horizontal .help-block{margin-bottom:0}.form-horizontal input+.help-block,.form-horizontal select+.help-block,.form-horizontal textarea+.help-block,.form-horizontal .uneditable-input+.help-block,.form-horizontal .input-prepend+.help-block,.form-horizontal .input-append+.help-block{margin-top:10px}.form-horizontal .form-actions{padding-left:180px}table{max-width:100%;background-color:transparent;border-collapse:collapse;border-spacing:0}.table{width:100%;margin-bottom:20px}.table th,.table td{padding:8px;line-height:20px;text-align:left;vertical-ali
gn:top;border-top:1px solid #ddd}.table th{font-weight:bold}.table thead th{vertical-align:bottom}.table caption+thead tr:first-child th,.table caption+thead tr:first-child td,.table colgroup+thead tr:first-child th,.table colgroup+thead tr:first-child td,.table thead:first-child tr:first-child th,.table thead:first-child tr:first-child td{border-top:0}.table tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed th,.table-condensed td{padding:4px 5px}.table-bordered{border:1px solid #ddd;border-collapse:separate;*border-collapse:collapse;border-left:0;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.table-bordered th,.table-bordered td{border-left:1px solid #ddd}.table-bordered caption+thead tr:first-child th,.table-bordered caption+tbody tr:first-child th,.table-bordered caption+tbody tr:first-child td,.table-bordered colgroup+thead tr:first-child th,.table-bordered colgroup+tbody tr:first-child th,.table-bordered colgroup+tbo
dy tr:first-child td,.table-bordered thead:first-child tr:first-child th,.table-bordered tbody:first-child tr:first-child th,.table-bordered tbody:first-child tr:first-child td{border-top:0}.table-bordered thead:first-child tr:first-child>th:first-child,.table-bordered tbody:first-child tr:first-child>td:first-child,.table-bordered tbody:first-child tr:first-child>th:first-child{-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-topleft:4px}.table-bordered thead:first-child tr:first-child>th:last-child,.table-bordered tbody:first-child tr:first-child>td:last-child,.table-bordered tbody:first-child tr:first-child>th:last-child{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-moz-border-radius-topright:4px}.table-bordered thead:last-child tr:last-child>th:first-child,.table-bordered tbody:last-child tr:last-child>td:first-child,.table-bordered tbody:last-child tr:last-child>th:first-child,.table-bordered tfoot:last-child tr:last-child>td:f
irst-child,.table-bordered tfoot:last-child tr:last-child>th:first-child{-webkit-border-bottom-left-radius:4px;border-bottom-left-radius:4px;-moz-border-radius-bottomleft:4px}.table-bordered thead:last-child tr:last-child>th:last-child,.table-bordered tbody:last-child tr:last-child>td:last-child,.table-bordered tbody:last-child tr:last-child>th:last-child,.table-bordered tfoot:last-child tr:last-child>td:last-child,.table-bordered tfoot:last-child tr:last-child>th:last-child{-webkit-border-bottom-right-radius:4px;border-bottom-right-radius:4px;-moz-border-radius-bottomright:4px}.table-bordered tfoot+tbody:last-child tr:last-child td:first-child{-webkit-border-bottom-left-radius:0;border-bottom-left-radius:0;-moz-border-radius-bottomleft:0}.table-bordered tfoot+tbody:last-child tr:last-child td:last-child{-webkit-border-bottom-right-radius:0;border-bottom-right-radius:0;-moz-border-radius-bottomright:0}.table-bordered caption+thead tr:first-child th:first-child,.table-bordered captio
n+tbody tr:first-child td:first-child,.table-bordered colgroup+thead tr:first-child th:first-child,.table-bordered colgroup+tbody tr:first-child td:first-child{-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-topleft:4px}.table-bordered caption+thead tr:first-child th:last-child,.table-bordered caption+tbody tr:first-child td:last-child,.table-bordered colgroup+thead tr:first-child th:last-child,.table-bordered colgroup+tbody tr:first-child td:last-child{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-moz-border-radius-topright:4px}.table-striped tbody>tr:nth-child(odd)>td,.table-striped tbody>tr:nth-child(odd)>th{background-color:#f9f9f9}.table-hover tbody tr:hover>td,.table-hover tbody tr:hover>th{background-color:#f5f5f5}table td[class*="span"],table th[class*="span"],.row-fluid table td[class*="span"],.row-fluid table th[class*="span"]{display:table-cell;float:none;margin-left:0}.table td.span1,.table th.span1{float:none;width:44p
x;margin-left:0}.table td.span2,.table th.span2{float:none;width:124px;margin-left:0}.table td.span3,.table th.span3{float:none;width:204px;margin-left:0}.table td.span4,.table th.span4{float:none;width:284px;margin-left:0}.table td.span5,.table th.span5{float:none;width:364px;margin-left:0}.table td.span6,.table th.span6{float:none;width:444px;margin-left:0}.table td.span7,.table th.span7{float:none;width:524px;margin-left:0}.table td.span8,.table th.span8{float:none;width:604px;margin-left:0}.table td.span9,.table th.span9{float:none;width:684px;margin-left:0}.table td.span10,.table th.span10{float:none;width:764px;margin-left:0}.table td.span11,.table th.span11{float:none;width:844px;margin-left:0}.table td.span12,.table th.span12{float:none;width:924px;margin-left:0}.table tbody tr.success>td{background-color:#dff0d8}.table tbody tr.error>td{background-color:#f2dede}.table tbody tr.warning>td{background-color:#fcf8e3}.table tbody tr.info>td{background-color:#d9edf7}.table-hover
tbody tr.success:hover>td{background-color:#d0e9c6}.table-hover tbody tr.error:hover>td{background-color:#ebcccc}.table-hover tbody tr.warning:hover>td{background-color:#faf2cc}.table-hover tbody tr.info:hover>td{background-color:#c4e3f3}[class^="icon-"],[class*=" icon-"]{display:inline-block;width:14px;height:14px;margin-top:1px;*margin-right:.3em;line-height:14px;vertical-align:text-top;background-image:url("../img/glyphicons-halflings.png");background-position:14px 14px;background-repeat:no-repeat}.icon-white,.nav-pills>.active>a>[class^="icon-"],.nav-pills>.active>a>[class*=" icon-"],.nav-list>.active>a>[class^="icon-"],.nav-list>.active>a>[class*=" icon-"],.navbar-inverse .nav>.active>a>[class^="icon-"],.navbar-inverse .nav>.active>a>[class*=" icon-"],.dropdown-menu>li>a:hover>[class^="icon-"],.dropdown-menu>li>a:focus>[class^="icon-"],.dropdown-menu>li>a:hover>[class*=" icon-"],.dropdown-menu>li>a:focus>[class*=" icon-"],.dropdown-menu>.active>a>[class^="icon-"],.dropdown-menu
.active>a>[class*=" icon-"],.dropdown-submenu:hover>a>[class^="icon-"],.dropdown-submenu:focus>a>[class^="icon-"],.dropdown-submenu:hover>a>[class*=" icon-"],.dropdown-submenu:focus>a>[class*=" icon-"]{background-image:url("../img/glyphicons-halflings-white.png")}.icon-glass{background-position:0 0}.icon-music{background-position:-24px 0}.icon-search{background-position:-48px 0}.icon-envelope{background-position:-72px 0}.icon-heart{background-position:-96px 0}.icon-star{background-position:-120px 0}.icon-star-empty{background-position:-144px 0}.icon-user{background-position:-168px 0}.icon-film{background-position:-192px 0}.icon-th-large{background-position:-216px 0}.icon-th{background-position:-240px 0}.icon-th-list{background-position:-264px 0}.icon-ok{background-position:-288px 0}.icon-remove{background-position:-312px 0}.icon-zoom-in{background-position:-336px 0}.icon-zoom-out{background-position:-360px 0}.icon-off{background-position:-384px 0}.icon-signal{background-position:-4
08px 0}.icon-cog{background-position:-432px 0}.icon-trash{background-position:-456px 0}.icon-home{background-position:0 -24px}.icon-file{background-position:-24px -24px}.icon-time{background-position:-48px -24px}.icon-road{background-position:-72px -24px}.icon-download-alt{background-position:-96px -24px}.icon-download{background-position:-120px -24px}.icon-upload{background-position:-144px -24px}.icon-inbox{background-position:-168px -24px}.icon-play-circle{background-position:-192px -24px}.icon-repeat{background-position:-216px -24px}.icon-refresh{background-position:-240px -24px}.icon-list-alt{background-position:-264px -24px}.icon-lock{background-position:-287px -24px}.icon-flag{background-position:-312px -24px}.icon-headphones{background-position:-336px -24px}.icon-volume-off{background-position:-360px -24px}.icon-volume-down{background-position:-384px -24px}.icon-volume-up{background-position:-408px -24px}.icon-qrcode{background-position:-432px -24px}.icon-barcode{background-p
osition:-456px -24px}.icon-tag{background-position:0 -48px}.icon-tags{background-position:-25px -48px}.icon-book{background-position:-48px -48px}.icon-bookmark{background-position:-72px -48px}.icon-print{background-position:-96px -48px}.icon-camera{background-position:-120px -48px}.icon-font{background-position:-144px -48px}.icon-bold{background-position:-167px -48px}.icon-italic{background-position:-192px -48px}.icon-text-height{background-position:-216px -48px}.icon-text-width{background-position:-240px -48px}.icon-align-left{background-position:-264px -48px}.icon-align-center{background-position:-288px -48px}.icon-align-right{background-position:-312px -48px}.icon-align-justify{background-position:-336px -48px}.icon-list{background-position:-360px -48px}.icon-indent-left{background-position:-384px -48px}.icon-indent-right{background-position:-408px -48px}.icon-facetime-video{background-position:-432px -48px}.icon-picture{background-position:-456px -48px}.icon-pencil{background-po
sition:0 -72px}.icon-map-marker{background-position:-24px -72px}.icon-adjust{background-position:-48px -72px}.icon-tint{background-position:-72px -72px}.icon-edit{background-position:-96px -72px}.icon-share{background-position:-120px -72px}.icon-check{background-position:-144px -72px}.icon-move{background-position:-168px -72px}.icon-step-backward{background-position:-192px -72px}.icon-fast-backward{background-position:-216px -72px}.icon-backward{background-position:-240px -72px}.icon-play{background-position:-264px -72px}.icon-pause{background-position:-288px -72px}.icon-stop{background-position:-312px -72px}.icon-forward{background-position:-336px -72px}.icon-fast-forward{background-position:-360px -72px}.icon-step-forward{background-position:-384px -72px}.icon-eject{background-position:-408px -72px}.icon-chevron-left{background-position:-432px -72px}.icon-chevron-right{background-position:-456px -72px}.icon-plus-sign{background-position:0 -96px}.icon-minus-sign{background-position
:-24px -96px}.icon-remove-sign{background-position:-48px -96px}.icon-ok-sign{background-position:-72px -96px}.icon-question-sign{background-position:-96px -96px}.icon-info-sign{background-position:-120px -96px}.icon-screenshot{background-position:-144px -96px}.icon-remove-circle{background-position:-168px -96px}.icon-ok-circle{background-position:-192px -96px}.icon-ban-circle{background-position:-216px -96px}.icon-arrow-left{background-position:-240px -96px}.icon-arrow-right{background-position:-264px -96px}.icon-arrow-up{background-position:-289px -96px}.icon-arrow-down{background-position:-312px -96px}.icon-share-alt{background-position:-336px -96px}.icon-resize-full{background-position:-360px -96px}.icon-resize-small{background-position:-384px -96px}.icon-plus{background-position:-408px -96px}.icon-minus{background-position:-433px -96px}.icon-asterisk{background-position:-456px -96px}.icon-exclamation-sign{background-position:0 -120px}.icon-gift{background-position:-24px -120px}.
icon-leaf{background-position:-48px -120px}.icon-fire{background-position:-72px -120px}.icon-eye-open{background-position:-96px -120px}.icon-eye-close{background-position:-120px -120px}.icon-warning-sign{background-position:-144px -120px}.icon-plane{background-position:-168px -120px}.icon-calendar{background-position:-192px -120px}.icon-random{width:16px;background-position:-216px -120px}.icon-comment{background-position:-240px -120px}.icon-magnet{background-position:-264px -120px}.icon-chevron-up{background-position:-288px -120px}.icon-chevron-down{background-position:-313px -119px}.icon-retweet{background-position:-336px -120px}.icon-shopping-cart{background-position:-360px -120px}.icon-folder-close{width:16px;background-position:-384px -120px}.icon-folder-open{width:16px;background-position:-408px -120px}.icon-resize-vertical{background-position:-432px -119px}.icon-resize-horizontal{background-position:-456px -118px}.icon-hdd{background-position:0 -144px}.icon-bullhorn{background
-position:-24px -144px}.icon-bell{background-position:-48px -144px}.icon-certificate{background-position:-72px -144px}.icon-thumbs-up{background-position:-96px -144px}.icon-thumbs-down{background-position:-120px -144px}.icon-hand-right{background-position:-144px -144px}.icon-hand-left{background-position:-168px -144px}.icon-hand-up{background-position:-192px -144px}.icon-hand-down{background-position:-216px -144px}.icon-circle-arrow-right{background-position:-240px -144px}.icon-circle-arrow-left{background-position:-264px -144px}.icon-circle-arrow-up{background-position:-288px -144px}.icon-circle-arrow-down{background-position:-312px -144px}.icon-globe{background-position:-336px -144px}.icon-wrench{background-position:-360px -144px}.icon-tasks{background-position:-384px -144px}.icon-filter{background-position:-408px -144px}.icon-briefcase{background-position:-432px -144px}.icon-fullscreen{background-position:-456px -144px}.dropup,.dropdown{position:relative}.dropdown-toggle{*margin-
bottom:-3px}.dropdown-toggle:active,.open .dropdown-toggle{outline:0}.caret{display:inline-block;width:0;height:0;vertical-align:top;border-top:4px solid #000;border-right:4px solid transparent;border-left:4px solid transparent;content:""}.dropdown .caret{margin-top:8px;margin-left:2px}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;list-style:none;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.2);*border-right-width:2px;*border-bottom-width:2px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,0.2);-moz-box-shadow:0 5px 10px rgba(0,0,0,0.2);box-shadow:0 5px 10px rgba(0,0,0,0.2);-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{*width:100%;height:1px;margin:9px 1px;*margin:-5px 0 5px;overflow:hidden;backgroun
d-color:#e5e5e5;border-bottom:1px solid #fff}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:normal;line-height:20px;color:#333;white-space:nowrap}.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus,.dropdown-submenu:hover>a,.dropdown-submenu:focus>a{color:#fff;text-decoration:none;background-color:#0081c2;background-image:-moz-linear-gradient(top,#08c,#0077b3);background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#0077b3));background-image:-webkit-linear-gradient(top,#08c,#0077b3);background-image:-o-linear-gradient(top,#08c,#0077b3);background-image:linear-gradient(to bottom,#08c,#0077b3);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc',endColorstr='#ff0077b3',GradientType=0)}.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus{color:#fff;text-decoration:none;background-color:#0081c2;background-image:-moz-linear-gradient(top,#08c,#0077b3);background-image:-
webkit-gradient(linear,0 0,0 100%,from(#08c),to(#0077b3));background-image:-webkit-linear-gradient(top,#08c,#0077b3);background-image:-o-linear-gradient(top,#08c,#0077b3);background-image:linear-gradient(to bottom,#08c,#0077b3);background-repeat:repeat-x;outline:0;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc',endColorstr='#ff0077b3',GradientType=0)}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{color:#999}.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{text-decoration:none;cursor:default;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.open{*z-index:1000}.open>.dropdown-menu{display:block}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{border-top:0;border-bottom:4px solid #000;content:""}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100
%;margin-bottom:1px}.dropdown-submenu{position:relative}.dropdown-submenu>.dropdown-menu{top:0;left:100%;margin-top:-6px;margin-left:-1px;-webkit-border-radius:0 6px 6px 6px;-moz-border-radius:0 6px 6px 6px;border-radius:0 6px 6px 6px}.dropdown-submenu:hover>.dropdown-menu{display:block}.dropup .dropdown-submenu>.dropdown-menu{top:auto;bottom:0;margin-top:0;margin-bottom:-2px;-webkit-border-radius:5px 5px 5px 0;-moz-border-radius:5px 5px 5px 0;border-radius:5px 5px 5px 0}.dropdown-submenu>a:after{display:block;float:right;width:0;height:0;margin-top:5px;margin-right:-10px;border-color:transparent;border-left-color:#ccc;border-style:solid;border-width:5px 0 5px 5px;content:" "}.dropdown-submenu:hover>a:after{border-left-color:#fff}.dropdown-submenu.pull-left{float:none}.dropdown-submenu.pull-left>.dropdown-menu{left:-100%;margin-left:10px;-webkit-border-radius:6px 0 6px 6px;-moz-border-radius:6px 0 6px 6px;border-radius:6px 0 6px 6px}.dropdown .dropdown-menu .nav-header{padding-right
:20px;padding-left:20px}.typeahead{z-index:1051;margin-top:2px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.05);box-shadow:inset 0 1px 1px rgba(0,0,0,0.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,0.15)}.well-large{padding:24px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.well-small{padding:9px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.fade{opacity:0;-webkit-transition:opacity .15s linear;-moz-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{position:relative;height:0;overflow:hidden;-webkit-transition:height .35s ease;-moz-transition:height .35s ease;-o-tra
nsition:height .35s ease;transition:height .35s ease}.collapse.in{height:auto}.close{float:right;font-size:20px;font-weight:bold;line-height:20px;color:#000;text-shadow:0 1px 0 #fff;opacity:.2;filter:alpha(opacity=20)}.close:hover,.close:focus{color:#000;text-decoration:none;cursor:pointer;opacity:.4;filter:alpha(opacity=40)}button.close{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none}.btn{display:inline-block;*display:inline;padding:4px 12px;margin-bottom:0;*margin-left:.3em;font-size:14px;line-height:20px;color:#333;text-align:center;text-shadow:0 1px 1px rgba(255,255,255,0.75);vertical-align:middle;cursor:pointer;background-color:#f5f5f5;*background-color:#e6e6e6;background-image:-moz-linear-gradient(top,#fff,#e6e6e6);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fff),to(#e6e6e6));background-image:-webkit-linear-gradient(top,#fff,#e6e6e6);background-image:-o-linear-gradient(top,#fff,#e6e6e6);background-image:linear-gradient(to bottom,#
fff,#e6e6e6);background-repeat:repeat-x;border:1px solid #ccc;*border:0;border-color:#e6e6e6 #e6e6e6 #bfbfbf;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);border-bottom-color:#b3b3b3;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff',endColorstr='#ffe6e6e6',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);*zoom:1;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05)}.btn:hover,.btn:focus,.btn:active,.btn.active,.btn.disabled,.btn[disabled]{color:#333;background-color:#e6e6e6;*background-color:#d9d9d9}.btn:active,.btn.active{background-color:#ccc \9}.btn:first-child{*margin-left:0}.btn:hover,.btn:focus{color:#333;text-decoration:none;background-position:0 -15px;-webkit
-transition:background-position .1s linear;-moz-transition:background-position .1s linear;-o-transition:background-position .1s linear;transition:background-position .1s linear}.btn:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn.active,.btn:active{background-image:none;outline:0;-webkit-box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05)}.btn.disabled,.btn[disabled]{cursor:default;background-image:none;opacity:.65;filter:alpha(opacity=65);-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.btn-large{padding:11px 19px;font-size:17.5px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.btn-large [class^="icon-"],.btn-large [class*=" icon-"]{margin-top:4px}.btn-small{padding:2px 10px;font-size:11.9px;-webkit-border-radius:3px;-moz-border-radius:3
px;border-radius:3px}.btn-small [class^="icon-"],.btn-small [class*=" icon-"]{margin-top:0}.btn-mini [class^="icon-"],.btn-mini [class*=" icon-"]{margin-top:-1px}.btn-mini{padding:0 6px;font-size:10.5px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.btn-block{display:block;width:100%;padding-right:0;padding-left:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.btn-block+.btn-block{margin-top:5px}input[type="submit"].btn-block,input[type="reset"].btn-block,input[type="button"].btn-block{width:100%}.btn-primary.active,.btn-warning.active,.btn-danger.active,.btn-success.active,.btn-info.active,.btn-inverse.active{color:rgba(255,255,255,0.75)}.btn-primary{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#006dcc;*background-color:#04c;background-image:-moz-linear-gradient(top,#08c,#04c);background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#04c));background-image:-webkit-linear-gradient(top,#08c,#04c);back
ground-image:-o-linear-gradient(top,#08c,#04c);background-image:linear-gradient(to bottom,#08c,#04c);background-repeat:repeat-x;border-color:#04c #04c #002a80;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc',endColorstr='#ff0044cc',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-primary:hover,.btn-primary:focus,.btn-primary:active,.btn-primary.active,.btn-primary.disabled,.btn-primary[disabled]{color:#fff;background-color:#04c;*background-color:#003bb3}.btn-primary:active,.btn-primary.active{background-color:#039 \9}.btn-warning{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#faa732;*background-color:#f89406;background-image:-moz-linear-gradient(top,#fbb450,#f89406);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fbb450),to(#f89406));background-image:-webkit-linear-gradient(top,#fbb450,#f89406);background-image:-o-linear-gradient
(top,#fbb450,#f89406);background-image:linear-gradient(to bottom,#fbb450,#f89406);background-repeat:repeat-x;border-color:#f89406 #f89406 #ad6704;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffbb450',endColorstr='#fff89406',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-warning:hover,.btn-warning:focus,.btn-warning:active,.btn-warning.active,.btn-warning.disabled,.btn-warning[disabled]{color:#fff;background-color:#f89406;*background-color:#df8505}.btn-warning:active,.btn-warning.active{background-color:#c67605 \9}.btn-danger{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#da4f49;*background-color:#bd362f;background-image:-moz-linear-gradient(top,#ee5f5b,#bd362f);background-image:-webkit-gradient(linear,0 0,0 100%,from(#ee5f5b),to(#bd362f));background-image:-webkit-linear-gradient(top,#ee5f5b,#bd362f);background-image:-o-linear-gradient(top,#ee
5f5b,#bd362f);background-image:linear-gradient(to bottom,#ee5f5b,#bd362f);background-repeat:repeat-x;border-color:#bd362f #bd362f #802420;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffee5f5b',endColorstr='#ffbd362f',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-danger:hover,.btn-danger:focus,.btn-danger:active,.btn-danger.active,.btn-danger.disabled,.btn-danger[disabled]{color:#fff;background-color:#bd362f;*background-color:#a9302a}.btn-danger:active,.btn-danger.active{background-color:#942a25 \9}.btn-success{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#5bb75b;*background-color:#51a351;background-image:-moz-linear-gradient(top,#62c462,#51a351);background-image:-webkit-gradient(linear,0 0,0 100%,from(#62c462),to(#51a351));background-image:-webkit-linear-gradient(top,#62c462,#51a351);background-image:-o-linear-gradient(top,#62c462,#51a351);b
ackground-image:linear-gradient(to bottom,#62c462,#51a351);background-repeat:repeat-x;border-color:#51a351 #51a351 #387038;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff62c462',endColorstr='#ff51a351',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-success:hover,.btn-success:focus,.btn-success:active,.btn-success.active,.btn-success.disabled,.btn-success[disabled]{color:#fff;background-color:#51a351;*background-color:#499249}.btn-success:active,.btn-success.active{background-color:#408140 \9}.btn-info{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#49afcd;*background-color:#2f96b4;background-image:-moz-linear-gradient(top,#5bc0de,#2f96b4);background-image:-webkit-gradient(linear,0 0,0 100%,from(#5bc0de),to(#2f96b4));background-image:-webkit-linear-gradient(top,#5bc0de,#2f96b4);background-image:-o-linear-gradient(top,#5bc0de,#2f96b4);background-
image:linear-gradient(to bottom,#5bc0de,#2f96b4);background-repeat:repeat-x;border-color:#2f96b4 #2f96b4 #1f6377;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de',endColorstr='#ff2f96b4',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-info:hover,.btn-info:focus,.btn-info:active,.btn-info.active,.btn-info.disabled,.btn-info[disabled]{color:#fff;background-color:#2f96b4;*background-color:#2a85a0}.btn-info:active,.btn-info.active{background-color:#24748c \9}.btn-inverse{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#363636;*background-color:#222;background-image:-moz-linear-gradient(top,#444,#222);background-image:-webkit-gradient(linear,0 0,0 100%,from(#444),to(#222));background-image:-webkit-linear-gradient(top,#444,#222);background-image:-o-linear-gradient(top,#444,#222);background-image:linear-gradient(to bottom,#444,#222);background-repe
at:repeat-x;border-color:#222 #222 #000;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff444444',endColorstr='#ff222222',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-inverse:hover,.btn-inverse:focus,.btn-inverse:active,.btn-inverse.active,.btn-inverse.disabled,.btn-inverse[disabled]{color:#fff;background-color:#222;*background-color:#151515}.btn-inverse:active,.btn-inverse.active{background-color:#080808 \9}button.btn,input[type="submit"].btn{*padding-top:3px;*padding-bottom:3px}button.btn::-moz-focus-inner,input[type="submit"].btn::-moz-focus-inner{padding:0;border:0}button.btn.btn-large,input[type="submit"].btn.btn-large{*padding-top:7px;*padding-bottom:7px}button.btn.btn-small,input[type="submit"].btn.btn-small{*padding-top:3px;*padding-bottom:3px}button.btn.btn-mini,input[type="submit"].btn.btn-mini{*padding-top:1px;*padding-bottom:1px}.btn-link,.btn-link:act
ive,.btn-link[disabled]{background-color:transparent;background-image:none;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.btn-link{color:#08c;cursor:pointer;border-color:transparent;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.btn-link:hover,.btn-link:focus{color:#005580;text-decoration:underline;background-color:transparent}.btn-link[disabled]:hover,.btn-link[disabled]:focus{color:#333;text-decoration:none}.btn-group{position:relative;display:inline-block;*display:inline;*margin-left:.3em;font-size:0;white-space:nowrap;vertical-align:middle;*zoom:1}.btn-group:first-child{*margin-left:0}.btn-group+.btn-group{margin-left:5px}.btn-toolbar{margin-top:10px;margin-bottom:10px;font-size:0}.btn-toolbar>.btn+.btn,.btn-toolbar>.btn-group+.btn,.btn-toolbar>.btn+.btn-group{margin-left:5px}.btn-group>.btn{position:relative;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.btn-group>.btn+.btn{margin-left:-1px}.btn-group>.btn,.btn-group>.dropdown-menu,.
btn-group>.popover{font-size:14px}.btn-group>.btn-mini{font-size:10.5px}.btn-group>.btn-small{font-size:11.9px}.btn-group>.btn-large{font-size:17.5px}.btn-group>.btn:first-child{margin-left:0;-webkit-border-bottom-left-radius:4px;border-bottom-left-radius:4px;-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-bottomleft:4px;-moz-border-radius-topleft:4px}.btn-group>.btn:last-child,.btn-group>.dropdown-toggle{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-webkit-border-bottom-right-radius:4px;border-bottom-right-radius:4px;-moz-border-radius-topright:4px;-moz-border-radius-bottomright:4px}.btn-group>.btn.large:first-child{margin-left:0;-webkit-border-bottom-left-radius:6px;border-bottom-left-radius:6px;-webkit-border-top-left-radius:6px;border-top-left-radius:6px;-moz-border-radius-bottomleft:6px;-moz-border-radius-topleft:6px}.btn-group>.btn.large:last-child,.btn-group>.large.dropdown-toggle{-webkit-border-top-right-radius:6px;border-t
op-right-radius:6px;-webkit-border-bottom-right-radius:6px;border-bottom-right-radius:6px;-moz-border-radius-topright:6px;-moz-border-radius-bottomright:6px}.btn-group>.btn:hover,.btn-group>.btn:focus,.btn-group>.btn:active,.btn-group>.btn.active{z-index:2}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{*padding-top:5px;padding-right:8px;*padding-bottom:5px;padding-left:8px;-webkit-box-shadow:inset 1px 0 0 rgba(255,255,255,0.125),inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 1px 0 0 rgba(255,255,255,0.125),inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 1px 0 0 rgba(255,255,255,0.125),inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05)}.btn-group>.btn-mini+.dropdown-toggle{*padding-top:2px;padding-right:5px;*padding-bottom:2px;padding-left:5px}.btn-group>.btn-small+.dropdown-toggle{*padding-top:5px;*padding-bottom:4px}.btn-group>.btn-large+
.dropdown-toggle{*padding-top:7px;padding-right:12px;*padding-bottom:7px;padding-left:12px}.btn-group.open .dropdown-toggle{background-image:none;-webkit-box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05)}.btn-group.open .btn.dropdown-toggle{background-color:#e6e6e6}.btn-group.open .btn-primary.dropdown-toggle{background-color:#04c}.btn-group.open .btn-warning.dropdown-toggle{background-color:#f89406}.btn-group.open .btn-danger.dropdown-toggle{background-color:#bd362f}.btn-group.open .btn-success.dropdown-toggle{background-color:#51a351}.btn-group.open .btn-info.dropdown-toggle{background-color:#2f96b4}.btn-group.open .btn-inverse.dropdown-toggle{background-color:#222}.btn .caret{margin-top:8px;margin-left:0}.btn-large .caret{margin-top:6px}.btn-large .caret{border-top-width:5px;border-right-width:5px;border-left-width
:5px}.btn-mini .caret,.btn-small .caret{margin-top:8px}.dropup .btn-large .caret{border-bottom-width:5px}.btn-primary .caret,.btn-warning .caret,.btn-danger .caret,.btn-info .caret,.btn-success .caret,.btn-inverse .caret{border-top-color:#fff;border-bottom-color:#fff}.btn-group-vertical{display:inline-block;*display:inline;*zoom:1}.btn-group-vertical>.btn{display:block;float:none;max-width:100%;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.btn-group-vertical>.btn+.btn{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:first-child{-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0}.btn-group-vertical>.btn:last-child{-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px}.btn-group-vertical>.btn-large:first-child{-webkit-border-radius:6px 6px 0 0;-moz-border-radius:6px 6px 0 0;border-radius:6px 6px 0 0}.btn-group-vertical>.btn-large:last-child{-webkit-border-radius:0 0 6px 6px;-moz-border-r
adius:0 0 6px 6px;border-radius:0 0 6px 6px}.alert{padding:8px 35px 8px 14px;margin-bottom:20px;text-shadow:0 1px 0 rgba(255,255,255,0.5);background-color:#fcf8e3;border:1px solid #fbeed5;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.alert,.alert h4{color:#c09853}.alert h4{margin:0}.alert .close{position:relative;top:-2px;right:-21px;line-height:20px}.alert-success{color:#468847;background-color:#dff0d8;border-color:#d6e9c6}.alert-success h4{color:#468847}.alert-danger,.alert-error{color:#b94a48;background-color:#f2dede;border-color:#eed3d7}.alert-danger h4,.alert-error h4{color:#b94a48}.alert-info{color:#3a87ad;background-color:#d9edf7;border-color:#bce8f1}.alert-info h4{color:#3a87ad}.alert-block{padding-top:14px;padding-bottom:14px}.alert-block>p,.alert-block>ul{margin-bottom:0}.alert-block p+p{margin-top:5px}.nav{margin-bottom:20px;margin-left:0;list-style:none}.nav>li>a{display:block}.nav>li>a:hover,.nav>li>a:focus{text-decoration:none;background-color:#ee
e}.nav>li>a>img{max-width:none}.nav>.pull-right{float:right}.nav-header{display:block;padding:3px 15px;font-size:11px;font-weight:bold;line-height:20px;color:#999;text-shadow:0 1px 0 rgba(255,255,255,0.5);text-transform:uppercase}.nav li+.nav-header{margin-top:9px}.nav-list{padding-right:15px;padding-left:15px;margin-bottom:0}.nav-list>li>a,.nav-list .nav-header{margin-right:-15px;margin-left:-15px;text-shadow:0 1px 0 rgba(255,255,255,0.5)}.nav-list>li>a{padding:3px 15px}.nav-list>.active>a,.nav-list>.active>a:hover,.nav-list>.active>a:focus{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.2);background-color:#08c}.nav-list [class^="icon-"],.nav-list [class*=" icon-"]{margin-right:2px}.nav-list .divider{*width:100%;height:1px;margin:9px 1px;*margin:-5px 0 5px;overflow:hidden;background-color:#e5e5e5;border-bottom:1px solid #fff}.nav-tabs,.nav-pills{*zoom:1}.nav-tabs:before,.nav-pills:before,.nav-tabs:after,.nav-pills:after{display:table;line-height:0;content:""}.nav-tabs:after,.nav-pill
s:after{clear:both}.nav-tabs>li,.nav-pills>li{float:left}.nav-tabs>li>a,.nav-pills>li>a{padding-right:12px;padding-left:12px;margin-right:2px;line-height:14px}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{margin-bottom:-1px}.nav-tabs>li>a{padding-top:8px;padding-bottom:8px;line-height:20px;border:1px solid transparent;-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover,.nav-tabs>li>a:focus{border-color:#eee #eee #ddd}.nav-tabs>.active>a,.nav-tabs>.active>a:hover,.nav-tabs>.active>a:focus{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.nav-pills>li>a{padding-top:8px;padding-bottom:8px;margin-top:2px;margin-bottom:2px;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.nav-pills>.active>a,.nav-pills>.active>a:hover,.nav-pills>.active>a:focus{color:#fff;background-color:#08c}.nav-stacked>li{float:none}.nav-stacked>li>a{margin-right:0}.nav-tabs.nav-sta
cked{border-bottom:0}.nav-tabs.nav-stacked>li>a{border:1px solid #ddd;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.nav-tabs.nav-stacked>li:first-child>a{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-topright:4px;-moz-border-radius-topleft:4px}.nav-tabs.nav-stacked>li:last-child>a{-webkit-border-bottom-right-radius:4px;border-bottom-right-radius:4px;-webkit-border-bottom-left-radius:4px;border-bottom-left-radius:4px;-moz-border-radius-bottomright:4px;-moz-border-radius-bottomleft:4px}.nav-tabs.nav-stacked>li>a:hover,.nav-tabs.nav-stacked>li>a:focus{z-index:2;border-color:#ddd}.nav-pills.nav-stacked>li>a{margin-bottom:3px}.nav-pills.nav-stacked>li:last-child>a{margin-bottom:1px}.nav-tabs .dropdown-menu{-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px}.nav-pills .dropdown-menu{-webkit-border-radius:6px;-moz-border-radius:6px;borde
r-radius:6px}.nav .dropdown-toggle .caret{margin-top:6px;border-top-color:#08c;border-bottom-color:#08c}.nav .dropdown-toggle:hover .caret,.nav .dropdown-toggle:focus .caret{border-top-color:#005580;border-bottom-color:#005580}.nav-tabs .dropdown-toggle .caret{margin-top:8px}.nav .active .dropdown-toggle .caret{border-top-color:#fff;border-bottom-color:#fff}.nav-tabs .active .dropdown-toggle .caret{border-top-color:#555;border-bottom-color:#555}.nav>.dropdown.active>a:hover,.nav>.dropdown.active>a:focus{cursor:pointer}.nav-tabs .open .dropdown-toggle,.nav-pills .open .dropdown-toggle,.nav>li.dropdown.open.active>a:hover,.nav>li.dropdown.open.active>a:focus{color:#fff;background-color:#999;border-color:#999}.nav li.dropdown.open .caret,.nav li.dropdown.open.active .caret,.nav li.dropdown.open a:hover .caret,.nav li.dropdown.open a:focus .caret{border-top-color:#fff;border-bottom-color:#fff;opacity:1;filter:alpha(opacity=100)}.tabs-stacked .open>a:hover,.tabs-stacked .open>a:focus{bor
der-color:#999}.tabbable{*zoom:1}.tabbable:before,.tabbable:after{display:table;line-height:0;content:""}.tabbable:after{clear:both}.tab-content{overflow:auto}.tabs-below>.nav-tabs,.tabs-right>.nav-tabs,.tabs-left>.nav-tabs{border-bottom:0}.tab-content>.tab-pane,.pill-content>.pill-pane{display:none}.tab-content>.active,.pill-content>.active{display:block}.tabs-below>.nav-tabs{border-top:1px solid #ddd}.tabs-below>.nav-tabs>li{margin-top:-1px;margin-bottom:0}.tabs-below>.nav-tabs>li>a{-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px}.tabs-below>.nav-tabs>li>a:hover,.tabs-below>.nav-tabs>li>a:focus{border-top-color:#ddd;border-bottom-color:transparent}.tabs-below>.nav-tabs>.active>a,.tabs-below>.nav-tabs>.active>a:hover,.tabs-below>.nav-tabs>.active>a:focus{border-color:transparent #ddd #ddd #ddd}.tabs-left>.nav-tabs>li,.tabs-right>.nav-tabs>li{float:none}.tabs-left>.nav-tabs>li>a,.tabs-right>.nav-tabs>li>a{min-width:74px;margin-right:0;margi
n-bottom:3px}.tabs-left>.nav-tabs{float:left;margin-right:19px;border-right:1px solid #ddd}.tabs-left>.nav-tabs>li>a{margin-right:-1px;-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px}.tabs-left>.nav-tabs>li>a:hover,.tabs-left>.nav-tabs>li>a:focus{border-color:#eee #ddd #eee #eee}.tabs-left>.nav-tabs .active>a,.tabs-left>.nav-tabs .active>a:hover,.tabs-left>.nav-tabs .active>a:focus{border-color:#ddd transparent #ddd #ddd;*border-right-color:#fff}.tabs-right>.nav-tabs{float:right;margin-left:19px;border-left:1px solid #ddd}.tabs-right>.nav-tabs>li>a{margin-left:-1px;-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.tabs-right>.nav-tabs>li>a:hover,.tabs-right>.nav-tabs>li>a:focus{border-color:#eee #eee #eee #ddd}.tabs-right>.nav-tabs .active>a,.tabs-right>.nav-tabs .active>a:hover,.tabs-right>.nav-tabs .active>a:focus{border-color:#ddd #ddd #ddd transparent;*border-left-color:#fff}.nav>.disabled>a{col
or:#999}.nav>.disabled>a:hover,.nav>.disabled>a:focus{text-decoration:none;cursor:default;background-color:transparent}.navbar{*position:relative;*z-index:2;margin-bottom:20px;overflow:visible}.navbar-inner{min-height:40px;padding-right:20px;padding-left:20px;background-color:#fafafa;background-image:-moz-linear-gradient(top,#fff,#f2f2f2);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fff),to(#f2f2f2));background-image:-webkit-linear-gradient(top,#fff,#f2f2f2);background-image:-o-linear-gradient(top,#fff,#f2f2f2);background-image:linear-gradient(to bottom,#fff,#f2f2f2);background-repeat:repeat-x;border:1px solid #d4d4d4;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff',endColorstr='#fff2f2f2',GradientType=0);*zoom:1;-webkit-box-shadow:0 1px 4px rgba(0,0,0,0.065);-moz-box-shadow:0 1px 4px rgba(0,0,0,0.065);box-shadow:0 1px 4px rgba(0,0,0,0.065)}.navbar-inner:before,.navbar-inner:af
ter{display:table;line-height:0;content:""}.navbar-inner:after{clear:both}.navbar .container{width:auto}.nav-collapse.collapse{height:auto;overflow:visible}.navbar .brand{display:block;float:left;padding:10px 20px 10px;margin-left:-20px;font-size:20px;font-weight:200;color:#777;text-shadow:0 1px 0 #fff}.navbar .brand:hover,.navbar .brand:focus{text-decoration:none}.navbar-text{margin-bottom:0;line-height:40px;color:#777}.navbar-link{color:#777}.navbar-link:hover,.navbar-link:focus{color:#333}.navbar .divider-vertical{height:40px;margin:0 9px;border-right:1px solid #fff;border-left:1px solid #f2f2f2}.navbar .btn,.navbar .btn-group{margin-top:5px}.navbar .btn-group .btn,.navbar .input-prepend .btn,.navbar .input-append .btn,.navbar .input-prepend .btn-group,.navbar .input-append .btn-group{margin-top:0}.navbar-form{margin-bottom:0;*zoom:1}.navbar-form:before,.navbar-form:after{display:table;line-height:0;content:""}.navbar-form:after{clear:both}.navbar-form input,.navbar-form select,.
navbar-form .radio,.navbar-form .checkbox{margin-top:5px}.navbar-form input,.navbar-form select,.navbar-form .btn{display:inline-block;margin-bottom:0}.navbar-form input[type="image"],.navbar-form input[type="checkbox"],.navbar-form input[type="radio"]{margin-top:3px}.navbar-form .input-append,.navbar-form .input-prepend{margin-top:5px;white-space:nowrap}.navbar-form .input-append input,.navbar-form .input-prepend input{margin-top:0}.navbar-search{position:relative;float:left;margin-top:5px;margin-bottom:0}.navbar-search .search-query{padding:4px 14px;margin-bottom:0;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;font-weight:normal;line-height:1;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px}.navbar-static-top{position:static;margin-bottom:0}.navbar-static-top .navbar-inner{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.navbar-fixed-top,.navbar-fixed-bottom{position:fixed;right:0;left:0;z-index:1030;margin-bottom:0}.navba
r-fixed-top .navbar-inner,.navbar-static-top .navbar-inner{border-width:0 0 1px}.navbar-fixed-bottom .navbar-inner{border-width:1px 0 0}.navbar-fixed-top .navbar-inner,.navbar-fixed-bottom .navbar-inner{padding-right:0;padding-left:0;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:940px}.navbar-fixed-top{top:0}.navbar-fixed-top .navbar-inner,.navbar-static-top .navbar-inner{-webkit-box-shadow:0 1px 10px rgba(0,0,0,0.1);-moz-box-shadow:0 1px 10px rgba(0,0,0,0.1);box-shadow:0 1px 10px rgba(0,0,0,0.1)}.navbar-fixed-bottom{bottom:0}.navbar-fixed-bottom .navbar-inner{-webkit-box-shadow:0 -1px 10px rgba(0,0,0,0.1);-moz-box-shadow:0 -1px 10px rgba(0,0,0,0.1);box-shadow:0 -1px 10px rgba(0,0,0,0.1)}.navbar .nav{position:relative;left:0;display:block;float:left;margin:0 10px 0 0}.navbar .nav.pull-right{float:right;margin-right:0}.navbar .nav>li{float:left}.navbar .nav>li>a{float:none;
padding:10px 15px 10px;color:#777;text-decoration:none;text-shadow:0 1px 0 #fff}.navbar .nav .dropdown-toggle .caret{margin-top:8px}.navbar .nav>li>a:focus,.navbar .nav>li>a:hover{color:#333;text-decoration:none;background-color:transparent}.navbar .nav>.active>a,.navbar .nav>.active>a:hover,.navbar .nav>.active>a:focus{color:#555;text-decoration:none;background-color:#e5e5e5;-webkit-box-shadow:inset 0 3px 8px rgba(0,0,0,0.125);-moz-box-shadow:inset 0 3px 8px rgba(0,0,0,0.125);box-shadow:inset 0 3px 8px rgba(0,0,0,0.125)}.navbar .btn-navbar{display:none;float:right;padding:7px 10px;margin-right:5px;margin-left:5px;color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#ededed;*background-color:#e5e5e5;background-image:-moz-linear-gradient(top,#f2f2f2,#e5e5e5);background-image:-webkit-gradient(linear,0 0,0 100%,from(#f2f2f2),to(#e5e5e5));background-image:-webkit-linear-gradient(top,#f2f2f2,#e5e5e5);background-image:-o-linear-gradient(top,#f2f2f2,#e5e5e5);background-image:l
inear-gradient(to bottom,#f2f2f2,#e5e5e5);background-repeat:repeat-x;border-color:#e5e5e5 #e5e5e5 #bfbfbf;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2f2f2',endColorstr='#ffe5e5e5',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.075);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.075);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.075)}.navbar .btn-navbar:hover,.navbar .btn-navbar:focus,.navbar .btn-navbar:active,.navbar .btn-navbar.active,.navbar .btn-navbar.disabled,.navbar .btn-navbar[disabled]{color:#fff;background-color:#e5e5e5;*background-color:#d9d9d9}.navbar .btn-navbar:active,.navbar .btn-navbar.active{background-color:#ccc \9}.navbar .btn-navbar .icon-bar{display:block;width:18px;height:2px;background-color:#f5f5f5;-
webkit-border-radius:1px;-moz-border-radius:1px;border-radius:1px;-webkit-box-shadow:0 1px 0 rgba(0,0,0,0.25);-moz-box-shadow:0 1px 0 rgba(0,0,0,0.25);box-shadow:0 1px 0 rgba(0,0,0,0.25)}.btn-navbar .icon-bar+.icon-bar{margin-top:3px}.navbar .nav>li>.dropdown-menu:before{position:absolute;top:-7px;left:9px;display:inline-block;border-right:7px solid transparent;border-bottom:7px solid #ccc;border-left:7px solid transparent;border-bottom-color:rgba(0,0,0,0.2);content:''}.navbar .nav>li>.dropdown-menu:after{position:absolute;top:-6px;left:10px;display:inline-block;border-right:6px solid transparent;border-bottom:6px solid #fff;border-left:6px solid transparent;content:''}.navbar-fixed-bottom .nav>li>.dropdown-menu:before{top:auto;bottom:-7px;border-top:7px solid #ccc;border-bottom:0;border-top-color:rgba(0,0,0,0.2)}.navbar-fixed-bottom .nav>li>.dropdown-menu:after{top:auto;bottom:-6px;border-top:6px solid #fff;border-bottom:0}.navbar .nav li.dropdown>a:hover .caret,.navbar .nav li.dro
pdown>a:focus .caret{border-top-color:#333;border-bottom-color:#333}.navbar .nav li.dropdown.open>.dropdown-toggle,.navbar .nav li.dropdown.active>.dropdown-toggle,.navbar .nav li.dropdown.open.active>.dropdown-toggle{color:#555;background-color:#e5e5e5}.navbar .nav li.dropdown>.dropdown-toggle .caret{border-top-color:#777;border-bottom-color:#777}.navbar .nav li.dropdown.open>.dropdown-toggle .caret,.navbar .nav li.dropdown.active>.dropdown-toggle .caret,.navbar .nav li.dropdown.open.active>.dropdown-toggle .caret{border-top-color:#555;border-bottom-color:#555}.navbar .pull-right>li>.dropdown-menu,.navbar .nav>li>.dropdown-menu.pull-right{right:0;left:auto}.navbar .pull-right>li>.dropdown-menu:before,.navbar .nav>li>.dropdown-menu.pull-right:before{right:12px;left:auto}.navbar .pull-right>li>.dropdown-menu:after,.navbar .nav>li>.dropdown-menu.pull-right:after{right:13px;left:auto}.navbar .pull-right>li>.dropdown-menu .dropdown-menu,.navbar .nav>li>.dropdown-menu.pull-right .dropdow
n-menu{right:100%;left:auto;margin-right:-1px;margin-left:0;-webkit-border-radius:6px 0 6px 6px;-moz-border-radius:6px 0 6px 6px;border-radius:6px 0 6px 6px}.navbar-inverse .navbar-inner{background-color:#1b1b1b;background-image:-moz-linear-gradient(top,#222,#111);background-image:-webkit-gradient(linear,0 0,0 100%,from(#222),to(#111));background-image:-webkit-linear-gradient(top,#222,#111);background-image:-o-linear-gradient(top,#222,#111);background-image:linear-gradient(to bottom,#222,#111);background-repeat:repeat-x;border-color:#252525;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff222222',endColorstr='#ff111111',GradientType=0)}.navbar-inverse .brand,.navbar-inverse .nav>li>a{color:#999;text-shadow:0 -1px 0 rgba(0,0,0,0.25)}.navbar-inverse .brand:hover,.navbar-inverse .nav>li>a:hover,.navbar-inverse .brand:focus,.navbar-inverse .nav>li>a:focus{color:#fff}.navbar-inverse .brand{color:#999}.navbar-inverse .navbar-text{color:#999}.navbar-inverse .nav>li>a:foc
us,.navbar-inverse .nav>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .nav .active>a,.navbar-inverse .nav .active>a:hover,.navbar-inverse .nav .active>a:focus{color:#fff;background-color:#111}.navbar-inverse .navbar-link{color:#999}.navbar-inverse .navbar-link:hover,.navbar-inverse .navbar-link:focus{color:#fff}.navbar-inverse .divider-vertical{border-right-color:#222;border-left-color:#111}.navbar-inverse .nav li.dropdown.open>.dropdown-toggle,.navbar-inverse .nav li.dropdown.active>.dropdown-toggle,.navbar-inverse .nav li.dropdown.open.active>.dropdown-toggle{color:#fff;background-color:#111}.navbar-inverse .nav li.dropdown>a:hover .caret,.navbar-inverse .nav li.dropdown>a:focus .caret{border-top-color:#fff;border-bottom-color:#fff}.navbar-inverse .nav li.dropdown>.dropdown-toggle .caret{border-top-color:#999;border-bottom-color:#999}.navbar-inverse .nav li.dropdown.open>.dropdown-toggle .caret,.navbar-inverse .nav li.dropdown.active>.dropdown-toggle .caret,.n
avbar-inverse .nav li.dropdown.open.active>.dropdown-toggle .caret{border-top-color:#fff;border-bottom-color:#fff}.navbar-inverse .navbar-search .search-query{color:#fff;background-color:#515151;border-color:#111;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1),0 1px 0 rgba(255,255,255,0.15);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1),0 1px 0 rgba(255,255,255,0.15);box-shadow:inset 0 1px 2px rgba(0,0,0,0.1),0 1px 0 rgba(255,255,255,0.15);-webkit-transition:none;-moz-transition:none;-o-transition:none;transition:none}.navbar-inverse .navbar-search .search-query:-moz-placeholder{color:#ccc}.navbar-inverse .navbar-search .search-query:-ms-input-placeholder{color:#ccc}.navbar-inverse .navbar-search .search-query::-webkit-input-placeholder{color:#ccc}.navbar-inverse .navbar-search .search-query:focus,.navbar-inverse .navbar-search .search-query.focused{padding:5px 15px;color:#333;text-shadow:0 1px 0 #fff;background-color:#fff;border:0;outline:0;-webkit-box-shadow:0 0 3px rgba(0,0,0
,0.15);-moz-box-shadow:0 0 3px rgba(0,0,0,0.15);box-shadow:0 0 3px rgba(0,0,0,0.15)}.navbar-inverse .btn-navbar{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#0e0e0e;*background-color:#040404;background-image:-moz-linear-gradient(top,#151515,#040404);background-image:-webkit-gradient(linear,0 0,0 100%,from(#151515),to(#040404));background-image:-webkit-linear-gradient(top,#151515,#040404);background-image:-o-linear-gradient(top,#151515,#040404);background-image:linear-gradient(to bottom,#151515,#040404);background-repeat:repeat-x;border-color:#040404 #040404 #000;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff151515',endColorstr='#ff040404',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.navbar-inverse .btn-navbar:hover,.navbar-inverse .btn-navbar:focus,.navbar-inverse .btn-navbar:active,.navbar-inverse .btn-navbar.active,.navbar-inverse .btn-navba
r.disabled,.navbar-inverse .btn-navbar[disabled]{color:#fff;background-color:#040404;*background-color:#000}.navbar-inverse .btn-navbar:active,.navbar-inverse .btn-navbar.active{background-color:#000 \9}.breadcrumb{padding:8px 15px;margin:0 0 20px;list-style:none;background-color:#f5f5f5;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.breadcrumb>li{display:inline-block;*display:inline;text-shadow:0 1px 0 #fff;*zoom:1}.breadcrumb>li>.divider{padding:0 5px;color:#ccc}.breadcrumb>.active{color:#999}.pagination{margin:20px 0}.pagination ul{display:inline-block;*display:inline;margin-bottom:0;margin-left:0;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;*zoom:1;-webkit-box-shadow:0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:0 1px 2px rgba(0,0,0,0.05);box-shadow:0 1px 2px rgba(0,0,0,0.05)}.pagination ul>li{display:inline}.pagination ul>li>a,.pagination ul>li>span{float:left;padding:4px 12px;line-height:20px;text-decoration:none;background-color:#fff;bo
rder:1px solid #ddd;border-left-width:0}.pagination ul>li>a:hover,.pagination ul>li>a:focus,.pagination ul>.active>a,.pagination ul>.active>span{background-color:#f5f5f5}.pagination ul>.active>a,.pagination ul>.active>span{color:#999;cursor:default}.pagination ul>.disabled>span,.pagination ul>.disabled>a,.pagination ul>.disabled>a:hover,.pagination ul>.disabled>a:focus{color:#999;cursor:default;background-color:transparent}.pagination ul>li:first-child>a,.pagination ul>li:first-child>span{border-left-width:1px;-webkit-border-bottom-left-radius:4px;border-bottom-left-radius:4px;-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-bottomleft:4px;-moz-border-radius-topleft:4px}.pagination ul>li:last-child>a,.pagination ul>li:last-child>span{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-webkit-border-bottom-right-radius:4px;border-bottom-right-radius:4px;-moz-border-radius-topright:4px;-moz-border-radius-bottomright:4px}.pagination-centered
{text-align:center}.pagination-right{text-align:right}.pagination-large ul>li>a,.pagination-large ul>li>span{padding:11px 19px;font-size:17.5px}.pagination-large ul>li:first-child>a,.pagination-large ul>li:first-child>span{-webkit-border-bottom-left-radius:6px;border-bottom-left-radius:6px;-webkit-border-top-left-radius:6px;border-top-left-radius:6px;-moz-border-radius-bottomleft:6px;-moz-border-radius-topleft:6px}.pagination-large ul>li:last-child>a,.pagination-large ul>li:last-child>span{-webkit-border-top-right-radius:6px;border-top-right-radius:6px;-webkit-border-bottom-right-radius:6px;border-bottom-right-radius:6px;-moz-border-radius-topright:6px;-moz-border-radius-bottomright:6px}.pagination-mini ul>li:first-child>a,.pagination-small ul>li:first-child>a,.pagination-mini ul>li:first-child>span,.pagination-small ul>li:first-child>span{-webkit-border-bottom-left-radius:3px;border-bottom-left-radius:3px;-webkit-border-top-left-radius:3px;border-top-left-radius:3px;-moz-border-rad
ius-bottomleft:3px;-moz-border-radius-topleft:3px}.pagination-mini ul>li:last-child>a,.pagination-small ul>li:last-child>a,.pagination-mini ul>li:last-child>span,.pagination-small ul>li:last-child>span{-webkit-border-top-right-radius:3px;border-top-right-radius:3px;-webkit-border-bottom-right-radius:3px;border-bottom-right-radius:3px;-moz-border-radius-topright:3px;-moz-border-radius-bottomright:3px}.pagination-small ul>li>a,.pagination-small ul>li>span{padding:2px 10px;font-size:11.9px}.pagination-mini ul>li>a,.pagination-mini ul>li>span{padding:0 6px;font-size:10.5px}.pager{margin:20px 0;text-align:center;list-style:none;*zoom:1}.pager:before,.pager:after{display:table;line-height:0;content:""}.pager:after{clear:both}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px}.pager li>a:hover,.pager li>a:focus{text-decoration:none;backgro
und-color:#f5f5f5}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:hover,.pager .disabled>a:focus,.pager .disabled>span{color:#999;cursor:default;background-color:#fff}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop,.modal-backdrop.fade.in{opacity:.8;filter:alpha(opacity=80)}.modal{position:fixed;top:10%;left:50%;z-index:1050;width:560px;margin-left:-280px;background-color:#fff;border:1px solid #999;border:1px solid rgba(0,0,0,0.3);*border:1px solid #999;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;outline:0;-webkit-box-shadow:0 3px 7px rgba(0,0,0,0.3);-moz-box-shadow:0 3px 7px rgba(0,0,0,0.3);box-shadow:0 3px 7px rgba(0,0,0,0.3);-webkit-background-clip:padding-box;-moz-background-clip:padding-box;background-clip:padding-box}.modal.fade{top:-25%;-webkit-transition:opacity .3s linear,
top .3s ease-out;-moz-transition:opacity .3s linear,top .3s ease-out;-o-transition:opacity .3s linear,top .3s ease-out;transition:opacity .3s linear,top .3s ease-out}.modal.fade.in{top:10%}.modal-header{padding:9px 15px;border-bottom:1px solid #eee}.modal-header .close{margin-top:2px}.modal-header h3{margin:0;line-height:30px}.modal-body{position:relative;max-height:400px;padding:15px;overflow-y:auto}.modal-form{margin-bottom:0}.modal-footer{padding:14px 15px 15px;margin-bottom:0;text-align:right;background-color:#f5f5f5;border-top:1px solid #ddd;-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px;*zoom:1;-webkit-box-shadow:inset 0 1px 0 #fff;-moz-box-shadow:inset 0 1px 0 #fff;box-shadow:inset 0 1px 0 #fff}.modal-footer:before,.modal-footer:after{display:table;line-height:0;content:""}.modal-footer:after{clear:both}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-bloc
k+.btn-block{margin-left:0}.tooltip{position:absolute;z-index:1030;display:block;font-size:11px;line-height:1.4;opacity:0;filter:alpha(opacity=0);visibility:visible}.tooltip.in{opacity:.8;filter:alpha(opacity=80)}.tooltip.top{padding:5px 0;margin-top:-3px}.tooltip.right{padding:0 5px;margin-left:3px}.tooltip.bottom{padding:5px 0;margin-top:3px}.tooltip.left{padding:0 5px;margin-left:-3px}.tooltip-inner{max-width:200px;padding:8px;color:#fff;text-align:center;text-decoration:none;background-color:#000;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-top-color:#000;border-width:5px 5px 0}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-right-color:#000;border-width:5px 5px 5px 0}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-left-color:#000;border-width:5px 0 5px 5px
}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-bottom-color:#000;border-width:0 5px 5px}.popover{position:absolute;top:0;left:0;z-index:1010;display:none;max-width:276px;padding:1px;text-align:left;white-space:normal;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.2);-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,0.2);-moz-box-shadow:0 5px 10px rgba(0,0,0,0.2);box-shadow:0 5px 10px rgba(0,0,0,0.2);-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{padding:8px 14px;margin:0;font-size:14px;font-weight:normal;line-height:18px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;-webkit-border-radius:5px 5px 0 0;-moz-border-radius:5px 5px 0 0;border-radius:5px 5px 0 0}.popover-title:empty{displ
ay:none}.popover-content{padding:9px 14px}.

<TRUNCATED>
a***@apache.org
2017-12-21 04:53:03 UTC
Permalink
http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/assets/themes/mahout2/css/bootstrap.min.css
----------------------------------------------------------------------
diff --git a/website-old/assets/themes/mahout2/css/bootstrap.min.css b/website-old/assets/themes/mahout2/css/bootstrap.min.css
deleted file mode 100644
index c547283..0000000
--- a/website-old/assets/themes/mahout2/css/bootstrap.min.css
+++ /dev/null
@@ -1,7 +0,0 @@
-/*!
- * Bootstrap v3.0.3 (http://getbootstrap.com)
- * Copyright 2013 Twitter, Inc.
- * Licensed under http://www.apache.org/licenses/LICENSE-2.0
- */
-
-/*! normalize.css v2.1.3 | MIT License | git.io/normalize */article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}audio,canvas,video{display:inline-block}audio:not([controls]){display:none;height:0}[hidden],template{display:none}html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}a{background:transparent}a:focus{outline:thin dotted}a:active,a:hover{outline:0}h1{margin:.67em 0;font-size:2em}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:bold}dfn{font-style:italic}hr{height:0;-moz-box-sizing:content-box;box-sizing:content-box}mark{color:#000;background:#ff0}code,kbd,pre,samp{font-family:monospace,serif;font-size:1em}pre{white-space:pre-wrap}q{quotes:"\201C" "\201D" "\2018" "\2019"}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:0}fieldset{paddi
ng:.35em .625em .75em;margin:0 2px;border:1px solid #c0c0c0}legend{padding:0;border:0}button,input,select,textarea{margin:0;font-family:inherit;font-size:100%}button,input{line-height:normal}button,select{text-transform:none}button,html input[type="button"],input[type="reset"],input[type="submit"]{cursor:pointer;-webkit-appearance:button}button[disabled],html input[disabled]{cursor:default}input[type="checkbox"],input[type="radio"]{padding:0;box-sizing:border-box}input[type="search"]{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}textarea{overflow:auto;vertical-align:top}table{border-collapse:collapse;border-spacing:0}@media print{*{color:#000!important;text-shadow:none!important;background:transparent!important;box-shadow:none!impo
rtant}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="javascript:"]:after,a[href^="#"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100%!important}@page{margin:2cm .5cm}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}select{background:#fff!important}.navbar{display:none}.table td,.table th{background-color:#fff!important}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}.label{border:1px solid #000}.table{border-collapse:collapse!important}.table-bordered th,.table-bordered td{border:1px solid #ddd!important}}*,*:before,*:after{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:62.5%;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.428571429;
color:#333;background-color:#fff}input,button,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#428bca;text-decoration:none}a:hover,a:focus{color:#2a6496;text-decoration:underline}a:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}img{vertical-align:middle}.img-responsive{display:block;height:auto;max-width:100%}.img-rounded{border-radius:6px}.img-thumbnail{display:inline-block;height:auto;max-width:100%;padding:4px;line-height:1.428571429;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:500;line-height:1.1;co
lor:inherit}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small,.h1 small,.h2 small,.h3 small,.h4 small,.h5 small,.h6 small,h1 .small,h2 .small,h3 .small,h4 .small,h5 .small,h6 .small,.h1 .small,.h2 .small,.h3 .small,.h4 .small,.h5 .small,.h6 .small{font-weight:normal;line-height:1;color:#999}h1,h2,h3{margin-top:20px;margin-bottom:10px}h1 small,h2 small,h3 small,h1 .small,h2 .small,h3 .small{font-size:65%}h4,h5,h6{margin-top:10px;margin-bottom:10px}h4 small,h5 small,h6 small,h4 .small,h5 .small,h6 .small{font-size:75%}h1,.h1{font-size:36px}h2,.h2{font-size:30px}h3,.h3{font-size:24px}h4,.h4{font-size:18px}h5,.h5{font-size:14px}h6,.h6{font-size:12px}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16px;font-weight:200;line-height:1.4}@media(min-width:768px){.lead{font-size:21px}}small,.small{font-size:85%}cite{font-style:normal}.text-muted{color:#999}.text-primary{color:#428bca}.text-primary:hover{color:#3071a9}.text-warning{color:#8a6d3b}.text-warning:hover{color:#66512c}.text-
danger{color:#a94442}.text-danger:hover{color:#843534}.text-success{color:#3c763d}.text-success:hover{color:#2b542c}.text-info{color:#31708f}.text-info:hover{color:#245269}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}ul,ol{margin-top:0;margin-bottom:10px}ul ul,ol ul,ul ol,ol ol{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}.list-inline>li:first-child{padding-left:0}dl{margin-top:0;margin-bottom:20px}dt,dd{line-height:1.428571429}dt{font-weight:bold}dd{margin-left:0}@media(min-width:768px){.dl-horizontal dt{float:left;width:160px;overflow:hidden;clear:left;text-align:right;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}.dl-horizontal dd:before,.dl-horizontal dd:after{display:table;content:" "}.dl-horizon
tal dd:after{clear:both}.dl-horizontal dd:before,.dl-horizontal dd:after{display:table;content:" "}.dl-horizontal dd:after{clear:both}}abbr[title],abbr[data-original-title]{cursor:help;border-bottom:1px dotted #999}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10px 20px;margin:0 0 20px;border-left:5px solid #eee}blockquote p{font-size:17.5px;font-weight:300;line-height:1.25}blockquote p:last-child{margin-bottom:0}blockquote small,blockquote .small{display:block;line-height:1.428571429;color:#999}blockquote small:before,blockquote .small:before{content:'\2014 \00A0'}blockquote.pull-right{padding-right:15px;padding-left:0;border-right:5px solid #eee;border-left:0}blockquote.pull-right p,blockquote.pull-right small,blockquote.pull-right .small{text-align:right}blockquote.pull-right small:before,blockquote.pull-right .small:before{content:''}blockquote.pull-right small:after,blockquote.pull-right .small:after{content:'\00A0 \2014'}blockquote:before,blockquote:aft
er{content:""}address{margin-bottom:20px;font-style:normal;line-height:1.428571429}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;white-space:nowrap;background-color:#f9f2f4;border-radius:4px}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.428571429;color:#333;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.container:before,.container:after{display:table;content:" "}.container:after{clear:both}.container:before,.container:after{display:table;content:" "}.container:after{clear:both}@media(min-width:768px){.container{width:750px}}@media(min-width:992px){.container{width:970p
x}}@media(min-width:1200px){.container{width:1170px}}.row{margin-right:-15px;margin-left:-15px}.row:before,.row:after{display:table;content:" "}.row:after{clear:both}.row:before,.row:after{display:table;content:" "}.row:after{clear:both}.col-xs-1,.col-sm-1,.col-md-1,.col-lg-1,.col-xs-2,.col-sm-2,.col-md-2,.col-lg-2,.col-xs-3,.col-sm-3,.col-md-3,.col-lg-3,.col-xs-4,.col-sm-4,.col-md-4,.col-lg-4,.col-xs-5,.col-sm-5,.col-md-5,.col-lg-5,.col-xs-6,.col-sm-6,.col-md-6,.col-lg-6,.col-xs-7,.col-sm-7,.col-md-7,.col-lg-7,.col-xs-8,.col-sm-8,.col-md-8,.col-lg-8,.col-xs-9,.col-sm-9,.col-md-9,.col-lg-9,.col-xs-10,.col-sm-10,.col-md-10,.col-lg-10,.col-xs-11,.col-sm-11,.col-md-11,.col-lg-11,.col-xs-12,.col-sm-12,.col-md-12,.col-lg-12{position:relative;min-height:1px;padding-right:15px;padding-left:15px}.col-xs-1,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9,.col-xs-10,.col-xs-11,.col-xs-12{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666666666666%}.col-x
s-10{width:83.33333333333334%}.col-xs-9{width:75%}.col-xs-8{width:66.66666666666666%}.col-xs-7{width:58.333333333333336%}.col-xs-6{width:50%}.col-xs-5{width:41.66666666666667%}.col-xs-4{width:33.33333333333333%}.col-xs-3{width:25%}.col-xs-2{width:16.666666666666664%}.col-xs-1{width:8.333333333333332%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666666666666%}.col-xs-pull-10{right:83.33333333333334%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666666666666%}.col-xs-pull-7{right:58.333333333333336%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666666666667%}.col-xs-pull-4{right:33.33333333333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.666666666666664%}.col-xs-pull-1{right:8.333333333333332%}.col-xs-pull-0{right:0}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666666666666%}.col-xs-push-10{left:83.33333333333334%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666666666666%}.col-xs-push-7{left:58.333333333333336%}.col-xs-push-6{left:50%}.col-xs-push-
5{left:41.66666666666667%}.col-xs-push-4{left:33.33333333333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.666666666666664%}.col-xs-push-1{left:8.333333333333332%}.col-xs-push-0{left:0}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666666666666%}.col-xs-offset-10{margin-left:83.33333333333334%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666666666666%}.col-xs-offset-7{margin-left:58.333333333333336%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666666666667%}.col-xs-offset-4{margin-left:33.33333333333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.666666666666664%}.col-xs-offset-1{margin-left:8.333333333333332%}.col-xs-offset-0{margin-left:0}@media(min-width:768px){.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11,.col-sm-12{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666666666666%}.col-sm-10{width:83.33333333333334%}.c
ol-sm-9{width:75%}.col-sm-8{width:66.66666666666666%}.col-sm-7{width:58.333333333333336%}.col-sm-6{width:50%}.col-sm-5{width:41.66666666666667%}.col-sm-4{width:33.33333333333333%}.col-sm-3{width:25%}.col-sm-2{width:16.666666666666664%}.col-sm-1{width:8.333333333333332%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666666666666%}.col-sm-pull-10{right:83.33333333333334%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666666666666%}.col-sm-pull-7{right:58.333333333333336%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666666666667%}.col-sm-pull-4{right:33.33333333333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.666666666666664%}.col-sm-pull-1{right:8.333333333333332%}.col-sm-pull-0{right:0}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666666666666%}.col-sm-push-10{left:83.33333333333334%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666666666666%}.col-sm-push-7{left:58.333333333333336%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666666666667%}.col-s
m-push-4{left:33.33333333333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.666666666666664%}.col-sm-push-1{left:8.333333333333332%}.col-sm-push-0{left:0}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666666666666%}.col-sm-offset-10{margin-left:83.33333333333334%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666666666666%}.col-sm-offset-7{margin-left:58.333333333333336%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666666666667%}.col-sm-offset-4{margin-left:33.33333333333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.666666666666664%}.col-sm-offset-1{margin-left:8.333333333333332%}.col-sm-offset-0{margin-left:0}}@media(min-width:992px){.col-md-1,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-10,.col-md-11,.col-md-12{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666666666666%}.col-md-10{width:83.33333333333334%}.col-md-9{width:75%}.col-md-8{wid
th:66.66666666666666%}.col-md-7{width:58.333333333333336%}.col-md-6{width:50%}.col-md-5{width:41.66666666666667%}.col-md-4{width:33.33333333333333%}.col-md-3{width:25%}.col-md-2{width:16.666666666666664%}.col-md-1{width:8.333333333333332%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666666666666%}.col-md-pull-10{right:83.33333333333334%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666666666666%}.col-md-pull-7{right:58.333333333333336%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666666666667%}.col-md-pull-4{right:33.33333333333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.666666666666664%}.col-md-pull-1{right:8.333333333333332%}.col-md-pull-0{right:0}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666666666666%}.col-md-push-10{left:83.33333333333334%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666666666666%}.col-md-push-7{left:58.333333333333336%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666666666667%}.col-md-push-4{left:33.33333333333333
%}.col-md-push-3{left:25%}.col-md-push-2{left:16.666666666666664%}.col-md-push-1{left:8.333333333333332%}.col-md-push-0{left:0}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666666666666%}.col-md-offset-10{margin-left:83.33333333333334%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666666666666%}.col-md-offset-7{margin-left:58.333333333333336%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666666666667%}.col-md-offset-4{margin-left:33.33333333333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.666666666666664%}.col-md-offset-1{margin-left:8.333333333333332%}.col-md-offset-0{margin-left:0}}@media(min-width:1200px){.col-lg-1,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-10,.col-lg-11,.col-lg-12{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666666666666%}.col-lg-10{width:83.33333333333334%}.col-lg-9{width:75%}.col-lg-8{width:66.66666666666666%}.col-lg-
7{width:58.333333333333336%}.col-lg-6{width:50%}.col-lg-5{width:41.66666666666667%}.col-lg-4{width:33.33333333333333%}.col-lg-3{width:25%}.col-lg-2{width:16.666666666666664%}.col-lg-1{width:8.333333333333332%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666666666666%}.col-lg-pull-10{right:83.33333333333334%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666666666666%}.col-lg-pull-7{right:58.333333333333336%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666666666667%}.col-lg-pull-4{right:33.33333333333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.666666666666664%}.col-lg-pull-1{right:8.333333333333332%}.col-lg-pull-0{right:0}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666666666666%}.col-lg-push-10{left:83.33333333333334%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666666666666%}.col-lg-push-7{left:58.333333333333336%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666666666667%}.col-lg-push-4{left:33.33333333333333%}.col-lg-push-3{left:25%}.col
-lg-push-2{left:16.666666666666664%}.col-lg-push-1{left:8.333333333333332%}.col-lg-push-0{left:0}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666666666666%}.col-lg-offset-10{margin-left:83.33333333333334%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666666666666%}.col-lg-offset-7{margin-left:58.333333333333336%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666666666667%}.col-lg-offset-4{margin-left:33.33333333333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.666666666666664%}.col-lg-offset-1{margin-left:8.333333333333332%}.col-lg-offset-0{margin-left:0}}table{max-width:100%;background-color:transparent}th{text-align:left}.table{width:100%;margin-bottom:20px}.table>thead>tr>th,.table>tbody>tr>th,.table>tfoot>tr>th,.table>thead>tr>td,.table>tbody>tr>td,.table>tfoot>tr>td{padding:8px;line-height:1.428571429;vertical-align:top;border-top:1px solid #ddd}.table>thead>tr>th{vertical-align:bottom;bord
er-bottom:2px solid #ddd}.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>th,.table>caption+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>td,.table>thead:first-child>tr:first-child>td{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed>thead>tr>th,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>tbody>tr>td,.table-condensed>tfoot>tr>td{padding:5px}.table-bordered{border:1px solid #ddd}.table-bordered>thead>tr>th,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>tbody>tr>td,.table-bordered>tfoot>tr>td{border:1px solid #ddd}.table-bordered>thead>tr>th,.table-bordered>thead>tr>td{border-bottom-width:2px}.table-striped>tbody>tr:nth-child(odd)>td,.table-striped>tbody>tr:nth-child(odd)>th{background-color:#f9f9f9}.table-hover>tbody>tr:hover>td,
.table-hover>tbody>tr:hover>th{background-color:#f5f5f5}table col[class*="col-"]{position:static;display:table-column;float:none}table td[class*="col-"],table th[class*="col-"]{display:table-cell;float:none}.table>thead>tr>.active,.table>tbody>tr>.active,.table>tfoot>tr>.active,.table>thead>.active>td,.table>tbody>.active>td,.table>tfoot>.active>td,.table>thead>.active>th,.table>tbody>.active>th,.table>tfoot>.active>th{background-color:#f5f5f5}.table-hover>tbody>tr>.active:hover,.table-hover>tbody>.active:hover>td,.table-hover>tbody>.active:hover>th{background-color:#e8e8e8}.table>thead>tr>.success,.table>tbody>tr>.success,.table>tfoot>tr>.success,.table>thead>.success>td,.table>tbody>.success>td,.table>tfoot>.success>td,.table>thead>.success>th,.table>tbody>.success>th,.table>tfoot>.success>th{background-color:#dff0d8}.table-hover>tbody>tr>.success:hover,.table-hover>tbody>.success:hover>td,.table-hover>tbody>.success:hover>th{background-color:#d0e9c6}.table>thead>tr>.danger,.table
table>thead>tr>th,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tfoot>tr>td{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>thead>tr>th:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.table-responsive>.table-bordered>thead>tr>th:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.table-respon
sive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>th,.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>td{border-bottom:0}}fieldset{padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5}label{display:inline-block;margin-bottom:5px;font-weight:bold}input[type="search"]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type="radio"],input[type="checkbox"]{margin:4px 0 0;margin-top:1px \9;line-height:normal}input[type="file"]{display:block}select[multiple],select[size]{height:auto}select optgroup{font-family:inherit;font-size:inherit;font-style:inherit}input[type="file"]:focus,input[type="radio"]:focus,input[type="checkbox"]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}input[type="n
umber"]::-webkit-outer-spin-button,input[type="number"]::-webkit-inner-spin-button{height:auto}output{display:block;padding-top:7px;font-size:14px;line-height:1.428571429;color:#555;vertical-align:middle}.form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.428571429;color:#555;vertical-align:middle;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-webkit-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(102,175,233,0.6);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(102,175,233,0.6)}.form-control:-moz-placeholder{color:#999}.form-control::-moz-placeholder{color:#999;opacity:1}.form-control:-ms-inp
ut-placeholder{color:#999}.form-control::-webkit-input-placeholder{color:#999}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{cursor:not-allowed;background-color:#eee}textarea.form-control{height:auto}.form-group{margin-bottom:15px}.radio,.checkbox{display:block;min-height:20px;padding-left:20px;margin-top:10px;margin-bottom:10px;vertical-align:middle}.radio label,.checkbox label{display:inline;margin-bottom:0;font-weight:normal;cursor:pointer}.radio input[type="radio"],.radio-inline input[type="radio"],.checkbox input[type="checkbox"],.checkbox-inline input[type="checkbox"]{float:left;margin-left:-20px}.radio+.radio,.checkbox+.checkbox{margin-top:-5px}.radio-inline,.checkbox-inline{display:inline-block;padding-left:20px;margin-bottom:0;font-weight:normal;vertical-align:middle;cursor:pointer}.radio-inline+.radio-inline,.checkbox-inline+.checkbox-inline{margin-top:0;margin-left:10px}input[type="radio"][disabled],input[type="checkbox"][disabled],.radio
[disabled],.radio-inline[disabled],.checkbox[disabled],.checkbox-inline[disabled],fieldset[disabled] input[type="radio"],fieldset[disabled] input[type="checkbox"],fieldset[disabled] .radio,fieldset[disabled] .radio-inline,fieldset[disabled] .checkbox,fieldset[disabled] .checkbox-inline{cursor:not-allowed}.input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-sm{height:30px;line-height:30px}textarea.input-sm{height:auto}.input-lg{height:46px;padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}select.input-lg{height:46px;line-height:46px}textarea.input-lg{height:auto}.has-warning .help-block,.has-warning .control-label,.has-warning .radio,.has-warning .checkbox,.has-warning .radio-inline,.has-warning .checkbox-inline{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-warning .form-control:focus{border-color:#665
12c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #c0a16b}.has-warning .input-group-addon{color:#8a6d3b;background-color:#fcf8e3;border-color:#8a6d3b}.has-error .help-block,.has-error .control-label,.has-error .radio,.has-error .checkbox,.has-error .radio-inline,.has-error .checkbox-inline{color:#a94442}.has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #ce8483}.has-error .input-group-addon{color:#a94442;background-color:#f2dede;border-color:#a94442}.has-success .help-block,.has-success .control-label,.has-success .radio,.has-success .checkbox,.has-success .radio-inline,.has-success .checkbox-inline{color:#3c763d}.has-success .form-control{border
-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #67b168}.has-success .input-group-addon{color:#3c763d;background-color:#dff0d8;border-color:#3c763d}.form-control-static{margin-bottom:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@media(min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block}.form-inline select.form-control{width:auto}.form-inline .radio,.form-inline .checkbox{display:inline-block;padding-left:0;margin-top:0;margin-bottom:0}.form-inline .radio input[type="radio"],.form-inline .checkbox input[type="checkbox"]{float:none;margin-left:0}}.form-horizontal .control-label,.form-horizontal .radio,.form-horizontal .che
ckbox,.form-horizontal .radio-inline,.form-horizontal .checkbox-inline{padding-top:7px;margin-top:0;margin-bottom:0}.form-horizontal .radio,.form-horizontal .checkbox{min-height:27px}.form-horizontal .form-group{margin-right:-15px;margin-left:-15px}.form-horizontal .form-group:before,.form-horizontal .form-group:after{display:table;content:" "}.form-horizontal .form-group:after{clear:both}.form-horizontal .form-group:before,.form-horizontal .form-group:after{display:table;content:" "}.form-horizontal .form-group:after{clear:both}.form-horizontal .form-control-static{padding-top:7px}@media(min-width:768px){.form-horizontal .control-label{text-align:right}}.btn{display:inline-block;padding:6px 12px;margin-bottom:0;font-size:14px;font-weight:normal;line-height:1.428571429;text-align:center;white-space:nowrap;vertical-align:middle;cursor:pointer;background-image:none;border:1px solid transparent;border-radius:4px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-use
r-select:none;user-select:none}.btn:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn:hover,.btn:focus{color:#333;text-decoration:none}.btn:active,.btn.active{background-image:none;outline:0;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{pointer-events:none;cursor:not-allowed;opacity:.65;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default:hover,.btn-default:focus,.btn-default:active,.btn-default.active,.open .dropdown-toggle.btn-default{color:#333;background-color:#ebebeb;border-color:#adadad}.btn-default:active,.btn-default.active,.open .dropdown-toggle.btn-default{background-image:none}.btn-default.disabled,.btn-default[disabled],fieldset[disabled] .btn-default,.btn-default.disabled:hover,.btn-default[disabled]:hover,fieldset[disabled] .btn-default
:hover,.btn-default.disabled:focus,.btn-default[disabled]:focus,fieldset[disabled] .btn-default:focus,.btn-default.disabled:active,.btn-default[disabled]:active,fieldset[disabled] .btn-default:active,.btn-default.disabled.active,.btn-default[disabled].active,fieldset[disabled] .btn-default.active{background-color:#fff;border-color:#ccc}.btn-default .badge{color:#fff;background-color:#fff}.btn-primary{color:#fff;background-color:#428bca;border-color:#357ebd}.btn-primary:hover,.btn-primary:focus,.btn-primary:active,.btn-primary.active,.open .dropdown-toggle.btn-primary{color:#fff;background-color:#3276b1;border-color:#285e8e}.btn-primary:active,.btn-primary.active,.open .dropdown-toggle.btn-primary{background-image:none}.btn-primary.disabled,.btn-primary[disabled],fieldset[disabled] .btn-primary,.btn-primary.disabled:hover,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary:hover,.btn-primary.disabled:focus,.btn-primary[disabled]:focus,fieldset[disabled] .btn-primary:focus,.b
tn-primary.disabled:active,.btn-primary[disabled]:active,fieldset[disabled] .btn-primary:active,.btn-primary.disabled.active,.btn-primary[disabled].active,fieldset[disabled] .btn-primary.active{background-color:#428bca;border-color:#357ebd}.btn-primary .badge{color:#428bca;background-color:#fff}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.btn-warning:hover,.btn-warning:focus,.btn-warning:active,.btn-warning.active,.open .dropdown-toggle.btn-warning{color:#fff;background-color:#ed9c28;border-color:#d58512}.btn-warning:active,.btn-warning.active,.open .dropdown-toggle.btn-warning{background-image:none}.btn-warning.disabled,.btn-warning[disabled],fieldset[disabled] .btn-warning,.btn-warning.disabled:hover,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning:hover,.btn-warning.disabled:focus,.btn-warning[disabled]:focus,fieldset[disabled] .btn-warning:focus,.btn-warning.disabled:active,.btn-warning[disabled]:active,fieldset[disabled] .btn-warning:active
,.btn-warning.disabled.active,.btn-warning[disabled].active,fieldset[disabled] .btn-warning.active{background-color:#f0ad4e;border-color:#eea236}.btn-warning .badge{color:#f0ad4e;background-color:#fff}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.btn-danger:hover,.btn-danger:focus,.btn-danger:active,.btn-danger.active,.open .dropdown-toggle.btn-danger{color:#fff;background-color:#d2322d;border-color:#ac2925}.btn-danger:active,.btn-danger.active,.open .dropdown-toggle.btn-danger{background-image:none}.btn-danger.disabled,.btn-danger[disabled],fieldset[disabled] .btn-danger,.btn-danger.disabled:hover,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger:hover,.btn-danger.disabled:focus,.btn-danger[disabled]:focus,fieldset[disabled] .btn-danger:focus,.btn-danger.disabled:active,.btn-danger[disabled]:active,fieldset[disabled] .btn-danger:active,.btn-danger.disabled.active,.btn-danger[disabled].active,fieldset[disabled] .btn-danger.active{background-color:#d9
534f;border-color:#d43f3a}.btn-danger .badge{color:#d9534f;background-color:#fff}.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.btn-success:hover,.btn-success:focus,.btn-success:active,.btn-success.active,.open .dropdown-toggle.btn-success{color:#fff;background-color:#47a447;border-color:#398439}.btn-success:active,.btn-success.active,.open .dropdown-toggle.btn-success{background-image:none}.btn-success.disabled,.btn-success[disabled],fieldset[disabled] .btn-success,.btn-success.disabled:hover,.btn-success[disabled]:hover,fieldset[disabled] .btn-success:hover,.btn-success.disabled:focus,.btn-success[disabled]:focus,fieldset[disabled] .btn-success:focus,.btn-success.disabled:active,.btn-success[disabled]:active,fieldset[disabled] .btn-success:active,.btn-success.disabled.active,.btn-success[disabled].active,fieldset[disabled] .btn-success.active{background-color:#5cb85c;border-color:#4cae4c}.btn-success .badge{color:#5cb85c;background-color:#fff}.btn-info{colo
r:#fff;background-color:#5bc0de;border-color:#46b8da}.btn-info:hover,.btn-info:focus,.btn-info:active,.btn-info.active,.open .dropdown-toggle.btn-info{color:#fff;background-color:#39b3d7;border-color:#269abc}.btn-info:active,.btn-info.active,.open .dropdown-toggle.btn-info{background-image:none}.btn-info.disabled,.btn-info[disabled],fieldset[disabled] .btn-info,.btn-info.disabled:hover,.btn-info[disabled]:hover,fieldset[disabled] .btn-info:hover,.btn-info.disabled:focus,.btn-info[disabled]:focus,fieldset[disabled] .btn-info:focus,.btn-info.disabled:active,.btn-info[disabled]:active,fieldset[disabled] .btn-info:active,.btn-info.disabled.active,.btn-info[disabled].active,fieldset[disabled] .btn-info.active{background-color:#5bc0de;border-color:#46b8da}.btn-info .badge{color:#5bc0de;background-color:#fff}.btn-link{font-weight:normal;color:#428bca;cursor:pointer;border-radius:0}.btn-link,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webk
it-box-shadow:none;box-shadow:none}.btn-link,.btn-link:hover,.btn-link:focus,.btn-link:active{border-color:transparent}.btn-link:hover,.btn-link:focus{color:#2a6496;text-decoration:underline;background-color:transparent}.btn-link[disabled]:hover,fieldset[disabled] .btn-link:hover,.btn-link[disabled]:focus,fieldset[disabled] .btn-link:focus{color:#999;text-decoration:none}.btn-lg{padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}.btn-sm{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-xs{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%;padding-right:0;padding-left:0}.btn-block+.btn-block{margin-top:5px}input[type="submit"].btn-block,input[type="reset"].btn-block,input[type="button"].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}.collapsing{position:relative;height:0
;overflow:hidden;-webkit-transition:height .35s ease;transition:height .35s ease}@font-face{font-family:'Glyphicons Halflings';src:url('../fonts/glyphicons-halflings-regular.eot');src:url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'),url('../fonts/glyphicons-halflings-regular.woff') format('woff'),url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'),url('../fonts/glyphicons-halflings-regular.svg#glyphicons-halflingsregular') format('svg')}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';-webkit-font-smoothing:antialiased;font-style:normal;font-weight:normal;line-height:1;-moz-osx-font-smoothing:grayscale}.glyphicon:empty{width:1em}.glyphicon-asterisk:before{content:"\2a"}.glyphicon-plus:before{content:"\2b"}.glyphicon-euro:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{
content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-do
wnload:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-tex
t-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon
-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:
before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.gl
yphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link
:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\
e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{conten
t:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px solid;border-right:4px solid transparent;border-left:4px solid transparent}.dropdown{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;font-size:14px;list-style:none;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,0.175);box-shadow:0 6px 12px
rgba(0,0,0,0.175);background-clip:padding-box}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:normal;line-height:1.428571429;color:#333;white-space:nowrap}.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus{color:#262626;text-decoration:none;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus{color:#fff;text-decoration:none;background-color:#428bca;outline:0}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{color:#999}.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-header{display:block;padding
:3px 20px;font-size:12px;line-height:1.428571429;color:#999}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{border-top:0;border-bottom:4px solid;content:""}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:1px}@media(min-width:768px){.navbar-right .dropdown-menu{right:0;left:auto}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;float:left}.btn-group>.btn:hover,.btn-group-vertical>.btn:hover,.btn-group>.btn:focus,.btn-group-vertical>.btn:focus,.btn-group>.btn:active,.btn-group-vertical>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn.active{z-index:2}.btn-group>.btn:focus,.btn-group-vertical>.btn:focus{outline:0}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-grou
p .btn-group+.btn-group{margin-left:-1px}.btn-toolbar:before,.btn-toolbar:after{display:table;content:" "}.btn-toolbar:after{clear:both}.btn-toolbar:before,.btn-toolbar:after{display:table;content:" "}.btn-toolbar:after{clear:both}.btn-toolbar .btn-group{float:left}.btn-toolbar>.btn+.btn,.btn-toolbar>.btn-group+.btn,.btn-toolbar>.btn+.btn-group,.btn-toolbar>.btn-group+.btn-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child>.btn:last-child,.btn-group>.btn-group:first-child>.dropdo
wn-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:last-child>.btn:first-child{border-bottom-left-radius:0;border-top-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group-xs>.btn{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-group-sm>.btn{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-group-lg>.btn{padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}.btn-group>.btn+.dropdown-toggle{padding-right:8px;padding-left:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-right:12px;padding-left:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-grou
p-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group:before,.btn-group-vertical>.btn-group:after{display:table;content:" "}.btn-group-vertical>.btn-group:after{clear:both}.btn-group-vertical>.btn-group:before,.btn-group-vertical>.btn-group:after{display:table;content:" "}.btn-group-vertical>.btn-group:after{clear:both}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-right-radius:0;border-bottom-left-radius:4px;border-top-left-rad
ius:0}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child>.btn:last-child,.btn-group-vertical>.btn-group:first-child>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child>.btn:first-child{border-top-right-radius:0;border-top-left-radius:0}.btn-group-justified{display:table;width:100%;border-collapse:separate;table-layout:fixed}.btn-group-justified>.btn,.btn-group-justified>.btn-group{display:table-cell;float:none;width:1%}.btn-group-justified>.btn-group .btn{width:100%}[data-toggle="buttons"]>.btn>input[type="radio"],[data-toggle="buttons"]>.btn>input[type="checkbox"]{display:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*="col-"]{float:none;padding-right:0;padding-left:0}.input-group .form-control{width:100%;margin-bottom:0}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-gro
up-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn{height:auto}.input-group-addon,.input-group-btn,.input-group .form-control{display:table-cell}.input-group-addon:not(:first-child):not(:last-c
hild),.input-group-btn:not(:first-child):not(:last-child),.input-group .form-control:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:6px 12px;font-size:14px;font-weight:normal;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}.input-group-addon input[type="radio"],.input-group-addon input[type="checkbox"]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control
:last-child,.input-group-addon:last-child,.input-group-btn:last-child>.btn,.input-group-btn:last-child>.dropdown-toggle,.input-group-btn:first-child>.btn:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;white-space:nowrap}.input-group-btn:first-child>.btn{margin-right:-1px}.input-group-btn:last-child>.btn{margin-left:-1px}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-4px}.input-group-btn>.btn:hover,.input-group-btn>.btn:active{z-index:2}.nav{padding-left:0;margin-bottom:0;list-style:none}.nav:before,.nav:after{display:table;content:" "}.nav:after{clear:both}.nav:before,.nav:after{display:table;content:" "}.nav:after{clear:both}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:hover,.nav>li>a:focus{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#999}.nav>li.disabled>a:hov
er,.nav>li.disabled>a:focus{color:#999;text-decoration:none;cursor:not-allowed;background-color:transparent}.nav .open>a,.nav .open>a:hover,.nav .open>a:focus{background-color:#eee;border-color:#428bca}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.428571429;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:hover,.nav-tabs>li.active>a:focus{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media(min-width:768px){.nav-tabs.nav-j
ustified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border:1px solid #ddd}@media(min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border-bottom-color:#fff}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:hover,.nav-pills>li.active>a:focus{color:#fff;background-color:#428bca}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media(min-
width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border:1px solid #ddd}@media(min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-right-radius:0;border-top-left-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}.navbar:before,.navbar:after{display:table;content:" "}.navbar:after{clear:both}.navbar:before,.navbar:after{display:table;content:" "}.navbar:after{clear:both}@media(min-width:768px){.navbar{border
-radius:4px}}.navbar-header:before,.navbar-header:after{display:table;content:" "}.navbar-header:after{clear:both}.navbar-header:before,.navbar-header:after{display:table;content:" "}.navbar-header:after{clear:both}@media(min-width:768px){.navbar-header{float:left}}.navbar-collapse{max-height:340px;padding-right:15px;padding-left:15px;overflow-x:visible;border-top:1px solid transparent;box-shadow:inset 0 1px 0 rgba(255,255,255,0.1);-webkit-overflow-scrolling:touch}.navbar-collapse:before,.navbar-collapse:after{display:table;content:" "}.navbar-collapse:after{clear:both}.navbar-collapse:before,.navbar-collapse:after{display:table;content:" "}.navbar-collapse:after{clear:both}.navbar-collapse.in{overflow-y:auto}@media(min-width:768px){.navbar-collapse{width:auto;border-top:0;box-shadow:none}.navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-top .navbar-collapse,.navbar
-static-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{padding-right:0;padding-left:0}}.container>.navbar-header,.container>.navbar-collapse{margin-right:-15px;margin-left:-15px}@media(min-width:768px){.container>.navbar-header,.container>.navbar-collapse{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media(min-width:768px){.navbar-static-top{border-radius:0}}.navbar-fixed-top,.navbar-fixed-bottom{position:fixed;right:0;left:0;z-index:1030}@media(min-width:768px){.navbar-fixed-top,.navbar-fixed-bottom{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.navbar-brand{float:left;padding:15px 15px;font-size:18px;line-height:20px}.navbar-brand:hover,.navbar-brand:focus{text-decoration:none}@media(min-width:768px){.navbar>.container .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;padding:9px 10px;margin-top:8px;margin-right:15px;margi
n-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media(min-width:768px){.navbar-toggle{display:none}}.navbar-nav{margin:7.5px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media(max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;box-shadow:none}.navbar-nav .open .dropdown-menu>li>a,.navbar-nav .open .dropdown-menu .dropdown-header{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:hover,.navbar-nav .open .dropdown-menu>li>a:focus{background-image:none}}@media(min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}.navbar-nav.navbar-right
:last-child{margin-right:-15px}}@media(min-width:768px){.navbar-left{float:left!important}.navbar-right{float:right!important}}.navbar-form{padding:10px 15px;margin-top:8px;margin-right:-15px;margin-bottom:8px;margin-left:-15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1)}@media(min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block}.navbar-form select.form-control{width:auto}.navbar-form .radio,.navbar-form .checkbox{display:inline-block;padding-left:0;margin-top:0;margin-bottom:0}.navbar-form .radio input[type="radio"],.navbar-form .checkbox input[type="checkbox"]{float:none;margin-left:0}}@media(max-width:767px){.navbar-form .form-group{margin-bottom:5px}}@media(min-width:768px){.navbar-form{width:auto;pa
dding-top:0;padding-bottom:0;margin-right:0;margin-left:0;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-form.navbar-right:last-child{margin-right:-15px}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-right-radius:0;border-top-left-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-nav.pull-right>li>.dropdown-menu,.navbar-nav>li>.dropdown-menu.pull-right{right:0;left:auto}.navbar-btn{margin-top:8px;margin-bottom:8px}.navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.navbar-text{margin-top:15px;margin-bottom:15px}@media(min-width:768px){.navbar-text{float:left;margin-right:15px;margin-left:15px}.navbar-text.navbar-right:last-child{margin-right:0}}.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:hover,.navbar-default .navbar-brand:focus{color:#5e5e5e;backg
round-color:transparent}.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a{color:#777}.navbar-default .navbar-nav>li>a:hover,.navbar-default .navbar-nav>li>a:focus{color:#333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:hover,.navbar-default .navbar-nav>.active>a:focus{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:hover,.navbar-default .navbar-nav>.disabled>a:focus{color:#ccc;background-color:transparent}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:hover,.navbar-default .navbar-toggle:focus{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#ccc}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e7e7e7}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:hover,.navbar-default .navbar-nav>.open>a:focus{color:#555;background-colo
r:#e7e7e7}@media(max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#ccc;background-color:transparent}}.navbar-default .navbar-link{color:#777}.navbar-default .navbar-link:hover{color:#333}.navbar-inverse{background-color:#222;border-color:#080808}.navbar-inverse .navbar-brand{color:#999}.navbar-inverse .navbar-brand:hover,.navbar-inverse .navbar-brand:focus{color:#fff;backgrou
nd-color:transparent}.navbar-inverse .navbar-text{color:#999}.navbar-inverse .navbar-nav>li>a{color:#999}.navbar-inverse .navbar-nav>li>a:hover,.navbar-inverse .navbar-nav>li>a:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:hover,.navbar-inverse .navbar-nav>.active>a:focus{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:hover,.navbar-inverse .navbar-nav>.disabled>a:focus{color:#444;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:hover,.navbar-inverse .navbar-toggle:focus{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:hover,.navbar-inverse .navbar-nav>.open>a:focus{color:#fff;background-color:#
080808}@media(max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#999}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#444;background-color:transparent}}.navbar-inverse .navbar-link{color:#999}.navbar-inverse .navbar-link:hover{color:#fff}.breadcrumb{padding:8px
15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{padding:0 5px;color:#ccc;content:"/\00a0"}.breadcrumb>.active{color:#999}.pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;margin-left:-1px;line-height:1.428571429;text-decoration:none;background-color:#fff;border:1px solid #ddd}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-bottom-left-radius:4px;border-top-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.pagination>li>a:hover,.pagination>li>span:hover,.pagination>li>a:focus,.pagination>li>span:focus{background-color:#eee}.pagination>.active>a,.pagination>.active>span,.pagination>.active>a:hover,.pagination>.active>span:hover,.pagi
nation>.active>a:focus,.pagination>.active>span:focus{z-index:2;color:#fff;cursor:default;background-color:#428bca;border-color:#428bca}.pagination>.disabled>span,.pagination>.disabled>span:hover,.pagination>.disabled>span:focus,.pagination>.disabled>a,.pagination>.disabled>a:hover,.pagination>.disabled>a:focus{color:#999;cursor:not-allowed;background-color:#fff;border-color:#ddd}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-bottom-left-radius:6px;border-top-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-bottom-left-radius:3px;border-top-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-top-right-radius:3p
x;border-bottom-right-radius:3px}.pager{padding-left:0;margin:20px 0;text-align:center;list-style:none}.pager:before,.pager:after{display:table;content:" "}.pager:after{clear:both}.pager:before,.pager:after{display:table;content:" "}.pager:after{clear:both}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:hover,.pager li>a:focus{text-decoration:none;background-color:#eee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:hover,.pager .disabled>a:focus,.pager .disabled>span{color:#999;cursor:not-allowed;background-color:#fff}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:bold;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}.label[href]:hover,.label[href]:focus{color:#fff;text-decoration:none;cursor:pointer}.
label:empty{display:none}.btn .label{position:relative;top:-1px}.label-default{background-color:#999}.label-default[href]:hover,.label-default[href]:focus{background-color:#808080}.label-primary{background-color:#428bca}.label-primary[href]:hover,.label-primary[href]:focus{background-color:#3071a9}.label-success{background-color:#5cb85c}.label-success[href]:hover,.label-success[href]:focus{background-color:#449d44}.label-info{background-color:#5bc0de}.label-info[href]:hover,.label-info[href]:focus{background-color:#31b0d5}.label-warning{background-color:#f0ad4e}.label-warning[href]:hover,.label-warning[href]:focus{background-color:#ec971f}.label-danger{background-color:#d9534f}.label-danger[href]:hover,.label-danger[href]:focus{background-color:#c9302c}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:bold;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;background-color:#999;border-radius:10px}.badge:empty{dis
play:none}.btn .badge{position:relative;top:-1px}a.badge:hover,a.badge:focus{color:#fff;text-decoration:none;cursor:pointer}a.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#428bca;background-color:#fff}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding:30px;margin-bottom:30px;font-size:21px;font-weight:200;line-height:2.1428571435;color:inherit;background-color:#eee}.jumbotron h1,.jumbotron .h1{line-height:1;color:inherit}.jumbotron p{line-height:1.4}.container .jumbotron{border-radius:6px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron{padding-right:60px;padding-left:60px}.jumbotron h1,.jumbotron .h1{font-size:63px}}.thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.428571429;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.thumbnail>img,.thumbnail a>img{display:
block;height:auto;max-width:100%;margin-right:auto;margin-left:auto}a.thumbnail:hover,a.thumbnail:focus,a.thumbnail.active{border-color:#428bca}.thumbnail .caption{padding:9px;color:#333}.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:bold}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable{padding-right:35px}.alert-dismissable .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.aler
t-danger{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.alert-danger hr{border-top-color:#e4b9c0}.alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{height:20px;margin-bottom:20px;overflow:hidden;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);box-shadow:inset 0 1px 2px rgba(0,0,0,0.1)}.progress-bar{float:left;width:0;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#428bca;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);-webkit-transition:width .6s ease;transition:width .6s ease}.progress-striped .progress-bar{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,2
55,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-size:40px 40px}.progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.1
5) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.
15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.media,.media-body{overflow:hidden;zoom:1}.media,.media .media{margin-top:15px}.media:first-child{margin-top:0}.media-object{display:block}.media-heading{margin:0 0 5px}.media>.pull-left{margin-right:10px}.media>.pull-right{margin-left:10px}.media-list{padding-left:0;list-style:none}.list-group{padding-left:0;margin-bottom:20px}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-right-radius:4px;border-top-left-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}a.list-group-item{color:#555}a.list-group-item
.list-group-item-heading{color:#333}a.list-group-item:hover,a.list-group-item:focus{text-decoration:none;background-color:#f5f5f5}a.list-group-item.active,a.list-group-item.active:hover,a.list-group-item.active:focus{z-index:2;color:#fff;background-color:#428bca;border-color:#428bca}a.list-group-item.active .list-group-item-heading,a.list-group-item.active:hover .list-group-item-heading,a.list-group-item.active:focus .list-group-item-heading{color:inherit}a.list-group-item.active .list-group-item-text,a.list-group-item.active:hover .list-group-item-text,a.list-group-item.active:focus .list-group-item-text{color:#e1edf7}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,0.05);box-shadow:0 1px 1px rgba(0,0,0,0.05)}.panel-body{padding:15px}.panel-body:before,.panel-body:after{display:table;cont
ent:" "}.panel-body:after{clear:both}.panel-body:before,.panel-body:after{display:table;content:" "}.panel-body:after{clear:both}.panel>.list-group{margin-bottom:0}.panel>.list-group .list-group-item{border-width:1px 0}.panel>.list-group .list-group-item:first-child{border-top-right-radius:0;border-top-left-radius:0}.panel>.list-group .list-group-item:last-child{border-bottom:0}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.panel>.table,.panel>.table-responsive>.table{margin-bottom:0}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive{border-top:1px solid #ddd}.panel>.table>tbody:first-child th,.panel>.table>tbody:first-child td{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.ta
ble-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-c
hild,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.panel>.table-bordered>thead>tr:last-child>th,.panel>.table-responsive>.table-bordered>thead>tr:last-child>th,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th,.panel>.table-bordered>thead>tr:last-child>td,.panel>.table-responsive>.table-bordered>thead>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td{border-bottom:0}.panel>.table-responsive{margin-bottom:0;border:0}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-right-radius:3px;border-top-left-radius:3px}.panel-heading>.d
ropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.panel-title>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel-group .panel{margin-bottom:0;overflow:hidden;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse .panel-body{border-top:1px solid #ddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse .panel-body{border-top-color:#ddd}.panel-default>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#428bca}.panel-primary>.panel-heading{color:#
fff;background-color:#428bca;border-color:#428bca}.panel-primary>.panel-heading+.panel-collapse .panel-body{border-top-color:#428bca}.panel-primary>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#428bca}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse .panel-body{border-top-color:#d6e9c6}.panel-success>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#d6e9c6}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.panel-warning>.panel-heading+.panel-collapse .panel-body{border-top-color:#faebcc}.panel-warning>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.panel-danger>.panel-heading+.panel-collapse .panel-body{border-top
-color:#ebccd1}.panel-danger>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#ebccd1}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse .panel-body{border-top-color:#bce8f1}.panel-info>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#bce8f1}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.05);box-shadow:inset 0 1px 1px rgba(0,0,0,0.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,0.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:21px;font-weight:bold;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.2;filter:alpha(opacity=20)}.close:hover,.close:focus{color:#000;text-decoration:none;cursor:pointer;opacity:.5;filter:alpha(opacity=50)}button.c
lose{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none}.modal-open{overflow:hidden}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;display:none;overflow:auto;overflow-y:scroll}.modal.fade .modal-dialog{-webkit-transform:translate(0,-25%);-ms-transform:translate(0,-25%);transform:translate(0,-25%);-webkit-transition:-webkit-transform .3s ease-out;-moz-transition:-moz-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out}.modal.in .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);transform:translate(0,0)}.modal-dialog{position:relative;z-index:1050;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;border:1px solid #999;border:1px solid rgba(0,0,0,0.2);border-radius:6px;outline:0;-webkit-box-shadow:0 3px 9px rgba(0,0,0,0.5);box-shadow:0 3px 9px rgba(0,0,0,0.5);background-clip:padding-box}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;le
ft:0;z-index:1030;background-color:#000}.modal-backdrop.fade{opacity:0;filter:alpha(opacity=0)}.modal-backdrop.in{opacity:.5;filter:alpha(opacity=50)}.modal-header{min-height:16.428571429px;padding:15px;border-bottom:1px solid #e5e5e5}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.428571429}.modal-body{position:relative;padding:20px}.modal-footer{padding:19px 20px 20px;margin-top:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer:before,.modal-footer:after{display:table;content:" "}.modal-footer:after{clear:both}.modal-footer:before,.modal-footer:after{display:table;content:" "}.modal-footer:after{clear:both}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}@media screen and (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,0.5);box-shadow:0 5px 15px rgba(0,0,0,0.5)}}.too
ltip{position:absolute;z-index:1030;display:block;font-size:12px;line-height:1.4;opacity:0;filter:alpha(opacity=0);visibility:visible}.tooltip.in{opacity:.9;filter:alpha(opacity=90)}.tooltip.top{padding:5px 0;margin-top:-3px}.tooltip.right{padding:0 5px;margin-left:3px}.tooltip.bottom{padding:5px 0;margin-top:3px}.tooltip.left{padding:0 5px;margin-left:-3px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;text-decoration:none;background-color:#000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-top-color:#000;border-width:5px 5px 0}.tooltip.top-left .tooltip-arrow{bottom:0;left:5px;border-top-color:#000;border-width:5px 5px 0}.tooltip.top-right .tooltip-arrow{right:5px;bottom:0;border-top-color:#000;border-width:5px 5px 0}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-right-color:#000;border-width:5px 5p
x 5px 0}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-left-color:#000;border-width:5px 0 5px 5px}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-bottom-color:#000;border-width:0 5px 5px}.tooltip.bottom-left .tooltip-arrow{top:0;left:5px;border-bottom-color:#000;border-width:0 5px 5px}.tooltip.bottom-right .tooltip-arrow{top:0;right:5px;border-bottom-color:#000;border-width:0 5px 5px}.popover{position:absolute;top:0;left:0;z-index:1010;display:none;max-width:276px;padding:1px;text-align:left;white-space:normal;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,0.2);box-shadow:0 5px 10px rgba(0,0,0,0.2);background-clip:padding-box}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{padding:8px 14px;margin:0;font-size:14px;font-weight:normal;line-height:18px;background-co
lor:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover .arrow,.popover .arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover .arrow{border-width:11px}.popover .arrow:after{border-width:10px;content:""}.popover.top .arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,0.25);border-bottom-width:0}.popover.top .arrow:after{bottom:1px;margin-left:-10px;border-top-color:#fff;border-bottom-width:0;content:" "}.popover.right .arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,0.25);border-left-width:0}.popover.right .arrow:after{bottom:-10px;left:1px;border-right-color:#fff;border-left-width:0;content:" "}.popover.bottom .arrow{top:-11px;left:50%;margin-left:-11px;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,0.25);border-top-width:0}.popover.bottom .arrow:after{top:1px;margin
-left:-10px;border-bottom-color:#fff;border-top-width:0;content:" "}.popover.left .arrow{top:50%;right:-11px;margin-top:-11px;border-left-color:#999;border-left-color:rgba(0,0,0,0.25);border-right-width:0}.popover.left .arrow:after{right:1px;bottom:-10px;border-left-color:#fff;border-right-width:0;content:" "}.carousel{position:relative}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>img,.carousel-inner>.item>a>img{display:block;height:auto;max-width:100%;line-height:1}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.car
ousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;bottom:0;left:0;width:15%;font-size:20px;color:#fff;text-align:cente

<TRUNCATED>
a***@apache.org
2017-12-21 04:53:04 UTC
Permalink
http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/assets/themes/mahout/js/anchor.min.js
----------------------------------------------------------------------
diff --git a/website-old/assets/themes/mahout/js/anchor.min.js b/website-old/assets/themes/mahout/js/anchor.min.js
deleted file mode 100644
index e31ae5c..0000000
--- a/website-old/assets/themes/mahout/js/anchor.min.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*!
- * AnchorJS - v1.1.1 - 2015-05-23
- * https://github.com/bryanbraun/anchorjs
- * Copyright (c) 2015 Bryan Braun; Licensed MIT
- */
-function AnchorJS(A){"use strict";this.options=A||{},this._applyRemainingDefaultOptions=function(A){this.options.icon=this.options.hasOwnProperty("icon")?A.icon:"&#xe9cb",this.options.visible=this.options.hasOwnProperty("visible")?A.visible:"hover",this.options.placement=this.options.hasOwnProperty("placement")?A.placement:"right",this.options.class=this.options.hasOwnProperty("class")?A.class:""},this._applyRemainingDefaultOptions(A),this.add=function(A){var e,t,o,n,i,s,a,l,c,r,h,g,B,Q;if(this._applyRemainingDefaultOptions(this.options),A){if("string"!=typeof A)throw new Error("The selector provided to AnchorJS was invalid.")}else A="h1, h2, h3, h4, h5, h6";if(e=document.querySelectorAll(A),0===e.length)return!1;for(this._addBaselineStyles(),t=document.querySelectorAll("[id]"),o=[].map.call(t,function(A){return A.id}),i=0;i<e.length;i++){if(e[i].hasAttribute("id"))n=e[i].getAttribute("id");else{s=e[i].textContent,a=s.replace(/[^\w\s-]/gi,"").replace(/\s+/g,"-").replace(/-{2,}/g,"-"
).substring(0,64).replace(/^-+|-+$/gm,"").toLowerCase(),r=a,c=0;do void 0!==l&&(r=a+"-"+c),l=o.indexOf(r),c+=1;while(-1!==l);l=void 0,o.push(r),e[i].setAttribute("id",r),n=r}h=n.replace(/-/g," "),g='<a class="anchorjs-link '+this.options.class+'" href="#'+n+'" aria-label="Anchor link for: '+h+'" data-anchorjs-icon="'+this.options.icon+'"></a>',B=document.createElement("div"),B.innerHTML=g,Q=B.childNodes,"always"===this.options.visible&&(Q[0].style.opacity="1"),"&#xe9cb"===this.options.icon&&(Q[0].style.fontFamily="anchorjs-icons",Q[0].style.fontStyle="normal",Q[0].style.fontVariant="normal",Q[0].style.fontWeight="normal"),"left"===this.options.placement?(Q[0].style.position="absolute",Q[0].style.marginLeft="-1em",Q[0].style.paddingRight="0.5em",e[i].insertBefore(Q[0],e[i].firstChild)):(Q[0].style.paddingLeft="0.375em",e[i].appendChild(Q[0]))}return this},this.remove=function(A){for(var e,t=document.querySelectorAll(A),o=0;o<t.length;o++)e=t[o].querySelector(".anchorjs-link"),e&&t[o]
.removeChild(e);return this},this._addBaselineStyles=function(){if(null===document.head.querySelector("style.anchorjs")){var A,e=document.createElement("style"),t=" .anchorjs-link { opacity: 0; text-decoration: none; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }",o=" *:hover > .anchorjs-link, .anchorjs-link:focus { opacity: 1; }",n=' @font-face { font-family: "anchorjs-icons"; font-style: normal; font-weight: normal; src: url(data:application/x-font-ttf;charset=utf-8;base64,AAEAAAALAIAAAwAwT1MvMg8SBTUAAAC8AAAAYGNtYXAWi9QdAAABHAAAAFRnYXNwAAAAEAAAAXAAAAAIZ2x5Zgq29TcAAAF4AAABNGhlYWQEZM3pAAACrAAAADZoaGVhBhUDxgAAAuQAAAAkaG10eASAADEAAAMIAAAAFGxvY2EAKACuAAADHAAAAAxtYXhwAAgAVwAAAygAAAAgbmFtZQ5yJ3cAAANIAAAB2nBvc3QAAwAAAAAFJAAAACAAAwJAAZAABQAAApkCzAAAAI8CmQLMAAAB6wAzAQkAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAABAAADpywPA/8AAQAPAAEAAAAABAAAAAAAAAAAAAAAgAAAAAAADAAAAAwAAABwAAQADAAAAHAADAAEAAAAcAAQAOAAAAAoACAACAAIAAQAg6cv//f//AAAAAAAg6cv//f//AAH/4x
Y5AAMAAQAAAAAAAAAAAAAAAQAB//8ADwABAAAAAAAAAAAAAgAANzkBAAAAAAEAAAAAAAAAAAACAAA3OQEAAAAAAQAAAAAAAAAAAAIAADc5AQAAAAACADEARAJTAsAAKwBUAAABIiYnJjQ/AT4BMzIWFxYUDwEGIicmND8BNjQnLgEjIgYPAQYUFxYUBw4BIwciJicmND8BNjIXFhQPAQYUFx4BMzI2PwE2NCcmNDc2MhcWFA8BDgEjARQGDAUtLXoWOR8fORYtLTgKGwoKCjgaGg0gEhIgDXoaGgkJBQwHdR85Fi0tOAobCgoKOBoaDSASEiANehoaCQkKGwotLXoWOR8BMwUFLYEuehYXFxYugC44CQkKGwo4GkoaDQ0NDXoaShoKGwoFBe8XFi6ALjgJCQobCjgaShoNDQ0NehpKGgobCgoKLYEuehYXAAEAAAABAACiToc1Xw889QALBAAAAAAA0XnFFgAAAADRecUWAAAAAAJTAsAAAAAIAAIAAAAAAAAAAQAAA8D/wAAABAAAAAAAAlMAAQAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAACAAAAAoAAMQAAAAAACgAUAB4AmgABAAAABQBVAAIAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAADgCuAAEAAAAAAAEADgAAAAEAAAAAAAIABwCfAAEAAAAAAAMADgBLAAEAAAAAAAQADgC0AAEAAAAAAAUACwAqAAEAAAAAAAYADgB1AAEAAAAAAAoAGgDeAAMAAQQJAAEAHAAOAAMAAQQJAAIADgCmAAMAAQQJAAMAHABZAAMAAQQJAAQAHADCAAMAAQQJAAUAFgA1AAMAAQQJAAYAHACDAAMAAQQJAAoANAD4YW5jaG9yanMtaWNvbnMAYQBuAGMAaABvAHIAagBzAC0AaQBjAG8AbgBzVmVyc2lvbiAxLjAAVgBlAHIAcwBpAG8AbgAgADEALgAwYW5jaG9yanMtaWN
vbnMAYQBuAGMAaABvAHIAagBzAC0AaQBjAG8AbgBzYW5jaG9yanMtaWNvbnMAYQBuAGMAaABvAHIAagBzAC0AaQBjAG8AbgBzUmVndWxhcgBSAGUAZwB1AGwAYQByYW5jaG9yanMtaWNvbnMAYQBuAGMAaABvAHIAagBzAC0AaQBjAG8AbgBzRm9udCBnZW5lcmF0ZWQgYnkgSWNvTW9vbi4ARgBvAG4AdAAgAGcAZQBuAGUAcgBhAHQAZQBkACAAYgB5ACAASQBjAG8ATQBvAG8AbgAuAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==) format("truetype"); }',i=" [data-anchorjs-icon]::after { content: attr(data-anchorjs-icon); }";e.className="anchorjs",e.appendChild(document.createTextNode("")),A=document.head.querySelector('[rel="stylesheet"], style'),void 0===A?document.head.appendChild(e):document.head.insertBefore(e,A),e.sheet.insertRule(t,e.sheet.cssRules.length),e.sheet.insertRule(o,e.sheet.cssRules.length),e.sheet.insertRule(i,e.sheet.cssRules.length),e.sheet.insertRule(n,e.sheet.cssRules.length)}}}var anchors=new AnchorJS;
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/assets/themes/mahout/js/docs.js
----------------------------------------------------------------------
diff --git a/website-old/assets/themes/mahout/js/docs.js b/website-old/assets/themes/mahout/js/docs.js
deleted file mode 100644
index 2b880db..0000000
--- a/website-old/assets/themes/mahout/js/docs.js
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/* Custom JavaScript code in the MarkDown docs */
-
-function maybeScrollToHash() {
- var hash = window.location.hash
-
- if (hash && $(hash).length) {
- var newTop = $(hash).offset().top - 57;
- $(window).scrollTop(newTop);
- }
-}
-
-$(function() {
- // Display anchor links when hovering over headers. For documentation of the
- // configuration options, see the AnchorJS documentation.
- anchors.options = {
- placement: 'left'
- };
- anchors.add();
-
- $(window).bind('hashchange', function() {
- maybeScrollToHash();
- });
-
- $('[data-toggle="tooltip"]').tooltip();
-});

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/assets/themes/mahout/js/helium.controller.js
----------------------------------------------------------------------
diff --git a/website-old/assets/themes/mahout/js/helium.controller.js b/website-old/assets/themes/mahout/js/helium.controller.js
deleted file mode 100644
index a6ea5ee..0000000
--- a/website-old/assets/themes/mahout/js/helium.controller.js
+++ /dev/null
@@ -1,89 +0,0 @@
-angular.module("app", ['ui.bootstrap'])
- .controller("HeliumPkgCtrl", function($rootScope, $scope, $window, $sce) {
- $rootScope.keys = Object.keys
- $scope.HeliumPkgs = zeppelinHeliumPackages
- $scope.intpDefaultIcon = $sce.trustAsHtml('<img src="assets/themes/zeppelin/img/maven_default_icon.png" style="width: 12px"/>');
- $scope.latestPkgInfo = {}
- $scope.allTypePkgs = {}
-
- const HeliumType = [
- 'VISUALIZATION',
- 'SPELL',
- 'INTERPRETER',
- ]
-
- $scope.allPackageTypes = HeliumType
- $scope.pkgListByType = 'ALL'
-
- var init = function () {
- createLatestPkgInfo()
- classifyPkgByType($scope.latestPkgInfo)
-
- // pagination
- $scope.itemsPerPage = 10
- $scope.currentPage = 1
- $scope.maxSize = 5
- }
-
- var createLatestPkgInfo = function() {
- var latestPkgInfo = []
- var pkgsInfo = $scope.HeliumPkgs
-
- for (var idx in pkgsInfo) {
- var eachPkgInfo = pkgsInfo[idx]
- for (var key in eachPkgInfo) {
- // key: pkg's name
- var latestPkg = eachPkgInfo[key]
- for (var ver in latestPkg){
- if (ver == "latest") {
- latestPkgInfo.push(latestPkg[ver])
- latestPkg[ver].icon = $sce.trustAsHtml(latestPkg[ver].icon)
-
- }
- }
- }
- }
-
- $scope.latestPkgInfo = latestPkgInfo
- }
-
- var orderPackageByPubDate = function(a, b) {
- return new Date(a.published).getTime() - new Date(b.published).getTime();
- };
-
- var classifyPkgByType = function(latestPkgInfo) {
- var vizTypePkgs = []
- var spellTypePkgs = []
- var interpreterTypePkgs = []
- var allTypePkgs = {}
-
- latestPkgInfo = latestPkgInfo.sort(orderPackageByPubDate).reverse();
-
- for (var idx in latestPkgInfo) {
- switch (latestPkgInfo[idx].type) {
- case "VISUALIZATION":
- vizTypePkgs.push(latestPkgInfo[idx])
- break
- case "SPELL":
- spellTypePkgs.push(latestPkgInfo[idx])
- break
- case "INTERPRETER":
- interpreterTypePkgs.push(latestPkgInfo[idx])
- break
- }
- }
-
- var tmpArr = [
- vizTypePkgs,
- spellTypePkgs,
- interpreterTypePkgs,
- ]
- for (var key in HeliumType) {
- allTypePkgs[HeliumType[key]] = tmpArr[key]
- }
-
- $scope.allTypePkgs = allTypePkgs
- }
-
- init()
-});

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/assets/themes/mahout/js/medium.controller.js
----------------------------------------------------------------------
diff --git a/website-old/assets/themes/mahout/js/medium.controller.js b/website-old/assets/themes/mahout/js/medium.controller.js
deleted file mode 100644
index f2a9395..0000000
--- a/website-old/assets/themes/mahout/js/medium.controller.js
+++ /dev/null
@@ -1,47 +0,0 @@
-angular.module("app").controller("MediumCtrl", function($scope, $window, $sce) {
- $scope.mediumPost = mediumPost
-
- var postInfo = $scope.mediumPost[0].items
- var postInfoArray = []
-
- var init = function () {
- createPostInfoArray()
- }
-
- var unicodeToChar = function (text) {
- return text.replace(/\&#x[\dA-F]{4}/gi,
- function (match) {
- return String.fromCharCode(parseInt(match.replace(/\\u/g, ''), 16));
- })
- }
-
- var truncateString = function (string) {
- return string.length > 150 ? string.substring(0, 150) + '...' : string
- }
-
- var createPostInfoArray = function () {
- for (var idx in postInfo) {
- var post = postInfo[idx]
-
- // 1. remove HTML tag from description value
- var regExString = /(<([^>]+)>)/ig
- post.description = post.description.replace(regExString, '')
- // 2. remove 'Continue reading on Apache Zeppelin Stories »'
- post.description = post.description.replace(/Continue reading on Apache Zeppelin Stories »/g, '')
- // 3. replace unicode char -> string
- post.description = unicodeToChar(post.description)
- // 4. truncate description string & attach '...'
- post.description = truncateString(post.description)
-
- // parse strigified date to 'MMMM Do, YYYY' format (e.g October 4th, 2016)
- post.created = new Date(post.created)
- post.created = moment(post.created).format("MMMM Do, YYYY")
-
- postInfoArray.push(post)
- }
-
- $scope.postInfoArray = postInfoArray
- }
-
- init()
-})
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/assets/themes/mahout/js/moment.min.js
----------------------------------------------------------------------
diff --git a/website-old/assets/themes/mahout/js/moment.min.js b/website-old/assets/themes/mahout/js/moment.min.js
deleted file mode 100644
index 8c70671..0000000
--- a/website-old/assets/themes/mahout/js/moment.min.js
+++ /dev/null
@@ -1,551 +0,0 @@
-//! moment.js
-//! version : 2.17.1
-//! authors : Tim Wood, Iskren Chernev, Moment.js contributors
-//! license : MIT
-//! momentjs.com
-!function(a,b){"object"==typeof exports&&"undefined"!=typeof module?module.exports=b():"function"==typeof define&&define.amd?define(b):a.moment=b()}(this,function(){"use strict";function a(){return od.apply(null,arguments)}
-// This is done to register the method called with moment()
-// without creating circular dependencies.
-function b(a){od=a}function c(a){return a instanceof Array||"[object Array]"===Object.prototype.toString.call(a)}function d(a){
-// IE8 will treat undefined and null as object if it wasn't for
-// input != null
-return null!=a&&"[object Object]"===Object.prototype.toString.call(a)}function e(a){var b;for(b in a)
-// even if its not own property I'd still call it non-empty
-return!1;return!0}function f(a){return"number"==typeof a||"[object Number]"===Object.prototype.toString.call(a)}function g(a){return a instanceof Date||"[object Date]"===Object.prototype.toString.call(a)}function h(a,b){var c,d=[];for(c=0;c<a.length;++c)d.push(b(a[c],c));return d}function i(a,b){return Object.prototype.hasOwnProperty.call(a,b)}function j(a,b){for(var c in b)i(b,c)&&(a[c]=b[c]);return i(b,"toString")&&(a.toString=b.toString),i(b,"valueOf")&&(a.valueOf=b.valueOf),a}function k(a,b,c,d){return rb(a,b,c,d,!0).utc()}function l(){
-// We need to deep clone this object.
-return{empty:!1,unusedTokens:[],unusedInput:[],overflow:-2,charsLeftOver:0,nullInput:!1,invalidMonth:null,invalidFormat:!1,userInvalidated:!1,iso:!1,parsedDateParts:[],meridiem:null}}function m(a){return null==a._pf&&(a._pf=l()),a._pf}function n(a){if(null==a._isValid){var b=m(a),c=qd.call(b.parsedDateParts,function(a){return null!=a}),d=!isNaN(a._d.getTime())&&b.overflow<0&&!b.empty&&!b.invalidMonth&&!b.invalidWeekday&&!b.nullInput&&!b.invalidFormat&&!b.userInvalidated&&(!b.meridiem||b.meridiem&&c);if(a._strict&&(d=d&&0===b.charsLeftOver&&0===b.unusedTokens.length&&void 0===b.bigHour),null!=Object.isFrozen&&Object.isFrozen(a))return d;a._isValid=d}return a._isValid}function o(a){var b=k(NaN);return null!=a?j(m(b),a):m(b).userInvalidated=!0,b}function p(a){return void 0===a}function q(a,b){var c,d,e;if(p(b._isAMomentObject)||(a._isAMomentObject=b._isAMomentObject),p(b._i)||(a._i=b._i),p(b._f)||(a._f=b._f),p(b._l)||(a._l=b._l),p(b._strict)||(a._strict=b._strict),p(b._tzm)||(a._tzm=b.
_tzm),p(b._isUTC)||(a._isUTC=b._isUTC),p(b._offset)||(a._offset=b._offset),p(b._pf)||(a._pf=m(b)),p(b._locale)||(a._locale=b._locale),rd.length>0)for(c in rd)d=rd[c],e=b[d],p(e)||(a[d]=e);return a}
-// Moment prototype object
-function r(b){q(this,b),this._d=new Date(null!=b._d?b._d.getTime():NaN),this.isValid()||(this._d=new Date(NaN)),
-// Prevent infinite loop in case updateOffset creates new moment
-// objects.
-sd===!1&&(sd=!0,a.updateOffset(this),sd=!1)}function s(a){return a instanceof r||null!=a&&null!=a._isAMomentObject}function t(a){return a<0?Math.ceil(a)||0:Math.floor(a)}function u(a){var b=+a,c=0;return 0!==b&&isFinite(b)&&(c=t(b)),c}
-// compare two arrays, return the number of differences
-function v(a,b,c){var d,e=Math.min(a.length,b.length),f=Math.abs(a.length-b.length),g=0;for(d=0;d<e;d++)(c&&a[d]!==b[d]||!c&&u(a[d])!==u(b[d]))&&g++;return g+f}function w(b){a.suppressDeprecationWarnings===!1&&"undefined"!=typeof console&&console.warn&&console.warn("Deprecation warning: "+b)}function x(b,c){var d=!0;return j(function(){if(null!=a.deprecationHandler&&a.deprecationHandler(null,b),d){for(var e,f=[],g=0;g<arguments.length;g++){if(e="","object"==typeof arguments[g]){e+="\n["+g+"] ";for(var h in arguments[0])e+=h+": "+arguments[0][h]+", ";e=e.slice(0,-2)}else e=arguments[g];f.push(e)}w(b+"\nArguments: "+Array.prototype.slice.call(f).join("")+"\n"+(new Error).stack),d=!1}return c.apply(this,arguments)},c)}function y(b,c){null!=a.deprecationHandler&&a.deprecationHandler(b,c),td[b]||(w(c),td[b]=!0)}function z(a){return a instanceof Function||"[object Function]"===Object.prototype.toString.call(a)}function A(a){var b,c;for(c in a)b=a[c],z(b)?this[c]=b:this["_"+c]=b;this._conf
ig=a,
-// Lenient ordinal parsing accepts just a number in addition to
-// number + (possibly) stuff coming from _ordinalParseLenient.
-this._ordinalParseLenient=new RegExp(this._ordinalParse.source+"|"+/\d{1,2}/.source)}function B(a,b){var c,e=j({},a);for(c in b)i(b,c)&&(d(a[c])&&d(b[c])?(e[c]={},j(e[c],a[c]),j(e[c],b[c])):null!=b[c]?e[c]=b[c]:delete e[c]);for(c in a)i(a,c)&&!i(b,c)&&d(a[c])&&(
-// make sure changes to properties don't modify parent config
-e[c]=j({},e[c]));return e}function C(a){null!=a&&this.set(a)}function D(a,b,c){var d=this._calendar[a]||this._calendar.sameElse;return z(d)?d.call(b,c):d}function E(a){var b=this._longDateFormat[a],c=this._longDateFormat[a.toUpperCase()];return b||!c?b:(this._longDateFormat[a]=c.replace(/MMMM|MM|DD|dddd/g,function(a){return a.slice(1)}),this._longDateFormat[a])}function F(){return this._invalidDate}function G(a){return this._ordinal.replace("%d",a)}function H(a,b,c,d){var e=this._relativeTime[c];return z(e)?e(a,b,c,d):e.replace(/%d/i,a)}function I(a,b){var c=this._relativeTime[a>0?"future":"past"];return z(c)?c(b):c.replace(/%s/i,b)}function J(a,b){var c=a.toLowerCase();Dd[c]=Dd[c+"s"]=Dd[b]=a}function K(a){return"string"==typeof a?Dd[a]||Dd[a.toLowerCase()]:void 0}function L(a){var b,c,d={};for(c in a)i(a,c)&&(b=K(c),b&&(d[b]=a[c]));return d}function M(a,b){Ed[a]=b}function N(a){var b=[];for(var c in a)b.push({unit:c,priority:Ed[c]});return b.sort(function(a,b){return a.priority-b.
priority}),b}function O(b,c){return function(d){return null!=d?(Q(this,b,d),a.updateOffset(this,c),this):P(this,b)}}function P(a,b){return a.isValid()?a._d["get"+(a._isUTC?"UTC":"")+b]():NaN}function Q(a,b,c){a.isValid()&&a._d["set"+(a._isUTC?"UTC":"")+b](c)}
-// MOMENTS
-function R(a){return a=K(a),z(this[a])?this[a]():this}function S(a,b){if("object"==typeof a){a=L(a);for(var c=N(a),d=0;d<c.length;d++)this[c[d].unit](a[c[d].unit])}else if(a=K(a),z(this[a]))return this[a](b);return this}function T(a,b,c){var d=""+Math.abs(a),e=b-d.length,f=a>=0;return(f?c?"+":"":"-")+Math.pow(10,Math.max(0,e)).toString().substr(1)+d}
-// token: 'M'
-// padded: ['MM', 2]
-// ordinal: 'Mo'
-// callback: function () { this.month() + 1 }
-function U(a,b,c,d){var e=d;"string"==typeof d&&(e=function(){return this[d]()}),a&&(Id[a]=e),b&&(Id[b[0]]=function(){return T(e.apply(this,arguments),b[1],b[2])}),c&&(Id[c]=function(){return this.localeData().ordinal(e.apply(this,arguments),a)})}function V(a){return a.match(/\[[\s\S]/)?a.replace(/^\[|\]$/g,""):a.replace(/\\/g,"")}function W(a){var b,c,d=a.match(Fd);for(b=0,c=d.length;b<c;b++)Id[d[b]]?d[b]=Id[d[b]]:d[b]=V(d[b]);return function(b){var e,f="";for(e=0;e<c;e++)f+=d[e]instanceof Function?d[e].call(b,a):d[e];return f}}
-// format date using native date object
-function X(a,b){return a.isValid()?(b=Y(b,a.localeData()),Hd[b]=Hd[b]||W(b),Hd[b](a)):a.localeData().invalidDate()}function Y(a,b){function c(a){return b.longDateFormat(a)||a}var d=5;for(Gd.lastIndex=0;d>=0&&Gd.test(a);)a=a.replace(Gd,c),Gd.lastIndex=0,d-=1;return a}function Z(a,b,c){$d[a]=z(b)?b:function(a,d){return a&&c?c:b}}function $(a,b){return i($d,a)?$d[a](b._strict,b._locale):new RegExp(_(a))}
-// Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript
-function _(a){return aa(a.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(a,b,c,d,e){return b||c||d||e}))}function aa(a){return a.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function ba(a,b){var c,d=b;for("string"==typeof a&&(a=[a]),f(b)&&(d=function(a,c){c[b]=u(a)}),c=0;c<a.length;c++)_d[a[c]]=d}function ca(a,b){ba(a,function(a,c,d,e){d._w=d._w||{},b(a,d._w,d,e)})}function da(a,b,c){null!=b&&i(_d,a)&&_d[a](b,c._a,c,a)}function ea(a,b){return new Date(Date.UTC(a,b+1,0)).getUTCDate()}function fa(a,b){return a?c(this._months)?this._months[a.month()]:this._months[(this._months.isFormat||ke).test(b)?"format":"standalone"][a.month()]:this._months}function ga(a,b){return a?c(this._monthsShort)?this._monthsShort[a.month()]:this._monthsShort[ke.test(b)?"format":"standalone"][a.month()]:this._monthsShort}function ha(a,b,c){var d,e,f,g=a.toLocaleLowerCase();if(!this._monthsParse)for(
-// this is not used
-this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[],d=0;d<12;++d)f=k([2e3,d]),this._shortMonthsParse[d]=this.monthsShort(f,"").toLocaleLowerCase(),this._longMonthsParse[d]=this.months(f,"").toLocaleLowerCase();return c?"MMM"===b?(e=je.call(this._shortMonthsParse,g),e!==-1?e:null):(e=je.call(this._longMonthsParse,g),e!==-1?e:null):"MMM"===b?(e=je.call(this._shortMonthsParse,g),e!==-1?e:(e=je.call(this._longMonthsParse,g),e!==-1?e:null)):(e=je.call(this._longMonthsParse,g),e!==-1?e:(e=je.call(this._shortMonthsParse,g),e!==-1?e:null))}function ia(a,b,c){var d,e,f;if(this._monthsParseExact)return ha.call(this,a,b,c);
-// TODO: add sorting
-// Sorting makes sure if one month (or abbr) is a prefix of another
-// see sorting in computeMonthsParse
-for(this._monthsParse||(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[]),d=0;d<12;d++){
-// test the regex
-if(
-// make the regex if we don't have it already
-e=k([2e3,d]),c&&!this._longMonthsParse[d]&&(this._longMonthsParse[d]=new RegExp("^"+this.months(e,"").replace(".","")+"$","i"),this._shortMonthsParse[d]=new RegExp("^"+this.monthsShort(e,"").replace(".","")+"$","i")),c||this._monthsParse[d]||(f="^"+this.months(e,"")+"|^"+this.monthsShort(e,""),this._monthsParse[d]=new RegExp(f.replace(".",""),"i")),c&&"MMMM"===b&&this._longMonthsParse[d].test(a))return d;if(c&&"MMM"===b&&this._shortMonthsParse[d].test(a))return d;if(!c&&this._monthsParse[d].test(a))return d}}
-// MOMENTS
-function ja(a,b){var c;if(!a.isValid())
-// No op
-return a;if("string"==typeof b)if(/^\d+$/.test(b))b=u(b);else
-// TODO: Another silent failure?
-if(b=a.localeData().monthsParse(b),!f(b))return a;return c=Math.min(a.date(),ea(a.year(),b)),a._d["set"+(a._isUTC?"UTC":"")+"Month"](b,c),a}function ka(b){return null!=b?(ja(this,b),a.updateOffset(this,!0),this):P(this,"Month")}function la(){return ea(this.year(),this.month())}function ma(a){return this._monthsParseExact?(i(this,"_monthsRegex")||oa.call(this),a?this._monthsShortStrictRegex:this._monthsShortRegex):(i(this,"_monthsShortRegex")||(this._monthsShortRegex=ne),this._monthsShortStrictRegex&&a?this._monthsShortStrictRegex:this._monthsShortRegex)}function na(a){return this._monthsParseExact?(i(this,"_monthsRegex")||oa.call(this),a?this._monthsStrictRegex:this._monthsRegex):(i(this,"_monthsRegex")||(this._monthsRegex=oe),this._monthsStrictRegex&&a?this._monthsStrictRegex:this._monthsRegex)}function oa(){function a(a,b){return b.length-a.length}var b,c,d=[],e=[],f=[];for(b=0;b<12;b++)
-// make the regex if we don't have it already
-c=k([2e3,b]),d.push(this.monthsShort(c,"")),e.push(this.months(c,"")),f.push(this.months(c,"")),f.push(this.monthsShort(c,""));for(
-// Sorting makes sure if one month (or abbr) is a prefix of another it
-// will match the longer piece.
-d.sort(a),e.sort(a),f.sort(a),b=0;b<12;b++)d[b]=aa(d[b]),e[b]=aa(e[b]);for(b=0;b<24;b++)f[b]=aa(f[b]);this._monthsRegex=new RegExp("^("+f.join("|")+")","i"),this._monthsShortRegex=this._monthsRegex,this._monthsStrictRegex=new RegExp("^("+e.join("|")+")","i"),this._monthsShortStrictRegex=new RegExp("^("+d.join("|")+")","i")}
-// HELPERS
-function pa(a){return qa(a)?366:365}function qa(a){return a%4===0&&a%100!==0||a%400===0}function ra(){return qa(this.year())}function sa(a,b,c,d,e,f,g){
-//can't just apply() to create a date:
-//http://stackoverflow.com/questions/181348/instantiating-a-javascript-object-by-calling-prototype-constructor-apply
-var h=new Date(a,b,c,d,e,f,g);
-//the date constructor remaps years 0-99 to 1900-1999
-return a<100&&a>=0&&isFinite(h.getFullYear())&&h.setFullYear(a),h}function ta(a){var b=new Date(Date.UTC.apply(null,arguments));
-//the Date.UTC function remaps years 0-99 to 1900-1999
-return a<100&&a>=0&&isFinite(b.getUTCFullYear())&&b.setUTCFullYear(a),b}
-// start-of-first-week - start-of-year
-function ua(a,b,c){var// first-week day -- which january is always in the first week (4 for iso, 1 for other)
-d=7+b-c,
-// first-week day local weekday -- which local weekday is fwd
-e=(7+ta(a,0,d).getUTCDay()-b)%7;return-e+d-1}
-//http://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday
-function va(a,b,c,d,e){var f,g,h=(7+c-d)%7,i=ua(a,d,e),j=1+7*(b-1)+h+i;return j<=0?(f=a-1,g=pa(f)+j):j>pa(a)?(f=a+1,g=j-pa(a)):(f=a,g=j),{year:f,dayOfYear:g}}function wa(a,b,c){var d,e,f=ua(a.year(),b,c),g=Math.floor((a.dayOfYear()-f-1)/7)+1;return g<1?(e=a.year()-1,d=g+xa(e,b,c)):g>xa(a.year(),b,c)?(d=g-xa(a.year(),b,c),e=a.year()+1):(e=a.year(),d=g),{week:d,year:e}}function xa(a,b,c){var d=ua(a,b,c),e=ua(a+1,b,c);return(pa(a)-d+e)/7}
-// HELPERS
-// LOCALES
-function ya(a){return wa(a,this._week.dow,this._week.doy).week}function za(){return this._week.dow}function Aa(){return this._week.doy}
-// MOMENTS
-function Ba(a){var b=this.localeData().week(this);return null==a?b:this.add(7*(a-b),"d")}function Ca(a){var b=wa(this,1,4).week;return null==a?b:this.add(7*(a-b),"d")}
-// HELPERS
-function Da(a,b){return"string"!=typeof a?a:isNaN(a)?(a=b.weekdaysParse(a),"number"==typeof a?a:null):parseInt(a,10)}function Ea(a,b){return"string"==typeof a?b.weekdaysParse(a)%7||7:isNaN(a)?null:a}function Fa(a,b){return a?c(this._weekdays)?this._weekdays[a.day()]:this._weekdays[this._weekdays.isFormat.test(b)?"format":"standalone"][a.day()]:this._weekdays}function Ga(a){return a?this._weekdaysShort[a.day()]:this._weekdaysShort}function Ha(a){return a?this._weekdaysMin[a.day()]:this._weekdaysMin}function Ia(a,b,c){var d,e,f,g=a.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],d=0;d<7;++d)f=k([2e3,1]).day(d),this._minWeekdaysParse[d]=this.weekdaysMin(f,"").toLocaleLowerCase(),this._shortWeekdaysParse[d]=this.weekdaysShort(f,"").toLocaleLowerCase(),this._weekdaysParse[d]=this.weekdays(f,"").toLocaleLowerCase();return c?"dddd"===b?(e=je.call(this._weekdaysParse,g),e!==-1?e:null):"ddd"===b?(e=je.call(this._sho
rtWeekdaysParse,g),e!==-1?e:null):(e=je.call(this._minWeekdaysParse,g),e!==-1?e:null):"dddd"===b?(e=je.call(this._weekdaysParse,g),e!==-1?e:(e=je.call(this._shortWeekdaysParse,g),e!==-1?e:(e=je.call(this._minWeekdaysParse,g),e!==-1?e:null))):"ddd"===b?(e=je.call(this._shortWeekdaysParse,g),e!==-1?e:(e=je.call(this._weekdaysParse,g),e!==-1?e:(e=je.call(this._minWeekdaysParse,g),e!==-1?e:null))):(e=je.call(this._minWeekdaysParse,g),e!==-1?e:(e=je.call(this._weekdaysParse,g),e!==-1?e:(e=je.call(this._shortWeekdaysParse,g),e!==-1?e:null)))}function Ja(a,b,c){var d,e,f;if(this._weekdaysParseExact)return Ia.call(this,a,b,c);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),d=0;d<7;d++){
-// test the regex
-if(
-// make the regex if we don't have it already
-e=k([2e3,1]).day(d),c&&!this._fullWeekdaysParse[d]&&(this._fullWeekdaysParse[d]=new RegExp("^"+this.weekdays(e,"").replace(".",".?")+"$","i"),this._shortWeekdaysParse[d]=new RegExp("^"+this.weekdaysShort(e,"").replace(".",".?")+"$","i"),this._minWeekdaysParse[d]=new RegExp("^"+this.weekdaysMin(e,"").replace(".",".?")+"$","i")),this._weekdaysParse[d]||(f="^"+this.weekdays(e,"")+"|^"+this.weekdaysShort(e,"")+"|^"+this.weekdaysMin(e,""),this._weekdaysParse[d]=new RegExp(f.replace(".",""),"i")),c&&"dddd"===b&&this._fullWeekdaysParse[d].test(a))return d;if(c&&"ddd"===b&&this._shortWeekdaysParse[d].test(a))return d;if(c&&"dd"===b&&this._minWeekdaysParse[d].test(a))return d;if(!c&&this._weekdaysParse[d].test(a))return d}}
-// MOMENTS
-function Ka(a){if(!this.isValid())return null!=a?this:NaN;var b=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=a?(a=Da(a,this.localeData()),this.add(a-b,"d")):b}function La(a){if(!this.isValid())return null!=a?this:NaN;var b=(this.day()+7-this.localeData()._week.dow)%7;return null==a?b:this.add(a-b,"d")}function Ma(a){if(!this.isValid())return null!=a?this:NaN;
-// behaves the same as moment#day except
-// as a getter, returns 7 instead of 0 (1-7 range instead of 0-6)
-// as a setter, sunday should belong to the previous week.
-if(null!=a){var b=Ea(a,this.localeData());return this.day(this.day()%7?b:b-7)}return this.day()||7}function Na(a){return this._weekdaysParseExact?(i(this,"_weekdaysRegex")||Qa.call(this),a?this._weekdaysStrictRegex:this._weekdaysRegex):(i(this,"_weekdaysRegex")||(this._weekdaysRegex=ue),this._weekdaysStrictRegex&&a?this._weekdaysStrictRegex:this._weekdaysRegex)}function Oa(a){return this._weekdaysParseExact?(i(this,"_weekdaysRegex")||Qa.call(this),a?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(i(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=ve),this._weekdaysShortStrictRegex&&a?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)}function Pa(a){return this._weekdaysParseExact?(i(this,"_weekdaysRegex")||Qa.call(this),a?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(i(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=we),this._weekdaysMinStrictRegex&&a?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)}function Qa(){function a(a,b){return b.length-a
.length}var b,c,d,e,f,g=[],h=[],i=[],j=[];for(b=0;b<7;b++)
-// make the regex if we don't have it already
-c=k([2e3,1]).day(b),d=this.weekdaysMin(c,""),e=this.weekdaysShort(c,""),f=this.weekdays(c,""),g.push(d),h.push(e),i.push(f),j.push(d),j.push(e),j.push(f);for(
-// Sorting makes sure if one weekday (or abbr) is a prefix of another it
-// will match the longer piece.
-g.sort(a),h.sort(a),i.sort(a),j.sort(a),b=0;b<7;b++)h[b]=aa(h[b]),i[b]=aa(i[b]),j[b]=aa(j[b]);this._weekdaysRegex=new RegExp("^("+j.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+i.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+h.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+g.join("|")+")","i")}
-// FORMATTING
-function Ra(){return this.hours()%12||12}function Sa(){return this.hours()||24}function Ta(a,b){U(a,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),b)})}
-// PARSING
-function Ua(a,b){return b._meridiemParse}
-// LOCALES
-function Va(a){
-// IE8 Quirks Mode & IE7 Standards Mode do not allow accessing strings like arrays
-// Using charAt should be more compatible.
-return"p"===(a+"").toLowerCase().charAt(0)}function Wa(a,b,c){return a>11?c?"pm":"PM":c?"am":"AM"}function Xa(a){return a?a.toLowerCase().replace("_","-"):a}
-// pick the locale from the array
-// try ['en-au', 'en-gb'] as 'en-au', 'en-gb', 'en', as in move through the list trying each
-// substring from most specific to least, but move to the next array item if it's a more specific variant than the current root
-function Ya(a){for(var b,c,d,e,f=0;f<a.length;){for(e=Xa(a[f]).split("-"),b=e.length,c=Xa(a[f+1]),c=c?c.split("-"):null;b>0;){if(d=Za(e.slice(0,b).join("-")))return d;if(c&&c.length>=b&&v(e,c,!0)>=b-1)
-//the next array item is better than a shallower substring of this one
-break;b--}f++}return null}function Za(a){var b=null;
-// TODO: Find a better way to register and load all the locales in Node
-if(!Be[a]&&"undefined"!=typeof module&&module&&module.exports)try{b=xe._abbr,require("./locale/"+a),
-// because defineLocale currently also sets the global locale, we
-// want to undo that for lazy loaded locales
-$a(b)}catch(a){}return Be[a]}
-// This function will load locale and then set the global locale. If
-// no arguments are passed in, it will simply return the current global
-// locale key.
-function $a(a,b){var c;
-// moment.duration._locale = moment._locale = data;
-return a&&(c=p(b)?bb(a):_a(a,b),c&&(xe=c)),xe._abbr}function _a(a,b){if(null!==b){var c=Ae;if(b.abbr=a,null!=Be[a])y("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."),c=Be[a]._config;else if(null!=b.parentLocale){if(null==Be[b.parentLocale])return Ce[b.parentLocale]||(Ce[b.parentLocale]=[]),Ce[b.parentLocale].push({name:a,config:b}),null;c=Be[b.parentLocale]._config}
-// backwards compat for now: also set the locale
-// make sure we set the locale AFTER all child locales have been
-// created, so we won't end up with the child locale set.
-return Be[a]=new C(B(c,b)),Ce[a]&&Ce[a].forEach(function(a){_a(a.name,a.config)}),$a(a),Be[a]}
-// useful for testing
-return delete Be[a],null}function ab(a,b){if(null!=b){var c,d=Ae;
-// MERGE
-null!=Be[a]&&(d=Be[a]._config),b=B(d,b),c=new C(b),c.parentLocale=Be[a],Be[a]=c,
-// backwards compat for now: also set the locale
-$a(a)}else
-// pass null for config to unupdate, useful for tests
-null!=Be[a]&&(null!=Be[a].parentLocale?Be[a]=Be[a].parentLocale:null!=Be[a]&&delete Be[a]);return Be[a]}
-// returns locale data
-function bb(a){var b;if(a&&a._locale&&a._locale._abbr&&(a=a._locale._abbr),!a)return xe;if(!c(a)){if(
-//short-circuit everything else
-b=Za(a))return b;a=[a]}return Ya(a)}function cb(){return wd(Be)}function db(a){var b,c=a._a;return c&&m(a).overflow===-2&&(b=c[be]<0||c[be]>11?be:c[ce]<1||c[ce]>ea(c[ae],c[be])?ce:c[de]<0||c[de]>24||24===c[de]&&(0!==c[ee]||0!==c[fe]||0!==c[ge])?de:c[ee]<0||c[ee]>59?ee:c[fe]<0||c[fe]>59?fe:c[ge]<0||c[ge]>999?ge:-1,m(a)._overflowDayOfYear&&(b<ae||b>ce)&&(b=ce),m(a)._overflowWeeks&&b===-1&&(b=he),m(a)._overflowWeekday&&b===-1&&(b=ie),m(a).overflow=b),a}
-// date from iso format
-function eb(a){var b,c,d,e,f,g,h=a._i,i=De.exec(h)||Ee.exec(h);if(i){for(m(a).iso=!0,b=0,c=Ge.length;b<c;b++)if(Ge[b][1].exec(i[1])){e=Ge[b][0],d=Ge[b][2]!==!1;break}if(null==e)return void(a._isValid=!1);if(i[3]){for(b=0,c=He.length;b<c;b++)if(He[b][1].exec(i[3])){
-// match[2] should be 'T' or space
-f=(i[2]||" ")+He[b][0];break}if(null==f)return void(a._isValid=!1)}if(!d&&null!=f)return void(a._isValid=!1);if(i[4]){if(!Fe.exec(i[4]))return void(a._isValid=!1);g="Z"}a._f=e+(f||"")+(g||""),kb(a)}else a._isValid=!1}
-// date from iso format or fallback
-function fb(b){var c=Ie.exec(b._i);return null!==c?void(b._d=new Date(+c[1])):(eb(b),void(b._isValid===!1&&(delete b._isValid,a.createFromInputFallback(b))))}
-// Pick the first defined of two or three arguments.
-function gb(a,b,c){return null!=a?a:null!=b?b:c}function hb(b){
-// hooks is actually the exported moment object
-var c=new Date(a.now());return b._useUTC?[c.getUTCFullYear(),c.getUTCMonth(),c.getUTCDate()]:[c.getFullYear(),c.getMonth(),c.getDate()]}
-// convert an array to a date.
-// the array should mirror the parameters below
-// note: all values past the year are optional and will default to the lowest possible value.
-// [year, month, day , hour, minute, second, millisecond]
-function ib(a){var b,c,d,e,f=[];if(!a._d){
-// Default to current date.
-// * if no year, month, day of month are given, default to today
-// * if day of month is given, default month and year
-// * if month is given, default only year
-// * if year is given, don't default anything
-for(d=hb(a),
-//compute day of the year from weeks and weekdays
-a._w&&null==a._a[ce]&&null==a._a[be]&&jb(a),
-//if the day of the year is set, figure out what it is
-a._dayOfYear&&(e=gb(a._a[ae],d[ae]),a._dayOfYear>pa(e)&&(m(a)._overflowDayOfYear=!0),c=ta(e,0,a._dayOfYear),a._a[be]=c.getUTCMonth(),a._a[ce]=c.getUTCDate()),b=0;b<3&&null==a._a[b];++b)a._a[b]=f[b]=d[b];
-// Zero out whatever was not defaulted, including time
-for(;b<7;b++)a._a[b]=f[b]=null==a._a[b]?2===b?1:0:a._a[b];
-// Check for 24:00:00.000
-24===a._a[de]&&0===a._a[ee]&&0===a._a[fe]&&0===a._a[ge]&&(a._nextDay=!0,a._a[de]=0),a._d=(a._useUTC?ta:sa).apply(null,f),
-// Apply timezone offset from input. The actual utcOffset can be changed
-// with parseZone.
-null!=a._tzm&&a._d.setUTCMinutes(a._d.getUTCMinutes()-a._tzm),a._nextDay&&(a._a[de]=24)}}function jb(a){var b,c,d,e,f,g,h,i;if(b=a._w,null!=b.GG||null!=b.W||null!=b.E)f=1,g=4,
-// TODO: We need to take the current isoWeekYear, but that depends on
-// how we interpret now (local, utc, fixed offset). So create
-// a now version of current config (take local/utc/offset flags, and
-// create now).
-c=gb(b.GG,a._a[ae],wa(sb(),1,4).year),d=gb(b.W,1),e=gb(b.E,1),(e<1||e>7)&&(i=!0);else{f=a._locale._week.dow,g=a._locale._week.doy;var j=wa(sb(),f,g);c=gb(b.gg,a._a[ae],j.year),
-// Default to current week.
-d=gb(b.w,j.week),null!=b.d?(
-// weekday -- low day numbers are considered next week
-e=b.d,(e<0||e>6)&&(i=!0)):null!=b.e?(
-// local weekday -- counting starts from begining of week
-e=b.e+f,(b.e<0||b.e>6)&&(i=!0)):
-// default to begining of week
-e=f}d<1||d>xa(c,f,g)?m(a)._overflowWeeks=!0:null!=i?m(a)._overflowWeekday=!0:(h=va(c,d,e,f,g),a._a[ae]=h.year,a._dayOfYear=h.dayOfYear)}
-// date from string and format string
-function kb(b){
-// TODO: Move this to another part of the creation flow to prevent circular deps
-if(b._f===a.ISO_8601)return void eb(b);b._a=[],m(b).empty=!0;
-// This array is used to make a Date, either with `new Date` or `Date.UTC`
-var c,d,e,f,g,h=""+b._i,i=h.length,j=0;for(e=Y(b._f,b._locale).match(Fd)||[],c=0;c<e.length;c++)f=e[c],d=(h.match($(f,b))||[])[0],
-// console.log('token', token, 'parsedInput', parsedInput,
-// 'regex', getParseRegexForToken(token, config));
-d&&(g=h.substr(0,h.indexOf(d)),g.length>0&&m(b).unusedInput.push(g),h=h.slice(h.indexOf(d)+d.length),j+=d.length),
-// don't parse if it's not a known token
-Id[f]?(d?m(b).empty=!1:m(b).unusedTokens.push(f),da(f,d,b)):b._strict&&!d&&m(b).unusedTokens.push(f);
-// add remaining unparsed input length to the string
-m(b).charsLeftOver=i-j,h.length>0&&m(b).unusedInput.push(h),
-// clear _12h flag if hour is <= 12
-b._a[de]<=12&&m(b).bigHour===!0&&b._a[de]>0&&(m(b).bigHour=void 0),m(b).parsedDateParts=b._a.slice(0),m(b).meridiem=b._meridiem,
-// handle meridiem
-b._a[de]=lb(b._locale,b._a[de],b._meridiem),ib(b),db(b)}function lb(a,b,c){var d;
-// Fallback
-return null==c?b:null!=a.meridiemHour?a.meridiemHour(b,c):null!=a.isPM?(d=a.isPM(c),d&&b<12&&(b+=12),d||12!==b||(b=0),b):b}
-// date from string and array of format strings
-function mb(a){var b,c,d,e,f;if(0===a._f.length)return m(a).invalidFormat=!0,void(a._d=new Date(NaN));for(e=0;e<a._f.length;e++)f=0,b=q({},a),null!=a._useUTC&&(b._useUTC=a._useUTC),b._f=a._f[e],kb(b),n(b)&&(
-// if there is any input that was not parsed add a penalty for that format
-f+=m(b).charsLeftOver,
-//or tokens
-f+=10*m(b).unusedTokens.length,m(b).score=f,(null==d||f<d)&&(d=f,c=b));j(a,c||b)}function nb(a){if(!a._d){var b=L(a._i);a._a=h([b.year,b.month,b.day||b.date,b.hour,b.minute,b.second,b.millisecond],function(a){return a&&parseInt(a,10)}),ib(a)}}function ob(a){var b=new r(db(pb(a)));
-// Adding is smart enough around DST
-return b._nextDay&&(b.add(1,"d"),b._nextDay=void 0),b}function pb(a){var b=a._i,d=a._f;return a._locale=a._locale||bb(a._l),null===b||void 0===d&&""===b?o({nullInput:!0}):("string"==typeof b&&(a._i=b=a._locale.preparse(b)),s(b)?new r(db(b)):(g(b)?a._d=b:c(d)?mb(a):d?kb(a):qb(a),n(a)||(a._d=null),a))}function qb(b){var d=b._i;void 0===d?b._d=new Date(a.now()):g(d)?b._d=new Date(d.valueOf()):"string"==typeof d?fb(b):c(d)?(b._a=h(d.slice(0),function(a){return parseInt(a,10)}),ib(b)):"object"==typeof d?nb(b):f(d)?
-// from milliseconds
-b._d=new Date(d):a.createFromInputFallback(b)}function rb(a,b,f,g,h){var i={};
-// object construction must be done this way.
-// https://github.com/moment/moment/issues/1423
-return f!==!0&&f!==!1||(g=f,f=void 0),(d(a)&&e(a)||c(a)&&0===a.length)&&(a=void 0),i._isAMomentObject=!0,i._useUTC=i._isUTC=h,i._l=f,i._i=a,i._f=b,i._strict=g,ob(i)}function sb(a,b,c,d){return rb(a,b,c,d,!1)}
-// Pick a moment m from moments so that m[fn](other) is true for all
-// other. This relies on the function fn to be transitive.
-//
-// moments should either be an array of moment objects or an array, whose
-// first element is an array of moment objects.
-function tb(a,b){var d,e;if(1===b.length&&c(b[0])&&(b=b[0]),!b.length)return sb();for(d=b[0],e=1;e<b.length;++e)b[e].isValid()&&!b[e][a](d)||(d=b[e]);return d}
-// TODO: Use [].sort instead?
-function ub(){var a=[].slice.call(arguments,0);return tb("isBefore",a)}function vb(){var a=[].slice.call(arguments,0);return tb("isAfter",a)}function wb(a){var b=L(a),c=b.year||0,d=b.quarter||0,e=b.month||0,f=b.week||0,g=b.day||0,h=b.hour||0,i=b.minute||0,j=b.second||0,k=b.millisecond||0;
-// representation for dateAddRemove
-this._milliseconds=+k+1e3*j+// 1000
-6e4*i+// 1000 * 60
-1e3*h*60*60,//using 1000 * 60 * 60 instead of 36e5 to avoid floating point rounding errors https://github.com/moment/moment/issues/2978
-// Because of dateAddRemove treats 24 hours as different from a
-// day when working around DST, we need to store them separately
-this._days=+g+7*f,
-// It is impossible translate months into days without knowing
-// which months you are are talking about, so we have to store
-// it separately.
-this._months=+e+3*d+12*c,this._data={},this._locale=bb(),this._bubble()}function xb(a){return a instanceof wb}function yb(a){return a<0?Math.round(-1*a)*-1:Math.round(a)}
-// FORMATTING
-function zb(a,b){U(a,0,0,function(){var a=this.utcOffset(),c="+";return a<0&&(a=-a,c="-"),c+T(~~(a/60),2)+b+T(~~a%60,2)})}function Ab(a,b){var c=(b||"").match(a);if(null===c)return null;var d=c[c.length-1]||[],e=(d+"").match(Me)||["-",0,0],f=+(60*e[1])+u(e[2]);return 0===f?0:"+"===e[0]?f:-f}
-// Return a moment from input, that is local/utc/zone equivalent to model.
-function Bb(b,c){var d,e;
-// Use low-level api, because this fn is low-level api.
-return c._isUTC?(d=c.clone(),e=(s(b)||g(b)?b.valueOf():sb(b).valueOf())-d.valueOf(),d._d.setTime(d._d.valueOf()+e),a.updateOffset(d,!1),d):sb(b).local()}function Cb(a){
-// On Firefox.24 Date#getTimezoneOffset returns a floating point.
-// https://github.com/moment/moment/pull/1871
-return 15*-Math.round(a._d.getTimezoneOffset()/15)}
-// MOMENTS
-// keepLocalTime = true means only change the timezone, without
-// affecting the local hour. So 5:31:26 +0300 --[utcOffset(2, true)]-->
-// 5:31:26 +0200 It is possible that 5:31:26 doesn't exist with offset
-// +0200, so we adjust the time as needed, to be valid.
-//
-// Keeping the time actually adds/subtracts (one hour)
-// from the actual represented time. That is why we call updateOffset
-// a second time. In case it wants us to change the offset again
-// _changeInProgress == true case, then we have to adjust, because
-// there is no such time in the given timezone.
-function Db(b,c){var d,e=this._offset||0;if(!this.isValid())return null!=b?this:NaN;if(null!=b){if("string"==typeof b){if(b=Ab(Xd,b),null===b)return this}else Math.abs(b)<16&&(b=60*b);return!this._isUTC&&c&&(d=Cb(this)),this._offset=b,this._isUTC=!0,null!=d&&this.add(d,"m"),e!==b&&(!c||this._changeInProgress?Tb(this,Ob(b-e,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,a.updateOffset(this,!0),this._changeInProgress=null)),this}return this._isUTC?e:Cb(this)}function Eb(a,b){return null!=a?("string"!=typeof a&&(a=-a),this.utcOffset(a,b),this):-this.utcOffset()}function Fb(a){return this.utcOffset(0,a)}function Gb(a){return this._isUTC&&(this.utcOffset(0,a),this._isUTC=!1,a&&this.subtract(Cb(this),"m")),this}function Hb(){if(null!=this._tzm)this.utcOffset(this._tzm);else if("string"==typeof this._i){var a=Ab(Wd,this._i);null!=a?this.utcOffset(a):this.utcOffset(0,!0)}return this}function Ib(a){return!!this.isValid()&&(a=a?sb(a).utcOffset():0,(this.utcOffset()-a)%60===0)}f
unction Jb(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()}function Kb(){if(!p(this._isDSTShifted))return this._isDSTShifted;var a={};if(q(a,this),a=pb(a),a._a){var b=a._isUTC?k(a._a):sb(a._a);this._isDSTShifted=this.isValid()&&v(a._a,b.toArray())>0}else this._isDSTShifted=!1;return this._isDSTShifted}function Lb(){return!!this.isValid()&&!this._isUTC}function Mb(){return!!this.isValid()&&this._isUTC}function Nb(){return!!this.isValid()&&(this._isUTC&&0===this._offset)}function Ob(a,b){var c,d,e,g=a,
-// matching against regexp is expensive, do it on demand
-h=null;// checks for null or undefined
-return xb(a)?g={ms:a._milliseconds,d:a._days,M:a._months}:f(a)?(g={},b?g[b]=a:g.milliseconds=a):(h=Ne.exec(a))?(c="-"===h[1]?-1:1,g={y:0,d:u(h[ce])*c,h:u(h[de])*c,m:u(h[ee])*c,s:u(h[fe])*c,ms:u(yb(1e3*h[ge]))*c}):(h=Oe.exec(a))?(c="-"===h[1]?-1:1,g={y:Pb(h[2],c),M:Pb(h[3],c),w:Pb(h[4],c),d:Pb(h[5],c),h:Pb(h[6],c),m:Pb(h[7],c),s:Pb(h[8],c)}):null==g?g={}:"object"==typeof g&&("from"in g||"to"in g)&&(e=Rb(sb(g.from),sb(g.to)),g={},g.ms=e.milliseconds,g.M=e.months),d=new wb(g),xb(a)&&i(a,"_locale")&&(d._locale=a._locale),d}function Pb(a,b){
-// We'd normally use ~~inp for this, but unfortunately it also
-// converts floats to ints.
-// inp may be undefined, so careful calling replace on it.
-var c=a&&parseFloat(a.replace(",","."));
-// apply sign while we're at it
-return(isNaN(c)?0:c)*b}function Qb(a,b){var c={milliseconds:0,months:0};return c.months=b.month()-a.month()+12*(b.year()-a.year()),a.clone().add(c.months,"M").isAfter(b)&&--c.months,c.milliseconds=+b-+a.clone().add(c.months,"M"),c}function Rb(a,b){var c;return a.isValid()&&b.isValid()?(b=Bb(b,a),a.isBefore(b)?c=Qb(a,b):(c=Qb(b,a),c.milliseconds=-c.milliseconds,c.months=-c.months),c):{milliseconds:0,months:0}}
-// TODO: remove 'name' arg after deprecation is removed
-function Sb(a,b){return function(c,d){var e,f;
-//invert the arguments, but complain about it
-return null===d||isNaN(+d)||(y(b,"moment()."+b+"(period, number) is deprecated. Please use moment()."+b+"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."),f=c,c=d,d=f),c="string"==typeof c?+c:c,e=Ob(c,d),Tb(this,e,a),this}}function Tb(b,c,d,e){var f=c._milliseconds,g=yb(c._days),h=yb(c._months);b.isValid()&&(e=null==e||e,f&&b._d.setTime(b._d.valueOf()+f*d),g&&Q(b,"Date",P(b,"Date")+g*d),h&&ja(b,P(b,"Month")+h*d),e&&a.updateOffset(b,g||h))}function Ub(a,b){var c=a.diff(b,"days",!0);return c<-6?"sameElse":c<-1?"lastWeek":c<0?"lastDay":c<1?"sameDay":c<2?"nextDay":c<7?"nextWeek":"sameElse"}function Vb(b,c){
-// We want to compare the start of today, vs this.
-// Getting start-of-today depends on whether we're local/utc/offset or not.
-var d=b||sb(),e=Bb(d,this).startOf("day"),f=a.calendarFormat(this,e)||"sameElse",g=c&&(z(c[f])?c[f].call(this,d):c[f]);return this.format(g||this.localeData().calendar(f,this,sb(d)))}function Wb(){return new r(this)}function Xb(a,b){var c=s(a)?a:sb(a);return!(!this.isValid()||!c.isValid())&&(b=K(p(b)?"millisecond":b),"millisecond"===b?this.valueOf()>c.valueOf():c.valueOf()<this.clone().startOf(b).valueOf())}function Yb(a,b){var c=s(a)?a:sb(a);return!(!this.isValid()||!c.isValid())&&(b=K(p(b)?"millisecond":b),"millisecond"===b?this.valueOf()<c.valueOf():this.clone().endOf(b).valueOf()<c.valueOf())}function Zb(a,b,c,d){return d=d||"()",("("===d[0]?this.isAfter(a,c):!this.isBefore(a,c))&&(")"===d[1]?this.isBefore(b,c):!this.isAfter(b,c))}function $b(a,b){var c,d=s(a)?a:sb(a);return!(!this.isValid()||!d.isValid())&&(b=K(b||"millisecond"),"millisecond"===b?this.valueOf()===d.valueOf():(c=d.valueOf(),this.clone().startOf(b).valueOf()<=c&&c<=this.clone().endOf(b).valueOf()))}function _b(a,
b){return this.isSame(a,b)||this.isAfter(a,b)}function ac(a,b){return this.isSame(a,b)||this.isBefore(a,b)}function bc(a,b,c){var d,e,f,g;// 1000
-// 1000 * 60
-// 1000 * 60 * 60
-// 1000 * 60 * 60 * 24, negate dst
-// 1000 * 60 * 60 * 24 * 7, negate dst
-return this.isValid()?(d=Bb(a,this),d.isValid()?(e=6e4*(d.utcOffset()-this.utcOffset()),b=K(b),"year"===b||"month"===b||"quarter"===b?(g=cc(this,d),"quarter"===b?g/=3:"year"===b&&(g/=12)):(f=this-d,g="second"===b?f/1e3:"minute"===b?f/6e4:"hour"===b?f/36e5:"day"===b?(f-e)/864e5:"week"===b?(f-e)/6048e5:f),c?g:t(g)):NaN):NaN}function cc(a,b){
-// difference in months
-var c,d,e=12*(b.year()-a.year())+(b.month()-a.month()),
-// b is in (anchor - 1 month, anchor + 1 month)
-f=a.clone().add(e,"months");
-//check for negative zero, return zero if negative zero
-// linear across the month
-// linear across the month
-return b-f<0?(c=a.clone().add(e-1,"months"),d=(b-f)/(f-c)):(c=a.clone().add(e+1,"months"),d=(b-f)/(c-f)),-(e+d)||0}function dc(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")}function ec(){var a=this.clone().utc();return 0<a.year()&&a.year()<=9999?z(Date.prototype.toISOString)?this.toDate().toISOString():X(a,"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]"):X(a,"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]")}/**
- * Return a human readable representation of a moment that can
- * also be evaluated to get a new moment which is the same
- *
- * @link https://nodejs.org/dist/latest/docs/api/util.html#util_custom_inspect_function_on_objects
- */
-function fc(){if(!this.isValid())return"moment.invalid(/* "+this._i+" */)";var a="moment",b="";this.isLocal()||(a=0===this.utcOffset()?"moment.utc":"moment.parseZone",b="Z");var c="["+a+'("]',d=0<this.year()&&this.year()<=9999?"YYYY":"YYYYYY",e="-MM-DD[T]HH:mm:ss.SSS",f=b+'[")]';return this.format(c+d+e+f)}function gc(b){b||(b=this.isUtc()?a.defaultFormatUtc:a.defaultFormat);var c=X(this,b);return this.localeData().postformat(c)}function hc(a,b){return this.isValid()&&(s(a)&&a.isValid()||sb(a).isValid())?Ob({to:this,from:a}).locale(this.locale()).humanize(!b):this.localeData().invalidDate()}function ic(a){return this.from(sb(),a)}function jc(a,b){return this.isValid()&&(s(a)&&a.isValid()||sb(a).isValid())?Ob({from:this,to:a}).locale(this.locale()).humanize(!b):this.localeData().invalidDate()}function kc(a){return this.to(sb(),a)}
-// If passed a locale key, it will set the locale for this
-// instance. Otherwise, it will return the locale configuration
-// variables for this instance.
-function lc(a){var b;return void 0===a?this._locale._abbr:(b=bb(a),null!=b&&(this._locale=b),this)}function mc(){return this._locale}function nc(a){
-// the following switch intentionally omits break keywords
-// to utilize falling through the cases.
-switch(a=K(a)){case"year":this.month(0);/* falls through */
-case"quarter":case"month":this.date(1);/* falls through */
-case"week":case"isoWeek":case"day":case"date":this.hours(0);/* falls through */
-case"hour":this.minutes(0);/* falls through */
-case"minute":this.seconds(0);/* falls through */
-case"second":this.milliseconds(0)}
-// weeks are a special case
-// quarters are also special
-return"week"===a&&this.weekday(0),"isoWeek"===a&&this.isoWeekday(1),"quarter"===a&&this.month(3*Math.floor(this.month()/3)),this}function oc(a){
-// 'date' is an alias for 'day', so it should be considered as such.
-return a=K(a),void 0===a||"millisecond"===a?this:("date"===a&&(a="day"),this.startOf(a).add(1,"isoWeek"===a?"week":a).subtract(1,"ms"))}function pc(){return this._d.valueOf()-6e4*(this._offset||0)}function qc(){return Math.floor(this.valueOf()/1e3)}function rc(){return new Date(this.valueOf())}function sc(){var a=this;return[a.year(),a.month(),a.date(),a.hour(),a.minute(),a.second(),a.millisecond()]}function tc(){var a=this;return{years:a.year(),months:a.month(),date:a.date(),hours:a.hours(),minutes:a.minutes(),seconds:a.seconds(),milliseconds:a.milliseconds()}}function uc(){
-// new Date(NaN).toJSON() === null
-return this.isValid()?this.toISOString():null}function vc(){return n(this)}function wc(){return j({},m(this))}function xc(){return m(this).overflow}function yc(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}}function zc(a,b){U(0,[a,a.length],0,b)}
-// MOMENTS
-function Ac(a){return Ec.call(this,a,this.week(),this.weekday(),this.localeData()._week.dow,this.localeData()._week.doy)}function Bc(a){return Ec.call(this,a,this.isoWeek(),this.isoWeekday(),1,4)}function Cc(){return xa(this.year(),1,4)}function Dc(){var a=this.localeData()._week;return xa(this.year(),a.dow,a.doy)}function Ec(a,b,c,d,e){var f;return null==a?wa(this,d,e).year:(f=xa(a,d,e),b>f&&(b=f),Fc.call(this,a,b,c,d,e))}function Fc(a,b,c,d,e){var f=va(a,b,c,d,e),g=ta(f.year,0,f.dayOfYear);return this.year(g.getUTCFullYear()),this.month(g.getUTCMonth()),this.date(g.getUTCDate()),this}
-// MOMENTS
-function Gc(a){return null==a?Math.ceil((this.month()+1)/3):this.month(3*(a-1)+this.month()%3)}
-// HELPERS
-// MOMENTS
-function Hc(a){var b=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==a?b:this.add(a-b,"d")}function Ic(a,b){b[ge]=u(1e3*("0."+a))}
-// MOMENTS
-function Jc(){return this._isUTC?"UTC":""}function Kc(){return this._isUTC?"Coordinated Universal Time":""}function Lc(a){return sb(1e3*a)}function Mc(){return sb.apply(null,arguments).parseZone()}function Nc(a){return a}function Oc(a,b,c,d){var e=bb(),f=k().set(d,b);return e[c](f,a)}function Pc(a,b,c){if(f(a)&&(b=a,a=void 0),a=a||"",null!=b)return Oc(a,b,c,"month");var d,e=[];for(d=0;d<12;d++)e[d]=Oc(a,d,c,"month");return e}
-// ()
-// (5)
-// (fmt, 5)
-// (fmt)
-// (true)
-// (true, 5)
-// (true, fmt, 5)
-// (true, fmt)
-function Qc(a,b,c,d){"boolean"==typeof a?(f(b)&&(c=b,b=void 0),b=b||""):(b=a,c=b,a=!1,f(b)&&(c=b,b=void 0),b=b||"");var e=bb(),g=a?e._week.dow:0;if(null!=c)return Oc(b,(c+g)%7,d,"day");var h,i=[];for(h=0;h<7;h++)i[h]=Oc(b,(h+g)%7,d,"day");return i}function Rc(a,b){return Pc(a,b,"months")}function Sc(a,b){return Pc(a,b,"monthsShort")}function Tc(a,b,c){return Qc(a,b,c,"weekdays")}function Uc(a,b,c){return Qc(a,b,c,"weekdaysShort")}function Vc(a,b,c){return Qc(a,b,c,"weekdaysMin")}function Wc(){var a=this._data;return this._milliseconds=Ze(this._milliseconds),this._days=Ze(this._days),this._months=Ze(this._months),a.milliseconds=Ze(a.milliseconds),a.seconds=Ze(a.seconds),a.minutes=Ze(a.minutes),a.hours=Ze(a.hours),a.months=Ze(a.months),a.years=Ze(a.years),this}function Xc(a,b,c,d){var e=Ob(b,c);return a._milliseconds+=d*e._milliseconds,a._days+=d*e._days,a._months+=d*e._months,a._bubble()}
-// supports only 2.0-style add(1, 's') or add(duration)
-function Yc(a,b){return Xc(this,a,b,1)}
-// supports only 2.0-style subtract(1, 's') or subtract(duration)
-function Zc(a,b){return Xc(this,a,b,-1)}function $c(a){return a<0?Math.floor(a):Math.ceil(a)}function _c(){var a,b,c,d,e,f=this._milliseconds,g=this._days,h=this._months,i=this._data;
-// if we have a mix of positive and negative values, bubble down first
-// check: https://github.com/moment/moment/issues/2166
-// The following code bubbles up values, see the tests for
-// examples of what that means.
-// convert days to months
-// 12 months -> 1 year
-return f>=0&&g>=0&&h>=0||f<=0&&g<=0&&h<=0||(f+=864e5*$c(bd(h)+g),g=0,h=0),i.milliseconds=f%1e3,a=t(f/1e3),i.seconds=a%60,b=t(a/60),i.minutes=b%60,c=t(b/60),i.hours=c%24,g+=t(c/24),e=t(ad(g)),h+=e,g-=$c(bd(e)),d=t(h/12),h%=12,i.days=g,i.months=h,i.years=d,this}function ad(a){
-// 400 years have 146097 days (taking into account leap year rules)
-// 400 years have 12 months === 4800
-return 4800*a/146097}function bd(a){
-// the reverse of daysToMonths
-return 146097*a/4800}function cd(a){var b,c,d=this._milliseconds;if(a=K(a),"month"===a||"year"===a)return b=this._days+d/864e5,c=this._months+ad(b),"month"===a?c:c/12;switch(
-// handle milliseconds separately because of floating point math errors (issue #1867)
-b=this._days+Math.round(bd(this._months)),a){case"week":return b/7+d/6048e5;case"day":return b+d/864e5;case"hour":return 24*b+d/36e5;case"minute":return 1440*b+d/6e4;case"second":return 86400*b+d/1e3;
-// Math.floor prevents floating point math errors here
-case"millisecond":return Math.floor(864e5*b)+d;default:throw new Error("Unknown unit "+a)}}
-// TODO: Use this.as('ms')?
-function dd(){return this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*u(this._months/12)}function ed(a){return function(){return this.as(a)}}function fd(a){return a=K(a),this[a+"s"]()}function gd(a){return function(){return this._data[a]}}function hd(){return t(this.days()/7)}
-// helper function for moment.fn.from, moment.fn.fromNow, and moment.duration.fn.humanize
-function id(a,b,c,d,e){return e.relativeTime(b||1,!!c,a,d)}function jd(a,b,c){var d=Ob(a).abs(),e=of(d.as("s")),f=of(d.as("m")),g=of(d.as("h")),h=of(d.as("d")),i=of(d.as("M")),j=of(d.as("y")),k=e<pf.s&&["s",e]||f<=1&&["m"]||f<pf.m&&["mm",f]||g<=1&&["h"]||g<pf.h&&["hh",g]||h<=1&&["d"]||h<pf.d&&["dd",h]||i<=1&&["M"]||i<pf.M&&["MM",i]||j<=1&&["y"]||["yy",j];return k[2]=b,k[3]=+a>0,k[4]=c,id.apply(null,k)}
-// This function allows you to set the rounding function for relative time strings
-function kd(a){return void 0===a?of:"function"==typeof a&&(of=a,!0)}
-// This function allows you to set a threshold for relative time strings
-function ld(a,b){return void 0!==pf[a]&&(void 0===b?pf[a]:(pf[a]=b,!0))}function md(a){var b=this.localeData(),c=jd(this,!a,b);return a&&(c=b.pastFuture(+this,c)),b.postformat(c)}function nd(){
-// for ISO strings we do not use the normal bubbling rules:
-// * milliseconds bubble up until they become hours
-// * days do not bubble at all
-// * months bubble up until they become years
-// This is because there is no context-free conversion between hours and days
-// (think of clock changes)
-// and also not between days and months (28-31 days per month)
-var a,b,c,d=qf(this._milliseconds)/1e3,e=qf(this._days),f=qf(this._months);
-// 3600 seconds -> 60 minutes -> 1 hour
-a=t(d/60),b=t(a/60),d%=60,a%=60,
-// 12 months -> 1 year
-c=t(f/12),f%=12;
-// inspired by https://github.com/dordille/moment-isoduration/blob/master/moment.isoduration.js
-var g=c,h=f,i=e,j=b,k=a,l=d,m=this.asSeconds();return m?(m<0?"-":"")+"P"+(g?g+"Y":"")+(h?h+"M":"")+(i?i+"D":"")+(j||k||l?"T":"")+(j?j+"H":"")+(k?k+"M":"")+(l?l+"S":""):"P0D"}var od,pd;pd=Array.prototype.some?Array.prototype.some:function(a){for(var b=Object(this),c=b.length>>>0,d=0;d<c;d++)if(d in b&&a.call(this,b[d],d,b))return!0;return!1};var qd=pd,rd=a.momentProperties=[],sd=!1,td={};a.suppressDeprecationWarnings=!1,a.deprecationHandler=null;var ud;ud=Object.keys?Object.keys:function(a){var b,c=[];for(b in a)i(a,b)&&c.push(b);return c};var vd,wd=ud,xd={sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},yd={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},zd="Invalid date",Ad="%d",Bd=/\d{1,2}/,Cd={future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d
days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},Dd={},Ed={},Fd=/(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,Gd=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,Hd={},Id={},Jd=/\d/,Kd=/\d\d/,Ld=/\d{3}/,Md=/\d{4}/,Nd=/[+-]?\d{6}/,Od=/\d\d?/,Pd=/\d\d\d\d?/,Qd=/\d\d\d\d\d\d?/,Rd=/\d{1,3}/,Sd=/\d{1,4}/,Td=/[+-]?\d{1,6}/,Ud=/\d+/,Vd=/[+-]?\d+/,Wd=/Z|[+-]\d\d:?\d\d/gi,Xd=/Z|[+-]\d\d(?::?\d\d)?/gi,Yd=/[+-]?\d+(\.\d{1,3})?/,Zd=/[0-9]*['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+|[\u0600-\u06FF\/]+(\s*?[\u0600-\u06FF]+){1,2}/i,$d={},_d={},ae=0,be=1,ce=2,de=3,ee=4,fe=5,ge=6,he=7,ie=8;vd=Array.prototype.indexOf?Array.prototype.indexOf:function(a){
-// I know
-var b;for(b=0;b<this.length;++b)if(this[b]===a)return b;return-1};var je=vd;
-// FORMATTING
-U("M",["MM",2],"Mo",function(){return this.month()+1}),U("MMM",0,0,function(a){return this.localeData().monthsShort(this,a)}),U("MMMM",0,0,function(a){return this.localeData().months(this,a)}),
-// ALIASES
-J("month","M"),
-// PRIORITY
-M("month",8),
-// PARSING
-Z("M",Od),Z("MM",Od,Kd),Z("MMM",function(a,b){return b.monthsShortRegex(a)}),Z("MMMM",function(a,b){return b.monthsRegex(a)}),ba(["M","MM"],function(a,b){b[be]=u(a)-1}),ba(["MMM","MMMM"],function(a,b,c,d){var e=c._locale.monthsParse(a,d,c._strict);
-// if we didn't find a month name, mark the date as invalid.
-null!=e?b[be]=e:m(c).invalidMonth=a});
-// LOCALES
-var ke=/D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/,le="January_February_March_April_May_June_July_August_September_October_November_December".split("_"),me="Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),ne=Zd,oe=Zd;
-// FORMATTING
-U("Y",0,0,function(){var a=this.year();return a<=9999?""+a:"+"+a}),U(0,["YY",2],0,function(){return this.year()%100}),U(0,["YYYY",4],0,"year"),U(0,["YYYYY",5],0,"year"),U(0,["YYYYYY",6,!0],0,"year"),
-// ALIASES
-J("year","y"),
-// PRIORITIES
-M("year",1),
-// PARSING
-Z("Y",Vd),Z("YY",Od,Kd),Z("YYYY",Sd,Md),Z("YYYYY",Td,Nd),Z("YYYYYY",Td,Nd),ba(["YYYYY","YYYYYY"],ae),ba("YYYY",function(b,c){c[ae]=2===b.length?a.parseTwoDigitYear(b):u(b)}),ba("YY",function(b,c){c[ae]=a.parseTwoDigitYear(b)}),ba("Y",function(a,b){b[ae]=parseInt(a,10)}),
-// HOOKS
-a.parseTwoDigitYear=function(a){return u(a)+(u(a)>68?1900:2e3)};
-// MOMENTS
-var pe=O("FullYear",!0);
-// FORMATTING
-U("w",["ww",2],"wo","week"),U("W",["WW",2],"Wo","isoWeek"),
-// ALIASES
-J("week","w"),J("isoWeek","W"),
-// PRIORITIES
-M("week",5),M("isoWeek",5),
-// PARSING
-Z("w",Od),Z("ww",Od,Kd),Z("W",Od),Z("WW",Od,Kd),ca(["w","ww","W","WW"],function(a,b,c,d){b[d.substr(0,1)]=u(a)});var qe={dow:0,// Sunday is the first day of the week.
-doy:6};
-// FORMATTING
-U("d",0,"do","day"),U("dd",0,0,function(a){return this.localeData().weekdaysMin(this,a)}),U("ddd",0,0,function(a){return this.localeData().weekdaysShort(this,a)}),U("dddd",0,0,function(a){return this.localeData().weekdays(this,a)}),U("e",0,0,"weekday"),U("E",0,0,"isoWeekday"),
-// ALIASES
-J("day","d"),J("weekday","e"),J("isoWeekday","E"),
-// PRIORITY
-M("day",11),M("weekday",11),M("isoWeekday",11),
-// PARSING
-Z("d",Od),Z("e",Od),Z("E",Od),Z("dd",function(a,b){return b.weekdaysMinRegex(a)}),Z("ddd",function(a,b){return b.weekdaysShortRegex(a)}),Z("dddd",function(a,b){return b.weekdaysRegex(a)}),ca(["dd","ddd","dddd"],function(a,b,c,d){var e=c._locale.weekdaysParse(a,d,c._strict);
-// if we didn't get a weekday name, mark the date as invalid
-null!=e?b.d=e:m(c).invalidWeekday=a}),ca(["d","e","E"],function(a,b,c,d){b[d]=u(a)});
-// LOCALES
-var re="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),se="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),te="Su_Mo_Tu_We_Th_Fr_Sa".split("_"),ue=Zd,ve=Zd,we=Zd;U("H",["HH",2],0,"hour"),U("h",["hh",2],0,Ra),U("k",["kk",2],0,Sa),U("hmm",0,0,function(){return""+Ra.apply(this)+T(this.minutes(),2)}),U("hmmss",0,0,function(){return""+Ra.apply(this)+T(this.minutes(),2)+T(this.seconds(),2)}),U("Hmm",0,0,function(){return""+this.hours()+T(this.minutes(),2)}),U("Hmmss",0,0,function(){return""+this.hours()+T(this.minutes(),2)+T(this.seconds(),2)}),Ta("a",!0),Ta("A",!1),
-// ALIASES
-J("hour","h"),
-// PRIORITY
-M("hour",13),Z("a",Ua),Z("A",Ua),Z("H",Od),Z("h",Od),Z("HH",Od,Kd),Z("hh",Od,Kd),Z("hmm",Pd),Z("hmmss",Qd),Z("Hmm",Pd),Z("Hmmss",Qd),ba(["H","HH"],de),ba(["a","A"],function(a,b,c){c._isPm=c._locale.isPM(a),c._meridiem=a}),ba(["h","hh"],function(a,b,c){b[de]=u(a),m(c).bigHour=!0}),ba("hmm",function(a,b,c){var d=a.length-2;b[de]=u(a.substr(0,d)),b[ee]=u(a.substr(d)),m(c).bigHour=!0}),ba("hmmss",function(a,b,c){var d=a.length-4,e=a.length-2;b[de]=u(a.substr(0,d)),b[ee]=u(a.substr(d,2)),b[fe]=u(a.substr(e)),m(c).bigHour=!0}),ba("Hmm",function(a,b,c){var d=a.length-2;b[de]=u(a.substr(0,d)),b[ee]=u(a.substr(d))}),ba("Hmmss",function(a,b,c){var d=a.length-4,e=a.length-2;b[de]=u(a.substr(0,d)),b[ee]=u(a.substr(d,2)),b[fe]=u(a.substr(e))});var xe,ye=/[ap]\.?m?\.?/i,ze=O("Hours",!0),Ae={calendar:xd,longDateFormat:yd,invalidDate:zd,ordinal:Ad,ordinalParse:Bd,relativeTime:Cd,months:le,monthsShort:me,week:qe,weekdays:re,weekdaysMin:te,weekdaysShort:se,meridiemParse:ye},Be={},Ce={},De=/^\s*((?:[+
-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,Ee=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,Fe=/Z|[+-]\d\d(?::?\d\d)?/,Ge=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],
-// YYYYMM is NOT allowed by the standard
-["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/]],He=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],Ie=/^\/?Date\((\-?\d+)/i;a.createFromInputFallback=x("value provided is not in a recognized ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non ISO date formats are discouraged and will be removed in an upcoming major release. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.",function(a){a._d=new Date(a._i+(a._useUTC?" UTC":""))}),
-// constant that refers to the ISO standard
-a.ISO_8601=function(){};var Je=x("moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/",function(){var a=sb.apply(null,arguments);return this.isValid()&&a.isValid()?a<this?this:a:o()}),Ke=x("moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/",function(){var a=sb.apply(null,arguments);return this.isValid()&&a.isValid()?a>this?this:a:o()}),Le=function(){return Date.now?Date.now():+new Date};zb("Z",":"),zb("ZZ",""),
-// PARSING
-Z("Z",Xd),Z("ZZ",Xd),ba(["Z","ZZ"],function(a,b,c){c._useUTC=!0,c._tzm=Ab(Xd,a)});
-// HELPERS
-// timezone chunker
-// '+10:00' > ['10', '00']
-// '-1530' > ['-15', '30']
-var Me=/([\+\-]|\d\d)/gi;
-// HOOKS
-// This function will be called whenever a moment is mutated.
-// It is intended to keep the offset in sync with the timezone.
-a.updateOffset=function(){};
-// ASP.NET json date format regex
-var Ne=/^(\-)?(?:(\d*)[. ])?(\d+)\:(\d+)(?:\:(\d+)(\.\d*)?)?$/,Oe=/^(-)?P(?:(-?[0-9,.]*)Y)?(?:(-?[0-9,.]*)M)?(?:(-?[0-9,.]*)W)?(?:(-?[0-9,.]*)D)?(?:T(?:(-?[0-9,.]*)H)?(?:(-?[0-9,.]*)M)?(?:(-?[0-9,.]*)S)?)?$/;Ob.fn=wb.prototype;var Pe=Sb(1,"add"),Qe=Sb(-1,"subtract");a.defaultFormat="YYYY-MM-DDTHH:mm:ssZ",a.defaultFormatUtc="YYYY-MM-DDTHH:mm:ss[Z]";var Re=x("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",function(a){return void 0===a?this.localeData():this.locale(a)});
-// FORMATTING
-U(0,["gg",2],0,function(){return this.weekYear()%100}),U(0,["GG",2],0,function(){return this.isoWeekYear()%100}),zc("gggg","weekYear"),zc("ggggg","weekYear"),zc("GGGG","isoWeekYear"),zc("GGGGG","isoWeekYear"),
-// ALIASES
-J("weekYear","gg"),J("isoWeekYear","GG"),
-// PRIORITY
-M("weekYear",1),M("isoWeekYear",1),
-// PARSING
-Z("G",Vd),Z("g",Vd),Z("GG",Od,Kd),Z("gg",Od,Kd),Z("GGGG",Sd,Md),Z("gggg",Sd,Md),Z("GGGGG",Td,Nd),Z("ggggg",Td,Nd),ca(["gggg","ggggg","GGGG","GGGGG"],function(a,b,c,d){b[d.substr(0,2)]=u(a)}),ca(["gg","GG"],function(b,c,d,e){c[e]=a.parseTwoDigitYear(b)}),
-// FORMATTING
-U("Q",0,"Qo","quarter"),
-// ALIASES
-J("quarter","Q"),
-// PRIORITY
-M("quarter",7),
-// PARSING
-Z("Q",Jd),ba("Q",function(a,b){b[be]=3*(u(a)-1)}),
-// FORMATTING
-U("D",["DD",2],"Do","date"),
-// ALIASES
-J("date","D"),
-// PRIOROITY
-M("date",9),
-// PARSING
-Z("D",Od),Z("DD",Od,Kd),Z("Do",function(a,b){return a?b._ordinalParse:b._ordinalParseLenient}),ba(["D","DD"],ce),ba("Do",function(a,b){b[ce]=u(a.match(Od)[0],10)});
-// MOMENTS
-var Se=O("Date",!0);
-// FORMATTING
-U("DDD",["DDDD",3],"DDDo","dayOfYear"),
-// ALIASES
-J("dayOfYear","DDD"),
-// PRIORITY
-M("dayOfYear",4),
-// PARSING
-Z("DDD",Rd),Z("DDDD",Ld),ba(["DDD","DDDD"],function(a,b,c){c._dayOfYear=u(a)}),
-// FORMATTING
-U("m",["mm",2],0,"minute"),
-// ALIASES
-J("minute","m"),
-// PRIORITY
-M("minute",14),
-// PARSING
-Z("m",Od),Z("mm",Od,Kd),ba(["m","mm"],ee);
-// MOMENTS
-var Te=O("Minutes",!1);
-// FORMATTING
-U("s",["ss",2],0,"second"),
-// ALIASES
-J("second","s"),
-// PRIORITY
-M("second",15),
-// PARSING
-Z("s",Od),Z("ss",Od,Kd),ba(["s","ss"],fe);
-// MOMENTS
-var Ue=O("Seconds",!1);
-// FORMATTING
-U("S",0,0,function(){return~~(this.millisecond()/100)}),U(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),U(0,["SSS",3],0,"millisecond"),U(0,["SSSS",4],0,function(){return 10*this.millisecond()}),U(0,["SSSSS",5],0,function(){return 100*this.millisecond()}),U(0,["SSSSSS",6],0,function(){return 1e3*this.millisecond()}),U(0,["SSSSSSS",7],0,function(){return 1e4*this.millisecond()}),U(0,["SSSSSSSS",8],0,function(){return 1e5*this.millisecond()}),U(0,["SSSSSSSSS",9],0,function(){return 1e6*this.millisecond()}),
-// ALIASES
-J("millisecond","ms"),
-// PRIORITY
-M("millisecond",16),
-// PARSING
-Z("S",Rd,Jd),Z("SS",Rd,Kd),Z("SSS",Rd,Ld);var Ve;for(Ve="SSSS";Ve.length<=9;Ve+="S")Z(Ve,Ud);for(Ve="S";Ve.length<=9;Ve+="S")ba(Ve,Ic);
-// MOMENTS
-var We=O("Milliseconds",!1);
-// FORMATTING
-U("z",0,0,"zoneAbbr"),U("zz",0,0,"zoneName");var Xe=r.prototype;Xe.add=Pe,Xe.calendar=Vb,Xe.clone=Wb,Xe.diff=bc,Xe.endOf=oc,Xe.format=gc,Xe.from=hc,Xe.fromNow=ic,Xe.to=jc,Xe.toNow=kc,Xe.get=R,Xe.invalidAt=xc,Xe.isAfter=Xb,Xe.isBefore=Yb,Xe.isBetween=Zb,Xe.isSame=$b,Xe.isSameOrAfter=_b,Xe.isSameOrBefore=ac,Xe.isValid=vc,Xe.lang=Re,Xe.locale=lc,Xe.localeData=mc,Xe.max=Ke,Xe.min=Je,Xe.parsingFlags=wc,Xe.set=S,Xe.startOf=nc,Xe.subtract=Qe,Xe.toArray=sc,Xe.toObject=tc,Xe.toDate=rc,Xe.toISOString=ec,Xe.inspect=fc,Xe.toJSON=uc,Xe.toString=dc,Xe.unix=qc,Xe.valueOf=pc,Xe.creationData=yc,
-// Year
-Xe.year=pe,Xe.isLeapYear=ra,
-// Week Year
-Xe.weekYear=Ac,Xe.isoWeekYear=Bc,
-// Quarter
-Xe.quarter=Xe.quarters=Gc,
-// Month
-Xe.month=ka,Xe.daysInMonth=la,
-// Week
-Xe.week=Xe.weeks=Ba,Xe.isoWeek=Xe.isoWeeks=Ca,Xe.weeksInYear=Dc,Xe.isoWeeksInYear=Cc,
-// Day
-Xe.date=Se,Xe.day=Xe.days=Ka,Xe.weekday=La,Xe.isoWeekday=Ma,Xe.dayOfYear=Hc,
-// Hour
-Xe.hour=Xe.hours=ze,
-// Minute
-Xe.minute=Xe.minutes=Te,
-// Second
-Xe.second=Xe.seconds=Ue,
-// Millisecond
-Xe.millisecond=Xe.milliseconds=We,
-// Offset
-Xe.utcOffset=Db,Xe.utc=Fb,Xe.local=Gb,Xe.parseZone=Hb,Xe.hasAlignedHourOffset=Ib,Xe.isDST=Jb,Xe.isLocal=Lb,Xe.isUtcOffset=Mb,Xe.isUtc=Nb,Xe.isUTC=Nb,
-// Timezone
-Xe.zoneAbbr=Jc,Xe.zoneName=Kc,
-// Deprecations
-Xe.dates=x("dates accessor is deprecated. Use date instead.",Se),Xe.months=x("months accessor is deprecated. Use month instead",ka),Xe.years=x("years accessor is deprecated. Use year instead",pe),Xe.zone=x("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",Eb),Xe.isDSTShifted=x("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",Kb);var Ye=C.prototype;Ye.calendar=D,Ye.longDateFormat=E,Ye.invalidDate=F,Ye.ordinal=G,Ye.preparse=Nc,Ye.postformat=Nc,Ye.relativeTime=H,Ye.pastFuture=I,Ye.set=A,
-// Month
-Ye.months=fa,Ye.monthsShort=ga,Ye.monthsParse=ia,Ye.monthsRegex=na,Ye.monthsShortRegex=ma,
-// Week
-Ye.week=ya,Ye.firstDayOfYear=Aa,Ye.firstDayOfWeek=za,
-// Day of Week
-Ye.weekdays=Fa,Ye.weekdaysMin=Ha,Ye.weekdaysShort=Ga,Ye.weekdaysParse=Ja,Ye.weekdaysRegex=Na,Ye.weekdaysShortRegex=Oa,Ye.weekdaysMinRegex=Pa,
-// Hours
-Ye.isPM=Va,Ye.meridiem=Wa,$a("en",{ordinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(a){var b=a%10,c=1===u(a%100/10)?"th":1===b?"st":2===b?"nd":3===b?"rd":"th";return a+c}}),
-// Side effect imports
-a.lang=x("moment.lang is deprecated. Use moment.locale instead.",$a),a.langData=x("moment.langData is deprecated. Use moment.localeData instead.",bb);var Ze=Math.abs,$e=ed("ms"),_e=ed("s"),af=ed("m"),bf=ed("h"),cf=ed("d"),df=ed("w"),ef=ed("M"),ff=ed("y"),gf=gd("milliseconds"),hf=gd("seconds"),jf=gd("minutes"),kf=gd("hours"),lf=gd("days"),mf=gd("months"),nf=gd("years"),of=Math.round,pf={s:45,// seconds to minute
-m:45,// minutes to hour
-h:22,// hours to day
-d:26,// days to month
-M:11},qf=Math.abs,rf=wb.prototype;
-// Deprecations
-// Side effect imports
-// FORMATTING
-// PARSING
-// Side effect imports
-return rf.abs=Wc,rf.add=Yc,rf.subtract=Zc,rf.as=cd,rf.asMilliseconds=$e,rf.asSeconds=_e,rf.asMinutes=af,rf.asHours=bf,rf.asDays=cf,rf.asWeeks=df,rf.asMonths=ef,rf.asYears=ff,rf.valueOf=dd,rf._bubble=_c,rf.get=fd,rf.milliseconds=gf,rf.seconds=hf,rf.minutes=jf,rf.hours=kf,rf.days=lf,rf.weeks=hd,rf.months=mf,rf.years=nf,rf.humanize=md,rf.toISOString=nd,rf.toString=nd,rf.toJSON=nd,rf.locale=lc,rf.localeData=mc,rf.toIsoString=x("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",nd),rf.lang=Re,U("X",0,0,"unix"),U("x",0,0,"valueOf"),Z("x",Vd),Z("X",Yd),ba("X",function(a,b,c){c._d=new Date(1e3*parseFloat(a,10))}),ba("x",function(a,b,c){c._d=new Date(u(a))}),a.version="2.17.1",b(sb),a.fn=Xe,a.min=ub,a.max=vb,a.now=Le,a.utc=k,a.unix=Lc,a.months=Rc,a.isDate=g,a.locale=$a,a.invalid=o,a.duration=Ob,a.isMoment=s,a.weekdays=Tc,a.parseZone=Mc,a.localeData=bb,a.isDuration=xb,a.monthsShort=Sc,a.weekdaysMin=Vc,a.defineLocale=_a,a.updateLocale=ab,a.locales=cb,a.weekda
ysShort=Uc,a.normalizeUnits=K,a.relativeTimeRounding=kd,a.relativeTimeThreshold=ld,a.calendarFormat=Ub,a.prototype=Xe,a});
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/assets/themes/mahout2/css/bootstrap-theme.min.css
----------------------------------------------------------------------
diff --git a/website-old/assets/themes/mahout2/css/bootstrap-theme.min.css b/website-old/assets/themes/mahout2/css/bootstrap-theme.min.css
deleted file mode 100644
index c7b6d39..0000000
--- a/website-old/assets/themes/mahout2/css/bootstrap-theme.min.css
+++ /dev/null
@@ -1,7 +0,0 @@
-/*!
- * Bootstrap v3.0.3 (http://getbootstrap.com)
- * Copyright 2013 Twitter, Inc.
- * Licensed under http://www.apache.org/licenses/LICENSE-2.0
- */
-
-.btn-default,.btn-primary,.btn-success,.btn-info,.btn-warning,.btn-danger{text-shadow:0 -1px 0 rgba(0,0,0,0.2);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.15),0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 0 rgba(255,255,255,0.15),0 1px 1px rgba(0,0,0,0.075)}.btn-default:active,.btn-primary:active,.btn-success:active,.btn-info:active,.btn-warning:active,.btn-danger:active,.btn-default.active,.btn-primary.active,.btn-success.active,.btn-info.active,.btn-warning.active,.btn-danger.active{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.btn:active,.btn.active{background-image:none}.btn-default{text-shadow:0 1px 0 #fff;background-image:-webkit-linear-gradient(top,#fff 0,#e0e0e0 100%);background-image:linear-gradient(to bottom,#fff 0,#e0e0e0 100%);background-repeat:repeat-x;border-color:#dbdbdb;border-color:#ccc;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff',endColorstr='#ffe0e0e0',GradientType=0);
filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-default:hover,.btn-default:focus{background-color:#e0e0e0;background-position:0 -15px}.btn-default:active,.btn-default.active{background-color:#e0e0e0;border-color:#dbdbdb}.btn-primary{background-image:-webkit-linear-gradient(top,#428bca 0,#2d6ca2 100%);background-image:linear-gradient(to bottom,#428bca 0,#2d6ca2 100%);background-repeat:repeat-x;border-color:#2b669a;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca',endColorstr='#ff2d6ca2',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-primary:hover,.btn-primary:focus{background-color:#2d6ca2;background-position:0 -15px}.btn-primary:active,.btn-primary.active{background-color:#2d6ca2;border-color:#2b669a}.btn-success{background-image:-webkit-linear-gradient(top,#5cb85c 0,#419641 100%);background-image:linear-gradient(to bottom,#5cb85c 0,#419641 100%);background-repeat:repeat-x;border-color:#3e8f3e;fil
ter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c',endColorstr='#ff419641',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-success:hover,.btn-success:focus{background-color:#419641;background-position:0 -15px}.btn-success:active,.btn-success.active{background-color:#419641;border-color:#3e8f3e}.btn-warning{background-image:-webkit-linear-gradient(top,#f0ad4e 0,#eb9316 100%);background-image:linear-gradient(to bottom,#f0ad4e 0,#eb9316 100%);background-repeat:repeat-x;border-color:#e38d13;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e',endColorstr='#ffeb9316',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-warning:hover,.btn-warning:focus{background-color:#eb9316;background-position:0 -15px}.btn-warning:active,.btn-warning.active{background-color:#eb9316;border-color:#e38d13}.btn-danger{background-image:-webkit-linear-gradient(top,#d9534f 0,#c12e2a 100%);backgr
ound-image:linear-gradient(to bottom,#d9534f 0,#c12e2a 100%);background-repeat:repeat-x;border-color:#b92c28;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f',endColorstr='#ffc12e2a',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-danger:hover,.btn-danger:focus{background-color:#c12e2a;background-position:0 -15px}.btn-danger:active,.btn-danger.active{background-color:#c12e2a;border-color:#b92c28}.btn-info{background-image:-webkit-linear-gradient(top,#5bc0de 0,#2aabd2 100%);background-image:linear-gradient(to bottom,#5bc0de 0,#2aabd2 100%);background-repeat:repeat-x;border-color:#28a4c9;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de',endColorstr='#ff2aabd2',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-info:hover,.btn-info:focus{background-color:#2aabd2;background-position:0 -15px}.btn-info:active,.btn-info.active{background-color:#2aabd2;border-color:#2
8a4c9}.thumbnail,.img-thumbnail{-webkit-box-shadow:0 1px 2px rgba(0,0,0,0.075);box-shadow:0 1px 2px rgba(0,0,0,0.075)}.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus{background-color:#e8e8e8;background-image:-webkit-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:linear-gradient(to bottom,#f5f5f5 0,#e8e8e8 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5',endColorstr='#ffe8e8e8',GradientType=0)}.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus{background-color:#357ebd;background-image:-webkit-linear-gradient(top,#428bca 0,#357ebd 100%);background-image:linear-gradient(to bottom,#428bca 0,#357ebd 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca',endColorstr='#ff357ebd',GradientType=0)}.navbar-default{background-image:-webkit-linear-gradient(top,#fff 0,#f8f8f8 100%);background-image:linear-gradient(to bottom,#fff 0,
#f8f8f8 100%);background-repeat:repeat-x;border-radius:4px;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff',endColorstr='#fff8f8f8',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.15),0 1px 5px rgba(0,0,0,0.075);box-shadow:inset 0 1px 0 rgba(255,255,255,0.15),0 1px 5px rgba(0,0,0,0.075)}.navbar-default .navbar-nav>.active>a{background-image:-webkit-linear-gradient(top,#ebebeb 0,#f3f3f3 100%);background-image:linear-gradient(to bottom,#ebebeb 0,#f3f3f3 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb',endColorstr='#fff3f3f3',GradientType=0);-webkit-box-shadow:inset 0 3px 9px rgba(0,0,0,0.075);box-shadow:inset 0 3px 9px rgba(0,0,0,0.075)}.navbar-brand,.navbar-nav>li>a{text-shadow:0 1px 0 rgba(255,255,255,0.25)}.navbar-inverse{background-image:-webkit-linear-gradient(top,#3c3c3c 0,#222 100%);background-image:linear-gr
adient(to bottom,#3c3c3c 0,#222 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c',endColorstr='#ff222222',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.navbar-inverse .navbar-nav>.active>a{background-image:-webkit-linear-gradient(top,#222 0,#282828 100%);background-image:linear-gradient(to bottom,#222 0,#282828 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff222222',endColorstr='#ff282828',GradientType=0);-webkit-box-shadow:inset 0 3px 9px rgba(0,0,0,0.25);box-shadow:inset 0 3px 9px rgba(0,0,0,0.25)}.navbar-inverse .navbar-brand,.navbar-inverse .navbar-nav>li>a{text-shadow:0 -1px 0 rgba(0,0,0,0.25)}.navbar-static-top,.navbar-fixed-top,.navbar-fixed-bottom{border-radius:0}.alert{text-shadow:0 1px 0 rgba(255,255,255,0.2);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.25),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 0 1px 0 rgba(255,255
,255,0.25),0 1px 2px rgba(0,0,0,0.05)}.alert-success{background-image:-webkit-linear-gradient(top,#dff0d8 0,#c8e5bc 100%);background-image:linear-gradient(to bottom,#dff0d8 0,#c8e5bc 100%);background-repeat:repeat-x;border-color:#b2dba1;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8',endColorstr='#ffc8e5bc',GradientType=0)}.alert-info{background-image:-webkit-linear-gradient(top,#d9edf7 0,#b9def0 100%);background-image:linear-gradient(to bottom,#d9edf7 0,#b9def0 100%);background-repeat:repeat-x;border-color:#9acfea;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7',endColorstr='#ffb9def0',GradientType=0)}.alert-warning{background-image:-webkit-linear-gradient(top,#fcf8e3 0,#f8efc0 100%);background-image:linear-gradient(to bottom,#fcf8e3 0,#f8efc0 100%);background-repeat:repeat-x;border-color:#f5e79e;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3',endColorstr='#fff8efc0',GradientType=0)}.alert-danger{bac
kground-image:-webkit-linear-gradient(top,#f2dede 0,#e7c3c3 100%);background-image:linear-gradient(to bottom,#f2dede 0,#e7c3c3 100%);background-repeat:repeat-x;border-color:#dca7a7;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede',endColorstr='#ffe7c3c3',GradientType=0)}.progress{background-image:-webkit-linear-gradient(top,#ebebeb 0,#f5f5f5 100%);background-image:linear-gradient(to bottom,#ebebeb 0,#f5f5f5 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb',endColorstr='#fff5f5f5',GradientType=0)}.progress-bar{background-image:-webkit-linear-gradient(top,#428bca 0,#3071a9 100%);background-image:linear-gradient(to bottom,#428bca 0,#3071a9 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca',endColorstr='#ff3071a9',GradientType=0)}.progress-bar-success{background-image:-webkit-linear-gradient(top,#5cb85c 0,#449d44 100%);background-image:linear-gra
dient(to bottom,#5cb85c 0,#449d44 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c',endColorstr='#ff449d44',GradientType=0)}.progress-bar-info{background-image:-webkit-linear-gradient(top,#5bc0de 0,#31b0d5 100%);background-image:linear-gradient(to bottom,#5bc0de 0,#31b0d5 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de',endColorstr='#ff31b0d5',GradientType=0)}.progress-bar-warning{background-image:-webkit-linear-gradient(top,#f0ad4e 0,#ec971f 100%);background-image:linear-gradient(to bottom,#f0ad4e 0,#ec971f 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e',endColorstr='#ffec971f',GradientType=0)}.progress-bar-danger{background-image:-webkit-linear-gradient(top,#d9534f 0,#c9302c 100%);background-image:linear-gradient(to bottom,#d9534f 0,#c9302c 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.
Microsoft.gradient(startColorstr='#ffd9534f',endColorstr='#ffc9302c',GradientType=0)}.list-group{border-radius:4px;-webkit-box-shadow:0 1px 2px rgba(0,0,0,0.075);box-shadow:0 1px 2px rgba(0,0,0,0.075)}.list-group-item.active,.list-group-item.active:hover,.list-group-item.active:focus{text-shadow:0 -1px 0 #3071a9;background-image:-webkit-linear-gradient(top,#428bca 0,#3278b3 100%);background-image:linear-gradient(to bottom,#428bca 0,#3278b3 100%);background-repeat:repeat-x;border-color:#3278b3;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca',endColorstr='#ff3278b3',GradientType=0)}.panel{-webkit-box-shadow:0 1px 2px rgba(0,0,0,0.05);box-shadow:0 1px 2px rgba(0,0,0,0.05)}.panel-default>.panel-heading{background-image:-webkit-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:linear-gradient(to bottom,#f5f5f5 0,#e8e8e8 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5',endColorstr='#ffe8e8e8'
,GradientType=0)}.panel-primary>.panel-heading{background-image:-webkit-linear-gradient(top,#428bca 0,#357ebd 100%);background-image:linear-gradient(to bottom,#428bca 0,#357ebd 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca',endColorstr='#ff357ebd',GradientType=0)}.panel-success>.panel-heading{background-image:-webkit-linear-gradient(top,#dff0d8 0,#d0e9c6 100%);background-image:linear-gradient(to bottom,#dff0d8 0,#d0e9c6 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8',endColorstr='#ffd0e9c6',GradientType=0)}.panel-info>.panel-heading{background-image:-webkit-linear-gradient(top,#d9edf7 0,#c4e3f3 100%);background-image:linear-gradient(to bottom,#d9edf7 0,#c4e3f3 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7',endColorstr='#ffc4e3f3',GradientType=0)}.panel-warning>.panel-heading{background-image:-webkit-l
inear-gradient(top,#fcf8e3 0,#faf2cc 100%);background-image:linear-gradient(to bottom,#fcf8e3 0,#faf2cc 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3',endColorstr='#fffaf2cc',GradientType=0)}.panel-danger>.panel-heading{background-image:-webkit-linear-gradient(top,#f2dede 0,#ebcccc 100%);background-image:linear-gradient(to bottom,#f2dede 0,#ebcccc 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede',endColorstr='#ffebcccc',GradientType=0)}.well{background-image:-webkit-linear-gradient(top,#e8e8e8 0,#f5f5f5 100%);background-image:linear-gradient(to bottom,#e8e8e8 0,#f5f5f5 100%);background-repeat:repeat-x;border-color:#dcdcdc;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8',endColorstr='#fff5f5f5',GradientType=0);-webkit-box-shadow:inset 0 1px 3px rgba(0,0,0,0.05),0 1px 0 rgba(255,255,255,0.1);box-shadow:inset 0 1px 3px rgba(0,0,0,0.05),0 1p
x 0 rgba(255,255,255,0.1)}
\ No newline at end of file
a***@apache.org
2017-12-21 04:53:10 UTC
Permalink
http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/assets/themes/mahout/bootstrap/css/bootstrap-theme.css
----------------------------------------------------------------------
diff --git a/website-old/assets/themes/mahout/bootstrap/css/bootstrap-theme.css b/website-old/assets/themes/mahout/bootstrap/css/bootstrap-theme.css
deleted file mode 100644
index c9c347e..0000000
--- a/website-old/assets/themes/mahout/bootstrap/css/bootstrap-theme.css
+++ /dev/null
@@ -1,459 +0,0 @@
-/*!
- * Bootstrap v3.0.2 by @fat and @mdo
- * Copyright 2013 Twitter, Inc.
- * Licensed under http://www.apache.org/licenses/LICENSE-2.0
- *
- * Designed and built with all the love in the world by @mdo and @fat.
- */
-
-.btn-default,
-.btn-primary,
-.btn-success,
-.btn-info,
-.btn-warning,
-.btn-danger {
- text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2);
- -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);
- box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);
-}
-
-.btn-default:active,
-.btn-primary:active,
-.btn-success:active,
-.btn-info:active,
-.btn-warning:active,
-.btn-danger:active,
-.btn-default.active,
-.btn-primary.active,
-.btn-success.active,
-.btn-info.active,
-.btn-warning.active,
-.btn-danger.active {
- -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
- box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
-}
-
-.btn:active,
-.btn.active {
- background-image: none;
-}
-
-.btn-default {
- text-shadow: 0 1px 0 #fff;
- background-image: -webkit-gradient(linear, left 0%, left 100%, from(#ffffff), to(#e0e0e0));
- background-image: -webkit-linear-gradient(top, #ffffff 0%, #e0e0e0 100%);
- background-image: -moz-linear-gradient(top, #ffffff 0%, #e0e0e0 100%);
- background-image: linear-gradient(to bottom, #ffffff 0%, #e0e0e0 100%);
- background-repeat: repeat-x;
- border-color: #dbdbdb;
- border-color: #ccc;
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe0e0e0', GradientType=0);
- filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
-}
-
-.btn-default:hover,
-.btn-default:focus {
- background-color: #e0e0e0;
- background-position: 0 -15px;
-}
-
-.btn-default:active,
-.btn-default.active {
- background-color: #e0e0e0;
- border-color: #dbdbdb;
-}
-
-.btn-primary {
- background-image: -webkit-gradient(linear, left 0%, left 100%, from(#428bca), to(#2d6ca2));
- background-image: -webkit-linear-gradient(top, #428bca 0%, #2d6ca2 100%);
- background-image: -moz-linear-gradient(top, #428bca 0%, #2d6ca2 100%);
- background-image: linear-gradient(to bottom, #428bca 0%, #2d6ca2 100%);
- background-repeat: repeat-x;
- border-color: #2b669a;
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff2d6ca2', GradientType=0);
- filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
-}
-
-.btn-primary:hover,
-.btn-primary:focus {
- background-color: #2d6ca2;
- background-position: 0 -15px;
-}
-
-.btn-primary:active,
-.btn-primary.active {
- background-color: #2d6ca2;
- border-color: #2b669a;
-}
-
-.btn-success {
- background-image: -webkit-gradient(linear, left 0%, left 100%, from(#5cb85c), to(#419641));
- background-image: -webkit-linear-gradient(top, #5cb85c 0%, #419641 100%);
- background-image: -moz-linear-gradient(top, #5cb85c 0%, #419641 100%);
- background-image: linear-gradient(to bottom, #5cb85c 0%, #419641 100%);
- background-repeat: repeat-x;
- border-color: #3e8f3e;
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff419641', GradientType=0);
- filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
-}
-
-.btn-success:hover,
-.btn-success:focus {
- background-color: #419641;
- background-position: 0 -15px;
-}
-
-.btn-success:active,
-.btn-success.active {
- background-color: #419641;
- border-color: #3e8f3e;
-}
-
-.btn-warning {
- background-image: -webkit-gradient(linear, left 0%, left 100%, from(#f0ad4e), to(#eb9316));
- background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #eb9316 100%);
- background-image: -moz-linear-gradient(top, #f0ad4e 0%, #eb9316 100%);
- background-image: linear-gradient(to bottom, #f0ad4e 0%, #eb9316 100%);
- background-repeat: repeat-x;
- border-color: #e38d13;
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffeb9316', GradientType=0);
- filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
-}
-
-.btn-warning:hover,
-.btn-warning:focus {
- background-color: #eb9316;
- background-position: 0 -15px;
-}
-
-.btn-warning:active,
-.btn-warning.active {
- background-color: #eb9316;
- border-color: #e38d13;
-}
-
-.btn-danger {
- background-image: -webkit-gradient(linear, left 0%, left 100%, from(#d9534f), to(#c12e2a));
- background-image: -webkit-linear-gradient(top, #d9534f 0%, #c12e2a 100%);
- background-image: -moz-linear-gradient(top, #d9534f 0%, #c12e2a 100%);
- background-image: linear-gradient(to bottom, #d9534f 0%, #c12e2a 100%);
- background-repeat: repeat-x;
- border-color: #b92c28;
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc12e2a', GradientType=0);
- filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
-}
-
-.btn-danger:hover,
-.btn-danger:focus {
- background-color: #c12e2a;
- background-position: 0 -15px;
-}
-
-.btn-danger:active,
-.btn-danger.active {
- background-color: #c12e2a;
- border-color: #b92c28;
-}
-
-.btn-info {
- background-image: -webkit-gradient(linear, left 0%, left 100%, from(#5bc0de), to(#2aabd2));
- background-image: -webkit-linear-gradient(top, #5bc0de 0%, #2aabd2 100%);
- background-image: -moz-linear-gradient(top, #5bc0de 0%, #2aabd2 100%);
- background-image: linear-gradient(to bottom, #5bc0de 0%, #2aabd2 100%);
- background-repeat: repeat-x;
- border-color: #28a4c9;
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2aabd2', GradientType=0);
- filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
-}
-
-.btn-info:hover,
-.btn-info:focus {
- background-color: #2aabd2;
- background-position: 0 -15px;
-}
-
-.btn-info:active,
-.btn-info.active {
- background-color: #2aabd2;
- border-color: #28a4c9;
-}
-
-.thumbnail,
-.img-thumbnail {
- -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);
- box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);
-}
-
-.dropdown-menu > li > a:hover,
-.dropdown-menu > li > a:focus {
- background-color: #e8e8e8;
- background-image: -webkit-gradient(linear, left 0%, left 100%, from(#f5f5f5), to(#e8e8e8));
- background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);
- background-image: -moz-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);
- background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%);
- background-repeat: repeat-x;
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);
-}
-
-.dropdown-menu > .active > a,
-.dropdown-menu > .active > a:hover,
-.dropdown-menu > .active > a:focus {
- background-color: #357ebd;
- background-image: -webkit-gradient(linear, left 0%, left 100%, from(#428bca), to(#357ebd));
- background-image: -webkit-linear-gradient(top, #428bca 0%, #357ebd 100%);
- background-image: -moz-linear-gradient(top, #428bca 0%, #357ebd 100%);
- background-image: linear-gradient(to bottom, #428bca 0%, #357ebd 100%);
- background-repeat: repeat-x;
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff357ebd', GradientType=0);
-}
-
-.navbar-default {
- background-image: -webkit-gradient(linear, left 0%, left 100%, from(#ffffff), to(#f8f8f8));
- background-image: -webkit-linear-gradient(top, #ffffff 0%, #f8f8f8 100%);
- background-image: -moz-linear-gradient(top, #ffffff 0%, #f8f8f8 100%);
- background-image: linear-gradient(to bottom, #ffffff 0%, #f8f8f8 100%);
- background-repeat: repeat-x;
- border-radius: 4px;
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff8f8f8', GradientType=0);
- filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
- -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 5px rgba(0, 0, 0, 0.075);
- box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 5px rgba(0, 0, 0, 0.075);
-}
-
-.navbar-default .navbar-nav > .active > a {
- background-image: -webkit-gradient(linear, left 0%, left 100%, from(#ebebeb), to(#f3f3f3));
- background-image: -webkit-linear-gradient(top, #ebebeb 0%, #f3f3f3 100%);
- background-image: -moz-linear-gradient(top, #ebebeb 0%, #f3f3f3 100%);
- background-image: linear-gradient(to bottom, #ebebeb 0%, #f3f3f3 100%);
- background-repeat: repeat-x;
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff3f3f3', GradientType=0);
- -webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.075);
- box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.075);
-}
-
-.navbar-brand,
-.navbar-nav > li > a {
- text-shadow: 0 1px 0 rgba(255, 255, 255, 0.25);
-}
-
-.navbar-inverse {
- background-image: -webkit-gradient(linear, left 0%, left 100%, from(#3c3c3c), to(#222222));
- background-image: -webkit-linear-gradient(top, #3c3c3c 0%, #222222 100%);
- background-image: -moz-linear-gradient(top, #3c3c3c 0%, #222222 100%);
- background-image: linear-gradient(to bottom, #3c3c3c 0%, #222222 100%);
- background-repeat: repeat-x;
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c', endColorstr='#ff222222', GradientType=0);
- filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
-}
-
-.navbar-inverse .navbar-nav > .active > a {
- background-image: -webkit-gradient(linear, left 0%, left 100%, from(#222222), to(#282828));
- background-image: -webkit-linear-gradient(top, #222222 0%, #282828 100%);
- background-image: -moz-linear-gradient(top, #222222 0%, #282828 100%);
- background-image: linear-gradient(to bottom, #222222 0%, #282828 100%);
- background-repeat: repeat-x;
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff222222', endColorstr='#ff282828', GradientType=0);
- -webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.25);
- box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.25);
-}
-
-.navbar-inverse .navbar-brand,
-.navbar-inverse .navbar-nav > li > a {
- text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
-}
-
-.navbar-static-top,
-.navbar-fixed-top,
-.navbar-fixed-bottom {
- border-radius: 0;
-}
-
-.alert {
- text-shadow: 0 1px 0 rgba(255, 255, 255, 0.2);
- -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 2px rgba(0, 0, 0, 0.05);
- box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 2px rgba(0, 0, 0, 0.05);
-}
-
-.alert-success {
- background-image: -webkit-gradient(linear, left 0%, left 100%, from(#dff0d8), to(#c8e5bc));
- background-image: -webkit-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%);
- background-image: -moz-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%);
- background-image: linear-gradient(to bottom, #dff0d8 0%, #c8e5bc 100%);
- background-repeat: repeat-x;
- border-color: #b2dba1;
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffc8e5bc', GradientType=0);
-}
-
-.alert-info {
- background-image: -webkit-gradient(linear, left 0%, left 100%, from(#d9edf7), to(#b9def0));
- background-image: -webkit-linear-gradient(top, #d9edf7 0%, #b9def0 100%);
- background-image: -moz-linear-gradient(top, #d9edf7 0%, #b9def0 100%);
- background-image: linear-gradient(to bottom, #d9edf7 0%, #b9def0 100%);
- background-repeat: repeat-x;
- border-color: #9acfea;
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffb9def0', GradientType=0);
-}
-
-.alert-warning {
- background-image: -webkit-gradient(linear, left 0%, left 100%, from(#fcf8e3), to(#f8efc0));
- background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%);
- background-image: -moz-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%);
- background-image: linear-gradient(to bottom, #fcf8e3 0%, #f8efc0 100%);
- background-repeat: repeat-x;
- border-color: #f5e79e;
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fff8efc0', GradientType=0);
-}
-
-.alert-danger {
- background-image: -webkit-gradient(linear, left 0%, left 100%, from(#f2dede), to(#e7c3c3));
- background-image: -webkit-linear-gradient(top, #f2dede 0%, #e7c3c3 100%);
- background-image: -moz-linear-gradient(top, #f2dede 0%, #e7c3c3 100%);
- background-image: linear-gradient(to bottom, #f2dede 0%, #e7c3c3 100%);
- background-repeat: repeat-x;
- border-color: #dca7a7;
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffe7c3c3', GradientType=0);
-}
-
-.progress {
- background-image: -webkit-gradient(linear, left 0%, left 100%, from(#ebebeb), to(#f5f5f5));
- background-image: -webkit-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%);
- background-image: -moz-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%);
- background-image: linear-gradient(to bottom, #ebebeb 0%, #f5f5f5 100%);
- background-repeat: repeat-x;
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff5f5f5', GradientType=0);
-}
-
-.progress-bar {
- background-image: -webkit-gradient(linear, left 0%, left 100%, from(#428bca), to(#3071a9));
- background-image: -webkit-linear-gradient(top, #428bca 0%, #3071a9 100%);
- background-image: -moz-linear-gradient(top, #428bca 0%, #3071a9 100%);
- background-image: linear-gradient(to bottom, #428bca 0%, #3071a9 100%);
- background-repeat: repeat-x;
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff3071a9', GradientType=0);
-}
-
-.progress-bar-success {
- background-image: -webkit-gradient(linear, left 0%, left 100%, from(#5cb85c), to(#449d44));
- background-image: -webkit-linear-gradient(top, #5cb85c 0%, #449d44 100%);
- background-image: -moz-linear-gradient(top, #5cb85c 0%, #449d44 100%);
- background-image: linear-gradient(to bottom, #5cb85c 0%, #449d44 100%);
- background-repeat: repeat-x;
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff449d44', GradientType=0);
-}
-
-.progress-bar-info {
- background-image: -webkit-gradient(linear, left 0%, left 100%, from(#5bc0de), to(#31b0d5));
- background-image: -webkit-linear-gradient(top, #5bc0de 0%, #31b0d5 100%);
- background-image: -moz-linear-gradient(top, #5bc0de 0%, #31b0d5 100%);
- background-image: linear-gradient(to bottom, #5bc0de 0%, #31b0d5 100%);
- background-repeat: repeat-x;
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff31b0d5', GradientType=0);
-}
-
-.progress-bar-warning {
- background-image: -webkit-gradient(linear, left 0%, left 100%, from(#f0ad4e), to(#ec971f));
- background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #ec971f 100%);
- background-image: -moz-linear-gradient(top, #f0ad4e 0%, #ec971f 100%);
- background-image: linear-gradient(to bottom, #f0ad4e 0%, #ec971f 100%);
- background-repeat: repeat-x;
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffec971f', GradientType=0);
-}
-
-.progress-bar-danger {
- background-image: -webkit-gradient(linear, left 0%, left 100%, from(#d9534f), to(#c9302c));
- background-image: -webkit-linear-gradient(top, #d9534f 0%, #c9302c 100%);
- background-image: -moz-linear-gradient(top, #d9534f 0%, #c9302c 100%);
- background-image: linear-gradient(to bottom, #d9534f 0%, #c9302c 100%);
- background-repeat: repeat-x;
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc9302c', GradientType=0);
-}
-
-.list-group {
- border-radius: 4px;
- -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);
- box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);
-}
-
-.list-group-item.active,
-.list-group-item.active:hover,
-.list-group-item.active:focus {
- text-shadow: 0 -1px 0 #3071a9;
- background-image: -webkit-gradient(linear, left 0%, left 100%, from(#428bca), to(#3278b3));
- background-image: -webkit-linear-gradient(top, #428bca 0%, #3278b3 100%);
- background-image: -moz-linear-gradient(top, #428bca 0%, #3278b3 100%);
- background-image: linear-gradient(to bottom, #428bca 0%, #3278b3 100%);
- background-repeat: repeat-x;
- border-color: #3278b3;
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff3278b3', GradientType=0);
-}
-
-.panel {
- -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
- box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
-}
-
-.panel-default > .panel-heading {
- background-image: -webkit-gradient(linear, left 0%, left 100%, from(#f5f5f5), to(#e8e8e8));
- background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);
- background-image: -moz-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);
- background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%);
- background-repeat: repeat-x;
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);
-}
-
-.panel-primary > .panel-heading {
- background-image: -webkit-gradient(linear, left 0%, left 100%, from(#428bca), to(#357ebd));
- background-image: -webkit-linear-gradient(top, #428bca 0%, #357ebd 100%);
- background-image: -moz-linear-gradient(top, #428bca 0%, #357ebd 100%);
- background-image: linear-gradient(to bottom, #428bca 0%, #357ebd 100%);
- background-repeat: repeat-x;
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff357ebd', GradientType=0);
-}
-
-.panel-success > .panel-heading {
- background-image: -webkit-gradient(linear, left 0%, left 100%, from(#dff0d8), to(#d0e9c6));
- background-image: -webkit-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%);
- background-image: -moz-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%);
- background-image: linear-gradient(to bottom, #dff0d8 0%, #d0e9c6 100%);
- background-repeat: repeat-x;
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffd0e9c6', GradientType=0);
-}
-
-.panel-info > .panel-heading {
- background-image: -webkit-gradient(linear, left 0%, left 100%, from(#d9edf7), to(#c4e3f3));
- background-image: -webkit-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%);
- background-image: -moz-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%);
- background-image: linear-gradient(to bottom, #d9edf7 0%, #c4e3f3 100%);
- background-repeat: repeat-x;
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffc4e3f3', GradientType=0);
-}
-
-.panel-warning > .panel-heading {
- background-image: -webkit-gradient(linear, left 0%, left 100%, from(#fcf8e3), to(#faf2cc));
- background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%);
- background-image: -moz-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%);
- background-image: linear-gradient(to bottom, #fcf8e3 0%, #faf2cc 100%);
- background-repeat: repeat-x;
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fffaf2cc', GradientType=0);
-}
-
-.panel-danger > .panel-heading {
- background-image: -webkit-gradient(linear, left 0%, left 100%, from(#f2dede), to(#ebcccc));
- background-image: -webkit-linear-gradient(top, #f2dede 0%, #ebcccc 100%);
- background-image: -moz-linear-gradient(top, #f2dede 0%, #ebcccc 100%);
- background-image: linear-gradient(to bottom, #f2dede 0%, #ebcccc 100%);
- background-repeat: repeat-x;
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffebcccc', GradientType=0);
-}
-
-.well {
- background-image: -webkit-gradient(linear, left 0%, left 100%, from(#e8e8e8), to(#f5f5f5));
- background-image: -webkit-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%);
- background-image: -moz-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%);
- background-image: linear-gradient(to bottom, #e8e8e8 0%, #f5f5f5 100%);
- background-repeat: repeat-x;
- border-color: #dcdcdc;
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8', endColorstr='#fff5f5f5', GradientType=0);
- -webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05), 0 1px 0 rgba(255, 255, 255, 0.1);
- box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05), 0 1px 0 rgba(255, 255, 255, 0.1);
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/assets/themes/mahout/bootstrap/css/bootstrap-theme.min.css
----------------------------------------------------------------------
diff --git a/website-old/assets/themes/mahout/bootstrap/css/bootstrap-theme.min.css b/website-old/assets/themes/mahout/bootstrap/css/bootstrap-theme.min.css
deleted file mode 100644
index 9164277..0000000
--- a/website-old/assets/themes/mahout/bootstrap/css/bootstrap-theme.min.css
+++ /dev/null
@@ -1,9 +0,0 @@
-/*!
- * Bootstrap v3.0.2 by @fat and @mdo
- * Copyright 2013 Twitter, Inc.
- * Licensed under http://www.apache.org/licenses/LICENSE-2.0
- *
- * Designed and built with all the love in the world by @mdo and @fat.
- */
-
-.btn-default,.btn-primary,.btn-success,.btn-info,.btn-warning,.btn-danger{text-shadow:0 -1px 0 rgba(0,0,0,0.2);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.15),0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 0 rgba(255,255,255,0.15),0 1px 1px rgba(0,0,0,0.075)}.btn-default:active,.btn-primary:active,.btn-success:active,.btn-info:active,.btn-warning:active,.btn-danger:active,.btn-default.active,.btn-primary.active,.btn-success.active,.btn-info.active,.btn-warning.active,.btn-danger.active{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.btn:active,.btn.active{background-image:none}.btn-default{text-shadow:0 1px 0 #fff;background-image:-webkit-gradient(linear,left 0,left 100%,from(#fff),to(#e0e0e0));background-image:-webkit-linear-gradient(top,#fff 0,#e0e0e0 100%);background-image:-moz-linear-gradient(top,#fff 0,#e0e0e0 100%);background-image:linear-gradient(to bottom,#fff 0,#e0e0e0 100%);background-repeat:repeat-x;border-col
or:#dbdbdb;border-color:#ccc;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff',endColorstr='#ffe0e0e0',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-default:hover,.btn-default:focus{background-color:#e0e0e0;background-position:0 -15px}.btn-default:active,.btn-default.active{background-color:#e0e0e0;border-color:#dbdbdb}.btn-primary{background-image:-webkit-gradient(linear,left 0,left 100%,from(#428bca),to(#2d6ca2));background-image:-webkit-linear-gradient(top,#428bca 0,#2d6ca2 100%);background-image:-moz-linear-gradient(top,#428bca 0,#2d6ca2 100%);background-image:linear-gradient(to bottom,#428bca 0,#2d6ca2 100%);background-repeat:repeat-x;border-color:#2b669a;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca',endColorstr='#ff2d6ca2',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-primary:hover,.btn-primary:focus{background-color:#2d6ca2;background-positio
n:0 -15px}.btn-primary:active,.btn-primary.active{background-color:#2d6ca2;border-color:#2b669a}.btn-success{background-image:-webkit-gradient(linear,left 0,left 100%,from(#5cb85c),to(#419641));background-image:-webkit-linear-gradient(top,#5cb85c 0,#419641 100%);background-image:-moz-linear-gradient(top,#5cb85c 0,#419641 100%);background-image:linear-gradient(to bottom,#5cb85c 0,#419641 100%);background-repeat:repeat-x;border-color:#3e8f3e;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c',endColorstr='#ff419641',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-success:hover,.btn-success:focus{background-color:#419641;background-position:0 -15px}.btn-success:active,.btn-success.active{background-color:#419641;border-color:#3e8f3e}.btn-warning{background-image:-webkit-gradient(linear,left 0,left 100%,from(#f0ad4e),to(#eb9316));background-image:-webkit-linear-gradient(top,#f0ad4e 0,#eb9316 100%);background-image:-moz-linear
-gradient(top,#f0ad4e 0,#eb9316 100%);background-image:linear-gradient(to bottom,#f0ad4e 0,#eb9316 100%);background-repeat:repeat-x;border-color:#e38d13;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e',endColorstr='#ffeb9316',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-warning:hover,.btn-warning:focus{background-color:#eb9316;background-position:0 -15px}.btn-warning:active,.btn-warning.active{background-color:#eb9316;border-color:#e38d13}.btn-danger{background-image:-webkit-gradient(linear,left 0,left 100%,from(#d9534f),to(#c12e2a));background-image:-webkit-linear-gradient(top,#d9534f 0,#c12e2a 100%);background-image:-moz-linear-gradient(top,#d9534f 0,#c12e2a 100%);background-image:linear-gradient(to bottom,#d9534f 0,#c12e2a 100%);background-repeat:repeat-x;border-color:#b92c28;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f',endColorstr='#ffc12e2a',GradientType=0);filter:progid:DXImageTr
ansform.Microsoft.gradient(enabled=false)}.btn-danger:hover,.btn-danger:focus{background-color:#c12e2a;background-position:0 -15px}.btn-danger:active,.btn-danger.active{background-color:#c12e2a;border-color:#b92c28}.btn-info{background-image:-webkit-gradient(linear,left 0,left 100%,from(#5bc0de),to(#2aabd2));background-image:-webkit-linear-gradient(top,#5bc0de 0,#2aabd2 100%);background-image:-moz-linear-gradient(top,#5bc0de 0,#2aabd2 100%);background-image:linear-gradient(to bottom,#5bc0de 0,#2aabd2 100%);background-repeat:repeat-x;border-color:#28a4c9;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de',endColorstr='#ff2aabd2',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-info:hover,.btn-info:focus{background-color:#2aabd2;background-position:0 -15px}.btn-info:active,.btn-info.active{background-color:#2aabd2;border-color:#28a4c9}.thumbnail,.img-thumbnail{-webkit-box-shadow:0 1px 2px rgba(0,0,0,0.075);box-shadow:0 1px 2
px rgba(0,0,0,0.075)}.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus{background-color:#e8e8e8;background-image:-webkit-gradient(linear,left 0,left 100%,from(#f5f5f5),to(#e8e8e8));background-image:-webkit-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:-moz-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:linear-gradient(to bottom,#f5f5f5 0,#e8e8e8 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5',endColorstr='#ffe8e8e8',GradientType=0)}.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus{background-color:#357ebd;background-image:-webkit-gradient(linear,left 0,left 100%,from(#428bca),to(#357ebd));background-image:-webkit-linear-gradient(top,#428bca 0,#357ebd 100%);background-image:-moz-linear-gradient(top,#428bca 0,#357ebd 100%);background-image:linear-gradient(to bottom,#428bca 0,#357ebd 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gr
adient(startColorstr='#ff428bca',endColorstr='#ff357ebd',GradientType=0)}.navbar-default{background-image:-webkit-gradient(linear,left 0,left 100%,from(#fff),to(#f8f8f8));background-image:-webkit-linear-gradient(top,#fff 0,#f8f8f8 100%);background-image:-moz-linear-gradient(top,#fff 0,#f8f8f8 100%);background-image:linear-gradient(to bottom,#fff 0,#f8f8f8 100%);background-repeat:repeat-x;border-radius:4px;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff',endColorstr='#fff8f8f8',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.15),0 1px 5px rgba(0,0,0,0.075);box-shadow:inset 0 1px 0 rgba(255,255,255,0.15),0 1px 5px rgba(0,0,0,0.075)}.navbar-default .navbar-nav>.active>a{background-image:-webkit-gradient(linear,left 0,left 100%,from(#ebebeb),to(#f3f3f3));background-image:-webkit-linear-gradient(top,#ebebeb 0,#f3f3f3 100%);background-image:-moz-linear-gradient(top,#ebebeb 0,#f3
f3f3 100%);background-image:linear-gradient(to bottom,#ebebeb 0,#f3f3f3 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb',endColorstr='#fff3f3f3',GradientType=0);-webkit-box-shadow:inset 0 3px 9px rgba(0,0,0,0.075);box-shadow:inset 0 3px 9px rgba(0,0,0,0.075)}.navbar-brand,.navbar-nav>li>a{text-shadow:0 1px 0 rgba(255,255,255,0.25)}.navbar-inverse{background-image:-webkit-gradient(linear,left 0,left 100%,from(#3c3c3c),to(#222));background-image:-webkit-linear-gradient(top,#3c3c3c 0,#222 100%);background-image:-moz-linear-gradient(top,#3c3c3c 0,#222 100%);background-image:linear-gradient(to bottom,#3c3c3c 0,#222 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c',endColorstr='#ff222222',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.navbar-inverse .navbar-nav>.active>a{background-image:-webkit-gradient(linear,left 0,left 100%,from(#222
),to(#282828));background-image:-webkit-linear-gradient(top,#222 0,#282828 100%);background-image:-moz-linear-gradient(top,#222 0,#282828 100%);background-image:linear-gradient(to bottom,#222 0,#282828 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff222222',endColorstr='#ff282828',GradientType=0);-webkit-box-shadow:inset 0 3px 9px rgba(0,0,0,0.25);box-shadow:inset 0 3px 9px rgba(0,0,0,0.25)}.navbar-inverse .navbar-brand,.navbar-inverse .navbar-nav>li>a{text-shadow:0 -1px 0 rgba(0,0,0,0.25)}.navbar-static-top,.navbar-fixed-top,.navbar-fixed-bottom{border-radius:0}.alert{text-shadow:0 1px 0 rgba(255,255,255,0.2);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.25),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 0 1px 0 rgba(255,255,255,0.25),0 1px 2px rgba(0,0,0,0.05)}.alert-success{background-image:-webkit-gradient(linear,left 0,left 100%,from(#dff0d8),to(#c8e5bc));background-image:-webkit-linear-gradient(top,#dff0d8 0,#c8e5bc 100%)
;background-image:-moz-linear-gradient(top,#dff0d8 0,#c8e5bc 100%);background-image:linear-gradient(to bottom,#dff0d8 0,#c8e5bc 100%);background-repeat:repeat-x;border-color:#b2dba1;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8',endColorstr='#ffc8e5bc',GradientType=0)}.alert-info{background-image:-webkit-gradient(linear,left 0,left 100%,from(#d9edf7),to(#b9def0));background-image:-webkit-linear-gradient(top,#d9edf7 0,#b9def0 100%);background-image:-moz-linear-gradient(top,#d9edf7 0,#b9def0 100%);background-image:linear-gradient(to bottom,#d9edf7 0,#b9def0 100%);background-repeat:repeat-x;border-color:#9acfea;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7',endColorstr='#ffb9def0',GradientType=0)}.alert-warning{background-image:-webkit-gradient(linear,left 0,left 100%,from(#fcf8e3),to(#f8efc0));background-image:-webkit-linear-gradient(top,#fcf8e3 0,#f8efc0 100%);background-image:-moz-linear-gradient(top,#fcf8e3 0,#f8efc0 100%);b
ackground-image:linear-gradient(to bottom,#fcf8e3 0,#f8efc0 100%);background-repeat:repeat-x;border-color:#f5e79e;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3',endColorstr='#fff8efc0',GradientType=0)}.alert-danger{background-image:-webkit-gradient(linear,left 0,left 100%,from(#f2dede),to(#e7c3c3));background-image:-webkit-linear-gradient(top,#f2dede 0,#e7c3c3 100%);background-image:-moz-linear-gradient(top,#f2dede 0,#e7c3c3 100%);background-image:linear-gradient(to bottom,#f2dede 0,#e7c3c3 100%);background-repeat:repeat-x;border-color:#dca7a7;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede',endColorstr='#ffe7c3c3',GradientType=0)}.progress{background-image:-webkit-gradient(linear,left 0,left 100%,from(#ebebeb),to(#f5f5f5));background-image:-webkit-linear-gradient(top,#ebebeb 0,#f5f5f5 100%);background-image:-moz-linear-gradient(top,#ebebeb 0,#f5f5f5 100%);background-image:linear-gradient(to bottom,#ebebeb 0,#f5f5f5 100%);backg
round-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb',endColorstr='#fff5f5f5',GradientType=0)}.progress-bar{background-image:-webkit-gradient(linear,left 0,left 100%,from(#428bca),to(#3071a9));background-image:-webkit-linear-gradient(top,#428bca 0,#3071a9 100%);background-image:-moz-linear-gradient(top,#428bca 0,#3071a9 100%);background-image:linear-gradient(to bottom,#428bca 0,#3071a9 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca',endColorstr='#ff3071a9',GradientType=0)}.progress-bar-success{background-image:-webkit-gradient(linear,left 0,left 100%,from(#5cb85c),to(#449d44));background-image:-webkit-linear-gradient(top,#5cb85c 0,#449d44 100%);background-image:-moz-linear-gradient(top,#5cb85c 0,#449d44 100%);background-image:linear-gradient(to bottom,#5cb85c 0,#449d44 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c',end
Colorstr='#ff449d44',GradientType=0)}.progress-bar-info{background-image:-webkit-gradient(linear,left 0,left 100%,from(#5bc0de),to(#31b0d5));background-image:-webkit-linear-gradient(top,#5bc0de 0,#31b0d5 100%);background-image:-moz-linear-gradient(top,#5bc0de 0,#31b0d5 100%);background-image:linear-gradient(to bottom,#5bc0de 0,#31b0d5 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de',endColorstr='#ff31b0d5',GradientType=0)}.progress-bar-warning{background-image:-webkit-gradient(linear,left 0,left 100%,from(#f0ad4e),to(#ec971f));background-image:-webkit-linear-gradient(top,#f0ad4e 0,#ec971f 100%);background-image:-moz-linear-gradient(top,#f0ad4e 0,#ec971f 100%);background-image:linear-gradient(to bottom,#f0ad4e 0,#ec971f 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e',endColorstr='#ffec971f',GradientType=0)}.progress-bar-danger{background-image:-webkit-gradient(line
ar,left 0,left 100%,from(#d9534f),to(#c9302c));background-image:-webkit-linear-gradient(top,#d9534f 0,#c9302c 100%);background-image:-moz-linear-gradient(top,#d9534f 0,#c9302c 100%);background-image:linear-gradient(to bottom,#d9534f 0,#c9302c 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f',endColorstr='#ffc9302c',GradientType=0)}.list-group{border-radius:4px;-webkit-box-shadow:0 1px 2px rgba(0,0,0,0.075);box-shadow:0 1px 2px rgba(0,0,0,0.075)}.list-group-item.active,.list-group-item.active:hover,.list-group-item.active:focus{text-shadow:0 -1px 0 #3071a9;background-image:-webkit-gradient(linear,left 0,left 100%,from(#428bca),to(#3278b3));background-image:-webkit-linear-gradient(top,#428bca 0,#3278b3 100%);background-image:-moz-linear-gradient(top,#428bca 0,#3278b3 100%);background-image:linear-gradient(to bottom,#428bca 0,#3278b3 100%);background-repeat:repeat-x;border-color:#3278b3;filter:progid:DXImageTransform.Microsoft.
gradient(startColorstr='#ff428bca',endColorstr='#ff3278b3',GradientType=0)}.panel{-webkit-box-shadow:0 1px 2px rgba(0,0,0,0.05);box-shadow:0 1px 2px rgba(0,0,0,0.05)}.panel-default>.panel-heading{background-image:-webkit-gradient(linear,left 0,left 100%,from(#f5f5f5),to(#e8e8e8));background-image:-webkit-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:-moz-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:linear-gradient(to bottom,#f5f5f5 0,#e8e8e8 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5',endColorstr='#ffe8e8e8',GradientType=0)}.panel-primary>.panel-heading{background-image:-webkit-gradient(linear,left 0,left 100%,from(#428bca),to(#357ebd));background-image:-webkit-linear-gradient(top,#428bca 0,#357ebd 100%);background-image:-moz-linear-gradient(top,#428bca 0,#357ebd 100%);background-image:linear-gradient(to bottom,#428bca 0,#357ebd 100%);background-repeat:repeat-x;filter:progid:DXImageTransf
orm.Microsoft.gradient(startColorstr='#ff428bca',endColorstr='#ff357ebd',GradientType=0)}.panel-success>.panel-heading{background-image:-webkit-gradient(linear,left 0,left 100%,from(#dff0d8),to(#d0e9c6));background-image:-webkit-linear-gradient(top,#dff0d8 0,#d0e9c6 100%);background-image:-moz-linear-gradient(top,#dff0d8 0,#d0e9c6 100%);background-image:linear-gradient(to bottom,#dff0d8 0,#d0e9c6 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8',endColorstr='#ffd0e9c6',GradientType=0)}.panel-info>.panel-heading{background-image:-webkit-gradient(linear,left 0,left 100%,from(#d9edf7),to(#c4e3f3));background-image:-webkit-linear-gradient(top,#d9edf7 0,#c4e3f3 100%);background-image:-moz-linear-gradient(top,#d9edf7 0,#c4e3f3 100%);background-image:linear-gradient(to bottom,#d9edf7 0,#c4e3f3 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7',endColorstr='#ffc4e3f3',Gradien
tType=0)}.panel-warning>.panel-heading{background-image:-webkit-gradient(linear,left 0,left 100%,from(#fcf8e3),to(#faf2cc));background-image:-webkit-linear-gradient(top,#fcf8e3 0,#faf2cc 100%);background-image:-moz-linear-gradient(top,#fcf8e3 0,#faf2cc 100%);background-image:linear-gradient(to bottom,#fcf8e3 0,#faf2cc 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3',endColorstr='#fffaf2cc',GradientType=0)}.panel-danger>.panel-heading{background-image:-webkit-gradient(linear,left 0,left 100%,from(#f2dede),to(#ebcccc));background-image:-webkit-linear-gradient(top,#f2dede 0,#ebcccc 100%);background-image:-moz-linear-gradient(top,#f2dede 0,#ebcccc 100%);background-image:linear-gradient(to bottom,#f2dede 0,#ebcccc 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede',endColorstr='#ffebcccc',GradientType=0)}.well{background-image:-webkit-gradient(linear,left 0,left 100%,from(
#e8e8e8),to(#f5f5f5));background-image:-webkit-linear-gradient(top,#e8e8e8 0,#f5f5f5 100%);background-image:-moz-linear-gradient(top,#e8e8e8 0,#f5f5f5 100%);background-image:linear-gradient(to bottom,#e8e8e8 0,#f5f5f5 100%);background-repeat:repeat-x;border-color:#dcdcdc;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8',endColorstr='#fff5f5f5',GradientType=0);-webkit-box-shadow:inset 0 1px 3px rgba(0,0,0,0.05),0 1px 0 rgba(255,255,255,0.1);box-shadow:inset 0 1px 3px rgba(0,0,0,0.05),0 1px 0 rgba(255,255,255,0.1)}
\ No newline at end of file
a***@apache.org
2017-12-21 04:53:14 UTC
Permalink
http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/assets/themes/mahout-retro/js/jquery-1.9.1.min.js
----------------------------------------------------------------------
diff --git a/website-old/assets/themes/mahout-retro/js/jquery-1.9.1.min.js b/website-old/assets/themes/mahout-retro/js/jquery-1.9.1.min.js
deleted file mode 100644
index 006e953..0000000
--- a/website-old/assets/themes/mahout-retro/js/jquery-1.9.1.min.js
+++ /dev/null
@@ -1,5 +0,0 @@
-/*! jQuery v1.9.1 | (c) 2005, 2012 jQuery Foundation, Inc. | jquery.org/license
-//@ sourceMappingURL=jquery.min.map
-*/(function(e,t){var n,r,i=typeof t,o=e.document,a=e.location,s=e.jQuery,u=e.$,l={},c=[],p="1.9.1",f=c.concat,d=c.push,h=c.slice,g=c.indexOf,m=l.toString,y=l.hasOwnProperty,v=p.trim,b=function(e,t){return new b.fn.init(e,t,r)},x=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,w=/\S+/g,T=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,N=/^(?:(<[\w\W]+>)[^>]*|#([\w-]*))$/,C=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,k=/^[\],:{}\s]*$/,E=/(?:^|:|,)(?:\s*\[)+/g,S=/\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,A=/"[^"\\\r\n]*"|true|false|null|-?(?:\d+\.|)\d+(?:[eE][+-]?\d+|)/g,j=/^-ms-/,D=/-([\da-z])/gi,L=function(e,t){return t.toUpperCase()},H=function(e){(o.addEventListener||"load"===e.type||"complete"===o.readyState)&&(q(),b.ready())},q=function(){o.addEventListener?(o.removeEventListener("DOMContentLoaded",H,!1),e.removeEventListener("load",H,!1)):(o.detachEvent("onreadystatechange",H),e.detachEvent("onload",H))};b.fn=b.prototype={jquery:p,constructor:b,init:function(e,n,r){var i,a;if(!e)return this;if("string"==typeof e)
{if(i="<"===e.charAt(0)&&">"===e.charAt(e.length-1)&&e.length>=3?[null,e,null]:N.exec(e),!i||!i[1]&&n)return!n||n.jquery?(n||r).find(e):this.constructor(n).find(e);if(i[1]){if(n=n instanceof b?n[0]:n,b.merge(this,b.parseHTML(i[1],n&&n.nodeType?n.ownerDocument||n:o,!0)),C.test(i[1])&&b.isPlainObject(n))for(i in n)b.isFunction(this[i])?this[i](n[i]):this.attr(i,n[i]);return this}if(a=o.getElementById(i[2]),a&&a.parentNode){if(a.id!==i[2])return r.find(e);this.length=1,this[0]=a}return this.context=o,this.selector=e,this}return e.nodeType?(this.context=this[0]=e,this.length=1,this):b.isFunction(e)?r.ready(e):(e.selector!==t&&(this.selector=e.selector,this.context=e.context),b.makeArray(e,this))},selector:"",length:0,size:function(){return this.length},toArray:function(){return h.call(this)},get:function(e){return null==e?this.toArray():0>e?this[this.length+e]:this[e]},pushStack:function(e){var t=b.merge(this.constructor(),e);return t.prevObject=this,t.context=this.context,t},each:funct
ion(e,t){return b.each(this,e,t)},ready:function(e){return b.ready.promise().done(e),this},slice:function(){return this.pushStack(h.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(0>e?t:0);return this.pushStack(n>=0&&t>n?[this[n]]:[])},map:function(e){return this.pushStack(b.map(this,function(t,n){return e.call(t,n,t)}))},end:function(){return this.prevObject||this.constructor(null)},push:d,sort:[].sort,splice:[].splice},b.fn.init.prototype=b.fn,b.extend=b.fn.extend=function(){var e,n,r,i,o,a,s=arguments[0]||{},u=1,l=arguments.length,c=!1;for("boolean"==typeof s&&(c=s,s=arguments[1]||{},u=2),"object"==typeof s||b.isFunction(s)||(s={}),l===u&&(s=this,--u);l>u;u++)if(null!=(o=arguments[u]))for(i in o)e=s[i],r=o[i],s!==r&&(c&&r&&(b.isPlainObject(r)||(n=b.isArray(r)))?(n?(n=!1,a=e&&b.isArray(e)?e:[]):a=e&&b.isPlainObject(e)?e:{},s[i]=b.extend(c,a,r)):r!==t&&(s[i]=r));return s},b.extend({noConflict:fun
ction(t){return e.$===b&&(e.$=u),t&&e.jQuery===b&&(e.jQuery=s),b},isReady:!1,readyWait:1,holdReady:function(e){e?b.readyWait++:b.ready(!0)},ready:function(e){if(e===!0?!--b.readyWait:!b.isReady){if(!o.body)return setTimeout(b.ready);b.isReady=!0,e!==!0&&--b.readyWait>0||(n.resolveWith(o,[b]),b.fn.trigger&&b(o).trigger("ready").off("ready"))}},isFunction:function(e){return"function"===b.type(e)},isArray:Array.isArray||function(e){return"array"===b.type(e)},isWindow:function(e){return null!=e&&e==e.window},isNumeric:function(e){return!isNaN(parseFloat(e))&&isFinite(e)},type:function(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?l[m.call(e)]||"object":typeof e},isPlainObject:function(e){if(!e||"object"!==b.type(e)||e.nodeType||b.isWindow(e))return!1;try{if(e.constructor&&!y.call(e,"constructor")&&!y.call(e.constructor.prototype,"isPrototypeOf"))return!1}catch(n){return!1}var r;for(r in e);return r===t||y.call(e,r)},isEmptyObject:function(e){var t;for(t in e)return!1;r
eturn!0},error:function(e){throw Error(e)},parseHTML:function(e,t,n){if(!e||"string"!=typeof e)return null;"boolean"==typeof t&&(n=t,t=!1),t=t||o;var r=C.exec(e),i=!n&&[];return r?[t.createElement(r[1])]:(r=b.buildFragment([e],t,i),i&&b(i).remove(),b.merge([],r.childNodes))},parseJSON:function(n){return e.JSON&&e.JSON.parse?e.JSON.parse(n):null===n?n:"string"==typeof n&&(n=b.trim(n),n&&k.test(n.replace(S,"@").replace(A,"]").replace(E,"")))?Function("return "+n)():(b.error("Invalid JSON: "+n),t)},parseXML:function(n){var r,i;if(!n||"string"!=typeof n)return null;try{e.DOMParser?(i=new DOMParser,r=i.parseFromString(n,"text/xml")):(r=new ActiveXObject("Microsoft.XMLDOM"),r.async="false",r.loadXML(n))}catch(o){r=t}return r&&r.documentElement&&!r.getElementsByTagName("parsererror").length||b.error("Invalid XML: "+n),r},noop:function(){},globalEval:function(t){t&&b.trim(t)&&(e.execScript||function(t){e.eval.call(e,t)})(t)},camelCase:function(e){return e.replace(j,"ms-").replace(D,L)},node
Name:function(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()},each:function(e,t,n){var r,i=0,o=e.length,a=M(e);if(n){if(a){for(;o>i;i++)if(r=t.apply(e[i],n),r===!1)break}else for(i in e)if(r=t.apply(e[i],n),r===!1)break}else if(a){for(;o>i;i++)if(r=t.call(e[i],i,e[i]),r===!1)break}else for(i in e)if(r=t.call(e[i],i,e[i]),r===!1)break;return e},trim:v&&!v.call("\ufeff\u00a0")?function(e){return null==e?"":v.call(e)}:function(e){return null==e?"":(e+"").replace(T,"")},makeArray:function(e,t){var n=t||[];return null!=e&&(M(Object(e))?b.merge(n,"string"==typeof e?[e]:e):d.call(n,e)),n},inArray:function(e,t,n){var r;if(t){if(g)return g.call(t,e,n);for(r=t.length,n=n?0>n?Math.max(0,r+n):n:0;r>n;n++)if(n in t&&t[n]===e)return n}return-1},merge:function(e,n){var r=n.length,i=e.length,o=0;if("number"==typeof r)for(;r>o;o++)e[i++]=n[o];else while(n[o]!==t)e[i++]=n[o++];return e.length=i,e},grep:function(e,t,n){var r,i=[],o=0,a=e.length;for(n=!!n;a>o;o++)r=!!t(e[o],o),n!==r
&&i.push(e[o]);return i},map:function(e,t,n){var r,i=0,o=e.length,a=M(e),s=[];if(a)for(;o>i;i++)r=t(e[i],i,n),null!=r&&(s[s.length]=r);else for(i in e)r=t(e[i],i,n),null!=r&&(s[s.length]=r);return f.apply([],s)},guid:1,proxy:function(e,n){var r,i,o;return"string"==typeof n&&(o=e[n],n=e,e=o),b.isFunction(e)?(r=h.call(arguments,2),i=function(){return e.apply(n||this,r.concat(h.call(arguments)))},i.guid=e.guid=e.guid||b.guid++,i):t},access:function(e,n,r,i,o,a,s){var u=0,l=e.length,c=null==r;if("object"===b.type(r)){o=!0;for(u in r)b.access(e,n,u,r[u],!0,a,s)}else if(i!==t&&(o=!0,b.isFunction(i)||(s=!0),c&&(s?(n.call(e,i),n=null):(c=n,n=function(e,t,n){return c.call(b(e),n)})),n))for(;l>u;u++)n(e[u],r,s?i:i.call(e[u],u,n(e[u],r)));return o?e:c?n.call(e):l?n(e[0],r):a},now:function(){return(new Date).getTime()}}),b.ready.promise=function(t){if(!n)if(n=b.Deferred(),"complete"===o.readyState)setTimeout(b.ready);else if(o.addEventListener)o.addEventListener("DOMContentLoaded",H,!1),e.addEv
entListener("load",H,!1);else{o.attachEvent("onreadystatechange",H),e.attachEvent("onload",H);var r=!1;try{r=null==e.frameElement&&o.documentElement}catch(i){}r&&r.doScroll&&function a(){if(!b.isReady){try{r.doScroll("left")}catch(e){return setTimeout(a,50)}q(),b.ready()}}()}return n.promise(t)},b.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(e,t){l["[object "+t+"]"]=t.toLowerCase()});function M(e){var t=e.length,n=b.type(e);return b.isWindow(e)?!1:1===e.nodeType&&t?!0:"array"===n||"function"!==n&&(0===t||"number"==typeof t&&t>0&&t-1 in e)}r=b(o);var _={};function F(e){var t=_[e]={};return b.each(e.match(w)||[],function(e,n){t[n]=!0}),t}b.Callbacks=function(e){e="string"==typeof e?_[e]||F(e):b.extend({},e);var n,r,i,o,a,s,u=[],l=!e.once&&[],c=function(t){for(r=e.memory&&t,i=!0,a=s||0,s=0,o=u.length,n=!0;u&&o>a;a++)if(u[a].apply(t[0],t[1])===!1&&e.stopOnFalse){r=!1;break}n=!1,u&&(l?l.length&&c(l.shift()):r?u=[]:p.disable())},p={add:function(
){if(u){var t=u.length;(function i(t){b.each(t,function(t,n){var r=b.type(n);"function"===r?e.unique&&p.has(n)||u.push(n):n&&n.length&&"string"!==r&&i(n)})})(arguments),n?o=u.length:r&&(s=t,c(r))}return this},remove:function(){return u&&b.each(arguments,function(e,t){var r;while((r=b.inArray(t,u,r))>-1)u.splice(r,1),n&&(o>=r&&o--,a>=r&&a--)}),this},has:function(e){return e?b.inArray(e,u)>-1:!(!u||!u.length)},empty:function(){return u=[],this},disable:function(){return u=l=r=t,this},disabled:function(){return!u},lock:function(){return l=t,r||p.disable(),this},locked:function(){return!l},fireWith:function(e,t){return t=t||[],t=[e,t.slice?t.slice():t],!u||i&&!l||(n?l.push(t):c(t)),this},fire:function(){return p.fireWith(this,arguments),this},fired:function(){return!!i}};return p},b.extend({Deferred:function(e){var t=[["resolve","done",b.Callbacks("once memory"),"resolved"],["reject","fail",b.Callbacks("once memory"),"rejected"],["notify","progress",b.Callbacks("memory")]],n="pending",r
={state:function(){return n},always:function(){return i.done(arguments).fail(arguments),this},then:function(){var e=arguments;return b.Deferred(function(n){b.each(t,function(t,o){var a=o[0],s=b.isFunction(e[t])&&e[t];i[o[1]](function(){var e=s&&s.apply(this,arguments);e&&b.isFunction(e.promise)?e.promise().done(n.resolve).fail(n.reject).progress(n.notify):n[a+"With"](this===r?n.promise():this,s?[e]:arguments)})}),e=null}).promise()},promise:function(e){return null!=e?b.extend(e,r):r}},i={};return r.pipe=r.then,b.each(t,function(e,o){var a=o[2],s=o[3];r[o[1]]=a.add,s&&a.add(function(){n=s},t[1^e][2].disable,t[2][2].lock),i[o[0]]=function(){return i[o[0]+"With"](this===i?r:this,arguments),this},i[o[0]+"With"]=a.fireWith}),r.promise(i),e&&e.call(i,i),i},when:function(e){var t=0,n=h.call(arguments),r=n.length,i=1!==r||e&&b.isFunction(e.promise)?r:0,o=1===i?e:b.Deferred(),a=function(e,t,n){return function(r){t[e]=this,n[e]=arguments.length>1?h.call(arguments):r,n===s?o.notifyWith(t,n):--
i||o.resolveWith(t,n)}},s,u,l;if(r>1)for(s=Array(r),u=Array(r),l=Array(r);r>t;t++)n[t]&&b.isFunction(n[t].promise)?n[t].promise().done(a(t,l,n)).fail(o.reject).progress(a(t,u,s)):--i;return i||o.resolveWith(l,n),o.promise()}}),b.support=function(){var t,n,r,a,s,u,l,c,p,f,d=o.createElement("div");if(d.setAttribute("className","t"),d.innerHTML=" <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",n=d.getElementsByTagName("*"),r=d.getElementsByTagName("a")[0],!n||!r||!n.length)return{};s=o.createElement("select"),l=s.appendChild(o.createElement("option")),a=d.getElementsByTagName("input")[0],r.style.cssText="top:1px;float:left;opacity:.5",t={getSetAttribute:"t"!==d.className,leadingWhitespace:3===d.firstChild.nodeType,tbody:!d.getElementsByTagName("tbody").length,htmlSerialize:!!d.getElementsByTagName("link").length,style:/top/.test(r.getAttribute("style")),hrefNormalized:"/a"===r.getAttribute("href"),opacity:/^0.5/.test(r.style.opacity),cssFloat:!!r.style.cssFloat,check
On:!!a.value,optSelected:l.selected,enctype:!!o.createElement("form").enctype,html5Clone:"<:nav></:nav>"!==o.createElement("nav").cloneNode(!0).outerHTML,boxModel:"CSS1Compat"===o.compatMode,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0,boxSizingReliable:!0,pixelPosition:!1},a.checked=!0,t.noCloneChecked=a.cloneNode(!0).checked,s.disabled=!0,t.optDisabled=!l.disabled;try{delete d.test}catch(h){t.deleteExpando=!1}a=o.createElement("input"),a.setAttribute("value",""),t.input=""===a.getAttribute("value"),a.value="t",a.setAttribute("type","radio"),t.radioValue="t"===a.value,a.setAttribute("checked","t"),a.setAttribute("name","t"),u=o.createDocumentFragment(),u.appendChild(a),t.appendChecked=a.checked,t.checkClone=u.cloneNode(!0).cloneNode(!0).lastChild.checked,d.attachEvent&&(d.attachEvent("onclick",function(){t.noCloneEvent=!1}),d.cloneNode(!0).click());for(f in{submit:!0,change:!0,focusin:!0})d.setAttribute(c="on"+f,"t"),t[f+"Bub
bles"]=c in e||d.attributes[c].expando===!1;return d.style.backgroundClip="content-box",d.cloneNode(!0).style.backgroundClip="",t.clearCloneStyle="content-box"===d.style.backgroundClip,b(function(){var n,r,a,s="padding:0;margin:0;border:0;display:block;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;",u=o.getElementsByTagName("body")[0];u&&(n=o.createElement("div"),n.style.cssText="border:0;width:0;height:0;position:absolute;top:0;left:-9999px;margin-top:1px",u.appendChild(n).appendChild(d),d.innerHTML="<table><tr><td></td><td>t</td></tr></table>",a=d.getElementsByTagName("td"),a[0].style.cssText="padding:0;margin:0;border:0;display:none",p=0===a[0].offsetHeight,a[0].style.display="",a[1].style.display="none",t.reliableHiddenOffsets=p&&0===a[0].offsetHeight,d.innerHTML="",d.style.cssText="box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1
%;",t.boxSizing=4===d.offsetWidth,t.doesNotIncludeMarginInBodyOffset=1!==u.offsetTop,e.getComputedStyle&&(t.pixelPosition="1%"!==(e.getComputedStyle(d,null)||{}).top,t.boxSizingReliable="4px"===(e.getComputedStyle(d,null)||{width:"4px"}).width,r=d.appendChild(o.createElement("div")),r.style.cssText=d.style.cssText=s,r.style.marginRight=r.style.width="0",d.style.width="1px",t.reliableMarginRight=!parseFloat((e.getComputedStyle(r,null)||{}).marginRight)),typeof d.style.zoom!==i&&(d.innerHTML="",d.style.cssText=s+"width:1px;padding:1px;display:inline;zoom:1",t.inlineBlockNeedsLayout=3===d.offsetWidth,d.style.display="block",d.innerHTML="<div></div>",d.firstChild.style.width="5px",t.shrinkWrapBlocks=3!==d.offsetWidth,t.inlineBlockNeedsLayout&&(u.style.zoom=1)),u.removeChild(n),n=d=a=r=null)}),n=s=u=l=r=a=null,t}();var O=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/,B=/([A-Z])/g;function P(e,n,r,i){if(b.acceptData(e)){var o,a,s=b.expando,u="string"==typeof n,l=e.nodeType,p=l?b.cache:e,f=l?e[s]:e[s]&&s;
if(f&&p[f]&&(i||p[f].data)||!u||r!==t)return f||(l?e[s]=f=c.pop()||b.guid++:f=s),p[f]||(p[f]={},l||(p[f].toJSON=b.noop)),("object"==typeof n||"function"==typeof n)&&(i?p[f]=b.extend(p[f],n):p[f].data=b.extend(p[f].data,n)),o=p[f],i||(o.data||(o.data={}),o=o.data),r!==t&&(o[b.camelCase(n)]=r),u?(a=o[n],null==a&&(a=o[b.camelCase(n)])):a=o,a}}function R(e,t,n){if(b.acceptData(e)){var r,i,o,a=e.nodeType,s=a?b.cache:e,u=a?e[b.expando]:b.expando;if(s[u]){if(t&&(o=n?s[u]:s[u].data)){b.isArray(t)?t=t.concat(b.map(t,b.camelCase)):t in o?t=[t]:(t=b.camelCase(t),t=t in o?[t]:t.split(" "));for(r=0,i=t.length;i>r;r++)delete o[t[r]];if(!(n?$:b.isEmptyObject)(o))return}(n||(delete s[u].data,$(s[u])))&&(a?b.cleanData([e],!0):b.support.deleteExpando||s!=s.window?delete s[u]:s[u]=null)}}}b.extend({cache:{},expando:"jQuery"+(p+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(e){return e=e.nodeType?b.cache[e[b.expando]]:e[
b.expando],!!e&&!$(e)},data:function(e,t,n){return P(e,t,n)},removeData:function(e,t){return R(e,t)},_data:function(e,t,n){return P(e,t,n,!0)},_removeData:function(e,t){return R(e,t,!0)},acceptData:function(e){if(e.nodeType&&1!==e.nodeType&&9!==e.nodeType)return!1;var t=e.nodeName&&b.noData[e.nodeName.toLowerCase()];return!t||t!==!0&&e.getAttribute("classid")===t}}),b.fn.extend({data:function(e,n){var r,i,o=this[0],a=0,s=null;if(e===t){if(this.length&&(s=b.data(o),1===o.nodeType&&!b._data(o,"parsedAttrs"))){for(r=o.attributes;r.length>a;a++)i=r[a].name,i.indexOf("data-")||(i=b.camelCase(i.slice(5)),W(o,i,s[i]));b._data(o,"parsedAttrs",!0)}return s}return"object"==typeof e?this.each(function(){b.data(this,e)}):b.access(this,function(n){return n===t?o?W(o,e,b.data(o,e)):null:(this.each(function(){b.data(this,e,n)}),t)},null,n,arguments.length>1,null,!0)},removeData:function(e){return this.each(function(){b.removeData(this,e)})}});function W(e,n,r){if(r===t&&1===e.nodeType){var i="data
-"+n.replace(B,"-$1").toLowerCase();if(r=e.getAttribute(i),"string"==typeof r){try{r="true"===r?!0:"false"===r?!1:"null"===r?null:+r+""===r?+r:O.test(r)?b.parseJSON(r):r}catch(o){}b.data(e,n,r)}else r=t}return r}function $(e){var t;for(t in e)if(("data"!==t||!b.isEmptyObject(e[t]))&&"toJSON"!==t)return!1;return!0}b.extend({queue:function(e,n,r){var i;return e?(n=(n||"fx")+"queue",i=b._data(e,n),r&&(!i||b.isArray(r)?i=b._data(e,n,b.makeArray(r)):i.push(r)),i||[]):t},dequeue:function(e,t){t=t||"fx";var n=b.queue(e,t),r=n.length,i=n.shift(),o=b._queueHooks(e,t),a=function(){b.dequeue(e,t)};"inprogress"===i&&(i=n.shift(),r--),o.cur=i,i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,a,o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return b._data(e,n)||b._data(e,n,{empty:b.Callbacks("once memory").add(function(){b._removeData(e,t+"queue"),b._removeData(e,n)})})}}),b.fn.extend({queue:function(e,n){var r=2;return"string"!=typeof e&&(n=e,e="fx",r--),r>a
rguments.length?b.queue(this[0],e):n===t?this:this.each(function(){var t=b.queue(this,e,n);b._queueHooks(this,e),"fx"===e&&"inprogress"!==t[0]&&b.dequeue(this,e)})},dequeue:function(e){return this.each(function(){b.dequeue(this,e)})},delay:function(e,t){return e=b.fx?b.fx.speeds[e]||e:e,t=t||"fx",this.queue(t,function(t,n){var r=setTimeout(t,e);n.stop=function(){clearTimeout(r)}})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,n){var r,i=1,o=b.Deferred(),a=this,s=this.length,u=function(){--i||o.resolveWith(a,[a])};"string"!=typeof e&&(n=e,e=t),e=e||"fx";while(s--)r=b._data(a[s],e+"queueHooks"),r&&r.empty&&(i++,r.empty.add(u));return u(),o.promise(n)}});var I,z,X=/[\t\r\n]/g,U=/\r/g,V=/^(?:input|select|textarea|button|object)$/i,Y=/^(?:a|area)$/i,J=/^(?:checked|selected|autofocus|autoplay|async|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped)$/i,G=/^(?:checked|selected)$/i,Q=b.support.getSetAttribute,K=b.support.input;b.fn.extend(
{attr:function(e,t){return b.access(this,b.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){b.removeAttr(this,e)})},prop:function(e,t){return b.access(this,b.prop,e,t,arguments.length>1)},removeProp:function(e){return e=b.propFix[e]||e,this.each(function(){try{this[e]=t,delete this[e]}catch(n){}})},addClass:function(e){var t,n,r,i,o,a=0,s=this.length,u="string"==typeof e&&e;if(b.isFunction(e))return this.each(function(t){b(this).addClass(e.call(this,t,this.className))});if(u)for(t=(e||"").match(w)||[];s>a;a++)if(n=this[a],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(X," "):" ")){o=0;while(i=t[o++])0>r.indexOf(" "+i+" ")&&(r+=i+" ");n.className=b.trim(r)}return this},removeClass:function(e){var t,n,r,i,o,a=0,s=this.length,u=0===arguments.length||"string"==typeof e&&e;if(b.isFunction(e))return this.each(function(t){b(this).removeClass(e.call(this,t,this.className))});if(u)for(t=(e||"").match(w)||[];s>a;a++)if(n=this[a],r=1===n.nodeType&&
(n.className?(" "+n.className+" ").replace(X," "):"")){o=0;while(i=t[o++])while(r.indexOf(" "+i+" ")>=0)r=r.replace(" "+i+" "," ");n.className=e?b.trim(r):""}return this},toggleClass:function(e,t){var n=typeof e,r="boolean"==typeof t;return b.isFunction(e)?this.each(function(n){b(this).toggleClass(e.call(this,n,this.className,t),t)}):this.each(function(){if("string"===n){var o,a=0,s=b(this),u=t,l=e.match(w)||[];while(o=l[a++])u=r?u:!s.hasClass(o),s[u?"addClass":"removeClass"](o)}else(n===i||"boolean"===n)&&(this.className&&b._data(this,"__className__",this.className),this.className=this.className||e===!1?"":b._data(this,"__className__")||"")})},hasClass:function(e){var t=" "+e+" ",n=0,r=this.length;for(;r>n;n++)if(1===this[n].nodeType&&(" "+this[n].className+" ").replace(X," ").indexOf(t)>=0)return!0;return!1},val:function(e){var n,r,i,o=this[0];{if(arguments.length)return i=b.isFunction(e),this.each(function(n){var o,a=b(this);1===this.nodeType&&(o=i?e.call(this,n,a.val()):e,null==
o?o="":"number"==typeof o?o+="":b.isArray(o)&&(o=b.map(o,function(e){return null==e?"":e+""})),r=b.valHooks[this.type]||b.valHooks[this.nodeName.toLowerCase()],r&&"set"in r&&r.set(this,o,"value")!==t||(this.value=o))});if(o)return r=b.valHooks[o.type]||b.valHooks[o.nodeName.toLowerCase()],r&&"get"in r&&(n=r.get(o,"value"))!==t?n:(n=o.value,"string"==typeof n?n.replace(U,""):null==n?"":n)}}}),b.extend({valHooks:{option:{get:function(e){var t=e.attributes.value;return!t||t.specified?e.value:e.text}},select:{get:function(e){var t,n,r=e.options,i=e.selectedIndex,o="select-one"===e.type||0>i,a=o?null:[],s=o?i+1:r.length,u=0>i?s:o?i:0;for(;s>u;u++)if(n=r[u],!(!n.selected&&u!==i||(b.support.optDisabled?n.disabled:null!==n.getAttribute("disabled"))||n.parentNode.disabled&&b.nodeName(n.parentNode,"optgroup"))){if(t=b(n).val(),o)return t;a.push(t)}return a},set:function(e,t){var n=b.makeArray(t);return b(e).find("option").each(function(){this.selected=b.inArray(b(this).val(),n)>=0}),n.length|
|(e.selectedIndex=-1),n}}},attr:function(e,n,r){var o,a,s,u=e.nodeType;if(e&&3!==u&&8!==u&&2!==u)return typeof e.getAttribute===i?b.prop(e,n,r):(a=1!==u||!b.isXMLDoc(e),a&&(n=n.toLowerCase(),o=b.attrHooks[n]||(J.test(n)?z:I)),r===t?o&&a&&"get"in o&&null!==(s=o.get(e,n))?s:(typeof e.getAttribute!==i&&(s=e.getAttribute(n)),null==s?t:s):null!==r?o&&a&&"set"in o&&(s=o.set(e,r,n))!==t?s:(e.setAttribute(n,r+""),r):(b.removeAttr(e,n),t))},removeAttr:function(e,t){var n,r,i=0,o=t&&t.match(w);if(o&&1===e.nodeType)while(n=o[i++])r=b.propFix[n]||n,J.test(n)?!Q&&G.test(n)?e[b.camelCase("default-"+n)]=e[r]=!1:e[r]=!1:b.attr(e,n,""),e.removeAttribute(Q?n:r)},attrHooks:{type:{set:function(e,t){if(!b.support.radioValue&&"radio"===t&&b.nodeName(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},propFix:{tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",col
span:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},prop:function(e,n,r){var i,o,a,s=e.nodeType;if(e&&3!==s&&8!==s&&2!==s)return a=1!==s||!b.isXMLDoc(e),a&&(n=b.propFix[n]||n,o=b.propHooks[n]),r!==t?o&&"set"in o&&(i=o.set(e,r,n))!==t?i:e[n]=r:o&&"get"in o&&null!==(i=o.get(e,n))?i:e[n]},propHooks:{tabIndex:{get:function(e){var n=e.getAttributeNode("tabindex");return n&&n.specified?parseInt(n.value,10):V.test(e.nodeName)||Y.test(e.nodeName)&&e.href?0:t}}}}),z={get:function(e,n){var r=b.prop(e,n),i="boolean"==typeof r&&e.getAttribute(n),o="boolean"==typeof r?K&&Q?null!=i:G.test(n)?e[b.camelCase("default-"+n)]:!!i:e.getAttributeNode(n);return o&&o.value!==!1?n.toLowerCase():t},set:function(e,t,n){return t===!1?b.removeAttr(e,n):K&&Q||!G.test(n)?e.setAttribute(!Q&&b.propFix[n]||n,n):e[b.camelCase("default-"+n)]=e[n]=!0,n}},K&&Q||(b.attrHooks.value={get:function(e,n){var r=e.getAttributeNode(n);return b.nodeName(e,"input")?e.defaultValue:r&&r.specif
ied?r.value:t},set:function(e,n,r){return b.nodeName(e,"input")?(e.defaultValue=n,t):I&&I.set(e,n,r)}}),Q||(I=b.valHooks.button={get:function(e,n){var r=e.getAttributeNode(n);return r&&("id"===n||"name"===n||"coords"===n?""!==r.value:r.specified)?r.value:t},set:function(e,n,r){var i=e.getAttributeNode(r);return i||e.setAttributeNode(i=e.ownerDocument.createAttribute(r)),i.value=n+="","value"===r||n===e.getAttribute(r)?n:t}},b.attrHooks.contenteditable={get:I.get,set:function(e,t,n){I.set(e,""===t?!1:t,n)}},b.each(["width","height"],function(e,n){b.attrHooks[n]=b.extend(b.attrHooks[n],{set:function(e,r){return""===r?(e.setAttribute(n,"auto"),r):t}})})),b.support.hrefNormalized||(b.each(["href","src","width","height"],function(e,n){b.attrHooks[n]=b.extend(b.attrHooks[n],{get:function(e){var r=e.getAttribute(n,2);return null==r?t:r}})}),b.each(["href","src"],function(e,t){b.propHooks[t]={get:function(e){return e.getAttribute(t,4)}}})),b.support.style||(b.attrHooks.style={get:function(e
){return e.style.cssText||t},set:function(e,t){return e.style.cssText=t+""}}),b.support.optSelected||(b.propHooks.selected=b.extend(b.propHooks.selected,{get:function(e){var t=e.parentNode;return t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex),null}})),b.support.enctype||(b.propFix.enctype="encoding"),b.support.checkOn||b.each(["radio","checkbox"],function(){b.valHooks[this]={get:function(e){return null===e.getAttribute("value")?"on":e.value}}}),b.each(["radio","checkbox"],function(){b.valHooks[this]=b.extend(b.valHooks[this],{set:function(e,n){return b.isArray(n)?e.checked=b.inArray(b(e).val(),n)>=0:t}})});var Z=/^(?:input|select|textarea)$/i,et=/^key/,tt=/^(?:mouse|contextmenu)|click/,nt=/^(?:focusinfocus|focusoutblur)$/,rt=/^([^.]*)(?:\.(.+)|)$/;function it(){return!0}function ot(){return!1}b.event={global:{},add:function(e,n,r,o,a){var s,u,l,c,p,f,d,h,g,m,y,v=b._data(e);if(v){r.handler&&(c=r,r=c.handler,a=c.selector),r.guid||(r.guid=b.guid++),(u=v.events)||(u=v.eve
nts={}),(f=v.handle)||(f=v.handle=function(e){return typeof b===i||e&&b.event.triggered===e.type?t:b.event.dispatch.apply(f.elem,arguments)},f.elem=e),n=(n||"").match(w)||[""],l=n.length;while(l--)s=rt.exec(n[l])||[],g=y=s[1],m=(s[2]||"").split(".").sort(),p=b.event.special[g]||{},g=(a?p.delegateType:p.bindType)||g,p=b.event.special[g]||{},d=b.extend({type:g,origType:y,data:o,handler:r,guid:r.guid,selector:a,needsContext:a&&b.expr.match.needsContext.test(a),namespace:m.join(".")},c),(h=u[g])||(h=u[g]=[],h.delegateCount=0,p.setup&&p.setup.call(e,o,m,f)!==!1||(e.addEventListener?e.addEventListener(g,f,!1):e.attachEvent&&e.attachEvent("on"+g,f))),p.add&&(p.add.call(e,d),d.handler.guid||(d.handler.guid=r.guid)),a?h.splice(h.delegateCount++,0,d):h.push(d),b.event.global[g]=!0;e=null}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,p,f,d,h,g,m=b.hasData(e)&&b._data(e);if(m&&(c=m.events)){t=(t||"").match(w)||[""],l=t.length;while(l--)if(s=rt.exec(t[l])||[],d=g=s[1],h=(s[2]||"").split(".").sort
(),d){p=b.event.special[d]||{},d=(r?p.delegateType:p.bindType)||d,f=c[d]||[],s=s[2]&&RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),u=o=f.length;while(o--)a=f[o],!i&&g!==a.origType||n&&n.guid!==a.guid||s&&!s.test(a.namespace)||r&&r!==a.selector&&("**"!==r||!a.selector)||(f.splice(o,1),a.selector&&f.delegateCount--,p.remove&&p.remove.call(e,a));u&&!f.length&&(p.teardown&&p.teardown.call(e,h,m.handle)!==!1||b.removeEvent(e,d,m.handle),delete c[d])}else for(d in c)b.event.remove(e,d+t[l],n,r,!0);b.isEmptyObject(c)&&(delete m.handle,b._removeData(e,"events"))}},trigger:function(n,r,i,a){var s,u,l,c,p,f,d,h=[i||o],g=y.call(n,"type")?n.type:n,m=y.call(n,"namespace")?n.namespace.split("."):[];if(l=f=i=i||o,3!==i.nodeType&&8!==i.nodeType&&!nt.test(g+b.event.triggered)&&(g.indexOf(".")>=0&&(m=g.split("."),g=m.shift(),m.sort()),u=0>g.indexOf(":")&&"on"+g,n=n[b.expando]?n:new b.Event(g,"object"==typeof n&&n),n.isTrigger=!0,n.namespace=m.join("."),n.namespace_re=n.namespace?RegExp("(^|\\.)
"+m.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,n.result=t,n.target||(n.target=i),r=null==r?[n]:b.makeArray(r,[n]),p=b.event.special[g]||{},a||!p.trigger||p.trigger.apply(i,r)!==!1)){if(!a&&!p.noBubble&&!b.isWindow(i)){for(c=p.delegateType||g,nt.test(c+g)||(l=l.parentNode);l;l=l.parentNode)h.push(l),f=l;f===(i.ownerDocument||o)&&h.push(f.defaultView||f.parentWindow||e)}d=0;while((l=h[d++])&&!n.isPropagationStopped())n.type=d>1?c:p.bindType||g,s=(b._data(l,"events")||{})[n.type]&&b._data(l,"handle"),s&&s.apply(l,r),s=u&&l[u],s&&b.acceptData(l)&&s.apply&&s.apply(l,r)===!1&&n.preventDefault();if(n.type=g,!(a||n.isDefaultPrevented()||p._default&&p._default.apply(i.ownerDocument,r)!==!1||"click"===g&&b.nodeName(i,"a")||!b.acceptData(i)||!u||!i[g]||b.isWindow(i))){f=i[u],f&&(i[u]=null),b.event.triggered=g;try{i[g]()}catch(v){}b.event.triggered=t,f&&(i[u]=f)}return n.result}},dispatch:function(e){e=b.event.fix(e);var n,r,i,o,a,s=[],u=h.call(arguments),l=(b._data(this,"events")||{})[e.type]||[],c
=b.event.special[e.type]||{};if(u[0]=e,e.delegateTarget=this,!c.preDispatch||c.preDispatch.call(this,e)!==!1){s=b.event.handlers.call(this,e,l),n=0;while((o=s[n++])&&!e.isPropagationStopped()){e.currentTarget=o.elem,a=0;while((i=o.handlers[a++])&&!e.isImmediatePropagationStopped())(!e.namespace_re||e.namespace_re.test(i.namespace))&&(e.handleObj=i,e.data=i.data,r=((b.event.special[i.origType]||{}).handle||i.handler).apply(o.elem,u),r!==t&&(e.result=r)===!1&&(e.preventDefault(),e.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,e),e.result}},handlers:function(e,n){var r,i,o,a,s=[],u=n.delegateCount,l=e.target;if(u&&l.nodeType&&(!e.button||"click"!==e.type))for(;l!=this;l=l.parentNode||this)if(1===l.nodeType&&(l.disabled!==!0||"click"!==e.type)){for(o=[],a=0;u>a;a++)i=n[a],r=i.selector+" ",o[r]===t&&(o[r]=i.needsContext?b(r,this).index(l)>=0:b.find(r,this,null,[l]).length),o[r]&&o.push(i);o.length&&s.push({elem:l,handlers:o})}return n.length>u&&s.push({elem:this,han
dlers:n.slice(u)}),s},fix:function(e){if(e[b.expando])return e;var t,n,r,i=e.type,a=e,s=this.fixHooks[i];s||(this.fixHooks[i]=s=tt.test(i)?this.mouseHooks:et.test(i)?this.keyHooks:{}),r=s.props?this.props.concat(s.props):this.props,e=new b.Event(a),t=r.length;while(t--)n=r[t],e[n]=a[n];return e.target||(e.target=a.srcElement||o),3===e.target.nodeType&&(e.target=e.target.parentNode),e.metaKey=!!e.metaKey,s.filter?s.filter(e,a):e},props:"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(e,t){return null==e.which&&(e.which=null!=t.charCode?t.charCode:t.keyCode),e}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(e,n){var r,i,a,s=n.button,u=n.fromElement;return null==e.pageX&&null!=n.clientX&&(i=e.target.ownerDocument||o,a=i.documen
tElement,r=i.body,e.pageX=n.clientX+(a&&a.scrollLeft||r&&r.scrollLeft||0)-(a&&a.clientLeft||r&&r.clientLeft||0),e.pageY=n.clientY+(a&&a.scrollTop||r&&r.scrollTop||0)-(a&&a.clientTop||r&&r.clientTop||0)),!e.relatedTarget&&u&&(e.relatedTarget=u===e.target?n.toElement:u),e.which||s===t||(e.which=1&s?1:2&s?3:4&s?2:0),e}},special:{load:{noBubble:!0},click:{trigger:function(){return b.nodeName(this,"input")&&"checkbox"===this.type&&this.click?(this.click(),!1):t}},focus:{trigger:function(){if(this!==o.activeElement&&this.focus)try{return this.focus(),!1}catch(e){}},delegateType:"focusin"},blur:{trigger:function(){return this===o.activeElement&&this.blur?(this.blur(),!1):t},delegateType:"focusout"},beforeunload:{postDispatch:function(e){e.result!==t&&(e.originalEvent.returnValue=e.result)}}},simulate:function(e,t,n,r){var i=b.extend(new b.Event,n,{type:e,isSimulated:!0,originalEvent:{}});r?b.event.trigger(i,null,t):b.event.dispatch.call(t,i),i.isDefaultPrevented()&&n.preventDefault()}},b.r
emoveEvent=o.removeEventListener?function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n,!1)}:function(e,t,n){var r="on"+t;e.detachEvent&&(typeof e[r]===i&&(e[r]=null),e.detachEvent(r,n))},b.Event=function(e,n){return this instanceof b.Event?(e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||e.returnValue===!1||e.getPreventDefault&&e.getPreventDefault()?it:ot):this.type=e,n&&b.extend(this,n),this.timeStamp=e&&e.timeStamp||b.now(),this[b.expando]=!0,t):new b.Event(e,n)},b.Event.prototype={isDefaultPrevented:ot,isPropagationStopped:ot,isImmediatePropagationStopped:ot,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=it,e&&(e.preventDefault?e.preventDefault():e.returnValue=!1)},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=it,e&&(e.stopPropagation&&e.stopPropagation(),e.cancelBubble=!0)},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=it,this.stopPropagati
on()}},b.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(e,t){b.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,r=this,i=e.relatedTarget,o=e.handleObj;
-return(!i||i!==r&&!b.contains(r,i))&&(e.type=o.origType,n=o.handler.apply(this,arguments),e.type=t),n}}}),b.support.submitBubbles||(b.event.special.submit={setup:function(){return b.nodeName(this,"form")?!1:(b.event.add(this,"click._submit keypress._submit",function(e){var n=e.target,r=b.nodeName(n,"input")||b.nodeName(n,"button")?n.form:t;r&&!b._data(r,"submitBubbles")&&(b.event.add(r,"submit._submit",function(e){e._submit_bubble=!0}),b._data(r,"submitBubbles",!0))}),t)},postDispatch:function(e){e._submit_bubble&&(delete e._submit_bubble,this.parentNode&&!e.isTrigger&&b.event.simulate("submit",this.parentNode,e,!0))},teardown:function(){return b.nodeName(this,"form")?!1:(b.event.remove(this,"._submit"),t)}}),b.support.changeBubbles||(b.event.special.change={setup:function(){return Z.test(this.nodeName)?(("checkbox"===this.type||"radio"===this.type)&&(b.event.add(this,"propertychange._change",function(e){"checked"===e.originalEvent.propertyName&&(this._just_changed=!0)}),b.event.add
(this,"click._change",function(e){this._just_changed&&!e.isTrigger&&(this._just_changed=!1),b.event.simulate("change",this,e,!0)})),!1):(b.event.add(this,"beforeactivate._change",function(e){var t=e.target;Z.test(t.nodeName)&&!b._data(t,"changeBubbles")&&(b.event.add(t,"change._change",function(e){!this.parentNode||e.isSimulated||e.isTrigger||b.event.simulate("change",this.parentNode,e,!0)}),b._data(t,"changeBubbles",!0))}),t)},handle:function(e){var n=e.target;return this!==n||e.isSimulated||e.isTrigger||"radio"!==n.type&&"checkbox"!==n.type?e.handleObj.handler.apply(this,arguments):t},teardown:function(){return b.event.remove(this,"._change"),!Z.test(this.nodeName)}}),b.support.focusinBubbles||b.each({focus:"focusin",blur:"focusout"},function(e,t){var n=0,r=function(e){b.event.simulate(t,e.target,b.event.fix(e),!0)};b.event.special[t]={setup:function(){0===n++&&o.addEventListener(e,r,!0)},teardown:function(){0===--n&&o.removeEventListener(e,r,!0)}}}),b.fn.extend({on:function(e,n,r
,i,o){var a,s;if("object"==typeof e){"string"!=typeof n&&(r=r||n,n=t);for(a in e)this.on(a,n,r,e[a],o);return this}if(null==r&&null==i?(i=n,r=n=t):null==i&&("string"==typeof n?(i=r,r=t):(i=r,r=n,n=t)),i===!1)i=ot;else if(!i)return this;return 1===o&&(s=i,i=function(e){return b().off(e),s.apply(this,arguments)},i.guid=s.guid||(s.guid=b.guid++)),this.each(function(){b.event.add(this,e,i,r,n)})},one:function(e,t,n,r){return this.on(e,t,n,r,1)},off:function(e,n,r){var i,o;if(e&&e.preventDefault&&e.handleObj)return i=e.handleObj,b(e.delegateTarget).off(i.namespace?i.origType+"."+i.namespace:i.origType,i.selector,i.handler),this;if("object"==typeof e){for(o in e)this.off(o,n,e[o]);return this}return(n===!1||"function"==typeof n)&&(r=n,n=t),r===!1&&(r=ot),this.each(function(){b.event.remove(this,e,r,n)})},bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===
arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},trigger:function(e,t){return this.each(function(){b.event.trigger(e,t,this)})},triggerHandler:function(e,n){var r=this[0];return r?b.event.trigger(e,n,r,!0):t}}),function(e,t){var n,r,i,o,a,s,u,l,c,p,f,d,h,g,m,y,v,x="sizzle"+-new Date,w=e.document,T={},N=0,C=0,k=it(),E=it(),S=it(),A=typeof t,j=1<<31,D=[],L=D.pop,H=D.push,q=D.slice,M=D.indexOf||function(e){var t=0,n=this.length;for(;n>t;t++)if(this[t]===e)return t;return-1},_="[\\x20\\t\\r\\n\\f]",F="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",O=F.replace("w","w#"),B="([*^$|!~]?=)",P="\\["+_+"*("+F+")"+_+"*(?:"+B+_+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+O+")|)|)"+_+"*\\]",R=":("+F+")(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|"+P.replace(3,8)+")*)|.*)\\)|)",W=RegExp("^"+_+"+|((?:^|[^\\\\])(?:\\\\.)*)"+_+"+$","g"),$=RegExp("^"+_+"*,"+_+"*"),I=RegExp("^"+_+"*([\\x20\\t\\r\\n\\f>+~])"+_+"*"),z=RegExp(R),X=RegExp("^"+O+"$"),U={ID:RegExp("^#("+F+")"),CLASS:RegExp("^\\.("+F
+")"),NAME:RegExp("^\\[name=['\"]?("+F+")['\"]?\\]"),TAG:RegExp("^("+F.replace("w","w*")+")"),ATTR:RegExp("^"+P),PSEUDO:RegExp("^"+R),CHILD:RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+_+"*(even|odd|(([+-]|)(\\d*)n|)"+_+"*(?:([+-]|)"+_+"*(\\d+)|))"+_+"*\\)|)","i"),needsContext:RegExp("^"+_+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+_+"*((?:-\\d)?\\d*)"+_+"*\\)|)(?=[^-]|$)","i")},V=/[\x20\t\r\n\f]*[+~]/,Y=/^[^{]+\{\s*\[native code/,J=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,G=/^(?:input|select|textarea|button)$/i,Q=/^h\d$/i,K=/'|\\/g,Z=/\=[\x20\t\r\n\f]*([^'"\]]*)[\x20\t\r\n\f]*\]/g,et=/\\([\da-fA-F]{1,6}[\x20\t\r\n\f]?|.)/g,tt=function(e,t){var n="0x"+t-65536;return n!==n?t:0>n?String.fromCharCode(n+65536):String.fromCharCode(55296|n>>10,56320|1023&n)};try{q.call(w.documentElement.childNodes,0)[0].nodeType}catch(nt){q=function(e){var t,n=[];while(t=this[e++])n.push(t);return n}}function rt(e){return Y.test(e+"")}function it(){var e,t=[];return e=function(n,r){re
turn t.push(n+=" ")>i.cacheLength&&delete e[t.shift()],e[n]=r}}function ot(e){return e[x]=!0,e}function at(e){var t=p.createElement("div");try{return e(t)}catch(n){return!1}finally{t=null}}function st(e,t,n,r){var i,o,a,s,u,l,f,g,m,v;if((t?t.ownerDocument||t:w)!==p&&c(t),t=t||p,n=n||[],!e||"string"!=typeof e)return n;if(1!==(s=t.nodeType)&&9!==s)return[];if(!d&&!r){if(i=J.exec(e))if(a=i[1]){if(9===s){if(o=t.getElementById(a),!o||!o.parentNode)return n;if(o.id===a)return n.push(o),n}else if(t.ownerDocument&&(o=t.ownerDocument.getElementById(a))&&y(t,o)&&o.id===a)return n.push(o),n}else{if(i[2])return H.apply(n,q.call(t.getElementsByTagName(e),0)),n;if((a=i[3])&&T.getByClassName&&t.getElementsByClassName)return H.apply(n,q.call(t.getElementsByClassName(a),0)),n}if(T.qsa&&!h.test(e)){if(f=!0,g=x,m=t,v=9===s&&e,1===s&&"object"!==t.nodeName.toLowerCase()){l=ft(e),(f=t.getAttribute("id"))?g=f.replace(K,"\\$&"):t.setAttribute("id",g),g="[id='"+g+"'] ",u=l.length;while(u--)l[u]=g+dt(l[u]);m
=V.test(e)&&t.parentNode||t,v=l.join(",")}if(v)try{return H.apply(n,q.call(m.querySelectorAll(v),0)),n}catch(b){}finally{f||t.removeAttribute("id")}}}return wt(e.replace(W,"$1"),t,n,r)}a=st.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return t?"HTML"!==t.nodeName:!1},c=st.setDocument=function(e){var n=e?e.ownerDocument||e:w;return n!==p&&9===n.nodeType&&n.documentElement?(p=n,f=n.documentElement,d=a(n),T.tagNameNoComments=at(function(e){return e.appendChild(n.createComment("")),!e.getElementsByTagName("*").length}),T.attributes=at(function(e){e.innerHTML="<select></select>";var t=typeof e.lastChild.getAttribute("multiple");return"boolean"!==t&&"string"!==t}),T.getByClassName=at(function(e){return e.innerHTML="<div class='hidden e'></div><div class='hidden'></div>",e.getElementsByClassName&&e.getElementsByClassName("e").length?(e.lastChild.className="e",2===e.getElementsByClassName("e").length):!1}),T.getByName=at(function(e){e.id=x+0,e.innerHTML="<a name='"+x+"'><
/a><div name='"+x+"'></div>",f.insertBefore(e,f.firstChild);var t=n.getElementsByName&&n.getElementsByName(x).length===2+n.getElementsByName(x+0).length;return T.getIdNotName=!n.getElementById(x),f.removeChild(e),t}),i.attrHandle=at(function(e){return e.innerHTML="<a href='#'></a>",e.firstChild&&typeof e.firstChild.getAttribute!==A&&"#"===e.firstChild.getAttribute("href")})?{}:{href:function(e){return e.getAttribute("href",2)},type:function(e){return e.getAttribute("type")}},T.getIdNotName?(i.find.ID=function(e,t){if(typeof t.getElementById!==A&&!d){var n=t.getElementById(e);return n&&n.parentNode?[n]:[]}},i.filter.ID=function(e){var t=e.replace(et,tt);return function(e){return e.getAttribute("id")===t}}):(i.find.ID=function(e,n){if(typeof n.getElementById!==A&&!d){var r=n.getElementById(e);return r?r.id===e||typeof r.getAttributeNode!==A&&r.getAttributeNode("id").value===e?[r]:t:[]}},i.filter.ID=function(e){var t=e.replace(et,tt);return function(e){var n=typeof e.getAttributeNode!=
=A&&e.getAttributeNode("id");return n&&n.value===t}}),i.find.TAG=T.tagNameNoComments?function(e,n){return typeof n.getElementsByTagName!==A?n.getElementsByTagName(e):t}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},i.find.NAME=T.getByName&&function(e,n){return typeof n.getElementsByName!==A?n.getElementsByName(name):t},i.find.CLASS=T.getByClassName&&function(e,n){return typeof n.getElementsByClassName===A||d?t:n.getElementsByClassName(e)},g=[],h=[":focus"],(T.qsa=rt(n.querySelectorAll))&&(at(function(e){e.innerHTML="<select><option selected=''></option></select>",e.querySelectorAll("[selected]").length||h.push("\\["+_+"*(?:checked|disabled|ismap|multiple|readonly|selected|value)"),e.querySelectorAll(":checked").length||h.push(":checked")}),at(function(e){e.innerHTML="<input type='hidden' i=''/>",e.querySelectorAll("[i^='']").length&&h.push("[*^$]="+_+"*(?:\"\"|'')"),e.querySelectorAll(":enabled").leng
th||h.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),h.push(",.*:")})),(T.matchesSelector=rt(m=f.matchesSelector||f.mozMatchesSelector||f.webkitMatchesSelector||f.oMatchesSelector||f.msMatchesSelector))&&at(function(e){T.disconnectedMatch=m.call(e,"div"),m.call(e,"[s!='']:x"),g.push("!=",R)}),h=RegExp(h.join("|")),g=RegExp(g.join("|")),y=rt(f.contains)||f.compareDocumentPosition?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},v=f.compareDocumentPosition?function(e,t){var r;return e===t?(u=!0,0):(r=t.compareDocumentPosition&&e.compareDocumentPosition&&e.compareDocumentPosition(t))?1&r||e.parentNode&&11===e.parentNode.nodeType?e===n||y(w,e)?-1:t===n||y(w,t)?1:0:4&r?-1:1:e.compareDocumentPosition?-1:1}:function(e,t){var r,i=0,o=e.parentNode,a=t.parentNode,s=[e],l
=[t];if(e===t)return u=!0,0;if(!o||!a)return e===n?-1:t===n?1:o?-1:a?1:0;if(o===a)return ut(e,t);r=e;while(r=r.parentNode)s.unshift(r);r=t;while(r=r.parentNode)l.unshift(r);while(s[i]===l[i])i++;return i?ut(s[i],l[i]):s[i]===w?-1:l[i]===w?1:0},u=!1,[0,0].sort(v),T.detectDuplicates=u,p):p},st.matches=function(e,t){return st(e,null,null,t)},st.matchesSelector=function(e,t){if((e.ownerDocument||e)!==p&&c(e),t=t.replace(Z,"='$1']"),!(!T.matchesSelector||d||g&&g.test(t)||h.test(t)))try{var n=m.call(e,t);if(n||T.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(r){}return st(t,p,null,[e]).length>0},st.contains=function(e,t){return(e.ownerDocument||e)!==p&&c(e),y(e,t)},st.attr=function(e,t){var n;return(e.ownerDocument||e)!==p&&c(e),d||(t=t.toLowerCase()),(n=i.attrHandle[t])?n(e):d||T.attributes?e.getAttribute(t):((n=e.getAttributeNode(t))||e.getAttribute(t))&&e[t]===!0?t:n&&n.specified?n.value:null},st.error=function(e){throw Error("Syntax error, unrecognized expressi
on: "+e)},st.uniqueSort=function(e){var t,n=[],r=1,i=0;if(u=!T.detectDuplicates,e.sort(v),u){for(;t=e[r];r++)t===e[r-1]&&(i=n.push(r));while(i--)e.splice(n[i],1)}return e};function ut(e,t){var n=t&&e,r=n&&(~t.sourceIndex||j)-(~e.sourceIndex||j);if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function lt(e){return function(t){var n=t.nodeName.toLowerCase();return"input"===n&&t.type===e}}function ct(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function pt(e){return ot(function(t){return t=+t,ot(function(n,r){var i,o=e([],n.length,t),a=o.length;while(a--)n[i=o[a]]&&(n[i]=!(r[i]=n[i]))})})}o=st.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=o(e)}else if(3===i||4===i)return e.nodeValue}else for(;t=e[r];r++)n+=o(t);return n},i=st.selectors={cacheLength:50,createPseudo:ot,match:U,find:{
},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(et,tt),e[3]=(e[4]||e[5]||"").replace(et,tt),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||st.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&st.error(e[0]),e},PSEUDO:function(e){var t,n=!e[5]&&e[2];return U.CHILD.test(e[0])?null:(e[4]?e[2]=e[4]:n&&z.test(n)&&(t=ft(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){return"*"===e?function(){return!0}:(e=e.replace(et,tt).toLowerCase(),function(t){return t.nodeName&&t.nodeName.toLowerCase()===e})},CLASS:function(e){var t=k[e+" "];return t||(t=RegExp("(^|"+_+")"+e+"("+_+"|$)"))&&k(e,function(e){return t.test(e.className||typeof e.getAttr
ibute!==A&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r){var i=st.attr(r,e);return null==i?"!="===t:t?(i+="","="===t?i===n:"!="===t?i!==n:"^="===t?n&&0===i.indexOf(n):"*="===t?n&&i.indexOf(n)>-1:"$="===t?n&&i.slice(-n.length)===n:"~="===t?(" "+i+" ").indexOf(n)>-1:"|="===t?i===n||i.slice(0,n.length+1)===n+"-":!1):!0}},CHILD:function(e,t,n,r,i){var o="nth"!==e.slice(0,3),a="last"!==e.slice(-4),s="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,u){var l,c,p,f,d,h,g=o!==a?"nextSibling":"previousSibling",m=t.parentNode,y=s&&t.nodeName.toLowerCase(),v=!u&&!s;if(m){if(o){while(g){p=t;while(p=p[g])if(s?p.nodeName.toLowerCase()===y:1===p.nodeType)return!1;h=g="only"===e&&!h&&"nextSibling"}return!0}if(h=[a?m.firstChild:m.lastChild],a&&v){c=m[x]||(m[x]={}),l=c[e]||[],d=l[0]===N&&l[1],f=l[0]===N&&l[2],p=d&&m.childNodes[d];while(p=++d&&p&&p[g]||(f=d=0)||h.pop())if(1===p.nodeType&&++f&&p===t){c[e]=[N,d,f];break}}else if(v&&(l=(t[x]||(t[x]
={}))[e])&&l[0]===N)f=l[1];else while(p=++d&&p&&p[g]||(f=d=0)||h.pop())if((s?p.nodeName.toLowerCase()===y:1===p.nodeType)&&++f&&(v&&((p[x]||(p[x]={}))[e]=[N,f]),p===t))break;return f-=i,f===r||0===f%r&&f/r>=0}}},PSEUDO:function(e,t){var n,r=i.pseudos[e]||i.setFilters[e.toLowerCase()]||st.error("unsupported pseudo: "+e);return r[x]?r(t):r.length>1?(n=[e,e,"",t],i.setFilters.hasOwnProperty(e.toLowerCase())?ot(function(e,n){var i,o=r(e,t),a=o.length;while(a--)i=M.call(e,o[a]),e[i]=!(n[i]=o[a])}):function(e){return r(e,0,n)}):r}},pseudos:{not:ot(function(e){var t=[],n=[],r=s(e.replace(W,"$1"));return r[x]?ot(function(e,t,n,i){var o,a=r(e,null,i,[]),s=e.length;while(s--)(o=a[s])&&(e[s]=!(t[s]=o))}):function(e,i,o){return t[0]=e,r(t,null,o,n),!n.pop()}}),has:ot(function(e){return function(t){return st(e,t).length>0}}),contains:ot(function(e){return function(t){return(t.textContent||t.innerText||o(t)).indexOf(e)>-1}}),lang:ot(function(e){return X.test(e||"")||st.error("unsupported lang: "+
e),e=e.replace(et,tt).toLowerCase(),function(t){var n;do if(n=d?t.getAttribute("xml:lang")||t.getAttribute("lang"):t.lang)return n=n.toLowerCase(),n===e||0===n.indexOf(e+"-");while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===f},focus:function(e){return e===p.activeElement&&(!p.hasFocus||p.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:function(e){return e.disabled===!1},disabled:function(e){return e.disabled===!0},checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,e.selected===!0},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeName>"@"||3===e.nodeType||4===e.nodeType)return!1;return!0},parent:function(e){return!i.pseudos.empty(e)},header:function(e){return Q.test(e.nodeName)},input:function(e){return G.test(e.nodeName)},bu
tton:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||t.toLowerCase()===e.type)},first:pt(function(){return[0]}),last:pt(function(e,t){return[t-1]}),eq:pt(function(e,t,n){return[0>n?n+t:n]}),even:pt(function(e,t){var n=0;for(;t>n;n+=2)e.push(n);return e}),odd:pt(function(e,t){var n=1;for(;t>n;n+=2)e.push(n);return e}),lt:pt(function(e,t,n){var r=0>n?n+t:n;for(;--r>=0;)e.push(r);return e}),gt:pt(function(e,t,n){var r=0>n?n+t:n;for(;t>++r;)e.push(r);return e})}};for(n in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})i.pseudos[n]=lt(n);for(n in{submit:!0,reset:!0})i.pseudos[n]=ct(n);function ft(e,t){var n,r,o,a,s,u,l,c=E[e+" "];if(c)return t?0:c.slice(0);s=e,u=[],l=i.preFilter;while(s){(!n||(r=$.exec(s)))&&(r&&(s=s.slice(r[0].length)||s),u.push(o=[])),n=!1,(r=I.exec(s))&&(n=r.shift(),o.push({value:n,type:r[0].replace(W,"
")}),s=s.slice(n.length));for(a in i.filter)!(r=U[a].exec(s))||l[a]&&!(r=l[a](r))||(n=r.shift(),o.push({value:n,type:a,matches:r}),s=s.slice(n.length));if(!n)break}return t?s.length:s?st.error(e):E(e,u).slice(0)}function dt(e){var t=0,n=e.length,r="";for(;n>t;t++)r+=e[t].value;return r}function ht(e,t,n){var i=t.dir,o=n&&"parentNode"===i,a=C++;return t.first?function(t,n,r){while(t=t[i])if(1===t.nodeType||o)return e(t,n,r)}:function(t,n,s){var u,l,c,p=N+" "+a;if(s){while(t=t[i])if((1===t.nodeType||o)&&e(t,n,s))return!0}else while(t=t[i])if(1===t.nodeType||o)if(c=t[x]||(t[x]={}),(l=c[i])&&l[0]===p){if((u=l[1])===!0||u===r)return u===!0}else if(l=c[i]=[p],l[1]=e(t,n,s)||r,l[1]===!0)return!0}}function gt(e){return e.length>1?function(t,n,r){var i=e.length;while(i--)if(!e[i](t,n,r))return!1;return!0}:e[0]}function mt(e,t,n,r,i){var o,a=[],s=0,u=e.length,l=null!=t;for(;u>s;s++)(o=e[s])&&(!n||n(o,r,i))&&(a.push(o),l&&t.push(s));return a}function yt(e,t,n,r,i,o){return r&&!r[x]&&(r=yt(r))
,i&&!i[x]&&(i=yt(i,o)),ot(function(o,a,s,u){var l,c,p,f=[],d=[],h=a.length,g=o||xt(t||"*",s.nodeType?[s]:s,[]),m=!e||!o&&t?g:mt(g,f,e,s,u),y=n?i||(o?e:h||r)?[]:a:m;if(n&&n(m,y,s,u),r){l=mt(y,d),r(l,[],s,u),c=l.length;while(c--)(p=l[c])&&(y[d[c]]=!(m[d[c]]=p))}if(o){if(i||e){if(i){l=[],c=y.length;while(c--)(p=y[c])&&l.push(m[c]=p);i(null,y=[],l,u)}c=y.length;while(c--)(p=y[c])&&(l=i?M.call(o,p):f[c])>-1&&(o[l]=!(a[l]=p))}}else y=mt(y===a?y.splice(h,y.length):y),i?i(null,a,y,u):H.apply(a,y)})}function vt(e){var t,n,r,o=e.length,a=i.relative[e[0].type],s=a||i.relative[" "],u=a?1:0,c=ht(function(e){return e===t},s,!0),p=ht(function(e){return M.call(t,e)>-1},s,!0),f=[function(e,n,r){return!a&&(r||n!==l)||((t=n).nodeType?c(e,n,r):p(e,n,r))}];for(;o>u;u++)if(n=i.relative[e[u].type])f=[ht(gt(f),n)];else{if(n=i.filter[e[u].type].apply(null,e[u].matches),n[x]){for(r=++u;o>r;r++)if(i.relative[e[r].type])break;return yt(u>1&&gt(f),u>1&&dt(e.slice(0,u-1)).replace(W,"$1"),n,r>u&&vt(e.slice(u,r)),
o>r&&vt(e=e.slice(r)),o>r&&dt(e))}f.push(n)}return gt(f)}function bt(e,t){var n=0,o=t.length>0,a=e.length>0,s=function(s,u,c,f,d){var h,g,m,y=[],v=0,b="0",x=s&&[],w=null!=d,T=l,C=s||a&&i.find.TAG("*",d&&u.parentNode||u),k=N+=null==T?1:Math.random()||.1;for(w&&(l=u!==p&&u,r=n);null!=(h=C[b]);b++){if(a&&h){g=0;while(m=e[g++])if(m(h,u,c)){f.push(h);break}w&&(N=k,r=++n)}o&&((h=!m&&h)&&v--,s&&x.push(h))}if(v+=b,o&&b!==v){g=0;while(m=t[g++])m(x,y,u,c);if(s){if(v>0)while(b--)x[b]||y[b]||(y[b]=L.call(f));y=mt(y)}H.apply(f,y),w&&!s&&y.length>0&&v+t.length>1&&st.uniqueSort(f)}return w&&(N=k,l=T),x};return o?ot(s):s}s=st.compile=function(e,t){var n,r=[],i=[],o=S[e+" "];if(!o){t||(t=ft(e)),n=t.length;while(n--)o=vt(t[n]),o[x]?r.push(o):i.push(o);o=S(e,bt(i,r))}return o};function xt(e,t,n){var r=0,i=t.length;for(;i>r;r++)st(e,t[r],n);return n}function wt(e,t,n,r){var o,a,u,l,c,p=ft(e);if(!r&&1===p.length){if(a=p[0]=p[0].slice(0),a.length>2&&"ID"===(u=a[0]).type&&9===t.nodeType&&!d&&i.relative[a[
1].type]){if(t=i.find.ID(u.matches[0].replace(et,tt),t)[0],!t)return n;e=e.slice(a.shift().value.length)}o=U.needsContext.test(e)?0:a.length;while(o--){if(u=a[o],i.relative[l=u.type])break;if((c=i.find[l])&&(r=c(u.matches[0].replace(et,tt),V.test(a[0].type)&&t.parentNode||t))){if(a.splice(o,1),e=r.length&&dt(a),!e)return H.apply(n,q.call(r,0)),n;break}}}return s(e,p)(r,t,d,n,V.test(e)),n}i.pseudos.nth=i.pseudos.eq;function Tt(){}i.filters=Tt.prototype=i.pseudos,i.setFilters=new Tt,c(),st.attr=b.attr,b.find=st,b.expr=st.selectors,b.expr[":"]=b.expr.pseudos,b.unique=st.uniqueSort,b.text=st.getText,b.isXMLDoc=st.isXML,b.contains=st.contains}(e);var at=/Until$/,st=/^(?:parents|prev(?:Until|All))/,ut=/^.[^:#\[\.,]*$/,lt=b.expr.match.needsContext,ct={children:!0,contents:!0,next:!0,prev:!0};b.fn.extend({find:function(e){var t,n,r,i=this.length;if("string"!=typeof e)return r=this,this.pushStack(b(e).filter(function(){for(t=0;i>t;t++)if(b.contains(r[t],this))return!0}));for(n=[],t=0;i>t;t++
)b.find(e,this[t],n);return n=this.pushStack(i>1?b.unique(n):n),n.selector=(this.selector?this.selector+" ":"")+e,n},has:function(e){var t,n=b(e,this),r=n.length;return this.filter(function(){for(t=0;r>t;t++)if(b.contains(this,n[t]))return!0})},not:function(e){return this.pushStack(ft(this,e,!1))},filter:function(e){return this.pushStack(ft(this,e,!0))},is:function(e){return!!e&&("string"==typeof e?lt.test(e)?b(e,this.context).index(this[0])>=0:b.filter(e,this).length>0:this.filter(e).length>0)},closest:function(e,t){var n,r=0,i=this.length,o=[],a=lt.test(e)||"string"!=typeof e?b(e,t||this.context):0;for(;i>r;r++){n=this[r];while(n&&n.ownerDocument&&n!==t&&11!==n.nodeType){if(a?a.index(n)>-1:b.find.matchesSelector(n,e)){o.push(n);break}n=n.parentNode}}return this.pushStack(o.length>1?b.unique(o):o)},index:function(e){return e?"string"==typeof e?b.inArray(this[0],b(e)):b.inArray(e.jquery?e[0]:e,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){var
n="string"==typeof e?b(e,t):b.makeArray(e&&e.nodeType?[e]:e),r=b.merge(this.get(),n);return this.pushStack(b.unique(r))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),b.fn.andSelf=b.fn.addBack;function pt(e,t){do e=e[t];while(e&&1!==e.nodeType);return e}b.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return b.dir(e,"parentNode")},parentsUntil:function(e,t,n){return b.dir(e,"parentNode",n)},next:function(e){return pt(e,"nextSibling")},prev:function(e){return pt(e,"previousSibling")},nextAll:function(e){return b.dir(e,"nextSibling")},prevAll:function(e){return b.dir(e,"previousSibling")},nextUntil:function(e,t,n){return b.dir(e,"nextSibling",n)},prevUntil:function(e,t,n){return b.dir(e,"previousSibling",n)},siblings:function(e){return b.sibling((e.parentNode||{}).firstChild,e)},children:function(e){return b.sibling(e.firstChild)},contents:function(e){return b.nodeName(e,"iframe")?e.contentD
ocument||e.contentWindow.document:b.merge([],e.childNodes)}},function(e,t){b.fn[e]=function(n,r){var i=b.map(this,t,n);return at.test(e)||(r=n),r&&"string"==typeof r&&(i=b.filter(r,i)),i=this.length>1&&!ct[e]?b.unique(i):i,this.length>1&&st.test(e)&&(i=i.reverse()),this.pushStack(i)}}),b.extend({filter:function(e,t,n){return n&&(e=":not("+e+")"),1===t.length?b.find.matchesSelector(t[0],e)?[t[0]]:[]:b.find.matches(e,t)},dir:function(e,n,r){var i=[],o=e[n];while(o&&9!==o.nodeType&&(r===t||1!==o.nodeType||!b(o).is(r)))1===o.nodeType&&i.push(o),o=o[n];return i},sibling:function(e,t){var n=[];for(;e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n}});function ft(e,t,n){if(t=t||0,b.isFunction(t))return b.grep(e,function(e,r){var i=!!t.call(e,r,e);return i===n});if(t.nodeType)return b.grep(e,function(e){return e===t===n});if("string"==typeof t){var r=b.grep(e,function(e){return 1===e.nodeType});if(ut.test(t))return b.filter(t,r,!n);t=b.filter(t,r)}return b.grep(e,function(e){retur
n b.inArray(e,t)>=0===n})}function dt(e){var t=ht.split("|"),n=e.createDocumentFragment();if(n.createElement)while(t.length)n.createElement(t.pop());return n}var ht="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",gt=/ jQuery\d+="(?:null|\d+)"/g,mt=RegExp("<(?:"+ht+")[\\s/>]","i"),yt=/^\s+/,vt=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,bt=/<([\w:]+)/,xt=/<tbody/i,wt=/<|&#?\w+;/,Tt=/<(?:script|style|link)/i,Nt=/^(?:checkbox|radio)$/i,Ct=/checked\s*(?:[^=]|=\s*.checked.)/i,kt=/^$|\/(?:java|ecma)script/i,Et=/^true\/(.*)/,St=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,At={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],area:[1,"<map>","</map>"],param:[1,"<object>","</object>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></tab
le>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:b.support.htmlSerialize?[0,"",""]:[1,"X<div>","</div>"]},jt=dt(o),Dt=jt.appendChild(o.createElement("div"));At.optgroup=At.option,At.tbody=At.tfoot=At.colgroup=At.caption=At.thead,At.th=At.td,b.fn.extend({text:function(e){return b.access(this,function(e){return e===t?b.text(this):this.empty().append((this[0]&&this[0].ownerDocument||o).createTextNode(e))},null,e,arguments.length)},wrapAll:function(e){if(b.isFunction(e))return this.each(function(t){b(this).wrapAll(e.call(this,t))});if(this[0]){var t=b(e,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstChild&&1===e.firstChild.nodeType)e=e.firstChild;return e}).append(this)}return this},wrapInner:function(e){return b.isFunction(e)?this.each(function(t){b(this).wrapInner(e.call(this,t))}):this.each(function(){var t=b(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=b
.isFunction(e);return this.each(function(n){b(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(){return this.parent().each(function(){b.nodeName(this,"body")||b(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(e){(1===this.nodeType||11===this.nodeType||9===this.nodeType)&&this.appendChild(e)})},prepend:function(){return this.domManip(arguments,!0,function(e){(1===this.nodeType||11===this.nodeType||9===this.nodeType)&&this.insertBefore(e,this.firstChild)})},before:function(){return this.domManip(arguments,!1,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return this.domManip(arguments,!1,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},remove:function(e,t){var n,r=0;for(;null!=(n=this[r]);r++)(!e||b.filter(e,[n]).length>0)&&(t||1!==n.nodeType||b.cleanData(Ot(n)),n.parentNode&&(t&&b.contains(n.ownerDocument,n)&&Mt(Ot(n,"script")),n.parentNode.removeChild(n
)));return this},empty:function(){var e,t=0;for(;null!=(e=this[t]);t++){1===e.nodeType&&b.cleanData(Ot(e,!1));while(e.firstChild)e.removeChild(e.firstChild);e.options&&b.nodeName(e,"select")&&(e.options.length=0)}return this},clone:function(e,t){return e=null==e?!1:e,t=null==t?e:t,this.map(function(){return b.clone(this,e,t)})},html:function(e){return b.access(this,function(e){var n=this[0]||{},r=0,i=this.length;if(e===t)return 1===n.nodeType?n.innerHTML.replace(gt,""):t;if(!("string"!=typeof e||Tt.test(e)||!b.support.htmlSerialize&&mt.test(e)||!b.support.leadingWhitespace&&yt.test(e)||At[(bt.exec(e)||["",""])[1].toLowerCase()])){e=e.replace(vt,"<$1></$2>");try{for(;i>r;r++)n=this[r]||{},1===n.nodeType&&(b.cleanData(Ot(n,!1)),n.innerHTML=e);n=0}catch(o){}}n&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(e){var t=b.isFunction(e);return t||"string"==typeof e||(e=b(e).not(this).detach()),this.domManip([e],!0,function(e){var t=this.nextSibling,n=this.parentNode;
n&&(b(this).remove(),n.insertBefore(e,t))})},detach:function(e){return this.remove(e,!0)},domManip:function(e,n,r){e=f.apply([],e);var i,o,a,s,u,l,c=0,p=this.length,d=this,h=p-1,g=e[0],m=b.isFunction(g);if(m||!(1>=p||"string"!=typeof g||b.support.checkClone)&&Ct.test(g))return this.each(function(i){var o=d.eq(i);m&&(e[0]=g.call(this,i,n?o.html():t)),o.domManip(e,n,r)});if(p&&(l=b.buildFragment(e,this[0].ownerDocument,!1,this),i=l.firstChild,1===l.childNodes.length&&(l=i),i)){for(n=n&&b.nodeName(i,"tr"),s=b.map(Ot(l,"script"),Ht),a=s.length;p>c;c++)o=l,c!==h&&(o=b.clone(o,!0,!0),a&&b.merge(s,Ot(o,"script"))),r.call(n&&b.nodeName(this[c],"table")?Lt(this[c],"tbody"):this[c],o,c);if(a)for(u=s[s.length-1].ownerDocument,b.map(s,qt),c=0;a>c;c++)o=s[c],kt.test(o.type||"")&&!b._data(o,"globalEval")&&b.contains(u,o)&&(o.src?b.ajax({url:o.src,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0}):b.globalEval((o.text||o.textContent||o.innerHTML||"").replace(St,"")));l=i=null}return thi
s}});function Lt(e,t){return e.getElementsByTagName(t)[0]||e.appendChild(e.ownerDocument.createElement(t))}function Ht(e){var t=e.getAttributeNode("type");return e.type=(t&&t.specified)+"/"+e.type,e}function qt(e){var t=Et.exec(e.type);return t?e.type=t[1]:e.removeAttribute("type"),e}function Mt(e,t){var n,r=0;for(;null!=(n=e[r]);r++)b._data(n,"globalEval",!t||b._data(t[r],"globalEval"))}function _t(e,t){if(1===t.nodeType&&b.hasData(e)){var n,r,i,o=b._data(e),a=b._data(t,o),s=o.events;if(s){delete a.handle,a.events={};for(n in s)for(r=0,i=s[n].length;i>r;r++)b.event.add(t,n,s[n][r])}a.data&&(a.data=b.extend({},a.data))}}function Ft(e,t){var n,r,i;if(1===t.nodeType){if(n=t.nodeName.toLowerCase(),!b.support.noCloneEvent&&t[b.expando]){i=b._data(t);for(r in i.events)b.removeEvent(t,r,i.handle);t.removeAttribute(b.expando)}"script"===n&&t.text!==e.text?(Ht(t).text=e.text,qt(t)):"object"===n?(t.parentNode&&(t.outerHTML=e.outerHTML),b.support.html5Clone&&e.innerHTML&&!b.trim(t.innerHTML)&
&(t.innerHTML=e.innerHTML)):"input"===n&&Nt.test(e.type)?(t.defaultChecked=t.checked=e.checked,t.value!==e.value&&(t.value=e.value)):"option"===n?t.defaultSelected=t.selected=e.defaultSelected:("input"===n||"textarea"===n)&&(t.defaultValue=e.defaultValue)}}b.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,t){b.fn[e]=function(e){var n,r=0,i=[],o=b(e),a=o.length-1;for(;a>=r;r++)n=r===a?this:this.clone(!0),b(o[r])[t](n),d.apply(i,n.get());return this.pushStack(i)}});function Ot(e,n){var r,o,a=0,s=typeof e.getElementsByTagName!==i?e.getElementsByTagName(n||"*"):typeof e.querySelectorAll!==i?e.querySelectorAll(n||"*"):t;if(!s)for(s=[],r=e.childNodes||e;null!=(o=r[a]);a++)!n||b.nodeName(o,n)?s.push(o):b.merge(s,Ot(o,n));return n===t||n&&b.nodeName(e,n)?b.merge([e],s):s}function Bt(e){Nt.test(e.type)&&(e.defaultChecked=e.checked)}b.extend({clone:function(e,t,n){var r,i,o,a,s,u=b.contains(e.ownerDocument,e);if(b.supp
ort.html5Clone||b.isXMLDoc(e)||!mt.test("<"+e.nodeName+">")?o=e.cloneNode(!0):(Dt.innerHTML=e.outerHTML,Dt.removeChild(o=Dt.firstChild)),!(b.support.noCloneEvent&&b.support.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||b.isXMLDoc(e)))for(r=Ot(o),s=Ot(e),a=0;null!=(i=s[a]);++a)r[a]&&Ft(i,r[a]);if(t)if(n)for(s=s||Ot(e),r=r||Ot(o),a=0;null!=(i=s[a]);a++)_t(i,r[a]);else _t(e,o);return r=Ot(o,"script"),r.length>0&&Mt(r,!u&&Ot(e,"script")),r=s=i=null,o},buildFragment:function(e,t,n,r){var i,o,a,s,u,l,c,p=e.length,f=dt(t),d=[],h=0;for(;p>h;h++)if(o=e[h],o||0===o)if("object"===b.type(o))b.merge(d,o.nodeType?[o]:o);else if(wt.test(o)){s=s||f.appendChild(t.createElement("div")),u=(bt.exec(o)||["",""])[1].toLowerCase(),c=At[u]||At._default,s.innerHTML=c[1]+o.replace(vt,"<$1></$2>")+c[2],i=c[0];while(i--)s=s.lastChild;if(!b.support.leadingWhitespace&&yt.test(o)&&d.push(t.createTextNode(yt.exec(o)[0])),!b.support.tbody){o="table"!==u||xt.test(o)?"<table>"!==c[1]||xt.test(o)?0:s:s.firstChild,i
=o&&o.childNodes.length;while(i--)b.nodeName(l=o.childNodes[i],"tbody")&&!l.childNodes.length&&o.removeChild(l)
-}b.merge(d,s.childNodes),s.textContent="";while(s.firstChild)s.removeChild(s.firstChild);s=f.lastChild}else d.push(t.createTextNode(o));s&&f.removeChild(s),b.support.appendChecked||b.grep(Ot(d,"input"),Bt),h=0;while(o=d[h++])if((!r||-1===b.inArray(o,r))&&(a=b.contains(o.ownerDocument,o),s=Ot(f.appendChild(o),"script"),a&&Mt(s),n)){i=0;while(o=s[i++])kt.test(o.type||"")&&n.push(o)}return s=null,f},cleanData:function(e,t){var n,r,o,a,s=0,u=b.expando,l=b.cache,p=b.support.deleteExpando,f=b.event.special;for(;null!=(n=e[s]);s++)if((t||b.acceptData(n))&&(o=n[u],a=o&&l[o])){if(a.events)for(r in a.events)f[r]?b.event.remove(n,r):b.removeEvent(n,r,a.handle);l[o]&&(delete l[o],p?delete n[u]:typeof n.removeAttribute!==i?n.removeAttribute(u):n[u]=null,c.push(o))}}});var Pt,Rt,Wt,$t=/alpha\([^)]*\)/i,It=/opacity\s*=\s*([^)]*)/,zt=/^(top|right|bottom|left)$/,Xt=/^(none|table(?!-c[ea]).+)/,Ut=/^margin/,Vt=RegExp("^("+x+")(.*)$","i"),Yt=RegExp("^("+x+")(?!px)[a-z%]+$","i"),Jt=RegExp("^([+-])=("+x+
")","i"),Gt={BODY:"block"},Qt={position:"absolute",visibility:"hidden",display:"block"},Kt={letterSpacing:0,fontWeight:400},Zt=["Top","Right","Bottom","Left"],en=["Webkit","O","Moz","ms"];function tn(e,t){if(t in e)return t;var n=t.charAt(0).toUpperCase()+t.slice(1),r=t,i=en.length;while(i--)if(t=en[i]+n,t in e)return t;return r}function nn(e,t){return e=t||e,"none"===b.css(e,"display")||!b.contains(e.ownerDocument,e)}function rn(e,t){var n,r,i,o=[],a=0,s=e.length;for(;s>a;a++)r=e[a],r.style&&(o[a]=b._data(r,"olddisplay"),n=r.style.display,t?(o[a]||"none"!==n||(r.style.display=""),""===r.style.display&&nn(r)&&(o[a]=b._data(r,"olddisplay",un(r.nodeName)))):o[a]||(i=nn(r),(n&&"none"!==n||!i)&&b._data(r,"olddisplay",i?n:b.css(r,"display"))));for(a=0;s>a;a++)r=e[a],r.style&&(t&&"none"!==r.style.display&&""!==r.style.display||(r.style.display=t?o[a]||"":"none"));return e}b.fn.extend({css:function(e,n){return b.access(this,function(e,n,r){var i,o,a={},s=0;if(b.isArray(n)){for(o=Rt(e),i=n.
length;i>s;s++)a[n[s]]=b.css(e,n[s],!1,o);return a}return r!==t?b.style(e,n,r):b.css(e,n)},e,n,arguments.length>1)},show:function(){return rn(this,!0)},hide:function(){return rn(this)},toggle:function(e){var t="boolean"==typeof e;return this.each(function(){(t?e:nn(this))?b(this).show():b(this).hide()})}}),b.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Wt(e,"opacity");return""===n?"1":n}}}},cssNumber:{columnCount:!0,fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":b.support.cssFloat?"cssFloat":"styleFloat"},style:function(e,n,r,i){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var o,a,s,u=b.camelCase(n),l=e.style;if(n=b.cssProps[u]||(b.cssProps[u]=tn(l,u)),s=b.cssHooks[n]||b.cssHooks[u],r===t)return s&&"get"in s&&(o=s.get(e,!1,i))!==t?o:l[n];if(a=typeof r,"string"===a&&(o=Jt.exec(r))&&(r=(o[1]+1)*o[2]+parseFloat(b.css(e,n)),a="number"),!(null==r||"number"===a&&isNaN(r)||("number"!==a||b.cssNumber[u]||(r+="px"
),b.support.clearCloneStyle||""!==r||0!==n.indexOf("background")||(l[n]="inherit"),s&&"set"in s&&(r=s.set(e,r,i))===t)))try{l[n]=r}catch(c){}}},css:function(e,n,r,i){var o,a,s,u=b.camelCase(n);return n=b.cssProps[u]||(b.cssProps[u]=tn(e.style,u)),s=b.cssHooks[n]||b.cssHooks[u],s&&"get"in s&&(a=s.get(e,!0,r)),a===t&&(a=Wt(e,n,i)),"normal"===a&&n in Kt&&(a=Kt[n]),""===r||r?(o=parseFloat(a),r===!0||b.isNumeric(o)?o||0:a):a},swap:function(e,t,n,r){var i,o,a={};for(o in t)a[o]=e.style[o],e.style[o]=t[o];i=n.apply(e,r||[]);for(o in t)e.style[o]=a[o];return i}}),e.getComputedStyle?(Rt=function(t){return e.getComputedStyle(t,null)},Wt=function(e,n,r){var i,o,a,s=r||Rt(e),u=s?s.getPropertyValue(n)||s[n]:t,l=e.style;return s&&(""!==u||b.contains(e.ownerDocument,e)||(u=b.style(e,n)),Yt.test(u)&&Ut.test(n)&&(i=l.width,o=l.minWidth,a=l.maxWidth,l.minWidth=l.maxWidth=l.width=u,u=s.width,l.width=i,l.minWidth=o,l.maxWidth=a)),u}):o.documentElement.currentStyle&&(Rt=function(e){return e.currentStyle
},Wt=function(e,n,r){var i,o,a,s=r||Rt(e),u=s?s[n]:t,l=e.style;return null==u&&l&&l[n]&&(u=l[n]),Yt.test(u)&&!zt.test(n)&&(i=l.left,o=e.runtimeStyle,a=o&&o.left,a&&(o.left=e.currentStyle.left),l.left="fontSize"===n?"1em":u,u=l.pixelLeft+"px",l.left=i,a&&(o.left=a)),""===u?"auto":u});function on(e,t,n){var r=Vt.exec(t);return r?Math.max(0,r[1]-(n||0))+(r[2]||"px"):t}function an(e,t,n,r,i){var o=n===(r?"border":"content")?4:"width"===t?1:0,a=0;for(;4>o;o+=2)"margin"===n&&(a+=b.css(e,n+Zt[o],!0,i)),r?("content"===n&&(a-=b.css(e,"padding"+Zt[o],!0,i)),"margin"!==n&&(a-=b.css(e,"border"+Zt[o]+"Width",!0,i))):(a+=b.css(e,"padding"+Zt[o],!0,i),"padding"!==n&&(a+=b.css(e,"border"+Zt[o]+"Width",!0,i)));return a}function sn(e,t,n){var r=!0,i="width"===t?e.offsetWidth:e.offsetHeight,o=Rt(e),a=b.support.boxSizing&&"border-box"===b.css(e,"boxSizing",!1,o);if(0>=i||null==i){if(i=Wt(e,t,o),(0>i||null==i)&&(i=e.style[t]),Yt.test(i))return i;r=a&&(b.support.boxSizingReliable||i===e.style[t]),i=parse
Float(i)||0}return i+an(e,t,n||(a?"border":"content"),r,o)+"px"}function un(e){var t=o,n=Gt[e];return n||(n=ln(e,t),"none"!==n&&n||(Pt=(Pt||b("<iframe frameborder='0' width='0' height='0'/>").css("cssText","display:block !important")).appendTo(t.documentElement),t=(Pt[0].contentWindow||Pt[0].contentDocument).document,t.write("<!doctype html><html><body>"),t.close(),n=ln(e,t),Pt.detach()),Gt[e]=n),n}function ln(e,t){var n=b(t.createElement(e)).appendTo(t.body),r=b.css(n[0],"display");return n.remove(),r}b.each(["height","width"],function(e,n){b.cssHooks[n]={get:function(e,r,i){return r?0===e.offsetWidth&&Xt.test(b.css(e,"display"))?b.swap(e,Qt,function(){return sn(e,n,i)}):sn(e,n,i):t},set:function(e,t,r){var i=r&&Rt(e);return on(e,t,r?an(e,n,r,b.support.boxSizing&&"border-box"===b.css(e,"boxSizing",!1,i),i):0)}}}),b.support.opacity||(b.cssHooks.opacity={get:function(e,t){return It.test((t&&e.currentStyle?e.currentStyle.filter:e.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":t?"1":"
"},set:function(e,t){var n=e.style,r=e.currentStyle,i=b.isNumeric(t)?"alpha(opacity="+100*t+")":"",o=r&&r.filter||n.filter||"";n.zoom=1,(t>=1||""===t)&&""===b.trim(o.replace($t,""))&&n.removeAttribute&&(n.removeAttribute("filter"),""===t||r&&!r.filter)||(n.filter=$t.test(o)?o.replace($t,i):o+" "+i)}}),b(function(){b.support.reliableMarginRight||(b.cssHooks.marginRight={get:function(e,n){return n?b.swap(e,{display:"inline-block"},Wt,[e,"marginRight"]):t}}),!b.support.pixelPosition&&b.fn.position&&b.each(["top","left"],function(e,n){b.cssHooks[n]={get:function(e,r){return r?(r=Wt(e,n),Yt.test(r)?b(e).position()[n]+"px":r):t}}})}),b.expr&&b.expr.filters&&(b.expr.filters.hidden=function(e){return 0>=e.offsetWidth&&0>=e.offsetHeight||!b.support.reliableHiddenOffsets&&"none"===(e.style&&e.style.display||b.css(e,"display"))},b.expr.filters.visible=function(e){return!b.expr.filters.hidden(e)}),b.each({margin:"",padding:"",border:"Width"},function(e,t){b.cssHooks[e+t]={expand:function(n){var
r=0,i={},o="string"==typeof n?n.split(" "):[n];for(;4>r;r++)i[e+Zt[r]+t]=o[r]||o[r-2]||o[0];return i}},Ut.test(e)||(b.cssHooks[e+t].set=on)});var cn=/%20/g,pn=/\[\]$/,fn=/\r?\n/g,dn=/^(?:submit|button|image|reset|file)$/i,hn=/^(?:input|select|textarea|keygen)/i;b.fn.extend({serialize:function(){return b.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=b.prop(this,"elements");return e?b.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!b(this).is(":disabled")&&hn.test(this.nodeName)&&!dn.test(e)&&(this.checked||!Nt.test(e))}).map(function(e,t){var n=b(this).val();return null==n?null:b.isArray(n)?b.map(n,function(e){return{name:t.name,value:e.replace(fn,"\r\n")}}):{name:t.name,value:n.replace(fn,"\r\n")}}).get()}}),b.param=function(e,n){var r,i=[],o=function(e,t){t=b.isFunction(t)?t():null==t?"":t,i[i.length]=encodeURIComponent(e)+"="+encodeURIComponent(t)};if(n===t&&(n=b.ajaxSettings&&b.ajaxSettings.traditional),b.isArra
y(e)||e.jquery&&!b.isPlainObject(e))b.each(e,function(){o(this.name,this.value)});else for(r in e)gn(r,e[r],n,o);return i.join("&").replace(cn,"+")};function gn(e,t,n,r){var i;if(b.isArray(t))b.each(t,function(t,i){n||pn.test(e)?r(e,i):gn(e+"["+("object"==typeof i?t:"")+"]",i,n,r)});else if(n||"object"!==b.type(t))r(e,t);else for(i in t)gn(e+"["+i+"]",t[i],n,r)}b.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(e,t){b.fn[t]=function(e,n){return arguments.length>0?this.on(t,null,e,n):this.trigger(t)}}),b.fn.hover=function(e,t){return this.mouseenter(e).mouseleave(t||e)};var mn,yn,vn=b.now(),bn=/\?/,xn=/#.*$/,wn=/([?&])_=[^&]*/,Tn=/^(.*?):[ \t]*([^\r\n]*)\r?$/gm,Nn=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Cn=/^(?:GET|HEAD)$/,kn=/^\/\//,En=/^([\w.+-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/,Sn=b.fn
.load,An={},jn={},Dn="*/".concat("*");try{yn=a.href}catch(Ln){yn=o.createElement("a"),yn.href="",yn=yn.href}mn=En.exec(yn.toLowerCase())||[];function Hn(e){return function(t,n){"string"!=typeof t&&(n=t,t="*");var r,i=0,o=t.toLowerCase().match(w)||[];if(b.isFunction(n))while(r=o[i++])"+"===r[0]?(r=r.slice(1)||"*",(e[r]=e[r]||[]).unshift(n)):(e[r]=e[r]||[]).push(n)}}function qn(e,n,r,i){var o={},a=e===jn;function s(u){var l;return o[u]=!0,b.each(e[u]||[],function(e,u){var c=u(n,r,i);return"string"!=typeof c||a||o[c]?a?!(l=c):t:(n.dataTypes.unshift(c),s(c),!1)}),l}return s(n.dataTypes[0])||!o["*"]&&s("*")}function Mn(e,n){var r,i,o=b.ajaxSettings.flatOptions||{};for(i in n)n[i]!==t&&((o[i]?e:r||(r={}))[i]=n[i]);return r&&b.extend(!0,e,r),e}b.fn.load=function(e,n,r){if("string"!=typeof e&&Sn)return Sn.apply(this,arguments);var i,o,a,s=this,u=e.indexOf(" ");return u>=0&&(i=e.slice(u,e.length),e=e.slice(0,u)),b.isFunction(n)?(r=n,n=t):n&&"object"==typeof n&&(a="POST"),s.length>0&&b.ajax({
url:e,type:a,dataType:"html",data:n}).done(function(e){o=arguments,s.html(i?b("<div>").append(b.parseHTML(e)).find(i):e)}).complete(r&&function(e,t){s.each(r,o||[e.responseText,t,e])}),this},b.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){b.fn[t]=function(e){return this.on(t,e)}}),b.each(["get","post"],function(e,n){b[n]=function(e,r,i,o){return b.isFunction(r)&&(o=o||i,i=r,r=t),b.ajax({url:e,type:n,dataType:o,data:r,success:i})}}),b.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:yn,type:"GET",isLocal:Nn.test(mn[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Dn,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":e.String,"text html":!0,"text json":b.parseJSON,"text xml":b.parseXML}
,flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?Mn(Mn(e,b.ajaxSettings),t):Mn(b.ajaxSettings,e)},ajaxPrefilter:Hn(An),ajaxTransport:Hn(jn),ajax:function(e,n){"object"==typeof e&&(n=e,e=t),n=n||{};var r,i,o,a,s,u,l,c,p=b.ajaxSetup({},n),f=p.context||p,d=p.context&&(f.nodeType||f.jquery)?b(f):b.event,h=b.Deferred(),g=b.Callbacks("once memory"),m=p.statusCode||{},y={},v={},x=0,T="canceled",N={readyState:0,getResponseHeader:function(e){var t;if(2===x){if(!c){c={};while(t=Tn.exec(a))c[t[1].toLowerCase()]=t[2]}t=c[e.toLowerCase()]}return null==t?null:t},getAllResponseHeaders:function(){return 2===x?a:null},setRequestHeader:function(e,t){var n=e.toLowerCase();return x||(e=v[n]=v[n]||e,y[e]=t),this},overrideMimeType:function(e){return x||(p.mimeType=e),this},statusCode:function(e){var t;if(e)if(2>x)for(t in e)m[t]=[m[t],e[t]];else N.always(e[N.status]);return this},abort:function(e){var t=e||T;return l&&l.abort(t),k(0,t),this}};if(h.promise(N).complete=g.add,N.success=N.d
one,N.error=N.fail,p.url=((e||p.url||yn)+"").replace(xn,"").replace(kn,mn[1]+"//"),p.type=n.method||n.type||p.method||p.type,p.dataTypes=b.trim(p.dataType||"*").toLowerCase().match(w)||[""],null==p.crossDomain&&(r=En.exec(p.url.toLowerCase()),p.crossDomain=!(!r||r[1]===mn[1]&&r[2]===mn[2]&&(r[3]||("http:"===r[1]?80:443))==(mn[3]||("http:"===mn[1]?80:443)))),p.data&&p.processData&&"string"!=typeof p.data&&(p.data=b.param(p.data,p.traditional)),qn(An,p,n,N),2===x)return N;u=p.global,u&&0===b.active++&&b.event.trigger("ajaxStart"),p.type=p.type.toUpperCase(),p.hasContent=!Cn.test(p.type),o=p.url,p.hasContent||(p.data&&(o=p.url+=(bn.test(o)?"&":"?")+p.data,delete p.data),p.cache===!1&&(p.url=wn.test(o)?o.replace(wn,"$1_="+vn++):o+(bn.test(o)?"&":"?")+"_="+vn++)),p.ifModified&&(b.lastModified[o]&&N.setRequestHeader("If-Modified-Since",b.lastModified[o]),b.etag[o]&&N.setRequestHeader("If-None-Match",b.etag[o])),(p.data&&p.hasContent&&p.contentType!==!1||n.contentType)&&N.setRequestHeader(
"Content-Type",p.contentType),N.setRequestHeader("Accept",p.dataTypes[0]&&p.accepts[p.dataTypes[0]]?p.accepts[p.dataTypes[0]]+("*"!==p.dataTypes[0]?", "+Dn+"; q=0.01":""):p.accepts["*"]);for(i in p.headers)N.setRequestHeader(i,p.headers[i]);if(p.beforeSend&&(p.beforeSend.call(f,N,p)===!1||2===x))return N.abort();T="abort";for(i in{success:1,error:1,complete:1})N[i](p[i]);if(l=qn(jn,p,n,N)){N.readyState=1,u&&d.trigger("ajaxSend",[N,p]),p.async&&p.timeout>0&&(s=setTimeout(function(){N.abort("timeout")},p.timeout));try{x=1,l.send(y,k)}catch(C){if(!(2>x))throw C;k(-1,C)}}else k(-1,"No Transport");function k(e,n,r,i){var c,y,v,w,T,C=n;2!==x&&(x=2,s&&clearTimeout(s),l=t,a=i||"",N.readyState=e>0?4:0,r&&(w=_n(p,N,r)),e>=200&&300>e||304===e?(p.ifModified&&(T=N.getResponseHeader("Last-Modified"),T&&(b.lastModified[o]=T),T=N.getResponseHeader("etag"),T&&(b.etag[o]=T)),204===e?(c=!0,C="nocontent"):304===e?(c=!0,C="notmodified"):(c=Fn(p,w),C=c.state,y=c.data,v=c.error,c=!v)):(v=C,(e||!C)&&(C="er
ror",0>e&&(e=0))),N.status=e,N.statusText=(n||C)+"",c?h.resolveWith(f,[y,C,N]):h.rejectWith(f,[N,C,v]),N.statusCode(m),m=t,u&&d.trigger(c?"ajaxSuccess":"ajaxError",[N,p,c?y:v]),g.fireWith(f,[N,C]),u&&(d.trigger("ajaxComplete",[N,p]),--b.active||b.event.trigger("ajaxStop")))}return N},getScript:function(e,n){return b.get(e,t,n,"script")},getJSON:function(e,t,n){return b.get(e,t,n,"json")}});function _n(e,n,r){var i,o,a,s,u=e.contents,l=e.dataTypes,c=e.responseFields;for(s in c)s in r&&(n[c[s]]=r[s]);while("*"===l[0])l.shift(),o===t&&(o=e.mimeType||n.getResponseHeader("Content-Type"));if(o)for(s in u)if(u[s]&&u[s].test(o)){l.unshift(s);break}if(l[0]in r)a=l[0];else{for(s in r){if(!l[0]||e.converters[s+" "+l[0]]){a=s;break}i||(i=s)}a=a||i}return a?(a!==l[0]&&l.unshift(a),r[a]):t}function Fn(e,t){var n,r,i,o,a={},s=0,u=e.dataTypes.slice(),l=u[0];if(e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u[1])for(i in e.converters)a[i.toLowerCase()]=e.converters[i];for(;r=u[++s];)if("*"!==r){if("*"
!==l&&l!==r){if(i=a[l+" "+r]||a["* "+r],!i)for(n in a)if(o=n.split(" "),o[1]===r&&(i=a[l+" "+o[0]]||a["* "+o[0]])){i===!0?i=a[n]:a[n]!==!0&&(r=o[0],u.splice(s--,0,r));break}if(i!==!0)if(i&&e["throws"])t=i(t);else try{t=i(t)}catch(c){return{state:"parsererror",error:i?c:"No conversion from "+l+" to "+r}}}l=r}return{state:"success",data:t}}b.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(e){return b.globalEval(e),e}}}),b.ajaxPrefilter("script",function(e){e.cache===t&&(e.cache=!1),e.crossDomain&&(e.type="GET",e.global=!1)}),b.ajaxTransport("script",function(e){if(e.crossDomain){var n,r=o.head||b("head")[0]||o.documentElement;return{send:function(t,i){n=o.createElement("script"),n.async=!0,e.scriptCharset&&(n.charset=e.scriptCharset),n.src=e.url,n.onload=n.onreadystatechange=function(e,t){(t||!n.readyState||/loaded|complete/.test(n.readySta
te))&&(n.onload=n.onreadystatechange=null,n.parentNode&&n.parentNode.removeChild(n),n=null,t||i(200,"success"))},r.insertBefore(n,r.firstChild)},abort:function(){n&&n.onload(t,!0)}}}});var On=[],Bn=/(=)\?(?=&|$)|\?\?/;b.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=On.pop()||b.expando+"_"+vn++;return this[e]=!0,e}}),b.ajaxPrefilter("json jsonp",function(n,r,i){var o,a,s,u=n.jsonp!==!1&&(Bn.test(n.url)?"url":"string"==typeof n.data&&!(n.contentType||"").indexOf("application/x-www-form-urlencoded")&&Bn.test(n.data)&&"data");return u||"jsonp"===n.dataTypes[0]?(o=n.jsonpCallback=b.isFunction(n.jsonpCallback)?n.jsonpCallback():n.jsonpCallback,u?n[u]=n[u].replace(Bn,"$1"+o):n.jsonp!==!1&&(n.url+=(bn.test(n.url)?"&":"?")+n.jsonp+"="+o),n.converters["script json"]=function(){return s||b.error(o+" was not called"),s[0]},n.dataTypes[0]="json",a=e[o],e[o]=function(){s=arguments},i.always(function(){e[o]=a,n[o]&&(n.jsonpCallback=r.jsonpCallback,On.push(o)),s&&b.isFunction(a)&&a(s[0
]),s=a=t}),"script"):t});var Pn,Rn,Wn=0,$n=e.ActiveXObject&&function(){var e;for(e in Pn)Pn[e](t,!0)};function In(){try{return new e.XMLHttpRequest}catch(t){}}function zn(){try{return new e.ActiveXObject("Microsoft.XMLHTTP")}catch(t){}}b.ajaxSettings.xhr=e.ActiveXObject?function(){return!this.isLocal&&In()||zn()}:In,Rn=b.ajaxSettings.xhr(),b.support.cors=!!Rn&&"withCredentials"in Rn,Rn=b.support.ajax=!!Rn,Rn&&b.ajaxTransport(function(n){if(!n.crossDomain||b.support.cors){var r;return{send:function(i,o){var a,s,u=n.xhr();if(n.username?u.open(n.type,n.url,n.async,n.username,n.password):u.open(n.type,n.url,n.async),n.xhrFields)for(s in n.xhrFields)u[s]=n.xhrFields[s];n.mimeType&&u.overrideMimeType&&u.overrideMimeType(n.mimeType),n.crossDomain||i["X-Requested-With"]||(i["X-Requested-With"]="XMLHttpRequest");try{for(s in i)u.setRequestHeader(s,i[s])}catch(l){}u.send(n.hasContent&&n.data||null),r=function(e,i){var s,l,c,p;try{if(r&&(i||4===u.readyState))if(r=t,a&&(u.onreadystatechange=b.n
oop,$n&&delete Pn[a]),i)4!==u.readyState&&u.abort();else{p={},s=u.status,l=u.getAllResponseHeaders(),"string"==typeof u.responseText&&(p.text=u.responseText);try{c=u.statusText}catch(f){c=""}s||!n.isLocal||n.crossDomain?1223===s&&(s=204):s=p.text?200:404}}catch(d){i||o(-1,d)}p&&o(s,c,p,l)},n.async?4===u.readyState?setTimeout(r):(a=++Wn,$n&&(Pn||(Pn={},b(e).unload($n)),Pn[a]=r),u.onreadystatechange=r):r()},abort:function(){r&&r(t,!0)}}}});var Xn,Un,Vn=/^(?:toggle|show|hide)$/,Yn=RegExp("^(?:([+-])=|)("+x+")([a-z%]*)$","i"),Jn=/queueHooks$/,Gn=[nr],Qn={"*":[function(e,t){var n,r,i=this.createTween(e,t),o=Yn.exec(t),a=i.cur(),s=+a||0,u=1,l=20;if(o){if(n=+o[2],r=o[3]||(b.cssNumber[e]?"":"px"),"px"!==r&&s){s=b.css(i.elem,e,!0)||n||1;do u=u||".5",s/=u,b.style(i.elem,e,s+r);while(u!==(u=i.cur()/a)&&1!==u&&--l)}i.unit=r,i.start=s,i.end=o[1]?s+(o[1]+1)*n:n}return i}]};function Kn(){return setTimeout(function(){Xn=t}),Xn=b.now()}function Zn(e,t){b.each(t,function(t,n){var r=(Qn[t]||[]).concat
(Qn["*"]),i=0,o=r.length;for(;o>i;i++)if(r[i].call(e,t,n))return})}function er(e,t,n){var r,i,o=0,a=Gn.length,s=b.Deferred().always(function(){delete u.elem}),u=function(){if(i)return!1;var t=Xn||Kn(),n=Math.max(0,l.startTime+l.duration-t),r=n/l.duration||0,o=1-r,a=0,u=l.tweens.length;for(;u>a;a++)l.tweens[a].run(o);return s.notifyWith(e,[l,o,n]),1>o&&u?n:(s.resolveWith(e,[l]),!1)},l=s.promise({elem:e,props:b.extend({},t),opts:b.extend(!0,{specialEasing:{}},n),originalProperties:t,originalOptions:n,startTime:Xn||Kn(),duration:n.duration,tweens:[],createTween:function(t,n){var r=b.Tween(e,l.opts,t,n,l.opts.specialEasing[t]||l.opts.easing);return l.tweens.push(r),r},stop:function(t){var n=0,r=t?l.tweens.length:0;if(i)return this;for(i=!0;r>n;n++)l.tweens[n].run(1);return t?s.resolveWith(e,[l,t]):s.rejectWith(e,[l,t]),this}}),c=l.props;for(tr(c,l.opts.specialEasing);a>o;o++)if(r=Gn[o].call(l,e,c,l.opts))return r;return Zn(l,c),b.isFunction(l.opts.start)&&l.opts.start.call(e,l),b.fx.tim
er(b.extend(u,{elem:e,anim:l,queue:l.opts.queue})),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always)}function tr(e,t){var n,r,i,o,a;for(i in e)if(r=b.camelCase(i),o=t[r],n=e[i],b.isArray(n)&&(o=n[1],n=e[i]=n[0]),i!==r&&(e[r]=n,delete e[i]),a=b.cssHooks[r],a&&"expand"in a){n=a.expand(n),delete e[r];for(i in n)i in e||(e[i]=n[i],t[i]=o)}else t[r]=o}b.Animation=b.extend(er,{tweener:function(e,t){b.isFunction(e)?(t=e,e=["*"]):e=e.split(" ");var n,r=0,i=e.length;for(;i>r;r++)n=e[r],Qn[n]=Qn[n]||[],Qn[n].unshift(t)},prefilter:function(e,t){t?Gn.unshift(e):Gn.push(e)}});function nr(e,t,n){var r,i,o,a,s,u,l,c,p,f=this,d=e.style,h={},g=[],m=e.nodeType&&nn(e);n.queue||(c=b._queueHooks(e,"fx"),null==c.unqueued&&(c.unqueued=0,p=c.empty.fire,c.empty.fire=function(){c.unqueued||p()}),c.unqueued++,f.always(function(){f.always(function(){c.unqueued--,b.queue(e,"fx").length||c.empty.fire()})})),1===e.nodeType&&("height"in t||"width"in t)&&(n.overfl
ow=[d.overflow,d.overflowX,d.overflowY],"inline"===b.css(e,"display")&&"none"===b.css(e,"float")&&(b.support.inlineBlockNeedsLayout&&"inline"!==un(e.nodeName)?d.zoom=1:d.display="inline-block")),n.overflow&&(d.overflow="hidden",b.support.shrinkWrapBlocks||f.always(function(){d.overflow=n.overflow[0],d.overflowX=n.overflow[1],d.overflowY=n.overflow[2]}));for(i in t)if(a=t[i],Vn.exec(a)){if(delete t[i],u=u||"toggle"===a,a===(m?"hide":"show"))continue;g.push(i)}if(o=g.length){s=b._data(e,"fxshow")||b._data(e,"fxshow",{}),"hidden"in s&&(m=s.hidden),u&&(s.hidden=!m),m?b(e).show():f.done(function(){b(e).hide()}),f.done(function(){var t;b._removeData(e,"fxshow");for(t in h)b.style(e,t,h[t])});for(i=0;o>i;i++)r=g[i],l=f.createTween(r,m?s[r]:0),h[r]=s[r]||b.style(e,r),r in s||(s[r]=l.start,m&&(l.end=l.start,l.start="width"===r||"height"===r?1:0))}}function rr(e,t,n,r,i){return new rr.prototype.init(e,t,n,r,i)}b.Tween=rr,rr.prototype={constructor:rr,init:function(e,t,n,r,i,o){this.elem=e,this
.prop=n,this.easing=i||"swing",this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(b.cssNumber[n]?"":"px")},cur:function(){var e=rr.propHooks[this.prop];return e&&e.get?e.get(this):rr.propHooks._default.get(this)},run:function(e){var t,n=rr.propHooks[this.prop];return this.pos=t=this.options.duration?b.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):rr.propHooks._default.set(this),this}},rr.prototype.init.prototype=rr.prototype,rr.propHooks={_default:{get:function(e){var t;return null==e.elem[e.prop]||e.elem.style&&null!=e.elem.style[e.prop]?(t=b.css(e.elem,e.prop,""),t&&"auto"!==t?t:0):e.elem[e.prop]},set:function(e){b.fx.step[e.prop]?b.fx.step[e.prop](e):e.elem.style&&(null!=e.elem.style[b.cssProps[e.prop]]||b.cssHooks[e.prop])?b.style(e.elem,e.prop,e.now+e.unit):e.elem[e.prop]=e.now}}},rr.propHooks.scroll
Top=rr.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},b.each(["toggle","show","hide"],function(e,t){var n=b.fn[t];b.fn[t]=function(e,r,i){return null==e||"boolean"==typeof e?n.apply(this,arguments):this.animate(ir(t,!0),e,r,i)}}),b.fn.extend({fadeTo:function(e,t,n,r){return this.filter(nn).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(e,t,n,r){var i=b.isEmptyObject(e),o=b.speed(t,n,r),a=function(){var t=er(this,b.extend({},e),o);a.finish=function(){t.stop(!0)},(i||b._data(this,"finish"))&&t.stop(!0)};return a.finish=a,i||o.queue===!1?this.each(a):this.queue(o.queue,a)},stop:function(e,n,r){var i=function(e){var t=e.stop;delete e.stop,t(r)};return"string"!=typeof e&&(r=n,n=e,e=t),n&&e!==!1&&this.queue(e||"fx",[]),this.each(function(){var t=!0,n=null!=e&&e+"queueHooks",o=b.timers,a=b._data(this);if(n)a[n]&&a[n].stop&&i(a[n]);else for(n in a)a[n]&&a[n].stop&&Jn.test(n)&&i(a[n]);for(n=o.length;n--;)o[n].ele
m!==this||null!=e&&o[n].queue!==e||(o[n].anim.stop(r),t=!1,o.splice(n,1));(t||!r)&&b.dequeue(this,e)})},finish:function(e){return e!==!1&&(e=e||"fx"),this.each(function(){var t,n=b._data(this),r=n[e+"queue"],i=n[e+"queueHooks"],o=b.timers,a=r?r.length:0;for(n.finish=!0,b.queue(this,e,[]),i&&i.cur&&i.cur.finish&&i.cur.finish.call(this),t=o.length;t--;)o[t].elem===this&&o[t].queue===e&&(o[t].anim.stop(!0),o.splice(t,1));for(t=0;a>t;t++)r[t]&&r[t].finish&&r[t].finish.call(this);delete n.finish})}});function ir(e,t){var n,r={height:e},i=0;for(t=t?1:0;4>i;i+=2-t)n=Zt[i],r["margin"+n]=r["padding"+n]=e;return t&&(r.opacity=r.width=e),r}b.each({slideDown:ir("show"),slideUp:ir("hide"),slideToggle:ir("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,t){b.fn[e]=function(e,n,r){return this.animate(t,e,n,r

<TRUNCATED>
a***@apache.org
2017-12-21 04:53:28 UTC
Permalink
Merge branch 'master' into mahout-1981


Project: http://git-wip-us.apache.org/repos/asf/mahout/repo
Commit: http://git-wip-us.apache.org/repos/asf/mahout/commit/b887ab36
Tree: http://git-wip-us.apache.org/repos/asf/mahout/tree/b887ab36
Diff: http://git-wip-us.apache.org/repos/asf/mahout/diff/b887ab36

Branch: refs/heads/master
Commit: b887ab3653590c854f2b118162114f1133b9534d
Parents: 9a2055e 2f55ade
Author: Andrew Musselman <***@apache.org>
Authored: Wed Dec 20 20:50:58 2017 -0800
Committer: Andrew Musselman <***@apache.org>
Committed: Wed Dec 20 20:50:58 2017 -0800

----------------------------------------------------------------------
doap_Mahout.rdf | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
a***@apache.org
2017-12-21 04:53:25 UTC
Permalink
http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/docs/latest/tutorials/map-reduce/misc/using-mahout-with-python-via-jpype.md
----------------------------------------------------------------------
diff --git a/website/docs/latest/tutorials/map-reduce/misc/using-mahout-with-python-via-jpype.md b/website/docs/latest/tutorials/map-reduce/misc/using-mahout-with-python-via-jpype.md
index 57dc5e6..ce4ac5b 100644
--- a/website/docs/latest/tutorials/map-reduce/misc/using-mahout-with-python-via-jpype.md
+++ b/website/docs/latest/tutorials/map-reduce/misc/using-mahout-with-python-via-jpype.md
@@ -1,8 +1,8 @@
---
layout: doc-page
title: (Deprecated) Using Mahout with Python via JPype
-theme:
- name: retro-mahout
+
+
---

<a name="UsingMahoutwithPythonviaJPype-overview"></a>

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/docs/latest/tutorials/map-reduce/recommender/intro-als-hadoop.md
----------------------------------------------------------------------
diff --git a/website/docs/latest/tutorials/map-reduce/recommender/intro-als-hadoop.md b/website/docs/latest/tutorials/map-reduce/recommender/intro-als-hadoop.md
index 664dbba..9d78abb 100644
--- a/website/docs/latest/tutorials/map-reduce/recommender/intro-als-hadoop.md
+++ b/website/docs/latest/tutorials/map-reduce/recommender/intro-als-hadoop.md
@@ -1,8 +1,8 @@
---
layout: doc-page
title: (Deprecated) Perceptron and Winnow
-theme:
- name: retro-mahout
+
+
---

# Introduction to ALS Recommendations with Hadoop

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/docs/latest/tutorials/map-reduce/recommender/intro-cooccurrence-spark.md
----------------------------------------------------------------------
diff --git a/website/docs/latest/tutorials/map-reduce/recommender/intro-cooccurrence-spark.md b/website/docs/latest/tutorials/map-reduce/recommender/intro-cooccurrence-spark.md
index 0786392..be7f2f3 100644
--- a/website/docs/latest/tutorials/map-reduce/recommender/intro-cooccurrence-spark.md
+++ b/website/docs/latest/tutorials/map-reduce/recommender/intro-cooccurrence-spark.md
@@ -1,8 +1,8 @@
---
layout: doc-page
title: (Deprecated) Perceptron and Winnow
-theme:
- name: retro-mahout
+
+
---

#Intro to Cooccurrence Recommenders with Spark

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/docs/latest/tutorials/map-reduce/recommender/intro-itembased-hadoop.md
----------------------------------------------------------------------
diff --git a/website/docs/latest/tutorials/map-reduce/recommender/intro-itembased-hadoop.md b/website/docs/latest/tutorials/map-reduce/recommender/intro-itembased-hadoop.md
index ca2f7c2..d90bb9d 100644
--- a/website/docs/latest/tutorials/map-reduce/recommender/intro-itembased-hadoop.md
+++ b/website/docs/latest/tutorials/map-reduce/recommender/intro-itembased-hadoop.md
@@ -1,8 +1,8 @@
---
layout: doc-page
title: (Deprecated) Perceptron and Winnow
-theme:
- name: retro-mahout
+
+
---
# Introduction to Item-Based Recommendations with Hadoop


http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/docs/latest/tutorials/map-reduce/recommender/matrix-factorization.md
----------------------------------------------------------------------
diff --git a/website/docs/latest/tutorials/map-reduce/recommender/matrix-factorization.md b/website/docs/latest/tutorials/map-reduce/recommender/matrix-factorization.md
index 174d331..56e1e08 100644
--- a/website/docs/latest/tutorials/map-reduce/recommender/matrix-factorization.md
+++ b/website/docs/latest/tutorials/map-reduce/recommender/matrix-factorization.md
@@ -1,8 +1,8 @@
---
layout: doc-page
title: (Deprecated) Perceptron and Winnow
-theme:
- name: retro-mahout
+
+
---
<a name="MatrixFactorization-Intro"></a>
# Introduction to Matrix Factorization for Recommendation Mining

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/docs/latest/tutorials/map-reduce/recommender/quickstart.md
----------------------------------------------------------------------
diff --git a/website/docs/latest/tutorials/map-reduce/recommender/quickstart.md b/website/docs/latest/tutorials/map-reduce/recommender/quickstart.md
index 2aeb5b1..4d6b2c3 100644
--- a/website/docs/latest/tutorials/map-reduce/recommender/quickstart.md
+++ b/website/docs/latest/tutorials/map-reduce/recommender/quickstart.md
@@ -1,8 +1,8 @@
---
layout: doc-page
title: (Deprecated) Recommender Quickstart
-theme:
- name: retro-mahout
+
+
---

# Recommender Overview

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/docs/latest/tutorials/map-reduce/recommender/recommender-documentation.md
----------------------------------------------------------------------
diff --git a/website/docs/latest/tutorials/map-reduce/recommender/recommender-documentation.md b/website/docs/latest/tutorials/map-reduce/recommender/recommender-documentation.md
index 470e1b0..d1ad21a 100644
--- a/website/docs/latest/tutorials/map-reduce/recommender/recommender-documentation.md
+++ b/website/docs/latest/tutorials/map-reduce/recommender/recommender-documentation.md
@@ -1,8 +1,8 @@
---
layout: doc-page
title: (Deprecated) Recommender Documentation
-theme:
- name: retro-mahout
+
+
---

<a name="RecommenderDocumentation-Overview"></a>

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/docs/latest/tutorials/map-reduce/recommender/recommender-first-timer-faq.md
----------------------------------------------------------------------
diff --git a/website/docs/latest/tutorials/map-reduce/recommender/recommender-first-timer-faq.md b/website/docs/latest/tutorials/map-reduce/recommender/recommender-first-timer-faq.md
index b08abb4..a60a7ee 100644
--- a/website/docs/latest/tutorials/map-reduce/recommender/recommender-first-timer-faq.md
+++ b/website/docs/latest/tutorials/map-reduce/recommender/recommender-first-timer-faq.md
@@ -1,8 +1,8 @@
---
layout: doc-page
title: (Deprecated) Recommender First-Timer FAQ
-theme:
- name: retro-mahout
+
+
---

# Recommender First Timer Dos and Don'ts

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/docs/latest/tutorials/map-reduce/recommender/userbased-5-minutes.md
----------------------------------------------------------------------
diff --git a/website/docs/latest/tutorials/map-reduce/recommender/userbased-5-minutes.md b/website/docs/latest/tutorials/map-reduce/recommender/userbased-5-minutes.md
index 08d2a25..2de1d35 100644
--- a/website/docs/latest/tutorials/map-reduce/recommender/userbased-5-minutes.md
+++ b/website/docs/latest/tutorials/map-reduce/recommender/userbased-5-minutes.md
@@ -1,8 +1,8 @@
---
layout: doc-page
title: (Deprecated) User Based Recommender in 5 Minutes
-theme:
- name: retro-mahout
+
+
---

# Creating a User-Based Recommender in 5 minutes

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/docs/latest/tutorials/misc/contributing-algos/index.md
----------------------------------------------------------------------
diff --git a/website/docs/latest/tutorials/misc/contributing-algos/index.md b/website/docs/latest/tutorials/misc/contributing-algos/index.md
index 63cf97e..4df2569 100644
--- a/website/docs/latest/tutorials/misc/contributing-algos/index.md
+++ b/website/docs/latest/tutorials/misc/contributing-algos/index.md
@@ -1,8 +1,8 @@
---
layout: doc-page
title: Contributing new algorithms
-theme:
- name: mahout2
+
+
---

The Mahout community is driven by user contribution. If you have implemented an algorithm and are interested in
@@ -305,8 +305,8 @@ In that file create a blank Jekyll template:
---
layout: doc-page
title: Foo
- theme:
- name: mahout2
+
+
---

### About

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/docs/latest/tutorials/misc/how-to-build-an-app.md
----------------------------------------------------------------------
diff --git a/website/docs/latest/tutorials/misc/how-to-build-an-app.md b/website/docs/latest/tutorials/misc/how-to-build-an-app.md
index 3687fdf..a427b4a 100644
--- a/website/docs/latest/tutorials/misc/how-to-build-an-app.md
+++ b/website/docs/latest/tutorials/misc/how-to-build-an-app.md
@@ -1,8 +1,8 @@
---
layout: doc-page
title: Mahout Samsara In Core
-theme:
- name: mahout2
+
+
---
# How to create and App using Mahout


http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/docs/latest/tutorials/misc/mahout-in-zeppelin/index.md
----------------------------------------------------------------------
diff --git a/website/docs/latest/tutorials/misc/mahout-in-zeppelin/index.md b/website/docs/latest/tutorials/misc/mahout-in-zeppelin/index.md
index 99d7b29..1d6f9c9 100644
--- a/website/docs/latest/tutorials/misc/mahout-in-zeppelin/index.md
+++ b/website/docs/latest/tutorials/misc/mahout-in-zeppelin/index.md
@@ -1,8 +1,8 @@
---
layout: doc-page
title: Visualizing Mahout in Zeppelin
-theme:
- name: mahout2
+
+
---



http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/docs/latest/tutorials/samsara/classify-a-doc-from-the-shell.md
----------------------------------------------------------------------
diff --git a/website/docs/latest/tutorials/samsara/classify-a-doc-from-the-shell.md b/website/docs/latest/tutorials/samsara/classify-a-doc-from-the-shell.md
index 76c54fd..e81f152 100644
--- a/website/docs/latest/tutorials/samsara/classify-a-doc-from-the-shell.md
+++ b/website/docs/latest/tutorials/samsara/classify-a-doc-from-the-shell.md
@@ -1,8 +1,8 @@
---
layout: doc-page
title: Text Classification Example
-theme:
- name: mahout2
+
+
---

# Building a text classifier in Mahout's Spark Shell

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/docs/latest/tutorials/samsara/play-with-shell.md
----------------------------------------------------------------------
diff --git a/website/docs/latest/tutorials/samsara/play-with-shell.md b/website/docs/latest/tutorials/samsara/play-with-shell.md
index 3bc39c9..91f5d8e 100644
--- a/website/docs/latest/tutorials/samsara/play-with-shell.md
+++ b/website/docs/latest/tutorials/samsara/play-with-shell.md
@@ -1,8 +1,8 @@
---
layout: doc-page
title: Mahout Samsara In Core
-theme:
- name: mahout2
+
+
---
# Playing with Mahout's Spark Shell


http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/docs/latest/tutorials/samsara/playing-with-samsara-flink-batch.md
----------------------------------------------------------------------
diff --git a/website/docs/latest/tutorials/samsara/playing-with-samsara-flink-batch.md b/website/docs/latest/tutorials/samsara/playing-with-samsara-flink-batch.md
index b735a4d..aee6459 100644
--- a/website/docs/latest/tutorials/samsara/playing-with-samsara-flink-batch.md
+++ b/website/docs/latest/tutorials/samsara/playing-with-samsara-flink-batch.md
@@ -1,8 +1,8 @@
---
layout: doc-page
title:
-theme:
- name: retro-mahout
+
+
---

## Getting Started

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/docs/latest/tutorials/samsara/spark-naive-bayes.md
----------------------------------------------------------------------
diff --git a/website/docs/latest/tutorials/samsara/spark-naive-bayes.md b/website/docs/latest/tutorials/samsara/spark-naive-bayes.md
index 0c1e21a..d12c698 100644
--- a/website/docs/latest/tutorials/samsara/spark-naive-bayes.md
+++ b/website/docs/latest/tutorials/samsara/spark-naive-bayes.md
@@ -1,8 +1,8 @@
---
layout: doc-page
title: Spark Naive Bayes
-theme:
- name: retro-mahout
+
+
---

# Spark Naive Bayes

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/general/books-tutorials-and-talks.md
----------------------------------------------------------------------
diff --git a/website/general/books-tutorials-and-talks.md b/website/general/books-tutorials-and-talks.md
index bbbdeef..333a752 100644
--- a/website/general/books-tutorials-and-talks.md
+++ b/website/general/books-tutorials-and-talks.md
@@ -1,8 +1,8 @@
---
layout: default
title: Books Tutorials and Talks
-theme:
- name: retro-mahout
+
+
---
# Intro


http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/general/downloads.md
----------------------------------------------------------------------
diff --git a/website/general/downloads.md b/website/general/downloads.md
index 0822d19..1813dab 100644
--- a/website/general/downloads.md
+++ b/website/general/downloads.md
@@ -1,8 +1,8 @@
---
layout: default
title: Downloads
-theme:
- name: retro-mahout
+
+
---

<a name="Downloads-OfficialRelease"></a>

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/general/faq.md
----------------------------------------------------------------------
diff --git a/website/general/faq.md b/website/general/faq.md
index 8e1e592..11c3693 100644
--- a/website/general/faq.md
+++ b/website/general/faq.md
@@ -1,8 +1,8 @@
---
layout: default
title: FAQ
-theme:
- name: retro-mahout
+
+
---

# The Official Mahout FAQ

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/general/glossary.md
----------------------------------------------------------------------
diff --git a/website/general/glossary.md b/website/general/glossary.md
index 215cd50..ff94233 100644
--- a/website/general/glossary.md
+++ b/website/general/glossary.md
@@ -1,8 +1,8 @@
---
layout: default
title: Glossary
-theme:
- name: retro-mahout
+
+
---
This is a list of common glossary terms used on both the mailing lists and
around the site. Where possible I have tried to provide a link to more

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/general/mahout-benchmarks.md
----------------------------------------------------------------------
diff --git a/website/general/mahout-benchmarks.md b/website/general/mahout-benchmarks.md
index 7a2c643..265ac76 100644
--- a/website/general/mahout-benchmarks.md
+++ b/website/general/mahout-benchmarks.md
@@ -1,8 +1,8 @@
---
layout: default
title: Mahout Benchmarks
-theme:
- name: retro-mahout
+
+
---

<a name="MahoutBenchmarks-Introduction"></a>

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/general/mahout-wiki.md
----------------------------------------------------------------------
diff --git a/website/general/mahout-wiki.md b/website/general/mahout-wiki.md
index 82edb1c..0febd42 100644
--- a/website/general/mahout-wiki.md
+++ b/website/general/mahout-wiki.md
@@ -1,8 +1,8 @@
---
layout: default
title: Mahout Wiki
-theme:
- name: retro-mahout
+
+
---
Apache Mahout is a new Apache TLP project to create scalable, machine
learning algorithms under the Apache license.

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/general/mailing-lists,-irc-and-archives.md
----------------------------------------------------------------------
diff --git a/website/general/mailing-lists,-irc-and-archives.md b/website/general/mailing-lists,-irc-and-archives.md
index e3862ca..8593b5c 100644
--- a/website/general/mailing-lists,-irc-and-archives.md
+++ b/website/general/mailing-lists,-irc-and-archives.md
@@ -1,8 +1,8 @@
---
layout: default
title: Mailing Lists, IRC and Archives
-theme:
- name: retro-mahout
+
+
---

# General

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/general/powered-by-mahout.md
----------------------------------------------------------------------
diff --git a/website/general/powered-by-mahout.md b/website/general/powered-by-mahout.md
index cb7c039..ad857d7 100644
--- a/website/general/powered-by-mahout.md
+++ b/website/general/powered-by-mahout.md
@@ -1,8 +1,8 @@
---
layout: default
title: Powered By Mahout
-theme:
- name: retro-mahout
+
+
---

# Powered by Mahout

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/general/privacy-policy.md
----------------------------------------------------------------------
diff --git a/website/general/privacy-policy.md b/website/general/privacy-policy.md
index bc10929..51976f3 100644
--- a/website/general/privacy-policy.md
+++ b/website/general/privacy-policy.md
@@ -1,8 +1,8 @@
---
layout: default
title: Privacy Policy
-theme:
- name: retro-mahout
+
+
---
Information about your use of this website is collected using server access
logs and a tracking cookie. The collected information consists of the

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/general/professional-support.md
----------------------------------------------------------------------
diff --git a/website/general/professional-support.md b/website/general/professional-support.md
index ad8ef7c..b64a7de 100644
--- a/website/general/professional-support.md
+++ b/website/general/professional-support.md
@@ -1,8 +1,8 @@
---
layout: default
title: Professional Support
-theme:
- name: retro-mahout
+
+
---

<a name="ProfessionalSupport-ProfessionalsupportforMahout"></a>

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/general/reference-reading.md
----------------------------------------------------------------------
diff --git a/website/general/reference-reading.md b/website/general/reference-reading.md
index ba969ac..5ff2c10 100644
--- a/website/general/reference-reading.md
+++ b/website/general/reference-reading.md
@@ -1,8 +1,8 @@
---
layout: default
title: Reference Reading
-theme:
- name: retro-mahout
+
+
---

# Reference Reading

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/general/release-notes.md
----------------------------------------------------------------------
diff --git a/website/general/release-notes.md b/website/general/release-notes.md
index bd41ebb..b692392 100644
--- a/website/general/release-notes.md
+++ b/website/general/release-notes.md
@@ -1,8 +1,8 @@
---
layout: default
title: Release Notes
-theme:
- name: retro-mahout
+
+
---

# Release Notes

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/general/who-we-are.md
----------------------------------------------------------------------
diff --git a/website/general/who-we-are.md b/website/general/who-we-are.md
index 24f493b..21a91db 100644
--- a/website/general/who-we-are.md
+++ b/website/general/who-we-are.md
@@ -1,8 +1,8 @@
---
layout: default
title: Who We Are
-theme:
- name: retro-mahout
+
+
---

<a name="WhoWeAre-Whoweare"></a>

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/users/algorithms/d-als.md
----------------------------------------------------------------------
diff --git a/website/users/algorithms/d-als.md b/website/users/algorithms/d-als.md
index c2cc7b2..70e22fb 100644
--- a/website/users/algorithms/d-als.md
+++ b/website/users/algorithms/d-als.md
@@ -1,8 +1,8 @@
---
layout: default
title: Disitrubted ALS
-theme:
- name: retro-mahout
+
+
---



http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/users/algorithms/d-qr.md
----------------------------------------------------------------------
diff --git a/website/users/algorithms/d-qr.md b/website/users/algorithms/d-qr.md
index 5c3e5b8..03efd70 100644
--- a/website/users/algorithms/d-qr.md
+++ b/website/users/algorithms/d-qr.md
@@ -1,8 +1,8 @@
---
layout: default
title: Distributed Cholesky QR
-theme:
- name: retro-mahout
+
+
---

# Distributed Cholesky QR

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/users/algorithms/d-spca.md
----------------------------------------------------------------------
diff --git a/website/users/algorithms/d-spca.md b/website/users/algorithms/d-spca.md
index 0c1ab1e..e40933a 100644
--- a/website/users/algorithms/d-spca.md
+++ b/website/users/algorithms/d-spca.md
@@ -1,8 +1,8 @@
---
layout: default
title: Distributed Stochastic PCA
-theme:
- name: retro-mahout
+
+
---

# Distributed Stochastic PCA

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/users/algorithms/d-ssvd.md
----------------------------------------------------------------------
diff --git a/website/users/algorithms/d-ssvd.md b/website/users/algorithms/d-ssvd.md
index 8063fa3..f18e6e7 100644
--- a/website/users/algorithms/d-ssvd.md
+++ b/website/users/algorithms/d-ssvd.md
@@ -1,8 +1,8 @@
---
layout: default
title: Distributed Stochastic Singular Value Decomposition
-theme:
- name: retro-mahout
+
+
---

# Distributed Stochastic Singular Value Decomposition

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/users/algorithms/intro-cooccurrence-spark.md
----------------------------------------------------------------------
diff --git a/website/users/algorithms/intro-cooccurrence-spark.md b/website/users/algorithms/intro-cooccurrence-spark.md
index 41506c7..72eeecf 100644
--- a/website/users/algorithms/intro-cooccurrence-spark.md
+++ b/website/users/algorithms/intro-cooccurrence-spark.md
@@ -1,8 +1,8 @@
---
layout: default
title: Intro to Cooccurrence Recommenders with Spark
-theme:
- name: retro-mahout
+
+
---

#Intro to Cooccurrence Recommenders with Spark

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/users/algorithms/recommender-overview.md
----------------------------------------------------------------------
diff --git a/website/users/algorithms/recommender-overview.md b/website/users/algorithms/recommender-overview.md
index 13d331b..cd69730 100644
--- a/website/users/algorithms/recommender-overview.md
+++ b/website/users/algorithms/recommender-overview.md
@@ -1,8 +1,8 @@
---
layout: default
title: Recommender Quickstart
-theme:
- name: retro-mahout
+
+
---



http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/users/algorithms/spark-naive-bayes.md
----------------------------------------------------------------------
diff --git a/website/users/algorithms/spark-naive-bayes.md b/website/users/algorithms/spark-naive-bayes.md
index 8823812..24e4f66 100644
--- a/website/users/algorithms/spark-naive-bayes.md
+++ b/website/users/algorithms/spark-naive-bayes.md
@@ -1,8 +1,8 @@
---
layout: default
title: Spark Naive Bayes
-theme:
- name: retro-mahout
+
+
---

# Spark Naive Bayes

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/users/basics/algorithms.md
----------------------------------------------------------------------
diff --git a/website/users/basics/algorithms.md b/website/users/basics/algorithms.md
index 657efde..7eac4a5 100644
--- a/website/users/basics/algorithms.md
+++ b/website/users/basics/algorithms.md
@@ -1,8 +1,8 @@
---
layout: default
title: Algorithms
-theme:
- name: retro-mahout
+
+
---



http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/users/basics/collections.md
----------------------------------------------------------------------
diff --git a/website/users/basics/collections.md b/website/users/basics/collections.md
index f21f99d..3dcfd6f 100644
--- a/website/users/basics/collections.md
+++ b/website/users/basics/collections.md
@@ -1,8 +1,8 @@
---
layout: default
title: Collections
-theme:
- name: retro-mahout
+
+
---

TODO: Organize these somehow, add one-line blurbs

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/users/basics/collocations.md
----------------------------------------------------------------------
diff --git a/website/users/basics/collocations.md b/website/users/basics/collocations.md
index 53a2cc1..48f5b8c 100644
--- a/website/users/basics/collocations.md
+++ b/website/users/basics/collocations.md
@@ -1,8 +1,8 @@
---
layout: default
title: Collocations
-theme:
- name: retro-mahout
+
+
---



http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/users/basics/creating-vectors-from-text.md
----------------------------------------------------------------------
diff --git a/website/users/basics/creating-vectors-from-text.md b/website/users/basics/creating-vectors-from-text.md
index 14dd276..702e3ea 100644
--- a/website/users/basics/creating-vectors-from-text.md
+++ b/website/users/basics/creating-vectors-from-text.md
@@ -1,8 +1,8 @@
---
layout: default
title: Creating Vectors from Text
-theme:
- name: retro-mahout
+
+
---



http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/users/basics/creating-vectors.md
----------------------------------------------------------------------
diff --git a/website/users/basics/creating-vectors.md b/website/users/basics/creating-vectors.md
index 10cbd8e..42d5143 100644
--- a/website/users/basics/creating-vectors.md
+++ b/website/users/basics/creating-vectors.md
@@ -1,8 +1,8 @@
---
layout: default
title: Creating Vectors
-theme:
- name: retro-mahout
+
+
---



http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/users/basics/gaussian-discriminative-analysis.md
----------------------------------------------------------------------
diff --git a/website/users/basics/gaussian-discriminative-analysis.md b/website/users/basics/gaussian-discriminative-analysis.md
index e8a54af..5eed212 100644
--- a/website/users/basics/gaussian-discriminative-analysis.md
+++ b/website/users/basics/gaussian-discriminative-analysis.md
@@ -1,8 +1,8 @@
---
layout: default
title: Gaussian Discriminative Analysis
-theme:
- name: retro-mahout
+
+
---

<a name="GaussianDiscriminativeAnalysis-GaussianDiscriminativeAnalysis"></a>

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/users/basics/independent-component-analysis.md
----------------------------------------------------------------------
diff --git a/website/users/basics/independent-component-analysis.md b/website/users/basics/independent-component-analysis.md
index 6035b54..689411d 100644
--- a/website/users/basics/independent-component-analysis.md
+++ b/website/users/basics/independent-component-analysis.md
@@ -1,8 +1,8 @@
---
layout: default
title: Independent Component Analysis
-theme:
- name: retro-mahout
+
+
---

<a name="IndependentComponentAnalysis-IndependentComponentAnalysis"></a>

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/users/basics/mahout-collections.md
----------------------------------------------------------------------
diff --git a/website/users/basics/mahout-collections.md b/website/users/basics/mahout-collections.md
index 99f22f6..deb6e18 100644
--- a/website/users/basics/mahout-collections.md
+++ b/website/users/basics/mahout-collections.md
@@ -1,8 +1,8 @@
---
layout: default
title: mahout-collections
-theme:
- name: retro-mahout
+
+
---

# Mahout collections

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/users/basics/mahoutintegration.md
----------------------------------------------------------------------
diff --git a/website/users/basics/mahoutintegration.md b/website/users/basics/mahoutintegration.md
index e2d01ea..f5df585 100644
--- a/website/users/basics/mahoutintegration.md
+++ b/website/users/basics/mahoutintegration.md
@@ -1,6 +1,6 @@
---
layout: default
title: MahoutIntegration
-theme:
- name: retro-mahout
+
+
---

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/users/basics/matrix-and-vector-needs.md
----------------------------------------------------------------------
diff --git a/website/users/basics/matrix-and-vector-needs.md b/website/users/basics/matrix-and-vector-needs.md
index 39f4bfd..ebec83e 100644
--- a/website/users/basics/matrix-and-vector-needs.md
+++ b/website/users/basics/matrix-and-vector-needs.md
@@ -1,8 +1,8 @@
---
layout: default
title: Matrix and Vector Needs
-theme:
- name: retro-mahout
+
+
---

<a name="MatrixandVectorNeeds-Intro"></a>

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/users/basics/principal-components-analysis.md
----------------------------------------------------------------------
diff --git a/website/users/basics/principal-components-analysis.md b/website/users/basics/principal-components-analysis.md
index 5a9383f..f054093 100644
--- a/website/users/basics/principal-components-analysis.md
+++ b/website/users/basics/principal-components-analysis.md
@@ -1,8 +1,8 @@
---
layout: default
title: Principal Components Analysis
-theme:
- name: retro-mahout
+
+
---

<a name="PrincipalComponentsAnalysis-PrincipalComponentsAnalysis"></a>

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/users/basics/quickstart.md
----------------------------------------------------------------------
diff --git a/website/users/basics/quickstart.md b/website/users/basics/quickstart.md
index b84a245..18b74b7 100644
--- a/website/users/basics/quickstart.md
+++ b/website/users/basics/quickstart.md
@@ -1,8 +1,8 @@
---
layout: default
title: Quickstart
-theme:
- name: retro-mahout
+
+
---

# Mahout MapReduce Overview

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/users/basics/svd---singular-value-decomposition.md
----------------------------------------------------------------------
diff --git a/website/users/basics/svd---singular-value-decomposition.md b/website/users/basics/svd---singular-value-decomposition.md
index 4a28934..5455741 100644
--- a/website/users/basics/svd---singular-value-decomposition.md
+++ b/website/users/basics/svd---singular-value-decomposition.md
@@ -1,8 +1,8 @@
---
layout: default
title: SVD - Singular Value Decomposition
-theme:
- name: retro-mahout
+
+
---

{excerpt}Singular Value Decomposition is a form of product decomposition of

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/users/basics/system-requirements.md
----------------------------------------------------------------------
diff --git a/website/users/basics/system-requirements.md b/website/users/basics/system-requirements.md
index 6bef40d..6dc2853 100644
--- a/website/users/basics/system-requirements.md
+++ b/website/users/basics/system-requirements.md
@@ -1,8 +1,8 @@
---
layout: default
title: System Requirements
-theme:
- name: retro-mahout
+
+
---



http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/users/basics/tf-idf---term-frequency-inverse-document-frequency.md
----------------------------------------------------------------------
diff --git a/website/users/basics/tf-idf---term-frequency-inverse-document-frequency.md b/website/users/basics/tf-idf---term-frequency-inverse-document-frequency.md
index f807609..44d46cb 100644
--- a/website/users/basics/tf-idf---term-frequency-inverse-document-frequency.md
+++ b/website/users/basics/tf-idf---term-frequency-inverse-document-frequency.md
@@ -1,8 +1,8 @@
---
layout: default
title: TF-IDF - Term Frequency-Inverse Document Frequency
-theme:
- name: retro-mahout
+
+
---

{excerpt}Is a weight measure often used in information retrieval and text

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/users/classification/bankmarketing-example.md
----------------------------------------------------------------------
diff --git a/website/users/classification/bankmarketing-example.md b/website/users/classification/bankmarketing-example.md
index 846a4ce..f4e9f9e 100644
--- a/website/users/classification/bankmarketing-example.md
+++ b/website/users/classification/bankmarketing-example.md
@@ -1,8 +1,8 @@
---
layout: default
title:
-theme:
- name: retro-mahout
+
+
---

Notice: Licensed to the Apache Software Foundation (ASF) under one

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/users/classification/bayesian-commandline.md
----------------------------------------------------------------------
diff --git a/website/users/classification/bayesian-commandline.md b/website/users/classification/bayesian-commandline.md
index d81d3ef..53ef64f 100644
--- a/website/users/classification/bayesian-commandline.md
+++ b/website/users/classification/bayesian-commandline.md
@@ -1,8 +1,8 @@
---
layout: default
title: bayesian-commandline
-theme:
- name: retro-mahout
+
+
---

# Naive Bayes commandline documentation

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/users/classification/bayesian.md
----------------------------------------------------------------------
diff --git a/website/users/classification/bayesian.md b/website/users/classification/bayesian.md
index 51a5c74..b790524 100644
--- a/website/users/classification/bayesian.md
+++ b/website/users/classification/bayesian.md
@@ -1,8 +1,8 @@
---
layout: default
title:
-theme:
- name: retro-mahout
+
+
---

# Naive Bayes

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/users/classification/breiman-example.md
----------------------------------------------------------------------
diff --git a/website/users/classification/breiman-example.md b/website/users/classification/breiman-example.md
index d8d049e..1d8c08c 100644
--- a/website/users/classification/breiman-example.md
+++ b/website/users/classification/breiman-example.md
@@ -1,8 +1,8 @@
---
layout: default
title: Breiman Example
-theme:
- name: retro-mahout
+
+
---

#Breiman Example

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/users/classification/class-discovery.md
----------------------------------------------------------------------
diff --git a/website/users/classification/class-discovery.md b/website/users/classification/class-discovery.md
index a24cc14..afb0dbb 100644
--- a/website/users/classification/class-discovery.md
+++ b/website/users/classification/class-discovery.md
@@ -1,8 +1,8 @@
---
layout: default
title: Class Discovery
-theme:
- name: retro-mahout
+
+
---
<a name="ClassDiscovery-ClassDiscovery"></a>
# Class Discovery

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/users/classification/classifyingyourdata.md
----------------------------------------------------------------------
diff --git a/website/users/classification/classifyingyourdata.md b/website/users/classification/classifyingyourdata.md
index c2099c0..0591f32 100644
--- a/website/users/classification/classifyingyourdata.md
+++ b/website/users/classification/classifyingyourdata.md
@@ -1,8 +1,8 @@
---
layout: default
title: ClassifyingYourData
-theme:
- name: retro-mahout
+
+
---

# Classifying data from the command line

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/users/classification/hidden-markov-models.md
----------------------------------------------------------------------
diff --git a/website/users/classification/hidden-markov-models.md b/website/users/classification/hidden-markov-models.md
index 7321493..bfef418 100644
--- a/website/users/classification/hidden-markov-models.md
+++ b/website/users/classification/hidden-markov-models.md
@@ -1,8 +1,8 @@
---
layout: default
title: Hidden Markov Models
-theme:
- name: retro-mahout
+
+
---

# Hidden Markov Models

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/users/classification/locally-weighted-linear-regression.md
----------------------------------------------------------------------
diff --git a/website/users/classification/locally-weighted-linear-regression.md b/website/users/classification/locally-weighted-linear-regression.md
index 7b23d85..c832a10 100644
--- a/website/users/classification/locally-weighted-linear-regression.md
+++ b/website/users/classification/locally-weighted-linear-regression.md
@@ -1,8 +1,8 @@
---
layout: default
title: Locally Weighted Linear Regression
-theme:
- name: retro-mahout
+
+
---

<a name="LocallyWeightedLinearRegression-LocallyWeightedLinearRegression"></a>

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/users/classification/logistic-regression.md
----------------------------------------------------------------------
diff --git a/website/users/classification/logistic-regression.md b/website/users/classification/logistic-regression.md
index 0eef577..d01cd1a 100644
--- a/website/users/classification/logistic-regression.md
+++ b/website/users/classification/logistic-regression.md
@@ -1,8 +1,8 @@
---
layout: default
title: Logistic Regression
-theme:
- name: retro-mahout
+
+
---

<a name="LogisticRegression-LogisticRegression(SGD)"></a>

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/users/classification/mlp.md
----------------------------------------------------------------------
diff --git a/website/users/classification/mlp.md b/website/users/classification/mlp.md
index a98f033..ded63bb 100644
--- a/website/users/classification/mlp.md
+++ b/website/users/classification/mlp.md
@@ -1,8 +1,8 @@
---
layout: default
title: Multilayer Perceptron
-theme:
- name: retro-mahout
+
+
---

Multilayer Perceptron

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/users/classification/naivebayes.md
----------------------------------------------------------------------
diff --git a/website/users/classification/naivebayes.md b/website/users/classification/naivebayes.md
index a697653..33be50d 100644
--- a/website/users/classification/naivebayes.md
+++ b/website/users/classification/naivebayes.md
@@ -1,8 +1,8 @@
---
layout: default
title: NaiveBayes
-theme:
- name: retro-mahout
+
+
---

<a name="NaiveBayes-NaiveBayes"></a>

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/users/classification/neural-network.md
----------------------------------------------------------------------
diff --git a/website/users/classification/neural-network.md b/website/users/classification/neural-network.md
index 7180656..dc6175f 100644
--- a/website/users/classification/neural-network.md
+++ b/website/users/classification/neural-network.md
@@ -1,8 +1,8 @@
---
layout: default
title: Neural Network
-theme:
- name: retro-mahout
+
+
---

<a name="NeuralNetwork-NeuralNetworks"></a>

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/users/classification/partial-implementation.md
----------------------------------------------------------------------
diff --git a/website/users/classification/partial-implementation.md b/website/users/classification/partial-implementation.md
index 2a20ccb..0593b4e 100644
--- a/website/users/classification/partial-implementation.md
+++ b/website/users/classification/partial-implementation.md
@@ -1,8 +1,8 @@
---
layout: default
title: Partial Implementation
-theme:
- name: retro-mahout
+
+
---



http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/users/classification/random-forests.md
----------------------------------------------------------------------
diff --git a/website/users/classification/random-forests.md b/website/users/classification/random-forests.md
index c8b1a47..5bb1347 100644
--- a/website/users/classification/random-forests.md
+++ b/website/users/classification/random-forests.md
@@ -1,8 +1,8 @@
---
layout: default
title: Random Forests
-theme:
- name: retro-mahout
+
+
---

<a name="RandomForests-HowtogrowaDecisionTree"></a>

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/users/classification/restricted-boltzmann-machines.md
----------------------------------------------------------------------
diff --git a/website/users/classification/restricted-boltzmann-machines.md b/website/users/classification/restricted-boltzmann-machines.md
index 0aa8641..72b30dd 100644
--- a/website/users/classification/restricted-boltzmann-machines.md
+++ b/website/users/classification/restricted-boltzmann-machines.md
@@ -1,8 +1,8 @@
---
layout: default
title: Restricted Boltzmann Machines
-theme:
- name: retro-mahout
+
+
---

NOTE: This implementation is a Work-In-Progress, at least till September,

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/users/classification/support-vector-machines.md
----------------------------------------------------------------------
diff --git a/website/users/classification/support-vector-machines.md b/website/users/classification/support-vector-machines.md
index 6d1b9df..c32930b 100644
--- a/website/users/classification/support-vector-machines.md
+++ b/website/users/classification/support-vector-machines.md
@@ -1,8 +1,8 @@
---
layout: default
title: Support Vector Machines
-theme:
- name: retro-mahout
+
+
---

<a name="SupportVectorMachines-SupportVectorMachines"></a>

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/users/classification/twenty-newsgroups.md
----------------------------------------------------------------------
diff --git a/website/users/classification/twenty-newsgroups.md b/website/users/classification/twenty-newsgroups.md
index 472aaf6..6b1cb91 100644
--- a/website/users/classification/twenty-newsgroups.md
+++ b/website/users/classification/twenty-newsgroups.md
@@ -1,8 +1,8 @@
---
layout: default
title: Twenty Newsgroups
-theme:
- name: retro-mahout
+
+
---



http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/users/classification/wikipedia-classifier-example.md
----------------------------------------------------------------------
diff --git a/website/users/classification/wikipedia-classifier-example.md b/website/users/classification/wikipedia-classifier-example.md
index 9df07da..0e2f9c6 100644
--- a/website/users/classification/wikipedia-classifier-example.md
+++ b/website/users/classification/wikipedia-classifier-example.md
@@ -1,8 +1,8 @@
---
layout: default
title: Wikipedia XML parser and Naive Bayes Example
-theme:
- name: retro-mahout
+
+
---
# Wikipedia XML parser and Naive Bayes Classifier Example


http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/users/clustering/20newsgroups.md
----------------------------------------------------------------------
diff --git a/website/users/clustering/20newsgroups.md b/website/users/clustering/20newsgroups.md
index da5174f..3addfa1 100644
--- a/website/users/clustering/20newsgroups.md
+++ b/website/users/clustering/20newsgroups.md
@@ -1,8 +1,8 @@
---
layout: default
title: 20Newsgroups
-theme:
- name: retro-mahout
+
+
---

<a name="20Newsgroups-NaiveBayesusing20NewsgroupsData"></a>

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/users/clustering/canopy-clustering.md
----------------------------------------------------------------------
diff --git a/website/users/clustering/canopy-clustering.md b/website/users/clustering/canopy-clustering.md
index eb4c845..4b35847 100644
--- a/website/users/clustering/canopy-clustering.md
+++ b/website/users/clustering/canopy-clustering.md
@@ -1,8 +1,8 @@
---
layout: default
title: Canopy Clustering
-theme:
- name: retro-mahout
+
+
---

<a name="CanopyClustering-CanopyClustering"></a>

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/users/clustering/canopy-commandline.md
----------------------------------------------------------------------
diff --git a/website/users/clustering/canopy-commandline.md b/website/users/clustering/canopy-commandline.md
index 446faba..e2d6f83 100644
--- a/website/users/clustering/canopy-commandline.md
+++ b/website/users/clustering/canopy-commandline.md
@@ -1,8 +1,8 @@
---
layout: default
title: canopy-commandline
-theme:
- name: retro-mahout
+
+
---

<a name="canopy-commandline-RunningCanopyClusteringfromtheCommandLine"></a>

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/users/clustering/cluster-dumper.md
----------------------------------------------------------------------
diff --git a/website/users/clustering/cluster-dumper.md b/website/users/clustering/cluster-dumper.md
index 454734b..57a4002 100644
--- a/website/users/clustering/cluster-dumper.md
+++ b/website/users/clustering/cluster-dumper.md
@@ -1,8 +1,8 @@
---
layout: default
title: Cluster Dumper
-theme:
- name: retro-mahout
+
+
---

<a name="ClusterDumper-Introduction"></a>

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/users/clustering/clustering-of-synthetic-control-data.md
----------------------------------------------------------------------
diff --git a/website/users/clustering/clustering-of-synthetic-control-data.md b/website/users/clustering/clustering-of-synthetic-control-data.md
index 693568f..8ccebfa 100644
--- a/website/users/clustering/clustering-of-synthetic-control-data.md
+++ b/website/users/clustering/clustering-of-synthetic-control-data.md
@@ -1,8 +1,8 @@
---
layout: default
title: Clustering of synthetic control data
-theme:
- name: retro-mahout
+
+
---

# Clustering synthetic control data

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/users/clustering/clustering-seinfeld-episodes.md
----------------------------------------------------------------------
diff --git a/website/users/clustering/clustering-seinfeld-episodes.md b/website/users/clustering/clustering-seinfeld-episodes.md
index 8a983fc..fd4b737 100644
--- a/website/users/clustering/clustering-seinfeld-episodes.md
+++ b/website/users/clustering/clustering-seinfeld-episodes.md
@@ -1,8 +1,8 @@
---
layout: default
title: Clustering Seinfeld Episodes
-theme:
- name: retro-mahout
+
+
---

Below is short tutorial on how to cluster Seinfeld episode transcripts with

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/users/clustering/clusteringyourdata.md
----------------------------------------------------------------------
diff --git a/website/users/clustering/clusteringyourdata.md b/website/users/clustering/clusteringyourdata.md
index bdd6d01..2082708 100644
--- a/website/users/clustering/clusteringyourdata.md
+++ b/website/users/clustering/clusteringyourdata.md
@@ -1,8 +1,8 @@
---
layout: default
title: ClusteringYourData
-theme:
- name: retro-mahout
+
+
---

# Clustering your data

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/users/clustering/expectation-maximization.md
----------------------------------------------------------------------
diff --git a/website/users/clustering/expectation-maximization.md b/website/users/clustering/expectation-maximization.md
index 6ccc8c3..4193b9e 100644
--- a/website/users/clustering/expectation-maximization.md
+++ b/website/users/clustering/expectation-maximization.md
@@ -1,8 +1,8 @@
---
layout: default
title: Expectation Maximization
-theme:
- name: retro-mahout
+
+
---
<a name="ExpectationMaximization-ExpectationMaximization"></a>
# Expectation Maximization

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/users/clustering/fuzzy-k-means-commandline.md
----------------------------------------------------------------------
diff --git a/website/users/clustering/fuzzy-k-means-commandline.md b/website/users/clustering/fuzzy-k-means-commandline.md
index 1374682..7fea301 100644
--- a/website/users/clustering/fuzzy-k-means-commandline.md
+++ b/website/users/clustering/fuzzy-k-means-commandline.md
@@ -1,8 +1,8 @@
---
layout: default
title: fuzzy-k-means-commandline
-theme:
- name: retro-mahout
+
+
---

<a name="fuzzy-k-means-commandline-RunningFuzzyk-MeansClusteringfromtheCommandLine"></a>

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/users/clustering/fuzzy-k-means.md
----------------------------------------------------------------------
diff --git a/website/users/clustering/fuzzy-k-means.md b/website/users/clustering/fuzzy-k-means.md
index ec53e62..f9fe2ac 100644
--- a/website/users/clustering/fuzzy-k-means.md
+++ b/website/users/clustering/fuzzy-k-means.md
@@ -1,8 +1,8 @@
---
layout: default
title: Fuzzy K-Means
-theme:
- name: retro-mahout
+
+
---

# Fuzzy K-Means

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/users/clustering/hierarchical-clustering.md
----------------------------------------------------------------------
diff --git a/website/users/clustering/hierarchical-clustering.md b/website/users/clustering/hierarchical-clustering.md
index 6c541cc..4fc97b2 100644
--- a/website/users/clustering/hierarchical-clustering.md
+++ b/website/users/clustering/hierarchical-clustering.md
@@ -1,8 +1,8 @@
---
layout: default
title: Hierarchical Clustering
-theme:
- name: retro-mahout
+
+
---
Hierarchical clustering is the process or finding bigger clusters, and also
the smaller clusters inside the bigger clusters.

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/users/clustering/k-means-clustering.md
----------------------------------------------------------------------
diff --git a/website/users/clustering/k-means-clustering.md b/website/users/clustering/k-means-clustering.md
index 5c25763..2406d14 100644
--- a/website/users/clustering/k-means-clustering.md
+++ b/website/users/clustering/k-means-clustering.md
@@ -1,8 +1,8 @@
---
layout: default
title: K-Means Clustering
-theme:
- name: retro-mahout
+
+
---

# k-Means clustering - basics

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/users/clustering/k-means-commandline.md
----------------------------------------------------------------------
diff --git a/website/users/clustering/k-means-commandline.md b/website/users/clustering/k-means-commandline.md
index 8d802f8..8833956 100644
--- a/website/users/clustering/k-means-commandline.md
+++ b/website/users/clustering/k-means-commandline.md
@@ -1,8 +1,8 @@
---
layout: default
title: k-means-commandline
-theme:
- name: retro-mahout
+
+
---

<a name="k-means-commandline-Introduction"></a>

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/users/clustering/latent-dirichlet-allocation.md
----------------------------------------------------------------------
diff --git a/website/users/clustering/latent-dirichlet-allocation.md b/website/users/clustering/latent-dirichlet-allocation.md
index 871cea2..78db3a1 100644
--- a/website/users/clustering/latent-dirichlet-allocation.md
+++ b/website/users/clustering/latent-dirichlet-allocation.md
@@ -1,8 +1,8 @@
---
layout: default
title: Latent Dirichlet Allocation
-theme:
- name: retro-mahout
+
+
---

<a name="LatentDirichletAllocation-Overview"></a>

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/users/clustering/lda-commandline.md
----------------------------------------------------------------------
diff --git a/website/users/clustering/lda-commandline.md b/website/users/clustering/lda-commandline.md
index 613e90b..c2accc8 100644
--- a/website/users/clustering/lda-commandline.md
+++ b/website/users/clustering/lda-commandline.md
@@ -1,8 +1,8 @@
---
layout: default
title: lda-commandline
-theme:
- name: retro-mahout
+
+
---

<a name="lda-commandline-RunningLatentDirichletAllocation(algorithm)fromtheCommandLine"></a>

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/users/clustering/llr---log-likelihood-ratio.md
----------------------------------------------------------------------
diff --git a/website/users/clustering/llr---log-likelihood-ratio.md b/website/users/clustering/llr---log-likelihood-ratio.md
index d6b7e18..a59a32d 100644
--- a/website/users/clustering/llr---log-likelihood-ratio.md
+++ b/website/users/clustering/llr---log-likelihood-ratio.md
@@ -1,8 +1,8 @@
---
layout: default
title: LLR - Log-likelihood Ratio
-theme:
- name: retro-mahout
+
+
---

# Likelihood ratio test

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/users/clustering/spectral-clustering.md
----------------------------------------------------------------------
diff --git a/website/users/clustering/spectral-clustering.md b/website/users/clustering/spectral-clustering.md
index d0f5199..29009aa 100644
--- a/website/users/clustering/spectral-clustering.md
+++ b/website/users/clustering/spectral-clustering.md
@@ -1,8 +1,8 @@
---
layout: default
title: Spectral Clustering
-theme:
- name: retro-mahout
+
+
---

# Spectral Clustering Overview

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/users/clustering/streaming-k-means.md
----------------------------------------------------------------------
diff --git a/website/users/clustering/streaming-k-means.md b/website/users/clustering/streaming-k-means.md
index 81248de..5defe37 100644
--- a/website/users/clustering/streaming-k-means.md
+++ b/website/users/clustering/streaming-k-means.md
@@ -1,8 +1,8 @@
---
layout: default
title: Spectral Clustering
-theme:
- name: retro-mahout
+
+
---

# *StreamingKMeans* algorithm

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/users/clustering/viewing-result.md
----------------------------------------------------------------------
diff --git a/website/users/clustering/viewing-result.md b/website/users/clustering/viewing-result.md
index 4222732..44e004d 100644
--- a/website/users/clustering/viewing-result.md
+++ b/website/users/clustering/viewing-result.md
@@ -1,8 +1,8 @@
---
layout: default
title: Viewing Result
-theme:
- name: retro-mahout
+
+
---
* [Algorithm Viewing pages](#ViewingResult-AlgorithmViewingpages)


http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/users/clustering/viewing-results.md
----------------------------------------------------------------------
diff --git a/website/users/clustering/viewing-results.md b/website/users/clustering/viewing-results.md
index aacdd67..ec286ff 100644
--- a/website/users/clustering/viewing-results.md
+++ b/website/users/clustering/viewing-results.md
@@ -1,8 +1,8 @@
---
layout: default
title: Viewing Results
-theme:
- name: retro-mahout
+
+
---
<a name="ViewingResults-Intro"></a>
# Intro

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/users/clustering/visualizing-sample-clusters.md
----------------------------------------------------------------------
diff --git a/website/users/clustering/visualizing-sample-clusters.md b/website/users/clustering/visualizing-sample-clusters.md
index 52d07e7..98260f4 100644
--- a/website/users/clustering/visualizing-sample-clusters.md
+++ b/website/users/clustering/visualizing-sample-clusters.md
@@ -1,8 +1,8 @@
---
layout: default
title: Visualizing Sample Clusters
-theme:
- name: retro-mahout
+
+
---

<a name="VisualizingSampleClusters-Introduction"></a>

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/users/dim-reduction/dimensional-reduction.md
----------------------------------------------------------------------
diff --git a/website/users/dim-reduction/dimensional-reduction.md b/website/users/dim-reduction/dimensional-reduction.md
index 2a157f6..c016fa0 100644
--- a/website/users/dim-reduction/dimensional-reduction.md
+++ b/website/users/dim-reduction/dimensional-reduction.md
@@ -1,8 +1,8 @@
---
layout: default
title: Dimensional Reduction
-theme:
- name: retro-mahout
+
+
---

# Support for dimensional reduction

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/users/dim-reduction/ssvd.md
----------------------------------------------------------------------
diff --git a/website/users/dim-reduction/ssvd.md b/website/users/dim-reduction/ssvd.md
index 50ff7be..f852445 100644
--- a/website/users/dim-reduction/ssvd.md
+++ b/website/users/dim-reduction/ssvd.md
@@ -1,8 +1,8 @@
---
layout: default
title: Stochastic SVD
-theme:
- name: retro-mahout
+
+
---

# Stochastic Singular Value Decomposition #

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/users/environment/classify-a-doc-from-the-shell.md
----------------------------------------------------------------------
diff --git a/website/users/environment/classify-a-doc-from-the-shell.md b/website/users/environment/classify-a-doc-from-the-shell.md
index 8c98c53..5defe8f 100644
--- a/website/users/environment/classify-a-doc-from-the-shell.md
+++ b/website/users/environment/classify-a-doc-from-the-shell.md
@@ -1,8 +1,8 @@
---
layout: default
title:
-theme:
- name: retro-mahout
+
+
---

#Building a text classifier in Mahout's Spark Shell

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/users/environment/h2o-internals.md
----------------------------------------------------------------------
diff --git a/website/users/environment/h2o-internals.md b/website/users/environment/h2o-internals.md
index c72a7ae..460a3f6 100644
--- a/website/users/environment/h2o-internals.md
+++ b/website/users/environment/h2o-internals.md
@@ -1,8 +1,8 @@
---
layout: default
title:
-theme:
- name: retro-mahout
+
+
---

# Introduction

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/users/environment/how-to-build-an-app.md
----------------------------------------------------------------------
diff --git a/website/users/environment/how-to-build-an-app.md b/website/users/environment/how-to-build-an-app.md
index 89fc575..162fa77 100644
--- a/website/users/environment/how-to-build-an-app.md
+++ b/website/users/environment/how-to-build-an-app.md
@@ -1,8 +1,8 @@
---
layout: default
title:
-theme:
- name: retro-mahout
+
+
---

# How to create and App using Mahout

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/users/environment/in-core-reference.md
----------------------------------------------------------------------
diff --git a/website/users/environment/in-core-reference.md b/website/users/environment/in-core-reference.md
index 109ca1d..310d2a2 100644
--- a/website/users/environment/in-core-reference.md
+++ b/website/users/environment/in-core-reference.md
@@ -1,8 +1,8 @@
---
layout: default
title:
-theme:
- name: retro-mahout
+
+
---

## Mahout-Samsara's In-Core Linear Algebra DSL Reference

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/users/environment/out-of-core-reference.md
----------------------------------------------------------------------
diff --git a/website/users/environment/out-of-core-reference.md b/website/users/environment/out-of-core-reference.md
index 8b2eb75..f23c3d5 100644
--- a/website/users/environment/out-of-core-reference.md
+++ b/website/users/environment/out-of-core-reference.md
@@ -1,8 +1,8 @@
---
layout: default
title:
-theme:
- name: retro-mahout
+
+
---

# Mahout-Samsara's Distributed Linear Algebra DSL Reference

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/users/environment/spark-internals.md
----------------------------------------------------------------------
diff --git a/website/users/environment/spark-internals.md b/website/users/environment/spark-internals.md
index f5d72a4..7841fe6 100644
--- a/website/users/environment/spark-internals.md
+++ b/website/users/environment/spark-internals.md
@@ -1,8 +1,8 @@
---
layout: default
title:
-theme:
- name: retro-mahout
+
+
---

# Introduction

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/users/flinkbindings/flink-internals.md
----------------------------------------------------------------------
diff --git a/website/users/flinkbindings/flink-internals.md b/website/users/flinkbindings/flink-internals.md
index 8c8145a..7130d4d 100644
--- a/website/users/flinkbindings/flink-internals.md
+++ b/website/users/flinkbindings/flink-internals.md
@@ -1,8 +1,8 @@
---
layout: default
title:
-theme:
- name: retro-mahout
+
+
---

#Introduction

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/users/flinkbindings/playing-with-samsara-flink.md
----------------------------------------------------------------------
diff --git a/website/users/flinkbindings/playing-with-samsara-flink.md b/website/users/flinkbindings/playing-with-samsara-flink.md
index 4bbcd33..fae69ad 100644
--- a/website/users/flinkbindings/playing-with-samsara-flink.md
+++ b/website/users/flinkbindings/playing-with-samsara-flink.md
@@ -1,8 +1,8 @@
---
layout: default
title:
-theme:
- name: retro-mahout
+
+
---

## Getting Started

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/users/misc/mr---map-reduce.md
----------------------------------------------------------------------
diff --git a/website/users/misc/mr---map-reduce.md b/website/users/misc/mr---map-reduce.md
index b03d6ad..7b850ac 100644
--- a/website/users/misc/mr---map-reduce.md
+++ b/website/users/misc/mr---map-reduce.md
@@ -1,8 +1,8 @@
---
layout: default
title: MR - Map Reduce
-theme:
- name: retro-mahout
+
+
---

{excerpt}MapReduce is a framework for processing huge datasets on certain

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/users/misc/parallel-frequent-pattern-mining.md
----------------------------------------------------------------------
diff --git a/website/users/misc/parallel-frequent-pattern-mining.md b/website/users/misc/parallel-frequent-pattern-mining.md
index e2978a4..9f5ea55 100644
--- a/website/users/misc/parallel-frequent-pattern-mining.md
+++ b/website/users/misc/parallel-frequent-pattern-mining.md
@@ -1,8 +1,8 @@
---
layout: default
title: Parallel Frequent Pattern Mining
-theme:
- name: retro-mahout
+
+
---
Mahout has a Top K Parallel FPGrowth Implementation. Its based on the paper [http://infolab.stanford.edu/~echang/recsys08-69.pdf](http://infolab.stanford.edu/~echang/recsys08-69.pdf)
with some optimisations in mining the data.

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/users/misc/perceptron-and-winnow.md
----------------------------------------------------------------------
diff --git a/website/users/misc/perceptron-and-winnow.md b/website/users/misc/perceptron-and-winnow.md
index 308040c..b065197 100644
--- a/website/users/misc/perceptron-and-winnow.md
+++ b/website/users/misc/perceptron-and-winnow.md
@@ -1,8 +1,8 @@
---
layout: default
title: Perceptron and Winnow
-theme:
- name: retro-mahout
+
+
---
<a name="PerceptronandWinnow-ClassificationwithPerceptronorWinnow"></a>
# Classification with Perceptron or Winnow

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/users/misc/testing.md
----------------------------------------------------------------------
diff --git a/website/users/misc/testing.md b/website/users/misc/testing.md
index dc3fd43..fd17d56 100644
--- a/website/users/misc/testing.md
+++ b/website/users/misc/testing.md
@@ -1,8 +1,8 @@
---
layout: default
title: Testing
-theme:
- name: retro-mahout
+
+
---
<a name="Testing-Intro"></a>
# Intro

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/users/misc/using-mahout-with-python-via-jpype.md
----------------------------------------------------------------------
diff --git a/website/users/misc/using-mahout-with-python-via-jpype.md b/website/users/misc/using-mahout-with-python-via-jpype.md
index 57378ba..980a783 100644
--- a/website/users/misc/using-mahout-with-python-via-jpype.md
+++ b/website/users/misc/using-mahout-with-python-via-jpype.md
@@ -1,8 +1,8 @@
---
layout: default
title: Using Mahout with Python via JPype
-theme:
- name: retro-mahout
+
+
---

<a name="UsingMahoutwithPythonviaJPype-overview"></a>

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/users/recommender/intro-als-hadoop.md
----------------------------------------------------------------------
diff --git a/website/users/recommender/intro-als-hadoop.md b/website/users/recommender/intro-als-hadoop.md
index 2acacd0..a10c29f 100644
--- a/website/users/recommender/intro-als-hadoop.md
+++ b/website/users/recommender/intro-als-hadoop.md
@@ -1,8 +1,8 @@
---
layout: default
title: Perceptron and Winnow
-theme:
- name: retro-mahout
+
+
---

# Introduction to ALS Recommendations with Hadoop

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/users/recommender/intro-cooccurrence-spark.md
----------------------------------------------------------------------
diff --git a/website/users/recommender/intro-cooccurrence-spark.md b/website/users/recommender/intro-cooccurrence-spark.md
index 578f3c4..a5fccfe 100644
--- a/website/users/recommender/intro-cooccurrence-spark.md
+++ b/website/users/recommender/intro-cooccurrence-spark.md
@@ -1,8 +1,8 @@
---
layout: default
title: Perceptron and Winnow
-theme:
- name: retro-mahout
+
+
---

#Intro to Cooccurrence Recommenders with Spark

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/users/recommender/intro-itembased-hadoop.md
----------------------------------------------------------------------
diff --git a/website/users/recommender/intro-itembased-hadoop.md b/website/users/recommender/intro-itembased-hadoop.md
index ee2c3e8..cd566eb 100644
--- a/website/users/recommender/intro-itembased-hadoop.md
+++ b/website/users/recommender/intro-itembased-hadoop.md
@@ -1,8 +1,8 @@
---
layout: default
title: Perceptron and Winnow
-theme:
- name: retro-mahout
+
+
---
# Introduction to Item-Based Recommendations with Hadoop


http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/users/recommender/matrix-factorization.md
----------------------------------------------------------------------
diff --git a/website/users/recommender/matrix-factorization.md b/website/users/recommender/matrix-factorization.md
index 63de4fd..6e331e9 100644
--- a/website/users/recommender/matrix-factorization.md
+++ b/website/users/recommender/matrix-factorization.md
@@ -1,8 +1,8 @@
---
layout: default
title: Perceptron and Winnow
-theme:
- name: retro-mahout
+
+
---
<a name="MatrixFactorization-Intro"></a>
# Introduction to Matrix Factorization for Recommendation Mining

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/users/recommender/quickstart.md
----------------------------------------------------------------------
diff --git a/website/users/recommender/quickstart.md b/website/users/recommender/quickstart.md
index 4627444..41e643b 100644
--- a/website/users/recommender/quickstart.md
+++ b/website/users/recommender/quickstart.md
@@ -1,8 +1,8 @@
---
layout: default
title: Recommender Quickstart
-theme:
- name: retro-mahout
+
+
---

# Recommender Overview

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/users/recommender/recommender-documentation.md
----------------------------------------------------------------------
diff --git a/website/users/recommender/recommender-documentation.md b/website/users/recommender/recommender-documentation.md
index 8ba5b28..37a3dd6 100644
--- a/website/users/recommender/recommender-documentation.md
+++ b/website/users/recommender/recommender-documentation.md
@@ -1,8 +1,8 @@
---
layout: default
title: Recommender Documentation
-theme:
- name: retro-mahout
+
+
---

<a name="RecommenderDocumentation-Overview"></a>

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/users/recommender/recommender-first-timer-faq.md
----------------------------------------------------------------------
diff --git a/website/users/recommender/recommender-first-timer-faq.md b/website/users/recommender/recommender-first-timer-faq.md
index 2b090e6..6c07fa2 100644
--- a/website/users/recommender/recommender-first-timer-faq.md
+++ b/website/users/recommender/recommender-first-timer-faq.md
@@ -1,8 +1,8 @@
---
layout: default
title: Recommender First-Timer FAQ
-theme:
- name: retro-mahout
+
+
---

# Recommender First Timer Dos and Don'ts

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/users/recommender/userbased-5-minutes.md
----------------------------------------------------------------------
diff --git a/website/users/recommender/userbased-5-minutes.md b/website/users/recommender/userbased-5-minutes.md
index da17b38..52e1e15 100644
--- a/website/users/recommender/userbased-5-minutes.md
+++ b/website/users/recommender/userbased-5-minutes.md
@@ -1,8 +1,8 @@
---
layout: default
title: User Based Recommender in 5 Minutes
-theme:
- name: retro-mahout
+
+
---

# Creating a User-Based Recommender in 5 minutes

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/users/sparkbindings/faq.md
----------------------------------------------------------------------
diff --git a/website/users/sparkbindings/faq.md b/website/users/sparkbindings/faq.md
index 9649e3b..81cd931 100644
--- a/website/users/sparkbindings/faq.md
+++ b/website/users/sparkbindings/faq.md
@@ -1,8 +1,8 @@
---
layout: default
title: FAQ
-theme:
- name: retro-mahout
+
+
---

# FAQ for using Mahout with Spark

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/users/sparkbindings/home.md
----------------------------------------------------------------------
diff --git a/website/users/sparkbindings/home.md b/website/users/sparkbindings/home.md
index 5075612..d5f41d0 100644
--- a/website/users/sparkbindings/home.md
+++ b/website/users/sparkbindings/home.md
@@ -1,8 +1,8 @@
---
layout: default
title: Spark Bindings
-theme:
- name: retro-mahout
+
+
---

# Scala & Spark Bindings:

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/users/sparkbindings/play-with-shell.md
----------------------------------------------------------------------
diff --git a/website/users/sparkbindings/play-with-shell.md b/website/users/sparkbindings/play-with-shell.md
index 3cdb8f7..2045ea7 100644
--- a/website/users/sparkbindings/play-with-shell.md
+++ b/website/users/sparkbindings/play-with-shell.md
@@ -1,8 +1,8 @@
---
layout: default
title: Perceptron and Winnow
-theme:
- name: retro-mahout
+
+
---
# Playing with Mahout's Spark Shell
a***@apache.org
2017-12-21 04:53:08 UTC
Permalink
http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/assets/themes/mahout/bootstrap/fonts/glyphicons-halflings-regular.eot
----------------------------------------------------------------------
diff --git a/website-old/assets/themes/mahout/bootstrap/fonts/glyphicons-halflings-regular.eot b/website-old/assets/themes/mahout/bootstrap/fonts/glyphicons-halflings-regular.eot
deleted file mode 100644
index 423bd5d..0000000
Binary files a/website-old/assets/themes/mahout/bootstrap/fonts/glyphicons-halflings-regular.eot and /dev/null differ

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/assets/themes/mahout/bootstrap/fonts/glyphicons-halflings-regular.svg
----------------------------------------------------------------------
diff --git a/website-old/assets/themes/mahout/bootstrap/fonts/glyphicons-halflings-regular.svg b/website-old/assets/themes/mahout/bootstrap/fonts/glyphicons-halflings-regular.svg
deleted file mode 100644
index 4469488..0000000
--- a/website-old/assets/themes/mahout/bootstrap/fonts/glyphicons-halflings-regular.svg
+++ /dev/null
@@ -1,229 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
-<svg xmlns="http://www.w3.org/2000/svg">
-<metadata></metadata>
-<defs>
-<font id="glyphicons_halflingsregular" horiz-adv-x="1200" >
-<font-face units-per-em="1200" ascent="960" descent="-240" />
-<missing-glyph horiz-adv-x="500" />
-<glyph />
-<glyph />
-<glyph unicode="&#xd;" />
-<glyph unicode=" " />
-<glyph unicode="*" d="M100 500v200h259l-183 183l141 141l183 -183v259h200v-259l183 183l141 -141l-183 -183h259v-200h-259l183 -183l-141 -141l-183 183v-259h-200v259l-183 -183l-141 141l183 183h-259z" />
-<glyph unicode="+" d="M0 400v300h400v400h300v-400h400v-300h-400v-400h-300v400h-400z" />
-<glyph unicode="&#xa0;" />
-<glyph unicode="&#x2000;" horiz-adv-x="652" />
-<glyph unicode="&#x2001;" horiz-adv-x="1304" />
-<glyph unicode="&#x2002;" horiz-adv-x="652" />
-<glyph unicode="&#x2003;" horiz-adv-x="1304" />
-<glyph unicode="&#x2004;" horiz-adv-x="434" />
-<glyph unicode="&#x2005;" horiz-adv-x="326" />
-<glyph unicode="&#x2006;" horiz-adv-x="217" />
-<glyph unicode="&#x2007;" horiz-adv-x="217" />
-<glyph unicode="&#x2008;" horiz-adv-x="163" />
-<glyph unicode="&#x2009;" horiz-adv-x="260" />
-<glyph unicode="&#x200a;" horiz-adv-x="72" />
-<glyph unicode="&#x202f;" horiz-adv-x="260" />
-<glyph unicode="&#x205f;" horiz-adv-x="326" />
-<glyph unicode="&#x20ac;" d="M100 500l100 100h113q0 47 5 100h-218l100 100h135q37 167 112 257q117 141 297 141q242 0 354 -189q60 -103 66 -209h-181q0 55 -25.5 99t-63.5 68t-75 36.5t-67 12.5q-24 0 -52.5 -10t-62.5 -32t-65.5 -67t-50.5 -107h379l-100 -100h-300q-6 -46 -6 -100h406l-100 -100 h-300q9 -74 33 -132t52.5 -91t62 -54.5t59 -29t46.5 -7.5q29 0 66 13t75 37t63.5 67.5t25.5 96.5h174q-31 -172 -128 -278q-107 -117 -274 -117q-205 0 -324 158q-36 46 -69 131.5t-45 205.5h-217z" />
-<glyph unicode="&#x2212;" d="M200 400h900v300h-900v-300z" />
-<glyph unicode="&#x2601;" d="M-14 494q0 -80 56.5 -137t135.5 -57h750q120 0 205 86t85 208q0 120 -85 206.5t-205 86.5q-46 0 -90 -14q-44 97 -134.5 156.5t-200.5 59.5q-152 0 -260 -107.5t-108 -260.5q0 -25 2 -37q-66 -14 -108.5 -67.5t-42.5 -122.5z" />
-<glyph unicode="&#x2709;" d="M0 100l400 400l200 -200l200 200l400 -400h-1200zM0 300v600l300 -300zM0 1100l600 -603l600 603h-1200zM900 600l300 300v-600z" />
-<glyph unicode="&#x270f;" d="M-13 -13l333 112l-223 223zM187 403l214 -214l614 614l-214 214zM887 1103l214 -214l99 92q13 13 13 32.5t-13 33.5l-153 153q-15 13 -33 13t-33 -13z" />
-<glyph unicode="&#xe000;" horiz-adv-x="500" d="M0 0z" />
-<glyph unicode="&#xe001;" d="M0 1200h1200l-500 -550v-550h300v-100h-800v100h300v550z" />
-<glyph unicode="&#xe002;" d="M14 84q18 -55 86 -75.5t147 5.5q65 21 109 69t44 90v606l600 155v-521q-64 16 -138 -7q-79 -26 -122.5 -83t-25.5 -111q17 -55 85.5 -75.5t147.5 4.5q70 23 111.5 63.5t41.5 95.5v881q0 10 -7 15.5t-17 2.5l-752 -193q-10 -3 -17 -12.5t-7 -19.5v-689q-64 17 -138 -7 q-79 -25 -122.5 -82t-25.5 -112z" />
-<glyph unicode="&#xe003;" d="M23 693q0 200 142 342t342 142t342 -142t142 -342q0 -142 -78 -261l300 -300q7 -8 7 -18t-7 -18l-109 -109q-8 -7 -18 -7t-18 7l-300 300q-119 -78 -261 -78q-200 0 -342 142t-142 342zM176 693q0 -136 97 -233t234 -97t233.5 96.5t96.5 233.5t-96.5 233.5t-233.5 96.5 t-234 -97t-97 -233z" />
-<glyph unicode="&#xe005;" d="M100 784q0 64 28 123t73 100.5t104.5 64t119 20.5t120 -38.5t104.5 -104.5q48 69 109.5 105t121.5 38t118.5 -20.5t102.5 -64t71 -100.5t27 -123q0 -57 -33.5 -117.5t-94 -124.5t-126.5 -127.5t-150 -152.5t-146 -174q-62 85 -145.5 174t-149.5 152.5t-126.5 127.5 t-94 124.5t-33.5 117.5z" />
-<glyph unicode="&#xe006;" d="M-72 800h479l146 400h2l146 -400h472l-382 -278l145 -449l-384 275l-382 -275l146 447zM168 71l2 1z" />
-<glyph unicode="&#xe007;" d="M-72 800h479l146 400h2l146 -400h472l-382 -278l145 -449l-384 275l-382 -275l146 447zM168 71l2 1zM237 700l196 -142l-73 -226l192 140l195 -141l-74 229l193 140h-235l-77 211l-78 -211h-239z" />
-<glyph unicode="&#xe008;" d="M0 0v143l400 257v100q-37 0 -68.5 74.5t-31.5 125.5v200q0 124 88 212t212 88t212 -88t88 -212v-200q0 -51 -31.5 -125.5t-68.5 -74.5v-100l400 -257v-143h-1200z" />
-<glyph unicode="&#xe009;" d="M0 0v1100h1200v-1100h-1200zM100 100h100v100h-100v-100zM100 300h100v100h-100v-100zM100 500h100v100h-100v-100zM100 700h100v100h-100v-100zM100 900h100v100h-100v-100zM300 100h600v400h-600v-400zM300 600h600v400h-600v-400zM1000 100h100v100h-100v-100z M1000 300h100v100h-100v-100zM1000 500h100v100h-100v-100zM1000 700h100v100h-100v-100zM1000 900h100v100h-100v-100z" />
-<glyph unicode="&#xe010;" d="M0 50v400q0 21 14.5 35.5t35.5 14.5h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5zM0 650v400q0 21 14.5 35.5t35.5 14.5h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400 q-21 0 -35.5 14.5t-14.5 35.5zM600 50v400q0 21 14.5 35.5t35.5 14.5h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5zM600 650v400q0 21 14.5 35.5t35.5 14.5h400q21 0 35.5 -14.5t14.5 -35.5v-400 q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5z" />
-<glyph unicode="&#xe011;" d="M0 50v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM0 450v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200 q-21 0 -35.5 14.5t-14.5 35.5zM0 850v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM400 50v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5 t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM400 450v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM400 850v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5 v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM800 50v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM800 450v200q0
21 14.5 35.5t35.5 14.5h200 q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM800 850v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5z" />
-<glyph unicode="&#xe012;" d="M0 50v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM0 450q0 -21 14.5 -35.5t35.5 -14.5h200q21 0 35.5 14.5t14.5 35.5v200q0 21 -14.5 35.5t-35.5 14.5h-200q-21 0 -35.5 -14.5 t-14.5 -35.5v-200zM0 850v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM400 50v200q0 21 14.5 35.5t35.5 14.5h700q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5 t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5zM400 450v200q0 21 14.5 35.5t35.5 14.5h700q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5zM400 850v200q0 21 14.5 35.5t35.5 14.5h700q21 0 35.5 -14.5t14.5 -35.5 v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5z" />
-<glyph unicode="&#xe013;" d="M29 454l419 -420l818 820l-212 212l-607 -607l-206 207z" />
-<glyph unicode="&#xe014;" d="M106 318l282 282l-282 282l212 212l282 -282l282 282l212 -212l-282 -282l282 -282l-212 -212l-282 282l-282 -282z" />
-<glyph unicode="&#xe015;" d="M23 693q0 200 142 342t342 142t342 -142t142 -342q0 -142 -78 -261l300 -300q7 -8 7 -18t-7 -18l-109 -109q-8 -7 -18 -7t-18 7l-300 300q-119 -78 -261 -78q-200 0 -342 142t-142 342zM176 693q0 -136 97 -233t234 -97t233.5 96.5t96.5 233.5t-96.5 233.5t-233.5 96.5 t-234 -97t-97 -233zM300 600v200h100v100h200v-100h100v-200h-100v-100h-200v100h-100z" />
-<glyph unicode="&#xe016;" d="M23 694q0 200 142 342t342 142t342 -142t142 -342q0 -141 -78 -262l300 -299q7 -7 7 -18t-7 -18l-109 -109q-8 -8 -18 -8t-18 8l-300 299q-120 -77 -261 -77q-200 0 -342 142t-142 342zM176 694q0 -136 97 -233t234 -97t233.5 97t96.5 233t-96.5 233t-233.5 97t-234 -97 t-97 -233zM300 601h400v200h-400v-200z" />
-<glyph unicode="&#xe017;" d="M23 600q0 183 105 331t272 210v-166q-103 -55 -165 -155t-62 -220q0 -177 125 -302t302 -125t302 125t125 302q0 120 -62 220t-165 155v166q167 -62 272 -210t105 -331q0 -118 -45.5 -224.5t-123 -184t-184 -123t-224.5 -45.5t-224.5 45.5t-184 123t-123 184t-45.5 224.5 zM500 750q0 -21 14.5 -35.5t35.5 -14.5h100q21 0 35.5 14.5t14.5 35.5v400q0 21 -14.5 35.5t-35.5 14.5h-100q-21 0 -35.5 -14.5t-14.5 -35.5v-400z" />
-<glyph unicode="&#xe018;" d="M100 1h200v300h-200v-300zM400 1v500h200v-500h-200zM700 1v800h200v-800h-200zM1000 1v1200h200v-1200h-200z" />
-<glyph unicode="&#xe019;" d="M26 601q0 -33 6 -74l151 -38l2 -6q14 -49 38 -93l3 -5l-80 -134q45 -59 105 -105l133 81l5 -3q45 -26 94 -39l5 -2l38 -151q40 -5 74 -5q27 0 74 5l38 151l6 2q46 13 93 39l5 3l134 -81q56 44 104 105l-80 134l3 5q24 44 39 93l1 6l152 38q5 40 5 74q0 28 -5 73l-152 38 l-1 6q-16 51 -39 93l-3 5l80 134q-44 58 -104 105l-134 -81l-5 3q-45 25 -93 39l-6 1l-38 152q-40 5 -74 5q-27 0 -74 -5l-38 -152l-5 -1q-50 -14 -94 -39l-5 -3l-133 81q-59 -47 -105 -105l80 -134l-3 -5q-25 -47 -38 -93l-2 -6l-151 -38q-6 -48 -6 -73zM385 601 q0 88 63 151t152 63t152 -63t63 -151q0 -89 -63 -152t-152 -63t-152 63t-63 152z" />
-<glyph unicode="&#xe020;" d="M100 1025v50q0 10 7.5 17.5t17.5 7.5h275v100q0 41 29.5 70.5t70.5 29.5h300q41 0 70.5 -29.5t29.5 -70.5v-100h275q10 0 17.5 -7.5t7.5 -17.5v-50q0 -11 -7 -18t-18 -7h-1050q-11 0 -18 7t-7 18zM200 100v800h900v-800q0 -41 -29.5 -71t-70.5 -30h-700q-41 0 -70.5 30 t-29.5 71zM300 100h100v700h-100v-700zM500 100h100v700h-100v-700zM500 1100h300v100h-300v-100zM700 100h100v700h-100v-700zM900 100h100v700h-100v-700z" />
-<glyph unicode="&#xe021;" d="M1 601l656 644l644 -644h-200v-600h-300v400h-300v-400h-300v600h-200z" />
-<glyph unicode="&#xe022;" d="M100 25v1150q0 11 7 18t18 7h475v-500h400v-675q0 -11 -7 -18t-18 -7h-850q-11 0 -18 7t-7 18zM700 800v300l300 -300h-300z" />
-<glyph unicode="&#xe023;" d="M4 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM186 600q0 -171 121.5 -292.5t292.5 -121.5t292.5 121.5t121.5 292.5t-121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM500 500v400h100 v-300h200v-100h-300z" />
-<glyph unicode="&#xe024;" d="M-100 0l431 1200h209l-21 -300h162l-20 300h208l431 -1200h-538l-41 400h-242l-40 -400h-539zM488 500h224l-27 300h-170z" />
-<glyph unicode="&#xe025;" d="M0 0v400h490l-290 300h200v500h300v-500h200l-290 -300h490v-400h-1100zM813 200h175v100h-175v-100z" />
-<glyph unicode="&#xe026;" d="M1 600q0 122 47.5 233t127.5 191t191 127.5t233 47.5t233 -47.5t191 -127.5t127.5 -191t47.5 -233t-47.5 -233t-127.5 -191t-191 -127.5t-233 -47.5t-233 47.5t-191 127.5t-127.5 191t-47.5 233zM188 600q0 -170 121 -291t291 -121t291 121t121 291t-121 291t-291 121 t-291 -121t-121 -291zM350 600h150v300h200v-300h150l-250 -300z" />
-<glyph unicode="&#xe027;" d="M4 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM186 600q0 -171 121.5 -292.5t292.5 -121.5t292.5 121.5t121.5 292.5t-121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM350 600l250 300 l250 -300h-150v-300h-200v300h-150z" />
-<glyph unicode="&#xe028;" d="M0 25v475l200 700h800q199 -700 200 -700v-475q0 -11 -7 -18t-18 -7h-1150q-11 0 -18 7t-7 18zM200 500h200l50 -200h300l50 200h200l-97 500h-606z" />
-<glyph unicode="&#xe029;" d="M4 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM186 600q0 -172 121.5 -293t292.5 -121t292.5 121t121.5 293q0 171 -121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM500 397v401 l297 -200z" />
-<glyph unicode="&#xe030;" d="M23 600q0 -118 45.5 -224.5t123 -184t184 -123t224.5 -45.5t224.5 45.5t184 123t123 184t45.5 224.5h-150q0 -177 -125 -302t-302 -125t-302 125t-125 302t125 302t302 125q136 0 246 -81l-146 -146h400v400l-145 -145q-157 122 -355 122q-118 0 -224.5 -45.5t-184 -123 t-123 -184t-45.5 -224.5z" />
-<glyph unicode="&#xe031;" d="M23 600q0 118 45.5 224.5t123 184t184 123t224.5 45.5q198 0 355 -122l145 145v-400h-400l147 147q-112 80 -247 80q-177 0 -302 -125t-125 -302h-150zM100 0v400h400l-147 -147q112 -80 247 -80q177 0 302 125t125 302h150q0 -118 -45.5 -224.5t-123 -184t-184 -123 t-224.5 -45.5q-198 0 -355 122z" />
-<glyph unicode="&#xe032;" d="M100 0h1100v1200h-1100v-1200zM200 100v900h900v-900h-900zM300 200v100h100v-100h-100zM300 400v100h100v-100h-100zM300 600v100h100v-100h-100zM300 800v100h100v-100h-100zM500 200h500v100h-500v-100zM500 400v100h500v-100h-500zM500 600v100h500v-100h-500z M500 800v100h500v-100h-500z" />
-<glyph unicode="&#xe033;" d="M0 100v600q0 41 29.5 70.5t70.5 29.5h100v200q0 82 59 141t141 59h300q82 0 141 -59t59 -141v-200h100q41 0 70.5 -29.5t29.5 -70.5v-600q0 -41 -29.5 -70.5t-70.5 -29.5h-900q-41 0 -70.5 29.5t-29.5 70.5zM400 800h300v150q0 21 -14.5 35.5t-35.5 14.5h-200 q-21 0 -35.5 -14.5t-14.5 -35.5v-150z" />
-<glyph unicode="&#xe034;" d="M100 0v1100h100v-1100h-100zM300 400q60 60 127.5 84t127.5 17.5t122 -23t119 -30t110 -11t103 42t91 120.5v500q-40 -81 -101.5 -115.5t-127.5 -29.5t-138 25t-139.5 40t-125.5 25t-103 -29.5t-65 -115.5v-500z" />
-<glyph unicode="&#xe035;" d="M0 275q0 -11 7 -18t18 -7h50q11 0 18 7t7 18v300q0 127 70.5 231.5t184.5 161.5t245 57t245 -57t184.5 -161.5t70.5 -231.5v-300q0 -11 7 -18t18 -7h50q11 0 18 7t7 18v300q0 116 -49.5 227t-131 192.5t-192.5 131t-227 49.5t-227 -49.5t-192.5 -131t-131 -192.5 t-49.5 -227v-300zM200 20v460q0 8 6 14t14 6h160q8 0 14 -6t6 -14v-460q0 -8 -6 -14t-14 -6h-160q-8 0 -14 6t-6 14zM800 20v460q0 8 6 14t14 6h160q8 0 14 -6t6 -14v-460q0 -8 -6 -14t-14 -6h-160q-8 0 -14 6t-6 14z" />
-<glyph unicode="&#xe036;" d="M0 400h300l300 -200v800l-300 -200h-300v-400zM688 459l141 141l-141 141l71 71l141 -141l141 141l71 -71l-141 -141l141 -141l-71 -71l-141 141l-141 -141z" />
-<glyph unicode="&#xe037;" d="M0 400h300l300 -200v800l-300 -200h-300v-400zM700 857l69 53q111 -135 111 -310q0 -169 -106 -302l-67 54q86 110 86 248q0 146 -93 257z" />
-<glyph unicode="&#xe038;" d="M0 401v400h300l300 200v-800l-300 200h-300zM702 858l69 53q111 -135 111 -310q0 -170 -106 -303l-67 55q86 110 86 248q0 145 -93 257zM889 951l7 -8q123 -151 123 -344q0 -189 -119 -339l-7 -8l81 -66l6 8q142 178 142 405q0 230 -144 408l-6 8z" />
-<glyph unicode="&#xe039;" d="M0 0h500v500h-200v100h-100v-100h-200v-500zM0 600h100v100h400v100h100v100h-100v300h-500v-600zM100 100v300h300v-300h-300zM100 800v300h300v-300h-300zM200 200v100h100v-100h-100zM200 900h100v100h-100v-100zM500 500v100h300v-300h200v-100h-100v-100h-200v100 h-100v100h100v200h-200zM600 0v100h100v-100h-100zM600 1000h100v-300h200v-300h300v200h-200v100h200v500h-600v-200zM800 800v300h300v-300h-300zM900 0v100h300v-100h-300zM900 900v100h100v-100h-100zM1100 200v100h100v-100h-100z" />
-<glyph unicode="&#xe040;" d="M0 200h100v1000h-100v-1000zM100 0v100h300v-100h-300zM200 200v1000h100v-1000h-100zM500 0v91h100v-91h-100zM500 200v1000h200v-1000h-200zM700 0v91h100v-91h-100zM800 200v1000h100v-1000h-100zM900 0v91h200v-91h-200zM1000 200v1000h200v-1000h-200z" />
-<glyph unicode="&#xe041;" d="M1 700v475q0 10 7.5 17.5t17.5 7.5h474l700 -700l-500 -500zM148 953q0 -42 29 -71q30 -30 71.5 -30t71.5 30q29 29 29 71t-29 71q-30 30 -71.5 30t-71.5 -30q-29 -29 -29 -71z" />
-<glyph unicode="&#xe042;" d="M2 700v475q0 11 7 18t18 7h474l700 -700l-500 -500zM148 953q0 -42 30 -71q29 -30 71 -30t71 30q30 29 30 71t-30 71q-29 30 -71 30t-71 -30q-30 -29 -30 -71zM701 1200h100l700 -700l-500 -500l-50 50l450 450z" />
-<glyph unicode="&#xe043;" d="M100 0v1025l175 175h925v-1000l-100 -100v1000h-750l-100 -100h750v-1000h-900z" />
-<glyph unicode="&#xe044;" d="M200 0l450 444l450 -443v1150q0 20 -14.5 35t-35.5 15h-800q-21 0 -35.5 -15t-14.5 -35v-1151z" />
-<glyph unicode="&#xe045;" d="M0 100v700h200l100 -200h600l100 200h200v-700h-200v200h-800v-200h-200zM253 829l40 -124h592l62 124l-94 346q-2 11 -10 18t-18 7h-450q-10 0 -18 -7t-10 -18zM281 24l38 152q2 10 11.5 17t19.5 7h500q10 0 19.5 -7t11.5 -17l38 -152q2 -10 -3.5 -17t-15.5 -7h-600 q-10 0 -15.5 7t-3.5 17z" />
-<glyph unicode="&#xe046;" d="M0 200q0 -41 29.5 -70.5t70.5 -29.5h1000q41 0 70.5 29.5t29.5 70.5v600q0 41 -29.5 70.5t-70.5 29.5h-150q-4 8 -11.5 21.5t-33 48t-53 61t-69 48t-83.5 21.5h-200q-41 0 -82 -20.5t-70 -50t-52 -59t-34 -50.5l-12 -20h-150q-41 0 -70.5 -29.5t-29.5 -70.5v-600z M356 500q0 100 72 172t172 72t172 -72t72 -172t-72 -172t-172 -72t-172 72t-72 172zM494 500q0 -44 31 -75t75 -31t75 31t31 75t-31 75t-75 31t-75 -31t-31 -75zM900 700v100h100v-100h-100z" />
-<glyph unicode="&#xe047;" d="M53 0h365v66q-41 0 -72 11t-49 38t1 71l92 234h391l82 -222q16 -45 -5.5 -88.5t-74.5 -43.5v-66h417v66q-34 1 -74 43q-18 19 -33 42t-21 37l-6 13l-385 998h-93l-399 -1006q-24 -48 -52 -75q-12 -12 -33 -25t-36 -20l-15 -7v-66zM416 521l178 457l46 -140l116 -317h-340 z" />
-<glyph unicode="&#xe048;" d="M100 0v89q41 7 70.5 32.5t29.5 65.5v827q0 28 -1 39.5t-5.5 26t-15.5 21t-29 14t-49 14.5v70h471q120 0 213 -88t93 -228q0 -55 -11.5 -101.5t-28 -74t-33.5 -47.5t-28 -28l-12 -7q8 -3 21.5 -9t48 -31.5t60.5 -58t47.5 -91.5t21.5 -129q0 -84 -59 -156.5t-142 -111 t-162 -38.5h-500zM400 200h161q89 0 153 48.5t64 132.5q0 90 -62.5 154.5t-156.5 64.5h-159v-400zM400 700h139q76 0 130 61.5t54 138.5q0 82 -84 130.5t-239 48.5v-379z" />
-<glyph unicode="&#xe049;" d="M200 0v57q77 7 134.5 40.5t65.5 80.5l173 849q10 56 -10 74t-91 37q-6 1 -10.5 2.5t-9.5 2.5v57h425l2 -57q-33 -8 -62 -25.5t-46 -37t-29.5 -38t-17.5 -30.5l-5 -12l-128 -825q-10 -52 14 -82t95 -36v-57h-500z" />
-<glyph unicode="&#xe050;" d="M-75 200h75v800h-75l125 167l125 -167h-75v-800h75l-125 -167zM300 900v300h150h700h150v-300h-50q0 29 -8 48.5t-18.5 30t-33.5 15t-39.5 5.5t-50.5 1h-200v-850l100 -50v-100h-400v100l100 50v850h-200q-34 0 -50.5 -1t-40 -5.5t-33.5 -15t-18.5 -30t-8.5 -48.5h-49z " />
-<glyph unicode="&#xe051;" d="M33 51l167 125v-75h800v75l167 -125l-167 -125v75h-800v-75zM100 901v300h150h700h150v-300h-50q0 29 -8 48.5t-18 30t-33.5 15t-40 5.5t-50.5 1h-200v-650l100 -50v-100h-400v100l100 50v650h-200q-34 0 -50.5 -1t-39.5 -5.5t-33.5 -15t-18.5 -30t-8 -48.5h-50z" />
-<glyph unicode="&#xe052;" d="M0 50q0 -20 14.5 -35t35.5 -15h1100q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-1100q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM0 350q0 -20 14.5 -35t35.5 -15h800q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-800q-21 0 -35.5 -14.5t-14.5 -35.5 v-100zM0 650q0 -20 14.5 -35t35.5 -15h1000q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-1000q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM0 950q0 -20 14.5 -35t35.5 -15h600q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-600q-21 0 -35.5 -14.5 t-14.5 -35.5v-100z" />
-<glyph unicode="&#xe053;" d="M0 50q0 -20 14.5 -35t35.5 -15h1100q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-1100q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM0 650q0 -20 14.5 -35t35.5 -15h1100q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-1100q-21 0 -35.5 -14.5t-14.5 -35.5 v-100zM200 350q0 -20 14.5 -35t35.5 -15h700q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-700q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM200 950q0 -20 14.5 -35t35.5 -15h700q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-700q-21 0 -35.5 -14.5 t-14.5 -35.5v-100z" />
-<glyph unicode="&#xe054;" d="M0 50v100q0 21 14.5 35.5t35.5 14.5h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-1100q-21 0 -35.5 15t-14.5 35zM100 650v100q0 21 14.5 35.5t35.5 14.5h1000q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-1000q-21 0 -35.5 15 t-14.5 35zM300 350v100q0 21 14.5 35.5t35.5 14.5h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-800q-21 0 -35.5 15t-14.5 35zM500 950v100q0 21 14.5 35.5t35.5 14.5h600q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-600 q-21 0 -35.5 15t-14.5 35z" />
-<glyph unicode="&#xe055;" d="M0 50v100q0 21 14.5 35.5t35.5 14.5h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-1100q-21 0 -35.5 15t-14.5 35zM0 350v100q0 21 14.5 35.5t35.5 14.5h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-1100q-21 0 -35.5 15 t-14.5 35zM0 650v100q0 21 14.5 35.5t35.5 14.5h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-1100q-21 0 -35.5 15t-14.5 35zM0 950v100q0 21 14.5 35.5t35.5 14.5h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-1100 q-21 0 -35.5 15t-14.5 35z" />
-<glyph unicode="&#xe056;" d="M0 50v100q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-100q-21 0 -35.5 15t-14.5 35zM0 350v100q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-100q-21 0 -35.5 15 t-14.5 35zM0 650v100q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-100q-21 0 -35.5 15t-14.5 35zM0 950v100q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-100q-21 0 -35.5 15 t-14.5 35zM300 50v100q0 21 14.5 35.5t35.5 14.5h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-800q-21 0 -35.5 15t-14.5 35zM300 350v100q0 21 14.5 35.5t35.5 14.5h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-800 q-21 0 -35.5 15t-14.5 35zM300 650v100q0 21 14.5 35.5t35.5 14.5h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-800q-21 0 -35.5 15t-14.5 35zM300 950v100q0 21 14.5 35.5t35.5 14.5h800q21 0 35.5 -14.5t14.5 -35.5v-10
0q0 -20 -14.5 -35t-35.5 -15 h-800q-21 0 -35.5 15t-14.5 35z" />
-<glyph unicode="&#xe057;" d="M-101 500v100h201v75l166 -125l-166 -125v75h-201zM300 0h100v1100h-100v-1100zM500 50q0 -20 14.5 -35t35.5 -15h600q20 0 35 15t15 35v100q0 21 -15 35.5t-35 14.5h-600q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM500 350q0 -20 14.5 -35t35.5 -15h300q20 0 35 15t15 35 v100q0 21 -15 35.5t-35 14.5h-300q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM500 650q0 -20 14.5 -35t35.5 -15h500q20 0 35 15t15 35v100q0 21 -15 35.5t-35 14.5h-500q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM500 950q0 -20 14.5 -35t35.5 -15h100q20 0 35 15t15 35v100 q0 21 -15 35.5t-35 14.5h-100q-21 0 -35.5 -14.5t-14.5 -35.5v-100z" />
-<glyph unicode="&#xe058;" d="M1 50q0 -20 14.5 -35t35.5 -15h600q20 0 35 15t15 35v100q0 21 -15 35.5t-35 14.5h-600q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM1 350q0 -20 14.5 -35t35.5 -15h300q20 0 35 15t15 35v100q0 21 -15 35.5t-35 14.5h-300q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM1 650 q0 -20 14.5 -35t35.5 -15h500q20 0 35 15t15 35v100q0 21 -15 35.5t-35 14.5h-500q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM1 950q0 -20 14.5 -35t35.5 -15h100q20 0 35 15t15 35v100q0 21 -15 35.5t-35 14.5h-100q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM801 0v1100h100v-1100 h-100zM934 550l167 -125v75h200v100h-200v75z" />
-<glyph unicode="&#xe059;" d="M0 275v650q0 31 22 53t53 22h750q31 0 53 -22t22 -53v-650q0 -31 -22 -53t-53 -22h-750q-31 0 -53 22t-22 53zM900 600l300 300v-600z" />
-<glyph unicode="&#xe060;" d="M0 44v1012q0 18 13 31t31 13h1112q19 0 31.5 -13t12.5 -31v-1012q0 -18 -12.5 -31t-31.5 -13h-1112q-18 0 -31 13t-13 31zM100 263l247 182l298 -131l-74 156l293 318l236 -288v500h-1000v-737zM208 750q0 56 39 95t95 39t95 -39t39 -95t-39 -95t-95 -39t-95 39t-39 95z " />
-<glyph unicode="&#xe062;" d="M148 745q0 124 60.5 231.5t165 172t226.5 64.5q123 0 227 -63t164.5 -169.5t60.5 -229.5t-73 -272q-73 -114 -166.5 -237t-150.5 -189l-57 -66q-10 9 -27 26t-66.5 70.5t-96 109t-104 135.5t-100.5 155q-63 139 -63 262zM342 772q0 -107 75.5 -182.5t181.5 -75.5 q107 0 182.5 75.5t75.5 182.5t-75.5 182t-182.5 75t-182 -75.5t-75 -181.5z" />
-<glyph unicode="&#xe063;" d="M1 600q0 122 47.5 233t127.5 191t191 127.5t233 47.5t233 -47.5t191 -127.5t127.5 -191t47.5 -233t-47.5 -233t-127.5 -191t-191 -127.5t-233 -47.5t-233 47.5t-191 127.5t-127.5 191t-47.5 233zM173 600q0 -177 125.5 -302t301.5 -125v854q-176 0 -301.5 -125 t-125.5 -302z" />
-<glyph unicode="&#xe064;" d="M117 406q0 94 34 186t88.5 172.5t112 159t115 177t87.5 194.5q21 -71 57.5 -142.5t76 -130.5t83 -118.5t82 -117t70 -116t50 -125.5t18.5 -136q0 -89 -39 -165.5t-102 -126.5t-140 -79.5t-156 -33.5q-114 6 -211.5 53t-161.5 138.5t-64 210.5zM243 414q14 -82 59.5 -136 t136.5 -80l16 98q-7 6 -18 17t-34 48t-33 77q-15 73 -14 143.5t10 122.5l9 51q-92 -110 -119.5 -185t-12.5 -156z" />
-<glyph unicode="&#xe065;" d="M0 400v300q0 165 117.5 282.5t282.5 117.5q366 -6 397 -14l-186 -186h-311q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v125l200 200v-225q0 -165 -117.5 -282.5t-282.5 -117.5h-300q-165 0 -282.5 117.5 t-117.5 282.5zM436 341l161 50l412 412l-114 113l-405 -405zM995 1015l113 -113l113 113l-21 85l-92 28z" />
-<glyph unicode="&#xe066;" d="M0 400v300q0 165 117.5 282.5t282.5 117.5h261l2 -80q-133 -32 -218 -120h-145q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5l200 153v-53q0 -165 -117.5 -282.5t-282.5 -117.5h-300q-165 0 -282.5 117.5t-117.5 282.5 zM423 524q30 38 81.5 64t103 35.5t99 14t77.5 3.5l29 -1v-209l360 324l-359 318v-216q-7 0 -19 -1t-48 -8t-69.5 -18.5t-76.5 -37t-76.5 -59t-62 -88t-39.5 -121.5z" />
-<glyph unicode="&#xe067;" d="M0 400v300q0 165 117.5 282.5t282.5 117.5h300q60 0 127 -23l-178 -177h-349q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v69l200 200v-169q0 -165 -117.5 -282.5t-282.5 -117.5h-300q-165 0 -282.5 117.5 t-117.5 282.5zM342 632l283 -284l566 567l-136 137l-430 -431l-147 147z" />
-<glyph unicode="&#xe068;" d="M0 603l300 296v-198h200v200h-200l300 300l295 -300h-195v-200h200v198l300 -296l-300 -300v198h-200v-200h195l-295 -300l-300 300h200v200h-200v-198z" />
-<glyph unicode="&#xe069;" d="M200 50v1000q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-437l500 487v-1100l-500 488v-438q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5z" />
-<glyph unicode="&#xe070;" d="M0 50v1000q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-437l500 487v-487l500 487v-1100l-500 488v-488l-500 488v-438q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5z" />
-<glyph unicode="&#xe071;" d="M136 550l564 550v-487l500 487v-1100l-500 488v-488z" />
-<glyph unicode="&#xe072;" d="M200 0l900 550l-900 550v-1100z" />
-<glyph unicode="&#xe073;" d="M200 150q0 -21 14.5 -35.5t35.5 -14.5h200q21 0 35.5 14.5t14.5 35.5v800q0 21 -14.5 35.5t-35.5 14.5h-200q-21 0 -35.5 -14.5t-14.5 -35.5v-800zM600 150q0 -21 14.5 -35.5t35.5 -14.5h200q21 0 35.5 14.5t14.5 35.5v800q0 21 -14.5 35.5t-35.5 14.5h-200 q-21 0 -35.5 -14.5t-14.5 -35.5v-800z" />
-<glyph unicode="&#xe074;" d="M200 150q0 -20 14.5 -35t35.5 -15h800q21 0 35.5 15t14.5 35v800q0 21 -14.5 35.5t-35.5 14.5h-800q-21 0 -35.5 -14.5t-14.5 -35.5v-800z" />
-<glyph unicode="&#xe075;" d="M0 0v1100l500 -487v487l564 -550l-564 -550v488z" />
-<glyph unicode="&#xe076;" d="M0 0v1100l500 -487v487l500 -487v437q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-1000q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v438l-500 -488v488z" />
-<glyph unicode="&#xe077;" d="M300 0v1100l500 -487v437q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-1000q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v438z" />
-<glyph unicode="&#xe078;" d="M100 250v100q0 21 14.5 35.5t35.5 14.5h1000q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1000q-21 0 -35.5 14.5t-14.5 35.5zM100 500h1100l-550 564z" />
-<glyph unicode="&#xe079;" d="M185 599l592 -592l240 240l-353 353l353 353l-240 240z" />
-<glyph unicode="&#xe080;" d="M272 194l353 353l-353 353l241 240l572 -571l21 -22l-1 -1v-1l-592 -591z" />
-<glyph unicode="&#xe081;" d="M3 600q0 162 80 299.5t217.5 217.5t299.5 80t299.5 -80t217.5 -217.5t80 -299.5t-80 -300t-217.5 -218t-299.5 -80t-299.5 80t-217.5 218t-80 300zM300 500h200v-200h200v200h200v200h-200v200h-200v-200h-200v-200z" />
-<glyph unicode="&#xe082;" d="M3 600q0 162 80 299.5t217.5 217.5t299.5 80t299.5 -80t217.5 -217.5t80 -299.5t-80 -300t-217.5 -218t-299.5 -80t-299.5 80t-217.5 218t-80 300zM300 500h600v200h-600v-200z" />
-<glyph unicode="&#xe083;" d="M3 600q0 162 80 299.5t217.5 217.5t299.5 80t299.5 -80t217.5 -217.5t80 -299.5t-80 -300t-217.5 -218t-299.5 -80t-299.5 80t-217.5 218t-80 300zM246 459l213 -213l141 142l141 -142l213 213l-142 141l142 141l-213 212l-141 -141l-141 142l-212 -213l141 -141z" />
-<glyph unicode="&#xe084;" d="M3 600q0 162 80 299.5t217.5 217.5t299.5 80t299.5 -80t217.5 -217.5t80 -299.5t-80 -299.5t-217.5 -217.5t-299.5 -80t-299.5 80t-217.5 217.5t-80 299.5zM270 551l276 -277l411 411l-175 174l-236 -236l-102 102z" />
-<glyph unicode="&#xe085;" d="M3 600q0 162 80 299.5t217.5 217.5t299.5 80t299.5 -80t217.5 -217.5t80 -299.5t-80 -300t-217.5 -218t-299.5 -80t-299.5 80t-217.5 218t-80 300zM363 700h144q4 0 11.5 -1t11 -1t6.5 3t3 9t1 11t3.5 8.5t3.5 6t5.5 4t6.5 2.5t9 1.5t9 0.5h11.5h12.5q19 0 30 -10t11 -26 q0 -22 -4 -28t-27 -22q-5 -1 -12.5 -3t-27 -13.5t-34 -27t-26.5 -46t-11 -68.5h200q5 3 14 8t31.5 25.5t39.5 45.5t31 69t14 94q0 51 -17.5 89t-42 58t-58.5 32t-58.5 15t-51.5 3q-105 0 -172 -56t-67 -183zM500 300h200v100h-200v-100z" />
-<glyph unicode="&#xe086;" d="M3 600q0 162 80 299.5t217.5 217.5t299.5 80t299.5 -80t217.5 -217.5t80 -299.5t-80 -300t-217.5 -218t-299.5 -80t-299.5 80t-217.5 218t-80 300zM400 300h400v100h-100v300h-300v-100h100v-200h-100v-100zM500 800h200v100h-200v-100z" />
-<glyph unicode="&#xe087;" d="M0 500v200h194q15 60 36 104.5t55.5 86t88 69t126.5 40.5v200h200v-200q54 -20 113 -60t112.5 -105.5t71.5 -134.5h203v-200h-203q-25 -102 -116.5 -186t-180.5 -117v-197h-200v197q-140 27 -208 102.5t-98 200.5h-194zM290 500q24 -73 79.5 -127.5t130.5 -78.5v206h200 v-206q149 48 201 206h-201v200h200q-25 74 -76 127.5t-124 76.5v-204h-200v203q-75 -24 -130 -77.5t-79 -125.5h209v-200h-210z" />
-<glyph unicode="&#xe088;" d="M4 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM186 600q0 -171 121.5 -292.5t292.5 -121.5t292.5 121.5t121.5 292.5t-121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM356 465l135 135 l-135 135l109 109l135 -135l135 135l109 -109l-135 -135l135 -135l-109 -109l-135 135l-135 -135z" />
-<glyph unicode="&#xe089;" d="M4 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM186 600q0 -171 121.5 -292.5t292.5 -121.5t292.5 121.5t121.5 292.5t-121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM322 537l141 141 l87 -87l204 205l142 -142l-346 -345z" />
-<glyph unicode="&#xe090;" d="M4 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM186 600q0 -115 62 -215l568 567q-100 62 -216 62q-171 0 -292.5 -121.5t-121.5 -292.5zM391 245q97 -59 209 -59q171 0 292.5 121.5t121.5 292.5 q0 112 -59 209z" />
-<glyph unicode="&#xe091;" d="M0 547l600 453v-300h600v-300h-600v-301z" />
-<glyph unicode="&#xe092;" d="M0 400v300h600v300l600 -453l-600 -448v301h-600z" />
-<glyph unicode="&#xe093;" d="M204 600l450 600l444 -600h-298v-600h-300v600h-296z" />
-<glyph unicode="&#xe094;" d="M104 600h296v600h300v-600h298l-449 -600z" />
-<glyph unicode="&#xe095;" d="M0 200q6 132 41 238.5t103.5 193t184 138t271.5 59.5v271l600 -453l-600 -448v301q-95 -2 -183 -20t-170 -52t-147 -92.5t-100 -135.5z" />
-<glyph unicode="&#xe096;" d="M0 0v400l129 -129l294 294l142 -142l-294 -294l129 -129h-400zM635 777l142 -142l294 294l129 -129v400h-400l129 -129z" />
-<glyph unicode="&#xe097;" d="M34 176l295 295l-129 129h400v-400l-129 130l-295 -295zM600 600v400l129 -129l295 295l142 -141l-295 -295l129 -130h-400z" />
-<glyph unicode="&#xe101;" d="M23 600q0 118 45.5 224.5t123 184t184 123t224.5 45.5t224.5 -45.5t184 -123t123 -184t45.5 -224.5t-45.5 -224.5t-123 -184t-184 -123t-224.5 -45.5t-224.5 45.5t-184 123t-123 184t-45.5 224.5zM456 851l58 -302q4 -20 21.5 -34.5t37.5 -14.5h54q20 0 37.5 14.5 t21.5 34.5l58 302q4 20 -8 34.5t-33 14.5h-207q-20 0 -32 -14.5t-8 -34.5zM500 300h200v100h-200v-100z" />
-<glyph unicode="&#xe102;" d="M0 800h100v-200h400v300h200v-300h400v200h100v100h-111v6t-1 15t-3 18l-34 172q-11 39 -41.5 63t-69.5 24q-32 0 -61 -17l-239 -144q-22 -13 -40 -35q-19 24 -40 36l-238 144q-33 18 -62 18q-39 0 -69.5 -23t-40.5 -61l-35 -177q-2 -8 -3 -18t-1 -15v-6h-111v-100z M100 0h400v400h-400v-400zM200 900q-3 0 14 48t35 96l18 47l214 -191h-281zM700 0v400h400v-400h-400zM731 900l202 197q5 -12 12 -32.5t23 -64t25 -72t7 -28.5h-269z" />
-<glyph unicode="&#xe103;" d="M0 -22v143l216 193q-9 53 -13 83t-5.5 94t9 113t38.5 114t74 124q47 60 99.5 102.5t103 68t127.5 48t145.5 37.5t184.5 43.5t220 58.5q0 -189 -22 -343t-59 -258t-89 -181.5t-108.5 -120t-122 -68t-125.5 -30t-121.5 -1.5t-107.5 12.5t-87.5 17t-56.5 7.5l-99 -55z M238.5 300.5q19.5 -6.5 86.5 76.5q55 66 367 234q70 38 118.5 69.5t102 79t99 111.5t86.5 148q22 50 24 60t-6 19q-7 5 -17 5t-26.5 -14.5t-33.5 -39.5q-35 -51 -113.5 -108.5t-139.5 -89.5l-61 -32q-369 -197 -458 -401q-48 -111 -28.5 -117.5z" />
-<glyph unicode="&#xe104;" d="M111 408q0 -33 5 -63q9 -56 44 -119.5t105 -108.5q31 -21 64 -16t62 23.5t57 49.5t48 61.5t35 60.5q32 66 39 184.5t-13 157.5q79 -80 122 -164t26 -184q-5 -33 -20.5 -69.5t-37.5 -80.5q-10 -19 -14.5 -29t-12 -26t-9 -23.5t-3 -19t2.5 -15.5t11 -9.5t19.5 -5t30.5 2.5 t42 8q57 20 91 34t87.5 44.5t87 64t65.5 88.5t47 122q38 172 -44.5 341.5t-246.5 278.5q22 -44 43 -129q39 -159 -32 -154q-15 2 -33 9q-79 33 -120.5 100t-44 175.5t48.5 257.5q-13 -8 -34 -23.5t-72.5 -66.5t-88.5 -105.5t-60 -138t-8 -166.5q2 -12 8 -41.5t8 -43t6 -39.5 t3.5 -39.5t-1 -33.5t-6 -31.5t-13.5 -24t-21 -20.5t-31 -12q-38 -10 -67 13t-40.5 61.5t-15 81.5t10.5 75q-52 -46 -83.5 -101t-39 -107t-7.5 -85z" />
-<glyph unicode="&#xe105;" d="M-61 600l26 40q6 10 20 30t49 63.5t74.5 85.5t97 90t116.5 83.5t132.5 59t145.5 23.5t145.5 -23.5t132.5 -59t116.5 -83.5t97 -90t74.5 -85.5t49 -63.5t20 -30l26 -40l-26 -40q-6 -10 -20 -30t-49 -63.5t-74.5 -85.5t-97 -90t-116.5 -83.5t-132.5 -59t-145.5 -23.5 t-145.5 23.5t-132.5 59t-116.5 83.5t-97 90t-74.5 85.5t-49 63.5t-20 30zM120 600q7 -10 40.5 -58t56 -78.5t68 -77.5t87.5 -75t103 -49.5t125 -21.5t123.5 20t100.5 45.5t85.5 71.5t66.5 75.5t58 81.5t47 66q-1 1 -28.5 37.5t-42 55t-43.5 53t-57.5 63.5t-58.5 54 q49 -74 49 -163q0 -124 -88 -212t-212 -88t-212 88t-88 212q0 85 46 158q-102 -87 -226 -258zM377 656q49 -124 154 -191l105 105q-37 24 -75 72t-57 84l-20 36z" />
-<glyph unicode="&#xe106;" d="M-61 600l26 40q6 10 20 30t49 63.5t74.5 85.5t97 90t116.5 83.5t132.5 59t145.5 23.5q61 0 121 -17l37 142h148l-314 -1200h-148l37 143q-82 21 -165 71.5t-140 102t-109.5 112t-72 88.5t-29.5 43zM120 600q210 -282 393 -336l37 141q-107 18 -178.5 101.5t-71.5 193.5 q0 85 46 158q-102 -87 -226 -258zM377 656q49 -124 154 -191l47 47l23 87q-30 28 -59 69t-44 68l-14 26zM780 161l38 145q22 15 44.5 34t46 44t40.5 44t41 50.5t33.5 43.5t33 44t24.5 34q-97 127 -140 175l39 146q67 -54 131.5 -125.5t87.5 -103.5t36 -52l26 -40l-26 -40 q-7 -12 -25.5 -38t-63.5 -79.5t-95.5 -102.5t-124 -100t-146.5 -79z" />
-<glyph unicode="&#xe107;" d="M-97.5 34q13.5 -34 50.5 -34h1294q37 0 50.5 35.5t-7.5 67.5l-642 1056q-20 33 -48 36t-48 -29l-642 -1066q-21 -32 -7.5 -66zM155 200l445 723l445 -723h-345v100h-200v-100h-345zM500 600l100 -300l100 300v100h-200v-100z" />
-<glyph unicode="&#xe108;" d="M100 262v41q0 20 11 44.5t26 38.5l363 325v339q0 62 44 106t106 44t106 -44t44 -106v-339l363 -325q15 -14 26 -38.5t11 -44.5v-41q0 -20 -12 -26.5t-29 5.5l-359 249v-263q100 -91 100 -113v-64q0 -21 -13 -29t-32 1l-94 78h-222l-94 -78q-19 -9 -32 -1t-13 29v64 q0 22 100 113v263l-359 -249q-17 -12 -29 -5.5t-12 26.5z" />
-<glyph unicode="&#xe109;" d="M0 50q0 -20 14.5 -35t35.5 -15h1000q21 0 35.5 15t14.5 35v750h-1100v-750zM0 900h1100v150q0 21 -14.5 35.5t-35.5 14.5h-150v100h-100v-100h-500v100h-100v-100h-150q-21 0 -35.5 -14.5t-14.5 -35.5v-150zM100 100v100h100v-100h-100zM100 300v100h100v-100h-100z M100 500v100h100v-100h-100zM300 100v100h100v-100h-100zM300 300v100h100v-100h-100zM300 500v100h100v-100h-100zM500 100v100h100v-100h-100zM500 300v100h100v-100h-100zM500 500v100h100v-100h-100zM700 100v100h100v-100h-100zM700 300v100h100v-100h-100zM700 500 v100h100v-100h-100zM900 100v100h100v-100h-100zM900 300v100h100v-100h-100zM900 500v100h100v-100h-100z" />
-<glyph unicode="&#xe110;" d="M0 200v200h259l600 600h241v198l300 -295l-300 -300v197h-159l-600 -600h-341zM0 800h259l122 -122l141 142l-181 180h-341v-200zM678 381l141 142l122 -123h159v198l300 -295l-300 -300v197h-241z" />
-<glyph unicode="&#xe111;" d="M0 400v600q0 41 29.5 70.5t70.5 29.5h1000q41 0 70.5 -29.5t29.5 -70.5v-600q0 -41 -29.5 -70.5t-70.5 -29.5h-596l-304 -300v300h-100q-41 0 -70.5 29.5t-29.5 70.5z" />
-<glyph unicode="&#xe112;" d="M100 600v200h300v-250q0 -113 6 -145q17 -92 102 -117q39 -11 92 -11q37 0 66.5 5.5t50 15.5t36 24t24 31.5t14 37.5t7 42t2.5 45t0 47v25v250h300v-200q0 -42 -3 -83t-15 -104t-31.5 -116t-58 -109.5t-89 -96.5t-129 -65.5t-174.5 -25.5t-174.5 25.5t-129 65.5t-89 96.5 t-58 109.5t-31.5 116t-15 104t-3 83zM100 900v300h300v-300h-300zM800 900v300h300v-300h-300z" />
-<glyph unicode="&#xe113;" d="M-30 411l227 -227l352 353l353 -353l226 227l-578 579z" />
-<glyph unicode="&#xe114;" d="M70 797l580 -579l578 579l-226 227l-353 -353l-352 353z" />
-<glyph unicode="&#xe115;" d="M-198 700l299 283l300 -283h-203v-400h385l215 -200h-800v600h-196zM402 1000l215 -200h381v-400h-198l299 -283l299 283h-200v600h-796z" />
-<glyph unicode="&#xe116;" d="M18 939q-5 24 10 42q14 19 39 19h896l38 162q5 17 18.5 27.5t30.5 10.5h94q20 0 35 -14.5t15 -35.5t-15 -35.5t-35 -14.5h-54l-201 -961q-2 -4 -6 -10.5t-19 -17.5t-33 -11h-31v-50q0 -20 -14.5 -35t-35.5 -15t-35.5 15t-14.5 35v50h-300v-50q0 -20 -14.5 -35t-35.5 -15 t-35.5 15t-14.5 35v50h-50q-21 0 -35.5 15t-14.5 35q0 21 14.5 35.5t35.5 14.5h535l48 200h-633q-32 0 -54.5 21t-27.5 43z" />
-<glyph unicode="&#xe117;" d="M0 0v800h1200v-800h-1200zM0 900v100h200q0 41 29.5 70.5t70.5 29.5h300q41 0 70.5 -29.5t29.5 -70.5h500v-100h-1200z" />
-<glyph unicode="&#xe118;" d="M1 0l300 700h1200l-300 -700h-1200zM1 400v600h200q0 41 29.5 70.5t70.5 29.5h300q41 0 70.5 -29.5t29.5 -70.5h500v-200h-1000z" />
-<glyph unicode="&#xe119;" d="M302 300h198v600h-198l298 300l298 -300h-198v-600h198l-298 -300z" />
-<glyph unicode="&#xe120;" d="M0 600l300 298v-198h600v198l300 -298l-300 -297v197h-600v-197z" />
-<glyph unicode="&#xe121;" d="M0 100v100q0 41 29.5 70.5t70.5 29.5h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5zM31 400l172 739q5 22 23 41.5t38 19.5h672q19 0 37.5 -22.5t23.5 -45.5l172 -732h-1138zM800 100h100v100h-100v-100z M1000 100h100v100h-100v-100z" />
-<glyph unicode="&#xe122;" d="M-101 600v50q0 24 25 49t50 38l25 13v-250l-11 5.5t-24 14t-30 21.5t-24 27.5t-11 31.5zM99 500v250v5q0 13 0.5 18.5t2.5 13t8 10.5t15 3h200l675 250v-850l-675 200h-38l47 -276q2 -12 -3 -17.5t-11 -6t-21 -0.5h-8h-83q-20 0 -34.5 14t-18.5 35q-56 337 -56 351z M1100 200v850q0 21 14.5 35.5t35.5 14.5q20 0 35 -14.5t15 -35.5v-850q0 -20 -15 -35t-35 -15q-21 0 -35.5 15t-14.5 35z" />
-<glyph unicode="&#xe123;" d="M74 350q0 21 13.5 35.5t33.5 14.5h17l118 173l63 327q15 77 76 140t144 83l-18 32q-6 19 3 32t29 13h94q20 0 29 -10.5t3 -29.5l-18 -37q83 -19 144 -82.5t76 -140.5l63 -327l118 -173h17q20 0 33.5 -14.5t13.5 -35.5q0 -20 -13 -40t-31 -27q-22 -9 -63 -23t-167.5 -37 t-251.5 -23t-245.5 20.5t-178.5 41.5l-58 20q-18 7 -31 27.5t-13 40.5zM497 110q12 -49 40 -79.5t63 -30.5t63 30.5t39 79.5q-48 -6 -102 -6t-103 6z" />
-<glyph unicode="&#xe124;" d="M21 445l233 -45l-78 -224l224 78l45 -233l155 179l155 -179l45 233l224 -78l-78 224l234 45l-180 155l180 156l-234 44l78 225l-224 -78l-45 233l-155 -180l-155 180l-45 -233l-224 78l78 -225l-233 -44l179 -156z" />
-<glyph unicode="&#xe125;" d="M0 200h200v600h-200v-600zM300 275q0 -75 100 -75h61q123 -100 139 -100h250q46 0 83 57l238 344q29 31 29 74v100q0 44 -30.5 84.5t-69.5 40.5h-328q28 118 28 125v150q0 44 -30.5 84.5t-69.5 40.5h-50q-27 0 -51 -20t-38 -48l-96 -198l-145 -196q-20 -26 -20 -63v-400z M400 300v375l150 212l100 213h50v-175l-50 -225h450v-125l-250 -375h-214l-136 100h-100z" />
-<glyph unicode="&#xe126;" d="M0 400v600h200v-600h-200zM300 525v400q0 75 100 75h61q123 100 139 100h250q46 0 83 -57l238 -344q29 -31 29 -74v-100q0 -44 -30.5 -84.5t-69.5 -40.5h-328q28 -118 28 -125v-150q0 -44 -30.5 -84.5t-69.5 -40.5h-50q-27 0 -51 20t-38 48l-96 198l-145 196 q-20 26 -20 63zM400 525l150 -212l100 -213h50v175l-50 225h450v125l-250 375h-214l-136 -100h-100v-375z" />
-<glyph unicode="&#xe127;" d="M8 200v600h200v-600h-200zM308 275v525q0 17 14 35.5t28 28.5l14 9l362 230q14 6 25 6q17 0 29 -12l109 -112q14 -14 14 -34q0 -18 -11 -32l-85 -121h302q85 0 138.5 -38t53.5 -110t-54.5 -111t-138.5 -39h-107l-130 -339q-7 -22 -20.5 -41.5t-28.5 -19.5h-341 q-7 0 -90 81t-83 94zM408 289l100 -89h293l131 339q6 21 19.5 41t28.5 20h203q16 0 25 15t9 36q0 20 -9 34.5t-25 14.5h-457h-6.5h-7.5t-6.5 0.5t-6 1t-5 1.5t-5.5 2.5t-4 4t-4 5.5q-5 12 -5 20q0 14 10 27l147 183l-86 83l-339 -236v-503z" />
-<glyph unicode="&#xe128;" d="M-101 651q0 72 54 110t139 37h302l-85 121q-11 16 -11 32q0 21 14 34l109 113q13 12 29 12q11 0 25 -6l365 -230q7 -4 16.5 -10.5t26 -26t16.5 -36.5v-526q0 -13 -85.5 -93.5t-93.5 -80.5h-342q-15 0 -28.5 20t-19.5 41l-131 339h-106q-84 0 -139 39t-55 111zM-1 601h222 q15 0 28.5 -20.5t19.5 -40.5l131 -339h293l106 89v502l-342 237l-87 -83l145 -184q10 -11 10 -26q0 -11 -5 -20q-1 -3 -3.5 -5.5l-4 -4t-5 -2.5t-5.5 -1.5t-6.5 -1t-6.5 -0.5h-7.5h-6.5h-476v-100zM999 201v600h200v-600h-200z" />
-<glyph unicode="&#xe129;" d="M97 719l230 -363q4 -6 10.5 -15.5t26 -25t36.5 -15.5h525q13 0 94 83t81 90v342q0 15 -20 28.5t-41 19.5l-339 131v106q0 84 -39 139t-111 55t-110 -53.5t-38 -138.5v-302l-121 84q-15 12 -33.5 11.5t-32.5 -13.5l-112 -110q-22 -22 -6 -53zM172 739l83 86l183 -146 q22 -18 47 -5q3 1 5.5 3.5l4 4t2.5 5t1.5 5.5t1 6.5t0.5 6v7.5v7v456q0 22 25 31t50 -0.5t25 -30.5v-202q0 -16 20 -29.5t41 -19.5l339 -130v-294l-89 -100h-503zM400 0v200h600v-200h-600z" />
-<glyph unicode="&#xe130;" d="M1 585q-15 -31 7 -53l112 -110q13 -13 32 -13.5t34 10.5l121 85l-1 -302q0 -84 38.5 -138t110.5 -54t111 55t39 139v106l339 131q20 6 40.5 19.5t20.5 28.5v342q0 7 -81 90t-94 83h-525q-17 0 -35.5 -14t-28.5 -28l-10 -15zM76 565l237 339h503l89 -100v-294l-340 -130 q-20 -6 -40 -20t-20 -29v-202q0 -22 -25 -31t-50 0t-25 31v456v14.5t-1.5 11.5t-5 12t-9.5 7q-24 13 -46 -5l-184 -146zM305 1104v200h600v-200h-600z" />
-<glyph unicode="&#xe131;" d="M5 597q0 122 47.5 232.5t127.5 190.5t190.5 127.5t232.5 47.5q162 0 299.5 -80t217.5 -218t80 -300t-80 -299.5t-217.5 -217.5t-299.5 -80t-300 80t-218 217.5t-80 299.5zM300 500h300l-2 -194l402 294l-402 298v-197h-298v-201z" />
-<glyph unicode="&#xe132;" d="M0 597q0 122 47.5 232.5t127.5 190.5t190.5 127.5t231.5 47.5q122 0 232.5 -47.5t190.5 -127.5t127.5 -190.5t47.5 -232.5q0 -162 -80 -299.5t-218 -217.5t-300 -80t-299.5 80t-217.5 217.5t-80 299.5zM200 600l400 -294v194h302v201h-300v197z" />
-<glyph unicode="&#xe133;" d="M5 597q0 122 47.5 232.5t127.5 190.5t190.5 127.5t232.5 47.5q121 0 231.5 -47.5t190.5 -127.5t127.5 -190.5t47.5 -232.5q0 -162 -80 -299.5t-217.5 -217.5t-299.5 -80t-300 80t-218 217.5t-80 299.5zM300 600h200v-300h200v300h200l-300 400z" />
-<glyph unicode="&#xe134;" d="M5 597q0 122 47.5 232.5t127.5 190.5t190.5 127.5t232.5 47.5q121 0 231.5 -47.5t190.5 -127.5t127.5 -190.5t47.5 -232.5q0 -162 -80 -299.5t-217.5 -217.5t-299.5 -80t-300 80t-218 217.5t-80 299.5zM300 600l300 -400l300 400h-200v300h-200v-300h-200z" />
-<glyph unicode="&#xe135;" d="M5 597q0 122 47.5 232.5t127.5 190.5t190.5 127.5t232.5 47.5q121 0 231.5 -47.5t190.5 -127.5t127.5 -190.5t47.5 -232.5q0 -162 -80 -299.5t-217.5 -217.5t-299.5 -80t-300 80t-218 217.5t-80 299.5zM254 780q-8 -34 5.5 -93t7.5 -87q0 -9 17 -44t16 -60q12 0 23 -5.5 t23 -15t20 -13.5q20 -10 108 -42q22 -8 53 -31.5t59.5 -38.5t57.5 -11q8 -18 -15 -55.5t-20 -57.5q12 -21 22.5 -34.5t28 -27t36.5 -17.5q0 -6 -3 -15.5t-3.5 -14.5t4.5 -17q101 -2 221 111q31 30 47 48t34 49t21 62q-14 9 -37.5 9.5t-35.5 7.5q-14 7 -49 15t-52 19 q-9 0 -39.5 -0.5t-46.5 -1.5t-39 -6.5t-39 -16.5q-50 -35 -66 -12q-4 2 -3.5 25.5t0.5 25.5q-6 13 -26.5 17t-24.5 7q2 22 -2 41t-16.5 28t-38.5 -20q-23 -25 -42 4q-19 28 -8 58q8 16 22 22q6 -1 26 -1.5t33.5 -4.5t19.5 -13q12 -19 32 -37.5t34 -27.5l14 -8q0 3 9.5 39.5 t5.5 57.5q-4 23 14.5 44.5t22.5 31.5q5 14 10 35t8.5 31t15.5 22.5t34 21.5q-6 18 10 37q8 0 23.5 -1.5t24.5 -1.5t20.5 4.5t20.5 15.5q-10 23 -30.5 42.5t-38 30t-49 26.5t-43.5 23q11 41 1 44q31 -13 58.5 -14.5t39.5 3.5l11 4q6 3
6 -17 53.5t-64 28.5t-56 23 q-19 -3 -37 0q-15 -12 -36.5 -21t-34.5 -12t-44 -8t-39 -6q-15 -3 -46 0t-45 -3q-20 -6 -51.5 -25.5t-34.5 -34.5q-3 -11 6.5 -22.5t8.5 -18.5q-3 -34 -27.5 -91t-29.5 -79zM518 915q3 12 16 30.5t16 25.5q10 -10 18.5 -10t14 6t14.5 14.5t16 12.5q0 -18 8 -42.5t16.5 -44 t9.5 -23.5q-6 1 -39 5t-53.5 10t-36.5 16z" />
-<glyph unicode="&#xe136;" d="M0 164.5q0 21.5 15 37.5l600 599q-33 101 6 201.5t135 154.5q164 92 306 -9l-259 -138l145 -232l251 126q13 -175 -151 -267q-123 -70 -253 -23l-596 -596q-15 -16 -36.5 -16t-36.5 16l-111 110q-15 15 -15 36.5z" />
-<glyph unicode="&#xe137;" horiz-adv-x="1220" d="M0 196v100q0 41 29.5 70.5t70.5 29.5h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5zM0 596v100q0 41 29.5 70.5t70.5 29.5h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000 q-41 0 -70.5 29.5t-29.5 70.5zM0 996v100q0 41 29.5 70.5t70.5 29.5h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5zM600 596h500v100h-500v-100zM800 196h300v100h-300v-100zM900 996h200v100h-200v-100z" />
-<glyph unicode="&#xe138;" d="M100 1100v100h1000v-100h-1000zM150 1000h900l-350 -500v-300l-200 -200v500z" />
-<glyph unicode="&#xe139;" d="M0 200v200h1200v-200q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5zM0 500v400q0 41 29.5 70.5t70.5 29.5h300v100q0 41 29.5 70.5t70.5 29.5h200q41 0 70.5 -29.5t29.5 -70.5v-100h300q41 0 70.5 -29.5t29.5 -70.5v-400h-500v100h-200v-100h-500z M500 1000h200v100h-200v-100z" />
-<glyph unicode="&#xe140;" d="M0 0v400l129 -129l200 200l142 -142l-200 -200l129 -129h-400zM0 800l129 129l200 -200l142 142l-200 200l129 129h-400v-400zM729 329l142 142l200 -200l129 129v-400h-400l129 129zM729 871l200 200l-129 129h400v-400l-129 129l-200 -200z" />
-<glyph unicode="&#xe141;" d="M0 596q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM182 596q0 -172 121.5 -293t292.5 -121t292.5 121t121.5 293q0 171 -121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM291 655 q0 23 15.5 38.5t38.5 15.5t39 -16t16 -38q0 -23 -16 -39t-39 -16q-22 0 -38 16t-16 39zM400 850q0 22 16 38.5t39 16.5q22 0 38 -16t16 -39t-16 -39t-38 -16q-23 0 -39 16.5t-16 38.5zM513 609q0 32 21 56.5t52 29.5l122 126l1 1q-9 14 -9 28q0 22 16 38.5t39 16.5 q22 0 38 -16t16 -39t-16 -39t-38 -16q-16 0 -29 10l-55 -145q17 -22 17 -51q0 -36 -25.5 -61.5t-61.5 -25.5q-37 0 -62.5 25.5t-25.5 61.5zM800 655q0 22 16 38t39 16t38.5 -15.5t15.5 -38.5t-16 -39t-38 -16q-23 0 -39 16t-16 39z" />
-<glyph unicode="&#xe142;" d="M-40 375q-13 -95 35 -173q35 -57 94 -89t129 -32q63 0 119 28q33 16 65 40.5t52.5 45.5t59.5 64q40 44 57 61l394 394q35 35 47 84t-3 96q-27 87 -117 104q-20 2 -29 2q-46 0 -79.5 -17t-67.5 -51l-388 -396l-7 -7l69 -67l377 373q20 22 39 38q23 23 50 23q38 0 53 -36 q16 -39 -20 -75l-547 -547q-52 -52 -125 -52q-55 0 -100 33t-54 96q-5 35 2.5 66t31.5 63t42 50t56 54q24 21 44 41l348 348q52 52 82.5 79.5t84 54t107.5 26.5q25 0 48 -4q95 -17 154 -94.5t51 -175.5q-7 -101 -98 -192l-252 -249l-253 -256l7 -7l69 -60l517 511 q67 67 95 157t11 183q-16 87 -67 154t-130 103q-69 33 -152 33q-107 0 -197 -55q-40 -24 -111 -95l-512 -512q-68 -68 -81 -163z" />
-<glyph unicode="&#xe143;" d="M79 784q0 131 99 229.5t230 98.5q144 0 242 -129q103 129 245 129q130 0 227 -98.5t97 -229.5q0 -46 -17.5 -91t-61 -99t-77 -89.5t-104.5 -105.5q-197 -191 -293 -322l-17 -23l-16 23q-43 58 -100 122.5t-92 99.5t-101 100l-84.5 84.5t-68 74t-60 78t-33.5 70.5t-15 78z M250 784q0 -27 30.5 -70t61.5 -75.5t95 -94.5l22 -22q93 -90 190 -201q82 92 195 203l12 12q64 62 97.5 97t64.5 79t31 72q0 71 -48 119.5t-106 48.5q-73 0 -131 -83l-118 -171l-114 174q-51 80 -124 80q-59 0 -108.5 -49.5t-49.5 -118.5z" />
-<glyph unicode="&#xe144;" d="M57 353q0 -94 66 -160l141 -141q66 -66 159 -66q95 0 159 66l283 283q66 66 66 159t-66 159l-141 141q-12 12 -19 17l-105 -105l212 -212l-389 -389l-247 248l95 95l-18 18q-46 45 -75 101l-55 -55q-66 -66 -66 -159zM269 706q0 -93 66 -159l141 -141l19 -17l105 105 l-212 212l389 389l247 -247l-95 -96l18 -18q46 -46 77 -99l29 29q35 35 62.5 88t27.5 96q0 93 -66 159l-141 141q-66 66 -159 66q-95 0 -159 -66l-283 -283q-66 -64 -66 -159z" />
-<glyph unicode="&#xe145;" d="M200 100v953q0 21 30 46t81 48t129 38t163 15t162 -15t127 -38t79 -48t29 -46v-953q0 -41 -29.5 -70.5t-70.5 -29.5h-600q-41 0 -70.5 29.5t-29.5 70.5zM300 300h600v700h-600v-700zM496 150q0 -43 30.5 -73.5t73.5 -30.5t73.5 30.5t30.5 73.5t-30.5 73.5t-73.5 30.5 t-73.5 -30.5t-30.5 -73.5z" />
-<glyph unicode="&#xe146;" d="M0 0l303 380l207 208l-210 212h300l267 279l-35 36q-15 14 -15 35t15 35q14 15 35 15t35 -15l283 -282q15 -15 15 -36t-15 -35q-14 -15 -35 -15t-35 15l-36 35l-279 -267v-300l-212 210l-208 -207z" />
-<glyph unicode="&#xe148;" d="M295 433h139q5 -77 48.5 -126.5t117.5 -64.5v335l-27 7q-46 14 -79 26.5t-72 36t-62.5 52t-40 72.5t-16.5 99q0 92 44 159.5t109 101t144 40.5v78h100v-79q38 -4 72.5 -13.5t75.5 -31.5t71 -53.5t51.5 -84t24.5 -118.5h-159q-8 72 -35 109.5t-101 50.5v-307l64 -14 q34 -7 64 -16.5t70 -31.5t67.5 -52t47.5 -80.5t20 -112.5q0 -139 -89 -224t-244 -96v-77h-100v78q-152 17 -237 104q-40 40 -52.5 93.5t-15.5 139.5zM466 889q0 -29 8 -51t16.5 -34t29.5 -22.5t31 -13.5t38 -10q7 -2 11 -3v274q-61 -8 -97.5 -37.5t-36.5 -102.5zM700 237 q170 18 170 151q0 64 -44 99.5t-126 60.5v-311z" />
-<glyph unicode="&#xe149;" d="M100 600v100h166q-24 49 -44 104q-10 26 -14.5 55.5t-3 72.5t25 90t68.5 87q97 88 263 88q129 0 230 -89t101 -208h-153q0 52 -34 89.5t-74 51.5t-76 14q-37 0 -79 -14.5t-62 -35.5q-41 -44 -41 -101q0 -11 2.5 -24.5t5.5 -24t9.5 -26.5t10.5 -25t14 -27.5t14 -25.5 t15.5 -27t13.5 -24h242v-100h-197q8 -50 -2.5 -115t-31.5 -94q-41 -59 -99 -113q35 11 84 18t70 7q32 1 102 -16t104 -17q76 0 136 30l50 -147q-41 -25 -80.5 -36.5t-59 -13t-61.5 -1.5q-23 0 -128 33t-155 29q-39 -4 -82 -17t-66 -25l-24 -11l-55 145l16.5 11t15.5 10 t13.5 9.5t14.5 12t14.5 14t17.5 18.5q48 55 54 126.5t-30 142.5h-221z" />
-<glyph unicode="&#xe150;" d="M2 300l298 -300l298 300h-198v900h-200v-900h-198zM602 900l298 300l298 -300h-198v-900h-200v900h-198z" />
-<glyph unicode="&#xe151;" d="M2 300h198v900h200v-900h198l-298 -300zM700 0v200h100v-100h200v-100h-300zM700 400v100h300v-200h-99v-100h-100v100h99v100h-200zM700 700v500h300v-500h-100v100h-100v-100h-100zM801 900h100v200h-100v-200z" />
-<glyph unicode="&#xe152;" d="M2 300h198v900h200v-900h198l-298 -300zM700 0v500h300v-500h-100v100h-100v-100h-100zM700 700v200h100v-100h200v-100h-300zM700 1100v100h300v-200h-99v-100h-100v100h99v100h-200zM801 200h100v200h-100v-200z" />
-<glyph unicode="&#xe153;" d="M2 300l298 -300l298 300h-198v900h-200v-900h-198zM800 100v400h300v-500h-100v100h-200zM800 1100v100h200v-500h-100v400h-100zM901 200h100v200h-100v-200z" />
-<glyph unicode="&#xe154;" d="M2 300l298 -300l298 300h-198v900h-200v-900h-198zM800 400v100h200v-500h-100v400h-100zM800 800v400h300v-500h-100v100h-200zM901 900h100v200h-100v-200z" />
-<glyph unicode="&#xe155;" d="M2 300l298 -300l298 300h-198v900h-200v-900h-198zM700 100v200h500v-200h-500zM700 400v200h400v-200h-400zM700 700v200h300v-200h-300zM700 1000v200h200v-200h-200z" />
-<glyph unicode="&#xe156;" d="M2 300l298 -300l298 300h-198v900h-200v-900h-198zM700 100v200h200v-200h-200zM700 400v200h300v-200h-300zM700 700v200h400v-200h-400zM700 1000v200h500v-200h-500z" />
-<glyph unicode="&#xe157;" d="M0 400v300q0 165 117.5 282.5t282.5 117.5h300q162 0 281 -118.5t119 -281.5v-300q0 -165 -118.5 -282.5t-281.5 -117.5h-300q-165 0 -282.5 117.5t-117.5 282.5zM200 300q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v500q0 41 -29.5 70.5t-70.5 29.5 h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500z" />
-<glyph unicode="&#xe158;" d="M0 400v300q0 163 119 281.5t281 118.5h300q165 0 282.5 -117.5t117.5 -282.5v-300q0 -165 -117.5 -282.5t-282.5 -117.5h-300q-163 0 -281.5 117.5t-118.5 282.5zM200 300q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v500q0 41 -29.5 70.5t-70.5 29.5 h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500zM400 300l333 250l-333 250v-500z" />
-<glyph unicode="&#xe159;" d="M0 400v300q0 163 117.5 281.5t282.5 118.5h300q163 0 281.5 -119t118.5 -281v-300q0 -165 -117.5 -282.5t-282.5 -117.5h-300q-165 0 -282.5 117.5t-117.5 282.5zM200 300q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v500q0 41 -29.5 70.5t-70.5 29.5 h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500zM300 700l250 -333l250 333h-500z" />
-<glyph unicode="&#xe160;" d="M0 400v300q0 165 117.5 282.5t282.5 117.5h300q165 0 282.5 -117.5t117.5 -282.5v-300q0 -162 -118.5 -281t-281.5 -119h-300q-165 0 -282.5 118.5t-117.5 281.5zM200 300q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v500q0 41 -29.5 70.5t-70.5 29.5 h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500zM300 400h500l-250 333z" />
-<glyph unicode="&#xe161;" d="M0 400v300h300v200l400 -350l-400 -350v200h-300zM500 0v200h500q41 0 70.5 29.5t29.5 70.5v500q0 41 -29.5 70.5t-70.5 29.5h-500v200h400q165 0 282.5 -117.5t117.5 -282.5v-300q0 -165 -117.5 -282.5t-282.5 -117.5h-400z" />
-<glyph unicode="&#xe162;" d="M216 519q10 -19 32 -19h302q-155 -438 -160 -458q-5 -21 4 -32l9 -8l9 -1q13 0 26 16l538 630q15 19 6 36q-8 18 -32 16h-300q1 4 78 219.5t79 227.5q2 17 -6 27l-8 8h-9q-16 0 -25 -15q-4 -5 -98.5 -111.5t-228 -257t-209.5 -238.5q-17 -19 -7 -40z" />
-<glyph unicode="&#xe163;" d="M0 400q0 -165 117.5 -282.5t282.5 -117.5h300q47 0 100 15v185h-500q-41 0 -70.5 29.5t-29.5 70.5v500q0 41 29.5 70.5t70.5 29.5h500v185q-14 4 -114 7.5t-193 5.5l-93 2q-165 0 -282.5 -117.5t-117.5 -282.5v-300zM600 400v300h300v200l400 -350l-400 -350v200h-300z " />
-<glyph unicode="&#xe164;" d="M0 400q0 -165 117.5 -282.5t282.5 -117.5h300q163 0 281.5 117.5t118.5 282.5v98l-78 73l-122 -123v-148q0 -41 -29.5 -70.5t-70.5 -29.5h-500q-41 0 -70.5 29.5t-29.5 70.5v500q0 41 29.5 70.5t70.5 29.5h156l118 122l-74 78h-100q-165 0 -282.5 -117.5t-117.5 -282.5 v-300zM496 709l353 342l-149 149h500v-500l-149 149l-342 -353z" />
-<glyph unicode="&#xe165;" d="M4 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM186 600q0 -171 121.5 -292.5t292.5 -121.5t292.5 121.5t121.5 292.5t-121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM406 600 q0 80 57 137t137 57t137 -57t57 -137t-57 -137t-137 -57t-137 57t-57 137z" />
-<glyph unicode="&#xe166;" d="M0 0v275q0 11 7 18t18 7h1048q11 0 19 -7.5t8 -17.5v-275h-1100zM100 800l445 -500l450 500h-295v400h-300v-400h-300zM900 150h100v50h-100v-50z" />
-<glyph unicode="&#xe167;" d="M0 0v275q0 11 7 18t18 7h1048q11 0 19 -7.5t8 -17.5v-275h-1100zM100 700h300v-300h300v300h295l-445 500zM900 150h100v50h-100v-50z" />
-<glyph unicode="&#xe168;" d="M0 0v275q0 11 7 18t18 7h1048q11 0 19 -7.5t8 -17.5v-275h-1100zM100 705l305 -305l596 596l-154 155l-442 -442l-150 151zM900 150h100v50h-100v-50z" />
-<glyph unicode="&#xe169;" d="M0 0v275q0 11 7 18t18 7h1048q11 0 19 -7.5t8 -17.5v-275h-1100zM100 988l97 -98l212 213l-97 97zM200 401h700v699l-250 -239l-149 149l-212 -212l149 -149zM900 150h100v50h-100v-50z" />
-<glyph unicode="&#xe170;" d="M0 0v275q0 11 7 18t18 7h1048q11 0 19 -7.5t8 -17.5v-275h-1100zM200 612l212 -212l98 97l-213 212zM300 1200l239 -250l-149 -149l212 -212l149 148l248 -237v700h-699zM900 150h100v50h-100v-50z" />
-<glyph unicode="&#xe171;" d="M23 415l1177 784v-1079l-475 272l-310 -393v416h-392zM494 210l672 938l-672 -712v-226z" />
-<glyph unicode="&#xe172;" d="M0 150v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100l200 -200v-850q0 -21 -15 -35.5t-35 -14.5h-150v400h-700v-400h-150q-21 0 -35.5 14.5t-14.5 35.5zM600 1000h100v200h-100v-200z" />
-<glyph unicode="&#xe173;" d="M0 150v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100l200 -200v-218l-276 -275l-120 120l-126 -127h-378v-400h-150q-21 0 -35.5 14.5t-14.5 35.5zM581 306l123 123l120 -120l353 352l123 -123l-475 -476zM600 1000h100v200h-100v-200z" />
-<glyph unicode="&#xe174;" d="M0 150v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100l200 -200v-269l-103 -103l-170 170l-298 -298h-329v-400h-150q-21 0 -35.5 14.5t-14.5 35.5zM600 1000h100v200h-100v-200zM700 133l170 170l-170 170l127 127l170 -170l170 170l127 -128l-170 -169l170 -170 l-127 -127l-170 170l-170 -170z" />
-<glyph unicode="&#xe175;" d="M0 150v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100l200 -200v-300h-400v-200h-500v-400h-150q-21 0 -35.5 14.5t-14.5 35.5zM600 300l300 -300l300 300h-200v300h-200v-300h-200zM600 1000v200h100v-200h-100z" />
-<glyph unicode="&#xe176;" d="M0 150v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100l200 -200v-402l-200 200l-298 -298h-402v-400h-150q-21 0 -35.5 14.5t-14.5 35.5zM600 300h200v-300h200v300h200l-300 300zM600 1000v200h100v-200h-100z" />
-<glyph unicode="&#xe177;" d="M0 250q0 -21 14.5 -35.5t35.5 -14.5h1100q21 0 35.5 14.5t14.5 35.5v550h-1200v-550zM0 900h1200v150q0 21 -14.5 35.5t-35.5 14.5h-1100q-21 0 -35.5 -14.5t-14.5 -35.5v-150zM100 300v200h400v-200h-400z" />
-<glyph unicode="&#xe178;" d="M0 400l300 298v-198h400v-200h-400v-198zM100 800v200h100v-200h-100zM300 800v200h100v-200h-100zM500 800v200h400v198l300 -298l-300 -298v198h-400zM800 300v200h100v-200h-100zM1000 300h100v200h-100v-200z" />
-<glyph unicode="&#xe179;" d="M100 700v400l50 100l50 -100v-300h100v300l50 100l50 -100v-300h100v300l50 100l50 -100v-400l-100 -203v-447q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v447zM800 597q0 -29 10.5 -55.5t25 -43t29 -28.5t25.5 -18l10 -5v-397q0 -21 14.5 -35.5 t35.5 -14.5h200q21 0 35.5 14.5t14.5 35.5v1106q0 31 -18 40.5t-44 -7.5l-276 -117q-25 -16 -43.5 -50.5t-18.5 -65.5v-359z" />
-<glyph unicode="&#xe180;" d="M100 0h400v56q-75 0 -87.5 6t-12.5 44v394h500v-394q0 -38 -12.5 -44t-87.5 -6v-56h400v56q-4 0 -11 0.5t-24 3t-30 7t-24 15t-11 24.5v888q0 22 25 34.5t50 13.5l25 2v56h-400v-56q75 0 87.5 -6t12.5 -44v-394h-500v394q0 38 12.5 44t87.5 6v56h-400v-56q4 0 11 -0.5 t24 -3t30 -7t24 -15t11 -24.5v-888q0 -22 -25 -34.5t-50 -13.5l-25 -2v-56z" />
-<glyph unicode="&#xe181;" d="M0 300q0 -41 29.5 -70.5t70.5 -29.5h300q41 0 70.5 29.5t29.5 70.5v500q0 41 -29.5 70.5t-70.5 29.5h-300q-41 0 -70.5 -29.5t-29.5 -70.5v-500zM100 100h400l200 200h105l295 98v-298h-425l-100 -100h-375zM100 300v200h300v-200h-300zM100 600v200h300v-200h-300z M100 1000h400l200 -200v-98l295 98h105v200h-425l-100 100h-375zM700 402v163l400 133v-163z" />
-<glyph unicode="&#xe182;" d="M16.5 974.5q0.5 -21.5 16 -90t46.5 -140t104 -177.5t175 -208q103 -103 207.5 -176t180 -103.5t137 -47t92.5 -16.5l31 1l163 162q16 17 13 40.5t-22 37.5l-192 136q-19 14 -45 12t-42 -19l-119 -118q-143 103 -267 227q-126 126 -227 268l118 118q17 17 20 41.5 t-11 44.5l-139 194q-14 19 -36.5 22t-40.5 -14l-162 -162q-1 -11 -0.5 -32.5z" />
-<glyph unicode="&#xe183;" d="M0 50v212q0 20 10.5 45.5t24.5 39.5l365 303v50q0 4 1 10.5t12 22.5t30 28.5t60 23t97 10.5t97 -10t60 -23.5t30 -27.5t12 -24l1 -10v-50l365 -303q14 -14 24.5 -39.5t10.5 -45.5v-212q0 -21 -15 -35.5t-35 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5zM0 712 q0 -21 14.5 -33.5t34.5 -8.5l202 33q20 4 34.5 21t14.5 38v146q141 24 300 24t300 -24v-146q0 -21 14.5 -38t34.5 -21l202 -33q20 -4 34.5 8.5t14.5 33.5v200q-6 8 -19 20.5t-63 45t-112 57t-171 45t-235 20.5q-92 0 -175 -10.5t-141.5 -27t-108.5 -36.5t-81.5 -40 t-53.5 -36.5t-31 -27.5l-9 -10v-200z" />
-<glyph unicode="&#xe184;" d="M100 0v100h1100v-100h-1100zM175 200h950l-125 150v250l100 100v400h-100v-200h-100v200h-200v-200h-100v200h-200v-200h-100v200h-100v-400l100 -100v-250z" />
-<glyph unicode="&#xe185;" d="M100 0h300v400q0 41 -29.5 70.5t-70.5 29.5h-100q-41 0 -70.5 -29.5t-29.5 -70.5v-400zM500 0v1000q0 41 29.5 70.5t70.5 29.5h100q41 0 70.5 -29.5t29.5 -70.5v-1000h-300zM900 0v700q0 41 29.5 70.5t70.5 29.5h100q41 0 70.5 -29.5t29.5 -70.5v-700h-300z" />
-<glyph unicode="&#xe186;" d="M-100 300v500q0 124 88 212t212 88h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212zM100 200h900v700h-900v-700zM200 300h300v300h-200v100h200v100h-300v-300h200v-100h-200v-100zM600 300h200v100h100v300h-100v100h-200v-500 zM700 400v300h100v-300h-100z" />
-<glyph unicode="&#xe187;" d="M-100 300v500q0 124 88 212t212 88h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212zM100 200h900v700h-900v-700zM200 300h100v200h100v-200h100v500h-100v-200h-100v200h-100v-500zM600 300h200v100h100v300h-100v100h-200v-500 zM700 400v300h100v-300h-100z" />
-<glyph unicode="&#xe188;" d="M-100 300v500q0 124 88 212t212 88h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212zM100 200h900v700h-900v-700zM200 300h300v100h-200v300h200v100h-300v-500zM600 300h300v100h-200v300h200v100h-300v-500z" />
-<glyph unicode="&#xe189;" d="M-100 300v500q0 124 88 212t212 88h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212zM100 200h900v700h-900v-700zM200 550l300 -150v300zM600 400l300 150l-300 150v-300z" />
-<glyph unicode="&#xe190;" d="M-100 300v500q0 124 88 212t212 88h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212zM100 200h900v700h-900v-700zM200 300v500h700v-500h-700zM300 400h130q41 0 68 42t27 107t-28.5 108t-66.5 43h-130v-300zM575 549 q0 -65 27 -107t68 -42h130v300h-130q-38 0 -66.5 -43t-28.5 -108z" />
-<glyph unicode="&#xe191;" d="M-100 300v500q0 124 88 212t212 88h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212zM100 200h900v700h-900v-700zM200 300h300v300h-200v100h200v100h-300v-300h200v-100h-200v-100zM601 300h100v100h-100v-100zM700 700h100 v-400h100v500h-200v-100z" />
-<glyph unicode="&#xe192;" d="M-100 300v500q0 124 88 212t212 88h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212zM100 200h900v700h-900v-700zM200 300h300v400h-200v100h-100v-500zM301 400v200h100v-200h-100zM601 300h100v100h-100v-100zM700 700h100 v-400h100v500h-200v-100z" />
-<glyph unicode="&#xe193;" d="M-100 300v500q0 124 88 212t212 88h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212zM100 200h900v700h-900v-700zM200 700v100h300v-300h-99v-100h-100v100h99v200h-200zM201 300v100h100v-100h-100zM601 300v100h100v-100h-100z M700 700v100h200v-500h-100v400h-100z" />
-<glyph unicode="&#xe194;" d="M4 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM186 600q0 -171 121.5 -292.5t292.5 -121.5t292.5 121.5t121.5 292.5t-121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM400 500v200 l100 100h300v-100h-300v-200h300v-100h-300z" />
-<glyph unicode="&#xe195;" d="M0 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM182 600q0 -171 121.5 -292.5t292.5 -121.5t292.5 121.5t121.5 292.5t-121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM400 400v400h300 l100 -100v-100h-100v100h-200v-100h200v-100h-200v-100h-100zM700 400v100h100v-100h-100z" />
-<glyph unicode="&#xe197;" d="M-14 494q0 -80 56.5 -137t135.5 -57h222v300h400v-300h128q120 0 205 86t85 208q0 120 -85 206.5t-205 86.5q-46 0 -90 -14q-44 97 -134.5 156.5t-200.5 59.5q-152 0 -260 -107.5t-108 -260.5q0 -25 2 -37q-66 -14 -108.5 -67.5t-42.5 -122.5zM300 200h200v300h200v-300 h200l-300 -300z" />
-<glyph unicode="&#xe198;" d="M-14 494q0 -80 56.5 -137t135.5 -57h8l414 414l403 -403q94 26 154.5 104t60.5 178q0 121 -85 207.5t-205 86.5q-46 0 -90 -14q-44 97 -134.5 156.5t-200.5 59.5q-152 0 -260 -107.5t-108 -260.5q0 -25 2 -37q-66 -14 -108.5 -67.5t-42.5 -122.5zM300 200l300 300 l300 -300h-200v-300h-200v300h-200z" />
-<glyph unicode="&#xe199;" d="M100 200h400v-155l-75 -45h350l-75 45v155h400l-270 300h170l-270 300h170l-300 333l-300 -333h170l-270 -300h170z" />
-<glyph unicode="&#xe200;" d="M121 700q0 -53 28.5 -97t75.5 -65q-4 -16 -4 -38q0 -74 52.5 -126.5t126.5 -52.5q56 0 100 30v-306l-75 -45h350l-75 45v306q46 -30 100 -30q74 0 126.5 52.5t52.5 126.5q0 24 -9 55q50 32 79.5 83t29.5 112q0 90 -61.5 155.5t-150.5 71.5q-26 89 -99.5 145.5 t-167.5 56.5q-116 0 -197.5 -81.5t-81.5 -197.5q0 -4 1 -12t1 -11q-14 2 -23 2q-74 0 -126.5 -52.5t-52.5 -126.5z" />
-</font>
-</defs></svg>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/assets/themes/mahout/bootstrap/fonts/glyphicons-halflings-regular.ttf
----------------------------------------------------------------------
diff --git a/website-old/assets/themes/mahout/bootstrap/fonts/glyphicons-halflings-regular.ttf b/website-old/assets/themes/mahout/bootstrap/fonts/glyphicons-halflings-regular.ttf
deleted file mode 100644
index a498ef4..0000000
Binary files a/website-old/assets/themes/mahout/bootstrap/fonts/glyphicons-halflings-regular.ttf and /dev/null differ

http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/assets/themes/mahout/bootstrap/fonts/glyphicons-halflings-regular.woff
----------------------------------------------------------------------
diff --git a/website-old/assets/themes/mahout/bootstrap/fonts/glyphicons-halflings-regular.woff b/website-old/assets/themes/mahout/bootstrap/fonts/glyphicons-halflings-regular.woff
deleted file mode 100644
index d83c539..0000000
Binary files a/website-old/assets/themes/mahout/bootstrap/fonts/glyphicons-halflings-regular.woff and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/assets/themes/mahout/bootstrap/img/glyphicons-halflings-white.png b/website-old/assets/themes/mahout/bootstrap/img/glyphicons-halflings-white.png
deleted file mode 100644
index 3bf6484..0000000
Binary files a/website-old/assets/themes/mahout/bootstrap/img/glyphicons-halflings-white.png and /dev/null differ

Loading Image...
----------------------------------------------------------------------
diff --git a/website-old/assets/themes/mahout/bootstrap/img/glyphicons-halflings.png b/website-old/assets/themes/mahout/bootstrap/img/glyphicons-halflings.png
deleted file mode 100644
index a996999..0000000
Binary files a/website-old/assets/themes/mahout/bootstrap/img/glyphicons-halflings.png and /dev/null differ
a***@apache.org
2017-12-21 04:53:00 UTC
Permalink
http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/assets/themes/mahout3/css/bootstrap.min.css
----------------------------------------------------------------------
diff --git a/website-old/assets/themes/mahout3/css/bootstrap.min.css b/website-old/assets/themes/mahout3/css/bootstrap.min.css
deleted file mode 100644
index c547283..0000000
--- a/website-old/assets/themes/mahout3/css/bootstrap.min.css
+++ /dev/null
@@ -1,7 +0,0 @@
-/*!
- * Bootstrap v3.0.3 (http://getbootstrap.com)
- * Copyright 2013 Twitter, Inc.
- * Licensed under http://www.apache.org/licenses/LICENSE-2.0
- */
-
-/*! normalize.css v2.1.3 | MIT License | git.io/normalize */article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}audio,canvas,video{display:inline-block}audio:not([controls]){display:none;height:0}[hidden],template{display:none}html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}a{background:transparent}a:focus{outline:thin dotted}a:active,a:hover{outline:0}h1{margin:.67em 0;font-size:2em}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:bold}dfn{font-style:italic}hr{height:0;-moz-box-sizing:content-box;box-sizing:content-box}mark{color:#000;background:#ff0}code,kbd,pre,samp{font-family:monospace,serif;font-size:1em}pre{white-space:pre-wrap}q{quotes:"\201C" "\201D" "\2018" "\2019"}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:0}fieldset{paddi
ng:.35em .625em .75em;margin:0 2px;border:1px solid #c0c0c0}legend{padding:0;border:0}button,input,select,textarea{margin:0;font-family:inherit;font-size:100%}button,input{line-height:normal}button,select{text-transform:none}button,html input[type="button"],input[type="reset"],input[type="submit"]{cursor:pointer;-webkit-appearance:button}button[disabled],html input[disabled]{cursor:default}input[type="checkbox"],input[type="radio"]{padding:0;box-sizing:border-box}input[type="search"]{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}textarea{overflow:auto;vertical-align:top}table{border-collapse:collapse;border-spacing:0}@media print{*{color:#000!important;text-shadow:none!important;background:transparent!important;box-shadow:none!impo
rtant}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="javascript:"]:after,a[href^="#"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100%!important}@page{margin:2cm .5cm}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}select{background:#fff!important}.navbar{display:none}.table td,.table th{background-color:#fff!important}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}.label{border:1px solid #000}.table{border-collapse:collapse!important}.table-bordered th,.table-bordered td{border:1px solid #ddd!important}}*,*:before,*:after{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:62.5%;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.428571429;
color:#333;background-color:#fff}input,button,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#428bca;text-decoration:none}a:hover,a:focus{color:#2a6496;text-decoration:underline}a:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}img{vertical-align:middle}.img-responsive{display:block;height:auto;max-width:100%}.img-rounded{border-radius:6px}.img-thumbnail{display:inline-block;height:auto;max-width:100%;padding:4px;line-height:1.428571429;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:500;line-height:1.1;co
lor:inherit}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small,.h1 small,.h2 small,.h3 small,.h4 small,.h5 small,.h6 small,h1 .small,h2 .small,h3 .small,h4 .small,h5 .small,h6 .small,.h1 .small,.h2 .small,.h3 .small,.h4 .small,.h5 .small,.h6 .small{font-weight:normal;line-height:1;color:#999}h1,h2,h3{margin-top:20px;margin-bottom:10px}h1 small,h2 small,h3 small,h1 .small,h2 .small,h3 .small{font-size:65%}h4,h5,h6{margin-top:10px;margin-bottom:10px}h4 small,h5 small,h6 small,h4 .small,h5 .small,h6 .small{font-size:75%}h1,.h1{font-size:36px}h2,.h2{font-size:30px}h3,.h3{font-size:24px}h4,.h4{font-size:18px}h5,.h5{font-size:14px}h6,.h6{font-size:12px}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16px;font-weight:200;line-height:1.4}@media(min-width:768px){.lead{font-size:21px}}small,.small{font-size:85%}cite{font-style:normal}.text-muted{color:#999}.text-primary{color:#428bca}.text-primary:hover{color:#3071a9}.text-warning{color:#8a6d3b}.text-warning:hover{color:#66512c}.text-
danger{color:#a94442}.text-danger:hover{color:#843534}.text-success{color:#3c763d}.text-success:hover{color:#2b542c}.text-info{color:#31708f}.text-info:hover{color:#245269}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}ul,ol{margin-top:0;margin-bottom:10px}ul ul,ol ul,ul ol,ol ol{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}.list-inline>li:first-child{padding-left:0}dl{margin-top:0;margin-bottom:20px}dt,dd{line-height:1.428571429}dt{font-weight:bold}dd{margin-left:0}@media(min-width:768px){.dl-horizontal dt{float:left;width:160px;overflow:hidden;clear:left;text-align:right;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}.dl-horizontal dd:before,.dl-horizontal dd:after{display:table;content:" "}.dl-horizon
tal dd:after{clear:both}.dl-horizontal dd:before,.dl-horizontal dd:after{display:table;content:" "}.dl-horizontal dd:after{clear:both}}abbr[title],abbr[data-original-title]{cursor:help;border-bottom:1px dotted #999}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10px 20px;margin:0 0 20px;border-left:5px solid #eee}blockquote p{font-size:17.5px;font-weight:300;line-height:1.25}blockquote p:last-child{margin-bottom:0}blockquote small,blockquote .small{display:block;line-height:1.428571429;color:#999}blockquote small:before,blockquote .small:before{content:'\2014 \00A0'}blockquote.pull-right{padding-right:15px;padding-left:0;border-right:5px solid #eee;border-left:0}blockquote.pull-right p,blockquote.pull-right small,blockquote.pull-right .small{text-align:right}blockquote.pull-right small:before,blockquote.pull-right .small:before{content:''}blockquote.pull-right small:after,blockquote.pull-right .small:after{content:'\00A0 \2014'}blockquote:before,blockquote:aft
er{content:""}address{margin-bottom:20px;font-style:normal;line-height:1.428571429}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;white-space:nowrap;background-color:#f9f2f4;border-radius:4px}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.428571429;color:#333;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.container:before,.container:after{display:table;content:" "}.container:after{clear:both}.container:before,.container:after{display:table;content:" "}.container:after{clear:both}@media(min-width:768px){.container{width:750px}}@media(min-width:992px){.container{width:970p
x}}@media(min-width:1200px){.container{width:1170px}}.row{margin-right:-15px;margin-left:-15px}.row:before,.row:after{display:table;content:" "}.row:after{clear:both}.row:before,.row:after{display:table;content:" "}.row:after{clear:both}.col-xs-1,.col-sm-1,.col-md-1,.col-lg-1,.col-xs-2,.col-sm-2,.col-md-2,.col-lg-2,.col-xs-3,.col-sm-3,.col-md-3,.col-lg-3,.col-xs-4,.col-sm-4,.col-md-4,.col-lg-4,.col-xs-5,.col-sm-5,.col-md-5,.col-lg-5,.col-xs-6,.col-sm-6,.col-md-6,.col-lg-6,.col-xs-7,.col-sm-7,.col-md-7,.col-lg-7,.col-xs-8,.col-sm-8,.col-md-8,.col-lg-8,.col-xs-9,.col-sm-9,.col-md-9,.col-lg-9,.col-xs-10,.col-sm-10,.col-md-10,.col-lg-10,.col-xs-11,.col-sm-11,.col-md-11,.col-lg-11,.col-xs-12,.col-sm-12,.col-md-12,.col-lg-12{position:relative;min-height:1px;padding-right:15px;padding-left:15px}.col-xs-1,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9,.col-xs-10,.col-xs-11,.col-xs-12{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666666666666%}.col-x
s-10{width:83.33333333333334%}.col-xs-9{width:75%}.col-xs-8{width:66.66666666666666%}.col-xs-7{width:58.333333333333336%}.col-xs-6{width:50%}.col-xs-5{width:41.66666666666667%}.col-xs-4{width:33.33333333333333%}.col-xs-3{width:25%}.col-xs-2{width:16.666666666666664%}.col-xs-1{width:8.333333333333332%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666666666666%}.col-xs-pull-10{right:83.33333333333334%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666666666666%}.col-xs-pull-7{right:58.333333333333336%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666666666667%}.col-xs-pull-4{right:33.33333333333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.666666666666664%}.col-xs-pull-1{right:8.333333333333332%}.col-xs-pull-0{right:0}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666666666666%}.col-xs-push-10{left:83.33333333333334%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666666666666%}.col-xs-push-7{left:58.333333333333336%}.col-xs-push-6{left:50%}.col-xs-push-
5{left:41.66666666666667%}.col-xs-push-4{left:33.33333333333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.666666666666664%}.col-xs-push-1{left:8.333333333333332%}.col-xs-push-0{left:0}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666666666666%}.col-xs-offset-10{margin-left:83.33333333333334%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666666666666%}.col-xs-offset-7{margin-left:58.333333333333336%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666666666667%}.col-xs-offset-4{margin-left:33.33333333333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.666666666666664%}.col-xs-offset-1{margin-left:8.333333333333332%}.col-xs-offset-0{margin-left:0}@media(min-width:768px){.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11,.col-sm-12{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666666666666%}.col-sm-10{width:83.33333333333334%}.c
ol-sm-9{width:75%}.col-sm-8{width:66.66666666666666%}.col-sm-7{width:58.333333333333336%}.col-sm-6{width:50%}.col-sm-5{width:41.66666666666667%}.col-sm-4{width:33.33333333333333%}.col-sm-3{width:25%}.col-sm-2{width:16.666666666666664%}.col-sm-1{width:8.333333333333332%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666666666666%}.col-sm-pull-10{right:83.33333333333334%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666666666666%}.col-sm-pull-7{right:58.333333333333336%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666666666667%}.col-sm-pull-4{right:33.33333333333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.666666666666664%}.col-sm-pull-1{right:8.333333333333332%}.col-sm-pull-0{right:0}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666666666666%}.col-sm-push-10{left:83.33333333333334%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666666666666%}.col-sm-push-7{left:58.333333333333336%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666666666667%}.col-s
m-push-4{left:33.33333333333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.666666666666664%}.col-sm-push-1{left:8.333333333333332%}.col-sm-push-0{left:0}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666666666666%}.col-sm-offset-10{margin-left:83.33333333333334%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666666666666%}.col-sm-offset-7{margin-left:58.333333333333336%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666666666667%}.col-sm-offset-4{margin-left:33.33333333333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.666666666666664%}.col-sm-offset-1{margin-left:8.333333333333332%}.col-sm-offset-0{margin-left:0}}@media(min-width:992px){.col-md-1,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-10,.col-md-11,.col-md-12{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666666666666%}.col-md-10{width:83.33333333333334%}.col-md-9{width:75%}.col-md-8{wid
th:66.66666666666666%}.col-md-7{width:58.333333333333336%}.col-md-6{width:50%}.col-md-5{width:41.66666666666667%}.col-md-4{width:33.33333333333333%}.col-md-3{width:25%}.col-md-2{width:16.666666666666664%}.col-md-1{width:8.333333333333332%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666666666666%}.col-md-pull-10{right:83.33333333333334%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666666666666%}.col-md-pull-7{right:58.333333333333336%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666666666667%}.col-md-pull-4{right:33.33333333333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.666666666666664%}.col-md-pull-1{right:8.333333333333332%}.col-md-pull-0{right:0}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666666666666%}.col-md-push-10{left:83.33333333333334%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666666666666%}.col-md-push-7{left:58.333333333333336%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666666666667%}.col-md-push-4{left:33.33333333333333
%}.col-md-push-3{left:25%}.col-md-push-2{left:16.666666666666664%}.col-md-push-1{left:8.333333333333332%}.col-md-push-0{left:0}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666666666666%}.col-md-offset-10{margin-left:83.33333333333334%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666666666666%}.col-md-offset-7{margin-left:58.333333333333336%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666666666667%}.col-md-offset-4{margin-left:33.33333333333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.666666666666664%}.col-md-offset-1{margin-left:8.333333333333332%}.col-md-offset-0{margin-left:0}}@media(min-width:1200px){.col-lg-1,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-10,.col-lg-11,.col-lg-12{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666666666666%}.col-lg-10{width:83.33333333333334%}.col-lg-9{width:75%}.col-lg-8{width:66.66666666666666%}.col-lg-
7{width:58.333333333333336%}.col-lg-6{width:50%}.col-lg-5{width:41.66666666666667%}.col-lg-4{width:33.33333333333333%}.col-lg-3{width:25%}.col-lg-2{width:16.666666666666664%}.col-lg-1{width:8.333333333333332%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666666666666%}.col-lg-pull-10{right:83.33333333333334%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666666666666%}.col-lg-pull-7{right:58.333333333333336%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666666666667%}.col-lg-pull-4{right:33.33333333333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.666666666666664%}.col-lg-pull-1{right:8.333333333333332%}.col-lg-pull-0{right:0}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666666666666%}.col-lg-push-10{left:83.33333333333334%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666666666666%}.col-lg-push-7{left:58.333333333333336%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666666666667%}.col-lg-push-4{left:33.33333333333333%}.col-lg-push-3{left:25%}.col
-lg-push-2{left:16.666666666666664%}.col-lg-push-1{left:8.333333333333332%}.col-lg-push-0{left:0}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666666666666%}.col-lg-offset-10{margin-left:83.33333333333334%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666666666666%}.col-lg-offset-7{margin-left:58.333333333333336%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666666666667%}.col-lg-offset-4{margin-left:33.33333333333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.666666666666664%}.col-lg-offset-1{margin-left:8.333333333333332%}.col-lg-offset-0{margin-left:0}}table{max-width:100%;background-color:transparent}th{text-align:left}.table{width:100%;margin-bottom:20px}.table>thead>tr>th,.table>tbody>tr>th,.table>tfoot>tr>th,.table>thead>tr>td,.table>tbody>tr>td,.table>tfoot>tr>td{padding:8px;line-height:1.428571429;vertical-align:top;border-top:1px solid #ddd}.table>thead>tr>th{vertical-align:bottom;bord
er-bottom:2px solid #ddd}.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>th,.table>caption+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>td,.table>thead:first-child>tr:first-child>td{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed>thead>tr>th,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>tbody>tr>td,.table-condensed>tfoot>tr>td{padding:5px}.table-bordered{border:1px solid #ddd}.table-bordered>thead>tr>th,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>tbody>tr>td,.table-bordered>tfoot>tr>td{border:1px solid #ddd}.table-bordered>thead>tr>th,.table-bordered>thead>tr>td{border-bottom-width:2px}.table-striped>tbody>tr:nth-child(odd)>td,.table-striped>tbody>tr:nth-child(odd)>th{background-color:#f9f9f9}.table-hover>tbody>tr:hover>td,
.table-hover>tbody>tr:hover>th{background-color:#f5f5f5}table col[class*="col-"]{position:static;display:table-column;float:none}table td[class*="col-"],table th[class*="col-"]{display:table-cell;float:none}.table>thead>tr>.active,.table>tbody>tr>.active,.table>tfoot>tr>.active,.table>thead>.active>td,.table>tbody>.active>td,.table>tfoot>.active>td,.table>thead>.active>th,.table>tbody>.active>th,.table>tfoot>.active>th{background-color:#f5f5f5}.table-hover>tbody>tr>.active:hover,.table-hover>tbody>.active:hover>td,.table-hover>tbody>.active:hover>th{background-color:#e8e8e8}.table>thead>tr>.success,.table>tbody>tr>.success,.table>tfoot>tr>.success,.table>thead>.success>td,.table>tbody>.success>td,.table>tfoot>.success>td,.table>thead>.success>th,.table>tbody>.success>th,.table>tfoot>.success>th{background-color:#dff0d8}.table-hover>tbody>tr>.success:hover,.table-hover>tbody>.success:hover>td,.table-hover>tbody>.success:hover>th{background-color:#d0e9c6}.table>thead>tr>.danger,.table
table>thead>tr>th,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tfoot>tr>td{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>thead>tr>th:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.table-responsive>.table-bordered>thead>tr>th:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.table-respon
sive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>th,.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>td{border-bottom:0}}fieldset{padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5}label{display:inline-block;margin-bottom:5px;font-weight:bold}input[type="search"]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type="radio"],input[type="checkbox"]{margin:4px 0 0;margin-top:1px \9;line-height:normal}input[type="file"]{display:block}select[multiple],select[size]{height:auto}select optgroup{font-family:inherit;font-size:inherit;font-style:inherit}input[type="file"]:focus,input[type="radio"]:focus,input[type="checkbox"]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}input[type="n
umber"]::-webkit-outer-spin-button,input[type="number"]::-webkit-inner-spin-button{height:auto}output{display:block;padding-top:7px;font-size:14px;line-height:1.428571429;color:#555;vertical-align:middle}.form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.428571429;color:#555;vertical-align:middle;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-webkit-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(102,175,233,0.6);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(102,175,233,0.6)}.form-control:-moz-placeholder{color:#999}.form-control::-moz-placeholder{color:#999;opacity:1}.form-control:-ms-inp
ut-placeholder{color:#999}.form-control::-webkit-input-placeholder{color:#999}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{cursor:not-allowed;background-color:#eee}textarea.form-control{height:auto}.form-group{margin-bottom:15px}.radio,.checkbox{display:block;min-height:20px;padding-left:20px;margin-top:10px;margin-bottom:10px;vertical-align:middle}.radio label,.checkbox label{display:inline;margin-bottom:0;font-weight:normal;cursor:pointer}.radio input[type="radio"],.radio-inline input[type="radio"],.checkbox input[type="checkbox"],.checkbox-inline input[type="checkbox"]{float:left;margin-left:-20px}.radio+.radio,.checkbox+.checkbox{margin-top:-5px}.radio-inline,.checkbox-inline{display:inline-block;padding-left:20px;margin-bottom:0;font-weight:normal;vertical-align:middle;cursor:pointer}.radio-inline+.radio-inline,.checkbox-inline+.checkbox-inline{margin-top:0;margin-left:10px}input[type="radio"][disabled],input[type="checkbox"][disabled],.radio
[disabled],.radio-inline[disabled],.checkbox[disabled],.checkbox-inline[disabled],fieldset[disabled] input[type="radio"],fieldset[disabled] input[type="checkbox"],fieldset[disabled] .radio,fieldset[disabled] .radio-inline,fieldset[disabled] .checkbox,fieldset[disabled] .checkbox-inline{cursor:not-allowed}.input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-sm{height:30px;line-height:30px}textarea.input-sm{height:auto}.input-lg{height:46px;padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}select.input-lg{height:46px;line-height:46px}textarea.input-lg{height:auto}.has-warning .help-block,.has-warning .control-label,.has-warning .radio,.has-warning .checkbox,.has-warning .radio-inline,.has-warning .checkbox-inline{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-warning .form-control:focus{border-color:#665
12c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #c0a16b}.has-warning .input-group-addon{color:#8a6d3b;background-color:#fcf8e3;border-color:#8a6d3b}.has-error .help-block,.has-error .control-label,.has-error .radio,.has-error .checkbox,.has-error .radio-inline,.has-error .checkbox-inline{color:#a94442}.has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #ce8483}.has-error .input-group-addon{color:#a94442;background-color:#f2dede;border-color:#a94442}.has-success .help-block,.has-success .control-label,.has-success .radio,.has-success .checkbox,.has-success .radio-inline,.has-success .checkbox-inline{color:#3c763d}.has-success .form-control{border
-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #67b168}.has-success .input-group-addon{color:#3c763d;background-color:#dff0d8;border-color:#3c763d}.form-control-static{margin-bottom:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@media(min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block}.form-inline select.form-control{width:auto}.form-inline .radio,.form-inline .checkbox{display:inline-block;padding-left:0;margin-top:0;margin-bottom:0}.form-inline .radio input[type="radio"],.form-inline .checkbox input[type="checkbox"]{float:none;margin-left:0}}.form-horizontal .control-label,.form-horizontal .radio,.form-horizontal .che
ckbox,.form-horizontal .radio-inline,.form-horizontal .checkbox-inline{padding-top:7px;margin-top:0;margin-bottom:0}.form-horizontal .radio,.form-horizontal .checkbox{min-height:27px}.form-horizontal .form-group{margin-right:-15px;margin-left:-15px}.form-horizontal .form-group:before,.form-horizontal .form-group:after{display:table;content:" "}.form-horizontal .form-group:after{clear:both}.form-horizontal .form-group:before,.form-horizontal .form-group:after{display:table;content:" "}.form-horizontal .form-group:after{clear:both}.form-horizontal .form-control-static{padding-top:7px}@media(min-width:768px){.form-horizontal .control-label{text-align:right}}.btn{display:inline-block;padding:6px 12px;margin-bottom:0;font-size:14px;font-weight:normal;line-height:1.428571429;text-align:center;white-space:nowrap;vertical-align:middle;cursor:pointer;background-image:none;border:1px solid transparent;border-radius:4px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-use
r-select:none;user-select:none}.btn:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn:hover,.btn:focus{color:#333;text-decoration:none}.btn:active,.btn.active{background-image:none;outline:0;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{pointer-events:none;cursor:not-allowed;opacity:.65;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default:hover,.btn-default:focus,.btn-default:active,.btn-default.active,.open .dropdown-toggle.btn-default{color:#333;background-color:#ebebeb;border-color:#adadad}.btn-default:active,.btn-default.active,.open .dropdown-toggle.btn-default{background-image:none}.btn-default.disabled,.btn-default[disabled],fieldset[disabled] .btn-default,.btn-default.disabled:hover,.btn-default[disabled]:hover,fieldset[disabled] .btn-default
:hover,.btn-default.disabled:focus,.btn-default[disabled]:focus,fieldset[disabled] .btn-default:focus,.btn-default.disabled:active,.btn-default[disabled]:active,fieldset[disabled] .btn-default:active,.btn-default.disabled.active,.btn-default[disabled].active,fieldset[disabled] .btn-default.active{background-color:#fff;border-color:#ccc}.btn-default .badge{color:#fff;background-color:#fff}.btn-primary{color:#fff;background-color:#428bca;border-color:#357ebd}.btn-primary:hover,.btn-primary:focus,.btn-primary:active,.btn-primary.active,.open .dropdown-toggle.btn-primary{color:#fff;background-color:#3276b1;border-color:#285e8e}.btn-primary:active,.btn-primary.active,.open .dropdown-toggle.btn-primary{background-image:none}.btn-primary.disabled,.btn-primary[disabled],fieldset[disabled] .btn-primary,.btn-primary.disabled:hover,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary:hover,.btn-primary.disabled:focus,.btn-primary[disabled]:focus,fieldset[disabled] .btn-primary:focus,.b
tn-primary.disabled:active,.btn-primary[disabled]:active,fieldset[disabled] .btn-primary:active,.btn-primary.disabled.active,.btn-primary[disabled].active,fieldset[disabled] .btn-primary.active{background-color:#428bca;border-color:#357ebd}.btn-primary .badge{color:#428bca;background-color:#fff}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.btn-warning:hover,.btn-warning:focus,.btn-warning:active,.btn-warning.active,.open .dropdown-toggle.btn-warning{color:#fff;background-color:#ed9c28;border-color:#d58512}.btn-warning:active,.btn-warning.active,.open .dropdown-toggle.btn-warning{background-image:none}.btn-warning.disabled,.btn-warning[disabled],fieldset[disabled] .btn-warning,.btn-warning.disabled:hover,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning:hover,.btn-warning.disabled:focus,.btn-warning[disabled]:focus,fieldset[disabled] .btn-warning:focus,.btn-warning.disabled:active,.btn-warning[disabled]:active,fieldset[disabled] .btn-warning:active
,.btn-warning.disabled.active,.btn-warning[disabled].active,fieldset[disabled] .btn-warning.active{background-color:#f0ad4e;border-color:#eea236}.btn-warning .badge{color:#f0ad4e;background-color:#fff}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.btn-danger:hover,.btn-danger:focus,.btn-danger:active,.btn-danger.active,.open .dropdown-toggle.btn-danger{color:#fff;background-color:#d2322d;border-color:#ac2925}.btn-danger:active,.btn-danger.active,.open .dropdown-toggle.btn-danger{background-image:none}.btn-danger.disabled,.btn-danger[disabled],fieldset[disabled] .btn-danger,.btn-danger.disabled:hover,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger:hover,.btn-danger.disabled:focus,.btn-danger[disabled]:focus,fieldset[disabled] .btn-danger:focus,.btn-danger.disabled:active,.btn-danger[disabled]:active,fieldset[disabled] .btn-danger:active,.btn-danger.disabled.active,.btn-danger[disabled].active,fieldset[disabled] .btn-danger.active{background-color:#d9
534f;border-color:#d43f3a}.btn-danger .badge{color:#d9534f;background-color:#fff}.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.btn-success:hover,.btn-success:focus,.btn-success:active,.btn-success.active,.open .dropdown-toggle.btn-success{color:#fff;background-color:#47a447;border-color:#398439}.btn-success:active,.btn-success.active,.open .dropdown-toggle.btn-success{background-image:none}.btn-success.disabled,.btn-success[disabled],fieldset[disabled] .btn-success,.btn-success.disabled:hover,.btn-success[disabled]:hover,fieldset[disabled] .btn-success:hover,.btn-success.disabled:focus,.btn-success[disabled]:focus,fieldset[disabled] .btn-success:focus,.btn-success.disabled:active,.btn-success[disabled]:active,fieldset[disabled] .btn-success:active,.btn-success.disabled.active,.btn-success[disabled].active,fieldset[disabled] .btn-success.active{background-color:#5cb85c;border-color:#4cae4c}.btn-success .badge{color:#5cb85c;background-color:#fff}.btn-info{colo
r:#fff;background-color:#5bc0de;border-color:#46b8da}.btn-info:hover,.btn-info:focus,.btn-info:active,.btn-info.active,.open .dropdown-toggle.btn-info{color:#fff;background-color:#39b3d7;border-color:#269abc}.btn-info:active,.btn-info.active,.open .dropdown-toggle.btn-info{background-image:none}.btn-info.disabled,.btn-info[disabled],fieldset[disabled] .btn-info,.btn-info.disabled:hover,.btn-info[disabled]:hover,fieldset[disabled] .btn-info:hover,.btn-info.disabled:focus,.btn-info[disabled]:focus,fieldset[disabled] .btn-info:focus,.btn-info.disabled:active,.btn-info[disabled]:active,fieldset[disabled] .btn-info:active,.btn-info.disabled.active,.btn-info[disabled].active,fieldset[disabled] .btn-info.active{background-color:#5bc0de;border-color:#46b8da}.btn-info .badge{color:#5bc0de;background-color:#fff}.btn-link{font-weight:normal;color:#428bca;cursor:pointer;border-radius:0}.btn-link,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webk
it-box-shadow:none;box-shadow:none}.btn-link,.btn-link:hover,.btn-link:focus,.btn-link:active{border-color:transparent}.btn-link:hover,.btn-link:focus{color:#2a6496;text-decoration:underline;background-color:transparent}.btn-link[disabled]:hover,fieldset[disabled] .btn-link:hover,.btn-link[disabled]:focus,fieldset[disabled] .btn-link:focus{color:#999;text-decoration:none}.btn-lg{padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}.btn-sm{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-xs{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%;padding-right:0;padding-left:0}.btn-block+.btn-block{margin-top:5px}input[type="submit"].btn-block,input[type="reset"].btn-block,input[type="button"].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}.collapsing{position:relative;height:0
;overflow:hidden;-webkit-transition:height .35s ease;transition:height .35s ease}@font-face{font-family:'Glyphicons Halflings';src:url('../fonts/glyphicons-halflings-regular.eot');src:url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'),url('../fonts/glyphicons-halflings-regular.woff') format('woff'),url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'),url('../fonts/glyphicons-halflings-regular.svg#glyphicons-halflingsregular') format('svg')}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';-webkit-font-smoothing:antialiased;font-style:normal;font-weight:normal;line-height:1;-moz-osx-font-smoothing:grayscale}.glyphicon:empty{width:1em}.glyphicon-asterisk:before{content:"\2a"}.glyphicon-plus:before{content:"\2b"}.glyphicon-euro:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{
content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-do
wnload:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-tex
t-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon
-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:
before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.gl
yphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link
:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\
e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{conten
t:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px solid;border-right:4px solid transparent;border-left:4px solid transparent}.dropdown{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;font-size:14px;list-style:none;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,0.175);box-shadow:0 6px 12px
rgba(0,0,0,0.175);background-clip:padding-box}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:normal;line-height:1.428571429;color:#333;white-space:nowrap}.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus{color:#262626;text-decoration:none;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus{color:#fff;text-decoration:none;background-color:#428bca;outline:0}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{color:#999}.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-header{display:block;padding
:3px 20px;font-size:12px;line-height:1.428571429;color:#999}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{border-top:0;border-bottom:4px solid;content:""}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:1px}@media(min-width:768px){.navbar-right .dropdown-menu{right:0;left:auto}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;float:left}.btn-group>.btn:hover,.btn-group-vertical>.btn:hover,.btn-group>.btn:focus,.btn-group-vertical>.btn:focus,.btn-group>.btn:active,.btn-group-vertical>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn.active{z-index:2}.btn-group>.btn:focus,.btn-group-vertical>.btn:focus{outline:0}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-grou
p .btn-group+.btn-group{margin-left:-1px}.btn-toolbar:before,.btn-toolbar:after{display:table;content:" "}.btn-toolbar:after{clear:both}.btn-toolbar:before,.btn-toolbar:after{display:table;content:" "}.btn-toolbar:after{clear:both}.btn-toolbar .btn-group{float:left}.btn-toolbar>.btn+.btn,.btn-toolbar>.btn-group+.btn,.btn-toolbar>.btn+.btn-group,.btn-toolbar>.btn-group+.btn-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child>.btn:last-child,.btn-group>.btn-group:first-child>.dropdo
wn-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:last-child>.btn:first-child{border-bottom-left-radius:0;border-top-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group-xs>.btn{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-group-sm>.btn{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-group-lg>.btn{padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}.btn-group>.btn+.dropdown-toggle{padding-right:8px;padding-left:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-right:12px;padding-left:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-grou
p-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group:before,.btn-group-vertical>.btn-group:after{display:table;content:" "}.btn-group-vertical>.btn-group:after{clear:both}.btn-group-vertical>.btn-group:before,.btn-group-vertical>.btn-group:after{display:table;content:" "}.btn-group-vertical>.btn-group:after{clear:both}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-right-radius:0;border-bottom-left-radius:4px;border-top-left-rad
ius:0}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child>.btn:last-child,.btn-group-vertical>.btn-group:first-child>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child>.btn:first-child{border-top-right-radius:0;border-top-left-radius:0}.btn-group-justified{display:table;width:100%;border-collapse:separate;table-layout:fixed}.btn-group-justified>.btn,.btn-group-justified>.btn-group{display:table-cell;float:none;width:1%}.btn-group-justified>.btn-group .btn{width:100%}[data-toggle="buttons"]>.btn>input[type="radio"],[data-toggle="buttons"]>.btn>input[type="checkbox"]{display:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*="col-"]{float:none;padding-right:0;padding-left:0}.input-group .form-control{width:100%;margin-bottom:0}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-gro
up-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn{height:auto}.input-group-addon,.input-group-btn,.input-group .form-control{display:table-cell}.input-group-addon:not(:first-child):not(:last-c
hild),.input-group-btn:not(:first-child):not(:last-child),.input-group .form-control:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:6px 12px;font-size:14px;font-weight:normal;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}.input-group-addon input[type="radio"],.input-group-addon input[type="checkbox"]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control
:last-child,.input-group-addon:last-child,.input-group-btn:last-child>.btn,.input-group-btn:last-child>.dropdown-toggle,.input-group-btn:first-child>.btn:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;white-space:nowrap}.input-group-btn:first-child>.btn{margin-right:-1px}.input-group-btn:last-child>.btn{margin-left:-1px}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-4px}.input-group-btn>.btn:hover,.input-group-btn>.btn:active{z-index:2}.nav{padding-left:0;margin-bottom:0;list-style:none}.nav:before,.nav:after{display:table;content:" "}.nav:after{clear:both}.nav:before,.nav:after{display:table;content:" "}.nav:after{clear:both}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:hover,.nav>li>a:focus{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#999}.nav>li.disabled>a:hov
er,.nav>li.disabled>a:focus{color:#999;text-decoration:none;cursor:not-allowed;background-color:transparent}.nav .open>a,.nav .open>a:hover,.nav .open>a:focus{background-color:#eee;border-color:#428bca}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.428571429;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:hover,.nav-tabs>li.active>a:focus{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media(min-width:768px){.nav-tabs.nav-j
ustified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border:1px solid #ddd}@media(min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border-bottom-color:#fff}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:hover,.nav-pills>li.active>a:focus{color:#fff;background-color:#428bca}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media(min-
width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border:1px solid #ddd}@media(min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-right-radius:0;border-top-left-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}.navbar:before,.navbar:after{display:table;content:" "}.navbar:after{clear:both}.navbar:before,.navbar:after{display:table;content:" "}.navbar:after{clear:both}@media(min-width:768px){.navbar{border
-radius:4px}}.navbar-header:before,.navbar-header:after{display:table;content:" "}.navbar-header:after{clear:both}.navbar-header:before,.navbar-header:after{display:table;content:" "}.navbar-header:after{clear:both}@media(min-width:768px){.navbar-header{float:left}}.navbar-collapse{max-height:340px;padding-right:15px;padding-left:15px;overflow-x:visible;border-top:1px solid transparent;box-shadow:inset 0 1px 0 rgba(255,255,255,0.1);-webkit-overflow-scrolling:touch}.navbar-collapse:before,.navbar-collapse:after{display:table;content:" "}.navbar-collapse:after{clear:both}.navbar-collapse:before,.navbar-collapse:after{display:table;content:" "}.navbar-collapse:after{clear:both}.navbar-collapse.in{overflow-y:auto}@media(min-width:768px){.navbar-collapse{width:auto;border-top:0;box-shadow:none}.navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-top .navbar-collapse,.navbar
-static-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{padding-right:0;padding-left:0}}.container>.navbar-header,.container>.navbar-collapse{margin-right:-15px;margin-left:-15px}@media(min-width:768px){.container>.navbar-header,.container>.navbar-collapse{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media(min-width:768px){.navbar-static-top{border-radius:0}}.navbar-fixed-top,.navbar-fixed-bottom{position:fixed;right:0;left:0;z-index:1030}@media(min-width:768px){.navbar-fixed-top,.navbar-fixed-bottom{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.navbar-brand{float:left;padding:15px 15px;font-size:18px;line-height:20px}.navbar-brand:hover,.navbar-brand:focus{text-decoration:none}@media(min-width:768px){.navbar>.container .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;padding:9px 10px;margin-top:8px;margin-right:15px;margi
n-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media(min-width:768px){.navbar-toggle{display:none}}.navbar-nav{margin:7.5px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media(max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;box-shadow:none}.navbar-nav .open .dropdown-menu>li>a,.navbar-nav .open .dropdown-menu .dropdown-header{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:hover,.navbar-nav .open .dropdown-menu>li>a:focus{background-image:none}}@media(min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}.navbar-nav.navbar-right
:last-child{margin-right:-15px}}@media(min-width:768px){.navbar-left{float:left!important}.navbar-right{float:right!important}}.navbar-form{padding:10px 15px;margin-top:8px;margin-right:-15px;margin-bottom:8px;margin-left:-15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1)}@media(min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block}.navbar-form select.form-control{width:auto}.navbar-form .radio,.navbar-form .checkbox{display:inline-block;padding-left:0;margin-top:0;margin-bottom:0}.navbar-form .radio input[type="radio"],.navbar-form .checkbox input[type="checkbox"]{float:none;margin-left:0}}@media(max-width:767px){.navbar-form .form-group{margin-bottom:5px}}@media(min-width:768px){.navbar-form{width:auto;pa
dding-top:0;padding-bottom:0;margin-right:0;margin-left:0;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-form.navbar-right:last-child{margin-right:-15px}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-right-radius:0;border-top-left-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-nav.pull-right>li>.dropdown-menu,.navbar-nav>li>.dropdown-menu.pull-right{right:0;left:auto}.navbar-btn{margin-top:8px;margin-bottom:8px}.navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.navbar-text{margin-top:15px;margin-bottom:15px}@media(min-width:768px){.navbar-text{float:left;margin-right:15px;margin-left:15px}.navbar-text.navbar-right:last-child{margin-right:0}}.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:hover,.navbar-default .navbar-brand:focus{color:#5e5e5e;backg
round-color:transparent}.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a{color:#777}.navbar-default .navbar-nav>li>a:hover,.navbar-default .navbar-nav>li>a:focus{color:#333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:hover,.navbar-default .navbar-nav>.active>a:focus{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:hover,.navbar-default .navbar-nav>.disabled>a:focus{color:#ccc;background-color:transparent}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:hover,.navbar-default .navbar-toggle:focus{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#ccc}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e7e7e7}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:hover,.navbar-default .navbar-nav>.open>a:focus{color:#555;background-colo
r:#e7e7e7}@media(max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#ccc;background-color:transparent}}.navbar-default .navbar-link{color:#777}.navbar-default .navbar-link:hover{color:#333}.navbar-inverse{background-color:#222;border-color:#080808}.navbar-inverse .navbar-brand{color:#999}.navbar-inverse .navbar-brand:hover,.navbar-inverse .navbar-brand:focus{color:#fff;backgrou
nd-color:transparent}.navbar-inverse .navbar-text{color:#999}.navbar-inverse .navbar-nav>li>a{color:#999}.navbar-inverse .navbar-nav>li>a:hover,.navbar-inverse .navbar-nav>li>a:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:hover,.navbar-inverse .navbar-nav>.active>a:focus{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:hover,.navbar-inverse .navbar-nav>.disabled>a:focus{color:#444;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:hover,.navbar-inverse .navbar-toggle:focus{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:hover,.navbar-inverse .navbar-nav>.open>a:focus{color:#fff;background-color:#
080808}@media(max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#999}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#444;background-color:transparent}}.navbar-inverse .navbar-link{color:#999}.navbar-inverse .navbar-link:hover{color:#fff}.breadcrumb{padding:8px
15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{padding:0 5px;color:#ccc;content:"/\00a0"}.breadcrumb>.active{color:#999}.pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;margin-left:-1px;line-height:1.428571429;text-decoration:none;background-color:#fff;border:1px solid #ddd}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-bottom-left-radius:4px;border-top-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.pagination>li>a:hover,.pagination>li>span:hover,.pagination>li>a:focus,.pagination>li>span:focus{background-color:#eee}.pagination>.active>a,.pagination>.active>span,.pagination>.active>a:hover,.pagination>.active>span:hover,.pagi
nation>.active>a:focus,.pagination>.active>span:focus{z-index:2;color:#fff;cursor:default;background-color:#428bca;border-color:#428bca}.pagination>.disabled>span,.pagination>.disabled>span:hover,.pagination>.disabled>span:focus,.pagination>.disabled>a,.pagination>.disabled>a:hover,.pagination>.disabled>a:focus{color:#999;cursor:not-allowed;background-color:#fff;border-color:#ddd}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-bottom-left-radius:6px;border-top-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-bottom-left-radius:3px;border-top-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-top-right-radius:3p
x;border-bottom-right-radius:3px}.pager{padding-left:0;margin:20px 0;text-align:center;list-style:none}.pager:before,.pager:after{display:table;content:" "}.pager:after{clear:both}.pager:before,.pager:after{display:table;content:" "}.pager:after{clear:both}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:hover,.pager li>a:focus{text-decoration:none;background-color:#eee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:hover,.pager .disabled>a:focus,.pager .disabled>span{color:#999;cursor:not-allowed;background-color:#fff}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:bold;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}.label[href]:hover,.label[href]:focus{color:#fff;text-decoration:none;cursor:pointer}.
label:empty{display:none}.btn .label{position:relative;top:-1px}.label-default{background-color:#999}.label-default[href]:hover,.label-default[href]:focus{background-color:#808080}.label-primary{background-color:#428bca}.label-primary[href]:hover,.label-primary[href]:focus{background-color:#3071a9}.label-success{background-color:#5cb85c}.label-success[href]:hover,.label-success[href]:focus{background-color:#449d44}.label-info{background-color:#5bc0de}.label-info[href]:hover,.label-info[href]:focus{background-color:#31b0d5}.label-warning{background-color:#f0ad4e}.label-warning[href]:hover,.label-warning[href]:focus{background-color:#ec971f}.label-danger{background-color:#d9534f}.label-danger[href]:hover,.label-danger[href]:focus{background-color:#c9302c}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:bold;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;background-color:#999;border-radius:10px}.badge:empty{dis
play:none}.btn .badge{position:relative;top:-1px}a.badge:hover,a.badge:focus{color:#fff;text-decoration:none;cursor:pointer}a.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#428bca;background-color:#fff}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding:30px;margin-bottom:30px;font-size:21px;font-weight:200;line-height:2.1428571435;color:inherit;background-color:#eee}.jumbotron h1,.jumbotron .h1{line-height:1;color:inherit}.jumbotron p{line-height:1.4}.container .jumbotron{border-radius:6px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron{padding-right:60px;padding-left:60px}.jumbotron h1,.jumbotron .h1{font-size:63px}}.thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.428571429;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.thumbnail>img,.thumbnail a>img{display:
block;height:auto;max-width:100%;margin-right:auto;margin-left:auto}a.thumbnail:hover,a.thumbnail:focus,a.thumbnail.active{border-color:#428bca}.thumbnail .caption{padding:9px;color:#333}.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:bold}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable{padding-right:35px}.alert-dismissable .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.aler
t-danger{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.alert-danger hr{border-top-color:#e4b9c0}.alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{height:20px;margin-bottom:20px;overflow:hidden;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);box-shadow:inset 0 1px 2px rgba(0,0,0,0.1)}.progress-bar{float:left;width:0;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#428bca;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);-webkit-transition:width .6s ease;transition:width .6s ease}.progress-striped .progress-bar{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,2
55,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-size:40px 40px}.progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.1
5) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.
15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.media,.media-body{overflow:hidden;zoom:1}.media,.media .media{margin-top:15px}.media:first-child{margin-top:0}.media-object{display:block}.media-heading{margin:0 0 5px}.media>.pull-left{margin-right:10px}.media>.pull-right{margin-left:10px}.media-list{padding-left:0;list-style:none}.list-group{padding-left:0;margin-bottom:20px}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-right-radius:4px;border-top-left-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}a.list-group-item{color:#555}a.list-group-item
.list-group-item-heading{color:#333}a.list-group-item:hover,a.list-group-item:focus{text-decoration:none;background-color:#f5f5f5}a.list-group-item.active,a.list-group-item.active:hover,a.list-group-item.active:focus{z-index:2;color:#fff;background-color:#428bca;border-color:#428bca}a.list-group-item.active .list-group-item-heading,a.list-group-item.active:hover .list-group-item-heading,a.list-group-item.active:focus .list-group-item-heading{color:inherit}a.list-group-item.active .list-group-item-text,a.list-group-item.active:hover .list-group-item-text,a.list-group-item.active:focus .list-group-item-text{color:#e1edf7}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,0.05);box-shadow:0 1px 1px rgba(0,0,0,0.05)}.panel-body{padding:15px}.panel-body:before,.panel-body:after{display:table;cont
ent:" "}.panel-body:after{clear:both}.panel-body:before,.panel-body:after{display:table;content:" "}.panel-body:after{clear:both}.panel>.list-group{margin-bottom:0}.panel>.list-group .list-group-item{border-width:1px 0}.panel>.list-group .list-group-item:first-child{border-top-right-radius:0;border-top-left-radius:0}.panel>.list-group .list-group-item:last-child{border-bottom:0}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.panel>.table,.panel>.table-responsive>.table{margin-bottom:0}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive{border-top:1px solid #ddd}.panel>.table>tbody:first-child th,.panel>.table>tbody:first-child td{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.ta
ble-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-c
hild,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.panel>.table-bordered>thead>tr:last-child>th,.panel>.table-responsive>.table-bordered>thead>tr:last-child>th,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th,.panel>.table-bordered>thead>tr:last-child>td,.panel>.table-responsive>.table-bordered>thead>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td{border-bottom:0}.panel>.table-responsive{margin-bottom:0;border:0}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-right-radius:3px;border-top-left-radius:3px}.panel-heading>.d
ropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.panel-title>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel-group .panel{margin-bottom:0;overflow:hidden;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse .panel-body{border-top:1px solid #ddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse .panel-body{border-top-color:#ddd}.panel-default>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#428bca}.panel-primary>.panel-heading{color:#
fff;background-color:#428bca;border-color:#428bca}.panel-primary>.panel-heading+.panel-collapse .panel-body{border-top-color:#428bca}.panel-primary>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#428bca}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse .panel-body{border-top-color:#d6e9c6}.panel-success>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#d6e9c6}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.panel-warning>.panel-heading+.panel-collapse .panel-body{border-top-color:#faebcc}.panel-warning>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.panel-danger>.panel-heading+.panel-collapse .panel-body{border-top
-color:#ebccd1}.panel-danger>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#ebccd1}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse .panel-body{border-top-color:#bce8f1}.panel-info>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#bce8f1}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.05);box-shadow:inset 0 1px 1px rgba(0,0,0,0.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,0.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:21px;font-weight:bold;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.2;filter:alpha(opacity=20)}.close:hover,.close:focus{color:#000;text-decoration:none;cursor:pointer;opacity:.5;filter:alpha(opacity=50)}button.c
lose{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none}.modal-open{overflow:hidden}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;display:none;overflow:auto;overflow-y:scroll}.modal.fade .modal-dialog{-webkit-transform:translate(0,-25%);-ms-transform:translate(0,-25%);transform:translate(0,-25%);-webkit-transition:-webkit-transform .3s ease-out;-moz-transition:-moz-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out}.modal.in .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);transform:translate(0,0)}.modal-dialog{position:relative;z-index:1050;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;border:1px solid #999;border:1px solid rgba(0,0,0,0.2);border-radius:6px;outline:0;-webkit-box-shadow:0 3px 9px rgba(0,0,0,0.5);box-shadow:0 3px 9px rgba(0,0,0,0.5);background-clip:padding-box}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;le
ft:0;z-index:1030;background-color:#000}.modal-backdrop.fade{opacity:0;filter:alpha(opacity=0)}.modal-backdrop.in{opacity:.5;filter:alpha(opacity=50)}.modal-header{min-height:16.428571429px;padding:15px;border-bottom:1px solid #e5e5e5}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.428571429}.modal-body{position:relative;padding:20px}.modal-footer{padding:19px 20px 20px;margin-top:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer:before,.modal-footer:after{display:table;content:" "}.modal-footer:after{clear:both}.modal-footer:before,.modal-footer:after{display:table;content:" "}.modal-footer:after{clear:both}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}@media screen and (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,0.5);box-shadow:0 5px 15px rgba(0,0,0,0.5)}}.too
ltip{position:absolute;z-index:1030;display:block;font-size:12px;line-height:1.4;opacity:0;filter:alpha(opacity=0);visibility:visible}.tooltip.in{opacity:.9;filter:alpha(opacity=90)}.tooltip.top{padding:5px 0;margin-top:-3px}.tooltip.right{padding:0 5px;margin-left:3px}.tooltip.bottom{padding:5px 0;margin-top:3px}.tooltip.left{padding:0 5px;margin-left:-3px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;text-decoration:none;background-color:#000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-top-color:#000;border-width:5px 5px 0}.tooltip.top-left .tooltip-arrow{bottom:0;left:5px;border-top-color:#000;border-width:5px 5px 0}.tooltip.top-right .tooltip-arrow{right:5px;bottom:0;border-top-color:#000;border-width:5px 5px 0}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-right-color:#000;border-width:5px 5p
x 5px 0}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-left-color:#000;border-width:5px 0 5px 5px}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-bottom-color:#000;border-width:0 5px 5px}.tooltip.bottom-left .tooltip-arrow{top:0;left:5px;border-bottom-color:#000;border-width:0 5px 5px}.tooltip.bottom-right .tooltip-arrow{top:0;right:5px;border-bottom-color:#000;border-width:0 5px 5px}.popover{position:absolute;top:0;left:0;z-index:1010;display:none;max-width:276px;padding:1px;text-align:left;white-space:normal;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,0.2);box-shadow:0 5px 10px rgba(0,0,0,0.2);background-clip:padding-box}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{padding:8px 14px;margin:0;font-size:14px;font-weight:normal;line-height:18px;background-co
lor:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover .arrow,.popover .arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover .arrow{border-width:11px}.popover .arrow:after{border-width:10px;content:""}.popover.top .arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,0.25);border-bottom-width:0}.popover.top .arrow:after{bottom:1px;margin-left:-10px;border-top-color:#fff;border-bottom-width:0;content:" "}.popover.right .arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,0.25);border-left-width:0}.popover.right .arrow:after{bottom:-10px;left:1px;border-right-color:#fff;border-left-width:0;content:" "}.popover.bottom .arrow{top:-11px;left:50%;margin-left:-11px;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,0.25);border-top-width:0}.popover.bottom .arrow:after{top:1px;margin
-left:-10px;border-bottom-color:#fff;border-top-width:0;content:" "}.popover.left .arrow{top:50%;right:-11px;margin-top:-11px;border-left-color:#999;border-left-color:rgba(0,0,0,0.25);border-right-width:0}.popover.left .arrow:after{right:1px;bottom:-10px;border-left-color:#fff;border-right-width:0;content:" "}.carousel{position:relative}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>img,.carousel-inner>.item>a>img{display:block;height:auto;max-width:100%;line-height:1}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.car
ousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;bottom:0;left:0;width:15%;font-size:20px;color:#fff;text-align:cente

<TRUNCATED>
a***@apache.org
2017-12-21 04:53:19 UTC
Permalink
http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/assets/themes/mahout-retro/css/bootstrap.css
----------------------------------------------------------------------
diff --git a/website-old/assets/themes/mahout-retro/css/bootstrap.css b/website-old/assets/themes/mahout-retro/css/bootstrap.css
deleted file mode 100644
index 19d2f38..0000000
--- a/website-old/assets/themes/mahout-retro/css/bootstrap.css
+++ /dev/null
@@ -1,6165 +0,0 @@
-/*!
- * Bootstrap v2.3.1
- *
- * Copyright 2012 Twitter, Inc
- * Licensed under the Apache License v2.0
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Designed and built with all the love in the world @twitter by @mdo and @fat.
- */
-
-.clearfix {
- *zoom: 1;
-}
-
-.clearfix:before,
-.clearfix:after {
- display: table;
- line-height: 0;
- content: "";
-}
-
-.clearfix:after {
- clear: both;
-}
-
-.hide-text {
- font: 0/0 a;
- color: transparent;
- text-shadow: none;
- background-color: transparent;
- border: 0;
-}
-
-.input-block-level {
- display: block;
- width: 100%;
- min-height: 30px;
- -webkit-box-sizing: border-box;
- -moz-box-sizing: border-box;
- box-sizing: border-box;
-}
-
-article,
-aside,
-details,
-figcaption,
-figure,
-footer,
-header,
-hgroup,
-nav,
-section {
- display: block;
-}
-
-audio,
-canvas,
-video {
- display: inline-block;
- *display: inline;
- *zoom: 1;
-}
-
-audio:not([controls]) {
- display: none;
-}
-
-html {
- font-size: 100%;
- -webkit-text-size-adjust: 100%;
- -ms-text-size-adjust: 100%;
-}
-
-a:focus {
- outline: thin dotted #333;
- outline: 5px auto -webkit-focus-ring-color;
- outline-offset: -2px;
-}
-
-a:hover,
-a:active {
- outline: 0;
-}
-
-sub,
-sup {
- position: relative;
- font-size: 75%;
- line-height: 0;
- vertical-align: baseline;
-}
-
-sup {
- top: -0.5em;
-}
-
-sub {
- bottom: -0.25em;
-}
-
-img {
- width: auto\9;
- height: auto;
- max-width: 100%;
- vertical-align: middle;
- border: 0;
- -ms-interpolation-mode: bicubic;
-}
-
-#map_canvas img,
-.google-maps img {
- max-width: none;
-}
-
-button,
-input,
-select,
-textarea {
- margin: 0;
- font-size: 100%;
- vertical-align: middle;
-}
-
-button,
-input {
- *overflow: visible;
- line-height: normal;
-}
-
-button::-moz-focus-inner,
-input::-moz-focus-inner {
- padding: 0;
- border: 0;
-}
-
-button,
-html input[type="button"],
-input[type="reset"],
-input[type="submit"] {
- cursor: pointer;
- -webkit-appearance: button;
-}
-
-label,
-select,
-button,
-input[type="button"],
-input[type="reset"],
-input[type="submit"],
-input[type="radio"],
-input[type="checkbox"] {
- cursor: pointer;
-}
-
-input[type="search"] {
- -webkit-box-sizing: content-box;
- -moz-box-sizing: content-box;
- box-sizing: content-box;
- -webkit-appearance: textfield;
-}
-
-input[type="search"]::-webkit-search-decoration,
-input[type="search"]::-webkit-search-cancel-button {
- -webkit-appearance: none;
-}
-
-textarea {
- overflow: auto;
- vertical-align: top;
-}
-
-@media print {
- * {
- color: #000 !important;
- text-shadow: none !important;
- background: transparent !important;
- box-shadow: none !important;
- }
- a,
- a:visited {
- text-decoration: underline;
- }
- a[href]:after {
- content: " (" attr(href) ")";
- }
- abbr[title]:after {
- content: " (" attr(title) ")";
- }
- .ir a:after,
- a[href^="javascript:"]:after,
- a[href^="#"]:after {
- content: "";
- }
- pre,
- blockquote {
- border: 1px solid #999;
- page-break-inside: avoid;
- }
- thead {
- display: table-header-group;
- }
- tr,
- img {
- page-break-inside: avoid;
- }
- img {
- max-width: 100% !important;
- }
- @page {
- margin: 0.5cm;
- }
- p,
- h2,
- h3 {
- orphans: 3;
- widows: 3;
- }
- h2,
- h3 {
- page-break-after: avoid;
- }
-}
-
-body {
- margin: 0;
- font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
- font-size: 14px;
- line-height: 20px;
- color: #333333;
- background-color: #ffffff;
-}
-
-a {
- color: #0088cc;
- text-decoration: none;
-}
-
-a:hover,
-a:focus {
- color: #005580;
- text-decoration: underline;
-}
-
-.img-rounded {
- -webkit-border-radius: 6px;
- -moz-border-radius: 6px;
- border-radius: 6px;
-}
-
-.img-polaroid {
- padding: 4px;
- background-color: #fff;
- border: 1px solid #ccc;
- border: 1px solid rgba(0, 0, 0, 0.2);
- -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
- -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
- box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
-}
-
-.img-circle {
- -webkit-border-radius: 500px;
- -moz-border-radius: 500px;
- border-radius: 500px;
-}
-
-.row {
- margin-left: -20px;
- *zoom: 1;
-}
-
-.row:before,
-.row:after {
- display: table;
- line-height: 0;
- content: "";
-}
-
-.row:after {
- clear: both;
-}
-
-[class*="span"] {
- float: left;
- min-height: 1px;
- margin-left: 20px;
-}
-
-.container,
-.navbar-static-top .container,
-.navbar-fixed-top .container,
-.navbar-fixed-bottom .container {
- width: 940px;
-}
-
-.span12 {
- width: 940px;
-}
-
-.span11 {
- width: 860px;
-}
-
-.span10 {
- width: 780px;
-}
-
-.span9 {
- width: 700px;
-}
-
-.span8 {
- width: 620px;
-}
-
-.span7 {
- width: 540px;
-}
-
-.span6 {
- width: 460px;
-}
-
-.span5 {
- width: 380px;
-}
-
-.span4 {
- width: 300px;
-}
-
-.span3 {
- width: 220px;
-}
-
-.span2 {
- width: 140px;
-}
-
-.span1 {
- width: 60px;
-}
-
-.offset12 {
- margin-left: 980px;
-}
-
-.offset11 {
- margin-left: 900px;
-}
-
-.offset10 {
- margin-left: 820px;
-}
-
-.offset9 {
- margin-left: 740px;
-}
-
-.offset8 {
- margin-left: 660px;
-}
-
-.offset7 {
- margin-left: 580px;
-}
-
-.offset6 {
- margin-left: 500px;
-}
-
-.offset5 {
- margin-left: 420px;
-}
-
-.offset4 {
- margin-left: 340px;
-}
-
-.offset3 {
- margin-left: 260px;
-}
-
-.offset2 {
- margin-left: 180px;
-}
-
-.offset1 {
- margin-left: 100px;
-}
-
-.row-fluid {
- width: 100%;
- *zoom: 1;
-}
-
-.row-fluid:before,
-.row-fluid:after {
- display: table;
- line-height: 0;
- content: "";
-}
-
-.row-fluid:after {
- clear: both;
-}
-
-.row-fluid [class*="span"] {
- display: block;
- float: left;
- width: 100%;
- min-height: 30px;
- margin-left: 2.127659574468085%;
- *margin-left: 2.074468085106383%;
- -webkit-box-sizing: border-box;
- -moz-box-sizing: border-box;
- box-sizing: border-box;
-}
-
-.row-fluid [class*="span"]:first-child {
- margin-left: 0;
-}
-
-.row-fluid .controls-row [class*="span"] + [class*="span"] {
- margin-left: 2.127659574468085%;
-}
-
-.row-fluid .span12 {
- width: 100%;
- *width: 99.94680851063829%;
-}
-
-.row-fluid .span11 {
- width: 91.48936170212765%;
- *width: 91.43617021276594%;
-}
-
-.row-fluid .span10 {
- width: 82.97872340425532%;
- *width: 82.92553191489361%;
-}
-
-.row-fluid .span9 {
- width: 74.46808510638297%;
- *width: 74.41489361702126%;
-}
-
-.row-fluid .span8 {
- width: 65.95744680851064%;
- *width: 65.90425531914893%;
-}
-
-.row-fluid .span7 {
- width: 57.44680851063829%;
- *width: 57.39361702127659%;
-}
-
-.row-fluid .span6 {
- width: 48.93617021276595%;
- *width: 48.88297872340425%;
-}
-
-.row-fluid .span5 {
- width: 40.42553191489362%;
- *width: 40.37234042553192%;
-}
-
-.row-fluid .span4 {
- width: 31.914893617021278%;
- *width: 31.861702127659576%;
-}
-
-.row-fluid .span3 {
- width: 23.404255319148934%;
- *width: 23.351063829787233%;
-}
-
-.row-fluid .span2 {
- width: 14.893617021276595%;
- *width: 14.840425531914894%;
-}
-
-.row-fluid .span1 {
- width: 6.382978723404255%;
- *width: 6.329787234042553%;
-}
-
-.row-fluid .offset12 {
- margin-left: 104.25531914893617%;
- *margin-left: 104.14893617021275%;
-}
-
-.row-fluid .offset12:first-child {
- margin-left: 102.12765957446808%;
- *margin-left: 102.02127659574467%;
-}
-
-.row-fluid .offset11 {
- margin-left: 95.74468085106382%;
- *margin-left: 95.6382978723404%;
-}
-
-.row-fluid .offset11:first-child {
- margin-left: 93.61702127659574%;
- *margin-left: 93.51063829787232%;
-}
-
-.row-fluid .offset10 {
- margin-left: 87.23404255319149%;
- *margin-left: 87.12765957446807%;
-}
-
-.row-fluid .offset10:first-child {
- margin-left: 85.1063829787234%;
- *margin-left: 84.99999999999999%;
-}
-
-.row-fluid .offset9 {
- margin-left: 78.72340425531914%;
- *margin-left: 78.61702127659572%;
-}
-
-.row-fluid .offset9:first-child {
- margin-left: 76.59574468085106%;
- *margin-left: 76.48936170212764%;
-}
-
-.row-fluid .offset8 {
- margin-left: 70.2127659574468%;
- *margin-left: 70.10638297872339%;
-}
-
-.row-fluid .offset8:first-child {
- margin-left: 68.08510638297872%;
- *margin-left: 67.9787234042553%;
-}
-
-.row-fluid .offset7 {
- margin-left: 61.70212765957446%;
- *margin-left: 61.59574468085106%;
-}
-
-.row-fluid .offset7:first-child {
- margin-left: 59.574468085106375%;
- *margin-left: 59.46808510638297%;
-}
-
-.row-fluid .offset6 {
- margin-left: 53.191489361702125%;
- *margin-left: 53.085106382978715%;
-}
-
-.row-fluid .offset6:first-child {
- margin-left: 51.063829787234035%;
- *margin-left: 50.95744680851063%;
-}
-
-.row-fluid .offset5 {
- margin-left: 44.68085106382979%;
- *margin-left: 44.57446808510638%;
-}
-
-.row-fluid .offset5:first-child {
- margin-left: 42.5531914893617%;
- *margin-left: 42.4468085106383%;
-}
-
-.row-fluid .offset4 {
- margin-left: 36.170212765957444%;
- *margin-left: 36.06382978723405%;
-}
-
-.row-fluid .offset4:first-child {
- margin-left: 34.04255319148936%;
- *margin-left: 33.93617021276596%;
-}
-
-.row-fluid .offset3 {
- margin-left: 27.659574468085104%;
- *margin-left: 27.5531914893617%;
-}
-
-.row-fluid .offset3:first-child {
- margin-left: 25.53191489361702%;
- *margin-left: 25.425531914893618%;
-}
-
-.row-fluid .offset2 {
- margin-left: 19.148936170212764%;
- *margin-left: 19.04255319148936%;
-}
-
-.row-fluid .offset2:first-child {
- margin-left: 17.02127659574468%;
- *margin-left: 16.914893617021278%;
-}
-
-.row-fluid .offset1 {
- margin-left: 10.638297872340425%;
- *margin-left: 10.53191489361702%;
-}
-
-.row-fluid .offset1:first-child {
- margin-left: 8.51063829787234%;
- *margin-left: 8.404255319148938%;
-}
-
-[class*="span"].hide,
-.row-fluid [class*="span"].hide {
- display: none;
-}
-
-[class*="span"].pull-right,
-.row-fluid [class*="span"].pull-right {
- float: right;
-}
-
-.container {
- margin-right: auto;
- margin-left: auto;
- *zoom: 1;
-}
-
-.container:before,
-.container:after {
- display: table;
- line-height: 0;
- content: "";
-}
-
-.container:after {
- clear: both;
-}
-
-.container-fluid {
- padding-right: 20px;
- padding-left: 20px;
- *zoom: 1;
-}
-
-.container-fluid:before,
-.container-fluid:after {
- display: table;
- line-height: 0;
- content: "";
-}
-
-.container-fluid:after {
- clear: both;
-}
-
-p {
- margin: 0 0 10px;
-}
-
-.lead {
- margin-bottom: 20px;
- font-size: 21px;
- font-weight: 200;
- line-height: 30px;
-}
-
-small {
- font-size: 85%;
-}
-
-strong {
- font-weight: bold;
-}
-
-em {
- font-style: italic;
-}
-
-cite {
- font-style: normal;
-}
-
-.muted {
- color: #999999;
-}
-
-a.muted:hover,
-a.muted:focus {
- color: #808080;
-}
-
-.text-warning {
- color: #c09853;
-}
-
-a.text-warning:hover,
-a.text-warning:focus {
- color: #a47e3c;
-}
-
-.text-error {
- color: #b94a48;
-}
-
-a.text-error:hover,
-a.text-error:focus {
- color: #953b39;
-}
-
-.text-info {
- color: #3a87ad;
-}
-
-a.text-info:hover,
-a.text-info:focus {
- color: #2d6987;
-}
-
-.text-success {
- color: #468847;
-}
-
-a.text-success:hover,
-a.text-success:focus {
- color: #356635;
-}
-
-.text-left {
- text-align: left;
-}
-
-.text-right {
- text-align: right;
-}
-
-.text-center {
- text-align: center;
-}
-
-h1,
-h2,
-h3,
-h4,
-h5,
-h6 {
- margin: 10px 0;
- font-family: inherit;
- font-weight: bold;
- line-height: 20px;
- color: inherit;
- text-rendering: optimizelegibility;
-}
-
-h1 small,
-h2 small,
-h3 small,
-h4 small,
-h5 small,
-h6 small {
- font-weight: normal;
- line-height: 1;
- color: #999999;
-}
-
-h1,
-h2,
-h3 {
- line-height: 40px;
-}
-
-h1 {
- font-size: 38.5px;
-}
-
-h2 {
- font-size: 31.5px;
-}
-
-h3 {
- font-size: 24.5px;
-}
-
-h4 {
- font-size: 17.5px;
-}
-
-h5 {
- font-size: 14px;
-}
-
-h6 {
- font-size: 11.9px;
-}
-
-h1 small {
- font-size: 24.5px;
-}
-
-h2 small {
- font-size: 17.5px;
-}
-
-h3 small {
- font-size: 14px;
-}
-
-h4 small {
- font-size: 14px;
-}
-
-.page-header {
- padding-bottom: 9px;
- margin: 20px 0 30px;
- border-bottom: 1px solid #eeeeee;
-}
-
-ul,
-ol {
- padding: 0;
- margin: 0 0 10px 25px;
-}
-
-ul ul,
-ul ol,
-ol ol,
-ol ul {
- margin-bottom: 0;
-}
-
-li {
- line-height: 20px;
-}
-
-ul.unstyled,
-ol.unstyled {
- margin-left: 0;
- list-style: none;
-}
-
-ul.inline,
-ol.inline {
- margin-left: 0;
- list-style: none;
-}
-
-ul.inline > li,
-ol.inline > li {
- display: inline-block;
- *display: inline;
- padding-right: 5px;
- padding-left: 5px;
- *zoom: 1;
-}
-
-dl {
- margin-bottom: 20px;
-}
-
-dt,
-dd {
- line-height: 20px;
-}
-
-dt {
- font-weight: bold;
-}
-
-dd {
- margin-left: 10px;
-}
-
-.dl-horizontal {
- *zoom: 1;
-}
-
-.dl-horizontal:before,
-.dl-horizontal:after {
- display: table;
- line-height: 0;
- content: "";
-}
-
-.dl-horizontal:after {
- clear: both;
-}
-
-.dl-horizontal dt {
- float: left;
- width: 160px;
- overflow: hidden;
- clear: left;
- text-align: right;
- text-overflow: ellipsis;
- white-space: nowrap;
-}
-
-.dl-horizontal dd {
- margin-left: 180px;
-}
-
-hr {
- margin: 20px 0;
- border: 0;
- border-top: 1px solid #eeeeee;
- border-bottom: 1px solid #ffffff;
-}
-
-abbr[title],
-abbr[data-original-title] {
- cursor: help;
- border-bottom: 1px dotted #999999;
-}
-
-abbr.initialism {
- font-size: 90%;
- text-transform: uppercase;
-}
-
-blockquote {
- padding: 0 0 0 15px;
- margin: 0 0 20px;
- border-left: 5px solid #eeeeee;
-}
-
-blockquote p {
- margin-bottom: 0;
- font-size: 17.5px;
- font-weight: 300;
- line-height: 1.25;
-}
-
-blockquote small {
- display: block;
- line-height: 20px;
- color: #999999;
-}
-
-blockquote small:before {
- content: '\2014 \00A0';
-}
-
-blockquote.pull-right {
- float: right;
- padding-right: 15px;
- padding-left: 0;
- border-right: 5px solid #eeeeee;
- border-left: 0;
-}
-
-blockquote.pull-right p,
-blockquote.pull-right small {
- text-align: right;
-}
-
-blockquote.pull-right small:before {
- content: '';
-}
-
-blockquote.pull-right small:after {
- content: '\00A0 \2014';
-}
-
-q:before,
-q:after,
-blockquote:before,
-blockquote:after {
- content: "";
-}
-
-address {
- display: block;
- margin-bottom: 20px;
- font-style: normal;
- line-height: 20px;
-}
-
-code,
-pre {
- padding: 0 3px 2px;
- font-family: Monaco, Menlo, Consolas, "Courier New", monospace;
- font-size: 12px;
- color: #333333;
- -webkit-border-radius: 3px;
- -moz-border-radius: 3px;
- border-radius: 3px;
-}
-
-code {
- padding: 2px 4px;
- color: #d14;
- white-space: nowrap;
- background-color: #f7f7f9;
- border: 1px solid #e1e1e8;
-}
-
-pre {
- display: block;
- padding: 9.5px;
- margin: 0 0 10px;
- font-size: 13px;
- line-height: 20px;
- word-break: break-all;
- word-wrap: break-word;
- white-space: pre;
- white-space: pre-wrap;
- background-color: #f5f5f5;
- border: 1px solid #ccc;
- border: 1px solid rgba(0, 0, 0, 0.15);
- -webkit-border-radius: 4px;
- -moz-border-radius: 4px;
- border-radius: 4px;
-}
-
-pre.prettyprint {
- margin-bottom: 20px;
-}
-
-pre code {
- padding: 0;
- color: inherit;
- white-space: pre;
- white-space: pre-wrap;
- background-color: transparent;
- border: 0;
-}
-
-.pre-scrollable {
- max-height: 340px;
- overflow-y: scroll;
-}
-
-form {
- margin: 0 0 20px;
-}
-
-fieldset {
- padding: 0;
- margin: 0;
- border: 0;
-}
-
-legend {
- display: block;
- width: 100%;
- padding: 0;
- margin-bottom: 20px;
- font-size: 21px;
- line-height: 40px;
- color: #333333;
- border: 0;
- border-bottom: 1px solid #e5e5e5;
-}
-
-legend small {
- font-size: 15px;
- color: #999999;
-}
-
-label,
-input,
-button,
-select,
-textarea {
- font-size: 14px;
- font-weight: normal;
- line-height: 20px;
-}
-
-input,
-button,
-select,
-textarea {
- font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
-}
-
-label {
- display: block;
- margin-bottom: 5px;
-}
-
-select,
-textarea,
-input[type="text"],
-input[type="password"],
-input[type="datetime"],
-input[type="datetime-local"],
-input[type="date"],
-input[type="month"],
-input[type="time"],
-input[type="week"],
-input[type="number"],
-input[type="email"],
-input[type="url"],
-input[type="search"],
-input[type="tel"],
-input[type="color"],
-.uneditable-input {
- display: inline-block;
- height: 20px;
- padding: 4px 6px;
- margin-bottom: 10px;
- font-size: 14px;
- line-height: 20px;
- color: #555555;
- vertical-align: middle;
- -webkit-border-radius: 4px;
- -moz-border-radius: 4px;
- border-radius: 4px;
-}
-
-input,
-textarea,
-.uneditable-input {
- width: 206px;
-}
-
-textarea {
- height: auto;
-}
-
-textarea,
-input[type="text"],
-input[type="password"],
-input[type="datetime"],
-input[type="datetime-local"],
-input[type="date"],
-input[type="month"],
-input[type="time"],
-input[type="week"],
-input[type="number"],
-input[type="email"],
-input[type="url"],
-input[type="search"],
-input[type="tel"],
-input[type="color"],
-.uneditable-input {
- background-color: #ffffff;
- border: 1px solid #cccccc;
- -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
- -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
- box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
- -webkit-transition: border linear 0.2s, box-shadow linear 0.2s;
- -moz-transition: border linear 0.2s, box-shadow linear 0.2s;
- -o-transition: border linear 0.2s, box-shadow linear 0.2s;
- transition: border linear 0.2s, box-shadow linear 0.2s;
-}
-
-textarea:focus,
-input[type="text"]:focus,
-input[type="password"]:focus,
-input[type="datetime"]:focus,
-input[type="datetime-local"]:focus,
-input[type="date"]:focus,
-input[type="month"]:focus,
-input[type="time"]:focus,
-input[type="week"]:focus,
-input[type="number"]:focus,
-input[type="email"]:focus,
-input[type="url"]:focus,
-input[type="search"]:focus,
-input[type="tel"]:focus,
-input[type="color"]:focus,
-.uneditable-input:focus {
- border-color: rgba(82, 168, 236, 0.8);
- outline: 0;
- outline: thin dotted \9;
- /* IE6-9 */
-
- -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6);
- -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6);
- box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6);
-}
-
-input[type="radio"],
-input[type="checkbox"] {
- margin: 4px 0 0;
- margin-top: 1px \9;
- *margin-top: 0;
- line-height: normal;
-}
-
-input[type="file"],
-input[type="image"],
-input[type="submit"],
-input[type="reset"],
-input[type="button"],
-input[type="radio"],
-input[type="checkbox"] {
- width: auto;
-}
-
-select,
-input[type="file"] {
- height: 30px;
- /* In IE7, the height of the select element cannot be changed by height, only font-size */
-
- *margin-top: 4px;
- /* For IE7, add top margin to align select with labels */
-
- line-height: 30px;
-}
-
-select {
- width: 220px;
- background-color: #ffffff;
- border: 1px solid #cccccc;
-}
-
-select[multiple],
-select[size] {
- height: auto;
-}
-
-select:focus,
-input[type="file"]:focus,
-input[type="radio"]:focus,
-input[type="checkbox"]:focus {
- outline: thin dotted #333;
- outline: 5px auto -webkit-focus-ring-color;
- outline-offset: -2px;
-}
-
-.uneditable-input,
-.uneditable-textarea {
- color: #999999;
- cursor: not-allowed;
- background-color: #fcfcfc;
- border-color: #cccccc;
- -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025);
- -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025);
- box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025);
-}
-
-.uneditable-input {
- overflow: hidden;
- white-space: nowrap;
-}
-
-.uneditable-textarea {
- width: auto;
- height: auto;
-}
-
-input:-moz-placeholder,
-textarea:-moz-placeholder {
- color: #999999;
-}
-
-input:-ms-input-placeholder,
-textarea:-ms-input-placeholder {
- color: #999999;
-}
-
-input::-webkit-input-placeholder,
-textarea::-webkit-input-placeholder {
- color: #999999;
-}
-
-.radio,
-.checkbox {
- min-height: 20px;
- padding-left: 20px;
-}
-
-.radio input[type="radio"],
-.checkbox input[type="checkbox"] {
- float: left;
- margin-left: -20px;
-}
-
-.controls > .radio:first-child,
-.controls > .checkbox:first-child {
- padding-top: 5px;
-}
-
-.radio.inline,
-.checkbox.inline {
- display: inline-block;
- padding-top: 5px;
- margin-bottom: 0;
- vertical-align: middle;
-}
-
-.radio.inline + .radio.inline,
-.checkbox.inline + .checkbox.inline {
- margin-left: 10px;
-}
-
-.input-mini {
- width: 60px;
-}
-
-.input-small {
- width: 90px;
-}
-
-.input-medium {
- width: 150px;
-}
-
-.input-large {
- width: 210px;
-}
-
-.input-xlarge {
- width: 270px;
-}
-
-.input-xxlarge {
- width: 530px;
-}
-
-input[class*="span"],
-select[class*="span"],
-textarea[class*="span"],
-.uneditable-input[class*="span"],
-.row-fluid input[class*="span"],
-.row-fluid select[class*="span"],
-.row-fluid textarea[class*="span"],
-.row-fluid .uneditable-input[class*="span"] {
- float: none;
- margin-left: 0;
-}
-
-.input-append input[class*="span"],
-.input-append .uneditable-input[class*="span"],
-.input-prepend input[class*="span"],
-.input-prepend .uneditable-input[class*="span"],
-.row-fluid input[class*="span"],
-.row-fluid select[class*="span"],
-.row-fluid textarea[class*="span"],
-.row-fluid .uneditable-input[class*="span"],
-.row-fluid .input-prepend [class*="span"],
-.row-fluid .input-append [class*="span"] {
- display: inline-block;
-}
-
-input,
-textarea,
-.uneditable-input {
- margin-left: 0;
-}
-
-.controls-row [class*="span"] + [class*="span"] {
- margin-left: 20px;
-}
-
-input.span12,
-textarea.span12,
-.uneditable-input.span12 {
- width: 926px;
-}
-
-input.span11,
-textarea.span11,
-.uneditable-input.span11 {
- width: 846px;
-}
-
-input.span10,
-textarea.span10,
-.uneditable-input.span10 {
- width: 766px;
-}
-
-input.span9,
-textarea.span9,
-.uneditable-input.span9 {
- width: 686px;
-}
-
-input.span8,
-textarea.span8,
-.uneditable-input.span8 {
- width: 606px;
-}
-
-input.span7,
-textarea.span7,
-.uneditable-input.span7 {
- width: 526px;
-}
-
-input.span6,
-textarea.span6,
-.uneditable-input.span6 {
- width: 446px;
-}
-
-input.span5,
-textarea.span5,
-.uneditable-input.span5 {
- width: 366px;
-}
-
-input.span4,
-textarea.span4,
-.uneditable-input.span4 {
- width: 286px;
-}
-
-input.span3,
-textarea.span3,
-.uneditable-input.span3 {
- width: 206px;
-}
-
-input.span2,
-textarea.span2,
-.uneditable-input.span2 {
- width: 126px;
-}
-
-input.span1,
-textarea.span1,
-.uneditable-input.span1 {
- width: 46px;
-}
-
-.controls-row {
- *zoom: 1;
-}
-
-.controls-row:before,
-.controls-row:after {
- display: table;
- line-height: 0;
- content: "";
-}
-
-.controls-row:after {
- clear: both;
-}
-
-.controls-row [class*="span"],
-.row-fluid .controls-row [class*="span"] {
- float: left;
-}
-
-.controls-row .checkbox[class*="span"],
-.controls-row .radio[class*="span"] {
- padding-top: 5px;
-}
-
-input[disabled],
-select[disabled],
-textarea[disabled],
-input[readonly],
-select[readonly],
-textarea[readonly] {
- cursor: not-allowed;
- background-color: #eeeeee;
-}
-
-input[type="radio"][disabled],
-input[type="checkbox"][disabled],
-input[type="radio"][readonly],
-input[type="checkbox"][readonly] {
- background-color: transparent;
-}
-
-.control-group.warning .control-label,
-.control-group.warning .help-block,
-.control-group.warning .help-inline {
- color: #c09853;
-}
-
-.control-group.warning .checkbox,
-.control-group.warning .radio,
-.control-group.warning input,
-.control-group.warning select,
-.control-group.warning textarea {
- color: #c09853;
-}
-
-.control-group.warning input,
-.control-group.warning select,
-.control-group.warning textarea {
- border-color: #c09853;
- -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
- -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
- box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
-}
-
-.control-group.warning input:focus,
-.control-group.warning select:focus,
-.control-group.warning textarea:focus {
- border-color: #a47e3c;
- -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #dbc59e;
- -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #dbc59e;
- box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #dbc59e;
-}
-
-.control-group.warning .input-prepend .add-on,
-.control-group.warning .input-append .add-on {
- color: #c09853;
- background-color: #fcf8e3;
- border-color: #c09853;
-}
-
-.control-group.error .control-label,
-.control-group.error .help-block,
-.control-group.error .help-inline {
- color: #b94a48;
-}
-
-.control-group.error .checkbox,
-.control-group.error .radio,
-.control-group.error input,
-.control-group.error select,
-.control-group.error textarea {
- color: #b94a48;
-}
-
-.control-group.error input,
-.control-group.error select,
-.control-group.error textarea {
- border-color: #b94a48;
- -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
- -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
- box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
-}
-
-.control-group.error input:focus,
-.control-group.error select:focus,
-.control-group.error textarea:focus {
- border-color: #953b39;
- -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #d59392;
- -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #d59392;
- box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #d59392;
-}
-
-.control-group.error .input-prepend .add-on,
-.control-group.error .input-append .add-on {
- color: #b94a48;
- background-color: #f2dede;
- border-color: #b94a48;
-}
-
-.control-group.success .control-label,
-.control-group.success .help-block,
-.control-group.success .help-inline {
- color: #468847;
-}
-
-.control-group.success .checkbox,
-.control-group.success .radio,
-.control-group.success input,
-.control-group.success select,
-.control-group.success textarea {
- color: #468847;
-}
-
-.control-group.success input,
-.control-group.success select,
-.control-group.success textarea {
- border-color: #468847;
- -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
- -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
- box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
-}
-
-.control-group.success input:focus,
-.control-group.success select:focus,
-.control-group.success textarea:focus {
- border-color: #356635;
- -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7aba7b;
- -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7aba7b;
- box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7aba7b;
-}
-
-.control-group.success .input-prepend .add-on,
-.control-group.success .input-append .add-on {
- color: #468847;
- background-color: #dff0d8;
- border-color: #468847;
-}
-
-.control-group.info .control-label,
-.control-group.info .help-block,
-.control-group.info .help-inline {
- color: #3a87ad;
-}
-
-.control-group.info .checkbox,
-.control-group.info .radio,
-.control-group.info input,
-.control-group.info select,
-.control-group.info textarea {
- color: #3a87ad;
-}
-
-.control-group.info input,
-.control-group.info select,
-.control-group.info textarea {
- border-color: #3a87ad;
- -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
- -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
- box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
-}
-
-.control-group.info input:focus,
-.control-group.info select:focus,
-.control-group.info textarea:focus {
- border-color: #2d6987;
- -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7ab5d3;
- -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7ab5d3;
- box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7ab5d3;
-}
-
-.control-group.info .input-prepend .add-on,
-.control-group.info .input-append .add-on {
- color: #3a87ad;
- background-color: #d9edf7;
- border-color: #3a87ad;
-}
-
-input:focus:invalid,
-textarea:focus:invalid,
-select:focus:invalid {
- color: #b94a48;
- border-color: #ee5f5b;
-}
-
-input:focus:invalid:focus,
-textarea:focus:invalid:focus,
-select:focus:invalid:focus {
- border-color: #e9322d;
- -webkit-box-shadow: 0 0 6px #f8b9b7;
- -moz-box-shadow: 0 0 6px #f8b9b7;
- box-shadow: 0 0 6px #f8b9b7;
-}
-
-.form-actions {
- padding: 19px 20px 20px;
- margin-top: 20px;
- margin-bottom: 20px;
- background-color: #f5f5f5;
- border-top: 1px solid #e5e5e5;
- *zoom: 1;
-}
-
-.form-actions:before,
-.form-actions:after {
- display: table;
- line-height: 0;
- content: "";
-}
-
-.form-actions:after {
- clear: both;
-}
-
-.help-block,
-.help-inline {
- color: #595959;
-}
-
-.help-block {
- display: block;
- margin-bottom: 10px;
-}
-
-.help-inline {
- display: inline-block;
- *display: inline;
- padding-left: 5px;
- vertical-align: middle;
- *zoom: 1;
-}
-
-.input-append,
-.input-prepend {
- display: inline-block;
- margin-bottom: 10px;
- font-size: 0;
- white-space: nowrap;
- vertical-align: middle;
-}
-
-.input-append input,
-.input-prepend input,
-.input-append select,
-.input-prepend select,
-.input-append .uneditable-input,
-.input-prepend .uneditable-input,
-.input-append .dropdown-menu,
-.input-prepend .dropdown-menu,
-.input-append .popover,
-.input-prepend .popover {
- font-size: 14px;
-}
-
-.input-append input,
-.input-prepend input,
-.input-append select,
-.input-prepend select,
-.input-append .uneditable-input,
-.input-prepend .uneditable-input {
- position: relative;
- margin-bottom: 0;
- *margin-left: 0;
- vertical-align: top;
- -webkit-border-radius: 0 4px 4px 0;
- -moz-border-radius: 0 4px 4px 0;
- border-radius: 0 4px 4px 0;
-}
-
-.input-append input:focus,
-.input-prepend input:focus,
-.input-append select:focus,
-.input-prepend select:focus,
-.input-append .uneditable-input:focus,
-.input-prepend .uneditable-input:focus {
- z-index: 2;
-}
-
-.input-append .add-on,
-.input-prepend .add-on {
- display: inline-block;
- width: auto;
- height: 20px;
- min-width: 16px;
- padding: 4px 5px;
- font-size: 14px;
- font-weight: normal;
- line-height: 20px;
- text-align: center;
- text-shadow: 0 1px 0 #ffffff;
- background-color: #eeeeee;
- border: 1px solid #ccc;
-}
-
-.input-append .add-on,
-.input-prepend .add-on,
-.input-append .btn,
-.input-prepend .btn,
-.input-append .btn-group > .dropdown-toggle,
-.input-prepend .btn-group > .dropdown-toggle {
- vertical-align: top;
- -webkit-border-radius: 0;
- -moz-border-radius: 0;
- border-radius: 0;
-}
-
-.input-append .active,
-.input-prepend .active {
- background-color: #a9dba9;
- border-color: #46a546;
-}
-
-.input-prepend .add-on,
-.input-prepend .btn {
- margin-right: -1px;
-}
-
-.input-prepend .add-on:first-child,
-.input-prepend .btn:first-child {
- -webkit-border-radius: 4px 0 0 4px;
- -moz-border-radius: 4px 0 0 4px;
- border-radius: 4px 0 0 4px;
-}
-
-.input-append input,
-.input-append select,
-.input-append .uneditable-input {
- -webkit-border-radius: 4px 0 0 4px;
- -moz-border-radius: 4px 0 0 4px;
- border-radius: 4px 0 0 4px;
-}
-
-.input-append input + .btn-group .btn:last-child,
-.input-append select + .btn-group .btn:last-child,
-.input-append .uneditable-input + .btn-group .btn:last-child {
- -webkit-border-radius: 0 4px 4px 0;
- -moz-border-radius: 0 4px 4px 0;
- border-radius: 0 4px 4px 0;
-}
-
-.input-append .add-on,
-.input-append .btn,
-.input-append .btn-group {
- margin-left: -1px;
-}
-
-.input-append .add-on:last-child,
-.input-append .btn:last-child,
-.input-append .btn-group:last-child > .dropdown-toggle {
- -webkit-border-radius: 0 4px 4px 0;
- -moz-border-radius: 0 4px 4px 0;
- border-radius: 0 4px 4px 0;
-}
-
-.input-prepend.input-append input,
-.input-prepend.input-append select,
-.input-prepend.input-append .uneditable-input {
- -webkit-border-radius: 0;
- -moz-border-radius: 0;
- border-radius: 0;
-}
-
-.input-prepend.input-append input + .btn-group .btn,
-.input-prepend.input-append select + .btn-group .btn,
-.input-prepend.input-append .uneditable-input + .btn-group .btn {
- -webkit-border-radius: 0 4px 4px 0;
- -moz-border-radius: 0 4px 4px 0;
- border-radius: 0 4px 4px 0;
-}
-
-.input-prepend.input-append .add-on:first-child,
-.input-prepend.input-append .btn:first-child {
- margin-right: -1px;
- -webkit-border-radius: 4px 0 0 4px;
- -moz-border-radius: 4px 0 0 4px;
- border-radius: 4px 0 0 4px;
-}
-
-.input-prepend.input-append .add-on:last-child,
-.input-prepend.input-append .btn:last-child {
- margin-left: -1px;
- -webkit-border-radius: 0 4px 4px 0;
- -moz-border-radius: 0 4px 4px 0;
- border-radius: 0 4px 4px 0;
-}
-
-.input-prepend.input-append .btn-group:first-child {
- margin-left: 0;
-}
-
-input.search-query {
- padding-right: 14px;
- padding-right: 4px \9;
- padding-left: 14px;
- padding-left: 4px \9;
- /* IE7-8 doesn't have border-radius, so don't indent the padding */
-
- margin-bottom: 0;
- -webkit-border-radius: 15px;
- -moz-border-radius: 15px;
- border-radius: 15px;
-}
-
-/* Allow for input prepend/append in search forms */
-
-.form-search .input-append .search-query,
-.form-search .input-prepend .search-query {
- -webkit-border-radius: 0;
- -moz-border-radius: 0;
- border-radius: 0;
-}
-
-.form-search .input-append .search-query {
- -webkit-border-radius: 14px 0 0 14px;
- -moz-border-radius: 14px 0 0 14px;
- border-radius: 14px 0 0 14px;
-}
-
-.form-search .input-append .btn {
- -webkit-border-radius: 0 14px 14px 0;
- -moz-border-radius: 0 14px 14px 0;
- border-radius: 0 14px 14px 0;
-}
-
-.form-search .input-prepend .search-query {
- -webkit-border-radius: 0 14px 14px 0;
- -moz-border-radius: 0 14px 14px 0;
- border-radius: 0 14px 14px 0;
-}
-
-.form-search .input-prepend .btn {
- -webkit-border-radius: 14px 0 0 14px;
- -moz-border-radius: 14px 0 0 14px;
- border-radius: 14px 0 0 14px;
-}
-
-.form-search input,
-.form-inline input,
-.form-horizontal input,
-.form-search textarea,
-.form-inline textarea,
-.form-horizontal textarea,
-.form-search select,
-.form-inline select,
-.form-horizontal select,
-.form-search .help-inline,
-.form-inline .help-inline,
-.form-horizontal .help-inline,
-.form-search .uneditable-input,
-.form-inline .uneditable-input,
-.form-horizontal .uneditable-input,
-.form-search .input-prepend,
-.form-inline .input-prepend,
-.form-horizontal .input-prepend,
-.form-search .input-append,
-.form-inline .input-append,
-.form-horizontal .input-append {
- display: inline-block;
- *display: inline;
- margin-bottom: 0;
- vertical-align: middle;
- *zoom: 1;
-}
-
-.form-search .hide,
-.form-inline .hide,
-.form-horizontal .hide {
- display: none;
-}
-
-.form-search label,
-.form-inline label,
-.form-search .btn-group,
-.form-inline .btn-group {
- display: inline-block;
-}
-
-.form-search .input-append,
-.form-inline .input-append,
-.form-search .input-prepend,
-.form-inline .input-prepend {
- margin-bottom: 0;
-}
-
-.form-search .radio,
-.form-search .checkbox,
-.form-inline .radio,
-.form-inline .checkbox {
- padding-left: 0;
- margin-bottom: 0;
- vertical-align: middle;
-}
-
-.form-search .radio input[type="radio"],
-.form-search .checkbox input[type="checkbox"],
-.form-inline .radio input[type="radio"],
-.form-inline .checkbox input[type="checkbox"] {
- float: left;
- margin-right: 3px;
- margin-left: 0;
-}
-
-.control-group {
- margin-bottom: 10px;
-}
-
-legend + .control-group {
- margin-top: 20px;
- -webkit-margin-top-collapse: separate;
-}
-
-.form-horizontal .control-group {
- margin-bottom: 20px;
- *zoom: 1;
-}
-
-.form-horizontal .control-group:before,
-.form-horizontal .control-group:after {
- display: table;
- line-height: 0;
- content: "";
-}
-
-.form-horizontal .control-group:after {
- clear: both;
-}
-
-.form-horizontal .control-label {
- float: left;
- width: 160px;
- padding-top: 5px;
- text-align: right;
-}
-
-.form-horizontal .controls {
- *display: inline-block;
- *padding-left: 20px;
- margin-left: 180px;
- *margin-left: 0;
-}
-
-.form-horizontal .controls:first-child {
- *padding-left: 180px;
-}
-
-.form-horizontal .help-block {
- margin-bottom: 0;
-}
-
-.form-horizontal input + .help-block,
-.form-horizontal select + .help-block,
-.form-horizontal textarea + .help-block,
-.form-horizontal .uneditable-input + .help-block,
-.form-horizontal .input-prepend + .help-block,
-.form-horizontal .input-append + .help-block {
- margin-top: 10px;
-}
-
-.form-horizontal .form-actions {
- padding-left: 180px;
-}
-
-table {
- max-width: 100%;
- background-color: transparent;
- border-collapse: collapse;
- border-spacing: 0;
-}
-
-.table {
- width: 100%;
- margin-bottom: 20px;
-}
-
-.table th,
-.table td {
- padding: 8px;
- line-height: 20px;
- text-align: left;
- vertical-align: top;
- border-top: 1px solid #dddddd;
-}
-
-.table th {
- font-weight: bold;
-}
-
-.table thead th {
- vertical-align: bottom;
-}
-
-.table caption + thead tr:first-child th,
-.table caption + thead tr:first-child td,
-.table colgroup + thead tr:first-child th,
-.table colgroup + thead tr:first-child td,
-.table thead:first-child tr:first-child th,
-.table thead:first-child tr:first-child td {
- border-top: 0;
-}
-
-.table tbody + tbody {
- border-top: 2px solid #dddddd;
-}
-
-.table .table {
- background-color: #ffffff;
-}
-
-.table-condensed th,
-.table-condensed td {
- padding: 4px 5px;
-}
-
-.table-bordered {
- border: 1px solid #dddddd;
- border-collapse: separate;
- *border-collapse: collapse;
- border-left: 0;
- -webkit-border-radius: 4px;
- -moz-border-radius: 4px;
- border-radius: 4px;
-}
-
-.table-bordered th,
-.table-bordered td {
- border-left: 1px solid #dddddd;
-}
-
-.table-bordered caption + thead tr:first-child th,
-.table-bordered caption + tbody tr:first-child th,
-.table-bordered caption + tbody tr:first-child td,
-.table-bordered colgroup + thead tr:first-child th,
-.table-bordered colgroup + tbody tr:first-child th,
-.table-bordered colgroup + tbody tr:first-child td,
-.table-bordered thead:first-child tr:first-child th,
-.table-bordered tbody:first-child tr:first-child th,
-.table-bordered tbody:first-child tr:first-child td {
- border-top: 0;
-}
-
-.table-bordered thead:first-child tr:first-child > th:first-child,
-.table-bordered tbody:first-child tr:first-child > td:first-child,
-.table-bordered tbody:first-child tr:first-child > th:first-child {
- -webkit-border-top-left-radius: 4px;
- border-top-left-radius: 4px;
- -moz-border-radius-topleft: 4px;
-}
-
-.table-bordered thead:first-child tr:first-child > th:last-child,
-.table-bordered tbody:first-child tr:first-child > td:last-child,
-.table-bordered tbody:first-child tr:first-child > th:last-child {
- -webkit-border-top-right-radius: 4px;
- border-top-right-radius: 4px;
- -moz-border-radius-topright: 4px;
-}
-
-.table-bordered thead:last-child tr:last-child > th:first-child,
-.table-bordered tbody:last-child tr:last-child > td:first-child,
-.table-bordered tbody:last-child tr:last-child > th:first-child,
-.table-bordered tfoot:last-child tr:last-child > td:first-child,
-.table-bordered tfoot:last-child tr:last-child > th:first-child {
- -webkit-border-bottom-left-radius: 4px;
- border-bottom-left-radius: 4px;
- -moz-border-radius-bottomleft: 4px;
-}
-
-.table-bordered thead:last-child tr:last-child > th:last-child,
-.table-bordered tbody:last-child tr:last-child > td:last-child,
-.table-bordered tbody:last-child tr:last-child > th:last-child,
-.table-bordered tfoot:last-child tr:last-child > td:last-child,
-.table-bordered tfoot:last-child tr:last-child > th:last-child {
- -webkit-border-bottom-right-radius: 4px;
- border-bottom-right-radius: 4px;
- -moz-border-radius-bottomright: 4px;
-}
-
-.table-bordered tfoot + tbody:last-child tr:last-child td:first-child {
- -webkit-border-bottom-left-radius: 0;
- border-bottom-left-radius: 0;
- -moz-border-radius-bottomleft: 0;
-}
-
-.table-bordered tfoot + tbody:last-child tr:last-child td:last-child {
- -webkit-border-bottom-right-radius: 0;
- border-bottom-right-radius: 0;
- -moz-border-radius-bottomright: 0;
-}
-
-.table-bordered caption + thead tr:first-child th:first-child,
-.table-bordered caption + tbody tr:first-child td:first-child,
-.table-bordered colgroup + thead tr:first-child th:first-child,
-.table-bordered colgroup + tbody tr:first-child td:first-child {
- -webkit-border-top-left-radius: 4px;
- border-top-left-radius: 4px;
- -moz-border-radius-topleft: 4px;
-}
-
-.table-bordered caption + thead tr:first-child th:last-child,
-.table-bordered caption + tbody tr:first-child td:last-child,
-.table-bordered colgroup + thead tr:first-child th:last-child,
-.table-bordered colgroup + tbody tr:first-child td:last-child {
- -webkit-border-top-right-radius: 4px;
- border-top-right-radius: 4px;
- -moz-border-radius-topright: 4px;
-}
-
-.table-striped tbody > tr:nth-child(odd) > td,
-.table-striped tbody > tr:nth-child(odd) > th {
- background-color: #f9f9f9;
-}
-
-.table-hover tbody tr:hover > td,
-.table-hover tbody tr:hover > th {
- background-color: #f5f5f5;
-}
-
-table td[class*="span"],
-table th[class*="span"],
-.row-fluid table td[class*="span"],
-.row-fluid table th[class*="span"] {
- display: table-cell;
- float: none;
- margin-left: 0;
-}
-
-.table td.span1,
-.table th.span1 {
- float: none;
- width: 44px;
- margin-left: 0;
-}
-
-.table td.span2,
-.table th.span2 {
- float: none;
- width: 124px;
- margin-left: 0;
-}
-
-.table td.span3,
-.table th.span3 {
- float: none;
- width: 204px;
- margin-left: 0;
-}
-
-.table td.span4,
-.table th.span4 {
- float: none;
- width: 284px;
- margin-left: 0;
-}
-
-.table td.span5,
-.table th.span5 {
- float: none;
- width: 364px;
- margin-left: 0;
-}
-
-.table td.span6,
-.table th.span6 {
- float: none;
- width: 444px;
- margin-left: 0;
-}
-
-.table td.span7,
-.table th.span7 {
- float: none;
- width: 524px;
- margin-left: 0;
-}
-
-.table td.span8,
-.table th.span8 {
- float: none;
- width: 604px;
- margin-left: 0;
-}
-
-.table td.span9,
-.table th.span9 {
- float: none;
- width: 684px;
- margin-left: 0;
-}
-
-.table td.span10,
-.table th.span10 {
- float: none;
- width: 764px;
- margin-left: 0;
-}
-
-.table td.span11,
-.table th.span11 {
- float: none;
- width: 844px;
- margin-left: 0;
-}
-
-.table td.span12,
-.table th.span12 {
- float: none;
- width: 924px;
- margin-left: 0;
-}
-
-.table tbody tr.success > td {
- background-color: #dff0d8;
-}
-
-.table tbody tr.error > td {
- background-color: #f2dede;
-}
-
-.table tbody tr.warning > td {
- background-color: #fcf8e3;
-}
-
-.table tbody tr.info > td {
- background-color: #d9edf7;
-}
-
-.table-hover tbody tr.success:hover > td {
- background-color: #d0e9c6;
-}
-
-.table-hover tbody tr.error:hover > td {
- background-color: #ebcccc;
-}
-
-.table-hover tbody tr.warning:hover > td {
- background-color: #faf2cc;
-}
-
-.table-hover tbody tr.info:hover > td {
- background-color: #c4e3f3;
-}
-
-[class^="icon-"],
-[class*=" icon-"] {
- display: inline-block;
- width: 14px;
- height: 14px;
- margin-top: 1px;
- *margin-right: .3em;
- line-height: 14px;
- vertical-align: text-top;
- background-image: url("../img/glyphicons-halflings.png");
- background-position: 14px 14px;
- background-repeat: no-repeat;
-}
-
-/* White icons with optional class, or on hover/focus/active states of certain elements */
-
-.icon-white,
-.nav-pills > .active > a > [class^="icon-"],
-.nav-pills > .active > a > [class*=" icon-"],
-.nav-list > .active > a > [class^="icon-"],
-.nav-list > .active > a > [class*=" icon-"],
-.navbar-inverse .nav > .active > a > [class^="icon-"],
-.navbar-inverse .nav > .active > a > [class*=" icon-"],
-.dropdown-menu > li > a:hover > [class^="icon-"],
-.dropdown-menu > li > a:focus > [class^="icon-"],
-.dropdown-menu > li > a:hover > [class*=" icon-"],
-.dropdown-menu > li > a:focus > [class*=" icon-"],
-.dropdown-menu > .active > a > [class^="icon-"],
-.dropdown-menu > .active > a > [class*=" icon-"],
-.dropdown-submenu:hover > a > [class^="icon-"],
-.dropdown-submenu:focus > a > [class^="icon-"],
-.dropdown-submenu:hover > a > [class*=" icon-"],
-.dropdown-submenu:focus > a > [class*=" icon-"] {
- background-image: url("../img/glyphicons-halflings-white.png");
-}
-
-.icon-glass {
- background-position: 0 0;
-}
-
-.icon-music {
- background-position: -24px 0;
-}
-
-.icon-search {
- background-position: -48px 0;
-}
-
-.icon-envelope {
- background-position: -72px 0;
-}
-
-.icon-heart {
- background-position: -96px 0;
-}
-
-.icon-star {
- background-position: -120px 0;
-}
-
-.icon-star-empty {
- background-position: -144px 0;
-}
-
-.icon-user {
- background-position: -168px 0;
-}
-
-.icon-film {
- background-position: -192px 0;
-}
-
-.icon-th-large {
- background-position: -216px 0;
-}
-
-.icon-th {
- background-position: -240px 0;
-}
-
-.icon-th-list {
- background-position: -264px 0;
-}
-
-.icon-ok {
- background-position: -288px 0;
-}
-
-.icon-remove {
- background-position: -312px 0;
-}
-
-.icon-zoom-in {
- background-position: -336px 0;
-}
-
-.icon-zoom-out {
- background-position: -360px 0;
-}
-
-.icon-off {
- background-position: -384px 0;
-}
-
-.icon-signal {
- background-position: -408px 0;
-}
-
-.icon-cog {
- background-position: -432px 0;
-}
-
-.icon-trash {
- background-position: -456px 0;
-}
-
-.icon-home {
- background-position: 0 -24px;
-}
-
-.icon-file {
- background-position: -24px -24px;
-}
-
-.icon-time {
- background-position: -48px -24px;
-}
-
-.icon-road {
- background-position: -72px -24px;
-}
-
-.icon-download-alt {
- background-position: -96px -24px;
-}
-
-.icon-download {
- background-position: -120px -24px;
-}
-
-.icon-upload {
- background-position: -144px -24px;
-}
-
-.icon-inbox {
- background-position: -168px -24px;
-}
-
-.icon-play-circle {
- background-position: -192px -24px;
-}
-
-.icon-repeat {
- background-position: -216px -24px;
-}
-
-.icon-refresh {
- background-position: -240px -24px;
-}
-
-.icon-list-alt {
- background-position: -264px -24px;
-}
-
-.icon-lock {
- background-position: -287px -24px;
-}
-
-.icon-flag {
- background-position: -312px -24px;
-}
-
-.icon-headphones {
- background-position: -336px -24px;
-}
-
-.icon-volume-off {
- background-position: -360px -24px;
-}
-
-.icon-volume-down {
- background-position: -384px -24px;
-}
-
-.icon-volume-up {
- background-position: -408px -24px;
-}
-
-.icon-qrcode {
- background-position: -432px -24px;
-}
-
-.icon-barcode {
- background-position: -456px -24px;
-}
-
-.icon-tag {
- background-position: 0 -48px;
-}
-
-.icon-tags {
- background-position: -25px -48px;
-}
-
-.icon-book {
- background-position: -48px -48px;
-}
-
-.icon-bookmark {
- background-position: -72px -48px;
-}
-
-.icon-print {
- background-position: -96px -48px;
-}
-
-.icon-camera {
- background-position: -120px -48px;
-}
-
-.icon-font {
- background-position: -144px -48px;
-}
-
-.icon-bold {
- background-position: -167px -48px;
-}
-
-.icon-italic {
- background-position: -192px -48px;
-}
-
-.icon-text-height {
- background-position: -216px -48px;
-}
-
-.icon-text-width {
- background-position: -240px -48px;
-}
-
-.icon-align-left {
- background-position: -264px -48px;
-}
-
-.icon-align-center {
- background-position: -288px -48px;
-}
-
-.icon-align-right {
- background-position: -312px -48px;
-}
-
-.icon-align-justify {
- background-position: -336px -48px;
-}
-
-.icon-list {
- background-position: -360px -48px;
-}
-
-.icon-indent-left {
- background-position: -384px -48px;
-}
-
-.icon-indent-right {
- background-position: -408px -48px;
-}
-
-.icon-facetime-video {
- background-position: -432px -48px;
-}
-
-.icon-picture {
- background-position: -456px -48px;
-}
-
-.icon-pencil {
- background-position: 0 -72px;
-}
-
-.icon-map-marker {
- background-position: -24px -72px;
-}
-
-.icon-adjust {
- background-position: -48px -72px;
-}
-
-.icon-tint {
- background-position: -72px -72px;
-}
-
-.icon-edit {
- background-position: -96px -72px;
-}
-
-.icon-share {
- background-position: -120px -72px;
-}
-
-.icon-check {
- background-position: -144px -72px;
-}
-
-.icon-move {
- background-position: -168px -72px;
-}
-
-.icon-step-backward {
- background-position: -192px -72px;
-}
-
-.icon-fast-backward {
- background-position: -216px -72px;
-}
-
-.icon-backward {
- background-position: -240px -72px;
-}
-
-.icon-play {
- background-position: -264px -72px;
-}
-
-.icon-pause {
- background-position: -288px -72px;
-}
-
-.icon-stop {
- background-position: -312px -72px;
-}
-
-.icon-forward {
- background-position: -336px -72px;
-}
-
-.icon-fast-forward {
- background-position: -360px -72px;
-}
-
-.icon-step-forward {
- background-position: -384px -72px;
-}
-
-.icon-eject {
- background-position: -408px -72px;
-}
-
-.icon-chevron-left {
- background-position: -432px -72px;
-}
-
-.icon-chevron-right {
- background-position: -456px -72px;
-}
-
-.icon-plus-sign {
- background-position: 0 -96px;
-}
-
-.icon-minus-sign {
- background-position: -24px -96px;
-}
-
-.icon-remove-sign {
- background-position: -48px -96px;
-}
-
-.icon-ok-sign {
- background-position: -72px -96px;
-}
-
-.icon-question-sign {
- background-position: -96px -96px;
-}
-
-.icon-info-sign {
- background-position: -120px -96px;
-}
-
-.icon-screenshot {
- background-position: -144px -96px;
-}
-
-.icon-remove-circle {
- background-position: -168px -96px;
-}
-
-.icon-ok-circle {
- background-position: -192px -96px;
-}
-
-.icon-ban-circle {
- background-position: -216px -96px;
-}
-
-.icon-arrow-left {
- background-position: -240px -96px;
-}
-
-.icon-arrow-right {
- background-position: -264px -96px;
-}
-
-.icon-arrow-up {
- background-position: -289px -96px;
-}
-
-.icon-arrow-down {
- background-position: -312px -96px;
-}
-
-.icon-share-alt {
- background-position: -336px -96px;
-}
-
-.icon-resize-full {
- background-position: -360px -96px;
-}
-
-.icon-resize-small {
- background-position: -384px -96px;
-}
-
-.icon-plus {
- background-position: -408px -96px;
-}
-
-.icon-minus {
- background-position: -433px -96px;
-}
-
-.icon-asterisk {
- background-position: -456px -96px;
-}
-
-.icon-exclamation-sign {
- background-position: 0 -120px;
-}
-
-.icon-gift {
- background-position: -24px -120px;
-}
-
-.icon-leaf {
- background-position: -48px -120px;
-}
-
-.icon-fire {
- background-position: -72px -120px;
-}
-
-.icon-eye-open {
- background-position: -96px -120px;
-}
-
-.icon-eye-close {
- background-position: -120px -120px;
-}
-
-.icon-warning-sign {
- background-position: -144px -120px;
-}
-
-.icon-plane {
- background-position: -168px -120px;
-}
-
-.icon-calendar {
- background-position: -192px -120px;
-}
-
-.icon-random {
- width: 16px;
- background-position: -216px -120px;
-}
-
-.icon-comment {
- background-position: -240px -120px;
-}
-
-.icon-magnet {
- background-position: -264px -120px;
-}
-
-.icon-chevron-up {
- background-position: -288px -120px;
-}
-
-.icon-chevron-down {
- background-position: -313px -119px;
-}
-
-.icon-retweet {
- background-position: -336px -120px;
-}
-
-.icon-shopping-cart {
- background-position: -360px -120px;
-}
-
-.icon-folder-close {
- width: 16px;
- background-position: -384px -120px;
-}
-
-.icon-folder-open {
- width: 16px;
- background-position: -408px -120px;
-}
-
-.icon-resize-vertical {
- background-position: -432px -119px;
-}
-
-.icon-resize-horizontal {
- background-position: -456px -118px;
-}
-
-.icon-hdd {
- background-position: 0 -144px;
-}
-
-.icon-bullhorn {
- background-position: -24px -144px;
-}
-
-.icon-bell {
- background-position: -48px -144px;
-}
-
-.icon-certificate {
- background-position: -72px -144px;
-}
-
-.icon-thumbs-up {
- background-position: -96px -144px;
-}
-
-.icon-thumbs-down {
- background-position: -120px -144px;
-}
-
-.icon-hand-right {
- background-position: -144px -144px;
-}
-
-.icon-hand-left {
- background-position: -168px -144px;
-}
-
-.icon-hand-up {
- background-position: -192px -144px;
-}
-
-.icon-hand-down {
- background-position: -216px -144px;
-}
-
-.icon-circle-arrow-right {
- background-position: -240px -144px;
-}
-
-.icon-circle-arrow-left {
- background-position: -264px -144px;
-}
-
-.icon-circle-arrow-up {
- background-position: -288px -144px;
-}
-
-.icon-circle-arrow-down {
- background-position: -312px -144px;
-}
-
-.icon-globe {
- background-position: -336px -144px;
-}
-
-.icon-wrench {
- background-position: -360px -144px;
-}
-
-.icon-tasks {
- background-position: -384px -144px;
-}
-
-.icon-filter {
- background-position: -408px -144px;
-}
-
-.icon-briefcase {
- background-position: -432px -144px;
-}
-
-.icon-fullscreen {
- background-position: -456px -144px;
-}
-
-.dropup,
-.dropdown {
- position: relative;
-}
-
-.dropdown-toggle {
- *margin-bottom: -3px;
-}
-
-.dropdown-toggle:active,
-.open .dropdown-toggle {
- outline: 0;
-}
-
-.caret {
- display: inline-block;
- width: 0;
- height: 0;
- vertical-align: top;
- border-top: 4px solid #000000;
- border-right: 4px solid transparent;
- border-left: 4px solid transparent;
- content: "";
-}
-
-.dropdown .caret {
- margin-top: 8px;
- margin-left: 2px;
-}
-
-.dropdown-menu {
- position: absolute;
- top: 100%;
- left: 0;
- z-index: 1000;
- display: none;
- float: left;
- min-width: 160px;
- padding: 5px 0;
- margin: 2px 0 0;
- list-style: none;
- background-color: #ffffff;
- border: 1px solid #ccc;
- border: 1px solid rgba(0, 0, 0, 0.2);
- *border-right-width: 2px;
- *border-bottom-width: 2px;
- -webkit-border-radius: 6px;
- -moz-border-radius: 6px;
- border-radius: 6px;
- -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
- -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
- box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
- -webkit-background-clip: padding-box;
- -moz-background-clip: padding;
- background-clip: padding-box;
-}
-
-.dropdown-menu.pull-right {
- right: 0;
- left: auto;
-}
-
-.dropdown-menu .divider {
- *width: 100%;
- height: 1px;
- margin: 9px 1px;
- *margin: -5px 0 5px;
- overflow: hidden;
- background-color: #e5e5e5;
- border-bottom: 1px solid #ffffff;
-}
-
-.dropdown-menu > li > a {
- display: block;
- padding: 3px 20px;
- clear: both;
- font-weight: normal;
- line-height: 20px;
- color: #333333;
- white-space: nowrap;
-}
-
-.dropdown-menu > li > a:hover,
-.dropdown-menu > li > a:focus,
-.dropdown-submenu:hover > a,
-.dropdown-submenu:focus > a {
- color: #ffffff;
- text-decoration: none;
- background-color: #0081c2;
- background-image: -moz-linear-gradient(top, #0088cc, #0077b3);
- background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0077b3));
- background-image: -webkit-linear-gradient(top, #0088cc, #0077b3);
- background-image: -o-linear-gradient(top, #0088cc, #0077b3);
- background-image: linear-gradient(to bottom, #0088cc, #0077b3);
- background-repeat: repeat-x;
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc', endColorstr='#ff0077b3', GradientType=0);
-}
-
-.dropdown-menu > .active > a,
-.dropdown-menu > .active > a:hover,
-.dropdown-menu > .active > a:focus {
- color: #ffffff;
- text-decoration: none;
- background-color: #0081c2;
- background-image: -moz-linear-gradient(top, #0088cc, #0077b3);
- background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0077b3));
- background-image: -webkit-linear-gradient(top, #0088cc, #0077b3);
- background-image: -o-linear-gradient(top, #0088cc, #0077b3);
- background-image: linear-gradient(to bottom, #0088cc, #0077b3);
- background-repeat: repeat-x;
- outline: 0;
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc', endColorstr='#ff0077b3', GradientType=0);
-}
-
-.dropdown-menu > .disabled > a,
-.dropdown-menu > .disabled > a:hover,
-.dropdown-menu > .disabled > a:focus {
- color: #999999;
-}
-
-.dropdown-menu > .disabled > a:hover,
-.dropdown-menu > .disabled > a:focus {
- text-decoration: none;
- cursor: default;
- background-color: transparent;
- background-image: none;
- filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
-}
-
-.open {
- *z-index: 1000;
-}
-
-.open > .dropdown-menu {
- display: block;
-}
-
-.pull-right > .dropdown-menu {
- right: 0;
- left: auto;
-}
-
-.dropup .caret,
-.navbar-fixed-bottom .dropdown .caret {
- border-top: 0;
- border-bottom: 4px solid #000000;
- content: "";
-}
-
-.dropup .dropdown-menu,
-.navbar-fixed-bottom .dropdown .dropdown-menu {
- top: auto;
- bottom: 100%;
- margin-bottom: 1px;
-}
-
-.dropdown-submenu {
- position: relative;
-}
-
-.dropdown-submenu > .dropdown-menu {
- top: 0;
- left: 100%;
- margin-top: -6px;
- margin-left: -1px;
- -webkit-border-radius: 0 6px 6px 6px;
- -moz-border-radius: 0 6px 6px 6px;
- border-radius: 0 6px 6px 6px;
-}
-
-.dropdown-submenu:hover > .dropdown-menu {
- display: block;
-}
-
-.dropup .dropdown-submenu > .dropdown-menu {
- top: auto;
- bottom: 0;
- margin-top: 0;
- margin-bottom: -2px;
- -webkit-border-radius: 5px 5px 5px 0;
- -moz-border-radius: 5px 5px 5px 0;
- border-radius: 5px 5px 5px 0;
-}
-
-.dropdown-submenu > a:after {
- display: block;
- float: right;
- width: 0;
- height: 0;
- margin-top: 5px;
- margin-right: -10px;
- border-color: transparent;
- border-left-color: #cccccc;
- border-style: solid;
- border-width: 5px 0 5px 5px;
- content: " ";
-}
-
-.dropdown-submenu:hover > a:after {
- border-left-color: #ffffff;
-}
-
-.dropdown-submenu.pull-left {
- float: none;
-}
-
-.dropdown-submenu.pull-left > .dropdown-menu {
- left: -100%;
- margin-left: 10px;
- -webkit-border-radius: 6px 0 6px 6px;
- -moz-border-radius: 6px 0 6px 6px;
- border-radius: 6px 0 6px 6px;
-}
-
-.dropdown .dropdown-menu .nav-header {
- padding-right: 20px;
- padding-left: 20px;
-}
-
-.typeahead {
- z-index: 1051;
- margin-top: 2px;
- -webkit-border-radius: 4px;
- -moz-border-radius: 4px;
- border-radius: 4px;
-}
-
-.well {
- min-height: 20px;
- padding: 19px;
- margin-bottom: 20px;
- background-color: #f5f5f5;
- border: 1px solid #e3e3e3;
- -webkit-border-radius: 4px;
- -moz-border-radius: 4px;
- border-radius: 4px;
- -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
- -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
- box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
-}
-
-.well blockquote {
- border-color: #ddd;
- border-color: rgba(0, 0, 0, 0.15);
-}
-
-.well-large {
- padding: 24px;
- -webkit-border-radius: 6px;
- -moz-border-radius: 6px;
- border-radius: 6px;
-}
-
-.well-small {
- padding: 9px;
- -webkit-border-radius: 3px;
- -moz-border-radius: 3px;
- border-radius: 3px;
-}
-
-.fade {
- opacity: 0;
- -webkit-transition: opacity 0.15s linear;
- -moz-transition: opacity 0.15s linear;
- -o-transition: opacity 0.15s linear;
- transition: opacity 0.15s linear;
-}
-
-.fade.in {
- opacity: 1;
-}
-
-.collapse {
- position: relative;
- height: 0;
- overflow: hidden;
- -webkit-transition: height 0.35s ease;
- -moz-transition: height 0.35s ease;
- -o-transition: height 0.35s ease;
- transition: height 0.35s ease;
-}
-
-.collapse.in {
- height: auto;
-}
-
-.close {
- float: right;
- font-size: 20px;
- font-weight: bold;
- line-height: 20px;
- color: #000000;
- text-shadow: 0 1px 0 #ffffff;
- opacity: 0.2;
- filter: alpha(opacity=20);
-}
-
-.close:hover,
-.close:focus {
- color: #000000;
- text-decoration: none;
- cursor: pointer;
- opacity: 0.4;
- filter: alpha(opacity=40);
-}
-
-button.close {
- padding: 0;
- cursor: pointer;
- background: transparent;
- border: 0;
- -webkit-appearance: none;
-}
-
-.btn {
- display: inline-block;
- *display: inline;
- padding: 4px 12px;
- margin-bottom: 0;
- *margin-left: .3em;
- font-size: 14px;
- line-height: 20px;
- color: #333333;
- text-align: center;
- text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);
- vertical-align: middle;
- cursor: pointer;
- background-color: #f5f5f5;
- *background-color: #e6e6e6;
- background-image: -moz-linear-gradient(top, #ffffff, #e6e6e6);
- background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#e6e6e6));
- background-image: -webkit-linear-gradient(top, #ffffff, #e6e6e6);
- background-image: -o-linear-gradient(top, #ffffff, #e6e6e6);
- background-image: linear-gradient(to bottom, #ffffff, #e6e6e6);
- background-repeat: repeat-x;
- border: 1px solid #cccccc;
- *border: 0;
- border-color: #e6e6e6 #e6e6e6 #bfbfbf;
- border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
- border-bottom-color: #b3b3b3;
- -webkit-border-radius: 4px;
- -moz-border-radius: 4px;
- border-radius: 4px;
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe6e6e6', GradientType=0);
- filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
- *zoom: 1;
- -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
- -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
- box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
-}
-
-.btn:hover,
-.btn:focus,
-.btn:active,
-.btn.active,
-.btn.disabled,
-.btn[disabled] {
- color: #333333;
- background-color: #e6e6e6;
- *background-color: #d9d9d9;
-}
-
-.btn:active,
-.btn.active {
- background-color: #cccccc \9;
-}
-
-.btn:first-child {
- *margin-left: 0;
-}
-
-.btn:hover,
-.btn:focus {
- color: #333333;
- text-decoration: none;
- background-position: 0 -15px;
- -webkit-transition: background-position 0.1s linear;
- -moz-transition: background-position 0.1s linear;
- -o-transition: background-position 0.1s linear;
- transition: background-position 0.1s linear;
-}
-
-.btn:focus {
- outline: thin dotted #333;
- outline: 5px auto -webkit-focus-ring-color;
- outline-offset: -2px;
-}
-
-.btn.active,
-.btn:active {
- background-image: none;
- outline: 0;
- -webkit-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
- -moz-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
- box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
-}
-
-.btn.disabled,
-.btn[disabled] {
- cursor: default;
- background-image: none;
- opacity: 0.65;
- filter: alpha(opacity=65);
- -webkit-box-shadow: none;
- -moz-box-shadow: none;
- box-shadow: none;
-}
-
-.btn-large {
- padding: 11px 19px;
- font-size: 17.5px;
- -webkit-border-radius: 6px;
- -moz-border-radius: 6px;
- border-radius: 6px;
-}
-
-.btn-large [class^="icon-"],
-.btn-large [class*=" icon-"] {
- margin-top: 4px;
-}
-
-.btn-small {
- padding: 2px 10px;
- font-size: 11.9px;
- -webkit-border-radius: 3px;
- -moz-border-radius: 3px;
- border-radius: 3px;
-}
-
-.btn-small [class^="icon-"],
-.btn-small [class*=" icon-"] {
- margin-top: 0;
-}
-
-.btn-mini [class^="icon-"],
-.btn-mini [class*=" icon-"] {
- margin-top: -1px;
-}
-
-.btn-mini {
- padding: 0 6px;
- font-size: 10.5px;
- -webkit-border-radius: 3px;
- -moz-border-radius: 3px;
- border-radius: 3px;
-}
-
-.btn-block {
- display: block;
- width: 100%;
- padding-right: 0;
- padding-left: 0;
- -webkit-box-sizing: border-box;
- -moz-box-sizing: border-box;
- box-sizing: border-box;
-}
-
-.btn-block + .btn-block {
- margin-top: 5px;
-}
-
-input[type="submit"].btn-block,
-input[type="reset"].btn-block,
-input[type="button"].btn-block {
- width: 100%;
-}
-
-.btn-primary.active,
-.btn-warning.active,
-.btn-danger.active,
-.btn-success.active,
-.btn-info.active,
-.btn-inverse.active {
- color: rgba(255, 255, 255, 0.75);
-}
-
-.btn-primary {
- color: #ffffff;
- text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
- background-color: #006dcc;
- *background-color: #0044cc;
- background-image: -moz-linear-gradient(top, #0088cc, #0044cc);
- background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0044cc));
- background-image: -webkit-linear-gradient(top, #0088cc, #0044cc);
- background-image: -o-linear-gradient(top, #0088cc, #0044cc);
- background-image: linear-gradient(to bottom, #0088cc, #0044cc);
- background-repeat: repeat-x;
- border-color: #0044cc #0044cc #002a80;
- border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc', endColorstr='#ff0044cc', GradientType=0);
- filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
-}
-
-.btn-primary:hover,
-.btn-primary:focus,
-.btn-primary:active,
-.btn-primary.active,
-.btn-primary.disabled,
-.btn-primary[disabled] {
- color: #ffffff;
- background-color: #0044cc;
- *background-color: #003bb3;
-}
-
-.btn-primary:active,
-.btn-primary.active {
- background-color: #003399 \9;
-}
-
-.btn-warning {
- color: #ffffff;
- text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
- background-color: #faa732;
- *background-color: #f89406;
- background-image: -moz-linear-gradient(top, #fbb450, #f89406);
- background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fbb450), to(#f89406));
- background-image: -webkit-linear-gradient(top, #fbb450, #f89406);
- background-image: -o-linear-gradient(top, #fbb450, #f89406);
- background-image: linear-gradient(to bottom, #fbb450, #f89406);
- background-repeat: repeat-x;
- border-color: #f89406 #f89406 #ad6704;
- border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffbb450', endColorstr='#fff89406', GradientType=0);
- filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
-}
-
-.btn-warning:hover,
-.btn-warning:focus,
-.btn-warning:active,
-.btn-warning.active,
-.btn-warning.disabled,
-.btn-warning[disabled] {
- color: #ffffff;
- background-color: #f89406;
- *background-color: #df8505;
-}
-
-.btn-warning:active,
-.btn-warning.active {
- background-color: #c67605 \9;
-}
-
-.btn-danger {
- color: #ffffff;
- text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
- background-color: #da4f49;
- *background-color: #bd362f;
- background-image: -moz-linear-gradient(top, #ee5f5b, #bd362f);
- background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ee5f5b), to(#bd362f));
- background-image: -webkit-linear-gradient(top, #ee5f5b, #bd362f);
- background-image: -o-linear-gradient(top, #ee5f5b, #bd362f);
- background-image: linear-gradient(to bottom, #ee5f5b, #bd362f);
- background-repeat: repeat-x;
- border-color: #bd362f #bd362f #802420;
- border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffee5f5b', endColorstr='#ffbd362f', GradientType=0);
- filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
-}
-
-.btn-danger:hover,
-.btn-danger:focus,
-.btn-danger:active,
-.btn-danger.active,
-.btn-danger.disabled,
-.btn-danger[disabled] {
- color: #ffffff;
- background-color: #bd362f;
- *background-color: #a9302a;
-}
-
-.btn-danger:active,
-.btn-danger.active {
- background-color: #942a25 \9;
-}
-
-.btn-success {
- color: #ffffff;
- text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
- background-color: #5bb75b;
- *background-color: #51a351;
- background-image: -moz-linear-gradient(top, #62c462, #51a351);
- background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#62c462), to(#51a351));
- background-image: -webkit-linear-gradient(top, #62c462, #51a351);
- background-image: -o-linear-gradient(top, #62c462, #51a351);
- background-image: linear-gradient(to bottom, #62c462, #51a351);
- background-repeat: repeat-x;
- border-color: #51a351 #51a351 #387038;
- border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff62c462', endColorstr='#ff51a351', GradientType=0);
- filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
-}
-
-.btn-success:hover,
-.btn-success:focus,
-.btn-success:active,
-.btn-success.active,
-.btn-success.disabled,
-.btn-success[disabled] {
- color: #ffffff;
- background-color: #51a351;
- *background-color: #499249;
-}
-
-.btn-success:active,
-.btn-success.active {
- background-color: #408140 \9;
-}
-
-.btn-info {
- color: #ffffff;
- text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
- background-color: #49afcd;
- *background-color: #2f96b4;
- background-image: -moz-linear-gradient(top, #5bc0de, #2f96b4);
- background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#5bc0de), to(#2f96b4));
- background-image: -webkit-linear-gradient(top, #5bc0de, #2f96b4);
- background-image: -o-linear-gradient(top, #5bc0de, #2f96b4);
- background-image: linear-gradient(to bottom, #5bc0de, #2f96b4);
- background-repeat: repeat-x;
- border-color: #2f96b4 #2f96b4 #1f6377;
- border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2f96b4', GradientType=0);
- filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
-}
-
-.btn-info:hover,
-.btn-info:focus,
-.btn-info:active,
-.btn-info.active,
-.btn-info.disabled,
-.btn-info[disabled] {
- color: #ffffff;
- background-color: #2f96b4;
- *background-color: #2a85a0;
-}
-
-.btn-info:active,
-.btn-info.active {
- background-color: #24748c \9;
-}
-
-.btn-inverse {
- color: #ffffff;
- text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
- background-color: #363636;
- *background-color: #222222;
- background-image: -moz-linear-gradient(top, #444444, #222222);
- background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#444444), to(#222222));
- background-image: -webkit-linear-gradient(top, #444444, #222222);
- background-image: -o-linear-gradient(top, #444444, #222222);
- background-image: linear-gradient(to bottom, #444444, #222222);
- background-repeat: repeat-x;
- border-color: #222222 #222222 #000000;
- border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff444444', endColorstr='#ff222222', GradientType=0);
- filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
-}
-
-.btn-inverse:hover,
-.btn-inverse:focus,
-.btn-inverse:active,
-.btn-inverse.active,
-.btn-inverse.disabled,
-.btn-inverse[disabled] {
- color: #ffffff;
- background-color: #222222;
- *background-color: #151515;
-}
-
-.btn-inverse:active,
-.btn-inverse.active {
- background-color: #080808 \9;
-}
-
-button.btn,
-input[type="submit"].btn {
- *padding-top: 3px;
- *padding-bottom: 3px;
-}
-
-button.btn::-moz-focus-inner,
-input[type="submit"].btn::-moz-focus-inner {
- padding: 0;
- border: 0;
-}
-
-button.btn.btn-large,
-input[type="submit"].btn.btn-large {
- *padding-top: 7px;
- *padding-bottom: 7px;
-}
-
-button.btn.btn-small,
-input[type="submit"].btn.btn-small {
- *padding-top: 3px;
- *padding-bottom: 3px;
-}
-
-button.btn.btn-mini,
-input[type="submit"].btn.btn-mini {
- *padding-top: 1px;
- *padding-bottom: 1px;
-}
-
-.btn-link,
-.btn-link:active,
-.btn-link[disabled] {
- background-color: transparent;
- background-image: none;
- -webkit-box-shadow: none;
- -moz-box-shadow: none;
- box-shadow: none;
-}
-
-.btn-link {
- color: #0088cc;
- cursor: pointer;
- border-color: transparent;
- -webkit-border-radius: 0;
- -moz-border-radius: 0;
- border-radius: 0;
-}
-
-.btn-link:hover,
-.btn-link:focus {
- color: #005580;
- text-decoration: underline;
- background-color: transparent;
-}
-
-.btn-link[disabled]:hover,
-.btn-link[disabled]:focus {
- color: #333333;
- text-decoration: none;
-}
-
-.btn-group {
- position: relative;
- display: inline-block;
- *display: inline;
- *margin-left: .3em;
- font-size: 0;
- white-space: nowrap;
- vertical-align: middle;
- *zoom: 1;
-}
-
-.btn-group:first-child {
- *margin-left: 0;
-}
-
-.btn-group + .btn-group {
- margin-left: 5px;
-}
-
-.btn-toolbar {
- margin-top: 10px;
- margin-bottom: 10px;
- font-size: 0;
-}
-
-.btn-toolbar > .btn + .btn,
-.btn-toolbar > .btn-group + .btn,
-.btn-toolbar > .btn + .btn-group {
- margin-left: 5px;
-}
-
-.btn-group > .btn {
- position: relative;
- -webkit-border-radius: 0;
- -moz-border-radius: 0;
- border-radius: 0;
-}
-
-.btn-group > .btn + .btn {
- margin-left: -1px;
-}
-
-.btn-group > .btn,
-.btn-group > .dropdown-menu,
-.btn-group > .popover {
- font-size: 14px;
-}
-
-.btn-group > .btn-mini {
- font-size: 10.5px;
-}
-
-.btn-group > .btn-small {
- font-size: 11.9px;
-}
-
-.btn-group > .btn-large {
- font-size: 17.5px;
-}
-
-.btn-group > .btn:first-child {
- margin-left: 0;
- -webkit-border-bottom-left-radius: 4px;
- border-bottom-left-radius: 4px;
- -webkit-border-top-left-radius: 4px;
- border-top-left-radius: 4px;
- -moz-border-radius-bottomleft: 4px;
- -moz-border-radius-topleft: 4px;
-}
-
-.btn-group > .btn:last-child,
-.btn-group > .dropdown-toggle {
- -webkit-border-top-right-radius: 4px;
- border-top-right-radius: 4px;
- -webkit-border-bottom-right-radius: 4px;
- border-bottom-right-radius: 4px;
- -moz-border-radius-topright: 4px;
- -moz-border-radius-bottomright: 4px;
-}
-
-.btn-group > .btn.large:first-child {
- margin-left: 0;
- -webkit-border-bottom-left-radius: 6px;
- border-bottom-left-radius: 6px;
- -webkit-border-top-left-radius: 6px;
- border-top-left-radius: 6px;
- -moz-border-radius-bottomleft: 6px;
- -moz-border-radius-topleft: 6px;
-}
-
-.btn-group > .btn.large:last-child,
-.btn-group > .large.dropdown-toggle {
- -webkit-border-top-right-radius: 6px;
- border-top-right-radius: 6px;
- -webkit-border-bottom-right-radius: 6px;
- border-bottom-right-radius: 6px;
- -moz-border-radius-topright: 6px;
- -moz-border-radius-bottomright: 6px;
-}
-
-.btn-group > .btn:hover,
-.btn-group > .btn:focus,
-.btn-group > .btn:active,
-.btn-group > .btn.active {
- z-index: 2;
-}
-
-.btn-group .dropdown-toggle:active,
-.btn-group.open .dropdown-toggle {
- outline: 0;
-}
-
-.btn-group > .btn + .dropdown-toggle {
- *padding-top: 5px;
- padding-right: 8px;
- *padding-bottom: 5px;
- padding-left: 8px;
- -webkit-box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
- -moz-box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
- box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
-}
-
-.btn-group > .btn-mini + .dropdown-toggle {
- *padding-top: 2px;
- padding-right: 5px;
- *padding-bottom: 2px;
- padding-left: 5px;
-}
-
-.btn-group > .btn-small + .dropdown-toggle {
- *padding-top: 5px;
- *padding-bottom: 4px;
-}
-
-.btn-group > .btn-large + .dropdown-toggle {
- *padding-top: 7px;
- padding-right: 12px;
- *padding-bottom: 7px;
- padding-left: 12px;
-}
-
-.btn-group.open .dropdown-toggle {
- background-image: none;
- -webkit-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
- -moz-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
- box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
-}
-
-.btn-group.open .btn.dropdown-toggle {
- background-color: #e6e6e6;
-}
-
-.btn-group.open .btn-primary.dropdown-toggle {
- background-color: #0044cc;
-}
-
-.btn-group.open .btn-warning.dropdown-toggle {
- background-color: #f89406;
-}
-
-.btn-group.open .btn-danger.dropdown-toggle {
- background-color: #bd362f;
-}
-
-.btn-group.open .btn-success.dropdown-toggle {
- background-color: #51a351;
-}
-
-.btn-group.open .btn-info.dropdown-toggle {
- background-color: #2f96b4;
-}
-
-.btn-group.open .btn-inverse.dropdown-toggle {
- background-color: #222222;
-}
-
-.btn .caret {
- margin-top: 8px;
- margin-left: 0;
-}
-
-.btn-large .caret {
- margin-top: 6px;
-}
-
-.btn-large .caret {
- border-top-width: 5px;
- border-right-width: 5px;
- border-left-width: 5px;
-}
-
-.btn-mini .caret,
-.btn-small .caret {
- margin-top: 8px;
-}
-
-.dropup .btn-large .caret {
- border-bottom-width: 5px;
-}
-
-.btn-primary .caret,
-.btn-warning .caret,
-.btn-danger .caret,
-.btn-info .caret,
-.btn-success .caret,
-.btn-inverse .caret {
- border-top-color: #ffffff;
- border-bottom-color: #ffffff;
-}
-
-.btn-group-vertical {
- display: inline-block;
- *display: inline;
- /* IE7 inline-block hack */
-
- *zoom: 1;
-}
-
-.btn-group-vertical > .btn {
- display: block;
- float: none;
- max-width: 100%;
- -webkit-border-radius: 0;
- -moz-border-radius: 0;
- border-radius: 0;
-}
-
-.btn-group-vertical > .btn + .btn {
- margin-top: -1px;
- margin-left: 0;
-}
-
-.btn-group-vertical > .btn:first-child {
- -webkit-border-radius: 4px 4px 0 0;
- -moz-border-radius: 4px 4px 0 0;
- border-radius: 4px 4px 0 0;
-}
-
-.btn-group-vertical > .btn:last-child {
- -webkit-border-radius: 0 0 4px 4px;
- -moz-border-radius: 0 0 4px 4px;
- border-radius: 0 0 4px 4px;
-}
-
-.btn-group-vertical > .btn-large:first-child {
- -webkit-border-radius: 6px 6px 0 0;
- -moz-border-radius: 6px 6px 0 0;
- border-radius: 6px 6px 0 0;
-}
-
-.btn-group-vertical > .btn-large:last-child {
- -webkit-border-radius: 0 0 6px 6px;
- -moz-border-radius: 0 0 6px 6px;
- border-radius: 0 0 6px 6px;
-}
-
-.alert {
- padding: 8px 35px 8px 14px;
- margin-bottom: 20px;
- text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
- background-color: #fcf8e3;
- border: 1px solid #fbeed5;
- -webkit-border-radius: 4px;
- -moz-border-radius: 4px;
- border-radius: 4px;
-}
-
-.alert,
-.alert h4 {
- color: #c09853;
-}
-
-.alert h4 {
- margin: 0;
-}
-
-.alert .close {
- position: relative;
- top: -2px;
- right: -21px;
- line-height: 20px;
-}
-
-.alert-success {
- color: #468847;
- background-color: #dff0d8;
- border-color: #d6e9c6;
-}
-
-.alert-success h4 {
- color: #468847;
-}
-
-.alert-danger,
-.alert-error {
- color: #b94a48;
- background-color: #f2dede;
- border-color: #eed3d7;
-}
-
-.alert-danger h4,
-.alert-error h4 {
- color: #b94a48;
-}
-
-.alert-info {
- color: #3a87ad;
- background-color: #d9edf7;
- border-color: #bce8f1;
-}
-
-.alert-info h4 {
- color: #3a87ad;
-}
-
-.alert-block {
- padding-top: 14px;
- padding-bottom: 14px;
-}
-
-.alert-block > p,
-.alert-block > ul {
- margin-bottom: 0;
-}
-
-.alert-block p + p {
- margin-top: 5px;
-}
-
-.nav {
- margin-bottom: 20px;
- margin-left: 0;
- list-style: none;
-}
-
-.nav > li > a {
- display: block;
-}
-
-.nav > li > a:hover,
-.nav > li > a:focus {
- text-decoration: none;
- background-color: #eeeeee;
-}
-
-.nav > li > a > img {
- max-width: none;
-}
-
-.nav > .pull-right {
- float: right;
-}
-
-.nav-header {
- display: block;
- padding: 3px 15px;
- font-size: 11px;
- font-weight: bold;
- line-height: 20px;
- color: #999999;
- text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
- text-transform: uppercase;
-}
-
-.nav li + .nav-header {
- margin-top: 9px;
-}
-
-.nav-list {
- padding-right: 15px;
- padding-left: 15px;
- margin-bottom: 0;
-}
-
-.nav-list > li > a,
-.nav-list .nav-header {
- margin-right: -15px;
- margin-left: -15px;
- text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
-}
-
-.nav-list > li > a {
- padding: 3px 15px;
-}
-
-.nav-list > .active > a,
-.nav-list > .active > a:hover,
-.nav-list > .active > a:focus {
- color: #ffffff;
- text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2);
- background-color: #0088cc;
-}
-
-.nav-list [class^="icon-"],
-.nav-list [class*=" icon-"] {
- margin-right: 2px;
-}
-
-.nav-list .divider {
- *width: 100%;
- height: 1px;
- margin: 9px 1px;
- *margin: -5px 0 5px;
- overflow: hidden;
- background-color: #e5e5e5;
- border-bottom: 1px solid #ffffff;
-}
-
-.nav-tabs,
-.nav-pills {
- *zoom: 1;
-}
-
-.nav-tabs:before,
-.nav-pills:before,
-.nav-tabs:after,
-.nav-pills:after {
- display: table;
- line-height: 0;
- content: "";
-}
-
-.nav-tabs:after,
-.nav-pills:after {
- clear: both;
-}
-
-.nav-tabs > li,
-.nav-pills > li {
- float: left;
-}
-
-.nav-tabs > li > a,
-.nav-pills > li > a {
- padding-right: 12px;
- padding-left: 12px;
- margin-right: 2px;
- line-height: 14px;
-}
-
-.nav-tabs {
- border-bottom: 1px solid #ddd;
-}
-
-.nav-tabs > li {
- margin-bottom: -1px;
-}
-
-.nav-tabs > li > a {
- padding-top: 8px;
- padding-bottom: 8px;
- line-height: 20px;
- border: 1px solid transparent;
- -webkit-border-radius: 4px 4px 0 0;
- -moz-border-radius: 4px 4px 0 0;
- border-radius: 4px 4px 0 0;
-}
-
-.nav-tabs > li > a:hover,
-.nav-tabs > li > a:focus {
- border-color: #eeeeee #eeeeee #dddddd;
-}
-
-.nav-tabs > .active > a,
-.nav-tabs > .active > a:hover,
-.nav-tabs > .active > a:focus {
- color: #555555;
- cursor: default;
- background-color: #ffffff;
- border: 1px solid #ddd;
- border-bottom-color: transparent;
-}
-
-.nav-pills > li > a {
- padding-top: 8px;
- padding-bottom: 8px;
- margin-top: 2px;
- margin-bottom: 2px;
- -webkit-border-radius: 5px;
- -moz-border-radius: 5px;
- border-radius: 5px;
-}
-
-.nav-pills > .active > a,
-.nav-pills > .active > a:hover,
-.nav-pills > .active > a:focus {
- color: #ffffff;
- background-color: #0088cc;
-}
-
-.nav-stacked > li {
- float: none;
-}
-
-.nav-stacked > li > a {
- margin-right: 0;
-}
-
-.nav-tabs.nav-stacked {
- border-bottom: 0;
-}
-
-.nav-tabs.nav-stacked > li > a {
- border: 1px solid #ddd;
- -webkit-border-radius: 0;
- -moz-border-radius: 0;
- border-radius: 0;
-}
-
-.nav-tabs.nav-stacked > li:first-child > a {
- -webkit-border-top-right-radius: 4px;
- border-top-right-radius: 4px;
- -webkit-border-top-left-radius: 4px;
- border-top-left-radius: 4px;
- -moz-border-radius-topright: 4px;
- -moz-border-radius-topleft: 4px;
-}
-
-.nav-tabs.nav-stacked > li:last-child > a {
- -webkit-border-bottom-right-radius: 4px;
- border-bottom-right-radius: 4px;
- -webkit-border-bottom-left-radius: 4px;
- border-bottom-left-radius: 4px;
- -moz-border-radius-bottomright: 4px;
- -moz-border-radius-bottomleft: 4px;
-}
-
-.nav-tabs.nav-stacked > li > a:hover,
-.nav-tabs.nav-stacked > li > a:focus {
- z-index: 2;
- border-color: #ddd;
-}
-
-.nav-pills.nav-stacked > li > a {
- margin-bottom: 3px;
-}
-
-.nav-pills.nav-stacked > li:last-child > a {
- margin-bottom: 1px;
-}
-
-.nav-tabs .dropdown-menu {
- -webkit-border-radius: 0 0 6px 6px;
- -moz-border-radius: 0 0 6px 6px;
- border-radius: 0 0 6px 6px;
-}
-
-.nav-pills .dropdown-menu {
- -webkit-border-radius: 6px;
- -moz-border-radius: 6px;
- border-radius: 6px;
-}
-
-.nav .dropdown-toggle .caret {
- margin-top: 6px;
- border-top-color: #0088cc;
- border-bottom-color: #0088cc;
-}
-
-.nav .dropdown-toggle:hover .caret,
-.nav .dropdown-toggle:focus .caret {
- border-top-color: #005580;
- border-bottom-color: #005580;
-}
-
-/* move down carets for tabs */
-
-.nav-tabs .dropdown-toggle .caret {
- margin-top: 8px;
-}
-
-.nav .active .dropdown-toggle .caret {
- border-top-color: #fff;
- border-bottom-color: #fff;
-}
-
-.nav-tabs .active .dropdown-toggle .caret {
- border-top-color: #555555;
- border-bottom-color: #555555;
-}
-
-.nav > .dropdown.active > a:hover,
-.nav > .dropdown.active > a:focus {
- cursor: pointer;
-}
-
-.nav-tabs .open .dropdown-toggle,
-.nav-pills .open .dropdown-toggle,
-.nav > li.dropdown.open.active > a:hover,
-.nav > li.dropdown.open.active > a:focus {
- color: #ffffff;
- background-color: #999999;
- border-color: #999999;
-}
-
-.nav li.dropdown.open .caret,
-.nav li.dropdown.open.active .caret,
-.nav li.dropdown.open a:hover .caret,
-.nav li.dropdown.open a:focus .caret {
- border-top-color: #ffffff;
- border-bottom-color: #ffffff;
- opacity: 1;
- filter: alpha(opacity=100);
-}
-
-.tabs-stacked .open > a:hover,
-.tabs-stacked .open > a:focus {
- border-color: #999999;
-}
-
-.tabbable {
- *zoom: 1;
-}
-
-.tabbable:before,
-.tabbable:after {
- display: table;
- line-height: 0;
- content: "";
-}
-
-.tabbable:after {
- clear: both;
-}
-
-.tab-content {
- overflow: auto;
-}
-
-.tabs-below > .nav-tabs,
-.tabs-right > .nav-tabs,
-.tabs-left > .nav-tabs {
- border-bottom: 0;
-}
-
-.tab-content > .tab-pane,
-.pill-content > .pill-pane {
- display: none;
-}
-
-.tab-content > .active,
-.pill-content > .active {
- display: block;
-}
-
-.tabs-below > .nav-tabs {
- border-top: 1px solid #ddd;
-}
-
-.tabs-below > .nav-tabs > li {
- margin-top: -1px;
- margin-bottom: 0;
-}
-
-.tabs-below > .nav-tabs > li > a {
- -webkit-border-radius: 0 0 4px 4px;
- -moz-border-radius: 0 0 4px 4px;
- border-radius: 0 0 4px 4px;
-}
-
-.tabs-below > .nav-tabs > li > a:hover,
-.tabs-below > .nav-tabs > li > a:focus {
- border-top-color: #ddd;
- border-bottom-color: transparent;
-}
-
-.tabs-below > .nav-tabs > .active > a,
-.tabs-below > .nav-tabs > .active > a:hover,
-.tabs-below > .nav-tabs > .active > a:focus {
- border-color: transparent #ddd #ddd #ddd;
-}
-
-.tabs-left > .nav-tabs > li,
-.tabs-right > .nav-tabs > li {
- float: none;
-}
-
-.tabs-left > .nav-tabs > li > a,
-.tabs-right > .nav-tabs > li > a {
- min-width: 74px;
- margin-right: 0;
- margin-bottom: 3px;
-}
-
-.tabs-left > .nav-tabs {
- float: left;
- margin-right: 19px;
- border-right: 1px solid #ddd;
-}
-
-.tabs-left > .nav-tabs > li > a {
- margin-right: -1px;
- -webkit-border-radius: 4px 0 0 4px;
- -moz-border-radius: 4px 0 0 4px;
- border-radius: 4px 0 0 4px;
-}
-
-.tabs-left > .nav-tabs > li > a:hover,
-.tabs-left > .nav-tabs > li > a:focus {
- border-color: #eeeeee #dddddd #eeeeee #eeeeee;
-}
-
-.tabs-left > .nav-tabs .active > a,
-.tabs-left > .nav-tabs .active > a:hover,
-.tabs-left > .nav-tabs .active > a:focus {
- border-color: #ddd transparent #ddd #ddd;
- *border-right-color: #ffffff;
-}
-
-.tabs-right > .nav-tabs {
- float: right;
- margin-left: 19px;
- border-left: 1px solid #ddd;
-}
-
-.tabs-right > .nav-tabs > li > a {
- margin-left: -1px;
- -webkit-border-radius: 0 4px 4px 0;
- -moz-border-radius: 0 4px 4px 0;
- border-radius: 0 4px 4px 0;
-}
-
-.tabs-right > .nav-tabs > li > a:hover,
-.tabs-right > .nav-tabs > li > a:focus {
- border-color: #eeeeee #eeeeee #eeeeee #dddddd;
-}
-
-.tabs-right > .nav-tabs .active > a,
-.tabs-right > .nav-tabs .active > a:hover,
-.tabs-right > .nav-tabs .active > a:focus {
- border-color: #ddd #ddd #ddd transparent;
- *border-left-color: #ffffff;
-}
-
-.nav > .disabled > a {
- color: #999999;
-}
-
-.nav > .disabled > a:hover,
-.nav > .disabled > a:focus {
- text-decoration: none;
- cursor: default;
- background-color: transparent;
-}
-
-.navbar {
- *position: relative;
- *z-index: 2;
- margin-bottom: 20px;
- overflow: visible;
-}
-
-.navbar-inner {
- min-height: 40px;
- padding-right: 20px;
- padding-left: 20px;
- background-color: #fafafa;
- background-image: -moz-linear-gradient(top, #ffffff, #f2f2f2);
- background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#f2f2f2));
- background-image: -webkit-linear-gradient(top, #ffffff, #f2f2f2);
- background-image: -o-linear-gradient(top, #ffffff, #f2f2f2);
- background-image: linear-gradient(to bottom, #ffffff, #f2f2f2);
- background-repeat: repeat-x;
- border: 1px solid #d4d4d4;
- -webkit-border-radius: 4px;
- -moz-border-radius: 4px;
- border-radius: 4px;
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff2f2f2', GradientType=0);
- *zoom: 1;
- -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.065);
- -moz-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.065);
- box-shadow: 0 1px 4px rgba(0, 0, 0, 0.065);
-}
-
-.navbar-inner:before,
-.navbar-inner:after {
- display: table;
- line-height: 0;
- content: "";
-}
-
-.navbar-inner:after {
- clear: both;
-}
-
-.navbar .container {
- width: auto;
-}
-
-/**
-.nav-collapse.collapse {
- height: auto;
- overflow: visible;
-}
-**/
-
-.collapse.navbar-collapse {
- height: auto;
- overflow: visible;
-}
-
-.navbar .brand {
- display: block;
-

<TRUNCATED>
a***@apache.org
2017-12-21 04:53:11 UTC
Permalink
http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/assets/themes/mahout-retro/js/widgets.js
----------------------------------------------------------------------
diff --git a/website-old/assets/themes/mahout-retro/js/widgets.js b/website-old/assets/themes/mahout-retro/js/widgets.js
deleted file mode 100644
index 14613c8..0000000
--- a/website-old/assets/themes/mahout-retro/js/widgets.js
+++ /dev/null
@@ -1,45 +0,0 @@
-if(!window.__twttrlr){(function(e,t){function y(e){for(var t=1,n;n=arguments[t];t++)for(var r in n)e[r]=n[r];return e}function b(e){return Array.prototype.slice.call(e)}function E(e,t){for(var n=0,r;r=e[n];n++)if(t==r)return n;return-1}function S(){var e=b(arguments),t=[];for(var n=0,r=e.length;n<r;n++)e[n].length>0&&t.push(e[n].replace(/\/$/,""));return t.join("/")}function x(e,t,n){var r=t.split("/"),i=e;while(r.length>1){var s=r.shift();i=i[s]=i[s]||{}}i[r[0]]=n}function T(){}function N(e,t){this.id=this.path=e,this.force=!!t}function C(e,t){this.id=e,this.body=t,typeof t=="undefined"&&(this.path=this.resolvePath(e))}function k(e,t){this.deps=e,this.collectResults=t,this.deps.length==0&&this.complete()}function L(e,t){this.deps=e,this.collectResults=t}function A(){for(var e in r)if(r[e].readyState=="interactive")return c[r[e].id]}function O(e,t){var r;return!e&&n&&(r=l||A()),r?(delete c[r.scriptId],r.body=t,r.execute()):(f=r=new C(e,t),a[r.id]=r),r}function M(){var e=b(arguments)
,t,n;return typeof e[0]=="string"&&(t=e.shift()),n=e.shift(),O(t,n)}function _(e,t){var n=t.id||"",r=n.split("/");r.pop();var i=r.join("/");return e.replace(/^\./,i)}function D(e,t){function r(e){return C.exports[_(e,t)]}var n=[];for(var i=0,s=e.length;i<s;i++){if(e[i]=="require"){n.push(r);continue}if(e[i]=="exports"){t.exports=t.exports||{},n.push(t.exports);continue}n.push(r(e[i]))}return n}function P(){var e=b(arguments),t=[],n,r;return typeof e[0]=="string"&&(n=e.shift()),w(e[0])&&(t=e.shift()),r=e.shift(),O(n,function(e){function s(){var i=D(b(t),n),s;typeof r=="function"?s=r.apply(n,i):s=r,typeof s=="undefined"&&(s=n.exports),e(s)}var n=this,i=[];for(var o=0,u=t.length;o<u;o++){var a=t[o];E(["require","exports"],a)==-1&&i.push(_(a,n))}i.length>0?H.apply(this,i.concat(s)):s()})}function H(){var e=b(arguments),t,n;typeof e[e.length-1]=="function"&&(t=e.pop()),typeof e[e.length-1]=="boolean"&&(n=e.pop());var r=new k(B(e,n),n);return t&&r.then(t),r}function B(e,t){var n=[];for(va
r r=0,i;i=e[r];r++)typeof i=="string"&&(i=j(i)),w(i)&&(i=new L(B(i,t),t)),n.push(i);return n}function j(e){var t,n;for(var r=0,i;i=H.matchers[r];r++){var s=i[0],o=i[1];if(t=e.match(s))return o(e)}throw new Error(e+" was not recognised by loader")}function I(){return e.using=h,e.provide=p,e.define=d,e.loadrunner=v,F}function q(e){for(var t=0;t<H.bundles.length;t++)for(var n in H.bundles[t])if(n!=e&&E(H.bundles[t][n],e)>-1)return n}var n=e.attachEvent&&!e.opera,r=t.getElementsByTagName("script"),i=0,s,o=t.createElement("script"),u={},a={},f,l,c={},h=e.using,p=e.provide,d=e.define,v=e.loadrunner;for(var m=0,g;g=r[m];m++)if(g.src.match(/loadrunner\.js(\?|#|$)/)){s=g;break}var w=Array.isArray||function(e){return e.constructor==Array};T.prototype.then=function(t){var n=this;return this.started||(this.started=!0,this.start()),this.completed?t.apply(e,this.results):(this.callbacks=this.callbacks||[],this.callbacks.push(t)),this},T.prototype.start=function(){},T.prototype.complete=function()
{if(!this.completed){this.results=b(arguments),this.completed=!0;if(this.callbacks)for(var t=0,n;n=this.callbacks[t];t++)n.apply(e,this.results)}},N.loaded=[],N.prototype=new T,N.prototype.start=function(){var e=this,t,n,r;return(r=a[this.id])?(r.then(function(){e.complete()}),this):((t=u[this.id])?t.then(function(){e.loaded()}):!this.force&&E(N.loaded,this.id)>-1?this.loaded():(n=q(this.id))?H(n,function(){e.loaded()}):this.load(),this)},N.prototype.load=function(){var t=this;u[this.id]=t;var n=o.cloneNode(!1);this.scriptId=n.id="LR"+ ++i,n.type="text/javascript",n.async=!0,n.onerror=function(){throw new Error(t.path+" not loaded")},n.onreadystatechange=n.onload=function(n){n=e.event||n;if(n.type=="load"||E(["loaded","complete"],this.readyState)>-1)this.onreadystatechange=null,t.loaded()},n.src=this.path,l=this,r[0].parentNode.insertBefore(n,r[0]),l=null,c[n.id]=this},N.prototype.loaded=function(){this.complete()},N.prototype.complete=function(){E(N.loaded,this.id)==-1&&N.loaded.pu
sh(this.id),delete u[this.id],T.prototype.complete.apply(this,arguments)},C.exports={},C.prototype=new N,C.prototype.resolvePath=function(e){return S(H.path,e+".js")},C.prototype.start=function(){var e,t,n=this,r;this.body?this.execute():(e=C.exports[this.id])?this.exp(e):(t=a[this.id])?t.then(function(e){n.exp(e)}):(bundle=q(this.id))?H(bundle,function(){n.start()}):(a[this.id]=this,this.load())},C.prototype.loaded=function(){var e,t,r=this;n?(t=C.exports[this.id])?this.exp(t):(e=a[this.id])&&e.then(function(e){r.exp(e)}):(e=f,f=null,e.id=e.id||this.id,e.then(function(e){r.exp(e)}))},C.prototype.complete=function(){delete a[this.id],N.prototype.complete.apply(this,arguments)},C.prototype.execute=function(){var e=this;typeof this.body=="object"?this.exp(this.body):typeof this.body=="function"&&this.body.apply(window,[function(t){e.exp(t)}])},C.prototype.exp=function(e){this.complete(this.exports=C.exports[this.id]=e||{})},k.prototype=new T,k.prototype.start=function(){function t(){v
ar t=[];e.collectResults&&(t[0]={});for(var n=0,r;r=e.deps[n];n++){if(!r.completed)return;r.results.length>0&&(e.collectResults?r instanceof L?y(t[0],r.results[0]):x(t[0],r.id,r.results[0]):t=t.concat(r.results))}e.complete.apply(e,t)}var e=this;for(var n=0,r;r=this.deps[n];n++)r.then(t);return this},L.prototype=new T,L.prototype.start=function(){var e=this,t=0,n=[];return e.collectResults&&(n[0]={}),function r(){var i=e.deps[t++];i?i.then(function(t){i.results.length>0&&(e.collectResults?i instanceof L?y(n[0],i.results[0]):x(n[0],i.id,i.results[0]):n.push(i.results[0])),r()}):e.complete.apply(e,n)}(),this},P.amd={};var F=function(e){return e(H,M,F,define)};F.Script=N,F.Module=C,F.Collection=k,F.Sequence=L,F.Dependency=T,F.noConflict=I,e.loadrunner=F,e.using=H,e.provide=M,e.define=P,H.path="",H.matchers=[],H.matchers.add=function(e,t){this.unshift([e,t])},H.matchers.add(/(^script!|\.js$)/,function(e){var t=new N(e.replace(/^\$/,H.path.replace(/\/$/,"")+"/").replace(/^script!/,""),!1
);return t.id=e,t}),H.matchers.add(/^[a-zA-Z0-9_\-\/]+$/,function(e){return new C(e)}),H.bundles=[],s&&(H.path=s.getAttribute("data-path")||s.src.split(/loadrunner\.js/)[0]||"",(main=s.getAttribute("data-main"))&&H.apply(e,main.split(/\s*,\s*/)).then(function(){}))})(this,document);(window.__twttrlr = loadrunner.noConflict());}__twttrlr(function(using, provide, loadrunner, define) {provide("util/util",function(e){function t(e){return e&&String(e).toLowerCase().indexOf("[native code]")>-1}function n(e){return o(arguments,function(t){s(t,function(t,n){e[t]=n})}),e}function r(e){return s(e,function(t,n){d(n)&&(r(n),v(n)&&delete e[t]),(n===undefined||n===null||n==="")&&delete e[t]}),e}function s(e,t){for(var n in e)(!e.hasOwnProperty||e.hasOwnProperty(n))&&t(n,e[n]);return e}function l(e){return{}.toString.call(e).match(/\s([a-zA-Z]+)/)[1].toLowerCase()}function c(e,t){return e==l(t)}function h(e,t,n){return n=n||[],function(){var r=a(arguments,function(e){return e});return e.apply(t,n.
concat(r))}}function d(e){return e===Object(e)}function v(e){if(!d(e))return!1;if(Object.keys)return!Object.keys(e).length;for(var t in e)if(e.hasOwnProperty(t))return!1;return!0}var i=t(Array.prototype.indexOf)?function(e,t){return e?Array.prototype.indexOf.apply(e,[t]):-1}:function(e,t){if(!e)return-1;for(var n=0,r=e.length;n<r;n++)if(t==e[n])return n;return-1},o=t(Array.prototype.forEach)?function(e,t){if(!e)return;if(!t)return;Array.prototype.forEach.apply(e,[t])}:function(e,t){if(!e)return;if(!t)return;for(var n=0,r=e.length;n<r;n++)t(e[n],n)},u=t(Array.prototype.filter)?function(e,t){return e?t?Array.prototype.filter.apply(e,[t]):e:null}:function(e,t){if(!e)return null;if(!t)return e;var n=[],r=0,i=e.length;for(;r<i;r++)t(e[r])&&n.push(e[r]);return n},a=t(Array.prototype.map)?function(e,t){return e?t?Array.prototype.map.apply(e,[t]):e:null}:function(e,t){if(!e)return null;if(!t)return e;var n=[],r=0,i=e.length;for(;r<i;r++)n.push(t(e[r]));return n},f=t(String.prototype.trim)?f
unction(e){return e&&String.prototype.trim.apply(e)}:function(e){return e&&e.replace(/(^\s+|\s+$)/g,"")},p=t(Object.create)?Object.create:function(e){function t(){}return t.prototype=e,new t};e({aug:n,compact:r,forIn:s,forEach:o,filter:u,map:a,trim:f,indexOf:i,isNative:t,isObject:d,isEmptyObject:v,createObject:p,bind:h,toType:l,isType:c})});
-provide("util/events",function(e){using("util/util",function(t){function r(){this.completed=!1,this.callbacks=[]}var n={bind:function(e,t){return this._handlers=this._handlers||{},this._handlers[e]=this._handlers[e]||[],this._handlers[e].push(t)},unbind:function(e,n){if(!this._handlers[e])return;if(n){var r=t.indexOf(this._handlers[e],n);r>=0&&this._handlers[e].splice(r,1)}else this._handlers[e]=[]},trigger:function(e,t){var n=this._handlers&&this._handlers[e];t.type=e;if(n)for(var r=0,i;i=n[r];r++)i.call(this,t)}};r.prototype.addCallback=function(e){this.completed?e.apply(this,this.results):this.callbacks.push(e)},r.prototype.complete=function(){this.results=makeArray(arguments),this.completed=!0;for(var e=0,t;t=this.callbacks[e];e++)t.apply(this,this.results)},e({Emitter:n,Promise:r})})});
-provide("util/querystring",function(e){function t(e){return encodeURIComponent(e).replace(/\+/g,"%2B")}function n(e){return decodeURIComponent(e)}function r(e){var n=[],r;for(r in e)e[r]!==null&&typeof e[r]!="undefined"&&n.push(t(r)+"="+t(e[r]));return n.sort().join("&")}function i(e){var t={},r,i,s,o;if(e){r=e.split("&");for(o=0;s=r[o];o++)i=s.split("="),i.length==2&&(t[n(i[0])]=n(i[1]))}return t}function s(e,t){var n=r(t);return n.length>0?e.indexOf("?")>=0?e+"&"+r(t):e+"?"+r(t):e}function o(e){var t=e&&e.split("?");return t.length==2?i(t[1]):{}}e({url:s,decodeURL:o,decode:i,encode:r,encodePart:t,decodePart:n})});
-provide("util/twitter",function(e){using("util/querystring",function(t){function o(e){return typeof e=="string"&&n.test(e)&&RegExp.$1.length<=20}function u(e){if(o(e))return RegExp.$1}function a(e){var n=t.decodeURL(e);n.screen_name=u(e);if(n.screen_name)return t.url("https://twitter.com/intent/user",n)}function f(e){return typeof e=="string"&&s.test(e)}function l(e,t){t=t===undefined?!0:t;if(f(e))return(t?"#":"")+RegExp.$1}function c(e){return typeof e=="string"&&r.test(e)}function h(e){return c(e)&&RegExp.$1}function p(e){return i.test(e)}var n=/(?:^|(?:https?\:)?\/\/(?:www\.)?twitter\.com(?:\:\d+)?(?:\/intent\/(?:follow|user)\/?\?screen_name=|(?:\/#!)?\/))@?([\w]+)(?:\?|&|$)/i,r=/(?:^|(?:https?\:)?\/\/(?:www\.)?twitter\.com(?:\:\d+)?\/(?:#!\/)?[\w_]+\/status(?:es)?\/)(\d+)/i,i=/^http(s?):\/\/((www\.)?)twitter\.com\//,s=/^#?([^.,<>!\s\/#\-\(\)\'\"]+)$/;e({isHashTag:f,hashTag:l,isScreenName:o,screenName:u,isStatus:c,status:h,intentForProfileURL:a,isTwitterURL:p,regexen:{profile:n}}
)})});
-provide("util/uri",function(e){using("util/querystring","util/util","util/twitter",function(t,n,r){function i(e,t){var n,r;return t=t||location,/^https?:\/\//.test(e)?e:/^\/\//.test(e)?t.protocol+e:(n=t.host+(t.port.length?":"+t.port:""),e.indexOf("/")!==0&&(r=t.pathname.split("/"),r.pop(),r.push(e),e="/"+r.join("/")),[t.protocol,"//",n,e].join(""))}function s(){var e=document.getElementsByTagName("link"),t=0,n;for(;n=e[t];t++)if(n.rel=="canonical")return i(n.href)}function o(){var e=document.getElementsByTagName("a"),t=document.getElementsByTagName("link"),n=[e,t],i,s,o=0,u=0,a=/\bme\b/,f;for(;i=n[o];o++)for(u=0;s=i[u];u++)if(a.test(s.rel)&&(f=r.screenName(s.href)))return f}e({absolutize:i,getCanonicalURL:s,getScreenNameFromPage:o})})});
-provide("util/typevalidator",function(e){using("util/util",function(t){function n(e){return e!==undefined&&e!==null&&e!==""}function r(e){return s(e)&&e%1===0}function i(e){return s(e)&&!r(e)}function s(e){return n(e)&&!isNaN(e)}function o(e){return n(e)&&t.toType(e)=="array"}function u(e){if(!n(e))return!1;switch(e){case"on":case"ON":case"true":case"TRUE":return!0;case"off":case"OFF":case"false":case"FALSE":return!1;default:return!!e}}function a(e){if(s(e))return e}function f(e){if(i(e))return e}function l(e){if(r(e))return e}e({hasValue:n,isInt:r,isFloat:i,isNumber:s,isArray:o,asInt:l,asFloat:f,asNumber:a,asBoolean:u})})});
-provide("tfw/util/globals",function(e){using("util/typevalidator",function(t){function r(){var e=document.getElementsByTagName("meta"),t,r,i=0;n={};for(;t=e[i];i++){if(!/^twitter:/.test(t.name))continue;r=t.name.replace(/^twitter:/,""),n[r]=t.content}}function i(e){return n[e]}function s(e){return t.asBoolean(e)&&(n.dnt=!0),t.asBoolean(n.dnt)}var n;r(),e({init:r,val:i,dnt:s})})});
-provide("util/logger",function(e){function n(e,n,r,i,s){window[t]&&window[t].log&&window[t].log(e,n,r,i,s)}function r(e,n,r,i,s){window[t]&&window[t].warn&&window[t].warn(e,n,r,i,s)}function i(e,n,r,i,s){window[t]&&window[t].error&&window[t].error(e,n,r,i,s)}var t=["con","sole"].join("");e({info:n,warn:r,error:i})});
-provide("util/domready",function(e){function l(){t=1;for(var e=0,r=n.length;e<r;e++)n[e]()}var t=0,n=[],r,i,s=!1,o=document.createElement("a"),u="DOMContentLoaded",a="addEventListener",f="onreadystatechange";/^loade|c/.test(document.readyState)&&(t=1),document[a]&&document[a](u,i=function(){document.removeEventListener(u,i,s),l()},s),o.doScroll&&document.attachEvent(f,r=function(){/^c/.test(document.readyState)&&(document.detachEvent(f,r),l())});var c=o.doScroll?function(e){self!=top?t?e():n.push(e):!function(){try{o.doScroll("left")}catch(t){return setTimeout(function(){c(e)},50)}e()}()}:function(e){t?e():n.push(e)};e(c)});
-provide("util/env",function(e){using("util/domready","util/typevalidator","util/logger","tfw/util/globals",function(t,n,r,i){function f(){return window.devicePixelRatio?window.devicePixelRatio>=1.5:window.matchMedia?window.matchMedia("only screen and (min-resolution: 144dpi)").matches:!1}function l(){return/MSIE \d/.test(s)}function c(){return/MSIE 6/.test(s)}function h(){return/MSIE 7/.test(s)}function p(){return o}function d(){return"ontouchstart"in window||/Opera Mini/.test(s)||navigator.msMaxTouchPoints>0}function v(){var e=document.body.style;return e.transition!==undefined||e.webkitTransition!==undefined||e.mozTransition!==undefined||e.oTransition!==undefined||e.msTransition!==undefined}var s=window.navigator.userAgent,o=!1,u=!1,a="twitter-csp-test";window.twttr=window.twttr||{},twttr.verifyCSP=function(e){var t=document.getElementById(a);u=!0,o=!!e,t&&t.parentNode.removeChild(t)},t(function(){var e;if(c()||h())return o=!1;if(n.asBoolean(i.val("widgets:csp")))return o=!0;e=doc
ument.createElement("script"),e.id=a,e.text="twttr.verifyCSP(false);",document.body.appendChild(e),window.setTimeout(function(){if(u)return;r.warn('TWITTER: Content Security Policy restrictions may be applied to your site. Add <meta name="twitter:widgets:csp" content="on"> to supress this warning.'),r.warn("TWITTER: Please note: Not all embedded timeline and embedded Tweet functionality is supported when CSP is applied.")},5e3)}),e({retina:f,anyIE:l,ie6:c,ie7:h,cspEnabled:p,touch:d,cssTransitions:v})})});
-provide("dom/delegate",function(e){using("util/env",function(t){function i(e){var t=e.getAttribute("data-twitter-event-id");return t?t:(e.setAttribute("data-twitter-event-id",++r),r)}function s(e,t,n){var r=0,i=e&&e.length||0;for(r=0;r<i;r++)e[r].call(t,n)}function o(e,t,n){var r=n||e.target||e.srcElement,i=r.className.split(" "),u=0,a,f=i.length;for(;u<f;u++)s(t["."+i[u]],r,e);s(t[r.tagName],r,e);if(e.cease)return;r!==this&&o.call(this,e,t,r.parentElement||r.parentNode)}function u(e,t,n){if(e.addEventListener){e.addEventListener(t,function(r){o.call(e,r,n[t])},!1);return}e.attachEvent&&e.attachEvent("on"+t,function(){o.call(e,e.ownerDocument.parentWindow.event,n[t])})}function a(e,t,r,s){var o=i(e);n[o]=n[o]||{},n[o][t]||(n[o][t]={},u(e,t,n[o])),n[o][t][r]=n[o][t][r]||[],n[o][t][r].push(s)}function f(e,t,n){e.addEventListener?e.addEventListener(t,n,!1):e.attachEvent("on"+t,function(){n(window.event)})}function l(e,t,r){var s=i(t),u=n[s]&&n[s];o.call(t,{target:r},u[e])}function c(e)
{return p(e),h(e),!1}function h(e){e&&e.preventDefault?e.preventDefault():e.returnValue=!1}function p(e){e&&(e.cease=!0)&&e.stopPropagation?e.stopPropagation():e.cancelBubble=!0}var n={},r=-1;e({stop:c,stopPropagation:p,preventDefault:h,delegate:a,on:f,simulate:l})})});
-provide("tfw/util/article",function(e){using("dom/delegate","tfw/util/globals","util/uri",function(t,n,r){function o(){i=r.getCanonicalURL()||""+document.location;if(!window.top.postMessage)return;if(window==window.top){t.on(window,"message",function(e){var t;if(e.data&&e.data[0]!="{")return;try{t=JSON.parse(e.data)}catch(r){}t&&t.name=="twttr:private:requestArticleUrl"&&e.source.postMessage(JSON.stringify({name:"twttr:private:provideArticleUrl",data:{url:i,dnt:n.dnt()}}),"*")});return}t.on(window,"message",function(e){var t;if(e.data&&e.data[0]!="{")return;try{t=JSON.parse(e.data)}catch(r){}t&&t.name=="twttr:private:provideArticleUrl"&&(i=t.data&&t.data.url,n.dnt(t.data.dnt),s=document.location.href)}),window.top.postMessage(JSON.stringify({name:"twttr:private:requestArticleUrl"}),"*")}var i,s="";o(),e({url:function(){return i},frameUrl:function(){return s}})})});
-provide("util/promise",function(e){using("util/util",function(t){var n=function(e,t){setTimeout(function(){e.call(t)},1)},r=function(e){try{var t=e.then;if(typeof t=="function")return!0}catch(n){}return!1},i=function(e){Error.call(this,e)};i.prototype=t.createObject(Error.prototype);var s=function(){var e=[];return e.pump=function(t){n(function(){var n=e.length,r=0;while(r<n)r++,e.shift()(t)})},e},o=function(e,t,i,s,o,u){var a=!1,f=this,l=function(e){n(function(){u("fulfilled"),s(e),t.pump(e)})},c=function(e){n(function(){u("rejected"),o(e),i.pump(e)})},h=function(e){if(r(e)){e.then(h,c);return}l(e)},p=function(e,t){return function(t){a||(a=!0,e(t))}};this.resolve=p(h,"resolve"),this.fulfill=p(l,"fulfill"),this.reject=p(c,"reject"),this.cancel=function(){f.reject(new Error("Cancel"))},this.timeout=function(){f.reject(new Error("Timeout"))},u("pending")},u=function(e){var t=new s,n=new s,r,i,u="pending";this._addAcceptCallback=function(e){t.push(e),u=="fulfilled"&&t.pump(r)},this._ad
dRejectCallback=function(e){n.push(e),u=="rejected"&&n.pump(i)};var a=new o(this,t,n,function(e){r=e},function(e){i=e},function(e){u=e});try{e&&e(a)}catch(f){a.reject(f)}},a=function(e){return typeof e=="function"},f=function(e,n,r){return a(e)?function(){try{var t=e.apply(null,arguments);n.resolve(t)}catch(r){n.reject(r)}}:t.bind(n[r],n)},l=function(e,t,n){return a(e)&&n._addAcceptCallback(e),a(t)&&n._addRejectCallback(t),n};t.aug(u.prototype,{then:function(e,t){var n=this;return new u(function(r){l(f(e,r,"resolve"),f(t,r,"reject"),n)})},"catch":function(e){var t=this;return new u(function(n){l(null,f(e,n,"reject"),t)})}}),u.isThenable=r;var c=function(e){return t.map(e,u.resolve)};u.any=function(){var e=c(arguments);return new u(function(n){if(!e.length)n.reject("No futures passed to Promise.any()");else{var r=!1,i=function(e){if(r)return;r=!0,n.resolve(e)},s=function(e){if(r)return;r=!0,n.reject(e)};t.forEach(e,function(e,t){e.then(i,s)})}})},u.every=function(){var e=c(arguments)
;return new u(function(n){if(!e.length)n.reject("No futures passed to Promise.every()");else{var r=new Array(e.length),i=0,s=function(t,s){i++,r[t]=s,i==e.length&&n.resolve(r)};t.forEach(e,function(e,r){e.then(t.bind(s,null,[r]),n.reject)})}})},u.some=function(){var e=c(arguments);return new u(function(n){if(!e.length)n.reject("No futures passed to Promise.some()");else{var r=0,i=function(t){r++,r==e.length&&n.reject()};t.forEach(e,function(e,t){e.then(n.resolve,i)})}})},u.fulfill=function(e){return new u(function(t){t.fulfill(e)})},u.resolve=function(e){return new u(function(t){t.resolve(e)})},u.reject=function(e){return new u(function(t){t.reject(e)})},e(u)})});
-provide("util/layout",function(e){using("util/promise","util/logger",function(t,n){function s(){}var r=[],i;s.prototype.enqueue=function(e,n){return new t(function(t){r.push({action:e,resolver:t,note:n})})},s.prototype.exec=function(){var e=r,t;if(!e.length)return;r=[];while(e.length)t=e.shift(),t&&t.action?t.resolver.fulfill(t.action()):t.resolver.reject()},s.prototype.delayedExec=function(){i&&window.clearTimeout(i),i=window.setTimeout(this.exec,100)},e(s)})});
-provide("util/iframe",function(e){using("util/util",function(t){e(function(e,n,r){var i;r=r||document,e=e||{},n=n||{};if(e.name){try{i=r.createElement('<iframe name="'+e.name+'"></iframe>')}catch(s){i=r.createElement("iframe"),i.name=e.name}delete e.name}else i=r.createElement("iframe");return e.id&&(i.id=e.id,delete e.id),i.allowtransparency="true",i.scrolling="no",i.setAttribute("frameBorder",0),i.setAttribute("allowTransparency",!0),t.forIn(e,function(e,t){i.setAttribute(e,t)}),t.forIn(n,function(e,t){i.style[e]=t}),i})})});
-provide("dom/get",function(e){using("util/util",function(t){function r(e,t,r){return n(e,t,r,1)[0]}function i(e,n,r){var s=n&&n.parentNode,o;if(!s||s===r)return;return s.tagName==e?s:(o=s.className.split(" "),0===e.indexOf(".")&&~t.indexOf(o,e.slice(1))?s:i(e,s,r))}var n=t.isNative(document.getElementsByClassName)?function(e,n,r,i){var s=t.filter((n||document).getElementsByClassName(e),function(e){return!r||e.tagName.toLowerCase()==r.toLowerCase()});return[].slice.call(s,0,i||s.length)}:function(e,n,r,i){var s,o,u=[],a,f,l,c,h,p;n=n||document,a=e.split(" "),c=a.length,s=n.getElementsByTagName(r||"*"),p=s.length;for(l=0;l<c&&p>0;l++){u=[],f=a[l];for(h=0;h<p;h++){o=s[h],~t.indexOf(o.className.split(" "),f)&&u.push(o);if(l+1==c&&u.length===i)break}s=u,p=s.length}return u};e({all:n,one:r,ancestor:i})})});
-provide("tfw/widget/base",function(e){using("dom/get","util/domready","util/iframe","util/layout","util/promise","util/querystring","util/typevalidator","util/util","tfw/util/globals",function(t,n,r,i,s,o,u,a,f){function g(e){var t;if(!e)return;e.ownerDocument?(this.srcEl=e,this.classAttr=e.className.split(" ")):(this.srcOb=e,this.classAttr=[]),t=this.params(),this.id=this.generateId(),this.setLanguage(),this.related=t.related||this.dataAttr("related"),this.partner=t.partner||this.dataAttr("partner")||f.val("partner"),this.dnt=t.dnt||this.dataAttr("dnt")||f.dnt()||"",this.styleAttr=[],this.targetEl=e.targetEl}function y(){a.forEach(p,function(e){e()}),g.doLayout()}function b(e){if(!e)return;return e.lang?e.lang:b(e.parentNode)}var l=0,c,h={list:[],byId:{}},p=[],d=new i,v="data-twttr-rendered",m={ar:{"%{followers_count} followers":"عدد المتابعين %{followers_count}","100K+":"+100 ألف","10k unit":"10 آلاف وحدة",Follow:"تابِع","Follow %{screen_name}":"تاب�
�ع %{screen_name}",K:"ألف",M:"مليون",Tweet:"غرِّد","Tweet %{hashtag}":"غرِّد %{hashtag}","Tweet to %{name}":"غرِّد لـ %{name}","Twitter Stream":"خطّ تويتر الزمنيّ"},da:{"%{followers_count} followers":"%{followers_count} følgere","10k unit":"10k enhed",Follow:"Følg","Follow %{screen_name}":"Følg %{screen_name}","Tweet to %{name}":"Tweet til %{name}","Twitter Stream":"Twitter-strøm"},de:{"%{followers_count} followers":"%{followers_count} Follower","100K+":"100Tsd+","10k unit":"10tsd-Einheit",Follow:"Folgen","Follow %{screen_name}":"%{screen_name} folgen",K:"Tsd",Tweet:"Twittern","Tweet to %{name}":"Tweet an %{name}"},es:{"%{followers_count} followers":"%{followers_count} seguidores","10k unit":"10k unidad",Follow:"Seguir","Follow %{screen_name}":"Seguir a %{screen_name}",Tweet:"Twittear","Tweet %{hashtag}":"Twittear %{hashtag}","Tweet to %{name}":"Twittear a %{name}","Twitter Stream":"Cronología de Twitter"},fa:{"%{followers_count} followe
rs":"%{followers_count} دنبال‌کننده","100K+":">۱۰۰هزار","10k unit":"۱۰هزار واحد",Follow:"دنبال کردن","Follow %{screen_name}":"دنبال کردن %{screen_name}",K:"هزار",M:"میلیون",Tweet:"توییت","Tweet %{hashtag}":"توییت کردن %{hashtag}","Tweet to %{name}":"به %{name} توییت کنید","Twitter Stream":"جریان توییت‌ها"},fi:{"%{followers_count} followers":"%{followers_count} seuraajaa","100K+":"100 000+","10k unit":"10 000 yksikköä",Follow:"Seuraa","Follow %{screen_name}":"Seuraa käyttäjää %{screen_name}",K:"tuhatta",M:"milj.",Tweet:"Twiittaa","Tweet %{hashtag}":"Twiittaa %{hashtag}","Tweet to %{name}":"Twiittaa käyttäjälle %{name}","Twitter Stream":"Twitter-virta"},fil:{"%{followers_count} followers":"%{followers_count} mga tagasunod","10k unit":"10k yunit",Follow:"Sundan","Follow %{screen_name}":"Sundan si %{screen_name}",Tweet:"I-tweet","Tweet %{hashtag}":"I-tweet ang %{hashtag}","Tweet to %
{name}":"Mag-Tweet kay %{name}","Twitter Stream":"Stream ng Twitter"},fr:{"%{followers_count} followers":"%{followers_count} abonnés","10k unit":"unité de 10k",Follow:"Suivre","Follow %{screen_name}":"Suivre %{screen_name}",Tweet:"Tweeter","Tweet %{hashtag}":"Tweeter %{hashtag}","Tweet to %{name}":"Tweeter à %{name}","Twitter Stream":"Flux Twitter"},he:{"%{followers_count} followers":"%{followers_count} עוקבים","100K+":"מאות אלפים","10k unit":"עשרות אלפים",Follow:"מעקב","Follow %{screen_name}":"לעקוב אחר %{screen_name}",K:"אלף",M:"מיליון",Tweet:"ציוץ","Tweet %{hashtag}":"צייצו %{hashtag}","Tweet to %{name}":"ציוץ אל %{name}","Twitter Stream":"התזרים של טוויטר"},hi:{"%{followers_count} followers":"%{followers_count} फ़ॉलोअर्स","100K+":"1 लाख+","10k unit":"10 हजार इकाईयां",Follow:"फ़ॉलो","Follow %{screen_name}":"%{screen_name} को फ़ॉलो क
रें",K:"हजार",M:"मिलियन",Tweet:"ट्वीट","Tweet %{hashtag}":"ट्वीट %{hashtag}","Tweet to %{name}":"%{name} को ट्वीट करें","Twitter Stream":"ट्विटर स्ट्रीम"},hu:{"%{followers_count} followers":"%{followers_count} követő","100K+":"100E+","10k unit":"10E+",Follow:"Követés","Follow %{screen_name}":"%{screen_name} követése",K:"E","Tweet %{hashtag}":"%{hashtag} tweetelése","Tweet to %{name}":"Tweet küldése neki: %{name}","Twitter Stream":"Twitter Hírfolyam"},id:{"%{followers_count} followers":"%{followers_count} pengikut","100K+":"100 ribu+","10k unit":"10 ribu unit",Follow:"Ikuti","Follow %{screen_name}":"Ikuti %{screen_name}",K:"&nbsp;ribu",M:"&nbsp;juta","Tweet to %{name}":"Tweet ke %{name}","Twitter Stream":"Aliran Twitter"},it:{"%{followers_count} followers":"%{followers_count} follower","10k unit":"10k unità",Follow:"Segui","Follow %{screen_name}":"Segui %{screen_name}","Tweet %{ha
shtag}":"Twitta %{hashtag}","Tweet to %{name}":"Twitta a %{name}"},ja:{"%{followers_count} followers":"%{followers_count}人のフォロワー","100K+":"100K以上","10k unit":"万",Follow:"フォローする","Follow %{screen_name}":"%{screen_name}さんをフォロー",Tweet:"ツイート","Tweet %{hashtag}":"%{hashtag} をツイートする","Tweet to %{name}":"%{name}さんへツイートする","Twitter Stream":"Twitterストリーム"},ko:{"%{followers_count} followers":"%{followers_count}명의 팔로워","100K+":"100만 이상","10k unit":"만 단위",Follow:"팔로우","Follow %{screen_name}":"%{screen_name} 님 팔로우하기",K:"천",M:"백만",Tweet:"트윗","Tweet %{hashtag}":"%{hashtag} 관련 트윗하기","Tweet to %{name}":"%{name}님에게 트윗하기","Twitter Stream":"트위터 스트림"},msa:{"%{followers_count} followers":"%{followers_count} pengikut","100K+":"100 ribu+","10k unit":"10 ribu unit",Follow:"Ikut","Follow %{screen_name}":"Ikut %{screen_name}",K:
"ribu",M:"juta","Tweet to %{name}":"Tweet kepada %{name}","Twitter Stream":"Strim Twitter"},nl:{"%{followers_count} followers":"%{followers_count} volgers","100K+":"100k+","10k unit":"10k-eenheid",Follow:"Volgen","Follow %{screen_name}":"%{screen_name} volgen",K:"k",M:" mln.",Tweet:"Tweeten","Tweet %{hashtag}":"%{hashtag} tweeten","Tweet to %{name}":"Tweeten naar %{name}"},no:{"%{followers_count} followers":"%{followers_count} følgere","100K+":"100 K+","10k unit":"10 K-enhet",Follow:"Følg","Follow %{screen_name}":"Følg %{screen_name}","Tweet to %{name}":"Send en tweet til %{name}","Twitter Stream":"Twitter-strøm"},pl:{"%{followers_count} followers":"%{followers_count} obserwujących","100K+":"100 tys.+","10k unit":"10 tys.",Follow:"Obserwuj","Follow %{screen_name}":"Obserwuj %{screen_name}",K:"tys.",M:"mln",Tweet:"Tweetnij","Tweet %{hashtag}":"Tweetnij %{hashtag}","Tweet to %{name}":"Tweetnij do %{name}","Twitter Stream":"Strumień Twittera"},pt:{"%{followers_count} followers":"
%{followers_count} seguidores","100K+":"+100 mil","10k unit":"10 mil unidades",Follow:"Seguir","Follow %{screen_name}":"Seguir %{screen_name}",K:"Mil",Tweet:"Tweetar","Tweet %{hashtag}":"Tweetar %{hashtag}","Tweet to %{name}":"Tweetar para %{name}","Twitter Stream":"Transmissões do Twitter"},ru:{"%{followers_count} followers":"Читатели: %{followers_count} ","100K+":"100 тыс.+","10k unit":"блок 10k",Follow:"Читать","Follow %{screen_name}":"Читать %{screen_name}",K:"тыс.",M:"млн.",Tweet:"Твитнуть","Tweet %{hashtag}":"Твитнуть %{hashtag}","Tweet to %{name}":"Твитнуть %{name}","Twitter Stream":"Поток в Твиттере"},sv:{"%{followers_count} followers":"%{followers_count} följare","10k unit":"10k",Follow:"Följ","Follow %{screen_name}":"Följ %{screen_name}",Tweet:"Tweeta","Tweet %{hashtag}":"Tweeta %{hashtag}","Tweet to %{name}":"Tweeta till %{name}","Twitter Stream":"Twitterflöde"},th:{"%{followers_count} followers":
"%{followers_count} ผู้ติดตาม","100K+":"100พัน+","10k unit":"หน่วย 10พัน",Follow:"ติดตาม","Follow %{screen_name}":"ติดตาม %{screen_name}",K:"พัน",M:"ล้าน",Tweet:"ทวีต","Tweet %{hashtag}":"ทวีต %{hashtag}","Tweet to %{name}":"ทวีตถึง %{name}","Twitter Stream":"ทวิตเตอร์สตรีม"},tr:{"%{followers_count} followers":"%{followers_count} takipçi","100K+":"+100 bin","10k unit":"10 bin birim",Follow:"Takip et","Follow %{screen_name}":"Takip et: %{screen_name}",K:"bin",M:"milyon",Tweet:"Tweetle","Tweet %{hashtag}":"Tweetle: %{hashtag}","Tweet to %{name}":"Tweetle: %{name}","Twitter Stream":"Twitter Akışı"},ur:{"%{followers_count} followers":"%{followers_count} فالورز","100K+":"ایک لاکھ سے زیادہ","10k unit":"دس ہزار یونٹ",Follow:"فالو کریں","Follow %{screen_name}":"%{screen_name} کو فالو کریں",K:"ہزار",M:"
ملین",Tweet:"ٹویٹ کریں","Tweet %{hashtag}":"%{hashtag} ٹویٹ کریں","Tweet to %{name}":"%{name} کو ٹویٹ کریں","Twitter Stream":"ٹوئٹر سٹریم"},"zh-cn":{"%{followers_count} followers":"%{followers_count} 关注者","100K+":"10万+","10k unit":"1万单元",Follow:"关注","Follow %{screen_name}":"关注 %{screen_name}",K:"千",M:"百万",Tweet:"发推","Tweet %{hashtag}":"以 %{hashtag} 发推","Tweet to %{name}":"发推给 %{name}","Twitter Stream":"Twitter 信息流"},"zh-tw":{"%{followers_count} followers":"%{followers_count} 位跟隨者","100K+":"超過十萬","10k unit":"1萬 單位",Follow:"跟隨","Follow %{screen_name}":"跟隨 %{screen_name}",K:"千",M:"百萬",Tweet:"推文","Tweet %{hashtag}":"推文%{hashtag}","Tweet to %{name}":"推文給%{name}","Twitter Stream":"Twitter 資訊流"}};a.aug(g.prototype,{setLanguage:function(e){var t;e||(e=this.params().lang||this.dataAttr("lang")||b(this.srcEl)),e=e&&e.toLowerCase();if(!e)return this.
lang="en";if(m[e])return this.lang=e;t=e.replace(/[\-_].*/,"");if(m[t])return this.lang=t;this.lang="en"},_:function(e,t){var n=this.lang;t=t||{};if(!n||!m.hasOwnProperty(n))n=this.lang="en";return e=m[n]&&m[n][e]||e,this.ringo(e,t,/%\{([\w_]+)\}/g)},ringo:function(e,t,n){return n=n||/\{\{([\w_]+)\}\}/g,e.replace(n,function(e,n){return t[n]!==undefined?t[n]:e})},add:function(e){h.list.push(this),h.byId[this.id]=e},create:function(e,t,n){var i=this,o;return n[v]=!0,o=r(a.aug({id:this.id,src:e,"class":this.classAttr.join(" ")},n),t,this.targetEl&&this.targetEl.ownerDocument),this.srcEl?this.layout(function(){return i.srcEl.parentNode.replaceChild(o,i.srcEl),o}):this.targetEl?this.layout(function(){return i.targetEl.appendChild(o),o}):s.reject("Did not append widget")},params:function(){var e,t;return this.srcOb?t=this.srcOb:(e=this.srcEl&&this.srcEl.href&&this.srcEl.href.split("?")[1],t=e?o.decode(e):{}),this.params=function(){return t},t},dataAttr:function(e){return this.srcEl&&this.
srcEl.getAttribute("data-"+e)},attr:function(e){return this.srcEl&&this.srcEl.getAttribute(e)},layout:function(e){return d.enqueue(e)},styles:{base:[["font","normal normal normal 11px/18px 'Helvetica Neue', Arial, sans-serif"],["margin","0"],["padding","0"],["whiteSpace","nowrap"]],button:[["fontWeight","bold"],["textShadow","0 1px 0 rgba(255,255,255,.5)"]],large:[["fontSize","13px"],["lineHeight","26px"]],vbubble:[["fontSize","16px"]]},width:function(){throw new Error(name+" not implemented")},height:function(){return this.size=="m"?20:28},minWidth:function(){},maxWidth:function(){},minHeight:function(){},maxHeight:function(){},dimensions:function(){function e(e){switch(typeof e){case"string":return e;case"undefined":return;default:return e+"px"}}var t={width:this.width(),height:this.height()};return this.minWidth()&&(t["min-width"]=this.minWidth()),this.maxWidth()&&(t["max-width"]=this.maxWidth()),this.minHeight()&&(t["min-height"]=this.minHeight()),this.maxHeight()&&(t["max-heigh
t"]=this.maxHeight()),a.forIn(t,function(n,r){t[n]=e(r)}),t},generateId:function(){return this.srcEl&&this.srcEl.id||"twitter-widget-"+l++}}),g.afterLoad=function(e){p.push(e)},g.doLayout=function(){d.exec()},g.doLayoutAsync=function(){d.delayedExec()},g.init=function(e){c=e},g.find=function(e){return e&&h.byId[e]?h.byId[e].element:null},g.embed=function(e){var n=c.widgets,r=[];u.isArray(e)||(e=[e||document]),a.forEach(e,function(e){a.forIn(n,function(n,i){var s,o;n.match(/\./)?(s=n.split("."),o=t.all(s[1],e,s[0])):o=e.getElementsByTagName(n),a.forEach(o,function(e){if(e.getAttribute(v))return;e.setAttribute(v,"true"),r.push(new i(e))})})}),g.doLayout(),a.forEach(r,function(e){h.byId[e.id]=e,h.list.push(e),e.render(c)}),g.doLayoutAsync(),y()},window.setInterval(function(){g.doLayout()},500),e(g)})});
-provide("tfw/widget/intent",function(e){using("tfw/widget/base","util/util","util/querystring","util/uri",function(t,n,r,i){function h(e){var t=Math.round(l/2-u/2),n=0;f>a&&(n=Math.round(f/2-a/2)),window.open(e,undefined,[o,"width="+u,"height="+a,"left="+t,"top="+n].join(","))}function p(e,t){using("tfw/hub/client",function(n){n.openIntent(e,t)})}function d(e){var t="original_referer="+location.href;return[e,t].join(e.indexOf("?")==-1?"?":"&")}function v(e){var t,r,i,o;e=e||window.event,t=e.target||e.srcElement;if(e.altKey||e.metaKey||e.shiftKey)return;while(t){if(~n.indexOf(["A","AREA"],t.nodeName))break;t=t.parentNode}t&&t.href&&(r=t.href.match(s),r&&(o=d(t.href),o=o.replace(/^http[:]/,"https:"),o=o.replace(/^\/\//,"https://"),m(o,t),e.returnValue=!1,e.preventDefault&&e.preventDefault()))}function m(e,t){if(twttr.events.hub&&t){var n=new g(c.generateId(),t);c.add(n),p(e,t),twttr.events.trigger("click",{target:t,region:"intent",type:"click",data:{}})}else h(e)}function g(e,t){this.
id=e,this.element=this.srcEl=t}function y(e){this.srcEl=[],this.element=e}var s=/twitter\.com(\:\d{2,4})?\/intent\/(\w+)/,o="scrollbars=yes,resizable=yes,toolbar=no,location=yes",u=550,a=520,f=screen.height,l=screen.width,c;y.prototype=new t,n.aug(y.prototype,{render:function(e){c=this,window.__twitterIntentHandler||(document.addEventListener?document.addEventListener("click",v,!1):document.attachEvent&&document.attachEvent("onclick",v),window.__twitterIntentHandler=!0)}}),y.open=m,e(y)})});
-provide("dom/classname",function(e){function t(e){return new RegExp("\\b"+e+"\\b","g")}function n(e,n){if(e.classList){e.classList.add(n);return}t(n).test(e.className)||(e.className+=" "+n)}function r(e,n){if(e.classList){e.classList.remove(n);return}e.className=e.className.replace(t(n)," ")}function i(e,t,i){return e.classList&&e.classList.toggle?e.classList.toggle(t,i):(i?n(e,t):r(e,t),i)}function s(e,i,s){if(e.classList&&o(e,i)){r(e,i),n(e,s);return}e.className=e.className.replace(t(i),s)}function o(e,n){return e.classList?e.classList.contains(n):t(n).test(e.className)}e({add:n,remove:r,replace:s,toggle:i,present:o})});
-provide("util/throttle",function(e){function t(e,t,n){function o(){var n=+(new Date);window.clearTimeout(s);if(n-i>t){i=n,e.call(r);return}s=window.setTimeout(o,t)}var r=n||this,i=0,s;return o}e(t)});
-provide("util/css",function(e){using("util/util",function(t){e({sanitize:function(e,n,r){var i=/^[\w ,%\/"'\-_#]+$/,s=e&&t.map(e.split(";"),function(e){return t.map(e.split(":").slice(0,2),function(e){return t.trim(e)})}),o=0,u,a=[],f=r?"!important":"";n=n||/^(font|text\-|letter\-|color|line\-)[\w\-]*$/;for(;s&&(u=s[o]);o++)u[0].match(n)&&u[1].match(i)&&a.push(u.join(":")+f);return a.join(";")}})})});
-provide("tfw/util/params",function(e){using("util/querystring","util/twitter",function(t,n){e(function(e,r){return function(i){var s,o="data-tw-params",u,a=i.innerHTML;if(!i)return;if(!n.isTwitterURL(i.href))return;if(i.getAttribute(o))return;i.setAttribute(o,!0);if(typeof r=="function"){s=r.call(this,i);for(u in s)s.hasOwnProperty(u)&&(e[u]=s[u])}i.href=t.url(i.href,e),i.innerHTML=a}})})});
-provide("$xd/json2.js", function(exports) {window.JSON||(window.JSON={}),function(){function f(e){return e<10?"0"+e:e}function quote(e){return escapable.lastIndex=0,escapable.test(e)?'"'+e.replace(escapable,function(e){var t=meta[e];return typeof t=="string"?t:"\\u"+("0000"+e.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+e+'"'}function str(e,t){var n,r,i,s,o=gap,u,a=t[e];a&&typeof a=="object"&&typeof a.toJSON=="function"&&(a=a.toJSON(e)),typeof rep=="function"&&(a=rep.call(t,e,a));switch(typeof a){case"string":return quote(a);case"number":return isFinite(a)?String(a):"null";case"boolean":case"null":return String(a);case"object":if(!a)return"null";gap+=indent,u=[];if(Object.prototype.toString.apply(a)==="[object Array]"){s=a.length;for(n=0;n<s;n+=1)u[n]=str(n,a)||"null";return i=u.length===0?"[]":gap?"[\n"+gap+u.join(",\n"+gap)+"\n"+o+"]":"["+u.join(",")+"]",gap=o,i}if(rep&&typeof rep=="object"){s=rep.length;for(n=0;n<s;n+=1)r=rep[n],typeof r=="string"&&(i=str(r,a),i&&u.push(quote(
r)+(gap?": ":":")+i))}else for(r in a)Object.hasOwnProperty.call(a,r)&&(i=str(r,a),i&&u.push(quote(r)+(gap?": ":":")+i));return i=u.length===0?"{}":gap?"{\n"+gap+u.join(",\n"+gap)+"\n"+o+"}":"{"+u.join(",")+"}",gap=o,i}}typeof Date.prototype.toJSON!="function"&&(Date.prototype.toJSON=function(e){return isFinite(this.valueOf())?this.getUTCFullYear()+"-"+f(this.getUTCMonth()+1)+"-"+f(this.getUTCDate())+"T"+f(this.getUTCHours())+":"+f(this.getUTCMinutes())+":"+f(this.getUTCSeconds())+"Z":null},String.prototype.toJSON=Number.prototype.toJSON=Boolean.prototype.toJSON=function(e){return this.valueOf()});var cx=/[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,escapable=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,gap,indent,meta={"\b":"\\b"," ":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},rep;typeof JSON.stringify!="function"&&(JSON.string
ify=function(e,t,n){var r;gap="",indent="";if(typeof n=="number")for(r=0;r<n;r+=1)indent+=" ";else typeof n=="string"&&(indent=n);rep=t;if(!t||typeof t=="function"||typeof t=="object"&&typeof t.length=="number")return str("",{"":e});throw new Error("JSON.stringify")}),typeof JSON.parse!="function"&&(JSON.parse=function(text,reviver){function walk(e,t){var n,r,i=e[t];if(i&&typeof i=="object")for(n in i)Object.hasOwnProperty.call(i,n)&&(r=walk(i,n),r!==undefined?i[n]=r:delete i[n]);return reviver.call(e,t,i)}var j;cx.lastIndex=0,cx.test(text)&&(text=text.replace(cx,function(e){return"\\u"+("0000"+e.charCodeAt(0).toString(16)).slice(-4)}));if(/^[\],:{}\s]*$/.test(text.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,"]").replace(/(?:^|:|,)(?:\s*\[)+/g,"")))return j=eval("("+text+")"),typeof reviver=="function"?walk({"":j},""):j;throw new SyntaxError("JSON.parse")})}();exports();loadrunner.Script.loaded.push("$
xd/json2.js")});
-provide("util/params",function(e){using("util/querystring",function(t){var n=function(e){var n=e.search.substr(1);return t.decode(n)},r=function(e){var n=e.href,r=n.indexOf("#"),i=r<0?"":n.substring(r+1);return t.decode(i)},i=function(e){var t={},i=n(e),s=r(e);for(var o in i)i.hasOwnProperty(o)&&(t[o]=i[o]);for(var o in s)s.hasOwnProperty(o)&&(t[o]=s[o]);return t};e({combined:i,fromQuery:n,fromFragment:r})})});
-provide("tfw/util/env",function(e){using("util/params",function(t){function r(){var e=36e5,r=t.combined(document.location)._;return n!==undefined?n:(n=!1,r&&/^\d+$/.test(r)&&(n=+(new Date)-parseInt(r)<e),n)}var n;e({isDynamicWidget:r})})});
-provide("util/decider",function(e){function n(e){var n=t[e]||!1;if(!n)return!1;if(n===!0||n===100)return!0;var r=Math.random()*100,i=n>=r;return t[e]=i,i}var t={force_new_cookie:100,rufous_pixel:100,decider_fixture:12.34};e({isAvailable:n})});
-provide("dom/cookie",function(e){using("util/util",function(t){e(function(e,n,r){var i=t.aug({},r);if(arguments.length>1&&String(n)!=="[object Object]"){if(n===null||n===undefined)i.expires=-1;if(typeof i.expires=="number"){var s=i.expires,o=new Date((new Date).getTime()+s*60*1e3);i.expires=o}return n=String(n),document.cookie=[encodeURIComponent(e),"=",i.raw?n:encodeURIComponent(n),i.expires?"; expires="+i.expires.toUTCString():"",i.path?"; path="+i.path:"",i.domain?"; domain="+i.domain:"",i.secure?"; secure":""].join("")}i=n||{};var u,a=i.raw?function(e){return e}:decodeURIComponent;return(u=(new RegExp("(?:^|; )"+encodeURIComponent(e)+"=([^;]*)")).exec(document.cookie))?a(u[1]):null})})});
-provide("util/donottrack",function(e){using("dom/cookie",function(t){e(function(e){var n=/\.(gov|mil)(:\d+)?$/i,r=/https?:\/\/([^\/]+).*/i;return e=e||document.referrer,e=r.test(e)&&r.exec(e)[1],t("dnt")?!0:n.test(document.location.host)?!0:e&&n.test(e)?!0:document.navigator?document.navigator["doNotTrack"]==1:navigator?navigator["doNotTrack"]==1||navigator["msDoNotTrack"]==1:!1})})});
-provide("tfw/util/guest_cookie",function(e){using("dom/cookie","util/donottrack","util/decider",function(t,n,r){function s(){var e=t(i)||!1;if(!e)return;e.match(/^v3\:/)||o()}function o(){t(i)&&t(i,null,{domain:".twitter.com",path:"/"})}function u(){n()&&o()}var i="pid";e({set:u,destroy:o,forceNewCookie:s,guest_id_cookie:i})})});
-provide("sandbox/baseframe",function(e){using("util/domready","util/env","util/iframe","util/promise","util/util",function(t,n,r,i,s){function u(e,t,n,o){var u;this.readyPromise=new i(s.bind(function(e){this.resolver=e},this)),this.attrs=e||{},this.styles=t||{},this.appender=n||function(e){document.body.appendChild(e)},this.layout=o||function(e){return new i(function(t){return t.fulfill(e())})},this.frame=u=r(this.attrs,this.styles),u.onreadystatechange=u.onload=this.getCallback(this.onLoad),this.layout(s.bind(function(){this.appender(u)},this))}var o=0;window.twttr=window.twttr||{},window.twttr.sandbox=window.twttr.sandbox||{},u.prototype.getCallback=function(e){var t=this,n=!1;return function(){n||(n=!0,e.call(t))}},u.prototype.registerCallback=function(e){var t="cb"+o++;return window.twttr.sandbox[t]=e,t},u.prototype.onLoad=function(){try{this.document=this.frame.contentWindow.document}catch(e){this.setDocDomain();return}this.writeStandardsDoc(),this.resolver.fulfill(this)},u.pro
totype.ready=function(){return this.readyPromise},u.prototype.setDocDomain=function(){var e=r(this.attrs,this.styles),t=this.registerCallback(this.getCallback(this.onLoad));e.src=["javascript:",'document.write("");',"try { window.parent.document; }","catch (e) {",'document.domain="'+document.domain+'";',"}",'window.parent.twttr.sandbox["'+t+'"]();'].join(""),this.layout(s.bind(function(){this.frame.parentNode.removeChild(this.frame),this.frame=null,this.appender?this.appender(e):document.body.appendChild(e),this.frame=e},this))},u.prototype.writeStandardsDoc=function(){if(!n.anyIE()||n.cspEnabled())return;var e=["<!DOCTYPE html>","<html>","<head>","<scr","ipt>","try { window.parent.document; }",'catch (e) {document.domain="'+document.domain+'";}',"</scr","ipt>","</head>","<body></body>","</html>"].join("");this.document.write(e),this.document.close()},e(u)})});
-provide("sandbox/minimal",function(e){using("sandbox/baseframe","util/env","util/promise","util/util",function(t,n,r,i){function s(e,t){if(!e)return;this._frame=e,this._win=e.contentWindow,this._doc=this._win.document,this._body=this._doc.body,this._head=this._body.parentNode.children[0],this.layout=t}i.aug(s.prototype,{createElement:function(e){return this._doc.createElement(e)},createDocumentFragment:function(){return this._doc.createDocumentFragment()},appendChild:function(e){return this.layout(i.bind(function(){return this._body.appendChild(e)},this))},setBaseTarget:function(e){var t=this._doc.createElement("base");return t.target=e,this.layout(i.bind(function(){return this._head.appendChild(t)},this))},element:function(){return this._frame},document:function(){return this._doc}}),s.createSandbox=function(e,n,r,i){var o=new t(e,n,r,i);return o.ready().then(function(e){return new s(e.frame,e.layout)})},e(s)})});
-provide("tfw/util/tracking",function(e){using("dom/cookie","dom/delegate","sandbox/minimal","util/donottrack","util/promise","tfw/util/guest_cookie","tfw/util/env","util/iframe","util/util","$xd/json2.js",function(t,n,r,i,s,o,u,a,f){function S(){return b?b:b=r.createSandbox({id:"rufous-sandbox"},{display:"none"}).then(f.bind(function(e){y=e,d=D(),v=P();while(m[0])k.apply(this,m.shift());return g?L():[d,v]},this))}function x(e,t,n,r){var i=!f.isObject(e),s=t?!f.isObject(t):!1,o,u;if(i||s)return;if(/Firefox/.test(navigator.userAgent))return;o=O(e),u=M(t,!!n,!!r),C(o,u,!0)}function T(e,n,r,s){var a=c[n],l,h,p=o.guest_id_cookie;if(!a)return;e=e||{},s=!!s,r=!!r,h=e.original_redirect_referrer||document.referrer,s=s||i(h),l=f.aug({},e),r||(N(l,"referrer",h),N(l,"widget",+u.isDynamicWidget()),N(l,"hask",+!!t("k")),N(l,"li",+!!t("twid")),N(l,p,t(p)||"")),s&&(N(l,"dnt",1),B(l)),H(a+"?"+_(l))}function N(e,t,n){var r=l+t;if(!e)return;return e[r]=n,e}function C(e,t,n){var r,i,s,o,u=w+"?";if(!f.i
sObject(e)||!f.isObject(t))return;s=f.aug({},t,{event_namespace:e}),n?(u+=_({l:j(s)}),H(u)):(r=d.firstChild,r.value=+r.value||+s.dnt,o=j(s),i=y.createElement("input"),i.type="hidden",i.name="l",i.value=o,d.appendChild(i))}function k(e,t,n,r){var i=!f.isObject(e),s=t?!f.isObject(t):!1,o,u;if(i||s)return;if(!y||!d){m.push([e,t,n,r]);return}o=O(e),u=M(t,!!n,!!r),C(o,u)}function L(){if(!d)return g=!0,b||s.reject();if(d.children.length<=2)return s.reject();var e=s.every(y.appendChild(d),y.appendChild(v)).then(function(e){var t=e[0],r=e[1];return n.on(r,"load",function(){window.setTimeout(A(t,r),0)}),t.submit(),e});return d=D(),v=P(),e}function A(e,t){return function(){var n=e.parentNode;if(!n)return;n.removeChild(e),n.removeChild(t)}}function O(e){return f.aug({client:"tfw"},e||{})}function M(e,t,n){var r={_category_:"tfw_client_event"},s,o;return t=!!t,n=!!n,s=f.aug(r,e||{}),o=s.widget_origin||document.referrer,s.format_version=1,s.dnt=n=n||i(o),s.triggered_on=s.triggered_on||+(new Date
),t||(s.widget_origin=o),n&&B(s),s}function _(e){var t=[],n,r,i;for(n in e)e.hasOwnProperty(n)&&(r=encodeURIComponent(n),i=encodeURIComponent(e[n]),i=i.replace(/'/g,"%27"),t.push(r+"="+i));return t.join("&")}function D(){var e=y.createElement("form"),t=y.createElement("input"),n=y.createElement("input");return p++,e.action=w,e.method="POST",e.target="rufous-frame-"+p,e.id="rufous-form-"+p,t.type="hidden",t.name="dnt",t.value=0,n.type="hidden",n.name="tfw_redirect",n.value=E,e.appendChild(t),e.appendChild(n),e}function P(){var e="rufous-frame-"+p;return a({id:e,name:e,width:0,height:0,border:0},{display:"none"},y.document())}function H(e){var t=document.createElement("img");t.src=e,t.alt="",t.style.position="absolute",t.style.height="1px",t.style.width="1px",t.style.top="-9999px",t.style.left="-9999px",document.body.appendChild(t)}function B(e){f.forIn(e,function(t){~f.indexOf(h,t)&&delete e[t]})}function j(e){var t=Array.prototype.toJSON,n;return delete Array.prototype.toJSON,n=JSON
.stringify(e),t&&(Array.prototype.toJSON=t),n}var l="twttr_",c={tweetbutton:"//p.twitter.com/t.gif",followbutton:"//p.twitter.com/f.gif",tweetembed:"//p.twitter.com/e.gif"},h=["hask","li","logged_in","pid","user_id",o.guest_id_cookie,l+"hask",l+"li",l+o.guest_id_cookie],p=0,d,v,m=[],g,y,b,w="https://twitter.com/i/jot",E="https://platform.twitter.com/jot.html";o.forceNewCookie(),e({enqueue:k,flush:L,initPostLogging:S,addPixel:x,addLegacyPixel:T,addVar:N})})});
-provide("tfw/util/data",function(e){using("util/logger","util/util","util/querystring",function(t,n,r){function c(e){return function(n){n.error?e.error&&e.error(n):n.headers&&n.headers.status!=200?(e.error&&e.error(n),t.warn(n.headers.message)):e.success&&e.success(n),e.complete&&e.complete(n),h(e)}}function h(e){var t=e.script;t&&(t.onload=t.onreadystatechange=null,t.parentNode&&t.parentNode.removeChild(t),e.script=undefined,t=undefined),e.callbackName&&twttr.tfw.callbacks[e.callbackName]&&delete twttr.tfw.callbacks[e.callbackName]}function p(e){var t={};return e.success&&n.isType("function",e.success)&&(t.success=e.success),e.error&&n.isType("function",e.error)&&(t.error=e.error),e.complete&&n.isType("function",e.complete)&&(t.complete=e.complete),t}window.twttr=window.twttr||{},twttr.tfw=twttr.tfw||{},twttr.tfw.callbacks=twttr.tfw.callbacks||{};var i="twttr.tfw.callbacks",s=twttr.tfw.callbacks,o="cb",u=0,a=!1,f={},l={tweets:"https://syndication.twitter.com/tweets.json",timeline:"
https://cdn.syndication.twimg.com/widgets/timelines/",timelinePoll:"https://syndication.twimg.com/widgets/timelines/paged/",timelinePreview:"https://syndication.twimg.com/widgets/timelines/preview/"};twttr.widgets&&twttr.widgets.endpoints&&n.aug(l,twttr.widgets.endpoints),f.jsonp=function(e,t,n){var f=n||o+u,l=i+"."+f,h=document.createElement("script"),p={callback:l,suppress_response_codes:!0};s[f]=c(t);if(a||!/^https?\:$/.test(window.location.protocol))e=e.replace(/^\/\//,"https://");h.src=r.url(e,p),h.async="async",document.body.appendChild(h),t.script=h,t.callbackName=f,n||u++},f.config=function(e){if(e.forceSSL===!0||e.forceSSL===!1)a=e.forceSSL},f.tweets=function(e){var t=arguments[0],n=p(t),i={ids:e.ids.join(","),lang:e.lang},s=r.url(l.tweets,i);this.jsonp(s,n)},f.timeline=function(e){var t=arguments[0],i=p(t),s,o=9e5,u=Math.floor(+(new Date)/o),a={lang:e.lang,t:u,domain:window.location.host,dnt:e.dnt,override_type:e.overrideType,override_id:e.overrideId,override_name:e.overri
deName,override_owner_id:e.overrideOwnerId,override_owner_name:e.overrideOwnerName,with_replies:e.withReplies};n.compact(a),s=r.url(l.timeline+e.id,a),this.jsonp(s,i,"tl_"+e.id+"_"+e.instanceId)},f.timelinePoll=function(e){var t=arguments[0],i=p(t),s={lang:e.lang,since_id:e.sinceId,max_id:e.maxId,min_position:e.minPosition,max_position:e.maxPosition,domain:window.location.host,dnt:e.dnt,override_type:e.overrideType,override_id:e.overrideId,override_name:e.overrideName,override_owner_id:e.overrideOwnerId,override_owner_name:e.overrideOwnerName,with_replies:e.withReplies},o;n.compact(s),o=r.url(l.timelinePoll+e.id,s),this.jsonp(o,i,"tlPoll_"+e.id+"_"+e.instanceId+"_"+(e.sinceId||e.maxId||e.maxPosition||e.minPosition))},f.timelinePreview=function(e){var t=arguments[0],n=p(t),i=e.params,s=r.url(l.timelinePreview,i);this.jsonp(s,n)},e(f)})});
-provide("anim/transition",function(e){function t(e,t){var n;return t=t||window,n=t.requestAnimationFrame||t.webkitRequestAnimationFrame||t.mozRequestAnimationFrame||t.msRequestAnimationFrame||t.oRequestAnimationFrame||function(n){t.setTimeout(function(){e(+(new Date))},1e3/60)},n(e)}function n(e,t){return Math.sin(Math.PI/2*t)*e}function r(e,n,r,i,s){function a(){var u=+(new Date),f=u-o,l=Math.min(f/r,1),c=i?i(n,l):n*l;e(c);if(l==1)return;t(a,s)}var o=+(new Date),u;t(a)}e({animate:r,requestAnimationFrame:t,easeOut:n})});
-provide("util/datetime",function(e){using("util/util",function(t){function h(e){return e<10?"0"+e:e}function p(e){function i(e,n){return t&&t[e]&&(e=t[e]),e.replace(/%\{([\w_]+)\}/g,function(e,t){return n[t]!==undefined?n[t]:e})}var t=e&&e.phrases,n=e&&e.months||s,r=e&&e.formats||o;this.timeAgo=function(e){var t=p.parseDate(e),s=+(new Date),o=s-t,h;return t?isNaN(o)||o<u*2?i("now"):o<a?(h=Math.floor(o/u),i(r.abbr,{number:h,symbol:i(c,{abbr:i("s"),expanded:h>1?i("seconds"):i("second")})})):o<f?(h=Math.floor(o/a),i(r.abbr,{number:h,symbol:i(c,{abbr:i("m"),expanded:h>1?i("minutes"):i("minute")})})):o<l?(h=Math.floor(o/f),i(r.abbr,{number:h,symbol:i(c,{abbr:i("h"),expanded:h>1?i("hours"):i("hour")})})):o<l*365?i(r.shortdate,{day:t.getDate(),month:i(n[t.getMonth()])}):i(r.longdate,{day:t.getDate(),month:i(n[t.getMonth()]),year:t.getFullYear().toString().slice(2)}):""},this.localTimeStamp=function(e){var t=p.parseDate(e),s=t&&t.getHours();return t?i(r.full,{day:t.getDate(),month:i(n[t.get
Month()]),year:t.getFullYear(),hours24:h(s),hours12:s<13?s?s:"12":s-12,minutes:h(t.getMinutes()),seconds:h(t.getSeconds()),amPm:s<12?i("AM"):i("PM")}):""}}var n=/(\d{4})-?(\d{2})-?(\d{2})T(\d{2}):?(\d{2}):?(\d{2})(Z|[\+\-]\d{2}:?\d{2})/,r=/[a-z]{3,4} ([a-z]{3}) (\d{1,2}) (\d{1,2}):(\d{2}):(\d{2}) ([\+\-]\d{2}:?\d{2}) (\d{4})/i,i=/^\d+$/,s=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],o={abbr:"%{number}%{symbol}",shortdate:"%{day} %{month}",longdate:"%{day} %{month} %{year}",full:"%{hours12}:%{minutes} %{amPm} - %{day} %{month} %{year}"},u=1e3,a=u*60,f=a*60,l=f*24,c='<abbr title="%{expanded}">%{abbr}</abbr>';p.parseDate=function(e){var o=e||"",u=o.toString(),a,f;return a=function(){var e;if(i.test(u))return parseInt(u,10);if(e=u.match(r))return Date.UTC(e[7],t.indexOf(s,e[1]),e[2],e[3],e[4],e[5]);if(e=u.match(n))return Date.UTC(e[1],e[2]-1,e[3],e[4],e[5],e[6])}(),a?(f=new Date(a),!isNaN(f.getTime())&&f):!1},e(p)})});
-provide("sandbox/frame",function(e){using("sandbox/baseframe","sandbox/minimal","util/env","util/promise","util/util",function(t,n,r,i,s){function h(){var e,t;a={};if(f)return;e=document.body.offsetHeight,t=document.body.offsetWidth;if(e==c&&t==l)return;s.forEach(u,function(e){e.dispatchFrameResize(l,c)}),c=e,l=t}function p(e){var t;return e.id?e.id:(t=e.getAttribute("data-twttr-id"))?t:(t="twttr-sandbox-"+o++,e.setAttribute("data-twttr-id",t),t)}function d(e,t){n.apply(this,[e,t]),this._resizeHandlers=[],u.push(this),this._win.addEventListener?this._win.addEventListener("resize",s.bind(function(){this.dispatchFrameResize()},this),!0):this._win.attachEvent("onresize",s.bind(function(){this.dispatchFrameResize(this._win.event)},this))}var o=0,u=[],a={},f,l=0,c=0;window.addEventListener?window.addEventListener("resize",h,!0):document.body.attachEvent("onresize",function(){h(window.event)}),d.prototype=new n,s.aug(d.prototype,{dispatchFrameResize:function(){var e=this._frame.parentNode
,t=p(e),n=a[t];f=!0;if(!this._resizeHandlers.length)return;n||(n=a[t]={w:this._frame.offsetWidth,h:this._frame.offsetHeight});if(this._frameWidth==n.w&&this._frameHeight==n.h)return;this._frameWidth=n.w,this._frameHeight=n.h,s.forEach(this._resizeHandlers,function(e){e(n.w,n.h)}),window.setTimeout(function(){a={}},50)},appendStyleSheet:function(e){var t=this._doc.createElement("link");return t.type="text/css",t.rel="stylesheet",t.href=e,this.layout(s.bind(function(){return this._head.appendChild(t)},this))},appendCss:function(e){var t;return r.cspEnabled()?i.reject("CSP enabled; cannot embed inline styles."):(t=this._doc.createElement("style"),t.type="text/css",t.styleSheet?t.styleSheet.cssText=e:t.appendChild(this._doc.createTextNode(e)),this.layout(s.bind(function(){return this._head.appendChild(t)},this)))},style:function(e){return this.layout(s.bind(function(){s.forIn(e,s.bind(function(e,t){this._frame.style[e]=t},this))},this))},onresize:function(e){this._resizeHandlers.push(e)
},width:function(e){return e!==undefined&&(this._frame.width=e),this._frame.offsetWidth},height:function(e){return e!==undefined&&(this._frame.height=e),this._frame.offsetHeight}}),d.createSandbox=function(e,n,r,i){var s=new t(e,n,r,i);return s.ready().then(function(e){return new d(e.frame,e.layout)})},e(d)})});
-provide("tfw/util/assets",function(e){using("util/env",function(t){function r(e,r){var i=n[e],s;return t.retina()?s="2x":t.ie6()||t.ie7()?s="gif":s="default",r&&(s+=".rtl"),i[s]}var n={"embed/timeline.css":{"default":"embed/timeline.5e1325f111fbc177d1261f5d81cceeeb.default.css","2x":"embed/timeline.5e1325f111fbc177d1261f5d81cceeeb.2x.css",gif:"embed/timeline.5e1325f111fbc177d1261f5d81cceeeb.gif.css","default.rtl":"embed/timeline.5e1325f111fbc177d1261f5d81cceeeb.default.rtl.css","2x.rtl":"embed/timeline.5e1325f111fbc177d1261f5d81cceeeb.2x.rtl.css","gif.rtl":"embed/timeline.5e1325f111fbc177d1261f5d81cceeeb.gif.rtl.css"}};e(r)})});
-provide("tfw/widget/syndicatedbase",function(e){using("tfw/widget/base","tfw/widget/intent","tfw/util/assets","tfw/util/globals","dom/classname","dom/get","dom/delegate","sandbox/frame","util/env","util/promise","util/twitter","util/util",function(t,n,r,i,s,o,u,a,f,l,c,h){function w(){g=E.VALID_COLOR.test(i.val("widgets:link-color"))&&RegExp.$1,b=E.VALID_COLOR.test(i.val("widgets:border-color"))&&RegExp.$1,y=i.val("widgets:theme")}function E(e){if(!e)return;var n;this.readyPromise=new l(h.bind(function(e){this.readyResolver=e},this)),this.renderedPromise=new l(h.bind(function(e){this.renderResolver=e},this)),t.apply(this,[e]),n=this.params(),this.targetEl=this.srcEl&&this.srcEl.parentNode||n.targetEl||document.body,this.predefinedWidth=E.VALID_UNIT.test(n.width||this.attr("width"))&&RegExp.$1,this.layout(h.bind(function(){return this.containerWidth=this.targetEl&&this.targetEl.offsetWidth},this)).then(h.bind(function(e){var t=this.predefinedWidth||e||this.dimensions.DEFAULT_WIDTH;th
is.height=E.VALID_UNIT.test(n.height||this.attr("height"))&&RegExp.$1,this.width=Math.max(this.dimensions.MIN_WIDTH,Math.min(t,this.dimensions.DEFAULT_WIDTH))},this)),E.VALID_COLOR.test(n.linkColor||this.dataAttr("link-color"))?this.linkColor=RegExp.$1:this.linkColor=g,E.VALID_COLOR.test(n.borderColor||this.dataAttr("border-color"))?this.borderColor=RegExp.$1:this.borderColor=b,this.theme=n.theme||this.attr("data-theme")||y,this.theme=/(dark|light)/.test(this.theme)?this.theme:"",this.classAttr.push(f.touch()?"is-touch":"not-touch"),a.createSandbox({"class":this.renderedClassNames,id:this.id,title:this.a11yTitle},{width:"1px",height:"0px",border:"none",position:"absolute",visibility:"hidden"},h.bind(function(e){this.srcEl?this.targetEl.insertBefore(e,this.srcEl):this.targetEl.appendChild(e)},this),this.layout).then(h.bind(function(e){this.setupSandbox(e)},this))}var p=[".customisable",".customisable:link",".customisable:visited",".customisable:hover",".customisable:focus",".customis
able:active",".customisable-highlight:hover",".customisable-highlight:focus","a:hover .customisable-highlight","a:focus .customisable-highlight"],d=["a:hover .ic-mask","a:focus .ic-mask"],v=[".customisable-border"],m=[".timeline-header h1.summary",".timeline-header h1.summary a:link",".timeline-header h1.summary a:visited"],g,y,b;E.prototype=new t,h.aug(E.prototype,{setupSandbox:function(e){this.sandbox=e,l.some(e.appendCss("body{display:none}"),e.setBaseTarget("_blank"),e.appendStyleSheet(twttr.widgets.config.assetUrl()+"/"+r("embed/timeline.css"))).then(h.bind(function(){this.readyResolver.fulfill(e)},this))},ready:function(){return this.readyPromise},rendered:function(){return this.renderedPromise},contentWidth:function(e){var t=this.dimensions,n=this.fullBleedPhoto?0:this.chromeless&&this.narrow?t.NARROW_MEDIA_PADDING_CL:this.chromeless?t.WIDE_MEDIA_PADDING_CL:this.narrow?t.NARROW_MEDIA_PADDING:t.WIDE_MEDIA_PADDING;return(e||this.width)-n},addSiteStyles:function(){var e=h.bind(f
unction(e){return(this.theme=="dark"?".thm-dark ":"")+e},this),t=[];this.headingStyle&&t.push(h.map(m,e).join(",")+"{"+this.headingStyle+"}"),this.linkColor&&(t.push(h.map(p,e).join(",")+"{color:"+this.linkColor+"}"),t.push(h.map(d,e).join(",")+"{background-color:"+this.linkColor+"}")),this.borderColor&&t.push(h.map(v,e).concat(this.theme=="dark"?[".thm-dark.customisable-border"]:[]).join(",")+"{border-color:"+this.borderColor+"}");if(!t.length)return;return this.sandbox.appendCss(t.join(""))},setNarrow:function(){var e=this.narrow;return this.narrow=this.width<this.dimensions.NARROW_WIDTH,e!=this.narrow?this.layout(h.bind(function(){return s.toggle(this.element,"var-narrow",this.narrow)},this)):l.fulfill(this.narrow)},bindIntentHandlers:function(){var e=this,t=this.element;u.delegate(t,"click",".profile",function(t){var r;e.addUrlParams(this),r=c.intentForProfileURL(this.href);if(t.altKey||t.metaKey||t.shiftKey)return;r&&(n.open(r,e.sandbox.frame),u.preventDefault(t))}),u.delegate(
t,"click",".web-intent",function(t){e.addUrlParams(this);if(t.altKey||t.metaKey||t.shiftKey)return;n.open(this.href,e.sandbox.frame),u.preventDefault(t)})},constrainMedia:function(e,t){var n=0,r=this.fullBleedPhoto?500:375;e=e||this.element,t=t||this.contentWidth();if(!e)return;return h.forEach(o.all("autosized-media",e),h.bind(function(e){var i=E.scaleDimensions(e.getAttribute("data-width"),e.getAttribute("data-height"),t,r);this.layout(function(){i.width>0&&(e.width=i.width),i.height>0&&(e.height=i.height)}),n=i.height>n?i.height:n},this)),n}}),E.VALID_UNIT=/^([0-9]+)( ?px)?$/,E.VALID_COLOR=/^(#(?:[0-9a-f]{3}|[0-9a-f]{6}))$/i,E.retinize=function(e){if(!f.retina())return;h.forEach(e.getElementsByTagName("IMG"),function(e){var t=e.getAttribute("data-src-2x");t&&(e.src=t)})},E.scaleDimensions=function(e,t,n,r){return t>e&&t>r&&(e*=r/t,t=r),e>n&&(t*=n/e,e=n,t>r&&(e*=r/t,t=r)),{width:Math.ceil(e),height:Math.ceil(t)}},w(),e(E)})});
-provide("tfw/widget/timeline",function(e){using("tfw/widget/base","tfw/widget/syndicatedbase","util/datetime","util/promise","anim/transition","tfw/util/article","tfw/util/data","tfw/util/tracking","tfw/util/params","util/css","util/env","util/throttle","util/twitter","util/querystring","util/typevalidator","util/util","dom/delegate","dom/classname","dom/get",function(t,n,r,i,s,o,u,a,f,l,c,h,p,d,v,m,g,y,b){function I(e){if(!e)return;var t,r,i,s,o,u,a,f;this.a11yTitle=this._("Twitter Timeline Widget"),n.apply(this,[e]),t=this.params(),r=(t.chrome||this.dataAttr("chrome")||"").split(" "),this.preview=t.previewParams,this.widgetId=t.widgetId||this.dataAttr("widget-id"),this.instanceId=++F,this.cursors={maxPosition:0,minPosition:0},(s=t.screenName||this.dataAttr("screen-name"))||(o=t.userId||this.dataAttr("user-id"))?this.override={overrideType:"user",overrideId:o,overrideName:s,withReplies:v.asBoolean(t.showReplies||this.dataAttr("show-replies"))?"true":"false"}:(s=t.favoritesScreenNam
e||this.dataAttr("favorites-screen-name"))||(o=t.favoritesUserId||this.dataAttr("favorites-user-id"))?this.override={overrideType:"favorites",overrideId:o,overrideName:s}:((s=t.listOwnerScreenName||this.dataAttr("list-owner-screen-name"))||(o=t.listOwnerId||this.dataAttr("list-owner-id")))&&((u=t.listId||this.dataAttr("list-id"))||(a=t.listSlug||this.dataAttr("list-slug")))?this.override={overrideType:"list",overrideOwnerId:o,overrideOwnerName:s,overrideId:u,overrideName:a}:(f=t.customTimelineId||this.dataAttr("custom-timeline-id"))?this.override={overrideType:"custom",overrideId:f}:this.override={},this.tweetLimit=v.asInt(t.tweetLimit||this.dataAttr("tweet-limit")),this.staticTimeline=this.tweetLimit>0,r.length&&(i=~m.indexOf(r,"none"),this.chromeless=i||~m.indexOf(r,"transparent"),this.headerless=i||~m.indexOf(r,"noheader"),this.footerless=i||~m.indexOf(r,"nofooter"),this.borderless=i||~m.indexOf(r,"noborders"),this.noscrollbar=~m.indexOf(r,"noscrollbar")),this.headingStyle=l.sani
tize(t.headingStyle||this.dataAttr("heading-style"),undefined,!0),this.classAttr.push("twitter-timeline-rendered"),this.ariaPolite=t.ariaPolite||this.dataAttr("aria-polite")}var w="1.0",E={CLIENT_SIDE_USER:0,CLIENT_SIDE_APP:2},S="timeline",x="new-tweets-bar",T="timeline-header",N="timeline-footer",C="stream",k="h-feed",L="tweet",A="expanded",O="detail-expander",M="expand",_="permalink",D="twitter-follow-button",P="no-more-pane",H="pending-scroll-in",B="pending-new-tweet",j="pending-new-tweet-display",F=0;I.prototype=new n,m.aug(I.prototype,{renderedClassNames:"twitter-timeline twitter-timeline-rendered",dimensions:{DEFAULT_HEIGHT:"600",DEFAULT_WIDTH:"520",NARROW_WIDTH:"320",MIN_WIDTH:"180",MIN_HEIGHT:"200",WIDE_MEDIA_PADDING:81,NARROW_MEDIA_PADDING:16,WIDE_MEDIA_PADDING_CL:60,NARROW_MEDIA_PADDING_CL:12},create:function(e){var r=this.sandbox.createElement("div"),i,s,u=[],f;r.innerHTML=e.body,i=r.children[0]||!1;if(!i)return;return this.reconfigure(e.config),this.discardStaticOverflow
(i),this.augmentWidgets(i),n.retinize(i),this.constrainMedia(i),this.searchQuery=i.getAttribute("data-search-query"),this.profileId=i.getAttribute("data-profile-id"),f=this.getTweetDetails(r),m.forIn(f,function(e){u.push(e)}),a.enqueue({page:"timeline",component:"timeline",element:"initial",action:u.length?"results":"no_results"},{widget_id:this.widgetId,widget_origin:o.url(),item_ids:u,item_details:f,client_version:w,message:this.partner,query:this.searchQuery,profile_id:this.profileId},!0,this.dnt),a.flush(),this.ariaPolite=="assertive"&&(s=b.one(x,i,"DIV"),s.setAttribute("aria-polite","assertive")),i.id=this.id,i.className+=" "+this.classAttr.join(" "),i.lang=this.lang,twttr.widgets.load(i),this.ready().then(m.bind(function(e){e.appendChild(i),e.style({cssText:"",border:"none",maxWidth:"100%",minWidth:this.dimensions.MIN_WIDTH+"px"}),this.layout(m.bind(function(){this.srcEl&&this.srcEl.parentNode&&this.srcEl.parentNode.removeChild(this.srcEl),this.predefinedWidth=this.width,this.
predefinedHeight=this.height,this.width=e.width(this.width),this.height=e.height(this.height)},this)).then(m.bind(function(){this.width<this.predefinedWidth&&(this.layout(m.bind(function(){this.width=e.width(this.predefinedWidth)},this)),t.doLayoutAsync()),this.height<this.predefinedHeight&&(this.layout(m.bind(function(){this.height=e.height(this.predefinedHeight)},this)),t.doLayoutAsync())},this)),this.setNarrow().then(m.bind(function(){this.sandbox.onresize(m.bind(this.handleResize,this)),this.renderResolver.fulfill(this.sandbox)},this))},this)),i},render:function(e,n){var r,s;return!this.preview&&!this.widgetId?i.reject(400):(s=new i(function(e){r=e}),this.staticTimeline?this.rendered().then(m.bind(function(e){this.layout(m.bind(function(){e.height(this.height=this.element.offsetHeight)},this)),t.doLayoutAsync()},this)):this.rendered().then(m.bind(function(){this.recalculateStreamHeight(),t.doLayoutAsync()},this)),this.preview?this.getPreviewTimeline(r):this.getTimeline(r),n&&s.t
hen(n),s)},getPreviewTimeline:function(e){u.timelinePreview({success:m.bind(function(n){this.ready().then(m.bind(function(){this.element=this.create(n),this.readTranslations(),this.bindInteractions(),this.updateCursors(n.headers,{initial:!0}),t.doLayoutAsync(),e.fulfill(this.element)},this))},this),error:function(t){if(!t||!t.headers)return;e.reject(t.headers.status)},params:this.preview})},getTimeline:function(e){a.initPostLogging(),u.timeline(m.aug({id:this.widgetId,instanceId:this.instanceId,dnt:this.dnt,lang:this.lang,success:m.bind(function(n){this.ready().then(m.bind(function(){this.element=this.create(n),this.readTranslations(),this.bindInteractions(),this.updateTimeStamps(),this.updateCursors(n.headers,{initial:!0}),n.headers.xPolling&&/\d/.test(n.headers.xPolling)&&(this.pollInterval=n.headers.xPolling*1e3),this.staticTimeline||this.schedulePolling(),t.doLayoutAsync(),e.fulfill(this.sandbox.element())},this))},this),error:function(t){if(!t||!t.headers)return;e.reject(t.head
ers.status)}},this.override))},reconfigure:function(e){this.lang=e.lang,this.theme||(this.theme=e.theme),this.theme=="dark"&&this.classAttr.push("thm-dark"),this.chromeless&&this.classAttr.push("var-chromeless"),this.borderless&&this.classAttr.push("var-borderless"),this.headerless&&this.classAttr.push("var-headerless"),this.footerless&&this.classAttr.push("var-footerless"),this.staticTimeline&&this.classAttr.push("var-static"),!this.linkColor&&e.linkColor&&n.VALID_COLOR.test(e.linkColor)&&(this.linkColor=RegExp.$1),!this.height&&n.VALID_UNIT.test(e.height)&&(this.height=RegExp.$1),this.height=Math.max(this.dimensions.MIN_HEIGHT,this.height?this.height:this.dimensions.DEFAULT_HEIGHT),this.preview&&this.classAttr.push("var-preview"),this.narrow=this.width<=this.dimensions.NARROW_WIDTH,this.narrow&&this.classAttr.push("var-narrow"),this.addSiteStyles()},getTweetDetails:function(e){var t=b.one(k,e),n,r={},i,s,o,u,a={TWEET:0,RETWEET:10},f=0;n=t&&t.children||[];for(;i=n[f];f++)s=b.one(_,
i,"A"),o=i.getAttribute("data-rendered-tweet-id")||p.status(s.href),u=i.getAttribute("data-tweet-id"),o===u?r[o]={item_type:a.TWEET}:r[o]={item_type:a.RETWEET,target_type:a.TWEET,target_id:u};return r},bindInteractions:function(){var e=this,t=this.element,n=!0;this.bindIntentHandlers(),g.delegate(t,"click",".load-tweets",function(t){n&&(n=!1,e.forceLoad(),g.stop(t))}),g.delegate(t,"click",".display-sensitive-image",function(n){e.showNSFW(b.ancestor("."+L,this,t)),g.stop(n)}),g.delegate(t,"mouseover","."+S,function(){e.mouseOver=!0}),g.delegate(t,"mouseout","."+S,function(){e.mouseOver=!1}),g.delegate(t,"mouseover","."+x,function(){e.mouseOverNotifier=!0}),g.delegate(t,"mouseout","."+x,function(){e.mouseOverNotifier=!1,window.setTimeout(function(){e.hideNewTweetNotifier()},3e3)});if(this.staticTimeline)return;g.delegate(t,"click","."+M,function(n){if(n.altKey||n.metaKey||n.shiftKey)return;e.toggleExpando(b.ancestor("."+L,this,t)),g.stop(n)}),g.delegate(t,"click","A",function(e){g.sto
pPropagation(e)}),g.delegate(t,"click",".with-expansion",function(t){e.toggleExpando(this),g.stop(t)}),g.delegate(t,"click",".load-more",function(){e.loadMore()}),g.delegate(t,"click","."+x,function(){e.scrollToTop(),e.hideNewTweetNotifier(!0)})},scrollToTop:function(){var e=b.one(C,this.element,"DIV");e.scrollTop=0,e.focus()},update:function(){var e=this,t=b.one(L,this.element,"LI"),n=t&&t.getAttribute("data-tweet-id");this.updateTimeStamps(),this.requestTweets(n,!0,function(t){t.childNodes.length>0&&e.insertNewTweets(t)})},loadMore:function(){var e=this,t=b.all(L,this.element,"LI").pop(),n=t&&t.getAttribute("data-tweet-id");this.requestTweets(n,!1,function(t){var r=b.one(P,e.element,"P"),i=t.childNodes[0];r.style.cssText="",i&&i.getAttribute("data-tweet-id")==n&&t.removeChild(i);if(t.childNodes.length>0){e.appendTweets(t);return}y.add(e.element,"no-more"),r.focus()})},forceLoad:function(){var e=this,t=!!b.all(k,this.element,"OL").length;this.requestTweets(1,!0,function(n){n.childN
odes.length&&(e[t?"insertNewTweets":"appendTweets"](n),y.add(e.element,"has-tweets"))})},schedulePolling:function(e){var t=this;if(this.pollInterval===null)return;e=twttr.widgets.poll||e||this.pollInterval||1e4,e>-1&&window.setTimeout(function(){this.isUpdating||t.update(),t.schedulePolling()},e)},updateCursors:function(e,t){(t||{}).initial?(this.cursors.maxPosition=e.maxPosition,this.cursors.minPosition=e.minPosition):(t||{}).newer?this.cursors.maxPosition=e.maxPosition||this.cursors.maxPosition:this.cursors.minPosition=e.minPosition||this.cursors.minPosition},requestTweets:function(e,t,r){var i=this,s={id:this.widgetId,instanceId:this.instanceId,screenName:this.widgetScreenName,userId:this.widgetUserId,withReplies:this.widgetShowReplies,dnt:this.dnt,lang:this.lang};t&&this.cursors.maxPosition?s.minPosition=this.cursors.maxPosition:!t&&this.cursors.minPosition?s.maxPosition=this.cursors.minPosition:t?s.sinceId=e:s.maxId=e,s.complete=function(){this.isUpdating=!1},s.error=function(e
){if(e&&e.headers){if(e.headers.status=="404"){i.pollInterval=null;return}if(e.headers.status=="503"){i.pollInterval*=1.5;return}}},s.success=function(e){var s=i.sandbox.createDocumentFragment(),u=i.sandbox.createElement("div"),f=[],l,c;i.updateCursors(e.headers,{newer:t}),e&&e.headers&&e.headers.xPolling&&/\d+/.test(e.headers.xPolling)&&(i.pollInterval=e.headers.xPolling*1e3);if(e&&e.body!==undefined){u.innerHTML=e.body;if(u.children[0]&&u.children[0].tagName!="LI")return;l=i.getTweetDetails(u);for(c in l)l.hasOwnProperty(c)&&f.push(c);f.length&&(a.enqueue({page:"timeline",component:"timeline",element:t?"newer":"older",action:"results"},{widget_id:i.widgetId,widget_origin:o.url(),item_ids:f,item_details:l,client_version:w,message:i.partner,query:i.searchQuery,profile_id:i.profileId,event_initiator:t?E.CLIENT_SIDE_APP:E.CLIENT_SIDE_USER},!0,i.dnt),a.flush()),n.retinize(u),i.constrainMedia(u);while(u.children[0])s.appendChild(u.children[0]);r(s)}},u.timelinePoll(m.aug(s,this.override
))},insertNewTweets:function(e){var t=this,n=b.one(C,this.element,"DIV"),r=b.one(k,n,"OL"),i=r.offsetHeight,o;this.updateTimeStamps(),r.insertBefore(e,r.firstChild),o=r.offsetHeight-i;if(n.scrollTop>40||this.mouseIsOver()){n.scrollTop=n.scrollTop+o,this.showNewTweetNotifier();return}y.remove(this.element,H),r.style.cssText="margin-top: -"+o+"px",window.setTimeout(function(){n.scrollTop=0,y.add(t.element,H),c.cssTransitions()?r.style.cssText="":s.animate(function(e){e<o?r.style.cssText="margin-top: -"+(o-e)+"px":r.style.cssText=""},o,500,s.easeOut)},500),this.gcTweets(50)},appendTweets:function(e){var t=b.one(C,this.element,"DIV"),n=b.one(k,t,"OL");this.updateTimeStamps(),n.appendChild(e)},gcTweets:function(e){var t=b.one(k,this.element,"OL"),n=t.children.length,r;e=e||50;for(;n>e&&(r=t.children[n-1]);n--)t.removeChild(r)},showNewTweetNotifier:function(){var e=this,t=b.one(x,this.element,"DIV"),n=t.children[0];t.style.cssText="",t.removeChild(n),t.appendChild(n),y.add(this.element,j)
,window.setTimeout(function(){y.add(e.element,B)},10),this.newNoticeDisplayTime=+(new Date),window.setTimeout(function(){e.hideNewTweetNotifier()},5e3)},hideNewTweetNotifier:function(e){var t=this;if(!e&&this.mouseOverNotifier)return;y.remove(this.element,B),window.setTimeout(function(){y.remove(t.element,j)},500)},augmentWidgets:function(e){var t=b.all(D,e,"A"),n=0,r;for(;r=t[n];n++)r.setAttribute("data-related",this.related),r.setAttribute("data-partner",this.partner),r.setAttribute("data-dnt",this.dnt),r.setAttribute("data-search-query",this.searchQuery),r.setAttribute("data-profile-id",this.profileId),this.width<250&&r.setAttribute("data-show-screen-name","false")},discardStaticOverflow:function(e){var t=b.one(k,e,"OL"),n;if(this.staticTimeline){this.height=0;while(n=t.children[this.tweetLimit])t.removeChild(n)}},hideStreamScrollBar:function(){var e=b.one(C,this.element,"DIV"),t=b.one(k,this.element,"OL"),n;e.style.width="",n=this.element.offsetWidth-t.offsetWidth,n>0&&(e.style.
width=this.element.offsetWidth+n+"px")},readTranslations:function(){var e=this.element,t="data-dt-";this.datetime=new r(m.compact({phrases:{now:e.getAttribute(t+"now"),s:e.getAttribute(t+"s"),m:e.getAttribute(t+"m"),h:e.getAttribute(t+"h"),second:e.getAttribute(t+"second"),seconds:e.getAttribute(t+"seconds"),minute:e.getAttribute(t+"minute"),minutes:e.getAttribute(t+"minutes"),hour:e.getAttribute(t+"hour"),hours:e.getAttribute(t+"hours")},months:e.getAttribute(t+"months").split("|"),formats:{abbr:e.getAttribute(t+"abbr"),shortdate:e.getAttribute(t+"short"),longdate:e.getAttribute(t+"long")}}))},updateTimeStamps:function(){var e=b.all(_,this.element,"A"),t,n,r=0,i,s;for(;t=e[r];r++){i=t.getAttribute("data-datetime"),s=i&&this.datetime.timeAgo(i,this.i18n),n=t.getElementsByTagName("TIME")[0];if(!s)continue;if(n&&n.innerHTML){n.innerHTML=s;continue}t.innerHTML=s}},mouseIsOver:function(){return this.mouseOver},addUrlParams:function(e){var t=this,n={tw_w:this.widgetId,related:this.relate
d,partner:this.partner,query:this.searchQuery,profile_id:this.profileId,original_referer:o.url(),tw_p:"embeddedtimeline"};return this.addUrlParams=f(n,function(e){var n=b.ancestor("."+L,e,t.element);return n&&{tw_i:n.getAttribute("data-tweet-id")}}),this.addUrlParams(e)},showNSFW:function(e){var t=b.one("nsfw",e,"DIV"),r,i,s=0,o,u,a,f;if(!t)return;i=n.scaleDimensions(t.getAttribute("data-width"),t.getAttribute("data-height"),this.contentWidth(),t.getAttribute("data-height")),r=!!(u=t.getAttribute("data-player")),r?a=this.sandbox.createElement("iframe"):(a=this.sandbox.createElement("img"),u=t.getAttribute(c.retina()?"data-image-2x":"data-image"),a.alt=t.getAttribute("data-alt"),f=this.sandbox.createElement("a"),f.href=t.getAttribute("data-href"),f.appendChild(a)),a.title=t.getAttribute("data-title"),a.src=u,a.width=i.width,a.height=i.height,o=b.ancestor("."+O,t,e),s=i.height-t.offsetHeight,t.parentNode.replaceChild(r?a:f,t),o.style.cssText="height:"+(o.offsetHeight+s)+"px"},toggleEx
pando:function(e){var r=b.one(O,e,"DIV"),i=r&&r.children[0],s=i&&i.getAttribute("data-expanded-media"),o,u=0,a=b.one(M,e,"A"),f=a&&a.getElementsByTagName("B")[0],l=f&&(f.innerText||f.textContent),c;if(!f)return;this.layout(function(){f.innerHTML=a.getAttribute("data-toggled-text"),a.setAttribute("data-toggled-text",l)});if(y.present(e,A)){this.layout(function(){y.remove(e,A)});if(!r){t.doLayout();return}this.layout(function(){r.style.cssText="",i.innerHTML=""}),t.doLayout();return}s&&(o=this.sandbox.createElement("DIV"),o.innerHTML=s,n.retinize(o),u=this.constrainMedia(o),this.layout(function(){i.appendChild(o)})),r&&this.layout(function(){c=Math.max(i.offsetHeight,u),r.style.cssText="height:"+c+"px"}),this.layout(function(){y.add(e,A)}),t.doLayout()},recalculateStreamHeight:function(e){var t=b.one(T,this.element,"DIV"),n=b.one(N,this.element,"DIV"),r=b.one(C,this.element,"DIV");this.layout(m.bind(function(){var i=t.offsetHeight+(n?n.offsetHeight:0),s=e||this.sandbox.height();r.styl
e.cssText="height:"+(s-i-2)+"px",this.noscrollbar&&this.hideStreamScrollBar()},this))},handleResize:function(e,n){var r=Math.min(this.dimensions.DEFAULT_WIDTH,Math.max(this.dimensions.MIN_WIDTH,Math.min(this.predefinedWidth||this.dimensions.DEFAULT_WIDTH,e)));if(r==this.width&&n==this.height)return;this.width=r,this.height=n,this.setNarrow(),this.constrainMedia(this.element,this.contentWidth(r)),this.staticTimeline?this.layout(m.bind(function(){this.height=this.element.offsetHeight,this.sandbox.height(this.height)},this)):this.recalculateStreamHeight(n),t.doLayoutAsync()}}),e(I)})});
-provide("tfw/widget/embed",function(e){using("tfw/widget/base","tfw/widget/syndicatedbase","util/datetime","tfw/util/params","dom/classname","dom/get","util/env","util/promise","util/util","util/throttle","util/twitter","tfw/util/article","tfw/util/data","tfw/util/tracking",function(t,n,r,i,s,o,u,a,f,l,c,h,p,d){function w(e,t,n){var r=o.one("subject",e,"BLOCKQUOTE"),i=o.one("reply",e,"BLOCKQUOTE"),s=r&&r.getAttribute("data-tweet-id"),u=i&&i.getAttribute("data-tweet-id"),a={},f={};if(!s)return;a[s]={item_type:0},d.enqueue({page:"tweet",section:"subject",component:"tweet",action:"results"},{client_version:v,widget_origin:h.url(),widget_frame:h.frameUrl(),message:t,item_ids:[s],item_details:a},!0,n);if(!u)return;f[u]={item_type:0},d.enqueue({page:"tweet",section:"conversation",component:"tweet",action:"results"},{client_version:v,widget_origin:h.url(),widget_frame:h.frameUrl(),message:t,item_ids:[u],item_details:f,associations:{4:{association_id:s,association_type:4}}},!0,n)}function E
(e,t,n){var r={};if(!e)return;r[e]={item_type:0},d.enqueue({page:"tweet",section:"subject",component:"rawembedcode",action:"no_results"},{client_version:v,widget_origin:h.url(),widget_frame:h.frameUrl(),message:t,item_ids:[e],item_details:r},!0,n)}function S(e,t,n,r){g[e]=g[e]||[],g[e].push({s:n,f:r,lang:t})}function x(){twttr.widgets.load(b)}function T(e){if(!e)return;var t,r,i;this.a11yTitle=this._("Embedded Tweet"),n.apply(this,[e]),t=this.params(),r=this.srcEl&&this.srcEl.getElementsByTagName("A"),i=r&&r[r.length-1],this.hideThread=(t.conversation||this.dataAttr("conversation"))=="none"||~f.indexOf(this.classAttr,"tw-hide-thread"),this.hideCard=(t.cards||this.dataAttr("cards"))=="hidden"||~f.indexOf(this.classAttr,"tw-hide-media");if((t.align||this.attr("align"))=="left"||~f.indexOf(this.classAttr,"tw-align-left"))this.align="left";else if((t.align||this.attr("align"))=="right"||~f.indexOf(this.classAttr,"tw-align-right"))this.align="right";else if((t.align||this.attr("align"))=
="center"||~f.indexOf(this.classAttr,"tw-align-center"))this.align="center",this.containerWidth>this.dimensions.MIN_WIDTH*(1/.7)&&this.width>this.containerWidth*.7&&(this.width=this.containerWidth*.7);this.narrow=t.narrow||this.width<=this.dimensions.NARROW_WIDTH,this.narrow&&this.classAttr.push("var-narrow"),this.tweetId=t.tweetId||i&&c.status(i.href)}var v="2.0",m="tweetembed",g={},y=[],b=[];T.prototype=new n,f.aug(T.prototype,{renderedClassNames:"twitter-tweet twitter-tweet-rendered",dimensions:{DEFAULT_HEIGHT:"0",DEFAULT_WIDTH:"500",NARROW_WIDTH:"350",MIN_WIDTH:"220",MIN_HEIGHT:"0",WIDE_MEDIA_PADDING:32,NARROW_MEDIA_PADDING:32},create:function(e){var t=this.sandbox.createElement("div"),r;t.innerHTML=e,r=t.children[0]||!1;if(!r)return;return this.theme=="dark"&&this.classAttr.push("thm-dark"),this.linkColor&&this.addSiteStyles(),s.present(r,"media-forward")&&(this.fullBleedPhoto=!0),this.augmentWidgets(r),n.retinize(r),r.id=this.id,r.className+=" "+this.classAttr.join(" "),r.lang
=this.lang,this.sandbox.appendChild(r),this.sandbox.style({cssText:"",display:"block",maxWidth:"99%",minWidth:this.dimensions.MIN_WIDTH+"px",padding:"0",borderRadius:"5px",margin:"10px 0",border:"#ddd 1px solid",borderTopColor:"#eee",borderBottomColor:"#bbb",boxShadow:"0 1px 3px rgba(0,0,0,0.15)",position:"absolute",visibility:"hidden"}),this.layout(f.bind(function(){this.predefinedWidth=this.width,this.width=this.sandbox.width(this.width)},this),"Insert Sandbox"),this.setNarrow().then(f.bind(function(){this.constrainMedia(r,this.contentWidth(this.width)),this.renderResolver.fulfill(this.sandbox)},this)),w(r,this.partner,this.dnt),r},render:function(e,n){var r="",i=this.tweetId,s,o;return i?(o=new a(function(e){s=e}),this.hideCard&&(r+="c"),this.hideThread&&(r+="t"),r&&(i+="-"+r),this.rendered().then(f.bind(function(e){this.srcEl&&this.srcEl.parentNode&&this.layout(f.bind(function(){this.srcEl.parentNode.removeChild(this.srcEl)},this),"Remove Embed Code"),this.align=="center"?e.styl
e({margin:"7px auto",cssFloat:"none"}):this.align&&(this.width==this.dimensions.DEFAULT_WIDTH&&(this.predefinedWidth=this.width=this.dimensions.NARROW_WIDTH),e.style({cssFloat:this.align})),this.layout(f.bind(function(){this.height=this.sandbox.height(this.element.offsetHeight)},this)).then(f.bind(function(){return t.doLayoutAsync(),this.layout(f.bind(function(){this.height=this.sandbox.height(this.element.offsetHeight)},this))},this)).then(f.bind(function(){e.onresize(f.bind(this.handleResize,this))},this)),e.style({position:"static",visibility:"visible"}),t.doLayoutAsync()},this)),S(i,this.lang,f.bind(function(n){this.ready().then(f.bind(function(){this.element=this.create(n),this.readTimestampTranslations(),this.updateTimeStamps(),this.bindIntentHandlers(),t.doLayoutAsync(),s.fulfill(this.sandbox.element())},this))},this),f.bind(function(){E(this.tweetId,this.partner,this.dnt),s.fulfill(this.srcEl)},this)),y.push(o),n&&o.then(n),o):a.fulfill(this.srcEl)},augmentWidgets:function(e
){var t=o.one("twitter-follow-button",e,"A");if(!t)return;t.setAttribute("data-related",this.related),t.setAttribute("data-partner",this.partner),t.setAttribute("data-dnt",this.dnt),t.setAttribute("data-show-screen-name","false"),b.push(t.parentNode)},addUrlParams:function(e){var t=this,n={related:this.related,partner:this.partner,original_referer:h.url(),tw_p:m};return this.addUrlParams=i(n,function(e){var n=o.ancestor(".tweet",e,t.element);return{tw_i:n.getAttribute("data-tweet-id")}}),this.addUrlParams(e)},handleResize:function(e){var n=Math.min(this.dimensions.DEFAULT_WIDTH,Math.max(this.dimensions.MIN_WIDTH,Math.min(this.predefinedWidth||this.dimensions.DEFAULT_WIDTH,e)));if(n==this.width)return;this.width=n,this.setNarrow(),this.constrainMedia(this.element,this.contentWidth(n)),this.layout(f.bind(function(){this.height=this.element.offsetHeight,this.sandbox.height(this.height)},this),"Embed Resize"),t.doLayoutAsync()},readTimestampTranslations:function(){var e=this.element,t="
data-dt-",n=e.getAttribute(t+"months")||"";this.datetime=new r(f.compact({phrases:{AM:e.getAttribute(t+"am"),PM:e.getAttribute(t+"pm")},months:n.split("|"),formats:{full:e.getAttribute(t+"full")}}))},updateTimeStamps:function(){var e=o.one("long-permalink",this.element,"A"),n=e.getAttribute("data-datetime"),r=n&&this.datetime.localTimeStamp(n),i=e.getElementsByTagName("TIME")[0];if(!r)return;this.layout(function(){if(i&&i.innerHTML){i.innerHTML=r;return}e.innerHTML=r},"Update Timestamp"),t.doLayoutAsync()}}),T.fetchAndRender=function(){var e=g,n=[],r,i;g={};if(e.keys)n=e.keys();else for(r in e)e.hasOwnProperty(r)&&n.push(r);if(!n.length)return;d.initPostLogging(),i=e[n[0]][0].lang,p.tweets({ids:n.sort(),lang:i,complete:function(n){f.forIn(n,function(t,n){var r=e[t];f.forEach(r,function(e){e.s&&e.s.call(this,n)}),delete e[t]}),t.doLayout(),f.forIn(e,function(e,t){f.forEach(t,function(t){t.f&&t.f.call(this,e)})}),t.doLayout()}}),a.every.apply(null,y).then(function(){x(),d.flush()})},t
.afterLoad(T.fetchAndRender),e(T)})});
-provide("dom/textsize",function(e){function n(e,t,n){var r=[],i=0,s;for(;s=n[i];i++)r.push(s[0]),r.push(s[1]);return e+t+r.join(":")}function r(e){var t=e||"";return t.replace(/([A-Z])/g,function(e){return"-"+e.toLowerCase()})}var t={};e(function(e,i,s){var o=document.createElement("span"),u={},a="",f,l=0,c=0,h=[];s=s||[],i=i||"",a=n(e,i,s);if(t[a])return t[a];o.className=i+" twitter-measurement";try{for(;f=s[l];l++)o.style[f[0]]=f[1]}catch(p){for(;f=s[c];c++)h.push(r(f[0])+":"+f[1]);o.setAttribute("style",h.join(";")+";")}return o.innerHTML=e,document.body.appendChild(o),u.width=o.clientWidth||o.offsetWidth,u.height=o.clientHeight||o.offsetHeight,document.body.removeChild(o),delete o,t[a]=u})});
-provide("tfw/widget/tweetbase",function(e){using("util/util","tfw/widget/base","util/querystring","util/twitter",function(t,n,r,i){function s(e){if(!e)return;var t;n.apply(this,[e]),t=this.params(),this.text=t.text||this.dataAttr("text"),this.text&&/\+/.test(this.text)&&!/ /.test(this.text)&&(this.text=this.text.replace(/\+/g," ")),this.align=t.align||this.dataAttr("align")||"",this.via=t.via||this.dataAttr("via"),this.placeid=t.placeid||this.dataAttr("placeid"),this.hashtags=t.hashtags||this.dataAttr("hashtags"),this.screen_name=i.screenName(t.screen_name||t.screenName||this.dataAttr("button-screen-name")),this.url=t.url||this.dataAttr("url")}s.prototype=new n,t.aug(s.prototype,{parameters:function(){var e={text:this.text,url:this.url,related:this.related,lang:this.lang,placeid:this.placeid,original_referer:location.href,id:this.id,screen_name:this.screen_name,hashtags:this.hashtags,partner:this.partner,dnt:this.dnt,_:+(new Date)};return t.compact(e),r.encode(e)}}),e(s)})});
-provide("tfw/widget/tweetbutton",function(e){using("tfw/widget/tweetbase","util/util","util/querystring","util/uri","util/twitter","dom/textsize",function(t,n,r,i,s,o){function l(e){t.apply(this,[e]);var r=this.params(),o=r.count||this.dataAttr("count"),l=r.size||this.dataAttr("size"),c=i.getScreenNameFromPage();this.classAttr.push("twitter-tweet-button");if(r.type=="hashtag"||~n.indexOf(this.classAttr,"twitter-hashtag-button"))this.type="hashtag",this.classAttr.push("twitter-hashtag-button");else if(r.type=="mention"||~n.indexOf(this.classAttr,"twitter-mention-button"))this.type="mention",this.classAttr.push("twitter-mention-button");this.counturl=r.counturl||this.dataAttr("counturl"),this.searchlink=r.searchlink||this.dataAttr("searchlink"),this.button_hashtag=s.hashTag(r.button_hashtag||r.hashtag||this.dataAttr("button-hashtag"),!1),this.size=l=="large"?"l":"m",this.type?(this.count="none",c&&(this.related=this.related?c+","+this.related:c)):(this.text=this.text||u,this.url=this.
url||i.getCanonicalURL()||a,this.count=~n.indexOf(f,o)?o:"horizontal",this.count=this.count=="vertical"&&this.size=="l"?"none":this.count,this.via=this.via||c)}var u=document.title,a=encodeURI(location.href),f=["vertical","horizontal","none"];l.prototype=new t,n.aug(l.prototype,{parameters:function(){var e={text:this.text,url:this.url,via:this.via,related:this.related,count:this.count,lang:this.lang,counturl:this.counturl,searchlink:this.searchlink,placeid:this.placeid,original_referer:location.href,id:this.id,size:this.size,type:this.type,screen_name:this.screen_name,button_hashtag:this.button_hashtag,hashtags:this.hashtags,align:this.align,partner:this.partner,dnt:this.dnt,_:+(new Date)};return n.compact(e),r.encode(e)},height:function(){return this.count=="vertical"?62:this.size=="m"?20:28},width:function(){var e={ver:8,cnt:14,btn:24,xlcnt:18,xlbtn:38},t=this.count=="vertical",r=this.type=="hashtag"&&this.button_hashtag?"Tweet %{hashtag}":this.type=="mention"&&this.screen_name?"T
weet to %{name}":"Tweet",i=this._(r,{name:"@"+this.screen_name,hashtag:"#"+this.button_hashtag}),s=this._("K"),u=this._("100K+"),a=(t?"8888":"88888")+s,f=0,l=0,c=0,h=0,p=this.styles.base,d=p;return~n.indexOf(["ja","ko"],this.lang)?a+=this._("10k unit"):a=a.length>u.length?a:u,t?(d=p.concat(this.styles.vbubble),h=e.ver,c=e.btn):this.size=="l"?(p=d=p.concat(this.styles.large),c=e.xlbtn,h=e.xlcnt):(c=e.btn,h=e.cnt),this.count!="none"&&(l=o(a,"",d).width+h),f=o(i,"",p.concat(this.styles.button))

<TRUNCATED>
a***@apache.org
2017-12-21 04:53:26 UTC
Permalink
WEBSITE removed themes- no longer used- updated how-to-update-website.md


Project: http://git-wip-us.apache.org/repos/asf/mahout/repo
Commit: http://git-wip-us.apache.org/repos/asf/mahout/commit/5a07b51b
Tree: http://git-wip-us.apache.org/repos/asf/mahout/tree/5a07b51b
Diff: http://git-wip-us.apache.org/repos/asf/mahout/diff/5a07b51b

Branch: refs/heads/master
Commit: 5a07b51b4f85ea54ee234bd8e2bc320f49f8968c
Parents: fc36bef
Author: Trevor a.k.a @rawkintrevo <***@gmail.com>
Authored: Tue Dec 5 23:16:20 2017 -0600
Committer: Trevor a.k.a @rawkintrevo <***@gmail.com>
Committed: Tue Dec 5 23:16:20 2017 -0600

----------------------------------------------------------------------
website/README.md | 152 -------------------
website/_includes/navbar.html | 1 -
website/developers/buildingmahout.md | 21 +--
website/developers/developer-resources.md | 4 +-
website/developers/github.md | 4 +-
website/developers/githubPRs.md | 4 +-
website/developers/gsoc.md | 4 +-
website/developers/how-to-become-a-committer.md | 4 +-
website/developers/how-to-contribute.md | 4 +-
website/developers/how-to-release.md | 4 +-
website/developers/how-to-update-the-website.md | 68 ++++++++-
website/developers/issue-tracker.md | 4 +-
website/developers/patch-check-list.md | 4 +-
website/developers/thirdparty-dependencies.md | 4 +-
website/developers/version-control.md | 4 +-
.../algorithms/clustering/canopy/index.md | 4 +-
.../algorithms/clustering/distance-metrics.md | 4 +-
.../docs/latest/algorithms/clustering/index.md | 4 +-
.../latest/algorithms/linear-algebra/d-qr.md | 4 +-
.../latest/algorithms/linear-algebra/d-spca.md | 4 +-
.../latest/algorithms/linear-algebra/d-ssvd.md | 4 +-
.../latest/algorithms/linear-algebra/index.md | 4 +-
.../map-reduce/classification/bayesian.md | 4 +-
.../classification/class-discovery.md | 4 +-
.../classification/classifyingyourdata.md | 4 +-
.../map-reduce/classification/collocations.md | 4 +-
.../gaussian-discriminative-analysis.md | 4 +-
.../classification/hidden-markov-models.md | 4 +-
.../independent-component-analysis.md | 4 +-
.../locally-weighted-linear-regression.md | 4 +-
.../classification/logistic-regression.md | 4 +-
.../classification/mahout-collections.md | 4 +-
.../algorithms/map-reduce/classification/mlp.md | 4 +-
.../map-reduce/classification/naivebayes.md | 4 +-
.../map-reduce/classification/neural-network.md | 4 +-
.../classification/partial-implementation.md | 4 +-
.../map-reduce/classification/random-forests.md | 4 +-
.../restricted-boltzmann-machines.md | 4 +-
.../classification/support-vector-machines.md | 4 +-
.../map-reduce/clustering/canopy-clustering.md | 4 +-
.../map-reduce/clustering/cluster-dumper.md | 4 +-
.../clustering/expectation-maximization.md | 4 +-
.../map-reduce/clustering/fuzzy-k-means.md | 4 +-
.../clustering/hierarchical-clustering.md | 4 +-
.../map-reduce/clustering/k-means-clustering.md | 4 +-
.../clustering/latent-dirichlet-allocation.md | 4 +-
.../clustering/llr---log-likelihood-ratio.md | 4 +-
.../clustering/spectral-clustering.md | 4 +-
.../map-reduce/clustering/streaming-k-means.md | 4 +-
.../docs/latest/algorithms/map-reduce/index.md | 4 +-
.../latest/algorithms/preprocessors/AsFactor.md | 4 +-
.../algorithms/preprocessors/MeanCenter.md | 4 +-
.../algorithms/preprocessors/StandardScaler.md | 4 +-
.../latest/algorithms/preprocessors/index.md | 4 +-
.../docs/latest/algorithms/reccomenders/cco.md | 4 +-
.../latest/algorithms/reccomenders/d-als.md | 4 +-
.../latest/algorithms/reccomenders/index.md | 4 +-
.../algorithms/regression/fittness-tests.md | 4 +-
.../docs/latest/algorithms/regression/index.md | 4 +-
.../docs/latest/algorithms/regression/ols.md | 4 +-
.../serial-correlation/cochrane-orcutt.md | 4 +-
.../regression/serial-correlation/dw-test.md | 4 +-
website/docs/latest/algorithms/template.md | 4 +-
website/docs/latest/changelog.md | 2 +-
.../docs/latest/distributed/flink-bindings.md | 4 +-
.../docs/latest/distributed/h2o-internals.md | 4 +-
.../latest/distributed/spark-bindings/faq.md | 4 +-
.../latest/distributed/spark-bindings/index.md | 4 +-
website/docs/latest/mahout-samsara/faq.md | 4 +-
.../latest/mahout-samsara/in-core-reference.md | 4 +-
.../mahout-samsara/out-of-core-reference.md | 4 +-
website/docs/latest/native-solvers/cuda.md | 4 +-
.../docs/latest/native-solvers/viennacl-omp.md | 4 +-
website/docs/latest/native-solvers/viennacl.md | 4 +-
website/docs/latest/quickstart.md | 4 +-
.../docs/latest/tutorials/cco-lastfm/index.md | 4 +-
.../docs/latest/tutorials/eigenfaces/index.md | 4 +-
.../tutorials/intro-cooccurrence-spark/index.md | 4 +-
.../classification/bankmarketing-example.md | 4 +-
.../classification/breiman-example.md | 4 +-
.../classification/twenty-newsgroups.md | 4 +-
.../wikipedia-classifier-example.md | 4 +-
.../map-reduce/clustering/20newsgroups.md | 4 +-
.../map-reduce/clustering/canopy-commandline.md | 4 +-
.../clustering-of-synthetic-control-data.md | 4 +-
.../clustering/clustering-seinfeld-episodes.md | 4 +-
.../map-reduce/clustering/clusteringyourdata.md | 4 +-
.../clustering/fuzzy-k-means-commandline.md | 4 +-
.../clustering/k-means-commandline.md | 4 +-
.../map-reduce/clustering/lda-commandline.md | 4 +-
.../map-reduce/clustering/viewing-result.md | 4 +-
.../map-reduce/clustering/viewing-results.md | 4 +-
.../clustering/visualizing-sample-clusters.md | 4 +-
.../docs/latest/tutorials/map-reduce/index.md | 4 +-
.../map-reduce/misc/mr---map-reduce.md | 4 +-
.../misc/parallel-frequent-pattern-mining.md | 4 +-
.../map-reduce/misc/perceptron-and-winnow.md | 4 +-
.../latest/tutorials/map-reduce/misc/testing.md | 4 +-
.../misc/using-mahout-with-python-via-jpype.md | 4 +-
.../map-reduce/recommender/intro-als-hadoop.md | 4 +-
.../recommender/intro-cooccurrence-spark.md | 4 +-
.../recommender/intro-itembased-hadoop.md | 4 +-
.../recommender/matrix-factorization.md | 4 +-
.../map-reduce/recommender/quickstart.md | 4 +-
.../recommender/recommender-documentation.md | 4 +-
.../recommender/recommender-first-timer-faq.md | 4 +-
.../recommender/userbased-5-minutes.md | 4 +-
.../tutorials/misc/contributing-algos/index.md | 8 +-
.../tutorials/misc/how-to-build-an-app.md | 4 +-
.../tutorials/misc/mahout-in-zeppelin/index.md | 4 +-
.../samsara/classify-a-doc-from-the-shell.md | 4 +-
.../latest/tutorials/samsara/play-with-shell.md | 4 +-
.../samsara/playing-with-samsara-flink-batch.md | 4 +-
.../tutorials/samsara/spark-naive-bayes.md | 4 +-
website/general/books-tutorials-and-talks.md | 4 +-
website/general/downloads.md | 4 +-
website/general/faq.md | 4 +-
website/general/glossary.md | 4 +-
website/general/mahout-benchmarks.md | 4 +-
website/general/mahout-wiki.md | 4 +-
.../general/mailing-lists,-irc-and-archives.md | 4 +-
website/general/powered-by-mahout.md | 4 +-
website/general/privacy-policy.md | 4 +-
website/general/professional-support.md | 4 +-
website/general/reference-reading.md | 4 +-
website/general/release-notes.md | 4 +-
website/general/who-we-are.md | 4 +-
website/users/algorithms/d-als.md | 4 +-
website/users/algorithms/d-qr.md | 4 +-
website/users/algorithms/d-spca.md | 4 +-
website/users/algorithms/d-ssvd.md | 4 +-
.../algorithms/intro-cooccurrence-spark.md | 4 +-
.../users/algorithms/recommender-overview.md | 4 +-
website/users/algorithms/spark-naive-bayes.md | 4 +-
website/users/basics/algorithms.md | 4 +-
website/users/basics/collections.md | 4 +-
website/users/basics/collocations.md | 4 +-
.../users/basics/creating-vectors-from-text.md | 4 +-
website/users/basics/creating-vectors.md | 4 +-
.../basics/gaussian-discriminative-analysis.md | 4 +-
.../basics/independent-component-analysis.md | 4 +-
website/users/basics/mahout-collections.md | 4 +-
website/users/basics/mahoutintegration.md | 4 +-
website/users/basics/matrix-and-vector-needs.md | 4 +-
.../basics/principal-components-analysis.md | 4 +-
website/users/basics/quickstart.md | 4 +-
.../svd---singular-value-decomposition.md | 4 +-
website/users/basics/system-requirements.md | 4 +-
...term-frequency-inverse-document-frequency.md | 4 +-
.../classification/bankmarketing-example.md | 4 +-
.../classification/bayesian-commandline.md | 4 +-
website/users/classification/bayesian.md | 4 +-
website/users/classification/breiman-example.md | 4 +-
website/users/classification/class-discovery.md | 4 +-
.../users/classification/classifyingyourdata.md | 4 +-
.../classification/hidden-markov-models.md | 4 +-
.../locally-weighted-linear-regression.md | 4 +-
.../users/classification/logistic-regression.md | 4 +-
website/users/classification/mlp.md | 4 +-
website/users/classification/naivebayes.md | 4 +-
website/users/classification/neural-network.md | 4 +-
.../classification/partial-implementation.md | 4 +-
website/users/classification/random-forests.md | 4 +-
.../restricted-boltzmann-machines.md | 4 +-
.../classification/support-vector-machines.md | 4 +-
.../users/classification/twenty-newsgroups.md | 4 +-
.../wikipedia-classifier-example.md | 4 +-
website/users/clustering/20newsgroups.md | 4 +-
website/users/clustering/canopy-clustering.md | 4 +-
website/users/clustering/canopy-commandline.md | 4 +-
website/users/clustering/cluster-dumper.md | 4 +-
.../clustering-of-synthetic-control-data.md | 4 +-
.../clustering/clustering-seinfeld-episodes.md | 4 +-
website/users/clustering/clusteringyourdata.md | 4 +-
.../clustering/expectation-maximization.md | 4 +-
.../clustering/fuzzy-k-means-commandline.md | 4 +-
website/users/clustering/fuzzy-k-means.md | 4 +-
.../users/clustering/hierarchical-clustering.md | 4 +-
website/users/clustering/k-means-clustering.md | 4 +-
website/users/clustering/k-means-commandline.md | 4 +-
.../clustering/latent-dirichlet-allocation.md | 4 +-
website/users/clustering/lda-commandline.md | 4 +-
.../clustering/llr---log-likelihood-ratio.md | 4 +-
website/users/clustering/spectral-clustering.md | 4 +-
website/users/clustering/streaming-k-means.md | 4 +-
website/users/clustering/viewing-result.md | 4 +-
website/users/clustering/viewing-results.md | 4 +-
.../clustering/visualizing-sample-clusters.md | 4 +-
.../dim-reduction/dimensional-reduction.md | 4 +-
website/users/dim-reduction/ssvd.md | 4 +-
.../classify-a-doc-from-the-shell.md | 4 +-
website/users/environment/h2o-internals.md | 4 +-
.../users/environment/how-to-build-an-app.md | 4 +-
website/users/environment/in-core-reference.md | 4 +-
.../users/environment/out-of-core-reference.md | 4 +-
website/users/environment/spark-internals.md | 4 +-
website/users/flinkbindings/flink-internals.md | 4 +-
.../flinkbindings/playing-with-samsara-flink.md | 4 +-
website/users/misc/mr---map-reduce.md | 4 +-
.../misc/parallel-frequent-pattern-mining.md | 4 +-
website/users/misc/perceptron-and-winnow.md | 4 +-
website/users/misc/testing.md | 4 +-
.../misc/using-mahout-with-python-via-jpype.md | 4 +-
website/users/recommender/intro-als-hadoop.md | 4 +-
.../recommender/intro-cooccurrence-spark.md | 4 +-
.../users/recommender/intro-itembased-hadoop.md | 4 +-
.../users/recommender/matrix-factorization.md | 4 +-
website/users/recommender/quickstart.md | 4 +-
.../recommender/recommender-documentation.md | 4 +-
.../recommender/recommender-first-timer-faq.md | 4 +-
.../users/recommender/userbased-5-minutes.md | 4 +-
website/users/sparkbindings/faq.md | 4 +-
website/users/sparkbindings/home.md | 4 +-
website/users/sparkbindings/play-with-shell.md | 4 +-
214 files changed, 490 insertions(+), 594 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/README.md
----------------------------------------------------------------------
diff --git a/website/README.md b/website/README.md
index b711140..14dc8b9 100644
--- a/website/README.md
+++ b/website/README.md
@@ -1,155 +1,3 @@
-# Mahout Instructions
-
-![Mahout Logo]({{ ASSET_BASE }}/img/mahout-logo.png)
-
-## How do I edit Mahouts website? Jekyll
-
-The Mahout website uses Jekyll to manage its website. Refer to this page to setup your laptop with jekyll if you want to setup a local environment.
-![Jekyll Setup](https://scotch.io/tutorials/getting-started-with-jekyll-plus-a-free-bootstrap-3-starter-theme)
-
-Once you have Jekyll installed, next you will need to clone the mahout git repo
-```
-git clone https://github.com/apache/mahout.git mahout
-cd website
-```
-
-
-## There are actually three sites!
-
-#### `website/front`
-
-This has information about the community, github, how to update website, developer resources, list of members. __*Things that when they change change forever and we don't need to keep a history of the old way (e.g. the old way of updating the website )*__
-
-#### `website/docs`
-
-This has user documentation, info on algorithms, programing guides, features. etc.
-__*things that change between versions*__
-
-Follow the instructions below to serve either site, just know your links in community aren't going to work with the docs. Until you post it.
-
-#### `website/old-site`
-
-This is a full and mostly working port of the old site. It has been updated so that new themes can be applied to it, or the `mahout-retro` theme can be applied to the newer sites (thought this is somewhat messy).
-
-There is a lot of content in here, and a lot of it isn't even available from the main site. We should start going through this and dragging it over page by page, updating as we go.
-
-Eventually we'll use this to build `docs/0.13.0`
-
-## Getting Started
-
-To start editing the website first you need to open two terminals. One terminal will run a continuous build of the mahout website locally, and the other will serve the website on localhost:4000
-
-Terminal
-```
-bundle exec jekyll serve
-```
-
-Browser
-```
-localhost:4000
-```
-
-Start coding.
-
-
-
-## Organization
-
-Within `mahout/website/docs` and `mahout/website/front` you'll find the following directories
-
-- `./_site` : this directory holds your static website which is created with `jekyll build`. Modifying things in here directly will have no effect (they will be overwritten)
-- `./_layouts` : this directory holds the basic layouts for page types
-- `./_includes` : this directory holds files which can be included in layouts, such as the HTML that powers the
-page, the navbar, etc. You will see in the html files referenced in `./_layouts` a line that says ` {{ content }}` this
- is where the markdown compiled into HTML is injected.
-- `./assets` : this directory holds the css and images used for the website
-- `./[OTHER]` : all other directories become directory structure of the site. They maybe filled with markdown files. E.g.
-`./my-dir/myfile.md` will populate the site at `http://.../my-dir/myfile.html`
-
-**NOTE** `_includes/` and `_assets/` are actually symlinks so that if you change the theme, it will apply evenly to all sites.
-
-#### Themes
-
-With Jekyll Builder we can easily swap out themes. Currently the theme is `mahout3`
-`website/_includes/themes/mahout` : This directory has HTML for things you will include in your pages, e.g. navbar
-`website/assets/themes/mahout` : this directory holds the css and images used for the website (on the mahout theme, if we also may build new themes to try different looks and feels)
-
-
-
-## How to port a page
-
-#### Copy to it's new home
-
-There should be no chnages to `/website/docs/0.13.0/` Need to create `/website/docs/0.13.1-SNAPSHOT/`
-
-Other non-docs, e.g. things that go in developers or other static places, should go to where ever it is they are supposed to live.
-
-If appropriate, change the file suffix from `.mdtext` or whatever wierd thing it is to `.md`
-
-#### Change the Header
-
-Most of the old stuff has a title like:
-
-`Title: GSOC`
-
-Change this too:
-
-`---`
-```
-layout: default
-title: GSoC
-theme: mahout
----
-```
-
-#### Update PATHs where appropriate
-
-Change hard linkes or relative links like this
-```
-For more information see [Handling GitHub PRs](http://mahout.apache.org/developers/github.html)
-```
-
-To utilize JB's `{{ BASE_PATH }}`
-
-E.g.
-```
-For more information see [Handling GitHub PRs]({{ BASE_PATH }}/developers/github.html)
-```
-
-This will make links in say github, refer to the github links. Same with images.
-
-
-
-### Changing themes
-
-` rake theme:switch name="THEME-NAME"`
-
-Options currently are `mahout`, `mahout2`, `mahout3` and `mahout-retro`
-
-Mahout
-
-![assets/img/mahout_theme.png]
-
-
-Mahout2
-
-![assets/img/mahout2_theme.png]
-
-If you want to edit the style edit `assets/themes/<your_theme>/css/style.css` and override value.
-
-This is a helpful tool for reference http://pikock.github.io/bootstrap-magic/3.0/app/index.html#!/editor
-
-
-
-
-
-
-
-
-
-
-
-




http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/_includes/navbar.html
----------------------------------------------------------------------
diff --git a/website/_includes/navbar.html b/website/_includes/navbar.html
index 1a44414..0fea533 100644
--- a/website/_includes/navbar.html
+++ b/website/_includes/navbar.html
@@ -42,7 +42,6 @@
<a class="dropdown-item" href="/developers/how-to-become-a-committer/">How to Become a Committer</a>
<a class="dropdown-item" href="/developers/how-to-release/">How to Release</a>
<a class="dropdown-item" href="/developers/how-to-update-the-website/">How to Update the Website</a>
- <a class="dropdown-item" href="/developers/publish-website/">How to Publish the Website</a>
</div>
</li>


http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/developers/buildingmahout.md
----------------------------------------------------------------------
diff --git a/website/developers/buildingmahout.md b/website/developers/buildingmahout.md
index e8a344e..34bca45 100644
--- a/website/developers/buildingmahout.md
+++ b/website/developers/buildingmahout.md
@@ -1,8 +1,8 @@
---
layout: page
title: Building Mahout
-theme:
- name: mahout2
+
+
---


@@ -13,7 +13,7 @@ theme:
* Java JDK 1.7
* Apache Maven 3.3.9

-
+<a name="getting-code"></a>
## Getting the source code

Checkout the sources from the [Mahout GitHub repository](https://github.com/apache/mahout)
@@ -119,22 +119,17 @@ mvn clean install -DskipTests

JVM with native OpenMP level 2 and level 3 matrix/vector Multiplication
```
-mvn clean install -Pviennacl-omp -Phadoop2 -DskipTests
+mvn clean install -Pviennacl-omp -DskipTests
```
JVM with native OpenMP and OpenCL for Level 2 and level 3 matrix/vector Multiplication. (GPU errors fall back to OpenMP, currently only a single GPU/node is supported).
```
-mvn clean install -Pviennacl -Phadoop2 -DskipTests
+mvn clean install -Pviennacl -DskipTests
```

### Changing Scala Version

-To change the Scala version used it is possible to use profiles, however the resulting artifacts seem to have trouble being resolved with SBT.

-```bash
-mvn clean install -Pscala-2.11
-```
-
-Maven is able to resolve the resulting artifacts effectively, this will also work if the goal is simply to use the Mahout-Shell. However if the goal is to build with SBT, the following tool should be used
+A convenience script for updating maven dependencies is included in `buildtools`

```bash
cd $MAHOUT_HOME/buildtools
@@ -144,11 +139,9 @@ cd $MAHOUT_HOME/buildtools
Now go back to `$MAHOUT_HOME` and execute

```bash
-mvn clean install -Pscala-2.11
+mvn clean install
```

-**NOTE:** you still need to pass the `-Pscala-2.11` profile, as this determines and propegates the minor scala version (e.g. 2.11.8)
-

### The Distribution Profile


http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/developers/developer-resources.md
----------------------------------------------------------------------
diff --git a/website/developers/developer-resources.md b/website/developers/developer-resources.md
index 9e5e5f0..2bee00e 100644
--- a/website/developers/developer-resources.md
+++ b/website/developers/developer-resources.md
@@ -1,8 +1,8 @@
---
layout: page
title: Developer Resources
-theme:
- name: retro-mahout
+
+
---

<a name="DeveloperResources-MakingaContribution"></a>

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/developers/github.md
----------------------------------------------------------------------
diff --git a/website/developers/github.md b/website/developers/github.md
index 005d9e6..0d60d31 100644
--- a/website/developers/github.md
+++ b/website/developers/github.md
@@ -1,8 +1,8 @@
---
layout: page
title:
-theme:
- name: retro-mahout
+
+
---

# Github Setup and Pull Requests (PRs) #

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/developers/githubPRs.md
----------------------------------------------------------------------
diff --git a/website/developers/githubPRs.md b/website/developers/githubPRs.md
index 0e75989..dbfeaa5 100644
--- a/website/developers/githubPRs.md
+++ b/website/developers/githubPRs.md
@@ -1,8 +1,8 @@
---
layout: page
title:
-theme:
- name: retro-mahout
+
+
---
# Handling Github PRs #


http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/developers/gsoc.md
----------------------------------------------------------------------
diff --git a/website/developers/gsoc.md b/website/developers/gsoc.md
index 3d82520..d5006d0 100644
--- a/website/developers/gsoc.md
+++ b/website/developers/gsoc.md
@@ -1,8 +1,8 @@
---
layout: page
title: GSOC
-theme:
- name: retro-mahout
+
+
---

# Google Summer of Code

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/developers/how-to-become-a-committer.md
----------------------------------------------------------------------
diff --git a/website/developers/how-to-become-a-committer.md b/website/developers/how-to-become-a-committer.md
index 5a8347d..bdb9be7 100644
--- a/website/developers/how-to-become-a-committer.md
+++ b/website/developers/how-to-become-a-committer.md
@@ -1,8 +1,8 @@
---
layout: page
title: How To Become A Committer
-theme:
- name: retro-mahout
+
+
---

# How to become a committer

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/developers/how-to-contribute.md
----------------------------------------------------------------------
diff --git a/website/developers/how-to-contribute.md b/website/developers/how-to-contribute.md
index d1eb3c4..927a8f4 100644
--- a/website/developers/how-to-contribute.md
+++ b/website/developers/how-to-contribute.md
@@ -1,8 +1,8 @@
---
layout: page
title: How To Contribute
-theme:
- name: retro-mahout
+
+
---

# How to contribute

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/developers/how-to-release.md
----------------------------------------------------------------------
diff --git a/website/developers/how-to-release.md b/website/developers/how-to-release.md
index 488822a..685fe72 100644
--- a/website/developers/how-to-release.md
+++ b/website/developers/how-to-release.md
@@ -1,8 +1,8 @@
---
layout: page
title: How To Release
-theme:
- name: retro-mahout
+
+
---

# How To Release Mahout

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/developers/how-to-update-the-website.md
----------------------------------------------------------------------
diff --git a/website/developers/how-to-update-the-website.md b/website/developers/how-to-update-the-website.md
index aa00405..ad7d326 100644
--- a/website/developers/how-to-update-the-website.md
+++ b/website/developers/how-to-update-the-website.md
@@ -1,16 +1,72 @@
---
layout: page
title: How To Update The Website
-theme:
- name: retro-mahout
---

# How to update the Mahout Website

-Website updates are handled by updating code in the trunk.
+Committers and contributors are all welcomed and encouraged to update the Mahout website.
+ Mahout uses Jekyll to build the website. A [script](https://github.com/apache/mahout/blob/master/website/build_site.sh)
+ is executed by Jenkins after any change is detected in the `master` branch of the official Apache repository (
+ e.g. after any PR is merged ). As such it is important that you, and any reviewers stage site changes locally before
+ committing.
+
+ The process for updating the website is as follows:
+
+#### Clone the Mahout Git Repository Locally

-You will find markdown pages in `mahout/website`.
+```git clone http://github.com/apache/mahout```

-Jenkins rebuilds and publishes the website whenever a change is detected in master.
+See [Building from Source](/developers/buildingmahout/#getting-code) for more details.

-`mahout/website/build_site.sh` contains the script that is used to do this.
+#### Working with Markdown
+
+Jekyll uses [Kramdown](https://kramdown.gettalong.org/syntax.html) to compile markdown into HTML.
+
+Kramdown syntax is very similar to standard markdown, but with a few subtle diferences, please review
+to the [Kramdown syntax guide](https://kramdown.gettalong.org/syntax.html).
+
+Mahout is a highly mathematical project, and contributors will often want to use [LaTeX Mathematics](https://en.wikibooks.org/wiki/LaTeX/Mathematics)
+to explain concepts. While in some environments this is signalled to the compiler with `\( ... \)` in Kramdown
+LaTeX portions are signalled with enclosing `$` characters, e.g. `$$ ... $$`
+
+#### Stage changes locally
+
+This step actually can be done _while you are editing_. Then you can see you changes in near-real time
+(pending browser refreshes).
+
+In the terminal,
+
+```bash
+cd wesite
+bundle exec jekyll serve
+```
+
+By default this will serve the website locally at [http://127.0.0.1:4000/](http://127.0.0.1:4000/). You can
+open your favorite browser and make sure your changes look the way you expect them to.
+
+#### Commit code and open a PR
+
+Once you're sure everything is right, you commit your code, push to your github.com account (preferably on a branch other than `master`
+then click "OpenPR"). This process closely follows [How To Contribute- Making Changes](/developers/how-to-contribute/#HowToContribute-MakingChanges) with an exception that for _WEBSITE ONLY_ changes we relax the requirement to open a JIRA ticket. That is to say, small
+website changes such as fixing a broken link or typo, do not require a specific JIRA issues, and where you would normally
+commit with a message like `MAHOUT-XXXX The thing I did` (where `XXXX` is the assosciated JIRA number), you can instead
+simply create a message like `WEBSITE Typos in how-to-update-the-website.md`. There's nothing to stop you from making a
+JIRA issue, it simply isn't required.
+
+The same goes for when you open a PR (where conventionally one includes the JIRA issue, you can again title `WEBSITE` to indicate
+there is no JIRA)
+
+#### Wait for review
+
+A committer will be along shortly to review your changes, please be patient. In the meantime, feel free to help us out by reviewing
+other contributors PRs. (Here's a little secret, this is a great way to signal to us that you're interested in becoming a committer too,
+as PR reviews is a big part of a committer's job).
+
+Once everything is confirmed to be in order, the committer will merge your pull request.
+
+#### Committers ONLY
+
+No further action is needed, this section is here to deliniate from the old CMS system and Jekyll builds of other projects. Jenkins
+will execute [build_site.sh](https://github.com/apache/mahout/blob/master/website/build_site.sh) upon merging. This will build the website and
+copy it to the `asf-site` branch, where [mahout.apache.org](http://mahout.apache.org) is served from.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/developers/issue-tracker.md
----------------------------------------------------------------------
diff --git a/website/developers/issue-tracker.md b/website/developers/issue-tracker.md
index 8a21149..a50248e 100644
--- a/website/developers/issue-tracker.md
+++ b/website/developers/issue-tracker.md
@@ -1,8 +1,8 @@
---
layout: page
title: Issue Tracker
-theme:
- name: retro-mahout
+
+
---

# Issue tracker

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/developers/patch-check-list.md
----------------------------------------------------------------------
diff --git a/website/developers/patch-check-list.md b/website/developers/patch-check-list.md
index 00e2ed6..91452df 100644
--- a/website/developers/patch-check-list.md
+++ b/website/developers/patch-check-list.md
@@ -1,8 +1,8 @@
---
layout: page
title: Patch Check List
-theme:
- name: retro-mahout
+
+
---

# Patch Check List

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/developers/thirdparty-dependencies.md
----------------------------------------------------------------------
diff --git a/website/developers/thirdparty-dependencies.md b/website/developers/thirdparty-dependencies.md
index 3054da8..a53a0e0 100644
--- a/website/developers/thirdparty-dependencies.md
+++ b/website/developers/thirdparty-dependencies.md
@@ -1,8 +1,8 @@
---
layout: page
title: Thirdparty Dependencies
-theme:
- name: retro-mahout
+
+
---

# Adding Thirdparty Dependencies in Maven

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/developers/version-control.md
----------------------------------------------------------------------
diff --git a/website/developers/version-control.md b/website/developers/version-control.md
index bff986f..bf2f187 100644
--- a/website/developers/version-control.md
+++ b/website/developers/version-control.md
@@ -1,8 +1,8 @@
---
layout: page
title: Version Control
-theme:
- name: retro-mahout
+
+
---

# Version control access

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/docs/latest/algorithms/clustering/canopy/index.md
----------------------------------------------------------------------
diff --git a/website/docs/latest/algorithms/clustering/canopy/index.md b/website/docs/latest/algorithms/clustering/canopy/index.md
index 50197ef..7161d78 100644
--- a/website/docs/latest/algorithms/clustering/canopy/index.md
+++ b/website/docs/latest/algorithms/clustering/canopy/index.md
@@ -1,8 +1,8 @@
---
layout: doc-page
title: Canopy Clustering
-theme:
- name: retro-mahout
+
+
---

### About

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/docs/latest/algorithms/clustering/distance-metrics.md
----------------------------------------------------------------------
diff --git a/website/docs/latest/algorithms/clustering/distance-metrics.md b/website/docs/latest/algorithms/clustering/distance-metrics.md
index 17d366b..7203b9d 100644
--- a/website/docs/latest/algorithms/clustering/distance-metrics.md
+++ b/website/docs/latest/algorithms/clustering/distance-metrics.md
@@ -1,8 +1,8 @@
---
layout: doc-page
title: Distance Metrics
-theme:
- name: retro-mahout
+
+
---

### Distance Metrics Supported By Mahout

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/docs/latest/algorithms/clustering/index.md
----------------------------------------------------------------------
diff --git a/website/docs/latest/algorithms/clustering/index.md b/website/docs/latest/algorithms/clustering/index.md
index 9832485..b1c9c8b 100644
--- a/website/docs/latest/algorithms/clustering/index.md
+++ b/website/docs/latest/algorithms/clustering/index.md
@@ -1,6 +1,6 @@
---
layout: doc-page
title: Clustering Algorithms
-theme:
- name: retro-mahout
+
+
---

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/docs/latest/algorithms/linear-algebra/d-qr.md
----------------------------------------------------------------------
diff --git a/website/docs/latest/algorithms/linear-algebra/d-qr.md b/website/docs/latest/algorithms/linear-algebra/d-qr.md
index 0863d32..2a0262f 100644
--- a/website/docs/latest/algorithms/linear-algebra/d-qr.md
+++ b/website/docs/latest/algorithms/linear-algebra/d-qr.md
@@ -1,8 +1,8 @@
---
layout: doc-page
title: Distributed Cholesky QR
-theme:
- name: retro-mahout
+
+
---

## Intro

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/docs/latest/algorithms/linear-algebra/d-spca.md
----------------------------------------------------------------------
diff --git a/website/docs/latest/algorithms/linear-algebra/d-spca.md b/website/docs/latest/algorithms/linear-algebra/d-spca.md
index 7ff0d60..ba10f57 100644
--- a/website/docs/latest/algorithms/linear-algebra/d-spca.md
+++ b/website/docs/latest/algorithms/linear-algebra/d-spca.md
@@ -2,8 +2,8 @@
layout: doc-page

title: Distributed Stochastic PCA
-theme:
- name: retro-mahout
+
+
---



http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/docs/latest/algorithms/linear-algebra/d-ssvd.md
----------------------------------------------------------------------
diff --git a/website/docs/latest/algorithms/linear-algebra/d-ssvd.md b/website/docs/latest/algorithms/linear-algebra/d-ssvd.md
index 3b8bedc..364cd31 100644
--- a/website/docs/latest/algorithms/linear-algebra/d-ssvd.md
+++ b/website/docs/latest/algorithms/linear-algebra/d-ssvd.md
@@ -1,8 +1,8 @@
---
layout: doc-page
title: Distributed Stochastic Singular Value Decomposition
-theme:
- name: retro-mahout
+
+
---

## Intro

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/docs/latest/algorithms/linear-algebra/index.md
----------------------------------------------------------------------
diff --git a/website/docs/latest/algorithms/linear-algebra/index.md b/website/docs/latest/algorithms/linear-algebra/index.md
index d425625..fd4a2e1 100644
--- a/website/docs/latest/algorithms/linear-algebra/index.md
+++ b/website/docs/latest/algorithms/linear-algebra/index.md
@@ -2,8 +2,8 @@
layout: doc-page

title: Distributed Linear Algebra
-theme:
- name: retro-mahout
+
+
---

Mahout has a number of distributed linear algebra "algorithms" that, in concert with the mathematically expressive R-Like Scala DSL, make it possible for users to quickly "roll their own" distributed algorithms.

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/docs/latest/algorithms/map-reduce/classification/bayesian.md
----------------------------------------------------------------------
diff --git a/website/docs/latest/algorithms/map-reduce/classification/bayesian.md b/website/docs/latest/algorithms/map-reduce/classification/bayesian.md
index 2395b48..4eadc8c 100644
--- a/website/docs/latest/algorithms/map-reduce/classification/bayesian.md
+++ b/website/docs/latest/algorithms/map-reduce/classification/bayesian.md
@@ -1,8 +1,8 @@
---
layout: doc-page
title: (Deprecated)
-theme:
- name: retro-mahout
+
+
---

# Naive Bayes

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/docs/latest/algorithms/map-reduce/classification/class-discovery.md
----------------------------------------------------------------------
diff --git a/website/docs/latest/algorithms/map-reduce/classification/class-discovery.md b/website/docs/latest/algorithms/map-reduce/classification/class-discovery.md
index a52c926..b25514a 100644
--- a/website/docs/latest/algorithms/map-reduce/classification/class-discovery.md
+++ b/website/docs/latest/algorithms/map-reduce/classification/class-discovery.md
@@ -1,8 +1,8 @@
---
layout: doc-page
title: (Deprecated) Class Discovery
-theme:
- name: retro-mahout
+
+
---
<a name="ClassDiscovery-ClassDiscovery"></a>
# Class Discovery

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/docs/latest/algorithms/map-reduce/classification/classifyingyourdata.md
----------------------------------------------------------------------
diff --git a/website/docs/latest/algorithms/map-reduce/classification/classifyingyourdata.md b/website/docs/latest/algorithms/map-reduce/classification/classifyingyourdata.md
index 0cff5a9..f8d6d1a 100644
--- a/website/docs/latest/algorithms/map-reduce/classification/classifyingyourdata.md
+++ b/website/docs/latest/algorithms/map-reduce/classification/classifyingyourdata.md
@@ -1,8 +1,8 @@
---
layout: doc-page
title: (Deprecated) ClassifyingYourData
-theme:
- name: retro-mahout
+
+
---

# Classifying data from the command line

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/docs/latest/algorithms/map-reduce/classification/collocations.md
----------------------------------------------------------------------
diff --git a/website/docs/latest/algorithms/map-reduce/classification/collocations.md b/website/docs/latest/algorithms/map-reduce/classification/collocations.md
index a808cbd..1f38a87 100644
--- a/website/docs/latest/algorithms/map-reduce/classification/collocations.md
+++ b/website/docs/latest/algorithms/map-reduce/classification/collocations.md
@@ -1,8 +1,8 @@
---
layout: doc-page
title: (Deprecated) Collocations
-theme:
- name: retro-mahout
+
+
---



http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/docs/latest/algorithms/map-reduce/classification/gaussian-discriminative-analysis.md
----------------------------------------------------------------------
diff --git a/website/docs/latest/algorithms/map-reduce/classification/gaussian-discriminative-analysis.md b/website/docs/latest/algorithms/map-reduce/classification/gaussian-discriminative-analysis.md
index 53a4caa..23461c9 100644
--- a/website/docs/latest/algorithms/map-reduce/classification/gaussian-discriminative-analysis.md
+++ b/website/docs/latest/algorithms/map-reduce/classification/gaussian-discriminative-analysis.md
@@ -1,8 +1,8 @@
---
layout: doc-page
title: (Deprecated) Gaussian Discriminative Analysis
-theme:
- name: retro-mahout
+
+
---

<a name="GaussianDiscriminativeAnalysis-GaussianDiscriminativeAnalysis"></a>

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/docs/latest/algorithms/map-reduce/classification/hidden-markov-models.md
----------------------------------------------------------------------
diff --git a/website/docs/latest/algorithms/map-reduce/classification/hidden-markov-models.md b/website/docs/latest/algorithms/map-reduce/classification/hidden-markov-models.md
index 0207075..2495ee0 100644
--- a/website/docs/latest/algorithms/map-reduce/classification/hidden-markov-models.md
+++ b/website/docs/latest/algorithms/map-reduce/classification/hidden-markov-models.md
@@ -1,8 +1,8 @@
---
layout: doc-page
title: (Deprecated) Hidden Markov Models
-theme:
- name: retro-mahout
+
+
---

# Hidden Markov Models

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/docs/latest/algorithms/map-reduce/classification/independent-component-analysis.md
----------------------------------------------------------------------
diff --git a/website/docs/latest/algorithms/map-reduce/classification/independent-component-analysis.md b/website/docs/latest/algorithms/map-reduce/classification/independent-component-analysis.md
index 50ed479..d072d8a 100644
--- a/website/docs/latest/algorithms/map-reduce/classification/independent-component-analysis.md
+++ b/website/docs/latest/algorithms/map-reduce/classification/independent-component-analysis.md
@@ -1,8 +1,8 @@
---
layout: doc-page
title: (Deprecated) Independent Component Analysis
-theme:
- name: retro-mahout
+
+
---

<a name="IndependentComponentAnalysis-IndependentComponentAnalysis"></a>

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/docs/latest/algorithms/map-reduce/classification/locally-weighted-linear-regression.md
----------------------------------------------------------------------
diff --git a/website/docs/latest/algorithms/map-reduce/classification/locally-weighted-linear-regression.md b/website/docs/latest/algorithms/map-reduce/classification/locally-weighted-linear-regression.md
index be5afc6..13d929a 100644
--- a/website/docs/latest/algorithms/map-reduce/classification/locally-weighted-linear-regression.md
+++ b/website/docs/latest/algorithms/map-reduce/classification/locally-weighted-linear-regression.md
@@ -1,8 +1,8 @@
---
layout: doc-page
title: (Deprecated) Locally Weighted Linear Regression
-theme:
- name: retro-mahout
+
+
---

<a name="LocallyWeightedLinearRegression-LocallyWeightedLinearRegression"></a>

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/docs/latest/algorithms/map-reduce/classification/logistic-regression.md
----------------------------------------------------------------------
diff --git a/website/docs/latest/algorithms/map-reduce/classification/logistic-regression.md b/website/docs/latest/algorithms/map-reduce/classification/logistic-regression.md
index fe219f2..84d2e8e 100644
--- a/website/docs/latest/algorithms/map-reduce/classification/logistic-regression.md
+++ b/website/docs/latest/algorithms/map-reduce/classification/logistic-regression.md
@@ -1,8 +1,8 @@
---
layout: doc-page
title: (Deprecated) Logistic Regression
-theme:
- name: retro-mahout
+
+
---

<a name="LogisticRegression-LogisticRegression(SGD)"></a>

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/docs/latest/algorithms/map-reduce/classification/mahout-collections.md
----------------------------------------------------------------------
diff --git a/website/docs/latest/algorithms/map-reduce/classification/mahout-collections.md b/website/docs/latest/algorithms/map-reduce/classification/mahout-collections.md
index a7a9f40..5631add 100644
--- a/website/docs/latest/algorithms/map-reduce/classification/mahout-collections.md
+++ b/website/docs/latest/algorithms/map-reduce/classification/mahout-collections.md
@@ -1,8 +1,8 @@
---
layout: doc-page
title: (Deprecated) mahout-collections
-theme:
- name: retro-mahout
+
+
---

# Mahout collections

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/docs/latest/algorithms/map-reduce/classification/mlp.md
----------------------------------------------------------------------
diff --git a/website/docs/latest/algorithms/map-reduce/classification/mlp.md b/website/docs/latest/algorithms/map-reduce/classification/mlp.md
index d5f5cd1..2c9cd8d 100644
--- a/website/docs/latest/algorithms/map-reduce/classification/mlp.md
+++ b/website/docs/latest/algorithms/map-reduce/classification/mlp.md
@@ -1,8 +1,8 @@
---
layout: doc-page
title: (Deprecated) Multilayer Perceptron
-theme:
- name: retro-mahout
+
+
---

Multilayer Perceptron

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/docs/latest/algorithms/map-reduce/classification/naivebayes.md
----------------------------------------------------------------------
diff --git a/website/docs/latest/algorithms/map-reduce/classification/naivebayes.md b/website/docs/latest/algorithms/map-reduce/classification/naivebayes.md
index 626ef96..acfffd5 100644
--- a/website/docs/latest/algorithms/map-reduce/classification/naivebayes.md
+++ b/website/docs/latest/algorithms/map-reduce/classification/naivebayes.md
@@ -1,8 +1,8 @@
---
layout: doc-page
title: (Deprecated) NaiveBayes
-theme:
- name: retro-mahout
+
+
---

<a name="NaiveBayes-NaiveBayes"></a>

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/docs/latest/algorithms/map-reduce/classification/neural-network.md
----------------------------------------------------------------------
diff --git a/website/docs/latest/algorithms/map-reduce/classification/neural-network.md b/website/docs/latest/algorithms/map-reduce/classification/neural-network.md
index 7687e63..1369ba8 100644
--- a/website/docs/latest/algorithms/map-reduce/classification/neural-network.md
+++ b/website/docs/latest/algorithms/map-reduce/classification/neural-network.md
@@ -1,8 +1,8 @@
---
layout: doc-page
title: (Deprecated) Neural Network
-theme:
- name: retro-mahout
+
+
---

<a name="NeuralNetwork-NeuralNetworks"></a>

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/docs/latest/algorithms/map-reduce/classification/partial-implementation.md
----------------------------------------------------------------------
diff --git a/website/docs/latest/algorithms/map-reduce/classification/partial-implementation.md b/website/docs/latest/algorithms/map-reduce/classification/partial-implementation.md
index 0f6d3b8..bc9a1fc 100644
--- a/website/docs/latest/algorithms/map-reduce/classification/partial-implementation.md
+++ b/website/docs/latest/algorithms/map-reduce/classification/partial-implementation.md
@@ -1,8 +1,8 @@
---
layout: doc-page
title: (Deprecated) Partial Implementation
-theme:
- name: retro-mahout
+
+
---



http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/docs/latest/algorithms/map-reduce/classification/random-forests.md
----------------------------------------------------------------------
diff --git a/website/docs/latest/algorithms/map-reduce/classification/random-forests.md b/website/docs/latest/algorithms/map-reduce/classification/random-forests.md
index 4b18425..b7b78c4 100644
--- a/website/docs/latest/algorithms/map-reduce/classification/random-forests.md
+++ b/website/docs/latest/algorithms/map-reduce/classification/random-forests.md
@@ -1,8 +1,8 @@
---
layout: doc-page
title: (Deprecated) Random Forests
-theme:
- name: retro-mahout
+
+
---

<a name="RandomForests-HowtogrowaDecisionTree"></a>

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/docs/latest/algorithms/map-reduce/classification/restricted-boltzmann-machines.md
----------------------------------------------------------------------
diff --git a/website/docs/latest/algorithms/map-reduce/classification/restricted-boltzmann-machines.md b/website/docs/latest/algorithms/map-reduce/classification/restricted-boltzmann-machines.md
index 5d0754e..5fb8479 100644
--- a/website/docs/latest/algorithms/map-reduce/classification/restricted-boltzmann-machines.md
+++ b/website/docs/latest/algorithms/map-reduce/classification/restricted-boltzmann-machines.md
@@ -1,8 +1,8 @@
---
layout: doc-page
title: (Deprecated) Restricted Boltzmann Machines
-theme:
- name: retro-mahout
+
+
---

NOTE: This implementation is a Work-In-Progress, at least till September,

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/docs/latest/algorithms/map-reduce/classification/support-vector-machines.md
----------------------------------------------------------------------
diff --git a/website/docs/latest/algorithms/map-reduce/classification/support-vector-machines.md b/website/docs/latest/algorithms/map-reduce/classification/support-vector-machines.md
index 43d4cc1..0d3ea60 100644
--- a/website/docs/latest/algorithms/map-reduce/classification/support-vector-machines.md
+++ b/website/docs/latest/algorithms/map-reduce/classification/support-vector-machines.md
@@ -1,8 +1,8 @@
---
layout: doc-page
title: (Deprecated) Support Vector Machines
-theme:
- name: retro-mahout
+
+
---

<a name="SupportVectorMachines-SupportVectorMachines"></a>

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/docs/latest/algorithms/map-reduce/clustering/canopy-clustering.md
----------------------------------------------------------------------
diff --git a/website/docs/latest/algorithms/map-reduce/clustering/canopy-clustering.md b/website/docs/latest/algorithms/map-reduce/clustering/canopy-clustering.md
index ae31ff7..7871032 100644
--- a/website/docs/latest/algorithms/map-reduce/clustering/canopy-clustering.md
+++ b/website/docs/latest/algorithms/map-reduce/clustering/canopy-clustering.md
@@ -1,8 +1,8 @@
---
layout: doc-page
title: (Deprecated) Canopy Clustering
-theme:
- name: retro-mahout
+
+
---



http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/docs/latest/algorithms/map-reduce/clustering/cluster-dumper.md
----------------------------------------------------------------------
diff --git a/website/docs/latest/algorithms/map-reduce/clustering/cluster-dumper.md b/website/docs/latest/algorithms/map-reduce/clustering/cluster-dumper.md
index 8706468..ab43ed0 100644
--- a/website/docs/latest/algorithms/map-reduce/clustering/cluster-dumper.md
+++ b/website/docs/latest/algorithms/map-reduce/clustering/cluster-dumper.md
@@ -1,8 +1,8 @@
---
layout: doc-page
title: (Deprecated) Cluster Dumper
-theme:
- name: retro-mahout
+
+
---

<a name="ClusterDumper-Introduction"></a>

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/docs/latest/algorithms/map-reduce/clustering/expectation-maximization.md
----------------------------------------------------------------------
diff --git a/website/docs/latest/algorithms/map-reduce/clustering/expectation-maximization.md b/website/docs/latest/algorithms/map-reduce/clustering/expectation-maximization.md
index 5dfd692..72b0b50 100644
--- a/website/docs/latest/algorithms/map-reduce/clustering/expectation-maximization.md
+++ b/website/docs/latest/algorithms/map-reduce/clustering/expectation-maximization.md
@@ -1,8 +1,8 @@
---
layout: doc-page
title: (Deprecated) Expectation Maximization
-theme:
- name: retro-mahout
+
+
---
<a name="ExpectationMaximization-ExpectationMaximization"></a>
# Expectation Maximization

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/docs/latest/algorithms/map-reduce/clustering/fuzzy-k-means.md
----------------------------------------------------------------------
diff --git a/website/docs/latest/algorithms/map-reduce/clustering/fuzzy-k-means.md b/website/docs/latest/algorithms/map-reduce/clustering/fuzzy-k-means.md
index f6a9226..7e8a554 100644
--- a/website/docs/latest/algorithms/map-reduce/clustering/fuzzy-k-means.md
+++ b/website/docs/latest/algorithms/map-reduce/clustering/fuzzy-k-means.md
@@ -1,8 +1,8 @@
---
layout: doc-page
title: (Deprecated) Fuzzy K-Means
-theme:
- name: retro-mahout
+
+
---

Fuzzy K-Means (also called Fuzzy C-Means) is an extension of [K-Means](http://mahout.apache.org/users/clustering/k-means-clustering.html)

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/docs/latest/algorithms/map-reduce/clustering/hierarchical-clustering.md
----------------------------------------------------------------------
diff --git a/website/docs/latest/algorithms/map-reduce/clustering/hierarchical-clustering.md b/website/docs/latest/algorithms/map-reduce/clustering/hierarchical-clustering.md
index 00ab394..3270f8b 100644
--- a/website/docs/latest/algorithms/map-reduce/clustering/hierarchical-clustering.md
+++ b/website/docs/latest/algorithms/map-reduce/clustering/hierarchical-clustering.md
@@ -1,8 +1,8 @@
---
layout: doc-page
title: (Deprecated) Hierarchical Clustering
-theme:
- name: retro-mahout
+
+
---
Hierarchical clustering is the process or finding bigger clusters, and also
the smaller clusters inside the bigger clusters.

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/docs/latest/algorithms/map-reduce/clustering/k-means-clustering.md
----------------------------------------------------------------------
diff --git a/website/docs/latest/algorithms/map-reduce/clustering/k-means-clustering.md b/website/docs/latest/algorithms/map-reduce/clustering/k-means-clustering.md
index 4ea95cc..78e25b1 100644
--- a/website/docs/latest/algorithms/map-reduce/clustering/k-means-clustering.md
+++ b/website/docs/latest/algorithms/map-reduce/clustering/k-means-clustering.md
@@ -1,8 +1,8 @@
---
layout: doc-page
title: (Deprecated) K-Means Clustering
-theme:
- name: retro-mahout
+
+
---

# k-Means clustering - basics

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/docs/latest/algorithms/map-reduce/clustering/latent-dirichlet-allocation.md
----------------------------------------------------------------------
diff --git a/website/docs/latest/algorithms/map-reduce/clustering/latent-dirichlet-allocation.md b/website/docs/latest/algorithms/map-reduce/clustering/latent-dirichlet-allocation.md
index b161416..8506354 100644
--- a/website/docs/latest/algorithms/map-reduce/clustering/latent-dirichlet-allocation.md
+++ b/website/docs/latest/algorithms/map-reduce/clustering/latent-dirichlet-allocation.md
@@ -1,8 +1,8 @@
---
layout: doc-page
title: (Deprecated) Latent Dirichlet Allocation
-theme:
- name: retro-mahout
+
+
---

<a name="LatentDirichletAllocation-Overview"></a>

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/docs/latest/algorithms/map-reduce/clustering/llr---log-likelihood-ratio.md
----------------------------------------------------------------------
diff --git a/website/docs/latest/algorithms/map-reduce/clustering/llr---log-likelihood-ratio.md b/website/docs/latest/algorithms/map-reduce/clustering/llr---log-likelihood-ratio.md
index 467815b..a711fc6 100644
--- a/website/docs/latest/algorithms/map-reduce/clustering/llr---log-likelihood-ratio.md
+++ b/website/docs/latest/algorithms/map-reduce/clustering/llr---log-likelihood-ratio.md
@@ -1,8 +1,8 @@
---
layout: doc-page
title: (Deprecated) LLR - Log-likelihood Ratio
-theme:
- name: retro-mahout
+
+
---

# Likelihood ratio test

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/docs/latest/algorithms/map-reduce/clustering/spectral-clustering.md
----------------------------------------------------------------------
diff --git a/website/docs/latest/algorithms/map-reduce/clustering/spectral-clustering.md b/website/docs/latest/algorithms/map-reduce/clustering/spectral-clustering.md
index 9e53956..f643fbf 100644
--- a/website/docs/latest/algorithms/map-reduce/clustering/spectral-clustering.md
+++ b/website/docs/latest/algorithms/map-reduce/clustering/spectral-clustering.md
@@ -1,8 +1,8 @@
---
layout: doc-page
title: (Deprecated) Spectral Clustering
-theme:
- name: retro-mahout
+
+
---

# Spectral Clustering Overview

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/docs/latest/algorithms/map-reduce/clustering/streaming-k-means.md
----------------------------------------------------------------------
diff --git a/website/docs/latest/algorithms/map-reduce/clustering/streaming-k-means.md b/website/docs/latest/algorithms/map-reduce/clustering/streaming-k-means.md
index b06fd0b..d040058 100644
--- a/website/docs/latest/algorithms/map-reduce/clustering/streaming-k-means.md
+++ b/website/docs/latest/algorithms/map-reduce/clustering/streaming-k-means.md
@@ -1,8 +1,8 @@
---
layout: doc-page
title: (Deprecated) Spectral Clustering
-theme:
- name: retro-mahout
+
+
---

# *StreamingKMeans* algorithm

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/docs/latest/algorithms/map-reduce/index.md
----------------------------------------------------------------------
diff --git a/website/docs/latest/algorithms/map-reduce/index.md b/website/docs/latest/algorithms/map-reduce/index.md
index 8d38631..3625b4b 100644
--- a/website/docs/latest/algorithms/map-reduce/index.md
+++ b/website/docs/latest/algorithms/map-reduce/index.md
@@ -1,8 +1,8 @@
---
layout: doc-page
title: (Deprecated) Deprecated Map Reduce Algorithms
-theme:
- name: mahout2
+
+
---

### Classification

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/docs/latest/algorithms/preprocessors/AsFactor.md
----------------------------------------------------------------------
diff --git a/website/docs/latest/algorithms/preprocessors/AsFactor.md b/website/docs/latest/algorithms/preprocessors/AsFactor.md
index 69c174b..7e16cde 100644
--- a/website/docs/latest/algorithms/preprocessors/AsFactor.md
+++ b/website/docs/latest/algorithms/preprocessors/AsFactor.md
@@ -1,8 +1,8 @@
---
layout: doc-page
title: AsFactor
-theme:
- name: mahout2
+
+
---



http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/docs/latest/algorithms/preprocessors/MeanCenter.md
----------------------------------------------------------------------
diff --git a/website/docs/latest/algorithms/preprocessors/MeanCenter.md b/website/docs/latest/algorithms/preprocessors/MeanCenter.md
index 379aeb8..4e6020d 100644
--- a/website/docs/latest/algorithms/preprocessors/MeanCenter.md
+++ b/website/docs/latest/algorithms/preprocessors/MeanCenter.md
@@ -1,8 +1,8 @@
---
layout: doc-page
title: MeanCenter
-theme:
- name: mahout2
+
+
---

### About

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/docs/latest/algorithms/preprocessors/StandardScaler.md
----------------------------------------------------------------------
diff --git a/website/docs/latest/algorithms/preprocessors/StandardScaler.md b/website/docs/latest/algorithms/preprocessors/StandardScaler.md
index 8e0d29d..865462a 100644
--- a/website/docs/latest/algorithms/preprocessors/StandardScaler.md
+++ b/website/docs/latest/algorithms/preprocessors/StandardScaler.md
@@ -1,8 +1,8 @@
---
layout: doc-page
title: StandardScaler
-theme:
- name: mahout2
+
+
---

### About

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/docs/latest/algorithms/preprocessors/index.md
----------------------------------------------------------------------
diff --git a/website/docs/latest/algorithms/preprocessors/index.md b/website/docs/latest/algorithms/preprocessors/index.md
index ba734e4..9a79c60 100644
--- a/website/docs/latest/algorithms/preprocessors/index.md
+++ b/website/docs/latest/algorithms/preprocessors/index.md
@@ -1,8 +1,8 @@
---
layout: doc-page
title: Preprocesors
-theme:
- name: mahout2
+
+
---

[AsFactor](AsFactor.html) - For "one-hot-encoding"

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/docs/latest/algorithms/reccomenders/cco.md
----------------------------------------------------------------------
diff --git a/website/docs/latest/algorithms/reccomenders/cco.md b/website/docs/latest/algorithms/reccomenders/cco.md
index 0734179..2a35c10 100644
--- a/website/docs/latest/algorithms/reccomenders/cco.md
+++ b/website/docs/latest/algorithms/reccomenders/cco.md
@@ -1,8 +1,8 @@
---
layout: doc-page
title: Intro to Cooccurrence Recommenders with Spark
-theme:
- name: retro-mahout
+
+
---

Mahout provides several important building blocks for creating recommendations using Spark. *spark-itemsimilarity* can

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/docs/latest/algorithms/reccomenders/d-als.md
----------------------------------------------------------------------
diff --git a/website/docs/latest/algorithms/reccomenders/d-als.md b/website/docs/latest/algorithms/reccomenders/d-als.md
index 8a2c514..16e2f5b 100644
--- a/website/docs/latest/algorithms/reccomenders/d-als.md
+++ b/website/docs/latest/algorithms/reccomenders/d-als.md
@@ -1,8 +1,8 @@
---
layout: doc-page
title: Mahout Samsara Distributed ALS
-theme:
- name: mahout2
+
+
---
Seems like someone has jacked up this page?
TODO: Find the ALS Page

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/docs/latest/algorithms/reccomenders/index.md
----------------------------------------------------------------------
diff --git a/website/docs/latest/algorithms/reccomenders/index.md b/website/docs/latest/algorithms/reccomenders/index.md
index 50f1533..1239acf 100644
--- a/website/docs/latest/algorithms/reccomenders/index.md
+++ b/website/docs/latest/algorithms/reccomenders/index.md
@@ -1,8 +1,8 @@
---
layout: doc-page
title: Recommender Quickstart
-theme:
- name: retro-mahout
+
+
---



http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/docs/latest/algorithms/regression/fittness-tests.md
----------------------------------------------------------------------
diff --git a/website/docs/latest/algorithms/regression/fittness-tests.md b/website/docs/latest/algorithms/regression/fittness-tests.md
index 53fe337..8ddd5b8 100644
--- a/website/docs/latest/algorithms/regression/fittness-tests.md
+++ b/website/docs/latest/algorithms/regression/fittness-tests.md
@@ -1,8 +1,8 @@
---
layout: doc-page
title: Regression Fitness Tests
-theme:
- name: mahout2
+
+
---

TODO: Fill this out!

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/docs/latest/algorithms/regression/index.md
----------------------------------------------------------------------
diff --git a/website/docs/latest/algorithms/regression/index.md b/website/docs/latest/algorithms/regression/index.md
index 45a2cf0..acdc2d2 100644
--- a/website/docs/latest/algorithms/regression/index.md
+++ b/website/docs/latest/algorithms/regression/index.md
@@ -2,8 +2,8 @@
layout: doc-page

title: Regressoin Algorithms
-theme:
- name: retro-mahout
+
+
---

Apache Mahout implements the following regression algorithms "off the shelf".

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/docs/latest/algorithms/regression/ols.md
----------------------------------------------------------------------
diff --git a/website/docs/latest/algorithms/regression/ols.md b/website/docs/latest/algorithms/regression/ols.md
index 73db70d..7b5ce2a 100644
--- a/website/docs/latest/algorithms/regression/ols.md
+++ b/website/docs/latest/algorithms/regression/ols.md
@@ -1,8 +1,8 @@
---
layout: doc-page
title: Ordinary Least Squares Regression
-theme:
- name: mahout2
+
+
---

### About

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/docs/latest/algorithms/regression/serial-correlation/cochrane-orcutt.md
----------------------------------------------------------------------
diff --git a/website/docs/latest/algorithms/regression/serial-correlation/cochrane-orcutt.md b/website/docs/latest/algorithms/regression/serial-correlation/cochrane-orcutt.md
index 8390f8b..71b5581 100644
--- a/website/docs/latest/algorithms/regression/serial-correlation/cochrane-orcutt.md
+++ b/website/docs/latest/algorithms/regression/serial-correlation/cochrane-orcutt.md
@@ -1,8 +1,8 @@
---
layout: doc-page
title: Cochrane-Orcutt Procedure
-theme:
- name: mahout2
+
+
---

### About

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/docs/latest/algorithms/regression/serial-correlation/dw-test.md
----------------------------------------------------------------------
diff --git a/website/docs/latest/algorithms/regression/serial-correlation/dw-test.md b/website/docs/latest/algorithms/regression/serial-correlation/dw-test.md
index 6802412..2b0cc66 100644
--- a/website/docs/latest/algorithms/regression/serial-correlation/dw-test.md
+++ b/website/docs/latest/algorithms/regression/serial-correlation/dw-test.md
@@ -1,8 +1,8 @@
---
layout: doc-page
title: Durbin-Watson Test
-theme:
- name: mahout2
+
+
---

### About

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/docs/latest/algorithms/template.md
----------------------------------------------------------------------
diff --git a/website/docs/latest/algorithms/template.md b/website/docs/latest/algorithms/template.md
index 6436271..e9d86e5 100644
--- a/website/docs/latest/algorithms/template.md
+++ b/website/docs/latest/algorithms/template.md
@@ -1,8 +1,8 @@
---
layout: doc-page
title: AsFactor
-theme:
- name: mahout2
+
+
---

TODO: Fill this out!

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/docs/latest/changelog.md
----------------------------------------------------------------------
diff --git a/website/docs/latest/changelog.md b/website/docs/latest/changelog.md
index 7965e9d..dbc70a0 100755
--- a/website/docs/latest/changelog.md
+++ b/website/docs/latest/changelog.md
@@ -14,7 +14,7 @@ P.S. If there is a standard (popular) changelog format, please let me know.
- Small typo fixes.

- **Bug Fixes**
- - @xuhdev fixes theme:install bug which does not overwrite theme even if saying 'yes'.
+ - @xuhdev fixes install bug which does not overwrite theme even if saying 'yes'.

- **0.2.13 : 2012.03.24**
- **Features**

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/docs/latest/distributed/flink-bindings.md
----------------------------------------------------------------------
diff --git a/website/docs/latest/distributed/flink-bindings.md b/website/docs/latest/distributed/flink-bindings.md
index 83d3efa..3ac0c24 100644
--- a/website/docs/latest/distributed/flink-bindings.md
+++ b/website/docs/latest/distributed/flink-bindings.md
@@ -1,8 +1,8 @@
---
layout: doc-page
title: Mahout Samsara Flink Bindings
-theme:
- name: mahout2
+
+
---
# Introduction


http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/docs/latest/distributed/h2o-internals.md
----------------------------------------------------------------------
diff --git a/website/docs/latest/distributed/h2o-internals.md b/website/docs/latest/distributed/h2o-internals.md
index 709c694..8950478 100644
--- a/website/docs/latest/distributed/h2o-internals.md
+++ b/website/docs/latest/distributed/h2o-internals.md
@@ -1,8 +1,8 @@
---
layout: doc-page
title: Mahout Samsara H20 Bindings
-theme:
- name: mahout2
+
+
---
# Introduction


http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/docs/latest/distributed/spark-bindings/faq.md
----------------------------------------------------------------------
diff --git a/website/docs/latest/distributed/spark-bindings/faq.md b/website/docs/latest/distributed/spark-bindings/faq.md
index bf7b3da..68ca40a 100644
--- a/website/docs/latest/distributed/spark-bindings/faq.md
+++ b/website/docs/latest/distributed/spark-bindings/faq.md
@@ -1,8 +1,8 @@
---
layout: doc-page
title: FAQ
-theme:
- name: retro-mahout
+
+
---

# FAQ for using Mahout with Spark

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/docs/latest/distributed/spark-bindings/index.md
----------------------------------------------------------------------
diff --git a/website/docs/latest/distributed/spark-bindings/index.md b/website/docs/latest/distributed/spark-bindings/index.md
index 8d6950c..2217593 100644
--- a/website/docs/latest/distributed/spark-bindings/index.md
+++ b/website/docs/latest/distributed/spark-bindings/index.md
@@ -1,8 +1,8 @@
---
layout: doc-page
title: Spark Bindings
-theme:
- name: retro-mahout
+
+
---

# Scala & Spark Bindings:

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/docs/latest/mahout-samsara/faq.md
----------------------------------------------------------------------
diff --git a/website/docs/latest/mahout-samsara/faq.md b/website/docs/latest/mahout-samsara/faq.md
index 41bc659..347206a 100644
--- a/website/docs/latest/mahout-samsara/faq.md
+++ b/website/docs/latest/mahout-samsara/faq.md
@@ -1,8 +1,8 @@
---
layout: doc-page
title: Mahout Samsara
-theme:
- name: mahout2
+
+
---
# FAQ for using Mahout with Spark


http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/docs/latest/mahout-samsara/in-core-reference.md
----------------------------------------------------------------------
diff --git a/website/docs/latest/mahout-samsara/in-core-reference.md b/website/docs/latest/mahout-samsara/in-core-reference.md
index d372697..caa0a24 100644
--- a/website/docs/latest/mahout-samsara/in-core-reference.md
+++ b/website/docs/latest/mahout-samsara/in-core-reference.md
@@ -1,8 +1,8 @@
---
layout: doc-page
title: Mahout Samsara In Core
-theme:
- name: mahout2
+
+
---
## Mahout-Samsara's In-Core Linear Algebra DSL Reference


http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/docs/latest/mahout-samsara/out-of-core-reference.md
----------------------------------------------------------------------
diff --git a/website/docs/latest/mahout-samsara/out-of-core-reference.md b/website/docs/latest/mahout-samsara/out-of-core-reference.md
index 98b1a50..090a950 100644
--- a/website/docs/latest/mahout-samsara/out-of-core-reference.md
+++ b/website/docs/latest/mahout-samsara/out-of-core-reference.md
@@ -1,8 +1,8 @@
---
layout: doc-page
title: Mahout Samsara Out of Core
-theme:
- name: mahout2
+
+
---
# Mahout-Samsara's Distributed Linear Algebra DSL Reference


http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/docs/latest/native-solvers/cuda.md
----------------------------------------------------------------------
diff --git a/website/docs/latest/native-solvers/cuda.md b/website/docs/latest/native-solvers/cuda.md
index e2b6eb1..4585cec 100644
--- a/website/docs/latest/native-solvers/cuda.md
+++ b/website/docs/latest/native-solvers/cuda.md
@@ -1,6 +1,6 @@
---
layout: doc-page
title: Native Solvers- CUDA
-theme:
- name: mahout2
+
+
---

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/docs/latest/native-solvers/viennacl-omp.md
----------------------------------------------------------------------
diff --git a/website/docs/latest/native-solvers/viennacl-omp.md b/website/docs/latest/native-solvers/viennacl-omp.md
index 6fd4605..78edbf1 100644
--- a/website/docs/latest/native-solvers/viennacl-omp.md
+++ b/website/docs/latest/native-solvers/viennacl-omp.md
@@ -1,6 +1,6 @@
---
layout: doc-page
title: Native Solvers- ViennaCL-OMP
-theme:
- name: mahout2
+
+
---
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/docs/latest/native-solvers/viennacl.md
----------------------------------------------------------------------
diff --git a/website/docs/latest/native-solvers/viennacl.md b/website/docs/latest/native-solvers/viennacl.md
index c477376..39331f1 100644
--- a/website/docs/latest/native-solvers/viennacl.md
+++ b/website/docs/latest/native-solvers/viennacl.md
@@ -1,6 +1,6 @@
---
layout: doc-page
title: Native Solvers- ViennaCL
-theme:
- name: mahout2
+
+
---
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/docs/latest/quickstart.md
----------------------------------------------------------------------
diff --git a/website/docs/latest/quickstart.md b/website/docs/latest/quickstart.md
index a66668c..d8d5f42 100644
--- a/website/docs/latest/quickstart.md
+++ b/website/docs/latest/quickstart.md
@@ -1,8 +1,8 @@
---
layout: doc-page
title: Quickstart
-theme:
- name: mahout2
+
+
---
# Mahout Quick Start
# TODO : Fill this in with the bare essential basics

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/docs/latest/tutorials/cco-lastfm/index.md
----------------------------------------------------------------------
diff --git a/website/docs/latest/tutorials/cco-lastfm/index.md b/website/docs/latest/tutorials/cco-lastfm/index.md
index 77c55c7..78106c8 100644
--- a/website/docs/latest/tutorials/cco-lastfm/index.md
+++ b/website/docs/latest/tutorials/cco-lastfm/index.md
@@ -1,8 +1,8 @@
---
layout: doc-page
title: CCOs with Last.fm
-theme:
- name: mahout2
+
+
---

Most reccomender examples utilize the MovieLense dataset, but that relies only on ratings (which makes the recommender being demonstrated look less trivial). Right next to the MovieLense dataset is the LastFM data set. The LastFM dataset has ratings by user, friends of the user, bands listened to by user, and tags by user. This is the kind of exciting data set we’d like to work with!

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/docs/latest/tutorials/eigenfaces/index.md
----------------------------------------------------------------------
diff --git a/website/docs/latest/tutorials/eigenfaces/index.md b/website/docs/latest/tutorials/eigenfaces/index.md
index 53b35e8..cb2b6bc 100644
--- a/website/docs/latest/tutorials/eigenfaces/index.md
+++ b/website/docs/latest/tutorials/eigenfaces/index.md
@@ -1,8 +1,8 @@
---
layout: doc-page
title: Eigenfaces Demo
-theme:
- name: mahout3
+
+
---

*Credit: [original blog post by rawkintrevo](https://rawkintrevo.org/2016/11/10/deep-magic-volume-3-eigenfaces/). This will be maintained through version changes, blog post will not.*

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/docs/latest/tutorials/intro-cooccurrence-spark/index.md
----------------------------------------------------------------------
diff --git a/website/docs/latest/tutorials/intro-cooccurrence-spark/index.md b/website/docs/latest/tutorials/intro-cooccurrence-spark/index.md
index cbe4131..16d9e68 100644
--- a/website/docs/latest/tutorials/intro-cooccurrence-spark/index.md
+++ b/website/docs/latest/tutorials/intro-cooccurrence-spark/index.md
@@ -1,8 +1,8 @@
---
layout: doc-page
title: Intro to Cooccurrence Recommenders with Spark
-theme:
- name: retro-mahout
+
+
---

# Intro to Cooccurrence Recommenders with Spark

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/docs/latest/tutorials/map-reduce/classification/bankmarketing-example.md
----------------------------------------------------------------------
diff --git a/website/docs/latest/tutorials/map-reduce/classification/bankmarketing-example.md b/website/docs/latest/tutorials/map-reduce/classification/bankmarketing-example.md
index 070940f..df399eb 100644
--- a/website/docs/latest/tutorials/map-reduce/classification/bankmarketing-example.md
+++ b/website/docs/latest/tutorials/map-reduce/classification/bankmarketing-example.md
@@ -1,8 +1,8 @@
---
layout: doc-page
title: (Deprecated)
-theme:
- name: retro-mahout
+
+
---

Notice: Licensed to the Apache Software Foundation (ASF) under one

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/docs/latest/tutorials/map-reduce/classification/breiman-example.md
----------------------------------------------------------------------
diff --git a/website/docs/latest/tutorials/map-reduce/classification/breiman-example.md b/website/docs/latest/tutorials/map-reduce/classification/breiman-example.md
index d938483..95d2cd0 100644
--- a/website/docs/latest/tutorials/map-reduce/classification/breiman-example.md
+++ b/website/docs/latest/tutorials/map-reduce/classification/breiman-example.md
@@ -1,8 +1,8 @@
---
layout: doc-page
title: (Deprecated) Breiman Example
-theme:
- name: retro-mahout
+
+
---

#Breiman Example

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/docs/latest/tutorials/map-reduce/classification/twenty-newsgroups.md
----------------------------------------------------------------------
diff --git a/website/docs/latest/tutorials/map-reduce/classification/twenty-newsgroups.md b/website/docs/latest/tutorials/map-reduce/classification/twenty-newsgroups.md
index 5047b9e..bc2f191 100644
--- a/website/docs/latest/tutorials/map-reduce/classification/twenty-newsgroups.md
+++ b/website/docs/latest/tutorials/map-reduce/classification/twenty-newsgroups.md
@@ -1,8 +1,8 @@
---
layout: doc-page
title: (Deprecated) Twenty Newsgroups
-theme:
- name: retro-mahout
+
+
---



http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/docs/latest/tutorials/map-reduce/classification/wikipedia-classifier-example.md
----------------------------------------------------------------------
diff --git a/website/docs/latest/tutorials/map-reduce/classification/wikipedia-classifier-example.md b/website/docs/latest/tutorials/map-reduce/classification/wikipedia-classifier-example.md
index 64f9ee0..43eb0e0 100644
--- a/website/docs/latest/tutorials/map-reduce/classification/wikipedia-classifier-example.md
+++ b/website/docs/latest/tutorials/map-reduce/classification/wikipedia-classifier-example.md
@@ -1,8 +1,8 @@
---
layout: doc-page
title: (Deprecated) Wikipedia XML parser and Naive Bayes Example
-theme:
- name: retro-mahout
+
+
---
# Wikipedia XML parser and Naive Bayes Classifier Example


http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/docs/latest/tutorials/map-reduce/clustering/20newsgroups.md
----------------------------------------------------------------------
diff --git a/website/docs/latest/tutorials/map-reduce/clustering/20newsgroups.md b/website/docs/latest/tutorials/map-reduce/clustering/20newsgroups.md
index ff413b0..3363a22 100644
--- a/website/docs/latest/tutorials/map-reduce/clustering/20newsgroups.md
+++ b/website/docs/latest/tutorials/map-reduce/clustering/20newsgroups.md
@@ -1,8 +1,8 @@
---
layout: doc-page
title: (Deprecated) 20Newsgroups
-theme:
- name: retro-mahout
+
+
---

<a name="20Newsgroups-NaiveBayesusing20NewsgroupsData"></a>

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/docs/latest/tutorials/map-reduce/clustering/canopy-commandline.md
----------------------------------------------------------------------
diff --git a/website/docs/latest/tutorials/map-reduce/clustering/canopy-commandline.md b/website/docs/latest/tutorials/map-reduce/clustering/canopy-commandline.md
index 4ca54c7..57e0ab1 100644
--- a/website/docs/latest/tutorials/map-reduce/clustering/canopy-commandline.md
+++ b/website/docs/latest/tutorials/map-reduce/clustering/canopy-commandline.md
@@ -1,8 +1,8 @@
---
layout: doc-page
title: (Deprecated) canopy-commandline
-theme:
- name: retro-mahout
+
+
---

<a name="canopy-commandline-RunningCanopyClusteringfromtheCommandLine"></a>

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/docs/latest/tutorials/map-reduce/clustering/clustering-of-synthetic-control-data.md
----------------------------------------------------------------------
diff --git a/website/docs/latest/tutorials/map-reduce/clustering/clustering-of-synthetic-control-data.md b/website/docs/latest/tutorials/map-reduce/clustering/clustering-of-synthetic-control-data.md
index 762b344..39b3b12 100644
--- a/website/docs/latest/tutorials/map-reduce/clustering/clustering-of-synthetic-control-data.md
+++ b/website/docs/latest/tutorials/map-reduce/clustering/clustering-of-synthetic-control-data.md
@@ -1,8 +1,8 @@
---
layout: doc-page
title: (Deprecated) Clustering of synthetic control data
-theme:
- name: retro-mahout
+
+
---

# Clustering synthetic control data

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/docs/latest/tutorials/map-reduce/clustering/clustering-seinfeld-episodes.md
----------------------------------------------------------------------
diff --git a/website/docs/latest/tutorials/map-reduce/clustering/clustering-seinfeld-episodes.md b/website/docs/latest/tutorials/map-reduce/clustering/clustering-seinfeld-episodes.md
index 636af83..7444843 100644
--- a/website/docs/latest/tutorials/map-reduce/clustering/clustering-seinfeld-episodes.md
+++ b/website/docs/latest/tutorials/map-reduce/clustering/clustering-seinfeld-episodes.md
@@ -1,8 +1,8 @@
---
layout: doc-page
title: (Deprecated) Clustering Seinfeld Episodes
-theme:
- name: retro-mahout
+
+
---

Below is short tutorial on how to cluster Seinfeld episode transcripts with

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/docs/latest/tutorials/map-reduce/clustering/clusteringyourdata.md
----------------------------------------------------------------------
diff --git a/website/docs/latest/tutorials/map-reduce/clustering/clusteringyourdata.md b/website/docs/latest/tutorials/map-reduce/clustering/clusteringyourdata.md
index a181b37..8d14b66 100644
--- a/website/docs/latest/tutorials/map-reduce/clustering/clusteringyourdata.md
+++ b/website/docs/latest/tutorials/map-reduce/clustering/clusteringyourdata.md
@@ -1,8 +1,8 @@
---
layout: doc-page
title: (Deprecated) ClusteringYourData
-theme:
- name: retro-mahout
+
+
---

# Clustering your data

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/docs/latest/tutorials/map-reduce/clustering/fuzzy-k-means-commandline.md
----------------------------------------------------------------------
diff --git a/website/docs/latest/tutorials/map-reduce/clustering/fuzzy-k-means-commandline.md b/website/docs/latest/tutorials/map-reduce/clustering/fuzzy-k-means-commandline.md
index 9a3d4a1..1f9bfac 100644
--- a/website/docs/latest/tutorials/map-reduce/clustering/fuzzy-k-means-commandline.md
+++ b/website/docs/latest/tutorials/map-reduce/clustering/fuzzy-k-means-commandline.md
@@ -1,8 +1,8 @@
---
layout: doc-page
title: (Deprecated) fuzzy-k-means-commandline
-theme:
- name: retro-mahout
+
+
---

<a name="fuzzy-k-means-commandline-RunningFuzzyk-MeansClusteringfromtheCommandLine"></a>

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/docs/latest/tutorials/map-reduce/clustering/k-means-commandline.md
----------------------------------------------------------------------
diff --git a/website/docs/latest/tutorials/map-reduce/clustering/k-means-commandline.md b/website/docs/latest/tutorials/map-reduce/clustering/k-means-commandline.md
index 63b3199..e4d6ca9 100644
--- a/website/docs/latest/tutorials/map-reduce/clustering/k-means-commandline.md
+++ b/website/docs/latest/tutorials/map-reduce/clustering/k-means-commandline.md
@@ -1,8 +1,8 @@
---
layout: doc-page
title: (Deprecated) k-means-commandline
-theme:
- name: retro-mahout
+
+
---

<a name="k-means-commandline-Introduction"></a>

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/docs/latest/tutorials/map-reduce/clustering/lda-commandline.md
----------------------------------------------------------------------
diff --git a/website/docs/latest/tutorials/map-reduce/clustering/lda-commandline.md b/website/docs/latest/tutorials/map-reduce/clustering/lda-commandline.md
index b55f39a..4a3d44f 100644
--- a/website/docs/latest/tutorials/map-reduce/clustering/lda-commandline.md
+++ b/website/docs/latest/tutorials/map-reduce/clustering/lda-commandline.md
@@ -1,8 +1,8 @@
---
layout: doc-page
title: (Deprecated) lda-commandline
-theme:
- name: retro-mahout
+
+
---

<a name="lda-commandline-RunningLatentDirichletAllocation(algorithm)fromtheCommandLine"></a>

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/docs/latest/tutorials/map-reduce/clustering/viewing-result.md
----------------------------------------------------------------------
diff --git a/website/docs/latest/tutorials/map-reduce/clustering/viewing-result.md b/website/docs/latest/tutorials/map-reduce/clustering/viewing-result.md
index 066a125..172448d 100644
--- a/website/docs/latest/tutorials/map-reduce/clustering/viewing-result.md
+++ b/website/docs/latest/tutorials/map-reduce/clustering/viewing-result.md
@@ -1,8 +1,8 @@
---
layout: doc-page
title: (Deprecated) Viewing Result
-theme:
- name: retro-mahout
+
+
---
* [Algorithm Viewing pages](#ViewingResult-AlgorithmViewingpages)


http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/docs/latest/tutorials/map-reduce/clustering/viewing-results.md
----------------------------------------------------------------------
diff --git a/website/docs/latest/tutorials/map-reduce/clustering/viewing-results.md b/website/docs/latest/tutorials/map-reduce/clustering/viewing-results.md
index a2fa41f..993efad 100644
--- a/website/docs/latest/tutorials/map-reduce/clustering/viewing-results.md
+++ b/website/docs/latest/tutorials/map-reduce/clustering/viewing-results.md
@@ -1,8 +1,8 @@
---
layout: doc-page
title: (Deprecated) Viewing Results
-theme:
- name: retro-mahout
+
+
---
<a name="ViewingResults-Intro"></a>
# Intro

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/docs/latest/tutorials/map-reduce/clustering/visualizing-sample-clusters.md
----------------------------------------------------------------------
diff --git a/website/docs/latest/tutorials/map-reduce/clustering/visualizing-sample-clusters.md b/website/docs/latest/tutorials/map-reduce/clustering/visualizing-sample-clusters.md
index 0e53cb5..4e833c9 100644
--- a/website/docs/latest/tutorials/map-reduce/clustering/visualizing-sample-clusters.md
+++ b/website/docs/latest/tutorials/map-reduce/clustering/visualizing-sample-clusters.md
@@ -1,8 +1,8 @@
---
layout: doc-page
title: (Deprecated) Visualizing Sample Clusters
-theme:
- name: retro-mahout
+
+
---

<a name="VisualizingSampleClusters-Introduction"></a>

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/docs/latest/tutorials/map-reduce/index.md
----------------------------------------------------------------------
diff --git a/website/docs/latest/tutorials/map-reduce/index.md b/website/docs/latest/tutorials/map-reduce/index.md
index feba407..c702f45 100644
--- a/website/docs/latest/tutorials/map-reduce/index.md
+++ b/website/docs/latest/tutorials/map-reduce/index.md
@@ -1,8 +1,8 @@
---
layout: doc-page
title: (Deprecated) Deprecated Map Reduce Based Examples
-theme:
- name: mahout2
+
+
---

A note about the sunsetting of our support for Map Reduce.

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/docs/latest/tutorials/map-reduce/misc/mr---map-reduce.md
----------------------------------------------------------------------
diff --git a/website/docs/latest/tutorials/map-reduce/misc/mr---map-reduce.md b/website/docs/latest/tutorials/map-reduce/misc/mr---map-reduce.md
index 526f96b..006e6a3 100644
--- a/website/docs/latest/tutorials/map-reduce/misc/mr---map-reduce.md
+++ b/website/docs/latest/tutorials/map-reduce/misc/mr---map-reduce.md
@@ -1,8 +1,8 @@
---
layout: doc-page
title: (Deprecated) MR - Map Reduce
-theme:
- name: retro-mahout
+
+
---

{excerpt}MapReduce is a framework for processing huge datasets on certain

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/docs/latest/tutorials/map-reduce/misc/parallel-frequent-pattern-mining.md
----------------------------------------------------------------------
diff --git a/website/docs/latest/tutorials/map-reduce/misc/parallel-frequent-pattern-mining.md b/website/docs/latest/tutorials/map-reduce/misc/parallel-frequent-pattern-mining.md
index dee5701..c036200 100644
--- a/website/docs/latest/tutorials/map-reduce/misc/parallel-frequent-pattern-mining.md
+++ b/website/docs/latest/tutorials/map-reduce/misc/parallel-frequent-pattern-mining.md
@@ -1,8 +1,8 @@
---
layout: doc-page
title: (Deprecated) Parallel Frequent Pattern Mining
-theme:
- name: retro-mahout
+
+
---
Mahout has a Top K Parallel FPGrowth Implementation. Its based on the paper [http://infolab.stanford.edu/~echang/recsys08-69.pdf](http://infolab.stanford.edu/~echang/recsys08-69.pdf)
with some optimisations in mining the data.

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/docs/latest/tutorials/map-reduce/misc/perceptron-and-winnow.md
----------------------------------------------------------------------
diff --git a/website/docs/latest/tutorials/map-reduce/misc/perceptron-and-winnow.md b/website/docs/latest/tutorials/map-reduce/misc/perceptron-and-winnow.md
index 2fe7492..fef9666 100644
--- a/website/docs/latest/tutorials/map-reduce/misc/perceptron-and-winnow.md
+++ b/website/docs/latest/tutorials/map-reduce/misc/perceptron-and-winnow.md
@@ -1,8 +1,8 @@
---
layout: doc-page
title: (Deprecated) Perceptron and Winnow
-theme:
- name: retro-mahout
+
+
---
<a name="PerceptronandWinnow-ClassificationwithPerceptronorWinnow"></a>
# Classification with Perceptron or Winnow

http://git-wip-us.apache.org/repos/asf/mahout/blob/5a07b51b/website/docs/latest/tutorials/map-reduce/misc/testing.md
----------------------------------------------------------------------
diff --git a/website/docs/latest/tutorials/map-reduce/misc/testing.md b/website/docs/latest/tutorials/map-reduce/misc/testing.md
index 6b44542..2949637 100644
--- a/website/docs/latest/tutorials/map-reduce/misc/testing.md
+++ b/website/docs/latest/tutorials/map-reduce/misc/testing.md
@@ -1,8 +1,8 @@
---
layout: doc-page
title: (Deprecated) Testing
-theme:
- name: retro-mahout
+
+
---
<a name="Testing-Intro"></a>
# Intro
a***@apache.org
2017-12-21 04:53:05 UTC
Permalink
http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/assets/themes/mahout/imgx/zeppelin_svg_logo.svg
----------------------------------------------------------------------
diff --git a/website-old/assets/themes/mahout/imgx/zeppelin_svg_logo.svg b/website-old/assets/themes/mahout/imgx/zeppelin_svg_logo.svg
deleted file mode 100755
index 9601e5d..0000000
--- a/website-old/assets/themes/mahout/imgx/zeppelin_svg_logo.svg
+++ /dev/null
@@ -1,77 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!-- Created with Inkscape (http://www.inkscape.org/) -->
-
-<svg
- xmlns:dc="http://purl.org/dc/elements/1.1/"
- xmlns:cc="http://creativecommons.org/ns#"
- xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:svg="http://www.w3.org/2000/svg"
- xmlns="http://www.w3.org/2000/svg"
- xmlns:xlink="http://www.w3.org/1999/xlink"
- xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
- xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
- version="1.1"
- width="500"
- height="310"
- id="svg2"
- inkscape:version="0.48.2 r9819"
- sodipodi:docname="zeppelin-logo-NORMAL.svg">
- <sodipodi:namedview
- pagecolor="#ffffff"
- bordercolor="#666666"
- borderopacity="1"
- objecttolerance="10"
- gridtolerance="10"
- guidetolerance="10"
- inkscape:pageopacity="0"
- inkscape:pageshadow="2"
- inkscape:window-width="640"
- inkscape:window-height="480"
- id="namedview10"
- showgrid="false"
- inkscape:zoom="0.59"
- inkscape:cx="250"
- inkscape:cy="200"
- inkscape:window-x="132"
- inkscape:window-y="48"
- inkscape:window-maximized="0"
- inkscape:current-layer="svg2" />
- <defs
- id="defs4" />
- <metadata
- id="metadata7">
- <rdf:RDF>
- <cc:Work
- rdf:about="">
- <dc:format>image/svg+xml</dc:format>
- <dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
- <dc:title></dc:title>
- </cc:Work>
- </rdf:RDF>
- </metadata>
- <g
- transform="translate(0,-742.36218)"
- id="layer1"
- style="display:none">
- <image
- xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAB8AAAARhCAYAAABd6J/cAAAABHNCSVQICAgIfAhkiAAAIABJREFU eJzs3X9QVHee//vXbHUSmEFpMG0imIBZfyRiIgRjnEQBHXcyP3RlszuVrDVbYNV4k9pyJiaZ/cdU bTp7y9xvVcboZOZuJZWpUu+d62Zq9s7oYDLJjCOgJjEEIvgDBBmBwVZDR6RpExvj3rl/HBu7T5+G Bvp3Px9VlPLppvuDQvc55/X5vN9f+etf/yoAAAAAAAAAAAAAQELYJZUG/KmAz/23L57gY7ZJGgr4 vOHGn703PoYktU54pingKwTgAAAAAAAAAAAAABAXVTLC7VJJxTf+zE3gfDwygvBWGcG4/+9DY3xN UiMABwAAAAAAAAAAAIDos0uqlhFyV2niu7gTqU83w/AGpVAoTgAOAAAAAAAAAAAAANFRKqlWqRd4 R6JNRhju/0jKQJwAHAAAAAAAAAAAAAAmzx96V0sqmsoDdbgH9Pm1EXmvjahrcHB0/ONLAxN6nIdm zBz9e0FOjmblTJMkLbjdoWm3ZU1lioEaJe3VzR3iSYEAHAAAAAAAAAAAAAAmxi5ps4zge0Kht3fE p87P3OoavKSLn19R+/CQzly9olO+q7GYp6WKnFzl33KrHpoxU9NuvVXz82dMNRzvkxGG75DRSzxh CMABAAAAAAAAAAAAIDKlMoLvmki/wDXs0ScXXGoZuKj6wYG4Bt0TZbfZVDUtTw/NmKn5+flaUjB7 MqF4m4wgfFfUJxgBAnAAAAAAAAAAAAAAGFuVJKekyvHu6B3xqfn8OTWe+0vSB96RKMnK1sr8mSqf eacenFWowum5kX5pn4wQfIfi2C+cABwAAAAAAAAAAAAArFUpguDbO+JTQ+9ZNbj6tdt9Ph7zSpiS rGytu2O2yu64UyvnzI3kSzwy/g13xHRi
NxCAAwAAAAAAAAAAAECwWhmlzhePdacO94B+dfqkfjng 0tD163GZWDKx22z6/sxCVc6+O5IwvE/Gv2tDLOdEAA4AAAAAAAAAAAAAhloZu5WLxrpTXWe7dnaf 1qErnnjMKSWUZGVr/ex7tGbegvHKpP9Uxr9xTMqiE4ADAAAAAAAAAAAAyHS1ijD4/snp4ynf1zvW NhUUaePi8rGC8D5J1ZJao/3cBOAAAAAAAAAAAAAAMlWtxgm+vSM+1XWd1htnTxN8T9CWonnaWLZE 027LCneXDZJ2RfM5CcABAAAAAAAAAAAAZJpaRRB87zl5XK/0dmZkf+9osdts2r6oXGsXLAx3l90y /j+iggAcAAAAAAAAAAAAQKaoFcF3QlTnObS9cnW43eD7ZPzfTLkvOAE4AAAAAAAAAAAAgHRXK4Lv hLPbbHprWZWWFN5ldXObpCpNMQQnAAcAAAAAAAAAAACQrmo1TvDtGvboV+0n9J+uHoLvONlZ+nC4 kuhTDsEJwAEAAAAAAAAAAACkmypJuzRO8P1mW4t+fr4vXnNCgE0FRXKuWGV105R6ghOAAwAAAAAA AAAAAEgXpZJ2SKoMdweC7+QRixCcABwAAAAAAAAAAABAqrPLCL5rwt3BO+LTm8ea9XLfmfjNCuMa IwTfIGMX/4QQgAMAAAAAAAAAAABIZZtl9PnOtbrRO+LTnpPH9UpvJz2+k9QYIXiZpNaJPBYBOAAA AAAAAAAAAIBUVCpjh/DicHd4o6WJ4DtF7Cx9WGsXLDQP98n4fx6K9HEIwAEAAAAAAAAAAACkEruM Hd/PhLtDfU+3nMebdcp3NW6TwtS9u3y1lhTeZR7eJ6k60scgAAcAAAAAAAAAAACQKqpk7Pousrqx wz2gbceatPeyO55zQpTYbTYdW/M9Tbsty3zTP0jaG8ljEIADAAAAAAAAAAAASHZj7vr2jvj05rFm vdx3Jq6TQvRV5zn0i2+uMQ9HXAr9
b2IxKQAAAAAAAAAAAACIkipJrQoTftf3dGvNu3sJv9PE3stu 7TnRah4ukrQ5kq9nBzgAAAAAAAAAAACAZDTurm/n+43a7T4f10kh9uw2mxr/7u9VOD3XfNMcSb1j fS07wAEAAAAAAAAAAAAkm1JJDRpj13fZ/l8TfqepoevX9WrzUaubdoz3tewABwAAAAAAAAAAAJBM nJJetLqBXd+Z5d3lq7Wk8C7z8EoZiyMsEYADAAAAAAAAAAAASAZ2SXslVVrdWN/TrY2ffKih69fj OyskTElWthrXPWkebpTRF94SJdABAAAAAAAAAAAAJFqpjN7OIeG3d8Sn5w++p+81HSb8zjCnfFdV 19luHq6U8fNiiQAcAAAAAAAAAAAAQCLVSjomKdd8Q7Orn17fGe4np49bDW8Od38CcAAAAAAAAAAA AACJskPSTqsbXj16RN86coBd3xkuzC7wGknFVvcnAAcAAAAAAAAAAACQCLskPWMedA179Pjbv9HL fWfiPyMkpZ3dp62Ga60Gv/LXv/41ppMBAAAAAAAAAAAAgAB2SQ2SFptvaHb168mjDez6Roh3l6/W ksK7Aof6ZLEL3BavCQEAAAAAAAAAUl6xrMuNVgX8vcHi9iFJrVGfDQAgFYUNv+s627Wh9aO4Twip Yf/ZM+YAvEhStaS9gYPsAAcAAAAAAAAA2CWV3vh71Y0/i2982GURUkyBRzfD8IaAPwnJASD9hQ2/ Xz16hJLnGFdP9T9r2m1ZgUP7ZITgowjAAQAAAAAAACC9FetmkG0OuUsl5cZ9RmNrk9QrIwz3f/Qm cD4AgOgIG347Dx/Uz8/3xX1CSD2vLSzT+vtLzcN5MhbSSSIABwAAAAAAAIBUVxXmz2QMtyfLv2u8 4cZHqwIudAMAkh7hN6KiIidXv/nu4+bhDZJ2+T8hAAcAAAAAAACA5ObfuV1846P0xlhl4qYUrMM9 oM+vjehrt96m+xwz4/W0bboZ
iDeIQBwAkpVl+O0d8Wlb0weE35iwtm8/rsLpQWv8gsqgE4ADAAAA AAAAQPKo0s2wu1QJ2MXtGvbogndY3msj6hoclCR1eS7Lc/1LDX55TYeueCb8mCVZ2ZqXnSNJmp39 Vc36ao6m3Xqr5ufP0Kxp080XsSerUdJe3dwhDgBIvLA7vx9/+zeTek8BxiuDTgAOAAAAAAAAAIlR pZuBd6mkolg/oX+n9oUrXp2/ckWff3lN7cPGxukG72UNXb8e6ymEVZGTqznZX9P83DzNz8/X/BmO qQTjfTICl703PgAAibFLUo15kLLnmIowZdD/QTfe8wnAAQAAAAAAMBnFNz78pZkD+Xvz9t74AGD8 vlTJ+H2pksVOuKny79y2Crf3XnZH++nipjrPoYdmzNT8/HwtKZitabdlTfQhPLoZhBOGA0D87BLh N2LEogz6bkm1EgE4AAAAAAAAIlOtm+HdRPsOt8kIxRtufPRGb1pA0irWzR3eVYrS7u5mV/9oafIL X1zRuatf6MzVKzrluxqNh08JJVnZWpk/U+Uz79SDswonukucMBwA4sMp6cWQQcJvRMnO0oe1dsHC wKE+GcdfBOAAAAAAAAAIq0rGLopqRbcHcZuMIHyHCMORPooVxcC72dWvrsFLuvj5FbUPDyW8PHky q8jJ1fIZM1V2x51aOWfuRL60T0YIzmsRAERXraSd5kHCb0RTjaNA21Y9Zh6eI6mXABwAAAAAAABm tTJ27cS8H7GMMHyHjBBqKA7PB0SLXUbQ7a+OMKnfF++IT52fudVy8YK6PJfV7L2cUbu5Y6HGUaCq wrtUVXzPRMql81oEANFRJanePLjnRKt+1H4s/rNB2rLbbOr+x38xD2+QtIsAHAAAAAAAAH7VMgKg CQV5He4BfX5tZPTzJYV3Tea5PTeee4cIn5C8SmX8nlRrkj28O9wDOnbxvLqGBlU/OEDYHWPVeQ6t mjVblUVzIi2V7i+R7hS7
wgFgokplVPkJesGt62zXhtaPEjIhpLfDq76r+xwzA4d2S6olAAcAAAAA AECxpF0ap7e3d8Snht6zOnN5UO3DQ9p72T3mg1bk5GpO9tdU7rhDZXcWmC9OhUMQjmRTqputACa8 y9sfeLe4P9W+ywOUMU+gSewMb9TNXeEAgLHZZYTfQQvEOtwDWnHw7YRMCOnvtYVlWn9/aeBQn6Ri AnAAAAAAAIDMtlnS9nA3+kPvnd2ndeiKZ0pPZLfZ9P2ZhaqcfXckfXo9MnZg7pjSkwKTUyzjd2PC oTeBd2rYVFAU6WuRZFxMd4ry6AAwlr2S1gUOdLgHtPbQe7wXImbC9AHPIwAHAAAAAADITHYZFyot d317R3zac/K4XuntjMlFS7vNpn8tnKMnFt4/XlniNhm7b1ujPgkgmF1G4L1ZEyhv7hr26JMLLjW4 +gm8U1BJVrbWz75Ha+YtiKREOhUqAMCaU9KLgQPeEZ9qDrwz5QWUwFhKsrLVuO5J8/BKAnAAAAAA AIDMUyoj/A7Z2Rrr4NvKpoIibVxcPl749FMZwSQQbcUyLtxXy9Sz1Ip3xKfm8+fUeO4v9PBOMzWO Aq2Z87eRVqjYJSMI743xtAAg2VVL+q158Ad/2D9uuxwgGnqq/9nc2uQlAnAAAAAAAIDMUi0juAkJ +ppd/Xq++f2EBXoRBOHsBkc0VckIvi2rIATytwJocPVrt/t8rOeFBCvJytZT99yrtfPvjaRX+G4Z P0e9sZ4XACShYhnHZUEHb68ePaKX+84kZELIPO8uX60lhXcFDv2UABwAAAAAACBz1EraaXVDMl2o 3Dq3ROsXPTBW8LRBRogPTEatjMBy3N7e9T3d2t/zZ0LvDGW32fT9mYWRVKiQjCB8syiNDiCztMrU NqSus10bWj9K0HSQiV5bWKb195cGDjUSgAMAAAAAAGSGWlmE38nan7EkK1vOB5aMVYqYsAkTYZfx O7BZ4wTfrmGPftV+
Qv/p6qGfN0ZtKijSE/cu0n2OmWPdjR7hADLJDknPBA50uAe09tB7vH8irrbO LdFT5UsDhwjAAQAAAAAAMkCtLMLvVLhIWeMokPPRynC7wdtklLEmaEI4dhmh92aN09+7vqdb/8+Z 0/QrxZiq8xx6umSxudSqmT8Id8ZlUgAQfyF9v5N1USXS36aCIjlXrAoc8hCAAwAAAAAApLcqSfXm wVQIv/1KsrL1+iOrwu287JNxEXa8vuClMsJQyfg3iVSrjIC9V/T4TSURBd/eEZ/quk7rjbOndcp3 NW6TQ+qLMAjvk/EzuDc+swKAuCiWRd9v5+GD+vn5voRMKFGq8xyanf1VHR8eIvhPoOo8h37xzTVB YwTgAAAAAAAA6atUUoNMFyhTKfwOZNHfz88jI9TulfE9V8m4OFt84/Nxm/dOQJuMi76tMv5txwve EX+1Mnbfhv1/dw17tP9Mp17p7Uy53wMklwiD8EYZQTivFwDSwV5J6wIH9pxo1Y/ajyVoOvFTkpWt JdPyNO2WWzT9llt15NIAwXcSIAAHAAAAAADIHHYZgXBahN9+mwqK9PzSR8KVRE8Ej4wLwQ03/qQc e+LUyig5HbbHt2vYozfbWjJuhxpir8ZRoOeWLFPh9DHX2/xUxs8orxMAUlVI6fNUP7YcS0lWtlbm z9R8e768167p40sDtEpJQgTgAAAAAAAAmaNBUmXgQLpcoKzIydXu1d9JphA80G5Ju2T8+yM+qmTs +F4c7g4E34iXCBbpeGTsBt8Vt0kBQHTYZVSyCFpo9vjbv0mrXdAlWdlad8dsfftv5+vzayPaf/YM xw9JjgAcAAAAAAAgM+yQ9EzggHfEpzXv7k2bPscVObnaunR5uL7gY+pwD+jzayPj3u9rt942qce/ oU3G/8OuyT4AxlUs49+3MtwdCL6RCHabTf9WvEBPlS8d626NMqoW9MZjTgAQBSHHl+lS+txus+n7 Mwu15p55WlJ4
l+o62/WT08fT5rg53RGAAwAAAAAApL+Q0pRS+u3OkYyLlXUVj4WE1N4Rnzo/c6tr 8JIufn5F7cNDGvzy2qS/f7vNpqppeZqd/VXNt+drfv6M8fr9BuqTsdtz76SeHFbsMspIPxPuDt4R n7Y1fUDwjYQqycqW84ElWjln7lh3e0nGzzMAJLNSSUFJt2vYo8o//i6lKwtV5ORqw9x7VVV8jyRp z8njeqW3M6W/p0xEAA4AAAAAAJDeLPt+v3r0iF7uO5OQCcWa3WbTmw9+XV2Dg/r40oAavJfjdtGy Os+hVbNmq7Joznh9fyV2e0ZLrYwdaJb/4N4RHxevkXSq8xx6admKsV4n2mT8bLfGbVIAMDGtMrUa ef7ge9rtPp+g6UzNpoIiPXHvIt3nmMmxQxogAAcAAAAAAEhveyWtCxyo7+nW95oOJ2g6mSNwB9E4 vX+dMgJcTEyVxunzXdfZrmdPtnDxGklr69wSrV/0wFivEewGB5CMNkvaHjiQiseX/vYUa+YtUOH0 XILvNEIADgAAAAAAkL5CSp+nQ2nKVOO/uDpOyLVPxm7PobhNLHWNW+682dWv55vfp08nUkJJVra2 LXl0rDYKbTJez3vjNikACK9Yxu7v0RIW3hGf1ry7N2Xed62OzVg0l142FRTJuWJV0BgBOAAAAAAA QOqzLH3+gz/s197L7oRMKNP5L7Y+Vb403F36ZIRclDwOr1rSLoUpd+4a9ujFo4f5GUdK2lI0TxvL loRbKEO1CADJIqS6UKq01rEKvlk0l562zi0xH3M3EoADAAAAAACkvl2SagIH9pxo1Y/ajyVmNhg1 zm5Pj4zS3oTgwYpl/ExXWt3oL1n6QvepeM4JiLoIdoNTLQJAIoVUF+pwD2jFwbcTNJ3IWAXfrmGP Xm0+mrI9yzE2AnAAAAAAAID0UyWpPnCA0ufJZ0vRPD23bLnVTYTgwTbL2Plqueu7vqdbzuPN7NxC WhlnNzjV
IgAkgl3G605R4ODjb/9Gh654EjOjCGwqKNLGxeUqnH7zMOKNlib6fKe51xaWaf39pYFD BOAAAAAAgKgrvvEhSaUyLp6Eu10yLqyYdzYN6eaF3l7RBxMYS4NMO2UpfZ6cKnJytXv1d6xCLkJw 4/1il6TFVjdS7hzpriQrW68/skr3OWaGu8sGGb8jABAPOyQ9EziQzNWFqvMcer5sadBrKOXOM8e7 y1ebq6n8lAAcAAAAADARVTf+LL7xYZcRWkhhStVGWaNuhuO9Nz6sAnQgU9RK2hk4UN/Tre81HU7M bDCuipxcbV263CrkyuQQ3CnpxXA3vtHSRLlzZAyLMq6Bdst43QeAWCqVFJR0J2t1IbvNpu2LyrV2 wcLRMe+IT28ea06JPuWIDosA/CUCcAAAAACAX9WNP/27tot1M+S23JGXRDwyQqOGG3/6A3Ig3fUq oDSld8SnNe/uZadLkrPbbKqreMwqBG+T8VqcKYt6iiXtVZj3mGZXv15u/TipS60CsVCd59D2ytXh SqJn2usEgPhrlem9+fmD7yVd/2yr9hHs+s5MPdX/bH7PfJYAHAAAAAAyg3+nttWfyR5uT1ZgKO7/ ANKJU6Zds+yUTR12m02Nf/f3QT0qb9gno99vuquVUV415B+AnVuA8Rrx1rIq8442P0JwALGyWdL2 wIFkqy5UkZOrLaUPBb0+cuyQ2T57YoN5aCUBOAAAAACklyrd3LntD7jjUZrckmvYowve4aAx77UR dQ0Ojn5efueskK+bNW26VSgUDY0iEEd6sMvY/T36i+Id8als/6+TrjQlwhujJ/izMsLhdLVLUo3V DezcAoK9trBM6+8vtbopk9smAIiNYhmvKUHHl8lUXciqTQTHDpmtIidXv/nu4+bhMgJwAAAAAEhN pboZclfd+HtR+LtHl3fEp87P3JKkrsFL8l67pgtfXNG5q19IkvZedkftuSpycpV/y62anf1Vzfpq jgpy
cjQrZ5oW3O4IVxo0Uh4ZIfjeG3/2TnmyQPzskilAdB4+qJ+f70vMbDBpNY4CbVv1mHnYI+P1 vTfuE4otu4zX25DKI+zcAsLbVFAk54pVVjcRggOIpr2S1gUOvHr0SFK8N1fk5Grr0uUh7WOofoTq PId+8c015uGvEIADAAAAQPIr1s2gu1Qx3tEdGG63XLwgSeryXJbn+pc6c/VKUq2st9tsqpqWp4dm zFRBTo7m5t9u1VM3Um0yQsW9Sr/QCenDLmNncFD47Rr2aPHvf5OYGWHKrHYzyahYURX/2cRMqYzw O6S8R4d7QE9/cDCp3l+AZDNGX3BCcADRUC3pt4EDHe4BrTj4doKmc5PVcZJr2KMfHv6TDl3xJGhW SBZbiubpuWXLA4c8kuwE4AAAAACQfPxhd9WNv0d1Z3eHe0CfXxsZ3bmdrOH2VFTnOfTQjJman5+v JQWzJ7NTvE1GEL5LhOFIHmF3z7L7O/UdXvVdqwU8K5Ue7RpC+on61XW2a0PrR3GeDpCaxmib0Cfj mJGe4AAmwy5jEU3Qeefjb/8moQFzSVa2ti15NKjXt2T0JN/4yYe0/YEkywUSjZKqCMABAAAAIPEC A+8qWeyOm6hmV/9or21/afIG7+WMvUhQkZOr5TNmquyOOycTiLMzHMkgbPhNgJgewvQv7JNRBSRV WVYskIxqI9uaPmDhBjBBY4TgbTKOIwnBAUzUDknPBA7sOdGqH7UfS9B0jBYxzkcrQ17rkqUkO5LH u8tXmxdJ7JZUSwAOAAAAAPEXtcC7wz2gi1eG1TU4qI8vDaTVLu5Yqs5zaNWs2Sq7s2CiJdP36ebO cCBewpaOZud3enltYZnW319qHt6g1HzNKZbxehmyaIOypcDUjBGCp1vrBACxVyopKOl2DXtU+cff JWzxtNXxEMcOCKft24+rcHrQadJLkpwE4AAAAAAQe8UKDrwnVdK8wz2g7sHPdObyoNqHh7T3sjta
88toJVnZWnfHbJXdcadWzpkb6Zd5ZARSO8SucMQW4XcGsdtsOrbme+ZQKxV3gVfJCL9Dfm6bXf16 8mhDxlYkAaJljBD8pzLaDgBAJBokVQYOPH/wPe12n4/7REqysvX6I6tCFihz7ICxfPbEBvPQSkkN BOAAAAAAEBulkmplhAAhu98i0ezqV8vFC+ryXNa+ywOc8MeB3WbT92cWqnL23RMJwxtlhOG7YjUv ZCzL8Ns74lPNgXfYAZOmLPoYSqnVC9wp6UWrGxJdThVINzWOAm1b9ZjVTalaOQJAfG2WtD1woL6n W99rOhz3iYQref5GS5Ne6D4V9/kgNVTnOfSLb64xD5dJaiUABwAAAIDo8Yfe1ZrELm9/4P3xpQF2 dycBu82mfy2co2//7fxIy6T36eaucPpvYqoIvzNUmF3g+2S8tyQzu4zXwHXmG7wjPjnfb0zIbjIg 3W0qKJJzxSrzsEfG+0hv3CcEIFXYZbxGjB5rekd8WvPu3ri31LJa/MexAyIR5j3wK5JEAA4AAAAA U1MsI/Su1QRDbwLv1FGSla2n7rlXlUVzzP3FrHhklP51igvPmBy7jPA7qHoE4XfmCNMLfI6S9zWl VEb4HVLxpMM9oBeajvBzC8TQztKHtXbBQvNwm4zfTQCwsktSTeBAvHdb2202vfng10Mqb9HvG5Gy OGZulFGFjwAcAAAAACap9sZH5dh3u6nDPaBjF8+rxf0pK9lTWI2jQGvm/G2kJdJ3y7i41BDLOSGt EH5DJVnZalz3pHn4WRkVJpJNtYzXuZDVQfU93dr4yYe08ABizG6zqa7iMauKNS/JWJAHAIGqJNUH DnS4B7Ti4Ntxm0BFTq62Ll2eMf2+axwFmnbLLfr5+b5ETyWtvLt8tZYU3hU4tFvGdRoCcAAAAACY gGJNYLe3d8Sn5vPn1HjuL/rlgCvtTuIzXUlWttbPvkfrFz0Q0qvOQqOMC9ANsZ4XUl6DTAtrC
L8z 0+FV3zVfFE7G3ZxOhen3Tc9OIL5KsrK1/1vVVsckZZJaEzAlAMmrVabFlj/4w/64VSWrznNoe+Xq kNerus52bWj9KC5ziJeSrGz9+N4HtLP7NMfyMfDZExvMQ6MLRgnAAQAAAGB8pZI2y1Qizop3xKeG 3rNqcPWzyzuDbCoo0hP3LoqkVzhBOMayS6bXGcLvzBWmp2GylEG3y2j1EFIFhZ6dQOJsKZqn55Yt Nw+PloMFABnntdsDB+IZPIc5vtGrR4/o5b4zcZlDvGwpmqc7v5ajf+86wWL4GAhTMWmlbpxrE4AD AAAAQHhVMsLKccucN7v6tf/sGXZ6Z7jqPIeeLllsLsNmhSAcZiEXIyXJefggpRIzlN1mU/c//ot5 OBnKoJfKCL9DKqF0uAf09AcHdcp3Nf6zAiDJshysJG2QscgKQGazy1hIN9q2xDviU9n+X8flHHZn 6cNau2Bh0Jh3xKdtTR+k1fFuRU6utpQ+pP/qbGdBYAzVOAq0bdVj5uGvjP6FABwAAAAAQtQqgv7e 3hGf9pw8rj3nznKxH0H8pe7MF3gs7JYRhPfGek5IalUy9WGUCL9hWQZ9n4ye24lSKyOAD+n3XdfZ rmdPtrAIDEiwMKXQPTJa+QwlZFIAksUumaoNxWPntd1m0/ZF5Zbhd7pVOto6t0QVdxezIDAOXltY pvX3B3UHCmoX9DdxnxEAAAAAJK9aGUHkTo0Rfje7+uU8fFBz9v6XXug+xYktQpzyXdWG1o9Uue8t 1XW2j3XXGkk9Mi5G2eMxNyQdfynpIHWd7YTf0KG/9JqHquI/i1E7ZLw/hoTfrx49og2tHxF+A0ng lO+q9pw8bh7OlVFpBEDmqpIp/HYNe+ISftdVPBYSfne4B9Iq/K7IydXhVd/VtFtv1YqDb3ONIA7m 588wD7UGfsIOcAAAAAAwdtPtkEU510B1ne3a13dWey+74zMrpI0Id4R7ZPwcOuMyKSSLB
pkW3DS7 +vWtIwcSMxskleo8h37xzTXm4TKZLvDF2Jj9vp9tPMD7IpCE2r79uAqnB61X8cjYGdebkAkBSLQG md7Lf/CH/TF9D/eH36ZqNupwD2jtoffSZuHc1rklWr/oATnfb6TkeRx99sQG81BQqyB2gAMAAADI ZFUyLgT8VmHCb++IT3Wd7arc95Y2tH7ERX5MSoQ7wnMlvSjjwnQiSxxpFt1cAAAgAElEQVQjfpwy XYh0DXv05NGGhEwGySfMe06p1WCMlErql0X43eEe0Jp39/K+CCSpV5uPmodyxSI7IFPVyvReXt/T HdP38IqcXB1b872Q8LvZ1Z824XdJVrYOr/quKu4u1pp39xJ+x1FFTkhBIsm0QNQWn6kAAAAAQFIp lbEyOGyZc39/71d6O9Pi5BzJwR+El5w+rm1LHtWSwrus7lYkY1FGo26W5Uf6KZWx4CHIDw//idcc BOlwD5gvHhdP4eHsMn72/H9KwWXVw74vBqrrbNeG1o+mMA0AsbbbfV7/7Oo3H2tUy/j9pxc4kDns CtgVKxnnus7jzTF7woqcXO1e/R1Nuy0raDydjh+2FM3TxrIlqus6rR+1H0v0dDLO8hkzrYYbAj8h AAcAAACQSYpl7HypCXcHgm/EwynfVX3ryAFV5zn0fNnSkJ0RN1TK6A/+ktixlY52mAfeaGlKmz6I iJ7uwc/MrxFVEXxZqYz3vNKAvy+Oxnychw/Snx5IEa+fatMvggNwfy9wZ0ImBCARnDJ+90ftOXk8 Zj2q0z38tttsemtZlRbc7tC2pg84JkqQsjvuNA81mgfoAQ4AAAAgE9hlXOzbLNPJvx/BNxJpU0GR nl/6SMiFogB9MnaDN8RrToipzZK2Bw7Q9xvhbJ1boqfKlwYO9Sl4F3ip6SOiXdwT5R3xqebAOyzS AFLMu8tXm3eBe2QcGwNIf6WSgrYnu4Y9Wvz738TkyWocBXI+WhlyTrPnRGta7JL2f
3/nhof1QtMR jokSqO3bj6twetClnZBF4+wABwAAAJDuamWcCFn2+JaM1eg/OR27VfDAeH5+vk+/3O/SvxUvMAdd fkWS6iX9VMbPM6VLU5ddposz3hGfnm9+PzGzQdL7+NKAngoeKpLxM1Ql48K25cKuaGp29evJow0s EANS0P6zZ8wBeK6M4+NdiZgPgLgKqTj04tHDMXmiTQVFcq5YFTKeDpVj7Dab/mP+/Vp/f6nqe7q1 8ZMPOSZKoJKsbHP4LZn6f0sE4AAAAADS17h9vut7uuU83kzwjaQwdP26Xug+pT3nzo7VH/wZGf07 N0vaG9cJIlqcimMZSqStkP7xE9XhHtDn10Z04YpX+dnZevTuOZb3S5ddW0Cm+vn5Pm0c9pjDgs0i AAfSXbVM58LNrn7tveyO+hOlc/hdkZOrrUuX6z7HTL3R0qQXuk8lekoZb2X++P2/JQJwAAAAAOnH v7vymXB3aHb16/VTbTE5+Qemyt8fPFwJQRm7P38rdoOnomKZXptcwx4upGFMg19em/TXdrgHdPHK sLoGB3Xhiys6d/ULNXgvj+5astts2r6o3DL89o746G0JpIn9ZzrNFWYWy3hP6k3EfADEnF0Wu79j UXEoncPvLUXztLFsiSTp+YPvabf7fIJnBEkqnxnS/7tNFufEBOAAAAAA0kmtjBN9y3KwrmGP3mxr SfkTcWSG3e7z2rf/19q+qFxrFyy0uot/N3it6A2eKpzmgViVoUT6iLS/ZLOrX12Dl9Q1NKhzV78Y d5FXSVa2Xn9kle5zhO6icQ179MPDf6K3JZAm9pw7a9ViZfONDwDpZ7NMLcDeaGmKesWhdA2/7Tab 3nzw61o5Zy7HREnowVmF5qEGq/t95a9//WvMJwMAAAAAMVYso4yjZblz74hPe04e1yu9nfTqQkqq znPopWUrrHqd+b0ki3AVScUu6XLgQLOrX986ciBB00Eq+eyJDUGfe0d8aj5/T
sc+vaj24aEJVzSp yMnV7tXfsaowQb9vIE39eukKrZwzN3CoT8YxNID0UiypJ3DANexR5R9/F9X39nQNvytycvWzFd9Q 4fRcjomSUElWthrXPWke/gdZtAdjBzgAAACAVOfUGL1Q6fONdLD3slsNf/yd/mP+/Vp/f6nVXV6U sRu8WpQzTVYhu+xeP9WWiHkgBQUG3kcuDUxpF1K4C9aS6G0JpLHGc38xB+BFkkoltSZmRgBiZJd5 4NXmo4TfEdhSNE/PLVsuSarrbNeG1o8SPCOYRdr/W2IHOAAAAIDUVSrj5H6x1Y2uYY9ePHqYPt9I O9V5Dm2vXG25c1OSR0ZJ9JAV8Ei4XgWUomT3NxLhtYVllotovCM+Od9vpLclkMbsNpu6//FfzMNU kAHSS7Wk3wYORPuYszrPoV98c03IeCqH34Elz6XU/l7SnUU1kzYZ14ZC/E1cZgQAAAAA0eWUdExh wu83Wpq0+Pe/IfxGWtp72a2y/b9WfU+31c25Mi56OeM6KYynWqY+jPvPnknQVJCJ7Dab3l2+2jL8 dg17VHPgHcJvIM0NXb9udexQnYi5AIiZHeaB55vfj9qDV+Tkanvl6pDxVA6MK3Jy1fh3f6+Vc+bK O+LTD/6wP2W/l0ywpGC2eagh3H0pgQ4AAAAglYy567vZ1a/nm9+n3DnS3tD16/pe02Ft+fSiNpYt sdoN/qKM35daSUPxnh9CBAUM3hEfF9YQNxU5udq6dLnuc4SWjOxwD2jtoffobZkg1XmOSX1dg/cy /2eYFIsy6Isl2cWxApAOnDItuNxzojVq58YVObnavfo7IecdqRx+B5Zy73AP6IWmI1NqM4PYqs5z WJ33hq18RgAOAAAAIFU4FabXt3fEpzePNevlPnZUIrO83HdGRy4NhAu31slYEV8lLmwnWlXgJ3Vd pxM0DWSasVom0NsyNvyh9kMzjNfkgpwczcqZJklacLvlhdtxNbv6gz5/+
safLRcv6ONLA3poxkx1 eS7Lc/1Lzc7+qmZ9NUcXvriic1e/kCQq4mBU/eCAVYmYKtE6BUh1xZI2Bw54R3z6964TUXnwdAu/ 7Tabti8q19oFCyUZ77NPHm1gcVmSWzUrZPe3R+wABwAAAJDC7DJOaix3fdf3dGvjJx9ysoqMdeiK R2sPvRd0ESfAYkmtMnYgt8Z9cpCMnfhBu3EOXjiXoKkgkwTuajJL1QvWyaIiJ1dzsr+m+bl5mp+f r2m33qYlhXdN+HFcwx5d8A7rwhWvzl+5MunQOui+l2/+1R/GbyowXoL4P8cp31W5hj0qnJ4bOFwl AnAg1e2Q0Qpp1LamD6Jyjmy32dIq/C7Jytbrj6waXTycigsCS7KyM7Lq3dr595qHxnzvIgAHAAAA kMxKZYTfueYbvCM+Od9vpGcpIKMk+obWj7Tl8qCeW7bcfHORbu4EJwSPv5Cmy+zGRKztLH3YakGM vCM+Pdt4gJ/BCNltNlVNy9NDM2Zqfn6+7syZbllKfjwd7gFdvDKsrsFBdXkuq+fq53EpsTr6/3x5 7Pshs3xywWUVgANIXVUyKj+Nanb1RyWctttsqqt4LG3C7xpHgZyPVo5+P68ePZJyVeT8i/AyLQCv cRRMqPy5RAAOAAAAIHltlrTd6gZ2fQPWXu47o+Evr+n5pY+YLxDkihA8UYICcHMpYyCa7Dab3lpW Zbkbmd6W46vOc2jhdLvK7rhT82c4zCFhRJpd/eoavKSuoUGdu/oFiw2QdFoGLpoXyFhWWQKQUMWS eiO8r9M88HLrx1OegD/8Ni/8StXwe+vcEj1VvlSSsSBwW9MHKfd92G02/dPd9+hH7ccSPZW4qwo9 tvWIABwAAABAirHLKOFWY76BXt/A+H5+vk/HDwxZlSokBE+MoAC85eKFRM0Daa4iJ1dbly633KFM b8tQdptN6/Jman5unsrvnDXpEuZdl9w69ulFtQ8PEXYjJYzRB7whv
jMBYFJ746PyxudtMhaFN4zz NZWBA3Wd7VFZ7Pbmg18POabYc6I1JUPjNx/8ulbOmSvJuKZQc+CdlFwQuH1RuX5y+niipxF3dpvN qrLRuK07CMABAAAAJJNiGScyITtRXMMe/fDwn1LyRBWIt0NXPKo58M5YIXipIt9VgqmxB37y+ZfX EjUPpLHqPIe2V662Kg2Zkr0tY6U6z6GHZsxUxd3Fkypl7hr26JMLLrUMXFT94EDGlR9Fejjluyrv iM/8euFvOwQg/qplLAAvMo0vllQv6acydnkPWXytM/AT74hPz55smfKEdpY+PBoY+9V1tqfczmPz 4sAO94Ce/uBgSr5/byoo0vkrV1Jy7lP1r4VzrIZ3jPd1BOAAAAAAkkWVjPA7pN4oO9eAiRsnBN8r 43fO6kIaoitoQU/7MP/kiK5NBUVyrlhleVuqlimNlpKsbK27Y7bK7rgz5EJ+JAi8ka46P3Obqx6U hrsvgJjaIemZce7zjIyQfLOCd71ulik033Py+JTPmbcUzQvZbZuKi+nM/b473ANae+i9lLymUJGT qyfuXaQVB99O9FQS4omF95uH2hRBRTMCcAAAAADJwCnpRasb9pxoTbmV5kCyGCMEX6ybITiAFLWz 9GGrkpDGDrDGAxlZkrvGUaByxx2qLJoz6R7eh/r7dOTSAFVnkLa6Bi+ZA/DiBE0FyGS7ZNH2K4wi Sb+VtE9G8D0ki93fr/R2TmlCmwqK9Nyy5UFj9T3dKRd+bymaF/R9pGKA72e32bR79XdUc+CdRE8l IarzHFbHc+Pu/pYIwAEAAAAkll3Gif868w3eEZ+c7zdqt/t83CcFpJMxQvBKGRcPNidmZgAmy26z qa7iMcsy3h3uAb3QdCRjwlt/L++qwrtUVXyPZRn4sfh3eTe4+rXv8kBK7gwDJuri51fMQ5VW9wMQ M5tlEX57R3zac/K45ufnh6tcsk7GAtajMlVO29b0wZTewypyc
kMqynS4B7Txkw8n/ZjxZrfZtH1R edDiwFRfUF9X8Zj2nDyeMcd1Zk+XhHTH8yiC/t8SATgAAACAxCmVEX6HnNFk2sV7INYOXfHo2cYD +sU315hvekZGz8+ILiJgUjwKuEC5cLo9I3flInoqcnL1sxXfsNzdnCktQ+w2m74/s1CVs++eVGnz DveAjl08r//+y1mONZCRwrTjsIvWKEA8FMu0e1sydlo7jzePttuoPnNaLy1bYfV+nyvpscAB17Bn Si1PKnJytXv1d4LGUq1kuNXiwFRvBbOz9GFJ0gvdpxI8k8SoyMk1VyuRjGtIEb1XEYADAAAASIRq GScuIWfz9T3d2vjJhylzog2kir2X3Zp9+KBVr+BdMhak9MZ7ThmiVQE76+78Wk4Cp4JUZ+5nGSjV dzhFYlNB0ZRC79//uUv7Pj1HL29kvDNXQ3aAS8axQEN8ZwJkJKdM58FWJbr3Xnar4Y+/03/Mv1/r 7y8d8wFfbT466cnYbTZtXbo86NjCO+JLqfDbH+D7v4d0qCa3qaBIVcX3ZGzpc0naMPdeq+GIyp9L BOAAAAAA4s+pMP2+32hpytjVzUA8/Px8n8o72809g3Nl7AAf+8oaJqtXAQH4/PwZiZsJUpq5n2Wg VN/hNJYaR8Gky5sTegPW+H0AEqZYptLnza7+sP2ph65f14/aj+m//3JWW5cut2x9ctHrnVLQ+9ay qqDH9Y74VHPgnZQJvzcVFOn5pY8Ehd81B95J6Qov1XkOOVes0qtHE1MVryQrO+HvEyVZ2eZzVkna rQks2iYABwAAABAvdhkhW0iPwXRYoQ2kimdPtmhu/u3mC2iLZSxOcSZiTmmuVQEXOpcU3iW7zZYy FxWRHHaWPmx1ETAtLvJaqcjJ1T/dfY8qi+ZYlnofi2vYo1+1nyD0BsbhGvaYf7+qxA5wINaqzQOv n2ob94sOXfHo6Q8OqnHdkyG3/a+mI5OezM7Sh0NKTKfSc
cXWuSV6qnzp6Ofp0EqtJCtb2ytXq76n Wy/3nYn781fk5Cr/llsTfgz143sfsBp2TuQxCMABAAAAxEOpjPC7yHxDh3tAT39wMOEnWECmGLp+ XS80HQkqE3jDizLKofcmYl5prME88P2ZhWm7WxfRZdXP0i/d3j/9fb2fuHeR5fc7FtewR419PfT0 Bibggnd4wgtMAExZVeAnHe4B7b3sjugLnQ8sCRk7duGcfvnZxUlNZFNBUcjiOufhgynzPmpeHJhq Pcut2G02vf6I0a5q4ycfJmQO/3T3Pfr3rhMJeW6/6jzHlHd/SwTgAAAAAGKvVkafppArbHWd7Xr2 ZEtKn6QCqejQFY/ePNZsVU55l0wX5jBlrZL6FLAAaOPicgJwjKsiJ1c/W/ENy4CqvqdbGz/5MC3e P6vzHFpXdI/lDvexeEd8aug9qwZXPxVkgOiwJ3oCQAaoCvzk93/uiuiLqvMcWjlnbsj45knu/q7I yZVzxaqgsVRpp2K1OLDZ1a8njzak/HGRvxz9D/6wP2Hfy/z8GQn/d3y6ZLHVsHOij0MADgAAACCW dkh6xuqGV48eSUhJLwCGl/vOqOKuInPZw0oZi1Z2JWJOaWyHpO3+Twqn52pTQVFKXGTETSVZ2ZqX nRM0dubqlZjswK5xFMj5aKVlz+s9J1r1o/ZjUX/OeLLbbPrXwjl6YuH9E96B2uzq1/6zZ/TLAVfC L9ACqaxr8JL5GKA0UXMBMkSxTIvC24eHIvrCl5atCBn7/ZnTkzoGKcnK1u7V3wkaq+tsT4njUqvF gXWd7WF7qKcSfzn6N1qaIq4KEG2bCorUNXgpIc/tV53nCCnLr0ns/pYIwAEAAADExpj9vp9tPJCw kzoANz3f/L4aC0N6CTpl/P5GdkUOkdgl49919GrdxsXlBHgpoMZRoKrCu/TgrMKwQa13xKey/b+O 2v+luZ9loFTZnRVORU6uNsy9d8K7vf0lzt84O7mL/
QBCea9dS/QUgExTbB5o8F4e94u2FM0LOQa5 /j//ox8e/3jCE/CX2A5cYFff050SAXJFTm5IC6d0Cb/95eibXf16oftUwubxxL2LtO1YU8KeX7Je 7KFJ7P6WCMABAAAARF+pjJ63IUlBuvUrBVLdKd9VvdHSZA7biiRt1iQvNMDSkIxd4C/6Bwqn52r7 ovK0uGiXjjYVFGnj4vKIdidPuy1LdRWPacXBt6f0nHabTdsXlVuGw94Rn2oOvJMyfTnNNhUUac09 86x29Iypvqdb+3v+TIlzAEBaGm/xnN1m08ay0N7f/9eJ1kktvNu+qDyodHiHeyBhvaYnYlNBUcqW bB9PjaNAzhWr5B3x6cmjDQmbR3WeQ9Nvuy2hGxW2zi2xOvb+qSax+1siAAcAAAAQXbWSdlrdkC6r s4F080pvp9bMW2C+2LBZRmDLLvDo2SHjNXK0F/jaBQu1aeBiWly8SxclWdnatuTRCQe19zlm6rWF ZZMuTW7Vz9IvVReP2W02/VvxAqvXlzG5hj3af6ZTe86dTbnvGQCAaNq+qDykHYrHd1Uv/7l9wo/l 32Xs5x3xae2h95K+GpFVZZx0Cb8rcnLlfNQomvds44GE/l88XbJYjX09CXv+kqxsrV/0gHnYoyks yiYABwAAABAtuyTVWN2QLieoQDoaun5db7a1mHdV5Ipd4NE2JCMArw8cdK5YJfEamRSq8xzaXrna su92JNbfX6quocEJ/19alfT0q+/p1sZPPkz6i9OBSrKy9eN7H5hwmXN/b29+FwAAMI4PrN5Lt388 8eOCipzcoGN9f2WZZD++2Fn6cEho73y/MS0qw/h7sU+7LSuhfb+lm323n29+P2FzcD6wxOpY2Kkp LMgmAAcAAAAwVcUy+gUvNt+Q6iVbgUzx8/N92jjsYRd47DXIKOP3TOAgIXjiWZXW9POO+FTXdVot 7k+17/LA6MViq695fukjOn5gKOL3vbHC7zdam
hLaB3KiqvMcerpk8YR2z3tHfGroPaufnD7Obm8g zj7/MqQHeGki5gHA2pbSh0LG+oYuT/h40W6z6WcrvhE05ny/ManP0e02m9588OtaOWfu6Fg6XVsI 7MVe39Od8OO958uWqtnVn7BjsRpHQdD/9Q1tMs5FJ40AHAAAAMBUVMkIv0Nqmza7+vXk0YakX1UO wBBmF3i1jOoOiJ7NMhYOrQscdK5YpelHj+jlvjMJmVQmq85zWIbf3hGf9pw8rld6Oy3fy35+vk/l ne1BO5Om3Zaln634hir/+Ltx3//Che7eEZ+2NX2QMgsiJtPf2zXs0a/aT+g/XT0cJwAJ0j4csr4t 8l4FAGKqxlFg+b76vzdNfIfuW8uqgha5vnr0SFLvoLZqC5NO4bek0e8vGXqwbyoo0n2OmfrBH/Yn 5PntNttoGXiT2qk+NgE4AAAAgMnaLGm71Q17TrROug8qgMQIswvcKQLwWKiVsRs8qHLGc8uWq+yO O1Ou5HUqK8nK1vbK1SHjHe4BvdB0ZNwLrRtaP9Lh/NuDLtIWTs/VW8uq9K0jB8J+3Vjhd6pc4N1U UKSNi8sn1N+72dWv/+psT+oL7wAAxEiveaA6z2FZ+vq5JctCxto+vTDhMtlb55YEBel1ne1Jvdiy IidXW5cuDzquivSYLFXsLH1Y9zlmyjvi0wtNRxJ6zG+32bRxcbmaXf0JK8H+5oNft6qE9FNJrVN9 7L+Z6gMAAAAAyDh2GYFYSPjtHfHJefgg4TeQot5sazEPFcmo9IDoGpLx79pmvmHlnLlq/Lu/V3We I+6TykT+8pOBOtwDWnvovYgvtK499J68I76gsSWFd2nr3BLL++8sfdgy/O5wDyR9+G232bSpoEht 335czhWrIg6/6zrbVbnvLX3ryAHCbwBApuo1D+Tabgm509a5JZbvry81T2yncHWeQ0+VLx39vMM9 oA2tH03oMeLJ3xbGHH5P5Jgs2QX2NE+GM
vT/VrxAhdNz9fqpkFOSuNhSNM+q9HmfjEXYU0YADgAA AGAiimXsWqwx3+Aa9qjmwDspU7IVQKhfDrhCgjxFofwcLPlD8H3mGwqn5+oX31yjnaUPy26jeF+s bJ1bEnSRVbp5oXUiu3GGrl/Xs42hu72fKl+qGkdB0FjghU+r5030hdBw7Dabts4t0bE134s4+PaO +PRGS5Pm/r//tza0fkSPbyDJLJxuNw8l5wsQkF6CTpbn5+YF3ViSla31ix4I+aJ3u09P6BjBbrMF VbhxDXu09tB7E51r3FTnObR79XeCFiVO5pgsmW0qKBo9BkyGMvQlWdl6qnxpwnZ/V+TkamPZEqub amWcJ00ZATgAAACASFXLKEO12HxDs6tflX/8XdJeuAcQmaHr19XQe9Y8XCOj8gOib0jGa+tLVjeu XbBQx9Z8T1vnlhCER5nVBeaplKLce9mtV48eCRl3Plqpipxc2W02HV71Xcvwu76nO2kv8AYG30+V L7UqURnCNeyR8/BBle3/tV7oPpWU3xcA6Wu33GoemnK5WQDjCvo9m5+fH3Tjj+99wPK99v84NbFf z7eWVY0+jnfEpx8e/lPSvh9vKijSL765Juj7TuZjo8kIbH2TLGXoty15VJISsvvbbrNp69LlVj/r L8nYcBEVnD0BAAAAiETYft9vtDTphe5TcZ4OgFjZ2X3aKqSrFr3AY8kp42LPXklBW2un3Zalp8qX av2iB7Tn5HG90tuZNhcDE8nqAvObx5qntJDr5b4zmpeXH/T7M+22LP2vZSv0179KC24PLWtf19me lOVI7Tab/q14gdYvsr4Qb6XDPaBfnT5JJRgAAMJrlbTO/8mSgtmjN1TnOSwXyr3R0jShKirmvt/J UGo7nMBg2C9Zj40mq8ZRMPo9JksZ+hpHgZYU3qX6nu6E7P7evqg8pAqTjNZQzmg+DwE4AAAAgLHY Je2QRclz74hPzvcbE166C0B0HbriU
Yd7wHxRggA89hpktJnYpYALo37mIHzPubOUlJ6kkqzskAvM za7+qOzGefZki+bm3x70+zN/hnU/92RcQDaZ4LvZ1a/XT7Ul5AIqAAAppkHSi/5Ppt2WpZKsbJ3y XdXTJSGF1vTFl1/qld7OiB/c3Pf7jZampD1ff21hmdbfXxo0lm7hd0VOrpyPVkq6WdI90ew22+ic nMeb4/78W4rmWS308Mg434wqAnAAAAAA4dhlnKCHnIl3uAf0QtORpF1JDmBqfv/nLnMAvk7Ga0JU +rEhLH9J9CoZQXiR+Q7+ILwgJyetLhDG0/rZ94SMRav849D163qh6UhIH0sz5+GDSbdTelNBkTYu Lo+ov7dE8A0AwCSE1DJfd8dsrfzyWtCubb/XWz6KuPKP3WbTS8tWjH5e39OddAvt/HaWPhwSgqZj +O0/HpxKm51o276oXNNuy5pwZYFoqHEU6Llly61uqpXUG+3nIwAHAAAAYKVURvgdchW8vqdbGz/5 MClO3gDExr5Pz+m50GF2gcdPg4zd4LUySgGGBOFrFyxUyenj7AKfBHPv72ZXf1RD3EvXr+nc8LDu c4QG4F98+aV+VP9eUoXGEw2+6zrb9RN+9gAAmIwhGaWeRxeZV9xVpFnTpofc8aLXO6HqNG8++PXR 9/IO94A2fvLhlCcbC1bhdzIuDJyKwPBbkmoOvJMUmwf8ZfZdw564L44I3A1v8pKMNlBR9zexeFAA AAAAKa1WYcLvPSda9b2mw4TfQJo75buqDveAeTjqZekwrl0ygvANkkKuCv743gfMQxhHjaMgZGf2 /rNTL33uV5GTq/3fqrbqa6jr//P/6V//9G7ShN/VeQ61fftxOVesiij8rutsV+W+t7Sh9SPCbyAN lN85yzzUm4BpAJkoKOxbUniX5fvw660fR/yAW4rmaeWcuZKUVLuNA9ltNv166Yq0D7/tNpu2Ll0+ erzpPHwwKcLvwAoBLx49HNfnN
i8ICLBPUe77HYgd4AAAAAACORXQk8zPO+LTtqYP0urENNlV593s GZtru0Xzc/Mm9ThdnsvyXP9Sg19eS4oTb6SOYxfPm0O8qgRNBUYQvkvG4qTRrRNrFyxURfdpfrcn oMpUXtQ74ovae9umgiI5V6yyvM39+ef6pwN1SREcV+c59HTJYstSq1bY8Q1kjN5ETwDIEHtlcc4d 6NgFV8THJyVZ2dpYtmT0c+f7jUl3bGi32VRX8VjIAsF0DL8Dv89k+v62LzKq/ew50RrXxZglWdnh wu82GZsvYoYAHAAAAIBk9PbdIanGfIN3xJc0JbvSgd1mU9W0vIbozoYAACAASURBVNFQe9qtt2p+ /gxJ0oLbHWP2jLXiHfGp8zPjBNZ7bURdg4NBt8/PzdOFL65IMkKPhdPtcn3xuTzXv9Ts7K9q1ldz dOGLK5r11Rx9/uU1tQ8PqcF7Oel2DCD+Dl44p/X3lwYO5cpojxDSuxBx45RUHziwpfQhHTpyIDGz SUFVxcH9v+u6TkflcV9bWGb+fRnV7/Fo5YHfJfx1tSQrWz++94GQnVfhEHwDABATrTIq+4S0uPH7 P08ci/jBXn9k1eg55BstTdrtPj/V+UVVpobfdZ3tSfP91TgKRkuf/3vXibg9r91mC/r5DOCRsbh6 KJbPTwAOAAAAwC5jV+Fi8w0d7gGtPfRewi/ap6KSrGzNy87RQzNmqiAnR7NypkW82y6Qa9ijC95h dQ1ekvfatdEd3ZMNqYNWe1+2nvcDWV9jwQO097JbvwgdrhIBeCI1SGpUwC7wJYV3aevckrj38UtF 1Xmhi4wOXjg3pce022x688Gvj5YdNWvo6dYPPvkwoe+jdptN/zH//rABvRnBN5AZFtzuMA/FNIgA EGSvpGesbqjv6Y54h+7WuSWjgWt9T3fSHQ9ahd/puMDeKvze0PpRgmdlsNtso723f3j4T3E9Jn1r WZVVW6C4hN8SATgAAACQ6
UoVpt93XWe7nj3ZQvgdgYqcXD0w3a759nzNz58xqaDbv5O75eIFXfji is5d/SIhfWKNwIPQA4ZmV7/557lKRrUIJE6tjEUIo6/bT5Uv1XsXz6XVhcRYeGhG8AU474hvSq+z 4XY0+b3bfVrfb/lw0o8fDVuK5mlj2ZKIqosQfAOZxeJ1gQVuQPzsUpgA3Hm8OaIHqMjJ1VPlSyUZ i6Y3fpLYYw6zTAm/JQV9n/U93UkTfkvSmw9+XdNuy9IbLU1x/XffWfqw1XURf/gdl/cbAnAAAAAg c9XKCLJCwu83WpqSbvV4srDbbFqXN1Pzc/NUfuesKYfdH18aoOQ4klbLxQvmn/HItpAilnpllELf Hji4e/V3tObdvYSXYyi/c1bQ583nJ7/7uyInN1w/Q0nSq0eP6OW+M5N+/KmqznPopWUrVDg95C0+ RH1Pt5zHm/nZATKI3UYsACRYq6RLkmYEDtZ1tkf0fmy32fSzFd+QZJxbxntn73gqcnL1sxXfCDoO Sdfwe2fpw6Phd4d7IKkWImwpmqeVc+aq2dUf1+s7O0sfDtdyp1ZxXGzFOx0AAACQmZySXjQPekd8 2tb0QdL0qkoGJVnZWpk/U/Pt+Sq7syDsTr+xdLgHdOzieXUNDap+cICQASnj40sDeip4qEhG2wTK pCbWDknVCiiFPu22LL3+yCraVozBvGDp2KcXJ/U4mwqK9PzSR8KG34nsaVmSla1tSx6NaHFWs6tf r59qS0i1EQCJVTUtz2qYHeBAfN0a+Mnn10b07MmWiL7wP+bfPxoub2v6IKlCZatFgukcfvuD3mRr H1eRk6uNZUvkHfHpyaMNcXveMcLvDTJK/8cNATgAAACQWewyyq2tM9+QrielE+Xf4V3uuGPKgXeL +1PtuzyQNCfBwEQ1eC0axd9snYDEqpYRVhT5B+5zzFRdxWNJdfEtWVTkhO6Ebh+e+DqOLUXz9Nyy 5Za3Xf3yS/2w/r2EB
MoT6fNN8A0gDBa3AfHjlDQtcOCXJ9oiOn6rznOMvt/XdbYn1eJ1wu/kOf7e unS5pt2WpR/8YX/c5jVG+P2SjOtQcUUADgAAAGSOYhkrbhebb0jGE7Z4qsjJ1fIZM1VxV9GkSpq7 hj365IJLDa5+Am+klaHr1+Ud8Zl3ulaJADwZDMkIwRsU0MqCENzanOyvhYxNNAAe46KePr82on/5 49sJubg73o50P9ewR682H9Vu9/k4zQxAsnpoRsgCz+RJ0ID0Z5e0OXDgyohPr/R2jv+FNpteWrZC knEOH+mO8XiwCr/T9TpDsoffry0s032OmXr16JG4LXgc4zh5t4wFH3FHAA4AAABkBv+OzZAtcHWd 7Xr2ZEtSnbDFQ42jQOWOO1RZNCeiHqlm9T3dOvbpRe379BwlzZHWOj9zmxeGFCdoKgjVKiMErw8c vM8xU41/9/f64eE/pd1um8manxtc7rfDPRDx19ptNtVVPBa2IkjnZ279b+//Ke7vBdV5Dj1ftnTc SiWuYY/ebGtJqh1iABJr2q23mod6EzANIFNtlum8/CdNH0R0Pu4vfe4d8enpDw4mzTl8pobfyfb/ IBnXOdbfX6q6zna93HcmLs85TvhdG5dJWCAABwAAANJfraSdVje8evRI3E6KEs1us+n7MwtVPvNO VRXfM+5OObPAXd7snkMm6Rq8RACe3Bpk9NQLep0vnG5ciNzW9AHBp6T5+flBn1+8MhzR11Xk5Grr 0uVjht/fbXw3rhc+7Tabti8qD7sb3c874tOek8f1Sm9nUl2YRXxU5OTqgel2Tb/FCDpdX3zO8QtG zc+fYR6i/zcQH6WSXgwccA17IjpWCyx97ny/MWkWYWdy+F1z4J2k+X+QpJKsbDkfrYxrdYBkDb8l AnAgLm7/1c5ijX+RyOo+Q4rwAPSzJzY0TGxWAAAgQ+yQ9Ix50Dvik/P9xrS/EOoPvStn362Vc+ZO +Ov9vbz/+y9n2
UWJjHXx8yvmofGbDCPedsk4f9ylgB1F027LknPFKlX2dGvjJx+m3UXIiZh2621B n3cNDo77NdV5Dm2vXB12wVRdZ7s2tH4UlflFakvRPG0sWzLuIq43WpoIvjNMdZ5DD82Yqfn5+bpy 7ZrOXB6kSg3CmjVtunmI/t9AfOwwD7x49PC4XxRY+nzPidakOY/P9PA72a4RvP7IKkmK279/Moff EgE4MCGmILsq4KZSGb07dOPPkL6asXb7ryw3dfk1WoxZhetWY62fPbGBg2AAAFKPXUYQss58g2vY k/ZlcWscBaoqvGvc3XFWOtwD+v2fu7hoDNzQPhxyOjDxngGIh7262Z896P9o5Zy5OlYwO6N3g5uq GOjCFyELO4JsKiiSc8WqsLfHO/yuyMnVltKHQr4Ps7rOdv3k9HHev9Kc3WbTuryZKnfcofn5MzRr 2nQ19vWoxf2pXug+lejpIcnZbTar9j8NCZgKkGmqJFUGDjS7+iPq0ewvfd7hHtCP2o/FaHoTQ/id XNdTXltYptnTp6vmwDsT+vcvycrWvOycoLEzV6+MeSxpt9n01rKqcMelSRF+SwTgwKjbf7XTLiPI Lr7x4f9cMr0xpaBw8w+5IG7FFK73KbgvUK/p84bA2z57YkPgbUDCBPyO+wUuXAmnV8E/3ywIAZAq imUEISGL8tL1hFQydj6tK7pnUuXNCb2B8Aa/vGY1XCrKpSajVhn/NyHvAf7d4Gtc/Xr9VFtEF1uT RY2jQPP/f/buPziq+u4b/vua+1STq4FsNIuwQTdEEmKWH4mJSAWS1Xpd1hYu9vZqn7TU604yU0af TmxB9B+cKYszOPc8ilB7PR0ZOrPhebyomV6PFzTUllZhA/6gaSIJP0ICMT8MK5hEZbP0bla9p88f Z084e/bsz+zuOWfP+zXDaE5C8lVC9pzv+/v5fAqLcMn/OY58PpGW17Arf/tfUd/3SlXNbItRNe5T x7N2kMAiC
Hi+YkXM9QDiBrrR/lwpOU1WG2qtd6BmoQ33WBfM3rvsHx7gvQslZVOR6kgHvqYTZZ5b eWF797txf5PU+lyaN60HDL/1FX632uzYvKIa248fi7s26X6i4rbbYx6s9E37cfTyYERHIYsgoKP+ kWjjgXQTfgPAP/z973/Xeg1EWaMScjuhUcW2CfkRfjPtVft3tnKnuSpu9zhx8++59E97mr+M/PvZ K/snD30QkR5UQ6X6D9CmVWumOfLysXlxGTaUL1OrZIlJeqA7dGWYG8dEcUw1tigvPQhWi+md6ggM SbdvHEeHL+uyIlw+vqLOtjjiUNPFyQkMfTaFj2/cwCX/5/B/9WXMShVHXj46N30/7NqP/ng0IixO ZLZ2NsPvJqsNT9etifn65pv24+Xu07pphUrpI7U0r124aHaD+sTIEDqvfITXJnw5FzBQ9qgc8hlD /NGNRDQ3TgAn5BcSeT63CAI6/+lfUDK/ENuPH9PF671a+H0iR8ftGCH8lv48YnV6arLasGHJ3SmN hZOPz6svKMQv1n8z2r1pC8QuhLrBAJxyVigEK4W4CSz9Yqs+45AHjKO4WYXrDf3z+lRjC0+nEorb PS6IN5FO6OcwSx/E79leiN+zrBwnomxpBqA6F+Xl0+/ghbHL2V1NBrXa7NhQVh63FaxSIDiDjksD nOlNlCQG4IblhLgRFfVAqG/aj86xEU1/LsrbOUvVrXMRCM5gcOpmuF1w662oLA7/nMoxYnGqWXAj OIP/kaVNT0dePtwr62JuUgaCMzh0/izbXecQR14+Nt2xGDV3LJw9+BEIzsA7Ogyvbzxt3Q+ITj30 HeXPOl1V7BHlKC8UXVqX/n//b9yf67uXOvBE7WocOteri9bnauF3Lh60B4wRfkv3ryc/Go24J3Tk 5eOJskpsrKhMukOemrbebvzrPcujfS7dhd8AA3DKEbKKT+mXXkIwyg5pxvlo6NfsLHNWlOeeUCcH V+hXQ
m38dWIM4vdlLwAvvzeJKAPaADQpL8pP6xpdfUEhWpZWptTi/MTIEI6OfJgT/x+ItND36GPK k/67oNLGkXTLDWAr4hwKl8LwnslPMhq2uYqsqJpvQXnRbVh6W/GcA+9UyAPwONUsWd303GEvx5aa upivcx2D/dh2vodhaA6Q2pA22JfMfv/JQ2/et1C6WQQBQ//6b8rLugwuiHJIKYAR+YVEQuP6gkK8 8Z3HcHFyAuuP/y6Dy0uMWcPvi5MTePK947rsGveb1etx44svwv4MpNFwsToapZEf4gGqw9n4Ysli AE6GU9zuKYV4ir0a+qr4JH3rgxiMjyp+sZLcIEIHXZqhEu4YWCfEE6AMxIlyj3SfYlFcH0VoZEIa v5YF4sNGg/Idvmk/njr1tu5OKSer1WZHY+XypAMSaTbmL30jDAmI5ugP6x5WdlxgAG48Foht0RO+ n/ZN+3E1MI2ea1fx1y+/QP+02NTIG/g85s9VV5EVAFAofA0VhUWYd8stqLjtdiyaNz/pcRWZIgXg riIr9jY8HDVwztY8S0dePvbUrY3Z2aTbN44Xev9i+Nd1M5NXecsr/Bl6U7a02uxwr39IeXkJ0vt8 QkThIsbSNBx5PW6g+od1D2NZsVUXlcdmCb+VHYH0PNd8h70c5UW3zf4ZuIqseNKxKqEueb5pPz64 6kPPxDVc+dv/ChsLJI0iSmAPxg9x30u32QoDcNK94naPtIEs/dLH0zLlGqnl+nXFPznTWWPF7Z5m iJur6Z7jrUedEEMsLw9mEBmSE+JBHRdi36/4IZ4AT8dohGqI1RoRBwK7feP4/mmvLh/UEpFquy5p A9kzNKD5JgFRLmEAnlMsEKvB41aE60AfxINjbRCfz0ohvt5K/7QghUPxvmk/Vv3+jWhB0KxsbXpK 7U2j4ZxvY1Or8gYYepM25FWNIX0QnymIKHOuQ3bPdWJkCN/rOhXzN+ywl+PpNevgPnU86lznbGH4 r
b89FanKu6X3zwkdogSSHwcnnz+vog/i3tdoCsvPGkHrBRApySq8pbm+en8gp9xQiJuVc2FttUOV AWO4OdP5OsRNGFaPZ5DJgm9JQ+gXits9Y7gZhuuyjQwRzaqGeKI7ogI7ikKIryNz3WhyQvw5EXGv ZOSHUVeRFT8sr4w591RNt28cR4cva745QERkANch3me7IT53N0M/o4XGEOqQBPWOKaOI3qbXKfv3 aoR3YXFC9jp9NTCNV6pqsHlF9JfibLyW1hcUYvfqdVGrazjn25ikyqnaBQtVx7acGBlC55WP8NqE T5eb6pTbnKVlykteDZZBZCYRB+SPjnwY8zdYBAFbaurQMdiv+fMtw2/9vU478vLx0KLFeGngrNqh pgjJ7pVYBAHOeUUAgIm/3lALwI9AfH5IR1FHRrECnHShuN0jhd0umCvsotygFo6zcjxFoa4PyQRJ ZuAHcHiqsaVZ64UQUQQ3gJ0p/t6fQ6y+S0UzAI/aO/RwQjwVrTY7tqyqTao1rlQ59dLAWV3O4yLK Jb9ZvV55MOUIxOc3yg0WhB9Ez9ZzeSfE5yhv6J+jGfo6biTxen3oXC9+0n8mQ0sRxav67hjs5+ub gUitzevvtKtWYEmbzwy9SUtNVhv2PPSI8nINdNy+ligHHIbsoKHUhSaW36xej4rbrWj40281fc1Q qwA2Q/it5256FkHA3uW1mPzb3/C9exwxu+V1DPYn3BmvyWqDs+RO3LuoJOzPe+z657BbiuQf+mcA a1L/L8guVoCTJhRV3no5aU6UKnvolxTY7gRmK8f7cDMcl1qq88EiiuJ2jxupB0m5rBDirMZmjddB RDclNEe12zc+++8qm6E/hfja0Jbk125T+7qB4Ay2db4VNrtJ7yyCgGdLl2Hz8pVJtTm/ODmB9oHz 3EQmyqJLn32GB5eEXbJE+VAypusQN2ilzkMWiFXUTtyspq5Gah3a+hA+asoL8RlpNPXlZk6mD5
LF q/q+ODmBPWe6DPV6blb1BYV4ZOFi1N9VqvrneXFyAr//8BKOfHKFBxlIF5yRzyNjYPhNlGlh2Ufn 2EjMD3YVWfHgkqV47HdvaB5+d9Q/kvPht/K+TO//jU8uXoI622Ismjc/6sckeoiyvqAQLUsrVbvV dPvGsb37XbhX1ikD8IE5LD/rGIBT1oRCb6m9WtIzuogMalXo1+zNDoPxSKGq7zbwZwMRGYMF4ua9 6s+sjsF+1VmOUeaM7sPN14JEtEEl/L44OYHnut4xzMxrR14+nqlcGbdVl1LHYD+OjA0zFCAiyjwp qPaqvE8Kw2ORwm7DCARnsKfrvYyG37GqvgPBGRw4040Xxi5n7OvT3NUXFOK7d5VFzPOW+Kb96Bwb SXi+JlG2WARBrf05x60RZVZEt6T//Gg45m/YtWY99vd0afoaoqyIBvQfDKdC2d5dz/+Njrx8uFfW xRwVd2JkCO6z3XGD71abHY2Vy1UP73X7xvHqhb7ZPReVQ9Clya9eOwzAKaMYehNFFSsYl1r/eQH0 TjW2GGrjKFmhEQhtSK2ahIhIC/ugcl8jnZCN9rDx7x+PoXawXxn6FkLceKpG7KAgauiu5/ZcSq4i KzbZy5IKvqX5p4euDLN6iohIH6RwPGcEgjNoeuvNjG02x6v67hjsx7bzPYZ4LTejeKE3EP0AJJFe PL6gRK3jUpsGSyEyk7AA3Dftj3mvsXupA1cD03hu6ELGFxaNWcPv/T1dmv5/j2WHvRxbauqids1T htZq4nXfS+RzGBEDcEq74naPBWLg3QyG3kTJkoJx4GYrdT8Uc/FypVq8uN3TjCgzbImIdMoNlQrs RB+WWnr/jFO3FSs3wO0QQ3BnlN8WNfw2yoOoq8iKJx2rVGdiRuOb9uNAX48h55kTEZFx+Kb9eOrU 2xkLv2NVfbPduX5JszDV2oJKONebjGRDWbnyEtufE2WeU/7GB1d9UT/QkZePDeXLsPnE7z
O9pqjM En67iqzY2/Dw7Ot7psffpMqRl489dWuj7qMk0r1I6r4X7X4mheDbUGOwGIBT2oSqOJvBmd5E6VYI cb64NGNcqhbvxM22ub1GC8WL2z37IM6/JSIyimqEDifJJfuwtPHkMZzZ8D3lw0cDxHDdrfI1vVDp kqHnE8qSVILvXD15TEREmopoQQqIAfTGk8cyEl7Gqvpmu3N9kiq9N1ZURg29fdN+HL08yM40ZCiO vHy1+/F9WqyFyERKIR52n+X1jUf94GcqV+Ll7tOavrYcuPcbOR9+y0fTZWP8TapiHaAEgEPnevGz S+ei3sPGGzuX6Hi5S/7PlZcMVfDKAJzmJNTifCvEh0l77I8mojSLFop7cTMUH9ViYfEw/CYig2pT Xtjf05X0w9L1r77Cts638Kt/3qB8106IP7+lWXxRw2+9nlCWtNrs2LKqNmqbUDUdg/14aeAsN5OJ iCidLBBfV7M6QiRWq8pE5zNSdiTS3hxgi3MytifKKtUuc/43UWY5lReOfD6h+oGuIisAaPoa46m+ P2y+tBnC70yOv0lVvKrvi5MTeK7rnajrjhV8B4Iz6Lg0gP3DAwnfh/q/+jLxxesQA3BKSajaeytk 4RsR6YIyFJdaWvUC8E41tng1WtesUNtzht9EZDTNUGyenxgZSrkC+/Dnk6g6/Q6eXrNO+a42iA/K 1VAZEREIzsD9bqduN1+TDb4535vIOObdcovWSyBKVtZHiMTatPRN+7Hz9Cl2ONGBREPvi5MTaB84 zxbnZHgbKyIC8CMARrO/EiJTqZa/cXFyIuprySZ7Gbad78nKotR4qu8PC0wPnevFT/rPaLaeTHil qgabV4h/JPFCZK0oW7PLxeseFGvGt2/aj/b+c/ilb8R09zMMwClhstneW8FqbyKjsId+bQKwU9E6 3QsxFL+ercWEDs9w5jcRGZFb/kYgOIMtH7w/p0/4wthllBfdpjyZWwjgtwAids71ek
IZSD74ltqH vjg6aLoHMCKjqrjtduUlQ43fIdOphljdGLF3kalN3SarDe61Daqblvt7uviapzFHXj423bEYj95d odqWXiJVR/3nR8O6vOciSlarza72c6lNg6UQmU1YAD702ZTqB7Xa7DgyNqzZPcIrVTVhexJ67zaX CnnAn8nxN3NhEQTsWrM+6pzu7d3vqhYNxAq+u33j+PVg/5wKKD778gu1y9UwyLMgA3CKS9bmvBkq LTiJyHCkKvGfAkBxu6cPoTAcGQzEQz9L2jLxuYmIMqwZig30A2e60/LAtO18D5beVqzciI0Iv/V8 QjmZGd++aT8O9PXk3AM1kUll7RAlUZKyOkLEIgjYu7xWtdVkrA1LyjyLIODxBSXYUFYe916l2zeO o8OXeY9COaexcrny0hjY/pwoG8I6517+/DPVDwp8+aVm3WFabfbZqmgg98JviyDg9TXO2XuAjsF+ bDvfo7vwGwD2Lo8sKIhX9d1qs2P76gfCgu9AcAbe0eG0jZeLsgdlmfMnzhIG4BRVKKxyA2jSdiVE lGGrQr+kQFyaI354qrElnae5DoOHaIjImNzyN3zT/qgPIMm6/tVXeK7rHRx8+NuqJ30BfZ5QZvBN REQ61YwoI0T2dL2X9teh+oJC/GL9N1U3LDPx9SgxTVYbNiy5O2yWqZpUZmESGYmryKrW8aBNg6UQ mU2p8kL/tPrZUa3Gm8nnYQO5GX531D8y+zNQz23dd9jLIw5SBoIz2PCHw6r3J64iK3atWR92/5nK 2Jb6gkI8snAxahcuwrJia9ieVK58PzAApwgMvolMT6oQ31nc7vEjFIZDrA4fTeUTFrd73FCZvUdE ZABOKKq/2/vPpfULrLt9QdTw+/3xUfxb1yndhN/JBt/dvnG8eqGP806JiCgb2qCyj5GpESK7lzrw RO3qiOsnRoaw5YP3dfPabRb1BYVoWVoJZ2lZ1PsqyYmRIRwd+VCz0IEoW35YHj
H7GwD2ZXsdRCZU qrygp2fiJqstp8Pv+oLCsCIDPf/3NVlteHrNuojr7nc7I8Lv+oJC7Ki+L2w/pmOwH0fGhhP+/qov KMR37ypDg32J6gg7qeo8zv8vVoCT8TD4JiIVhRDnh28CwtqlH55qbPEm8gmK2z0WADsztD4iokxr lr8RCM7gl76RtH1y+Swqpa4rY9j43om0fa25cOTl45nKlVHXqsTgmyj3LJo3X+slEMXSBpW9jEyM EHHk5WNP3dqIw2C+aT92nj7F174skuZ6N1atUN3ElfNN+3H08iAOXRlmtTeZgiMvX60LwkFwhAlR NoTN/w4EZ7RaR4T6gkK4197szq7ncDgVriIr9jY8jHm35mXsEGS6KP8sJIfO9YYd0lOO2/FN+9He fw6/9I0kdOBSGgnTWLlcrSsIAPF79ND5s3hxdDDic3b7xpX3vdUwyCgNBuDE4JuIkjHbLj3R6vDQ TPF/KG73uABIv9gKnYiMwiV/wzs6nJaKLmU7LqX/p+8DPD3QN+evM1ex5pqqYfBNlLtUwiWvBssg UrJA/F6M6DbV7RvH909701qJ3WS1wb22IaLC+NC5Xvzs0jlWfWdJq82OhsV3xW1xDrDam8zrmcqV apfdWV4GkVmFVcgOTunj+dhIldGpkLd1vzg5gSffO67bQ2/KPwvJiZGhsFbtO+zl2FJTh3m35iVd 7e3Iy8cTZZXYWFEZtTtOrOA7FzAAN7FQVebW0C+GUUSULLXq8MOIMjt8qrHlcOj9YBhORAbhhOJn lNc3PudPGm1eqOR/vncSL41/OOevMxcWQcCzpcuwefnKuG1EAQbfRESkiajhd8dgP1p6/5y+LyQI eL5iBTavCCvoykiFOalLpsU5Z3uT2Tny8tUOsB4BMJr91RCZUqnWC1CyCEJOh9+vVNXM3qfpfRxN tPD74uQEtnzwPoCbc76ng0EcONOdcLU3kFgHv0SryC2CYOhOYAzATaq43d
MMceYLgyciShepOnxn cbtnDDdbpUe0RGEYTkQG4ZS/EQjOzLl6KFrlGAB8+b//N/7Pt3+veYjcarNjy6rauK1EAQbfRGbh yMvXeglESlHD75dPv4MXxi6n7QvVFxRi9+p1EV1b9vd04bmhC2n7OhTJIgj4cckSPHp3RdSuOXLd vnEcHb6cUxv6RKmIUv3N2d9E2VMqf6Pn2lWNliGSOtDlYvit7Fqn9/uzaOG3b9qPjSePoUT4GvYu rwUAPHXq7aQOWbqKrHjSsSpiTI9covdKcYoinAkvSmMMwE2muN1TDfGGJ3K4ABFR+tghjlVoUrRK PxxqiT4rShjOkQxEpAdO+RvdH1+Z0yeTt+NSmvnqK2w+9ltNK8hcRVZsr1md8AYzg28i8yjPL1C7 7M3yMojk2qASfqd7Q7fVZsf21Q+Ebfx1+8axvftdVhZnPcMzGQAAIABJREFUkKvIik32soRGsLDa myicRRDgLC1TXu4EX7eJTEs+fi3Xwm/pvy0QnMGervd0/d8WLfwOBGfw1Km3cf2rr/D4gpKkuxgl Enx3DPbDMzQQd89JCr43lC+LVRRhiPnfAANw0wi1O3cD+KnGSyEi85G3SvcUt3uO4GZ1+Kj8A6Uw vLjdsxU3q8I3ZXW1REQ3hR0YPPPJtZQ/kaf6/qibuMOffYaWU3/UbNPWkZcP98q6hOZo+qb9ONDX o+uHSiIiynltUHlGSOeGrrKaCBA3Jw+c6U5rdTnd5MjLx+bFZfE2XGddnJxA+8B5vDbh022LUyIt PFu6TK1az63BUohIBzzV98+G34fO9ebMs7w8TPZN+5Ouls62WOF301tvzq49mT+f+oJC7Ki+L2rw nWibcyCpMXi7YKCOIgzATaC43eOE+IBo13YlREQAbobhe0Nzw9ugCMNDVeJtANpCB3iaQ78iqjyI iDLEqbzwzqcTSX8SiyDg9TXOqA8kQ59+im9539Rk41Z6wHmidnXcj2
XwTWRu990e0RmCPwxIK/ug 0i0qneG3WstzVn1nTpPVhg1L7k7oIB4gVjAdGRtmFxoiFRZBwOblEe3PWf1NZFKvVNXMHubrGOzH T/rPaLyi9JB36On2jeP7p726Pgyn1lEIiAy/ExVvxncy90r1BYVoWVqZSNedMYh7896kFqsxBuA5 LBQaqT4cEhHpxCoAexE/DN8HYF9xu6cUgFQdzkM9RJRJ1coLyT6URJsZKvnD0ABa+/6iyYNaonO+ jdBGjIg0Mar1AsiUmqHS1S6d4bdyg5JV35mRbLW3b9qPo5cH8eLooK43uIm09nzFClZ/ExEA8Z5m 8wpxW6NjsD/pttp6tXupY/YQv97nfQPRR+GlEn6rdSiSJFPtLa1rQ1l5zLbpIWMQX0faEl6ojjAA z1Gs+iYiA0okDB+FGIBv5bxwIsqwUvkb3b7xpH5ztPZWEq0eQOO1yJIEgjM4dP4sN5qJCABQu3CR 8tKoBssgc6sG4FFe3N/Tlbbw+5WqmtmNYgA4MTKELR+8z9fBNEpmtjcg3n/9erAfByc/zvDKiIzP kZcf9jMshNXfRCbUZLXNhq65En7Lw99AcAbudzt1f38QbRTexckJPPne8YQ7C0VrTx4IzsA7OpzQ bG/g5gHEBNqcAwYPviUMwHNQcbtnHzjrm4iMTRmG74MYhl+XPkAxL7wZbJFOROkVtnt06bNPE/6N 0U74Sl4+/U7WK8ksgoDnK1aobYpF2N/TxeDb5Bx5+bhduEXXM9RIc6NaL4BMpRQqAU7HYH9aqn4c efl49YGHZju2GGVT1SgsgoAflyxBY9WKhKq9pc3clwbOsuU8URKeqYxofQ6w+pvIdOoLCuFe2wAg d8Jv+b3axckJPNf1jq6fVS2CgAP3fkN1vMvFyQlsPHks4f0Wte59J0aG0Hnlo4QPgSY5bqYTobGk CX1ynWMAnkNCrYEPgwEQEeWWVRCrPfYVt3sOA9g31djSK71T0S
K9GjdbpMffXSEiii4sKb721xsJ /SZ5Oy416WzTmqho86aUOgb7udlsUq4i6+yM579++QV8/+uvDH4ojErXiFENlkHmdRiKe/uLkxNp 2dB1FVmxt+Hh2ddIVn2njzRT0llalkiVEXzTfhzo68FrEz7+/ydKkiMvX63KkNXfRCbjyMuf7USX K+G3/F6tY7Af28736Po+QXmwUi6ZeeWuIiuedKyafQ6TWpwf+eRKQns2yY6bAXAQYujtTeSDjYIB eI4ItTyPeCgkIsohhRDbnTfFqArvBdBc3O6xQAzB3eAoCCJKTdg9Vf/09WgfByD2LCYA+OsXQfzU +ycc/nwyfSuMI9F2592+cbzQ+xddn6Cm9LEIAjYVLUCt9Q5U3HY7Al8E0XnlIxy6MszDD6SqvkD1 EXM0y8sg89oHxSF/37QfG08em/Mnlh9aY9V3+iQxUxKAeOjgPy4PZPUeiSjXsPqbiCyCgFcfeCin wu8d9nI8vWadeJ+mQTFBspQHK+US/TNx5OXjmcqVs63eD53rxX9+NJzwfk2S92FjuFntPZrQFzAY BuA5INT+d6/W6yAiyiJlVbhbMSv8OkIv4KEDQs3grHAiSlxEn/DPvvwi6gdbBAEd9Y+onvAFgBvB GfyPt97MWsCcaLtz37QfO0+f4oZzjnPk5ePB2xagdsFCLL2tGPNvvRWdYyM4fvUKftJ/RuvlkQGs nG9Ru+zN8jLInFxQjHcLBGfw1Km351T5o2xLmUw1DqlLcqYkAsEZdFwawP7hAR6+IpojV5GV1d9E hNfXOHGPdUFOhN/yAgMjtDwHbob1ahIdg7d7qQMbypfhg6s+bD9+LOGDmcl23UGOtTmPhQG4wRW3 e9rAUIeIzEteFd4JMQj3yj8g9La3uN3jhhiEbwW7ZRBRbBFpT7SHrfqCQvxi/TejtpRKdr7TXDVZ bXi6bk3MFleB4Az2dL2n+9PTlBp5hXeDfQlK5hei2zeOk+
NjbHFPKamw3Ka81KfFOsh0LFDZlNvT 9d6cNkDrCwqxe/U63GNdgEBwBgfOdCe0IUnqXEVWbLKXRe2Ao8Q250Tp96RDdRLm1myvg4iisxUU ZPTze6rvR13JnTkRfstbiBuh5Xmsed+JdhhyFVnx0KLFuHT9MzT86bcJ/fc68vKx6Y7FaKxakWiL cz/Ee+t9yNFqbzUMwA0q1N7XC877JiKSNAA4UdzuGYMYhLfJ3xmqEHcDcBe3e5ohPhDyZygRqVEt d1SK1d4KyG747cjLh3tlnepDlyQQnMGh82fx4uigrh8gKXnSA3PNQttsJ4ITI0MMGSgtahbalJe8 GiyDzKcNikOrHYP9czq81WS1wb22AfNuzUO3bxzbu9/loaAUtdrsaKxcHrX7jRLbnBNlRpPVptbm 9iCAXg2WQ0Q3eSHuUwIAFhXMy9gX2mEvx8ZlVTkRfkv3agAM0fI8VkFEMpXrhz+fTPgeqdVmR8Pi u2Lu/SiYptpbDQNwA2L4TUQUkx2Ap7jdsw/iqbZ98jnhABAKx6X26G7IbkqJiKBogX5xciLiA1pt drjXPxT1E2Tz4XOHvRxbaupitrrqGOxn9W8OqS8oxLrbF6D+TvvspmcgOAPv6DB+de4Mjnw+wdCb 0sIiCGoBFzfVKdNcADbJL/im/dh2viflTyjN+w4EZxJuQ0nhLIKAZ0uXsc25yVgEceuY9xX69HTd GrXL7iwvg4ji+Pott2bk8zZZbXh6zbqcCL+le7VcaHl+YmQIWz54P22vnSm0OM/52d6JYgBuMMXt nmqI37gMv4mIYisEsBPAVrU54cBse3RncbunFOJDIkdKEFGEv34RDHv7laqamPO1s/XwKW/jGk23 bxyvXuhjxZXBSW3NnSV34t5FJbMnzAPBGXQM9sPrG094PhhRMh5fUKJ22ZvlZZC5qLY+T3Xut7wt 5cXJCTz53nGGsUmSNl2TaXPe3n8Ov/SNMDQ1OFeRFf
fdvgAvjg5qvRRSscNerlZ1uAsmDzuIdCLs wGiiHVOSUV9QCPfaBsOH3xZBwOtrnKgruROHzvXiZ5fO6fr+IVbLcwDY39OF54YuzPnrOPLysXlx GTaUL0u0xTkgdgA5HPpFYABuKKHw2wvOriUiSoZ8TvhBqAfhowCaQ3PC3WAQTkQqLIKAvctrY24A Z6tNl3Q6OhppxqbeW4ZRdGpV3gBDb8qu2gULlZf6wI11yqw2KPY89vd0pVQFJD8olq7NSDNpstrw g2VVau2VVXX7xvHrwX6+NuUAiyDg+YoVuPbXG/x7o1MWQcCWmjrlZT/ELnhEpL1R5YX6gsK0VTVb BAG/WP9NeEeHDR1+Sy3E5996K7YfP6b7ewhXkRW71qxXDaQDwRls63xrTsUHFkHA4wtKkhozA/H5 bB/E0Pt6nI81HQbgBsHwm4goLRiEE1FKLIKAjvpHYj6EZCP8jvXAJdnf08U53wbVZLWh1noHGuxL Iv6MT4wM4ejIh7rfFKDc4iwtU17yarAMMg8nFK3PL05OpBTAuYqs2NvwMK5MT+Ox372h+zaaetJq s2PLqtqEq406BvvhGRrg/+Mc4SqyYnvNakO0nzWz5ytWqLXBdYPhB5FeRIwMWjnfkrafqx31j+DS p5OGDr+lFuLdvnFsPvGu7jv0xOoE2O0bx/dPe1Peg2my2rBhyd3JzPUegxh47wMPJ8fEANwAQjO/ 28Dwm4goXRiEE1EsTuWFzn/6l6gbwYHgDJreejOjm4RSJU6s1usnRobgPtut+wdHukk64d2w+C7U 2RZHbGSeGBlC55WP8NqEjwcaKOuarDa1zXW206NMalNe2HOmK+lP0mqzw73+IUO00dSLVOZ7Hzp/ lgfucojU0nXeLbdi48lj/HPVsfqCQrVngjGw+ptIb/ogG2Nbu2AhkIYD857q+wEAWz54f86fSwvy FuJG6NATb/Rcqv8NriIrNtnLkpnrDbDFedIYgO
tcKPz2gjO/iYgyQc9B+BjEU3zXIZ4c5UluIo3E av2ZjfA7XtW3b9qPnadPcc63QTjy8rHpjsV49O4K1Yfoi5MT+P2Hlzg7lTTnjPzZ5wcrwClztgKw yy8cOteb9Gubp/p+OEvL8KM/HuXrYgIcefl4pnJlUvO9OWIl97Ta7Ni++gEcOn9W90EEATuq71O7 3JzlZRBRfF7IMp17F5Wo1IUnZ4e9HEtvKzbsQSWp5fl0MGiIDj2xRs+lsg9TX1CI795VptrxLYZO iIdE2eI8BQzA9e8wGH4TEWWaPAjfOtXYEnZDIQvC2yAG4Q1p/vpHIP68HwUwqgziiUifLk5OZPTB M17Vt1R9xY1K/ZMedGsW2lRDb9+0H0cvD+LQlWFW8JNuqLQ/Z6UBZYoF4j32rEBwBj+7dC7xTyAI eH2NE4Evgqg5+htDbgpnk1R1lGjw3e0bx6sX+nioIMc48vKxp24tlhVb5zy3lLKj1WZXO5x7BDyg RqRHXgA/ld4omV84pzngTVYbHr27wrDht9Ty3AgdeuJVfZ8YGcKWD95P6L8h3gH4KKSuHtJeMaWI AbiOhYKWdIcsREQUXRMAV3G7Zx+AfSpBuBeAs7jd0wzxRiQdoykOTjW2NKfh8xBRFs11xlM88aq+ 2e5c/+Kd7g4EZ+AdHebcVNIltj+nLNsKxX31gTPdCb/GSiHe0eHLrEyOw1VkxZOOVTG728h1DPbj pYGzvN/IMVLL+ydqV6PbN85DIwZhEQRsX/2A2ru2ZnstRJQQr/LCutsXpPTsV19QiB8sqzJk+C0d Ulw0b74hOvTEqvoOBGewp+u9uPeb0qizxsrlyYbehyFWe8+xVwBJ/uHvf/+71msgFaFwxaP1OoiI TMwPsRq8Te2doREVbshOc6aA4TeRPnkR4xBix2A/Wnr/nJEvHK/qm+3O9S2RlmYnRoZwdORDHJz8 OMurI0rcb1avx4NLlsovjQEo1WY1lONKIW
7yzf7Q9E37ser3byT0m+sLCvFU1UoeCouj1WbHllW1 CbXb5Hzv3NZkteHpujUomV9oiNmrdNMrVTVqzwi7oOigQUS6chjAJumNZO5xJBZBwN7ltdh2vsdw r8uuIiv2NjyM7o+vJFwxrSWLIGDoX/9N9X3dvnFs73436v2mFHo3LL5L+RwVix83Z3rzsHEGMADX oeJ2TzXEjdd0VBYSEdHc9EEMwr1q7wz9zG5D8uMqOqcaW5xzWhkRZUo3gFq1dxw614uf9J/JyBeN VfXNduf6lUjozbneZCRRNn5+DlaYUWa0QezCNGv78WMJHRJqstpQ8o9fxwtjlzO0NGOTNmITDb45 3zu3SZ0S6kruhG/aj6dOvc0ONAZSX1CIN77zmPLyGIBqcCYskZ41Q1HkmOzs691LHYY8lPZKVQ02 VlTC/W6noQ5/qxwEjrkP1GS1YcOSu5MJvYGbozDbUlwmJYgBuM6EKgq94NxvIiK9OQjAHW0+d6ht eqLV4H0AnMoW60SkC9UA/gKVUUHuU8cztikcq80W253rTyKhdyA4g45LA/jPj4a5wUyGIs3nU6gB W/FR+lkAfC6/0O0bx7feeSux3ywIhtsMzgapvfXm5SvVRhlE4Hzv3CZvdw6InYyMWEVodn9Y97Da 6IL/DlYMEuldxL1OMh3ldtjLDXeIWpqffe3GtCGqvpVabXa41z8Udi0QnAkL8pusNjhL7oSztCyh e62QToiB92Hw4FLWMADXmSQDFCIiyi4/xBB8n9o7i9s9Tog3MrFKLBh+E+lXM4B9UPwdTnTOUyqk h0O1uVBsd64viYTeAFuck/H1PfqY8nu8D+LhIKJ0cwPYKb9ghNmQepVs8N0x2A/P0AAPaeUwebtz 5eY9GUeUg2mdAJzZXw0RpSCsDXogOIOao78xXDCciB32cmypqTP8682I6weq91InRoZQZ1ucTOjd h5uh92i61keJYwCuI6Hg5ITW6yAior
j6ADRPNbZEVELF6eTB8JtIv5qhaE0GiA+nTW+9mZHN4Sib WQCA/T1dhmxzlmscefnYvLgMG8qXxQy9fdN+tPefw5FPrrBSnwzNVWTFr/55g/JyC9iej9LPAnEj cPaHazLV33STIy8fz1SuTKgKSRqpcujKMF+vcpi83TkgbtgbsQqPxIMtZzZ8T/l32w/xYNqoJosi omQ5och8Xj79Tk6NcJFedwJfBHPi9eaHt9+BPQ8+AuG//bdUfvsYxMB7H/hzWnMRrR1JU6oVhURE pDurAJwpbvfsmmpsccvfEQq3q4vbPW0In2fI8JtIv1Q78GRqPqJyU1Ku2zeO7d3vclNaQ468fGy6 YzEevbtCtTJfEgjOwDs6jCNjw6xWpJzxw/JK5SU/2F6VMqMZio4rvx7s12YlBiUF3xuXVcX9WOmg ltHaqFJyLIKA5ytWYPMKsWlHIDiDA2e6cypkMZsD935D7WALQxUiY/FCDEXt0oXGqhU587O5yWrD j1bU4Ffnzhi66htI7t5KQQq928CxUbrCCnCdKG73bAWwV+t1EBFR0mJVg7dBDMEZfhPpkwXiBlKT 8h0XJyew8eSxtG8SN1ltcK9tiNjIymSbdYrPIgh4fEEJGhbfhQeXLI35sRcnJ9A+cB6vTfgYIlBO ceTlo3PT95WXD0IMKonSbRSyjWDftB+rfv+GdqsxkGQ2Z6XXLN5f5D6p7ax0j8lDlcYXpSsLx5IQ GVMzFB3njF4FbhEEHLj3G7h64wZ+dumcoZ+NUwy+pYPC+8DQW7cYgOtAqF3uKGLPjCUiIn3bpjYb vLjd4wawj+E3ke5EHVfQ7RvH90970/oAZxEE7F1eq/pA1THYj23newz9wGhUTVYbnCV3xm0bK1V7 c1Yq5bJXqmpmqwZlloBVZpR+LgD/Jb/gPnWcIW0cyWzOdvvG8eqFPnYoMQFXkRW71qyfHdXCqu/c YBEEdP7Tv6iN4HkQ4jMMERnPKG
SH/4w8C7zJasMPllUZ/l4jiXurDwHcjZuht/SLdI4t0PVhKxh+ ExEZ3d7ido8LgEseditbpBORLlRD3DiKuP/qGOxHS++f0/rF6gsK8Yv134zYwPJN+7Hz9ClDPzAa UX1BIb57Vxka7EtizvUGWO1N5mERBGysiGh/3gmG35QZzfI3AsEZvDbh02gp+pdM8N0x2I+XBs6y 6tcE1EbqsOo7dzxfsULtPvXnYPhNZGRuyKrA592ah+crVuAn/We0W1GSpIP9H9+4gW+985bWy0lZ EvdWRyBmd6MQ95FY6W0wrADXGKu/iYhyjh9iu3PeFBHpU9Tw+9C53rQ/fO6wl+PpNesiru/v6cKL o4MMVbPEIgj4ccmSuHO9AVZ7kzntXurAE7WrlZdZZUaZUApgRH4hE6+/uSDRzdlAcAYdlwawf3iA wacJqHUVCgRn4H630/CzV0kUpfW5H+LPT3aWIzK2UciqwAHgsd+9YYjnziarDRuW3A332W7D3m8k EXx3Qjyw4M30miizWAGuPVZ/ExHllkIAZ4rbPS1TjS1tWi+GiMI4IbapCrv3ysT8bYsg4PU1zrCq HECsKH6u6x1DPODmAukhPd5cb4DV3mRum5evVF4aAzd8KDNcygv7hwe0WIduJbo565v24+jlQR6o MwmLIODZ0mXYvHxl2NgWjtLJPdtrIg6kAWLnDIbfRMa3FYoxMLtXr8P647/TaDnxWQQBz1esQM/k J/he1ymtl5MSBt/mxQBce81aL4CIiDLCU9zucU41tjRrvRAiAiDec3mUFwPBGTS99WZaA2lXkRV7 Gx4O25zkPMbsceTl44myyoRanLPamwhotdnDfl6FuDVYCplDs/yNi5MThq0iSrdkgu8DfT2cmW4i rTY7tqyqDbuv4Sid3LR7qUOtW9ERcNYsUa4YBfAVZLncPdYF2L3UgeeGLmi2qGiarDaU/OPX8bNL 5wx50MpVZMUPyysTORDP4D
tHsQW6hkKzYv8r7gcSEZGRHQHQLJ8LTkRZp9r2/OLkBJ5873haN97V 2ghzHmPmWQQBjy8oQWPl8rgtzgFWexPJ9T36mPKwyBjENqtE6VYKRftz96njpg9yEw2+u33j+PVg P9tcm4iryIrtNasj7m3293TpMiihuakvKMQb33lMeZmtz4lyR9RxbACw/fgxXb3Gt9rsOPGZMQ8q uoqseNKxKqIjnwoG3zmOFeDaatZ6AURElHGbAHhD1eB8aCXKvqjh98aTx9IWfqq1PM9Ea3UKV19Q iJallXCWlqlVsEboGOzHkbFhVksRhbTa7GqdEvZpsRYyhYj2569N+LRYhy4kE3y/eqGPr10mUl9Q iB3V90Vs3PNQZW7bvXqd2uVmMPwmygUxw28A2LW2ASNp7k43F0bcx0gi+D4C8ZnHm/FFkaZYAa6R 4naPBcDnWq+DiIiypg8AQ3Ci7MpK+K3W8vzEyBC2fPA+q4szINlqb9+0H+395/BL3wj/PIgUVKq/ WWlGmdQLYJX0xomRIcPOkpyLRIPvjsF+vDRwlmGniUT73vBN+/Fy92ldVQZSeql1kYIY0EQcHCIi w4kbfkuuBqax/o9H+NyaJLVRIVEchFjxPZrpNZE+sAJcO7yBISIyl1VgJThRNlkgzsrLaPit3KwK BGfgfreTG5QZkGy194mRIRwd+ZB/FkRRxKj+5n0KZUIpZOE3AHRe+UiblWjEIgh4tnSZWsg1KxCc gXd0mMG3yVgEAXuX16oeitjf04UXRwcZhuQwV5FV7eeCH+wcSpQLVMPvQHBG9Zl20bz5+F3Dt/Cd zj/w534cFkHAj0uWoLFqBYNviooBuHacWi+AiIiybhWANvAQFFGmWSA+ZNrlF33T/rSF32otz1n1 nX7JVnsHgjPouDSA/cMDDA6I4tiyqlZ5yQ+2P6fMMW37cyn43rx8ZdQDXIHgDA6dP8ug02RifW+w 3bk5WAQBu9asV3tXM3
ggjcjoVMNv37QfT516GyvnW+Be/1DEb1pWbMUfnN/Gt7xv8p5ARSL3VTIM vk2OAbh2nFovgIiINLGpuN2zb6qxZavWCyHKYfugqDILBGfw1Km30/IAqWx5zqrv9Eu22vvi5ATa B84bck4ZkRZY/U0acMrfuDg5kfObuols0HJMhznF+t7wTfux8/QpU858ry8oxJL8r5vqnvr5CtXK xSMQO1kRkXHFHcd28oYfOHVcNQRfevvt6Nv4f+Df/vQ73cwE11qiI2Rw81BvGxh8mx5ngGuA87+J iAjAf59qbOFDLVH6bQWwV3nxsd+9kZYHxx32cjy9Zt3s26z6Tq9Wmz3ham9AnI96ZGzYlJvERKmy CAI6/+lfOPubsu06ZJvA+3u68NzQBQ2Xk1nxZlH6pv040NfDg1sm1GqzY/vqByKCb6kLQC7/vYjF Igg4cO838L2uU1ovJWuarDbseegR5WW+HhMZX9zwW67VZlcNwQFg5quv8D/fP2nq+4UUgm8e6qVZ rADXRrXWCyAiIs21Fbd7SjkPnCitqqESfrtPHZ9z+C1tyj24ZCkAVn2nkyMvH0+UVWJjRWVC1d6+ aT+OXh7EoSvDbAtKlIJnS5ephXJucKOIMscJxSbwsWtXtFlJhsULvrt94zg6fNnUG9lmFet749C5 Xvzs0jlTH6jcu7wW/3F5QOtlZI1FEOBe26D2rmbw9ZjIyJIKvwHg3z8ew9nfvYGDD3874nk4TxDg Xv8Qvjk2jJbud031OpFE8D0G8VmmLdNrIuNhAK4Np9YLICIizRVCPJXYrPE6iHKFBSqtAg+d653z JnN9QSF2r143W5XMqu/0cBVZ8cPyytlDBfEwNCCaO4sgYPPylcrLY+Dsb8osp/yNQHAm59p5uoqs eNKxCnUld6q+v9s3jlcv9LFjiQnFCr4551v0SlUNCm65xVR/PzrqH1E7+PlzsPU5kZElHX5LTt7w o+mtN/GL9d9Ufb
1Yby/DWdud+L9On8r55+Ek9gk6IYbebZleExkXA3BtWLReABER6UJTcbvHPdXY Mqr1QohyQBsAu/xCt28cP+k/M6dPKm9TyarvubMIAn5csgSNVarzDlV1DPbDMzSQc2EJkRaeLV2m tuHu1mApZC5hXfAGp3In5KovKMSO6vuiBt8c1WFe8YJvHogQtdrs2FhRiZqjv9F6KVnjqb5fbdyP VMFIRMaUcvgtOXnDj4Y//Ravr3Gq3lf849e+Bvf6h7Dpqg//97kzOfUa4sjLx6Y7Fie6T9AJ8eel N9PrIuNjAK4NtkAnIiKJG6wCJ5qrrQA2yS8EgjP4/mnvnD7pK1U12LxCvG1j1ffcSO3LnKVlSbU5 f3F0kP/PidLEkZePJ2pXKy+PgVUTlHlO+Rs9165qtIz0ideWs2OwHy8NnDV9Za8ZxQq+Ofs9nDT3 9kd/PGqa+71Wm13t54YfgAtsfU5kVHMOvyXXv/oKvx7sj3qwDgBqFpXgV4tKsH1yAu0D5w37mmIR BDy+oAQNi+9KtCscg29KGgNwIiIibbmK2z0WzgLeDj1HAAAgAElEQVQnSlkpVKoltnW+lfJGmkUQ Zk9ds+p7buK1hFVim3OizHmmMqL1OcBDeJR5pVBsCP/l0wltVpIGFkHAs6XL1A6TAGDwbWaxgu9A cAZ7ut7j/Y2MFH7v7+nKqSrGWOoLCuFe/5Dau7YC6M3ycogoPdIWflsEAc9XrJg9hB/PPdYFcFsf wvbgDLyjw/D6xnW/b1FfUIh1ty/Ao3dXqHXCiOYIxHFN3owtjHIWA3AiIiJtFUKsiuGsL6LUtEHx sDmXjbT6gsLZuVvdvnF8/7TXNBUp6SKd5I62CayGLWJzg6vICm/gc/6d0SFXkVWt4qwT3EiizCtV XvAGPtdgGXO3w16OLTV1EZ1MAsEZHDp/ll1LTCpe8M3vjUhS+H1iZAjPDV3QejlZ4cjLx8GHv632 roNgJxYio0
pb+F1fUIjdq9fFCoU7Q18v4sVm3q152LisChuXVWEPxEPlPdeu4i+fTmj+bOYqsqJq vgU1dyxEnW1xQt3gQvwQ90ndAEYztDwyAQbgRERE2qsGA3CiVGwF0CC/cHFyIuWNtCarDe614qd7 +fQ7eGHs8pwXaCaOvHxsXlyGzctXJvRgK20KH7oyzEo5g5MqIo9du8INfp160rFK7bI7y8sgc3LK 3wgEZwz3cyJawMlw09wYfKdGCr8vTk5gywfva72crLAIAl594CG1++M+sBMLkVGlLfzeYS/H02vW RXv3GMQRCb0ALBD3QLYqv65cXcmdqCu5E0+E3vZN+3E1MI2ea1fx1y+/QP/0dVz+2420PYNbBAHO eUUoFL6GisIiVNx2GxYWzE+mwluuD2K192FwLASlAQNwIiIi7SXW34iI5CxQCW+e63onpU+2e6kD T9SuRrdvHNu732Ugm4T6gkK0LK2MOgdVifMvc0uT1YYNS+7Glg/e5ya/TrXa7GpjCA6C1d+kgcEp 43T6iDbGwzftx9HLgww3TYrBd+qk8Ns37U86IDKyjvpH1IKgMSgOCBGRYZRCJfwOBGeS+tkmH70W xUGIYbcUBF+HuAeyL3S9GYA93tcpmV+IkvmFUb9Ot2887O2ea1dVP85WUIBFBfNm315WbE2mojuW PoidMA6D1d6UZgzAiYiItGfRegFEBrQPKq3PT97wJ/VJLIKAvctrsXFZFfb3dJmmDWM6NFlt+MGy qqTme796oY9tznOERRBw4N5v4OqNG/he1ymtl0NRWAQBW1bVKi/7wepvyh6n/I2rNwIaLSNxjrx8 PFO5MuJgFw9wmZfU6SRalxsG3/F5qu/HxmVVCARn8NSpt03z/8lTfb9a+O2HWNHJ6kYi47FADGoj wu+mt95M+Geb1H0uSoDshxhuR+sUKQXhboj3Wc0Qf6YkNn9MQfk8n+jz/RwdgXiIgKE3ZRQDcCIi Iu3xwZ
coOU4ATfILqbQ+twgCOuofAQA89rs3kg7PzSpW5ZNSIDgD7+gwXho4y6r6HLLDXo7GqhUM ggzg2dJlan9X94EbTaSRj2/c0HoJUUkh5xO1q8OuM/g2Lwbfcyc/bCoFRGa555ZCfxVSO2MiMhYL xNA2bLZQMj/bLIKA5ytWYPOKqI0gOyEG2qMJrsmLm12dqiHulThD/x63OjxL/BB/5nkRvl6ijGMA rg0GHUREJMeHX6LkuJUX9pzpSuoT1BcU4uDD30bHpQH8pP9MutaVs+JtACuxPWxuqi8oxI7q+/D1 W27FU6feNs0GtlE58vIjgjyILVf3abAcMq9SrReQiFabHdtXPxD2GndxcgLtA+cZfJuQIy8fT5RV YmNFJYPvOZAOm95jXWC68PuVqppo4XcLGP4QGdGcw+/6gkLsXr0u1mzsXZhbl6be0C/pXr809Msp +/dqpFgpnqA+iOF9r+zXaAa/HlFMDMC10Qtgk9aLICIiIjKgZgAN8gsdg/1JtdWWKpi3db7Fdtxx SG1gnaVlCQXfDAtyk7wq8tC5Xvzs0jlu+BvAnrq1apflcwSJsiGs+ugvn05otQ5VriIrttesDtuM 5sgO84rW/l7C4Dtx9QWF+MX6b6JkfqHpwu9Wmz1adecuiHNuich49mEO4fcOezmeXrMu2rvHkJnO EKOhX16V91VDDPUtoX+XKN+Wu47wNcrf7gWfMUiHGIBrgz8MiIhIzqv1AogMxC1/IxCcwUsDZxP+ zTvs5ai5YyEa/vRbblzGUF9QiJallVE3gJVOjAzhPy4PMCzIQa4iK3atWY/5t96K7ceP4eDkx1ov iRLQZLWpze/rRPRZgkSm4sjLh3tlHR5csnT2GoNv83IVWfHD8sqw7wc5Bt/Jkc+2NWP47V7/kNq7 DmJulZ1EpJ02KEawAcC2zrfi/myzCAJeX+OMNVf7ILQ5oCoPsvl8QDmLAbg22OqWiIjk+LpAlJhm KC
rJDp1PfLb0K1U1uHT9M3yv61QGlpYbXEVWPOlYFesBfRbne+c2eTh0cXICm0/8nn/OBmERBDxd t0btXVuzvRYivVGb883g27xabXZsKCuPet/D+e/J273UMfv36+LkBJ7reofhtxhwNWd3NUSUJm6o hN/uU8fj3jfIDwOp8EP8ucDwmSiDGIBrYKqxxVvc7tF6GUREpA9jU40t7AxClBi3/I1AcAYvjg4m 9Bt3L3Vg//AAA7womqw2/GBZVcLBN6ugctvupY7Zee/7e7rw3NAFrZdESXi2dBlK5keM9vs5eOCO TE4555vBtzlZBAGPLyjBllW1aj8rAXCkSyosgoAD935jtor+4uQENp48Zpp7RYbfRDmpGcBO5UX3 qeMxXx8sgoDnK1ZEG4UAiF2ZmsHZ2EQZxwBcO31QzI0gIiJT4mlPosQ0Q6X6O9FNNQZ46qR56NE2 gOVYBZX7pHbnJfML4Zv2Y1vnWwyGDMaRlx9W2RriB9uukokpu5t0DPaze4kJOfLysXlx2ewBLzU8 FJGa+oJC7F69DvdYFwAQR+Ns+eB904Tf8qp3BYbfRMblBBBRwXjoXG/M52Hlz0MVu8D7cqKsYQCu HS8YgBMRkThLiIjic8vfSKb6myIlE3xzMzj3OfLysadu7Ww4dOhcL3526ZxpNq5zyZ66tWqXm5H9 uYJEmrMIAvYur8XGZVUAGHybVX1BIVqWVs5+H6jh90bqlJ0VDp3rxU/6z2i8quzxVN8f7XuL4TeR cVVDpVilY7A/5s+3HfZyPL1mXbR3jwFwgR2ZiLKKAbh2DgP4qdaLICIiTY1NNbbw5pcovmbMofqb RNLc0w3lqu2RI3QM9sMzNGCauY1mpJyFGwjOwP1uJw5OfqzxyigVrTa72hiDTrDbDJnQDns5ttTU Yd6teQw3TSreeBdppMuhK8P83kiB8oBJIDiDPV3vmapTEMNvopxkgXjvHPbA3O0bR0vvn9V/gyD
g 9TXOWOPEDgLYCh5IJco6BuAaCc0B90Pxw5SIiExln9YLIDKIZvkbrP5OjhRyxmr5KQkEZ9BxaYDz 0k1AWbFltnalucYiCNi++gG1dzVneSlEmnIVWbG9ZjXusS5g8G1CFkHAj0uWoLFqRdTDftJIl9cm fHzNS5Gyxa9v2o+nTr1tmkOTccIuht9ExuaF4vD9xckJfP+0V/WDm6w2uNc2RHvO9kP8ecDDqEQa YQCurcMAmrReBBERacIPtj8nSkQ1gAb5BVZ/JyaZ4Ns37cfRy4N4cXSQ/29znHIWLqu+c8OBe7+h 9vd8F4DR7K+GKPscefl4pnIlNi6rQsdgP5587ziDbxOR/vydpWVR73lOjAzhPy4PcKTLHJn9AJ1F ENBR/0i0+b4Mv4mMbR8UI2sDwRk8+d7xiJ9xFkHA8xUrsHlFdbTP1Qnx58Fo+pdJRIliAK6tfWAA TkRkVvumGlvY/ogovq3KC4euDGuxDsNINvg+0NdjqnaVZiUPhyRm27TOVa4iKx5cslR5uQ+AO/ur Icq+3Usd2Lx8Jbyjw2g48jqDbxNJpM05O9ukh0UQcODeb4S93rx8+h28MHZZw1VlV31BIQ4+/O1o 99e7wNddIiNrhsq42m2db0W8fii7YKjgzwMinWAArqGpxpbe4nZPHxQni4iIKOeNge3PiRJhAeCS X+gY7OcGZhTJBN/dvnG8eqGPVVAmoPZ9warv3GERBOxas17tXRGHh4g0MgZZK9Gq+Za0vfZI7c6H PpvChj8c5v2BSSTS5vzi5ATaB87zgF+a1BcU4hfrvzn7/9tsLc+ByMp3hRawuxuRkZVCZY/Ofep4 xD3LDns5nl6zLtrnGYO4f9Gb5vURUYoYgGtvHwCP1osgIqKs2srqb6KEuACE7WweGWP1t1IywXfH YD88QwOm2rA0M7XN2kPnevGzS+dY9Z0jnq9QDYB+DnF+IZEejEIWgH/9a7fM+RNaBAF7l9c
CAFud m0h9QSFallaGdTJR4n1O+u1e6sATtatn3+4Y7Me28z2muo94paomWptjzvclyg2Hodh36BjsDztE ZREEvL7GGbXjCMQRCFsBcK+PSEcYgGtsqrGlrbjd44bsgZCIiHLakanGFj4gEyWmWf6Gb9rPimWZ RIPvQHAG3tFhvDRwliGBSbiKrNi1Zn1YMOqb9mPn6VP8O5RDXEVWtQ35MbDlIunYvFvmFoDvsJdj 4dcL+JpmEhZBwOMLStBYuTxqq1nftB/t/efwS9+IqULZTHPk5ePVBx6a/f9uxu4xcQIvPwAnWOlJ ZHRuKLrzXpycwLbzPbNvN1ltcK9tiPbMzYMwRDrGAFwf3GAVOBGRGUg3xkQUXymABvmF9v5z2qxE Z5IJvg+dP4sXRwe5IWwS9QWF2FF9X8RG7f6eLjw3dEGjVVEmxGl9zsoT0pNeyF7PK267PeVP5Cqy 4sgnVxh8m4AjLx9PlFViY0Vl1HudjsF+HBkb5sGuDNhhL8eWmrrZ//cnRoaw5YP3TXU/GWfedx/E 8Juvt0TGVgpgp/xCIDiD57rewfWvvoJFEPB8xYpoHSAAoBPiHt9oJhdJRKljAK4DrAInIjINF1uf EyXMpbxw5JMrWqxDNxINvn3Tfhzo68FrEz5TbVSamSMvH89UroxoC9vtG8f27ncZFuWgKK3Pj4DV J6Q/Yfe+i+bNT/kTMejMfa02OzaUlUdtMSvN9uY9TmYoK57NWPUNxJ3xyzbHRLmjTXnhwJlunLzh R31BIXavXhe1+wiAXWDXJSLdYwCuH80ATmi9CCIiypiWqcYWr9aLIDKQZvkbFycnTBviJRt8y2eV UW6TvjfkszkBccN6T9d7/F7IUVFan7PLDOlVWHtglYMbZHL1BYX47l1lUau9pVEunO2dWcoWv2as +k5gxu82APuyuCQiyhwnFB3nun3jeGHscrxDMGMQD+tz/AGRATAA14mpxhZvcbvnCIB
NWq+FiIjS 7uBUY0ub1osgMpBSKOZw/f7DS9qsRGPKFpRqun3jePVCHyvjTCTWoYhD53rxs0vnTLVhbSYxWp83 g9VopE+jyguuIitfs0wukdneJ0aG0HnlIx7myjCLIODAvd/Ag0uWAhAPVO48fcp0f0cTmPHrBAMv olyyVXnhhd6/4A/rHo51CIYdIIgMhgG4vjRDfDjkkWgiotxxcKqxpVnrRRAZjFN5wWztz1ttdmxZ VRuzUo6zL82p1WbH9tUPRGzQdvvG8ULvX1gdl+PY+pwMKCIwWpz/j8DnWiyFtOYqsmKTvQzO0jLV oNE37Ud7/znOes8SZei7v6cLL44OmuoQnfIAgIpOiNWeDLyIckcpVIoQ3/jOY9E+Xuq0xPttIoNh AK4jU40t14vbPc0A/kvrtRARUVow/CZKTdj8bzO1P080+H5p4Kxp/p+QKNr3hm/aj5e7T5tuPicg blqbaZO+yWpj63Myqk7I2oxWWG4DWNVrGo68fGy6YzEaq1QP8LDFuQaUoW+3bxzbu9813b1lnKpv gC3PiXKVM4mP7cTNokUiMhgG4Doz1dhymK3QiYhyAsNvotQ55W+c/GhUm1VkkavIil1r1kcNvgPB GXRcGsD+4QHTbU6aXZPVhqfr1kR8bwSCMzh0/qzpKrUkO+zl+KVvROtlZI1FEOBe26D2rmawKo30 zyd/o2ahDeg/o9VaKEtabXY0LL4ramVtx2A/vL5xUx7g0pK8k4xZD9ElUPXdB/H1lS3PiXKTJcGP 2wXAncF1EFGGMQDXp2aIN1l2jddBRESp2TbV2MKT4kSpcUIxDubYtdxtf+4qsuJJx6qoc8bMHnKa WazvDbN3AWiy2vD1r91iqr8TB+79hlqF2s/BVoykby6IszLDTm/cY11gug4OZhGvxbk01/u1CR// /LPMkZePPXVrUVdyJwLBGezv6cJzQxe0XlbW7bCXY0tNXayq759DDLx4uIwod+0
D0AbxPsWFyELE sdB1HoIhMjgG4DoUaoXuAuAF54ETERmJH8DWqcaWNq0XQmRgTvkbgeBMTrbDlG9CqpFmYP7SN8IN YpOJFXx3+8bx6oU+U899ry8oxI9W1GDjyWNaLyVrdtjL1arUxsCKFNInC8RNYzdiHOrfVLTAdFWn ucqRl4/Ni8uwoXyZaiebi5MT+P2Hl3hPoyF56Nsx2I9t53tM92fhKrJie81q3GNdEO1DxiAWJHmz tSYi0tR1iCF4G8R7l2bcLErcCh6CIcoJ//D3v/9d6zVQFKF54B6t10FERAkZA+CaamwJOyFa3O5x A9g31djCm2eixHghqxQ7MTKE73Wd0m41aebIy8czlSuxcVmV6vt9034c6OvBv3M2qunECr7N2qJU ySII6Pynf8HO06dMcwigvqAQb3znMbV31YBVKaQvFogbxluRwEH+jsF+tPT+OeOLosywCAJ+XLIE j95doRooSqH3kU+umLZbiR7UFxRi9+p1uMe6ACdGhuA+2226Pw9HXj7cK+titTsHWPVNRESUkxiA 61woONmp9TqIiCimIwCalSF3cbunDUATxBliTobgRAkJuzl9+fQ7eGHsslZrSRuLIODZ0mV4ona1 6vu7feM4OnyZwbcJxQq+A8EZHDjTnRN/B+bKIgjoqH8EZ659jJ+YZHawRRBwZsP31Nq0ch4h6Ukp xO/HpmR+UyA4gyWHf52J9VCGWAQBjy8oiTrXm6G3fsjvO83aPSbeodOQPoiHdrxZWRQRERFlFQNw A5AFKEREpC9+AG61ed8qP7sZghPFVw0gLNn60R+PGn7DbvdSBzYvX6k6a9Csm5IUP/jm7PebpPAb ADaePGaa/yenHvqOWmVlJxSjIog04oTYKjTmXkUgOAMAqq+B248fM31nCyNostqwYcndDL0NwlVk xa4163E1MG3Ke0yLIGDv8tp4wbcf4sGdiOd4IiIiyh0MwA2CITgRke50Qqz
6HpVfLG73WCCeIF+l 8nsYghPF1gzF+JfiduNOg2m12bFlVa3qPEwG3+YVK/gGYNrZnNFI4ffi+fPR9NabOHnDr/WSssJT fb/a5r0fYrUt7yNIS06IwVFDrA/yTfvR3n8Ov/SNRO2Awjbo+tVktcFZciecpWURhxe6feM4OT7G 0FtnpFbf82651bT3mLEOncocBOf7EhERmYKg9QIoMVONLc2hDWCG4ERE2opV9e0E0AbAHuX3rgLg LW73MAQnUlcqf+Pi5IRGy5gbV5EV22tWq87E7Bjsx0sDZ7lhbEKJBN/83ggnhd/3WBdg+/Fjpgm/ d9jLo1WuOcENe9JOc+hXzOD74uQE2gfOh430OHRlWDUAd5aWwcIDP7oRK/Q+MTKEzisf4bUJH/+8 dGiHvRw1dyzEf1weMGXwHevQqUwnxJ9ho9lYExEREWmPAbiBMAQnItLcEQBblVXfAFDc7nED2JnA 51gF4DDYvpRITbX8jWs3prVaR0ocefnYU7dWNeBkuGleDL5TIw+/3aeOm6ZNcqvNjqfXrFN7VwuA 3iwvhwgQAyM3oh/wBBC7s8mFmb+hY7A/4mDHvFvz8PiCkrCwnLIrWugdCM7AOzoMr28cRz6fYOit U64iKx5atBjHr17BC2OXo35cfUEhbvvaLaiab8HXv3YLbAUFWFQwDwDw9VtuVT20Keeb9uNqQLwv 77l2FX/98gv0T1/XPGxvstrwdN2aRIJvNzjnm4iIyHTYAt2A2A6diCjrxiC2O/cq31Hc7qmGWPWt 1vI8loNTjS3Nc14ZUW7xQlZZtr+nC88NXdBuNQmKNmtQ2jxmuGlO8YLvbt84tne/y+8NFfLw20wt kusLCnHw4W+rtW79OcR2rUTZ1IwEgu9ED/G4iqz41T9viLjum/Zj1e/fSH2VlBSLIGBT0QLV0Ns3 7Ufn2AiOX72iebBJ8Tny8lGeXzD7Z2URBDjnFaFqvgULv16Aittux6J
58+OFw3OmRUv8ePdYIX0Q Xzu9WVkUERER6Q4DcINiCE5ElBV+iBXfbcp3hGZ9b0ViVd/RMAQnCncdwOwu3cun34lZzaIHarMG A8EZHDp/Fi+ODrJiyoRabXY0Vi6PWk3F+e+xyUNght8AxO4zLg2WROZkgfj95kaagm+5P6x7WDWw +tEfj/JnYgZZBAGPLyhBw+K78OCSpWHvOzEyhDOfXOM8b4ORwu77bl+AittuQ8Xt1owH3Yk4MTKU 0Tbs8e6xQsYg/gxry8giiIiIyDAYgBtYcbtnK4C9Wq+DiCgH+QHsA7BPbVZ3cbvHFXp/zI3BBDEE J7op7MZUzxviarMGGXybW7z5kwy+43MVWbG34WHThd+OvHwc/ZZLLfzuA+d+U3ZIBzu3QnYQTWmu r3PRqsC7feP41jtvJf35KDpHXj423bEY9Xfaww4d+Kb9+OCqj63NDaa+oBDrbl+AmjsW6ibsjqVj sB/bzvek7fsrwRnfs8/w4OsmERERgQG44RW3e5oh3tzp++6XiMgY4gXf1aH3NyjfN0dHIJ5Qvw6g V+1rE5mE7gNwtZaLvmk/jl4eZPBtQhZBwI9LlqCxakXUTVnO+E5Mq80O9/qHAMBU4be83bsCw2/K hqwE33KsAs+c+oJCfPeuMtQstIX9TJFaVL/z6QRO3vBruEJKlKvIivtuX4DahYvitflOSiA4g8Ep 8e9Zz7Wrs9cv+T+H/6svo/6++24Xv5+k2eGJrCkQnEHTW2+m/D1nEQQ8W7oMG8qXMfgmIiKilDAA zwGhQOYw0lOJSERkRvGC71KIbdSyOXqiD6FAPPTPUbVW7EQ5xAnghPxCw5HXdRMaOvLy8UzlyrA5 375pPw709eDfPx7TcGWkBWlTVtn+Xo7Bd+JeqarB5hXVABh+h/gh/kzszfqiyCwSCr4zccCLVeDp I5/nfe+iktmQ8OLkBM5c+xg9k5/g4OTHGq+SElFfUIhHFi5OS+A
thdyXPvsUgS++wF8+ncBnX36R 9sMPUlX6o3dXRG1JnkoILt1zK2fUq2DwTURERDExAM8RoVm0h5H+qkQiolw2BvGBuS1K8G2BGHz/ NMvrUjXV2PIPWq+BKIOcUATgxe0ebVaioJzzzeDbvNQOQigx+E6cRRDw+hrn7GY/w28ADL8p85oR p4tcpl/nPNX3q/4cdZ86ztfWOKTW5jV3LJyd5y21Ne+ZuIYTn03w9cdA6gsKsXv1ungzraPyTftx 6dNJXPrsM/zl0wlc/tsNTf78Y90fBYIzqDn6m7iHaFptdmwoK0/kAACDbyIiIkoIA/AcU9zucQPY qfU6iIh0rhNi6N2m9s5Q8B23KibbGIBTjnNCZwF4k9WGp+vWzFZUMfg2L1eRFZvsZVGDb85/T55y 039/TxeeG7qg8aqyg+E3aaQZ4sHOqJ3jsvU6F23u/Y3gDKoTCMrMpslqQ631DjTYl6BkfiECwRl0 f3wFZz65xrbmBrbDXo4tNXXxqpzDdPvG0XPtKi75P9flDHdXkRV7Gx6O+G+KdsDNkZePzYvLEmlz DsgOr4PBNxERESWAAXgOKm73OCHeELIlOhFRuIMQ25yrbiyHWp1vhbhBqJvgW8IAnHKcEzoJwOsL CrGj+r7ZChQG3+bVZLXhB8uqolYjcf57apqsNrjXNsxukJup6pPhN2mgGToJvuV2L3XgidrVEdcP nevFT/rPZG0devT/s3f/wVHf573on94RGNkC/QDJCLARrgHHxDYU28fTOiD79ibNiX2tuqdD6psz wEwzzXR8b5O4/SeZaWhn0n9O0pPTe6aTTjODPbd1yvSeHDh2T5qcXFvETk5iQwx2DOZHjAjIYIlf knAMODO5f3y1aCV2pZVYaVeffb1mdiS+uxIfFu1q9/v+PM+Tay294Zblce/SWwTeiRn7OrOY2fr/ vqGhMZ757X97TQh++3/5f66+VnpyyfLYuOzWq10MJrA/RoJ
vAICSCcATNVy9+HREPFbhpQBU2v7I ng8LtjmPqNiM70kTgJO4zqhwAN5UVxd/uequq7OI9/SeiG8eOmB+Zo1pqquLT7UtjU/fs75oNZJN EVOXP+976PKl+Nzu78XO8/0VXtXMWDOvPr7+mw8Xa3X7u5GNtIJy6YwJNsZX+rls/8cfL/g8+9QL 36mp371r5tXHQy1tsb5tcXR23BYRMSuDT8Y39nXmWLM18C7kC8tXxucfeHDUsa/++OVov7EhHl11 R6lV789E9hzWXfYFAgA1QQCeuEU7tndF9oKx6ioZAabRQGQnkYtWe0dc7ZixJao8+M4RgJO4zqhg AP7kkuXx1P2/GfNvmBd7ek/E19/cXzOhHJlcG878ee9j+dmYurGVz72DA/F/vvT/zeoT/JNRrCIu stcsW0L4Tfl0Rraxc2OxG1Q6+M7pam6Nb3z0kWuOp94KvamuLh5rbrva1jwirs7wfn3wQs08L9aS idqdH+zvi8/88IWk5ref2bR1Kl92PIY3r0dET/lWAwDUorpKL4DpdWbT1p3DlY1Ph2pwIH27ImJn sdneOYt2bN8S2cnmoicGgdrQ1dwaT627Pz7U2ibcrFETzfeOyGZXfuWt15M6MT2Txs4E3dN7Ij75 o+5kw62xJgi/O0Pbc8qjI7I2wUXf9w9dvpmW8WkAACAASURBVBRffeWHFQ++c3ae74/HDh245vm3 4YZ58U8PdMbvvPy9Cq2svPID73WLl8R7Vy7H3tOnYm//u/Hnh9+omefCWvTkkuXjdpQZunwpnv3p 6/HFo2/O6Lo2NDRGy5y50Vg3J1Y1NkdExPy5c2NVy8Krt2mfv2DcudwH+/vivSuXY+jK5Th87ly8 erbv6mvoNfPqJ7uk3TESfAMAlIUK8BpiNjiQqNyb5Z3FWpxHXB0NkZvvPSufB1WAk7jOmMEK8Ka6 uviPH14fj66+U/Bdo55csjweuW2l+d7TbOyc37/b+8q
Mn+ivpPzuEmMIvymXpsiC76IdjXIhW7U8 n3U1t8bD7cti3eIlxUYCRES2+Wjrvh/P4MrKIz/wnj93bkREHDl/bta3taZ0EwXfEdlmsKf2/GBa NtetmVcfK+sb4s4FTXHTnLmxfnF7RESsXtRaavvxKcltslkwZ+41LdALUO0NAEwrFeA15Mymrd0R 0bFox/ZtkYVA2qIDs1VurvfOM5u29ox3w0U7tq+N7DlvVrQ5B6Zfrg3loTP98YfffV7wXUOa6uri zzpWxyMrVxc9Kb2n90Q8//aRqqmQnK3Gzrseunwptv1gd03N9S00A3WY8Jty2RbjvLevluA7N+N6 47Jb494ly0oO4B5dfWc82Xe66p+Pc/++iIj2GxsiIuLVs32qu2tMU11d/PHSFbHpzrvGDb57Bwfi Sz966bpffzbV1UXn/OZRIfdNc28Yd1PJdBq6fCkOnemP9hsbYlVLy3g3fSaysR9GfwAA00oFeI0a bou+LQRCwOyxK4bfKI9X6R1xtdq7K7ITgvfMwNpmhApwErc2Il7LP/D4v3yrrJVSuXbn7125rOK7 xpTa5nz70bdU55XB5tYlse23Nl4NuVKcbTqR7Wv/TbGft+ORvUYRfnM9uiKr+i7a1ajSoxtKrfIu xbaXXqjaEDxXaes1Re1aM68+nlh2Wzzx4bvH3dwx1REE+UH34psaYlXLwmmv5B7Pnt4TERGx9/Sp eO+DK3Fg8EIcef/iqOeaY11/MHZ9xyM7B7kzIsZ9Lw8AUC4qwGvUcMXklkU7tj8d2YtQc3CBajMQ IzvDuycKvSNGVXt3hS4XMNtcEwa1zJlblm+ca3fe3jA/vvraK05S15AnlyyPTXd8uGj40js4EDsO vBF/23tMlV4Z5I8WyKm1ludNdXXx3IaPFfuZ2x9Z5beT/0xVR2RdkIq+f5/OtsrjWTOvPh67eVms u3lxPLTi9ql8i/2Rve5/ICI+ln/Fto88HFGlIfi
bl96vqc09jChlc13E5DoxbGhojLsXNEX7jQ2x fnH7jAXduVA7IuLwubMxdOVK9vnA+Rj45Qdx7oMrJW8Q7GouuGYbvwCAGScAr3HDbdE7F+3YPuEO coAZkDvxtfPMpq0lvUFOtdobKI8vLF8Z625eHP945C3Bd41YM68+/ui2O+LRVXcUPWn84rGj8fyx n9VUO+7ptqGhMf7vj/yvV9u+lqvF62wy9j4YY1dEbAnhN1PTFNlr3S8Vu8HB/r4Z3+S1uXVJrG+9 OTYuXzFuy+cicptdu+PaqtDuGBPyV3MITu1oqquLT7UtnXC+d8T4wXd+VffK5pa4vWXRlDolHOzv i/euXB799165HIfPnRt17NQvLsbJ939x9c9jK7bL6eH2ZWMPDYTwGwCoAC3QGWXRju1bIqsIF4QD M+F4jJz0KqnKO2fRju2dkZ1Irplqby3QqQE9kfca5HoqRzc0NMbHFi+LV8/21VQAV8s2ty6JP1h9 Z9y79JaC1/cODsTzRw7FsyffVq1XZl++fU380fr7r/75uUMH4nM/3VtTVfVPLlkeT93/m8U2XTwT 2WsWmIrOyKq+C75Hn2pb5akoY5X3zhg/EGuK7D3CNZtbq7kdOukqtdo7Inu98ff79xb9OX1yyfKr s+Ijrg2nx5pM9XU1eOnhT4wN83dF9p4dAGBGqQBnlDObtj4dEU8LwoFpMhDZyazuyKq8eybzxYt2 bO+I7ATylvD8BCnqiTI9ts/+8kpNtV2uVbm5m4+sXF20Eku19/RZM68+vv6bD1890T10+VJs+8Hu mrqvC7V9H2NrZOElTFZTZF3aNhe7wbNv7Is/P/zGtG42mcYq7/FciCz4744xIfi2jzwc7TU2WoHK KOU1Rr49vSfim4cOTPg7MOUNHE11dYUq2XdWYi0AAAJwChoThG8JM8KBqckPvLtLbWueT4tzqCk9 kfeaY/3i9ogpnuBW4Zu2za1L4pEVv160AjE
323vXuyf9LEyTLyxfGZ9ed+/ViueZCOKqzYaGxvjy /Q8Wa1s7EFmAp+0rU9EZWWhUMHXb03si/mrfq9NSFTqDVd4TKRqC/9H6+2NJQ0PNdZpg+uVanG+6 48MltSQfunwpunveju1H35pVVdrT5VNtSwsd7p7hZQAARIQAnAnkBeGdkYVPj1V0QUC1y7U0744s 8O6Z6jdatGN7V2QbcDzvQO3oyf9D+/wFFVoG1WiiSqzcSehdx9/W9n4arZlXH1+997eutpqvxVnf EdduABhjf2TBnXnfTFZTZJ3Y/qTQldPV7rxCVd6lKBqCP7r6zri9ZVF88ZWXBY9cl1zovXHZrSVv +shttPvb3mM2YeRZ37Z47KH9Meb1PQDATBGAU5Izm7Z2R0T3cPvhbVFDM3eBce2O7ITUvpjkDO9C hkPv3MVzDNSeUZViUzgJT4KeXLI8HrltZdHZ3nt6T8Tzbx+Jf+jrdRJ6mo0Nff9u7yvxH3oO1dT9 3lRXF//0QGfRn8eI+E+RbRyGyVobWbv8gh2PXjx2ND79k/9ZlsfbhobGeHBhWzVUeZfiQozcN6Pa wX+otS2+9YnH469/9HL81fEj07wMUjKV0NtGu4l1dtw29lB3BZYBABARAnAmabiac0teS+JtYQ4v 1Ir9kZ3gyoXdZTnZJfQG8lzzvNLV3OokYw3a0NAY/+7W2+LRVXcUrLDtHRyI548cimdPvq3F+QwY W/W9p/dEPLXnBzV3329uXRLbfmtjsarvgcg615h1ylR0RRbwXvNauBxdFprq6uKx5rboXHpL/Eb7 0qlsMMt1ecpVeleiu8GWyCpJvzT2is8/8GBsuGX5tLWFJw259v4f//VVJbU3z7HRrjQbGhoL/X7s rsBSAAAiIuLXfvWrX1V6Dcxyw+3Rt4TwClKSH3bvG+4CUTZC76k5s2nrr1V6DTADLkTe84KqrtrR VFcXf7x0RdET0yqvKiO/6rt3cCD+es+
P4pn+dyq9rBm1Zl59bLv73vGqBHfHSDgHk7UlIrYXuuJ6 qr5zVd4bblk+XseC8eyOkcC7mmbZF90sEJF1pvji0TdndEFUr67m1ni4fdmk2/sf7O+Lb//scOx6 9+Ss2uy1oaExWubMjca6ObGqsTkiIubPnRurWhaOut1Nc28o+FprT++Jq5+fujgU71y8GIcHzsee ofMT3g9fWL4yPv/Ag2MPe/8KAFSMAJyyyasK3xIRGyu7GmASdkd2UqsnpiHszhF6Xz8BODWgIyJe joiluQMvHjsav//KSxVbENNvc+uSeGTFrxcNF188djR2n/x52WfeMr78qu+hy5fi2Z++XnPtziMm nPUdEfEXkXXFgqnYEgXC76HLl2LbD3ZParNJIlXepeqILAQveN6hHFXzzE5r5tXHQy1tsXHZrXHv kmXjPXdfYzaE3l3NrRERcd/CtlHB9hQ3uUzKRHPP//XB3x67jl2RvfcHAKgIATjTYnhWeFdk8++0 SIfqcDzyqrojC7t7pvsvHd4c0xNC7+smACdhnZGFAJvHXjF0+VKs2PnNmV4P02yiFufajVbWl29f E098+O6Yf8O8eO7QgfjKW69XbRgwXbqaW+OpdfeP1yZ3f2TPW9VUGcvssiUKhN8H+/viMz98oaTH XMJV3qX6bGQbUAq+z6jVcQ21JLfxY33rzZOu8o6oztA7V8V938K2WNLQEO0N82P1otZJhfnT6WB/ Xzz6/e+Men3WVFcXR3/v34+96eci4mszuTYAgHwCcKbdoh3b18ZIi3RhOEy/45EFzt3DH3umq6q7 VIt2bN8WBeb1MTkCcBKU2yw3bueYx//lW2Z6JiA3e3PTnXcVPEFdjSeha82Ghsb48v0Pxoda22JP 74n4+pv7a66Ccs28+vjTO+6OR1ffOd7NVH1zvToj4sWxBydqeV5jVd6l6ohxqsEjIp47dCA+99O9 NlQlItfWfN3iJZOa5Z2zp/dEfP/
E8Yq/3tjQ0Bgr6m+KVY3NsaqlJRY3LJjSv2emHOzvi6PnzsSR 8+euqQLf3Lokvvrwx8Z+ybqYnRtrAIBECMCZUcNheGdkgfg9FV0MzH67Iztplavo7jmzaWvVvsFc tGP7vvC4vy4CcBKyJbLwqKSNceZ5zl5NdXXxqbalsemODxc8qSv0rg5NdXXxl6vuiifuWluzc76b 6urizzpWX618L0LVN+VQsDtS7+BA3PPtb11zY1XeJdsSWbVpwV0BtTzKYbZbM68+nlh2W6xf3D6l x8DQ5UvR3fN27O07XZHOMk11ddE5vznuXNAUK5tbor1h/oy0LJ+MocuX4tCZbMNbbvb3ex9ciQOD F+LI+xcnfI32N3euiyfuWpt/6Hhkm1MAACpGAE7F5LVJ74yIxyq6GKhe+yMLubsjL+w+s2nrrKvW GN4A0x1aoU+ZAJxZrimyau/PxiSfBw7298VHXviXaVkU5ZcLvTcuu7XgXG+hd3Xpam6Nv3jgIxER 8ff799bcrPUSg++ByDbtaOVKORR9TZwbOfBQS1usb1usynvymiJ7rP5JsRsIwmefrubW+MZHH5nU 1xzs74vv/7wnvnP65Ix3Eepqbo37FrbFqpaWWLWwdSqP4XH1Dg7EqaHBotfnAuyxXj3bN+rP3UPn y/YY2P/xx8f+O5+JbFMKAEDFCMCpGot2bM+F4VqlU0sGIgu1c+F2T4y0Le+p2KqmyfDj/L9Weh2z lQCcWaojstB7S0wQfD936EDRtsMbd/2TsLTKbW5dEp1Lb4nOjtuuCRKF3tVnzbz62Hb3vbFqYWtN Bt8REV9YvjI+ve7eieaqPhNZoNYzE2uiZnREFlCXqzvSrhgJvXvK9D1ns46YoC26IHz2KCUA7x0c iJ+c6o3u3hOx63yf/9MZtGZefex+7JNjD/9uZM9HAAAVIwCnKg1Xh3fmXQTizGa7hz9253+s9Fzu Slm0Y/uWiNhe6XXMRgJwZpm
OyEKjzePdKHcC+tmTb8ebl96P7Wv/TcEQXBv06jRe6F0tMza51heW r4xNd94Vzx85VJPhT67qfYKqvN2RPYd1z8SaqElNkYW0U+mGdjxGKryFTMV1RvY4LhqER4xU3vtd VZ0KBeD5bc1fPNfn/66CvrB8ZXz+gQfHHm6O2uo+AQBUIQE4s8KYQHxtmCNM9ci1KO8ZvuQquS9U 8zzuSlu0Y/vTMUEoxrUE4MwSnZFVe4/7GO8dHIgdB96Iv+09Nip829DQGN/6xOMFb19oNiozb7zQ +8VjR2P3yZ9XZMYmE+tqbo3/Y+Ud8dq7p6957JVizbz6WFnfMO5tytlStdy6mlvjM2vumWj26vHI ArOnZ2JNENnP25dKuJ0q76nbEtn9PO7G+j29J+Kbhw7EM/3vzMSaKFGhAPwPv/t87DzfX6EVke+f 7//I2JE3+yM7bwcAUFECcGalRTu2N8VIGJ77aK4w5XQ8Rk4sdQ9/7Bm+CLfLQAg+eQJwqlxnlFBl 1Ts4MGG75X998LcLBlRPvfAdJ6UrpFjonavA6u494f+miuXmXJ/6xcWij70NDY3RMmdu3LewLSIi 1i9uj4iI1YtaJ2oRXtDQ5Utx6Ex/nLo4FEfOn4uXz/bN+BzWnFy790Iz6fMIvqmkrsh+9vLf06ry Lr8tUUIQXmyTHpVRaHPknt4T8Tsvf69CKyLfsa4/GPs64S8ie5wBAFSUAJxkDFeJrw2hOMXl5m1H jFRqR4wE2zXblrxSFu3Y/tmI+I+VXsdsIQCnSnVGCcH3nt4T8fU395dUrVNs1qOTnTOnqa4uHmtu Kxh6H+zvi9dOvxP/78/frligyeRsaGi8+n+1oaEx7l7QFO03NsT6xe3RPn/BRK3Ayya3YWLX8bdn pHJvzbz6+NM77i44ViHPQGTPYV+b9gXB+NbGSNt9Vd7Ta8vwZdzXLhFZZ5Pnj/3MJq8KKzQiZ9tL L4y7oZLptaGhMf7drbf
FE3ddU+y9LkbOtQAAVIwAnKQNV4rnAvGO4YtgPB35Vdr5gXZE3rxGoXZ1 G54J/rXwuJyQAJwq0xllDr7zvfTwJ+JDrW3XHH/8X74ldJ0mTXV18am2pbFx2a3XVMrmWpubszm7 5MLuVU0tsapl4UStv2dUKd0gpqqruTUeW37bRMF3RMR/iux5zJxSqE2dEfHZKGEOe24Dz/ajb3kd UgFr5tXHt//t78WNc+ZcPTZ0+VKse/6fVelPk1xnmIi42h1mVUtLLG5YUPA1+rCBiGiakQUCAExA AE5NygvGO2IkFG+KEnaAMy1yc7RzuvM+Hxts7zuzaauTlIlZtGP72sjaPt5T4aVUNQE4VWJLlFA1 9dyhA/GVt16fcli6uXVJfPXhjxX8vlv3/XhK35NrrZlXH4/dvCw23LJ8VDjaOzgQu48fi73976p6 myWa6uqic35z3LewLdYvbp9y6/KZtqf3RDy15wdl2VhR4ozviIhnIgu+e677LwVS0BFZEL4lStiU 63fk9MgFrncuaIqb5sy9OopjvOf0v9v7Snzx6JsztcSqtmZefaysbyh4XWPdnFjV2HzN8dx9nFOG jXK7IhvpAABQcQJwKGDRju2dw5/mPnYMX5pCQJdvd4Fj+2J0mD02wI6YxhA7b3ODyu9ZZvj/bltE /EmFl1K1BOBU2JYoYW7m9Qbf+YrNAv/D7z4/I+2TU5VrWblu8ZKrFTxDly/FnndOxmvvno5d755U 5T0L5NrUr2+9edT/5fXqHRyIU0ODceriULxz8WK898GVODA48rJtosdeV3NrRMSoAGOiE+pDly/F 5u/99ylXVT65ZHl8+p71pbRyF3wD42mKLLz7bJT4vj/3+1OXlPHlNmlFjFQTlxJwT1bud1gqZstm tmEDkb1f2FnhdQAARIQAHKYsP2iN7I1y/uCjjuFLvpkIzwsF0mONDahLua7nzKatPVNd1PUYcz9H jGxKiBip3M99nn/
W83NnNm01y3EWGt6A8rWw2STfQETsPLNp65ZKL4Sa1BklPCbLGXznmAVeHrnW 5uvbFo+a532wvy++//OeePVsnw0Fs0ShzQtTdbC/L46eOxPvXLwYr57ti3MfXJnWtr6bW5cUnCmf M9kQfM28+nhi2W3xxIfvLiUcEHwDk7U2RrrelDyq6WB/X7x2+p3Y2/9u7DrfVxPtuQuF26taWmL+ 3Buiff6CUjYnMbvtjiz0fjqMFAEAqogAHJh2w+2t8+dAdcToDQJj/3y9c9p3ndm0VdutWW54Nvi2 mKDaNGEDkZ1I2Hlm01a76KmEzphgxvfQ5Uvx7E9fj//Qc2jaTvAWqwJ/6oXvaDs6jg0NjfHgwrZR rc3zW7bWykn5lHz59jXxR+vvn9LX7uk9EYfPnY3DF87F64MXKjq/tqmuLv6sY3XB4Lp3cCA2/o// Nu7P5iTme0cIvoHy6Mq7TOp9au/gQPzkVG8cOX8uDgxemFUbzvJbaueC7flz58aqloURUdHq5IsR UbjXN9PleGS/S3OXfXkfAQCqkgAciIhRbd8LKXZdoePXG16Xw4pKVaxTfjUWhO+OiO7IQm8nE6iU zqiC4Dtnzbz62P3YJ685fmpoMD7y3V1C3GG5dtidS2+J32hfGksXNF496b6377S2rLPYhobG+PL9 D5Zc8Z3fzr6aw5Zi/65C81yb6urij5euiE133lVKJeFAZFVoXwvBN1B+Uw7Dc3JtuveePhWnfnEx Tr7/i+geOj9jr2m6mltHzYTOD7VvmntD2UZqXIeBGAlYC106IuLYzC9r1ivUMbAnRv+uzP9zoXF2 AACzhgAcatiiHds7IntDU+nAupye0SY6TYt2bO+KrAXhYxVeSjntjyzw7o6I7jObtmoZRyV1RhUF 3/mKVb4++8a++L8OvDZj66g2Xc2tcd/Ctthwa0d8qLVN4J2YXKX0RFXfs/n/fUNDY3zrE4+POjZ0 +VKs2PnNiBh
pm15itffxyELvp0MLVmBmdEYWhHdGmcY3Hezvi/euXI6IiL2nT109ngvKS5Gr1o6I WNLQEO0N8yOivLO2r9P+yJ6ne8ZcJhO4ju0yN9Hx2aonSt/MJbAGAMgjAIcat2jH9m0R8aVKr6OM fle76LQNz4XfEtnJpqJBXRXKVTJ0D1/2CbypEh2RBd+bi92gUsF3TlNdXez+3/73gpWff/jd56u2 wrXccm3N1928OO5dsiwGL1+etcEn43tyyfL49D3ri1Y77+k9Ec+/fSSJ//cvLF8Zn3/gwVHHvn3k rbj75vZS58bujiz0frrsiwMoXVOMhOGdURvdqwrJtcrOD2O7hz/uCxuUAACYIQJwqHHDVeCptA8b OLNpa0q7vZnAcBjemXcpS+VFGRyP7ATP1Yu2/FShpsiqJas2+M7X1dwa3/joI9ccv3j5Uqx9/p8r vr7psGZefTzU0hbr2xbHb7QvjVNDg3H43FkzvBPW1dwaT627v2j72aHLl+Krr/ww/vM7x2d4ZePb 0NAYLXPmFr1+vNa+xcYcTGAgInaG+d5A9cq9T1mb93E2d17LBdsRI4F2T4FjAABQFQTgQCzasf1C zO434zm7z2za2lnpRVA5w4H42rxLR0zfyaZc6759eR97zO5mFmiKiM8OX4o+Np47dCA+99O9VROy rplXH88+9PGCFaF7ek/E77z8vQqsqrzyA+/2hvkxdOVyHD53Ll4921czVe61qqu5NT6z5p5x29Pu 6T0RT+35wYxVfHc1t0bESCvd/Da6qxe1xvwb5k36e+bm3n7/xPHY9e7JePPS+wUrwMexP7KNOztD FSEw+3TE6PcqTVHZjla59zMRowPs3OdaagMAMGsJwIFYtGN7d8yuVtLF/MWZTVu3VXoRVKfhbgcd w3/M/3wi+a36Lgi4meW2RBYejRt8f+Wt16uirfLm1iWxvvXm2Lh8xYStkJ87dCC27vvxDK2sPPID 74iIdy5
ejMMD52PP0PmquP+ZfqUE372DA/HXe34Uz/S/U9a/e828+lhZ3xB3LmiKm+bMjfWL2+Om uTcUrT6fDn/9o5dj3c2L46EVt493s4EYaXHudzCQotwm3oisWjzi2vcrk9nUmx9sR1xbsZ27AABA suoqvQCgKuyLNAJwKGq4BXlPhZcBldIZWfBddEzATFeXFrJmXn08dvOyUgKxazy6+s54su901bWG zrehoTHuXtAUC+bMjcEPrkRExOuDF6p6zUyPJ5csj0duWzlu8F2uEQRdza2xrP7GaL+xoSIh91gH +/vi6LkzceT8uXj5bF98et29xW66K7LQe+eMLQ6gMi7ESEjdXfxmAABAqQTgQEQ6LSS7K70AgCrT EVnw/VixG+zpPRFff3N/xVpsT6bKeyLbPvJwxEsvVG2g/P2LA/H9iwOVXgYV0lRXF3+8dEVsuvOu kjoaTHYEwdigu33+gut+TE1Frs15roX/ex9ciQODF+LI+xev2WDT1VywlfqXIuJvIp3XpwAAAMAM E4ADAKQnN+f7S8Vu0Ds4EH+/f++Mh8UbGhrjwYVtU6ryHrY/sorQnZH9GzfnX1ntITi1Z828+vjT O+6Ozo7bJpybXcoIglzr8vsWtsWqlpZY3LBgWiu6D/b3xXtXLkdEXA21c14923f186lsonm4fdnY QwMR8ZdTWCYAAADAVQJwIEJbaICUdEbWNnh5oStzbZW/ePTNGVlMU11dPNbcFp1Lb4nfaF86lYrU 45F1+Ng5/DG/KnRLZGH/qAp3ITjVoJQ25znFgu9c2/xcVffqRQUrpq/KD6vH2nv61DXHTv3iYpx8 /xejjs1kN4h1i5eMPdQ9Y385AAAAkCwBOBCRTgDeVOkFAFRQU2TBd9F251NpqzwVuSrvDbcsLyn8 K2B3jATe+ya47Zbh242aby4EpxI2NDTG1tvvKKnae6IZ3011ddEyZ26cfP8XcfL9X8SrZ/sqNqpg OjT
V1RWqXDfvGwAAALhuAnAgJWvDiVOgNnVFFn4XLK/e03si/mrfq9M2f3qaq7wnciGyqvfuKBCC rz90ILbu+/Fk1wMlWzOvPh67eVlJs70jRsYP/ENf77ibUS788pdJBd5jfaptaaHD3TO8DAAAACBB AnAAgNlr3KrvocuX4quv/HBaqqBnuMp7IkVD8EdX3xn/2jA/Pvmj7mmvfKd2NNXVxafalpbc4jwi 4sVjR+Mfj7yVdKg9GevbFo89tD/S6UoEAAAAVJAAHKh2x2P0ydALcW1Qsm/4+GQqBgFmu87IAuSC Jaflbnde4SrvUuRC8KdjzIaAe5feEq898vvxud3fEz4yZbnQe+OyW+OhFbeX9DW9gwPx/JFD8ezJ t6+Z713rOjtuG3uouwLLAAAAABIkAAemy0AUD6pzemJMpc+ZTVu7p3NRAInYFhFfKnRF7+BAfOlH L5Ul6K2yKu9SXIiRdvCb86+Yf8O8+MZHH4mH39gXf374DdXglGTNvPp4qKVtUqF3RLYBpbv3RDzT /840rm722tDQWGhGencFlgIAAAAkSAAOFLI/Jgiq49qTlD1nNm0dexsAymvclufPXme4m6twXd+2 uFqrvEu1Zfjv3z72iifuWhsbl68o2yYB0pPb+PHxX18VH2ptK/nrDvb3xY63fjrhbO/ZZkNDY7TM mXvN8et5/Dy4sOD9unPK3xAAAAAgz6/96le/qvQaAACYWFMUmHEdcX1V3xsaGuNji5fFhls7JhX2 5dkVI6F3z1S+wTRaG9m6lhe6stxt8vPRrgAAIABJREFU4pm9NrcuifWtN8fG5SsmtfHjYH9ffPtn h2PXuydnRYvzprq66JzfHBER9w2H0EsaGqK9YX5ERLTPXzCVjS/ROzgQp4YGY+/pU3F44HzsOt83 7uPqXx/87bFdJXZF1r0BAAAA4LoJwAEAql/R8PvFY0fj0z/5nyWHuPlV3p0dtxVqQzyR4zFS4T0b
KjbHrZofunwp/v61PfFXx4/M6KKorFyV97qbF0+qtXlEFvbuPn4s/u7tt6oy9O5qbo3GujmxqrH5 arg91WD7ehTbYNJUVxdHf+/fj7355yLiazO1NgAAACBtAnAAgOpWNPz+6x+9XFJwm3iVd6lys8EL poDlnJ1O9cnN8p5qe/9qq/ReM68+VtY3xH0L22L+3LmxqmVhrF7UOpUNLdOqd3Ag7vn2t0Yd29y6 JL768MfG3nRdROybqXUBAAAAaROAAwBUt50xpnp56PKl+Nzu7xUNa2uwyrtUTRGxLSL+pNgN9vSe iK+/uV8QPss11dXFY81tsb715li3eMmUNn68eOxovPbu6YqG3rmW5fctbLtazT2mdXhVOdjfF+9d uRx7T5+KU7+4GC+e67vmvvubO9fFE3etzT90PCI6ZnCZAAAAQOIE4AAA1asrIv7r2IMvHjsav//K S6OOqfKelM7I2i1fU1Wf89yhA/GVt16vimpfSrehoTG+fP+DU3oM9A4OxE9O9UZ374kJZ1hPhw0N jXH3gqZov7Eh1i9ur6qK7j29J65+fvjc2Ri6ciUiIl492xcREUfev1jyY2X/xx8fW4H/TERsKc9K AQAAAATgAADVbG1kgfTysVfs6T0Rz799RJX39flsZBXhRfthC8Jnl67m1vjGRx8p+fZ7ek/E908c j5fP9sX3Lw5M48qulatSX9XYHOsXt5f9+w9duRyHz50b9zaHB87HwC8/GHXs3AdXpu2+WDOvPnY/ 9smxh383avc5CAAAAJgGAnAAgOpWdAb4FNRSlXepJmyLHpFV3f/jkbe0Rq9yEwXgB/v74rXT78Te /ncrUuVd676wfGV8/oEHxx5ujogLFVgOAAAAkKi6Si8AAIBxXYisEvzpiNg8ya/dHyOBd3c5F5WQ C5FVgn8tsiC84H380Irb46EVt8dnek/ENw8diGf635nBJXI9njt0IPb2nY5/6OsVeFfYupsX
jz20 P4TfAAAAQJkJwAEAZoctkYXY28e5zUCMDrx7pndJSemJ7D7eFtlmg42FbnTv0lvi3qW3xOcHB2LH gTfib3uPCVWr3Pajb814e3MKu3fJsrGHtD4HAAAAyk4LdACA2WVtZOF2bm61Ku/p0RlZID5h1f1z hw7EruNva49eBTY0NMa3PvH4qGN7ek/E77z8vQqtiJwi7enXRcS+CiwHAAAASJgAHABg9umILKDt DlXe060jxmmNnq93cCCeP3Ionj35drx56f3pXhdF/PP9H4mHVtw+6thTL3xH2/oKWDOvPlbWN8R9 C9vikZWrY+mCxvyrByKiqUJLAwAAABImAAcAgIl1RFYR/tkYqb4v6mB/X3z7Z4dj17snheEzpKmu LjrnN8eKmxrii7/VOeq63sGB2Pg//pt29WWSu69z7lvYFhER8+fOjVUtCyMiGxcwgV0R0TU9KwQA AABqmQAcAABK1xRZaPfZiLinlC8QhpdHLnRtrJsTqxqbr4atN829IT7U2jbh1z/7xr544dTJUcdS aVs/NpCeSC6wLmRVS0vMn3vDqGOl3seTtDUini73NwUAAAAQgAMAwNSsjSwI74oSqsIjskrk3ceP xd7+d2PX+T4VyXk2NDRGy5y5saz+xmi/sWHSATezyjORPXYuVHohAAAAQHoE4AAAcH1yVeFbImLj ZL7wYH9fvHb6neQD8a7m1oiIuHNBU9w0Z+5kW2Uz+x2PiH0R0R0ROyOip5KLAQAAANImAAcAgPLp iJEwvKQW6fl6BwfiJ6d6452LF+PVs33RPXS+akPxXMV2ROFgu33+gli6oKTC+OmwP7Lq4o6IWF6p RdSQ4zESau+L7L7PfeyuzJIAAACAWiUABwCA6dERWRjeFZOsDM83dPlSHDrTH4fPnY2hK1fi8MD5 GPjlB9MWjo+dtb2koSHaG+ZHRMTqRa0x/4Z5Zf87pyAXcI8NW3Mfc9ZGxGszvrrql7v/
Csndj2N1 j/nz2PsaAAAAoCoIwAEAYPo1RURnZGF4Z5SxKjkXkOecujgU71y8OOHX5QfbEVUVbkdE7B7+2D38 sVjAfT2aIgvIU9Fd6QUAAAAAVAMBOAAAzLyOyILw3KVW2nQPxEh1cS7M7hm+FKs8BgAAAICSCcAB AKDyOiKrRl4bWSC+NiIqNkB7CgrNgM4PtLXLBgAAAGBGCMABAKA65Vp0r42RgLwpIu6ZwTXkZkV3 D/85P9RWsQ0AAABA1RGAAwDA7JM/v7pj+JKTC8pL0Z33uYptAAAAAGY9ATgAAAAAAAAASfhfKr0A AAAAAAAAACgHATgAAAAAAAAASRCAAwAAAAAAAJAEATgAAAAAAAAASRCAAwAAAAAAAJAEATgAAAAA AAAASRCAAwAAAAAAAJAEATgAAAAAAAAASRCAAwAAAAAAAJAEATgAAAAAAAAASRCAAwAAAAAAAJAE ATgAAAAAAAAASRCAAwAAAAAAAJAEATgAAAAAAAAASRCAAwAAAAAAAJAEATgAAAAAAAAASRCAAwAA AAAAAJAEATgAAAAAAAAASRCAAwAAAAAAAJAEATgAAAAAAAAASRCAAwAAAAAAAJAEATgAAAAAAAAA SRCAAwAAAAAAAJAEATgAAAAAAAAASRCAAwAAAAAAAJAEATgAAAAAAAAASRCAAwAAAAAAAJAEATgA AAAAAAAASRCAAwAAAAAAAJAEATgAAAAAAAAASRCAAwAAAAAAAJAEATgAAAAAAAAASRCAAwAAAAAA AJAEATgAAAAAAAAASRCAAwAAAAAAAJAEATgAAAAAAAAASRCAAwAAAAAAAJAEATgAAAAAAAAASRCA AwAAAAAAAJAEATgAAAAAAAAASRCAAwAAAAAAAJAEATgAAAAAAAAASRCAAwAAAAAAAJAEATgAAAAA AAAASRCAAwAAAAAAAJAEATgAAAAAAAAASRCAAwAAAAAAAJAEATgAAAAAAAAASRCA
AwAAAAAAAJAE ATgAAAAAAAAASRCAAwAAAAAAAJAEATgAAAAAAAAASRCAAwAAAAAAAJAEATgAAAAAAAAASRCAAwAA AAAAAJAEATgAAAAAAAAASRCAAwAAAAAAAJAEATgAAAAAAAAASRCAAwAAAAAAAJAEATgAAAAAAAAA SRCAAwAAAAAAAJAEATgAAAAAAAAASRCAAwAAAAAAAJAEATgAAAAAAAAASRCAAwAAAAAAAJAEATgA AAAAAAAASRCAAwAAAAAAAJAEATgAAAAAAAAASRCAAwAAAAAAAJAEATgAAAAAAAAASRCAAwAAAAAA AJAEATgAAAAAAAAASRCAAwAAAAAAAJAEATgAAAAAAAAASRCAAwAAAAAAAJAEATgAAAAAAAAASRCA AwAAAAAAAJAEATgAAAAAAAAASRCAAwAAAAAAAJAEATgAAAAAAAAASRCAAwAAAAAAAJAEATgAAAAA AAAASRCAAwAAAAAAAJAEATgAAAAAAAAASRCAAwAAAAAAAJAEATgAAAAAAAAASRCAAwAAAAAAAJAE ATgAAAAAAAAASRCAAwAAAAAAAJAEATgAAAAAAAAASRCAAwAAAAAAAJAEATgAAAAAAAAASRCAAwAA AAAAAJAEATgAAAAAAAAASRCAAwAAAAAAAJAEATgAAAAAAAAASRCAAwAAAAAAAJAEATgAAAAAAAAA SRCAAwAAAAAAAJAEATgAAAAAAAAASRCAAwAAAAAAAJAEATgAAAAAAAAASRCAAwAAAAAAAJAEATgA AAAAAAAASRCAAwAAAAAAAJAEATgAAAAAAAAASRCAAwAAAAAAAJAEATgAAAAAAAAASRCAAwAAAAAA AJAEATgAAAAAAAAASRCAAwAAAAAAAJAEATgAAAAAAAAASRCAAwAAAAAAAJAEATgAAAAAAAAASRCA AwAAAAAAAJAEATgAAAAAAAAASRCAAwAAAAAAAJAEATgAAAAAAAAASRCAAwAA
AAAAAJAEATgAAAAA AAAASRCAAwAAAAAAAJAEATgAAAAAAAAASRCAAwAAAAAAAJAEATgAAAAAAAAASRCAAwAAAAAAAJAE ATgAAAAAAAAASRCAAwAAAAAAAJAEATgAAAAAAAAASRCAAwAAAAAAAJAEATgAAAAAAAAASRCAAwAA AAAAAJAEATgAAAAAAAAASRCAAwAAAAAAAJAEATgAAAAAAAAASRCAAwAAAAAAAJAEATgAAAAAAAAA SRCAAwAAAAAAAJAEATgAAAAAAAAASRCAAwAAAAAAAJAEATgAAAAAAAAASRCAAwAAAAAAAJAEATgA AAAAAAAASRCAAwAAAAAAAJAEATgAAAAAAAAASRCAAwAAAAAAAJAEATgAAAAAAAAASRCAAwAAAAAA AJAEATgAAAAAAAAASRCAAwAAAAAAAJAEATgAAAAAAAAASRCAAwAAAAAAAJAEATgAAAAAAAAASRCA AwAAAAAAAJAEATgAAAAAAAAASRCAAwAAAAAAAJAEATgAAAAAAAAASRCAAwAAAAAAAJAEATgAAAAA AAAASRCAAwAAAAAAAJAEATgAAAAAAAAASRCAAwAAAAAAAJAEATgAAAAAAAAASRCAAwAAAAAAAJAE ATgAAAAAAAAASRCAAwAAAAAAAJAEATgAAAAAAAAASRCAAwAAAAAAAJAEATgAAAAAAAAASRCAAwAA AAAAAJAEATgAAAAAAAAASRCAAwAAAAAAAJAEATgAAAAAAAAASRCAAwAAAAAAAJAEATgAAAAAAAAA SRCAAwAAAAAAAJAEATgAAAAAAAAASRCAAwAAAAAAAJAEATgAAAAAAAAASRCAAwAAAAAAAJAEATgA AAAAAAAASRCAAwAAAAAAAJAEATgAAAAAAAAASRCAAwAAAAAAAJAEATgAAAAAAAAASRCAAwAAAAAA AJAEATgAAAAAAAAASRCAAwAAAAAAAJAEATgAAAAAAAAASRCAAwAAAAAA
AJAEATgAAAAAAAAASRCA AwAAAAAAAJAEATgAAAAAAAAASRCAAwAAAAAAAJAEATgAAAAAAAAASRCAAwAAAAAAAJAEATgAAAAA AAAASRCAAwAAAAAAAJAEATgAAAAAAAAASRCAAwAAAAAAAJAEATgAAAAAAAAASRCAAwAAAAAAAJAE ATgAAAAAAAAASRCAAwAAAAAAAJAEATgAAAAAAAAASRCAAwAAAAAAAJAEATgAAAAAAAAASRCAAwAA AAAAAJAEATgAAAAAAAAASRCAAwAAAAAAAJAEATgAAAAAAAAASRCAAwAAAAAAAJAEATgAAAAAAAAA SRCAAwAAAAAAAJAEATgAAAAAAAAASRCAAwAAAAAAAJAEATgAAAAAAAAASRCAAwAAAAAAAJAEATgA AAAAAAAASRCAAwAAAAAAAJAEATgAAAAAAAAASRCAAwAAAAAAAJAEATgAAAAAAAAASRCAAwAAAAAA AJAEATgAAAAAAAAASRCAAwAAAAAAAJAEATgAAAAAAAAASRCAAwAAAAAAAJAEATgAAAAAAAAASRCA AwAAAAAAAJAEATgAAAAAAAAASRCAAwAAAAAAAJAEATgAAAAAAAAASRCAAwAAAAAAAJAEATgAAAAA AAAASRCAAwAAAAAAAJAEATgAAAAAAAAASRCAAwAAAAAAAJAEATgAAAAAAAAASRCAAwAAAAAAAJAE ATgAAAAAAAAASRCAAwAAAAAAAJAEATgAAAAAAAAASRCAAwAAAAAAAJAEATgAAAAAAAAASRCAAwAA AAAAAJAEATgAAAAAAAAASRCAAwAAAAAAAJAEATgAAAAAAAAASRCAAwAAAAAAAJAEATgAAAAAAAAA SRCAAwAAAAAAAJAEATgAAAAAAAAASfj/2bv/4Drv+l7wb7q+104bxwrIKdikVlggTVJq5SYF9jaJ lTSFFJJaZZdVL3N3bHWbobOTCwb2/kN2bsTONDuzbcB0c3eagR3J
d2/D1WQuVXBCCQ2ObAcIxsYy wTZOXGLV2AFLiS3LYDloJ/vHkR3p6NiWJZ0fOuf1mtFYz/c5ep5PEvtI8fv5fL4CcAAAAAAAAADq ggAcAAAAAAAAgLogAAcAAAAAAACgLgjAAQAAAAAAAKgLAnAAAAAAAAAA6oIAHAAAAAAAAIC6IAAH AAAAAAAAoC4IwAEAAAAAAACoCwJwAAAAAAAAAOqCABwAAAAAAACAuiAABwAAAAAAAKAuCMABAAAA AAAAqAsCcAAAAAAAAADqggAcAAAAAAAAgLogAAcAAAAAAACgLgjAAQAAAAAAAKgLAnAAAAAAAAAA 6oIAHAAAAAAAAIC6IAAHAAAAAAAAoC4IwAEAAAAAAACoCwJwAAAAAAAAAOqCABwAAAAAAACAuiAA BwAAAAAAAKAuCMABAAAAAAAAqAsCcAAAAAAAAADqggAcAAAAAAAAgLogAAcAAAAAAACgLgjAAQAA AAAAAKgLAnAAAAAAAAAA6oIAHAAAAAAAAIC6IAAHAAAAAAAAoC4IwAEAAAAAAACoCwJwAAAAAAAA AOqCABwAAAAAAACAuiAABwAAAAAAAKAuCMABAAAAAAAAqAsCcAAAAAAAAADqggAcAAAAAAAAgLog AAcAAAAAAACgLgjAAQAAAAAAAKgLAnAAAAAAAAAA6oIAHAAAAAAAAIC6IAAHAAAAAAAAoC4IwAEA AAAAAACoCwJwAAAAAAAAAOqCABwAAAAAAACAuiAABwAAAAAAAKAuCMABAAAAAAAAqAsCcAAAAAAA AADqggAcAAAAAAAAgLogAAcAAAAAAACgLgjAAQAAAAAAAKgLAnAAAAAAAAAA6oIAHAAAAAAAAIC6 IAAHAAAAAAAAoC4IwAEAAAAAAACoCwJwAAAAAAAAAOqCABwAAAAAAACAuiAABwAAAAAAAKAuCMAB AAAAAAAAqAsCcAAAAAAAAADqggAcAAAAAAAAgLogAAcAAAAA
AACgLgjAAQAAAAAAAKgLAnAAAAAA AAAA6oIAHAAAAAAAAIC6IAAHAAAAAAAAoC4IwAEAAAAAAACoCwJwAAAAAAAAAOqCABwAAAAAAACA uiAABwAAAAAAAKAuCMABAAAAAAAAqAsCcAAAAAAAAADqggAcAAAAAAAAgLogAAcAAAAAAACgLgjA AQAAAAAAAKgLAnAAAAAAAAAA6oIAHAAAAAAAAIC6IAAHAAAAAAAAoC4IwAEAAAAAAACoCwJwAAAA AAAAAOqCABwAAAAAAACAuiAABwAAAAAAAKAuCMABAAAAAAAAqAsCcAAAAAAAAADqggAcAAAAAAAA gLogAAcAAAAAAACgLgjAAQAAAAAAAKgLAnAAAAAAAAAA6oIAHAAAAAAAAIC6IAAHAAAAAAAAoC4I wAEAAAAAAACoCwJwAAAAAAAAAOqCABwAAAAAAACAuiAABwAAAAAAAKAuCMABAAAAAAAAqAsCcAAA eENTko1JDiV5PclAkq6JdQAAAACgxr3p9ddfr3YNAABQC9qS9CVZVuLcyMT5gQrWAwAAAABcIgE4 AAAkrUl2X+Q1QnAAAAAAqHECcAAAGl1TCqH2qhm8djCFsPxEWSsCAAAAAGbFHuAAADS6DSkKv0fP jOXzzz2bIydHil+7KoU9wQEAAACAGqQDHACARtaU5FAm7fs9emYsd3+jL3vHTueGJZflibvas3Tx kuKvu2bi6wAAAACAGqIDHACARrYhk8LvJOn69tbsHTudJNk7djpd395a6uu6yl4ZAAAAAHDJdIAD ANCopnV/7zxyOHc9+/S0F37jljtz88qri5evjL3AAQAAAKCm6AAHAKBRtaeo+/srB/aVfOHf7t1T annD/JcEAAAAAMyFABwAgEa1fvLBkZMj2TR0tOQL+44PZeeRwxf8egAAAACg+gTgAAA0opYkayYv 9O57/oJf8MRPXixeWpVCFzkAAAAAUCME4AAANKK24oXH
f/7TC37Bw0cHM3pmrHhZAA4AAAAANUQA DgBAI5oSXO8fOpa9Y6cv+kX9h35ywesAAAAAANUlAAcAoBGtnXzwD//0woy+qPvgj4uXlkUIDgAA AAA1QwAOAECjaSteePaVYzP6wm2nRoxBBwAAAIAaJgAHAKDRTAmsR8+MZdupkRl/cYkx6G1zLwkA AAAAmA8CcAAAGk3b5IMSgfYF9R85XLy0KknrnCoCAAAAAOaFABwAgEazevLBrmM/u6Qvfvx4yXHp bbMvBwAAAACYLwJwAAAaSVvxwjOvzmz/77NOjI9n5/Qu8GnXBQAAAAAqTwAOAEAjaZt8MHpmLHvH Tl/yRXb97OULXhcAAAAAqA4BOAAAjWTKXt0HhodmdZHvvzKta3xZ8bUBAAAAgMoTgAMA0EimhNQl OrlnpO94yeC8bVYXAwAAAADmjQAcAIBG0ZRk1eSFEp3cM1ZiH3Ad4AAAAABQZQJwAAAaxbSAun/0 +Kwv9sKrrxQvtc36YgAAAADAvBCAAwDQKNomH4yeGcuJ8fFZX2zX0M+Ll1al0GUOAAAAAFSJABwA gEbRMvngwHDJfbxnbGfp7nFj0AEAAACgigTgAAA0ipbJB7t+9vKcLrZ37HRGz4wVL7fN6aIAAAAA wJwIwAEAaBRrJh+8/MtTc77gzqM/LV7SAQ4AAAAAVbSo2gVALWju7W7KG39hPfnzTHxevJ/nmpTf niQnitb6J31+IsnA2c+HOzoHAgCcT0vxwk9P/3LOF33h1Vdz+zVTlgTgAAAAAFBFAnAaQnNv99kQ u/jXliSrqlfZBa0usXbe4L25t/vsp4NJDmVqQN6fJMMdnf3zVRwALDAtxQt9x+e2B3iSvDAybR/w Wv25AgAAAAAaggCcujIRdLem8JfcbSmE3KWC5Hq2Km/85fvaiV8fSM6F5CMpBOOHJj4GkhzSQQ5A nZvSmV1i7+5Z2Tk6LQBPCj+D9M/LDQAAAACASyIA
Z8GaCLvbUvgL7dY0XtA9W8tS6CSf0k0+EY7v yRuheH+SgeGOzuIx7ACwELVMPjgwPPfu7yTZO3a61HJrBOAAAAAAUBUCcBaESXt0t018VGIP7ka0 euJjbd7oGh9MIRAXigOwkE3pAH/51Oi8XXjnkcO5eeXVk5da5u3iAAAAAMAlEYBT05p7u9cn2RDd 3dV0dqT65FB8TwpheH+SfoE4AAtA0+SDo6dOzduFX3j1leIAvPV8rwUAAAAAyksATk2aGG/elzf2 sqa2nO0U/2QyNRAf7ujsq2JdAHA+Ux6me2Gk5N7ds/KzX0wL0wXgAAAAAFAlAnBqzkTX98YU9qpm YTgXiE/aS3zjcEdnTzWLAoAJLcULI+O/mreL7zs5bRCKn2EAAAAAoEp+rdoFwGQTnd/C74VvdZLu 5t7uQxP/TQGgmlqKF/qOD83bxV88XXKcetu83QAAAAAAmDEBOLWmJ8LverIqSb8QHIAqaynnxfeO na74PQEAAACA0gTg1IyJ0eerL/Y6FpxlKYTgTdUuBICG1TL5YP/QsXm/wc4jhy94TwAAAACgMgTg 1JL2ahdA2SxLYbQ9AFTDlIewfvHamXm/wej0a5p+AgAAAABVIACnlqytdgGU1Tpd4ABUyZQw+oVX X5n3G7zw6qvFS77nAQAAAEAVCMCpCc293W3VroGK0OUPQNWNvvbavF/z5V+eKl5aM+83AQAAAAAu SgAOVFJbtQsAoCFNCaNLhNVz9tPTvyy1rAscAAAAACpMAA5UUku1CwCA84TVc/Li6ZKhun3AAQAA AKDCBOAAANSzlkrcZO/Y6VLLOsABAAAAoMIE4NSE4Y7O/mrXAADUpZbihb7jQ2W50f6hY8VLOsAB AAAAoMIWVbsAmGRPktXVLoKy6q92AUVaMjUYaZv0+UCSExc4BoApfvHameIlHeAAAAAAUGECcGrJ xiTd1S6Cshqo0n2bUgi3Wyd+bUmyapbX2pNC
EN6f5FAK/0zV+ucC4OKmdGGPnhkr241eePWV3Lzy 6vPeGwAAAAAoPwE4NWO4o7Onube7K7MPJstt66TP+4vOFR/PVVvRcUve6FRuygLtlB/u6Oyr4O1a krQnWZ/5/fd19lprJq2NpPB74OyHQBygdkzpwj4wXJ7x50ky+tprZbs2AAAAADAzAnBqTXsKAeKy Ct93cldv8sa460PDHZ2HKlxLMsNAvbm3uyVvBONtE7+2pvCX/Wumf0VVPV6h+6yf+KjkP/+yJGsn PpJCIN438dEfo9MBGsLLvzxVvFRr34sBAAAAoO4JwKkpwx2dA8293RtSGIc+3yH4YAojq/tTCCQH Ur2Ae15M1H5o4rC/+Hxzb3dTCoF4y8RHW+Y2/nsuNpb5+uuTdGUO/2xHTo7k5dGTSVI8wvZSLUuy buIjSTbljUAcgMqaMob85VOjZbvRT0//smzXBgAAAABm5k2vv/56tWuAaZp7u1uT9GR2o6tHUgi3 +1MIhw8Nd3T2z1NpdaO5t7stb4TjbSnvWPXPDXd0dpXp2u0phOsXDb6PnBzJC68M5YVXX833XzmW JOk7fvFRuE2LFqVt6ZVZtuhf5N3LrsyKyy/PO9/cnOuWX3WptY6k8Pt6Y954cAGA8urPpE7sR3bt yP0H95blRjcsuSxb1/5p8fKNsTUGAAAAAFSMAJya1tzbvT6FgHPteV4ymMJfKp8NvAeGOzqNm56l SaH42V/no1P8i8MdnRvm4TrFmlLoqL7geNmdRw5n2+HBPP7zn2bv2Ol5L6L9yuX5vbdclXe/+c25 /Zp3XsqXbk0hCNcVDlBe/alQAJ4kwx2dxUu3Z4ZbmwAAAAAAcycAB85rYo/xtkkflxKIDybZMNzR WY6Atz2FTuqSY/JHz4zl0R/4raQhAAAgAElEQVT9MI/+9CdlCb0vZN3yFblp+W9mzaprsvKKGU3x H0xhdHtPOesCaGCHMun71+efezYPDr5Y
tpuVCMA74z0eAAAAACpGAA7M2MRo+raJj/N15e/JRGdz mbrxu5I8UOrE6JmxPLTjO3n46GAZbnvpbrt8Wf6H33pH7nn3b2fp4iUXe7kgHKA8pvyw++fffGJG 21/M1jduuTM3r7x68tLnUnh/BwAAAAAqQAAOzNrEyPTJyj2CvifJulInHtm1I3916EBOjI+X8faz t275itx9zX87kzHpgnCA+SUABwAAAIAGIgAHFoqelAi/9w8dy/07ns22UyOVr2gWblhyWT7+jt+e SVf4niQbYt9YgLmqaAD+N9ffmI+9p3Xy0tYUJqcAAAAAABXwa9UuAGAGelIi/N58YF/u2fbUggm/ k2Tv2Ol8Yt/u3PjEY3lk146Mnhk730tXJ3kmSV+SlkrVB1Bn2ooX+kePl/WGo6+9VtbrAwAAAAAX JgAHat2GnCf87hz4Xs2OPL+YE+Pjuf/g3lzT95V8/rlnLxSEr00yEONzAeZFFb5vtFT6hgAAAADQ yATgQC1rS/KF4sWu7VvSOfC9yldTJg8OvnixjvBlSR5IIQhvq2RtAFya779yrHhpVTXqAAAAAIBG JQAHalVTCuO/p9h8YF8ePjpYhXLK62xH+I1PPJZHnx8438vOjkXfWLnKAAAAAAAAFg4BOFCrelLo fD7nmZcO1lXndyknxsfziX2785Env5qdRw6f72WfTKEbvLVylQEsSG2TD/YPTevOnnev/qrkHuDe rwEAAACgQgTgQC1qS2Hv63OOnBzJvT/4bnWqqYJtp0Zy17NPp2v7lvONRV+dZHcKe6QDMAO/eO1M 2e+x7dRIqeWmst8YAAAAAEgiAAdqU1fxwgPPbc+J8fEqlFJdDx8dzI1PPJZnXjp4vpd8IYVR8cIV AAAAAACg4S2qdgGNrrm3uyVJy6SlQ8MdnYeqUgzUhrYkayYvbD6wL33Hh6pTTQ04MT6ej+7YnnUv /VO6fn9Nli5eUvyStSmMRG+f+BWA
Kho9M1b8Xt2apL861QAAAABAYxGAV0lzb/f6FEYXry5xbjCF js6NwnAaUNfkg9EzY/nUj3ZVqZTasmnoaB5/4rH8l/e35eaVVxefXpVCuLIhhf3TAajSdIwDw0PF 79OmdAAAAABAhRiBXmHNvd1Nzb3dPUm6UyL8nrAqySeTvNTc291VodKgFrSmqPv70R/9sCFHn5/P ifHx3PXs03lk145Sp5el8N6ysbJVAdSs1skHu372crXqAAAAAAAqRABeQc293WfHX667hC97oLm3 e6C5t1vnEI1gQ/HCoz/9STXqqHn3H9ybP//mExk9M1bq9CdjX3CAWtJS7QIAAAAAoFEIwCtkopN7 d87f9X0hq2PfSBpD++SDzQf2Ze/Y6WrVUvP6jg/lxicey/6hY6VOr03hfUMIDlBhJTrNW6pQBgAA AAA0JAF4mTX3drc293YPJHlgjpdabRw6da4thRHe5/QfOVydShaQE+PjuXXLk9l8YF+p06uTDKRo BDAAAAAAAEC9EoCXUXNv94YUOjBn0/VdyrTx0FBHpnR/j54Zy6aho9WqZcHpHPhePv/cs6VOrUrh fUgIDgAAAAAA1D0BeBk093Y3Nfd29yX5Qoo6WudoWXNvd/vFXwYLUtvkg/5D9v6+VA8Ovpiu7VtK 7Qu+LEJwoDFVZRuIF0aOFy+tqUYdAAAAANCIBODzrLm3uy2FkcNry3SLtjJdF6ptyqSEXcd+Vq06 FrSHjw5m3dNfF4IDFEz53vL9V45V5KYj47+qyH0AAAAAgOkE4PNoYo/uZ1IYOVwuwivqUVvxwg9P nqhCGfVh26kRITgAAAAAANCQBODzYNLI8weqXQssUC3FC9tOjVShjPohBAeoOVUZxw4AAAAAjUYA PkfNvd2tKe/Ic2gELZMPdh45XKUy6osQHKA6+ken7QGeeM8FAAAAgIoQgM9Bc2/3+hRCpHKOPIdG 0FLtAurVtlMjufsbfdk/NG3f
WyE4QJmcGB+vdgkAAAAA0LAE4LPU3Nvdk6Q7hRCpkvorfD+ohJbJ B7t+9nKVyqhPe8dO555tTwnBAQAAAACAuicAv0QT+333J1lXpRL6qnRfYAE7MT4uBAcAAAAAAOqe APwSTNrve02VShgc7ugcqNK9gQXuxPh47t/xrD3BASrgyMmR4iXvsQAAAABQAQLwGWru7W5L9ff7 Xl/FewN1YNupkax7+usXCsFbKl0TQJm0FC+8ePpUxW7+8ujJ4qWmit0cAAAAABqYAHwGmnu71yd5 JpXf73uyTcMdnf1VvD9QJy4SgvdFSAPUh5bihb1jp6tQBgAAAABQSQLwi2ju7e5J0l3lMvYk2VDl GoA6coEQfHUKneBCcAAAAAAAYMERgF/ARPi9rspl7EnSNtzReaLKdQB1RggOAAAAAADUm0XVLqAW Nfd2N6UQ/qyucilfHO7o1PkNlM3ZEHzTnR/K0sVLJp9ancI49LaqFAawwI2+dqZ4qbUadQAAAABA o9EBXqRGwu/BJLcLv2kghyYf3PTWt1WpjMa07dRIur69tdSpNUl6KlsNQH144dVXi5dM1QAAAACA ChCAT9Lc292aZCDVDb+/mKR1uKOzv4o1QKUdqnYBjW7T0NF0bd9S6tS6CMEBAAAAAIAFwgj0CRPh d3+SZVUqYSTJ+uGOzr4q3R+qacoe99c2L69WHQ3t4aODyfYt6br1juJT61J4OGhj5asCAAAAAACY OR3gqYnwe2uSFuE3DWxg8sHSxUvStMjzOdXw8NHBPLJrR6lTX0iyvrLVAAAAAAAAXJqGD8BrIPz+ 3HBHZ9twR+eJi78U6tZA8ULb0iurUQdJ7j+4N5sP7Ct1qjtJW2WrAQAAAAAAmLmGbrGscvg9kqTd Xt+QpDACfSST/iz+3luuSt/xoepV1OA6B76X7iT3XHt98am+FELwaQ8tACw07VfOfcuN832v+sWv XiteapnzzQAAAACAi2rY
ALy5t7s9SU+qE35vTSH81vUNbxhIsubswbvf/OYqlkJSCMG3v7k51y2/ avLyshQeHGpJ0d7tADWiKUlrkluKT+z5o49k5RXz+6Pflyd9vn/oWH7x2pkkycu/GC1+6ap5vTEA AAAAUNKbXn/99WrXUHHNvd3rUxjlWw1fHO7o3FCle0Mt60rywNmD0TNjuabvK9WrhiRJ06JF2Xzb B4tD8CTZk0InuBAcqJaWFILusx9NmfQgVQ3bmuTQxEf/pM8BAAAAgHnQcAF4FceejyTZMNzR2VPh +8JC0ZbkmckLH3nyq9l2aqQ61XDODUsuyxN3tWfp4iXFp7bGnuBAZbSkEHK3Tfy6EILuSzGSwiSU /km/esAIAAAAAGahoQLwKobfgymMPLdnLlzYlDekzz/3bB4cfLFatTDJbZcvy6Y7P1QqBN+UZH3l KwLq3Nmwu23i80YcHz6Yws+tZz8OVa8UAAAAAFg4GiYAr2L4vSdJm/2+YUb6M6mrb+eRw7nr2aer Vw1TrFu+Ig/d8cFSpzqT9FS2GqDOtOSNwLs98/Tz2tk9uV949ZWMvvZakuT7rxw7d75/9HhOjI/P +vo3LLks77rs8nPHv/eWwnYRKy6/PG+7fGl+418uLrWFxGydDcT7okMcAAAAAM6rIQLwKobfm4Y7 OtdX+J6wkG1I8oXJC+/8r//vnMIJ5td9K1al69Y7Sp26PYX3WYCZak0h7G5Psnq2FzlyciQvj57M rp+9nJd/eSo/Pf3LOQfb8+1sUH79FU35jX/xL3PTW9+Wty29IiuvmNOPpltTCMP7ojscAAAAAM6p +wC8iuH3p4Y7OjdW+J6w0LUkeWnyQtf2LXn46GB1qqGk7tb35Z5rry9eHkmhc9NWD8CFtKawbUJ7 ZjHWfP/QsRx8dTgvHn81+06eSN/xofmur6KaFi1K29Ir83tvuSrvfvOb8+63LJ9tKL4nhZ93e+J9 GAAAAIAGV9cBeHNv
d1MKHTGVDr87hzs6eyp8T6gXA5nUCWgMem36xi135uaVVxcv70khBDeWF5hs 1qH3ziOHs+tnL+f7rxyrua7ucmlatChrr7wqNy3/zdz41hWzGaG+J4UgXGc4AAAAAA2pbgPwifC7 P3MYqTkLIyns963zBmZv2hj0NY//l+wdO12lciiladGibL7tg6WCma0phOBAY2tKIfRen0v4WWz/ 0LHs/tnRbHn5pwu+u3u+TA7E16y65lI7xLfmjTDcw0kAAAAANIS6DMCF37CgtaRoDPoju3bk/oN7 q1MN53Xb5cuy6c4PZeniJcWnvpjCgwxA42lLIfReN9MveOalg9n603/OM68e87DTDNyw5LKs/c23 57arV5WaxHE+IymE4BtjRDoAAAAAda5eA/C+JGsreMs9KYTfOmtgfvQnWXP24MjJkaz+h69WrxrO q/3K5fnyB+4udaozha5DoP41pTDevCszGHE+emYs/Yd+kv4jh7Np6Gi5a6trTYsW5d9etTJr3v5b uf2ad870y852hfeUqy4AAAAAqKa6C8Cbe7t7cgldR/NA+A3zb32S7skLXdu35OGjg9Wphgv67Kp3 5dPvv6V4eSSFTlCdhlC/WlKY9rA+yUXncp/t9PZeXh5nw/C73/GumXaGD6YQgm+M8egAAAAA1JG6 CsCbe7u7kjxQwVsKv6F8TmRSoLLzyOHc9ezTVSyHC+lufV/uufb64uXBJK0RrEC9aUmh2/uiDxzu HzqWf/inF/J/H3kpJ8bHy10XE25Yclk+9vZ35O53XTuTPcNH8kYQfqjMpQEAAABA2dVNAN7c270+ RR2jZbYpyQbhN5RNV4oeaPnzbz6RvuND1amGi9p+x4dz3fKripcfT2E0MrDwtWUG+3ufHXHeffDH 2XZqpBJ1cQHtVy7P2lXvKPWQUimbUvj+e6icNQEAAABAOdVFAN7c292aZHcFb7lpuKNzfQXvB42o JclLkxd0gde2
G5Zclifuas/SxUuKT30uhUAFWJhaUugQXnOhFx05OZLefc/r9q5RZ7vCP/Y7v1vq fbqYIBwAAACABWvBB+DNvd0tKewxe9H5jvNE+A2V05OiTkNd4LWt/crl+fIH7i516vYk/ZWtBpij lsxg1PnOI4fzlQP7smnoaCVqYh7ct2JV7l1900zGo38xhd8DJh4BAAAAsGAs6AC8ube7KYVAZXWF bin8hspqiS7wBeezq96VT7//luLlkRT+ewpRoPY1pbAf9AWD72deOpi/e/HHHkpawNqvXJ6/uGF1 bl559YVeNpLC74eN8R4OAAAAwAKw0APwviRrK3Q74TdUR090gS84j7331tx+zTuLl7emsIcwULu6 kmzIBSbrbD6wL3/94x9m79jpihVFec0wCB9M4fdHTyVqAgAAAIDZWrABeHNvd1eSByp0O+E3VE9L dIEvOE2LFmXrH/5xqfG69gOH2tSeQofvqvO9QPBd/2YYhG9N4X28vxI1AQAAAMClWpABeHNvd3uS v6/Q7fYkaRvu6DTyEaqnJ0Vd4F3bt+Tho4PVqYYZue3yZfnqhz9S6pT9wKF2tKTwHrvmfC/YeeRw /nbvHpM3Gkj7lcvzmRvfm+uWX3Whl21KYVqAn5EBAAAAqCkLLgBv7u1uTSE4Oe9oznkk/Iba0JJk IJP+3B85OZI1//i1nBgfr1pRXNx59gMfTNIaoQlUW1cuMO58/9CxPLR7h+C7gd23YlXuXX1TqWke Z42k8Huop2JFAQAAAMBFLKgAvLm3uymF8Ht1BW4n/Iba0pWibQ8efX4gn9i3uzrVMGPn2Q/88RRG LgOV15pCYFny56nRM2N5aMd3TNkgSWFLi3/fcm0+9ju/m6WLl5zvZVuTrE9yqFJ1AQAAAMD5/Fq1 C7hEG1OZ8Hswwm+oNRtT+LN5zsfe05rbLq/EMAjm4t4ffDejZ8aKl9emEJYAldWVZHfO8/PUo88P 5MYnHhN+
c86J8fHcf3Bv7v5GX5556eD5XrYmhUktGypXGQAAAACUtmA6wJt7uzck+UIFbjWSQvg9 UIF7AZemPcnfT17YP3Qst255skrlMFPtVy7Plz9wd/HySAqdqIcqXhA0ngt2fe88cjgPDnw/206N VLQoFp72K5fnc++/9UJj0XWDAwAAAFBV/01XV1e1a7ioiX2///6iL5w74TfUth8nuTHJb59dWP4b v5FlZ36VLa/ao7aW/Xjsl1l25le5ecXKyctLUvjv2VOVoqBxdCX5SpK3Fp8YPTOW/7jzuXz8+Z0Z fO1MxQtj4fnx2C/ztwf3l3pPP6slSWeSn6XQFQ4AAAAAFVXzHeAT+34PJFlVgdt1Dnd09lTgPsDs taTwnjCl9ewjT35V5+ICsP2OD+e65VcVL38uhYAOmF8tKTxgsqbUyWdeOph7f/DdnBgfr2RN1JHb Ll+Wv3zvLaXe1896PIVucNsKAQAAAFAxC2EP8J5UJvz+lPAbFoRDKRGW/uV7b0nTokUVL4ZLc/+O Z0vtB/5ACuOZgfnTnsLDQtPC79EzY/nMlqfy0R3bhd/MybZTI7l1y5N5ZNeO871kbQq/D73HAwAA AFAxNd0BXsF9vzcNd3Sur8B9gPnTn6JgZ/OBfekc+F51qmHGPrvqXfn0+28pXt4TAQnMl41JPlnq xM4jh/Onz/ULvpl3M+gG/1QKvzcBAAAAoKxqNgCf2Pe7P0Vjjstg63BHZ1uZ7wHMv6YUusGnvEd0 bd+Sh48OVqUgZu4bt9yZm1deXbxsFDrMTVMKPzutLnXy8889mwcHX6xoQTSev7n+xnzsPed9nmlT kg0xEh0AAACAMqrlEeg9KX/4vSeFEaHAwnMihX1Fp/jMe/91bru83G8dzNVndn77fKPQWypfDdSF 1hQeCpoWfu8fOpaPPPlV4TcV8Yl9u/Pn33yi1Ht8kqxL4SENEz8AAAAAKJuaDMCbe7s35jzdS/No JMn6
4Y5OHSiwcPUl+eLkhaWLl+T/uvUP7Ade4/aOnc6Xdu8sdaqnwqVAPVifZHdKPDi4+cC+3LPt qWw7NVLxomhcfceHcuMTj2XnkcOlTq9OIQRvq2RNAAAAADSOmhuB3tzb3ZbkmQrc6k+GOzr7KnAf oPwGUvTQzM4jh3PXs09XqRxm6jyj0O0TCzPXk0JX7RSjZ8by0I7v2BKCqvvLd96Qj9/03vOd7owH nwAAAACYZzUVgDf3djelEGStKvOtPjfc0dlV5nsAldOSwnvHlO7HzQf2pXPge1UpiJm5YclleeKu 9ixdvGTy8kgK/01N6IDza0phCsaa4hNHTo7k323/lq5vasa65SvS9ftrit/rz9qUEluaAAAAAMBs 1doI9J6UP/zeKvyGunMoSXvx4j3XXp/PrnpX5athxvaOnc6jP/ph8fKy6AiEC2lKYYT0tPB755HD WfOPXxN+U1M2DR3Nuqe/nv1Dx0qdXpfCwxxNla0KAAAAgHpVMwF4c293e5K1Zb7NYEqEZEBd6E9h lGo+8uR/zcmxsSTJp99/S+5bUe7napiL+w/uLRWKrI39YaGU1hQe+lldfGLzgX2569mnc2J8vOJF wcVsOzWSe7Y9lWdeOljq9NoUvo8LwQEAAACYs5oIwCdGn/dU4Fbtwx2dRupC/eo5durUV7adOpn1 33ryXAjedesdWbd8RZVL40Ie2r2j1HJPhcuAWteaQki4rPhE1/Yttnyg5p0YH89Hd2zP5gP7Sp1e ncLv79aKFgUAAABA3amJADyFkGPaX+bOs08Nd3QOlPkeQJVd/+RjO5JkWgj++2ty2+XlfpthtvqO D5UKRFYl2VCFcqAWtadE+D16Ziyf2fJUHj46WJWiYDY6B76Xru1bSp0SggMAAAAwZ296/fXXq1rA xOjzvy/zbbYOd3S2lfkeQA1o7u0+lEJwmiS57fIr0vMHH84VS5Zk9MxY1j39dXvj1qimRYuy++6P
ZuniJZOXR5K0JDG9g0a2Pkl38aL3NBa6+1asymfe+6+L3/eTwnt/WxIPrwIAAABwyaraAT4x+nxj mW8zEvt+Q0No7u1en0nhdzK1E3zp4iXZdOeHdILXqBPj4/nS7p3Fy8uiC5zGtj4lwu/9Q8eE3yx4 Dx8dzLqnv57RM2PFp5ZFJzgAAAAAs1TtEehdKQqrysC+39A4ukotCsEXjgcHX8yRk9MCvQ1JmqpQ DlTb+pwn/L5n21PCb+rCtlMjQnAAAAAA5lXVAvDm3u62JJ8s822+ONzR2V/mewA1oLm3uysXeKCm OAT/6oc/kvtWlPv5G2bjS3t2FS8tS/mnhUCtWZ8LhN8nxscrXxGUiRAcAAAAgPlUzQ7wcocZgzlP NyhQX5p7u1sygzHZk0PwJOm69Q4heA16+Ohgdh45XLy8LoW9wKERrI/wmwaz7dRIbnzisewfOlZ8 SggOAAAAwCWpSgA+0am5usy3MfocGsfGFP6C/KJKheB/c/2N5ayNWfjbvXtKLXdVuAyohvURftOg ToyP555tTwnBAQAAAJiTN73++usVveFEp+ZAZhhWzdLnhjs6u8p4faBGNPd2tyf5+0v9utsuvyI9 f/DhXLFkSZJk84F96Rz43nyXxxx845Y7c/PKq4uXr0lhP/C2iY+WTH+gaiSF7zNnP/qSeCCKhaA1 ye7iReE3jaZp0aJsvu2DuW75VcWnRlJ47x+oeFEAAAAALBjVCMD7kqwt4y32DHd06g6BBtDc292U 5FBm+UBNcQguZKot7Vcuz5c/cHfx8qkkl8/icluT9Ex8QC1qTaHDdcr7mfclGlXTokXZ+od/nJVX TPsWP5jCnxcPNgEAAABQUkVHoDf3drelvOF3UhgdCjSGnsxhmkTxOPTrll+Vzbd9MLddXs4BFcxU 3/Gh7Pn5y8XLswm/k2RNCmOlD2UG+8VDhQm/ociJ8fH8u+3fyuiZseJTq1L489JU8aIAAAAAW
BAq vQd4T5mv/8Xhjk4jEaFxtMz1AttOnczdT/Vl/9DPkxRC8E13fkgIXiO6fzTvb+mrknwhhSC8bb4v DrPQlBIP89Rb+P1S+79Jd+v7sm75imqXwgKy7dRI1j399VIh+OoUtrcAAAAAgGkqNgK9ube7K8kD ZbzFYJLW4Y5O4xChQUyMQO/JPEyWuGLRojx52wdy3fLfPLfWtX1LHj46ONdLM0d7/ugjpUbgZueR w9n1s5fzwsjxjIz/6tz62y/79bzt1y/PTW99W6k9xIt9MUlXjNKlegZStI/96Jmx3P2NvuwdO12l kubfcEfnuc8f2bUj9x/cW8VqWGhuu3xZNt35oSxdvKT41KaY/gQAAABAkYoE4HPdp3eGbh/u6Owv 4/WBGtXc292TZN1cr1MqBH/0+YF8Yt/uuV6aOfi3zW/Nxj/4oylrO48czl3PPn3Rr21atCj/y8pr 0nH9e0qG6BP2JGlP4fsUVFJPit67Rs+MZd3TX8+2UyPVqahMXmr/N+fCy9EzY7nxicfqprudyli3 fEUeuuODpU59KsnGCpcDAAAAQA2r1Aj0jSlv+P2

<TRUNCATED>
a***@apache.org
2017-12-21 04:53:09 UTC
Permalink
http://git-wip-us.apache.org/repos/asf/mahout/blob/9beddd31/website-old/assets/themes/mahout/bootstrap/css/bootstrap.css
----------------------------------------------------------------------
diff --git a/website-old/assets/themes/mahout/bootstrap/css/bootstrap.css b/website-old/assets/themes/mahout/bootstrap/css/bootstrap.css
deleted file mode 100644
index 1af5861..0000000
--- a/website-old/assets/themes/mahout/bootstrap/css/bootstrap.css
+++ /dev/null
@@ -1,7100 +0,0 @@
-/*!
- * Bootstrap v3.0.2 by @fat and @mdo
- * Copyright 2013 Twitter, Inc.
- * Licensed under http://www.apache.org/licenses/LICENSE-2.0
- *
- * Designed and built with all the love in the world by @mdo and @fat.
- */
-
-/*! normalize.css v2.1.3 | MIT License | git.io/normalize */
-
-article,
-aside,
-details,
-figcaption,
-figure,
-footer,
-header,
-hgroup,
-main,
-nav,
-section,
-summary {
- display: block;
-}
-
-audio,
-canvas,
-video {
- display: inline-block;
-}
-
-audio:not([controls]) {
- display: none;
- height: 0;
-}
-
-[hidden],
-template {
- display: none;
-}
-
-html {
- font-family: sans-serif;
- -webkit-text-size-adjust: 100%;
- -ms-text-size-adjust: 100%;
-}
-
-body {
- margin: 0;
-}
-
-a {
- background: transparent;
-}
-
-a:focus {
- outline: thin dotted;
-}
-
-a:active,
-a:hover {
- outline: 0;
-}
-
-h1 {
- margin: 0.67em 0;
- font-size: 2em;
-}
-
-abbr[title] {
- border-bottom: 1px dotted;
-}
-
-b,
-strong {
- font-weight: bold;
-}
-
-dfn {
- font-style: italic;
-}
-
-hr {
- height: 0;
- -moz-box-sizing: content-box;
- box-sizing: content-box;
-}
-
-mark {
- color: #000;
- background: #ff0;
-}
-
-code,
-kbd,
-pre,
-samp {
- font-family: monospace, serif;
- font-size: 1em;
-}
-
-pre {
- white-space: pre-wrap;
-}
-
-q {
- quotes: "\201C" "\201D" "\2018" "\2019";
-}
-
-small {
- font-size: 80%;
-}
-
-sub,
-sup {
- position: relative;
- font-size: 75%;
- line-height: 0;
- vertical-align: baseline;
-}
-
-sup {
- top: -0.5em;
-}
-
-sub {
- bottom: -0.25em;
-}
-
-img {
- border: 0;
-}
-
-svg:not(:root) {
- overflow: hidden;
-}
-
-figure {
- margin: 0;
-}
-
-fieldset {
- padding: 0.35em 0.625em 0.75em;
- margin: 0 2px;
- border: 1px solid #c0c0c0;
-}
-
-legend {
- padding: 0;
- border: 0;
-}
-
-button,
-input,
-select,
-textarea {
- margin: 0;
- font-family: inherit;
- font-size: 100%;
-}
-
-button,
-input {
- line-height: normal;
-}
-
-button,
-select {
- text-transform: none;
-}
-
-button,
-html input[type="button"],
-input[type="reset"],
-input[type="submit"] {
- cursor: pointer;
- -webkit-appearance: button;
-}
-
-button[disabled],
-html input[disabled] {
- cursor: default;
-}
-
-input[type="checkbox"],
-input[type="radio"] {
- padding: 0;
- box-sizing: border-box;
-}
-
-input[type="search"] {
- -webkit-box-sizing: content-box;
- -moz-box-sizing: content-box;
- box-sizing: content-box;
- -webkit-appearance: textfield;
-}
-
-input[type="search"]::-webkit-search-cancel-button,
-input[type="search"]::-webkit-search-decoration {
- -webkit-appearance: none;
-}
-
-button::-moz-focus-inner,
-input::-moz-focus-inner {
- padding: 0;
- border: 0;
-}
-
-textarea {
- overflow: auto;
- vertical-align: top;
-}
-
-table {
- border-collapse: collapse;
- border-spacing: 0;
-}
-
-@media print {
- * {
- color: #000 !important;
- text-shadow: none !important;
- background: transparent !important;
- box-shadow: none !important;
- }
- a,
- a:visited {
- text-decoration: underline;
- }
- a[href]:after {
- content: " (" attr(href) ")";
- }
- abbr[title]:after {
- content: " (" attr(title) ")";
- }
- a[href^="javascript:"]:after,
- a[href^="#"]:after {
- content: "";
- }
- pre,
- blockquote {
- border: 1px solid #999;
- page-break-inside: avoid;
- }
- thead {
- display: table-header-group;
- }
- tr,
- img {
- page-break-inside: avoid;
- }
- img {
- max-width: 100% !important;
- }
- @page {
- margin: 2cm .5cm;
- }
- p,
- h2,
- h3 {
- orphans: 3;
- widows: 3;
- }
- h2,
- h3 {
- page-break-after: avoid;
- }
- select {
- background: #fff !important;
- }
- .navbar {
- display: none;
- }
- .table td,
- .table th {
- background-color: #fff !important;
- }
- .btn > .caret,
- .dropup > .btn > .caret {
- border-top-color: #000 !important;
- }
- .label {
- border: 1px solid #000;
- }
- .table {
- border-collapse: collapse !important;
- }
- .table-bordered th,
- .table-bordered td {
- border: 1px solid #ddd !important;
- }
-}
-
-*,
-*:before,
-*:after {
- -webkit-box-sizing: border-box;
- -moz-box-sizing: border-box;
- box-sizing: border-box;
-}
-
-html {
- font-size: 62.5%;
- -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
-}
-
-body {
- font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
- font-size: 14px;
- line-height: 1.428571429;
- color: #333333;
- background-color: #ffffff;
-}
-
-input,
-button,
-select,
-textarea {
- font-family: inherit;
- font-size: inherit;
- line-height: inherit;
-}
-
-a {
- color: #428bca;
- text-decoration: none;
-}
-
-a:hover,
-a:focus {
- color: #2a6496;
- text-decoration: underline;
-}
-
-a:focus {
- outline: thin dotted #333;
- outline: 5px auto -webkit-focus-ring-color;
- outline-offset: -2px;
-}
-
-img {
- vertical-align: middle;
-}
-
-.img-responsive {
- display: block;
- height: auto;
- max-width: 100%;
-}
-
-.img-rounded {
- border-radius: 6px;
-}
-
-.img-thumbnail {
- display: inline-block;
- height: auto;
- max-width: 100%;
- padding: 4px;
- line-height: 1.428571429;
- background-color: #ffffff;
- border: 1px solid #dddddd;
- border-radius: 4px;
- -webkit-transition: all 0.2s ease-in-out;
- transition: all 0.2s ease-in-out;
-}
-
-.img-circle {
- border-radius: 50%;
-}
-
-hr {
- margin-top: 20px;
- margin-bottom: 20px;
- border: 0;
- border-top: 1px solid #eeeeee;
-}
-
-.sr-only {
- position: absolute;
- width: 1px;
- height: 1px;
- padding: 0;
- margin: -1px;
- overflow: hidden;
- clip: rect(0, 0, 0, 0);
- border: 0;
-}
-
-p {
- margin: 0 0 10px;
-}
-
-.lead {
- margin-bottom: 20px;
- font-size: 16px;
- font-weight: 200;
- line-height: 1.4;
-}
-
-@media (min-width: 768px) {
- .lead {
- font-size: 21px;
- }
-}
-
-small,
-.small {
- font-size: 85%;
-}
-
-cite {
- font-style: normal;
-}
-
-.text-muted {
- color: #999999;
-}
-
-.text-primary {
- color: #428bca;
-}
-
-.text-primary:hover {
- color: #3071a9;
-}
-
-.text-warning {
- color: #c09853;
-}
-
-.text-warning:hover {
- color: #a47e3c;
-}
-
-.text-danger {
- color: #b94a48;
-}
-
-.text-danger:hover {
- color: #953b39;
-}
-
-.text-success {
- color: #468847;
-}
-
-.text-success:hover {
- color: #356635;
-}
-
-.text-info {
- color: #3a87ad;
-}
-
-.text-info:hover {
- color: #2d6987;
-}
-
-.text-left {
- text-align: left;
-}
-
-.text-right {
- text-align: right;
-}
-
-.text-center {
- text-align: center;
-}
-
-h1,
-h2,
-h3,
-h4,
-h5,
-h6,
-.h1,
-.h2,
-.h3,
-.h4,
-.h5,
-.h6 {
- font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
- font-weight: 500;
- line-height: 1.1;
- color: inherit;
-}
-
-h1 small,
-h2 small,
-h3 small,
-h4 small,
-h5 small,
-h6 small,
-.h1 small,
-.h2 small,
-.h3 small,
-.h4 small,
-.h5 small,
-.h6 small,
-h1 .small,
-h2 .small,
-h3 .small,
-h4 .small,
-h5 .small,
-h6 .small,
-.h1 .small,
-.h2 .small,
-.h3 .small,
-.h4 .small,
-.h5 .small,
-.h6 .small {
- font-weight: normal;
- line-height: 1;
- color: #999999;
-}
-
-h1,
-h2,
-h3 {
- margin-top: 20px;
- margin-bottom: 10px;
-}
-
-h1 small,
-h2 small,
-h3 small,
-h1 .small,
-h2 .small,
-h3 .small {
- font-size: 65%;
-}
-
-h4,
-h5,
-h6 {
- margin-top: 10px;
- margin-bottom: 10px;
-}
-
-h4 small,
-h5 small,
-h6 small,
-h4 .small,
-h5 .small,
-h6 .small {
- font-size: 75%;
-}
-
-h1,
-.h1 {
- font-size: 36px;
-}
-
-h2,
-.h2 {
- font-size: 30px;
-}
-
-h3,
-.h3 {
- font-size: 24px;
-}
-
-h4,
-.h4 {
- font-size: 18px;
-}
-
-h5,
-.h5 {
- font-size: 14px;
-}
-
-h6,
-.h6 {
- font-size: 12px;
-}
-
-.page-header {
- padding-bottom: 9px;
- margin: 40px 0 20px;
- border-bottom: 1px solid #eeeeee;
-}
-
-ul,
-ol {
- margin-top: 0;
- margin-bottom: 10px;
-}
-
-ul ul,
-ol ul,
-ul ol,
-ol ol {
- margin-bottom: 0;
-}
-
-.list-unstyled {
- padding-left: 0;
- list-style: none;
-}
-
-.list-inline {
- padding-left: 0;
- list-style: none;
-}
-
-.list-inline > li {
- display: inline-block;
- padding-right: 5px;
- padding-left: 5px;
-}
-
-.list-inline > li:first-child {
- padding-left: 0;
-}
-
-dl {
- margin-bottom: 20px;
-}
-
-dt,
-dd {
- line-height: 1.428571429;
-}
-
-dt {
- font-weight: bold;
-}
-
-dd {
- margin-left: 0;
-}
-
-@media (min-width: 768px) {
- .dl-horizontal dt {
- float: left;
- width: 160px;
- overflow: hidden;
- clear: left;
- text-align: right;
- text-overflow: ellipsis;
- white-space: nowrap;
- }
- .dl-horizontal dd {
- margin-left: 180px;
- }
- .dl-horizontal dd:before,
- .dl-horizontal dd:after {
- display: table;
- content: " ";
- }
- .dl-horizontal dd:after {
- clear: both;
- }
- .dl-horizontal dd:before,
- .dl-horizontal dd:after {
- display: table;
- content: " ";
- }
- .dl-horizontal dd:after {
- clear: both;
- }
-}
-
-abbr[title],
-abbr[data-original-title] {
- cursor: help;
- border-bottom: 1px dotted #999999;
-}
-
-abbr.initialism {
- font-size: 90%;
- text-transform: uppercase;
-}
-
-blockquote {
- padding: 10px 20px;
- margin: 0 0 20px;
- border-left: 5px solid #eeeeee;
-}
-
-blockquote p {
- font-size: 17.5px;
- font-weight: 300;
- line-height: 1.25;
-}
-
-blockquote p:last-child {
- margin-bottom: 0;
-}
-
-blockquote small {
- display: block;
- line-height: 1.428571429;
- color: #999999;
-}
-
-blockquote small:before {
- content: '\2014 \00A0';
-}
-
-blockquote.pull-right {
- padding-right: 15px;
- padding-left: 0;
- border-right: 5px solid #eeeeee;
- border-left: 0;
-}
-
-blockquote.pull-right p,
-blockquote.pull-right small,
-blockquote.pull-right .small {
- text-align: right;
-}
-
-blockquote.pull-right small:before,
-blockquote.pull-right .small:before {
- content: '';
-}
-
-blockquote.pull-right small:after,
-blockquote.pull-right .small:after {
- content: '\00A0 \2014';
-}
-
-blockquote:before,
-blockquote:after {
- content: "";
-}
-
-address {
- margin-bottom: 20px;
- font-style: normal;
- line-height: 1.428571429;
-}
-
-code,
-kbd,
-pre,
-samp {
- font-family: Monaco, Menlo, Consolas, "Courier New", monospace;
-}
-
-code {
- padding: 2px 4px;
- font-size: 90%;
- color: #c7254e;
- white-space: nowrap;
- background-color: #f9f2f4;
- border-radius: 4px;
-}
-
-pre {
- display: block;
- padding: 9.5px;
- margin: 0 0 10px;
- font-size: 13px;
- line-height: 1.428571429;
- color: #333333;
- word-break: break-all;
- word-wrap: break-word;
- background-color: #f5f5f5;
- border: 1px solid #cccccc;
- border-radius: 4px;
-}
-
-pre code {
- padding: 0;
- font-size: inherit;
- color: inherit;
- white-space: pre-wrap;
- background-color: transparent;
- border-radius: 0;
-}
-
-.pre-scrollable {
- max-height: 340px;
- overflow-y: scroll;
-}
-
-.container {
- padding-right: 15px;
- padding-left: 15px;
- margin-right: auto;
- margin-left: auto;
-}
-
-.container:before,
-.container:after {
- display: table;
- content: " ";
-}
-
-.container:after {
- clear: both;
-}
-
-.container:before,
-.container:after {
- display: table;
- content: " ";
-}
-
-.container:after {
- clear: both;
-}
-
-.row {
- margin-right: -15px;
- margin-left: -15px;
-}
-
-.row:before,
-.row:after {
- display: table;
- content: " ";
-}
-
-.row:after {
- clear: both;
-}
-
-.row:before,
-.row:after {
- display: table;
- content: " ";
-}
-
-.row:after {
- clear: both;
-}
-
-.col-xs-1,
-.col-sm-1,
-.col-md-1,
-.col-lg-1,
-.col-xs-2,
-.col-sm-2,
-.col-md-2,
-.col-lg-2,
-.col-xs-3,
-.col-sm-3,
-.col-md-3,
-.col-lg-3,
-.col-xs-4,
-.col-sm-4,
-.col-md-4,
-.col-lg-4,
-.col-xs-5,
-.col-sm-5,
-.col-md-5,
-.col-lg-5,
-.col-xs-6,
-.col-sm-6,
-.col-md-6,
-.col-lg-6,
-.col-xs-7,
-.col-sm-7,
-.col-md-7,
-.col-lg-7,
-.col-xs-8,
-.col-sm-8,
-.col-md-8,
-.col-lg-8,
-.col-xs-9,
-.col-sm-9,
-.col-md-9,
-.col-lg-9,
-.col-xs-10,
-.col-sm-10,
-.col-md-10,
-.col-lg-10,
-.col-xs-11,
-.col-sm-11,
-.col-md-11,
-.col-lg-11,
-.col-xs-12,
-.col-sm-12,
-.col-md-12,
-.col-lg-12 {
- position: relative;
- min-height: 1px;
- padding-right: 15px;
- padding-left: 15px;
-}
-
-.col-xs-1,
-.col-xs-2,
-.col-xs-3,
-.col-xs-4,
-.col-xs-5,
-.col-xs-6,
-.col-xs-7,
-.col-xs-8,
-.col-xs-9,
-.col-xs-10,
-.col-xs-11 {
- float: left;
-}
-
-.col-xs-12 {
- width: 100%;
-}
-
-.col-xs-11 {
- width: 91.66666666666666%;
-}
-
-.col-xs-10 {
- width: 83.33333333333334%;
-}
-
-.col-xs-9 {
- width: 75%;
-}
-
-.col-xs-8 {
- width: 66.66666666666666%;
-}
-
-.col-xs-7 {
- width: 58.333333333333336%;
-}
-
-.col-xs-6 {
- width: 50%;
-}
-
-.col-xs-5 {
- width: 41.66666666666667%;
-}
-
-.col-xs-4 {
- width: 33.33333333333333%;
-}
-
-.col-xs-3 {
- width: 25%;
-}
-
-.col-xs-2 {
- width: 16.666666666666664%;
-}
-
-.col-xs-1 {
- width: 8.333333333333332%;
-}
-
-.col-xs-pull-12 {
- right: 100%;
-}
-
-.col-xs-pull-11 {
- right: 91.66666666666666%;
-}
-
-.col-xs-pull-10 {
- right: 83.33333333333334%;
-}
-
-.col-xs-pull-9 {
- right: 75%;
-}
-
-.col-xs-pull-8 {
- right: 66.66666666666666%;
-}
-
-.col-xs-pull-7 {
- right: 58.333333333333336%;
-}
-
-.col-xs-pull-6 {
- right: 50%;
-}
-
-.col-xs-pull-5 {
- right: 41.66666666666667%;
-}
-
-.col-xs-pull-4 {
- right: 33.33333333333333%;
-}
-
-.col-xs-pull-3 {
- right: 25%;
-}
-
-.col-xs-pull-2 {
- right: 16.666666666666664%;
-}
-
-.col-xs-pull-1 {
- right: 8.333333333333332%;
-}
-
-.col-xs-pull-0 {
- right: 0;
-}
-
-.col-xs-push-12 {
- left: 100%;
-}
-
-.col-xs-push-11 {
- left: 91.66666666666666%;
-}
-
-.col-xs-push-10 {
- left: 83.33333333333334%;
-}
-
-.col-xs-push-9 {
- left: 75%;
-}
-
-.col-xs-push-8 {
- left: 66.66666666666666%;
-}
-
-.col-xs-push-7 {
- left: 58.333333333333336%;
-}
-
-.col-xs-push-6 {
- left: 50%;
-}
-
-.col-xs-push-5 {
- left: 41.66666666666667%;
-}
-
-.col-xs-push-4 {
- left: 33.33333333333333%;
-}
-
-.col-xs-push-3 {
- left: 25%;
-}
-
-.col-xs-push-2 {
- left: 16.666666666666664%;
-}
-
-.col-xs-push-1 {
- left: 8.333333333333332%;
-}
-
-.col-xs-push-0 {
- left: 0;
-}
-
-.col-xs-offset-12 {
- margin-left: 100%;
-}
-
-.col-xs-offset-11 {
- margin-left: 91.66666666666666%;
-}
-
-.col-xs-offset-10 {
- margin-left: 83.33333333333334%;
-}
-
-.col-xs-offset-9 {
- margin-left: 75%;
-}
-
-.col-xs-offset-8 {
- margin-left: 66.66666666666666%;
-}
-
-.col-xs-offset-7 {
- margin-left: 58.333333333333336%;
-}
-
-.col-xs-offset-6 {
- margin-left: 50%;
-}
-
-.col-xs-offset-5 {
- margin-left: 41.66666666666667%;
-}
-
-.col-xs-offset-4 {
- margin-left: 33.33333333333333%;
-}
-
-.col-xs-offset-3 {
- margin-left: 25%;
-}
-
-.col-xs-offset-2 {
- margin-left: 16.666666666666664%;
-}
-
-.col-xs-offset-1 {
- margin-left: 8.333333333333332%;
-}
-
-.col-xs-offset-0 {
- margin-left: 0;
-}
-
-@media (min-width: 768px) {
- .container {
- width: 750px;
- }
- .col-sm-1,
- .col-sm-2,
- .col-sm-3,
- .col-sm-4,
- .col-sm-5,
- .col-sm-6,
- .col-sm-7,
- .col-sm-8,
- .col-sm-9,
- .col-sm-10,
- .col-sm-11 {
- float: left;
- }
- .col-sm-12 {
- width: 100%;
- }
- .col-sm-11 {
- width: 91.66666666666666%;
- }
- .col-sm-10 {
- width: 83.33333333333334%;
- }
- .col-sm-9 {
- width: 75%;
- }
- .col-sm-8 {
- width: 66.66666666666666%;
- }
- .col-sm-7 {
- width: 58.333333333333336%;
- }
- .col-sm-6 {
- width: 50%;
- }
- .col-sm-5 {
- width: 41.66666666666667%;
- }
- .col-sm-4 {
- width: 33.33333333333333%;
- }
- .col-sm-3 {
- width: 25%;
- }
- .col-sm-2 {
- width: 16.666666666666664%;
- }
- .col-sm-1 {
- width: 8.333333333333332%;
- }
- .col-sm-pull-12 {
- right: 100%;
- }
- .col-sm-pull-11 {
- right: 91.66666666666666%;
- }
- .col-sm-pull-10 {
- right: 83.33333333333334%;
- }
- .col-sm-pull-9 {
- right: 75%;
- }
- .col-sm-pull-8 {
- right: 66.66666666666666%;
- }
- .col-sm-pull-7 {
- right: 58.333333333333336%;
- }
- .col-sm-pull-6 {
- right: 50%;
- }
- .col-sm-pull-5 {
- right: 41.66666666666667%;
- }
- .col-sm-pull-4 {
- right: 33.33333333333333%;
- }
- .col-sm-pull-3 {
- right: 25%;
- }
- .col-sm-pull-2 {
- right: 16.666666666666664%;
- }
- .col-sm-pull-1 {
- right: 8.333333333333332%;
- }
- .col-sm-pull-0 {
- right: 0;
- }
- .col-sm-push-12 {
- left: 100%;
- }
- .col-sm-push-11 {
- left: 91.66666666666666%;
- }
- .col-sm-push-10 {
- left: 83.33333333333334%;
- }
- .col-sm-push-9 {
- left: 75%;
- }
- .col-sm-push-8 {
- left: 66.66666666666666%;
- }
- .col-sm-push-7 {
- left: 58.333333333333336%;
- }
- .col-sm-push-6 {
- left: 50%;
- }
- .col-sm-push-5 {
- left: 41.66666666666667%;
- }
- .col-sm-push-4 {
- left: 33.33333333333333%;
- }
- .col-sm-push-3 {
- left: 25%;
- }
- .col-sm-push-2 {
- left: 16.666666666666664%;
- }
- .col-sm-push-1 {
- left: 8.333333333333332%;
- }
- .col-sm-push-0 {
- left: 0;
- }
- .col-sm-offset-12 {
- margin-left: 100%;
- }
- .col-sm-offset-11 {
- margin-left: 91.66666666666666%;
- }
- .col-sm-offset-10 {
- margin-left: 83.33333333333334%;
- }
- .col-sm-offset-9 {
- margin-left: 75%;
- }
- .col-sm-offset-8 {
- margin-left: 66.66666666666666%;
- }
- .col-sm-offset-7 {
- margin-left: 58.333333333333336%;
- }
- .col-sm-offset-6 {
- margin-left: 50%;
- }
- .col-sm-offset-5 {
- margin-left: 41.66666666666667%;
- }
- .col-sm-offset-4 {
- margin-left: 33.33333333333333%;
- }
- .col-sm-offset-3 {
- margin-left: 25%;
- }
- .col-sm-offset-2 {
- margin-left: 16.666666666666664%;
- }
- .col-sm-offset-1 {
- margin-left: 8.333333333333332%;
- }
- .col-sm-offset-0 {
- margin-left: 0;
- }
-}
-
-@media (min-width: 992px) {
- .container {
- width: 970px;
- }
- .col-md-1,
- .col-md-2,
- .col-md-3,
- .col-md-4,
- .col-md-5,
- .col-md-6,
- .col-md-7,
- .col-md-8,
- .col-md-9,
- .col-md-10,
- .col-md-11 {
- float: left;
- }
- .col-md-12 {
- width: 100%;
- }
- .col-md-11 {
- width: 91.66666666666666%;
- }
- .col-md-10 {
- width: 83.33333333333334%;
- }
- .col-md-9 {
- width: 75%;
- }
- .col-md-8 {
- width: 66.66666666666666%;
- }
- .col-md-7 {
- width: 58.333333333333336%;
- }
- .col-md-6 {
- width: 50%;
- }
- .col-md-5 {
- width: 41.66666666666667%;
- }
- .col-md-4 {
- width: 33.33333333333333%;
- }
- .col-md-3 {
- width: 25%;
- }
- .col-md-2 {
- width: 16.666666666666664%;
- }
- .col-md-1 {
- width: 8.333333333333332%;
- }
- .col-md-pull-12 {
- right: 100%;
- }
- .col-md-pull-11 {
- right: 91.66666666666666%;
- }
- .col-md-pull-10 {
- right: 83.33333333333334%;
- }
- .col-md-pull-9 {
- right: 75%;
- }
- .col-md-pull-8 {
- right: 66.66666666666666%;
- }
- .col-md-pull-7 {
- right: 58.333333333333336%;
- }
- .col-md-pull-6 {
- right: 50%;
- }
- .col-md-pull-5 {
- right: 41.66666666666667%;
- }
- .col-md-pull-4 {
- right: 33.33333333333333%;
- }
- .col-md-pull-3 {
- right: 25%;
- }
- .col-md-pull-2 {
- right: 16.666666666666664%;
- }
- .col-md-pull-1 {
- right: 8.333333333333332%;
- }
- .col-md-pull-0 {
- right: 0;
- }
- .col-md-push-12 {
- left: 100%;
- }
- .col-md-push-11 {
- left: 91.66666666666666%;
- }
- .col-md-push-10 {
- left: 83.33333333333334%;
- }
- .col-md-push-9 {
- left: 75%;
- }
- .col-md-push-8 {
- left: 66.66666666666666%;
- }
- .col-md-push-7 {
- left: 58.333333333333336%;
- }
- .col-md-push-6 {
- left: 50%;
- }
- .col-md-push-5 {
- left: 41.66666666666667%;
- }
- .col-md-push-4 {
- left: 33.33333333333333%;
- }
- .col-md-push-3 {
- left: 25%;
- }
- .col-md-push-2 {
- left: 16.666666666666664%;
- }
- .col-md-push-1 {
- left: 8.333333333333332%;
- }
- .col-md-push-0 {
- left: 0;
- }
- .col-md-offset-12 {
- margin-left: 100%;
- }
- .col-md-offset-11 {
- margin-left: 91.66666666666666%;
- }
- .col-md-offset-10 {
- margin-left: 83.33333333333334%;
- }
- .col-md-offset-9 {
- margin-left: 75%;
- }
- .col-md-offset-8 {
- margin-left: 66.66666666666666%;
- }
- .col-md-offset-7 {
- margin-left: 58.333333333333336%;
- }
- .col-md-offset-6 {
- margin-left: 50%;
- }
- .col-md-offset-5 {
- margin-left: 41.66666666666667%;
- }
- .col-md-offset-4 {
- margin-left: 33.33333333333333%;
- }
- .col-md-offset-3 {
- margin-left: 25%;
- }
- .col-md-offset-2 {
- margin-left: 16.666666666666664%;
- }
- .col-md-offset-1 {
- margin-left: 8.333333333333332%;
- }
- .col-md-offset-0 {
- margin-left: 0;
- }
-}
-
-/*
-@media (min-width: 1200px) {
- .container {
- width: 1170px;
- }
- .col-lg-1,
- .col-lg-2,
- .col-lg-3,
- .col-lg-4,
- .col-lg-5,
- .col-lg-6,
- .col-lg-7,
- .col-lg-8,
- .col-lg-9,
- .col-lg-10,
- .col-lg-11 {
- float: left;
- }
- .col-lg-12 {
- width: 100%;
- }
- .col-lg-11 {
- width: 91.66666666666666%;
- }
- .col-lg-10 {
- width: 83.33333333333334%;
- }
- .col-lg-9 {
- width: 75%;
- }
- .col-lg-8 {
- width: 66.66666666666666%;
- }
- .col-lg-7 {
- width: 58.333333333333336%;
- }
- .col-lg-6 {
- width: 50%;
- }
- .col-lg-5 {
- width: 41.66666666666667%;
- }
- .col-lg-4 {
- width: 33.33333333333333%;
- }
- .col-lg-3 {
- width: 25%;
- }
- .col-lg-2 {
- width: 16.666666666666664%;
- }
- .col-lg-1 {
- width: 8.333333333333332%;
- }
- .col-lg-pull-12 {
- right: 100%;
- }
- .col-lg-pull-11 {
- right: 91.66666666666666%;
- }
- .col-lg-pull-10 {
- right: 83.33333333333334%;
- }
- .col-lg-pull-9 {
- right: 75%;
- }
- .col-lg-pull-8 {
- right: 66.66666666666666%;
- }
- .col-lg-pull-7 {
- right: 58.333333333333336%;
- }
- .col-lg-pull-6 {
- right: 50%;
- }
- .col-lg-pull-5 {
- right: 41.66666666666667%;
- }
- .col-lg-pull-4 {
- right: 33.33333333333333%;
- }
- .col-lg-pull-3 {
- right: 25%;
- }
- .col-lg-pull-2 {
- right: 16.666666666666664%;
- }
- .col-lg-pull-1 {
- right: 8.333333333333332%;
- }
- .col-lg-pull-0 {
- right: 0;
- }
- .col-lg-push-12 {
- left: 100%;
- }
- .col-lg-push-11 {
- left: 91.66666666666666%;
- }
- .col-lg-push-10 {
- left: 83.33333333333334%;
- }
- .col-lg-push-9 {
- left: 75%;
- }
- .col-lg-push-8 {
- left: 66.66666666666666%;
- }
- .col-lg-push-7 {
- left: 58.333333333333336%;
- }
- .col-lg-push-6 {
- left: 50%;
- }
- .col-lg-push-5 {
- left: 41.66666666666667%;
- }
- .col-lg-push-4 {
- left: 33.33333333333333%;
- }
- .col-lg-push-3 {
- left: 25%;
- }
- .col-lg-push-2 {
- left: 16.666666666666664%;
- }
- .col-lg-push-1 {
- left: 8.333333333333332%;
- }
- .col-lg-push-0 {
- left: 0;
- }
- .col-lg-offset-12 {
- margin-left: 100%;
- }
- .col-lg-offset-11 {
- margin-left: 91.66666666666666%;
- }
- .col-lg-offset-10 {
- margin-left: 83.33333333333334%;
- }
- .col-lg-offset-9 {
- margin-left: 75%;
- }
- .col-lg-offset-8 {
- margin-left: 66.66666666666666%;
- }
- .col-lg-offset-7 {
- margin-left: 58.333333333333336%;
- }
- .col-lg-offset-6 {
- margin-left: 50%;
- }
- .col-lg-offset-5 {
- margin-left: 41.66666666666667%;
- }
- .col-lg-offset-4 {
- margin-left: 33.33333333333333%;
- }
- .col-lg-offset-3 {
- margin-left: 25%;
- }
- .col-lg-offset-2 {
- margin-left: 16.666666666666664%;
- }
- .col-lg-offset-1 {
- margin-left: 8.333333333333332%;
- }
- .col-lg-offset-0 {
- margin-left: 0;
- }
-}
-*/
-
-table {
- max-width: 100%;
- background-color: transparent;
-}
-
-th {
- text-align: left;
-}
-
-.table {
- width: 100%;
- margin-bottom: 20px;
-}
-
-.table > thead > tr > th,
-.table > tbody > tr > th,
-.table > tfoot > tr > th,
-.table > thead > tr > td,
-.table > tbody > tr > td,
-.table > tfoot > tr > td {
- padding: 8px;
- line-height: 1.428571429;
- vertical-align: top;
- border-top: 1px solid #dddddd;
-}
-
-.table > thead > tr > th {
- vertical-align: bottom;
- border-bottom: 2px solid #dddddd;
-}
-
-.table > caption + thead > tr:first-child > th,
-.table > colgroup + thead > tr:first-child > th,
-.table > thead:first-child > tr:first-child > th,
-.table > caption + thead > tr:first-child > td,
-.table > colgroup + thead > tr:first-child > td,
-.table > thead:first-child > tr:first-child > td {
- border-top: 0;
-}
-
-.table > tbody + tbody {
- border-top: 2px solid #dddddd;
-}
-
-.table .table {
- background-color: #ffffff;
-}
-
-.table-condensed > thead > tr > th,
-.table-condensed > tbody > tr > th,
-.table-condensed > tfoot > tr > th,
-.table-condensed > thead > tr > td,
-.table-condensed > tbody > tr > td,
-.table-condensed > tfoot > tr > td {
- padding: 5px;
-}
-
-.table-bordered {
- border: 1px solid #dddddd;
-}
-
-.table-bordered > thead > tr > th,
-.table-bordered > tbody > tr > th,
-.table-bordered > tfoot > tr > th,
-.table-bordered > thead > tr > td,
-.table-bordered > tbody > tr > td,
-.table-bordered > tfoot > tr > td {
- border: 1px solid #dddddd;
-}
-
-.table-bordered > thead > tr > th,
-.table-bordered > thead > tr > td {
- border-bottom-width: 2px;
-}
-
-.table-striped > tbody > tr:nth-child(odd) > td,
-.table-striped > tbody > tr:nth-child(odd) > th {
- background-color: #f9f9f9;
-}
-
-.table-hover > tbody > tr:hover > td,
-.table-hover > tbody > tr:hover > th {
- background-color: #f5f5f5;
-}
-
-table col[class*="col-"] {
- display: table-column;
- float: none;
-}
-
-table td[class*="col-"],
-table th[class*="col-"] {
- display: table-cell;
- float: none;
-}
-
-.table > thead > tr > td.active,
-.table > tbody > tr > td.active,
-.table > tfoot > tr > td.active,
-.table > thead > tr > th.active,
-.table > tbody > tr > th.active,
-.table > tfoot > tr > th.active,
-.table > thead > tr.active > td,
-.table > tbody > tr.active > td,
-.table > tfoot > tr.active > td,
-.table > thead > tr.active > th,
-.table > tbody > tr.active > th,
-.table > tfoot > tr.active > th {
- background-color: #f5f5f5;
-}
-
-.table > thead > tr > td.success,
-.table > tbody > tr > td.success,
-.table > tfoot > tr > td.success,
-.table > thead > tr > th.success,
-.table > tbody > tr > th.success,
-.table > tfoot > tr > th.success,
-.table > thead > tr.success > td,
-.table > tbody > tr.success > td,
-.table > tfoot > tr.success > td,
-.table > thead > tr.success > th,
-.table > tbody > tr.success > th,
-.table > tfoot > tr.success > th {
- background-color: #dff0d8;
-}
-
-.table-hover > tbody > tr > td.success:hover,
-.table-hover > tbody > tr > th.success:hover,
-.table-hover > tbody > tr.success:hover > td,
-.table-hover > tbody > tr.success:hover > th {
- background-color: #d0e9c6;
-}
-
-.table > thead > tr > td.danger,
-.table > tbody > tr > td.danger,
-.table > tfoot > tr > td.danger,
-.table > thead > tr > th.danger,
-.table > tbody > tr > th.danger,
-.table > tfoot > tr > th.danger,
-.table > thead > tr.danger > td,
-.table > tbody > tr.danger > td,
-.table > tfoot > tr.danger > td,
-.table > thead > tr.danger > th,
-.table > tbody > tr.danger > th,
-.table > tfoot > tr.danger > th {
- background-color: #f2dede;
-}
-
-.table-hover > tbody > tr > td.danger:hover,
-.table-hover > tbody > tr > th.danger:hover,
-.table-hover > tbody > tr.danger:hover > td,
-.table-hover > tbody > tr.danger:hover > th {
- background-color: #ebcccc;
-}
-
-.table > thead > tr > td.warning,
-.table > tbody > tr > td.warning,
-.table > tfoot > tr > td.warning,
-.table > thead > tr > th.warning,
-.table > tbody > tr > th.warning,
-.table > tfoot > tr > th.warning,
-.table > thead > tr.warning > td,
-.table > tbody > tr.warning > td,
-.table > tfoot > tr.warning > td,
-.table > thead > tr.warning > th,
-.table > tbody > tr.warning > th,
-.table > tfoot > tr.warning > th {
- background-color: #fcf8e3;
-}
-
-.table-hover > tbody > tr > td.warning:hover,
-.table-hover > tbody > tr > th.warning:hover,
-.table-hover > tbody > tr.warning:hover > td,
-.table-hover > tbody > tr.warning:hover > th {
- background-color: #faf2cc;
-}
-
-@media (max-width: 767px) {
- .table-responsive {
- width: 100%;
- margin-bottom: 15px;
- overflow-x: scroll;
- overflow-y: hidden;
- border: 1px solid #dddddd;
- -ms-overflow-style: -ms-autohiding-scrollbar;
- -webkit-overflow-scrolling: touch;
- }
- .table-responsive > .table {
- margin-bottom: 0;
- }
- .table-responsive > .table > thead > tr > th,
- .table-responsive > .table > tbody > tr > th,
- .table-responsive > .table > tfoot > tr > th,
- .table-responsive > .table > thead > tr > td,
- .table-responsive > .table > tbody > tr > td,
- .table-responsive > .table > tfoot > tr > td {
- white-space: nowrap;
- }
- .table-responsive > .table-bordered {
- border: 0;
- }
- .table-responsive > .table-bordered > thead > tr > th:first-child,
- .table-responsive > .table-bordered > tbody > tr > th:first-child,
- .table-responsive > .table-bordered > tfoot > tr > th:first-child,
- .table-responsive > .table-bordered > thead > tr > td:first-child,
- .table-responsive > .table-bordered > tbody > tr > td:first-child,
- .table-responsive > .table-bordered > tfoot > tr > td:first-child {
- border-left: 0;
- }
- .table-responsive > .table-bordered > thead > tr > th:last-child,
- .table-responsive > .table-bordered > tbody > tr > th:last-child,
- .table-responsive > .table-bordered > tfoot > tr > th:last-child,
- .table-responsive > .table-bordered > thead > tr > td:last-child,
- .table-responsive > .table-bordered > tbody > tr > td:last-child,
- .table-responsive > .table-bordered > tfoot > tr > td:last-child {
- border-right: 0;
- }
- .table-responsive > .table-bordered > tbody > tr:last-child > th,
- .table-responsive > .table-bordered > tfoot > tr:last-child > th,
- .table-responsive > .table-bordered > tbody > tr:last-child > td,
- .table-responsive > .table-bordered > tfoot > tr:last-child > td {
- border-bottom: 0;
- }
-}
-
-fieldset {
- padding: 0;
- margin: 0;
- border: 0;
-}
-
-legend {
- display: block;
- width: 100%;
- padding: 0;
- margin-bottom: 20px;
- font-size: 21px;
- line-height: inherit;
- color: #333333;
- border: 0;
- border-bottom: 1px solid #e5e5e5;
-}
-
-label {
- display: inline-block;
- margin-bottom: 5px;
- font-weight: bold;
-}
-
-input[type="search"] {
- -webkit-box-sizing: border-box;
- -moz-box-sizing: border-box;
- box-sizing: border-box;
-}
-
-input[type="radio"],
-input[type="checkbox"] {
- margin: 4px 0 0;
- margin-top: 1px \9;
- /* IE8-9 */
-
- line-height: normal;
-}
-
-input[type="file"] {
- display: block;
-}
-
-select[multiple],
-select[size] {
- height: auto;
-}
-
-select optgroup {
- font-family: inherit;
- font-size: inherit;
- font-style: inherit;
-}
-
-input[type="file"]:focus,
-input[type="radio"]:focus,
-input[type="checkbox"]:focus {
- outline: thin dotted #333;
- outline: 5px auto -webkit-focus-ring-color;
- outline-offset: -2px;
-}
-
-input[type="number"]::-webkit-outer-spin-button,
-input[type="number"]::-webkit-inner-spin-button {
- height: auto;
-}
-
-output {
- display: block;
- padding-top: 7px;
- font-size: 14px;
- line-height: 1.428571429;
- color: #555555;
- vertical-align: middle;
-}
-
-.form-control {
- display: block;
- width: 100%;
- height: 34px;
- padding: 6px 12px;
- font-size: 14px;
- line-height: 1.428571429;
- color: #555555;
- vertical-align: middle;
- background-color: #ffffff;
- background-image: none;
- border: 1px solid #cccccc;
- border-radius: 4px;
- -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
- box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
- -webkit-transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
- transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
-}
-
-.form-control:focus {
- border-color: #66afe9;
- outline: 0;
- -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6);
- box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6);
-}
-
-.form-control:-moz-placeholder {
- color: #999999;
-}
-
-.form-control::-moz-placeholder {
- color: #999999;
-}
-
-.form-control:-ms-input-placeholder {
- color: #999999;
-}
-
-.form-control::-webkit-input-placeholder {
- color: #999999;
-}
-
-.form-control[disabled],
-.form-control[readonly],
-fieldset[disabled] .form-control {
- cursor: not-allowed;
- background-color: #eeeeee;
-}
-
-textarea.form-control {
- height: auto;
-}
-
-.form-group {
- margin-bottom: 15px;
-}
-
-.radio,
-.checkbox {
- display: block;
- min-height: 20px;
- padding-left: 20px;
- margin-top: 10px;
- margin-bottom: 10px;
- vertical-align: middle;
-}
-
-.radio label,
-.checkbox label {
- display: inline;
- margin-bottom: 0;
- font-weight: normal;
- cursor: pointer;
-}
-
-.radio input[type="radio"],
-.radio-inline input[type="radio"],
-.checkbox input[type="checkbox"],
-.checkbox-inline input[type="checkbox"] {
- float: left;
- margin-left: -20px;
-}
-
-.radio + .radio,
-.checkbox + .checkbox {
- margin-top: -5px;
-}
-
-.radio-inline,
-.checkbox-inline {
- display: inline-block;
- padding-left: 20px;
- margin-bottom: 0;
- font-weight: normal;
- vertical-align: middle;
- cursor: pointer;
-}
-
-.radio-inline + .radio-inline,
-.checkbox-inline + .checkbox-inline {
- margin-top: 0;
- margin-left: 10px;
-}
-
-input[type="radio"][disabled],
-input[type="checkbox"][disabled],
-.radio[disabled],
-.radio-inline[disabled],
-.checkbox[disabled],
-.checkbox-inline[disabled],
-fieldset[disabled] input[type="radio"],
-fieldset[disabled] input[type="checkbox"],
-fieldset[disabled] .radio,
-fieldset[disabled] .radio-inline,
-fieldset[disabled] .checkbox,
-fieldset[disabled] .checkbox-inline {
- cursor: not-allowed;
-}
-
-.input-sm {
- height: 30px;
- padding: 5px 10px;
- font-size: 12px;
- line-height: 1.5;
- border-radius: 3px;
-}
-
-select.input-sm {
- height: 30px;
- line-height: 30px;
-}
-
-textarea.input-sm {
- height: auto;
-}
-
-.input-lg {
- height: 45px;
- padding: 10px 16px;
- font-size: 18px;
- line-height: 1.33;
- border-radius: 6px;
-}
-
-select.input-lg {
- height: 45px;
- line-height: 45px;
-}
-
-textarea.input-lg {
- height: auto;
-}
-
-.has-warning .help-block,
-.has-warning .control-label,
-.has-warning .radio,
-.has-warning .checkbox,
-.has-warning .radio-inline,
-.has-warning .checkbox-inline {
- color: #c09853;
-}
-
-.has-warning .form-control {
- border-color: #c09853;
- -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
- box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
-}
-
-.has-warning .form-control:focus {
- border-color: #a47e3c;
- -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #dbc59e;
- box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #dbc59e;
-}
-
-.has-warning .input-group-addon {
- color: #c09853;
- background-color: #fcf8e3;
- border-color: #c09853;
-}
-
-.has-error .help-block,
-.has-error .control-label,
-.has-error .radio,
-.has-error .checkbox,
-.has-error .radio-inline,
-.has-error .checkbox-inline {
- color: #b94a48;
-}
-
-.has-error .form-control {
- border-color: #b94a48;
- -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
- box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
-}
-
-.has-error .form-control:focus {
- border-color: #953b39;
- -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #d59392;
- box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #d59392;
-}
-
-.has-error .input-group-addon {
- color: #b94a48;
- background-color: #f2dede;
- border-color: #b94a48;
-}
-
-.has-success .help-block,
-.has-success .control-label,
-.has-success .radio,
-.has-success .checkbox,
-.has-success .radio-inline,
-.has-success .checkbox-inline {
- color: #468847;
-}
-
-.has-success .form-control {
- border-color: #468847;
- -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
- box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
-}
-
-.has-success .form-control:focus {
- border-color: #356635;
- -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7aba7b;
- box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7aba7b;
-}
-
-.has-success .input-group-addon {
- color: #468847;
- background-color: #dff0d8;
- border-color: #468847;
-}
-
-.form-control-static {
- margin-bottom: 0;
-}
-
-.help-block {
- display: block;
- margin-top: 5px;
- margin-bottom: 10px;
- color: #737373;
-}
-
-@media (min-width: 768px) {
- .form-inline .form-group {
- display: inline-block;
- margin-bottom: 0;
- vertical-align: middle;
- }
- .form-inline .form-control {
- display: inline-block;
- }
- .form-inline .radio,
- .form-inline .checkbox {
- display: inline-block;
- padding-left: 0;
- margin-top: 0;
- margin-bottom: 0;
- }
- .form-inline .radio input[type="radio"],
- .form-inline .checkbox input[type="checkbox"] {
- float: none;
- margin-left: 0;
- }
-}
-
-.form-horizontal .control-label,
-.form-horizontal .radio,
-.form-horizontal .checkbox,
-.form-horizontal .radio-inline,
-.form-horizontal .checkbox-inline {
- padding-top: 7px;
- margin-top: 0;
- margin-bottom: 0;
-}
-
-.form-horizontal .form-group {
- margin-right: -15px;
- margin-left: -15px;
-}
-
-.form-horizontal .form-group:before,
-.form-horizontal .form-group:after {
- display: table;
- content: " ";
-}
-
-.form-horizontal .form-group:after {
- clear: both;
-}
-
-.form-horizontal .form-group:before,
-.form-horizontal .form-group:after {
- display: table;
- content: " ";
-}
-
-.form-horizontal .form-group:after {
- clear: both;
-}
-
-.form-horizontal .form-control-static {
- padding-top: 7px;
-}
-
-@media (min-width: 768px) {
- .form-horizontal .control-label {
- text-align: right;
- }
-}
-
-.btn {
- display: inline-block;
- padding: 6px 12px;
- margin-bottom: 0;
- font-size: 14px;
- font-weight: normal;
- line-height: 1.428571429;
- text-align: center;
- white-space: nowrap;
- vertical-align: middle;
- cursor: pointer;
- background-image: none;
- border: 1px solid transparent;
- border-radius: 4px;
- -webkit-user-select: none;
- -moz-user-select: none;
- -ms-user-select: none;
- -o-user-select: none;
- user-select: none;
-}
-
-.btn:focus {
- outline: thin dotted #333;
- outline: 5px auto -webkit-focus-ring-color;
- outline-offset: -2px;
-}
-
-.btn:hover,
-.btn:focus {
- color: #333333;
- text-decoration: none;
-}
-
-.btn:active,
-.btn.active {
- background-image: none;
- outline: 0;
- -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
- box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
-}
-
-.btn.disabled,
-.btn[disabled],
-fieldset[disabled] .btn {
- pointer-events: none;
- cursor: not-allowed;
- opacity: 0.65;
- filter: alpha(opacity=65);
- -webkit-box-shadow: none;
- box-shadow: none;
-}
-
-.btn-default {
- color: #333333;
- background-color: #ffffff;
- border-color: #cccccc;
-}
-
-.btn-default:hover,
-.btn-default:focus,
-.btn-default:active,
-.btn-default.active,
-.open .dropdown-toggle.btn-default {
- color: #333333;
- background-color: #ebebeb;
- border-color: #adadad;
-}
-
-.btn-default:active,
-.btn-default.active,
-.open .dropdown-toggle.btn-default {
- background-image: none;
-}
-
-.btn-default.disabled,
-.btn-default[disabled],
-fieldset[disabled] .btn-default,
-.btn-default.disabled:hover,
-.btn-default[disabled]:hover,
-fieldset[disabled] .btn-default:hover,
-.btn-default.disabled:focus,
-.btn-default[disabled]:focus,
-fieldset[disabled] .btn-default:focus,
-.btn-default.disabled:active,
-.btn-default[disabled]:active,
-fieldset[disabled] .btn-default:active,
-.btn-default.disabled.active,
-.btn-default[disabled].active,
-fieldset[disabled] .btn-default.active {
- background-color: #ffffff;
- border-color: #cccccc;
-}
-
-.btn-primary {
- color: #ffffff;
- background-color: #428bca;
- border-color: #357ebd;
-}
-
-.btn-primary:hover,
-.btn-primary:focus,
-.btn-primary:active,
-.btn-primary.active,
-.open .dropdown-toggle.btn-primary {
- color: #ffffff;
- background-color: #3276b1;
- border-color: #285e8e;
-}
-
-.btn-primary:active,
-.btn-primary.active,
-.open .dropdown-toggle.btn-primary {
- background-image: none;
-}
-
-.btn-primary.disabled,
-.btn-primary[disabled],
-fieldset[disabled] .btn-primary,
-.btn-primary.disabled:hover,
-.btn-primary[disabled]:hover,
-fieldset[disabled] .btn-primary:hover,
-.btn-primary.disabled:focus,
-.btn-primary[disabled]:focus,
-fieldset[disabled] .btn-primary:focus,
-.btn-primary.disabled:active,
-.btn-primary[disabled]:active,
-fieldset[disabled] .btn-primary:active,
-.btn-primary.disabled.active,
-.btn-primary[disabled].active,
-fieldset[disabled] .btn-primary.active {
- background-color: #428bca;
- border-color: #357ebd;
-}
-
-.btn-warning {
- color: #ffffff;
- background-color: #f0ad4e;
- border-color: #eea236;
-}
-
-.btn-warning:hover,
-.btn-warning:focus,
-.btn-warning:active,
-.btn-warning.active,
-.open .dropdown-toggle.btn-warning {
- color: #ffffff;
- background-color: #ed9c28;
- border-color: #d58512;
-}
-
-.btn-warning:active,
-.btn-warning.active,
-.open .dropdown-toggle.btn-warning {
- background-image: none;
-}
-
-.btn-warning.disabled,
-.btn-warning[disabled],
-fieldset[disabled] .btn-warning,
-.btn-warning.disabled:hover,
-.btn-warning[disabled]:hover,
-fieldset[disabled] .btn-warning:hover,
-.btn-warning.disabled:focus,
-.btn-warning[disabled]:focus,
-fieldset[disabled] .btn-warning:focus,
-.btn-warning.disabled:active,
-.btn-warning[disabled]:active,
-fieldset[disabled] .btn-warning:active,
-.btn-warning.disabled.active,
-.btn-warning[disabled].active,
-fieldset[disabled] .btn-warning.active {
- background-color: #f0ad4e;
- border-color: #eea236;
-}
-
-.btn-danger {
- color: #ffffff;
- background-color: #d9534f;
- border-color: #d43f3a;
-}
-
-.btn-danger:hover,
-.btn-danger:focus,
-.btn-danger:active,
-.btn-danger.active,
-.open .dropdown-toggle.btn-danger {
- color: #ffffff;
- background-color: #d2322d;
- border-color: #ac2925;
-}
-
-.btn-danger:active,
-.btn-danger.active,
-.open .dropdown-toggle.btn-danger {
- background-image: none;
-}
-
-.btn-danger.disabled,
-.btn-danger[disabled],
-fieldset[disabled] .btn-danger,
-.btn-danger.disabled:hover,
-.btn-danger[disabled]:hover,
-fieldset[disabled] .btn-danger:hover,
-.btn-danger.disabled:focus,
-.btn-danger[disabled]:focus,
-fieldset[disabled] .btn-danger:focus,
-.btn-danger.disabled:active,
-.btn-danger[disabled]:active,
-fieldset[disabled] .btn-danger:active,
-.btn-danger.disabled.active,
-.btn-danger[disabled].active,
-fieldset[disabled] .btn-danger.active {
- background-color: #d9534f;
- border-color: #d43f3a;
-}
-
-.btn-success {
- color: #ffffff;
- background-color: #5cb85c;
- border-color: #4cae4c;
-}
-
-.btn-success:hover,
-.btn-success:focus,
-.btn-success:active,
-.btn-success.active,
-.open .dropdown-toggle.btn-success {
- color: #ffffff;
- background-color: #47a447;
- border-color: #398439;
-}
-
-.btn-success:active,
-.btn-success.active,
-.open .dropdown-toggle.btn-success {
- background-image: none;
-}
-
-.btn-success.disabled,
-.btn-success[disabled],
-fieldset[disabled] .btn-success,
-.btn-success.disabled:hover,
-.btn-success[disabled]:hover,
-fieldset[disabled] .btn-success:hover,
-.btn-success.disabled:focus,
-.btn-success[disabled]:focus,
-fieldset[disabled] .btn-success:focus,
-.btn-success.disabled:active,
-.btn-success[disabled]:active,
-fieldset[disabled] .btn-success:active,
-.btn-success.disabled.active,
-.btn-success[disabled].active,
-fieldset[disabled] .btn-success.active {
- background-color: #5cb85c;
- border-color: #4cae4c;
-}
-
-.btn-info {
- color: #ffffff;
- background-color: #5bc0de;
- border-color: #46b8da;
-}
-
-.btn-info:hover,
-.btn-info:focus,
-.btn-info:active,
-.btn-info.active,
-.open .dropdown-toggle.btn-info {
- color: #ffffff;
- background-color: #39b3d7;
- border-color: #269abc;
-}
-
-.btn-info:active,
-.btn-info.active,
-.open .dropdown-toggle.btn-info {
- background-image: none;
-}
-
-.btn-info.disabled,
-.btn-info[disabled],
-fieldset[disabled] .btn-info,
-.btn-info.disabled:hover,
-.btn-info[disabled]:hover,
-fieldset[disabled] .btn-info:hover,
-.btn-info.disabled:focus,
-.btn-info[disabled]:focus,
-fieldset[disabled] .btn-info:focus,
-.btn-info.disabled:active,
-.btn-info[disabled]:active,
-fieldset[disabled] .btn-info:active,
-.btn-info.disabled.active,
-.btn-info[disabled].active,
-fieldset[disabled] .btn-info.active {
- background-color: #5bc0de;
- border-color: #46b8da;
-}
-
-.btn-link {
- font-weight: normal;
- color: #428bca;
- cursor: pointer;
- border-radius: 0;
-}
-
-.btn-link,
-.btn-link:active,
-.btn-link[disabled],
-fieldset[disabled] .btn-link {
- background-color: transparent;
- -webkit-box-shadow: none;
- box-shadow: none;
-}
-
-.btn-link,
-.btn-link:hover,
-.btn-link:focus,
-.btn-link:active {
- border-color: transparent;
-}
-
-.btn-link:hover,
-.btn-link:focus {
- color: #2a6496;
- text-decoration: underline;
- background-color: transparent;
-}
-
-.btn-link[disabled]:hover,
-fieldset[disabled] .btn-link:hover,
-.btn-link[disabled]:focus,
-fieldset[disabled] .btn-link:focus {
- color: #999999;
- text-decoration: none;
-}
-
-.btn-lg {
- padding: 10px 16px;
- font-size: 18px;
- line-height: 1.33;
- border-radius: 6px;
-}
-
-.btn-sm,
-.btn-xs {
- padding: 5px 10px;
- font-size: 12px;
- line-height: 1.5;
- border-radius: 3px;
-}
-
-.btn-xs {
- padding: 1px 5px;
-}
-
-.btn-block {
- display: block;
- width: 100%;
- padding-right: 0;
- padding-left: 0;
-}
-
-.btn-block + .btn-block {
- margin-top: 5px;
-}
-
-input[type="submit"].btn-block,
-input[type="reset"].btn-block,
-input[type="button"].btn-block {
- width: 100%;
-}
-
-.fade {
- opacity: 0;
- -webkit-transition: opacity 0.15s linear;
- transition: opacity 0.15s linear;
-}
-
-.fade.in {
- opacity: 1;
-}
-
-.collapse {
- display: none;
-}
-
-.collapse.in {
- display: block;
-}
-
-.collapsing {
- position: relative;
- height: 0;
- overflow: hidden;
- -webkit-transition: height 0.35s ease;
- transition: height 0.35s ease;
-}
-
-@font-face {
- font-family: 'Glyphicons Halflings';
- src: url('../fonts/glyphicons-halflings-regular.eot');
- src: url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('../fonts/glyphicons-halflings-regular.woff') format('woff'), url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg');
-}
-
-.glyphicon {
- position: relative;
- top: 1px;
- display: inline-block;
- font-family: 'Glyphicons Halflings';
- -webkit-font-smoothing: antialiased;
- font-style: normal;
- font-weight: normal;
- line-height: 1;
- -moz-osx-font-smoothing: grayscale;
-}
-
-.glyphicon:empty {
- width: 1em;
-}
-
-.glyphicon-asterisk:before {
- content: "\2a";
-}
-
-.glyphicon-plus:before {
- content: "\2b";
-}
-
-.glyphicon-euro:before {
- content: "\20ac";
-}
-
-.glyphicon-minus:before {
- content: "\2212";
-}
-
-.glyphicon-cloud:before {
- content: "\2601";
-}
-
-.glyphicon-envelope:before {
- content: "\2709";
-}
-
-.glyphicon-pencil:before {
- content: "\270f";
-}
-
-.glyphicon-glass:before {
- content: "\e001";
-}
-
-.glyphicon-music:before {
- content: "\e002";
-}
-
-.glyphicon-search:before {
- content: "\e003";
-}
-
-.glyphicon-heart:before {
- content: "\e005";
-}
-
-.glyphicon-star:before {
- content: "\e006";
-}
-
-.glyphicon-star-empty:before {
- content: "\e007";
-}
-
-.glyphicon-user:before {
- content: "\e008";
-}
-
-.glyphicon-film:before {
- content: "\e009";
-}
-
-.glyphicon-th-large:before {
- content: "\e010";
-}
-
-.glyphicon-th:before {
- content: "\e011";
-}
-
-.glyphicon-th-list:before {
- content: "\e012";
-}
-
-.glyphicon-ok:before {
- content: "\e013";
-}
-
-.glyphicon-remove:before {
- content: "\e014";
-}
-
-.glyphicon-zoom-in:before {
- content: "\e015";
-}
-
-.glyphicon-zoom-out:before {
- content: "\e016";
-}
-
-.glyphicon-off:before {
- content: "\e017";
-}
-
-.glyphicon-signal:before {
- content: "\e018";
-}
-
-.glyphicon-cog:before {
- content: "\e019";
-}
-
-.glyphicon-trash:before {
- content: "\e020";
-}
-
-.glyphicon-home:before {
- content: "\e021";
-}
-
-.glyphicon-file:before {
- content: "\e022";
-}
-
-.glyphicon-time:before {
- content: "\e023";
-}
-
-.glyphicon-road:before {
- content: "\e024";
-}
-
-.glyphicon-download-alt:before {
- content: "\e025";
-}
-
-.glyphicon-download:before {
- content: "\e026";
-}
-
-.glyphicon-upload:before {
- content: "\e027";
-}
-
-.glyphicon-inbox:before {
- content: "\e028";
-}
-
-.glyphicon-play-circle:before {
- content: "\e029";
-}
-
-.glyphicon-repeat:before {
- content: "\e030";
-}
-
-.glyphicon-refresh:before {
- content: "\e031";
-}
-
-.glyphicon-list-alt:before {
- content: "\e032";
-}
-
-.glyphicon-lock:before {
- content: "\e033";
-}
-
-.glyphicon-flag:before {
- content: "\e034";
-}
-
-.glyphicon-headphones:before {
- content: "\e035";
-}
-
-.glyphicon-volume-off:before {
- content: "\e036";
-}
-
-.glyphicon-volume-down:before {
- content: "\e037";
-}
-
-.glyphicon-volume-up:before {
- content: "\e038";
-}
-
-.glyphicon-qrcode:before {
- content: "\e039";
-}
-
-.glyphicon-barcode:before {
- content: "\e040";
-}
-
-.glyphicon-tag:before {
- content: "\e041";
-}
-
-.glyphicon-tags:before {
- content: "\e042";
-}
-
-.glyphicon-book:before {
- content: "\e043";
-}
-
-.glyphicon-bookmark:before {
- content: "\e044";
-}
-
-.glyphicon-print:before {
- content: "\e045";
-}
-
-.glyphicon-camera:before {
- content: "\e046";
-}
-
-.glyphicon-font:before {
- content: "\e047";
-}
-
-.glyphicon-bold:before {
- content: "\e048";
-}
-
-.glyphicon-italic:before {
- content: "\e049";
-}
-
-.glyphicon-text-height:before {
- content: "\e050";
-}
-
-.glyphicon-text-width:before {
- content: "\e051";
-}
-
-.glyphicon-align-left:before {
- content: "\e052";
-}
-
-.glyphicon-align-center:before {
- content: "\e053";
-}
-
-.glyphicon-align-right:before {
- content: "\e054";
-}
-
-.glyphicon-align-justify:before {
- content: "\e055";
-}
-
-.glyphicon-list:before {
- content: "\e056";
-}
-
-.glyphicon-indent-left:before {
- content: "\e057";
-}
-
-.glyphicon-indent-right:before {
- content: "\e058";
-}
-
-.glyphicon-facetime-video:before {
- content: "\e059";
-}
-
-.glyphicon-picture:before {
- content: "\e060";
-}
-
-.glyphicon-map-marker:before {
- content: "\e062";
-}
-
-.glyphicon-adjust:before {
- content: "\e063";
-}
-
-.glyphicon-tint:before {
- content: "\e064";
-}
-
-.glyphicon-edit:before {
- content: "\e065";
-}
-
-.glyphicon-share:before {
- content: "\e066";
-}
-
-.glyphicon-check:before {
- content: "\e067";
-}
-
-.glyphicon-move:before {
- content: "\e068";
-}
-
-.glyphicon-step-backward:before {
- content: "\e069";
-}
-
-.glyphicon-fast-backward:before {
- content: "\e070";
-}
-
-.glyphicon-backward:before {
- content: "\e071";
-}
-
-.glyphicon-play:before {
- content: "\e072";
-}
-
-.glyphicon-pause:before {
- content: "\e073";
-}
-
-.glyphicon-stop:before {
- content: "\e074";
-}
-
-.glyphicon-forward:before {
- content: "\e075";
-}
-
-.glyphicon-fast-forward:before {
- content: "\e076";
-}
-
-.glyphicon-step-forward:before {
- content: "\e077";
-}
-
-.glyphicon-eject:before {
- content: "\e078";
-}
-
-.glyphicon-chevron-left:before {
- content: "\e079";
-}
-
-.glyphicon-chevron-right:before {
- content: "\e080";
-}
-
-.glyphicon-plus-sign:before {
- content: "\e081";
-}
-
-.glyphicon-minus-sign:before {
- content: "\e082";
-}
-
-.glyphicon-remove-sign:before {
- content: "\e083";
-}
-
-.glyphicon-ok-sign:before {
- content: "\e084";
-}
-
-.glyphicon-question-sign:before {
- content: "\e085";
-}
-
-.glyphicon-info-sign:before {
- content: "\e086";
-}
-
-.glyphicon-screenshot:before {
- content: "\e087";
-}
-
-.glyphicon-remove-circle:before {
- content: "\e088";
-}
-
-.glyphicon-ok-circle:before {
- content: "\e089";
-}
-
-.glyphicon-ban-circle:before {
- content: "\e090";
-}
-
-.glyphicon-arrow-left:before {
- content: "\e091";
-}
-
-.glyphicon-arrow-right:before {
- content: "\e092";
-}
-
-.glyphicon-arrow-up:before {
- content: "\e093";
-}
-
-.glyphicon-arrow-down:before {
- content: "\e094";
-}
-
-.glyphicon-share-alt:before {
- content: "\e095";
-}
-
-.glyphicon-resize-full:before {
- content: "\e096";
-}
-
-.glyphicon-resize-small:before {
- content: "\e097";
-}
-
-.glyphicon-exclamation-sign:before {
- content: "\e101";
-}
-
-.glyphicon-gift:before {
- content: "\e102";
-}
-
-.glyphicon-leaf:before {
- content: "\e103";
-}
-
-.glyphicon-fire:before {
- content: "\e104";
-}
-
-.glyphicon-eye-open:before {
- content: "\e105";
-}
-
-.glyphicon-eye-close:before {
- content: "\e106";
-}
-
-.glyphicon-warning-sign:before {
- content: "\e107";
-}
-
-.glyphicon-plane:before {
- content: "\e108";
-}
-
-.glyphicon-calendar:before {
- content: "\e109";
-}
-
-.glyphicon-random:before {
- content: "\e110";
-}
-
-.glyphicon-comment:before {
- content: "\e111";
-}
-
-.glyphicon-magnet:before {
- content: "\e112";
-}
-
-.glyphicon-chevron-up:before {
- content: "\e113";
-}
-
-.glyphicon-chevron-down:before {
- content: "\e114";
-}
-
-.glyphicon-retweet:before {
- content: "\e115";
-}
-
-.glyphicon-shopping-cart:before {
- content: "\e116";
-}
-
-.glyphicon-folder-close:before {
- content: "\e117";
-}
-
-.glyphicon-folder-open:before {
- content: "\e118";
-}
-
-.glyphicon-resize-vertical:before {
- content: "\e119";
-}
-
-.glyphicon-resize-horizontal:before {
- content: "\e120";
-}
-
-.glyphicon-hdd:before {
- content: "\e121";
-}
-
-.glyphicon-bullhorn:before {
- content: "\e122";
-}
-
-.glyphicon-bell:before {
- content: "\e123";
-}
-
-.glyphicon-certificate:before {
- content: "\e124";
-}
-
-.glyphicon-thumbs-up:before {
- content: "\e125";
-}
-
-.glyphicon-thumbs-down:before {
- content: "\e126";
-}
-
-.glyphicon-hand-right:before {
- content: "\e127";
-}
-
-.glyphicon-hand-left:before {
- content: "\e128";
-}
-
-.glyphicon-hand-up:before {
- content: "\e129";
-}
-
-.glyphicon-hand-down:before {
- content: "\e130";
-}
-
-.glyphicon-circle-arrow-right:before {
- content: "\e131";
-}
-
-.glyphicon-circle-arrow-left:before {
- content: "\e132";
-}
-
-.glyphicon-circle-arrow-up:before {
- content: "\e133";
-}
-
-.glyphicon-circle-arrow-down:before {
- content: "\e134";
-}
-
-.glyphicon-globe:before {
- content: "\e135";
-}
-
-.glyphicon-wrench:before {
- content: "\e136";
-}
-
-.glyphicon-tasks:before {
- content: "\e137";
-}
-
-.glyphicon-filter:before {
- content: "\e138";
-}
-
-.glyphicon-briefcase:before {
- content: "\e139";
-}
-
-.glyphicon-fullscreen:before {
- content: "\e140";
-}
-
-.glyphicon-dashboard:before {
- content: "\e141";
-}
-
-.glyphicon-paperclip:before {
- content: "\e142";
-}
-
-.glyphicon-heart-empty:before {
- content: "\e143";
-}
-
-.glyphicon-link:before {
- content: "\e144";
-}
-
-.glyphicon-phone:before {
- content: "\e145";
-}
-
-.glyphicon-pushpin:before {
- content: "\e146";
-}
-
-.glyphicon-usd:before {
- content: "\e148";
-}
-
-.glyphicon-gbp:before {
- content: "\e149";
-}
-
-.glyphicon-sort:before {
- content: "\e150";
-}
-
-.glyphicon-sort-by-alphabet:before {
- content: "\e151";
-}
-
-.glyphicon-sort-by-alphabet-alt:before {
- content: "\e152";
-}
-
-.glyphicon-sort-by-order:before {
- content: "\e153";
-}
-
-.glyphicon-sort-by-order-alt:before {
- content: "\e154";
-}
-
-.glyphicon-sort-by-attributes:before {
- content: "\e155";
-}
-
-.glyphicon-sort-by-attributes-alt:before {
- content: "\e156";
-}
-
-.glyphicon-unchecked:before {
- content: "\e157";
-}
-
-.glyphicon-expand:before {
- content: "\e158";
-}
-
-.glyphicon-collapse-down:before {
- content: "\e159";
-}
-
-.glyphicon-collapse-up:before {
- content: "\e160";
-}
-
-.glyphicon-log-in:before {
- content: "\e161";
-}
-
-.glyphicon-flash:before {
- content: "\e162";
-}
-
-.glyphicon-log-out:before {
- content: "\e163";
-}
-
-.glyphicon-new-window:before {
- content: "\e164";
-}
-
-.glyphicon-record:before {
- content: "\e165";
-}
-
-.glyphicon-save:before {
- content: "\e166";
-}
-
-.glyphicon-open:before {
- content: "\e167";
-}
-
-.glyphicon-saved:before {
- content: "\e168";
-}
-
-.glyphicon-import:before {
- content: "\e169";
-}
-
-.glyphicon-export:before {
- content: "\e170";
-}
-
-.glyphicon-send:before {
- content: "\e171";
-}
-
-.glyphicon-floppy-disk:before {
- content: "\e172";
-}
-
-.glyphicon-floppy-saved:before {
- content: "\e173";
-}
-
-.glyphicon-floppy-remove:before {
- content: "\e174";
-}
-
-.glyphicon-floppy-save:before {
- content: "\e175";
-}
-
-.glyphicon-floppy-open:before {
- content: "\e176";
-}
-
-.glyphicon-credit-card:before {
- content: "\e177";
-}
-
-.glyphicon-transfer:before {
- content: "\e178";
-}
-
-.glyphicon-cutlery:before {
- content: "\e179";
-}
-
-.glyphicon-header:before {
- content: "\e180";
-}
-
-.glyphicon-compressed:before {
- content: "\e181";
-}
-
-.glyphicon-earphone:before {
- content: "\e182";
-}
-
-.glyphicon-phone-alt:before {
- content: "\e183";
-}
-
-.glyphicon-tower:before {
- content: "\e184";
-}
-
-.glyphicon-stats:before {
- content: "\e185";
-}
-
-.glyphicon-sd-video:before {
- content: "\e186";
-}
-
-.glyphicon-hd-video:before {
- content: "\e187";
-}
-
-.glyphicon-subtitles:before {
- content: "\e188";
-}
-
-.glyphicon-sound-stereo:before {
- content: "\e189";
-}
-
-.glyphicon-sound-dolby:before {
- content: "\e190";
-}
-
-.glyphicon-sound-5-1:before {
- content: "\e191";
-}
-
-.glyphicon-sound-6-1:before {
- content: "\e192";
-}
-
-.glyphicon-sound-7-1:before {
- content: "\e193";
-}
-
-.glyphicon-copyright-mark:before {
- content: "\e194";
-}
-
-.glyphicon-registration-mark:before {
- content: "\e195";
-}
-
-.glyphicon-cloud-download:before {
- content: "\e197";
-}
-
-.glyphicon-cloud-upload:before {
- content: "\e198";
-}
-
-.glyphicon-tree-conifer:before {
- content: "\e199";
-}
-
-.glyphicon-tree-deciduous:before {
- content: "\e200";
-}
-
-.caret {
- display: inline-block;
- width: 0;
- height: 0;
- margin-left: 2px;
- vertical-align: middle;
- border-top: 4px solid #000000;
- border-right: 4px solid transparent;
- border-bottom: 0 dotted;
- border-left: 4px solid transparent;
-}
-
-.dropdown {
- position: relative;
-}
-
-.dropdown-toggle:focus {
- outline: 0;
-}
-
-.dropdown-menu {
- position: absolute;
- top: 100%;
- left: 0;
- z-index: 1000;
- display: none;
- float: left;
- min-width: 160px;
- padding: 5px 0;
- margin: 2px 0 0;
- font-size: 14px;
- list-style: none;
- background-color: #ffffff;
- border: 1px solid #cccccc;
- border: 1px solid rgba(0, 0, 0, 0.15);
- border-radius: 4px;
- -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
- box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
- background-clip: padding-box;
-}
-
-.dropdown-menu.pull-right {
- right: 0;
- left: auto;
-}
-
-.dropdown-menu .divider {
- height: 1px;
- margin: 9px 0;
- overflow: hidden;
- background-color: #e5e5e5;
-}
-
-.dropdown-menu > li > a {
- display: block;
- padding: 3px 20px;
- clear: both;
- font-weight: normal;
- line-height: 1.428571429;
- color: #333333;
- white-space: nowrap;
-}
-
-.dropdown-menu > li > a:hover,
-.dropdown-menu > li > a:focus {
- color: #262626;
- text-decoration: none;
- background-color: #f5f5f5;
-}
-
-.dropdown-menu > .active > a,
-.dropdown-menu > .active > a:hover,
-.dropdown-menu > .active > a:focus {
- color: #ffffff;
- text-decoration: none;
- background-color: #428bca;
- outline: 0;
-}
-
-.dropdown-menu > .disabled > a,
-.dropdown-menu > .disabled > a:hover,
-.dropdown-menu > .disabled > a:focus {
- color: #999999;
-}
-
-.dropdown-menu > .disabled > a:hover,
-.dropdown-menu > .disabled > a:focus {
- text-decoration: none;
- cursor: not-allowed;
- background-color: transparent;
- background-image: none;
- filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
-}
-
-.open > .dropdown-menu {
- display: block;
-}
-
-.open > a {
- outline: 0;
-}
-
-.dropdown-header {
- display: block;
- padding: 3px 20px;
- font-size: 12px;
- line-height: 1.428571429;
- color: #999999;
-}
-
-.dropdown-backdrop {
- position: fixed;
- top: 0;
- right: 0;
- bottom: 0;
- left: 0;
- z-index: 990;
-}
-
-.pull-right > .dropdown-menu {
- right: 0;
- left: auto;
-}
-
-.dropup .caret,
-.navbar-fixed-bottom .dropdown .caret {
- border-top: 0 dotted;
- border-bottom: 4px solid #000000;
- content: "";
-}
-
-.dropup .dropdown-menu,
-.navbar-fixed-bottom .dropdown .dropdown-menu {
- top: auto;
- bottom: 100%;
- margin-bottom: 1px;
-}
-
-@media (min-width: 768px) {
- .navbar-right .dropdown-menu {
- right: 0;
- left: auto;
- }
-}
-
-.btn-default .caret {
- border-top-color: #333333;
-}
-
-.btn-primary .caret,
-.btn-success .caret,
-.btn-warning .caret,
-.btn-danger .caret,
-.btn-info .caret {
- border-top-color: #fff;
-}
-
-.dropup .btn-default .caret {
- border-bottom-color: #333333;
-}
-
-.dropup .btn-primary .caret,
-.dropup .btn-success .caret,
-.dropup .btn-warning .caret,
-.dropup .btn-danger .caret,
-.dropup .btn-info .caret {
- border-bottom-color: #fff;
-}
-
-.btn-group,
-.btn-group-vertical {
- position: relative;
- display: inline-block;
- vertical-align: middle;
-}
-
-.btn-group > .btn,
-.btn-group-vertical > .btn {
- position: relative;
- float: left;
-}
-
-.btn-group > .btn:hover,
-.btn-group-vertical > .btn:hover,
-.btn-group > .btn:focus,
-.btn-group-vertical > .btn:focus,
-.btn-group > .btn:active,
-.btn-group-vertical > .btn:active,
-.btn-group > .btn.active,
-.btn-group-vertical > .btn.active {
- z-index: 2;
-}
-
-.btn-group > .btn:focus,
-.btn-group-vertical > .btn:focus {
- outline: none;
-}
-
-.btn-group .btn + .btn,
-.btn-group .btn + .btn-group,
-.btn-group .btn-group + .btn,
-.btn-group .btn-group + .btn-group {
- margin-left: -1px;
-}
-
-.btn-toolbar:before,
-.btn-toolbar:after {
- display: table;
- content: " ";
-}
-
-.btn-toolbar:after {
- clear: both;
-}
-
-.btn-toolbar:before,
-.btn-toolbar:after {
- display: table;
- content: " ";
-}
-
-.btn-toolbar:after {
- clear: both;
-}
-
-.btn-toolbar .btn-group {
- float: left;
-}
-
-.btn-toolbar > .btn + .btn,
-.btn-toolbar > .btn-group + .btn,
-.btn-toolbar > .btn + .btn-group,
-.btn-toolbar > .btn-group + .btn-group {
- margin-left: 5px;
-}
-
-.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {
- border-radius: 0;
-}
-
-.btn-group > .btn:first-child {
- margin-left: 0;
-}
-
-.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) {
- border-top-right-radius: 0;
- border-bottom-right-radius: 0;
-}
-
-.btn-group > .btn:last-child:not(:first-child),
-.btn-group > .dropdown-toggle:not(:first-child) {
- border-bottom-left-radius: 0;
- border-top-left-radius: 0;
-}
-
-.btn-group > .btn-group {
- float: left;
-}
-
-.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {
- border-radius: 0;
-}
-
-.btn-group > .btn-group:first-child > .btn:last-child,
-.btn-group > .btn-group:first-child > .dropdown-toggle {
- border-top-right-radius: 0;
- border-bottom-right-radius: 0;
-}
-
-.btn-group > .btn-group:last-child > .btn:first-child {
- border-bottom-left-radius: 0;
- border-top-left-radius: 0;
-}
-
-.btn-group .dropdown-toggle:active,
-.btn-group.open .dropdown-toggle {
- outline: 0;
-}
-
-.btn-group-xs > .btn {
- padding: 5px 10px;
- padding: 1px 5px;
- font-size: 12px;
- line-height: 1.5;
- border-radius: 3px;
-}
-
-.btn-group-sm > .btn {
- padding: 5px 10px;
- font-size: 12px;
- line-height: 1.5;
- border-radius: 3px;
-}
-
-.btn-group-lg > .btn {
- padding: 10px 16px;
- font-size: 18px;
- line-height: 1.33;
- border-radius: 6px;
-}
-
-.btn-group > .btn + .dropdown-toggle {
- padding-right: 8px;
- padding-left: 8px;
-}
-
-.btn-group > .btn-lg + .dropdown-toggle {
- padding-right: 12px;
- padding-left: 12px;
-}
-
-.btn-group.open .dropdown-toggle {
- -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
- box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
-}
-
-.btn-group.open .dropdown-toggle.btn-link {
- -webkit-box-shadow: none;
- box-shadow: none;
-}
-
-.btn .caret {
- margin-left: 0;
-}
-
-.btn-lg .caret {
- border-width: 5px 5px 0;
- border-bottom-width: 0;
-}
-
-.dropup .btn-lg .caret {
- border-width: 0 5px 5px;
-}
-
-.btn-group-vertical > .btn,
-.btn-group-vertical > .btn-group {
- display: block;
- float: none;
- width: 100%;
- max-width: 100%;
-}
-
-.btn-group-vertical > .btn-group:before,
-.btn-group-vertical > .btn-group:after {
- display: table;
- content: " ";
-}
-
-.btn-group-vertical > .btn-group:after {
- clear: both;
-}
-
-.btn-group-vertical > .btn-group:before,
-.btn-group-vertical > .btn-group:after {
- display: table;
- content: " ";
-}
-
-.btn-group-vertical > .btn-group:after {
- clear: both;
-}
-
-.btn-group-vertical > .btn-group > .btn {
- float: none;
-}
-
-.btn-group-vertical > .btn + .btn,
-.btn-group-vertical > .btn + .btn-group,
-.btn-group-vertical > .btn-group + .btn,
-.btn-group-vertical > .btn-group + .btn-group {
- margin-top: -1px;
- margin-left: 0;
-}
-
-.btn-group-vertical > .btn:not(:first-child):not(:last-child) {
- border-radius: 0;
-}
-
-.btn-group-vertical > .btn:first-child:not(:last-child) {
- border-top-right-radius: 4px;
- border-bottom-right-radius: 0;
- border-bottom-left-radius: 0;
-}
-
-.btn-group-vertical > .btn:last-child:not(:first-child) {
- border-top-right-radius: 0;
- border-bottom-left-radius: 4px;
- border-top-left-radius: 0;
-}
-
-.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {
- border-radius: 0;
-}
-
-.btn-group-vertical > .btn-group:first-child > .btn:last-child,
-.btn-group-vertical > .btn-group:first-child > .dropdown-toggle {
- border-bottom-right-radius: 0;
- border-bottom-left-radius: 0;
-}
-
-.btn-group-vertical > .btn-group:last-child > .btn:first-child {
- border-top-right-radius: 0;
- border-top-left-radius: 0;
-}
-
-.btn-group-justified {
- display: table;
- width: 100%;
- border-collapse: separate;
- table-layout: fixed;
-}
-
-.btn-group-justified .btn {
- display: table-cell;
- float: none;
- width: 1%;
-}
-
-[data-toggle="buttons"] > .btn > input[type="radio"],
-[data-toggle="buttons"] > .btn > input[type="checkbox"] {
- display: none;
-}
-
-.input-group {
- position: relative;
- display: table;
- border-collapse: separate;
-}
-
-.input-group.col {
- float: none;
- padding-right: 0;
- padding-left: 0;
-}
-
-.input-group .form-control {
- width: 100%;
- margin-bottom: 0;
-}
-
-.input-group-lg > .form-control,
-.input-group-lg > .input-group-addon,
-.input-group-lg > .input-group-btn > .btn {
- height: 45px;
- padding: 10px 16px;
- font-size: 18px;
- line-height: 1.33;
- border-radius: 6px;
-}
-
-select.input-group-lg > .form-control,
-select.input-group-lg > .input-group-addon,
-select.input-group-lg > .input-group-btn > .btn {
- height: 45px;
- line-height: 45px;
-}
-
-textarea.input-group-lg > .form-control,
-textarea.input-group-lg > .input-group-addon,
-textarea.input-group-lg > .input-group-btn > .btn {
- height: auto;
-}
-
-.input-group-sm > .form-control,
-.input-group-sm > .input-group-addon,
-.input-group-sm > .input-group-btn > .btn {
- height: 30px;
- padding: 5px 10px;
- font-size: 12px;
- line-height: 1.5;
- border-radius: 3px;
-}
-
-select.input-group-sm > .form-control,
-select.input-group-sm > .input-group-addon,
-select.input-group-sm > .input-group-btn > .btn {
- height: 30px;
- line-height: 30px;
-}
-
-textarea.input-group-sm > .form-control,
-textarea.input-group-sm > .input-group-addon,
-textarea.input-group-sm > .input-group-btn > .btn {
- height: auto;
-}
-
-.input-group-addon,
-.input-group-btn,
-.input-group .form-control {
- display: table-cell;
-}
-
-.input-group-addon:not(:first-child):not(:last-child),
-.input-group-btn:not(:first-child):not(:last-child),
-.input-group .form-control:not(:first-child):not(:last-child) {
- border-radius: 0;
-}
-
-.input-group-addon,
-.input-group-btn {
- width: 1%;
- white-space: nowrap;
- vertical-align: middle;
-}
-
-.input-group-addon {
- padding: 6px 12px;
- font-size: 14px;
- font-weight: normal;
- line-height: 1;
- color: #555555;
- text-align: center;
- background-color: #eeeeee;
- border: 1px solid #cccccc;
- border-radius: 4px;
-}
-
-.input-group-addon.input-sm {
- padding: 5px 10px;
- font-size: 12px;
- border-radius: 3px;
-}
-
-.input-group-addon.input-lg {
- padding: 10px 16px;
- font-size: 18px;
- border-radius: 6px;
-}
-
-.input-group-addon input[type="radio"],
-.input-group-addon input[type="checkbox"] {
- margin-top: 0;
-}
-
-.input-group .form-control:first-child,
-.input-group-addon:first-child,
-.input-group-btn:first-child > .btn,
-.input-group-btn:first-child > .dropdown-toggle,
-.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle) {
- border-top-right-radius: 0;
- border-bottom-right-radius: 0;
-}
-
-.input-group-addon:first-child {
- border-right: 0;
-}
-
-.input-group .form-control:last-child,
-.input-group-addon:last-child,
-.input-group-btn:last-child > .btn,
-.input-group-btn:last-child > .dropdown-toggle,
-.input-group-btn:first-child > .btn:not(:first-child) {
- border-bottom-left-radius: 0;
- border-top-left-radius: 0;
-}
-
-.input-group-addon:last-child {
- border-left: 0;
-}
-
-.input-group-btn {
- position: relative;
- white-space: nowrap;
-}
-
-.input-group-btn:first-child > .btn {
- margin-right: -1px;
-}
-
-.input-group-btn:last-child > .btn {
- margin-left: -1px;
-}
-
-.input-group-btn > .btn {
- position: relative;
-}
-
-.input-group-btn > .btn + .btn {
- margin-left: -4px;
-}
-
-.input-group-btn > .btn:hover,
-.input-group-btn > .btn:active {
- z-index: 2;
-}
-
-.nav {
- padding-left: 0;
- margin-bottom: 0;
- list-style: none;
-}
-
-.nav:before,
-.nav:after {
- display: table;
- content: " ";
-}
-
-.nav:after {
- clear: both;
-}
-
-.nav:before,
-.nav:after {
- display: table;
- content: " ";
-}
-
-.nav:after {
- clear: both;
-}
-
-.nav > li {
- position: relative;
- display: block;
-}
-
-.nav > li > a {
- position: relative;
- display: block;
- padding: 10px 15px;
-}
-
-.nav > li > a:hover,
-.nav > li > a:focus {
- text-decoration: none;
- background-color: #eeeeee;
-}
-
-.nav > li.disabled > a {
- color: #999999;
-}
-
-.nav > li.disabled > a:hover,
-.nav > li.disabled > a:focus {
- color: #999999;
- text-decoration: none;
- cursor: not-allowed;
- background-color: transparent;
-}
-
-.nav .open > a,
-.nav .open > a:hover,
-.nav .open > a:focus {
- background-color: #eeeeee;
- border-color: #428bca;
-}
-
-.nav .open > a .caret,
-.nav .open > a:hover .caret,
-.nav .open > a:focus .caret {
- border-top-color: #2a6496;
- border-bottom-color: #2a6496;
-}
-
-.nav .nav-divider {
- height: 1px;
- margin: 9px 0;
- overflow: hidden;
- background-color: #e5e5e5;
-}
-
-.nav > li > a > img {
- max-width: none;
-}
-
-.nav-tabs {
- border-bottom: 1px solid #dddddd;
-}
-
-.nav-tabs > li {
- float: left;
- margin-bottom: -1px;
-}
-
-.nav-tabs > li > a {
- margin-right: 2px;
- line-height: 1.428571429;
- border: 1px solid transparent;
- border-radius: 4px 4px 0 0;
-}
-
-.nav-tabs > li > a:hover {
- border-color: #eeeeee #eeeeee #dddddd;
-}
-
-.nav-tabs > li.active > a,
-.nav-tabs > li.active > a:hover,
-.nav-tabs > li.active > a:focus {
- color: #555555;
- cursor: default;
- background-color: #ffffff;
- border: 1px solid #dddddd;
- border-bottom-color: transparent;
-}
-
-.nav-tabs.nav-justified {
- width: 100%;
- border-bottom: 0;
-}
-
-.nav-tabs.nav-justified > li {
- float: none;
-}
-
-.nav-tabs.nav-justified > li > a {
- margin-bottom: 5px;
- text-align: center;
-}
-
-.nav-tabs.nav-justified > .dropdown .dropdown-menu {
- top: auto;
- left: auto;
-}
-
-@media (min-width: 768px) {
- .nav-tabs.nav-justified > li {
- display: table-cell;
- width: 1%;
- }
- .nav-tabs.nav-justified > li > a {
- margin-bottom: 0;
- }
-}
-
-.nav-tabs.nav-justified > li > a {
- margin-right: 0;
- border-radius: 4px;
-}
-
-.nav-tabs.nav-justified > .active > a,
-.nav-tabs.nav-justified > .active > a:hover,
-.nav-tabs.nav-justified > .active > a:focus {
- border: 1px solid #dddddd;
-}
-
-@media (min-width: 768px) {
- .nav-tabs.nav-justified > li > a {
- border-bottom: 1px solid #dddddd;
- border-radius: 4px 4px 0 0;
- }
- .nav-tabs.nav-justified > .active > a,
- .nav-tabs.nav-justified > .active > a:hover,
- .nav-tabs.nav-justified > .active > a:focus {
- border-bottom-color: #ffffff;
- }
-}
-
-.nav-pills > li {
- float: left;
-}
-
-.nav-pills > li > a {
- border-radius: 4px;
-}
-
-.nav-pills > li + li {
- margin-left: 2px;
-}
-
-.nav-pills > li.active > a,
-.nav-pills > li.active > a:hover,
-.nav-pills > li.active > a:focus {
- color: #ffffff;
- background-color: #428bca;
-}
-
-.nav-pills > li.active > a .caret,
-.nav-pills > li.active > a:hover .caret,
-.nav-pills > li.active > a:focus .caret {
- border-top-color: #ffffff;
- border-bottom-color: #ffffff;
-}
-
-.nav-stacked > li {
- float: none;
-}
-
-.nav-stacked > li + li {
- margin-top: 2px;
- margin-left: 0;
-}
-
-.nav-justified {
- width: 100%;
-}
-
-.nav-justified > li {
- float: none;
-}
-
-.nav-justified > li > a {
- margin-bottom: 5px;
- text-align: center;
-}
-
-.nav-justified > .dropdown .dropdown-menu {
- top: auto;
- left: auto;
-}
-
-@media (min-width: 768px) {
- .nav-justified > li {
- display: table-cell;
- width: 1%;
- }
- .nav-justified > li > a {
- margin-bottom: 0;
- }
-}
-
-.nav-tabs-justified {
- border-bottom: 0;
-}
-
-.nav-tabs-justified > li > a {
- margin-right: 0;
- border-radius: 4px;
-}
-
-.nav-tabs-justified > .active > a,
-.nav-tabs-justified > .active > a:hover,
-.nav-tabs-justified > .active > a:focus {
- border: 1px solid #dddddd;
-}
-
-@media (min-width: 768px) {
- .nav-tabs-justified > li > a {
- border-bottom: 1px solid #dddddd;
- border-radius: 4px 4px 0 0;
- }
- .nav-tabs-justified > .active > a,
- .nav-tabs-justified > .active > a:hover,
- .nav-tabs-justified > .active > a:focus {
- border-bottom-color: #ffffff;
- }
-}
-
-.tab-content > .tab-pane {
- display: none;
-}
-
-.tab-content > .active {
- display: block;
-}
-
-.nav .caret {
- border-top-color: #428bca;
- border-bottom-color: #428bca;
-}
-
-.nav a:hover .caret {
- border-top-color: #2a6496;
- border-bottom-color: #2a6496;
-}
-
-.nav-tabs .dropdown-menu {
- margin-top: -1px;
- border-top-right-radius: 0;
- border-top-left-radius: 0;
-}
-
-.navbar {
- position: relative;
- min-height: 50px;
- margin-bottom: 20px;
- border: 1px solid transparent;
-}
-
-.navbar:before,
-.navbar:after {
- display: table;
- content: " ";
-}
-
-.navbar:after {
- clear: both;
-}
-
-.navbar:before,
-.navbar:after {
- display: table;
- content: " ";
-}
-
-.navbar:after {
- clear: both;
-}
-
-@media (min-width: 768px) {
- .navbar {
- border-radius: 4px;
- }
-}
-
-.navbar-header:before,
-.navbar-header:after {
- display: table;
- content: " ";
-}
-
-.navbar-header:after {
- clear: both;
-}
-
-.navbar-header:before,
-.navbar-header:after {
- display: table;
- content: " ";
-}
-
-.navbar-header:after {
- clear: both;
-}
-
-@media (min-width: 768px) {
- .navbar-header {
- float: left;
- }
-}
-
-.navbar-collapse {
- max-height: 340px;
- padding-right: 15px;
- padding-left: 15px;
- overflow-x: visible;
- border-top: 1px solid transparent;
- box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);
- -webkit-overflow-scrolling: touch;
-}
-
-.navbar-collapse:before,
-.navbar-collapse:after {
- display: table;
- content: " ";
-}
-
-.navbar-collapse:after {
- clear: both;
-}
-
-.navbar-collapse:before,
-.navbar-collapse:after {
- display: table;
- content: " ";
-}
-
-.navbar-collapse:after {
- clear: both;
-}
-
-.navbar-collapse.in {
- overflow-y: auto;
-}
-
-@media (min-width: 768px) {
- .navbar-collapse {
- width: auto;
- border-top: 0;
- box-shadow: none;
- }
- .navbar-collapse.collapse {
- display: block !important;
- height: auto !important;
- padding-bottom: 0;
- overflow: visible !important;
- }
- .navbar-collapse.in {
- overflow-y: auto;
- }
- .navbar-collapse .navbar-nav.navbar-left:first-child {
- margin-left: -15px;
- }
- .navbar-collapse .navbar-nav.navbar-right:last-child {
- margin-right: -15px;
- }
- .navbar-collapse .navbar-text:last-child {
- margin-right: 0;
- }
-}
-
-.container > .navbar-header,
-.container > .navbar-collapse {
- margin-right: -15px;
- margin-left: -15px;
-}
-
-@media (min-width: 768px) {
- .container > .navbar-header,
- .container > .navbar-collapse {
- margin-right: 0;
- margin-left: 0;
- }
-}
-
-.navbar-static-top {
- z-index: 1000;
- border-width: 0 0 1px;
-}
-
-@media (min-width: 768px) {
- .navbar-static-top {
- border-radius: 0;
- }
-}
-
-.navbar-fixed-top,
-.navbar-fixed-bottom {
- position: fixed;
- right: 0;
- left: 0;
- z-index: 1030;
-}
-
-@media (min-width: 768px) {
- .navbar-fixed-top,
- .navbar-fixed-bottom {
- border-radius: 0;
- }
-}
-
-.navbar-fixed-top {
- top: 0;
- border-width: 0 0 1px;
-}
-
-.navbar-fixed-bottom {
- bottom: 0;
- margin-bottom: 0;
- border-width: 1px 0 0;
-}
-
-.navbar-brand {
- float: left;
- padding: 15px 15px;
- font-size: 18px;
- line-height: 20px;
-}
-
-.navbar-brand:hover,
-.navbar-brand:focus {
- text-decoration: none;
-}
-
-@media (min-width: 768px) {
- .navbar > .container .navbar-brand {
- margin-left: -15px;
- }
-}
-
-.navbar-toggle {
- position: relative;
- float: right;
- padding: 9px 10px;
- margin-top: 8px;
- margin-right: 15px;
- margin-bottom: 8px;
- background-color: transparent;
- border: 1px solid transparent;
- border-radius: 4px;
-}
-
-.navbar-toggle .icon-bar {
- display: block;
- width: 22px;
- height: 2px;
- border-radius: 1px;
-}
-
-.navbar-toggle .icon-bar + .icon-bar {
- margin-top: 4px;
-}
-
-@media (min-width: 768px) {
- .navbar-toggle {
- display: none;
- }
-}
-
-.navbar-nav {
- margin: 7.5px -15px;
-}
-
-.navbar-nav > li > a {
- padding-top: 10px;
- padding-bottom: 10px;
- line-height: 20px;
-}
-
-@media (max-width: 767px) {
- .navbar-nav .open .dropdown-menu {
- position: static;
- float: none;
- width: auto;
- margin-top: 0;
- background-color: transparent;
- border: 0;
- box-shadow: none;
- }
- .navbar-nav .open .dropdown-menu > li > a,
- .navbar-nav .open .dropdown-menu .dropdown-header {
- padding: 5px 15px 5px 25px;
- }
- .navbar-nav .open .dropdown-menu > li > a {
- line-height: 20px;
- }
- .navbar-nav .open .dropdown-menu > li > a:hover,
- .navbar-nav .open .dropdown-menu > li > a:focus {
- background-image: none;
- }
-}
-
-@media (min-width: 768px) {
- .navbar-nav {
- float: left;
- margin: 0;
- }
- .navbar-nav > li {
- float: left;
- }
- .navbar-nav > li > a {
- padding-top: 15px;
- padding-bottom: 15px;
- }
-}
-
-@media (min-width: 768px) {
- .navbar-left {
- float: left !important;
- }
- .navbar-right {
- float: right !important;
- }
-}
-
-.navbar-form {
- padding: 10px 15px;
- margin-top: 8px;
- margin-right: -15px;
- margin-bottom: 8px;
- margin-left: -15px;
- border-top: 1px solid transparent;
- border-bottom: 1px solid transparent;
- -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
- box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
-}
-
-@media (min-width: 768px) {
- .navbar-form .form-group {
- display: inline-block;
- margin-bottom: 0;
- vertical-align: middle;
- }
- .navbar-form .form-control {
- display: inline-block;
- }
- .navbar-form .radio,
- .navbar-form .checkbox {
- display: inline-block;
- padding-left: 0;
- margin-top: 0;
- margin-bottom: 0;
- }
- .navbar-form .radio input[type="radio"],
- .navbar-form .checkbox input[type="checkbox"] {
- float: none;
- margin-left: 0;
- }
-}
-
-@media (max-width: 767px) {
- .navbar-form .form-group {
- margin-bottom: 5px;
- }
-}
-
-@media (min-width: 768px) {
- .navbar-form {
- width: auto;
- padding-top: 0;
- padding-bottom: 0;
- margin-right: 0;
- margin-left: 0;
- border: 0;
- -webkit-box-shadow: none;
- box-shadow: none;
- }
-}
-
-.navbar-nav > li > .dropdown-menu {
- margin-top: 0;
- border-top-right-radius: 0;
- border-top-left-radius: 0;
-}
-
-.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu {
- border-bottom-right-radius: 0;
- border-bottom-left-radius: 0;
-}
-
-.navbar-nav.pull-right > li > .dropdown-menu,
-.navbar-nav > li > .dropdown-menu.pull-right {
- right: 0;
- left: auto;
-}
-
-.navbar-btn {
- margin-top: 8px;
- margin-bottom: 8px;
-}
-
-.navbar-text {
- float: left;
- margin-top: 15px;
- margin-bottom: 15px;
-}
-
-@media (min-width: 768px) {
- .navbar-text {
- margin-right: 15px;
- margin-left: 15px;
- }
-}
-
-.navbar-default {
- background-color: #f8f8f8;
- border-color: #e7e7e7;
-}
-
-.navbar-default .navbar-brand {
- color: #777777;
-}
-
-.navbar-default .navbar-brand:hover,
-.navbar-default .navbar-brand:focus {
- color: #5e5e5e;
- background-color: transparent;
-}
-
-.navbar-default .navbar-text {
- color: #777777;
-}
-
-.navbar-default .navbar-nav > li > a {
- color: #777777;
-}
-
-.navbar-default .navbar-nav > li > a:hover,
-.navbar-default .navbar-nav > li > a:focus {
- color: #333333;
- background-color: transparent;
-}
-
-.navbar-default .navbar-nav > .active > a,
-.navbar-default .navbar-nav > .active > a:hover,
-.navbar-default .navbar-nav > .active > a:focus {
- color: #555555;
- background-color: #e7e7e7;
-}
-
-.navbar-default .navbar-nav > .disabled > a,
-.navbar-default .navbar-nav > .disabled > a:hover,
-.navbar-default .navbar-nav > .disabled > a:focus {
- color: #cccccc;
- background-color: transparent;
-}
-
-.navbar-default .navbar-toggle {
- border-color: #dddddd;
-}
-
-.navbar-default .navbar-toggle:hover,
-.navbar-default .navbar-toggle:focus {
- background-color: #dddddd;
-}
-
-.navbar-default .navbar-toggle .icon-bar {
- background-color: #cccccc;
-}
-
-.navbar-default .navbar-collapse,
-.navbar-default .navbar-form {
- border-color: #e7e7e7;
-}
-
-.navbar-default .navbar-nav > .dropdown > a:hover .caret,
-.navbar-default .navbar-nav > .dropdown > a:focus .caret {
- border-top-color: #333333;
- border-bottom-color: #333333;
-}
-
-.navbar-default .navbar-nav > .open > a,
-.navbar-default .navbar-nav > .open > a:hover,
-.navbar-default .navbar-nav > .open > a:focus {
- color: #555555;
- background-color: #e7e7e7;
-}
-
-.navbar-default .navbar-nav > .open > a .caret,
-.navbar-default .navbar-nav > .open > a:hover .caret,
-.navbar-default .navbar-nav > .open > a:focus .caret {
- border-top-color: #555555;
- border-bottom-color: #555555;
-}
-
-.navbar-default .navbar-nav > .dropdown > a .caret {
- border-top-color: #777777;
- border-bottom-color: #777777;
-}
-
-@media (max-width: 767px) {
- .navbar-default .navbar-nav .open .dropdown-menu > li > a {
- color: #777777;
- }
- .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover,
- .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus {
- color: #333333;
- background-color: transparent;
- }
- .navbar-default .navbar-nav .open .dropdown-menu > .active > a,
- .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover,
- .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus {
- color: #555555;
- background-color: #e7e7e7;
- }
- .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a,
- .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover,
- .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus {
- color: #cccccc;
- background-color: transparent;
- }
-}
-
-.navbar-default .navbar-link {
- color: #777777;
-}
-
-.navbar-default .navbar-link:hover {
- color: #333333;
-}
-
-.navbar-inverse {
- background-color: #222222;
- border-color: #080808;
-}
-
-.navbar-inverse .navbar-brand {
- color: #999999;
-}
-
-.navbar-inverse .navbar-brand:hover,
-.navbar-inverse .navbar-brand:focus {
- color: #ffffff;
- background-color: transparent;
-}
-
-.navbar-inverse .navbar-text {
- color: #999999;
-}
-
-.navbar-inverse .navbar-nav > li > a {
- color: #999999;
-}
-
-.navbar-inverse .navbar-nav > li > a:hover,
-.navbar-inverse .navbar-nav > li > a:focus {
- color: #ffffff;
- background-color: transparent;
-}
-
-.navbar-inverse .navbar-nav > .active > a,
-.navbar-inverse .navbar-nav > .active > a:hover,
-.navbar-inverse .navbar-nav > .active > a:focus {
- color: #ffffff;
- background-color: #080808;
-}
-
-.navbar-inverse .navbar-nav > .disabled > a,
-.navbar-inverse .navbar-nav > .disabled > a:hover,
-.navbar-inverse .navbar-nav > .disabled > a:focus {
- color: #444444;
- background-color: transparent;
-}
-
-.navbar-inverse .navbar-toggle {
- border-color: #333333;
-}
-
-.navbar-inverse .navbar-toggle:hover,
-.navbar-inverse .navbar-toggle:focus {
- background-color: #333333;
-}
-
-.navbar-inverse .navbar-toggle .icon-bar {
- background-color: #ffffff;
-}
-
-.navbar-inverse .navbar-collapse,
-.navbar-inverse .navbar-form {
- border-color: #101010;
-}
-
-.navbar-inverse .navbar-nav > .open > a,
-.navbar-inverse .navbar-nav > .open > a:hover,
-.navbar-inverse .navbar-nav > .open > a:focus {
- color: #ffffff;
- background-color: #080808;
-}
-
-.navbar-inverse .navbar-nav > .dropdown > a:hover .caret {
- border-top-color: #ffffff;
- border-bottom-color: #ffffff;
-}
-
-.navbar-inverse .navbar-nav > .dropdown > a .caret {
- border-top-color: #999999;
- border-bottom-color: #999999;
-}
-
-.navbar-inverse .navbar-nav > .open > a .caret,
-.navbar-inverse .navbar-nav > .open > a:hover .caret,
-.navbar-inverse .navbar-nav > .open > a:focus .caret {
- border-top-color: #ffffff;
- border-bottom-color: #ffffff;
-}
-
-@media (max-width: 767px) {
- .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header {
- border-color: #080808;
- }
- .navbar-inverse .navbar-nav .open .dropdown-menu > li > a {
- color: #999999;
- }
- .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover,
- .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus {
- color: #ffffff;
- background-color: transparent;
- }
- .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a,
- .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover,
- .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus {
- color: #ffffff;
- background-color: #080808;
- }
- .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a,
- .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover,
- .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus {
- color: #444444;
- background-color: transparent;
- }
-}
-
-.navbar-inverse .navbar-link {
- color: #999999;
-}
-
-.navbar-inverse .navbar-link:hover {
- color: #ffffff;
-}
-
-.breadcrumb {
- padding: 8px 15px;
- margin-bottom: 20px;
- list-style: none;
- background-color: #f5f5f5;
- border-radius: 4px;
-}
-
-.breadcrumb > li {
- display: inline-block;
-}
-
-.breadcrumb > li + li:before {
- padding: 0 5px;
- color: #cccccc;
- content: "/\00a0";
-}
-
-.breadcrumb > .active {
- color: #999999;
-}
-
-.pagination {
- display: inline-block;
- padding-left: 0;
- margin: 20px 0;
- border-radius: 4px;
-}
-
-.pagination > li {
- display: inline;
-}
-
-.pagination > li > a,
-.pagination > li > span {
- position: relative;
- float: left;
- padding: 6px 12px;
- margin-left: -1px;
- line-height: 1.428571429;
- text-decoration: none;
- background-color: #ffffff;
- border: 1px solid #dddddd;
-}
-
-.pagination > li:first-child > a,
-.pagination > li:first-child > span {
- margin-left: 0;
- border-bottom-left-radius: 4px;
- border-top-left-radius: 4px;
-}
-
-.pagination > li:last-child > a,
-.pagination > li:last-child > span {
- border-top-right-radius: 4px;
- border-bottom-right-radius: 4px;
-}
-
-.pagination > li > a:hover,
-.pagination > li > span:hover,
-.pagination > li > a:focus,
-.pagination > li > span:focus {
- background-color: #eeeeee;
-}
-
-.pagination > .active > a,
-.pagination > .active > span,
-.pagination > .active > a:hover,
-.pagination > .active > span:hover,
-.pagination > .active > a:focus,
-.pagination > .active > span:focus {
- z-index: 2;
- color: #ffffff;
- cursor: default;
- background-color: #428bca;
- border-color: #428bca;
-}
-
-.pagination > .disabled >

<TRUNCATED>

Loading...