19c5db199SXin Li GNU LESSER GENERAL PUBLIC LICENSE 29c5db199SXin Li Version 3, 29 June 2007 39c5db199SXin Li 49c5db199SXin Li Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/> 59c5db199SXin Li Everyone is permitted to copy and distribute verbatim copies 69c5db199SXin Li of this license document, but changing it is not allowed. 79c5db199SXin Li 89c5db199SXin Li 99c5db199SXin Li This version of the GNU Lesser General Public License incorporates 109c5db199SXin Lithe terms and conditions of version 3 of the GNU General Public 119c5db199SXin LiLicense, supplemented by the additional permissions listed below. 129c5db199SXin Li 139c5db199SXin Li 0. Additional Definitions. 149c5db199SXin Li 159c5db199SXin Li As used herein, "this License" refers to version 3 of the GNU Lesser 169c5db199SXin LiGeneral Public License, and the "GNU GPL" refers to version 3 of the GNU 179c5db199SXin LiGeneral Public License. 189c5db199SXin Li 199c5db199SXin Li "The Library" refers to a covered work governed by this License, 209c5db199SXin Liother than an Application or a Combined Work as defined below. 219c5db199SXin Li 229c5db199SXin Li An "Application" is any work that makes use of an interface provided 239c5db199SXin Liby the Library, but which is not otherwise based on the Library. 249c5db199SXin LiDefining a subclass of a class defined by the Library is deemed a mode 259c5db199SXin Liof using an interface provided by the Library. 269c5db199SXin Li 279c5db199SXin Li A "Combined Work" is a work produced by combining or linking an 289c5db199SXin LiApplication with the Library. The particular version of the Library 299c5db199SXin Liwith which the Combined Work was made is also called the "Linked 309c5db199SXin LiVersion". 319c5db199SXin Li 329c5db199SXin Li The "Minimal Corresponding Source" for a Combined Work means the 339c5db199SXin LiCorresponding Source for the Combined Work, excluding any source code 349c5db199SXin Lifor portions of the Combined Work that, considered in isolation, are 359c5db199SXin Libased on the Application, and not on the Linked Version. 369c5db199SXin Li 379c5db199SXin Li The "Corresponding Application Code" for a Combined Work means the 389c5db199SXin Liobject code and/or source code for the Application, including any data 399c5db199SXin Liand utility programs needed for reproducing the Combined Work from the 409c5db199SXin LiApplication, but excluding the System Libraries of the Combined Work. 419c5db199SXin Li 429c5db199SXin Li 1. Exception to Section 3 of the GNU GPL. 439c5db199SXin Li 449c5db199SXin Li You may convey a covered work under sections 3 and 4 of this License 459c5db199SXin Liwithout being bound by section 3 of the GNU GPL. 469c5db199SXin Li 479c5db199SXin Li 2. Conveying Modified Versions. 489c5db199SXin Li 499c5db199SXin Li If you modify a copy of the Library, and, in your modifications, a 509c5db199SXin Lifacility refers to a function or data to be supplied by an Application 519c5db199SXin Lithat uses the facility (other than as an argument passed when the 529c5db199SXin Lifacility is invoked), then you may convey a copy of the modified 539c5db199SXin Liversion: 549c5db199SXin Li 559c5db199SXin Li a) under this License, provided that you make a good faith effort to 569c5db199SXin Li ensure that, in the event an Application does not supply the 579c5db199SXin Li function or data, the facility still operates, and performs 589c5db199SXin Li whatever part of its purpose remains meaningful, or 599c5db199SXin Li 609c5db199SXin Li b) under the GNU GPL, with none of the additional permissions of 619c5db199SXin Li this License applicable to that copy. 629c5db199SXin Li 639c5db199SXin Li 3. Object Code Incorporating Material from Library Header Files. 649c5db199SXin Li 659c5db199SXin Li The object code form of an Application may incorporate material from 669c5db199SXin Lia header file that is part of the Library. You may convey such object 679c5db199SXin Licode under terms of your choice, provided that, if the incorporated 689c5db199SXin Limaterial is not limited to numerical parameters, data structure 699c5db199SXin Lilayouts and accessors, or small macros, inline functions and templates 709c5db199SXin Li(ten or fewer lines in length), you do both of the following: 719c5db199SXin Li 729c5db199SXin Li a) Give prominent notice with each copy of the object code that the 739c5db199SXin Li Library is used in it and that the Library and its use are 749c5db199SXin Li covered by this License. 759c5db199SXin Li 769c5db199SXin Li b) Accompany the object code with a copy of the GNU GPL and this license 779c5db199SXin Li document. 789c5db199SXin Li 799c5db199SXin Li 4. Combined Works. 809c5db199SXin Li 819c5db199SXin Li You may convey a Combined Work under terms of your choice that, 829c5db199SXin Litaken together, effectively do not restrict modification of the 839c5db199SXin Liportions of the Library contained in the Combined Work and reverse 849c5db199SXin Liengineering for debugging such modifications, if you also do each of 859c5db199SXin Lithe following: 869c5db199SXin Li 879c5db199SXin Li a) Give prominent notice with each copy of the Combined Work that 889c5db199SXin Li the Library is used in it and that the Library and its use are 899c5db199SXin Li covered by this License. 909c5db199SXin Li 919c5db199SXin Li b) Accompany the Combined Work with a copy of the GNU GPL and this license 929c5db199SXin Li document. 939c5db199SXin Li 949c5db199SXin Li c) For a Combined Work that displays copyright notices during 959c5db199SXin Li execution, include the copyright notice for the Library among 969c5db199SXin Li these notices, as well as a reference directing the user to the 979c5db199SXin Li copies of the GNU GPL and this license document. 989c5db199SXin Li 999c5db199SXin Li d) Do one of the following: 1009c5db199SXin Li 1019c5db199SXin Li 0) Convey the Minimal Corresponding Source under the terms of this 1029c5db199SXin Li License, and the Corresponding Application Code in a form 1039c5db199SXin Li suitable for, and under terms that permit, the user to 1049c5db199SXin Li recombine or relink the Application with a modified version of 1059c5db199SXin Li the Linked Version to produce a modified Combined Work, in the 1069c5db199SXin Li manner specified by section 6 of the GNU GPL for conveying 1079c5db199SXin Li Corresponding Source. 1089c5db199SXin Li 1099c5db199SXin Li 1) Use a suitable shared library mechanism for linking with the 1109c5db199SXin Li Library. A suitable mechanism is one that (a) uses at run time 1119c5db199SXin Li a copy of the Library already present on the user's computer 1129c5db199SXin Li system, and (b) will operate properly with a modified version 1139c5db199SXin Li of the Library that is interface-compatible with the Linked 1149c5db199SXin Li Version. 1159c5db199SXin Li 1169c5db199SXin Li e) Provide Installation Information, but only if you would otherwise 1179c5db199SXin Li be required to provide such information under section 6 of the 1189c5db199SXin Li GNU GPL, and only to the extent that such information is 1199c5db199SXin Li necessary to install and execute a modified version of the 1209c5db199SXin Li Combined Work produced by recombining or relinking the 1219c5db199SXin Li Application with a modified version of the Linked Version. (If 1229c5db199SXin Li you use option 4d0, the Installation Information must accompany 1239c5db199SXin Li the Minimal Corresponding Source and Corresponding Application 1249c5db199SXin Li Code. If you use option 4d1, you must provide the Installation 1259c5db199SXin Li Information in the manner specified by section 6 of the GNU GPL 1269c5db199SXin Li for conveying Corresponding Source.) 1279c5db199SXin Li 1289c5db199SXin Li 5. Combined Libraries. 1299c5db199SXin Li 1309c5db199SXin Li You may place library facilities that are a work based on the 1319c5db199SXin LiLibrary side by side in a single library together with other library 1329c5db199SXin Lifacilities that are not Applications and are not covered by this 1339c5db199SXin LiLicense, and convey such a combined library under terms of your 1349c5db199SXin Lichoice, if you do both of the following: 1359c5db199SXin Li 1369c5db199SXin Li a) Accompany the combined library with a copy of the same work based 1379c5db199SXin Li on the Library, uncombined with any other library facilities, 1389c5db199SXin Li conveyed under the terms of this License. 1399c5db199SXin Li 1409c5db199SXin Li b) Give prominent notice with the combined library that part of it 1419c5db199SXin Li is a work based on the Library, and explaining where to find the 1429c5db199SXin Li accompanying uncombined form of the same work. 1439c5db199SXin Li 1449c5db199SXin Li 6. Revised Versions of the GNU Lesser General Public License. 1459c5db199SXin Li 1469c5db199SXin Li The Free Software Foundation may publish revised and/or new versions 1479c5db199SXin Liof the GNU Lesser General Public License from time to time. Such new 1489c5db199SXin Liversions will be similar in spirit to the present version, but may 1499c5db199SXin Lidiffer in detail to address new problems or concerns. 1509c5db199SXin Li 1519c5db199SXin Li Each version is given a distinguishing version number. If the 1529c5db199SXin LiLibrary as you received it specifies that a certain numbered version 1539c5db199SXin Liof the GNU Lesser General Public License "or any later version" 1549c5db199SXin Liapplies to it, you have the option of following the terms and 1559c5db199SXin Liconditions either of that published version or of any later version 1569c5db199SXin Lipublished by the Free Software Foundation. If the Library as you 1579c5db199SXin Lireceived it does not specify a version number of the GNU Lesser 1589c5db199SXin LiGeneral Public License, you may choose any version of the GNU Lesser 1599c5db199SXin LiGeneral Public License ever published by the Free Software Foundation. 1609c5db199SXin Li 1619c5db199SXin Li If the Library as you received it specifies that a proxy can decide 1629c5db199SXin Liwhether future versions of the GNU Lesser General Public License shall 1639c5db199SXin Liapply, that proxy's public statement of acceptance of any version is 1649c5db199SXin Lipermanent authorization for you to choose that version for the 1659c5db199SXin LiLibrary. 166