[Logwatch-Devel] ClamAV update logs

Lars Skjærlund lars@spinn.dk
Tue, 16 Dec 2003 12:34:15 +0100


This is a MIME message. If you are reading this text, you may want to 
consider changing to a mail reader or gateway that understands how to 
properly handle MIME multipart messages.

--=__PartC39D2FA7.1__=
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Content-Disposition: inline

Hi Kirk et al,

>> I've created the attached files to analyze update log files for the
>> Clam Anti-Virus product.
>
>Thanks.  I just added it to CVS now and it will be in the next beta
>release.

Included is a patch that updates the script to support the old ClamAV
database format.

It's tested with ClamAV 0.60 (old format) and 0.65 (new format) only.

I can see from CVS that you've disabled my warning message; this is a
matter of taste, of course - but I believe this is how it should be
done.

Design principles:

1) If nothing is wrong, do not produce any output at all - there's
enough other information that needs attention.
2) If you want so, you can be notified of updates.
3) If you really want it, you can have all the information from the
logfile.

However, a virus tester should be kept uptodate - otherwise it's worse
than nothing; I guess we can agree on that. So, if the Clam database
hasn't been checked for updates, this is a serious problem - and in line
with design principle 1) above, something IS wrong and the user should
be notified. Unfortunately, we cannot ask a non-running program to write
information to that account in the logfile - hence I check for the
missing information instead.

If you've read the brief documentation at the beginning of the script,
you'll now that there's an easy way to get rid of the warning message:
Simply remove the update logfile if you don't use it - and you won't get
any further warnings.

Your comment suggest that we should check whether ClamAV is "being
used": However, we have no way what-so-ever to check that. We can check
whether clamd is running, but if it's not, we cannot decide that ClamAV
"isn't beeing used". The product includes an on-demand scanner as well
which may - and may not - be used ever so often. It may be used daily,
it may be used once every half year - but how do we decide whether
running it every half year means "it's beeing used"?

Regards
Lars

Lars Skjærlund, Network Consultant, Spinn International ApS
Bukkeballevej 30, 2960 Rungsted Kyst, Denmark
Tel.: +45 70 25 88 10, Fax: +45 70 25 88 44
Mail: lars@spinn.dk Web: http://www.spinn.dk
--

--=__PartC39D2FA7.1__=
Content-Type: application/octet-stream; name="clam-update-20031216.patch"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="clam-update-20031216.patch"

LS0tIGxvZ3dhdGNoL3NjcmlwdHMvc2VydmljZXMvY2xhbS11cGRhdGUJTW9uIERlYyAxNSAyMzow
MzoyNCAyMDAzDQorKysgbG9nd2F0Y2gvc2NyaXB0cy9zZXJ2aWNlcy9jbGFtLXVwZGF0ZQlUdWUg
RGVjIDE2IDExOjQ4OjExIDIwMDMNCkBAIC00LDcgKzQsMTEgQEANCiAjIGNsYW0tdXBkYXRlIHNj
cmlwdCBmb3IgTG9nd2F0Y2gNCiAjIEFuYWx5emVzIHRoZSBDbGFtIEFudGktVmlydXMgdXBkYXRl
IGxvZw0KICMNCi0jIFZlcnNpb246IDEuMDANCisjIFZlcnNpb246IDEuMC4wDQorIyAgICBJbml0
aWFsIHJlbGVhc2UNCisjIFZlcnNpb246IDEuMC4xDQorIyAgICBBZGQgc3VwcG9ydCBmb3IgcHJl
LTAuNjUgZGF0YWJhc2UNCisjDQogIyBXcml0dGVuIGJ5OiBMYXJzIFNrauZybHVuZCA8bGFyc0Bz
a2phZXJsdW5kLmRrPg0KICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCiANCkBAIC0yMSw3ICsyNSw3IEBADQog
Iw0KICMgLi4uIGFuZCBvZiBjb3Vyc2UNCiAjDQotIyAvdmFyL2xvZy9jbGFtLXVwZGF0ZS5sb2cN
CisjIC92YXIvbG9nL2NsYW0tdXBkYXRlDQogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KIA0KICMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMNCkBAIC0zOSwxOSArNDMsMzkgQEANCiAjIHdpbGwgYmUgb3V0cHV0Lg0KICMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMNCiANCit1c2Ugc3RyaWN0Ow0KKw0KIHVzZSBQT1NJWCBxdyhzdHJmdGltZSk7
DQogDQogbXkgJERldGFpbCA9ICRFTlZ7J0xPR1dBVENIX0RFVEFJTF9MRVZFTCd9Ow0KLW15ICR0
aW1lID0gdGltZTsNCisNCitteSAkdGltZSAgICAgICAgICA9IHRpbWU7DQorbXkgJERhdGU7DQor
bXkgJFNlYXJjaERhdGU7DQogbXkgJEluUmFuZ2UgICAgICAgPSAwOw0KKw0KKyMjIyBWYXJpYWJs
ZXMgZm9yIG5ldyBkYXRhYmFzZSBmb3JtYXQgKENsYW1BViA+IDAuNjApDQorDQogbXkgJE1haW5V
cHRvZGF0ZSAgPSB1bmRlZjsNCiBteSAkTWFpblVwZGF0ZWQgICA9IHVuZGVmOw0KIG15ICREYWls
eVVwdG9kYXRlID0gdW5kZWY7DQogbXkgJERhaWx5VXBkYXRlZCAgPSB1bmRlZjsNCiBteSAkVXBk
YXRlZCAgICAgICA9IHVuZGVmOw0KKw0KKyMjIyBWYXJpYWJsZXMgZm9yIG9sZCBkYXRhYmFzZSBm
b3JtYXQgKENsYW1BViA8PSAwLjYwKQ0KKw0KK215ICREQlVwdG9kYXRlICAgID0gdW5kZWY7DQor
bXkgJERCVXBkYXRlZCAgICAgPSB1bmRlZjsNCitteSAkREIyVXB0b2RhdGUgICA9IHVuZGVmOw0K
K215ICREQjJVcGRhdGVkICAgID0gdW5kZWY7DQorDQorbXkgJGJEQlVwdG9kYXRlICAgPSAwOw0K
K215ICRiREIyVXB0b2RhdGUgID0gMDsNCisNCiBteSAlRXJyb3JzOw0KIG15ICVVbm1hdGNoZWQ7
DQogDQorDQogaWYgKCAkRU5WeydMT0dXQVRDSF9EQVRFX1JBTkdFJ30gZXEgJ3llc3RlcmRheScp
IHsNCiAgICAkU2VhcmNoRGF0ZSA9IHN0cmZ0aW1lKCIlYiAlZSIsIGxvY2FsdGltZSgkdGltZS04
NjQwMCkpOw0KIH0NCkBAIC02MiwxMiArODYsMTQgQEANCiAgICAkU2VhcmNoRGF0ZSA9ICIuLi4g
Li4iOw0KIH0NCiANCi13aGlsZSAoZGVmaW5lZCgkVGhpc0xpbmUgPSA8U1RESU4+KSkgew0KK3do
aWxlIChkZWZpbmVkKG15ICRUaGlzTGluZSA9IDxTVERJTj4pKSB7DQogICAgaWYgKCgkVGhpc0xp
bmUgPX4gL15ccyokLykgb3INCiAgICAgICAgKCRUaGlzTGluZSA9fiAvXi0tLS0tLS0tLS0vKQ0K
ICAgICkgew0KICAgICAgICMgRG8gbm90aGluZw0KICAgIH0gZWxzaWYgKCgkRGF0ZSkgPSAoJFRo
aXNMaW5lID1+IC8oXHdcd1x3IFtcZCBdXGQpIC4uOi4uOi4uLykpIHsNCisgICAgICAkYkRCVXB0
b2RhdGUgID0gMDsNCisgICAgICAkYkRCMlVwdG9kYXRlID0gMDsNCiAgICAgICBpZiAoJERhdGUg
PX4gJFNlYXJjaERhdGUpIHsNCiAgICAgICAgICAkSW5SYW5nZSA9IDE7DQogICAgICAgfSBlbHNl
IHsNCkBAIC04Myw5ICsxMDksMjUgQEANCiAgICAgICAgICAkTWFpblVwZGF0ZWQgPSAkVGhpc0xp
bmU7DQogICAgICAgfSBlbHNpZiAoJFRoaXNMaW5lID1+IC9eZGFpbHkuY3ZkIHVwZGF0ZWQvKSB7
DQogICAgICAgICAgJERhaWx5VXBkYXRlZCA9ICRUaGlzTGluZTsNCi0gICAgICB9IGVsc2lmICgk
VGhpc0xpbmUgPX4gL15EYXRhYmFzZSB1cGRhdGVkLykgew0KKyAgICAgIH0gZWxzaWYgKCRUaGlz
TGluZSA9fiAvXkRhdGFiYXNlIHVwZGF0ZWQgXChcZCogc2lnbmF0dXJlc1wpLykgew0KICAgICAg
ICAgICRVcGRhdGVkID0gJFRoaXNMaW5lOw0KLSAgICAgIH0gZWxzaWYgKChteSAkVGV4dCkgPSAo
JFRoaXNMaW5lID1+IC9eRVJST1I6ICguKikvKSkgew0KKyAgICAgIH0gZWxzaWYgKChteSAkVGV4
dCkgPSAoJFRoaXNMaW5lID1+IC9eRGF0YWJhc2UgdXBkYXRlZCBcKChjb250YWluaW5nIC4qKVwp
Li8pKSB7DQorICAgICAgICAgaWYgKCRiREJVcHRvZGF0ZSA9PSAwKSB7DQorICAgICAgICAgICAg
JERCVXBkYXRlZCA9ICRUZXh0Ow0KKyAgICAgICAgIH0gZWxzaWYgKCRiREIyVXB0b2RhdGUgPT0g
MCkgew0KKyAgICAgICAgICAgICREQjJVcGRhdGVkID0gJFRleHQ7DQorICAgICAgICAgfSBlbHNl
IHsNCisgICAgICAgICAgICAkVW5tYXRjaGVkeyRUaGlzTGluZX0rKzsNCisgICAgICAgICB9DQor
ICAgICAgfSBlbHNpZiAoKCRUZXh0KSA9ICgkVGhpc0xpbmUgPX4gL15EYXRhYmFzZSB1cGRhdGVk
IGZyb20gKC4qKS4kLykpIHsNCisgICAgICAgICAkVXBkYXRlZCA9ICRUZXh0Ow0KKyAgICAgIH0g
ZWxzaWYgKCRUaGlzTGluZSA9fiAvXnZpcnVzZXNcLmRiIGlzIHVwIHRvIGRhdGUvKSB7DQorICAg
ICAgICAgJGJEQlVwdG9kYXRlICA9IDE7DQorICAgICAgICAgJERCVXB0b2RhdGUgICA9ICRUaGlz
TGluZTsNCisgICAgICB9IGVsc2lmICgkVGhpc0xpbmUgPX4gL152aXJ1c2VzXC5kYjIgaXMgdXAg
dG8gZGF0ZS8pIHsNCisgICAgICAgICAkYkRCMlVwdG9kYXRlID0gMTsNCisgICAgICAgICAkREIy
VXB0b2RhdGUgID0gJFRoaXNMaW5lOw0KKyAgICAgIH0gZWxzaWYgKCgkVGV4dCkgPSAoJFRoaXNM
aW5lID1+IC9eRVJST1I6ICguKikvKSkgew0KICAgICAgICAgICRFcnJvcnN7JFRleHR9Kys7DQog
ICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAkVW5tYXRjaGVkeyRUaGlzTGluZX0rKzsNCkBAIC05
Myw2ICsxMzUsOCBAQA0KICAgIH0gZWxzZSB7DQogICAgICAgaWYgKCgkVGhpc0xpbmUgPX4gL15t
YWluLmN2ZCBpcyB1cCB0byBkYXRlLykgb3INCiAgICAgICAgICAgKCRUaGlzTGluZSA9fiAvXmRh
aWx5LmN2ZCBpcyB1cCB0byBkYXRlLykgb3INCisgICAgICAgICAgKCRUaGlzTGluZSA9fiAvXnZp
cnVzZXMuZGIgaXMgdXAgdG8gZGF0ZS8pIG9yDQorICAgICAgICAgICgkVGhpc0xpbmUgPX4gL152
aXJ1c2VzLmRiMiBpcyB1cCB0byBkYXRlLykgb3INCiAgICAgICAgICAgKCRUaGlzTGluZSA9fiAv
Xm1haW4uY3ZkIHVwZGF0ZWQvKSBvcg0KICAgICAgICAgICAoJFRoaXNMaW5lID1+IC9eZGFpbHku
Y3ZkIHVwZGF0ZWQvKSBvcg0KICAgICAgICAgICAoJFRoaXNMaW5lID1+IC9eRGF0YWJhc2UgdXBk
YXRlZC8pIG9yDQpAQCAtMTA1LDE5ICsxNDksMTkgQEANCiAgICB9DQogfQ0KIA0KLWlmICgoJERl
dGFpbCA+PSA1KSBvciAoJE1haW5VcGRhdGVkIG9yICREYWlseVVwZGF0ZWQpIG9yICghJE1haW5V
cHRvZGF0ZSBhbmQgISREYWlseVVwdG9kYXRlKSkgew0KK2lmICgoJERldGFpbCA+PSA1KSBvciAo
JE1haW5VcGRhdGVkIG9yICREYWlseVVwZGF0ZWQgb3IgJERCVXBkYXRlZCBvciAkREIyVXBkYXRl
ZCkgb3IgKCEkTWFpblVwdG9kYXRlIGFuZCAhJERhaWx5VXB0b2RhdGUgYW5kICEkREJVcHRvZGF0
ZSBhbmQgISREQjJVcHRvZGF0ZSkpIHsNCiAgICBwcmludCAiQ2xhbUFWIGRhdGFiYXNlOlxuIjsN
CiB9DQogDQogaWYgKCRNYWluVXBkYXRlZCkgew0KLSAgIChteSAkVGV4dCwgJFZlcnNpb24pID0g
KCRNYWluVXBkYXRlZCA9fiAvKC4qKSBcKCguKilcKS8pOw0KKyAgIChteSAkVGV4dCwgbXkgJFZl
cnNpb24pID0gKCRNYWluVXBkYXRlZCA9fiAvKC4qKSBcKCguKilcKS8pOw0KICAgIHByaW50ICIg
ICAkVGV4dFxuIjsNCiAgICBpZiAoJERldGFpbCA+PSAxMCkgew0KICAgICAgIHByaW50ICIgICAg
ICAkVmVyc2lvblxuIjsNCiAgICB9DQogfSBlbHNlIHsNCiAgICBpZiAoKCRNYWluVXB0b2RhdGUp
IGFuZCAoJERldGFpbCA+PSA1KSkgew0KLSAgICAgIChteSAkVGV4dCwgJFZlcnNpb24pID0gKCRN
YWluVXB0b2RhdGUgPX4gLyguKikgXCgoLiopXCkvKTsNCisgICAgICAobXkgJFRleHQsIG15ICRW
ZXJzaW9uKSA9ICgkTWFpblVwdG9kYXRlID1+IC8oLiopIFwoKC4qKVwpLyk7DQogICAgICAgcHJp
bnQgIiAgICRUZXh0XG4iOw0KICAgICAgIGlmICgkRGV0YWlsID49IDEwKSB7DQogICAgICAgICAg
cHJpbnQgIiAgICAgICRWZXJzaW9uXG4iOw0KQEAgLTEyNiwxNCArMTcwLDE0IEBADQogfQ0KIA0K
IGlmICgkRGFpbHlVcGRhdGVkKSB7DQotICAgKG15ICRUZXh0LCAkVmVyc2lvbikgPSAoJERhaWx5
VXBkYXRlZCA9fiAvKC4qKSBcKCguKilcKS8pOw0KKyAgIChteSAkVGV4dCwgbXkgJFZlcnNpb24p
ID0gKCREYWlseVVwZGF0ZWQgPX4gLyguKikgXCgoLiopXCkvKTsNCiAgICBwcmludCAiICAgJFRl
eHRcbiI7DQogICAgaWYgKCREZXRhaWwgPj0gMTApIHsNCiAgICAgICBwcmludCAiICAgICAgJFZl
cnNpb25cbiI7DQogICAgfQ0KIH0gZWxzZSB7DQogICAgaWYgKCgkRGFpbHlVcHRvZGF0ZSkgYW5k
ICgkRGV0YWlsID49IDUpKSB7DQotICAgICAgKG15ICRUZXh0LCAkVmVyc2lvbikgPSAoJERhaWx5
VXB0b2RhdGUgPX4gLyguKikgXCgoLiopXCkvKTsNCisgICAgICAobXkgJFRleHQsIG15ICRWZXJz
aW9uKSA9ICgkRGFpbHlVcHRvZGF0ZSA9fiAvKC4qKSBcKCguKilcKS8pOw0KICAgICAgIHByaW50
ICIgICAkVGV4dFxuIjsNCiAgICAgICBpZiAoJERldGFpbCA+PSAxMCkgew0KICAgICAgICAgIHBy
aW50ICIgICAgICAkVmVyc2lvblxuIjsNCkBAIC0xNDEsMTQgKzE4NSw0MSBAQA0KICAgIH0NCiB9
DQogDQoraWYgKCREQlVwZGF0ZWQpIHsNCisgICBwcmludCAiICAgdmlydXNlcy5kYiB1cGRhdGVk
XG4iOw0KKyAgIGlmICgkRGV0YWlsID49IDEwKSB7DQorICAgICAgcHJpbnQgIiAgICAgIE5vdyAk
REJVcGRhdGVkXG4iOw0KKyAgIH0NCit9IGVsc2Ugew0KKyAgIGlmICgoJERCVXB0b2RhdGUpIGFu
ZCAoJERldGFpbCA+PSA1KSkgew0KKyAgICAgIHByaW50ICIgICAkREJVcHRvZGF0ZVxuIjsNCisg
ICB9DQorfQ0KKw0KK2lmICgkREIyVXBkYXRlZCkgew0KKyAgIHByaW50ICIgICB2aXJ1c2VzLmRi
MiB1cGRhdGVkXG4iOw0KKyAgIGlmICgkRGV0YWlsID49IDEwKSB7DQorICAgICAgcHJpbnQgIiAg
ICAgIE5vdyAkREIyVXBkYXRlZFxuIjsNCisgICB9DQorfSBlbHNlIHsNCisgICBpZiAoKCREQjJV
cHRvZGF0ZSkgYW5kICgkRGV0YWlsID49IDUpKSB7DQorICAgICAgcHJpbnQgIiAgICREQjJVcHRv
ZGF0ZVxuIjsNCisgICB9DQorfQ0KKw0KIGlmICgoJFVwZGF0ZWQpIGFuZCAoJERldGFpbCA+PSAx
MCkpIHsNCi0gICAobXkgJFRleHQsICRGcm9tKSA9ICgkVXBkYXRlZCA9fiAvXihcdyogXHcqKSBc
KFxkKiBcdypcKSAoLiopXC4vKTsNCi0gICBwcmludCAiICAgJFRleHQgJEZyb21cbiI7DQorICAg
aWYgKCRVcGRhdGVkID1+IC9eKFx3KiBcdyopIFwoXGQqIFx3KlwpLykgew0KKyAgICAgIChteSAk
VGV4dCwgbXkgJEZyb20pID0gKCRVcGRhdGVkID1+IC9eKFx3KiBcdyopIFwoXGQqIFx3KlwpICgu
KilcLi8pOw0KKyAgICAgIHByaW50ICIgICAkVGV4dCAkRnJvbVxuIjsNCisgICB9IGVsc2Ugew0K
KyAgICAgIHByaW50ICIgICBVcGRhdGVkIGZyb20gJFVwZGF0ZWRcbiI7DQorICAgfQ0KIH07DQog
DQotaWYgKCEkTWFpblVwdG9kYXRlIGFuZCAhJE1haW5VcGRhdGVkIGFuZCAhJERhaWx5VXB0b2Rh
dGUgYW5kICEkRGFpbHlVcGRhdGVkKSB7DQotICAgIyBUT0RPOiBUaGlzIGNhbiBvbmx5IGJlIHBy
aW50ZWQgaWYgd2UgZmlyc3QgbWFrZSBzdXJlIENsYW0gaXMgYmVpbmcgdXNlZA0KLSAgICNwcmlu
dCAiICAgV0FSTklORzogRGF0YWJhc2UgaGFzIG5vdCBiZWVuIGNoZWNrZWQgZm9yIHVwZGF0ZXNc
biI7DQoraWYgKCEkTWFpblVwdG9kYXRlIGFuZCAhJE1haW5VcGRhdGVkIGFuZCANCisgICAgISRE
YWlseVVwdG9kYXRlIGFuZCAhJERhaWx5VXBkYXRlZCBhbmQNCisgICAgISREQlVwdG9kYXRlIGFu
ZCAhJERCMlVwdG9kYXRlKSB7DQorICAgcHJpbnQgIiAgIFdBUk5JTkc6IERhdGFiYXNlIGhhcyBu
b3QgYmVlbiBjaGVja2VkIGZvciB1cGRhdGVzXG4iOw0KIH0NCiANCiBpZiAoa2V5cyAlRXJyb3Jz
KSB7DQpAQCAtMTY2LDYgKzIzNywzIEBADQogfQ0KIA0KIGV4aXQoMCk7DQotDQotIyB2aTogc2hp
ZnR3aWR0aD0zIHRhYnN0b3A9MyBldA0KLQ0KDQoNCi0tLSBsb2d3YXRjaC9jb25mL2xvZ2ZpbGVz
L2NsYW0tdXBkYXRlLmNvbmYJTW9uIERlYyAxNSAxODo0NTowNiAyMDAzDQorKysgbG9nd2F0Y2gv
Y29uZi9sb2dmaWxlcy9jbGFtLXVwZGF0ZS5jb25mCVR1ZSBEZWMgMTYgMTE6NTA6MDcgMjAwMw0K
QEAgLTIsNyArMiwxMSBAQA0KICMgY2xhbS11cGRhdGUgc2NyaXB0IGZvciBMb2d3YXRjaA0KICMg
QW5hbHl6ZXMgdGhlIENsYW0gQW50aS1WaXJ1cyB1cGRhdGUgbG9nDQogIw0KLSMgVmVyc2lvbjog
MS4wMA0KKyMgVmVyc2lvbjogMS4wLjANCisjICAgIEluaXRpYWwgcmVsZWFzZQ0KKyMgVmVyc2lv
bjogMS4wLjENCisjICAgIE1pbm9yIGRvY3VtZW50YXRpb24gdXBkYXRlDQorIw0KICMgV3JpdHRl
biBieTogTGFycyBTa2rmcmx1bmQgPGxhcnNAc2tqYWVybHVuZC5kaz4NCiAjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjDQogDQpAQCAtMTksNyArMjMsNyBAQA0KICMNCiAjIC4uLiBhbmQgb2YgY291cnNlDQogIw0K
LSMgL3Zhci9sb2cvY2xhbS11cGRhdGUubG9nDQorIyAvdmFyL2xvZy9jbGFtLXVwZGF0ZQ0KICMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMNCiANCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQoNCg0KLS0tIGxvZ3dhdGNoL2Nv
bmYvc2VydmljZXMvY2xhbS11cGRhdGUuY29uZglNb24gRGVjIDE1IDE4OjQ1OjA4IDIwMDMNCisr
KyBsb2d3YXRjaC9jb25mL3NlcnZpY2VzL2NsYW0tdXBkYXRlLmNvbmYJVHVlIERlYyAxNiAxMTo0
OToxOSAyMDAzDQpAQCAtMiw3ICsyLDExIEBADQogIyBjbGFtLXVwZGF0ZSBzY3JpcHQgZm9yIExv
Z3dhdGNoDQogIyBBbmFseXplcyB0aGUgQ2xhbSBBbnRpLVZpcnVzIHVwZGF0ZSBsb2cNCiAjDQot
IyBWZXJzaW9uOiAxLjAwDQorIyBWZXJzaW9uOiAxLjAuMA0KKyMgICAgSW5pdGlhbCByZWxlYXNl
DQorIyBWZXJzaW9uOiAxLjAuMQ0KKyMgICAgTWlub3IgZG9jdW1lbnRhdGlvbiB1cGRhdGUNCisj
DQogIyBXcml0dGVuIGJ5OiBMYXJzIFNrauZybHVuZCA8bGFyc0Bza2phZXJsdW5kLmRrPg0KICMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMNCiANCkBAIC0xOSw3ICsyMyw3IEBADQogIw0KICMgLi4uIGFuZCBvZiBj
b3Vyc2UNCiAjDQotIyAvdmFyL2xvZy9jbGFtLXVwZGF0ZS5sb2cNCisjIC92YXIvbG9nL2NsYW0t
dXBkYXRlDQogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KIA0KICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCg==

--=__PartC39D2FA7.1__=--