Re: Request: Add dropbear support
Orion Poplawski <[email protected]> Fri, 21 Oct 2022 09:01:56 -0600
| Newsgroups | gmane.comp.log.logwatch.devel |
|---|---|
| Organization | NWRA |
| Message-ID | <[email protected]> |
--===============7341575555909319411== Content-Language: en-US Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg=sha-256; boundary="------------ms070605030602030004030409" --------------ms070605030602030004030409 Content-Type: multipart/mixed; boundary="------------016E7JHpD6SENPqBzjkTsAmL" --------------016E7JHpD6SENPqBzjkTsAmL Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit On 10/18/22 10:26, Jakob Albert wrote: > Hello everyone, > > as far as I can see it, there is currently no support for [dropbear], is there? > > I use dropbear as an SSH Server inside an Alpine Container. > The following three lines are generated in `/var/log/messages` for each connection: > ``` > authpriv.info dropbear[1571]: Child connection from 000.000.000.000:12345 > authpriv.notice dropbear[1571]: Pubkey auth succeeded for 'username' with ssh-ed25519 key SHA256:sshKeyHash from 000.000.000.000:12345 > authpriv.info dropbear[1571]: Exit (username) from <000.000.000.000:12345>: Disconnect received > ``` > > where: > - `000.000.000.000` is an IPv4 address > - `12345` is a port > - `username` is the user > - `sshKeyHash` is the hash of the connecting SSH key > > Could you please add support for [dropbear]? > I see two possibilities for this: > > 1. Adding a completely new service > 2. Expanding the current SSHD service > > I already tried the second option by: > - Replacing the `OnlyService` in `default.conf/services/sshd.conf` with dropbear > - Adding dropbear to `ignore_services` in `default.conf/services/secure.conf` > - Adding an ignore rule for the disconnect in `scripts/services/sshd`: > `($ThisLine =~ /Exit \(.*\) from <\d+\.\d+\.\d+\.\d+:\d+>: Disconnect received/)` > > But I do not know how to correctly add a successful login to the output > (and have currently disabled the normal sshd service in `sshd.conf`). > The rest does work, but to be honest, I think that it makes much more sense > to use a completely new service for dropbear - but again, > I do not know how to correctly write a new service. > > If you need further information, I will be happy to provide it. > Also, there will probably be a lot more log messages that are possible, > but those three are the only ones I have encountered so far. > > > Thank you very much and best regards > > Jakob FWIW - this is my locally hacked quick version of the first option (new service). I suspect it has a lot of cruft in it still. -- Orion Poplawski IT Systems Manager 720-772-5637 NWRA, Boulder/CoRA Office FAX: 303-415-9702 3380 Mitchell Lane [email protected] Boulder, CO 80301 https://www.nwra.com/ --------------016E7JHpD6SENPqBzjkTsAmL Content-Type: text/x-patch; charset=UTF-8; name="logwatch-dropbear.patch" Content-Disposition: attachment; filename="logwatch-dropbear.patch" Content-Transfer-Encoding: base64 Y29tbWl0IGQ0MDg3YWZlYjNlYzhjMTNmOTBjYzkzNTg2Mzc0MjFhNGQ2NWMxYmYKQXV0aG9y OiBPcmlvbiBQb3BsYXdza2kgPG9yaW9uQG53cmEuY29tPgpEYXRlOiAgIFRodSBKYW4gNiAx Mzo1NDowMSAyMDIyIC0wNzAwCgogICAgW2Ryb3BiZWFyXSBJbml0aWFsIHZlcnNpb24KCmRp ZmYgLS1naXQgYS9jb25mL3NlcnZpY2VzL2Ryb3BiZWFyLmNvbmYgYi9jb25mL3NlcnZpY2Vz L2Ryb3BiZWFyLmNvbmYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzNi YjJjNwotLS0gL2Rldi9udWxsCisrKyBiL2NvbmYvc2VydmljZXMvZHJvcGJlYXIuY29uZgpA QCAtMCwwICsxLDQ1IEBACisjIFlvdSBjYW4gcHV0IGNvbW1lbnRzIGFueXdoZXJlIHlvdSB3 YW50IHRvLiAgVGhleSBhcmUgZWZmZWN0aXZlIGZvciB0aGUKKyMgcmVzdCBvZiB0aGUgbGlu ZS4KKworIyB0aGlzIGlzIGluIHRoZSBmb3JtYXQgb2YgPG5hbWU+ID0gPHZhbHVlPi4gIFdo aXRlc3BhY2UgYXQgdGhlIGJlZ2lubmluZworIyBhbmQgZW5kIG9mIHRoZSBsaW5lcyBpcyBy ZW1vdmVkLiAgV2hpdGVzcGFjZSBiZWZvcmUgYW5kIGFmdGVyIHRoZSA9IHNpZ24KKyMgaXMg cmVtb3ZlZC4gIEV2ZXJ5dGhpbmcgaXMgY2FzZSAqaW5zZW5zaXRpdmUqLgorCisjIFllcyA9 IFRydWUgID0gT24gID0gMQorIyBObyAgPSBGYWxzZSA9IE9mZiA9IDAKKworVGl0bGUgPSAi RHJvcGJlYXIiCisKKyMgV2hpY2ggbG9nZmlsZSBncm91cC4uLgorTG9nRmlsZSA9IHNlY3Vy ZQorTG9nRmlsZSA9IG1lc3NhZ2VzCisKKyMgT25seSBnaXZlIGxpbmVzIHBlcnRhaW5pbmcg dG8gdGhlIGRyb3BiZWFyIHNlcnZpY2UuLi4KKypPbmx5U2VydmljZSA9IGRyb3BiZWFyCisq UmVtb3ZlSGVhZGVycworCisjIFZhcmlhYmxlICRpZ25vcmVfaG9zdCBpcyB1c2VkIHRvIGZp bHRlciBvdXQgaG9zdHMgdGhhdCBsb2dpbgorIyBzdWNjZXNzZnVsbHkuICBUaGlzIGNvbW1l bnRlZC1vdXQgZXhhbXBsZSBmaWx0ZXJzIG91dCByZXNlcnZlZCBsb2NhbAorIyBhZGRyZXNz ZXMgKElFVEYgUkZDIDE5MTggYW5kIFJGQyAzMzMwKS4KKyMkaWdub3JlX2hvc3Q9Il4xMFwu fF4xNzJcLigxWzYtOV18MlswLTldfDNbMDFdKVwufF4xOTJcLjE2OFwufF4xMjdcLiIKKwor IyBUaGUgcmVmdXNlZCBjb25uZWN0aW9ucyByZXBvcnQgbGlzdHMgZXZlcnkgaXAgdGhhdCBp cyByZWZ1c2VkIGV2ZW4gaWYKKyMgaXQgd2FzIG9ubHkgcmVmdXNlZCAxIG9yIDIgdGltZXMu ICBJbiBhIGNhc2UgbGlrZSB0aGF0IEkgZG9uJ3QgY2FyZQorIyB0byBzZWUgdGhlIGluZm9y bWF0aW9uLiAgSXQgaXMganVzdCBub2lzZS4gIEkgd2FudCB0byBrbm93IHdoZW4gYQorIyBh IGNvbm5lY3Rpb24gaGFzIGJlZW4gcmVmdXNlZCAxMCwgMjAsIDMwIHRpbWVzIGJlY2F1c2Ug dGhhdCBpcyBhbgorIyBpbmRpY2F0aW9uIG9mIGFuIGF0dGFjayBvciBhIHByb2JsZW0uCisj ICAgU2V0IHRoaXMgdmFyaWFibGUgdG8gYSBwb3NpdGl2ZSBpbnRlZ2VyIHRvIHRyaW0gb3V0 IHRoZSBsb3dlciBjb3VudAorIyByZWZ1c2VkIGNvbm5lY3Rpb25zIGZyb20gdGhlIHJlcG9y dC4gaS5lLiAxMCB3b3VsZCBub3Qgc2hvdyBhbnkgaG9zdHMKKyMgd2l0aCBsZXNzIHRoYW4g MTAgcmVmdXNhbHMuCisjICAgVGhpcyBoYXMgbm8gZWZmZWN0IGlmIHRoZSAkRGV0YWlsIHZh cmlhYmxlIGlzIGdyZWF0ZXIgdGhhbiA1LgorIyRyZWZ1c2VkX2Nvbm5lY3Rpb25zX3RocmVz aG9sZCA9IDEwCisKKyMgU2V0dGluZyB0aGUgJGlsbGVnYWxfdXNlcnNfdGhyZXNob2xkIHZh cmlhYmxlIGxpbWl0cyB0aGUgbGlzdGluZyBvZgorIyAiSWxsZWdhbCBVc2VycyIgZnJvbSB0 aG9zZSBJUCBhZGRyZXNzZXMgdGhhdCBoYXZlIG1vcmUgdGhhbiB0aGUKKyMgc3BlY2lmaWVk IHRocmVzaG9sZAorIyRpbGxlZ2FsX3VzZXJzX3RocmVzaG9sZCA9IDQKKworIyBTZXQgdG8g Tm8gdG8gZGlzYWJsZSBJUCBsb29rdXBzCiskaXBfbG9va3VwID0gWWVzCisKKyMgdmk6IHNo aWZ0d2lkdGg9MyB0YWJzdG9wPTMgZXQKZGlmZiAtLWdpdCBhL3NjcmlwdHMvc2VydmljZXMv ZHJvcGJlYXIgYi9zY3JpcHRzL3NlcnZpY2VzL2Ryb3BiZWFyCm5ldyBmaWxlIG1vZGUgMTAw NjQ0CmluZGV4IDAwMDAwMDAuLmFkNDk2NjAKLS0tIC9kZXYvbnVsbAorKysgYi9zY3JpcHRz L3NlcnZpY2VzL2Ryb3BiZWFyCkBAIC0wLDAgKzEsNzEyIEBACisKKyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjIFBsZWFzZSBm aWxlIGFsbCBidWcgcmVwb3J0cywgcGF0Y2hlcywgYW5kIGZlYXR1cmUKKyMgcmVxdWVzdHMg dW5kZXI6CisjICAgICAgaHR0cHM6Ly9zb3VyY2Vmb3JnZS5uZXQvcC9sb2d3YXRjaC9fbGlz dC90aWNrZXRzCisjIEhlbHAgcmVxdWVzdHMgYW5kIGRpc2N1c2lvbiBjYW4gYmUgZmlsZWQg dW5kZXI6CisjICAgICAgaHR0cHM6Ly9zb3VyY2Vmb3JnZS5uZXQvcC9sb2d3YXRjaC9kaXNj dXNzaW9uLworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMKKworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIworIyMgQ29weXJpZ2h0IChjKSAyMDIxIE9yaW9uIFBvcGxhd3Nr aQorIyMgQ292ZXJlZCB1bmRlciB0aGUgaW5jbHVkZWQgTUlUL1gtQ29uc29ydGl1bSBMaWNl bnNlOgorIyMgICAgaHR0cDovL3d3dy5vcGVuc291cmNlLm9yZy9saWNlbnNlcy9taXQtbGlj ZW5zZS5waHAKKyMjIEFsbCBtb2RpZmljYXRpb25zIGFuZCBjb250cmlidXRpb25zIGJ5IG90 aGVyIHBlcnNvbnMgdG8KKyMjIHRoaXMgc2NyaXB0IGFyZSBhc3N1bWVkIHRvIGhhdmUgYmVl biBkb25hdGVkIHRvIHRoZQorIyMgTG9nd2F0Y2ggcHJvamVjdCBhbmQgdGh1cyBhc3N1bWUg dGhlIGFib3ZlIGNvcHlyaWdodAorIyMgYW5kIGxpY2Vuc2luZyB0ZXJtcy4gIElmIHlvdSB3 YW50IHRvIG1ha2UgY29udHJpYnV0aW9ucworIyMgdW5kZXIgeW91ciBvd24gY29weXJpZ2h0 IG9yIGEgZGlmZmVyZW50IGxpY2Vuc2UgdGhpcworIyMgbXVzdCBiZSBleHBsaWNpdGx5IHN0 YXRlZCBpbiB0aGUgY29udHJpYnV0aW9uIGFuIHRoZQorIyMgTG9nd2F0Y2ggcHJvamVjdCBy ZXNlcnZlcyB0aGUgcmlnaHQgdG8gbm90IGFjY2VwdCBzdWNoCisjIyBjb250cmlidXRpb25z LiAgSWYgeW91IGhhdmUgbWFkZSBzaWduaWZpY2FudAorIyMgY29udHJpYnV0aW9ucyB0byB0 aGlzIHNjcmlwdCBhbmQgd2FudCB0byBjbGFpbQorIyMgY29weXJpZ2h0IHBsZWFzZSBjb250 YWN0IGxvZ3dhdGNoLWRldmVsQGxpc3RzLnNvdXJjZWZvcmdlLm5ldC4KKyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworCit1c2Ug c3RyaWN0OwordXNlIExvZ3dhdGNoICc6YWxsJzsKKworbXkgJERlYnVnID0gJEVOVnsnTE9H V0FUQ0hfREVCVUcnfSB8fCAwOworbXkgJERldGFpbCA9ICRFTlZ7J0xPR1dBVENIX0RFVEFJ TF9MRVZFTCd9IHx8IDA7CitteSAkSWdub3JlSG9zdCA9ICRFTlZ7J2lnbm9yZV9ob3N0J30g fHwgIiI7CitteSAkUmVmdXNlZENvbm5lY3Rpb25zVGhyZXNob2xkID0gJEVOVnsncmVmdXNl ZF9jb25uZWN0aW9uc190aHJlc2hvbGQnfSB8fCAwOworbXkgJElsbGVnYWxVc2Vyc1RocmVz aG9sZCA9ICRFTlZ7J2lsbGVnYWxfdXNlcnNfdGhyZXNob2xkJ30gfHwgMDsKKyRtYWluOjpE b0xvb2t1cCA9ICRFTlZ7J3NzaGRfaXBfbG9va3VwJ307IAorbXkgJERlYnVnQ291bnRlciA9 IDA7CisKKyNJbml0IFN0cmluZyBDb250YWluZXJzCitteSAoCiskQWN0aW9uLCAgICAgICAg JEFkZHJlc3MsICAgICAgICRBZGRyZXNzZXMsCiskQnl0ZXNSZWFkLCAgICAgJEJ5dGVzV3Jp dHRlbiwgICRDbGllbnRWZXIsCiskQ29kZSwgICAgICAgICAgJERpciwgICAgICAgICAgICRF bXB0eVVzZXIsCiskRXJyb3IsICAgICAgICAgJEZpbGUsICAgICAgICAgICRGaW5nZXJQLAor JEZsYWdzLCAgICAgICAgICRGcm9tLCAgICAgICAgICAkSG9zdCwKKyRJUCwgICAgICAgICAg ICAkSWxlZ1VzZXIsICAgICAgJEludmFVc2VyLAorJEtleSwgICAgICAgICAgICRMaW5lLCAg ICAgICAgICAkTWV0aG9kLAorJE1vZGUsICAgICAgICAgICRNb2R0aW1lLCAgICAgICAkT2Zm ZXIsCiskT3B0aW9uLCAgICAgICAgJFBlcm0sICAgICAgICAgICRQb20sCiskUG9tMSwgICAg ICAgICAgJFBvbTIsICAgICAgICAgICRQb3J0LAorJFByaW8sICAgICAgICAgICRSZWFzb24s ICAgICAgICAkUmVjZWl2ZWQsCiskU2VudCwgICAgICAgICAgJFRvLCAgICAgICAgICAgICRV c2VyLAorJFdoeSwgICAgICAgICAgICRyZWFsbSwgICAgICAgICAkdXNlciwKKyk7CisKK215 ICVVc2VycyA9ICgpOworbXkgJU5vbmV4aXN0ZW50VXNlcnMgPSAoKTsKK215ICVCYWRQYXNz d29yZCA9ICgpOworbXkgJU5vSWRlbnQgPSAoKTsKK215ICVCaW5kRmFpbGVkID0gKCk7Citt eSAlUmVmdXNlZENvbm5lY3Rpb25zID0gKCk7CitteSAlUmVmdXNlZEF1dGhlbnRpY2F0aW9u ID0gKCk7CitteSAlTmVnb3RpYXRpb25GYWlsZWQgPSAoKTsKK215ICVEaXNjb25uZWN0UmVj ZWl2ZWQgPSAoKTsKK215ICVSb290TG9naW4gPSAoKTsKK215ICVQYW1SZWxlYXNlRmFpbCA9 ICgpOworbXkgJVBhbUVycm9yID0gKCk7CitteSAlUGFtQ2hyb290ID0gKCk7CitteSAlUGFt RGVueSA9ICgpOworbXkgJVNoYWRvd0luZm8gPSAoKTsKK215ICVUVFlNb2Rlc0ZhaWwgPSAo KTsKK215ICVMb2dpbkxvY2sgPSAoKTsKK215ICVQb3N0UG9uZWRBdXRoID0gKCk7CitteSAl TG9ja2VkQWNjb3VudCA9ICgpOworbXkgJUFsbG93VXNlcnMgPSAoKTsKK215ICVEZW55VXNl cnMgPSAoKTsKK215ICVBbGxvd0dyb3VwcyA9ICgpOworbXkgJURlbnlHcm91cHMgPSAoKTsK K215ICVOb0dyb3VwcyA9ICgpOworbXkgJU5vU2hlbGxVc2VycyA9ICgpOworbXkgJVNoZWxs Tm90RXhlY3V0YWJsZVVzZXJzID0gKCk7CitteSAlRGVwcmVjYXRlZE9wdGlvbiA9ICgpOwor bXkgJU1pc01hdGNoID0gKCk7CitteSAlS3JiQXV0RmFpbCA9ICgpOworbXkgJUtyYkF1dEVy ciA9ICgpOworbXkgJUtyYkVyciA9ICgpOworbXkgQFNjYW5uZWQgPSAoKTsKK215ICVPdGhl ckxpc3QgPSAoKTsKK215ICVDaG1vZEVyciA9ICgpOworbXkgJUNob3duRXJyID0gKCk7Citt eSAlS3JiX3JlYWxtID0gKCk7CitteSAlQ29ubmVjdEZhaWxlZCA9ICgpOworbXkgJUNocm9v dCA9ICgpOworbXkgJUNsb3NlRGlyID0gKCk7CitteSAlQ2xvc2VGaWxlUmVhZFdyaXRlID0g KCk7CitteSAlT3BlbkRpciA9ICgpOworbXkgJU9wZW5GaWxlID0gKCk7CitteSAlUmVhbFBh dGggPSAoKTsKK215ICVTZXNzaW9uID0gKCk7CitteSAlU2V0TW9kdGltZSA9ICgpOworbXkg JVN0YXQgPSAoKTsKK215ICVDbGllbnRWZXJzID0gKCk7CisKK215ICRzZnRwUmVxdWVzdHMg PSAwOworbXkgJE5ldHdvcmtFcnJvcnMgPSAwOworbXkgJEtpbGxzID0gMDsKK215ICRTdGFy dHMgPSAwOworbXkgJFN0YXR1c05vU3VjaEZpbGUgPSAwOworbXkgJEJ5dGVzU2VudCA9IDA7 CitteSAkQnl0ZXNSZWNlaXZlZCA9IDA7CitteSAkTm9DaXBoZXIgPSAwOworCit3aGlsZSAo ZGVmaW5lZChteSAkVGhpc0xpbmUgPSA8U1RESU4+KSkgeworICAgY2hvbXAoJFRoaXNMaW5l KTsKKyAgIGlmICgKKyAgICAgICAoJFRoaXNMaW5lID1+IC9Db25uZWN0aW9uIHJlc2V0IGJ5 IHBlZXIvKSBvcgorICAgICAgICgkVGhpc0xpbmUgPX4gL15DaGlsZCBjb25uZWN0aW9uIGZy b20vKSBvcgorICAgICAgICgkVGhpc0xpbmUgPX4gL0Rpc2Nvbm5lY3QgcmVjZWl2ZWQvKSBv cgorICAgICAgICgkVGhpc0xpbmUgPX4gL0V4aXRlZCBub3JtYWxseS8pIG9yCisgICAgICAg MCAjIFRoaXMgbGluZSBwcmV2ZW50cyBibGFtZSBzaGlmdGluZyBhcyBsaW5lcyBhcmUgYWRk ZWQgYWJvdmUKKyAgICkgeworICAgICAgIyBJZ25vcmUgdGhlc2UKKyAgIH0gZWxzaWYgKCAo JE1ldGhvZCwkVXNlciwkS2V5LCRIb3N0LCRQb3J0KSA9ICgkVGhpc0xpbmUgPX4gL14oXFMr KSBhdXRoIHN1Y2NlZWRlZCBmb3IgJyguKiknIHdpdGgga2V5ICguKikgZnJvbSAoW1xkXC46 YS1mXSspKD86JVx3Kyk/OihcZCspLykgKSB7CisgICAgICBpZiAoJERldGFpbCA+PSAyMCkg eworICAgICAgICAgJFVzZXJzeyRVc2VyfXskSG9zdH17JE1ldGhvZCAuICIgKCRLZXkpIn0r KzsKKyAgICAgIH0gZWxzZSB7CisgICAgICAgICBpZiAoICRIb3N0ICF+IC8kSWdub3JlSG9z dC8gKSB7CisgICAgICAgICAgICAkVXNlcnN7JFVzZXJ9eyRIb3N0fXsiKGFsbCkifSsrOwor ICAgICAgICAgfQorICAgICAgfQorICAgfSBlbHNpZiAoCisgICAgICAoJFRoaXNMaW5lID1+ IG0vXkVycm9yIHJlYWRpbmcvICkgb3IKKyAgICAgIDAKKyAgICkgeworICAgICAgJE5ldHdv cmtFcnJvcnMrKzsKKyAgIH0gZWxzaWYgKCAoJFVzZXIsJEhvc3QpID0gKCRUaGlzTGluZSA9 fiAvXkJhZCBwYXNzd29yZCBhdHRlbXB0IGZvciAnKC4qKScgZnJvbSAoW14gXSopOi8pKSB7 CisgICAgICAkQmFkUGFzc3dvcmR7JEhvc3R9eyRVc2VyfSsrOworICAgfSBlbHNpZiAoICgk SG9zdCkgPSAoJFRoaXNMaW5lID1+IC9eTG9naW4gYXR0ZW1wdCBmb3Igbm9uZXhpc3RlbnQg dXNlciBmcm9tIChbXiBdKik6LykpIHsKKyAgICAgIGlmICgkSWxlZ1VzZXIgPX4gL2lsbGVn YWwgdXNlci8pIHskTm9uZXhpc3RlbnRVc2Vyc3skSG9zdH0rKzt9CisgICB9IGVsc2lmICgg JFRoaXNMaW5lID1+IG0vVGVybWluYXRlZCBieSBzaWduYWwvKSB7CisgICAgICAkS2lsbHMr KzsKKworCisKKworICAgfSBlbHNpZiAoICRUaGlzTGluZSA9fiBtL14obG9nOiApP1NlcnZl ciBsaXN0ZW5pbmcgb24oIFteIF0rKT8gcG9ydCBcZCsvICkgeyAjc3NoL29wZW5zc2gKKyAg ICAgICRTdGFydHMrKzsKKyAgIH0gZWxzaWYgKCAoJFBvcnQsJEFkZHJlc3MsJFJlYXNvbikg PSAoJFRoaXNMaW5lID1+IC9eZXJyb3I6IEJpbmQgdG8gcG9ydCAoW14gXSspIG9uIChbXiBd KykgZmFpbGVkOiAoLispLiQvICkpIHsKKyAgICAgIG15ICRUZW1wID0gIiRBZGRyZXNzIHBv cnQgJFBvcnQgKCRSZWFzb24pIjsKKyAgICAgICMgRmFpbGVkIHRvIGJpbmQgb24gMC4wLjAu MCBsaWtlbHkgZHVlIHRvIGNvbmZpZ3VyZWQgIkxpc3RlbkFkZHJlc3MiCisgICAgICAjIG9u IGJvdGggSVB2NCBhbmQgSVB2NgorICAgICAgdW5sZXNzICgkQWRkcmVzcyA9fiAvXjAuMC4w LjAkLykgeworICAgICAgICAgJEJpbmRGYWlsZWR7JFRlbXB9Kys7CisgICAgICB9CisgICB9 IGVsc2lmICggJFRoaXNMaW5lID1+IG0vXnBhY2tldF9zZXRfbWF4c2l6ZTogLykgeworICAg ICAgaWYgKCAkRGVidWcgPj0gNSApIHsKKyAgICAgICAgIHByaW50IFNUREVSUiAiREVCVUc6 IEZvdW5kIC1wYWNrZXRfc2V0X21heHNpemUtIGxpbmVcbiI7CisgICAgICB9CisgICB9IGVs c2lmICggKHVuZGVmLCRBZGRyZXNzZXMpID0gKCRUaGlzTGluZSA9fiAvXndhcm5pbmc6IChb XiBdKiksIGxpbmUgXGQrOiBob3N0IFteIF0qIG1pc21hdGNoOiAoLiopJC8pKSB7CisgICAg ICAkTWlzTWF0Y2h7JEFkZHJlc3Nlc30rKzsKKyAgIH0gZWxzaWYgKCAkVGhpc0xpbmUgPX4g bS9zdWJzeXN0ZW0gcmVxdWVzdCBmb3Igc2Z0cC8gKSB7CisgICAgICAkc2Z0cFJlcXVlc3Rz Kys7CisgICB9IGVsc2lmICggJFRoaXNMaW5lID1+IG0vcmVmdXNlZCBjb25uZWN0IGZyb20g KC4qKSQvICkgeworICAgICAgJFJlZnVzZWRDb25uZWN0aW9uc3skMX0rKzsKKyAgIH0gZWxz aWYgKCAoJFJlYXNvbikgPSAoJFRoaXNMaW5lID1+IC9eQXV0aGVudGljYXRpb24gcmVmdXNl ZDogKC4qKSQvICkgKSB7CisgICAgICAkUmVmdXNlZEF1dGhlbnRpY2F0aW9ueyRSZWFzb259 Kys7CisgICB9IGVsc2lmICggKHVuZGVmLCRIb3N0LCRQb3J0LCRSZWFzb24sJE9mZmVyKSA9 ICgkVGhpc0xpbmUgPX4gL14oZmF0YWw6ICk/VW5hYmxlIHRvIG5lZ290aWF0ZSB3aXRoIChb XiBdKykoIHBvcnQgXGQrKT86ICguKilcLiBUaGVpciBvZmZlcjogKC4qKSBcW3ByZWF1dGhc XSQvKSApIHsKKyAgICAgICROZWdvdGlhdGlvbkZhaWxlZHskUmVhc29ufXskSG9zdH17JE9m ZmVyfSsrOworICAgfSBlbHNpZiAoICgkUmVhc29uLCRIb3N0LCRPZmZlcikgPSAoJFRoaXNM aW5lID1+IC9eKFByb3RvY29sIG1ham9yIHZlcnNpb25zIGRpZmZlcikgZm9yIChbXiBdKyko PzogcG9ydCBcZCspOiAoLiopJC8pICkgeworICAgICAgJE5lZ290aWF0aW9uRmFpbGVkeyRS ZWFzb259eyRIb3N0fXskT2ZmZXJ9Kys7CisgICB9IGVsc2lmICggKCRQcmlvLCRIb3N0LCRQ b3J0LCRDb2RlLCRSZWFzb24pID0gKCRUaGlzTGluZSA9fiAvXihlcnJvcjogKT9SZWNlaXZl ZCBkaXNjb25uZWN0IGZyb20gKFteIF0qKSggcG9ydCBcZCspPzogPyhcZCspOiAoLiopJC8p KSB7CisgICAgICAjIFJlYXNvbiAxMSAoe1NTSCxTU0gyfV9ESVNDT05ORUNUX0JZX0FQUExJ Q0FUSU9OKSBpcyBleHBlY3RlZCwgYW5kIGxvZ2dlZCBhdCBzZXZlcml0eSBsZXZlbCBJTkZP CisgICAgICBpZiAoKCRSZWFzb24gPX4gL3ByZWF1dGgvKSB8fCAoJENvZGUgIT0gMTEpIHx8 ICgkRGV0YWlsID49IDMwKSkgeworCSREaXNjb25uZWN0UmVjZWl2ZWR7JFJlYXNvbn17JEhv c3R9Kys7CisgICAgICB9CisgICB9IGVsc2lmICggKCRIb3N0KSA9ICgkVGhpc0xpbmUgPX4g L15ST09UIExPR0lOIFJFRlVTRUQgRlJPTSAoW14gXSopJC8pKSB7CisgICAgICAkUm9vdExv Z2lueyRIb3N0fSsrOworICAgfSBlbHNpZiAoICgkRXJyb3IpID0gKCRUaGlzTGluZSA9fiAv XkNhbm5vdCByZWxlYXNlIFBBTSBhdXRoZW50aWNhdGlvblxbXGRcXTogKC4qKSQvKSkgewor ICAgICAgJFBhbVJlbGVhc2VGYWlseyRFcnJvcn0rKzsKKyAgIH0gZWxzaWYgKCAoJEVycm9y KSA9ICgkVGhpc0xpbmUgPX4gL15wYW1fc3lzdGVtZFwoc3NoZDpzZXNzaW9uXCk6IEZhaWxl ZCB0byByZWxlYXNlIHNlc3Npb246ICguKikkLykpIHsKKyAgICAgICRQYW1SZWxlYXNlRmFp bHskRXJyb3J9Kys7CisgICB9IGVsc2lmICggKCRFcnJvcikgPSAoICRUaGlzTGluZSA9fiBt L15lcnJvcjogUEFNOiAoLiopJC8pKSB7CisgICAgICAkUGFtRXJyb3J7JEVycm9yfSsrOwor ICAgfSBlbHNpZiAoICgkRXJyb3IpID0gKCAkVGhpc0xpbmUgPX4gbS9wYW1fc3lzdGVtZFwo c3NoZDpzZXNzaW9uXCk6IChGYWlsZWQgdG8gY3JlYXRlIHNlc3Npb246IC4qKSQvKSkgewor ICAgICAgJFBhbUVycm9yeyRFcnJvcn0rKzsKKyAgIH0gZWxzaWYgKCAoJFJlYXNvbikgPSAo ICRUaGlzTGluZSA9fiBtL3BhbV9jaHJvb3RcKC4rXCk6XHMrKFteOl0pLykpIHsKKyAgICAg ICRQYW1DaHJvb3R7JFJlYXNvbn0rKzsKKyAgIH0gZWxzaWYgKCAoJEVycm9yKSA9ICggJFRo aXNMaW5lID1+IG0vXmVycm9yOiBDb3VsZCBub3QgZ2V0IHNoYWRvdyBpbmZvcm1hdGlvbiBm b3IgKC4qKSQvKSkgeworICAgICAgJFNoYWRvd0luZm97JEVycm9yfSsrOworICAgfSBlbHNp ZiAoICgkUmVhc29uKSA9ICgkVGhpc0xpbmUgPX4gL15TZXR0aW5nIHR0eSBtb2RlcyBmYWls ZWQ6ICguKikkLykpIHsKKyAgICAgICRUVFlNb2Rlc0ZhaWx7JFJlYXNvbn0rKzsKKyAgIH0g ZWxzaWYgKCAoJFVzZXIsdW5kZWYpID0gKCRUaGlzTGluZSA9fiAvXlVzZXIgKFteIF0qKSBu b3QgYWxsb3dlZCBiZWNhdXNlIChbXiBdKikgZXhpc3RzJC8pKSB7CisgICAgICAkTG9naW5M b2NreyRVc2VyfSsrOworICAgfSBlbHNpZiAoICgkVXNlcikgPSAoJFRoaXNMaW5lID1+IC9e VXNlciAoW14gXSopIG5vdCBhbGxvd2VkIGJlY2F1c2UgYWNjb3VudCBpcyBsb2NrZWQvKSkg eworICAgICAgJExvY2tlZEFjY291bnR7JFVzZXJ9Kys7CisgICB9IGVsc2lmICggKCRVc2Vy KSA9ICgkVGhpc0xpbmUgPX4gL15Vc2VyIChbXiBdKikgZnJvbSAoPzpbXiBdKikgbm90IGFs bG93ZWQgYmVjYXVzZSBub3QgbGlzdGVkIGluIEFsbG93VXNlcnMvKSkgeworICAgICAgJEFs bG93VXNlcnN7JFVzZXJ9Kys7CisgICB9IGVsc2lmICggKCRVc2VyKSA9ICgkVGhpc0xpbmUg PX4gL15Vc2VyIChbXiBdKikoIGZyb20gWzAtOS5dKik/IG5vdCBhbGxvd2VkIGJlY2F1c2Ug bGlzdGVkIGluIERlbnlVc2Vycy8pKXsKKyAgICAgICREZW55VXNlcnN7JFVzZXJ9Kys7Cisg ICB9IGVsc2lmICggKCRVc2VyKSA9ICgkVGhpc0xpbmUgPX4gL15Vc2VyIChbXiBdKikoIGZy b20gWzAtOS5dKik/IG5vdCBhbGxvd2VkIGJlY2F1c2Ugbm90IGluIGFueSBncm91cC8pKSB7 CisgICAgICAkTm9Hcm91cHN7JFVzZXJ9Kys7CisgICB9IGVsc2lmICggKCRVc2VyKSA9ICgk VGhpc0xpbmUgPX4gL15Vc2VyIChbXiBdKikoIGZyb20gW14gXSopPyBub3QgYWxsb3dlZCBi ZWNhdXNlIGEgZ3JvdXAgaXMgbGlzdGVkIGluIERlbnlHcm91cHMvKSkgeworICAgICAgJERl bnlHcm91cHN7JFVzZXJ9Kys7CisgICB9IGVsc2lmICggKCRVc2VyKSA9ICgkVGhpc0xpbmUg PX4gL15Vc2VyIChbXiBdKikgZnJvbSAoW14gXSopIG5vdCBhbGxvd2VkIGJlY2F1c2Ugbm9u ZSBvZiB1c2VyJ3MgZ3JvdXBzIGFyZSBsaXN0ZWQgaW4gQWxsb3dHcm91cHMvKSkgeworICAg ICAgJEFsbG93R3JvdXBzeyRVc2VyfSsrOworICAgfSBlbHNpZiAoICgkVXNlcikgPSAoJFRo aXNMaW5lID1+IC9eVXNlciAoW14gXSopIG5vdCBhbGxvd2VkIGJlY2F1c2Ugc2hlbGwgKFxT KykgZG9lcyBub3QgZXhpc3QvKSkgeworICAgICAgJE5vU2hlbGxVc2Vyc3skVXNlcn0rKzsK KyAgIH0gZWxzaWYgKCAoJFVzZXIpID0gKCRUaGlzTGluZSA9fiAvXlVzZXIgKFteIF0qKSBu b3QgYWxsb3dlZCBiZWNhdXNlIHNoZWxsIChcUyspIGlzIG5vdCBleGVjdXRhYmxlLykpIHsK KyAgICAgICRTaGVsbE5vdEV4ZWN1dGFibGVVc2Vyc3skVXNlcn0rKzsKKyAgIH0gZWxzaWYg KCAoJFVzZXIpID0gKCRUaGlzTGluZSA9fiAvXmZhdGFsOiBBY2Nlc3MgZGVuaWVkIGZvciB1 c2VyIChbXiBdKykgYnkgUEFNIGFjY291bnQgY29uZmlndXJhdGlvbiBcW3ByZWF1dGhcXS8p KSB7CisgICAgICAkUGFtRGVueXskVXNlcn0rKzsKKyAgIH0gZWxzaWYgKCAoJElQKSA9ICgk VGhpc0xpbmUgPX4gL15zY2FubmVkIGZyb20gKFteIF0qKS8pICkgeworICAgICAgcHVzaCBA U2Nhbm5lZCwgJElQOworICAgfSBlbHNpZiAoICh1bmRlZiwkTGluZSwkT3B0aW9uKSA9ICgk VGhpc0xpbmUgPX4gL15yZSh4ZWN8cHJvY2VzcyBjb25maWcpIGxpbmUgKFxkKyk6IERlcHJl Y2F0ZWQgb3B0aW9uICguKikkLykpIHsKKyAgICAgICREZXByZWNhdGVkT3B0aW9ueyIkT3B0 aW9uIC0gbGluZSAkTGluZSJ9Kys7CisgICB9IGVsc2lmICggKCRQb20xLCRQb20yLCRVc2Vy KSA9ICgkVGhpc0xpbmUgPX4gL3BhbV9rcmI1KFxbXGQqXF0pPzogYXV0aGVudGljYXRpb24g ZmFpbHMgZm9yIChgfCcpKFteIF0qKScvKSkgeworICAgICAgJEtyYkF1dEZhaWx7JFVzZXJ9 Kys7CisgICB9IGVsc2lmICggKCRFcnJvcikgPSAoJFRoaXNMaW5lID1+IC9wYW1fa3JiNTog YXV0aGVudGljYXRlIGVycm9yOiAoLiopJC8pKSB7CisgICAgICAkS3JiQXV0RXJyeyRFcnJv cn0rKzsKKyAgIH0gZWxzaWYgKCAoJFRoaXNMaW5lID1+IC9wYW1fa3JiNTogdW5hYmxlIHRv IGRldGVybWluZSB1aWRcL2dpZCBmb3IgdXNlciQvKSkgeworICAgICAgJEtyYkF1dEVycnsi dW5hYmxlIHRvIGRldGVybWluZSB1aWQvZ2lkIGZvciB1c2VyIn0rKzsKKyAgIH0gZWxzaWYg KCAoJEVycm9yKSA9ICgkVGhpc0xpbmUgPX4gL3BhbV9rcmI1OiBlcnJvciByZW1vdmluZyBm aWxlICguKikkLykpIHsKKyAgICAgICRLcmJFcnJ7ImVycm9yIHJlbW92aW5nIGZpbGUgIiAu ICRFcnJvcn0rKzsKKyAgIH0gZWxzaWYgKCAoJFBvbSwkRXJyb3IpID0gKCRUaGlzTGluZSA9 fiAvcGFtX2tyYjUoXFtcZCpcXSk6IGVycm9yIHJlc29sdmluZyB1c2VyIG5hbWUgJ1teIF0q JyB0byB1aWRcL2dpZCBwYWkvKSkgeworICAgICAgJEtyYkVycnsiZXJyb3IgcmVzb2x2aW5n IHVzZXIgbmFtZSAnJEVycm9yJyB0byB1aWRcL2dpZCBwYWkifSsrOworICAgfSBlbHNpZiAo KCRGaWxlLCRQZXJtLCRXaHkpID0gKCRUaGlzTGluZSA9fiAvZXJyb3I6IGNobW9kICguKikg KC4qKSBmYWlsZWQ6ICguKikvKSkgeworICAgICAgJENobW9kRXJyeyIkRmlsZSwkUGVybSwk V2h5In0rKzsKKyAgIH0gZWxzaWYgKCgkRmlsZSwkRnJvbSwkVG8sJFdoeSkgPSAoJFRoaXNM aW5lID1+IC9lcnJvcjogY2hvd24gKC4qKSAoLiopICguKikgZmFpbGVkOiAoLiopLykpIHsK KyAgICAgICRDaG93bkVycnsiJEZpbGUsJEZyb20sJFRvLCRXaHkifSsrOworICAgfSBlbHNp ZiAoKCR1c2VyLCRyZWFsbSkgPSAoJFRoaXNMaW5lID1+IC9BdXRob3JpemVkIHRvIChbXiBd KyksIGtyYjUgcHJpbmNpcGFsIFwxQChbXiBdKykgXCgoPzprcmI1X2t1c2Vyb2t8c3NoX2dz c2FwaV9rcmI1X2NtZG9rKVwpLykpIHsKKyAgICAgICRLcmJfcmVhbG17JHJlYWxtfXskdXNl cn0rKzsKKyAgIH0gZWxzaWYgKCgkQWN0aW9uLCRVc2VyKSA9ICgkVGhpc0xpbmUgPX4gL15z ZXNzaW9uICgoPzpvcGVufGNsb3MpZWQpIGZvciBsb2NhbCB1c2VyIChcUyspIGZyb20gLykp IHsKKyAgICAgICRTZXNzaW9ueyJBY3Rpb24sJFVzZXIifSsrOworICAgfSBlbHNpZiAoJFRo aXNMaW5lID1+IC9ec2VudCBzdGF0dXMgTm8gc3VjaCBmaWxlJC8pIHsKKyAgICAgICRTdGF0 dXNOb1N1Y2hGaWxlKys7CisgICB9IGVsc2lmICgoJEZpbGUsJEZsYWdzLCRNb2RlKSA9ICgk VGhpc0xpbmUgPX4gL15vcGVuICIoLiopIiBmbGFncyAoXFMrKSBtb2RlIChcZCspLyApKSB7 CisgICAgICAkT3BlbkZpbGV7IiRGaWxlOiRGbGFnczokTW9kZSJ9Kys7CisgICB9IGVsc2lm ICgoJEZpbGUsJEJ5dGVzUmVhZCwkQnl0ZXNXcml0dGVuKSA9ICgkVGhpc0xpbmUgPX4gL15j bG9zZSAiKC4qKSIgYnl0ZXMgcmVhZCAoXGQrKSB3cml0dGVuIChcZCspLyApKSB7CisgICAg ICAkQ2xvc2VGaWxlUmVhZFdyaXRleyIkRmlsZSwkQnl0ZXNSZWFkLCRCeXRlc1dyaXR0ZW4i fSsrOworICAgfSBlbHNpZiAoKCRTZW50LCRSZWNlaXZlZCkgPSAoJFRoaXNMaW5lID1+IC9e VHJhbnNmZXJyZWQ6IHNlbnQgKFxkKyksIHJlY2VpdmVkIChcZCspIGJ5dGVzJC8gKSkgewor ICAgICAgJEJ5dGVzU2VudCArPSAkU2VudDsKKyAgICAgICRCeXRlc1JlY2VpdmVkICs9ICRS ZWNlaXZlZDsKKyAgIH0gZWxzaWYgKCgkRmlsZSwkTW9kdGltZSkgPSAoJFRoaXNMaW5lID1+ IC9ec2V0ICIoLiopIiBtb2R0aW1lIChcZCstXGQrOlxkKzpcZCspJC8gKSkgeworICAgICAg JFNldE1vZHRpbWV7IiRNb2R0aW1lLCRGaWxlIn0rKzsKKyAgIH0gZWxzaWYgKCgkRGlyKSA9 ICgkVGhpc0xpbmUgPX4gL15vcGVuZGlyICIoLiopIiQvICkpIHsKKyAgICAgICRPcGVuRGly eyREaXJ9Kys7CisgICB9IGVsc2lmICgoJERpcikgPSAoJFRoaXNMaW5lID1+IC9eY2xvc2Vk aXIgIiguKikiJC8gKSkgeworICAgICAgJENsb3NlRGlyeyREaXJ9Kys7CisgICB9IGVsc2lm ICgoJEZpbGUpID0gKCRUaGlzTGluZSA9fiAvXnJlYWxwYXRoICIoLiopIiQvICkpIHsKKyAg ICAgICRSZWFsUGF0aHskRmlsZX0rKzsKKyAgIH0gZWxzaWYgKCgkRmlsZSkgPSAoJFRoaXNM aW5lID1+IC9ec3RhdCBuYW1lICIoLiopIiQvICkpIHsKKyAgICAgICRTdGF0eyRGaWxlfSsr OworICAgfSBlbHNpZiAoKCREaXIpID0gKCRUaGlzTGluZSA9fiAvXkNoYW5nZWQgcm9vdCBk aXJlY3RvcnkgdG8gIiguKikiLyApKSB7CisgICAgICAkQ2hyb290eyREaXJ9Kys7CisgICB9 IGVsc2lmICgoJENsaWVudFZlcikgPSAoJFRoaXNMaW5lID1+IC9ecmVjZWl2ZWQgY2xpZW50 IHZlcnNpb24gKFxTKykvICkpIHsKKyAgICAgICRDbGllbnRWZXJzeyRDbGllbnRWZXJ9Kys7 CisgICB9IGVsc2lmICgoJEhvc3QsJFBvcnQpID0gKCRUaGlzTGluZSA9fiAvXmVycm9yOiBj b25uZWN0X3RvIChcUyspIHBvcnQgKFxkKyk6IGZhaWxlZFwuJC8pKSB7CisgICAgICAkQ29u bmVjdEZhaWxlZHsiJEhvc3QgcG9ydCAkUG9ydCJ9Kys7CisgICB9IGVsc2lmICgkVGhpc0xp bmUgPX4gL15mYXRhbDogbm8gbWF0Y2hpbmcgY2lwaGVyIGZvdW5kOiAvKSB7CisgICAgICAk Tm9DaXBoZXIrKzsKKyAgIH0gZWxzZSB7CisgICAgICAjIFJlcG9ydCBhbnkgdW5tYXRjaGVk IGVudHJpZXMuLi4KKyAgICAgIHVubGVzcyAoJFRoaXNMaW5lID1+IC9md2QgWDExIGNvbm5l Y3QvKSB7CisgICAgICAgICAkT3RoZXJMaXN0eyRUaGlzTGluZX0gKz0gMTsKKyAgICAgIH0K KyAgIH0KK30KKworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMKKworc3ViIHRpbWVzcGx1cmFsIHsKKyAgIG15ICgkY291bnQp ID0gQF87CisgICBteSAkcGx1cmFsID0gKCRjb3VudCA+IDEpID8gInMiIDogIiI7CisgICBy ZXR1cm4gIiRjb3VudCBUaW1lJHBsdXJhbFxuIjsKK30KKworaWYgKCROZXR3b3JrRXJyb3Jz KSB7CisgICBwcmludCAiXG5OZXR3b3JrIFJlYWQgV3JpdGUgRXJyb3JzOiAiIC4gJE5ldHdv cmtFcnJvcnMgLiAiXG4iOworfQoraWYgKCRLaWxscykgeworICAgcHJpbnQgIlxuS2lsbGVk OiAiIC4gdGltZXNwbHVyYWwoJEtpbGxzKTsKK30KK2lmICgkU3RhcnRzKSB7CisgICBwcmlu dCAiXG5TdGFydGVkOiAiIC4gdGltZXNwbHVyYWwoJFN0YXJ0cyk7Cit9CisKK2lmIChrZXlz ICVEZXByZWNhdGVkT3B0aW9uKSB7CisgICBwcmludCAiXG5EZXByZWNhdGVkIG9wdGlvbnMg aW4gU1NIIGNvbmZpZzpcbiI7CisgICBmb3JlYWNoIG15ICRPcHRpb24gKHNvcnQgeyRhIGNt cCAkYn0ga2V5cyAlRGVwcmVjYXRlZE9wdGlvbikgeworICAgICAgcHJpbnQgIiAgICRPcHRp b25cbiI7CisgICB9Cit9CisKK2lmIChrZXlzICVSb290TG9naW4pIHsKKyAgIHByaW50ICJc blxuV0FSTklORyEhIVxuIjsKKyAgIHByaW50ICJSZWZ1c2VkIFJPT1QgbG9naW4gYXR0ZW1w dCBmcm9tOlxuIjsKKyAgIGZvcmVhY2ggbXkgJEhvc3QgKHNvcnQgeyRhIGNtcCAkYn0ga2V5 cyAlUm9vdExvZ2luKSB7CisgICAgICBwcmludCAiICAgJEhvc3QgOiAiIC4gdGltZXNwbHVy YWwoJFJvb3RMb2dpbnskSG9zdH0pOworICAgfQorfQorCitpZiAoa2V5cyAlQmluZEZhaWxl ZCkgeworICAgcHJpbnQgIlxuRmFpbGVkIHRvIGJpbmQ6XG4iOworICAgZm9yZWFjaCBteSAk VGhpc09uZSAoc29ydCB7JGEgY21wICRifSBrZXlzICVCaW5kRmFpbGVkKSB7CisgICAgICAg ICAgIHByaW50ICIgICAkVGhpc09uZSA6ICIgLiB0aW1lc3BsdXJhbCgkQmluZEZhaWxlZHsk VGhpc09uZX0pOworICAgfQorfQorCitpZiAoJERldGFpbCA+PSAzMCAmJiBrZXlzICVDb25u ZWN0RmFpbGVkKSB7CisgICAjIFNTSCBTb2NrcyBGb3J3YXJkaW5nCisgICBwcmludCAiXG5G YWlsZWQgdG8gY29ubmVjdCB0bzpcbiI7CisgICBmb3JlYWNoIG15ICRUaGlzT25lIChzb3J0 IHskYSBjbXAgJGJ9IGtleXMgJUNvbm5lY3RGYWlsZWQpIHsKKyAgICAgICAgICAgcHJpbnQg IiAgICRUaGlzT25lIDogIiAuIHRpbWVzcGx1cmFsKCRDb25uZWN0RmFpbGVkeyRUaGlzT25l fSk7CisgICB9Cit9CisKK2lmIChrZXlzICVOZWdvdGlhdGlvbkZhaWxlZCkgeworICAgcHJp bnQgIlxuTmVnb3RpYXRpb24gZmFpbGVkOlxuIjsKKyAgIGZvcmVhY2ggbXkgJFJlYXNvbiAo c29ydCB7JGEgY21wICRifSBrZXlzICVOZWdvdGlhdGlvbkZhaWxlZCkgeworICAgICAgbXkg JFRvdGFsID0gMDsKKyAgICAgIHByaW50ICIgICAkUmVhc29uIjsKKyAgICAgIGlmICggJERl dGFpbCA+IDAgKSB7CisgICAgICAgICBwcmludCAiXG4iOworICAgICAgfQorICAgICAgZm9y ZWFjaCBteSAkSG9zdCAoc29ydCB7JGEgY21wICRifSBrZXlzICV7JE5lZ290aWF0aW9uRmFp bGVkeyRSZWFzb259fSkgeworICAgICAgICBteSAkSG9zdFRvdGFsID0gMDsKKyAgICAgICAg Zm9yZWFjaCBteSAkT2ZmZXIgKHNvcnQgeyRhIGNtcCAkYn0ga2V5cyAleyROZWdvdGlhdGlv bkZhaWxlZHskUmVhc29ufXskSG9zdH19KSB7CisgICAgICAgICAgICRIb3N0VG90YWwgKz0g JE5lZ290aWF0aW9uRmFpbGVkeyRSZWFzb259eyRIb3N0fXskT2ZmZXJ9OworICAgICAgICB9 CisgICAgICAgICRUb3RhbCArPSAkSG9zdFRvdGFsOworICAgICAgICBpZiAoICREZXRhaWwg PiAwICkgeworICAgICAgICAgICBwcmludCAiICAgICAgJEhvc3Q6ICIgLiB0aW1lc3BsdXJh bCgkSG9zdFRvdGFsKTsKKyAgICAgICAgfQorICAgICAgICBpZiAoICREZXRhaWwgPiA1ICkg eworICAgICAgICAgICBmb3JlYWNoIG15ICRPZmZlciAoc29ydCB7JGEgY21wICRifSBrZXlz ICV7JE5lZ290aWF0aW9uRmFpbGVkeyRSZWFzb259eyRIb3N0fX0pIHsKKyAgICAgICAgICAg ICAgICAgbXkgJHRvdCA9ICROZWdvdGlhdGlvbkZhaWxlZHskUmVhc29ufXskSG9zdH17JE9m ZmVyfTsKKyAgICAgICAgICAgICAgICAgcHJpbnQgIiAgICAgICAgJE9mZmVyOiAiIC4gdGlt ZXNwbHVyYWwoJHRvdCk7CisgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgfQorICAg ICAgaWYgKCAkRGV0YWlsID09IDAgKSB7CisgICAgICAgICBwcmludCAiOiAiIC4gdGltZXNw bHVyYWwoJFRvdGFsKTsKKyAgICAgIH0KKyAgIH0KK30KKworaWYgKGtleXMgJUJhZFBhc3N3 b3JkKSB7CisgICBwcmludCAiXG5CYWQgcGFzc3dvcmQgYXR0ZW1wdHM6XG4iOworICAgZm9y ZWFjaCBteSAkaXAgKHNvcnQgU29ydElQIGtleXMgJUJhZFBhc3N3b3JkKSB7CisgICAgICBt eSAkbmFtZSA9IExvb2t1cElQKCRpcCk7CisgICAgICBteSAkdG90Y291bnQgPSAwOworICAg ICAgZm9yZWFjaCBteSAkdXNlciAoa2V5cyAleyRCYWRQYXNzd29yZHskaXB9fSkgeworICAg ICAgICAgJHRvdGNvdW50ICs9ICRCYWRQYXNzd29yZHskaXB9eyR1c2VyfTsKKyAgICAgIH0K KyAgICAgIHByaW50ICIgICAkbmFtZTogIi4gdGltZXNwbHVyYWwoJHRvdGNvdW50KTsKKyAg ICAgIGlmICgkRGV0YWlsID49IDUpIHsKKyAgICAgICAgIG15ICRzb3J0ID0gQ291bnRPcmRl cigleyRCYWRQYXNzd29yZHskaXB9fSk7CisgICAgICAgICBmb3JlYWNoIG15ICR1c2VyIChz b3J0ICRzb3J0IGtleXMgJXskQmFkUGFzc3dvcmR7JGlwfX0pIHsKKyAgICAgICAgICAgIG15 ICR2YWwgPSAkQmFkUGFzc3dvcmR7JGlwfXskdXNlcn07CisgICAgICAgICAgICBwcmludCAi ICAgICAgJHVzZXI6ICIgLiB0aW1lc3BsdXJhbCgkdmFsKTsKKyAgICAgICAgIH0KKyAgICAg IH0KKyAgIH0KK30KKworaWYgKGtleXMgJU5vbmV4aXN0ZW50VXNlcnMpIHsKKyAgIHByaW50 ICJcbk5vbi1leGlzdGVudCB1c2VycyBmcm9tIjsKKyAgIGlmICgkSWxsZWdhbFVzZXJzVGhy ZXNob2xkKSB7CisgICAgICBwcmludCAiICh3aXRoIHRocmVzaG9sZCA+PSAkSWxsZWdhbFVz ZXJzVGhyZXNob2xkKSI7CisgICAgICB9CisgICBwcmludCAiOlxuIjsKKyAgIGZvcmVhY2gg bXkgJGlwIChzb3J0IFNvcnRJUCBrZXlzICVOb25leGlzdGVudFVzZXJzKSB7CisgICAgICBt eSAkbmFtZSA9IExvb2t1cElQKCRpcCk7CisgICAgICBwcmludCAiICAgJG5hbWU6ICIgLiB0 aW1lc3BsdXJhbCgkTm9uZXhpc3RlbnRVc2Vyc3skaXB9KTsKKyAgIH0KK30KKworaWYgKGtl eXMgJUxvY2tlZEFjY291bnQpIHsKKyAgIHByaW50ICJcbkxvY2tlZCBhY2NvdW50IGxvZ2lu IGF0dGVtcHRzOlxuIjsKKyAgIGZvcmVhY2ggbXkgJFVzZXIgKHNvcnQgeyRhIGNtcCAkYn0g a2V5cyAlTG9ja2VkQWNjb3VudCkgeworICAgICAgcHJpbnQgIiAgICRVc2VyIDogIiAuIHRp bWVzcGx1cmFsKCRMb2NrZWRBY2NvdW50eyRVc2VyfSk7CisgICB9Cit9CisKK2lmIChrZXlz ICVBbGxvd1VzZXJzKSB7CisgICBwcmludCAiXG5Mb2dpbiBhdHRlbXB0ZWQgd2hlbiBub3Qg aW4gQWxsb3dVc2VycyBsaXN0OlxuIjsKKyAgIGZvcmVhY2ggbXkgJFVzZXIgKHNvcnQgeyRh IGNtcCAkYn0ga2V5cyAlQWxsb3dVc2VycykgeworICAgICAgcHJpbnQgIiAgICRVc2VyIDog IiAuIHRpbWVzcGx1cmFsKCRBbGxvd1VzZXJzeyRVc2VyfSk7CisgICB9Cit9CisKK2lmIChr ZXlzICVEZW55VXNlcnMpIHsKKyAgIHByaW50ICJcbkxvZ2luIGF0dGVtcHRlZCB3aGVuIGlu IERlbnlVc2VycyBsaXN0OlxuIjsKKyAgIGZvcmVhY2ggbXkgJFVzZXIgKHNvcnQgeyRhIGNt cCAkYn0ga2V5cyAlRGVueVVzZXJzKSB7CisgICAgICBwcmludCAiICAgJFVzZXIgOiAuICIg LiB0aW1lc3BsdXJhbCgkRGVueVVzZXJzeyRVc2VyfSk7CisgICB9Cit9CisKK2lmIChrZXlz ICVBbGxvd0dyb3VwcykgeworICAgcHJpbnQgIlxuTG9naW4gYXR0ZW1wdGVkIHdoZW4gbm90 IGluIEFsbG93R3JvdXBzIGxpc3Q6XG4iOworICAgZm9yZWFjaCBteSAkVXNlciAoc29ydCB7 JGEgY21wICRifSBrZXlzICVBbGxvd0dyb3VwcykgeworICAgICAgcHJpbnQgIiAgICRVc2Vy IDogIiAuIHRpbWVzcGx1cmFsKCRBbGxvd0dyb3Vwc3skVXNlcn0pOworICAgfQorfQorCitp ZiAoa2V5cyAlRGVueUdyb3VwcykgeworICAgcHJpbnQgIlxuTG9naW4gYXR0ZW1wdGVkIHdo ZW4gaW4gRGVueUdyb3VwcyBsaXN0OlxuIjsKKyAgIGZvcmVhY2ggbXkgJFVzZXIgKHNvcnQg eyRhIGNtcCAkYn0ga2V5cyAlRGVueUdyb3VwcykgeworICAgICAgcHJpbnQgIiAgICRVc2Vy IDogIiAuIHRpbWVzcGx1cmFsKCREZW55R3JvdXBzeyRVc2VyfSk7CisgICB9Cit9CisKK2lm IChrZXlzICVQYW1EZW55KSB7CisgICBwcmludCAiXG5Mb2dpbiBhdHRlbXB0ZWQgd2hlbiBk ZW5pZWQgYnkgUEFNIGNvbmZpZ3VyYXRpb246XG4iOworICAgZm9yZWFjaCBteSAkVXNlciAo c29ydCB7JGEgY21wICRifSBrZXlzICVQYW1EZW55KSB7CisgICAgICBwcmludCAiICAgJFVz ZXIgOiAiIC4gdGltZXNwbHVyYWwoJFBhbURlbnl7JFVzZXJ9KTsKKyAgIH0KK30KKworaWYg KGtleXMgJU5vR3JvdXBzKSB7CisgICBwcmludCAiXG5Mb2dpbiBhdHRlbXB0ZWQgd2hlbiB1 c2VyIGlzIGluIG5vIGdyb3VwOlxuIjsKKyAgIGZvcmVhY2ggbXkgJFVzZXIgKHNvcnQgeyRh IGNtcCAkYn0ga2V5cyAlTm9Hcm91cHMpIHsKKyAgICAgIHByaW50ICIgICAkVXNlciA6ICIg LiB0aW1lc3BsdXJhbCgkTm9Hcm91cHN7JFVzZXJ9KTsKKyAgIH0KK30KKworaWYgKGtleXMg JU5vU2hlbGxVc2VycykgeworICAgcHJpbnQgIlxuTG9naW4gYXR0ZW1wdGVkIHdoZW4gc2hl bGwgZG9lcyBub3QgZXhpc3Q6XG4iOworICAgZm9yZWFjaCBteSAkVXNlciAoc29ydCB7JGEg Y21wICRifSBrZXlzICVOb1NoZWxsVXNlcnMpIHsKKyAgICAgIHByaW50ICIgICAkVXNlciA6 ICIgLiB0aW1lc3BsdXJhbCgkTm9TaGVsbFVzZXJzeyRVc2VyfSk7CisgICB9Cit9CisKK2lm IChrZXlzICVTaGVsbE5vdEV4ZWN1dGFibGVVc2VycykgeworICAgcHJpbnQgIlxuTG9naW4g YXR0ZW1wdGVkIHdoZW4gc2hlbGwgaXMgbm90IGV4ZWN1dGFibGU6XG4iOworICAgZm9yZWFj aCBteSAkVXNlciAoc29ydCB7JGEgY21wICRifSBrZXlzICVTaGVsbE5vdEV4ZWN1dGFibGVV c2VycykgeworICAgICAgcHJpbnQgIiAgICRVc2VyIDogIiAuIHRpbWVzcGx1cmFsKCRTaGVs bE5vdEV4ZWN1dGFibGVVc2Vyc3skVXNlcn0pOworICAgfQorfQorCitpZiAoKGtleXMgJUxv Z2luTG9jaykgYW5kICgkRGV0YWlsID49IDUpKSB7CisgICBwcmludCAiXG5Vc2VyIGxvZ2lu IGF0dGVtcHQgd2hlbiBub2xvZ2luIHdhcyBzZXQ6XG4iOworICAgZm9yZWFjaCBteSAkVXNl ciAoc29ydCB7JGEgY21wICRifSBrZXlzICVMb2dpbkxvY2spIHsKKyAgICAgIHByaW50ICIg ICAkVXNlciA6ICIgLiB0aW1lc3BsdXJhbCgkTG9naW5Mb2NreyRVc2VyfSk7CisgICB9Cit9 CisKK2lmIChrZXlzICVQb3N0UG9uZWRBdXRoKSB7CisgICBwcmludCAiXG5Qb3N0cG9uZWQg YXV0aGVudGljYXRpb246XG4iOworICAgZm9yZWFjaCBteSAkVXNlciAoc29ydCB7JGEgY21w ICRifSBrZXlzICVQb3N0UG9uZWRBdXRoKSB7CisgICAgICBwcmludCAiICAgJFVzZXI6XG4i OworICAgICAgZm9yZWFjaCBteSAkSG9zdCAoc29ydCB7JGEgY21wICRifSBrZXlzICV7JFBv c3RQb25lZEF1dGh7JFVzZXJ9fSkgeworICAgICAgICAgcHJpbnQgIiAgICAgICRIb3N0OiAi IC4gdGltZXNwbHVyYWwoJFBvc3RQb25lZEF1dGh7JFVzZXJ9eyRIb3N0fSk7CisgICAgICB9 CisgICB9Cit9CisKK2lmIChrZXlzICVVc2VycykgeworICAgcHJpbnQgIlxuVXNlcnMgbG9n Z2luZyBpbiB0aHJvdWdoIHNzaGQ6XG4iOworICAgZm9yZWFjaCBteSAkdXNlciAoc29ydCB7 JGEgY21wICRifSBrZXlzICVVc2VycykgeworICAgICAgcHJpbnQgIiAgICR1c2VyOlxuIjsK KyAgICAgIGlmICgkRGV0YWlsIDwgMjApIHsKKyAgICAgICAgIG15ICR0b3RhbFNvcnQgPSBU b3RhbENvdW50T3JkZXIoJXskVXNlcnN7JHVzZXJ9fSwgXCZTb3J0SVApOworICAgICAgICAg Zm9yZWFjaCBteSAkaXAgKHNvcnQgJHRvdGFsU29ydCBrZXlzICV7JFVzZXJzeyR1c2VyfX0p IHsKKyAgICAgICAgICAgIG15ICRuYW1lID0gTG9va3VwSVAoJGlwKTsKKyAgICAgICAgICAg IG15ICR2YWwgID0gKHZhbHVlcyAleyRVc2Vyc3skdXNlcn17JGlwfX0pWzBdOworICAgICAg ICAgICAgcHJpbnQgIiAgICAgICRuYW1lOiAiIC4gdGltZXNwbHVyYWwoJHZhbCk7CisgICAg ICAgICB9CisgICAgICB9IGVsc2UgeworICAgICAgICAgbXkgJU1ldGhvZHMgPSAoKTsKKyAg ICAgICAgIGZvcmVhY2ggbXkgJGlwIChrZXlzICV7JFVzZXJzeyR1c2VyfX0pIHsKKyAgICAg ICAgICAgIGZvcmVhY2ggbXkgJG1ldGhvZCAoa2V5cyAleyRVc2Vyc3skdXNlcn17JGlwfX0p IHsKKyAgICAgICAgICAgICAgICRNZXRob2RzeyRtZXRob2R9eyRpcH0gPSAkVXNlcnN7JHVz ZXJ9eyRpcH17JG1ldGhvZH07CisgICAgICAgICAgICB9CisgICAgICAgICB9CisgICAgICAg ICBpZiAoc2NhbGFyIGtleXMgJXskVXNlcnN7JHVzZXJ9fSA8IHNjYWxhciAlTWV0aG9kcykg eworICAgICAgICAgICAgbXkgJHRvdGFsU29ydCA9IFRvdGFsQ291bnRPcmRlcigleyRVc2Vy c3skdXNlcn19LCBcJlNvcnRJUCk7CisgICAgICAgICAgICBmb3JlYWNoIG15ICRpcCAoc29y dCAkdG90YWxTb3J0IGtleXMgJXskVXNlcnN7JHVzZXJ9fSkgeworICAgICAgICAgICAgICAg bXkgJG5hbWUgPSBMb29rdXBJUCgkaXApOworICAgICAgICAgICAgICAgcHJpbnQgIiAgICAg ICRuYW1lOlxuIjsKKyAgICAgICAgICAgICAgIG15ICRzb3J0ID0gQ291bnRPcmRlcigleyRV c2Vyc3skdXNlcn17JGlwfX0pOworICAgICAgICAgICAgICAgZm9yZWFjaCBteSAkbWV0aG9k IChzb3J0ICRzb3J0IGtleXMgJXskVXNlcnN7JHVzZXJ9eyRpcH19KSB7CisgICAgICAgICAg ICAgICAgICBteSAkdmFsID0gJFVzZXJzeyR1c2VyfXskaXB9eyRtZXRob2R9OworICAgICAg ICAgICAgICAgICAgcHJpbnQgIiAgICAgICAgICRtZXRob2Q6ICIgLiB0aW1lc3BsdXJhbCgk dmFsKTsKKyAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAgICAgICAgIH0gZWxz ZSB7CisgICAgICAgICAgICBteSAkdG90YWxTb3J0ID0gVG90YWxDb3VudE9yZGVyKCVNZXRo b2RzKTsKKyAgICAgICAgICAgIGZvcmVhY2ggbXkgJG1ldGhvZCAoc29ydCAkdG90YWxTb3J0 IGtleXMgJU1ldGhvZHMpIHsKKyAgICAgICAgICAgICAgIHByaW50ICIgICAgICAkbWV0aG9k OlxuIjsKKyAgICAgICAgICAgICAgIG15ICRzb3J0ID0gQ291bnRPcmRlcigleyRNZXRob2Rz eyRtZXRob2R9fSk7CisgICAgICAgICAgICAgICBmb3JlYWNoIG15ICRpcCAoc29ydCAkc29y dCBrZXlzICV7JE1ldGhvZHN7JG1ldGhvZH19KSB7CisgICAgICAgICAgICAgICAgICBteSAk bmFtZSA9IExvb2t1cElQKCRpcCk7CisgICAgICAgICAgICAgICAgICBteSAkdmFsICA9ICh2 YWx1ZXMgJXskVXNlcnN7JHVzZXJ9eyRpcH19KVswXTsKKyAgICAgICAgICAgICAgICAgIHBy aW50ICIgICAgICAgICAkbmFtZTogIiAuIHRpbWVzcGx1cmFsKCR2YWwpOworICAgICAgICAg ICAgICAgfQorICAgICAgICAgICAgfQorICAgICAgICAgfQorICAgICAgfQorICAgfQorfQor CitpZiAoa2V5cyAlUmVmdXNlZEF1dGhlbnRpY2F0aW9uKSB7CisgICBwcmludCAiXG5BdXRo ZW50aWNhdGlvbiByZWZ1c2VkOlxuIjsKKyAgIGZvcmVhY2ggbXkgJFJlYXNvbiAoc29ydCB7 JGEgY21wICRifSBrZXlzICVSZWZ1c2VkQXV0aGVudGljYXRpb24pIHsKKyAgICAgIHByaW50 ICIgICAkUmVhc29uIDogIiAuIHRpbWVzcGx1cmFsKCRSZWZ1c2VkQXV0aGVudGljYXRpb257 JFJlYXNvbn0pOworICAgfQorfQorCitpZiAoa2V5cyAlS3JiQXV0RmFpbCkgeworICAgcHJp bnQgIlxuIEZhaWxlZCBwYW1fa3JiNSBhdXRoZW50aWNhdGlvbjpcbiI7CisgICBmb3JlYWNo IG15ICRVc2VyIChzb3J0IGtleXMgJUtyYkF1dEZhaWwpIHsKKyAgICAgIHByaW50ICIgICAk VXNlcjogIiAuIHRpbWVzcGx1cmFsKCRLcmJBdXRGYWlseyRVc2VyfSk7CisgICB9Cit9CisK K2lmIChrZXlzICVLcmJBdXRFcnIpIHsKKyAgIHByaW50ICJcbiBwYW1fa3JiNSBhdXRoZW50 aWNhdGlvbiBlcnJvcnM6XG4iOworICAgZm9yZWFjaCBteSAkRXJyb3IgKHNvcnQga2V5cyAl S3JiQXV0RXJyKSB7CisgICAgICBwcmludCAiICAgJEVycm9yOiAiIC4gdGltZXNwbHVyYWwo JEtyYkF1dEVycnskRXJyb3J9KTsKKyAgIH0KK30KKworCitpZiAoa2V5cyAlS3JiRXJyKSB7 CisgICBwcmludCAiXG4gcGFtX2tyYjUgZXJyb3JzOlxuIjsKKyAgIGZvcmVhY2ggbXkgJEVy cm9yIChzb3J0IGtleXMgJUtyYkVycikgeworICAgICAgcHJpbnQgIiAgICRFcnJvcjogIiAu IHRpbWVzcGx1cmFsKCRLcmJFcnJ7JEVycm9yfSk7CisgICB9Cit9CisKKworaWYgKGtleXMg JURpc2Nvbm5lY3RSZWNlaXZlZCkgeworICAgcHJpbnQgIlxuUmVjZWl2ZWQgZGlzY29ubmVj dDpcbiI7CisgICBmb3JlYWNoIG15ICRSZWFzb24gKHNvcnQgeyRhIGNtcCAkYn0ga2V5cyAl RGlzY29ubmVjdFJlY2VpdmVkKSB7CisgICAgICBteSAkVG90YWwgPSAwOworICAgICAgcHJp bnQgIiAgICRSZWFzb24iOworICAgICAgZm9yZWFjaCBteSAkSG9zdCAoc29ydCB7JGEgY21w ICRifSBrZXlzICV7JERpc2Nvbm5lY3RSZWNlaXZlZHskUmVhc29ufX0pIHsKKyAgICAgICAg ICRUb3RhbCArPSAkRGlzY29ubmVjdFJlY2VpdmVkeyRSZWFzb259eyRIb3N0fTsKKyAgICAg ICAgaWYoICREZXRhaWwgPiAwICkgeworICAgICAgICAgICAgcHJpbnQgIlxuICAgICAgJEhv c3QgOiAkRGlzY29ubmVjdFJlY2VpdmVkeyRSZWFzb259eyRIb3N0fSBUaW1lKHMpIjsKKyAg ICAgICAgfQorICAgICAgfQorICAgICAgaWYoICREZXRhaWwgPiAwICkgeworICAgICAgICAg cHJpbnQgIlxuIjsKKyAgICAgIH0gZWxzZSB7CisgICAgICAgICBwcmludCAiIDogIiAuIHRp bWVzcGx1cmFsKCRUb3RhbCk7CisgICAgICB9CisgICB9Cit9CisKK2lmICgkI1NjYW5uZWQg Pj0gMCkgeworICAgcHJpbnQgIlxuU2Nhbm5lZCBmcm9tOlxuIjsKKyAgIGZvcmVhY2ggbXkg JFRoaXNPbmUgKHNvcnQgU29ydElQIEBTY2FubmVkKSB7CisgICAgICBwcmludCAiICAgIiAu IExvb2t1cElQKCRUaGlzT25lKSAuICJcbiI7CisgICB9Cit9CisKK2lmIChrZXlzICVSZWZ1 c2VkQ29ubmVjdGlvbnMpIHsKKyAgIG15ICRvdXRwdXQ7CisgICBmb3JlYWNoIG15ICRiYWRn dXkgKHNvcnQgeyRhIGNtcCAkYn0ga2V5cyAlUmVmdXNlZENvbm5lY3Rpb25zICkgeworICAg ICAgaWYgKCRSZWZ1c2VkQ29ubmVjdGlvbnNUaHJlc2hvbGQgPT0gMCB8fCAkRGV0YWlsID4g NSB8fCAkUmVmdXNlZENvbm5lY3Rpb25zeyRiYWRndXl9ID49ICRSZWZ1c2VkQ29ubmVjdGlv bnNUaHJlc2hvbGQpIHsKKyAgICAgICAgJG91dHB1dCAuPSAiICAgICAgJGJhZGd1eTogIiAu IHRpbWVzcGx1cmFsKCRSZWZ1c2VkQ29ubmVjdGlvbnN7JGJhZGd1eX0pOworICAgICAgfQor ICAgfQorICAgaWYgKCRvdXRwdXQgbmUgJycpIHsKKyAgICAgcHJpbnQgIlxuUmVmdXNlZCBp bmNvbWluZyBjb25uZWN0aW9uczpcbiI7CisgICAgIHByaW50ICRvdXRwdXQ7CisgICB9Cit9 CisKK2lmIChrZXlzICVQYW1SZWxlYXNlRmFpbCkgeworICAgcHJpbnQgIlxuQ2Fubm90IHJl bGVhc2UgUEFNIGF1dGhlbnRpY2F0aW9uOlxuIjsKKyAgIGZvcmVhY2ggbXkgJEVycm9yIChz b3J0IHskYSBjbXAgJGJ9IGtleXMgJVBhbVJlbGVhc2VGYWlsKSB7CisgICAgICBwcmludCAi ICAgJEVycm9yIDogIiAuIHRpbWVzcGx1cmFsKCRQYW1SZWxlYXNlRmFpbHskRXJyb3J9KTsK KyAgIH0KK30KKworaWYgKGtleXMgJVNoYWRvd0luZm8pIHsKKyAgIHByaW50ICJcbkNvdWxk IG5vdCBnZXQgc2hhZG93IGluZm9ybWF0aW9uIGZvcjpcbiI7CisgICBmb3JlYWNoIG15ICRF cnJvciAoc29ydCB7JGEgY21wICRifSBrZXlzICVTaGFkb3dJbmZvKSB7CisgICAgICBwcmlu dCAiICAgJEVycm9yIDogIiAuIHRpbWVzcGx1cmFsKCRTaGFkb3dJbmZveyRFcnJvcn0pOwor ICAgfQorfQorCitpZiAoa2V5cyAlUGFtRXJyb3IpIHsKKyAgIHByaW50ICJcbkVycm9yIGlu IFBBTSBhdXRoZW50aWNhdGlvbjpcbiI7CisgICBmb3JlYWNoIG15ICRFcnJvciAoc29ydCB7 JGEgY21wICRifSBrZXlzICVQYW1FcnJvcikgeworICAgICAgcHJpbnQgIiAgICRFcnJvciA6 ICIgLiB0aW1lc3BsdXJhbCgkUGFtRXJyb3J7JEVycm9yfSk7CisgICB9Cit9CisKK2lmIChr ZXlzICVQYW1DaHJvb3QpIHsKKyAgIHByaW50ICJcblBBTSBjaHJvb3Q6XG4iOworICAgZm9y ZWFjaCBteSAkUmVhc29uIChzb3J0IHskYSBjbXAgJGJ9IGtleXMgJVBhbUNocm9vdCkgewor ICAgICAgcHJpbnQgIiAgICRSZWFzb24gOiAiIC4gdGltZXNwbHVyYWwoJFBhbUNocm9vdHsk UmVhc29ufSk7CisgICB9Cit9CisKK2lmIChrZXlzICVUVFlNb2Rlc0ZhaWwpIHsKKyAgIHBy aW50ICJcblNldHRpbmcgdHR5IG1vZGVzIGZhaWxlZDpcbiI7CisgICBmb3JlYWNoIG15ICRS ZWFzb24gKHNvcnQgeyRhIGNtcCAkYn0ga2V5cyAlVFRZTW9kZXNGYWlsKSB7CisgICAgICBw cmludCAiICAgJFJlYXNvbiA6ICIgLiB0aW1lc3BsdXJhbCgkVFRZTW9kZXNGYWlseyRSZWFz b259KTsKKyAgIH0KK30KKworaWYgKCRzZnRwUmVxdWVzdHMgPiAwKSB7CisgICBwcmludCAi XG5TRlRQIHN1YnN5c3RlbSByZXF1ZXN0czogJHNmdHBSZXF1ZXN0cyBUaW1lKHMpXG4iOwor ICAgaWYgKCREZXRhaWwgPj0gNTApIHsKKyAgICAgIGZvcmVhY2ggbXkgJHJvb3QgKHNvcnQg eyRhIGNtcCAkYn0ga2V5cyAlQ2hyb290KSB7CisgICAgICAgICBwcmludCAiICAgQ2hyb290 OiAkcm9vdCA6ICIgLiB0aW1lc3BsdXJhbCgkQ2hyb290eyRyb290fSk7CisgICAgICB9Cisg ICB9CisgICBpZiAoJERldGFpbCA+PSAwKSB7CisgICAgICBmb3JlYWNoIG15ICRkaXIgKHNv cnQgeyRhIGNtcCAkYn0ga2V5cyAlQ2xvc2VEaXIpIHsKKyAgICAgICAgIGlmICgkQ2xvc2VE aXJ7JGRpcn0gIT0gJE9wZW5EaXJ7JGRpcn0gfHwgJERldGFpbCA+PSA0MCkgeworICAgICAg ICAgICAgIHByaW50ICIgICBEaXJlY3RvcnkgJGRpcjogb3BlbmVkL2Nsb3NlZCAkT3BlbkRp cnskZGlyfS8kQ2xvc2VEaXJ7JGRpcn0gVGltZShzKVxuIjsKKyAgICAgICAgICAgICAjIE5v dGU6IHRoaXMgbnVtYmVyIG1pZ2h0IG5vdCBtYXRjaCBpZiB0aGUgb3Blbi9jbG9zZXMgc3Bh biBsb2cgd2luZG93cy4uLiIKKyAgICAgICAgIH0KKyAgICAgIH0KKyAgIH0KKyAgIGlmICgk RGV0YWlsID49IDMwKSB7CisgICAgICBmb3JlYWNoIG15ICRkZXRhaWxzIChzb3J0IHskYSBj bXAgJGJ9IGtleXMgJUNsb3NlRmlsZVJlYWRXcml0ZSkgeworICAgICAgICAgaWYgKG15ICgk ZmlsZSwkcmVhZCwkd3JpdHRlbikgPSAoJGRldGFpbHMgPX4gL14oLiopLChcZCspLChcZCsp JC8pKSB7CisgICAgICAgICAgICBpZiAoJHJlYWQgfHwgJHdyaXR0ZW4gfHwgJERldGFpbCA+ PSA0MCkgeworICAgICAgICAgICAgICAgcHJpbnQgIiAgIFJlYWQvV3JvdGUgJHJlYWQvJHdy aXR0ZW4gYnl0ZShzKSBmcm9tIGZpbGUgJGZpbGVcbiI7CisgICAgICAgICAgICB9CisgICAg ICAgICB9CisgICAgICB9CisgICB9CisgICBpZiAoJERldGFpbCA+PSA2MCkgeworICAgICAg Zm9yZWFjaCBteSAkZGV0YWlscyAoc29ydCB7JGEgY21wICRifSBrZXlzICVPcGVuRmlsZSkg eworICAgICAgICAgaWYgKG15ICgkZmlsZSwkZmxhZ3MsJG1vZGUpID0gKCRkZXRhaWxzID1+ IC9eKC4qKTooW146XSopOihcZCspJC8pKSB7CisgICAgICAgICAgICBwcmludCAiICAgT3Bl bmVkIChtb2RlOiAkbW9kZSwgZmxhZ3M6ICRmbGFncykgZmlsZSAkZmlsZVxuIjsKKyAgICAg ICAgIH0KKyAgICAgIH0KKyAgIH0KKyAgIGlmICgkRGV0YWlsID49IDcwKSB7CisgICAgICBm b3JlYWNoIG15ICRwYXRoIChzb3J0IHskYSBjbXAgJGJ9IGtleXMgJVJlYWxQYXRoKSB7Cisg ICAgICAgICBwcmludCAiICAgUmVhbHBhdGggJHBhdGhcbiI7CisgICAgICB9CisgICB9Cisg ICBpZiAoJERldGFpbCA+PSA1MCkgeworICAgICAgZm9yZWFjaCBteSAkZGV0YWlscyAoc29y dCB7JGEgY21wICRifSBrZXlzICVTZXRNb2R0aW1lKSB7CisgICAgICAgICBpZiAobXkgKCRt b2R0aW1lLCRmaWxlKSA9ICgkZGV0YWlscyA9fiAvXihbXixdKiksKC4qKSQvKSkgeworICAg ICAgICAgICAgcHJpbnQgIiAgIFNldCBtb2R0aW1lICRtb2R0aW1lIGZvciBmaWxlICRmaWxl XG4iOworICAgICAgICAgfQorICAgICAgfQorICAgfQorICAgaWYgKCREZXRhaWwgPj0gNzAp IHsKKyAgICAgIGZvcmVhY2ggbXkgJHBhdGggKHNvcnQgeyRhIGNtcCAkYn0ga2V5cyAlU3Rh dCkgeworICAgICAgICAgcHJpbnQgIiAgIFN0YXQ6ICRwYXRoIDogIiAuIHRpbWVzcGx1cmFs KCRTdGF0eyRwYXRofSk7CisgICAgICB9CisgICB9CisgICBpZiAoJERldGFpbCA+PSA0MCkg eworICAgICAgaWYgKCRTdGF0dXNOb1N1Y2hGaWxlKSB7CisgICAgICAgICBwcmludCAiICAg U2VudCBzdGF0dXMgTm8gc3VjaCBmaWxlOiAiIC4gdGltZXNwbHVyYWwoJFN0YXR1c05vU3Vj aEZpbGUpOworICAgICAgfQorICAgfQorICAgaWYgKCREZXRhaWwgPj0gMCkgeworICAgICAg aWYgKCRCeXRlc1NlbnQgfHwgJEJ5dGVzUmVjZWl2ZWQpIHsKKyAgICAgICAgIHByaW50ICIg ICBUcmFuc2ZlcnJlZDogc2VudC9yZWNlaXZlZCAkQnl0ZXNTZW50LyRCeXRlc1JlY2VpdmVk IGJ5dGUocylcbiI7CisgICAgICB9CisgICB9CisgICBpZiAoJERldGFpbCA+PSA1MCkgewor ICAgICAgZm9yZWFjaCBteSAkY2xpZW50IChzb3J0IHskYSBjbXAgJGJ9IGtleXMgJUNsaWVu dFZlcnMpIHsKKyAgICAgICAgIHByaW50ICIgICBDbGllbnQgdmVyc2lvbiAkY2xpZW50IGNv bm5lY3RlZCAiIC4gdGltZXNwbHVyYWwoJENsaWVudFZlcnN7JGNsaWVudH0pOworICAgICAg fQorICAgfQorfQorCitpZiAoa2V5cyAlQ2htb2RFcnIpIHsKKyAgcHJpbnQgIlxuQ2htb2Qg ZXJyb3JzOlxuIjsKKyAgZm9yZWFjaCAoc29ydCBrZXlzICVDaG1vZEVycikgeworICAgIG15 ICgkRmlsZSwkUGVybSwkV2h5KT0gc3BsaXQgIiwiOworICAgIHByaW50ICIgICAiIC4gJEZp bGUgLiAiICIgLiAkUGVybSAuICIgZmFpbGVkKCIgLiAkV2h5IC4gIik6ICIgLiB0aW1lc3Bs dXJhbCgkQ2htb2RFcnJ7IiRGaWxlLCRQZXJtLCRXaHkifSk7CisgIH0KK30KKworaWYgKGtl eXMgJUNob3duRXJyKSB7CisgIHByaW50ICJcbkNob3duIGVycm9yczpcbiI7CisgIGZvcmVh Y2ggKGtleXMgJUNob3duRXJyKSB7CisgICAgbXkgKCRGaWxlLCRGcm9tLCRUbywkV2h5KT0g c3BsaXQgIiwiOworICAgIHByaW50ICIgICAiIC4gJEZpbGUgLiAiICIgLiAkRnJvbSAuICIg IiAuJFRvIC4gIiBmYWlsZWQoIiAuICRXaHkgLiAiKTogIiAuIHRpbWVzcGx1cmFsKCRDaG1v ZEVycnsiJEZpbGUsJEZyb20sJFRvLCRXaHkifSk7CisgIH0KK30KKworaWYgKCAoJERldGFp bCA9PSA3ICYmIGtleXMgJUtyYl9yZWFsbSA+IDEpIHx8ICgkRGV0YWlsID4gNyAmJiBrZXlz ICVLcmJfcmVhbG0pICl7CisgIHByaW50ICJcblN1Y2Nlc3NmdWwgS2VyYmVyb3MgQXV0aGVu dGljYXRpb24gZnJvbSAiLChzY2FsYXIga2V5cyAlS3JiX3JlYWxtKSwiIHJlYWxtOlxuIjsK KyAgZm9yZWFjaCBteSAkcmVhbG0gKHNvcnQga2V5cyAlS3JiX3JlYWxtKSB7CisgICAgaWYo JERldGFpbCA+IDkpeworICAgICAgcHJpbnQgIiAgICIsJHJlYWxtLCI6XG4iOworICAgICAg Zm9yZWFjaCBteSAkdXNlcihzb3J0IGtleXMgJXskS3JiX3JlYWxteyRyZWFsbX19KXsKKyAg ICAgICAgcHJpbnQgIiAgICAgIiwkdXNlciwiOiAiIC4gdGltZXNwbHVyYWwoJEtyYl9yZWFs bXskcmVhbG19eyR1c2VyfSk7CisgICAgICB9CisgICAgfWVsc2V7CisgICAgICBwcmludCAi ICAgIiwkcmVhbG0sIjogIi4gKHNjYWxhciBrZXlzICV7JEtyYl9yZWFsbXskcmVhbG19fSkg LiAiIFVzZXIocylcbiI7CisgICAgfQorICB9Cit9CisKK2lmIChrZXlzICVPdGhlckxpc3Qp IHsKKyAgIHByaW50ICJcbioqVW5tYXRjaGVkIEVudHJpZXMqKlxuIjsKKyAgIHByaW50ICIk XyA6ICIgLiB0aW1lc3BsdXJhbCgkT3RoZXJMaXN0eyRffSkgZm9yZWFjaCBzb3J0IGtleXMg JU90aGVyTGlzdDsKK30KKworZXhpdCgwKTsKKworIyB2aTogc2hpZnR3aWR0aD0zIHRhYnN0 b3A9MyBzeW50YXg9cGVybCBldAorIyBMb2NhbCBWYXJpYWJsZXM6CisjIG1vZGU6IHBlcmwK KyMgcGVybC1pbmRlbnQtbGV2ZWw6IDMKKyMgaW5kZW50LXRhYnMtbW9kZTogbmlsCisjIEVu ZDoKZGlmZiAtLWdpdCBhL3NjcmlwdHMvc2VydmljZXMvc2VjdXJlIGIvc2NyaXB0cy9zZXJ2 aWNlcy9zZWN1cmUKaW5kZXggODg5NzUyMC4uMDhlZjRlZCAxMDA2NDQKLS0tIGEvc2NyaXB0 cy9zZXJ2aWNlcy9zZWN1cmUKKysrIGIvc2NyaXB0cy9zZXJ2aWNlcy9zZWN1cmUKQEAgLTEx Myw2ICsxMTMsNyBAQCB3aGlsZSAoZGVmaW5lZChteSAkVGhpc0xpbmUgPSA8U1RESU4+KSkg ewogICAgICAgKCAkVGhpc0xpbmUgPX4gL2NvbS5hcHBsZS5TZWN1cml0eVNlcnZlcjogRW50 ZXJpbmcgc2VydmljZS8pIG9yCiAgICAgICAoICRUaGlzTGluZSA9fiAvXih4aW5ldGR8eGlu ZXRkLWlwdjYpXFtcZCtcXTogRVhJVDogLykgb3IKICAgICAgICggJFRoaXNMaW5lID1+IC9e Y3JvbmRcKFx3K1wpXFtcZCtcXTogc2Vzc2lvbiAvKSBvcgorICAgICAgKCAkVGhpc0xpbmUg PX4gL15kcm9wYmVhclxbXGQrXF06IC8pIG9yCiAgICAgICAoICRUaGlzTGluZSA9fiAvcGFt X3N5c3RlbWRcKC4rOnNlc3Npb25cKTogTW92aW5nLykgb3IKICAgICAgICggJFRoaXNMaW5l ID1+IC9ec3NoZFwoXHcrXClcW1xkK1xdOiBhdXRoZW50aWNhdGlvbiBmYWlsdXJlLykgb3IK ICAgICAgICggJFRoaXNMaW5lID1+IC9ec3NoZFwoXHcrXClcW1xkK1xdOiBjaGVjayBwYXNz OyB1c2VyIHVua25vd24vKSBvcgo= --------------016E7JHpD6SENPqBzjkTsAmL-- --------------ms070605030602030004030409 Content-Type: application/pkcs7-signature; name="smime.p7s" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="smime.p7s" Content-Description: S/MIME Cryptographic Signature MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgEFADCABgkqhkiG9w0BBwEAAKCC CmMwggUVMIID/aADAgECAhEArxwEsqyM/5sAAAAAUc4Y4zANBgkqhkiG9w0BAQsFADCBtDEU MBIGA1UEChMLRW50cnVzdC5uZXQxQDA+BgNVBAsUN3d3dy5lbnRydXN0Lm5ldC9DUFNfMjA0 OCBpbmNvcnAuIGJ5IHJlZi4gKGxpbWl0cyBsaWFiLikxJTAjBgNVBAsTHChjKSAxOTk5IEVu dHJ1c3QubmV0IExpbWl0ZWQxMzAxBgNVBAMTKkVudHJ1c3QubmV0IENlcnRpZmljYXRpb24g QXV0aG9yaXR5ICgyMDQ4KTAeFw0yMDA3MjkxNTQ4MzBaFw0yOTA2MjkxNjE4MzBaMIGlMQsw CQYDVQQGEwJVUzEWMBQGA1UEChMNRW50cnVzdCwgSW5jLjE5MDcGA1UECxMwd3d3LmVudHJ1 c3QubmV0L0NQUyBpcyBpbmNvcnBvcmF0ZWQgYnkgcmVmZXJlbmNlMR8wHQYDVQQLExYoYykg MjAxMCBFbnRydXN0LCBJbmMuMSIwIAYDVQQDExlFbnRydXN0IENsYXNzIDIgQ2xpZW50IENB MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxDKNQtCeGZ1bkFoQTLUQACG5B0je rm6A1v8UUAboda9rRo7npU+tw4yw+nvgGZH98GOtcUnzqBwfqzQZIE5LVOkAk75wCDHeiVOs V7wk7yqPQtT36pUlXRR20s2nEvobsrRcYUC9X91Xm0RV2MWJGTxlPbno1KUtwizT6oMxogg8 XlmuEi4qCoxe87MxrgqtfuywSQn8py4iHmhkNJ0W46Y9AzFAFveU9ksZNMmX5iKcSN5koIML WAWYxCJGiQX9o772SUxhAxak+AqZHOLAxn5pAjJXkAOvAJShudzOr+/0fBjOMAvKh/jVXx9Z UdiLC7k4xljCU3zaJtTb8r2QzQIDAQABo4IBLTCCASkwDgYDVR0PAQH/BAQDAgGGMB0GA1Ud JQQWMBQGCCsGAQUFBwMEBggrBgEFBQcDAjASBgNVHRMBAf8ECDAGAQH/AgEAMDMGCCsGAQUF BwEBBCcwJTAjBggrBgEFBQcwAYYXaHR0cDovL29jc3AuZW50cnVzdC5uZXQwMgYDVR0fBCsw KTAnoCWgI4YhaHR0cDovL2NybC5lbnRydXN0Lm5ldC8yMDQ4Y2EuY3JsMDsGA1UdIAQ0MDIw MAYEVR0gADAoMCYGCCsGAQUFBwIBFhpodHRwOi8vd3d3LmVudHJ1c3QubmV0L3JwYTAdBgNV HQ4EFgQUCZGluunyLip1381+/nfK8t5rmyQwHwYDVR0jBBgwFoAUVeSB0RGAvtiJuQijMfmh JAkWuXAwDQYJKoZIhvcNAQELBQADggEBAD+96RB180Kn0WyBJqFGIFcSJBVasgwIf91HuT9C k6QKr0wR7sxrMPS0LITeCheQ+Xg0rq4mRXYFNSSDwJNzmU+lcnFjtAmIEctsbu+UldVJN8+h APANSxRRRvRocbL+YKE3DyX87yBaM8aph8nqUvbXaUiWzlrPEJv2twHDOiGlyEPAhJ0D+MU0 CIfLiwqDXKojK+n/uN6nSQ5tMhWBMMgn9MD+zxp1zIe7uhGhgmVQBZ/zRZKHoEW4Gedf+EYK W8zYXWsWkUwVlWrj5PzeBnT2bFTdxCXwaRbW6g4/Wb4BYvlgnx1AszH3EJwv+YpEZthgAk4x ELH2l47+IIO9TUowggVGMIIELqADAgECAhEAyiICIp1F+xAAAAAATDn2WDANBgkqhkiG9w0B AQsFADCBpTELMAkGA1UEBhMCVVMxFjAUBgNVBAoTDUVudHJ1c3QsIEluYy4xOTA3BgNVBAsT MHd3dy5lbnRydXN0Lm5ldC9DUFMgaXMgaW5jb3Jwb3JhdGVkIGJ5IHJlZmVyZW5jZTEfMB0G A1UECxMWKGMpIDIwMTAgRW50cnVzdCwgSW5jLjEiMCAGA1UEAxMZRW50cnVzdCBDbGFzcyAy IENsaWVudCBDQTAeFw0yMDEyMTQyMDQzMDlaFw0yMzEyMTUyMTEzMDhaMIGTMQswCQYDVQQG EwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEmMCQGA1UEChMd Tm9ydGhXZXN0IFJlc2VhcmNoIEFzc29jaWF0ZXMxNTAWBgNVBAMTD09yaW9uIFBvcGxhd3Nr aTAbBgkqhkiG9w0BCQEWDm9yaW9uQG53cmEuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A MIIBCgKCAQEAxBJrIv9eGtrQLaU9pIGsIGBTiW0vZIYmz+5Eoa69sj6t6QANvg0IuVgWZajH 2fu8R+7m/AbZ8Wsuzz+ovtDHiVqUGvGzYyN9a5Ssx94SwNp9zLPfdCRMdh3zJB7gc4GYE/fA kMkieO8u05f/hSyf9zU5gpjl7SW6p8IjkoyxNOr7KCbI4CQ3+1LG8pn6tz/QJwQ/BJZa4dE0 asXfNlZf5kZtyWtJhwub76zH5uXeODDxY3RooWj1l4V2fQCoFX2ov1ENUW4hRov1cMAD2QHJ KL0Boir36wISvzq8Z65MSMCGNRiWwRaclVwVZ+QYnlhGZ0g6tMvxVrK+sHnxxr/LOwIDAQAB o4IBfzCCAXswDgYDVR0PAQH/BAQDAgWgMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcD BDBCBgNVHSAEOzA5MDcGC2CGSAGG+mwKAQQCMCgwJgYIKwYBBQUHAgEWGmh0dHA6Ly93d3cu ZW50cnVzdC5uZXQvcnBhMGoGCCsGAQUFBwEBBF4wXDAjBggrBgEFBQcwAYYXaHR0cDovL29j c3AuZW50cnVzdC5uZXQwNQYIKwYBBQUHMAKGKWh0dHA6Ly9haWEuZW50cnVzdC5uZXQvMjA0 OGNsYXNzMnNoYTIuY2VyMDQGA1UdHwQtMCswKaAnoCWGI2h0dHA6Ly9jcmwuZW50cnVzdC5u ZXQvY2xhc3MyY2EuY3JsMBkGA1UdEQQSMBCBDm9yaW9uQG53cmEuY29tMB8GA1UdIwQYMBaA FAmRpbrp8i4qdd/Nfv53yvLea5skMB0GA1UdDgQWBBSpChQTknhqMfb9Exia9G14q4j9ZzAJ BgNVHRMEAjAAMA0GCSqGSIb3DQEBCwUAA4IBAQA15stihwBRGI8nFvZZalsmOHR954D+vrOZ 7cC0kl9K+S9u8j/E5nZd+A6PTKoDpAEYmPUYpe45tZLblnvfJC0yovSIIMTo1z3mRzldHYAt ttjShH+M6s3xrqDtHfNAwt3TCf6H83sEpBi6wtbALfkIjKuDitgkdZsyUURoeglaaqVRhi2L 5wOOChQAyfsumjT1Gzk9qRtiv8aXzWiLeVKhzRO7a6o0jSdg1skyYKx3SPbIU4po/aT2Ph7V niN0oqJHI11Fg6BfAey12aj5Uy96ztotiZRQuhWZPOc4d3df2N8RsdWViBp4jXt2hQjNr0Kw pUPWRO/PENBVS1Uo1oXfMYIEYjCCBF4CAQEwgbswgaUxCzAJBgNVBAYTAlVTMRYwFAYDVQQK Ew1FbnRydXN0LCBJbmMuMTkwNwYDVQQLEzB3d3cuZW50cnVzdC5uZXQvQ1BTIGlzIGluY29y cG9yYXRlZCBieSByZWZlcmVuY2UxHzAdBgNVBAsTFihjKSAyMDEwIEVudHJ1c3QsIEluYy4x IjAgBgNVBAMTGUVudHJ1c3QgQ2xhc3MgMiBDbGllbnQgQ0ECEQDKIgIinUX7EAAAAABMOfZY MA0GCWCGSAFlAwQCAQUAoIICdzAYBgkqhkiG9w0BCQMxCwYJKoZIhvcNAQcBMBwGCSqGSIb3 DQEJBTEPFw0yMjEwMjExNTAxNTlaMC8GCSqGSIb3DQEJBDEiBCAT6Mswlmh2vFkrdJPJZOm/ kp8yxRTARnlBr7mR1/ZhGDBsBgkqhkiG9w0BCQ8xXzBdMAsGCWCGSAFlAwQBKjALBglghkgB ZQMEAQIwCgYIKoZIhvcNAwcwDgYIKoZIhvcNAwICAgCAMA0GCCqGSIb3DQMCAgFAMAcGBSsO AwIHMA0GCCqGSIb3DQMCAgEoMIHMBgkrBgEEAYI3EAQxgb4wgbswgaUxCzAJBgNVBAYTAlVT MRYwFAYDVQQKEw1FbnRydXN0LCBJbmMuMTkwNwYDVQQLEzB3d3cuZW50cnVzdC5uZXQvQ1BT IGlzIGluY29ycG9yYXRlZCBieSByZWZlcmVuY2UxHzAdBgNVBAsTFihjKSAyMDEwIEVudHJ1 c3QsIEluYy4xIjAgBgNVBAMTGUVudHJ1c3QgQ2xhc3MgMiBDbGllbnQgQ0ECEQDKIgIinUX7 EAAAAABMOfZYMIHOBgsqhkiG9w0BCRACCzGBvqCBuzCBpTELMAkGA1UEBhMCVVMxFjAUBgNV BAoTDUVudHJ1c3QsIEluYy4xOTA3BgNVBAsTMHd3dy5lbnRydXN0Lm5ldC9DUFMgaXMgaW5j b3Jwb3JhdGVkIGJ5IHJlZmVyZW5jZTEfMB0GA1UECxMWKGMpIDIwMTAgRW50cnVzdCwgSW5j LjEiMCAGA1UEAxMZRW50cnVzdCBDbGFzcyAyIENsaWVudCBDQQIRAMoiAiKdRfsQAAAAAEw5 9lgwDQYJKoZIhvcNAQEBBQAEggEAhePhSDfL94pCrFkVbFYpbHVqWXBXkUuqq/pkqwNoIycm CnGk3EQiEAvFdB+sbXhZPk7CODFbG5eXV2wX93Q8moL/C9pmVeLrr1NBxo4ACMFTWTx81k1O 4NHK5Rjt9FwqdZGtQTr5v0VvB2GuGz4ITxqnimL0ZvNHakzLgu8AhcLnhy1R/TF9Q8SLUMlu XOsDKqIcbGz8uLptYshf+TE8ZYA1SCOhIXc/PVHfv/ck7o1MnY9gsuIA3fFMhFbH4L1R2UNR BcAO7C/IY169Wtttn/nRzNdgQNIo45HBJc4if8JUvOKWDcaPieGC02TNHh70EgGyCm1zNCew tqqwixphfgAAAAAAAA== --------------ms070605030602030004030409-- --===============7341575555909319411== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline --===============7341575555909319411== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Logwatch-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/logwatch-devel --===============7341575555909319411==--