diff --git a/Build/Build.fbp5 b/Build/Build.fbp5 index 8b7071ba..69b4022a 100644 --- a/Build/Build.fbp5 +++ b/Build/Build.fbp5 @@ -499,7 +499,7 @@ OriginalFilename= ProductName= ProductVersion=3.0.0.0 Comments= -CompileDate=lunes, 17 de septiembre de 2007 12:28 +CompileDate=domingo, 30 de septiembre de 2007 20:47 ]]> @@ -694,7 +694,6 @@ LegalTrademarks= OriginalFilename= ProductName= ProductVersion=1.0.0.0 -Comments= ]]> @@ -729,7 +728,7 @@ Comments= %library_path% 0 True - 3 + 0 1048576 16384 @@ -754,133 +753,8 @@ Comments= True - - - - 0 - - True - False - False - True - True - 0 - 1252 - 12 - Release - False - - - True - True - - False - - False - False - True - True - False - False - False - False - False - False - False - False - 3082 - - 1 - 0 - 0 - False - 0 - %source_path%\Base\ControllerBase\ControllerBase.dpk - True - 0 - - - rcBorland - 1000 - - False - False - False - False - [usPackages,usCompiler,usLinker,usVersionInfo] - False - False - - - - False - False - False - False - False - True - False - False - %package_path% - - - - False - %base_dcp_path% - False - - False - - False - True - False - False - True - 4194304 - False - False - True - True - %library_path% - 0 - False - 3 - 1048576 - 16384 - - True - False - %output_path%\Cliente - False - - False - fa8 - False - False - - True - True - True - False - WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; - - False - False - True - - - + 0 @@ -892,9 +766,9 @@ Comments= 0 1252 12 - Release + Debug False - + True True @@ -920,7 +794,7 @@ Comments= 0 False 0 - %source_path%\Base\GUIBase\GUIBase.dpk + %source_path%\GUIBase\GUIBase.dpk True 0 @@ -962,9 +836,9 @@ Comments= False %base_dcp_path% - False + True - False + True False True @@ -978,7 +852,7 @@ Comments= True %library_path% 0 - False + True 3 1048576 16384 @@ -990,7 +864,7 @@ Comments= False fa8 - False + True False True @@ -1004,20 +878,145 @@ Comments= True + + + + 0 + + True + False + False + True + True + 0 + 1252 + 12 + Debug + False + + + True + True + + False + + False + False + True + True + False + False + False + False + False + False + False + False + 3082 + + 1 + 0 + 0 + False + 0 + %source_path%\ApplicationBase\ApplicationBase.dpk + True + 0 + + + rcBorland + 1000 + + False + False + False + False + [usPackages,usCompiler,usLinker,usVersionInfo] + False + False + + + + False + False + False + False + False + True + False + False + %package_path% + + + + False + %base_dcp_path% + True + + True + + False + True + False + False + True + 4194304 + False + False + False + True + %library_path% + 0 + True + 0 + 1048576 + 16384 + + True + True + %output_path%\Cliente + False + + False + fa8 + True + False + + True + True + False + False + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + False + True + + Módulos 0 Módulos - True + False True False True False 0 - False + True 0 1000 False @@ -1037,1390 +1036,6 @@ Comments= 0 1000 False - - Empresas - 0 - - Empresas - True - True - False - True - False - - 0 - False - 0 - 1000 - False - - - - 0 - - True - False - False - True - True - 0 - 1252 - 12 - Release - False - - - True - True - - False - - False - False - True - True - False - False - False - False - False - False - False - False - 3082 - - 1 - 0 - 0 - False - 0 - %source_path%\Modulos\Empresas\Model\Empresas_model.dpk - True - 0 - - - rcBorland - 1000 - - False - False - False - False - [usPackages,usCompiler,usLinker,usVersionInfo] - False - False - - - - False - False - False - False - False - True - False - False - %package_path% - - - - False - %modules_dcp_path% - False - - False - - False - True - False - False - True - 4194304 - False - False - False - True - %library_path% - 0 - False - 3 - 1048576 - 16384 - - True - True - %output_path% - False - - False - fa8 - False - False - - True - True - False - False - WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; - - False - False - True - - - - - - 0 - - True - False - False - True - True - 0 - 1252 - 12 - Release - False - - - True - True - - False - - False - False - True - True - False - False - False - False - False - False - False - False - 3082 - - 1 - 0 - 0 - False - 0 - %source_path%\Modulos\Empresas\Data\Empresas_data.dpk - True - 0 - - - rcBorland - 1000 - - False - False - False - False - [usPackages,usCompiler,usLinker,usVersionInfo] - False - False - - - - False - False - False - False - False - True - False - False - %package_path% - - - - False - %modules_dcp_path% - False - - False - - False - True - False - False - True - 4194304 - False - False - False - True - %library_path% - 0 - False - 3 - 1048576 - 16384 - - True - True - %output_path% - False - - False - fa8 - False - False - - True - True - False - False - WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; - - False - False - True - - - - - - 0 - - True - False - False - True - True - 0 - 1252 - 12 - Release - False - - - True - True - - False - - False - False - True - True - False - False - False - False - False - False - False - False - 3082 - - 1 - 0 - 0 - False - 0 - %source_path%\Modulos\Empresas\Controller\Empresas_controller.dpk - True - 0 - - - rcBorland - 1000 - - False - False - False - False - [usPackages,usCompiler,usLinker,usVersionInfo] - False - False - - - - False - False - False - False - False - True - False - False - %package_path% - - - - False - %modules_dcp_path% - False - - False - - False - True - False - False - True - 4194304 - False - False - False - True - %library_path% - 0 - False - 3 - 1048576 - 16384 - - True - True - %output_path% - False - - False - fa8 - False - False - - True - True - False - False - WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; - - False - False - True - - - - - - 0 - - True - False - False - True - True - 0 - 1252 - 12 - Release - False - - - False - True - - False - - False - False - True - True - False - False - False - False - False - False - False - False - 3082 - - 1 - 0 - 0 - False - 0 - %source_path%\Base\Usuarios\Usuarios.dpk - True - 3 - - - rcBorland - 1000 - - False - False - False - False - [usPackages,usCompiler,usLinker,usVersionInfo] - False - False - - - - False - False - False - False - False - True - False - False - %package_path% - - - - False - %modules_dcp_path% - False - - False - - False - True - False - False - True - 4194304 - False - False - False - True - %library_path% - 0 - False - 3 - 1048576 - 16384 - - True - True - %output_path% - False - - False - fa8 - False - False - - True - True - False - False - WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; - - False - False - True - - - - - - 0 - - True - False - False - True - True - 0 - 1252 - 12 - Release - False - - - True - True - - False - - False - False - True - True - False - False - False - False - False - False - False - False - 3082 - - 1 - 0 - 0 - False - 0 - %source_path%\Modulos\Empresas\Views\Empresas_view.dpk - True - 0 - - - rcBorland - 1000 - - False - False - False - False - [usPackages,usCompiler,usLinker,usVersionInfo] - False - False - - - - False - False - False - False - False - True - False - False - %package_path% - - - - False - %modules_dcp_path% - False - - False - - False - True - False - False - True - 4194304 - False - False - False - True - %library_path% - 0 - False - 3 - 1048576 - 16384 - - True - True - %output_path% - False - - False - fa8 - False - False - - True - True - False - False - WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; - - False - False - True - - - - - - 0 - - True - False - False - True - True - 0 - 1252 - 12 - Release - False - - - True - True - - False - - False - False - True - True - False - False - False - False - False - False - False - False - 3082 - - 1 - 0 - 0 - False - 0 - %source_path%\Modulos\Empresas\Plugin\Empresas_plugin.dpk - True - 0 - - - rcBorland - 1000 - - False - False - False - False - [usPackages,usCompiler,usLinker,usVersionInfo] - False - False - - - - False - False - False - False - False - True - False - False - %package_path% - - - - False - %modules_dcp_path% - False - - False - - False - True - False - False - True - 4194304 - False - False - False - True - %library_path% - 0 - False - 3 - 1048576 - 16384 - - True - True - %output_path% - False - - False - fa8 - False - False - - True - True - False - False - WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; - - False - False - True - - - - - Usuarios - 0 - - Usuarios - True - True - False - True - False - - 0 - False - 0 - 1000 - False - - - - 0 - - True - False - False - True - True - 0 - 1252 - 12 - Release - False - - - True - True - - False - - False - False - True - True - False - False - False - False - False - False - False - False - 3082 - - 1 - 0 - 0 - False - 0 - %source_path%\Modulos\Usuarios\Model\Usuarios_model.dpk - True - 0 - - - rcBorland - 1000 - - False - False - False - False - [usPackages,usCompiler,usLinker,usVersionInfo] - False - False - - - - False - False - False - False - False - True - False - False - %package_path% - - - - False - %modules_dcp_path% - False - - False - - False - True - False - False - True - 4194304 - False - False - False - True - %library_path% - 0 - False - 0 - 1048576 - 16384 - - True - True - %output_path% - False - - False - fa8 - False - False - - True - True - False - False - WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; - - False - False - True - - - - - - 0 - - True - False - False - True - True - 0 - 1252 - 12 - Release - False - - - True - True - - False - - False - False - False - True - False - False - False - False - False - False - False - False - 3081 - - 1 - 0 - 0 - False - 0 - %source_path%\Modulos\Usuarios\Data\Usuarios_data.dpk - True - 0 - - - rcBorland - 1000 - - False - False - False - False - [usPackages,usCompiler,usLinker,usVersionInfo] - False - False - - - - False - False - False - False - False - True - False - False - %package_path% - - - - False - %modules_dcp_path% - False - - False - - False - True - False - False - True - 4194304 - False - False - False - True - %library_path% - 0 - False - 0 - 1048576 - 16384 - - True - True - %output_path% - False - - False - fa8 - False - False - - True - True - False - False - WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; - - False - False - True - - - - - - 0 - - True - False - False - True - True - 0 - 1252 - 12 - Release - False - - - True - True - - False - - False - False - False - True - False - False - False - False - False - False - False - False - 3081 - - 1 - 0 - 0 - False - 0 - %source_path%\Modulos\Usuarios\Controller\Usuarios_controller.dpk - True - 0 - - - rcBorland - 1000 - - False - False - False - False - [usPackages,usCompiler,usLinker,usVersionInfo] - False - False - - - - False - False - False - False - False - True - False - False - %package_path% - - - - False - %modules_dcp_path% - False - - False - - False - True - False - False - True - 4194304 - False - False - False - True - %library_path% - 0 - False - 0 - 1048576 - 16384 - - True - True - %output_path% - False - - False - fa8 - False - False - - True - True - False - False - WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; - - False - False - True - - - - - - 0 - - True - False - False - True - True - 0 - 1252 - 12 - Release - False - - - False - True - - False - - False - False - True - True - False - False - False - False - False - False - False - False - 3082 - - 1 - 0 - 0 - False - 0 - - - True - 0 - - - rcBorland - 1000 - - False - False - False - False - [usPackages,usCompiler,usLinker,usVersionInfo] - False - False - - - - False - False - False - False - False - True - False - False - %package_path% - - - - False - %modules_dcp_path% - False - - False - - False - True - False - False - True - 4194304 - False - False - False - True - %library_path% - 0 - False - 0 - 1048576 - 16384 - - True - True - %output_path% - False - - False - fa8 - False - False - - True - True - False - False - WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; - - False - False - True - - - - - - 0 - - True - False - False - True - True - 0 - 1252 - 12 - Release - False - - - False - True - - False - - False - False - False - True - False - False - False - False - False - False - False - False - 3081 - - 1 - 0 - 0 - False - 0 - - - True - 0 - - - rcBorland - 1000 - - False - False - False - False - [usPackages,usCompiler,usLinker,usVersionInfo] - False - False - - - - False - False - False - False - False - True - False - False - %package_path% - - - - False - %modules_dcp_path% - False - - False - - False - True - False - False - True - 4194304 - False - False - False - True - %library_path% - 0 - False - 0 - 1048576 - 16384 - - True - True - %output_path% - False - - False - fa8 - False - False - - True - True - False - False - WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; - - False - False - True - - - @@ -16427,7 +15042,7 @@ Comments= False %output_path%\Cliente False - PluginSDK_D10R;GUISDK_D11;Base;GUIBase;Usuarios;Contactos_plugin;Empresas_plugin; + PluginSDK_D10R;GUISDK_D11;Base;GUIBase;ApplicationBase; False fa8 True @@ -16673,7 +15288,7 @@ Comments= vtProject - %DELPHI2007DIR%\Lib\Indy10;%project_path%\Lib;%project_path%\Lib\RemObjects\RemObjects_SDK;%project_path%\Lib\RemObjects\Data_Abstract;%project_path%\Lib\CCPack;%project_path%\Lib\CFPack;%project_path%\Lib\GUISDK;%project_path%\Lib\PluginSDK;%project_path%\Lib\DevExpressVCL;%project_path%\Lib\FastReport3;%project_path%\Lib\JCL;%project_path%\Lib\JVCL;%project_path%\Lib\PngComponents;%project_path%\Lib\cxIntl5;%project_path%\Lib\cxIntlPrintSys3;%project_path%\Lib\TB2k+TBX;%project_path%\Lib\Mustangpeak\MPCommonLib;%project_path%\Lib\Mustangpeak\EasyListview;%project_path%\Lib\JSDialog; + %DELPHI2007DIR%\Lib\Indy10;%project_path%\Lib;%project_path%\Lib\RemObjects\RemObjects_SDK;%project_path%\Lib\RemObjects\Data_Abstract;%project_path%\Lib\CCPack;%project_path%\Lib\CFPack;%project_path%\Lib\GUISDK;%project_path%\Lib\PluginSDK;%project_path%\Lib\DevExpressVCL;%project_path%\Lib\FastReport3;%project_path%\Lib\JCL;%project_path%\Lib\JVCL;%project_path%\Lib\PngComponents;%project_path%\Lib\cxIntl5;%project_path%\Lib\cxIntlPrintSys3;%project_path%\Lib\TB2k+TBX;%project_path%\Lib\Mustangpeak\MPCommonLib;%project_path%\Lib\Mustangpeak\EasyListview;%project_path%\Lib\JSDialog;C:\UserControl\Lib\D11; True False False diff --git a/Database/FACTUGES.FDB b/Database/FACTUGES.FDB index 850051ab..1ff997a9 100644 Binary files a/Database/FACTUGES.FDB and b/Database/FACTUGES.FDB differ diff --git a/Source/ApplicationBase/ApplicationBase.bdsproj b/Source/ApplicationBase/ApplicationBase.bdsproj new file mode 100644 index 00000000..d4951b0d --- /dev/null +++ b/Source/ApplicationBase/ApplicationBase.bdsproj @@ -0,0 +1,697 @@ + + + + + + + + + + + + ApplicationBase.dpk + + + 7.0 + + + 8 + 0 + 1 + 1 + 0 + 0 + 1 + 1 + 1 + 0 + 0 + 1 + 0 + 1 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 1 + 1 + 1 + True + True + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + False + False + False + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + + + + 0 + 0 + False + 1 + False + False + False + 16384 + 1048576 + 4194304 + + + + + .\ + ..\..\..\..\Output\Debug\Cliente + ..\Lib + ..\Lib + + + + False + + + + + + False + + + True + False + + + False + + + True + False + 1 + 0 + 0 + 0 + False + False + False + False + False + 3082 + 1252 + + + + + 1.0.0.0 + + + + + + 1.0.0.0 + + + + + + + + + + + + + + + + + + + + + + + + + VCL for the Web Design Package for CodeGear RAD Studio + CodeGear WebSnap Components + CodeGear SOAP Components + Microsoft Office XP Sample Automation Server Wrapper Components + Microsoft Office 2000 Sample Automation Server Wrapper Components + CodeGear C++Builder Office 2000 Servers Package + CodeGear C++Builder Office XP Servers Package + + + + + + diff --git a/Source/ApplicationBase/ApplicationBase.cfg b/Source/ApplicationBase/ApplicationBase.cfg new file mode 100644 index 00000000..7b0053cd --- /dev/null +++ b/Source/ApplicationBase/ApplicationBase.cfg @@ -0,0 +1,40 @@ +-$A8 +-$B- +-$C+ +-$D+ +-$E- +-$F- +-$G+ +-$H+ +-$I+ +-$J- +-$K- +-$L+ +-$M- +-$N+ +-$O+ +-$P+ +-$Q- +-$R- +-$S- +-$T- +-$U- +-$V+ +-$W- +-$X+ +-$YD +-$Z1 +-cg +-AWinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; +-H+ +-W+ +-M +-$M16384,1048576 +-K$00400000 +-N0".\" +-LE"..\..\..\..\Output\Debug\Cliente" +-LN"..\Lib" +-U"..\Lib" +-O"..\Lib" +-I"..\Lib" +-R"..\Lib" diff --git a/Source/ApplicationBase/ApplicationBase.dpk b/Source/ApplicationBase/ApplicationBase.dpk new file mode 100644 index 00000000..7c23d5e4 --- /dev/null +++ b/Source/ApplicationBase/ApplicationBase.dpk @@ -0,0 +1,86 @@ +package ApplicationBase; + +{$R *.res} +{$ALIGN 8} +{$ASSERTIONS ON} +{$BOOLEVAL OFF} +{$DEBUGINFO ON} +{$EXTENDEDSYNTAX ON} +{$IMPORTEDDATA ON} +{$IOCHECKS ON} +{$LOCALSYMBOLS ON} +{$LONGSTRINGS ON} +{$OPENSTRINGS ON} +{$OPTIMIZATION ON} +{$OVERFLOWCHECKS OFF} +{$RANGECHECKS OFF} +{$REFERENCEINFO ON} +{$SAFEDIVIDE OFF} +{$STACKFRAMES OFF} +{$TYPEDADDRESS OFF} +{$VARSTRINGCHECKS ON} +{$WRITEABLECONST OFF} +{$MINENUMSIZE 1} +{$IMAGEBASE $400000} +{$IMPLICITBUILD ON} +{$DEFINE DEBUG} + +requires + rtl, + vcl, + dbrtl, + Base, + GUIBase, + pckUCDataConnector, + pckUserControl_RT, + JvJansD11R, + cxLibraryD10, + dxThemeD10, + cxEditorsD10, + cxDataD10, + vcljpg, + vcldb, + PNG_D10, + PngComponentsD10, + vclactnband, + vclx, + JvCoreD11R, + Jcl, + JclVcl, + JvSystemD11R, + JvMMD11R, + JvStdCtrlsD11R, + JvCtrlsD11R; + +contains + uFactuGES_App in 'uFactuGES_App.pas', + uIDataModuleUsuarios in 'Usuarios\Model\Data\uIDataModuleUsuarios.pas', + uDataModuleUsuarios in 'Usuarios\Data\uDataModuleUsuarios.pas', + uUCROConn in 'Usuarios\Data\uUCROConn.pas', + uUsuariosController in 'Usuarios\Controller\uUsuariosController.pas', + uBizEmpresasDatosBancarios in 'Empresas\Model\uBizEmpresasDatosBancarios.pas', + schEmpresasClient_Intf in 'Empresas\Model\schEmpresasClient_Intf.pas', + schEmpresasServer_Intf in 'Empresas\Model\schEmpresasServer_Intf.pas', + uBizEmpresas in 'Empresas\Model\uBizEmpresas.pas', + uIDataModuleEmpresas in 'Empresas\Model\Data\uIDataModuleEmpresas.pas', + uDataModuleEmpresas in 'Empresas\Data\uDataModuleEmpresas.pas', + uEmpresasController in 'Empresas\Controller\uEmpresasController.pas', + uDatosBancariosEmpresaController in 'Empresas\Controller\uDatosBancariosEmpresaController.pas', + uIEditorEmpresas in 'Empresas\Controller\View\uIEditorEmpresas.pas', + uIEditorDatosBancarioEmpresa in 'Empresas\Controller\View\uIEditorDatosBancarioEmpresa.pas', + uIEditorEmpresa in 'Empresas\Controller\View\uIEditorEmpresa.pas', + uViewEmpresa in 'Empresas\Views\uViewEmpresa.pas', + uEditorDatosBancariosEmpresa in 'Empresas\Views\uEditorDatosBancariosEmpresa.pas', + uEditorEmpresa in 'Empresas\Views\uEditorEmpresa.pas', + uEmpresasViewRegister in 'Empresas\Views\uEmpresasViewRegister.pas', + uViewDatosBancarios in 'Empresas\Views\uViewDatosBancarios.pas', + uCambiarPassword in 'Usuarios\Data\uCambiarPassword.pas', + uLoginForm in 'Usuarios\Data\uLoginForm.pas', + uUsuarios in 'Usuarios\Model\uUsuarios.pas', + schUsuariosServer_Intf in 'Usuarios\Model\schUsuariosServer_Intf.pas', + schUsuariosClient_Intf in 'Usuarios\Model\schUsuariosClient_Intf.pas', + uIEditorLogin in 'Usuarios\Controller\View\uIEditorLogin.pas', + uEditorLogin in 'Usuarios\Views\uEditorLogin.pas', + uUsuariosViewRegister in 'Usuarios\Views\uUsuariosViewRegister.pas'; + +end. diff --git a/Source/ApplicationBase/ApplicationBase.dproj b/Source/ApplicationBase/ApplicationBase.dproj new file mode 100644 index 00000000..c9986fe8 --- /dev/null +++ b/Source/ApplicationBase/ApplicationBase.dproj @@ -0,0 +1,597 @@ + + + + {14a25028-ec1a-430c-ade3-13c264e9bac2} + ApplicationBase.dpk + Debug + AnyCPU + DCC32 + ..\..\Output\Debug\Cliente\ApplicationBase.bpl + + + 7.0 + False + False + 0 + .\ + .\ + .\ + ..\..\Output\Release\Cliente + ..\Lib + ..\Lib + ..\Lib + ..\Lib + ..\Lib + RELEASE + + + 7.0 + .\ + .\ + .\ + ..\..\Output\Debug\Cliente + ..\Lib + ..\Lib + ..\Lib + ..\Lib + ..\Lib + DEBUG + + + Delphi.Personality + Package + +FalseTrueFalseTrueFalseFalseTrueFalse1000FalseFalseFalseFalseFalse308212521.0.0.01.0.0.0 + VCL for the Web Design Package for CodeGear RAD Studio + CodeGear WebSnap Components + CodeGear SOAP Components + Microsoft Office XP Sample Automation Server Wrapper Components + Microsoft Office 2000 Sample Automation Server Wrapper Components + CodeGear C++Builder Office 2000 Servers Package + CodeGear C++Builder Office XP Servers Package + ApplicationBase.dpkFalse + + + + + MainSource + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Source/ApplicationBase/ApplicationBase.rc b/Source/ApplicationBase/ApplicationBase.rc new file mode 100644 index 00000000..153736af --- /dev/null +++ b/Source/ApplicationBase/ApplicationBase.rc @@ -0,0 +1,22 @@ +1 VERSIONINFO +FILEVERSION 1,0,0,0 +PRODUCTVERSION 1,0,0,0 +FILEFLAGSMASK 0x3FL +FILEFLAGS 0x00L +FILEOS 0x40004L +FILETYPE 0x1L +FILESUBTYPE 0x0L +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "0C0A04E4" + BEGIN + VALUE "FileVersion", "1.0.0.0\0" + VALUE "ProductVersion", "1.0.0.0\0" + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x0C0A, 1252 + END +END diff --git a/Source/ApplicationBase/ApplicationBase.res b/Source/ApplicationBase/ApplicationBase.res new file mode 100644 index 00000000..1641339f Binary files /dev/null and b/Source/ApplicationBase/ApplicationBase.res differ diff --git a/Source/Base/Empresas/Controller/View/uIEditorDatosBancarioEmpresa.pas b/Source/ApplicationBase/Empresas/Controller/View/uIEditorDatosBancarioEmpresa.pas similarity index 100% rename from Source/Base/Empresas/Controller/View/uIEditorDatosBancarioEmpresa.pas rename to Source/ApplicationBase/Empresas/Controller/View/uIEditorDatosBancarioEmpresa.pas diff --git a/Source/Base/Empresas/Controller/View/uIEditorEmpresa.pas b/Source/ApplicationBase/Empresas/Controller/View/uIEditorEmpresa.pas similarity index 100% rename from Source/Base/Empresas/Controller/View/uIEditorEmpresa.pas rename to Source/ApplicationBase/Empresas/Controller/View/uIEditorEmpresa.pas diff --git a/Source/Base/Empresas/Controller/View/uIEditorEmpresas.pas b/Source/ApplicationBase/Empresas/Controller/View/uIEditorEmpresas.pas similarity index 100% rename from Source/Base/Empresas/Controller/View/uIEditorEmpresas.pas rename to Source/ApplicationBase/Empresas/Controller/View/uIEditorEmpresas.pas diff --git a/Source/Base/Empresas/Controller/uDatosBancariosEmpresaController.pas b/Source/ApplicationBase/Empresas/Controller/uDatosBancariosEmpresaController.pas similarity index 100% rename from Source/Base/Empresas/Controller/uDatosBancariosEmpresaController.pas rename to Source/ApplicationBase/Empresas/Controller/uDatosBancariosEmpresaController.pas diff --git a/Source/Base/Empresas/Controller/uEmpresasController.pas b/Source/ApplicationBase/Empresas/Controller/uEmpresasController.pas similarity index 92% rename from Source/Base/Empresas/Controller/uEmpresasController.pas rename to Source/ApplicationBase/Empresas/Controller/uEmpresasController.pas index 799f8852..f38cb497 100644 --- a/Source/Base/Empresas/Controller/uEmpresasController.pas +++ b/Source/ApplicationBase/Empresas/Controller/uEmpresasController.pas @@ -5,10 +5,10 @@ interface uses Windows, Forms, Classes, Controls, Contnrs, SysUtils, - uBizEmpresas, uIDataModuleEmpresas, uDADataTable; + uBizEmpresas, uIDataModuleEmpresas, uDADataTable, uControllerBase; type - IEmpresasController = interface + IEmpresasController = interface(IControllerBase) ['{2F0AB21C-4F19-446E-87C4-B9C1038850FC}'] function Buscar(const ID: Integer): IBizEmpresa; function BuscarTodos: IBizEmpresa; @@ -24,7 +24,7 @@ type function ToStringList(AEmpresa : IBizEmpresa) : TStringList; end; - TEmpresasController = class(TInterfacedObject, IEmpresasController) + TEmpresasController = class(TControllerBase, IEmpresasController) protected FDataModule : IDataModuleEmpresas; function ValidarEmpresa(AEmpresa : IBizEmpresa): Boolean; virtual; diff --git a/Source/Base/Empresas/Data/uDataModuleEmpresas.dfm b/Source/ApplicationBase/Empresas/Data/uDataModuleEmpresas.dfm similarity index 100% rename from Source/Base/Empresas/Data/uDataModuleEmpresas.dfm rename to Source/ApplicationBase/Empresas/Data/uDataModuleEmpresas.dfm diff --git a/Source/Base/Empresas/Data/uDataModuleEmpresas.pas b/Source/ApplicationBase/Empresas/Data/uDataModuleEmpresas.pas similarity index 100% rename from Source/Base/Empresas/Data/uDataModuleEmpresas.pas rename to Source/ApplicationBase/Empresas/Data/uDataModuleEmpresas.pas diff --git a/Source/Base/Empresas/Model/Data/uIDataModuleEmpresas.pas b/Source/ApplicationBase/Empresas/Model/Data/uIDataModuleEmpresas.pas similarity index 100% rename from Source/Base/Empresas/Model/Data/uIDataModuleEmpresas.pas rename to Source/ApplicationBase/Empresas/Model/Data/uIDataModuleEmpresas.pas diff --git a/Source/Base/Empresas/Model/schEmpresasClient_Intf.pas b/Source/ApplicationBase/Empresas/Model/schEmpresasClient_Intf.pas similarity index 100% rename from Source/Base/Empresas/Model/schEmpresasClient_Intf.pas rename to Source/ApplicationBase/Empresas/Model/schEmpresasClient_Intf.pas diff --git a/Source/Base/Empresas/Model/schEmpresasServer_Intf.pas b/Source/ApplicationBase/Empresas/Model/schEmpresasServer_Intf.pas similarity index 100% rename from Source/Base/Empresas/Model/schEmpresasServer_Intf.pas rename to Source/ApplicationBase/Empresas/Model/schEmpresasServer_Intf.pas diff --git a/Source/Base/Empresas/Model/uBizEmpresas.pas b/Source/ApplicationBase/Empresas/Model/uBizEmpresas.pas similarity index 100% rename from Source/Base/Empresas/Model/uBizEmpresas.pas rename to Source/ApplicationBase/Empresas/Model/uBizEmpresas.pas diff --git a/Source/Base/Empresas/Model/uBizEmpresasDatosBancarios.pas b/Source/ApplicationBase/Empresas/Model/uBizEmpresasDatosBancarios.pas similarity index 100% rename from Source/Base/Empresas/Model/uBizEmpresasDatosBancarios.pas rename to Source/ApplicationBase/Empresas/Model/uBizEmpresasDatosBancarios.pas diff --git a/Source/Base/Empresas/Servidor/srvEmpresas_Impl.dfm b/Source/ApplicationBase/Empresas/Servidor/srvEmpresas_Impl.dfm similarity index 100% rename from Source/Base/Empresas/Servidor/srvEmpresas_Impl.dfm rename to Source/ApplicationBase/Empresas/Servidor/srvEmpresas_Impl.dfm diff --git a/Source/Base/Empresas/Servidor/srvEmpresas_Impl.pas b/Source/ApplicationBase/Empresas/Servidor/srvEmpresas_Impl.pas similarity index 100% rename from Source/Base/Empresas/Servidor/srvEmpresas_Impl.pas rename to Source/ApplicationBase/Empresas/Servidor/srvEmpresas_Impl.pas diff --git a/Source/Base/Empresas/Test/Empresas_Tests.bdsproj b/Source/ApplicationBase/Empresas/Test/Empresas_Tests.bdsproj similarity index 100% rename from Source/Base/Empresas/Test/Empresas_Tests.bdsproj rename to Source/ApplicationBase/Empresas/Test/Empresas_Tests.bdsproj diff --git a/Source/Base/Empresas/Test/Empresas_Tests.dpr b/Source/ApplicationBase/Empresas/Test/Empresas_Tests.dpr similarity index 100% rename from Source/Base/Empresas/Test/Empresas_Tests.dpr rename to Source/ApplicationBase/Empresas/Test/Empresas_Tests.dpr diff --git a/Source/Base/Empresas/Test/Empresas_Tests.drc b/Source/ApplicationBase/Empresas/Test/Empresas_Tests.drc similarity index 100% rename from Source/Base/Empresas/Test/Empresas_Tests.drc rename to Source/ApplicationBase/Empresas/Test/Empresas_Tests.drc diff --git a/Source/Base/Empresas/Test/Empresas_Tests.res b/Source/ApplicationBase/Empresas/Test/Empresas_Tests.res similarity index 100% rename from Source/Base/Empresas/Test/Empresas_Tests.res rename to Source/ApplicationBase/Empresas/Test/Empresas_Tests.res diff --git a/Source/Base/Empresas/Test/uEmpresasController_Test.pas b/Source/ApplicationBase/Empresas/Test/uEmpresasController_Test.pas similarity index 100% rename from Source/Base/Empresas/Test/uEmpresasController_Test.pas rename to Source/ApplicationBase/Empresas/Test/uEmpresasController_Test.pas diff --git a/Source/Base/Empresas/Test/uHostMainForm.dfm b/Source/ApplicationBase/Empresas/Test/uHostMainForm.dfm similarity index 100% rename from Source/Base/Empresas/Test/uHostMainForm.dfm rename to Source/ApplicationBase/Empresas/Test/uHostMainForm.dfm diff --git a/Source/Base/Empresas/Test/uHostMainForm.pas b/Source/ApplicationBase/Empresas/Test/uHostMainForm.pas similarity index 100% rename from Source/Base/Empresas/Test/uHostMainForm.pas rename to Source/ApplicationBase/Empresas/Test/uHostMainForm.pas diff --git a/Source/Base/Empresas/Views/uEditorDatosBancariosEmpresa.dfm b/Source/ApplicationBase/Empresas/Views/uEditorDatosBancariosEmpresa.dfm similarity index 100% rename from Source/Base/Empresas/Views/uEditorDatosBancariosEmpresa.dfm rename to Source/ApplicationBase/Empresas/Views/uEditorDatosBancariosEmpresa.dfm diff --git a/Source/Base/Empresas/Views/uEditorDatosBancariosEmpresa.pas b/Source/ApplicationBase/Empresas/Views/uEditorDatosBancariosEmpresa.pas similarity index 100% rename from Source/Base/Empresas/Views/uEditorDatosBancariosEmpresa.pas rename to Source/ApplicationBase/Empresas/Views/uEditorDatosBancariosEmpresa.pas diff --git a/Source/Base/Empresas/Views/uEditorEmpresa.dfm b/Source/ApplicationBase/Empresas/Views/uEditorEmpresa.dfm similarity index 100% rename from Source/Base/Empresas/Views/uEditorEmpresa.dfm rename to Source/ApplicationBase/Empresas/Views/uEditorEmpresa.dfm diff --git a/Source/Base/Empresas/Views/uEditorEmpresa.pas b/Source/ApplicationBase/Empresas/Views/uEditorEmpresa.pas similarity index 100% rename from Source/Base/Empresas/Views/uEditorEmpresa.pas rename to Source/ApplicationBase/Empresas/Views/uEditorEmpresa.pas diff --git a/Source/Base/Empresas/Views/uEmpresasViewRegister.pas b/Source/ApplicationBase/Empresas/Views/uEmpresasViewRegister.pas similarity index 100% rename from Source/Base/Empresas/Views/uEmpresasViewRegister.pas rename to Source/ApplicationBase/Empresas/Views/uEmpresasViewRegister.pas diff --git a/Source/Base/Empresas/Views/uViewDatosBancarios.dfm b/Source/ApplicationBase/Empresas/Views/uViewDatosBancarios.dfm similarity index 100% rename from Source/Base/Empresas/Views/uViewDatosBancarios.dfm rename to Source/ApplicationBase/Empresas/Views/uViewDatosBancarios.dfm diff --git a/Source/Base/Empresas/Views/uViewDatosBancarios.pas b/Source/ApplicationBase/Empresas/Views/uViewDatosBancarios.pas similarity index 100% rename from Source/Base/Empresas/Views/uViewDatosBancarios.pas rename to Source/ApplicationBase/Empresas/Views/uViewDatosBancarios.pas diff --git a/Source/Base/Empresas/Views/uViewEmpresa.dfm b/Source/ApplicationBase/Empresas/Views/uViewEmpresa.dfm similarity index 100% rename from Source/Base/Empresas/Views/uViewEmpresa.dfm rename to Source/ApplicationBase/Empresas/Views/uViewEmpresa.dfm diff --git a/Source/Base/Empresas/Views/uViewEmpresa.pas b/Source/ApplicationBase/Empresas/Views/uViewEmpresa.pas similarity index 100% rename from Source/Base/Empresas/Views/uViewEmpresa.pas rename to Source/ApplicationBase/Empresas/Views/uViewEmpresa.pas diff --git a/Source/ApplicationBase/Usuarios/Controller/View/uIEditorLogin.pas b/Source/ApplicationBase/Usuarios/Controller/View/uIEditorLogin.pas new file mode 100644 index 00000000..0f3e505f --- /dev/null +++ b/Source/ApplicationBase/Usuarios/Controller/View/uIEditorLogin.pas @@ -0,0 +1,22 @@ +unit uIEditorLogin; + +interface + +uses + uEditorBase, uUsuariosController; + +type + IEditorLogin = interface + ['{96513A0B-679D-4DD6-8821-C99003DAD2A3}'] + function ShowModal : Integer; + procedure Release; + + function GetController : IUsuariosController; + procedure SetController (const AValue : IUsuariosController); + property Controller : IUsuariosController read GetController write SetController; + end; + + +implementation + +end. diff --git a/Source/Base/Usuarios/Controller/uUsuariosController.pas b/Source/ApplicationBase/Usuarios/Controller/uUsuariosController.pas similarity index 69% rename from Source/Base/Usuarios/Controller/uUsuariosController.pas rename to Source/ApplicationBase/Usuarios/Controller/uUsuariosController.pas index cb78c693..31e6dd45 100644 --- a/Source/Base/Usuarios/Controller/uUsuariosController.pas +++ b/Source/ApplicationBase/Usuarios/Controller/uUsuariosController.pas @@ -4,21 +4,26 @@ interface uses - Classes, SysUtils, uDADataTable, uControllerBase, + Classes, SysUtils, Forms, uDADataTable, uControllerBase, uIDataModuleUsuarios, uDataModuleUsuarios, UCBase; type - IUsuariosController = interface(IObservador) + IUsuariosController = interface(IControllerBase) ['{DD963EEC-5880-4DE7-AF55-B5080B538D84}'] - {procedure Logoff; - procedure Execute; - procedure StartLogin; + procedure Logoff; + function StartLogin : Boolean; procedure ShowUserManager; procedure ShowProfileManager; procedure ShowLogManager; procedure ShowChangePassword; - procedure ChangeUser(IDUser: Integer; Login, Name, Mail: String; Profile,UserExpired,UserDaysSun: Integer; PrivUser: Boolean); + function ComprobarUsuario(const User : String; const Password: String): Boolean; + + function GetMaxIntentosLogin: Integer; + procedure SetMaxIntentosLogin(const Value: Integer); + property MaxIntentosLogin : Integer read GetMaxIntentosLogin write SetMaxIntentosLogin; + +{ procedure ChangeUser(IDUser: Integer; Login, Name, Mail: String; Profile,UserExpired,UserDaysSun: Integer; PrivUser: Boolean); procedure ChangePassword(IDUser: Integer; NewPassword: String); procedure AddRight(idUser: Integer; ItemRight: TObject; FullPath: Boolean = True); overload; procedure AddRight(idUser: Integer; ItemRight: String); overload; @@ -44,21 +49,35 @@ type function DarListaUsuarios: TStringList;} end; - TUsuariosController = class(TObservador, IUsuariosController) + TUsuariosController = class(TControllerBase, IUsuariosController) protected FDataModule : IDataModuleUsuarios; FUserControl: TUserControl; + function GetMaxIntentosLogin: Integer; + procedure SetMaxIntentosLogin(const Value: Integer); + procedure RecibirAviso(ASujeto: ISujeto; ADataTable: IDAStronglyTypedDataTable); override; function CreateEditor(const AName : String; const IID: TGUID; out Intf): Boolean; // function ValidarFormaPago(AFormaPago: IBizFormaPago): Boolean; procedure AsignarDataModule; procedure InicializarUserControl; + procedure ComprobarUsuarioInicial; + + procedure OnLoginForm(Sender: TObject; var CustomForm: TCustomForm); public constructor Create; virtual; destructor Destroy; override; + procedure Logoff; + function StartLogin : Boolean; + procedure ShowUserManager; + procedure ShowProfileManager; + procedure ShowLogManager; + procedure ShowChangePassword; + function ComprobarUsuario(const User : String; const Password: String): Boolean; + { function Eliminar(AFormaPago : IBizFormaPago): Boolean; function Guardar(AFormaPago : IBizFormaPago): Boolean; virtual; procedure DescartarCambios(AFormaPago : IBizFormaPago); virtual; @@ -69,9 +88,8 @@ type procedure Ver(AFormaPago: IBizFormaPago); function Localizar(AUsuarios: IBizFormaPago; ADescripcion:String): Boolean; function DarListaUsuarios: TStringList;} - - published property UserControl : TUserControl read FUserControl; + property MaxIntentosLogin : Integer read GetMaxIntentosLogin write SetMaxIntentosLogin; end; implementation @@ -79,7 +97,7 @@ implementation uses cxControls, DB, uEditorRegistryUtils, schUsuariosClient_Intf, uDAInterfaces, uDataTableUtils, uDialogUtils, - uDateUtils, uROTypes, DateUtils, Controls, Windows; + uDateUtils, uROTypes, DateUtils, Controls, Windows, uLoginForm, uIEditorLogin; { TUsuariosController } @@ -116,11 +134,25 @@ begin Result := FDataModule.GetItems; end;} +function TUsuariosController.ComprobarUsuario(const User, + Password: String): Boolean; +begin + Result := FUserControl.VerificaLogin(User, Password); +end; + +procedure TUsuariosController.ComprobarUsuarioInicial; +begin + // Para que haya un usuario siempre en la BD + if not FUserControl.ExisteUsuario('admin') then + FUserControl.AddUser('admin', '1', 'Administrador', 'admin@correo.net', 0, 0 , 30, True); +end; + constructor TUsuariosController.Create; begin AsignarDataModule; FUserControl := TUserControl.Create(nil); InicializarUserControl; + ComprobarUsuarioInicial; end; function TUsuariosController.CreateEditor(const AName: String; const IID: TGUID; out Intf): Boolean; @@ -173,14 +205,31 @@ begin FDataModule := NIL; inherited; end; +function TUsuariosController.GetMaxIntentosLogin: Integer; +begin + Result := FUserControl.Login.MaxLoginAttempts; +end; + procedure TUsuariosController.InicializarUserControl; begin - FDataModule.InicializarCamposUserControl(FUserControl); with FUserControl do begin - Criptografia := cMD5; AutoStart := False; + Criptografia := cMD5; + OnCustomLoginForm := OnLoginForm; end; + FDataModule.InicializarCamposUserControl(FUserControl); +end; + +procedure TUsuariosController.Logoff; +begin + FUserControl.Logoff; +end; + +procedure TUsuariosController.OnLoginForm(Sender: TObject; + var CustomForm: TCustomForm); +begin + CustomForm := TfLoginForm.Create(NIL); end; { @@ -276,6 +325,54 @@ begin // end; +procedure TUsuariosController.SetMaxIntentosLogin(const Value: Integer); +begin + FUserControl.Login.MaxLoginAttempts := Value; +end; + +procedure TUsuariosController.ShowChangePassword; +begin + FUserControl.ShowChangePassword; +end; + +procedure TUsuariosController.ShowLogManager; +begin + FUserControl.ShowLogManager; +end; + +procedure TUsuariosController.ShowProfileManager; +begin + FUserControl.ShowProfileManager; +end; + +procedure TUsuariosController.ShowUserManager; +begin + FUserControl.ShowUserManager; +end; + +function TUsuariosController.StartLogin : Boolean; +var + AEditor : IEditorLogin; +begin + AEditor := NIL; + ShowHourglassCursor; + try + CreateEditor('EditorLogin', IEditorLogin, AEditor); + with AEditor do + Controller := Self; + finally + HideHourglassCursor; + end; + + if Assigned(AEditor) then + try + Result := (AEditor.ShowModal = mrOk); + AEditor.Release; + finally + AEditor := NIL; + end; +end; + {function TUsuariosController.Guardar(AFormaPago: IBizFormaPago): Boolean; begin Result := False; diff --git a/Source/Base/Usuarios/Data/uCambiarPassword.dfm b/Source/ApplicationBase/Usuarios/Data/uCambiarPassword.dfm similarity index 100% rename from Source/Base/Usuarios/Data/uCambiarPassword.dfm rename to Source/ApplicationBase/Usuarios/Data/uCambiarPassword.dfm diff --git a/Source/Base/Usuarios/Data/uCambiarPassword.pas b/Source/ApplicationBase/Usuarios/Data/uCambiarPassword.pas similarity index 100% rename from Source/Base/Usuarios/Data/uCambiarPassword.pas rename to Source/ApplicationBase/Usuarios/Data/uCambiarPassword.pas diff --git a/Source/ApplicationBase/Usuarios/Data/uDataModuleUsuarios.dfm b/Source/ApplicationBase/Usuarios/Data/uDataModuleUsuarios.dfm new file mode 100644 index 00000000..2e8e9432 --- /dev/null +++ b/Source/ApplicationBase/Usuarios/Data/uDataModuleUsuarios.dfm @@ -0,0 +1,24 @@ +object DataModuleUsuarios: TDataModuleUsuarios + OldCreateOrder = True + OnCreate = DAClientDataModuleCreate + Height = 205 + Width = 355 + object ROLoginService: TRORemoteService + Message = dmConexion.ROMessage + Channel = dmConexion.ROChannel + ServiceName = 'srvLogin' + Left = 48 + Top = 32 + end + object srvUsuarios: TRORemoteService + Message = dmConexion.ROMessage + Channel = dmConexion.ROChannel + ServiceName = 'srvUsuarios' + Left = 152 + Top = 32 + end + object Bin2DataStreamer: TDABin2DataStreamer + Left = 48 + Top = 104 + end +end diff --git a/Source/Base/Usuarios/Data/uDataModuleUsuarios.pas b/Source/ApplicationBase/Usuarios/Data/uDataModuleUsuarios.pas similarity index 95% rename from Source/Base/Usuarios/Data/uDataModuleUsuarios.pas rename to Source/ApplicationBase/Usuarios/Data/uDataModuleUsuarios.pas index 2e697243..14cba592 100644 --- a/Source/Base/Usuarios/Data/uDataModuleUsuarios.pas +++ b/Source/ApplicationBase/Usuarios/Data/uDataModuleUsuarios.pas @@ -17,7 +17,6 @@ type ROLoginService: TRORemoteService; srvUsuarios: TRORemoteService; Bin2DataStreamer: TDABin2DataStreamer; - UserControl1: TUserControl; procedure DAClientDataModuleCreate(Sender: TObject); procedure DAClientDataModuleDestroy(Sender: TObject); private @@ -57,7 +56,8 @@ implementation uses Forms, Controls, uDataTableUtils, uDataModuleConexion, uLoginForm, - uCambiarPassword, Dialogs, Windows, uEmpresasController, schUsuariosClient_Intf; + uCambiarPassword, Dialogs, Windows, uEmpresasController, + schUsuariosClient_Intf; { TDAClientDataModule1 } diff --git a/Source/Base/Usuarios/Data/uLoginForm.dfm b/Source/ApplicationBase/Usuarios/Data/uLoginForm.dfm similarity index 100% rename from Source/Base/Usuarios/Data/uLoginForm.dfm rename to Source/ApplicationBase/Usuarios/Data/uLoginForm.dfm diff --git a/Source/ApplicationBase/Usuarios/Data/uLoginForm.pas b/Source/ApplicationBase/Usuarios/Data/uLoginForm.pas new file mode 100644 index 00000000..a8baebae --- /dev/null +++ b/Source/ApplicationBase/Usuarios/Data/uLoginForm.pas @@ -0,0 +1,112 @@ +unit uLoginForm; + +interface + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, StdCtrls, ExtCtrls, ComCtrls, cxGraphics, cxControls, + cxContainer, cxEdit, cxTextEdit, cxMaskEdit, cxDropDownEdit, + cxImageComboBox, ImgList, PngImageList, pngimage, ToolWin, JvExControls, + JvComponent, JvGradient, JvGIF, JvComponentBase, JvFormPlacement, + JvAppStorage, JvAppRegistryStorage; + +type + TfLoginForm = class(TForm) + Panel1: TPanel; + Label3: TLabel; + Label4: TLabel; + edtPassword: TEdit; + bAceptar: TButton; + bCancelar: TButton; + Label1: TLabel; + edtUser: TEdit; + JvGradient1: TJvGradient; + Button1: TButton; + Timer1: TTimer; + JvAppRegistryStorage1: TJvAppRegistryStorage; + JvFormStorage1: TJvFormStorage; + Image1: TImage; + procedure bAceptarClick(Sender: TObject); + procedure FormCreate(Sender: TObject); + procedure ToolButton4Click(Sender: TObject); + procedure FormShow(Sender: TObject); + procedure Timer1Timer(Sender: TObject); + private + FIntentos: Integer; + end; + +var + fLoginForm: TfLoginForm; + +implementation + +uses + uFactuGES_App, uDataModuleConexion; + {uDataModuleUsuarios, uDataModuleBase} + +{$R *.dfm} + +{ +********************************* TfLoginForm ********************************** +} +procedure TfLoginForm.bAceptarClick(Sender: TObject); +//var +// bOk : Boolean; +begin +{ ShowHourglassCursor; + try + bOK := dmUsuarios.Login(edtUser.Text, edtPassword.Text); + finally + HideHourglassCursor; + end; + + if bOk then + ModalResult := mrOK + else begin + Application.MessageBox('Usuario no válido. Compruebe si ha escrito correctamente' + + #13 + #10 + 'el usuario y la contraseña.', 'Atención', MB_OK); + Dec(FIntentos); + if (FIntentos <= 0) then + ModalResult := mrCancel; + end;} +end; + +procedure TfLoginForm.FormCreate(Sender: TObject); +begin + FIntentos := 3; +end; + +procedure TfLoginForm.ToolButton4Click(Sender: TObject); +var + ATimer : Boolean; +begin + if Timer1.Enabled then + begin + ATimer := True; + Timer1.Enabled := False; + end; + + dmConexion.ConfigurarConexion; + + if ATimer then + Timer1.Enabled := True; +end; + +procedure TfLoginForm.FormShow(Sender: TObject); +begin + Self.Caption := Self.Caption + ' - ' + AppFactuGES.AppVersion; + JvFormStorage1.RestoreFormPlacement; + // Hacer login automática si hay usuario/password y no hay más de una base + // de datos como opción para conectarse. + + if ((Length(edtUser.Text) > 0) and (Length(edtPassword.Text) > 0)) then + Timer1.Enabled := True; +end; + +procedure TfLoginForm.Timer1Timer(Sender: TObject); +begin + Timer1.Enabled := False; + bAceptar.Click; +end; + +end. diff --git a/Source/Base/Usuarios/Data/uUCROConn.pas b/Source/ApplicationBase/Usuarios/Data/uUCROConn.pas similarity index 74% rename from Source/Base/Usuarios/Data/uUCROConn.pas rename to Source/ApplicationBase/Usuarios/Data/uUCROConn.pas index bd27a10d..36393f6e 100644 --- a/Source/Base/Usuarios/Data/uUCROConn.pas +++ b/Source/ApplicationBase/Usuarios/Data/uUCROConn.pas @@ -50,43 +50,11 @@ type property RemoteService : TRORemoteService read FRemoteService write SetRemoteService; end; -const - // Select para as tabelas de sistema !!! Para outro tipo de banco implemente aqui !!!!! - - // Para banco novo !!! - // Não esquecer de colocar em TBancoDados, o tipo de banco !!!!!! - // Não esquecer de colocar no 'case' de UCFindTable - - SQL_Firebird = - 'SELECT ' + - ' UPPER(RDB$RELATIONS.RDB$RELATION_NAME) RDB$RELATION_NAME ' + - 'FROM ' + - ' RDB$RELATIONS ' + - 'WHERE ' + - ' RDB$RELATIONS.RDB$FLAGS = 1 AND UPPER(RDB$RELATIONS.RDB$RELATION_NAME) = ' + - ' UPPER(''%s'')'; - - SQL_MSSQL = ''; - - SQL_Oracle = ''; - - SQL_PostgreSQL = - 'SELECT ' + - ' UPPER(PG_CLASS.RELNAME) ' + - 'FROM ' + - ' PG_CLASS ' + - 'WHERE ' + - ' PG_CLASS.RELKIND = ''r'' AND ' + - ' UPPER(PG_CLASS.RELNAME) LIKE UPPER(''%s'')'; - - SQL_MySQL = ''; - - SQL_Paradox = ''; - implementation uses - FactuGES_Intf, uROTypes, uDAClasses, uDADataTable; + Forms, Dialogs, FactuGES_Intf, uROTypes, uDAClasses, uDADataTable, + uDACDSDataTable; { TUCROConn } @@ -177,18 +145,35 @@ begin end; end; + function TUCROConn.UCGetSQLDataset(FSQL: String): TDataset; var - AStream : Binary; - ADataTable : TDADataTable; + AStream: TMemoryStream; + ADataStreamer: TDABin2DataStreamer; + ADataTable: TDACDSDataTable; begin - Result := NIL; + ADataStreamer := TDABin2DataStreamer.Create(NIL); AStream := (FRemoteService as IsrvUsuarios).SQLGetData(FSQL, True, -1); - if Assigned(AStream) then - begin - ADataTable := TDADataTable.Create(NIL); - ADataTable.LoadFromStream(AStream); - Result := ADataTable.Dataset; + + if AStream <> nil then + try + ADataTable := TDACDSDataTable.Create(Application); + + // Generar un nombre aleatorio + Randomize; + ADataTable.Name := 'SQLResult' + '_' + IntToStr(Random(MAXINT)); + + ADataTable.LocalDataStreamer := ADataStreamer; + ADataTable.RemoteFetchEnabled := False; + try + ADataStreamer.ReadDataset(AStream, ADataTable, True); + Result := ADataTable.Dataset; + finally + //FreeAndNIL(ADataTable); <-- No liberar, lo hace Application + end; + finally + FreeAndNIL(AStream); + FreeAndNIL(ADataStreamer); end; end; diff --git a/Source/Base/Usuarios/Data/uUsuario.dfm b/Source/ApplicationBase/Usuarios/Data/uUsuario.dfm similarity index 100% rename from Source/Base/Usuarios/Data/uUsuario.dfm rename to Source/ApplicationBase/Usuarios/Data/uUsuario.dfm diff --git a/Source/Base/Usuarios/Data/uUsuario.pas b/Source/ApplicationBase/Usuarios/Data/uUsuario.pas similarity index 100% rename from Source/Base/Usuarios/Data/uUsuario.pas rename to Source/ApplicationBase/Usuarios/Data/uUsuario.pas diff --git a/Source/Base/Usuarios/Data/uUsuarios.dfm b/Source/ApplicationBase/Usuarios/Data/uUsuarios.dfm similarity index 100% rename from Source/Base/Usuarios/Data/uUsuarios.dfm rename to Source/ApplicationBase/Usuarios/Data/uUsuarios.dfm diff --git a/Source/Base/Usuarios/Data/uUsuarios.pas b/Source/ApplicationBase/Usuarios/Data/uUsuarios.pas similarity index 100% rename from Source/Base/Usuarios/Data/uUsuarios.pas rename to Source/ApplicationBase/Usuarios/Data/uUsuarios.pas diff --git a/Source/Base/Usuarios/Model/Data/uIDataModuleUsuarios.pas b/Source/ApplicationBase/Usuarios/Model/Data/uIDataModuleUsuarios.pas similarity index 100% rename from Source/Base/Usuarios/Model/Data/uIDataModuleUsuarios.pas rename to Source/ApplicationBase/Usuarios/Model/Data/uIDataModuleUsuarios.pas diff --git a/Source/Base/Usuarios/Model/schUsuariosClient_Intf.pas b/Source/ApplicationBase/Usuarios/Model/schUsuariosClient_Intf.pas similarity index 96% rename from Source/Base/Usuarios/Model/schUsuariosClient_Intf.pas rename to Source/ApplicationBase/Usuarios/Model/schUsuariosClient_Intf.pas index 02e9c47d..1b5720ab 100644 --- a/Source/Base/Usuarios/Model/schUsuariosClient_Intf.pas +++ b/Source/ApplicationBase/Usuarios/Model/schUsuariosClient_Intf.pas @@ -9,11 +9,11 @@ const { Data table rules ids Feel free to change them to something more human readable but make sure they are unique in the context of your application } - RID_USUARIOS = '{BCEAD2C9-F685-4AD0-BFD5-FAA3694FB6B8}'; - RID_USUARIOS_EVENTOS = '{FCCBD5C6-0BBB-44C1-B19A-983FEE8F93D5}'; - RID_USUARIOS_LOGON = '{31C71D37-D969-4C21-AD16-ECD67F1BD5B0}'; - RID_PERMISOS = '{90F13FF0-B34A-4AA9-8EC5-F8427722C146}'; - RID_PERMISOSEX = '{30F060F4-D38F-41D2-8888-EE5E91BBAA0B}'; + RID_USUARIOS = '{1A97AED1-832A-46A9-9894-8CB44D7AFBBD}'; + RID_USUARIOS_EVENTOS = '{16F186E3-A7CF-40DD-B040-EB735A5F1FDD}'; + RID_USUARIOS_LOGON = '{8005FBCF-1276-473D-A3BE-15C8159AB6CE}'; + RID_PERMISOS = '{802AF8DD-DA72-412A-AB43-4D5F0EA5630F}'; + RID_PERMISOSEX = '{B2319D8E-0423-41D1-B166-7BD9EC069549}'; { Data table names } nme_USUARIOS = 'USUARIOS'; @@ -115,7 +115,7 @@ const type { IUSUARIOS } IUSUARIOS = interface(IDAStronglyTypedDataTable) - ['{98E5DC96-C6C8-48DD-9A93-727F34455103}'] + ['{F248A54E-1181-40E9-B9B4-9A1D9F4DA382}'] { Property getters and setters } function GetIDValue: Integer; procedure SetIDValue(const aValue: Integer); @@ -282,7 +282,7 @@ type { IUSUARIOS_EVENTOS } IUSUARIOS_EVENTOS = interface(IDAStronglyTypedDataTable) - ['{AFFBC554-995C-4D6C-A88B-3A786E4905CD}'] + ['{8E5D7E37-04E5-4395-8B3E-E0757F5675B4}'] { Property getters and setters } function GetAPLICACIONValue: String; procedure SetAPLICACIONValue(const aValue: String); @@ -413,7 +413,7 @@ type { IUSUARIOS_LOGON } IUSUARIOS_LOGON = interface(IDAStronglyTypedDataTable) - ['{721BFDBE-77B1-4E34-8E49-D2782E2939A1}'] + ['{FF8C8388-9397-4FA2-AB70-491B8299DC00}'] { Property getters and setters } function GetLOGONIDValue: String; procedure SetLOGONIDValue(const aValue: String); @@ -496,7 +496,7 @@ type { IPERMISOS } IPERMISOS = interface(IDAStronglyTypedDataTable) - ['{E369AE58-C4F5-476F-8D81-1C0440F6A362}'] + ['{7705D3E7-EC27-4CB7-9492-1873D2158F79}'] { Property getters and setters } function GetID_USUARIOValue: Integer; procedure SetID_USUARIOValue(const aValue: Integer); @@ -567,7 +567,7 @@ type { IPERMISOSEX } IPERMISOSEX = interface(IDAStronglyTypedDataTable) - ['{956C4144-986B-4043-8DA5-81667770CD85}'] + ['{1636E92E-3A74-4F5F-AF20-5831B0D57A38}'] { Property getters and setters } function GetID_USUARIOValue: Integer; procedure SetID_USUARIOValue(const aValue: Integer); diff --git a/Source/Base/Usuarios/Model/schUsuariosServer_Intf.pas b/Source/ApplicationBase/Usuarios/Model/schUsuariosServer_Intf.pas similarity index 96% rename from Source/Base/Usuarios/Model/schUsuariosServer_Intf.pas rename to Source/ApplicationBase/Usuarios/Model/schUsuariosServer_Intf.pas index 36ac6e3c..25699bf6 100644 --- a/Source/Base/Usuarios/Model/schUsuariosServer_Intf.pas +++ b/Source/ApplicationBase/Usuarios/Model/schUsuariosServer_Intf.pas @@ -9,16 +9,16 @@ const { Delta rules ids Feel free to change them to something more human readable but make sure they are unique in the context of your application } - RID_USUARIOSDelta = '{46E1A07E-12D3-4FEB-B692-A849C5467B93}'; - RID_USUARIOS_EVENTOSDelta = '{53E03F8A-166F-4A18-85B9-BBBEB2D60052}'; - RID_USUARIOS_LOGONDelta = '{0EC1E706-6226-449C-885B-6C6AC5187088}'; - RID_PERMISOSDelta = '{A8CCC0BF-DEB4-439F-B7C4-3A25F5210A5E}'; - RID_PERMISOSEXDelta = '{78ACF719-CCD6-47F3-AA01-D580F121F7A8}'; + RID_USUARIOSDelta = '{30AE63B9-1580-4117-9B4F-448F309BD6AC}'; + RID_USUARIOS_EVENTOSDelta = '{81DD56BF-BBB5-4311-9AF3-E72EF8B5EC32}'; + RID_USUARIOS_LOGONDelta = '{BE275431-94DF-4C1C-83D0-C09B4E0DA9D9}'; + RID_PERMISOSDelta = '{F99C6E2E-FE0E-4943-9B69-37B2F48AF314}'; + RID_PERMISOSEXDelta = '{43B62FCB-7C4A-4F3A-9F77-85339308E91A}'; type { IUSUARIOSDelta } IUSUARIOSDelta = interface(IUSUARIOS) - ['{46E1A07E-12D3-4FEB-B692-A849C5467B93}'] + ['{30AE63B9-1580-4117-9B4F-448F309BD6AC}'] { Property getters and setters } function GetOldIDValue : Integer; function GetOldUSERNAMEValue : String; @@ -184,7 +184,7 @@ type { IUSUARIOS_EVENTOSDelta } IUSUARIOS_EVENTOSDelta = interface(IUSUARIOS_EVENTOS) - ['{53E03F8A-166F-4A18-85B9-BBBEB2D60052}'] + ['{81DD56BF-BBB5-4311-9AF3-E72EF8B5EC32}'] { Property getters and setters } function GetOldAPLICACIONValue : String; function GetOldID_USUARIOValue : Integer; @@ -315,7 +315,7 @@ type { IUSUARIOS_LOGONDelta } IUSUARIOS_LOGONDelta = interface(IUSUARIOS_LOGON) - ['{0EC1E706-6226-449C-885B-6C6AC5187088}'] + ['{BE275431-94DF-4C1C-83D0-C09B4E0DA9D9}'] { Property getters and setters } function GetOldLOGONIDValue : String; function GetOldID_USUARIOValue : Integer; @@ -397,7 +397,7 @@ type { IPERMISOSDelta } IPERMISOSDelta = interface(IPERMISOS) - ['{A8CCC0BF-DEB4-439F-B7C4-3A25F5210A5E}'] + ['{F99C6E2E-FE0E-4943-9B69-37B2F48AF314}'] { Property getters and setters } function GetOldID_USUARIOValue : Integer; function GetOldMODULOValue : String; @@ -467,7 +467,7 @@ type { IPERMISOSEXDelta } IPERMISOSEXDelta = interface(IPERMISOSEX) - ['{78ACF719-CCD6-47F3-AA01-D580F121F7A8}'] + ['{43B62FCB-7C4A-4F3A-9F77-85339308E91A}'] { Property getters and setters } function GetOldID_USUARIOValue : Integer; function GetOldMODULOValue : String; diff --git a/Source/ApplicationBase/Usuarios/Model/uUsuarios.pas b/Source/ApplicationBase/Usuarios/Model/uUsuarios.pas new file mode 100644 index 00000000..ef53a8c4 --- /dev/null +++ b/Source/ApplicationBase/Usuarios/Model/uUsuarios.pas @@ -0,0 +1,15 @@ +unit uUsuarios; + +interface + +uses + UCBase; + +type + TUsuario = class(TUCUser) + + end; + +implementation + +end. diff --git a/Source/Base/Usuarios/Servidor/srvUsuarios_Impl.dfm b/Source/ApplicationBase/Usuarios/Servidor/srvUsuarios_Impl.dfm similarity index 100% rename from Source/Base/Usuarios/Servidor/srvUsuarios_Impl.dfm rename to Source/ApplicationBase/Usuarios/Servidor/srvUsuarios_Impl.dfm diff --git a/Source/Base/Usuarios/Servidor/srvUsuarios_Impl.pas b/Source/ApplicationBase/Usuarios/Servidor/srvUsuarios_Impl.pas similarity index 100% rename from Source/Base/Usuarios/Servidor/srvUsuarios_Impl.pas rename to Source/ApplicationBase/Usuarios/Servidor/srvUsuarios_Impl.pas diff --git a/Source/ApplicationBase/Usuarios/Views/uEditorLogin.dfm b/Source/ApplicationBase/Usuarios/Views/uEditorLogin.dfm new file mode 100644 index 00000000..fb4b5560 --- /dev/null +++ b/Source/ApplicationBase/Usuarios/Views/uEditorLogin.dfm @@ -0,0 +1,1099 @@ +object fEditorLogin: TfEditorLogin + Left = 790 + Top = 387 + ActiveControl = edtUser + BorderStyle = bsDialog + Caption = 'FactuGES' + ClientHeight = 241 + ClientWidth = 385 + Color = clBtnFace + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -11 + Font.Name = 'MS Sans Serif' + Font.Style = [] + OldCreateOrder = False + Position = poScreenCenter + OnCreate = FormCreate + OnShow = FormShow + PixelsPerInch = 96 + TextHeight = 13 + object Label3: TLabel + Left = 24 + Top = 108 + Width = 39 + Height = 13 + Caption = 'Usuario:' + Transparent = False + end + object Label4: TLabel + Left = 24 + Top = 138 + Width = 57 + Height = 13 + Caption = 'Contrase'#241'a:' + Transparent = False + end + object Label1: TLabel + Left = 16 + Top = 72 + Width = 94 + Height = 13 + Caption = 'Inicio de sesi'#243'n:' + Font.Charset = DEFAULT_CHARSET + Font.Color = clMenuHighlight + Font.Height = -11 + Font.Name = 'MS Sans Serif' + Font.Style = [fsBold] + ParentFont = False + end + object JvGradient1: TJvGradient + Left = 0 + Top = 57 + Width = 385 + Height = 4 + Align = alTop + StartColor = 2971346 + EndColor = 4828405 + end + object Panel1: TPanel + Left = 0 + Top = 0 + Width = 385 + Height = 57 + Align = alTop + BevelOuter = bvNone + Color = clWhite + TabOrder = 0 + object Image1: TImage + Left = 0 + Top = 0 + Width = 385 + Height = 57 + Align = alClient + Center = True + Picture.Data = { + 0B544A76474946496D616765F6750000474946383961C201FA00E60000FFFFFF + F5F5F5A92824ECECECEB743DF48545EF7B40DEDEDECD452DEAEAEAD0492EDC5A + 34FAFAFAF2F2F2BC2A26B02724E5E5E5E26236B95B55E1E1E1F8F8F8D95532FC + FCFCF5D6CAD4D4D4F5C8B5D1B5B0F0F0F0E66A39C23428D65131EEEEEEBCBABA + FEFEFEF7B192F49366CB938CD34D30C7726AC63A2AE96E3BC7564CD26958EEB5 + A5F9E9E3D7C5C2C93F2BE46638F8E1D8D2867AC9C5C4E05E35C03027B82725C7 + 453AE79A89B9322ECBA59EF7A47BFCF4F1FCF0EBB93A36D8D5D4B44741BF2D26 + EEE2E0A22925AB3934A7302CFEF8F5FEF9F8C33B33DB5D3DB52724B12E2AD251 + 3AD9CFCDE47D60FEFCFCBC7D75BD2C26EBE9E9D6D6D7FFFEFDF7F1F0FEFBFAFD + FDFDF3F0EFE8DDDCFBF8F7DFDFDFDED7D6D45A43F4F4F4E0E0E0DADADAC94E41 + F9F9F9DF6648EBEBEBF1EBEAE4E4E4D8D8D8EDEDEDD94E2FD95738C53729EFEF + EFFFFFFEF3F3F3E2E2E2EBECEDE8E8E8F7F7F7EFF0F0CDCCCCF1EEEDE7E7E7F1 + F2F3F1E8E5E76035E86B39D1D1D2F2F3F4EEEDEECF3F2AD2D0D0F1F1F12C0000 + 0000C201FA000007FF800582838485868788898A8322173C5300919293949596 + 9798999A9B9C9D9E9FA0A1A2A393560C717F6763670D710C56A4B1B2B3B4B5B1 + 8323B887B982BC05BEC0BABDBBC2BFBF3A193046B6CCCDCECFD0D1A50C011F70 + 1075636B6D71161621E0D2E2B4E02156E7E8E9EAE5E3968BEFF0F1883A8D3BED + F7F8F9FAA2A601677513DC9481A38D5B180BB0F629BC64C502030A7102489C48 + 31401C0A0713EA3336AC23C78FC10C8504590CD808643C16AA5CC9125AC30003 + CA68D1E265421908633E18D4D8529F290A5DFEAC3933A0A8D1A31FFE707BB54F + 9ED3A78B4624EB49B5AAD54DFD621ED8BAD58B9B6C6B5A85796525C4D567211C + 024D05A70E843270FFE3CA850067C0862EDDCAE283CAB76F2F1130CE0A1EDCF3 + A556AE5D05D649F0A141000A0C2C10B665254C805409EA947133C18BE7CF9E27 + 88BEC9F84F808366DBF95DFD54C785296C26CB9E2DAEDF3F2D880FCCD4127031 + ABC7DF688B4A4BA1CD87CC9BBDEC5ECE9CA6CD3A701ABB4A2D8EB5F577272F14 + 7122BCBB77592FCF40505ED38D4037CA0FD88490C02EDEC87ABF33B410A6CB86 + 319A95E35E0E9A79D7E78C75414170D22462006B072A9260010B1E825211B1C9 + 27E18498D8564768742590001C654C3053796580F51E4F1486704A030370881E + 6E5B3967DE8B9C75C6E287E6E1F44737D55DA7E32E52C1C00377140629E44B1F + 5CE8C5408DB5B1C6FF186FA597581DEE0D489D7CE05810C006097488988B37D5 + E1A59710BCB5998C5B0EB4018ED10CB2608387ACA9669B6F1AC2A6200D9E944C + 1542E639615A71AC0107676E24D0401861C4A1247E7079A8DB04741574DA2B53 + D26662351C7AC11588D02530C651638CA1615B6FADC8951603AD110042D0ECA8 + AA21F4C050849EB07AC7E7067FDA344617AF3864E8922A5ACA9B798B49170689 + B3595964194E6AE14686037CB0C6061BFCF107B46B7C4094A76D71C6E2015E45 + 776AA4B53028EE81E48E6B6EB9E89EAB6EBAECAA5B0032F6C42AAF6CE650F047 + 029C95716B59E09862E87DD7ACB8DBB28CB502293B839913C01A00EDC75B8839 + 6DD0461B5D54D445FF1B0D48BBC150F84140E6568C7E100003E0CE42679CE29E + AC72CA2C13E2A69C28BFFC4B062C4032EFCD67D57B6F876524D0C637E5985868 + 5067B4D5A1AF006E13471C631178D5A4D6B871E9570557BCF4D5584B74710319 + 7F304002A1A6A76C1D67E04AAC2CEBA6DDEEDA6AB7CDEE0880155132CE742B64 + 4E180D8CD161A07F8411B4390D3D74D97110B8B15F4D21367B1744929D654535 + 855BAADB57EE5D440146845E0ED1D25A6F3DED0763043CE3047588EC342D32A7 + 1EF3EA2BABDE7A21705FB083CD75D7BED0DD79EF0DC70614F0FB779510357046 + 669CE977A497496D70EA3973EB034E181B5CD8E29170B0C27464D833A03DA161 + 5C1E5144124DDCC0FF50C46F1B72006793E2F6FA6CB7CF3E8376C280A7EDF43B + 5F59DE80C2F147EFBF07AD56000D009D8A6612104611447990499FF318D005BD + 4DAD7AA6699A37B497BDED758F735A9B98508AE6B119B9010E6D600033DC47C2 + F795B05DBF004CBCEAC7C271E82C4B36D1DFB0FAF7B78614AA0DF7A983E166C2 + 2D0336E6348D5B8905FA0410AE7CE50C6D78943796C8C4EC656E7301B818C6A6 + 95A20ECDA80C1FA040F3426100727591415FECA217C70846328AB18C683CA31A + C3C8C60421830555D8620BE7188B17022A017DF31D0DFD770AE3802D39B8395E + 7BFE2020F8C8112DF6FAD37E488744A631511D4C748805A1D805298EAF8A8A52 + 8FA098823A137AF2FF84EF938AEC8044C752D6C28ED4CBE31EFB674343798D43 + 1EA2498D08B28611EDE3710340CFA26C3432F8A80392137448E6302845A1202A + 3D5E80C0194676484E88F199D08CA634A749CD6A5AF3406F7442334DC9CD4CD8 + 312078E4DF2A69D89038D80793DBF20A4E6A09996DD682017FA8038B8E84C791 + 2D9179BF4B47301930CCCE4D917002FBCA1AE2A0C04FACD18C6D7C661ADB5846 + 851E74A1647C1760E2D8CD8A0EE77E7A0BC8EEC4394E1AEAAA0D7F48D15BC8F4 + 1CBB180452D2A8D707CA60C4D201311DE18844D0F4E910615E302295C4D80686 + D7416EE9AB0B418CC535874AD4A256B309B1939B4597FA0913B5610085FBE099 + 80D651720AF3321CFFD4A52C43543057147416698189D474D3B31BF9D27792A8 + E1399648C10B4EA498A0D321D2E0D00092CD62A80DB5665EA3B9D7315ED34E3C + 981F5307EB4D6A14893375182842AADA51FA5C89A7C85A0EC174E2557E35E37E + 7FD28D17C8862B6FA023A6699DE95A9DE8D6286A7028D798408B20B0062DBAF3 + 12468DED350920DB2EC68E07AF252C37ADE4A70EB974B1E5680842F458557F01 + 10A05A7D4E4E4C33A0F8D462880CF350B74CA5BDE15A76126A156E5B6F6A5A9D + 2EA9702C2AC319BA91DB4AD4F6BCE8856613DE958C65E8F6BD941822AD6A643A + 3DD6D4908CED9724E320BC3F1A6F3D1004627931C140A87AC85666F52C5AB12B + 5AE14AB27B10C9A0FF7707A0C3F00E6079B230006D69DBC50D6B588C1CFEB087 + 3DDC611183F8C4252EF1884DCC61418820032B842F7CE5ABA2D2E5858FDD1BCB + 59F36B0E6AFCE1389A91116E7CE89883004D1661F843A5C666BDEA02371CF944 + 075BB7E73D9C8A6F5A458BEC017AD686616538BD6046EFCC5820E332D31858A6 + 7A725A0A15458B60E460F935EEF83A66B84591E60C84F4EA80654AC458226929 + 35C52739D7BA4F7E7A4FC219DB29D814C5B7016578C59066B1A4493CE94A47FA + D21A7E5760CA3CE385C132B1372E87430230C506546C2CC4EDE85A2D631CFCD4 + 994674B10B70F61C02C8E9E7834A73B2A0594968D26ECECA535474E494B5D1A0 + 8A42C5964671A59FFF19624C3B7BD9AED90EA7757B0A3F2156B17AFC09A9B996 + 448BE878B83C1EF5A13453BC992CAB2E7771A47339814B99F83401E9A6A08279 + 4DE8094E929853FCDC31790307C53E5AC3047836A4039E6C81175CD23D8AF1B4 + 2DCADB4F635BB4DB035F4EAD0619AA325698FFFA5A937AB82CB018ECAB94C065 + 9D9309EFF74466DED9AD3705F9595AD3664CDFB0E44D624F250B83DBFCE037C7 + B401EC54B3853315BAB59AB99A67EA0D88943A89154FB5AA1DCB96CDCCC82B8B + 61E7E932D1EE40B227DDDF4679BFA43CE57B5B248A9E839600AD48BA818A3016 + 014FBBDAD7CEF6B6BBFDED708F7BDA33AD0357F97CA90DF7ADC8E0CC4AFA00BB + 62DEAEAED2572938FFCC846DC8109398120BFAB8318CFCEA492494BC7FC9757B + 4F32C219E4DAB4381673D2EDBDE638C739C1731EFAB96F185E7767781CE67BBE + A1E7F3C114907012D5CDE3C059A6BF3A8CA55706D255D4540826EEA6A7D2DEAC + EB5F36F1C1C394F895A935BC20CBDCEC35DFB0DCA74FFDEA4FBF0934A35DEA4B + 69255AF9B66C9149F9EBD90CD23F985ADDBB2E2E35C6879C5806843461111055 + 430EFC4022C93197D3F1C969CA56E473B7BB2FB7316BF03572C56FFE86760067 + 7D6F97806AC780D5E7806EF72E8EA07DDBD74267B62C03D06516471F97835F7C + 14619504786EA63DE9B74A0D113C4BE2162FD2195F511711E40D911207671059 + A4024178917FD813FF49FB847C55F65657B6795E03362B22558E867628A08048 + 9884D6570037A01D15C87D57A222109081A8D12FAC766A7C07380F86535CD300 + 919785E3245C37948280541EECF11B45280914B006E3616E5072176E26793535 + 6592644110F63D60873189B606D522528C465707117D4A388884E8765291124F + 38471738851A185CF5C135155371E0564382536A9168649FC558FE72282AA27B + 93A53C19010EF6822FCAC128091016166139FA775F2BC7723DA87C9A472DD6E2 + 6AE9F1539C440A697784BA4800BB1870BBF88BB9188CC07884BEC88BC6588CC3 + 688CC4788CC6D8042BA00C7B9688F2D17D52380083627182D33912E14816D72F + 86063E60B78D4D33FF78ACC44FA4B60129927B047413E85648FD502407767FDB + 781192D78ADB75875783681AB331D6E25FBAA14CE4258885389085C85E3D278D + F473668C628DA8165C6A614E2FC70D151765B60791D2327B1E585CA660196C01 + 5E1F723CD6C83496315FDC423984348F98638FDC838F5F977989C68F44912D81 + 9458FC5373C97893CA989338B9933AD9933C8902B1333B08693B79B7906DD05C + 35E4585DC06D78713D5AA75F43833114231190B17FE4F83B82A368B9E719BCC1 + 1E1F102DA9504434C11EF13711AAB8924FF48AFE148B02E83588124B811242D1 + 28093FE99376599778799739B9732BC002EE35947BA209D4C0309CC18849874F + A3555A527489DD68FF0EC28479175349DEE67A7B143811114088821EE5E12570 + 902D92432A64A3148077359A539ABF068E79186C02C831FED595E305729C8002 + BA289BBC489BB2799BB6A98CB6899BBB398CBD599BB3199C3AF99B06904D8029 + 2169815296C05BB937850D7098BFE48DA7B094D2E218B4D777A7B06DE68717A1 + 587B9B0864A2F291FA712964A91466499A55C639E09853CBC787D51284CE3736 + BC339774099CF6799BC3299CF8B99FB9E99BFAD99F77999BA2F42AC759155562 + 68E1175FE6F41E30580AABF727CB320609E66043D74ADD6535172178BFF3908B + D994C437898D359214A64BB9911B63A30D5E2899DF9335A8C99E7A382D6D398B + A9B51F7C1306B580FF021C709B392A9B3B8AA3BCF9A33D1AA43FCA9B42CAA33A + 3AA448BAA34D7003198088055A1816B01677E16593C00028E228542A09780343 + 3D038A27F748BED36B6E254553994049F998C056A61919861CC9247556A28861 + 130970061233956679A76F65499AB779EE491442283603D137378AA4848A9B79 + 50A8889AA8B279A885CAA8F80937CA40814F7A0FFA959D21D599224322143083 + 54231D7016066DC024726A2A46765F73F894BA426AD5F985D6954F82439DE699 + 74C515A541E16ADB322A3C444067182D14238216C39E5D282D7CFA01C44A805A + D2225FB17708330A2870A839EAAC43CA017990A3D4EAA3D00AADD55AADD8EAA3 + DA6AADDEFAACDCFAFFAD28600037A04293EA137EB794AF5438FA823E94100709 + 508A5C956B0801AA06D6A58FA25D3785119EF537180776A3498FE1478985B2A0 + 53D990ABA42B44F396255A1E99A42C671816BD9AA72EFAA2FB18A3C31373A3D2 + 2DBFE17BA370A820DBAC3EBAA8221BB2210BAE272BB2E0BAB22A5BB22E6BB2DE + 0AB3204B004D8012E78A0F26B22BE9681E9EE10663E0AE9300AFBBB199DA2020 + 8592371ED3A5EA2649101199DCC82F34A53D11A68718D998A3F510E6346B093B + 9299F9315303266F0A75736A7EBD1A821373B6C17AB1EE692D22F5A61B7B6E9E + 0A9B9630AD79E0ACD3FAAD754BB7752BAD76BBB7758BA3772BADD41AB884EBB7 + 829BB7820BB886ABFFB777DB048DF09737DB0C8E89B5E3566E5C3101FB420901 + 900033627F6F282D5926A7CA137E81137B7A78834DB37F33C54F16E98581F794 + 5562195A3B7E00F40F6E8BABEBC11803F8279F79676B40B667AB87690B2DD4F2 + 9EAAB021E005A72D628ADB604FD7C5097B0BB8D92ABD2DCBB7E17AB8899BBD81 + CBAD843BB879FBB7897BAD742BB848957D91EB0C9B483E2AC8955CA91E991BB4 + 9CFB213CA44E9D89BCE8A1B42453A9B147A695B434B24A7458BB9E80F7BF0EC9 + 4F60080E0FD106CD47A25B22B694456AD63635B19614E6E785E2B3A7305ABC6E + 69349DA1BCA30220783622DBC401824BC2E36BC2D88BA3283CBED34AC22EFCC2 + 307CC2251CC32ECCFFC2D9FBC2742B064CE808F479BED370254C7234E41110E5 + E6B3402B0971300607661E42561E4CAC1CA5C24CAB4B7E2F676A8F6195C6C7BA + AABA9DD7195C30D53FF63A6CB73A39038167F6346AFF20393D341039F12CD539 + BCC5FB9E5F932D99A459EDBB255B856E40D409835BC3348CC37E4CBD33DCBD28 + 2CC8E3CBAD30DCC785ACBD0400A990EBC3A160999791223BE4C45F3252CAF2B3 + 24120703D0195D022A961BA7D91041F855BA10D985185A8F43F73F541B875669 + 82E6D027E361A29BD91E08848D5D10134E529299B20ACE42BC7C48ACD6722D1B + B2BE1F2C10712164251A43212CAB9800C32FE0C2D1FCC2D15CCD1C30CD892CCD + D98CCD896CCDD47CFFCDE0FCCDDC9CC852A17090EC0939DB6A01632900D6C63C + 851E46BCC99D6C8A67C087452357261AA14AD39D930B82C13B954E996D68EA83 + 033CB05EECC5D4201EB72A4B5E699D19690589842C88B17BD840100370066740 + AC185D149E52CC983CD1A4010799A18E25FA30B1868A817809355CCD748BCD2F + 90072F1DD332DCC2D23ACD2DFCD2248CD328ACCD83CCD22B7DCD341DD424EC8C + F273CEA0D00F58D2418BD433CD62C5C22357F1FCAE9D4C39D659BBB0B4CB0F83 + 6E5F18A613B4BF2F679E4E794F90648EF956B5509B898193CBEE7629F7A7675E + 0C347937C666481722AD219FD2166E312658AD5C191D84EBACBC0F132CDC3075 + 9100CED67CD82F70FFD886BDD88ADDD88CFDD88E1DD9906DD88DDC5E46AD09C9 + 197BC2C321CE0117D01131D60914BDE5159A2CD535027E3604C4A06245CBCB7B + 49C19D70B6911171C1002DB020DA63FB7BB6A95CCA95DA402C352A519CD232E5 + 984053195D600D1D52C78B621E7011266112173CABC69A756E110384045838CA + BC25BD911306D1AF9110D3860DD3300DD432CDD2E52DDEE61DDEE75DDE8C3DDE + EB4DDEE81DDF2F8D02632658975D0910DD05BC02480433006E4CB678416A5143 + DA471C099C5C9819787639DB001BE387DA4DDDB916A615E9724C99A193385A18 + 37DB67EB48FDD2DB50F574CAB43C910238CCA32B01C4C1632C9EA2D1195C29D7 + BD51175F099602E8FFA779DDC1B42C1067C85CF90B0089DDE33E5ECD3F1EE442 + 3EE4428E07441EE4467EE43E9EE489CD0162B0A4B273DF94D063A80055020375 + 63A078FE04784F8D2C511DB4B9444FCF6916C411997356800D9C78B06D5D6278 + 99C26AC51FAA6050AB942F277F1D0E38090D01A353077F7076534EE2BD664EE8 + F847CAEDC1266AD204F195C2BAE830BAC1E4369EF9FC6752C2E390EDE3938DD8 + 3D6ED84DDED896FEE38CBDE9950EE48D0DA9042AE5FDA0248B6667BBDA6D5B2E + 116109CFA50DE6F78B47DDF010F6E12C4AA1536DAB5A710A313FB478072ABBFF + 9CCA984874DDA3351C6E0E5B67250ABDBC7CEEE77FEEC5AD74EBF65B3C907EE8 + 5CC22C8ACEE88B2EFF8B03802DE466E313FD4148E465446EE411A0E43E9EEE4C + 9ED8E97EE4EFFE02ECAEEE45DEE3F1EEE36200376466EA96B106C4E37E7441A7 + 162CBCDCD66D61E9E5B18EC4B924BAE1E3EF6132CA6E765CFEB8B1A4E1DFDC09 + 5CDA157BDAB99D93C9E6146AC018DFDBCDBE28A056506F9DAE97143A5E021731 + 021A35F17E5DA22119FD2CC45BF3367FF3FDA882294E3D53C5E3F4FEF3ED6EEF + 4ACEE4F7FEF3F2FEE345FF026240004CBA03F67DBEE5F4D42BA24ED920315696 + 686FDCAB2105D5096FE0613E10FE1D573BB490CF1919470B6447B32D59EDDFF8 + 7756A69C6FAE2BB0BAF6D68829F27A3E3DCA0454F864094949C51B10841E2D26 + 71F1F0D04110190DFF96177BF3C44BB6130152710548131DE2221401949FEE96 + 4FF97860F9F24EF947AFF99EDFF99BFFF9A20FFAA35FFA9C7FF9957FFA2F6000 + 8D805B903C290EBF43E756CFD639DB19FCC6A61614234AE09A1AE61D770DC7DA + 158C6864E6784928FEC15C85672735E7D948A6B53D8E0D165C760FE2542878EB + 165AFA6B5A42E196D8B221F55BD79BD22C347FF3EE59FED0C2F859E3F8A1C3DA + AB7561937FF4E84EFAF21FFFF42FFFA31FFF9A8FFFF06FFFF30F082F11828483 + 2F4D23193046008D8E8F909192939495969798999A92210C011F756E135A5E6E + 75631B017161AC716D1B6B6B1B1B7FB50D0D6D6D7F03A1A563015690140313A5 + 6E65A25E5ACBCA07FF1310630D141656160C14715D7F6B6370651307E107A46E + 1009037F6D710C5621EED50C6171015D6D0DB56D5D01610C16FEFE5602B673F7 + CE5A973310B4842305ED4F1C0AFC0086A05430DE3C7B7F60ADF9F0E18C478F1C + 39C69235ABE4AC912669FDC1A5EA21056CF3B47DF0062EDC843A670230001021 + 029E9E83800A15FA7328D0A246870AFA895450D2A34F813AF549B5E9A11B1958 + 4CDCC4B5ABD7AF6031596170B0CE282F65CCAD51D70F9EAB35673E90ACB532D7 + 065E6E7C017314C2429704CABC286356AE4E9D325E0EA08D368DA0356C0DD60C + 800321AFC28513CAC019B3765F3F6AFEE2050860EF563E5510F97D1618B0E2C1 + 840B17FF6999BAADFFBB4915E58DAE77EB1EDDDFC06BA59C05DCB4BE380F5929 + D7DD6000849ACE20E4B4C0B350A19E53AD4B0D8A9DEA54A14BB907FDAE747CD2 + ECE6C3BF1053002B8F2961E3CB9F4FFF91A733A148693EE390C2E7D0714416D7 + 5CB6D88557290304F0880571AC019B385A9493C007198D5186425E40238D05EF + 30E0E1451B9C91C061A340E886291336A08A87A079A81B3DB9C4881A8BFF0814 + 42357E21741943633884DC8F10D9B61524EFC0130636BB95D61B5DBE05579C69 + A78D06646AAC20D9007E6E8873D3073AF1141550337C09E6984285696604613E + 75669A62AE19159B623471C3053BD467E79D78521407288369B64617FE59139A + 870108281781E9BCFF32462F6EFC124C2771FCE18D388AEDE7D0350D24E00686 + 1AC601DA3FFD30709164245E160E5AE69CB14117AB78F8998B17F9D600ABFE85 + 5A634006E9185B43AAF42A6590D4DCC6C98DA1C913533D31C6D8DBB2CBC6D8C5 + 712D21F7D2B42F2147DA95A168090197D419C566996D0EC5A69B6782DB53B962 + 9E8B6652E86237C20A2C54015F9EF4D61BD68D61487A969F3A718823A801C275 + 2881B770D3CB04094803D94C88693141399BADBACE8D1464BAA962100CD04018 + B70AE48F3C6D70E38D28A64608C16614D24AA30547C2888B3E41BA2A288E64E9 + 3A4E863DFEE82B6DA1B64611B1F1C0E4EBB344174DF46848CF3325B5D52A4DCF + 3D586A59C707EB78FFB9EE0C58839935D6E45E3D66D7E8A6C935D85E8F5B369A + 5B93198118EFC66BEFDB7067D249176324845602A944F40FA86114FAC1000392 + 444BC175E735011C6B34B0C1A21034FC0C1CFCB11A915B7F68AAD0963AFDB777 + B1A4DD35E237A67A91591D906FD0460081F23DCFAFAAC96C6B185D38B723CEB3 + 396DBB4B930F194941D65469ADEDBD02FFE3F0D2BE5425922E678497B6DC0200 + 76516B420F261E664AAF2EB9D2574FF60CD4A3097DF7D1878DE60B2824B28313 + 71A7AFFE820138378A66798726A8FCF234F077E07311DE4B86708C5813397540 + 876770B5390A54EE626E401CEA6CB51A8F89AA0B91E9C6371263A2930D2071AA + D05BEFA8E5AA0E5AFFC3456D90DDAE7236BCE0052F3912A9C48D681634A6C164 + 692E8409D3ACC59B8CC4627936995AD5C6C6C31EFA906B0BF821108548C4221A + D1888398539DD6C744B831E00F6611CCD432C7C25789C67E8013492C6641B8CA + 08E618DF50CC31EA9080CEF48320FF0A8827D600872C69017E0118D407A9E140 + DD6CA31B8D2BD1A9209680C8B50A541D0C64202910C207F1A876D69252D258C7 + 229FE166851F3C5E0C2739496B61A42437CC964DB61547E7F5106D66DA1A1141 + 89441F829294A62C222A45393602ACE0024568A22CE915860F34CC0D09F843EA + 04C5408BFCE16F0308C916556230CB086630285A4BAB3407AAD050A00BA000C7 + 1BC7D00506F2F29AFF4103D119E0D00B4A39CC1490FB833E34B8B750C5C35547 + 6A40DD66D710E2995078C00AD6CF08188F2335AD78337489F19A568F8CA48454 + 59CA21977632C4B105116B072DE80C126AD0853A3488101D22431DDA5084F230 + A2166DE844311AA715C0609620A5CF8D02009852D4610DFDB2E67F44F387338C + 218B0353C90712E0456FDE4463EBA06333551A8F10D621315A38E93A5824485B + 0DCA8E1FA81BE84227A10BAAA856D8FC203A03642176F6285AEFCCEA8F54132C + 611109922EB2E73D8987CF6A8DE6922839090EA3D33C2438D4AD191DA25B8308 + 578ACE60AE0FCDEB46EFCA35BCFE30A11855685C358A3502CC8911214DEC57AC + 90AF3AF0A8019E92FF1F4FE5D1D297C6458B321D515E2074B70D44D6633B2D6A + 002A77A103E012B22B15243683F6B4A4520674E2280504CC91B287341257E6AC + 5F5547E8239D094FABF16C8DEE1A81469A1D8FAC65155A3F35925658AC157304 + 8DA874F54A5D882E60BAD2BD6E7517AA5DEB6277BBDFF5EE7691202718F060B8 + 8A4D2F45EE038152283050AE23AA8B46EB52C05D7624B598694D17528E3354F3 + 5F922DAA6AB2C146706468006D9886548B2AE096E94244A1D02361C82897D34D + 8E9E165167696FC62B9D29F2C33B5B9DB41AE9D5AFE2369B649DE16EEE3192E6 + 3A57936CED6478C14BE319DB58AFDDAD6E8EC51BDE1DCF806D1E8DA57A874C09 + 2B18B08D111A431BFF22A2525EB2D4A563F888306731D36EF257A8D48187933B + B81CDFBD263119E2568019ECBA6265E3979FB34C6CD3B2190CFE51751AB66A6F + 7FA7D53AE34E48E8252E3DC5BAB4D5F106165A1CA65A61BCA5AA5DF7D0884EB4 + A217CDE8463BFAD1908EB4A27F7C0378A18FC8987E84153EF19C0C9D61A84D66 + 60DF2A6BD9CBCA651622AA4CC9CA70D238DEA897E8ECF2713780E4039421014B + 5E2D993DE8220AD0E38E3485EDCD463721D3AD02CEBBE5F0557D6B673B278746 + ED78E4892569D66BD9B0C52E0628F3645C631CDFF8DBDE7EA88FB34BEE70F778 + 011168820E32B0C44C67DA2F0340CC4DD6E0A9A2AE76D4501E807D43826A9A5E + ECCA2865405FB61CFF56E5B83040BC30B0503936E640CA9A155C065195857D33 + 700AB056194EF621DDF9DB8E9FF0D9B699A7719BE6B293607B382F0EA833A6B8 + 93485720D12F6774CC1B3D7345A7610133AFF9A2757E7344BF5CE78A8E799C44 + 004B77BF3B53C540982E172C5F733E790C2FD537480E95EA7F8FC31428F597D3 + EB69F0694D69B4BB3DED3AAAD8E02E37FD1ABF4E6A1DBCC8D4542112321AA71D + 5641BCBA102F5291D2E2EA40F20C80DC200982D76E31CA07ADF267344FD2397F + 34D0612E699C377EF190AE79BA5F2964A3ABF78951BCF5C6984E5427E31BEAFA + B66FE0B6F99C92615D27402B38B55F38BC2ED01AA8D2F92FCD38AFFAE538BC65 + F5904CB0A1438E93FF7D4045C889336F39DE6C8F2B2DEFFF89F6B0E0E16BB49E + 7CF029971AD55A7EDD9F3BBEFA8EB7BEF6B37FE8ED637FFBE0E7BEF7C54FFEF1 + 875FFBE9263A622DAF58066CC0B1CF4030C3ED2D6AFA823EF420B9214DF578F5 + 56FBEBA8AB4756C1134265601370B0010AA66B82F470CAB180BF06619B052137 + 710690552871D76174667CEF94816405715D352C2C431A81E76283A76D9BD43C + 89677DDF477E2B787EDD577EDCD782310883E64783E2D751305005ECA75861B0 + 0617620A1FD0051CB36BB9657F51877F973519A56722AD26705A564F5E477CC7 + F70966310E65A06450554EB4C78010175FD8F060BB4741B6964BFA207CCA3667 + 1AD871BF835CCF06FF1003F108F8F26BCC458225F85C3AB4131590873FA7877C + D8877E88737908887D28887E58887A48888768888A18888B388815D05117A083 + 3B08523DF8832C477BF1F574472875494819FC1721FE472C527524C87577BDB2 + 0109704B5323399A43665C6876BD267123F21CE1804B7F62811B764873677774 + 172D6C986231F381C4C520BA308782067D84B76DD491888CD88C7BF88C82188D + CC088DD3288DCE8888D7588DDA988D798883F332894D544B9B9240018789F1F5 + 799B28751CA1849F787A4E0848A4C86C4E8334A3F14B48162165A40EAD43845C + B71C4CD385B1385AFA951887B31610748124248FC5F78B0CD9861F6801CFB40D + 98858CC361822B37FF7D00D0881AB9911CD99179E8011E19927A485E59B17EE0 + A83EB58418706445F4E721BE466AA117931E8147D0D17F59278AC5F24226448F + 4803418B535A37254EC1032CB0D68F5D472D0D1856CDC746595290F96086BAA8 + 9069D890BF683CB7252AAFB011C7489198F45C9CB48C22199662399664C9876C + 931527C944E2D85929B56B1FF492F916939C884756078A01879339093C3CF92C + 30D25266E1306A810BB7A03245597B47394955828B0E8338A70395B423850B49 + 950C591B1F532873C89515698703050048F091150092A0F999A2199A208906A3 + 799AA4899AAA199AA6599AABF99AA9199BA7D99AAFF988319015DF98966F9392 + 77331BFC28557079FF7F72191767A08496B10C40E86A00E64C3B438F4613236C + 7421110207BF07412F831A49B980B2462D4B032BB1F38378A30F7F8090885477 + E6698AC7279993C90FF2A00DCF87995D49685F0900068004B4299B20E9999E89 + 9FB0599BFDC99F00FA9FAF9906727201EFA19B70B396B7E61043E8962E698431 + 197503E35AAAE6302C87976F59773D5934C9E27AA9A80C98E367CF920FC7C155 + B7E78FDCA94FEC491A55854B42399EB9F898259486BEA89E6CC89DBAF09EF019 + 7D02553524600262900615609AADE901466AA46870A44ABAA44A3A9A46FA994F + 1A9B1E90A44C8A9F557AA5589AA54BCA0505DA6E084A4BB6D49B9EC18F0F0A93 + C3290BBDB101FA85FF0C9AC12D18DA3B896434C8922CBA9070A42054B02282F8 + 90416587A231D40A01808AE3984BF5489E5845A3E969A3C0F8233E29783B1A9F + 85379F1A90034D4000421AA0982AA0991A9AFBA9A99E1AA0041A64B9F9A576A2 + A078B30FE6285FC17984F9B701D7590F9E030770800E63B739A0E26BF4403474 + DA1BB9D052DEB00C6590132CA21BA5112579D7800CF8A7EDC994D3A4226017A3 + ED34A3C557A38A3A3C24D7A8748899165968D4C104931A036280A45A9AA554BA + A4E5AAA4E77AA4E93AAEE2CAAE53AAA5EBEA015C10031EB503A34AAAF3C19BFC + B28F44089709107503323851B262FE244ED3B09C471513749A0BCCA20B49D55E + 63B864AF428A4962FF1CD8A91ADBE942ADD006D1F44608360F302A67BB789E1F + 56AD93A95C8AE3A88FCAA32B476FC1E003DE2A02E0FA91E65AA52550A5F17AA5 + E57AB3EDCAA450AAA43C8BA53B6BB3471AB4430B922AD0362689AFF9FA01E3A8 + 400D4A666F09A1015B17039B9E2D414E9BE392AEB0ABCC720BDBB04D9B72139E + C50EFF62117A9A0E25DA3A198B94A27225A557060856A8D09A9019E86C268B5C + 5128822AFBA8DB9A31D504005F60064CD0021A10030430A4497AB38BEB01416B + A4417BB392FBAE8CEBB8963BB990BBA48F4BB498ABAE96DBB8930BBA97ABB9A3 + EB016930AF1EB5B44C1B1695088A41C8AFAEB8AA558B0BB9C0974A4325F164AB + 7C03234AB22CBF41FF65BFEA69D5341160652C73AA0F7C6A9862F5121FD21C7F + 19ACACF2AC222B955A95B7374A72399AAD5C69912615840C20055FF0053ED002 + 2B30B343FAB9968BAEA43BB9A18BBE9B3BB49BABBEECBBBE94FBAEE25AB9959B + B9F97BA42A50692C7069AB1B1FAD6B0AFE3584B0EB70C1194C5B640BB46BBBB4 + 11332BA5BBEDC9B0BE0B1C54F6A177B3311341409144B1F48871C96A956FEB3E + 68E15FF5988A720699C263BDD78B3C2CA6BD14699100941318E00366E0035B60 + B8E09A068E5B023EFCC33EDCC3920BC4445CC4462CC4420CC4486CC44ACCC43F + 9CC4471CC53EBC04FDCB6E9218C060E17E09117F09E62244D83291211225C1C0 + 0D4C8FC817C1BA8BFF76A5E12474711275937453D40EBA9B9349837146793C5D + 88709D167B208BC2BC35B2E8C9C22DBC3A2FBC95F0699152330018B0C852100E + 3ADC045CB0C4685002933CC98E6BC94F4CC9928BC9419CC9979CC99CBCC9433C + CA92FCC3987CB9981CCA9FBCC469A002AF745E589CC550241857B821E704900B + 380F8A6372C4B1120D8CBCB7CB64D764AB6807784EF24FCEB1298BB131C9C71A + 38B2BCFCFA8ACD4BC2B177C2758B869129C8D65A6D852C387EBB564CC8C81810 + BE3E20031A40024D900668A0004EDCCEEEFCCEF01CCFF23CCF5CA00222C06EB1 + FC15168074A5904BA0C675AE182B3634C650C2975202723B25C11761C1FF9472 + CB306FA8736100B6FF757D6A760CD21CED55C2D18B8AD77CA878ABCDDB2C34DD + BCB2C94829B1B1C8286D06E130072D80CE5C50C94E0CC5F13CC9F37CB9ED4CD3 + F3ACC9335D025CFA4AF69ACF5CE11716F23007F8CFD929607F07B664EC2C7887 + D046B5B56A9C11FE6412282119BF3A0E38711C10BC325A58D1491929162218D5 + 1CA87E7C862ABC8120DD67A331D2248DC8268D017E00D78BFC0507F0057E70CE + 31C00525A0007CFDC3ECFCD7440CD8ED0CD8EC0CC484EDD77B9DD8869DD8828D + D88D7DD890ADD88E5DCF4447057C07D4926001ED831819426FCAEB8A1ECC1B0D + 6BD08C2447CCC439AF50918267D588310E9C742CC89B8550CD60B2F621A425D6 + 5C320F1C3DBD89C4FF8BD40AD25EB7D6DB00C3C8E8D69482D23E80D21800BEE3 + 4BA953FAD88C8DD83E5CD8921DD9D47DD8D31DDDD06DDDDAEDD8DD1DD9D9CDD3 + 4DE0D3008CD99560057B921F9C84ACB008DA7F47C1657CD0C1684DC4EC0AFF84 + 6D233119AD1D549E950DBA50170E99D0B4DD85FE1007B46638ADA6DB65BD71D2 + AA86698D4F843CDC86ACADE06CD25F00D771BDC87A00BE07E0073280CE2A8006 + 7DB0CEDADDD77CCDDD7F6DE2279EE22B0ED92B5EE22DBED72D7EE28C3DE3364E + D82BDED3179005E67D09217064177285090671B5EDA028B61B4653C7C2DC647B + 139126876D5A3400FB87D59E85AB739A347AC353DA49230DF29709940A0ADED1 + D47B3B0F0EE1BA2CFFE1DEBCA3884C0A97E10617AEDC8B6C065FB0057ED00239 + 30022AA0CEDFBDE728CEE77EDEE780FEE7825E0290F8D33D8E1B61D0062DEACF + 41C28064EA3BBD7D34F330DF51B5524E8EDF211112935185FC0DC289640FFA28 + E05BC8550CC227D3D9DF647DCD679DA865BEB7D93BE1DBBB56DF541367E0E6C9 + 1DD7192E0572BE054C900324A0022AB004327EE3C45EECC67EECC89EECCADEE2 + 3D8DCF87CE099EC0275BC28A8E4EA6E8546D664C944D27559C93B21B91E9E02E + E595E1DA08182CCC2782B3B24B99E8703253EA09F14670503B01B0060B2E771E + E6DB65DE670BDDB76A2EEBE5E045F30E0107200518A007CA2D05CC3D071A7003 + 31A002C3BEEC101FFFF1123FF136DED330E004F7FAEC63D1007020D657A5BC47 + CD609E774FB461A295BEBB290BEE1CF1112EC54D6E54071B1006CAD717A22125 + 0C27EA528BDEB6849CFE4C60F51EAD63FEDBC08DBD684ED22C8B16FD93007010 + 028D35F0058FD271CDDCDE7AB8C15E020860EC57CFD759DFE25B7FE35B7FF560 + 6FE35F2FF6271EF65D5FF6CA9EF55C6002AF4405CFBE3B9B5652E4E819AF78C0 + 5F0CE95679F24F0D321299E92C3F93FE46EE32BF15A9D7EE5B4B70AAA5F3D2A9 + 19B5D305D1C9DB5399EF7BCBD62BCBBD81D90000606492E2056650F0C99DDC08 + DFF9857BB8E9FCF061EFF5647FECA7AF0067AFF5588FEC673FF6C4AEE33CFEF6 + 901006B50E9808E6FF1F756FED81D4C149A9F780746670419C2C0F3803D00DD9 + 1254F4D65545E2CC69AC8032A3F83CEF10A4C13029DCE0D5DBEADC5CF46DBD56 + 07D6C58D30166D001852E007B88ED2BAEE03E37BB826F0D27DC0FA0830FF66CF + FAF65FFFF47FFFFA0FF6F30F080A08820883868288878A898C8A85898F8B8B0A + 5C262B1745009A9B9C9D9E9FA0A1A2A3A4A00C1B105E5E6E097F710C61B1B2B3 + 610CB6B7B8B9B916B6B1B7BCB6C00CC216C014010D6B67CBCC03CECE0970106E + 5A5A106701B621DB00DBDE5656C5E2E2BFBAC156716765D565090D71710D6770 + 655E07F75E10637F01F0710100FF0504D8CF9FC18308131AA4C05060833F6B22 + AED940B1A2C58B16FFD70CA8E3E6DE817C03DA5060B06393853803BC489182A1 + A54B295FBE1C6022E3460C1568FA3482246967CF9F3E83027534488150A15C54 + 5CCA52AAA9D3A75045596893C08D970975D6C4A140AB2B2D7360C3F21A3BAC2C + 5906C792395BF6AC6D348EEC06741969C18AB710E0F28EDB6B76D7B093EA0E68 + 2933E65D803F63EAD4F3986FDFC17E90FF299C4C1921430AF002B4812811A367 + 8C1A3932D6F78E018B4C9A2C0480A3E58B143F2E639BF9C2A4C58D265C0AE9DE + CDBBB7EFDFC009F116FE5B3871DFC7811F525042298C2A53A24A9F0E8A9B5374 + 1FE092DEDACBEBD7B0E0FB921DFF975718641ADB0E18C39E7DB469EC0AC3AB75 + 0E6F5E707BC99DFDFF552CC0808E8DFDD1853CD2943141355A4CA00F3FFE44E6 + 6065104E7659669B4934D167186E105A47F86CC740062C1861D21E70B8F10506 + 7AB4E403062BCE465B0B39DC94131ABA25179C728644A29C8DC52157238EC6F1 + C645132BC02022754852875708D785D14002EB9401C71A018C048B77DF85A7CB + 7EE491074B3C1FA8D75E7BEF753458615D00D44517718461817DF7E5A79F7865 + 053006350A8EB1C11F1FD053861B6E4C20A81B0B3E26596411267AD084FF54D8 + 59869F8536C168856523820830EC50456A01AC5186192862009B8A6694CA0413 + 1AC49042097DE0E8AA0BAEEAD6AA72B0CE8AA3ADBFC11AEB6E955CB203934906 + DB5408B030E05408FFAA7D908A820394762596596A295639C100735E03618EB1 + DE98EDC1510704935AD36C005D6CB6411B71BC799F5E721253AD2D5D54A5851B + 758CB10C94135C05A81B7F2E589040900DA4E8C05B35D4286711411AE9461C7E + E4E108226400C31D59301942181B94E1DAA82A62208519F7309103092A7061D4 + AE28A7ACF2CA29DB30E452C2C61C0A5E14B4B14103FD70F5A628C83600872A6E + 4C19402DD076252D785DD20926B76324E0F4D3101828581D1F14A4590373BD09 + 679CEDD2C90B55074AE9343DF608A62FA01024B0C1BF87B64DB0A28C6A86F085 + 0A5FB4A1161D56CA400123E820C2052C44D74D1872D4F1851F29C6E631C83ECC + A1410E2670D16AABFFB52200EBE596675E88AD946BEE79E59863CE79E6A2CBEA + 7921BA22606BE8A49B9E3A022F3F27B8CCB40FDE406275C091C0191BA43B4A08 + AB55039248456379F4B4493310471B1F8CF9F4F3DE5A35F51F6EF6A2B35DDBAC + 8B5FD76315630BD8F3C2117DD91E993D413B541A8AE8DB89C6FD908575833680 + 34933A2CDFDE23F0FD370CA8013095E12B5A51C71667862DC0E8264B50C0E458 + C6C0063AD055B12B49ED6466052741C923F3CA4A1CAC209536B0E61E41A31243 + 8A67B4E36DC96B65595EF312D034E88D0D3E1F4940173868B1BBDC457BE1E0DE + 3818E0C149110A86E5C3E02AE07006AC59AD6D6C631F65260490F73D2A7E15D1 + 4802A691379CEDADFF0058EC9BC48A60310BD8010E0790428A38E6310C98EA71 + 2468C21254D73AD6B9B18D707CA31CE348C739DA918E2E23D2058E3441245981 + 01878112DECA879533B4A14A0C005637D0D28601408052FCB012096561C26905 + 03172A6CA10B75A79803C53000D5B1210E73989F6184E37B0998D4F9A8810F41 + B9D20BD5381F116F4690242A31424C44C6DCA09891F981AB8AAFC022DFF8A603 + 89F16007D1B10205DE700033F8C007645C49A97CD002DBC4C0649DBBA336EBC8 + CD6D7AB39BAD831D91B0C0943E524735F3A8C72031C8AF7AF5CE029BB042A74A + 543FC1D0CB901430CF246751C91392074C9B8CC65B0285B7098C01949FB061F6 + 70D8AEBA14C34970FF085735F041A86F41206A9E1CE2183E60C45BBE2D6E8E4A + 182F29A291120D1224A511A64A21664C3668220E6F3810A812F792D96CA13631 + E2C21AFBE0829E5ACEA7A1E3294F81DA53A1F6F4A83FBDDC5091EA029E5ACEA9 + 4C251D50A17AD4A62AF5A84B2DAA55939A941C5CA09CE67C0AB20270865404F1 + AC07A0D7075EF1C73864679D8C6145EFBAB34F5FF4B31C5E42C61904AABBBE8A + 4F1A5661C719E2B009851A766BECCACF29E3B0818806D10B521AC0199C3186E8 + C5B20CB91BC01A8CB83E8F4AC8607283DF4835C4304806337F59CC623133A589 + 10C4810E3F73A61F02C8A2DA9A01A724CB4D37A11A47A8F2D68DBFAD6370E538 + 5CA0C6D1A7080083FF738CC0C1B096825801C84E3DD15A3E7A0D604F1BD8C874 + 315848E2D5959277F58BB5E2F08779F0F5AFE2FBD6811204813584A1B036EC86 + 61192A8EFBA0A50B652D9B165421258EB6A10DEF4B4CA05C5986B49DE10F87B4 + A5672DD39026EE526122FDC31F367006D1E0434A6BE8421854CAE102AC96629C + 0223A860434633DE1646245B421FB25AD516BBF8C5308EB18C674CE31ABB7809 + 96B880049D3B0A740291BAE54B5081A36620B872571F6B6BD377C11BDE4BF6E2 + 300338EF5FEBF0ADC5ACC21DC66A6D7CB57C43ED8D432FE769EC3AECC92F387C + 402498F94717CA5BA0F50E51B33853F082FDC1C40169E889917A9484295C2276 + D6A18801E83087FDFFB645C12D5363A0EAD88A3EF685C63D4E052A362A516D4C + E9AA26D5D295CEF4A431BD04157895074EE07142C3815FB302F9D4A716DEF9EA + 90800C2B79C94DC68531BAB081CAA237BD54862156B49265C3764294A3144718 + 5488AFFD8A6DA3E8EA0E6634B386CA1679BFF4DADD9E123C67062FDBCEA2C590 + 48F734E10D1D79770D103487B598A94D01E01475686689F5009346A3EA062648 + 41534FA0E97ADBFBDE9556800A6ED002502B52D4DD20EF143D495D23A3BA7C57 + C9D70408E598672D993E77B51605BAD06C6F798BCAB9AB72FD58D1807C7279CB + 1F472CD726FE878D1419B2AD7E08CE0AF698357F20011C59EFAA13006736557B + 21A075E2B6236591FF3DBFFC97F7107266C53DE862EAD8DC0C58C323A1F94CDA + 7ECC99D4D4800914C8E217D31BDF34BE3AD6EFADDC1B64800AE606F8B9375087 + 7C193CE80B27DFC1E3FA27B37BE1CF557A383FC36B1E6263FCEE55969E35B051 + 971AFA3AE422C7CFC45FAE4E63C321C999015840B6020F9BED1586ABC06C023E + C00F39DF12A40F8EDF849BA718F209F9A27520FAB8597A9AD478F00B66800D4D + 4725852D1810725CB0411FE84D7B17D4FEF6B6CF3DEE77AFFBDEF3FEF7BE0F3E + F0876F7B1BA4E0064C6041A8456D8130FCE167059F79D3A6A1F654471BB0780B + 219BE46ED77E8E9740DFC2FBB7027B8009C0817AD83BAC75E4AB7E70288F7926 + F50886E7128634ABFF294D019950B96A0D17B447F666F8576D97B16C21453710 + A60C30576442C42F98257AA31731A7C1245310006FA0127E803802E4313E807A + 3E20031A90462A7602B3277CB97704C1D753B88782BDA78226988224486F2DD8 + 7B3138832FE80231E802CA950319C003FF664E71B006FD87566F07689AD12763 + 866A0952079AF5739372656B3312DC4777681100D93545E2D7497873266D9048 + EA771780274ACDD7057D223DF8403536677FB5544B2DC7668B710FE7A30F1FB0 + 0101C87897C74405688019224551034B70157969E3801D466E3C80741FA005A1 + D2121CF33130511B24106F36700290687B91780247407B952889B407899A6889 + 99B87B974889BB37FF8993F889A3A8899F488A9D0889A8D8752D1022CE750A10 + 70764107016BA5351640017F2048A99627E7D2066BA08B83A13605237711C70B + C4E62D1080777F620FE1D33B34D485D0B850F73586EB242EE8927869988D8B47 + 806B403666B30A10000763B006086679036387DD8667DA363F0A1844D0168E67 + 008882E637170003E564016B30011C382A192805E5474D230369F35683C4377C + 23F87B0749900A5990BA677C37B0022C1076B5435ED08756195435F0144FF1B0 + 5758F858F4A22709D60615563601D20FC41871CA5372C8A88C64A820559348EC + 178DDEF06BBC800CD4E81179E20ACBA68D3C994414470FFC1228FA923B1B558E + E6884B0D612ED916FF29CD430F0417646FA83B1FC06106204C55894557B952AB + 851A0CF0078FC41225E61227F6812A00069B789668898968B9966B89896AC996 + 7019977279966A797C10F92B1334063FF6581AC400CDD55ABC40728E345DE173 + 5DFF95263FC921F302010310490FE770DD271635F98B57B88783E40663D0066E + 22937F575880C47F04157484517987D2933DE90FCCF3344E7959E1A859D43680 + 04D36077485278A821679018ED8841C69636DA3295F228685AA463AD950560B4 + 3117181B8C8601EF1639AAA30673298ACFB9896FF996D1599D72F9962EF39011 + 3941DB15645A90151430935EA8097F845F25A20A43746087542E69928B0D9384 + F8C47DD122166120FF92D2107E1755060A382FAD4001E9C799F1E50D9F493FAA + 202857E60AD8689AA6999414011153044B41176D94774875D8787373213BA721 + 9C477E417615927706096395BFB9522CC5035C040030054662A43826764631A2 + 020AE002CE699D345AA3367AA327600360402499D28349726AF4A21519C9659D + F04736190DBAC33B58532E09861847281884D171F5279F73071EE4B511181735 + 4219A187F70A000A7200704AF3B4188B4965AD667301A3A03C7910F8E78B7A59 + 4F42268E1C9526F0C02895818E7796A15114264EE98E97C56A0310875833A244 + C75230C0031C244F09D04C3EC0121DB31207D06832B0028D287B338AA36B397B + 98BAA9D609063150FF24C8243340F69DBCD65C87255F39742D0DDA000DF05F87 + 79187AE97951DA265C517FB57A9260517F149718C9A8A54F697EBCA6355F6A1D + DB708B54480F27058782EA206AAAA692B115E482184027186F286D145A3006A3 + 10B0B93CE9A8A71A1A659DD7A11E5A2F1F50AE9154005599AEE8BAAEEADAAEEC + 8A45F4C803E449225ED068A2829C1BB8222D902A5C70A99BE89C007B0297AA06 + 044BB0027BB0015BB0086BB09A68B0098BB0070B89012BB110FBB00C6BB1D209 + 06267003C2193316990F6B65313179AAF1A43C02B126AEBA268851076AD70EAE + 30A5B62A9FE0710C253745FAB98C5938445422ACD933ACC80248D8E28DECD00A + 6BA286CD7AB4D8BAFF6CD29A2F8C214BBB538EED83A74B79671F709BD8D7A1ED + 54941236175794952A9595602BA2C2E437875A05DBF0834B171B19582A33912A + 2A900236A0B0131BB115DBB0764BB1189BB775ABB7030BB114FBB77B9BA34DE0 + 5554303B488256F7940DF0058D9C8017E3452E00D6066B16AB83C49FEF00B303 + 78AB8FA90B4598808002A16E9836AEC085DF701F8C5BACC3B6B2D47059678A8D + 8A77B40A8A106B66729E078E7000670591B909C1284AB9731151AEB759264606 + 59F502A250EB26EFEAAECA9BBCEBEA61FB13AA16F0071A4362F74A2ACEB4AF24 + A02A7D50B0DCEBB005DB01DD0BB0DE4BB0E02BBEE41BBE028BBE72FBBDE39BBE + E6AB06E5EBBEE14BFFB047B0A31C8BA8C182566520176160AA3E1B2753C89E93 + 6B6A505A185C91B99721B3B940B3BE64764766486ED277A3148D62BA01038737 + 9095366B70ADA509BB1EFC2F7AE5947CB85FD53AA1B99B668B52A707B3946B50 + B5D050266AC75E9317113863250C10B65829B6CDBBC35E4B6E7869055DF0482C + 729C8BC622FEB805731023296096E17B04F3FBC44E3CBEDD5BBEDC1BC54F7CC5 + 567CC55A3CBF7DA0B11C4B05F97B56B4980D12ECB3DCE0B8689178B743C06722 + A5083C42B86A3DCB935D1CA15FAB903B1FD0053059BADA038D7F347850C28CB2 + 745D74BA6CAFFBC1CD4A6760828CCBE87F728A606C92446FCCADA2F5BB93E51E + E2B38742D40E07C6FFAA88040CCCBBBCA29CBC5A042289A4A807202A34D512EC + 9656480C028D98024E0C041D40C5E45BCBF09BCBB50CBE54CCCBB97CCBBE1CBE + B6ACCBDF8BCB4FECCBBBCCBEDC9BCCBE7C04FB76013C78B867B5BFE84217FF69 + C6A77425353306651064517AC06F9CC0FB640EC730207C82ACF6A4C138B3990B + 35C1BEE6B8714071819CCE6626205693A6888CC899C12767B0A1EB64BB1B752E + DB18CE7293A7544B59EE01C37E662FE5C8159734CA101DCAE83A0225BA034EE0 + 5AE9A638FDC822CFB4AF4F206FBF4CCCC82CD2213DD2E71BCC247DD2254DCCE7 + ABD2BDCCBE28EDCB36D004F76BB85081B8AD46A1117CCD66ECB8C9C2C6DF6CAB + E1ACB9E31C0B9861FFCE0D60C1ACD418A55117A3D4C7BED656D812C8D5605D1B + FC18F99CD504A166AD6A93F404A1EF288E9B45A7758AC0DC9AA71171C94D4326 + 364B3E58B1519B353465110C06A0BC752DD1115D95862A41555081ACAC07ABEC + 315FB00518200339F00465790434A0CBB8BCCB8E0DBF8D1DD9BC2CD9903DD996 + 2DD28E4DD9992DD98D5DD99D9DCC36F0CCF23A1DFA3B255DBD15B5500CE0D0D3 + DF503365554FEDE0C6434DD493B49376F6070FA18B6F27A45DF6D4797158AAA1 + BACC784F0282D55A9DD50D3210F20073759C850BD79A1B6C73657DC0D14AB52E + 9CD0DAB21E30A7770A52CF354C27798DD7E2EDBCD0BC29AA1105AEA107B0D18F + 30E14C8EA3C471DBFF07CCCCD8235DDF986DDF1D7004F85DD9248DCC9FCDDF97 + 6DD226B86F194006CB77D367C50A9B25B95B6D253C3DAC7F741E810142EE00CE + B34DDBD0726DE6B2270FC1CDB0647E1BE09F4BE2DBEBA250E140010D30988384 + 15E3D220877CDC1FEC36F1CC194C988542378E58F3ACA83D6CD856B56ADD1E6E + A1189775BB020D71E381AE775DD7E99AE44CBEE44E8EE44E4E6E54106A0C7027 + 2772AF64542A2F12231210B71D40039B1DE6623EE6645EE6667EE667EECC3100 + 2212D914A5BD59AD9AB226694ABF6DE24F7D43766215C363E1B35D3C0D462E0F + 71671CBEB4E1433DED4CE2A6AB17CA93E2A6C65E8D09C2301EE95B0DE9D16A72 + 04078ED2C6AA0C5EFFA7D19AD6080DE4CDE06C82028FE7D226D45216E19DEACC + DB0414FD37A8410172602219F81204845B2A6003684EE63850E6BB9EEBBECEEB + 65AEE6051E15380DE7FFA5E9F8E7D0A664E7777EC63C749B0C9D33491BCE197E + B20F918E1F3011B85D72E052E85C88E8A6FB0DCD07AB4097418D29DDF82CE9C7 + 8D445CDD27D37AE3CBA0EDD4562161F2E9CFD0CF555B59D3008FE598DA5ED3E4 + 501EF04A2EF0003FF04A5E957FC3023BD01F2AFA1A58DE122C7162B05C9627F0 + E5165FCB608EF1999DF116CFF18E0DE6201FE621FFF1227FE623DFF117BFD929 + F0A941D0E6A3F0E671EEAA87897F727DCDE0BEDAA784C2927CE1704C0BE5BC79 + E51AF40983602557FF7609727EFD7BF3758E17B040850F9A854103682EAEEE54 + 2F309121CF0662C715A53BF632D67676DDEA2159411FBC54268E7268EA97441E + AABEF6CC6BA8857B6E8BBA31C8E9312B712A8F63022A20A31E8FF21CCFF1BB7E + F21A1FF27BAFF124DFEBBB0CF8252FF87CBFF1F9AD02961004074E0AC5DEAA4C + 2AF3C8FEC94EADF4758EAACDC7F308EC1569A10CEC2159FD3CF49BA1E258B101 + 49AFF4D9638CF0778443C451945EF555DF360C21CF55C687677351728A5D2EDC + 16CC80EF69DD4201CD264EF6EF079FFCCABFFCCCDFFC598429AE48014A772263 + 34F731E1032070D82AF0032700043420F838A0F8E2BFF8E30FF2DF4FFEE85FFE + 1D7FFE82CFFEEB9FFFF136F0F8912F0A302FB9327FEC715EC8A9FD9FE00E0821 + 2100008256160C896114718D148F90916193946171017F1F0363630367671F6B + 6B1B7F6D0D0375135A13751B615687B0B2B3B3822116967F6770655E07075A6E + 70670D018D9701C9CACBCCCDCECFD0D1D0718C6D6B1F6709106E5E5ADE5E1365 + 657509A01FD867039E9FE6A1A2679C631F7F5D7161890C8889FAF91606FF000D + 140038F05F418104131A0CA8D0800E111960ECB060A54D1D337E30F8C0C07123 + 0633BF7CC8D04022C69213345276A0B1B225CB972E63C29CD90187CC9B3473E2 + DCA973A60D132B2E382144B468D15F487FB949B0A6419B2E6DA24A9D1AB54B32 + 0AF96869DDBAD582FF57068B1C451A0BA9D2A5066BD27532276A83D35310544D + 80E30A1645AEB442580913608336375A7E791176E68FB1C3C8A4295ECC58DA25 + 645D22EBE235C1173070E3E0AC65D7EE9CBB77EAE6D5BB87A874BED35EFD315C + CDBAB56BD64D46E8C870616296356ECC98F1E191A36F1F5230F86991E3099823 + 2973265FCEBC79F3952A5F3A9FEE1C3AF5EBD157DA48B1224815A3E00124455A + 064ED3A754D337706AD5DEBEBB78E3CB42B4681259B2663169E2E4E95CDBB767 + A4B24A2B14D8259F5DB874B14602654C8054307514664C23873566E185183E46 + A135DAF412183013B801011C09F4E7D967A2A488CD1AF46085DA8BA57DF5DA8C + 34CE58806CB4F160FF01000CBC919B1EC275E49B6E5F30415C0C2AD8909C4BD8 + 353953744E52C76494CCE1201D0D3FAD80C550E111359E524CB1971E55EB5595 + 0C35A45961C8815DF1031623D4DC470125717491C9266BF9B7815BA604C80D2B + 6B14184B7C7AE112C0821058261804096C500F85896128E9A4D34C7849171BA0 + D2CB8321D6A1195B29869A16284D8D06238CA931C0100100B1FA8FAB06C00AEB + 6BB3AE7623442C141102030D9461867019F9C6916EBBCDA1410E49AA41031054 + 360945B3CC3D0BEDB429657981115C86F7E501E59D07D598E04A7555566CCAF7 + D5228CC8F9C82475DEC91F5B7B0258C79F75AC1107457779D515031428A88D83 + BF68E14519097CD0FFC6999426ACB0638C341060191F8258DE18A48A3ACA359F + 3465CC3DFBE0C34FAA0CC451E3C8240744C0AD11F1E044165DC0718014C109C9 + 11CC071429430E26A4801CB3D452CB3373CCFE1CE5CF42370906505850614597 + DB2EE56DB863AEC75E23A4E95B2E57FA542227BBFAC1936728F19AF2012F5E78 + 01C107F75A6DF52C86FE31001CDC041C4E1D036CD0C631152EACF7A489510356 + 1C70A9F2E0381483DDD606A278A6B18BA6359E1A7D01B4D16AAC94B36A79E598 + CB3AF9E5AF6E4EF98D3AD4568513712470C046C10AEB83195FF8606471292C1B + 7472B3A7040510CC3E3B7BEECBD2A0BBEFBDEB8E3BCFBFDFCE7B4AC303CFFBF2 + 40141FFCF329E170FF74504630FD65B762420DB555C66005DFD5B43CAE089C63 + 718D96D7268EC267031F3058F6D971F483202C6B3280C918F3463C010463688C + 77A47B0B20DFECD385F671E343102AC707F6C440C4B1C37F1D6B1C6ACE1500B4 + 94EC821894CD0560C0030654A10110F842CCF4B091126AC40745D2400CB86003 + E4C86E3944EB5DCF902743A0D1AE77459B4E0E9D23B4A3E5E00259D0D6979C96 + 3DED69EF5155FB1EF810343EFC58A2826979979ED637B60699ED0C0148CDFC64 + 9188BE304870C07043841A80A6B03C468068CC903D16E1C5B85826188C3A83FA + F694B88C919171A78A11E4D03280CCF9F17280FCA32039E747038C600410E1C1 + 77BA603A29F8410FFF4012964676D30215E66C670E68DEF036B949E36912779E + 0CE5F03C993C4E9A5276A034E52739494A55D2000C29B8C116AA67946D610F3D + 460C5799DA33278FB1498B6CE3877D247196287E6D147F680054166445086051 + 7E6A430405BCB8A9030C861C0673CF9BF086B0347A331A7E63A35FB6D18D3092 + 438E0CBC063642510C1775EC9DE2E3CBF9C6B01ACDD57346B5AA556B5C558002 + E06A078C904319BE1049497EE40B66785D0C5260031CA83268B8C3A1447737D1 + 894614A218BD282A71A8518A7A74A33C3B420A7EB883A579698861C2652E8FD8 + 1EBF2911418F8B29BE62DA44485CA20D1B409F7F90A94C6B50E68A59D497DAF8 + 85A97F09866006DBFF183ED0F5BFBC7DF3A988B98725DA30B66D54C61B222AC7 + 1CD3E209BBF9CD6379A4201FD531C8B206F2AC66FDE3C91E72813B8421045D08 + 214752373322B92E0724B8A4EF36894ABE96F2A2A7FCEB4307EBD7C00216A37D + E564075210831550E128D7334F11570AB55D06A0973185A94C376B1745D4E789 + 3855CB00764A8A9E32B332CE0C80FC0EE1154B388C6C8B1AC31FE2671ACF3EA2 + A90084AA008F61536B8C010E1028831B54914074220E1D6BB81BC724E8B83DAE + 6113EAD01C5A3B47DDB2766EBA94ABAE21457001165481011B80C0CB4C485E0C + 48C175C7CA590F3A004A87368FA3B973A8F27CE75EE139EFA37FB5EFF34069D1 + DF7D140AF2854207FF6C7083DA9C743C4454296575E994A74CA86AE1DBAC4C59 + EBA6BF45CE98A375476997F9D3D402F32B80D314C0069600323200A69E45179C + 20A5DB34C6891101B0D3077E5B876D3408AB7174C7271678373C32577CD33C1F + 74FB4880221BF9C8483E72AC92BCE4241BB9C94A7E329211998120EC201F1B98 + 407032425798B5CE58C551C1098090492840A1CCEFBD9D9A9B0705256852CD6D + 7EB3261D606636C379CD66CEF39BF3ACE735D319CF727ED69D5FD9581E10C296 + 9255F0828D1899F684616D128E344DA579619D6A3899CBFC2250572B4D87CDAB + 9CC16854FCD4C45A7C8065982BEE668BF556C6695A630009006E8D857BD5FD0D + 23149A388357DD79FF9A77F6C3B9EA08F600D04AECB4165BCA952B7221717401 + 455A600D6538C0AF84151C9899410A66A8240954B0B340A779AF77DEF39FBD2D + E834DBD9CE75C6339FD34DEE76971BC03668EC0EB2D0B4947E6BD1B9949AA3DF + 23E97E3FEE890DF8C3A82AB6610EB9B10C0350ADD5C072285E70AA0E1F50AD2D + 0A55E153DB94C5B95DB585C4729619D7A1C61008B9380EB8BF12B5C3ABCB0D6B + AA2EE12E75A463D84886B29367DE6499CF5CD9373FF28D3290011650A10B5748 + 801BBE3057837EE117DA36C10F68904934A359CF746EBAB8A7BEEEAA5B5DDD57 + BFDDB8FBCCE6A7A71B07F16E010CB610D9A7E17BA596BD442FC945617FD3945F + 37E5EA6879BACC31FF1C7C0C5DE0345FC6E606A49078B616B045DB7B6DDBDB62 + 5CE3927A71BBB2010790873CB8C3F586AD3921C7526893B9BF6E6D1CDA20F097 + BB3CBA99C379B28F2D7ACBE1BCF43547B6E90542659FDB4F0E5A28EF46BCFCE5 + 231D61787F3E3399751FF5DDC3D9EB6676BA9C9DCEFBA9F7DECFBA07F4EF7D3F + 6791DE60054C40A9D9CF7EF6EEEDA3ED6E97293E363F2A6426332A99CADF52DA + 90262B1035400083D019EE96F9499B9A12863F63C6113F8D3935828F0970FCE3 + 836BC555308AF2F4707979F46B2183169A206CC296730AB8800CD88046D6046C + 750701100620740018A007741524C0B1054C80333FD05064E600517766243882 + 4D5782C9878226B8FF7B27B88226A8822C58822C1883BD678222150337D00264 + 471E89766FD48776BBE408CB957D9216329C974C01F707A5D000E10718E3F768 + F9D22FE8173004935C13686A9BF54EF0177FF3477FCDC071153463C0250E65F0 + 78B3365CDD20460AE428B40556F0F41546C8559DB00E09E8804E66737698874D + 003A11910521900563700018182CBDE1653E401C79153B22C88222D888357866 + 22C87B9058838BD8888C688951E7888D98678E28892DA88999F867DB610239C0 + 04470726D3F783F8C63D68C2694448537012634CE8167C247E09407EE4C2701F + 900A4715262D9544DA274C2A760CF2E7855FB846966027D9007264B87FFCC70D + 035307FD138029F7FF63F832551B708008588704800246E68D49068E37278E47 + 268EE4F88DE8188E315700B321115910077CE0051708245D2605ADC304E9A533 + 21088AFCD88FFEF88F001989A1289001098A67D6013F600224D0023EF00BB7E4 + 83AA487D4AF58AFD9608751270A6F05CB6888BF9B27770F30B25B740DF379112 + 46785B488C88618CCA2084C998298DC77FE2E08C90E7066E508605D34E60658D + 202664DB888079F893409973E0B8731740063BE00471151C91D41BE6F50B5B60 + 2C316002C7E18FFBE888558989A0B88F57999558D9749538895CC9956706760A + A98307906010199140C81EDD338414A97D4F940CBE952807300125E63DB0C070 + 6BF09175392297A6FF4CEE51914BC554B8A59262510D2E590764D88CCEB89871 + 849398A7479A670D9ED793C1D68D98E98D9A898E9B59649BF9999C999998E999 + A2D999A5799A10D87359005E13803A0625243E602C24F0043F700435E000B799 + 9BB8D988B72982BAD98FBA199CBBD99BC3B99BBEC99BFC289CCA699CBC09053D + A0020B69060FA9961119190FD67E6F0987E8D2176300317509070DE0229DD570 + 7D674D045331A370308C538483797114E254ABA67817F636B3E698321993D864 + 186BE76BFA205405988D96B98DA4099A043A9A060A9AA439A0079A8E0B9AA0A2 + E94F5A7205DF7506B9E1078F645030C38137B35047E088C4099C0519A222EA8F + 1F8A9CA0789B4760FF0231D00258606FD4A98A65723097558DD909329BC777E1 + 3006E1998B21B3017C3930709061D7C02207A34D1E138C29E69E67D4628F6153 + 32166B30598632B97F9E220F07C331031853AE2577019A8005FAA5A709A6621A + A6644AA006101BA1C302F6F3077520421788A1BAF13A2420014A529CCB79A776 + 9AA778BAA77ADAA77CDA0329F0043A480693F5A28B16A3ACD88AD8992A8CBAA8 + 7F8329BF550E6D80978710327F207482210C42EA1FA5D0525FA5458D7A6AC358 + 98DFC49288B98C8A699F530A0155BA38599A79FC524139D5A5021A9A605A8E65 + 4AA6B8EAA0B71AA688740158700757D005141A33BDB111AC738FF9C874BF99A7 + C7F9ACCC499CD26AFFA27E4AADC209ADD38AAD0E80038C151474D05386FAA2AC + 088C5F1199036891D6C0225D40A91679A9D1060CE5317789C3530D560FEBE97E + 491A7F29E94D65848D63907F221793AB1A7270A0191F500C581A9942D52FD9F8 + 09B4EA939F8902121BB1043AB1167BB1129B9919AB991BABB1183BB1DDF8B104 + 201BD07707F9F0015A705E453724C0C11BE9650364769B49E000495003367BB3 + 385B03339BB3344BB337BBB33A9BB3426BB3335BB3439BB3407BB447CBAD4011 + 048A16AED49776FBC96F84F73139991A7CA10C14305414D000630018E6347788 + A34EA1420A453A09FC063259A3622BD685097398AEB606F813A5523AB0E43000 + 56481A6E3841FAC0FFB0DB5899013AA6829BAB835BB861EA8D28C30271B0031B + 50072F438F32F3115AF0053793333FD0013C7BB3B869B39BAB9C38DBB97EFAB9 + 9A7BA7425BADA37BB34AC0582D10046909B5AA98A86E59AEAFAA47DB84594CD4 + 0603E09D1022B6C775229CAA4CD6C776A18A6A6D0B9F6F2B9FAF3686AA3AA59E + A2191AA3B70A5BA97502A00FDB931B8BB1217BB1D99BBD1FABBD202BB2DFDBBD + D80BB2ACC28E2B00036410320940747390815E96501A000279F5039DABB4F67B + BFF89BBFFA8BBFDCBAA24EEBBA50CB4B1134BBE70A16BF566A5D300010101810 + 220FEA9338E8F04066BB6FDF23BBA21A09A44A2942384D32F65B513AB08F4722 + F280B039892AA9D1FF2FA352BDD6BBBDE1CBB115EBC22C7CBD30FCBD1E1BC333 + ECB17BA803E7CB0259D0066FA005D3568FD87600AF439B1D5ABAA79B9B9C7BBF + A03BB44DBCC450ACC452FCC44AAB04CF190355560A405815004C266C2984036C + AED678A47DEBB5DED9970E4C47EAC419F082695758C1B525AA84D9547CF362F3 + 09B01FBCAA1F47227244C2620C870C0BB82A1C6CE25BC8867CC8889CC8DDCB01 + 286048B3110454100774000152D0BE1988015F2030724AA7F5BBBF44EBC9A01C + CA463BB480BAA249936F4AA84C8DD6C5E9619DD719AA55BBB756AB0897B020E5 + 89C66033B6BEEB193BB64080597ED83798A8C64D6E5B7FF601453416B075ABC7 + 095022791BCB1174FF17218329DA38C808A8C816CBBDD8BCCDDCACBDEC18113B + D00574A005917BACBCE107F8882C0D15CAECDCCEEEFCB9CF4902191005F98638 + DFC7CA47647D624CC0F4D1080A823F82B33F1473311603C19C219256E14E59B8 + B6C384924BBA18AD168600BB98CB2C931F572278CB7EB3FB38282CC8D6AC0E28 + 9007E22BD2164BD2217DB18C2CD22A7DD2129BD228E0D230CDD227BDD28C5CD2 + 337DD3138B3246C9007F500652004916EA1B7E606DF08B3329D00348ABB435BB + D441CBD44C8DB34FFDB34D3DD551FDC94E4DD553ADB9579C0164B03D9C971660 + 73CFABCCCA52E3606D59C2FB1CC770C279BB6819F1BA40635BD0E770D0443A21 + 6B87AF17ACAF0F0DFF4E73C246EC33D1CB6BD155CA636FAC72E732BD1EFDD103 + D0CD236DC826FDD8136BD2D80CD917DB04A9C9023B4081724588E6655EF64849 + 2461023DD0C9417BB4559DD5EFECCEA36CD53500A824700141A0C5ADCCD6F130 + 5A7C32D6F82C158DA6CFFC7C2A4B755B67F0AE9A0AD705AD22BCAC279DAA54ED + 6792277978E0B44641D63EF5C998764B2275A35C594A5317860D8A6DBD22CDC8 + 319D077990D2E37DD32BFDDDE26DDE27CD01E90DD3EDBDDEEAEDD2E27DDEE58D + DE8CEC10DC15047440058118C40665065B7088A17DB9B8B9D44970D5079EE007 + DED40A8ED508EEE00BFEE012AEB3114EE1095E0338009D2CDA6054011539156B + 053BD0F79CDB5E2CFFA353CB9FB2BCB787D0321320D0E859DCA1B2CB6003987D + 7DA4A6D69E5CB892CEC071CAD82181CDBC0930D01A3DCB7CCB70ECD3DD014AD3 + 370DDE2FFDD2E97DDE4BFEDE2B1DD2F21DD2F50DDF50FEDD560EE5ECADE4226D + 48371011B080B2D3A611BE616D2A2B03790506F42BD59FCCDAA31CE76E5EDA58 + FDE6747ED5762EE770DED44A90E1587C0763E2E18C57B09AD11FA55515AD1BAE + 9665D7D5D8DB7A44016E63DBEAB453300EC111CCA98FD28AB09CAFA9967168C2 + 0898B28C740BC27B5C302897DDA9224F5C8AE408D8DEF53DDEB0CEDEB2BEE5B4 + 3EDFE3CD01E0FDE4B03EDF56DEE5E28DEBBAAED2AFFEEBAE4EDEC28EEB2F30B2 + 55460538550729FBFFA65D061222511212000634E0E0165EE1138EE00DBEEDD9 + EEED067EE10A7EE0FDBBBAB3AD0B204EE8CD5C38DF1719243E15AE2C809877E3 + BE0D63C5D4CB956EDC119C31A5B092DEE3DB79DDE93A5E46D3FB36CA0CC266D8 + CC75530F5868D86B8A0EACDE93BE9EEB14FFD2C04EECBFEEE413AFF1F32DEBBB + 5EDE138FEB1AEFE4F61DEB23EFF1BF0EEC2870482BD0738DF001F2A83A9D4D2C + 7E7033464D034A00EED82EE1E3FEE0506DE13B7FE7DACEE7192ECF800EEF9C97 + 0D20FE71A52E0F87FEEE5221B5583AC0F45EF599274F7BF207BD8B221633D70E + 3B774808BCF24E7801EFD067CD176EA3BCD4ADC777BB400C8FEA6235637318F1 + 0888EBC0EEF1B26EFFF77ABFF7B17EF77BCFF779FFF7767FEB82AFF77D8FF785 + 9F076240004D0011C2DA066730014407B9C2C23AE865D43D000544DBF3DFDEF3 + 9EFFF9A0DFF9E32EFAA2EFF945CF0441C0E15081EE844EE8CD1BE49EC022EC81 + DBB9CD3D674DE4568F855F314DC9D0054C880E94DEF5BC0C2F87AEDCB8BF856D + CB928B40553EBEF6F7C9AA412E1A8129CB5A8A09AB4EF7C266F7270FF27F7FF8 + 847FF8776FF281FFF71AEFF783AFFD814FF8DD8FEC2B2F025A72073B4007BEF2 + A6C2E207AC53332231E034CBF9A00F084982493584838583898A8B8C8685888C + 8F87893D2A2417416D9A5D6D7F67090970A2A3A3A109031F1B0D9B9AADAEAFB0 + B1B2B15D01711461FF0C160CBCBDBEBFC0BD616114017F1F671F1F6BCCCDCECE + CAD1CA6B1B7F6DB6B9BADABBBB0CC3C314E1E2E371011B63751065EB10EDEEEF + EE750963677F0114BEDCDBBA16FD0CC61F06081C48B0A0C1830539285CC870E1 + 0B0E0F1F369CE810224585122B4E8C6831E3468D142312687243C4053201EA68 + 31230583CB97307D6CF1A38184891E881E30D2298867129F8D80EE1CDAA8E720 + A1917A98B891E10E2B4FA14891AA5347D4BC33D4FE345835ABABD7595CBBC4B9 + 352C985960FA18946BF0A7ED8635D39E3D93966C9A2AB1B8B6F9EBE6ED9B5F0A + 63396D180047DDBA32F012533DB5C61EBE7DFAFA49F616A041C03108336B2EF8 + 220F45CF10F3741EFF3D113407D3A14F2F342D5A616BD5AE4F8F16FD9A7567D5 + B457AF9648C040C90B777804B852C68C1E3F7E5CFAC0B0DCCC812F7364D80483 + 0352D1EB44B16B5F84B4E803253F4CE4C072A50D27A851A5AA0785799956F35D + 387D9D3FBF96AD5BBDF89EFDA58F58B9005D1C938C5C7249230D350DE0958B64 + 0CEE574E1B1B7C30061CE91C865862F1C833C6070DDCC34B647A4D56CC1F6B9C + B1D9899B75A422472CAEE8E20B30BE28634430C6D8E28D33E6D8190A05307552 + 171B40F0854BC9C184C11766F8E0470B3990F0437535E824E54F544E69659558 + 5EA965965C6EE965964A1CB1D4165150D1C927EAA549CA551FBC47DF9B6FD642 + D67E740213461C10FFC645203406D6D5581B7332E88F361FF2528C656324908E + 61182A764A9B1E122AA9A00C5010A08928668A5044AD714ADA6C9F762AAAA72B + 8E4A1B8BA7A61A2AA8A6AE9A2A07248990010C745001C70466C4F49214CE7DC1 + 444D1250A7445047156B1477C652795D77C41EABEC4FE089D7D499A0A8291555 + 55B1875535ABC4271F9CE0BA62DF2DB864536730DDDCD945036F19B8679F670C + 688D2D79F163811593ED420C408A1A7658A3F1C0718A2A9182C80D83EA463800 + 669A363C508D10472CF1C414576CF1C518675C711E06F8B6020B6AADE1851E18 + 140913AF5FF8300708364930EC9730772973CC34CF5C65B4375C400754D6F66C + 0A668D25E86DB844FF6F621F36E7D2094E65C8D4B5CC9ECD44136F2ADDD2FBA1 + 152184802F2F7732DDAFBFEC00BC182A1D3E66B0BDFEE0B901A60EB73D008E70 + EB38A38D72C76D374474DF4D230A3ACC7AC7151BA894AB72CC31C76B924C3EA1 + C29389F8E478B1533A7BA5E4C93E4EF99692473B1E1D9FA4D7B37A55098C8A2A + 5B156D7A2B72D69B34BA9491484DD450478D8C32D55893BA2E585B51E9836B53 + 0876D88D667B862A718471F6C192DDD9C61A0BBBEDB6C6D0472FFDF4D47746C0 + 084C051107031F1C80C17126632005AF4A6A00C21326FCD083510FB49FA5FB56 + C25FA5FC52C26F7FFDF8CF7CFF4FF0E3A094064140D3E7D44415ABB4272BDD8A + CFE9C035AE72AD0EFF2D6A09007C1A5022A741CD5DCCE0562DF061057C85A132 + C79850852C742180896E0380CA065F5688300996A879CE7358F56648C31A422F + 0F622840DF8240053A4401572E21D9AE306006C469A04912585FE5B0C43E9B5D + CE66316BE2E4A0F5831868000B021BE0E74C71953F0D6D81708A4F00E865AE07 + 0A231CFBF284052F68A068FCC94316B8D33106A0A845FD0B60ED18DB1A525828 + 8335084F2F8CE1F320868717446062878451220D59A34316F2909044E40B0A09 + 3147466C9130A2642323F6C84932529192ECA4239B30821530210864A043190E + D01221EEEA0B4862021390688397BD4F4BFB6B5FFEE2B7CB5CE6727EBBBC5978 + C6632D5368B18070FFA0472ADAC2153032905EE52AE303BBA1B60D589319072A + 90D4A686A06B006830BE031B1E03968054A4F078688B2320CF3006CCC44B909A + A218263F79494646F29E929C67242B29498BE1139FFCFCE7439AD00459D16A00 + 103840920AB79C868ACF0CB39C0E0EA048D19A59B4A25D52420F62D08220A409 + 14201D203205E6CE6E7ED1995E116339C825CDD5E9EB3F1214D01AB539BBA751 + E32DECF41D094B283681D5432C2A840C3FF0A54E089988616C83E7890C190148 + 36B5A9F684EA53997ACFA74E55A057B5271EEEB955AADAD3AB55B5AA58AD0A56 + AA5A15054DD0C10A30F1870DC0E10B7A2059F89893B23934C90412A84194F8A7 + CBBEFAF5AF800DACFF60074BD8C026E10724584119D2D4CE44794E8B06A49A02 + 511AA706B6F48165515E05F5442037466D61A1B0A385C6E98E64A602A8854A6D + 3A3F48C1A42AB561586564274529DBAFE273B6B6CDAD256FABDBDAC656A0B4BD + E7484A9281206C2501B034524BC617CB1668E00936A8C1B080D957BE5617B07C + B5AE2EB3BB5DEC76D797F8C301625B3052920AC4B159146901BBC8CC6652162C + 9B1823192F7B2E6E288F99EDCA2636399B53D19290B455D9D01F808ACEC954AA + 32256AE700DEF9DA4C3575AB0FBEEA56271C010857F8AA1196AA54BB8A61AE5E + 98AA160E71562F9C61129BD8C2207E6A575180BD0C60219575F042AE8EA35C58 + 1E804978ED010EF0FF57D81EFBF8C74056820472C00437AC89610B6B67B5445A + 0A36A9023E937DAF2CC4781FD599B11780B18504D7B660CEC2652E741CE16801 + 6CDA0117AF8F90B9D72EE210A04036B86D61DDB08A9D4A67437258CE510D6B6F + 3F3C56AC4638CF56BDF33FA56AC83CA075042EE60115A2E0BD2239747C664899 + 7349F0841F4C17C898CEB4A675191E531E395E6C432F643F1D342987918C5736 + 0B6BBFDCD9665C134DEDB82399C7D0186C1478326A0BC89B9DD7E75EFBFAD7C0 + 0EB6B0874DEC5FCF200233B8DE0A66150532243488467289737C9038F53960D3 + D8CE3661C3A3812D84EE2AA0C6949297AC5EF32E835B4633F52B9AD94007A65A + 1B87DA0ABBDAE86AFF9C8A9051A46D8769CB969F7E7F08D74012B7405CBB6BCD + CCB9D8084FB8C2175EEC421254042DC00215E2308003808F702D89B419E6C0A4 + E9F052DB20DFB41252F08415789BA4E12EC8B8476D156D510DCAEA9EB29CEE41 + DFD5F9672C4C9B9A9E5E3DA15803AFA702B6B5500FB6353CCDB1E0BC6EEAB197 + FE54A63BBDE95067BAD2914DF5A93FFDD8569F01D6A97E75AE437DEA56F7FAD3 + C33EF63C10E0377738031C14BA9C92C1842510FD550ED237D1C20A00B0776F5F + DE1FB0F7BEEBD2EF7FDD7B6001FF1D0970740B2867F082417DDEC71E93A4EE71 + 6FCCA73C46B294E5DD586E338178AED39F6328C06BE0F7ADD39627A4C790C452 + 8770D72B8C75D507FF5AE97858BAEBADDA7AD9B79EEC5C8F3DB2552FE2AA47BD + EABA1F7BEE59DC379DD1610CDE23D2A3A5F085036CA105E7BB8912424E7D6C8F + 9CA3580037A6C21DEA901EF3DB077C32CC27DF86B0547E2C5636E34B25A80912 + D9C5DE5FF33C3C02CC21380E1D77450FB8E94FAFF5FE8BFDFF5DE77F4ED77F01 + 886C5AC77507388004B8800948800028760EB88008C88048C062117705575007 + 2C116D43C4049376133840787737827FC7772648827A77822A488228B88225C8 + 822698827787031240022DE00651C0789BA1642CD764A39340DF427EE25279E9 + 7765C4100E6A132F379560E1247FEFB06F34A75A2CD44116906BFB174302D880 + 4BA7850678755C28FF815E08860938815DC8805FF8856408865DB886FD474AA6 + 645C01B07652801CD19624D4561395A65DDA26782A587D80A5143980093A6810 + 29075AD5E27804240AF48020A52384AE607E96777957665F6AF30CEC5447F8A6 + 18C9B44701B02043D7206A615457888566588AA6788AA8988AAAB88AACD88AFE + 875637B0023010075700075AD0121CC82B52E08194F62432E88230188CC0388C + C2588CC4C8771A251E4C908304377083B87288D833EE1479E3E788E6215F73F2 + 6EDD9065F3A60CFDE5733C95479B780DF850601D7460F3D68CA38822AED88EEE + F88EF0188F04880704D0373010047750076EF005B858382EC17C07406D39F004 + 499404D3E78731E8FF6307A969E01103E3A1789A9228E9356AA6F083F0618DAF + 903A35875900B10C974815FE327F9BD8219EE847FDE041000191EBD83033B000 + 2DF9922E199330399332599334799336999338B9933AD9933CF9933EB9007820 + 06C485059CE3062D31570FA524B354693D608C50798C51399552898C55D40203 + 100527C27D47855ED1782DEBB588A483919A503A72C25292786596226F6B137F + 3F571503C089E6B242FFE60F1FE4092B2948042893A7E8927BF9925AC7978039 + 98813993A528987E698A89998A36599882F9978BF99262D0622F7606CFE64AFE + 78245E80014824014340582D18782E98827D159A55298CBA448344560728C27D + 03316E5FA926F3B0FF60267552424865E8B7914AB3526CB60609E00E6F090771 + 498EF72719E738226E96976D03930B109440D992CDF99C31199DCE599DCC699D + 41499D34A99D31190162E0865B4006573006D021572713692A030203E9322F78 + 9AEE4995F0B9823D30644C004F2BD783903796649991A886791F12077FE096A5 + 358E67763C82F2416BA38ECA8922D8299D0EDAA010FAA0128A9D5BE586C04106 + 75905C6E5738CC654404890307D977211AA27F37A2A49990225882279AA2A4A9 + 142BE0060EE39A8638913D832D28776E6E126593677ED09496F5A50D008A0E8B + 1230C359A09F381977A96B0BEA3CD7D99CDC499D4EDA934F1AA53949A53539A5 + D7B99D4EDAA456BAFFA5D349A55C0AA5D39906CD3912100703E22924177732CF + F105CE853E96169F72FA9E743A823FF0043718A32A799F14399B58F11EB6799B + 6759844983A0842192B4C64752F86F547897C9B9A40EE3A5560A9D602AA95F4A + A95D7AA95D4AA99C6AA951DAA962FAA99B3AAA934AAA32C93719C0025D400632 + 6624CBD1120DB524BDA804735AAB755A954A7109ACE93C29C783B1F9518F826E + FB893A63844698B516CC134E10A0887BB43DC579A0C6A0A090CAA0996AA51550 + ADD87AADD81AA5DABAADDE9AADDFDA9CDD1AAED54A8FB178012C602910601C6B + FA8F3EF00534D18B3DF08BC528002368AF7C87AFF61A8CFADAAFF7FAAFF90AB0 + FB8A8C43201E58C0FFAB85D858E456A3EBC526A5568DB7797EC6BA9B08860CBF + B90E70B906A865A0220210D32A485F4AAE223BB2245BB2267BB243D923177005 + 0CF007C5D18F0DE5039136131D27013F40AFB76AAB3AFB005759075AF9663CC8 + 725CB4214F16A8824A841BA92E24026A8A82B1B4D60579C1B1A41721D2FAB19B + B100D74AA6598BB55C7BAD5EDBB560FBB562CBB55A0BB6653BB6681BB66A9BB6 + 637BB66B4BB670BBB56DABB664BA0024E16264C0078243246F57443E10514934 + 7D033BB8FEBAAF862BB0877BB8011BB089EBAF8C2B00AAD9513F1B43096B4C90 + 153AC9F4A76E32ACD78896D204180172190B36218AB801504B977D64608064B5 + F024AE4EDAAD63EBFFBAB2CBB5B30BBBAF7BBBB58BBBB4BBBBB1CBBBBA6BBB5F + 9BBBC2EBBBC38B046E8805787206B7F812CB5744BF4202368BB33B3BBDA7C96D + 5B7007F05488497688E56640C9500D46138411BB5256560C9D909C534330466A + 92FD702714A4A4ACEB366FCBB6F35BBFF47BBFF69BBFF8BBBFFA6BBF78D00419 + 700163F01642C2B7E1935C2C63B320DAB88F5BB884ABB80CFCC00DDCB8F84A04 + 771A7157E858BFBA1EECC5B9A8A391861207E958106DB24141C5BE6BD606F01B + BF6EC3BF2EDCBF2F1CC3303CC3329CB6765B4A4CC0023B10076A4A38AF6A065B + F0B747F40429D003B4BA828ECB8249BCC488DBC48B3BB84A50B04CB1ABAFE59A + D0F87D56313ACCE4FFC1830A18AD0543030129E5B81769866BCB03C62CDC3658 + 5B015ECBC66BDCC670CCC66E2CC76F5CC7747CC7729CC778ACC7763CC77E1CC7 + 7B9CC77D0CC76F2CC87AFCC787ECC60BF09D10770701C00765C08F6EE7683EC0 + 7C662003EB19A714BCC99CDCC99EFCC9051B886F26A3DBBBB0D682B97EFA72DE + 22BE93773495A13007B10C1DC20F93622F45B73C559BC69B51C376DCB5730CC3 + 7F1CB6BFECB56980B6C38CB5C54CC3C77CC734FCC6E62A8B77400772C8811870 + 005E7063431CA74FECC04CBCCD4E2CC1E0ACAF166C456540C5196CCA90D5C11E + 5C7EEE97194A78BA648C3CA4B7C2BADC36897CCFF89CCFFABCCFFCDCCFFEFCCF + 007DCF8B7CAE2C40FF0709B581D1A68B1C37909AFCC90EFDD010BDAF43508318 + 5C7032EA95DF972DED21ACE6618D6C41B59BF1018072A42F75C64856CFF61CD0 + 2ABDD22CDDD22E0DD048409426710761B00375E03DE65938332B903160B3FF1A + D1401DD486DB695B607ADA5BCA3DC81E5A0CB131F7D1C8A019F4D00071902FAB + 25C28F8AD20EA3C71E20C75B9DC75BDDD5158006892CD6F90CD6665D015B4DD6 + 689DC8602DD6607DC86DCDD56B7DD66C7CD65F2DD7753DD7727DD779DDD761BD + 001170B730B0037FF0562F6132322BB3186057D0FB034420D4900DD9DC76B0A3 + A878182DB48BB8B98EC82E574D10F4F007CE9A4EBB3022F48CD559FDD26BDDCF + 6F8DD7F8BCDA65CDFFD6FAECDAFCBC04AC7DD7749DDA797CB727710567E00543 + 92D0CCB70572F7A1B41AD9C6EDD04460782D000127BD6B17ADC1344A401ADD65 + C2AAA3EFD5564F9D1998B1019D28DA112420CD6DDA0DA3D7B64DDEE65DDEE87D + DEE4ED01E9DDDEEAEDDEF0FDDEF28DDE1E8006EC3DDF68ED016920066260123B + C0006B3001524063E79924C32D018F6DAF42B0AF0BAEE00CFEE00E1EE102D0E0 + 130EE1152EE1149EE10230D124C004C27985CD286A14696E45CBCA28C5D9D24A + 0F2854A0446501967274E21D43E5EDD7768DDBEE4DE37B2DDF38BEE3E69DD77C + 8DDF330EE47AEDE336BED71E40006B259E7470D3FD98993EF0E46FCA9EC73DE5 + 9CAC043860020094FF97176DB958CC5E8D686A28BE197F7A0F27B96601A76031 + EE3CECBDE66CCEE6F6DDE6701EE772BEE6F93DE76D6EDF62FDE671EED676DEE7 + 7EFEE7807EE76B8E063340942B1004571007DD036D4324054F8EC90499E015BE + E01A4EE9937EE996EEE0969EE917DEE9955EE188559F2B49CA57FC390D5B52E0 + BBCA278E5327B20C6DC041BAC3660A83E669DE36747EEBF7FDD56C5EE7409EEB + 73EDEBF41DECBC7EEBF39DEBC6AEEBC8FEDEC75EE7BB4EECC96EDB317D0317B8 + 0351B0BC98F9E41A2703E7E399C54DE5DE6EB8FF73BDE1BDA012899FA1A0E209 + 4459612EE66D32D5F862295C56EB8214E8F45EEFF67EEFF89EEFFA5EDF683099 + 817807543000CB9BFF1C075C57D1370409FEE99B8EE90CAFE99ECEF00BEFF002 + 30D993ABE53A08DD1B4C210524965A2179A6B3EE27B206DDFDE212E24EB92CEF + 06B1EF2ABFF22CDFF22CBF002A4012E84A0510B0120E75F3527000F16A0243D0 + ED92FEED869BF00F9DDC9750F1A33E88DB1BDD896840B459E2264E1F201FD280 + 22EBD93D7028EF301E500259BFF5F6ADF55E8F065EBFF5613FF6622FF625F0F5 + 649FF6653FF667BFF66EAFF670FFF6721FF75ADFF5737FF7FA6DBCD983816F35 + 871BFA3DCCF705DA4E699FE9F00B7FF8109FF888BFF8973E04786AF4D32A6E22 + 2EB416F9F450CFEAAD690DA278F5F3EEF6EC4DF69F2FF7A11FFA745FF670AEF5 + 6C1EF6A4EFF9AC8FFFFAADBFE6A0BFF5A32FFBB4AFE7AE1FFBAABFE67A9F686D + F006ADEAAA1AB72403D9F386AFF8C6CFF8C80FF1C96D72906FF1BD7AD9A61E96 + A8D04D4513F59AF1BDB36EF59C8FF55EDFF6630FF6737FF6DE0FFE69EFFD590F + F6E6FFFD6C5FFE2500F6E8BFFEE12FFE6FFFFE674FFE77DFFE709FFE72BFDF38 + 0C08645D036E5F18187E8888665F5F3E2D244F434A4202959796999742989D9A + 9F9EA1A09902124F1A5803AAABACADAEAFB0B167B3AD6363090970BABBBCBDBC + B8036B0D6DC4C5C6C7C70D1B6B67B1AE671F1FCDCED4D5D6D7D8B0251EDBDDDC + DFDEE1E0E3E2E5E4E7E6E9E8DC25EAEEECEFF1EBF215624D2B1759716B135289 + 7A3E0E613023C550FF8B1C4F7E0858288408C385A344617A288AA22587A0880C + 9140E2C2986C20B3CD9A762B97AF93BD12046BD005994B64CA98859C49B3A6CD + 55F0DAE9DCA93327CF9F3B7DB6130AB4A8D1A34089225D6A5429539D0AD2DC63 + 42264E17088E30E81198A8A09939087F1091688953D94D684199E5146AAD26B7 + 434CE42813E5A6DD91B406D8C26512651D5D093E7ED8C0B24BCB9788634EA3B6 + 785563BB9023AF0AD70E4DCF1296E171B35C19B367CEE5867ADEDC4D3468D33C + 2D671E7D79B56870AA75828E1D5BF3E7A4A55BA7060ADADE0D265400C41970C0 + DF568152186138F84482C288D0C94A8F9E51420E264124DBCCCBAA24CA5D63CE + 10EE12A07C80C388FF5D2AD6CEBE7DB6A7F0E3CB9F4FBFBEFDFA69C4FCE69185 + 0221337E249208063E980120130839E750276BB1C5D659103E286183694DC8D6 + 0F2668B0857B35E1D5CC5E70F40558786BFCD1451C148411471CE7A5F7D27A1C + C628E364A7C966E34FA0D9E6136CB97516946738DE98DB6CA1F104CE513BB206 + 0F9147EEE6A393A9E9D7020B6184B1070452084420065214F485063990608204 + 435037DD9911B9750911449840021375CC28125EABEC95CB9D2B918762952CB6 + E8224CCB3C26E7A09095A080A188B673E8A13B2D9A28543C395A94A394425AE9 + A59622CA68A49A72BAE94F923EAA68A79B621AEAA7A4768AC40D2D904181050D + B86186565A1E2205FF0820842981040B3AE8EBAFC0062BECB00DFD704A2A84DE + 5452606B9C48C18A1444DB277A7F160363B2D8DA5469A340853AAAA9A266EA6D + AA98723B6EA99D7E1BAEB9DDA6CBA9BAA8B20B2F1A52DE1186707548A1C7715A + E29A6B826556486184035B48B0C0976C745D1D1F655B8D87AAD812DE1F7130C0 + 4095613C3B6DB5C904EAF0C721912B32B8248F6C72C9289FAC72CA2CAF7CF212 + FAAD1004030074518621030AE4EFBFCD0D3116B140072DF40F12685817C8CED0 + C9CA070D0410C6C5D16ACC22B51C5F8BF4D5B12880C6A29C695D6EAAF08AACE8 + D68F6E5B36A4F38E3AF6A55D934B36BA6A9B1CB7D9E8B2CD76CC30EC90451751 + 14B765403BCB90EBFF13098D75968307276EF0E2BF0A40044717C489F535B308 + B367D41A974775B5564FEEB92A0A842EFAE8A4976EFAE9A8A7AEFAEAACB7EEFA + EBB0B38E061731A0B2030014D4F1853F3AEFCC3399870B2DFCF044FC503B1C9F + 3306CD1A6D049022E62B6ACEB1319D278FF42CB12F1ABAA6A593BABDF6A8738F + 72F7A68BFFFDEBE65F4AFEE8DE83CFBEE8E92BC0451322E43D45006F6861C671 + BE8320380891F0195A1007AC8311904207DC44F132842CEBC1A2720DB85CD4A2 + E7A7E9B5A17A0ECCD6484487000E9AAE83AD0321E944383A1192307BAF3B61E8 + 54A80016A2F0851F64DFFC6E70012A848001C4A155FF7616C0E00DEF87C26213 + 47E074B40CB20282FFCECBD804A3B7B93F61D08884A2050CA748C52A5A11755B + BBA2EA66D7041AF2C00914F880160EB14310CC4106609284E180C84661190F15 + 512003141D7306CB3D6F89D2B3E0053D36C76441CC831D0C24205B4848411AB2 + 90883CA42209793A419630918C1C212417F9C8455A7292923421264F78493074 + 31032CB0D81AB4F0851DCA40067368810C22219636BAF257C5AB5D1D54D24724 + DE515A1BD3E313FBE81E0F8D21759A5CA1072BB9C94C42B29191142627597749 + 625E5293941C66323149CC472EA18B176041161870860994F1946794014202F6 + CA720A81682B7043C3E6084109E2328F16DC252F2543A75BC061930878663E0B + B94F43E6F39FFE04FFA8402709507EFE9383FDC4A7400B1AC88532B485FD74E8 + 411B4A51832ED4A20145C035479081203821046D38E50ECF388733B2F267E66C + 63F14880857542D1964AC4E5D4F4B84799CC534623D10B1CEAE0064329F398C5 + 7464249F19D462FEF490472D2A5185BA54A53A95A830BB070CAAC000299CD177 + E09C831FCE08B094AA940824D8C21D78D9CE5B66AE82D393E74DEFF2213840C0 + 0D5A50C11214D00789DAF5AE19C5AB5E2F4A51896274AF800D2844034BD8C222 + 607E2BC0020F0C74D5C0A1720EFB5A654286E05536B6A9050D7C691D9B66560A + 36D1456A5DEB4CE8948BB76AE100311083A1F27A578CFEB5A28A4CA85D13D9DA + BE1A96B5B01DEC43FF6D7BDB81F25601F6C0C7160EF085C6FAEFB125C5C01CD2 + D8CACA12EF141728A211CB1AD3B37E363DA1152D48723A06B7BAC10B07388006 + 622057DDF6F6BCE84DAF7AD7CB5E892256033E68841EE6E02F703E560FA70C0B + 659D2BB4956AA00CB5DC6C12A1C7449A6657BBD8A045774D1BDE032C97044DE0 + C212F06ADE88EE75B0AFB5707BCF5BE1C27678C3B3B5470E348001E22AF794C8 + 2DA98AC549821FF037686C225A0E36C4CECDBAD3BA06E62382B793D3D2C2B5C1 + E17D3079278C001714F9C8F9347292FFA9E4231BF9C94866B240A1DC64805259 + CA576EF295ADECE42E6F39CA5AF63298A73C66282F39CB588EF299BB2C3F15DC + 40034CF8C2017C405B5254DAB9A4F31567E15E1C34633121C0C218301ED15A35 + 1DEF98267859F0774F0B64071F444C5CA82B88274DE94A5B3AB02E58829BE11C + 5E82E499A42A46048B79C567620DE1092D0074043B9BCB781AFAD02151B07719 + 0DE44000003B} + ExplicitWidth = 386 + end + end + object edtPassword: TEdit + Left = 96 + Top = 132 + Width = 278 + Height = 21 + PasswordChar = '*' + TabOrder = 2 + end + object bAceptar: TButton + Left = 208 + Top = 203 + Width = 75 + Height = 25 + Caption = '&Aceptar' + Default = True + TabOrder = 3 + OnClick = bAceptarClick + end + object bCancelar: TButton + Left = 296 + Top = 203 + Width = 75 + Height = 25 + Cancel = True + Caption = '&Salir' + ModalResult = 2 + TabOrder = 4 + end + object edtUser: TEdit + Left = 96 + Top = 104 + Width = 278 + Height = 21 + TabOrder = 1 + end + object Button1: TButton + Left = 16 + Top = 203 + Width = 129 + Height = 25 + Caption = 'C&onfigurar conexi'#243'n...' + TabOrder = 5 + OnClick = ToolButton4Click + end + object Timer1: TTimer + Enabled = False + Interval = 5000 + OnTimer = Timer1Timer + Left = 344 + Top = 64 + end + object JvAppRegistryStorage1: TJvAppRegistryStorage + StorageOptions.BooleanStringTrueValues = 'TRUE, YES, Y' + StorageOptions.BooleanStringFalseValues = 'FALSE, NO, N' + StorageOptions.BooleanAsString = False + Root = 'Software\%APPL_NAME%' + SubStorages = <> + Left = 14 + Top = 168 + end + object JvFormStorage1: TJvFormStorage + AppStorage = JvAppRegistryStorage1 + AppStoragePath = '\' + Options = [] + StoredProps.Strings = ( + 'edtUser.Text' + 'edtPassword.Text') + StoredValues = < + item + Name = 'Ruta' + Value = '' + end> + Left = 48 + Top = 168 + end +end diff --git a/Source/ApplicationBase/Usuarios/Views/uEditorLogin.pas b/Source/ApplicationBase/Usuarios/Views/uEditorLogin.pas new file mode 100644 index 00000000..e1790fc8 --- /dev/null +++ b/Source/ApplicationBase/Usuarios/Views/uEditorLogin.pas @@ -0,0 +1,126 @@ +unit uEditorLogin; + +interface + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, StdCtrls, ExtCtrls, ComCtrls, cxGraphics, cxControls, + cxContainer, cxEdit, cxTextEdit, cxMaskEdit, cxDropDownEdit, + cxImageComboBox, ImgList, PngImageList, pngimage, ToolWin, JvExControls, + JvComponent, JvGradient, JvGIF, JvComponentBase, JvFormPlacement, + JvAppStorage, JvAppRegistryStorage, uIEditorLogin, uUsuariosController; + +type + TfEditorLogin = class(TForm, IEditorLogin) + Panel1: TPanel; + Label3: TLabel; + Label4: TLabel; + edtPassword: TEdit; + bAceptar: TButton; + bCancelar: TButton; + Label1: TLabel; + edtUser: TEdit; + JvGradient1: TJvGradient; + Button1: TButton; + Timer1: TTimer; + JvAppRegistryStorage1: TJvAppRegistryStorage; + JvFormStorage1: TJvFormStorage; + Image1: TImage; + procedure bAceptarClick(Sender: TObject); + procedure ToolButton4Click(Sender: TObject); + procedure FormShow(Sender: TObject); + procedure Timer1Timer(Sender: TObject); + procedure FormCreate(Sender: TObject); + private + FController : IUsuariosController; + FIntentos : Integer; + function GetController : IUsuariosController; + procedure SetController (const AValue : IUsuariosController); + published + property Controller : IUsuariosController read GetController write SetController; + end; + + +implementation + +uses + uFactuGES_App, uDataModuleConexion; + +{$R *.dfm} + +{ +********************************* TfEditorLogin ********************************** +} +procedure TfEditorLogin.bAceptarClick(Sender: TObject); +var + bOk : Boolean; +begin + Timer1.Enabled := False; + + ShowHourglassCursor; + try + bOK := FController.ComprobarUsuario(edtUser.Text, edtPassword.Text); + finally + HideHourglassCursor; + end; + + if bOk then + ModalResult := mrOK + else begin + Application.MessageBox('Usuario no válido. Compruebe si ha escrito correctamente' + + #13 + #10 + 'el usuario y la contraseña.', 'Atención', MB_OK); + Inc(FIntentos); + if (Controller.MaxIntentosLogin > 0) and (FIntentos = Controller.MaxIntentosLogin) then + ModalResult := mrCancel; + end; +end; + +procedure TfEditorLogin.ToolButton4Click(Sender: TObject); +var + ATimer : Boolean; +begin + if Timer1.Enabled then + begin + ATimer := True; + Timer1.Enabled := False; + end; + + dmConexion.ConfigurarConexion; + + if ATimer then + Timer1.Enabled := True; +end; + +procedure TfEditorLogin.FormCreate(Sender: TObject); +begin + FIntentos := 0; +end; + +procedure TfEditorLogin.FormShow(Sender: TObject); +begin + Self.Caption := Self.Caption + ' - ' + AppFactuGES.AppVersion; + JvFormStorage1.RestoreFormPlacement; + + // Hacer login automática si hay usuario/password y no hay más de una base + // de datos como opción para conectarse. + if ((Length(edtUser.Text) > 0) and (Length(edtPassword.Text) > 0)) then + Timer1.Enabled := True; +end; + +function TfEditorLogin.GetController: IUsuariosController; +begin + Result := FController; +end; + +procedure TfEditorLogin.SetController(const AValue: IUsuariosController); +begin + FController := AValue; +end; + +procedure TfEditorLogin.Timer1Timer(Sender: TObject); +begin + Timer1.Enabled := False; + bAceptar.Click; +end; + +end. diff --git a/Source/ApplicationBase/Usuarios/Views/uUsuariosViewRegister.pas b/Source/ApplicationBase/Usuarios/Views/uUsuariosViewRegister.pas new file mode 100644 index 00000000..99cb4a0c --- /dev/null +++ b/Source/ApplicationBase/Usuarios/Views/uUsuariosViewRegister.pas @@ -0,0 +1,23 @@ +unit uUsuariosViewRegister; + +interface + +procedure RegisterViews; +procedure UnregisterViews; + +implementation + +uses + uEditorRegistryUtils, uEditorLogin; + +procedure RegisterViews; +begin + EditorRegistry.RegisterClass(TfEditorLogin, 'EditorLogin'); +end; + +procedure UnregisterViews; +begin + EditorRegistry.UnRegisterClass(TfEditorLogin); +end; + +end. diff --git a/Source/ApplicationBase/_Usuarios_/Usuarios.bdsproj b/Source/ApplicationBase/_Usuarios_/Usuarios.bdsproj new file mode 100644 index 00000000..6a6eb5fa --- /dev/null +++ b/Source/ApplicationBase/_Usuarios_/Usuarios.bdsproj @@ -0,0 +1,492 @@ + + + + + + + + + + + + Usuarios.dpk + + + 7.0 + + + 8 + 0 + 1 + 1 + 0 + 0 + 1 + 1 + 1 + 0 + 0 + 1 + 0 + 1 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 1 + 1 + 1 + True + True + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + False + False + False + True + True + True + True + True + True + + + + 3 + 0 + False + 1 + False + False + False + 16384 + 1048576 + 4194304 + Gestión de usuarios + + + + .\ + ..\..\..\Output\Debug\Cliente + ..\..\Lib + ..\..\Lib;..\..\Modulos\Lib + vcl;rtl;vclx;indy;inet;xmlrtl;vclie;inetdbbde;inetdbxpress;dbrtl;dsnap;dsnapcon;vcldb;soaprtl;VclSmp;dbexpress;dbxcds;inetdb;bdertl;vcldbx;webdsnap;websnap;adortl;ibxpress;teeui;teedb;tee;dss;visualclx;visualdbclx;vclactnband;vclshlctrls;dclOfficeXP;cxLibraryVCLD7;dxThemeD7;cxTreeListVCLD7;cxEditorsVCLD7;cxDataD7;cxExtEditorsVCLD7;cxGridVCLD7;cxPageControlVCLD7;cxSchedulerVCLD7;dxComnD7;dxsbD7;dxBarD7;dxBarDBNavD7;dxBarExtDBItemsD7;dxBarExtItemsD7;dxDockingD7;dxLayoutControlD7;dxNavBarD7;dxPSCoreD7;cxExportVCLD7;cxIntl5D7;cxIntlPrintSys3D7;cxIntlSchedulerD7;fsIBX7;fs7;fqb70;frx7;frxADO7;frxBDE7;frxcs7;frxDB7;frxDBX7;frxe7;frxIBX7;fsADO7;fsBDE7;fsDB7;cxVerticalGridVCLD7 + + + False + + + + + + False + + + True + False + + + + $00000000 + C:\Archivos de programa\Borland\Delphi7\Bin\ + + + True + False + 1 + 0 + 3 + 0 + False + False + False + False + False + 3082 + 1252 + + + + + 1.0.3.0 + + + + + + 1.0.0.0 + + + + + diff --git a/Source/ApplicationBase/_Usuarios_/Usuarios.dpk b/Source/ApplicationBase/_Usuarios_/Usuarios.dpk new file mode 100644 index 00000000..b5fa2fda --- /dev/null +++ b/Source/ApplicationBase/_Usuarios_/Usuarios.dpk @@ -0,0 +1,43 @@ +package Usuarios; + +{$R *.res} +{$ALIGN 8} +{$ASSERTIONS ON} +{$BOOLEVAL OFF} +{$DEBUGINFO ON} +{$EXTENDEDSYNTAX ON} +{$IMPORTEDDATA ON} +{$IOCHECKS ON} +{$LOCALSYMBOLS ON} +{$LONGSTRINGS ON} +{$OPENSTRINGS ON} +{$OPTIMIZATION ON} +{$OVERFLOWCHECKS OFF} +{$RANGECHECKS OFF} +{$REFERENCEINFO ON} +{$SAFEDIVIDE OFF} +{$STACKFRAMES OFF} +{$TYPEDADDRESS OFF} +{$VARSTRINGCHECKS ON} +{$WRITEABLECONST OFF} +{$MINENUMSIZE 1} +{$IMAGEBASE $400000} +{$DESCRIPTION 'Gestión de usuarios'} +{$IMPLICITBUILD ON} + +requires + vcl, + vcldb, + Base, + Empresas_model, + Empresas_controller, + JvMMD11R; + +contains + uDataModuleUsuarios in 'uDataModuleUsuarios.pas' {dmUsuarios: TDAClientDataModule}, + uUsuarios in 'uUsuarios.pas' {fUsuarios}, + uUsuario in 'uUsuario.pas' {fUsuario}, + uLoginForm in 'uLoginForm.pas' {fLoginForm}, + uCambiarPassword in 'uCambiarPassword.pas' {fCambiarPassword}; + +end. diff --git a/Source/ApplicationBase/_Usuarios_/Usuarios.dproj b/Source/ApplicationBase/_Usuarios_/Usuarios.dproj new file mode 100644 index 00000000..062fb034 --- /dev/null +++ b/Source/ApplicationBase/_Usuarios_/Usuarios.dproj @@ -0,0 +1,557 @@ + + + + {0e3d28a9-51af-483b-b478-472a086ee120} + Usuarios.dpk + Debug + AnyCPU + DCC32 + ..\..\..\Output\Debug\Cliente\Usuarios.bpl + + + 7.0 + False + False + 0 + 3 + .\ + .\ + .\ + ..\..\..\Output\Debug\Cliente + ..\..\Lib + ..\..\Lib;..\..\Modulos\Lib + ..\..\Lib;..\..\Modulos\Lib + ..\..\Lib;..\..\Modulos\Lib + ..\..\Lib;..\..\Modulos\Lib + RELEASE + + + 7.0 + 3 + .\ + .\ + .\ + ..\..\..\Output\Debug\Cliente + ..\..\Lib + ..\..\Lib;..\..\Modulos\Lib + ..\..\Lib;..\..\Modulos\Lib + ..\..\Lib;..\..\Modulos\Lib + ..\..\Lib;..\..\Modulos\Lib + + + Delphi.Personality + Package + +FalseTrueFalseGestión de usuariosTrueFalseFalseC:\Archivos de programa\Borland\Delphi7\Bin\TrueFalse1030FalseFalseFalseFalseFalse308212521.0.3.01.0.0.0Usuarios.dpk + + + + + MainSource + + + + + + + + +
fCambiarPassword
+
+ +
dmUsuarios
+
+ +
fLoginForm
+
+ +
fUsuario
+
+ +
fUsuarios
+
+
+
+ diff --git a/Source/ApplicationBase/_Usuarios_/Usuarios.rc b/Source/ApplicationBase/_Usuarios_/Usuarios.rc new file mode 100644 index 00000000..169f9978 --- /dev/null +++ b/Source/ApplicationBase/_Usuarios_/Usuarios.rc @@ -0,0 +1,22 @@ +1 VERSIONINFO +FILEVERSION 1,0,3,0 +PRODUCTVERSION 1,0,3,0 +FILEFLAGSMASK 0x3FL +FILEFLAGS 0x00L +FILEOS 0x40004L +FILETYPE 0x1L +FILESUBTYPE 0x0L +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "0C0A04E4" + BEGIN + VALUE "FileVersion", "1.0.3.0\0" + VALUE "ProductVersion", "1.0.0.0\0" + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x0C0A, 1252 + END +END diff --git a/Source/ApplicationBase/_Usuarios_/Usuarios.res b/Source/ApplicationBase/_Usuarios_/Usuarios.res new file mode 100644 index 00000000..73fae82f Binary files /dev/null and b/Source/ApplicationBase/_Usuarios_/Usuarios.res differ diff --git a/Source/ApplicationBase/_Usuarios_/uCambiarPassword.dfm b/Source/ApplicationBase/_Usuarios_/uCambiarPassword.dfm new file mode 100644 index 00000000..91698274 --- /dev/null +++ b/Source/ApplicationBase/_Usuarios_/uCambiarPassword.dfm @@ -0,0 +1,94 @@ +object fCambiarPassword: TfCambiarPassword + Left = 460 + Top = 492 + Width = 361 + Height = 299 + Caption = 'Cambiar la contrase'#241'a' + Color = clBtnFace + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -11 + Font.Name = 'MS Sans Serif' + Font.Style = [] + OldCreateOrder = False + Position = poScreenCenter + PixelsPerInch = 96 + TextHeight = 13 + object bAceptar: TButton + Left = 136 + Top = 230 + Width = 120 + Height = 25 + Caption = '&Cambiar la contrase'#241'a' + Default = True + TabOrder = 0 + OnClick = bAceptarClick + end + object bCancelar: TButton + Left = 269 + Top = 230 + Width = 75 + Height = 25 + Cancel = True + Caption = '&Cancelar' + ModalResult = 2 + TabOrder = 1 + end + object PageControl1: TPageControl + Left = 2 + Top = 2 + Width = 349 + Height = 217 + ActivePage = pagContrasena + TabOrder = 2 + object pagContrasena: TTabSheet + Caption = 'Cambiar la contrase'#241'a' + object Label4: TLabel + Left = 16 + Top = 19 + Width = 167 + Height = 13 + Caption = 'Escriba la nueva contrase'#241'a:' + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -11 + Font.Name = 'MS Sans Serif' + Font.Style = [fsBold] + ParentFont = False + Transparent = True + end + object Label1: TLabel + Left = 16 + Top = 72 + Width = 257 + Height = 13 + Caption = 'Repita la nueva contrase'#241'a para confirmarla:' + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -11 + Font.Name = 'MS Sans Serif' + Font.Style = [fsBold] + ParentFont = False + Transparent = True + end + object edtPassword2: TEdit + Left = 16 + Top = 88 + Width = 295 + Height = 21 + CharCase = ecLowerCase + PasswordChar = '*' + TabOrder = 0 + end + object edtPassword: TEdit + Left = 16 + Top = 39 + Width = 295 + Height = 21 + CharCase = ecLowerCase + PasswordChar = '*' + TabOrder = 1 + end + end + end +end diff --git a/Source/ApplicationBase/_Usuarios_/uCambiarPassword.pas b/Source/ApplicationBase/_Usuarios_/uCambiarPassword.pas new file mode 100644 index 00000000..03a158bf --- /dev/null +++ b/Source/ApplicationBase/_Usuarios_/uCambiarPassword.pas @@ -0,0 +1,41 @@ +unit uCambiarPassword; + +interface + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, StdCtrls, ComCtrls; + +type + TfCambiarPassword = class(TForm) + bAceptar: TButton; + bCancelar: TButton; + Label4: TLabel; + edtPassword: TEdit; + Label1: TLabel; + edtPassword2: TEdit; + PageControl1: TPageControl; + pagContrasena: TTabSheet; + procedure bAceptarClick(Sender: TObject); + private + { Private declarations } + public + { Public declarations } + end; + +var + fCambiarPassword: TfCambiarPassword; + +implementation + +{$R *.dfm} + +procedure TfCambiarPassword.bAceptarClick(Sender: TObject); +begin + if edtPassword2.Text <> edtPassword.Text then + raise Exception.Create('Por favor, introduzca la MISMA contraseña en los dos campos') + else + ModalResult := mrOK; +end; + +end. diff --git a/Source/ApplicationBase/_Usuarios_/uDataModuleUsuarios.dfm b/Source/ApplicationBase/_Usuarios_/uDataModuleUsuarios.dfm new file mode 100644 index 00000000..ce6d0400 --- /dev/null +++ b/Source/ApplicationBase/_Usuarios_/uDataModuleUsuarios.dfm @@ -0,0 +1,17 @@ +object dmUsuarios: TdmUsuarios + OldCreateOrder = True + OnCreate = DAClientDataModuleCreate + Height = 205 + Width = 355 + object ROLoginService: TRORemoteService + Message = dmConexion.ROMessage + Channel = dmConexion.ROChannel + ServiceName = 'srvLogin' + Left = 48 + Top = 32 + end + object DABINAdapter: TDABINAdapter + Left = 48 + Top = 104 + end +end diff --git a/Source/ApplicationBase/_Usuarios_/uDataModuleUsuarios.pas b/Source/ApplicationBase/_Usuarios_/uDataModuleUsuarios.pas new file mode 100644 index 00000000..369a5f3c --- /dev/null +++ b/Source/ApplicationBase/_Usuarios_/uDataModuleUsuarios.pas @@ -0,0 +1,209 @@ +unit uDataModuleUsuarios; + +interface + +uses {vcl:} SysUtils, Classes, DB, DBClient, + {RemObjects:} uDAClientDataModule, uDADataTable, uDABINAdapter, + uROServiceComponent, uRORemoteService, uROClient, uROBinMessage, + uROWinInetHttpChannel, uDAScriptingProvider, uDACDSDataTable, + FactuGES_Intf, uIntegerListUtils, uBizEmpresas, uDADataStreamer; + +const + PERFIL_ADMINISTRADORES = 'Administradores'; + +type + TdmUsuarios = class(TDAClientDataModule) + ROLoginService: TRORemoteService; + DABINAdapter: TDABINAdapter; + procedure DAClientDataModuleCreate(Sender: TObject); + procedure DAClientDataModuleDestroy(Sender: TObject); + private + FUsuario : String; + FPassword : String; // Lo guardo para poder hacer una reconexión + + FLoginInfo: TRdxLoginInfo; + FEmpresaActual: IBizEmpresa; + function CambiarPassword (const APassword : String) : boolean; overload; + function GetEsAdministrador: Boolean; + + function GetEmpresas: TIntegerList; + + procedure SetEmpresaActual(const Value: IBizEmpresa); + function GetIDEmpresaActual: Integer; + procedure SetIDEmpresaActual(const Value: Integer); + public + function Login: Boolean; overload; + function Login(Usuario: String; Password: String): Boolean; overload; + procedure Logout; + procedure CambiarPassword; overload; + property EsAdministrador : Boolean read GetEsAdministrador; + property IDEmpresaActual : Integer read GetIDEmpresaActual write SetIDEmpresaActual; + property EmpresaActual : IBizEmpresa read FEmpresaActual write SetEmpresaActual; + property Empresas : TIntegerList read GetEmpresas; + property LoginInfo: TRdxLoginInfo read FLoginInfo; + end; + +var + dmUsuarios: TdmUsuarios; + +implementation + +{$R *.DFM} + +uses + Forms, Controls, uDataTableUtils, uDataModuleConexion, uLoginForm, + uCambiarPassword, Dialogs, Windows, uEmpresasController; + +{ TDAClientDataModule1 } + +procedure TdmUsuarios.DAClientDataModuleCreate(Sender: TObject); +begin + ROLoginService.Channel := dmConexion.Channel; + ROLoginService.Message := dmConexion.Message; + FEmpresaActual := nil; + FUsuario := ''; + FPassword := ''; + FLoginInfo := NIL; +end; + +function TdmUsuarios.Login: Boolean; +begin + // Intento hacer login si el usuario ya lo había hecho antes + if (Length(FUsuario) > 0) then + if Login(FUsuario, FPassword) then + begin + Result := True; + Exit; + end; + + // Si no funcionar el login anterior o es la primera vez, + // saco la pantalla de login + with TfLoginForm.Create(NIL) do + try + if Assigned(FLoginInfo) then + edtUser.Text := FLoginInfo.Usuario; + Result := (ShowModal = mrOK) + finally + Free; + end; +end; + +function TdmUsuarios.Login(Usuario: String; Password: String): Boolean; +begin + // Libero la información del login anterior (sesión, etc) + if Assigned(FLoginInfo) then + FreeANDNil(FLoginInfo); + + Result := (ROLoginService as IsrvLogin).Login(Usuario, Password, FLoginInfo); + + if Result then + begin + // Lo guardo para poder reconectarme + FUsuario := Usuario; + FPassword := Password; + end; +end; + +procedure TdmUsuarios.Logout; +begin + (ROLoginService as IsrvLogin).Logout; + if Assigned(FLoginInfo) then + FreeANDNil(FLoginInfo); + FUsuario := ''; + FPassword := ''; +end; + +procedure TdmUsuarios.SetEmpresaActual(const Value: IBizEmpresa); +begin + FEmpresaActual := Value; + FEmpresaActual.DataTable.Active := True; +end; + +procedure TdmUsuarios.SetIDEmpresaActual(const Value: Integer); +var + AEmpresasController : IEmpresasController; + AEmpresa : IBizEmpresa; +begin + AEmpresasController := TEmpresasController.Create; + AEmpresa := AEmpresasController.Buscar(Value); + AEmpresa.DataTable.Active := True; + + if not AEmpresa.IsEmpty then + begin + FEmpresaActual := AEmpresa; + FEmpresaActual.DataTable.Active := True; + end + else + FEmpresaActual := NIL; +end; + +procedure TdmUsuarios.DAClientDataModuleDestroy(Sender: TObject); +begin + if Assigned(FLoginInfo) then + FreeANDNil(FLoginInfo); +end; + +function TdmUsuarios.GetEmpresas: TIntegerList; +var + i : integer; +begin + Result := TIntegerList.Create; + + if not Assigned(FLoginInfo) then + raise Exception.Create('Usuario no validado en el sistema (login)'); + + for i := 0 to FLoginInfo.Empresas.Count - 1 do + Result.Add(FLoginInfo.Empresas.Items[i]); +end; + +function TdmUsuarios.GetEsAdministrador: Boolean; +var + I: Integer; +begin + Result := False; + + if not Assigned(FLoginInfo) then + raise Exception.Create('Usuario no validado en el sistema (login)'); + + for I := 0 to FLoginInfo.Perfiles.Count - 1 do + if FLoginInfo.Perfiles.Items[I] = PERFIL_ADMINISTRADORES then + begin + Result := True; + Break; + end; +end; + +function TdmUsuarios.GetIDEmpresaActual: Integer; +begin + if not Assigned(FEmpresaActual) then + Result := ID_NULO + else + Result := FEmpresaActual.ID; +end; + +procedure TdmUsuarios.CambiarPassword; +begin + with TfCambiarPassword.Create(NIL) do + try + if ShowModal = mrOk then + if CambiarPassword(edtPassword.Text) then + Application.MessageBox('La contraseña ha sido cambiada correctamente.', 'Información', MB_OK); + finally + Free; + end; +end; + +function TdmUsuarios.CambiarPassword(const APassword: String): boolean; +begin +{ if not (ROLoginService as IsrvLogin).SetUserPassword(LoginInfo.UserID, APassword) then + raise Exception.Create('Error en el servidor. No se ha podido cambiar la contraseña');} + Result := True; +end; + +initialization + dmUsuarios := TdmUsuarios.Create(nil); + +finalization + FreeAndNil(dmUsuarios); + +end. diff --git a/Source/ApplicationBase/_Usuarios_/uLoginForm.dfm b/Source/ApplicationBase/_Usuarios_/uLoginForm.dfm new file mode 100644 index 00000000..bfa1641a --- /dev/null +++ b/Source/ApplicationBase/_Usuarios_/uLoginForm.dfm @@ -0,0 +1,1099 @@ +object fLoginForm: TfLoginForm + Left = 790 + Top = 387 + ActiveControl = edtUser + BorderStyle = bsDialog + Caption = 'FactuGES' + ClientHeight = 241 + ClientWidth = 385 + Color = clBtnFace + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -11 + Font.Name = 'MS Sans Serif' + Font.Style = [] + OldCreateOrder = False + Position = poScreenCenter + OnCreate = FormCreate + OnShow = FormShow + PixelsPerInch = 96 + TextHeight = 13 + object Label3: TLabel + Left = 24 + Top = 108 + Width = 39 + Height = 13 + Caption = 'Usuario:' + Transparent = False + end + object Label4: TLabel + Left = 24 + Top = 138 + Width = 57 + Height = 13 + Caption = 'Contrase'#241'a:' + Transparent = False + end + object Label1: TLabel + Left = 16 + Top = 72 + Width = 94 + Height = 13 + Caption = 'Inicio de sesi'#243'n:' + Font.Charset = DEFAULT_CHARSET + Font.Color = clMenuHighlight + Font.Height = -11 + Font.Name = 'MS Sans Serif' + Font.Style = [fsBold] + ParentFont = False + end + object JvGradient1: TJvGradient + Left = 0 + Top = 57 + Width = 385 + Height = 4 + Align = alTop + StartColor = 2971346 + EndColor = 4828405 + end + object Panel1: TPanel + Left = 0 + Top = 0 + Width = 385 + Height = 57 + Align = alTop + BevelOuter = bvNone + Color = clWhite + TabOrder = 0 + object Image1: TImage + Left = 0 + Top = 0 + Width = 385 + Height = 57 + Align = alClient + Center = True + Picture.Data = { + 0B544A76474946496D616765F6750000474946383961C201FA00E60000FFFFFF + F5F5F5A92824ECECECEB743DF48545EF7B40DEDEDECD452DEAEAEAD0492EDC5A + 34FAFAFAF2F2F2BC2A26B02724E5E5E5E26236B95B55E1E1E1F8F8F8D95532FC + FCFCF5D6CAD4D4D4F5C8B5D1B5B0F0F0F0E66A39C23428D65131EEEEEEBCBABA + FEFEFEF7B192F49366CB938CD34D30C7726AC63A2AE96E3BC7564CD26958EEB5 + A5F9E9E3D7C5C2C93F2BE46638F8E1D8D2867AC9C5C4E05E35C03027B82725C7 + 453AE79A89B9322ECBA59EF7A47BFCF4F1FCF0EBB93A36D8D5D4B44741BF2D26 + EEE2E0A22925AB3934A7302CFEF8F5FEF9F8C33B33DB5D3DB52724B12E2AD251 + 3AD9CFCDE47D60FEFCFCBC7D75BD2C26EBE9E9D6D6D7FFFEFDF7F1F0FEFBFAFD + FDFDF3F0EFE8DDDCFBF8F7DFDFDFDED7D6D45A43F4F4F4E0E0E0DADADAC94E41 + F9F9F9DF6648EBEBEBF1EBEAE4E4E4D8D8D8EDEDEDD94E2FD95738C53729EFEF + EFFFFFFEF3F3F3E2E2E2EBECEDE8E8E8F7F7F7EFF0F0CDCCCCF1EEEDE7E7E7F1 + F2F3F1E8E5E76035E86B39D1D1D2F2F3F4EEEDEECF3F2AD2D0D0F1F1F12C0000 + 0000C201FA000007FF800582838485868788898A8322173C5300919293949596 + 9798999A9B9C9D9E9FA0A1A2A393560C717F6763670D710C56A4B1B2B3B4B5B1 + 8323B887B982BC05BEC0BABDBBC2BFBF3A193046B6CCCDCECFD0D1A50C011F70 + 1075636B6D71161621E0D2E2B4E02156E7E8E9EAE5E3968BEFF0F1883A8D3BED + F7F8F9FAA2A601677513DC9481A38D5B180BB0F629BC64C502030A7102489C48 + 31401C0A0713EA3336AC23C78FC10C8504590CD808643C16AA5CC9125AC30003 + CA68D1E265421908633E18D4D8529F290A5DFEAC3933A0A8D1A31FFE707BB54F + 9ED3A78B4624EB49B5AAD54DFD621ED8BAD58B9B6C6B5A85796525C4D567211C + 024D05A70E843270FFE3CA850067C0862EDDCAE283CAB76F2F1130CE0A1EDCF3 + A556AE5D05D649F0A141000A0C2C10B665254C805409EA947133C18BE7CF9E27 + 88BEC9F84F808366DBF95DFD54C785296C26CB9E2DAEDF3F2D880FCCD4127031 + ABC7DF688B4A4BA1CD87CC9BBDEC5ECE9CA6CD3A701ABB4A2D8EB5F577272F14 + 7122BCBB77592FCF40505ED38D4037CA0FD88490C02EDEC87ABF33B410A6CB86 + 319A95E35E0E9A79D7E78C75414170D22462006B072A9260010B1E825211B1C9 + 27E18498D8564768742590001C654C3053796580F51E4F1486704A030370881E + 6E5B3967DE8B9C75C6E287E6E1F44737D55DA7E32E52C1C00377140629E44B1F + 5CE8C5408DB5B1C6FF186FA597581DEE0D489D7CE05810C006097488988B37D5 + E1A59710BCB5998C5B0EB4018ED10CB2608387ACA9669B6F1AC2A6200D9E944C + 1542E639615A71AC0107676E24D0401861C4A1247E7079A8DB04741574DA2B53 + D26662351C7AC11588D02530C651638CA1615B6FADC8951603AD110042D0ECA8 + AA21F4C050849EB07AC7E7067FDA344617AF3864E8922A5ACA9B798B49170689 + B3595964194E6AE14686037CB0C6061BFCF107B46B7C4094A76D71C6E2015E45 + 776AA4B53028EE81E48E6B6EB9E89EAB6EBAECAA5B0032F6C42AAF6CE650F047 + 029C95716B59E09862E87DD7ACB8DBB28CB502293B839913C01A00EDC75B8839 + 6DD0461B5D54D445FF1B0D48BBC150F84140E6568C7E100003E0CE42679CE29E + AC72CA2C13E2A69C28BFFC4B062C4032EFCD67D57B6F876524D0C637E5985868 + 5067B4D5A1AF006E13471C631178D5A4D6B871E9570557BCF4D5584B74710319 + 7F304002A1A6A76C1D67E04AAC2CEBA6DDEEDA6AB7CDEE0880155132CE742B64 + 4E180D8CD161A07F8411B4390D3D74D97110B8B15F4D21367B1744929D654535 + 855BAADB57EE5D440146845E0ED1D25A6F3DED0763043CE3047588EC342D32A7 + 1EF3EA2BABDE7A21705FB083CD75D7BED0DD79EF0DC70614F0FB779510357046 + 669CE977A497496D70EA3973EB034E181B5CD8E29170B0C27464D833A03DA161 + 5C1E5144124DDCC0FF50C46F1B72006793E2F6FA6CB7CF3E8376C280A7EDF43B + 5F59DE80C2F147EFBF07AD56000D009D8A6612104611447990499FF318D005BD + 4DAD7AA6699A37B497BDED758F735A9B98508AE6B119B9010E6D600033DC47C2 + F795B05DBF004CBCEAC7C271E82C4B36D1DFB0FAF7B78614AA0DF7A983E166C2 + 2D0336E6348D5B8905FA0410AE7CE50C6D78943796C8C4EC656E7301B818C6A6 + 95A20ECDA80C1FA040F3426100727591415FECA217C70846328AB18C683CA31A + C3C8C60421830555D8620BE7188B17022A017DF31D0DFD770AE3802D39B8395E + 7BFE2020F8C8112DF6FAD37E488744A631511D4C748805A1D805298EAF8A8A52 + 8FA098823A137AF2FF84EF938AEC8044C752D6C28ED4CBE31EFB674343798D43 + 1EA2498D08B28611EDE3710340CFA26C3432F8A80392137448E6302845A1202A + 3D5E80C0194676484E88F199D08CA634A749CD6A5AF3406F7442334DC9CD4CD8 + 312078E4DF2A69D89038D80793DBF20A4E6A09996DD682017FA8038B8E84C791 + 2D9179BF4B47301930CCCE4D917002FBCA1AE2A0C04FACD18C6D7C661ADB5846 + 851E74A1647C1760E2D8CD8A0EE77E7A0BC8EEC4394E1AEAAA0D7F48D15BC8F4 + 1CBB180452D2A8D707CA60C4D201311DE18844D0F4E910615E302295C4D80686 + D7416EE9AB0B418CC535874AD4A256B309B1939B4597FA0913B5610085FBE099 + 80D651720AF3321CFFD4A52C43543057147416698189D474D3B31BF9D27792A8 + E1399648C10B4EA498A0D321D2E0D00092CD62A80DB5665EA3B9D7315ED34E3C + 981F5307EB4D6A14893375182842AADA51FA5C89A7C85A0EC174E2557E35E37E + 7FD28D17C8862B6FA023A6699DE95A9DE8D6286A7028D798408B20B0062DBAF3 + 12468DED350920DB2EC68E07AF252C37ADE4A70EB974B1E5680842F458557F01 + 10A05A7D4E4E4C33A0F8D462880CF350B74CA5BDE15A76126A156E5B6F6A5A9D + 2EA9702C2AC319BA91DB4AD4F6BCE8856613DE958C65E8F6BD941822AD6A643A + 3DD6D4908CED9724E320BC3F1A6F3D1004627931C140A87AC85666F52C5AB12B + 5AE14AB27B10C9A0FF7707A0C3F00E6079B230006D69DBC50D6B588C1CFEB087 + 3DDC611183F8C4252EF1884DCC61418820032B842F7CE5ABA2D2E5858FDD1BCB + 59F36B0E6AFCE1389A91116E7CE89883004D1661F843A5C666BDEA02371CF944 + 075BB7E73D9C8A6F5A458BEC017AD686616538BD6046EFCC5820E332D31858A6 + 7A725A0A15458B60E460F935EEF83A66B84591E60C84F4EA80654AC458226929 + 35C52739D7BA4F7E7A4FC219DB29D814C5B7016578C59066B1A4493CE94A47FA + D21A7E5760CA3CE385C132B1372E87430230C506546C2CC4EDE85A2D631CFCD4 + 994674B10B70F61C02C8E9E7834A73B2A0594968D26ECECA535474E494B5D1A0 + 8A42C5964671A59FFF19624C3B7BD9AED90EA7757B0A3F2156B17AFC09A9B996 + 448BE878B83C1EF5A13453BC992CAB2E7771A47339814B99F83401E9A6A08279 + 4DE8094E929853FCDC31790307C53E5AC3047836A4039E6C81175CD23D8AF1B4 + 2DCADB4F635BB4DB035F4EAD0619AA325698FFFA5A937AB82CB018ECAB94C065 + 9D9309EFF74466DED9AD3705F9595AD3664CDFB0E44D624F250B83DBFCE037C7 + B401EC54B3853315BAB59AB99A67EA0D88943A89154FB5AA1DCB96CDCCC82B8B + 61E7E932D1EE40B227DDDF4679BFA43CE57B5B248A9E839600AD48BA818A3016 + 014FBBDAD7CEF6B6BBFDED708F7BDA33AD0357F97CA90DF7ADC8E0CC4AFA00BB + 62DEAEAED2572938FFCC846DC8109398120BFAB8318CFCEA492494BC7FC9757B + 4F32C219E4DAB4381673D2EDBDE638C739C1731EFAB96F185E7767781CE67BBE + A1E7F3C114907012D5CDE3C059A6BF3A8CA55706D255D4540826EEA6A7D2DEAC + EB5F36F1C1C394F895A935BC20CBDCEC35DFB0DCA74FFDEA4FBF0934A35DEA4B + 69255AF9B66C9149F9EBD90CD23F985ADDBB2E2E35C6879C5806843461111055 + 430EFC4022C93197D3F1C969CA56E473B7BB2FB7316BF03572C56FFE86760067 + 7D6F97806AC780D5E7806EF72E8EA07DDBD74267B62C03D06516471F97835F7C + 14619504786EA63DE9B74A0D113C4BE2162FD2195F511711E40D911207671059 + A4024178917FD813FF49FB847C55F65657B6795E03362B22558E867628A08048 + 9884D6570037A01D15C87D57A222109081A8D12FAC766A7C07380F86535CD300 + 919785E3245C37948280541EECF11B45280914B006E3616E5072176E26793535 + 6592644110F63D60873189B606D522528C465707117D4A388884E8765291124F + 38471738851A185CF5C135155371E0564382536A9168649FC558FE72282AA27B + 93A53C19010EF6822FCAC128091016166139FA775F2BC7723DA87C9A472DD6E2 + 6AE9F1539C440A697784BA4800BB1870BBF88BB9188CC07884BEC88BC6588CC3 + 688CC4788CC6D8042BA00C7B9688F2D17D52380083627182D33912E14816D72F + 86063E60B78D4D33FF78ACC44FA4B60129927B047413E85648FD502407767FDB + 781192D78ADB75875783681AB331D6E25FBAA14CE4258885389085C85E3D278D + F473668C628DA8165C6A614E2FC70D151765B60791D2327B1E585CA660196C01 + 5E1F723CD6C83496315FDC423984348F98638FDC838F5F977989C68F44912D81 + 9458FC5373C97893CA989338B9933AD9933C8902B1333B08693B79B7906DD05C + 35E4585DC06D78713D5AA75F43833114231190B17FE4F83B82A368B9E719BCC1 + 1E1F102DA9504434C11EF13711AAB8924FF48AFE148B02E83588124B811242D1 + 28093FE99376599778799739B9732BC002EE35947BA209D4C0309CC18849874F + A3555A527489DD68FF0EC28479175349DEE67A7B143811114088821EE5E12570 + 902D92432A64A3148077359A539ABF068E79186C02C831FED595E305729C8002 + BA289BBC489BB2799BB6A98CB6899BBB398CBD599BB3199C3AF99B06904D8029 + 2169815296C05BB937850D7098BFE48DA7B094D2E218B4D777A7B06DE68717A1 + 587B9B0864A2F291FA712964A91466499A55C639E09853CBC787D51284CE3736 + BC339774099CF6799BC3299CF8B99FB9E99BFAD99F77999BA2F42AC759155562 + 68E1175FE6F41E30580AABF727CB320609E66043D74ADD6535172178BFF3908B + D994C437898D359214A64BB9911B63A30D5E2899DF9335A8C99E7A382D6D398B + A9B51F7C1306B580FF021C709B392A9B3B8AA3BCF9A33D1AA43FCA9B42CAA33A + 3AA448BAA34D7003198088055A1816B01677E16593C00028E228542A09780343 + 3D038A27F748BED36B6E254553994049F998C056A61919861CC9247556A28861 + 130970061233956679A76F65499AB779EE491442283603D137378AA4848A9B79 + 50A8889AA8B279A885CAA8F80937CA40814F7A0FFA959D21D599224322143083 + 54231D7016066DC024726A2A46765F73F894BA426AD5F985D6954F82439DE699 + 74C515A541E16ADB322A3C444067182D14238216C39E5D282D7CFA01C44A805A + D2225FB17708330A2870A839EAAC43CA017990A3D4EAA3D00AADD55AADD8EAA3 + DA6AADDEFAACDCFAFFAD28600037A04293EA137EB794AF5438FA823E94100709 + 508A5C956B0801AA06D6A58FA25D3785119EF537180776A3498FE1478985B2A0 + 53D990ABA42B44F396255A1E99A42C671816BD9AA72EFAA2FB18A3C31373A3D2 + 2DBFE17BA370A820DBAC3EBAA8221BB2210BAE272BB2E0BAB22A5BB22E6BB2DE + 0AB3204B004D8012E78A0F26B22BE9681E9EE10663E0AE9300AFBBB199DA2020 + 8592371ED3A5EA2649101199DCC82F34A53D11A68718D998A3F510E6346B093B + 9299F9315303266F0A75736A7EBD1A821373B6C17AB1EE692D22F5A61B7B6E9E + 0A9B9630AD79E0ACD3FAAD754BB7752BAD76BBB7758BA3772BADD41AB884EBB7 + 829BB7820BB886ABFFB777DB048DF09737DB0C8E89B5E3566E5C3101FB420901 + 900033627F6F282D5926A7CA137E81137B7A78834DB37F33C54F16E98581F794 + 5562195A3B7E00F40F6E8BABEBC11803F8279F79676B40B667AB87690B2DD4F2 + 9EAAB021E005A72D628ADB604FD7C5097B0BB8D92ABD2DCBB7E17AB8899BBD81 + CBAD843BB879FBB7897BAD742BB848957D91EB0C9B483E2AC8955CA91E991BB4 + 9CFB213CA44E9D89BCE8A1B42453A9B147A695B434B24A7458BB9E80F7BF0EC9 + 4F60080E0FD106CD47A25B22B694456AD63635B19614E6E785E2B3A7305ABC6E + 69349DA1BCA30220783622DBC401824BC2E36BC2D88BA3283CBED34AC22EFCC2 + 307CC2251CC32ECCFFC2D9FBC2742B064CE808F479BED370254C7234E41110E5 + E6B3402B0971300607661E42561E4CAC1CA5C24CAB4B7E2F676A8F6195C6C7BA + AABA9DD7195C30D53FF63A6CB73A39038167F6346AFF20393D341039F12CD539 + BCC5FB9E5F932D99A459EDBB255B856E40D409835BC3348CC37E4CBD33DCBD28 + 2CC8E3CBAD30DCC785ACBD0400A990EBC3A160999791223BE4C45F3252CAF2B3 + 24120703D0195D022A961BA7D91041F855BA10D985185A8F43F73F541B875669 + 82E6D027E361A29BD91E08848D5D10134E529299B20ACE42BC7C48ACD6722D1B + B2BE1F2C10712164251A43212CAB9800C32FE0C2D1FCC2D15CCD1C30CD892CCD + D98CCD896CCDD47CFFCDE0FCCDDC9CC852A17090EC0939DB6A01632900D6C63C + 851E46BCC99D6C8A67C087452357261AA14AD39D930B82C13B954E996D68EA83 + 033CB05EECC5D4201EB72A4B5E699D19690589842C88B17BD840100370066740 + AC185D149E52CC983CD1A4010799A18E25FA30B1868A817809355CCD748BCD2F + 90072F1DD332DCC2D23ACD2DFCD2248CD328ACCD83CCD22B7DCD341DD424EC8C + F273CEA0D00F58D2418BD433CD62C5C22357F1FCAE9D4C39D659BBB0B4CB0F83 + 6E5F18A613B4BF2F679E4E794F90648EF956B5509B898193CBEE7629F7A7675E + 0C347937C666481722AD219FD2166E312658AD5C191D84EBACBC0F132CDC3075 + 9100CED67CD82F70FFD886BDD88ADDD88CFDD88E1DD9906DD88DDC5E46AD09C9 + 197BC2C321CE0117D01131D60914BDE5159A2CD535027E3604C4A06245CBCB7B + 49C19D70B6911171C1002DB020DA63FB7BB6A95CCA95DA402C352A519CD232E5 + 984053195D600D1D52C78B621E7011266112173CABC69A756E110384045838CA + BC25BD911306D1AF9110D3860DD3300DD432CDD2E52DDEE61DDEE75DDE8C3DDE + EB4DDEE81DDF2F8D02632658975D0910DD05BC02480433006E4CB678416A5143 + DA471C099C5C9819787639DB001BE387DA4DDDB916A615E9724C99A193385A18 + 37DB67EB48FDD2DB50F574CAB43C910238CCA32B01C4C1632C9EA2D1195C29D7 + BD51175F099602E8FFA779DDC1B42C1067C85CF90B0089DDE33E5ECD3F1EE442 + 3EE4428E07441EE4467EE43E9EE489CD0162B0A4B273DF94D063A80055020375 + 63A078FE04784F8D2C511DB4B9444FCF6916C411997356800D9C78B06D5D6278 + 99C26AC51FAA6050AB942F277F1D0E38090D01A353077F7076534EE2BD664EE8 + F847CAEDC1266AD204F195C2BAE830BAC1E4369EF9FC6752C2E390EDE3938DD8 + 3D6ED84DDED896FEE38CBDE9950EE48D0DA9042AE5FDA0248B6667BBDA6D5B2E + 116109CFA50DE6F78B47DDF010F6E12C4AA1536DAB5A710A313FB478072ABBFF + 9CCA984874DDA3351C6E0E5B67250ABDBC7CEEE77FEEC5AD74EBF65B3C907EE8 + 5CC22C8ACEE88B2EFF8B03802DE466E313FD4148E465446EE411A0E43E9EEE4C + 9ED8E97EE4EFFE02ECAEEE45DEE3F1EEE36200376466EA96B106C4E37E7441A7 + 162CBCDCD66D61E9E5B18EC4B924BAE1E3EF6132CA6E765CFEB8B1A4E1DFDC09 + 5CDA157BDAB99D93C9E6146AC018DFDBCDBE28A056506F9DAE97143A5E021731 + 021A35F17E5DA22119FD2CC45BF3367FF3FDA882294E3D53C5E3F4FEF3ED6EEF + 4ACEE4F7FEF3F2FEE345FF026240004CBA03F67DBEE5F4D42BA24ED920315696 + 686FDCAB2105D5096FE0613E10FE1D573BB490CF1919470B6447B32D59EDDFF8 + 7756A69C6FAE2BB0BAF6D68829F27A3E3DCA0454F864094949C51B10841E2D26 + 71F1F0D04110190DFF96177BF3C44BB6130152710548131DE2221401949FEE96 + 4FF97860F9F24EF947AFF99EDFF99BFFF9A20FFAA35FFA9C7FF9957FFA2F6000 + 8D805B903C290EBF43E756CFD639DB19FCC6A61614234AE09A1AE61D770DC7DA + 158C6864E6784928FEC15C85672735E7D948A6B53D8E0D165C760FE2542878EB + 165AFA6B5A42E196D8B221F55BD79BD22C347FF3EE59FED0C2F859E3F8A1C3DA + AB7561937FF4E84EFAF21FFFF42FFFA31FFF9A8FFFF06FFFF30F082F11828483 + 2F4D23193046008D8E8F909192939495969798999A92210C011F756E135A5E6E + 75631B017161AC716D1B6B6B1B1B7FB50D0D6D6D7F03A1A563015690140313A5 + 6E65A25E5ACBCA07FF1310630D141656160C14715D7F6B6370651307E107A46E + 1009037F6D710C5621EED50C6171015D6D0DB56D5D01610C16FEFE5602B673F7 + CE5A973310B4842305ED4F1C0AFC0086A05430DE3C7B7F60ADF9F0E18C478F1C + 39C69235ABE4AC912669FDC1A5EA21056CF3B47DF0062EDC843A670230001021 + 029E9E83800A15FA7328D0A246870AFA895450D2A34F813AF549B5E9A11B1958 + 4CDCC4B5ABD7AF6031596170B0CE282F65CCAD51D70F9EAB35673E90ACB532D7 + 065E6E7C017314C2429704CABC286356AE4E9D325E0EA08D368DA0356C0DD60C + 800321AFC28513CAC019B3765F3F6AFEE2050860EF563E5510F97D1618B0E2C1 + 840B17FF6999BAADFFBB4915E58DAE77EB1EDDDFC06BA59C05DCB4BE380F5929 + D7DD6000849ACE20E4B4C0B350A19E53AD4B0D8A9DEA54A14BB907FDAE747CD2 + ECE6C3BF1053002B8F2961E3CB9F4FFF91A733A148693EE390C2E7D0714416D7 + 5CB6D88557290304F0880571AC019B385A9493C007198D5186425E40238D05EF + 30E0E1451B9C91C061A340E886291336A08A87A079A81B3DB9C4881A8BFF0814 + 42357E21741943633884DC8F10D9B61524EFC0130636BB95D61B5DBE05579C69 + A78D06646AAC20D9007E6E8873D3073AF1141550337C09E6984285696604613E + 75669A62AE19159B623471C3053BD467E79D78521407288369B64617FE59139A + 870108281781E9BCFF32462F6EFC124C2771FCE18D388AEDE7D0350D24E00686 + 1AC601DA3FFD30709164245E160E5AE69CB14117AB78F8998B17F9D600ABFE85 + 5A634006E9185B43AAF42A6590D4DCC6C98DA1C913533D31C6D8DBB2CBC6D8C5 + 712D21F7D2B42F2147DA95A168090197D419C566996D0EC5A69B6782DB53B962 + 9E8B6652E86237C20A2C54015F9EF4D61BD68D61487A969F3A718823A801C275 + 2881B770D3CB04094803D94C88693141399BADBACE8D1464BAA962100CD04018 + B70AE48F3C6D70E38D28A64608C16614D24AA30547C2888B3E41BA2A288E64E9 + 3A4E863DFEE82B6DA1B64611B1F1C0E4EBB344174DF46848CF3325B5D52A4DCF + 3D586A59C707EB78FFB9EE0C58839935D6E45E3D66D7E8A6C935D85E8F5B369A + 5B93198118EFC66BEFDB7067D249176324845602A944F40FA86114FAC1000392 + 444BC175E735011C6B34B0C1A21034FC0C1CFCB11A915B7F68AAD0963AFDB777 + B1A4DD35E237A67A91591D906FD0460081F23DCFAFAAC96C6B185D38B723CEB3 + 396DBB4B930F194941D65469ADEDBD02FFE3F0D2BE5425922E678497B6DC0200 + 76516B420F261E664AAF2EB9D2574FF60CD4A3097DF7D1878DE60B2824B28313 + 71A7AFFE820138378A66798726A8FCF234F077E07311DE4B86708C5813397540 + 876770B5390A54EE626E401CEA6CB51A8F89AA0B91E9C6371263A2930D2071AA + D05BEFA8E5AA0E5AFFC3456D90DDAE7236BCE0052F3912A9C48D681634A6C164 + 692E8409D3ACC59B8CC4627936995AD5C6C6C31EFA906B0BF821108548C4221A + D1888398539DD6C744B831E00F6611CCD432C7C25789C67E8013492C6641B8CA + 08E618DF50CC31EA9080CEF48320FF0A8827D600872C69017E0118D407A9E140 + DD6CA31B8D2BD1A9209680C8B50A541D0C64202910C207F1A876D69252D258C7 + 229FE166851F3C5E0C2739496B61A42437CC964DB61547E7F5106D66DA1A1141 + 89441F829294A62C222A45393602ACE0024568A22CE915860F34CC0D09F843EA + 04C5408BFCE16F0308C916556230CB086630285A4BAB3407AAD050A00BA000C7 + 1BC7D00506F2F29AFF4103D119E0D00B4A39CC1490FB833E34B8B750C5C35547 + 6A40DD66D710E2995078C00AD6CF08188F2335AD78337489F19A568F8CA48454 + 59CA21977632C4B105116B072DE80C126AD0853A3488101D22431DDA5084F230 + A2166DE844311AA715C0609620A5CF8D02009852D4610DFDB2E67F44F387338C + 218B0353C90712E0456FDE4463EBA06333551A8F10D621315A38E93A5824485B + 0DCA8E1FA81BE84227A10BAAA856D8FC203A03642176F6285AEFCCEA8F54132C + 611109922EB2E73D8987CF6A8DE6922839090EA3D33C2438D4AD191DA25B8308 + 578ACE60AE0FCDEB46EFCA35BCFE30A11855685C358A3502CC8911214DEC57AC + 90AF3AF0A8019E92FF1F4FE5D1D297C6458B321D515E2074B70D44D6633B2D6A + 002A77A103E012B22B15243683F6B4A4520674E2280504CC91B287341257E6AC + 5F5547E8239D094FABF16C8DEE1A81469A1D8FAC65155A3F35925658AC157304 + 8DA874F54A5D882E60BAD2BD6E7517AA5DEB6277BBDFF5EE7691202718F060B8 + 8A4D2F45EE038152283050AE23AA8B46EB52C05D7624B598694D17528E3354F3 + 5F922DAA6AB2C146706468006D9886548B2AE096E94244A1D02361C82897D34D + 8E9E165167696FC62B9D29F2C33B5B9DB41AE9D5AFE2369B649DE16EEE3192E6 + 3A57936CED6478C14BE319DB58AFDDAD6E8EC51BDE1DCF806D1E8DA57A874C09 + 2B18B08D111A431BFF22A2525EB2D4A563F888306731D36EF257A8D48187933B + B81CDFBD263119E2568019ECBA6265E3979FB34C6CD3B2190CFE51751AB66A6F + 7FA7D53AE34E48E8252E3DC5BAB4D5F106165A1CA65A61BCA5AA5DF7D0884EB4 + A217CDE8463BFAD1908EB4A27F7C0378A18FC8987E84153EF19C0C9D61A84D66 + 60DF2A6BD9CBCA651622AA4CC9CA70D238DEA897E8ECF2713780E4039421014B + 5E2D993DE8220AD0E38E3485EDCD463721D3AD02CEBBE5F0557D6B673B278746 + ED78E4892569D66BD9B0C52E0628F3645C631CDFF8DBDE7EA88FB34BEE70F778 + 011168820E32B0C44C67DA2F0340CC4DD6E0A9A2AE76D4501E807D43826A9A5E + ECCA2865405FB61CFF56E5B83040BC30B0503936E640CA9A155C065195857D33 + 700AB056194EF621DDF9DB8E9FF0D9B699A7719BE6B293607B382F0EA833A6B8 + 93485720D12F6774CC1B3D7345A7610133AFF9A2757E7344BF5CE78A8E799C44 + 004B77BF3B53C540982E172C5F733E790C2FD537480E95EA7F8FC31428F597D3 + EB69F0694D69B4BB3DED3AAAD8E02E37FD1ABF4E6A1DBCC8D4542112321AA71D + 5641BCBA102F5291D2E2EA40F20C80DC200982D76E31CA07ADF267344FD2397F + 34D0612E699C377EF190AE79BA5F2964A3ABF78951BCF5C6984E5427E31BEAFA + B66FE0B6F99C92615D27402B38B55F38BC2ED01AA8D2F92FCD38AFFAE538BC65 + F5904CB0A1438E93FF7D4045C889336F39DE6C8F2B2DEFFF89F6B0E0E16BB49E + 7CF029971AD55A7EDD9F3BBEFA8EB7BEF6B37FE8ED637FFBE0E7BEF7C54FFEF1 + 875FFBE9263A622DAF58066CC0B1CF4030C3ED2D6AFA823EF420B9214DF578F5 + 56FBEBA8AB4756C1134265601370B0010AA66B82F470CAB180BF06619B052137 + 710690552871D76174667CEF94816405715D352C2C431A81E76283A76D9BD43C + 89677DDF477E2B787EDD577EDCD782310883E64783E2D751305005ECA75861B0 + 0617620A1FD0051CB36BB9657F51877F973519A56722AD26705A564F5E477CC7 + F70966310E65A06450554EB4C78010175FD8F060BB4741B6964BFA207CCA3667 + 1AD871BF835CCF06FF1003F108F8F26BCC458225F85C3AB4131590873FA7877C + D8877E88737908887D28887E58887A48888768888A18888B388815D05117A083 + 3B08523DF8832C477BF1F574472875494819FC1721FE472C527524C87577BDB2 + 0109704B5323399A43665C6876BD267123F21CE1804B7F62811B764873677774 + 172D6C986231F381C4C520BA308782067D84B76DD491888CD88C7BF88C82188D + CC088DD3288DCE8888D7588DDA988D798883F332894D544B9B9240018789F1F5 + 799B28751CA1849F787A4E0848A4C86C4E8334A3F14B48162165A40EAD43845C + B71C4CD385B1385AFA951887B31610748124248FC5F78B0CD9861F6801CFB40D + 98858CC361822B37FF7D00D0881AB9911CD99179E8011E19927A485E59B17EE0 + A83EB58418706445F4E721BE466AA117931E8147D0D17F59278AC5F24226448F + 4803418B535A37254EC1032CB0D68F5D472D0D1856CDC746595290F96086BAA8 + 9069D890BF683CB7252AAFB011C7489198F45C9CB48C22199662399664C9876C + 931527C944E2D85929B56B1FF492F916939C884756078A01879339093C3CF92C + 30D25266E1306A810BB7A03245597B47394955828B0E8338A70395B423850B49 + 950C591B1F532873C89515698703050048F091150092A0F999A2199A208906A3 + 799AA4899AAA199AA6599AABF99AA9199BA7D99AAFF988319015DF98966F9392 + 77331BFC28557079FF7F72191767A08496B10C40E86A00E64C3B438F4613236C + 7421110207BF07412F831A49B980B2462D4B032BB1F38378A30F7F8090885477 + E6698AC7279993C90FF2A00DCF87995D49685F0900068004B4299B20E9999E89 + 9FB0599BFDC99F00FA9FAF9906727201EFA19B70B396B7E61043E8962E698431 + 197503E35AAAE6302C87976F59773D5934C9E27AA9A80C98E367CF920FC7C155 + B7E78FDCA94FEC491A55854B42399EB9F898259486BEA89E6CC89DBAF09EF019 + 7D02553524600262900615609AADE901466AA46870A44ABAA44A3A9A46FA994F + 1A9B1E90A44C8A9F557AA5589AA54BCA0505DA6E084A4BB6D49B9EC18F0F0A93 + C3290BBDB101FA85FF0C9AC12D18DA3B896434C8922CBA9070A42054B02282F8 + 90416587A231D40A01808AE3984BF5489E5845A3E969A3C0F8233E29783B1A9F + 85379F1A90034D4000421AA0982AA0991A9AFBA9A99E1AA0041A64B9F9A576A2 + A078B30FE6285FC17984F9B701D7590F9E030770800E63B739A0E26BF4403474 + DA1BB9D052DEB00C6590132CA21BA5112579D7800CF8A7EDC994D3A4226017A3 + ED34A3C557A38A3A3C24D7A8748899165968D4C104931A036280A45A9AA554BA + A4E5AAA4E77AA4E93AAEE2CAAE53AAA5EBEA015C10031EB503A34AAAF3C19BFC + B28F44089709107503323851B262FE244ED3B09C471513749A0BCCA20B49D55E + 63B864AF428A4962FF1CD8A91ADBE942ADD006D1F44608360F302A67BB789E1F + 56AD93A95C8AE3A88FCAA32B476FC1E003DE2A02E0FA91E65AA52550A5F17AA5 + E57AB3EDCAA450AAA43C8BA53B6BB3471AB4430B922AD0362689AFF9FA01E3A8 + 400D4A666F09A1015B17039B9E2D414E9BE392AEB0ABCC720BDBB04D9B72139E + C50EFF62117A9A0E25DA3A198B94A27225A557060856A8D09A9019E86C268B5C + 5128822AFBA8DB9A31D504005F60064CD0021A10030430A4497AB38BEB01416B + A4417BB392FBAE8CEBB8963BB990BBA48F4BB498ABAE96DBB8930BBA97ABB9A3 + EB016930AF1EB5B44C1B1695088A41C8AFAEB8AA558B0BB9C0974A4325F164AB + 7C03234AB22CBF41FF65BFEA69D5341160652C73AA0F7C6A9862F5121FD21C7F + 19ACACF2AC222B955A95B7374A72399AAD5C69912615840C20055FF0053ED002 + 2B30B343FAB9968BAEA43BB9A18BBE9B3BB49BABBEECBBBE94FBAEE25AB9959B + B9F97BA42A50692C7069AB1B1FAD6B0AFE3584B0EB70C1194C5B640BB46BBBB4 + 11332BA5BBEDC9B0BE0B1C54F6A177B3311341409144B1F48871C96A956FEB3E + 68E15FF5988A720699C263BDD78B3C2CA6BD14699100941318E00366E0035B60 + B8E09A068E5B023EFCC33EDCC3920BC4445CC4462CC4420CC4486CC44ACCC43F + 9CC4471CC53EBC04FDCB6E9218C060E17E09117F09E62244D83291211225C1C0 + 0D4C8FC817C1BA8BFF76A5E12474711275937453D40EBA9B9349837146793C5D + 88709D167B208BC2BC35B2E8C9C22DBC3A2FBC95F0699152330018B0C852100E + 3ADC045CB0C4685002933CC98E6BC94F4CC9928BC9419CC9979CC99CBCC9433C + CA92FCC3987CB9981CCA9FBCC469A002AF745E589CC550241857B821E704900B + 380F8A6372C4B1120D8CBCB7CB64D764AB6807784EF24FCEB1298BB131C9C71A + 38B2BCFCFA8ACD4BC2B177C2758B869129C8D65A6D852C387EBB564CC8C81810 + BE3E20031A40024D900668A0004EDCCEEEFCCEF01CCFF23CCF5CA00222C06EB1 + FC15168074A5904BA0C675AE182B3634C650C2975202723B25C11761C1FF9472 + CB306FA8736100B6FF757D6A760CD21CED55C2D18B8AD77CA878ABCDDB2C34DD + BCB2C94829B1B1C8286D06E130072D80CE5C50C94E0CC5F13CC9F37CB9ED4CD3 + F3ACC9335D025CFA4AF69ACF5CE11716F23007F8CFD929607F07B664EC2C7887 + D046B5B56A9C11FE6412282119BF3A0E38711C10BC325A58D1491929162218D5 + 1CA87E7C862ABC8120DD67A331D2248DC8268D017E00D78BFC0507F0057E70CE + 31C00525A0007CFDC3ECFCD7440CD8ED0CD8EC0CC484EDD77B9DD8869DD8828D + D88D7DD890ADD88E5DCF4447057C07D4926001ED831819426FCAEB8A1ECC1B0D + 6BD08C2447CCC439AF50918267D588310E9C742CC89B8550CD60B2F621A425D6 + 5C320F1C3DBD89C4FF8BD40AD25EB7D6DB00C3C8E8D69482D23E80D21800BEE3 + 4BA953FAD88C8DD83E5CD8921DD9D47DD8D31DDDD06DDDDAEDD8DD1DD9D9CDD3 + 4DE0D3008CD99560057B921F9C84ACB008DA7F47C1657CD0C1684DC4EC0AFF84 + 6D233119AD1D549E950DBA50170E99D0B4DD85FE1007B46638ADA6DB65BD71D2 + AA86698D4F843CDC86ACADE06CD25F00D771BDC87A00BE07E0073280CE2A8006 + 7DB0CEDADDD77CCDDD7F6DE2279EE22B0ED92B5EE22DBED72D7EE28C3DE3364E + D82BDED3179005E67D09217064177285090671B5EDA028B61B4653C7C2DC647B + 139126876D5A3400FB87D59E85AB739A347AC353DA49230DF29709940A0ADED1 + D47B3B0F0EE1BA2CFFE1DEBCA3884C0A97E10617AEDC8B6C065FB0057ED00239 + 30022AA0CEDFBDE728CEE77EDEE780FEE7825E0290F8D33D8E1B61D0062DEACF + 41C28064EA3BBD7D34F330DF51B5524E8EDF211112935185FC0DC289640FFA28 + E05BC8550CC227D3D9DF647DCD679DA865BEB7D93BE1DBBB56DF541367E0E6C9 + 1DD7192E0572BE054C900324A0022AB004327EE3C45EECC67EECC89EECCADEE2 + 3D8DCF87CE099EC0275BC28A8E4EA6E8546D664C944D27559C93B21B91E9E02E + E595E1DA08182CCC2782B3B24B99E8703253EA09F14670503B01B0060B2E771E + E6DB65DE670BDDB76A2EEBE5E045F30E0107200518A007CA2D05CC3D071A7003 + 31A002C3BEEC101FFFF1123FF136DED330E004F7FAEC63D1007020D657A5BC47 + CD609E774FB461A295BEBB290BEE1CF1112EC54D6E54071B1006CAD717A22125 + 0C27EA528BDEB6849CFE4C60F51EAD63FEDBC08DBD684ED22C8B16FD93007010 + 028D35F0058FD271CDDCDE7AB8C15E020860EC57CFD759DFE25B7FE35B7FF560 + 6FE35F2FF6271EF65D5FF6CA9EF55C6002AF4405CFBE3B9B5652E4E819AF78C0 + 5F0CE95679F24F0D321299E92C3F93FE46EE32BF15A9D7EE5B4B70AAA5F3D2A9 + 19B5D305D1C9DB5399EF7BCBD62BCBBD81D90000606492E2056650F0C99DDC08 + DFF9857BB8E9FCF061EFF5647FECA7AF0067AFF5588FEC673FF6C4AEE33CFEF6 + 901006B50E9808E6FF1F756FED81D4C149A9F780746670419C2C0F3803D00DD9 + 1254F4D65545E2CC69AC8032A3F83CEF10A4C13029DCE0D5DBEADC5CF46DBD56 + 07D6C58D30166D001852E007B88ED2BAEE03E37BB826F0D27DC0FA0830FF66CF + FAF65FFFF47FFFFA0FF6F30F080A08820883868288878A898C8A85898F8B8B0A + 5C262B1745009A9B9C9D9E9FA0A1A2A3A4A00C1B105E5E6E097F710C61B1B2B3 + 610CB6B7B8B9B916B6B1B7BCB6C00CC216C014010D6B67CBCC03CECE0970106E + 5A5A106701B621DB00DBDE5656C5E2E2BFBAC156716765D565090D71710D6770 + 655E07F75E10637F01F0710100FF0504D8CF9FC18308131AA4C05060833F6B22 + AED940B1A2C58B16FFD70CA8E3E6DE817C03DA5060B06393853803BC489182A1 + A54B295FBE1C6022E3460C1568FA3482246967CF9F3E83027534488150A15C54 + 5CCA52AAA9D3A75045596893C08D970975D6C4A140AB2B2D7360C3F21A3BAC2C + 5906C792395BF6AC6D348EEC06741969C18AB710E0F28EDB6B76D7B093EA0E68 + 2933E65D803F63EAD4F3986FDFC17E90FF299C4C1921430AF002B4812811A367 + 8C1A3932D6F78E018B4C9A2C0480A3E58B143F2E639BF9C2A4C58D265C0AE9DE + CDBBB7EFDFC009F116FE5B3871DFC7811F525042298C2A53A24A9F0E8A9B5374 + 1FE092DEDACBEBD7B0E0FB921DFF975718641ADB0E18C39E7DB469EC0AC3AB75 + 0E6F5E707BC99DFDFF552CC0808E8DFDD1853CD2943141355A4CA00F3FFE44E6 + 6065104E7659669B4934D167186E105A47F86CC740062C1861D21E70B8F10506 + 7AB4E403062BCE465B0B39DC94131ABA25179C728644A29C8DC52157238EC6F1 + C645132BC02022754852875708D785D14002EB9401C71A018C048B77DF85A7CB + 7EE491074B3C1FA8D75E7BEF753458615D00D44517718461817DF7E5A79F7865 + 053006350A8EB1C11F1FD053861B6E4C20A81B0B3E26596411267AD084FF54D8 + 59869F8536C168856523820830EC50456A01AC5186192862009B8A6694CA0413 + 1AC49042097DE0E8AA0BAEEAD6AA72B0CE8AA3ADBFC11AEB6E955CB203934906 + DB5408B030E05408FFAA7D908A820394762596596A295639C100735E03618EB1 + DE98EDC1510704935AD36C005D6CB6411B71BC799F5E721253AD2D5D54A5851B + 758CB10C94135C05A81B7F2E589040900DA4E8C05B35D4286711411AE9461C7E + E4E108226400C31D59301942181B94E1DAA82A62208519F7309103092A7061D4 + AE28A7ACF2CA29DB30E452C2C61C0A5E14B4B14103FD70F5A628C83600872A6E + 4C19402DD076252D785DD20926B76324E0F4D3101828581D1F14A4590373BD09 + 679CEDD2C90B55074AE9343DF608A62FA01024B0C1BF87B64DB0A28C6A86F085 + 0A5FB4A1161D56CA400123E820C2052C44D74D1872D4F1851F29C6E631C83ECC + A1410E2670D16AABFFB52200EBE596675E88AD946BEE79E59863CE79E6A2CBEA + 7921BA22606BE8A49B9E3A022F3F27B8CCB40FDE406275C091C0191BA43B4A08 + AB55039248456379F4B4493310471B1F8CF9F4F3DE5A35F51F6EF6A2B35DDBAC + 8B5FD76315630BD8F3C2117DD91E993D413B541A8AE8DB89C6FD908575833680 + 34933A2CDFDE23F0FD370CA8013095E12B5A51C71667862DC0E8264B50C0E458 + C6C0063AD055B12B49ED6466052741C923F3CA4A1CAC209536B0E61E41A31243 + 8A67B4E36DC96B65595EF312D034E88D0D3E1F4940173868B1BBDC457BE1E0DE + 3818E0C149110A86E5C3E02AE07006AC59AD6D6C631F65260490F73D2A7E15D1 + 4802A691379CEDADFF0058EC9BC48A60310BD8010E0790428A38E6310C98EA71 + 2468C21254D73AD6B9B18D707CA31CE348C739DA918E2E23D2058E3441245981 + 01878112DECA879533B4A14A0C005637D0D28601408052FCB012096561C26905 + 03172A6CA10B75A79803C53000D5B1210E73989F6184E37B0998D4F9A8810F41 + B9D20BD5381F116F4690242A31424C44C6DCA09891F981AB8AAFC022DFF8A603 + 89F16007D1B10205DE700033F8C007645C49A97CD002DBC4C0649DBBA336EBC8 + CD6D7AB39BAD831D91B0C0943E524735F3A8C72031C8AF7AF5CE029BB042A74A + 543FC1D0CB901430CF246751C91392074C9B8CC65B0285B7098C01949FB061F6 + 70D8AEBA14C34970FF085735F041A86F41206A9E1CE2183E60C45BBE2D6E8E4A + 182F29A291120D1224A511A64A21664C3668220E6F3810A812F792D96CA13631 + E2C21AFBE0829E5ACEA7A1E3294F81DA53A1F6F4A83FBDDC5091EA029E5ACEA9 + 4C251D50A17AD4A62AF5A84B2DAA55939A941C5CA09CE67C0AB20270865404F1 + AC07A0D7075EF1C73864679D8C6145EFBAB34F5FF4B31C5E42C61904AABBBE8A + 4F1A5661C719E2B009851A766BECCACF29E3B0818806D10B521AC0199C3186E8 + C5B20CB91BC01A8CB83E8F4AC8607283DF4835C4304806337F59CC623133A589 + 10C4810E3F73A61F02C8A2DA9A01A724CB4D37A11A47A8F2D68DBFAD6370E538 + 5CA0C6D1A7080083FF738CC0C1B096825801C84E3DD15A3E7A0D604F1BD8C874 + 315848E2D5959277F58BB5E2F08779F0F5AFE2FBD6811204813584A1B036EC86 + 61192A8EFBA0A50B652D9B165421258EB6A10DEF4B4CA05C5986B49DE10F87B4 + A5672DD39026EE526122FDC31F367006D1E0434A6BE8421854CAE102AC96629C + 0223A860434633DE1646245B421FB25AD516BBF8C5308EB18C674CE31ABB7809 + 96B880049D3B0A740291BAE54B5081A36620B872571F6B6BD377C11BDE4BF6E2 + 300338EF5FEBF0ADC5ACC21DC66A6D7CB57C43ED8D432FE769EC3AECC92F387C + 402498F94717CA5BA0F50E51B33853F082FDC1C40169E889917A9484295C2276 + D6A18801E83087FDFFB645C12D5363A0EAD88A3EF685C63D4E052A362A516D4C + E9AA26D5D295CEF4A431BD04157895074EE07142C3815FB302F9D4A716DEF9EA + 90800C2B79C94DC68531BAB081CAA237BD54862156B49265C3764294A3144718 + 5488AFFD8A6DA3E8EA0E6634B386CA1679BFF4DADD9E123C67062FDBCEA2C590 + 48F734E10D1D79770D103487B598A94D01E01475686689F5009346A3EA062648 + 41534FA0E97ADBFBDE9556800A6ED002502B52D4DD20EF143D495D23A3BA7C57 + C9D70408E598672D993E77B51605BAD06C6F798BCAB9AB72FD58D1807C7279CB + 1F472CD726FE878D1419B2AD7E08CE0AF698357F20011C59EFAA13006736557B + 21A075E2B6236591FF3DBFFC97F7107266C53DE862EAD8DC0C58C323A1F94CDA + 7ECC99D4D4800914C8E217D31BDF34BE3AD6EFADDC1B64800AE606F8B9375087 + 7C193CE80B27DFC1E3FA27B37BE1CF557A383FC36B1E6263FCEE55969E35B051 + 971AFA3AE422C7CFC45FAE4E63C321C999015840B6020F9BED1586ABC06C023E + C00F39DF12A40F8EDF849BA718F209F9A27520FAB8597A9AD478F00B66800D4D + 4725852D1810725CB0411FE84D7B17D4FEF6B6CF3DEE77AFFBDEF3FEF7BE0F3E + F0876F7B1BA4E0064C6041A8456D8130FCE167059F79D3A6A1F654471BB0780B + 219BE46ED77E8E9740DFC2FBB7027B8009C0817AD83BAC75E4AB7E70288F7926 + F50886E7128634ABFF294D019950B96A0D17B447F666F8576D97B16C21453710 + A60C30576442C42F98257AA31731A7C1245310006FA0127E803802E4313E807A + 3E20031A90462A7602B3277CB97704C1D753B88782BDA78226988224486F2DD8 + 7B3138832FE80231E802CA950319C003FF664E71B006FD87566F07689AD12763 + 866A0952079AF5739372656B3312DC4777681100D93545E2D7497873266D9048 + EA771780274ACDD7057D223DF8403536677FB5544B2DC7668B710FE7A30F1FB0 + 0101C87897C74405688019224551034B70157969E3801D466E3C80741FA005A1 + D2121CF33130511B24106F36700290687B91780247407B952889B407899A6889 + 99B87B974889BB37FF8993F889A3A8899F488A9D0889A8D8752D1022CE750A10 + 70764107016BA5351640017F2048A99627E7D2066BA08B83A13605237711C70B + C4E62D1080777F620FE1D33B34D485D0B850F73586EB242EE8927869988D8B47 + 806B403666B30A10000763B006086679036387DD8667DA363F0A1844D0168E67 + 008882E637170003E564016B30011C382A192805E5474D230369F35683C4377C + 23F87B0749900A5990BA677C37B0022C1076B5435ED08756195435F0144FF1B0 + 5758F858F4A22709D60615563601D20FC41871CA5372C8A88C64A820559348EC + 178DDEF06BBC800CD4E81179E20ACBA68D3C994414470FFC1228FA923B1B558E + E6884B0D612ED916FF29CD430F0417646FA83B1FC06106204C55894557B952AB + 851A0CF0078FC41225E61227F6812A00069B789668898968B9966B89896AC996 + 7019977279966A797C10F92B1334063FF6581AC400CDD55ABC40728E345DE173 + 5DFF95263FC921F302010310490FE770DD271635F98B57B88783E40663D0066E + 22937F575880C47F04157484517987D2933DE90FCCF3344E7959E1A859D43680 + 04D36077485278A821679018ED8841C69636DA3295F228685AA463AD950560B4 + 3117181B8C8601EF1639AAA30673298ACFB9896FF996D1599D72F9962EF39011 + 3941DB15645A90151430935EA8097F845F25A20A43746087542E69928B0D9384 + F8C47DD122166120FF92D2107E1755060A382FAD4001E9C799F1E50D9F493FAA + 202857E60AD8689AA6999414011153044B41176D94774875D8787373213BA721 + 9C477E417615927706096395BFB9522CC5035C040030054662A43826764631A2 + 020AE002CE699D345AA3367AA327600360402499D28349726AF4A21519C9659D + F04736190DBAC33B58532E09861847281884D171F5279F73071EE4B511181735 + 4219A187F70A000A7200704AF3B4188B4965AD667301A3A03C7910F8E78B7A59 + 4F42268E1C9526F0C02895818E7796A15114264EE98E97C56A0310875833A244 + C75230C0031C244F09D04C3EC0121DB31207D06832B0028D287B338AA36B397B + 98BAA9D609063150FF24C8243340F69DBCD65C87255F39742D0DDA000DF05F87 + 79187AE97951DA265C517FB57A9260517F149718C9A8A54F697EBCA6355F6A1D + DB708B54480F27058782EA206AAAA692B115E482184027186F286D145A3006A3 + 10B0B93CE9A8A71A1A659DD7A11E5A2F1F50AE9154005599AEE8BAAEEADAAEEC + 8A45F4C803E449225ED068A2829C1BB8222D902A5C70A99BE89C007B0297AA06 + 044BB0027BB0015BB0086BB09A68B0098BB0070B89012BB110FBB00C6BB1D209 + 06267003C2193316990F6B65313179AAF1A43C02B126AEBA268851076AD70EAE + 30A5B62A9FE0710C253745FAB98C5938445422ACD933ACC80248D8E28DECD00A + 6BA286CD7AB4D8BAFF6CD29A2F8C214BBB538EED83A74B79671F709BD8D7A1ED + 54941236175794952A9595602BA2C2E437875A05DBF0834B171B19582A33912A + 2A900236A0B0131BB115DBB0764BB1189BB775ABB7030BB114FBB77B9BA34DE0 + 5554303B488256F7940DF0058D9C8017E3452E00D6066B16AB83C49FEF00B303 + 78AB8FA90B4598808002A16E9836AEC085DF701F8C5BACC3B6B2D47059678A8D + 8A77B40A8A106B66729E078E7000670591B909C1284AB9731151AEB759264606 + 59F502A250EB26EFEAAECA9BBCEBEA61FB13AA16F0071A4362F74A2ACEB4AF24 + A02A7D50B0DCEBB005DB01DD0BB0DE4BB0E02BBEE41BBE028BBE72FBBDE39BBE + E6AB06E5EBBEE14BFFB047B0A31C8BA8C182566520176160AA3E1B2753C89E93 + 6B6A505A185C91B99721B3B940B3BE64764766486ED277A3148D62BA01038737 + 9095366B70ADA509BB1EFC2F7AE5947CB85FD53AA1B99B668B52A707B3946B50 + B5D050266AC75E9317113863250C10B65829B6CDBBC35E4B6E7869055DF0482C + 729C8BC622FEB805731023296096E17B04F3FBC44E3CBEDD5BBEDC1BC54F7CC5 + 567CC55A3CBF7DA0B11C4B05F97B56B4980D12ECB3DCE0B8689178B743C06722 + A5083C42B86A3DCB935D1CA15FAB903B1FD0053059BADA038D7F347850C28CB2 + 745D74BA6CAFFBC1CD4A6760828CCBE87F728A606C92446FCCADA2F5BB93E51E + E2B38742D40E07C6FFAA88040CCCBBBCA29CBC5A042289A4A807202A34D512EC + 9656480C028D98024E0C041D40C5E45BCBF09BCBB50CBE54CCCBB97CCBBE1CBE + B6ACCBDF8BCB4FECCBBBCCBEDC9BCCBE7C04FB76013C78B867B5BFE84217FF69 + C6A77425353306651064517AC06F9CC0FB640EC730207C82ACF6A4C138B3990B + 35C1BEE6B8714071819CCE6626205693A6888CC899C12767B0A1EB64BB1B752E + DB18CE7293A7544B59EE01C37E662FE5C8159734CA101DCAE83A0225BA034EE0 + 5AE9A638FDC822CFB4AF4F206FBF4CCCC82CD2213DD2E71BCC247DD2254DCCE7 + ABD2BDCCBE28EDCB36D004F76BB85081B8AD46A1117CCD66ECB8C9C2C6DF6CAB + E1ACB9E31C0B9861FFCE0D60C1ACD418A55117A3D4C7BED656D812C8D5605D1B + FC18F99CD504A166AD6A93F404A1EF288E9B45A7758AC0DC9AA71171C94D4326 + 364B3E58B1519B353465110C06A0BC752DD1115D95862A41555081ACAC07ABEC + 315FB00518200339F00465790434A0CBB8BCCB8E0DBF8D1DD9BC2CD9903DD996 + 2DD28E4DD9992DD98D5DD99D9DCC36F0CCF23A1DFA3B255DBD15B5500CE0D0D3 + DF503365554FEDE0C6434DD493B49376F6070FA18B6F27A45DF6D4797158AAA1 + BACC784F0282D55A9DD50D3210F20073759C850BD79A1B6C73657DC0D14AB52E + 9CD0DAB21E30A7770A52CF354C27798DD7E2EDBCD0BC29AA1105AEA107B0D18F + 30E14C8EA3C471DBFF07CCCCD8235DDF986DDF1D7004F85DD9248DCC9FCDDF97 + 6DD226B86F194006CB77D367C50A9B25B95B6D253C3DAC7F741E810142EE00CE + B34DDBD0726DE6B2270FC1CDB0647E1BE09F4BE2DBEBA250E140010D30988384 + 15E3D220877CDC1FEC36F1CC194C988542378E58F3ACA83D6CD856B56ADD1E6E + A1189775BB020D71E381AE775DD7E99AE44CBEE44E8EE44E4E6E54106A0C7027 + 2772AF64542A2F12231210B71D40039B1DE6623EE6645EE6667EE667EECC3100 + 2212D914A5BD59AD9AB226694ABF6DE24F7D43766215C363E1B35D3C0D462E0F + 71671CBEB4E1433DED4CE2A6AB17CA93E2A6C65E8D09C2301EE95B0DE9D16A72 + 04078ED2C6AA0C5EFFA7D19AD6080DE4CDE06C82028FE7D226D45216E19DEACC + DB0414FD37A8410172602219F81204845B2A6003684EE63850E6BB9EEBBECEEB + 65AEE6051E15380DE7FFA5E9F8E7D0A664E7777EC63C749B0C9D33491BCE197E + B20F918E1F3011B85D72E052E85C88E8A6FB0DCD07AB4097418D29DDF82CE9C7 + 8D445CDD27D37AE3CBA0EDD4562161F2E9CFD0CF555B59D3008FE598DA5ED3E4 + 501EF04A2EF0003FF04A5E957FC3023BD01F2AFA1A58DE122C7162B05C9627F0 + E5165FCB608EF1999DF116CFF18E0DE6201FE621FFF1227FE623DFF117BFD929 + F0A941D0E6A3F0E671EEAA87897F727DCDE0BEDAA784C2927CE1704C0BE5BC79 + E51AF40983602557FF7609727EFD7BF3758E17B040850F9A854103682EAEEE54 + 2F309121CF0662C715A53BF632D67676DDEA2159411FBC54268E7268EA97441E + AABEF6CC6BA8857B6E8BBA31C8E9312B712A8F63022A20A31E8FF21CCFF1BB7E + F21A1FF27BAFF124DFEBBB0CF8252FF87CBFF1F9AD02961004074E0AC5DEAA4C + 2AF3C8FEC94EADF4758EAACDC7F308EC1569A10CEC2159FD3CF49BA1E258B101 + 49AFF4D9638CF0778443C451945EF555DF360C21CF55C687677351728A5D2EDC + 16CC80EF69DD4201CD264EF6EF079FFCCABFFCCCDFFC598429AE48014A772263 + 34F731E1032070D82AF0032700043420F838A0F8E2BFF8E30FF2DF4FFEE85FFE + 1D7FFE82CFFEEB9FFFF136F0F8912F0A302FB9327FEC715EC8A9FD9FE00E0821 + 2100008256160C896114718D148F90916193946171017F1F0363630367671F6B + 6B1B7F6D0D0375135A13751B615687B0B2B3B3822116967F6770655E07075A6E + 70670D018D9701C9CACBCCCDCECFD0D1D0718C6D6B1F6709106E5E5ADE5E1365 + 657509A01FD867039E9FE6A1A2679C631F7F5D7161890C8889FAF91606FF000D + 140038F05F418104131A0CA8D0800E111960ECB060A54D1D337E30F8C0C07123 + 0633BF7CC8D04022C69213345276A0B1B225CB972E63C29CD90187CC9B3473E2 + DCA973A60D132B2E382144B468D15F487FB949B0A6419B2E6DA24A9D1AB54B32 + 0AF96869DDBAD582FF57068B1C451A0BA9D2A5066BD27532276A83D35310544D + 80E30A1645AEB442580913608336375A7E791176E68FB1C3C8A4295ECC58DA25 + 645D22EBE235C1173070E3E0AC65D7EE9CBB77EAE6D5BB87A874BED35EFD315C + CDBAB56BD64D46E8C870616296356ECC98F1E191A36F1F5230F86991E3099823 + 2973265FCEBC79F3952A5F3A9FEE1C3AF5EBD157DA48B1224815A3E00124455A + 064ED3A754D337706AD5DEBEBB78E3CB42B4681259B2663169E2E4E95CDBB767 + A4B24A2B14D8259F5DB874B14602654C8054307514664C23873566E185183E46 + A135DAF412183013B801011C09F4E7D967A2A488CD1AF46085DA8BA57DF5DA8C + 34CE58806CB4F160FF01000CBC919B1EC275E49B6E5F30415C0C2AD8909C4BD8 + 353953744E52C76494CCE1201D0D3FAD80C550E111359E524CB1971E55EB5595 + 0C35A45961C8815DF1031623D4DC470125717491C9266BF9B7815BA604C80D2B + 6B14184B7C7AE112C0821058261804096C500F85896128E9A4D34C7849171BA0 + D2CB8321D6A1195B29869A16284D8D06238CA931C0100100B1FA8FAB06C00AEB + 6BB3AE7623442C141102030D9461867019F9C6916EBBCDA1410E49AA41031054 + 360945B3CC3D0BEDB429657981115C86F7E501E59D07D598E04A7555566CCAF7 + D5228CC8F9C82475DEC91F5B7B0258C79F75AC1107457779D515031428A88D83 + BF68E14519097CD0FFC6999426ACB0638C341060191F8258DE18A48A3ACA359F + 3465CC3DFBE0C34FAA0CC451E3C8240744C0AD11F1E044165DC0718014C109C9 + 11CC071429430E26A4801CB3D452CB3373CCFE1CE5CF42370906505850614597 + DB2EE56DB863AEC75E23A4E95B2E57FA542227BBFAC1936728F19AF2012F5E78 + 01C107F75A6DF52C86FE31001CDC041C4E1D036CD0C631152EACF7A489510356 + 1C70A9F2E0381483DDD606A278A6B18BA6359E1A7D01B4D16AAC94B36A79E598 + CB3AF9E5AF6E4EF98D3AD4568513712470C046C10AEB83195FF8606471292C1B + 7472B3A7040510CC3E3B7BEECBD2A0BBEFBDEB8E3BCFBFDFCE7B4AC303CFFBF2 + 40141FFCF329E170FF74504630FD65B762420DB555C66005DFD5B43CAE089C63 + 718D96D7268EC267031F3058F6D971F483202C6B3280C918F3463C010463688C + 77A47B0B20DFECD385F671E343102AC707F6C440C4B1C37F1D6B1C6ACE1500B4 + 94EC821894CD0560C0030654A10110F842CCF4B091126AC40745D2400CB86003 + E4C86E3944EB5DCF902743A0D1AE77459B4E0E9D23B4A3E5E00259D0D6979C96 + 3DED69EF5155FB1EF810343EFC58A2826979979ED637B60699ED0C0148CDFC64 + 9188BE304870C07043841A80A6B03C468068CC903D16E1C5B85826188C3A83FA + F694B88C919171A78A11E4D03280CCF9F17280FCA32039E747038C600410E1C1 + 77BA603A29F8410FFF4012964676D30215E66C670E68DEF036B949E36912779E + 0CE5F03C993C4E9A5276A034E52739494A55D2000C29B8C116AA67946D610F3D + 460C5799DA33278FB1498B6CE3877D247196287E6D147F680054166445086051 + 7E6A430405BCB8A9030C861C0673CF9BF086B0347A331A7E63A35FB6D18D3092 + 438E0CBC063642510C1775EC9DE2E3CBF9C6B01ACDD57346B5AA556B5C558002 + E06A078C904319BE1049497EE40B66785D0C5260031CA83268B8C3A1447737D1 + 894614A218BD282A71A8518A7A74A33C3B420A7EB883A579698861C2652E8FD8 + 1EBF2911418F8B29BE62DA44485CA20D1B409F7F90A94C6B50E68A59D497DAF8 + 85A97F09866006DBFF183ED0F5BFBC7DF3A988B98725DA30B66D54C61B222AC7 + 1CD3E209BBF9CD6379A4201FD531C8B206F2AC66FDE3C91E72813B8421045D08 + 214752373322B92E0724B8A4EF36894ABE96F2A2A7FCEB4307EBD7C00216A37D + E564075210831550E128D7334F11570AB55D06A0973185A94C376B1745D4E789 + 3855CB00764A8A9E32B332CE0C80FC0EE1154B388C6C8B1AC31FE2671ACF3EA2 + A90084AA008F61536B8C010E1028831B54914074220E1D6BB81BC724E8B83DAE + 6113EAD01C5A3B47DDB2766EBA94ABAE21457001165481011B80C0CB4C485E0C + 48C175C7CA590F3A004A87368FA3B973A8F27CE75EE139EFA37FB5EFF34069D1 + DF7D140AF2854207FF6C7083DA9C743C4454296575E994A74CA86AE1DBAC4C59 + EBA6BF45CE98A375476997F9D3D402F32B80D314C0069600323200A69E45179C + 20A5DB34C6891101B0D3077E5B876D3408AB7174C7271678373C32577CD33C1F + 74FB4880221BF9C8483E72AC92BCE4241BB9C94A7E329211998120EC201F1B98 + 407032425798B5CE58C551C1098090492840A1CCEFBD9D9A9B0705256852CD6D + 7EB3261D606636C379CD66CEF39BF3ACE735D319CF727ED69D5FD9581E10C296 + 9255F0828D1899F684616D128E344DA579619D6A3899CBFC2250572B4D87CDAB + 9CC16854FCD4C45A7C8065982BEE668BF556C6695A630009006E8D857BD5FD0D + 23149A388357DD79FF9A77F6C3B9EA08F600D04AECB4165BCA952B7221717401 + 455A600D6538C0AF84151C9899410A66A8240954B0B340A779AF77DEF39FBD2D + E834DBD9CE75C6339FD34DEE76971BC03668EC0EB2D0B4947E6BD1B9949AA3DF + 23E97E3FEE890DF8C3A82AB6610EB9B10C0350ADD5C072285E70AA0E1F50AD2D + 0A55E153DB94C5B95DB585C4729619D7A1C61008B9380EB8BF12B5C3ABCB0D6B + AA2EE12E75A463D84886B29367DE6499CF5CD9373FF28D3290011650A10B5748 + 801BBE3057837EE117DA36C10F68904934A359CF746EBAB8A7BEEEAA5B5DDD57 + BFDDB8FBCCE6A7A71B07F16E010CB610D9A7E17BA596BD442FC945617FD3945F + 37E5EA6879BACC31FF1C7C0C5DE0345FC6E606A49078B616B045DB7B6DDBDB62 + 5CE3927A71BBB2010790873CB8C3F586AD3921C7526893B9BF6E6D1CDA20F097 + BB3CBA99C379B28F2D7ACBE1BCF43547B6E90542659FDB4F0E5A28EF46BCFCE5 + 231D61787F3E3399751FF5DDC3D9EB6676BA9C9DCEFBA9F7DECFBA07F4EF7D3F + 6791DE60054C40A9D9CF7EF6EEEDA3ED6E97293E363F2A6426332A99CADF52DA + 90262B1035400083D019EE96F9499B9A12863F63C6113F8D3935828F0970FCE3 + 836BC555308AF2F4707979F46B2183169A206CC296730AB8800CD88046D6046C + 750701100620740018A007741524C0B1054C80333FD05064E600517766243882 + 4D5782C9878226B8FF7B27B88226A8822C58822C1883BD678222150337D00264 + 471E89766FD48776BBE408CB957D9216329C974C01F707A5D000E10718E3F768 + F9D22FE8173004935C13686A9BF54EF0177FF3477FCDC071153463C0250E65F0 + 78B3365CDD20460AE428B40556F0F41546C8559DB00E09E8804E66737698874D + 003A11910521900563700018182CBDE1653E401C79153B22C88222D888357866 + 22C87B9058838BD8888C688951E7888D98678E28892DA88999F867DB610239C0 + 04470726D3F783F8C63D68C2694448537012634CE8167C247E09407EE4C2701F + 900A4715262D9544DA274C2A760CF2E7855FB846966027D9007264B87FFCC70D + 035307FD138029F7FF63F832551B708008588704800246E68D49068E37278E47 + 268EE4F88DE8188E315700B321115910077CE0051708245D2605ADC304E9A533 + 21088AFCD88FFEF88F001989A1289001098A67D6013F600224D0023EF00BB7E4 + 83AA487D4AF58AFD9608751270A6F05CB6888BF9B27770F30B25B740DF379112 + 46785B488C88618CCA2084C998298DC77FE2E08C90E7066E508605D34E60658D + 202664DB888079F893409973E0B8731740063BE00471151C91D41BE6F50B5B60 + 2C316002C7E18FFBE888558989A0B88F57999558D9749538895CC9956706760A + A98307906010199140C81EDD338414A97D4F940CBE952807300125E63DB0C070 + 6BF09175392297A6FF4CEE51914BC554B8A59262510D2E590764D88CCEB89871 + 849398A7479A670D9ED793C1D68D98E98D9A898E9B59649BF9999C999998E999 + A2D999A5799A10D87359005E13803A0625243E602C24F0043F700435E000B799 + 9BB8D988B72982BAD98FBA199CBBD99BC3B99BBEC99BFC289CCA699CBC09053D + A0020B69060FA9961119190FD67E6F0987E8D2176300317509070DE0229DD570 + 7D674D045331A370308C538483797114E254ABA67817F636B3E698321993D864 + 186BE76BFA205405988D96B98DA4099A043A9A060A9AA439A0079A8E0B9AA0A2 + E94F5A7205DF7506B9E1078F645030C38137B35047E088C4099C0519A222EA8F + 1F8A9CA0789B4760FF0231D00258606FD4A98A65723097558DD909329BC777E1 + 3006E1998B21B3017C3930709061D7C02207A34D1E138C29E69E67D4628F6153 + 32166B30598632B97F9E220F07C331031853AE2577019A8005FAA5A709A6621A + A6644AA006101BA1C302F6F3077520421788A1BAF13A2420014A529CCB79A776 + 9AA778BAA77ADAA77CDA0329F0043A480693F5A28B16A3ACD88AD8992A8CBAA8 + 7F8329BF550E6D80978710327F207482210C42EA1FA5D0525FA5458D7A6AC358 + 98DFC49288B98C8A699F530A0155BA38599A79FC524139D5A5021A9A605A8E65 + 4AA6B8EAA0B71AA688740158700757D005141A33BDB111AC738FF9C874BF99A7 + C7F9ACCC499CD26AFFA27E4AADC209ADD38AAD0E80038C151474D05386FAA2AC + 088C5F1199036891D6C0225D40A91679A9D1060CE5317789C3530D560FEBE97E + 491A7F29E94D65848D63907F221793AB1A7270A0191F500C581A9942D52FD9F8 + 09B4EA939F8902121BB1043AB1167BB1129B9919AB991BABB1183BB1DDF8B104 + 201BD07707F9F0015A705E453724C0C11BE9650364769B49E000495003367BB3 + 385B03339BB3344BB337BBB33A9BB3426BB3335BB3439BB3407BB447CBAD4011 + 048A16AED49776FBC96F84F73139991A7CA10C14305414D000630018E6347788 + A34EA1420A453A09FC063259A3622BD685097398AEB606F813A5523AB0E43000 + 56481A6E3841FAC0FFB0DB5899013AA6829BAB835BB861EA8D28C30271B0031B + 50072F438F32F3115AF0053793333FD0013C7BB3B869B39BAB9C38DBB97EFAB9 + 9A7BA7425BADA37BB34AC0582D10046909B5AA98A86E59AEAFAA47DB84594CD4 + 0603E09D1022B6C775229CAA4CD6C776A18A6A6D0B9F6F2B9FAF3686AA3AA59E + A2191AA3B70A5BA97502A00FDB931B8BB1217BB1D99BBD1FABBD202BB2DFDBBD + D80BB2ACC28E2B00036410320940747390815E96501A000279F5039DABB4F67B + BFF89BBFFA8BBFDCBAA24EEBBA50CB4B1134BBE70A16BF566A5D300010101810 + 220FEA9338E8F04066BB6FDF23BBA21A09A44A2942384D32F65B513AB08F4722 + F280B039892AA9D1FF2FA352BDD6BBBDE1CBB115EBC22C7CBD30FCBD1E1BC333 + ECB17BA803E7CB0259D0066FA005D3568FD87600AF439B1D5ABAA79B9B9C7BBF + A03BB44DBCC450ACC452FCC44AAB04CF190355560A405815004C266C2984036C + AED678A47DEBB5DED9970E4C47EAC419F082695758C1B525AA84D9547CF362F3 + 09B01FBCAA1F47227244C2620C870C0BB82A1C6CE25BC8867CC8889CC8DDCB01 + 286048B3110454100774000152D0BE1988015F2030724AA7F5BBBF44EBC9A01C + CA463BB480BAA249936F4AA84C8DD6C5E9619DD719AA55BBB756AB0897B020E5 + 89C66033B6BEEB193BB64080597ED83798A8C64D6E5B7FF601453416B075ABC7 + 095022791BCB1174FF17218329DA38C808A8C816CBBDD8BCCDDCACBDEC18113B + D00574A005917BACBCE107F8882C0D15CAECDCCEEEFCB9CF4902191005F98638 + DFC7CA47647D624CC0F4D1080A823F82B33F1473311603C19C219256E14E59B8 + B6C384924BBA18AD168600BB98CB2C931F572278CB7EB3FB38282CC8D6AC0E28 + 9007E22BD2164BD2217DB18C2CD22A7DD2129BD228E0D230CDD227BDD28C5CD2 + 337DD3138B3246C9007F500652004916EA1B7E606DF08B3329D00348ABB435BB + D441CBD44C8DB34FFDB34D3DD551FDC94E4DD553ADB9579C0164B03D9C971660 + 73CFABCCCA52E3606D59C2FB1CC770C279BB6819F1BA40635BD0E770D0443A21 + 6B87AF17ACAF0F0DFF4E73C246EC33D1CB6BD155CA636FAC72E732BD1EFDD103 + D0CD236DC826FDD8136BD2D80CD917DB04A9C9023B4081724588E6655EF64849 + 2461023DD0C9417BB4559DD5EFECCEA36CD53500A824700141A0C5ADCCD6F130 + 5A7C32D6F82C158DA6CFFC7C2A4B755B67F0AE9A0AD705AD22BCAC279DAA54ED + 6792277978E0B44641D63EF5C998764B2275A35C594A5317860D8A6DBD22CDC8 + 319D077990D2E37DD32BFDDDE26DDE27CD01E90DD3EDBDDEEAEDD2E27DDEE58D + DE8CEC10DC15047440058118C40665065B7088A17DB9B8B9D44970D5079EE007 + DED40A8ED508EEE00BFEE012AEB3114EE1095E0338009D2CDA6054011539156B + 053BD0F79CDB5E2CFFA353CB9FB2BCB787D0321320D0E859DCA1B2CB6003987D + 7DA4A6D69E5CB892CEC071CAD82181CDBC0930D01A3DCB7CCB70ECD3DD014AD3 + 370DDE2FFDD2E97DDE4BFEDE2B1DD2F21DD2F50DDF50FEDD560EE5ECADE4226D + 48371011B080B2D3A611BE616D2A2B03790506F42BD59FCCDAA31CE76E5EDA58 + FDE6747ED5762EE770DED44A90E1587C0763E2E18C57B09AD11FA55515AD1BAE + 9665D7D5D8DB7A44016E63DBEAB453300EC111CCA98FD28AB09CAFA9967168C2 + 0898B28C740BC27B5C302897DDA9224F5C8AE408D8DEF53DDEB0CEDEB2BEE5B4 + 3EDFE3CD01E0FDE4B03EDF56DEE5E28DEBBAAED2AFFEEBAE4EDEC28EEB2F30B2 + 55460538550729FBFFA65D061222511212000634E0E0165EE1138EE00DBEEDD9 + EEED067EE10A7EE0FDBBBAB3AD0B204EE8CD5C38DF1719243E15AE2C809877E3 + BE0D63C5D4CB956EDC119C31A5B092DEE3DB79DDE93A5E46D3FB36CA0CC266D8 + CC75530F5868D86B8A0EACDE93BE9EEB14FFD2C04EECBFEEE413AFF1F32DEBBB + 5EDE138FEB1AEFE4F61DEB23EFF1BF0EEC2870482BD0738DF001F2A83A9D4D2C + 7E7033464D034A00EED82EE1E3FEE0506DE13B7FE7DACEE7192ECF800EEF9C97 + 0D20FE71A52E0F87FEEE5221B5583AC0F45EF599274F7BF207BD8B221633D70E + 3B774808BCF24E7801EFD067CD176EA3BCD4ADC777BB400C8FEA6235637318F1 + 0888EBC0EEF1B26EFFF77ABFF7B17EF77BCFF779FFF7767FEB82AFF77D8FF785 + 9F076240004D0011C2DA066730014407B9C2C23AE865D43D000544DBF3DFDEF3 + 9EFFF9A0DFF9E32EFAA2EFF945CF0441C0E15081EE844EE8CD1BE49EC022EC81 + DBB9CD3D674DE4568F855F314DC9D0054C880E94DEF5BC0C2F87AEDCB8BF856D + CB928B40553EBEF6F7C9AA412E1A8129CB5A8A09AB4EF7C266F7270FF27F7FF8 + 847FF8776FF281FFF71AEFF783AFFD814FF8DD8FEC2B2F025A72073B4007BEF2 + A6C2E207AC53332231E034CBF9A00F084982493584838583898A8B8C8685888C + 8F87893D2A2417416D9A5D6D7F67090970A2A3A3A109031F1B0D9B9AADAEAFB0 + B1B2B15D01711461FF0C160CBCBDBEBFC0BD616114017F1F671F1F6BCCCDCECE + CAD1CA6B1B7F6DB6B9BADABBBB0CC3C314E1E2E371011B63751065EB10EDEEEF + EE750963677F0114BEDCDBBA16FD0CC61F06081C48B0A0C1830539285CC870E1 + 0B0E0F1F369CE810224585122B4E8C6831E3468D142312687243C4053201EA68 + 31230583CB97307D6CF1A38184891E881E30D2298867129F8D80EE1CDAA8E720 + A1917A98B891E10E2B4FA14891AA5347D4BC33D4FE345835ABABD7595CBBC4B9 + 352C985960FA18946BF0A7ED8635D39E3D93966C9A2AB1B8B6F9EBE6ED9B5F0A + 63396D180047DDBA32F012533DB5C61EBE7DFAFA49F616A041C03108336B2EF8 + 220F45CF10F3741EFF3D113407D3A14F2F342D5A616BD5AE4F8F16FD9A7567D5 + B457AF9648C040C90B777804B852C68C1E3F7E5CFAC0B0DCCC812F7364D80483 + 0352D1EB44B16B5F84B4E803253F4CE4C072A50D27A851A5AA0785799956F35D + 387D9D3FBF96AD5BBDF89EFDA58F58B9005D1C938C5C7249230D350DE0958B64 + 0CEE574E1B1B7C30061CE91C865862F1C833C6070DDCC34B647A4D56CC1F6B9C + B1D9899B75A422472CAEE8E20B30BE28634430C6D8E28D33E6D8190A05307552 + 171B40F0854BC9C184C11766F8E0470B3990F0437535E824E54F544E69659558 + 5EA965965C6EE965964A1CB1D4165150D1C927EAA549CA551FBC47DF9B6FD642 + D67E740213461C10FFC645203406D6D5581B7332E88F361FF2528C656324908E + 61182A764A9B1E122AA9A00C5010A08928668A5044AD714ADA6C9F762AAAA72B + 8E4A1B8BA7A61A2AA8A6AE9A2A07248990010C745001C70466C4F49214CE7DC1 + 444D1250A7445047156B1477C652795D77C41EABEC4FE089D7D499A0A8291555 + 55B1875535ABC4271F9CE0BA62DF2DB864536730DDDCD945036F19B8679F670C + 688D2D79F163811593ED420C408A1A7658A3F1C0718A2A9182C80D83EA463800 + 669A363C508D10472CF1C414576CF1C518675C711E06F8B6020B6AADE1851E18 + 140913AF5FF8300708364930EC9730772973CC34CF5C65B4375C400754D6F66C + 0A668D25E86DB844FF6F621F36E7D2094E65C8D4B5CC9ECD44136F2ADDD2FBA1 + 152184802F2F7732DDAFBFEC00BC182A1D3E66B0BDFEE0B901A60EB73D008E70 + EB38A38D72C76D374474DF4D230A3ACC7AC7151BA894AB72CC31C76B924C3EA1 + C29389F8E478B1533A7BA5E4C93E4EF99692473B1E1D9FA4D7B37A55098C8A2A + 5B156D7A2B72D69B34BA9491484DD450478D8C32D55893BA2E585B51E9836B53 + 0876D88D667B862A718471F6C192DDD9C61A0BBBEDB6C6D0472FFDF4D47746C0 + 084C051107031F1C80C17126632005AF4A6A00C21326FCD083510FB49FA5FB56 + C25FA5FC52C26F7FFDF8CF7CFF4FF0E3A094064140D3E7D44415ABB4272BDD8A + CFE9C035AE72AD0EFF2D6A09007C1A5022A741CD5DCCE0562DF061057C85A132 + C79850852C742180896E0380CA065F5688300996A879CE7358F56648C31A422F + 0F622840DF8240053A4401572E21D9AE306006C469A04912585FE5B0C43E9B5D + CE66316BE2E4A0F5831868000B021BE0E74C71953F0D6D81708A4F00E865AE07 + 0A231CFBF284052F68A068FCC94316B8D33106A0A845FD0B60ED18DB1A525828 + 8335084F2F8CE1F320868717446062878451220D59A34316F2909044E40B0A09 + 3147466C9130A2642323F6C84932529192ECA4239B30821530210864A043190E + D01221EEEA0B4862021390688397BD4F4BFB6B5FFEE2B7CB5CE6727EBBBC5978 + C6632D5368B18070FFA0472ADAC2153032905EE52AE303BBA1B60D589319072A + 90D4A686A06B006830BE031B1E03968054A4F078688B2320CF3006CCC44B909A + A218263F79494646F29E929C67242B29498BE1139FFCFCE7439AD00459D16A00 + 103840920AB79C868ACF0CB39C0E0EA048D19A59B4A25D52420F62D08220A409 + 14201D203205E6CE6E7ED1995E116339C825CDD5E9EB3F1214D01AB539BBA751 + E32DECF41D094B283681D5432C2A840C3FF0A54E089988616C83E7890C190148 + 36B5A9F684EA53997ACFA74E55A057B5271EEEB955AADAD3AB55B5AA58AD0A56 + AA5A15054DD0C10A30F1870DC0E10B7A2059F89893B23934C90412A84194F8A7 + CBBEFAF5AF800DACFF60074BD8C026E10724584119D2D4CE44794E8B06A49A02 + 511AA706B6F48165515E05F5442037466D61A1B0A385C6E98E64A602A8854A6D + 3A3F48C1A42AB561586564274529DBAFE273B6B6CDAD256FABDBDAC656A0B4BD + E7484A9281206C2501B034524BC617CB1668E00936A8C1B080D957BE5617B07C + B5AE2EB3BB5DEC76D797F8C301625B3052920AC4B159146901BBC8CC6652162C + 9B1823192F7B2E6E288F99EDCA2636399B53D19290B455D9D01F808ACEC954AA + 32256AE700DEF9DA4C3575AB0FBEEA56271C010857F8AA1196AA54BB8A61AE5E + 98AA160E71562F9C61129BD8C2207E6A575180BD0C60219575F042AE8EA35C58 + 1E804978ED010EF0FF57D81EFBF8C74056820472C00437AC89610B6B67B5445A + 0A36A9023E937DAF2CC4781FD599B11780B18504D7B660CEC2652E741CE16801 + 6CDA0117AF8F90B9D72EE210A04036B86D61DDB08A9D4A67437258CE510D6B6F + 3F3C56AC4638CF56BDF33FA56AC83CA075042EE60115A2E0BD2239747C664899 + 7349F0841F4C17C898CEB4A675191E531E395E6C432F643F1D342987918C5736 + 0B6BBFDCD9665C134DEDB82399C7D0186C1478326A0BC89B9DD7E75EFBFAD7C0 + 0EB6B0874DEC5FCF200233B8DE0A66150532243488467289737C9038F53960D3 + D8CE3661C3A3812D84EE2AA0C6949297AC5EF32E835B4633F52B9AD94007A65A + 1B87DA0ABBDAE86AFF9C8A9051A46D8769CB969F7E7F08D74012B7405CBB6BCD + CCB9D8084FB8C2175EEC421254042DC00215E2308003808F702D89B419E6C0A4 + E9F052DB20DFB41252F08415789BA4E12EC8B8476D156D510DCAEA9EB29CEE41 + DFD5F9672C4C9B9A9E5E3DA15803AFA702B6B5500FB6353CCDB1E0BC6EEAB197 + FE54A63BBDE95067BAD2914DF5A93FFDD8569F01D6A97E75AE437DEA56F7FAD3 + C33EF63C10E0377738031C14BA9C92C1842510FD550ED237D1C20A00B0776F5F + DE1FB0F7BEEBD2EF7FDD7B6001FF1D0970740B2867F082417DDEC71E93A4EE71 + 6FCCA73C46B294E5DD586E338178AED39F6328C06BE0F7ADD39627A4C790C452 + 8770D72B8C75D507FF5AE97858BAEBADDA7AD9B79EEC5C8F3DB2552FE2AA47BD + EABA1F7BEE59DC379DD1610CDE23D2A3A5F085036CA105E7BB8912424E7D6C8F + 9CA3580037A6C21DEA901EF3DB077C32CC27DF86B0547E2C5636E34B25A80912 + D9C5DE5FF33C3C02CC21380E1D77450FB8E94FAFF5FE8BFDFF5DE77F4ED77F01 + 886C5AC77507388004B8800948800028760EB88008C88048C062117705575007 + 2C116D43C4049376133840787737827FC7772648827A77822A488228B88225C8 + 822698827787031240022DE00651C0789BA1642CD764A39340DF427EE25279E9 + 7765C4100E6A132F379560E1247FEFB06F34A75A2CD44116906BFB174302D880 + 4BA7850678755C28FF815E08860938815DC8805FF8856408865DB886FD474AA6 + 645C01B07652801CD19624D4561395A65DDA26782A587D80A5143980093A6810 + 29075AD5E27804240AF48020A52384AE607E96777957665F6AF30CEC5447F8A6 + 18C9B44701B02043D7206A615457888566588AA6788AA8988AAAB88AACD88AFE + 875637B0023010075700075AD0121CC82B52E08194F62432E88230188CC0388C + C2588CC4C8771A251E4C908304377083B87288D833EE1479E3E788E6215F73F2 + 6EDD9065F3A60CFDE5733C95479B780DF850601D7460F3D68CA38822AED88EEE + F88EF0188F04880704D0373010047750076EF005B858382EC17C07406D39F004 + 499404D3E78731E8FF6307A969E01103E3A1789A9228E9356AA6F083F0618DAF + 903A35875900B10C974815FE327F9BD8219EE847FDE041000191EBD83033B000 + 2DF9922E199330399332599334799336999338B9933AD9933CF9933EB9007820 + 06C485059CE3062D31570FA524B354693D608C50798C51399552898C55D40203 + 100527C27D47855ED1782DEBB588A483919A503A72C25292786596226F6B137F + 3F571503C089E6B242FFE60F1FE4092B2948042893A7E8927BF9925AC7978039 + 98813993A528987E698A89998A36599882F9978BF99262D0622F7606CFE64AFE + 78245E80014824014340582D18782E98827D159A55298CBA448344560728C27D + 03316E5FA926F3B0FF60267552424865E8B7914AB3526CB60609E00E6F090771 + 498EF72719E738226E96976D03930B109440D992CDF99C31199DCE599DCC699D + 41499D34A99D31190162E0865B4006573006D021572713692A030203E9322F78 + 9AEE4995F0B9823D30644C004F2BD783903796649991A886791F12077FE096A5 + 358E67763C82F2416BA38ECA8922D8299D0EDAA010FAA0128A9D5BE586C04106 + 75905C6E5738CC654404890307D977211AA27F37A2A49990225882279AA2A4A9 + 142BE0060EE39A8638913D832D28776E6E126593677ED09496F5A50D008A0E8B + 1230C359A09F381977A96B0BEA3CD7D99CDC499D4EDA934F1AA53949A53539A5 + D7B99D4EDAA456BAFFA5D349A55C0AA5D39906CD3912100703E22924177732CF + F105CE853E96169F72FA9E743A823FF0043718A32A799F14399B58F11EB6799B + 6759844983A0842192B4C64752F86F547897C9B9A40EE3A5560A9D602AA95F4A + A95D7AA95D4AA99C6AA951DAA962FAA99B3AAA934AAA32C93719C0025D400632 + 6624CBD1120DB524BDA804735AAB755A954A7109ACE93C29C783B1F9518F826E + FB893A63844698B516CC134E10A0887BB43DC579A0C6A0A090CAA0996AA51550 + ADD87AADD81AA5DABAADDE9AADDFDA9CDD1AAED54A8FB178012C602910601C6B + FA8F3EF00534D18B3DF08BC528002368AF7C87AFF61A8CFADAAFF7FAAFF90AB0 + FB8A8C43201E58C0FFAB85D858E456A3EBC526A5568DB7797EC6BA9B08860CBF + B90E70B906A865A0220210D32A485F4AAE223BB2245BB2267BB243D923177005 + 0CF007C5D18F0DE5039136131D27013F40AFB76AAB3AFB005759075AF9663CC8 + 725CB4214F16A8824A841BA92E24026A8A82B1B4D60579C1B1A41721D2FAB19B + B100D74AA6598BB55C7BAD5EDBB560FBB562CBB55A0BB6653BB6681BB66A9BB6 + 637BB66B4BB670BBB56DABB664BA0024E16264C0078243246F57443E10514934 + 7D033BB8FEBAAF862BB0877BB8011BB089EBAF8C2B00AAD9513F1B43096B4C90 + 153AC9F4A76E32ACD78896D204180172190B36218AB801504B977D64608064B5 + F024AE4EDAAD63EBFFBAB2CBB5B30BBBAF7BBBB58BBBB4BBBBB1CBBBBA6BBB5F + 9BBBC2EBBBC38B046E8805787206B7F812CB5744BF4202368BB33B3BBDA7C96D + 5B7007F05488497688E56640C9500D46138411BB5256560C9D909C534330466A + 92FD702714A4A4ACEB366FCBB6F35BBFF47BBFF69BBFF8BBBFFA6BBF78D00419 + 700163F01642C2B7E1935C2C63B320DAB88F5BB884ABB80CFCC00DDCB8F84A04 + 771A7157E858BFBA1EECC5B9A8A391861207E958106DB24141C5BE6BD606F01B + BF6EC3BF2EDCBF2F1CC3303CC3329CB6765B4A4CC0023B10076A4A38AF6A065B + F0B747F40429D003B4BA828ECB8249BCC488DBC48B3BB84A50B04CB1ABAFE59A + D0F87D56313ACCE4FFC1830A18AD0543030129E5B81769866BCB03C62CDC3658 + 5B015ECBC66BDCC670CCC66E2CC76F5CC7747CC7729CC778ACC7763CC77E1CC7 + 7B9CC77D0CC76F2CC87AFCC787ECC60BF09D10770701C00765C08F6EE7683EC0 + 7C662003EB19A714BCC99CDCC99EFCC9051B886F26A3DBBBB0D682B97EFA72DE + 22BE93773495A13007B10C1DC20F93622F45B73C559BC69B51C376DCB5730CC3 + 7F1CB6BFECB56980B6C38CB5C54CC3C77CC734FCC6E62A8B77400772C8811870 + 005E7063431CA74FECC04CBCCD4E2CC1E0ACAF166C456540C5196CCA90D5C11E + 5C7EEE97194A78BA648C3CA4B7C2BADC36897CCFF89CCFFABCCFFCDCCFFEFCCF + 007DCF8B7CAE2C40FF0709B581D1A68B1C37909AFCC90EFDD010BDAF43508318 + 5C7032EA95DF972DED21ACE6618D6C41B59BF1018072A42F75C64856CFF61CD0 + 2ABDD22CDDD22E0DD048409426710761B00375E03DE65938332B903160B3FF1A + D1401DD486DB695B607ADA5BCA3DC81E5A0CB131F7D1C8A019F4D00071902FAB + 25C28F8AD20EA3C71E20C75B9DC75BDDD5158006892CD6F90CD6665D015B4DD6 + 689DC8602DD6607DC86DCDD56B7DD66C7CD65F2DD7753DD7727DD779DDD761BD + 001170B730B0037FF0562F6132322BB3186057D0FB034420D4900DD9DC76B0A3 + A878182DB48BB8B98EC82E574D10F4F007CE9A4EBB3022F48CD559FDD26BDDCF + 6F8DD7F8BCDA65CDFFD6FAECDAFCBC04AC7DD7749DDA797CB727710567E00543 + 92D0CCB70572F7A1B41AD9C6EDD04460782D000127BD6B17ADC1344A401ADD65 + C2AAA3EFD5564F9D1998B1019D28DA112420CD6DDA0DA3D7B64DDEE65DDEE87D + DEE4ED01E9DDDEEAEDDEF0FDDEF28DDE1E8006EC3DDF68ED016920066260123B + C0006B3001524063E79924C32D018F6DAF42B0AF0BAEE00CFEE00E1EE102D0E0 + 130EE1152EE1149EE10230D124C004C27985CD286A14696E45CBCA28C5D9D24A + 0F2854A0446501967274E21D43E5EDD7768DDBEE4DE37B2DDF38BEE3E69DD77C + 8DDF330EE47AEDE336BED71E40006B259E7470D3FD98993EF0E46FCA9EC73DE5 + 9CAC043860020094FF97176DB958CC5E8D686A28BE197F7A0F27B96601A76031 + EE3CECBDE66CCEE6F6DDE6701EE772BEE6F93DE76D6EDF62FDE671EED676DEE7 + 7EFEE7807EE76B8E063340942B1004571007DD036D4324054F8EC90499E015BE + E01A4EE9937EE996EEE0969EE917DEE9955EE188559F2B49CA57FC390D5B52E0 + BBCA278E5327B20C6DC041BAC3660A83E669DE36747EEBF7FDD56C5EE7409EEB + 73EDEBF41DECBC7EEBF39DEBC6AEEBC8FEDEC75EE7BB4EECC96EDB317D0317B8 + 0351B0BC98F9E41A2703E7E399C54DE5DE6EB8FF73BDE1BDA012899FA1A0E209 + 4459612EE66D32D5F862295C56EB8214E8F45EEFF67EEFF89EEFFA5EDF683099 + 817807543000CB9BFF1C075C57D1370409FEE99B8EE90CAFE99ECEF00BEFF002 + 30D993ABE53A08DD1B4C210524965A2179A6B3EE27B206DDFDE212E24EB92CEF + 06B1EF2ABFF22CDFF22CBF002A4012E84A0510B0120E75F3527000F16A0243D0 + ED92FEED869BF00F9DDC9750F1A33E88DB1BDD896840B459E2264E1F201FD280 + 22EBD93D7028EF301E500259BFF5F6ADF55E8F065EBFF5613FF6622FF625F0F5 + 649FF6653FF667BFF66EAFF670FFF6721FF75ADFF5737FF7FA6DBCD983816F35 + 871BFA3DCCF705DA4E699FE9F00B7FF8109FF888BFF8973E04786AF4D32A6E22 + 2EB416F9F450CFEAAD690DA278F5F3EEF6EC4DF69F2FF7A11FFA745FF670AEF5 + 6C1EF6A4EFF9AC8FFFFAADBFE6A0BFF5A32FFBB4AFE7AE1FFBAABFE67A9F686D + F006ADEAAA1AB72403D9F386AFF8C6CFF8C80FF1C96D72906FF1BD7AD9A61E96 + A8D04D4513F59AF1BDB36EF59C8FF55EDFF6630FF6737FF6DE0FFE69EFFD590F + F6E6FFFD6C5FFE2500F6E8BFFEE12FFE6FFFFE674FFE77DFFE709FFE72BFDF38 + 0C08645D036E5F18187E8888665F5F3E2D244F434A4202959796999742989D9A + 9F9EA1A09902124F1A5803AAABACADAEAFB0B167B3AD6363090970BABBBCBDBC + B8036B0D6DC4C5C6C7C70D1B6B67B1AE671F1FCDCED4D5D6D7D8B0251EDBDDDC + DFDEE1E0E3E2E5E4E7E6E9E8DC25EAEEECEFF1EBF215624D2B1759716B135289 + 7A3E0E613023C550FF8B1C4F7E0858288408C385A344617A288AA22587A0880C + 9140E2C2986C20B3CD9A762B97AF93BD12046BD005994B64CA98859C49B3A6CD + 55F0DAE9DCA93327CF9F3B7DB6130AB4A8D1A34089225D6A5429539D0AD2DC63 + 42264E17088E30E81198A8A09939087F1091688953D94D684199E5146AAD26B7 + 434CE42813E5A6DD91B406D8C26512651D5D093E7ED8C0B24BCB9788634EA3B6 + 785563BB9023AF0AD70E4DCF1296E171B35C19B367CEE5867ADEDC4D3468D33C + 2D671E7D79B56870AA75828E1D5BF3E7A4A55BA7060ADADE0D265400C41970C0 + DF568152186138F84482C288D0C94A8F9E51420E264124DBCCCBAA24CA5D63CE + 10EE12A07C80C388FF5D2AD6CEBE7DB6A7F0E3CB9F4FBFBEFDFA69C4FCE69185 + 0221337E249208063E980120130839E750276BB1C5D659103E286183694DC8D6 + 0F2668B0857B35E1D5CC5E70F40558786BFCD1451C148411471CE7A5F7D27A1C + C628E364A7C966E34FA0D9E6136CB97516946738DE98DB6CA1F104CE513BB206 + 0F9147EEE6A393A9E9D7020B6184B1070452084420065214F485063990608204 + 435037DD9911B9750911449840021375CC28125EABEC95CB9D2B918762952CB6 + E8224CCB3C26E7A09095A080A188B673E8A13B2D9A28543C395A94A394425AE9 + A59622CA68A49A72BAE94F923EAA68A79B621AEAA7A4768AC40D2D904181050D + B86186565A1E2205FF0820842981040B3AE8EBAFC0062BECB00DFD704A2A84DE + 5452606B9C48C18A1444DB277A7F160363B2D8DA5469A340853AAAA9A266EA6D + AA98723B6EA99D7E1BAEB9DDA6CBA9BAA8B20B2F1A52DE1186707548A1C7715A + E29A6B826556486184035B48B0C0976C745D1D1F655B8D87AAD812DE1F7130C0 + 4095613C3B6DB5C904EAF0C721912B32B8248F6C72C9289FAC72CA2CAF7CF212 + FAAD1004030074518621030AE4EFBFCD0D3116B140072DF40F12685817C8CED0 + C9CA070D0410C6C5D16ACC22B51C5F8BF4D5B12880C6A29C695D6EAAF08AACE8 + D68F6E5B36A4F38E3AF6A55D934B36BA6A9B1CB7D9E8B2CD76CC30EC90451751 + 14B765403BCB90EBFF13098D75968307276EF0E2BF0A40044717C489F535B308 + B367D41A974775B5564FEEB92A0A842EFAE8A4976EFAE9A8A7AEFAEAACB7EEFA + EBB0B38E061731A0B2030014D4F1853F3AEFCC3399870B2DFCF044FC503B1C9F + 3306CD1A6D049022E62B6ACEB1319D278FF42CB12F1ABAA6A593BABDF6A8738F + 72F7A68BFFFDEBE65F4AFEE8DE83CFBEE8E92BC0451322E43D45006F6861C671 + BE8320380891F0195A1007AC8311904207DC44F132842CEBC1A2720DB85CD4A2 + E7A7E9B5A17A0ECCD6484487000E9AAE83AD0321E944383A1192307BAF3B61E8 + 54A80016A2F0851F64DFFC6E70012A848001C4A155FF7616C0E00DEF87C26213 + 47E074B40CB20282FFCECBD804A3B7B93F61D08884A2050CA748C52A5A11755B + BBA2EA66D7041AF2C00914F880160EB14310CC4106609284E180C84661190F15 + 512003141D7306CB3D6F89D2B3E0053D36C76441CC831D0C24205B4848411AB2 + 90883CA42209793A419630918C1C212417F9C8455A7292923421264F78493074 + 31032CB0D81AB4F0851DCA40067368810C22219636BAF257C5AB5D1D54D24724 + DE515A1BD3E313FBE81E0F8D21759A5CA1072BB9C94C42B29191142627597749 + 625E5293941C66323149CC472EA18B176041161870860994F1946794014202F6 + CA720A81682B7043C3E6084109E2328F16DC252F2543A75BC061930878663E0B + B94F43E6F39FFE04FFA8402709507EFE9383FDC4A7400B1AC88532B485FD74E8 + 411B4A51832ED4A20145C035479081203821046D38E50ECF388733B2F267E66C + 63F14880857542D1964AC4E5D4F4B84799CC534623D10B1CEAE0064329F398C5 + 7464249F19D462FEF490472D2A5185BA54A53A95A830BB070CAAC000299CD177 + E09C831FCE08B094AA940824D8C21D78D9CE5B66AE82D393E74DEFF2213840C0 + 0D5A50C11214D00789DAF5AE19C5AB5E2F4A51896274AF800D2844034BD8C222 + 607E2BC0020F0C74D5C0A1720EFB5A654286E05536B6A9050D7C691D9B66560A + 36D1456A5DEB4CE8948BB76AE100311083A1F27A578CFEB5A28A4CA85D13D9DA + BE1A96B5B01DEC43FF6D7BDB81F25601F6C0C7160EF085C6FAEFB125C5C01CD2 + D8CACA12EF141728A211CB1AD3B37E363DA1152D48723A06B7BAC10B07388006 + 622057DDF6F6BCE84DAF7AD7CB5E892256033E68841EE6E02F703E560FA70C0B + 659D2BB4956AA00CB5DC6C12A1C7449A6657BBD8A045774D1BDE032C97044DE0 + C212F06ADE88EE75B0AFB5707BCF5BE1C27678C3B3B5470E348001E22AF794C8 + 2DA98AC549821FF037686C225A0E36C4CECDBAD3BA06E62382B793D3D2C2B5C1 + E17D3079278C001714F9C8F9347292FFA9E4231BF9C94866B240A1DC64805259 + CA576EF295ADECE42E6F39CA5AF63298A73C66282F39CB588EF299BB2C3F15DC + 40034CF8C2017C405B5254DAB9A4F31567E15E1C34633121C0C218301ED15A35 + 1DEF98267859F0774F0B64071F444C5CA82B88274DE94A5B3AB02E58829BE11C + 5E82E499A42A46048B79C567620DE1092D0074043B9BCB781AFAD02151B07719 + 0DE44000003B} + ExplicitWidth = 386 + end + end + object edtPassword: TEdit + Left = 96 + Top = 132 + Width = 278 + Height = 21 + PasswordChar = '*' + TabOrder = 2 + end + object bAceptar: TButton + Left = 208 + Top = 203 + Width = 75 + Height = 25 + Caption = '&Aceptar' + Default = True + TabOrder = 3 + OnClick = bAceptarClick + end + object bCancelar: TButton + Left = 296 + Top = 203 + Width = 75 + Height = 25 + Cancel = True + Caption = '&Salir' + ModalResult = 2 + TabOrder = 4 + end + object edtUser: TEdit + Left = 96 + Top = 104 + Width = 278 + Height = 21 + TabOrder = 1 + end + object Button1: TButton + Left = 16 + Top = 203 + Width = 129 + Height = 25 + Caption = 'C&onfigurar conexi'#243'n...' + TabOrder = 5 + OnClick = ToolButton4Click + end + object Timer1: TTimer + Enabled = False + Interval = 5000 + OnTimer = Timer1Timer + Left = 344 + Top = 64 + end + object JvAppRegistryStorage1: TJvAppRegistryStorage + StorageOptions.BooleanStringTrueValues = 'TRUE, YES, Y' + StorageOptions.BooleanStringFalseValues = 'FALSE, NO, N' + StorageOptions.BooleanAsString = False + Root = 'Software\%APPL_NAME%' + SubStorages = <> + Left = 14 + Top = 168 + end + object JvFormStorage1: TJvFormStorage + AppStorage = JvAppRegistryStorage1 + AppStoragePath = '\' + Options = [] + StoredProps.Strings = ( + 'edtUser.Text' + 'edtPassword.Text') + StoredValues = < + item + Name = 'Ruta' + Value = '' + end> + Left = 48 + Top = 168 + end +end diff --git a/Source/Base/Usuarios/Data/uLoginForm.pas b/Source/ApplicationBase/_Usuarios_/uLoginForm.pas similarity index 94% rename from Source/Base/Usuarios/Data/uLoginForm.pas rename to Source/ApplicationBase/_Usuarios_/uLoginForm.pas index 2e183b43..a3814747 100644 --- a/Source/Base/Usuarios/Data/uLoginForm.pas +++ b/Source/ApplicationBase/_Usuarios_/uLoginForm.pas @@ -52,13 +52,13 @@ procedure TfLoginForm.bAceptarClick(Sender: TObject); var bOk : Boolean; begin -{ ShowHourglassCursor; + ShowHourglassCursor; try bOK := dmUsuarios.Login(edtUser.Text, edtPassword.Text); finally HideHourglassCursor; end; - + if bOk then ModalResult := mrOK else begin @@ -67,7 +67,7 @@ begin Dec(FIntentos); if (FIntentos <= 0) then ModalResult := mrCancel; - end;} + end; end; procedure TfLoginForm.FormCreate(Sender: TObject); diff --git a/Source/ApplicationBase/_Usuarios_/uUsuario.dfm b/Source/ApplicationBase/_Usuarios_/uUsuario.dfm new file mode 100644 index 00000000..93fcc6e1 --- /dev/null +++ b/Source/ApplicationBase/_Usuarios_/uUsuario.dfm @@ -0,0 +1,123 @@ +object fUsuario: TfUsuario + Left = 523 + Top = 415 + BorderStyle = bsDialog + Caption = 'Datos del usuario' + ClientHeight = 309 + ClientWidth = 308 + Color = clBtnFace + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -11 + Font.Name = 'MS Sans Serif' + Font.Style = [] + OldCreateOrder = False + Position = poScreenCenter + PixelsPerInch = 96 + TextHeight = 13 + object Button1: TButton + Left = 138 + Top = 273 + Width = 75 + Height = 25 + Action = actAceptar + TabOrder = 1 + end + object Button2: TButton + Left = 226 + Top = 273 + Width = 75 + Height = 25 + Action = actCancelar + TabOrder = 2 + end + object TabControl1: TPageControl + Left = 8 + Top = 8 + Width = 293 + Height = 257 + ActivePage = pagUsuario + TabOrder = 0 + object pagUsuario: TTabSheet + Caption = 'Usuario' + object GroupBox1: TGroupBox + Left = 6 + Top = 5 + Width = 274 + Height = 99 + Caption = 'GroupBox1' + TabOrder = 0 + DesignSize = ( + 274 + 99) + object Label4: TLabel + Left = 34 + Top = 28 + Width = 39 + Height = 13 + Caption = 'Usuario:' + Transparent = False + end + object Label5: TLabel + Left = 16 + Top = 60 + Width = 57 + Height = 13 + Caption = 'Contrase'#241'a:' + Transparent = False + end + object edtUser: TEdit + Left = 88 + Top = 24 + Width = 169 + Height = 21 + Anchors = [akLeft, akTop, akRight] + TabOrder = 0 + end + object edtPassword: TEdit + Left = 88 + Top = 56 + Width = 169 + Height = 21 + Anchors = [akLeft, akTop, akRight] + PasswordChar = '*' + TabOrder = 1 + end + end + object GroupBox2: TGroupBox + Left = 7 + Top = 111 + Width = 273 + Height = 110 + Caption = 'Permisos y seguridad' + TabOrder = 1 + object Label1: TLabel + Left = 47 + Top = 36 + Width = 26 + Height = 13 + Caption = 'Perfil:' + Transparent = False + end + object cbPerfil: TComboBox + Left = 88 + Top = 28 + Width = 169 + Height = 21 + ItemHeight = 13 + TabOrder = 0 + end + end + end + end + object ActionList: TActionList + Left = 8 + Top = 272 + object actAceptar: TAction + Caption = '&Aceptar' + end + object actCancelar: TAction + Caption = '&Cancelar' + end + end +end diff --git a/Source/ApplicationBase/_Usuarios_/uUsuario.pas b/Source/ApplicationBase/_Usuarios_/uUsuario.pas new file mode 100644 index 00000000..90e722c2 --- /dev/null +++ b/Source/ApplicationBase/_Usuarios_/uUsuario.pas @@ -0,0 +1,39 @@ +unit uUsuario; + +interface + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, StdCtrls, ComCtrls, ActnList; + +type + TfUsuario = class(TForm) + Button1: TButton; + Button2: TButton; + TabControl1: TPageControl; + pagUsuario: TTabSheet; + GroupBox1: TGroupBox; + Label4: TLabel; + Label5: TLabel; + edtUser: TEdit; + edtPassword: TEdit; + GroupBox2: TGroupBox; + Label1: TLabel; + cbPerfil: TComboBox; + ActionList: TActionList; + actAceptar: TAction; + actCancelar: TAction; + private + { Private declarations } + public + { Public declarations } + end; + +var + fUsuario: TfUsuario; + +implementation + +{$R *.dfm} + +end. diff --git a/Source/ApplicationBase/_Usuarios_/uUsuarios.dfm b/Source/ApplicationBase/_Usuarios_/uUsuarios.dfm new file mode 100644 index 00000000..0c3eb30f --- /dev/null +++ b/Source/ApplicationBase/_Usuarios_/uUsuarios.dfm @@ -0,0 +1,118 @@ +object fUsuarios: TfUsuarios + Left = 490 + Top = 417 + BorderStyle = bsDialog + Caption = 'Administraci'#243'n de usuarios' + ClientHeight = 401 + ClientWidth = 550 + Color = clBtnFace + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -11 + Font.Name = 'MS Sans Serif' + Font.Style = [] + OldCreateOrder = False + Position = poScreenCenter + OnCreate = FormCreate + PixelsPerInch = 96 + TextHeight = 13 + object Grid: TDBGrid + Left = 8 + Top = 40 + Width = 425 + Height = 313 + DataSource = DADataSource + TabOrder = 0 + TitleFont.Charset = DEFAULT_CHARSET + TitleFont.Color = clWindowText + TitleFont.Height = -11 + TitleFont.Name = 'MS Sans Serif' + TitleFont.Style = [] + end + object JvNavPanelHeader1: TJvNavPanelHeader + Left = 0 + Top = 0 + Width = 550 + Align = alTop + Caption = 'Panel de control' + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindow + Font.Height = -16 + Font.Name = 'Arial' + Font.Style = [fsBold] + ParentFont = False + ColorFrom = 8684164 + ColorTo = 8684164 + ImageIndex = 0 + StyleManager = dmBase.StyleManager + ParentStyleManager = False + end + object Button1: TButton + Left = 448 + Top = 40 + Width = 91 + Height = 25 + Action = actNuevo + TabOrder = 2 + end + object Button2: TButton + Left = 448 + Top = 136 + Width = 91 + Height = 25 + Action = actModificar + TabOrder = 3 + end + object Button3: TButton + Left = 448 + Top = 176 + Width = 91 + Height = 25 + Action = actEliminar + TabOrder = 4 + end + object Button4: TButton + Left = 448 + Top = 368 + Width = 91 + Height = 25 + Action = actCerrar + TabOrder = 5 + end + object Button5: TButton + Left = 448 + Top = 96 + Width = 91 + Height = 25 + Action = actCambiarPassword + TabOrder = 6 + end + object DADataSource: TDADataSource + Left = 368 + Top = 40 + end + object ActionList: TActionList + Left = 8 + Top = 360 + object actCerrar: TAction + Caption = '&Cerrar' + OnExecute = actCerrarExecute + end + object actNuevo: TAction + Caption = 'Nuevo usuario' + OnUpdate = actNuevoUpdate + end + object actCambiarPassword: TAction + Caption = 'Cambiar contrase'#241'a' + OnUpdate = actCambiarPasswordUpdate + end + object actModificar: TAction + Caption = 'Modificar usuario' + OnUpdate = actModificarUpdate + end + object actEliminar: TAction + Caption = 'Eliminar usuario' + OnUpdate = actEliminarUpdate + end + end +end diff --git a/Source/ApplicationBase/_Usuarios_/uUsuarios.pas b/Source/ApplicationBase/_Usuarios_/uUsuarios.pas new file mode 100644 index 00000000..6fb22fd6 --- /dev/null +++ b/Source/ApplicationBase/_Usuarios_/uUsuarios.pas @@ -0,0 +1,89 @@ +unit uUsuarios; + +interface + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, DB, uDADataTable, dbcgrids, uDataModuleUsuarios, StdCtrls, + DBCtrls, uDataModuleBase, JvExControls, JvComponent, JvNavigationPane, + Grids, DBGrids, ActnList, uDAInterfaces; + +type + TfUsuarios = class(TForm) + DADataSource: TDADataSource; + Grid: TDBGrid; + JvNavPanelHeader1: TJvNavPanelHeader; + Button1: TButton; + Button2: TButton; + Button3: TButton; + Button4: TButton; + Button5: TButton; + ActionList: TActionList; + actCerrar: TAction; + actNuevo: TAction; + actCambiarPassword: TAction; + actModificar: TAction; + actEliminar: TAction; + procedure actCerrarExecute(Sender: TObject); + procedure FormCreate(Sender: TObject); + procedure actEliminarUpdate(Sender: TObject); + procedure actModificarUpdate(Sender: TObject); + procedure actCambiarPasswordUpdate(Sender: TObject); + procedure actNuevoUpdate(Sender: TObject); + private + { Private declarations } + public + { Public declarations } + end; + +procedure AdministrarUsuarios; + +implementation + +{$R *.dfm} + + +procedure AdministrarUsuarios; +var + fUsuarios: TfUsuarios; +begin + fUsuarios := TfUsuarios.Create(NIL); + try + fUsuarios.ShowModal; + finally + fUsuarios.Free; + end; +end; + +procedure TfUsuarios.actCerrarExecute(Sender: TObject); +begin + Close; +end; + +procedure TfUsuarios.FormCreate(Sender: TObject); +begin +{ DADataSource.DataTable := dmUsuarios.tbl_Usuarios; + DADataSource.DataTable.Active := True;} +end; + +procedure TfUsuarios.actEliminarUpdate(Sender: TObject); +begin + (Sender as TAction).Enabled := not (DADataSource.DataTable.IsEmpty); +end; + +procedure TfUsuarios.actModificarUpdate(Sender: TObject); +begin + (Sender as TAction).Enabled := not (DADataSource.DataTable.IsEmpty); +end; + +procedure TfUsuarios.actCambiarPasswordUpdate(Sender: TObject); +begin + (Sender as TAction).Enabled := not (DADataSource.DataTable.IsEmpty); +end; + +procedure TfUsuarios.actNuevoUpdate(Sender: TObject); +begin + (Sender as TAction).Enabled := Assigned(DADataSource.DataTable); +end; + +end. diff --git a/Source/ApplicationBase/uFactuGES_App.pas b/Source/ApplicationBase/uFactuGES_App.pas new file mode 100644 index 00000000..cde5ad13 --- /dev/null +++ b/Source/ApplicationBase/uFactuGES_App.pas @@ -0,0 +1,145 @@ +unit uFactuGES_App; + +interface + +uses + SysUtils, Classes, Forms, uUsuarios, uBizEmpresas, + uEmpresasController, JclFileUtils, uUsuariosController; + +type + TAppFactuGES = class(TObject) + private + FAppInfo : TJclFileVersionInfo; + FEmpresasController : IEmpresasController; + FUsuariosController: IUsuariosController; + FEmpresaActiva: IBizEmpresa; + FUsuarioActivo: TUsuario; + function GetAppForm: TCustomForm; + procedure SetEmpresaActiva(const Value: IBizEmpresa); + procedure SetUsuarioActivo(const Value: TUsuario); + function GetEmpresasController: IEmpresasController; + function GetUsuariosController: IUsuariosController; + function GetAppName: String; + function GetAppVersion: String; + protected + procedure InitializeInstance; virtual; + procedure DestroyInstance; virtual; + public + class function NewInstance: TObject; override; + procedure FreeInstance; override; + class function RefCount: Integer; + property AppVersion : String read GetAppVersion; + property AppName : String read GetAppName; + property AppForm : TCustomForm read GetAppForm; + property EmpresaActiva : IBizEmpresa read FEmpresaActiva write SetEmpresaActiva; + property UsuarioActivo : TUsuario read FUsuarioActivo write SetUsuarioActivo; + property EmpresasController : IEmpresasController read GetEmpresasController; + property UsuariosController : IUsuariosController read GetUsuariosController; + end; + +var + AppFactuGES : TAppFactuGES = nil; + +implementation + +uses + uDataModuleBase, uUsuariosViewRegister; + +var + Ref_Count : Integer = 0; + +procedure TAppFactuGES.DestroyInstance; +begin + +end; + +procedure TAppFactuGES.FreeInstance; +begin + Dec(Ref_Count); + if (Ref_Count = 0) then + begin + AppFactuGES := NIL; + // Destroy private variables here + + + + inherited FreeInstance; + end; +end; + +function TAppFactuGES.GetAppForm: TCustomForm; +begin + Result := Application.MainForm; +end; + +function TAppFactuGES.GetAppName: String; +begin + Result := FAppInfo.ProductName; +end; + +function TAppFactuGES.GetAppVersion: String; +begin + Result := FAppInfo.ProductVersion; +end; + +function TAppFactuGES.GetEmpresasController: IEmpresasController; +begin + Result := FEmpresasController; +end; + +function TAppFactuGES.GetUsuariosController: IUsuariosController; +begin + Result := FUsuariosController; +end; + +procedure TAppFactuGES.InitializeInstance; +begin + FEmpresaActiva := NIL; + FUsuarioActivo := NIL; + FAppInfo := TJclFileVersionInfo.Create(Application.ExeName); + FUsuariosController := TUsuariosController.Create; + FEmpresasController := TEmpresasController.Create; +end; + +class function TAppFactuGES.NewInstance: TObject; +begin + if (not Assigned(AppFactuGES)) then + begin + AppFactuGES := TAppFactuGES(inherited NewInstance); + // Initialize private variables here + AppFactuGES.InitializeInstance; + end; + Result := AppFactuGES; + Inc(Ref_Count); +end; + +class function TAppFactuGES.RefCount: Integer; +begin + Result := Ref_Count; +end; + +procedure TAppFactuGES.SetEmpresaActiva(const Value: IBizEmpresa); +begin + FEmpresaActiva := Value; +end; + +procedure TAppFactuGES.SetUsuarioActivo(const Value: TUsuario); +begin + if Assigned(FUsuarioActivo) and (FUsuarioActivo <> Value) then + FreeAndNIL(FUsuarioActivo); + FUsuarioActivo := Value; +end; + +initialization + AppFactuGES := TAppFactuGES.Create; + + // Pongo esto aquí por ahora + uUsuariosViewRegister.RegisterViews; + +finalization + FreeAndNIL(AppFactuGES); + + // Pongo esto aquí por ahora + uUsuariosViewRegister.UnregisterViews; + +end. diff --git a/Source/Base/Base.bdsproj b/Source/Base/Base.bdsproj index 7f75ab6d..7ebf9f74 100644 --- a/Source/Base/Base.bdsproj +++ b/Source/Base/Base.bdsproj @@ -1,183 +1,183 @@  - - - - - - - - - - Base.dpk - - - 7.0 - - - 8 - 0 - 1 - 1 - 0 - 0 - 1 - 1 - 1 - 0 - 0 - 1 - 0 - 1 - 0 - 1 - 0 - 0 - 0 - 0 - 0 - 1 - 1 - 1 - 1 - 1 - True - True - WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; - - False - - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - False - False - False - True - True - True - True - True - True - True - True - True - True - True - True - True - True - True - - - - 0 - 0 - False - 1 - False - False - False - 16384 - 1048576 - 4194304 - Libreria base de FactuGES - - - - .\ - ..\..\Output\Debug\Cliente - ..\Lib - ..\Lib - - - - False - - - - - - False - - - True - False - - - False - - - True - False - 1 - 0 - 0 - 0 - False - False - False - False - False - 3082 - 1252 - - - - - 1.0.0.0 - - - - - - 1.0.0.0 - - + + + + + + + + + + Base.dpk + + + 7.0 + + + 8 + 0 + 1 + 1 + 0 + 0 + 1 + 1 + 1 + 0 + 0 + 1 + 0 + 1 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 1 + 1 + 1 + 1 + 1 + True + True + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + False + False + False + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + + + + 0 + 0 + False + 1 + False + False + False + 16384 + 1048576 + 4194304 + Libreria base de FactuGES + + + + .\ + ..\..\Output\Debug\Cliente + ..\Lib + + + + + False + + + + + + False + + + True + False + + + False + + + True + False + 1 + 0 + 0 + 0 + False + False + False + False + False + 3082 + 1252 + + + + + 1.0.0.0 + + + + + + 1.0.0.0 + + VCL for the Web Design Package for CodeGear RAD Studio CodeGear WebSnap Components CodeGear SOAP Components @@ -186,10 +186,9 @@ CodeGear C++Builder Office 2000 Servers Package CodeGear C++Builder Office XP Servers Package - - + + - diff --git a/Source/Base/Base.drc b/Source/Base/Base.drc index fb8b881c..d993392a 100644 --- a/Source/Base/Base.drc +++ b/Source/Base/Base.drc @@ -14,10 +14,10 @@ BEGIN uClassRegistryUtils_eClassnotFound, "Class \"%s\" was not found in the registry." END -/* C:\Codigo Tecsitel\Source\Base\Conexion\uConfigurarConexion.dfm */ -/* C:\Codigo Tecsitel\Source\Base\Conexion\uDataModuleConexion.dfm */ -/* C:\Codigo Tecsitel\Source\Base\Configuracion\uDataModuleConfiguracion.dfm */ -/* C:\Codigo Tecsitel\Source\Base\uDataModuleBase.DFM */ -/* C:\Codigo Tecsitel\Source\Base\Actualizacion\uActualizacion.dfm */ +/* Conexion\uConfigurarConexion.dfm */ +/* Conexion\uDataModuleConexion.dfm */ +/* Configuracion\uDataModuleConfiguracion.dfm */ +/* uDataModuleBase.DFM */ +/* Actualizacion\uActualizacion.dfm */ /* C:\Codigo Tecsitel\Source\Base\Base.res */ /* C:\Codigo Tecsitel\Source\Base\Base.drf */ diff --git a/Source/Base/Base.res b/Source/Base/Base.res index 02236de8..8b251f31 100644 Binary files a/Source/Base/Base.res and b/Source/Base/Base.res differ diff --git a/Source/Base/Controladores/uControllerBase.pas b/Source/Base/Controladores/uControllerBase.pas index 0d3f90a6..b710af87 100644 --- a/Source/Base/Controladores/uControllerBase.pas +++ b/Source/Base/Controladores/uControllerBase.pas @@ -39,6 +39,9 @@ type destructor Destroy; override; end; + IControllerBase = IObservador; + TControllerBase = TObservador; + implementation uses diff --git a/Source/Base/Usuarios/Data/uDataModuleUsuarios.dfm b/Source/Base/Usuarios/Data/uDataModuleUsuarios.dfm deleted file mode 100644 index 1b2ff77c..00000000 --- a/Source/Base/Usuarios/Data/uDataModuleUsuarios.dfm +++ /dev/null @@ -1,76 +0,0 @@ -object DataModuleUsuarios: TDataModuleUsuarios - OldCreateOrder = True - OnCreate = DAClientDataModuleCreate - Height = 205 - Width = 355 - object ROLoginService: TRORemoteService - Message = dmConexion.ROMessage - Channel = dmConexion.ROChannel - ServiceName = 'srvLogin' - Left = 48 - Top = 32 - end - object srvUsuarios: TRORemoteService - Message = dmConexion.ROMessage - Channel = dmConexion.ROChannel - ServiceName = 'srvUsuarios' - Left = 152 - Top = 32 - end - object Bin2DataStreamer: TDABin2DataStreamer - Left = 48 - Top = 104 - end - object UserControl1: TUserControl - ApplicationID = 'ProjetoNovo' - LogControl.TableLog = 'UCLog' - EncryptKey = 0 - Login.InitialLogin.User = 'admin' - Login.InitialLogin.Email = 'usercontrol@usercontrol.net' - Login.InitialLogin.Password = '123mudar' - Login.MaxLoginAttempts = 0 - ExtraRights = <> - TableUsers.FieldUserID = 'UCIdUser' - TableUsers.FieldUserName = 'UCUserName' - TableUsers.FieldLogin = 'UCLogin' - TableUsers.FieldPassword = 'UCPassword' - TableUsers.FieldEmail = 'UCEmail' - TableUsers.FieldPrivileged = 'UCPrivileged' - TableUsers.FieldTypeRec = 'UCTypeRec' - TableUsers.FieldProfile = 'UCProfile' - TableUsers.FieldKey = 'UCKey' - TableUsers.FieldDateExpired = 'UCPassExpired' - TableUsers.FieldUserExpired = 'UCUserExpired' - TableUsers.FieldUserDaysSun = 'UCUserDaysSun' - TableUsers.TableName = 'UCTabUsers' - TableEmpresa.FieldID = 'UCID' - TableEmpresa.FieldName = 'UCNOME' - TableEmpresa.TableName = 'UCEMPRESA' - TableEmpresa.Active = False - TableEmpresa.IDInteiro = False - TableRights.FieldUserID = 'UCIdUser' - TableRights.FieldModule = 'UCModule' - TableRights.FieldComponentName = 'UCCompName' - TableRights.FieldFormName = 'UCFormName' - TableRights.FieldKey = 'UCKey' - TableRights.TableName = 'UCTabRights' - TableUsersLogged.FieldLogonID = 'UCIdLogon' - TableUsersLogged.FieldUserID = 'UCIdUser' - TableUsersLogged.FieldApplicationID = 'UCApplicationId' - TableUsersLogged.FieldMachineName = 'UCMachineName' - TableUsersLogged.FieldData = 'UCData' - TableUsersLogged.TableName = 'UCTabUsersLogged' - TableHistory.TableName = 'UCTABHistory' - TableHistory.FieldApplicationID = 'ApplicationID' - TableHistory.FieldUserID = 'UserID' - TableHistory.FieldEventDate = 'EventDate' - TableHistory.FieldEventTime = 'EventTime' - TableHistory.FieldForm = 'Form' - TableHistory.FieldCaptionForm = 'FormCaption' - TableHistory.FieldEvent = 'Event' - TableHistory.FieldObs = 'Obs' - TableHistory.FieldTableName = 'tName' - Left = 192 - Top = 120 - end -end diff --git a/Source/Base/Utiles/uSistemaFunc.pas b/Source/Base/Utiles/uSistemaFunc.pas index 1839cb51..f47dc7de 100644 --- a/Source/Base/Utiles/uSistemaFunc.pas +++ b/Source/Base/Utiles/uSistemaFunc.pas @@ -43,8 +43,7 @@ procedure Deltree(DirToKill : String; KillChoosenDir : Boolean); implementation uses - SysUtils, Windows, Dialogs, - + SysUtils, Windows, Dialogs, JclFileUtils, Messages, Classes, Graphics, Controls, Forms, StdCtrls; @@ -151,27 +150,14 @@ end; function DarVersionFichero (Executable : String) : String; var - Size, Size2: DWord; - Pt, Pt2: Pointer; + Obj : TJclFileVersionInfo; begin - Size := GetFileVersionInfoSize(PChar (Executable), Size2); - if Size > 0 then - begin - GetMem (Pt, Size); - try - GetFileVersionInfo (PChar (Executable), 0, Size, Pt); - VerQueryValue (Pt, '\', Pt2, Size2); - with TVSFixedFileInfo (Pt2^) do - begin - Result:= IntToStr (HiWord (dwFileVersionMS)) + '.' + - IntToStr (LoWord (dwFileVersionMS)) + '.' + - IntToStr (HiWord (dwFileVersionLS)) + '.' + - IntToStr (LoWord (dwFileVersionLS)); - end; - finally - FreeMem (Pt); - end; - end; + Obj := TJclFileVersionInfo.Create(Application.ExeName); + try + Result := Obj.FileVersion; + finally + FreeAndNil(Obj); + end; end; function DarFechaFichero (Executable : String) : String; diff --git a/Source/Base/__uExceptions.pas__ b/Source/Base/__uExceptions.pas__ deleted file mode 100644 index d3e6e852..00000000 --- a/Source/Base/__uExceptions.pas__ +++ /dev/null @@ -1,20 +0,0 @@ -unit uExceptions; - -interface - -uses - uDADataTable; - -const - AUF_FKVIOLATION = 'violation of FOREIGN KEY'; - AUF_HAVEVALUE = 'must have a value'; - -type - IApplyUpdateFailedException = interface - ['{B090A762-3D65-405E-A810-14DB4F6E8F82}'] - procedure ShowApplyUpdateFailed (const Error: EDAApplyUpdateFailed); - end; - -implementation - -end. diff --git a/Source/Base/uDataModuleBase.pas b/Source/Base/uDataModuleBase.pas index 812a1627..35ee011f 100644 --- a/Source/Base/uDataModuleBase.pas +++ b/Source/Base/uDataModuleBase.pas @@ -24,7 +24,6 @@ type procedure LeerConfiguracion; public procedure SalvarConfiguracion; - function DarVersion : String; property OnThemeChange: TNotifyEvent read FOnThemeChange write FOnThemeChange; end; @@ -98,18 +97,6 @@ begin dmConfiguracion.SalvarConfiguracion; end; -function TdmBase.DarVersion: String; -var - Obj : TJclFileVersionInfo; -begin - Obj := TJclFileVersionInfo.Create(Application.ExeName); - try - Result := 'v' + Obj.FileVersion; - finally - FreeAndNil(Obj); - end; -end; - procedure TdmBase.DataModuleDestroy(Sender: TObject); begin FreeANDNIL(dmConfiguracion); diff --git a/Source/Base_Group.groupproj b/Source/Base_Group.groupproj index 2076a8e0..f28fcdfa 100644 --- a/Source/Base_Group.groupproj +++ b/Source/Base_Group.groupproj @@ -4,7 +4,10 @@ + + + Default.Personality @@ -21,14 +24,41 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + - + \ No newline at end of file diff --git a/Source/ClearFiles.msbuild b/Source/ClearFiles.msbuild deleted file mode 100644 index 30f4b9de..00000000 --- a/Source/ClearFiles.msbuild +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/Source/Base/Actualizacion/uActualizacion.dfm b/Source/Cliente/Actualizacion/uActualizacion.dfm similarity index 100% rename from Source/Base/Actualizacion/uActualizacion.dfm rename to Source/Cliente/Actualizacion/uActualizacion.dfm diff --git a/Source/Base/Actualizacion/uActualizacion.pas b/Source/Cliente/Actualizacion/uActualizacion.pas similarity index 100% rename from Source/Base/Actualizacion/uActualizacion.pas rename to Source/Cliente/Actualizacion/uActualizacion.pas diff --git a/Source/Cliente/FactuGES.dpr b/Source/Cliente/FactuGES.dpr index 18c64e48..7a4baf90 100644 --- a/Source/Cliente/FactuGES.dpr +++ b/Source/Cliente/FactuGES.dpr @@ -1,9 +1,11 @@ program FactuGES; uses + ExceptionLog, Forms, Windows, SysUtils, + uFactuGES_App, uPantallaPrincipal in 'uPantallaPrincipal.pas' {fPantallaPrincipal}, uMenuUtils in 'Utiles\uMenuUtils.pas', uSplash in 'uSplash.pas' {SplashScreen}, @@ -20,14 +22,14 @@ var begin Application.Initialize; + //ReportMemoryLeaksOnShutdown := True; // ¡¡¡Fallo en Delphi 2007!!! // Tengo que ponerlo a false porque si no el formulario principal no se puede poner por encima de los formularios hijos. // Luego, en el formulario principal cambio los paramátros para obligar a que aparezca el icono en la barra de tareas. Application.MainFormOnTaskbar := False; - - Application.Title := 'FactuGES'; + Application.Title := AppFactuGES.AppName; { fActualizacion := TfActualizacion.Create(Application); try diff --git a/Source/Cliente/FactuGES.dproj b/Source/Cliente/FactuGES.dproj index 7daa3c52..66d34648 100644 --- a/Source/Cliente/FactuGES.dproj +++ b/Source/Cliente/FactuGES.dproj @@ -5,7 +5,7 @@ FactuGES.dpr Debug AnyCPU - PluginSDK_D10R;GUISDK_D11;Base;GUIBase;Empresas_plugin;Empresas_controller;Empresas_model + PluginSDK_D10R;GUISDK_D11;Base;GUIBase;ApplicationBase DCC32 ..\..\Output\Debug\Cliente\FactuGES.exe true @@ -45,43 +45,13 @@ $(BDS)\lib\Debug;$(BDS)\Lib\Debug\Indy10;T:\COMPON~1\jcl\lib\d11\debug;$(BDSCOMMONDIR)\Dcp;..\Lib;..\Modulos\Lib $(BDS)\lib\Debug;$(BDS)\Lib\Debug\Indy10;T:\COMPON~1\jcl\lib\d11\debug;$(BDSCOMMONDIR)\Dcp;..\Lib;..\Modulos\Lib $(BDS)\lib\Debug;$(BDS)\Lib\Debug\Indy10;T:\COMPON~1\jcl\lib\d11\debug;$(BDSCOMMONDIR)\Dcp;..\Lib;..\Modulos\Lib - DEBUG; + DEBUG;EUREKALOG;EUREKALOG_VER6 Delphi.Personality VCLApplication T:\Codigo (Luis Leon)\Source\Modulos\Pedidos de cliente\Controller\FalseTrueFalseC:\Archivos de programa\Borland\Delphi7\Bin\TrueFalse2220FalseFalseFalseFalseFalse30821252Rodax Software S.L.2.2.2.0FactuGESFactuGES2.1.4 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - CodeGear Control Panel Applet Package CodeGear WebSnap Components CodeGear SOAP Components @@ -116,12 +86,12 @@ diff --git a/Source/Servidor/FactuGES_Server.cfg b/Source/Servidor/FactuGES_Server.cfg index 7c5d7e6e..45f6a1af 100644 --- a/Source/Servidor/FactuGES_Server.cfg +++ b/Source/Servidor/FactuGES_Server.cfg @@ -35,4 +35,3 @@ -E"..\..\Output\Debug\Servidor" -LE"C:\Documents and Settings\All Users\Documentos\RAD Studio\5.0\Bpl" -LN"C:\Documents and Settings\All Users\Documentos\RAD Studio\5.0\Dcp" --DEUREKALOG;EUREKALOG_VER6 diff --git a/Source/Servidor/FactuGES_Server.dpr b/Source/Servidor/FactuGES_Server.dpr index 09f33e5a..16ed3212 100644 --- a/Source/Servidor/FactuGES_Server.dpr +++ b/Source/Servidor/FactuGES_Server.dpr @@ -3,7 +3,6 @@ program FactuGES_Server; {#ROGEN:..\Servicios\FactuGES.rodl} // RemObjects: Careful, do not remove! uses - ExceptionLog, uROComInit, Forms, uServerMainForm in 'uServerMainForm.pas' {fServerForm}, @@ -16,13 +15,13 @@ uses FactuGES_Intf in '..\Servicios\FactuGES_Intf.pas', FactuGES_Invk in '..\Servicios\FactuGES_Invk.pas', srvContactos_Impl in '..\Modulos\Contactos\Servidor\srvContactos_Impl.pas' {srvContactos: TDARemoteService}, - srvLogin_Impl in 'srvLogin_Impl.pas', - srvEmpresas_Impl in '..\Base\Empresas\Servidor\srvEmpresas_Impl.pas' {srvEmpresas: TDARemoteService}, + srvLogin_Impl in 'srvLogin_Impl.pas' {srvLogin: TDARemoteService}, + srvEmpresas_Impl in '..\ApplicationBase\Empresas\Servidor\srvEmpresas_Impl.pas' {srvEmpresas: TDARemoteService}, srvConfiguracion_Impl in 'Configuracion\srvConfiguracion_Impl.pas' {srvConfiguracion: TDataAbstractService}, srvFamilias_Impl in '..\Modulos\Familias\Servidor\srvFamilias_Impl.pas', srvFormasPago_Impl in '..\Modulos\Formas de pago\Servidor\srvFormasPago_Impl.pas', srvTiposIVA_Impl in '..\Modulos\Tipos de IVA\Servidor\srvTiposIVA_Impl.pas', - srvUsuarios_Impl in '..\Base\Usuarios\Servidor\srvUsuarios_Impl.pas', + srvUsuarios_Impl in '..\ApplicationBase\Usuarios\Servidor\srvUsuarios_Impl.pas', RegExpr in 'Utiles\RegExpr.pas', uBusinessUtils in 'Utiles\uBusinessUtils.pas', uDatabaseUtils in 'Utiles\uDatabaseUtils.pas', @@ -37,14 +36,16 @@ uses uBizClientesServer in '..\Modulos\Contactos\Model\uBizClientesServer.pas', uBizContactosServer in '..\Modulos\Contactos\Model\uBizContactosServer.pas', uBizEmpleadosServer in '..\Modulos\Contactos\Model\uBizEmpleadosServer.pas', - schEmpresasServer_Intf in '..\Base\Empresas\Model\schEmpresasServer_Intf.pas', - schEmpresasClient_Intf in '..\Base\Empresas\Model\schEmpresasClient_Intf.pas', + schEmpresasServer_Intf in '..\ApplicationBase\Empresas\Model\schEmpresasServer_Intf.pas', + schEmpresasClient_Intf in '..\ApplicationBase\Empresas\Model\schEmpresasClient_Intf.pas', schFamiliasServer_Intf in '..\Modulos\Familias\Model\schFamiliasServer_Intf.pas', schFamiliasClient_Intf in '..\Modulos\Familias\Model\schFamiliasClient_Intf.pas', schFormasPagoServer_Intf in '..\Modulos\Formas de pago\Model\schFormasPagoServer_Intf.pas', schFormasPagoClient_Intf in '..\Modulos\Formas de pago\Model\schFormasPagoClient_Intf.pas', schTiposIVAServer_Intf in '..\Modulos\Tipos de IVA\Model\schTiposIVAServer_Intf.pas', - schTiposIVAClient_Intf in '..\Modulos\Tipos de IVA\Model\schTiposIVAClient_Intf.pas'; + schTiposIVAClient_Intf in '..\Modulos\Tipos de IVA\Model\schTiposIVAClient_Intf.pas', + schUsuariosClient_Intf in '..\ApplicationBase\Usuarios\Model\schUsuariosClient_Intf.pas', + schUsuariosServer_Intf in '..\ApplicationBase\Usuarios\Model\schUsuariosServer_Intf.pas'; {$R *.res} {$R ..\Servicios\RODLFile.res} diff --git a/Source/Servidor/FactuGES_Server.dproj b/Source/Servidor/FactuGES_Server.dproj new file mode 100644 index 00000000..9cf1ef2a --- /dev/null +++ b/Source/Servidor/FactuGES_Server.dproj @@ -0,0 +1,585 @@ + + + {ebdcd25d-40d7-4146-91ec-a0ea4aa1dcd1} + FactuGES_Server.dpr + Debug + AnyCPU + DCC32 + ..\..\Output\Debug\Servidor\FactuGES_Server.exe + + + 7.0 + False + False + 0 + 3 + ..\..\Output\Release\Servidor + RELEASE + + + 7.0 + 3 + ..\..\Output\Debug\Servidor + DEBUG + + + Delphi.Personality + + +FalseTrueFalseTrueFalse3000FalseFalseFalseFalseFalse308212523.0.0.03.0.0.0domingo, 30 de septiembre de 2007 20:47 + RemObjects Pascal Script - RemObjects SDK 3.0 Integration + FactuGES_Server.dpr + + + + + MainSource + + + + +
srvEmpresas
+
+ + + + + + + + + + +
srvContactos
+
+ + + + + + + + + + + + +
srvConfiguracion
+
+ +
frConexionBD
+
+ +
frConfGeneral
+
+ +
fConfiguracion
+
+ +
FrameConfiguracion
+
+ +
srvLogin
+
+ +
fAcercaDe
+
+ +
dmServer
+
+ +
fServerForm
+
+ + + + + + + + +
+
+ diff --git a/Source/Servidor/FactuGES_Server.drc b/Source/Servidor/FactuGES_Server.drc index 4d3386b9..c642df23 100644 --- a/Source/Servidor/FactuGES_Server.drc +++ b/Source/Servidor/FactuGES_Server.drc @@ -8,247 +8,243 @@ resources were bound to the produced executable. */ -#define pnglang_EPNGHeaderNotPresentText 64480 -#define pnglang_EPNGZLIBErrorText 64496 -#define pnglang_EPNGInvalidPaletteText 64497 -#define pnglang_EPNGInvalidFileHeaderText 64498 -#define pnglang_EPNGIHDRNotFirstText 64499 -#define pnglang_EPNGSizeExceedsText 64500 -#define pnglang_EPNGUnknownPalEntryText 64501 -#define pnglang_EPNGUnknownCriticalChunkText 64502 -#define pnglang_EPNGUnknownCompressionText 64503 -#define pnglang_EPNGUnknownInterlaceText 64504 -#define pnglang_EPNGCannotAssignChunkText 64505 -#define pnglang_EPNGUnexpectedEndText 64506 -#define pnglang_EPNGNoImageDataText 64507 -#define pnglang_EPNGCannotChangeSizeText 64508 -#define pnglang_EPNGCannotAddChunkText 64509 -#define pnglang_EPNGCannotAddInvalidImageText 64510 -#define pnglang_EPNGOutMemoryText 64511 -#define cxEditConsts_scxRegExprTooBigReferenceNumber 64512 -#define cxEditConsts_scxRegExprCantCreateEmptyEnum 64513 -#define cxEditConsts_scxRegExprSubrangeOrder 64514 -#define cxEditConsts_scxRegExprHexNumberExpected0 64515 -#define cxEditConsts_scxRegExprHexNumberExpected 64516 -#define cxEditConsts_scxRegExprMissing 64517 -#define cxEditConsts_scxRegExprUnnecessary 64518 -#define cxEditConsts_scxRegExprIncorrectSpace 64519 -#define cxEditConsts_scxRegExprNotCompiled 64520 -#define cxEditConsts_scxRegExprIncorrectParameterQuantifier 64521 -#define cxEditConsts_scxRegExprCantUseParameterQuantifier 64522 -#define cxEditConsts_scxMaskEditRegExprError 64523 -#define cxEditConsts_scxMaskEditInvalidEditValue 64524 -#define pnglang_EPngInvalidCRCText 64525 -#define pnglang_EPNGInvalidIHDRText 64526 -#define pnglang_EPNGMissingMultipleIDATText 64527 -#define cxEditConsts_cxSDateEOM 64528 -#define cxEditConsts_cxSDateNow 64529 -#define cxEditConsts_scxSEditRepositoryButtonItem 64530 -#define cxEditConsts_scxSEditRepositoryMaskItem 64531 -#define cxEditConsts_scxSEditRepositoryTextItem 64532 -#define cxEditConsts_scxRegExprLine 64533 -#define cxEditConsts_scxRegExprChar 64534 -#define cxEditConsts_scxRegExprNotAssignedSourceStream 64535 -#define cxEditConsts_scxRegExprEmptySourceStream 64536 -#define cxEditConsts_scxRegExprCantUsePlusQuantifier 64537 -#define cxEditConsts_scxRegExprCantUseStarQuantifier 64538 -#define cxEditConsts_scxRegExprCantCreateEmptyAlt 64539 -#define cxEditConsts_scxRegExprCantCreateEmptyBlock 64540 -#define cxEditConsts_scxRegExprIllegalSymbol 64541 -#define cxEditConsts_scxRegExprIllegalQuantifier 64542 -#define cxEditConsts_scxRegExprIllegalIntegerValue 64543 -#define cxEditConsts_cxSDateTomorrow 64544 -#define cxEditConsts_cxSDateSunday 64545 -#define cxEditConsts_cxSDateMonday 64546 -#define cxEditConsts_cxSDateTuesday 64547 -#define cxEditConsts_cxSDateWednesday 64548 -#define cxEditConsts_cxSDateThursday 64549 -#define cxEditConsts_cxSDateFriday 64550 -#define cxEditConsts_cxSDateSaturday 64551 -#define cxEditConsts_cxSDateFirst 64552 -#define cxEditConsts_cxSDateSecond 64553 -#define cxEditConsts_cxSDateThird 64554 -#define cxEditConsts_cxSDateFourth 64555 -#define cxEditConsts_cxSDateFifth 64556 -#define cxEditConsts_cxSDateSixth 64557 -#define cxEditConsts_cxSDateSeventh 64558 -#define cxEditConsts_cxSDateBOM 64559 -#define IBXConst_SEventAlreadyRegistered 64560 -#define IBXConst_SStringTooLarge 64561 -#define IBXConst_SNoTimers 64562 -#define IBXConst_SIB65feature 64563 -#define IBXConst_SLoginPromptFailure 64564 -#define IBXConst_SIB70feature 64565 -#define IBXConst_SIB71feature 64566 -#define IBXConst_SIB80feature 64567 -#define cxDataConsts_cxSDataReadError 64568 -#define cxDataConsts_cxSDataWriteError 64569 -#define cxEditConsts_cxSEditInvalidRepositoryItem 64570 -#define cxEditConsts_cxSEditNumericValueConvertError 64571 -#define cxEditConsts_cxSEditValidateErrorText 64572 -#define cxEditConsts_cxSEditValueOutOfBounds 64573 -#define cxEditConsts_cxSDateToday 64574 -#define cxEditConsts_cxSDateYesterday 64575 -#define IBXConst_SParamNameExpected 64576 -#define IBXConst_SSuccess 64577 -#define IBXConst_SDelphiException 64578 -#define IBXConst_SNoOptionsSet 64579 -#define IBXConst_SNoDestinationDirectory 64580 -#define IBXConst_SNosourceDirectory 64581 -#define IBXConst_SNoUninstallFile 64582 -#define IBXConst_SOptionNeedsClient 64583 -#define IBXConst_SOptionNeedsServer 64584 -#define IBXConst_SInvalidOption 64585 -#define IBXConst_SInvalidOnErrorResult 64586 -#define IBXConst_SInvalidOnStatusResult 64587 -#define IBXConst_SDPBConstantUnknownEx 64588 -#define IBXConst_STPBConstantUnknownEx 64589 -#define IBXConst_SUnknownPlan 64590 -#define IBXConst_SFieldSizeMismatch 64591 -#define IBXConst_SInvalidBatchMove 64592 -#define IBXConst_SSQLDialectInvalid 64593 -#define IBXConst_SSPBConstantNotSupported 64594 -#define IBXConst_SSPBConstantUnknown 64595 -#define IBXConst_SServiceActive 64596 -#define IBXConst_SServiceInActive 64597 -#define IBXConst_SServerNameMissing 64598 -#define IBXConst_SQueryParamsError 64599 -#define IBXConst_SStartParamsError 64600 -#define IBXConst_SOutputParsingError 64601 -#define IBXConst_SUseSpecificProcedures 64602 -#define IBXConst_SSQLMonitorAlreadyPresent 64603 -#define IBXConst_SCantPrintValue 64604 -#define IBXConst_SEOFReached 64605 -#define IBXConst_SEOFInComment 64606 -#define IBXConst_SEOFInString 64607 -#define IBXConst_SUpdateFailed 64608 -#define IBXConst_SNotCachedUpdates 64609 -#define IBXConst_SNotLiveRequest 64610 -#define IBXConst_SNoProvider 64611 -#define IBXConst_SNoRecordsAffected 64612 -#define IBXConst_SNoTableName 64613 -#define IBXConst_SCannotCreatePrimaryIndex 64614 -#define IBXConst_SCannotDropSystemIndex 64615 -#define IBXConst_STableNameMismatch 64616 -#define IBXConst_SIndexFieldMissing 64617 -#define IBXConst_SInvalidCancellation 64618 -#define IBXConst_SInvalidEvent 64619 -#define IBXConst_SMaximumEvents 64620 -#define IBXConst_SNoEventsRegistered 64621 -#define IBXConst_SInvalidQueueing 64622 -#define IBXConst_SInvalidRegistration 64623 -#define IBXConst_SCircularReference 64624 -#define IBXConst_SSQLParseError 64625 -#define IBXConst_SUserAbort 64626 -#define IBXConst_SDataSetUniDirectional 64627 -#define IBXConst_SCannotCreateSharedResource 64628 -#define IBXConst_SWindowsAPIError 64629 -#define IBXConst_SColumnListsDontMatch 64630 -#define IBXConst_SColumnTypesDontMatch 64631 -#define IBXConst_SCantEndSharedTransaction 64632 -#define IBXConst_SFieldUnsupportedType 64633 -#define IBXConst_SCircularDataLink 64634 -#define IBXConst_SEmptySQLStatement 64635 -#define IBXConst_SIsASelectStatement 64636 -#define IBXConst_SRequiredParamNotSet 64637 -#define IBXConst_SNoStoredProcName 64638 -#define IBXConst_SIsAExecuteProcedure 64639 -#define IBXConst_SInvalidDataConversion 64640 -#define IBXConst_SColumnIsNotNullable 64641 -#define IBXConst_SBlobCannotBeRead 64642 -#define IBXConst_SBlobCannotBeWritten 64643 -#define IBXConst_SEmptyQuery 64644 -#define IBXConst_SCannotOpenNonSQLSelect 64645 -#define IBXConst_SNoFieldAccess 64646 -#define IBXConst_SFieldReadOnly 64647 -#define IBXConst_SFieldNotFound 64648 -#define IBXConst_SNotEditing 64649 -#define IBXConst_SCannotInsert 64650 -#define IBXConst_SCannotPost 64651 -#define IBXConst_SCannotUpdate 64652 -#define IBXConst_SCannotDelete 64653 -#define IBXConst_SCannotRefresh 64654 -#define IBXConst_SBufferNotSet 64655 -#define IBXConst_SUpdateWrongDB 64656 -#define IBXConst_SUpdateWrongTR 64657 -#define IBXConst_SDatabaseNotAssigned 64658 -#define IBXConst_STransactionNotAssigned 64659 -#define IBXConst_SXSQLDAIndexOutOfRange 64660 -#define IBXConst_SXSQLDANameDoesNotExist 64661 -#define IBXConst_SEOF 64662 -#define IBXConst_SBOF 64663 -#define IBXConst_SInvalidStatementHandle 64664 -#define IBXConst_SSQLOpen 64665 -#define IBXConst_SSQLClosed 64666 -#define IBXConst_SDatasetOpen 64667 -#define IBXConst_SDatasetClosed 64668 -#define IBXConst_SUnknownSQLDataType 64669 -#define IBXConst_SInvalidColumnIndex 64670 -#define IBXConst_SInvalidParamColumnIndex 64671 -#define IBXConst_SFileAccessError 64672 -#define IBXConst_SConnectionTimeout 64673 -#define IBXConst_SCannotSetDatabase 64674 -#define IBXConst_SCannotSetTransaction 64675 -#define IBXConst_SOperationCancelled 64676 -#define IBXConst_SDPBConstantNotSupported 64677 -#define IBXConst_SDPBConstantUnknown 64678 -#define IBXConst_STPBConstantNotSupported 64679 -#define IBXConst_STPBConstantUnknown 64680 -#define IBXConst_SDatabaseClosed 64681 -#define IBXConst_SDatabaseOpen 64682 -#define IBXConst_SDatabaseNameMissing 64683 -#define IBXConst_SNotInTransaction 64684 -#define IBXConst_SInTransaction 64685 -#define IBXConst_STimeoutNegative 64686 -#define IBXConst_SNoDatabasesInTransaction 64687 -#define IBSQLMonitor_StrFetch 64688 -#define IBSQLMonitor_StrPrepare 64689 -#define IBSQLMonitor_StrPlan 64690 -#define IBSQLMonitor_StrPlanCantRetrive 64691 -#define IBSQLMonitor_StrCommitHardComm 64692 -#define IBSQLMonitor_StrCommitRetaining 64693 -#define IBSQLMonitor_StrRollback 64694 -#define IBSQLMonitor_StrRollbackRetainin 64695 -#define IBSQLMonitor_StrStartTransaction 64696 -#define IBSQLMonitor_StrApplication 64697 -#define IBXConst_SUnknownError 64698 -#define IBXConst_SInterBaseMissing 64699 -#define IBXConst_SInterBaseInstallMissing 64700 -#define IBXConst_SIB60feature 64701 -#define IBXConst_SNotSupported 64702 -#define IBXConst_SNotPermitted 64703 -#define ADOConst_SCantRequery 64704 -#define ADOConst_SNoFilterOptions 64705 -#define ADOConst_SRecordsetNotOpen 64706 -#define ADOConst_sNameAttr 64707 -#define ADOConst_sValueAttr 64708 -#define IBSQLMonitor_StrConnect 64709 -#define IBSQLMonitor_StrDisconnect 64710 -#define IBSQLMonitor_StrMisc 64711 -#define IBSQLMonitor_StrError 64712 -#define IBSQLMonitor_StrAttach 64713 -#define IBSQLMonitor_StrDetach 64714 -#define IBSQLMonitor_StrQuery 64715 -#define IBSQLMonitor_StrStart 64716 -#define IBSQLMonitor_StrExecute 64717 -#define IBSQLMonitor_StrNULL 64718 -#define IBSQLMonitor_StrBLOB 64719 -#define uDARes_err_DARDMConnectionIsNotAssigned 64720 -#define uDARes_err_DARDMCannotFindProxessorForDelta 64721 -#define uDARes_err_NeedShareMem 64722 -#define uDARes_err_ExecuteSQLCommandNotAllowed 64723 -#define uDARes_err_DatasetNotAccessible 64724 -#define uDARes_err_CommandNotAccessible 64725 -#define uDARes_err_SQLNotPermitted 64726 -#define ADOConst_SMissingConnection 64727 -#define ADOConst_SNoDetailFilter 64728 -#define ADOConst_SBookmarksRequired 64729 -#define ADOConst_SMissingCommandText 64730 -#define ADOConst_SNoResultSet 64731 -#define ADOConst_SADOCreateError 64732 -#define ADOConst_SEventsNotSupported 64733 -#define ADOConst_SUsupportedFieldType 64734 -#define ADOConst_SConnectionRequired 64735 +#define cxEditConsts_scxRegExprTooBigReferenceNumber 64496 +#define cxEditConsts_scxRegExprCantCreateEmptyEnum 64497 +#define cxEditConsts_scxRegExprSubrangeOrder 64498 +#define cxEditConsts_scxRegExprHexNumberExpected0 64499 +#define cxEditConsts_scxRegExprHexNumberExpected 64500 +#define cxEditConsts_scxRegExprMissing 64501 +#define cxEditConsts_scxRegExprUnnecessary 64502 +#define cxEditConsts_scxRegExprIncorrectSpace 64503 +#define cxEditConsts_scxRegExprNotCompiled 64504 +#define cxEditConsts_scxRegExprIncorrectParameterQuantifier 64505 +#define cxEditConsts_scxRegExprCantUseParameterQuantifier 64506 +#define cxEditConsts_scxMaskEditRegExprError 64507 +#define cxEditConsts_scxMaskEditInvalidEditValue 64508 +#define cxEditConsts_cxSDateEOM 64512 +#define cxEditConsts_cxSDateNow 64513 +#define cxEditConsts_scxSEditRepositoryButtonItem 64514 +#define cxEditConsts_scxSEditRepositoryMaskItem 64515 +#define cxEditConsts_scxSEditRepositoryTextItem 64516 +#define cxEditConsts_scxRegExprLine 64517 +#define cxEditConsts_scxRegExprChar 64518 +#define cxEditConsts_scxRegExprNotAssignedSourceStream 64519 +#define cxEditConsts_scxRegExprEmptySourceStream 64520 +#define cxEditConsts_scxRegExprCantUsePlusQuantifier 64521 +#define cxEditConsts_scxRegExprCantUseStarQuantifier 64522 +#define cxEditConsts_scxRegExprCantCreateEmptyAlt 64523 +#define cxEditConsts_scxRegExprCantCreateEmptyBlock 64524 +#define cxEditConsts_scxRegExprIllegalSymbol 64525 +#define cxEditConsts_scxRegExprIllegalQuantifier 64526 +#define cxEditConsts_scxRegExprIllegalIntegerValue 64527 +#define cxEditConsts_cxSDateTomorrow 64528 +#define cxEditConsts_cxSDateSunday 64529 +#define cxEditConsts_cxSDateMonday 64530 +#define cxEditConsts_cxSDateTuesday 64531 +#define cxEditConsts_cxSDateWednesday 64532 +#define cxEditConsts_cxSDateThursday 64533 +#define cxEditConsts_cxSDateFriday 64534 +#define cxEditConsts_cxSDateSaturday 64535 +#define cxEditConsts_cxSDateFirst 64536 +#define cxEditConsts_cxSDateSecond 64537 +#define cxEditConsts_cxSDateThird 64538 +#define cxEditConsts_cxSDateFourth 64539 +#define cxEditConsts_cxSDateFifth 64540 +#define cxEditConsts_cxSDateSixth 64541 +#define cxEditConsts_cxSDateSeventh 64542 +#define cxEditConsts_cxSDateBOM 64543 +#define pnglang_EPNGCannotAssignChunkText 64544 +#define pnglang_EPNGUnexpectedEndText 64545 +#define pnglang_EPNGNoImageDataText 64546 +#define pnglang_EPNGCannotChangeSizeText 64547 +#define pnglang_EPNGCannotAddChunkText 64548 +#define pnglang_EPNGCannotAddInvalidImageText 64549 +#define pnglang_EPNGOutMemoryText 64550 +#define pnglang_EPNGHeaderNotPresentText 64551 +#define cxDataConsts_cxSDataReadError 64552 +#define cxDataConsts_cxSDataWriteError 64553 +#define cxEditConsts_cxSEditInvalidRepositoryItem 64554 +#define cxEditConsts_cxSEditNumericValueConvertError 64555 +#define cxEditConsts_cxSEditValidateErrorText 64556 +#define cxEditConsts_cxSEditValueOutOfBounds 64557 +#define cxEditConsts_cxSDateToday 64558 +#define cxEditConsts_cxSDateYesterday 64559 +#define ADOConst_SNoFilterOptions 64560 +#define ADOConst_SRecordsetNotOpen 64561 +#define ADOConst_sNameAttr 64562 +#define ADOConst_sValueAttr 64563 +#define pnglang_EPngInvalidCRCText 64564 +#define pnglang_EPNGInvalidIHDRText 64565 +#define pnglang_EPNGMissingMultipleIDATText 64566 +#define pnglang_EPNGZLIBErrorText 64567 +#define pnglang_EPNGInvalidPaletteText 64568 +#define pnglang_EPNGInvalidFileHeaderText 64569 +#define pnglang_EPNGIHDRNotFirstText 64570 +#define pnglang_EPNGSizeExceedsText 64571 +#define pnglang_EPNGUnknownPalEntryText 64572 +#define pnglang_EPNGUnknownCriticalChunkText 64573 +#define pnglang_EPNGUnknownCompressionText 64574 +#define pnglang_EPNGUnknownInterlaceText 64575 +#define IBSQLMonitor_StrCommitHardComm 64576 +#define IBSQLMonitor_StrCommitRetaining 64577 +#define IBSQLMonitor_StrRollback 64578 +#define IBSQLMonitor_StrRollbackRetainin 64579 +#define IBSQLMonitor_StrStartTransaction 64580 +#define IBSQLMonitor_StrApplication 64581 +#define ADOConst_SMissingConnection 64582 +#define ADOConst_SNoDetailFilter 64583 +#define ADOConst_SBookmarksRequired 64584 +#define ADOConst_SMissingCommandText 64585 +#define ADOConst_SNoResultSet 64586 +#define ADOConst_SADOCreateError 64587 +#define ADOConst_SEventsNotSupported 64588 +#define ADOConst_SUsupportedFieldType 64589 +#define ADOConst_SConnectionRequired 64590 +#define ADOConst_SCantRequery 64591 +#define IBXConst_SIB80feature 64592 +#define IBSQLMonitor_StrConnect 64593 +#define IBSQLMonitor_StrDisconnect 64594 +#define IBSQLMonitor_StrMisc 64595 +#define IBSQLMonitor_StrError 64596 +#define IBSQLMonitor_StrAttach 64597 +#define IBSQLMonitor_StrDetach 64598 +#define IBSQLMonitor_StrQuery 64599 +#define IBSQLMonitor_StrStart 64600 +#define IBSQLMonitor_StrExecute 64601 +#define IBSQLMonitor_StrNULL 64602 +#define IBSQLMonitor_StrBLOB 64603 +#define IBSQLMonitor_StrFetch 64604 +#define IBSQLMonitor_StrPrepare 64605 +#define IBSQLMonitor_StrPlan 64606 +#define IBSQLMonitor_StrPlanCantRetrive 64607 +#define IBXConst_SOptionNeedsClient 64608 +#define IBXConst_SOptionNeedsServer 64609 +#define IBXConst_SInvalidOption 64610 +#define IBXConst_SInvalidOnErrorResult 64611 +#define IBXConst_SInvalidOnStatusResult 64612 +#define IBXConst_SDPBConstantUnknownEx 64613 +#define IBXConst_STPBConstantUnknownEx 64614 +#define IBXConst_SUnknownPlan 64615 +#define IBXConst_SFieldSizeMismatch 64616 +#define IBXConst_SEventAlreadyRegistered 64617 +#define IBXConst_SStringTooLarge 64618 +#define IBXConst_SNoTimers 64619 +#define IBXConst_SIB65feature 64620 +#define IBXConst_SLoginPromptFailure 64621 +#define IBXConst_SIB70feature 64622 +#define IBXConst_SIB71feature 64623 +#define IBXConst_SQueryParamsError 64624 +#define IBXConst_SStartParamsError 64625 +#define IBXConst_SOutputParsingError 64626 +#define IBXConst_SUseSpecificProcedures 64627 +#define IBXConst_SSQLMonitorAlreadyPresent 64628 +#define IBXConst_SCantPrintValue 64629 +#define IBXConst_SEOFReached 64630 +#define IBXConst_SEOFInComment 64631 +#define IBXConst_SEOFInString 64632 +#define IBXConst_SParamNameExpected 64633 +#define IBXConst_SSuccess 64634 +#define IBXConst_SDelphiException 64635 +#define IBXConst_SNoOptionsSet 64636 +#define IBXConst_SNoDestinationDirectory 64637 +#define IBXConst_SNosourceDirectory 64638 +#define IBXConst_SNoUninstallFile 64639 +#define IBXConst_SCannotDropSystemIndex 64640 +#define IBXConst_STableNameMismatch 64641 +#define IBXConst_SIndexFieldMissing 64642 +#define IBXConst_SInvalidCancellation 64643 +#define IBXConst_SInvalidEvent 64644 +#define IBXConst_SMaximumEvents 64645 +#define IBXConst_SNoEventsRegistered 64646 +#define IBXConst_SInvalidQueueing 64647 +#define IBXConst_SInvalidRegistration 64648 +#define IBXConst_SInvalidBatchMove 64649 +#define IBXConst_SSQLDialectInvalid 64650 +#define IBXConst_SSPBConstantNotSupported 64651 +#define IBXConst_SSPBConstantUnknown 64652 +#define IBXConst_SServiceActive 64653 +#define IBXConst_SServiceInActive 64654 +#define IBXConst_SServerNameMissing 64655 +#define IBXConst_SColumnTypesDontMatch 64656 +#define IBXConst_SCantEndSharedTransaction 64657 +#define IBXConst_SFieldUnsupportedType 64658 +#define IBXConst_SCircularDataLink 64659 +#define IBXConst_SEmptySQLStatement 64660 +#define IBXConst_SIsASelectStatement 64661 +#define IBXConst_SRequiredParamNotSet 64662 +#define IBXConst_SNoStoredProcName 64663 +#define IBXConst_SIsAExecuteProcedure 64664 +#define IBXConst_SUpdateFailed 64665 +#define IBXConst_SNotCachedUpdates 64666 +#define IBXConst_SNotLiveRequest 64667 +#define IBXConst_SNoProvider 64668 +#define IBXConst_SNoRecordsAffected 64669 +#define IBXConst_SNoTableName 64670 +#define IBXConst_SCannotCreatePrimaryIndex 64671 +#define IBXConst_SFieldReadOnly 64672 +#define IBXConst_SFieldNotFound 64673 +#define IBXConst_SNotEditing 64674 +#define IBXConst_SCannotInsert 64675 +#define IBXConst_SCannotPost 64676 +#define IBXConst_SCannotUpdate 64677 +#define IBXConst_SCannotDelete 64678 +#define IBXConst_SCannotRefresh 64679 +#define IBXConst_SBufferNotSet 64680 +#define IBXConst_SCircularReference 64681 +#define IBXConst_SSQLParseError 64682 +#define IBXConst_SUserAbort 64683 +#define IBXConst_SDataSetUniDirectional 64684 +#define IBXConst_SCannotCreateSharedResource 64685 +#define IBXConst_SWindowsAPIError 64686 +#define IBXConst_SColumnListsDontMatch 64687 +#define IBXConst_SBOF 64688 +#define IBXConst_SInvalidStatementHandle 64689 +#define IBXConst_SSQLOpen 64690 +#define IBXConst_SSQLClosed 64691 +#define IBXConst_SDatasetOpen 64692 +#define IBXConst_SDatasetClosed 64693 +#define IBXConst_SUnknownSQLDataType 64694 +#define IBXConst_SInvalidColumnIndex 64695 +#define IBXConst_SInvalidParamColumnIndex 64696 +#define IBXConst_SInvalidDataConversion 64697 +#define IBXConst_SColumnIsNotNullable 64698 +#define IBXConst_SBlobCannotBeRead 64699 +#define IBXConst_SBlobCannotBeWritten 64700 +#define IBXConst_SEmptyQuery 64701 +#define IBXConst_SCannotOpenNonSQLSelect 64702 +#define IBXConst_SNoFieldAccess 64703 +#define IBXConst_STPBConstantNotSupported 64704 +#define IBXConst_STPBConstantUnknown 64705 +#define IBXConst_SDatabaseClosed 64706 +#define IBXConst_SDatabaseOpen 64707 +#define IBXConst_SDatabaseNameMissing 64708 +#define IBXConst_SNotInTransaction 64709 +#define IBXConst_SInTransaction 64710 +#define IBXConst_STimeoutNegative 64711 +#define IBXConst_SNoDatabasesInTransaction 64712 +#define IBXConst_SUpdateWrongDB 64713 +#define IBXConst_SUpdateWrongTR 64714 +#define IBXConst_SDatabaseNotAssigned 64715 +#define IBXConst_STransactionNotAssigned 64716 +#define IBXConst_SXSQLDAIndexOutOfRange 64717 +#define IBXConst_SXSQLDANameDoesNotExist 64718 +#define IBXConst_SEOF 64719 +#define uDARes_err_DatasetNotAccessible 64720 +#define uDARes_err_CommandNotAccessible 64721 +#define uDARes_err_SQLNotPermitted 64722 +#define IBXConst_SUnknownError 64723 +#define IBXConst_SInterBaseMissing 64724 +#define IBXConst_SInterBaseInstallMissing 64725 +#define IBXConst_SIB60feature 64726 +#define IBXConst_SNotSupported 64727 +#define IBXConst_SNotPermitted 64728 +#define IBXConst_SFileAccessError 64729 +#define IBXConst_SConnectionTimeout 64730 +#define IBXConst_SCannotSetDatabase 64731 +#define IBXConst_SCannotSetTransaction 64732 +#define IBXConst_SOperationCancelled 64733 +#define IBXConst_SDPBConstantNotSupported 64734 +#define IBXConst_SDPBConstantUnknown 64735 #define uDARes_err_CannotFindItem 64736 #define uDARes_err_DriverAlreadyLoaded 64737 #define uDARes_err_InvalidDLL 64738 @@ -262,18 +258,18 @@ #define uDARes_err_PoolIsNotEmpty 64746 #define uDARes_err_MaxPoolSizeReached 64747 #define uDARes_err_LAMEDataset 64748 -#define uDARes_err_HETConnectionNotSupportedInV3 64749 -#define uDARes_err_DARDMInvalidSchema 64750 -#define uDARes_err_DARDMUnassignedAdapter 64751 -#define IdResourceStringsProtocols_RSHTTPServiceUnavailable 64752 -#define IdResourceStringsProtocols_RSHTTPGatewayTimeout 64753 -#define IdResourceStringsProtocols_RSHTTPHTTPVersionNotSupported 64754 -#define IdResourceStringsProtocols_RSHTTPUnknownResponseCode 64755 -#define IdResourceStringsProtocols_RSHTTPHeaderAlreadyWritten 64756 -#define IdResourceStringsProtocols_RSHTTPErrorParsingCommand 64757 -#define IdResourceStringsProtocols_RSHTTPUnsupportedAuthorisationScheme 64758 -#define IdResourceStringsProtocols_RSHTTPCannotSwitchSessionStateWhenActive 64759 -#define IdResourceStringsProtocols_RSHTTPAuthAlreadyRegistered 64760 +#define uDARes_err_DARDMInvalidSchema 64749 +#define uDARes_err_DARDMCannotFindProxessorForDelta 64750 +#define uDARes_err_NeedShareMem 64751 +#define JvResources_RsCl3DDkShadow 64752 +#define JvResources_RsCl3DLight 64753 +#define JvResources_RsClInfoText 64754 +#define JvResources_RsClInfoBk 64755 +#define JvResources_RsGradientActiveCaption 64756 +#define JvResources_RsGradientInactiveCaption 64757 +#define JvResources_RsHotLight 64758 +#define JvResources_RsMenuBar 64759 +#define JvResources_RsMenuHighlight 64760 #define uDARes_err_ChangeLogAlreadyStarted 64761 #define uDARes_err_NotAttachedToDataTable 64762 #define uDARes_err_DriverProcAlreadyRegistered 64763 @@ -281,502 +277,502 @@ #define uDARes_err_DriverManagerNotAssigned 64765 #define uDARes_err_FieldTypeNotSupported 64766 #define uDARes_err_InvalidDataset 64767 -#define IdResourceStringsProtocols_RSHTTPForbidden 64768 -#define IdResourceStringsProtocols_RSHTTPNotFound 64769 -#define IdResourceStringsProtocols_RSHTTPMethodNotAllowed 64770 -#define IdResourceStringsProtocols_RSHTTPNotAcceptable 64771 -#define IdResourceStringsProtocols_RSHTTPProxyAuthenticationRequired 64772 -#define IdResourceStringsProtocols_RSHTTPRequestTimeout 64773 -#define IdResourceStringsProtocols_RSHTTPConflict 64774 -#define IdResourceStringsProtocols_RSHTTPGone 64775 -#define IdResourceStringsProtocols_RSHTTPLengthRequired 64776 -#define IdResourceStringsProtocols_RSHTTPPreconditionFailed 64777 -#define IdResourceStringsProtocols_RSHTTPRequestEntityToLong 64778 -#define IdResourceStringsProtocols_RSHTTPRequestURITooLong 64779 -#define IdResourceStringsProtocols_RSHTTPUnsupportedMediaType 64780 -#define IdResourceStringsProtocols_RSHTTPInternalServerError 64781 -#define IdResourceStringsProtocols_RSHTTPNotImplemented 64782 -#define IdResourceStringsProtocols_RSHTTPBadGateway 64783 -#define IdResourceStringsProtocols_RSMIMEMIMEExtAlreadyExists 64784 -#define IdResourceStringsProtocols_RSHTTPContinue 64785 -#define IdResourceStringsProtocols_RSHTTPOK 64786 -#define IdResourceStringsProtocols_RSHTTPCreated 64787 -#define IdResourceStringsProtocols_RSHTTPAccepted 64788 -#define IdResourceStringsProtocols_RSHTTPNonAuthoritativeInformation 64789 -#define IdResourceStringsProtocols_RSHTTPNoContent 64790 -#define IdResourceStringsProtocols_RSHTTPResetContent 64791 -#define IdResourceStringsProtocols_RSHTTPPartialContent 64792 -#define IdResourceStringsProtocols_RSHTTPMovedPermanently 64793 -#define IdResourceStringsProtocols_RSHTTPMovedTemporarily 64794 -#define IdResourceStringsProtocols_RSHTTPSeeOther 64795 -#define IdResourceStringsProtocols_RSHTTPNotModified 64796 -#define IdResourceStringsProtocols_RSHTTPUseProxy 64797 -#define IdResourceStringsProtocols_RSHTTPBadRequest 64798 -#define IdResourceStringsProtocols_RSHTTPUnauthorized 64799 -#define IdResourceStringsCore_RSReadLnMaxLineLengthExceeded 64800 -#define IdResourceStringsCore_RSConnectTimeout 64801 -#define IdResourceStringsCore_RSThreadTerminateAndWaitFor 64802 -#define IdResourceStringsCore_RSAlreadyConnected 64803 -#define IdResourceStringsCore_RSMaximumNumberOfCaptureLineExceeded 64804 -#define IdResourceStringsCore_RSchedMaxThreadEx 64805 -#define IdResourceStringsCore_RSTransparentProxyCannotBind 64806 -#define IdResourceStringsCore_RSTransparentProxyCanNotSupportUDP 64807 -#define IdResourceStringsCore_RSBufferMissingTerminator 64808 -#define IdResourceStringsCore_RSBufferInvalidStartPos 64809 -#define IdResourceStringsCore_RSReplyInvalidCode 64810 -#define IdResourceStringsCore_RSThreadSchedulerThreadRequired 64811 -#define IdResourceStringsCore_RSNoOnExecute 64812 -#define IdResourceStringsCore_RSTCPServerSchedulerAlreadyActive 64813 -#define IdResourceStringsProtocols_RSMIMEExtensionEmpty 64814 -#define IdResourceStringsProtocols_RSMIMEMIMETypeEmpty 64815 -#define IdResourceStringsCore_RSSocksServerGeneralError 64816 -#define IdResourceStringsCore_RSSocksServerPermissionError 64817 -#define IdResourceStringsCore_RSSocksServerNetUnreachableError 64818 -#define IdResourceStringsCore_RSSocksServerHostUnreachableError 64819 -#define IdResourceStringsCore_RSSocksServerConnectionRefusedError 64820 -#define IdResourceStringsCore_RSSocksServerTTLExpiredError 64821 -#define IdResourceStringsCore_RSSocksServerCommandError 64822 -#define IdResourceStringsCore_RSSocksServerAddressError 64823 -#define IdResourceStringsCore_RSInterceptCircularLink 64824 -#define IdResourceStringsCore_RSNotEnoughDataInBuffer 64825 -#define IdResourceStringsCore_RSTooMuchDataInBuffer 64826 -#define IdResourceStringsCore_RSFileNotFound 64827 -#define IdResourceStringsCore_RSNotConnected 64828 -#define IdResourceStringsCore_RSObjectTypeNotSupported 64829 -#define IdResourceStringsCore_RSIdNoDataToRead 64830 -#define IdResourceStringsCore_RSReadTimeout 64831 -#define IdResourceStrings_RSInvalidPortRange 64832 -#define IdResourceStrings_RSInvalidServiceName 64833 -#define IdResourceStrings_RSIPv6Unavailable 64834 -#define IdResourceStrings_RSInvalidIPv6Address 64835 -#define IdResourceStrings_RSIPVersionUnsupported 64836 -#define IdResourceStrings_RSNotAllBytesSent 64837 -#define IdResourceStrings_RSPackageSizeTooBig 64838 -#define IdResourceStrings_RSSetSizeExceeded 64839 -#define IdResourceStringsCore_RSSocksUDPNotSupported 64840 -#define IdResourceStringsCore_RSSocksRequestFailed 64841 -#define IdResourceStringsCore_RSSocksRequestServerFailed 64842 -#define IdResourceStringsCore_RSSocksRequestIdentFailed 64843 -#define IdResourceStringsCore_RSSocksUnknownError 64844 -#define IdResourceStringsCore_RSSocksServerRespondError 64845 -#define IdResourceStringsCore_RSSocksAuthMethodError 64846 -#define IdResourceStringsCore_RSSocksAuthError 64847 -#define IdResourceStrings_RSStackETOOMANYREFS 64848 -#define IdResourceStrings_RSStackETIMEDOUT 64849 -#define IdResourceStrings_RSStackECONNREFUSED 64850 -#define IdResourceStrings_RSStackELOOP 64851 -#define IdResourceStrings_RSStackENAMETOOLONG 64852 -#define IdResourceStrings_RSStackEHOSTDOWN 64853 -#define IdResourceStrings_RSStackEHOSTUNREACH 64854 -#define IdResourceStrings_RSStackENOTEMPTY 64855 -#define IdResourceStrings_RSStackHOST_NOT_FOUND 64856 -#define IdResourceStrings_RSStackClassUndefined 64857 -#define IdResourceStrings_RSStackAlreadyCreated 64858 -#define IdResourceStrings_RSAntiFreezeOnlyOne 64859 -#define IdResourceStrings_RSCannotSetIPVersionWhenConnected 64860 -#define IdResourceStrings_RSCannotBindRange 64861 -#define IdResourceStrings_RSConnectionClosedGracefully 64862 -#define IdResourceStrings_RSCouldNotBindSocket 64863 -#define IdResourceStrings_RSStackEPROTONOSUPPORT 64864 -#define IdResourceStrings_RSStackESOCKTNOSUPPORT 64865 -#define IdResourceStrings_RSStackEOPNOTSUPP 64866 -#define IdResourceStrings_RSStackEPFNOSUPPORT 64867 -#define IdResourceStrings_RSStackEAFNOSUPPORT 64868 -#define IdResourceStrings_RSStackEADDRINUSE 64869 -#define IdResourceStrings_RSStackEADDRNOTAVAIL 64870 -#define IdResourceStrings_RSStackENETDOWN 64871 -#define IdResourceStrings_RSStackENETUNREACH 64872 -#define IdResourceStrings_RSStackENETRESET 64873 -#define IdResourceStrings_RSStackECONNABORTED 64874 -#define IdResourceStrings_RSStackECONNRESET 64875 -#define IdResourceStrings_RSStackENOBUFS 64876 -#define IdResourceStrings_RSStackEISCONN 64877 -#define IdResourceStrings_RSStackENOTCONN 64878 -#define IdResourceStrings_RSStackESHUTDOWN 64879 -#define IdResourceStrings_RSStatusText 64880 -#define IdResourceStrings_RSStackError 64881 -#define IdResourceStrings_RSStackEINTR 64882 -#define IdResourceStrings_RSStackEBADF 64883 -#define IdResourceStrings_RSStackEACCES 64884 -#define IdResourceStrings_RSStackEFAULT 64885 -#define IdResourceStrings_RSStackEINVAL 64886 -#define IdResourceStrings_RSStackEMFILE 64887 -#define IdResourceStrings_RSStackEWOULDBLOCK 64888 -#define IdResourceStrings_RSStackEINPROGRESS 64889 -#define IdResourceStrings_RSStackEALREADY 64890 -#define IdResourceStrings_RSStackENOTSOCK 64891 -#define IdResourceStrings_RSStackEDESTADDRREQ 64892 -#define IdResourceStrings_RSStackEMSGSIZE 64893 -#define IdResourceStrings_RSStackEPROTOTYPE 64894 -#define IdResourceStrings_RSStackENOPROTOOPT 64895 -#define DBConsts_SUnassignedVar 64896 -#define DBConsts_SRecordNotFound 64897 -#define DBConsts_SBcdOverflow 64898 -#define DBConsts_SInvalidBcdValue 64899 -#define DBConsts_SInvalidFormatType 64900 -#define DBConsts_SCouldNotParseTimeStamp 64901 -#define DBConsts_SInvalidSqlTimeStamp 64902 -#define IdResourceStrings_RSFailedTimeZoneInfo 64903 -#define IdResourceStrings_RSWinsockCallError 64904 -#define IdResourceStrings_RSWinsockLoadError 64905 -#define IdResourceStrings_RSWinsockInitializationError 64906 -#define IdResourceStrings_RSStatusResolving 64907 -#define IdResourceStrings_RSStatusConnecting 64908 -#define IdResourceStrings_RSStatusConnected 64909 -#define IdResourceStrings_RSStatusDisconnecting 64910 -#define IdResourceStrings_RSStatusDisconnected 64911 -#define DBConsts_SLookupInfoError 64912 -#define DBConsts_SDataSourceChange 64913 -#define DBConsts_SDataSetOpen 64914 -#define DBConsts_SNotEditing 64915 -#define DBConsts_SDataSetClosed 64916 -#define DBConsts_SDataSetEmpty 64917 -#define DBConsts_SDataSetReadOnly 64918 -#define DBConsts_SNestedDataSetClass 64919 -#define DBConsts_STextFalse 64920 -#define DBConsts_STextTrue 64921 -#define DBConsts_SParameterNotFound 64922 -#define DBConsts_SInvalidVersion 64923 -#define DBConsts_SBadFieldType 64924 -#define DBConsts_SProviderSQLNotSupported 64925 -#define DBConsts_SProviderExecuteNotSupported 64926 -#define DBConsts_SDataSetUnidirectional 64927 -#define DBConsts_SFieldRangeError 64928 -#define DBConsts_SBcdFieldRangeError 64929 -#define DBConsts_SInvalidIntegerValue 64930 -#define DBConsts_SInvalidBoolValue 64931 -#define DBConsts_SInvalidFloatValue 64932 -#define DBConsts_SFieldTypeMismatch 64933 -#define DBConsts_SFieldSizeMismatch 64934 -#define DBConsts_SInvalidVarByteArray 64935 -#define DBConsts_SFieldOutOfRange 64936 -#define DBConsts_SFieldRequired 64937 -#define DBConsts_SDataSetMissing 64938 -#define DBConsts_SInvalidCalcType 64939 -#define DBConsts_SFieldReadOnly 64940 -#define DBConsts_SNoIndexForFields 64941 -#define DBConsts_SIndexNotFound 64942 -#define DBConsts_SCircularDataLink 64943 -#define uRODECConst_sFMT_COPY 64944 -#define uRODECConst_sFMT_HEX 64945 -#define uRODECConst_sFMT_HEXL 64946 -#define uRODECConst_sFMT_MIME64 64947 -#define uRODECConst_sFMT_UU 64948 -#define uRODECConst_sFMT_XX 64949 -#define uRODECConst_sInvalidKeySize 64950 -#define uRODECConst_sNotInitialized 64951 -#define DBConsts_SInvalidFieldSize 64952 -#define DBConsts_SInvalidFieldKind 64953 -#define DBConsts_SUnknownFieldType 64954 -#define DBConsts_SFieldNameMissing 64955 -#define DBConsts_SDuplicateFieldName 64956 -#define DBConsts_SFieldNotFound 64957 -#define DBConsts_SFieldAccessError 64958 -#define DBConsts_SFieldValueError 64959 -#define uRORes_err_ChannelDoesntSupportIROMetadataReader 64960 -#define uRORes_err_TooManySessions 64961 -#define uRORes_err_DOMElementIsNIL 64962 -#define uRORes_err_CannotLoadXMLDocument 64963 -#define uRORes_err_ErrorCreatingMsXmlDoc 64964 -#define uRORes_err_NoXMLParsersAvailable 64965 -#define uRORes_err_IDispatchMarshalingNotSupported 64966 -#define uRORes_err_UnsupportedVariantType 64967 -#define uRORes_err_VariantIsNotArray 64968 -#define uRORes_err_InvalidVarArrayDimCount 64969 -#define uRORes_err_CannotFindParameter 64970 -#define uRORes_err_MessageNotAssigned 64971 -#define uRODECConst_sProtectionCircular 64972 -#define uRODECConst_sStringFormatExists 64973 -#define uRODECConst_sInvalidStringFormat 64974 -#define uRODECConst_sInvalidFormatString 64975 -#define uRORes_err_ClassFactoryNotFound 64976 -#define uRORes_err_IROMessageNotSupported 64977 -#define uRORes_err_ClassAlreadyRegistered 64978 -#define uRORes_err_UnknownClass 64979 -#define uRORes_err_UnknownProxyInterface 64980 -#define uRORes_err_DispatcherAlreadyAssigned 64981 -#define uRORes_err_CannotFindMessageDispatcher 64982 -#define uRORes_err_ServerOnlySupportsOneDispatcher 64983 -#define uRORes_err_UnhandledException 64984 -#define uRORes_err_ChannelBusy 64985 -#define uRORes_err_ArrayIndexOutOfBounds 64986 -#define uRORes_err_InvalidHeader 64987 -#define uRORes_err_InvalidHeaderEncrypted 64988 -#define uRORes_err_UnknownClassInStream 64989 -#define uRORes_err_UnexpectedClassInStream 64990 -#define uRORes_err_SessionNotFound 64991 -#define uRORes_err_RodlNoStructElementsDefined 64992 -#define uRORes_err_RodlNoOperationsDefined 64993 -#define uRORes_err_RodlUsedFileDoesNotExist 64994 -#define uRORes_err_RodlInvalidDataType 64995 -#define uRORes_err_RodlStructCannotBeNested 64996 -#define uRORes_err_RodlInvalidAncestorType 64997 -#define uRORes_str_ExceptionOnServer 64998 -#define uRORes_str_ExceptionReraisedFromServer 64999 -#define uRORes_err_AssignError 65000 -#define uRORes_err_InvalidRequestStream 65001 -#define uRORes_err_NILMessage 65002 -#define uRORes_err_UnspecifiedInterface 65003 -#define uRORes_err_UnspecifiedMessage 65004 -#define uRORes_err_UnknownMethod 65005 -#define uRORes_err_ClassFactoryDidNotReturnInstance 65006 -#define uRORes_err_TypeNotSupported 65007 -#define ComStrs_sPageIndexError 65008 -#define JConsts_sChangeJPGSize 65009 -#define JConsts_sJPEGError 65010 -#define JConsts_sJPEGImageFile 65011 -#define uRORes_err_InvalidIndex 65012 -#define uRORes_err_InvalidType 65013 -#define uRORes_err_InvalidLibrary 65014 -#define uRORes_err_InvalidStream 65015 -#define uRORes_err_InvalidTargetEntity 65016 -#define uRORes_err_InvalidParamFlag 65017 -#define uRORes_err_InvalidStringLength 65018 -#define uRORes_str_InvalidClassTypeInStream 65019 -#define uRORes_err_UnexpectedEndOfStream 65020 -#define uRORes_err_RodlDuplicateName 65021 -#define uRORes_err_RodlNoDataTypeSpecified 65022 -#define uRORes_err_RodlNoEnumValues 65023 -#define JclResources_RsIntelCacheDescr87 65024 -#define JclResources_RsIntelCacheDescrB0 65025 -#define JclResources_RsIntelCacheDescrB3 65026 -#define JclResources_RsIntelCacheDescrB4 65027 -#define JclResources_RsIntelCacheDescrF0 65028 -#define JclResources_RsIntelCacheDescrF1 65029 -#define ComStrs_sTabFailClear 65030 -#define ComStrs_sTabFailDelete 65031 -#define ComStrs_sTabFailRetrieve 65032 -#define ComStrs_sTabFailGetObject 65033 -#define ComStrs_sTabFailSet 65034 -#define ComStrs_sTabFailSetObject 65035 -#define ComStrs_sTabMustBeMultiLine 65036 -#define ComStrs_sInvalidIndex 65037 -#define ComStrs_sInsertError 65038 -#define ComStrs_sUDAssociated 65039 -#define JclResources_RsIntelCacheDescr68 65040 -#define JclResources_RsIntelCacheDescr70 65041 -#define JclResources_RsIntelCacheDescr71 65042 -#define JclResources_RsIntelCacheDescr72 65043 -#define JclResources_RsIntelCacheDescr78 65044 -#define JclResources_RsIntelCacheDescr79 65045 -#define JclResources_RsIntelCacheDescr7A 65046 -#define JclResources_RsIntelCacheDescr7B 65047 -#define JclResources_RsIntelCacheDescr7C 65048 -#define JclResources_RsIntelCacheDescr7D 65049 -#define JclResources_RsIntelCacheDescr7F 65050 -#define JclResources_RsIntelCacheDescr82 65051 -#define JclResources_RsIntelCacheDescr83 65052 -#define JclResources_RsIntelCacheDescr84 65053 -#define JclResources_RsIntelCacheDescr85 65054 -#define JclResources_RsIntelCacheDescr86 65055 -#define JclResources_RsIntelCacheDescr44 65056 -#define JclResources_RsIntelCacheDescr45 65057 -#define JclResources_RsIntelCacheDescr46 65058 -#define JclResources_RsIntelCacheDescr47 65059 -#define JclResources_RsIntelCacheDescr49 65060 -#define JclResources_RsIntelCacheDescr50 65061 -#define JclResources_RsIntelCacheDescr51 65062 -#define JclResources_RsIntelCacheDescr52 65063 -#define JclResources_RsIntelCacheDescr56 65064 -#define JclResources_RsIntelCacheDescr57 65065 -#define JclResources_RsIntelCacheDescr5B 65066 -#define JclResources_RsIntelCacheDescr5C 65067 -#define JclResources_RsIntelCacheDescr5D 65068 -#define JclResources_RsIntelCacheDescr60 65069 -#define JclResources_RsIntelCacheDescr66 65070 -#define JclResources_RsIntelCacheDescr67 65071 -#define JclResources_RsIntelCacheDescr05 65072 -#define JclResources_RsIntelCacheDescr06 65073 -#define JclResources_RsIntelCacheDescr08 65074 -#define JclResources_RsIntelCacheDescr0A 65075 -#define JclResources_RsIntelCacheDescr0B 65076 -#define JclResources_RsIntelCacheDescr0C 65077 -#define JclResources_RsIntelCacheDescr22 65078 -#define JclResources_RsIntelCacheDescr23 65079 -#define JclResources_RsIntelCacheDescr25 65080 -#define JclResources_RsIntelCacheDescr29 65081 -#define JclResources_RsIntelCacheDescr2C 65082 -#define JclResources_RsIntelCacheDescr30 65083 -#define JclResources_RsIntelCacheDescr40 65084 -#define JclResources_RsIntelCacheDescr41 65085 -#define JclResources_RsIntelCacheDescr42 65086 -#define JclResources_RsIntelCacheDescr43 65087 -#define JclResources_RsRTTIFloatType 65088 -#define JclResources_RsRTTIMethodKind 65089 -#define JclResources_RsRTTIParamCount 65090 -#define JclResources_RsRTTIReturnType 65091 -#define JclResources_RsRTTIMaxLen 65092 -#define JclResources_RsRTTIElSize 65093 -#define JclResources_RsRTTIElType 65094 -#define JclResources_RsRTTIElNeedCleanup 65095 -#define JclResources_RsRTTIVarType 65096 -#define JclResources_RsDeclarationFormat 65097 -#define JclResources_RsSynchCreateEvent 65098 -#define JclResources_RsIntelCacheDescr00 65099 -#define JclResources_RsIntelCacheDescr01 65100 -#define JclResources_RsIntelCacheDescr02 65101 -#define JclResources_RsIntelCacheDescr03 65102 -#define JclResources_RsIntelCacheDescr04 65103 -#define JclResources_RsRTTIIndex 65104 -#define JclResources_RsRTTIDefault 65105 -#define JclResources_RsRTTIName 65106 -#define JclResources_RsRTTIType 65107 -#define JclResources_RsRTTIFlags 65108 -#define JclResources_RsRTTIGUID 65109 -#define JclResources_RsRTTITypeKind 65110 -#define JclResources_RsRTTIOrdinalType 65111 -#define JclResources_RsRTTIMinValue 65112 -#define JclResources_RsRTTIMaxValue 65113 -#define JclResources_RsRTTINameList 65114 -#define JclResources_RsRTTIClassName 65115 -#define JclResources_RsRTTIParent 65116 -#define JclResources_RsRTTIPropCount 65117 -#define JclResources_RsRTTIUnitName 65118 -#define JclResources_RsRTTIBasedOn 65119 -#define JclResources_RsRTTIUnknownIdentifier 65120 -#define JclResources_RsRTTIVar 65121 -#define JclResources_RsRTTIConst 65122 -#define JclResources_RsRTTIArrayOf 65123 -#define JclResources_RsRTTIOut 65124 -#define JclResources_RsRTTIOrdinal 65125 -#define JclResources_RsRTTITrue 65126 -#define JclResources_RsRTTIFalse 65127 -#define JclResources_RsRTTITypeError 65128 -#define JclResources_RsRTTITypeInfoAt 65129 -#define JclResources_RsRTTIPropRead 65130 -#define JclResources_RsRTTIPropWrite 65131 -#define JclResources_RsRTTIPropStored 65132 -#define JclResources_RsRTTIField 65133 -#define JclResources_RsRTTIStaticMethod 65134 -#define JclResources_RsRTTIVirtualMethod 65135 -#define JclResources_RsInconsistentPath 65136 -#define JclResources_RsHKCRLong 65137 -#define JclResources_RsHKCULong 65138 -#define JclResources_RsHKLMLong 65139 -#define JclResources_RsHKUSLong 65140 -#define JclResources_RsHKPDLong 65141 -#define JclResources_RsHKCCLong 65142 -#define JclResources_RsHKDDLong 65143 -#define JclResources_RsHKCRShort 65144 -#define JclResources_RsHKCUShort 65145 -#define JclResources_RsHKLMShort 65146 -#define JclResources_RsHKUSShort 65147 -#define JclResources_RsHKPDShort 65148 -#define JclResources_RsHKCCShort 65149 -#define JclResources_RsHKDDShort 65150 -#define JclResources_RsRTTIValueOutOfRange 65151 -#define JvResources_RsMenuBar 65152 -#define JvResources_RsMenuHighlight 65153 -#define ComConst_SOleError 65154 -#define ComConst_SNoMethod 65155 -#define ComConst_SVarNotObject 65156 -#define ComConst_STooManyParams 65157 -#define JclResources_RsWin32Prefix 65158 -#define JclResources_RsFileUtilsNoVersionInfo 65159 -#define JclResources_RsCreateFileMapping 65160 -#define JclResources_RsCreateFileMappingView 65161 -#define JclResources_RsViewNeedsMapping 65162 -#define JclResources_RsFailedToObtainSize 65163 -#define JclResources_RsUnableToOpenKeyRead 65164 -#define JclResources_RsUnableToOpenKeyWrite 65165 -#define JclResources_RsUnableToAccessValue 65166 -#define JclResources_RsWrongDataType 65167 -#define JvResources_RsClAppWorkSpace 65168 -#define JvResources_RsClHighlight 65169 -#define JvResources_RsClHighlightText 65170 -#define JvResources_RsClBtnFace 65171 -#define JvResources_RsClBtnShadow 65172 -#define JvResources_RsClGrayText 65173 -#define JvResources_RsClBtnText 65174 -#define JvResources_RsClInactiveCaptionText 65175 -#define JvResources_RsClBtnHighlight 65176 -#define JvResources_RsCl3DDkShadow 65177 -#define JvResources_RsCl3DLight 65178 -#define JvResources_RsClInfoText 65179 -#define JvResources_RsClInfoBk 65180 -#define JvResources_RsGradientActiveCaption 65181 -#define JvResources_RsGradientInactiveCaption 65182 -#define JvResources_RsHotLight 65183 -#define JvResources_RsClLightGreen 65184 -#define JvResources_RsClLightTurquoise 65185 -#define JvResources_RsClPaleBlue 65186 -#define JvResources_RsClLavender 65187 -#define JvResources_RsClScrollBar 65188 -#define JvResources_RsClBackground 65189 -#define JvResources_RsClActiveCaption 65190 -#define JvResources_RsClInactiveCaption 65191 -#define JvResources_RsClMenu 65192 -#define JvResources_RsClWindow 65193 -#define JvResources_RsClWindowFrame 65194 -#define JvResources_RsClMenuText 65195 -#define JvResources_RsClWindowText 65196 -#define JvResources_RsClCaptionText 65197 -#define JvResources_RsClActiveBorder 65198 -#define JvResources_RsClInactiveBorder 65199 -#define JvResources_RsClBlueGray 65200 -#define JvResources_RsClGray50 65201 -#define JvResources_RsClLightOrange 65202 -#define JvResources_RsClSeaGreen 65203 -#define JvResources_RsClLightBlue 65204 -#define JvResources_RsClViolet 65205 -#define JvResources_RsClGray40 65206 -#define JvResources_RsClPink 65207 -#define JvResources_RsClGold 65208 -#define JvResources_RsClBrightGreen 65209 -#define JvResources_RsClTurquoise 65210 -#define JvResources_RsClPlum 65211 -#define JvResources_RsClGray25 65212 -#define JvResources_RsClRose 65213 -#define JvResources_RsClTan 65214 -#define JvResources_RsClLightYellow 65215 -#define JvResources_RsClAqua 65216 -#define JvResources_RsClWhite 65217 -#define JvResources_RsClMoneyGreen 65218 -#define JvResources_RsClSkyBlue 65219 -#define JvResources_RsClCream 65220 -#define JvResources_RsClMedGray 65221 -#define JvResources_RsClBrown 65222 -#define JvResources_RsClOliveGreen 65223 -#define JvResources_RsClDarkGreen 65224 -#define JvResources_RsClDarkTeal 65225 -#define JvResources_RsClDarkBlue 65226 -#define JvResources_RsClIndigo 65227 -#define JvResources_RsClGray80 65228 -#define JvResources_RsClDarkRed 65229 -#define JvResources_RsClOrange 65230 -#define JvResources_RsClDarkYellow 65231 -#define JvResources_RsEPixelFormatNotImplemented 65232 -#define JvResources_RsEBitCountNotImplemented 65233 -#define JvResources_RsClBlack 65234 -#define JvResources_RsClMaroon 65235 -#define JvResources_RsClGreen 65236 -#define JvResources_RsClOlive 65237 -#define JvResources_RsClNavy 65238 -#define JvResources_RsClPurple 65239 -#define JvResources_RsClTeal 65240 -#define JvResources_RsClGray 65241 -#define JvResources_RsClSilver 65242 -#define JvResources_RsClRed 65243 -#define JvResources_RsClLime 65244 -#define JvResources_RsClYellow 65245 -#define JvResources_RsClBlue 65246 -#define JvResources_RsClFuchsia 65247 -#define JvResources_RsEUnableToCreateKey 65248 -#define JvResources_RsEEnumeratingRegistry 65249 -#define JvResources_RsEInvalidType 65250 -#define JvResources_RsEUnknownBaseType 65251 -#define JvResources_RsEInvalidPath 65252 -#define JvResources_RsENotAUniqueRootPath 65253 -#define JvResources_RsECircularReferenceOfStorages 65254 -#define JvResources_RsGIFImage 65255 -#define JvResources_RsEChangeGIFSize 65256 -#define JvResources_RsENoGIFData 65257 -#define JvResources_RsEUnrecognizedGIFExt 65258 -#define JvResources_RsEWrongGIFColors 65259 -#define JvResources_RsEBadGIFCodeSize 65260 -#define JvResources_RsEGIFDecodeError 65261 -#define JvResources_RsEGIFEncodeError 65262 -#define JvResources_RsEGIFVersion 65263 +#define JvResources_RsClWindow 64768 +#define JvResources_RsClWindowFrame 64769 +#define JvResources_RsClMenuText 64770 +#define JvResources_RsClWindowText 64771 +#define JvResources_RsClCaptionText 64772 +#define JvResources_RsClActiveBorder 64773 +#define JvResources_RsClInactiveBorder 64774 +#define JvResources_RsClAppWorkSpace 64775 +#define JvResources_RsClHighlight 64776 +#define JvResources_RsClHighlightText 64777 +#define JvResources_RsClBtnFace 64778 +#define JvResources_RsClBtnShadow 64779 +#define JvResources_RsClGrayText 64780 +#define JvResources_RsClBtnText 64781 +#define JvResources_RsClInactiveCaptionText 64782 +#define JvResources_RsClBtnHighlight 64783 +#define JvResources_RsClBrightGreen 64784 +#define JvResources_RsClTurquoise 64785 +#define JvResources_RsClPlum 64786 +#define JvResources_RsClGray25 64787 +#define JvResources_RsClRose 64788 +#define JvResources_RsClTan 64789 +#define JvResources_RsClLightYellow 64790 +#define JvResources_RsClLightGreen 64791 +#define JvResources_RsClLightTurquoise 64792 +#define JvResources_RsClPaleBlue 64793 +#define JvResources_RsClLavender 64794 +#define JvResources_RsClScrollBar 64795 +#define JvResources_RsClBackground 64796 +#define JvResources_RsClActiveCaption 64797 +#define JvResources_RsClInactiveCaption 64798 +#define JvResources_RsClMenu 64799 +#define JvResources_RsClDarkTeal 64800 +#define JvResources_RsClDarkBlue 64801 +#define JvResources_RsClIndigo 64802 +#define JvResources_RsClGray80 64803 +#define JvResources_RsClDarkRed 64804 +#define JvResources_RsClOrange 64805 +#define JvResources_RsClDarkYellow 64806 +#define JvResources_RsClBlueGray 64807 +#define JvResources_RsClGray50 64808 +#define JvResources_RsClLightOrange 64809 +#define JvResources_RsClSeaGreen 64810 +#define JvResources_RsClLightBlue 64811 +#define JvResources_RsClViolet 64812 +#define JvResources_RsClGray40 64813 +#define JvResources_RsClPink 64814 +#define JvResources_RsClGold 64815 +#define JvResources_RsClGray 64816 +#define JvResources_RsClSilver 64817 +#define JvResources_RsClRed 64818 +#define JvResources_RsClLime 64819 +#define JvResources_RsClYellow 64820 +#define JvResources_RsClBlue 64821 +#define JvResources_RsClFuchsia 64822 +#define JvResources_RsClAqua 64823 +#define JvResources_RsClWhite 64824 +#define JvResources_RsClMoneyGreen 64825 +#define JvResources_RsClSkyBlue 64826 +#define JvResources_RsClCream 64827 +#define JvResources_RsClMedGray 64828 +#define JvResources_RsClBrown 64829 +#define JvResources_RsClOliveGreen 64830 +#define JvResources_RsClDarkGreen 64831 +#define JvResources_RsENoGIFData 64832 +#define JvResources_RsEUnrecognizedGIFExt 64833 +#define JvResources_RsEWrongGIFColors 64834 +#define JvResources_RsEBadGIFCodeSize 64835 +#define JvResources_RsEGIFDecodeError 64836 +#define JvResources_RsEGIFEncodeError 64837 +#define JvResources_RsEGIFVersion 64838 +#define JvResources_RsEPixelFormatNotImplemented 64839 +#define JvResources_RsEBitCountNotImplemented 64840 +#define JvResources_RsClBlack 64841 +#define JvResources_RsClMaroon 64842 +#define JvResources_RsClGreen 64843 +#define JvResources_RsClOlive 64844 +#define JvResources_RsClNavy 64845 +#define JvResources_RsClPurple 64846 +#define JvResources_RsClTeal 64847 +#define JclResources_RsIntelCacheDescrB3 64848 +#define JclResources_RsIntelCacheDescrB4 64849 +#define JclResources_RsIntelCacheDescrF0 64850 +#define JclResources_RsIntelCacheDescrF1 64851 +#define JvResources_RsAniExtension 64852 +#define JvResources_RsAniFilterName 64853 +#define JvResources_RsRootValueReplaceFmt 64854 +#define JvResources_RsEUnableToCreateKey 64855 +#define JvResources_RsEEnumeratingRegistry 64856 +#define JvResources_RsEInvalidType 64857 +#define JvResources_RsEUnknownBaseType 64858 +#define JvResources_RsEInvalidPath 64859 +#define JvResources_RsENotAUniqueRootPath 64860 +#define JvResources_RsECircularReferenceOfStorages 64861 +#define JvResources_RsGIFImage 64862 +#define JvResources_RsEChangeGIFSize 64863 +#define JclResources_RsIntelCacheDescr71 64864 +#define JclResources_RsIntelCacheDescr72 64865 +#define JclResources_RsIntelCacheDescr78 64866 +#define JclResources_RsIntelCacheDescr79 64867 +#define JclResources_RsIntelCacheDescr7A 64868 +#define JclResources_RsIntelCacheDescr7B 64869 +#define JclResources_RsIntelCacheDescr7C 64870 +#define JclResources_RsIntelCacheDescr7D 64871 +#define JclResources_RsIntelCacheDescr7F 64872 +#define JclResources_RsIntelCacheDescr82 64873 +#define JclResources_RsIntelCacheDescr83 64874 +#define JclResources_RsIntelCacheDescr84 64875 +#define JclResources_RsIntelCacheDescr85 64876 +#define JclResources_RsIntelCacheDescr86 64877 +#define JclResources_RsIntelCacheDescr87 64878 +#define JclResources_RsIntelCacheDescrB0 64879 +#define JclResources_RsIntelCacheDescr46 64880 +#define JclResources_RsIntelCacheDescr47 64881 +#define JclResources_RsIntelCacheDescr49 64882 +#define JclResources_RsIntelCacheDescr50 64883 +#define JclResources_RsIntelCacheDescr51 64884 +#define JclResources_RsIntelCacheDescr52 64885 +#define JclResources_RsIntelCacheDescr56 64886 +#define JclResources_RsIntelCacheDescr57 64887 +#define JclResources_RsIntelCacheDescr5B 64888 +#define JclResources_RsIntelCacheDescr5C 64889 +#define JclResources_RsIntelCacheDescr5D 64890 +#define JclResources_RsIntelCacheDescr60 64891 +#define JclResources_RsIntelCacheDescr66 64892 +#define JclResources_RsIntelCacheDescr67 64893 +#define JclResources_RsIntelCacheDescr68 64894 +#define JclResources_RsIntelCacheDescr70 64895 +#define JclResources_RsIntelCacheDescr08 64896 +#define JclResources_RsIntelCacheDescr0A 64897 +#define JclResources_RsIntelCacheDescr0B 64898 +#define JclResources_RsIntelCacheDescr0C 64899 +#define JclResources_RsIntelCacheDescr22 64900 +#define JclResources_RsIntelCacheDescr23 64901 +#define JclResources_RsIntelCacheDescr25 64902 +#define JclResources_RsIntelCacheDescr29 64903 +#define JclResources_RsIntelCacheDescr2C 64904 +#define JclResources_RsIntelCacheDescr30 64905 +#define JclResources_RsIntelCacheDescr40 64906 +#define JclResources_RsIntelCacheDescr41 64907 +#define JclResources_RsIntelCacheDescr42 64908 +#define JclResources_RsIntelCacheDescr43 64909 +#define JclResources_RsIntelCacheDescr44 64910 +#define JclResources_RsIntelCacheDescr45 64911 +#define JclResources_RsRTTIParamCount 64912 +#define JclResources_RsRTTIReturnType 64913 +#define JclResources_RsRTTIMaxLen 64914 +#define JclResources_RsRTTIElSize 64915 +#define JclResources_RsRTTIElType 64916 +#define JclResources_RsRTTIElNeedCleanup 64917 +#define JclResources_RsRTTIVarType 64918 +#define JclResources_RsDeclarationFormat 64919 +#define JclResources_RsSynchCreateEvent 64920 +#define JclResources_RsIntelCacheDescr00 64921 +#define JclResources_RsIntelCacheDescr01 64922 +#define JclResources_RsIntelCacheDescr02 64923 +#define JclResources_RsIntelCacheDescr03 64924 +#define JclResources_RsIntelCacheDescr04 64925 +#define JclResources_RsIntelCacheDescr05 64926 +#define JclResources_RsIntelCacheDescr06 64927 +#define JclResources_RsRTTIName 64928 +#define JclResources_RsRTTIType 64929 +#define JclResources_RsRTTIFlags 64930 +#define JclResources_RsRTTIGUID 64931 +#define JclResources_RsRTTITypeKind 64932 +#define JclResources_RsRTTIOrdinalType 64933 +#define JclResources_RsRTTIMinValue 64934 +#define JclResources_RsRTTIMaxValue 64935 +#define JclResources_RsRTTINameList 64936 +#define JclResources_RsRTTIClassName 64937 +#define JclResources_RsRTTIParent 64938 +#define JclResources_RsRTTIPropCount 64939 +#define JclResources_RsRTTIUnitName 64940 +#define JclResources_RsRTTIBasedOn 64941 +#define JclResources_RsRTTIFloatType 64942 +#define JclResources_RsRTTIMethodKind 64943 +#define JclResources_RsRTTIConst 64944 +#define JclResources_RsRTTIArrayOf 64945 +#define JclResources_RsRTTIOut 64946 +#define JclResources_RsRTTIOrdinal 64947 +#define JclResources_RsRTTITrue 64948 +#define JclResources_RsRTTIFalse 64949 +#define JclResources_RsRTTITypeError 64950 +#define JclResources_RsRTTITypeInfoAt 64951 +#define JclResources_RsRTTIPropRead 64952 +#define JclResources_RsRTTIPropWrite 64953 +#define JclResources_RsRTTIPropStored 64954 +#define JclResources_RsRTTIField 64955 +#define JclResources_RsRTTIStaticMethod 64956 +#define JclResources_RsRTTIVirtualMethod 64957 +#define JclResources_RsRTTIIndex 64958 +#define JclResources_RsRTTIDefault 64959 +#define JclResources_RsHKCULong 64960 +#define JclResources_RsHKLMLong 64961 +#define JclResources_RsHKUSLong 64962 +#define JclResources_RsHKPDLong 64963 +#define JclResources_RsHKCCLong 64964 +#define JclResources_RsHKDDLong 64965 +#define JclResources_RsHKCRShort 64966 +#define JclResources_RsHKCUShort 64967 +#define JclResources_RsHKLMShort 64968 +#define JclResources_RsHKUSShort 64969 +#define JclResources_RsHKPDShort 64970 +#define JclResources_RsHKCCShort 64971 +#define JclResources_RsHKDDShort 64972 +#define JclResources_RsRTTIValueOutOfRange 64973 +#define JclResources_RsRTTIUnknownIdentifier 64974 +#define JclResources_RsRTTIVar 64975 +#define ComStrs_sPageIndexError 64976 +#define JConsts_sChangeJPGSize 64977 +#define JConsts_sJPEGError 64978 +#define JConsts_sJPEGImageFile 64979 +#define JclResources_RsWin32Prefix 64980 +#define JclResources_RsFileUtilsNoVersionInfo 64981 +#define JclResources_RsCreateFileMapping 64982 +#define JclResources_RsCreateFileMappingView 64983 +#define JclResources_RsViewNeedsMapping 64984 +#define JclResources_RsFailedToObtainSize 64985 +#define JclResources_RsUnableToOpenKeyRead 64986 +#define JclResources_RsUnableToOpenKeyWrite 64987 +#define JclResources_RsUnableToAccessValue 64988 +#define JclResources_RsWrongDataType 64989 +#define JclResources_RsInconsistentPath 64990 +#define JclResources_RsHKCRLong 64991 +#define IdResourceStringsProtocols_RSHTTPUnknownResponseCode 64992 +#define IdResourceStringsProtocols_RSHTTPHeaderAlreadyWritten 64993 +#define IdResourceStringsProtocols_RSHTTPErrorParsingCommand 64994 +#define IdResourceStringsProtocols_RSHTTPUnsupportedAuthorisationScheme 64995 +#define IdResourceStringsProtocols_RSHTTPCannotSwitchSessionStateWhenActive 64996 +#define IdResourceStringsProtocols_RSHTTPAuthAlreadyRegistered 64997 +#define ComStrs_sTabFailClear 64998 +#define ComStrs_sTabFailDelete 64999 +#define ComStrs_sTabFailRetrieve 65000 +#define ComStrs_sTabFailGetObject 65001 +#define ComStrs_sTabFailSet 65002 +#define ComStrs_sTabFailSetObject 65003 +#define ComStrs_sTabMustBeMultiLine 65004 +#define ComStrs_sInvalidIndex 65005 +#define ComStrs_sInsertError 65006 +#define ComStrs_sUDAssociated 65007 +#define IdResourceStringsProtocols_RSHTTPNotAcceptable 65008 +#define IdResourceStringsProtocols_RSHTTPProxyAuthenticationRequired 65009 +#define IdResourceStringsProtocols_RSHTTPRequestTimeout 65010 +#define IdResourceStringsProtocols_RSHTTPConflict 65011 +#define IdResourceStringsProtocols_RSHTTPGone 65012 +#define IdResourceStringsProtocols_RSHTTPLengthRequired 65013 +#define IdResourceStringsProtocols_RSHTTPPreconditionFailed 65014 +#define IdResourceStringsProtocols_RSHTTPRequestEntityToLong 65015 +#define IdResourceStringsProtocols_RSHTTPRequestURITooLong 65016 +#define IdResourceStringsProtocols_RSHTTPUnsupportedMediaType 65017 +#define IdResourceStringsProtocols_RSHTTPInternalServerError 65018 +#define IdResourceStringsProtocols_RSHTTPNotImplemented 65019 +#define IdResourceStringsProtocols_RSHTTPBadGateway 65020 +#define IdResourceStringsProtocols_RSHTTPServiceUnavailable 65021 +#define IdResourceStringsProtocols_RSHTTPGatewayTimeout 65022 +#define IdResourceStringsProtocols_RSHTTPHTTPVersionNotSupported 65023 +#define IdResourceStringsProtocols_RSHTTPCreated 65024 +#define IdResourceStringsProtocols_RSHTTPAccepted 65025 +#define IdResourceStringsProtocols_RSHTTPNonAuthoritativeInformation 65026 +#define IdResourceStringsProtocols_RSHTTPNoContent 65027 +#define IdResourceStringsProtocols_RSHTTPResetContent 65028 +#define IdResourceStringsProtocols_RSHTTPPartialContent 65029 +#define IdResourceStringsProtocols_RSHTTPMovedPermanently 65030 +#define IdResourceStringsProtocols_RSHTTPMovedTemporarily 65031 +#define IdResourceStringsProtocols_RSHTTPSeeOther 65032 +#define IdResourceStringsProtocols_RSHTTPNotModified 65033 +#define IdResourceStringsProtocols_RSHTTPUseProxy 65034 +#define IdResourceStringsProtocols_RSHTTPBadRequest 65035 +#define IdResourceStringsProtocols_RSHTTPUnauthorized 65036 +#define IdResourceStringsProtocols_RSHTTPForbidden 65037 +#define IdResourceStringsProtocols_RSHTTPNotFound 65038 +#define IdResourceStringsProtocols_RSHTTPMethodNotAllowed 65039 +#define IdResourceStringsCore_RSAlreadyConnected 65040 +#define IdResourceStringsCore_RSMaximumNumberOfCaptureLineExceeded 65041 +#define IdResourceStringsCore_RSchedMaxThreadEx 65042 +#define IdResourceStringsCore_RSTransparentProxyCannotBind 65043 +#define IdResourceStringsCore_RSTransparentProxyCanNotSupportUDP 65044 +#define IdResourceStringsCore_RSBufferMissingTerminator 65045 +#define IdResourceStringsCore_RSBufferInvalidStartPos 65046 +#define IdResourceStringsCore_RSReplyInvalidCode 65047 +#define IdResourceStringsCore_RSThreadSchedulerThreadRequired 65048 +#define IdResourceStringsCore_RSNoOnExecute 65049 +#define IdResourceStringsCore_RSTCPServerSchedulerAlreadyActive 65050 +#define IdResourceStringsProtocols_RSMIMEExtensionEmpty 65051 +#define IdResourceStringsProtocols_RSMIMEMIMETypeEmpty 65052 +#define IdResourceStringsProtocols_RSMIMEMIMEExtAlreadyExists 65053 +#define IdResourceStringsProtocols_RSHTTPContinue 65054 +#define IdResourceStringsProtocols_RSHTTPOK 65055 +#define IdResourceStringsCore_RSSocksServerHostUnreachableError 65056 +#define IdResourceStringsCore_RSSocksServerConnectionRefusedError 65057 +#define IdResourceStringsCore_RSSocksServerTTLExpiredError 65058 +#define IdResourceStringsCore_RSSocksServerCommandError 65059 +#define IdResourceStringsCore_RSSocksServerAddressError 65060 +#define IdResourceStringsCore_RSInterceptCircularLink 65061 +#define IdResourceStringsCore_RSNotEnoughDataInBuffer 65062 +#define IdResourceStringsCore_RSTooMuchDataInBuffer 65063 +#define IdResourceStringsCore_RSFileNotFound 65064 +#define IdResourceStringsCore_RSNotConnected 65065 +#define IdResourceStringsCore_RSObjectTypeNotSupported 65066 +#define IdResourceStringsCore_RSIdNoDataToRead 65067 +#define IdResourceStringsCore_RSReadTimeout 65068 +#define IdResourceStringsCore_RSReadLnMaxLineLengthExceeded 65069 +#define IdResourceStringsCore_RSConnectTimeout 65070 +#define IdResourceStringsCore_RSThreadTerminateAndWaitFor 65071 +#define IdResourceStrings_RSInvalidIPv6Address 65072 +#define IdResourceStrings_RSIPVersionUnsupported 65073 +#define IdResourceStrings_RSNotAllBytesSent 65074 +#define IdResourceStrings_RSPackageSizeTooBig 65075 +#define IdResourceStrings_RSSetSizeExceeded 65076 +#define IdResourceStringsCore_RSSocksUDPNotSupported 65077 +#define IdResourceStringsCore_RSSocksRequestFailed 65078 +#define IdResourceStringsCore_RSSocksRequestServerFailed 65079 +#define IdResourceStringsCore_RSSocksRequestIdentFailed 65080 +#define IdResourceStringsCore_RSSocksUnknownError 65081 +#define IdResourceStringsCore_RSSocksServerRespondError 65082 +#define IdResourceStringsCore_RSSocksAuthMethodError 65083 +#define IdResourceStringsCore_RSSocksAuthError 65084 +#define IdResourceStringsCore_RSSocksServerGeneralError 65085 +#define IdResourceStringsCore_RSSocksServerPermissionError 65086 +#define IdResourceStringsCore_RSSocksServerNetUnreachableError 65087 +#define IdResourceStrings_RSStackELOOP 65088 +#define IdResourceStrings_RSStackENAMETOOLONG 65089 +#define IdResourceStrings_RSStackEHOSTDOWN 65090 +#define IdResourceStrings_RSStackEHOSTUNREACH 65091 +#define IdResourceStrings_RSStackENOTEMPTY 65092 +#define IdResourceStrings_RSStackHOST_NOT_FOUND 65093 +#define IdResourceStrings_RSStackClassUndefined 65094 +#define IdResourceStrings_RSStackAlreadyCreated 65095 +#define IdResourceStrings_RSAntiFreezeOnlyOne 65096 +#define IdResourceStrings_RSCannotSetIPVersionWhenConnected 65097 +#define IdResourceStrings_RSCannotBindRange 65098 +#define IdResourceStrings_RSConnectionClosedGracefully 65099 +#define IdResourceStrings_RSCouldNotBindSocket 65100 +#define IdResourceStrings_RSInvalidPortRange 65101 +#define IdResourceStrings_RSInvalidServiceName 65102 +#define IdResourceStrings_RSIPv6Unavailable 65103 +#define IdResourceStrings_RSStackEPFNOSUPPORT 65104 +#define IdResourceStrings_RSStackEAFNOSUPPORT 65105 +#define IdResourceStrings_RSStackEADDRINUSE 65106 +#define IdResourceStrings_RSStackEADDRNOTAVAIL 65107 +#define IdResourceStrings_RSStackENETDOWN 65108 +#define IdResourceStrings_RSStackENETUNREACH 65109 +#define IdResourceStrings_RSStackENETRESET 65110 +#define IdResourceStrings_RSStackECONNABORTED 65111 +#define IdResourceStrings_RSStackECONNRESET 65112 +#define IdResourceStrings_RSStackENOBUFS 65113 +#define IdResourceStrings_RSStackEISCONN 65114 +#define IdResourceStrings_RSStackENOTCONN 65115 +#define IdResourceStrings_RSStackESHUTDOWN 65116 +#define IdResourceStrings_RSStackETOOMANYREFS 65117 +#define IdResourceStrings_RSStackETIMEDOUT 65118 +#define IdResourceStrings_RSStackECONNREFUSED 65119 +#define IdResourceStrings_RSStackEBADF 65120 +#define IdResourceStrings_RSStackEACCES 65121 +#define IdResourceStrings_RSStackEFAULT 65122 +#define IdResourceStrings_RSStackEINVAL 65123 +#define IdResourceStrings_RSStackEMFILE 65124 +#define IdResourceStrings_RSStackEWOULDBLOCK 65125 +#define IdResourceStrings_RSStackEINPROGRESS 65126 +#define IdResourceStrings_RSStackEALREADY 65127 +#define IdResourceStrings_RSStackENOTSOCK 65128 +#define IdResourceStrings_RSStackEDESTADDRREQ 65129 +#define IdResourceStrings_RSStackEMSGSIZE 65130 +#define IdResourceStrings_RSStackEPROTOTYPE 65131 +#define IdResourceStrings_RSStackENOPROTOOPT 65132 +#define IdResourceStrings_RSStackEPROTONOSUPPORT 65133 +#define IdResourceStrings_RSStackESOCKTNOSUPPORT 65134 +#define IdResourceStrings_RSStackEOPNOTSUPP 65135 +#define DBConsts_SInvalidBcdValue 65136 +#define DBConsts_SInvalidFormatType 65137 +#define DBConsts_SCouldNotParseTimeStamp 65138 +#define DBConsts_SInvalidSqlTimeStamp 65139 +#define IdResourceStrings_RSFailedTimeZoneInfo 65140 +#define IdResourceStrings_RSWinsockCallError 65141 +#define IdResourceStrings_RSWinsockLoadError 65142 +#define IdResourceStrings_RSWinsockInitializationError 65143 +#define IdResourceStrings_RSStatusResolving 65144 +#define IdResourceStrings_RSStatusConnecting 65145 +#define IdResourceStrings_RSStatusConnected 65146 +#define IdResourceStrings_RSStatusDisconnecting 65147 +#define IdResourceStrings_RSStatusDisconnected 65148 +#define IdResourceStrings_RSStatusText 65149 +#define IdResourceStrings_RSStackError 65150 +#define IdResourceStrings_RSStackEINTR 65151 +#define DBConsts_SNotEditing 65152 +#define DBConsts_SDataSetClosed 65153 +#define DBConsts_SDataSetEmpty 65154 +#define DBConsts_SDataSetReadOnly 65155 +#define DBConsts_SNestedDataSetClass 65156 +#define DBConsts_STextFalse 65157 +#define DBConsts_STextTrue 65158 +#define DBConsts_SParameterNotFound 65159 +#define DBConsts_SInvalidVersion 65160 +#define DBConsts_SBadFieldType 65161 +#define DBConsts_SProviderSQLNotSupported 65162 +#define DBConsts_SProviderExecuteNotSupported 65163 +#define DBConsts_SDataSetUnidirectional 65164 +#define DBConsts_SUnassignedVar 65165 +#define DBConsts_SRecordNotFound 65166 +#define DBConsts_SBcdOverflow 65167 +#define DBConsts_SInvalidBoolValue 65168 +#define DBConsts_SInvalidFloatValue 65169 +#define DBConsts_SFieldTypeMismatch 65170 +#define DBConsts_SFieldSizeMismatch 65171 +#define DBConsts_SInvalidVarByteArray 65172 +#define DBConsts_SFieldOutOfRange 65173 +#define DBConsts_SFieldRequired 65174 +#define DBConsts_SDataSetMissing 65175 +#define DBConsts_SInvalidCalcType 65176 +#define DBConsts_SFieldReadOnly 65177 +#define DBConsts_SNoIndexForFields 65178 +#define DBConsts_SIndexNotFound 65179 +#define DBConsts_SCircularDataLink 65180 +#define DBConsts_SLookupInfoError 65181 +#define DBConsts_SDataSourceChange 65182 +#define DBConsts_SDataSetOpen 65183 +#define uRODECConst_sFMT_MIME64 65184 +#define uRODECConst_sFMT_UU 65185 +#define uRODECConst_sFMT_XX 65186 +#define uRODECConst_sInvalidKeySize 65187 +#define uRODECConst_sNotInitialized 65188 +#define DBConsts_SInvalidFieldSize 65189 +#define DBConsts_SInvalidFieldKind 65190 +#define DBConsts_SUnknownFieldType 65191 +#define DBConsts_SFieldNameMissing 65192 +#define DBConsts_SDuplicateFieldName 65193 +#define DBConsts_SFieldNotFound 65194 +#define DBConsts_SFieldAccessError 65195 +#define DBConsts_SFieldValueError 65196 +#define DBConsts_SFieldRangeError 65197 +#define DBConsts_SBcdFieldRangeError 65198 +#define DBConsts_SInvalidIntegerValue 65199 +#define uRORes_err_CannotLoadXMLDocument 65200 +#define uRORes_err_ErrorCreatingMsXmlDoc 65201 +#define uRORes_err_NoXMLParsersAvailable 65202 +#define uRORes_err_IDispatchMarshalingNotSupported 65203 +#define uRORes_err_UnsupportedVariantType 65204 +#define uRORes_err_VariantIsNotArray 65205 +#define uRORes_err_InvalidVarArrayDimCount 65206 +#define uRORes_err_CannotFindParameter 65207 +#define uRORes_err_MessageNotAssigned 65208 +#define uRODECConst_sProtectionCircular 65209 +#define uRODECConst_sStringFormatExists 65210 +#define uRODECConst_sInvalidStringFormat 65211 +#define uRODECConst_sInvalidFormatString 65212 +#define uRODECConst_sFMT_COPY 65213 +#define uRODECConst_sFMT_HEX 65214 +#define uRODECConst_sFMT_HEXL 65215 +#define uRORes_err_UnknownClass 65216 +#define uRORes_err_UnknownProxyInterface 65217 +#define uRORes_err_DispatcherAlreadyAssigned 65218 +#define uRORes_err_CannotFindMessageDispatcher 65219 +#define uRORes_err_ServerOnlySupportsOneDispatcher 65220 +#define uRORes_err_UnhandledException 65221 +#define uRORes_err_ChannelBusy 65222 +#define uRORes_err_ArrayIndexOutOfBounds 65223 +#define uRORes_err_InvalidHeader 65224 +#define uRORes_err_InvalidHeaderEncrypted 65225 +#define uRORes_err_UnknownClassInStream 65226 +#define uRORes_err_UnexpectedClassInStream 65227 +#define uRORes_err_SessionNotFound 65228 +#define uRORes_err_ChannelDoesntSupportIROMetadataReader 65229 +#define uRORes_err_TooManySessions 65230 +#define uRORes_err_DOMElementIsNIL 65231 +#define uRORes_err_RodlInvalidDataType 65232 +#define uRORes_err_RodlStructCannotBeNested 65233 +#define uRORes_err_RodlInvalidAncestorType 65234 +#define uRORes_str_ExceptionOnServer 65235 +#define uRORes_str_ExceptionReraisedFromServer 65236 +#define uRORes_err_AssignError 65237 +#define uRORes_err_InvalidRequestStream 65238 +#define uRORes_err_NILMessage 65239 +#define uRORes_err_UnspecifiedInterface 65240 +#define uRORes_err_UnspecifiedMessage 65241 +#define uRORes_err_UnknownMethod 65242 +#define uRORes_err_ClassFactoryDidNotReturnInstance 65243 +#define uRORes_err_TypeNotSupported 65244 +#define uRORes_err_ClassFactoryNotFound 65245 +#define uRORes_err_IROMessageNotSupported 65246 +#define uRORes_err_ClassAlreadyRegistered 65247 +#define ComConst_STooManyParams 65248 +#define uRORes_err_InvalidIndex 65249 +#define uRORes_err_InvalidType 65250 +#define uRORes_err_InvalidLibrary 65251 +#define uRORes_err_InvalidStream 65252 +#define uRORes_err_InvalidTargetEntity 65253 +#define uRORes_err_InvalidParamFlag 65254 +#define uRORes_err_InvalidStringLength 65255 +#define uRORes_str_InvalidClassTypeInStream 65256 +#define uRORes_err_UnexpectedEndOfStream 65257 +#define uRORes_err_RodlDuplicateName 65258 +#define uRORes_err_RodlNoDataTypeSpecified 65259 +#define uRORes_err_RodlNoEnumValues 65260 +#define uRORes_err_RodlNoStructElementsDefined 65261 +#define uRORes_err_RodlNoOperationsDefined 65262 +#define uRORes_err_RodlUsedFileDoesNotExist 65263 #define Consts_SSeparator 65264 #define Consts_SErrorSettingCount 65265 #define Consts_SListBoxMustBeVirtual 65266 @@ -790,9 +786,9 @@ #define Consts_STrayIconCreateError 65274 #define Consts_SPageControlNotSet 65275 #define Consts_SWindowsVistaRequired 65276 -#define JvResources_RsAniExtension 65277 -#define JvResources_RsAniFilterName 65278 -#define JvResources_RsRootValueReplaceFmt 65279 +#define ComConst_SOleError 65277 +#define ComConst_SNoMethod 65278 +#define ComConst_SVarNotObject 65279 #define Consts_srNone 65280 #define Consts_SOutOfRange 65281 #define Consts_SInsertLineError 65282 @@ -1051,23 +1047,6 @@ #define SysConst_SAccessDenied 65535 STRINGTABLE BEGIN - pnglang_EPNGHeaderNotPresentText, "This operation is not valid because the current image contains no valid header." - pnglang_EPNGZLIBErrorText, "Could not decompress the image because it contains invalid compressed data.\r\n Description: " - pnglang_EPNGInvalidPaletteText, "The \"Portable Network Graphics\" image contains an invalid palette." - pnglang_EPNGInvalidFileHeaderText, "The file being readed is not a valid \"Portable Network Graphics\" image because it contains an invalid header. This file may be corruped, try obtaining it again." - pnglang_EPNGIHDRNotFirstText, "This \"Portable Network Graphics\" image is not supported or it might be invalid.\r\n(IHDR chunk is not the first)" - pnglang_EPNGSizeExceedsText, "This \"Portable Network Graphics\" image is not supported because either it's width or height exceeds the maximum size, which is 65535 pixels length." - pnglang_EPNGUnknownPalEntryText, "There is no such palette entry." - pnglang_EPNGUnknownCriticalChunkText, "This \"Portable Network Graphics\" image contains an unknown critical part which could not be decoded." - pnglang_EPNGUnknownCompressionText, "This \"Portable Network Graphics\" image is encoded with an unknown compression scheme which could not be decoded." - pnglang_EPNGUnknownInterlaceText, "This \"Portable Network Graphics\" image uses an unknown interlace scheme which could not be decoded." - pnglang_EPNGCannotAssignChunkText, "The chunks must be compatible to be assigned." - pnglang_EPNGUnexpectedEndText, "This \"Portable Network Graphics\" image is invalid because the decoder found an unexpected end of the file." - pnglang_EPNGNoImageDataText, "This \"Portable Network Graphics\" image contains no data." - pnglang_EPNGCannotChangeSizeText, "The \"Portable Network Graphics\" image can not be resize by changing width and height properties. Try assigning the image from a bitmap." - pnglang_EPNGCannotAddChunkText, "The program tried to add a existent critical chunk to the current image which is not allowed." - pnglang_EPNGCannotAddInvalidImageText, "It's not allowed to add a new chunk because the current image is invalid." - pnglang_EPNGOutMemoryText, "Some operation could not be performed because the system is out of resources. Close some windows and try again." cxEditConsts_scxRegExprTooBigReferenceNumber, "Too big reference number" cxEditConsts_scxRegExprCantCreateEmptyEnum, "Can't create empty enumeration" cxEditConsts_scxRegExprSubrangeOrder, "The starting character of the subrange must be less than the finishing one" @@ -1081,9 +1060,6 @@ BEGIN cxEditConsts_scxRegExprCantUseParameterQuantifier, "The parameter quantifier cannot be applied here" cxEditConsts_scxMaskEditRegExprError, "Regular expression errors:" cxEditConsts_scxMaskEditInvalidEditValue, "The edit value is invalid" - pnglang_EPngInvalidCRCText, "This \"Portable Network Graphics\" image is not valid because it contains invalid pieces of data (crc error)" - pnglang_EPNGInvalidIHDRText, "The \"Portable Network Graphics\" image could not be loaded because one of its main piece of data (ihdr) might be corrupted" - pnglang_EPNGMissingMultipleIDATText, "This \"Portable Network Graphics\" image is invalid because it has missing image parts." cxEditConsts_cxSDateEOM, "eom" cxEditConsts_cxSDateNow, "now" cxEditConsts_scxSEditRepositoryButtonItem, "ButtonEdit|Represents an edit control with embedded buttons" @@ -1116,14 +1092,14 @@ BEGIN cxEditConsts_cxSDateSixth, "sixth" cxEditConsts_cxSDateSeventh, "seventh" cxEditConsts_cxSDateBOM, "bom" - IBXConst_SEventAlreadyRegistered, "Events already registered" - IBXConst_SStringTooLarge, "Trying to store a string of length %d into a field that can only contain %d" - IBXConst_SNoTimers, "Not enough timers available" - IBXConst_SIB65feature, "%s is an InterBase 6.5 function. Please upgrade to InterBase 6.5 to use this functonality" - IBXConst_SLoginPromptFailure, "Can not find default login prompt dialog. Please add DBLogDlg to the uses section of your main file." - IBXConst_SIB70feature, "%s is an InterBase 7.0 function. Please upgrade to InterBase 7.0 to use this functonality" - IBXConst_SIB71feature, "%s is an InterBase 7.1 function. Please upgrade to InterBase 7.1 to use this functonality" - IBXConst_SIB80feature, "%s is an InterBase 2007 function. Please upgrade to InterBase 2007 to use this functonality" + pnglang_EPNGCannotAssignChunkText, "The chunks must be compatible to be assigned." + pnglang_EPNGUnexpectedEndText, "This \"Portable Network Graphics\" image is invalid because the decoder found an unexpected end of the file." + pnglang_EPNGNoImageDataText, "This \"Portable Network Graphics\" image contains no data." + pnglang_EPNGCannotChangeSizeText, "The \"Portable Network Graphics\" image can not be resize by changing width and height properties. Try assigning the image from a bitmap." + pnglang_EPNGCannotAddChunkText, "The program tried to add a existent critical chunk to the current image which is not allowed." + pnglang_EPNGCannotAddInvalidImageText, "It's not allowed to add a new chunk because the current image is invalid." + pnglang_EPNGOutMemoryText, "Some operation could not be performed because the system is out of resources. Close some windows and try again." + pnglang_EPNGHeaderNotPresentText, "This operation is not valid because the current image contains no valid header." cxDataConsts_cxSDataReadError, "Stream read error" cxDataConsts_cxSDataWriteError, "Stream write error" cxEditConsts_cxSEditInvalidRepositoryItem, "The repository item is not acceptable" @@ -1132,139 +1108,39 @@ BEGIN cxEditConsts_cxSEditValueOutOfBounds, "Value out of bounds" cxEditConsts_cxSDateToday, "today" cxEditConsts_cxSDateYesterday, "yesterday" - IBXConst_SParamNameExpected, "Parameter name expected" - IBXConst_SSuccess, "Successful execution" - IBXConst_SDelphiException, "DelphiException %s" - IBXConst_SNoOptionsSet, "No Install Options selected" - IBXConst_SNoDestinationDirectory, "DestinationDirectory is not set" - IBXConst_SNosourceDirectory, "SourceDirectory is not set" - IBXConst_SNoUninstallFile, "Uninstall File Name is not set" - IBXConst_SOptionNeedsClient, "%s component requires Client to function properly" - IBXConst_SOptionNeedsServer, "%s component requires Server to function properly" - IBXConst_SInvalidOption, "Invalid option specified" - IBXConst_SInvalidOnErrorResult, "Unexpected onError return value" - IBXConst_SInvalidOnStatusResult, "Unexpected onStatus return value" - IBXConst_SDPBConstantUnknownEx, "DPB Constant (%s) is unknown" - IBXConst_STPBConstantUnknownEx, "TPB Constant (%s) is unknown" - IBXConst_SUnknownPlan, "Unknown Error - Can't retrieve plan" - IBXConst_SFieldSizeMismatch, "Size Mismatch - Field %s size is too small for data" - IBXConst_SInvalidBatchMove, "Invalid Batch Move" - IBXConst_SSQLDialectInvalid, "SQL Dialect Invalid" - IBXConst_SSPBConstantNotSupported, "SPB Constant Not supported" - IBXConst_SSPBConstantUnknown, "SPB Constant Unknown" - IBXConst_SServiceActive, "Cannot perform operation -- service is not attached" - IBXConst_SServiceInActive, "Cannot perform operation -- service is attached" - IBXConst_SServerNameMissing, "Server Name Missing" - IBXConst_SQueryParamsError, "Query Parameters missing or incorrect" - IBXConst_SStartParamsError, "start Parameters missing or incorrect" - IBXConst_SOutputParsingError, "Unexpected Output buffer value" - IBXConst_SUseSpecificProcedures, "Generic ServiceStart not applicable: Use Specific Procedures to set configuration params" - IBXConst_SSQLMonitorAlreadyPresent, "SQL Monitor Instance is already present" - IBXConst_SCantPrintValue, "Cannot print value" - IBXConst_SEOFReached, "SEOFReached" - IBXConst_SEOFInComment, "EOF in comment detected" - IBXConst_SEOFInString, "EOF in string detected" - IBXConst_SUpdateFailed, "Update Failed" - IBXConst_SNotCachedUpdates, "CachedUpdates not enabled" - IBXConst_SNotLiveRequest, "Request is not live - cannot modify" - IBXConst_SNoProvider, "No Provider" - IBXConst_SNoRecordsAffected, "No Records Affected" - IBXConst_SNoTableName, "No Table Name assigned" - IBXConst_SCannotCreatePrimaryIndex, "Cannot Create Primary Index; are created automatically" - IBXConst_SCannotDropSystemIndex, "Cannot Drop System Index" - IBXConst_STableNameMismatch, "Table Name Mismatch" - IBXConst_SIndexFieldMissing, "Index Field Missing" - IBXConst_SInvalidCancellation, "Cannot Cancel events while processing" - IBXConst_SInvalidEvent, "Invalid Event" - IBXConst_SMaximumEvents, "Exceded Maximum Event limits" - IBXConst_SNoEventsRegistered, "No Events Registered" - IBXConst_SInvalidQueueing, "Invalid Queueing" - IBXConst_SInvalidRegistration, "Invalid Registration" - IBXConst_SCircularReference, "Circular references not permitted" - IBXConst_SSQLParseError, "SQL Parse Error:\r\n\r\n%s" - IBXConst_SUserAbort, "User abort" - IBXConst_SDataSetUniDirectional, "Data set is uni-directional" - IBXConst_SCannotCreateSharedResource, "Cannot create shared resource. (Windows error %d)" - IBXConst_SWindowsAPIError, "Windows API error. (Windows error %d [$%.8x])" - IBXConst_SColumnListsDontMatch, "Column lists do not match" - IBXConst_SColumnTypesDontMatch, "Column types don't match. (From index: %d; To index: %d)" - IBXConst_SCantEndSharedTransaction, "Can't end a shared transaction unless it is forced and equal to the transaction's TimeoutAction" - IBXConst_SFieldUnsupportedType, "Unsupported Field Type" - IBXConst_SCircularDataLink, "Circular DataLink Reference" - IBXConst_SEmptySQLStatement, "Empty SQL Statement" - IBXConst_SIsASelectStatement, "use Open for a Select Statement" - IBXConst_SRequiredParamNotSet, "Required Param value not set" - IBXConst_SNoStoredProcName, "No Stored Procedure Name assigned" - IBXConst_SIsAExecuteProcedure, "use ExecProc for Procedure; use TQuery for Select procedures" - IBXConst_SInvalidDataConversion, "Invalid data conversion" - IBXConst_SColumnIsNotNullable, "Column cannot be set to null (%s)" - IBXConst_SBlobCannotBeRead, "Blob stream cannot be read" - IBXConst_SBlobCannotBeWritten, "Blob stream cannot be written" - IBXConst_SEmptyQuery, "Empty query" - IBXConst_SCannotOpenNonSQLSelect, "Cannot \"open\" a non-select statement. Use ExecQuery" - IBXConst_SNoFieldAccess, "No access to field \"%s\"" - IBXConst_SFieldReadOnly, "Field \"%s\" is read-only" - IBXConst_SFieldNotFound, "Field \"%s\" not found" - IBXConst_SNotEditing, "Not in edit mode" - IBXConst_SCannotInsert, "Cannot insert into dataset. (No insert query)" - IBXConst_SCannotPost, "Cannot post. (No update/insert query)" - IBXConst_SCannotUpdate, "Cannot update. (No update query)" - IBXConst_SCannotDelete, "Cannot delete from dataset. (No delete query)" - IBXConst_SCannotRefresh, "Cannot refresh row. (No refresh query)" - IBXConst_SBufferNotSet, "Buffer not set" - IBXConst_SUpdateWrongDB, "Updating wrong database" - IBXConst_SUpdateWrongTR, "Updating wrong transaction. Unique transaction expected in set" - IBXConst_SDatabaseNotAssigned, "Database not assigned" - IBXConst_STransactionNotAssigned, "Transaction not assigned" - IBXConst_SXSQLDAIndexOutOfRange, "XSQLDA index out of range" - IBXConst_SXSQLDANameDoesNotExist, "XSQLDA name does not exist (%s)" - IBXConst_SEOF, "End of file" - IBXConst_SBOF, "Beginning of file" - IBXConst_SInvalidStatementHandle, "Invalid statement handle" - IBXConst_SSQLOpen, "IBSQL Open" - IBXConst_SSQLClosed, "IBSQL Closed" - IBXConst_SDatasetOpen, "Dataset open" - IBXConst_SDatasetClosed, "Dataset closed" - IBXConst_SUnknownSQLDataType, "Unknown SQL Data type (%d)" - IBXConst_SInvalidColumnIndex, "Invalid column index (index exceeds permitted range)" - IBXConst_SInvalidParamColumnIndex, "Invalid parameter index (index exceeds permitted range)" - IBXConst_SFileAccessError, "Temporary file access error" - IBXConst_SConnectionTimeout, "Database connection timed out" - IBXConst_SCannotSetDatabase, "Cannot set database" - IBXConst_SCannotSetTransaction, "Cannot set transaction" - IBXConst_SOperationCancelled, "Operation cancelled at user's request" - IBXConst_SDPBConstantNotSupported, "DPB Constant (isc_dpb_%s) is unsupported" - IBXConst_SDPBConstantUnknown, "DPB Constant (%d) is unknown" - IBXConst_STPBConstantNotSupported, "TPB Constant (isc_tpb_%s) is unsupported" - IBXConst_STPBConstantUnknown, "TPB Constant (%d) is unknown" - IBXConst_SDatabaseClosed, "Cannot perform operation -- DB is not open" - IBXConst_SDatabaseOpen, "Cannot perform operation -- DB is currently open" - IBXConst_SDatabaseNameMissing, "Database name is missing" - IBXConst_SNotInTransaction, "Transaction is not active" - IBXConst_SInTransaction, "Transaction is active" - IBXConst_STimeoutNegative, "Timeout values cannot be negative" - IBXConst_SNoDatabasesInTransaction, "No databases are listed in transaction component" - IBSQLMonitor_StrFetch, ": [Fetch] " - IBSQLMonitor_StrPrepare, ": [Prepare] " - IBSQLMonitor_StrPlan, " Plan: " - IBSQLMonitor_StrPlanCantRetrive, " Plan: Can't retrieve plan - too large" + ADOConst_SNoFilterOptions, "FilterOptions are not supported" + ADOConst_SRecordsetNotOpen, "Recordset is not open" + ADOConst_sNameAttr, "Name" + ADOConst_sValueAttr, "Value" + pnglang_EPngInvalidCRCText, "This \"Portable Network Graphics\" image is not valid because it contains invalid pieces of data (crc error)" + pnglang_EPNGInvalidIHDRText, "The \"Portable Network Graphics\" image could not be loaded because one of its main piece of data (ihdr) might be corrupted" + pnglang_EPNGMissingMultipleIDATText, "This \"Portable Network Graphics\" image is invalid because it has missing image parts." + pnglang_EPNGZLIBErrorText, "Could not decompress the image because it contains invalid compressed data.\r\n Description: " + pnglang_EPNGInvalidPaletteText, "The \"Portable Network Graphics\" image contains an invalid palette." + pnglang_EPNGInvalidFileHeaderText, "The file being readed is not a valid \"Portable Network Graphics\" image because it contains an invalid header. This file may be corruped, try obtaining it again." + pnglang_EPNGIHDRNotFirstText, "This \"Portable Network Graphics\" image is not supported or it might be invalid.\r\n(IHDR chunk is not the first)" + pnglang_EPNGSizeExceedsText, "This \"Portable Network Graphics\" image is not supported because either it's width or height exceeds the maximum size, which is 65535 pixels length." + pnglang_EPNGUnknownPalEntryText, "There is no such palette entry." + pnglang_EPNGUnknownCriticalChunkText, "This \"Portable Network Graphics\" image contains an unknown critical part which could not be decoded." + pnglang_EPNGUnknownCompressionText, "This \"Portable Network Graphics\" image is encoded with an unknown compression scheme which could not be decoded." + pnglang_EPNGUnknownInterlaceText, "This \"Portable Network Graphics\" image uses an unknown interlace scheme which could not be decoded." IBSQLMonitor_StrCommitHardComm, ": [Commit (Hard commit)]" IBSQLMonitor_StrCommitRetaining, ": [Commit retaining (Soft commit)]" IBSQLMonitor_StrRollback, ": [Rollback]" IBSQLMonitor_StrRollbackRetainin, ": [Rollback retaining (Soft rollback)]" IBSQLMonitor_StrStartTransaction, ": [Start transaction]" IBSQLMonitor_StrApplication, "[Application: " - IBXConst_SUnknownError, "Unknown error" - IBXConst_SInterBaseMissing, "InterBase library gds32.dll not found in the path. Please install InterBase to use this functionality" - IBXConst_SInterBaseInstallMissing, "InterBase Install DLL ibinstall.dll not found in the path. Please install InterBase 6 to use this functionality" - IBXConst_SIB60feature, "%s is an InterBase 6 function. Please upgrade to InterBase 6 to use this functonality" - IBXConst_SNotSupported, "Unsupported feature" - IBXConst_SNotPermitted, "Not permitted" + ADOConst_SMissingConnection, "Missing Connection or ConnectionString" + ADOConst_SNoDetailFilter, "Filter property cannot be used for detail tables" + ADOConst_SBookmarksRequired, "Dataset does not support bookmarks, which are required for multi-record data controls" + ADOConst_SMissingCommandText, "Missing %s property" + ADOConst_SNoResultSet, "CommandText does not return a result set" + ADOConst_SADOCreateError, "Error creating object. Please verify that the Microsoft Data Access Components 2.1 (or later) have been properly installed" + ADOConst_SEventsNotSupported, "Events are not supported with server side TableDirect cursors" + ADOConst_SUsupportedFieldType, "Unsupported field type (%s) in field %s" + ADOConst_SConnectionRequired, "A connection component is required for async ExecuteOptions" ADOConst_SCantRequery, "Cannot perform a requery after connection has changed" - ADOConst_SNoFilterOptions, "FilterOptions are not supported" - ADOConst_SRecordsetNotOpen, "Recordset is not open" - ADOConst_sNameAttr, "Name" - ADOConst_sValueAttr, "Value" + IBXConst_SIB80feature, "%s is an InterBase 2007 function. Please upgrade to InterBase 2007 to use this functonality" IBSQLMonitor_StrConnect, ": [Connect]" IBSQLMonitor_StrDisconnect, ": [Disconnect]" IBSQLMonitor_StrMisc, "[Misc] " @@ -1276,22 +1152,138 @@ BEGIN IBSQLMonitor_StrExecute, ": [Execute] " IBSQLMonitor_StrNULL, "" IBSQLMonitor_StrBLOB, "" - uDARes_err_DARDMConnectionIsNotAssigned, "Connection is not assigned" - uDARes_err_DARDMCannotFindProxessorForDelta, "Cannot find a business processor for delta \"%s\"" - uDARes_err_NeedShareMem, "To use dynamically loaded drivers, you must build your application with ShareMem." - uDARes_err_ExecuteSQLCommandNotAllowed, "ExecuteSQLCommand is not enabled for this server." + IBSQLMonitor_StrFetch, ": [Fetch] " + IBSQLMonitor_StrPrepare, ": [Prepare] " + IBSQLMonitor_StrPlan, " Plan: " + IBSQLMonitor_StrPlanCantRetrive, " Plan: Can't retrieve plan - too large" + IBXConst_SOptionNeedsClient, "%s component requires Client to function properly" + IBXConst_SOptionNeedsServer, "%s component requires Server to function properly" + IBXConst_SInvalidOption, "Invalid option specified" + IBXConst_SInvalidOnErrorResult, "Unexpected onError return value" + IBXConst_SInvalidOnStatusResult, "Unexpected onStatus return value" + IBXConst_SDPBConstantUnknownEx, "DPB Constant (%s) is unknown" + IBXConst_STPBConstantUnknownEx, "TPB Constant (%s) is unknown" + IBXConst_SUnknownPlan, "Unknown Error - Can't retrieve plan" + IBXConst_SFieldSizeMismatch, "Size Mismatch - Field %s size is too small for data" + IBXConst_SEventAlreadyRegistered, "Events already registered" + IBXConst_SStringTooLarge, "Trying to store a string of length %d into a field that can only contain %d" + IBXConst_SNoTimers, "Not enough timers available" + IBXConst_SIB65feature, "%s is an InterBase 6.5 function. Please upgrade to InterBase 6.5 to use this functonality" + IBXConst_SLoginPromptFailure, "Can not find default login prompt dialog. Please add DBLogDlg to the uses section of your main file." + IBXConst_SIB70feature, "%s is an InterBase 7.0 function. Please upgrade to InterBase 7.0 to use this functonality" + IBXConst_SIB71feature, "%s is an InterBase 7.1 function. Please upgrade to InterBase 7.1 to use this functonality" + IBXConst_SQueryParamsError, "Query Parameters missing or incorrect" + IBXConst_SStartParamsError, "start Parameters missing or incorrect" + IBXConst_SOutputParsingError, "Unexpected Output buffer value" + IBXConst_SUseSpecificProcedures, "Generic ServiceStart not applicable: Use Specific Procedures to set configuration params" + IBXConst_SSQLMonitorAlreadyPresent, "SQL Monitor Instance is already present" + IBXConst_SCantPrintValue, "Cannot print value" + IBXConst_SEOFReached, "SEOFReached" + IBXConst_SEOFInComment, "EOF in comment detected" + IBXConst_SEOFInString, "EOF in string detected" + IBXConst_SParamNameExpected, "Parameter name expected" + IBXConst_SSuccess, "Successful execution" + IBXConst_SDelphiException, "DelphiException %s" + IBXConst_SNoOptionsSet, "No Install Options selected" + IBXConst_SNoDestinationDirectory, "DestinationDirectory is not set" + IBXConst_SNosourceDirectory, "SourceDirectory is not set" + IBXConst_SNoUninstallFile, "Uninstall File Name is not set" + IBXConst_SCannotDropSystemIndex, "Cannot Drop System Index" + IBXConst_STableNameMismatch, "Table Name Mismatch" + IBXConst_SIndexFieldMissing, "Index Field Missing" + IBXConst_SInvalidCancellation, "Cannot Cancel events while processing" + IBXConst_SInvalidEvent, "Invalid Event" + IBXConst_SMaximumEvents, "Exceded Maximum Event limits" + IBXConst_SNoEventsRegistered, "No Events Registered" + IBXConst_SInvalidQueueing, "Invalid Queueing" + IBXConst_SInvalidRegistration, "Invalid Registration" + IBXConst_SInvalidBatchMove, "Invalid Batch Move" + IBXConst_SSQLDialectInvalid, "SQL Dialect Invalid" + IBXConst_SSPBConstantNotSupported, "SPB Constant Not supported" + IBXConst_SSPBConstantUnknown, "SPB Constant Unknown" + IBXConst_SServiceActive, "Cannot perform operation -- service is not attached" + IBXConst_SServiceInActive, "Cannot perform operation -- service is attached" + IBXConst_SServerNameMissing, "Server Name Missing" + IBXConst_SColumnTypesDontMatch, "Column types don't match. (From index: %d; To index: %d)" + IBXConst_SCantEndSharedTransaction, "Can't end a shared transaction unless it is forced and equal to the transaction's TimeoutAction" + IBXConst_SFieldUnsupportedType, "Unsupported Field Type" + IBXConst_SCircularDataLink, "Circular DataLink Reference" + IBXConst_SEmptySQLStatement, "Empty SQL Statement" + IBXConst_SIsASelectStatement, "use Open for a Select Statement" + IBXConst_SRequiredParamNotSet, "Required Param value not set" + IBXConst_SNoStoredProcName, "No Stored Procedure Name assigned" + IBXConst_SIsAExecuteProcedure, "use ExecProc for Procedure; use TQuery for Select procedures" + IBXConst_SUpdateFailed, "Update Failed" + IBXConst_SNotCachedUpdates, "CachedUpdates not enabled" + IBXConst_SNotLiveRequest, "Request is not live - cannot modify" + IBXConst_SNoProvider, "No Provider" + IBXConst_SNoRecordsAffected, "No Records Affected" + IBXConst_SNoTableName, "No Table Name assigned" + IBXConst_SCannotCreatePrimaryIndex, "Cannot Create Primary Index; are created automatically" + IBXConst_SFieldReadOnly, "Field \"%s\" is read-only" + IBXConst_SFieldNotFound, "Field \"%s\" not found" + IBXConst_SNotEditing, "Not in edit mode" + IBXConst_SCannotInsert, "Cannot insert into dataset. (No insert query)" + IBXConst_SCannotPost, "Cannot post. (No update/insert query)" + IBXConst_SCannotUpdate, "Cannot update. (No update query)" + IBXConst_SCannotDelete, "Cannot delete from dataset. (No delete query)" + IBXConst_SCannotRefresh, "Cannot refresh row. (No refresh query)" + IBXConst_SBufferNotSet, "Buffer not set" + IBXConst_SCircularReference, "Circular references not permitted" + IBXConst_SSQLParseError, "SQL Parse Error:\r\n\r\n%s" + IBXConst_SUserAbort, "User abort" + IBXConst_SDataSetUniDirectional, "Data set is uni-directional" + IBXConst_SCannotCreateSharedResource, "Cannot create shared resource. (Windows error %d)" + IBXConst_SWindowsAPIError, "Windows API error. (Windows error %d [$%.8x])" + IBXConst_SColumnListsDontMatch, "Column lists do not match" + IBXConst_SBOF, "Beginning of file" + IBXConst_SInvalidStatementHandle, "Invalid statement handle" + IBXConst_SSQLOpen, "IBSQL Open" + IBXConst_SSQLClosed, "IBSQL Closed" + IBXConst_SDatasetOpen, "Dataset open" + IBXConst_SDatasetClosed, "Dataset closed" + IBXConst_SUnknownSQLDataType, "Unknown SQL Data type (%d)" + IBXConst_SInvalidColumnIndex, "Invalid column index (index exceeds permitted range)" + IBXConst_SInvalidParamColumnIndex, "Invalid parameter index (index exceeds permitted range)" + IBXConst_SInvalidDataConversion, "Invalid data conversion" + IBXConst_SColumnIsNotNullable, "Column cannot be set to null (%s)" + IBXConst_SBlobCannotBeRead, "Blob stream cannot be read" + IBXConst_SBlobCannotBeWritten, "Blob stream cannot be written" + IBXConst_SEmptyQuery, "Empty query" + IBXConst_SCannotOpenNonSQLSelect, "Cannot \"open\" a non-select statement. Use ExecQuery" + IBXConst_SNoFieldAccess, "No access to field \"%s\"" + IBXConst_STPBConstantNotSupported, "TPB Constant (isc_tpb_%s) is unsupported" + IBXConst_STPBConstantUnknown, "TPB Constant (%d) is unknown" + IBXConst_SDatabaseClosed, "Cannot perform operation -- DB is not open" + IBXConst_SDatabaseOpen, "Cannot perform operation -- DB is currently open" + IBXConst_SDatabaseNameMissing, "Database name is missing" + IBXConst_SNotInTransaction, "Transaction is not active" + IBXConst_SInTransaction, "Transaction is active" + IBXConst_STimeoutNegative, "Timeout values cannot be negative" + IBXConst_SNoDatabasesInTransaction, "No databases are listed in transaction component" + IBXConst_SUpdateWrongDB, "Updating wrong database" + IBXConst_SUpdateWrongTR, "Updating wrong transaction. Unique transaction expected in set" + IBXConst_SDatabaseNotAssigned, "Database not assigned" + IBXConst_STransactionNotAssigned, "Transaction not assigned" + IBXConst_SXSQLDAIndexOutOfRange, "XSQLDA index out of range" + IBXConst_SXSQLDANameDoesNotExist, "XSQLDA name does not exist (%s)" + IBXConst_SEOF, "End of file" uDARes_err_DatasetNotAccessible, "Access to dataset %s has not been permitted." uDARes_err_CommandNotAccessible, "executon of command %s has not been permitted." uDARes_err_SQLNotPermitted, "Execution of the specified SQL statement has not been permitted." - ADOConst_SMissingConnection, "Missing Connection or ConnectionString" - ADOConst_SNoDetailFilter, "Filter property cannot be used for detail tables" - ADOConst_SBookmarksRequired, "Dataset does not support bookmarks, which are required for multi-record data controls" - ADOConst_SMissingCommandText, "Missing %s property" - ADOConst_SNoResultSet, "CommandText does not return a result set" - ADOConst_SADOCreateError, "Error creating object. Please verify that the Microsoft Data Access Components 2.1 (or later) have been properly installed" - ADOConst_SEventsNotSupported, "Events are not supported with server side TableDirect cursors" - ADOConst_SUsupportedFieldType, "Unsupported field type (%s) in field %s" - ADOConst_SConnectionRequired, "A connection component is required for async ExecuteOptions" + IBXConst_SUnknownError, "Unknown error" + IBXConst_SInterBaseMissing, "InterBase library gds32.dll not found in the path. Please install InterBase to use this functionality" + IBXConst_SInterBaseInstallMissing, "InterBase Install DLL ibinstall.dll not found in the path. Please install InterBase 6 to use this functionality" + IBXConst_SIB60feature, "%s is an InterBase 6 function. Please upgrade to InterBase 6 to use this functonality" + IBXConst_SNotSupported, "Unsupported feature" + IBXConst_SNotPermitted, "Not permitted" + IBXConst_SFileAccessError, "Temporary file access error" + IBXConst_SConnectionTimeout, "Database connection timed out" + IBXConst_SCannotSetDatabase, "Cannot set database" + IBXConst_SCannotSetTransaction, "Cannot set transaction" + IBXConst_SOperationCancelled, "Operation cancelled at user's request" + IBXConst_SDPBConstantNotSupported, "DPB Constant (isc_dpb_%s) is unsupported" + IBXConst_SDPBConstantUnknown, "DPB Constant (%d) is unknown" uDARes_err_CannotFindItem, "Cannot find %s \"%s\" in collection of type %s" uDARes_err_DriverAlreadyLoaded, "Driver %s is already loaded" uDARes_err_InvalidDLL, "%s is not a valid Data Abstract driver" @@ -1305,18 +1297,18 @@ BEGIN uDARes_err_PoolIsNotEmpty, "Cannot perform this operation when connections are pooled" uDARes_err_MaxPoolSizeReached, "Maximum pool size reached. Cannot create a new connection" uDARes_err_LAMEDataset, "%s does not implement IProviderSupport or implements it incorrectly" - uDARes_err_HETConnectionNotSupportedInV3, "HET Connections are not supported by te legacy v3 DARemoteService" uDARes_err_DARDMInvalidSchema, "Schema must be assigned and must point to a ConnectionManager" - uDARes_err_DARDMUnassignedAdapter, "DataAdapter is not assigned" - IdResourceStringsProtocols_RSHTTPServiceUnavailable, "Service Unavailable" - IdResourceStringsProtocols_RSHTTPGatewayTimeout, "Gateway timeout" - IdResourceStringsProtocols_RSHTTPHTTPVersionNotSupported, "HTTP version not supported" - IdResourceStringsProtocols_RSHTTPUnknownResponseCode, "Unknown Response Code" - IdResourceStringsProtocols_RSHTTPHeaderAlreadyWritten, "Header has already been written." - IdResourceStringsProtocols_RSHTTPErrorParsingCommand, "Error in parsing command." - IdResourceStringsProtocols_RSHTTPUnsupportedAuthorisationScheme, "Unsupported authorization scheme." - IdResourceStringsProtocols_RSHTTPCannotSwitchSessionStateWhenActive, "Cannot change session state when the server is active." - IdResourceStringsProtocols_RSHTTPAuthAlreadyRegistered, "This authentication method is already registered with class name %s." + uDARes_err_DARDMCannotFindProxessorForDelta, "Cannot find a business processor for delta \"%s\"" + uDARes_err_NeedShareMem, "To use dynamically loaded drivers, you must build your application with ShareMem." + JvResources_RsCl3DDkShadow, "Dark shadow 3D elements" + JvResources_RsCl3DLight, "Highlight 3D elements" + JvResources_RsClInfoText, "Tooltip text" + JvResources_RsClInfoBk, "Tooltip background" + JvResources_RsGradientActiveCaption, "Gradient Active Caption" + JvResources_RsGradientInactiveCaption, "Gradient Inactive Caption" + JvResources_RsHotLight, "Hot Light" + JvResources_RsMenuBar, "Menu Bar" + JvResources_RsMenuHighlight, "Menu Highlight" uDARes_err_ChangeLogAlreadyStarted, "StartChange has already been called; cannot log more than one change at a time." uDARes_err_NotAttachedToDataTable, "Delta is not attached to a DataTable" uDARes_err_DriverProcAlreadyRegistered, "DriverProc 0x%0.8x is already registered" @@ -1324,280 +1316,102 @@ BEGIN uDARes_err_DriverManagerNotAssigned, "Driver Manager is not assigned" uDARes_err_FieldTypeNotSupported, "FieldType %s (%d) is not supported" uDARes_err_InvalidDataset, "Invalid or NIL dataset" - IdResourceStringsProtocols_RSHTTPForbidden, "Forbidden" - IdResourceStringsProtocols_RSHTTPNotFound, "Not Found" - IdResourceStringsProtocols_RSHTTPMethodNotAllowed, "Method not allowed" - IdResourceStringsProtocols_RSHTTPNotAcceptable, "Not Acceptable" - IdResourceStringsProtocols_RSHTTPProxyAuthenticationRequired, "Proxy Authentication Required" - IdResourceStringsProtocols_RSHTTPRequestTimeout, "Request Timeout" - IdResourceStringsProtocols_RSHTTPConflict, "Conflict" - IdResourceStringsProtocols_RSHTTPGone, "Gone" - IdResourceStringsProtocols_RSHTTPLengthRequired, "Length Required" - IdResourceStringsProtocols_RSHTTPPreconditionFailed, "Precondition Failed" - IdResourceStringsProtocols_RSHTTPRequestEntityToLong, "Request Entity To Long" - IdResourceStringsProtocols_RSHTTPRequestURITooLong, "Request-URI Too Long. 256 Chars max" - IdResourceStringsProtocols_RSHTTPUnsupportedMediaType, "Unsupported Media Type" - IdResourceStringsProtocols_RSHTTPInternalServerError, "Internal Server Error" - IdResourceStringsProtocols_RSHTTPNotImplemented, "Not Implemented" - IdResourceStringsProtocols_RSHTTPBadGateway, "Bad Gateway" - IdResourceStringsProtocols_RSMIMEMIMEExtAlreadyExists, "Extension already exits" - IdResourceStringsProtocols_RSHTTPContinue, "Continue" - IdResourceStringsProtocols_RSHTTPOK, "OK" - IdResourceStringsProtocols_RSHTTPCreated, "Created" - IdResourceStringsProtocols_RSHTTPAccepted, "Accepted" - IdResourceStringsProtocols_RSHTTPNonAuthoritativeInformation, "Non-authoritative Information" - IdResourceStringsProtocols_RSHTTPNoContent, "No Content" - IdResourceStringsProtocols_RSHTTPResetContent, "Reset Content" - IdResourceStringsProtocols_RSHTTPPartialContent, "Partial Content" - IdResourceStringsProtocols_RSHTTPMovedPermanently, "Moved Permanently" - IdResourceStringsProtocols_RSHTTPMovedTemporarily, "Moved Temporarily" - IdResourceStringsProtocols_RSHTTPSeeOther, "See Other" - IdResourceStringsProtocols_RSHTTPNotModified, "Not Modified" - IdResourceStringsProtocols_RSHTTPUseProxy, "Use Proxy" - IdResourceStringsProtocols_RSHTTPBadRequest, "Bad Request" - IdResourceStringsProtocols_RSHTTPUnauthorized, "Unauthorized" - IdResourceStringsCore_RSReadLnMaxLineLengthExceeded, "Max line length exceeded." - IdResourceStringsCore_RSConnectTimeout, "Connect timed out." - IdResourceStringsCore_RSThreadTerminateAndWaitFor, "Cannot call TerminateAndWaitFor on FreeAndTerminate threads" - IdResourceStringsCore_RSAlreadyConnected, "Already connected." - IdResourceStringsCore_RSMaximumNumberOfCaptureLineExceeded, "Maximum number of line allowed exceeded" - IdResourceStringsCore_RSchedMaxThreadEx, "The maximum number of threads for this scheduler is exceeded." - IdResourceStringsCore_RSTransparentProxyCannotBind, "Transparent proxy cannot bind." - IdResourceStringsCore_RSTransparentProxyCanNotSupportUDP, "UDP Not supported by this proxy." - IdResourceStringsCore_RSBufferMissingTerminator, "Buffer terminator must be specified." - IdResourceStringsCore_RSBufferInvalidStartPos, "Buffer start position is invalid." - IdResourceStringsCore_RSReplyInvalidCode, "Reply Code is not valid: %s" - IdResourceStringsCore_RSThreadSchedulerThreadRequired, "Thread must be specified for the scheduler." - IdResourceStringsCore_RSNoOnExecute, "You must have an OnExecute event." - IdResourceStringsCore_RSTCPServerSchedulerAlreadyActive, "Cannot change the scheduler while the server is Active." - IdResourceStringsProtocols_RSMIMEExtensionEmpty, "Extension is empty" - IdResourceStringsProtocols_RSMIMEMIMETypeEmpty, "Mimetype is empty" - IdResourceStringsCore_RSSocksServerGeneralError, "General SOCKS server failure." - IdResourceStringsCore_RSSocksServerPermissionError, "Connection not allowed by ruleset." - IdResourceStringsCore_RSSocksServerNetUnreachableError, "Network unreachable." - IdResourceStringsCore_RSSocksServerHostUnreachableError, "Host unreachable." - IdResourceStringsCore_RSSocksServerConnectionRefusedError, "Connection refused." - IdResourceStringsCore_RSSocksServerTTLExpiredError, "TTL expired." - IdResourceStringsCore_RSSocksServerCommandError, "Command not supported." - IdResourceStringsCore_RSSocksServerAddressError, "Address type not supported." - IdResourceStringsCore_RSInterceptCircularLink, "%d: Circular links are not allowed" - IdResourceStringsCore_RSNotEnoughDataInBuffer, "Not enough data in buffer." - IdResourceStringsCore_RSTooMuchDataInBuffer, "Too much data in buffer." - IdResourceStringsCore_RSFileNotFound, "File \"%s\" not found" - IdResourceStringsCore_RSNotConnected, "Not Connected" - IdResourceStringsCore_RSObjectTypeNotSupported, "Object type not supported." - IdResourceStringsCore_RSIdNoDataToRead, "No data to read." - IdResourceStringsCore_RSReadTimeout, "Read Timeout" - IdResourceStrings_RSInvalidPortRange, "Invalid Port Range (%d - %d)" - IdResourceStrings_RSInvalidServiceName, "%s is not a valid service." - IdResourceStrings_RSIPv6Unavailable, "IPv6 unavailable" - IdResourceStrings_RSInvalidIPv6Address, "%s is not a valid IPv6 address" - IdResourceStrings_RSIPVersionUnsupported, "The requested IPVersion / Address family is not supported." - IdResourceStrings_RSNotAllBytesSent, "Not all bytes sent." - IdResourceStrings_RSPackageSizeTooBig, "Package Size Too Big." - IdResourceStrings_RSSetSizeExceeded, "Set Size Exceeded." - IdResourceStringsCore_RSSocksUDPNotSupported, "UDP is not support in this SOCKS version." - IdResourceStringsCore_RSSocksRequestFailed, "Request rejected or failed." - IdResourceStringsCore_RSSocksRequestServerFailed, "Request rejected because SOCKS server cannot connect." - IdResourceStringsCore_RSSocksRequestIdentFailed, "Request rejected because the client program and identd report different user-ids." - IdResourceStringsCore_RSSocksUnknownError, "Unknown socks error." - IdResourceStringsCore_RSSocksServerRespondError, "Socks server did not respond." - IdResourceStringsCore_RSSocksAuthMethodError, "Invalid socks authentication method." - IdResourceStringsCore_RSSocksAuthError, "Authentication error to socks server." - IdResourceStrings_RSStackETOOMANYREFS, "Too many references, cannot splice." - IdResourceStrings_RSStackETIMEDOUT, "Connection timed out." - IdResourceStrings_RSStackECONNREFUSED, "Connection refused." - IdResourceStrings_RSStackELOOP, "Too many levels of symbolic links." - IdResourceStrings_RSStackENAMETOOLONG, "File name too long." - IdResourceStrings_RSStackEHOSTDOWN, "Host is down." - IdResourceStrings_RSStackEHOSTUNREACH, "No route to host." - IdResourceStrings_RSStackENOTEMPTY, "Directory not empty" - IdResourceStrings_RSStackHOST_NOT_FOUND, "Host not found." - IdResourceStrings_RSStackClassUndefined, "Stack Class is undefined." - IdResourceStrings_RSStackAlreadyCreated, "Stack already created." - IdResourceStrings_RSAntiFreezeOnlyOne, "Only one TIdAntiFreeze can exist per application." - IdResourceStrings_RSCannotSetIPVersionWhenConnected, "Cannot change IPVersion when connected" - IdResourceStrings_RSCannotBindRange, "Can not bind in port range (%d - %d)" - IdResourceStrings_RSConnectionClosedGracefully, "Connection Closed Gracefully." - IdResourceStrings_RSCouldNotBindSocket, "Could not bind socket. Address and port are already in use." - IdResourceStrings_RSStackEPROTONOSUPPORT, "Protocol not supported." - IdResourceStrings_RSStackESOCKTNOSUPPORT, "Socket type not supported." - IdResourceStrings_RSStackEOPNOTSUPP, "Operation not supported on socket." - IdResourceStrings_RSStackEPFNOSUPPORT, "Protocol family not supported." - IdResourceStrings_RSStackEAFNOSUPPORT, "Address family not supported by protocol family." - IdResourceStrings_RSStackEADDRINUSE, "Address already in use." - IdResourceStrings_RSStackEADDRNOTAVAIL, "Cannot assign requested address." - IdResourceStrings_RSStackENETDOWN, "Network is down." - IdResourceStrings_RSStackENETUNREACH, "Network is unreachable." - IdResourceStrings_RSStackENETRESET, "Net dropped connection or reset." - IdResourceStrings_RSStackECONNABORTED, "Software caused connection abort." - IdResourceStrings_RSStackECONNRESET, "Connection reset by peer." - IdResourceStrings_RSStackENOBUFS, "No buffer space available." - IdResourceStrings_RSStackEISCONN, "Socket is already connected." - IdResourceStrings_RSStackENOTCONN, "Socket is not connected." - IdResourceStrings_RSStackESHUTDOWN, "Cannot send or receive after socket is closed." - IdResourceStrings_RSStatusText, "%s" - IdResourceStrings_RSStackError, "Socket Error # %d\r\n%s" - IdResourceStrings_RSStackEINTR, "Interrupted system call." - IdResourceStrings_RSStackEBADF, "Bad file number." - IdResourceStrings_RSStackEACCES, "Access denied." - IdResourceStrings_RSStackEFAULT, "Buffer fault." - IdResourceStrings_RSStackEINVAL, "Invalid argument." - IdResourceStrings_RSStackEMFILE, "Too many open files." - IdResourceStrings_RSStackEWOULDBLOCK, "Operation would block." - IdResourceStrings_RSStackEINPROGRESS, "Operation now in progress." - IdResourceStrings_RSStackEALREADY, "Operation already in progress." - IdResourceStrings_RSStackENOTSOCK, "Socket operation on non-socket." - IdResourceStrings_RSStackEDESTADDRREQ, "Destination address required." - IdResourceStrings_RSStackEMSGSIZE, "Message too long." - IdResourceStrings_RSStackEPROTOTYPE, "Protocol wrong type for socket." - IdResourceStrings_RSStackENOPROTOOPT, "Bad protocol option." - DBConsts_SUnassignedVar, "Unassigned variant value" - DBConsts_SRecordNotFound, "Record not found" - DBConsts_SBcdOverflow, "BCD overflow" - DBConsts_SInvalidBcdValue, "%s is not a valid BCD value" - DBConsts_SInvalidFormatType, "Invalid format type for BCD" - DBConsts_SCouldNotParseTimeStamp, "Could not parse SQL TimeStamp string" - DBConsts_SInvalidSqlTimeStamp, "Invalid SQL date/time values" - IdResourceStrings_RSFailedTimeZoneInfo, "Failed attempting to retrieve time zone information." - IdResourceStrings_RSWinsockCallError, "Error on call Winsock2 library function %s" - IdResourceStrings_RSWinsockLoadError, "Error on loading Winsock2 library (%s)" - IdResourceStrings_RSWinsockInitializationError, "Winsock Initialization Error." - IdResourceStrings_RSStatusResolving, "Resolving hostname %s." - IdResourceStrings_RSStatusConnecting, "Connecting to %s." - IdResourceStrings_RSStatusConnected, "Connected." - IdResourceStrings_RSStatusDisconnecting, "Disconnecting." - IdResourceStrings_RSStatusDisconnected, "Disconnected." - DBConsts_SLookupInfoError, "Lookup information for field '%s' is incomplete" - DBConsts_SDataSourceChange, "DataSource cannot be changed" - DBConsts_SDataSetOpen, "Cannot perform this operation on an open dataset" - DBConsts_SNotEditing, "Dataset not in edit or insert mode" - DBConsts_SDataSetClosed, "Cannot perform this operation on a closed dataset" - DBConsts_SDataSetEmpty, "Cannot perform this operation on an empty dataset" - DBConsts_SDataSetReadOnly, "Cannot modify a read-only dataset" - DBConsts_SNestedDataSetClass, "Nested dataset must inherit from %s" - DBConsts_STextFalse, "False" - DBConsts_STextTrue, "True" - DBConsts_SParameterNotFound, "Parameter '%s' not found" - DBConsts_SInvalidVersion, "Unable to load bind parameters" - DBConsts_SBadFieldType, "Field '%s' is of an unsupported type" - DBConsts_SProviderSQLNotSupported, "SQL not supported: %s" - DBConsts_SProviderExecuteNotSupported, "Execute not supported: %s" - DBConsts_SDataSetUnidirectional, "Operation not allowed on a unidirectional dataset" - DBConsts_SFieldRangeError, "%g is not a valid value for field '%s'. The allowed range is %g to %g" - DBConsts_SBcdFieldRangeError, "%s is not a valid value for field '%s'. The allowed range is %s to %s" - DBConsts_SInvalidIntegerValue, "'%s' is not a valid integer value for field '%s'" - DBConsts_SInvalidBoolValue, "'%s' is not a valid boolean value for field '%s'" - DBConsts_SInvalidFloatValue, "'%s' is not a valid floating point value for field '%s'" - DBConsts_SFieldTypeMismatch, "Type mismatch for field '%s', expecting: %s actual: %s" - DBConsts_SFieldSizeMismatch, "Size mismatch for field '%s', expecting: %d actual: %d" - DBConsts_SInvalidVarByteArray, "Invalid variant type or size for field '%s'" - DBConsts_SFieldOutOfRange, "Value of field '%s' is out of range" - DBConsts_SFieldRequired, "Field '%s' must have a value" - DBConsts_SDataSetMissing, "Field '%s' has no dataset" - DBConsts_SInvalidCalcType, "Field '%s' cannot be a calculated or lookup field" - DBConsts_SFieldReadOnly, "Field '%s' cannot be modified" - DBConsts_SNoIndexForFields, "No index for fields '%s'" - DBConsts_SIndexNotFound, "Index '%s' not found" - DBConsts_SCircularDataLink, "Circular datalinks are not allowed" - uRODECConst_sFMT_COPY, "copy Input to Output" - uRODECConst_sFMT_HEX, "Hexadecimal" - uRODECConst_sFMT_HEXL, "Hexadecimal lowercase" - uRODECConst_sFMT_MIME64, "MIME Base 64" - uRODECConst_sFMT_UU, "UU Coding" - uRODECConst_sFMT_XX, "XX Coding" - uRODECConst_sInvalidKeySize, "Length from Encryptionkey is invalid.\r\nKeysize for %s must be within %d-%d bytes" - uRODECConst_sNotInitialized, "%s is not initialized, call Init() or InitKey() first." - DBConsts_SInvalidFieldSize, "Invalid field size" - DBConsts_SInvalidFieldKind, "Invalid FieldKind" - DBConsts_SUnknownFieldType, "Field '%s' is of an unknown type" - DBConsts_SFieldNameMissing, "Field name missing" - DBConsts_SDuplicateFieldName, "Duplicate field name '%s'" - DBConsts_SFieldNotFound, "Field '%s' not found" - DBConsts_SFieldAccessError, "Cannot access field '%s' as type %s" - DBConsts_SFieldValueError, "Invalid value for field '%s'" - uRORes_err_ChannelDoesntSupportIROMetadataReader, "Channel does not support IROMetadataReader" - uRORes_err_TooManySessions, "Too many sessions. Try again in %d minute(s)" - uRORes_err_DOMElementIsNIL, "DOMElement is NIL" - uRORes_err_CannotLoadXMLDocument, "Cannot load XML document.\rReason: %s\rLine: %d\rPosition: %d" - uRORes_err_ErrorCreatingMsXmlDoc, "Error creating MSXML Document class\r\r%s: %s" - uRORes_err_NoXMLParsersAvailable, "MSXML is not installed" - uRORes_err_IDispatchMarshalingNotSupported, "Marshaling of IDispatch (%d) type variants is not supported." - uRORes_err_UnsupportedVariantType, "Unsupported variant type \"%d\"" - uRORes_err_VariantIsNotArray, "Variant must be Array, but is %d" - uRORes_err_InvalidVarArrayDimCount, "Variant Array DimCount must be 1 but is %d" - uRORes_err_CannotFindParameter, "Cannot find parameter %s" - uRORes_err_MessageNotAssigned, "Message is NIL" - uRODECConst_sProtectionCircular, "Circular Protection detected, Protection Object is invalid." - uRODECConst_sStringFormatExists, "String Format \"%d\" does not exist." - uRODECConst_sInvalidStringFormat, "Input is not a valid %s Format." - uRODECConst_sInvalidFormatString, "Input cannot be converted to %s Format." - uRORes_err_ClassFactoryNotFound, "Class factory for interface %s not found" - uRORes_err_IROMessageNotSupported, "Class \"%s\" does not support IROMessage" - uRORes_err_ClassAlreadyRegistered, "Class \"%s\" is already registered" - uRORes_err_UnknownClass, "Unknown class \"%s\"" - uRORes_err_UnknownProxyInterface, "Unknown proxy interface \"%s\"" - uRORes_err_DispatcherAlreadyAssigned, "Dispatcher for %s already assigned" - uRORes_err_CannotFindMessageDispatcher, "Cannot find message dispatcher. Maybe there is no message component configured for the requested path?" - uRORes_err_ServerOnlySupportsOneDispatcher, "%s servers only support one dispatcher" - uRORes_err_UnhandledException, "Unhandled exception" - uRORes_err_ChannelBusy, "Channel is busy. Try again later." - uRORes_err_ArrayIndexOutOfBounds, "Array index out of bounds (%d)." - uRORes_err_InvalidHeader, "Invalid binary header. Either incompatible or not a binary message." - uRORes_err_InvalidHeaderEncrypted, "Invalid binary header. It seems that encryption is active on the other side of the communication, but not locally?" - uRORes_err_UnknownClassInStream, "Unknown class \"%s\" found in stream." - uRORes_err_UnexpectedClassInStream, "Unexpected class found in stream; class \"%s\" does not descend from \"%s\"." - uRORes_err_SessionNotFound, "Session %s could not be found" - uRORes_err_RodlNoStructElementsDefined, "Struct does not contain any elements." - uRORes_err_RodlNoOperationsDefined, "Service interface does not contain any elements." - uRORes_err_RodlUsedFileDoesNotExist, "The referenced RODL file \"%s\" could not be found." - uRORes_err_RodlInvalidDataType, "Invalid or undefined data type \"%s\"." - uRORes_err_RodlStructCannotBeNested, "Structs cannot recursively contain themselves." - uRORes_err_RodlInvalidAncestorType, "Invalid or undefined ancestor type \"%s\"." - uRORes_str_ExceptionOnServer, "An exception of type %s was raised on the server: %s" - uRORes_str_ExceptionReraisedFromServer, "An exception was raised on the server: %s" - uRORes_err_AssignError, "Cannot assign a \"%s\" to a \"%s\"." - uRORes_err_InvalidRequestStream, "Invalid request stream (%d bytes)" - uRORes_err_NILMessage, "Message is NIL" - uRORes_err_UnspecifiedInterface, "The message does not have an interface name" - uRORes_err_UnspecifiedMessage, "The message does not have a name" - uRORes_err_UnknownMethod, "Unknown method %s for interface %s" - uRORes_err_ClassFactoryDidNotReturnInstance, "Class factory did not return an instance of \"%s\"" - uRORes_err_TypeNotSupported, "Type \"%s\" not supported" - ComStrs_sPageIndexError, "%d is an invalid PageIndex value. PageIndex must be between 0 and %d" - JConsts_sChangeJPGSize, "Cannot change the size of a JPEG image" - JConsts_sJPEGError, "JPEG error #%d" - JConsts_sJPEGImageFile, "JPEG Image File" - uRORes_err_InvalidIndex, "Invalid index %d" - uRORes_err_InvalidType, "Invalid type \"%s. Expected \"%s\"\"" - uRORes_err_InvalidLibrary, "Invalid library" - uRORes_err_InvalidStream, "Invalid stream" - uRORes_err_InvalidTargetEntity, "Invalid TargetEntity \"%s\"" - uRORes_err_InvalidParamFlag, "Invalid Parameter Flag \"%s\"" - uRORes_err_InvalidStringLength, "Stream read error: Invalid string length \"%d\"" - uRORes_str_InvalidClassTypeInStream, "Stream read error: Invalid class type encountered: \"%s\"" - uRORes_err_UnexpectedEndOfStream, "Unexpected end of stream." - uRORes_err_RodlDuplicateName, "Duplicate name." - uRORes_err_RodlNoDataTypeSpecified, "No data type specified." - uRORes_err_RodlNoEnumValues, "Enum does not contain any values." - JclResources_RsIntelCacheDescr87, "2nd-level cache: 1 MByte, 8-way set associative, 64 byte line size" - JclResources_RsIntelCacheDescrB0, "Instruction TLB: 4 KByte pages, 4-way set associative, 128 entries" + JvResources_RsClWindow, "Window background" + JvResources_RsClWindowFrame, "Window frame" + JvResources_RsClMenuText, "Menu text" + JvResources_RsClWindowText, "Window text" + JvResources_RsClCaptionText, "Active window title bar text" + JvResources_RsClActiveBorder, "Active window border" + JvResources_RsClInactiveBorder, "Inactive window border" + JvResources_RsClAppWorkSpace, "Application workspace" + JvResources_RsClHighlight, "Selection background" + JvResources_RsClHighlightText, "Selection text" + JvResources_RsClBtnFace, "Button face" + JvResources_RsClBtnShadow, "Button shadow" + JvResources_RsClGrayText, "Dimmed text" + JvResources_RsClBtnText, "Button text" + JvResources_RsClInactiveCaptionText, "Inactive window title bar text" + JvResources_RsClBtnHighlight, "Button highlight" + JvResources_RsClBrightGreen, "Bright Green" + JvResources_RsClTurquoise, "Turquoise" + JvResources_RsClPlum, "Plum" + JvResources_RsClGray25, "Gray 25%" + JvResources_RsClRose, "Rose" + JvResources_RsClTan, "Tan" + JvResources_RsClLightYellow, "Light Yellow" + JvResources_RsClLightGreen, "Light Green" + JvResources_RsClLightTurquoise, "Light Turquoise" + JvResources_RsClPaleBlue, "Pale Blue" + JvResources_RsClLavender, "Lavender" + JvResources_RsClScrollBar, "Scrollbar" + JvResources_RsClBackground, "Desktop background" + JvResources_RsClActiveCaption, "Active window title bar" + JvResources_RsClInactiveCaption, "Inactive window title bar" + JvResources_RsClMenu, "Menu background" + JvResources_RsClDarkTeal, "Dark Teal" + JvResources_RsClDarkBlue, "Dark Blue" + JvResources_RsClIndigo, "Indigo" + JvResources_RsClGray80, "Gray 80%" + JvResources_RsClDarkRed, "Dark Red" + JvResources_RsClOrange, "Orange" + JvResources_RsClDarkYellow, "Dark Yellow" + JvResources_RsClBlueGray, "Blue Gray" + JvResources_RsClGray50, "Gray 50%" + JvResources_RsClLightOrange, "Light Orange" + JvResources_RsClSeaGreen, "Sea Green" + JvResources_RsClLightBlue, "Light Blue" + JvResources_RsClViolet, "Violet" + JvResources_RsClGray40, "Gray 40%" + JvResources_RsClPink, "Pink" + JvResources_RsClGold, "Gold" + JvResources_RsClGray, "Gray" + JvResources_RsClSilver, "Silver" + JvResources_RsClRed, "Red" + JvResources_RsClLime, "Lime" + JvResources_RsClYellow, "Yellow" + JvResources_RsClBlue, "Blue" + JvResources_RsClFuchsia, "Fuchsia" + JvResources_RsClAqua, "Aqua" + JvResources_RsClWhite, "White" + JvResources_RsClMoneyGreen, "Money green" + JvResources_RsClSkyBlue, "Sky blue" + JvResources_RsClCream, "Cream" + JvResources_RsClMedGray, "Medium gray" + JvResources_RsClBrown, "Brown" + JvResources_RsClOliveGreen, "Olive Green" + JvResources_RsClDarkGreen, "Dark Green" + JvResources_RsENoGIFData, "No GIF Data to write" + JvResources_RsEUnrecognizedGIFExt, "Unrecognized extension block: %.2x" + JvResources_RsEWrongGIFColors, "Wrong number of colors; must be a power of 2" + JvResources_RsEBadGIFCodeSize, "GIF code size not in range 2 to 9" + JvResources_RsEGIFDecodeError, "GIF encoded data is corrupt" + JvResources_RsEGIFEncodeError, "GIF image encoding error" + JvResources_RsEGIFVersion, "Unknown GIF version" + JvResources_RsEPixelFormatNotImplemented, "BitmapToMemoryStream: pixel format not implemented" + JvResources_RsEBitCountNotImplemented, "BitmapToMemoryStream: bit count not implemented" + JvResources_RsClBlack, "Black" + JvResources_RsClMaroon, "Maroon" + JvResources_RsClGreen, "Green" + JvResources_RsClOlive, "Olive green" + JvResources_RsClNavy, "Navy blue" + JvResources_RsClPurple, "Purple" + JvResources_RsClTeal, "Teal" JclResources_RsIntelCacheDescrB3, "Data TLB: 4 KByte pages, 4-way set associative, 128 entries" JclResources_RsIntelCacheDescrB4, "Data TLB1: 4 KByte pages, 4-way set associative, 256 entries" JclResources_RsIntelCacheDescrF0, "64-Byte Prefetching" JclResources_RsIntelCacheDescrF1, "128-Byte Prefetching" - ComStrs_sTabFailClear, "Failed to clear tab control" - ComStrs_sTabFailDelete, "Failed to delete tab at index %d" - ComStrs_sTabFailRetrieve, "Failed to retrieve tab at index %d" - ComStrs_sTabFailGetObject, "Failed to get object at index %d" - ComStrs_sTabFailSet, "Failed to set tab \"%s\" at index %d" - ComStrs_sTabFailSetObject, "Failed to set object at index %d" - ComStrs_sTabMustBeMultiLine, "MultiLine must be True when TabPosition is tpLeft or tpRight" - ComStrs_sInvalidIndex, "Invalid index" - ComStrs_sInsertError, "Unable to insert an item" - ComStrs_sUDAssociated, "%s is already associated with %s" - JclResources_RsIntelCacheDescr68, "1st-level data cache: 32 KBytes, 4-way set associative, 64 byte line size" - JclResources_RsIntelCacheDescr70, "Trace cache: 12 K-Ops, 8-way set associative" + JvResources_RsAniExtension, "ani" + JvResources_RsAniFilterName, "ANI Image" + JvResources_RsRootValueReplaceFmt, "The Default Root Value \"%0:s\" has been replaced with \"%1:s\".\r\nPlease change the value in the FileVersionInfo Project Properties." + JvResources_RsEUnableToCreateKey, "Unable to create key '%s'" + JvResources_RsEEnumeratingRegistry, "Error enumerating registry" + JvResources_RsEInvalidType, "Invalid type" + JvResources_RsEUnknownBaseType, "Unknown base type for given set" + JvResources_RsEInvalidPath, "Invalid path" + JvResources_RsENotAUniqueRootPath, "'%s' is not a unique root path" + JvResources_RsECircularReferenceOfStorages, "Circular reference of storages" + JvResources_RsGIFImage, "CompuServe GIF Image" + JvResources_RsEChangeGIFSize, "Cannot change the Size of a GIF image" JclResources_RsIntelCacheDescr71, "Trace cache: 16 K-Ops, 8-way set associative" JclResources_RsIntelCacheDescr72, "Trace cache: 32 K-Ops, 8-way set associative" JclResources_RsIntelCacheDescr78, "2nd-level cache: 1 MBytes, 4-way set associative, 64 bytes line size" @@ -1612,8 +1426,8 @@ BEGIN JclResources_RsIntelCacheDescr84, "2nd-level cache: 1 MBytes, 8-way associative, 32 byte line size" JclResources_RsIntelCacheDescr85, "2nd-level cache: 2 MBytes, 8-way associative, 32 byte line size" JclResources_RsIntelCacheDescr86, "2nd-level cache: 512 KByte, 4-way set associative, 64 byte line size" - JclResources_RsIntelCacheDescr44, "2nd-level cache: 1 MBytes, 4-way set associative, 32 byte line size" - JclResources_RsIntelCacheDescr45, "2nd-level cache: 2 MBytes, 4-way set associative, 32 byte line size" + JclResources_RsIntelCacheDescr87, "2nd-level cache: 1 MByte, 8-way set associative, 64 byte line size" + JclResources_RsIntelCacheDescrB0, "Instruction TLB: 4 KByte pages, 4-way set associative, 128 entries" JclResources_RsIntelCacheDescr46, "3rd-level cache: 4 MBytes, 4-way set associative, 64 byte line size" JclResources_RsIntelCacheDescr47, "3rd-level cache: 8 MBytes, 4-way set associative, 64 byte line size" JclResources_RsIntelCacheDescr49, "2nd-level cache: 4 MBytes, 16-way set associative, 64 byte line size" @@ -1628,8 +1442,8 @@ BEGIN JclResources_RsIntelCacheDescr60, "1st-level data cache: 16 KByte, 8-way set associative, 64 byte line size" JclResources_RsIntelCacheDescr66, "1st-level data cache: 8 KBytes, 4-way set associative, 64 byte line size" JclResources_RsIntelCacheDescr67, "1st-level data cache: 16 KBytes, 4-way set associative, 64 byte line size" - JclResources_RsIntelCacheDescr05, "Data TLB1: 4 MByte pages, 4-way set associative, 32 entries" - JclResources_RsIntelCacheDescr06, "1st level instruction cache: 8 KBytes, 4-way set associative, 32 byte line size" + JclResources_RsIntelCacheDescr68, "1st-level data cache: 32 KBytes, 4-way set associative, 64 byte line size" + JclResources_RsIntelCacheDescr70, "Trace cache: 12 K-Ops, 8-way set associative" JclResources_RsIntelCacheDescr08, "1st level instruction cache: 16 KBytes, 4-way set associative, 32 byte line size" JclResources_RsIntelCacheDescr0A, "1st level data cache: 8 KBytes, 2-way set associative, 32 byte line size" JclResources_RsIntelCacheDescr0B, "Instruction TLB: 4 MByte pages, 4-way set associative, 4 entries" @@ -1644,8 +1458,8 @@ BEGIN JclResources_RsIntelCacheDescr41, "2nd-level cache: 128 KBytes, 4-way set associative, 32 byte line size" JclResources_RsIntelCacheDescr42, "2nd-level cache: 256 KBytes, 4-way set associative, 32 byte line size" JclResources_RsIntelCacheDescr43, "2nd-level cache: 512 KBytes, 4-way set associative, 32 byte line size" - JclResources_RsRTTIFloatType, "Float type: " - JclResources_RsRTTIMethodKind, "Method kind: " + JclResources_RsIntelCacheDescr44, "2nd-level cache: 1 MBytes, 4-way set associative, 32 byte line size" + JclResources_RsIntelCacheDescr45, "2nd-level cache: 2 MBytes, 4-way set associative, 32 byte line size" JclResources_RsRTTIParamCount, "Parameter count: " JclResources_RsRTTIReturnType, "Return type: " JclResources_RsRTTIMaxLen, "Max length: " @@ -1660,8 +1474,8 @@ BEGIN JclResources_RsIntelCacheDescr02, "Instruction TLB: 4 MByte pages, 4-way set associative, 2 entries" JclResources_RsIntelCacheDescr03, "Data TLB: 4 KByte pages, 4-way set associative, 64 entries" JclResources_RsIntelCacheDescr04, "Data TLB: 4 MByte pages, 4-way set associative, 8 entries" - JclResources_RsRTTIIndex, "index" - JclResources_RsRTTIDefault, "default" + JclResources_RsIntelCacheDescr05, "Data TLB1: 4 MByte pages, 4-way set associative, 32 entries" + JclResources_RsIntelCacheDescr06, "1st level instruction cache: 8 KBytes, 4-way set associative, 32 byte line size" JclResources_RsRTTIName, "Name: " JclResources_RsRTTIType, "Type: " JclResources_RsRTTIFlags, "Flags: " @@ -1676,8 +1490,8 @@ BEGIN JclResources_RsRTTIPropCount, "Property count: " JclResources_RsRTTIUnitName, "Unit name: " JclResources_RsRTTIBasedOn, "Based on: " - JclResources_RsRTTIUnknownIdentifier, "Unknown identifier '%s'." - JclResources_RsRTTIVar, "var " + JclResources_RsRTTIFloatType, "Float type: " + JclResources_RsRTTIMethodKind, "Method kind: " JclResources_RsRTTIConst, "const " JclResources_RsRTTIArrayOf, "array of " JclResources_RsRTTIOut, "out " @@ -1692,8 +1506,8 @@ BEGIN JclResources_RsRTTIField, "field" JclResources_RsRTTIStaticMethod, "static method" JclResources_RsRTTIVirtualMethod, "virtual method" - JclResources_RsInconsistentPath, "\"%s\" does not match RootKey" - JclResources_RsHKCRLong, "HKEY_CLASSES_ROOT" + JclResources_RsRTTIIndex, "index" + JclResources_RsRTTIDefault, "default" JclResources_RsHKCULong, "HKEY_CURRENT_USER" JclResources_RsHKLMLong, "HKEY_LOCAL_MACHINE" JclResources_RsHKUSLong, "HKEY_USERS" @@ -1708,12 +1522,12 @@ BEGIN JclResources_RsHKCCShort, "HKCC" JclResources_RsHKDDShort, "HKDD" JclResources_RsRTTIValueOutOfRange, "Value out of range (%s)." - JvResources_RsMenuBar, "Menu Bar" - JvResources_RsMenuHighlight, "Menu Highlight" - ComConst_SOleError, "OLE error %.8x" - ComConst_SNoMethod, "Method '%s' not supported by automation object" - ComConst_SVarNotObject, "Variant does not reference an automation object" - ComConst_STooManyParams, "Dispatch methods do not support more than 64 parameters" + JclResources_RsRTTIUnknownIdentifier, "Unknown identifier '%s'." + JclResources_RsRTTIVar, "var " + ComStrs_sPageIndexError, "%d is an invalid PageIndex value. PageIndex must be between 0 and %d" + JConsts_sChangeJPGSize, "Cannot change the size of a JPEG image" + JConsts_sJPEGError, "JPEG error #%d" + JConsts_sJPEGImageFile, "JPEG Image File" JclResources_RsWin32Prefix, "Win32: %s (%u)" JclResources_RsFileUtilsNoVersionInfo, "File contains no version information" JclResources_RsCreateFileMapping, "Failed to create FileMapping" @@ -1724,102 +1538,280 @@ BEGIN JclResources_RsUnableToOpenKeyWrite, "Unable to open key \"%s\\%s\" for write" JclResources_RsUnableToAccessValue, "Unable to open key \"%s\\%s\" and access value \"%s\"" JclResources_RsWrongDataType, "\"%s\\%s\\%s\" is of wrong kind or size" - JvResources_RsClAppWorkSpace, "Application workspace" - JvResources_RsClHighlight, "Selection background" - JvResources_RsClHighlightText, "Selection text" - JvResources_RsClBtnFace, "Button face" - JvResources_RsClBtnShadow, "Button shadow" - JvResources_RsClGrayText, "Dimmed text" - JvResources_RsClBtnText, "Button text" - JvResources_RsClInactiveCaptionText, "Inactive window title bar text" - JvResources_RsClBtnHighlight, "Button highlight" - JvResources_RsCl3DDkShadow, "Dark shadow 3D elements" - JvResources_RsCl3DLight, "Highlight 3D elements" - JvResources_RsClInfoText, "Tooltip text" - JvResources_RsClInfoBk, "Tooltip background" - JvResources_RsGradientActiveCaption, "Gradient Active Caption" - JvResources_RsGradientInactiveCaption, "Gradient Inactive Caption" - JvResources_RsHotLight, "Hot Light" - JvResources_RsClLightGreen, "Light Green" - JvResources_RsClLightTurquoise, "Light Turquoise" - JvResources_RsClPaleBlue, "Pale Blue" - JvResources_RsClLavender, "Lavender" - JvResources_RsClScrollBar, "Scrollbar" - JvResources_RsClBackground, "Desktop background" - JvResources_RsClActiveCaption, "Active window title bar" - JvResources_RsClInactiveCaption, "Inactive window title bar" - JvResources_RsClMenu, "Menu background" - JvResources_RsClWindow, "Window background" - JvResources_RsClWindowFrame, "Window frame" - JvResources_RsClMenuText, "Menu text" - JvResources_RsClWindowText, "Window text" - JvResources_RsClCaptionText, "Active window title bar text" - JvResources_RsClActiveBorder, "Active window border" - JvResources_RsClInactiveBorder, "Inactive window border" - JvResources_RsClBlueGray, "Blue Gray" - JvResources_RsClGray50, "Gray 50%" - JvResources_RsClLightOrange, "Light Orange" - JvResources_RsClSeaGreen, "Sea Green" - JvResources_RsClLightBlue, "Light Blue" - JvResources_RsClViolet, "Violet" - JvResources_RsClGray40, "Gray 40%" - JvResources_RsClPink, "Pink" - JvResources_RsClGold, "Gold" - JvResources_RsClBrightGreen, "Bright Green" - JvResources_RsClTurquoise, "Turquoise" - JvResources_RsClPlum, "Plum" - JvResources_RsClGray25, "Gray 25%" - JvResources_RsClRose, "Rose" - JvResources_RsClTan, "Tan" - JvResources_RsClLightYellow, "Light Yellow" - JvResources_RsClAqua, "Aqua" - JvResources_RsClWhite, "White" - JvResources_RsClMoneyGreen, "Money green" - JvResources_RsClSkyBlue, "Sky blue" - JvResources_RsClCream, "Cream" - JvResources_RsClMedGray, "Medium gray" - JvResources_RsClBrown, "Brown" - JvResources_RsClOliveGreen, "Olive Green" - JvResources_RsClDarkGreen, "Dark Green" - JvResources_RsClDarkTeal, "Dark Teal" - JvResources_RsClDarkBlue, "Dark Blue" - JvResources_RsClIndigo, "Indigo" - JvResources_RsClGray80, "Gray 80%" - JvResources_RsClDarkRed, "Dark Red" - JvResources_RsClOrange, "Orange" - JvResources_RsClDarkYellow, "Dark Yellow" - JvResources_RsEPixelFormatNotImplemented, "BitmapToMemoryStream: pixel format not implemented" - JvResources_RsEBitCountNotImplemented, "BitmapToMemoryStream: bit count not implemented" - JvResources_RsClBlack, "Black" - JvResources_RsClMaroon, "Maroon" - JvResources_RsClGreen, "Green" - JvResources_RsClOlive, "Olive green" - JvResources_RsClNavy, "Navy blue" - JvResources_RsClPurple, "Purple" - JvResources_RsClTeal, "Teal" - JvResources_RsClGray, "Gray" - JvResources_RsClSilver, "Silver" - JvResources_RsClRed, "Red" - JvResources_RsClLime, "Lime" - JvResources_RsClYellow, "Yellow" - JvResources_RsClBlue, "Blue" - JvResources_RsClFuchsia, "Fuchsia" - JvResources_RsEUnableToCreateKey, "Unable to create key '%s'" - JvResources_RsEEnumeratingRegistry, "Error enumerating registry" - JvResources_RsEInvalidType, "Invalid type" - JvResources_RsEUnknownBaseType, "Unknown base type for given set" - JvResources_RsEInvalidPath, "Invalid path" - JvResources_RsENotAUniqueRootPath, "'%s' is not a unique root path" - JvResources_RsECircularReferenceOfStorages, "Circular reference of storages" - JvResources_RsGIFImage, "CompuServe GIF Image" - JvResources_RsEChangeGIFSize, "Cannot change the Size of a GIF image" - JvResources_RsENoGIFData, "No GIF Data to write" - JvResources_RsEUnrecognizedGIFExt, "Unrecognized extension block: %.2x" - JvResources_RsEWrongGIFColors, "Wrong number of colors; must be a power of 2" - JvResources_RsEBadGIFCodeSize, "GIF code size not in range 2 to 9" - JvResources_RsEGIFDecodeError, "GIF encoded data is corrupt" - JvResources_RsEGIFEncodeError, "GIF image encoding error" - JvResources_RsEGIFVersion, "Unknown GIF version" + JclResources_RsInconsistentPath, "\"%s\" does not match RootKey" + JclResources_RsHKCRLong, "HKEY_CLASSES_ROOT" + IdResourceStringsProtocols_RSHTTPUnknownResponseCode, "Unknown Response Code" + IdResourceStringsProtocols_RSHTTPHeaderAlreadyWritten, "Header has already been written." + IdResourceStringsProtocols_RSHTTPErrorParsingCommand, "Error in parsing command." + IdResourceStringsProtocols_RSHTTPUnsupportedAuthorisationScheme, "Unsupported authorization scheme." + IdResourceStringsProtocols_RSHTTPCannotSwitchSessionStateWhenActive, "Cannot change session state when the server is active." + IdResourceStringsProtocols_RSHTTPAuthAlreadyRegistered, "This authentication method is already registered with class name %s." + ComStrs_sTabFailClear, "Failed to clear tab control" + ComStrs_sTabFailDelete, "Failed to delete tab at index %d" + ComStrs_sTabFailRetrieve, "Failed to retrieve tab at index %d" + ComStrs_sTabFailGetObject, "Failed to get object at index %d" + ComStrs_sTabFailSet, "Failed to set tab \"%s\" at index %d" + ComStrs_sTabFailSetObject, "Failed to set object at index %d" + ComStrs_sTabMustBeMultiLine, "MultiLine must be True when TabPosition is tpLeft or tpRight" + ComStrs_sInvalidIndex, "Invalid index" + ComStrs_sInsertError, "Unable to insert an item" + ComStrs_sUDAssociated, "%s is already associated with %s" + IdResourceStringsProtocols_RSHTTPNotAcceptable, "Not Acceptable" + IdResourceStringsProtocols_RSHTTPProxyAuthenticationRequired, "Proxy Authentication Required" + IdResourceStringsProtocols_RSHTTPRequestTimeout, "Request Timeout" + IdResourceStringsProtocols_RSHTTPConflict, "Conflict" + IdResourceStringsProtocols_RSHTTPGone, "Gone" + IdResourceStringsProtocols_RSHTTPLengthRequired, "Length Required" + IdResourceStringsProtocols_RSHTTPPreconditionFailed, "Precondition Failed" + IdResourceStringsProtocols_RSHTTPRequestEntityToLong, "Request Entity To Long" + IdResourceStringsProtocols_RSHTTPRequestURITooLong, "Request-URI Too Long. 256 Chars max" + IdResourceStringsProtocols_RSHTTPUnsupportedMediaType, "Unsupported Media Type" + IdResourceStringsProtocols_RSHTTPInternalServerError, "Internal Server Error" + IdResourceStringsProtocols_RSHTTPNotImplemented, "Not Implemented" + IdResourceStringsProtocols_RSHTTPBadGateway, "Bad Gateway" + IdResourceStringsProtocols_RSHTTPServiceUnavailable, "Service Unavailable" + IdResourceStringsProtocols_RSHTTPGatewayTimeout, "Gateway timeout" + IdResourceStringsProtocols_RSHTTPHTTPVersionNotSupported, "HTTP version not supported" + IdResourceStringsProtocols_RSHTTPCreated, "Created" + IdResourceStringsProtocols_RSHTTPAccepted, "Accepted" + IdResourceStringsProtocols_RSHTTPNonAuthoritativeInformation, "Non-authoritative Information" + IdResourceStringsProtocols_RSHTTPNoContent, "No Content" + IdResourceStringsProtocols_RSHTTPResetContent, "Reset Content" + IdResourceStringsProtocols_RSHTTPPartialContent, "Partial Content" + IdResourceStringsProtocols_RSHTTPMovedPermanently, "Moved Permanently" + IdResourceStringsProtocols_RSHTTPMovedTemporarily, "Moved Temporarily" + IdResourceStringsProtocols_RSHTTPSeeOther, "See Other" + IdResourceStringsProtocols_RSHTTPNotModified, "Not Modified" + IdResourceStringsProtocols_RSHTTPUseProxy, "Use Proxy" + IdResourceStringsProtocols_RSHTTPBadRequest, "Bad Request" + IdResourceStringsProtocols_RSHTTPUnauthorized, "Unauthorized" + IdResourceStringsProtocols_RSHTTPForbidden, "Forbidden" + IdResourceStringsProtocols_RSHTTPNotFound, "Not Found" + IdResourceStringsProtocols_RSHTTPMethodNotAllowed, "Method not allowed" + IdResourceStringsCore_RSAlreadyConnected, "Already connected." + IdResourceStringsCore_RSMaximumNumberOfCaptureLineExceeded, "Maximum number of line allowed exceeded" + IdResourceStringsCore_RSchedMaxThreadEx, "The maximum number of threads for this scheduler is exceeded." + IdResourceStringsCore_RSTransparentProxyCannotBind, "Transparent proxy cannot bind." + IdResourceStringsCore_RSTransparentProxyCanNotSupportUDP, "UDP Not supported by this proxy." + IdResourceStringsCore_RSBufferMissingTerminator, "Buffer terminator must be specified." + IdResourceStringsCore_RSBufferInvalidStartPos, "Buffer start position is invalid." + IdResourceStringsCore_RSReplyInvalidCode, "Reply Code is not valid: %s" + IdResourceStringsCore_RSThreadSchedulerThreadRequired, "Thread must be specified for the scheduler." + IdResourceStringsCore_RSNoOnExecute, "You must have an OnExecute event." + IdResourceStringsCore_RSTCPServerSchedulerAlreadyActive, "Cannot change the scheduler while the server is Active." + IdResourceStringsProtocols_RSMIMEExtensionEmpty, "Extension is empty" + IdResourceStringsProtocols_RSMIMEMIMETypeEmpty, "Mimetype is empty" + IdResourceStringsProtocols_RSMIMEMIMEExtAlreadyExists, "Extension already exits" + IdResourceStringsProtocols_RSHTTPContinue, "Continue" + IdResourceStringsProtocols_RSHTTPOK, "OK" + IdResourceStringsCore_RSSocksServerHostUnreachableError, "Host unreachable." + IdResourceStringsCore_RSSocksServerConnectionRefusedError, "Connection refused." + IdResourceStringsCore_RSSocksServerTTLExpiredError, "TTL expired." + IdResourceStringsCore_RSSocksServerCommandError, "Command not supported." + IdResourceStringsCore_RSSocksServerAddressError, "Address type not supported." + IdResourceStringsCore_RSInterceptCircularLink, "%d: Circular links are not allowed" + IdResourceStringsCore_RSNotEnoughDataInBuffer, "Not enough data in buffer." + IdResourceStringsCore_RSTooMuchDataInBuffer, "Too much data in buffer." + IdResourceStringsCore_RSFileNotFound, "File \"%s\" not found" + IdResourceStringsCore_RSNotConnected, "Not Connected" + IdResourceStringsCore_RSObjectTypeNotSupported, "Object type not supported." + IdResourceStringsCore_RSIdNoDataToRead, "No data to read." + IdResourceStringsCore_RSReadTimeout, "Read Timeout" + IdResourceStringsCore_RSReadLnMaxLineLengthExceeded, "Max line length exceeded." + IdResourceStringsCore_RSConnectTimeout, "Connect timed out." + IdResourceStringsCore_RSThreadTerminateAndWaitFor, "Cannot call TerminateAndWaitFor on FreeAndTerminate threads" + IdResourceStrings_RSInvalidIPv6Address, "%s is not a valid IPv6 address" + IdResourceStrings_RSIPVersionUnsupported, "The requested IPVersion / Address family is not supported." + IdResourceStrings_RSNotAllBytesSent, "Not all bytes sent." + IdResourceStrings_RSPackageSizeTooBig, "Package Size Too Big." + IdResourceStrings_RSSetSizeExceeded, "Set Size Exceeded." + IdResourceStringsCore_RSSocksUDPNotSupported, "UDP is not support in this SOCKS version." + IdResourceStringsCore_RSSocksRequestFailed, "Request rejected or failed." + IdResourceStringsCore_RSSocksRequestServerFailed, "Request rejected because SOCKS server cannot connect." + IdResourceStringsCore_RSSocksRequestIdentFailed, "Request rejected because the client program and identd report different user-ids." + IdResourceStringsCore_RSSocksUnknownError, "Unknown socks error." + IdResourceStringsCore_RSSocksServerRespondError, "Socks server did not respond." + IdResourceStringsCore_RSSocksAuthMethodError, "Invalid socks authentication method." + IdResourceStringsCore_RSSocksAuthError, "Authentication error to socks server." + IdResourceStringsCore_RSSocksServerGeneralError, "General SOCKS server failure." + IdResourceStringsCore_RSSocksServerPermissionError, "Connection not allowed by ruleset." + IdResourceStringsCore_RSSocksServerNetUnreachableError, "Network unreachable." + IdResourceStrings_RSStackELOOP, "Too many levels of symbolic links." + IdResourceStrings_RSStackENAMETOOLONG, "File name too long." + IdResourceStrings_RSStackEHOSTDOWN, "Host is down." + IdResourceStrings_RSStackEHOSTUNREACH, "No route to host." + IdResourceStrings_RSStackENOTEMPTY, "Directory not empty" + IdResourceStrings_RSStackHOST_NOT_FOUND, "Host not found." + IdResourceStrings_RSStackClassUndefined, "Stack Class is undefined." + IdResourceStrings_RSStackAlreadyCreated, "Stack already created." + IdResourceStrings_RSAntiFreezeOnlyOne, "Only one TIdAntiFreeze can exist per application." + IdResourceStrings_RSCannotSetIPVersionWhenConnected, "Cannot change IPVersion when connected" + IdResourceStrings_RSCannotBindRange, "Can not bind in port range (%d - %d)" + IdResourceStrings_RSConnectionClosedGracefully, "Connection Closed Gracefully." + IdResourceStrings_RSCouldNotBindSocket, "Could not bind socket. Address and port are already in use." + IdResourceStrings_RSInvalidPortRange, "Invalid Port Range (%d - %d)" + IdResourceStrings_RSInvalidServiceName, "%s is not a valid service." + IdResourceStrings_RSIPv6Unavailable, "IPv6 unavailable" + IdResourceStrings_RSStackEPFNOSUPPORT, "Protocol family not supported." + IdResourceStrings_RSStackEAFNOSUPPORT, "Address family not supported by protocol family." + IdResourceStrings_RSStackEADDRINUSE, "Address already in use." + IdResourceStrings_RSStackEADDRNOTAVAIL, "Cannot assign requested address." + IdResourceStrings_RSStackENETDOWN, "Network is down." + IdResourceStrings_RSStackENETUNREACH, "Network is unreachable." + IdResourceStrings_RSStackENETRESET, "Net dropped connection or reset." + IdResourceStrings_RSStackECONNABORTED, "Software caused connection abort." + IdResourceStrings_RSStackECONNRESET, "Connection reset by peer." + IdResourceStrings_RSStackENOBUFS, "No buffer space available." + IdResourceStrings_RSStackEISCONN, "Socket is already connected." + IdResourceStrings_RSStackENOTCONN, "Socket is not connected." + IdResourceStrings_RSStackESHUTDOWN, "Cannot send or receive after socket is closed." + IdResourceStrings_RSStackETOOMANYREFS, "Too many references, cannot splice." + IdResourceStrings_RSStackETIMEDOUT, "Connection timed out." + IdResourceStrings_RSStackECONNREFUSED, "Connection refused." + IdResourceStrings_RSStackEBADF, "Bad file number." + IdResourceStrings_RSStackEACCES, "Access denied." + IdResourceStrings_RSStackEFAULT, "Buffer fault." + IdResourceStrings_RSStackEINVAL, "Invalid argument." + IdResourceStrings_RSStackEMFILE, "Too many open files." + IdResourceStrings_RSStackEWOULDBLOCK, "Operation would block." + IdResourceStrings_RSStackEINPROGRESS, "Operation now in progress." + IdResourceStrings_RSStackEALREADY, "Operation already in progress." + IdResourceStrings_RSStackENOTSOCK, "Socket operation on non-socket." + IdResourceStrings_RSStackEDESTADDRREQ, "Destination address required." + IdResourceStrings_RSStackEMSGSIZE, "Message too long." + IdResourceStrings_RSStackEPROTOTYPE, "Protocol wrong type for socket." + IdResourceStrings_RSStackENOPROTOOPT, "Bad protocol option." + IdResourceStrings_RSStackEPROTONOSUPPORT, "Protocol not supported." + IdResourceStrings_RSStackESOCKTNOSUPPORT, "Socket type not supported." + IdResourceStrings_RSStackEOPNOTSUPP, "Operation not supported on socket." + DBConsts_SInvalidBcdValue, "%s is not a valid BCD value" + DBConsts_SInvalidFormatType, "Invalid format type for BCD" + DBConsts_SCouldNotParseTimeStamp, "Could not parse SQL TimeStamp string" + DBConsts_SInvalidSqlTimeStamp, "Invalid SQL date/time values" + IdResourceStrings_RSFailedTimeZoneInfo, "Failed attempting to retrieve time zone information." + IdResourceStrings_RSWinsockCallError, "Error on call Winsock2 library function %s" + IdResourceStrings_RSWinsockLoadError, "Error on loading Winsock2 library (%s)" + IdResourceStrings_RSWinsockInitializationError, "Winsock Initialization Error." + IdResourceStrings_RSStatusResolving, "Resolving hostname %s." + IdResourceStrings_RSStatusConnecting, "Connecting to %s." + IdResourceStrings_RSStatusConnected, "Connected." + IdResourceStrings_RSStatusDisconnecting, "Disconnecting." + IdResourceStrings_RSStatusDisconnected, "Disconnected." + IdResourceStrings_RSStatusText, "%s" + IdResourceStrings_RSStackError, "Socket Error # %d\r\n%s" + IdResourceStrings_RSStackEINTR, "Interrupted system call." + DBConsts_SNotEditing, "Dataset not in edit or insert mode" + DBConsts_SDataSetClosed, "Cannot perform this operation on a closed dataset" + DBConsts_SDataSetEmpty, "Cannot perform this operation on an empty dataset" + DBConsts_SDataSetReadOnly, "Cannot modify a read-only dataset" + DBConsts_SNestedDataSetClass, "Nested dataset must inherit from %s" + DBConsts_STextFalse, "False" + DBConsts_STextTrue, "True" + DBConsts_SParameterNotFound, "Parameter '%s' not found" + DBConsts_SInvalidVersion, "Unable to load bind parameters" + DBConsts_SBadFieldType, "Field '%s' is of an unsupported type" + DBConsts_SProviderSQLNotSupported, "SQL not supported: %s" + DBConsts_SProviderExecuteNotSupported, "Execute not supported: %s" + DBConsts_SDataSetUnidirectional, "Operation not allowed on a unidirectional dataset" + DBConsts_SUnassignedVar, "Unassigned variant value" + DBConsts_SRecordNotFound, "Record not found" + DBConsts_SBcdOverflow, "BCD overflow" + DBConsts_SInvalidBoolValue, "'%s' is not a valid boolean value for field '%s'" + DBConsts_SInvalidFloatValue, "'%s' is not a valid floating point value for field '%s'" + DBConsts_SFieldTypeMismatch, "Type mismatch for field '%s', expecting: %s actual: %s" + DBConsts_SFieldSizeMismatch, "Size mismatch for field '%s', expecting: %d actual: %d" + DBConsts_SInvalidVarByteArray, "Invalid variant type or size for field '%s'" + DBConsts_SFieldOutOfRange, "Value of field '%s' is out of range" + DBConsts_SFieldRequired, "Field '%s' must have a value" + DBConsts_SDataSetMissing, "Field '%s' has no dataset" + DBConsts_SInvalidCalcType, "Field '%s' cannot be a calculated or lookup field" + DBConsts_SFieldReadOnly, "Field '%s' cannot be modified" + DBConsts_SNoIndexForFields, "No index for fields '%s'" + DBConsts_SIndexNotFound, "Index '%s' not found" + DBConsts_SCircularDataLink, "Circular datalinks are not allowed" + DBConsts_SLookupInfoError, "Lookup information for field '%s' is incomplete" + DBConsts_SDataSourceChange, "DataSource cannot be changed" + DBConsts_SDataSetOpen, "Cannot perform this operation on an open dataset" + uRODECConst_sFMT_MIME64, "MIME Base 64" + uRODECConst_sFMT_UU, "UU Coding" + uRODECConst_sFMT_XX, "XX Coding" + uRODECConst_sInvalidKeySize, "Length from Encryptionkey is invalid.\r\nKeysize for %s must be within %d-%d bytes" + uRODECConst_sNotInitialized, "%s is not initialized, call Init() or InitKey() first." + DBConsts_SInvalidFieldSize, "Invalid field size" + DBConsts_SInvalidFieldKind, "Invalid FieldKind" + DBConsts_SUnknownFieldType, "Field '%s' is of an unknown type" + DBConsts_SFieldNameMissing, "Field name missing" + DBConsts_SDuplicateFieldName, "Duplicate field name '%s'" + DBConsts_SFieldNotFound, "Field '%s' not found" + DBConsts_SFieldAccessError, "Cannot access field '%s' as type %s" + DBConsts_SFieldValueError, "Invalid value for field '%s'" + DBConsts_SFieldRangeError, "%g is not a valid value for field '%s'. The allowed range is %g to %g" + DBConsts_SBcdFieldRangeError, "%s is not a valid value for field '%s'. The allowed range is %s to %s" + DBConsts_SInvalidIntegerValue, "'%s' is not a valid integer value for field '%s'" + uRORes_err_CannotLoadXMLDocument, "Cannot load XML document.\rReason: %s\rLine: %d\rPosition: %d" + uRORes_err_ErrorCreatingMsXmlDoc, "Error creating MSXML Document class\r\r%s: %s" + uRORes_err_NoXMLParsersAvailable, "MSXML is not installed" + uRORes_err_IDispatchMarshalingNotSupported, "Marshaling of IDispatch (%d) type variants is not supported." + uRORes_err_UnsupportedVariantType, "Unsupported variant type \"%d\"" + uRORes_err_VariantIsNotArray, "Variant must be Array, but is %d" + uRORes_err_InvalidVarArrayDimCount, "Variant Array DimCount must be 1 but is %d" + uRORes_err_CannotFindParameter, "Cannot find parameter %s" + uRORes_err_MessageNotAssigned, "Message is NIL" + uRODECConst_sProtectionCircular, "Circular Protection detected, Protection Object is invalid." + uRODECConst_sStringFormatExists, "String Format \"%d\" does not exist." + uRODECConst_sInvalidStringFormat, "Input is not a valid %s Format." + uRODECConst_sInvalidFormatString, "Input cannot be converted to %s Format." + uRODECConst_sFMT_COPY, "copy Input to Output" + uRODECConst_sFMT_HEX, "Hexadecimal" + uRODECConst_sFMT_HEXL, "Hexadecimal lowercase" + uRORes_err_UnknownClass, "Unknown class \"%s\"" + uRORes_err_UnknownProxyInterface, "Unknown proxy interface \"%s\"" + uRORes_err_DispatcherAlreadyAssigned, "Dispatcher for %s already assigned" + uRORes_err_CannotFindMessageDispatcher, "Cannot find message dispatcher. Maybe there is no message component configured for the requested path?" + uRORes_err_ServerOnlySupportsOneDispatcher, "%s servers only support one dispatcher" + uRORes_err_UnhandledException, "Unhandled exception" + uRORes_err_ChannelBusy, "Channel is busy. Try again later." + uRORes_err_ArrayIndexOutOfBounds, "Array index out of bounds (%d)." + uRORes_err_InvalidHeader, "Invalid binary header. Either incompatible or not a binary message." + uRORes_err_InvalidHeaderEncrypted, "Invalid binary header. It seems that encryption is active on the other side of the communication, but not locally?" + uRORes_err_UnknownClassInStream, "Unknown class \"%s\" found in stream." + uRORes_err_UnexpectedClassInStream, "Unexpected class found in stream; class \"%s\" does not descend from \"%s\"." + uRORes_err_SessionNotFound, "Session %s could not be found" + uRORes_err_ChannelDoesntSupportIROMetadataReader, "Channel does not support IROMetadataReader" + uRORes_err_TooManySessions, "Too many sessions. Try again in %d minute(s)" + uRORes_err_DOMElementIsNIL, "DOMElement is NIL" + uRORes_err_RodlInvalidDataType, "Invalid or undefined data type \"%s\"." + uRORes_err_RodlStructCannotBeNested, "Structs cannot recursively contain themselves." + uRORes_err_RodlInvalidAncestorType, "Invalid or undefined ancestor type \"%s\"." + uRORes_str_ExceptionOnServer, "An exception of type %s was raised on the server: %s" + uRORes_str_ExceptionReraisedFromServer, "An exception was raised on the server: %s" + uRORes_err_AssignError, "Cannot assign a \"%s\" to a \"%s\"." + uRORes_err_InvalidRequestStream, "Invalid request stream (%d bytes)" + uRORes_err_NILMessage, "Message is NIL" + uRORes_err_UnspecifiedInterface, "The message does not have an interface name" + uRORes_err_UnspecifiedMessage, "The message does not have a name" + uRORes_err_UnknownMethod, "Unknown method %s for interface %s" + uRORes_err_ClassFactoryDidNotReturnInstance, "Class factory did not return an instance of \"%s\"" + uRORes_err_TypeNotSupported, "Type \"%s\" not supported" + uRORes_err_ClassFactoryNotFound, "Class factory for interface %s not found" + uRORes_err_IROMessageNotSupported, "Class \"%s\" does not support IROMessage" + uRORes_err_ClassAlreadyRegistered, "Class \"%s\" is already registered" + ComConst_STooManyParams, "Dispatch methods do not support more than 64 parameters" + uRORes_err_InvalidIndex, "Invalid index %d" + uRORes_err_InvalidType, "Invalid type \"%s. Expected \"%s\"\"" + uRORes_err_InvalidLibrary, "Invalid library" + uRORes_err_InvalidStream, "Invalid stream" + uRORes_err_InvalidTargetEntity, "Invalid TargetEntity \"%s\"" + uRORes_err_InvalidParamFlag, "Invalid Parameter Flag \"%s\"" + uRORes_err_InvalidStringLength, "Stream read error: Invalid string length \"%d\"" + uRORes_str_InvalidClassTypeInStream, "Stream read error: Invalid class type encountered: \"%s\"" + uRORes_err_UnexpectedEndOfStream, "Unexpected end of stream." + uRORes_err_RodlDuplicateName, "Duplicate name." + uRORes_err_RodlNoDataTypeSpecified, "No data type specified." + uRORes_err_RodlNoEnumValues, "Enum does not contain any values." + uRORes_err_RodlNoStructElementsDefined, "Struct does not contain any elements." + uRORes_err_RodlNoOperationsDefined, "Service interface does not contain any elements." + uRORes_err_RodlUsedFileDoesNotExist, "The referenced RODL file \"%s\" could not be found." Consts_SSeparator, "Separator" Consts_SErrorSettingCount, "Error setting %s.Count" Consts_SListBoxMustBeVirtual, "Listbox (%s) style must be virtual in order to set Count" @@ -1833,9 +1825,9 @@ BEGIN Consts_STrayIconCreateError, "Cannot create shell notification icon" Consts_SPageControlNotSet, "PageControl must first be assigned" Consts_SWindowsVistaRequired, "%s requires Windows Vista or later" - JvResources_RsAniExtension, "ani" - JvResources_RsAniFilterName, "ANI Image" - JvResources_RsRootValueReplaceFmt, "The Default Root Value \"%0:s\" has been replaced with \"%1:s\".\r\nPlease change the value in the FileVersionInfo Project Properties." + ComConst_SOleError, "OLE error %.8x" + ComConst_SNoMethod, "Method '%s' not supported by automation object" + ComConst_SVarNotObject, "Variant does not reference an automation object" Consts_srNone, "(None)" Consts_SOutOfRange, "Value must be between %d and %d" Consts_SInsertLineError, "Unable to insert a line" @@ -2094,49 +2086,48 @@ BEGIN SysConst_SAccessDenied, "File access denied" END -/* C:\Archivos de programa\EurekaLog 6\Delphi11\DIALOG.RES */ -/* c:\archivos de programa\codegear\rad studio\5.0\lib\Controls.res */ -/* c:\archivos de programa\codegear\rad studio\5.0\lib\Buttons.res */ -/* c:\archivos de programa\codegear\rad studio\5.0\lib\ExtDlgs.res */ -/* C:\Codigo Tecsitel\Lib\jvcl\JvConsts.res */ -/* c:\archivos de programa\codegear\rad studio\5.0\lib\WindowsXP.res */ -/* C:\Codigo Tecsitel\Lib\FastReport3\frxProgress.DFM */ -/* C:\Codigo Tecsitel\Lib\FastReport3\frxCtrls.RES */ -/* C:\Codigo Tecsitel\Lib\FastReport3\frxPrintDialog.DFM */ -/* C:\Codigo Tecsitel\Lib\FastReport3\frxDock.DFM */ -/* C:\Codigo Tecsitel\Lib\FastReport3\frxPreviewPageSettings.DFM */ -/* C:\Codigo Tecsitel\Lib\FastReport3\frxSearchDialog.DFM */ -/* C:\Codigo Tecsitel\Lib\FastReport3\frxDialogForm.DFM */ +/* C:\Archivos de programa\CodeGear\RAD Studio\5.0\Lib\controls.res */ +/* C:\Codigo Tecsitel\Lib\RemObjects\RemObjects_SDK\uROPoweredByRemObjectsButton.res */ +/* C:\Codigo Tecsitel\Lib\RemObjects\RemObjects_SDK\uROHtmlServerInfo.res */ +/* C:\Archivos de programa\CodeGear\RAD Studio\5.0\Lib\buttons.res */ +/* C:\Archivos de programa\CodeGear\RAD Studio\5.0\Lib\extdlgs.res */ +/* C:\Codigo Tecsitel\Lib\FastReport3\frxProgress.dfm */ +/* C:\Codigo Tecsitel\Lib\FastReport3\frxCtrls.res */ +/* C:\Codigo Tecsitel\Lib\FastReport3\frxPrintDialog.dfm */ +/* C:\Codigo Tecsitel\Lib\FastReport3\frxDock.dfm */ +/* C:\Codigo Tecsitel\Lib\FastReport3\frxPreviewPageSettings.dfm */ +/* C:\Codigo Tecsitel\Lib\FastReport3\frxSearchDialog.dfm */ +/* C:\Codigo Tecsitel\Lib\FastReport3\frxPreview.dfm */ +/* C:\Codigo Tecsitel\Lib\FastReport3\frxPreview.res */ +/* C:\Codigo Tecsitel\Lib\FastReport3\frxDialogForm.dfm */ /* C:\Codigo Tecsitel\Lib\FastReport3\frxPassw.dfm */ -/* C:\Codigo Tecsitel\Lib\FastReport3\frxClass.RES */ -/* C:\Codigo Tecsitel\Lib\FastReport3\frxPreview.DFM */ -/* C:\Codigo Tecsitel\Lib\FastReport3\frxPreview.RES */ -/* C:\Archivos de programa\RemObjects Software\RemObjects SDK for Delphi\Source\uROHtmlServerInfo.res */ -/* C:\Archivos de programa\RemObjects Software\RemObjects SDK for Delphi\Source\uROPoweredByRemObjectsButton.res */ -/* uAcercaDe.dfm */ -/* Configuracion\uFrameConfiguracion.dfm */ -/* C:\Archivos de programa\RemObjects Software\Data Abstract for Delphi\Source\Drivers\DataAbstract_ADODriver_Glyphs.res */ -/* C:\Archivos de programa\RemObjects Software\Data Abstract for Delphi\Source\Drivers\DataAbstract_IBXDriver_Glyphs.res */ -/* C:\Codigo Tecsitel\Lib\jvcl\JvLogForm.dfm */ -/* uDataModuleServer.dfm */ -/* Configuracion\uConfGeneral.dfm */ +/* C:\Codigo Tecsitel\Lib\FastReport3\frxClass.res */ +/* C:\Codigo Tecsitel\Lib\JVCL\JvConsts.res */ +/* C:\Archivos de programa\CodeGear\RAD Studio\5.0\Lib\WindowsXP.res */ +/* C:\Codigo Tecsitel\Lib\JVCL\JvLogForm.dfm */ +/* C:\Codigo Tecsitel\Lib\RemObjects\Data_Abstract\DataAbstract_IBXDriver_Glyphs.res */ +/* C:\Codigo Tecsitel\Lib\RemObjects\Data_Abstract\DataAbstract_ADODriver_Glyphs.res */ +/* C:\Codigo Tecsitel\Source\Servidor\uDataModuleServer.dfm */ +/* C:\Codigo Tecsitel\Source\Servidor\Configuracion\uFrameConfiguracion.dfm */ /* C:\Codigo Tecsitel\Lib\DevExpressVCL\dxOffice11.res */ -/* C:\Codigo Tecsitel\Lib\DevExpressVCL\cxLookAndFeelPainters.res */ /* C:\Codigo Tecsitel\Lib\DevExpressVCL\cxControls.res */ +/* C:\Codigo Tecsitel\Lib\DevExpressVCL\cxLookAndFeelPainters.res */ +/* C:\Archivos de programa\CodeGear\RAD Studio\5.0\Lib\filectrl.res */ /* C:\Codigo Tecsitel\Lib\DevExpressVCL\cxEdit.res */ -/* c:\archivos de programa\codegear\rad studio\5.0\lib\FileCtrl.res */ /* C:\Codigo Tecsitel\Lib\DevExpressVCL\cxShellBrowser.dfm */ -/* Configuracion\uConexionBD.dfm */ -/* Configuracion\uConfiguracion.dfm */ -/* uServerMainForm.dfm */ -/* srvLogin_Impl.dfm */ -/* ..\Modulos\Contactos\Servidor\srvContactos_Impl.dfm */ -/* ..\Base\Empresas\Servidor\srvEmpresas_Impl.dfm */ -/* Configuracion\srvConfiguracion_Impl.dfm */ -/* ..\Modulos\Familias\Servidor\srvFamilias_Impl.dfm */ -/* ..\Modulos\Formas de pago\Servidor\srvFormasPago_Impl.dfm */ -/* ..\Modulos\Tipos de IVA\Servidor\srvTiposIVA_Impl.dfm */ -/* ..\Base\Usuarios\Servidor\srvUsuarios_Impl.dfm */ -/* C:\Codigo Tecsitel\Source\Servidor\FactuGES_Server.res */ -/* C:\Codigo Tecsitel\Source\Servidor\..\Servicios\RODLFile.res */ -/* C:\Codigo Tecsitel\Source\Servidor\FactuGES_Server.drf */ +/* C:\Codigo Tecsitel\Source\Servidor\Configuracion\uConexionBD.dfm */ +/* C:\Codigo Tecsitel\Source\Servidor\Configuracion\uConfGeneral.dfm */ +/* C:\Codigo Tecsitel\Source\Servidor\Configuracion\uConfiguracion.dfm */ +/* C:\Codigo Tecsitel\Source\Servidor\uAcercaDe.dfm */ +/* C:\Codigo Tecsitel\Source\Servidor\uServerMainForm.dfm */ +/* C:\Codigo Tecsitel\Source\Servidor\srvLogin_Impl.dfm */ +/* C:\Codigo Tecsitel\Source\Modulos\Contactos\Servidor\srvContactos_Impl.dfm */ +/* C:\Codigo Tecsitel\Source\ApplicationBase\Empresas\Servidor\srvEmpresas_Impl.dfm */ +/* C:\Codigo Tecsitel\Source\Servidor\Configuracion\srvConfiguracion_Impl.dfm */ +/* C:\Codigo Tecsitel\Source\Modulos\Familias\Servidor\srvFamilias_Impl.dfm */ +/* C:\Codigo Tecsitel\Source\Modulos\Formas de pago\Servidor\srvFormasPago_Impl.dfm */ +/* C:\Codigo Tecsitel\Source\Modulos\Tipos de IVA\Servidor\srvTiposIVA_Impl.dfm */ +/* C:\Codigo Tecsitel\Source\ApplicationBase\Usuarios\Servidor\srvUsuarios_Impl.dfm */ +/* C:\Codigo Tecsitel\Source\Servidor\FactuGES_Server.RES */ +/* C:\Codigo Tecsitel\Source\Servidor\..\Servicios\RODLFILE.res */ +/* C:\DOCUME~1\Usuario\CONFIG~1\Temp\dtf28.tmp */ diff --git a/Source/Servidor/FactuGES_Server.rc b/Source/Servidor/FactuGES_Server.rc index 7c0b65b4..4e771cb2 100644 --- a/Source/Servidor/FactuGES_Server.rc +++ b/Source/Servidor/FactuGES_Server.rc @@ -14,7 +14,7 @@ BEGIN BEGIN VALUE "FileVersion", "3.0.0.0\0" VALUE "ProductVersion", "3.0.0.0\0" - VALUE "CompileDate", "domingo, 30 de septiembre de 2007 20:47\0" + VALUE "CompileDate", "domingo, 07 de octubre de 2007 20:30\0" END END BLOCK "VarFileInfo" diff --git a/Source/Servidor/Utiles/uBusinessUtils.pas b/Source/Servidor/Utiles/uBusinessUtils.pas index 76ac5daa..bad38ae5 100644 --- a/Source/Servidor/Utiles/uBusinessUtils.pas +++ b/Source/Servidor/Utiles/uBusinessUtils.pas @@ -10,15 +10,15 @@ function GetBusinessProcessorConnection (ABusinessProcessor: TDABusinessProcesso implementation uses - DARemoteService_Impl; + DataAbstractService_Impl; { Se utiliza en las reglas de negocio del servidor y devuelve la conexión utilizada por el BusinessProcessor para procesar los deltas. } function GetBusinessProcessorConnection (ABusinessProcessor: TDABusinessProcessor): IDAConnection; begin - if (ABusinessProcessor.Owner is TDARemoteService) then - Result := (ABusinessProcessor.Owner as TDARemoteService).Connection + if (ABusinessProcessor.Owner is TDataAbstractService) then + Result := (ABusinessProcessor.Owner as TDataAbstractService).Connection else Result := NIL; end; diff --git a/Source/Servidor/Utiles/uSchemaUtilsServer.pas b/Source/Servidor/Utiles/uSchemaUtilsServer.pas index 592471b9..01327bb3 100644 --- a/Source/Servidor/Utiles/uSchemaUtilsServer.pas +++ b/Source/Servidor/Utiles/uSchemaUtilsServer.pas @@ -5,8 +5,7 @@ interface uses Classes, SysUtils, uROClientIntf, uROTypes, uROServer, uROServerIntf, uROSessions, - DARemoteService_Impl, - DataAbstract4_Intf, + DataAbstract4_Intf, DataAbstractService_Impl, uDAClasses, uDAInterfaces, uDADataTable; type @@ -14,7 +13,7 @@ type protected function GenerateNewSQL : String; public - Service : TDARemoteService; + Service : TDataAbstractService; Columnas : String; ColumnasQueSuman : String; ColumnasQueAVG : String; @@ -39,7 +38,6 @@ var i : integer; Separador : String; bHayAgrupacion : Boolean; - APos : Integer; function GetTrueFieldName(AField : string; ConAlias : Boolean = True) : String; var @@ -131,7 +129,6 @@ function TReplicarDataSet.GetNewDataSet: IDADataset; var SQL: String; ASchemaDataSet: TDADataSet; - AField: TDAField; AColumnList : TStringList; i, j : Integer; begin diff --git a/Source/Servidor/srvEmpresas_Impl.dfm b/Source/Servidor/srvEmpresas_Impl.dfm new file mode 100644 index 00000000..ccd0c53b --- /dev/null +++ b/Source/Servidor/srvEmpresas_Impl.dfm @@ -0,0 +1,7 @@ +inherited srvEmpresas: TsrvEmpresas + OldCreateOrder = True + Left = 200 + Top = 200 + Height = 300 + Width = 300 +end diff --git a/Source/Servidor/srvEmpresas_Impl.pas b/Source/Servidor/srvEmpresas_Impl.pas new file mode 100644 index 00000000..14b5ca7e --- /dev/null +++ b/Source/Servidor/srvEmpresas_Impl.pas @@ -0,0 +1,47 @@ +unit srvEmpresas_Impl; + +{----------------------------------------------------------------------------} +{ This unit was automatically generated by the RemObjects SDK after reading } +{ the RODL file associated with this project . } +{ } +{ This is where you are supposed to code the implementation of your objects. } +{----------------------------------------------------------------------------} + +{$I Remobjects.inc} + +interface + +uses + {vcl:} Classes, SysUtils, + {RemObjects:} uROXMLIntf, uROClientIntf, uROTypes, uROServer, uROServerIntf, uROSessions, + {Required:} uRORemoteDataModule, + {Ancestor Implementation:} DataAbstractService_Impl, + {Used RODLs:} DataAbstract4_Intf, + {Generated:} FactuGES_Intf; + +type + { TsrvEmpresas } + TsrvEmpresas = class(TDataAbstractService, IsrvEmpresas) + private + protected + { IsrvEmpresas methods } + end; + +implementation + +{$R *.dfm} +uses + {Generated:} FactuGES_Invk; + +procedure Create_srvEmpresas(out anInstance : IUnknown); +begin + anInstance := TsrvEmpresas.Create(nil); +end; + +{ srvEmpresas } +initialization + TROClassFactory.Create('srvEmpresas', Create_srvEmpresas, TsrvEmpresas_Invoker); + +finalization + +end.