xref: /optee_os/lib/libutils/compiler-rt/LICENSE.TXT (revision 48952fd403d867dbf13675e062cd8a7d2e5260a9)
1*48952fd4SJens Wiklander==============================================================================
2*48952fd4SJens WiklanderThe LLVM Project is under the Apache License v2.0 with LLVM Exceptions:
3*48952fd4SJens Wiklander==============================================================================
4*48952fd4SJens Wiklander
5*48952fd4SJens Wiklander                                 Apache License
6*48952fd4SJens Wiklander                           Version 2.0, January 2004
7*48952fd4SJens Wiklander                        http://www.apache.org/licenses/
8*48952fd4SJens Wiklander
9*48952fd4SJens Wiklander    TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
10*48952fd4SJens Wiklander
11*48952fd4SJens Wiklander    1. Definitions.
12*48952fd4SJens Wiklander
13*48952fd4SJens Wiklander      "License" shall mean the terms and conditions for use, reproduction,
14*48952fd4SJens Wiklander      and distribution as defined by Sections 1 through 9 of this document.
15*48952fd4SJens Wiklander
16*48952fd4SJens Wiklander      "Licensor" shall mean the copyright owner or entity authorized by
17*48952fd4SJens Wiklander      the copyright owner that is granting the License.
18*48952fd4SJens Wiklander
19*48952fd4SJens Wiklander      "Legal Entity" shall mean the union of the acting entity and all
20*48952fd4SJens Wiklander      other entities that control, are controlled by, or are under common
21*48952fd4SJens Wiklander      control with that entity. For the purposes of this definition,
22*48952fd4SJens Wiklander      "control" means (i) the power, direct or indirect, to cause the
23*48952fd4SJens Wiklander      direction or management of such entity, whether by contract or
24*48952fd4SJens Wiklander      otherwise, or (ii) ownership of fifty percent (50%) or more of the
25*48952fd4SJens Wiklander      outstanding shares, or (iii) beneficial ownership of such entity.
26*48952fd4SJens Wiklander
27*48952fd4SJens Wiklander      "You" (or "Your") shall mean an individual or Legal Entity
28*48952fd4SJens Wiklander      exercising permissions granted by this License.
29*48952fd4SJens Wiklander
30*48952fd4SJens Wiklander      "Source" form shall mean the preferred form for making modifications,
31*48952fd4SJens Wiklander      including but not limited to software source code, documentation
32*48952fd4SJens Wiklander      source, and configuration files.
33*48952fd4SJens Wiklander
34*48952fd4SJens Wiklander      "Object" form shall mean any form resulting from mechanical
35*48952fd4SJens Wiklander      transformation or translation of a Source form, including but
36*48952fd4SJens Wiklander      not limited to compiled object code, generated documentation,
37*48952fd4SJens Wiklander      and conversions to other media types.
38*48952fd4SJens Wiklander
39*48952fd4SJens Wiklander      "Work" shall mean the work of authorship, whether in Source or
40*48952fd4SJens Wiklander      Object form, made available under the License, as indicated by a
41*48952fd4SJens Wiklander      copyright notice that is included in or attached to the work
42*48952fd4SJens Wiklander      (an example is provided in the Appendix below).
43*48952fd4SJens Wiklander
44*48952fd4SJens Wiklander      "Derivative Works" shall mean any work, whether in Source or Object
45*48952fd4SJens Wiklander      form, that is based on (or derived from) the Work and for which the
46*48952fd4SJens Wiklander      editorial revisions, annotations, elaborations, or other modifications
47*48952fd4SJens Wiklander      represent, as a whole, an original work of authorship. For the purposes
48*48952fd4SJens Wiklander      of this License, Derivative Works shall not include works that remain
49*48952fd4SJens Wiklander      separable from, or merely link (or bind by name) to the interfaces of,
50*48952fd4SJens Wiklander      the Work and Derivative Works thereof.
51*48952fd4SJens Wiklander
52*48952fd4SJens Wiklander      "Contribution" shall mean any work of authorship, including
53*48952fd4SJens Wiklander      the original version of the Work and any modifications or additions
54*48952fd4SJens Wiklander      to that Work or Derivative Works thereof, that is intentionally
55*48952fd4SJens Wiklander      submitted to Licensor for inclusion in the Work by the copyright owner
56*48952fd4SJens Wiklander      or by an individual or Legal Entity authorized to submit on behalf of
57*48952fd4SJens Wiklander      the copyright owner. For the purposes of this definition, "submitted"
58*48952fd4SJens Wiklander      means any form of electronic, verbal, or written communication sent
59*48952fd4SJens Wiklander      to the Licensor or its representatives, including but not limited to
60*48952fd4SJens Wiklander      communication on electronic mailing lists, source code control systems,
61*48952fd4SJens Wiklander      and issue tracking systems that are managed by, or on behalf of, the
62*48952fd4SJens Wiklander      Licensor for the purpose of discussing and improving the Work, but
63*48952fd4SJens Wiklander      excluding communication that is conspicuously marked or otherwise
64*48952fd4SJens Wiklander      designated in writing by the copyright owner as "Not a Contribution."
65*48952fd4SJens Wiklander
66*48952fd4SJens Wiklander      "Contributor" shall mean Licensor and any individual or Legal Entity
67*48952fd4SJens Wiklander      on behalf of whom a Contribution has been received by Licensor and
68*48952fd4SJens Wiklander      subsequently incorporated within the Work.
69*48952fd4SJens Wiklander
70*48952fd4SJens Wiklander    2. Grant of Copyright License. Subject to the terms and conditions of
71*48952fd4SJens Wiklander      this License, each Contributor hereby grants to You a perpetual,
72*48952fd4SJens Wiklander      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
73*48952fd4SJens Wiklander      copyright license to reproduce, prepare Derivative Works of,
74*48952fd4SJens Wiklander      publicly display, publicly perform, sublicense, and distribute the
75*48952fd4SJens Wiklander      Work and such Derivative Works in Source or Object form.
76*48952fd4SJens Wiklander
77*48952fd4SJens Wiklander    3. Grant of Patent License. Subject to the terms and conditions of
78*48952fd4SJens Wiklander      this License, each Contributor hereby grants to You a perpetual,
79*48952fd4SJens Wiklander      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
80*48952fd4SJens Wiklander      (except as stated in this section) patent license to make, have made,
81*48952fd4SJens Wiklander      use, offer to sell, sell, import, and otherwise transfer the Work,
82*48952fd4SJens Wiklander      where such license applies only to those patent claims licensable
83*48952fd4SJens Wiklander      by such Contributor that are necessarily infringed by their
84*48952fd4SJens Wiklander      Contribution(s) alone or by combination of their Contribution(s)
85*48952fd4SJens Wiklander      with the Work to which such Contribution(s) was submitted. If You
86*48952fd4SJens Wiklander      institute patent litigation against any entity (including a
87*48952fd4SJens Wiklander      cross-claim or counterclaim in a lawsuit) alleging that the Work
88*48952fd4SJens Wiklander      or a Contribution incorporated within the Work constitutes direct
89*48952fd4SJens Wiklander      or contributory patent infringement, then any patent licenses
90*48952fd4SJens Wiklander      granted to You under this License for that Work shall terminate
91*48952fd4SJens Wiklander      as of the date such litigation is filed.
92*48952fd4SJens Wiklander
93*48952fd4SJens Wiklander    4. Redistribution. You may reproduce and distribute copies of the
94*48952fd4SJens Wiklander      Work or Derivative Works thereof in any medium, with or without
95*48952fd4SJens Wiklander      modifications, and in Source or Object form, provided that You
96*48952fd4SJens Wiklander      meet the following conditions:
97*48952fd4SJens Wiklander
98*48952fd4SJens Wiklander      (a) You must give any other recipients of the Work or
99*48952fd4SJens Wiklander          Derivative Works a copy of this License; and
100*48952fd4SJens Wiklander
101*48952fd4SJens Wiklander      (b) You must cause any modified files to carry prominent notices
102*48952fd4SJens Wiklander          stating that You changed the files; and
103*48952fd4SJens Wiklander
104*48952fd4SJens Wiklander      (c) You must retain, in the Source form of any Derivative Works
105*48952fd4SJens Wiklander          that You distribute, all copyright, patent, trademark, and
106*48952fd4SJens Wiklander          attribution notices from the Source form of the Work,
107*48952fd4SJens Wiklander          excluding those notices that do not pertain to any part of
108*48952fd4SJens Wiklander          the Derivative Works; and
109*48952fd4SJens Wiklander
110*48952fd4SJens Wiklander      (d) If the Work includes a "NOTICE" text file as part of its
111*48952fd4SJens Wiklander          distribution, then any Derivative Works that You distribute must
112*48952fd4SJens Wiklander          include a readable copy of the attribution notices contained
113*48952fd4SJens Wiklander          within such NOTICE file, excluding those notices that do not
114*48952fd4SJens Wiklander          pertain to any part of the Derivative Works, in at least one
115*48952fd4SJens Wiklander          of the following places: within a NOTICE text file distributed
116*48952fd4SJens Wiklander          as part of the Derivative Works; within the Source form or
117*48952fd4SJens Wiklander          documentation, if provided along with the Derivative Works; or,
118*48952fd4SJens Wiklander          within a display generated by the Derivative Works, if and
119*48952fd4SJens Wiklander          wherever such third-party notices normally appear. The contents
120*48952fd4SJens Wiklander          of the NOTICE file are for informational purposes only and
121*48952fd4SJens Wiklander          do not modify the License. You may add Your own attribution
122*48952fd4SJens Wiklander          notices within Derivative Works that You distribute, alongside
123*48952fd4SJens Wiklander          or as an addendum to the NOTICE text from the Work, provided
124*48952fd4SJens Wiklander          that such additional attribution notices cannot be construed
125*48952fd4SJens Wiklander          as modifying the License.
126*48952fd4SJens Wiklander
127*48952fd4SJens Wiklander      You may add Your own copyright statement to Your modifications and
128*48952fd4SJens Wiklander      may provide additional or different license terms and conditions
129*48952fd4SJens Wiklander      for use, reproduction, or distribution of Your modifications, or
130*48952fd4SJens Wiklander      for any such Derivative Works as a whole, provided Your use,
131*48952fd4SJens Wiklander      reproduction, and distribution of the Work otherwise complies with
132*48952fd4SJens Wiklander      the conditions stated in this License.
133*48952fd4SJens Wiklander
134*48952fd4SJens Wiklander    5. Submission of Contributions. Unless You explicitly state otherwise,
135*48952fd4SJens Wiklander      any Contribution intentionally submitted for inclusion in the Work
136*48952fd4SJens Wiklander      by You to the Licensor shall be under the terms and conditions of
137*48952fd4SJens Wiklander      this License, without any additional terms or conditions.
138*48952fd4SJens Wiklander      Notwithstanding the above, nothing herein shall supersede or modify
139*48952fd4SJens Wiklander      the terms of any separate license agreement you may have executed
140*48952fd4SJens Wiklander      with Licensor regarding such Contributions.
141*48952fd4SJens Wiklander
142*48952fd4SJens Wiklander    6. Trademarks. This License does not grant permission to use the trade
143*48952fd4SJens Wiklander      names, trademarks, service marks, or product names of the Licensor,
144*48952fd4SJens Wiklander      except as required for reasonable and customary use in describing the
145*48952fd4SJens Wiklander      origin of the Work and reproducing the content of the NOTICE file.
146*48952fd4SJens Wiklander
147*48952fd4SJens Wiklander    7. Disclaimer of Warranty. Unless required by applicable law or
148*48952fd4SJens Wiklander      agreed to in writing, Licensor provides the Work (and each
149*48952fd4SJens Wiklander      Contributor provides its Contributions) on an "AS IS" BASIS,
150*48952fd4SJens Wiklander      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
151*48952fd4SJens Wiklander      implied, including, without limitation, any warranties or conditions
152*48952fd4SJens Wiklander      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
153*48952fd4SJens Wiklander      PARTICULAR PURPOSE. You are solely responsible for determining the
154*48952fd4SJens Wiklander      appropriateness of using or redistributing the Work and assume any
155*48952fd4SJens Wiklander      risks associated with Your exercise of permissions under this License.
156*48952fd4SJens Wiklander
157*48952fd4SJens Wiklander    8. Limitation of Liability. In no event and under no legal theory,
158*48952fd4SJens Wiklander      whether in tort (including negligence), contract, or otherwise,
159*48952fd4SJens Wiklander      unless required by applicable law (such as deliberate and grossly
160*48952fd4SJens Wiklander      negligent acts) or agreed to in writing, shall any Contributor be
161*48952fd4SJens Wiklander      liable to You for damages, including any direct, indirect, special,
162*48952fd4SJens Wiklander      incidental, or consequential damages of any character arising as a
163*48952fd4SJens Wiklander      result of this License or out of the use or inability to use the
164*48952fd4SJens Wiklander      Work (including but not limited to damages for loss of goodwill,
165*48952fd4SJens Wiklander      work stoppage, computer failure or malfunction, or any and all
166*48952fd4SJens Wiklander      other commercial damages or losses), even if such Contributor
167*48952fd4SJens Wiklander      has been advised of the possibility of such damages.
168*48952fd4SJens Wiklander
169*48952fd4SJens Wiklander    9. Accepting Warranty or Additional Liability. While redistributing
170*48952fd4SJens Wiklander      the Work or Derivative Works thereof, You may choose to offer,
171*48952fd4SJens Wiklander      and charge a fee for, acceptance of support, warranty, indemnity,
172*48952fd4SJens Wiklander      or other liability obligations and/or rights consistent with this
173*48952fd4SJens Wiklander      License. However, in accepting such obligations, You may act only
174*48952fd4SJens Wiklander      on Your own behalf and on Your sole responsibility, not on behalf
175*48952fd4SJens Wiklander      of any other Contributor, and only if You agree to indemnify,
176*48952fd4SJens Wiklander      defend, and hold each Contributor harmless for any liability
177*48952fd4SJens Wiklander      incurred by, or claims asserted against, such Contributor by reason
178*48952fd4SJens Wiklander      of your accepting any such warranty or additional liability.
179*48952fd4SJens Wiklander
180*48952fd4SJens Wiklander    END OF TERMS AND CONDITIONS
181*48952fd4SJens Wiklander
182*48952fd4SJens Wiklander    APPENDIX: How to apply the Apache License to your work.
183*48952fd4SJens Wiklander
184*48952fd4SJens Wiklander      To apply the Apache License to your work, attach the following
185*48952fd4SJens Wiklander      boilerplate notice, with the fields enclosed by brackets "[]"
186*48952fd4SJens Wiklander      replaced with your own identifying information. (Don't include
187*48952fd4SJens Wiklander      the brackets!)  The text should be enclosed in the appropriate
188*48952fd4SJens Wiklander      comment syntax for the file format. We also recommend that a
189*48952fd4SJens Wiklander      file or class name and description of purpose be included on the
190*48952fd4SJens Wiklander      same "printed page" as the copyright notice for easier
191*48952fd4SJens Wiklander      identification within third-party archives.
192*48952fd4SJens Wiklander
193*48952fd4SJens Wiklander    Copyright [yyyy] [name of copyright owner]
194*48952fd4SJens Wiklander
195*48952fd4SJens Wiklander    Licensed under the Apache License, Version 2.0 (the "License");
196*48952fd4SJens Wiklander    you may not use this file except in compliance with the License.
197*48952fd4SJens Wiklander    You may obtain a copy of the License at
198*48952fd4SJens Wiklander
199*48952fd4SJens Wiklander       http://www.apache.org/licenses/LICENSE-2.0
200*48952fd4SJens Wiklander
201*48952fd4SJens Wiklander    Unless required by applicable law or agreed to in writing, software
202*48952fd4SJens Wiklander    distributed under the License is distributed on an "AS IS" BASIS,
203*48952fd4SJens Wiklander    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
204*48952fd4SJens Wiklander    See the License for the specific language governing permissions and
205*48952fd4SJens Wiklander    limitations under the License.
206*48952fd4SJens Wiklander
207*48952fd4SJens Wiklander
208*48952fd4SJens Wiklander---- LLVM Exceptions to the Apache 2.0 License ----
209*48952fd4SJens Wiklander
210*48952fd4SJens WiklanderAs an exception, if, as a result of your compiling your source code, portions
211*48952fd4SJens Wiklanderof this Software are embedded into an Object form of such source code, you
212*48952fd4SJens Wiklandermay redistribute such embedded portions in such Object form without complying
213*48952fd4SJens Wiklanderwith the conditions of Sections 4(a), 4(b) and 4(d) of the License.
214*48952fd4SJens Wiklander
215*48952fd4SJens WiklanderIn addition, if you combine or link compiled forms of this Software with
216*48952fd4SJens Wiklandersoftware that is licensed under the GPLv2 ("Combined Software") and if a
217*48952fd4SJens Wiklandercourt of competent jurisdiction determines that the patent provision (Section
218*48952fd4SJens Wiklander3), the indemnity provision (Section 9) or other Section of the License
219*48952fd4SJens Wiklanderconflicts with the conditions of the GPLv2, you may retroactively and
220*48952fd4SJens Wiklanderprospectively choose to deem waived or otherwise exclude such Section(s) of
221*48952fd4SJens Wiklanderthe License, but only in their entirety and only with respect to the Combined
222*48952fd4SJens WiklanderSoftware.
223*48952fd4SJens Wiklander
224*48952fd4SJens Wiklander==============================================================================
225*48952fd4SJens WiklanderSoftware from third parties included in the LLVM Project:
226*48952fd4SJens Wiklander==============================================================================
227*48952fd4SJens WiklanderThe LLVM Project contains third party software which is under different license
228*48952fd4SJens Wiklanderterms. All such code will be identified clearly using at least one of two
229*48952fd4SJens Wiklandermechanisms:
230*48952fd4SJens Wiklander1) It will be in a separate directory tree with its own `LICENSE.txt` or
231*48952fd4SJens Wiklander   `LICENSE` file at the top containing the specific license and restrictions
232*48952fd4SJens Wiklander   which apply to that software, or
233*48952fd4SJens Wiklander2) It will contain specific license and restriction terms at the top of every
234*48952fd4SJens Wiklander   file.
235*48952fd4SJens Wiklander
236*48952fd4SJens Wiklander==============================================================================
237*48952fd4SJens WiklanderLegacy LLVM License (https://llvm.org/docs/DeveloperPolicy.html#legacy):
238*48952fd4SJens Wiklander==============================================================================
239*48952fd4SJens Wiklander
240*48952fd4SJens WiklanderThe compiler_rt library is dual licensed under both the University of Illinois
241*48952fd4SJens Wiklander"BSD-Like" license and the MIT license.  As a user of this code you may choose
242*48952fd4SJens Wiklanderto use it under either license.  As a contributor, you agree to allow your code
243*48952fd4SJens Wiklanderto be used under both.
244*48952fd4SJens Wiklander
245*48952fd4SJens WiklanderFull text of the relevant licenses is included below.
246*48952fd4SJens Wiklander
247*48952fd4SJens Wiklander==============================================================================
248*48952fd4SJens Wiklander
249*48952fd4SJens WiklanderUniversity of Illinois/NCSA
250*48952fd4SJens WiklanderOpen Source License
251*48952fd4SJens Wiklander
252*48952fd4SJens WiklanderCopyright (c) 2009-2019 by the contributors listed in CREDITS.TXT
253*48952fd4SJens Wiklander
254*48952fd4SJens WiklanderAll rights reserved.
255*48952fd4SJens Wiklander
256*48952fd4SJens WiklanderDeveloped by:
257*48952fd4SJens Wiklander
258*48952fd4SJens Wiklander    LLVM Team
259*48952fd4SJens Wiklander
260*48952fd4SJens Wiklander    University of Illinois at Urbana-Champaign
261*48952fd4SJens Wiklander
262*48952fd4SJens Wiklander    http://llvm.org
263*48952fd4SJens Wiklander
264*48952fd4SJens WiklanderPermission is hereby granted, free of charge, to any person obtaining a copy of
265*48952fd4SJens Wiklanderthis software and associated documentation files (the "Software"), to deal with
266*48952fd4SJens Wiklanderthe Software without restriction, including without limitation the rights to
267*48952fd4SJens Wiklanderuse, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
268*48952fd4SJens Wiklanderof the Software, and to permit persons to whom the Software is furnished to do
269*48952fd4SJens Wiklanderso, subject to the following conditions:
270*48952fd4SJens Wiklander
271*48952fd4SJens Wiklander    * Redistributions of source code must retain the above copyright notice,
272*48952fd4SJens Wiklander      this list of conditions and the following disclaimers.
273*48952fd4SJens Wiklander
274*48952fd4SJens Wiklander    * Redistributions in binary form must reproduce the above copyright notice,
275*48952fd4SJens Wiklander      this list of conditions and the following disclaimers in the
276*48952fd4SJens Wiklander      documentation and/or other materials provided with the distribution.
277*48952fd4SJens Wiklander
278*48952fd4SJens Wiklander    * Neither the names of the LLVM Team, University of Illinois at
279*48952fd4SJens Wiklander      Urbana-Champaign, nor the names of its contributors may be used to
280*48952fd4SJens Wiklander      endorse or promote products derived from this Software without specific
281*48952fd4SJens Wiklander      prior written permission.
282*48952fd4SJens Wiklander
283*48952fd4SJens WiklanderTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
284*48952fd4SJens WiklanderIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
285*48952fd4SJens WiklanderFOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
286*48952fd4SJens WiklanderCONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
287*48952fd4SJens WiklanderLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
288*48952fd4SJens WiklanderOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE
289*48952fd4SJens WiklanderSOFTWARE.
290*48952fd4SJens Wiklander
291*48952fd4SJens Wiklander==============================================================================
292*48952fd4SJens Wiklander
293*48952fd4SJens WiklanderCopyright (c) 2009-2015 by the contributors listed in CREDITS.TXT
294*48952fd4SJens Wiklander
295*48952fd4SJens WiklanderPermission is hereby granted, free of charge, to any person obtaining a copy
296*48952fd4SJens Wiklanderof this software and associated documentation files (the "Software"), to deal
297*48952fd4SJens Wiklanderin the Software without restriction, including without limitation the rights
298*48952fd4SJens Wiklanderto use, copy, modify, merge, publish, distribute, sublicense, and/or sell
299*48952fd4SJens Wiklandercopies of the Software, and to permit persons to whom the Software is
300*48952fd4SJens Wiklanderfurnished to do so, subject to the following conditions:
301*48952fd4SJens Wiklander
302*48952fd4SJens WiklanderThe above copyright notice and this permission notice shall be included in
303*48952fd4SJens Wiklanderall copies or substantial portions of the Software.
304*48952fd4SJens Wiklander
305*48952fd4SJens WiklanderTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
306*48952fd4SJens WiklanderIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
307*48952fd4SJens WiklanderFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
308*48952fd4SJens WiklanderAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
309*48952fd4SJens WiklanderLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
310*48952fd4SJens WiklanderOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
311*48952fd4SJens WiklanderTHE SOFTWARE.
312