<?xml version="1.0" encoding="ISO-8859-1"?>

<!--
   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.
-->

<project xmlns="http://maven.apache.org/DECORATION/1.3.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/DECORATION/1.3.0 http://maven.apache.org/xsd/decoration-1.3.0.xsd"
         name="Ambari">
  <skin>
    <groupId>org.apache.maven.skins</groupId>
    <artifactId>maven-fluido-skin</artifactId>
    <version>1.3.0</version>
  </skin>
  <custom>
    <fluidoSkin>
      <topBarEnabled>true</topBarEnabled>
      <sideBarEnabled>true</sideBarEnabled>
      <leftColumnClass>span2</leftColumnClass>
      <bodyColumnClass>span10</bodyColumnClass>
    </fluidoSkin>
  </custom>
  <bannerLeft>
    <name>Ambari</name>
    <src>http://ambari.apache.org/images/apache-ambari-project.png</src>
    <href>http://ambari.apache.org/</href>
  </bannerLeft>

  <publishDate position="right"/>
  <version position="right"/>

  <body>
    <head>
       <!-- Start of Google analytics -->
       <script type="text/javascript">
         var _gaq = _gaq || [];
         _gaq.push(['_setAccount', 'UA-27188762-1']);
         _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>
       <!-- End of Google analytics -->
       <style>
           .well.sidebar-nav {
             background-color: #fff;
           }
           a.externalLink[href^=http] {
             background-image: none;
             padding-right: 0;
           }
           body.topBarEnabled {
             padding-top: 40px;
           }
           #leftColumn .nav-list .active a {
             background-color: #a0a0a0;
           }
           .nav-list .active a:hover {
             background-color: #a0a0a0;
           }
       </style>
    </head>

    <links>
      <item name="JIRA" href="https://issues.apache.org/jira/browse/AMBARI" />
      <item name="Git" href="https://gitbox.apache.org/repos/asf/ambari/repo?p=ambari.git;a=summary" />
      <item name="Wiki" href="https://cwiki.apache.org/confluence/display/AMBARI/Ambari" />
    </links>

    <breadcrumbs>
      <item name="Ambari" href="http://ambari.apache.org/"/>
    </breadcrumbs>

    <menu name="Ambari">
      <item name="Overview" href="index.html"/>
      <item name="What's New?" href="whats-new.html"/>
      <item name="Project Team" href="team-list.html"/>
      <item name="IRC Channel" href="irc.html"/>
      <item name="Mailing Lists" href="mail-lists.html"/>
      <item name="Issue Tracking" href="issue-tracking.html"/>
      <item name="User Group" href="http://www.meetup.com/Apache-Ambari-User-Group"/>
      <item name="Project License" href="http://www.apache.org/licenses/"/>
    </menu>

    <menu name="Documentation">
      <item name="Wiki" href="https://cwiki.apache.org/confluence/display/AMBARI/Ambari"/>
      <item name="Quick Start Guide" href="https://cwiki.apache.org/confluence/display/AMBARI/Quick+Start+Guide"/>
      <item name="Features + Roadmap" href="https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=30755705"/>
      <item name="API Reference" href="https://github.com/apache/ambari/blob/trunk/ambari-server/docs/api/v1/index.md"/>
      <item name="Install Guide for 2.6.2" href="https://cwiki.apache.org/confluence/display/AMBARI/Installation+Guide+for+Ambari+2.6.2"/>
      <item name="Install Guide for 2.6.1" href="https://cwiki.apache.org/confluence/display/AMBARI/Installation+Guide+for+Ambari+2.6.1"/>
      <item name="Install Guide for 2.6.0" href="https://cwiki.apache.org/confluence/display/AMBARI/Installation+Guide+for+Ambari+2.6.0"/>
      <item name="Install Guide for 2.5.2" href="https://cwiki.apache.org/confluence/display/AMBARI/Installation+Guide+for+Ambari+2.5.2"/>
      <item name="Install Guide for 2.5.1" href="https://cwiki.apache.org/confluence/display/AMBARI/Installation+Guide+for+Ambari+2.5.1"/>
      <item name="Install Guide for 2.5.0" href="https://cwiki.apache.org/confluence/display/AMBARI/Installation+Guide+for+Ambari+2.5.0"/>
      <item name="Install Guide for 2.4.3" href="https://cwiki.apache.org/confluence/display/AMBARI/Installation+Guide+for+Ambari+2.4.3"/>
      <item name="Install Guide for 2.4.2" href="https://cwiki.apache.org/confluence/display/AMBARI/Installation+Guide+for+Ambari+2.4.2"/>
      <item name="Install Guide for 2.4.1" href="https://cwiki.apache.org/confluence/display/AMBARI/Installation+Guide+for+Ambari+2.4.1"/>
      <item name="Install Guide for 2.4.0" href="https://cwiki.apache.org/confluence/display/AMBARI/Installation+Guide+for+Ambari+2.4.0"/>
      <item name="Install Guide for 2.2.2" href="https://cwiki.apache.org/confluence/display/AMBARI/Installation+Guide+for+Ambari+2.2.2"/>
      <item name="Install Guide for 2.2.1" href="https://cwiki.apache.org/confluence/display/AMBARI/Installation+Guide+for+Ambari+2.2.1"/>
      <item name="Install Guide for 2.2.0" href="https://cwiki.apache.org/confluence/display/AMBARI/Installation+Guide+for+Ambari+2.2.0"/>
      <item name="Install Guide for 2.1.2" href="https://cwiki.apache.org/confluence/display/AMBARI/Installation+Guide+for+Ambari+2.1.2"/>
      <item name="Install Guide for 2.1.1" href="https://cwiki.apache.org/confluence/display/AMBARI/Installation+Guide+for+Ambari+2.1.1"/>
      <item name="Install Guide for 2.1.0" href="https://cwiki.apache.org/confluence/display/AMBARI/Installation+Guide+for+Ambari+2.1.0"/>
      <item name="Install Guide for 2.0.2" href="https://cwiki.apache.org/confluence/display/AMBARI/Installation+Guide+for+Ambari+2.0.2"/>
      <item name="Install Guide for 2.0.1" href="https://cwiki.apache.org/confluence/display/AMBARI/Installation+Guide+for+Ambari+2.0.1"/>
      <item name="Install Guide for 2.0.0" href="https://cwiki.apache.org/confluence/display/AMBARI/Installation+Guide+for+Ambari+2.0.0"/>
      <item name="Install Guide for 1.7.0" href="https://cwiki.apache.org/confluence/display/AMBARI/Installation+Guide+for+Ambari+1.7.0"/>
      <item name="Install Guide for 1.6.1" href="https://cwiki.apache.org/confluence/display/AMBARI/Installation+Guide+for+Ambari+1.6.1"/>
      <item name="Install Guide for 1.6.0" href="https://cwiki.apache.org/confluence/display/AMBARI/Installation+Guide+for+Ambari+1.6.0"/>
      <item name="Install Guide for 1.5.1" href="https://cwiki.apache.org/confluence/display/AMBARI/Installation+Guide+for+Ambari+1.5.1"/>
      <item name="Install Guide for 1.5.0" href="https://cwiki.apache.org/confluence/display/AMBARI/Installation+Guide+for+Ambari+1.5.0"/>
      <item name="Install Guide for 1.4.4" href="https://cwiki.apache.org/confluence/display/AMBARI/Instructions+for+installing+Ambari-1.4.4+bits"/>
      <item name="Install Guide for 1.4.3" href="https://cwiki.apache.org/confluence/display/AMBARI/Instructions+for+installing+Ambari-1.4.3+bits"/>
      <item name="Install Guide for 1.4.2" href="https://cwiki.apache.org/confluence/display/AMBARI/Instructions+for+installing+Ambari-1.4.2+bits"/>
      <item name="Install Guide for 1.4.1" href="https://cwiki.apache.org/confluence/display/AMBARI/Instructions+for+installing+Ambari-1.4.1+bits"/>
      <item name="Install Guide for 1.2.5" href="1.2.5/installing-hadoop-using-ambari/content/index.html"/>
      <item name="Install Guide for 1.2.4" href="1.2.4/installing-hadoop-using-ambari/content/index.html"/>
      <item name="Install Guide for 1.2.3" href="1.2.3/installing-hadoop-using-ambari/content/index.html"/>
      <item name="Install Guide for 1.2.2" href="1.2.2/installing-hadoop-using-ambari/content/index.html"/>
      <item name="Install Guide for 1.2.1" href="1.2.1/installing-hadoop-using-ambari/content/index.html"/>
      <item name="Install Guide for 1.2.0" href="1.2.0/installing-hadoop-using-ambari/content/index.html"/>
      <item name="Install Guide for 0.9" href="install-0.9.html"/>
    </menu>

    <menu name="Releases">
      <item name="2.6.2" href="http://www.apache.org/dyn/closer.cgi/ambari/ambari-2.6.2"/>
      <item name="2.6.1" href="http://www.apache.org/dyn/closer.cgi/ambari/ambari-2.6.1"/>
      <item name="2.6.0" href="http://archive.apache.org/dist/ambari/ambari-2.6.0"/>
      <item name="2.5.2" href="http://archive.apache.org/dist/ambari/ambari-2.5.2"/>
      <item name="2.5.1" href="http://archive.apache.org/dist/ambari/ambari-2.5.1"/>
      <item name="2.5.0" href="http://archive.apache.org/dist/ambari/ambari-2.5.0"/>
      <item name="2.4.3" href="http://archive.apache.org/dist/ambari/ambari-2.4.3"/>
      <item name="2.4.2" href="http://archive.apache.org/dist/ambari/ambari-2.4.2"/>
      <item name="2.4.1" href="http://archive.apache.org/dist/ambari/ambari-2.4.1"/>
      <item name="2.4.0" href="http://archive.apache.org/dist/ambari/ambari-2.4.0"/>
      <item name="2.2.2" href="http://archive.apache.org/dist/ambari/ambari-2.2.2"/>
      <item name="2.2.1" href="http://archive.apache.org/dist/ambari/ambari-2.2.1"/>
      <item name="2.2.0" href="http://archive.apache.org/dist/ambari/ambari-2.2.0"/>
      <item name="2.1.2" href="http://archive.apache.org/dist/ambari/ambari-2.1.2"/>
      <item name="2.1.1" href="http://archive.apache.org/dist/ambari/ambari-2.1.1"/>
      <item name="2.1.0" href="http://archive.apache.org/dist/ambari/ambari-2.1.0"/>
      <item name="2.0.2" href="http://archive.apache.org/dist/ambari/ambari-2.0.2"/>
      <item name="2.0.1" href="http://archive.apache.org/dist/ambari/ambari-2.0.1"/>
      <item name="2.0.0" href="http://archive.apache.org/dist/ambari/ambari-2.0.0"/>
      <item name="1.7.0" href="http://archive.apache.org/dist/ambari/ambari-1.7.0"/>
      <item name="1.6.1" href="http://archive.apache.org/dist/ambari/ambari-1.6.1"/>
      <item name="1.6.0" href="http://archive.apache.org/dist/ambari/ambari-1.6.0"/>
      <item name="1.5.1" href="http://archive.apache.org/dist/ambari/ambari-1.5.1"/>
      <item name="1.5.0" href="http://archive.apache.org/dist/ambari/ambari-1.5.0"/>
      <item name="1.4.4" href="http://archive.apache.org/dist/ambari/ambari-1.4.4/"/>
      <item name="1.4.3" href="http://archive.apache.org/dist/ambari/ambari-1.4.3/"/>
      <item name="1.4.2" href="http://archive.apache.org/dist/ambari/ambari-1.4.2/"/>
      <item name="1.4.1" href="http://archive.apache.org/dist/incubator/ambari/ambari-1.4.1/"/>
      <item name="1.2.5" href="http://archive.apache.org/dist/incubator/ambari/ambari-1.2.5/"/>
      <item name="1.2.4" href="http://archive.apache.org/dist/incubator/ambari/ambari-1.2.4/"/>
      <item name="1.2.3" href="http://archive.apache.org/dist/incubator/ambari/ambari-1.2.3/"/>
      <item name="1.2.2" href="http://archive.apache.org/dist/incubator/ambari/ambari-1.2.2/"/>
      <item name="1.2.1" href="http://archive.apache.org/dist/incubator/ambari/ambari-1.2.1/"/>
      <item name="1.2.0" href="http://archive.apache.org/dist/incubator/ambari/ambari-1.2.0/"/>
      <item name="0.9" href="http://archive.apache.org/dist/incubator/ambari/ambari-0.9-incubating/"/>
    </menu>

    <menu name="ASF" title="Apache Software Foundation">
        <item name="Home"            href="https://www.apache.org" />
        <item name="Events"          href="https://www.apache.org/events/current-event" />
        <item name="License"         href="https://www.apache.org/licenses/" />
        <item name="Sponsorship"     href="https://www.apache.org/foundation/sponsorship" />
        <item name="Security"        href="https://www.apache.org/security" />
        <item name="Thanks"          href="https://www.apache.org/foundation/thanks" />
        <item name="Code of Conduct" href="https://www.apache.org/foundation/policies/conduct" />
    </menu>

    <footer>
      <div class="row span12">
        Apache Ambari, Apache, the Apache feather logo, and the Apache Ambari project logos are trademarks
        of The Apache Software Foundation.
        All other marks mentioned may be trademarks or registered trademarks of their respective owners.
      </div>
      <div class="row span12">
        <a href="${project.url}/privacy-policy.html">Privacy Policy</a>
      </div>
    </footer>

  </body>
</project>
