dependency-check

Copyright (c) 2012-2013 Jeremy Long. All Rights Reserved.

The licenses for the software listed below can be found in the META-INF/licenses/[dependency name].

This product includes software developed by The Apache Software Foundation (http://www.apache.org/).

This product includes software developed by Jquery.com (http://jquery.com/).

This product includes software developed by Jonathan Hedley (jsoup.org)

This software contains unmodified binary redistributions for H2 database engine (http://www.h2database.com/), which is dual licensed and available under a modified version of the MPL 1.1 (Mozilla Public License) or under the (unmodified) EPL 1.0 (Eclipse Public License).
An original copy of the license agreement can be found at: http://www.h2database.com/html/license.html

This product includes data from the Common Weakness Enumeration (CWE): http://cwe.mitre.org/

This product downloads and utilizes data from the National Vulnerability Database hosted by NIST: http://nvd.nist.gov/download.cfm