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

<div id=header>
  <div id=logoline>
    <div id=logo>
      <img src="https://www.gstatic.com/images/branding/product/1x/pagespeed_32dp.png"
           srcset="https://www.gstatic.com/images/branding/product/2x/pagespeed_32dp.png"
           width=32 height=32 alt="pagespeed logo">
    </div>
    <div id=logotext>Apache PageSpeed (Incubating)</div>
  </div>
  <div id=navline>
    <a href="/doc/">&larr; documentation index</a>
  </div>
</div>
<div id=toc></div>
<img src="/incubator.png" height="80" align="right"> 
