<?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 name="Apache Chainsaw">
  <bannerLeft>
    <name>Logging Services</name>
    <src>images/ls-logo.jpg</src>
    <href>http://logging.apache.org/</href>
  </bannerLeft>
  <bannerRight>
    <name>Apache log4j</name>
    <src>images/logo.jpg</src>
    <href>http://logging.apache.org/log4j</href>
  </bannerRight>
  <body>
    <breadcrumbs>
      <item name="Apache" href="http://www.apache.org/" />
	  <item name="Logging Services" href="http://logging.apache.org/" />
	  <item name="Chainsaw" href="http://logging.apache.org:80/chainsaw/" />
    </breadcrumbs>

	<menu name="Get Chainsaw">
	   <item name="Download" href="/download.html"/>
	   <item name="Changes" href="/changes-report.html"/>
	   <item name="License" href="http://www.apache.org/licenses/"/>
	   <item name="Important Distribution Notes" href="/distributionnotes.html" />
	</menu>

    <menu name="About Chainsaw">
      <item name="Introduction" href="/index.html"/>
	  <item name="Quick Tour" href="/quicktour.html" />
	  <item name="Zeroconf" href="/zeroconf.html" />
	  <item name="Roadmap" href="/roadmap.html"/>
	  <item name="JavaDoc" href="/apidocs/index.html"/>
   </menu>

	<menu name="Community">
		<item name="Mailing Lists" href="/mail-lists.html"/>
		<item name="Issue Tracking" href="/issue-tracking.html"/>
	</menu>
	
	<menu name="Development">
		<item name="Repository" href="/source-repository.html"/>
		<item name="Cross Reference" href="/xref/index.html"/>
		<item name="Dependencies" href="/dependencies.html"/>
		<!--item name="Continuous Integration" href="/integration.html"/-->
		<item name="Duplication" href="/cpd.html"/>
		<item name="PMD" href="/pmd.html"/>
	</menu>
	
	<menu name="Apache">
		<item name="Home" href="http://www.apache.org"/>	
		<item name="Sponsorship" href="http://www.apache.org/foundation/sponsorship.html"/>
		<item name="Thanks" href="http://www.apache.org/foundation/thanks.html"/>
                <item name="Security" href="https://www.apache.org/security/"/>
		<item name="Conferences" href="http://www.apachecon.com"/>
	</menu>
	
  </body>
</project>
