Apache NPanday (incubating)
Copyright 2007-2011

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

This product includes software developed under zlib/libpng license (http://www.nunit.org/index.php?p=license&r=2.2.10).

This product includes software developed under BSD License.
