Apache Syncope
Copyright 2012-2019 The Apache Software Foundation

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

The following copyright notice(s) were affixed to portions of this code
with which this file is now or was at one time distributed.

==

This product includes software developed by the Jackson project.

==

This product includes software developed by the JAXB project.
Copyright (c) 2013-2017 The JAXB project.

==

This product includs software developed by Oracle.
Copyright (c) 2012-2013 Oracle and/or its affiliates. All rights reserved.

==

This product includes software developed by the JAX-RS project.
Copyright (c) 2014, Oracle Corporation and/or its affiliates. All rights reserved.

==

This product includes software developed by the Joda Time project.
Copyright (c) 2002-2017 Joda.org. All Rights Reserved.

==

This product includes software developed by the Stax 2 Extension API Project.

==

This product includes software developed by the Woodstox Project.

==

This products includes software developed by the Simple Logging Facade for Java (SLF4J) project.
Copyright (c) 2004-2017 QOS.ch.

==

This product includes software developed by the Web Services Description Language for Java project.
Copyright (c) Dice.
All Rights Reserved.

==

This product includes software developed by the Eclipse Equinox project.
Copyright (c) 2017 The Eclipse Foundation.
All Rights Reserved.

==

This product includes software developed by the Eclipse e4 project.
Copyright (c) 2017 The Eclipse Foundation.
All Rights Reserved.

==

This product includes software developed by the Eclipse EMF project.
Copyright (c) 2017 The Eclipse Foundation.
All Rights Reserved

==

This product includes software developed by the Eclipse SWT project.
Copyright (c) 2017 The Eclipse Foundation.
All Rights Reserved.

==

This product includes software developed by the Jsoup project.
Copyright (c) 2009 - 2017 Jonathan Hedley (jonathan@hedley.net)
