From d9d7d1769a820b8cedc1ed70357af70659cd8b6e Mon Sep 17 00:00:00 2001 From: =?utf8?q?Uwe=20St=C3=B6hr?= Date: Tue, 15 May 2007 01:31:19 +0000 Subject: [PATCH] installer: - updates - new script to be able to build all installer version at once via e.g. SCons - updated to MiKTeX 2.6 -> lots of changes in the recognition of the LaTeX-distributions - fix uninstalling bug - added readme for the Update Installer git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18326 a592a061-630c-0410-9148-cb99ea01b6c8 --- .../installer/LyXWinInstaller/Build-all.nsi | 23 +++ .../installer/LyXWinInstaller/ChangeLog.txt | 8 +- .../InstallActions-complete.nsh | 43 +---- .../LyXWinInstaller/InstallActions-small.nsh | 4 - .../LyXWinInstaller/InstallActions-update.nsh | 6 +- .../installer/LyXWinInstaller/LaTeX.nsh | 154 +++++++++++++++--- .../LyXWinInstaller/LyXInstaller-complete.nsi | 2 - .../LyXWinInstaller/LyXInstaller-small.nsi | 2 - .../LyXWinInstaller/LyXInstaller-update.nsi | 2 - .../LyXWinInstaller/ReadmeComplete1.5.txt | 2 +- .../LyXWinInstaller/ReadmeSmall1.5.txt | 2 +- .../LyXWinInstaller/ReadmeUpdate1.5.txt | 32 ++++ .../installer/LyXWinInstaller/Settings.nsh | 15 +- .../installer/LyXWinInstaller/Uninstall.nsh | 13 +- .../installer/LyXWinInstaller/Updated.nsh | 2 + .../informations/InstallerStructure.odg | Bin 15177 -> 15809 bytes .../informations/InstallerStructure.pdf | Bin 29881 -> 30833 bytes 17 files changed, 210 insertions(+), 100 deletions(-) create mode 100644 development/Win32/packaging/installer/LyXWinInstaller/Build-all.nsi create mode 100644 development/Win32/packaging/installer/LyXWinInstaller/ReadmeUpdate1.5.txt diff --git a/development/Win32/packaging/installer/LyXWinInstaller/Build-all.nsi b/development/Win32/packaging/installer/LyXWinInstaller/Build-all.nsi new file mode 100644 index 0000000000..04d8f376ad --- /dev/null +++ b/development/Win32/packaging/installer/LyXWinInstaller/Build-all.nsi @@ -0,0 +1,23 @@ +# this script compiles the three different installer variants at once +# this is necessary when the installer should e.g. be built by SCons or CMake + +SetCompressor /SOLID lzma + +#-------------------------------- +# The following commands use makensis to compile the three different installer variants. + +#-------------------------------- +#Compile the Update Installer + +!system '"${NSISDIR}\makensis.exe" "LyXInstaller-Update.nsi"' + +#-------------------------------- +#Compile the Small Installer + +!system '"${NSISDIR}\makensis.exe" "LyXInstaller-Small.nsi"' + +#-------------------------------- +#Compile the Complete Installer + +!system '"${NSISDIR}\makensis.exe" "LyXInstaller-Complete.nsi"' + diff --git a/development/Win32/packaging/installer/LyXWinInstaller/ChangeLog.txt b/development/Win32/packaging/installer/LyXWinInstaller/ChangeLog.txt index 22d501c7a3..0ee0faa46d 100644 --- a/development/Win32/packaging/installer/LyXWinInstaller/ChangeLog.txt +++ b/development/Win32/packaging/installer/LyXWinInstaller/ChangeLog.txt @@ -1,16 +1,20 @@ -Version LyX 1.5beta3-14-05-2007 -- LyX 1.5 beta3 from 14-05-2007 +Version LyX 1.5beta3-15-05-2007 +- LyX 1.5 beta3 from 15-05-2007 - fix bug, introduced with last version, that all margin notes in a document are lost - support for Chinese, Japenese and Korean - support for the LaTeX-package "listings" +- updated to ImageMagick 6.3.4 +- updated to Phyton 2.5.1 +- updated to MikteX 2.6 (version 2675) - fix bug that LyX's menu language setting was ignored when LyX is started by double-clicking on a LyX-file - when Updating PDFs, the PDF is opened at the last viewed position (only works with Acrobat/adobe Reader version <= 7) - fix hopefully the case that PDFs couldn't be updated when Adobe Reader 8 is used on Windows Vista +- fix bug that MiKTeX and JabRef weren't correctly uninstalled Version LyX 1.5svn-02-05-2007 diff --git a/development/Win32/packaging/installer/LyXWinInstaller/InstallActions-complete.nsh b/development/Win32/packaging/installer/LyXWinInstaller/InstallActions-complete.nsh index 8adadc8a04..24b3d373d6 100644 --- a/development/Win32/packaging/installer/LyXWinInstaller/InstallActions-complete.nsh +++ b/development/Win32/packaging/installer/LyXWinInstaller/InstallActions-complete.nsh @@ -16,7 +16,7 @@ Section "-Installation actions" SecInstallation File /r "${PRODUCT_SOURCEDIR}\external" # install MiKTeX if not already installed - Call MiKTeX + Call InstallMiKTeX # function from LaTeX.nsh # install Ghostscript if not already installed Call Ghostscript @@ -96,51 +96,10 @@ Section "-Installation actions" SecInstallation FileWrite $R1 '$LaTeXPath' FileClose $R1 - # prepare variables for uninstaller - StrCpy $MiKTeXVersionVar ${MiKTeXDeliveredVersion} - StrCpy $JabRefVersionVar ${JabRefVersion} - SectionEnd # ------------------------------------------- -Function MiKTeX - -# install MiKTeX if not already installed - ${if} $LatexPath == "" - # launch MiKTeX's installer - MessageBox MB_OK|MB_ICONINFORMATION "$(LatexInfo)" - ExecWait ${MiKTeXInstall} - # test if MiKTeX is installed - ReadRegStr $String HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "Path" - StrCpy $Search "miktex" - Call LaTeXCheck - ${if} $LatexPath == "" - StrCpy $MiKTeXUser "HKCU" - ReadRegStr $String HKCU "Environment" "Path" - StrCpy $Search "miktex" - Call LaTeXCheck - ${endif} - ${if} $LatexPath != "" - # set package repository (MiKTeX's primary package repository) - WriteRegStr HKLM "SOFTWARE\MiKTeX.org\MiKTeX" "OnlyWithLyX" "Yes${PRODUCT_VERSION_SHORT}" # special entry to tell the uninstaller that it was installed with LyX - StrCpy $MiKTeXInstalled "yes" - ${if} $MiKTeXUser != "HKCU" - StrCpy $MiKTeXPath "$LatexPath" -11 - #MessageBox MB_OK|MB_ICONINFORMATION "$(MiKTeXPathInfo)" # info that MiKTeX's installation folder must have write permissions for all users to work properly - ${endif} - ${else} - MessageBox MB_OK|MB_ICONSTOP "$(LatexError1)" - SetOutPath $TEMP # to be able to delete the $INSTDIR - RMDir /r $INSTDIR - Abort - ${endif} # endif $LatexPath != "" - ${endif} - -FunctionEnd - -# ------------------------------------------- - Function Ghostscript # if GhostScript is not installed diff --git a/development/Win32/packaging/installer/LyXWinInstaller/InstallActions-small.nsh b/development/Win32/packaging/installer/LyXWinInstaller/InstallActions-small.nsh index c4354b7d90..2205506181 100644 --- a/development/Win32/packaging/installer/LyXWinInstaller/InstallActions-small.nsh +++ b/development/Win32/packaging/installer/LyXWinInstaller/InstallActions-small.nsh @@ -86,10 +86,6 @@ Section "-Installation actions" SecInstallation FileWrite $R1 '$LaTeXPath' FileClose $R1 - # prepare variables for uninstaller - StrCpy $MiKTeXVersionVar ${MiKTeXDeliveredVersion} - StrCpy $JabRefVersionVar ${JabRefVersion} - SectionEnd # ------------------------------------------- diff --git a/development/Win32/packaging/installer/LyXWinInstaller/InstallActions-update.nsh b/development/Win32/packaging/installer/LyXWinInstaller/InstallActions-update.nsh index cddf0a8bd4..4bee196bff 100644 --- a/development/Win32/packaging/installer/LyXWinInstaller/InstallActions-update.nsh +++ b/development/Win32/packaging/installer/LyXWinInstaller/InstallActions-update.nsh @@ -205,14 +205,12 @@ Function RefreshRegUninst ReadRegStr $0 HKLM "SOFTWARE\MiKTeX.org\MiKTeX" "OnlyWithLyX" ${if} $0 == "Yes${PRODUCT_VERSION_SHORT}" WriteRegStr HKLM "SOFTWARE\MiKTeX.org\MiKTeX" "OnlyWithLyX" "Yes${PRODUCT_VERSION_SHORT}" - StrCpy $MiKTeXVersionVar ${MiKTeXDeliveredVersionOld} ${endif} # JabRef - ReadRegStr $0 HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${JabRefVersionOld}" "OnlyWithLyX" + ReadRegStr $0 HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\JabRef ${JabRefVersion}" "OnlyWithLyX" ${if} $0 == "Yes${PRODUCT_VERSION_SHORT}" - WriteRegStr HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\${JabRefVersionOld}" "OnlyWithLyX" "Yes${PRODUCT_VERSION_SHORT}" - StrCpy $JabRefVersionVar ${JabRefVersionOld} + WriteRegStr HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\JabRef ${JabRefVersion}" "OnlyWithLyX" "Yes${PRODUCT_VERSION_SHORT}" ${endif} # Aiksaurus diff --git a/development/Win32/packaging/installer/LyXWinInstaller/LaTeX.nsh b/development/Win32/packaging/installer/LyXWinInstaller/LaTeX.nsh index 5e6e6755dc..e602e37b6e 100644 --- a/development/Win32/packaging/installer/LyXWinInstaller/LaTeX.nsh +++ b/development/Win32/packaging/installer/LyXWinInstaller/LaTeX.nsh @@ -1,25 +1,44 @@ Function LaTeXActions - # tests if MiKTeX is installed - # reads the PATH variable via the registry because NSIS' "$%Path%" variable is not updated when the PATH changes - + # check if MiKTeX or TeXLive is installed + + # test if MiKTeX is installed + # reads the PATH variable via the registry because NSIS' "$%Path%" variable is not updated when the PATH changes ReadRegStr $String HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "Path" StrCpy $Search "miktex" Call LaTeXCheck # sets the path to the latex.exe to $LatexPath # Function from LyXUtils.nsh - # check if MiKTeX 2.4 or 2.5 is installed - StrCpy $String "" - ReadRegStr $String HKLM "Software\MiK\MiKTeX\CurrentVersion\MiKTeX" "Install Root" - ${if} $String != "" - StrCpy $MiKTeXVersion "2.4" # needed later for the configuration of MiKTeX - StrCpy $LaTeXName "MiKTeX 2.4" + + ${if} $LatexPath != "" + # check if MiKTeX 2.4, 2.5 or 2.6 is installed + ReadRegStr $String HKLM "Software\MiK\MiKTeX\CurrentVersion\MiKTeX" "Install Root" + ${if} $String != "" + StrCpy $MiKTeXVersion "2.4" # needed later for the configuration of MiKTeX + StrCpy $LaTeXName "MiKTeX 2.4" + ${endif} + # check if MiKTeX 2.5 or 2.6 is installed + StrCpy $0 0 + loopA: + EnumRegKey $1 HKLM "SOFTWARE\MiKTeX.org\MiKTeX" $0 # check the last subkey + StrCmp $1 "" doneA + StrCpy $String $1 + IntOp $0 $0 + 1 + Goto loopA + doneA: + ${if} $String == "2.5" + StrCpy $MiKTeXVersion "2.5" + StrCpy $LaTeXName "MiKTeX 2.5" + ${endif} + ${if} $String == "2.6" + StrCpy $MiKTeXVersion "2.6" + StrCpy $LaTeXName "MiKTeX 2.6" + ${endif} ${endif} ${if} $LatexPath == "" # check if MiKTeX is installed only for the current user - # check for MiKTeX 2.5 ReadRegStr $String HKCU "Environment" "Path" StrCpy $Search "miktex" Call LaTeXCheck # function from LyXUtils.nsh ${if} $LatexPath != "" - StrCpy $MiKTeXUser "HKCU" # needed later to for a message about MiKTeX's install folder write permissions, see InstallActions-*.nsh + StrCpy $MiKTeXUser "HKCU" # needed later to configure MiKTeX ${endif} # check for MiKTeX 2.4 StrCpy $String "" @@ -28,15 +47,29 @@ Function LaTeXActions StrCpy $MiKTeXVersion "2.4" StrCpy $LaTeXName "MiKTeX 2.4" ${endif} + # check for MiKTeX 2.5 and 2.6 + StrCpy $0 0 + loopB: + EnumRegKey $1 HKCU "SOFTWARE\MiKTeX.org\MiKTeX" $0 # check the last subkey + StrCmp $1 "" doneB + StrCpy $String $1 + IntOp $0 $0 + 1 + Goto loopB + doneB: + ${if} $String == "2.5" + StrCpy $MiKTeXVersion "2.5" + StrCpy $LaTeXName "MiKTeX 2.5" + ${endif} + ${if} $String == "2.6" + StrCpy $MiKTeXVersion "2.6" + StrCpy $LaTeXName "MiKTeX 2.6" + ${endif} ${endif} ${if} $LatexPath != "" StrCpy $MiKTeXInstalled "yes" - ${if} $LaTeXName != "MiKTeX 2.4" - StrCpy $LaTeXName "MiKTeX 2.5" - ${endif} ${endif} - + # test if TeXLive is installed # as described at TeXLives' homepage there should be an entry in the PATH ${if} $LatexPath == "" @@ -67,11 +100,54 @@ Function LaTeXActions ${if} $LatexPath != "" ${andif} $LaTeXName != "MiKTeX 2.4" ${andif} $LaTeXName != "MiKTeX 2.5" + ${andif} $LaTeXName != "MiKTeX 2.6" StrCpy $LaTeXName "TeXLive" ${endif} - + FunctionEnd +# ------------------------------------------- + +!if ${INSTALLER_VERSION} == "Complete" + + Function InstallMiKTeX + # install MiKTeX if not already installed + + ${if} $LatexPath == "" + # launch MiKTeX's installer + MessageBox MB_OK|MB_ICONINFORMATION "$(LatexInfo)" + ExecWait ${MiKTeXInstall} + # test if MiKTeX is installed + ReadRegStr $String HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "Path" + StrCpy $Search "miktex" + Call LaTeXCheck + ${if} $LatexPath == "" + StrCpy $MiKTeXUser "HKCU" + ReadRegStr $String HKCU "Environment" "Path" + StrCpy $Search "miktex" + Call LaTeXCheck + ${endif} + ${if} $LatexPath != "" + # set package repository (MiKTeX's primary package repository) + WriteRegStr HKLM "SOFTWARE\MiKTeX.org\MiKTeX" "OnlyWithLyX" "Yes${PRODUCT_VERSION_SHORT}" # special entry to tell the uninstaller that it was installed with LyX + StrCpy $MiKTeXInstalled "yes" + StrCpy $MiKTeXVersion ${MiKTeXDeliveredVersion} + ${if} $MiKTeXUser != "HKCU" + StrCpy $MiKTeXPath "$LatexPath" -11 # delete "\miktex\bin" + #MessageBox MB_OK|MB_ICONINFORMATION "$(MiKTeXPathInfo)" # info that MiKTeX's installation folder must have write permissions for all users to work properly + ${endif} + ${else} + MessageBox MB_OK|MB_ICONSTOP "$(LatexError1)" + SetOutPath $TEMP # to be able to delete the $INSTDIR + RMDir /r $INSTDIR + Abort + ${endif} # endif $LatexPath != "" + ${endif} + + FunctionEnd + +!endif # endif ${INSTALLER_VERSION} == "Complete" + # ------------------------------ Function ConfigureMiKTeX @@ -103,9 +179,10 @@ Function ConfigureMiKTeX SetOutPath "$String\tex\latex\" # Should there be a final \ before "? File /r "${DVIPostFileDir}" + # refresh MiKTeX's file name database + ExecWait "$LaTeXPath\initexmf --update-fndb" + ${if} $MiKTeXVersion == "2.4" - # refresh MiKTeX's file name database - ExecWait "$String\miktex\bin\initexmf --update-fndb" # delete MiKTeX 2.4's dvipng executable as it is an old broken version. Then install a working one. Delete "$String\miktex\bin\dvipng.exe" # Install a new one @@ -116,21 +193,44 @@ Function ConfigureMiKTeX WriteRegStr HKCU "SOFTWARE\MiK\MiKTeX\CurrentVersion\MPM\Settings" "" "" # Setting package repository (MiKTeX's primary package repository) WriteRegStr HKCU "SOFTWARE\MiK\MiKTeX\CurrentVersion\MPM" "RemotePackageRepository" "${MiKTeXRepo}" + ${endif} - ${else} # if MiKTeX 2.5 - # refresh MiKTeX's file name database - ExecWait "$LaTeXPath\initexmf --update-fndb" + ${if} $MiKTeXVersion == "2.5" # enable package installation without asking (t = Yes, f = No) - WriteRegStr HKCU "SOFTWARE\MiKTeX.org\MiKTeX\2.5\MPM" "AutoInstall" "1" # if only for curent user - WriteRegStr HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "MIKTEX_AUTOINSTALL" "t" + WriteRegStr HKCU "SOFTWARE\MiKTeX.org\MiKTeX\$MiKTeXVersion\MPM" "AutoInstall" "1" # if only for curent user + ${if} $MiKTeXUser != "HKCU" + WriteRegStr SHCTX "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "MIKTEX_AUTOINSTALL" "t" + ${endif} # set package repository (MiKTeX's primary package repository) - WriteRegStr HKCU "SOFTWARE\MiKTeX.org\MiKTeX\2.5\MPM" "RemoteRepository" "${MiKTeXRepo}" # if only for curent user - WriteRegStr HKCU "SOFTWARE\MiKTeX.org\MiKTeX\2.5\MPM" "RepositoryType" "remote" # if only for curent user - WriteRegStr HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "MIKTEX_REPOSITORY" "${MiKTeXRepo}" + WriteRegStr HKCU "SOFTWARE\MiKTeX.org\MiKTeX\$MiKTeXVersion\MPM" "RemoteRepository" "${MiKTeXRepo}" # if only for curent user + WriteRegStr HKCU "SOFTWARE\MiKTeX.org\MiKTeX\$MiKTeXVersion\MPM" "RepositoryType" "remote" # if only for curent user + ${if} $MiKTeXUser != "HKCU" + WriteRegStr SHCTX "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "MIKTEX_REPOSITORY" "${MiKTeXRepo}" + ${endif} + ${endif} + + ${if} $MiKTeXVersion == "2.6" + # enable package installation without asking (t = Yes, f = No) + WriteRegStr HKCU "SOFTWARE\MiKTeX.org\MiKTeX\$MiKTeXVersion\MPM" "AutoInstall" "1" # if only for curent user + ${if} $MiKTeXUser != "HKCU" + WriteRegStr SHCTX "SOFTWARE\MiKTeX.org\MiKTeX\$MiKTeXVersion\MPM" "AutoInstall" "1" # if only for curent user + ${endif} + # set package repository (MiKTeX's primary package repository) + WriteRegStr HKCU "SOFTWARE\MiKTeX.org\MiKTeX\$MiKTeXVersion\MPM" "RemoteRepository" "${MiKTeXRepo}" # if only for curent user + WriteRegStr HKCU "SOFTWARE\MiKTeX.org\MiKTeX\$MiKTeXVersion\MPM" "RepositoryType" "remote" # if only for curent user + ${if} $MiKTeXUser != "HKCU" + WriteRegStr SHCTX "SOFTWARE\MiKTeX.org\MiKTeX\$MiKTeXVersion\MPM" "RemoteRepository" "${MiKTeXRepo}" # if only for curent user + WriteRegStr SHCTX "SOFTWARE\MiKTeX.org\MiKTeX\$MiKTeXVersion\MPM" "RepositoryType" "remote" # if only for curent user + ${endif} ${endif} # enable MiKTeX's automatic package installation - ExecWait '$LaTeXPath\mpm.com --update-fndb' + ${if} $MiKTeXVersion == "2.4" + ${orif} $MiKTeXVersion == "2.5" + ExecWait '$LaTeXPath\mpm.com --update-fndb' + ${else} # if MiKTeX 2.6 + ExecWait '$LaTeXPath\mpm.exe --update-fndb' + ${endif} # the following feature is planned to be used for a possible CD-version # copy LaTeX-packages needed by LyX # SetOutPath "$INSTDIR" diff --git a/development/Win32/packaging/installer/LyXWinInstaller/LyXInstaller-complete.nsi b/development/Win32/packaging/installer/LyXWinInstaller/LyXInstaller-complete.nsi index a646adfeb6..0c04d65b0c 100644 --- a/development/Win32/packaging/installer/LyXWinInstaller/LyXInstaller-complete.nsi +++ b/development/Win32/packaging/installer/LyXWinInstaller/LyXInstaller-complete.nsi @@ -59,10 +59,8 @@ Var AspellBaseReg Var AspellMessage Var ImageMagickPath Var JabRefInstalled -Var JabRefVersionVar Var LatexPath Var MiKTeXInstalled -Var MiKTeXVersionVar Var PythonPath Var Answer Var AppPre diff --git a/development/Win32/packaging/installer/LyXWinInstaller/LyXInstaller-small.nsi b/development/Win32/packaging/installer/LyXWinInstaller/LyXInstaller-small.nsi index ef05935d2c..8944077e71 100644 --- a/development/Win32/packaging/installer/LyXWinInstaller/LyXInstaller-small.nsi +++ b/development/Win32/packaging/installer/LyXWinInstaller/LyXInstaller-small.nsi @@ -57,10 +57,8 @@ Var AspellBaseReg Var AspellMessage Var ImageMagickPath Var JabRefInstalled -Var JabRefVersionVar Var LatexPath Var MiKTeXInstalled -Var MiKTeXVersionVar Var PythonPath Var Answer Var AppPre diff --git a/development/Win32/packaging/installer/LyXWinInstaller/LyXInstaller-update.nsi b/development/Win32/packaging/installer/LyXWinInstaller/LyXInstaller-update.nsi index 5a18848ca0..5027b8955c 100644 --- a/development/Win32/packaging/installer/LyXWinInstaller/LyXInstaller-update.nsi +++ b/development/Win32/packaging/installer/LyXWinInstaller/LyXInstaller-update.nsi @@ -43,10 +43,8 @@ Var AspellBaseReg Var AspellMessage Var ImageMagickPath Var JabRefInstalled -Var JabRefVersionVar Var LatexPath Var MiKTeXInstalled -Var MiKTeXVersionVar Var PythonPath Var Answer Var AppPre diff --git a/development/Win32/packaging/installer/LyXWinInstaller/ReadmeComplete1.5.txt b/development/Win32/packaging/installer/LyXWinInstaller/ReadmeComplete1.5.txt index c7493775f8..0634faabe0 100644 --- a/development/Win32/packaging/installer/LyXWinInstaller/ReadmeComplete1.5.txt +++ b/development/Win32/packaging/installer/LyXWinInstaller/ReadmeComplete1.5.txt @@ -92,5 +92,5 @@ License (GPL). A package with the sourcecode can be found in the section "LyxWinInstallerSource" of http://developer.berlios.de/project/showfiles.php?group_id=5117 -The license files of all used pgrograms can be found in the subdirectory "bin" +The license files of all used programs can be found in the subdirectory "bin" of LyX's installation folder. diff --git a/development/Win32/packaging/installer/LyXWinInstaller/ReadmeSmall1.5.txt b/development/Win32/packaging/installer/LyXWinInstaller/ReadmeSmall1.5.txt index e15f69ca0e..cb3b37fb36 100644 --- a/development/Win32/packaging/installer/LyXWinInstaller/ReadmeSmall1.5.txt +++ b/development/Win32/packaging/installer/LyXWinInstaller/ReadmeSmall1.5.txt @@ -96,5 +96,5 @@ License (GPL). A package with the sourcecode can be found in the section "LyxWinInstallerSource" of http://developer.berlios.de/project/showfiles.php?group_id=5117 -The license files of all used pgrograms can be found in the subdirectory "bin" +The license files of all used programs can be found in the subdirectory "bin" of LyX's installation folder. diff --git a/development/Win32/packaging/installer/LyXWinInstaller/ReadmeUpdate1.5.txt b/development/Win32/packaging/installer/LyXWinInstaller/ReadmeUpdate1.5.txt new file mode 100644 index 0000000000..c2633b6ef8 --- /dev/null +++ b/development/Win32/packaging/installer/LyXWinInstaller/ReadmeUpdate1.5.txt @@ -0,0 +1,32 @@ +Description + +This is the readme of the variant "update" of the LyXWinInstaller. Please read +this file carefully to prevent troubles with the installer. +The LyXWinInstaller installs the wordprocessor "LyX" (www.lyx.org) and some +needed programs on Windows 2000/XP/XPx64/Vista. +! Win95, Win98, and WinME are NOT supported. ! + +--- +General + +The installer variant "update" is designed to update existing an LyX installation. +It therefore only actualized some registry entries and updates the file that were +modified since the last LyX release. +Custom user settings and third party programs like ImageMagick are not touched. + +--- +Prerequisites + +You must have the last LyX-version installed, otherwise the update installer +quits with a varning about the wrong LyX version. + +--- +License + +The scripts of the LyXWinInstaller are released under the GNU General Public +License (GPL). A package with the sourcecode can be found +in the section "LyxWinInstallerSource" of +http://developer.berlios.de/project/showfiles.php?group_id=5117 + +The license files of all used programs can be found in the subdirectory "bin" +of LyX's installation folder. diff --git a/development/Win32/packaging/installer/LyXWinInstaller/Settings.nsh b/development/Win32/packaging/installer/LyXWinInstaller/Settings.nsh index 49f425cda6..bace455f2d 100644 --- a/development/Win32/packaging/installer/LyXWinInstaller/Settings.nsh +++ b/development/Win32/packaging/installer/LyXWinInstaller/Settings.nsh @@ -3,7 +3,7 @@ !define PRODUCT_DIR "D:\LyXPackage1.5" !define PRODUCT_NAME "LyX" -!define PRODUCT_VERSION "1.5beta3-14-05-2007" +!define PRODUCT_VERSION "1.5beta3-15-05-2007" !define PRODUCT_VERSION_SHORT "150svn" !define PRODUCT_SUBFOLDER "lyx15" !define PRODUCT_LICENSE_FILE "${PRODUCT_DIR}\License.txt" @@ -42,8 +42,8 @@ BrandingText "LyXWinInstaller v3.15 - ${INSTALLER_VERSION}" !define PRODUCT_VERSION_OLD "LyX 1.5svn-02-05-2007" !define PRODUCT_UNINSTALL_EXE_OLD "$INSTDIR\LyXWinUninstall.exe" !define PRODUCT_VERSION_SHORT_OLD "150svn" - !define JabRefVersionOld "JabRef 2.2" - !define MiKTeXDeliveredVersionOld "MiKTeX 2.5" + !define JabRefVersion "2.2" # could be an older version + !define MiKTeXDeliveredVersion "2.5" # could be an older version !endif # definitions for the Small installer @@ -56,14 +56,14 @@ BrandingText "LyXWinInstaller v3.15 - ${INSTALLER_VERSION}" !if ${INSTALLER_VERSION} == "Complete" !define GSviewInstall "external\gsv48w32.exe" !define JabRefInstall "external\JabRef-2.2-Setup.exe" - !define MiKTeXInstall "$INSTDIR\external\basic-miktex-2.5.2580.exe" - !define JabRefVersion "JabRef 2.2" - !define MiKTeXDeliveredVersion "MiKTeX 2.5" + !define MiKTeXInstall "$INSTDIR\external\basic-miktex-2.6.2675.exe" + !define JabRefVersion "2.2" + !define MiKTeXDeliveredVersion "2.6" !endif !define ClassFileDir "${PRODUCT_SOURCEDIR}\Resources\tex" -!define ImageMagickVersion "6.3.3" +!define ImageMagickVersion "6.3.4" # for some odd reason the ImageMagick folder may not be a subfolder of $INSTDIR\bin! !define ImageMagickDir "$INSTDIR\etc\ImageMagick" !define GhostscriptDir "$INSTDIR\etc\Ghostscript" @@ -82,7 +82,6 @@ BrandingText "LyXWinInstaller v3.15 - ${INSTALLER_VERSION}" # the following variable is needed for a possible CD-version #!define LaTeXPackagesDir "${PRODUCT_SOURCEDIR}\latex" !define MiKTeXRepo "ftp://ftp.tu-chemnitz.de/pub/tex/systems/win32/miktex/tm/packages/" -!define MiKTeXConfigFolder "MiKTeX\2.5\miktex\config" #-------------------------------- # make some of the information above available to NSIS. diff --git a/development/Win32/packaging/installer/LyXWinInstaller/Uninstall.nsh b/development/Win32/packaging/installer/LyXWinInstaller/Uninstall.nsh index adbb52eda4..bd7ad6de8b 100644 --- a/development/Win32/packaging/installer/LyXWinInstaller/Uninstall.nsh +++ b/development/Win32/packaging/installer/LyXWinInstaller/Uninstall.nsh @@ -43,6 +43,7 @@ Function un.onInit ${if} $0 == "Yes${PRODUCT_VERSION_SHORT}" SectionSetText 2 "Aspell" # names the corersponding uninstaller section (has the index "2" as it is the third section in Uninstall.nsh) StrCpy $AspellInstallYes "Aspell" + DeleteRegValue SHCTX "Software\Aspell" "OnlyWithLyX" # special entry to test if it was installed with LyX ${else} SectionSetText 2 "" # hides the corresponding uninstaller section ${endif} @@ -52,15 +53,17 @@ Function un.onInit ${if} $0 == "Yes${PRODUCT_VERSION_SHORT}" SectionSetText 3 "MiKTeX" # names the corersponding uninstaller section StrCpy $MiKTeXInstalled "MiKTeX" + DeleteRegValue HKLM "SOFTWARE\MiKTeX.org\MiKTeX" "OnlyWithLyX" ${else} SectionSetText 3 "" # hides the corresponding uninstaller section ${endif} # test if JabRef was installed together with LyX - ReadRegStr $0 HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\$JabRefVersionVar" "OnlyWithLyX" + ReadRegStr $0 HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\JabRef ${JabRefVersion}" "OnlyWithLyX" ${if} $0 == "Yes${PRODUCT_VERSION_SHORT}" SectionSetText 4 "JabRef" # names the corersponding uninstaller section StrCpy $JabRefInstalled "JabRef" + DeleteRegValue HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\JabRef ${JabRefVersion}" "OnlyWithLyX" ${else} SectionSetText 4 "" # hides the corresponding uninstaller section ${endif} @@ -167,7 +170,7 @@ Section "un.LyX" un.SecUnProgramFiles ${endif} ${endif} - # MiKTeX specific LyX setting + # MiKTeX specific LyX setting !Can be deleted after LyX 1.5.0beta3! DeleteRegValue HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "MIKTEX_AUTOINSTALL" DeleteRegValue HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "MIKTEX_REPOSITORY" @@ -201,8 +204,8 @@ SectionEnd Section "un.MiKTeX" un.SecUnMiKTeX ${if} $MiKTeXInstalled == "MiKTeX" # only uninstall MiKTeX when it was installed together with LyX - ReadRegStr $1 HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\$MiKTeXVersionVar" "UninstallString" - ExecWait "$1" # run MiKTeX's uninstaller + ReadRegStr $1 HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\MiKTeX ${MiKTeXDeliveredVersion}" "UninstallString" + ExecWait $1 # run MiKTeX's uninstaller ${endif} SectionEnd @@ -212,7 +215,7 @@ SectionEnd Section "un.JabRef" un.SecUnJabRef ${if} $JabRefInstalled == "JabRef" # only uninstall JabRef when it was installed together with LyX - ReadRegStr $1 HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\$JabRefVersionVar" "UninstallString" + ReadRegStr $1 HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\JabRef ${JabRefVersion}" "UninstallString" ExecWait "$1" # run JabRef's uninstaller ${endif} diff --git a/development/Win32/packaging/installer/LyXWinInstaller/Updated.nsh b/development/Win32/packaging/installer/LyXWinInstaller/Updated.nsh index d16d1ffe06..787ae882bd 100644 --- a/development/Win32/packaging/installer/LyXWinInstaller/Updated.nsh +++ b/development/Win32/packaging/installer/LyXWinInstaller/Updated.nsh @@ -34,7 +34,9 @@ Function UpdateModifiedFiles SetOutPath "$INSTDIR\Resources\images" File /r "${PRODUCT_SOURCEDIR}\Resources\images\math" SetOutPath "$INSTDIR\Resources\layouts" + File "${PRODUCT_SOURCEDIR}\Resources\layouts\beamer.layout" File "${PRODUCT_SOURCEDIR}\Resources\layouts\simplecv.layout" + File "${PRODUCT_SOURCEDIR}\Resources\layouts\stdcounters.inc" SetOutPath "$INSTDIR\Resources\lyx2lyx" File "${PRODUCT_SOURCEDIR}\Resources\lyx2lyx\LyX.py" File "${PRODUCT_SOURCEDIR}\Resources\lyx2lyx\lyx_1_5.py" diff --git a/development/Win32/packaging/installer/LyXWinInstaller/informations/InstallerStructure.odg b/development/Win32/packaging/installer/LyXWinInstaller/informations/InstallerStructure.odg index 20e96a9aa3ca43a0e2d911f22e06a8b47ad9ca1f..4a1fae02b6bb1a118acd0724c60eec53f94259be 100644 GIT binary patch delta 12168 zcmZvC1yCJLw=GVBTX1&?4hM(e!QI{6T@Mf(g5==t?(P!YT@LPU!JYSg`ER{@->uhE zGpl>|s;-);u3EciuMziNA7n)tXc#Prf7>=(RXnmh^uM6b`4^H@|H3)@e}ZJ73~nTl zBIKukhaeqDuK&!EftYv@Kt2Bn$Dfmd&LA=VG9aON|Dqri4Ukm*Wq4o>Bkx!+ZGAzS zVdA^w37(by=M)%DLzsd&9-uMF!^b(Z)~c?t{bx$*j59!{%VCCz!WGk@9e?Ht9p!fowldR zE@Y#U;B3)(gbBGc;gFssc+V^q$}~r{4t+ec_MD>576{tWYY08It`7f2(O&0scxRIJoR2hGIVd2=UtgBahy|ib?7KPBG%z@zCQoUE@^X$ejE>?W3(F&Ox-ufa z1QkCC8i!M$hO$#eH z-v@FG1-B9tK3^_ym`$|Ub?#^Dc5B+F$e5{wwjS_)_`Ew6@2~np=7I2{4}^iuy?uqe zWQf|YS43;q&`k8c`3c+vwDf&yTvo*=)Na4*wt(sb5ujhk5&GZ7seUiGC@WNC>8Qv5 z!V>*{17Qwj1>tWHsqYkmJJ3Qn4*e#>bG4N5la)zx;Z zo#m;_#GTbYBm6o$3=FE12lLb)Q2gwsO1$?9s#y{pQ?4ofz-~9xn%>{Ir#G153QdC;006IW7?HS?d4o<3@0DY zsp*-i)Rh7cHkA>E#~${h8N+m*bO~YGGx{4C=`>W#~)W1q5dTB1f2;!q3l|DM`eIU#ZR$gO>Yvu|j~m z1k0%+4vRfI+qd#Jt%BrDXs?0k@D-HVIkFb=849UMVBMw9nGtrr?LPSINsRic3VExk z(HC+a*o=HCgN=Ty7o9@9SwZ}A873*ON6}Ao)%aUd4|l&w89F_8LpB435rVIfLksH- zE`OsPh&X`~cDcd_%$#J%33wECKHh;Z+4aa34PL!nFZ*bfN}9*5W29LC6V!7mdM$Yr zueKk?GD3Z?1Zo$mE;O|HnJS@PpYky(K~ynOBnW;9BKRyIbdk%r5;oVx7I`8hO_R`m zNy-8j3K-LK6%00R3~hgD5o#`xG+SS35o|7z=iho7kg7+Fn_z@w-O}Dj z;_1gs-w^G0CYuBm`oaqsQB2=_ACh<)UN=+7y9~xt%UqNFbw%pM(uYVyCqi6d&tP`* ziq)OFitp`NFj>t}CqRiTdz-y}zOFILPOGc>bxX&{SEOo}qZV>$`mC>+ z(l2efihblnw$@y_1>dqXib9=O zHYtBaQrS!|$!`{=e01Pf&>*ZV;YD+m)!)ND>D<@VKfAidp#_a>I|hUU=oG0c7|u=^ z&h{TVgc*EPkxFR=1IL`OGoZu`Gq&?kommNVZ?#$=kbl%Z{vsP1tceOB+`^^U4$#_4 zsjGA`ub1Jsz(^IIGC|4XK{Xk^A^hA4BFhIqGYZ7U88t#<)tkZ)S6Q5)K_B`7SSfa+ z@xTL4sFR`<4Y}1=O29#sy7R;ze)8HgtXEhMkj&Un6t#eP`D zmkLa4a{M5+bP_+yA1hnm4NQ^&+|TU8^2Im?Ahq!2=;;m#bWmjNe_!3+b>n4k4|#i7 z7`&@p^~E%!zT;h5kgt%XC%}uRC6uR;br&Rvt2ngFUbF_*iKMOERp0k~>iXFlQMRu$+GN zDYf@X*;N(+y5WunEK+WSeSe1T;y&z*`}qR9tvWe$ybl-10ESGFE@$1eBUEg&^yfna<%y|vVEQtKE zy+yP1T0iFJy|^KiFdsZpK^CSw)K2RccFlt+>IXhMNA3toUC@po#Ma{Kl#k)x}}bH)La~%@TFgfSN84j(lrWehA!?9Ane(`S}T{Xtc-~8g#)5q0Q%cDODVZ-%woiXT|7GavQQ_PBY9+=}pin`ybCb9Dx<6Vz-& z0>RVCTVKTUE~zu`F2bh+_>? z`N_fIc90r2&h7nhlZz#^R5YdwXXAXvowm)Us`T@2sZCY7d9)2dHw+P83=$8i4Ps|+ zl~FLq8q5CTr+L#c?s~arC0CnJW&C#J9Mq2M@ucJ>(x_*RMcD8Td~Sq!$G~2oMm?(`geu^V=xmpf_E8{j+; zic%m>w9M;VI6KX%Huxh+bwL7`{uBkNF}jR+PgNwD1NrA5aM*@nPX_O!si_#(fGK&e zPA0*gg@-tn+mt4uKJ^rS9WIg`iSZEy4ivlD&@p`>84e0q9G}7m3|i-a(arWT`9)d2^1zQ&F?BS7AY zvwmrn2J5J9Z39MfgZ=`4`$uJXB6o($@lX#C{$|1mOrfXI(BS&RISxi|Ly?Q>&ECsNC=2=nE$l{0Dq4`e;=UV*u=mPFAokv{iTa> zOH3+h*Wa{4@p%u}of2{|tkz<~(kB4{G6c`~?S)qS*|Q_=I2mGV6#QhQrA9@-!D z9^Re0FSF|>c`d5z7xir}Z}_MDHwaE_l;i7vK|?^$+c7p4LqJ@aBU(a$HYzwtnYy zz8fKT_n?#&+}Bk=K-meDpjcMx9oZvZtD2@zVFSgZgsayv5==x#!&Zm&^EpXM_;c#9 zvc=Vt4$EtL(rD9Y(;}c3_Q$X^m>SGB7Ge`s$(l-|`YD_Z`5B0#-KP{m-Ik3A1G%|G zs-EYS27wZW#Xbj>&?wdd89&0j0MW1O=LAtB&CiIIp{&F38}!pPCH=;`@Y9W|M8VJ| zblB{g?pH=I8&3EqM23in2xK+|L>p^sCZ3~{llKuU7unM;znA;yP`?VdjhAo}#NN8G*}A&O$jFC7^>|o*Qv8d!xVT=SW*(9c z`x3Vgwoeg$5Av>>+g~kA-4`3>60^*e3Cl0eh+b<)?9`oGiR(KOK*Lfs4Gr^Bq!&eb z$i)$~x2JZ{m2;CY`9w7ZCTx4OPF}TDM z(&TfXS}n?jB5itb!hB}EFH)DgJqC}KN^4vXO~@~+>{z{1EFFD>0fyn08zh9lp9rnr z0`j^u^Jsyq=9)uvr+Ohh&)E?;jr;AA-z9mjsxSZMpD@ zYs2OUR_xQINtB9M)-j+*XG}ypkImO*wB~@P*Qi7BQf_gMA5q=O0l_}V`pm9^#TP?{ zPG#f?%~7;}fK*Y4bU~Bi4qO9zvaw zUF@Yh^}Z$3_A6yPJZqu>si{Nm-=3yXm)vJQ#b_M|AmuRWD>q1m!p zk}GGlMqgLO*f20uaJfV}bbNO1y)DG1V!%KpS(7n5mW+{i;#r@Y+MY@~-4wO*Sr++* zw&S0QBl+xiQrUI-5uy zfD6P@(%!q;>|W1`_@?E8SugeltARBoMlEla(BTVjcZL}z>ctBLan?`TP51_a)z#l% z>CzuWRQJtmMW@rZP8n@_C_)VbdL%79MLhK|I-E=fTp}`-*&aKDU#prP(s8GN>CnEj zON(U|OXX!3F>0eESSZyT5yzLIr!SHL_i)R?YjDn&3er!%XfpTP7ywdBH0y zxxEMJn}>EF?HP8NiM5E&e(LfAWwF2C;r(RI(tYge2{6^z?xQN{$`XQ-D&#&%ed#G4 zN`K(e@H^6moCy;%Pu_As)SQgm*VO+nR)*mpZUP%B|6y(Al`WWBPVLqeprBbcqJ` zRo>ajp2n9lAt}41%K^7izDyCH*TIFi>IhM_-x8EUrhzC`lGae&7Vq+h1w~bSB-L&L zGIn`V9=DZEzsKK=M$B>)pG`IrIp5v2jzPz^13D;dqXEt6`}|9HWXVR>h^ZH%Lzkb5 z<*eaqig-#F*nm_l!EdBMbt~4W7xXQe#V>=gBUT;<#=6Fy%+F}ston4diJ+9zBb$Z0 z$0|s)iXeN6IqU{=c{{%-&bf-g?;{mnUy4A-FO@GvZXb)6&tzdBst>aAQ3=@*iXvsy zuB#kPqvx_JlpxDJcxIEI7)WMfy|3?UYfrsvx)2Wz;stXBXK6LSGz<`aXe*XPdC#?N zPvGal=%1q!3gh%!Pv8KU=)wv+tG?fWbq+Wyco`avj3~}V12az|h`UjxLOMpq^|E>{ z8;D9i^NW)ly!`E)ppn&4roGscF{4@=Y)B+{of^*S_(y#HCsdDW(4S(NK7|G@5_vmD zVOqNfxD@H_QLA_0N;{Tpkjmz?+jiJ5g2y&=Lh1{i3))-A7furTaHu`gK^PCB6`=RG zcN16F+fCfumdO^=eQ-x}v&Aw@k$+RTz{3$YE8geS=OD5oVz#8Q60e7P2`5PDo5DNw zN7G%XlX|Mby_*Og_LaNV)IzNooWcIuNK?Y`_ax!CKo={ZL)Adc?=nz9j={i9ZC+mB zsp*}|1J6Yt>JxPm#-_Uug(q@T$MFV3pO+Q>w!U{ewu8l*|HE3b1CX(G_HnQ|n5$pq zv8br^19r`K1j0lM!X@=y$Sqr+FaIY^KXNLgX0PPmbLz})1FO|Hc5z>Jy!V3=`k$dd0%#* zH0NoA3U0F2=mXZZ-r|Vq(EfAS{dqM^*Al6iaP3Zq5G)4P62rR1;JuRZ3HMguRmb(Q7EC26yD=v-71_Z63eRBH zu9E|AIE5NeD$fiuRQo1*MkvLa`7W{R4fZD&KBP#8#yAJh$Q#yZEf&oGP((wHz&rJ| zR8XV1wVJWVRp}E8JVlOUbEjvi$4l|teexSL5KGbfb=_rf09sY!X%WB8-0PUT=zq@H z78mIv5kSgtgsL#xpfyrqFL8b$Le*e$!FB-}3@1p?(!H6V?=AgM8|TMxYkToXSmCd< zKjSp(wJ|mQ>P~g+r@!o*1HQ#VbEC~5Qtr1aM&rfdhV94zNfv@e<3`f(J4*S>{8rQNo1P%%L+n6vZfx2|mBg6FY z8;n^iI&R1V8lOOb&o3YGxn)Vidhia#$r5-;K{28=IO&l3qyu$KDAYcD#FE{sHK)xN z7Eq%^g$P55SMD9tSoeK(j;Gs^9q&NV>2C)lLUr%)^(BY*#xB09?xwogKk++>PbOTS zgYF=JcDtoYn5oGrk5<(X6L}<|#}-9;8N79Q^IV)2W2iwK{leat+|a!ruWU$z4`rTk zn+RdbpWj-Z3)X(ki}7%GSoOhn+pmr)ezl#?Q{)XtCuQPX6`n%79AbSi-*y1fy|pj> zbIjtM7((gYWs;TXW8da`}tIoSW;S+yQ6Dg(Dzd65|`Oi*uL(WJrELuc5NDjRj zD#X?k>NaI$Su0lcOMFGUr-c2j-%NPEyH*1GH79flzy~N65gOFi85An3EB%yeBV-8k zU0?cif7XG@jJ^Cg&?S@wC&Kj8P(+OP1D1Gl4{L|(o$8nj#XUDfi1Q3GaFs2=_{>v# z?L$}#LL2jFj;9)D-mUM!@6xX!nn~XuYB)lChqcjzb7_#o{F2v>Wz3ct^nwFKz(HcExH*XlM;)jZ%6zj5(%~A^(0=KH zoRl65(Xe<<>iWxwX;OS|AaiJ68lYyWuO`$|FhJwG=dHmoLdgp@^VYtx=`}^7-n4|8 zXRl24?qcX2PSxpHyH)?_zG{fnw;de+;4@Kl9M-bQ&^*-4mgF{%OOMo`!(gP_Cp)ft z_iVZ6itWMYjw^6`->aUg2D9duFRoSQQa>jO35hcO{dU+L9K*>;fY%)GGObPpnrd`m zzlWYfxgOr`qpT$@SC>J4RzFK+z?)p z(RzA0v0W@`w!}7gg)WcVPmosJ7!edc7|IU<2|Ic~NSbM`I>tl;%wm`Uj|hA`zRZ5S zt68d!k z4cecg%Dwj%A9A0remTpLc-7Q{5ls8OI=MRSv!afZ&u!Fh1*$8!oB9z3utx^G%FI0B zIMav-@&rVpHIGl=;bF_7XH9AJSFGyi1~&GtfWcPZ%_-(|@kq}|dRMb~Mzb#6Li3JS zRB#jRb7%IpfW;*VSlWE>VIGy0o9RdP4Ouk^4D2owYO@aR`6J`Q>J}xs7nuSj~+^pd-Wtr}@Spas^kWV0^eK|!pUDkF26s{*Y-?D4RYBsmPkU-nUI#XY zR218y*xMjUK3Q}Pij$5zmz)mfr63G;x?{9ggm#|Dw{+{P9(g7HE1EFvt8(NO5~M2X`{IcdT#eFA%dkXXj zUSVWpQAB;0-;M}4L{CeXTmrmm}z@*O< z(nyEMKm#moQ7dA(O^+HA+(mIzGo(+TviEuCmyzg{=}Fb-QX1-y5yGr-S*;}>p+xa3 zGFs&~9@?k%cl^&w)!Bo95W_)`anOd^3aGijwV$7vmb|&ipdj9&;Du=`ejc`ISWRlt!NGPmfrU0G+MMPlSkbi$!&eP6$fCvI(H>z&D()arKVh}8aB$>((Vk^jIcIbi;_K&}0$68eQIu zb2#HRb1?l@jgGGFTypmc+!o3t1It(Im)@Q`IH(jo<@yuqqyS$OYa^8FqSxuLBAEAp-Rr5mT|(N z$P=nby!QBI)I<^DuFg`ygC%1yaOy-blO~-$+^9~LG+jUdAd~XJ2M_c3E{c zjMDr(-cS5Catn%O&=0o~h|zu$cL-JK$DFpQv#33$1G;b7mS~(;gLj2vX>KW*uJC% zr)pR3rR!IPLUaMj@r^sZdMl81)@C&3j6V}rwIp)O_O}i|HPMO*eA<<4srC{_iqK~~ zTx_>unJ60s^7UjcFir2HSd&Yladb%xVt-Z$b%Xnf8iU}!-Ytk?ZJ3`sF4w_#P@i@A zhFJ*1zuY#VgVBNiplqHj_Ox_|{VKfCgQ8o^ycT=4gT%;p3V3Gp8MidzboXrEUj7E> zn*U^CGKvVs`i;+c+Y8i!A#;aF+;>bnc-ZbmnlL~D;zLV1M@uz zBz*rXsNiRxecvbLxYUul#?}!xe)yr@?d=U?jmfO6-^SP1pW$^Xa>d2P9TWs^Le=Lg zp!fWeOJy1jFP!`hfq^nkd;j*Nzd5K`t#haxEKlsqA%zFjvd-{Xsgi3 zwtZ{72t3HRQUb#>q=~kZ&$k`C$TBDoDKfzW=b<9}TI^;#(qbR3UwvK`2IYj1g8Fdp zh_o_anjX9&ilkb+Ag;Db$*^{aaI<_BLDgsp8%MQ=NThU2C?)MNRHRWejQd-mY!@51YivW2-F9gbLdZx6fz zi=%x_H2_;G6{<|t;CQVYY2&09aq)z@iIWKwu2wU5rCYS@F8NokOEgiM3=w zvG&i`+1XR_js>%^M_T5`?r^;N@IebJBY@ z0rPaur*z9|Fn_Ysi5bIW%f1&hG|YPU+!N(fPR1fb6!Zm>TQD$z9sb4GbiMfms8s*5 z=E;9Ne0BEnArK(quLwencIoDbin?2CrJjzxtuAXV8sca0OS?BT`gkZb-e7?m!b@&O z?2T=z&eDDS0NAs0>q_|oQqWKNOi>O)=;~zBl8Sypa^X6l+(Rj5O&Cz z&Di(Dvp!Pbs2;n|i=ZJquPbc?1)-QtSMn;nnlfO$C99Lld=NRmMalJ6j}?j%aTidg z(ki?l&$esSVfZ1B`j*d=caw~5pWtjZGUgGpPNgz;{gJJBI7>MMlf>Qt>5dtdxaNFp z+iTtY$+y~&+Y>xx%;i(A-NF0GAMX@j>rJ7wI6bc_)W_onufmoo(5$I`w|Vuvw{`UF zw-KF%tbs0_cmI~0ddr)3=qB}FrZwrqVwKQw?(#2WmsLkX=mUyXf_ z=88CaKe`QWK02;9@%TPmwhDJl?6G7krV8#1{F9p6y0jZ3<@P?H{w;jHk{<1+rx(00v7P4KHIAcM!}LZ3b83>e)ub?{VKQX|OR< z8Pd!To=?aLU_vjRc&V=}ST{~CywGei@RJX+QY{UfXccOH>n}o~zHoEmwMu4+yi5n` z&b;{8=7)-&_ehE*aASx>UIm@Wdzvix>LKA;DGswbpdC?cpt=8GLIbJPwf>lk{sWio?^IUqEFrC`_z7;d2Z7<)-1W3?AtJLqr*^G;+D)+36%{8Gm9jm&4X1q0*fZ4sQ1jkGztJh zb+N!xZVkW28=pq>gvS^XCG;fIJvizbb=$|u6khrzGa&;|@J40fKQn=X#aDK~lhe@< zMEf=~Fi?1sEVCEg;hfbVV+Z>p9dHHqEPNXP+2Mjby->H69;u+0o*zN>s|x=dC2u5c_!a3uHzo>~yL%9$9y zpLz&<^ZaobNXhp)2LB7m%0EhEP$}d$_*9~@Fdkc12+Xuz7;Q_xHJI7MEFQtUFtA!ODxRFul z2T(Zq4p`rj8qPGmQ4})NXnKy(Ny>&nWeHYJ*Tg|*(rTo{w10L>6#76YfC5&39`)_~ zk?q7QGelpH3ui_>qCKxcrL2aP@qH9Tov3t@;kqjV#>&F(>w_pNE zF5vx~g-6|2A=#js&UuR)f^65Ubgc-pur|N5PYFAU0ht&Ie#m)Z^b>31DFov>pDMOr+4&WdfZ=n ztiN|tFK?f_`ID}7cwcUH8-}?%%XZi9T@5U3EKc0mZGcTuzQu%qYk}{S(?AYrr4mAx z-0)ubvjyM~Mzpk>hU`IUl)TDCkJs8T>(n$V)Y)4Oe~8ARf=~EiXK5sH?_aO$dNb6CA7=3A|~ujZIiG35CV zCyGZJSG={B`~S{--eF{9Ej*RI-CtEYPP_<-F}mF1vea3KCRHJ99YR7L2&ox#U{T(bHIOi_6f23y^Aw>}PV73j*nart51_yNA&$mI57k9Oz-kK0 z{XxRMV%L%_@-|S_vY!2R2isC<(f1?x z69S}Q?Vt?Pmp2!dv^MEsMl0ie1+P`yYkP{*S^Sw9dr?;Z*z6&rghO}vd&TzT@E5$# zW@T-bmb>@;`}!dz@bO9B4VvxG1`n;fcUDApUoJfbk)$L8XG!SV9>ey6T#6d&}K6^+fikY z_;F}SO!1_$HHuinqXzd>s10C_@sf%1Zl79~>WGi*fbJYvkU&xykNDnd_p|*`c7(FBw1*{C&Ae;Fbvc z2i!^{*12DQ`<;gG(;>*Gq;gHojre^<$?bG1yrSp_al_N=)6$32w)B?E1HX!xljGah zrzf)tqQX{>0~;5yKhVtnp`5XOiLCb@W2WNEQm&;YDC28r7@B{d!9hyjb3+*Sw)#u0 zrl1UYyK0d<YpSPZ4JTItRCCi zS*98~B!V3?dt2ld#@Y->wja^wS;w~LEPZ^F%9|_8S89lpqosXoobN!k z~^Vc^)oRPyUmv@F+e6ZZ)#QCbEMsE*|U=<7Mz0?#SI=Y6h8t2Db0sCw>c zt6N~n@#N=q;2oG*?iSCmIBCmP>OsCj7D7ktpD{nkp;n^322=h(k1IPYwg!ra^{vkk z%yxv$Qo}izrubz{7awvbB{&Npxd|z6(7rSI9mCEu21EJ{#XUrXBrYOAioGR<%n~A2 zh|p5neG;$D@s|~UvJFX80{>2pouI#+IbK94$(~ip;0Case)^}=99f7L2qov6+wVix zEqK{ecU=bkRP%}_pY(hZzsBB4l}s)fg0gi+ZKjI%Qp}qKk$Jr_^o(G7cT#uV`zluN zoafNnYTgJ=x2UkyqJxuNSVeM6K^ZDL*`Dxpp1FPSLxBT!oDNyU+dLn1KcmMcJ|@XF zh8IvCkOJ%c@g_D8`1}Q5$v&N{DJat<2p5{|Czc}a&@wj14a zupbEVEHd!0G*a%W!e;0$w8y4cDFyC^GJESG+}pJ~3$56A!GmNaETkS{mvjfXv)Uy% z>t{ZxI@2?L?Aqqj9e0^EuwO_ykj>0s8OjN=(+7IYkrIz!<7(tMuWpKi~gu(Dwu znlR|rXq90k(eVpGQJR~1EWNNp1ku9mgwD1oZ3w*3ByJQW)d(aC97$=5BvikNB#LIP zEi)~jj9k64xN|+YOik5V3irR#YTKcQvZVbXskAu2fPNLuNR3}Iku-N-G1;R`UY^v7 zWB`od7yY*=X2Q1!_kwgT^)`a_xjFU+)jao0Y{U2|To6ane!tHSC6ZY(q${GE%18L& zh;iu(PI`|G3P&1NZzI4D8M?!}B8)U!oJCj&O}g)0^8ZNF|NZ7ud-=k05zRqB97@?K z?nI1JhaI^VLkSX=(C!!RcNn;YSx2VKZU=g|leZ@bL^Gk;IACOicX(d=e2qhq9&eCWm{&tZ3Y+L)GIvHc?of@*s4ylx3OR3{yhSi7Lr}RqWN|d? zJtySHQ3b5}C^&c;vE&BCjoIaZ<11ZJqJw6Bj2KtF1r^9YSwaTAM)wo5*C4_m2w<{f zxC-j)#5Q=B<*Vj}@}A?)dO7*UJnL72sOq>qBg`|jIW*zE54XLmEOgVEYrkNp`mTsg z<_YTL@76nLdIaAhrqIH9cu4t{Zq?aRqr{XF6@stOaaz~Vd_a8S=93*bqzSzcZm%+p z%2lbMEuQ^9eZ5HS%MAnUnDwA|AE`jz$zqo5#WOBZ2R8 zu0J0&=26BG9kWqbik6HHX{3~~C*0Ox8n{kL93r)pb=R6CmiH(5Ak-xtt&G(4bRw{9 zM@PgOD0xhO10jqjED^K{vi9|WjmR<-)L}Hzv*O=nK!oG0Rw!~GV}o-Miva$#0TD_t ze2kHkg#F`@eucGpc>hcE+ah7oSACSlKAregnb!BF;aY?F*2Ij8p0BZiRr8*4>i7ww zaRt}LGUi%`cFZyrsw-^?vuWa*1iq7nUidr^k-N7I8_``1ylza*x8I;iAO}oYm!_j} z$=N|xVk3DopKQ(PKTU>J`~*PctRtSVJXDiuOvEFof($&LId(=CmD7K$9}q#E}NatWlr1kG)b+ZSO(eb)Dv$+gzyU&uA(V=aX6;UdVxf-x?ANXP%^A+ zDr-Da40q&p%{9r)N-L;$FPX$N*tuxiXBp*th5{ZNmBsE`Z6kBJS^#oo;`snrP0C)D;ai-;-JLRV{U5eh`-QM5q=Ydjd=x`rszzFz;zahA;&w2@L6vtW zAb*_I(%i(+Gw8-+&2k}f1)jRXWt6dBisy?KKHT9>t5Rncf&mB9&zL|`Jsx5Ito^_N87GZ70}ZOWOpEp*(hz&A0*XwDz>*8kN{$C zjOdAd7uRvB5}lto5`lj1l7#xrM(UZx1Otxvdu`Ui$RVQEcs2c)tyvs7-IlFqYE`Z9LX`LdJ-gBOd4>LQH9Xz}1y?3HG!q{<0llkldW4G_kGERn@TkWk+dLtqt)Tf;n*M(&WULZnUX zn#gS7z8}bJVL!{rdp$Y(&dufN85|Z22N6KbA6uUV0Rdj84am)VuwfSU z<$(-XRgjW>x9+r^m}AO z!_BQ})6uh)95)D=9$5N=OU=f1=3r4*9@(C%_uYPIboAu7p8PE&Bh!r1+`=RcanyK#ar^UCGt1@hJZ^>op-{y_?cE6Hbqc63!wyr@TPY(}odU);nA^-T|1Rv2Y zigv65of;%wML5aa(;+cDK7u?}Ri>sLLqZVCbkxg+KbH%9b6ynRZ;?RwZW)p5doANW zi^TL@R)MDKvb?97{sD|=Lqm=2L7SA`($Z4K5$kE5{d}58D9LLVxSLdIR%GMu)smZs zn-=Eh%09bh^tC%>;x&*2UEhpgEswr;1i6Fs4)F)s&w8_qSzB>7 zBA$9bNYyYrjzSjz0mI2S;GtX7l#zb+`tU~@W+6O)PBzP!>K(Z(pXOocr_E#<}k>FZeZiA;$=@|Jf1N*6!nC49qsDOq{yR?Q=m@R zr7H*MUKzCIfg$%pq?YHaWAR6)H`d1~+LJR8XC!Wr8KTZ_HJo_5V`kGP$!ubX3S2q~0>eGDivw z^S7iUXDDiRw5q+g(y@J|g-OO6oPZiC6FxPgUA%7jx@r6%Eh$IPO}6Ry4P7Fy9>obS zKtz>#Oc_HxhrH<5Xj4yiBwg;F06{5Kkf9a`pDJkhW02@Vdc?+wFmEkfq0VC|PXyJuzI-T>d(PzUm%c5+5LjLgi`xD$Fn z@L7Jag|x&5Q7GD8&;heTKTac&gG#;DTMp=^rfGUouP!Q=Lm z6X!2PP*ib}3!*e<++KhE-Ts!(gxytZZ41G>u(`c0$S*KMMGOm*z>g97YQ}7AzH(LT z<>|alg`{dWNhO<~RwU&9Lrv=vPw~l_b_eKuJwtY|7}m+XXtT{vvi|H}i&xcMQh+c3_5~#pd2BYe z!i6B5iCj|WfQo+U`ee{$5b#AxSa^eAuieq|ekt|FvDgwH7Oz}dGT?R&XCp4XHFQM& zY-c+`Vl@?x;)d40pKAPDK$Syrion9;1>YA9sZYP}oRxy2ny41ie8WtIXjwxqiE?PV z>5nCMM|k3&48BcQ=^xKP%{fDASV`TGNbPV+(uWu#jLQl7Z&km?V_(md`q1nB`zoY@ zXUS+)kRe|KyYca`ULO&r=d|MZysc;ZaCuHF}%veua33$9qV8V=fdBK8Ac}p z=ABWH(j_CK=C>YkcdQ+ZyQoZN7`_DlQj>gVX`v*)b6IF>=C!s02EPe%lA#Du8zI01 zwUd4p-)sq7%&K~vaZb^8@C|)ofvhFnvG#BltQW8zcaL<#6a`n#%1v#0J_xljPtgqM zhlGZP5=vHmX@UtZ{N z7?F~a;uYOQ0LS+Pcnd$op8UR+OHXmsfe98)uyATm+QE>Kv8HDd}1#_JxR#}=U#LC~wNFPyVThhGrJZ0RAX5XQIi`6pF=9+Y< zYqsue^YKq{7|~$qk~Zi3zNgjJ+XW`xM{>$TpZYt>_yEzLfJUy0OOFRbfUjGwT~aA=;fO7{EkQak69F^jN(yPywSJM=nFDdVq4q$+8kn}=7klRw?S;ihJ+2Z}3sWZv@w z8EWh+S$_L%g+x5VBd)A>EC&$Scwm@+Yo8v4Zb*p* z+0^9;E>A6)ZnY%dL;RnR9GG=jj8*;OB83`G+t#6?9gkxw>S6A>d;b#U*1QB4lC`co zfSu_??R)xi(!0jMo4;Plu2IVHeXjB?&C(fwdB_OqIz9UOZ8Lwf6W=c>x9tt_E%t>i zCVOD?+Eh>SWN(NeBYeRGiBtx!e>OP;>onY7rJ>!%RJhg6V8r8jnxO(w)>j}>`fehA zh}K#U#Jr*^L+X{X=OSp#fMdH9HlCqUYhF__b1{Z@H);+G#b#=s1B0F{!Qh%I=JN*7 zALUoTANECr2mcCxvXp-i>;zAkNtYHrtbTKMb^Vj}I~HagIFuJSwrJGd zgIwv2Lb-@;nohNsVDZP&@gkt?U?X7THD-i|_0qVPCRU#8NXHD}K>|{MTH3ktyhs(2BW_$?!Hs)oy`&ox0?oA`H4rq> z<4YE@^cyWF(P^9qEfHpkA^yHwnc0oqrWDDtmZi3L&C}d~$U`HQDLqF*Bd-MuZJ{D} zFaEZ-Zg{gZX<*OGAZ5!ow_kuL{#g!D)8e5jui%t@PEm`F-6ynO6kh)zFiQ;hT!;IT zoXxRB_gKRLT~0F4SRe>AS-j60jeh4IruZ$uWbmWd#$|Q8 zq^_Cxuvv6k2jh9O!~Pabhvw?z)STQPs+gIGS<#o*+1ik-Q?c4`4cnry5u^hd-c-2P z@!`=x)*4zDs}wU_=``DUw4MMZy+*sP9i9A>-tV(tj4i=7V{wan61q4Yh$fs^@sZ5g zUkTdaG_|z+n6o>&TE(9LMlcxB#o1Z5$Ivk}VlT&wEySNJtO(KHEMUM`>&=Gk=$Q4$ z6v41g;Lrol&CRXL@%#7h6sBauj{O2|@r}M#4Y z?P@n>SD4rx%7rCjzgy{&Kx*UELnLY*HATy#l6vM=WfQX&4`}_>2Aa?Ooz}w0+*K-G$RPs)J1*ohmPHVd^vB2<2_h%OV-&lPNS)>@16R zYN|&|;|Cab818ERZTsLYknP)Y`VTm30U^GxU%$DumElet5|Fog4UOj2IxSy|V1$+1 z+8P^d6ayeENtzDC1+f!{8V{Hgy?S;>7j3&9riGXvjrkh4K`wkO+*Q1aDY{u6&3feU zSAxzaS)OBn1^Dvr@M8Ypd)269btW8dbl}mC#GoKKHZ86hn%c7!6$URk52)Q2&2*(7 zHv4%*l08y*#KgJ>Mn@+S&An}Azr7Qw#dXv)5#WN`hGeyFVTc5D@!jrTS+%Gh3ScVE^^spW7kTd z>d|Qcp(#e#9tmcTu)~xOEz#0&;e39aD7jR`;6#b-U`=~Z>>TRW<=pW4E(Lt1H_nIg z4hJxku!Ha{Y=iXhj{LB{CSFeVlJmNG=ufBerMNYn6Q z5yV2)4SDjZFwAZJ={ipXu*@?&dDtrJ(@htE8px?e_8U??a^6JoEcvJN&XUAEo3F;i zUo0nfx#lHO1y0Ow3i!M7UJJ(hJhx|l^<#abMnC-Y^c34*{v4wVNy@z-+Eg+m1B^N{zrUH9POLpM`2HxZI#HlRCOS6nj+kQs;(E1Q#pbY-4so zy**8`w}&`;^Lo5GHs^0Kh%KTYHjHyzF0bLUs zwSW5)E_d7i1106=W}S`Rm8|UjN4%}&=bu}fn&>$3Pc!@Ftn_NSHpCySr~hcB#si!} zFTBP3YaeUBs7xq~97C1rt>U_>za15n?cBFI?NU6k775NeC^k@{<6bG;adnM;7|X1hPFD1m0 zUQQnr2`gWAp#a(%O47HKwN=){&L!WmViPbu5ljF2&am)7z3f4GPX_RP2(~2 z=J8A}_cXix;Jo_sFyV>zGceL+@Nypby1^pm?5g5!**Gq@zG;nAX2K9>u4=z{; z)56Ww&F^P?+9FR{tazaaBj$@-e`#bS<%{^Sh${5R$+7v~o^j@>mf3|4yodpKF$i=THLh#r-o9FGJZ!_3*I@CxlvG` zsZMBE>*Khs2-~({Tm;WUcrbS5joQnZK6m?N0m-EA0g);OuMqhUEX72PhTBw?>I<3@ zWy4%GqA#;EhrpLi0^Z*hL6lGV_R1nw#fwGV>J_(QD-G&I?2KL{m(lZiXWv!(z~CiI zFYKtKURR4PveBakK(4-3QkSQ@pPzmane&c{5HdbLc(+YG+eSgnVpEH|Y-Ll#wKgS| z>eG@oBz`I|hNQ+(wZ!}LOB^Y6JJZ6*w*ex)iAPyMGGLNy!){I`B+VS>M5>w`;mapQ z>vj=r#n7RTu!xWLmg;(j72C0|V9+(VH0!29gnoOSdi8fg!$2AS+a(U=xWSd{HSOZ; zCR>^s&#c;gwT{b4=P65nl-Z{@Gqbn6!A)>6m=eb9l6PcJq-}ors@P{=N7`#{V`{mX z?E{eC1B4H^nQC8c*-^%CArg0)5q~Q$a1)vevAc84r5|@VLa9JuCe#+05#l3N6iV07 z#;i|Y{O->?h7XoABI4j%!F%Bz*#&P>`e@QGb3ON5>ziXN*G{01#=Ah-oueyIR2L3*2 z8xy#bpSOi2Jjf$OYLRS9uSb0(x+WnVwj+Hob>Uq4-H8d_lEJ_~Pbs=_Fsmn89I2@< zdO39Wf~xshQW;~a?YiNjoWDz%cHh_8DQ|F&Hk>k z0MK_X-DD%%91PxACXNwlYp;6GGMU{c&;Z*&Va51P~Aff35#- zvIQFBAjYBiRVIu#h69H)jy;pHF6%5?74w)e{?T`~lfRMXNtXLe@gI$=zmpZr42LI2H?UNb8QxmW;Wx z49Fw#zJ|LUj&<@!XbV64!s6MH zMf!s6-cN=0+J1GWK+ElmZ{&el=2tQ2>BHp@4j;jyL-YPJPKl4SZHIdsU)iTwY#A*+ z!>0^FrX$T=P_>VD&J*D{N%iF>hre)<1%zN^YTV$3Vrn-$2x!AyUWg9pnh^99ON?cL z@L7f;goD_QKJOX#UQ?^wlhHB6Z{ZeM@xJ3P=JoCLt$dYKXUp@27-lOJHkW<-~&PmP}aBgsNHfsKA4;SmO^pgSlme1(H2>G(cJ7IcA#Sd5HGjzgU6wCLod;y9=(;nT)8P?)T#L)BAoPjljz_d;*GaaeKGh!GHJ2vWTBgXfv&vS2~s(`eyb1b&|d}{c!MtH%V0wuLU z0JW3%fb}bd;Z)-*bs=-Lo_86clzcc;r@v0F5hXmoMkPna4b~A8@P;c5`?iLW_-GC< zvhA7`qhZd8GAy6aP*Noe6qGXXCM8y-t4o&n9K|mlO1ll=m+)mK{yac~%ZjT{j!>d2 zZJ1#W0pqr#nYoCvs?}zdq}w0(%u-}(Rn;S1rtp}Ha%zW|M{+B>PW*fp=n?%tkc}W>2DwWYg@%B#l z?7L7iKO2@^2RPqIhOTuMd6t7)Ww88+HL7MO5r?Jb3d+C|-KS4x^HieHQ2X@im-0xz zH6f(fdNeYJ%dW#K9ttFa znFR--oY&$SfZR~?)RB>YNnojn;Okh?RVEk4*$g*d&jS(VQ`_ zsqo};W)ku&J=~e-R=QVTuJ?beJ%0y_d*7hBzjkz~VgI4_y%xP=+Re}z2_qXWCLk0O z(Uns`6x8Lv3ZRIkc*A*=V_!9*tl7~LerjrPo)%$j?1cQAS4Nj2;)LNKAodvk7q8Sw z@&-fxBh($``$ypmg5sC>=UtXx^&g+j|M?%k`){6AKhTZ0gy@oT#-vJe^_=I^{Ay%eWkk3hU>pCU;qA_Z@&KB``>)HhHt-p z{_y_t&uh5;Dm=w&OMJ~e%cq}zxc=#@>p$?7{`vW@m*-EHmY>o!#r)K+pZf`ylknya`f1>{ASr(D0 zq2P;;pDy2DKK}0gB|MdDkXfYEP!3nFQHDQV8p$>`_@?{b)?wR``7R z+vP7`UF@WP_%#mwZ~6OM+3LqP-|3HXoDBlnAlUd!0ZYrjWimR*!eI4#a7B@Dc74Eu zg{2?EcOl^+W#ySY6;J}(f77_l1t{U&cs?+oAoIzd)~C9Fh-VY3Ml`kx+oC1J19S>p z;hHw^s5PO@S!x4kDQ6N1oJ`z}#>8!fm%)3>o%Z1I8F-zaSk@>4(EkfNVv3F)N7>t- zC*Qqp3v|D!D|&syG;NfgV~W3yXvB4QKHI?goVduQgR}e5n7FO*e=?$Pxzirec#3Eh z9>z|K+WVg)nrW;to)x)`^#-O_g14PGot>Dg9xz2E?Xjk}q#~p+JB{7{=p5wIf zw^m}Y@^Rbj7Q59V7#D`7cJ8?bw$aee#=ZS$=;w8n*I@V7fBWsRtLOKz$wGI`!xz1e z!zQr$?weJ(xn^~>3U$uC1#mlQJ9SHmuX4YIHG7*N1~r92WDJXh_}S@tFb>1UE!Vy> zWxe{s&J=A+HPkh1z8gNfp{J;lsHVN|KKq>c>dVf=TkNnGlYYuPpwyfEbCeS58^9Bs z&AP5noq@-@f2i=D!1>+Z|N5_=f0&_$hkKJMJEka|F6S@m=IcO}R#jRlsM#Lez_jBP zGzYA!`}5O9?g3+Xl7A&PBnGPhgLg1n2>Elj8-_0d!`tl12176uBi8h8|QbqgYDjnfgn z5b{!qe5QPko?-&7%*}F4L3xmkrjWo9%Zr?5jJUkOUwyy$YTz&8kk{~+D^KonwcL_% zmyzKb+|`0>o!sTpk>4?Y?rK0)CU+Uh80Dd?Q9P^$rue$nSkV%15>@~mRTqI||IR(_>XDAi2gJWkA`?GGI=G| zS5VzUpaSJIA9d@}S!N#T@D852N=3=lW}ee=EU$Pq-?fPCtaqbMI+%^?>&$aHwpA)_ zSigT;;;|axr}Scib0Ao4WQ;n_wa&c5kGTr?;WN+ah)3D5l#-W45|Xf*)vtc9kRV!e zPp5^EqgvH}&&3T{L`vNhUqeDYxp_+XW~fM2zGNy9ijJxmm&84zI#eK{sT$o4Ky_^x zLYQPNFF{G87D0KK2dLcS>O9C^DOpJc342XMm?0O6yqP06Wk0!Nk(NIa@^a*{O5cN|p? zMrBWb9P&}}!wF-cyNo`%pGQU~FxvOeYLc{ONsm}PHB@9TxEN99y@sVL@{XR%CSqng z7*T>S9|WYW7z_6HS*Nvn8j&*xZGWSnE6hfD(JU<|6xHJxL0Nc(SV8Esc&zN_Syxu} z_gQl02yZ21A4Pm;>O)UXqiij!gr%abe2DOWhVI(Zc=STu61oT{6wqTZ3nX_5(APy_ z?u6Kjj}A&o$*c3t9RPKZtK~VCnK#B5ML@kb4J4o~)mfng$tuI3GdV%#)}RZb!#Tes zIO!_2-5nsIrTIbF`qo|Zn?x65eTsHN;6h&12_oE$>P}Dw0MVTwW%zJ{3QlKdMTLle z-Jwa@Lo;)Ps#mk`8}%F4bMKzGlVHM_2!ZN2*)sDkC=uHi_gu3_J&z$tSeDGkqT$`Z z$1;GL0}Fs+i_UgsOGIbJfFzbS0g2fnDFY-%+uHz%-WcM5RA;6EQo;&Isw)VXF+qqf zI1WN}NDymqav-q^TReXb$&Jrxy^w={t29>FOx5tZ)|q!9Y1?!gjinxfQkFF;uKMbt zEgcHl#Wi9VYan;80)xzUMYZi~{X8aZZ@=7T_Ex*>b8qRiI-o9zL>^tW-AzjK{m8v- zHEye<-gX(%^IE1`n!I0XHA|<>P2-*xM1>)Y_9hL->ej=59swBN5bAk*lMc{-Duj^9 zy;Z0#>&Ec*rsP@>?M4<2JjwTFI#nKG7nVJT<(57Coa@m>&?Hlh!hzZQ0u@bkD z7SSwKF@|DqhM{q)INEguy=scOonz)%JB)F(`$=w@mw;*0fT!91p07F9o2sO?lDIlU zkz=-!yhG_Wd#WEU=lJe_nAfk~ytQl8N~$U!tHhU*_zkwM`6aRM(4+TqT66R^BF#J^ zOHXrpcaNtzU9)(aGt`-69uB=HIo+X0nv*;!Y>7@D2}`6l&7Jqe^6ctFGIKV3T2$Y> zF%+xKHc?Ahnh!e?%I?l1VL2L2Jz+VL$aT8%1t(HhzTUl`Grl5!<9rE1d9~0+qy2&r zs)wDugUr?*^M-qp7+zuV{z83edR2&oJU4z_XHL+_K+9-^rV95YYu5d4A|TZh($xj$ zNjfLHF-m$xbk>}7o3|rfuWFp6Pe;;7?;{@BW}cI7ft?XQx?j)9Zztrd%B4wur0N+M z6q4AnpYta93UI7{8MRBb{;|5E$?%s;nb}mEcTRfb;Mgf|Vx=Vlw4WZ8@dK8M)cUAJ z+f5r)W*>P4+N%49k=LNtRbK8ac>Dbh?&5iyONTpkS^+=l+tWUco4!5KT<4zR{a+sD zQ{S~DRd=U#+P3Vy{LJL0&1d!ktv_8p`<*#OeJtx*=TY2$D$HV%Xn4u#o+;qC@2EOd zaS!rjjd~*t@Sh~Pi*KXh{99nOAB_NDUF9{sg>Svz;RlMR-71j+r1dQP;N(^CHT)1| zLxsXkD<|7;&u)HsmL7`LX_trQ@5Cp_>o4p~tT(-%^^6Cog z{+olobvL|!+xl*%Jl$=pa$=FRJlp~87RW=mXPkD^e31N7P`x9Z-(UX&q)m?n3T19& zb98cLVQmU!Ze(v_Y6=Q7ATS_rVrmLBGc`C0Wo~3|VrmKsH8>zJAa7!73Oqb7Ol59o zbZ8(oIUq0~QZGhnY;Vma%Ev{ z3V59Dy?K08)%h@f&bfE)>@#_rHWe15CR6YUs9#EZiQBBzuKy_qGH=r+FD#NnfE#8-bsSke*3<^-yiSi z{g}yrIp;b1InQ>UvrN*}(H%nu)Ppz_sc(t4|LV|>9!3bgiV(KeZ|sup{{8s30X~J0 zP_U+bZHr;`<|PPeM2NSpZQioxbnIOyYwAI0N?&6v+AzPp#DvhiVrXMhBP4VWe@6}R zW{77twsdViW3Jx?ad7C~=C=CiJY%j6p-Z!WA-huPq z$t+r|HhYT0>2iC#zSK0ol%5gD45I&se^f`28=Ob=ICAqLrsv;tCYMoZwMg7oiU zccKsFqlbW(9zw4{*~`&&=qPevSK?!IJ=(^-4z;!+Bg#P2(IV7_Zo`))y3tDX9)ANW zL6@Oc)Q)=+)rs2^cO@Q0KSW2kUnGWqkREwZJ$znE{8jbeiQl6kC)Osugb}2pO)v%?%}1}{0TPDRW9TF7!q;#!p_NAx@x*Z`TqjSZ@^iANJ>ksIZrc`%=UKJ-gG zzzq*=9WJMc1}u$3rI6Ex{tNvaox}nBQ_`j~s0vjP)m4c%kR44x%V4yRL(LEIXXHBg zT+hA8&rZxhCcw*`6x--$=nvR~^YKEwoQxxF=X?A0`HJ zf_sF2ia#%;4xdVxfFdFE0Qv!c`YATTOeNfjzk}bz?~|Ei6?uUCk^3J11pjMw6lQ%T zYC*T5r_g8EiYMd6_zK*Juff~#o%lZd8a|27km;m~tS6svjob$AC;SZfEaf}-8&o%` zZV}E5R}UW_{?+hjiNeH9Xfg1^Rv7)==s}p-5p)8*1)ulOAF&GSu?aqZ5>Cg<@YV3S z4&R0!#{2LSxDR?ciT{W{#(&5E#ODcuk3hU6on*i#Ksv}K@;&l>asoal$zRA9oRiDo z!rVlzjH}_=U{u?=UGO=?{ek!JC-?;5xlpxRwMVs2^_1#))mg!y{*DG|Uj6Ekp`4+2 zhtcqk;oZZ%!+nWApcJ5gp$D+wM`bYjD16ody>|o0?MJU;1K`esbMQ2L8DM4=UWYf} z&49@p@%{LRZ0tYA&jFTxi$8%e8;OsNc|4g&W{`#Oxst@l2C|FXMf%8_H|S1vVP|6K!?yXV`Uzn;3VL8VHy=`5z&V!zUn~O+aX)H8t;&Q!>mbCxGQ0$>NIZt_ORPn$iMvo9=!5NvYoNt_=mT^I+K0CdUya&P z8c5E&_%hXOazZsbkwP|@%Lav(9AYlr#1hZZM)9#8nO4mBp4(L(eb`k`8dqUvyD z=CZ2kk@9JmlueydI=N(GaZ%xfg8cD$x#65~*;%1rW*{S7@~5TxydJm9=}58LtQOI1 zG8*(ctwt@Vc#dF{TM?LDC&fc`aXu87J2#KU15rqbj!CGCOOQ1C!ZLBGjun$GEE$24 zYra;0G9s6ZjFiNpREEm(a;1uZ6n|}2Kpd#lJhMKqI*tM};^r_bf@ZRA;=;_h znsp;J(b=F|qyxDFJ8$h5(dxRep&`%^U0EIHqBXP+OBni{6?a~B+BF)5#;r4}w~x*B zayu(rO%jdn+__zf?_FFyHaDI6H8s!%)Fr{$bvtK6*S7)^E0;>p8`)M<9mm_CONq{Z zgw9HyUo22TQ|i`9acy8mpmFEAIv|Z_XB;irlHTj_M2;j*Ay0+0v#L6f9xwL>YNE4z z2kdC)k}U__5y^dFPG0T-(IO-EfXS=?2IE*DHj>96R-8hWOGYq@>4*aJfFa^iy#ynv z4#1oyQ!h3d?W~^+#o(s~L#=oNP^2k;uAN!8Q=CH6Y5lk=CPM;O<|1FSbSn$?#6x+2(*h51b{xY2yh#%nUW9a zPfw==zNJ5cRzoD-v$$H0OK7#X7e(^JHE~i$a|V(*Da&Y1PcmnudR+iGxsREDzbSD| zXyn%{I&2kD39QpL_X1-F$|7sTZJ$s>6R6t~T+=Db9Kh?irz zz?3UT3e!lnAdd`kGj z_|yyH7Yxs^lY;@nGFVx)V&_hO-358TYI2A3lmIv$RaK`;GvjC(NM;az`x66`sjKnE zBY?7*v;gp*oTNlADCkw-8u+2ynU^~o6y469vjfuXopn2-{fVB{0Z9z(JVKr)&+lxn zs7o?Vf8yvZ-uUcWYXDb`cnSywK{E~n@Q%d?B6!Er71c*zb0+Pms_rF!n9Qu3QF9;@ z@~V$W2t`;bp{X>HMkE?Rl^7=3OEj#!_ecbx9+u0q1QxIF$B3nAl4%&#_Y*lyOr{Y? z_}f{clOPy38UVVS010kr*z|BlSp8;gVdY5uhK56%xH)o)biB;wRa z0jbfi{*|45A3WU^WXh@5?@efdQYh@mTtCZN%Vz3hwe^FKf;_(wvty z2l2l~EVMZpn4lnpLocyWX z&`~yj=(IQ{WpEUK4%ZGXsEEz_a6<oXDPN=ORc373TAGJm<)DX z$ZoKBvDKL3#VCx!;jOq9)k6IuOHsOUvTX zyKB|BwsB;fFW*#dy2G@`lrX9GnD(1KF>xjX!c+h0> zan647%EyblyI=1PwMQ6~Jk)L@?I3W0nr_-4H%^0gILmg+KTJl@FGm4wnxOod&MVPnO>R5%{I7>I6<@ z{20a?AV3>}f)L0EO)Q=?sf2wd7H3gzRA)^iz^4u{d{gWWXCTB0Y7+slsE`)o${LQW z+yC60&bbrUzr7Y0RqVKaOKRNJdh+HSPc9OFwa$#^e9qO!+g28~G&MdPO1)v(?5DOZ z*t)=OGI}zDy4Ji)YBsnw+)^2dUOImB+4I{jnT+4b_KDf^^XJxGvG9^jz|lKE4VI~n zGF|yv{}Bb-*?uER)w zPzk(FPzP0r-^1_avphk(#Giy1&r?N4`2&D2BTh<5p795-qrLKWN)KM< zNCpfuwFkgg5vE%B1sbYOMrg#8$xs;rHBmlD6$C^7gaTaKu_0`mSd_w9iYz<&`ug}k zpEz+og%6#7ThaR5haklcd~L+0;shIi*(dgk?{gp7&T{8$0`zw_QU+>&i-_+PPr6RI z5-wiS*iCka)u#eI?=b3&CW9%{6`_-HMd;x5*%a2>>7?|O{VkN;^lWRHv_!qKT*6XMUK>S>U3B5j2G^seD$MCCP;G&%FDV|gucb#>ScGq54+%@2T;$0jm zN^t}+h~&9Gi-k}%{3Sy!8bK~%y(5NP#4Aes%ZP>PYQn^rXS$kpVTC@=Qgcp1C($Wb zEEhP%bHM%KQN}O(w2aBa*i`r#EE9nQpsNQhrC3qX4#A?;X>@8GCx{`7VDe(K&Z?;D z9MIJp5YUe4YK8m9DC+GGcfV7A_s}9y*O#+?Zs+5C=$`!*?ehz-9qJ@EwYE&Z>(!y> zC>6^SXSf4E#RAS5xthk!pFcI-dOb`|^!9eAMc1JM{BcjPtjPdxDsm-Y* z)t92?WyQ=y^TVY0eHgJ(R^ff)^?ncbWV$0ZS8*Y&o=-KZ+a>#y(cKQpYHo?vbW60B zn`uk0=7 zNqJ#UAt@9w#+k?^+a!#6B^k?P83X75C=hYeK}eZqk@2NL2=iX#7gMPeg+-7#*~7H^obcAIThSOBi)z4HTZx0NBXp_B8c$&DDVZdT zn_8AMyAveOnFh-ZTb#;!%{O0t&E|>0@4k57!s(N9?p%6*?N3%%;)c$qYt}g&`Q96k z-Lt&u#cNNzg)i}~?}*L1B;X1b&fB_R&X#O{c<$9}T}xIjDGB&eZMw{&>DR1WvFGw1 zQ8~>_{GH^e?n6%W-$#%RcrXwu)>6t&2cX9dtBApx@7e6_3} z1qz&v=qY!o1xkN4Z4>Ga^Xn_){I?Z0GXej76(E5iKjm;qYFQP7BEFEMMdIE zbgc=8gHDRS&_qjMVv(f;v|7Mor>G~Q=d!ZZ&AB&!-gxlPAzL^*?V&y5wAjO>{#LAR z9=`3?q3_Pm^-vt$0A2}Oh2KA{VoR`!N^8mFVip!pl*57va+nchVI-L1EHt@}dktg2^iyS)I`W{=(InNkLd%pedqgEG*mTmK*w1N57m+ZR$#}snbA@r=V24 zG~)ClUkX{q)v9W>%k(jBy{b(c(`!ewOtu)tB~j9)5y#ihF`@ zx^=#1x^J;{rF)4lYHjgEeVc{NDd)&Jmk7&$z1iq=E^^d4+8vz3XWk|56^SVFUY|~l zj>?*op+VM=bh=dA+->vmdS}E47AxZ@Bjq~UwUJsXbmB%@UJH6EZp229pW-_hD)uuT zrzWZ&`yEAMraF?DQ|wols~4&{wL~$iX4a_M#~9T_v8?tnmSkE}?M_n^k%G-I?3)&U zh_LvcV+-*7LEy$AV87GlgP?S3%Z4_TF(b&zOdw`{;td_xNu?WEL{wCWEOvD|Qwlge z#0*gG%A>h|J@WDJC)ob`-(VB|>Wr>;Tm7v=Z-ZECl@Y%nRVg>cmJ&$ z))&vd-1-CE?7G#rezgX0x*H)r2XvwewL}b<@LZY-X(S%={p9h8Sxq9)QArJoS0HFs@kyM?3-OTAZpWAE|^nxv7HB0)4K{7Lo2#6o{yyJ1b=5dQOV9drA zfA2xF51Xl>*WxS9wl6pD*KrYJ#7xXmc0sX7J+(n=br@aNEPa+C%Q(p}$vDw;pGBW- z&9=>T)L3h5H7QNjCR1_0HLNCw;kWciHeBUu2@%5APLuSB5#NJP;BKmS`#7b6Kk6DSe zAI~^!#u=!>tD{+e3|kS&P+(YS;1(GY24a8`2lLH<8&clqm9Bvm7?3x#0ZcHDYY@Oe zm-y*vw|E+M*&dfT$ROmRi!n8VwyVa6HP?#AA#{aJ03evjc9U3Era4|2H!ZDr zm_pV`{1nX;J#BHWri!oCtkkbCRaw{K7{5-lUf*PjS-bhGG+Xpn88=xs*>2)@s(0${ z=KD3zSYPB{()^bHZ_Qh#H?1G>XEbL_A6jz-P%06BivhNtqJ#Q+4fSE|{QMvV6rR%? zP>Nl2=`6xBfu4MsC?pDq7?DOt2;Dc9QMQAnO6I;=`nX1m>BS$X7e$-dWHe$?G+L}S zn;vjRjC#&s)9JAw5}Q_Mvq?y6M@Y*Nqfs(&c7uV_X|)_jh|Op;7?37E1*bTj9?1}4 ze75R;8A-QGH=yHm{kZ?oDzb+V0#HOJ^hLx);t7!xp-@C8A-6r{`SiMd?D*2-o2Vc3?pWCx_qONQSjkZ%9qQ1f$gSGQEyMghB?J6Vhx>NTUz|=z?8- z7>|K#Fzhfk6k%M1sW3o*12~igYrB?|3>!Yex}|{$GjZ1ILqjBdcK8l|`h=9>UF0i& z@?XO{y2}?`j<*fX|LO~(&zra?Z5UHoI0oKUW&yu?2sW%5!VKNXm&gWhQL!B6706-s zI5`Z+hVa4EG&yv6WWzYeC>BeqU8?;m4weao?m&A{9P#-mf)=6o!1z^JB}m+bI98k; zRU((NlKdsPlKeHflAMdk$KMiLOdsZd->ez4dH}_Gdk_XKK@X#9M~+LF(MuPTW6v{F z7o+L8pR6M-Fvnal4M;mj=HvN<-~b{XRXY@L^X<1$gYR^$_#w)lKM3{+;Mq1YJ!Lu> z2i$syV(KV(+tF*#N-*LgWnko&twL?+dbA($dm(=>|Iod3c(t|EK7=7mEJ`_l`r2!+ z(YlKgXShMI);xHHvXT{>t_QWN#}qN`&?ay7>D4Z0D}C>a4TXIUgVoaQ7P@6(98&G)A{>9ckj$ zsk#mA#vbEihC|xJxCO5kz zQL~db^#pHm(q@FEMy7FXhjP($gzgX~*9>-iD)0B1*=;G!7i+<)JWY*%M=BLHNrSuC z%I+bOn{B#+aAgNlKl$<7!=H70eDl-4_wRRKzhcLekKVZMcD&8`%n6)|bw9#n>;8wl z>ziMA{mtjUL-$9sV1JYaG&3SMUVk{nMW)eJp!d%UAp+>V- zXwqnk#VOV)j)|@cvC>+9>8Nn6RISu55o@irjwP-ZRg1PkY_YaD8eE%jidIk=ui&aw zRk|w-&0I_s(={7(P9Lwf`1E>vrZ++v!OM<2)lB)bEjK%hQ5XZZ*6etn0c;OL0k+qs zfU?~lh}bfN#RY1N)FSNXIrW71yx2?A=h5vFz@|)OFi|12G6`gVyoY?u=w~!j?wHtZ z8FDb|E&@%`%PWE=c<8nX1Yq=Z1~yH#AP{5DEE)Mg_kxwW0VFu0U8-8DU9DQJ^k>2e$^&Z@|y_eW<*6kaI|1k90 zpTC3Cu<_MbUj5a7&t7>M2DE*+iBAU#T2UHa9l6~g=82bxl_Fm*#UuIO$r_)YJ3CR)Q z!(upPB0oi(&0i|65I@lWIdxdnTTHOQWm_$W&!k5tcjifd9Ts&FU7fB+$4iWa5+kRM z9`orbA$2Y#F5AsIs{bgib@Jf~1I|PO6xq5iY%3x~)*wOy81KS+aU7q;ydRh2g|Jbi zCj#sg0kgY9%#=M3#K+X6HQu_?c6ZC=)zVeq;CJ55*Hrb`G%EiLviTS)8f!* z5>OGyNOy97R(9V)j~LJfTk;CfkzyzGU?$7LjiKK5N2lD?xZ~uy?)R=|n3f#D|APj)U|d~4#~M~2Vea@mxj^W3Aa9e?FFue|(Qc0vQ1^AvsWiWeS19=hL8 zaTXKF<|sDP^Q0oHy*O;cnHrnJfNc&is&y70r$9+JZC+m-Luyd_ar>L z#}L$xY^SwgGD+H#+EZFyo7_%oN4C>i*0WYed)3nR87;KzZU8JTdI!G1eZip)7{!AZ zUjo2?zM2YDd6~SQW}8C~FPe;IBLRC((5N(=Ao2z;GHNVdM6UsIa<g<~LV9vQX6b=`F2`7vDa$@B4joTNY02BzFxRylujq#Y^wlK}yfR z4H7mRsPi6J4;GY)mqi}c5#AUy78_?7RTJ%h6MdJHD%}$MQr}wApo(eh?RCBZ{~M~` z*xqq}VEe%SiSy6y4^mJ06Ml!^ANG_v$~={xcKwtVb54O96_ziZBXV%t28+X~Ci;VyUzASa?5^I6sqr zIE$6N2VfVy>`j2c-UBe{v#^ajdkJ7-F9E0!Cf@)=X0QXWE^Fp7^$GQR>V%q4o+hP@ zIZaBFmusem+0nL|-PqF8q(x&-lQzsB92%uy?S?XOP#h{_bS$IJQfg78it0#(N)weu z4akGX$P_m@cKrI^bgz5khPvJP2ZyA8A9Zj1;l8UkKXlWBx1N7w59W3*o=!|(&L-AZ zU;gQfZ@+pR*0sbC?0#y1W@==@YY$_S8L&d=`K!Z!hm>I)N52VcsW@lHtOTzKMemc{=)M+a;NaIaD6(ztAZ%*OJcH$@fg12j zH@0EAv4u?q4dpw|($ej)e=r?~{jMB;!a7zN*TXh94Xl(t-ppy#M-yieN_;*Uerj;X z24(3BfTbSb(m7i?N3C^^6#a@+zw^}40}s80|90Q(3||p7Rq=Dfv&ag(`^cu-Zb{yk z(s%uK96f>@U}l5r3(uG&Yx zKeUQGwEgO(w_iK-EX?Vl#7C+ON+a}EL>Dqw^VOP{G(1Cz!}kUuXF;A@nde` zSG~s$t$rTcDIXWW*5N3B(>OOrj4G1GbFk5*PmHzwr1PL8%k49Qgh@V!Ie-sgcEm{S z9zEj|jj}WRd-7=UkI60KSIINRtF4svX7M&4iowLWu=K`t8vRt;vIoTrT99iU?Y>{(1SRUOw z$cBzpF?8fb&PlDoOPR&fWyV32;mheU4t}ou;=ar)kK47;OV= zRnIvQn2z0)j@=Bb*{?60*>&v>mkDo-|L$z-uWozps>fo#+xuUCy6>@Tui5wXRh#!! zdlm-^8&;IWZ^32n+>7z8_x60X?(-9ypWiJHti|2!XSrfTZ-%M_v`m)pt|E$c}SxdPZ^~%)Cvv0PU0+bV#2Uju>Oah@Kkd*`i zOe*EVG7wAxp(Kz+we4&QWgA18B$LYuPBIqF(<55RB^Z` z)L$XLB$$7iZ9@kaP<2pCnNdDF8LDN^1j3)v8Cjh2^DzKx*lEHjy8>IHH6VKKzgS@NdP|+b*BcIjdrAz!?pfJQ8dBX+zViTTQpzzV(WQMMdkg zryknaeWJ7LW6G)bA|#kWkBa29e2R1gY3M3VC$2FWEo|xdYaazv^hIhmg$xYmDzkxq z(;`eXTD=Krv_z*D*t;pVQPjh7ahN@r5|R82MZWq=p2vM9D_eT{^cwR(i4F{iCr=Jg z?6IR%NJU47+TN29vS7W?89!>7FIaVdpQBgf_WLiinxmoInX1;NTNp~-~kK3)@t=Y#tt`@AsY%&$7h+U;38c?1EDh+^t8p9Iv z68db2Xy`Xw!5A=^L`tVRYmb#!kCJ`Jh$r-_Buzh_5YZX5Iw@kfUXS%hVUi}ShaA!m zCb8Cxkz{TcvDivw9wVw4H5y1p$iNqX7vK>8Ht>(1sfR9AddNX zz%r(`@aXwE$j7M3`x9hHoCh9%d=s`6Z!(LwGH!spY<6g8OniR8q@$_qaNU@A<8XSZ zDL0*-o4;|mq|{Vc!oWj$keXL2qr9er?s{r*ZB0#)C0#z{P6v|=2e9Q{oQba}aJVPp zRao`x@bdk`)vBZC|9$Jz zR@$!+udwraLmJQkIbCUlo_JeB8Xe_tji_+vrx7n@6pcsnVEFa8jQ`_}r*i3QNE)t5 zqvUMz;?q6$;*;HcE)X}=o>NRMYLZw>^O<2nZzW*nh3tJ0Nl&)`EbE>?`h#TLUGtmo zs`=~iOT#>+1an8d zzx%}dD_cIi>5)Hw5;EbF^FPI{zy1I(J8&kldQlf7}=0XwhHfq(QQ z8u1G9ZeCa}tk801<3CjA1W*8!83g$eA(7AO*ybq-a1_Jrq1-ZVla5#g$;R#q&mOd9 z(YwR5eGpnzEP-7no{iiHDFV-{c%ei)hgSuKJYBVJ6W6VOdz*V-P(LQ%fDlp#HKoF2 zZMkuwv4*b^s?{~xYxymz`?N0#zvkZ*P75EaKNG&tq*!%2702;J5Y$?&1|nLGCa4x* zr!8<`+^BS*baXl`L_m2W_RV_Odm$ZI;^qi!)0rudp`o#KiJjTAXN79dE+aPTgNOt% z-j#f~N58XwFyW%_EXZ$|tc=~PW1fe&4aPsD&sj6}+X-M4vacI}Oq^q@G~2w%cYNh# zKzXWz_^}twYEe_BDdU*0EIYpcxsr|*?^RrKp`>En_kM%dp-vZ-t85CO9eS#F#`(@=#yHDE*Z2d>pMKw z*d5TD-Co8#sCBN_MJxa1fVWgJDr)36>eReoJ5Tu{Pi@)JhoAg-cpX0W?(jp`!-ncP z93S2|)Ij`K4PQa|5+yz&r6AE9T6zR=Fb;bu6|;zBFTIDugxkaI=LokEv3(c8P)^64 zLF5d7SXoaT0-bp9Di?jd2qrn(9kUDkT0p1#oGyh9`UsWAVNxf|K@QLG(4-Y>PEqr>?go=+J`|z`zG?=v+^vU1&5EAk4mHWSc z6f@QfJkbh7FzS#_dBKt&rjJ6(nXdCbW42;*hMVzSWRbgcg?Tr>TLa40JfIp72Gp;Z zwdRPU)Wg}dDMpVt5l_)?#kcD<`PR$%8g-4n+H?=TS9h=e8Pad~h5lvJtK!?-Z?wNM z{!aWrXSI&L6R=v$E~A)yCqN-HdncfO(-Gm~cLHk!fsqy2zz~wy4HSDUe_ERuhhH8gAu0inwVCjqA1psR+c1x}DG=)BY3t(>n zj>|p-YW6;$Oi>kmCRb`HyRz4(mKrjgr5rdK2W23#Qx2{!L}oa2l1JI!>nh1c3^p6O`ubIqgH70bgSC6o%$P8H|T{dhn90? z<)k@MwOX4sEhlH(I3&xbKP}CIG_H`4T&O;b6tS=4u$w(WU|+}4Fgu-D+k%~a9j7W7 zGWci>1G9+?OoVAEgC{pN?LQXbiw&Ug*F~7^$i}?o9u;M335i36TxD34UALx{ROtpm zT3}|FAXK_RknWUb011)u0R&W}hX&~qQAA(>X{41-2^HxUX{j^t)%!Z%Ip?{!?rZIP z*0a}M`(As`A7EF7lhxaPBVk>ucEVpEK`TvZly;9Kr@gXurl@>yUXv{VY9n&Gp(?r?(MQj} zWzGov>iId4Mrs)zX=ZJ*Q2kl^^(&ZOniGq@@2Ep+WaNUL;%mF6v&0$X;^c))IVFPsaO?HC|!cRN_skJt$-^WTAo zOoIz9&3PDsqU5PNJAbV84sc#i-+yG@5j1jykPACIMJU^ zhSnKeZcZg-R69(QbLP_1U@{A|jXJ&lwDhDVBL+vg1!XVs?YU5!q@o1-)ZMcNqG(OA zkd&B*_<6c+_0S$?l?#-Z5@s=Q*?&`#e;nD#aL7@ns5+q3@^2XaA^?p)&do$CP&pL1La< z4|ze+p4F;Bx}Bk=+7`Ion|c;7@hCQ33v!ZJ1;WvsmvavZN4NSsga}7-M^>t6#sf#~ zyQ#-{cN|#t01GN32eUgeL#sXYBoVPH=~+z#uiBJJK4<%HQ4%g>tCi!uj**_qYQl?e z)C(H1uY8n?=M|3T#Iks> zPq^2UZCaw&yz=S$AOnl#Xc2>+!7C7hkKgI&OY))a4ZzzbDbBG{YI^&*-!Jj-BTd)@ zK>eM!6@!8lHrhzYpza7h%(z||GtPL08UK=_!MGllV_c6lFs@3Fb6C-{$htQwO0>FE z_Z|&4&{&Ma{EIC4&6DdyY4kU%_y%k4vsk_(w{RNmV{o>!`D*1x; z@G1vCsjpB&-$LscaZmPHNIv;U)_Z?ml|KFBcM_t-dtIGoDwgC-jdxOGC&O)j^?MzeT}pK8iz1iqGuB+H1N&=jZ^%8w^tEGGBDQ9I$yLzGcc=0Rmo zws3l^mIuzF1?Qt9)MQkz7czK7#{LIfAUHBkmz)370O21UQUvFSqTag z(sLrN7$bg*k0fZsRq>K~Osz7QUfHiG(kd>*xE>GY$}dfLi8t{aJuU`$!a*;M>whDj zToBeQD#2bzHN|NEU@94Xs@pR_xs7`zw~S3BLdzc})k8aa=Btz|c$PV96b$Hy=W^34 z(=lCZizIkpRG{kM#n3M;^THs27z$l?y>mdCy$K^*yvM7t+LomoKCfQFjYJ+JB9seU znRZk=hAC{Sjz4LE+x07^xZ%Z>oF{NTleCVd!7x36T(c&3MutT>OK1(J^`?cGdW39J z@V6cX!6E5|g03c6kuORg=z&Dkqt(DNB~AX~pIM)k)yekBBg%P8E8jP?|5B|V)QgXd z9Cfx79DIO~ITI|AXE>r{@`~TpFV&Ro&CcD>S-NK95xZG%z&BU-WT0o(rMtZ z1n$f8=+%UHmoSI!d%3r!+i#$sSXQKr6msV8INx*R@+-32Mex_d`9uS zu2vrOc{$POzEL9o7*I$#n%Dm>w#&4(g%kN*`}x-*3u6~collAkZ|-lz&{M1?93sHQ zuyV+{+TMK^XB*gjO2qs|!L{C;xJJWlHBu(>`JTvd=PutupZm;$H{sp&rsl@a#T(&` zzWLE3C7~{1%VDICM8e=wzLe$DYp$}~cGY29=+;LTA|H`Fvq0_JYXKbEFQZHo_l4x0 zItPbexqT_xi}x_5m(N+^*E45@A*(Xxquf)c{O~{ONuc5cIm?yyrn^14d!iv~p1c8? z3~^=SZ7V#A>CW{pw=_wI(z?nb?VQZ$=G22Kp==ZRnOh~p2ILYM4u!P51D*F@F=WvO z8Zm@g-5h%Z~?QF%&nG_khY=dk6o8Ms5?nxSPy5dY|jEa8Xm+$87 zg97X}dR^+|0w9l_U(7c2cG^vjx4b-(e0nOcSXXa@R?E6@7LjjoTFXP{WKcm*Id~sm+^K1y7EIQO0}(|1=Yg z=?CBYu(+eO--u-8m0oqu3BCd)6X%dZiR9BItvR2_mgsLGrFqm^5pC@i5dJp0{jsc) zz<7LpksjV?-%6Pjz5IFC98KD^kZQ?pQ+KZ`46SL28IdLwWJ` z@y;5~e2Mm->q`?Sn_zjxv6cyqU%Hco>qx5|^S&anQ3~~yj)6F&rXE_emZ9C@D3WtK zwgZ+}YfK%YiH9I+Re5-J_QIDm<;aaINen%>!175xo37e*Ku{s zzJCkmAB~>sD$#X}h4QZUE7&q2Wvt)4K1=!CwI@z}RI2=C)gMLU4Q8=%jx;LSE$MkN zFREO&H0D;n0610T8Z=ZtB^^5=RixG~85c6}ixccW>GHg>N$|coOjv>I-B?^xCQjL{ zab19>yq@MZmq8eRLLA}RCJ)_5#V}QiD|#)C>M~T8!cr{A6TtP&k)$~T%IDDhKFW&*=$nnp%3m&|4!Irw^%SL8V$tpWYQiW{R0tK;-e$zKPkk!F;}lhe%WN^pr# zE)|uP`1!J^yA#p_2f=uJevh>S6pigBQ{O%)86HIO*&DHm6jkF*`(oE{71iA7H{_s8 zQbThsDabdbWwhexC_ybdYS3jRMk=WmS!h@!zOh(m$jl%VUk1NKspzpmth!43}Q^#rYtCj!2>}n1r{B=SZ!-jWVcs zP59nE^tVfvH_v*6mhfnE*t>$-8U`u2-cmz8xwwNPa%p4DN_%~6Vvw2X1wh>W>SaZe zfugFmfWW{2nl&}DVlTz#Mt2?ew{zneHlz^d>SCh{uPnXF52tPhKZ$(CY_ ztO9FC3w(K5k*?9WjK-_h{m&ydxWjMqp&7V`D4o7?G*5{Kd8axs399#y)tiQ2_2NGn zk&PSyzpAA&2)7hLXQxr1f!d58=0-zA+F`VoTBfG)8Wt-o;4DA7cSJF-s5INhsd5Ad zDhFPt8f7mV=m)%wfEIo2AO7-{d0M76tJ2syO?)zU9R%ea#F1TdT*)IJ`mxS}6hxL( zZbh1!u516=Mj$7k4f2-bTf0cX!$?!Xo6A$ARFitr49hGWLZJb@apB>IG^E85;<;~&ul1+4GRlMViOHyK z``bXj$vN7&Wf@X>eRgRbRE-gD3^i)Ve}0}*vQ@R9XwQ{0zuKtB%W67#?Zv&j%)%p5 zmF>Lmq$eHu6*S9NgMntvjVZY=d_*BH?x}gVuG9whI^jg;&gR^3HfFMxr+==vg6k0I zr|<18Jp}p;k0}CEb+4#VkkI=O&~PU3RVg#&_Dm0qG+7SZ{T@?R*`fN$h@sC#xfgFC z&tAx4vuOAW>uXoMe2=ZqTuoL2vv4ECM1Q}W4_@{ACk}HasZ&6++o!xErzegsjt)6g z!FLU6)R8Q!5;oj6$DNdu@F1CWv+1efFG@#2==+{kIJqqcK|1TkH&T3P$V|ttee9@% z<)U&YoMgRAP+s`HrFTXLia%$`G9Uz|zKoAfPvJl+%J|UAdir$gnThx+?Na#Ah~ny4 zv6gqqR&O>L^TEJN109ClR9BZoa-Y0lj(ru`evJwz62W)Q%bo@V?|JBwB2X&aYP|xy zLcINsNxCvt%^}2XZQqlq6O_16+=+K@!d6a0hfjv8Ppv zzrV3A1OMj$n29|llsLO5+T9Ike`RaX<9XPef+In5K!=2jP_R)g4jmBtb4fmJBsd-< z_01ALFt2)do_A9@iVIbD730UR$LJI(ya#MfO|W=N+Bz!Soa zl70MhyIGK+ie!rA`(7YbjG?jvzW42F>+ikq(=RWs)xYK)ywWUqQ?&YRO^kf5yQhud z3)Z?i1&T%C#E*vCb5`1OR#f5hb6X;FAOU@fH_a`qj4KhL_(Lq|_%G*{RzE%b2^Nd` zOwTDf@hKn35*2MBR#6ElXZ=h@vmw^Lb=f22W1tRT75K4UL3PHHML9+zhUT!#yelhR zmgq|A%}~DrbCuI)dru^YqBwz&KDJJ_{@pq17A1m4<|$UUj;5D5`^2I_>A`(|KYfzw zUVNToiNEred5Yi7uZaa8^AXJFl7H-R#+^&HcS1h_&DVbU{gnSDkvzKDgg{l{`li*9 z%lg$<&r7)2Y#mz$C`cmx%P7=BZSBr|`uGA5GeGL&8e&RvgJR&;2u5uD(BB6$j5Xx`IcJBYS#ZI^H*X64=Ch=9|srN{GSNXgs-k&25FiB05Kd zOILSg1oUt*FSYOoHm&kpxr0iX7dEVBRUPWNPi5io&%YmC+`pyGe|kD!*;$ywY2Szr z>6kz8i~5nV=+;L$wGG;MK9jNP)~7e69p?A8^|s~I?8n;<)jYv|8Eq(Bn%knlptp1d z^he8W;n|GB2O2yZ#4{P}8(popDTSWzpmx6c$loloXl`ECdCOjR-zb}*J(+@D{Sx}_ zr7}sPQ(`w_+80vS`DBIG?&eyyH>bOc-Fd8HIk{6aM_6=#7c)b+!z#*pc?a*^0BQf_ zfD9KROo{Nj;eWq_n}ow7wM<5T0I+;UJjwh=eT+RhB1mrv+a?wbo`}D`VTb=opQt{j zy_583_Spyc%REIb`AmA+MR)ImcVgtiYN~m$lyh0;8t;stiI1Ic9j9z<_eCg4n5w$) zcxUObw+eC9^`qOVx-P%u2Tn}9K8soo}2E{MR zoX`j7QVRICBEFpMd@5Pe>#S}Z16ar@j!JiXwo3QQB9hY|*zmM+*q+7plbo5@yC%9; zN)8euS@)8T-tHuI<#XR06n}a`2nu;ew$NnJacEE&1ReeUKJM`peV6X0o<8PR1U#=u zM`~6)E6raPqoTFxfSC5{nnT>o7%U|JfJtAOKdHAVVJpa2 zr^YBe)0lCo<3pRkkK!gW<|@6M?qY_mu9@z~URKI=H%u7xg+Ju{#%Zq_lX6U7Tk0q( z{=mj#KL{5-DNR$n+MbB4@^MJ6Uq`1h&bd3^^iD7?G*q$c`wbA4-redr9^o4!baV9g zo*!H}K)r%($&lR8a^j!;mVcJGefd=4jxl)k@+lL!V{x?G(9drIiT$1~6D6ss-H+?i z6J#k*nd0%I4w(cBm1QXfpWaYUHQ9JvV{&yxwnmLnO6(0SpHI1h9%I7!=HPb_Y{EL9Y-f&Y1zP*jS?ru;* z?0Cu7SFx{Xf|g2BpLo#HB$@P&^>7Bz2>%XiryXbycQE%*X}De+V%wJ;kkH?tVsGxj z;bCC@Z0jIr1)mX`YrCK#c1vkT{QH==t8Wk4)A2iz;LTyrF|V(=7BOqGzunZQt|nhY z1m_z13~d(-0XJj#Qf+e1s`R?tO%bqZKk7~G_i{>T0^2M%eQ!I2yDqdR4v?6+6!+l+ zUyF_8)M4pk_EHYk=e;XyGDVP#@(PGq!z1}!+)75R)us3!+HnrP0rG&A)LrH)&$aD2 zIwGm_9BiQKuXRbx)XrSE?th!uyxzy!8Ve<>{lF-cVWwv&FGZuncgDWMo2=^Tvs4m9 z{O|{8Lk-;=_U4$5O>QyG({!37?|Zf?@w|~{zR2^aShjGkokpBZN9MTy(n;u|L(q9E zA+RV!42;?{U_~YCC3By*64JtS1^QRRAvhSTw~&Y^JeHpgFpc}<@&t5Me&0VdX_*60 z;ua(Eb*>vqH-BpmJ;rI44c8%q+;9FiCNhiGqRX;AiVA3=O5A+~KcQ@xD64Pc`0&-9 zbo)`2;4^_KUn(Uo&u>DH|}$UHt1s zmKmwE&ekqh=kDn|t1Ax2i8!r7f2y9FsLYJ?y0@HjFFu2$BixW^9f03^D0DZVK1geD25#J-6=86qQ}fc#cv8=E6lpg*hKe*>#V?(A^T zxy~fQIkn(nUF z+BTjjJ0mD1;+zuJvhi^Ba<{heV249dZ;TRgVJJCcc?^bM;5{oU)T}WCGp02;XH70J z$3y{RFJB@|6^K;w(0$VST%;KEUxxn-bJdd|; z0mZQAmZasstf&9B`u=UvS&3cvoku(OF8k-03U&H#OV#=xK2)gW3v1B&+?(zGIXYip z%>@$KoHN=Nn00~c7btFf&Ofz1UuWNi&1`qhI9wpw?wmipuvP8P`Q!_nzd(q?`KP`Y z*y6x}B1T?A{WPUOxtS7i!Tza-9sBt)#wep|3;HVi>mjBfo@^^1I4C76M zI&z>ThW~3uRJxO7xuGLFE(`1;9y_MuFv0$K5nlex$pe@5PZ!g_E(L)iMPA2+q6CrB zm<>#)bn%v%LnrSe~}*!f?x%KgT%0u zfrGI(0}jEQls|&NMIcy-z@ebOZTPti5I9s6D-$^E{44kT`A>bq;UZX>z!BhoWb#)( z1on=@MX_reE(Qg#whIA*U}b^;iD3mnfDu@`g@9leJVFG59YaLypNRnf$qoTUUn%=?h$wc(5K-)%5dmS# zDFOq-P<5`{TG*w75EH|y2vI2ZMvDHI^DBl4g<|$(0>p&1TwO6=vzXmFzs!|gY+c#m zn2Nj@$gvx<-x8Gp!7=w6OhFm~fy#-=h$3X53NrFAF}R4VJPZQ8L-PN-{Nv*G@U(RI XeB^FpO9Byth`~v?xa9FQ6iEID3SkmP delta 23741 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