Profound.js Master Software Agreement This master software agreement (hereinafter "Agreement") provides terms which govern the rights and obligations of you and Profound Logic Software, Inc. ("Profound") with respect to software described in one or more agreements between you and Profound which refer to, and incorporate by reference, this Agreement (individually referred to herein as a “Subsidiary Agreement” and collectively as “Subsidiary Agreements”). 1. Definitions 1.1 “Covered Software” means Profound Software which is covered by a Subsidiary Agreement. 1.2 “Profound Software” shall mean any software developed and/or provided by Profound Logic Software, Inc. 2. Restrictions 2.1 You may not, and agree that you will not attempt to, and will not assist or allow others to: 2.1.1 circumvent a technological measure that effectively controls, or is intended to control, access to any or all of the Profound Software, including the source code of any aspect of the Profound Software; 2.1.2 alter, remove or obscure any proprietary legend, copyright or trademark notice contained in or on the Profound Software; 2.1.3 reverse engineer, reverse assemble, decompile or disassemble the Profound Software; 2.1.4 modify, translate or create derivative works based on the Profound Software; 2.1.5 take any action which is intended to, or would reasonably be expected to, interfere with the operation of the Profound Software, including any activities which would reasonably be expected to interfere with or degrade the operation of equipment used by Profound to operate the Profound.js Converter Engine; or 2.1.6 use the Profound Software, or any information derived from the Profound Software for (i) creating products or services which are competitive with, or which could serve as a replacement for, the Profound Software; (ii) benchmarking or competitive analysis of the Profound Software; or (iii) any other purpose that is, or may be, to Profound’s detriment or commercial disadvantage. 2.2 In the event you become aware of any violation or attempted violation of the provisions of this Section 2, you will immediately inform Profound of that violation and provide Profound such assistance as Profound may reasonably request to remediate any actual or potential damage caused by such actual or attempted violation. 2.3 You acknowledge that all licenses provided in, and all obligations of Profound set forth in, the Subsidiary Agreements are conditioned on your compliance with the requirements of this Section 2, and that any breach of the requirements of this Section 2 will be considered to be a material breach of this Agreement. 3. Intellectual Property 3.1 OWNERSHIP. You acknowledge and agree that the Profound Software, including the intellectual property rights, moral rights and goodwill therein and any derivative works thereof, is wholly owned by and shall remain the sole property of Profound. 3.2 TRADEMARKS. Profound has numerous trademarks and service marks (collectively, "Trademarks") including, without limitation, PROFOUND LOGIC, the profound logic software logo, MODERNIZATION MADE EASY, THE IBM i MODERNIZATIN EXPERTS, AGILE MODERNIZATION, PROOUND UI, PROFOUND.JS, PROFOUND MOBILE, VISUAL DESIGNER, RICH DISPLAY FILES, DDS CONVERTER, NODE.JS-TO-RPG CONVERTER, PROFOUND.JS CONNECTOR, ATRIUM, GENIE, ON-THE-FLY MODERNIZATION, JUMPSTART, RPGSP, RPG-ALIVE, IDATA, and THE SMARTER CHOICE FOR WEB DEVELOPMENT. No right, license or interest in or to Trademarks is granted to you under this Agreement. 3.3 OUTPUT: Profound claims no ownership in source code you create using the Profound Software in accordance with this Agreement. 4. Confidentiality 4.1 CONFIDENTIAL INFORMATION. In the course of carrying out this Agreement, you may be exposed to certain proprietary technologies, processes, software, trade secrets, data and/or know-how ("Confidential Information") of Profound. Notwithstanding the foregoing, in no event shall Confidential Information include any information which (i) was publicly known or made generally available in the public domain prior to the time of exposure; (ii) becomes publicly known or made generally available to the public through no fault of you; (iii) is in your possession, at the time of exposure without confidentiality restrictions; or (iv) is independently developed by you as evidenced by a contemporaneous writing. 4.2 LIMITED USE. You agree not to use any Confidential Information for any purpose except in accordance with this Agreement. You agree not to disclose any Confidential Information to third parties, except to your employees and authorized independent contractors for whom it is appropriate to disclose and permit the use of such Confidential Information for purposes of this Agreement. 4.3 MAINTENANCE OF CONFIDENTIALITY. You shall take all commercially reasonable measures to protect the secrecy of and avoid unauthorized disclosure and unauthorized use of the Confidential Information. You shall reproduce any proprietary rights notices on any approved copies of Confidential Information in the same manner in which such notices were set forth in or on the original. 5. Limited Warranty; Warranty Disclaimer; Limitation of Liability 5.1 Each party warrants that it is duly organized and is duly authorized to execute and deliver this Agreement and to perform its respective obligations hereunder. 5.2 EXCEPT FOR THE LIMITED WARRANTY IN SECTION 5.1, THE PROFOUND SOFTWARE IS PROVIDED, AND/OR MADE AVAILABLE AS DESCRIBED IN THE RELEVANT SUBSIDIARY AGREEMENT “AS-IS” AND PROFOUND MAKES NO WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, WITH RESPECT TO THE PROFOUND SOFTWARE. PROFOUND EXPRESSLY DISCLAIMS THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND INFORMATIONAL CONTENT. THERE IS NO WARRANTY THAT THE OPERATION OF THE PROFOUND SOFTWARE WILL BE UNINTERRUPTED, ERROR-FREE, OR VIRUS-FREE, OR THAT THE PROFOUND SOFTWARE WILL MEET ANY PARTICULAR CRITERIA OF PERFORMANCE OR QUALITY. YOU ASSUME THE ENTIRE RISK OF SELECTION, INSTALLATION, AND USE OF THE SOFTWARE. 5.3 IN NO EVENT WILL PROFOUND BE LIABLE UNDER, OR IN CONNECTION WITH, THIS AGREEMENT OR ITS SUBJECT MATTER, UNDER ANY LEGAL OR EQUITABLE THEORY, INCLUDING BREACH OF CONTRACT, TORT (INCLUDING NEGLIGENCE), STRICT LIABILITY AND OTHERWISE, FOR ANY (a) INCREASED COSTS, DIMINUTION IN VALUE OR LOST BUSINESS, PRODUCTION, REVENUES OR PROFITS, (b) LOSS OF GOODWILL OR REPUTATION, (c) USE, INABILITY TO USE, LOSS, INTERRUPTION, DELAY OR RECOVERY OF ANY PROFOUND SOFTWARE, (d) LOSS, DAMAGE, CORRUPTION OR RECOVERY OF DATA, OR BREACH OF DATA OR SYSTEM SECURITY, (e) COST OF REPLACEMENT GOODS OR SERVICES, OR (f) CONSEQUENTIAL, INCIDENTAL, INDIRECT, EXEMPLARY, SPECIAL, ENHANCED OR PUNITIVE DAMAGES, IN EACH CASE REGARDLESS OF WHETHER SUCH PERSONS WERE ADVISED OF THE POSSIBILITY OF SUCH LOSSES OR DAMAGES OR SUCH LOSSES OR DAMAGES WERE OTHERWISE FORESEEABLE, AND NOTWITHSTANDING THE FAILURE OF ANY AGREED OR OTHER REMEDY OF ITS ESSENTIAL PURPOSE. 5.4 IN NO EVENT WILL THE COLLECTIVE AGGREGATE LIABILITY OF PROFOUND ARISING OUT OF OR RELATED TO THIS AGREEMENT INCLUDING ANY SUBSIDIARY AGREEMENT, WHETHER ARISING UNDER OR RELATED TO BREACH OF CONTRACT, TORT (INCLUDING NEGLIGENCE), STRICT LIABILITY OR ANY OTHER LEGAL OR EQUITABLE THEORY, EXCEED THE TOTAL AMOUNTS PAID TO PROFOUND UNDER THE SUBSIDIARY AGREEMENT FOR THE SOFTWARE TO WHICH THE CLAIM RELATES IN THE YEAR PRECEDING THE EVENT GIVING RISE TO THE CLAIM OR $100, WHICHEVER IS GREATER. THE FOREGOING LIMITATIONS APPLY EVEN IF ANY REMEDY FAILS OF ITS ESSENTIAL PURPOSE. 6. TERM AND TERMINATION 6.1 TERM. The term of this Agreement shall commence upon the date and time that you install any Covered Software. 6.2 TERMINATION. This Agreement may be terminated as follows: 6.2.1 Profound may terminate this Agreement immediately and without notice upon breach of any material provision of this Agreement by you; or 6.2.2 The parties may jointly terminate this Agreement by mutual written agreement. 6.3 EFFECT OF TERMINATION. Upon termination, the Covered Software may be deactivated and rendered inoperable, without prior warning to you. You shall permanently delete any and all remnants of the Covered Software on all computers and computer networks owned or controlled by you. Sections 2-7 shall survive termination of this Agreement. 7. MISCELLANEOUS. 7.1 TRANSFERABILITY. You may not assign or otherwise transfer any of your rights or delegate or otherwise transfer any of your obligations under this Agreement without Profound’s prior written consent. Notwithstanding the foregoing, you may assign this Agreement as part of a corporate reorganization, consolidation, merger or sale of substantially all assets or all stock of your company, provided that you shall provide written notice of such assignment to Profound. Profound may assign or otherwise transfer any of its rights or delegate or otherwise transfer any of its obligations under this Agreement without restriction. This Agreement shall inure to the benefit of and be binding upon the successors and permitted assigns of the parties. 7.2 NOTICES. All notices to Profound under this Agreement must be in writing to Profound Logic Software, 396 Congress Park Drive, Dayton, OH 45459 through (i) personal service, or (ii) via certified mail, return receipt requested. 7.3 GOVERNING LAW. This Agreement shall be construed and governed in accordance with the substantive laws of the State of Ohio, and any claim related to this Agreement or the Software shall be brought in a competent court in Cincinnati, Ohio. You hereby waive any defense that you are not subject to the jurisdiction of such courts, that any such action is brought in an inconvenient forum, or that venue of the action is improper. 7.4 AUDIT. From time to time, Profound may hire a disinterested third party to audit and inspect your books, records, computers, and computer networks for compliance with this Agreement. All such audits shall be during normal business hours and on dates mutually agreed, and you agree to cooperate in such audits and inspections. 7.5 UNENFORCEABILITY. It is intended that this Agreement shall not violate any applicable law. If, at any time or for any reason, any provision becomes unenforceable or invalid, such provisions shall be amended to bring them into legal compliance and to preserve to the maximum extent possible the intent of the parties, and the remaining provisions shall remain unaffected and continue with the same effect as if such unenforceable or invalid provision had not been inserted herein. 7.6 NO WAIVER. Failure of either party to exercise its rights under this Agreement shall not be construed as a waiver of that party's rights, including without limitation the right to seek remedies arising from past, present or future breach by the other party. 7.7 HEADINGS. The headings and captions in this Agreement are for convenience purposes only, and shall not be used to construe the terms of this Agreement. 7.8 ENTIRE AGREEMENT. This Agreement, including the Subsidiary Agreements, contains the entire understanding between the parties with respect to the matters contained herein. This Agreement supersedes all prior agreements between the parties, whether oral or written, express or implied, as to the matters contained herein. No waiver, consent, modification, amendment or change of the terms of this Agreement shall be binding unless in writing and signed by the parties. In the event of a conflict between a term set forth in the body of this Agreement and a term in one of the Subsidiary Agreements, the term in the Subsidiary Agreement shall control regarding the rights and obligations of the parties with respect to the software to which that Subsidiary Agreement relates. 7.9 EXPORT. You shall not export or re-export directly or indirectly (including by remote access) any part of the Profound Software outside of the jurisdiction in which you obtained it without the appropriate United States or foreign government licenses. EXHIBIT 1 Profound.js Framework Subsidiary Agreement This is a Subsidiary Agreement to, and incorporates by reference the terms of, the master software agreement (“Master Agreement”) between you and Profound. All capitalized terms used and not otherwise defined in this Subsidiary Agreement shall have the meanings given to them in the Master Agreement. If you do not agree to the terms of this Subsidiary Agreement, you should not use, copy, or otherwise exploit or attempt to exploit the Profound.js Framework (defined infra). 1. Definitions 1.1 “Profound.js Framework” shall mean the base functionality of the profoundjs npm package including only the Visual Designer Tool for Node.js, a Profound.js web server based on Express, support for IBM i data types, various API to work with the aforementioned IBM i data types, ability to code applications using top-down transactional business programming, caching and hot module reloading, built-in error reporting and logging, and built-in support for Rich Displays and HTML interfaces. Profound.js Framework does not include any conversion or connector features, such as connectivity to any IBM i or ILE resources, IBM i DB2, MariaDB, MySQL, MS SQL, Oracle and other database drivers, ability for JavaScript code to call or be called by IBM i programs, commands, API, or service programs, or the ability to convert RPG to JavaScript code, or other similar features. 1.2 “Term” shall have the meaning set forth in Section 3.1 of this Subsidiary Agreement. 2. License 2.1 You are hereby granted, during the Term, a non-exclusive, non-sublicensable, non-transferrable license to: 2.1.1 install the Profound.js Framework on one or more computers owned or controlled by you; and 2.1.2 use the Profound.js Framework in combination with other software provided by Profound to create computer programs, but only in a manner consistent with Section 2 of the Master Agreement. 3. Term and Termination 3.1 TERM. The Term of this Subsidiary Agreement shall commence upon the date and time that you install the Profound.js Framework, and shall end on the date that this Subsidiary Agreement is terminated as set forth in this Section 3. 3.2 TERMINATION. This Subsidiary Agreement may be terminated as follows. 3.2.1 Profound may terminate this Subsidiary Agreement immediately and without notice upon breach of any material provision of this Subsidiary Agreement by you; or 3.2.2 The parties may jointly terminate this Subsidiary Agreement by mutual written agreement. EXHIBIT 2 Profound.js Connector Subsidiary Agreement This is a Subsidiary Agreement to, and incorporates by reference the terms of, the master software agreement (“Master Agreement”) between you and Profound. All capitalized terms used and not otherwise defined in this Subsidiary Agreement shall have the meanings given to them in the Master Agreement. If you do not agree to the terms of this Subsidiary Agreement, you should not use, copy, or otherwise exploit or attempt to exploit the Profound.js Connector (defined infra). 1. Definitions 1.1 “Activation Date” shall mean the date on which you are provided with the Connector License Key. 1.2 “Connector License Key” shall mean a license key provided to you by Profound which enables your use of the Profound.js Connector. In the event you are provided multiple license keys by Profound, then each such license key shall be deemed to be a Connector License Key which is governed by a separate instance of this Subsidiary Agreement. 1.3 “Initial Term” shall mean: 1.3.1 if the Connector License Key is a trial license key, the thirty-day period of time starting on the Activation Date; 1.3.2 if the Connector License Key was priced on a subscription basis, the period of time between the Activation Date and the date on which your first payment following the Activation Date is due; or 1.3.2 if the Connector License Key is not a trial license key and was not priced on a subscription basis, the period of time between the Activation Date and the one year anniversary of the Activation Date. 1.4 “Profound.js Connector” shall mean any connectivity features of Profound.js, including database drivers for Record Level Access and SQL access to IBM i DB2, MariaDB, MySQL, MS SQL, Oracle and other databases, the ability for IBM i programs and other such resources to call, utilize, and pass data to Node.js modules, the ability for Node.js modules to call, utilize, and pass data to IBM i programs, commands, API, service programs, and other such resources, the ability for Node.js modules to act like native ILE programs on IBM i, the ability to call 5250 green-screen interactive commands from Node.js, the ability to expose existing legacy logic as web services, the options to use IBM i security and object level authority on Node.js code, and other similar features. 1.5 “Renewal Term” shall mean: 1.5.1 if Connector License Key was priced on a subscription basis, the period of time between the last day of the then current Initial or Renewal Term, and the next date on which a payment is due following the end of the then current Initial or Renewal Term; or 1.5.2 if the Connector License Key was not priced on a subscription basis, the period of time between the last day of the then current Initial or Renewal Term, and the next anniversary of the Activation Date. 1.6 “Term” shall mean the Initial Term and any Renewal Terms. 2. License 2.1 You are authorized to install the Profound.js Connector on one or more computers owned by you. 2.2 If the Connector License Key is a trial license key, then you are hereby authorized to, during the Term, use the Profound.js Connector on one computer server partition solely for the purpose of evaluating the Profound.js Connector and deciding whether to obtain a commercial license key for the Profound.js Connector from Profound. 2.3 If the Connector License Key is a commercial license key, then you are hereby authorized, during the Term, to use and to authorize independent contractors working on your behalf to use, the Profound.js Connector. 2.3 You acknowledge that your rights as set forth in this Section 2 are subject to the restrictions set forth in Section 3 of this Subsidiary Agreement and Section 2 of the Master Agreement, and that nothing in this Subsidiary Agreement authorizes you to take any act which is inconsistent with the restrictions set forth in Section 3 of this Subsidiary Agreement or Section 2 of the Master Agreement. 3. Restrictions 3.1 You may not share or otherwise make the Connector License Key available to any third party, and must treat that license key as Confidential Information of Profound. 3.2 If the Connector License Key is priced based on limiting the use of the Profound.js Connector on a partition, then, unless you purchase a new license key from Profound which allows you to use Profound.js Connector on one or more additional partitions, you may not, and may not allow others to, use the Profound.js Connector except on the single partition associated with your Connector License Key. 3.3 If the Connector License Key is priced based on Profound.js Connector being used concurrently by no more than a limited number of individuals on a partition, then, unless you purchase a new license key from Profound, the number of individuals who you authorize or allow to use Profound.js Connector at any one time on the partition associated with your Connector License Key (including your employees and authorized independent contractors) may not exceed the number of individuals agreed upon at the time the Connector License Key was provided to you. 3.4 If the Connector License Key is priced based on Profound.js Connector being used by no more than a limited number of unique users on a partition, then, unless you purchase a new license key from Profound, once the number of individuals you have allowed or authorized to use the Profound.js Connector on the partition associated with your Connector License Key has reached the limited number of unique users, you may not authorize or allow any additional individuals to use the Profound.js Connector on the partition associated with your Connector License Key. 3.5 In the event you become aware of any violation or attempted violation of the provisions of this Section 3, you will immediately inform Profound of that violation and provide Profound such assistance as it may reasonably request to remediate any actual or potential damage caused by such actual or attempted violation. 3.6 You acknowledge that the license set forth in this Subsidiary Agreement is conditioned on your compliance with the requirements of this Section 3, and that any breach of the requirements of this Section 3 will be considered to be a material breach of this Subsidiary Agreement. 4. TERM AND TERMINATION 4.1 This Subsidiary Agreement will automatically expire on the first business day following the last day of the Term without requiring any further action by the parties. At the conclusion of the Initial Term and at the conclusion of each Renewal Term, this Subsidiary Agreement will automatically renew for an additional Renewal Term unless: 4.1.1 this Subsidiary Agreement is terminated as set forth herein; 4.1.2 you provide Profound with written notice that you do not wish for the Subsidiary Agreement to renew; 4.1.3 if the Connector License Key is priced on a subscription basis, you have not paid all amounts then due to Profound by the end of the then current Renewal Term; or 4.1.4 the Connector License Key is a trial license key (in which case there shall be no Renewal Terms, and the Term will expire on the conclusion of the Initial Term). 4.2 TERMINATION. This Subsidiary Agreement may be terminated as follows. 4.2.1 Profound may terminate this Subsidiary Agreement immediately and without notice upon breach of any material provision of this Subsidiary Agreement by you; or 4.2.2 The parties may jointly terminate this Subsidiary Agreement by mutual written agreement. 4.3 EFFECT OF TERMINATION. Sections 3 and 4 of this Subsidiary Agreement shall survive termination of this Subsidiary Agreement. EXHIBIT 3 Profound.js Converter Subsidiary Agreement This is a Subsidiary Agreement to, and incorporates by reference the terms of, the master software agreement (“Master Agreement”) between you and Profound. All capitalized terms used and not otherwise defined in this Subsidiary Agreement shall have the meanings given to them in the Master Agreement. If you do not agree to the terms of this Subsidiary Agreement, you should not use, copy, or otherwise exploit or attempt to exploit the Profound.js Converter (defined infra). 1. Definitions 1.1 “Activation Date” shall mean the date on which you enter into this Subsidiary Agreement. 1.2 “Conversion Request” shall mean a request to convert RPG code to JavaScript submitted by you through the Profound.js Converter Client. 1.3 “Converter Demo Programs” shall mean programs which are provided by Profound together with the Profound.js Converter Client. 1.4 “Initial Term” shall mean the period of time between the Activation Date and the one year anniversary of the Activation Date. 1.5 “Profound.js Converter” shall mean software which converts existing RPG code into Node.js or JavaScript, comprising the Profound.js Converter Client and the Profound.js Converter Engine. 1.6 “Profound.js Converter Client” shall mean a portion of the Profound.js Converter which provides an interface which can be used to interact with the Profound.js Converter Engine. 1.7 “Profound.js Converter Engine” shall mean a portion of the Profound.js Converter which is maintained and operated on equipment which is owned or controlled by Profound, and which converts RPG code submitted through the Profound.js Converter Client into JavaScript. 1.8 “Renewal Term” shall mean the period of time between the last day of the then current Initial or Renewal Term, and the next anniversary of the Activation Date. 1.9 “Term” shall mean the Initial Term and any Renewal Terms. 2. Services 2.1 Profound shall use commercially reasonable efforts to, during the Term and provided that you have a profoundjs.com account: 2.1.1 when you submit a Conversion Request: (a) determine if there are issues (e.g., missing required dependencies) which would prevent RPG code submitted in connection with the Conversion Request from being converted to JavaScript, and inform you of such issues (if any) prior to completing the conversion; (b) determine if converting the RPG code submitted by you in connection with that request would require expenditure of credits from your profoundjs.com account, and inform you of the necessary expenditure of credits (if any) prior to completing the conversion; 2.1.2 if there are no issues which would prevent RPG code submitted by you in connection with a Conversion Request from being converted to JavaScript, and if either no credits would need to be expended in connection with such conversion or the amount of credits which would need to be expended in connection with such conversion is less than or equal to the amount of credits in your profoundjs.com account: (a) convert the RPG code submitted in connection with the Conversion Request to JavaScript; (b) provide you with the JavaScript created by converting the RPG code submitted in connection with the Conversion Request; and (c) generate a hash of the RPG code submitted in connection with the Conversion Request as a record that you had requested that RPG code be converted to JavaScript. 2.2 By submitting a Conversion Request, you authorize Profound to deduct an amount of credits from your profoundjs.com account which it determines must be expended to convert RPG code submitted in connection with that Conversion Request to JavaScript. 2.3 Profound will determine, in its sole discretion, if, and what amount of, credits from your profoundjs.com account would need to be expended to convert RPG code to JavaScript. Notwithstanding the foregoing, no expenditure of credits from your profoundjs.com account will be required for: 2.3.1 converting the Converter Demo Programs from RPG code to JavaScript; or 2.3.2 converting RPG code with a hash value which matches a hash value previously generated by Profound for RPG code which it had already converted to JavaScript in response to a Conversion Request submitted by you. 3. Restrictions 3.1 You agree that you will not attempt to, and will not assist or allow others to interfere with the operation or security of the Profound.js Converter Engine. 4. TERM AND TERMINATION 4.1 This Subsidiary Agreement will automatically expire on the first business day following the last day of the Term without requiring any further action by the parties. At the conclusion of the Initial Term and at the conclusion of each Renewal Term, this Subsidiary Agreement will automatically renew for an additional Renewal Term unless: 4.1.1 this Subsidiary Agreement is terminated as set forth herein; 4.1.2 you provide Profound with written notice that you do not wish for this Subsidiary Agreement to renew; or 4.1.3 Profound provides you with written notice that Profound does not wish for this Subsidiary Agreement to renew before the conclusion of the then current Initial or Renewal Term. 4.2 TERMINATION. This Subsidiary Agreement may be terminated as follows. 4.2.1 Profound may terminate this Subsidiary Agreement immediately and without notice upon breach of any material provision of this Subsidiary Agreement by you; or 4.2.2 The parties may jointly terminate this Subsidiary Agreement by mutual written agreement. 4.3 EFFECT OF TERMINATION. Sections 3-4 of this Subsidiary Agreement shall survive termination of this Subsidiary Agreement.