GNULESSERGENERALPUBLICLICENSEVersion3,29June2007Copyright(C)2007FreeSoftwareFoundation,Inc.<https://fsf.org/>Everyoneispermittedtocopyanddistributeverbatimcopiesofthislicensedocument,butchangingitisnotallowed.ThisversionoftheGNULesserGeneralPublicLicenseincorporatesthetermsandconditionsofversion3oftheGNUGeneralPublicLicense,supplementedbytheadditionalpermissionslistedbelow.0.AdditionalDefinitions.Asusedherein,"this License"referstoversion3oftheGNULesserGeneralPublicLicense,andthe"GNU GPL"referstoversion3oftheGNUGeneralPublicLicense."The Library"referstoacoveredworkgovernedbythisLicense,otherthananApplicationoraCombinedWorkasdefinedbelow.An"Application"isanyworkthatmakesuseofaninterfaceprovidedbytheLibrary,butwhichisnototherwisebasedontheLibrary.DefiningasubclassofaclassdefinedbytheLibraryisdeemedamodeofusinganinterfaceprovidedbytheLibrary.A"Combined Work"isaworkproducedbycombiningorlinkinganApplicationwiththeLibrary.TheparticularversionoftheLibrarywithwhichtheCombinedWorkwasmadeisalsocalledthe"LinkedVersion".The"Minimal Corresponding Source"foraCombinedWorkmeanstheCorrespondingSourcefortheCombinedWork,excludinganysourcecodeforportionsoftheCombinedWorkthat,consideredinisolation,arebasedontheApplication,andnotontheLinkedVersion.The"Corresponding Application Code"foraCombinedWorkmeanstheobjectcodeand/orsourcecodefortheApplication,includinganydataandutilityprogramsneededforreproducingtheCombinedWorkfromtheApplication,butexcludingtheSystemLibrariesoftheCombinedWork.1.ExceptiontoSection3oftheGNUGPL.Youmayconveyacoveredworkundersections3and4ofthisLicensewithoutbeingboundbysection3oftheGNUGPL.2.ConveyingModifiedVersions.IfyoumodifyacopyoftheLibrary,and,inyourmodifications,afacilityreferstoafunctionordatatobesuppliedbyanApplicationthatusesthefacility(otherthanasanargumentpassedwhenthefacilityisinvoked),thenyoumayconveyacopyofthemodifiedversion:a)underthisLicense,providedthatyoumakeagoodfaithefforttoensurethat,intheeventanApplicationdoesnotsupplythefunctionordata,thefacilitystilloperates,andperformswhateverpartofitspurposeremainsmeaningful,orb)undertheGNUGPL,withnoneoftheadditionalpermissionsofthisLicenseapplicabletothatcopy.3.ObjectCodeIncorporatingMaterialfromLibraryHeaderFiles.TheobjectcodeformofanApplicationmayincorporatematerialfromaheaderfilethatispartoftheLibrary.Youmayconveysuchobjectcodeundertermsofyourchoice,providedthat,iftheincorporatedmaterialisnotlimitedtonumericalparameters,datastructurelayoutsandaccessors,orsmallmacros,inlinefunctionsandtemplates(tenorfewerlinesinlength),youdobothofthefollowing:a)GiveprominentnoticewitheachcopyoftheobjectcodethattheLibraryisusedinitandthattheLibraryanditsusearecoveredbythisLicense.b)AccompanytheobjectcodewithacopyoftheGNUGPLandthislicensedocument.4.CombinedWorks.YoumayconveyaCombinedWorkundertermsofyourchoicethat,takentogether,effectivelydonotrestrictmodificationoftheportionsoftheLibrarycontainedintheCombinedWorkandreverseengineeringfordebuggingsuchmodifications,ifyoualsodoeachofthefollowing:a)GiveprominentnoticewitheachcopyoftheCombinedWorkthattheLibraryisusedinitandthattheLibraryanditsusearecoveredbythisLicense.b)AccompanytheCombinedWorkwithacopyoftheGNUGPLandthislicensedocument.c)ForaCombinedWorkthatdisplayscopyrightnoticesduringexecution,includethecopyrightnoticefortheLibraryamongthesenotices,aswellasareferencedirectingtheusertothecopiesoftheGNUGPLandthislicensedocument.d)Dooneofthefollowing:0)ConveytheMinimalCorrespondingSourceunderthetermsofthisLicense,andtheCorrespondingApplicationCodeinaformsuitablefor,andundertermsthatpermit,theusertorecombineorrelinktheApplicationwithamodifiedversionoftheLinkedVersiontoproduceamodifiedCombinedWork,inthemannerspecifiedbysection6oftheGNUGPLforconveyingCorrespondingSource.1)UseasuitablesharedlibrarymechanismforlinkingwiththeLibrary.Asuitablemechanismisonethat(a)usesatruntimeacopyoftheLibraryalreadypresentontheuser's computersystem,and(b)willoperateproperlywithamodifiedversionoftheLibrarythatisinterface-compatiblewiththeLinkedVersion.e)ProvideInstallationInformation,butonlyifyouwouldotherwiseberequiredtoprovidesuchinformationundersection6oftheGNUGPL,andonlytotheextentthatsuchinformationisnecessarytoinstallandexecuteamodifiedversionoftheCombinedWorkproducedbyrecombiningorrelinkingtheApplicationwithamodifiedversionoftheLinkedVersion.(Ifyouuseoption4d0,theInstallationInformationmustaccompanytheMinimalCorrespondingSourceandCorrespondingApplicationCode.Ifyouuseoption4d1,youmustprovidetheInstallationInformationinthemannerspecifiedbysection6oftheGNUGPLforconveyingCorrespondingSource.)5.CombinedLibraries.YoumayplacelibraryfacilitiesthatareaworkbasedontheLibrarysidebysideinasinglelibrarytogetherwithotherlibraryfacilitiesthatarenotApplicationsandarenotcoveredbythisLicense,andconveysuchacombinedlibraryundertermsofyourchoice,ifyoudobothofthefollowing:a)AccompanythecombinedlibrarywithacopyofthesameworkbasedontheLibrary,uncombinedwithanyotherlibraryfacilities,conveyedunderthetermsofthisLicense.b)GiveprominentnoticewiththecombinedlibrarythatpartofitisaworkbasedontheLibrary,andexplainingwheretofindtheaccompanyinguncombinedformofthesamework.6.RevisedVersionsoftheGNULesserGeneralPublicLicense.TheFreeSoftwareFoundationmaypublishrevisedand/ornewversionsoftheGNULesserGeneralPublicLicensefromtimetotime.Suchnewversionswillbesimilarinspirittothepresentversion,butmaydifferindetailtoaddressnewproblemsorconcerns.Eachversionisgivenadistinguishingversionnumber.IftheLibraryasyoureceiveditspecifiesthatacertainnumberedversionoftheGNULesserGeneralPublicLicense"or any later version"appliestoit,youhavetheoptionoffollowingthetermsandconditionseitherofthatpublishedversionorofanylaterversionpublishedbytheFreeSoftwareFoundation.IftheLibraryasyoureceiveditdoesnotspecifyaversionnumberoftheGNULesserGeneralPublicLicense,youmaychooseanyversionoftheGNULesserGeneralPublicLicenseeverpublishedbytheFreeSoftwareFoundation.IftheLibraryasyoureceiveditspecifiesthataproxycandecidewhetherfutureversionsoftheGNULesserGeneralPublicLicenseshallapply,thatproxy's public statement of acceptance of any version ispermanentauthorizationforyoutochoosethatversionfortheLibrary.