3.3.7
This commit is contained in:
parent
094aee150e
commit
474c847553
15 changed files with 150 additions and 90 deletions
|
|
@ -17,19 +17,25 @@
|
|||
//#define DebugWrite(f,...) ;
|
||||
//#endif
|
||||
|
||||
|
||||
|
||||
#ifdef _DEBUG
|
||||
#define DebugWrite_IsActive() true
|
||||
#else
|
||||
#define DebugWrite_IsActive() (g_EnableReleaseLogging)
|
||||
#endif
|
||||
|
||||
#define DebugWrite(f, ...) \
|
||||
do { \
|
||||
do { \
|
||||
if (DebugWrite_IsActive()) { \
|
||||
auto _msg = std::format(f, ##__VA_ARGS__); \
|
||||
OutputDebugStringA(_msg.c_str()); \
|
||||
} while (0)
|
||||
#else
|
||||
#define DebugWrite(f, ...) do {} while (0)
|
||||
#endif
|
||||
} \
|
||||
} while (0)
|
||||
|
||||
constexpr int SleepAfterClear = 2000;
|
||||
|
||||
|
||||
bool g_EnableReleaseLogging;
|
||||
Epd3Base::Epd3U* current;
|
||||
|
||||
void Epd3Base::Epd3U::ResetStepReturnValues()
|
||||
|
|
@ -209,11 +215,11 @@ Epd3Base::Epd3U::Epd3U(int _comport)
|
|||
|
||||
EndNotifyAlarm = 0b1001110011000111;
|
||||
EndNotifyAlarmDuration = 10;
|
||||
g_EnableReleaseLogging = 0;
|
||||
|
||||
if (_comport == 0) return;
|
||||
if (hCompletion == 0) hCompletion = CreateEvent(NULL, TRUE, FALSE, NULL);
|
||||
if (hCancel == 0) hCancel = CreateEvent(NULL, TRUE, FALSE, NULL);
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
|
@ -234,7 +240,7 @@ int Epd3Base::Epd3U::DisconnectAndConnect()
|
|||
int tries = 3; rv = 1;
|
||||
while (rv && --tries>=0) {
|
||||
rv = Connect3(epdComsHandle, Epd, true);
|
||||
DebugWrite( "**** DisconnectAndConnect rv=%d tries %d ****\n", rv, tries);
|
||||
DebugWrite("**** DisconnectAndConnect rv={} tries {} ****\n", rv, tries);
|
||||
if (rv) Sleep(100);
|
||||
}
|
||||
|
||||
|
|
@ -328,7 +334,7 @@ void Epd3Base::Epd3U::EndCom(bool doDiscon)
|
|||
int rv;
|
||||
if (CommsInitialized == 1 || CurrentDeviceID != 0) {
|
||||
if (CommsInitialized == 1) {
|
||||
DebugWrite( "**** EndCom(%d) is Connected=%d ****\n", doDiscon, isConnected);
|
||||
DebugWrite("**** EndCom({}) is Connected={} ****\n", doDiscon, isConnected);
|
||||
|
||||
if (epdComsHandle != nullptr) {
|
||||
if (doDiscon && isConnected) { DisCon(0); }
|
||||
|
|
@ -344,6 +350,7 @@ void Epd3Base::Epd3U::EndCom(bool doDiscon)
|
|||
}
|
||||
}
|
||||
Epd.Id = 0;
|
||||
Epd.Id = 0;
|
||||
CurrentDeviceID = 0;
|
||||
CommsInitialized = 0;
|
||||
epdComsHandle = nullptr;
|
||||
|
|
@ -445,10 +452,11 @@ int Epd3Base::Epd3U::ReConnect()
|
|||
{
|
||||
Dll3RV = Connect3(epdComsHandle, Epd, true);
|
||||
if (Dll3RV) {
|
||||
DebugWrite("**** Connect3 rv {} ****\n", Dll3RV);
|
||||
Sleep(50);
|
||||
Dll3RV = Connect3(epdComsHandle, Epd, true);
|
||||
}
|
||||
DebugWrite("**** ReOpenDev rv%d v %d ****\n", Dll3RV, HardVersionMinor);
|
||||
DebugWrite("**** ReConnect rv {} v {} ****\n", Dll3RV, HardVersionMinor);
|
||||
}
|
||||
else {
|
||||
OutputDebugStringA("**** ReOpen no epdComsHandle ****\n");
|
||||
|
|
@ -471,7 +479,7 @@ int Epd3Base::Epd3U::DisCon(UINT16 alarm)
|
|||
|
||||
int rv = 0;
|
||||
int step = 0;
|
||||
DebugWrite( "**** Discon(%hu) ****\n", alarm);
|
||||
DebugWrite( "**** Discon({}) ****\n", alarm);
|
||||
|
||||
if (CurrentDeviceID != 0) {
|
||||
ResetEvent(hCompletion);
|
||||
|
|
@ -479,7 +487,7 @@ int Epd3Base::Epd3U::DisCon(UINT16 alarm)
|
|||
step = 1;
|
||||
//Dll3RV = SetDisconnectCallback(epdComsHandle, disconnectcallback); //in start
|
||||
if (alarm) {
|
||||
DebugWrite("**** DisconnectAndNotify(%hX,15) HardVersionMinor: %d ****\n", EndNotifyAlarm, HardVersionMinor);
|
||||
DebugWrite("**** DisconnectAndNotify({}) HardVersionMinor: {} ****\n", EndNotifyAlarm, HardVersionMinor);
|
||||
|
||||
/*if (HardVersionMinor > 0) {
|
||||
SetFunctionReturnValue(TestVibe, 0);
|
||||
|
|
@ -658,7 +666,7 @@ void WINAPI ReadStatusCompletion(CommsHandle hComms, CompletionToken token)
|
|||
current->ErrorStatus = current->epd3status.FaultStatus;
|
||||
current->OtherAlarms = current->epd3status.OtherBits;
|
||||
current->DecodeStatus(); //Alarm status...
|
||||
DebugWrite("**** ReadStatusCompletion %04x ****\n", (uint32_t)current->OperatingStatus);
|
||||
DebugWrite("**** ReadStatusCompletion {:x} ****\n", (uint32_t)current->OperatingStatus);
|
||||
SetEvent(current->hCompletion);
|
||||
}
|
||||
|
||||
|
|
@ -729,17 +737,23 @@ int Epd3Base::Epd3U::ReadStatus(bool onlyStatus)
|
|||
SetFunctionReturnValue(eFunctions::ReadStatus,0);
|
||||
token = BeginReadStatus(epdComsHandle, nullptr);
|
||||
rv = CommitAndSetRV();
|
||||
|
||||
if (!rv)
|
||||
if (!rv)
|
||||
rv = EndReadStatus(epdComsHandle, token, &epd3status);
|
||||
else
|
||||
DebugWrite("Commit error {}\n", rv);
|
||||
;
|
||||
rv2 = SetEndReturnValue(rv);
|
||||
|
||||
if (rv < 0) {
|
||||
// opnieuw ?
|
||||
if (rv==r_ErrorNotConnected) rv = ReConnect();
|
||||
token = BeginReadStatus(epdComsHandle, nullptr);
|
||||
rv = CommitAndSetRV();
|
||||
if (!rv)
|
||||
rv = EndReadStatus(epdComsHandle, token, &epd3status);
|
||||
else
|
||||
DebugWrite("Commit error {}\n", rv);
|
||||
;
|
||||
rv2 = SetEndReturnValue(rv);
|
||||
}
|
||||
|
||||
|
|
@ -778,7 +792,6 @@ int Epd3Base::Epd3U::ReadStatus(bool onlyStatus)
|
|||
if (!rv) rv = EndReadEpdIdentities(epdComsHandle, token, &EpdID32, (EpdTypes*)&EpdType, &capabilities, &MarkNumber, &VersionNumber, NULL, 0);
|
||||
rv = SetEndReturnValue(rv);
|
||||
if (rv != 0) {
|
||||
|
||||
EPDStepResult = EpdStepResults::Error;
|
||||
goto error;
|
||||
} else EPDStepResult = EpdStepResults::OK;
|
||||
|
|
@ -799,6 +812,9 @@ int Epd3Base::Epd3U::ReadStatus(bool onlyStatus)
|
|||
token = BeginReadCounts(epdComsHandle, nullptr, 0, nullptr);
|
||||
rv = CommitAndSetRV();
|
||||
if (!rv) rv = EndReadCounts(epdComsHandle, token, Counts, MaxCounts, &countsRead, &utc, &seconds);
|
||||
else
|
||||
DebugWrite("Commit EndReadCounts error {}\n", rv);
|
||||
;
|
||||
rv2= SetEndReturnValue(rv);
|
||||
if (rv) {
|
||||
|
||||
|
|
@ -820,6 +836,9 @@ int Epd3Base::Epd3U::ReadStatus(bool onlyStatus)
|
|||
rv = CommitAndSetRV();
|
||||
if (!rv)
|
||||
rv = EndReadRTC(epdComsHandle, token, &utc); //EpdClock for MK2
|
||||
else
|
||||
DebugWrite("Commit EndReadRTCerror {}\n", rv);
|
||||
;
|
||||
rv2= SetEndReturnValue(rv);
|
||||
if (rv) {
|
||||
EPDStepResult = EpdStepResults::Error;
|
||||
|
|
@ -843,7 +862,7 @@ int Epd3Base::Epd3U::ReadStatus(bool onlyStatus)
|
|||
mk3WearerID.Length = 0;
|
||||
//Mk2 EPDs only support Name and Primary ID
|
||||
|
||||
ReConnect();
|
||||
|
||||
EPDStep = EpdSteps::StepReadWearerId;
|
||||
//batchstep = 0;
|
||||
SetFunctionReturnValue(ReadWearerId, 0);
|
||||
|
|
@ -851,6 +870,10 @@ int Epd3Base::Epd3U::ReadStatus(bool onlyStatus)
|
|||
rv = CommitAndSetRV();
|
||||
|
||||
if (!rv) rv = EndReadWearerId(epdComsHandle, token, &mk3WearerID);
|
||||
else
|
||||
DebugWrite("Commit EndReadWearerID error {}\n", rv);
|
||||
;
|
||||
|
||||
rv = SetEndReturnValue(rv);
|
||||
if (rv != 0) {
|
||||
EPDStepResult = EpdStepResults::Error;
|
||||
|
|
@ -862,11 +885,14 @@ int Epd3Base::Epd3U::ReadStatus(bool onlyStatus)
|
|||
|
||||
step = 5;
|
||||
//batchstep = 1;
|
||||
ReConnect();
|
||||
|
||||
SetFunctionReturnValue(ReadWearerId, 0);
|
||||
token = BeginReadWearerId(epdComsHandle, static_cast<uint16_t>(WearerIdType::WearerId_Primary), nullptr);
|
||||
rv = CommitAndSetRV();
|
||||
if (!rv) rv = EndReadWearerId(epdComsHandle, token, &mk3WearerID);
|
||||
else
|
||||
DebugWrite("Commit EndReadCounts error {}\n", rv);
|
||||
;
|
||||
rv = SetEndReturnValue(rv);
|
||||
if (rv != 0) {
|
||||
EPDStepResult = EpdStepResults::Error;
|
||||
|
|
@ -1057,6 +1083,11 @@ void Epd3Base::Epd3U::decodePeakRates(int count)
|
|||
}
|
||||
}
|
||||
}
|
||||
void Epd3Base::Epd3U::SetReleaseLogging(bool doLog)
|
||||
{
|
||||
g_EnableReleaseLogging = doLog;
|
||||
}
|
||||
|
||||
void Epd3Base::Epd3U::decodeCounters(int count)
|
||||
{
|
||||
HG = SG = BC = FB = 0;
|
||||
|
|
@ -1441,7 +1472,7 @@ WORD Epd3Base::Epd3U::PrepareForIssue()
|
|||
if (WriteConfig32) {
|
||||
rv = WriteConfig();
|
||||
//if (rv != 0) goto error; //non blocking on error
|
||||
rv = ReConnect();
|
||||
//rv = ReConnect();
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -1453,8 +1484,13 @@ WORD Epd3Base::Epd3U::PrepareForIssue()
|
|||
if (!DetectorsOn) {
|
||||
token = BeginEpdOnOff(epdComsHandle, 1, nullptr);
|
||||
rv = Commit3(epdComsHandle);
|
||||
if (!rv) rv = EndEpdOnOff(epdComsHandle, token);
|
||||
rv = ReConnect();
|
||||
rv = EndEpdOnOff(epdComsHandle, token);
|
||||
if (rv == r_ErrorNotConnected) {
|
||||
rv = ReConnect();
|
||||
token = BeginEpdOnOff(epdComsHandle, 1, nullptr);
|
||||
rv = Commit3(epdComsHandle);
|
||||
rv = EndEpdOnOff(epdComsHandle, token);
|
||||
}
|
||||
DetectorsOn = 1;
|
||||
}
|
||||
if (rv != 0)
|
||||
|
|
@ -1488,7 +1524,7 @@ WORD Epd3Base::Epd3U::PrepareForIssue()
|
|||
return rv;
|
||||
|
||||
error:
|
||||
DebugWrite("**** After clear step %d error %d ****\n", EPDSubStep, rv);
|
||||
DebugWrite("**** After clear step {} error {} ****\n", EPDSubStep, rv);
|
||||
ErrorStep = EPDSubStep;
|
||||
Error = rv;
|
||||
if (progressCallback) progressCallback(EPDStep, EPDStepResult);
|
||||
|
|
@ -1584,7 +1620,7 @@ WORD Epd3Base::Epd3U::DeIssue()
|
|||
|
||||
if (EPDIssued)
|
||||
{
|
||||
ReConnect();
|
||||
if (isConnected) ReConnect();
|
||||
#if DeissueWithClear
|
||||
ErrorStep = 2;
|
||||
r = ClearDoses();
|
||||
|
|
@ -1600,14 +1636,20 @@ WORD Epd3Base::Epd3U::DeIssue()
|
|||
EPDStepResult = EpdStepResults::OK;
|
||||
else
|
||||
EPDStepResult = EpdStepResults::Error;
|
||||
//Sleep(50);
|
||||
Sleep(50);
|
||||
}
|
||||
progressCallback(EPDStep, EPDStepResult);
|
||||
ReConnect();
|
||||
|
||||
SetFunctionReturnValue(eFunctions::EpdOnOff,0);
|
||||
token = BeginEpdOnOff(epdComsHandle, 0, nullptr);
|
||||
r = CommitAndEnd2RV(EndEpdOnOff, token);
|
||||
Sleep(50);
|
||||
|
||||
if (!r) {
|
||||
if (!isConnected) ReConnect();
|
||||
token = BeginEpdOnOff(epdComsHandle, 0, nullptr);
|
||||
r = CommitAndEnd2RV(EndEpdOnOff, token);
|
||||
}
|
||||
|
||||
|
||||
if (r) goto error;
|
||||
return r;
|
||||
|
|
@ -1923,7 +1965,9 @@ int Epd3Base::Epd3U::IssueAndCheck(float gain, float ChirpRate)
|
|||
token = BeginEpdOnOff(epdComsHandle, 0, nullptr);
|
||||
rv = Commit3(epdComsHandle);
|
||||
if (!rv) rv = EndEpdOnOff(epdComsHandle, token);
|
||||
rv = ReConnect();
|
||||
|
||||
Sleep(50);
|
||||
if (!isConnected) rv = ReConnect();
|
||||
DetectorsOn = 0;
|
||||
}
|
||||
|
||||
|
|
@ -2020,8 +2064,8 @@ int Epd3Base::Epd3U::WriteConfig(void)
|
|||
int32_t r = 0;
|
||||
ECLen = 32;
|
||||
|
||||
DebugWrite("**** WriteCfg v %d.%d ****\n", HardVersion, HardVersionMinor);
|
||||
r = ReConnect();
|
||||
DebugWrite("**** WriteCfg v {}.{} ****\n", HardVersion, HardVersionMinor);
|
||||
if (!isConnected) r = ReConnect();
|
||||
// Become admin
|
||||
SetFunctionReturnValue(eFunctions::WriteAccessLevelAdmin,0);
|
||||
token = BeginWriteAccessLevel(epdComsHandle, AccessLevel_t::Admin, EC, ECLen, nullptr);
|
||||
|
|
@ -2141,7 +2185,8 @@ int Epd3Base::Epd3U::WriteConfig(void)
|
|||
token = BeginWriteOffModeDisplay_R3(epdComsHandle, dutyCycle, offModeDispId, nullptr);
|
||||
r = CommitAndEnd2RV(EndWriteOffModeDisplay_R3, token);
|
||||
|
||||
if (r != 0)
|
||||
/* //Does not seem to work on new
|
||||
if (r != 0)
|
||||
Error = r;
|
||||
else {
|
||||
uint8_t OnOfenabled = 0;
|
||||
|
|
@ -2150,18 +2195,20 @@ int Epd3Base::Epd3U::WriteConfig(void)
|
|||
r = CommitAndEnd2RV(EndWriteSwitchOnFromButton_R3, token);
|
||||
if (r != 0)
|
||||
Error = r;
|
||||
}
|
||||
//Back to Open
|
||||
if (!r) {
|
||||
}*/
|
||||
|
||||
|
||||
//Back to Open : always
|
||||
//if (!r) {
|
||||
SetFunctionReturnValue(eFunctions::WriteAccessLevelOpen, 0);
|
||||
token = BeginWriteAccessLevel(epdComsHandle, AccessLevel_t::Open, nullptr, 0, nullptr);
|
||||
r = CommitAndEnd2RV(EndWriteAccessLevel, token);
|
||||
if (r != 0)
|
||||
Error = r;
|
||||
}
|
||||
//}
|
||||
Sleep(200);
|
||||
//r = DisconnectAndConnect();
|
||||
r = ReConnect();
|
||||
//r = ReConnect();
|
||||
if (r != 0)
|
||||
Error = r;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -77,6 +77,8 @@ namespace Epd3Base {
|
|||
int32_t Dll3RV;
|
||||
UINT16 EndSessionControl;
|
||||
UINT16 EndNotifyAlarm, EndNotifyAlarmDuration;
|
||||
|
||||
|
||||
public:
|
||||
//HANDLE hWaitTimer = 0;
|
||||
HANDLE hCompletion = 0;
|
||||
|
|
@ -331,6 +333,7 @@ namespace Epd3Base {
|
|||
void decodePeakRates(int count);
|
||||
|
||||
public:
|
||||
void SetReleaseLogging(bool doLog);
|
||||
int SetFunctionReturnValue(eFunctions f, BYTE CanIgnore);
|
||||
void SetCommitReturnValue(int rv);
|
||||
void SetCommitReturnValue(int step, int rv);
|
||||
|
|
|
|||
|
|
@ -23,6 +23,14 @@ int EpdBaseClr::Epd2::SetEndNotifyAlarm(UInt16 NotifyAlarm, UINT16 NotifyAlarmDu
|
|||
}
|
||||
return 0;
|
||||
}
|
||||
int EpdBaseClr::Epd2::SetReleaseLogging(bool doLog )
|
||||
{
|
||||
if (epd3) {
|
||||
epd3->SetReleaseLogging( doLog);
|
||||
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
int EpdBaseClr::Epd2::GetSteps()
|
||||
{
|
||||
int nsteps = (int)epd3->CurrentStep + 1;
|
||||
|
|
|
|||
|
|
@ -407,6 +407,7 @@ namespace EpdBaseClr {
|
|||
bool HasStepError();
|
||||
|
||||
int SetEndNotifyAlarm(UInt16 NotifyAlarm, UINT16 NotifyAlarmDuration);
|
||||
int SetReleaseLogging(bool doLog);
|
||||
|
||||
private:
|
||||
int AfterGetStatus(EpdBase::Epd2U* epd);
|
||||
|
|
|
|||
|
|
@ -1,13 +1,13 @@
|
|||
#pragma once
|
||||
|
||||
// C++ / Win32 resource editor vereist getallen met komma's
|
||||
#define VERSION_MAJOR 2
|
||||
#define VERSION_MINOR 1
|
||||
#define VERSION_MAJOR 3
|
||||
#define VERSION_MINOR 4
|
||||
#define VERSION_BUILD 0
|
||||
#define VERSION_REVISION 0
|
||||
|
||||
// Strings voor de tekstuele weergave
|
||||
#define VERSION_STRING "2.1.0.0"
|
||||
#define VERSION_STRING "3.4.0.0"
|
||||
#define COPYRIGHT_STRING "Copyright (c) 2019-2026 LSW-Tech Luc Vandenbroucke"
|
||||
#define COMPANY_STRING "LSW-Tech"
|
||||
#define PRODUCT_STRING "EpdBaseClr"
|
||||
|
|
|
|||
|
|
@ -980,6 +980,7 @@ namespace eDosStation
|
|||
#if DEBUG
|
||||
ep.SetEndNotifyAlarm(0, 0);
|
||||
#endif
|
||||
ep.SetReleaseLogging(true);
|
||||
ep.EpdRead += Ep_EpdRead;
|
||||
ep.EpdError += Ep_EpdError;
|
||||
ep.EpdTO += Ep_EpdTO;
|
||||
|
|
|
|||
|
|
@ -74,5 +74,5 @@ using System.Windows;
|
|||
//2026-08-07 3.00 optimized
|
||||
//2026-08-17 3.01 telerik upgrade, cleanup old files
|
||||
//2026-08-17 3.03 reconnect,issuewithalarms
|
||||
[assembly: AssemblyVersion("3.3.3.0")]
|
||||
[assembly: AssemblyFileVersion("3.3.3.0")]
|
||||
[assembly: AssemblyVersion("3.3.7.0")]
|
||||
[assembly: AssemblyFileVersion("3.3.7.0")]
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
31/08/2026 10:21:38,16
|
||||
02/09/2026 9:07:58,26
|
||||
|
|
|
|||
|
|
@ -117,7 +117,7 @@ namespace eDosStation
|
|||
step = "AllowMultipleEPD";
|
||||
thisStation.AllowMultipleEPD = cbAllowMultipleEPD.IsChecked != null ? cbAllowMultipleEPD.IsChecked.Value : false;
|
||||
|
||||
//thisStation.WriteConfig32 = cbWriteConfig32.IsChecked != null ? cbWriteConfig32.IsChecked.Value : false;
|
||||
thisStation.WriteConfig32 = cbWriteConfig32.IsChecked != null ? cbWriteConfig32.IsChecked.Value : false;
|
||||
|
||||
thisStation.LogAll = cbLogAll.IsChecked != null ? cbLogAll.IsChecked.Value : false;
|
||||
|
||||
|
|
|
|||
Binary file not shown.
Binary file not shown.
|
|
@ -208,17 +208,17 @@ exit
|
|||
# RGlnaUNlcnQsIEluYy4xQTA/BgNVBAMTOERpZ2lDZXJ0IFRydXN0ZWQgRzQgVGlt
|
||||
# ZVN0YW1waW5nIFJTQTQwOTYgU0hBMjU2IDIwMjUgQ0ExAhAKgO8YS43xBYLRxHan
|
||||
# lXRoMA0GCWCGSAFlAwQCAQUAoGkwGAYJKoZIhvcNAQkDMQsGCSqGSIb3DQEHATAc
|
||||
# BgkqhkiG9w0BCQUxDxcNMjYwODMxMDc1OTUyWjAvBgkqhkiG9w0BCQQxIgQgwGts
|
||||
# BgkqhkiG9w0BCQUxDxcNMjYwODMxMTgwMzI0WjAvBgkqhkiG9w0BCQQxIgQgwGts
|
||||
# hmgwg+1No3Bfq4IiEmxiCsjb9Jy7A/l9sT7ewm0wDQYJKoZIhvcNAQEBBQAEggIA
|
||||
# cvsOCpSZpQf3Emtc/zehpXgySBPe+9KB/nBi0Hm94mtVNjVWJ/jBzIfMvdwlB39i
|
||||
# r2m+V2K6mI0WtsR6DW0bNvbnqS31B/d68FW7/dgKaoaWBL+SQkxqjNwbFwmljSdO
|
||||
# 2E126RreL8IRPNMfu1LY2d56gyxdlten0IJk/2MmJR70drMzNvK8WBYdQ6ecuBFE
|
||||
# bRPiYbSffgdhbuhM/aBfIQvNlnOyugO3h41ZKUaUdKIPWnBFk3Ct4w5Xy8f0R0hn
|
||||
# YzJmY011BuEZnVgBZ06NVFWEXZKg6O0S6TsZPrHNv9b1aP+kqv6TO4zOqeb0ugrh
|
||||
# 5x/j4hyy3/R3lXKtFBHYAlSiNwwZPHxOQNABKDJygtsO9fudyrO9aWCZp2+7r0z6
|
||||
# 103hgBwU9Jz3ObBDIvAtqmw3uUANmuejs0vYH1REJUjIbBeExFNkppkZbnNOY8B6
|
||||
# uh88APOpU+tWoZX83WuuTgBCsSmQeVQ1PjFs5H/dIfCsBM2L5t7ATuKIDXc2D0At
|
||||
# EnEW2ACZXyGxmWbzgREigSINVv/ABEj8jCHCFOH24RADCSUUYxm2W7vollT6fJv/
|
||||
# z5PzJQd04fSARUDRVYSBslydGIopOhZeKEpSarZHphhGw1kXJoz9Gh2+fxYBBHJ9
|
||||
# byiLjvCb5w7bcGPm6YdI431EHqayX4jxky3To5IaWPI=
|
||||
# f/N4enJSMgXCkOZcWVgSqGx6mabHRab92kAFxLK938zA4HoqBJ8J0wIu6VRoykK7
|
||||
# RCIXVC+FwfeKFZAKlaRQGGaViyUw2D7Wn6+hVAQE5YSQgHy1KmTI36fthxQ7UVpZ
|
||||
# KVOmXtM1D9Q8g+5fhYvkhM5E36unirDllY16eYgsnjfZrkELSUrrSwfU5NDXBw4t
|
||||
# ovdCuO8ZEsEig0VQ+LIWzTv+v1tzT5sw0AK5nEFOvZGuFUSfx36FH4v01SFRocf2
|
||||
# X3lr3FghD93nhxRmgMkc6VT3UzjY8AE3R4HnMrX/5dWEC8QbGrYgsC+fpl8QmUr4
|
||||
# MiS3CsxrpKsfFqUL8qeK3MbEnKowecHqYgW6GNASr6duYYbXfcLj0n7pLUzVNl+p
|
||||
# Ybxx71JqP2j+7MWO29hMmdNNkjwYCJhjkhkBTixD8eiCCZOP76xheJrYto+kSlEL
|
||||
# 24IZol+q9WQQGrKkmwlIXYlNu6hjR3aMoK81pdtJCf88hObNldOk7M/3AnFF9PQQ
|
||||
# dCnxAnCKYy1P4dedKAhJ6uXBjvCJRO2dbOMLPV7SCsgcqf9ffEed/ktgpbsUixuE
|
||||
# dIKIQ9yZnvUcCyxLDkzP+sWiDnHZd4gbH5ah1WHxZT9mlzQZsvi/gToFd74C7loi
|
||||
# J4YTuJYWfe+8J2PUrYf1e/rd361gIulbFQPwK+oZ7Ds=
|
||||
# SIG # End signature block
|
||||
|
|
|
|||
|
|
@ -326,17 +326,17 @@ exit
|
|||
# RGlnaUNlcnQsIEluYy4xQTA/BgNVBAMTOERpZ2lDZXJ0IFRydXN0ZWQgRzQgVGlt
|
||||
# ZVN0YW1waW5nIFJTQTQwOTYgU0hBMjU2IDIwMjUgQ0ExAhAKgO8YS43xBYLRxHan
|
||||
# lXRoMA0GCWCGSAFlAwQCAQUAoGkwGAYJKoZIhvcNAQkDMQsGCSqGSIb3DQEHATAc
|
||||
# BgkqhkiG9w0BCQUxDxcNMjYwODMxMDc1OTUxWjAvBgkqhkiG9w0BCQQxIgQgTGPs
|
||||
# BgkqhkiG9w0BCQUxDxcNMjYwODMxMTgwMzI0WjAvBgkqhkiG9w0BCQQxIgQgTGPs
|
||||
# FQqQd9/aeqf+k/SnUJpze+872YJTIc/3H1ODCfAwDQYJKoZIhvcNAQEBBQAEggIA
|
||||
# Fkvhb0wc0jy2NZLh82z61SHTp2Bry3qDGPU/aRZx9cyIRx8E0SeuSapnOBWJOrNv
|
||||
# 12QfLlBIKBx8cwTarBYJ730QBW1xnJOATwf/73DGu8ovm3Cp6ii40d1mZRvoP+9j
|
||||
# 9MzZVbyhrjgl/FZGtmHG/jbBVkA8XdXIYOPSpHmLzQTZgkuJgaKQcxszaXGvEuDW
|
||||
# B2NEOxbYWUMsArkvxuP23y300pyCRoJ9UBRaItWFYQSYB+GOyxbat/WEesMJzqaS
|
||||
# uBdJTzrM9nVX9SEu6TvovEqYhfXIv/cCtKUv8SgiRXUqYS4T5uOabaRvogzIsp6w
|
||||
# eboA3FiVb8wByeYZAmKbOrAPNaq537zg82XQ8DYF7K1/WyeczNFzCsF+WisRTOvQ
|
||||
# kIxmkbinuv39iw5u+WsycMvHT1vzL+nxKB2E0yzWvPv6Z8rBAGWtkzGivnfHBIqH
|
||||
# He2rOkSY8MUPF/+KvY/anu4tXTUvqEQy0DpknKri5NP1i3DEIAH3rrm7r9eCpDWC
|
||||
# NhvONtsPiT5M+JBQfhWg70Rs8dRhJfbu3tNWauWIM+guXzT6yEvuqwEdHbEG9GrN
|
||||
# u9ePh2hZ7Gbr/IbglmcJlAo34Lqvm3p0YJs32vh+rNnXzVqwzZMkqJ6qftUkR+HS
|
||||
# mv32Ijg/LNEUzY9fFM/7SW39zSJfgv9XzcY6fpGVxdc=
|
||||
# pNYDwux6k4e3t7aPn+0HdjI7XVdvGvapmBJGzh7puOl20Z1vk6uPIXraeV5Har3t
|
||||
# dS/rD//umQdHDHbO83SMS6ftMONIi0FcN0MseHqVGT23zNA3Fvz/sRNHQFfANg9/
|
||||
# yKSJGlkJ7nr5cbOBG9BNnTVZfjh4XArWt7kWhnkkunZNwetzQfCKBVfb4qu9i7vb
|
||||
# dIVIKISmyZ9leObrwiU8zPbF9WzlxRZIm0Dy983EuS9ZcbLZriju+2UtKukgQVl/
|
||||
# 9qq64rB04h7jsZz1ZIu2KhfrVSezhgp3ZgSVYaFrVJExhCaJ5naeQ4LnP0U0TbqU
|
||||
# yKdvDo75S7EkJ7FiMu5POKyBF8xJfnjXmxlt3/6s7PZ2ZHJ0rMGwnzZrRObGYPWg
|
||||
# YYUFjT/3KSecLZBB6mDjDdnQ8y5PakWoqA29Dmj/1LWhydmb3fO7rYByeX7Xcm9Z
|
||||
# j24MdJpabAu/GxCUwVWwxQEmZ45IXO6uJumWAotyG6UU0SEFSGBjUFqkAIvtLY7D
|
||||
# r1czlMi92NlInt7lrQ5vPrWa4ryQpA7B+wZBH3Ux4qon/TgvBd+zFOasd+Rnqm+7
|
||||
# 9OsfAJAO/CUF0yEVIBVo5i1/7EVfdm4UKI8g0MPMHFsDEX7R9LydF1a/sGoWo8+F
|
||||
# 0hti5HI73oTTyqNtrTTpP+qSYkOO+sQ3N1R9bs28uB0=
|
||||
# SIG # End signature block
|
||||
|
|
|
|||
|
|
@ -329,17 +329,17 @@ exit
|
|||
# RGlnaUNlcnQsIEluYy4xQTA/BgNVBAMTOERpZ2lDZXJ0IFRydXN0ZWQgRzQgVGlt
|
||||
# ZVN0YW1waW5nIFJTQTQwOTYgU0hBMjU2IDIwMjUgQ0ExAhAKgO8YS43xBYLRxHan
|
||||
# lXRoMA0GCWCGSAFlAwQCAQUAoGkwGAYJKoZIhvcNAQkDMQsGCSqGSIb3DQEHATAc
|
||||
# BgkqhkiG9w0BCQUxDxcNMjYwODMxMDc1OTUyWjAvBgkqhkiG9w0BCQQxIgQgGtui
|
||||
# BgkqhkiG9w0BCQUxDxcNMjYwODMxMTgwMzI0WjAvBgkqhkiG9w0BCQQxIgQgGtui
|
||||
# 82paX11KDIN86kiIL1XH+uGmvG+Fu6AqHv/faOkwDQYJKoZIhvcNAQEBBQAEggIA
|
||||
# wXFD/wUyeStGKDHpCJZ9cRZIVsNaJdq//FWA/9EFaywGd4b+vKEhZC6PllIIqFQI
|
||||
# Gj7raIulPS9FlQ+pAwPQQfnP401AmZmI9PpCCSx39GYJv5oOvVxH3S13ksDgJBWL
|
||||
# Vh0konN0zKTs2ZYfFsa9G+4wtK19LCnkV08Hl2EV3g6i/3Hh+P3s5w0lIwtqqLVX
|
||||
# hdTGGMvR//9pbCsOEb0jbKvxOGXuxfAj0i65S0wyKzouK5SkZgkpZ99HY/uPqC0d
|
||||
# 6Cwbm8vILYQr+3wHeTrGfXmyceyrBJdoJ2VUgAaNJ4F49TDk3Ny5DC6OF6pe3ugX
|
||||
# TfaWRuVdeZ5VX/ltHXtr0OAD/ysMrU9rQLAX1WRMrvMb7u8WsGdsL7bQaOSCynnM
|
||||
# B8CHzgFjGE7XJINVRQNUiuhbRv2DymvQO+Y7UqrBfSDodsIebuu9FAwIJCOkJ8fO
|
||||
# sMC2DKy1105xhXAxXaffVu3bF48kqkUnUeicHUkn7yAKwJG5m+IDGiypK5OTCAmu
|
||||
# /a+vTO2EqKm7YcjzRjRSdOSE08N94Dz8vto2iRiDcAd4MkT8qT/VqKfyPbCRRWM0
|
||||
# PilWY7ZStVBo9e+7RIrLbRFktFmjufHkfAGTgIRN3F6tRIwxMPCDbs6SF6LrlEvw
|
||||
# ZAeSvdqduzJP0xDmUzys8aoAIIW34B5a/LSgeviWBcI=
|
||||
# mSKQwFotEP7OeVL0b9Le6y4+mscfZf9WMBw0JAWpm0M1E7WU3PVp81pJWqbYBOvV
|
||||
# SE6OQh0b/meTN96lm4dBOy+UeIspDkq0lQFVCSk5qeOBQSi+SWA1YNxTTSfejeHi
|
||||
# CfP6VpztZcWQW40N+Hh36JSo/k7y75SFxRObNaodhVqUhVUYOidygEOSD91BfNZh
|
||||
# rYSbWpn4sQPIiqu2YYk2MxbhJ3koh6Ar/pmNo2kp0VSBOck5BnMzPlIrWY9OHpN2
|
||||
# sA+49u2aezhKiyZy4dCJHrNktZPv+7IXr7gqWI3k0rujDuz53mt46YQU9IUW9rGq
|
||||
# v3iXGsxZrOzEaeJNtHB34rf43BcX8Q855WEUYEfCn7QPIfRSX0t1VW5YF1JQoG5x
|
||||
# SQX1GamH08dojhiV0YnrlchwUEPinkt53re741fWZ5OxF0anbeDKyesuzfOJ6E0p
|
||||
# 3vU0RFA8KyObYr+h6iW4ByRasB7W6jtMiSC5brWVRNGAS3sIUBxxh8kV8i/M4yLA
|
||||
# tKhj2bXSrtXpFV4pltUtVm76rB8A8Z/N7w9o1JogJX7pF6O9RPtFqBRyGE84MHqb
|
||||
# ZvJCMJ1Oe4973OgSTrcuz2dBPB8COjWEqHs6EX9BTOHoBF4keqDB0W5bUCOuFJYX
|
||||
# 60TcepUA7JHpzpf5dWtn+cuJKfGs2G5SzRif0oQl52I=
|
||||
# SIG # End signature block
|
||||
|
|
|
|||
|
|
@ -193,17 +193,17 @@ exit
|
|||
# RGlnaUNlcnQsIEluYy4xQTA/BgNVBAMTOERpZ2lDZXJ0IFRydXN0ZWQgRzQgVGlt
|
||||
# ZVN0YW1waW5nIFJTQTQwOTYgU0hBMjU2IDIwMjUgQ0ExAhAKgO8YS43xBYLRxHan
|
||||
# lXRoMA0GCWCGSAFlAwQCAQUAoGkwGAYJKoZIhvcNAQkDMQsGCSqGSIb3DQEHATAc
|
||||
# BgkqhkiG9w0BCQUxDxcNMjYwODMxMDc1OTUyWjAvBgkqhkiG9w0BCQQxIgQg6Tgk
|
||||
# BgkqhkiG9w0BCQUxDxcNMjYwODMxMTgwMzI1WjAvBgkqhkiG9w0BCQQxIgQg6Tgk
|
||||
# d9vgRJTrKaa/aNqr0ugqtMxl17/Df7q35ywcJSEwDQYJKoZIhvcNAQEBBQAEggIA
|
||||
# szGZ2hU42mU4UKbFQxY4M+o4g4YfJrLfgvShUEA9kAdKdp6JW/SUhRDvQDkoYRvI
|
||||
# H2dN8rhqyU8kacYs9mRhBwkqzuSJATQv+lBBtGzCPaxHv55dqy8I/JnFFlGADhlY
|
||||
# j0fBklFz9X6xGOkxAGChVYIQLp40wHIGZDh6eejzUG1Y+UawB0yAL7bl3x90Ya8w
|
||||
# t1DvoLSdAF4SKUJ0xXStCzCodKnW6fni/Bda4P16voNuLVisvzerPhu12blXpskx
|
||||
# dC228/uJKFuRhtwtdJyAZPczXeba36+nY0BsCmILoAShGm2vLYoDwhZji2DLE6JI
|
||||
# bbd2i8Tjs+dnqGtV9zJkltTGRMgUG9+mNKUxvoKljiXVa2yJlrNXjN/bvr/OvKNc
|
||||
# OGzOQCYkOtOk4NkCC9HV2fEBr3yz13KPK8BaJ61hnmxwZ10BwxzX6ybUKJ0eDOgX
|
||||
# qV3C0QwcTNn3yH/COc++TLTu8vwK+PRY6RrZ9emFguWCm0rLv9hrXKz5LiTo82yV
|
||||
# YgSzPIkPxW+3IQxtuLsChawKT/lmbyQQU7FRTAH575Da0LtA6qcSROXRvP2r6enb
|
||||
# 7A0rKyimCin02blTQPOrXmxQ2vxjcyRt9M1fU7+iOB124s5M930jJEJ/56SRk+bW
|
||||
# OSrwIQhrV1YpHynQ3NUHmk9mkjUusqr4kJNqMQSi9+o=
|
||||
# O//BwjoT1BxFy2FYZwjOKGvAPbOGC8WxmqRyEvbYYrghHDfP+p21TpKquWAXcCn1
|
||||
# vvMg3bSB9p4jjvi/20R80kRp5FN4WjogFvSTPS9rzAwQi7RoziWgWKUhhDaLBNYL
|
||||
# 5JhhVEm6n03WGrmes18VsAPdGgiE8bGuxMsUaVURnzZcaOdgqapQhT6083nsxEAf
|
||||
# IjL/h34b7x8cW1mmh/U2r1rFVuEs+Es1A3CgWUnk/Vx8LACVfl6ZAtCkP8R3MkuU
|
||||
# sKK3HWFkeIDoydp9c4zPPdBDT1pERhzOIWSicU/PjE+N6egy2x5JaMrYtzjW3kYz
|
||||
# RCP3w8slIjgGeonmzGRvyD23u33nucV/hQxDqg2hilaElEobUl6iM5/wdlgNNQv/
|
||||
# Pz7QyXtfzJNNgeOnl7IDcFAGZrfPXcE/vq0kgkl7C45qgKGAzZ1G7m2308rPt4T4
|
||||
# 3aUks4YIgVm5JPxpEVsIl+zCY7k9IS91VaNs18y43FOe3Sbl8/DBUAar0DMq/SG7
|
||||
# lm5WIkWEkwchjSo40jxBPE2NT+UQ8dQwMtNlaAzacIj9jKz6enrdZ8oUZQx555Bj
|
||||
# pc8bLJg2hHo9V3g3uX8X6Cy7W4EVeYKvRwD8URHa68F6YzlsuJ+urbjKc+VVfGq5
|
||||
# BrwE9r9ai/474Q0kNsqSeKqrtT5VI//riXdg5sF3tJc=
|
||||
# SIG # End signature block
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue