Версия 3.7

Интегрирован NUnit
This commit is contained in:
Mikhalkovich Stanislav 2020-08-26 08:53:11 +03:00
parent 2c45fe3ae2
commit c87fe31ff4
61 changed files with 757 additions and 173 deletions

View file

@ -42,6 +42,7 @@
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
<UseVSHostingProcess>true</UseVSHostingProcess>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>

View file

@ -69,6 +69,7 @@
<DebugType>full</DebugType>
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
<UseVSHostingProcess>true</UseVSHostingProcess>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<OutputPath>..\bin\</OutputPath>

View file

@ -42,6 +42,7 @@
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
<UseVSHostingProcess>true</UseVSHostingProcess>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>

View file

@ -13,9 +13,9 @@ using System.Runtime.CompilerServices;
internal static class RevisionClass
{
public const string Major = "3";
public const string Minor = "6";
public const string Build = "3";
public const string Revision = "2660";
public const string Minor = "7";
public const string Build = "0";
public const string Revision = "2670";
public const string MainVersion = Major + "." + Minor;
public const string FullVersion = Major + "." + Minor + "." + Build + "." + Revision;

View file

@ -1,4 +1,4 @@
%COREVERSION%=3
%REVISION%=2660
%MINOR%=6
%COREVERSION%=0
%REVISION%=2670
%MINOR%=7
%MAJOR%=3

View file

@ -42,6 +42,7 @@
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
<UseVSHostingProcess>true</UseVSHostingProcess>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>

Binary file not shown.

View file

@ -42,6 +42,7 @@
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
<UseVSHostingProcess>true</UseVSHostingProcess>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>

View file

@ -65,6 +65,7 @@
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
<DefineConstants>DEBUG</DefineConstants>
<UseVSHostingProcess>true</UseVSHostingProcess>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<OutputPath>..\bin\</OutputPath>
@ -169,4 +170,4 @@
<PostBuildEvent>
</PostBuildEvent>
</PropertyGroup>
</Project>
</Project>

View file

@ -42,6 +42,7 @@
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
<UseVSHostingProcess>true</UseVSHostingProcess>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>

View file

@ -42,6 +42,7 @@
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
<UseVSHostingProcess>true</UseVSHostingProcess>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
@ -122,4 +123,4 @@
<Target Name="AfterBuild">
</Target>
-->
</Project>
</Project>

View file

@ -2,7 +2,7 @@
// This CSharp output file generated by Gardens Point LEX
// Version: 1.1.3.301
// Machine: DESKTOP-G8V08V4
// DateTime: 12.08.2020 15:06:56
// DateTime: 26.08.2020 0:44:46
// UserName: ?????????
// GPLEX input file <ABCPascal.lex>
// GPLEX frame file <embedded resource>

View file

@ -2,7 +2,7 @@
// GPPG version 1.3.6
// Machine: DESKTOP-G8V08V4
// DateTime: 12.08.2020 15:06:57
// DateTime: 26.08.2020 0:44:47
// UserName: ?????????
// Input file <ABCPascal.y>

View file

@ -276,6 +276,10 @@ script=

View file

@ -47,6 +47,7 @@
<WarningLevel>3</WarningLevel>
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
<PlatformTarget>AnyCPU</PlatformTarget>
<UseVSHostingProcess>true</UseVSHostingProcess>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>

View file

@ -59,6 +59,7 @@
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|AnyCPU'">
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
<UseVSHostingProcess>true</UseVSHostingProcess>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|AnyCPU'">
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>

View file

@ -299,6 +299,7 @@ namespace VisualPascalABCPlugins
void Stop(string FileName);
bool Run(bool forDebugging, bool startWithGoto, bool need_first_brpt);
bool Run(ICodeFileDocument tabPage, bool forDebugging, bool startWithGoto, bool needFirstBreakpoint);
void Run(string fileName, bool redirectIO, string ModeName, bool RunWithPause, string WorkingDirectory, string CommandLineArguments, bool attachDebugger, bool fictive_attach);
bool HasRunArgument(string FileName);
string GetRunArgument(string FileName);
void AddRunArgument(string FileName, string argument);

View file

@ -42,6 +42,7 @@
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
<UseVSHostingProcess>true</UseVSHostingProcess>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>

View file

@ -1 +1 @@
3.6.3.2660
3.7.0.2670

View file

@ -37,9 +37,9 @@
\fs22\lang1049\langfe1049\loch\f31506\hich\af31506\dbch\af31505\cgrid\langnp1049\langfenp1049 \snext0 \sqformat \spriority0 Normal;}{\*\cs10 \additive \ssemihidden \sunhideused \spriority1 Default Paragraph Font;}{\*
\ts11\tsrowd\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tblind0\tblindtype3\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv \ql \li0\ri0\sa160\sl259\slmult1
\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 \fs22\lang1049\langfe1049\loch\f31506\hich\af31506\dbch\af31505\cgrid\langnp1049\langfenp1049 \snext11 \ssemihidden \sunhideused
Normal Table;}}{\*\rsidtbl \rsid1983975\rsid2756858\rsid5121612\rsid9338748\rsid9583613\rsid12019863\rsid14836557}{\mmathPr\mmathFont34\mbrkBin0\mbrkBinSub0\msmallFrac0\mdispDef1\mlMargin0\mrMargin0\mdefJc1\mwrapIndent1440\mintLim0\mnaryLim1}{\info
{\operator \'d1\'f2\'e0\'ed\'e8\'f1\'eb\'e0\'e2 \'cc\'e8\'f5\'e0\'eb\'ea\'ee\'e2\'e8\'f7}{\creatim\yr2018\mo8\dy29\hr21\min57}{\revtim\yr2020\mo2\dy4\hr23\min13}{\version7}{\edmins9}{\nofpages4}{\nofwords1386}{\nofchars7904}{\nofcharsws9272}{\vern121}}
{\*\xmlnstbl {\xmlns1 http://schemas.microsoft.com/office/word/2003/wordml}}\paperw12240\paperh15840\margl1701\margr850\margt1134\margb1134\gutter0\ltrsect
Normal Table;}}{\*\rsidtbl \rsid1983975\rsid2307793\rsid2756858\rsid5121612\rsid9338748\rsid9583613\rsid12019863\rsid14836557}{\mmathPr\mmathFont34\mbrkBin0\mbrkBinSub0\msmallFrac0\mdispDef1\mlMargin0\mrMargin0\mdefJc1\mwrapIndent1440\mintLim0\mnaryLim1}
{\info{\operator \'d1\'f2\'e0\'ed\'e8\'f1\'eb\'e0\'e2 \'cc\'e8\'f5\'e0\'eb\'ea\'ee\'e2\'e8\'f7}{\creatim\yr2018\mo8\dy29\hr21\min57}{\revtim\yr2020\mo8\dy24\hr15\min4}{\version8}{\edmins9}{\nofpages4}{\nofwords1386}{\nofchars7904}{\nofcharsws9272}
{\vern7}}{\*\xmlnstbl {\xmlns1 http://schemas.microsoft.com/office/word/2003/wordml}}\paperw12240\paperh15840\margl1701\margr850\margt1134\margb1134\gutter0\ltrsect
\widowctrl\ftnbj\aenddoc\trackmoves0\trackformatting1\donotembedsysfont0\relyonvml0\donotembedlingdata1\grfdocevents0\validatexml0\showplaceholdtext0\ignoremixedcontent0\saveinvalidxml0\showxmlerrors0\horzdoc\dghspace120\dgvspace120\dghorigin1701
\dgvorigin1984\dghshow0\dgvshow3\jcompress\viewkind1\viewscale100\rsidroot9338748 \fet0{\*\wgrffmtfilter 2450}\ilfomacatclnup0\ltrpar \sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\*\pnseclvl1\pnucrm\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl2
\pnucltr\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl3\pndec\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl4\pnlcltr\pnstart1\pnindent720\pnhang {\pntxta )}}{\*\pnseclvl5\pndec\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl6
@ -47,67 +47,67 @@ Normal Table;}}{\*\rsidtbl \rsid1983975\rsid2756858\rsid5121612\rsid9338748\rsid
{\pntxtb (}{\pntxta )}}\pard\plain \ltrpar\ql \li0\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 \fs22\lang1049\langfe1049\loch\af31506\hich\af31506\dbch\af31505\cgrid\langnp1049\langfenp1049 {\rtlch\fcs1
\af37 \ltrch\fcs0 \f37\insrsid14836557 \loch\af37\dbch\af31505\hich\f37 \'c4\'e0\'ed\'ed\'fb\'e9\loch\f37 \hich\f37 \'e4\'ee\'ea\'f3\'ec\'e5\'ed\'f2\loch\f37 \hich\f37 \'ee\'ef\'e8\'f1\'fb\'e2\'e0\'e5\'f2\loch\f37 \hich\f37 \'f3\'f1\'eb\'ee\'e2\'e8\'ff
\loch\f37 \hich\f37 \'f0\'e0\'f1\'ef\'f0\'ee\'f1\'f2\'f0\'e0\'ed\'e5\'ed\'e8\'ff\loch\f37 \hich\f37 \'ef\'f0\'ee\'e4\'f3\'ea\'f2\'e0\loch\f37 \hich\f37 PascalABC.NET (\'e2\'e5\'f0\'f1\'e8\'ff\loch\f37 3.}{\rtlch\fcs1 \af37 \ltrch\fcs0
\f37\insrsid1983975\charrsid5121612 \hich\af37\dbch\af31505\loch\f37 6}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 ).
\f37\lang1033\langfe1049\langnp1033\insrsid2307793 \hich\af37\dbch\af31505\loch\f37 7}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 ).
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\insrsid14836557 \loch\af37\dbch\af31505\hich\f37 \'ca\'ee\'ef\'e8\'ff\loch\f37 \hich\f37 \'eb\'e8\'f6\'e5\'ed\'e7\'e8\'e8\loch\f37 \hich\f37 GNU LGPL \'ef\'f0\'e8\'eb\'e0\'e3\'e0\'e5\'f2\'f1\'ff\loch\f37 \hich\f37
\'e2\loch\f37 \hich\f37 \'ea\'ee\'ed\'f6\'e5\loch\f37 \hich\f37 \'fd\'f2\'ee\'e3\'ee\loch\f37 \hich\f37 \'f4\'e0\'e9\'eb\'e0.
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\insrsid14836557 \loch\af37\dbch\af31505\hich\f37 \'c2\'c0\'c6\'cd\'c5\'c9\'d8\'c8\'c5\loch\f37 \hich\f37 \'d3\'d1\'cb\'ce\'c2\'c8\'df\loch\f37 \hich\f37 \'d0\'c0\loch\af37\dbch\af31505\hich\f37 \'d1\'cf\'d0\'ce\'d1
\'d2\'d0\'c0\'cd\'c5\'cd\'c8\'df\loch\f37 \hich\f37 \'cf\'d0\'ce\'c4\'d3\'ca\'d2\'c0\loch\f37 PascalABC.NET}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\insrsid5121612 \hich\af37\dbch\af31505\loch\f37 \loch\af37\dbch\af31505\hich\f37 \'e8\'eb\'e8\loch\f37
\hich\f37 \'eb\'fe\'e1\'ee\'e3\'ee\loch\f37 \hich\f37 \'ef\'f0\'ee\'e8\'e7\'e2\'ee\'e4\'ed\'ee\'e3\'ee\loch\f37 \hich\f37 \'ef\'f0\'ee\'e4\'f3\'ea\'f2\'e0}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\insrsid14836557
\'d2\'d0\'c0\'cd\'c5\'cd\'c8\'df\loch\f37 \hich\f37 \'cf\'d0\'ce\'c4\'d3\'ca\'d2\'c0\loch\f37 PascalABC.NET}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\insrsid5121612 \hich\af37\dbch\af31505\loch\f37 \hich\f37 \'e8\'eb\'e8\loch\f37 \hich\f37 \'eb\'fe\'e1\'ee
\'e3\'ee\loch\f37 \hich\f37 \'ef\'f0\'ee\'e8\'e7\'e2\'ee\'e4\'ed\'ee\'e3\'ee\loch\f37 \hich\f37 \'ef\'f0\'ee\'e4\'f3\'ea\'f2\'e0}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\insrsid14836557
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557
\par \hich\af37\dbch\af31505\loch\f37 Copyright (C) 2005-20}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid2756858 \hich\af37\dbch\af31505\loch\f37 20}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557
\hich\af37\dbch\af31505\loch\f37 by Ivan Bondarev, Stanislav Mikhalkovich
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\insrsid14836557 \loch\af37\dbch\af31505\hich\f37 \'dd\'f2\'ee\loch\f37 \hich\f37 \'ef\'f0\'ee\'e3\'f0\'e0\'ec\'ec\'ed\'ee\'e5\loch\f37 \hich\f37 \'ee\'e1\'e5\'f1\'ef\'e5\'f7\'e5\'ed\'e8\'e5\loch\f37 \hich\f37 \'ff
\'e2\'eb\'ff\'e5\'f2\'f1\'ff\loch\f37 \hich\f37 \'f1\'e2\'ee\'e1\'ee\'e4\'ed\'fb\'ec\loch\f37 \hich\f37 ; \'e2\'fb\loch\f37 \hich\f37 \'ec\'ee\'e6\'e5\'f2\'e5\loch\f37 \hich\f37 \'f0\'e0\'f1\'ef\'f0\'ee\'f1\'f2\'f0\'e0\'ed\'ff\'f2\'fc\loch\f37
\hich\f37 \'e8\loch\f37 \hich\f37 /\'e8\'eb\'e8\loch\f37 \hich\f37 \'ec\'ee\'e4\'e8\'f4\'e8\'f6\'e8\'f0\'ee\'e2\'e0\'f2\'fc\loch\f37 \hich\f37 \'e5\'e3\'ee\loch\f37 \hich\f37 \'ed\'e0\loch\f37 \hich\f37 \'f3\'f1\'eb\'ee\'e2\'e8\'ff\'f5\loch\f37
\hich\f37 GNU LGPL \'e2\'e5\'f0\'f1\'e8\'e8\loch\f37 \hich\f37 3 \'f1\loch\f37 \hich\f37 \'f0\'e0\'e7\'fa\'ff\'f1\'ed\'e5\'ed\'e8\'ff\'ec\'e8\loch\f37 \hich\f37 \'e8\loch\f37 \hich\f37 \'e8\'f1\'ea\'eb\'fe\'f7\'e5\loch\af37\dbch\af31505\hich\f37 \'ed
\hich\f37 GNU LGPL \'e2\loch\af37\dbch\af31505\hich\f37 \'e5\'f0\'f1\'e8\'e8\loch\f37 \hich\f37 3 \'f1\loch\f37 \hich\f37 \'f0\'e0\'e7\'fa\'ff\'f1\'ed\'e5\'ed\'e8\'ff\'ec\'e8\loch\f37 \hich\f37 \'e8\loch\f37 \hich\f37 \'e8\'f1\'ea\'eb\'fe\'f7\'e5\'ed
\'e8\'ff\'ec\'e8\loch\f37 \hich\f37 , \'e4\'e0\'ed\'ed\'fb\'ec\'e8\loch\f37 \hich\f37 \'ed\'e8\'e6\'e5.
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\insrsid14836557 \loch\af37\dbch\af31505\hich\f37 \'cf\'f0\'ee\'e4\'f3\'ea\'f2\loch\f37 \hich\f37 PascalABC.NET \'ec\'ee\'e6\'e5\'f2\loch\f37 \hich\f37 \'ea\'ee\'ec\'ef\'ee\'ed\'ee\'e2\'e0\'f2\'fc\'f1\'ff\loch\f37
\hich\f37 \'f1\loch\f37 \hich\f37 \'ed\'e5\'f1\'e2\'ee\'e1\'ee\'e4\'ed\'fb\'ec\'e8\loch\f37 \hich\f37 \'ec\'ee\'e4\'f3\'eb\'ff\'ec\'e8\loch\f37 \hich\f37 \'e8\loch\f37 \hich\f37 \'e1\'e8\'e1\'eb\'e8\'ee\'f2\'e5\'ea\'e0\'ec\'e8\loch\f37 \hich\f37
\'e5\'f1\'eb\'e8\loch\f37 \hich\f37 \'fd\'f2\'ee\loch\f37 \hich\f37 \'ed\'e5\loch\f37 \hich\f37 \'e4\'e5\'f1\'f2\'e0\'e1\'e8\'eb\'e8\'e7\'e8\'f0\'f3\'e5\'f2\loch\f37 \hich\f37 \'e5\'e3\'ee\loch\f37 \hich\f37 \'f0\'e0\'e1\'ee\'f2\'f3\loch\f37
\hich\f37 . \'c4\'e0\'ed\'ed\'ee\'e5\loch\f37 \hich\f37 \'f3\'f1\'eb\'ee\'e2\'e8\'e5\loch\f37 \hich\f37 \'e2\loch\f37 \hich\f37 \'ee\'f1\'ed\'ee\'e2\'ed\'ee\'ec\loch\f37 \hich\f37 \'ed\'e0\'ef\'f0\'e0\'e2\'eb\'e5\'ed\'ee\loch\f37 \hich\f37 \'ed\'e0
\loch\f37 \hich\f37 \'e2\'ee\'e7\'ec\'ee\'e6\'ed\'ee\'f1\'f2\'fc\loch\f37 \hich\f37 \'e4\'ee\'e1\'e0\'e2\'eb\'e5\'ed\'e8\'ff\loch\f37 \hich\f37 \'e2\loch\f37 \hich\f37 \'ef\'f0\'ee\'e4\'f3\'ea\'f2\loch\f37 \hich\f37 \'f1\'f2\'ee\'f0\'ee\'ed\'ed\'e8
\'f5\loch\f37 \hich\f37 \'ec\'ee\'e4\'f3\'eb\'e5\'e9\loch\f37 \hich\f37 , \'f1\'e2\'ff\'e7\'e0\'ed\'ed\'fb\'f5\loch\f37 \hich\f37 \'f1\loch\f37 \hich\f37 \'ee\'e1\'f3\'f7\'e5\'ed\'e8\'e5\'ec\hich\af37\dbch\af31505\loch\f37 \hich\f37 . \'c2\loch\f37
\hich\f37 \'f7\'e0\'f1\'f2\'ed\'ee\'f1\'f2\'e8\loch\f37 \hich\f37 , \'e2\loch\f37 \hich\f37 \'ee\'f1\'ed\'ee\'e2\'ed\'f3\'fe\loch\f37 \hich\f37 \'ef\'ee\'f1\'f2\'e0\'e2\'ea\'f3\loch\f37 \hich\f37 PascalABC.NET \'e2\'f5\'ee\'e4\'e8\'f2\loch\f37
\hich\f37 \'fd\'eb\'e5\'ea\'f2\'f0\'ee\'ed\'ed\'fb\'e9\loch\f37 \hich\f37 \'e7\'e0\'e4\'e0\'f7\'ed\'e8\'ea\loch\f37 \hich\f37 Programming Taskbook (\'ef\'ee\loch\f37 \hich\f37 \'f1\'ee\'e3\'eb\'e0\'f1\'ee\'e2\'e0\'ed\'e8\'fe\loch\f37 \hich\f37 \'f1
\loch\f37 \hich\f37 \'e0\'e2\'f2\'ee\'f0\'ee\'ec\loch\f37 \hich\f37 \'e4\'e0\'ed\'ed\'ee\'e3\'ee\loch\f37 \hich\f37 \'ef\'f0\'ee\'e4\'f3\'ea\'f2\'e0\loch\f37 \hich\f37 ), \'ea\'ee\'f2\'ee\'f0\'fb\'e9\loch\f37 \hich\f37 \'f0\'e0\'f1\'ef\'f0\'ee\'f1\'f2
\'f0\'e0\'ed\'e0\'ff\'e5\'f2\'f1\'ff\loch\f37 \hich\f37 \'ed\'e0\loch\f37 \hich\f37 \'f3\'f1\'eb\'ee\'e2\'e8\'ff\'f5\loch\f37 \hich\f37 \'f1\'e2\'ee\'e5\'e9\loch\f37 \hich\f37 \'ef\'f0\'ee\'ef\'f0\'e8\'e5\'f2\'e0\'f0\'ed\'ee\'e9\loch\f37 \hich\f37
\'eb\'e8\'f6\'e5\'ed\'e7\'e8\'e8\loch\f37 \hich\f37 (\'f1\'ec\loch\f37 \hich\f37 . \'ef\'e0\'ef\'ea\'f3\loch\f37 \\bin\\PT4)
\loch\f37 \hich\f37 \'e2\'ee\'e7\'ec\'ee\'e6\'ed\'ee\'f1\'f2\'fc\loch\f37 \hich\f37 \'e4\'ee\'e1\'e0\'e2\'eb\'e5\'ed\'e8\'ff\loch\f37 \hich\f37 \'e2\loch\f37 \hich\f37 \'ef\'f0\'ee\'e4\'f3\'ea\'f2\loch\f37 \hich\f37 \'f1\'f2\'ee\'f0\'ee\'ed\'ed
\loch\af37\dbch\af31505\hich\f37 \'e8\'f5\loch\f37 \hich\f37 \'ec\'ee\'e4\'f3\'eb\'e5\'e9\loch\f37 \hich\f37 , \'f1\'e2\'ff\'e7\'e0\'ed\'ed\'fb\'f5\loch\f37 \hich\f37 \'f1\loch\f37 \hich\f37 \'ee\'e1\'f3\'f7\'e5\'ed\'e8\'e5\'ec\loch\f37 \hich\f37 .
\'c2\loch\f37 \hich\f37 \'f7\'e0\'f1\'f2\'ed\'ee\'f1\'f2\'e8\loch\f37 \hich\f37 , \'e2\loch\f37 \hich\f37 \'ee\'f1\'ed\'ee\'e2\'ed\'f3\'fe\loch\f37 \hich\f37 \'ef\'ee\'f1\'f2\'e0\'e2\'ea\'f3\loch\f37 \hich\f37 PascalABC.NET \'e2\'f5\'ee\'e4\'e8\'f2
\loch\f37 \hich\f37 \'fd\'eb\'e5\'ea\'f2\'f0\'ee\'ed\'ed\'fb\'e9\loch\f37 \hich\f37 \'e7\'e0\'e4\'e0\'f7\'ed\'e8\'ea\loch\f37 \hich\f37 Programming Taskbook (\'ef\'ee\loch\f37 \hich\f37 \'f1\'ee\'e3\'eb\'e0\'f1\'ee\'e2\'e0\'ed\'e8\'fe\loch\f37
\hich\f37 \'f1\loch\f37 \hich\f37 \'e0\'e2\'f2\'ee\'f0\'ee\'ec\loch\f37 \hich\f37 \'e4\'e0\'ed\'ed\'ee\'e3\'ee\loch\f37 \hich\f37 \'ef\'f0\'ee\'e4\'f3\'ea\'f2\'e0\loch\f37 \hich\f37 ), \'ea\'ee\'f2\'ee\'f0\'fb\'e9\loch\f37 \hich\f37 \'f0\'e0\'f1\'ef
\'f0\'ee\'f1\'f2\'f0\'e0\'ed\'e0\'ff\'e5\'f2\'f1\'ff\loch\f37 \hich\f37 \'ed\'e0\loch\f37 \hich\f37 \'f3\'f1\'eb\'ee\'e2\'e8\'ff\'f5\loch\f37 \hich\f37 \'f1\'e2\'ee\'e5\'e9\loch\f37 \hich\f37 \'ef\'f0\'ee\'ef\'f0\'e8\'e5\'f2\'e0\'f0\'ed\'ee\'e9
\loch\f37 \hich\f37 \'eb\'e8\'f6\'e5\'ed\'e7\'e8\'e8\loch\f37 \hich\f37 (\'f1\'ec\loch\f37 \hich\f37 . \'ef\'e0\'ef\'ea\'f3\loch\f37 \\\hich\af37\dbch\af31505\loch\f37 bin\\PT4)
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\insrsid14836557 \loch\af37\dbch\af31505\hich\f37 \'ca\'f0\'ee\'ec\'e5\loch\f37 \hich\f37 \'f2\'ee\'e3\'ee\loch\f37 \hich\f37 , \'e2\loch\f37 \hich\f37 \'ee\'ea\'ed\'e5\loch\f37 Abou\hich\af37\dbch\af31505\loch\f37
\hich\f37 t \'e8\'ed\'f2\'e5\'e3\'f0\'e8\'f0\'ee\'e2\'e0\'ed\'ed\'ee\'e9\loch\f37 \hich\f37 \'f1\'f0\'e5\'e4\'fb\loch\f37 \hich\f37 PascalABC.NET \'e4\'ee\'eb\'e6\'ed\'fb\loch\f37 \hich\f37 \'ee\'e1\'ff\'e7\'e0\'f2\'e5\'eb\'fc\'ed\'ee\loch\f37
\hich\f37 \'f1\'ee\'e4\'e5\'f0\'e6\'e0\'f2\'fc\'f1\'ff\loch\f37 \hich\f37 \'e8\'ec\'e5\'ed\'e0\loch\f37 \hich\f37 \'e0\'e2\'f2\'ee\'f0\'ee\'e2}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557
\hich\af37\dbch\af31505\loch\f37 }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\insrsid14836557 \loch\af37\dbch\af31505\hich\f37 \'ef\'f0\'ee\'e4\'f3\'ea\'f2\'e0\loch\f37 \hich\f37 , \'ef\'f0\'e8\'e2\'e5\'e4\'e5\'ed\'ed\'fb\'e5\loch\f37 \hich\f37 \'e2\loch\f37
\hich\f37 \'ed\'e0\'f7\'e0\'eb\'e5\loch\f37 \hich\f37 \'e4\'e0\'ed\'ed\'ee\'e3\'ee\loch\f37 \hich\f37 \'e4\'ee\'ea\'f3\'ec\'e5\'ed\'f2\'e0\loch\f37 \hich\f37 \'f1\'f0\'e0\'e7\'f3\loch\f37 \hich\f37 \'ef\'ee\'f1\'eb\'e5\loch\f37 \hich\f37 \'e7\'e0
\'e3\'ee\'eb\'ee\'e2\'ea\'e0\loch\f37 \hich\f37 \'ab\'c2\'c0\'c6\'cd\'c5\'c9\'d8\'c8\'c5\loch\f37 \hich\f37 \'d3\'d1\'cb\'ce\'c2\'c8\'df\loch\f37 \hich\f37 \'d0\'c0\'d1\'cf\'d0\'ce\'d1\'d2\'d0\'c0\'cd\'c5\'cd\'c8\'df\loch\f37 \hich\f37 \'cf\'d0\'ce
\'c4\'d3\'ca\'d2\'c0\loch\f37 PascalABC.NET}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\insrsid5121612 \hich\af37\dbch\af31505\loch\f37 }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\insrsid5121612 \loch\af37\dbch\af31505\hich\f37 \'e8\'eb\'e8\loch\f37 \hich\f37 \'eb
\'fe\'e1\'ee\'e3\'ee\loch\f37 \hich\f37 \'ef\'f0\'ee\'e8\'e7\'e2\'ee\'e4\'ed\'ee\'e3\'ee\loch\f37 \hich\f37 \'ef\'f0\'ee\'e4\'f3\'ea\'f2\'e0}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\insrsid14836557 \loch\af37\dbch\af31505\hich\f37 \'bb.}{\rtlch\fcs1 \af37
\ltrch\fcs0 \f37\insrsid5121612 \hich\af37\dbch\af31505\loch\f37 }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\insrsid5121612\charrsid5121612 \loch\af37\dbch\af31505\hich\f37 \'c2\loch\f37 \hich\f37 \'f1\'eb\'f3\'f7\'e0\'e5\loch\f37 \hich\f37 \'e8\'ed\'f2\'e5
\'e3\'f0\'e0\'f6\'e8\'e8\loch\f37 \hich\f37 \'ea\'ee\'ec\'ef\'e8\'eb\'ff\'f2\'ee\'f0\'e0\loch\f37 \hich\f37 PascalABC.NET \'e2\loch\f37 \hich\f37 \'e4\'f0\'f3\'e3\'f3\'fe\loch\f37 \hich\f37 \'f1\'f0\'e5\'e4\'f3\loch\f37 \hich\f37 \'ee\'ea\'ed\'ee
\loch\f37 \hich\f37 \'f1\loch\f37 \hich\f37 \'f3\'ea\'e0\'e7\'e0\'ed\'ed\'fb\'ec\'e8\loch\f37 \hich\f37 \'e8\'ec\'e5\'ed\'e0\'ec\'e8\loch\f37 \hich\f37 \'e0\'e2\'f2\'ee\'f0\'ee\'e2\loch\f37 \hich\f37 \'e4\'ee\'eb\'e6\'ed\'ee\loch\f37 \hich\f37 \'ee
\'e1\'ff\'e7\'e0\'f2\'e5\'eb\'fc\'ed\'ee\loch\f37 \hich\f37 \'ef\'f0\'e8\'f1\'f3\'f2\'f1\'f2\'e2\'ee\'e2\'e0\'f2\'fc\loch\f37 \hich\f37 \'e2\loch\f37 \hich\f37 \'e4\'ee\'f1\'f2\'f3\'ef\'ed\'ee\'ec\loch\f37 \hich\f37 \'e8\loch\f37 \hich\f37 \'ee\'f7
\'e5\'e2\'e8\'e4\'ed\'ee\'ec\loch\f37 \hich\f37 \'ec\'e5\'f1\'f2\'e5}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\insrsid5121612 .\hich\af37\dbch\af31505\loch\f37 }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\insrsid14836557
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\insrsid14836557 \loch\af37\dbch\af31505\hich\f37 \'ca\'f0\'ee\'ec\'e5\loch\f37 \hich\f37 \'f2\'ee\'e3\'ee\loch\f37 \hich\f37 , \'e2\loch\f37 \hich\f37 \'ee\'ea\'ed\'e5\loch\f37 \hich\f37 About \'e8\'ed\'f2\'e5\'e3
\'f0\'e8\'f0\'ee\'e2\'e0\'ed\'ed\'ee\'e9\loch\f37 \hich\f37 \'f1\'f0\'e5\'e4\'fb\loch\f37 \hich\f37 PascalABC.NET \'e4\'ee\'eb\'e6\'ed\'fb\loch\f37 \hich\f37 \'ee\'e1\'ff\'e7\'e0\'f2\'e5\'eb\'fc\'ed\'ee\loch\f37 \hich\f37 \'f1\'ee\'e4\'e5\'f0\'e6\'e0
\'f2\'fc\'f1\'ff\loch\f37 \hich\f37 \'e8\'ec\'e5\'ed\'e0\loch\f37 \hich\f37 \'e0\'e2\'f2\'ee\'f0\'ee\'e2}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 }{\rtlch\fcs1 \af37 \ltrch\fcs0
\f37\insrsid14836557 \loch\af37\dbch\af31505\hich\f37 \'ef\'f0\'ee\'e4\'f3\'ea\'f2\'e0\loch\f37 \hich\f37 , \'ef\'f0\'e8\'e2\'e5\'e4\'e5\'ed\'ed\'fb\'e5\loch\f37 \hich\f37 \'e2\loch\f37 \hich\f37 \'ed\'e0\'f7\'e0\'eb\'e5\loch\f37 \hich\f37 \'e4\'e0\'ed
\'ed\'ee\'e3\'ee\loch\f37 \hich\f37 \'e4\'ee\'ea\'f3\'ec\'e5\'ed\'f2\'e0\loch\f37 \hich\f37 \'f1\'f0\'e0\'e7\'f3\loch\f37 \hich\f37 \'ef\'ee\'f1\'eb\'e5\loch\f37 \hich\f37 \'e7\'e0\'e3\'ee\'eb\'ee\'e2\'ea\'e0\loch\f37 \hich\f37 \'ab\'c2\'c0\'c6\'cd
\'c5\'c9\'d8\'c8\'c5\loch\f37 \hich\f37 \'d3\'d1\'cb\'ce\'c2\'c8\'df\loch\f37 \hich\f37 \'d0\'c0\'d1\'cf\'d0\'ce\'d1\'d2\'d0\'c0\'cd\'c5\'cd\'c8\'df\loch\f37 \hich\f37 \'cf\'d0\'ce\'c4\'d3\'ca\'d2\'c0\loch\f37 PascalABC.NET}{\rtlch\fcs1 \af37
\ltrch\fcs0 \f37\insrsid5121612 \hich\af37\dbch\af31505\loch\f37 \hich\f37 \'e8\'eb\'e8\loch\f37 \hich\f37 \'eb\'fe\'e1\'ee\'e3\'ee\loch\f37 \loch\af37\dbch\af31505\hich\f37 \'ef\'f0\'ee\'e8\'e7\'e2\'ee\'e4\'ed\'ee\'e3\'ee\loch\f37 \hich\f37 \'ef\'f0
\'ee\'e4\'f3\'ea\'f2\'e0}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\insrsid14836557 \loch\af37\dbch\af31505\hich\f37 \'bb.}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\insrsid5121612 \hich\af37\dbch\af31505\loch\f37 }{\rtlch\fcs1 \af37 \ltrch\fcs0
\f37\insrsid5121612\charrsid5121612 \loch\af37\dbch\af31505\hich\f37 \'c2\loch\f37 \hich\f37 \'f1\'eb\'f3\'f7\'e0\'e5\loch\f37 \hich\f37 \'e8\'ed\'f2\'e5\'e3\'f0\'e0\'f6\'e8\'e8\loch\f37 \hich\f37 \'ea\'ee\'ec\'ef\'e8\'eb\'ff\'f2\'ee\'f0\'e0\loch\f37
\hich\f37 PascalABC.NET \'e2\loch\f37 \hich\f37 \'e4\'f0\'f3\'e3\'f3\'fe\loch\f37 \hich\f37 \'f1\'f0\'e5\'e4\'f3\loch\f37 \hich\f37 \'ee\'ea\'ed\'ee\loch\f37 \hich\f37 \'f1\loch\f37 \hich\f37 \'f3\'ea\'e0\'e7\'e0\'ed\'ed\'fb\'ec\'e8\loch\f37
\hich\f37 \'e8\'ec\'e5\'ed\'e0\'ec\'e8\loch\f37 \hich\f37 \'e0\'e2\'f2\'ee\'f0\'ee\'e2\loch\f37 \hich\f37 \'e4\'ee\'eb\'e6\'ed\'ee\loch\f37 \hich\f37 \'ee\'e1\'ff\'e7\'e0\'f2\'e5\'eb\'fc\'ed\'ee\loch\f37 \hich\f37 \'ef\'f0\'e8\'f1\'f3\'f2\'f1\'f2\'e2
\'ee\'e2\'e0\'f2\'fc\loch\f37 \hich\f37 \'e2\loch\f37 \hich\f37 \'e4\'ee\'f1\'f2\'f3\'ef\'ed\'ee\'ec\loch\f37 \hich\f37 \'e8\loch\f37 \hich\f37 \'ee\'f7\'e5\'e2\'e8\'e4\'ed\'ee\'ec\loch\f37 \hich\f37 \'ec\'e5\'f1\'f2\'e5}{\rtlch\fcs1 \af37
\ltrch\fcs0 \f37\insrsid5121612 \hich\af37\dbch\af31505\loch\f37 . }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\insrsid14836557
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\insrsid14836557 \loch\af37\dbch\af31505\hich\f37 \'cd\'e0\'f8\'e0\loch\f37 \hich\f37 \'e8\'ed\'f2\'e5\'f0\'ef\'f0\'e5\'f2\'e0\'f6\'e8\'ff\loch\f37 \hich\f37 \'f0\'e0\'f1\'ef\'f0\'ee\'f1\'f2
\loch\af37\dbch\af31505\hich\f37 \'f0\'e0\'ed\'ff\'e5\'f2\'f1\'ff\loch\f37 \hich\f37 \'f2\'ee\'eb\'fc\'ea\'ee\loch\f37 \hich\f37 \'ed\'e0\loch\f37 \hich\f37 \'ef\'f0\'ee\'e4\'f3\'ea\'f2\loch\f37 \hich\f37 PascalABC.NET - \'ec\'fb\loch\f37 \hich\f37
\'ed\'e5\loch\f37 \hich\f37 \'e8\'ec\'e5\'e5\'ec\loch\f37 \hich\f37 \'e7\'e4\'e5\'f1\'fc\loch\f37 \hich\f37 \'e2\loch\f37 \hich\f37 \'e2\'e8\'e4\'f3\loch\f37 \hich\f37 \'e4\'f0\'f3\'e3\'e8\'e5\loch\f37 \hich\f37 LGPL-\'ef\'f0\'ee\'e4\'f3\'ea\'f2\'fb
.}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\insrsid14836557 \loch\af37\dbch\af31505\hich\f37 \'cd\'e0\'f8\'e0\loch\f37 \hich\f37 \'e8\'ed\'f2\'e5\'f0\'ef\'f0\'e5\'f2\'e0\'f6\'e8\'ff\loch\f37 \hich\f37 \'f0\'e0\'f1\'ef\'f0\'ee\'f1\'f2\'f0\'e0\'ed\'ff\'e5\'f2
\'f1\'ff\loch\f37 \hich\f37 \'f2\'ee\'eb\'fc\'ea\'ee\loch\f37 \hich\f37 \'ed\'e0\loch\f37 \hich\f37 \'ef\'f0\'ee\'e4\'f3\'ea\'f2\loch\f37 Pa\hich\af37\dbch\af31505\loch\f37 \hich\f37 scalABC.NET - \'ec\'fb\loch\f37 \hich\f37 \'ed\'e5\loch\f37
\hich\f37 \'e8\'ec\'e5\'e5\'ec\loch\f37 \hich\f37 \'e7\'e4\'e5\'f1\'fc\loch\f37 \hich\f37 \'e2\loch\f37 \hich\f37 \'e2\'e8\'e4\'f3\loch\f37 \hich\f37 \'e4\'f0\'f3\'e3\'e8\'e5\loch\f37 \hich\f37 LGPL-\'ef\'f0\'ee\'e4\'f3\'ea\'f2\'fb.}{\rtlch\fcs1
\af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557
\par }{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1031\langfe1049\langnp1031\insrsid14836557
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 ******************************************************************************}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557
\par
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 GNU LESSER GENERAL PUBLIC LICENSE}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 \hich\af37\dbch\af31505\loch\f37 \tab \tab Version 3, 29 June 2007}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 \tab \tab Version 3, 29 Jun\hich\af37\dbch\af31505\loch\f37 e 2007}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557
\par
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 Copyright (C) 2007 Free Software Foundation, Inc. <}{\field{\*\fldinst {\rtlch\fcs1 \af37 \ltrch\fcs0
\f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 HYPERLINK "http://fsf.org/"}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid9338748 {\*\datafield
00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b3800000068007400740070003a002f002f006600730066002e006f00720067002f000000795881f43b1d7f48af2c825dc485276300000000a5ab000300650000}}}{\fldrslt {\rtlch\fcs1 \af37 \ltrch\fcs0
\f37\ul\cf2\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 http://fsf.org/}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557
00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b3800000068007400740070003a002f002f006600730066002e006f00720067002f000000795881f43b1d7f48af2c825dc485276300000000a5ab0003006500000c}}}{\fldrslt {\rtlch\fcs1 \af37
\ltrch\fcs0 \f37\ul\cf2\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 http://fsf.org/}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557
\hich\af37\dbch\af31505\loch\f37 >
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 Everyone is permitted to copy a\hich\af37\dbch\af31505\loch\f37 nd distribute verbatim copies}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 Everyone is permitted to copy and distribute verbatim copies}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 of this license document, but changing it is not allowed.}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557
@ -124,7 +124,7 @@ Normal Table;}}{\*\rsidtbl \rsid1983975\rsid2756858\rsid5121612\rsid9338748\rsid
\par
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 As used herein, "this License" refers to version 3 of the GNU Lesser}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 General Public License, and the "GNU GPL" refers to version 3 of the GNU}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 General Public License, and the "GNU\hich\af37\dbch\af31505\loch\f37 GPL" refers to version 3 of the GNU}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 General Public License.}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557
\par
@ -133,7 +133,7 @@ Normal Table;}}{\*\rsidtbl \rsid1983975\rsid2756858\rsid5121612\rsid9338748\rsid
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 other than an Application or a Combined Work as defined below.}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557
\par
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 An "Application" is any w\hich\af37\dbch\af31505\loch\f37 ork that makes use of an interface provided}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 An "Application" is any work that makes use of an interface p\hich\af37\dbch\af31505\loch\f37 rovided}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 by the Library, but which is not otherwise based on the Library.}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557
@ -142,7 +142,7 @@ Normal Table;}}{\*\rsidtbl \rsid1983975\rsid2756858\rsid5121612\rsid9338748\rsid
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 of using an interface provided by the Library.}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557
\par
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 A "Combined Work" is a wor\hich\af37\dbch\af31505\loch\f37 k produced by combining or linking an}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 A "Combined Work" is a work produced by combining or linking a\hich\af37\dbch\af31505\loch\f37 n}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 Application with the Library. The particular version of the Library}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557
@ -152,16 +152,16 @@ Normal Table;}}{\*\rsidtbl \rsid1983975\rsid2756858\rsid5121612\rsid9338748\rsid
\par
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 The "Minimal Corresponding Source" for a Combined Work means the}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 Corres\hich\af37\dbch\af31505\loch\f37 ponding Source for the Combined Work, excluding any source code}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 Corresponding Source for the Combined Work\hich\af37\dbch\af31505\loch\f37 , excluding any source code}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 for portions of the Combined Work that, considered in isolation, are}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 based on the Application, and not on the Linked Version.}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557
\par
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 The "Corresponding Application Code" for a Combined Work means \hich\af37\dbch\af31505\loch\f37 the}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 The "Corresponding Application Code" for a Combined Work means the}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 object code and/or source code for the Application, including any data}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 object code and/or source code f\hich\af37\dbch\af31505\loch\f37 or the Application, including any data}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 and utility programs needed for reproducing the Combined Work from the}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557
@ -188,7 +188,7 @@ Normal Table;}}{\*\rsidtbl \rsid1983975\rsid2756858\rsid5121612\rsid9338748\rsid
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 version:}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557
\par
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 a) under this License, prov\hich\af37\dbch\af31505\loch\f37 ided that you make a good faith effort to}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 a) under this License, provided that you make a good faith effort to}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 ensure that, in the event an Application does not supply the}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557
@ -197,7 +197,7 @@ Normal Table;}}{\*\rsidtbl \rsid1983975\rsid2756858\rsid5121612\rsid9338748\rsid
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 whatever part of its purpose remains meaningful, or}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557
\par
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 b) under the GNU GPL, with n\hich\af37\dbch\af31505\loch\f37 one of the additional permissions of}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 \hich\af37\dbch\af31505\loch\f37 b) under the GNU GPL, with none of the additional permissions of}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 this License applicable to that copy.}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557
\par
@ -206,13 +206,13 @@ Normal Table;}}{\*\rsidtbl \rsid1983975\rsid2756858\rsid5121612\rsid9338748\rsid
\par
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 The object code form of an Application may incorporate material from}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 a header file that is part of the Libr\hich\af37\dbch\af31505\loch\f37 ary. You may convey such object}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 a header\hich\af37\dbch\af31505\loch\f37 file that is part of the Library. You may convey such object}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 code under terms of your choice, provided that, if the incorporated}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 material is not limited to numerical parameters, data structure}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 layouts and accessors, or small macros, inline functions and templates}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 layouts and accessors, or small macros, inline functions and \hich\af37\dbch\af31505\loch\f37 templates}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 (ten or fewer lines in length), you do both of the following:}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557
@ -223,38 +223,37 @@ Normal Table;}}{\*\rsidtbl \rsid1983975\rsid2756858\rsid5121612\rsid9338748\rsid
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 covered by this License.}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557
\par
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 b) Accompany the object code\hich\af37\dbch\af31505\loch\f37 with a copy of the GNU GPL and this license}{\rtlch\fcs1 \af37\afs24
\ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 b) Accompany the object code with a copy of the GNU GPL and this license}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 document.}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557
\par
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 4. Combined Works.}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557
\par
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 You may convey a Combined Work under terms of your choice that,}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 You may convey a Combined Work under terms of your \hich\af37\dbch\af31505\loch\f37 choice that,}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 taken together, effectively do not restrict modification of the}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 portions of the Library contained in the Comb\hich\af37\dbch\af31505\loch\f37 ined Work and reverse}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 portions of the Library contained in the Combined Work and reverse}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 engineering for debugging such modifications, if you also do each of}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 the following:}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557
\par
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 a) Give prominent notice with each copy of the Combined Work that}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 a) Give prominent notice\hich\af37\dbch\af31505\loch\f37 with each copy of the Combined Work that}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 the Library is used in it and that the Library and its use are}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 covered by \hich\af37\dbch\af31505\loch\f37 this License.}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 covered by this License.}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557
\par
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 b) Accompany the Combined Work with a copy of the GNU GPL and this license}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 document.}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557
\par
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 c) For a Combined Work that displays copyright notices during}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 c) For a Combined Work t\hich\af37\dbch\af31505\loch\f37 hat displays copyright notices during}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 execution, include the copyright notice for the Library among}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 these notices, a\hich\af37\dbch\af31505\loch\f37 s well as a reference directing the user to the}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 these notices, as well as a reference directing the user to the}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 copies of the GNU GPL and this license document.}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557
@ -267,7 +266,7 @@ Normal Table;}}{\*\rsidtbl \rsid1983975\rsid2756858\rsid5121612\rsid9338748\rsid
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 suitable for, and under terms that permit, the user to}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 recombine or relink the Application with a modif\hich\af37\dbch\af31505\loch\f37 ied version of}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 recombine or rel\hich\af37\dbch\af31505\loch\f37 ink the Application with a modified version of}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 the Linked Version to produce a modified Combined Work, in the}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557
@ -275,37 +274,37 @@ Normal Table;}}{\*\rsidtbl \rsid1983975\rsid2756858\rsid5121612\rsid9338748\rsid
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 Corresponding Source.}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557
\par
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 1) Use a suitable shared library mechanism for linking with the}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 1) Use a suitable shared library mec\hich\af37\dbch\af31505\loch\f37 hanism for linking with the}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 \hich\af37\dbch\af31505\loch\f37 Library. A suitable mechanism is one that (a) uses at run time}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 Library. A suitable mechanism is one that (a) uses at run time}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 a copy of the Library already present on the user's computer}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 system, and (b) will operate properly with a modified version}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 system\hich\af37\dbch\af31505\loch\f37 , and (b) will operate properly with a modified version}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 of the Library that is interface-compatible w\hich\af37\dbch\af31505\loch\f37 ith the Linked}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 of the Library that is interface-compatible with the Linked}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 Version.}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557
\par
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 e) Provide Installation Information, but only if you would otherwise}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 be required to provide such information under section 6 of the}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 be required to provide such information u\hich\af37\dbch\af31505\loch\f37 nder section 6 of the}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 GNU GPL, and only to the extent that such information is}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 necessary to install an\hich\af37\dbch\af31505\loch\f37 d execute a modified version of the}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 necessary to install and execute a modified version of the}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 Combined Work produced by recombining or relinking the}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 Application with a modified version of the Linked Version. (If}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 Application with a modified version of the Linked V\hich\af37\dbch\af31505\loch\f37 ersion. (If}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 you use option 4d0, the Installation Information must accompany}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 the Minimal Corresponding \hich\af37\dbch\af31505\loch\f37 Source and Corresponding Application}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 the Minimal Corresponding Source and Corresponding Application}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 Code. If you use option 4d1, you must provide the Installation}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 Information in the manner specified by section 6 of the GNU GPL}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 Information in the manner specified by sec\hich\af37\dbch\af31505\loch\f37 tion 6 of the GNU GPL}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 for conveying Corresponding Source.)}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557
\par
@ -317,11 +316,11 @@ Normal Table;}}{\*\rsidtbl \rsid1983975\rsid2756858\rsid5121612\rsid9338748\rsid
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 facilities that are not Applications and are not covered by this}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 License, and convey such a combi\hich\af37\dbch\af31505\loch\f37 ned library under terms of your}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 License, and convey such a combined library under terms of your}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 choice, if you do both of the following:}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557
\par
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 a) Accompany the combined library with a copy of the same work based}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 a) Accompany \hich\af37\dbch\af31505\loch\f37 the combined library with a copy of the same work based}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 on the Library, uncombined with any other library facilities,}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557
@ -330,7 +329,7 @@ Normal Table;}}{\*\rsidtbl \rsid1983975\rsid2756858\rsid5121612\rsid9338748\rsid
\par
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 b) Give prominent notice with the combined library that part of it}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 is a work based on the Library, and explaining where to find the}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 is a work based \hich\af37\dbch\af31505\loch\f37 on the Library, and explaining where to find the}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 accompanying uncombined form of the same work.}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557
@ -338,18 +337,18 @@ Normal Table;}}{\*\rsidtbl \rsid1983975\rsid2756858\rsid5121612\rsid9338748\rsid
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 6. Revised Versions of the GNU Lesser General Public License.}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557
\par
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 \hich\af37\dbch\af31505\loch\f37 The Free Software Foundation may publish revised and/or new versions}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 The Free Software Foundation may publish revised and/or new versions}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 of the GNU Lesser General Public License from time to time. Such new}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 of the GNU Lesser Ge\hich\af37\dbch\af31505\loch\f37 neral Public License from time to time. Such new}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 versions will be similar in spirit to the present version, but may}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 differ in detail to address new problems or concer\hich\af37\dbch\af31505\loch\f37 ns.}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 differ in detail to address new problems or concerns.}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557
\par
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 Each version is given a distinguishing version number. If the}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 Library as you received it specifies that a certain numbered version}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 Library as you receiv\hich\af37\dbch\af31505\loch\f37 ed it specifies that a certain numbered version}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 of the GNU Lesser General Public License "or any later version"}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557
@ -359,18 +358,18 @@ Normal Table;}}{\*\rsidtbl \rsid1983975\rsid2756858\rsid5121612\rsid9338748\rsid
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 published by the Free Software Foundation. If the Library as you}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 received it does not specify a version number of the GNU Less\hich\af37\dbch\af31505\loch\f37 er}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 received it does not specify a version number of the GNU Lesser}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 General Public License, you may choose any version of the GNU Lesser}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 General Public License, you may choose any version of the G\hich\af37\dbch\af31505\loch\f37 NU Lesser}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 General Public License ever published by the Free Software Foundation.}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557
\par
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 If the Library as you received it specifies that a proxy can decide}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 whether future versions of the GNU Lesser \hich\af37\dbch\af31505\loch\f37 General Public License shall}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 whether future versions of the GNU Lesser General Public License shall}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 apply, that proxy's public statement of acceptance of any version is}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 apply, that proxy's public statem\hich\af37\dbch\af31505\loch\f37 ent of acceptance of any version is}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid14836557 \hich\af37\dbch\af31505\loch\f37 permanent authorization for you to choose that version for the}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid14836557
@ -519,8 +518,8 @@ fffffffffffffffffdfffffffeffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffff52006f006f007400200045006e00740072007900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000500ffffffffffffffffffffffff0c6ad98892f1d411a65f0040963251e500000000000000000000000010dc
e68297dbd501feffffff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000000
ffffffffffffffffffffffffffffffff52006f006f007400200045006e00740072007900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000500ffffffffffffffffffffffff0c6ad98892f1d411a65f0040963251e5000000000000000000000000e041
e0ab0e7ad601feffffff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000105000000000000}}

View file

@ -1,4 +1,4 @@
Данный документ описывает условия распространения продукта PascalABC.NET (версия 3.6).
Данный документ описывает условия распространения продукта PascalABC.NET (версия 3.7).
Копия лицензии GNU LGPL прилагается в конце этого файла.
ВАЖНЕЙШИЕ УСЛОВИЯ РАСПРОСТРАНЕНИЯ ПРОДУКТА PascalABC.NET или любого производного продукта

View file

@ -37,16 +37,17 @@
\fs22\lang1049\langfe1049\loch\f31506\hich\af31506\dbch\af31505\cgrid\langnp1049\langfenp1049 \snext0 \sqformat \spriority0 Normal;}{\*\cs10 \additive \ssemihidden \sunhideused \spriority1 Default Paragraph Font;}{\*
\ts11\tsrowd\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tblind0\tblindtype3\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv \ql \li0\ri0\sa160\sl259\slmult1
\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 \fs22\lang1049\langfe1049\loch\f31506\hich\af31506\dbch\af31505\cgrid\langnp1049\langfenp1049 \snext11 \ssemihidden \sunhideused
Normal Table;}}{\*\rsidtbl \rsid8737603\rsid12992900\rsid14828819}{\mmathPr\mmathFont34\mbrkBin0\mbrkBinSub0\msmallFrac0\mdispDef1\mlMargin0\mrMargin0\mdefJc1\mwrapIndent1440\mintLim0\mnaryLim1}{\info
{\operator \'d1\'f2\'e0\'ed\'e8\'f1\'eb\'e0\'e2 \'cc\'e8\'f5\'e0\'eb\'ea\'ee\'e2\'e8\'f7}{\creatim\yr2020\mo2\dy4\hr23\min53}{\revtim\yr2020\mo5\dy4\hr23\min7}{\version3}{\edmins1}{\nofpages4}{\nofwords1364}{\nofchars7779}{\nofcharsws9125}{\vern127}}
Normal Table;}}{\*\rsidtbl \rsid2127750\rsid8737603\rsid12992900\rsid14828819}{\mmathPr\mmathFont34\mbrkBin0\mbrkBinSub0\msmallFrac0\mdispDef1\mlMargin0\mrMargin0\mdefJc1\mwrapIndent1440\mintLim0\mnaryLim1}{\info
{\operator \'d1\'f2\'e0\'ed\'e8\'f1\'eb\'e0\'e2 \'cc\'e8\'f5\'e0\'eb\'ea\'ee\'e2\'e8\'f7}{\creatim\yr2020\mo2\dy4\hr23\min53}{\revtim\yr2020\mo8\dy24\hr15\min4}{\version4}{\edmins1}{\nofpages4}{\nofwords1364}{\nofchars7779}{\nofcharsws9125}{\vern7}}
{\*\xmlnstbl {\xmlns1 http://schemas.microsoft.com/office/word/2003/wordml}}\paperw12240\paperh15840\margl1701\margr850\margt1134\margb1134\gutter0\ltrsect
\widowctrl\ftnbj\aenddoc\trackmoves0\trackformatting1\donotembedsysfont0\relyonvml0\donotembedlingdata1\grfdocevents0\validatexml0\showplaceholdtext0\ignoremixedcontent0\saveinvalidxml0\showxmlerrors0\horzdoc\dghspace120\dgvspace120\dghorigin1701
\dgvorigin1984\dghshow0\dgvshow3\jcompress\viewkind1\viewscale110\rsidroot8737603 \fet0{\*\wgrffmtfilter 2450}\ilfomacatclnup0\ltrpar \sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\*\pnseclvl1\pnucrm\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl2
\dgvorigin1984\dghshow0\dgvshow3\jcompress\viewkind1\viewscale100\rsidroot8737603 \fet0{\*\wgrffmtfilter 2450}\ilfomacatclnup0\ltrpar \sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\*\pnseclvl1\pnucrm\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl2
\pnucltr\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl3\pndec\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl4\pnlcltr\pnstart1\pnindent720\pnhang {\pntxta )}}{\*\pnseclvl5\pndec\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl6
\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl7\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl8\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl9\pnlcrm\pnstart1\pnindent720\pnhang
{\pntxtb (}{\pntxta )}}\pard\plain \ltrpar\ql \li0\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 \fs22\lang1049\langfe1049\loch\af31506\hich\af31506\dbch\af31505\cgrid\langnp1049\langfenp1049 {\rtlch\fcs1
\af37 \ltrch\fcs0 \f37\lang1033\langfe1049\langnp1033\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 Next, we describe the terms under which PascalABC.NET }{\rtlch\fcs1 \af37 \ltrch\fcs0
\f37\lang1033\langfe1049\langnp1033\insrsid14828819\charrsid14828819 \hich\af37\dbch\af31505\loch\f37 (version 3.6) }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1049\langnp1033\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 is distributed.
\f37\lang1033\langfe1049\langnp1033\insrsid14828819\charrsid14828819 \hich\af37\dbch\af31505\loch\f37 (version 3.}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1049\langnp1033\insrsid2127750 \hich\af37\dbch\af31505\loch\f37 7}{\rtlch\fcs1 \af37
\ltrch\fcs0 \f37\lang1033\langfe1049\langnp1033\insrsid14828819\charrsid14828819 \hich\af37\dbch\af31505\loch\f37 ) }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1049\langnp1033\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 is distributed.
\par \hich\af37\dbch\af31505\loch\f37 A copy of the GNU GPL is appended to this file.
\par
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 IMPORTANT PascalABC.NET LICENSE TERMS}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid8737603
@ -55,32 +56,32 @@ Normal Table;}}{\*\rsidtbl \rsid8737603\rsid12992900\rsid14828819}{\mmathPr\mmat
\par
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 Copyright (C) 2005-202}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1049\langnp1033\insrsid12992900 0}{\rtlch\fcs1 \af37 \ltrch\fcs0
\f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 by Ivan Bondarev, Stanislav Mikhalkovich}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1049\langnp1033\insrsid12992900
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 This program is free software; you may redistribute and/or modify it under the terms of the GNU LGPL version 3 with the clar
\hich\af37\dbch\af31505\loch\f37 ifications and exceptions described below. }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1049\langnp1033\insrsid12992900
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 This program is free software; you may redistribute and/or modify it under \hich\af37\dbch\af31505\loch\f37
the terms of the GNU LGPL version 3 with the clarifications and exceptions described below. }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1049\langnp1033\insrsid12992900
\par
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 PascalABC.NET }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1049\langnp1033\insrsid12992900 \hich\af37\dbch\af31505\loch\f37
can be linked with non-free modules and libraries}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 . }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1049\langnp1033\insrsid12992900
\hich\af37\dbch\af31505\loch\f37 This condition is mainly concerned with possibility of adding foreign modules and libraries to PascalABC.NET, aimed at education.}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900
\hich\af37\dbch\af31505\loch\f37 }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1049\langnp1033\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 In particular}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900
\hich\af37\dbch\af31505\loch\f37 , P\hich\af37\dbch\af31505\loch\f37 ascalABC.NET }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1049\langnp1033\insrsid12992900 \hich\af37\dbch\af31505\loch\f37
\hich\af37\dbch\af31505\loch\f37 This condition is mainly concerned with possibility of adding foreign modules and libraries to Pa\hich\af37\dbch\af31505\loch\f37 scalABC.NET, aimed at education.}{\rtlch\fcs1 \af37 \ltrch\fcs0
\f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1049\langnp1033\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 In particular}{\rtlch\fcs1 \af37 \ltrch\fcs0
\f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 , PascalABC.NET }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1049\langnp1033\insrsid12992900 \hich\af37\dbch\af31505\loch\f37
includes as a part PROGRAMMING TASKBOOK FOR PASCALABC.NET}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 (in agreement with the author of this product), }{\rtlch\fcs1 \af37 \ltrch\fcs0
\f37\lang1033\langfe1049\langnp1033\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 which is distributed }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 under the terms of }{\rtlch\fcs1
\af37 \ltrch\fcs0 \f37\lang1033\langfe1049\langnp1033\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 proprietary license}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 (}{\rtlch\fcs1 \af37
\ltrch\fcs0 \f37\lang1033\langfe1049\langnp1033\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 see }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \\\hich\af37\dbch\af31505\loch\f37 bin\\PT4)}{\rtlch\fcs1 \af37 \ltrch\fcs0
\f37\lang1033\langfe1049\langnp1033\insrsid12992900
\par
\par \hich\af37\dbch\af31505\loch\f37 In addition, in About window }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1031\langfe1049\langnp1031\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 of}{\rtlch\fcs1 \af37 \ltrch\fcs0
\f37\lang1033\langfe1049\langnp1033\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 PascalABC.NET IDE we demand t\hich\af37\dbch\af31505\loch\f37 \hich\f37
o display names of the authors of PascalABC.NET from the beginning of this document (right after the title \'93\loch\f37 IMPORTANT PascalABC.NET LICENSE TERMS}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1049\langnp1033\insrsid8737603
\hich\af37\dbch\af31505\loch\f37 }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1049\langnp1033\insrsid8737603\charrsid8737603 \hich\af37\dbch\af31505\loch\f37 (or any derivative product)}{\rtlch\fcs1 \af37 \ltrch\fcs0
\f37\lang1033\langfe1049\langnp1033\insrsid12992900 \loch\af37\dbch\af31505\hich\f37 \'94\loch\f37 ).}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1049\langnp1033\insrsid8737603 \hich\af37\dbch\af31505\loch\f37 }{\rtlch\fcs1 \af37 \ltrch\fcs0
\f37\lang1033\langfe1049\langnp1033\insrsid8737603\charrsid8737603 \hich\af37\dbch\af31505\loch\f37 If the PascalABC.NET compiler is integrated into another IDE, the window with \hich\af37\dbch\af31505\loch\f37
names of the authors of PascalABC.NET must be present in an accessible and obvious place.}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1049\langnp1033\insrsid12992900
\par \hich\af37\dbch\af31505\loch\f37 In addition,\hich\af37\dbch\af31505\loch\f37 in About window }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1031\langfe1049\langnp1031\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 of}{\rtlch\fcs1 \af37 \ltrch\fcs0
\f37\lang1033\langfe1049\langnp1033\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 \hich\f37 PascalABC.NET IDE we demand to display names of the authors of PascalABC.NET from the beginning of this document (right after the title \'93\loch\f37
IMPORTANT PascalABC.NET LICENSE TERMS}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1049\langnp1033\insrsid8737603 \hich\af37\dbch\af31505\loch\f37 }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1049\langnp1033\insrsid8737603\charrsid8737603
\hich\af37\dbch\af31505\loch\f37 (or any derivative product)}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1049\langnp1033\insrsid12992900 \loch\af37\dbch\af31505\hich\f37 \'94\loch\f37 ).}{\rtlch\fcs1 \af37 \ltrch\fcs0
\f37\lang1033\langfe1049\langnp1033\insrsid8737603 \hich\af37\dbch\af31505\loch\f37 }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1049\langnp1033\insrsid8737603\charrsid8737603 \hich\af37\dbch\af31505\loch\f37 If the PascalABC.NET compiler
\hich\af37\dbch\af31505\loch\f37 is integrated into another IDE, the window with names of the authors of PascalABC.NET must be present in an accessible and obvious place.}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1049\langnp1033\insrsid12992900
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1049\langnp1033\insrsid12992900
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1031\langfe1049\langnp1031\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 Our interpretation applies only to PascalABC.NET - we don't speak for other people's LGPL works.}{\rtlch\fcs1 \af37 \ltrch\fcs0
\f37\lang1033\langfe1049\langnp1033\insrsid12992900
\par
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 *****************************************************\hich\af37\dbch\af31505\loch\f37 *************************}{\rtlch\fcs1 \af37 \ltrch\fcs0
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 ****\hich\af37\dbch\af31505\loch\f37 **************************************************************************}{\rtlch\fcs1 \af37 \ltrch\fcs0
\f37\lang1033\langfe1049\langnp1033\insrsid12992900
\par
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 GNU LESSER GENERAL PUBLIC LICENSE}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
@ -90,12 +91,12 @@ names of the authors of PascalABC.NET must be present in an accessible and obvio
\par
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 Copyright (C) 2007 Free Software Foundation, Inc. <}{\field{\*\fldinst {\rtlch\fcs1 \af37 \ltrch\fcs0
\f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 HYPERLINK "http://fsf.org/"}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid8737603 {\*\datafield
00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b3800000068007400740070003a002f002f006600730066002e006f00720067002f000000795881f43b1d7f48af2c825dc485276300000000a5ab000300}}}{\fldrslt {\rtlch\fcs1 \af37 \ltrch\fcs0
00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b3800000068007400740070003a002f002f006600730066002e006f00720067002f000000795881f43b1d7f48af2c825dc485276300000000a5ab00030000}}}{\fldrslt {\rtlch\fcs1 \af37 \ltrch\fcs0
\f37\ul\cf2\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 http://fsf.org/}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900
\hich\af37\dbch\af31505\loch\f37 >
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 Everyone is permitted to copy and distribute verbatim copies}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 of this license document, but changing it is not allowed.}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 of thi\hich\af37\dbch\af31505\loch\f37 s license document, but changing it is not allowed.}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900
\par
\par
@ -106,7 +107,8 @@ names of the authors of PascalABC.NET must be present in an accessible and obvio
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 License, supplemented by the additional permissions listed below.}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900
\par
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 0. Additional Definitions.}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 \hich\af37\dbch\af31505\loch\f37 0. Additional Definitions.}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900
\par
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 As used herein, "this License" refers to version 3 of the GNU Lesser}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900
@ -116,48 +118,48 @@ names of the authors of PascalABC.NET must be present in an accessible and obvio
\par
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 "The Library" refers to a covered work governed by this License,}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 other than an Applic\hich\af37\dbch\af31505\loch\f37 ation or a Combined Work as defined below.}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 other than an Application or a Combined Work as defined below.}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900
\par
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 An "Application" is any work that makes use of an interface provided}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 by the Library, but which is not otherwise based on the Library.}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 by the Library, but which is not otherwise based on th\hich\af37\dbch\af31505\loch\f37 e Library.}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 Defining a subclass of a class defined by the Library is deemed a mode}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 of us\hich\af37\dbch\af31505\loch\f37 ing an interface provided by the Library.}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 of using an interface provided by the Library.}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900
\par
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 A "Combined Work" is a work produced by combining or linking an}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 Application with the Library. The particular version of the Library}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 Application with the Library. The particular version of the\hich\af37\dbch\af31505\loch\f37 Library}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 with which the Combined Work was made is also called the "Linked}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 Version".}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900
\par
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 \hich\af37\dbch\af31505\loch\f37 The "Minimal Corresponding Source" for a Combined Work means the}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 The "Minimal Corresponding Source" for a Combined Work means the}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 Corresponding Source for the Combined Work, excluding any source code}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 for portions of the Combined Work that, considered in isolation, are}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 for portions of the Combined Work \hich\af37\dbch\af31505\loch\f37 that, considered in isolation, are}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 based on the Application, and not on the Linked Vers\hich\af37\dbch\af31505\loch\f37 ion.}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 based on the Application, and not on the Linked Version.}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900
\par
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 The "Corresponding Application Code" for a Combined Work means the}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 object code and/or source code for the Application, including any data}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 and utility programs needed for reproducing the Combined Work from the}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 and utility programs ne\hich\af37\dbch\af31505\loch\f37 eded for reproducing the Combined Work from the}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 Application, but excluding the System L\hich\af37\dbch\af31505\loch\f37 ibraries of the Combined Work.}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 Application, but excluding the System Libraries of the Combined Work.}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900
\par
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 1. Exception to Section 3 of the GNU GPL.}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900
\par
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 You may convey a covered work under sections 3 and 4 of this License}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 You may convey a covered work under sectio\hich\af37\dbch\af31505\loch\f37 ns 3 and 4 of this License}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 without being bound by section 3 of the GNU GPL.}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900
@ -174,27 +176,27 @@ names of the authors of PascalABC.NET must be present in an accessible and obvio
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 version:}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900
\par
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 a) under this License, provided that you make a good faith effort to}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 a) under this License, provided that you \hich\af37\dbch\af31505\loch\f37 make a good faith effort to}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 ensure that, in the event an Application\hich\af37\dbch\af31505\loch\f37 does not supply the}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 ensure that, in the event an Application does not supply the}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 function or data, the facility still operates, and performs}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 whatever part of its purpose remains meaningful, or}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900
\par
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 b) under the GNU GPL, with none of the additional permissions of}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 b) under the GNU GPL, with none of the add\hich\af37\dbch\af31505\loch\f37 itional permissions of}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 this License applicable to that copy.}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900
\par
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 3. O\hich\af37\dbch\af31505\loch\f37 bject Code Incorporating Material from Library Header Files.}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 3. Object Code Incorporating Material from Library Header Files.}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900
\par
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 The object code form of an Application may incorporate material from}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 a header file that is part of the Library. You may convey such object}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 a header file that is part of the Library. You may \hich\af37\dbch\af31505\loch\f37 convey such object}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 code under terms of your choice, provided that, if t\hich\af37\dbch\af31505\loch\f37 he incorporated}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 code under terms of your choice, provided that, if the incorporated}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 material is not limited to numerical parameters, data structure}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900
@ -263,13 +265,13 @@ names of the authors of PascalABC.NET must be present in an accessible and obvio
\par
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 1) Use a suitable shared library mechanism for linking with the}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 Library. A suitable mechanism is one that (a) uses at run time}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 \hich\af37\dbch\af31505\loch\f37 Library. A suitable mechanism is one that (a) uses at run time}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 a copy of the Library already present on the user's computer}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 system, and (b) will operate properly w\hich\af37\dbch\af31505\loch\f37 ith a modified version}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 system, and (b) will operate properly with a modified version}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 of the Library that is interface-compatible with the Linked}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 of the Library that is interface-compatible w\hich\af37\dbch\af31505\loch\f37 ith the Linked}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 Version.}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900
\par
@ -277,17 +279,17 @@ names of the authors of PascalABC.NET must be present in an accessible and obvio
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 be required to provide such information under section 6 of the}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 GNU GPL,\hich\af37\dbch\af31505\loch\f37 and only to the extent that such information is}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 GNU GPL, and only to the extent that such information is}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 necessary to install and execute a modified version of the}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 necessary to install an\hich\af37\dbch\af31505\loch\f37 d execute a modified version of the}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 Combined Work produced by recombining or relinking the}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 Application with a modified version of the Linked Version. (If}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 you use option 4d0\hich\af37\dbch\af31505\loch\f37 , the Installation Information must accompany}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 you use option 4d0, the Installation Information must accompany}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 the Minimal Corresponding Source and Corresponding Application}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 the Minimal Corresponding \hich\af37\dbch\af31505\loch\f37 Source and Corresponding Application}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 Code. If you use option 4d1, you must provide the Installation}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900
@ -301,9 +303,9 @@ names of the authors of PascalABC.NET must be present in an accessible and obvio
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 Library side by side in a single library together with other library}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 facilities that are not Applications and are not covered\hich\af37\dbch\af31505\loch\f37 by this}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 facilities that are not Applications and are not covered by this}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 License, and convey such a combined library under terms of your}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 License, and convey such a combi\hich\af37\dbch\af31505\loch\f37 ned library under terms of your}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 choice, if you do both of the following:}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900
\par
@ -311,8 +313,8 @@ names of the authors of PascalABC.NET must be present in an accessible and obvio
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 on the Library, uncombined with any other library facilities,}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 c\hich\af37\dbch\af31505\loch\f37 onveyed under the terms of this License.}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 conveyed under the terms of this License.}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900
\par
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 b) Give prominent notice with the combined library that part of it}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900
@ -321,16 +323,16 @@ names of the authors of PascalABC.NET must be present in an accessible and obvio
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 accompanying uncombined form of the same work.}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900
\par
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 6. Revised Versions of \hich\af37\dbch\af31505\loch\f37 the GNU Lesser General Public License.}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 6. Revised Versions of the GNU Lesser General Public License.}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900
\par
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 The Free Software Foundation may publish revised and/or new versions}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 \hich\af37\dbch\af31505\loch\f37 The Free Software Foundation may publish revised and/or new versions}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 of the GNU Lesser General Public License from time to time. Such new}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 versions will be similar in spirit to the present version, but may}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 differ in\hich\af37\dbch\af31505\loch\f37 detail to address new problems or concerns.}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 differ in detail to address new problems or concer\hich\af37\dbch\af31505\loch\f37 ns.}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900
\par
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 Each version is given a distinguishing version number. If the}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
@ -339,13 +341,13 @@ names of the authors of PascalABC.NET must be present in an accessible and obvio
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 of the GNU Lesser General Public License "or any later version"}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 applies to it, you have the option of following the terms and}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 appl\hich\af37\dbch\af31505\loch\f37 ies to it, you have the option of following the terms and}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 conditions either of that published version or of any later version}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 published by the Free Software Foundation. If the Library as you}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 received it does not specify a version number of the GNU Less\hich\af37\dbch\af31505\loch\f37 er}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 received it does not specify a version number of the GNU Lesser}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 General Public License, you may choose any version of the GNU Lesser}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900
@ -354,11 +356,11 @@ names of the authors of PascalABC.NET must be present in an accessible and obvio
\par
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 If the Library as you received it specifies that a proxy can decide}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 whether future versions of the GNU Lesser General Public License shall}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 whether future versions of the GNU Lesser Gen\hich\af37\dbch\af31505\loch\f37 eral Public License shall}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 apply, that proxy's public statement of acceptance of any version is}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 permanent authorization for you to choose that\hich\af37\dbch\af31505\loch\f37 version for the}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 permanent authorization for you to choose that version for the}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0
\f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang7\langfe1049\langnp7\insrsid12992900 \hich\af37\dbch\af31505\loch\f37 Library.}{\rtlch\fcs1 \af37\afs24 \ltrch\fcs0 \f37\fs24\lang1033\langfe1049\langnp1033\insrsid12992900
\par }{\*\themedata 504b030414000600080000002100e9de0fbfff0000001c020000130000005b436f6e74656e745f54797065735d2e786d6cac91cb4ec3301045f748fc83e52d4a
@ -505,8 +507,8 @@ fffffffffffffffffdfffffffeffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffff52006f006f007400200045006e00740072007900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000500ffffffffffffffffffffffff0c6ad98892f1d411a65f0040963251e5000000000000000000000000104f
16b44f22d601feffffff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000000
ffffffffffffffffffffffffffffffff52006f006f007400200045006e00740072007900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000500ffffffffffffffffffffffff0c6ad98892f1d411a65f0040963251e5000000000000000000000000f098
37b10e7ad601feffffff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000105000000000000}}

View file

@ -1,4 +1,4 @@
Next, we describe the terms under which PascalABC.NET (version 3.6) is distributed.
Next, we describe the terms under which PascalABC.NET (version 3.7) is distributed.
A copy of the GNU GPL is appended to this file.
IMPORTANT PascalABC.NET LICENSE TERMS (or any derivative product)

View file

@ -8,6 +8,10 @@
ExecWait '"$INSTDIR\ExecHide.exe" "$INSTDIR\gacutil.exe" /u "HelixToolkit"'
ExecWait '"$INSTDIR\ExecHide.exe" "$INSTDIR\gacutil.exe" /i "$INSTDIR\Lib\HelixToolkit.dll"'
ExecWait '"$INSTDIR\ExecHide.exe" "$INSTDIR\gacutil.exe" /u "nunit.framework"'
ExecWait '"$INSTDIR\ExecHide.exe" "$INSTDIR\gacutil.exe" /i "$INSTDIR\Lib\nunit.framework.dll"'
;\MikhailoMMX
Delete "$INSTDIR\gacutil.exe"
Delete "$INSTDIR\gacutil.exe.config"

View file

@ -1 +1 @@
!define VERSION '3.6.3.2660'
!define VERSION '3.7.0.2670'

View file

@ -15,7 +15,7 @@
ABCDatabases,BlockFileOfT,Controls,
OpenCLABC, OpenCL, OpenCLABCBase,
OpenGLABC, OpenGL, OpenGLABCBase,
BBCMicroBit, School, SF, TwoPanelsWindow
BBCMicroBit, School, SF, TwoPanelsWindow, NUnitABC
;
begin

View file

@ -138,11 +138,12 @@
File ..\bin\Lib\SF.pcu
File ..\bin\Lib\Turtle.pcu
File ..\bin\Lib\TwoPanelsWindow.pcu
File ..\bin\Lib\NUnitABC.pcu
File ..\bin\Lib\PABCRtl.dll
File ..\bin\Lib\HelixToolkit.Wpf.dll
File ..\bin\Lib\HelixToolkit.dll
File ..\bin\Lib\nunit.framework.dll
${AddFile} "__RedirectIOMode.pcu"
${AddFile} "__RunMode.pcu"
@ -210,11 +211,14 @@
${AddFile} "SF.pcu"
${AddFile} "Turtle.pcu"
${AddFile} "TwoPanelsWindow.pcu"
${AddFile} "NUnitABC.pcu"
${AddFile} "PABCRtl.dll"
${AddFile} "HelixToolkit.Wpf.dll"
${AddFile} "HelixToolkit.dll"
${AddFile} "nunit.framework.dll"
${AddFile} "PABCRtl.pdb"
SetOutPath "$INSTDIR\Doc"
@ -228,6 +232,8 @@
Call NGEN
Push "Lib\HelixToolkit.dll"
Call NGEN
Push "Lib\nunit.framework.dll"
Call NGEN
SetOutPath "$INSTDIR\LibSource"
File ..\bin\Lib\__RedirectIOMode.pas
@ -294,6 +300,7 @@
File ..\bin\Lib\SF.pas
File ..\bin\Lib\Turtle.pas
File ..\bin\Lib\TwoPanelsWindow.pas
File ..\bin\Lib\NUnitABC.pas
File ..\bin\Lib\__RedirectIOMode.vb
File ..\bin\Lib\VBSystem.vb
@ -362,6 +369,7 @@
${AddFile} "SF.pas"
${AddFile} "Turtle.pas"
${AddFile} "TwoPanelsWindow.pas"
${AddFile} "NUnitABC.pas"
${AddFile} "__RedirectIOMode.vb"

View file

@ -20,6 +20,7 @@
File "..\bin\nuget.exe"
File "..\bin\FormatterOptions.ini"
File "..\bin\ProgrammRunner.exe"
File "..\bin\RunUnitTests.exe"
File "..\bin\pabcworknet.ini"
;dobavljaem fajly v uninst.log
@ -42,6 +43,7 @@
${AddFile} "nuget.exe"
${AddFile} "FormatterOptions.ini"
${AddFile} "ProgrammRunner.exe"
${AddFile} "RunUnitTests.exe"
SetOutPath "$INSTDIR\Temp"
SetOutPath "$INSTDIR"

View file

@ -69,6 +69,7 @@
<DebugType>full</DebugType>
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
<UseVSHostingProcess>true</UseVSHostingProcess>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<OutputPath>..\bin\</OutputPath>

View file

@ -20,6 +20,7 @@
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<UseVSHostingProcess>true</UseVSHostingProcess>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>

View file

@ -21,6 +21,7 @@
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<UseVSHostingProcess>true</UseVSHostingProcess>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>

View file

@ -53,7 +53,7 @@ function Primes(n: integer): List<integer>;
/// Первые n простых чисел
function FirstPrimes(n: integer): List<integer>;
/// Возвращает массив, содержащий цифры числа
/// Возвращает список, содержащий цифры числа
function Digits(n: int64): List<integer>;
/// возвращает список делителей натурального числа
@ -80,6 +80,25 @@ function SeqRandomReal(n: integer; a, b: real; t: integer): sequence of real;
/// на интервале [a; b) с t знаками в дробной части
function MatrRandomReal(m: integer; n: integer; a, b: real; t: integer): array [,] of real;
/// Возвращает логическое значение операции импликации a -> b
function Imp(a, b: boolean) : boolean;
/// Выводит на монитор таблицу истинности для двух переменных
procedure TrueTable(f: function(a, b: boolean): boolean;
vars: string := 'x1.x2');
/// Выводит на монитор таблицу истинности для трех переменных
procedure TrueTable(f: function(a, b, c: boolean): boolean;
vars: string := 'x1.x2.x3');
/// Выводит на монитор таблицу истинности для четырех переменных
procedure TrueTable(f: function(a, b, c, d: boolean): boolean;
vars: string := 'x1.x2.x3.x4');
/// Выводит на монитор таблицу истинности для пяти переменных
procedure TrueTable(f: function(a, b, c, d, e: boolean): boolean;
vars: string := 'x1.x2.x3.x4.x5');
implementation
type
@ -428,7 +447,7 @@ end;
{$region Digits}
/// Возвращает массив, содержащий цифры числа
/// Возвращает список, содержащий цифры числа
function Digits(n: int64): List<integer>;
begin
var St := new Stack<integer>;
@ -445,11 +464,11 @@ begin
end
end;
/// Возвращает массив, содержащий цифры числа
/// Возвращает список, содержащий цифры числа
function Digits(Self: integer): List<integer>;
extensionmethod := Digits(Self);
/// возвращает массив, содержащий цифры числа
/// возвращает список, содержащий цифры числа
function Digits(Self: int64): List<integer>;
extensionmethod := Digits(Self);
@ -560,4 +579,82 @@ end;
{$endregion}
{$region BooleanLogic}
function BoolToStr(Self: boolean): string; extensionmethod :=
if Self then '1' else '0';
/// Возвращает логическое значение операции импликации a -> b
function Imp(a, b: boolean) : boolean := not a or b;
/// Выводит на монитор таблицу истинности для двух переменных
procedure TrueTable(f: function(a, b: boolean): boolean;
vars: string);
begin
var names := vars.ToWords('.');
var lengths := names.Select(Имя -> Имя.Length + 1).ToArray;
Write(' ');
names.Print;
Writeln(' F');
for var a := False to True do
for var b := False to True do
Writeln(a.BoolToStr:lengths[0], b.BoolToStr:lengths[1],
f(a, b).BoolToStr:2)
end;
/// Выводит на монитор таблицу истинности для трех переменных
procedure TrueTable(f: function(a, b, c: boolean): boolean;
vars: string);
begin
var names := vars.ToWords('.');
var lengths := names.Select(Имя -> Имя.Length + 1).ToArray;
Write(' ');
names.Print;
Writeln(' F');
for var a := False to True do
for var b := False to True do
for var c := False to True do
Writeln(a.BoolToStr:lengths[0], b.BoolToStr:lengths[1],
c.BoolToStr:lengths[2], f(a, b, c).BoolToStr:2)
end;
/// Выводит на монитор таблицу истинности для четырех переменных
procedure TrueTable(f: function(a, b, c, d: boolean): boolean;
vars: string);
begin
var names := vars.ToWords('.');
var lengths := names.Select(Имя -> Имя.Length + 1).ToArray;
Write(' ');
names.Print;
Writeln(' F');
for var a := False to True do
for var b := False to True do
for var c := False to True do
for var d := False to True do
Writeln(a.BoolToStr:lengths[0], b.BoolToStr:lengths[1],
c.BoolToStr:lengths[2], d.BoolToStr:lengths[3],
f(a, b, c, d).BoolToStr:2)
end;
/// Выводит на монитор таблицу истинности для пяти переменных
procedure TrueTable(f: function(a, b, c, d, e: boolean): boolean;
vars: string);
begin
var names := vars.ToWords('.');
var lengths := names.Select(Имя -> Имя.Length + 1).ToArray;
Write(' ');
names.Print;
Writeln(' F');
for var a := False to True do
for var b := False to True do
for var c := False to True do
for var d := False to True do
for var e := False to True do
Writeln(a.BoolToStr:lengths[0], b.BoolToStr:lengths[1],
c.BoolToStr:lengths[2], d.BoolToStr:lengths[3],
e.BoolToStr:lengths[4], f(a, b, c, d, e).BoolToStr:2)
end;
{$endregion}
end.

View file

@ -60,6 +60,7 @@
<DocumentationFile>
</DocumentationFile>
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
<UseVSHostingProcess>true</UseVSHostingProcess>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<OutputPath>..\bin\</OutputPath>

View file

@ -177,6 +177,7 @@ namespace VisualPascalABC
this.tsFindAllReferences = new System.Windows.Forms.ToolStripMenuItem();
this.miGenerateRealization = new System.Windows.Forms.ToolStripMenuItem();
this.mFORMATToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.mUNITTESTSToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.miPlugins = new System.Windows.Forms.ToolStripMenuItem();
this.mrHelp = new System.Windows.Forms.ToolStripMenuItem();
this.tsHelp = new System.Windows.Forms.ToolStripMenuItem();
@ -1390,7 +1391,7 @@ namespace VisualPascalABC
// miShowGrid
//
this.miShowGrid.Name = "miShowGrid";
this.miShowGrid.Size = new System.Drawing.Size(165, 22);
this.miShowGrid.Size = new System.Drawing.Size(180, 22);
this.miShowGrid.Text = "M_SHOW_GRID";
this.miShowGrid.Visible = false;
this.miShowGrid.Click += new System.EventHandler(this.miShowGrid_Click);
@ -1398,7 +1399,7 @@ namespace VisualPascalABC
// miSnapToGrid
//
this.miSnapToGrid.Name = "miSnapToGrid";
this.miSnapToGrid.Size = new System.Drawing.Size(165, 22);
this.miSnapToGrid.Size = new System.Drawing.Size(180, 22);
this.miSnapToGrid.Text = "M_SNAP_TO_GRID";
this.miSnapToGrid.Visible = false;
this.miSnapToGrid.Click += new System.EventHandler(this.miSnapToGrid_Click);
@ -1414,7 +1415,7 @@ namespace VisualPascalABC
this.miAlignCenters,
this.miAlignToGrid});
this.miAlign.Name = "miAlign";
this.miAlign.Size = new System.Drawing.Size(165, 22);
this.miAlign.Size = new System.Drawing.Size(180, 22);
this.miAlign.Text = "M_ALIGN";
//
// miAlignLefts
@ -1472,7 +1473,7 @@ namespace VisualPascalABC
this.miCenterHorizontally,
this.miCenterVertically});
this.miCenter.Name = "miCenter";
this.miCenter.Size = new System.Drawing.Size(165, 22);
this.miCenter.Size = new System.Drawing.Size(180, 22);
this.miCenter.Text = "M_CENTER";
//
// miCenterHorizontally
@ -1497,7 +1498,7 @@ namespace VisualPascalABC
this.miSizeToControlHeight,
this.miSizeToGrid});
this.miSizeTo.Name = "miSizeTo";
this.miSizeTo.Size = new System.Drawing.Size(165, 22);
this.miSizeTo.Size = new System.Drawing.Size(180, 22);
this.miSizeTo.Text = "M_SIZE_TO";
//
// miSizeToControl
@ -1534,7 +1535,7 @@ namespace VisualPascalABC
this.miBringToFront,
this.miSendToBack});
this.miZOrder.Name = "miZOrder";
this.miZOrder.Size = new System.Drawing.Size(165, 22);
this.miZOrder.Size = new System.Drawing.Size(180, 22);
this.miZOrder.Text = "M_Z_ORDER";
//
// miBringToFront
@ -1554,7 +1555,7 @@ namespace VisualPascalABC
// miTabOrder
//
this.miTabOrder.Name = "miTabOrder";
this.miTabOrder.Size = new System.Drawing.Size(165, 22);
this.miTabOrder.Size = new System.Drawing.Size(180, 22);
this.miTabOrder.Text = "M_TAB_ORDER";
this.miTabOrder.Click += new System.EventHandler(this.miTabOrder_Click);
//
@ -1568,7 +1569,8 @@ namespace VisualPascalABC
this.tsGotoRealization,
this.tsFindAllReferences,
this.miGenerateRealization,
this.mFORMATToolStripMenuItem});
this.mFORMATToolStripMenuItem,
this.mUNITTESTSToolStripMenuItem});
this.mrService.Name = "mrService";
this.mrService.ShortcutKeys = ((System.Windows.Forms.Keys)(((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Shift)
| System.Windows.Forms.Keys.D)));
@ -1624,7 +1626,9 @@ namespace VisualPascalABC
//
this.miGenerateRealization.Image = ((System.Drawing.Image)(resources.GetObject("miGenerateRealization.Image")));
this.miGenerateRealization.Name = "miGenerateRealization";
this.miGenerateRealization.ShortcutKeyDisplayString = "Shift+Ctrl+C";
this.miGenerateRealization.ShortcutKeyDisplayString = "";
this.miGenerateRealization.ShortcutKeys = ((System.Windows.Forms.Keys)(((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Shift)
| System.Windows.Forms.Keys.C)));
this.miGenerateRealization.Size = new System.Drawing.Size(282, 22);
this.miGenerateRealization.Text = "M_GENERATE_REALIZATION";
//
@ -1638,6 +1642,15 @@ namespace VisualPascalABC
this.mFORMATToolStripMenuItem.Text = "M_FORMAT";
this.mFORMATToolStripMenuItem.Click += new System.EventHandler(this.mFORMATToolStripMenuItem_Click);
//
// mUNITTESTSToolStripMenuItem
//
this.mUNITTESTSToolStripMenuItem.Name = "mUNITTESTSToolStripMenuItem";
this.mUNITTESTSToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)(((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Shift)
| System.Windows.Forms.Keys.T)));
this.mUNITTESTSToolStripMenuItem.Size = new System.Drawing.Size(282, 22);
this.mUNITTESTSToolStripMenuItem.Text = "M_UNIT_TESTS";
this.mUNITTESTSToolStripMenuItem.Click += new System.EventHandler(this.mUNITTESTSToolStripMenuItem_Click);
//
// miPlugins
//
this.miPlugins.Name = "miPlugins";
@ -2601,6 +2614,7 @@ namespace VisualPascalABC
private System.Windows.Forms.ToolStripMenuItem tsDisassembly;
private System.Windows.Forms.ToolStripButton tsAutoInsertCode;
private System.Windows.Forms.ToolStripMenuItem mAUTOINSERTToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem mUNITTESTSToolStripMenuItem;
}
}

View file

@ -1541,6 +1541,35 @@ namespace VisualPascalABC
mAUTOINSERTToolStripMenuItem.Checked = !mAUTOINSERTToolStripMenuItem.Checked;
}
private void mUNITTESTSToolStripMenuItem_Click(object sender, EventArgs e)
{
try
{
WorkbenchServiceFactory.Workbench.ErrorsListWindow.ClearErrorList();
var OutputFileName = WorkbenchServiceFactory.BuildService.Compile(CurrentSourceFileName, false, "__RunMode", true, true);
if (OutputFileName != null)
{
var process = new System.Diagnostics.Process();
process.StartInfo.FileName = Path.Combine(Path.GetDirectoryName(Application.ExecutablePath), "RunUnitTests.exe");
process.StartInfo.Arguments = "\""+OutputFileName+"\"";
process.Start();
}
/*WorkbenchServiceFactory.RunService.Run(@"D:\PABC_Git\bin\RunUnitTests.exe",
WorkbenchServiceFactory.Workbench.UserOptions.RedirectConsoleIO, "", false,
WorkbenchServiceFactory.Workbench.VisualEnvironmentCompiler.Compiler.CompilerOptions.SourceFileDirectory,
WorkbenchServiceFactory.Workbench.VisualEnvironmentCompiler.Compiler.CompilerOptions.SourceFileName, false, false);*/
}
catch (System.Exception ee)
{
ee = ee;
// SSM 22/04/19 - исправляю вылет оболочки при отсутствии exe файла
// this.RunnerManager_Exited(OutputFileName); // - это всё равно не срабатывает. Кнопки оказываются в заблокированном состоянии
//var OutputFileName = @"D:\PABC_Git\bin\RunUnitTests.exe";
//WorkbenchServiceFactory.OperationsService.AddTextToOutputWindowSync(OutputFileName, "Произошла непредвиденная ошибка" + ee.StackTrace);
//throw;
}
}
private void tsHelp_Click(object sender, EventArgs e)
{
__showhelpinqueue();

View file

@ -681,7 +681,7 @@
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAABK
FQAAAk1TRnQBSQFMAgEBEAEAAfwBAAH8AQABEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
FQAAAk1TRnQBSQFMAgEBEAEAARwBAQEcAQEBEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
AwABQAMAAVADAAEBAQABCAYAARQYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA
AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5
AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA

View file

@ -36,6 +36,7 @@
<CheckForOverflowUnderflow>True</CheckForOverflowUnderflow>
<DefineConstants>DEBUG,TRACE;PUBLICINTERPROCESS</DefineConstants>
<OutputPath>..\..\..\..\..\..\..\bin\</OutputPath>
<UseVSHostingProcess>true</UseVSHostingProcess>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
<DebugSymbols>false</DebugSymbols>

View file

@ -35,6 +35,7 @@
<CheckForOverflowUnderflow>True</CheckForOverflowUnderflow>
<OutputPath>..\..\..\..\bin\</OutputPath>
<WarningLevel>4</WarningLevel>
<UseVSHostingProcess>true</UseVSHostingProcess>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugSymbols>False</DebugSymbols>

View file

@ -45,6 +45,9 @@
<PlatformTarget>AnyCPU</PlatformTarget>
<FileAlignment>4096</FileAlignment>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|AnyCPU'">
<UseVSHostingProcess>true</UseVSHostingProcess>
</PropertyGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.Targets" />
<ItemGroup>
<Reference Include="PresentationCore">

View file

@ -42,6 +42,9 @@
<PlatformTarget>AnyCPU</PlatformTarget>
<FileAlignment>4096</FileAlignment>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|AnyCPU'">
<UseVSHostingProcess>true</UseVSHostingProcess>
</PropertyGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.Targets" />
<ItemGroup>
<Reference Include="System" />

View file

@ -18,7 +18,7 @@ namespace VisualPascalABC
string RedirectIOModeName = "[REDIRECTIOMODE]";
string RunModeName = "[RUNMODE]";
private bool TerminateAllPrograms = false;
internal RunManager RunnerManager;
public RunManager RunnerManager;
private IWorkbench Workbench;
private IWorkbenchDesignerService DesignerService;
private IWorkbenchBuildService BuildService;
@ -65,6 +65,14 @@ namespace VisualPascalABC
return Run(DocumentService.CurrentCodeFileDocument, forDebugging, startWithGoto, need_first_brpt);
}
public void Run(string fileName, bool redirectIO, string ModeName, bool RunWithPause, string WorkingDirectory, string CommandLineArguments, bool attachDebugger, bool fictive_attach)
{
RunnerManager.Run(fileName,
Workbench.UserOptions.RedirectConsoleIO, RedirectIOModeName, RunWithPause,
Workbench.VisualEnvironmentCompiler.Compiler.CompilerOptions.SourceFileDirectory,
CommandLineArguments, attachDebugger, fictive_attach);
}
public bool Run(ICodeFileDocument tabPage, bool forDebugging, bool startWithGoto, bool needFirstBreakpoint)
{
lock (o)

View file

@ -42,6 +42,7 @@
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
<UseVSHostingProcess>true</UseVSHostingProcess>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>

View file

@ -59,6 +59,7 @@
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|AnyCPU'">
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
<UseVSHostingProcess>true</UseVSHostingProcess>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|AnyCPU'">
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>

View file

@ -42,6 +42,7 @@
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
<UseVSHostingProcess>true</UseVSHostingProcess>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>

View file

@ -42,6 +42,7 @@
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
<UseVSHostingProcess>true</UseVSHostingProcess>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>

View file

@ -44,6 +44,7 @@
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
<UseVSHostingProcess>true</UseVSHostingProcess>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>

View file

@ -42,6 +42,7 @@
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
<UseVSHostingProcess>true</UseVSHostingProcess>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>

View file

@ -42,6 +42,7 @@
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
<UseVSHostingProcess>true</UseVSHostingProcess>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>

View file

@ -42,6 +42,7 @@
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
<UseVSHostingProcess>true</UseVSHostingProcess>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>

View file

@ -21,6 +21,7 @@
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<UseVSHostingProcess>true</UseVSHostingProcess>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>

View file

@ -1,4 +0,0 @@
ReleaseGenerators\gacutil.exe /u HelixToolkit.Wpf
ReleaseGenerators\gacutil.exe /i bin\Lib\HelixToolkit.Wpf.dll
ReleaseGenerators\gacutil.exe /u HelixToolkit
ReleaseGenerators\gacutil.exe /i bin\Lib\HelixToolkit.dll

6
_RegisterHelixNUnit.bat Normal file
View file

@ -0,0 +1,6 @@
ReleaseGenerators\gacutil.exe /u HelixToolkit.Wpf
ReleaseGenerators\gacutil.exe /i bin\Lib\HelixToolkit.Wpf.dll
ReleaseGenerators\gacutil.exe /u HelixToolkit
ReleaseGenerators\gacutil.exe /i bin\Lib\HelixToolkit.dll
ReleaseGenerators\gacutil.exe /u nunit.framework
ReleaseGenerators\gacutil.exe /i bin\Lib\nunit.framework.dll

19
bin/Lib/NUnitABC.pas Normal file
View file

@ -0,0 +1,19 @@
unit NUnitABC;
{$reference nunit.framework.dll}
uses NUnit.Framework;
procedure InitPABCSystem;
begin
__InitPABCSystem;
end;
type
SetUpAttribute = NUnit.Framework.SetUpAttribute;
TestAttribute = NUnit.Framework.TestAttribute;
TestCaseAttribute = NUnit.Framework.TestCaseAttribute;
Assert = NUnit.Framework.Assert;
begin
end.

View file

@ -53,7 +53,7 @@ function Primes(n: integer): List<integer>;
/// Первые n простых чисел
function FirstPrimes(n: integer): List<integer>;
/// Возвращает массив, содержащий цифры числа
/// Возвращает список, содержащий цифры числа
function Digits(n: int64): List<integer>;
/// возвращает список делителей натурального числа
@ -80,6 +80,25 @@ function SeqRandomReal(n: integer; a, b: real; t: integer): sequence of real;
/// на интервале [a; b) с t знаками в дробной части
function MatrRandomReal(m: integer; n: integer; a, b: real; t: integer): array [,] of real;
/// Возвращает логическое значение операции импликации a -> b
function Imp(a, b: boolean) : boolean;
/// Выводит на монитор таблицу истинности для двух переменных
procedure TrueTable(f: function(a, b: boolean): boolean;
vars: string := 'x1.x2');
/// Выводит на монитор таблицу истинности для трех переменных
procedure TrueTable(f: function(a, b, c: boolean): boolean;
vars: string := 'x1.x2.x3');
/// Выводит на монитор таблицу истинности для четырех переменных
procedure TrueTable(f: function(a, b, c, d: boolean): boolean;
vars: string := 'x1.x2.x3.x4');
/// Выводит на монитор таблицу истинности для пяти переменных
procedure TrueTable(f: function(a, b, c, d, e: boolean): boolean;
vars: string := 'x1.x2.x3.x4.x5');
implementation
type
@ -428,7 +447,7 @@ end;
{$region Digits}
/// Возвращает массив, содержащий цифры числа
/// Возвращает список, содержащий цифры числа
function Digits(n: int64): List<integer>;
begin
var St := new Stack<integer>;
@ -445,11 +464,11 @@ begin
end
end;
/// Возвращает массив, содержащий цифры числа
/// Возвращает список, содержащий цифры числа
function Digits(Self: integer): List<integer>;
extensionmethod := Digits(Self);
/// возвращает массив, содержащий цифры числа
/// возвращает список, содержащий цифры числа
function Digits(Self: int64): List<integer>;
extensionmethod := Digits(Self);
@ -560,4 +579,82 @@ end;
{$endregion}
{$region BooleanLogic}
function BoolToStr(Self: boolean): string; extensionmethod :=
if Self then '1' else '0';
/// Возвращает логическое значение операции импликации a -> b
function Imp(a, b: boolean) : boolean := not a or b;
/// Выводит на монитор таблицу истинности для двух переменных
procedure TrueTable(f: function(a, b: boolean): boolean;
vars: string);
begin
var names := vars.ToWords('.');
var lengths := names.Select(Имя -> Имя.Length + 1).ToArray;
Write(' ');
names.Print;
Writeln(' F');
for var a := False to True do
for var b := False to True do
Writeln(a.BoolToStr:lengths[0], b.BoolToStr:lengths[1],
f(a, b).BoolToStr:2)
end;
/// Выводит на монитор таблицу истинности для трех переменных
procedure TrueTable(f: function(a, b, c: boolean): boolean;
vars: string);
begin
var names := vars.ToWords('.');
var lengths := names.Select(Имя -> Имя.Length + 1).ToArray;
Write(' ');
names.Print;
Writeln(' F');
for var a := False to True do
for var b := False to True do
for var c := False to True do
Writeln(a.BoolToStr:lengths[0], b.BoolToStr:lengths[1],
c.BoolToStr:lengths[2], f(a, b, c).BoolToStr:2)
end;
/// Выводит на монитор таблицу истинности для четырех переменных
procedure TrueTable(f: function(a, b, c, d: boolean): boolean;
vars: string);
begin
var names := vars.ToWords('.');
var lengths := names.Select(Имя -> Имя.Length + 1).ToArray;
Write(' ');
names.Print;
Writeln(' F');
for var a := False to True do
for var b := False to True do
for var c := False to True do
for var d := False to True do
Writeln(a.BoolToStr:lengths[0], b.BoolToStr:lengths[1],
c.BoolToStr:lengths[2], d.BoolToStr:lengths[3],
f(a, b, c, d).BoolToStr:2)
end;
/// Выводит на монитор таблицу истинности для пяти переменных
procedure TrueTable(f: function(a, b, c, d, e: boolean): boolean;
vars: string);
begin
var names := vars.ToWords('.');
var lengths := names.Select(Имя -> Имя.Length + 1).ToArray;
Write(' ');
names.Print;
Writeln(' F');
for var a := False to True do
for var b := False to True do
for var c := False to True do
for var d := False to True do
for var e := False to True do
Writeln(a.BoolToStr:lengths[0], b.BoolToStr:lengths[1],
c.BoolToStr:lengths[2], d.BoolToStr:lengths[3],
e.BoolToStr:lengths[4], f(a, b, c, d, e).BoolToStr:2)
end;
{$endregion}
end.

BIN
bin/Lib/nunit.framework.dll Normal file

Binary file not shown.

View file

@ -126,6 +126,8 @@ M_GOTO_REALIZATION=Go To Definition
M_FIND_ALL_REFERENCES=Find References
M_RENAME=Rename
M_FORMAT=Format Code
M_UNIT_TESTS=Run unit tests
M_SAMPLES=Samples
M_COLLAPSE_REGIONS=Collapse regions

View file

@ -126,6 +126,8 @@ M_GOTO_REALIZATION=Перейти к реализации
M_FIND_ALL_REFERENCES=Найти все ссылки
M_RENAME=Переименовать
M_FORMAT=Форматировать код
M_UNIT_TESTS=Запустить модульные тесты
M_SAMPLES=Примеры
M_COLLAPSE_REGIONS=Свернуть все регионы

BIN
bin/RunUnitTests.exe Normal file

Binary file not shown.

260
bin/RunUnitTests.pas Normal file
View file

@ -0,0 +1,260 @@
{$reference nunit.framework.dll}
uses NUnit.Framework.Api;
uses NUnit.Framework.Internal;
uses NUnit.Framework.Interfaces;
uses System.Globalization;
uses System;
var _reportIndex := 0;
function GetResultStatus(resState: ResultState): string;
begin
var text := resState.Label;
if string.IsNullOrEmpty(text) then
text := resState.Status.ToString;
if (text = 'Failed') or (text = 'Error') then
begin
var text2 := resState.Site.ToString();
if (text2 = 'SetUp') or (text2 = 'TearDown') then
text := text2 + ' ' + text;
end;
Result := text;
end;
var Trim_Chars := Arr(#13,#10);
var RusTestStatus := Dict&<TestStatus,string>(
(TestStatus.Failed,'Тесты провалены'),
(TestStatus.Inconclusive,'Тесты не завершены'),
(TestStatus.Passed,'Тесты прошли'),
(TestStatus.Skipped,'Тесты пропущены'),
(TestStatus.Warning,'Предупреждение')
);
var RusAssertionStatus := Dict&<AssertionStatus,string>(
(AssertionStatus.Failed,'Тест не прошёл'),
(AssertionStatus.Inconclusive,'Тесты не завершены'),
(AssertionStatus.Passed,'Тесты прошли'),
(AssertionStatus.Error,'Ошибка'),
(AssertionStatus.Warning,'Предупреждение')
);
procedure DisplayTestResult(prefix, status, fullName, message, stackTrace: string);
begin
Writeln($'{prefix}) {status}: {fullName}');
if not string.IsNullOrEmpty(message) then
Writeln(message.TrimEnd(TRIM_CHARS));
if not string.IsNullOrEmpty(stackTrace) then
Writeln(stackTrace.TrimEnd(TRIM_CHARS));
end;
procedure DisplayTestResult(result: ITestResult);
begin
var resultState := result.ResultState;
var fullName := result.FullName;
var message := result.Message;
var stackTrace := result.StackTrace;
_reportIndex += 1;
var text := _reportIndex.ToString;
var count := result.AssertionResults.Count;
if count > 0 then
begin
var num := 0;
var prefix := text;
foreach var assertionResult in result.AssertionResults do
begin
if count > 1 then
prefix := $'{text}-{++num}';
DisplayTestResult(prefix, RusAssertionStatus[assertionResult.Status], fullName, assertionResult.Message, assertionResult.StackTrace);
end
end
else
begin
var resultStatus := GetResultStatus(resultState);
//if message.StartsWith('No test fixtures were found') then
// message := 'Тесты не найдены';
DisplayTestResult(text, resultStatus, fullName, message, stackTrace);
end
end;
procedure DisplayTestResults(result: ITestResult);
begin
var flag := (result.ResultState.Status = TestStatus.Failed) or (result.ResultState.Status = TestStatus.Warning);
if (result.Test.IsSuite) then
begin
if flag then
begin
var obj := result.Test as TestSuite;
var site := result.ResultState.Site;
if (obj.TestType = 'Theory') or (site = FailureSite.SetUp) or (site = FailureSite.TearDown) then
DisplayTestResult(result);
if site = FailureSite.SetUp then
exit;
end;
foreach var child in result.Children do
DisplayTestResults(child);
end
else if (flag) then
DisplayTestResult(result);
end;
type ResultSummary = class
TestCount,PassCount,FailureCount,WarningCount,ErrorCount,InconclusiveCount,InvalidCount,SkipCount,IgnoreCount,ExplicitCount,InvalidTestFixtures: integer;
ResState: ResultState;
StartTime,EndTime: DateTime;
Duration: real;
function RunCount := PassCount + ErrorCount + FailureCount + InconclusiveCount;
function NotRunCount := InvalidCount + SkipCount + IgnoreCount + ExplicitCount;
function FailedCount := FailureCount + InvalidCount + ErrorCount;
function TotalSkipCount := SkipCount + IgnoreCount + ExplicitCount;
constructor (result: ITestResult);
begin
InitializeCounters();
ResState := result.ResultState;
StartTime := result.StartTime;
EndTime := result.EndTime;
Duration := result.Duration;
Summarize(result);
end;
procedure InitializeCounters();
begin
TestCount := 0;
PassCount := 0;
FailureCount := 0;
WarningCount := 0;
ErrorCount := 0;
InconclusiveCount := 0;
SkipCount := 0;
IgnoreCount := 0;
ExplicitCount := 0;
InvalidCount := 0;
end;
procedure Summarize(result: ITestResult );
begin
var &label := result.ResultState.Label;
var status := result.ResultState.Status;
if result.Test.IsSuite then
begin
if (status = TestStatus.Failed) and (&label = 'Invalid') then
InvalidTestFixtures+=1;
foreach var child in result.Children do
Summarize(child);
end
else
begin
TestCount+=1;
case status of
TestStatus.Passed: PassCount+=1;
TestStatus.Skipped:
if &label = 'Ignored' then
IgnoreCount+=1
else if &label = 'Explicit' then
ExplicitCount+=1
else
SkipCount+=1;
TestStatus.Warning:
WarningCount+=1;
TestStatus.Failed:
if &label = 'Invalid' then
InvalidCount+=1
else if &label = 'Error' then
ErrorCount+=1
else
FailureCount+=1;
TestStatus.Inconclusive: InconclusiveCount+=1;
end;
end;
end;
end;
procedure DisplaySummaryReport(summary: ResultSummary);
begin
var status := summary.ResState.Status;
var text := RusTestStatus[status];
if text = RusTestStatus[TestStatus.Skipped] then
text := RusTestStatus[TestStatus.Warning];
{var num := 0;
case status of
TestStatus.Skipped: num := 10;
TestStatus.Failed: num := 9;
TestStatus.Passed: num := 8;
else num := 4;
end;}
Writeln;
Println('Итог теста');
Println(' Итоговый результат:', text);
Print(' Количество тестов:', summary.TestCount);
Print(', Прошло:', summary.PassCount);
Print(', Не прошло:', summary.FailedCount);
Print(', Предупреждений:', summary.WarningCount);
Println;
if summary.FailedCount > 0 then
begin
Print(' Проваленные тесты - Провалено:', summary.FailureCount); Print(', Ошибки:', summary.ErrorCount);
Print(', Неверные:', summary.InvalidCount);
Println;
end;
if summary.TotalSkipCount > 0 then
begin
Print(' Пропущенные тесты - Пропущено: ', summary.IgnoreCount);
Print(', Явных: ', summary.ExplicitCount);
Print(', Других: ', summary.SkipCount);
Println;
end;
Println(' Начало теста:', summary.StartTime.ToString('T',CultureInfo.CreateSpecificCulture('ru-RU')));
Println(' Конец теста :', summary.EndTime.ToString('T',CultureInfo.CreateSpecificCulture('ru-RU')));
Println(' Продолжительность:',summary.Duration.Round(3),'секунд');
Writeln;
end;
begin
var fname := ParamStr(1);//'33.exe';
var runner := new NUnitTestAssemblyRunner(new DefaultTestAssemblyBuilder());
var filter := TestFilter.Empty;
var runSettings := Dict&<string,object>(('WorkDirectory',object('.')));
runner.Load(fname,runSettings);
var TestResult := runner.Run(nil,filter);
//Println($'Не прошло тестов: {TestResult.FailCount}');
//Println($'Прошло тестов: {TestResult.PassCount}');
//Println;
var Summary := new ResultSummary(TestResult);
if Summary.TestCount = 0 then
begin
Println($'Файл {ParamStr(1)}: тесты не найдены');
Println;
Println('Минимальный файл, содержащий тесты:'#13#10
''#13#10
'uses NUnitABC;'#13#10
''#13#10
'[Test]'#13#10
'procedure Test1;'#13#10
'begin'#13#10
' Assert.AreEqual(2*2,4);'#13#10
'end;'#13#10
''#13#10
'begin'#13#10
'end.'
);
end
else
begin
DisplayTestResults(TestResult);
DisplaySummaryReport(Summary);
end;
readln;
end.

View file

@ -68,6 +68,7 @@
<DebugType>full</DebugType>
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
<UseVSHostingProcess>true</UseVSHostingProcess>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<OutputPath>..\bin\</OutputPath>

View file

@ -58,6 +58,7 @@
<DebugType>full</DebugType>
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
<UseVSHostingProcess>true</UseVSHostingProcess>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<OutputPath>..\bin\</OutputPath>