README
     Progress(R) DataDirect(R) 
     Progress(R) DataDirect(R) for JDBC(TM) for MongoDB(TM) Driver
     Release 6.0.2
     November 2017


***********************************************************************
Copyright (C) 1994-2017 Progress Software Corporation and/or its 
subsidiaries or affiliates. All Rights Reserved. 
 
***********************************************************************


CONTENTS

Requirements
Installation Directory
Changes for Service Pack 2
Changes for Service Pack 1
Release 6.0 Features
Progress DataDirect for JDBC for MongoDB Driver
Notes, Known Problems, and Restrictions
Documentation
Installed Files
Third Party Acknowledgments


     Requirements

Java SE 6 or higher must be installed and the JVM must be defined on your system
path.


     Installation Directory

The default installation directory for the driver is:

* Windows:
  C:\Program Files\Progress\DataDirect\JDBC_60

* UNIX/Linux:
  /opt/Progress/DataDirect/JDBC_60
  Note: For UNIX/Linux, if you do not have access to "/opt", your user's home
  directory will take the place of this directory.


     Changes for Service Pack 2

Certifications
--------------
* Certified with MongoDB 3.4
  Driver version 6.0.2.000272 (C0271.F000079.U000038)

* Certified with MongoDB 3.2
  Driver version 6.0.1.000233 (C0209.F000044.U000016)

Kerberos Support
----------------
The driver has been enhanced to support Kerberos authentication. See the USER'S
GUIDE for details.

SchemaMap Connection Property
-----------------------------
The SchemaMap connection property has been created to replace the
SchemaDefinition connection property. The SchemaMap property should now be used
to specify the path of the configuration file where the relational map of native
data is written.


     Changes for Service Pack 1

Naming Conflicts
----------------
The driver has been enhanced to resolve naming conflicts that can occur when
exposing native objects using unquoted, uppercase identifiers (the default
behavior). To avoid conflicts, the driver appends an underscore separator and
integer (for example, _1) to identifiers that differ only by case.

Varchar Columns
---------------
The DefaultVarcharSize configuration option has been enhanced to generate dynamic
default lengths for VARCHAR columns when specifying a multiplier value (for
example, 2x) for the option. When specifying a multiplier value, the default
length for a VARCHAR column is determined by multiplying the value specified by
the size of the largest value detected in that column. This results in a default
length that is proportionate to the size of the data within the column, which can
improve the memory efficiency within the driver and application. The default
value for this option has been updated to 1.5x.

In addition, you can further define the default length for VARCHAR columns by
tuning the new MaxVarcharSize and MinVarcharSize configuration options. These
options allow you to specify maximum and minimum size limits for the default
length generated by the DefaultVarcharSize configuration option. When tuned for
your data, MaxVarcharSize and MinVarcharSize can improve memory efficiency and
avoid the undesired truncation of VARCHAR values.

Keyword Conflicts
-----------------
The new KeywordConflictSuffix configuration option allows you to specify the
suffix that is appended to object and field names that conflict with SQL engine
keywords.

SQL Query Handling
------------------
The driver has been enhanced to use the MongoDB aggregation framework to improve
performance in the execution of SQL queries using LIMIT, ORDER BY, and TOP
clauses.

New SQL Extensions
------------------
The following SQL extensions have been added to the driver:

* REFRESH MAP adds newly discovered objects to your relational view of native
  data. It also incorporates any configuration changes made to your relational
  view by reloading the schema definition and associated files. REFRESH MAP is an
  expensive query since it involves the discovery of native data.

* RELOAD MAP reloads the schema definition and associated files. This statement
  allows you to update your relational view of native data while the driver is
  connected to the data store. RELOAD MAP does not discover changes made to the
  native data store.

Dynamic Fetch Enhancement
-------------------------
The driver has been enhanced to improve the handling of large result sets and
reduce the likelihood of out-of-memory errors through the modification of the
FetchSize connection property and the introduction of the ResultMemorySize
connection property.

Data Type Mapping Enhancement
-----------------------------
The driver has been enhanced to further ensure data integrity when mapping native
MongoDB data types to a relational schema. When inconsistent data types are
detected, the driver determines which SQL type to use based on the combination
of native types found. These combinations are handled in the following manner:
  - Bigint and Integer       map to BIGINT
  - Double and Integer       map to DOUBLE
  - All other combinations   map to VARCHAR or LONGVARCHAR

Statement Pooling
-----------------
The driver no longer registers the Statement Pool Monitor as a JMX MBean by
default. To register the Statement Pool Monitor and manage statement pooling with
standard JMX API calls, the new RegisterStatementPoolMonitorMBean connection
property must be set to true.


     Release 6.0 Features

Certifications
--------------
The driver has been certified with MongoDB 3.0.

Default Normalization and SchemaDefinition
------------------------------------------
When first connecting to a MongoDB server, the driver automatically creates a
normalized schema of the data and generates a SchemaDefinition for housing and
sharing the normalized schema.

Full Normalization of Native Objects 
------------------------------------
Native MongoDB data is fully normalized during the normalization process,
regardless of the depth of nested arrays, documents, and objects.

SQL Query Handling
------------------
The driver uses the MongoDB aggregation framework to improve performance in the
execution of SQL queries using aggregates, GROUP BY clauses, or HAVING clauses.

Schema Tool Enhancements 
------------------------
* The new Restart Wizard feature allows you to reset the relational view of your
  data from the Table Wizard menu.

* The new Update Schema feature allows you to map all new native objects to your
  schema definition with a single click.

* Support for selecting multiple objects in the Table Wizard for improved object
  management when customizing your schema. 


     Progress DataDirect for JDBC for MongoDB Driver

The driver supports standard SQL query language to select data from MongoDB
databases. In addition, some insert, update, and delete capabilities are
supported. The driver translates the SQL statements provided by an application
into native MongoDB-BSON statements, enabling you to leverage your knowledge of
SQL. The driver also includes the DataDirect Schema Tool, which guides you
through the process of mapping the MongoDB dynamic schema data model to a
customized relational data model.  
	
* The driver has been certified against the following MongoDB databases:
  - MongoDB version 3.0
  - MongoDB version 2.2, 2.4, 2.6

* The driver supports all JDBC Core functions.

* The driver supports the core SQL-92 grammar.

* The driver supports the following data types:
  - Array               maps to LONGVARCHAR
  - Bigint              maps to BIGINT
  - Bindata             maps to VARBINARY
  - Boolean             maps to BOOLEAN
  - Date                maps to TIMESTAMP
  - Double              maps to DOUBLE
  - Integer             maps to INTEGER
  - Object              maps to LONGVARCHAR
  - ObjectID            maps to VARCHAR
  - String              maps to CHAR, VARCHAR, or LONGVARCHAR

* The driver supports SSL functionality.
  
* The DataDirect Schema Tool:
  - Enables you to flatten, normalize, or customize your view of MongoDB data
    across a sharded or non-sharded environment.
  - Enables you to specify a primary key to ensure data integrity in a
    sharded or non-sharded environment.
  - Allows you to decide which MongoDB objects are extracted into relational
    views.
  - Provides information and statistics about your data.
  - Exposes tabular relationships among your MongoDB collections.
  - Enables you to define your column data types.
  - Allows schema definitions to be shared across servers.
  - Supports advanced security features, including SSL data encryption.


     Notes, Known Problems, and Restrictions

The following are notes, known problems, and restrictions with Release 6.0 of
the driver.

Statement Pooling
-----------------
The driver no longer registers the Statement Pool Monitor as a JMX MBean by
default. To register the Statement Pool Monitor and manage statement pooling with
standard JMX API calls, the new RegisterStatementPoolMonitorMBean connection
property must be set to true.

Dynamic Fetch Enhancement
-------------------------
The driver has been enhanced to improve the handling of large result sets and
reduce the likelihood of out-of-memory errors through the modification of the
FetchSize connection property and the introduction of the ResultMemorySize
connection property.

* Reduce FetchSize to reduce demands on memory. By lowering the maximum number of
  rows as specified by FetchSize, you lower the number of rows the driver is
  required to process before returning data to the application. Thus, you reduce
  demands on memory and decrease the likelihood of out-of-memory errors.

* Decrease ResultMemorySize until results are successfully returned. Intermediate
  results larger than the value specified will be written to disk as opposed to
  held in memory. When configured correctly, this avoids memory limitations by
  not relying on memory to process larger intermediate results. Be aware that
  while writing to disk reduces the risk of out-of-memory errors, it also
  negatively impacts performance. For optimal performance, decrease this value
  only to a size necessary to avoid errors. By default, ResultMemorySize is set
  to -1, which sets the maximum size of intermediate results held in memory to a
  percentage of the max Java heap size. If you received errors using the default
  configuration, use the max Java heap size divided by 4 as a starting point when
  tuning this option.

* Increase the JVM heap size. By increasing the max Java heap size, you increase
  the amount of data the driver can accumulate in memory and avoid out-of-memory
  errors.

Default SchemaDefinition
------------------------
If you do not provide a name and location for SchemaDefinition, the driver
creates a SchemaDefinition using default values based on your environment.

* For Windows

  User data source:
  <userprofile>\AppData\Local\Progress\DataDirect\MongoDB_Schema\
  <hostname>.config

  System data source:
  C:\Users\Default\AppData\Local\Progress\DataDirect\MongoDB_Schema\
  <hostname>.config

  NOTE: In Windows XP and Windows Server 2003, the "AppData" folder is the
  "Application Data" folder.

* For UNIX/Linux
  ~/progress/datadirect/mongodb_schema/<hostname>.config

In-Memory Tables
----------------
The driver no longer supports in-memory tables (also known as "local tables").

Executing SQL Queries
---------------------
The 6.0 driver pushes down SQL queries to MongoDB whenever possible. Queries that
cannot be pushed down to MongoDB in the 6.0 driver may be slower than comparable
queries made with previous versions of the driver because data may be paged to
disk while completing an operation. If you experience slow performance, please
contact Technical Support: https://www.progress.com/support-and-services. Our
team will quickly address any performance issues you encounter.

Schema Tool Normalization
-------------------------
The Normalization Depth option is no longer available in the Schema Tool because
native MongoDB data is now fully normalized, regardless of depth, during the
normalization process.

Schema Definitions Generated with Previous Versions of the Product
------------------------------------------------------------------
The 6.0 driver and Schema Tool do not support schema definitions created with
previous versions of the product. Therefore, you should reproduce your 5.1.x
schema definitions with the 6.0 driver or Schema Tool.

System.exit() method and Process Termination
--------------------------------------------
The System.exit() method ensures that all registered shutdown hooks are run.
Applications terminate faster when System.exit(0) is used. When applications omit
the System.exit() call, the termination process may linger for about 10 seconds
before exiting.

Primary Keys in a Sharded Environment
-------------------------------------
The _id field generally functions as the primary key and row identifier for
all tables exposed by the driver. However, if you are working with a sharded
MongoDB collection, _id may not be unique unless _id has been defined as the
shard key for that collection. If _id is not unique, write and join operations
could produce undesirable results. For more information about setting a
primary key, see "Designating a Primary Key" in the USER'S GUIDE.

VARBINARY Truncation
--------------------
For columns mapped to Varbinary, the driver truncates values that exceed the
column size defined for the column when constructing the relational map of your
data. Refer to "About Column Information and Statistics" in the USER'S GUIDE for
details.

* After the initial discovery and normalization process, you can define the
  column size of individual columns from the main display of the Schema Tool.
  Refer to "Defining Columns" in the USER'S GUIDE for details.

You can find the column size defined for a column either by selecting a table
from the Schema Tool's main display or by executing the getColumns function.

Write Operations When Connected to a Replica Set
------------------------------------------------
When connected to a replica set, you can execute Select, Insert, and Delete
against the primary node. However, you can only execute Select against
secondary members (follower servers).

Mapped Columns with Numeric Names
---------------------------------
When accessing data from a mapped column with a numeric name, you must
enclose the column name in double quotes in the SQL statement. For example, to
select data from a column named 3, you submit the following statement:

SELECT "3" FROM <table>

Although numeric column names can be created in a number of ways, they are
typically the result of normalizing a collection that contains array fields.

system.indexes collection
-------------------------
The driver hides the system.indexes collection, and tables containing the "$"
character are hidden to prevent naming conflicts.

oplog.rs system table
---------------------
The driver hides the oplog.rs system table.

Executing DataDirect Shell Script
---------------------------------
For UNIX/Linux users: If you receive an error message when executing any
DataDirect for JDBC shell script, make sure that the file has EXECUTE permission.
To do this, use the chmod command. For example, to grant EXECUTE permission to
the testforjdbc.sh file, change to the directory containing testforjdbc.sh and
enter: chmod +x testforjdbc.sh

Performance Tuning Wizard
-------------------------
The Performance Tuning Wizard is not available with the MongoDB driver. For
information on tuning the driver for performance, see "Performance
Considerations" in the USER'S GUIDE.

JDBC Methods
------------
The following notes on JDBC methods apply generally to Progress DataDirect for
JDBC drivers. Additional information on driver support for the JDBC API can be
found in the "JDBC Support" section of the product USER'S GUIDE.

* When attempting to create an updatable, scroll-sensitive result set for a
  query that contains an expression as one of the columns, the driver cannot
  satisfy the scroll-sensitive request. The driver downgrades the type of the
  result returned to scroll-insensitive.

* The ResultSet methods getTimestamp(), getDate(), and getTime() return
  references to mutable objects. If the object reference returned from any of
  these methods is modified, re-fetching the column using the same method
  returns the modified value. The value is only modified in memory; the
  database value is not modified.

Help System Compatibility
-------------------------
Internet Explorer with the Google Toolbar installed sometimes displays the
following error when the browser is closed: "An error has occurred in the
script on this page." This is a known issue with the Google Toolbar and has
been reported to Google. When closing the driver's help system, this error may
display.
  
  
     Documentation	 	 

PROGRESS DATADIRECT FOR JDBC FOR MONGODB DRIVER USER'S GUIDE
------------------------------------------------------------
The USER'S GUIDE is available as an HTML help system and as a PDF.

* The HTML version of the USER'S GUIDE is installed in the MongoDBHelp
  subdirectory of your product installation directory. This help system is also
  available on the Progress DataDirect Web site:
  https://www.progress.com/resources/documentation/by-data-source

* The PDF version of the USER'S GUIDE is available on the Progress DataDirect
  Web site:
  https://www.progress.com/resources/documentation/by-data-source

PROGRESS DATADIRECT SCHEMA TOOL HELP
------------------------------------
A separate Schema Tool help system is installed in the SchemaToolHelp
subdirectory of your product installation directory. The content of the Schema
Tool help system is drawn directly from the USER'S GUIDE.


     Installed Files

When you extract the contents of the installation download package to your
installer directory, you will notice the following files that are required to
install the driver:

*  Windows:
   - PROGRESS_DATADIRECT_JDBC_INSTALL.exe
   - PROGRESS_DATADIRECT_JDBC_MONGODB_6.0.2_INSTALL.iam.zip
   - PROGRESS_DATADIRECT_JDBC_COMMON_6.0.0_INSTALL.iam.zip
   - PROGRESS_DATADIRECT_JDBC_DOCUMENTATION_6.0.0_INSTALL.iam.zip

*  Non-Windows:
   - PROGRESS_DATADIRECT_JDBC_INSTALL.jar
   - PROGRESS_DATADIRECT_JDBC_MONGODB_6.0.2_INSTALL.iam.zip
   - PROGRESS_DATADIRECT_JDBC_COMMON_6.0.0_INSTALL.iam.zip
   - PROGRESS_DATADIRECT_JDBC_DOCUMENTATION_6.0.0_INSTALL.iam.zip

When you install the driver, the installer creates the following directories and
files in the product installation directory in the default installation
directory or in an installation directory you specify, represented by
INSTALL_DIR.


INSTALL_DIR/:
-------------
LicenseTool.jar            Product license file manager

DDProcInfo.exe             Windows executable to start the Processor Information
                           Utility

DDProcInfo                 UNIX/Linux script to start the Processor Information
                           Utility


INSTALL_DIR/Examples/Bulk/:
---------------------------
Load From File/bulkLoadFileDemo.java
                           Java source example for bulk loading from a CSV file

Load From File/load.txt    Sample data for the example

Streaming/bulkLoadStreamingDemo.java
                           Java source example for bulk loading from a result
                           set

Threaded Streaming/bulkLoadThreadedStreamingDemo.java
                           Java source example for multi-threaded bulk loading
                           from a result set

Threaded Streaming/README.txt
                           Instructions on how to use the thread.properties file

Threaded Streaming/thread.properties
                           Properties file for the example


INSTALL_DIR/Examples/Connector/:
--------------------------------
ConnectorSample.ear        J2EE Application Enterprise Archive file containing
                           the ConnectorSample application 

connectorsample.htm        USING DATADIRECT CONNECT FOR JDBC RESOURCE ADAPTERS
                           document

graphics/*.*               Images referenced by the USING DATADIRECT CONNECT FOR
                           JDBC RESOURCE ADAPTERS document

src/ConnectorSample.jsp    Source for the JavaServer Page used to access the
                           ConnectorSample application

src/connectorsample/ConnectorSample.java     
                           Java source file defining the remote interface for
                           the ConnectorSample EJB

src/connectorsample/ConnectorSampleBean.java  
                           Java source file defining the home interface for the
                           ConnectorSample EJB

src/connectorsample/ConnectorSampleHome.java  
                           Java source file containing the implementation for
                           the ConnectorSample EJB


INSTALL_DIR/Examples/JNDI/:
---------------------------
JNDI_FILESYSTEM_Example.java
                           Example Java(TM) source file

JNDI_LDAP_Example.java     Example Java source file


INSTALL_DIR/Examples/SforceSamples/:
------------------------------------
buildsamples.bat           Batch file to build the Salesforce example

buildsamples.sh            Shell script to build the Salesforce example
 
ddlogging.properties       Logging properties file

runsalesforceconnectsample.bat
                           Batch file to run the Salesforce example

runsalesforceconnectsample.sh
                           Shell script to run the Salesforce example

bin/com/ddtek/jdbc/samples/SalesforceConnectSample.class
                           Java example class

bin/com/ddtek/jdbc/samples/SampleException.class
                           Java example class

src/com/ddtek/jdbc/samples/SalesforceConnectSample.java
                           Java source example


INSTALL_DIR/Help/: 
------------------
MongoDBHelp/index.html     Driver HTML help system entry file

MongoDBHelp/*              Support files and folders for the driver help system


INSTALL_DIR/Help/: 
------------------
SchemaToolHelp/index.html  Schema Tool HTML help system entry file

SchemaToolHelp/*           Support files and folders for the Schema Tool help
                           system


INSTALL_DIR/install/: 
---------------------
.psc_dd_inst_reg.xml       Support file for the installation logs

logs/*.*                   Log file generated upon installation


INSTALL_DIR/jre/:
-----------------
*.*                        Files associated with the MongoDB driver


INSTALL_DIR/lib/:
-----------------
mongodb.jar                MongoDB Driver and DataSource classes


INSTALL_DIR/NOTICES/:
---------------------
JDBC for MongoDB v6.0 notices.txt
                           Third party agreement information


INSTALL_DIR/pool manager/:
--------------------------
pool.jar                   All DataDirect Connection Pool Manager classes


INSTALL_DIR/READMES/:
---------------------
JDBC for MongoDB v6.0 readme.txt
                           This file


INSTALL_DIR/testforjdbc/:
-------------------------
Config.txt                 Configuration file for DataDirect Test

ddlogging.properties       Logging properties file

testforjdbc.bat            Batch file to start DataDirect Test

testforjdbc.sh             Shell script to start DataDirect Test

lib/testforjdbc.jar        DataDirect Test classes


INSTALL_DIR/tools/:
-------------------
schematool.jar             Schema Tool classes


INSTALL_DIR/uninstall/:
-----------------------
.com.zerog.registry.xml    Support file for the uninstaller

.psc_dd_uninst_reg.xml     Support file for the uninstaller

InstallScript.iap_xml      Support file for the uninstaller

installvariables.properties
                           Support file for the Windows uninstaller

Uninstall_JDBC_60.exe      Windows uninstaller

Uninstall_JDBC_60.lax      Support file for the Windows uninstaller

uninstaller.jar            Java uninstaller

resource/*.*               Resource files for the Windows uninstaller


     Third Party Acknowledgments

One or more products in the Progress DataDirect for JDBC for MongoDB v6.0 
release includes third party components covered by licenses that require that 
the following documentation notices be provided.  If changes in third party 
components occurred for the current release of the Product, the following Third 
Party Acknowledgements may contain notice updates to any earlier versions 
provided in documentation or README file. 

Progress DataDirect for JDBC for MongoDB v6.0.0 incorporates HyperSQL database 
v2.3.0 from The HSQL Development Group.  Such technology is subject to the 
following terms and conditions: 
Copyright (c) 2001-2012, The HSQL Development Group All rights reserved.
Redistribution and use in source and binary forms, with or without 
modification, are permitted provided that the following conditions are met:
Redistributions of source code must retain the above copyright notice, this 
list of conditions and the following disclaimer.
Redistributions in binary form must reproduce the above copyright notice, this 
list of conditions and the following disclaimer in the documentation and/or 
other materials provided with the distribution. 
Neither the name of the HSQL Development Group nor the names of its 
contributors may be used to endorse or promote products derived from this 
software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 
DISCLAIMED. IN NO EVENT SHALL HSQL DEVELOPMENT GROUP, HSQLDB.ORG, OR 
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT 
OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING 
IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY 
OF SUCH DAMAGE.

Progress DataDirect for JDBC for MongoDB v6.0 incorporates JGoodies Forms 
v1.3.0 from JGoodies Software GmbH.  Such technology is subject to the 
following terms and conditions:  The BSD License for the JGoodies Forms - 
Copyright (c) 2002-2014 JGoodies Software GmbH. All rights reserved.
Redistribution and use in source and binary forms, with or without 
modification, are permitted provided that the following conditions are met:
* Redistributions of source code must retain the above copyright notice, this 
list of conditions and the following disclaimer. 
* Redistributions in binary form must reproduce the above copyright notice, 
this list of conditions and the following disclaimer in the documentation 
and/or other materials provided with the distribution. 
* Neither the name of JGoodies Software GmbH nor the names of its contributors 
may be used to endorse or promote products derived from this software without 
specific prior written permission. 
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR 
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON 
ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Progress DataDirect for JDBC for MongoDB v6.0 incorporates Stax2 API v3.1.1 
from Codehaus.  Such technology is subject to the following terms and 
conditions:  Copyright (c) 2004-2010, Woodstox Project 
(http://woodstox.codehaus.org/) All rights reserved.
Redistribution and use in source and binary forms, with or without 
modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this 
list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, 
this list of conditions and the following disclaimer in the documentation 
and/or other materials provided with the distribution.
3. Neither the name of the Woodstox XML Processor nor the names of its 
contributors may be used to endorse or promote products derived from this 
software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR 
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON 
ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.


15 November 2017
================
End of README