From 1bbd33890152a84f245bff9bcaa37b74dfdc9821 Mon Sep 17 00:00:00 2001 From: Daniel Cohen Gindi Date: Sun, 19 Dec 2021 12:17:51 +0200 Subject: [PATCH 1/7] Rebase on .NET Standard 2.0 --- iTextAsian.nuspec | 4 +- itext-hyph-xml.nuspec | 4 +- itextsharp.nuspec | 4 +- itextsharp.pdfa.nuspec | 4 +- itextsharp.xmlworker.nuspec | 4 +- itextsharp.xtra.nuspec | 4 +- src/core/AssemblyInfo.cs | 23 - src/core/itextsharp(VS2010).csproj | 1647 +---------------- src/extras/iTextAsian/AssemblyInfo.cs | 13 - .../iTextAsian/iTextAsian(VS2010).csproj | 65 +- .../Properties/AssemblyInfo.cs | 16 - .../iTextSharp.xtra(VS2010).csproj | 99 +- src/extras/itext-hyph-xml/AssemblyInfo.cs | 15 - .../itext-hyph-xml(VS2010).csproj | 48 +- .../Properties/AssemblyInfo.cs | 19 - .../itextsharp.pdfa.tests(VS2010).csproj | 60 +- .../lib/XmlDiffPatch.dll | Bin 100912 -> 0 bytes .../itextsharp.pdfa.tests/packages.config | 4 - .../Properties/AssemblyInfo.cs | 19 - .../itextsharp.pdfa(VS2010).csproj | 92 +- .../Properties/AssemblyInfo.cs | 19 - .../itextsharp.tests(VS2010).csproj | 154 +- .../itextsharp.tests/lib/XmlDiffPatch.dll | Bin 100912 -> 0 bytes src/extras/itextsharp.tests/packages.config | 5 - .../Properties/AssemblyInfo.cs | 20 - .../itextsharp.xmlworker.tests(VS2010).csproj | 530 +----- .../Properties/AssemblyInfo.cs | 20 - .../xml/html/DefaultTagProcessorFactory.cs | 2 +- .../tool/xml/parser/StateController.cs | 2 - .../itextsharp.xmlworker(VS2010).csproj | 235 +-- 30 files changed, 259 insertions(+), 2872 deletions(-) delete mode 100644 src/core/AssemblyInfo.cs delete mode 100644 src/extras/iTextAsian/AssemblyInfo.cs delete mode 100644 src/extras/iTextSharp.xtra/Properties/AssemblyInfo.cs delete mode 100644 src/extras/itext-hyph-xml/AssemblyInfo.cs delete mode 100644 src/extras/itextsharp.pdfa.tests/Properties/AssemblyInfo.cs delete mode 100644 src/extras/itextsharp.pdfa.tests/lib/XmlDiffPatch.dll delete mode 100644 src/extras/itextsharp.pdfa.tests/packages.config delete mode 100644 src/extras/itextsharp.pdfa/Properties/AssemblyInfo.cs delete mode 100644 src/extras/itextsharp.tests/Properties/AssemblyInfo.cs delete mode 100644 src/extras/itextsharp.tests/lib/XmlDiffPatch.dll delete mode 100644 src/extras/itextsharp.tests/packages.config delete mode 100644 src/extras/itextsharp.xmlworker.tests/Properties/AssemblyInfo.cs delete mode 100644 src/extras/itextsharp.xmlworker/Properties/AssemblyInfo.cs diff --git a/iTextAsian.nuspec b/iTextAsian.nuspec index c17190da0..1f2087d1b 100644 --- a/iTextAsian.nuspec +++ b/iTextAsian.nuspec @@ -1,9 +1,9 @@  - iTextAsian + iTextAsian.portable 2.1 - iTextSharp.xtra + iTextSharp.xtra Portable iText Software Bruno Lowagie,Paulo Soares,et al. https://www.gnu.org/licenses/agpl.html diff --git a/itext-hyph-xml.nuspec b/itext-hyph-xml.nuspec index 6c052ee0e..0dfa95b98 100644 --- a/itext-hyph-xml.nuspec +++ b/itext-hyph-xml.nuspec @@ -1,9 +1,9 @@  - itext-hyph-xml + itext-hyph-xml.portable 2.0.0 - iTextSharp.xtra + iTextSharp.xtra Portable iText Software Bruno Lowagie,Paulo Soares,et al. https://www.gnu.org/licenses/agpl.html diff --git a/itextsharp.nuspec b/itextsharp.nuspec index 183b10cf0..be5f04305 100644 --- a/itextsharp.nuspec +++ b/itextsharp.nuspec @@ -1,9 +1,9 @@  - iTextSharp + iTextSharp.portable 5.5.13.3 - iTextSharp + iTextSharp Portable iText Software Bruno Lowagie,Paulo Soares https://www.gnu.org/licenses/agpl.html diff --git a/itextsharp.pdfa.nuspec b/itextsharp.pdfa.nuspec index 8dd0fdd7d..69dc7f328 100644 --- a/itextsharp.pdfa.nuspec +++ b/itextsharp.pdfa.nuspec @@ -1,9 +1,9 @@  - itextsharp.pdfa + itextsharp.pdfa.portable 5.5.13.3 - iTextSharp.pdfa + iTextSharp.pdfa Portable iText Software Bruno Lowagie,Paulo Soares,et al. https://www.gnu.org/licenses/agpl.html diff --git a/itextsharp.xmlworker.nuspec b/itextsharp.xmlworker.nuspec index 5e847f530..dc2c35477 100644 --- a/itextsharp.xmlworker.nuspec +++ b/itextsharp.xmlworker.nuspec @@ -1,9 +1,9 @@  - itextsharp.xmlworker + itextsharp.xmlworker.portable 5.5.13.3 - iTextSharp XML Worker + iTextSharp XML Worker Portable iText Software Bruno Lowagie,Paulo Soares,et al. https://www.gnu.org/licenses/agpl.html diff --git a/itextsharp.xtra.nuspec b/itextsharp.xtra.nuspec index c6e102af5..11bf15421 100644 --- a/itextsharp.xtra.nuspec +++ b/itextsharp.xtra.nuspec @@ -1,9 +1,9 @@  - itextsharp.xtra + itextsharp.xtra.portable 5.5.13.3 - iTextSharp.xtra + iTextSharp.xtra Portable iText Software Bruno Lowagie,Paulo Soares,et al. https://www.gnu.org/licenses/agpl.html diff --git a/src/core/AssemblyInfo.cs b/src/core/AssemblyInfo.cs deleted file mode 100644 index 319b2b108..000000000 --- a/src/core/AssemblyInfo.cs +++ /dev/null @@ -1,23 +0,0 @@ -using System.Reflection; -using System.Runtime.CompilerServices; -using System.Runtime.InteropServices; -using Versions.Attributes; - -[assembly: AssemblyTitle("iTextSharp")] -[assembly: AssemblyDescription("A free PDF library ported from Java iText.")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("iText Group NV")] -[assembly: AssemblyProduct("iTextSharp")] -[assembly: AssemblyCopyright ("Copyright (c) 1998-2022 iText Group NV")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] -[assembly: InternalsVisibleTo("itextsharp.pdfa, PublicKey=00240000048000009400000006020000002400005253413100040000010001008b21ed5b3fc1c11996390981fe22bbe71a39a9e11d3c2cefddd6ee92920fa871f9666ae0fa941af0280d0653df048ae2d93f8c5e2d820dba3c8df9ed468c8be40a6fffeb32aa481a254f0fb9f37aa7c3ec1c0acd2c009746bbdafcb75bcdbcecb7caf1f0f4b6e7d013906ba60b66eb1c8298e4efb052caf6cece4bf1816902cc"),] -[assembly: InternalsVisibleTo("itextsharp.pdfa.tests, PublicKey=00240000048000009400000006020000002400005253413100040000010001008b21ed5b3fc1c11996390981fe22bbe71a39a9e11d3c2cefddd6ee92920fa871f9666ae0fa941af0280d0653df048ae2d93f8c5e2d820dba3c8df9ed468c8be40a6fffeb32aa481a254f0fb9f37aa7c3ec1c0acd2c009746bbdafcb75bcdbcecb7caf1f0f4b6e7d013906ba60b66eb1c8298e4efb052caf6cece4bf1816902cc"),] -[assembly: InternalsVisibleTo("itextsharp.tests, PublicKey=00240000048000009400000006020000002400005253413100040000010001008b21ed5b3fc1c11996390981fe22bbe71a39a9e11d3c2cefddd6ee92920fa871f9666ae0fa941af0280d0653df048ae2d93f8c5e2d820dba3c8df9ed468c8be40a6fffeb32aa481a254f0fb9f37aa7c3ec1c0acd2c009746bbdafcb75bcdbcecb7caf1f0f4b6e7d013906ba60b66eb1c8298e4efb052caf6cece4bf1816902cc"),] - -[assembly: ComVisibleAttribute(false)] - -[assembly: KeyVersion("3.1.1.0")] - -[assembly: AssemblyVersion("5.5.13.3")] -[assembly: AssemblyInformationalVersion("5.5.13.3")] diff --git a/src/core/itextsharp(VS2010).csproj b/src/core/itextsharp(VS2010).csproj index 1fefb3802..c5ec1e9f6 100644 --- a/src/core/itextsharp(VS2010).csproj +++ b/src/core/itextsharp(VS2010).csproj @@ -1,5 +1,4 @@ - - + Local 8.0.50727 @@ -28,7 +27,7 @@ true - v2.0 + netstandard2.0 2.0 publish\ true @@ -45,6 +44,41 @@ false false true + true + Portable.$(AssemblyName) + PLEASE NOTE: iTextSharp is EOL, and has been replaced by iText 7. Only security fixes will be added + +We HIGHLY recommend customers use iText 7 for new projects, and to consider moving existing projects from iTextSharp to iText 7 to benefit from the many improvements such as: +- HTML to PDF (PDF/A) conversion +- PDF Redaction +- SVG support +- Better language support (Indic, Thai, Khmer, Arabic, Hebrew) +- PDF Debugging for your IDE +- Data Extraction +- Better continued support and bugfixes +- More modular, extensible handling of your document workflow +- Extra practical add-ons +- Encryption, hashing and digital signatures + +iText is a PDF library that allows you to CREATE, ADAPT, INSPECT and MAINTAIN documents in the Portable Document Format (PDF), allowing you to add PDF functionality to your software projects with ease. We even have documentation to help you get coding. + +iText 7 is available under AGPL and Commercial license. iText 7 Community: https://www.nuget.org/packages/itext7/ + +iText 7 is a complete re-write of iText 5, allowing you to choose your adventure with add-ons, all based on a simple, modular code structure that is easy to use and well documented. + +iText 7 includes pdfDebug, the first debugging tool that gives you a clear overview of your content streams and document structure as well as pdfCalligraph, allowing you to leverage advanced typography. + +Several iText engineers are actively supporting the project on StackOverflow: https://stackoverflow.com/questions/tagged/itext + iText Group NV + iTextSharp + Copyright (c) 1998-2020 iText Group NV + 5.5.13.3 + iText Software + itext itextsharp c# .net csharp pdf + https://itextpdf.com/ + https://itextpdf.com/sites/default/files/ITSC-avatar.png + https://www.gnu.org/licenses/agpl.html + true bin\Debug\ @@ -58,7 +92,7 @@ true 4096 false - 1572;1587;1570;1591;1573;1596 + 1572;1587;1570;1591;1573;1596;1584;1658 false false false @@ -102,7 +136,7 @@ false 4096 false - 1572;1587;1570;1591;1573;1596 + 1572;1587;1570;1591;1573;1596;1584;1658 true false false @@ -135,1475 +169,11 @@ AllRules.ruleset - - $(SolutionDir)\packages\BouncyCastle.1.8.9\lib\BouncyCastle.Crypto.dll - True - - - - - - - + + + - - Code - - - - - - - - Code - - - - - - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - - - Code - - - - Code - - - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - - - Code - - - - Code - - - Code - - - - - Code - - - Code - - - Code - - - Code - - - Code - - - - - Code - - - Code - - - Code - - - Code - - - Code - - - - - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - - Code - - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - - - Code - - - Code - - - Code - - - Code - - - Code - - - - - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - @@ -1626,127 +196,16 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - False - .NET Framework 3.5 SP1 Client Profile - false - - - False - .NET Framework 3.5 SP1 - true - - - False - Windows Installer 3.1 - true - - - - - - - - - - - - - - - + + + <_Parameter1>itextsharp.pdfa, PublicKey=00240000048000009400000006020000002400005253413100040000010001008b21ed5b3fc1c11996390981fe22bbe71a39a9e11d3c2cefddd6ee92920fa871f9666ae0fa941af0280d0653df048ae2d93f8c5e2d820dba3c8df9ed468c8be40a6fffeb32aa481a254f0fb9f37aa7c3ec1c0acd2c009746bbdafcb75bcdbcecb7caf1f0f4b6e7d013906ba60b66eb1c8298e4efb052caf6cece4bf1816902cc + + + <_Parameter1>itextsharp.pdfa.tests, PublicKey=00240000048000009400000006020000002400005253413100040000010001008b21ed5b3fc1c11996390981fe22bbe71a39a9e11d3c2cefddd6ee92920fa871f9666ae0fa941af0280d0653df048ae2d93f8c5e2d820dba3c8df9ed468c8be40a6fffeb32aa481a254f0fb9f37aa7c3ec1c0acd2c009746bbdafcb75bcdbcecb7caf1f0f4b6e7d013906ba60b66eb1c8298e4efb052caf6cece4bf1816902cc + + + <_Parameter1>itextsharp.tests, PublicKey=00240000048000009400000006020000002400005253413100040000010001008b21ed5b3fc1c11996390981fe22bbe71a39a9e11d3c2cefddd6ee92920fa871f9666ae0fa941af0280d0653df048ae2d93f8c5e2d820dba3c8df9ed468c8be40a6fffeb32aa481a254f0fb9f37aa7c3ec1c0acd2c009746bbdafcb75bcdbcecb7caf1f0f4b6e7d013906ba60b66eb1c8298e4efb052caf6cece4bf1816902cc + + \ No newline at end of file diff --git a/src/extras/iTextAsian/AssemblyInfo.cs b/src/extras/iTextAsian/AssemblyInfo.cs deleted file mode 100644 index c6473e7aa..000000000 --- a/src/extras/iTextAsian/AssemblyInfo.cs +++ /dev/null @@ -1,13 +0,0 @@ -using System.Reflection; -using System.Runtime.CompilerServices; - -[assembly: AssemblyTitle("iTextAsian")] -[assembly: AssemblyDescription("CJK CMAPS for iTextSharp.")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("iText Group NV")] -[assembly: AssemblyProduct("iTextAsian")] -[assembly: AssemblyCopyright ("Copyright (c) 1998-2022 iText Group NV")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] - -[assembly: AssemblyVersion("2.1")] diff --git a/src/extras/iTextAsian/iTextAsian(VS2010).csproj b/src/extras/iTextAsian/iTextAsian(VS2010).csproj index 7433f1ab6..4934d691e 100644 --- a/src/extras/iTextAsian/iTextAsian(VS2010).csproj +++ b/src/extras/iTextAsian/iTextAsian(VS2010).csproj @@ -1,5 +1,4 @@ - - + Local 8.0.50727 @@ -27,7 +26,7 @@ true - v2.0 + netstandard2.0 2.0 publish\ true @@ -44,6 +43,33 @@ false false true + true + Portable.$(AssemblyName) + + PLEASE NOTE: iTextSharp is EOL, and has been replaced by iText 7. Only security fixes will be added + + We HIGHLY recommend customers use iText 7 for new projects, and to consider moving existing projects from iTextSharp to iText 7 to benefit from the many improvements such as: + - HTML to PDF (PDF/A) conversion + - PDF Redaction + - SVG support + - Better language support (Indic, Thai, Khmer, Arabic, Hebrew) + - PDF Debugging for your IDE + - Data Extraction + - Better continued support and bugfixes + - More modular, extensible handling of your document workflow + - Extra practical add-ons + - Encryption, hashing and digital signatures + + This DEPRECATED library adds extra functionality for iTextSharp. Please use iText 7 instead. iText 7 Community: https://www.nuget.org/packages/itext7/ and iText 7 pdfSweep addon: https://www.nuget.org/packages/itext7.pdfsweep/ + iText Group NV + Copyright (c) 1998-2020 iText Group NV + 2.1 + iText Software + itext itextsharp c# csharp .net pdf + https://itextpdf.com/ + https://itextpdf.com/sites/default/files/ITSC-avatar.png + https://www.gnu.org/licenses/agpl.html + true bin\Debug\ @@ -128,15 +154,6 @@ prompt AllRules.ruleset - - - - - - - Code - - @@ -316,28 +333,4 @@ - - - False - .NET Framework 3.5 SP1 Client Profile - false - - - False - .NET Framework 3.5 SP1 - true - - - False - Windows Installer 3.1 - true - - - - - - - - - \ No newline at end of file diff --git a/src/extras/iTextSharp.xtra/Properties/AssemblyInfo.cs b/src/extras/iTextSharp.xtra/Properties/AssemblyInfo.cs deleted file mode 100644 index 21dbfb889..000000000 --- a/src/extras/iTextSharp.xtra/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,16 +0,0 @@ -using System.Reflection; -using System.Runtime.CompilerServices; -using System.Runtime.InteropServices; - -[assembly: AssemblyTitle("iTextSharp.xtra")] -[assembly: AssemblyDescription("Extra functionality for iTextSharp, a free PDF library ported from Java iText.")] - -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("iText Group NV")] -[assembly: AssemblyProduct("iTextSharp.xtra")] -[assembly: AssemblyCopyright ("Copyright (c) 1998-2022 iText Group NV")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] - -[assembly: AssemblyVersion("5.5.13.3")] -[assembly: AssemblyInformationalVersion("5.5.13.3")] diff --git a/src/extras/iTextSharp.xtra/iTextSharp.xtra(VS2010).csproj b/src/extras/iTextSharp.xtra/iTextSharp.xtra(VS2010).csproj index cb70aa32b..7aacc3a55 100644 --- a/src/extras/iTextSharp.xtra/iTextSharp.xtra(VS2010).csproj +++ b/src/extras/iTextSharp.xtra/iTextSharp.xtra(VS2010).csproj @@ -1,5 +1,4 @@ - - + Debug AnyCPU @@ -12,12 +11,40 @@ itextsharp.xtra true itextsharp.snk - v2.0 + netstandard2.0 2.0 + true + Portable.$(AssemblyName) + + PLEASE NOTE: iTextSharp is EOL, and has been replaced by iText 7. Only security fixes will be added + + We HIGHLY recommend customers use iText 7 for new projects, and to consider moving existing projects from iTextSharp to iText 7 to benefit from the many improvements such as: + - HTML to PDF (PDF/A) conversion + - PDF Redaction + - SVG support + - Better language support (Indic, Thai, Khmer, Arabic, Hebrew) + - PDF Debugging for your IDE + - Data Extraction + - Better continued support and bugfixes + - More modular, extensible handling of your document workflow + - Extra practical add-ons + - Encryption, hashing and digital signatures + + This DEPRECATED library adds extra functionality for iTextSharp. Please use iText 7 instead. iText 7 Community: https://www.nuget.org/packages/itext7/ and iText 7 pdfSweep addon: https://www.nuget.org/packages/itext7.pdfsweep/ + iText Group NV + iTextSharp.xtra + Copyright (c) 1998-2020 iText Group NV + 5.5.13.3 + iText Software + itext itextsharp c# csharp .net pdf + https://itextpdf.com/ + https://itextpdf.com/sites/default/files/ITSC-avatar.png + https://www.gnu.org/licenses/agpl.html + true true @@ -39,74 +66,12 @@ AllRules.ruleset - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - {84C4FDD9-3ED7-453B-B9DA-B3ED52CB071C} - itextsharp%28VS2010%29 - + - - \ No newline at end of file diff --git a/src/extras/itext-hyph-xml/AssemblyInfo.cs b/src/extras/itext-hyph-xml/AssemblyInfo.cs deleted file mode 100644 index 085843af2..000000000 --- a/src/extras/itext-hyph-xml/AssemblyInfo.cs +++ /dev/null @@ -1,15 +0,0 @@ -using System.Reflection; -using System.Runtime.CompilerServices; - -[assembly: AssemblyTitle("itext-hyph-xml")] -[assembly: AssemblyDescription("Hyphenation patterns for iTextSharp.")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("iText Group NV")] -[assembly: AssemblyProduct("itext-hyph-xml")] -[assembly: AssemblyCopyright ("Copyright (c) 1998-2022 iText Group NV")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] - -[assembly: AssemblyVersion("2.0.0")] - -[assembly: AssemblyDelaySign(false)] diff --git a/src/extras/itext-hyph-xml/itext-hyph-xml(VS2010).csproj b/src/extras/itext-hyph-xml/itext-hyph-xml(VS2010).csproj index 2694dd7d6..c7545ed61 100644 --- a/src/extras/itext-hyph-xml/itext-hyph-xml(VS2010).csproj +++ b/src/extras/itext-hyph-xml/itext-hyph-xml(VS2010).csproj @@ -1,5 +1,4 @@ - - + Local 8.0.50727 @@ -27,8 +26,35 @@ true - v2.0 + netstandard2.0 2.0 + true + Portable.$(AssemblyName) + + PLEASE NOTE: iTextSharp is EOL, and has been replaced by iText 7. Only security fixes will be added + + We HIGHLY recommend customers use iText 7 for new projects, and to consider moving existing projects from iTextSharp to iText 7 to benefit from the many improvements such as: + - HTML to PDF (PDF/A) conversion + - PDF Redaction + - SVG support + - Better language support (Indic, Thai, Khmer, Arabic, Hebrew) + - PDF Debugging for your IDE + - Data Extraction + - Better continued support and bugfixes + - More modular, extensible handling of your document workflow + - Extra practical add-ons + - Encryption, hashing and digital signatures + + This DEPRECATED library adds extra functionality for iTextSharp. Please use iText 7 instead. iText 7 Community: https://www.nuget.org/packages/itext7/ and iText 7 pdfSweep addon: https://www.nuget.org/packages/itext7.pdfsweep/ + iText Group NV + Copyright (c) 1998-2020 iText Group NV + 2.0.0 + iText Software + itext itextsharp c# csharp .net pdf + https://itextpdf.com/ + https://itextpdf.com/sites/default/files/ITSC-avatar.png + https://www.gnu.org/licenses/agpl.html + true bin\Debug\ @@ -114,15 +140,6 @@ true false - - - - - - - Code - - @@ -196,11 +213,4 @@ - - - - - - - \ No newline at end of file diff --git a/src/extras/itextsharp.pdfa.tests/Properties/AssemblyInfo.cs b/src/extras/itextsharp.pdfa.tests/Properties/AssemblyInfo.cs deleted file mode 100644 index 821a334b5..000000000 --- a/src/extras/itextsharp.pdfa.tests/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,19 +0,0 @@ -using System.Reflection; -using System.Runtime.CompilerServices; -using System.Runtime.InteropServices; - -[assembly: AssemblyTitle("itextsharp.pdfa.tests")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("iText Group NV")] -[assembly: AssemblyProduct("itextsharp.pdfa.tests")] -[assembly: AssemblyCopyright ("Copyright (c) 1998-2022 iText Group NV")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] - -[assembly: ComVisible(false)] - -[assembly: Guid("ad182706-8617-4e07-ac63-2f1b88ebb671")] - -[assembly: AssemblyVersion("5.5.13.3")] -[assembly: AssemblyInformationalVersion("5.5.13.3")] diff --git a/src/extras/itextsharp.pdfa.tests/itextsharp.pdfa.tests(VS2010).csproj b/src/extras/itextsharp.pdfa.tests/itextsharp.pdfa.tests(VS2010).csproj index 4ddc50c49..918a5f3bc 100644 --- a/src/extras/itextsharp.pdfa.tests/itextsharp.pdfa.tests(VS2010).csproj +++ b/src/extras/itextsharp.pdfa.tests/itextsharp.pdfa.tests(VS2010).csproj @@ -1,5 +1,4 @@ - - + Debug AnyCPU @@ -12,7 +11,7 @@ itextsharp.pdfa.tests true itextsharp.snk - v2.0 + netstandard2.0 4.0 @@ -32,6 +31,10 @@ false false true + $(AssemblyName).portable + iText Group NV + Copyright (c) 1998-2020 iText Group NV + 5.5.13.3 true @@ -72,29 +75,8 @@ AllRules.ruleset - - $(SolutionDir)\packages\NUnit.2.6.2\lib\nunit.framework.dll - - - lib\XmlDiffPatch.dll - - - - - - - - - - - - - - - - - - + + @@ -131,33 +113,7 @@ - - - - False - .NET Framework 3.5 SP1 Client Profile - false - - - False - .NET Framework 3.5 SP1 - true - - - False - Windows Installer 3.1 - true - - - - diff --git a/src/extras/itextsharp.pdfa.tests/lib/XmlDiffPatch.dll b/src/extras/itextsharp.pdfa.tests/lib/XmlDiffPatch.dll deleted file mode 100644 index 916dd2b652740da655f44df78c59f950a1473be2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 100912 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 diff --git a/src/extras/itextsharp.pdfa.tests/packages.config b/src/extras/itextsharp.pdfa.tests/packages.config deleted file mode 100644 index 6bbafef6f..000000000 --- a/src/extras/itextsharp.pdfa.tests/packages.config +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/src/extras/itextsharp.pdfa/Properties/AssemblyInfo.cs b/src/extras/itextsharp.pdfa/Properties/AssemblyInfo.cs deleted file mode 100644 index 3d29c9616..000000000 --- a/src/extras/itextsharp.pdfa/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,19 +0,0 @@ -using System.Reflection; -using System.Runtime.CompilerServices; -using System.Runtime.InteropServices; - -[assembly: AssemblyTitle("iTextSharp.pda")] -[assembly: AssemblyDescription("PDFA functionality for iTextSharp, a free PDF library ported from Java iText.")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("iText Group NV")] -[assembly: AssemblyProduct("iTextSharp.pdfa")] -[assembly: AssemblyCopyright ("Copyright (c) 1998-2022 iText Group NV")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] - -[assembly: ComVisible(false)] - -[assembly: Guid("e1d9164b-61e9-4efa-9758-14406d5034cd")] - -[assembly: AssemblyVersion("5.5.13.3")] -[assembly: AssemblyInformationalVersion("5.5.13.3")] diff --git a/src/extras/itextsharp.pdfa/itextsharp.pdfa(VS2010).csproj b/src/extras/itextsharp.pdfa/itextsharp.pdfa(VS2010).csproj index 00ed9a3c4..317dfb7ea 100644 --- a/src/extras/itextsharp.pdfa/itextsharp.pdfa(VS2010).csproj +++ b/src/extras/itextsharp.pdfa/itextsharp.pdfa(VS2010).csproj @@ -1,5 +1,4 @@ - - + Debug AnyCPU @@ -12,7 +11,7 @@ itextsharp.pdfa true itextsharp.snk - v2.0 + netstandard2.0 @@ -33,6 +32,35 @@ false false true + true + Portable.$(AssemblyName) + + PLEASE NOTE: iTextSharp is EOL, and has been replaced by iText 7. Only security fixes will be added + + We HIGHLY recommend customers use iText 7 for new projects, and to consider moving existing projects from iTextSharp to iText 7 to benefit from the many improvements such as: + - HTML to PDF (PDF/A) conversion + - PDF Redaction + - SVG support + - Better language support (Indic, Thai, Khmer, Arabic, Hebrew) + - PDF Debugging for your IDE + - Data Extraction + - Better continued support and bugfixes + - More modular, extensible handling of your document workflow + - Extra practical add-ons + - Encryption, hashing and digital signatures + + The iTextSharp.pdfa adds PDF/A-related functionality for iTextSharp. The same funcionality is present in pdfa module of iText 7 Community: https://www.nuget.org/packages/itext7/ + + iText Group NV + iTextSharp.pdfa + Copyright (c) 1998-2020 iText Group NV + 5.5.13.3 + iText Software + itext itextsharp c# csharp .net pdf pdfa + https://itextpdf.com/ + https://itextpdf.com/sites/default/files/ITSC-avatar.png + https://www.gnu.org/licenses/agpl.html + true true @@ -73,64 +101,12 @@ AllRules.ruleset - - - - - - - - - - - - - - - - - - - - - - - - - - - - - {84C4FDD9-3ED7-453B-B9DA-B3ED52CB071C} - itextsharp%28VS2010%29 - + - + - - False - .NET Framework 3.5 SP1 Client Profile - false - - - False - .NET Framework 3.5 SP1 - true - - - False - Windows Installer 3.1 - true - + - - \ No newline at end of file diff --git a/src/extras/itextsharp.tests/Properties/AssemblyInfo.cs b/src/extras/itextsharp.tests/Properties/AssemblyInfo.cs deleted file mode 100644 index 5f7c542aa..000000000 --- a/src/extras/itextsharp.tests/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,19 +0,0 @@ -using System.Reflection; -using System.Runtime.CompilerServices; -using System.Runtime.InteropServices; - -[assembly: AssemblyTitle("itextsharp.tests")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("iText Group NV")] -[assembly: AssemblyProduct("itextsharp.tests")] -[assembly: AssemblyCopyright ("Copyright (c) 1998-2022 iText Group NV")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] - -[assembly: ComVisible(false)] - -[assembly: Guid("6d44f434-c50b-4232-87eb-853990beef3b")] - -[assembly: AssemblyVersion("5.5.13.3")] -[assembly: AssemblyInformationalVersion("5.5.13.3")] diff --git a/src/extras/itextsharp.tests/itextsharp.tests(VS2010).csproj b/src/extras/itextsharp.tests/itextsharp.tests(VS2010).csproj index 6c067adbc..50dcae7ed 100644 --- a/src/extras/itextsharp.tests/itextsharp.tests(VS2010).csproj +++ b/src/extras/itextsharp.tests/itextsharp.tests(VS2010).csproj @@ -1,5 +1,4 @@ - - + Debug AnyCPU @@ -10,12 +9,16 @@ Properties itextsharp.tests itextsharp.tests - v2.0 + netstandard2.0 2.0 + $(AssemblyName).portable + iText Group NV + Copyright (c) 1998-2020 iText Group NV + 5.5.13.3 true @@ -62,137 +65,17 @@ AllRules.ruleset - - $(SolutionDir)\packages\NUnit.2.6.2\lib\nunit.framework.dll - - - $(SolutionDir)\packages\BouncyCastle.1.8.9\lib\BouncyCastle.Crypto.dll - True - - - - - - lib\XmlDiffPatch.dll - - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + - - - - - - - - - - - - - - - - - - - @@ -243,7 +126,10 @@ - + + + + @@ -467,12 +353,4 @@ itextsharp.xtra%28VS2010%29 - - diff --git a/src/extras/itextsharp.tests/lib/XmlDiffPatch.dll b/src/extras/itextsharp.tests/lib/XmlDiffPatch.dll deleted file mode 100644 index 916dd2b652740da655f44df78c59f950a1473be2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 100912 zcmeFaePCQg)jvM>W$(RvcQ?t+Zg!KVZPL<|ZFV<(2`_02G(f9R3$(OA%A2K>w_4be zq`Yl|twrRa1raJ@1*sL0M^I4_QBaTqqT(YeC?N8H76rj~R37E!_c`ax-MyQ%$n*92 z@5i>8J7?z1nRCvZdA&1pk2wA+Whtd>{Jr_6Qg`7=zkYV#+S!2UhK_GEs5|06m~@x1 z=m(RQoq5(!=i0&Y8H1;s-FfOM=bTd>?p%3V=is_?I?p<%bN*3FJI^k!I;|&_@~3Fh zix()h$gtGYo6b2f%O~N+?5dZw!j(CLoohHl0 z0N~n_eS!*kGt+81}z;b}HpX@IAnXMc|&{(=HeWylR$~ zt6%tzppb|wdIpCEPemZ}1|CT^wHVLHuOFJ~89Z%G8Hmg)cxF7pkNkjlNCbSx`;G?Q z(ZD+zct->8Xy6?UyrY44H1LiF-qFB28hA$o|3A_|Kh3N0qq(Vxzxm%%>b`4~ic?_Z zx408i;Rw7Z?{(7-c>UqdzFA%W^@kM?eQV^!U;O#S3%@Zw_1*tmvvj|o|MZQASIl@M z|LCCyUG-mgto`rL-t=Z{+iG`s_Pl4me0KKPUDK{}7wjC^cJkI;XRY1w-MPOyduMv- z-&&eimj)i&vhs`v*ZYf)Z$0|2Yrpv8zrTLe{m;Gm+CBUHbJ_Xx-ZH zjucIT=1am)7hT87V?oH#LYIGCm6vHa>OFYU&n#!^Q%cFE|rY|epkG-@~DprH7-8=eqvsqu&<9)xAT z(CAop8OG)~OwV^pzh^paz=NG>ymhE4R6w3%mFEMwJ1h0cR5d(eGm3`=z6jnl&_h86 zmbN=H3o%Jk>rmNVh{|Y@BI$^}TjRs8@iBJ~c+5ux?|?cyUJ?XNGrKwux(*5m zV%np12UhKowb_ARl~Pv?QZShS>#*@r;MUQ z;C~bR2ZE`}T7!Rw*Q`+fl{?^+p9Z-^vyq3;zD7wIAximsh}EGJs-YDu+}cHVa3(?u zvBCZEU>p+$K!m9&bj%9L;1?QDd_#bp3W{1GH4 zt4I0M17&5K*%62hXb5%B89_y{b%Se-p!a~r%GV(x`-U-sQULnukp!OIRA+3p6ZC-v zqpuKh-;s33Tv+r@~v2B6#-gENpqD|)ampPCEj?#eNRf#` z+H!}^3nSgi6bf`pzcnkQ?j)kUAy|*3^(shfC%w{dQBJn{1oDMigREb;*sKtPteb?J zTfP8=&3!sDQM8m@!XK4uKmH1fP0PuHF9#{-o0c8RgJ;Jt^qCcs-kxrB!?3}Zf<$PVN0&UNijZmTS_?dwxw-J z5@+rXJdAoHP7~M?vL8as3RTJC3^SYG3-Rfg71+5THiTCzjxZP4K}@Ic@=&$YcN;W> zke|Sx>wS+|$$~=K37o(l*%w}ue8c;IcAVY(R3HWpx7j7jF0Qo#O*+yLWSh*wadxp8 z*>mf_c~jsaX2l25(j1**cKQs9Nu}MuU5AQpmYU%Kj#-Ms1JgE(sX8*IW?z?xDGC8Z z1@A}|cO`InZb0g~=rw!bGmsVanu>wTk!y6f*~O+C66|8*ttSYG+6+x+1~pstM6~9Y zgqn|sDt*I13z+tycRz@8L8Lv1K#=Fy~k)~z*2iAJGOBNTY7 zy`opehlFJJHf#2FJFq+6 zSiS(H)S>z>u-khMLhxz5hq=S(dd;L)J{-fT?CRc>r-d&sM1bX$-;GC3qH7jd*w=Ei ztB3Xj^DJPY%W`R~?3Bh+gtYcy&oR^&qM5>ISSnSBWD!Y3u7mywM#q#+-}5At&NhYe zCR+(Di|8r#XeIKRZ!fv z^f(fWUIm>Vnb!#QOd%R2VtbXs$@QkpxGPn1Z)96-eW-pFQP$KF!1ORgOV4oCpU^r$ z%b`7h7}*1LcuocVH`~KPJheT7gRkD`6%tt}AN1qh8P2G-0nH1g+fDM_ z*orPEX#mhIutakq5h{!1nHvb7(hxu(;!f(R^r6xjv6Xdm%At9{NV{g>?h%<91}ku- z{eV=|2fc;@MePsEA2wDi|3wgK8@fPg9gZL<`BrV>nCg|$mN5IX$j#GTNx}>3TOkMU zZYp-FPD3`8HED*}5tp?hVoJcQ22UFraXB4^$6c_XNEE9|^U!ZXYK`O7s!HEWU=t=8 z(>!g5zDh@j)#`AmRB1<2pks2%E?P1ulpe&BUz~z&vFuT(Q;tg{LoP#kjNs7uh7`+A z~xXV3as*rHKHgwHsbQ~yx%Kh!j$m35fJIke|qrSP&SAyp)u5XocGP-xR(0E?lG8!bG=K!vH z6=~581liR-Mx&_iesQf0`PgS=S9gcw{XVyXWVR)?w3l1y1Y`@;;#Qy!495|Mbq}|K zft=l4ofJH1w(`)>Ge0$)O3d~u80LpLPw^@k zxQ01ry$a-_G?KMf!Fbv3u1+`}Fmqwn4Yq~6(fHa!7#TV|Ep%XCW_7QO@WHb-9s^%w zDq5Ed>>%`s@Oa+ zEN=%!vDGQJFcP_pR64S+jS10WkIU;x624zlMQMlEg_@?c<+vS9XweQQ zhCDcZ-#}=DR&j!?T1D~#qhAJ6-&JtNWYm=`?YEm0#nVj*4HF3ew5r9;N~&$w z_*bcBiApO6F~)F0}12y;Cf@bAI{yn{O7Tglsf|4HN+Ne`EM?N>3KX)ekJA+_4kQPMCgrcB1C0#C=s=Z-$WX;IDwVb+4~j`f_Qy3(YFoJV!9X=_rLY1*l}e% ztnKDH$bvE2(7_~A98TeIxBMiY#qoN~m2sjYF2U)7J)_=Z;Ny%PF;_{6{0Vo?3QWRv z`x;X(fLXMCkVT}%n$J%_D%V@ExFeBzSr|u@MJ>eEC|yRxPxf66iqhXg{63E-1z1WC zCk657_|A#Tq(Gu&QXpb`T5OLeAw`Jo$v|@&vJb`P#c>jQ_u~mh^VpV?-kdX8Y%0Gq zz#+OIJ@y%vRRHe8FbO&a%@JnXG7>%(fQ-0C&HJ$mKx1(pe|zzn859c5{mu0>OpojN ze>mbIJDY_((E}k*$fsAYOthH<@gkr0eid-O2pMb3Nw7IbEd+VA&6pTIfk;2bk3=Tf zmq&y%y92H}`!8rc9jwL^(eiWfr{bk1tn0YVW*!VUefJXrzY8d1%!6Y57GaWip!I~b zy%(6ouc<$<*HAC)AFo6HIB(#rwC$#2PTGm5-FVt_%TFOyI_}65>lgQeR5~G+kxpjQ zslFe9R*)<%2;AbqP5`A=`ARojyawn&!&Z5^Tc`U$1BO<~bga-4#DgT09Z16`gp)x6 zguLRxZh(<#jZmWyXw-x}BGj1nf<)Q@AwNiHLhxx0!Oc-1gq01ZLRGFf1#C8e#XM$< zPIkJLNmG6e$g38T2vWI$bSg*%_Vk7zIcGBLDM-v|r-xhGFYrnez_@?F?T{MlVV3LV zF?et?m@ScN5^fOdeKA@X`=UESs(hi5mfm`RD@yb+i0pkilZ@hGOsPUurJKa(ZA}M3 zQxMGRB)7Mha-Uw>W7dJ2D&%&TQ{biI>E@uhZTSN9;JiWzOXU^9(N8R+s?mSPle}v{ znA-~(EXVURS@gm(Ga8&PA+%WB18yFM8b>R0IFPvNW|D=>SUnbIYc*-T7N(6Bs`UFp z%h+^o=_O~*k6(N9O?S>CaJl`r)MZdCMmbn7%_g$RY|7$6y)8p~3{d*j_+DO5DH>D^ZIvRsIcVN(i zX%;6T8I55O$U_-UM(-s3f*;QfqzX2VI_VU< z?6>S|q>o9WtH4TuEgfdNWqXl!pswqczWy)Z1sz0$7g@0^LOtD9Oja|Ahr)PSxGZI? zbvBBjn2g5mMu2HZR29G}9sn8MmH?Q&$wFGKyX==?1LN(zjTYw7way#w z2Y{-ybwOhzurXx^DV5_su0QCVh0;bfipTQZm$gVT{HF!+jSG zFgrm5Gl_>0SB%RduwPh|T^%;&+lirBQtx7siFJo*^Ss*TiFAzpvD&0MVaM8BZZUjt z5#z<^QS8MzBFYr?$IHOeB$BIMmZ_SxJ&V*}XO?JvV|>%tU`wG@&?wkTx&bcXc@OND ze|R~@lhcgMFtaix&5odD)q4+21>OW#_9s{)Gzr7YM4Ek>u@R86%?5jfW?yDQYy`z2 z?;Xda>m&?&1aeV2bl{v0eK@DXBE;zTmEo(-E{fvu@W){^NQl?}r_xKwd3bMFdsAsv z2$2Vfv}i|b!7wD%40}Hnf0L0G<52Y#{C(C`>Mv+pPqic*M>^CI2qT=)e|I4c)K<-1 ziUfTbU|54N@wK_M)6A0`dFd&+ufqh>#5>X@K#+wPey=I3FOeMrkN}fHpwK#uMxm9N zdX!Tbg~H|SXay|7&U>=fU>Q;7dV*{3U9o1tFHZZ)5LcLN-7S;*fysn0DHByDFH^yK z4v0w!*C?a*D?konQf8!Yi%B$!)K!#GR({_@(Cu3>iuz4U_M}@RS(w+krmQZrQ8wxFZtE19zd+3J<;}t5xADW!yiqMtZ4W^;L~e{x1$Yo z8pnr9fFCtD+Nv~LgBPO0>Il{p{3nh<+AK&E5h9&bk3{b|%M`|zEn70eb;)YmZ|9*a z+O7iYr#%TURcicE>a^p6=knNbfx!l~{f_Db_Fiai%?e?Z95WA-!8WQ>ch}m#wKB{K zQJsw`q#A;c_J$D;Jf}?beG0*D<$HwjVe<0qAnEZ~I#n2ibyAyChCF_0KmchNI}uWB zm0eoA2P-b^Mgid%WO0Kd_|aIb;rN=SrVI_~ZFM{>PQ{CUob}PMs%N9je6bj^9K&1T zn?_Go`B%^ey*wf{_9U<@1k170cHviA{j^t#`gU}tK?aM_to8MT-K_H8rjp39?xmbe z^W-^r6WO0vn!uLGRzddjv|2Wm2y3f%_(!s6`RE35;Q zvNvMv%xuH}3C{6&dMpiLUfcFt&>+5uhF#mci9LSOXl90vfHp_4SP|L=T1EctLBoV; zXjZmg_WC`C2V*1kDPe^Cn$}dr*Tz$*VC`^O@=h#*8+t-UwXd47FSA z1``1OVKNX_I;`rEare?AHiDsXD944CQs~&ias1u8wQ)*avyG7bJ=V4g(Z`Zpylw6s zU?hll_{$f#@L_kMilMW(7SAp``|Ko0vry4g8o|-!Q0HIz%IvVcmWobOiEDk%nDqG`|FJcYuvaKGp%DDW1up z)KuV4>}e1Dj)wlpOwo~HC5+4O<8d06riha=dJDhr4WytQU>t(J%kO)cLi8w-GaWUG ze1zgPKchx%UqX~t1dq?Kw9OP4@bCiucv6JN5790LU#tiTV?_Xs##lh3M-`2SUlJCg z(LfGp^r)ioP)@=^G#ZfsjUIxAahiZ*#%U(iLH>pNiY;E#!WK4OtKwAyY&ErbYhBpp zqn!Dt+o136w(er7FIsoC?dVoX+6$~7@UOZJms%L)g*hKJ8Yl-@4`>*TH=kmNhCzF* zg$BRxpmB!5E5sCNGLBij*TBr=k3^kCn^?o44dK-1McXby0vij2jd#%_#@p$1o@9OW zqlS;tM#dUC>0y%e@EV_Cn$|t0Stx1VGd4||PO}>x7fB-Y62v2N5A_n}H%_PZgk^;d zs9Fbge4i*HA0^}#*XW>`=3hr#*4rkBbSjKnAym{30w#u5u&j>MO0$enr4LF?26kPy zAS_sk_x3#qJcj~lncoqlS--S+9MnLW;8(5FP+;L!Fw^4ADS1LhAs$bh)us7Mn8sEg)M@@L zUU_BAtWZXkPB;_WzEj>DN_4y6@g9ePqN6b<}XIV|-)$b-%pd$!n=e5a$k=Rl`pdXMXL z^!NCM!!hv~p#rtp{#vIycK#B;c8>8ox_ezKe=#ATS9yO8F-PGW7-swo;7Qm2AfOq~O)XMw)&lrgaIOG!TO#+hfjB`nw5!g(fKCtKbJNSv>WSoFYta_CZU zkt$&Gb{V~^Ka4tKFoq{*I)20Lx}~53I>A7?;T-Ymo;0%wVy3)OE|kyXypjcn=_avn z9i27aK?a!miBf3OH%T69vnP~%eQ!IdA_V(;kbp{+^>dB*3!6Q*Tah1=Zpcri1o^2P zApg0ruB!YLRwqA|MOA)`AKt$FFF^hx^0WO+Lh@w!$ue-liw&b!gimPU6Y=cKIMhl^ zgcjk&wLxGrLcJd5{s%G$WnbSbQm+mJO1&| zLdROTygV1-`2*mfYAlnqs7DHwBrrSHBOwO7drTOnsqM8JTt`hr{sXWQ@DT}rsTRH- zoT22oE+8NB2W?kOf%SGhy0?MG?;vEkf%tCaP_W&x{st%4QM$p|a1w&qj&|4oM(6t{ z1JSI!7cPb_E97yCJXXpB^^oFL$>TJ7FwZCg{$Zm$6UmMc6+lD<52AtxQNe?#;6YUI zASz&w+w^%t2IuUTo7M!)3WduFwljz$9q={y zN6wT03cvEKyUYr~@X#(cf8?yUid>CI93MW=tWaWiTlsO+onm(`S!fqBo(}R%Y(2RG zk@V6YueT+OSx?a`e$1dG>siQ~v(s>Hd5D->p6>@Um2;4b|I7ruz@(h3bD9z2+({PZO0*ZI@f?hxdFxE;*5f1Ts|Z1i zld{^Zncv2K8BGEi$2r@$8Geo8`N z+D*d8HHeZS8ND#83JIvW9l&WHiADRzjMQRtTWOb+YFwoU~s8s;u0;J4sTg9GkRIw%C%D1TZ}& zAt?k+k8!wU6(oaHEwegaSc?PchM)l=z8kJLecyTn%A1V}%XE;3NL@|R?H5AV5cIY+ zA$D=lU$Bo=tn8rY;O&My=^36{j3@nsZ;ZYAp)YKF*Klq*hC?C=v1KvLY8k>=OCx(3RNFVkmRxgx#;rK%85x8z;F=qq7HLwo!zrQqjx( z>#WC;A(hv3fLSm9LcOyF1fZi1{nXM{Q@j-t6**GWs)4K*U>v_Y`c#>88F52CD#s|X zA@o+eDMzUXAq`@26b%X*5JABK^^X_hi9vCIlSCNa7EX5g=y7{b!o?oQ`9Mz;7P{*u zpa@d&3KT={)iB2AC>r9HQ30gc?|l)+yf~Z>X$W@0E7`7Ja6Oj;rMKwa<`v^!hC>Qw zhK^oTe>QydXXrmP!F&g3_zdGmKQVxtM{|V9z^C8P(co(X^-Ud3S4`p|65b!^A<`NI zBTtflSkP&#aVtXcxJ@3Pm&X_6@kM#uE{`wCfi!+FTSxAq z$I#_eXkRC+wkXF?bwUk4NemgU5mOc%;8EcpO-dM+zQ;$AR^DR03o0IFM|C+E4nKR_?voH_ZIU zS;MXD{{;KTvHu44Ph|g%?C)q|;8Oy0GVo~u`Wg5P1DzW{o#D>{9#s}(7GrqhKx*3) z#29{bhAWdt5uwoA5xy2-`=LHsrNrPlmRdV>Fj||7Y(SS(p$yH(VkIkAFtTh~v0?-0 zG%H*;fx>YL*oG_+iWHmDT{K!yvXgu!N7sIo4*|)H?-sEkoV|&sy>1x`cB=i4qhk{F zKeE#)2*R{Bu!asrYTwDw-64L=Sz^}(G}z9PZj$3afRD*0#@3m{&;p<)J#Xk;c=CpU z+|aw>O^pr0&fT`$&|!%5ZS6_W!Ii@iLMsS5+aR{Y&EZsaeQ*QL#V>iLWvWxe?F&A?_WZepr}(%jG25VV(Jg&|Qp?C3s(V{XG`a(%TFs7&sx zLgvs)Ox@7yQT;AMdME!LWSlU~p+5kS)`1TVU^4m&6^oAG_M$?rtt0pvkk;NQn1fK8 zQvMULaU_6o1gMp~xlQJ?9liBC@}aIyB@DD**;cgl5HOt0;c!@tB~e_ z+>EoX^ACc};=Wd~%^b?Yo9}{?aIJC+o>ut?Fd0$5vz({7xzsOyg>0=-+t|2l>KETZ z+}H@6c^iY}6>2xAyIo*`K!%9mkJ^wzznT9bk|hiKn|bgKPmi{n zrPB#WOB57AtmP%_5_R(lfbG*Dn`x)UDVr#+qRj&~nS<3aF1ze%7?e~kj7 zZ?)8i;Kwq_DBZ3nGI_9tD!_U+*HbSkA$7v9q+qH=zB#lR`1vhxu=zNupi?6_R7h?f z&6fj>MUhqk35#e{$ESg(so)8FWJo``fxE7l2`QG?i?f*>Sm>jMGY<|OD>w20l2N-s z>A;J^Y7g!NdJ>Vv11&kz<763&w<}Ys@H9v0k+ zuouU=7Ir0a1It`%2QsAoVUDfTfyl3;iSO?5^)rFzkU-J9|N`h;N{KU)Q;vx?uT%A#mv&+zyhCx!@+}Q6UP?v7_Z5cd(*d$H z`Zb=@`Dr(s_WG_sdB@8~SLtFNsp-arexK&Mj}?G!v$#I6;N?>+@Cv^k~Y#rPSQ_W2oJWlu|lK zOX+-tN+&I)lj-{;K^cD2jmveMAd~+FI4Ly*84)Sdx1P(d#SJnMb--MGDZgxxMftfw z7D>7MT7njoUq+YTH29?aJot3^WwgCi^JqmLpwS}5MjkFUVkgvgMhY;K&IP%2YtWKz ztFjoh2(RM`!)A~P#z_HQjMNd1xd2zY!MM?3$FkJ5Y_!3Q(>WsrGZSQxYshdg4%v^> zxdxeHb1<&h0Mb&<{dA8~kPBK-)VW$wBOquA+QOpFNl~{4?O{>3SBpA|8f502KtMqrz^>x~c~?V_c&gZ@0w$N7|}k!}=qEKp$olvB9}DR9gX7G>ML z)7%OXDy8evEJKEc<8Zu@;zlR|&e3YbEY8kTFi3Dp&=jAh_#BSdQv^H0r69VF%iPjl zGK<>px63O|Nom@228xM6Q!mk3CtEE9oqnn$0Qk*>GL8pYZ0GGWftc@Lp@giQ8(1Y82i_c&j%(@&}K!Zuyk(P*+rdTdl)1G#D zHdzHvPLDNN^0a#Y5G%Dndk>NJV7a#IjF7*Ob_9b1V-7!{6*Pi&HYH7b5^PXsIFQo) z7uz#qdUo&6QUJ_zm)1ST5jqWZj73kMF*5MJ^$DbeFdUAH1-KDwaJVaF zb^C>1h8av1g`)Ro75asTB_q2BA)I637o@A&72Ib*BaI&y4%#9P{ z_Eou5l_B=dct)p-31-Rk5}tUO@wms2Acm{)uCPmuS{d4sskqs)WBf3kC6>EH^k?%r z)&jCU8PAar*(7en^xPe!2Yv3;vuFLTS!HP@6@xn`iu4 zcX>)tIN5Ddlj1S*5(jwezI+>2YRPXRaEZks#0<3$?}shDi*;$)IHSFdW%sQFRCFZ0 z&@mU|P0(Y=-rEd|7%4auz5`Bt2c;v-Lelkm@%BR?*PHca z%bSjy^E?*Fwc&Sd_Dh{?126QmxXMW*O?z5V{CSuZH9cH+kHHgjaWoJVdEyHatYFXFqs|V$VMC5Y?WU@DSym>4p8B+zP*NfYS9uPcQoX!p40zR#WCum!v^(-_CYM8#u+z zhE7FajNLb&Uu(kFfj7yvIk8tg#x`i1r|4<_^)98rzB+L%K$1yun5JsOvNrpJG)KQ?s zlopEuk~Tc&N*yz{`B8@)*6T4i812xW)!I1GT2zKyMLjV(26?31{eJJTUy>^GR;`y?~tZ3b>)(_JqF+${&kAnkTDvPZI{x z&mj#pr^H7i_?SwznWrwr$B=Xi=SuzjJj7w;3U>QE#hEnEZlTA66|=WNUlQQ(4yA5W`a#Xkpn;<l_46}$wyjOe}crCr1S;&jd3h%VAs5}sMRBq|d zrZYk)g2+1T4fAi27%Tr{$Oj9h^ftHW^d~OJ1(!FYQTY(j_ayWhI%27Gnc*pxt>OQ-M*++xSl-A+-Ut}L;kb*mx=N0 z$Ri+tO8I>}7{}oEYJ?{Hm`#Q86OVy~DZI7Qqgb5&my4%zy}v_8pTlsQ7~BIww5+V! z{u|3IpM@5bE5GKE?38|TTn+7#)zL_|k<;EB^!NNTE5vs(G59hpbLbS<-bE;cACN5e z2wGR{)WPk-eo8 z0ebd%uu{9c64~+@Mj2=Hn-$Vxc{_5N^J|c?>8pLXVqq2Bp(&7(_UzP{kz1ME{6B!t z8zF>ZL!j&@1txXFYmC(BG%gXFk0x+E5x^lXaBY`~0c~8kKEk0Zlj^CYgvu_ImR)`yuv_~vFJ_6W zERnss20Z z27c+_sz`%nyizT%A?XHj(ZBXeMI9ijO#$AlMT@hEsfu0C$z!Jv`UYwW&}N12!j9y2 zVobXv@2y&UCWvQzPe#AVO7`G}wngBfBh{N2+zd8`c;sH+kZF{76*zYWfJAxqTq=u%V z^*LUTbuO{R^|HQU3~a$$7O9LyGt+G^6w10T;zdhD3haAl7Q#eS0mDR;kt7}B`iGY; z(UjQsPnru;k`ls{q=2xV;i{-;Dz`orRjz2NNZrDlgJ?nz`mW26Y8555hUdVH(s6rX z5HAzYcnr#8NFKv@3~|k>Z}&B^PFEbj`9Oov6 zU(Cf#3pediM+b}!kSX0=YZqx=f#!|ZkF;>tk->E9m!uhdK*_;1jXY>{iaw66{1frn znZLDMo13m~>?kB#5C|hX0(cw_7Ws!MP6OI&gjwn*2*F!N%wgceGC4o+d86rOOSkJx zrvYjb^JPBfoCay{4s>otD{~D-cJZi3k-b{<# z{2LTzt^+ng$j!gWA$&BHFZq&FqU`OZg*J(K8dy4py!(U67SI73phIpRqaeKwu@6|8 z%JR7gliTg&(pP0FHQ7$L=m&LBrzic0dU_f}TOF%rLc@_{8wF1ypTizZ*?Vafe=IxuJQbw$`S5J?VUCI4pRPd~YL#^T#&I1e-c zRDLrMNAjT`n@vv~4v6+9lQgtWee9sH9h%sc&MXs4g4}cpZhE}QqQ;pNy4pm4VR94Zo zlQPDBvL@6H8KPGlpa`S{}GsMp)fAr>`dGbPSD_& zFibNmL{yd~#Lw+dgNTKiYnE}JQe;kR@jb)Kpc|=mIiAu=`wy!#^Hibb1~i#U9w4*G zBApVMVdgR2L^Qb)Jwe~BkT&yijv`m0%p6)&Rwui?E{d%Ut(8+@-Ll)m`=*=s>O*VqB1&miofx&q9k38w z1sN42j5MXHjIJYot&Ru=YEjhez2b~WRhi;qs{2dI1iZXuP5G%?ig{S3ptS~Cmq8n- zjwLx|T}JZ4yIm~X>RyYhCO&NDV{l5hNDTQ4X`qv#gy`ajJvrzh=#HZAA(GqF7_SRuSwCEOQutEJ zeEp7A7+y8YT};vrXr18`SQa-O;VETlSE_9YFM#d24GH^y+&~TeO8bMhhks^1fP%25 z^)v8_K?7PNYBrvv2bztiNP_5EuiP^bZ8Iq0=r)6rj}9ZsquUG$tF;*f={AFihHVCC zP~ZMATd=!YTPADHPVL?a7#53EVTmd%P=(T!&xOF@5*pXhRnUY*Wuq@@;cgwr!ht94 z#9_KxrllW`-cwtuwk~XG(MxWdrGt-LV2jE^JR>juVWkfF$EY9YADTk4RvA`ER^{_x zo7KWU9{}5vRbAUf8X7;8F+S64;ud}1gnxryrS>=9PI6?b@zM7Yy6n+NQQ2cqMdr$S zt@5~PbU708=rBo1vN<|$u5!%l?!qGXgH(u~wt-;q>)c~dkZ{aX2H`1k*8s|vS*}pN zsPWNBQ$2*ne^J#X zX8rt=yCI_WYb=h~di@;^gjL2GL8uApd!}ic(onW@KZ*;{fn?RLG}Jv|w!0%Ca@5`% zK+R0{f~xI|mN|0QM^&b0zzJHA|7OwHmR!w;S&_i{x=i?FPxa+Xm}Z6I%0o4&q)*)s z^o~P)mC?8!o71|t%mT0@g#g^}hlFw?Pff@q+oZ*7;{!y4dGZ~7`42UVIs7>jdmN{u zp{E_QDyGA?{8RzdSbQ^8$8gmfYY%p{9^x~56Y{k1i4uQS)G|sh5=w1B8#1RK#zpyl zN+P)rkJbU?r~9|`7-@nYBh5iV3@j+2BNKv7vh&v6>jEFi9it@olsGyP+?J zM<`ID*iPzbP+VPKDD`k`oq$2`Pb{WTn{xXt&Qo8;%OETP$^&M{VnYNe~%5JPqr)vCK+xZ)CgLdWx zdSImTB0pmzzr~aDsErLUtsGU~DD7yOiO}dUB04%uGNAWeVL8*)b<9nLnW-=<6~Zf@ zU(=SfU8^9+@zr|UqU-H}Qg4q3wj;NCbyB^ZYvxbjAaX^Ac{6_^2azj5m=B!9LF7sh znN|aAC{{g`u36-6nH^IYypU@%@itoLmbx+2d3NMw2!r>Zzmv!B{7ly3Tk%GiwpG4~!Z`!0d^7ne z7b+i<-^mlZVDjJKRcOurH|2)8fhS9qLpnB}ofF1vK07BGu=(tqXu#&PbD{y9x1<&IVCrYq8Hy{VbWOZA492Vg9FH`j+<^;AgdTD~IaN^7P+>43u@%W>$ z2z@_x*hjhN&!BVw5(JznK>i$hk{pD8B4`b*hR*SFA&(oCa2~+QpN*$OZ?XgrQ_(uS zIt0YMC9O44S`MAxtEa_R6k2=QC|g1+0`9zB9Xo0A!iP#}X)n7y47# zwB7eNaE8SvzN3fMNsV+2-}Iw<63<4-N7mf;M-W7cF3e9cD^$(q+y)vZHw(a73!FR+ zs`1H>%MqcIMJRPjveE^n&ZRz8;W)EGHMv-b#8b{dgKFu)c{~D5obtRVF;{1wZ-s@Pd_lnh$^SI=)_&B5#)gjOa)-^6d*6BDtpp4he zWZQHj1g^YK;lzhe2S2cyi4TRu$G~H;efV5iv2)5{Ghk!J)+thdo-2;)aP@Vi`r@N}{9QgS zwn^-zw!V}$CvrD#NQu!Ga9!5 ziyBIe1#KI!5fl)S!DCP!L-H6V+SGrO!1%wrK2q+NIEBh{0-fYSMa|~6OoC^JlN6uR^!@r+<1G3lV1;Bs2r)CwRxXA<=GJr z^KAWBdDiHT&NISJHA`!UGeKuRu_4Sqzb4FoK1_}BZx6HYST#0(k=3foQ_XiYJ&W%e z#P}|-!cAd%M2E&lj`5EBO-Dwj?}snbC(wnxUXIPLHkEm=@}3*-ZkD^*yD#)cX*+N9Kx z>X`^P=xwA9b`wI&m%u5+3H%^@Q{B=mYuz+hBYK} z#G7ukb63EJ#}RmRvpn?4t4#Sy3dU(`D#F0UZA#6aWEJ40@rMbSbk!T`elZN7{&0HD zptL#IOpDIy5XZF75NDJzs5}F@wprJ(6|_|T;91z4%J&49nx)_2yXNKQV1Ka9LF`75 zaCjt>a0mYme7^OM2Qe5v`GZqkjf795>dxgVkWM|5nmV{MjC)48e4?S2mPQ6heWVwr z#%W#MgM1flSUN`OpATc7QRqo%fKDH%ANebqXlpU9zRQ0fsGzbsuBljyr9|TWcSB#M zwb;qOAN*s%elZWCN#lci`w-$I;E~1?;fQ1Za8N;8J;=5?f}W1h>-S^=8g*Qa@TnMz z#Ko|1_?3nr4Dlfu zX`&b7|4@o#hVGNH7B{DuJRzaU@VQc?8vtzulx~FQqvUA{8gVX_K+XwIEmtxiWX`mJ zEo<;stBn~nXqDmkXEU}nHZ(VLWJTQ@fQx6Bdm88{VfgMt3%J53cmvCz#0_i%#Ogc7*8G-&T)#u4~H#t9n^9(lh zP=)JCr)HOsC9di^79eduB6(JnIV4J04Asl>gjYku-$-xi>I0v>hU#oeLc71RXvcl_yX7 z?0Y}OMpbcu#~;Fw9%d%kVGZHCn}IvDgJ}fr9NZ3z+E-6$Uxa!5?JUtShSfC<&;C5g z?d1<3t)Non-Y_uq$0hzfC*t~2zBipydHmrl?L7s#vlq9ua~6Hr2?pVA2-6SN6qAStiJ@DB zk;EK~7VwdGDWQ7xU|aHAmnY^jQhL96g@^Q#qvNAXXIYvj3C@f8hqCCEpxEzV9 z=}@TSO}T0W>a|90l@fd1N7*-*Ma2w0e6^Iii zC94sNz@`gEs9Swd4=m&p9`nR01h&dsKn|}1h>P3+>j3gb?kul3h_SYb zUgb`58oQeuj)at9mye|6arC_(X7&CuoY1<$L;F8MWT0fif|8jfJ)GvUoD|BL9Z3*M zcuWf$MbP@QPDgzBg%4Q|qa^quCPJw^#AjA0d8lVg;r$Z-LOg6_V+?_rdmNLUra@wh zwp~D5L{_v#K5$NSvEQtVlS5vCNmp%Q9{8Rmr6L1hX3ZAH8f%kmR*>7Mo_(@#@TG!b zgxyVNziaE};dcmI>b2%c&BD zCKnsbd3@t?8r*&GJHm~&1=s7k7CF0{zmY11HG;SLq#TkxuX!>n6ez0n$ zdBg#~6ffW5q_tT3nIS#&0VG9E$bzm#`*jpX4yaEQ$vayyc)tkS)3lZSFXD;Mg9dYNfv4|OVDFKUn~4!D z%##`P&5mF)Q=g^SzR9D5K^DPiN~&}j`#(7t!@FuQmzBu(Igb3B4NXasG>qJD+MT0GRCykGapdg$)5dLad zI+rgXeHu%|H1pBJ)7~b`+;xad7HY8YVOGfWigca4Ok&`xS~u?HqxwjNM?W)vz0}o- zNW%7R(LFKr-UsWuWJfS0isP!4D0JdP>V632%kp#OFT$Iwt2?gLohNkN8B>QlKnr!a zQ?lba4Ev({4pE0Gv^3tV5Rwc6LyN$rcr=_EI2=38Z*l!{q-@9Y+4qe-|ST z4FWM#!r>&&Ltg2iE!K=yNC%^0VO759rb3z-6?+cFQh3-#kY92!nHs$?C3|F%sDVlp zCZiok`|Qht3xF>Hm?{f0p0r&049Segbwa93sY0iINrDWBoHhikUvZTQ>{Pt;3k!2Z z&g;uW6jxg6=4p)Rb7@&?kD_zz9!2Nas_6IxYMo*@7L`LvcaMtsG%%=XmgJEpTm+C> z@D-9mT6WA9!d9IGq+Je%PJ0Kiv{II6L5uGh&DMb=@K;B(#Rkd(ls`udIry4bodyH6 zKAIz~HAC&zZ7&)?{#DzksYtBj8g-ngdn%@Y)bDnyLzXT)#8A{e zC>~p%H?wC(Pw)OS_T`WmjStlZXnilNtiOz>Hv|5q!-Hp?a|V>A)GM&_@kxXovs5*$ zSE>nNd%gRZ!)gB433z)B@F8pHC^i3(lX2XQJEq0aqNsluz0@31?(f3iQvBrsV6jIX zh;TwdiE_A)C&6gr=nMjX#}VtdoR-3g20g(Fem=uknZnq33fwE%J>QsunA`2o*p7PD ze%|)g_hRJ#s!RS~r#=IBTZY`*#*_O)b|0ERIEPH^o9L^IruL!ftXB zg>A5=PLm1@;-yC&%vACW&1BncQU?P{f_JPHB8O!R z?MrvX06Gm&47nY_qOJ#&!p*uzvb0xm+5e>bI zp$}{5M24=>&>Dtz0HWM41Qb&@1F`^ZM1C>#4IFGH=wl4sgZm0dpSLpRx73dr`Wm1I z)I;h8=K8yU9#-F1e_-fIhJJ`6(vGq#w8s013=qwxvOVG1x~Dy^aY0CgG}11p%Ic_g4IMvJkXq4zSB zHFhv`7DKJZO$?pK=_VRCGjut}br`oWbS*=ZjL$K&gQ2Mg-iqM&$En2i-o_UUtbVA* zy~(nsY3S=!$Wph&d}XVz#TsA(?{R#%%i$X8V0QrSLiZ%Kbi--xd1}dqi{XahTii|X z-{exNd)-Unf7HDk?yuY{;r@?%HQbm-HrLEQ8?Y(4hk>&AA&aj z%0;&Ql$amZqJkE@F%9!^f&jI^uSt-v+Z<^<)q zmEG@h$m3)D|IOiljNq%}gGej*MAJ}h$)ABTh2T5W$v?r(vwKM5K?C>PCC^jGZkUsN z(>Qj+Ja!kbdpNs`**(yt*d^?qz#*rxI|$cO7bmZVbPs@zrGCop3+(=pT{A`DQ7tud zNC&&c6!9jpf-kOw?3W_S?@3W9*C-h3_*6sH2Chn-1TB3bMLN7Ibvf$DL#bQLK>Y}= zqpoi_553yW?B2uflkDzd_Z4=XM#7m0H?)?hB^=rKJJV1DaA&Gjjjx)$YPj(=(^9Vi z-(t(D>2Rub>;|)m+%&tB*)6bp0J}%9dm_85;f864o8}?ah3sAoHw>SLvO9Le0(K8) z_tGW`xsKgi+5Hx~KVtVKc4GnIbg-LecP6_F*gc-zRqUPvH_Yq8U?q6CU6K1uxMBFk z!5Ij-g55bu@^54R4t8&2_e<=4joo|MeVE-R*!?}bb~B}IfE!Y7Yuy$~*HL^IWhPqO<(cE7>y57>Q{-9NEwqzN;Xo@ZIAH9g(7 z)L!gT$y!{;E!C6WU^!}bdLP8To~7DxNaEa>rK}veKD$l155eD>qu8$8c}P1wM>Tp* zZWG)E95TTEmF(u)sK)KxMz+)o*HZJ_2y;1HTix77ZPXXxhpjT^Lv7!W8R|3RNIGgC z40SvF=-86SIF`C&9Od;LcAsSTCAeep4RvCBjl!wyKbKtzKfnD9H1`x@sg3O<%NDqX zy0-la$55YROlqk@I+Awgc%nI%-34%$Y}m~H|7|H`C${4i$<&FP&@!Jtk;?Q6cCTmm ztL#3)?k;x!$!@xXFekG+o880NT?5xppXean?&x?EtL~qJyL7`79P-PK#zsrW9+IHg zKX;64G}LR1>334Oyq+a~#GTXG(->Og!SEluVG+Aa;acjX&R)3hg9}}CQmRjNz6XA3 zhtF?67Jktcm0DPWqH~hhP`~UT{FqluC3JS5%2K4Ow6WLTmo%r1AMCxW`O!}58#lE+ z5DP#}emi52#j==5z0yhWHR|bD2W;!QNdmnZn}*hG!(@T7&PCT}T3#`@91%MjV?HanoIUGB?AJfoPhzry!8oJfVVx&KQ3e!|~J4^7| zWWI);1k|F|Xy{LXvg#%c1@02e10K;(5m2joMIcDK5^tcIx`gI&?pb&zG=rg?ieztB zi*(#$v9&mhkipnNBwC3tV-E|YF7|Fx9cn(t4s^%FN4;BBr@BW&pY^_^CaG0Px3($M4n`Nqj={=tN~NsUizHdd;&0-?h-Wx>&9X3m#W1KN$!`bts0`- zKct=z2r_)vxJ;*i5; zW1E^UaUP}Hrj}LX76IB2iTk9wsv38U`AKz0B<@q{fk@n^)C-Zgo7Ah-xRcDA)D&7= zQad@nThu-bQ7ct2Z&8O;p<~SdRBIxbx2g34DU#tfbz2qlO!Eus;RxpK>WK*E?dsJC z=9g85Ch$7h+wukKRUN8;{Qw^idd8+WVw1oBp- z&NuH?k1=$OIxAHH^s>aMb5k44d(in4FPl^)^+EHSY99@KAQh-@sS_Fc2-00{-m9*c zIB*uIZ&M=tcBZzcwwm{=yEtyAL2cyy$~%_gq}AW4#xu0jBg_ZXjB4EVfEGvM9#pFY zLc6Qmw~veoW;%swfa+en;KM&^7A!soTtlRo?(%enkBvb*K4#wM#<{ z4c{_^9^rZTuK&>Bbc+PxE6=}&uUCLJelM6C4Kadj( z_jN$K)IA!yAL)Lh7M&__KWxldFRI%#^faK~slHVd_Yw7SV~6!8<(e$B;<$ zXLVN zxJ&H7II#+CvC~H1`-J9wnQQH=v2~3=4`yOU&d8rF&{LV~?VPbfLoa4-vD=JCHS}s` zvoYRi9Td#QmOJh7#swOh+;Xoy(U>wMank{H8f!E(ujOHTvhje1j&6Cvo@!h&ESSSB zzppUqd?p^%%En=uSX0jQbe6Mm^s0S9_Mxe;%d#h|mo`Lo)y!YTU%oHL5>5FSfwAPeVrodYADuL)WU| z?7L#`HkvLXDx1{C>{jzIV}6C8Yt_fIN5l>@)-rUBx;cAX>^;V78oC3}B4hk|!n{U3 zl07kYgwfB?M)hPiW*lh@FhuR(d9fpn^;Kv?Y_YMu3VqO|)jIm^OkI@Q5R^q%5 z<(@Z>HeS)t)?B}RwBd~q<|c0k$Boy}t+@{Za|S~@<9Fn)jx9C%HS`^%TWT!U(342F z)L5aR7m#kLv6i7t-rsZQo6C$#bX=@;E1)|x)XdN>4Ry5k+si_(W5w3%Vm0W%)*EBT z7_SJXab)YQvE! z>5)Vy882&yBs$69&n=)&C5cWlGVd2Ho!$1ld9txsAe6%g0bRw=PLH(oUgIW#jE!yI z2Gq2H(*bj(I>p$Bp`9L;%1UFt#Cbn#>$g`L*GZfr*;g8OXozG#)p%4Oy|kUK8!3>q&pbd8!kF6|5(k8CE)Yt)Q!6P)vm672+aYG^z|`)FuyhSo5&leK%fahZll zyPJ(=R|zj>o4E+{(Et(#yw<3p7Nsf5Ny;LnQn4#={z-I(CEc z0z;&UbDbNE3&t%Pq8z?xysRP0;Y&vUbv60EY%FGoa=6sN98(~c;ZEZcjY%}`G;Y%n(fpdx z^zjYBG#=H^58JN;v`a(3Za?4r zmXX;;Ic)O&(Te5+E1|kRad{mShPFn{3$K z0Ksd6cp&(of(Kq49*Cl%fTAd(4=M`!AfgW_Dk=ylDu@TD$osA8ncc~ukG{X>|9hY3 z{|RJkx~r?JyQ{0Kt9yE8xP)EG0hz|K-lcr6#YUwrRd*@4>B4Qlm}9A0tb${9j>)?0 zQp&X$)#V*!j~1i4ysL=&h|Avv)n$(o&oQdY6!D(&LNK;ad0(;IPn6gvN~PEsj$JEO zq&^$|zOpkI+Zw)CX}w%hZc2SEe4jEzi+!HDGyDUkoMYFDpHp{-f2b_dV##Uy!uKn? zG|FCS2f{y6QddYWg=t5_KT#HGv5K_s!ar5YSIM-i)3%0xu5^4*#%@jfIsBl~n`76C z`_n|kA>|P*_GsD}aa8I05K&$$Hl;;Ie67sUV!PAgBED5tXt9GxJE0uZVqc}Tj5w*p zJS_8lhuHT@Z!H#f&KdE8vXoyc*1mxXq6 ztPZgO5sG^15j`z0!mRdNLorGl6%nqAwK7(6&P5RxwW}7Je9q*ED77^m5x^{ZbG!X& z3$;fub}}|r9lZ{+MSM#S1;wX`RM6|N`hL=G3s}U-Nmuj#Kv~!xCHfx zj9H#QlGRf(4du0q z!)sKYCN5t@rrA2jwN%H*n37=|Vs5E!&|7TiFT!xs*2T+dc& zYZ((%&sM6PV}Iwmv{EN>jJTYRZLMC(FoM1SROS^@~eUk8_%o zU|ZF^fl9wt%(mskwN(dlY`(bBb~-jqohD-}-E-6{B_)@Bj(Qiz{w|1TJ9TF;ttc*C zJ#I+rpq6ap5|HoWxK8R)j>&x8Rr-J^N=KSAuBV#EF`1UB-V#hJinFU53~AZwwCD7E zGva!ymggxZ^YvF_w&-c6WAQ>9j>)uvkc1+>PA7O8P!*>36pjYOQwJO#!C^{O#9Tx8 zWtdr;Ql@kY619c1cRPL0COydp9H@tqYw+}HX;4CTU` ze?eoeM_KX*xg>u@RDnhnwSXp;m|4t2I7}?zyfT&KU}C&k!&BQ;#+WqBDyDx5P!%r& zn#2x3v-ptlhZs+H985y(NUf6?8IEU68bjG?*u6t-v=Vna?wTVPZ3wqS)2hc2x zsZ_4ogdVPB=}D<}?nL!BY7ym9xXz7xr#@xFzH2J=_ewdB%aw3&qdJUajN~t+O42ho z(H1FxWBug_lJb#o9Jr~%$vjEBR51r(lUM*~)+9+7RoudOnM+cV9-1_ox2P z=QYwx&W+2J{2SwCDUI=4xh#p_!(pP-wf!?-aBq;|VTMP87*%}5VbTQIBMNH;?jm*$ zVPXy8wg{`DBcMt2WxT}Xb9hn^;wwVIup$UAF($E^@mm?Qtx;I!l2F>2JG)Tcm4J$% z`m5qGgiS(9_3=jde~qcn=V@>-iw%wV81c_=>Zc5k{tw`{$g7H<0Zn+F3$>^r25($! zgdYfuSrq&so@i8!CKSf|JUN#f9cLSa^;AidkU<=h0rgpi!Y0v?F=IHDW*ssbN~` z*9fcPCqP*EZd3}rQ4`PaH3~~RETQauIsXm-rAbIk9_Nx;aT$jtjU11qjG1Aek(Bg6 zs3NFG^ci2~k~+VNQzZ`txUU$@>3!N?D%{sFhjt01Oj-{zO}(-b%@b#+M?<7Ac~D zImqy64vz&?g)uCxgv84*aZ?0gBy37^eoqr*|B~;da9^mJgdgK_r8H!phQg|#R^uxI zfM%`LPcyyrjirTufoUX0+UMWHd<06}o09a>dK>XudJ+wJn<{&!Ch<07luW`CR7E0( zr8L?Z!qNwj_<@W!rb@iD0QsCc9#9q10!Rs8!gwQ%lWE8^*R6-lOZu$h3os-f>5-Cz z!&s^~H`JI`kbi_O>w@X5r?1ZVe)WBXc&IAVp~{1tpm(6FW~U443{y) zNdly-cv>zxL-a>r}vYv*M46!nU2`G6b#T z_lYSTa^m}o{FpD}Ply2>`y`wO<%)zzMV5HDV*urzWcVAy=uR`ki5u}e+U~^!D%}AN znVr5weU5iJguB+ibUKreBSvn6A?yzR&t$JDuXjR$MqM(Gdzj?MM2E;#1xkEKGC|{gs?Tp6+qj4 z?emiMi9X$yB3#g|7~ySU69LC}t4MkZGz*pI04tNSxb&x3&Tnwu0ztdv1%md&3(!Xd zX{WqEeA#V?xj_8Jkm^|=Ox+1X`~3x?W%q?i1)@XuTa$7)Zw~Xx;k-G_Cx-Gh33U=LS#jwtCd#(Gq_xd*ky*M40x z!Oh8Ix%bD4k5hIc{6>%6$uqh1vEopV!^t^EV; z_dJbU7xp}xd>Z(rs-l+k3~xy?Y0)x=?+A?*)OTaW0-3R}MayO?+l$zS?rExHWSR!wIE3u;r)9 z=3W8ysIslsQa}oyR^DRx0bq_e3TVN5W@~W<(uVKQTkt%H37BKT0(e}s0Q_E90Z(!2 zulUZT1?Dal(5$2bS`^9~qjW}it3r9VDU^4+LV0&8#B&$Z>`}U#EMl)>2i&jp0X(1# z06fCEj&ZKzoa+>0eq{{4B?3NX>^!0@mAJ*IREKz#>X4*T9a^hYhg6m7U{mwJv!hx7 z*i{`3*h4J_w5t;Vd#jfL_EV`QL-6`&i^x-{wj;QdF{&H*5_KlvL{7bwQzvt3IoDwt z*TKytR&$AduFo8<$(3A6K%E5+^YN+{i&(^bZec!4na^EJf3JF-DORjdZvuQ!{TA>M z^?SgzrYFK<#a`14Jc+U2bO7*xX^JIQ95hu$#^PC=sHj+R%(MdVxTzaXB!6#u0`Qb+ zdQ7bN)ie_4{)PDzo&Gn^i-mm5B#j|vZmF4DYHp!s;_0$wtujTl2mmIEC4k)-lgsdY zh8Hp{W_Sr;ndPMUaXj`Dj%~qlm@|jqS}eN74~QQgKPrA){Dk;R#urHO|`J+Si(E9dGqpudyz%K4yK|y50Jgb+`4O)}z)_){MlViA9N*B$g%m6JJT( znfPAf!Ne1ZKPN^cr6zSv%1RoLbYW6a(&Qw6(p5?GlkP}*E$OSI7Riap9g@2z4@@pd zE=nGsd`Yq+d1~^EWMA^t$+sszll*e>>&gF2{wz7Q<%pJZTVB`l;g-*~e6i(@mOWbK zw;J7Qa;rqNH3_~zGCZZ0@B>;w0^PTX2>&NdRGCkiKQqj9b_2B&FTU>wEb_!LINRC}Pw2to<3nx*IQKeI48)Uk zgYZ4eq4D~JCeZ0c1dwU zWZSv{N(_ZnJR6Cf0q9H^U@`Plh3-TGPJnKz(3=*3mq0I7yiXg?$q5H^QpHo0$$%Bm zY89_QP63<&tyYB>+Nz2gXtauBOzD7gq0K6ua_j_n7tVhxVi}-{SEytld=H>1?u8wp zTZ#mi;~cmu?gzwE0iqYeD;TcANKnKBfU0;9V*pQUFkFohq2fu#KEOPJQK5=87!!DU z0Z_$v6VC_SgHfT1_i+AO74PE-Rs~NY<{-QmqeK<^Fh*3IJRA=Ehk&ZskMX49iNp&5 zKgN@*s`vzQQZdVo1w0BlDdI~&>?uN8*h_}ARLpym08c<#@Ya>f03(!AK#Sr4j8w`1 zqZB8g6=$=tYEfK(Ny-esWTg_YmEr+xt;_^WQG9@HaQ<2qZI#)8shAH{k)~V$*h#qx zu(NUvU>BUA##@J!YXLKq>j1kcHvncS3jnim`dJm{DmMf6R~7>fP;LbrqAUR%hEvU| z7_Quj7L5SJzM8TO;gNu&0ExBbNx&b$dBI>240t>Icu%!w%AQR@{Mfi8&a9DE=wX zCwUbjgpXzA}&3?V2KrYkhuar6`&*-C5=rL{#B*R2Ee`y$-(%Zv`La zD)V}Lo~iy!Baa~A7>Czc=a;+u z#bsVswZEWhsz;3RI;Xnk9&n{9dOM zkBV#6&-GN-1|#E~m7ZD7dU+(OQ8tOr@#Ad=Q)>K1eq5z`EYJoQ3n)llP~~@eXF1#= zzpAEEgqju-P6%g6&abTY*BauZsE-VBw9gQeRWu+p>4aFLI7rq&!3-N=!L|`jGH(Js z)rnp%a~hZiyHJd9_@?E!D?DD8e;V{iSDZYjk2@9}UmrILozVc*u&e85sHYXs;AtV& z&_18j8`N&6cPjL?%2nxbmp~u#Tt2@8)u!4(8)QT$E~=*9^Xbu03p6zk)#8}gsQ7!M>rkjMoK*_hZZZH#xKuPR#S=L zrc>m*oyKTT6N|h-iRz@mG#$~1B7dBo1eNmUIs6ViKBhnq6;Jazs%99gL^X4kxgDCd zXi!mIQlulqgY8c+knip}^-P=Z83#Hbp#-xZ9JICH1fRL#)y=X%_3STOF> z0vdsu)iDH%@eUI=8v@ELxVwVo)a!4qXG7D*$YQ5IIPw|6riMehVbUXL%`mT{f_sQ@ z+SrxZq>mr?en0*zrO0#2j*__&jddI5rMJ8p%DV8hJ3sRnp3pPIY-n;x0GL zhA4GALXmyR0rNRvOV4E7{gJ^z_r7?;4mClj#rYMDAHFM?@pb8lSLH3OF+wYj-b{3Gh9PVP* zT&F1XRItugyIp8|=@cnEZ@JT3?5e18O?8zyFqB!8L6M-tgS6tHt4|Yqi;2;Jag;5q9DYBHJYFDU^ zJg@6b3Nny{I(nGL8`RT~97w-3Q8Z1Ur^0gi$o~;K*gM)`UlP$A8?tpWbQxYiY5*kZFRzMCO zStGKL#`u(CkJk^staQp~r?Wh$I6gsmfoWy5bM`Q@v7BAT3&BHj3yong(5#nMsBBcI zP-EN?a%CawpsG>hwA_S~QsWTZ*BWPOsTd9KT*z*v@uZC=L+@Z9z{{jG8PX_ZL}p~! zg>*~6?vw_{564Dh+M{8V>-PAZ<#Hhqat#G1OUW90&M0fmP`RB|75-^juS=hNKLeiZnr)cYpggb`HX|V8Z`10A%3LLFuMg+&>&ZN{v6CyJ|C?g zi>gL@SRXKBu##q$u}4$t_BhH*T*$?;*TBGKz4^i~?`38mM%zNlJ`so;2GnX>?i2q$KfX-`&tB0^<1Mx9$9 zMXYkFSo<2}H>5ORV@T1tq48RM#%TdWy^b;rI9>$FM6IFvI!7Y&O7g^bxK8krVc8{) z>drnP`RvA}k-m820k2PHM9q5*qJ(T=ZeC7F4k-vP8uT34Q1H9_wIO3PM(R686g+Cb zw}zKJ!r)aJ`jJ{Jd(^Oan}iM=jWw~S%70;%XEyEfz;UmsWM#uFKDNeHHp52~(#3>oBbl6mpgIQ&81HpyJ2=$zDqp>X(kYEpF^JNYQAeOh^q`?3Ix5K47o-X* zrB0)(r5-26EOi7oDKwWD^3^AC4o=lpYhXM_`u$^QM}e$Dqsn8M)fj1@)Z1jB(@`NR zG&GcsNGQe7?hu6m8KN|ZBSdLHhA4wl3eg2oAu3&TAtD_Uq9JjH()F0Wqe66{?G&O5 z#mM$y$B-0+W)7^2$YanI-N!L~(JZ&~#KmMjifO)eg!rK1y3wa4NGQrv44caWef|h; z^TD!Ga*2l~;}Tk~i4i5z&~i2c1y!L$3>cT(?Fg=&$2qIr*pif#un?H-CSc#oFtkRL zkj;l(l8m`3`qZbFmV-?x9~=N*u>6q!?$ewt1BQHXL#;3@seIqi+Tbi)?DotiKa%l+ zNAK@N$2qa;k^N!)~~pQ~i~gObeZkshZZ{g{#` zBWjoIJfChJvA=|UV*(+D9Hq)@TWykoz8$Bz8phq>BHE5(Dl|=SOmj_Oiz&@8xtZ7UHXT|a3|0VQE6On(hkS@*AqDaWKf z@yM5&#vQ`@d@@u?ixdoAeZ_%C`ot58>fU6(O6e)yatC&{d~WJ=B}p} z1uH@ky=c~JU8i}oAgF;P8OqEGMRdVI7Gw$6k(rI-3sui>ONLVPGNn?=JrJ6|q&~VD zE)um{G6h8fqu1%Eq$=n&%>}~ml=m$RVXO**4c9gSKx4R7hiP6{KrR*YE8VWCs-PaA z)wy24C>J&kFgUzrsCBRdutH(9HqVFfT44>zHFP6#Ne5vi9FpH|#r{fyJ z0Ba%)lJP`U<#6*Is|I-rs`zfwACd4BChvA>J}68)t)+0Gdswh~v|T9gXBE)xcp6f2 zLK^P$8*X7q924?A203*xIp^az*N5g1*mR9)y_j@jxClwZ>s8)u%heFHf9iLNp-$TA z;Qpe09Ly^`g-Nxcn^xE^!+t*8KEs@9oO|Sq$0R}ZC}q)09>E~CqS)YMVwJ1i#}hd| zA8wesYvC*nbGe}{L`50jkS#tFH&jacJtf?0_db8n@?JEMs_*mm){ zDyHEkm%d!rtAM3=Io98e6UZnys%o1`sG91ksF62J8z+fZH!#Tm*g$NOe;M;dBbJ8>pXaZ-iTh7vaX9sICd5Z>HUz)q_(oZ(XTZg(3v{daP z&oRhNDN#kb;;AkzsB+G%!L}4mI5?0^VCNhvgS%LOo@(Kf2RGQ2h6`3ET}#}U_4;*_ zWkBf`Vm!uL-`+AIzp7kEbL9{Z<_zuQigL}!h=M#9@0K{cwT5A(tqY`K9O@y*M-CFX zLu|zG_I=PzMHBP&2Flzl+Ta#_quUTzCdg%vT5 zYu=0AG%UO@+=Z-#E)!XQJtosMLYbsRh=~@24V*^zE`=oE_GlTkg%YExa2G=tgKQC_ z^-&DthCS3wwu+wWVyu*1So6|+g3(gwsP)ts#*B<#=)xUWcz}H4g^UZn9ZTnd>Pdw( zC@2V68vnW3x`xmvN@O^fH}2#uWo<8wBTes{>33$xy<#Kk^OhM}O+!=w#aGR!$_C3W z)KDdcdkNg@Muc{M0-bNfN~szZP2;HFi3llhXz!1DD(KaTayq8r!qLNNnB{pID3rHC z*t%mM(+7#ljY&(AR1mGe<>WhAOu*O(eMC}_k&XD~QJ5YMM< zsMmO5HOf&8rPI@9_vfR`7YE(KT*& z{+u!=bAyA9yK$Nw(KhKcc3KQwPLoC`hI^?V_bf~tG=z{Ej8h-WjW%F|!*-OT%25Go z4HqQf9`*9Z0tP=)i|P0u?xDDyup8uuQV>TPB`&9oZu($ze3r}Wsp1`T()to?T}wAf zt2L|XFn0|GNI7%&^k0s=u{BPt>GG>)@-+{07saVY4i_vF4KhCFA*WMm z1(-ces)i`fwsNQklMPYWwOKAtjZfF}Dm00lHa-bPkrL@E%VJ>Xb!t8#BzOil3=`=} z(ssSnGcH{=h)89K*k48b{-Zd#Y%v~-znRmiflkH`{3chl~0(2duQqlT(E zMc#PRPQcMZw!}lWBWQH6kBa>f(ue|IJz7Eql?#R_l!NPn(I{I28r_xP$(dP^CxnH7 zwyKqOFwes`PDo=zy!6%xr&dKEC>6UeKE`D+%oa}E{c_@VSG6k(zii>p68>!A%M!k9 z5!xCl@r=j08SVHNJ4m6TSiEq2LYS(0t^y*uv!vZeVm;tS1sD82eZ3E#j27(76zylK zskk$O>Ow78prPG3YBQ-u=yn+pO;58VJ~;*`Q+|V6T9^VrpjjOhE8rmDUa&UqDX-oa zx-&x)ArZ<&sGh3ZI(dIW-};jdEo&D>cbSKdFL6tP5mX8K?!tVEB+ar>spG3$Aa}Ad zv0@IV^_a$iZX9dn>$Q@*{<0*>Uo;z=t$O9SNLV@eY0QfV45OQl|Dhl{^_7Do+PY(> zv&KYRHcjT1YE7-9F-5EXP~Q_%P2&Y_{rO;OMQGSS%=ms4-7EGB7oYmVPNoBEA~}vj zY{*{lLQ;1S^kKn+L?D0JG;TyNg#8>h9UEcDNsTrZWM72}q4`3Z8OWcTA}J`y9DrtL zu2>%J)P!9RMI@S&Co|WNHLZ-2vY`@6EEpR1Pvq{YTnRT&HXa)!D7Yw<)!O|RO^2!a zKD{^f6%)6K`W0gaXWTieb+{k2d~ZqW4oQZ+Sn5s=5GJU36oD1Mi7ys8MR}i_WhniC z;QkJt12EyalITi2#o~wAo`%PUh6s91#Faus&%qbB-0(VlLYzMh>F~PoWK}QxpUwX> z0nf!#1|B@+QUPo>o;jfZy+kM{9>5NpgQsIeoWzyGCB>3c2xoncJ}%vf5*;Wn6IT~7 zUhsz34|+dv82P~K-2I4oP(NR=dV|!LFfHCvw9Ep*2-V6%n<-AQs_3+t9j5Kc4-p22Mm)AqUYD zB`8{8O^eu6aGirxD#1lL5~|^vPeJ{uodt~Xfrk&JkQ5jb=VKZ_a{$K{#HkYHQ>#P^ z>MsZC1^dh8dcXytWP&75FL+aXsDDIcFkiY}LmyHdpmPcvpn+F3$+aBM&Y}L%@H)}Y z9BylDOM^U#GS3)eYZGPOdN>obtEK?8o`tfh_2npiB6^|_SH0gVz=fok30xO(1$yi% zTy3EC0aBYOT%QNE#gA4Hm&WbS6iT4(uM|5PVzZ$LDO4LOqYn{cZsVdzaDQB^vHGY2 z)Xsx0CDntYiYB;m6|IcIFAw2UjMU>mNyVt(1t^yC+huV{eUcyi_+3^$aPWZe75^GyuOL$Q!b;z(mLx9#n*tvE!LQk!VyNY3D>j z!|^3jNFB+p6D-D0%AgW2&5UkXoj)3+`6!mmUl~}Cz$zdJGW!Dnsekl>NqBMy+fWo4 za1xml6lB<>k+s3xxPYgj+?1&rkH^>wkk$nh#!2b_n<=CVjF1wz=dTE36sqsTe_aqw z%{3$lsyx}~DJ*@`OVYWJX=z%3^@RnE2rT$3mD7j7pRW{648L!7r5Ue5-%(X=|0`8# zD5v_f@4r(**Z!4i=@R-g)%h#3*{n1Ey@909Z#3>{SU51GsxdUkLvXOKKsrM6xzrIk z8%~7nkaK5!n|8iIlbY`AP}fO|C?__(^w5Ndj!lqWNi~L^9JFF4iIlL|xkv5XC@mjh z8q{8%x8KCrkcQmC=kz&89v;PbK8JZp-DuE1!4 zz1Ea4O&|aSGHjBU028OE;TALAm4Y{M0I1RG?8;OdePSMuXV8}*-+{O~7 zW>7_ORkeT`jof)szI$;&t@fJ3QAi8fZdrk7Nx&Vmm)jTEYt4g*M^GOKGiiqzuTT(X z6M--S^g0uB1OfOUg5_EWSs@DqRtTAp^vzuf(G>^_%7bvNg(POWQXg3?s0kA*oPw?@ zv=*YR(Pk`CA$mn&UscBw-^kgg}4*5+20o&Jl_xK+pA?TM&pPfY(qk$y%aYXa4Q%*|TQ+ z&YI!D3bRv7-GGV;QU1T-`Iy=Ns9(}wS@@G8?j*33)Cod?XjSS%H4J(Ycu-<-F`);b zpk}&QQ=%bG^oX?+{-DOHwUf0|Bn?+wttpH_w=xD-HYuEoOwG=CvIQ-q(sMZ8!um^S z1XL>pctG)BLj-@ZHj_1QOojoGox-5piYvaCrO>F;e+j}Ij1w9D@Ih=nmBv5*@Eu`= zizjuVp-)KYhYJ111+s{Rf~wYZSe6y&QJ57ZnxJ=T7=}n-1;YnPcrSnf4Pk`jsC3ygrj6@X~0Qni6sMOiN(m^Q77{q=u1Zn|G#!jFE)!Bf8zmUM|#00Eo6SAUg;R;*{{DW@{E(yFMO-J0C9#|ndVgV2k zVky=D_==IB__*SnEMcaFx*{Up`FX;&C-xnGAanksaZj9SarDTU>Bkn|@QZ1d``W@~ zx1IC!`G@b`_ul@OKe~H&-^6tFmT2$5(}CNs+4kw|_{Fb9%r43}k{x^7mtn^a9!cN& z(6>iUlwVpHv*hK+mUX>sN{>gKJ<@)De~|w&PtQXquD<-qxNUa~>YRF$HP_kNR=IUa z?@<@;UP3Z)VRZy(Vi+44ftO@jUGNMcK(rz}g0=?sB7#_01l-8IWDcfSg)OG&f*R6sm+}KOFO8Es%yFQYpsuvSMLKtm4f=Y0;urM50y>FYvXh z!du6mUU6Fcaugso0@*DPp)3*N)M_0Q5vGM`jR^h&ArQ2dg0%O6rA1wGLD02)567+Q90t~ny1GuDP2&tAd z6D_o3AwB^|9(_Q&G^)h}abmqdqiRGXMx`~dEFo|o+Ksh-aHWos7LQdsHf_*3*l$RV zh$A^#-PUTlvUp{`xJhEw1g4>aw9SD3erqA|FGQcyYE$JA9azIcdPqh#%8inZ*1%I( zjJ!xLJFc%L1m0lpy-z}xHSk)J(jrNjDaQ*I zDu@EH)MYX&mcYlTgJ>;G?6I{0q8AWiETa(N*2x?p7#(4zr8Vcm03e}*0k;N$$cQkk zzbsgng$ol#cr28Ne%L`2X(rkNLa$S&(S>^7WRl|klv(Vv20oG|WE(ET8R`bno)wXdDnqtt27b^CS^#GNM>*5w zYFM)2g>iy~#8Wqf21IO|h*->@pz3c;kRdfTAq#sf>9IW5q_T$8#Y8H?%twd?$+<2y z0=fv+v_)ve%dXL8>c@0yRN!mcU7!ng4LFW4loA!^EeUH~0_{v#>yqUqB^FD4Yv2c& z7&t9+p8+xU1|fL_V&h=~(n+jm2%s}43(Dh?GpKBuP|}T+u(X32hFlh)bRwloz}TNw zMYPDwycB;pg`4Ta3+}Mr%T__a~6?yaA?ol|-DqjKW zbn@#!iQ;T0@Ja~LHiw!e&@6#w2{cQfSpv-xXqG^;1ezt#EP-YTG)v$=Ljw3dAS%*Y zh(P`N@M;k^#T(;^ZUlZ4CoAFJT|7_3l?-NVO2`29RFO9qrPVvq&dcVGhBUf^U4?UT z`tf!u+lF5crqPe_(-CyzQy1D3CmL;U5s9*N+KWJIcq#=n^0|~ue8DIa&(ZV)M&M9; z0`fGxOvxh+!t~8Rr|Ig$_^_%}SOQ2Z-%@SyqK(hpz zCD1H^W(hP)pjiUV68O)Qz!(MJ%@tyD_J3yenrqc8fo2IbOQ2Z-%@SyqK(hpzCD1H^ zW(hP)pjiUV5@?pd|6Bt0HsGPE!alD}`|!wa*N?dVrxr?tx?*0NM4;kSMahb_$AnvC ziW(Ls>=ofr-NO~LGVeT9F|U|ppI|@NfQhqrGAUw(ZPht}R56hM7vT;ny;Y3fGeZyI zT|ocsw)$+%@sF=PbA6jnKRF${BP;#>``24n%u9N~K2N1zCpCU#%I~;5NwX>&%o5q`?5?j*8!000mwi0iR&u<&;^w0KqXJoaqClf(* zVysTk!&XpLmYLPV-c2TS&=YL*y-pk6hlv+;S5?@w7j@g{4VYQI?b(vL`{*KDVL{H& zg2IB5Nw%Ea-25>m`FTBTUCT21pJ&rq$ujKcv})1+JbRz4Y*~b2nYQE8uI$k>vo7_i@TXTtKbz2E!Ux5B zYd(MD+-^_r`7!d6-Y1XV@>^ugt`FN@{M=iIf4uRj`?lWD>8qW z%y?|#<#(9R^qi6~u`cz^nM>bmKe5+)JCnlZ_kDipqZ>wzJo?S~?H|8r+12Uyy070l za`>IoH$2?;yl3?QawP9y z^ql)2y!zzo2=6(cP5O4{{LdFGE&On_#6`_DdKF?7Vkx5OWO$#Lr5;zLW` z@eMw8=Dwo&YsbHHCZVj%KF_S$=b2`#FsX{F##`oAUh0{$r0Dr=XL3JHYJFdW8vp0( z0F)Ryo1NXSz7qEhD)9<^kVQ2bWZLkI{@vkuzP-O3SJ@>_Z>7)XnQE)?Ic*NVZJOU- z?Hkam*X-G|GiPCJ`!KdM%RH66ywwgGZT76JF7{58*_3#WKJJSa{2z&0TJrpVa@W>)y_|Eqv;T2Tesc zA1PXW{K?DT>6P;OttU3#f5oloZy!DT`RL=nK6(4ZO=Ug5_}h;et>3Et+nB$9eaGe@ zA8zS%Wa#+!f4uIy@WTt2rDmNp#qBA)w_~^cZQCxMcXHjgt4DpFwEDo}_g|m(ieus$ z@19fk5k>oYdCF}27Q8v{idQatq3f%4(++~pUkq9^dCO4c(V|B$d1P?= ztmW3^)4rAG%v)&g{^c;WuyS#`F`2ht*lkYueE*#A3Da3TOae)`WGs$d!@tIi-)!NN1IVwPF^|JX3uUtZQ*U3vzHxTvg!Qf@Ge(e zpoWVF({G!f81?F1hlWgeHLTN-C!b81zUI*RJC1hvacRb7L&l$csQA9^eFyY+T713- zvv)ta_NCXu2A<77_V*(nbbROSvL_-}|MFSe&(GvUO}_(Hz=~PyXK4lE#LHsgz=1a= zymP^iWyd}l(xAfj>a6be3^WMyRD1e5Gk+$CwA_}}AJfVxSDDx2^Gx;I@ZeQ-X4X0O zR7sp%KgATj2-ueE*mrSbXe7X)4!aI9qM=qJvs zo?Gc3{bcK%cSLqg7ZYxo>^g7rh1Q6H7oEN2mj|atSsvb9chQ7zpE>{XmUXkuAN;uG ziNNi@t$XX5_gA;^UOMp27miyVXm4L1e%%}EZL<@v`$QY0kJ#%Tve&I5?N`iociZdk z48&iutNL4)_x=uJuTFY;)ZfnTSn2)W@4tEfLdRio6>pyp%fBwa5`j)tU>sUGXjh&Bv z9CqbLSvL<_9$!6u^KaIo)~>C;?#lf<;bL3Sms75I^3jy--OuaPbBlAO^`=g7We@yR zl6pG*jrWsJj$2!mn;mgxUaM1wD%>r`{`lgFaj(C4c$@uKTUO+aX}4#z8TDS8`p}8M z0n>&{zJKbY?GwIn7Q8;L1H7d2mlxL$>EqeF8lEK5?N*(`j^@r90 zH!P`HzIyixScNy>8$6}?2GgUL6>SwCKbo*-?~uD6+49AIgjuk|4!|t%bWa{@pR6o6 zurg||dpIka4ZJx#Q5|2Lm1s{OOJhllnt%^+z-{(>sjo<- z@plZ??^!=`oEurc4)%0u-P(k#TQ1&{Z{tsw!*d^#n}ey{W|XF!@>|f9Z{aC_)%@h* zz0vmA-nX9}(Ds#+y{@P{ufwR5yB8fg^W>RV)!ywozJ6%s{*q%?tN!7SeV9G5WzyJ; zekZPedc&dt!#DOHT~+c*R?L9PU*39a$C!KDKCyc5zLA{=Z+vyf;yXSo_^xvA(K{~q zIP4$CA0B_+tn)Sx_=EuJyAQ?pw0Ve(~^{@(u59{^*&qZr|8=bK6+`uO-29$g9Uhn^&u>HiPfFWz){XgUtTi)Wtvb|6={x5p!pBi=Co4`p>F5 zbHQB^7bcxhhMh?k2Zn!8bTI5-pp&YY9+;>?aoO`y%Dl2^-qHxZ$}{b!Gna z{*z8W*X7=xqwfE8)xmx@^(${b^pod$b^FJ&?}xwnRkxQ8w7Kre564;tec%4wJzFbp ztV_--Ex)#W+nS|4Zu;<+^G3!!dt{Ge@vK>&?(1~6%|kaV zN?mkeZRy5>pD)jL4QN;Lc+IF!$`9KIepp_R_scKaQism`V#T2RZ)S+)Ylpu0e8T#R z4*v4qs%~|A+l^i|eoL3d)eo<7w>?{O)4UhzE_`_9Q&Z=zX|;Ms_}1ZHJ-q&CR&w#6 zZswQH`bO+u*d_PZvLoMgyy229ecw5f^+Wc)%Ri}|`@DUv>-v$uEJ}E(?ad{V?DN9n zV9b7!#w^Mak%0G<<6m#1uxR(-zs6|LQYYKqC%cc`-ltFReq{a5h4Jfy^$$hubu0h3 ztzUK{>!=bE?%IqK1v}de|7QFvmJ6)5Q{%t;ru5wdZ{G2O{o~&zZts%4>$;L7$8U|_ ze6stNltZR_qOVUoxvu}BO=qIh2KqX$ozVTwj8)0E%uD`k_5(x4nHJvnO7-*Yj`sfX zWS`qckH7ZR2li)dA5RG1c=6Eik0%I&DIk_wTL=8*=}VJ;1)d?a}vg zJ9n%7?e-7bS9E-%*RI~5fAP!Mg6lU8+|{Y{{bTo=95<|)HstkFpP9b+N0@Y@<|#uU zsewFErNz-WmkWs|mKr95O_{O%wXwG28+yIF;+ZF|xxDk!n{F7FVXs?5#-f9{ZY37; zfhO(FO8Fq(?34HDKe{tKXh^!?X^cu0PoNs!hX{hq`Z@xZ~*s?$R^w_Sojx)ZytCX9s?l zknjI4GJILkKRPVfE z^uF*-Rf}SNn{v+3(@U;g^;p#XyE?=_G3tsgw|Y8nnfCL;gO_*sYWsbgZ^)Ww{s(-# z9oR#qwe)|B;Zu#qyWY<4in@Dg&eS%EBTZQ`hJ9Z%mZ712;b`794#ktP2n}X5XIahh z54V5jx=(t|RVR+T_M2tC8@FJuAw(WSyQC|ufp|O%B;Qi6Jq@(7O`x@=q_h`QPf3kB z2p7*hPZ6H4N2P3A@cgVC8q-2PS3 zgf+|W*|u$U#oI+~-k)^z`2FT${Y%Q&t1Ikpcbqiq21~8-{ZH!_=N0q^?8CF>sr`ZK!&= z@!Iu~)^@K9xc{3b^l9^R+bga)epYkXEd!o|tg_pI_(pJaz7S;ZOT&pN!eO{Ef*k9XUMn z0#DVT$iT987jZ+kO+6 xG(7w6&-358?8(D-?0IivT;{K<%61;U^3X5VJwJ5W|A}()y%x0(-HVTV{U2iE@k;;z diff --git a/src/extras/itextsharp.tests/packages.config b/src/extras/itextsharp.tests/packages.config deleted file mode 100644 index 38b45a30d..000000000 --- a/src/extras/itextsharp.tests/packages.config +++ /dev/null @@ -1,5 +0,0 @@ - - - - - \ No newline at end of file diff --git a/src/extras/itextsharp.xmlworker.tests/Properties/AssemblyInfo.cs b/src/extras/itextsharp.xmlworker.tests/Properties/AssemblyInfo.cs deleted file mode 100644 index 8afaf2795..000000000 --- a/src/extras/itextsharp.xmlworker.tests/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,20 +0,0 @@ -using System.Reflection; -using System.Runtime.CompilerServices; -using System.Runtime.InteropServices; - -[assembly: AssemblyTitle("itextsharp.xmlworker.tests")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("iText Group NV")] -[assembly: AssemblyProduct("itextsharp.xmlworker.tests")] -[assembly: AssemblyCopyright ("Copyright (c) 1998-2022 iText Group NV")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] - -[assembly: ComVisible(false)] - -[assembly: Guid("f9ca61f8-a39e-4bcf-bf38-f58ea5f0b42a")] - -[assembly: AssemblyVersion("5.5.13.3")] -[assembly: AssemblyInformationalVersion("5.5.13.3")] - diff --git a/src/extras/itextsharp.xmlworker.tests/itextsharp.xmlworker.tests(VS2010).csproj b/src/extras/itextsharp.xmlworker.tests/itextsharp.xmlworker.tests(VS2010).csproj index 904b4ba2b..b37020f11 100644 --- a/src/extras/itextsharp.xmlworker.tests/itextsharp.xmlworker.tests(VS2010).csproj +++ b/src/extras/itextsharp.xmlworker.tests/itextsharp.xmlworker.tests(VS2010).csproj @@ -1,5 +1,4 @@ - - + Debug AnyCPU @@ -12,12 +11,16 @@ itextsharp.xmlworker.tests true itextsharp.snk - v2.0 + netstandard2.0 2.0 + $(AssemblyName).portable + iText Group NV + Copyright (c) 1998-2020 iText Group NV + 5.5.13.3 true @@ -57,518 +60,7 @@ AllRules.ruleset - - $(SolutionDir)\packages\NUnit.2.6.2\lib\nunit.framework.dll - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Code - - + @@ -1535,12 +1027,4 @@ - - \ No newline at end of file diff --git a/src/extras/itextsharp.xmlworker/Properties/AssemblyInfo.cs b/src/extras/itextsharp.xmlworker/Properties/AssemblyInfo.cs deleted file mode 100644 index b1f19f1ad..000000000 --- a/src/extras/itextsharp.xmlworker/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,20 +0,0 @@ -using System.Reflection; -using System.Runtime.CompilerServices; -using System.Runtime.InteropServices; - -[assembly: AssemblyTitle("iTextSharp XML Worker")] -[assembly: AssemblyDescription("Parses XML to PDF, with CSS support, using iTextSharp")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("iText Group NV")] -[assembly: AssemblyProduct("itextsharp.xmlworker")] -[assembly: AssemblyCopyright ("Copyright (c) 1998-2022 iText Group NV")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] -[assembly: InternalsVisibleTo("itextsharp.xmlworker.tests, PublicKey=00240000048000009400000006020000002400005253413100040000010001008b21ed5b3fc1c11996390981fe22bbe71a39a9e11d3c2cefddd6ee92920fa871f9666ae0fa941af0280d0653df048ae2d93f8c5e2d820dba3c8df9ed468c8be40a6fffeb32aa481a254f0fb9f37aa7c3ec1c0acd2c009746bbdafcb75bcdbcecb7caf1f0f4b6e7d013906ba60b66eb1c8298e4efb052caf6cece4bf1816902cc"),] - -[assembly: ComVisible(false)] - -[assembly: Guid("12ef9c6c-372c-4ba1-9104-89a92a97ff9a")] - -[assembly: AssemblyVersion("5.5.13.3")] -[assembly: AssemblyInformationalVersion("5.5.13.3")] diff --git a/src/extras/itextsharp.xmlworker/iTextSharp/tool/xml/html/DefaultTagProcessorFactory.cs b/src/extras/itextsharp.xmlworker/iTextSharp/tool/xml/html/DefaultTagProcessorFactory.cs index 6b2305a28..0f1cd4f6b 100644 --- a/src/extras/itextsharp.xmlworker/iTextSharp/tool/xml/html/DefaultTagProcessorFactory.cs +++ b/src/extras/itextsharp.xmlworker/iTextSharp/tool/xml/html/DefaultTagProcessorFactory.cs @@ -126,7 +126,7 @@ public DefaultTagProcessorFactory() { */ protected virtual ITagProcessor Load(String className) { try { - return (ITagProcessor) Activator.CreateInstance(null, className).Unwrap(); + return (ITagProcessor) Activator.CreateInstance(Type.GetType(className)); } catch (Exception e) { throw new NoTagProcessorException(String.Format(LocaleMessages.GetInstance().GetMessage(LocaleMessages.NO_TAGPROCESSOR), className), e); } diff --git a/src/extras/itextsharp.xmlworker/iTextSharp/tool/xml/parser/StateController.cs b/src/extras/itextsharp.xmlworker/iTextSharp/tool/xml/parser/StateController.cs index cb354462d..d54312a72 100644 --- a/src/extras/itextsharp.xmlworker/iTextSharp/tool/xml/parser/StateController.cs +++ b/src/extras/itextsharp.xmlworker/iTextSharp/tool/xml/parser/StateController.cs @@ -40,8 +40,6 @@ source product. For more information, please contact iText Software Corp. at this address: sales@itextpdf.com */ -using System; -using System.Runtime.Remoting.Messaging; using iTextSharp.tool.xml.parser.state; namespace iTextSharp.tool.xml.parser { diff --git a/src/extras/itextsharp.xmlworker/itextsharp.xmlworker(VS2010).csproj b/src/extras/itextsharp.xmlworker/itextsharp.xmlworker(VS2010).csproj index 11a187b62..62f85485e 100644 --- a/src/extras/itextsharp.xmlworker/itextsharp.xmlworker(VS2010).csproj +++ b/src/extras/itextsharp.xmlworker/itextsharp.xmlworker(VS2010).csproj @@ -1,5 +1,4 @@ - - + Debug AnyCPU @@ -13,7 +12,7 @@ itextsharp.xmlworker true itextsharp.snk - v2.0 + netstandard2.0 2.0 @@ -33,6 +32,36 @@ false false true + true + Portable.$(AssemblyName) + + PLEASE NOTE: iTextSharp is EOL, and has been replaced by iText 7. Only security fixes will be added + + We HIGHLY recommend customers use iText 7 for new projects, and to consider moving existing projects from iTextSharp to iText 7 to benefit from the many improvements such as: + - HTML to PDF (PDF/A) conversion + - PDF Redaction + - SVG support + - Better language support (Indic, Thai, Khmer, Arabic, Hebrew) + - PDF Debugging for your IDE + - Data Extraction + - Better continued support and bugfixes + - More modular, extensible handling of your document workflow + - Extra practical add-ons + - Encryption, hashing and digital signatures + + This DEPRECATED tool parses (X)HTML snippets and the associated CSS and converts them to PDF. It is replaced by iText7 pdfHTML addon https://www.nuget.org/packages/itext7.pdfhtml/ and iText 7 Community: https://www.nuget.org/packages/itext7/ + + XMLWorker is an extra component for iTextSharp. The first XML to PDF implementation, is a new version of the old HTMLWorker that used to be shipped with iTextSharp. + + iText Group NV + Copyright (c) 1998-2020 iText Group NV + 5.5.13.3 + iText Software + itext itextsharp c# csharp xml worker pdf html xhtml css + https://itextpdf.com/ + https://itextpdf.com/sites/default/files/ITSC-avatar.png + https://www.gnu.org/licenses/agpl.html + true true @@ -72,171 +101,6 @@ prompt AllRules.ruleset - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Code - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -247,34 +111,11 @@ - - False - .NET Framework 3.5 SP1 Client Profile - false - - - False - .NET Framework 3.5 SP1 - true - - - False - Windows Installer 3.1 - true - - - - - {84C4FDD9-3ED7-453B-B9DA-B3ED52CB071C} - itextsharp%28VS2010%29 - + - - + + + <_Parameter1>itextsharp.xmlworker.tests, PublicKey=00240000048000009400000006020000002400005253413100040000010001008b21ed5b3fc1c11996390981fe22bbe71a39a9e11d3c2cefddd6ee92920fa871f9666ae0fa941af0280d0653df048ae2d93f8c5e2d820dba3c8df9ed468c8be40a6fffeb32aa481a254f0fb9f37aa7c3ec1c0acd2c009746bbdafcb75bcdbcecb7caf1f0f4b6e7d013906ba60b66eb1c8298e4efb052caf6cece4bf1816902cc + + \ No newline at end of file From 4fe98cb8c42cf2d058eeb7f8ca4eb99f085c2baa Mon Sep 17 00:00:00 2001 From: Dmitry Chubrick Date: Thu, 13 Jun 2024 16:09:53 +0300 Subject: [PATCH 2/7] Replace itext7 to itext in README.md --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index c35db343b..59f613e85 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -### **PLEASE NOTE: iTextSharp is EOL, and has been replaced by [iText 7][itext7]. Only security fixes will be added** +### **PLEASE NOTE: iTextSharp is EOL, and has been replaced by [iText 7][itext]. Only security fixes will be added** We HIGHLY recommend customers use iText 7 for new projects, and to consider moving existing projects from iTextSharp to iText 7 to benefit from the many improvements such as: @@ -51,4 +51,4 @@ Contact sales for more info: http://itextpdf.com/sales [building]: BUILDING.md [gratis]: https://en.wikipedia.org/wiki/Gratis_versus_libre [itext]: http://itextpdf.com/ -[itext7]: https://github.com/itext/itext7-dotnet \ No newline at end of file +[itext]: https://github.com/itext/itext-dotnet \ No newline at end of file From f76f859d8ea72c35d0e3df930d216bf7d1b2ff27 Mon Sep 17 00:00:00 2001 From: Daniel Cohen Gindi Date: Sun, 23 Feb 2025 20:21:27 +0200 Subject: [PATCH 3/7] updated to Bouncycastle.Cryptography and .net 8 libs (solve known vulnerabilities) --- .../text/pdf/PdfPublicKeySecurityHandler.cs | 12 +++++----- .../iTextSharp/text/pdf/crypto/AESCipher.cs | 2 +- .../text/pdf/crypto/AESCipherCBCnoPad.cs | 4 ++-- .../text/pdf/security/CertificateUtil.cs | 2 +- .../pdf/security/CertificateVerification.cs | 4 +++- .../pdf/security/OcspClientBouncyCastle.cs | 3 ++- .../text/pdf/security/OcspVerifier.cs | 17 +++++++++----- .../iTextSharp/text/pdf/security/PdfPKCS7.cs | 22 +++++++++++-------- .../text/pdf/security/SignaturePolicyInfo.cs | 2 +- .../iTextSharp/xmp/impl/XmpSerializerRdf.cs | 14 ++++++------ src/core/itextsharp(VS2010).csproj | 6 ++--- .../iTextSharp.xtra(VS2010).csproj | 2 +- .../itextsharp.pdfa.tests(VS2010).csproj | 2 +- .../itextsharp.tests(VS2010).csproj | 4 ++-- .../itextsharp.xmlworker.tests(VS2010).csproj | 2 +- 15 files changed, 56 insertions(+), 42 deletions(-) diff --git a/src/core/iTextSharp/text/pdf/PdfPublicKeySecurityHandler.cs b/src/core/iTextSharp/text/pdf/PdfPublicKeySecurityHandler.cs index 9decfe087..a256ac6db 100644 --- a/src/core/iTextSharp/text/pdf/PdfPublicKeySecurityHandler.cs +++ b/src/core/iTextSharp/text/pdf/PdfPublicKeySecurityHandler.cs @@ -157,11 +157,11 @@ virtual public byte[] GetEncodedRecipient(int index) { Asn1Object obj = CreateDERForRecipient(pkcs7input, certificate); MemoryStream baos = new MemoryStream(); - - DerOutputStream k = new DerOutputStream(baos); - - k.WriteObject(obj); - + + using (var k = Asn1OutputStream.Create(baos, "DER")) + { + k.WriteObject(obj); + } cms = baos.ToArray(); recipient.Cms = cms; @@ -226,7 +226,7 @@ private KeyTransRecipientInfo ComputeRecipientInfo(X509Certificate x509certifica new Org.BouncyCastle.Asn1.Cms.IssuerAndSerialNumber( tbscertificatestructure.Issuer, tbscertificatestructure.SerialNumber.Value); - IBufferedCipher cipher = CipherUtilities.GetCipher(algorithmidentifier.ObjectID); + IBufferedCipher cipher = CipherUtilities.GetCipher(algorithmidentifier.Algorithm.Id); cipher.Init(true, x509certificate.GetPublicKey()); byte[] outp = new byte[10000]; int len = cipher.DoFinal(abyte0, outp, 0); diff --git a/src/core/iTextSharp/text/pdf/crypto/AESCipher.cs b/src/core/iTextSharp/text/pdf/crypto/AESCipher.cs index aa9d9a8a0..f34de489c 100644 --- a/src/core/iTextSharp/text/pdf/crypto/AESCipher.cs +++ b/src/core/iTextSharp/text/pdf/crypto/AESCipher.cs @@ -56,7 +56,7 @@ public class AESCipherCBCnoPad { /** Creates a new instance of AESCipher */ public AESCipherCBCnoPad(bool forEncryption, byte[] key) { - IBlockCipher aes = new AesFastEngine(); + IBlockCipher aes = new AesLightEngine(); cbc = new CbcBlockCipher(aes); KeyParameter kp = new KeyParameter(key); cbc.Init(forEncryption, kp); diff --git a/src/core/iTextSharp/text/pdf/crypto/AESCipherCBCnoPad.cs b/src/core/iTextSharp/text/pdf/crypto/AESCipherCBCnoPad.cs index 7ede57df9..c1a6610c9 100644 --- a/src/core/iTextSharp/text/pdf/crypto/AESCipherCBCnoPad.cs +++ b/src/core/iTextSharp/text/pdf/crypto/AESCipherCBCnoPad.cs @@ -57,9 +57,9 @@ public class AESCipher { /** Creates a new instance of AESCipher */ public AESCipher(bool forEncryption, byte[] key, byte[] iv) { - IBlockCipher aes = new AesFastEngine(); + IBlockCipher aes = new AesLightEngine(); IBlockCipher cbc = new CbcBlockCipher(aes); - bp = new PaddedBufferedBlockCipher(cbc); + bp = new PaddedBufferedBlockCipher(cbc, new Pkcs7Padding()); KeyParameter kp = new KeyParameter(key); ParametersWithIV piv = new ParametersWithIV(kp, iv); bp.Init(forEncryption, piv); diff --git a/src/core/iTextSharp/text/pdf/security/CertificateUtil.cs b/src/core/iTextSharp/text/pdf/security/CertificateUtil.cs index a07eacdbe..96cd07e12 100644 --- a/src/core/iTextSharp/text/pdf/security/CertificateUtil.cs +++ b/src/core/iTextSharp/text/pdf/security/CertificateUtil.cs @@ -136,7 +136,7 @@ public static String GetOCSPURL(X509Certificate certificate) { * @throws IOException */ public static String GetTSAURL(X509Certificate certificate) { - Asn1OctetString octetString = certificate.GetExtensionValue(SecurityIDs.ID_TSA); + Asn1OctetString octetString = certificate.GetExtensionValue(new DerObjectIdentifier(SecurityIDs.ID_TSA)); if (octetString == null) return null; byte[] der = octetString.GetOctets(); diff --git a/src/core/iTextSharp/text/pdf/security/CertificateVerification.cs b/src/core/iTextSharp/text/pdf/security/CertificateVerification.cs index af29850ca..981e78928 100644 --- a/src/core/iTextSharp/text/pdf/security/CertificateVerification.cs +++ b/src/core/iTextSharp/text/pdf/security/CertificateVerification.cs @@ -47,6 +47,7 @@ source product. using Org.BouncyCastle.Tsp; using Org.BouncyCastle.Asn1.X509; using Org.BouncyCastle.Security.Certificates; +using Org.BouncyCastle.Asn1; namespace iTextSharp.text.pdf.security { /** @@ -79,7 +80,8 @@ public static String VerifyCertificate(X509Certificate cert, ICollection(); extensions[OcspObjectIdentifiers.PkixOcspNonce] = new X509Extension(false, new DerOctetString(new DerOctetString(PdfEncryption.CreateDocumentId()).GetEncoded())); diff --git a/src/core/iTextSharp/text/pdf/security/OcspVerifier.cs b/src/core/iTextSharp/text/pdf/security/OcspVerifier.cs index 217898fb9..f07bba6dc 100644 --- a/src/core/iTextSharp/text/pdf/security/OcspVerifier.cs +++ b/src/core/iTextSharp/text/pdf/security/OcspVerifier.cs @@ -51,7 +51,7 @@ source product. using iTextSharp.text.log; using Org.BouncyCastle.Asn1.Ocsp; using Org.BouncyCastle.Security.Certificates; -using Org.BouncyCastle.Utilities.Date; +using Org.BouncyCastle.Asn1; /** * Class that allows you to verify a certificate against @@ -62,7 +62,8 @@ public class OcspVerifier : RootStoreVerifier { /** The Logger instance */ private static ILogger LOGGER = LoggerFactory.GetLogger(typeof(OcspVerifier)); - protected readonly static String id_kp_OCSPSigning = "1.3.6.1.5.5.7.3.9"; + protected readonly static String id_kp_OCSPSigning_Raw = "1.3.6.1.5.5.7.3.9"; + protected static DerObjectIdentifier id_kp_OCSPSigning; /** The list of OCSP responses. */ protected List ocsps; @@ -145,7 +146,7 @@ virtual public bool Verify(BasicOcspResp ocspResp, X509Certificate signCert, X50 continue; } // check if the OCSP response was valid at the time of signing - DateTimeObject nextUpdate = resp[i].NextUpdate; + DateTime? nextUpdate = resp[i].NextUpdate; DateTime nextUpdateDate; if (nextUpdate == null) { nextUpdateDate = resp[i].ThisUpdate.AddSeconds(180); @@ -203,9 +204,15 @@ virtual public void IsValidResponse(BasicOcspResp ocspResp, X509Certificate issu } catch (Exception ex) { continue; } - IList keyPurposes = null; + IList keyPurposes = null; try { keyPurposes = tempCert.GetExtendedKeyUsage(); + if (id_kp_OCSPSigning == null) + { + if (DerObjectIdentifier.TryFromID(id_kp_OCSPSigning_Raw, out var id)) + id_kp_OCSPSigning = id; + } + if ((keyPurposes != null) && keyPurposes.Contains(id_kp_OCSPSigning) && IsSignatureValid(ocspResp, tempCert)) { responderCert = tempCert; break; @@ -247,7 +254,7 @@ virtual public void IsValidResponse(BasicOcspResp ocspResp, X509Certificate issu // validating ocsp signers certificate // Check if responders certificate has id-pkix-ocsp-nocheck extension, // in which case we do not validate (perform revocation check on) ocsp certs for lifetime of certificate - if (responderCert.GetExtensionValue(OcspObjectIdentifiers.PkixOcspNocheck.Id) == null) { + if (responderCert.GetExtensionValue(OcspObjectIdentifiers.PkixOcspNocheck) == null) { X509Crl crl; try { X509CrlParser crlParser = new X509CrlParser(); diff --git a/src/core/iTextSharp/text/pdf/security/PdfPKCS7.cs b/src/core/iTextSharp/text/pdf/security/PdfPKCS7.cs index 07d20e5ba..d6d506006 100644 --- a/src/core/iTextSharp/text/pdf/security/PdfPKCS7.cs +++ b/src/core/iTextSharp/text/pdf/security/PdfPKCS7.cs @@ -305,7 +305,7 @@ public PdfPKCS7(byte[] contentsKey, PdfName filterSubtype) { EssCertIDv2 cerv2 = cerv2m[0]; AlgorithmIdentifier ai2 = cerv2.HashAlgorithm; byte[] enc2 = signCert.GetEncoded(); - IDigest m2 = DigestUtilities.GetDigest(ai2.ObjectID.Id); + IDigest m2 = DigestUtilities.GetDigest(ai2.Algorithm.Id); byte[] signCertHash = DigestAlgorithms.Digest(m2, enc2); byte[] hs2 = cerv2.GetCertHash(); if (!Arrays.AreEqual(signCertHash, hs2)) @@ -605,10 +605,12 @@ virtual public byte[] GetEncodedPKCS1() { else digest = sig.GenerateSignature(); MemoryStream bOut = new MemoryStream(); - - Asn1OutputStream dout = new Asn1OutputStream(bOut); - dout.WriteObject(new DerOctetString(digest)); - dout.Close(); + + using (Asn1OutputStream dout = Asn1OutputStream.Create(bOut)) + { + dout.WriteObject(new DerOctetString(digest)); + dout.Close(); + } return bOut.ToArray(); } @@ -752,10 +754,12 @@ virtual public byte[] GetEncodedPKCS7(byte[] secondDigest, ITSAClient tsaClient, whole.Add(new DerTaggedObject(0, new DerSequence(body))); MemoryStream bOut = new MemoryStream(); - - Asn1OutputStream dout = new Asn1OutputStream(bOut); - dout.WriteObject(new DerSequence(whole)); - dout.Close(); + + using (Asn1OutputStream dout = Asn1OutputStream.Create(bOut)) + { + dout.WriteObject(new DerSequence(whole)); + dout.Close(); + } return bOut.ToArray(); } diff --git a/src/core/iTextSharp/text/pdf/security/SignaturePolicyInfo.cs b/src/core/iTextSharp/text/pdf/security/SignaturePolicyInfo.cs index 0f052943b..4971c5dc4 100644 --- a/src/core/iTextSharp/text/pdf/security/SignaturePolicyInfo.cs +++ b/src/core/iTextSharp/text/pdf/security/SignaturePolicyInfo.cs @@ -118,7 +118,7 @@ protected internal SignaturePolicyIdentifier ToSignaturePolicyIdentifier() { signaturePolicyIdentifier = new SignaturePolicyIdentifier(new SignaturePolicyId( DerObjectIdentifier.GetInstance(new DerObjectIdentifier(this.PolicyIdentifier.Replace("urn:oid:", ""))), - new OtherHashAlgAndValue(new AlgorithmIdentifier(algId), new DerOctetString(this.PolicyHash)), spqi)); + new OtherHashAlgAndValue(new AlgorithmIdentifier(new DerObjectIdentifier(algId)), new DerOctetString(this.PolicyHash)), spqi)); return signaturePolicyIdentifier; } diff --git a/src/core/iTextSharp/xmp/impl/XmpSerializerRdf.cs b/src/core/iTextSharp/xmp/impl/XmpSerializerRdf.cs index 1f3b4b026..3d98e2097 100644 --- a/src/core/iTextSharp/xmp/impl/XmpSerializerRdf.cs +++ b/src/core/iTextSharp/xmp/impl/XmpSerializerRdf.cs @@ -1,9 +1,9 @@ using System.Collections; using System.IO; -using Org.BouncyCastle.Utilities.Collections; using iTextSharp.text.xml.simpleparser; using iTextSharp.text.xml.xmp; using iTextSharp.xmp.options; +using System.Collections.Generic; //Copyright (c) 2006, Adobe Systems Incorporated //All rights reserved. @@ -71,8 +71,8 @@ public class XmpSerializerRdf { /// /// a set of all rdf attribute qualifier - internal static readonly ISet RDF_ATTR_QUALIFIER = - new HashSet(new string[] {XmpConst.XML_LANG, "rdf:resource", "rdf:ID", "rdf:bagID", "rdf:nodeID"}); + internal static readonly HashSet RDF_ATTR_QUALIFIER = + new HashSet { XmpConst.XML_LANG, "rdf:resource", "rdf:ID", "rdf:bagID", "rdf:nodeID" }; /// /// the stored serialization options @@ -339,7 +339,7 @@ private void SerializeCompactRdfSchemas(int level) { WriteTreeName(); // Write all necessary xmlns attributes. - ISet usedPrefixes = new HashSet(); + var usedPrefixes = new HashSet(); usedPrefixes.Add("xml"); usedPrefixes.Add("rdf"); @@ -739,7 +739,7 @@ private void SerializeCanonicalRdfSchema(XmpNode schemaNode, int level) { /// a set containing currently used prefixes /// the current indent level /// Forwards all writer exceptions. - private void DeclareUsedNamespaces(XmpNode node, ISet usedPrefixes, int indent) { + private void DeclareUsedNamespaces(XmpNode node, HashSet usedPrefixes, int indent) { if (node.Options.SchemaNode) { // The schema node name is the URI, the value is the prefix. string prefix = node.Value.Substring(0, node.Value.Length - 1); @@ -778,7 +778,7 @@ private void DeclareUsedNamespaces(XmpNode node, ISet usedPrefixes, int indent) /// a set containing currently used prefixes /// the current indent level /// Forwards all writer exceptions. - private void DeclareNamespace(string prefix, string @namespace, ISet usedPrefixes, int indent) { + private void DeclareNamespace(string prefix, string @namespace, HashSet usedPrefixes, int indent) { if (@namespace == null) { // prefix contains qname, extract prefix and lookup namespace with prefix QName qname = new QName(prefix); @@ -817,7 +817,7 @@ private void StartOuterRdfDescription(XmpNode schemaNode, int level) { Write(RDF_SCHEMA_START); WriteTreeName(); - ISet usedPrefixes = new HashSet(); + var usedPrefixes = new HashSet(); usedPrefixes.Add("xml"); usedPrefixes.Add("rdf"); diff --git a/src/core/itextsharp(VS2010).csproj b/src/core/itextsharp(VS2010).csproj index c5ec1e9f6..9e8930b9a 100644 --- a/src/core/itextsharp(VS2010).csproj +++ b/src/core/itextsharp(VS2010).csproj @@ -169,9 +169,9 @@ Several iText engineers are actively supporting the project on StackOverflow: ht AllRules.ruleset - - - + + + diff --git a/src/extras/iTextSharp.xtra/iTextSharp.xtra(VS2010).csproj b/src/extras/iTextSharp.xtra/iTextSharp.xtra(VS2010).csproj index 7aacc3a55..8ab154a5b 100644 --- a/src/extras/iTextSharp.xtra/iTextSharp.xtra(VS2010).csproj +++ b/src/extras/iTextSharp.xtra/iTextSharp.xtra(VS2010).csproj @@ -66,7 +66,7 @@ AllRules.ruleset - + diff --git a/src/extras/itextsharp.pdfa.tests/itextsharp.pdfa.tests(VS2010).csproj b/src/extras/itextsharp.pdfa.tests/itextsharp.pdfa.tests(VS2010).csproj index 918a5f3bc..91ba82613 100644 --- a/src/extras/itextsharp.pdfa.tests/itextsharp.pdfa.tests(VS2010).csproj +++ b/src/extras/itextsharp.pdfa.tests/itextsharp.pdfa.tests(VS2010).csproj @@ -75,7 +75,7 @@ AllRules.ruleset - + diff --git a/src/extras/itextsharp.tests/itextsharp.tests(VS2010).csproj b/src/extras/itextsharp.tests/itextsharp.tests(VS2010).csproj index 50dcae7ed..f98045fc2 100644 --- a/src/extras/itextsharp.tests/itextsharp.tests(VS2010).csproj +++ b/src/extras/itextsharp.tests/itextsharp.tests(VS2010).csproj @@ -70,8 +70,8 @@ - - + + diff --git a/src/extras/itextsharp.xmlworker.tests/itextsharp.xmlworker.tests(VS2010).csproj b/src/extras/itextsharp.xmlworker.tests/itextsharp.xmlworker.tests(VS2010).csproj index b37020f11..50e9ebb0a 100644 --- a/src/extras/itextsharp.xmlworker.tests/itextsharp.xmlworker.tests(VS2010).csproj +++ b/src/extras/itextsharp.xmlworker.tests/itextsharp.xmlworker.tests(VS2010).csproj @@ -60,7 +60,7 @@ AllRules.ruleset - + From 94c867f0e3859cfe77a4a848225f82e6639e6168 Mon Sep 17 00:00:00 2001 From: Daniel Cohen Gindi Date: Sun, 23 Feb 2025 20:37:53 +0200 Subject: [PATCH 4/7] updated configuration --- src/BuildAll(VS2010).sln | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/src/BuildAll(VS2010).sln b/src/BuildAll(VS2010).sln index 4845f1815..5a81f7d05 100644 --- a/src/BuildAll(VS2010).sln +++ b/src/BuildAll(VS2010).sln @@ -1,7 +1,7 @@  -Microsoft Visual Studio Solution File, Format Version 11.00 -# Visual Studio 2013 -VisualStudioVersion = 12.0.21005.1 +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.11.35312.102 MinimumVisualStudioVersion = 10.0.40219.1 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "itextsharp(VS2010)", "core\itextsharp(VS2010).csproj", "{84C4FDD9-3ED7-453B-B9DA-B3ED52CB071C}" EndProject @@ -35,24 +35,24 @@ Global {84C4FDD9-3ED7-453B-B9DA-B3ED52CB071C}.Debug_woDrawing|Any CPU.Build.0 = Debug_woDrawing|Any CPU {84C4FDD9-3ED7-453B-B9DA-B3ED52CB071C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {84C4FDD9-3ED7-453B-B9DA-B3ED52CB071C}.Debug|Any CPU.Build.0 = Debug|Any CPU - {84C4FDD9-3ED7-453B-B9DA-B3ED52CB071C}.Release_woDrawing|Any CPU.ActiveCfg = Release_woDrawing|Any CPU - {84C4FDD9-3ED7-453B-B9DA-B3ED52CB071C}.Release_woDrawing|Any CPU.Build.0 = Release_woDrawing|Any CPU + {84C4FDD9-3ED7-453B-B9DA-B3ED52CB071C}.Release_woDrawing|Any CPU.ActiveCfg = Release|Any CPU + {84C4FDD9-3ED7-453B-B9DA-B3ED52CB071C}.Release_woDrawing|Any CPU.Build.0 = Release|Any CPU {84C4FDD9-3ED7-453B-B9DA-B3ED52CB071C}.Release|Any CPU.ActiveCfg = Release|Any CPU {84C4FDD9-3ED7-453B-B9DA-B3ED52CB071C}.Release|Any CPU.Build.0 = Release|Any CPU {63217779-2BD4-45B5-993C-2696F6EF5BBC}.Debug_woDrawing|Any CPU.ActiveCfg = Debug_woDrawing|Any CPU {63217779-2BD4-45B5-993C-2696F6EF5BBC}.Debug_woDrawing|Any CPU.Build.0 = Debug_woDrawing|Any CPU {63217779-2BD4-45B5-993C-2696F6EF5BBC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {63217779-2BD4-45B5-993C-2696F6EF5BBC}.Debug|Any CPU.Build.0 = Debug|Any CPU - {63217779-2BD4-45B5-993C-2696F6EF5BBC}.Release_woDrawing|Any CPU.ActiveCfg = Release_woDrawing|Any CPU - {63217779-2BD4-45B5-993C-2696F6EF5BBC}.Release_woDrawing|Any CPU.Build.0 = Release_woDrawing|Any CPU + {63217779-2BD4-45B5-993C-2696F6EF5BBC}.Release_woDrawing|Any CPU.ActiveCfg = Release|Any CPU + {63217779-2BD4-45B5-993C-2696F6EF5BBC}.Release_woDrawing|Any CPU.Build.0 = Release|Any CPU {63217779-2BD4-45B5-993C-2696F6EF5BBC}.Release|Any CPU.ActiveCfg = Release|Any CPU {63217779-2BD4-45B5-993C-2696F6EF5BBC}.Release|Any CPU.Build.0 = Release|Any CPU {96647204-4A3E-41D7-BC74-B1608D6D1857}.Debug_woDrawing|Any CPU.ActiveCfg = Debug_woDrawing|Any CPU {96647204-4A3E-41D7-BC74-B1608D6D1857}.Debug_woDrawing|Any CPU.Build.0 = Debug_woDrawing|Any CPU {96647204-4A3E-41D7-BC74-B1608D6D1857}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {96647204-4A3E-41D7-BC74-B1608D6D1857}.Debug|Any CPU.Build.0 = Debug|Any CPU - {96647204-4A3E-41D7-BC74-B1608D6D1857}.Release_woDrawing|Any CPU.ActiveCfg = Release_woDrawing|Any CPU - {96647204-4A3E-41D7-BC74-B1608D6D1857}.Release_woDrawing|Any CPU.Build.0 = Release_woDrawing|Any CPU + {96647204-4A3E-41D7-BC74-B1608D6D1857}.Release_woDrawing|Any CPU.ActiveCfg = Release|Any CPU + {96647204-4A3E-41D7-BC74-B1608D6D1857}.Release_woDrawing|Any CPU.Build.0 = Release|Any CPU {96647204-4A3E-41D7-BC74-B1608D6D1857}.Release|Any CPU.ActiveCfg = Release|Any CPU {96647204-4A3E-41D7-BC74-B1608D6D1857}.Release|Any CPU.Build.0 = Release|Any CPU {BE1934CF-90A9-43D3-A794-7E540874EDBB}.Debug_woDrawing|Any CPU.ActiveCfg = Debug|Any CPU @@ -67,32 +67,30 @@ Global {2F467830-A94B-4C44-B17B-0A81CBDB8CB2}.Debug_woDrawing|Any CPU.Build.0 = Debug_woDrawing|Any CPU {2F467830-A94B-4C44-B17B-0A81CBDB8CB2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {2F467830-A94B-4C44-B17B-0A81CBDB8CB2}.Debug|Any CPU.Build.0 = Debug|Any CPU - {2F467830-A94B-4C44-B17B-0A81CBDB8CB2}.Release_woDrawing|Any CPU.ActiveCfg = Release_woDrawing|Any CPU - {2F467830-A94B-4C44-B17B-0A81CBDB8CB2}.Release_woDrawing|Any CPU.Build.0 = Release_woDrawing|Any CPU + {2F467830-A94B-4C44-B17B-0A81CBDB8CB2}.Release_woDrawing|Any CPU.ActiveCfg = Release|Any CPU + {2F467830-A94B-4C44-B17B-0A81CBDB8CB2}.Release_woDrawing|Any CPU.Build.0 = Release|Any CPU {2F467830-A94B-4C44-B17B-0A81CBDB8CB2}.Release|Any CPU.ActiveCfg = Release|Any CPU {2F467830-A94B-4C44-B17B-0A81CBDB8CB2}.Release|Any CPU.Build.0 = Release|Any CPU {C892FA61-C495-4F30-8799-A198F89F23F4}.Debug_woDrawing|Any CPU.ActiveCfg = Debug_woDrawing|Any CPU {C892FA61-C495-4F30-8799-A198F89F23F4}.Debug_woDrawing|Any CPU.Build.0 = Debug_woDrawing|Any CPU {C892FA61-C495-4F30-8799-A198F89F23F4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {C892FA61-C495-4F30-8799-A198F89F23F4}.Debug|Any CPU.Build.0 = Debug|Any CPU - {C892FA61-C495-4F30-8799-A198F89F23F4}.Release_woDrawing|Any CPU.ActiveCfg = Release_woDrawing|Any CPU - {C892FA61-C495-4F30-8799-A198F89F23F4}.Release_woDrawing|Any CPU.Build.0 = Release_woDrawing|Any CPU + {C892FA61-C495-4F30-8799-A198F89F23F4}.Release_woDrawing|Any CPU.ActiveCfg = Release|Any CPU + {C892FA61-C495-4F30-8799-A198F89F23F4}.Release_woDrawing|Any CPU.Build.0 = Release|Any CPU {C892FA61-C495-4F30-8799-A198F89F23F4}.Release|Any CPU.ActiveCfg = Release|Any CPU {C892FA61-C495-4F30-8799-A198F89F23F4}.Release|Any CPU.Build.0 = Release|Any CPU {D533E5BC-52BF-43DE-8C8E-1FB41C0CB78E}.Debug_woDrawing|Any CPU.ActiveCfg = Debug_woDrawing|Any CPU {D533E5BC-52BF-43DE-8C8E-1FB41C0CB78E}.Debug_woDrawing|Any CPU.Build.0 = Debug_woDrawing|Any CPU {D533E5BC-52BF-43DE-8C8E-1FB41C0CB78E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {D533E5BC-52BF-43DE-8C8E-1FB41C0CB78E}.Debug|Any CPU.Build.0 = Debug|Any CPU - {D533E5BC-52BF-43DE-8C8E-1FB41C0CB78E}.Release_woDrawing|Any CPU.ActiveCfg = Release_woDrawing|Any CPU - {D533E5BC-52BF-43DE-8C8E-1FB41C0CB78E}.Release_woDrawing|Any CPU.Build.0 = Release_woDrawing|Any CPU + {D533E5BC-52BF-43DE-8C8E-1FB41C0CB78E}.Release_woDrawing|Any CPU.ActiveCfg = Release|Any CPU {D533E5BC-52BF-43DE-8C8E-1FB41C0CB78E}.Release|Any CPU.ActiveCfg = Release|Any CPU {D533E5BC-52BF-43DE-8C8E-1FB41C0CB78E}.Release|Any CPU.Build.0 = Release|Any CPU {67AA00E9-15AF-4592-8119-110C8CBD1E31}.Debug_woDrawing|Any CPU.ActiveCfg = Debug_woDrawing|Any CPU {67AA00E9-15AF-4592-8119-110C8CBD1E31}.Debug_woDrawing|Any CPU.Build.0 = Debug_woDrawing|Any CPU {67AA00E9-15AF-4592-8119-110C8CBD1E31}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {67AA00E9-15AF-4592-8119-110C8CBD1E31}.Debug|Any CPU.Build.0 = Debug|Any CPU - {67AA00E9-15AF-4592-8119-110C8CBD1E31}.Release_woDrawing|Any CPU.ActiveCfg = Release_woDrawing|Any CPU - {67AA00E9-15AF-4592-8119-110C8CBD1E31}.Release_woDrawing|Any CPU.Build.0 = Release_woDrawing|Any CPU + {67AA00E9-15AF-4592-8119-110C8CBD1E31}.Release_woDrawing|Any CPU.ActiveCfg = Debug|Any CPU {67AA00E9-15AF-4592-8119-110C8CBD1E31}.Release|Any CPU.ActiveCfg = Release|Any CPU {67AA00E9-15AF-4592-8119-110C8CBD1E31}.Release|Any CPU.Build.0 = Release|Any CPU {4CC217F8-36B2-4753-ACD7-733AB1C60FB0}.Debug_woDrawing|Any CPU.ActiveCfg = Debug_woDrawing|Any CPU @@ -100,7 +98,6 @@ Global {4CC217F8-36B2-4753-ACD7-733AB1C60FB0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {4CC217F8-36B2-4753-ACD7-733AB1C60FB0}.Debug|Any CPU.Build.0 = Debug|Any CPU {4CC217F8-36B2-4753-ACD7-733AB1C60FB0}.Release_woDrawing|Any CPU.ActiveCfg = Release_woDrawing|Any CPU - {4CC217F8-36B2-4753-ACD7-733AB1C60FB0}.Release_woDrawing|Any CPU.Build.0 = Release_woDrawing|Any CPU {4CC217F8-36B2-4753-ACD7-733AB1C60FB0}.Release|Any CPU.ActiveCfg = Release|Any CPU {4CC217F8-36B2-4753-ACD7-733AB1C60FB0}.Release|Any CPU.Build.0 = Release|Any CPU {B8A96D47-4027-491B-8E78-ADE658E5BA9F}.Debug_woDrawing|Any CPU.ActiveCfg = Debug|Any CPU @@ -115,4 +112,7 @@ Global GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {B725F951-8689-4DB7-B5FE-7037C38AD8D8} + EndGlobalSection EndGlobal From a6b46fe68a081db6d8e52671b2e527a91a2a852d Mon Sep 17 00:00:00 2001 From: Daniel Cohen Gindi Date: Sun, 23 Feb 2025 20:41:47 +0200 Subject: [PATCH 5/7] cleaned output paths in csproj --- src/core/itextsharp(VS2010).csproj | 8 ++++---- src/extras/iTextAsian/iTextAsian(VS2010).csproj | 8 ++++---- src/extras/iTextSharp.xtra/iTextSharp.xtra(VS2010).csproj | 4 ++-- src/extras/itext-hyph-xml/itext-hyph-xml(VS2010).csproj | 8 ++++---- .../itextsharp.pdfa.tests(VS2010).csproj | 8 ++++---- src/extras/itextsharp.pdfa/itextsharp.pdfa(VS2010).csproj | 8 ++++---- .../itextsharp.sandbox/itextsharp.sandbox(VS2010).csproj | 4 ++-- .../itextsharp.tests/itextsharp.tests(VS2010).csproj | 8 ++++---- .../itextsharp.xmlworker.tests(VS2010).csproj | 8 ++++---- .../itextsharp.xmlworker(VS2010).csproj | 8 ++++---- 10 files changed, 36 insertions(+), 36 deletions(-) diff --git a/src/core/itextsharp(VS2010).csproj b/src/core/itextsharp(VS2010).csproj index f262f8c10..1d436b06c 100644 --- a/src/core/itextsharp(VS2010).csproj +++ b/src/core/itextsharp(VS2010).csproj @@ -81,7 +81,7 @@ Several iText engineers are actively supporting the project on StackOverflow: ht true - bin\Debug\net461\ + bin\Debug\ false 285212672 false @@ -103,7 +103,7 @@ Several iText engineers are actively supporting the project on StackOverflow: ht AllRules.ruleset - bin\Debug_woDrawing\net461\ + bin\Debug_woDrawing\ false 285212672 false @@ -125,7 +125,7 @@ Several iText engineers are actively supporting the project on StackOverflow: ht AllRules.ruleset - bin\Release\net461\ + bin\Release\ false 285212672 false @@ -147,7 +147,7 @@ Several iText engineers are actively supporting the project on StackOverflow: ht AllRules.ruleset - bin\Release_woDrawing\net461\ + bin\Release_woDrawing\ false 285212672 false diff --git a/src/extras/iTextAsian/iTextAsian(VS2010).csproj b/src/extras/iTextAsian/iTextAsian(VS2010).csproj index ca488e0ba..fd3c09f3c 100644 --- a/src/extras/iTextAsian/iTextAsian(VS2010).csproj +++ b/src/extras/iTextAsian/iTextAsian(VS2010).csproj @@ -72,7 +72,7 @@ true - bin\Debug\net461\ + bin\Debug\ false 285212672 false @@ -96,7 +96,7 @@ AllRules.ruleset - bin\Release\net461\ + bin\Release\ false 285212672 false @@ -120,7 +120,7 @@ AllRules.ruleset - bin\Debug_woDrawing\net461\ + bin\Debug_woDrawing\ false 285212672 false @@ -145,7 +145,7 @@ true - bin\Release_woDrawing\net461\ + bin\Release_woDrawing\ DEBUG;TRACE 285212672 4096 diff --git a/src/extras/iTextSharp.xtra/iTextSharp.xtra(VS2010).csproj b/src/extras/iTextSharp.xtra/iTextSharp.xtra(VS2010).csproj index 10d690d06..bab3b06d7 100644 --- a/src/extras/iTextSharp.xtra/iTextSharp.xtra(VS2010).csproj +++ b/src/extras/iTextSharp.xtra/iTextSharp.xtra(VS2010).csproj @@ -50,7 +50,7 @@ true full false - bin\Debug\net461\ + bin\Debug\ DEBUG;TRACE prompt 4 @@ -59,7 +59,7 @@ pdbonly true - bin\Release\net461\ + bin\Release\ TRACE prompt 4 diff --git a/src/extras/itext-hyph-xml/itext-hyph-xml(VS2010).csproj b/src/extras/itext-hyph-xml/itext-hyph-xml(VS2010).csproj index 63ad1ffcd..fa353760f 100644 --- a/src/extras/itext-hyph-xml/itext-hyph-xml(VS2010).csproj +++ b/src/extras/itext-hyph-xml/itext-hyph-xml(VS2010).csproj @@ -57,7 +57,7 @@ true - bin\Debug\net461\ + bin\Debug\ false 285212672 false @@ -81,7 +81,7 @@ AllRules.ruleset - bin\Release\net461\ + bin\Release\ false 285212672 false @@ -106,7 +106,7 @@ true - bin\Debug_woDrawing\net461\ + bin\Debug_woDrawing\ DEBUG;TRACE 285212672 4096 @@ -123,7 +123,7 @@ true - bin\Release_woDrawing\net461\ + bin\Release_woDrawing\ TRACE 285212672 true diff --git a/src/extras/itextsharp.pdfa.tests/itextsharp.pdfa.tests(VS2010).csproj b/src/extras/itextsharp.pdfa.tests/itextsharp.pdfa.tests(VS2010).csproj index 267151d66..1e40b450e 100644 --- a/src/extras/itextsharp.pdfa.tests/itextsharp.pdfa.tests(VS2010).csproj +++ b/src/extras/itextsharp.pdfa.tests/itextsharp.pdfa.tests(VS2010).csproj @@ -40,7 +40,7 @@ true full false - bin\Debug\net461\ + bin\Debug\ DEBUG;TRACE;DRAWING prompt 4 @@ -49,7 +49,7 @@ pdbonly true - bin\Release\net461\ + bin\Release\ TRACE;DRAWING prompt 4 @@ -59,14 +59,14 @@ true full false - bin\Debug_woDrawing\net461\ + bin\Debug_woDrawing\ DEBUG;TRACE prompt 4 AllRules.ruleset - bin\Release_woDrawing\net461\ + bin\Release_woDrawing\ TRACE true pdbonly diff --git a/src/extras/itextsharp.pdfa/itextsharp.pdfa(VS2010).csproj b/src/extras/itextsharp.pdfa/itextsharp.pdfa(VS2010).csproj index 9e96ff38d..653b7100b 100644 --- a/src/extras/itextsharp.pdfa/itextsharp.pdfa(VS2010).csproj +++ b/src/extras/itextsharp.pdfa/itextsharp.pdfa(VS2010).csproj @@ -66,7 +66,7 @@ true full false - bin\Debug\net461\ + bin\Debug\ DEBUG;TRACE prompt 4 @@ -75,7 +75,7 @@ pdbonly true - bin\Release\net461\ + bin\Release\ TRACE prompt 4 @@ -85,14 +85,14 @@ true full false - bin\Debug_woDrawing\net461\ + bin\Debug_woDrawing\ DEBUG;TRACE prompt 4 AllRules.ruleset - bin\Release_woDrawing\net461\ + bin\Release_woDrawing\ TRACE true pdbonly diff --git a/src/extras/itextsharp.sandbox/itextsharp.sandbox(VS2010).csproj b/src/extras/itextsharp.sandbox/itextsharp.sandbox(VS2010).csproj index ee9f9401c..6c1cacf80 100644 --- a/src/extras/itextsharp.sandbox/itextsharp.sandbox(VS2010).csproj +++ b/src/extras/itextsharp.sandbox/itextsharp.sandbox(VS2010).csproj @@ -25,7 +25,7 @@ true full false - bin\Debug\net461\ + bin\Debug\ DEBUG;TRACE prompt 4 @@ -34,7 +34,7 @@ AnyCPU pdbonly true - bin\Release\net461\ + bin\Release\ TRACE prompt 4 diff --git a/src/extras/itextsharp.tests/itextsharp.tests(VS2010).csproj b/src/extras/itextsharp.tests/itextsharp.tests(VS2010).csproj index dcccc7d54..7fac5da06 100644 --- a/src/extras/itextsharp.tests/itextsharp.tests(VS2010).csproj +++ b/src/extras/itextsharp.tests/itextsharp.tests(VS2010).csproj @@ -24,7 +24,7 @@ true full false - bin\Debug\net461\ + bin\Debug\ DEBUG;TRACE;DRAWING prompt 4 @@ -33,7 +33,7 @@ pdbonly true - bin\Release\net461\ + bin\Release\ TRACE;DRAWING prompt 4 @@ -49,14 +49,14 @@ true full false - bin\Debug_woDrawing\net461\ + bin\Debug_woDrawing\ DEBUG;TRACE prompt 4 AllRules.ruleset - bin\Release_woDrawing\net461\ + bin\Release_woDrawing\ TRACE true pdbonly diff --git a/src/extras/itextsharp.xmlworker.tests/itextsharp.xmlworker.tests(VS2010).csproj b/src/extras/itextsharp.xmlworker.tests/itextsharp.xmlworker.tests(VS2010).csproj index e8f2949c4..a6f63332d 100644 --- a/src/extras/itextsharp.xmlworker.tests/itextsharp.xmlworker.tests(VS2010).csproj +++ b/src/extras/itextsharp.xmlworker.tests/itextsharp.xmlworker.tests(VS2010).csproj @@ -26,7 +26,7 @@ true full false - bin\Debug\net461\ + bin\Debug\ DEBUG;TRACE;DRAWING prompt 4 @@ -35,14 +35,14 @@ pdbonly true - bin\Release\net461\ + bin\Release\ TRACE;DRAWING prompt 4 AllRules.ruleset - bin\Release_woDrawing\net461\ + bin\Release_woDrawing\ TRACE true pdbonly @@ -52,7 +52,7 @@ true - bin\Debug_woDrawing\net461\ + bin\Debug_woDrawing\ DEBUG;TRACE full AnyCPU diff --git a/src/extras/itextsharp.xmlworker/itextsharp.xmlworker(VS2010).csproj b/src/extras/itextsharp.xmlworker/itextsharp.xmlworker(VS2010).csproj index 5137cce01..e53112149 100644 --- a/src/extras/itextsharp.xmlworker/itextsharp.xmlworker(VS2010).csproj +++ b/src/extras/itextsharp.xmlworker/itextsharp.xmlworker(VS2010).csproj @@ -67,7 +67,7 @@ true full false - bin\Debug\net461\ + bin\Debug\ DEBUG;TRACE prompt 4 @@ -76,7 +76,7 @@ pdbonly true - bin\Release\net461\ + bin\Release\ TRACE prompt 4 @@ -86,14 +86,14 @@ true full false - bin\Debug_woDrawing\net461\ + bin\Debug_woDrawing\ DEBUG;TRACE prompt 4 AllRules.ruleset - bin\Release_woDrawing\net461\ + bin\Release_woDrawing\ TRACE true pdbonly From 06fc5f7f52acfe8d567bf4a1a060f80b85335d97 Mon Sep 17 00:00:00 2001 From: Daniel Cohen Gindi Date: Mon, 5 May 2025 00:36:18 +0300 Subject: [PATCH 6/7] [fix] corrected recursive font register --- src/core/iTextSharp/text/FontFactoryImp.cs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/core/iTextSharp/text/FontFactoryImp.cs b/src/core/iTextSharp/text/FontFactoryImp.cs index cea3ed016..a57352bce 100644 --- a/src/core/iTextSharp/text/FontFactoryImp.cs +++ b/src/core/iTextSharp/text/FontFactoryImp.cs @@ -527,7 +527,8 @@ virtual public int RegisterDirectory(String dir, bool scanSubdirectories) { try { if (!Directory.Exists(dir)) return 0; - string[] files = Directory.GetFiles(dir); + + string[] files = Directory.GetFileSystemEntries(dir); if (files == null) return 0; for (int k = 0; k < files.Length; ++k) { From 7772f27276cf4c731a4b3af983f862416d995033 Mon Sep 17 00:00:00 2001 From: Daniel Cohen Gindi Date: Mon, 5 May 2025 00:37:55 +0300 Subject: [PATCH 7/7] 5.5.13.5 --- src/core/iTextSharp/text/Version.cs | 2 +- src/core/itextsharp(VS2010).csproj | 2 +- src/extras/iTextSharp.xtra/iTextSharp.xtra(VS2010).csproj | 2 +- .../itextsharp.pdfa.tests/itextsharp.pdfa.tests(VS2010).csproj | 2 +- src/extras/itextsharp.pdfa/itextsharp.pdfa(VS2010).csproj | 2 +- src/extras/itextsharp.tests/itextsharp.tests(VS2010).csproj | 2 +- .../itextsharp.xmlworker.tests(VS2010).csproj | 2 +- .../itextsharp.xmlworker/itextsharp.xmlworker(VS2010).csproj | 2 +- 8 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/core/iTextSharp/text/Version.cs b/src/core/iTextSharp/text/Version.cs index a84a9c3e2..668556367 100644 --- a/src/core/iTextSharp/text/Version.cs +++ b/src/core/iTextSharp/text/Version.cs @@ -77,7 +77,7 @@ public sealed class Version { * This String contains the version number of this iText release. * For debugging purposes, we request you NOT to change this constant. */ - private const String release = "5.5.13.4"; + private const String release = "5.5.13.5"; /** * This String contains the iText version as shown in the producer line. diff --git a/src/core/itextsharp(VS2010).csproj b/src/core/itextsharp(VS2010).csproj index 1d436b06c..602926f64 100644 --- a/src/core/itextsharp(VS2010).csproj +++ b/src/core/itextsharp(VS2010).csproj @@ -72,7 +72,7 @@ Several iText engineers are actively supporting the project on StackOverflow: ht iText Group NV iTextSharp Copyright (c) 1998-2020 iText Group NV - 5.5.13.4 + 5.5.13.5 iText Software itext itextsharp c# .net csharp pdf https://itextpdf.com/ diff --git a/src/extras/iTextSharp.xtra/iTextSharp.xtra(VS2010).csproj b/src/extras/iTextSharp.xtra/iTextSharp.xtra(VS2010).csproj index bab3b06d7..84d3df4bc 100644 --- a/src/extras/iTextSharp.xtra/iTextSharp.xtra(VS2010).csproj +++ b/src/extras/iTextSharp.xtra/iTextSharp.xtra(VS2010).csproj @@ -38,7 +38,7 @@ iText Group NV iTextSharp.xtra Copyright (c) 1998-2020 iText Group NV - 5.5.13.4 + 5.5.13.5 iText Software itext itextsharp c# csharp .net pdf https://itextpdf.com/ diff --git a/src/extras/itextsharp.pdfa.tests/itextsharp.pdfa.tests(VS2010).csproj b/src/extras/itextsharp.pdfa.tests/itextsharp.pdfa.tests(VS2010).csproj index 1e40b450e..21ed3b069 100644 --- a/src/extras/itextsharp.pdfa.tests/itextsharp.pdfa.tests(VS2010).csproj +++ b/src/extras/itextsharp.pdfa.tests/itextsharp.pdfa.tests(VS2010).csproj @@ -34,7 +34,7 @@ $(AssemblyName).portable iText Group NV Copyright (c) 1998-2020 iText Group NV - 5.5.13.4 + 5.5.13.5 true diff --git a/src/extras/itextsharp.pdfa/itextsharp.pdfa(VS2010).csproj b/src/extras/itextsharp.pdfa/itextsharp.pdfa(VS2010).csproj index 653b7100b..1bbc06508 100644 --- a/src/extras/itextsharp.pdfa/itextsharp.pdfa(VS2010).csproj +++ b/src/extras/itextsharp.pdfa/itextsharp.pdfa(VS2010).csproj @@ -54,7 +54,7 @@ iText Group NV iTextSharp.pdfa Copyright (c) 1998-2020 iText Group NV - 5.5.13.4 + 5.5.13.5 iText Software itext itextsharp c# csharp .net pdf pdfa https://itextpdf.com/ diff --git a/src/extras/itextsharp.tests/itextsharp.tests(VS2010).csproj b/src/extras/itextsharp.tests/itextsharp.tests(VS2010).csproj index 7fac5da06..32d8f7ba3 100644 --- a/src/extras/itextsharp.tests/itextsharp.tests(VS2010).csproj +++ b/src/extras/itextsharp.tests/itextsharp.tests(VS2010).csproj @@ -18,7 +18,7 @@ $(AssemblyName).portable iText Group NV Copyright (c) 1998-2020 iText Group NV - 5.5.13.4 + 5.5.13.5 true diff --git a/src/extras/itextsharp.xmlworker.tests/itextsharp.xmlworker.tests(VS2010).csproj b/src/extras/itextsharp.xmlworker.tests/itextsharp.xmlworker.tests(VS2010).csproj index a6f63332d..03e63fabc 100644 --- a/src/extras/itextsharp.xmlworker.tests/itextsharp.xmlworker.tests(VS2010).csproj +++ b/src/extras/itextsharp.xmlworker.tests/itextsharp.xmlworker.tests(VS2010).csproj @@ -20,7 +20,7 @@ $(AssemblyName).portable iText Group NV Copyright (c) 1998-2020 iText Group NV - 5.5.13.4 + 5.5.13.5 true diff --git a/src/extras/itextsharp.xmlworker/itextsharp.xmlworker(VS2010).csproj b/src/extras/itextsharp.xmlworker/itextsharp.xmlworker(VS2010).csproj index e53112149..2ec3bf373 100644 --- a/src/extras/itextsharp.xmlworker/itextsharp.xmlworker(VS2010).csproj +++ b/src/extras/itextsharp.xmlworker/itextsharp.xmlworker(VS2010).csproj @@ -55,7 +55,7 @@ iText Group NV Copyright (c) 1998-2020 iText Group NV - 5.5.13.4 + 5.5.13.5 iText Software itext itextsharp c# csharp xml worker pdf html xhtml css https://itextpdf.com/