commit ef9e12b1db39c1eaebf26fd23f9259332ca3b33f Author: jdg Date: Sun Sep 12 22:25:13 2021 +0200 First commit 10/01/2001 diff --git a/Datos/Datos-Virgen.rar b/Datos/Datos-Virgen.rar new file mode 100644 index 0000000..b5f7525 Binary files /dev/null and b/Datos/Datos-Virgen.rar differ diff --git a/Datos/Datos.rar b/Datos/Datos.rar new file mode 100644 index 0000000..2df0d34 Binary files /dev/null and b/Datos/Datos.rar differ diff --git a/Datos/DatosExportados.rar b/Datos/DatosExportados.rar new file mode 100644 index 0000000..8b186da Binary files /dev/null and b/Datos/DatosExportados.rar differ diff --git a/Datos/Importados-30-12-00/Datos-Virgen.rar b/Datos/Importados-30-12-00/Datos-Virgen.rar new file mode 100644 index 0000000..b5f7525 Binary files /dev/null and b/Datos/Importados-30-12-00/Datos-Virgen.rar differ diff --git a/Datos/Importados-30-12-00/DatosExportados.rar b/Datos/Importados-30-12-00/DatosExportados.rar new file mode 100644 index 0000000..51ef802 Binary files /dev/null and b/Datos/Importados-30-12-00/DatosExportados.rar differ diff --git a/Datos/Importados-30-12-00/PrepararImportacion.rar b/Datos/Importados-30-12-00/PrepararImportacion.rar new file mode 100644 index 0000000..34784fc Binary files /dev/null and b/Datos/Importados-30-12-00/PrepararImportacion.rar differ diff --git a/Datos/Listado.exe b/Datos/Listado.exe new file mode 100644 index 0000000..ce83a1f Binary files /dev/null and b/Datos/Listado.exe differ diff --git a/Datos/TbInsignias.db b/Datos/TbInsignias.db new file mode 100644 index 0000000..4eb4c9f Binary files /dev/null and b/Datos/TbInsignias.db differ diff --git a/Datos/herm.rar b/Datos/herm.rar new file mode 100644 index 0000000..cd6a259 Binary files /dev/null and b/Datos/herm.rar differ diff --git a/Datos/tbHERM.MB b/Datos/tbHERM.MB new file mode 100644 index 0000000..5a8b7d0 Binary files /dev/null and b/Datos/tbHERM.MB differ diff --git a/Datos/tbHERM.PX b/Datos/tbHERM.PX new file mode 100644 index 0000000..592447a Binary files /dev/null and b/Datos/tbHERM.PX differ diff --git a/Datos/tbHERM.XG0 b/Datos/tbHERM.XG0 new file mode 100644 index 0000000..f88fd2f Binary files /dev/null and b/Datos/tbHERM.XG0 differ diff --git a/Datos/tbHERM.XG1 b/Datos/tbHERM.XG1 new file mode 100644 index 0000000..2f8dd80 Binary files /dev/null and b/Datos/tbHERM.XG1 differ diff --git a/Datos/tbHERM.XG2 b/Datos/tbHERM.XG2 new file mode 100644 index 0000000..33d707c Binary files /dev/null and b/Datos/tbHERM.XG2 differ diff --git a/Datos/tbHERM.XG3 b/Datos/tbHERM.XG3 new file mode 100644 index 0000000..e4a81d5 Binary files /dev/null and b/Datos/tbHERM.XG3 differ diff --git a/Datos/tbHERM.XG4 b/Datos/tbHERM.XG4 new file mode 100644 index 0000000..e2eeeb4 Binary files /dev/null and b/Datos/tbHERM.XG4 differ diff --git a/Datos/tbHERM.XG5 b/Datos/tbHERM.XG5 new file mode 100644 index 0000000..4f19e9c Binary files /dev/null and b/Datos/tbHERM.XG5 differ diff --git a/Datos/tbHERM.XG6 b/Datos/tbHERM.XG6 new file mode 100644 index 0000000..ec251df Binary files /dev/null and b/Datos/tbHERM.XG6 differ diff --git a/Datos/tbHERM.XG7 b/Datos/tbHERM.XG7 new file mode 100644 index 0000000..48ec3da Binary files /dev/null and b/Datos/tbHERM.XG7 differ diff --git a/Datos/tbHERM.YG0 b/Datos/tbHERM.YG0 new file mode 100644 index 0000000..e43e56c Binary files /dev/null and b/Datos/tbHERM.YG0 differ diff --git a/Datos/tbHERM.YG1 b/Datos/tbHERM.YG1 new file mode 100644 index 0000000..4ae6e12 Binary files /dev/null and b/Datos/tbHERM.YG1 differ diff --git a/Datos/tbHERM.YG2 b/Datos/tbHERM.YG2 new file mode 100644 index 0000000..c458202 Binary files /dev/null and b/Datos/tbHERM.YG2 differ diff --git a/Datos/tbHERM.YG3 b/Datos/tbHERM.YG3 new file mode 100644 index 0000000..438f519 Binary files /dev/null and b/Datos/tbHERM.YG3 differ diff --git a/Datos/tbHERM.YG4 b/Datos/tbHERM.YG4 new file mode 100644 index 0000000..cada4da Binary files /dev/null and b/Datos/tbHERM.YG4 differ diff --git a/Datos/tbHERM.YG5 b/Datos/tbHERM.YG5 new file mode 100644 index 0000000..ebc18b1 Binary files /dev/null and b/Datos/tbHERM.YG5 differ diff --git a/Datos/tbHERM.YG6 b/Datos/tbHERM.YG6 new file mode 100644 index 0000000..8694746 Binary files /dev/null and b/Datos/tbHERM.YG6 differ diff --git a/Datos/tbHERM.YG7 b/Datos/tbHERM.YG7 new file mode 100644 index 0000000..9d9433e Binary files /dev/null and b/Datos/tbHERM.YG7 differ diff --git a/Datos/tbHERM.db b/Datos/tbHERM.db new file mode 100644 index 0000000..027775d Binary files /dev/null and b/Datos/tbHERM.db differ diff --git a/Etiquetas.cpp b/Etiquetas.cpp new file mode 100644 index 0000000..245e40d --- /dev/null +++ b/Etiquetas.cpp @@ -0,0 +1,16 @@ +//--------------------------------------------------------------------- +#include +#pragma hdrstop + +#include "Etiquetas.h" +//--------------------------------------------------------------------- +#pragma resource "*.dfm" +TQREtiquetas *QREtiquetas; +//--------------------------------------------------------------------- +__fastcall TQREtiquetas::TQREtiquetas(TComponent* AOwner) + : TForm(AOwner) +{ +} +//--------------------------------------------------------------------- + + diff --git a/Etiquetas.dfm b/Etiquetas.dfm new file mode 100644 index 0000000..c881b98 Binary files /dev/null and b/Etiquetas.dfm differ diff --git a/Etiquetas.h b/Etiquetas.h new file mode 100644 index 0000000..145c608 --- /dev/null +++ b/Etiquetas.h @@ -0,0 +1,41 @@ +//---------------------------------------------------------------------------- +#ifndef EtiquetasH +#define EtiquetasH +//---------------------------------------------------------------------------- +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +//---------------------------------------------------------------------------- +class TQREtiquetas : public TForm +{ +__published: + TQuickRep *Etiquetas; + TTable *MasterTable; + TQRBand *DetailBand1; + TQRExpr *QRExpr1; + TQRExpr *QRExpr2; + TQRExpr *QRExpr3; + TQRExpr *QRExpr4; + TQRRTFFilter *QRRTFFilter1; +private: +public: + virtual __fastcall TQREtiquetas(TComponent* AOwner); +}; +//---------------------------------------------------------------------------- +extern PACKAGE TQREtiquetas *QREtiquetas; +//---------------------------------------------------------------------------- +#endif diff --git a/Herm.cpp b/Herm.cpp new file mode 100644 index 0000000..fc36830 --- /dev/null +++ b/Herm.cpp @@ -0,0 +1,330 @@ +//--------------------------------------------------------------------------- +#include +#include +#pragma hdrstop + +#include "Herm.h" +//--------------------------------------------------------------------------- +#pragma package(smart_init) +#pragma resource "*.dfm" +TGestionHnos *GestionHnos; +//--------------------------------------------------------------------------- +__fastcall TGestionHnos::TGestionHnos(TComponent* Owner) + : TForm(Owner) +{ + Width = 640; Height = 480; +// SelIndex->ItemIndex = 0; + + TbInsignias->Active = true; + TbInsignias->Filter = "CtoVirgen = False"; + TbInsignias->Filtered = true; + + TbBusqHnos->ReadOnly = true; + TbBusqHnos->Active = true; + + TbCuotaFam->Active = true; + + TbHermUPDATING = false; + TbHerm->Active = true; + DsHerm->AutoEdit = false; + + PageControl1->ActivePage = TabSheet1; +} +//--------------------------------------------------------------------------- +void __fastcall TGestionHnos::TbHermBeforeOpen(TDataSet *DataSet) +{ + if ( access( (TbHerm -> TableName).c_str(), 0 ) != 0 ) + { + // Usamos la propiedad FielDefs para definir + // las columnas que contendrá la tabla + TbHerm -> FieldDefs -> Clear(); + + /********************\ + |* Datos Básicos *| + \********************/ + TbHerm -> FieldDefs -> Add("idHerm", ftAutoInc, 0, false ); + + +//------- + TbHerm -> FieldDefs -> Add("Borrado", ftBoolean, 0, false ); + TbHerm -> FieldDefs -> Add("FechaBorrado", ftDate, 0, false ); +//------- + + TbHerm -> FieldDefs -> Add("HnoHna", ftBoolean, 0, false ); + TbHerm -> FieldDefs -> Add("NumHno", ftInteger, 0, false ); + + TbHerm -> FieldDefs -> Add("Nombre", ftString, 15, false ); + TbHerm -> FieldDefs -> Add("Apellido1", ftString, 15, false ); + TbHerm -> FieldDefs -> Add("Apellido2", ftString, 15, false ); + TbHerm -> FieldDefs -> Add("DNI", ftString, 15, false ); + + TbHerm -> FieldDefs -> Add("Direccion", ftString, 40, false ); + TbHerm -> FieldDefs -> Add("Num", ftString, 3, false ); + TbHerm -> FieldDefs -> Add("Piso", ftString, 3, false ); + TbHerm -> FieldDefs -> Add("CodPostal", ftInteger, 0, false ); + TbHerm -> FieldDefs -> Add("Poblacion", ftString, 15, false ); + TbHerm -> FieldDefs -> Add("Provincia", ftString, 15, false ); + TbHerm -> FieldDefs -> Add("Telefono1", ftString, 15, false ); + TbHerm -> FieldDefs -> Add("Telefono2", ftString, 15, false ); + TbHerm -> FieldDefs -> Add("e-mail", ftString, 30, false ); + TbHerm -> FieldDefs -> Add("FechaNacimiento", ftDate, 0, false ); + TbHerm -> FieldDefs -> Add("Antiguedad", ftDate, 0, false ); + + TbHerm -> FieldDefs -> Add("idInsignia", ftInteger, 0, false ); + TbHerm -> FieldDefs -> Add("NumTunica", ftInteger, 0, false ); + + TbHerm -> FieldDefs -> Add("Comentario", ftMemo, 256, false ); + + TbHerm -> FieldDefs -> Add("idHermCF", ftInteger, 0, false ); + TbHerm -> FieldDefs -> Add("CuotaFamiliar", ftBoolean, 0, false ); + TbHerm -> FieldDefs -> Add("RecibeNotificaciones", ftBoolean, 0, false ); + TbHerm -> FieldDefs -> Add("PuedeVotar", ftBoolean, 0, false ); + TbHerm -> FieldDefs -> Add("TunicaHermandad", ftBoolean, 0, false ); + TbHerm -> FieldDefs -> Add("RealizoPenitencia", ftBoolean, 0, false ); + TbHerm -> FieldDefs -> Add("CristoVirgen", ftBoolean, 0, false ); + TbHerm -> FieldDefs -> Add("Reserva", ftBoolean, 0, false ); + TbHerm -> FieldDefs -> Add("FA2", ftBoolean, 0, false ); + + TbHerm -> IndexDefs-> Clear(); + + TIndexOptions MyIndexOptions; + MyIndexOptions << ixPrimary << ixUnique; + TbHerm->IndexDefs->Add("Primary", "idHerm", MyIndexOptions); + TbHerm->IndexDefs->Add("NumHno", "NumHno", TIndexOptions() << ixCaseInsensitive << ixUnique ); + TbHerm->IndexDefs->Add("DNI", "DNI", TIndexOptions() << ixCaseInsensitive); + TbHerm->IndexDefs->Add("Nombre", "Nombre;Apellido1;Apellido2", TIndexOptions() << ixCaseInsensitive); + TbHerm->IndexDefs->Add("IdxDireccion", "Direccion;Num;Piso", TIndexOptions() << ixCaseInsensitive ); + TbHerm->IndexDefs->Add("Apellido1", "Apellido1;Apellido2;Nombre", TIndexOptions() << ixCaseInsensitive); + TbHerm->IndexDefs->Add("Apellido2", "Apellido2;Apellido1;Nombre", TIndexOptions() << ixCaseInsensitive); + TbHerm->IndexDefs->Add("Telefono1", "Telefono1", TIndexOptions() << ixCaseInsensitive); + TbHerm->IndexDefs->Add("Telefono2", "Telefono2", TIndexOptions() << ixCaseInsensitive); + + // Creamos la base... + TbHerm -> CreateTable(); + } + +} +//--------------------------------------------------------------------------- +void __fastcall TGestionHnos::TbInsigniasCtoBeforeOpen(TDataSet *DataSet) +{ + if ( access( (TbInsignias -> TableName).c_str(), 0 ) != 0 ) + { + // Usamos la propiedad FielDefs para definir + // las columnas que contendrá la tabla + TbInsignias -> FieldDefs -> Clear(); + + /********************\ + |* Datos Básicos *| + \********************/ + TbInsignias -> FieldDefs -> Add("idInsignia", ftAutoInc, 0, false ); + TbInsignias -> FieldDefs -> Add("CtoVirgen", ftBoolean, 0, false ); + TbInsignias -> FieldDefs -> Add("Insignia", ftString, 30, false ); + TbInsignias -> FieldDefs -> Add("Suplemento", ftCurrency, 0, false ); + + TbInsignias -> IndexDefs-> Clear(); + + + // Creamos la base... + TbInsignias -> CreateTable(); + } +} +//--------------------------------------------------------------------------- +void __fastcall TGestionHnos::SpeedButton1Click(TObject *Sender) +{ + Close(); +} +//--------------------------------------------------------------------------- +void __fastcall TGestionHnos::TbHermCalcFields(TDataSet *DataSet) +{ + TbHerm->FieldByName("Apellidos")->AsString = TbHerm->FieldByName("Apellido1")->AsString + " " + TbHerm->FieldByName("Apellido2")->AsString; + TbHerm->FieldByName("Direccion_Compl")->AsString = TbHerm->FieldByName("Direccion")->AsString + + ((TbHerm->FieldByName("Num")->AsString).IsEmpty() ? AnsiString(", ") : AnsiString(", nº"+TbHerm->FieldByName("Num")->AsString)) + + ((TbHerm->FieldByName("Num")->AsString).IsEmpty() ? AnsiString(".") : AnsiString(", Piso "+TbHerm->FieldByName("Piso")->AsString)) ; + if ( TbHerm->FieldByName("CuotaFamiliar")->AsBoolean && + TbBusqHnos->Locate( "idHerm", + TbHerm->FieldByName("idHermCF")->AsInteger, + TLocateOptions() << loCaseInsensitive << loPartialKey ) ) + TbHerm->FieldByName("DatosTitularCuotaFam")->AsString = TbBusqHnos->FieldByName("NumHno")->AsString + ", " + + TbBusqHnos->FieldByName("Nombre")->AsString + " " + + TbBusqHnos->FieldByName("Apellido1")->AsString + " " + + TbBusqHnos->FieldByName("Apellido2")->AsString; +} +//--------------------------------------------------------------------------- +void __fastcall TGestionHnos::SelIndexChange(TObject *Sender) +{ + TbBusqHnos->IndexFieldNames = SelIndex->Items->Strings[SelIndex->ItemIndex]; +} +//--------------------------------------------------------------------------- + +void __fastcall TGestionHnos::BuscadorKeyUp(TObject *Sender, WORD &Key, + TShiftState Shift) +{ + if ( SelIndex->ItemIndex != -1 ) + TbBusqHnos->Locate( SelIndex->Items->Strings[SelIndex->ItemIndex], Buscador->Text, TLocateOptions() << loCaseInsensitive << loPartialKey ); + else + ShowMessage( "Seleccione un CAMPO, por el que BUSCAR" ); +} +//--------------------------------------------------------------------------- +void __fastcall TGestionHnos::DsHermDataChange(TObject *Sender, TField *Field) +{ + if ( TbHermUPDATING ) return; + + + if ( TbHermBorrado->AsBoolean ) + { + TabSheet2->Font->Style = TFontStyles()<< fsStrikeOut; + UnLockClick(0); + } else + TabSheet2->Font->Style = TFontStyles(); + + TbHermUPDATING = true; + CtoVirgen->ItemIndex = TbHerm->FieldByName("CristoVirgen")->AsBoolean; + + TbInsignias->Filter = "CtoVirgen = " + (CtoVirgen->ItemIndex ? AnsiString("True") : AnsiString("False")); + TbInsignias->Filtered = true; + + NTunica->Visible = TbHerm->FieldByName("TunicaHermandad")->AsBoolean; + + if ( TbHerm->FieldByName("CuotaFamiliar")->AsBoolean ) + { + DatosTitularCF->Visible = true; + if ( ! TbHerm->FieldByName("idHermCF")->AsString.IsEmpty() ) + { + BeneficiariosCF->Enabled = true; + BeneficiariosCF->Visible = true; + TbCuotaFam->Filter = "idHermCF = " + TbHerm->FieldByName("idHermCF")->AsString; + TbCuotaFam->Filtered = true; + } else { + BeneficiariosCF->Enabled = false; + BeneficiariosCF->Visible = false; + } + } else { + BeneficiariosCF->Enabled = false; + BeneficiariosCF->Visible = false; + DatosTitularCF->Visible = false; + } + TbHermUPDATING = false; +} +//--------------------------------------------------------------------------- + +void __fastcall TGestionHnos::CtoVirgenClick(TObject *Sender) +{ + if ( DsHerm->AutoEdit && !TbHermUPDATING) + { + TbHermUPDATING = true; + + TbHerm->Edit(); + TbHerm->FieldByName("CristoVirgen")->AsBoolean = CtoVirgen->ItemIndex; + TbHerm->Post(); + + TbInsignias->Filter = "CtoVirgen = " + (CtoVirgen->ItemIndex ? AnsiString("True") : AnsiString("False")); + TbInsignias->Filtered = true; + + TbHermUPDATING = false; + } +} +//--------------------------------------------------------------------------- + +void __fastcall TGestionHnos::LockClick(TObject *Sender) +{ + if ( TbHermBorrado->AsBoolean ) return; + + DsHerm->AutoEdit = true; + Unlock->Visible = true; + CtoVirgen->Enabled = true; + DBLookupComboBox1->Enabled = true; +} +//--------------------------------------------------------------------------- + +void __fastcall TGestionHnos::UnLockClick(TObject *Sender) +{ + if ( TbHerm->State == dsEdit || TbHerm->State == dsInsert ) + TbHerm->Post(); + DsHerm->AutoEdit = false; + Unlock->Visible = false; + CtoVirgen->Enabled = false; + DBLookupComboBox1->Enabled = false; +} +//--------------------------------------------------------------------------- + +void __fastcall TGestionHnos::DBGrid1DblClick(TObject *Sender) +{ + if ( AsignandoTitular->Visible ) + AsignandoTitularClick( 0 ); + else + TbHerm->GotoCurrent( TbBusqHnos ); + + PageControl1->ActivePage = TabSheet2; +} +//--------------------------------------------------------------------------- +void __fastcall TGestionHnos::SpeedButton3Click(TObject *Sender) +{ + AsignandoTitular->Visible = true; + PageControl1->ActivePage = TabSheet1; +} +//--------------------------------------------------------------------------- +void __fastcall TGestionHnos::AsignandoTitularClick(TObject *Sender) +{ + AsignandoTitular->Visible = false; + + if ( DsHerm->AutoEdit && !TbHermUPDATING) + { + int idHerm = TbBusqHnos->FieldByName("idHerm")->AsInteger; + TbHerm->Edit(); + TbHerm->FieldByName("idHermCF")->AsInteger = idHerm; + TbHerm->Post(); + } +} +//--------------------------------------------------------------------------- + +void __fastcall TGestionHnos::TbHermNewRecord(TDataSet *DataSet) +{ + TbHerm->FieldByName("Antiguedad")->AsDateTime = TDateTime::CurrentDate(); + TbHerm->FieldByName("NumHno")->AsInteger = (UltimoHno + 1); +} +//--------------------------------------------------------------------------- + +void __fastcall TGestionHnos::PageControl1Change(TObject *Sender) +{ + AsignandoTitular->Visible = false; +} +//--------------------------------------------------------------------------- + +void __fastcall TGestionHnos::TbBusqHnosCalcFields(TDataSet *DataSet) +{ + TbBusqHnos->FieldByName("Apellidos")->AsString = TbBusqHnos->FieldByName("Apellido1")->AsString + " " + TbBusqHnos->FieldByName("Apellido2")->AsString; + TbBusqHnos->FieldByName("Direccion_Compl")->AsString = TbBusqHnos->FieldByName("Direccion")->AsString + + ((TbBusqHnos->FieldByName("Num")->AsString).IsEmpty() ? AnsiString(", ") : AnsiString(", nº"+TbBusqHnos->FieldByName("Num")->AsString)) + + ((TbBusqHnos->FieldByName("Num")->AsString).IsEmpty() ? AnsiString(".") : AnsiString(", Piso "+TbBusqHnos->FieldByName("Piso")->AsString)) ; +} +//--------------------------------------------------------------------------- + +void __fastcall TGestionHnos::TbHermBeforeDelete(TDataSet *DataSet) +{ +if (MessageDlg("¿ Borrar al Hermano: " + TbHermNumHno->AsString +" ?", mtConfirmation, TMsgDlgButtons() << mbYes << mbNo, 0) == mrYes) +{ + TbHerm->Edit(); + TbHerm->FieldByName("Borrado")->AsBoolean = true; + TbHerm->Post(); + + UnLockClick(0); +} + Abort(); +} +//--------------------------------------------------------------------------- + + +void __fastcall TGestionHnos::TbHermBeforeInsert(TDataSet *DataSet) +{ + TbHerm->Last(); + UltimoHno = TbHerm->FieldByName("NumHno")->AsInteger; +} +//--------------------------------------------------------------------------- + +void __fastcall TGestionHnos::DBNavigator1Click(TObject *Sender, + TNavigateBtn Button) +{ + PageControl1->ActivePage = TabSheet2; +} +//--------------------------------------------------------------------------- + diff --git a/Herm.dfm b/Herm.dfm new file mode 100644 index 0000000..f628b86 Binary files /dev/null and b/Herm.dfm differ diff --git a/Herm.h b/Herm.h new file mode 100644 index 0000000..db74399 --- /dev/null +++ b/Herm.h @@ -0,0 +1,200 @@ +//--------------------------------------------------------------------------- +#ifndef HermH +#define HermH +//--------------------------------------------------------------------------- +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +//--------------------------------------------------------------------------- +class TGestionHnos : public TForm +{ +__published: // IDE-managed Components + TPanel *Panel1; + TImage *Image1; + TBevel *Bevel1; + TSpeedButton *SpeedButton1; + TSpeedButton *SpeedButton2; + TPageControl *PageControl1; + TTabSheet *TabSheet1; + TTabSheet *TabSheet2; + TDBGrid *DBGrid1; + TDataSource *DsHerm; + TTable *TbInsignias; + TDataSource *DsInsignias; + TLabel *Label1; + TLabel *Label2; + TLabel *Label5; + TLabel *Label6; + TLabel *Label7; + TLabel *Label8; + TLabel *Label9; + TLabel *Label10; + TDBEdit *DBEdit2; + TDBEdit *DBEdit3; + TDBEdit *DBEdit4; + TDBEdit *DBEdit5; + TDBEdit *DBEdit6; + TDBEdit *DBEdit7; + TDBEdit *DBEdit8; + TDBEdit *DBEdit9; + TDBEdit *DBEdit10; + TStatusBar *StatusBar1; + TLabel *Label15; + TPanel *Panel2; + TLabel *Label3; + TComboBox *SelIndex; + TLabel *Label17; + TEdit *Buscador; + TLabel *Label14; + TDBEdit *DBEdit14; + TBevel *Bevel3; + TPageControl *PageControl2; + TTabSheet *TabSheet5; + TTabSheet *TabSheet6; + TTabSheet *TabSheet7; + TDBMemo *DBMemo1; + TBevel *Bevel4; + TLabel *Label12; + TLabel *Label4; + TLabel *Label11; + TLabel *Label16; + TDBEdit *DBEdit12; + TDBEdit *DBEdit11; + TDBEdit *DBEdit15; + TDBText *DBText1; + TDBText *DBText2; + TRadioGroup *CtoVirgen; + TDBNavigator *DBNavigator1; + TBitBtn *Lock; + TBitBtn *Unlock; + TTable *TbHerm; + TStringField *TbHermApellidos; + TAutoIncField *TbHermidHerm; + TBooleanField *TbHermBorrado; + TDateField *TbHermFechaBorrado; + TBooleanField *TbHermHnoHna; + TIntegerField *TbHermNumHno; + TStringField *TbHermNombre; + TStringField *TbHermApellido1; + TStringField *TbHermApellido2; + TStringField *TbHermDNI; + TStringField *TbHermDireccion; + TStringField *TbHermNum; + TStringField *TbHermPiso; + TIntegerField *TbHermCodPostal; + TStringField *TbHermPoblacion; + TStringField *TbHermProvincia; + TStringField *TbHermTelefono1; + TStringField *TbHermTelefono2; + TStringField *TbHermemail; + TDateField *TbHermFechaNacimiento; + TDateField *TbHermAntiguedad; + TIntegerField *TbHermidInsignia; + TIntegerField *TbHermNumTunica; + TMemoField *TbHermComentario; + TIntegerField *TbHermidHermCF; + TBooleanField *TbHermCuotaFamiliar; + TBooleanField *TbHermRecibeNotificaciones; + TBooleanField *TbHermPuedeVotar; + TBooleanField *TbHermTunicaHermandad; + TBooleanField *TbHermRealizoPenitencia; + TBooleanField *TbHermCristoVirgen; + TBooleanField *TbHermReserva; + TBooleanField *TbHermFA2; + TStringField *TbHermDireccion_Compl; + TDBLookupComboBox *DBLookupComboBox1; + TDBCheckBox *DBCheckBox3; + TDBCheckBox *DBCheckBox2; + TDBCheckBox *DBCheckBox1; + TDBCheckBox *DBCheckBox4; + TDBCheckBox *DBCheckBox5; + TDBEdit *NTunica; + TDBCheckBox *DBCheckBox6; + TGroupBox *BeneficiariosCF; + TDBGrid *DBGrid3; + TSpeedButton *SpeedButton3; + TDBText *DatosTitularCF; + TDataSource *DsCuotasFam; + TTable *TbCuotaFam; + TBitBtn *AsignandoTitular; + TStringField *TbHermDatosTitularCuotaFam; + TDataSource *DsBusqHnos; + TTable *TbBusqHnos; + TAutoIncField *TbBusqHnosidHerm; + TBooleanField *TbBusqHnosBorrado; + TDateField *TbBusqHnosFechaBorrado; + TBooleanField *TbBusqHnosHnoHna; + TIntegerField *TbBusqHnosNumHno; + TStringField *TbBusqHnosNombre; + TStringField *TbBusqHnosApellido1; + TStringField *TbBusqHnosApellido2; + TStringField *TbBusqHnosDNI; + TStringField *TbBusqHnosDireccion; + TStringField *TbBusqHnosNum; + TStringField *TbBusqHnosPiso; + TIntegerField *TbBusqHnosCodPostal; + TStringField *TbBusqHnosPoblacion; + TStringField *TbBusqHnosProvincia; + TStringField *TbBusqHnosTelefono1; + TStringField *TbBusqHnosTelefono2; + TStringField *TbBusqHnosemail; + TDateField *TbBusqHnosFechaNacimiento; + TDateField *TbBusqHnosAntiguedad; + TIntegerField *TbBusqHnosidInsignia; + TIntegerField *TbBusqHnosNumTunica; + TMemoField *TbBusqHnosComentario; + TIntegerField *TbBusqHnosidHermCF; + TBooleanField *TbBusqHnosCuotaFamiliar; + TBooleanField *TbBusqHnosRecibeNotificaciones; + TBooleanField *TbBusqHnosPuedeVotar; + TBooleanField *TbBusqHnosTunicaHermandad; + TBooleanField *TbBusqHnosRealizoPenitencia; + TBooleanField *TbBusqHnosCristoVirgen; + TBooleanField *TbBusqHnosReserva; + TBooleanField *TbBusqHnosFA2; + TStringField *TbBusqHnosApellidos; + TStringField *TbBusqHnosDireccion_Compl; + void __fastcall TbHermBeforeOpen(TDataSet *DataSet); + void __fastcall TbInsigniasCtoBeforeOpen(TDataSet *DataSet); + void __fastcall SpeedButton1Click(TObject *Sender); + void __fastcall TbHermCalcFields(TDataSet *DataSet); + void __fastcall SelIndexChange(TObject *Sender); + void __fastcall BuscadorKeyUp(TObject *Sender, WORD &Key, + TShiftState Shift); + void __fastcall DsHermDataChange(TObject *Sender, TField *Field); + void __fastcall CtoVirgenClick(TObject *Sender); + void __fastcall LockClick(TObject *Sender); + void __fastcall UnLockClick(TObject *Sender); + void __fastcall DBGrid1DblClick(TObject *Sender); + void __fastcall SpeedButton3Click(TObject *Sender); + void __fastcall AsignandoTitularClick(TObject *Sender); + void __fastcall TbHermNewRecord(TDataSet *DataSet); + void __fastcall PageControl1Change(TObject *Sender); + void __fastcall TbBusqHnosCalcFields(TDataSet *DataSet); + void __fastcall TbHermBeforeDelete(TDataSet *DataSet); + void __fastcall TbHermBeforeInsert(TDataSet *DataSet); + void __fastcall DBNavigator1Click(TObject *Sender, + TNavigateBtn Button); +private: // User declarations + int UltimoHno; +public: // User declarations + bool TbHermUPDATING; + __fastcall TGestionHnos(TComponent* Owner); +}; +//--------------------------------------------------------------------------- +extern PACKAGE TGestionHnos *GestionHnos; +//--------------------------------------------------------------------------- +#endif diff --git a/ListInit.cpp b/ListInit.cpp new file mode 100644 index 0000000..0277c76 --- /dev/null +++ b/ListInit.cpp @@ -0,0 +1,22 @@ +//--------------------------------------------------------------------------- + +#include +#pragma hdrstop + +#include "ListInit.h" +//--------------------------------------------------------------------------- +#pragma package(smart_init) +#pragma resource "*.dfm" +TAcercaDe *AcercaDe; +//--------------------------------------------------------------------------- +__fastcall TAcercaDe::TAcercaDe(TComponent* Owner) + : TForm(Owner) +{ +} +//--------------------------------------------------------------------------- +void __fastcall TAcercaDe::Timer1Timer(TObject *Sender) +{ + Close(); +} +//--------------------------------------------------------------------------- + diff --git a/ListInit.dfm b/ListInit.dfm new file mode 100644 index 0000000..45e65ca --- /dev/null +++ b/ListInit.dfm @@ -0,0 +1,985 @@ +object AcercaDe: TAcercaDe + Left = 408 + Top = 272 + BorderIcons = [] + BorderStyle = bsDialog + ClientHeight = 127 + ClientWidth = 359 + Color = clWhite + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -11 + Font.Name = 'MS Sans Serif' + Font.Style = [] + FormStyle = fsStayOnTop + OldCreateOrder = False + Position = poScreenCenter + PixelsPerInch = 96 + TextHeight = 13 + object Image1: TImage + Left = 112 + Top = 8 + Width = 153 + Height = 57 + Picture.Data = { + 0A544A504547496D6167650E600000FFD8FFE000104A46494600010101004800 + 480000FFDB0043000503040404030504040405050506070C08070707070F0B0B + 090C110F1212110F111113161C1713141A1511111821181A1D1D1F1F1F131722 + 24221E241C1E1F1EFFDB0043010505050706070E08080E1E1411141E1E1E1E1E + 1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E + 1E1E1E1E1E1E1E1E1E1E1E1E1EFFC00011080105028003012200021101031101 + FFC4001D000100020301010101000000000000000000060704050803010209FF + C400511000010303020304070702020509050900010002030405110621071231 + 13224151081452617191A115324281C1D1F016B1236217728292E12425334355 + 7493A2F126376373D2273435364553B2B3C2FFC4001A01010002030100000000 + 0000000000000000020301040506FFC400331100020201020502040504030101 + 00000000010203110421051213315115412261719114325281B12333A1D142C1 + E124F1FFDA000C03010002110311003F00ECB444401111004444011110044440 + 111100444401111004444011110044440117C7B9AC69739C1A07524AADB89BC5 + FD37A3E96561AA64F58D0796261C9CFE9D56545BEC61C947764FEE971A3B652B + EA6B676431B0124B9C06CB9C78C3E90CDA7964B56921DBCE0969946E3F2F3553 + EADD7DAD789372920A79268285EEC363612063F5524D05C2F868F96AEEA39A43 + BE1DB92AD8C37C259657994FB6C8F2B56BEE2A56D29A86C8E23AFDD1FB29A7A3 + CF11B54DEF5FCF68BE5407C6C6F4C01BE47B96EEB4D2DAEC152218638D8C8CE3 + 6EAAA0E02DDFFF00B5BACA868C03CD93F985BD451276F4A6B7C127B23B7D92B5 + DE2BF6A3764B97AC01DE52189D96AD1BA9753C3249E4FDA22C1BCDDA82D146FA + AAFA86431B064971C6CA932672F2A9A9A7A6617CF332368F173B0B9CB893E923 + 4B492BE874C406A6507979FC33FCCAA92EBAAF89BADA42D7544F041267BACC81 + 82AC55FEA7821CF9EC76857EAFD39454EE9EA2ED4CD8DBD4F3745A7FF4A7A1BF + EDDA6FFC46FEEB93EDBC2BD415B48456DCE66876E439F8CADC5BF8394822E5A9 + B83C387938EEAF8550976527F433B9D31FE94F437FDBB4DFF88DFDD0714F4312 + 07DBB4BBFF00F11BFBAE70FF0043B6BFFB465FF78AC2B9F06E9DED0CA5B83F3E + 65E42B1E9E0BBC646773ADE935569EAA85934376A6731E32D3CFD56CE9EB296A + 1A1D0D444F07A61C171157709F50D34019457599C474E57F458B0C3C53D3B235 + D4774AB74710C005C48F97455BAE9ED96BEA86E77722E2AB2F1C78976191B1DC + A94D5339B2ECB77C7E4A7FA5BD2868A7ABF57BE5AE4A6F0E603207F658FC367F + 249331CD8EE74B22E4DD67E91F7CA8D426974A52892986C1C41CBBEAB5959C7A + E2551C5DB4B6D01A37DDAEFDD41519EF2482927BA3B15150DC15F481B5EAB70B + 6DF4B282E00868E6380F3EECABD609E39A36C91BC39AE19041EAA16552AFB994 + F27A2222ACC84444011110044440111100444401111004444011110044440111 + 1004444011110044440111100444401111004444011110044440111100444401 + 11100444401111004444011179D44F153C46599ED631A3249407A2D3EA6D4B68 + D3D412565CAAE28991824E5CAAEE2FF1D2C9A5E0928ED72B2B2B8820061C869E + 9BE1734D7D76B4E25DD9D356CF38A77BBBACC9E503DC158A18DE456E79DA258F + C54F482B95DE69ED1A4E37B63396F6C3A9F879280E93D0378D4B5C6E37B9657F + 39E671792AC0D0DC38B7D9636CB58C124C37C7EEA7D1C6C8D8191B1AC60E8D68 + C05BDA7D1597F6DA21431BCB7669B4E69AB658E06C74B0B5CF03EF91FD96EFC7 + 27AA215DED3E96BD3AF85126F244B8B15C68347543C1FBF90AB2F476A771AAAD + B99EAF7E013FCF7ADEFA46DD7B0B4C544C761CE1E1EF593C0DB7BA9F4CD317B4 + 074879B3EE547098ABB5565AFB22BB5E160E85D18F739ADCA9FD37DC1F0507D1 + B062369C29CC386C793B00172B8A34ED78270EC6BB55DFE834E59E6B95C266C5 + 144D2492B8B38AFC45BE712751BADF6C9258ADED7E1AD69EA3CCFF003F7533F4 + ADD5F5B75D44CD2946E3D931C0481BE2EF2FCB2BE70B34552DA6DB15654440CC + E19008F1F35A3545C9A8C56ECC38F3BDFB1AFD05C30A3A285955726F3BDDBE0E + E4AB268E8E9A92311D340C89A3C86EB2117A1D370DAEA5CD3DD92CF83E2FCC92 + 471B0BE47B2368F171C2D2EAED4947A7E89D34CF6997196B495485E3575FF545 + CCC3406511B8E07295AFA9E27C8F9294671E4BB2E3AC74FD087096B9A5EDEAD0 + 56A8713B4C6E44921C752157B63D04F96A44D76AA79CEE5ADEF1FD94A21D0F60 + 113A36D3543B9875E703F42B35E978ADCB992697CF0883B208925BF889A6AA9F + 8F5B1181E2E5BAA3D4763AF1CB15642E1EF3D557553C37B4CB116412D4439DF2 + 5808FEEB4959C35BC529325AEB9B26370D0FE53F238545D4710ABFB90CAFA27F + C05645FB9744D6BB456B497D3412F30EA00FD145EF5C34D3F5FCCE6C22379E98 + 1B05568B96B5D333E2A1B501AD3F8C1FEEA53A738B81CF10DD62C11B1763F55A + 2ADAA5B590C7D0B090E98E1BDB6CF5DEB2E0C7B4741D4952BB9DAA82E14869E7 + A58C348C021BB858F65D456ABC303E92A99CC7F0B8ADB104750BA7A4D2E92C8B + 49E5BFB98794503C46E1954D0541B8DA0B9AE69E60F629670238E573B2DD63D3 + 9AC2571872191CEF3D3E27F5FF00D45A12319244E8A4607B1C305A5533C5BE1C + 89C3AE16D610E079816F507F9FCF3D6BA99E95F2CB783318C9DA16BB8D3D7D33 + 2A29E46C91BC64105670395C29C31E336A7E1F98ED57B824AAA18C8682ECE5A1 + 75870E3897A73595BE39A82B6313380E688B87303F05A9669F6E686E827E49DA + 2F8D7070C82BEAD5241111004444011110044440111100444401111004444011 + 1100444401111004444011110044440111100444401111004444011110044440 + 1111004444011110045E3575305242E9AA256C6C68C92E38542F18BD202DD641 + 25B74E96D5D674E669CB47CBAA9462E5D88CA4A3DCB735AEB3B1E94B73EAEE75 + 91C7CA36693B92B93F8A5C6BD43AD2B24B569D6C94F46E25A5CDEAE0A272C1AC + 788D7615775967746F3B34F403E0AD8D17A0ED962818E9626C9301D31B7E6AEA + AB72972D6B2C86253EFB2203A2785F535EF6DC2F1239C49E625FBAB86CD69A2B + 4D3B61A385ACC0C176372B380000000007403A05F57734BC3230F8ADDD93D96C + 8227C162B6E3402A042E9839F9C72B7CD6E5FABAA85F131832900C90078AFD4D + CBDA1E4180BC2B2514F473CEEE91C64ACDB72543B3E431B9CEBC70AC7DD35A43 + 6F61FF00AD0DC7E6AECE1FD00A6A1A4A76B400C60185425339D7CE2B8772F68C + 8E42495D37A3A9B323303A2708874B472B1FB94D9BCB059FA5A0E585BB782DED + DA614D69A898B83792373B246DB027F4587628B9206FC162F125A4E87BA38388 + 7329DC463CF18FD5798D54F9ED65CBB1C7D65826D4BC53AAABA8EFB44C5D93D3 + AABB406B406B061AD1803DCAAAE0951491DD2E754F1CD8791956B0E8BA5C1EA4 + DCAC61EC82F1AC9DB4D4B2D43FEEC6D2E2BD94538AB5EFB768EA999BF8B65D1E + 216BAE86D0451DADEFF51AA357FD9EC739CD2FC6C76EAACED25A6E9ADB491C71 + C40BF00B9D8DC955DF04ED7EBD74AABC4ECE63CD8692BA134E5A8CCF6F755FC2 + 741569AA5A9B165FB7FB289C9C9E118F6BB2BE6C7754A6DFA60B80CB3E8A5760 + B231AC692C0A514D411B1A3BA16BEB78D4B9B11251AC80374B3797EE7D178546 + 96DB667D159E29983C02FCBE9233F842E62E316A7DC9F4D14ED7E9A73A2746F8 + 9B2467AB1ED0E1F22ABED57C2BB45C5AF74303A8273F8A31961FCBA85D353DB6 + 378FBA16AABAC51BC1EE056CB5B46A76BA39F9FB91E46BB1C5378D1FAB748CC6 + A29BB4969C1DA488F337C3E4B7BA4B8AB554AE6D2DDD84B46C4B974ADCB4E603 + B95BB1EA08C83F10AAFD71C2AB3DD83DEC83D46A4F49236F74F4EA3F65AB3D03 + FCDA7967F924A78FCC67D93515AAF1135F4952C0E3F81C56D5CD0410E6820F50 + 46C573B5FB4A6AAD1551DBC7DA3A9C1EECB192587F6531E1DF124D43D96FBAEC + EE9927759AF884E1FD3BD657F926B0F744B357686B4DF607010B22948F2D8AA5 + AF9A4F52E86BA8B8D9279E2313B98729382BA5237B248DB246F0F63865AE1E2B + CAB2929EAE23154C4D9587C08E8B627A1CAEAE99FEC3EA453845E91ED2F82CFA + BE2304FB37B73D0FC7F9F25D2F65BC505DE8D95543531CF13C021CD702B90388 + 7C2BA6AF8DF556D680E1BE1A30428768BD7BACF85B756432C93545BC3B0E8DE4 + 90067C3C9684946C7CB25CB231BA3FA0237455EF0B389F60D716D8E5A2AA60A8 + 0D1DA44E3820AB01AE0E19056AD95CA0F0CCA793F4888AB32111100444401111 + 0044440111100444401111004444011110044440111100444401111004444011 + 1100444401111004444011110044440144F5EEBDB0E90B7C95371AC8C3C03CAC + E61971F70516E3AF15683445A64A78646C97195A447183D3DE7DCB942968F547 + 122F2EAEB9544F246F764024E3195628A4B322B726DE2249F899C60D4FAF2BA4 + B6D8FB5A7A124B7BA482E1EF5F740F0BDCF736E17825CE279B2FDC953AD1FA22 + D7618184C4C92603CB6054B3F985D1D3682CBF796D10A2A3BBEE635BA8696DF4 + E20A485B1B00EA06E564A2FC4B2471466495ED631BB9712BB91853A587844B76 + 7ED6BEF378B7DA61749593B5A40C86677506D7FC4DA0B3C2F868A4064E9CDE2A + 9AABB8EA8D6F5BCB036510B9DBBF7C61732CD75BA897250B6F261B51EE4E75DF + 195913DD4944F0C19C774ACAE0E5CEA750DD995321716039CFB9575AE386B05A + B4FC75F2D539D54E3839F156CFA3A5A7D4EC0EA970EF16E01F35A1A8D1594DAA + 16776621629F62D7CE493E6A3BC47AF16FD255529772978C02A45E0AA9F489BA + 7AAD8A3A36BB0E73771E795D6E252E5A156BDF624BC908E06D11ACD415B747B7 + 3DE21A7F9F92EA3D154DBB0E1515C07B5FAB69D8E52C21D33B98FBD74868BA6C + 31870BA37E34FA18C3E450B79138B6C7CB105ACE237FF91EEFFF007677E8B754 + ADE5605A8E20C2FA8D15778A3FBC691F8FC867F45E324F32363B2398F833347F + F3B339817194E1586A9FE094820D4770A599FDE7B8E067C7757005DEE0D2F825 + 1F998614278D8D73F424AD68C9E62A6CB4DACE845C34D5653F2E5DC9CC16CF13 + 8B7A778F608AAFD1F67654DA24A6E46B5F1C9838EA574AE8EA06F2B096AE41E1 + 1DD7FA6B8872DB2ABB91543F9413E795DA5A35CC740C208390A776AFA9A28F2F + B1528E244C28A16B231B2CA5F887EE05FB5E524DB7B97844451017C7341F05F5 + 1018D35331E37016AABED11CA0F742DF2F85A0ABABBA507B330D64ADEF5A6A39 + 629237C2C92378C3D8E6E4382E6EE31F0CAA6C133AF9668DFEA9CD97B5BD623F + B2ED29E998F072028FDEEC74D554F2C1510B6586561648C236734ADA9DF1D4C7 + 13EFECC872B8EE8E57E106B5337FCD9719771B0C9F1F356D0DF18DF3D150FC62 + D1959C3ED622A2939BD4E5776903C0D8B73D15ABC33BEB2FB6289EE7E6563403 + BA9F0FD54A99F23ECFF927B359248F6BA3761C30546758E91B76A0A678922636 + 623638D8A90DE2E51D1B982A1A4870D8AF94D34551089A1707B0F8F92DBEA53A + DF82C5890EC7345DEC9A978777AFB4ACD34D072BF98B5A4E08CAE95E0571D6DB + AA6386D17570A6B9B5A010E380F3EEFE7EEB1EF369A2BB533A0AC883C1180EC6 + E173FF0011B43DC74EDD85D6CC5F1BE3773B1D1ECB52C84A97D3BBB7B3318F74 + 7F402199B234169041F15EAB96F80BC7AF5C9E0D39A9FF00C0AA003192BB60F3 + D3F9FC0BA6E8AAA3A889B246F0E6B86410569DD4386EBB194F264A222A0C8444 + 4011110044440111100444401111004444011110044440111100444401111004 + 444011110044440111100444401111005A5D6B7B834FE9DAAB94EE0D6C519775 + F2FE63F35BA5467A5B5F8D169165B6291C1D51261E33B600CFEAB28C339DAA0D + 7F1235F4D5D55CCF88C9B0F003C95E7A7ACD4B65A16535331A1C061CE0144782 + D65650D84573D804B2F4DBCD582BB1C3348AC7D59F65D8C6147B0445ACD4578A + 6B3503AAAA5C06DDD07C5767517C6887348C2593DEEB70A5B751BEA6AA46B5AD + 19033B9542F12B89D555F3BA82DBCD9CE0062D2EB7D6776D4F797505B1CF7071 + C777A0526E1C70F85BCFAEDD1A26A97EE01DF0B97A7D35FC4ECCBDA3FE1119D8 + A3B223BA434057DEA66DC6F8F70638F3061572E9ED3F4F450B20A4A76C6D03C0 + 2DD59ED0E90B5AD660780014EEC3A776697317A45F86E1B0C43BF928C396ECE7 + 6E3AFF0082EA0B5B4F7DFDE23E27656470E6805BF4952C41BCA5E3242AD389B2 + 8BE7184D24597C504A1807B82BA28A21051C3037A47180BCCD737AAD73B1FD49 + E99620DF93DB6C8CAE74E3D5C0DCF55434109E60640D0D5D07729C5350544E71 + DC8C95CCB6E89DA8B8A5CCE25CC8A4E6F9157EA13BF590A97B1749E225F3C39B + 73696D9474ED6E031836579694A7E585BB782AC746D2F7D800D8602B86C30F24 + 2DF82DBE3B6A5F02F62AA91B88C61ABCEBE0153453D33BA4B1B987F3185EC3A2 + F8EE8BC91B0707BDD3692E2BD553CE4C78A87348E9E2AF7A79995103278CE592 + 3438285FA60E8F928EF34FAB28A3223A8DA523C1E162F07F53C774B4B28267FF + 008D18DB3E7E4B7743A8E85D97D9985BA2C25F1C1AE05AE19691823DCBEA2F53 + 38AB22D3ECC89CE9C6ED35516ABE36ED40C702C773B5CDF9ABD7D1C788506A5B + 3474F3BDACAC80063D84EE5354D920BE5AE4A5918D3260F213FD9738D4B2EBC3 + 4D6B1DCA90C8C89B266468E8467A2F3F0E6D3CDD13ECFB092CEE8FE88514A1F1 + 839594AB4E11EBEB5EAEB1C1554950C327280F613B83E2AC889E1CD5CFBEA75C + 892793F6888A8321111004444017E258C39BD17ED13B02B7E3568C8755E8AABA + 4ECC1AAA7699A9CE37C81B85CAFC23BBCF63D52FB5CE4B5BCE5B82BBAE6603BE + 32B8B78F9613A578B0EA8A6672433CA26663C9C72A7279DC8AD9E0B335E523AA + EC8E9E2DDD18E6DBC954D60D7935A6EBEA933FFC22EE570276572DB24159A7A1 + 0F21E658403F25CA9C54B65C29F564B0D132471E627B815BA84D353F2B248EA8 + B4D7D35C68D9534CF0E6386E33D17AD651D35642E86AA26C8C70F11D173D70C3 + 59DC2C753151DC0BF94F75C1DE1EE2BA1682AA2ACA38EA6170731E33B787B975 + 349A98EA63D1BBF630FE4507C61D0725AAA45D2DA0B5CD3CEC7315BDE8D5C638 + 6E9490E9BBD4BD9D7C23918E79FBE07EBFCF86EAE96FA7B9523E96A581CC70D8 + 9F05CE7C48D355DA475132F16A0E63A17F38737C77CAD79D6F4D3E959F95F666 + 1ACEE8FE82D2CED9580839C8590A94F47CE2543AC34E45DB4AD15B080D9599DF + E2AE5A7943DA082B4EFA1D6FE4653C9EC888B5CC844440111100444401111004 + 4440111100444401111004444011110044440111100444401111004444011110 + 04444017387A5F6277DAA178CB435C7FF39FD9747AE6FF004B6FFEF76BFF00E5 + BBFF00EC7292ECCC3EE8F7D2D4ECA6D3D45147D3B3056CD60D87FF00C128BFF9 + 41672F59A04969E3830FB9E7512C7042F9A5388D832E2B9CB8C7ACAA6F17436B + A2717F33B95A1BE0ADCE30DE0DA74ABF94F2BA5CEEA9AE1069F75DEEB2DF2B5A + 5C03BB995A1D29EBF59D35D9119CB9512DE17E8D86D9431D5CF17355CA32491B + 856DD8AD0E99CDEEAF3D3F6B32BDB86ECACFD37656B1AD25ABD16AB535E86AE9 + D65108659E3A7AC2D635A4B16FAFAF82C9A66BAE1261A2081CECFBF0B75494CD + 8D8000AAFF004A2BDFD93C389E9DA795D52E0C041F9AF1B7EAE77CF765B62518 + 339CB86B13AF9C44ABB9CB9701297737E6AF2CE493E6AB1E02DACC16896E2E1D + E97C7CF2ACDF05D0E110DA5632515CB1488BF142E02DFA46A5F9C178202A7F81 + 3426AAE95B737B739760152BF48DBA761698A89AEC39C3C3C72BD781F6BF55D3 + 7038B70E94F313E6B6F8447ADAC9DCFB2236BDB05DFA2A97769C2B4EDB1F2C4D + 559515D6DBA72D2EB8DCE76430C632492A07A87D272DD4B51EAF63B73EAC0382 + EF03F0EAB4F8A395D6BC0834B63A59172D8F498BC1191A79FF00CFF657E65F49 + BBB44C2F769F7803F9ECAE57E165E57DCB798E84D7BA768F5469BABB2D6B4164 + CC3C8EF61FE0570E5CE8EEBC39D7135254C6F67652907C88CEC55F5A77D2774F + 56F24378A3968E476C4E361FCF82FD71529B48F156C3EB766AEA67DD616E6378 + 7005E3C1AEF7ACCB4B663B648F3619E3A46F905FAD6CAA89C3B4C779BFAADCAE + 6FD337CBA68ABE9A2AB0F8D8C7F2B9AEF0DD5F9A7EF94379A364F4D2B79C8CB9 + 995D1E1DAF515D3B1FD19268DA289EBED234DA928DE0C6DF58C6C71F794B1175 + 355A58EA6387DFD9984F072FB46A8E17DFDB596E9A56C2D7E5F1EFCA47C175B7 + 05B8C364D6741140EA86C35ED68ED2279C1CA886A7D3B417FA6747551B7B4C6C + EC75F8AA135768ABE690BA9BA59649607B1DCCD31923FB2E14D4AB7D2BD7D18C + 7BA3FA0F148D7B410410BF6B94B83BE916D8CD3D9757466198619DB9E87E3FCF + 92E9CB25E282EF46CAAA1A98E789E321CD702B52DA250DD6E8CA793628837454 + 190888802222004642E67F4CC641DBDA9F196FAD76783E78C95D29553329E9DF + 348406B064E4AE2BE34EA476B4E288A4A677690D3BC46D70E9869595D8C3EE8B + 1F4273FF004C517699E6E5F1550F179DEABC48A4EC4728748D0E03C77578DAA0 + 34F6EA5A7C00591805501C58AF655F13292303BCD99A081F15D8AE2B34465F33 + 12ECCDCF10B497AEDBC5EADD1E2A18D0E9D8D18C8F687EABF5C21D66FA5A9FB2 + EE32120F74655B7A6285B341182D0E0580107A118E8A9DE34E8C9B486A18AED6 + F63851D41ED187D93E2D56F1BD1C34FA87655B27FE195D5278C32F2690E6820E + 411907CC2D2EB2B1C17CB3CB4EF6032069E53E7EE5ABE186A26DF2C4C6BDC3B5 + 88631EE52F071B85743975FA6C3FCCBF92CECCE66D1F75AFE1B7122225EE8E8E + 5939646E76C65773E92BC4571B7C35113C399234105723FA4369D6181B748198 + 3F7B6F02ACEF464D55F69690A7A7924CC94FFE191F0E8B4A983BAA9425DE261E + CCE908DDCCD5FA5836E9C49103959CB9538F2BC130888A202222008888022220 + 0888802222008888022220088880222200888802222008888022220088880222 + 200888802E6BF4CB8AA218AD558C04478734BBC3EF13FA85D28A15C64D1B16B6 + D1B536BD854B01929C9F6BCBF3595E0C3F2523C30BE4175D39047DA03346DE99 + DC852D5CDD62AFB9683D52FA3AD6491767272B9AEDB1BABFB4FDEA8EF542CA9A + 691BCC4779995D9E1BAD50FE94FB7B06B24338F96F9EE1A59BD8B490C041506F + 47EBC42F6C964A92D64D1BBBA0ED957A5D68A3B8DBE6A39402D91B819F02B9A7 + 5EE95BB692D41F6B5BB9E3746FE6CB7C55B56A25A1D5B97B488CE3CC8EC4D1F6 + D696B1D85635BE9DB1C6301501E8F1C53B6EA4A08E8ABA5653DC6201AE638E39 + BDE3F9FF001E85A491AF8C1690410B5B89DB2B279F6310583DC6CB94BD302F52 + 565FE82C50BB61DE700739C9DBE817535C276D3514D3B8E03184E7C970F6A3AE + 9758F19279DA79A264F86E3A000E02E64764D91B776A25ABA0E845BF4B5241CB + CAE73798ADE8DC80BF313045132268C0634342F0B9D4B692DF5150E380C8CE3E + 2BD255FF00CFA3CFCBF92CF739E78E15CEBAEB48682339CCA063F3570E946416 + 7B1C2E94B638E188139D80C0546DA1A6FF00C53327DF644F2EDD4FB8BD7A7D0D + A22B4D392D927C671E5E0A7A0B168F87CAE7DDEC8A6CDE58445F5F6ABBCEBCBE + 7D95465ECA18DD80D6F43EF3FCFD5585A0386D6CA0A18E6B8421D2119E52372B + 1F831A4A3A4A0173AB8C39EEDC64752ACF0B97A5D34B592E7B3F2FF25918A823 + 05966B4B1818DB7C181E6D5E75560B354C7D9CB6F8797FCA30B668BAEF87E9F1 + 8E5259657FA8785962B935C606089E7A0230AB6B9681D4DA5EB8D5D9A79D8D6E + FDD27185D12BE100B4B5C039A7A8232169DBC2DC77A65FB3194FB9C8FAE6EB76 + AC1DA5CE377ACC6305E5BB9C6562F0FF005E56D96E2CED6577640F9F45D39A9F + 44592F70BF9A0645211E5B1543EBBE13575BA77CD4711ECF39C01B15C4BA9B2A + 9626B7248BDB466B4B6EA1A56112B19311E27EF294AE34B5565DB4ED53407491 + 969FBA7A2B9F41715592B23A3B96FE1971DC2DDD27129D3F0CF7461AC9722F0A + CA5A7AC88C555136561F03E0BCADD71A2B842D9292A19202338CEEB317714A8D + 5C31DCC6E8A9B885C2BA6AF63EA6DAD01FD4068C10A17A7355710786756194F3 + 4D351B0EF13F2461746AD7DDECF6EBA4463ACA663891F780DD732DD05B4EF53C + AF036664F0CBD23B4EDF1ACA5BD9FB3EAFA1E73DD27E2AECB3DEED776A76CF41 + 5B0CEC70C82D78395C7DAAB83D4953CF3DB5C0487A01B10A274B41C46D133836 + AAEAA11B0E43398907F25A128D72789AE5637477F22E36B0FA44EB7B339B15EE + D86A18C18270413FCF829FD07A51584D3C66B6DB3C4F23BDB74FAA87E15BFCAD + 31CC7452F3A89A2A788CB33DAC6346492B9E6F1E941626C120B6514D34A3EEF7 + 763FCF82AAF58717B5E6B689F45430CB4B4F2641E407241F7AADD2E3F9B630E7 + E0B27D22B8D4CA6649A734D4C24A87E59248C39E5F70F7FF003E15D70674C54C + B5C6F3728C971EF65CBC387FC34A99AA5B72BC17176724BD5CF4B053D152B618 + 58D8E260FE12AFA28EABCF68AEEC4535BB3C6F35B1DBEDD3D5C8400C69C7C573 + 55B263A878AAD9437B4647264953CE376B363299D6CA194389DB63D4AD370334 + EC9031F76AB61134C7BB9F25D4E1D17ABD6A925F0AFE111B1E160E86D19103C8 + 31B05BFE236908755687ADB6BA30E9DB19969CE370F03A0F88581A269CE5A70A + CCA38F1134E3A2CF19B336344611D8E1CE15564D60D60FB6D492D05E5A5A55FB + B781C8F055071FEC674B7161D554EDE4867904CCF81569D96715369A59F9B98B + A3193EF5A7C26CE5B9C3C977746A78876C6DCF4B55445A09634B82ADBD19A696 + 82FF0071A4ED0F661DD3C3C55BB7F71165AC1E71154BF031E59ABAE7FEB7EA57 + 4B4D4AFC7C97945763D8EC6D3555DA42DDFC1495872D502D1B39746CDD4EA039 + 605C5D7D7C96B2707947A2222D12411110044440111100444401111004444011 + 11004444011110044440111100444401111004444011110044440179CCDCB765 + E88770B29E014A71D385947AC607D751B63A7BBB07DEE826F71F22B9829AB2FF + 00A12FA68EB59345D93F0E63BC177ED7D28958410AB0E26E80B56A7A37C55F4E + 04C1B88EA1A3BEDF8F985B0AA56ACC7B90CB8FD0AF7466B3B75FE9DB99191CD8 + C104F52B71A92CB497AB73E0A8602797BAEC2A2F58687D4BA12E06A600F92979 + B2C9A304B5C3DFE4A49A1B8A4476745751BF4CB8AB23A87CBD2B9657F944BBAC + A221AC787D77D3B70FB52CD24B139AEE66BA338560F09FD226BECBD95A75840F + 735A437B7C741EF5635254DB6F7420B0C7346E1BB4EEA17ACB86169BB44F929D + 8D8DE467042B173463B7C513182CDE25F15B4ECFC2FAAAFB55C62925A88F9236 + 87778123FBEEA8AE03DB1D535D537899B9249702541EF9C3BBCD0D5FAB36594C + 00E437C15EDC35B48B4E978632DE57BF73E6AAAA0AEB6308ADB246317CDCCC93 + 288F166E22DFA3E73CD83203B7B94B8AA63D23EF019491DB98EC3B007E657678 + A4B15C6B5EEC92341C03B67ACD6D5DD1C399EF7F2B49595A85B2DFB890DA5239 + A38E4E503C3014A782F6CF54D2909C61CF8DD267F2256B78634124DC40ABA894 + 7386127EA5438C2E9D34D2BC67EE535ACCDB2DEA0A6651D1434B18C363681F9F + 8AF62E68FBCE6B7E270B0EFB718AD36F96B66C6183201F12B9F2FF00AFEEB79D + 46EA7B6C9213CD801B955CF56F4C95352CB5DCB9E3BB3A437C671B1F108B9FA2 + D59ACACB3345576C5ADF07B4852DB0F16A9E57361B9C018E3B737458AF8C6F8B + 23F63382D445ADB55EED97289AFA5AB8C93F849DD6C57529D55572F8191C1F57 + E64632461648C6BD87AB5C3217E915B6570B1624B20826B0E1BDAEF4D7CB031B + 1CA77E5548EABD0F76B25438C70C858D3D42EA958F5B494D5B0986AA16C8D231 + B8DC2E26A784B5F155F62499C9D63D6378B0D4868964C34EE09570E8CE2DD0D6 + B590DC480EE99270535CF09E8EB6392A6DE073F5C0EA1515A9F49DEECB50F3D8 + C9CA0F56EC5723E3A65E1993AFAD977B6DC981D47571BF3E04E0ACF391D42E2A + D3BAAAF96DA86C6CA89001E055B1A7B8A17DA48DBDBB7B767BD7469E2D6C369A + C98C17E2F8F6B5E30F6B5E3C9C32AB7B57166D93605753BA23F88818523A3D77 + A66A62ED3D7C47E41C42DDF51D2DAB1621866CEB74FD9AB4FF00CA2DF13BE030 + B4B70E1EE9AAC76F4618DF2016E28751596AF262B8C38F325644D77B4C51979B + 953903C8AAE51E1F2DF381B91CA1E1CE99A4979DB4BCC3C410A454166B5D00C5 + 2D144CC742464AD5556B6D394F1973AE0D716F5682A2B7BE2CD0C20B2DB0195D + E0719544ACD0D7F963CCC6E59355510D24266A891B1B1BE27F4554F123899043 + 4F250DB4F338ED969DCA895DAFBAAF54D418A164AD63BCB2B67A5B40B187B6BA + 8334B9CF29DC6546B8EA7884FA75476F9765F5312928F722DA674A57EA6BA32E + B5CF78843B3DEF157E698B608DB1451B30D68006CBC2C566644C64504418C1D0 + 00AC6D2F6420B496FD17A8AEAAB8651CB9CC9F766BEF37937DA4A83B38DA4853 + 68598600B06D548218C0C2D98D82F1BACBFAB36CD88AC239AFD33E9220CB4D60 + 21B2969613BE700FFC57CE1E92ED1F40F2724B3F45AAF4B9BEC371D49416581C + D7889AD071E049CADFE93A5F53D3945003B08F2ADE1C9FE2621763DEFEDCD96B + 0F9445523C1438D5B73FF5BF52ADED7D5C2DFA5AAE62EE52E6F28F7AA7380AE9 + 2A2FF71A9E53C8E775F9AEE68E6A5C45E3D960859F94EADD12EEE315894BFF00 + 461575A247758AC5A5FF00A30B93C5BFBACCD7D8F64445C92C08888022220088 + 8802222008888022220088880222200888802222008888022220088880222200 + 88880222200888801190B0AB291B2B482166A1DD4A3271794082DFEC11CF0C91 + BE16491BC10E63DA083F92A1788DC19A7AA925ACB0E29A7C97181C7BA7FD53FA + 2EAE9E06BC6085A3BA59E399A7B80ADF8DD5DCB96D5FBFB95B8B4F28E1B8AE1A + AB44DC4D355B278C46705AE055A9A3F8956DBA44C82B1E2398EC4956AEADD1D4 + 374A6753DC2899531F8730EF37E07C173DF13385559A7A927BE595F24B490905 + EDE8F8FE3EEF7A84F4F669FF00A95BCAF3FECCA9E7665CE1947571364E58A667 + 507195E843461AC686B5A3000F054EF022F974B8D53A0A995EE8D8705A55C47A + 9C745D2E1938DD27271F897B927D8FAD1970F9AE65E38D53A5D5CC92A838C0C9 + 3BD8F2CAE99DC1C8510D63A12D7A85AE73A36B263EED8ACF11AEDEA46D8ACA46 + 3BAC1AFE196A0B15C2D3C949551B7B3A7702D2704774AC0E11B9AFD5D722C707 + 0E5EA3F35566B8D1D72D13DA54524AF89AEC8C8711B2977A335666BAA05449CF + 2C84F8AD1D6EBDEAED849AC608C21CA4AFD216E4EA3D39D9424F7B390142382D + A72265BBED59E20E9E539048E8A5FE9214AF758192440B88DCAC5E035632E9A7 + 6284E39E13CA42EB70555BD4CE53EE88DD9C13982D26AE1ECE6899330FE191BC + C3EAA39A978556AB8832D335D4137B812CFDC7D55DBA6ECEC7C4D25A16F67D3F + 1B99F702B3886A34B74DAB22B3E7B3231835D8E2FBD697D5BA4A7F588448FA70 + 769233CCD3D16FF497152A298B696ECC25A36CB9748DCF4DECE0D6020F504641 + F885556B9E135AEE81F2D2C6282AB0482D1DC71C788F05C6B340D7C7A7967F92 + 6AC6BF31BCB15EEDF78A76CB493B3247DC2775B33B1C1D973A5D6C7ABB4355F3 + 72CBD803DD7B776386FD0FE4A57A478AFF00729AEECF764FEEA7A7E29654F96D + 59FE4B309F62E0458167BAD0DD6012D14ED7E7F0E7759EBB94EA2BB9660C8E02 + D75E2CD6EBA40E8EAE9D8E24639C0DD6C5162FD3577AC4D04CA3F5A708DCD7BE + B2DAD6BC75D82800ADB8699AEECAB6804B4ED3DE6B99905757FC168350E93B45 + EA2736A29D8D7BBF100B87770DB2997343E244BB951586B742EA4E48CC429273 + D5A1F8DFE054A64E1CD8EAA8C7ABD7D447E2D1D9E41FCC1510D6BC20A9A47BAA + ED65C31B82C5A5D3DAD356E8EAA14D7285F574CD3821E0E71F157D16686DF86D + AF0FE595FF00856E335D996141C37A681BCADB8FFE472FDBB87D01041B88C1FF + 00E1B96FB44712749EA291B4F34A28EA0EDCB26D92ACCA2B1D256C624A592399 + A7C5A72B7FF05C3B19C3FB91E69948D270DAD90C8E7CD5934B91D18CFDF0B674 + 5A2AC94A3FC3A274AEF390FE815C834B0F63E8BDA1D2C33F73E8A70AB8657BF2 + E7EAD986E6CACE8ECFCAD0C8A16C6D1D035B80B7D6CB048F70CB0AB068F4CB1A + 4659F45BDA1B2471E3B815B6F19AEB8F2D4B0BE46156DF722D61D3A1BCA5CC53 + 6B65BD90B077566535232303002CA6B405E6F55AE9DEF72E8C523E31A1A147F8 + 83A968F4C69BAAB8D5C81A18C3819DC9F2595AAF515B74E5AA6AFB8544713236 + 93B95C5DC57E225EB895A90DBEDE5EDB731F86B4743EF3FCFDD694639DD894B1 + B2EE62D99F59AEB88D2DD672E7B1D2970CF4EAAFA8A311C6C89836680D18512E + 18E966582D2D7C91E2A1E3CBA2DBEAFBE4161B549532387685A794797BD74B46 + D69E12BE5F44492DB0561E907A9DB0D27D9703F27EEE01EA5647016D0FA3B132 + 791A43E77736EAAFCD46B6D78D0439D035FCCECF92E92D216F6C2C8608DB86B0 + 00176781D0E319EA26516CB2F05A5A2E2C31BB29ED38C3028B695A6E485BB296 + 4630D5C1E23673DACB60B63F4888B9E4C2222008888022220088880222200888 + 80222200888802222008888022220088880222200888802222008BE39CD68CB8 + 8007892B5D537EB353BCC735C69DAE1E1CC98C83648A1F55C4CD154D50E825BD + D307B0E08E76EDF55E5FE94F43FF00DB94DFEFB7F756746CFD2FEC63289AA2D2 + 69BD5562D45CFF006457C555C9F7B91C0E3E456ED41C5C5E1A3217E5CC0E5FA4 + 58060D551324072D0A97F496AC8EC7A25F4CC20495AFC63C703FF557B120024F + 40B917D296FAFBDEBBA7B240E259072C65A0E707C55CAD928B8E484965A31B81 + 36A34F6B9AE2E6E1D2F438F3566AD5693A06DB74FD25306E0F20715B5EBB2F41 + C2EBE9D1CCFDCCB3CAA278608CC9348D8D83C5C545AF7C42B0DAF21B376D20E8 + 01504E39EA39A3B9C76DA59CB07DD3CA7AAC0D31A1E29E1655DCA67C86401DC8 + DDFEAB4BADACD6CF9285B7CBFED86E31EE69B8B5ACAAB55D13E1A7A690B46EDC + 0587E8F1592D06A7E5A86B9A5CEC00E571596C341425A69ADF09C78BDBCC7EAA + B9D7D4634BEBD8E7822EC607B9B2B1A06C03B7C7D551ADE197E8E319DAD6FE08 + C2C4DE11737126D6DBB6989E30D0E735B90A87E0CDEDDA575EC969AE7F674F3B + F039B600E574369FAE8EEB63827C8707B30E1F92A378DBA225A5AB376A2690EC + F3B4B54EBB9D3646E5DA5FC9292CA3B0F48CB1494D1BD8E0E69008214B98C6B9 + BD172AFA36716A9AAA9E2D3F7B984359080D6B9E7EFF00FC7F9F0EA2B754C73C + 2D7B1C1CD23620AAF5D06E5CEBB33113F53D2B1E37685A8B859E395A7B814857 + E64E46B4B9E4340EA4AD4AEF9C1ECC93592B4BDE9B64913E37C2D92370EF31ED + CB4FE4A9CD77C1FB7D7BA49ED6D143524E790FFD1B8EFD0F82E80D43ACB48DAE + A0D35C2EF4D14BEC978FDD46AAF5A685AB90451DEA94BDE70073B77FAAEAC65F + 888E2D87EFEE55CB8794CE4FA8A7D5DA1AB79268E7646D39077E523DC54EF48F + 1569EA7929EEADE57F4E63B1579DE74E535751F2BE08EA69E419E47B7208FD3F + 254CEB8E0DD34E5F516471A69BAF62F3DD3F03F3EAB5A7A2B2BF8E979FE492B3 + 1DC9E5B6E149718849473B65046700EEB2D7384553AB343D798AA619D8D69E8E + 07FBAB2349714682E01905C7FC397A73742B634FC5A51F86D59F993C163A2F1A + 2AAA6AC88494B332569F23BAF65DAAAFAED5983C91C0F023C0F505696F5A5ECD + 7563854D2303CFE2685BA455DFA3AAEFCCB7339293D55C1CEFBEAAD6FC386E39 + 362B4169B9F123424B8A5A89E581A73C8FDC61745AF1A9A5A7A9616D4411CA0F + B4D5CE970FBEAFED4B2BC31B320BA3FD2524A77329B53DA5CD2362F60FDFF757 + 0E99E32680BC801B738A07F948797FBAAC6F3C3ED3B72E62FA611B8F90C850CB + A705A9DCF2FB7D5F667AECEC15A96292FEED6D7D063C1D7F6FBC596B0034D5F4 + D267C9E16CE37C2E6F33246380F10E0570B8D03AE2CD23AA2DD74A960030395E + 566DAAE1C62B753C94F1D75448D778BCF31FAAD670A65DA4D7D50DD1DA55B75B + 6D1C464A8AC858D1D7BE155DC45E3AE96D3B492328AA5959558EEB63703BEFE2 + 17393B4FF12AFE1D0DC6E7565A4E795CF385B6B0F07DA1ED9AEB505EEEA798E4 + A82AE39C472C8BE77F2235A9F54EB2E27DD48924963A32EEEC6DCF281F056570 + D741535869D9355461D3E3201FEEA4DA7F4FDB2CD0865240D040FBC46EB13576 + AEB758A95EE7CCC74C06CDCABFA2ABF8AFDBE44A315133B52DE692CB42FA8A87 + B4103BADF35CE9AEF51DDF56DC8D35073B98E7E365FBD53A96EBAC2EA29E06C8 + 6271F03E0AC1D11A5A0B5533098C3A770CB9C47F3F9F4DAD2696EE2372DB115F + 6488CE6A28FCF0CF4AB2D341199616FAD3C65EE574E90B612E692D5A5D396974 + 8F69E5569E9BB60898D3CB85E83886A2BD2D2A9AFB229845B7966EAD14E2289A + 31E0B683A2F38181AD017A2F1364F9A5936504445032111472FDAF34658B985D + 7535AE9DEC3CAE8CD435CF69F7B5B923E4B2937D86091A055B5571DB84D4F14A + F9B5A513046D738E62977C0CE077373E40649F05FAD3BC72E155F5B9B76B1A37 + FF0089D99EDA2961C3B1919ED1ADC0F79DB63E454FA36633CAFEC4B95E338D8B + 1D178525652D653475349511544120E664913C39AE1E608D885EC082A0D6089F + 51116004444011110044519E216BAD35A12CEEB9EA2B8329DB83D9C40E6494F9 + 347EBD101265A6AED57A5E8657435BA92CF4B234E1CC9ABA36107DE0B9726EAF + E2F71178B371367D1B4B3592C6F7723E719CB9A73BB9DE3B676F1C74CAFCC3C0 + EB6C96D1F6CDEEBAAEE0E197BFB5380703DC7C73BECB734FA39DDBA5B186CEAF + 835A68FA899B0C1AAEC52C8F21AD632E1139CE27A0003B75BDE61E6B8A2A780D + 6EF5091D6DBCD5C15CC1CD138C848277C0C63CF1E7F02A45E8D1C51D5943AC1F + C35D56F7D5085AE14D3487BF186B4BB19F1690318F8636EB65BA0941E3063275 + B028B5B455EC980C382D831D90B4A70707864B27E91114004444011110044440 + 16B751DEA86C36B96E17099B1431B4B89270B64B973D2E756D5CD5B0699A09B2 + C7E0CA1A7AE7A0FE79ACA4624F1D8D171578F37BBE5D24B4E92E6653E7944ADE + A7C3F250DB468DD69A86A3D7ABAE3541CFDCB8BCA98F0BB4251D15BE3AFAC873 + 33B7008EAACA680D686B406B47403A2E8E934B6DFBC7E1441471BB2A0A3E0E3F + D60BEB6E2F7F3753CEBF778E155BA8692694D64DDC617025C7055B33CB1C10BE + 694E18C6F338AA1B889AD6E375BBC96CB64A48279435A7E8B3AB82D3CB92326D + FD496362C2F43798515EAEF4E65739A0E0733B3ED2EA9827120C82B917D1CECB + 76D3D57555771387541181F3FDD74FE9EA974B1B492ADD5E91AAE336BD88C65B + 92345F19F757D5C72C355AB2E705A6C1575B50FE464713893F92E2DD39DA6ADE + 274F7193BECED8BB3E1D55BDE96DADBD4EDACD3B4727F8D3FDF03AE3FE27FB28 + 6704EC0EB75A4D7CCDC4928DB3EF5642B73928AF722BB963600D8741B0F82C7B + 8D5368A827AB710046C2467CD7BF40AB5E38EA66DAACAEA38E4C3DC3BDBF8AF4 + 5AFB15142AE3DDEC1792A1B8CD26AAE24B2300BD8D932EF11D574158AD9CCC8E + 26B7668002A8381365965927BCD4B32E95DDC246EBA4747DB83DCD25ABA9C3E3 + F82D1733EECD797C5232ACBA739DA0967D142FD23F41C955A420BD51C1CD3D09 + 2C970DC9E42720FF0070AFCB4D0B1910EE859373A0A6ABA19E8EA621241330B2 + 4611D415E6F5DAE96A1B832D50C6E8E37E0A6AC6C40DAEBA6C636192AD8BAD0D + 2DD689D4F3B43D8E1B1EB854CF1B387774D05A95D70A06BDD6E95E5F0CCD1B0D + FA15BDE1971069EA606515CE4E47B76049DC2D4A2E504EBB17C2FF00C16279EC + 44B881C30AEA0AB75C6D25ED703CCD7316D7877C71D5DA2E68EDFA829E4ACA56 + 77798FDE036574433D3D54598A48E663BC8E73F92D2DE34658AEC499E918D27A + 9685B4AAB22BFA6D4A21A32AA3D2874E368C1A6A39A49CB721B8F155BEABE3AE + B6D5024A5B352BE9627EC1CD0738F8A9753F0A34BC72091B1608F3016D8DBF48 + E9B83B47321E668CE365AD6663FF001488B837DD949DA3425F2FB57EBF7DAC98 + 3A43925CE3BAC6D73A5A974DDE6DA29AAA479748D27BEA63AEF8A96DA7259410 + B399A30DE51D15776A8753EBCD494F336291B0324E6E67670A5A7539CE3CB966 + 1E22B0776E968E39F4D506772610BE5CACB1CAD3860581A2A67C56AA5A579C98 + E30D2A63100F60C8565D39D16BC3F7329651556A5D274F5D4CFA7ACA58EA6220 + 8E57B738EBD0F51D552BACF8331BA47D4586630BF24F6329C79F477C975C54D1 + 324072D0B4374B147203DC56F5A8D4ED6ADFCAEE4795C7B1C5723B5A68EA9114 + F1D4B434FE20718F7152ED39C5A6B9CD82EB1631B1711FAABE2F5A65B246E8A4 + 8592C673963DA1C3E45565A9B85963AB73DF1D2BE8A5393CD16EDCFC0FEEB0F8 + 758BE2A259FF000C2B31F991B6B4EA9B25CD80D3D6B1A4F838ADD3087B799843 + 879B4E551F74E185F6DF2992D356D9C039018E2D77C8AC16DCB5CE9E9047332A + 30D3D1CD2B2B5DAAD3BC5ABEE4D38CBB17FA2A72D5C55B9C4E11D7D097E3EF1C + 2DF50715ED153286C9492463C700ADA8718ADFE68B43058A8A16EE2469FF0001 + 38FF0064FECBF3FE922C3E737FBA7F657FAA69FC8C136FCCAFA1CE1D1C542871 + 234FE37139FF0064FECB555BC59B74523A2A7A27C8EFC2482A99F12D37E9CFEC + 670CB27BCE3B124AC0B9DDEDB6D6975655323C78672554375E24EA2B97345434 + AE881DB60B4C74FEA9BFC825AF95F1C47A979207C96A4B885B6BE4A238FA6EC6 + CBB92AD6DC52631CEA4B4778BB6C8392A0B6FB25F3555676F707BE3889CF7BCB + DCA6967D03414D2472C999A46F52E1B29DDBAD24901B1803DC174349C06CB1F5 + 354F957F9FFC2995DEC88E697D2F476D85B1C5034BBDA23753FB0D95D239B96A + D9D8F4F39C5A4B3E8A7F64B23226B4962E9EA75F4E92BE952B09108C1C9E598D + A76CAD89AD25AA5F49008D800094D4ED8DA000B246CBC7EA7532BA5966C46380 + 88B45AEF5659345E9CA8BEDFAA9B052C23619EFCAEF06347893FF13B2D526967 + 646E6AAA29E929DF53553C504318E67C923C35AD1E649D82A178A7E939A574E4 + 8FB6E9684DFEE7F7416822169DBF37788F0FCD53FA9753F10B8EB7F114667B36 + 94649DC6C790DC6DE3B733B07EBE03A4C747F0BF4A69285D58E8993CB08E792A + 26DF18E524E4F4E84E7C3CD6F697473B973630BE662584F0451D73E35F15A37B + EE37796CD6B906D030F66D7376232D68DFAF523F35B2B3704AC34EF64F79B8D5 + DC6A1AECB8BDE40774D8819F7F8FEEB4D73E32DD6B2FF2DA34458DF5D046397B + AC71DC75386BBA7F3DC34741C4ED6FA36E9FFB616991D4B527BAE2DC06E47811 + B788CFE8BA35D54423CCE2DAF38D88F37B169D570B341CE7BD66696918C12EF9 + FDE58370E0CE88ABB74949474D2D0CD21C89237B8004038D893D32A7361AA8EF + 368A6B9D2B98E86A19CEDC3874F2DBC568F5B6BED31A3687D62B6A9B55525CE6 + 36088F310F19EE9C6C0E40C8EA33D16E595E9631CC92C327153716D7621FE8FD + 7FBDE86E2FCFC3C96EAEAEB4CEC7C839CE794B585C08F23B007F5C02BAC6DF73 + 64E061D95C43C379AE7A8F8B32EBAF5134542C6BD8C0EC8E6CB4B401E677C9FD + 360BA7B495CA491CD0492B5E7C39CF4FD56B1DFEDEC53CFF00160B56378705FB + 5856D90BE204ACD5E7A71E5782D0888A20222AE7D21388B0F0E3404F728DCD37 + 2A9CC342C3B9E7C6EEC78E323F321652CB32964D3F1F78DF66E1BD2BADD481B7 + 1D432B7FC3A666E22C8D8BF1E3EEFCFC81A034D68AD4FC48BDC5AC78895B2CF0 + 4CEE78A91CE3D36C6DE031F41B6010567F06345B6E714FAD75A44FAEBA5738C9 + 136A3BD80EDF9B7EA4E7C7E3BE411636A7BCD3E9CD3B557395A0450464B5B9C6 + FE5D0AECE93411E5EAD9D883643F59F14B48F0E2A60D3F0DB449D9B705918C76 + 631F03D739FCFC49389668DD476CD6169FB56D0FFF0000920876C5A479FCC7CD + 50FC29B2C1ABEE978D5FA86963AB8EA5CF8618E468C65C3BC70318C03B7BCE46 + E17ABB466A8D22DB8CFA7B51C5416A7F7899642C2D1D7C075F0DBF521752AA35 + 7D35745662FDBC221CF1CE0B2B8AFC4FB4E8C8BD5291ECAFB9BC10228DD9E43B + FDEC7BFC3AFC36CD7DC1CA3BED4EB93AF3503D9465EC70858FC35D20734B7206 + DB60E73E3F9922B4B44E5973FF009A2864D41797BF9454CAC2E8984EC39187EF + 1DC105DF0E5DB2AD2D09C2FD4777AD7DF35C5C676C5D99708B9F2EDC0C0F1C0D + FA7BB185455745D8A73F89AF65D97D5869BD91D3DA3EF22A434B256BC67196BB + 2158B41273C60AE4EF473BD36A3525F69296679B7D3498A76B8F405C7DE7C3F5 + F3DFA82C956D7C6D195A7C4211B12B20B66661B6C6F5111710B0222200888802 + 22203CEA9E63A695E3AB5848F92E3BE2A442EBC73A864A4E1B545A0786D9FD97 + 61D5B5CFA5958D197398401EFC2E40D73FFBF7ACFF00BE3BF552C6C0B3238DB1 + 46C898006B1A1A005FA5F02FABD951150AE297820C89715AE9F66E919DCD761C + FCFC9529C1CB3BEE778A8BD5412435E7973E6AD1E3D534B2E95ED230795A0E54 + 5FD1FAAE96AED0FA36604D13FBC3C56970D8576EBA6EDF6216E705C5A6295EE9 + 1B80ADDD3503991372144747DB010D25AAC7B7D388E300051E35AB53972A15C4 + CC60EEAD2EB6D4149A6F4FD4DCAAE40C6C6C247C967DE2E54969A092B2B26645 + 146D2E25C70365C6FC77E29556BABD7D83660E3431BF1CCDFC67A67E1FCF879C + 8C73B9394B1B7B91E9EB2AF889C4892BE405D0F6BDD1E00780F92BE68A9A3A3A + 38A962003636E36F350DE146968EC969654CACFF001DE36C8DFE2A6CE7068249 + 000EA4AEC70CA52CDF3ECBB19C6160F2AFA98E8E8E5AA9480C8DB9F895CBBAEA + E151ABB5B3282271730C9BE3CB2ACBE35EB9829681D6FA29413820E0F52A27C1 + 2D3D2CB3C97CAC8CF3CA7B9956E9A12E23AC4FFE288D92E545B3A1ECF1D0D0D3 + D1C4CC06340574690A0E48DA70A13A4ADE5F234F2AB66C54A2289BB782E971AD + 4A8C7A71EC8AEB8FB9B7A6606B02F478C8468C05F578F6F2F26C119D5B65A3BB + DB26A0B852B2A69651DE63874F783E057316BCE074D4B5AFABD3B580B32488A4 + 3CAE1EE07C575F4D187B4E547EF36864ED3DDEAB6E9E959F0D841A6B74719C56 + DE2058A6EC9B1D4803A641231EE5208750EBC8E26B391DB0F18CABDEE9A7A463 + 9C62E66FFAA70B453D8EAC138925FF0078AEA55C2299EEADC7EDFF00A43A925E + C53D72BEEBDA880B5AD783E18610B452E9CD5D781DA57CD246C775E67615EC6C + B59D39E5FF0078AF8CD3D29764B095B10E07A74F33B72BE9FF00A63AB2F05476 + 5E1D5B63631D5A1D512839391B2B334B5AA2A40C8A969DB1B06DDD0A4343A69E + 48CB3E8A5766D3C2320967D16FF5749A2AF9695FBFB90E57279665E97A77B58D + C82A694C30C1F05816EA26C2D030B66D180BC9EAEEEACF26C4560FABF2F6070E + 8BF48B50918351451C80E5A169EBEC71C80F702932F85A0ABEBD44EB7B330D26 + 56F71D32D7670CFA28F57E9C95A0B704B7D92323E455C7253B1DD405873DB627 + FE10BAB4F179A5896E8ADD699425CB4951CBCDDADB299C4F53D9E33F2216964D + 0D6563B3F6596F9F2BF1FA2E84A9B1C4FF00C03E4B5D3E9C8DD9EE05B51D5E8E + CFCF5AFB11E492ECCA29DA2B4B8EB6EAECF8FF008C3F65F83A334A8FFF004EAE + FF00C61FB2BAE5D30C3F83E8B1DDA59B9FB83E4A715C31FF00C3FCBFF63E3F25 + 312E8FD3AD19A7B7D503FE79863FB2FB1693B431E246DA9AE78F17BB23F4572F + F4B37D81F25FB66976FB1F457467C360B6AD18C4DFB95453595B19CC14B145FE + A316C69AC72BC8CB49568C1A65831DC1F25B1A5B046DC7702B7D629A562A8A5F + 45831D36FB95D5B74D3DC4659F452CB469B6B304B3E8A5D4D6B8A3C7742DB46D + E5635A3C000B91AAE33659B22C8D691A6B7DAE3880EE85B68A26B06005E88B8D + 65B29BCB2C4B011115664F8F7358C2F7B835AD19249C00170FF10750DC78DBC6 + 836E8A49069AB54858D8B9800581C3271BF78F8F5F0F01B761711E4745C3CD49 + 23490E65A6A9C08F022272E4CF462860FE9BB856085C2A24A9773C9BEFD31FDC + FCD6E68B4DD6B167B1252E58B4BB96DD34349434105BEDF4F1D3D340C0D6318D + C63F9FCDD4278FF25C62E15D5FD94D7BA5738097906486EFEEF30DFA79A9BAFA + 447244F8668DB244F1CAF6B86411E217A7B6AE7ADC23B15147F036E1A759A520 + A1B54F18B838735635FDD95CFF00D40F0C7C76254F6FDA5A0D51649ED95ACE68 + E5196BB192C70E8E1EFF00DCAD06B1E09586E550EAFD3F5525AEA8EFCAD3DD2E + C0F7E46E3DFD7F25168E2E32E85A80CA3A975E29410035E3B5C81BE002323F2C + 2B21C45D54AAACAF1EDB6E8A9D7BE519757C38E2550583EC9B3EA9653D3B090D + 8DCF706B987AB5DB1DBC7183BFC495FBD1DC2CA6B5C0D9F50BDB7ABA170719A5 + 0E7363181DC1CC4F300EE63920673B8D82DADBB8F8CA69FD4B5AE959EDD20716 + BE5A7CE1BEEE577FF5056B6959AC5AB2DCCB9D8EB22ABA7775E5FBCC3E4E1E07 + F8163457E92BCC94567EFF00FE1294ECE5E4CEC466D96C7E5AC6461AD6EC0018 + 002B1348DB64639A4B4AD95AB4EB0107942A538FD57AC2F9A8868BD395CCB6D0 + B599A97364E52F1CE5A4B8F5236CE3FBAAF5FC515CB9224615E0B535AF1CF87D + A222753D45D05CABDBB0A6A221FBE3C5DF77DC71923C956B3FA4FEADBA569669 + 8D001D086E40A8ED247786F9696F9F928BF0E3845A728266D7DC6A9978AE690E + 7733B201EE9E87AEE0FECAD86434F0B58C8696289AC686B406F40061726BE1AE + CF8A5B7F92F4F0431FE917C4FA681D5759C3FA56D2C7FF0048E6C330207C4BB0 + AD1E18F1DF48EB2D3B5B729E6169A9B7C4E9AB29677E5CD6346EE6F4E6F2C633 + 920788CE963735BB18A32D3D47200B9E78E1C30ABAAD614751A5A99F0415F206 + CCC8F66824FC3001FD0F41B08EAB41D38F325930996DD57A5356CF2D6D458F45 + C95B6DA790B44E5EECE33804E06012AABD73AD2F7C71E2458FD62C335B6D546C + 6B5D0993981209739F93E277F0E800DFC6E2D17A42874B695A6B2454ED908687 + 4E4B73CCF2064FD3E9E6B730410D333922A66443DC0856D5C2F2949EC32208A3 + A7A68A9A26B591C4C0D6B5A0003E4AA8F4A1ADB845A362B75BE09257543B2FE4 + 3E1EF1F123FDDF95B3D4AF57C0EA987926839E21ED0385D3BEAEA54E09E0C1CE + 7C33BE6A28349D352DBF46554B4F4ACC49282EDCF524E198F1FC86161EABBE5D + 78817FB7696A4B6D4D052B27E5A97B9C40712E03BC3C31E5BF8ABDA0AAAEB952 + D65BF4F4115352B5DC9255F2820F9866DB9C11BE7F3DDAE59F63B5515A28994F + 4D4F1B5D8EFBF182E3E24E31FCF21802AEAEA6E874B9FE1EDD88A8453C9E1A6B + 4B69ED3143152DA6DD131E1839E52DCB9C76EA7F21B745A7E3456D75BB8755B5 + 1471BDF2CA3B36F201B673E7EE0E52D2BF4F1DA533D92B43E103243BA2B654A5 + 5B847624730703F5ADCB4B52BAD8DD3353555D5951CEE943F1CDD035B800F424 + FCD75D70EAFD535D047EB9492D1CE581CE8A46905BF3EBF1542F1138ADA7ED05 + D6BD33430D75D5DDC6C8C6F308DD9C7E7FDBA75DC298F046A2FD4F696D56A294 + BABAA1DCE5AEFBCD6E1A003E5D3A2D6A612BAB752F894577C109622F2751222F + CBE4646DE67BB017962E3F48B5D3DE2922760BBEAB18EA4B7838E6FAAB969ED9 + 76883748A35FD5B49CB9C373E5941AB68F7E6E51F9AB3F057FE931924A8A3035 + 851970043467DEB369750534CEDB18F71589692E8EEE264DD2E3BD73FF00BF7A + CFFBE3BF55D7F04F1CCD0E63815C73C44AA8A978ED586538FF009638FF007546 + 31DC16A0E8BEAF8D707343DBF75C3217D5ECE89295716BC1066AB55DADB78B15 + 451B865C5A4B42E69B7D556F0F35D0A8735FEAAE7FF88D1D30BAAFE1D5447596 + 85B5EA263DEF6B5931F31B15CAD5D3651775EB59F26719582C1E176BFD317AA0 + 64D4F71858EC0E66B9D82148B56716347E9BA291F35CE19656B768D87249C2E4 + 9A8E0DDF69EADCEB6D5490C79DB95CB7167E0E5754BDAFB9D5BE423A873B2B9F + 7DB0B9F361E48F2C9763F3C53E2D6A2E2255BED5696490D0176006E72E1EF5BC + E14F0F63A085B5F708F9A43BF786E4FF003F9E730D31A0EC9A7E212BDB19737C + 4EC179EAED7965B2D3B9914AC748D1B01D02A1249FF5365E0CC618DFDCDF55CF + 4F470992691B146D1FCC2AAB88BC49823864A0B61E671DB2D3B950DD47AC6FDA + AAA4C144D93B3271DDCF45B8D29A123672D55CC99A6777837A80B6E11D4EBE4A + AAA3B78F65F5332928F723BA6749D4EA4A9170BA97F645DCC01FC5FCFE7BAEFD + 2B678E9E28A9A08F96360000017E6CB680D6B638A3E568E800561E97B2105AE7 + 37E8BD4534D5C2E86B3993EEFF00E91AEDB9B375A4AD9C8D692D53BA58831802 + C1B55188631B2F6AEB8C148DC170242F25AABA5A8B363622B08CF4515ABD5914 + 0E20B9BEE0B106B667577200A31E1FA892CA88E644D57E1EC0E1D1438EB461C9 + 6F272A7F5AC6EC72729595C3B51FA4CE51269E8637F568585259E271FB8169BF + AD63C632DE64FEB4881C3F932AE8E93571EC8C6C6D7EC58BD90BF4DB3440FDD0 + B4FF00D6918C1772617D3ACE33BB7930A7F87D6781B12086D9133F0859B15331 + 9D00512FEB58CE393953FAD63C632DE6554B45AA9774676266000BEA858D6B18 + 38796E53FAD58305DC9855FA76A3F48CA2688A1675A30E4B79309FD6B1BB1C9C + A53D3B51FA465134450BFEB58F18CB79906B58C1C3CB729E9DA8FD23289A2285 + FF005AB060BB930875A30E4B79309E9DA8FD2328999683E0BE18DA7C1437FAD6 + 37639394A0D6B18D9C5B94F4ED47E91944C0C2D3E017CEC19E414406B560C177 + 260A1D68CDC8E5C2CFA7EA7C0CA25FD833C82760CF20A2275A4648E5E55F3FAD + 63E5D8B7993D3F53E06513011347805FB0C03C14346B58C121C5B95F06B560C1 + 77260A7A76A7C0CA2698450B3AD19B91CB84FEB58C6E4B70563D3B51FA465134 + 45087EB8881382CC2CBA4D5D14E400E6FBC2C4B876A22B2E23392588B0286E70 + 550D9C0159E0AD4945C5E199C1AFD4D6E177D3B72B4993B315B492D397E33CBC + EC2DCE3F35C59A72F573E096A5AFD21AC2DCE36E9657490D4C6DC820F4734F8B + 4E3FF42083DC4EDC286710F49D9353D01A6BD5AE9EBA319E5ED1BDE6FC1C371D + 3C0ADAD1D8E32C6704595258356699BFB79AD776A7909CE185DDE3F91DFE9FAA + DCB007E4C6E6C807B272AB0D65C04B2C75124D60ADADB53C92435A79D83DC06C + 47D54363B2F16B45B8BED95E2ED4CC04F661DCC40CF40D70EBF00BD2C5EA1473 + CBCCBE5FE887323A057DC9F71F7119550687E34C75976FB235750BAD95592D0E + 2D20647810727CFF00992ADE05AE01CD3969E854EABA36F6EE48D6DFF4FD9350 + 537AB5DADF0CCC3E25BB8E9D3CBA0E9854E69B8AA384BC70B75AADF702FB4DD6 + 5644E85CED8073B9707C320EE3F4E82F50325730F1F221ABB8AF4364B2C9CD53 + 90C7B8386C493E39F78F25A7AE50AF1625BE7EE3B977F137D2329AD45D62D0B0 + 32EB767F74D481CD1C44F8B47471F79DBE39507D1FA4356D6DCEB3596BEBDCF4 + F1CCC7CB3B448438823241C741B9DBDD8C29CF0F786B60D156F81CD89B57752C + 065A870CEE46E07BBDFD7AF4CE0413D26F51D532928B4D5BA77B66AB781235B9 + E9FB75F905AD2D372C7A935F4416C45EBE3D57DADC754E83AB70B553CC41A6E7 + 3CCE6B4E798B49208F3DCF53E0ACDE0AF107FAD2D6EA7AB608EE34DDD95BB77B + DF8FE7D703DB42D8E3D37A5A92D11E0CC1A1D50F1F8A43D7F21D3F2CF8AAFB43 + 38E94E3DDCAD1451B04155DF2D1D181C03F037F761742CD1CB4718599EFB35F5 + 2119F33C17FAAF78F1A8AE9A6F4AC35D6A21B3F3F287100E321E3F556191DE23 + DF854CFA505E0368ED7A721C3E6A8943DCDC1C81B81FDDDF2F9E756FFA4D7926 + 416F9AE789F6A8ADD555D3C4197120C382C25C0E0E700646C4755D29A7E5AC97 + 4D5BDF71DEADD10748797072464823DD9C7E4B9E6AA0378E2CD834E8676F4F6B + 8626CCD0720900171F96DF92E937E072B40C06B4058854ABD44E316DA585BF9F + 73116DACB31EE1570DBED7575F507FC38222F3F90C9FA02B9FADDAC3897AB28E + BFECB96165B7B57479CB1AE780065A36CEF9F86F83E4A7DE91B7DFB27411A189 + E04F5CF0C03C71D76FA7CFE5AFE18D9BECBD216EA42D02474625936C65CEDF7F + 7E303F257E9F4CB59A89426DF2C56F8F2C8CE7CAB62233717F5AE9534768AAB2 + 085921E588398E6F3EFB9DDDBF5F9939DC92AFCB256D657D9292AAE14E20A991 + 81CF60CEDF3DD50D2DB5BADB8EB1DBCE5D476901AFC03D5BD41C7F98E33EF0BA + 10B5B181134F7583942D7AABE4BE718C9B8AD9124DB5B9857FBA4564B2D55D66 + 00B69D85D82719C0CE33F4FCD50572E20F1135F50CD058E87D56DF2BCC2F959B + 646D91924E36FA1DF6534F499BE3ADFA3A2B4C0E226AE786E0788D89FEEDFE75 + FD70EECA2D3A56DF4019CAF1107C9B60F33B739F78CE3F25B1A7D37E36F9424D + A8C56F8F764672E55B1AAE1E70FEDFA700AA900ABB9BF792A1C33CA4F5E5CFF7 + EBF056A582925748DC02BD6C76674E5A795585A7F4F88C34967D16F6AB574692 + AE956B0915462E4F2C9F4F511C70F3B89C1240C0F1DFE5D142F525FCB39807E0 + 0F7AD8DEEA9D1D047E2E2D76F8E8398FEC3E4AABD5D5EF0D90825795E17A2575 + B867674DA673839B3CEF9AA64ED0B1B21EBE6B551DEEA24C9121DFDEA155758E + 92AB049EAA47658BB568C6F95EF2CD253A5AD651CDB25993489076F30FC4578D + 4D5CFB9E62B3BB0C8F05E52D217646CB9B1BA19DD11C334D35CE78F04BCECB3E + C9A9646CA1AE90E33E6B4F7D8844082A2F4B54F655E1A4F55D4A74F4EAEB7844 + AB9624933A2F4C5F8BB97BF90573FF00A54D92A2DBAD21D4948C3D855012730F + 07788561E91AB7F24649533D4561B7EB0D292DA2E630D2331498C98DD8EABC17 + 17D22A6CD8EAEA74AE30534543C34D5B4977B3C50D44ED64EC18193F45351B8C + F8798547EAAE14EB1D277174D6C63EA698B8F24B01C83D7AFC9675B2F5AE68E9 + 442E827C8EA0C44AD5D2EBECD32E56B28E6ECCB8B217DC1F22AA5FEA4D6BFF00 + EC4DFF0082562DD2F1AEEB21C46D981E9B3085B72E30DAC460305B15B74B7D03 + 4BAA6AE28F1E1CD92A217DE29DA2803A3A43DB49D36DD57834A6A7BA481F71A9 + 7C6C71FC6EC7D16FAD1A06DB4D875417D4BFCBA051855C435BF922F1F65F722E + 71891FBBEB6D4DA8AACC342D95AC71C000158B41A12EB72ABED6ED3BF9739209 + 56B5B2C5053ED4B4AC8874EE8521B7D8E4908EE15D3D3700AEAF8B533CFC97FB + 2A95ADF621DA6F4C52DB2010D34237EA48DCA995A6C8F908EE7D14A6CFA68EC4 + B14C6D5626440658B72EE254E961D3A5617C88A837BB349A634A3A66978E46F2 + 633CD9DF3FFA29AD05A5B4CD03B871E4B2E829DB4EC21A319C2C95E5355AEB2E + 93CBD8D88C5235B77AA3454C4B43738F3FF82AC352DF6A017BB2CC7FAC7F6539 + D6AF7358403E0A98D5933C736FE2BB7C0F4B1B30D909B663CD75AA9E72799A7F + 32BF4C9AA5F8DC7CD6A6DCEE69467C548228DA1A17A4BECAEA972244229B3E35 + F3E3191F35F43E669EBF5598C8416E72BF4200B53AEBC13C185CD2F5FD50BA57 + 6F9FAACD108CA7623CD3AEBC0C185CF2918CFD539E61B67EAB34C03CD3B0184E + BAF0306107CAD3B1FAA734BD7F559A200821194EBAF03061174AEDF3F54E7948 + C67EAB37B11E68601E69D75E060C2E7986D9FAA07CAD3B1FAACDEC06104013AE + BC0C185CD275C942E91DB92566884653B11E69D75E060C2E794ED929CF28DB25 + 6698079A760309D75E060C2E695A762539A4EB92B34401042329D75E060C2E69 + 481B94E7970464ACDEC02180275D781830B9E507A94E69078959BD80C2080275 + D7818308BA5CE72539A5206E566884653B009D75E060C2E7970464AF39E49797 + 193B2D89802FC3E9C1F15957ACF61823F51533301EF15E5477D961A800C87E6B + 3AF50362889CE541ABA5736AFBB90BABA3E96AB31C114DC5976697BFB9E1879C + AB161BFD0D2DA64AFB955C34B4D0379A49A5786B5A3DE4FBF654068DA8930DC9 + 502E3A576A2D5FC40B7E80A5AC920B606B2491B19C6496E4B8EE3240240F774E + A73E4B8D68210B363B16D2950AC279C4CF49E74D5B25838616C75CAB0BBB315D + 247919CE32C67CB05DFEEAAE68743F11F58D4CB7ED61A86A9B3C8DE66C45F976 + 3621BEE1B9DBC3C958FA0342D9745D188A8A9D8FAA2D02599C325C7C7EBFD87C + 54A83DC1E1D9DC745469B8772ACC9E3E9FECE636555E8EFAAAE149A86E5C3CD4 + F525D2C25CEA2ED483820F79A0FBF73D71907C49CDD53D9A29892D68551716F8 + 6B26A4AD8B5269EAB3437BA7C1E60E239F036DFC0EC3FE18C98E4F171EABA923 + B4CF79F5780F71D346E635F8E992E6F78FD5590B6DA33179CFF241C326A3D28A + 6B1BEF76BB1DB190D4DEE29F334B16EE8803F7091D4F5241E9F995766908AA21 + D2D6DA7A96E268E06B5E3DE1A07E8A0BC32E0F52E9BB89BCDF2A85757750F7F4 + 69F31E24F4F0DBE4462715F8BB4B6893EC6D2405C2E0FCC6E73073358771B79F + F6F8E76CAB5C66EEB7BBD92F7249616092F14F88162D29A62A8FAE325BA3D85B + 0C2C20B9A48EA7DDBFE7F322A9F45DA16DFB515CF555CA57C9581C793989277E + 6DF39F77D578E91E1CD656D44BA875817D4D64B99194AF25D82771CC0FF6F9F8 + 852AF45FACA436AB95B62A5647341377A4C6E46361D3FCA7E696E96EEAD765FB + 279C230A69E522E7712E2493925511E90623B5F1334EDEEA6077A9325617C9CB + 91B3C93F423E6AF65A4D77A62D9ABF4ECB6BB8C40BF1FE0C807798EF31FB78FC + 88DABE12714E3DD3CFD8C9ADA3B850416C92EF53551368638BB574DCC0B4B7C3 + 1E79F0F3CAAC78181DAAB8977AD5B514E4C2E91C627737DCC9D80DF718C8FE05 + 8D4BC13D5F255B2C153A865164E7E72D123B946F8E980338FF00D5581357693E + 0F69436CF590F9F9399918765D23B0067C71BFF6F12306AD5EB25A9946538F2C + 63BBCF923087293ABFDDADFA76CD3DE2ED3B608626E5B93BB8F801E676FEFE00 + 91CE9A5CD56B4D6D5BAEEF43928288974208D8F28C8C7C00CFCB3D57E68E2D5B + C58B8B6B6FB2CB496185E4B1A0603867EEB4789E9BEF8C0CE7002967131F4FA6 + B86F3D2504429D9206D2C0D66D8E6EBF300E4FBD6D6969767FF55AB108EE979F + 9919CBFE28F1F46EA465DF53DF754D4806574843011E649C8F963F3F9DE4D05C + F03C49509E08D81B61E1DD1348C4D523B67EFED60FF6E5FE6C26B33D94B4B2D5 + D43C450C6C739CF71C01804E56BE9B2ABE79777B9614371ADCDD47C5CB3E9F61 + 73A18087CCCCED8FBC48DFD9C7C9587515715A6CB5B7497943296074801E8481 + B0FCCE02ABF45BE3BF717EFB7A8A6754D3401CC82539F17728EBFE552EE344CE + A4E18D4B1A79455D4454E4FB892EFF00FCADED0CBA5A29DDEF26DFD8A67BCF07 + 87A30DB79E82EBA9E73CF3D5CC435C739C753F3CB7E47F3B81B82E1CC7033B95 + 17E1559E9ECBA02D705396BBB585B239C0632480EFD71F9293F83879B48FA2D2 + D2C5C6A4DF77B971CF9C4A7FF55F1BA86D61EC9A928F0F900DC600E620FBF721 + 5BF62A6ED6668C78AA775C691D53A47585C359D04D18A495C79B9803DD73C777 + 71D771D3E6AE8E18560BBDAA86E2E8C46678C3CB41CE0ADAE1B74614D91ED2CE + 5FFD14D89B922D4D276C688DA4B54DA9699B1B4602D469C8DAD81B81E0A40DE8 + BC9EBAF94EC792F8AC221BAA98E8E9E28F3D187FFE4E5566A481D2B5E15C3AB6 + 2E795A31FF0057FA955E5E285DCE7BAAFE15C415373523D5F0C8C254F2BF729D + ABA27B2AB2478A915925308046D85BAAFB336577306E0AC68AD32B3380BDE59A + DA3575AE67D8E4EAB845B09B70DD1B3F58763AAF09AADEDCF79650A094F50BCE + 6B648ECE173A2E8CEECD6F4EBFC11BBC48E9812772568E8EDEF92AB3CA7AA9AB + ECCE760159545686C4721992B7A3C468D2D6D459BDA4E0D394D4ACEC7EF4ED31 + 8831BE4AC7B1B4FAB869F1518B4503B981E5535B4405A00C2F03C5B882D45988 + 9D6D728461CABD8FCDCAD8E969439990483B8D943AE941726121953301F156BC + 5007533410B0EA6D91C9D5A15BA3E23D2494964F1F641393C14DCB4D7704FF00 + CA66F9AC492D55B2B8BA4925713D72E2AE27D8E227EE05F8FB062F607C975E3C + 6E11EC914BA8A861D3D213F70FC96D6874CBC91962B3E3B2443F005990DB2267 + E10ABB78F49AD8CAA882DBB4C018CB3E8A496FB1471E3B8148A3A6637C02F66B + 00F05C8BF895967B96282460D35047181DD0B3591B5A3A2FDA2E7CA6E5DC99F0 + 1EF91EE1FAAFABE01DF27DC3F55F5458343AAE93B680BC0CECAA0D536C710F3C + AAF9A889B2C658E19054375058F98B8866415DBE15C43F0EF0CB2B8466F0CA3E + 081D149823185B48253800A935C74EF2C85CD6AD7BACAE1D3AAF512D6E9EEF89 + 97AE1D37F94C46CE718CAFA673E6B2FECC201CE72BE0B6BBF12ABAB47925E997 + F8317B738EA9DB9F3595F66BB3EE436D767BA764EAD1E47A5DFE0C5139F34EDC + E7AACA36D38D8EEBEFD9A7072774EAD1E47A5DFE0C4339F34EDCE3AACA6DB5DF + 893ECD767DC9D5A3C8F4BBFC18BDB9F34139F35946DAECF74EC86DA71B1DD3AB + 4791E977F8317B739EA8673E6B2FECD38393BAF8DB6BBF127568F23D2EFF0006 + 2F6E71D53B73E6B2BECD767DC86DAECF74EC9D5A3C8F4BBFC18A273E69DB9CF5 + 5946DA71B1DD7DFB34E0E4EE9D5A3C8F4BBFC188673E69DB9F3594DB6BBF127D + 9AECFB93AB4791E977F8317B73E69DB9F35946DAEDB09F66BB1D774EAD1E47A5 + DFE0C5EDCE7AA76E7CD658B69F15F05B5DE29D5A3C8F4BBFC18BDB9F34EDCF9A + CAFB35D9F721B6BB6C27568F23D2EFF062F6E7CD794D3B87E22B3FECD763AEEB + E3ED65C005956E9FC8F4BBC8DDC66748C20925479F42F9AA73CB953B92CDD73B + AF4A6B3318E079375B95F12D3E9E2DC4DAD3F059CA49CD981A7284C0C6E46E55 + 67C74A6BEE92D776ED7D4103A6A2735B1CC43721843705A7E237F0F1C7457B5B + 6DCEE71DD5BEA9B2D25C6D72DBEBA963A9A699BCB24523721C3F9F25E4788F15 + 8DF6E11D5E214D7D055C7D8ACB476B7D3DAAE863A9A1B844D9DFF7A17B807E7C + 76C9FE7E78DE3AAA91B27666AE1E6CE3193FB2826ADF47FD3ECAB92AEC9595D6 + C73893CAD3CEC1EE0363F32543AAB837511C849D4F5C4F9F623FFA974F4DF89B + 629C527FBE0F2136A2F0CB86BAFB64B7547635B75A6A77E39807481B91F990A1 + 3A9F8DBA56D4D7C3452CD72A81F75ACCE339E993D3E47F68847C1EA19250FB8D + D6E35447B2433F7525B070FB4FDA0B5D496988CA3FEB251CEEF8EFB03F05B6B4 + 3ABB3F349457DD95BB57B1019EE7C4CE244BCAC2EB3DA1FD5C72C691B7E6EDDB + EFC1F2537D13A0ACBA65A258233577077DFAB9477BFD91E1FDFDEA6D4B6B99E4 + 0E52A4569D3B23DC0B987E4B62AD3E9747F1B7CD2F2CADCA5223F6FB5C93B877 + 4AA66D927FA29E34D6535C98E86D55C4BA393079435DBB4E7C7C01EBE3E2BAEE + CBA79AC00967D16B78A3C30D3DADEC4286F14C79E3C98678F0248CFB8F97B972 + 3887118EA24A29F67B16423CA435B79B449036A62B8C0E85FBB5C1D907F31B2F + 49AE76AA6A61555572A78603F8DCFC0F99C05535EFD1DCD092CA7D5D5C2207BA + DF57E9FF009D6A19C1A0D708ABB5157D5400EEC0CE4CFE792B62A86AAD8E6315 + F732E7146DF891C68A4A7CDAB46C6EAFAD7F74C81A4B4123C3DF93F4F1517D23 + C3DB8DF6E2DD41AF6796A25243A3A5738E7DDCC7C063031D7E1853FD2FA1ECD6 + 103ECEB7B5B2F4333FBCF3F9F87E58531B75A2595C32D2B769E1B083EAEA65CC + FC7B22B958DEC8C1A2A20591C1044D8E2600D6318DC35A07800A09C78B1CB555 + 7A6285CFECE196A1C5E4F41DE6004FCD5FBA7F4E9CB4B99F45BBD47A06C9A8ED + 4DA3BBD2F3B5A72D730E1CDF815A7C4F894250752ECCCC20D3C9426A2E2BE93D + 216EA7B7D1BCD7CF0C6D6B2288E71B37033BF81F7F4DD57D72BB711F89B1F2BF + 367B2C9D41CB03C6DF9BB71EFC1F257AD6706744D96B8D6D35A4D44CD1B7AC3B + B400F9E3183F9AF296D323E5C066DE030A1A2D34350B9AE97C3E16C4A736BB10 + 8D01A4A874D5B9B4342D2E738E6595C3BD23BF6F72F1F490A5745C268A4C118B + 94393FEC48AD8B269E7B9CD258A497ED056CD51A5E7B25DA12E825196B87563B + 070E1F32B67896B6A8D5D286CB182108BCE5957F0E6BE899A0AD92CB5F0F2B29 + DBCC79BEE80D19F960FC969F5C71774B69B67654B38B8D5F8321208F0F1E9E27 + CFA2F0BC7A35D35BE27320D5D5DD9784629B007FE758166E13E9CB0CBDA0A575 + 7D40FF00ADA9EF6FEE6F4F9E569E96BBF511518B49792D94D22095376E217139 + ED8A661B6D90B813CD96B5C36FCDDBB7DF83E4AF4E1E5232D141496F85CE7470 + 303039DD4AC7A2B548E2006607C14C34E59240F692D2BA6F4FA7D1D52C3CC9F7 + 6CA79A52658DA6652E85AA4ACFBAB4561A430C4D042DEB0602F0FAB69D8F06CC + 7B1ADBC41DABC1C7E1C28DD75B79F396A99CAC0F58D252B5DE0B4250CBC9D2D3 + 6ADD4B057F359B27207D178FD8BEE3F253F750B0F805F9F506FB2A71B6F8F693 + 3A2B8A79219F63FF0094A7D8FF00E52A67EAAFF61BF25F5B48EC8CB5B8F828F3 + DBFA998F51642BEC51EC2F586CCD073CAA69EA4DF657E9B46D1E08DD8FBC9907 + C5191DA2B6F2E3BAB79474DC98D965B29C0F05EEC600B11860D1BF56EC3EC630 + C017E9115A681F303C9303C97D440303C91110044440111100444400AF19A30F + 6E08057B214329E0D255DBE2767FC31BAD4545A599DA3014B9CC07C1793A069F + 0FA28BE6F666ED5AB70214FB38CFDC5F8366FF00229A9A569FC3F45F3D51BECF + D14313F26DAE26C85FD8C3D84FB187B0A69EA8DF67E89EA8DF67E89CB2F267D5 + 2442FEC61EC27D8C3D8534F546FB3F44F546FB3F44E59F91EA72217F630F613E + C61EC29A7AA37D9FA27AA37D9FA272CFC8F54910BFB187B09F630F614D3D51BE + CFD13D51BECFD13967E47A9C885FD8C3D84FB187B0A69EA8DF67E89EA8DF67E8 + 9CB3F23D52442FEC61EC27D8C3D8534F546FB3F44F546FB3F44E59791EA92217 + F630F613EC61EC29A7AA37D9FA27AA37D9FA272CFC8F53910BFB187B09F637F9 + 14D3D51BECFD13D51BECFD13967E47A9C885FD8C3D84FB187B0A69EA8DF67E89 + EA8DF67E89CB3F23D4E442FEC61EC27D8C3D8534F546FB3F44F546FB3F44E59F + 91EA92217F630F613EC61EC29A7AA37D9FA27AA37D9FA272CFC8F53910BFB187 + B09F637F914D3D51BECFD17DF541ECA72CFC8F54910AFB187B0BF4CB3341FB8A + 67EA83D94148D1F8563965E43E2922374B6CE523BAB6B4F44037185B36D381E0 + BD5B181E0B31860D4BB592B0D05C2D2C9987BA146EBB4C35EE2431588580F55F + 974119EA174E8D7594AC2673E4B98ABCE9419FB9F45ED0695008CB3E8AC8F558 + 7C97D14F10E816D3E316B5DC874D10CA1D371B08258B7D45698A203BA16DC46D + 1D02FD0002D3B75B659DD925148F18606B06C12A220F69185EE8B5799E724889 + DE6CAD9F3DD519A8D2C0BC9E4FA2B3DD1B5DD42FC1A688F50BA34713B2A584C8 + 38265694FA54070CB3E8B7B6DD3D1C6465814B853443A05FB6C6D1D02CDBC52D + B163214123068A82389A30D0B31D10E5C617A81845CE959293CB27834373B636 + 7CE5B95AB8F4F47CF9E41F25312D057CECDAB661ACB20B099171469A86D31C40 + 7742D9B606B5B8017B8002FAA89DD29BCB32960D05E2DC276918CA8AD4E990F9 + 09E4FA2B1DCC6BBA85F834F1792DBA35F652B088B82641A834D318412C0A4741 + 6A8E103BA16DDB0B1BD02FD800285DAEB2DEECCA8A479C31060C00BD51169B79 + 24130111601F303C97DC0F24440303C826079044401111004444011110044440 + 1111004444011110044440111100444401111004444011110044440111100444 + 4011110044440111100444401111004444011110044440111100444401111004 + 444011110044440111100444401111004444011110044440111101FFD9} + Stretch = True + end + object Image2: TImage + Left = 64 + Top = 64 + Width = 32 + Height = 32 + AutoSize = True + Picture.Data = { + 055449636F6E0000010004001010100000000000280100004600000010100000 + 00000000680500006E0100002020100000000000E8020000D606000020200000 + 00000000A8080000BE0900002800000010000000200000000100040000000000 + C000000000000000000000001000000000000000000000000000800000800000 + 00808000800000008000800080800000C0C0C000808080000000FF0000FF0000 + 00FFFF00FF000000FF00FF00FFFF0000FFFFFF00000000000000000000000000 + 011111000000000009BB11000000000019B1B110001110001919B110091BB110 + 99BBB110011B9B1009911100091B9B1000119000099BB1100000000009911990 + 00000A00009009000AA00A000000000000000000000000000000000000000A00 + A0000000000AA000000000000000000000000000FFC7FFFFFF83FFFFFF01FFFF + FF01FFFFC301FFFF8101FFFF0001FFFF0083FFFF00FFFFFF81C3FFFF8189FFFF + FF9FFFFFFA7FFFFFF06FFFFFE3C7FFFFFFF3FFFF280000001000000020000000 + 0100080000000000400100000000000000000000000100000000000000A8FF00 + 00FF00000000FF000000B00000004F0000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000FFFFFF00FEFEFEFE + FEFEFEFEFEFE050505FEFEFEFEFEFEFEFEFEFEFEFE0404040404FEFEFEFEFEFE + FEFEFEFE05020000000405FEFEFEFEFEFEFEFEFE04020004000404FEFEFE0303 + 0305FEFE04020402000404FEFE020300000303FE02020000000404FE05030300 + 0200030505020202040405FE0502030002000305FE0504040205FEFE05020200 + 00030305FEFEFEFEFEFEFEFEFE020202030202FEFEFE05050501FEFEFE050205 + 050205FEFE010105FE0105FEFEFEFEFEFEFEFEFEFE0505FEFEFEFEFEFEFEFEFE + FE05FE0505FEFEFEFEFEFEFEFEFEFEFE0501050501FEFE05FEFEFEFEFEFEFE01 + 0105FEFEFEFE050505FEFEFEFEFEFEFEFEFEFEFEFEFEFEFE0505FEFEFFC7FFFF + FF83FFFFFF01FFFFFF01FFFFC301FFFF8101FFFF0001FFFF0083FFFF00FFFFFF + 81C3FFFF8189FFFFFF9FFFFFFA7FFFFFF06FFFFFE3C7FFFFFFF3FFFF28000000 + 2000000040000000010004000000000080020000000000000000000010000000 + 0000000000000000000080000080000000808000800000008000800080800000 + C0C0C000808080000000FF0000FF000000FFFF00FF000000FF00FF00FFFF0000 + FFFFFF0000000000000000000000000000000000000000000000000000000111 + 11000000000000000000000000011111111100000000000000000000001191BB + 11111000000000000000000000991B11B111100000000000000000000919B911 + 1B11110000000000000000000199B1911B111100000000000000000009919B91 + 9B1111000000011111100000019991991B111100000011BBBB11100009919191 + 9B111100000991B11BB11100099999199B911100000119B111B1110000999BBB + BB911000009191B9191B11100099B9999B911000009999B9119B111000099911 + 99190000001991B9191B11100000010119000000009999B991BB919000000000 + 00000000009999B19BB11110000000000000000000999BBBB911911000000000 + 00000000000999B9919999000000000000AA000000099999099111000000AAA0 + 00AAA0000000999090199000000AAAA0000AA000000000000000000000AAAA00 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000A0000000000000000000000000000000AA000000 + 000000000000000000AA00000A0000000000000000000000AAAA000000000000 + 000000000000000AAAA000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000FFFFF83FFFFFE00FFFFFC007FFFF8003FFFF8003FFFF0001FFFF0001 + FC1F0001F0070001E0030001C0010001C0018003800080038000C0078000E00F + 8000F83F8000FF7F8000FE0FC001F007C001E003E003C0C3F14781E3FF7FC1FF + FF9F7DFFFFC63DFFFFC21DFFFF001EFFFE07063FFC0FF01FFE1FFE0FFFFFFF0F + FFFFFF8F28000000200000004000000001000800000000008004000000000000 + 0000000000010000000000000000000000008000008000000080800080000000 + 8000800080800000C0C0C000C0DCC000F0CAA600D4F0FF00B1E2FF008ED4FF00 + 6BC6FF0048B8FF0025AAFF0000AAFF000092DC00007AB90000629600004A7300 + 00325000D4E3FF00B1C7FF008EABFF006B8FFF004873FF002557FF000055FF00 + 0049DC00003DB900003196000025730000195000D4D4FF00B1B1FF008E8EFF00 + 6B6BFF004848FF002525FF000000FF000000DC000000B9000000960000007300 + 00005000E3D4FF00C7B1FF00AB8EFF008F6BFF007348FF005725FF005500FF00 + 4900DC003D00B900310096002500730019005000F0D4FF00E2B1FF00D48EFF00 + C66BFF00B848FF00AA25FF00AA00FF009200DC007A00B900620096004A007300 + 32005000FFD4FF00FFB1FF00FF8EFF00FF6BFF00FF48FF00FF25FF00FF00FF00 + DC00DC00B900B900960096007300730050005000FFD4F000FFB1E200FF8ED400 + FF6BC600FF48B800FF25AA00FF00AA00DC009200B9007A009600620073004A00 + 50003200FFD4E300FFB1C700FF8EAB00FF6B8F00FF487300FF255700FF005500 + DC004900B9003D00960031007300250050001900FFD4D400FFB1B100FF8E8E00 + FF6B6B00FF484800FF252500FF000000DC000000B90000009600000073000000 + 50000000FFE3D400FFC7B100FFAB8E00FF8F6B00FF734800FF572500FF550000 + DC490000B93D0000963100007325000050190000FFF0D400FFE2B100FFD48E00 + FFC66B00FFB84800FFAA2500FFAA0000DC920000B97A000096620000734A0000 + 50320000FFFFD400FFFFB100FFFF8E00FFFF6B00FFFF4800FFFF2500FFFF0000 + DCDC0000B9B90000969600007373000050500000F0FFD400E2FFB100D4FF8E00 + C6FF6B00B8FF4800AAFF2500AAFF000092DC00007AB90000629600004A730000 + 32500000E3FFD400C7FFB100ABFF8E008FFF6B0073FF480057FF250055FF0000 + 49DC00003DB90000319600002573000019500000D4FFD400B1FFB1008EFF8E00 + 6BFF6B0048FF480025FF250000FF000000DC000000B900000096000000730000 + 00500000D4FFE300B1FFC7008EFFAB006BFF8F0048FF730025FF570000FF5500 + 00DC490000B93D00009631000073250000501900D4FFF000B1FFE2008EFFD400 + 6BFFC60048FFB80025FFAA0000FFAA0000DC920000B97A000096620000734A00 + 00503200D4FFFF00B1FFFF008EFFFF006BFFFF0048FFFF0025FFFF0000FFFF00 + 00DCDC0000B9B900009696000073730000505000F2F2F200E6E6E600DADADA00 + CECECE00C2C2C200B6B6B600AAAAAA009E9E9E0092929200868686007A7A7A00 + 6E6E6E0062626200565656004A4A4A003E3E3E0032323200262626001A1A1A00 + 0E0E0E00F0FBFF00A4A0A000808080000000FF0000FF000000FFFF00FF000000 + FF00FF00FFFF0000FFFFFF000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 002A2D2A2D2A000000000000000000000000000000000000000000000000002D + 2A2D2A2D2A2D2A2D000000000000000000000000000000000000000000002D2A + 282ADADA2D2A2D2A2D0000000000000000000000000000000000000000002828 + 2ADA2A2DDA2D2A2D2A0000000000000000000000000000000000000000282D28 + DA282D2D2DDA2D2A2D2A000000000000000000000000000000000000002D2828 + DA2D282D2ADA2A2D2A2D0000000000000000000000000000000000000028282A + 28DA282A28DA2D2A2D2A000000000000002A2D2A2D2A2D0000000000002D2828 + 282D28282ADA2A2D2A2D0000000000002A2DDADADADA2A2D2A0000000028282A + 282A282A28DA2D2A2D2A000000000028282ADA2A2DDADA2A2D2A000000282828 + 28282A2828DA282D2A2D00000000002D2A28DA2D2A2DDA2D2A2D000000002828 + 28DADADADADA282A2D0000000000282A282ADA282D282DDA2D2A2D0000002828 + DA28282828DA282D2A000000000028282828DA282A2D28DA2A2D2A0000000028 + 28282D2D28282D280000000000002D28282ADA282D282DDA2D2A2D0000000000 + 002D002D2A28000000000000000028282828DA28282DDADA282D280000000000 + 000000000000000000000000000028282828DA2A28DADA2A2D2A2D0000000000 + 0000000000000000000000000000282828DADADADA282A2D282D2A0000000000 + 000000000000000000000000000000282828DA28282A28282828000000000000 + 000000000000B8B80000000000000028282828280028282D2A2D000000000000 + B8B8B8000000B8B8B8000000000000002828280028002D2828000000000000B8 + B8B8B800000000B8B8000000000000000000000000000000000000000000B8B8 + B8B8000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000000000B8000000 + 00000000000000000000000000000000000000000000000000000000B8B80000 + 00000000000000000000000000000000000000000000B8B80000000000B80000 + 0000000000000000000000000000000000000000B8B8B8B80000000000000000 + 00000000000000000000000000000000000000B8B8B8B8000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000FFFFF83FFFFFE00FFFFFC007FFFF8003FFFF8003 + FFFF0001FFFF0001FC1F0001F0070001E0030001C0010001C001800380008003 + 8000C0078000E00F8000F83F8000FF7F8000FE0FC001F007C001E003E003C0C3 + F14781E3FF7FC1FFFF9F7DFFFFC63DFFFFC21DFFFF001EFFFE07063FFC0FF01F + FE1FFE0FFFFFFF0FFFFFFF8F} + end + object Label1: TLabel + Left = 99 + Top = 70 + Width = 211 + Height = 33 + Caption = 'Informática D.J.' + Font.Charset = ANSI_CHARSET + Font.Color = clWindowText + Font.Height = -24 + Font.Name = 'Arial Black' + Font.Style = [] + ParentFont = False + end + object Label2: TLabel + Left = 67 + Top = 98 + Width = 228 + Height = 27 + Caption = 'w w w . i n f d j . c o m' + Font.Charset = ANSI_CHARSET + Font.Color = clWindowText + Font.Height = -19 + Font.Name = 'Arial Black' + Font.Style = [] + ParentFont = False + Transparent = True + end + object Timer1: TTimer + Interval = 20000 + OnTimer = Timer1Timer + Left = 320 + Top = 16 + end +end diff --git a/ListInit.h b/ListInit.h new file mode 100644 index 0000000..ee44977 --- /dev/null +++ b/ListInit.h @@ -0,0 +1,30 @@ +//--------------------------------------------------------------------------- + +#ifndef ListInitH +#define ListInitH +//--------------------------------------------------------------------------- +#include +#include +#include +#include +#include +#include +#include +//--------------------------------------------------------------------------- +class TAcercaDe : public TForm +{ +__published: // IDE-managed Components + TImage *Image1; + TImage *Image2; + TLabel *Label1; + TLabel *Label2; + TTimer *Timer1; + void __fastcall Timer1Timer(TObject *Sender); +private: // User declarations +public: // User declarations + __fastcall TAcercaDe(TComponent* Owner); +}; +//--------------------------------------------------------------------------- +extern PACKAGE TAcercaDe *AcercaDe; +//--------------------------------------------------------------------------- +#endif diff --git a/ListVotantes.cpp b/ListVotantes.cpp new file mode 100644 index 0000000..13fc25d --- /dev/null +++ b/ListVotantes.cpp @@ -0,0 +1,15 @@ +//--------------------------------------------------------------------------- +#include +#pragma hdrstop + +#include "ListVotantes.h" +//--------------------------------------------------------------------------- +#pragma package(smart_init) +#pragma resource "*.dfm" +TQRVotantes *QRVotantes; +//--------------------------------------------------------------------------- +__fastcall TQRVotantes::TQRVotantes(TComponent* Owner) + : TForm(Owner) +{ +} +//--------------------------------------------------------------------------- diff --git a/ListVotantes.dfm b/ListVotantes.dfm new file mode 100644 index 0000000..17cd016 Binary files /dev/null and b/ListVotantes.dfm differ diff --git a/ListVotantes.h b/ListVotantes.h new file mode 100644 index 0000000..3ac85d5 --- /dev/null +++ b/ListVotantes.h @@ -0,0 +1,47 @@ +//--------------------------------------------------------------------------- +#ifndef ListVotantesH +#define ListVotantesH +//--------------------------------------------------------------------------- +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +//--------------------------------------------------------------------------- +class TQRVotantes : public TForm +{ +__published: // IDE-managed Components + TQuickRep *QuickRep1; + TQRBand *PageFooterBand1; + TQRExpr *QRExpr1; + TQRBand *ColumnHeaderBand1; + TQRBand *DetailBand1; + TQRLabel *QRLabel1; + TQRExpr *QRExpr2; + TQRLabel *QRLabel2; + TQRExpr *QRExpr3; + TQRLabel *QRLabel3; + TQRExpr *QRExpr4; + TQRLabel *QRLabel4; + TQRExpr *QRExpr5; + TQRLabel *QRLabel5; + TQRExpr *QRExpr6; + TTable *Table1; + TQRBand *QRBand1; + TQRLabel *QRLabel6; + TQRRTFFilter *QRRTFFilter1; +private: // User declarations +public: // User declarations + __fastcall TQRVotantes(TComponent* Owner); +}; +//--------------------------------------------------------------------------- +extern PACKAGE TQRVotantes *QRVotantes; +//--------------------------------------------------------------------------- +#endif diff --git a/MenuPpal.cpp b/MenuPpal.cpp new file mode 100644 index 0000000..1815dee --- /dev/null +++ b/MenuPpal.cpp @@ -0,0 +1,106 @@ +//--------------------------------------------------------------------------- + +#include +#pragma hdrstop + +#include "MenuPpal.h" +#include "Herm.h" +#include "herm_insignias.h" +#include "ListInit.h" +#include "Etiquetas.h" +#include "ListVotantes.h" +//--------------------------------------------------------------------------- +#pragma package(smart_init) +#pragma resource "*.dfm" +TLanzadera *Lanzadera; +//--------------------------------------------------------------------------- +__fastcall TLanzadera::TLanzadera(TComponent* Owner) + : TForm(Owner) +{ + Image1->Picture->LoadFromFile( "logo.jpg" ); +} +//--------------------------------------------------------------------------- +void __fastcall TLanzadera::Hermanos1Click(TObject *Sender) +{ + TGestionHnos *Hnos; + Visible = false; + Hnos = new TGestionHnos(this); + Hnos->ShowModal(); + Visible = true; + delete Hnos; +} +//--------------------------------------------------------------------------- +void __fastcall TLanzadera::Insignias1Click(TObject *Sender) +{ + TInsignias *Insignias; + Visible = false; + Insignias = new TInsignias(this); + Insignias->ShowModal(); + Visible = true; + delete Insignias; +} +//--------------------------------------------------------------------------- +void __fastcall TLanzadera::Ahora1Click(TObject *Sender) +{ + Close(); +} +//--------------------------------------------------------------------------- + +void __fastcall TLanzadera::CopiadeSeguridad1Click(TObject *Sender) +{ + ShowMessage( "Función no disponible en esta versión" ); +} +//--------------------------------------------------------------------------- +void __fastcall TLanzadera::Contents1Click(TObject *Sender) +{ + ShowMessage( "Función no disponible en esta versión" ); +} +//--------------------------------------------------------------------------- + +void __fastcall TLanzadera::HowtoUseHelp1Click(TObject *Sender) +{ + ShowMessage( "Función no disponible en esta versión" ); +} +//--------------------------------------------------------------------------- + + +void __fastcall TLanzadera::About1Click(TObject *Sender) +{ + TAcercaDe *about; + about = new TAcercaDe(this); + about->ShowModal(); + delete about; +} +//--------------------------------------------------------------------------- + + +void __fastcall TLanzadera::Etiquetas1Click(TObject *Sender) +{ + TQREtiquetas *print; + print = new TQREtiquetas(this); + print->Etiquetas->Preview(); + delete print; +} +//--------------------------------------------------------------------------- + + + + + +void __fastcall TLanzadera::Votantes1Click(TObject *Sender) +{ + TQRVotantes *Votantes; + Votantes = new TQRVotantes(this); + Votantes->QuickRep1->Preview(); + delete Votantes; +} +//--------------------------------------------------------------------------- + + + + + + + + + diff --git a/MenuPpal.dfm b/MenuPpal.dfm new file mode 100644 index 0000000..65c2f51 --- /dev/null +++ b/MenuPpal.dfm @@ -0,0 +1,128 @@ +object Lanzadera: TLanzadera + Left = 192 + Top = 124 + Width = 640 + Height = 480 + Caption = 'Menú Principal' + Color = clBlack + Constraints.MinHeight = 480 + Constraints.MinWidth = 640 + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -11 + Font.Name = 'MS Sans Serif' + Font.Style = [] + Icon.Data = { + 0000010001002020100000000000E80200001600000028000000200000004000 + 0000010004000000000080020000000000000000000000000000000000000000 + 0000000080000080000000808000800000008000800080800000C0C0C0008080 + 80000000FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFFFF000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000FFFF + FFFFFFFFFFFFFFEAAFFFFFD005FFFF4FF2FFFEBFFD7FFD7FFEBFFAFBDF7FF5F9 + 9F9FF5FC3FAFF3FDBFCFEBCA53D7F3E007CFEBE007D7F3CA53CFEBFC3FD7F5FC + 3FAFF5F99FAFFAFBDF5FFD7FFEBFFEBFFD7FFF5FFAFFFFB00FFFFFE007FFFFE8 + 0BFFFFDE39FFFFDD5DFFFFEB6BFFFFE553FFFFFE3FFFFFFF7FFFFFFF7FFF} + Menu = MainMenu1 + OldCreateOrder = False + Position = poScreenCenter + PixelsPerInch = 96 + TextHeight = 13 + object Image1: TImage + Left = 0 + Top = 0 + Width = 632 + Height = 428 + Align = alClient + AutoSize = True + Center = True + end + object Bevel1: TBevel + Left = 0 + Top = 0 + Width = 632 + Height = 428 + Align = alClient + end + object MainMenu1: TMainMenu + Left = 168 + Top = 160 + object Salir1: TMenuItem + Caption = '&Archivo' + object CopiadeSeguridad1: TMenuItem + Caption = 'Copia de &Seguridad' + OnClick = CopiadeSeguridad1Click + end + object N1: TMenuItem + Caption = '-' + end + object Ahora1: TMenuItem + Caption = '&Cerrar' + OnClick = Ahora1Click + end + end + object Gestion1: TMenuItem + Caption = 'Gestion' + object Hermanos1: TMenuItem + Caption = 'Hermanos' + OnClick = Hermanos1Click + end + object Insignias1: TMenuItem + Caption = 'Insignias' + OnClick = Insignias1Click + end + end + object Listados1: TMenuItem + Caption = 'Listados' + object Votantes1: TMenuItem + Caption = '&Votantes' + OnClick = Votantes1Click + end + object AcogidosaCuotaFamiliar1: TMenuItem + Caption = 'Acogidos a Cuota Familiar' + end + object RecibenNotificaciones1: TMenuItem + Caption = 'Reciben Notificaciones' + end + object ListadosdeHermans1: TMenuItem + Caption = 'Listados de Hermanos' + end + object N2: TMenuItem + Caption = '-' + end + object Etiquetas1: TMenuItem + Caption = 'Etiquetas' + OnClick = Etiquetas1Click + end + end + object Help1: TMenuItem + Caption = '&Ayuda' + object Contents1: TMenuItem + Caption = '&Contenido' + OnClick = Contents1Click + end + object HowtoUseHelp1: TMenuItem + Caption = '&Como usar la ayuda' + OnClick = HowtoUseHelp1Click + end + object About1: TMenuItem + Caption = '&Acerca de...' + OnClick = About1Click + end + end + end +end diff --git a/MenuPpal.h b/MenuPpal.h new file mode 100644 index 0000000..aef6891 --- /dev/null +++ b/MenuPpal.h @@ -0,0 +1,53 @@ +//--------------------------------------------------------------------------- + +#ifndef MenuPpalH +#define MenuPpalH +//--------------------------------------------------------------------------- +#include +#include +#include +#include +#include +#include +//--------------------------------------------------------------------------- +class TLanzadera : public TForm +{ +__published: // IDE-managed Components + TMainMenu *MainMenu1; + TMenuItem *Gestion1; + TMenuItem *Listados1; + TMenuItem *Hermanos1; + TMenuItem *Insignias1; + TMenuItem *Salir1; + TMenuItem *Help1; + TMenuItem *About1; + TMenuItem *HowtoUseHelp1; + TMenuItem *Contents1; + TMenuItem *Ahora1; + TMenuItem *N1; + TMenuItem *CopiadeSeguridad1; + TMenuItem *Votantes1; + TMenuItem *AcogidosaCuotaFamiliar1; + TMenuItem *RecibenNotificaciones1; + TMenuItem *ListadosdeHermans1; + TMenuItem *N2; + TMenuItem *Etiquetas1; + TImage *Image1; + TBevel *Bevel1; + void __fastcall Hermanos1Click(TObject *Sender); + void __fastcall Insignias1Click(TObject *Sender); + void __fastcall Ahora1Click(TObject *Sender); + void __fastcall CopiadeSeguridad1Click(TObject *Sender); + void __fastcall Contents1Click(TObject *Sender); + void __fastcall HowtoUseHelp1Click(TObject *Sender); + void __fastcall About1Click(TObject *Sender); + void __fastcall Etiquetas1Click(TObject *Sender); + void __fastcall Votantes1Click(TObject *Sender); +private: // User declarations +public: // User declarations + __fastcall TLanzadera(TComponent* Owner); +}; +//--------------------------------------------------------------------------- +extern PACKAGE TLanzadera *Lanzadera; +//--------------------------------------------------------------------------- +#endif diff --git a/Project1.exe b/Project1.exe new file mode 100644 index 0000000..59e6b94 Binary files /dev/null and b/Project1.exe differ diff --git a/README.md b/README.md new file mode 100644 index 0000000..48dbb87 --- /dev/null +++ b/README.md @@ -0,0 +1,9 @@ +#Herm-Win + + +*10/01/2001* + +ToDo: wwtcf? + + +![screenshot](/Herm-Win.png "Screenshot") diff --git a/herm_insignias.cpp b/herm_insignias.cpp new file mode 100644 index 0000000..26cc189 --- /dev/null +++ b/herm_insignias.cpp @@ -0,0 +1,50 @@ +//--------------------------------------------------------------------------- + +#include +#pragma hdrstop + +#include "herm_insignias.h" +//--------------------------------------------------------------------------- +#pragma package(smart_init) +#pragma resource "*.dfm" +TInsignias *Insignias; +//--------------------------------------------------------------------------- +__fastcall TInsignias::TInsignias(TComponent* Owner) + : TForm(Owner) +{ + OrdenarPor->ItemIndex = 0; + TbInsignias->Active = true; +} +//--------------------------------------------------------------------------- + +void __fastcall TInsignias::SpeedButton1Click(TObject *Sender) +{ + Close(); +} +//--------------------------------------------------------------------------- +void __fastcall TInsignias::TabControl1Change(TObject *Sender) +{ + TbInsignias->Filter = "CtoVirgen = " + (TabControl1->TabIndex ? AnsiString("True") : AnsiString("False") ); + TbInsignias->Filtered = true; + DBGrid2CellClick(0); +} +//--------------------------------------------------------------------------- +void __fastcall TInsignias::TbInsigniasNewRecord(TDataSet *DataSet) +{ + TbInsignias->FieldByName( "CtoVirgen" )->AsBoolean = TabControl1->TabIndex ? true : false; +} +//--------------------------------------------------------------------------- +void __fastcall TInsignias::DBGrid2CellClick(TColumn *Column) +{ + TbBusqHnos->Close(); + TbBusqHnos->SQL->Clear(); + TbBusqHnos->SQL->Add("SELECT NumHno, ( ( ( (Apellido1 + ' ') + Apellido2) + ', ') + Nombre) Nombre, DNI, FechaNacimiento, Antiguedad"); + TbBusqHnos->SQL->Add(" FROM \"datos\\tbHERM.db\" Tbherm " ); + TbBusqHnos->SQL->Add(" WHERE (Borrado = FALSE) AND (idInsignia = "+TbInsignias->FieldByName("idInsignia")->AsString + ")"); +// TbBusqHnos->SQL->Add("ORDER BY " + OrdenarPor->Items->Strings[OrdenarPor->ItemIndex] ); + TbBusqHnos->ExecSQL(); + TbBusqHnos->Active = true; +} +//--------------------------------------------------------------------------- + + diff --git a/herm_insignias.dfm b/herm_insignias.dfm new file mode 100644 index 0000000..90595c3 --- /dev/null +++ b/herm_insignias.dfm @@ -0,0 +1,226 @@ +object Insignias: TInsignias + Left = 324 + Top = 124 + Width = 640 + Height = 480 + Caption = 'Gestión de Insignias' + Color = clBtnFace + Constraints.MinHeight = 480 + Constraints.MinWidth = 640 + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -13 + Font.Name = 'MS Sans Serif' + Font.Style = [] + OldCreateOrder = False + Position = poScreenCenter + PixelsPerInch = 96 + TextHeight = 16 + object Splitter1: TSplitter + Left = 249 + Top = 41 + Width = 3 + Height = 408 + Cursor = crHSplit + end + object TabControl1: TTabControl + Left = 0 + Top = 41 + Width = 249 + Height = 408 + Align = alLeft + MultiLine = True + Style = tsFlatButtons + TabOrder = 0 + Tabs.Strings = ( + 'Cristo' + 'Virgen') + TabIndex = 0 + OnChange = TabControl1Change + object DBGrid2: TDBGrid + Left = 4 + Top = 30 + Width = 241 + Height = 374 + Align = alClient + DataSource = DsInsignias + TabOrder = 0 + TitleFont.Charset = DEFAULT_CHARSET + TitleFont.Color = clWindowText + TitleFont.Height = -13 + TitleFont.Name = 'MS Sans Serif' + TitleFont.Style = [] + OnCellClick = DBGrid2CellClick + Columns = < + item + Expanded = False + FieldName = 'Insignia' + Width = 146 + Visible = True + end + item + Expanded = False + FieldName = 'Suplemento' + Visible = True + end> + end + end + object Panel1: TPanel + Left = 0 + Top = 0 + Width = 632 + Height = 41 + Align = alTop + BevelOuter = bvNone + TabOrder = 1 + object Image1: TImage + Left = 592 + Top = 2 + Width = 32 + Height = 32 + AutoSize = True + Picture.Data = { + 055449636F6E0000010001002020100000000000E80200001600000028000000 + 2000000040000000010004000000000080020000000000000000000000000000 + 0000000000000000000080000080000000808000800000008000800080800000 + C0C0C000808080000000FF0000FF000000FFFF00FF000000FF00FF00FFFF0000 + FFFFFF0000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000FFFFFFFFFFFFFFFFFFEAAFFFFFD005FFFF4FF2FFFEBFFD7FFD7FFEBF + FAFBDF7FF5F99F9FF5FC3FAFF3FDBFCFEBCA53D7F3E007CFEBE007D7F3CA53CF + EBFC3FD7F5FC3FAFF5F99FAFFAFBDF5FFD7FFEBFFEBFFD7FFF5FFAFFFFB00FFF + FFE007FFFFE80BFFFFDE39FFFFDD5DFFFFEB6BFFFFE553FFFFFE3FFFFFFF7FFF + FFFF7FFF} + end + object Bevel1: TBevel + Left = 591 + Top = 1 + Width = 34 + Height = 34 + Shape = bsFrame + end + object SpeedButton1: TSpeedButton + Left = 8 + Top = 4 + Width = 32 + Height = 32 + Glyph.Data = { + 76010000424D7601000000000000760000002800000020000000100000000100 + 04000000000000010000120B0000120B00001000000000000000000000000000 + 800000800000008080008000000080008000808000007F7F7F00BFBFBF000000 + FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFFFF00330000000000 + 03333377777777777F333301111111110333337F333333337F33330111111111 + 0333337F333333337F333301111111110333337F333333337F33330111111111 + 0333337F333333337F333301111111110333337F333333337F33330111111111 + 0333337F3333333F7F333301111111B10333337F333333737F33330111111111 + 0333337F333333337F333301111111110333337F33FFFFF37F3333011EEEEE11 + 0333337F377777F37F3333011EEEEE110333337F37FFF7F37F3333011EEEEE11 + 0333337F377777337F333301111111110333337F333333337F33330111111111 + 0333337FFFFFFFFF7F3333000000000003333377777777777333} + NumGlyphs = 2 + OnClick = SpeedButton1Click + end + object SpeedButton2: TSpeedButton + Left = 42 + Top = 4 + Width = 32 + Height = 32 + end + object Label1: TLabel + Left = 248 + Top = 8 + Width = 89 + Height = 20 + Caption = 'Ordenar por:' + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = 'MS Sans Serif' + Font.Style = [] + ParentFont = False + end + object OrdenarPor: TComboBox + Left = 344 + Top = 8 + Width = 233 + Height = 24 + ItemHeight = 16 + TabOrder = 0 + Text = 'Apellido1, Apellido2, Nombre' + Items.Strings = ( + 'Apellido1, Apellido2, Nombre' + 'NumHno' + 'FechaAntiguedad, FechaNacimiento') + end + end + object DBGrid1: TDBGrid + Left = 252 + Top = 41 + Width = 380 + Height = 408 + Align = alClient + Color = clMenu + DataSource = DsBusqHnos + TabOrder = 2 + TitleFont.Charset = DEFAULT_CHARSET + TitleFont.Color = clWindowText + TitleFont.Height = -13 + TitleFont.Name = 'MS Sans Serif' + TitleFont.Style = [] + end + object DsBusqHnos: TDataSource + DataSet = TbBusqHnos + Left = 292 + Top = 180 + end + object TbInsignias: TTable + OnNewRecord = TbInsigniasNewRecord + Filter = 'CtoVirgen=False' + FieldDefs = < + item + Name = 'idInsignia' + Attributes = [faReadonly] + DataType = ftAutoInc + end + item + Name = 'CtoVirgen' + DataType = ftBoolean + end + item + Name = 'Insignia' + DataType = ftString + Size = 30 + end + item + Name = 'Suplemento' + DataType = ftCurrency + end> + StoreDefs = True + TableName = 'datos\TbInsignias.db' + Left = 380 + Top = 329 + end + object DsInsignias: TDataSource + DataSet = TbInsignias + Left = 380 + Top = 305 + end + object TbBusqHnos: TQuery + Left = 296 + Top = 208 + end +end diff --git a/herm_insignias.h b/herm_insignias.h new file mode 100644 index 0000000..03f0d0c --- /dev/null +++ b/herm_insignias.h @@ -0,0 +1,48 @@ +//--------------------------------------------------------------------------- + +#ifndef herm_insigniasH +#define herm_insigniasH +//--------------------------------------------------------------------------- +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +//--------------------------------------------------------------------------- +class TInsignias : public TForm +{ +__published: // IDE-managed Components + TTabControl *TabControl1; + TDBGrid *DBGrid2; + TDataSource *DsBusqHnos; + TTable *TbInsignias; + TDataSource *DsInsignias; + TPanel *Panel1; + TImage *Image1; + TBevel *Bevel1; + TSpeedButton *SpeedButton1; + TSpeedButton *SpeedButton2; + TLabel *Label1; + TComboBox *OrdenarPor; + TQuery *TbBusqHnos; + TDBGrid *DBGrid1; + TSplitter *Splitter1; + void __fastcall SpeedButton1Click(TObject *Sender); + void __fastcall TabControl1Change(TObject *Sender); + void __fastcall TbInsigniasNewRecord(TDataSet *DataSet); + void __fastcall DBGrid2CellClick(TColumn *Column); +private: // User declarations +public: // User declarations + __fastcall TInsignias(TComponent* Owner); +}; +//--------------------------------------------------------------------------- +extern PACKAGE TInsignias *Insignias; +//--------------------------------------------------------------------------- +#endif diff --git a/herm_win.bpr b/herm_win.bpr new file mode 100644 index 0000000..a1a33d6 --- /dev/null +++ b/herm_win.bpr @@ -0,0 +1,110 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +[Version Info] +IncludeVerInfo=0 +AutoIncBuild=0 +MajorVer=1 +MinorVer=0 +Release=0 +Build=0 +Debug=0 +PreRelease=0 +Special=0 +Private=0 +DLL=0 +Locale=3082 +CodePage=1252 + +[Version Info Keys] +CompanyName= +FileDescription= +FileVersion=1.0.0.0 +InternalName= +LegalCopyright= +LegalTrademarks= +OriginalFilename= +ProductName= +ProductVersion=1.0.0.0 +Comments= + +[Excluded Packages] +$(BCB)\Projects\Bpl\Dialup.bpl=RAS Tools + +[Debugging] +DebugSourceDirs=$(BCB)\source\vcl + +[Parameters] +RunParams= +HostApplication= +RemoteHost= +RemotePath= +RemoteDebug=0 + +[Compiler] +ShowInfoMsgs=0 +LinkDebugVcl=0 +LinkCGLIB=0 + +[CORBA] +AddServerUnit=1 +AddClientUnit=1 +PrecompiledHeaders=1 + +[Language] +ActiveLang= +ProjectLang= +RootDir= + + \ No newline at end of file diff --git a/herm_win.cpp b/herm_win.cpp new file mode 100644 index 0000000..d772d1f --- /dev/null +++ b/herm_win.cpp @@ -0,0 +1,28 @@ +//--------------------------------------------------------------------------- +#include +#pragma hdrstop +USERES("herm_win.res"); +USEFORM("Herm.cpp", GestionHnos); +USEFORM("ListInit.cpp", AcercaDe); +USEFORM("herm_insignias.cpp", Insignias); +USEFORM("MenuPpal.cpp", Lanzadera); +USEFORM("Etiquetas.cpp", QREtiquetas); +USEFORM("ListVotantes.cpp", QRVotantes); +//--------------------------------------------------------------------------- +WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int) +{ + try + { + Application->Initialize(); + Application->Title = "Herm 1.5"; + Application->CreateForm(__classid(TLanzadera), &Lanzadera); + Application->CreateForm(__classid(TAcercaDe), &AcercaDe); + Application->Run(); + } + catch (Exception &exception) + { + Application->ShowException(&exception); + } + return 0; +} +//--------------------------------------------------------------------------- diff --git a/herm_win.exe b/herm_win.exe new file mode 100644 index 0000000..a0c10db Binary files /dev/null and b/herm_win.exe differ diff --git a/herm_win.res b/herm_win.res new file mode 100644 index 0000000..357bb57 Binary files /dev/null and b/herm_win.res differ diff --git a/logo.jpg b/logo.jpg new file mode 100644 index 0000000..d6719db Binary files /dev/null and b/logo.jpg differ