<!--
   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:wicket="http://wicket.apache.org/">
<head>
    <wicket:head></wicket:head>
</head>
<body>
<wicket:panel>
    <form wicket:id="navButtons">
        <br/>

        <h4>Nav Panel</h4>
        <table id="inputFormTable">
            <tr>
                <td>
                    <button wicket:id="users">USERS</button>
                </td>
            </tr>
            <tr>
                <td>
                    <button wicket:id="roles">ROLES</button>
                </td>
            </tr>
            <tr>
                <td>
                    <button wicket:id="pobjs">POBJS</button>
                </td>
            </tr>
            <tr>
                <td>
                    <button wicket:id="perms">PERMS</button>
                </td>
            </tr>
            <tr>
                <td>
                    <button wicket:id="ssds">SSDS&nbsp&nbsp&nbsp</button>
                </td>
            </tr>
            <tr>
                <td>
                    <button wicket:id="dsds">DSDS&nbsp&nbsp&nbsp</button>
                </td>
            </tr>
            <tr>
                <td>
                    <button wicket:id="userous">OUSER</button>
                </td>
            </tr>
            <tr>
                <td>
                    <button wicket:id="permous">OUPRM</button>
                </td>
            </tr>
            <tr>
                <td>
                    <button wicket:id="admroles">ADRLE</button>
                </td>
            </tr>
            <tr>
                <td>
                    <button wicket:id="admpobjs">ADOBJ</button>
                </td>
            </tr>
            <tr>
                <td>
                    <button wicket:id="admperms">ADPRM</button>
                </td>
            </tr>
            <tr>
                <td>
                    <button wicket:id="pwpolicies">PLCYS&nbsp</button>
                </td>
            </tr>
            <tr>
                <td>
                    <button wicket:id="groups">GROUP</button>
                </td>
            </tr>
            <tr>
                <td>
                    <button wicket:id="binds">BINDS&nbsp</button>
                </td>
            </tr>
            <tr>
                <td>
                    <button wicket:id="authzs">AUTHZ</button>
                </td>
            </tr>
            <tr>
                <td>
                    <button wicket:id="mods">MODS&nbsp&nbsp</button>
                </td>
            </tr>

        </table>

    </form>
</wicket:panel>
</body>
</html>