Merge branch 'two-dot-o' into USERGRID-432
diff --git a/stack/rest/catalina_base/bin/setenv.sh b/stack/rest/catalina_base/bin/setenv.sh
deleted file mode 100644
index ab2f736..0000000
--- a/stack/rest/catalina_base/bin/setenv.sh
+++ /dev/null
@@ -1,8 +0,0 @@
-
-JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.port=8089 "
-JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.ssl=false "
-JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.authenticate=false"
-JAVA_OPTS="$JAVA_OPTS -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8000"
-JAVA_OPTS="$JAVA_OPTS -Xmx3000m -Xms1000m -XX:MaxPermSize=200m -XX:+CMSClassUnloadingEnabled -XX:+CMSPermGenSweepingEnabled"
-
-CATALINA_PID="$CATALINA_BASE/tomcat.pid"
diff --git a/stack/rest/catalina_base/conf/server.xml b/stack/rest/catalina_base/conf/server.xml
deleted file mode 100644
index df638a3..0000000
--- a/stack/rest/catalina_base/conf/server.xml
+++ /dev/null
@@ -1,144 +0,0 @@
-<?xml version='1.0' encoding='utf-8'?>
-<!--
-  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.
--->
-<!-- Note:  A "Server" is not itself a "Container", so you may not
-     define subcomponents such as "Valves" at this level.
-     Documentation at /docs/config/server.html
- -->
-<Server port="8005" shutdown="SHUTDOWN">
-  <Listener className="org.apache.catalina.startup.VersionLoggerListener" />
-  <!-- Security listener. Documentation at /docs/config/listeners.html
-  <Listener className="org.apache.catalina.security.SecurityListener" />
-  -->
-  <!--APR library loader. Documentation at /docs/apr.html -->
-  <Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
-  <!--Initialize Jasper prior to webapps are loaded. Documentation at /docs/jasper-howto.html -->
-  <Listener className="org.apache.catalina.core.JasperListener" />
-  <!-- Prevent memory leaks due to use of particular java/javax APIs-->
-  <Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" />
-  <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
-  <Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener" />
-
-  <!-- Global JNDI resources
-       Documentation at /docs/jndi-resources-howto.html
-  -->
-  <GlobalNamingResources>
-    <!-- Editable user database that can also be used by
-         UserDatabaseRealm to authenticate users
-    -->
-    <Resource name="UserDatabase" auth="Container"
-              type="org.apache.catalina.UserDatabase"
-              description="User database that can be updated and saved"
-              factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
-              pathname="conf/tomcat-users.xml" />
-  </GlobalNamingResources>
-
-  <!-- A "Service" is a collection of one or more "Connectors" that share
-       a single "Container" Note:  A "Service" is not itself a "Container",
-       so you may not define subcomponents such as "Valves" at this level.
-       Documentation at /docs/config/service.html
-   -->
-  <Service name="Catalina">
-
-    <!--The connectors can use a shared executor, you can define one or more named thread pools-->
-    <!--
-    <Executor name="tomcatThreadPool" namePrefix="catalina-exec-"
-        maxThreads="150" minSpareThreads="4"/>
-    -->
-
-
-    <!-- A "Connector" represents an endpoint by which requests are received
-         and responses are returned. Documentation at :
-         Java HTTP Connector: /docs/config/http.html (blocking & non-blocking)
-         Java AJP  Connector: /docs/config/ajp.html
-         APR (HTTP/AJP) Connector: /docs/apr.html
-         Define a non-SSL HTTP/1.1 Connector on port 8080
-    -->
-    <Connector port="8080" protocol="HTTP/1.1"
-               connectionTimeout="20000"
-               redirectPort="8443" />
-    <!-- A "Connector" using the shared thread pool-->
-    <!--
-    <Connector executor="tomcatThreadPool"
-               port="8080" protocol="HTTP/1.1"
-               connectionTimeout="20000"
-               redirectPort="8443" />
-    -->
-    <!-- Define a SSL HTTP/1.1 Connector on port 8443
-         This connector uses the BIO implementation that requires the JSSE
-         style configuration. When using the APR/native implementation, the
-         OpenSSL style configuration is required as described in the APR/native
-         documentation -->
-    <!--
-    <Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol"
-               maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
-               clientAuth="false" sslProtocol="TLS" />
-    -->
-
-    <!-- Define an AJP 1.3 Connector on port 8009 -->
-    <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
-
-
-    <!-- An Engine represents the entry point (within Catalina) that processes
-         every request.  The Engine implementation for Tomcat stand alone
-         analyzes the HTTP headers included with the request, and passes them
-         on to the appropriate Host (virtual host).
-         Documentation at /docs/config/engine.html -->
-
-    <!-- You should set jvmRoute to support load-balancing via AJP ie :
-    <Engine name="Catalina" defaultHost="localhost" jvmRoute="jvm1">
-    -->
-    <Engine name="Catalina" defaultHost="localhost">
-
-      <!--For clustering, please take a look at documentation at:
-          /docs/cluster-howto.html  (simple how to)
-          /docs/config/cluster.html (reference documentation) -->
-      <!--
-      <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>
-      -->
-
-      <!-- Use the LockOutRealm to prevent attempts to guess user passwords
-           via a brute-force attack -->
-      <Realm className="org.apache.catalina.realm.LockOutRealm">
-        <!-- This Realm uses the UserDatabase configured in the global JNDI
-             resources under the key "UserDatabase".  Any edits
-             that are performed against this UserDatabase are immediately
-             available for use by the Realm.  -->
-        <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
-               resourceName="UserDatabase"/>
-      </Realm>
-
-      <Host name="localhost"  appBase="webapps"
-            unpackWARs="true" autoDeploy="true">
-
-        <!-- SingleSignOn valve, share authentication between web applications
-             Documentation at: /docs/config/valve.html -->
-        <!--
-        <Valve className="org.apache.catalina.authenticator.SingleSignOn" />
-        -->
-
-        <!-- Access log processes all example.
-             Documentation at: /docs/config/valve.html
-             Note: The pattern used is equivalent to using pattern="common" -->
-        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
-               prefix="localhost_access_log." suffix=".txt"
-               pattern="%h %l %u %t &quot;%r&quot; %s %b" />
-
-      </Host>
-    </Engine>
-  </Service>
-</Server>
diff --git a/stack/rest/catalina_base/conf/tomcat-users.xml b/stack/rest/catalina_base/conf/tomcat-users.xml
deleted file mode 100644
index 576ab39..0000000
--- a/stack/rest/catalina_base/conf/tomcat-users.xml
+++ /dev/null
@@ -1,36 +0,0 @@
-<?xml version='1.0' encoding='utf-8'?>

-<!--

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

--->

-<!--

-  NOTE:  By default, no user is included in the "manager-gui" role required

-  to operate the "/manager/html" web application.  If you wish to use this app,

-  you must define such a user - the username and password are arbitrary.

--->

-<!--

-  NOTE:  The sample user and role entries below are wrapped in a comment

-  and thus are ignored when reading this file. Do not forget to remove

-  <!.. ..> that surrounds them.

--->

-<tomcat-users>

-    <role rolename="manager-gui"/>

-    <role rolename="manager-jmx"/>

-    <role rolename="manager-script"/>

-    <role rolename="manager-status"/>

-   <!-- this username and password is set into src/test/resources/arquillian.xml -->

-    <user username="usergrid" password="testpassword" roles="manager-script,manager-jmx,manager-gui,manager-status"/>

-</tomcat-users>

-

diff --git a/stack/rest/catalina_base/conf/web.xml b/stack/rest/catalina_base/conf/web.xml
deleted file mode 100644
index ecaa1a6..0000000
--- a/stack/rest/catalina_base/conf/web.xml
+++ /dev/null
@@ -1,4614 +0,0 @@
-<?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.
--->
-<web-app xmlns="http://java.sun.com/xml/ns/javaee"
-  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-  xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
-                      http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
-  version="3.0">
-
-  <!-- ======================== Introduction ============================== -->
-  <!-- This document defines default values for *all* web applications      -->
-  <!-- loaded into this instance of Tomcat.  As each application is         -->
-  <!-- deployed, this file is processed, followed by the                    -->
-  <!-- "/WEB-INF/web.xml" deployment descriptor from your own               -->
-  <!-- applications.                                                        -->
-  <!--                                                                      -->
-  <!-- WARNING:  Do not configure application-specific resources here!      -->
-  <!-- They should go in the "/WEB-INF/web.xml" file in your application.   -->
-
-
-  <!-- ================== Built In Servlet Definitions ==================== -->
-
-
-  <!-- The default servlet for all web applications, that serves static     -->
-  <!-- resources.  It processes all requests that are not mapped to other   -->
-  <!-- servlets with servlet mappings (defined either here or in your own   -->
-  <!-- web.xml file).  This servlet supports the following initialization   -->
-  <!-- parameters (default values are in square brackets):                  -->
-  <!--                                                                      -->
-  <!--   debug               Debugging detail level for messages logged     -->
-  <!--                       by this servlet.  [0]                          -->
-  <!--                                                                      -->
-  <!--   fileEncoding        Encoding to be used to read static resources   -->
-  <!--                       [platform default]                             -->
-  <!--                                                                      -->
-  <!--   input               Input buffer size (in bytes) when reading      -->
-  <!--                       resources to be served.  [2048]                -->
-  <!--                                                                      -->
-  <!--   listings            Should directory listings be produced if there -->
-  <!--                       is no welcome file in this directory?  [false] -->
-  <!--                       WARNING: Listings for directories with many    -->
-  <!--                       entries can be slow and may consume            -->
-  <!--                       significant proportions of server resources.   -->
-  <!--                                                                      -->
-  <!--   output              Output buffer size (in bytes) when writing     -->
-  <!--                       resources to be served.  [2048]                -->
-  <!--                                                                      -->
-  <!--   readonly            Is this context "read only", so HTTP           -->
-  <!--                       commands like PUT and DELETE are               -->
-  <!--                       rejected?  [true]                              -->
-  <!--                                                                      -->
-  <!--   readmeFile          File to display together with the directory    -->
-  <!--                       contents. [null]                               -->
-  <!--                                                                      -->
-  <!--   sendfileSize        If the connector used supports sendfile, this  -->
-  <!--                       represents the minimal file size in KB for     -->
-  <!--                       which sendfile will be used. Use a negative    -->
-  <!--                       value to always disable sendfile.  [48]        -->
-  <!--                                                                      -->
-  <!--   useAcceptRanges     Should the Accept-Ranges header be included    -->
-  <!--                       in responses where appropriate? [true]         -->
-  <!--                                                                      -->
-  <!--  For directory listing customization. Checks localXsltFile, then     -->
-  <!--  globalXsltFile, then defaults to original behavior.                 -->
-  <!--                                                                      -->
-  <!--   localXsltFile       Make directory listings an XML doc and         -->
-  <!--                       pass the result to this style sheet residing   -->
-  <!--                       in that directory. This overrides              -->
-  <!--                       contextXsltFile and globalXsltFile[null]       -->
-  <!--                                                                      -->
-  <!--   contextXsltFile     Make directory listings an XML doc and         -->
-  <!--                       pass the result to this style sheet which is   -->
-  <!--                       relative to the context root. This overrides   -->
-  <!--                       globalXsltFile[null]                           -->
-  <!--                                                                      -->
-  <!--   globalXsltFile      Site wide configuration version of             -->
-  <!--                       localXsltFile. This argument must either be an -->
-  <!--                       absolute or relative (to either                -->
-  <!--                       $CATALINA_BASE/conf or $CATALINA_HOME/conf)    -->
-  <!--                       path that points to a location below either    -->
-  <!--                       $CATALINA_BASE/conf (checked first) or         -->
-  <!--                       $CATALINA_HOME/conf (checked second).[null]    -->
-  <!--                                                                      -->
-  <!--   showServerInfo      Should server information be presented in the  -->
-  <!--                       response sent to clients when directory        -->
-  <!--                       listings is enabled? [true]                    -->
-
-    <servlet>
-        <servlet-name>default</servlet-name>
-        <servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>
-        <init-param>
-            <param-name>debug</param-name>
-            <param-value>0</param-value>
-        </init-param>
-        <init-param>
-            <param-name>listings</param-name>
-            <param-value>false</param-value>
-        </init-param>
-        <load-on-startup>1</load-on-startup>
-    </servlet>
-
-
-  <!-- The JSP page compiler and execution servlet, which is the mechanism  -->
-  <!-- used by Tomcat to support JSP pages.  Traditionally, this servlet    -->
-  <!-- is mapped to the URL pattern "*.jsp".  This servlet supports the     -->
-  <!-- following initialization parameters (default values are in square    -->
-  <!-- brackets):                                                           -->
-  <!--                                                                      -->
-  <!--   checkInterval       If development is false and checkInterval is   -->
-  <!--                       greater than zero, background compilations are -->
-  <!--                       enabled. checkInterval is the time in seconds  -->
-  <!--                       between checks to see if a JSP page (and its   -->
-  <!--                       dependent files) needs to  be recompiled. [0]  -->
-  <!--                                                                      -->
-  <!--   classdebuginfo      Should the class file be compiled with         -->
-  <!--                       debugging information?  [true]                 -->
-  <!--                                                                      -->
-  <!--   classpath           What class path should I use while compiling   -->
-  <!--                       generated servlets?  [Created dynamically      -->
-  <!--                       based on the current web application]          -->
-  <!--                                                                      -->
-  <!--   compiler            Which compiler Ant should use to compile JSP   -->
-  <!--                       pages.  See the jasper documentation for more  -->
-  <!--                       information.                                   -->
-  <!--                                                                      -->
-  <!--   compilerSourceVM    Compiler source VM. [1.6]                      -->
-  <!--                                                                      -->
-  <!--   compilerTargetVM    Compiler target VM. [1.6]                      -->
-  <!--                                                                      -->
-  <!--   development         Is Jasper used in development mode? If true,   -->
-  <!--                       the frequency at which JSPs are checked for    -->
-  <!--                       modification may be specified via the          -->
-  <!--                       modificationTestInterval parameter. [true]     -->
-  <!--                                                                      -->
-  <!--   displaySourceFragment                                              -->
-  <!--                       Should a source fragment be included in        -->
-  <!--                       exception messages? [true]                     -->
-  <!--                                                                      -->
-  <!--   dumpSmap            Should the SMAP info for JSR45 debugging be    -->
-  <!--                       dumped to a file? [false]                      -->
-  <!--                       False if suppressSmap is true                  -->
-  <!--                                                                      -->
-  <!--   enablePooling       Determines whether tag handler pooling is      -->
-  <!--                       enabled. This is a compilation option. It will -->
-  <!--                       not alter the behaviour of JSPs that have      -->
-  <!--                       already been compiled. [true]                  -->
-  <!--                                                                      -->
-  <!--   engineOptionsClass  Allows specifying the Options class used to    -->
-  <!--                       configure Jasper. If not present, the default  -->
-  <!--                       EmbeddedServletOptions will be used.           -->
-  <!--                                                                      -->
-  <!--   errorOnUseBeanInvalidClassAttribute                                -->
-  <!--                       Should Jasper issue an error when the value of -->
-  <!--                       the class attribute in an useBean action is    -->
-  <!--                       not a valid bean class?  [true]                -->
-  <!--                                                                      -->
-  <!--   fork                Tell Ant to fork compiles of JSP pages so that -->
-  <!--                       a separate JVM is used for JSP page compiles   -->
-  <!--                       from the one Tomcat is running in. [true]      -->
-  <!--                                                                      -->
-  <!--   genStringAsCharArray                                               -->
-  <!--                       Should text strings be generated as char       -->
-  <!--                       arrays, to improve performance in some cases?  -->
-  <!--                       [false]                                        -->
-  <!--                                                                      -->
-  <!--   ieClassId           The class-id value to be sent to Internet      -->
-  <!--                       Explorer when using <jsp:plugin> tags.         -->
-  <!--                       [clsid:8AD9C840-044E-11D1-B3E9-00805F499D93]   -->
-  <!--                                                                      -->
-  <!--   javaEncoding        Java file encoding to use for generating java  -->
-  <!--                       source files. [UTF8]                           -->
-  <!--                                                                      -->
-  <!--   keepgenerated       Should we keep the generated Java source code  -->
-  <!--                       for each page instead of deleting it? [true]   -->
-  <!--                                                                      -->
-  <!--   mappedfile          Should we generate static content with one     -->
-  <!--                       print statement per input line, to ease        -->
-  <!--                       debugging?  [true]                             -->
-  <!--                                                                      -->
-  <!--   maxLoadedJsps       The maximum number of JSPs that will be loaded -->
-  <!--                       for a web application. If more than this       -->
-  <!--                       number of JSPs are loaded, the least recently  -->
-  <!--                       used JSPs will be unloaded so that the number  -->
-  <!--                       of JSPs loaded at any one time does not exceed -->
-  <!--                       this limit. A value of zero or less indicates  -->
-  <!--                       no limit. [-1]                                 -->
-  <!--                                                                      -->
-  <!--   jspIdleTimeout      The amount of time in seconds a JSP can be     -->
-  <!--                       idle before it is unloaded. A value of zero    -->
-  <!--                       or less indicates never unload. [-1]           -->
-  <!--                                                                      -->
-  <!--   modificationTestInterval                                           -->
-  <!--                       Causes a JSP (and its dependent files) to not  -->
-  <!--                       be checked for modification during the         -->
-  <!--                       specified time interval (in seconds) from the  -->
-  <!--                       last time the JSP was checked for              -->
-  <!--                       modification. A value of 0 will cause the JSP  -->
-  <!--                       to be checked on every access.                 -->
-  <!--                       Used in development mode only. [4]             -->
-  <!--                                                                      -->
-  <!--   recompileOnFail     If a JSP compilation fails should the          -->
-  <!--                       modificationTestInterval be ignored and the    -->
-  <!--                       next access trigger a re-compilation attempt?  -->
-  <!--                       Used in development mode only and is disabled  -->
-  <!--                       by default as compilation may be expensive and -->
-  <!--                       could lead to excessive resource usage.        -->
-  <!--                       [false]                                        -->
-  <!--                                                                      -->
-  <!--   scratchdir          What scratch directory should we use when      -->
-  <!--                       compiling JSP pages?  [default work directory  -->
-  <!--                       for the current web application]               -->
-  <!--                                                                      -->
-  <!--   suppressSmap        Should the generation of SMAP info for JSR45   -->
-  <!--                       debugging be suppressed?  [false]              -->
-  <!--                                                                      -->
-  <!--   trimSpaces          Should white spaces in template text between   -->
-  <!--                       actions or directives be trimmed?  [false]     -->
-  <!--                                                                      -->
-  <!--   xpoweredBy          Determines whether X-Powered-By response       -->
-  <!--                       header is added by generated servlet.  [false] -->
-
-    <servlet>
-        <servlet-name>jsp</servlet-name>
-        <servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
-        <init-param>
-            <param-name>fork</param-name>
-            <param-value>false</param-value>
-        </init-param>
-        <init-param>
-            <param-name>xpoweredBy</param-name>
-            <param-value>false</param-value>
-        </init-param>
-        <load-on-startup>3</load-on-startup>
-    </servlet>
-
-
-  <!-- NOTE: An SSI Filter is also available as an alternative SSI          -->
-  <!-- implementation. Use either the Servlet or the Filter but NOT both.   -->
-  <!--                                                                      -->
-  <!-- Server Side Includes processing servlet, which processes SSI         -->
-  <!-- directives in HTML pages consistent with similar support in web      -->
-  <!-- servers like Apache.  Traditionally, this servlet is mapped to the   -->
-  <!-- URL pattern "*.shtml".  This servlet supports the following          -->
-  <!-- initialization parameters (default values are in square brackets):   -->
-  <!--                                                                      -->
-  <!--   buffered            Should output from this servlet be buffered?   -->
-  <!--                       (0=false, 1=true)  [0]                         -->
-  <!--                                                                      -->
-  <!--   debug               Debugging detail level for messages logged     -->
-  <!--                       by this servlet.  [0]                          -->
-  <!--                                                                      -->
-  <!--   expires             The number of seconds before a page with SSI   -->
-  <!--                       directives will expire.  [No default]          -->
-  <!--                                                                      -->
-  <!--   isVirtualWebappRelative                                            -->
-  <!--                       Should "virtual" paths be interpreted as       -->
-  <!--                       relative to the context root, instead of       -->
-  <!--                       the server root? [false]                       -->
-  <!--                                                                      -->
-  <!--   inputEncoding       The encoding to assume for SSI resources if    -->
-  <!--                       one is not available from the resource.        -->
-  <!--                       [Platform default]                             -->
-  <!--                                                                      -->
-  <!--   outputEncoding      The encoding to use for the page that results  -->
-  <!--                       from the SSI processing. [UTF-8]               -->
-  <!--                                                                      -->
-  <!--   allowExec           Is use of the exec command enabled? [false]    -->
-
-<!--
-    <servlet>
-        <servlet-name>ssi</servlet-name>
-        <servlet-class>
-          org.apache.catalina.ssi.SSIServlet
-        </servlet-class>
-        <init-param>
-          <param-name>buffered</param-name>
-          <param-value>1</param-value>
-        </init-param>
-        <init-param>
-          <param-name>debug</param-name>
-          <param-value>0</param-value>
-        </init-param>
-        <init-param>
-          <param-name>expires</param-name>
-          <param-value>666</param-value>
-        </init-param>
-        <init-param>
-          <param-name>isVirtualWebappRelative</param-name>
-          <param-value>false</param-value>
-        </init-param>
-        <load-on-startup>4</load-on-startup>
-    </servlet>
--->
-
-
-  <!-- Common Gateway Includes (CGI) processing servlet, which supports     -->
-  <!-- execution of external applications that conform to the CGI spec      -->
-  <!-- requirements.  Typically, this servlet is mapped to the URL pattern  -->
-  <!-- "/cgi-bin/*", which means that any CGI applications that are         -->
-  <!-- executed must be present within the web application.  This servlet   -->
-  <!-- supports the following initialization parameters (default values     -->
-  <!-- are in square brackets):                                             -->
-  <!--                                                                      -->
-  <!--   cgiPathPrefix        The CGI search path will start at             -->
-  <!--                        webAppRootDir + File.separator + this prefix. -->
-  <!--                        If not set, then webAppRootDir is used.       -->
-  <!--                        Recommended value: WEB-INF/cgi                -->
-  <!--                                                                      -->
-  <!--   debug                Debugging detail level for messages logged    -->
-  <!--                        by this servlet.  [0]                         -->
-  <!--                                                                      -->
-  <!--   executable           Name of the executable used to run the        -->
-  <!--                        script. [perl]                                -->
-  <!--                                                                      -->
-  <!--   parameterEncoding    Name of parameter encoding to be used with    -->
-  <!--                        CGI servlet.                                  -->
-  <!--                        [System.getProperty("file.encoding","UTF-8")] -->
-  <!--                                                                      -->
-  <!--   passShellEnvironment Should the shell environment variables (if    -->
-  <!--                        any) be passed to the CGI script? [false]     -->
-  <!--                                                                      -->
-  <!--   stderrTimeout        The time (in milliseconds) to wait for the    -->
-  <!--                        reading of stderr to complete before          -->
-  <!--                        terminating the CGI process. [2000]           -->
-
-<!--
-    <servlet>
-        <servlet-name>cgi</servlet-name>
-        <servlet-class>org.apache.catalina.servlets.CGIServlet</servlet-class>
-        <init-param>
-          <param-name>debug</param-name>
-          <param-value>0</param-value>
-        </init-param>
-        <init-param>
-          <param-name>cgiPathPrefix</param-name>
-          <param-value>WEB-INF/cgi</param-value>
-        </init-param>
-         <load-on-startup>5</load-on-startup>
-    </servlet>
--->
-
-
-  <!-- ================ Built In Servlet Mappings ========================= -->
-
-
-  <!-- The servlet mappings for the built in servlets defined above.  Note  -->
-  <!-- that, by default, the CGI and SSI servlets are *not* mapped.  You    -->
-  <!-- must uncomment these mappings (or add them to your application's own -->
-  <!-- web.xml deployment descriptor) to enable these services              -->
-
-    <!-- The mapping for the default servlet -->
-    <servlet-mapping>
-        <servlet-name>default</servlet-name>
-        <url-pattern>/</url-pattern>
-    </servlet-mapping>
-
-    <!-- The mappings for the JSP servlet -->
-    <servlet-mapping>
-        <servlet-name>jsp</servlet-name>
-        <url-pattern>*.jsp</url-pattern>
-        <url-pattern>*.jspx</url-pattern>
-    </servlet-mapping>
-
-    <!-- The mapping for the SSI servlet -->
-<!--
-    <servlet-mapping>
-        <servlet-name>ssi</servlet-name>
-        <url-pattern>*.shtml</url-pattern>
-    </servlet-mapping>
--->
-
-    <!-- The mapping for the CGI Gateway servlet -->
-
-<!--
-    <servlet-mapping>
-        <servlet-name>cgi</servlet-name>
-        <url-pattern>/cgi-bin/*</url-pattern>
-    </servlet-mapping>
--->
-
-
-  <!-- ================== Built In Filter Definitions ===================== -->
-
-  <!-- A filter that sets character encoding that is used to decode -->
-  <!-- parameters in a POST request -->
-<!--
-    <filter>
-        <filter-name>setCharacterEncodingFilter</filter-name>
-        <filter-class>org.apache.catalina.filters.SetCharacterEncodingFilter</filter-class>
-        <init-param>
-            <param-name>encoding</param-name>
-            <param-value>UTF-8</param-value>
-        </init-param>
-        <async-supported>true</async-supported>
-    </filter>
--->
-
-  <!-- A filter that triggers request parameters parsing and rejects the    -->
-  <!-- request if some parameters were skipped because of parsing errors or -->
-  <!-- request size limitations.                                            -->
-<!--
-    <filter>
-        <filter-name>failedRequestFilter</filter-name>
-        <filter-class>
-          org.apache.catalina.filters.FailedRequestFilter
-        </filter-class>
-        <async-supported>true</async-supported>
-    </filter>
--->
-
-
-  <!-- NOTE: An SSI Servlet is also available as an alternative SSI         -->
-  <!-- implementation. Use either the Servlet or the Filter but NOT both.   -->
-  <!--                                                                      -->
-  <!-- Server Side Includes processing filter, which processes SSI          -->
-  <!-- directives in HTML pages consistent with similar support in web      -->
-  <!-- servers like Apache.  Traditionally, this filter is mapped to the    -->
-  <!-- URL pattern "*.shtml", though it can be mapped to "*" as it will     -->
-  <!-- selectively enable/disable SSI processing based on mime types. For   -->
-  <!-- this to work you will need to uncomment the .shtml mime type         -->
-  <!-- definition towards the bottom of this file.                          -->
-  <!-- The contentType init param allows you to apply SSI processing to JSP -->
-  <!-- pages, javascript, or any other content you wish.  This filter       -->
-  <!-- supports the following initialization parameters (default values are -->
-  <!-- in square brackets):                                                 -->
-  <!--                                                                      -->
-  <!--   contentType         A regex pattern that must be matched before    -->
-  <!--                       SSI processing is applied.                     -->
-  <!--                       [text/x-server-parsed-html(;.*)?]              -->
-  <!--                                                                      -->
-  <!--   debug               Debugging detail level for messages logged     -->
-  <!--                       by this servlet.  [0]                          -->
-  <!--                                                                      -->
-  <!--   expires             The number of seconds before a page with SSI   -->
-  <!--                       directives will expire.  [No default]          -->
-  <!--                                                                      -->
-  <!--   isVirtualWebappRelative                                            -->
-  <!--                       Should "virtual" paths be interpreted as       -->
-  <!--                       relative to the context root, instead of       -->
-  <!--                       the server root? [false]                       -->
-  <!--                                                                      -->
-  <!--   allowExec           Is use of the exec command enabled? [false]    -->
-
-<!--
-    <filter>
-        <filter-name>ssi</filter-name>
-        <filter-class>
-          org.apache.catalina.ssi.SSIFilter
-        </filter-class>
-        <init-param>
-          <param-name>contentType</param-name>
-          <param-value>text/x-server-parsed-html(;.*)?</param-value>
-        </init-param>
-        <init-param>
-          <param-name>debug</param-name>
-          <param-value>0</param-value>
-        </init-param>
-        <init-param>
-          <param-name>expires</param-name>
-          <param-value>666</param-value>
-        </init-param>
-        <init-param>
-          <param-name>isVirtualWebappRelative</param-name>
-          <param-value>false</param-value>
-        </init-param>
-    </filter>
--->
-
-
-  <!-- ==================== Built In Filter Mappings ====================== -->
-
-  <!-- The mapping for the Set Character Encoding Filter -->
-<!--
-    <filter-mapping>
-        <filter-name>setCharacterEncodingFilter</filter-name>
-        <url-pattern>/*</url-pattern>
-    </filter-mapping>
--->
-
-  <!-- The mapping for the Failed Request Filter -->
-<!--
-    <filter-mapping>
-        <filter-name>failedRequestFilter</filter-name>
-        <url-pattern>/*</url-pattern>
-    </filter-mapping>
--->
-
-  <!-- The mapping for the SSI Filter -->
-<!--
-    <filter-mapping>
-        <filter-name>ssi</filter-name>
-        <url-pattern>*.shtml</url-pattern>
-    </filter-mapping>
--->
-
-
-  <!-- ==================== Default Session Configuration ================= -->
-  <!-- You can set the default session timeout (in minutes) for all newly   -->
-  <!-- created sessions by modifying the value below.                       -->
-
-    <session-config>
-        <session-timeout>30</session-timeout>
-    </session-config>
-
-
-  <!-- ===================== Default MIME Type Mappings =================== -->
-  <!-- When serving static resources, Tomcat will automatically generate    -->
-  <!-- a "Content-Type" header based on the resource's filename extension,  -->
-  <!-- based on these mappings.  Additional mappings can be added here (to  -->
-  <!-- apply to all web applications), or in your own application's web.xml -->
-  <!-- deployment descriptor.                                               -->
-
-    <mime-mapping>
-        <extension>123</extension>
-        <mime-type>application/vnd.lotus-1-2-3</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>3dml</extension>
-        <mime-type>text/vnd.in3d.3dml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>3ds</extension>
-        <mime-type>image/x-3ds</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>3g2</extension>
-        <mime-type>video/3gpp2</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>3gp</extension>
-        <mime-type>video/3gpp</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>7z</extension>
-        <mime-type>application/x-7z-compressed</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>aab</extension>
-        <mime-type>application/x-authorware-bin</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>aac</extension>
-        <mime-type>audio/x-aac</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>aam</extension>
-        <mime-type>application/x-authorware-map</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>aas</extension>
-        <mime-type>application/x-authorware-seg</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>abs</extension>
-        <mime-type>audio/x-mpeg</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>abw</extension>
-        <mime-type>application/x-abiword</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>ac</extension>
-        <mime-type>application/pkix-attr-cert</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>acc</extension>
-        <mime-type>application/vnd.americandynamics.acc</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>ace</extension>
-        <mime-type>application/x-ace-compressed</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>acu</extension>
-        <mime-type>application/vnd.acucobol</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>acutc</extension>
-        <mime-type>application/vnd.acucorp</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>adp</extension>
-        <mime-type>audio/adpcm</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>aep</extension>
-        <mime-type>application/vnd.audiograph</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>afm</extension>
-        <mime-type>application/x-font-type1</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>afp</extension>
-        <mime-type>application/vnd.ibm.modcap</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>ahead</extension>
-        <mime-type>application/vnd.ahead.space</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>ai</extension>
-        <mime-type>application/postscript</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>aif</extension>
-        <mime-type>audio/x-aiff</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>aifc</extension>
-        <mime-type>audio/x-aiff</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>aiff</extension>
-        <mime-type>audio/x-aiff</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>aim</extension>
-        <mime-type>application/x-aim</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>air</extension>
-        <mime-type>application/vnd.adobe.air-application-installer-package+zip</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>ait</extension>
-        <mime-type>application/vnd.dvb.ait</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>ami</extension>
-        <mime-type>application/vnd.amiga.ami</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>anx</extension>
-        <mime-type>application/annodex</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>apk</extension>
-        <mime-type>application/vnd.android.package-archive</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>appcache</extension>
-        <mime-type>text/cache-manifest</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>application</extension>
-        <mime-type>application/x-ms-application</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>apr</extension>
-        <mime-type>application/vnd.lotus-approach</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>arc</extension>
-        <mime-type>application/x-freearc</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>art</extension>
-        <mime-type>image/x-jg</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>asc</extension>
-        <mime-type>application/pgp-signature</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>asf</extension>
-        <mime-type>video/x-ms-asf</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>asm</extension>
-        <mime-type>text/x-asm</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>aso</extension>
-        <mime-type>application/vnd.accpac.simply.aso</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>asx</extension>
-        <mime-type>video/x-ms-asf</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>atc</extension>
-        <mime-type>application/vnd.acucorp</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>atom</extension>
-        <mime-type>application/atom+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>atomcat</extension>
-        <mime-type>application/atomcat+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>atomsvc</extension>
-        <mime-type>application/atomsvc+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>atx</extension>
-        <mime-type>application/vnd.antix.game-component</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>au</extension>
-        <mime-type>audio/basic</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>avi</extension>
-        <mime-type>video/x-msvideo</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>avx</extension>
-        <mime-type>video/x-rad-screenplay</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>aw</extension>
-        <mime-type>application/applixware</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>axa</extension>
-        <mime-type>audio/annodex</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>axv</extension>
-        <mime-type>video/annodex</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>azf</extension>
-        <mime-type>application/vnd.airzip.filesecure.azf</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>azs</extension>
-        <mime-type>application/vnd.airzip.filesecure.azs</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>azw</extension>
-        <mime-type>application/vnd.amazon.ebook</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>bat</extension>
-        <mime-type>application/x-msdownload</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>bcpio</extension>
-        <mime-type>application/x-bcpio</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>bdf</extension>
-        <mime-type>application/x-font-bdf</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>bdm</extension>
-        <mime-type>application/vnd.syncml.dm+wbxml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>bed</extension>
-        <mime-type>application/vnd.realvnc.bed</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>bh2</extension>
-        <mime-type>application/vnd.fujitsu.oasysprs</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>bin</extension>
-        <mime-type>application/octet-stream</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>blb</extension>
-        <mime-type>application/x-blorb</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>blorb</extension>
-        <mime-type>application/x-blorb</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>bmi</extension>
-        <mime-type>application/vnd.bmi</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>bmp</extension>
-        <mime-type>image/bmp</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>body</extension>
-        <mime-type>text/html</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>book</extension>
-        <mime-type>application/vnd.framemaker</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>box</extension>
-        <mime-type>application/vnd.previewsystems.box</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>boz</extension>
-        <mime-type>application/x-bzip2</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>bpk</extension>
-        <mime-type>application/octet-stream</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>btif</extension>
-        <mime-type>image/prs.btif</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>bz</extension>
-        <mime-type>application/x-bzip</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>bz2</extension>
-        <mime-type>application/x-bzip2</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>c</extension>
-        <mime-type>text/x-c</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>c11amc</extension>
-        <mime-type>application/vnd.cluetrust.cartomobile-config</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>c11amz</extension>
-        <mime-type>application/vnd.cluetrust.cartomobile-config-pkg</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>c4d</extension>
-        <mime-type>application/vnd.clonk.c4group</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>c4f</extension>
-        <mime-type>application/vnd.clonk.c4group</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>c4g</extension>
-        <mime-type>application/vnd.clonk.c4group</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>c4p</extension>
-        <mime-type>application/vnd.clonk.c4group</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>c4u</extension>
-        <mime-type>application/vnd.clonk.c4group</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>cab</extension>
-        <mime-type>application/vnd.ms-cab-compressed</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>caf</extension>
-        <mime-type>audio/x-caf</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>cap</extension>
-        <mime-type>application/vnd.tcpdump.pcap</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>car</extension>
-        <mime-type>application/vnd.curl.car</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>cat</extension>
-        <mime-type>application/vnd.ms-pki.seccat</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>cb7</extension>
-        <mime-type>application/x-cbr</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>cba</extension>
-        <mime-type>application/x-cbr</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>cbr</extension>
-        <mime-type>application/x-cbr</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>cbt</extension>
-        <mime-type>application/x-cbr</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>cbz</extension>
-        <mime-type>application/x-cbr</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>cc</extension>
-        <mime-type>text/x-c</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>cct</extension>
-        <mime-type>application/x-director</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>ccxml</extension>
-        <mime-type>application/ccxml+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>cdbcmsg</extension>
-        <mime-type>application/vnd.contact.cmsg</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>cdf</extension>
-        <mime-type>application/x-cdf</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>cdkey</extension>
-        <mime-type>application/vnd.mediastation.cdkey</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>cdmia</extension>
-        <mime-type>application/cdmi-capability</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>cdmic</extension>
-        <mime-type>application/cdmi-container</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>cdmid</extension>
-        <mime-type>application/cdmi-domain</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>cdmio</extension>
-        <mime-type>application/cdmi-object</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>cdmiq</extension>
-        <mime-type>application/cdmi-queue</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>cdx</extension>
-        <mime-type>chemical/x-cdx</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>cdxml</extension>
-        <mime-type>application/vnd.chemdraw+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>cdy</extension>
-        <mime-type>application/vnd.cinderella</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>cer</extension>
-        <mime-type>application/pkix-cert</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>cfs</extension>
-        <mime-type>application/x-cfs-compressed</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>cgm</extension>
-        <mime-type>image/cgm</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>chat</extension>
-        <mime-type>application/x-chat</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>chm</extension>
-        <mime-type>application/vnd.ms-htmlhelp</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>chrt</extension>
-        <mime-type>application/vnd.kde.kchart</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>cif</extension>
-        <mime-type>chemical/x-cif</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>cii</extension>
-        <mime-type>application/vnd.anser-web-certificate-issue-initiation</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>cil</extension>
-        <mime-type>application/vnd.ms-artgalry</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>cla</extension>
-        <mime-type>application/vnd.claymore</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>class</extension>
-        <mime-type>application/java</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>clkk</extension>
-        <mime-type>application/vnd.crick.clicker.keyboard</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>clkp</extension>
-        <mime-type>application/vnd.crick.clicker.palette</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>clkt</extension>
-        <mime-type>application/vnd.crick.clicker.template</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>clkw</extension>
-        <mime-type>application/vnd.crick.clicker.wordbank</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>clkx</extension>
-        <mime-type>application/vnd.crick.clicker</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>clp</extension>
-        <mime-type>application/x-msclip</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>cmc</extension>
-        <mime-type>application/vnd.cosmocaller</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>cmdf</extension>
-        <mime-type>chemical/x-cmdf</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>cml</extension>
-        <mime-type>chemical/x-cml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>cmp</extension>
-        <mime-type>application/vnd.yellowriver-custom-menu</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>cmx</extension>
-        <mime-type>image/x-cmx</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>cod</extension>
-        <mime-type>application/vnd.rim.cod</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>com</extension>
-        <mime-type>application/x-msdownload</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>conf</extension>
-        <mime-type>text/plain</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>cpio</extension>
-        <mime-type>application/x-cpio</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>cpp</extension>
-        <mime-type>text/x-c</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>cpt</extension>
-        <mime-type>application/mac-compactpro</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>crd</extension>
-        <mime-type>application/x-mscardfile</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>crl</extension>
-        <mime-type>application/pkix-crl</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>crt</extension>
-        <mime-type>application/x-x509-ca-cert</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>cryptonote</extension>
-        <mime-type>application/vnd.rig.cryptonote</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>csh</extension>
-        <mime-type>application/x-csh</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>csml</extension>
-        <mime-type>chemical/x-csml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>csp</extension>
-        <mime-type>application/vnd.commonspace</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>css</extension>
-        <mime-type>text/css</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>cst</extension>
-        <mime-type>application/x-director</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>csv</extension>
-        <mime-type>text/csv</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>cu</extension>
-        <mime-type>application/cu-seeme</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>curl</extension>
-        <mime-type>text/vnd.curl</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>cww</extension>
-        <mime-type>application/prs.cww</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>cxt</extension>
-        <mime-type>application/x-director</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>cxx</extension>
-        <mime-type>text/x-c</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>dae</extension>
-        <mime-type>model/vnd.collada+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>daf</extension>
-        <mime-type>application/vnd.mobius.daf</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>dart</extension>
-        <mime-type>application/vnd.dart</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>dataless</extension>
-        <mime-type>application/vnd.fdsn.seed</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>davmount</extension>
-        <mime-type>application/davmount+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>dbk</extension>
-        <mime-type>application/docbook+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>dcr</extension>
-        <mime-type>application/x-director</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>dcurl</extension>
-        <mime-type>text/vnd.curl.dcurl</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>dd2</extension>
-        <mime-type>application/vnd.oma.dd2+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>ddd</extension>
-        <mime-type>application/vnd.fujixerox.ddd</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>deb</extension>
-        <mime-type>application/x-debian-package</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>def</extension>
-        <mime-type>text/plain</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>deploy</extension>
-        <mime-type>application/octet-stream</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>der</extension>
-        <mime-type>application/x-x509-ca-cert</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>dfac</extension>
-        <mime-type>application/vnd.dreamfactory</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>dgc</extension>
-        <mime-type>application/x-dgc-compressed</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>dib</extension>
-        <mime-type>image/bmp</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>dic</extension>
-        <mime-type>text/x-c</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>dir</extension>
-        <mime-type>application/x-director</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>dis</extension>
-        <mime-type>application/vnd.mobius.dis</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>dist</extension>
-        <mime-type>application/octet-stream</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>distz</extension>
-        <mime-type>application/octet-stream</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>djv</extension>
-        <mime-type>image/vnd.djvu</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>djvu</extension>
-        <mime-type>image/vnd.djvu</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>dll</extension>
-        <mime-type>application/x-msdownload</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>dmg</extension>
-        <mime-type>application/x-apple-diskimage</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>dmp</extension>
-        <mime-type>application/vnd.tcpdump.pcap</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>dms</extension>
-        <mime-type>application/octet-stream</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>dna</extension>
-        <mime-type>application/vnd.dna</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>doc</extension>
-        <mime-type>application/msword</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>docm</extension>
-        <mime-type>application/vnd.ms-word.document.macroenabled.12</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>docx</extension>
-        <mime-type>application/vnd.openxmlformats-officedocument.wordprocessingml.document</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>dot</extension>
-        <mime-type>application/msword</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>dotm</extension>
-        <mime-type>application/vnd.ms-word.template.macroenabled.12</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>dotx</extension>
-        <mime-type>application/vnd.openxmlformats-officedocument.wordprocessingml.template</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>dp</extension>
-        <mime-type>application/vnd.osgi.dp</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>dpg</extension>
-        <mime-type>application/vnd.dpgraph</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>dra</extension>
-        <mime-type>audio/vnd.dra</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>dsc</extension>
-        <mime-type>text/prs.lines.tag</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>dssc</extension>
-        <mime-type>application/dssc+der</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>dtb</extension>
-        <mime-type>application/x-dtbook+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>dtd</extension>
-        <mime-type>application/xml-dtd</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>dts</extension>
-        <mime-type>audio/vnd.dts</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>dtshd</extension>
-        <mime-type>audio/vnd.dts.hd</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>dump</extension>
-        <mime-type>application/octet-stream</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>dv</extension>
-        <mime-type>video/x-dv</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>dvb</extension>
-        <mime-type>video/vnd.dvb.file</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>dvi</extension>
-        <mime-type>application/x-dvi</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>dwf</extension>
-        <mime-type>model/vnd.dwf</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>dwg</extension>
-        <mime-type>image/vnd.dwg</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>dxf</extension>
-        <mime-type>image/vnd.dxf</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>dxp</extension>
-        <mime-type>application/vnd.spotfire.dxp</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>dxr</extension>
-        <mime-type>application/x-director</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>ecelp4800</extension>
-        <mime-type>audio/vnd.nuera.ecelp4800</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>ecelp7470</extension>
-        <mime-type>audio/vnd.nuera.ecelp7470</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>ecelp9600</extension>
-        <mime-type>audio/vnd.nuera.ecelp9600</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>ecma</extension>
-        <mime-type>application/ecmascript</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>edm</extension>
-        <mime-type>application/vnd.novadigm.edm</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>edx</extension>
-        <mime-type>application/vnd.novadigm.edx</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>efif</extension>
-        <mime-type>application/vnd.picsel</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>ei6</extension>
-        <mime-type>application/vnd.pg.osasli</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>elc</extension>
-        <mime-type>application/octet-stream</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>emf</extension>
-        <mime-type>application/x-msmetafile</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>eml</extension>
-        <mime-type>message/rfc822</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>emma</extension>
-        <mime-type>application/emma+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>emz</extension>
-        <mime-type>application/x-msmetafile</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>eol</extension>
-        <mime-type>audio/vnd.digital-winds</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>eot</extension>
-        <mime-type>application/vnd.ms-fontobject</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>eps</extension>
-        <mime-type>application/postscript</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>epub</extension>
-        <mime-type>application/epub+zip</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>es3</extension>
-        <mime-type>application/vnd.eszigno3+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>esa</extension>
-        <mime-type>application/vnd.osgi.subsystem</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>esf</extension>
-        <mime-type>application/vnd.epson.esf</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>et3</extension>
-        <mime-type>application/vnd.eszigno3+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>etx</extension>
-        <mime-type>text/x-setext</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>eva</extension>
-        <mime-type>application/x-eva</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>evy</extension>
-        <mime-type>application/x-envoy</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>exe</extension>
-        <mime-type>application/octet-stream</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>exi</extension>
-        <mime-type>application/exi</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>ext</extension>
-        <mime-type>application/vnd.novadigm.ext</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>ez</extension>
-        <mime-type>application/andrew-inset</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>ez2</extension>
-        <mime-type>application/vnd.ezpix-album</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>ez3</extension>
-        <mime-type>application/vnd.ezpix-package</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>f</extension>
-        <mime-type>text/x-fortran</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>f4v</extension>
-        <mime-type>video/x-f4v</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>f77</extension>
-        <mime-type>text/x-fortran</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>f90</extension>
-        <mime-type>text/x-fortran</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>fbs</extension>
-        <mime-type>image/vnd.fastbidsheet</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>fcdt</extension>
-        <mime-type>application/vnd.adobe.formscentral.fcdt</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>fcs</extension>
-        <mime-type>application/vnd.isac.fcs</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>fdf</extension>
-        <mime-type>application/vnd.fdf</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>fe_launch</extension>
-        <mime-type>application/vnd.denovo.fcselayout-link</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>fg5</extension>
-        <mime-type>application/vnd.fujitsu.oasysgp</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>fgd</extension>
-        <mime-type>application/x-director</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>fh</extension>
-        <mime-type>image/x-freehand</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>fh4</extension>
-        <mime-type>image/x-freehand</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>fh5</extension>
-        <mime-type>image/x-freehand</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>fh7</extension>
-        <mime-type>image/x-freehand</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>fhc</extension>
-        <mime-type>image/x-freehand</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>fig</extension>
-        <mime-type>application/x-xfig</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>flac</extension>
-        <mime-type>audio/flac</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>fli</extension>
-        <mime-type>video/x-fli</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>flo</extension>
-        <mime-type>application/vnd.micrografx.flo</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>flv</extension>
-        <mime-type>video/x-flv</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>flw</extension>
-        <mime-type>application/vnd.kde.kivio</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>flx</extension>
-        <mime-type>text/vnd.fmi.flexstor</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>fly</extension>
-        <mime-type>text/vnd.fly</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>fm</extension>
-        <mime-type>application/vnd.framemaker</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>fnc</extension>
-        <mime-type>application/vnd.frogans.fnc</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>for</extension>
-        <mime-type>text/x-fortran</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>fpx</extension>
-        <mime-type>image/vnd.fpx</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>frame</extension>
-        <mime-type>application/vnd.framemaker</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>fsc</extension>
-        <mime-type>application/vnd.fsc.weblaunch</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>fst</extension>
-        <mime-type>image/vnd.fst</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>ftc</extension>
-        <mime-type>application/vnd.fluxtime.clip</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>fti</extension>
-        <mime-type>application/vnd.anser-web-funds-transfer-initiation</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>fvt</extension>
-        <mime-type>video/vnd.fvt</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>fxp</extension>
-        <mime-type>application/vnd.adobe.fxp</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>fxpl</extension>
-        <mime-type>application/vnd.adobe.fxp</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>fzs</extension>
-        <mime-type>application/vnd.fuzzysheet</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>g2w</extension>
-        <mime-type>application/vnd.geoplan</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>g3</extension>
-        <mime-type>image/g3fax</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>g3w</extension>
-        <mime-type>application/vnd.geospace</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>gac</extension>
-        <mime-type>application/vnd.groove-account</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>gam</extension>
-        <mime-type>application/x-tads</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>gbr</extension>
-        <mime-type>application/rpki-ghostbusters</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>gca</extension>
-        <mime-type>application/x-gca-compressed</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>gdl</extension>
-        <mime-type>model/vnd.gdl</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>geo</extension>
-        <mime-type>application/vnd.dynageo</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>gex</extension>
-        <mime-type>application/vnd.geometry-explorer</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>ggb</extension>
-        <mime-type>application/vnd.geogebra.file</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>ggt</extension>
-        <mime-type>application/vnd.geogebra.tool</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>ghf</extension>
-        <mime-type>application/vnd.groove-help</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>gif</extension>
-        <mime-type>image/gif</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>gim</extension>
-        <mime-type>application/vnd.groove-identity-message</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>gml</extension>
-        <mime-type>application/gml+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>gmx</extension>
-        <mime-type>application/vnd.gmx</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>gnumeric</extension>
-        <mime-type>application/x-gnumeric</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>gph</extension>
-        <mime-type>application/vnd.flographit</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>gpx</extension>
-        <mime-type>application/gpx+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>gqf</extension>
-        <mime-type>application/vnd.grafeq</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>gqs</extension>
-        <mime-type>application/vnd.grafeq</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>gram</extension>
-        <mime-type>application/srgs</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>gramps</extension>
-        <mime-type>application/x-gramps-xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>gre</extension>
-        <mime-type>application/vnd.geometry-explorer</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>grv</extension>
-        <mime-type>application/vnd.groove-injector</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>grxml</extension>
-        <mime-type>application/srgs+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>gsf</extension>
-        <mime-type>application/x-font-ghostscript</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>gtar</extension>
-        <mime-type>application/x-gtar</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>gtm</extension>
-        <mime-type>application/vnd.groove-tool-message</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>gtw</extension>
-        <mime-type>model/vnd.gtw</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>gv</extension>
-        <mime-type>text/vnd.graphviz</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>gxf</extension>
-        <mime-type>application/gxf</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>gxt</extension>
-        <mime-type>application/vnd.geonext</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>gz</extension>
-        <mime-type>application/x-gzip</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>h</extension>
-        <mime-type>text/x-c</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>h261</extension>
-        <mime-type>video/h261</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>h263</extension>
-        <mime-type>video/h263</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>h264</extension>
-        <mime-type>video/h264</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>hal</extension>
-        <mime-type>application/vnd.hal+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>hbci</extension>
-        <mime-type>application/vnd.hbci</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>hdf</extension>
-        <mime-type>application/x-hdf</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>hh</extension>
-        <mime-type>text/x-c</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>hlp</extension>
-        <mime-type>application/winhlp</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>hpgl</extension>
-        <mime-type>application/vnd.hp-hpgl</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>hpid</extension>
-        <mime-type>application/vnd.hp-hpid</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>hps</extension>
-        <mime-type>application/vnd.hp-hps</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>hqx</extension>
-        <mime-type>application/mac-binhex40</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>htc</extension>
-        <mime-type>text/x-component</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>htke</extension>
-        <mime-type>application/vnd.kenameaapp</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>htm</extension>
-        <mime-type>text/html</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>html</extension>
-        <mime-type>text/html</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>hvd</extension>
-        <mime-type>application/vnd.yamaha.hv-dic</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>hvp</extension>
-        <mime-type>application/vnd.yamaha.hv-voice</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>hvs</extension>
-        <mime-type>application/vnd.yamaha.hv-script</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>i2g</extension>
-        <mime-type>application/vnd.intergeo</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>icc</extension>
-        <mime-type>application/vnd.iccprofile</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>ice</extension>
-        <mime-type>x-conference/x-cooltalk</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>icm</extension>
-        <mime-type>application/vnd.iccprofile</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>ico</extension>
-        <mime-type>image/x-icon</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>ics</extension>
-        <mime-type>text/calendar</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>ief</extension>
-        <mime-type>image/ief</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>ifb</extension>
-        <mime-type>text/calendar</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>ifm</extension>
-        <mime-type>application/vnd.shana.informed.formdata</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>iges</extension>
-        <mime-type>model/iges</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>igl</extension>
-        <mime-type>application/vnd.igloader</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>igm</extension>
-        <mime-type>application/vnd.insors.igm</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>igs</extension>
-        <mime-type>model/iges</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>igx</extension>
-        <mime-type>application/vnd.micrografx.igx</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>iif</extension>
-        <mime-type>application/vnd.shana.informed.interchange</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>imp</extension>
-        <mime-type>application/vnd.accpac.simply.imp</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>ims</extension>
-        <mime-type>application/vnd.ms-ims</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>in</extension>
-        <mime-type>text/plain</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>ink</extension>
-        <mime-type>application/inkml+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>inkml</extension>
-        <mime-type>application/inkml+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>install</extension>
-        <mime-type>application/x-install-instructions</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>iota</extension>
-        <mime-type>application/vnd.astraea-software.iota</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>ipfix</extension>
-        <mime-type>application/ipfix</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>ipk</extension>
-        <mime-type>application/vnd.shana.informed.package</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>irm</extension>
-        <mime-type>application/vnd.ibm.rights-management</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>irp</extension>
-        <mime-type>application/vnd.irepository.package+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>iso</extension>
-        <mime-type>application/x-iso9660-image</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>itp</extension>
-        <mime-type>application/vnd.shana.informed.formtemplate</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>ivp</extension>
-        <mime-type>application/vnd.immervision-ivp</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>ivu</extension>
-        <mime-type>application/vnd.immervision-ivu</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>jad</extension>
-        <mime-type>text/vnd.sun.j2me.app-descriptor</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>jam</extension>
-        <mime-type>application/vnd.jam</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>jar</extension>
-        <mime-type>application/java-archive</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>java</extension>
-        <mime-type>text/x-java-source</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>jisp</extension>
-        <mime-type>application/vnd.jisp</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>jlt</extension>
-        <mime-type>application/vnd.hp-jlyt</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>jnlp</extension>
-        <mime-type>application/x-java-jnlp-file</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>joda</extension>
-        <mime-type>application/vnd.joost.joda-archive</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>jpe</extension>
-        <mime-type>image/jpeg</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>jpeg</extension>
-        <mime-type>image/jpeg</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>jpg</extension>
-        <mime-type>image/jpeg</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>jpgm</extension>
-        <mime-type>video/jpm</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>jpgv</extension>
-        <mime-type>video/jpeg</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>jpm</extension>
-        <mime-type>video/jpm</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>js</extension>
-        <mime-type>application/javascript</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>jsf</extension>
-        <mime-type>text/plain</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>json</extension>
-        <mime-type>application/json</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>jsonml</extension>
-        <mime-type>application/jsonml+json</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>jspf</extension>
-        <mime-type>text/plain</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>kar</extension>
-        <mime-type>audio/midi</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>karbon</extension>
-        <mime-type>application/vnd.kde.karbon</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>kfo</extension>
-        <mime-type>application/vnd.kde.kformula</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>kia</extension>
-        <mime-type>application/vnd.kidspiration</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>kml</extension>
-        <mime-type>application/vnd.google-earth.kml+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>kmz</extension>
-        <mime-type>application/vnd.google-earth.kmz</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>kne</extension>
-        <mime-type>application/vnd.kinar</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>knp</extension>
-        <mime-type>application/vnd.kinar</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>kon</extension>
-        <mime-type>application/vnd.kde.kontour</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>kpr</extension>
-        <mime-type>application/vnd.kde.kpresenter</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>kpt</extension>
-        <mime-type>application/vnd.kde.kpresenter</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>kpxx</extension>
-        <mime-type>application/vnd.ds-keypoint</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>ksp</extension>
-        <mime-type>application/vnd.kde.kspread</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>ktr</extension>
-        <mime-type>application/vnd.kahootz</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>ktx</extension>
-        <mime-type>image/ktx</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>ktz</extension>
-        <mime-type>application/vnd.kahootz</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>kwd</extension>
-        <mime-type>application/vnd.kde.kword</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>kwt</extension>
-        <mime-type>application/vnd.kde.kword</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>lasxml</extension>
-        <mime-type>application/vnd.las.las+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>latex</extension>
-        <mime-type>application/x-latex</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>lbd</extension>
-        <mime-type>application/vnd.llamagraphics.life-balance.desktop</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>lbe</extension>
-        <mime-type>application/vnd.llamagraphics.life-balance.exchange+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>les</extension>
-        <mime-type>application/vnd.hhe.lesson-player</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>lha</extension>
-        <mime-type>application/x-lzh-compressed</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>link66</extension>
-        <mime-type>application/vnd.route66.link66+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>list</extension>
-        <mime-type>text/plain</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>list3820</extension>
-        <mime-type>application/vnd.ibm.modcap</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>listafp</extension>
-        <mime-type>application/vnd.ibm.modcap</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>lnk</extension>
-        <mime-type>application/x-ms-shortcut</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>log</extension>
-        <mime-type>text/plain</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>lostxml</extension>
-        <mime-type>application/lost+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>lrf</extension>
-        <mime-type>application/octet-stream</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>lrm</extension>
-        <mime-type>application/vnd.ms-lrm</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>ltf</extension>
-        <mime-type>application/vnd.frogans.ltf</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>lvp</extension>
-        <mime-type>audio/vnd.lucent.voice</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>lwp</extension>
-        <mime-type>application/vnd.lotus-wordpro</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>lzh</extension>
-        <mime-type>application/x-lzh-compressed</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>m13</extension>
-        <mime-type>application/x-msmediaview</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>m14</extension>
-        <mime-type>application/x-msmediaview</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>m1v</extension>
-        <mime-type>video/mpeg</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>m21</extension>
-        <mime-type>application/mp21</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>m2a</extension>
-        <mime-type>audio/mpeg</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>m2v</extension>
-        <mime-type>video/mpeg</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>m3a</extension>
-        <mime-type>audio/mpeg</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>m3u</extension>
-        <mime-type>audio/x-mpegurl</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>m3u8</extension>
-        <mime-type>application/vnd.apple.mpegurl</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>m4a</extension>
-        <mime-type>audio/mp4</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>m4b</extension>
-        <mime-type>audio/mp4</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>m4r</extension>
-        <mime-type>audio/mp4</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>m4u</extension>
-        <mime-type>video/vnd.mpegurl</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>m4v</extension>
-        <mime-type>video/mp4</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>ma</extension>
-        <mime-type>application/mathematica</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mac</extension>
-        <mime-type>image/x-macpaint</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mads</extension>
-        <mime-type>application/mads+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mag</extension>
-        <mime-type>application/vnd.ecowin.chart</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>maker</extension>
-        <mime-type>application/vnd.framemaker</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>man</extension>
-        <mime-type>text/troff</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mar</extension>
-        <mime-type>application/octet-stream</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mathml</extension>
-        <mime-type>application/mathml+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mb</extension>
-        <mime-type>application/mathematica</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mbk</extension>
-        <mime-type>application/vnd.mobius.mbk</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mbox</extension>
-        <mime-type>application/mbox</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mc1</extension>
-        <mime-type>application/vnd.medcalcdata</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mcd</extension>
-        <mime-type>application/vnd.mcd</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mcurl</extension>
-        <mime-type>text/vnd.curl.mcurl</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mdb</extension>
-        <mime-type>application/x-msaccess</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mdi</extension>
-        <mime-type>image/vnd.ms-modi</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>me</extension>
-        <mime-type>text/troff</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mesh</extension>
-        <mime-type>model/mesh</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>meta4</extension>
-        <mime-type>application/metalink4+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>metalink</extension>
-        <mime-type>application/metalink+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mets</extension>
-        <mime-type>application/mets+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mfm</extension>
-        <mime-type>application/vnd.mfmp</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mft</extension>
-        <mime-type>application/rpki-manifest</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mgp</extension>
-        <mime-type>application/vnd.osgeo.mapguide.package</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mgz</extension>
-        <mime-type>application/vnd.proteus.magazine</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mid</extension>
-        <mime-type>audio/midi</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>midi</extension>
-        <mime-type>audio/midi</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mie</extension>
-        <mime-type>application/x-mie</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mif</extension>
-        <mime-type>application/x-mif</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mime</extension>
-        <mime-type>message/rfc822</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mj2</extension>
-        <mime-type>video/mj2</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mjp2</extension>
-        <mime-type>video/mj2</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mk3d</extension>
-        <mime-type>video/x-matroska</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mka</extension>
-        <mime-type>audio/x-matroska</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mks</extension>
-        <mime-type>video/x-matroska</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mkv</extension>
-        <mime-type>video/x-matroska</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mlp</extension>
-        <mime-type>application/vnd.dolby.mlp</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mmd</extension>
-        <mime-type>application/vnd.chipnuts.karaoke-mmd</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mmf</extension>
-        <mime-type>application/vnd.smaf</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mmr</extension>
-        <mime-type>image/vnd.fujixerox.edmics-mmr</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mng</extension>
-        <mime-type>video/x-mng</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mny</extension>
-        <mime-type>application/x-msmoney</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mobi</extension>
-        <mime-type>application/x-mobipocket-ebook</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mods</extension>
-        <mime-type>application/mods+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mov</extension>
-        <mime-type>video/quicktime</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>movie</extension>
-        <mime-type>video/x-sgi-movie</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mp1</extension>
-        <mime-type>audio/mpeg</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mp2</extension>
-        <mime-type>audio/mpeg</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mp21</extension>
-        <mime-type>application/mp21</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mp2a</extension>
-        <mime-type>audio/mpeg</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mp3</extension>
-        <mime-type>audio/mpeg</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mp4</extension>
-        <mime-type>video/mp4</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mp4a</extension>
-        <mime-type>audio/mp4</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mp4s</extension>
-        <mime-type>application/mp4</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mp4v</extension>
-        <mime-type>video/mp4</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mpa</extension>
-        <mime-type>audio/mpeg</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mpc</extension>
-        <mime-type>application/vnd.mophun.certificate</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mpe</extension>
-        <mime-type>video/mpeg</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mpeg</extension>
-        <mime-type>video/mpeg</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mpega</extension>
-        <mime-type>audio/x-mpeg</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mpg</extension>
-        <mime-type>video/mpeg</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mpg4</extension>
-        <mime-type>video/mp4</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mpga</extension>
-        <mime-type>audio/mpeg</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mpkg</extension>
-        <mime-type>application/vnd.apple.installer+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mpm</extension>
-        <mime-type>application/vnd.blueice.multipass</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mpn</extension>
-        <mime-type>application/vnd.mophun.application</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mpp</extension>
-        <mime-type>application/vnd.ms-project</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mpt</extension>
-        <mime-type>application/vnd.ms-project</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mpv2</extension>
-        <mime-type>video/mpeg2</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mpy</extension>
-        <mime-type>application/vnd.ibm.minipay</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mqy</extension>
-        <mime-type>application/vnd.mobius.mqy</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mrc</extension>
-        <mime-type>application/marc</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mrcx</extension>
-        <mime-type>application/marcxml+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>ms</extension>
-        <mime-type>text/troff</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mscml</extension>
-        <mime-type>application/mediaservercontrol+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mseed</extension>
-        <mime-type>application/vnd.fdsn.mseed</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mseq</extension>
-        <mime-type>application/vnd.mseq</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>msf</extension>
-        <mime-type>application/vnd.epson.msf</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>msh</extension>
-        <mime-type>model/mesh</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>msi</extension>
-        <mime-type>application/x-msdownload</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>msl</extension>
-        <mime-type>application/vnd.mobius.msl</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>msty</extension>
-        <mime-type>application/vnd.muvee.style</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mts</extension>
-        <mime-type>model/vnd.mts</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mus</extension>
-        <mime-type>application/vnd.musician</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>musicxml</extension>
-        <mime-type>application/vnd.recordare.musicxml+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mvb</extension>
-        <mime-type>application/x-msmediaview</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mwf</extension>
-        <mime-type>application/vnd.mfer</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mxf</extension>
-        <mime-type>application/mxf</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mxl</extension>
-        <mime-type>application/vnd.recordare.musicxml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mxml</extension>
-        <mime-type>application/xv+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mxs</extension>
-        <mime-type>application/vnd.triscape.mxs</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>mxu</extension>
-        <mime-type>video/vnd.mpegurl</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>n-gage</extension>
-        <mime-type>application/vnd.nokia.n-gage.symbian.install</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>n3</extension>
-        <mime-type>text/n3</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>nb</extension>
-        <mime-type>application/mathematica</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>nbp</extension>
-        <mime-type>application/vnd.wolfram.player</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>nc</extension>
-        <mime-type>application/x-netcdf</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>ncx</extension>
-        <mime-type>application/x-dtbncx+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>nfo</extension>
-        <mime-type>text/x-nfo</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>ngdat</extension>
-        <mime-type>application/vnd.nokia.n-gage.data</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>nitf</extension>
-        <mime-type>application/vnd.nitf</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>nlu</extension>
-        <mime-type>application/vnd.neurolanguage.nlu</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>nml</extension>
-        <mime-type>application/vnd.enliven</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>nnd</extension>
-        <mime-type>application/vnd.noblenet-directory</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>nns</extension>
-        <mime-type>application/vnd.noblenet-sealer</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>nnw</extension>
-        <mime-type>application/vnd.noblenet-web</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>npx</extension>
-        <mime-type>image/vnd.net-fpx</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>nsc</extension>
-        <mime-type>application/x-conference</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>nsf</extension>
-        <mime-type>application/vnd.lotus-notes</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>ntf</extension>
-        <mime-type>application/vnd.nitf</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>nzb</extension>
-        <mime-type>application/x-nzb</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>oa2</extension>
-        <mime-type>application/vnd.fujitsu.oasys2</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>oa3</extension>
-        <mime-type>application/vnd.fujitsu.oasys3</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>oas</extension>
-        <mime-type>application/vnd.fujitsu.oasys</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>obd</extension>
-        <mime-type>application/x-msbinder</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>obj</extension>
-        <mime-type>application/x-tgif</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>oda</extension>
-        <mime-type>application/oda</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <!-- OpenDocument Database -->
-        <extension>odb</extension>
-        <mime-type>application/vnd.oasis.opendocument.database</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <!-- OpenDocument Chart -->
-        <extension>odc</extension>
-        <mime-type>application/vnd.oasis.opendocument.chart</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <!-- OpenDocument Formula -->
-        <extension>odf</extension>
-        <mime-type>application/vnd.oasis.opendocument.formula</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>odft</extension>
-        <mime-type>application/vnd.oasis.opendocument.formula-template</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <!-- OpenDocument Drawing -->
-        <extension>odg</extension>
-        <mime-type>application/vnd.oasis.opendocument.graphics</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <!-- OpenDocument Image -->
-        <extension>odi</extension>
-        <mime-type>application/vnd.oasis.opendocument.image</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <!-- OpenDocument Master Document -->
-        <extension>odm</extension>
-        <mime-type>application/vnd.oasis.opendocument.text-master</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <!-- OpenDocument Presentation -->
-        <extension>odp</extension>
-        <mime-type>application/vnd.oasis.opendocument.presentation</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <!-- OpenDocument Spreadsheet -->
-        <extension>ods</extension>
-        <mime-type>application/vnd.oasis.opendocument.spreadsheet</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <!-- OpenDocument Text -->
-        <extension>odt</extension>
-        <mime-type>application/vnd.oasis.opendocument.text</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>oga</extension>
-        <mime-type>audio/ogg</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>ogg</extension>
-        <mime-type>audio/ogg</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>ogv</extension>
-        <mime-type>video/ogg</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <!-- xiph mime types -->
-        <extension>ogx</extension>
-        <mime-type>application/ogg</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>omdoc</extension>
-        <mime-type>application/omdoc+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>onepkg</extension>
-        <mime-type>application/onenote</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>onetmp</extension>
-        <mime-type>application/onenote</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>onetoc</extension>
-        <mime-type>application/onenote</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>onetoc2</extension>
-        <mime-type>application/onenote</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>opf</extension>
-        <mime-type>application/oebps-package+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>opml</extension>
-        <mime-type>text/x-opml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>oprc</extension>
-        <mime-type>application/vnd.palm</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>org</extension>
-        <mime-type>application/vnd.lotus-organizer</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>osf</extension>
-        <mime-type>application/vnd.yamaha.openscoreformat</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>osfpvg</extension>
-        <mime-type>application/vnd.yamaha.openscoreformat.osfpvg+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>otc</extension>
-        <mime-type>application/vnd.oasis.opendocument.chart-template</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>otf</extension>
-        <mime-type>application/x-font-otf</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <!-- OpenDocument Drawing Template -->
-        <extension>otg</extension>
-        <mime-type>application/vnd.oasis.opendocument.graphics-template</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <!-- HTML Document Template -->
-        <extension>oth</extension>
-        <mime-type>application/vnd.oasis.opendocument.text-web</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>oti</extension>
-        <mime-type>application/vnd.oasis.opendocument.image-template</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <!-- OpenDocument Presentation Template -->
-        <extension>otp</extension>
-        <mime-type>application/vnd.oasis.opendocument.presentation-template</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <!-- OpenDocument Spreadsheet Template -->
-        <extension>ots</extension>
-        <mime-type>application/vnd.oasis.opendocument.spreadsheet-template</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <!-- OpenDocument Text Template -->
-        <extension>ott</extension>
-        <mime-type>application/vnd.oasis.opendocument.text-template</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>oxps</extension>
-        <mime-type>application/oxps</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>oxt</extension>
-        <mime-type>application/vnd.openofficeorg.extension</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>p</extension>
-        <mime-type>text/x-pascal</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>p10</extension>
-        <mime-type>application/pkcs10</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>p12</extension>
-        <mime-type>application/x-pkcs12</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>p7b</extension>
-        <mime-type>application/x-pkcs7-certificates</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>p7c</extension>
-        <mime-type>application/pkcs7-mime</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>p7m</extension>
-        <mime-type>application/pkcs7-mime</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>p7r</extension>
-        <mime-type>application/x-pkcs7-certreqresp</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>p7s</extension>
-        <mime-type>application/pkcs7-signature</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>p8</extension>
-        <mime-type>application/pkcs8</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>pas</extension>
-        <mime-type>text/x-pascal</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>paw</extension>
-        <mime-type>application/vnd.pawaafile</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>pbd</extension>
-        <mime-type>application/vnd.powerbuilder6</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>pbm</extension>
-        <mime-type>image/x-portable-bitmap</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>pcap</extension>
-        <mime-type>application/vnd.tcpdump.pcap</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>pcf</extension>
-        <mime-type>application/x-font-pcf</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>pcl</extension>
-        <mime-type>application/vnd.hp-pcl</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>pclxl</extension>
-        <mime-type>application/vnd.hp-pclxl</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>pct</extension>
-        <mime-type>image/pict</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>pcurl</extension>
-        <mime-type>application/vnd.curl.pcurl</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>pcx</extension>
-        <mime-type>image/x-pcx</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>pdb</extension>
-        <mime-type>application/vnd.palm</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>pdf</extension>
-        <mime-type>application/pdf</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>pfa</extension>
-        <mime-type>application/x-font-type1</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>pfb</extension>
-        <mime-type>application/x-font-type1</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>pfm</extension>
-        <mime-type>application/x-font-type1</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>pfr</extension>
-        <mime-type>application/font-tdpfr</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>pfx</extension>
-        <mime-type>application/x-pkcs12</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>pgm</extension>
-        <mime-type>image/x-portable-graymap</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>pgn</extension>
-        <mime-type>application/x-chess-pgn</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>pgp</extension>
-        <mime-type>application/pgp-encrypted</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>pic</extension>
-        <mime-type>image/pict</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>pict</extension>
-        <mime-type>image/pict</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>pkg</extension>
-        <mime-type>application/octet-stream</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>pki</extension>
-        <mime-type>application/pkixcmp</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>pkipath</extension>
-        <mime-type>application/pkix-pkipath</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>plb</extension>
-        <mime-type>application/vnd.3gpp.pic-bw-large</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>plc</extension>
-        <mime-type>application/vnd.mobius.plc</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>plf</extension>
-        <mime-type>application/vnd.pocketlearn</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>pls</extension>
-        <mime-type>audio/x-scpls</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>pml</extension>
-        <mime-type>application/vnd.ctc-posml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>png</extension>
-        <mime-type>image/png</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>pnm</extension>
-        <mime-type>image/x-portable-anymap</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>pnt</extension>
-        <mime-type>image/x-macpaint</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>portpkg</extension>
-        <mime-type>application/vnd.macports.portpkg</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>pot</extension>
-        <mime-type>application/vnd.ms-powerpoint</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>potm</extension>
-        <mime-type>application/vnd.ms-powerpoint.template.macroenabled.12</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>potx</extension>
-        <mime-type>application/vnd.openxmlformats-officedocument.presentationml.template</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>ppam</extension>
-        <mime-type>application/vnd.ms-powerpoint.addin.macroenabled.12</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>ppd</extension>
-        <mime-type>application/vnd.cups-ppd</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>ppm</extension>
-        <mime-type>image/x-portable-pixmap</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>pps</extension>
-        <mime-type>application/vnd.ms-powerpoint</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>ppsm</extension>
-        <mime-type>application/vnd.ms-powerpoint.slideshow.macroenabled.12</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>ppsx</extension>
-        <mime-type>application/vnd.openxmlformats-officedocument.presentationml.slideshow</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>ppt</extension>
-        <mime-type>application/vnd.ms-powerpoint</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>pptm</extension>
-        <mime-type>application/vnd.ms-powerpoint.presentation.macroenabled.12</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>pptx</extension>
-        <mime-type>application/vnd.openxmlformats-officedocument.presentationml.presentation</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>pqa</extension>
-        <mime-type>application/vnd.palm</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>prc</extension>
-        <mime-type>application/x-mobipocket-ebook</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>pre</extension>
-        <mime-type>application/vnd.lotus-freelance</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>prf</extension>
-        <mime-type>application/pics-rules</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>ps</extension>
-        <mime-type>application/postscript</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>psb</extension>
-        <mime-type>application/vnd.3gpp.pic-bw-small</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>psd</extension>
-        <mime-type>image/vnd.adobe.photoshop</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>psf</extension>
-        <mime-type>application/x-font-linux-psf</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>pskcxml</extension>
-        <mime-type>application/pskc+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>ptid</extension>
-        <mime-type>application/vnd.pvi.ptid1</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>pub</extension>
-        <mime-type>application/x-mspublisher</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>pvb</extension>
-        <mime-type>application/vnd.3gpp.pic-bw-var</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>pwn</extension>
-        <mime-type>application/vnd.3m.post-it-notes</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>pya</extension>
-        <mime-type>audio/vnd.ms-playready.media.pya</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>pyv</extension>
-        <mime-type>video/vnd.ms-playready.media.pyv</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>qam</extension>
-        <mime-type>application/vnd.epson.quickanime</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>qbo</extension>
-        <mime-type>application/vnd.intu.qbo</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>qfx</extension>
-        <mime-type>application/vnd.intu.qfx</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>qps</extension>
-        <mime-type>application/vnd.publishare-delta-tree</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>qt</extension>
-        <mime-type>video/quicktime</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>qti</extension>
-        <mime-type>image/x-quicktime</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>qtif</extension>
-        <mime-type>image/x-quicktime</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>qwd</extension>
-        <mime-type>application/vnd.quark.quarkxpress</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>qwt</extension>
-        <mime-type>application/vnd.quark.quarkxpress</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>qxb</extension>
-        <mime-type>application/vnd.quark.quarkxpress</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>qxd</extension>
-        <mime-type>application/vnd.quark.quarkxpress</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>qxl</extension>
-        <mime-type>application/vnd.quark.quarkxpress</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>qxt</extension>
-        <mime-type>application/vnd.quark.quarkxpress</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>ra</extension>
-        <mime-type>audio/x-pn-realaudio</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>ram</extension>
-        <mime-type>audio/x-pn-realaudio</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>rar</extension>
-        <mime-type>application/x-rar-compressed</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>ras</extension>
-        <mime-type>image/x-cmu-raster</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>rcprofile</extension>
-        <mime-type>application/vnd.ipunplugged.rcprofile</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>rdf</extension>
-        <mime-type>application/rdf+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>rdz</extension>
-        <mime-type>application/vnd.data-vision.rdz</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>rep</extension>
-        <mime-type>application/vnd.businessobjects</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>res</extension>
-        <mime-type>application/x-dtbresource+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>rgb</extension>
-        <mime-type>image/x-rgb</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>rif</extension>
-        <mime-type>application/reginfo+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>rip</extension>
-        <mime-type>audio/vnd.rip</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>ris</extension>
-        <mime-type>application/x-research-info-systems</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>rl</extension>
-        <mime-type>application/resource-lists+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>rlc</extension>
-        <mime-type>image/vnd.fujixerox.edmics-rlc</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>rld</extension>
-        <mime-type>application/resource-lists-diff+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>rm</extension>
-        <mime-type>application/vnd.rn-realmedia</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>rmi</extension>
-        <mime-type>audio/midi</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>rmp</extension>
-        <mime-type>audio/x-pn-realaudio-plugin</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>rms</extension>
-        <mime-type>application/vnd.jcp.javame.midlet-rms</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>rmvb</extension>
-        <mime-type>application/vnd.rn-realmedia-vbr</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>rnc</extension>
-        <mime-type>application/relax-ng-compact-syntax</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>roa</extension>
-        <mime-type>application/rpki-roa</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>roff</extension>
-        <mime-type>text/troff</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>rp9</extension>
-        <mime-type>application/vnd.cloanto.rp9</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>rpss</extension>
-        <mime-type>application/vnd.nokia.radio-presets</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>rpst</extension>
-        <mime-type>application/vnd.nokia.radio-preset</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>rq</extension>
-        <mime-type>application/sparql-query</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>rs</extension>
-        <mime-type>application/rls-services+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>rsd</extension>
-        <mime-type>application/rsd+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>rss</extension>
-        <mime-type>application/rss+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>rtf</extension>
-        <mime-type>application/rtf</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>rtx</extension>
-        <mime-type>text/richtext</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>s</extension>
-        <mime-type>text/x-asm</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>s3m</extension>
-        <mime-type>audio/s3m</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>saf</extension>
-        <mime-type>application/vnd.yamaha.smaf-audio</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>sbml</extension>
-        <mime-type>application/sbml+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>sc</extension>
-        <mime-type>application/vnd.ibm.secure-container</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>scd</extension>
-        <mime-type>application/x-msschedule</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>scm</extension>
-        <mime-type>application/vnd.lotus-screencam</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>scq</extension>
-        <mime-type>application/scvp-cv-request</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>scs</extension>
-        <mime-type>application/scvp-cv-response</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>scurl</extension>
-        <mime-type>text/vnd.curl.scurl</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>sda</extension>
-        <mime-type>application/vnd.stardivision.draw</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>sdc</extension>
-        <mime-type>application/vnd.stardivision.calc</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>sdd</extension>
-        <mime-type>application/vnd.stardivision.impress</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>sdkd</extension>
-        <mime-type>application/vnd.solent.sdkm+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>sdkm</extension>
-        <mime-type>application/vnd.solent.sdkm+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>sdp</extension>
-        <mime-type>application/sdp</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>sdw</extension>
-        <mime-type>application/vnd.stardivision.writer</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>see</extension>
-        <mime-type>application/vnd.seemail</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>seed</extension>
-        <mime-type>application/vnd.fdsn.seed</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>sema</extension>
-        <mime-type>application/vnd.sema</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>semd</extension>
-        <mime-type>application/vnd.semd</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>semf</extension>
-        <mime-type>application/vnd.semf</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>ser</extension>
-        <mime-type>application/java-serialized-object</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>setpay</extension>
-        <mime-type>application/set-payment-initiation</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>setreg</extension>
-        <mime-type>application/set-registration-initiation</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>sfd-hdstx</extension>
-        <mime-type>application/vnd.hydrostatix.sof-data</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>sfs</extension>
-        <mime-type>application/vnd.spotfire.sfs</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>sfv</extension>
-        <mime-type>text/x-sfv</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>sgi</extension>
-        <mime-type>image/sgi</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>sgl</extension>
-        <mime-type>application/vnd.stardivision.writer-global</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>sgm</extension>
-        <mime-type>text/sgml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>sgml</extension>
-        <mime-type>text/sgml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>sh</extension>
-        <mime-type>application/x-sh</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>shar</extension>
-        <mime-type>application/x-shar</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>shf</extension>
-        <mime-type>application/shf+xml</mime-type>
-    </mime-mapping>
-    <!--
-    <mime-mapping>
-        <extension>shtml</extension>
-        <mime-type>text/x-server-parsed-html</mime-type>
-    </mime-mapping>
-    -->
-    <mime-mapping>
-        <extension>sid</extension>
-        <mime-type>image/x-mrsid-image</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>sig</extension>
-        <mime-type>application/pgp-signature</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>sil</extension>
-        <mime-type>audio/silk</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>silo</extension>
-        <mime-type>model/mesh</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>sis</extension>
-        <mime-type>application/vnd.symbian.install</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>sisx</extension>
-        <mime-type>application/vnd.symbian.install</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>sit</extension>
-        <mime-type>application/x-stuffit</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>sitx</extension>
-        <mime-type>application/x-stuffitx</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>skd</extension>
-        <mime-type>application/vnd.koan</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>skm</extension>
-        <mime-type>application/vnd.koan</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>skp</extension>
-        <mime-type>application/vnd.koan</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>skt</extension>
-        <mime-type>application/vnd.koan</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>sldm</extension>
-        <mime-type>application/vnd.ms-powerpoint.slide.macroenabled.12</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>sldx</extension>
-        <mime-type>application/vnd.openxmlformats-officedocument.presentationml.slide</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>slt</extension>
-        <mime-type>application/vnd.epson.salt</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>sm</extension>
-        <mime-type>application/vnd.stepmania.stepchart</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>smf</extension>
-        <mime-type>application/vnd.stardivision.math</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>smi</extension>
-        <mime-type>application/smil+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>smil</extension>
-        <mime-type>application/smil+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>smv</extension>
-        <mime-type>video/x-smv</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>smzip</extension>
-        <mime-type>application/vnd.stepmania.package</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>snd</extension>
-        <mime-type>audio/basic</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>snf</extension>
-        <mime-type>application/x-font-snf</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>so</extension>
-        <mime-type>application/octet-stream</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>spc</extension>
-        <mime-type>application/x-pkcs7-certificates</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>spf</extension>
-        <mime-type>application/vnd.yamaha.smaf-phrase</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>spl</extension>
-        <mime-type>application/x-futuresplash</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>spot</extension>
-        <mime-type>text/vnd.in3d.spot</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>spp</extension>
-        <mime-type>application/scvp-vp-response</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>spq</extension>
-        <mime-type>application/scvp-vp-request</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>spx</extension>
-        <mime-type>audio/ogg</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>sql</extension>
-        <mime-type>application/x-sql</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>src</extension>
-        <mime-type>application/x-wais-source</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>srt</extension>
-        <mime-type>application/x-subrip</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>sru</extension>
-        <mime-type>application/sru+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>srx</extension>
-        <mime-type>application/sparql-results+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>ssdl</extension>
-        <mime-type>application/ssdl+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>sse</extension>
-        <mime-type>application/vnd.kodak-descriptor</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>ssf</extension>
-        <mime-type>application/vnd.epson.ssf</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>ssml</extension>
-        <mime-type>application/ssml+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>st</extension>
-        <mime-type>application/vnd.sailingtracker.track</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>stc</extension>
-        <mime-type>application/vnd.sun.xml.calc.template</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>std</extension>
-        <mime-type>application/vnd.sun.xml.draw.template</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>stf</extension>
-        <mime-type>application/vnd.wt.stf</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>sti</extension>
-        <mime-type>application/vnd.sun.xml.impress.template</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>stk</extension>
-        <mime-type>application/hyperstudio</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>stl</extension>
-        <mime-type>application/vnd.ms-pki.stl</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>str</extension>
-        <mime-type>application/vnd.pg.format</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>stw</extension>
-        <mime-type>application/vnd.sun.xml.writer.template</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>sub</extension>
-        <mime-type>text/vnd.dvb.subtitle</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>sus</extension>
-        <mime-type>application/vnd.sus-calendar</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>susp</extension>
-        <mime-type>application/vnd.sus-calendar</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>sv4cpio</extension>
-        <mime-type>application/x-sv4cpio</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>sv4crc</extension>
-        <mime-type>application/x-sv4crc</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>svc</extension>
-        <mime-type>application/vnd.dvb.service</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>svd</extension>
-        <mime-type>application/vnd.svd</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>svg</extension>
-        <mime-type>image/svg+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>svgz</extension>
-        <mime-type>image/svg+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>swa</extension>
-        <mime-type>application/x-director</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>swf</extension>
-        <mime-type>application/x-shockwave-flash</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>swi</extension>
-        <mime-type>application/vnd.aristanetworks.swi</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>sxc</extension>
-        <mime-type>application/vnd.sun.xml.calc</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>sxd</extension>
-        <mime-type>application/vnd.sun.xml.draw</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>sxg</extension>
-        <mime-type>application/vnd.sun.xml.writer.global</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>sxi</extension>
-        <mime-type>application/vnd.sun.xml.impress</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>sxm</extension>
-        <mime-type>application/vnd.sun.xml.math</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>sxw</extension>
-        <mime-type>application/vnd.sun.xml.writer</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>t</extension>
-        <mime-type>text/troff</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>t3</extension>
-        <mime-type>application/x-t3vm-image</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>taglet</extension>
-        <mime-type>application/vnd.mynfc</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>tao</extension>
-        <mime-type>application/vnd.tao.intent-module-archive</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>tar</extension>
-        <mime-type>application/x-tar</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>tcap</extension>
-        <mime-type>application/vnd.3gpp2.tcap</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>tcl</extension>
-        <mime-type>application/x-tcl</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>teacher</extension>
-        <mime-type>application/vnd.smart.teacher</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>tei</extension>
-        <mime-type>application/tei+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>teicorpus</extension>
-        <mime-type>application/tei+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>tex</extension>
-        <mime-type>application/x-tex</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>texi</extension>
-        <mime-type>application/x-texinfo</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>texinfo</extension>
-        <mime-type>application/x-texinfo</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>text</extension>
-        <mime-type>text/plain</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>tfi</extension>
-        <mime-type>application/thraud+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>tfm</extension>
-        <mime-type>application/x-tex-tfm</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>tga</extension>
-        <mime-type>image/x-tga</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>thmx</extension>
-        <mime-type>application/vnd.ms-officetheme</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>tif</extension>
-        <mime-type>image/tiff</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>tiff</extension>
-        <mime-type>image/tiff</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>tmo</extension>
-        <mime-type>application/vnd.tmobile-livetv</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>torrent</extension>
-        <mime-type>application/x-bittorrent</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>tpl</extension>
-        <mime-type>application/vnd.groove-tool-template</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>tpt</extension>
-        <mime-type>application/vnd.trid.tpt</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>tr</extension>
-        <mime-type>text/troff</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>tra</extension>
-        <mime-type>application/vnd.trueapp</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>trm</extension>
-        <mime-type>application/x-msterminal</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>tsd</extension>
-        <mime-type>application/timestamped-data</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>tsv</extension>
-        <mime-type>text/tab-separated-values</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>ttc</extension>
-        <mime-type>application/x-font-ttf</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>ttf</extension>
-        <mime-type>application/x-font-ttf</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>ttl</extension>
-        <mime-type>text/turtle</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>twd</extension>
-        <mime-type>application/vnd.simtech-mindmapper</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>twds</extension>
-        <mime-type>application/vnd.simtech-mindmapper</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>txd</extension>
-        <mime-type>application/vnd.genomatix.tuxedo</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>txf</extension>
-        <mime-type>application/vnd.mobius.txf</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>txt</extension>
-        <mime-type>text/plain</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>u32</extension>
-        <mime-type>application/x-authorware-bin</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>udeb</extension>
-        <mime-type>application/x-debian-package</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>ufd</extension>
-        <mime-type>application/vnd.ufdl</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>ufdl</extension>
-        <mime-type>application/vnd.ufdl</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>ulw</extension>
-        <mime-type>audio/basic</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>ulx</extension>
-        <mime-type>application/x-glulx</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>umj</extension>
-        <mime-type>application/vnd.umajin</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>unityweb</extension>
-        <mime-type>application/vnd.unity</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>uoml</extension>
-        <mime-type>application/vnd.uoml+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>uri</extension>
-        <mime-type>text/uri-list</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>uris</extension>
-        <mime-type>text/uri-list</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>urls</extension>
-        <mime-type>text/uri-list</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>ustar</extension>
-        <mime-type>application/x-ustar</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>utz</extension>
-        <mime-type>application/vnd.uiq.theme</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>uu</extension>
-        <mime-type>text/x-uuencode</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>uva</extension>
-        <mime-type>audio/vnd.dece.audio</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>uvd</extension>
-        <mime-type>application/vnd.dece.data</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>uvf</extension>
-        <mime-type>application/vnd.dece.data</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>uvg</extension>
-        <mime-type>image/vnd.dece.graphic</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>uvh</extension>
-        <mime-type>video/vnd.dece.hd</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>uvi</extension>
-        <mime-type>image/vnd.dece.graphic</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>uvm</extension>
-        <mime-type>video/vnd.dece.mobile</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>uvp</extension>
-        <mime-type>video/vnd.dece.pd</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>uvs</extension>
-        <mime-type>video/vnd.dece.sd</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>uvt</extension>
-        <mime-type>application/vnd.dece.ttml+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>uvu</extension>
-        <mime-type>video/vnd.uvvu.mp4</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>uvv</extension>
-        <mime-type>video/vnd.dece.video</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>uvva</extension>
-        <mime-type>audio/vnd.dece.audio</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>uvvd</extension>
-        <mime-type>application/vnd.dece.data</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>uvvf</extension>
-        <mime-type>application/vnd.dece.data</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>uvvg</extension>
-        <mime-type>image/vnd.dece.graphic</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>uvvh</extension>
-        <mime-type>video/vnd.dece.hd</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>uvvi</extension>
-        <mime-type>image/vnd.dece.graphic</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>uvvm</extension>
-        <mime-type>video/vnd.dece.mobile</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>uvvp</extension>
-        <mime-type>video/vnd.dece.pd</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>uvvs</extension>
-        <mime-type>video/vnd.dece.sd</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>uvvt</extension>
-        <mime-type>application/vnd.dece.ttml+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>uvvu</extension>
-        <mime-type>video/vnd.uvvu.mp4</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>uvvv</extension>
-        <mime-type>video/vnd.dece.video</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>uvvx</extension>
-        <mime-type>application/vnd.dece.unspecified</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>uvvz</extension>
-        <mime-type>application/vnd.dece.zip</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>uvx</extension>
-        <mime-type>application/vnd.dece.unspecified</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>uvz</extension>
-        <mime-type>application/vnd.dece.zip</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>vcard</extension>
-        <mime-type>text/vcard</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>vcd</extension>
-        <mime-type>application/x-cdlink</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>vcf</extension>
-        <mime-type>text/x-vcard</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>vcg</extension>
-        <mime-type>application/vnd.groove-vcard</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>vcs</extension>
-        <mime-type>text/x-vcalendar</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>vcx</extension>
-        <mime-type>application/vnd.vcx</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>vis</extension>
-        <mime-type>application/vnd.visionary</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>viv</extension>
-        <mime-type>video/vnd.vivo</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>vob</extension>
-        <mime-type>video/x-ms-vob</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>vor</extension>
-        <mime-type>application/vnd.stardivision.writer</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>vox</extension>
-        <mime-type>application/x-authorware-bin</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>vrml</extension>
-        <mime-type>model/vrml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>vsd</extension>
-        <mime-type>application/vnd.visio</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>vsf</extension>
-        <mime-type>application/vnd.vsf</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>vss</extension>
-        <mime-type>application/vnd.visio</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>vst</extension>
-        <mime-type>application/vnd.visio</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>vsw</extension>
-        <mime-type>application/vnd.visio</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>vtu</extension>
-        <mime-type>model/vnd.vtu</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>vxml</extension>
-        <mime-type>application/voicexml+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>w3d</extension>
-        <mime-type>application/x-director</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>wad</extension>
-        <mime-type>application/x-doom</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>wav</extension>
-        <mime-type>audio/x-wav</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>wax</extension>
-        <mime-type>audio/x-ms-wax</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <!-- Wireless Bitmap -->
-        <extension>wbmp</extension>
-        <mime-type>image/vnd.wap.wbmp</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>wbs</extension>
-        <mime-type>application/vnd.criticaltools.wbs+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>wbxml</extension>
-        <mime-type>application/vnd.wap.wbxml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>wcm</extension>
-        <mime-type>application/vnd.ms-works</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>wdb</extension>
-        <mime-type>application/vnd.ms-works</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>wdp</extension>
-        <mime-type>image/vnd.ms-photo</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>weba</extension>
-        <mime-type>audio/webm</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>webm</extension>
-        <mime-type>video/webm</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>webp</extension>
-        <mime-type>image/webp</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>wg</extension>
-        <mime-type>application/vnd.pmi.widget</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>wgt</extension>
-        <mime-type>application/widget</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>wks</extension>
-        <mime-type>application/vnd.ms-works</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>wm</extension>
-        <mime-type>video/x-ms-wm</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>wma</extension>
-        <mime-type>audio/x-ms-wma</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>wmd</extension>
-        <mime-type>application/x-ms-wmd</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>wmf</extension>
-        <mime-type>application/x-msmetafile</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <!-- WML Source -->
-        <extension>wml</extension>
-        <mime-type>text/vnd.wap.wml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <!-- Compiled WML -->
-        <extension>wmlc</extension>
-        <mime-type>application/vnd.wap.wmlc</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <!-- WML Script Source -->
-        <extension>wmls</extension>
-        <mime-type>text/vnd.wap.wmlscript</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <!-- Compiled WML Script -->
-        <extension>wmlsc</extension>
-        <mime-type>application/vnd.wap.wmlscriptc</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>wmv</extension>
-        <mime-type>video/x-ms-wmv</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>wmx</extension>
-        <mime-type>video/x-ms-wmx</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>wmz</extension>
-        <mime-type>application/x-msmetafile</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>woff</extension>
-        <mime-type>application/x-font-woff</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>wpd</extension>
-        <mime-type>application/vnd.wordperfect</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>wpl</extension>
-        <mime-type>application/vnd.ms-wpl</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>wps</extension>
-        <mime-type>application/vnd.ms-works</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>wqd</extension>
-        <mime-type>application/vnd.wqd</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>wri</extension>
-        <mime-type>application/x-mswrite</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>wrl</extension>
-        <mime-type>model/vrml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>wsdl</extension>
-        <mime-type>application/wsdl+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>wspolicy</extension>
-        <mime-type>application/wspolicy+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>wtb</extension>
-        <mime-type>application/vnd.webturbo</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>wvx</extension>
-        <mime-type>video/x-ms-wvx</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>x32</extension>
-        <mime-type>application/x-authorware-bin</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>x3d</extension>
-        <mime-type>model/x3d+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>x3db</extension>
-        <mime-type>model/x3d+binary</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>x3dbz</extension>
-        <mime-type>model/x3d+binary</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>x3dv</extension>
-        <mime-type>model/x3d+vrml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>x3dvz</extension>
-        <mime-type>model/x3d+vrml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>x3dz</extension>
-        <mime-type>model/x3d+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>xaml</extension>
-        <mime-type>application/xaml+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>xap</extension>
-        <mime-type>application/x-silverlight-app</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>xar</extension>
-        <mime-type>application/vnd.xara</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>xbap</extension>
-        <mime-type>application/x-ms-xbap</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>xbd</extension>
-        <mime-type>application/vnd.fujixerox.docuworks.binder</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>xbm</extension>
-        <mime-type>image/x-xbitmap</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>xdf</extension>
-        <mime-type>application/xcap-diff+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>xdm</extension>
-        <mime-type>application/vnd.syncml.dm+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>xdp</extension>
-        <mime-type>application/vnd.adobe.xdp+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>xdssc</extension>
-        <mime-type>application/dssc+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>xdw</extension>
-        <mime-type>application/vnd.fujixerox.docuworks</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>xenc</extension>
-        <mime-type>application/xenc+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>xer</extension>
-        <mime-type>application/patch-ops-error+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>xfdf</extension>
-        <mime-type>application/vnd.adobe.xfdf</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>xfdl</extension>
-        <mime-type>application/vnd.xfdl</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>xht</extension>
-        <mime-type>application/xhtml+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>xhtml</extension>
-        <mime-type>application/xhtml+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>xhvml</extension>
-        <mime-type>application/xv+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>xif</extension>
-        <mime-type>image/vnd.xiff</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>xla</extension>
-        <mime-type>application/vnd.ms-excel</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>xlam</extension>
-        <mime-type>application/vnd.ms-excel.addin.macroenabled.12</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>xlc</extension>
-        <mime-type>application/vnd.ms-excel</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>xlf</extension>
-        <mime-type>application/x-xliff+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>xlm</extension>
-        <mime-type>application/vnd.ms-excel</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>xls</extension>
-        <mime-type>application/vnd.ms-excel</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>xlsb</extension>
-        <mime-type>application/vnd.ms-excel.sheet.binary.macroenabled.12</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>xlsm</extension>
-        <mime-type>application/vnd.ms-excel.sheet.macroenabled.12</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>xlsx</extension>
-        <mime-type>application/vnd.openxmlformats-officedocument.spreadsheetml.sheet</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>xlt</extension>
-        <mime-type>application/vnd.ms-excel</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>xltm</extension>
-        <mime-type>application/vnd.ms-excel.template.macroenabled.12</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>xltx</extension>
-        <mime-type>application/vnd.openxmlformats-officedocument.spreadsheetml.template</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>xlw</extension>
-        <mime-type>application/vnd.ms-excel</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>xm</extension>
-        <mime-type>audio/xm</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>xml</extension>
-        <mime-type>application/xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>xo</extension>
-        <mime-type>application/vnd.olpc-sugar</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>xop</extension>
-        <mime-type>application/xop+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>xpi</extension>
-        <mime-type>application/x-xpinstall</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>xpl</extension>
-        <mime-type>application/xproc+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>xpm</extension>
-        <mime-type>image/x-xpixmap</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>xpr</extension>
-        <mime-type>application/vnd.is-xpr</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>xps</extension>
-        <mime-type>application/vnd.ms-xpsdocument</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>xpw</extension>
-        <mime-type>application/vnd.intercon.formnet</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>xpx</extension>
-        <mime-type>application/vnd.intercon.formnet</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>xsl</extension>
-        <mime-type>application/xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>xslt</extension>
-        <mime-type>application/xslt+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>xsm</extension>
-        <mime-type>application/vnd.syncml+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>xspf</extension>
-        <mime-type>application/xspf+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>xul</extension>
-        <mime-type>application/vnd.mozilla.xul+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>xvm</extension>
-        <mime-type>application/xv+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>xvml</extension>
-        <mime-type>application/xv+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>xwd</extension>
-        <mime-type>image/x-xwindowdump</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>xyz</extension>
-        <mime-type>chemical/x-xyz</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>xz</extension>
-        <mime-type>application/x-xz</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>yang</extension>
-        <mime-type>application/yang</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>yin</extension>
-        <mime-type>application/yin+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>z</extension>
-        <mime-type>application/x-compress</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>Z</extension>
-        <mime-type>application/x-compress</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>z1</extension>
-        <mime-type>application/x-zmachine</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>z2</extension>
-        <mime-type>application/x-zmachine</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>z3</extension>
-        <mime-type>application/x-zmachine</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>z4</extension>
-        <mime-type>application/x-zmachine</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>z5</extension>
-        <mime-type>application/x-zmachine</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>z6</extension>
-        <mime-type>application/x-zmachine</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>z7</extension>
-        <mime-type>application/x-zmachine</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>z8</extension>
-        <mime-type>application/x-zmachine</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>zaz</extension>
-        <mime-type>application/vnd.zzazz.deck+xml</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>zip</extension>
-        <mime-type>application/zip</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>zir</extension>
-        <mime-type>application/vnd.zul</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>zirz</extension>
-        <mime-type>application/vnd.zul</mime-type>
-    </mime-mapping>
-    <mime-mapping>
-        <extension>zmm</extension>
-        <mime-type>application/vnd.handheld-entertainment+xml</mime-type>
-    </mime-mapping>
-
-  <!-- ==================== Default Welcome File List ===================== -->
-  <!-- When a request URI refers to a directory, the default servlet looks  -->
-  <!-- for a "welcome file" within that directory and, if present, to the   -->
-  <!-- corresponding resource URI for display.                              -->
-  <!-- If no welcome files are present, the default servlet either serves a -->
-  <!-- directory listing (see default servlet configuration on how to       -->
-  <!-- customize) or returns a 404 status, depending on the value of the    -->
-  <!-- listings setting.                                                    -->
-  <!--                                                                      -->
-  <!-- If you define welcome files in your own application's web.xml        -->
-  <!-- deployment descriptor, that list *replaces* the list configured      -->
-  <!-- here, so be sure to include any of the default values that you wish  -->
-  <!-- to use within your application.                                       -->
-
-    <welcome-file-list>
-        <welcome-file>index.html</welcome-file>
-        <welcome-file>index.htm</welcome-file>
-        <welcome-file>index.jsp</welcome-file>
-    </welcome-file-list>
-
-</web-app>
diff --git a/stack/rest/catalina_base/lib/usergrid-deployment.properties b/stack/rest/catalina_base/lib/usergrid-deployment.properties
deleted file mode 100644
index daf7324..0000000
--- a/stack/rest/catalina_base/lib/usergrid-deployment.properties
+++ /dev/null
@@ -1,113 +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.
-#
-
-######################################################
-# Minimal Usergrid configuration properties for local Tomcat and Cassandra
-
-usergrid.test=true
-
-cassandra.url=localhost:9160
-cassandra.cluster=usergrid
-cassandra.keyspace.strategy=org.apache.cassandra.locator.SimpleStrategy
-cassandra.keyspace.replication=replication_factor:1
-#cassandra.keyspace.strategy=org.apache.cassandra.locator.NetworkTopologyStrategy
-#cassandra.keyspace.replication=us-east:3
-
-cassandra.timeout=5000
-cassandra.connections=10
-cassandra.discovery=NONE
-#usergrid.read.cl=ONE
-#usergrid.write.cl=ONE
-
-usergrid.notifications.listener.queueName=notifications/queuelistenerv1_31;notifications/queuelistenerv1_32;notifications/queuelistenerv1_33;notifications/queuelistenerv1_34;notifications/queuelistenerv1_35;notifications/queuelistenerv1_36
-usergrid.notifications.listener.maxThreads=0
-
-
-hystrix.threadpool.graph_user.coreSize=10
-hystrix.threadpool.graph_async.coreSize=10
-
-elasticsearch.cluster_name=elasticsearch
-#elasticsearch.cluster_name=grindrgw-prod
-#elasticsearch.cluster_name=rea1dug001-prod
-elasticsearch.index_prefix=usergrid
-elasticsearch.hosts=127.0.0.1
-elasticsearch.port=9300
-elasticsearch.number_shards=1
-elasticsearch.number_replicas=0
-
-
-######################################################
-# Admin and test user setup
-
-usergrid.sysadmin.login.allowed=true
-usergrid.sysadmin.login.name=superuser
-usergrid.sysadmin.login.password=superuser
-usergrid.sysadmin.login.email=superuser@usergrid.example.com
-
-usergrid.sysadmin.email=superuser@usergrid.example.com
-usergrid.sysadmin.approve.users=false
-usergrid.sysadmin.approve.organizations=false
-
-# Base mailer account - default for all outgoing messages
-usergrid.management.mailer=Admin <admin@usergrid.example.com>
-
-usergrid.setup-test-account=true
-
-usergrid.test-account.app=test-app
-usergrid.test-account.organization=test-organization
-usergrid.test-account.admin-user.username=test
-usergrid.test-account.admin-user.name=Test User
-usergrid.test-account.admin-user.email=testuser@usergrid.example.com
-usergrid.test-account.admin-user.password=test
-
-######################################################
-# Auto-confirm and sign-up notifications settings
-
-usergrid.management.admin_users_require_confirmation=false
-usergrid.management.admin_users_require_activation=false
-
-usergrid.management.organizations_require_activation=false
-usergrid.management.notify_sysadmin_of_new_organizations=true
-usergrid.management.notify_sysadmin_of_new_admin_users=true
-
-######################################################
-# URLs
-
-# Redirect path when request come in for TLD
-usergrid.redirect_root=http://localhost:8080/status
-
-usergrid.view.management.organizations.organization.activate=http://localhost:8080/accounts/welcome
-usergrid.view.management.organizations.organization.confirm=http://localhost:8080/accounts/welcome
-
-usergrid.view.management.users.user.activate=http://localhost:8080/accounts/welcome
-usergrid.view.management.users.user.confirm=http://localhost:8080/accounts/welcome
-
-usergrid.admin.confirmation.url=http://localhost:8080/management/users/%s/confirm
-usergrid.user.confirmation.url=http://localhost:8080/%s/%s/users/%s/confirm
-
-usergrid.organization.activation.url=http://localhost:8080/management/organizations/%s/activate
-
-usergrid.admin.activation.url=http://localhost:8080/management/users/%s/activate
-usergrid.user.activation.url=http://localhost:8080%s/%s/users/%s/activate
-
-usergrid.admin.resetpw.url=http://localhost:8080/management/users/%s/resetpw
-usergrid.user.resetpw.url=http://localhost:8080/%s/%s/users/%s/resetpw
-
-
-#usergrid.metrics.graphite.host=
diff --git a/stack/rest/catalina_base/webapps/host-manager/META-INF/context.xml b/stack/rest/catalina_base/webapps/host-manager/META-INF/context.xml
deleted file mode 100644
index 3390e96..0000000
--- a/stack/rest/catalina_base/webapps/host-manager/META-INF/context.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  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.
--->
-<Context antiResourceLocking="false" privileged="true" >
-  <!--
-    Remove the comment markers from around the Valve below to limit access to
-    the host-manager application to clients connecting from localhost
-  -->
-  <!--
-  <Valve className="org.apache.catalina.valves.RemoteAddrValve"
-         allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
-  -->
-</Context>
\ No newline at end of file
diff --git a/stack/rest/catalina_base/webapps/host-manager/WEB-INF/jsp/401.jsp b/stack/rest/catalina_base/webapps/host-manager/WEB-INF/jsp/401.jsp
deleted file mode 100644
index 83c8c6f..0000000
--- a/stack/rest/catalina_base/webapps/host-manager/WEB-INF/jsp/401.jsp
+++ /dev/null
@@ -1,70 +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.
---%>
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
- <head>
-  <title>401 Unauthorized</title>
-  <style type="text/css">
-    <!--
-    BODY {font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;font-size:12px;}
-    H1 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:22px;}
-    PRE, TT {border: 1px dotted #525D76}
-    A {color : black;}A.name {color : black;}
-    -->
-  </style>
- </head>
- <body>
-   <h1>401 Unauthorized</h1>
-   <p>
-    You are not authorized to view this page. If you have not changed
-    any configuration files, please examine the file
-    <tt>conf/tomcat-users.xml</tt> in your installation. That
-    file must contain the credentials to let you use this webapp.
-   </p>
-   <p>
-    For example, to add the <tt>admin-gui</tt> role to a user named
-    <tt>tomcat</tt> with a password of <tt>s3cret</tt>, add the following to the
-    config file listed above.
-   </p>
-<pre>
-&lt;role rolename="admin-gui"/&gt;
-&lt;user username="tomcat" password="s3cret" roles="admin-gui"/&gt;
-</pre>
-   <p>
-    Note that for Tomcat 7 onwards, the roles required to use the host manager
-    application were changed from the single <tt>admin</tt> role to the
-    following two roles. You will need to assign the role(s) required for
-    the functionality you wish to access.
-   </p>
-    <ul>
-      <li><tt>admin-gui</tt> - allows access to the HTML GUI</li>
-      <li><tt>admin-script</tt> - allows access to the text interface</li>
-    </ul>
-   <p>
-    The HTML interface is protected against CSRF but the text interface is not.
-    To maintain the CSRF protection:
-   </p>
-   <ul>
-    <li>Users with the <tt>admin-gui</tt> role should not be granted the
-       <tt>admin-script</tt> role.</li>
-    <li>If the text interface is accessed through a browser (e.g. for testing
-        since this interface is intended for tools not humans) then the browser
-        must be closed afterwards to terminate the session.</li>
-   </ul>
- </body>
-
-</html>
diff --git a/stack/rest/catalina_base/webapps/host-manager/WEB-INF/jsp/403.jsp b/stack/rest/catalina_base/webapps/host-manager/WEB-INF/jsp/403.jsp
deleted file mode 100644
index 2dbb448..0000000
--- a/stack/rest/catalina_base/webapps/host-manager/WEB-INF/jsp/403.jsp
+++ /dev/null
@@ -1,84 +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.
---%>
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
- <head>
-  <title>403 Access Denied</title>
-  <style type="text/css">
-    <!--
-    BODY {font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;font-size:12px;}
-    H1 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:22px;}
-    PRE, TT {border: 1px dotted #525D76}
-    A {color : black;}A.name {color : black;}
-    -->
-  </style>
- </head>
- <body>
-   <h1>403 Access Denied</h1>
-   <p>
-    You are not authorized to view this page.
-   </p>
-   <p>
-    If you have already configured the Host Manager application to allow access
-    and you have used your browsers back button, used a saved book-mark or
-    similar then you may have triggered the cross-site request forgery (CSRF)
-    protection that has been enabled for the HTML interface of the Host Manager
-    application. You will need to reset this protection by returning to the
-    <a href="<%=request.getContextPath()%>/html">main Host Manager page</a>.
-    Once you return to this page, you will be able to continue using the Host
-    Manager appliction's HTML interface normally. If you continue to see this
-    access denied message, check that you have the necessary permissions to
-    access this application.
-   </p>
-   <p> If you have not changed
-    any configuration files, please examine the file
-    <tt>conf/tomcat-users.xml</tt> in your installation. That
-    file must contain the credentials to let you use this webapp.
-   </p>
-   <p>
-    For example, to add the <tt>admin-gui</tt> role to a user named
-    <tt>tomcat</tt> with a password of <tt>s3cret</tt>, add the following to the
-    config file listed above.
-   </p>
-<pre>
-&lt;role rolename="admin-gui"/&gt;
-&lt;user username="tomcat" password="s3cret" roles="admin-gui"/&gt;
-</pre>
-   <p>
-    Note that for Tomcat 7 onwards, the roles required to use the host manager
-    application were changed from the single <tt>admin</tt> role to the
-    following two roles. You will need to assign the role(s) required for
-    the functionality you wish to access.
-   </p>
-    <ul>
-      <li><tt>admin-gui</tt> - allows access to the HTML GUI</li>
-      <li><tt>admin-script</tt> - allows access to the text interface</li>
-    </ul>
-   <p>
-    The HTML interface is protected against CSRF but the text interface is not.
-    To maintain the CSRF protection:
-   </p>
-   <ul>
-    <li>Users with the <tt>admin-gui</tt> role should not be granted the
-       <tt>admin-script</tt> role.</li>
-    <li>If the text interface is accessed through a browser (e.g. for testing
-        since this interface is intended for tools not humans) then the browser
-        must be closed afterwards to terminate the session.</li>
-   </ul>
- </body>
-
-</html>
diff --git a/stack/rest/catalina_base/webapps/host-manager/WEB-INF/jsp/404.jsp b/stack/rest/catalina_base/webapps/host-manager/WEB-INF/jsp/404.jsp
deleted file mode 100644
index d1b5b0b..0000000
--- a/stack/rest/catalina_base/webapps/host-manager/WEB-INF/jsp/404.jsp
+++ /dev/null
@@ -1,61 +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.
---%>
-<%@ page import="org.apache.catalina.util.RequestUtil" %>
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
- <head>
-  <title>404 Not found</title>
-  <style type="text/css">
-    <!--
-    BODY {font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;font-size:12px;}
-    H1 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:22px;}
-    PRE, TT {border: 1px dotted #525D76}
-    A {color : black;}A.name {color : black;}
-    -->
-  </style>
- </head>
- <body>
-   <h1>404 Not found</h1>
-   <p>
-    The page you tried to access
-    (<%=RequestUtil.filter((String) request.getAttribute(
-            "javax.servlet.error.request_uri"))%>)
-    does not exist.
-   </p>
-   <p>
-    The Host Manager application has been re-structured for Tomcat 7 onwards and
-    some URLs have changed. All URLs used to access the Manager application
-    should now start with one of the following options:
-   </p>
-    <ul>
-      <li><%=request.getContextPath()%>/html for the HTML GUI</li>
-      <li><%=request.getContextPath()%>/text for the text interface</li>
-    </ul>
-   <p>
-    Note that the URL for the text interface has changed from
-    &quot;<%=request.getContextPath()%>&quot; to
-    &quot;<%=request.getContextPath()%>/text&quot;.
-   </p>
-   <p>
-    You probably need to adjust the URL you are using to access the Host Manager
-    application. However, there is always a chance you have found a bug in the
-    Host Manager application. If you are sure you have found a bug, and that the
-    bug has not already been reported, please report it to the Apache Tomcat
-    team.
-   </p>
- </body>
-</html>
diff --git a/stack/rest/catalina_base/webapps/host-manager/WEB-INF/web.xml b/stack/rest/catalina_base/webapps/host-manager/WEB-INF/web.xml
deleted file mode 100644
index 30f319b..0000000
--- a/stack/rest/catalina_base/webapps/host-manager/WEB-INF/web.xml
+++ /dev/null
@@ -1,144 +0,0 @@
-<?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.
--->
-
-<web-app xmlns="http://java.sun.com/xml/ns/javaee"
-  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-  xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
-                      http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
-  version="3.0"
-  metadata-complete="true">
-
-  <display-name>Tomcat Host Manager Application</display-name>
-  <description>
-    A scriptable host management web application for the Tomcat Web Server;
-    Manager lets you view, create and remove virtual hosts.
-  </description>
-
-  <servlet>
-    <servlet-name>HostManager</servlet-name>
-    <servlet-class>org.apache.catalina.manager.host.HostManagerServlet</servlet-class>
-    <init-param>
-      <param-name>debug</param-name>
-      <param-value>2</param-value>
-    </init-param>
-  </servlet>
-  <servlet>
-    <servlet-name>HTMLHostManager</servlet-name>
-    <servlet-class>org.apache.catalina.manager.host.HTMLHostManagerServlet</servlet-class>
-    <init-param>
-      <param-name>debug</param-name>
-      <param-value>2</param-value>
-    </init-param>
-  </servlet>
-
-  <filter>
-    <filter-name>SetCharacterEncoding</filter-name>
-    <filter-class>org.apache.catalina.filters.SetCharacterEncodingFilter</filter-class>
-    <init-param>
-      <param-name>encoding</param-name>
-      <param-value>UTF-8</param-value>
-    </init-param>
-  </filter>
-
-  <filter-mapping>
-    <filter-name>SetCharacterEncoding</filter-name>
-    <url-pattern>/*</url-pattern>
-  </filter-mapping>
-
-  <filter>
-    <filter-name>CSRF</filter-name>
-    <filter-class>org.apache.catalina.filters.CsrfPreventionFilter</filter-class>
-    <init-param>
-      <param-name>entryPoints</param-name>
-      <param-value>/html,/html/,/html/list,/index.jsp</param-value>
-    </init-param>
-  </filter>
-
-  <filter-mapping>
-    <filter-name>CSRF</filter-name>
-    <servlet-name>HTMLHostManager</servlet-name>
-  </filter-mapping>
-
-  <!-- Define the Manager Servlet Mapping -->
-  <servlet-mapping>
-    <servlet-name>HostManager</servlet-name>
-    <url-pattern>/text/*</url-pattern>
-  </servlet-mapping>
-  <servlet-mapping>
-    <servlet-name>HTMLHostManager</servlet-name>
-    <url-pattern>/html/*</url-pattern>
-  </servlet-mapping>
-
-  <!-- Define a Security Constraint on this Application -->
-  <security-constraint>
-    <web-resource-collection>
-      <web-resource-name>HostManager commands</web-resource-name>
-      <url-pattern>/text/*</url-pattern>
-    </web-resource-collection>
-    <auth-constraint>
-       <!-- NOTE:  This role is not present in the default users file -->
-       <role-name>admin-script</role-name>
-    </auth-constraint>
-  </security-constraint>
-  <security-constraint>
-    <web-resource-collection>
-      <web-resource-name>HTMLHostManager commands</web-resource-name>
-      <url-pattern>/html/*</url-pattern>
-    </web-resource-collection>
-    <auth-constraint>
-       <!-- NOTE:  This role is not present in the default users file -->
-       <role-name>admin-gui</role-name>
-    </auth-constraint>
-  </security-constraint>
-
-  <!-- Define the Login Configuration for this Application -->
-  <login-config>
-    <auth-method>BASIC</auth-method>
-    <realm-name>Tomcat Host Manager Application</realm-name>
-  </login-config>
-
-  <!-- Security roles referenced by this web application -->
-  <security-role>
-    <description>
-      The role that is required to log in to the Host Manager Application HTML
-      interface
-    </description>
-    <role-name>admin-gui</role-name>
-  </security-role>
-  <security-role>
-    <description>
-      The role that is required to log in to the Host Manager Application text
-      interface
-    </description>
-    <role-name>admin-script</role-name>
-  </security-role>
-
-  <error-page>
-    <error-code>401</error-code>
-    <location>/WEB-INF/jsp/401.jsp</location>
-  </error-page>
-  <error-page>
-    <error-code>403</error-code>
-    <location>/WEB-INF/jsp/403.jsp</location>
-  </error-page>
-  <error-page>
-    <error-code>404</error-code>
-    <location>/WEB-INF/jsp/404.jsp</location>
-  </error-page>
-
-</web-app>
diff --git a/stack/rest/catalina_base/webapps/host-manager/images/add.gif b/stack/rest/catalina_base/webapps/host-manager/images/add.gif
deleted file mode 100644
index 0774d07..0000000
--- a/stack/rest/catalina_base/webapps/host-manager/images/add.gif
+++ /dev/null
Binary files differ
diff --git a/stack/rest/catalina_base/webapps/host-manager/images/asf-logo.gif b/stack/rest/catalina_base/webapps/host-manager/images/asf-logo.gif
deleted file mode 100644
index 22eb9d7..0000000
--- a/stack/rest/catalina_base/webapps/host-manager/images/asf-logo.gif
+++ /dev/null
Binary files differ
diff --git a/stack/rest/catalina_base/webapps/host-manager/images/code.gif b/stack/rest/catalina_base/webapps/host-manager/images/code.gif
deleted file mode 100644
index d27307b..0000000
--- a/stack/rest/catalina_base/webapps/host-manager/images/code.gif
+++ /dev/null
Binary files differ
diff --git a/stack/rest/catalina_base/webapps/host-manager/images/design.gif b/stack/rest/catalina_base/webapps/host-manager/images/design.gif
deleted file mode 100644
index f5db0a9..0000000
--- a/stack/rest/catalina_base/webapps/host-manager/images/design.gif
+++ /dev/null
Binary files differ
diff --git a/stack/rest/catalina_base/webapps/host-manager/images/docs.gif b/stack/rest/catalina_base/webapps/host-manager/images/docs.gif
deleted file mode 100644
index d64a4a1..0000000
--- a/stack/rest/catalina_base/webapps/host-manager/images/docs.gif
+++ /dev/null
Binary files differ
diff --git a/stack/rest/catalina_base/webapps/host-manager/images/fix.gif b/stack/rest/catalina_base/webapps/host-manager/images/fix.gif
deleted file mode 100644
index d59ad64..0000000
--- a/stack/rest/catalina_base/webapps/host-manager/images/fix.gif
+++ /dev/null
Binary files differ
diff --git a/stack/rest/catalina_base/webapps/host-manager/images/tomcat.gif b/stack/rest/catalina_base/webapps/host-manager/images/tomcat.gif
deleted file mode 100644
index 6175673..0000000
--- a/stack/rest/catalina_base/webapps/host-manager/images/tomcat.gif
+++ /dev/null
Binary files differ
diff --git a/stack/rest/catalina_base/webapps/host-manager/images/update.gif b/stack/rest/catalina_base/webapps/host-manager/images/update.gif
deleted file mode 100644
index 31e22ab..0000000
--- a/stack/rest/catalina_base/webapps/host-manager/images/update.gif
+++ /dev/null
Binary files differ
diff --git a/stack/rest/catalina_base/webapps/host-manager/images/void.gif b/stack/rest/catalina_base/webapps/host-manager/images/void.gif
deleted file mode 100644
index e565824..0000000
--- a/stack/rest/catalina_base/webapps/host-manager/images/void.gif
+++ /dev/null
Binary files differ
diff --git a/stack/rest/catalina_base/webapps/host-manager/index.jsp b/stack/rest/catalina_base/webapps/host-manager/index.jsp
deleted file mode 100644
index d4816e5..0000000
--- a/stack/rest/catalina_base/webapps/host-manager/index.jsp
+++ /dev/null
@@ -1,18 +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.
---%>
-<% response.sendRedirect(response.encodeRedirectURL(request.getContextPath() +
-        "/html")); %>
\ No newline at end of file
diff --git a/stack/rest/catalina_base/webapps/host-manager/manager.xml b/stack/rest/catalina_base/webapps/host-manager/manager.xml
deleted file mode 100644
index 250065a..0000000
--- a/stack/rest/catalina_base/webapps/host-manager/manager.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  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.
--->
-<!--
-
-    Context configuration file for the Tomcat Manager Web App
-
--->
-<Context docBase="${catalina.home}/webapps/manager"
-         privileged="true" antiResourceLocking="false" antiJARLocking="false">
-
-</Context>
diff --git a/stack/rest/catalina_base/webapps/manager/META-INF/context.xml b/stack/rest/catalina_base/webapps/manager/META-INF/context.xml
deleted file mode 100644
index 21d9bac..0000000
--- a/stack/rest/catalina_base/webapps/manager/META-INF/context.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  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.
--->
-<Context antiResourceLocking="false" privileged="true" >
-  <!--
-    Remove the comment markers from around the Valve below to limit access to
-    the manager application to clients connecting from localhost
-  -->
-  <!--
-  <Valve className="org.apache.catalina.valves.RemoteAddrValve"
-         allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
-  -->
-</Context>
diff --git a/stack/rest/catalina_base/webapps/manager/WEB-INF/jsp/401.jsp b/stack/rest/catalina_base/webapps/manager/WEB-INF/jsp/401.jsp
deleted file mode 100644
index 01f8aa9..0000000
--- a/stack/rest/catalina_base/webapps/manager/WEB-INF/jsp/401.jsp
+++ /dev/null
@@ -1,79 +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.
---%>
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
- <head>
-  <title>401 Unauthorized</title>
-  <style type="text/css">
-    <!--
-    BODY {font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;font-size:12px;}
-    H1 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:22px;}
-    PRE, TT {border: 1px dotted #525D76}
-    A {color : black;}A.name {color : black;}
-    -->
-  </style>
- </head>
- <body>
-   <h1>401 Unauthorized</h1>
-   <p>
-    You are not authorized to view this page. If you have not changed
-    any configuration files, please examine the file
-    <tt>conf/tomcat-users.xml</tt> in your installation. That
-    file must contain the credentials to let you use this webapp.
-   </p>
-   <p>
-    For example, to add the <tt>manager-gui</tt> role to a user named
-    <tt>tomcat</tt> with a password of <tt>s3cret</tt>, add the following to the
-    config file listed above.
-   </p>
-<pre>
-&lt;role rolename="manager-gui"/&gt;
-&lt;user username="tomcat" password="s3cret" roles="manager-gui"/&gt;
-</pre>
-   <p>
-    Note that for Tomcat 7 onwards, the roles required to use the manager
-    application were changed from the single <tt>manager</tt> role to the
-    following four roles. You will need to assign the role(s) required for
-    the functionality you wish to access.
-   </p>
-    <ul>
-      <li><tt>manager-gui</tt> - allows access to the HTML GUI and the status
-          pages</li>
-      <li><tt>manager-script</tt> - allows access to the text interface and the
-          status pages</li>
-      <li><tt>manager-jmx</tt> - allows access to the JMX proxy and the status
-          pages</li>
-      <li><tt>manager-status</tt> - allows access to the status pages only</li>
-    </ul>
-   <p>
-    The HTML interface is protected against CSRF but the text and JMX interfaces
-    are not. To maintain the CSRF protection:
-   </p>
-   <ul>
-    <li>Users with the <tt>manager-gui</tt> role should not be granted either
-        the <tt>manager-script</tt> or <tt>manager-jmx</tt> roles.</li>
-    <li>If the text or jmx interfaces are accessed through a browser (e.g. for
-        testing since these interfaces are intended for tools not humans) then
-        the browser must be closed afterwards to terminate the session.</li>
-   </ul>
-   <p>
-    For more information - please see the
-    <a href="/docs/manager-howto.html">Manager App HOW-TO</a>.
-   </p>
- </body>
-
-</html>
diff --git a/stack/rest/catalina_base/webapps/manager/WEB-INF/jsp/403.jsp b/stack/rest/catalina_base/webapps/manager/WEB-INF/jsp/403.jsp
deleted file mode 100644
index 43d960f..0000000
--- a/stack/rest/catalina_base/webapps/manager/WEB-INF/jsp/403.jsp
+++ /dev/null
@@ -1,94 +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.
---%>
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
- <head>
-  <title>403 Access Denied</title>
-  <style type="text/css">
-    <!--
-    BODY {font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;font-size:12px;}
-    H1 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:22px;}
-    PRE, TT {border: 1px dotted #525D76}
-    A {color : black;}A.name {color : black;}
-    -->
-  </style>
- </head>
- <body>
-   <h1>403 Access Denied</h1>
-   <p>
-    You are not authorized to view this page.
-   </p>
-   <p>
-    If you have already configured the Manager application to allow access and
-    you have used your browsers back button, used a saved book-mark or similar
-    then you may have triggered the cross-site request forgery (CSRF) protection
-    that has been enabled for the HTML interface of the Manager application. You
-    will need to reset this protection by returning to the
-    <a href="<%=request.getContextPath()%>/html">main Manager page</a>. Once you
-    return to this page, you will be able to continue using the Manager
-    appliction's HTML interface normally. If you continue to see this access
-    denied message, check that you have the necessary permissions to access this
-    application.
-   </p>
-   <p>
-    If you have not changed
-    any configuration files, please examine the file
-    <tt>conf/tomcat-users.xml</tt> in your installation. That
-    file must contain the credentials to let you use this webapp.
-   </p>
-   <p>
-    For example, to add the <tt>manager-gui</tt> role to a user named
-    <tt>tomcat</tt> with a password of <tt>s3cret</tt>, add the following to the
-    config file listed above.
-   </p>
-<pre>
-&lt;role rolename="manager-gui"/&gt;
-&lt;user username="tomcat" password="s3cret" roles="manager-gui"/&gt;
-</pre>
-   <p>
-    Note that for Tomcat 7 onwards, the roles required to use the manager
-    application were changed from the single <tt>manager</tt> role to the
-    following four roles. You will need to assign the role(s) required for
-    the functionality you wish to access.
-   </p>
-    <ul>
-      <li><tt>manager-gui</tt> - allows access to the HTML GUI and the status
-          pages</li>
-      <li><tt>manager-script</tt> - allows access to the text interface and the
-          status pages</li>
-      <li><tt>manager-jmx</tt> - allows access to the JMX proxy and the status
-          pages</li>
-      <li><tt>manager-status</tt> - allows access to the status pages only</li>
-    </ul>
-   <p>
-    The HTML interface is protected against CSRF but the text and JMX interfaces
-    are not. To maintain the CSRF protection:
-   </p>
-   <ul>
-    <li>Users with the <tt>manager-gui</tt> role should not be granted either
-        the <tt>manager-script</tt> or <tt>manager-jmx</tt> roles.</li>
-    <li>If the text or jmx interfaces are accessed through a browser (e.g. for
-        testing since these interfaces are intended for tools not humans) then
-        the browser must be closed afterwards to terminate the session.</li>
-   </ul>
-   <p>
-    For more information - please see the
-    <a href="/docs/manager-howto.html">Manager App HOW-TO</a>.
-   </p>
- </body>
-
-</html>
diff --git a/stack/rest/catalina_base/webapps/manager/WEB-INF/jsp/404.jsp b/stack/rest/catalina_base/webapps/manager/WEB-INF/jsp/404.jsp
deleted file mode 100644
index 86d4f35..0000000
--- a/stack/rest/catalina_base/webapps/manager/WEB-INF/jsp/404.jsp
+++ /dev/null
@@ -1,62 +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.
---%>
-<%@ page import="org.apache.catalina.util.RequestUtil" %>
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
- <head>
-  <title>404 Not found</title>
-  <style type="text/css">
-    <!--
-    BODY {font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;font-size:12px;}
-    H1 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:22px;}
-    PRE, TT {border: 1px dotted #525D76}
-    A {color : black;}A.name {color : black;}
-    -->
-  </style>
- </head>
- <body>
-   <h1>404 Not found</h1>
-   <p>
-    The page you tried to access
-    (<%=RequestUtil.filter((String) request.getAttribute(
-            "javax.servlet.error.request_uri"))%>)
-    does not exist.
-   </p>
-   <p>
-    The Manager application has been re-structured for Tomcat 7 onwards and some
-    of URLs have changed. All URLs used to access the Manager application should
-    now start with one of the following options:
-   </p>
-    <ul>
-      <li><%=request.getContextPath()%>/html for the HTML GUI</li>
-      <li><%=request.getContextPath()%>/text for the text interface</li>
-      <li><%=request.getContextPath()%>/jmxproxy for the JMX proxy</li>
-      <li><%=request.getContextPath()%>/status for the status pages</li>
-    </ul>
-   <p>
-    Note that the URL for the text interface has changed from
-    &quot;<%=request.getContextPath()%>&quot; to
-    &quot;<%=request.getContextPath()%>/text&quot;.
-   </p>
-   <p>
-    You probably need to adjust the URL you are using to access the Manager
-    application. However, there is always a chance you have found a bug in the
-    Manager application. If you are sure you have found a bug, and that the bug
-    has not already been reported, please report it to the Apache Tomcat team.
-   </p>
- </body>
-</html>
diff --git a/stack/rest/catalina_base/webapps/manager/WEB-INF/jsp/sessionDetail.jsp b/stack/rest/catalina_base/webapps/manager/WEB-INF/jsp/sessionDetail.jsp
deleted file mode 100644
index 9362dab..0000000
--- a/stack/rest/catalina_base/webapps/manager/WEB-INF/jsp/sessionDetail.jsp
+++ /dev/null
@@ -1,197 +0,0 @@
-<?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.
---%>
-<%@page session="false" contentType="text/html; charset=ISO-8859-1" %>
-<%@page import="java.util.Enumeration" %>
-<%@page import="javax.servlet.http.HttpSession" %>
-<%@page import="org.apache.catalina.Session" %>
-<%@page import="org.apache.catalina.manager.JspHelper" %>
-<%@page import="org.apache.catalina.util.ContextName" %>
-<!DOCTYPE html
-     PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<%--!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
- "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"--%>
-
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
-<% String path = (String) request.getAttribute("path");
-   String version = (String) request.getAttribute("version");
-   ContextName cn = new ContextName(path, version);
-   Session currentSession = (Session)request.getAttribute("currentSession");
-   String currentSessionId = null;
-   HttpSession currentHttpSession = null;
-   if (currentSession != null) {
-       currentHttpSession = currentSession.getSession();
-       currentSessionId = JspHelper.escapeXml(currentSession.getId());
-   } else {
-       currentSessionId = "Session invalidated";
-   }
-   String submitUrl = JspHelper.escapeXml(response.encodeURL(
-           ((HttpServletRequest) pageContext.getRequest()).getRequestURI() +
-           "?path=" + path + "&version=" + version));
-%>
-<head>
-    <meta http-equiv="content-type" content="text/html; charset=iso-8859-1"/>
-    <meta http-equiv="pragma" content="no-cache"/><!-- HTTP 1.0 -->
-    <meta http-equiv="cache-control" content="no-cache,must-revalidate"/><!-- HTTP 1.1 -->
-    <meta http-equiv="expires" content="0"/><!-- 0 is an invalid value and should be treated as 'now' -->
-    <meta http-equiv="content-language" content="en"/>
-    <meta name="author" content="Cedrik LIME"/>
-    <meta name="copyright" content="copyright 2005-2015 the Apache Software Foundation"/>
-    <meta name="robots" content="noindex,nofollow,noarchive"/>
-    <title>Sessions Administration: details for <%= currentSessionId %></title>
-</head>
-<body>
-<% if (currentHttpSession == null) { %>
-   <h1><%=currentSessionId%></h1>
-<% } else { %>
-   <h1>Details for Session <%= currentSessionId %></h1>
-
-   <table style="text-align: left;" border="0">
-     <tr>
-       <th>Session Id</th>
-       <td><%= currentSessionId %></td>
-     </tr>
-     <tr>
-       <th>Guessed Locale</th>
-       <td><%= JspHelper.guessDisplayLocaleFromSession(currentSession) %></td>
-     </tr>
-     <tr>
-       <th>Guessed User</th>
-       <td><%= JspHelper.guessDisplayUserFromSession(currentSession) %></td>
-     </tr>
-     <tr>
-       <th>Creation Time</th>
-       <td><%= JspHelper.getDisplayCreationTimeForSession(currentSession) %></td>
-     </tr>
-     <tr>
-       <th>Last Accessed Time</th>
-       <td><%= JspHelper.getDisplayLastAccessedTimeForSession(currentSession) %></td>
-     </tr>
-     <tr>
-       <th>Session Max Inactive Interval</th>
-       <td><%= JspHelper.secondsToTimeString(currentSession.getMaxInactiveInterval()) %></td>
-     </tr>
-     <tr>
-       <th>Used Time</th>
-       <td><%= JspHelper.getDisplayUsedTimeForSession(currentSession) %></td>
-     </tr>
-     <tr>
-       <th>Inactive Time</th>
-       <td><%= JspHelper.getDisplayInactiveTimeForSession(currentSession) %></td>
-     </tr>
-     <tr>
-       <th>TTL</th>
-       <td><%= JspHelper.getDisplayTTLForSession(currentSession) %></td>
-     </tr>
-   </table>
-
-   <form method="post" action="<%= submitUrl %>">
-     <div>
-       <input type="hidden" name="sessionId" value="<%= currentSessionId %>" />
-       <input type="hidden" name="action" value="sessionDetail" />
-       <%
-       if ("Primary".equals(request.getParameter("sessionType"))) {
-       %>
-         <input type="hidden" name="sessionType" value="Primary" />
-       <%
-       }
-       %>    <input type="submit" value="Refresh" />
-     </div>
-   </form>
-
-   <div class="error"><%= JspHelper.escapeXml(request.getAttribute("error")) %></div>
-   <div class="message"><%= JspHelper.escapeXml(request.getAttribute("message")) %></div>
-
-   <table style="text-align: left;" border="1" cellpadding="2" cellspacing="2">
-   <% int nAttributes = 0;
-      Enumeration attributeNamesEnumeration = currentHttpSession.getAttributeNames();
-      while (attributeNamesEnumeration.hasMoreElements()) {
-          attributeNamesEnumeration.nextElement();
-          ++nAttributes;
-      }
-   %>
-       <caption style="font-variant: small-caps;"><%= JspHelper.formatNumber(nAttributes) %> attributes</caption>
-       <thead>
-           <tr>
-               <th>Remove Attribute</th>
-               <th>Attribute name</th>
-               <th>Attribute value</th>
-           </tr>
-       </thead>
-       <%--tfoot>
-           <tr>
-               <td colspan="3" style="text-align: center;">
-                   TODO: set Max Inactive Interval on sessions
-               </td>
-           </tr>
-       </tfoot--%>
-       <tbody>
-   <% attributeNamesEnumeration = currentHttpSession.getAttributeNames();
-      while (attributeNamesEnumeration.hasMoreElements()) {
-          String attributeName = (String) attributeNamesEnumeration.nextElement();
-   %>
-           <tr>
-               <td align="center">
-                   <form method="post" action="<%= submitUrl %>">
-                       <div>
-                           <input type="hidden" name="action" value="removeSessionAttribute" />
-                           <input type="hidden" name="sessionId" value="<%= currentSessionId %>" />
-                           <input type="hidden" name="attributeName" value="<%= JspHelper.escapeXml(attributeName) %>" />
-                           <%
-                             if ("Primary".equals(request.getParameter("sessionType"))) {
-                           %>
-                             <input type="submit" value="Remove" />
-                             <input type="hidden" name="sessionType" value="Primary" />
-                           <%
-                             } else {
-                               out.print("Primary sessions only");
-                             }
-                           %>
-                       </div>
-                   </form>
-               </td>
-               <td><%= JspHelper.escapeXml(attributeName) %></td>
-               <td><% Object attributeValue = currentHttpSession.getAttribute(attributeName); %><span title="<%= attributeValue == null ? "" : attributeValue.getClass().toString() %>"><%= JspHelper.escapeXml(attributeValue) %></span></td>
-           </tr>
-   <% } // end while %>
-       </tbody>
-   </table>
-<% } // endif%>
-
-<form method="post" action="<%=submitUrl%>">
-  <p style="text-align: center;">
-    <input type="submit" value="Return to session list" />
-  </p>
-</form>
-
-<%--div style="display: none;">
-<p>
-    <a href="http://validator.w3.org/check?uri=referer"><img
-        src="http://www.w3.org/Icons/valid-html401"
-        alt="Valid HTML 4.01!" height="31" width="88"></a>
-    <a href="http://validator.w3.org/check?uri=referer"><img
-        src="http://www.w3.org/Icons/valid-xhtml10"
-        alt="Valid XHTML 1.0!" height="31" width="88" /></a>
-    <a href="http://validator.w3.org/check?uri=referer"><img
-        src="http://www.w3.org/Icons/valid-xhtml11"
-        alt="Valid XHTML 1.1!" height="31" width="88" /></a>
-</p>
-</div--%>
-
-</body>
-</html>
diff --git a/stack/rest/catalina_base/webapps/manager/WEB-INF/jsp/sessionsList.jsp b/stack/rest/catalina_base/webapps/manager/WEB-INF/jsp/sessionsList.jsp
deleted file mode 100644
index 1cbf75e..0000000
--- a/stack/rest/catalina_base/webapps/manager/WEB-INF/jsp/sessionsList.jsp
+++ /dev/null
@@ -1,172 +0,0 @@
-<?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.
---%>
-<%@page session="false" contentType="text/html; charset=ISO-8859-1" %>
-<%@page import="java.util.Collection" %>
-<%@page import="java.util.Iterator" %>
-<%@page import="org.apache.catalina.manager.JspHelper" %>
-<%@page import="org.apache.catalina.Session" %>
-<%@page import="org.apache.catalina.ha.session.DeltaSession" %>
-<%@page import="org.apache.catalina.util.ContextName" %>
-<!DOCTYPE html
-     PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-
-
-<%@page import="org.apache.catalina.manager.DummyProxySession"%><html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
-<% String path = (String) request.getAttribute("path");
-   String version = (String) request.getAttribute("version");
-   ContextName cn = new ContextName(path, version);
-   String submitUrl = JspHelper.escapeXml(response.encodeURL(
-           ((HttpServletRequest) pageContext.getRequest()).getRequestURI() +
-           "?path=" + path + "&version=" + version));
-   Collection activeSessions = (Collection) request.getAttribute("activeSessions");
-%>
-<head>
-    <meta http-equiv="content-type" content="text/html; charset=iso-8859-1"/>
-    <meta http-equiv="pragma" content="no-cache"/><!-- HTTP 1.0 -->
-    <meta http-equiv="cache-control" content="no-cache,must-revalidate"/><!-- HTTP 1.1 -->
-    <meta http-equiv="expires" content="0"/><!-- 0 is an invalid value and should be treated as 'now' -->
-    <meta http-equiv="content-language" content="en"/>
-    <meta name="author" content="Cedrik LIME"/>
-    <meta name="copyright" content="copyright 2005-2015 the Apache Software Foundation"/>
-    <meta name="robots" content="noindex,nofollow,noarchive"/>
-    <title>Sessions Administration for <%= JspHelper.escapeXml(cn.getDisplayName()) %></title>
-</head>
-<body>
-<h1>Sessions Administration for <%= JspHelper.escapeXml(cn.getDisplayName()) %></h1>
-
-<p>Tips:</p>
-<ul>
-    <li>Click on a column to sort.</li>
-    <li>To view a session details and/or remove a session attributes, click on its id.</li>
-</ul>
-
-<div class="error"><%= JspHelper.escapeXml(request.getAttribute("error")) %></div>
-<div class="message"><%= JspHelper.escapeXml(request.getAttribute("message")) %></div>
-
-<form action="<%= submitUrl %>" method="post" id="sessionsForm">
-    <fieldset><legend>Active HttpSessions informations</legend>
-        <input type="hidden" name="action" id="sessionsFormAction" value="injectSessions"/>
-        <input type="hidden" name="sort" id="sessionsFormSort" value="<%= JspHelper.escapeXml(request.getAttribute("sort")) %>"/>
-        <% String order = (String) request.getAttribute("order");
-           if (order == null || "".equals(order)) {
-               order = "ASC";
-           }
-        %>
-        <input type="hidden" name="order" id="sessionsFormSortOrder" value="<%= JspHelper.escapeXml(order) %>"/>
-        <input type="submit" name="refresh" id="refreshButton" value="Refresh Sessions list" onclick="document.getElementById('sessionsFormAction').value='refreshSessions'; return true;"/>
-        <%= JspHelper.formatNumber(activeSessions.size()) %> active Sessions<br/>
-        <table border="1" cellpadding="2" cellspacing="2" width="100%">
-            <thead>
-                <tr>
-                    <th><a onclick="document.getElementById('sessionsFormSort').value='id'; document.getElementById('refreshButton').click(); return true;">Session Id</a></th>
-                    <th><a onclick="document.getElementById('sessionsFormSort').value='id'; document.getElementById('refreshButton').click(); return true;">Type</a></th>
-                    <th><a onclick="document.getElementById('sessionsFormSort').value='locale'; document.getElementById('refreshButton').click(); return true;">Guessed Locale</a></th>
-                    <th><a onclick="document.getElementById('sessionsFormSort').value='user'; document.getElementById('refreshButton').click(); return true;">Guessed User name</a></th>
-                    <th><a onclick="document.getElementById('sessionsFormSort').value='CreationTime'; document.getElementById('refreshButton').click(); return true;">Creation Time</a></th>
-                    <th><a onclick="document.getElementById('sessionsFormSort').value='LastAccessedTime'; document.getElementById('refreshButton').click(); return true;">Last Accessed Time</a></th>
-                    <th><a onclick="document.getElementById('sessionsFormSort').value='UsedTime'; document.getElementById('refreshButton').click(); return true;">Used Time</a></th>
-                    <th><a onclick="document.getElementById('sessionsFormSort').value='InactiveTime'; document.getElementById('refreshButton').click(); return true;">Inactive Time</a></th>
-                    <th><a onclick="document.getElementById('sessionsFormSort').value='TTL'; document.getElementById('refreshButton').click(); return true;"><span title="Time To Live">TTL</span></a></th>
-                </tr>
-            </thead>
-            <% if (activeSessions.size() > 10) { %>
-            <tfoot><%-- <tfoot> is the same as <thead> --%>
-                <tr>
-                    <th><a onclick="document.getElementById('sessionsFormSort').value='id'; document.getElementById('refreshButton').click(); return true;">Session Id</a></th>
-                    <th><a onclick="document.getElementById('sessionsFormSort').value='id'; document.getElementById('refreshButton').click(); return true;">Type</a></th>
-                    <th><a onclick="document.getElementById('sessionsFormSort').value='locale'; document.getElementById('refreshButton').click(); return true;">Guessed Locale</a></th>
-                    <th><a onclick="document.getElementById('sessionsFormSort').value='user'; document.getElementById('refreshButton').click(); return true;">Guessed User name</a></th>
-                    <th><a onclick="document.getElementById('sessionsFormSort').value='CreationTime'; document.getElementById('refreshButton').click(); return true;">Creation Time</a></th>
-                    <th><a onclick="document.getElementById('sessionsFormSort').value='LastAccessedTime'; document.getElementById('refreshButton').click(); return true;">Last Accessed Time</a></th>
-                    <th><a onclick="document.getElementById('sessionsFormSort').value='UsedTime'; document.getElementById('refreshButton').click(); return true;">Used Time</a></th>
-                    <th><a onclick="document.getElementById('sessionsFormSort').value='InactiveTime'; document.getElementById('refreshButton').click(); return true;">Inactive Time</a></th>
-                    <th><a onclick="document.getElementById('sessionsFormSort').value='TTL'; document.getElementById('refreshButton').click(); return true;"><span title="Time To Live">TTL</span></a></th>
-                </tr>
-            </tfoot>
-            <% } // end if %>
-            <tbody>
-<% Iterator iter = activeSessions.iterator();
-   while (iter.hasNext()) {
-       Session currentSession = (Session) iter.next();
-       String currentSessionId = JspHelper.escapeXml(currentSession.getId());
-       String type;
-       if (currentSession instanceof DeltaSession) {
-           if (((DeltaSession) currentSession).isPrimarySession()) {
-               type = "Primary";
-           } else {
-               type = "Backup";
-           }
-       } else if (currentSession instanceof DummyProxySession) {
-           type = "Proxy";
-       } else {
-           type = "Primary";
-       }
-%>
-                <tr>
-                    <td><input type="checkbox" name="sessionIds" value="<%= currentSessionId %>" />
-                      <%
-                        if ("Proxy".equals(type)) {
-                            out.print(currentSessionId);
-                        } else {
-                      %>
-                      <a href="<%= submitUrl %>&amp;action=sessionDetail&amp;sessionId=<%= currentSessionId %>&amp;sessionType=<%= type %>"><%= currentSessionId %></a>
-                      <%
-                        }
-                      %>
-                    </td>
-                    <td style="text-align: center;"><%= type %></td>
-                    <td style="text-align: center;"><%= JspHelper.guessDisplayLocaleFromSession(currentSession) %></td>
-                    <td style="text-align: center;"><%= JspHelper.guessDisplayUserFromSession(currentSession) %></td>
-                    <td style="text-align: center;"><%= JspHelper.getDisplayCreationTimeForSession(currentSession) %></td>
-                    <td style="text-align: center;"><%= JspHelper.getDisplayLastAccessedTimeForSession(currentSession) %></td>
-                    <td style="text-align: center;"><%= JspHelper.getDisplayUsedTimeForSession(currentSession) %></td>
-                    <td style="text-align: center;"><%= JspHelper.getDisplayInactiveTimeForSession(currentSession) %></td>
-                    <td style="text-align: center;"><%= JspHelper.getDisplayTTLForSession(currentSession) %></td>
-                </tr>
-<% } // end while %>
-            </tbody>
-        </table>
-        <p style="text-align: center;">
-            <input type="submit" name="invalidate" value="Invalidate selected Sessions" onclick="document.getElementById('sessionsFormAction').value='invalidateSessions'; return true;"/>
-        </p>
-    </fieldset>
-</form>
-
-<form method="get" action="<%=request.getContextPath()%>/html">
-  <p style="text-align: center;">
-    <input type="submit" value="Return to main page" />
-  </p>
-</form>
-
-<%--div style="display: none;">
-<p>
-    <a href="http://validator.w3.org/check?uri=referer"><img
-        src="http://www.w3.org/Icons/valid-html401"
-        alt="Valid HTML 4.01!" height="31" width="88"></a>
-    <a href="http://validator.w3.org/check?uri=referer"><img
-        src="http://www.w3.org/Icons/valid-xhtml10"
-        alt="Valid XHTML 1.0!" height="31" width="88" /></a>
-    <a href="http://validator.w3.org/check?uri=referer"><img
-        src="http://www.w3.org/Icons/valid-xhtml11"
-        alt="Valid XHTML 1.1!" height="31" width="88" /></a>
-</p>
-</div--%>
-
-</body>
-</html>
diff --git a/stack/rest/catalina_base/webapps/manager/WEB-INF/web.xml b/stack/rest/catalina_base/webapps/manager/WEB-INF/web.xml
deleted file mode 100644
index 8fb7728..0000000
--- a/stack/rest/catalina_base/webapps/manager/WEB-INF/web.xml
+++ /dev/null
@@ -1,209 +0,0 @@
-<?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.
--->
-
-<web-app xmlns="http://java.sun.com/xml/ns/javaee"
-  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-  xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
-                      http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
-  version="3.0"
-  metadata-complete="true">
-
-  <display-name>Tomcat Manager Application</display-name>
-  <description>
-    A scriptable management web application for the Tomcat Web Server;
-    Manager lets you view, load/unload/etc particular web applications.
-  </description>
-
-  <servlet>
-    <servlet-name>Manager</servlet-name>
-    <servlet-class>org.apache.catalina.manager.ManagerServlet</servlet-class>
-    <init-param>
-      <param-name>debug</param-name>
-      <param-value>2</param-value>
-    </init-param>
-  </servlet>
-  <servlet>
-    <servlet-name>HTMLManager</servlet-name>
-    <servlet-class>org.apache.catalina.manager.HTMLManagerServlet</servlet-class>
-    <init-param>
-      <param-name>debug</param-name>
-      <param-value>2</param-value>
-    </init-param>
-    <!-- Uncomment this to show proxy sessions from the Backup manager or a
-         StoreManager in the sessions list for an application
-    <init-param>
-      <param-name>showProxySessions</param-name>
-      <param-value>true</param-value>
-    </init-param>
-    -->
-    <multipart-config>
-      <!-- 50MB max -->
-      <max-file-size>52428800</max-file-size>
-      <max-request-size>52428800</max-request-size>
-      <file-size-threshold>0</file-size-threshold>
-    </multipart-config>
-  </servlet>
-  <servlet>
-    <servlet-name>Status</servlet-name>
-    <servlet-class>org.apache.catalina.manager.StatusManagerServlet</servlet-class>
-    <init-param>
-      <param-name>debug</param-name>
-      <param-value>0</param-value>
-    </init-param>
-  </servlet>
-
-  <servlet>
-    <servlet-name>JMXProxy</servlet-name>
-    <servlet-class>org.apache.catalina.manager.JMXProxyServlet</servlet-class>
-  </servlet>
-
-  <!-- Define the Manager Servlet Mapping -->
-  <servlet-mapping>
-    <servlet-name>Manager</servlet-name>
-      <url-pattern>/text/*</url-pattern>
-  </servlet-mapping>
-  <servlet-mapping>
-    <servlet-name>Status</servlet-name>
-    <url-pattern>/status/*</url-pattern>
-  </servlet-mapping>
-  <servlet-mapping>
-    <servlet-name>JMXProxy</servlet-name>
-      <url-pattern>/jmxproxy/*</url-pattern>
-  </servlet-mapping>
-  <servlet-mapping>
-    <servlet-name>HTMLManager</servlet-name>
-    <url-pattern>/html/*</url-pattern>
-  </servlet-mapping>
-
-  <filter>
-    <filter-name>SetCharacterEncoding</filter-name>
-    <filter-class>org.apache.catalina.filters.SetCharacterEncodingFilter</filter-class>
-    <init-param>
-      <param-name>encoding</param-name>
-      <param-value>UTF-8</param-value>
-    </init-param>
-  </filter>
-
-  <filter-mapping>
-    <filter-name>SetCharacterEncoding</filter-name>
-    <url-pattern>/*</url-pattern>
-  </filter-mapping>
-
-  <filter>
-    <filter-name>CSRF</filter-name>
-    <filter-class>org.apache.catalina.filters.CsrfPreventionFilter</filter-class>
-    <init-param>
-      <param-name>entryPoints</param-name>
-      <param-value>/html,/html/,/html/list,/index.jsp</param-value>
-    </init-param>
-  </filter>
-
-  <filter-mapping>
-    <filter-name>CSRF</filter-name>
-    <servlet-name>HTMLManager</servlet-name>
-    <servlet-name>jsp</servlet-name>
-  </filter-mapping>
-
-  <!-- Define a Security Constraint on this Application -->
-  <!-- NOTE:  None of these roles are present in the default users file -->
-  <security-constraint>
-    <web-resource-collection>
-      <web-resource-name>HTML Manager interface (for humans)</web-resource-name>
-      <url-pattern>/html/*</url-pattern>
-    </web-resource-collection>
-    <auth-constraint>
-       <role-name>manager-gui</role-name>
-    </auth-constraint>
-  </security-constraint>
-  <security-constraint>
-    <web-resource-collection>
-      <web-resource-name>Text Manager interface (for scripts)</web-resource-name>
-      <url-pattern>/text/*</url-pattern>
-    </web-resource-collection>
-    <auth-constraint>
-       <role-name>manager-script</role-name>
-    </auth-constraint>
-  </security-constraint>
-  <security-constraint>
-    <web-resource-collection>
-      <web-resource-name>JMX Proxy interface</web-resource-name>
-      <url-pattern>/jmxproxy/*</url-pattern>
-    </web-resource-collection>
-    <auth-constraint>
-       <role-name>manager-jmx</role-name>
-    </auth-constraint>
-  </security-constraint>
-  <security-constraint>
-    <web-resource-collection>
-      <web-resource-name>Status interface</web-resource-name>
-      <url-pattern>/status/*</url-pattern>
-    </web-resource-collection>
-    <auth-constraint>
-       <role-name>manager-gui</role-name>
-       <role-name>manager-script</role-name>
-       <role-name>manager-jmx</role-name>
-       <role-name>manager-status</role-name>
-    </auth-constraint>
-  </security-constraint>
-
-  <!-- Define the Login Configuration for this Application -->
-  <login-config>
-    <auth-method>BASIC</auth-method>
-    <realm-name>Tomcat Manager Application</realm-name>
-  </login-config>
-
-  <!-- Security roles referenced by this web application -->
-  <security-role>
-    <description>
-      The role that is required to access the HTML Manager pages
-    </description>
-    <role-name>manager-gui</role-name>
-  </security-role>
-  <security-role>
-    <description>
-      The role that is required to access the text Manager pages
-    </description>
-    <role-name>manager-script</role-name>
-  </security-role>
-  <security-role>
-    <description>
-      The role that is required to access the HTML JMX Proxy
-    </description>
-    <role-name>manager-jmx</role-name>
-  </security-role>
-  <security-role>
-    <description>
-      The role that is required to access to the Manager Status pages
-    </description>
-    <role-name>manager-status</role-name>
-  </security-role>
-
-  <error-page>
-    <error-code>401</error-code>
-    <location>/WEB-INF/jsp/401.jsp</location>
-  </error-page>
-  <error-page>
-    <error-code>403</error-code>
-    <location>/WEB-INF/jsp/403.jsp</location>
-  </error-page>
-  <error-page>
-    <error-code>404</error-code>
-    <location>/WEB-INF/jsp/404.jsp</location>
-  </error-page>
-
-</web-app>
diff --git a/stack/rest/catalina_base/webapps/manager/images/add.gif b/stack/rest/catalina_base/webapps/manager/images/add.gif
deleted file mode 100644
index 0774d07..0000000
--- a/stack/rest/catalina_base/webapps/manager/images/add.gif
+++ /dev/null
Binary files differ
diff --git a/stack/rest/catalina_base/webapps/manager/images/asf-logo.gif b/stack/rest/catalina_base/webapps/manager/images/asf-logo.gif
deleted file mode 100644
index 22eb9d7..0000000
--- a/stack/rest/catalina_base/webapps/manager/images/asf-logo.gif
+++ /dev/null
Binary files differ
diff --git a/stack/rest/catalina_base/webapps/manager/images/code.gif b/stack/rest/catalina_base/webapps/manager/images/code.gif
deleted file mode 100644
index d27307b..0000000
--- a/stack/rest/catalina_base/webapps/manager/images/code.gif
+++ /dev/null
Binary files differ
diff --git a/stack/rest/catalina_base/webapps/manager/images/design.gif b/stack/rest/catalina_base/webapps/manager/images/design.gif
deleted file mode 100644
index f5db0a9..0000000
--- a/stack/rest/catalina_base/webapps/manager/images/design.gif
+++ /dev/null
Binary files differ
diff --git a/stack/rest/catalina_base/webapps/manager/images/docs.gif b/stack/rest/catalina_base/webapps/manager/images/docs.gif
deleted file mode 100644
index d64a4a1..0000000
--- a/stack/rest/catalina_base/webapps/manager/images/docs.gif
+++ /dev/null
Binary files differ
diff --git a/stack/rest/catalina_base/webapps/manager/images/fix.gif b/stack/rest/catalina_base/webapps/manager/images/fix.gif
deleted file mode 100644
index d59ad64..0000000
--- a/stack/rest/catalina_base/webapps/manager/images/fix.gif
+++ /dev/null
Binary files differ
diff --git a/stack/rest/catalina_base/webapps/manager/images/tomcat.gif b/stack/rest/catalina_base/webapps/manager/images/tomcat.gif
deleted file mode 100644
index f2aa6f8..0000000
--- a/stack/rest/catalina_base/webapps/manager/images/tomcat.gif
+++ /dev/null
Binary files differ
diff --git a/stack/rest/catalina_base/webapps/manager/images/update.gif b/stack/rest/catalina_base/webapps/manager/images/update.gif
deleted file mode 100644
index 31e22ab..0000000
--- a/stack/rest/catalina_base/webapps/manager/images/update.gif
+++ /dev/null
Binary files differ
diff --git a/stack/rest/catalina_base/webapps/manager/images/void.gif b/stack/rest/catalina_base/webapps/manager/images/void.gif
deleted file mode 100644
index e565824..0000000
--- a/stack/rest/catalina_base/webapps/manager/images/void.gif
+++ /dev/null
Binary files differ
diff --git a/stack/rest/catalina_base/webapps/manager/index.jsp b/stack/rest/catalina_base/webapps/manager/index.jsp
deleted file mode 100644
index d4816e5..0000000
--- a/stack/rest/catalina_base/webapps/manager/index.jsp
+++ /dev/null
@@ -1,18 +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.
---%>
-<% response.sendRedirect(response.encodeRedirectURL(request.getContextPath() +
-        "/html")); %>
\ No newline at end of file
diff --git a/stack/rest/catalina_base/webapps/manager/status.xsd b/stack/rest/catalina_base/webapps/manager/status.xsd
deleted file mode 100644
index 5af979d..0000000
--- a/stack/rest/catalina_base/webapps/manager/status.xsd
+++ /dev/null
@@ -1,84 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  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.
--->
-<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
-    <xs:element name="status">
-        <xs:complexType>
-            <xs:sequence>
-                <xs:element name="jvm" type="jvm"/>
-                <xs:element name="connector" type="connector" minOccurs="1" maxOccurs="unbounded"/>
-            </xs:sequence>
-        </xs:complexType>
-    </xs:element>
-    <xs:complexType name="connector">
-        <xs:sequence>
-            <xs:element name="threadInfo" type="threadInfo"/>
-            <xs:element name="requestInfo" type="requestInfo"/>
-            <xs:element name="workers" type="workers"/>
-        </xs:sequence>
-        <xs:attribute name="name" type="xs:string" use="required"/>
-    </xs:complexType>
-    <xs:complexType name="jvm">
-        <xs:sequence>
-            <xs:element name="memory" type="memory"/>
-            <xs:element name="memorypool" type="memorypool" minOccurs="0" maxOccurs="unbounded"/>
-        </xs:sequence>
-    </xs:complexType>
-    <xs:complexType name="memory">
-        <xs:attribute name="free" type="xs:long" use="required"/>
-        <xs:attribute name="total" type="xs:long" use="required"/>
-        <xs:attribute name="max" type="xs:long" use="required"/>
-    </xs:complexType>
-    <xs:complexType name="memorypool">
-        <xs:attribute name="name" type="xs:string" use="required"/>
-        <xs:attribute name="type" type="xs:string" use="required"/>
-        <xs:attribute name="usageInit" type="xs:long" use="required"/>
-        <xs:attribute name="usageCommitted" type="xs:long" use="required"/>
-        <xs:attribute name="usageMax" type="xs:long" use="required"/>
-        <xs:attribute name="usageUsed" type="xs:long" use="required"/>
-    </xs:complexType>
-    <xs:complexType name="requestInfo">
-        <xs:attribute name="maxTime" type="xs:long" use="required"/>
-        <xs:attribute name="processingTime" type="xs:int" use="required"/>
-        <xs:attribute name="requestCount" type="xs:long" use="required"/>
-        <xs:attribute name="errorCount" type="xs:long" use="required"/>
-        <xs:attribute name="bytesReceived" type="xs:long" use="required"/>
-        <xs:attribute name="bytesSent" type="xs:long" use="required"/>
-    </xs:complexType>
-    <xs:complexType name="threadInfo">
-        <xs:attribute name="maxThreads" type="xs:int" use="required"/>
-        <xs:attribute name="currentThreadCount" type="xs:int" use="required"/>
-        <xs:attribute name="currentThreadsBusy" type="xs:int" use="required"/>
-    </xs:complexType>
-    <xs:complexType name="worker">
-        <xs:attribute name="stage" type="xs:string" use="required"/>
-        <xs:attribute name="requestProcessingTime" type="xs:int" use="required"/>
-        <xs:attribute name="requestBytesSent" type="xs:long" use="required"/>
-        <xs:attribute name="requestBytesReceived" type="xs:long" use="required"/>
-        <xs:attribute name="remoteAddr" type="xs:string" use="required"/>
-        <xs:attribute name="virtualHost" type="xs:string" use="required"/>
-        <xs:attribute name="method" type="xs:string" use="required"/>
-        <xs:attribute name="currentUri" type="xs:string" use="required"/>
-        <xs:attribute name="currentQueryString" type="xs:string" use="required"/>
-        <xs:attribute name="protocol" type="xs:string" use="required"/>
-    </xs:complexType>
-    <xs:complexType name="workers">
-        <xs:sequence>
-            <xs:element name="worker" type="worker" minOccurs="0" maxOccurs="unbounded"/>
-        </xs:sequence>
-    </xs:complexType>
-</xs:schema>
diff --git a/stack/rest/catalina_base/webapps/manager/xform.xsl b/stack/rest/catalina_base/webapps/manager/xform.xsl
deleted file mode 100644
index b07fcb9..0000000
--- a/stack/rest/catalina_base/webapps/manager/xform.xsl
+++ /dev/null
@@ -1,125 +0,0 @@
-<?xml version="1.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.
--->
-
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-  version="1.0">
-
-  <!-- Output method -->
-  <xsl:output encoding="iso-8859-1"
-              indent="no"/>
-
-  <xsl:template match="status">
-    <html>
-    <head>
-        <TITLE>Tomcat Status</TITLE>
-        <STYLE type="text/css">
-            body, table, tr, td, a, div, span {
-                vertical-align : top;
-            }
-        </STYLE>
-    </head>
-    <body>
-      <div style='font-size:20px;'>Tomcat Status</div>
-
-      <xsl:apply-templates select="jvm"/>
-      <xsl:apply-templates select="connector"/>
-     </body>
-    </html>
-  </xsl:template>
-
-  <xsl:template match="jvm">
-   <xsl:apply-templates select="memory"/>
-   <b>Memory Pools</b><br />
-   <xsl:apply-templates select="memorypool"/>
-   <hr />
-  </xsl:template>
-
-  <xsl:template match="memory">
-    <table><tr>
-             <td><b>JVM:</b></td>
-             <td><b>free:</b> <xsl:value-of select="@free"/></td>
-             <td><b>total:</b> <xsl:value-of select="@total"/></td>
-             <td><b>max:</b> <xsl:value-of select="@max"/></td>
-           </tr>
-    </table><hr />
-  </xsl:template>
-
-  <xsl:template match="memorypool">
-    <table><tr>
-             <td><b>Name:</b> <xsl:value-of select="@name"/></td>
-             <td><b>Type:</b> <xsl:value-of select="@type"/></td>
-             <td><b>Initial:</b> <xsl:value-of select="@usageInit"/></td>
-             <td><b>Committed:</b> <xsl:value-of select="@usageCommitted"/></td>
-             <td><b>Maximum:</b> <xsl:value-of select="@usageMax"/></td>
-             <td><b>Used:</b> <xsl:value-of select="@usageUsed"/></td>
-           </tr>
-    </table>
-  </xsl:template>
-
-  <xsl:template match="connector">
-     <b>Connector -- </b> <xsl:value-of select="@name"/><br />
-
-      <xsl:apply-templates select="threadInfo"/>
-      <xsl:apply-templates select="requestInfo"/>
-      <xsl:apply-templates select="workers"/>
-  </xsl:template>
-
-  <xsl:template match="threadInfo">
-    <table><tr>
-             <td><b>threadInfo</b></td>
-             <td><b>maxThreads:</b> <xsl:value-of select="@maxThreads"/></td>
-             <td><b>currentThreadCount:</b> <xsl:value-of select="@currentThreadCount"/></td>
-             <td><b>currentThreadsBusy:</b> <xsl:value-of select="@currentThreadsBusy"/></td>
-           </tr>
-    </table><hr />
-  </xsl:template>
-
-  <xsl:template match="requestInfo">
-    <table><tr>
-             <td><b>requestInfo </b></td>
-             <td><b>maxTime:</b> <xsl:value-of select="@maxTime"/></td>
-             <td><b>processingTime:</b> <xsl:value-of select="@processingTime"/></td>
-             <td><b>requestCount:</b> <xsl:value-of select="@requestCount"/></td>
-             <td><b>errorCount:</b> <xsl:value-of select="@errorCount"/></td>
-             <td><b>bytesReceived:</b> <xsl:value-of select="@bytesReceived"/></td>
-             <td><b>bytesSent:</b> <xsl:value-of select="@bytesSent"/></td>
-           </tr>
-    </table><hr />
-  </xsl:template>
-
-  <xsl:template match="workers">
-   <table>
-    <tr><th>Stage</th><th>Time</th><th>B Sent</th><th>B Recv</th><th>Client</th><th>VHost</th><th>Request</th></tr>
-      <xsl:apply-templates select="worker"/>
-
-   </table><hr />
-  </xsl:template>
-
-  <xsl:template match="worker">
-   <tr>
-    <td><xsl:value-of select="@stage"/></td>
-    <td><xsl:value-of select="@requestProcessingTime"/></td>
-    <td><xsl:value-of select="@requestBytesSent"/></td>
-    <td><xsl:value-of select="@requestBytesReceived"/></td>
-    <td><xsl:value-of select="@remoteAddr"/></td>
-    <td><xsl:value-of select="@virtualHost"/></td>
-    <td><xsl:value-of select="@method"/> <xsl:value-of select="@currentUri"/>?<xsl:value-of select="@currentQueryString"/> <xsl:value-of select="@protocol"/></td>
-   </tr>
-  </xsl:template>
-
-</xsl:stylesheet>
diff --git a/stack/rest/catalina_base/webapps/portal b/stack/rest/catalina_base/webapps/portal
deleted file mode 120000
index b88a900..0000000
--- a/stack/rest/catalina_base/webapps/portal
+++ /dev/null
@@ -1 +0,0 @@
-../../../../portal/
\ No newline at end of file
diff --git a/stack/rest/catalina_base/work/Catalina/localhost/manager/org/apache/jsp/index_jsp.java b/stack/rest/catalina_base/work/Catalina/localhost/manager/org/apache/jsp/index_jsp.java
deleted file mode 100644
index 4e31533..0000000
--- a/stack/rest/catalina_base/work/Catalina/localhost/manager/org/apache/jsp/index_jsp.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- * Generated by the Jasper component of Apache Tomcat
- * Version: Apache Tomcat/7.0.59
- * Generated at: 2015-02-20 15:02:02 UTC
- * Note: The last modified time of this file was set to
- *       the last modified time of the source file after
- *       generation to assist with modification tracking.
- */
-package org.apache.jsp;
-
-import javax.servlet.*;
-import javax.servlet.http.*;
-import javax.servlet.jsp.*;
-
-public final class index_jsp extends org.apache.jasper.runtime.HttpJspBase
-    implements org.apache.jasper.runtime.JspSourceDependent {
-
-  private static final javax.servlet.jsp.JspFactory _jspxFactory =
-          javax.servlet.jsp.JspFactory.getDefaultFactory();
-
-  private static java.util.Map<java.lang.String,java.lang.Long> _jspx_dependants;
-
-  private javax.el.ExpressionFactory _el_expressionfactory;
-  private org.apache.tomcat.InstanceManager _jsp_instancemanager;
-
-  public java.util.Map<java.lang.String,java.lang.Long> getDependants() {
-    return _jspx_dependants;
-  }
-
-  public void _jspInit() {
-    _el_expressionfactory = _jspxFactory.getJspApplicationContext(getServletConfig().getServletContext()).getExpressionFactory();
-    _jsp_instancemanager = org.apache.jasper.runtime.InstanceManagerFactory.getInstanceManager(getServletConfig());
-  }
-
-  public void _jspDestroy() {
-  }
-
-  public void _jspService(final javax.servlet.http.HttpServletRequest request, final javax.servlet.http.HttpServletResponse response)
-        throws java.io.IOException, javax.servlet.ServletException {
-
-    final javax.servlet.jsp.PageContext pageContext;
-    javax.servlet.http.HttpSession session = null;
-    final javax.servlet.ServletContext application;
-    final javax.servlet.ServletConfig config;
-    javax.servlet.jsp.JspWriter out = null;
-    final java.lang.Object page = this;
-    javax.servlet.jsp.JspWriter _jspx_out = null;
-    javax.servlet.jsp.PageContext _jspx_page_context = null;
-
-
-    try {
-      response.setContentType("text/html");
-      pageContext = _jspxFactory.getPageContext(this, request, response,
-      			null, true, 8192, true);
-      _jspx_page_context = pageContext;
-      application = pageContext.getServletContext();
-      config = pageContext.getServletConfig();
-      session = pageContext.getSession();
-      out = pageContext.getOut();
-      _jspx_out = out;
-
-      out.write('\n');
- response.sendRedirect(response.encodeRedirectURL(request.getContextPath() +
-        "/html")); 
-    } catch (java.lang.Throwable t) {
-      if (!(t instanceof javax.servlet.jsp.SkipPageException)){
-        out = _jspx_out;
-        if (out != null && out.getBufferSize() != 0)
-          try {
-            if (response.isCommitted()) {
-              out.flush();
-            } else {
-              out.clearBuffer();
-            }
-          } catch (java.io.IOException e) {}
-        if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);
-        else throw new ServletException(t);
-      }
-    } finally {
-      _jspxFactory.releasePageContext(_jspx_page_context);
-    }
-  }
-}
diff --git a/stack/rest/src/main/java/org/apache/usergrid/rest/test/PropertiesResource.java b/stack/rest/src/main/java/org/apache/usergrid/rest/test/PropertiesResource.java
index 691ea46..c414b5f 100644
--- a/stack/rest/src/main/java/org/apache/usergrid/rest/test/PropertiesResource.java
+++ b/stack/rest/src/main/java/org/apache/usergrid/rest/test/PropertiesResource.java
@@ -37,7 +37,7 @@
 import org.apache.usergrid.rest.AbstractContextResource;
 
 
-/** 
+/**
  * Set properties at runtime, for testing purposes only and only works with usergrid.test=true.
  */
 @Component
diff --git a/stack/rest/src/test/java/org/apache/usergrid/rest/SystemResourceIT.java b/stack/rest/src/test/java/org/apache/usergrid/rest/SystemResourceIT.java
new file mode 100644
index 0000000..5695143
--- /dev/null
+++ b/stack/rest/src/test/java/org/apache/usergrid/rest/SystemResourceIT.java
@@ -0,0 +1,60 @@
+/*
+ * 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.usergrid.rest;
+
+
+import org.junit.Test;
+
+import org.apache.usergrid.rest.test.resource2point0.AbstractRestIT;
+import org.apache.usergrid.rest.test.resource2point0.model.Entity;
+import org.apache.usergrid.rest.test.resource2point0.model.QueryParameters;
+import org.apache.usergrid.rest.test.resource2point0.model.Token;
+
+import com.sun.jersey.api.client.UniformInterfaceException;
+
+import static org.junit.Assert.assertNotNull;
+
+
+/**
+ * Tests endpoints that use /system/*
+ */
+public class SystemResourceIT extends AbstractRestIT {
+
+    @Test
+    public void testSystemDatabaseAlreadyRun() {
+        //try {
+        QueryParameters queryParameters = new QueryParameters();
+        queryParameters.addParam( "access_token",clientSetup.getSuperuserToken().getAccessToken() );
+        Entity result = clientSetup.getRestClient().system().database().setup().get(queryParameters);
+//        }catch(UniformInterfaceException uie) {
+//            asser
+//        }
+//
+        assertNotNull(result);
+        assertNotNull( "ok" ,(String)result.get( "status" ) );
+
+        result = clientSetup.getRestClient().system().database().setup().get(queryParameters);
+
+        assertNotNull( result );
+        assertNotNull( "ok" ,(String)result.get( "status" ) );
+
+
+
+
+    }
+
+}
diff --git a/stack/rest/src/test/java/org/apache/usergrid/rest/management/AdminUsersIT.java b/stack/rest/src/test/java/org/apache/usergrid/rest/management/AdminUsersIT.java
index 91ea270..fffb28a 100644
--- a/stack/rest/src/test/java/org/apache/usergrid/rest/management/AdminUsersIT.java
+++ b/stack/rest/src/test/java/org/apache/usergrid/rest/management/AdminUsersIT.java
@@ -17,11 +17,8 @@
 
 package org.apache.usergrid.rest.management;
 
-
-/**
- * Created by ApigeeCorporation on 9/17/14.
- */
 import java.io.IOException;
+import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -29,32 +26,24 @@
 import javax.mail.Message;
 import javax.mail.MessagingException;
 import javax.mail.internet.MimeMultipart;
-import javax.ws.rs.core.MediaType;
 
+import org.junit.Before;
 import org.junit.Ignore;
 import org.junit.Rule;
 import org.junit.Test;
 import org.jvnet.mock_javamail.Mailbox;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 
-import org.apache.commons.lang.StringUtils;
 
-import org.apache.usergrid.management.AccountCreationProps;
-import org.apache.usergrid.management.ActivationState;
+
 import org.apache.usergrid.management.MockImapClient;
-import org.apache.usergrid.management.OrganizationInfo;
-import org.apache.usergrid.management.OrganizationOwnerInfo;
-import org.apache.usergrid.management.UserInfo;
-import org.apache.usergrid.rest.AbstractRestIT;
-import org.apache.usergrid.rest.TestContextSetup;
-import org.apache.usergrid.rest.management.organizations.OrganizationsResource;
-import org.apache.usergrid.rest.test.resource.mgmt.Organization;
-import org.apache.usergrid.rest.test.security.TestAdminUser;
-import org.apache.usergrid.rest.test.security.TestUser;
-import org.apache.usergrid.security.AuthPrincipalInfo;
-import org.apache.usergrid.security.AuthPrincipalType;
-import org.apache.usergrid.utils.UUIDUtils;
+import org.apache.usergrid.persistence.index.utils.StringUtils;
+import org.apache.usergrid.persistence.index.utils.UUIDUtils;
+import org.apache.usergrid.rest.test.resource2point0.AbstractRestIT;
+import org.apache.usergrid.rest.test.resource2point0.endpoints.mgmt.ManagementResource;
+import org.apache.usergrid.rest.test.resource2point0.model.ApiResponse;
+import org.apache.usergrid.rest.test.resource2point0.model.Entity;
+import org.apache.usergrid.rest.test.resource2point0.model.QueryParameters;
+import org.apache.usergrid.rest.test.resource2point0.model.Token;
 
 import com.fasterxml.jackson.databind.JsonNode;
 import com.sun.jersey.api.client.ClientResponse;
@@ -62,631 +51,477 @@
 import com.sun.jersey.api.representation.Form;
 
 import static org.apache.usergrid.management.AccountCreationProps.PROPERTIES_ADMIN_USERS_REQUIRE_CONFIRMATION;
-import static org.apache.usergrid.management.AccountCreationProps.PROPERTIES_NOTIFY_ADMIN_OF_ACTIVATION;
 import static org.apache.usergrid.management.AccountCreationProps.PROPERTIES_SYSADMIN_APPROVES_ADMIN_USERS;
 import static org.apache.usergrid.management.AccountCreationProps.PROPERTIES_SYSADMIN_APPROVES_ORGANIZATIONS;
 import static org.apache.usergrid.management.AccountCreationProps.PROPERTIES_SYSADMIN_EMAIL;
-import static org.apache.usergrid.utils.MapUtils.hashMap;
+import static org.apache.usergrid.management.AccountCreationProps.PROPERTIES_TEST_ACCOUNT_ADMIN_USER_EMAIL;
+import static org.apache.usergrid.management.AccountCreationProps.PROPERTIES_TEST_ACCOUNT_ADMIN_USER_PASSWORD;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
 
+import org.apache.usergrid.rest.test.resource2point0.model.Organization;
+import org.apache.usergrid.rest.test.resource2point0.model.User;
+
 
 /**
  * Contains all tests relating to Admin Users
  */
 public class AdminUsersIT extends AbstractRestIT {
 
-    //Used for all MUUserResourceITTests
-    private Logger LOG = LoggerFactory.getLogger( AdminUsersIT.class );
+    ManagementResource management;
 
-    @Rule
-    public TestContextSetup context = new TestContextSetup( this );
-
-    public AdminUsersIT() throws Exception {
-
+    @Before
+    public void setup() {
+        management= clientSetup.getRestClient().management();
     }
 
-
-
-
     /**
-     * Test if we can reset our password as an admin
+     * Test if we can reset an admin's password by using that same admins credentials.
      */
     @Test
     public void setSelfAdminPasswordAsAdmin() throws IOException {
 
-        String newPassword = "foo";
+        String username = clientSetup.getUsername();
+        String password = clientSetup.getPassword();
 
-        Map<String, String> data = new HashMap<String, String>();
-        data.put( "newpassword", newPassword );
-        data.put( "oldpassword", "test" );
+
+        Map<String, Object> passwordPayload = new HashMap<String, Object>();
+        passwordPayload.put( "newpassword", "testPassword" );
+        passwordPayload.put( "oldpassword", password );
 
         // change the password as admin. The old password isn't required
-        JsonNode node = mapper.readTree( resource().path( "/management/users/test/password" ).accept( MediaType.APPLICATION_JSON )
-                                                   .type( MediaType.APPLICATION_JSON_TYPE ).post( String.class, data ));
+        management.users().user( username ).password().post(passwordPayload);
 
-        assertNull( getError( node ) );
+        this.refreshIndex();
 
-        refreshIndex("test-organization", "test-app");
+        //Get the token using the new password
+        management.token().post( new Token( username, "testPassword" ) );
 
-        adminAccessToken = mgmtToken( "test", newPassword );
-
-        data.put( "oldpassword", newPassword );
-        data.put( "newpassword", "test" );
-
-        node = mapper.readTree( resource().path( "/management/users/test/password" ).queryParam( "access_token", adminAccessToken )
-                                          .accept( MediaType.APPLICATION_JSON ).type( MediaType.APPLICATION_JSON_TYPE )
-                                          .post( String.class, data ));
-
-        assertNull( getError( node ) );
+        //Check that we cannot get the token using the old password
+        try {
+            management.token().post( new Token( username, password ) );
+            fail( "We shouldn't be able to get a token using the old password" );
+        }catch(UniformInterfaceException uie) {
+            errorParse( 400,"invalid_grant",uie );
+        }
     }
 
 
+    /**
+     * Check that we cannot change the password by using an older password
+     */
     @Test
     public void passwordMismatchErrorAdmin() {
-        String origPassword = "foo";
-        String newPassword = "bar";
 
-        Map<String, String> data = new HashMap<String, String>();
-        data.put( "newpassword", origPassword );
+        String username = clientSetup.getUsername();
+        String password = clientSetup.getPassword();
 
-        // now change the password, with an incorrect old password
 
-        data.put( "oldpassword", origPassword );
-        data.put( "newpassword", newPassword );
+        Map<String, Object> passwordPayload = new HashMap<String, Object>();
+        passwordPayload.put( "newpassword", "testPassword" );
+        passwordPayload.put( "oldpassword", password );
 
-        ClientResponse.Status responseStatus = null;
+        // change the password as admin. The old password isn't required
+        management.users().user( username ).password().post( passwordPayload );
 
+        this.refreshIndex();
+
+
+        //Get the token using the new password
+        management.token().post( new Token( username, "testPassword" ) );
+
+
+        // Check that we can't change the password using the old password.
         try {
-            resource().path( "/management/users/test/password" ).accept( MediaType.APPLICATION_JSON )
-                      .type( MediaType.APPLICATION_JSON_TYPE ).post( String.class, data );
+            management.users().user( username ).password().post( passwordPayload );
+            fail("We shouldn't be able to change the password with the same payload");
         }
         catch ( UniformInterfaceException uie ) {
-            responseStatus = uie.getResponse().getClientResponseStatus();
+            errorParse( ClientResponse.Status.BAD_REQUEST.getStatusCode(),"auth_invalid_username_or_password",uie );
         }
 
-        assertNotNull( responseStatus );
-
-        assertEquals( ClientResponse.Status.BAD_REQUEST, responseStatus );
     }
 
 
+    /**
+     * Checks that as a superuser (i.e with a superuser token ) we can change the password of a admin.
+     * @throws IOException
+     */
     @Test
     public void setAdminPasswordAsSysAdmin() throws IOException {
 
-        String superToken = superAdminToken();
-
-        String newPassword = "foo";
-
-        Map<String, String> data = new HashMap<String, String>();
-        data.put( "newpassword", newPassword );
+        String username = clientSetup.getUsername();
+        String password = clientSetup.getPassword();
 
         // change the password as admin. The old password isn't required
-        JsonNode node = mapper.readTree( resource().path( "/management/users/test/password" ).queryParam( "access_token", superToken )
-                                                   .accept( MediaType.APPLICATION_JSON ).type( MediaType.APPLICATION_JSON_TYPE )
-                                                   .post( String.class, data ));
+        Map<String, Object> passwordPayload = new HashMap<String, Object>();
+        passwordPayload.put( "newpassword", "testPassword" );
 
-        assertNull( getError( node ) );
+        management.users().user( username ).password().post( clientSetup.getSuperuserToken(), passwordPayload );
 
-        refreshIndex("test-organization", "test-app");
+        this.refreshIndex();
 
-        // log in with the new password
-        String token = mgmtToken( "test", newPassword );
+        assertNotNull( management.token().post( new Token( username, "testPassword" ) ) );
 
-        assertNotNull( token );
-
-        data.put( "newpassword", "test" );
-
-        // now change the password back
-        node = mapper.readTree( resource().path( "/management/users/test/password" ).queryParam( "access_token", superToken )
-                                          .accept( MediaType.APPLICATION_JSON ).type( MediaType.APPLICATION_JSON_TYPE )
-                                          .post( String.class, data ));
-
-        assertNull( getError( node ) );
+        //Check that we cannot get the token using the old password
+        try {
+            management.token().post( new Token( username, password ) );
+            fail( "We shouldn't be able to get a token using the old password" );
+        }catch(UniformInterfaceException uie) {
+            errorParse( 400,"invalid_grant",uie );
+        }
     }
 
+
+    /**
+     * Get the management user feed and check that it has the correct title.
+     * @throws Exception
+     */
     @Test
     public void mgmtUserFeed() throws Exception {
-        JsonNode userdata = mapper.readTree( resource().path( "/management/users/test@usergrid.com/feed" )
-                                                       .queryParam( "access_token", adminAccessToken )
-                                                       .accept( MediaType.APPLICATION_JSON ).get( String.class ));
-        assertTrue( StringUtils.contains( this.getEntity( userdata, 0 ).get( "title" ).asText(),
-                "<a href=\"mailto:test@usergrid.com\">" ) );
-    }
 
-    //everything below is MUUserResourceIT
+        Entity mgmtUserFeedEntity = management.users().user( clientSetup.getUsername() ).feed().get();
+        String correctValue= "<a href=mailto:"+clientSetup.getUsername();  //user_org.apache.usergrid.rest.management.AdminUsersIT.mgmtUserFeed4c3e53e0-acc7-11e4-b527-0b8af3c5813f@usergrid.com">user_org.apache.usergrid.rest.management.AdminUsersIT.mgmtUserFeed4c3e53e0-acc7-11e4-b527-0b8af3c5813f (user_org.apache.usergrid.rest.management.AdminUsersIT.mgmtUserFeed4c3e53e0-acc7-11e4-b527-0b8af3c5813f@usergrid.com)</a> created a new organization account named org_org.apache.usergrid.rest.management.AdminUsersIT.mgmtUserFeed4c3ec910-acc7-11e4-94c8-33f0d48a5559
 
-    @Test
-    public void testCaseSensitivityAdminUser() throws Exception {
+        assertNotNull( mgmtUserFeedEntity );
 
-        LOG.info( "Starting testCaseSensitivityAdminUser()" );
-
-        UserInfo mixcaseUser = setup.getMgmtSvc()
-                                    .createAdminUser( "AKarasulu", "Alex Karasulu", "AKarasulu@Apache.org", "test", true, false );
-
-        refreshIndex(context.getOrgName(), context.getAppName());
-
-        AuthPrincipalInfo adminPrincipal = new AuthPrincipalInfo(
-                AuthPrincipalType.ADMIN_USER, mixcaseUser.getUuid(), UUIDUtils.newTimeUUID() );
-        OrganizationInfo organizationInfo =
-                setup.getMgmtSvc().createOrganization( "MixedCaseOrg", mixcaseUser, true );
-
-        refreshIndex(context.getOrgName(), context.getAppName());
-
-        String tokenStr = mgmtToken( "akarasulu@apache.org", "test" );
-
-        // Should succeed even when we use all lowercase
-        JsonNode node = mapper.readTree( resource().path( "/management/users/akarasulu@apache.org" )
-                                                   .queryParam( "access_token", tokenStr )
-                                                   .accept( MediaType.APPLICATION_JSON )
-                                                   .type( MediaType.APPLICATION_JSON_TYPE )
-                                                   .get( String.class ));
-        logNode( node );
+        ArrayList<Map<String,Object>> feedEntityMap = ( ArrayList ) mgmtUserFeedEntity.get( "entities" );
+        assertNotNull( feedEntityMap );
+        assertNotNull( feedEntityMap.get( 0 ).get( "title" )  );
+        assertTrue("Needs to contain the feed of the specific management user",
+            ((String)(feedEntityMap.get( 0 ).get( "title" ))).contains(clientSetup.getUsername() ));
     }
 
 
+    /**
+     * Test that a unconfirmed admin cannot log in.
+     * TODO:test for parallel test that changing the properties here won't affect other tests
+     * @throws Exception
+     */
     @Test
-    public void testUnconfirmedAdminLogin() throws Exception {
+    public void testUnconfirmedAdminLogin()  throws Exception{
 
-        // Setup properties to require confirmation of users
-        // -------------------------------------------
-
-        Map<String, String> originalProperties = getRemoteTestProperties();
-
+        ApiResponse originalTestPropertiesResponse = clientSetup.getRestClient().testPropertiesResource().get();
+        Entity originalTestProperties = new Entity( originalTestPropertiesResponse );
         try {
-            setTestProperty( PROPERTIES_SYSADMIN_APPROVES_ADMIN_USERS, "false" );
-            setTestProperty( PROPERTIES_SYSADMIN_APPROVES_ORGANIZATIONS, "false" );
-            setTestProperty( PROPERTIES_ADMIN_USERS_REQUIRE_CONFIRMATION, "true" );
-            setTestProperty( PROPERTIES_SYSADMIN_EMAIL, "sysadmin-1@mockserver.com" );
-            setTestProperty( PROPERTIES_NOTIFY_ADMIN_OF_ACTIVATION, "true" );
+            //Set runtime enviroment to the following settings
+            //TODO: make properties verification its own test.
+            Map<String, Object> testPropertiesMap = new HashMap<>();
 
-            assertTrue( setup.getMgmtSvc().newAdminUsersRequireConfirmation() );
-            assertFalse( setup.getMgmtSvc().newAdminUsersNeedSysAdminApproval() );
+            testPropertiesMap.put( PROPERTIES_SYSADMIN_APPROVES_ADMIN_USERS, "false" );
+            testPropertiesMap.put( PROPERTIES_SYSADMIN_APPROVES_ORGANIZATIONS, "false" );
+            //Requires admins to do email confirmation before they can log in.
+            testPropertiesMap.put( PROPERTIES_ADMIN_USERS_REQUIRE_CONFIRMATION, "true" );
+            testPropertiesMap.put( PROPERTIES_SYSADMIN_EMAIL, "sysadmin-1@mockserver.com" );
 
-            // Setup org/app/user variables and create them
-            // -------------------------------------------
-            String orgName = this.getClass().getName();
-            String appName = "testUnconfirmedAdminLogin";
-            String userName = "TestUser";
-            String email = "test-user-46@mockserver.com";
-            String passwd = "testpassword";
-            OrganizationOwnerInfo orgOwner;
+            Entity testPropertiesPayload = new Entity( testPropertiesMap );
 
-            orgOwner = setup.getMgmtSvc().createOwnerAndOrganization(
-                    orgName, userName, appName, email, passwd, false, false );
-            assertNotNull( orgOwner );
-            String returnedUsername = orgOwner.getOwner().getUsername();
-            assertEquals( userName, returnedUsername );
+            //Send rest call to the /testProperties endpoint to persist property changes
+            clientSetup.getRestClient().testPropertiesResource().post( testPropertiesPayload );
 
-            UserInfo adminUserInfo = setup.getMgmtSvc().getAdminUserByUsername( userName );
-            assertNotNull( adminUserInfo );
-            assertFalse( "adminUser should not be activated yet", adminUserInfo.isActivated() );
-            assertFalse( "adminUser should not be confirmed yet", adminUserInfo.isConfirmed() );
+            refreshIndex();
 
-            // Attempt to authenticate but this should fail
-            // -------------------------------------------
-            JsonNode node;
+            //Create organization for the admin user to be confirmed
+            Organization organization = createOrgPayload( "testUnconfirmedAdminLogin", null );
+
+            Organization organizationResponse = clientSetup.getRestClient().management().orgs().post( organization );
+
+            assertNotNull( organizationResponse );
+
+            //Ensure that adminUser has the correct properties set.
+            User adminUser = organizationResponse.getOwner();
+
+            assertNotNull( adminUser );
+            assertFalse( "adminUser should not be activated yet", adminUser.getActivated() );
+            assertFalse( "adminUser should not be confirmed yet", adminUser.getConfirmed() );
+
+
+            //Get token grant for new admin user.
+            QueryParameters queryParameters = new QueryParameters();
+            queryParameters.addParam( "grant_type", "password" ).addParam( "username", adminUser.getUsername() )
+                           .addParam( "password", organization.getPassword() );
+
+
+            //Check that the adminUser cannot log in and fails with a 403 due to not being confirmed.
             try {
-                node = mapper.readTree( resource().path( "/management/token" )
-                                                  .queryParam( "grant_type", "password" )
-                                                  .queryParam( "username", userName )
-                                                  .queryParam( "password", passwd )
-                                                  .accept( MediaType.APPLICATION_JSON ).get( String.class ));
-
-                fail( "Unconfirmed users should not be authorized to authenticate." );
+                management().token().get( queryParameters );
+                fail( "Admin user should not be able to log in." );
             }
-            catch ( UniformInterfaceException e ) {
-                node = mapper.readTree( e.getResponse().getEntity( String.class ));
-                assertEquals( "invalid_grant", node.get( "error" ).textValue() );
-                assertEquals( "User must be confirmed to authenticate",
-                        node.get( "error_description" ).textValue() );
-                LOG.info( "Unconfirmed user was not authorized to authenticate!" );
+            catch ( UniformInterfaceException uie ) {
+                assertEquals( "Admin user should have failed with 403", 403, uie.getResponse().getStatus() );
             }
 
-            // Confirm the getting account confirmation email for unconfirmed user
-            // -------------------------------------------
-            List<Message> inbox = Mailbox.get( email );
+            //Create mocked inbox
+            List<Message> inbox = Mailbox.get( organization.getEmail() );
             assertFalse( inbox.isEmpty() );
 
             MockImapClient client = new MockImapClient( "mockserver.com", "test-user-46", "somepassword" );
             client.processMail();
 
+            //Get email with confirmation token and extract token
             Message confirmation = inbox.get( 0 );
-            assertEquals( "User Account Confirmation: " + email, confirmation.getSubject() );
-
-            // Extract the token to confirm the user
-            // -------------------------------------------
+            assertEquals( "User Account Confirmation: " + organization.getEmail(), confirmation.getSubject() );
             String token = getTokenFromMessage( confirmation );
-            LOG.info( token );
 
-            ActivationState state = setup.getMgmtSvc().handleConfirmationTokenForAdminUser(
-                    orgOwner.getOwner().getUuid(), token );
-            assertEquals( ActivationState.ACTIVATED, state );
+            //Make rest call with extracted token to confirm the admin user.
+            management().users().user( adminUser.getUuid().toString() ).confirm()
+                        .get( new QueryParameters().addParam( "token", token ) );
 
-            Message activation = inbox.get( 1 );
-            assertEquals( "User Account Activated", activation.getSubject() );
 
-            client = new MockImapClient( "mockserver.com", "test-user-46", "somepassword" );
-            client.processMail();
+            //Try the previous call and verify that the admin user can retrieve login token
+            Token retToken = management().token().get( queryParameters );
 
-            refreshIndex(orgName, appName);
-
-            // Attempt to authenticate again but this time should pass
-            // -------------------------------------------
-
-            node = mapper.readTree( resource().path( "/management/token" )
-                                              .queryParam( "grant_type", "password" )
-                                              .queryParam( "username", userName )
-                                              .queryParam( "password", passwd )
-                                              .accept( MediaType.APPLICATION_JSON ).get( String.class ));
-
-            assertNotNull( node );
-            LOG.info( "Authentication succeeded after confirmation: {}.", node.toString() );
-        }
-        finally {
-            setTestProperties( originalProperties );
+            assertNotNull( retToken );
+            assertNotNull( retToken.getAccessToken() );
+        }finally {
+            clientSetup.getRestClient().testPropertiesResource().post( originalTestProperties );
         }
     }
 
 
+    /**
+     * Test that the system admin doesn't need a confirmation email
+     * @throws Exception
+     */
     @Test
-    public void testSystemAdminNeedsNoConfirmation() throws Exception {
-
-        Map<String, String> originalProperties = getRemoteTestProperties();
-
+    public void testSystemAdminNeedsNoConfirmation() throws Exception{
+        //Save original properties to return them to normal at the end of the test
+        ApiResponse originalTestPropertiesResponse = clientSetup.getRestClient().testPropertiesResource().get();
+        Entity originalTestProperties = new Entity( originalTestPropertiesResponse );
         try {
-            // require comfirmation of new admin users
-            setTestProperty( PROPERTIES_SYSADMIN_APPROVES_ADMIN_USERS, "false" );
-            setTestProperty( PROPERTIES_SYSADMIN_APPROVES_ORGANIZATIONS, "false" );
-            setTestProperty( PROPERTIES_ADMIN_USERS_REQUIRE_CONFIRMATION, "true" );
+            //Set runtime enviroment to the following settings
+            Map<String, Object> testPropertiesMap = new HashMap<>();
 
-            assertTrue( setup.getMgmtSvc().newAdminUsersRequireConfirmation() );
-            assertFalse( setup.getMgmtSvc().newAdminUsersNeedSysAdminApproval() );
+            testPropertiesMap.put( PROPERTIES_SYSADMIN_APPROVES_ADMIN_USERS, "false" );
+            testPropertiesMap.put( PROPERTIES_SYSADMIN_APPROVES_ORGANIZATIONS, "false" );
+            //Requires admins to do email confirmation before they can log in.
+            testPropertiesMap.put( PROPERTIES_ADMIN_USERS_REQUIRE_CONFIRMATION, "true" );
 
-            String sysadminUsername = ( String ) setup.getMgmtSvc().getProperties()
-                                                      .get( AccountCreationProps.PROPERTIES_SYSADMIN_LOGIN_EMAIL );
+            Entity testPropertiesPayload = new Entity( testPropertiesMap );
 
-            String sysadminPassword = ( String ) setup.getMgmtSvc().getProperties()
-                                                      .get( AccountCreationProps.PROPERTIES_SYSADMIN_LOGIN_PASSWORD );
+            //Send rest call to the /testProperties endpoint to persist property changes
+            clientSetup.getRestClient().testPropertiesResource().post( testPropertiesPayload );
+            refreshIndex();
 
-            // sysadmin login should suceed despite confirmation setting
-            JsonNode node;
-            try {
-                node = mapper.readTree( resource().path( "/management/token" ).queryParam( "grant_type", "password" )
-                                                  .queryParam( "username", sysadminUsername ).queryParam( "password", sysadminPassword )
-                                                  .accept( MediaType.APPLICATION_JSON ).get( String.class ));
-            }
-            catch ( UniformInterfaceException e ) {
-                fail( "Sysadmin should need no confirmation" );
-            }
-        }
-        finally {
-            setTestProperties( originalProperties );
+            Token superuserToken = management().token().post(
+                new Token( clientSetup.getSuperuserName(), clientSetup.getSuperuserPassword() ) );
+
+
+
+            assertNotNull( "We should have gotten a valid token back" ,superuserToken );
+        }finally{
+            clientSetup.getRestClient().testPropertiesResource().post( originalTestProperties );
+
         }
     }
 
-
+    /**
+     * Test that the test account doesn't need confirmation and is created automatically.
+     * @throws Exception
+     */
+    @Ignore("Test doesn't pass because the test account isn't getting correct instantiated")
     @Test
-    public void testTestUserNeedsNoConfirmation() throws Exception {
-
-        Map<String, String> originalProperties = getRemoteTestProperties();
-
+    public void testTestUserNeedsNoConfirmation() throws Exception{
+        //Save original properties to return them to normal at the end of the test
+        ApiResponse originalTestPropertiesResponse = clientSetup.getRestClient().testPropertiesResource().get();
+        Entity originalTestProperties = new Entity( originalTestPropertiesResponse );
         try {
-            // require comfirmation of new admin users
-            setTestProperty( PROPERTIES_SYSADMIN_APPROVES_ADMIN_USERS, "false" );
-            setTestProperty( PROPERTIES_SYSADMIN_APPROVES_ORGANIZATIONS, "false" );
-            setTestProperty( PROPERTIES_ADMIN_USERS_REQUIRE_CONFIRMATION, "true" );
+            //Set runtime enviroment to the following settings
+            Map<String, Object> testPropertiesMap = new HashMap<>();
 
-            assertTrue( setup.getMgmtSvc().newAdminUsersRequireConfirmation() );
-            assertFalse( setup.getMgmtSvc().newAdminUsersNeedSysAdminApproval() );
+            testPropertiesMap.put( PROPERTIES_SYSADMIN_APPROVES_ADMIN_USERS, "false" );
+            testPropertiesMap.put( PROPERTIES_SYSADMIN_APPROVES_ORGANIZATIONS, "false" );
+            //Requires admins to do email confirmation before they can log in.
+            testPropertiesMap.put( PROPERTIES_ADMIN_USERS_REQUIRE_CONFIRMATION, "true" );
 
-            String testUserUsername = ( String ) setup.getMgmtSvc().getProperties()
-                                                      .get( AccountCreationProps
-                                                              .PROPERTIES_TEST_ACCOUNT_ADMIN_USER_EMAIL );
+            Entity testPropertiesPayload = new Entity( testPropertiesMap );
 
-            String testUserPassword = ( String ) setup.getMgmtSvc().getProperties()
-                                                      .get( AccountCreationProps
-                                                              .PROPERTIES_TEST_ACCOUNT_ADMIN_USER_PASSWORD );
+            //Send rest call to the /testProperties endpoint to persist property changes
+            clientSetup.getRestClient().testPropertiesResource().post( testPropertiesPayload );
+            refreshIndex();
 
-            // test user login should suceed despite confirmation setting
-            JsonNode node;
-            try {
-                node = mapper.readTree( resource().path( "/management/token" ).queryParam( "grant_type", "password" )
-                                                  .queryParam( "username", testUserUsername ).queryParam( "password", testUserPassword )
-                                                  .accept( MediaType.APPLICATION_JSON ).get( String.class ));
-            }
-            catch ( UniformInterfaceException e ) {
-                fail( "Test User should need no confirmation" );
-            }
-        }
-        finally {
-            setTestProperties( originalProperties );
+            Token testToken = management().token().post(
+                new Token( originalTestProperties.getAsString( PROPERTIES_TEST_ACCOUNT_ADMIN_USER_EMAIL ),
+                    originalTestProperties.getAsString(  PROPERTIES_TEST_ACCOUNT_ADMIN_USER_PASSWORD ) ));
+
+            assertNotNull( "We should have gotten a valid token back" ,testToken );
+        }finally{
+            clientSetup.getRestClient().testPropertiesResource().post( originalTestProperties );
+
         }
     }
 
-
-    private String getTokenFromMessage( Message msg ) throws IOException, MessagingException {
-        String body = ( ( MimeMultipart ) msg.getContent() ).getBodyPart( 0 ).getContent().toString();
-        return StringUtils.substringAfterLast( body, "token=" );
-    }
-
-
+    /**
+     * Update the current management user and make sure the change persists
+     * @throws Exception
+     */
+    @Ignore("Fails because we cannot GET a management user with a super user token - only with an Admin level token."
+        + "But, we can PUT with a superuser token. This test will work once that issue has been resolved.")
     @Test
     public void updateManagementUser() throws Exception {
-        Map<String, String> payload =
-                hashMap( "email", "uort-user-1@apigee.com" ).map( "username", "uort-user-1" ).map( "name", "Test User" )
-                                                            .map( "password", "password" ).map( "organization", "uort-org" ).map( "company", "Apigee" );
 
-        JsonNode node = mapper.readTree( resource().path( "/management/organizations" ).accept( MediaType.APPLICATION_JSON )
-                                                   .type( MediaType.APPLICATION_JSON_TYPE ).post( String.class, payload ));
-        logNode( node );
-        String userId = node.get( "data" ).get( "owner" ).get( "uuid" ).asText();
-
-        assertEquals( "Apigee", node.get( "data" ).get( "owner" ).get( "properties" ).get( "company" ).asText() );
-
-        String token = mgmtToken( "uort-user-1@apigee.com", "password" );
-
-        node = mapper.readTree( resource().path( String.format( "/management/users/%s", userId ) ).queryParam( "access_token", token )
-                                          .type( MediaType.APPLICATION_JSON_TYPE ).get( String.class ));
-
-        logNode( node );
-
-        payload = hashMap( "company", "Usergrid" );
-        LOG.info( "sending PUT for company update" );
-        node = mapper.readTree( resource().path( String.format( "/management/users/%s", userId ) ).queryParam( "access_token", token )
-                                          .type( MediaType.APPLICATION_JSON_TYPE ).put( String.class, payload ));
-        assertNotNull( node );
-        node = mapper.readTree( resource().path( String.format( "/management/users/%s", userId ) ).queryParam( "access_token", token )
-                                          .type( MediaType.APPLICATION_JSON_TYPE ).get( String.class ));
-        assertEquals( "Usergrid", node.get( "data" ).get( "properties" ).get( "company" ).asText() );
+        Organization newOrg = createOrgPayload( "updateManagementUser", null );
 
 
-        logNode( node );
+        Organization orgReturned = clientSetup.getRestClient().management().orgs().post( newOrg );
+
+        assertNotNull( orgReturned.getOwner() );
+
+        //Add a property to management user
+        Entity userProperty = new Entity(  ).chainPut( "company","usergrid" );
+        management().users().user( newOrg.getUsername() ).put( userProperty );
+
+        Entity userUpdated = updateAdminUser( userProperty, orgReturned );
+
+        assertEquals( "usergrid",userUpdated.getAsString( "company" ) );
+
+        //Update property with new management value.
+        userProperty = new Entity(  ).chainPut( "company","Apigee" );
+
+        userUpdated = updateAdminUser( userProperty, orgReturned);
+
+        assertEquals( "Apigee",userUpdated.getAsString( "company" ) );
+    }
+
+    private Entity updateAdminUser(Entity userProperty, Organization organization){
+        management().users().user( organization.getUsername() ).put( userProperty );
+
+        return management().users().user( organization.getUsername() ).get();
+
     }
 
 
+    /**
+     * Check that we send the reactivate email to the user after calling the reactivate endpoint.
+     * @throws Exception
+     */
     @Test
-    public void getUser() throws Exception {
+    public void reactivateTest() throws Exception {
+        //call reactivate endpoint on default user
+        clientSetup.getRestClient().management().users().user( clientSetup.getUsername() ).reactivate();
+        refreshIndex();
 
-        // set an organization property
-        HashMap<String, Object> payload = new HashMap<String, Object>();
-        Map<String, Object> properties = new HashMap<String, Object>();
-        properties.put( "securityLevel", 5 );
-        payload.put( OrganizationsResource.ORGANIZATION_PROPERTIES, properties );
-
-
-        /**
-         * Get the original org admin before we overwrite the property as a super user
-         */
-        final TestUser orgAdmin = context.getActiveUser();
-        final String orgName = context.getOrgName();
-        final String superAdminToken = superAdminToken();
-
-        TestAdminUser superAdmin = new TestAdminUser( "super", "super", "superuser@usergrid.com" );
-        superAdmin.setToken( superAdminToken );
-
-        Organization org = context.withUser( superAdmin ).management().orgs().organization( orgName );
-
-        org.put( payload );
-
-
-        //now get the org
-        JsonNode node = context.withUser( orgAdmin ).management().users().user( orgAdmin.getUser() ).get();
-
-        logNode( node );
-
-        JsonNode applications = node.findValue( "applications" );
-        assertNotNull( applications );
-        JsonNode users = node.findValue( "users" );
-        assertNotNull( users );
-
-        JsonNode securityLevel = node.findValue( "securityLevel" );
-        assertNotNull( securityLevel );
-        assertEquals( 5L, securityLevel.asLong() );
-    }
-
-
-    @Test
-    public void getUserShallow() throws Exception {
-
-
-        // set an organization property
-        HashMap<String, Object> payload = new HashMap<String, Object>();
-        Map<String, Object> properties = new HashMap<String, Object>();
-        properties.put( "securityLevel", 5 );
-        payload.put( OrganizationsResource.ORGANIZATION_PROPERTIES, properties );
-
-
-        /**
-         * Get the original org admin before we overwrite the property as a super user
-         */
-        final TestUser orgAdmin = context.getActiveUser();
-        final String orgName = context.getOrgName();
-        final String superAdminToken  = superAdminToken();
-
-        TestAdminUser superAdmin = new TestAdminUser( "super", "super", "superuser@usergrid.com" );
-        superAdmin.setToken( superAdminToken );
-
-        Organization org = context.withUser( superAdmin ).management().orgs().organization( orgName );
-
-        org.put( payload );
-
-
-        //now get the org
-        JsonNode node = context.withUser( orgAdmin ).management().users().user( orgAdmin.getUser() ).withParam(
-                "shallow", "true" ).get();
-
-        logNode( node );
-
-        JsonNode applications = node.findValue( "applications" );
-        assertNull( applications );
-        JsonNode users = node.findValue( "users" );
-        assertNull( users );
-
-        JsonNode securityLevel = node.findValue( "securityLevel" );
-        assertNotNull( securityLevel );
-        assertEquals( 5L, securityLevel.asLong() );
-    }
-
-
-    @Test
-    public void reactivateMultipleSend() throws Exception {
-
-        JsonNode node = mapper.readTree( resource().path( "/management/organizations" ).accept( MediaType.APPLICATION_JSON )
-                                                   .type( MediaType.APPLICATION_JSON_TYPE ).post( String.class, buildOrgUserPayload( "reactivate" ) ));
-
-        logNode( node );
-        String email = node.get( "data" ).get( "owner" ).get( "email" ).asText();
-        String uuid = node.get( "data" ).get( "owner" ).get( "uuid" ).asText();
-        assertNotNull( email );
-        assertEquals( "MUUserResourceIT-reactivate@apigee.com", email );
-
-        refreshIndex(context.getOrgName(), context.getAppName());
-
-        // reactivate should send activation email
-
-        node = mapper.readTree( resource().path( String.format( "/management/users/%s/reactivate", uuid ) )
-                                          .queryParam( "access_token", adminAccessToken ).accept( MediaType.APPLICATION_JSON )
-                                          .type( MediaType.APPLICATION_JSON_TYPE ).get( String.class ));
-
-        refreshIndex(context.getOrgName(), context.getAppName());
-
-        List<Message> inbox = org.jvnet.mock_javamail.Mailbox.get( email );
-
+        //Create mocked inbox and check to see if you recieved an email in the users inbox.
+        List<Message> inbox = Mailbox.get( clientSetup.getEmail());
         assertFalse( inbox.isEmpty() );
-        logNode( node );
     }
 
-
-    private Map<String, String> buildOrgUserPayload( String caller ) {
-        String className = this.getClass().getSimpleName();
-        Map<String, String> payload = hashMap( "email", String.format( "%s-%s@apigee.com", className, caller ) )
-                .map( "username", String.format( "%s-%s-user", className, caller ) )
-                .map( "name", String.format( "%s %s", className, caller ) ).map( "password", "password" )
-                .map( "organization", String.format( "%s-%s-org", className, caller ) );
-        return payload;
-    }
-
-
+    @Ignore("Test is broken due to viewables not being properly returned in the embedded tomcat")
     @Test
-    public void checkPasswordReset() throws Exception {
+    public void checkFormPasswordReset() throws Exception {
 
-        refreshIndex(context.getOrgName(), context.getAppName());
 
-        TestUser user = context.getActiveUser();
+        management().users().user( clientSetup.getUsername() ).resetpw().post(null);
 
-        String email = user.getEmail();
-        UserInfo userInfo = setup.getMgmtSvc().getAdminUserByEmail( email );
-        String resetToken = setup.getMgmtSvc().getPasswordResetTokenForAdminUser( userInfo.getUuid(), 15000 );
+        //Create mocked inbox
+        List<Message> inbox = Mailbox.get( clientSetup.getEmail() );
+        assertFalse( inbox.isEmpty() );
 
-        assertTrue( setup.getMgmtSvc().checkPasswordResetTokenForAdminUser( userInfo.getUuid(), resetToken ) );
+        MockImapClient client = new MockImapClient( "mockserver.com", "test-user-46", "somepassword" );
+        client.processMail();
 
-        refreshIndex(context.getOrgName(), context.getAppName());
+        //Get email with confirmation token and extract token
+        Message confirmation = inbox.get( 0 );
+        assertEquals( "User Account Confirmation: " + clientSetup.getEmail(), confirmation.getSubject() );
+        String token = getTokenFromMessage( confirmation );
 
         Form formData = new Form();
-        formData.add( "token", resetToken );
+        formData.add( "token", token );
         formData.add( "password1", "sesame" );
         formData.add( "password2", "sesame" );
 
-        String html = resource().path( "/management/users/" + userInfo.getUsername() + "/resetpw" )
-                                .type( MediaType.APPLICATION_FORM_URLENCODED_TYPE ).post( String.class, formData );
+        String html = management().users().user( clientSetup.getUsername() ).resetpw().post( formData );
 
         assertTrue( html.contains( "password set" ) );
 
-        refreshIndex(context.getOrgName(), context.getAppName());
+        refreshIndex();
 
-        assertFalse( setup.getMgmtSvc().checkPasswordResetTokenForAdminUser( userInfo.getUuid(), resetToken ) );
 
-        html = resource().path( "/management/users/" + userInfo.getUsername() + "/resetpw" )
-                         .type( MediaType.APPLICATION_FORM_URLENCODED_TYPE ).post( String.class, formData );
+        html = management().users().user( clientSetup.getUsername() ).resetpw().post( formData );
 
         assertTrue( html.contains( "invalid token" ) );
     }
+//
+//     TODO: will work once resetpw viewables work
+//    @Test
+//    @Ignore( "causes problems in build" )
+//    public void passwordResetIncorrectUserName() throws Exception {
+//
+//        String email = "test2@usergrid.com";
+//        setup.getMgmtSvc().createAdminUser( "test2", "test2", "test2@usergrid.com", "sesa2me", false, false );
+//        UserInfo userInfo = setup.getMgmtSvc().getAdminUserByEmail( email );
+//        String resetToken = setup.getMgmtSvc().getPasswordResetTokenForAdminUser( userInfo.getUuid(), 15000 );
+//
+//        assertTrue( setup.getMgmtSvc().checkPasswordResetTokenForAdminUser( userInfo.getUuid(), resetToken ) );
+//
+//        Form formData = new Form();
+//        formData.add( "token", resetToken );
+//        formData.add( "password1", "sesa2me" );
+//        formData.add( "password2", "sesa2me" );
+//
+//        String html = resource().path( "/management/users/" + "noodle" + userInfo.getUsername() + "/resetpw" )
+//                                .type( MediaType.APPLICATION_FORM_URLENCODED_TYPE ).post( String.class, formData );
+//
+//        assertTrue( html.contains( "Incorrect username entered" ) );
+//
+//        html = resource().path( "/management/users/" + userInfo.getUsername() + "/resetpw" )
+//                         .type( MediaType.APPLICATION_FORM_URLENCODED_TYPE ).post( String.class, formData );
+//
+//        assertTrue( html.contains( "password set" ) );
+//    }
+//
+//
 
 
-    @Test
-    @Ignore( "causes problems in build" )
-    public void passwordResetIncorrectUserName() throws Exception {
-
-        String email = "test2@usergrid.com";
-        setup.getMgmtSvc().createAdminUser( "test2", "test2", "test2@usergrid.com", "sesa2me", false, false );
-        UserInfo userInfo = setup.getMgmtSvc().getAdminUserByEmail( email );
-        String resetToken = setup.getMgmtSvc().getPasswordResetTokenForAdminUser( userInfo.getUuid(), 15000 );
-
-        assertTrue( setup.getMgmtSvc().checkPasswordResetTokenForAdminUser( userInfo.getUuid(), resetToken ) );
-
-        Form formData = new Form();
-        formData.add( "token", resetToken );
-        formData.add( "password1", "sesa2me" );
-        formData.add( "password2", "sesa2me" );
-
-        String html = resource().path( "/management/users/" + "noodle" + userInfo.getUsername() + "/resetpw" )
-                                .type( MediaType.APPLICATION_FORM_URLENCODED_TYPE ).post( String.class, formData );
-
-        assertTrue( html.contains( "Incorrect username entered" ) );
-
-        html = resource().path( "/management/users/" + userInfo.getUsername() + "/resetpw" )
-                         .type( MediaType.APPLICATION_FORM_URLENCODED_TYPE ).post( String.class, formData );
-
-        assertTrue( html.contains( "password set" ) );
-    }
-
-
+    /**
+     * Checks that the passwords are stored in the history and that older ones are overwritten.
+     * @throws Exception
+     */
     @Test
     public void checkPasswordHistoryConflict() throws Exception {
 
-        String[] passwords = new String[] { "password1", "password2", "password3", "password4" };
+        String[] passwords = new String[] { clientSetup.getPassword(), "password2" };
 
-        UserInfo user =
-                setup.getMgmtSvc().createAdminUser( "edanuff", "Ed Anuff", "ed@anuff.com", passwords[0], true, false );
-        assertNotNull( user );
-
-        refreshIndex(context.getOrgName(), context.getAppName());
-
-        OrganizationInfo organization = setup.getMgmtSvc().createOrganization( "ed-organization", user, true );
-        assertNotNull( organization );
-
-        refreshIndex(context.getOrgName(), context.getAppName());
-
-        // set history to 1
+        //set the number of old passwords stored to 1
         Map<String, Object> props = new HashMap<String, Object>();
-        props.put( OrganizationInfo.PASSWORD_HISTORY_SIZE_KEY, 1 );
-        organization.setProperties( props );
-        setup.getMgmtSvc().updateOrganization( organization );
+        props.put( "passwordHistorySize", 1 );
+        Organization orgPropertiesPayload = new Organization(  );
 
-        refreshIndex(context.getOrgName(), context.getAppName());
+        orgPropertiesPayload.put("properties", props);
 
-        UserInfo userInfo = setup.getMgmtSvc().getAdminUserByEmail( "ed@anuff.com" );
+        management().orgs().organization( clientSetup.getOrganizationName() ).put( orgPropertiesPayload );
 
-        Map<String, String> payload = hashMap( "oldpassword", passwords[0] ).map( "newpassword", passwords[0] ); // fail
+        //Creates a payload with the same password to verify we cannot change the password to itself.
+         Map<String, Object> payload = new HashMap<>(  );
+         payload.put("oldpassword",passwords[0]);
+         payload.put("newpassword",passwords[0]); //hashMap( "oldpassword", passwords[0] ).map( "newpassword", passwords[0] ); // fail
 
+        //Makes sure we can't replace a password with itself ( as it is the only one in the history )
         try {
-            JsonNode node = mapper.readTree( resource().path( "/management/users/edanuff/password" )
-                                                       .accept( MediaType.APPLICATION_JSON )
-                                                       .type( MediaType.APPLICATION_JSON_TYPE ).post( String.class, payload ));
+            management().users().user( clientSetup.getUsername() ).password().post( payload );
+
             fail( "should fail with conflict" );
         }
         catch ( UniformInterfaceException e ) {
             assertEquals( 409, e.getResponse().getStatus() );
         }
 
-        payload.put( "newpassword", passwords[1] ); // ok
-        JsonNode node = mapper.readTree( resource().path( "/management/users/edanuff/password" )
-                                                   .accept( MediaType.APPLICATION_JSON )
-                                                   .type( MediaType.APPLICATION_JSON_TYPE ).post( String.class, payload ));
+        //Change the password
+        payload.put( "newpassword", passwords[1] );
+        management().users().user( clientSetup.getUsername() ).password().post( payload );
+
+        refreshIndex();
+
+        payload.put( "newpassword", passwords[0] );
         payload.put( "oldpassword", passwords[1] );
 
-        refreshIndex(context.getOrgName(), context.getAppName());
-
-        payload.put( "newpassword", passwords[0] ); // fail
+        //Make sure that we can't change the password with itself using a different entry in the history.
         try {
-            node = mapper.readTree( resource().path( "/management/users/edanuff/password" )
-                                              .accept( MediaType.APPLICATION_JSON )
-                                              .type( MediaType.APPLICATION_JSON_TYPE ).post( String.class, payload ));
+            management().users().user( clientSetup.getUsername() ).password().post( payload );
+
             fail( "should fail with conflict" );
         }
         catch ( UniformInterfaceException e ) {
@@ -694,108 +529,168 @@
         }
     }
 
+      //TODO: won't work until resetpw viewables are fixed in the embedded environment.
+//    @Test
+//    public void checkPasswordChangeTime() throws Exception {
+//
+//        final TestUser user = context.getActiveUser();
+//        String email = user.getEmail();
+//        UserInfo userInfo = setup.getMgmtSvc().getAdminUserByEmail( email );
+//        String resetToken = setup.getMgmtSvc().getPasswordResetTokenForAdminUser( userInfo.getUuid(), 15000 );
+//
+//        refreshIndex(context.getOrgName(), context.getAppName());
+//
+//        Form formData = new Form();
+//        formData.add( "token", resetToken );
+//        formData.add( "password1", "sesame" );
+//        formData.add( "password2", "sesame" );
+//
+//        String html = resource().path( "/management/users/" + userInfo.getUsername() + "/resetpw" )
+//                                .type( MediaType.APPLICATION_FORM_URLENCODED_TYPE ).post( String.class, formData );
+//        assertTrue( html.contains( "password set" ) );
+//
+//        refreshIndex(context.getOrgName(), context.getAppName());
+//
+//        JsonNode node = mapper.readTree( resource().path( "/management/token" )
+//                                                   .queryParam( "grant_type", "password" )
+//                                                   .queryParam( "username", email ).queryParam( "password", "sesame" )
+//                                                   .accept( MediaType.APPLICATION_JSON )
+//                                                   .get( String.class ));
+//
+//        Long changeTime = node.get( "passwordChanged" ).longValue();
+//        assertTrue( System.currentTimeMillis() - changeTime < 2000 );
+//
+//        Map<String, String> payload = hashMap( "oldpassword", "sesame" ).map( "newpassword", "test" );
+//        node = mapper.readTree( resource().path( "/management/users/" + userInfo.getUsername() + "/password" )
+//                                          .accept( MediaType.APPLICATION_JSON ).type( MediaType.APPLICATION_JSON_TYPE )
+//                                          .post( String.class, payload ));
+//
+//        refreshIndex(context.getOrgName(), context.getAppName());
+//
+//        node = mapper.readTree( resource().path( "/management/token" )
+//                                          .queryParam( "grant_type", "password" )
+//                                          .queryParam( "username", email )
+//                                          .queryParam( "password", "test" )
+//                                          .accept( MediaType.APPLICATION_JSON )
+//                                          .get( String.class ));
+//
+//        Long changeTime2 = node.get( "passwordChanged" ).longValue();
+//        assertTrue( changeTime < changeTime2 );
+//        assertTrue( System.currentTimeMillis() - changeTime2 < 2000 );
+//
+//        node = mapper.readTree( resource().path( "/management/me" ).queryParam( "grant_type", "password" )
+//                                          .queryParam( "username", email ).queryParam( "password", "test" ).accept( MediaType.APPLICATION_JSON )
+//                                          .get( String.class ));
+//
+//        Long changeTime3 = node.get( "passwordChanged" ).longValue();
+//        assertEquals( changeTime2, changeTime3 );
+//    }
+//
+//
 
+
+    /**
+     * Make sure we can list the org admin users by name.
+      */
     @Test
-    public void checkPasswordChangeTime() throws Exception {
-
-        final TestUser user = context.getActiveUser();
-        String email = user.getEmail();
-        UserInfo userInfo = setup.getMgmtSvc().getAdminUserByEmail( email );
-        String resetToken = setup.getMgmtSvc().getPasswordResetTokenForAdminUser( userInfo.getUuid(), 15000 );
-
-        refreshIndex(context.getOrgName(), context.getAppName());
-
-        Form formData = new Form();
-        formData.add( "token", resetToken );
-        formData.add( "password1", "sesame" );
-        formData.add( "password2", "sesame" );
-
-        String html = resource().path( "/management/users/" + userInfo.getUsername() + "/resetpw" )
-                                .type( MediaType.APPLICATION_FORM_URLENCODED_TYPE ).post( String.class, formData );
-        assertTrue( html.contains( "password set" ) );
-
-        refreshIndex(context.getOrgName(), context.getAppName());
-
-        JsonNode node = mapper.readTree( resource().path( "/management/token" )
-                                                   .queryParam( "grant_type", "password" )
-                                                   .queryParam( "username", email ).queryParam( "password", "sesame" )
-                                                   .accept( MediaType.APPLICATION_JSON )
-                                                   .get( String.class ));
-
-        Long changeTime = node.get( "passwordChanged" ).longValue();
-        assertTrue( System.currentTimeMillis() - changeTime < 2000 );
-
-        Map<String, String> payload = hashMap( "oldpassword", "sesame" ).map( "newpassword", "test" );
-        node = mapper.readTree( resource().path( "/management/users/" + userInfo.getUsername() + "/password" )
-                                          .accept( MediaType.APPLICATION_JSON ).type( MediaType.APPLICATION_JSON_TYPE )
-                                          .post( String.class, payload ));
-
-        refreshIndex(context.getOrgName(), context.getAppName());
-
-        node = mapper.readTree( resource().path( "/management/token" )
-                                          .queryParam( "grant_type", "password" )
-                                          .queryParam( "username", email )
-                                          .queryParam( "password", "test" )
-                                          .accept( MediaType.APPLICATION_JSON )
-                                          .get( String.class ));
-
-        Long changeTime2 = node.get( "passwordChanged" ).longValue();
-        assertTrue( changeTime < changeTime2 );
-        assertTrue( System.currentTimeMillis() - changeTime2 < 2000 );
-
-        node = mapper.readTree( resource().path( "/management/me" ).queryParam( "grant_type", "password" )
-                                          .queryParam( "username", email ).queryParam( "password", "test" ).accept( MediaType.APPLICATION_JSON )
-                                          .get( String.class ));
-
-        Long changeTime3 = node.get( "passwordChanged" ).longValue();
-        assertEquals( changeTime2, changeTime3 );
-    }
-
-
-    /** USERGRID-1960 */
-    @Test
-    @Ignore( "Depends on other tests" )
     public void listOrgUsersByName() {
-        JsonNode response = context.management().orgs().organization( context.getOrgName() ).users().get();
 
-        //get the response and verify our user is there
-        JsonNode adminNode = response.get( "data" ).get( 0 );
-        assertEquals( context.getActiveUser().getEmail(), adminNode.get( "email" ).asText() );
-        assertEquals( context.getActiveUser().getUser(), adminNode.get( "username" ).asText() );
+        Entity adminUserPayload = new Entity();
+        String username = "listOrgUsersByName"+UUIDUtils.newTimeUUID();
+        adminUserPayload.put( "username", username );
+        adminUserPayload.put( "name", username );
+        adminUserPayload.put( "email", username+"@usergrid.com" );
+        adminUserPayload.put( "password", username );
+
+        //post new admin user besides the default
+        management().orgs().organization( clientSetup.getOrganizationName() ).users().post( adminUserPayload );
+
+        refreshIndex();
+
+        //Retrieves the admin users
+        Entity adminUsers = management().orgs().organization( clientSetup.getOrganizationName() ).users().get();
+
+        assertEquals("There need to be 2 admin users",2,( ( ArrayList ) adminUsers.getResponse().getData() ).size());
+
     }
 
+
+    /**
+     * Makes sure you can't create a already existing organization from a user connection.
+     * @throws Exception
+     */
+    //TODO: figure out what is the expected behavior from this test. While it fails it is not sure what it should return
     @Test
     public void createOrgFromUserConnectionFail() throws Exception {
 
-
-        Map<String, String> payload = hashMap( "email", "orgfromuserconn@apigee.com" ).map( "password", "password" )
-                                                                                      .map( "organization", "orgfromuserconn" );
-
-        JsonNode node = mapper.readTree( resource().path( "/management/organizations" ).accept( MediaType.APPLICATION_JSON )
-                                                   .type( MediaType.APPLICATION_JSON_TYPE ).post( String.class, payload ));
-
-        String userId = node.get( "data" ).get( "owner" ).get( "uuid" ).asText();
-
-        assertNotNull( node );
-
-        String token = mgmtToken( "orgfromuserconn@apigee.com", "password" );
-
-        node = mapper.readTree( resource().path( String.format( "/management/users/%s/", userId ) ).queryParam( "access_token", token )
-                                          .type( MediaType.APPLICATION_JSON_TYPE ).get( String.class ));
-
-        logNode( node );
-
-        payload = hashMap( "organization", "Orgfromuserconn" );
-
+        Token token = management().token().post( new Token( clientSetup.getUsername(),clientSetup.getPassword() ) );
         // try to create the same org again off the connection
         try {
-            node = mapper.readTree( resource().path( String.format( "/management/users/%s/organizations", userId ) )
-                                              .queryParam( "access_token", token ).accept( MediaType.APPLICATION_JSON )
-                                              .type( MediaType.APPLICATION_JSON_TYPE ).post( String.class, payload ));
+            management().users().user( clientSetup.getUsername() ).organizations().post( clientSetup.getOrganization(),token );
+
             fail( "Should have thrown unique exception on org name" );
         }
-        catch ( Exception ex ) {
+        catch ( UniformInterfaceException uie ) {
+            assertEquals(500,uie.getResponse().getStatus());
         }
     }
 
+    @Test
+    public void testProperties(){
+        ApiResponse originalTestPropertiesResponse = clientSetup.getRestClient().testPropertiesResource().get();
+        Entity originalTestProperties = new Entity( originalTestPropertiesResponse );
+        try {
+            //Set runtime enviroment to the following settings
+            Map<String, Object> testPropertiesMap = new HashMap<>();
+
+            testPropertiesMap.put( PROPERTIES_SYSADMIN_APPROVES_ADMIN_USERS, "false" );
+            testPropertiesMap.put( PROPERTIES_SYSADMIN_APPROVES_ORGANIZATIONS, "false" );
+            //Requires admins to do email confirmation before they can log in.
+            testPropertiesMap.put( PROPERTIES_ADMIN_USERS_REQUIRE_CONFIRMATION, "true" );
+            testPropertiesMap.put( PROPERTIES_SYSADMIN_EMAIL, "sysadmin-1@mockserver.com" );
+
+            Entity testPropertiesPayload = new Entity( testPropertiesMap );
+
+            //Send rest call to the /testProperties endpoint to persist property changes
+            clientSetup.getRestClient().testPropertiesResource().post( testPropertiesPayload );
+
+            refreshIndex();
+
+            //Retrieve properties and ensure that they are set correctly.
+            ApiResponse apiResponse = clientSetup.getRestClient().testPropertiesResource().get();
+
+            assertEquals( "sysadmin-1@mockserver.com", apiResponse.getProperties().get( PROPERTIES_SYSADMIN_EMAIL ) );
+            assertEquals( "true", apiResponse.getProperties().get( PROPERTIES_ADMIN_USERS_REQUIRE_CONFIRMATION ) );
+            assertEquals( "false", apiResponse.getProperties().get( PROPERTIES_SYSADMIN_APPROVES_ORGANIZATIONS ) );
+            assertEquals( "false", apiResponse.getProperties().get( PROPERTIES_SYSADMIN_APPROVES_ADMIN_USERS ) );
+        }finally{
+            clientSetup.getRestClient().testPropertiesResource().post( originalTestProperties);
+        }
+    }
+
+    /**
+     * Create an organization payload with almost the same value for every field.
+     * @param baseName
+     * @param properties
+     * @return
+     */
+    public Organization createOrgPayload(String baseName,Map properties){
+        String orgName = baseName + org.apache.usergrid.persistence.index.utils.UUIDUtils.newTimeUUID();
+        return new Organization( orgName,
+            orgName,orgName+"@usergrid",orgName,orgName, properties);
+    }
+
+
+    /**
+     * Extract token from mocked inbox message.
+     * @param msg
+     * @return
+     * @throws IOException
+     * @throws MessagingException
+     */
+    private String getTokenFromMessage( Message msg ) throws IOException, MessagingException {
+        String body = ( ( MimeMultipart ) msg.getContent() ).getBodyPart( 0 ).getContent().toString();
+        return StringUtils.substringAfterLast( body, "token=" );
+    }
+
 }
diff --git a/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/ClientSetup.java b/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/ClientSetup.java
index f564eab..3455744 100644
--- a/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/ClientSetup.java
+++ b/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/ClientSetup.java
@@ -41,8 +41,15 @@
 public class ClientSetup implements TestRule {
 
     RestClient restClient;
-    //TODO: store the password as a string here as well
-    protected String username, orgName, appName;
+
+    protected String username;
+    protected String password;
+    protected String orgName;
+    protected String appName;
+    protected Token superuserToken;
+    protected String superuserName = "superuser";
+    protected String superuserPassword = "superpassword";
+
     protected Organization organization;
     protected Application application;
 
@@ -83,7 +90,11 @@
         String methodName = description.getMethodName();
         String name = testClass + "." + methodName;
 
+        restClient.superuserSetup();
+        superuserToken = restClient.management().token().post( new Token( superuserName, superuserPassword ) );
+
         username = "user_"+name + UUIDUtils.newTimeUUID();
+        password = username;
         orgName = "org_"+name+UUIDUtils.newTimeUUID();
         appName = "app_"+name+UUIDUtils.newTimeUUID();
 
@@ -97,12 +108,28 @@
 
     public String getUsername(){return username;}
 
+    public String getEmail(){return username+"@usergrid.com";}
+
+    public String getPassword(){return password;}
+
     public Organization getOrganization(){return organization;}
 
     public String getOrganizationName(){return orgName;}
 
     public String getAppName() {return appName;}
 
+    public Token getSuperuserToken() {
+        return superuserToken;
+    }
+
+    public String getSuperuserName() {
+        return superuserName;
+    }
+
+    public String getSuperuserPassword() {
+        return superuserPassword;
+    }
+
     public void refreshIndex() {
         this.restClient.refreshIndex(getOrganizationName(),getAppName());
     }
diff --git a/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/RestClient.java b/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/RestClient.java
index ebd1e35..ed7057f 100644
--- a/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/RestClient.java
+++ b/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/RestClient.java
@@ -16,16 +16,19 @@
  */
 package org.apache.usergrid.rest.test.resource2point0;
 
+import org.apache.usergrid.rest.test.resource2point0.endpoints.SystemResource;
 import org.apache.usergrid.rest.test.resource2point0.endpoints.TokenResource;
 import org.apache.usergrid.rest.test.resource2point0.endpoints.mgmt.ManagementResource;
 import org.apache.usergrid.rest.test.resource2point0.endpoints.OrganizationResource;
 import org.apache.usergrid.rest.test.resource2point0.endpoints.UrlResource;
 import org.apache.usergrid.rest.test.resource2point0.state.ClientContext;
 
+import com.fasterxml.jackson.databind.JsonNode;
 import com.sun.jersey.api.client.Client;
 import com.sun.jersey.api.client.WebResource;
 import com.sun.jersey.api.client.config.ClientConfig;
 import com.sun.jersey.api.client.config.DefaultClientConfig;
+import com.sun.jersey.api.client.filter.HTTPBasicAuthFilter;
 
 import javax.ws.rs.core.MediaType;
 
@@ -72,7 +75,13 @@
         return context;
     }
 
+    public SystemResource system() {
+        return new SystemResource(context, this);
+    }
 
+    public TestPropertiesResource testPropertiesResource() {
+        return new TestPropertiesResource( context, this );
+    }
     /**
      * Get the management resource
      */
@@ -99,6 +108,15 @@
                 .accept( MediaType.APPLICATION_JSON ).post();
     }
 
+    public void superuserSetup() {
+        //TODO: change this when we upgrade to new version of jersey
+        HTTPBasicAuthFilter httpBasicAuthFilter = new HTTPBasicAuthFilter( "superuser","superpassword" );
+        client.addFilter( httpBasicAuthFilter );
+
+        this.getResource().path( "system/superuser/setup" )
+            .accept( MediaType.APPLICATION_JSON ).type( MediaType.APPLICATION_JSON ).get( JsonNode.class );
+    }
+
     //todo:fix this method for the client.
 //    public void loginAdminUser( final String username, final String password ) {
 //        //Post isn't implemented yet, but using the method below we should be able to get a superuser password as well.
diff --git a/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/TestPropertiesResource.java b/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/TestPropertiesResource.java
new file mode 100644
index 0000000..2650c29
--- /dev/null
+++ b/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/TestPropertiesResource.java
@@ -0,0 +1,47 @@
+/*
+ * 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.usergrid.rest.test.resource2point0;
+
+
+import javax.ws.rs.core.MediaType;
+
+import org.apache.usergrid.rest.test.resource2point0.endpoints.NamedResource;
+import org.apache.usergrid.rest.test.resource2point0.endpoints.UrlResource;
+import org.apache.usergrid.rest.test.resource2point0.model.ApiResponse;
+import org.apache.usergrid.rest.test.resource2point0.model.Entity;
+import org.apache.usergrid.rest.test.resource2point0.state.ClientContext;
+
+
+/**
+ *Adds support for changing the management properties in the rest testing framework.
+ */
+public class TestPropertiesResource extends NamedResource {
+    public TestPropertiesResource( final ClientContext context, final UrlResource parent ) {
+        super( "testproperties", context, parent );
+    }
+
+    public ApiResponse post(Entity testProperties){
+
+        return getResource(true).type( MediaType.APPLICATION_JSON_TYPE )
+                            .accept( MediaType.APPLICATION_JSON ).post( ApiResponse.class, testProperties );
+    }
+
+    public ApiResponse get(){
+        return getResource(true).type( MediaType.APPLICATION_JSON_TYPE )
+                       .accept( MediaType.APPLICATION_JSON ).get(ApiResponse.class );
+    }
+}
diff --git a/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/DatabaseResource.java b/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/DatabaseResource.java
new file mode 100644
index 0000000..7ed31ac
--- /dev/null
+++ b/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/DatabaseResource.java
@@ -0,0 +1,39 @@
+/*
+ * 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.usergrid.rest.test.resource2point0.endpoints;
+
+
+import javax.ws.rs.core.MediaType;
+
+import org.apache.usergrid.persistence.cassandra.Setup;
+import org.apache.usergrid.rest.test.resource2point0.model.Entity;
+import org.apache.usergrid.rest.test.resource2point0.state.ClientContext;
+
+
+/**
+ * Contains methods pertaining to system/database/*
+ */
+public class DatabaseResource extends NamedResource {
+
+    public DatabaseResource( final ClientContext context, final UrlResource parent ) {
+        super( "database", context, parent );
+    }
+
+    public SetupResource setup(){
+        return new SetupResource (context, this);
+    }
+}
diff --git a/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/SetupResource.java b/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/SetupResource.java
new file mode 100644
index 0000000..1639ce5
--- /dev/null
+++ b/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/SetupResource.java
@@ -0,0 +1,46 @@
+/*
+ * 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.usergrid.rest.test.resource2point0.endpoints;
+
+
+import javax.ws.rs.core.MediaType;
+
+import org.apache.usergrid.rest.test.resource2point0.model.Entity;
+import org.apache.usergrid.rest.test.resource2point0.model.QueryParameters;
+import org.apache.usergrid.rest.test.resource2point0.model.Token;
+import org.apache.usergrid.rest.test.resource2point0.state.ClientContext;
+
+import com.sun.jersey.api.client.WebResource;
+
+
+/**
+ * Functions as the endpoint for all resources that hit /system/ * /setup
+ */
+public class SetupResource extends NamedResource {
+
+    public SetupResource( final ClientContext context, final UrlResource parent ) {
+        super("setup",context,parent);
+    }
+
+    public Entity get(QueryParameters queryParameters){
+        WebResource resource = getResource();
+        resource = addParametersToResource( resource, queryParameters );
+
+        return resource.type( MediaType.APPLICATION_JSON_TYPE ).accept( MediaType.APPLICATION_JSON )
+                                .get( Entity.class );
+    }
+}
diff --git a/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/SystemResource.java b/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/SystemResource.java
new file mode 100644
index 0000000..e2bff1f
--- /dev/null
+++ b/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/SystemResource.java
@@ -0,0 +1,36 @@
+/*
+ * 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.usergrid.rest.test.resource2point0.endpoints;
+
+
+import org.apache.usergrid.rest.test.resource2point0.state.ClientContext;
+
+
+/**
+ * Handles making rest calls to system resources.
+ */
+public class SystemResource extends NamedResource {
+
+    public SystemResource(final ClientContext context, final UrlResource parent ) {
+        super( "system",context, parent );
+    }
+
+    public DatabaseResource database() {
+        return new DatabaseResource(context, this);
+    }
+}
diff --git a/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/mgmt/ConfirmResource.java b/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/mgmt/ConfirmResource.java
new file mode 100644
index 0000000..5692dfe
--- /dev/null
+++ b/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/mgmt/ConfirmResource.java
@@ -0,0 +1,46 @@
+/*
+ * 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.usergrid.rest.test.resource2point0.endpoints.mgmt;
+
+
+import javax.ws.rs.core.MediaType;
+
+import org.apache.usergrid.rest.test.resource2point0.endpoints.NamedResource;
+import org.apache.usergrid.rest.test.resource2point0.endpoints.UrlResource;
+import org.apache.usergrid.rest.test.resource2point0.model.ApiResponse;
+import org.apache.usergrid.rest.test.resource2point0.model.QueryParameters;
+import org.apache.usergrid.rest.test.resource2point0.state.ClientContext;
+
+import com.sun.jersey.api.client.WebResource;
+
+
+/**
+ * For confirming users
+ */
+public class ConfirmResource extends NamedResource {
+    public ConfirmResource( final ClientContext context, final UrlResource parent ) {
+        super( "confirm", context, parent );
+    }
+
+    public void get(QueryParameters queryParameters){
+        WebResource resource = getResource();
+        resource = addParametersToResource( resource, queryParameters );
+        String obj = resource.type( MediaType.TEXT_HTML_TYPE )
+                                       .accept( MediaType.TEXT_HTML).get( String.class );
+
+    }
+}
diff --git a/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/mgmt/FeedResource.java b/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/mgmt/FeedResource.java
new file mode 100644
index 0000000..5b95aa5
--- /dev/null
+++ b/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/mgmt/FeedResource.java
@@ -0,0 +1,48 @@
+/*
+ *
+ *  * Licensed to the Apache Software Foundation (ASF) under one or more
+ *  *  contributor license agreements.  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.  For additional information regarding
+ *  * copyright in this work, please see the NOTICE file in the top level
+ *  * directory of this distribution.
+ *
+ */
+
+package org.apache.usergrid.rest.test.resource2point0.endpoints.mgmt;
+
+
+import javax.ws.rs.core.MediaType;
+
+import org.apache.usergrid.rest.test.resource2point0.endpoints.NamedResource;
+import org.apache.usergrid.rest.test.resource2point0.endpoints.UrlResource;
+import org.apache.usergrid.rest.test.resource2point0.model.ApiResponse;
+import org.apache.usergrid.rest.test.resource2point0.model.Entity;
+import org.apache.usergrid.rest.test.resource2point0.state.ClientContext;
+
+
+/**
+ * Contains the REST methods to interacting with the ManagementEndpoints
+ * and the user feeds
+ */
+public class FeedResource extends NamedResource {
+    public FeedResource(final ClientContext context, final UrlResource parent) {
+        super ( "feed",context, parent);
+    }
+
+    public Entity get() {
+        return getResource( true ).type( MediaType.APPLICATION_JSON_TYPE )
+            .accept( MediaType.APPLICATION_JSON ).get( Entity.class);
+
+
+    }
+}
diff --git a/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/mgmt/OrgResource.java b/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/mgmt/OrgResource.java
index 1a940bd..2786cb0 100644
--- a/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/mgmt/OrgResource.java
+++ b/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/mgmt/OrgResource.java
@@ -25,6 +25,7 @@
 import org.apache.usergrid.rest.test.resource2point0.model.ApiResponse;
 import org.apache.usergrid.rest.test.resource2point0.model.Organization;
 import org.apache.usergrid.rest.test.resource2point0.model.QueryParameters;
+import org.apache.usergrid.rest.test.resource2point0.model.Token;
 import org.apache.usergrid.rest.test.resource2point0.model.User;
 import org.apache.usergrid.rest.test.resource2point0.state.ClientContext;
 
@@ -46,7 +47,7 @@
     private static final Logger logger = LoggerFactory.getLogger(OrgResource.class);
 
     public OrgResource( final ClientContext context, final UrlResource parent ) {
-        super( "orgs", context, parent );
+        super( "organizations", context, parent );
     }
 
 
@@ -121,6 +122,15 @@
 
         return org;
     }
+    public Organization post(Organization organization, Token token){
+        ApiResponse response = getResource(true,token).type( MediaType.APPLICATION_JSON_TYPE ).accept( MediaType.APPLICATION_JSON )
+                                            .post( ApiResponse.class,organization );
+
+        Organization org = new Organization(response);
+        org.setOwner( response );
+
+        return org;
+    }
 
     public Organization put(Organization organization){
 
diff --git a/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/mgmt/PasswordResource.java b/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/mgmt/PasswordResource.java
new file mode 100644
index 0000000..c901022
--- /dev/null
+++ b/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/mgmt/PasswordResource.java
@@ -0,0 +1,61 @@
+/*
+ * 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.usergrid.rest.test.resource2point0.endpoints.mgmt;
+
+
+import java.util.Map;
+
+import javax.ws.rs.core.MediaType;
+
+import org.apache.usergrid.rest.test.resource2point0.endpoints.NamedResource;
+import org.apache.usergrid.rest.test.resource2point0.endpoints.UrlResource;
+import org.apache.usergrid.rest.test.resource2point0.model.ApiResponse;
+import org.apache.usergrid.rest.test.resource2point0.model.Entity;
+import org.apache.usergrid.rest.test.resource2point0.model.Token;
+import org.apache.usergrid.rest.test.resource2point0.state.ClientContext;
+
+import com.sun.jersey.api.client.WebResource;
+
+
+/**
+ * Relations to the following endpoint
+ * /management/users/"username"/password
+ * Allows admin users to change their passwords
+ */
+public class PasswordResource extends NamedResource {
+
+    public PasswordResource( final ClientContext context, final UrlResource parent ) {
+        super( "password", context, parent );
+    }
+
+    public Entity post(Token token, Map<String,Object> payload){
+        WebResource resource;
+
+        if(token != null) {
+            resource = getResource( true, token );
+        }
+        else
+            resource = getResource( true );
+
+        return resource.type( MediaType.APPLICATION_JSON_TYPE )
+                       .accept( MediaType.APPLICATION_JSON ).post( Entity.class, payload );
+    }
+
+    public Entity post(Map<String, Object> payload){
+        return post( null, payload );
+    }
+}
diff --git a/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/mgmt/ReactivateResource.java b/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/mgmt/ReactivateResource.java
new file mode 100644
index 0000000..25dc95e
--- /dev/null
+++ b/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/mgmt/ReactivateResource.java
@@ -0,0 +1,46 @@
+/*
+ * 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.usergrid.rest.test.resource2point0.endpoints.mgmt;
+
+
+import javax.ws.rs.core.MediaType;
+
+import org.apache.usergrid.rest.test.resource2point0.endpoints.NamedResource;
+import org.apache.usergrid.rest.test.resource2point0.endpoints.UrlResource;
+import org.apache.usergrid.rest.test.resource2point0.model.ApiResponse;
+import org.apache.usergrid.rest.test.resource2point0.model.Entity;
+import org.apache.usergrid.rest.test.resource2point0.state.ClientContext;
+
+import com.sun.jersey.api.client.WebResource;
+
+
+/**
+ * handles the * /reactivate endpoints
+ */
+public class ReactivateResource extends NamedResource {
+    public ReactivateResource(final ClientContext context, final UrlResource parent) {
+        super("reactivate",context, parent);
+    }
+
+    public Entity get(){
+        WebResource resource = getResource(true);
+        ApiResponse response = resource.type( MediaType.APPLICATION_JSON_TYPE )
+                                       .accept( MediaType.APPLICATION_JSON ).get( ApiResponse.class);
+        return new Entity(response);
+    }
+}
diff --git a/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/mgmt/ResetResource.java b/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/mgmt/ResetResource.java
new file mode 100644
index 0000000..17a3a39
--- /dev/null
+++ b/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/mgmt/ResetResource.java
@@ -0,0 +1,42 @@
+/*
+ * 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.usergrid.rest.test.resource2point0.endpoints.mgmt;
+
+
+import javax.ws.rs.core.MediaType;
+
+import org.apache.usergrid.rest.test.resource2point0.endpoints.NamedResource;
+import org.apache.usergrid.rest.test.resource2point0.endpoints.UrlResource;
+import org.apache.usergrid.rest.test.resource2point0.state.ClientContext;
+
+import com.sun.jersey.api.representation.Form;
+
+
+/**
+ * Handles /resetpw endpoints for the user resource.
+ */
+public class ResetResource extends NamedResource {
+
+    public ResetResource( final ClientContext context, final UrlResource parent ) {
+        super( "resetpw", context, parent );
+    }
+
+    public String post(Form formPayload) {
+        return getResource().type( MediaType.APPLICATION_FORM_URLENCODED_TYPE )
+            .accept( MediaType.TEXT_HTML ).post( String.class, formPayload);
+    }
+}
diff --git a/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/mgmt/TokenResource.java b/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/mgmt/TokenResource.java
index ca90ab1..cb4d286 100644
--- a/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/mgmt/TokenResource.java
+++ b/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/mgmt/TokenResource.java
@@ -53,11 +53,11 @@
      *
      * @return
      */
-    public Token post(QueryParameters params) {
+    public Token get(QueryParameters params) {
         WebResource resource = getResource();
         resource = addParametersToResource(resource, params);
         Token token = resource.type(MediaType.APPLICATION_JSON_TYPE).accept(MediaType.APPLICATION_JSON)
-            .get(Token.class);
+                              .get(Token.class);
 
         this.context.setToken(token);
         return token;
diff --git a/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/mgmt/UserResource.java b/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/mgmt/UserResource.java
new file mode 100644
index 0000000..9af23ce
--- /dev/null
+++ b/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/mgmt/UserResource.java
@@ -0,0 +1,80 @@
+/*
+ * 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.usergrid.rest.test.resource2point0.endpoints.mgmt;
+
+import javax.ws.rs.core.MediaType;
+
+import org.apache.usergrid.rest.test.resource2point0.endpoints.NamedResource;
+import org.apache.usergrid.rest.test.resource2point0.endpoints.UrlResource;
+import org.apache.usergrid.rest.test.resource2point0.model.ApiResponse;
+import org.apache.usergrid.rest.test.resource2point0.model.Entity;
+import org.apache.usergrid.rest.test.resource2point0.state.ClientContext;
+
+import com.sun.jersey.api.client.WebResource;
+
+
+/**
+ * Relations to the following endpoint
+ * /management/users/"username"
+ * Store endpoints relating to specific users
+ */
+public class UserResource extends NamedResource {
+
+    public UserResource( final String name, final ClientContext context, final UrlResource parent ) {
+        super( name, context, parent );
+    }
+
+    public ReactivateResource reactivate() {
+        return new ReactivateResource( context, this );
+    }
+
+    public ConfirmResource confirm() {
+        return new ConfirmResource(context,this);
+    }
+
+    public PasswordResource password() {
+        return new PasswordResource( context, this );
+    }
+
+    public FeedResource feed() {
+        return new FeedResource( context, this );
+    }
+
+    public ResetResource resetpw() {
+        return new ResetResource(context,this);
+    }
+
+    public OrgResource organizations() {
+        return new OrgResource( context, this );
+    }
+
+    public Entity get() {
+        WebResource resource = getResource( true );
+        ApiResponse response = resource.type( MediaType.APPLICATION_JSON_TYPE )
+                                       .accept( MediaType.APPLICATION_JSON ).get( ApiResponse.class );
+        return new Entity(response);
+    }
+
+    public Entity put(Entity userPayload){
+        WebResource resource = getResource(true);
+
+        ApiResponse response = resource.type( MediaType.APPLICATION_JSON_TYPE )
+                                       .accept( MediaType.APPLICATION_JSON ).put( ApiResponse.class, userPayload);
+        return new Entity(response);
+    }
+
+}
diff --git a/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/mgmt/UsersResource.java b/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/mgmt/UsersResource.java
index df3f3c1..e62d5aa 100644
--- a/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/mgmt/UsersResource.java
+++ b/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/mgmt/UsersResource.java
@@ -50,12 +50,23 @@
         return new EntityEndpoint(identifier, context, this);
     }
 
+    public UserResource user(String identifier) {
+        return new UserResource( identifier, context, this );
+    }
+
     public Entity post(Entity userPayload){
         WebResource resource = getResource(true);
-//TODO: need to parse the specific response gotten for admin entities. It is different from regular entities.
+
         ApiResponse response = resource.type( MediaType.APPLICATION_JSON_TYPE )
                 .accept( MediaType.APPLICATION_JSON ).post( ApiResponse.class, userPayload);
         return new Entity(response);
     }
 
+    public Entity get() {
+        WebResource resource = getResource(true);
+
+        ApiResponse response = resource.type( MediaType.APPLICATION_JSON_TYPE )
+                                       .accept( MediaType.APPLICATION_JSON ).get( ApiResponse.class);
+        return new Entity(response);
+    }
 }
diff --git a/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/model/Credentials.java b/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/model/Credentials.java
index 5494be5..57f85b1 100644
--- a/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/model/Credentials.java
+++ b/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/model/Credentials.java
@@ -38,10 +38,10 @@
     }
 
     public String getClientSecret() {
-        return (String) get("secret");
+        return (String) get("client_secret");
     }
 
     public String getClientId() {
-        return (String) get("id");
+        return (String) get("client_id");
     }
 }
diff --git a/stack/rest/src/test/resources/usergrid-custom-test.properties b/stack/rest/src/test/resources/usergrid-custom-test.properties
index 5f7f318..d726f2b 100644
--- a/stack/rest/src/test/resources/usergrid-custom-test.properties
+++ b/stack/rest/src/test/resources/usergrid-custom-test.properties
@@ -36,3 +36,9 @@
 swagger.basepath=http://sometestvalue
 
 usergrid.notifications.listener.run=false
+
+usergrid.sysadmin.login.name=superuser
+usergrid.sysadmin.login.email=superuser@usergrid.com
+usergrid.sysadmin.login.password=superpassword
+usergrid.sysadmin.login.allowed=true
+
diff --git a/stack/services/src/main/java/org/apache/usergrid/management/cassandra/ManagementServiceImpl.java b/stack/services/src/main/java/org/apache/usergrid/management/cassandra/ManagementServiceImpl.java
index c44a712..35ed091 100644
--- a/stack/services/src/main/java/org/apache/usergrid/management/cassandra/ManagementServiceImpl.java
+++ b/stack/services/src/main/java/org/apache/usergrid/management/cassandra/ManagementServiceImpl.java
@@ -57,6 +57,7 @@
 import org.apache.usergrid.persistence.EntityManager;
 import org.apache.usergrid.persistence.EntityManagerFactory;
 import org.apache.usergrid.persistence.EntityRef;
+import org.apache.usergrid.persistence.exceptions.ApplicationAlreadyExistsException;
 import org.apache.usergrid.persistence.index.query.Identifier;
 import org.apache.usergrid.persistence.PagingResultsIterator;
 import org.apache.usergrid.persistence.Results;
@@ -310,7 +311,11 @@
             }
 
             if ( !getApplicationsForOrganization( organization.getUuid() ).containsValue( test_app_name ) ) {
-                createApplication( organization.getUuid(), test_app_name );
+                try {
+                    createApplication( organization.getUuid(), test_app_name );
+                }catch(ApplicationAlreadyExistsException aaee){
+                    logger.debug("The database setup already found an existing application");
+                }
             }
         }
         else {