diff --git a/.gitignore b/.gitignore index 05b8242..1d11310 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,5 @@ -run.sh +run*.sh tests/test_bigquery.py tests/resources/bigquery tests/resources/bigquery.properties diff --git a/pyliquibase/__init__.py b/pyliquibase/__init__.py index 914241e..647262d 100644 --- a/pyliquibase/__init__.py +++ b/pyliquibase/__init__.py @@ -42,14 +42,14 @@ def _cli(self): import jnius_config from pkg_resources import resource_filename - LIQUIBASE_CLASSPATH: list = [os.getcwd() + "/", - resource_filename(__package__, "liquibase/liquibase.jar"), + LIQUIBASE_CLASSPATH: list = [resource_filename(__package__, "liquibase/liquibase.jar"), resource_filename(__package__, "liquibase/lib/*"), resource_filename(__package__, "liquibase/lib/picocli*"), resource_filename(__package__, "jdbc-drivers/*")] if not jnius_config.vm_running: jnius_config.add_classpath(*LIQUIBASE_CLASSPATH) + log.debug("classpath: %s" % jnius_config.get_classpath()) else: log.warning("VM is already running, can't set classpath/options") log.debug("VM started at" + jnius_config.vm_started_at) diff --git a/pyliquibase/jdbc-drivers/EULA.txt b/pyliquibase/jdbc-drivers/EULA.txt new file mode 100644 index 0000000..dc3fd54 --- /dev/null +++ b/pyliquibase/jdbc-drivers/EULA.txt @@ -0,0 +1,295 @@ +END-USER LICENSE AGREEMENT (EULA) + +IMPORTANT – READ CAREFULLY: THIS END-USER LICENSE AGREEMENT (THIS "AGREEMENT") +IS A LEGAL AGREEMENT BETWEEN YOU AND SIMBA (HEREINAFTER DEFINED). PLEASE READ +THIS AGREEMENT CAREFULLY BEFORE DOWNLOADING, INSTALLING OR USING THE PROGRAM +(HEREINAFTER DEFINED). THE PROGRAM MAY INCLUDE PRODUCT ACTIVATION AND OTHER +TECHNOLOGY DESIGNED TO PREVENT UNAUTHORIZED USE AND COPYING. BY INSTALLING OR +USING THE PROGRAM YOU CONSENT TO THE TRANSMISSION OF CERTAIN COMPUTER +INFORMATION REQUIRED FOR ACTIVATION AND/OR VALIDATION. + +EFFECT OF PURCHASE ORDERS; ORDERING DOCUMENTATION. SIMBA WILL NOT BE BOUND BY, +AND SPECIFICALLY OBJECTS TO, ANY TERM, CONDITION OR OTHER PROVISION THAT IS +DIFFERENT FROM OR IN ADDITION TO THE SALES ORDER ASSOCIATED HEREWITH AND/OR +THIS AGREEMENT THAT IS PROFFERED BY YOU IN ANY RECEIPT, ACCEPTANCE, +CONFIRMATION, CORRESPONDENCE, OR OTHERWISE. FURTHER, ALL PREPRINTED CLAUSES ON +ANY ORDER FORM PROVIDED BY YOU ARE DEEMED DELETED OR SUPERSEDED BY SAID SALES +ORDER AND/OR THIS AGREEMENT. + +OTHER CONTRACTS. THE TERMS AND CONDITIONS OF THIS AGREEMENT MAY BE MODIFIED BY +A SEPARATE SOFTWARE LICENSE AGREEMENT BETWEEN SIMBA AND THE PROGRAM’S END +USER. + +USE CONSENT. YOU ARE DEEMED TO CONSENT TO BE BOUND BY THE TERMS AND CONDITIONS +OF THIS AGREEMENT BY INSTALLING, COPYING, OR OTHERWISE USING THE PROGRAM. +FUTHERMORE, THIS AGREEMENT IS ENFORCEABLE AGAINST YOU AND ANY PERSON THAT +OBTAINED THE PROGRAM AND ON WHOSE BEHALF IT IS USED. + +ELECTRONIC SIGNATURE. YOU AGREE TO THE USE OF ELECTRONIC COMMUNICATION TO +ENTER INTO THIS AGREEMENT AND HEREBY WAIVE ANY RIGHTS OR REQUIREMENTS UNDER +ANY LAWS OR REGULATIONS IN ANY JURISDICTION THAT REQUIRE AN ORIGINAL +(NON-ELECTRONIC) SIGNATURE OR DELIVERY OR RETENTION OF NON-ELECTRONIC RECORDS +TO THE EXTENT PERMITTED UNDER APPLICABLE LAW. IF YOU DO NOT AGREE TO THE TERMS +AND CONDITIONS OR THIS AGREEMENT, DO NOT PROCEED WITH THE DOWNLOAD, +INSTALLATION OR USE OF THE PROGRAM. + +1. GENERAL TERMS; AUTHORITY. This Agreement governs your use of the +accompanying computer software program or technology (the "Program"), which +Program is owned or controlled by Simba Technologies Incorporated, or one of +its subsidiaries or affiliates (collectively referred to herein as "Simba"). +You represent and warrant that you have authorized the download and +installation of the Program, or the owner of the computer or server on which +it will be installed has authorized you to do so. Your rights to use and +reproduce the Program are expressly set out in this Agreement. + +2. USE INDEMNIFICATION. You agree to defend, indemnify and hold harmless +Simba, its suppliers and its resellers from and against liabilities, costs, +damages and expenses (including settlement costs and reasonable attorney fees) +arising from any claims from anybody that result from or relate to your use, +reproduction or distribution of the Program. + +3. OWNERSHIP RIGHTS. The Program is licensed and not sold. The Program is +protected by Canadian and United States copyright laws and international +treaty provisions. Simba owns and retains all right, title, and interest in +and to the Program, including all copyrights, patents, trade secret rights, +trademarks, and other Intellectual Property Rights therein. Nothing in this +Agreement, including the possession, installation, or use of the Program +assigns or transfers to any person any title, right or interest to the +Intellectual Property Rights in the Program, except as explicitly specified in +this Agreement. For purposes of this Agreement, the sale of the Program shall +mean and confer only the license right to use the Software as specified in +this Agreement. "Intellectual Property Rights" means patents, rights to +inventions, copyright and related rights, trademarks, trade names and domain +names, rights in get-up, rights in goodwill or to sue for passing off, rights +in designs, rights in computer software, database rights, rights in +confidential information (including know-how and trade secrets) and any other +intellectual property rights, in each case whether registered or unregistered +and including all applications (or rights to apply) for, and renewals or +extensions of, such rights and all similar or equivalent rights or forms of +protection which may now or in the future subsist in any part of the world. + +4. LICENSE GRANT. Subject to the terms and conditions of this Agreement, Simba +grants a limited, non-exclusive, non-transferable, and non-sub-licensable +right to you to download, install and use the Program for the term and as +otherwise indicated on the invoice associated with your purchase of the +relevant Program(s) (the "License"). You will immediately inform Simba if the +Program is intended to be used outside the scope of the License. A separate +license for any use outside the scope of this Agreement must be obtained from +Simba in writing in advance of any such use. Notwithstanding anything to the +contrary contained herein, an upgrade to new versions/releases of the +Program(s) is outside the scope of the License and such upgrade(s) must be +licensed separately. + +5. SUBSCRIPTION FEES; EFFECT OF NON-PAYMENT. Unless the License is perpetual, +the License shall be limited, non-perpetual and granted on a subscription-fee +basis requiring annual renewal. Failure to renew and pay the subscription fee +will cancel and terminate your rights to use the Program. You have the +obligation to pay and remit the subscription fee on a timely basis and in +advance. + +6. TRANSFER AND USE RESTRICTIONS. You may not sell, license, sub-license, +lend, rent, share, lease, transmit, telecommunicate, distribute, embed, assign +or otherwise transfer the Program to others. You must comply with all +applicable Canadian, United States and other export control laws related to +your use of the Program. Except as expressly permitted above, you may not +modify, reverse engineer, decompile, decrypt, extract or otherwise disassemble +the Program. The License does not permit you to distribute or make the Program +available over any network where it could be used by multiple devices at the +same time. The License does not permit you to directly or indirectly, reverse +engineer, adapt, modify, decompile, disassemble, translate the Program or +create derivative works based on the Program in any way including without +limitation, removal of the installer program, electronic end user license +agreement, "About" screen, or any copyright or other proprietary notice that +appears in the Program, or otherwise attempt to discover the source code of +the Program. In addition, the License does not permit you to remove or alter +any proprietary notices or labels on the Program. There shall be no rights +implied to you or any person using the Program. The license rights granted +under this Agreement shall terminate immediately in the event of a breach of +any provisions of this Agreement. + +7. TERMINATION. Simba may terminate this Agreement immediately and without +prior notice if you breach any term, or otherwise fail to strictly comply with +this Agreement. In the event of termination for any reason, you agree to +immediately destroy and/or erase the original and all copies of the Program +and to discontinue its use, and you will not otherwise retain or store the +Program or any copies thereof, in any form or medium. You also agree to +provide to Simba proof of confirmation of your discontinuance and non-use upon +request. + +8. WARRANTIES. Simba warrants for a period of ninety (90) days from the date +the Program is delivered to you that the Program shall substantially conform +to Simba’s documented specifications. In the event of any alleged breach of +the above express warranties, you shall report the details of such alleged +breach in writing to Simba within the specified ninety (90) day warranty +period. If such alleged breach is reported as required and substantiated by +Simba, your exclusive remedies shall be, at Simba’s sole option, for Simba to +promptly repair or replace the Program or any portion thereof necessary to +remedy the breach, or to refund the fees actually received by Simba for the +License. EXCEPT AS SET FORTH ABOVE, YOU EXPRESSLY ACKNOWLEDGE AND AGREE THAT +THE USE OF THE PROGRAM IS AT YOUR SOLE RISK. SIMBA PROVIDES THE PROGRAM +(INCLUDING, BUT NOT LIMITED TO, ANY DOCUMENTATION AND SUPPORT) ON AN "AS IS", +"WHERE IS" BASIS WITHOUT ANY WARRANTY OF ANY KIND, EITHER EXPRESS, IMPLIED OR +STATUORY, INCLUDING, BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, ACCURACY, NON-INFRINGEMENT, +OR CONDITION ARISING FROM COURSE OF PERFORMANCE, COURSE OF DEALING OR USAGE OF +TRADE. SIMBA DOES NOT WARRANT THAT THE FUNCTIONS CONTAINED IN THE PROGRAM WILL +MEET YOUR REQUIREMENTS, OR THAT THE OPERATION OF THE PROGRAM WILL BE ERROR +FREE OR UNINTERRUPTED, OR THAT DEFECTS IN PROGRAM WILL BE CORRECTED. +FURTHERMORE, SIMBA DOES NOT WARRANT OR MAKE ANY REPRESENTATIONS REGARDING THE +USE OR THE RESULTS OF THE USE OF THE PROGRAM IN TERMS OF ITS CORRECTNESS, +ACCURACY, RELIABILITY, OR OTHERWISE. NO ORAL OR WRITTEN INFORMATION OR ADVICE +GIVEN BY SIMBA OR ITS AUTHORIZED REPRESENTATIVES SHALL CREATE A WARRANTY OR IN +ANY WAY INCREASE THE SCOPE OF THIS WARRANTY. + +9. DISCLAIMER & RELEASE. EXCEPT RELATED TO THE EXPRESS WARRANTIES AND +INDEMNITIES SET FORTH HEREIN, YOU HEREBY WAIVE, RELEASE AND DISCLAIM, ALL +WARRANTIES, CONDITIONS, INDEMNITIES, OBLIGATIONS AND LIABILITIES OF SIMBA AND +ALL OTHER REMEDIES, RIGHTS, CAUSES OF ACTION AND CLAIMS AGAINST SIMBA WITH +RESPECT TO THE PROGRAM, ALL RELATED DOCUMENTATION AND ANY SERVICES FURNISHED +UNDER THIS AGREEMENT, INCLUDING, BUT NOT LIMITED TO, ANY OBLIGATION, +LIABILITY, RIGHT, REMEDY OR CLAIM IN CONTRACT, INCLUDING FUNDAMENTAL BREACH, +TORT, NOTWITHSTANDING ANY FAULT, NEGLIGENCE, STRICT LIABILITY OR PRODUCT +LIABILITY OF SIMBA (WHETHER ACTIVE, PASSIVE OR IMPUTED) AND ANY OBLIGATION, +LIABILITY, REMEDY, RIGHT OR CLAIM FOR INFRINGEMENT. YOU ACKNOWLEDGE THE +PROGRAM IS NOT DESIGNED OR LICENSED FOR USE IN HAZARDOUS ENVIRONMENTS +REQUIRING FAIL-SAFE CONTROLS, INCLUDING, BUT NOT LIMITED TO, OPERATION OF +NUCLEAR FACILITIES, AIRCRAFT NAVIGATION OR COMMUNICATION SYSTEMS, AIR TRAFFIC +CONTROL, LIFE SUPPORT OR WEAPONS SYSTEMS. WITHOUT LIMITING THE GENERALITY OF +THE FOREGOING, SIMBA EXPRESSLY DISCLAIMS ANY EXPRESS OR IMPLIED WARRANTY OR +CONDITION OF FITNESS FOR SUCH PURPOSES. YOU ACKNOWLEDGE THAT SIMBA IS ONLY +WILLING TO ENTER INTO THIS AGREEMENT ON THE CONDITION THAT YOU AGREE TO BE +BOUND BY THE LIMITATIONS SET FORTH IN THIS AGREEMENT. + +10. LIMITATION OF LIABILITY. SIMBA WILL HAVE NO LIABILITY OR OBLIGATION FOR +ANY DAMAGES OR REMEDIES, INCLUDING, WITHOUT LIMITATION, THE COST OF SUBSTITUTE +GOODS, LOST OR CORRUPTION OF DATA, LOST PROFITS, LOST REVENUES OR ANY OTHER +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, GENERAL, PUNITIVE, CONSEQUENTIAL OR +EXEMPLARY DAMAGES, ARISING OUT OF THIS AGREEMENT OR THE USE OR INABILITY TO +USE THE PROGRAM. IN NO EVENT WILL SIMBA’S TOTAL AGGREGATE LIABILITY (WHETHER +IN CONTRACT (INCLUDING FUNDAMENTAL BREACH), WARRANTY, TORT (INCLUDING +NEGLIGENCE), PRODUCT LIABILITY, INTELLECTUAL PROPERTY INFRINGEMENT OR OTHER +LEGAL THEORY WITH REGARD TO THE PROGRAM AND/OR THIS AGREEMENT EXCEED THE FEES +ACTUALLY RECEIVED BY SIMBA DIRECTLY ATTRIBUTABLE TO THIS LICENSE OR ONE +HUNDRED DOLLARS ($100.00), WHICHEVER IS LESSER. Furthermore, Simba will not be +liable for any delay or failure to perform its obligations under this +Agreement as a result of any causes or conditions beyond Simba’s reasonable +control as determined in its sole discretion. + +11. INTELLECTUAL PROPERTY CLAIMS. Subject to Section 10 hereof, Simba will +indemnify and hold you harmless against any damages resulting from use of the +Program finally awarded against you pursuant to a judicial proceeding, to the +extent such proceeding is based upon an infringement of any valid U.S. or +Canadian patent issued prior to the date you receive the Program from Simba, +or any valid U.S. or Canadian copyright by the Program, provided that you: (i) +promptly give written notice of the claim to Simba; (ii) give Simba sole +control of the defense and settlement of the claim; (iii) provide to Simba all +available information and assistance; and (iv) have not compromised or settled +such claim. If the Program is found to infringe or in Simba’s opinion is +likely to infringe, Simba may at its sole discretion elect to: (i) obtain for +you the right to use the Program; (ii) replace or modify the Program so that +it is non-infringing; or (iii) remove the Program and refund fees paid by you +to Simba for the Program. Simba will have no obligation under this Section 11 +for any claims which result from: (i) use of the Program in combination with +any non-Simba provided software (including any portion of the Program not +authored by Simba); (ii) Simba’s compliance with your designs or +specifications; (iii) modification of the Program by you or anyone other than +Simba; or (iv) use of an allegedly infringing version of the Program, if the +alleged infringement could be avoided by the use of a different version made +available to you by Simba. This Section 11 sets forth the entire liability of +Simba and your exclusive remedies for claims of infringement involving the +Program. + +12. CONFIDENTIAL INFORMATION. You acknowledge that the Program and its +associated materials constitute confidential information of Simba that is +proprietary and valuable to Simba and its licensors and you will use the same +level of care as a reasonable and prudent businessperson would to protect and +safeguard the confidentiality of such confidential information while it is in +your possession or control. You will not use or reproduce the Program for any +purpose not expressly set out herein and will not disclose to or grant any +other party access to the Program for any purpose, other than as expressly +permitted herein. You acknowledge and agree that you will not publish or make +public any performance details or information about the Program without the +prior written permission of Simba. You acknowledge and agree that performance +and testing results are confidential information and will only be shared with +those within your organization who have a need to know. If you breach your +confidentiality covenants herein, then in addition to any other remedies Simba +may be entitled to, Simba will be entitled to apply to a court of competent +equitable jurisdiction for and obtain injunctive relief, including an +interlocutory injunction, to enjoin such breach or any anticipated breach. You +acknowledge that other remedies will not adequately compensate Simba in the +event of your breach or anticipated breach of your confidentiality covenants +herein. Your confidentiality covenants in this Section 12 will not apply to +information which you can conclusively prove: (i) was developed independently +by you without the use of the Program; (ii) is generally available to the +public; or (iii) is available to you on a non-confidential basis from other +lawful sources. + +13. U.S. GOVERNMENT RESTRICTED RIGHTS LEGEND. If the Program is acquired by +any agency or other part of the U.S. government in a transaction subject to +the Federal Acquisition Regulations or the Defense Federal Acquisition +Regulations, the Program is furnished with Restricted Rights. Use, +duplication, or disclosure of the Program by the U.S. government is subject to +all applicable restrictions set forth in such Regulations, as amended from +time to time, including subparagraphs (c)(1) and (2) of the Commercial +Computer Software-Restricted Rights clause at Section 48 C.F.R. 52.227-19. + +14. SURVIVAL. Sections 2, 3, 5, 6, 7, 8, 9, 10, 11, 14, 15, 16, 17, 18 and 20, +and all other provisions of this Agreement which may reasonably be interpreted +as surviving termination of this Agreement, shall survive the termination of +this Agreement. + +15. ENTIRE AGREEMENT. This Agreement constitutes the entire agreement between +you and Simba regarding the Program. If any provision is found to be invalid +by a court of competent jurisdiction, the balance of the provisions will +remain in full force and effect. This Agreement will be governed by and +construed in accordance with the laws of the State of Texas, United States, +excluding its conflict of laws rules. The parties hereby attorn to the +jurisdiction of the courts located within the city of Austin, State of Texas, +United States, in the event of any dispute hereunder. The provisions of the +U.N. Convention on Contracts For The International Sale of Goods (1980) and +the American Law Institute’s Principles of the Law of Software Contracts +("Principles") are expressly excluded. The parties agree that (i) the +Principles shall have no application whatsoever to the interpretation or +enforcement of this Agreement, and (ii) neither party shall invoke the +Principles in whole or in part in any proceeding relating to this Agreement. +Notwithstanding the foregoing, Simba may bring suit in any appropriate forum +or court of competent jurisdiction for any breach of this Agreement or +misappropriation of its intellectual property rights, including claims for +equitable and injunctive relief. + +16. ENUREMENT. The rights, restrictions, limitations, disclaimers and remedies +granted to, retained by, or for the benefit of Simba will enure to the benefit +of and will be enforceable by Simba and its licensors, successors and assigns. +The obligations, covenants and rights, which apply to you, will enure to your +benefit and will be binding on you and your permitted successors and assigns. + +17. PUBLICITY. You agree that Simba may, at its option, refer to you in its +marketing and promotional materials as a licensee of the Program, unless you +advise Simba to the contrary in writing within thirty (30) days of the date +you receive the Program. + +18. NON-PERSONAL DATA. You agree that Simba may collect, maintain, process and +use diagnostic, technical and related information, including information +related to your device, computer, system, application software, peripherals to +facilitate the provision of software update, product support and compliance +verification, and otherwise to improve the Program and other software products +and delivery of related services. + +19. TAXES. You certify that you are not resident in Canada for purposes of the +Excise Tax Act and that you are not registered under that Act. Where +applicable, you agree to advise Simba in the event there is any change to your +residence status or should you become registered for the purposes of the +Excise Tax Act. + +20. FORCE MAJEURE. Simba shall not be liable hereunder for any failure or +delay in the performance of its obligations under this Agreement if such +failure or delay is on account of causes beyond its control, including labor +disputes, civil commotion, war, fires, floods, inclement weather, governmental +regulations or controls, casualty, government authority, strikes, or acts of +God, in which event Simba shall be excused from its obligations for the period +of the delay and for a reasonable time thereafter. + +v.2017.01 + +Page 2 of 5 + diff --git a/pyliquibase/jdbc-drivers/GoogleBigQueryJDBC42.jar b/pyliquibase/jdbc-drivers/GoogleBigQueryJDBC42.jar index ed0e110..830e4c9 100644 Binary files a/pyliquibase/jdbc-drivers/GoogleBigQueryJDBC42.jar and b/pyliquibase/jdbc-drivers/GoogleBigQueryJDBC42.jar differ diff --git a/pyliquibase/jdbc-drivers/Simba Google BigQuery JDBC Connector Install and Configuration Guide.pdf b/pyliquibase/jdbc-drivers/Simba Google BigQuery JDBC Connector Install and Configuration Guide.pdf new file mode 100644 index 0000000..dd157d8 Binary files /dev/null and b/pyliquibase/jdbc-drivers/Simba Google BigQuery JDBC Connector Install and Configuration Guide.pdf differ diff --git a/pyliquibase/jdbc-drivers/liquibase-bigquery-4.5.1-SNAPSHOT.jar b/pyliquibase/jdbc-drivers/liquibase-bigquery-4.5.1-SNAPSHOT.jar index 4fdf57d..fd3a2dc 100644 Binary files a/pyliquibase/jdbc-drivers/liquibase-bigquery-4.5.1-SNAPSHOT.jar and b/pyliquibase/jdbc-drivers/liquibase-bigquery-4.5.1-SNAPSHOT.jar differ diff --git a/pyliquibase/jdbc-drivers/release-notes.txt b/pyliquibase/jdbc-drivers/release-notes.txt new file mode 100644 index 0000000..b05f17b --- /dev/null +++ b/pyliquibase/jdbc-drivers/release-notes.txt @@ -0,0 +1,547 @@ +============================================================================== +Magnitude Simba Google BigQuery JDBC Data Connector Release Notes +============================================================================== + +The release notes provide details of enhancements, features, known issues, and +workflow changes in Simba Google BigQuery JDBC Connector 1.2.19, as well as +the version history. + + +1.2.19 ======================================================================== + +Released 2021-07-30 + +Enhancements & New Features + + * [GBQJ-438] Multi-statement transactions support + + The connector now supports multi-statement transactions. For more + information, see: + https://cloud.google.com/bigquery/docs/reference/standard-sql/transactions + + * [GBQJ-460] New MetaDataFetchThreadCount property + + You can now control the number of threads used to call a DatabaseMetaData + method. To do this, set the MetaDataFetchThreadCount property to the + desired number of threads. For more information, see the Installation and + Configuration Guide. + + * [GBQJ-460] Improved performance for metadata functions + + Improvements in parallelization and new design have been made to the + following metadata functions: + - getColumns + - getFunctions + - getFunctionColumns + - getProcedures + - getProcedureColumns + - getSchemas + - getTables + + * [GBQJ-460] Data control language support + + The connector now supports data control language. For more + information, see: + https://cloud.google.com/bigquery/docs/reference/standard-sql/data-control-language + + * [GBQJ-489] Third-party library update + + The connector has been updated with the following third-party libraries: + - google-api-client 1.32.1 (previously 1.31.4) + - google-api-services-bigquery v2-rev20210617-1.32.1 (previously + v2-rev20210410-1.31.0) + - google-cloud-bigquery 1.137.0 (previously 1.128.1) + - google-cloud-bigquerystorage 1.23.0 (previously 1.20.2) + + +Known Issues +The following are known issues that you may encounter due to limitations in +the data source, the connector, or an application. + + * The connector does not support parameterized types for Resultset and + Parameter metadata. + + This is a limitation of the Google BigQuery server. + + * Connector terminates when multiple connections are set to LogLevel=6. + + When multiple connections with the same LogPath directory are running with + LogLevel set to 6, a collision might happen. This results in one of the + connections terminating unexpectedly. + + * The connector no longer supports parameters in the exception block. + + This is a limitation of the Google BigQuery server discovered on Mar 2021. + + * TRACE level logs incorrectly contain stack trace for function entrances. + + When logging at the TRACE level (LogLevel=6), function entrance logs are + generated for each function that is called. These logs incorrectly + include a stack trace. + + * Query prefixes are not supported. + + The driver does not support query prefixes. To specify whether your query + statements are to be processed using standard SQL or legacy BigQuery SQL, + configure the QueryDialect connection property. + + By default, QueryDialect is set to "SQL" so that the driver uses standard + SQL syntax. To use BigQuery SQL instead, set the property to "BIG_QUERY". + + * Support for ODBC Escape Sequences is limited. + + The only supported ODBC Escape Sequences are Scalar Functions of the form + {fn func(args)} if func is supported by the Google BigQuery data source + engine. + + * When casting data, you must specify the data type according to Google + BigQuery standards. + + When casting data to a specific data type, you must use the corresponding + data type name shown in the "Casting" section of the Query Reference: + https://cloud.google.com/bigquery/sql-reference/functions-and-operators#casting. + + For example, to cast the "salary" column to the INTEGER type, you must + specify INT64 instead of INTEGER: + + SELECT position, CAST(salary AS INT64) from Employee + + +Workflow Changes ============================================================= + +The following changes may disrupt established workflows for the connector. + + +1.2.14 ----------------------------------------------------------------------- + + * [GBQJ-435] MaxResults default value + + Beginning with this release, MaxResults now defaults to 10,000. The + previous default (0) of unlimited rows would cause an increase in query + execution time in many scenarios. For more information, see the + Installation and Configuration Guide. + + +1.2.2 ------------------------------------------------------------------------ + + * Removed support for JDBC 4.1 (Java 7) + + Beginning with this release, the driver no longer supports JDBC 4.1 (Java + 7). For a list of supported JDBC versions, see the Installation and + Configuration Guide. + + +Version History ============================================================== + +1.2.18 ----------------------------------------------------------------------- + +Released 2021-06-30 + +Enhancements & New Features + + * [GBQJ-473] Updated job retry behaviour + + Retrying job executions has been improved to prevent read timeout errors. + + * [GBQJ-467] Parameterized data types support + + The connector now supports parameterized data types. For metadata + functions, DatabaseMetaData.getColumns() returns the size, length, + precision, and scale related to these types. + + Due to current limitations of the BigQuery server with providing metadata + for result sets and parameters, the connector does not provide specific + information (size, scale, etc.) in some cases. In these cases, the + connector returns the default value. Also, due to JDBC limitations, the + connector can only return STRING and BYTE lengths up to 32-bit. + + For example: + CREATE TABLE Test(str STRING(100)); + + DatabaseMetaData.getColumns() returns the correct value of 100 for the size + and buffer length. However, ResultSet.getMetadata() returns the default + string length that has been set for the connector. + + +Resolved Issues +The following issues have been resolved in Simba Google BigQuery JDBC +Connector 1.2.18. + + * [GBQJ-472] When authenticating with a service account and only an access + token is provided, the connector returns an error. + + * [GBQJ-470] LargeResultTable contains a period in some languages, resulting + in an invalid table name. + + This issue has been resolved. The "day of week" name has been removed from + the timestamp. + + * [GBQJ-475] When using SQL dialect, the destination tables are not properly + created. + + +1.2.16 ----------------------------------------------------------------------- + +Released 2021-05-07 + +Enhancements & New Features + + * [GBQJ-449] Support for service account keyfile + + You can now use a keyfile for a service account. To do this, set the + OAuthPvtKey property to the file path of the .p12 or .json keyfile, or a + raw JSON keyfile object. For more information, see the Installation and + Configuration Guide. + + * [GBQJ-432] Setting individual connection properties + + Connection properties can now be individually set through the DataSource + object. Previously, you could only pass a connection URL to the DataSource + to make a connection. For more information, see the Installation and + Configuration Guide. + + * [GBQJ-444] Updated user agent branding + + The user agent shown when using the connector is now + SimbaJDBCDriverforGoogleBigQuery/x.x (GPN:Simba;). Previously, it was + BigQueryJDBCDriver/x.x (GPN:Simba;). + + * [GBQJ-450] Updated temporary table name + + A randomized ID is now added to the end of the temporary table name. For + more information, see the Installation and Configuration Guide. + + * [GBQJ-455] Third-party library update + + The connector has been updated with the following third-party libraries: + - avro 1.10.2 (previously 1.10.1) + - google-api-client 1.31.4 (previously 1.31.1) + - google-api-services-bigquery v2-rev20210410-1.31.0 (previously + v2-rev20201030-1.31.0) + - google-cloud-bigquery 1.128.1 (previously 1.126.6) + - google-cloud-bigquerystorage 1.20.2 (previously 1.8.4) + - joda-time 2.10.10 (previously 2.10.1) + + +Resolved Issues +The following issues have been resolved in Simba Google BigQuery JDBC +Connector 1.2.16. + + * [GBQJ-445] When querying scripts that start with the WITH keyword, the + connector terminates unexpectedly. + + * [GBQJ-443] In some cases, when inserting a NULL value using + PreparedStatement.setObject(), the connector terminates unexpectedly. + + +1.2.14 ----------------------------------------------------------------------- + +Released 2021-02-26 + +Enhancements & New Features + + * [GBQJ-406] Improved query performance + + The connector now uses the BigQuery jobs.query API for better end-to-end + query times when executing most queries. The following cases are excluded: + - Parameterized queries + - Queries which require the use of a destination table for large results + - Scripting + + +Resolved Issues +The following issue has been resolved in Simba Google BigQuery JDBC Connector +1.2.14. + + * [GBQJ-427] The configuration options ProxyPwd and ProxyUid were incorrectly + documented as ProxyPassword and ProxyUsername respectively in the + Installation and Configuration Guide. + + +1.2.13 ----------------------------------------------------------------------- + +Released 2021-02-01 + +Enhancements & New Features + + * [GBQJ-415][GBQJ-422] Support for additional DDL and DML keywords + + The driver now supports additional DDL keywords. For more information, see: + - https://cloud.google.com/blog/topics/developers-practitioners/smile-new-user-friendly-sql-capabilities-bigquery + - https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language + + * [GBQJ-424] Support for Dynamic SQL + + The driver now supports Dynamic SQL. For more information, see: + https://cloud.google.com/bigquery/docs/reference/standard-sql/scripting#execute_immediate + + * [GBQJ-418][GBQJ-423] Third-party library update + + The driver has been updated with the following third-party libraries to + address security vulnerabilities: + - avro 1.10.1 (previously 1.10.0) + - google-api-services-bigquery v2-rev20201030-1.31.0 (previously + v2-rev20201030-1.30.10) + - google-cloud-bigquery 1.126.6 (previously 1.125.0) + - google-cloud-bigquerystorage 1.8.4 (previously 1.6.4) + + +Resolved Issues +The following issue has been resolved in Simba JDBC Driver for Google +BigQuery 1.2.13. + + * [GBQJ-411] When timeout is less than 1 or greater than Long.MAX_VALUE, the + driver terminates unexpectedly. + + +1.2.12 ----------------------------------------------------------------------- + +Released 2020-11-30 + +Enhancements & New Features + + * [GBQJ-348] Support for Java 11 + + The driver now supports Java 11. + + * [GBQJ-360] SSL trust store support + + The driver now supports authentication using a custom SSL trust store. To + do this, specify the trust store location using the SSLTrustStore property, + and the password for the trust store using the SSLTrustStorePWD property. + For more information, see the Installation and Configuration Guide. + + * [GBQJ-388] Support for BigNumeric data + + The driver now supports data of type BigNumeric, with precision 77 and + scale 38. For more information, see the Installation and Configuration + Guide. + + * [GBQJ-394] New class names + + The driver now supports the following version-agnostic fully-qualified + class names (FQCNs): + - com.simba.googlebigquery.jdbc.Driver + - com.simba.googlebigquery.jdbc.DataSource + + The previously used FQCNs that specify JDBC 4.2 are still valid. + + * [GBQJ-396] Third-party library update + + The driver has been updated with the following third-party libraries to + address security vulnerabilities: + - CVE-2020-7692: google-oauth-client 1.31.1 (previously 1.28.0) + - sonatype-2020-0641: grpc-core 1.33.1 (previously 1.21.0) + + +Resolved Issues +The following issues have been resolved in Simba JDBC Driver for Google +BigQuery 1.2.12. + + * [GBQJ-387] The driver does not handle timezones correctly when setting + prepared statement timestamp parameters. + + * [GBQJ-391] When you authenticate the connection using User Authentication + or Application Default authentication (OAuthType=1 or OAuthType=3), the + driver does not use a proxy server even when proxy settings are specified. + + * [GBQJ-393] When you authenticate the connection using User Authentication + (OAuthType=1), the driver terminates unexpectedly. + + +1.2.11 ----------------------------------------------------------------------- + +Released 2020-08-28 + +Enhancements & New Features + + * [GBQJ-373] Avro library update + + The driver now uses Avro version 1.10. Previously, the driver used version + 1.9. + + * [GBQJ-376] Updated HT API configuration + + For anonymous tables, utilizing storage API is free and the driver now + ignores the HT API ON/OFF flag in the configuration. + + +Resolved Issues +The following issues have been resolved in Simba JDBC Driver for Google +BigQuery 1.2.11. + + * [GBQJ-366] In some cases, when calling executeQuery() for a result set, + the driver returns an error. + + * [GBQJ-371] When retrying failed queries, the driver encounters a rate + limit. + + This issue has been resolved. The driver now retries failed queries + using an exponential back-off mechanism. + + * [GBQJ-375] The driver ignores the StringColumnLength property. + + * [GBQJ-378] The DSI_MULT_RESULT_SETS connection property returns false + instead of true. + + * [GBQJ-383] When using prepared statements to set null parameters for string + datatypes, the driver returns a null pointer exception. + + +1.2.8 ------------------------------------------------------------------------ + +Released 2020-07-17 + +Enhancements & New Features + + * [GBQJ-351] Location restrictions for datasets + + You can now specify a location for the driver, so that the driver only + queries datasets in that location. To do this, set the Location property to + the name of the dataset location. For more information, see the + Installation and Configuration Guide. + + +Resolved Issues +The following issues have been resolved in Simba JDBC Driver for Google +BigQuery 1.2.8. + + * [GBQJ-359] In some cases, queries that include a newline before certain DDL + or DML keywords cause an exception. + + * [GBQJ-361] The getCatalogs() metadata function returns only the first 50 + projects. + + This issue has been resolved. The getCatalogs() function now returns all + projects. + + +1.2.4 ------------------------------------------------------------------------ + +Released 2020-05-11 + +Enhancements & New Features + + * [GBQJ-321] Support for BigQuery scripting + + The driver now supports BigQuery scripting for Standard SQL. For more + information, see "Scripting in Standard SQL" in the BigQuery documentation: + https://cloud.google.com/bigquery/docs/reference/standard-sql/scripting + +* [GBQJ-344] Support for additional passthrough query properties + + You can now pass a property through to the server by using the + QueryProperties connection URL. For more information, see the + Installation and Configuration Guide. + + +Resolved Issues +The following issues have been resolved in Simba JDBC Driver for Google +BigQuery 1.2.4. + + * [GBQJ-336] In some cases, complex queries cause the driver to terminate + unexpectedly. + + * [GBQJ-354] In some cases, if you include comments between DDL statements, + the statement executes correctly but the driver generates an empty result + set. + + * [GBQJ-357] If you use getProcedureColumns() to retrieve Array, Struct, or + Geography types, the driver terminates unexpectedly. + + * [GBQJ-354] In some cases, if you include comments between DDL statements, + the statement executes correctly but the driver generates an empty result + set. + + * [GBQJ-310] When using the Numeric data type, the REST API does not include + leading zeros. + + This issue has been resolved. The driver now uses the default BigQuery + scale of 9 for Numeric data. + + * [GBQJ-310] When using the Boolean or Datetime data types, there are + discrepancies between flat and nested columns. + + This issue has been resolved. The format of Boolean and Datetime data in + nested columns now matches the format of flat columns. + + +1.2.3 ------------------------------------------------------------------------ + +Released 2020-03-27 + +Enhancements & New Features + + * [GBQJ-325] Support for DDL ALTER TABLE SET OPTIONS statements. + + The driver now supports ALTER TABLE SET OPTIONS statements in DDL. For + more information, see "ALTER TABLE SET OPTIONS" in the Google BigQuery + documentation: + https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#alter_table_set_options_statement + + * [GBQJ-302] Support for catalog metadata API calls for persistent functions. + + The driver now supports catalog metadata API calls for persistent + functions. + + * [GBQJ-324] Support for CREATE, CREATE OR REPLACE, DROP statements for + FUNCTION and PROCEDURE. + + The driver now supports these statements. + + * [GBQJ-327] Support for JDBC Batch Execute + + The driver now supports JDBC Batch Execute. + + +Resolved Issues +The following issue has been resolved in Simba JDBC Driver for Google +BigQuery 1.2.3. + + * [GBQJ-334] Temporary tables never expire + + This issue has been resolved. Now, temporary tables expire after one hour + by default. You can change this expiration time by setting the new + LargeResultsDatasetExpirationTime connection property. For more + information, see the Installation and Configuration Guide. + + +1.2.2 ------------------------------------------------------------------------ + +Released 2019-09-23 + +Enhancements & New Features + + * [GBQJ-303] Avro library update + + The driver now uses Avro version 1.9. + + As a result of this update, the driver no longer supports JDBC 4.1. For + more information, see "Workflow Changes" in this document. + + +Resolved Issues +The following issues have been resolved in Simba JDBC Driver for Google +BigQuery 1.2.2. + + * [GBJQ-298] Some data types are returned differently in nested ARRAY and + STRUCT formats than they are in flat data. + + This issue has been resolved. The following data types in nested ARRAY and + STRUCT formats are now returned differently to match the representation + that would be expected if they were in flat columns: + - BYTES + - DATE + - DATETIME + - NUMERIC + - TIME + - TIMESTAMP + + Note: The Storage API returns NUMERIC data in a nested ARRAY or STRUCT + with trailing zeroes. The REST API trims the trailing zeroes. + + * [GBQJ-309] The driver incorrectly rounds BigDecimal parameter values that + are bound to prepared statements. + + +============================================================================== \ No newline at end of file diff --git a/pyliquibase/jdbc-drivers/third-party-licenses.txt b/pyliquibase/jdbc-drivers/third-party-licenses.txt new file mode 100644 index 0000000..b757f75 --- /dev/null +++ b/pyliquibase/jdbc-drivers/third-party-licenses.txt @@ -0,0 +1,1787 @@ +============================================================================= +Third Party Licenses +============================================================================= + +----------------------------------------------------------------------------- +The following notice is included in compliance with the Apache License, +Version 2.0 and is applicable to all software licensed under the Apache +License, Version 2.0. + +--License Start-- +Apache License +Version 2.0, January 2004 +http://www.apache.org/licenses/ + +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by the + copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all other + entities that control, are controlled by, or are under common control + with that entity. For the purposes of this definition, "control" means + (i) the power, direct or indirect, to cause the direction or management + of such entity, whether by contract or otherwise, or (ii) ownership of + fifty percent (50%) or more of the outstanding shares, or (iii) + beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity exercising + permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation source, + and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but not + limited to compiled object code, generated documentation, and + conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or Object + form, made available under the License, as indicated by a copyright + notice that is included in or attached to the work (an example is + provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including the original + version of the Work and any modifications or additions to that Work or + Derivative Works thereof, that is intentionally submitted to Licensor + for inclusion in the Work by the copyright owner or by an individual or + Legal Entity authorized to submit on behalf of the copyright owner. For + the purposes of this definition, "submitted" means any form of + electronic, verbal, or written communication sent to the Licensor or + its representatives, including but not limited to communication on + electronic mailing lists, source code control systems, and issue + tracking systems that are managed by, or on behalf of, the Licensor for + the purpose of discussing and improving the Work, but excluding + communication that is conspicuously marked or otherwise designated in + writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity on + behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of this + License, each Contributor hereby grants to You a perpetual, worldwide, + non-exclusive, no-charge, royalty-free, irrevocable copyright license + to reproduce, prepare Derivative Works of, publicly display, publicly + perform, sublicense, and distribute the Work and such Derivative Works + in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of this + License, each Contributor hereby grants to You a perpetual, worldwide, + non-exclusive, no-charge, royalty-free, irrevocable (except as stated + in this section) patent license to make, have made, use, offer to sell, + sell, import, and otherwise transfer the Work, where such license + applies only to those patent claims licensable by such Contributor + that are necessarily infringed by their Contribution(s) alone or by + combination of their Contribution(s) with the Work to which such + Contribution(s) was submitted. If You institute patent litigation + against any entity (including a cross-claim or counterclaim in a + lawsuit) alleging that the Work or a Contribution incorporated within + the Work constitutes direct or contributory patent infringement, then + any patent licenses granted to You under this License for that Work + shall terminate as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the Work or + Derivative Works thereof in any medium, with or without modifications, + and in Source or Object form, provided that You meet the following + conditions: + + (a) You must give any other recipients of the Work or Derivative + Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works that + You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, excluding + those notices that do not pertain to any part of the Derivative + Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one of + the following places: within a NOTICE text file distributed as + part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and do not + modify the License. You may add Your own attribution notices + within Derivative Works that You distribute, alongside or as an + addendum to the NOTICE text from the Work, provided that such + additional attribution notices cannot be construed as modifying + the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions for + use, reproduction, or distribution of Your modifications, or for any + such Derivative Works as a whole, provided Your use, reproduction, + and distribution of the Work otherwise complies with the conditions + stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or agreed to + in writing, Licensor provides the Work (and each Contributor + provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES + OR CONDITIONS OF ANY KIND, either express or implied, including, + without limitation, any warranties or conditions of TITLE, + NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR + PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this + License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the Work + (including but not limited to damages for loss of goodwill, work + stoppage, computer failure or malfunction, or any and all other + commercial damages or losses), even if such Contributor has been + advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing the + Work or Derivative Works thereof, You may choose to offer, and + charge a fee for, acceptance of support, warranty, indemnity, or + other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only on + Your own behalf and on Your sole responsibility, not on behalf of any + other Contributor, and only if You agree to indemnify, defend, and + hold each Contributor harmless for any liability incurred by, or + claims asserted against, such Contributor by reason of your accepting + any such warranty or additional liability. + +END OF TERMS AND CONDITIONS + +APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following boilerplate + notice, with the fields enclosed by brackets "[]" replaced with your own + identifying information. (Don't include the brackets!) The text should be + enclosed in the appropriate comment syntax for the file format. We also + recommend that a file or class name and description of purpose be included + on the same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed 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. +--License End-- + +This product includes software that is licensed under the Apache License, +Version 2.0 (listed below). + +--License Start-- +Apache Commons Codec +Copyright © 2002-2014 The Apache Software Foundation. + +Apache Logging Services +Copyright © 1999-2012 The Apache Software Foundation. + +Apache Commons Compress +Copyright © 2002-2014 The Apache Software Foundation. + +Apache Commons Lang +Copyright © 2001-2016 The Apache Software Foundation. + +Apache HttpComponents License +Copyright © 2005-2015 The Apache Software Foundation. + +Error Prone +Copyright © 2014 - 2017 The Error Prone Authors. + +Google API Client +Copyright © 2010-2016 Google, Inc. + +Google BigQuery API v2 Client Library for Java +Copyright © 2010 Google, Inc. + +Google Cloud BigQuery Storage License +Copyright © 2019 Google LLC + +Google Cloud Core +Copyright © 2015-2017 Google LLC. + +Google Cloud Core gRPC +Copyright © 2017 Google LLC. + +Google GSON +Copyright © 2008-2011 Google, Inc. + +Google Guava +Copyright © 2006-2015 Google, Inc. + +Google HTTP Client +Copyright © 2010-2016 Google, Inc. + +Google OAuth Client +Copyright © 2010-2016 Google, Inc. + +gRPC +Copyright © 2014 The gRPC Authors. + +GRPC Google Cloud Bigquerystorage V1beta1 +Copyright © 2019 Google LLC. + +J2ObjC Annotations +Copyright © 2012 Google Inc. + +Jackson +Copyright © 2009-2011 FasterXML, LLC + +Joda-Time +Copyright © 2005–2015 Joda.org. + +OpenCensus +Copyright © 2018, OpenCensus Authors. + +Proto Google Common Protos +Copyright © 2018 Google LLC. + +Proto Google IAM V1 +Copyright © 2016 - 2017 Google Inc. + +Snappy-Java +Copyright © 2015 Taro L. Saito (Twitter @taroleo). + +Licensed 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. +--License End-- + +--License Start-- +Apache Avro +Copyright 2010-2019 The Apache Software Foundation + +This product includes software developed at +The Apache Software Foundation (https://www.apache.org/). + +NUnit license acknowledgement: + +| Portions Copyright © 2002-2012 Charlie Poole or Copyright © 2002-2004 James +| W. Newkirk, Michael C. Two, Alexei A. Vorontsov or Copyright © 2000-2002 +| Philip A. Craig + +Based upon the representations of upstream licensors, it is understood that +portions of the mapreduce API included in the Java implementation are licensed +from various contributors under one or more contributor license agreements to +Odiago, Inc. and were then contributed by Odiago to Apache Avro, which has now +made them available under the Apache 2.0 license. The original file header +text is: + +| Licensed to Odiago, Inc. under one or more contributor license +| agreements. See the NOTICE file distributed with this work for +| additional information regarding copyright ownership. Odiago, Inc. +| 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 +| +| https://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. + +The Odiago NOTICE at the time of the contribution: + +| This product includes software developed by Odiago, Inc. +| (https://www.wibidata.com). + +Apache Ivy includes the following in its NOTICE file: + +| Apache Ivy +| Copyright 2007-2010 The Apache Software Foundation +| +| This product includes software developed by +| The Apache Software Foundation (https://www.apache.org/). +| +| Portions of Ivy were originally developed by +| Jayasoft SARL (http://www.jayasoft.fr/) +| and are licensed to the Apache Software Foundation under the +| "Software Grant License Agreement" +| +| SSH and SFTP support is provided by the JCraft JSch package, +| which is open source software, available under +| the terms of a BSD style license. +| The original software and related information is available +| at http://www.jcraft.com/jsch/. + +Apache Log4Net includes the following in its NOTICE file: + +| Apache log4net +| Copyright 2004-2015 The Apache Software Foundation +| +| This product includes software developed at +| The Apache Software Foundation (https://www.apache.org/). +--License End-- + +----------------------------------------------------------------------------- +The following is the license for Google Auth Library For Java, which is +included in this package. + +--License Start-- +Copyright 2014, Google Inc. 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 Google Inc. 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. +--License End-- + +----------------------------------------------------------------------------- +The following is the license for Google Protocol Buffers, which is included in +this package. + +--License Start-- +Protocol Buffers - Google's data interchange format +Copyright 2008 Google Inc. All rights reserved. +https://developers.google.com/protocol-buffers/ + +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 Google Inc. 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. + +Code generated by the Protocol Buffer compiler is owned by the owner +of the input file used when generating it. This code is not +standalone and requires a support library to be linked with it. This +support library is itself covered by the above license. +--License End-- + +----------------------------------------------------------------------------- +The following is the license for ThreeTen Backport, which is included in +this package. + +--License Start-- +Copyright (c) 2007-present, Stephen Colebourne & Michael Nascimento Santos. +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 JSR-310 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. +--License End-- + +----------------------------------------------------------------------------- +The following is the license for Google API Common for Java, which is included +in this package. + +--License Start-- +Copyright 2016, Google Inc. +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 Google Inc. 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. +--License End-- + +----------------------------------------------------------------------------- +The following is the license for Google API Extensions for Java, which is +included in this package. + +--License Start-- +Copyright 2016, Google Inc. 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 Google Inc. 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. +--License End-- + +----------------------------------------------------------------------------- +The following is the license for Paranamer, which is included in +this package. + +--License Start-- +[ ParaNamer used to be 'Pubic Domain', but since it includes a small piece of +ASM it is now the same license as that: BSD ] + + Portions copyright (c) 2006-2018 Paul Hammant & ThoughtWorks Inc + Portions copyright (c) 2000-2007 INRIA, France Telecom + 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 copyright holders 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. +--License End-- + +----------------------------------------------------------------------------- +The following is the license for Simple Logging Façade for Java, which is +included in this package. + +--License Start-- +Copyright © 2004-2015 QOS.ch + +All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +--License End-- + +------------------------------------------------------------------------------ +The following is the license for Animal Sniffer Annotations, which is included +in this package. + +--License Start-- +The MIT License + +Copyright (c) 2008 Kohsuke Kawaguchi and codehaus.org. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +--License End-- + +------------------------------------------------------------------------------ +The following is the license for XZ for Java, which is included in +this package. + +--License Start-- +This Java implementation of XZ has been put into the public domain, thus you +can do whatever you want with it. All the files in the package have been +written by Lasse Collin, but some files are heavily based on public domain +code written by Igor Pavlov +--License End-- +------------------------------------------------------------------------------ +The following is the license for Checker Qual, which is included in +this package. + +--License Start-- +GNU General Public License v2.0 + +This needs to be included if any of the third party software for the driver is +licensed under the GNU General Public License v2.0. + +The GNU General Public License (GPL) + +Version 2, June 1991 + +Copyright (C) 1989, 1991 Free Software Foundation, Inc. +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + +Everyone is permitted to copy and distribute verbatim copies of this license +document, but changing it is not allowed. + +Preamble + +The licenses for most software are designed to take away your freedom to share +and change it. By contrast, the GNU General Public License is intended to +guarantee your freedom to share and change free software--to make sure the +software is free for all its users. This General Public License applies to +most of the Free Software Foundation's software and to any other program whose +authors commit to using it. (Some other Free Software Foundation software is +covered by the GNU Library General Public License instead.) You can apply it to +your programs, too. + +When we speak of free software, we are referring to freedom, not price. Our +General Public Licenses are designed to make sure that you have the freedom to +distribute copies of free software (and charge for this service if you wish), +that you receive source code or can get it if you want it, that you can change +the software or use pieces of it in new free programs; and that you know you +can do these things. + +To protect your rights, we need to make restrictions that forbid anyone to deny +you these rights or to ask you to surrender the rights. These restrictions +translate to certain responsibilities for you if you distribute copies of the +software, or if you modify it. + +For example, if you distribute copies of such a program, whether gratis or for +a fee, you must give the recipients all the rights that you have. You must +make sure that they, too, receive or can get the source code. And you must +show them these terms so they know their rights. + +We protect your rights with two steps: (1) copyright the software, and (2) +offer you this license which gives you legal permission to copy, distribute +and/or modify the software. + +Also, for each author's protection and ours, we want to make certain that +everyone understands that there is no warranty for this free software. If the +software is modified by someone else and passed on, we want its recipients to +know that what they have is not the original, so that any problems introduced +by others will not reflect on the original authors' reputations. + +Finally, any free program is threatened constantly by software patents. We +wish to avoid the danger that redistributors of a free program will +individually obtain patent licenses, in effect making the program proprietary. +To prevent this, we have made it clear that any patent must be licensed for +everyone's free use or not licensed at all. + +The precise terms and conditions for copying, distribution and modification +follow. + +TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + +0. This License applies to any program or other work which contains a notice +placed by the copyright holder saying it may be distributed under the terms of +this General Public License. The "Program", below, refers to any such program +or work, and a "work based on the Program" means either the Program or any +derivative work under copyright law: that is to say, a work containing the +Program or a portion of it, either verbatim or with modifications and/or +translated into another language. (Hereinafter, translation is included +without limitation in the term "modification".) Each licensee is addressed as +"you". + +Activities other than copying, distribution and modification are not covered by +this License; they are outside its scope. The act of running the Program is +not restricted, and the output from the Program is covered only if its contents +constitute a work based on the Program (independent of having been made by +running the Program). Whether that is true depends on what the Program does. + +1. You may copy and distribute verbatim copies of the Program's source code as +you receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice and +disclaimer of warranty; keep intact all the notices that refer to this License +and to the absence of any warranty; and give any other recipients of the +Program a copy of this License along with the Program. + +You may charge a fee for the physical act of transferring a copy, and you may +at your option offer warranty protection in exchange for a fee. + +2. You may modify your copy or copies of the Program or any portion of it, thus +forming a work based on the Program, and copy and distribute such modifications +or work under the terms of Section 1 above, provided that you also meet all of +these conditions: + +a) You must cause the modified files to carry prominent notices stating +that you changed the files and the date of any change. + +b) You must cause any work that you distribute or publish, that in whole or +in part contains or is derived from the Program or any part thereof, to be +licensed as a whole at no charge to all third parties under the terms of +this License. + +c) If the modified program normally reads commands interactively when run, +you must cause it, when started running for such interactive use in the +most ordinary way, to print or display an announcement including an +appropriate copyright notice and a notice that there is no warranty (or +else, saying that you provide a warranty) and that users may redistribute +the program under these conditions, and telling the user how to view a copy +of this License. (Exception: if the Program itself is interactive but does +not normally print such an announcement, your work based on the Program is +not required to print an announcement.) + +These requirements apply to the modified work as a whole. If identifiable +sections of that work are not derived from the Program, and can be reasonably +considered independent and separate works in themselves, then this License, and +its terms, do not apply to those sections when you distribute them as separate +works. But when you distribute the same sections as part of a whole which is a +work based on the Program, the distribution of the whole must be on the terms +of this License, whose permissions for other licensees extend to the entire +whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest your +rights to work written entirely by you; rather, the intent is to exercise the +right to control the distribution of derivative or collective works based on +the Program. + +In addition, mere aggregation of another work not based on the Program with the +Program (or with a work based on the Program) on a volume of a storage or +distribution medium does not bring the other work under the scope of this +License. + +3. You may copy and distribute the Program (or a work based on it, under +Section 2) in object code or executable form under the terms of Sections 1 and +2 above provided that you also do one of the following: + +a) Accompany it with the complete corresponding machine-readable source +code, which must be distributed under the terms of Sections 1 and 2 above +on a medium customarily used for software interchange; or, + +b) Accompany it with a written offer, valid for at least three years, to +give any third party, for a charge no more than your cost of physically +performing source distribution, a complete machine-readable copy of the +corresponding source code, to be distributed under the terms of Sections 1 +and 2 above on a medium customarily used for software interchange; or, + +c) Accompany it with the information you received as to the offer to +distribute corresponding source code. (This alternative is allowed only +for noncommercial distribution and only if you received the program in +object code or executable form with such an offer, in accord with +Subsection b above.) + +The source code for a work means the preferred form of the work for making +modifications to it. For an executable work, complete source code means all +the source code for all modules it contains, plus any associated interface +definition files, plus the scripts used to control compilation and installation +of the executable. However, as a special exception, the source code +distributed need not include anything that is normally distributed (in either +source or binary form) with the major components (compiler, kernel, and so on) +of the operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering access to copy +from a designated place, then offering equivalent access to copy the source +code from the same place counts as distribution of the source code, even though +third parties are not compelled to copy the source along with the object code. + +4. You may not copy, modify, sublicense, or distribute the Program except as +expressly provided under this License. Any attempt otherwise to copy, modify, +sublicense or distribute the Program is void, and will automatically terminate +your rights under this License. However, parties who have received copies, or +rights, from you under this License will not have their licenses terminated so +long as such parties remain in full compliance. + +5. You are not required to accept this License, since you have not signed it. +However, nothing else grants you permission to modify or distribute the Program +or its derivative works. These actions are prohibited by law if you do not +accept this License. Therefore, by modifying or distributing the Program (or +any work based on the Program), you indicate your acceptance of this License to +do so, and all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + +6. Each time you redistribute the Program (or any work based on the Program), +the recipient automatically receives a license from the original licensor to +copy, distribute or modify the Program subject to these terms and conditions. +You may not impose any further restrictions on the recipients' exercise of the +rights granted herein. You are not responsible for enforcing compliance by +third parties to this License. + +7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), conditions +are imposed on you (whether by court order, agreement or otherwise) that +contradict the conditions of this License, they do not excuse you from the +conditions of this License. If you cannot distribute so as to satisfy +simultaneously your obligations under this License and any other pertinent +obligations, then as a consequence you may not distribute the Program at all. +For example, if a patent license would not permit royalty-free redistribution +of the Program by all those who receive copies directly or indirectly through +you, then the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under any +particular circumstance, the balance of the section is intended to apply and +the section as a whole is intended to apply in other circumstances. + +It is not the purpose of this section to induce you to infringe any patents or +other property right claims or to contest validity of any such claims; this +section has the sole purpose of protecting the integrity of the free software +distribution system, which is implemented by public license practices. Many +people have made generous contributions to the wide range of software +distributed through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing to +distribute software through any other system and a licensee cannot impose that +choice. + +This section is intended to make thoroughly clear what is believed to be a +consequence of the rest of this License. + +8. If the distribution and/or use of the Program is restricted in certain +countries either by patents or by copyrighted interfaces, the original +copyright holder who places the Program under this License may add an explicit +geographical distribution limitation excluding those countries, so that +distribution is permitted only in or among countries not thus excluded. In +such case, this License incorporates the limitation as if written in the body +of this License. + +9. The Free Software Foundation may publish revised and/or new versions of the +General Public License from time to time. Such new versions will be similar in +spirit to the present version, but may differ in detail to address new problems +or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any later +version", you have the option of following the terms and conditions either of +that version or of any later version published by the Free Software Foundation. +If the Program does not specify a version number of this License, you may +choose any version ever published by the Free Software Foundation. + +10. If you wish to incorporate parts of the Program into other free programs +whose distribution conditions are different, write to the author to ask for +permission. For software which is copyrighted by the Free Software Foundation, +write to the Free Software Foundation; we sometimes make exceptions for this. +Our decision will be guided by the two goals of preserving the free status of +all derivatives of our free software and of promoting the sharing and reuse of +software generally. + +NO WARRANTY + +11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR +THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE +STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE +PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, +INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND +PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, +YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + +12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL +ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE +PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR +INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA +BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A +FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER +OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + +END OF TERMS AND CONDITIONS + +How to Apply These Terms to Your New Programs + +If you develop a new program, and you want it to be of the greatest possible +use to the public, the best way to achieve this is to make it free software +which everyone can redistribute and change under these terms. + +To do so, attach the following notices to the program. It is safest to attach +them to the start of each source file to most effectively convey the exclusion +of warranty; and each file should have at least the "copyright" line and a +pointer to where the full notice is found. + +One line to give the program's name and a brief idea of what it does. + +Copyright (C) + +This program is free software; you can redistribute it and/or modify it +under the terms of the GNU General Public License as published by the Free +Software Foundation; either version 2 of the License, or (at your option) +any later version. + +This program is distributed in the hope that it will be useful, but WITHOUT +ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for +more details. + +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this when it +starts in an interactive mode: + +Gnomovision version 69, Copyright (C) year name of author Gnomovision comes +with ABSOLUTELY NO WARRANTY; for details type 'show w'. This is free +software, and you are welcome to redistribute it under certain conditions; +type 'show c' for details. + +The hypothetical commands 'show w' and 'show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may be +called something other than 'show w' and 'show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your school, +if any, to sign a "copyright disclaimer" for the program, if necessary. Here +is a sample; alter the names: + +Yoyodyne, Inc., hereby disclaims all copyright interest in the program +'Gnomovision' (which makes passes at compilers) written by James Hacker. + +signature of Ty Coon, 1 April 1989 + +Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Library General Public +License instead of this License. + + +"CLASSPATH" EXCEPTION TO THE GPL + +Certain source files distributed by Oracle America and/or its affiliates are +subject to the following clarification and special exception to the GPL, but +only where Oracle has expressly included in the particular source file's header +the words "Oracle designates this particular file as subject to the "Classpath" +exception as provided by Oracle in the LICENSE file that accompanied this code." + +Linking this library statically or dynamically with other modules is making +a combined work based on this library. Thus, the terms and conditions of +the GNU General Public License cover the whole combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent modules, +and to copy and distribute the resulting executable under terms of your +choice, provided that you also meet, for each linked independent module, +the terms and conditions of the license of that module. An independent +module is a module which is not derived from or based on this library. If +you modify this library, you may extend this exception to your version of +the library, but you are not obligated to do so. If you do not wish to do +so, delete this exception statement from your version. +--License End-- + +----------------------------------------------------------------------------- +The following is the license for Javax Annotation, which is included in +this package. + +--License Start-- +COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.1 + +1. Definitions. + + 1.1. "Contributor" means each individual or entity that creates or + contributes to the creation of Modifications. + + 1.2. "Contributor Version" means the combination of the Original + Software, prior Modifications used by a Contributor (if any), and + the Modifications made by that particular Contributor. + + 1.3. "Covered Software" means (a) the Original Software, or (b) + Modifications, or (c) the combination of files containing Original + Software with files containing Modifications, in each case including + portions thereof. + + 1.4. "Executable" means the Covered Software in any form other than + Source Code. + + 1.5. "Initial Developer" means the individual or entity that first + makes Original Software available under this License. + + 1.6. "Larger Work" means a work which combines Covered Software or + portions thereof with code not governed by the terms of this License. + + 1.7. "License" means this document. + + 1.8. "Licensable" means having the right to grant, to the maximum + extent possible, whether at the time of the initial grant or + subsequently acquired, any and all of the rights conveyed herein. + + 1.9. "Modifications" means the Source Code and Executable form of + any of the following: + + A. Any file that results from an addition to, deletion from or + modification of the contents of a file containing Original Software + or previous Modifications; + + B. Any new file that contains any part of the Original Software or + previous Modification; or + + C. Any new file that is contributed or otherwise made available + under the terms of this License. + + 1.10. "Original Software" means the Source Code and Executable form + of computer software code that is originally released under this + License. + + 1.11. "Patent Claims" means any patent claim(s), now owned or + hereafter acquired, including without limitation, method, process, + and apparatus claims, in any patent Licensable by grantor. + + 1.12. "Source Code" means (a) the common form of computer software + code in which modifications are made and (b) associated + documentation included in or with such code. + + 1.13. "You" (or "Your") means an individual or a legal entity + exercising rights under, and complying with all of the terms of, + this License. For legal entities, "You" includes any entity which + controls, is controlled by, or is under common control with You. For + purposes of this definition, "control" means (a) the power, direct + or indirect, to cause the direction or management of such entity, + whether by contract or otherwise, or (b) ownership of more than + fifty percent (50%) of the outstanding shares or beneficial + ownership of such entity. + +2. License Grants. + + 2.1. The Initial Developer Grant. + + Conditioned upon Your compliance with Section 3.1 below and subject + to third party intellectual property claims, the Initial Developer + hereby grants You a world-wide, royalty-free, non-exclusive license: + + (a) under intellectual property rights (other than patent or + trademark) Licensable by Initial Developer, to use, reproduce, + modify, display, perform, sublicense and distribute the Original + Software (or portions thereof), with or without Modifications, + and/or as part of a Larger Work; and + + (b) under Patent Claims infringed by the making, using or selling of + Original Software, to make, have made, use, practice, sell, and + offer for sale, and/or otherwise dispose of the Original Software + (or portions thereof). + + (c) The licenses granted in Sections 2.1(a) and (b) are effective on + the date Initial Developer first distributes or otherwise makes the + Original Software available to a third party under the terms of this + License. + + (d) Notwithstanding Section 2.1(b) above, no patent license is + granted: (1) for code that You delete from the Original Software, or + (2) for infringements caused by: (i) the modification of the + Original Software, or (ii) the combination of the Original Software + with other software or devices. + + 2.2. Contributor Grant. + + Conditioned upon Your compliance with Section 3.1 below and subject + to third party intellectual property claims, each Contributor hereby + grants You a world-wide, royalty-free, non-exclusive license: + + (a) under intellectual property rights (other than patent or + trademark) Licensable by Contributor to use, reproduce, modify, + display, perform, sublicense and distribute the Modifications + created by such Contributor (or portions thereof), either on an + unmodified basis, with other Modifications, as Covered Software + and/or as part of a Larger Work; and + + (b) under Patent Claims infringed by the making, using, or selling + of Modifications made by that Contributor either alone and/or in + combination with its Contributor Version (or portions of such + combination), to make, use, sell, offer for sale, have made, and/or + otherwise dispose of: (1) Modifications made by that Contributor (or + portions thereof); and (2) the combination of Modifications made by + that Contributor with its Contributor Version (or portions of such + combination). + + (c) The licenses granted in Sections 2.2(a) and 2.2(b) are effective + on the date Contributor first distributes or otherwise makes the + Modifications available to a third party. + + (d) Notwithstanding Section 2.2(b) above, no patent license is + granted: (1) for any code that Contributor has deleted from the + Contributor Version; (2) for infringements caused by: (i) third + party modifications of Contributor Version, or (ii) the combination + of Modifications made by that Contributor with other software + (except as part of the Contributor Version) or other devices; or (3) + under Patent Claims infringed by Covered Software in the absence of + Modifications made by that Contributor. + +3. Distribution Obligations. + + 3.1. Availability of Source Code. + + Any Covered Software that You distribute or otherwise make available + in Executable form must also be made available in Source Code form + and that Source Code form must be distributed only under the terms + of this License. You must include a copy of this License with every + copy of the Source Code form of the Covered Software You distribute + or otherwise make available. You must inform recipients of any such + Covered Software in Executable form as to how they can obtain such + Covered Software in Source Code form in a reasonable manner on or + through a medium customarily used for software exchange. + + 3.2. Modifications. + + The Modifications that You create or to which You contribute are + governed by the terms of this License. You represent that You + believe Your Modifications are Your original creation(s) and/or You + have sufficient rights to grant the rights conveyed by this License. + + 3.3. Required Notices. + + You must include a notice in each of Your Modifications that + identifies You as the Contributor of the Modification. You may not + remove or alter any copyright, patent or trademark notices contained + within the Covered Software, or any notices of licensing or any + descriptive text giving attribution to any Contributor or the + Initial Developer. + + 3.4. Application of Additional Terms. + + You may not offer or impose any terms on any Covered Software in + Source Code form that alters or restricts the applicable version of + this License or the recipients' rights hereunder. You may choose to + offer, and to charge a fee for, warranty, support, indemnity or + liability obligations to one or more recipients of Covered Software. + However, you may do so only on Your own behalf, and not on behalf of + the Initial Developer or any Contributor. You must make it + absolutely clear that any such warranty, support, indemnity or + liability obligation is offered by You alone, and You hereby agree + to indemnify the Initial Developer and every Contributor for any + liability incurred by the Initial Developer or such Contributor as a + result of warranty, support, indemnity or liability terms You offer. + + 3.5. Distribution of Executable Versions. + + You may distribute the Executable form of the Covered Software under + the terms of this License or under the terms of a license of Your + choice, which may contain terms different from this License, + provided that You are in compliance with the terms of this License + and that the license for the Executable form does not attempt to + limit or alter the recipient's rights in the Source Code form from + the rights set forth in this License. If You distribute the Covered + Software in Executable form under a different license, You must make + it absolutely clear that any terms which differ from this License + are offered by You alone, not by the Initial Developer or + Contributor. You hereby agree to indemnify the Initial Developer and + every Contributor for any liability incurred by the Initial + Developer or such Contributor as a result of any such terms You offer. + + 3.6. Larger Works. + + You may create a Larger Work by combining Covered Software with + other code not governed by the terms of this License and distribute + the Larger Work as a single product. In such a case, You must make + sure the requirements of this License are fulfilled for the Covered + Software. + +4. Versions of the License. + + 4.1. New Versions. + + Oracle is the initial license steward and may publish revised and/or + new versions of this License from time to time. Each version will be + given a distinguishing version number. Except as provided in Section + 4.3, no one other than the license steward has the right to modify + this License. + + 4.2. Effect of New Versions. + + You may always continue to use, distribute or otherwise make the + Covered Software available under the terms of the version of the + License under which You originally received the Covered Software. If + the Initial Developer includes a notice in the Original Software + prohibiting it from being distributed or otherwise made available + under any subsequent version of the License, You must distribute and + make the Covered Software available under the terms of the version + of the License under which You originally received the Covered + Software. Otherwise, You may also choose to use, distribute or + otherwise make the Covered Software available under the terms of any + subsequent version of the License published by the license steward. + + 4.3. Modified Versions. + + When You are an Initial Developer and You want to create a new + license for Your Original Software, You may create and use a + modified version of this License if You: (a) rename the license and + remove any references to the name of the license steward (except to + note that the license differs from this License); and (b) otherwise + make it clear that the license contains terms which differ from this + License. + +5. DISCLAIMER OF WARRANTY. + + COVERED SOFTWARE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS" BASIS, + WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, + INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE COVERED SOFTWARE + IS FREE OF DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR + NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF + THE COVERED SOFTWARE IS WITH YOU. SHOULD ANY COVERED SOFTWARE PROVE + DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL DEVELOPER OR ANY + OTHER CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY SERVICING, + REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN + ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY COVERED SOFTWARE IS + AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER. + +6. TERMINATION. + + 6.1. This License and the rights granted hereunder will terminate + automatically if You fail to comply with terms herein and fail to + cure such breach within 30 days of becoming aware of the breach. + Provisions which, by their nature, must remain in effect beyond the + termination of this License shall survive. + + 6.2. If You assert a patent infringement claim (excluding + declaratory judgment actions) against Initial Developer or a + Contributor (the Initial Developer or Contributor against whom You + assert such claim is referred to as "Participant") alleging that the + Participant Software (meaning the Contributor Version where the + Participant is a Contributor or the Original Software where the + Participant is the Initial Developer) directly or indirectly + infringes any patent, then any and all rights granted directly or + indirectly to You by such Participant, the Initial Developer (if the + Initial Developer is not the Participant) and all Contributors under + Sections 2.1 and/or 2.2 of this License shall, upon 60 days notice + from Participant terminate prospectively and automatically at the + expiration of such 60 day notice period, unless if within such 60 + day period You withdraw Your claim with respect to the Participant + Software against such Participant either unilaterally or pursuant to + a written agreement with Participant. + + 6.3. If You assert a patent infringement claim against Participant + alleging that the Participant Software directly or indirectly + infringes any patent where such claim is resolved (such as by + license or settlement) prior to the initiation of patent + infringement litigation, then the reasonable value of the licenses + granted by such Participant under Sections 2.1 or 2.2 shall be taken + into account in determining the amount or value of any payment or + license. + + 6.4. In the event of termination under Sections 6.1 or 6.2 above, + all end user licenses that have been validly granted by You or any + distributor hereunder prior to termination (excluding licenses + granted to You by any distributor) shall survive termination. + +7. LIMITATION OF LIABILITY. + + UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT + (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE + INITIAL DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF + COVERED SOFTWARE, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE + TO ANY PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR + CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT + LIMITATION, DAMAGES FOR LOSS OF GOODWILL, WORK STOPPAGE, COMPUTER + FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER COMMERCIAL DAMAGES OR + LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN INFORMED OF THE + POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF LIABILITY SHALL NOT + APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY RESULTING FROM SUCH + PARTY'S NEGLIGENCE TO THE EXTENT APPLICABLE LAW PROHIBITS SUCH + LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OR + LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THIS EXCLUSION + AND LIMITATION MAY NOT APPLY TO YOU. + +8. U.S. GOVERNMENT END USERS. + + The Covered Software is a "commercial item," as that term is defined + in 48 C.F.R. 2.101 (Oct. 1995), consisting of "commercial computer + software" (as that term is defined at 48 C.F.R. § + 252.227-7014(a)(1)) and "commercial computer software documentation" + as such terms are used in 48 C.F.R. 12.212 (Sept. 1995). Consistent + with 48 C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 + (June 1995), all U.S. Government End Users acquire Covered Software + with only those rights set forth herein. This U.S. Government Rights + clause is in lieu of, and supersedes, any other FAR, DFAR, or other + clause or provision that addresses Government rights in computer + software under this License. + +9. MISCELLANEOUS. + + This License represents the complete agreement concerning subject + matter hereof. If any provision of this License is held to be + unenforceable, such provision shall be reformed only to the extent + necessary to make it enforceable. This License shall be governed by + the law of the jurisdiction specified in a notice contained within + the Original Software (except to the extent applicable law, if any, + provides otherwise), excluding such jurisdiction's conflict-of-law + provisions. Any litigation relating to this License shall be subject + to the jurisdiction of the courts located in the jurisdiction and + venue specified in a notice contained within the Original Software, + with the losing party responsible for costs, including, without + limitation, court costs and reasonable attorneys' fees and expenses. + The application of the United Nations Convention on Contracts for + the International Sale of Goods is expressly excluded. Any law or + regulation which provides that the language of a contract shall be + construed against the drafter shall not apply to this License. You + agree that You alone are responsible for compliance with the United + States export administration regulations (and the export control + laws and regulation of any other countries) when You use, distribute + or otherwise make available any Covered Software. + +10. RESPONSIBILITY FOR CLAIMS. + + As between Initial Developer and the Contributors, each party is + responsible for claims and damages arising, directly or indirectly, + out of its utilization of rights under this License and You agree to + work with Initial Developer and Contributors to distribute such + responsibility on an equitable basis. Nothing herein is intended or + shall be deemed to constitute any admission of liability. + +------------------------------------------------------------------------ + +NOTICE PURSUANT TO SECTION 9 OF THE COMMON DEVELOPMENT AND DISTRIBUTION +LICENSE (CDDL) + +The code released under the CDDL shall be governed by the laws of the +State of California (excluding conflict-of-law provisions). Any +litigation relating to this License shall be subject to the jurisdiction +of the Federal Courts of the Northern District of California and the +state courts of the State of California, with venue lying in Santa Clara +County, California. + + + + The GNU General Public License (GPL) Version 2, June 1991 + +Copyright (C) 1989, 1991 Free Software Foundation, Inc. +51 Franklin Street, Fifth Floor +Boston, MA 02110-1335 +USA + +Everyone is permitted to copy and distribute verbatim copies +of this license document, but changing it is not allowed. + +Preamble + +The licenses for most software are designed to take away your freedom to +share and change it. By contrast, the GNU General Public License is +intended to guarantee your freedom to share and change free software--to +make sure the software is free for all its users. This General Public +License applies to most of the Free Software Foundation's software and +to any other program whose authors commit to using it. (Some other Free +Software Foundation software is covered by the GNU Library General +Public License instead.) You can apply it to your programs, too. + +When we speak of free software, we are referring to freedom, not price. +Our General Public Licenses are designed to make sure that you have the +freedom to distribute copies of free software (and charge for this +service if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs; and that you know you can do these things. + +To protect your rights, we need to make restrictions that forbid anyone +to deny you these rights or to ask you to surrender the rights. These +restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + +For example, if you distribute copies of such a program, whether gratis +or for a fee, you must give the recipients all the rights that you have. +You must make sure that they, too, receive or can get the source code. +And you must show them these terms so they know their rights. + +We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + +Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + +Finally, any free program is threatened constantly by software patents. +We wish to avoid the danger that redistributors of a free program will +individually obtain patent licenses, in effect making the program +proprietary. To prevent this, we have made it clear that any patent must +be licensed for everyone's free use or not licensed at all. + +The precise terms and conditions for copying, distribution and +modification follow. + +TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + +0. This License applies to any program or other work which contains a +notice placed by the copyright holder saying it may be distributed under +the terms of this General Public License. The "Program", below, refers +to any such program or work, and a "work based on the Program" means +either the Program or any derivative work under copyright law: that is +to say, a work containing the Program or a portion of it, either +verbatim or with modifications and/or translated into another language. +(Hereinafter, translation is included without limitation in the term +"modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of running +the Program is not restricted, and the output from the Program is +covered only if its contents constitute a work based on the Program +(independent of having been made by running the Program). Whether that +is true depends on what the Program does. + +1. You may copy and distribute verbatim copies of the Program's source +code as you receive it, in any medium, provided that you conspicuously +and appropriately publish on each copy an appropriate copyright notice +and disclaimer of warranty; keep intact all the notices that refer to +this License and to the absence of any warranty; and give any other +recipients of the Program a copy of this License along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + +2. You may modify your copy or copies of the Program or any portion of +it, thus forming a work based on the Program, and copy and distribute +such modifications or work under the terms of Section 1 above, provided +that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any part + thereof, to be licensed as a whole at no charge to all third parties + under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a notice + that there is no warranty (or else, saying that you provide a + warranty) and that users may redistribute the program under these + conditions, and telling the user how to view a copy of this License. + (Exception: if the Program itself is interactive but does not + normally print such an announcement, your work based on the Program + is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, and +can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based on +the Program, the distribution of the whole must be on the terms of this +License, whose permissions for other licensees extend to the entire +whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of a +storage or distribution medium does not bring the other work under the +scope of this License. + +3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections 1 + and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your cost + of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer to + distribute corresponding source code. (This alternative is allowed + only for noncommercial distribution and only if you received the + program in object code or executable form with such an offer, in + accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source code +means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to control +compilation and installation of the executable. However, as a special +exception, the source code distributed need not include anything that is +normally distributed (in either source or binary form) with the major +components (compiler, kernel, and so on) of the operating system on +which the executable runs, unless that component itself accompanies the +executable. + +If distribution of executable or object code is made by offering access +to copy from a designated place, then offering equivalent access to copy +the source code from the same place counts as distribution of the source +code, even though third parties are not compelled to copy the source +along with the object code. + +4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt otherwise +to copy, modify, sublicense or distribute the Program is void, and will +automatically terminate your rights under this License. However, parties +who have received copies, or rights, from you under this License will +not have their licenses terminated so long as such parties remain in +full compliance. + +5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and all +its terms and conditions for copying, distributing or modifying the +Program or works based on it. + +6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further restrictions +on the recipients' exercise of the rights granted herein. You are not +responsible for enforcing compliance by third parties to this License. + +7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot distribute +so as to satisfy simultaneously your obligations under this License and +any other pertinent obligations, then as a consequence you may not +distribute the Program at all. For example, if a patent license would +not permit royalty-free redistribution of the Program by all those who +receive copies directly or indirectly through you, then the only way you +could satisfy both it and this License would be to refrain entirely from +distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is implemented +by public license practices. Many people have made generous +contributions to the wide range of software distributed through that +system in reliance on consistent application of that system; it is up to +the author/donor to decide if he or she is willing to distribute +software through any other system and a licensee cannot impose that choice. + +This section is intended to make thoroughly clear what is believed to be +a consequence of the rest of this License. + +8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License may +add an explicit geographical distribution limitation excluding those +countries, so that distribution is permitted only in or among countries +not thus excluded. In such case, this License incorporates the +limitation as if written in the body of this License. + +9. The Free Software Foundation may publish revised and/or new +versions of the General Public License from time to time. Such new +versions will be similar in spirit to the present version, but may +differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and +conditions either of that version or of any later version published by +the Free Software Foundation. If the Program does not specify a version +number of this License, you may choose any version ever published by the +Free Software Foundation. + +10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the +author to ask for permission. For software which is copyrighted by the +Free Software Foundation, write to the Free Software Foundation; we +sometimes make exceptions for this. Our decision will be guided by the +two goals of preserving the free status of all derivatives of our free +software and of promoting the sharing and reuse of software generally. + +NO WARRANTY + +11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO +WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. +EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR +OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, +EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE +ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH +YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL +NECESSARY SERVICING, REPAIR OR CORRECTION. + +12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN +WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY +AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR +DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL +DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM +(INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED +INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF +THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR +OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + +END OF TERMS AND CONDITIONS + +How to Apply These Terms to Your New Programs + +If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + +To do so, attach the following notices to the program. It is safest to +attach them to the start of each source file to most effectively convey +the exclusion of warranty; and each file should have at least the +"copyright" line and a pointer to where the full notice is found. + + One line to give the program's name and a brief idea of what it does. + Copyright (C) + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type + `show w'. This is free software, and you are welcome to redistribute + it under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the +appropriate parts of the General Public License. Of course, the commands +you use may be called something other than `show w' and `show c'; they +could even be mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the + program `Gnomovision' (which makes passes at compilers) written by + James Hacker. + + signature of Ty Coon, 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications +with the library. If this is what you want to do, use the GNU Library +General Public License instead of this License. + +# + +Certain source files distributed by Oracle America, Inc. and/or its +affiliates are subject to the following clarification and special +exception to the GPLv2, based on the GNU Project exception for its +Classpath libraries, known as the GNU Classpath Exception, but only +where Oracle has expressly included in the particular source file's +header the words "Oracle designates this particular file as subject to +the "Classpath" exception as provided by Oracle in the LICENSE file +that accompanied this code." + +You should also note that Oracle includes multiple, independent +programs in this software package. Some of those programs are provided +under licenses deemed incompatible with the GPLv2 by the Free Software +Foundation and others. For example, the package includes programs +licensed under the Apache License, Version 2.0. Such programs are +licensed to you under their original licenses. + +Oracle facilitates your further distribution of this package by adding +the Classpath Exception to the necessary parts of its GPLv2 code, which +permits you to use that code in combination with other independent +modules not licensed under the GPLv2. However, note that this would +not permit you to commingle code under an incompatible license with +Oracle's GPLv2 licensed code by, for example, cutting and pasting such +code into a file also containing Oracle's GPLv2 licensed code and then +distributing the result. Additionally, if you were to remove the +Classpath Exception from any of the files to which it applies and +distribute the result, you would likely be required to license some or +all of the other code in that distribution under the GPLv2 as well, and +since the GPLv2 is incompatible with the license terms of some items +included in the distribution by Oracle, removing the Classpath +Exception could therefore effectively compromise your ability to +further distribute the package. + +Proceed with caution and we recommend that you obtain the advice of a +lawyer skilled in open source matters before removing the Classpath +Exception or making modifications to this package which may +subsequently be redistributed and/or involve the use of third party +software. + +CLASSPATH EXCEPTION +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License version 2 cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from or +based on this library. If you modify this library, you may extend this +exception to your version of the library, but you are not obligated to +do so. If you do not wish to do so, delete this exception statement +from your version. +--License End-- +