From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 From: Mattias Ellert To: git-commits@fedoraproject.org Subject: [rpms/globus-gridftp-server-control] rawhide: Fix compiler warnings Date: Sun, 14 Jun 2026 08:47:46 GMT Message-ID: <178142686615.1.5416045076089655443.rpms-globus-gridftp-server-control-e638fc67bff1@fedoraproject.org> List-ID: X-Git-Repo: rpms/globus-gridftp-server-control X-Git-Branch: rawhide X-Git-Rev: e638fc67bff1987680031a1cc73b911d841c64cb QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvZ2xvYnVzLWdyaWRm dHAtc2VydmVyLWNvbnRyb2wKQnJhbmNoIDogcmF3aGlkZQpDb21taXQgOiBlNjM4ZmM2N2JmZjE5 ODc2ODAwMzFhMWNjNzNiOTExZDg0MWM2NGNiCkF1dGhvciA6IE1hdHRpYXMgRWxsZXJ0IDxtYXR0 aWFzLmVsbGVydEBwaHlzaWNzLnV1LnNlPgpEYXRlICAgOiAyMDI2LTA2LTE0VDEwOjM5OjEzKzAy OjAwClN0YXRzICA6ICszMTE1Ly0xIGluIDMgZmlsZShzKQpVUkwgICAgOiBodHRwczovL3NyYy5m ZWRvcmFwcm9qZWN0Lm9yZy9ycG1zL2dsb2J1cy1ncmlkZnRwLXNlcnZlci1jb250cm9sL2MvZTYz OGZjNjdiZmYxOTg3NjgwMDMxYTFjYzczYjkxMWQ4NDFjNjRjYj9icmFuY2g9cmF3aGlkZQoKTG9n OgpGaXggY29tcGlsZXIgd2FybmluZ3MKCi0tLQpkaWZmIC0tZ2l0IGEvMDAwMS1VbnRhYmlmeS1h bmQtcmVtb3ZlLXRyYWlsaW5nLXdoaXRlLXNwYWNlLnBhdGNoIGIvMDAwMS1VbnRhYmlmeS1hbmQt cmVtb3ZlLXRyYWlsaW5nLXdoaXRlLXNwYWNlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu ZGV4IDAwMDAwMDAuLjBmZTkxN2QKLS0tIC9kZXYvbnVsbAorKysgYi8wMDAxLVVudGFiaWZ5LWFu ZC1yZW1vdmUtdHJhaWxpbmctd2hpdGUtc3BhY2UucGF0Y2gKQEAgLTAsMCArMSwzMDAzIEBACitG cm9tIDNjY2RhYTAyMzYyMzBiYmNiY2JmMzM5ZTdkZmRmYWYyM2MxMGJkNmYgTW9uIFNlcCAxNyAw MDowMDowMCAyMDAxCitGcm9tOiBNYXR0aWFzIEVsbGVydCA8bWF0dGlhcy5lbGxlcnRAcGh5c2lj cy51dS5zZT4KK0RhdGU6IFdlZCwgMjAgTWF5IDIwMjYgMDA6MTU6MzcgKzAyMDAKK1N1YmplY3Q6 IFtQQVRDSCAxLzJdIFVudGFiaWZ5IGFuZCByZW1vdmUgdHJhaWxpbmcgd2hpdGUtc3BhY2UKKwor LS0tCisgLi4uL3NyYy9nbG9idXNfZ3JpZGZ0cF9zZXJ2ZXJfY29udHJvbC5jICAgICAgIHwgMzUw ICsrKysrKysrKy0tLS0tLS0tLQorIC4uLi9nbG9idXNfZ3JpZGZ0cF9zZXJ2ZXJfY29udHJvbF9j b21tYW5kcy5jICB8IDMxNCArKysrKysrKy0tLS0tLS0tCisgLi4uL3NlcnZlci1saWIvc3JjL2ds b2J1c194aW9fZ3NzYXBpX2Z0cC5jICAgIHwgMTM2ICsrKy0tLS0KKyAzIGZpbGVzIGNoYW5nZWQs IDQwMCBpbnNlcnRpb25zKCspLCA0MDAgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9ncmlk ZnRwL3NlcnZlci1saWIvc3JjL2dsb2J1c19ncmlkZnRwX3NlcnZlcl9jb250cm9sLmMgYi9ncmlk ZnRwL3NlcnZlci1saWIvc3JjL2dsb2J1c19ncmlkZnRwX3NlcnZlcl9jb250cm9sLmMKK2luZGV4 IGNjYzY5ZTAzYS4uY2FlNDE1YzE4IDEwMDY0NAorLS0tIGEvZ3JpZGZ0cC9zZXJ2ZXItbGliL3Ny Yy9nbG9idXNfZ3JpZGZ0cF9zZXJ2ZXJfY29udHJvbC5jCisrKysgYi9ncmlkZnRwL3NlcnZlci1s aWIvc3JjL2dsb2J1c19ncmlkZnRwX3NlcnZlcl9jb250cm9sLmMKK0BAIC0xNDcsNyArMTQ3LDcg QEAgZG8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgXAorICAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyB9IHdoaWxlKDApCisgCist c3RhdGljIGNoYXIgKiAgICAgICAgICAgZ2xvYnVzX2xfZ2ZzX2hhbmRsZV9zdGF0ZV9uYW1lX3Rh YmxlW10gPSAKKytzdGF0aWMgY2hhciAqICAgICAgICAgICBnbG9idXNfbF9nZnNfaGFuZGxlX3N0 YXRlX25hbWVfdGFibGVbXSA9CisgeworICAgICAiR0xPQlVTX0xfR1NDX1NUQVRFX05PTkUiLAor ICAgICAiR0xPQlVTX0xfR1NDX1NUQVRFX09QRU5JTkciLAorQEAgLTI1OSw3ICsyNTksNyBAQCBz dGF0aWMgdm9pZAorIGdsb2J1c19sX2dzY19jb21tYW5kX2NhbGxvdXQoCisgICAgIHZvaWQgKiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZXJfYXJnKTsKKyAKKy1zdGF0aWMgdm9pZCAK KytzdGF0aWMgdm9pZAorIGdsb2J1c19sX2dzY19mcmVlX2NvbW1hbmRfYXJyYXkoCisgICAgIGNo YXIgKiogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNtZF9hKTsKKyAKK0BAIC0yODksNyAr Mjg5LDcgQEAgc3RhdGljIGdsb2J1c194aW9fZHJpdmVyX3QgICAgICAgICAgICAgIGdsb2J1c19s X2dzY19nc3NhcGlfZnRwX2RyaXZlcjsKKyBzdGF0aWMgZ2xvYnVzX3hpb19kcml2ZXJfdCAgICAg ICAgICAgICAgZ2xvYnVzX2xfZ3NjX3RlbG5ldF9kcml2ZXI7Cisgc3RhdGljIGdsb2J1c19oYXNo dGFibGVfdCAgICAgICAgICAgICAgIGdsb2J1c19sX2dzY19wd2VudF9jYWNoZTsKKyBzdGF0aWMg Z2xvYnVzX2hhc2h0YWJsZV90ICAgICAgICAgICAgICAgZ2xvYnVzX2xfZ3NjX2dyZW50X2NhY2hl OworLXN0YXRpYyBpbnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnbG9idXNfbF9nc2Nf bWF4X3JlYWRfcSA9IAorK3N0YXRpYyBpbnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBn bG9idXNfbF9nc2NfbWF4X3JlYWRfcSA9CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBERUZBVUxUX01BWF9RX0xFTjsKKyAKKyBHbG9idXNEZWJ1Z0RlZmluZShH TE9CVVNfR1JJREZUUF9TRVJWRVJfQ09OVFJPTCk7CitAQCAtMzAxLDcgKzMwMSw3IEBAIGdsb2J1 c19sX2dzY19hY3RpdmF0ZSgpCisgICAgIGludCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHJjID0gMDsKKyAgICAgY2hhciAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZTsK KyAgICAgZ2xvYnVzX3Jlc3VsdF90ICAgICAgICAgICAgICAgICAgICAgcmVzOworLSAgICAgICAg CisrCisgICAgIHJjID0gZ2xvYnVzX21vZHVsZV9hY3RpdmF0ZShHTE9CVVNfWElPX01PRFVMRSk7 CisgICAgIGlmKHJjICE9IDApCisgICAgIHsKK0BAIC0zNDAsNyArMzQwLDcgQEAgZ2xvYnVzX2xf Z3NjX2FjdGl2YXRlKCkKKyAgICAgeworICAgICAgICAgcmV0dXJuIEdMT0JVU19GQUlMVVJFOwor ICAgICB9CistICAgIAorKworICAgICBpZigoZSA9IGdldGVudigiR0ZTX01BWF9SRUFEX1FVRVVF IikpICE9IE5VTEwpCisgICAgIHsKKyAgICAgICAgIGdsb2J1c19sX2dzY19tYXhfcmVhZF9xID0g YXRvaShlKTsKK0BAIC0zNDksMTQgKzM0OSwxNCBAQCBnbG9idXNfbF9nc2NfYWN0aXZhdGUoKQor ICAgICAgICAgICAgIGdsb2J1c19sX2dzY19tYXhfcmVhZF9xID0gREVGQVVMVF9NQVhfUV9MRU47 CisgICAgICAgICB9CisgICAgIH0KKy0gICAgICAgIAorKworICAgICBHbG9idXNMVGVzdFN1aXRl TXNnKCk7CisgICAgIEdsb2J1c0RlYnVnSW5pdChHTE9CVVNfR1JJREZUUF9TRVJWRVJfQ09OVFJP TCwKKyAgICAgICAgIEVSUk9SIFdBUk5JTkcgVFJBQ0UgSU5URVJOQUxfVFJBQ0UgQ09NTUFORFMg VkVSQk9TRSBTVEFURSk7CisgCisgICAgIC8qIGFkZCBhbGwgdGhlIGRlZmF1bHQgY29tbWFuZCBo YW5kbGVycyAqLworICAgICBnbG9idXNfZ3JpZGZ0cF9zZXJ2ZXJfY29udHJvbF9hdHRyX2luaXQo Jmdsb2J1c19sX2dzY19kZWZhdWx0X2F0dHIpOworLSAgICAKKysKKyAgICAgZ2xvYnVzX2hhc2h0 YWJsZV9pbml0KAorICAgICAgICAgJmdsb2J1c19sX2dzY19wd2VudF9jYWNoZSwKKyAgICAgICAg IDEyOCwKK0BAIC00NTQsNyArNDU0LDcgQEAgZ2xvYnVzX2xfZ3NjX3RpbWVvdXRfY2IoCisgICAg ICAgICB9CisgICAgICAgICBlbHNlCisgICAgICAgICB7CistICAgICAgICAgICAgZ2xvYnVzX2xf Z3NjX2ZpbmFsX3JlcGx5KHNlcnZlcl9oYW5kbGUsIAorKyAgICAgICAgICAgIGdsb2J1c19sX2dz Y19maW5hbF9yZXBseShzZXJ2ZXJfaGFuZGxlLAorICAgICAgICAgICAgICAgICBfRlNNU0woIjQy MSBJZGxlIFRpbWVvdXQ6IGNsb3NpbmcgY29udHJvbCBjb25uZWN0aW9uLlxyXG4iKSk7CisgICAg ICAgICAgICAgcmMgPSBHTE9CVVNfVFJVRTsKKyAgICAgICAgIH0KK0BAIC01NTUsMTIgKzU1NSwx MiBAQCBnbG9idXNfaV9nc2Nfb3BfZGVzdHJveSgKKyAgICAgICAgICAgICAgICAgaWYob3AtPnN0 YXRfaW5mb1tjdHJdLm5hbWUgIT0gTlVMTCkKKyAgICAgICAgICAgICAgICAgeworICAgICAgICAg ICAgICAgICAgICAgZ2xvYnVzX2ZyZWUob3AtPnN0YXRfaW5mb1tjdHJdLm5hbWUpOworLSAgICAg ICAgICAgICAgICB9ICAgICAgICAKKysgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAg ICBpZihvcC0+c3RhdF9pbmZvW2N0cl0uc3ltbGlua190YXJnZXQgIT0gTlVMTCkKKyAgICAgICAg ICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgZ2xvYnVzX2ZyZWUob3AtPnN0YXRfaW5m b1tjdHJdLnN5bWxpbmtfdGFyZ2V0KTsKKyAgICAgICAgICAgICAgICAgfQorLSAgICAgICAgICAg IH0gICAgICAgICAgICAKKysgICAgICAgICAgICB9CisgICAgICAgICAgICAgZ2xvYnVzX2ZyZWUo b3AtPnN0YXRfaW5mbyk7CisgICAgICAgICB9CisgICAgICAgICBpZihvcC0+Y3MgIT0gTlVMTCkK K0BAIC02NDksMjYgKzY0OSwyNiBAQCBnbG9idXNfbF9nc2NfdHJhbnNfdGFibGVfY29weSgKKyAv KgorICAqICBSZWFkIENhbGxiYWNrCisgICogIC0tLS0tLS0tLS0tLS0KKy0gKiAgRXZlcnkgdGlt ZSBhIGNvbW1hbmQgY29tZXMgaW4gdGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQuICAKKysgKiAgRXZl cnkgdGltZSBhIGNvbW1hbmQgY29tZXMgaW4gdGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQuCisgICoK KyAgKiAgUmVhZHMgYXJlIGNvbnRpbnVhbGx5IHBvc3RlZCBhbmQgcXVldWVkLiAgVGhlIHJlYXNv biBmb3IgdGhpcyBpcworICAqICB0aGUgQUJPUiBjYXNlLiAgU2luY2UgYW4gQUJPUiBpcyByZWFk IGFzIG9vYmlubGluZSB3ZSBtdXN0IGhhdmUKKyAgKiAgYSByZWFkIHBvc3RlZCB3aGlsZSBhIGNv bW1hbmQgaXMgYmVpbmcgcHJvY2Vzcy4gIFRoaXMgbGVhZHMgdG8KKy0gKiAgdGhlIHBvc3NpYmls aXR5IG9mIGNvbW1hbmRzIG90aGVyIHRoYW4gQUJPUiBiZWluZyByZWFkIHdoaWxlIGEgCisrICog IHRoZSBwb3NzaWJpbGl0eSBvZiBjb21tYW5kcyBvdGhlciB0aGFuIEFCT1IgYmVpbmcgcmVhZCB3 aGlsZSBhCisgICogIHByZWNlZGluZyBjb21tYW5kIGlzIGJlaW5nIHByb2Nlc3NlZCwgdGhlIHNv bHV0aW9uIHRvIHRoaXMgaXMgdG8KKyAgKiAgY29uc3RhbnRseSByZWFkIGFuZCBxdWV1ZSBhbGwg Y29tbWFuZHMuCisgICoKKyAgKiAgc3RhdGVzCisgICogICAgICBvbiBlcnJvciBzaW1wbHkgY2Fs bCB0ZXJtaW5hdGUKKyAgKgorLSAqICAgICAgT1BFTiA6IAorKyAqICAgICAgT1BFTiA6CisgICog ICAgICAgICAgcmVhZCBhbmQgcXVldWUgdGhlIGNvbW1hbmQuICBJZiB0aGUgY29tbWFuZCBpcyBB Qk9SIHJlcGx5CisgICogICAgICAgICAgaW1lZGlhdGx5IGFuZCBwb3N0IGFub3RoZXIgcmVhZCwg ZWxzZSBzdGFydCBwcm9jZXNzaW5nCisgICogICAgICAgICAgdGhlIG5leHQgY29tbWFuZCBpbiB0 aGUgcXVldWUKKyAgKgorLSAqICAgICAgUFJPQ0VTU0lORyA6IAorKyAqICAgICAgUFJPQ0VTU0lO RyA6CisgICogICAgICAgICAgc2ltcGx5IHF1ZXVlIHRoZSBjb21tYW5kIGFuZCBwb3N0IGFub3Ro ZXIgcmVhZC4gIGlmIHRoZSBjb21tYW5kCistICogICAgICAgICAgaXMgQUJPUiwgY2hhbmdlIHRv IEFCT1JUSU5HIFNUQVRFIGFuZCBjYWxsIHRoZSB1c2VycyBhYm9ydCAKKysgKiAgICAgICAgICBp cyBBQk9SLCBjaGFuZ2UgdG8gQUJPUlRJTkcgU1RBVEUgYW5kIGNhbGwgdGhlIHVzZXJzIGFib3J0 CisgICogICAgICAgICAgY2FsbGJhY2suCisgICoKKyAgKiAgICAgIFNUT1BQSU5HL0FCT1JUSU5H X1NUT1BQSU5HOgorQEAgLTc0NSw4ICs3NDUsOCBAQCBnbG9idXNfbF9nc2NfcmVhZF9jYigKKyAg ICAgICAgICAgICBjYXNlIEdMT0JVU19MX0dTQ19TVEFURV9QUk9DRVNTSU5HOgorICAgICAgICAg ICAgICAgICAvKiAgcGFyc2Ugb3V0IHRoZSBjb21tYW5kIG5hbWUgKi8KKyAgICAgICAgICAgICAg ICAgY29tbWFuZF9uYW1lID0gKGNoYXIgKikgZ2xvYnVzX21hbGxvYyhsZW4gKyAxKTsKKy0gICAg ICAgICAgICAgICAgZm9yKGN0ciA9IDAsIHRtcF9wdHIgPSBidWZmZXI7IAorLSAgICAgICAgICAg ICAgICAgICAgKnRtcF9wdHIgIT0gJyAnICYmICp0bXBfcHRyICE9ICdccicgCisrICAgICAgICAg ICAgICAgIGZvcihjdHIgPSAwLCB0bXBfcHRyID0gYnVmZmVyOworKyAgICAgICAgICAgICAgICAg ICAgKnRtcF9wdHIgIT0gJyAnICYmICp0bXBfcHRyICE9ICdccicKKyAgICAgICAgICAgICAgICAg ICAgICYmICp0bXBfcHRyICE9ICdcbicgJiYgY3RyIDwgbGVuOworICAgICAgICAgICAgICAgICAg ICAgdG1wX3B0cisrLCBjdHIrKykKKyAgICAgICAgICAgICAgICAgeworQEAgLTc3MywxMCArNzcz LDEwIEBAIGdsb2J1c19sX2dzY19yZWFkX2NiKAorICAgICAgICAgICAgICAgICAgICAgeworICAg ICAgICAgICAgICAgICAgICAgICAgIGdsb2J1c19sX2dzY19wcm9jZXNzX25leHRfY21kKHNlcnZl cl9oYW5kbGUpOworICAgICAgICAgICAgICAgICAgICAgfQorLSAgICAgICAgICAgICAgICAgICAg LyogYWxsb3cgb3V0c3RhbmRpbmcgY29tbWFuZHMsIGp1c3QgcXVldWUgdGhlbSB1cCwgYnV0IAor KyAgICAgICAgICAgICAgICAgICAgLyogYWxsb3cgb3V0c3RhbmRpbmcgY29tbWFuZHMsIGp1c3Qg cXVldWUgdGhlbSB1cCwgYnV0CisgICAgICAgICAgICAgICAgICAgICAgICAgb25seSB0byBhIGNl cnRhaW4gbnVtYmVyICovCistICAgICAgICAgICAgICAgICAgICBpZihnbG9idXNfZmlmb19zaXpl KCZzZXJ2ZXJfaGFuZGxlLT5yZWFkX3EpIDwgCistICAgICAgICAgICAgICAgICAgICAgICAgICAg IHNlcnZlcl9oYW5kbGUtPm1heF9xX2xlbiB8fCAKKysgICAgICAgICAgICAgICAgICAgIGlmKGds b2J1c19maWZvX3NpemUoJnNlcnZlcl9oYW5kbGUtPnJlYWRfcSkgPAorKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICBzZXJ2ZXJfaGFuZGxlLT5tYXhfcV9sZW4gfHwKKyAgICAgICAgICAgICAg ICAgICAgICAgICBzZXJ2ZXJfaGFuZGxlLT5tYXhfcV9sZW4gPD0gMCkKKyAgICAgICAgICAgICAg ICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICByZXMgPSBnbG9idXNfeGlvX3JlZ2lz dGVyX3JlYWQoCitAQCAtODQ1LDcgKzg0NSw3IEBAIGdsb2J1c19sX2dzY19yZWFkX2NiKAorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBHTE9CVVNfR1JJREZUUF9TRVJWRVJfQ09OVFJPTF9F VkVOVF9BQk9SVCAmJgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0aGlzIGxhc3Qg Y29kaXRpb24gbWFrZSBkZWFsIHdpdGggYSByYWNlIG9mIGFuCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBhYm9ydCBhbmQgYSBmaW5pc2hlZCB0cmFuc2ZlciAqLworLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICBzZXJ2ZXJfaGFuZGxlLT5kYXRhX29iamVjdC0+c3RhdGUgPT0g CisrICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlcnZlcl9oYW5kbGUtPmRhdGFfb2JqZWN0 LT5zdGF0ZSA9PQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR0xPQlVTX0xfR1ND X0RBVEFfT0JKX0lOVVNFKQorICAgICAgICAgICAgICAgICAgICAgICAgIHsKKyBhc3NlcnQoc2Vy dmVyX2hhbmRsZS0+ZGF0YV9vYmplY3QtPnN0YXRlID09IEdMT0JVU19MX0dTQ19EQVRBX09CSl9J TlVTRSk7CitAQCAtODUzLDcgKzg1Myw3IEBAIGFzc2VydChzZXJ2ZXJfaGFuZGxlLT5kYXRhX29i amVjdC0+c3RhdGUgPT0gR0xPQlVTX0xfR1NDX0RBVEFfT0JKX0lOVVNFKTsKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHNlcnZlcl9oYW5kbGUtPm91dHN0YW5kaW5nX29wLAorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR0xPQlVTX0dSSURGVFBfU0VSVkVSX0NPTlRS T0xfRVZFTlRfQUJPUlQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXJ2ZXJf aGFuZGxlLT5vdXRzdGFuZGluZ19vcC0+ZXZlbnQudXNlcl9hcmcpOworLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICBzZXJ2ZXJfaGFuZGxlLT5vdXRzdGFuZGluZ19vcC0+YWJvcnRlZCA9IAor KyAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXJ2ZXJfaGFuZGxlLT5vdXRzdGFuZGluZ19v cC0+YWJvcnRlZCA9CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHTE9CVVNfRkFM U0U7CisgICAgICAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICAgfQor QEAgLTkwMiwxMSArOTAyLDExIEBAIGVycjoKKyAgKgorICAqICAgVGhpcyBpcyBjYWxsZWQgaW4g YSBmZXcgcGxhY2VzLiAgSXQgaXMgY2FsbGVkIHdoZW4gYSB1c2VyIGRlY2lkZWRzCisgICogICB0 byB0ZXJtaW5hdGUgdGhlIGNvbmVjdGlvbiB2aWEgX3N0b3AoKSwgd2hlbiB0aGUgY29tbWFuZCBt b2R1bGVzCistICogICBwYW5pYyAodHlwaWNhbGx5IGR1ZSB0byBiZWluZyBvdXQgb2YgbWVtb3J5 KSBvciB3aGVuIGFuIGVycm9yIAorKyAqICAgcGFuaWMgKHR5cGljYWxseSBkdWUgdG8gYmVpbmcg b3V0IG9mIG1lbW9yeSkgb3Igd2hlbiBhbiBlcnJvcgorICAqICAgb2NjdXJzIG9uIHRoZSBjbGll bnQgY29ubmVjdGlvbiAodHlwaWNhbGx5IGR1ZSB0byBpdCBjbG9zaW5nKS4KKyAgKgorICAqICAg c3RhdGVzOgorLSAqIAorKyAqCisgICogICBPUEVOSU5HOgorICAqICAgICAgTm90aW5nIGhhcyBy ZWFsbHkgYmVlbiBkb25lIHlldCwgdGhlcmUgaXMgcG9zc2libHkgYW4gb3V0c3RhbmRpbmcKKyAg KiAgICAgIG9wZW4gb3IgYW4gb3V0c3RhbmluZyB3cml0ZS4gIGNhbmNlbCBhbnkgb3BlbiBhbmQg d3JpdGUgY2FsbGJhY2tzLgorQEAgLTkxNCwxMyArOTE0LDEzIEBAIGVycjoKKyAgKgorICAqICAg T1BFTjoKKyAgKiAgICAgIFRoZXJlIGFyZSBubyBvdXRzdGFuaWRuZyBjb21tYW5kcyBzbyBtb3Zl IHRvIHRoZSBzdG9waW5nIHN0YXRlLAorLSAqICAgICAgY2FuY2VsIHRoZSBjb21tYW5kIHJlYWQg dGhhdCBpcyBwb3N0ZWQuICBXaGVuIHRoZSBjYW5jZWxlZCByZWFkIAorLSAqICAgICAgcmV0dXJu cyB0aGUgdGVybWluYXRpb24gcHJvY2VzcyB3aWxsIGNvbnRpbnVlLiAgCisrICogICAgICBjYW5j ZWwgdGhlIGNvbW1hbmQgcmVhZCB0aGF0IGlzIHBvc3RlZC4gIFdoZW4gdGhlIGNhbmNlbGVkIHJl YWQKKysgKiAgICAgIHJldHVybnMgdGhlIHRlcm1pbmF0aW9uIHByb2Nlc3Mgd2lsbCBjb250aW51 ZS4KKyAgKgorICAqICAgUFJPQ0VTU0lORzoKKyAgKiAgICAgIEEgY29tbWFuZCBpcyBvdXRzdGFu ZGluZyBzbyBtb3ZlIHRvIHRoZSBBQk9SVElOR19TVE9QUElORyBzdGF0ZSwKKyAgKiAgICAgIGNh bGwgdGhlIHVzZXJzIGFib3J0IGNhbGxiYWNrLiAgV2hlbiB0aGUgZmluaXNoZWQgb3AgY29tbWFu ZCByZXR1cm5zCistICogICAgICB0aGUgdGVybWluYXRpb24gcHJvY2VzcyB3aWxsIGNvbnRpbnVl LiAgCisrICogICAgICB0aGUgdGVybWluYXRpb24gcHJvY2VzcyB3aWxsIGNvbnRpbnVlLgorICAq ICAgICAgRmx1c2ggYW55IGNvbW1hbmRzIHRoYXQgaGF2ZSBiZWVuIHJlYWQgd2l0aCBhbiBlcnJv ci4KKyAgKgorICAqICAgQUJPUlRJTkc6CitAQCAtOTY2LDE4ICs5NjYsMTggQEAgZ2xvYnVzX2xf Z3NjX3Rlcm1pbmF0ZSgKKyAgICAgICAgICAgICAgICAgZ2xvYnVzX2lfZ3VjX2RhdGFfb2JqZWN0 X2Rlc3Ryb3koc2VydmVyX2hhbmRsZSwgZGF0YV9vYmopOworICAgICAgICAgICAgICAgICBzZXJ2 ZXJfaGFuZGxlLT5kYXRhX29iamVjdCA9IE5VTEw7CisgICAgICAgICAgICAgICAgIGJyZWFrOwor LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgCisrCisgICAgICAgICAgICAgY2FzZSBHTE9CVVNfTF9H U0NfREFUQV9PQkpfREVTVFJPWV9XQUlUOgorICAgICAgICAgICAgIGNhc2UgR0xPQlVTX0xfR1ND X0RBVEFfT0JKX0RFU1RST1lJTkc6CisgICAgICAgICAgICAgICAgIC8qIGRvIG51dHRpbiAqLwor ICAgICAgICAgICAgICAgICBicmVhazsKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorKworICAg ICAgICAgICAgIGNhc2UgR0xPQlVTX0xfR1NDX0RBVEFfT0JKX0lOVVNFOgorICAgICAgICAgICAg ICAgICAvKiBzdGFydCBhbiBhYm9ydCBldmVudCAqLworICAgICAgICAgICAgICAgICBkaF90b19h Ym9ydCA9IEdMT0JVU19UUlVFOworICAgICAgICAgICAgICAgICBkYXRhX29iai0+c3RhdGUgPSBH TE9CVVNfTF9HU0NfREFUQV9PQkpfREVTVFJPWV9XQUlUOworICAgICAgICAgICAgICAgICBicmVh azsKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorKworICAgICAgICAgICAgIGRlZmF1bHQ6Cisg ICAgICAgICAgICAgICAgIGdsb2J1c19hc3NlcnQoMCAmJiAicG9zc2libGUgbWVtb3J5IGNvcnJ1 cHRpb24iKTsKKyAgICAgICAgICAgICAgICAgYnJlYWs7CitAQCAtMTA3Niw3ICsxMDc2LDcgQEAg aQorIAorICAgICAgICAgLyogaXMgb2sgdG8gY2FsbCB0aGlzIHR3aWNlIHN0b3BwZWQgdHdpY2U6 CisgICAgICAgICAgICBleDogY2xpZW50IHF1aXRzLCByZWFkIGNhbGxiYWNrIHJldHVybnMgd2l0 aCBlcnJvciwgdGhlbiB1c2VyCistICAgICAgICAgICAgICAgcXVpdHMgYmVmb3JlIGdldHRpbmcg dGhlIGRvbmUgY2FsbGJhY2suICAKKysgICAgICAgICAgICAgICBxdWl0cyBiZWZvcmUgZ2V0dGlu ZyB0aGUgZG9uZSBjYWxsYmFjay4KKyAgICAgICAgICAgIEluIHRoZXNlIGNhc2VzIHRoZXJlIGlz IG5vdGhpbmcgdG8gYmUgZG9uZS4gKi8KKyAgICAgICAgIGNhc2UgR0xPQlVTX0xfR1NDX1NUQVRF X0FCT1JUSU5HX1NUT1BQSU5HOgorICAgICAgICAgY2FzZSBHTE9CVVNfTF9HU0NfU1RBVEVfU1RP UFBJTkc6CitAQCAtMTE0NiwxOCArMTE0NiwxOCBAQCBnbG9idXNfZ3NjXzk1OV90ZXJtaW5hdGUo CisgICogIHRoaXMgaXMgdWxtaWF0ZWx5IGNhbGxlZCB3aGVuIGEgY29tbWFuZCBtb2R1bGUgZmlu aXNoZXMgYSBjb21tYW5kCisgICoKKyAgKiAgc3RhdGVzOgorLSAqIAorKyAqCisgICogIFBST0NF U1NJTkc6CisgICogICAgICBpZiB0aGUgY29tbWFuZCBpcyBmaW5pc2hlZCAocmVwbHlfbXNnICE9 IE5VTEwpLCB0aGVuIHNlbmQgdGhlIGZpbmFsCisgICogICAgICByZXBseSBlbHNlIGNhbGwgdGhl IG5leHQgaW4gdGhlIGNoYWluLiAgVGhlIHN0YXRlIHdpbGwgYmUgY2hhbmdlZAorICAqICAgICAg d2hlbiB0aGUgZmluYWwgcmVwbHkgcmV0dXJucy4KKy0gKiAKKysgKgorICAqICBBQk9SVElORzoK Ky0gKiAgICAgIGZsdXNoIHRoZSBjb21tYW5kcyByZWFkIHEgYW5kIHNlbmQgb3V0IHRoZSBmaW5h bCBhYm9ydCBtZXNzYWdlLCBpZiAKKysgKiAgICAgIGZsdXNoIHRoZSBjb21tYW5kcyByZWFkIHEg YW5kIHNlbmQgb3V0IHRoZSBmaW5hbCBhYm9ydCBtZXNzYWdlLCBpZgorICAqICAgICAgZmluYWwg cmVwbHkgaXMgc3VjY2Vzc2Z1bCBhbm90aGVyIHJlYWQgd2lsbCBiZSBwb3N0ZWQuCisgICoKKyAg KiAgQUJPUlRJTkdfU1RPUFBJTkc6CistICogICAgICBtb3ZlIHRvIHRoZSBTVE9QUElORyBzdGF0 ZS4gIElmIHJlZmVyZW5jZSBpcyB6ZXJvIGtpY2tvdXQgZG9uZSAKKysgKiAgICAgIG1vdmUgdG8g dGhlIFNUT1BQSU5HIHN0YXRlLiAgSWYgcmVmZXJlbmNlIGlzIHplcm8ga2lja291dCBkb25lCisg ICogICAgICBjYWxsYmFjaworICAqCisgICogIFNUT1BQSU5HOgorQEAgLTEyOTUsNyArMTI5NSw3 IEBAIGdsb2J1c19sX2dzY19maW5pc2hlZF9vcCgKKyAgKiAgaXMgY2FsbGVkIG9uY2UgdGhlIDIy MCBpcyB3cml0dGVuIGFuZCBpZiBzdWNjZXNmdWwgbW92ZXMgdGhpbmdzCisgICogIHRvIHRoZSBP UEVOIHN0YXRlLgorICAqLworLXN0YXRpYyB2b2lkIAorK3N0YXRpYyB2b2lkCisgZ2xvYnVzX2xf Z3NjXzIyMF93cml0ZV9jYigKKyAgICAgZ2xvYnVzX3hpb19oYW5kbGVfdCAgICAgICAgICAgICAg ICAgeGlvX2hhbmRsZSwKKyAgICAgZ2xvYnVzX3Jlc3VsdF90ICAgICAgICAgICAgICAgICAgICAg cmVzdWx0LAorQEAgLTE0MTcsNyArMTQxNyw3IEBAIGVycjoKKyAvKgorICAqICBjYWxsYmFjayBm b3IgcmVwbGllcworICAqLworLXN0YXRpYyB2b2lkIAorK3N0YXRpYyB2b2lkCisgZ2xvYnVzX2xf Z3NjX2ZpbmFsX3JlcGx5X2NiKAorICAgICBnbG9idXNfeGlvX2hhbmRsZV90ICAgICAgICAgICAg ICAgICAgICAgeGlvX2hhbmRsZSwKKyAgICAgZ2xvYnVzX3Jlc3VsdF90ICAgICAgICAgICAgICAg ICAgICAgICAgIHJlc3VsdCwKK0BAIC0xNDc0LDcgKzE0NzQsNyBAQCBnbG9idXNfbF9nc2NfZmlu YWxfcmVwbHlfY2IoCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh2b2lkICopIHNlcnZl cl9oYW5kbGUpOworICAgICAgICAgICAgICAgICAgICAgaWYocmVzICE9IEdMT0JVU19TVUNDRVNT KQorICAgICAgICAgICAgICAgICAgICAgeworLQkJCWdvdG8gZXJyOworKyAgICAgICAgICAgICAg ICAgICAgICAgIGdvdG8gZXJyOworICAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg ICAgICAgICAgR2xvYnVzTFNlcnZlclJlZkluYyhzZXJ2ZXJfaGFuZGxlKTsKKyAgICAgICAgICAg ICAgICAgICAgIEdsb2J1c0dTQ0hhbmRsZVN0YXRlQ2hhbmdlKAorQEAgLTE1MzksNyArMTUzOSw3 IEBAIGdsb2J1c19sX2dzY19maW5hbF9yZXBseV9jYigKKyAgICAgcmV0dXJuOworIH0KKyAKKy1z dGF0aWMgdm9pZCAKKytzdGF0aWMgdm9pZAorIGdsb2J1c19sX2dzY19pbnRlcm1lZGlhdGVfcmVw bHlfY2IoCisgICAgIGdsb2J1c194aW9faGFuZGxlX3QgICAgICAgICAgICAgICAgICAgICB4aW9f aGFuZGxlLAorICAgICBnbG9idXNfcmVzdWx0X3QgICAgICAgICAgICAgICAgICAgICAgICAgcmVz dWx0LAorQEAgLTE2OTAsMTEgKzE2OTAsMTEgQEAgZ2xvYnVzX2xfZ3NjX3VzZXJfY2xvc2Vfa2lj a291dCgKKyAgICAgfQorICAgICBnbG9idXNfbXV0ZXhfdW5sb2NrKCZzZXJ2ZXJfaGFuZGxlLT5t dXRleCk7CisgCistICAgIC8qIGNhbGwgZGVzdHJveSBvbiBhbGwgdGhlIGRhdGEgY29ubmVjdGlv bnMsIGlmIG5vdCBpbiB0aGUgbGlzdCAKKysgICAgLyogY2FsbCBkZXN0cm95IG9uIGFsbCB0aGUg ZGF0YSBjb25uZWN0aW9ucywgaWYgbm90IGluIHRoZSBsaXN0CisgICAgICAgICB0aGVuIGEgY2Fs bCBpcyBhbHJlYWR5IHBlbmRpbmcgb24gaXQgKi8KKyAgICAgd2hpbGUoIWdsb2J1c19saXN0X2Vt cHR5KGRhdGFfY29ubl9saXN0KSkKKyAgICAgeworLSAgICAgICAgZGF0YV9vYmplY3QgPSAoZ2xv YnVzX2lfZ3NjX2RhdGFfdCAqKSAKKysgICAgICAgIGRhdGFfb2JqZWN0ID0gKGdsb2J1c19pX2dz Y19kYXRhX3QgKikKKyAgICAgICAgICAgICBnbG9idXNfbGlzdF9yZW1vdmUoJmRhdGFfY29ubl9s aXN0LCBkYXRhX2Nvbm5fbGlzdCk7CisgICAgICAgICBpZihzZXJ2ZXJfaGFuZGxlLT5mdW5jcy5k YXRhX2Rlc3Ryb3lfY2IgIT0gTlVMTCkKKyAgICAgICAgIHsKK0BAIC0xNzIwLDcgKzE3MjAsNyBA QCBnbG9idXNfbF9nc2NfdXNlcl9jbG9zZV9raWNrb3V0KAorIAorIC8qCisgICogIGNsb3NlIGNh bGxiYWNrCistICogCisrICoKKyAgKiAgaGFuZGxlIGlzIG5vdCBjbG9zZWQgdW50aWwgdXNlciBy ZXF1ZXN0cyBhIGNsb3NlLgorICAqLworIHN0YXRpYyB2b2lkCitAQCAtMTc2Miw5ICsxNzYyLDkg QEAgZ2xvYnVzX2lfZ3VjX2RhdGFfb2JqZWN0X2Rlc3Ryb3koCisgICAgIGlmKGRhdGFfb2JqZWN0 KQorICAgICB7CisgICAgICAgICBnbG9idXNfaGFzaHRhYmxlX3JlbW92ZSgKKy0gICAgICAgICAg ICAmc2VydmVyX2hhbmRsZS0+ZGF0YV9vYmplY3RfdGFibGUsIAorKyAgICAgICAgICAgICZzZXJ2 ZXJfaGFuZGxlLT5kYXRhX29iamVjdF90YWJsZSwKKyAgICAgICAgICAgICBkYXRhX29iamVjdC0+ dXNlcl9oYW5kbGUpOworLSAgICAKKysKKyAgICAgICAgIGlmKHNlcnZlcl9oYW5kbGUtPmZ1bmNz LmRhdGFfZGVzdHJveV9jYiAhPSBOVUxMKQorICAgICAgICAgeworICAgICAgICAgICAgIEdsb2J1 c0xTZXJ2ZXJSZWZJbmMoc2VydmVyX2hhbmRsZSk7CitAQCAtMTk1Myw3ICsxOTUzLDcgQEAgZ2xv YnVzX2xfZ3NjX3BhcnNlX2NvbW1hbmQoCisgICAgIHJldHVybiAtMTsKKyB9CisgCistc3RhdGlj IHZvaWQgCisrc3RhdGljIHZvaWQKKyBnbG9idXNfbF9nc2NfZnJlZV9jb21tYW5kX2FycmF5KAor ICAgICBjaGFyICoqICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbWRfYSkKKyB7CitAQCAt MjAxNCw3ICsyMDE0LDcgQEAgZ2xvYnVzX2lfZ3NjX2NvbmNhdF9wYXRoKAorIAorICAgICBnbG9i dXNfbXV0ZXhfbG9jaygmaV9zZXJ2ZXItPm11dGV4KTsKKyAgICAgeworLSAKKysKKyAgICAgICAg IGlmKGluX3BhdGhbMF0gPT0gJy8nKQorICAgICAgICAgeworICAgICAgICAgICAgIHRtcF9wYXRo ID0gZ2xvYnVzX2xpYmNfc3RyZHVwKGluX3BhdGgpOworQEAgLTIwNDMsNyArMjA0Myw3IEBAIGds b2J1c19pX2dzY19jb25jYXRfcGF0aCgKKyAgICAgICAgIHsKKyAgICAgICAgICAgICBnb3RvIGVy cm9yOworICAgICAgICAgfQorLSAgICAgICAgCisrCisgICAgICAgICAvKiByZW1vdmUgYWxsIGRv dWJsZSBzbGFzaGVzICovCisgICAgICAgICB0bXBfcHRyID0gc3Ryc3RyKHRtcF9wYXRoLCAiLy8i KTsKKyAgICAgICAgIHdoaWxlKHRtcF9wdHIgIT0gTlVMTCkKK0BAIC0yMTQwLDE5ICsyMTQwLDE5 IEBAIGdsb2J1c19pX2dyaWRmdHBfc2VydmVyX2NvbnRyb2xfY3NfdmVyaWZ5KAorICAgICBlbHNl IGlmKG5ldF9wcnQgPT0gR0xPQlVTX0dSSURGVFBfU0VSVkVSX0NPTlRST0xfUFJPVE9DT0xfSVBW NikKKyAgICAgeworICAgICAgICAgZ2xvYnVzX3hpb19jb250YWN0X3QgICAgICAgICAgICBjb250 YWN0X2luZm87CistICAgICAgICAKKysKKyAgICAgICAgIGlmKGdsb2J1c194aW9fY29udGFjdF9w YXJzZSgmY29udGFjdF9pbmZvLCBjcykgIT0gR0xPQlVTX1NVQ0NFU1MpCisgICAgICAgICB7Cisg ICAgICAgICAgICAgcmV0dXJuIEdMT0JVU19GQUxTRTsKKyAgICAgICAgIH0KKy0gICAgICAgIAor LSAgICAgICAgaWYoIShjb250YWN0X2luZm8uaG9zdCAmJiBjb250YWN0X2luZm8ucG9ydCkgfHwg CisrCisrICAgICAgICBpZighKGNvbnRhY3RfaW5mby5ob3N0ICYmIGNvbnRhY3RfaW5mby5wb3J0 KSB8fAorICAgICAgICAgICAgICh1bnNpZ25lZCkgYXRvaShjb250YWN0X2luZm8ucG9ydCkgPiA2 NTUzNSkKKyAgICAgICAgIHsKKyAgICAgICAgICAgICBnbG9idXNfeGlvX2NvbnRhY3RfZGVzdHJv eSgmY29udGFjdF9pbmZvKTsKKyAgICAgICAgICAgICByZXR1cm4gR0xPQlVTX0ZBTFNFOworICAg ICAgICAgfQorLSAgICAgICAgCisrCisgICAgICAgICAvKiB2ZXJpZnkgdGhhdCB0aGUgc3RyaW5n IGNvbnRhaW5zIG5vdGhpbmcgYnV0CisgICAgICAgICAgKiBoZXggZGlnaXRzLCAnOicuIGFuZCAn LicKKyAgICAgICAgICAqLworQEAgLTIxNjYsOSArMjE2Niw5IEBAIGdsb2J1c19pX2dyaWRmdHBf c2VydmVyX2NvbnRyb2xfY3NfdmVyaWZ5KAorICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICBj cysrOworICAgICAgICAgfQorLSAgICAgICAgCisrCisgICAgICAgICBnbG9idXNfeGlvX2NvbnRh Y3RfZGVzdHJveSgmY29udGFjdF9pbmZvKTsKKy0gICAgICAgIAorKworICAgICAgICAgcmV0dXJu IEdMT0JVU19UUlVFOworICAgICB9CisgCitAQCAtMjE5NSw3ICsyMTk1LDcgQEAgZ2xvYnVzX2xf Z3NjX2NtZF9zaXRlKAorIHsKKyAgICAgY2hhciAqICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgdG1wX3B0cjsKKyAgICAgR2xvYnVzR3JpZEZUUFNlcnZlck5hbWUoZ2xvYnVzX2xfZ3NjX2Nt ZF9zaXRlKTsKKy0gICAgCisrCisgICAgIEdsb2J1c0dyaWRGVFBTZXJ2ZXJEZWJ1Z0ludGVybmFs RW50ZXIoKTsKKyAKKyAgICAgLyogdG8gdXBwZXIgaW4gdGhlIGFjdHVhbCBpbml0aWFsIGJ1ZmZl ciAqLworQEAgLTIyMDgsNyArMjIwOCw3IEBAIGdsb2J1c19sX2dzY19jbWRfc2l0ZSgKKyAgICAg ICAgICp0bXBfcHRyID0gdG91cHBlcigqdG1wX3B0cik7CisgICAgIH0KKyAgICAgKnRtcF9wdHIg PSAnXDAnOworLSAgICAKKysKKyAgICAgZ2xvYnVzX2Fzc2VydChvcC0+Y21kX2xpc3QgPT0gTlVM TCk7CisgCisgIyAgIGlmIGRlZmluZWQoR0xPQlVTX0xfU0lURV9URVNUX1NVSVRFX01TRykKK0BA IC0yMjgxLDcgKzIyODEsNyBAQCBnbG9idXNfbF9nc2NfY29tbWFuZF9jYWxsb3V0KAorICAgICAg ICAgICAgIGlmKG9wLT5jbWRfbGlzdCA9PSBOVUxMKQorICAgICAgICAgICAgIHsKKyAgICAgICAg ICAgICAgICAgLyogbG9nIHVua25vd24gKi8KKy0gICAgICAgICAgICAgICAgZ2xvYnVzX2lfZ3Nj X2xvZyhzZXJ2ZXJfaGFuZGxlLCBvcC0+Y29tbWFuZCwgCisrICAgICAgICAgICAgICAgIGdsb2J1 c19pX2dzY19sb2coc2VydmVyX2hhbmRsZSwgb3AtPmNvbW1hbmQsCisgICAgICAgICAgICAgICAg ICAgICBHTE9CVVNfR1JJREZUUF9TRVJWRVJfQ09OVFJPTF9MT0dfRVJST1IpOworIAorICAgICAg ICAgICAgICAgICBnbG9idXNfaV9nc2Nfb3BfZGVzdHJveShvcCk7CitAQCAtMjI5Nyw3ICsyMjk3 LDcgQEAgZ2xvYnVzX2xfZ3NjX2NvbW1hbmRfY2FsbG91dCgKKyAgICAgICAgICAgICAgICAgewor ICAgICAgICAgICAgICAgICAgICAgbXNnID0gX0ZTTVNMKCI1MzAgUGxlYXNlIGxvZ2luIHdpdGgg VVNFUiBhbmQgUEFTUy5cclxuIik7CisgICAgICAgICAgICAgICAgIH0KKy0gICAgICAgICAgICAg ICAgZWxzZSBpZihhdXRoICYmIAorKyAgICAgICAgICAgICAgICBlbHNlIGlmKGF1dGggJiYKKyAg ICAgICAgICAgICAgICAgICAgICEoY21kX2VudC0+ZGVzYyAmIEdMT0JVU19HU0NfQ09NTUFORF9Q T1NUX0FVVEgpKQorICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICBtc2cg PSBfRlNNU0woIjUwMyBZb3UgYXJlIGFscmVhZHkgbG9nZ2VkIGluLlxyXG4iKTsKK0BAIC0yMzI0 LDEwICsyMzI0LDEwIEBAIGdsb2J1c19sX2dzY19jb21tYW5kX2NhbGxvdXQoCisgICAgICAgICAg ICAgY2hhciAqKiAgICAgICAgICAgICAgICAgICAgIHJlc3RyaWN0X2FyZ3MgPSBOVUxMOworICAg ICAgICAgICAgIGludCAgICAgICAgICAgICAgICAgICAgICAgICBpOworICAgICAgICAgICAgIGNo YXIgKiAgICAgICAgICAgICAgICAgICAgICByZXN0cmljdF9jbWQ7CistICAgICAgICAgICAgCisr CisgICAgICAgICAgICAgcmVzdHJpY3RfY21kID0gZ2xvYnVzX2xpc3RfZmlyc3QobGlzdCk7Cisg ICAgICAgICAgICAgbGlzdCA9IGdsb2J1c19saXN0X3Jlc3QobGlzdCk7CistICAgICAgICAgICAg CisrCisgICAgICAgICAgICAgZ2xvYnVzX2xfZ3NjX3BhcnNlX2NvbW1hbmQoCisgICAgICAgICAg ICAgICAgIHJlc3RyaWN0X2NtZCwgJnJlc3RyaWN0X2FyZ3MsIGNtZF9lbnQtPm1heF9hcmdjKTsK KyAKK0BAIC0yMzM2LDcgKzIzMzYsNyBAQCBnbG9idXNfbF9nc2NfY29tbWFuZF9jYWxsb3V0KAor ICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgaSsrOworICAgICAgICAgICAgIH0KKy0g ICAgICAgICAgICAKKysKKyAgICAgICAgICAgICBkbworICAgICAgICAgICAgIHsKKyAgICAgICAg ICAgICAgICAgaWYoIWNtZF9hcnJheVtpXSB8fCAhcmVzdHJpY3RfYXJncyB8fCAhcmVzdHJpY3Rf YXJnc1tpXSkKK0BAIC0yMzU2LDEzICsyMzU2LDEzIEBAIGdsb2J1c19sX2dzY19jb21tYW5kX2Nh bGxvdXQoCisgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgaSsrOworICAgICAg ICAgICAgIH0gd2hpbGUoZmFpbF9yZXN0cmljdCAmJiAhZG9uZSk7CistICAgICAgICAgICAgCisr CisgICAgICAgICAgICAgaWYocmVzdHJpY3RfYXJncykKKyAgICAgICAgICAgICB7CisgICAgICAg ICAgICAgICAgIGdsb2J1c19sX2dzY19mcmVlX2NvbW1hbmRfYXJyYXkocmVzdHJpY3RfYXJncyk7 CisgICAgICAgICAgICAgfQorLSAgICAgICAgfSAgICAgICAgICAgCistICAgICAgICAgICAgCisr ICAgICAgICB9CisrCisgICAgICAgICBpZihhcmdjIDwgY21kX2VudC0+bWluX2FyZ2MpCisgICAg ICAgICB7CisgICAgICAgICAgICAgZ2xvYnVzX2dzY185NTlfZmluaXNoZWRfY29tbWFuZChvcCwK K0BAIC0yNDYyLDcgKzI0NjIsNyBAQCBnbG9idXNfbF9nc2NfZmluYWxfcmVwbHkoCisgICAgICAg ICBnb3RvIGVycm9yX2FsbG9jOworICAgICB9CisgICAgIGxlbiA9IHN0cmxlbih0bXBfcHRyKTsK Ky0gICAgCisrCisgICAgIGdsb2J1c19pX2dzY19sb2coCisgICAgICAgICBzZXJ2ZXJfaGFuZGxl LCBtZXNzYWdlLCBHTE9CVVNfR1JJREZUUF9TRVJWRVJfQ09OVFJPTF9MT0dfUkVQTFkpOworICAg ICByZXMgPSBnbG9idXNfeGlvX3JlZ2lzdGVyX3dyaXRlKAorQEAgLTI2MjEsNyArMjYyMSw3IEBA IGdsb2J1c19ncmlkZnRwX3NlcnZlcl9jb250cm9sX2luaXQoCisgICAgIHNlcnZlcl9oYW5kbGUt Pm1heF9xX2xlbiA9IGdsb2J1c19sX2dzY19tYXhfcmVhZF9xOworICAgICBzZXJ2ZXJfaGFuZGxl LT5zdGF0ZSA9IEdMT0JVU19MX0dTQ19TVEFURV9OT05FOworICAgICBzZXJ2ZXJfaGFuZGxlLT5y ZXBseV9vdXRzdGFuZGluZyA9IEdMT0JVU19GQUxTRTsKKy0gICAgc2VydmVyX2hhbmRsZS0+cHJl X2F1dGhfYmFubmVyID0gCisrICAgIHNlcnZlcl9oYW5kbGUtPnByZV9hdXRoX2Jhbm5lciA9Cisg ICAgICAgICBnbG9idXNfbGliY19zdHJkdXAoR0xPQlVTX0xfR1NDX0RFRkFVTFRfMjIwKTsKKyAg ICAgZ2xvYnVzX2ZpZm9faW5pdCgmc2VydmVyX2hhbmRsZS0+cmVhZF9xKTsKKyAgICAgZ2xvYnVz X2ZpZm9faW5pdCgmc2VydmVyX2hhbmRsZS0+cmVwbHlfcSk7CitAQCAtMjYzMSw3ICsyNjMxLDcg QEAgZ2xvYnVzX2dyaWRmdHBfc2VydmVyX2NvbnRyb2xfaW5pdCgKKyAgICAgICAgIDEyOCwKKyAg ICAgICAgIGdsb2J1c19oYXNodGFibGVfc3RyaW5nX2hhc2gsCisgICAgICAgICBnbG9idXNfaGFz aHRhYmxlX3N0cmluZ19rZXllcSk7CistICAgIAorKworICAgICBnbG9idXNfaGFzaHRhYmxlX2lu aXQoCisgICAgICAgICAmc2VydmVyX2hhbmRsZS0+c2l0ZV9jbWRfdGFibGUsCisgICAgICAgICAx MjgsCitAQCAtMjY0Myw3ICsyNjQzLDcgQEAgZ2xvYnVzX2dyaWRmdHBfc2VydmVyX2NvbnRyb2xf aW5pdCgKKyAgICAgICAgIDI1NiwKKyAgICAgICAgIGdsb2J1c19oYXNodGFibGVfdm9pZHBfaGFz aCwKKyAgICAgICAgIGdsb2J1c19oYXNodGFibGVfdm9pZHBfa2V5ZXEpOworLSAgICAKKysKKyAg ICAgZ2xvYnVzX2lfZ3NjX2FkZF9jb21tYW5kcyhzZXJ2ZXJfaGFuZGxlKTsKKyAKKyAgICAgKnNl cnZlciA9IHNlcnZlcl9oYW5kbGU7CitAQCAtMjcyNiw3ICsyNzI2LDcgQEAgZ2xvYnVzX2dyaWRm dHBfc2VydmVyX2NvbnRyb2xfZGVzdHJveSgKKyAgICAgeworICAgICAgICAgY21kX2VudCA9IChn bG9idXNfbF9nc2NfY21kX2VudF90ICopIGdsb2J1c19saXN0X3JlbW92ZSgKKyAgICAgICAgICAg ICAmc2VydmVyX2hhbmRsZS0+YWxsX2NtZF9saXN0LCBzZXJ2ZXJfaGFuZGxlLT5hbGxfY21kX2xp c3QpOworLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisrCisgICAgICAgICBpZihjbWRfZW50LT5j bWRfbmFtZSAhPSBOVUxMKQorICAgICAgICAgeworICAgICAgICAgICAgIGdsb2J1c19mcmVlKGNt ZF9lbnQtPmNtZF9uYW1lKTsKK0BAIC0yODE5LDcgKzI4MTksNyBAQCBnbG9idXNfZ3JpZGZ0cF9z ZXJ2ZXJfY29udHJvbF9zdGFydCgKKyAgICAgICAgIGdvdG8gZXJyOworICNlbmRpZgorICAgICB9 CistICAgIAorKworICAgICBpZihTX0lTRklGTyhzdGF0YnVmLnN0X21vZGUpKQorICAgICB7Cisg ICAgICAgICB0cmFuc3BvcnQgPSBnbG9idXNfbF9nc2NfcGlwZV9kcml2ZXI7CitAQCAtMjkwMiw3 ICsyOTAyLDcgQEAgZ2xvYnVzX2dyaWRmdHBfc2VydmVyX2NvbnRyb2xfc3RhcnQoCisgICAgICAg ICB9CisgICAgICAgICByZXMgPSBnbG9idXNfeGlvX2F0dHJfY250bCgKKyAgICAgICAgICAgICB4 aW9fYXR0ciwgZ2xvYnVzX2xfZ3NjX2dzaV9kcml2ZXIsCistICAgICAgICAgICAgR0xPQlVTX1hJ T19HU0lfU0VUX1BST1RFQ1RJT05fTEVWRUwsIAorKyAgICAgICAgICAgIEdMT0JVU19YSU9fR1NJ X1NFVF9QUk9URUNUSU9OX0xFVkVMLAorICAgICAgICAgICAgIEdMT0JVU19YSU9fR1NJX1BST1RF Q1RJT05fTEVWRUxfUFJJVkFDWSk7CisgICAgICAgICBpZihyZXMgIT0gR0xPQlVTX1NVQ0NFU1Mp CisgICAgICAgICB7CitAQCAtMjk1OCw3ICsyOTU4LDcgQEAgZ2xvYnVzX2dyaWRmdHBfc2VydmVy X2NvbnRyb2xfc3RhcnQoCisgICAgIGVsc2UgaWYodHJhbnNwb3J0ID09IGdsb2J1c19sX2dzY19w aXBlX2RyaXZlcikKKyAgICAgeworICAgICAgICAgaW50ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBvdXRmZDsKKy0gICAgICAgIAorKworICAgICAgICAgcmVzID0gZ2xvYnVzX3hpb19hdHRy X2NudGwoeGlvX2F0dHIsIGdsb2J1c19sX2dzY19waXBlX2RyaXZlciwKKyAgICAgICAgICAgICBH TE9CVVNfWElPX1BJUEVfU0VUX0lOX0hBTkRMRSwgc3lzdGVtX2hhbmRsZSk7CisgICAgICAgICBp ZihyZXMgIT0gR0xPQlVTX1NVQ0NFU1MpCitAQCAtMzAxMCwxMCArMzAxMCwxMCBAQCBnbG9idXNf Z3JpZGZ0cF9zZXJ2ZXJfY29udHJvbF9zdGFydCgKKyAgICAgc2VydmVyX2hhbmRsZS0+ZnVuY3Mu ZG9uZV9jYiA9IGRvbmVfY2I7CisgCisgICAgIGdsb2J1c19oYXNodGFibGVfY29weSgKKy0gICAg ICAgICZzZXJ2ZXJfaGFuZGxlLT5mdW5jcy5zZW5kX2NiX3RhYmxlLCAKKysgICAgICAgICZzZXJ2 ZXJfaGFuZGxlLT5mdW5jcy5zZW5kX2NiX3RhYmxlLAorICAgICAgICAgJmlfYXR0ci0+ZnVuY3Mu c2VuZF9jYl90YWJsZSwgZ2xvYnVzX2xfZ3NjX3RyYW5zX3RhYmxlX2NvcHkpOworICAgICBnbG9i dXNfaGFzaHRhYmxlX2NvcHkoCistICAgICAgICAmc2VydmVyX2hhbmRsZS0+ZnVuY3MucmVjdl9j Yl90YWJsZSwgCisrICAgICAgICAmc2VydmVyX2hhbmRsZS0+ZnVuY3MucmVjdl9jYl90YWJsZSwK KyAgICAgICAgICZpX2F0dHItPmZ1bmNzLnJlY3ZfY2JfdGFibGUsIGdsb2J1c19sX2dzY190cmFu c190YWJsZV9jb3B5KTsKKyAKKyAgICAgaWYoc2VydmVyX2hhbmRsZS0+bW9kZXMgIT0gTlVMTCkK K0BAIC0zMDI2LDcgKzMwMjYsNyBAQCBnbG9idXNfZ3JpZGZ0cF9zZXJ2ZXJfY29udHJvbF9zdGFy dCgKKyAgICAgfQorICAgICAvKiBkZWZhdWx0IG9wdGlvbnMgKi8KKyAgICAgc3RyY3B5KHNlcnZl cl9oYW5kbGUtPm9wdHMubWxzeF9mYWN0X3N0ciwgIlRNU1BVT0lHRFFMQU4iKTsKKy0gICAgc2Vy dmVyX2hhbmRsZS0+b3B0cy5zZW5kX2J1ZiA9IDA7IAorKyAgICBzZXJ2ZXJfaGFuZGxlLT5vcHRz LnNlbmRfYnVmID0gMDsKKyAgICAgc2VydmVyX2hhbmRsZS0+b3B0cy5wZXJmX2ZyZXF1ZW5jeSA9 IDU7CisgICAgIHNlcnZlcl9oYW5kbGUtPm9wdHMucmV0cl9wZXJmX2ZyZXF1ZW5jeSA9IDA7Cisg ICAgIHNlcnZlcl9oYW5kbGUtPm9wdHMucmVzdGFydF9mcmVxdWVuY3kgPSA1OworQEAgLTMwNjgs MTYgKzMwNjgsMTYgQEAgZ2xvYnVzX2dyaWRmdHBfc2VydmVyX2NvbnRyb2xfc3RhcnQoCisgICAg IH0KKyAgICAgc2VydmVyX2hhbmRsZS0+Y3dkID0gZ2xvYnVzX2xpYmNfc3RyZHVwKGlfYXR0ci0+ YmFzZV9kaXIpOworICAgICBzZXJ2ZXJfaGFuZGxlLT5kZWZhdWx0X2N3ZCA9IE5VTEw7CistICAg IAorKworICAgICBpZihpX2F0dHItPnByZV9hdXRoX2Jhbm5lciAhPSBOVUxMKQorICAgICB7Cisg ICAgICAgICBnbG9idXNfZnJlZShzZXJ2ZXJfaGFuZGxlLT5wcmVfYXV0aF9iYW5uZXIpOworLSAg ICAgICAgc2VydmVyX2hhbmRsZS0+cHJlX2F1dGhfYmFubmVyID0gCisrICAgICAgICBzZXJ2ZXJf aGFuZGxlLT5wcmVfYXV0aF9iYW5uZXIgPQorICAgICAgICAgICAgIGdsb2J1c19saWJjX3N0cmR1 cChpX2F0dHItPnByZV9hdXRoX2Jhbm5lcik7CisgICAgIH0KKyAgICAgaWYoaV9hdHRyLT5wb3N0 X2F1dGhfYmFubmVyICE9IE5VTEwpCisgICAgIHsKKy0gICAgICAgIHNlcnZlcl9oYW5kbGUtPnBv c3RfYXV0aF9iYW5uZXIgPSAKKysgICAgICAgIHNlcnZlcl9oYW5kbGUtPnBvc3RfYXV0aF9iYW5u ZXIgPQorICAgICAgICAgICAgIGdsb2J1c19saWJjX3N0cmR1cChpX2F0dHItPnBvc3RfYXV0aF9i YW5uZXIpOworICAgICB9CisgCitAQCAtMzA5OCw4ICszMDk4LDggQEAgZ2xvYnVzX2dyaWRmdHBf c2VydmVyX2NvbnRyb2xfc3RhcnQoCisgICAgICAgICBHbG9idXNHU0NIYW5kbGVTdGF0ZUNoYW5n ZSgKKyAgICAgICAgICAgICBzZXJ2ZXJfaGFuZGxlLCBHTE9CVVNfTF9HU0NfU1RBVEVfT1BFTklO Ryk7CisgICAgICAgICByZXMgPSBnbG9idXNfeGlvX3JlZ2lzdGVyX29wZW4oCistICAgICAgICAg ICAgc2VydmVyX2hhbmRsZS0+eGlvX2hhbmRsZSwgCistICAgICAgICAgICAgTlVMTCwgCisrICAg ICAgICAgICAgc2VydmVyX2hhbmRsZS0+eGlvX2hhbmRsZSwKKysgICAgICAgICAgICBOVUxMLAor ICAgICAgICAgICAgIHhpb19hdHRyLAorICAgICAgICAgICAgIGdsb2J1c19sX2dzY19vcGVuX2Ni LAorICAgICAgICAgICAgIHNlcnZlcl9oYW5kbGUpOworQEAgLTMxODksNyArMzE4OSw3IEBAIGds b2J1c19pX2dzY19jb21tYW5kX3BhbmljKAorICAgICAgICAgR2xvYnVzR1NDSGFuZGxlU3RhdGVD aGFuZ2UoCisgICAgICAgICAgICAgb3AtPnNlcnZlcl9oYW5kbGUsIEdMT0JVU19MX0dTQ19TVEFU RV9TVE9QUElORyk7CisgCistICAgICAgICAvKiBub3QgbXVjaCBjYW4gYmUgZG9uZSBhYm91dCBh biBlcnJvciBoZXJlLCB3ZSBhcmUgdGVybWluYXRpbmcgCisrICAgICAgICAvKiBub3QgbXVjaCBj YW4gYmUgZG9uZSBhYm91dCBhbiBlcnJvciBoZXJlLCB3ZSBhcmUgdGVybWluYXRpbmcKKyAgICAg ICAgICAgICBhbnl3YXkgKi8KKyAgICAgICAgIHJlcyA9IGdsb2J1c19sX2dzY19maW5hbF9yZXBs eSgKKyAgICAgICAgICAgICAgICAgb3AtPnNlcnZlcl9oYW5kbGUsCitAQCAtMzQzNCwxMSArMzQz NCwxMSBAQCBnbG9idXNfZ3NjXzk1OV9jb21tYW5kX3JlbW92ZSgKKyAgICAgICAgIHsKKyAgICAg ICAgICAgICAqdG1wX3B0ciA9IHRvdXBwZXIoKnRtcF9wdHIpOworICAgICAgICAgfQorLSAgICAg ICAgCisrCisgICAgICAgICBpZihzdHJuY21wKCJTSVRFICIsIGNtZF9uYW1lLCA1KSA9PSAwICYm IHN0cmxlbihjbWRfbmFtZSkgPiA1KQorICAgICAgICAgeworICAgICAgICAgICAgIGNoYXIgKiAg ICAgICAgICAgICAgICAgICAgICBzYXZlX3B0cjsKKy0gICAgICAgICAgICAKKysKKyAgICAgICAg ICAgICB0bXBfcHRyID0gKGNoYXIgKikmY21kX25hbWVbNV07CisgICAgICAgICAgICAgd2hpbGUo KnRtcF9wdHIgPT0gJyAnKSB0bXBfcHRyKys7CisgICAgICAgICAgICAgc2F2ZV9wdHIgPSB0bXBf cHRyOworQEAgLTM0NDcsNyArMzQ0Nyw3IEBAIGdsb2J1c19nc2NfOTU5X2NvbW1hbmRfcmVtb3Zl KAorICAgICAgICAgICAgICAgICAqdG1wX3B0ciA9IHRvdXBwZXIoKnRtcF9wdHIpOworICAgICAg ICAgICAgIH0KKyAgICAgICAgICAgICB0bXBfcHRyID0gc2F2ZV9wdHI7CistICAgICAgICAgICAg CisrCisgICAgICAgICAgICAgcmVzdHJpY3RfYXJncyA9IHN0cmNocih0bXBfcHRyLCAnICcpOwor ICAgICAgICAgICAgIGlmKHJlc3RyaWN0X2FyZ3MpCisgICAgICAgICAgICAgeworQEAgLTM0OTgs MTEgKzM0OTgsMTEgQEAgZ2xvYnVzX2dzY185NTlfY29tbWFuZF9yZW1vdmUoCisgICAgICAgICB9 CisgCisgICAgICAgICBpZihyZXN0cmljdF9hcmdzICYmICpyZXN0cmljdF9hcmdzKQorLSAgICAg ICAgeyAgICAgICAgICAgIAorKyAgICAgICAgeworICAgICAgICAgICAgIHdoaWxlKCFnbG9idXNf bGlzdF9lbXB0eShsaXN0KSkKKyAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgIGNtZF9l bnQgPSAoZ2xvYnVzX2xfZ3NjX2NtZF9lbnRfdCAqKSBnbG9idXNfbGlzdF9maXJzdChsaXN0KTsK Ky0gICAgICAgICAgICAgICAgCisrCisgICAgICAgICAgICAgICAgIGdsb2J1c19saXN0X2luc2Vy dCgKKyAgICAgICAgICAgICAgICAgICAgICZjbWRfZW50LT5yZXN0cmljdF9saXN0LAorICAgICAg ICAgICAgICAgICAgICAgZ2xvYnVzX2NvbW1vbl9jcmVhdGVfc3RyaW5nKCIlcyAlc1xyXG4iLHNw YWNlciwgcmVzdHJpY3RfYXJncykpOworQEAgLTM1MTYsNyArMzUxNiw3IEBAIGdsb2J1c19nc2Nf OTU5X2NvbW1hbmRfcmVtb3ZlKAorICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgY21k X2VudCA9IChnbG9idXNfbF9nc2NfY21kX2VudF90ICopCisgICAgICAgICAgICAgICAgICAgICBn bG9idXNfbGlzdF9yZW1vdmUoJmxpc3QsIGxpc3QpOworLSAgICAKKysKKyAgICAgICAgICAgICAg ICAgaWYoY21kX2VudC0+aGVscCkKKyAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAg ICAgICAgZ2xvYnVzX2ZyZWUoY21kX2VudC0+aGVscCk7CitAQCAtMzUzMyw3ICszNTMzLDcgQEAg Z2xvYnVzX2dzY185NTlfY29tbWFuZF9yZW1vdmUoCisgICAgICAgICBnbG9idXNfZnJlZShjbWRf bmFtZSk7CisgICAgIH0KKyAgICAgZ2xvYnVzX211dGV4X3VubG9jaygmc2VydmVyX2hhbmRsZS0+ bXV0ZXgpOworLSAgICAKKysKKyAgICAgcmV0dXJuIEdMT0JVU19TVUNDRVNTOworIAorIGVycm9y X25vdGV4aXN0OgorQEAgLTM2MTAsMTIgKzM2MTAsMTIgQEAgZ2xvYnVzX2lfZ3NjX2dldF9oZWxw KAorICAgICAgICAgICAgICAgICBfRlNNU0woIjIxNC1IZWxwIGZvciAlczpcclxuIiksIGNvbW1h bmRfbmFtZSk7CisgICAgICAgICAgICAgd2hpbGUoIWdsb2J1c19saXN0X2VtcHR5KHNpdGVfbGlz dCkpCisgICAgICAgICAgICAgeworLSAgICAgICAgICAgICAgICBsaXN0ID0gKGdsb2J1c19saXN0 X3QgKikgCisrICAgICAgICAgICAgICAgIGxpc3QgPSAoZ2xvYnVzX2xpc3RfdCAqKQorICAgICAg ICAgICAgICAgICAgICAgZ2xvYnVzX2xpc3RfcmVtb3ZlKCZzaXRlX2xpc3QsIHNpdGVfbGlzdCk7 CisgCisgICAgICAgICAgICAgICAgIHdoaWxlKCFnbG9idXNfbGlzdF9lbXB0eShsaXN0KSkKKyAg ICAgICAgICAgICAgICAgeworLSAgICAgICAgICAgICAgICAgICAgY21kX2VudCA9IChnbG9idXNf bF9nc2NfY21kX2VudF90ICopIAorKyAgICAgICAgICAgICAgICAgICAgY21kX2VudCA9IChnbG9i dXNfbF9nc2NfY21kX2VudF90ICopCisgICAgICAgICAgICAgICAgICAgICAgICAgZ2xvYnVzX2xp c3RfZmlyc3QobGlzdCk7CisgICAgICAgICAgICAgICAgICAgICBpZihjbWRfZW50LT5oZWxwICE9 IE5VTEwpCisgICAgICAgICAgICAgICAgICAgICB7CitAQCAtMzY2NywxMCArMzY2NywxMCBAQCBn bG9idXNfaV9nc2NfZ2V0X2hlbHAoCisgfQorIAorIC8qICBwcmVsaW5lIG9ubHkgYWZmZWN0cyBt dWx0aWxpbmUgc3RyaW5ncy4KKy0gICAgYSBudWxsIHByZWxpbmUgd2lsbCBwcmVwZW5kIGEgImNv ZGUtIiB0byB0aGUgZnJvbnQgb2YgZWFjaCBsaW5lIGJ5IGRlZmF1bHQsIAorKyAgICBhIG51bGwg cHJlbGluZSB3aWxsIHByZXBlbmQgYSAiY29kZS0iIHRvIHRoZSBmcm9udCBvZiBlYWNoIGxpbmUg YnkgZGVmYXVsdCwKKyAgICAgb3RoZXJ3aXNlIHRoZSBwcmVsaW5lIGlzIHByZXBlbmRlZC4KKyAg ICAgdXNlZCB0byBmb2xsb3cgc3BlYyBmb3IgbWxzdCB3aGVyZSB0aGUgbGluZXMgTVVTVCBiZSBw cmVwZW5kZWQgd2l0aCBleGFjdGx5CistICAgIG9uZSBzcGFjZSwgYnV0IGdlbmVyYWwgbXVsdGls aW5lIHJlc3BvbnNlcyBhcmUgYWxsb3dlZCB0byBoYXZlIGFueSAKKysgICAgb25lIHNwYWNlLCBi dXQgZ2VuZXJhbCBtdWx0aWxpbmUgcmVzcG9uc2VzIGFyZSBhbGxvd2VkIHRvIGhhdmUgYW55Cisg ICAgIChvciBub25lIGF0IGFsbCwgaS5lLiAiIikgcGFkZGluZyB0ZXh0ICovCisgY2hhciAqCisg Z2xvYnVzX2dzY19zdHJpbmdfdG9fOTU5KAorQEAgLTM3MjcsOCArMzcyNyw4IEBAIGdsb2J1c19n c2Nfc3RyaW5nX3RvXzk1OSgKKyAKKyAgICAgICAgICAgICB0bXBfcHRyID0gbXNnOworICAgICAg ICAgICAgIG1zZyA9IGdsb2J1c19jb21tb25fY3JlYXRlX3N0cmluZygKKy0gICAgICAgICAgICAg ICAgIiVzJXMlc1xyXG4iLCAKKy0gICAgICAgICAgICAgICAgdG1wX3B0ciwgCisrICAgICAgICAg ICAgICAgICIlcyVzJXNcclxuIiwKKysgICAgICAgICAgICAgICAgdG1wX3B0ciwKKyAgICAgICAg ICAgICAgICAgKGN0ciA+IDApID8gcHJlcGFkIDogIiIsCisgICAgICAgICAgICAgICAgIHN0YXJ0 X3B0cik7CisgICAgICAgICAgICAgZ2xvYnVzX2ZyZWUodG1wX3B0cik7CitAQCAtMzc5MiwxMCAr Mzc5MiwxMCBAQCBnbG9idXNfbF9nc2NfbWxzeF91cmxlbmNvZGUoCisgICAgICAgICBpZihORUVE U19FTkNPRElORygqaW5fcHRyKSkKKyAgICAgICAgIHsKKyAgICAgICAgICAgICBlbmNfY291bnQr KzsKKy0gICAgICAgIH0gCisrICAgICAgICB9CisgICAgICAgICBpbl9wdHIrKzsKKyAgICAgfQor LSAgICAKKysKKyAgICAgaWYoZW5jX2NvdW50KQorICAgICB7CisgICAgICAgICBlbmNfY291bnQg PSAwOworQEAgLTM4MDgsNyArMzgwOCw3IEBAIGdsb2J1c19sX2dzY19tbHN4X3VybGVuY29kZSgK KyAgICAgICAgICAgICAgICAgKm91dF9wdHIrKyA9IGhleF9jaGFyc1soKmluX3B0ciA+PiA0KSAm IDB4Rl07CisgICAgICAgICAgICAgICAgICpvdXRfcHRyKysgPSBoZXhfY2hhcnNbKmluX3B0ciAm IDB4Rl07CisgICAgICAgICAgICAgICAgIGVuY19jb3VudCsrOworLSAgICAgICAgICAgIH0gCisr ICAgICAgICAgICAgfQorICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICB7CisgICAgICAg ICAgICAgICAgICpvdXRfcHRyKysgPSAqaW5fcHRyOworQEAgLTM4MjIsNyArMzgyMiw3IEBAIGds b2J1c19sX2dzY19tbHN4X3VybGVuY29kZSgKKyAgICAgeworICAgICAgICAgKm91dF9zdHJpbmcg PSAoY2hhciAqKSBpbl9zdHJpbmc7CisgICAgIH0KKy0gICAgCisrCisgICAgIHJldHVybiBlbmNf Y291bnQ7CisgICAgIEdsb2J1c0dyaWRGVFBTZXJ2ZXJEZWJ1Z0ludGVybmFsRXhpdCgpOworIH0K K0BAIC0zODM2LDE1ICszODM2LDE1IEBAIGdsb2J1c19saWJjX2NhY2hlZF9nZXRwd3VpZCgKKyAg ICAgc3RydWN0IHBhc3N3ZCAqICAgICAgICAgICAgICAgICAgICAgcmVzdWx0X3B3ID0gTlVMTDsK KyAgICAgZ2xvYnVzX2xfbGliY19jYWNoZWRfcHdlbnRfdCAqICAgICAgcHdlbnQ7CisgICAgIGlu dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJjOworLSAgICAKKysKKyAgICAgLyog WFhYIFRPRE8gbWFrZSBwcm9wZXIgZnVuY3Rpb24gaW4gZ2xvYnVzX2xpYmMgKi8KKyAgICAgcHdl bnQgPSAoZ2xvYnVzX2xfbGliY19jYWNoZWRfcHdlbnRfdCAqKSBnbG9idXNfaGFzaHRhYmxlX2xv b2t1cCgKKyAgICAgICAgICZnbG9idXNfbF9nc2NfcHdlbnRfY2FjaGUsICh2b2lkICopIChpbnRw dHJfdCkgdWlkKTsKKyAKKyAgICAgaWYocHdlbnQgPT0gTlVMTCkKKyAgICAgeworLSAgICAgICAg cHdlbnQgPSAoZ2xvYnVzX2xfbGliY19jYWNoZWRfcHdlbnRfdCAqKSAKKy0gICAgICAgICAgICBn bG9idXNfY2FsbG9jKDEsIHNpemVvZihnbG9idXNfbF9saWJjX2NhY2hlZF9wd2VudF90KSk7CQkg ICAgICAgIHJjID0gZ2xvYnVzX2xpYmNfZ2V0cHd1aWRfcigKKysgICAgICAgIHB3ZW50ID0gKGds b2J1c19sX2xpYmNfY2FjaGVkX3B3ZW50X3QgKikKKysgICAgICAgICAgICBnbG9idXNfY2FsbG9j KDEsIHNpemVvZihnbG9idXNfbF9saWJjX2NhY2hlZF9wd2VudF90KSk7ICAgICAgICAgICAgICAg ICAgICAgcmMgPSBnbG9idXNfbGliY19nZXRwd3VpZF9yKAorICAgICAgICAgICAgIHVpZCwgJnB3 ZW50LT5wdywgcHdlbnQtPmJ1ZmZlciwgR1NVX01BWF9QV19MRU5HVEgsICZyZXN1bHRfcHcpOwor ICAgICAgICAgaWYocmMgIT0gMCB8fCByZXN1bHRfcHcgPT0gTlVMTCkKKyAgICAgICAgIHsKK0BA IC0zODYxLDEyICszODYxLDEyIEBAIGdsb2J1c19saWJjX2NhY2hlZF9nZXRwd3VpZCgKKyAgICAg fQorIAorICAgICByZXR1cm4gJnB3ZW50LT5wdzsKKy0gICAgCisrCisgZXJyb3JfcHdlbnQ6Cisg ICAgIGdsb2J1c19mcmVlKHB3ZW50KTsKKyAjZW5kaWYKKyAgICAgcmV0dXJuIE5VTEw7CistfSAg IAorK30KKyAKKyBzdGF0aWMKKyBzdHJ1Y3QgZ3JvdXAgKgorQEAgLTM4OTYsOSArMzg5Niw5IEBA IGdsb2J1c19saWJjX2NhY2hlZF9nZXRncmdpZCgKKyAgICAgICAgIGdyZW50LT5ncl9naWQgPSBn ci0+Z3JfZ2lkOworICAgICAgICAgLyogd2UgZG9uJ3QgdXNlIG90aGVyIG1lbWJlcnMgKi8KKyAg ICAgICAgIGdsb2J1c19saWJjX3VubG9jaygpOworLSAgICAgICAgCisrCisgICAgICAgICBncmVu dC0+Z3JfbmFtZSA9IGdsb2J1c19saWJjX3N0cmR1cChuYW1lKTsKKy0gICAgICAgIAorKworICAg ICAgICAgZ2xvYnVzX2hhc2h0YWJsZV9pbnNlcnQoCisgICAgICAgICAgICAgJmdsb2J1c19sX2dz Y19ncmVudF9jYWNoZSwKKyAgICAgICAgICAgICAodm9pZCAqKSAoaW50cHRyX3QpIGdyZW50LT5n cl9naWQsCitAQCAtMzkwNiwxMiArMzkwNiwxMiBAQCBnbG9idXNfbGliY19jYWNoZWRfZ2V0Z3Jn aWQoCisgICAgIH0KKyAKKyAgICAgcmV0dXJuIGdyZW50OworLSAgICAKKysKKyBlcnJvcl9ncm91 cDoKKyAgICAgZ2xvYnVzX2xpYmNfdW5sb2NrKCk7CisgICAgIGdsb2J1c19mcmVlKGdyZW50KTsK KyAgICAgcmV0dXJuIE5VTEw7CistfSAgIAorK30KKyAKKyBjaGFyICoKKyBnbG9idXNfaV9nc2Nf bmxzdF9saW5lKAorQEAgLTM5MzksNyArMzkzOSw3IEBAIGdsb2J1c19pX2dzY19ubHN0X2xpbmUo CisgICAgICAgICBpZihidWZfbGVmdCA8ICh0bXBfaSArIDMpKQorICAgICAgICAgeworICAgICAg ICAgICAgIGludCAgICAgICAgICAgICAgICAgICAgICAgICBuZHg7CistICAgICAgICAgICAgCisr CisgICAgICAgICAgICAgbmR4ID0gdG1wX3B0ciAtIGJ1ZjsKKyAgICAgICAgICAgICBidWZfbGVm dCArPSBidWZfbGVuICsgdG1wX2kgKyAzOworICAgICAgICAgICAgIGJ1Zl9sZW4gKz0gYnVmX2xl biArIHRtcF9pICsgMzsKK0BAIC0zOTg3LDggKzM5ODcsOCBAQCBnbG9idXNfaV9nc2NfbWxzeF9s aW5lX3NpbmdsZSgKKyAKKyAgICAgR2xvYnVzR3JpZEZUUFNlcnZlckRlYnVnSW50ZXJuYWxFbnRl cigpOworIAorLSAgICBidWZfbGVuID0gTUFYUEFUSExFTiAqIDQgKyAyNTY7IC8qIHJvdWdoIGd1 ZXNzLi4uIGNvdWxkIGJlIGEgbWF4cGF0aGxlbiAKKy0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBmb3IgdGhlIHBhdGgsIGFuZCAzKm1heHBhdGhsZW4gZm9yIAorKyAgICBi dWZfbGVuID0gTUFYUEFUSExFTiAqIDQgKyAyNTY7IC8qIHJvdWdoIGd1ZXNzLi4uIGNvdWxkIGJl IGEgbWF4cGF0aGxlbgorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZv ciB0aGUgcGF0aCwgYW5kIDMqbWF4cGF0aGxlbiBmb3IKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB0aGUgdXJsZW5jb2RlZCBsaW5rIHRhcmdldCAqLworICAgICBvdXRf YnVmID0gZ2xvYnVzX21hbGxvYyhidWZfbGVuKTsKKyAKK0BAIC00MDA0LDcgKzQwMDQsNyBAQCBn bG9idXNfaV9nc2NfbWxzeF9saW5lX3NpbmdsZSgKKyAgICAgICAgICAgICBjYXNlIEdMT0JVU19H U0NfTUxTWF9GQUNUX1RZUEU6CisgICAgICAgICAgICAgICAgIGlmKFNfSVNSRUcoc3RhdF9pbmZv LT5tb2RlKSkKKyAgICAgICAgICAgICAgICAgeworLSAgICAgICAgICAgICAgICAgICAgc3ByaW50 Zih0bXBfcHRyLCAiVHlwZT1maWxlOyIpOyAKKysgICAgICAgICAgICAgICAgICAgIHNwcmludGYo dG1wX3B0ciwgIlR5cGU9ZmlsZTsiKTsKKyAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg ICAgICBlbHNlIGlmKFNfSVNESVIoc3RhdF9pbmZvLT5tb2RlKSkKKyAgICAgICAgICAgICAgICAg eworQEAgLTQwMjgsMjUgKzQwMjgsMjUgQEAgZ2xvYnVzX2lfZ3NjX21sc3hfbGluZV9zaW5nbGUo CisgICAgICAgICAgICAgICAgICAgICAgICAgc3ByaW50Zih0bXBfcHRyLCAiVHlwZT1kaXI7Iik7 CisgICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgIH0KKy0gICAgICAgICAg ICAgICAgZWxzZSBpZihTX0lTTE5LKHN0YXRfaW5mby0+bW9kZSkpIAorKyAgICAgICAgICAgICAg ICBlbHNlIGlmKFNfSVNMTksoc3RhdF9pbmZvLT5tb2RlKSkKKyAgICAgICAgICAgICAgICAgewor ICAgICAgICAgICAgICAgICAgICAgc3ByaW50Zih0bXBfcHRyLCAiVHlwZT1zbGluazsiKTsKKyAg ICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICBlbHNlIGlmKFNfSVNDSFIoc3RhdF9p bmZvLT5tb2RlKSkKKyAgICAgICAgICAgICAgICAgeworLSAgICAgICAgICAgICAgICAgICAgc3By aW50Zih0bXBfcHRyLCAiVHlwZT1PUy51bml4PWNocjsiKTsgCisrICAgICAgICAgICAgICAgICAg ICBzcHJpbnRmKHRtcF9wdHIsICJUeXBlPU9TLnVuaXg9Y2hyOyIpOworICAgICAgICAgICAgICAg ICB9CisgICAgICAgICAgICAgICAgIGVsc2UgaWYoU19JU0JMSyhzdGF0X2luZm8tPm1vZGUpKQor ICAgICAgICAgICAgICAgICB7CistICAgICAgICAgICAgICAgICAgICBzcHJpbnRmKHRtcF9wdHIs ICJUeXBlPU9TLnVuaXg9YmxrOyIpOyAKKysgICAgICAgICAgICAgICAgICAgIHNwcmludGYodG1w X3B0ciwgIlR5cGU9T1MudW5peD1ibGs7Iik7CisgICAgICAgICAgICAgICAgIH0KKyAgICAgICAg ICAgICAgICAgZWxzZSBpZihTX0lTRklGTyhzdGF0X2luZm8tPm1vZGUpKQorICAgICAgICAgICAg ICAgICB7CistICAgICAgICAgICAgICAgICAgICBzcHJpbnRmKHRtcF9wdHIsICJUeXBlPU9TLnVu aXg9cGlwZTsiKTsgCisrICAgICAgICAgICAgICAgICAgICBzcHJpbnRmKHRtcF9wdHIsICJUeXBl PU9TLnVuaXg9cGlwZTsiKTsKKyAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICBl bHNlCisgICAgICAgICAgICAgICAgIHsKKy0gICAgICAgICAgICAgICAgICAgIHNwcmludGYodG1w X3B0ciwgIlR5cGU9T1MudW5peD1vdGhlcjsiKTsgCisrICAgICAgICAgICAgICAgICAgICBzcHJp bnRmKHRtcF9wdHIsICJUeXBlPU9TLnVuaXg9b3RoZXI7Iik7CisgICAgICAgICAgICAgICAgIH0K KyAgICAgICAgICAgICAgICAgYnJlYWs7CisgCitAQCAtNDA2Miw3ICs0MDYyLDcgQEAgZ2xvYnVz X2lfZ3NjX21sc3hfbGluZV9zaW5nbGUoCisgICAgICAgICAgICAgICAgIGJyZWFrOworIAorICAg ICAgICAgICAgIGNhc2UgR0xPQlVTX0dTQ19NTFNYX0ZBQ1RfU0laRToKKy0gICAgICAgICAgICAg ICAgc3ByaW50Zih0bXBfcHRyLCAKKysgICAgICAgICAgICAgICAgc3ByaW50Zih0bXBfcHRyLAor ICAgICAgICAgICAgICAgICAgICAgIlNpemU9JSJHTE9CVVNfT0ZGX1RfRk9STUFUIjsiLCBzdGF0 X2luZm8tPnNpemUpOworICAgICAgICAgICAgICAgICBicmVhazsKKyAKK0BAIC00MTE4LDcgKzQx MTgsNyBAQCBnbG9idXNfaV9nc2NfbWxzeF9saW5lX3NpbmdsZSgKKyAgICAgICAgICAgICAgICAg ICAgICoodG1wX3B0cisrKSA9ICd3JzsKKyAgICAgICAgICAgICAgICAgfQorIAorLSAgICAgICAg ICAgICAgICBpZihpc193cml0YWJsZSAmJiBpc19leGVjdXRhYmxlICYmIAorKyAgICAgICAgICAg ICAgICBpZihpc193cml0YWJsZSAmJiBpc19leGVjdXRhYmxlICYmCisgICAgICAgICAgICAgICAg ICAgICBTX0lTRElSKHN0YXRfaW5mby0+bW9kZSkpCisgICAgICAgICAgICAgICAgIHsKKyAgICAg ICAgICAgICAgICAgICAgICoodG1wX3B0cisrKSA9ICdjJzsKK0BAIC00MTMwLDcgKzQxMzAsNyBA QCBnbG9idXNfaV9nc2NfbWxzeF9saW5lX3NpbmdsZSgKKyAgICAgICAgICAgICAgICAgeworICAg ICAgICAgICAgICAgICAgICAgKih0bXBfcHRyKyspID0gJ2UnOworICAgICAgICAgICAgICAgICB9 CistICAgICAgICAgICAgICAgIGlmKGlzX3JlYWRhYmxlICYmIGlzX2V4ZWN1dGFibGUgJiYgCisr ICAgICAgICAgICAgICAgIGlmKGlzX3JlYWRhYmxlICYmIGlzX2V4ZWN1dGFibGUgJiYKKyAgICAg ICAgICAgICAgICAgICAgIFNfSVNESVIoc3RhdF9pbmZvLT5tb2RlKSkKKyAgICAgICAgICAgICAg ICAgeworICAgICAgICAgICAgICAgICAgICAgKih0bXBfcHRyKyspID0gJ2wnOworQEAgLTQxNDUs MjYgKzQxNDUsMjYgQEAgZ2xvYnVzX2lfZ3NjX21sc3hfbGluZV9zaW5nbGUoCisgICAgICAgICAg ICAgICAgIGJyZWFrOworIAorICAgICAgICAgICAgIGNhc2UgR0xPQlVTX0dTQ19NTFNYX0ZBQ1Rf VU5JWE1PREU6CistICAgICAgICAgICAgICAgIHNwcmludGYodG1wX3B0ciwgIlVOSVgubW9kZT0l MDRvOyIsIAorKyAgICAgICAgICAgICAgICBzcHJpbnRmKHRtcF9wdHIsICJVTklYLm1vZGU9JTA0 bzsiLAorICAgICAgICAgICAgICAgICAgICAgKHVuc2lnbmVkKSAoc3RhdF9pbmZvLT5tb2RlICYg MDc3NzcpKTsKKyAgICAgICAgICAgICAgICAgYnJlYWs7CisgCisgICAgICAgICAgICAgY2FzZSBH TE9CVVNfR1NYX01MU1hfRkFDVF9VTklYVUlEOgorICAgICAgICAgICAgICAgICBzcHJpbnRmKHRt cF9wdHIsICJVTklYLnVpZD0lZDsiLCBzdGF0X2luZm8tPnVpZCk7CisgICAgICAgICAgICAgICAg IGJyZWFrOworLSAgICAgICAgICAgICAgICAKKysKKyAgICAgICAgICAgICBjYXNlIEdMT0JVU19H U1hfTUxTWF9GQUNUX1VOSVhHSUQ6CisgICAgICAgICAgICAgICAgIHNwcmludGYodG1wX3B0ciwg IlVOSVguZ2lkPSVkOyIsIHN0YXRfaW5mby0+Z2lkKTsKKyAgICAgICAgICAgICAgICAgYnJlYWs7 CistICAgICAgICAgICAgICAgIAorKworICAgICAgICAgICAgIGNhc2UgR0xPQlVTX0dTQ19NTFNY X0ZBQ1RfVU5JWE9XTkVSOgorICAgICAgICAgICAgICAgICBwdyA9IGdsb2J1c19saWJjX2NhY2hl ZF9nZXRwd3VpZChzdGF0X2luZm8tPnVpZCk7CisgICAgICAgICAgICAgICAgIGVuY19zdHIgPSBO VUxMOworICAgICAgICAgICAgICAgICBpZihwdykKKy0gICAgICAgICAgICAgICAgeyAgICAgICAg ICAgICAgICAgICAgCisrICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgIGNu dCA9IGdsb2J1c19sX2dzY19tbHN4X3VybGVuY29kZShwdy0+cHdfbmFtZSwgJmVuY19zdHIpOwor ICAgICAgICAgICAgICAgICB9CistICAgICAgICAgICAgICAgIAorKworICAgICAgICAgICAgICAg ICBpZihlbmNfc3RyKQorICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICBz cHJpbnRmKHRtcF9wdHIsICJVTklYLm93bmVyPSVzOyIsIGVuY19zdHIpOworQEAgLTQxNzksMTAg KzQxNzksMTAgQEAgZ2xvYnVzX2lfZ3NjX21sc3hfbGluZV9zaW5nbGUoCisgICAgICAgICAgICAg ICAgIGdyID0gZ2xvYnVzX2xpYmNfY2FjaGVkX2dldGdyZ2lkKHN0YXRfaW5mby0+Z2lkKTsKKyAg ICAgICAgICAgICAgICAgZW5jX3N0ciA9IE5VTEw7CisgICAgICAgICAgICAgICAgIGlmKGdyKQor LSAgICAgICAgICAgICAgICB7ICAgICAgICAgICAgICAgICAgICAKKysgICAgICAgICAgICAgICAg eworICAgICAgICAgICAgICAgICAgICAgY250ID0gZ2xvYnVzX2xfZ3NjX21sc3hfdXJsZW5jb2Rl KGdyLT5ncl9uYW1lLCAmZW5jX3N0cik7CisgICAgICAgICAgICAgICAgIH0KKy0gICAgICAgICAg ICAgICAgCisrCisgICAgICAgICAgICAgICAgIGlmKGVuY19zdHIpCisgICAgICAgICAgICAgICAg IHsKKyAgICAgICAgICAgICAgICAgICAgIHNwcmludGYodG1wX3B0ciwgIlVOSVguZ3JvdXA9JXM7 IiwgZW5jX3N0cik7CitAQCAtNDE5NCwxMyArNDE5NCwxMyBAQCBnbG9idXNfaV9nc2NfbWxzeF9s aW5lX3NpbmdsZSgKKyAgICAgICAgICAgICAgICAgYnJlYWs7CisgCisgICAgICAgICAgICAgY2Fz ZSBHTE9CVVNfR1NDX01MU1hfRkFDVF9VTklRVUU6CistICAgICAgICAgICAgICAgIHNwcmludGYo dG1wX3B0ciwgIlVuaXF1ZT0lbHgtJWx4OyIsIAorKyAgICAgICAgICAgICAgICBzcHJpbnRmKHRt cF9wdHIsICJVbmlxdWU9JWx4LSVseDsiLAorICAgICAgICAgICAgICAgICAgICAgKHVuc2lnbmVk IGxvbmcpIHN0YXRfaW5mby0+ZGV2LAorICAgICAgICAgICAgICAgICAgICAgKHVuc2lnbmVkIGxv bmcpIHN0YXRfaW5mby0+aW5vKTsKKyAgICAgICAgICAgICAgICAgYnJlYWs7CisgCisgICAgICAg ICAgICAgY2FzZSBHTE9CVVNfR1NDX01MU1hfRkFDVF9VTklYU0xJTks6CistICAgICAgICAgICAg ICAgIGlmKHN0YXRfaW5mby0+c3ltbGlua190YXJnZXQgIT0gTlVMTCAmJiAKKysgICAgICAgICAg ICAgICAgaWYoc3RhdF9pbmZvLT5zeW1saW5rX3RhcmdldCAhPSBOVUxMICYmCisgICAgICAgICAg ICAgICAgICAgICAqc3RhdF9pbmZvLT5zeW1saW5rX3RhcmdldCAhPSAnXDAnKQorICAgICAgICAg ICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICBlbmNvZGVkX3N5bWxpbmtfdGFyZ2V0ID0g TlVMTDsKK0BAIC00MjA4LDcgKzQyMDgsNyBAQCBnbG9idXNfaV9nc2NfbWxzeF9saW5lX3Npbmds ZSgKKyAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0X2luZm8tPnN5bWxpbmtfdGFyZ2V0LCAm ZW5jb2RlZF9zeW1saW5rX3RhcmdldCk7CisgICAgICAgICAgICAgICAgICAgICBpZihlbmNvZGVk X3N5bWxpbmtfdGFyZ2V0ICE9IE5VTEwpCisgICAgICAgICAgICAgICAgICAgICB7CistICAgICAg ICAgICAgICAgICAgICAgICAgc3ByaW50Zih0bXBfcHRyLCAKKysgICAgICAgICAgICAgICAgICAg ICAgICBzcHJpbnRmKHRtcF9wdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJVTklY LnNsaW5rPSVzOyIsIGVuY29kZWRfc3ltbGlua190YXJnZXQpOworICAgICAgICAgICAgICAgICAg ICAgICAgIGlmKGNudCkKKyAgICAgICAgICAgICAgICAgICAgICAgICB7CitAQCAtNDIyMiw3ICs0 MjIyLDcgQEAgZ2xvYnVzX2lfZ3NjX21sc3hfbGluZV9zaW5nbGUoCisgICAgICAgICAgICAgICAg IGlmKGlzX2NkaXIgJiYgYWJzb2x1dGVfcGF0aCkKKyAgICAgICAgICAgICAgICAgeworICAgICAg ICAgICAgICAgICAgICAgY29uc3QgY2hhciAqICAgICAgICBzbGFzaCA9ICIvIjsKKy0gICAgICAg ICAgICAgICAgICAgIAorKworICAgICAgICAgICAgICAgICAgICAgZW5jX3N0ciA9IE5VTEw7Cisg ICAgICAgICAgICAgICAgICAgICBpZihhYnNvbHV0ZV9wYXRoW3N0cmxlbihhYnNvbHV0ZV9wYXRo KSAtIDFdID09ICcvJykKKyAgICAgICAgICAgICAgICAgICAgIHsKK0BAIC00MjUwLDggKzQyNTAs OCBAQCBnbG9idXNfaV9nc2NfbWxzeF9saW5lX3NpbmdsZSgKKyAgICAgICAgIH0KKyAgICAgICAg IHRtcF9wdHIgKz0gc3RybGVuKHRtcF9wdHIpOworICAgICB9CistICAgIAorLSAgICBzd2l0Y2gg KHN0YXRfaW5mby0+ZXJyb3IpIAorKworKyAgICBzd2l0Y2ggKHN0YXRfaW5mby0+ZXJyb3IpCisg ICAgIHsKKyAgICAgICAgIGNhc2UgR0xPQlVTX0dSSURGVFBfU0VSVkVSX0NPTlRST0xfU1RBVF9T VUNDRVNTOgorICAgICAgICAgICAgIGJyZWFrOworQEAgLTQyNjQsMTkgKzQyNjQsMTkgQEAgZ2xv YnVzX2lfZ3NjX21sc3hfbGluZV9zaW5nbGUoCisgICAgICAgICAgICAgdG1wX3B0ciArPSBzdHJs ZW4odG1wX3B0cik7CisgICAgICAgICAgICAgYnJlYWs7CisgICAgIH0KKy0gICAgCistICAgIGlm KGJhc2VfcGF0aCkgCisrCisrICAgIGlmKGJhc2VfcGF0aCkKKyAgICAgeworICAgICAgICAgaWYo c3RhdF9pbmZvLT5uYW1lWzBdID09ICdcMCcpCisgICAgICAgICB7CisgICAgICAgICAgICAgLyoq IERvbid0IHByaW50IHRyYWlsaW5nIHNsYXNoIGlmIG5vIG5hbWUgKi8KKyAgICAgICAgICAgICBz cHJpbnRmKHRtcF9wdHIsICIgJXMiLCBiYXNlX3BhdGgpOworLSAgICAgICAgfSAKKy0gICAgICAg IGVsc2UgCisrICAgICAgICB9CisrICAgICAgICBlbHNlCisgICAgICAgICB7CisgICAgICAgICAg ICAgc3ByaW50Zih0bXBfcHRyLCAiICVzLyVzIiwgYmFzZV9wYXRoLCBzdGF0X2luZm8tPm5hbWUp OworICAgICAgICAgfQorLSAgICB9IAorKyAgICB9CisgICAgIGVsc2UKKyAgICAgeworICAgICBz cHJpbnRmKHRtcF9wdHIsICIgJXMiLCBzdGF0X2luZm8tPm5hbWUpOworQEAgLTQyOTMsNyArNDI5 Myw3IEBAIGdsb2J1c19pX2dzY19tbHN4X2xpbmUoCisgICAgIGNvbnN0IGNoYXIgKiAgICAgICAg ICAgICAgICAgICAgICAgIG1sc3hfZmFjdF9zdHIsCisgICAgIHVpZF90ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHVpZCwKKyAgICAgY29uc3QgY2hhciAqICAgICAgICAgICAgICAgICAg ICAgICAgYmFzZV9wYXRoLAorLSAgICBjb25zdCBjaGFyICogICAgICAgICAgICAgICAgICAgICAg ICBhYnNvbHV0ZV9wYXRoLCAgICAKKysgICAgY29uc3QgY2hhciAqICAgICAgICAgICAgICAgICAg ICAgICAgYWJzb2x1dGVfcGF0aCwKKyAgICAgZ2xvYnVzX2Jvb2xfdCAgICAgICAgICAgICAgICAg ICAgICAgaW5kZW50KQorIHsKKyAgICAgY2hhciAqICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgbGluZTsKK0BAIC00MzI3LDcgKzQzMjcsNyBAQCBnbG9idXNfaV9nc2NfbWxzeF9saW5lKAor ICAgICAgICAgICAgIGlmKGJ1Zl9sZWZ0IDwgKHRtcF9pICsgNCkpCisgICAgICAgICAgICAgewor ICAgICAgICAgICAgICAgICBpbnQgICAgICAgICAgICAgICAgICAgICAgICAgbmR4OworLSAgICAg ICAgICAgICAgICAKKysKKyAgICAgICAgICAgICAgICAgbmR4ID0gdG1wX3B0ciAtIGJ1ZjsKKyAg ICAgICAgICAgICAgICAgYnVmX2xlZnQgKz0gYnVmX2xlbiArIHRtcF9pICsgNDsKKyAgICAgICAg ICAgICAgICAgYnVmX2xlbiArPSBidWZfbGVuICsgdG1wX2kgKyA0OworQEAgLTQzNTMsNyArNDM1 Myw3IEBAIGdsb2J1c19pX2dzY19tbHN4X2xpbmUoCisgICAgIEdsb2J1c0dyaWRGVFBTZXJ2ZXJE ZWJ1Z0ludGVybmFsRXhpdCgpOworICAgICByZXR1cm4gYnVmOworIH0KKy0gICAgCisrCisgLyoK KyAgKiAgdHVybiBhIHN0YXQgc3RydWN0IGludG8gYSBzdHJpbmcKKyAgKi8KK0BAIC00Mzk4LDcg KzQzOTgsNyBAQCBnbG9idXNfaV9nc2NfbGlzdF9zaW5nbGVfbGluZSgKKyAgICAgeworICAgICAg ICAgc25wcmludGYoZ3JwbmFtZSwgc2l6ZW9mKGdycG5hbWUpLCAiJXMiLCBnci0+Z3JfbmFtZSk7 CisgICAgIH0KKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgCisrCisgICAgIGlmKFNfSVNESVIoc3RhdF9pbmZvLT5t b2RlKSkKKyAgICAgeworICAgICAgICAgcGVybXNbMF0gPSAnZCc7CitAQCAtNDQxOSw3ICs0NDE5 LDcgQEAgZ2xvYnVzX2lfZ3NjX2xpc3Rfc2luZ2xlX2xpbmUoCisgICAgIHsKKyAgICAgICAgIHBl cm1zWzBdID0gJ2InOworICAgICB9CistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorKworICAgICBpZihT X0lSVVNSICYgc3RhdF9pbmZvLT5tb2RlKQorICAgICB7CisgICAgICAgICBwZXJtc1sxXSA9ICdy JzsKK0BAIC00NTA1LDExICs0NTA1LDExIEBAIGdsb2J1c19pX2dzY19saXN0X2xpbmUoCisgICAg ICAgICB7CisgICAgICAgICAgICAgbm9fbWF0Y2ggPSBmbm1hdGNoKGdsb2JfbWF0Y2hfc3RyLCBz dGF0X2luZm9bY3RyXS5uYW1lLCAwKTsKKyAgICAgICAgIH0KKy0jZW5kaWYgICAgICAgIAorKyNl bmRpZgorICAgICAgICAgaWYobm9fbWF0Y2gpCisgICAgICAgICB7CisgICAgICAgICAgICAgY29u dGludWU7CistICAgICAgICB9ICAgICAgICAKKysgICAgICAgIH0KKyAgICAgICAgIGxpbmUgPSBn bG9idXNfaV9nc2NfbGlzdF9zaW5nbGVfbGluZSgmc3RhdF9pbmZvW2N0cl0pOworICAgICAgICAg aWYobGluZSAhPSBOVUxMKQorICAgICAgICAgeworQEAgLTQ1MTcsMTQgKzQ1MTcsMTQgQEAgZ2xv YnVzX2lfZ3NjX2xpc3RfbGluZSgKKyAgICAgICAgICAgICBpZihidWZfbGVmdCA8ICh0bXBfaSAr IDMpKQorICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgaW50ICAgICAgICAgICAgICAg ICAgICAgICAgIG5keDsKKy0gICAgICAgICAgICAgICAgCisrCisgICAgICAgICAgICAgICAgIG5k eCA9IHRtcF9wdHIgLSBidWY7CisgICAgICAgICAgICAgICAgIGJ1Zl9sZWZ0ICs9IGJ1Zl9sZW4g KyB0bXBfaSArIDM7CisgICAgICAgICAgICAgICAgIGJ1Zl9sZW4gKz0gYnVmX2xlbiArIHRtcF9p ICsgMzsKKyAgICAgICAgICAgICAgICAgYnVmID0gZ2xvYnVzX2xpYmNfcmVhbGxvYyhidWYsIGJ1 Zl9sZW4pOworICAgICAgICAgICAgICAgICB0bXBfcHRyID0gYnVmICsgbmR4OworICAgICAgICAg ICAgIH0KKy0gICAgCisrCisgICAgICAgICAgICAgbWVtY3B5KHRtcF9wdHIsIGxpbmUsIHRtcF9p KTsKKyAgICAgICAgICAgICB0bXBfcHRyW3RtcF9pKytdID0gJ1xyJzsKKyAgICAgICAgICAgICB0 bXBfcHRyW3RtcF9pKytdID0gJ1xuJzsKK0BAIC00NzQ3LDcgKzQ3NDcsNyBAQCBnbG9idXNfaV9n c2NfcG9ydCgKKyAgICAgICAgICAgICBzd2l0Y2gob3AtPnNlcnZlcl9oYW5kbGUtPmRhdGFfb2Jq ZWN0LT5zdGF0ZSkKKyAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgIGNhc2UgR0xPQlVT X0xfR1NDX0RBVEFfT0JKX1JFQURZOgorLSAgICAgICAgICAgICAgICAgICAgb3AtPnNlcnZlcl9o YW5kbGUtPmRhdGFfb2JqZWN0LT5zdGF0ZSA9IAorKyAgICAgICAgICAgICAgICAgICAgb3AtPnNl cnZlcl9oYW5kbGUtPmRhdGFfb2JqZWN0LT5zdGF0ZSA9CisgICAgICAgICAgICAgICAgICAgICAg ICAgR0xPQlVTX0xfR1NDX0RBVEFfT0JKX0RFU1RST1lJTkc7CisgICAgICAgICAgICAgICAgICAg ICBnbG9idXNfaV9ndWNfZGF0YV9vYmplY3RfZGVzdHJveSgKKyAgICAgICAgICAgICAgICAgICAg ICAgICBvcC0+c2VydmVyX2hhbmRsZSwgb3AtPnNlcnZlcl9oYW5kbGUtPmRhdGFfb2JqZWN0KTsK K0BAIC00ODI2LDEzICs0ODI2LDEzIEBAIGdsb2J1c19pX2dzY19wYXNzaXZlKAorICAgICAgICAg ICAgIHN3aXRjaChvcC0+c2VydmVyX2hhbmRsZS0+ZGF0YV9vYmplY3QtPnN0YXRlKQorICAgICAg ICAgICAgIHsKKyAgICAgICAgICAgICAgICAgY2FzZSBHTE9CVVNfTF9HU0NfREFUQV9PQkpfUkVB RFk6CistICAgICAgICAgICAgICAgICAgICBvcC0+c2VydmVyX2hhbmRsZS0+ZGF0YV9vYmplY3Qt PnN0YXRlID0gCisrICAgICAgICAgICAgICAgICAgICBvcC0+c2VydmVyX2hhbmRsZS0+ZGF0YV9v YmplY3QtPnN0YXRlID0KKyAgICAgICAgICAgICAgICAgICAgICAgICBHTE9CVVNfTF9HU0NfREFU QV9PQkpfREVTVFJPWUlORzsKKyAgICAgICAgICAgICAgICAgICAgIGdsb2J1c19pX2d1Y19kYXRh X29iamVjdF9kZXN0cm95KAorICAgICAgICAgICAgICAgICAgICAgICAgIG9wLT5zZXJ2ZXJfaGFu ZGxlLCBvcC0+c2VydmVyX2hhbmRsZS0+ZGF0YV9vYmplY3QpOworICAgICAgICAgICAgICAgICAg ICAgb3AtPnNlcnZlcl9oYW5kbGUtPmRhdGFfb2JqZWN0ID0gTlVMTDsKKyAgICAgICAgICAgICAg ICAgICAgIGJyZWFrOworLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisrCisgICAgICAgICAgICAg ICAgIGNhc2UgR0xPQlVTX0xfR1NDX0RBVEFfT0JKX0RFU1RST1lJTkc6CisgICAgICAgICAgICAg ICAgICAgICAvKiBkbyBudXR0aW4gKi8KKyAgICAgICAgICAgICAgICAgICAgIGJyZWFrOworQEAg LTQ4OTcsNyArNDg5Nyw3IEBAIGdsb2J1c19pX2dzY19saXN0KAorICAgICBnbG9idXNfbXV0ZXhf bG9jaygmb3AtPnNlcnZlcl9oYW5kbGUtPm11dGV4KTsKKyAgICAgeworICAgICAgICAgaWYob3At PnNlcnZlcl9oYW5kbGUtPmRhdGFfb2JqZWN0ID09IE5VTEwgfHwKKy0gICAgICAgICAgICAhKG9w LT5zZXJ2ZXJfaGFuZGxlLT5kYXRhX29iamVjdC0+ZGlyICYgCisrICAgICAgICAgICAgIShvcC0+ c2VydmVyX2hhbmRsZS0+ZGF0YV9vYmplY3QtPmRpciAmCisgICAgICAgICAgICAgICAgICAgICBH TE9CVVNfR1JJREZUUF9TRVJWRVJfQ09OVFJPTF9EQVRBX0RJUl9TRU5EKSkKKyAgICAgICAgIHsK KyAgICAgICAgICAgICBnbG9idXNfbXV0ZXhfdW5sb2NrKCZvcC0+c2VydmVyX2hhbmRsZS0+bXV0 ZXgpOworQEAgLTQ5MDgsNyArNDkwOCw3IEBAIGdsb2J1c19pX2dzY19saXN0KAorICAgICAgICAg eworICAgICAgICAgICAgIC8qIHRoZSBzdGF0ZSB3ZSB3YW50ICovCisgICAgICAgICAgICAgY2Fz ZSBHTE9CVVNfTF9HU0NfREFUQV9PQkpfUkVBRFk6CistICAgICAgICAgICAgICAgIG9wLT5zZXJ2 ZXJfaGFuZGxlLT5kYXRhX29iamVjdC0+c3RhdGUgPSAKKysgICAgICAgICAgICAgICAgb3AtPnNl cnZlcl9oYW5kbGUtPmRhdGFfb2JqZWN0LT5zdGF0ZSA9CisgICAgICAgICAgICAgICAgICAgICBH TE9CVVNfTF9HU0NfREFUQV9PQkpfSU5VU0U7CisgICAgICAgICAgICAgICAgIGJyZWFrOworIAor QEAgLTQ5NDksNyArNDk0OSw3IEBAIGdsb2J1c19pX2dzY19saXN0KAorIAorICAgICAgICAgY2Fz ZSBHTE9CVVNfTF9HU0NfT1BfVFlQRV9NTFNSOgorICAgICAgICAgICAgIGRlcHRoID0gLTE7Cist ICAgICAgICAgICAgCisrCisgICAgICAgICBjYXNlIEdMT0JVU19MX0dTQ19PUF9UWVBFX01MU0Q6 CisgICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgIGZhY3Rfc3RyID0gb3AtPnNlcnZlcl9o YW5kbGUtPm9wdHMubWxzeF9mYWN0X3N0cjsKK0BAIC00OTYzLDcgKzQ5NjMsNyBAQCBnbG9idXNf aV9nc2NfbGlzdCgKKyAgICAgaWYodXNlcl9jYiAhPSBOVUxMKQorICAgICB7CisgICAgICAgICB1 c2VyX2NiKAorLSAgICAgICAgICAgIG9wLCAKKysgICAgICAgICAgICBvcCwKKyAgICAgICAgICAg ICBvcC0+c2VydmVyX2hhbmRsZS0+ZGF0YV9vYmplY3QtPnVzZXJfaGFuZGxlLAorICAgICAgICAg ICAgIG9wLT5wYXRoLAorICAgICAgICAgICAgIGZhY3Rfc3RyLAorQEAgLTUwMTIsNyArNTAxMiw3 IEBAIGdsb2J1c19pX2dzY19zZW5kKAorICAgICBnbG9idXNfbXV0ZXhfbG9jaygmb3AtPnNlcnZl cl9oYW5kbGUtPm11dGV4KTsKKyAgICAgeworICAgICAgICAgaWYob3AtPnNlcnZlcl9oYW5kbGUt PmRhdGFfb2JqZWN0ID09IE5VTEwgfHwKKy0gICAgICAgICAgICAhKG9wLT5zZXJ2ZXJfaGFuZGxl LT5kYXRhX29iamVjdC0+ZGlyICYgCisrICAgICAgICAgICAgIShvcC0+c2VydmVyX2hhbmRsZS0+ ZGF0YV9vYmplY3QtPmRpciAmCisgICAgICAgICAgICAgICAgICAgICBHTE9CVVNfR1JJREZUUF9T RVJWRVJfQ09OVFJPTF9EQVRBX0RJUl9TRU5EKSkKKyAgICAgICAgIHsKKyAgICAgICAgICAgICBn bG9idXNfbXV0ZXhfdW5sb2NrKCZvcC0+c2VydmVyX2hhbmRsZS0+bXV0ZXgpOworQEAgLTUwMjIs NyArNTAyMiw3IEBAIGdsb2J1c19pX2dzY19zZW5kKAorICAgICAgICAgeworICAgICAgICAgICAg IC8qIHRoZSBzdGF0ZSB3ZSB3YW50ICovCisgICAgICAgICAgICAgY2FzZSBHTE9CVVNfTF9HU0Nf REFUQV9PQkpfUkVBRFk6CistICAgICAgICAgICAgICAgIG9wLT5zZXJ2ZXJfaGFuZGxlLT5kYXRh X29iamVjdC0+c3RhdGUgPSAKKysgICAgICAgICAgICAgICAgb3AtPnNlcnZlcl9oYW5kbGUtPmRh dGFfb2JqZWN0LT5zdGF0ZSA9CisgICAgICAgICAgICAgICAgICAgICBHTE9CVVNfTF9HU0NfREFU QV9PQkpfSU5VU0U7CisgICAgICAgICAgICAgICAgIGJyZWFrOworIAorQEAgLTUxMjIsNyArNTEy Miw3IEBAIGdsb2J1c19pX2dzY19yZWN2KAorICAgICBnbG9idXNfbXV0ZXhfbG9jaygmb3AtPnNl cnZlcl9oYW5kbGUtPm11dGV4KTsKKyAgICAgeworICAgICAgICAgaWYob3AtPnNlcnZlcl9oYW5k bGUtPmRhdGFfb2JqZWN0ID09IE5VTEwgfHwKKy0gICAgICAgICAgICAhKG9wLT5zZXJ2ZXJfaGFu ZGxlLT5kYXRhX29iamVjdC0+ZGlyICYgCisrICAgICAgICAgICAgIShvcC0+c2VydmVyX2hhbmRs ZS0+ZGF0YV9vYmplY3QtPmRpciAmCisgICAgICAgICAgICAgICAgICAgICBHTE9CVVNfR1JJREZU UF9TRVJWRVJfQ09OVFJPTF9EQVRBX0RJUl9SRUNWKSkKKyAgICAgICAgIHsKKyAgICAgICAgICAg ICBnbG9idXNfbXV0ZXhfdW5sb2NrKCZvcC0+c2VydmVyX2hhbmRsZS0+bXV0ZXgpOworQEAgLTUx MzIsNyArNTEzMiw3IEBAIGdsb2J1c19pX2dzY19yZWN2KAorICAgICAgICAgeworICAgICAgICAg ICAgIC8qIHRoZSBzdGF0ZSB3ZSB3YW50ICovCisgICAgICAgICAgICAgY2FzZSBHTE9CVVNfTF9H U0NfREFUQV9PQkpfUkVBRFk6CistICAgICAgICAgICAgICAgIG9wLT5zZXJ2ZXJfaGFuZGxlLT5k YXRhX29iamVjdC0+c3RhdGUgPSAKKysgICAgICAgICAgICAgICAgb3AtPnNlcnZlcl9oYW5kbGUt PmRhdGFfb2JqZWN0LT5zdGF0ZSA9CisgICAgICAgICAgICAgICAgICAgICBHTE9CVVNfTF9HU0Nf REFUQV9PQkpfSU5VU0U7CisgICAgICAgICAgICAgICAgIGJyZWFrOworIAorQEAgLTUxOTEsNyAr NTE5MSw3IEBAIGdsb2J1c19pX2dzY19yZWN2KAorICAgICBpZih1c2VyX2NiICE9IE5VTEwpCisg ICAgIHsKKyAgICAgICAgIHVzZXJfY2IoCistICAgICAgICAgICAgb3AsIAorKyAgICAgICAgICAg IG9wLAorICAgICAgICAgICAgIG9wLT5zZXJ2ZXJfaGFuZGxlLT5kYXRhX29iamVjdC0+dXNlcl9o YW5kbGUsCisgICAgICAgICAgICAgb3AtPnBhdGgsCisgICAgICAgICAgICAgb3AtPm1vZF9uYW1l LAorQEAgLTUzMjEsOSArNTMyMSw5IEBAIGdsb2J1c19ncmlkZnRwX3NlcnZlcl9jb250cm9sX2Zp bmlzaGVkX2F1dGgoCisgICAgICAgICB7CisgICAgICAgICAgICAgZ2xvYnVzX2ZyZWUob3AtPnNl cnZlcl9oYW5kbGUtPmRlZmF1bHRfY3dkKTsKKyAgICAgICAgIH0KKy0gICAgICAgIG9wLT5zZXJ2 ZXJfaGFuZGxlLT5kZWZhdWx0X2N3ZCA9IAorKyAgICAgICAgb3AtPnNlcnZlcl9oYW5kbGUtPmRl ZmF1bHRfY3dkID0KKyAgICAgICAgICAgICBnbG9idXNfbGliY19zdHJkdXAob3AtPnNlcnZlcl9o YW5kbGUtPmN3ZCk7CistICAgICAgICAKKysKKyAgICAgICAgIG9wLT5yZXNwb25zZV90eXBlID0g cmVzcG9uc2VfY29kZTsKKyAgICAgICAgIGlmKG9wLT5yZXNwb25zZV90eXBlID09IEdMT0JVU19H UklERlRQX1NFUlZFUl9DT05UUk9MX1JFU1BPTlNFX1NVQ0NFU1MpCisgICAgICAgICB7CitAQCAt NTM3MSwxNCArNTM3MSwxNCBAQCBnbG9idXNfZ3JpZGZ0cF9zZXJ2ZXJfY29udHJvbF9maW5pc2hl ZF9yZXNvdXJjZSgKKyAgICAgeworICAgICAgICAgZ2xvYnVzX211dGV4X2xvY2soJm9wLT5zdGF0 X2xvY2spOworICAgICB9CistICAgIAorKworICAgICBvcC0+cmVzcG9uc2VfdHlwZSA9IHJlc3Bv bnNlX2NvZGU7CisgICAgIG9wLT5yZXNwb25zZV9tc2cgPSBOVUxMOworICAgICBpZihtc2cgIT0g TlVMTCkKKyAgICAgeworICAgICAgICAgb3AtPnJlc3BvbnNlX21zZyA9IHN0cmR1cChtc2cpOwor ICAgICB9CistICAgIAorKworICAgICBpZihyZXMgPT0gR0xPQlVTX1NVQ0NFU1MgJiYgb3AtPnN0 YXRfY2IgIT0gTlVMTCkKKyAgICAgeworICAgICAgICAgaWYob3AtPnN0YXRfaW5mbyAhPSBOVUxM KQorQEAgLTUzODgsMTIgKzUzODgsMTIgQEAgZ2xvYnVzX2dyaWRmdHBfc2VydmVyX2NvbnRyb2xf ZmluaXNoZWRfcmVzb3VyY2UoCisgICAgICAgICAgICAgICAgIGlmKG9wLT5zdGF0X2luZm9bY3Ry XS5uYW1lICE9IE5VTEwpCisgICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAg IGdsb2J1c19mcmVlKG9wLT5zdGF0X2luZm9bY3RyXS5uYW1lKTsKKy0gICAgICAgICAgICAgICAg fSAgICAgICAgCisrICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgaWYob3AtPnN0 YXRfaW5mb1tjdHJdLnN5bWxpbmtfdGFyZ2V0ICE9IE5VTEwpCisgICAgICAgICAgICAgICAgIHsK KyAgICAgICAgICAgICAgICAgICAgIGdsb2J1c19mcmVlKG9wLT5zdGF0X2luZm9bY3RyXS5zeW1s aW5rX3RhcmdldCk7CisgICAgICAgICAgICAgICAgIH0KKy0gICAgICAgICAgICB9ICAgICAgICAg ICAgCisrICAgICAgICAgICAgfQorICAgICAgICAgICAgIGdsb2J1c19mcmVlKG9wLT5zdGF0X2lu Zm8pOworICAgICAgICAgfQorICAgICAgICAgb3AtPnN0YXRfaW5mbyA9IChnbG9idXNfZ3JpZGZ0 cF9zZXJ2ZXJfY29udHJvbF9zdGF0X3QgKikKK0BAIC01NDA2LDcgKzU0MDYsNyBAQCBnbG9idXNf Z3JpZGZ0cF9zZXJ2ZXJfY29udHJvbF9maW5pc2hlZF9yZXNvdXJjZSgKKyAgICAgICAgICAgICAg ICAgJm9wLT5zdGF0X2luZm9bY3RyXSwgJnN0YXRfaW5mb19hcnJheVtjdHJdKTsKKyAgICAgICAg IH0KKyAgICAgICAgIG9wLT51aWQgPSB1aWQ7CistICAgICAgICAKKysKKyAgICAgICAgIC8qIGFk ZGVkIGdpZCBzdHVmZiBoZXJlLCBkb2Vzbid0IGdldCBwdXNoZWQgYWxsIHRoZSB3YXkgdGhyb3Vn aCB0bworICAgICAgICAgICAgIHRoZSBjd2Qgb3IgbWxzZCBmdW5jcyB5ZXQsIGJ1dCB0aGF0IGlz IGFsbCBpbnRlcm5hbCBhcGkgc28gZWFzeQorICAgICAgICAgICAgIHRvIGNoYW5nZS4gKi8KK0BA IC01NDE3LDExICs1NDE3LDExIEBAIGdsb2J1c19ncmlkZnRwX3NlcnZlcl9jb250cm9sX2Zpbmlz aGVkX3Jlc291cmNlKAorICAgICAgICAgb3AtPmdpZF9jb3VudCA9IGdpZF9jb3VudDsKKyAgICAg ICAgIGlmKGdpZF9jb3VudCAhPSAwICYmIGdpZF9hcnJheSAhPSBOVUxMKQorICAgICAgICAgewor LSAgICAgICAgICAgIG9wLT5naWRfYXJyYXkgPSAoaW50ICopIAorKyAgICAgICAgICAgIG9wLT5n aWRfYXJyYXkgPSAoaW50ICopCisgICAgICAgICAgICAgICAgIGdsb2J1c19tYWxsb2MoZ2lkX2Nv dW50ICogc2l6ZW9mKGludCkpOworICAgICAgICAgICAgIG1lbWNweSgKKy0gICAgICAgICAgICAg ICAgb3AtPmdpZF9hcnJheSwgCistICAgICAgICAgICAgICAgIGdpZF9hcnJheSwgCisrICAgICAg ICAgICAgICAgIG9wLT5naWRfYXJyYXksCisrICAgICAgICAgICAgICAgIGdpZF9hcnJheSwKKyAg ICAgICAgICAgICAgICAgZ2lkX2NvdW50ICogc2l6ZW9mKGludCkpOworICAgICAgICAgfQorICAg ICB9CitAQCAtNTUxNSw3ICs1NTE1LDcgQEAgZ2xvYnVzX2dyaWRmdHBfc2VydmVyX2NvbnRyb2xf ZmluaXNoZWRfYWN0aXZlX2Nvbm5lY3QoCisgCisgICAgIHJldHVybiBHTE9CVVNfU1VDQ0VTUzsK KyB9CistIAorKworIGdsb2J1c19yZXN1bHRfdAorIGdsb2J1c19ncmlkZnRwX3NlcnZlcl9jb250 cm9sX2ZpbmlzaGVkX3Bhc3NpdmVfY29ubmVjdCgKKyAgICAgZ2xvYnVzX2dyaWRmdHBfc2VydmVy X2NvbnRyb2xfb3BfdCAgb3AsCitAQCAtNTY2Niw3ICs1NjY2LDcgQEAgZXJyb3I6CisgICAgIHJl dHVybiByZXN1bHQ7CisgfQorIAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisrCisgZ2xvYnVz X3Jlc3VsdF90CisgZ2xvYnVzX2dyaWRmdHBfc2VydmVyX2NvbnRyb2xfYmVnaW5fdHJhbnNmZXIo CisgICAgIGdsb2J1c19ncmlkZnRwX3NlcnZlcl9jb250cm9sX29wX3QgIG9wKQorQEAgLTU2ODUs NyArNTY4NSw3IEBAIGdsb2J1c19ncmlkZnRwX3NlcnZlcl9jb250cm9sX2JlZ2luX3RyYW5zZmVy KAorICAgICAgICAgb3AtPnR5cGUgIT0gR0xPQlVTX0xfR1NDX09QX1RZUEVfTElTVCAmJgorICAg ICAgICAgb3AtPnR5cGUgIT0gR0xPQlVTX0xfR1NDX09QX1RZUEVfTkxTVCAmJgorICAgICAgICAg b3AtPnR5cGUgIT0gR0xPQlVTX0xfR1NDX09QX1RZUEVfTUxTRCAmJgorLSAgICAgICAgb3AtPnR5 cGUgIT0gR0xPQlVTX0xfR1NDX09QX1RZUEVfTUxTUikgCisrICAgICAgICBvcC0+dHlwZSAhPSBH TE9CVVNfTF9HU0NfT1BfVFlQRV9NTFNSKQorICAgICB7CisgICAgICAgICByZXR1cm4gR2xvYnVz R3JpZEZUUFNlcnZlckVycm9yUGFyYW1ldGVyKCJvcCIpOworICAgICB9CitAQCAtNTczNiw3ICs1 NzM2LDcgQEAgZ2xvYnVzX2dyaWRmdHBfc2VydmVyX2NvbnRyb2xfZmluaXNoZWRfdHJhbnNmZXIo CisgICAgICAgICBvcC0+dHlwZSAhPSBHTE9CVVNfTF9HU0NfT1BfVFlQRV9MSVNUICYmCisgICAg ICAgICBvcC0+dHlwZSAhPSBHTE9CVVNfTF9HU0NfT1BfVFlQRV9OTFNUICYmCisgICAgICAgICBv cC0+dHlwZSAhPSBHTE9CVVNfTF9HU0NfT1BfVFlQRV9NTFNEICYmCistICAgICAgICBvcC0+dHlw ZSAhPSBHTE9CVVNfTF9HU0NfT1BfVFlQRV9NTFNSKSAKKysgICAgICAgIG9wLT50eXBlICE9IEdM T0JVU19MX0dTQ19PUF9UWVBFX01MU1IpCisgICAgIHsKKyAgICAgICAgIHJldHVybiBHbG9idXNH cmlkRlRQU2VydmVyRXJyb3JQYXJhbWV0ZXIoIm9wIik7CisgICAgIH0KK0BAIC01NzU2LDcgKzU3 NTYsNyBAQCBnbG9idXNfZ3JpZGZ0cF9zZXJ2ZXJfY29udHJvbF9maW5pc2hlZF90cmFuc2ZlcigK KyAgICAgICAgIHN3aXRjaChvcC0+c2VydmVyX2hhbmRsZS0+ZGF0YV9vYmplY3QtPnN0YXRlKQor ICAgICAgICAgeworICAgICAgICAgICAgIGNhc2UgR0xPQlVTX0xfR1NDX0RBVEFfT0JKX0lOVVNF OgorLSAgICAgICAgICAgICAgICBvcC0+c2VydmVyX2hhbmRsZS0+ZGF0YV9vYmplY3QtPnN0YXRl ID0gCisrICAgICAgICAgICAgICAgIG9wLT5zZXJ2ZXJfaGFuZGxlLT5kYXRhX29iamVjdC0+c3Rh dGUgPQorICAgICAgICAgICAgICAgICAgICAgR0xPQlVTX0xfR1NDX0RBVEFfT0JKX1JFQURZOwor ICAgICAgICAgICAgICAgICBicmVhazsKKyAKK0BAIC01ODA2LDcgKzU4MDYsNyBAQCBnbG9idXNf Z3JpZGZ0cF9zZXJ2ZXJfY29udHJvbF9zZXRfcGF0aHMoCisgICAgICAgICBvcC0+YWJzb2x1dGVf cGF0aCA9IHN0cmR1cChhYnNvbHV0ZV9wYXRoKTsKKyAgICAgfQorICAgICAvKiByZXNvbHZlZF9w YXRoIGlnbm9yZWQgKi8KKy0gICAgCisrCisgICAgIEdsb2J1c0dyaWRGVFBTZXJ2ZXJEZWJ1Z0V4 aXQoKTsKKyAgICAgcmV0dXJuIEdMT0JVU19TVUNDRVNTOworIH0KK0BAIC01ODQ2LDcgKzU4NDYs NyBAQCBnbG9idXNfZ3JpZGZ0cF9zZXJ2ZXJfY29udHJvbF9saXN0X2J1ZmZlcl9hbGxvYygKKyAg ICAgICAgIHJldHVybiBHbG9idXNHcmlkRlRQU2VydmVyRXJyb3JQYXJhbWV0ZXIoIm91dF9zaXpl Iik7CisgICAgIH0KKyAKKy0gICAgaWYoc3RybmNtcCgiTElTVDoiLCBmYWN0X3N0ciwgNSkgPT0g MCkgCisrICAgIGlmKHN0cm5jbXAoIkxJU1Q6IiwgZmFjdF9zdHIsIDUpID09IDApCisgICAgIHsK KyAgICAgICAgIGNvbnN0IGNoYXIgKiAgICAgICAgICAgICAgICAgICAgZ2xvYl9tYXRjaF9zdHI7 CisgICAgICAgICBpZihmYWN0X3N0cls1XSA9PSAnXDAnKQorQEAgLTU5MDYsNyArNTkwNiw3IEBA IGdsb2J1c19ncmlkZnRwX3NlcnZlcl9jb250cm9sX2V2ZW50c19lbmFibGUoCisgICAgICAgICBv cC0+dHlwZSAhPSBHTE9CVVNfTF9HU0NfT1BfVFlQRV9MSVNUICYmCisgICAgICAgICBvcC0+dHlw ZSAhPSBHTE9CVVNfTF9HU0NfT1BfVFlQRV9OTFNUICYmCisgICAgICAgICBvcC0+dHlwZSAhPSBH TE9CVVNfTF9HU0NfT1BfVFlQRV9NTFNEICYmCistICAgICAgICBvcC0+dHlwZSAhPSBHTE9CVVNf TF9HU0NfT1BfVFlQRV9NTFNSKSAKKysgICAgICAgIG9wLT50eXBlICE9IEdMT0JVU19MX0dTQ19P UF9UWVBFX01MU1IpCisgICAgIHsKKyAgICAgICAgIHJlcyA9IEdsb2J1c0dyaWRGVFBTZXJ2ZXJF cnJvclBhcmFtZXRlcigib3AiKTsKKyAgICAgICAgIGdvdG8gZXJyb3JfcGFyYW07CitkaWZmIC0t Z2l0IGEvZ3JpZGZ0cC9zZXJ2ZXItbGliL3NyYy9nbG9idXNfZ3JpZGZ0cF9zZXJ2ZXJfY29udHJv bF9jb21tYW5kcy5jIGIvZ3JpZGZ0cC9zZXJ2ZXItbGliL3NyYy9nbG9idXNfZ3JpZGZ0cF9zZXJ2 ZXJfY29udHJvbF9jb21tYW5kcy5jCitpbmRleCBiM2FmYjJiM2MuLjA0NzM1ZDRlYyAxMDA2NDQK Ky0tLSBhL2dyaWRmdHAvc2VydmVyLWxpYi9zcmMvZ2xvYnVzX2dyaWRmdHBfc2VydmVyX2NvbnRy b2xfY29tbWFuZHMuYworKysrIGIvZ3JpZGZ0cC9zZXJ2ZXItbGliL3NyYy9nbG9idXNfZ3JpZGZ0 cF9zZXJ2ZXJfY29udHJvbF9jb21tYW5kcy5jCitAQCAtNjIsNyArNjIsNyBAQCBnbG9idXNfbF9n c2NfY21kX3N0cnUoCisgICAgIGdsb2J1c19pX2dzY19sb2cob3AtPnNlcnZlcl9oYW5kbGUsIGZ1 bGxfY29tbWFuZCwKKyAgICAgICAgIEdMT0JVU19HUklERlRQX1NFUlZFUl9DT05UUk9MX0xPR19P VEhFUik7CisgICAgIHRtcF9wdHIgPSBjbWRfYVsxXTsKKy0gICAgaWYoKHRtcF9wdHJbMF0gPT0g J2YnIHx8IHRtcF9wdHJbMF0gPT0gJ0YnKSAKKysgICAgaWYoKHRtcF9wdHJbMF0gPT0gJ2YnIHx8 IHRtcF9wdHJbMF0gPT0gJ0YnKQorICAgICAgICAgJiYgdG1wX3B0clsxXSA9PSAnXDAnKQorICAg ICB7CisgICAgICAgICBnbG9idXNfZ3NjXzk1OV9maW5pc2hlZF9jb21tYW5kKG9wLCBfRlNNU0wo IjIwMCBTVFJVIEYgb2suXHJcbiIpKTsKK0BAIC0xMzAsNyArMTMwLDcgQEAgZ2xvYnVzX2xfZ3Nj X2NtZF9wYnN6KAorIAorICAgICBnbG9idXNfaV9nc2NfbG9nKG9wLT5zZXJ2ZXJfaGFuZGxlLCBm dWxsX2NvbW1hbmQsCisgICAgICAgICBHTE9CVVNfR1JJREZUUF9TRVJWRVJfQ09OVFJPTF9MT0df U0VDVVJJVFkpOworLSAgICBpZihzdHJsZW4oY21kX2FbMV0pID4gMTAgfHwgCisrICAgIGlmKHN0 cmxlbihjbWRfYVsxXSkgPiAxMCB8fAorICAgICAgICAgKHN0cmxlbihjbWRfYVsxXSkgPT0gMTAg JiYgc3RyY21wKGNtZF9hWzFdLCAiNDI5NDk2NzI5NiIpID49IDApKQorICAgICB7CisgICAgICAg ICBtc2cgPSBnbG9idXNfY29tbW9uX2NyZWF0ZV9zdHJpbmcoX0ZTTVNMKCI1MDEgQmFkIHZhbHVl IGZvciBQQlNaOiAlc1xyXG4iKSwKK0BAIC0zNjQsNyArMzY0LDcgQEAgZ2xvYnVzX2xfZ3NjX2Nt ZF9tZHRtX2NiKAorICAgICAgICAgY29kZSA9IDIxMzsKKyAgICAgICAgIG1zZyA9ICBnbG9idXNf Y29tbW9uX2NyZWF0ZV9zdHJpbmcoCisgICAgICAgICAgICAgIiUwNGQlMDJkJTAyZCUwMmQlMDJk JTAyZCIsCistICAgICAgICAgICAgdG0tPnRtX3llYXIrMTkwMCwgdG0tPnRtX21vbisxLCB0bS0+ dG1fbWRheSwgCisrICAgICAgICAgICAgdG0tPnRtX3llYXIrMTkwMCwgdG0tPnRtX21vbisxLCB0 bS0+dG1fbWRheSwKKyAgICAgICAgICAgICB0bS0+dG1faG91ciwgdG0tPnRtX21pbiwgdG0tPnRt X3NlYyk7CisgICAgIH0KKyAKK0BAIC01MDEsMTYgKzUwMSwxNiBAQCBnbG9idXNfbF9nc2NfY21k X2xhbmcoCisgeworICAgICBjaGFyICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg bGFuZyA9IE5VTEw7CisgCistICAgIAorKworICAgICBjaGFyICogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgbXNnOworIAorICAgICBnbG9idXNfaV9nc2NfbG9nKG9wLT5zZXJ2ZXJf aGFuZGxlLCBmdWxsX2NvbW1hbmQsCisgICAgICAgICBHTE9CVVNfR1JJREZUUF9TRVJWRVJfQ09O VFJPTF9MT0dfVFJBTlNGRVJfU1RBVEUpOworICAgICBpZiAoY21kX2FbMV09PU5VTEwpCisgICAg IHsKKy0JICAgIC8qbm90aGluZyBzcGVjaWZpZWQgYWZ0ZXIgTEFORywga2VlcCBkZWZhdWx0Ki8K KysgICAgICAgIC8qbm90aGluZyBzcGVjaWZpZWQgYWZ0ZXIgTEFORywga2VlcCBkZWZhdWx0Ki8K KyAgICAgICAgIG1zZyA9IGdsb2J1c19jb21tb25fY3JlYXRlX3N0cmluZyhfRlNNU0woIjIwMCBs YW5nIHNldCB0byAlcy5cclxuIiksIGxhbmcpOworLQlvcC0+c2VydmVyX2hhbmRsZS0+bGFuZyA9 IGxhbmc7CisrICAgICAgICBvcC0+c2VydmVyX2hhbmRsZS0+bGFuZyA9IGxhbmc7CisgICAgIH0K KyAgICAgZWxzZQorICAgICB7CitAQCAtNTIzLDIxICs1MjMsMjEgQEAgZ2xvYnVzX2xfZ3NjX2Nt ZF9sYW5nKAorICAgICB9CisgICAgIGVsc2UKKyAgICAgeworLQkvKkNoZWNrIGlmIGl0IGlzIGEg c3VwcG9ydGVkIGxhbmd1YWdlKi8KKy0JLypBcyBpbnRlcm5hdGlvbmFsaXphdGlvbiBjb250aW51 ZXMsIHRoaXMgd2lsbCBiZSBkaXNjb3ZlcmVkCistCSAqIGZyb20gY29uZmlndXJhdGlvbi0taGFy ZGNvZGVkIGZvciBub3cKKy0JICovCistCWlmIChzdHJjbXAobGFuZywgIkVOIik9PTApCistCXsJ CisrICAgICAgICAvKkNoZWNrIGlmIGl0IGlzIGEgc3VwcG9ydGVkIGxhbmd1YWdlKi8KKysgICAg ICAgIC8qQXMgaW50ZXJuYXRpb25hbGl6YXRpb24gY29udGludWVzLCB0aGlzIHdpbGwgYmUgZGlz Y292ZXJlZAorKyAgICAgICAgICogZnJvbSBjb25maWd1cmF0aW9uLS1oYXJkY29kZWQgZm9yIG5v dworKyAgICAgICAgICovCisrICAgICAgICBpZiAoc3RyY21wKGxhbmcsICJFTiIpPT0wKQorKyAg ICAgICAgeworICAgICAgICAgICAgbXNnID0gZ2xvYnVzX2NvbW1vbl9jcmVhdGVfc3RyaW5nKF9G U01TTCgiMjAwIGxhbmcgc2V0IHRvICVzLlxyXG4iKSwgbGFuZyk7CisgICAgICAgICAgICBvcC0+ c2VydmVyX2hhbmRsZS0+bGFuZyA9IGxhbmc7CistCX0KKy0JZWxzZQorLQl7CisrICAgICAgICB9 CisrICAgICAgICBlbHNlCisrICAgICAgICB7CisgICAgICAgICAgICBtc2cgPSBnbG9idXNfY29t bW9uX2NyZWF0ZV9zdHJpbmcoCisgICAgICAgICAgICAgX0ZTTVNMKCI1MDEgJyVzJyB1bnJlY29n bml6ZWQgbGFuZ3VhZ2UuXHJcbiIpLCBmdWxsX2NvbW1hbmQpOworICAgICAgICAgICAgIGZyZWUo bGFuZyk7CistCX0KKysgICAgICAgIH0KKyAgICAgfQorICAgICBpZihtc2cgPT0gTlVMTCkKKyAg ICAgeworQEAgLTgwNyw3ICs4MDcsNyBAQCBnbG9idXNfbF9nc2NfY21kX3N0YXRfY2IoCisgICAg ICAgICB9CisgICAgICAgICBlbHNlIGlmKChpbnRwdHJfdCkgdXNlcl9hcmcgPT0gR0xPQlVTX0xf R1NDX09QX1RZUEVfTUxTRCkKKyAgICAgICAgIHsKKy0gICAgICAgICAgICBpZihyZXNwb25zZV90 eXBlID09IAorKyAgICAgICAgICAgIGlmKHJlc3BvbnNlX3R5cGUgPT0KKyAgICAgICAgICAgICAg ICAgR0xPQlVTX0dSSURGVFBfU0VSVkVSX0NPTlRST0xfUkVTUE9OU0VfUEFSVElBTF9TVUNDRVNT KQorICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgcGFydGlhbCA9IEdMT0JVU19UUlVF OworQEAgLTgxOCwxOSArODE4LDE5IEBAIGdsb2J1c19sX2dzY19jbWRfc3RhdF9jYigKKyAgICAg ICAgICAgICAgICAgY29kZSA9IDI1MDsKKyAgICAgICAgICAgICB9CisgICAgICAgICAgICAgdG1w X3B0ciA9IGdsb2J1c19pX2dzY19tbHN4X2xpbmUoCistICAgICAgICAgICAgICAgc3RhdF9pbmZv LCAKKy0gICAgICAgICAgICAgICBzdGF0X2NvdW50LCAKKy0gICAgICAgICAgICAgICBvcC0+c2Vy dmVyX2hhbmRsZS0+b3B0cy5tbHN4X2ZhY3Rfc3RyLCAKKysgICAgICAgICAgICAgICBzdGF0X2lu Zm8sCisrICAgICAgICAgICAgICAgc3RhdF9jb3VudCwKKysgICAgICAgICAgICAgICBvcC0+c2Vy dmVyX2hhbmRsZS0+b3B0cy5tbHN4X2ZhY3Rfc3RyLAorICAgICAgICAgICAgICAgIHVpZCwKKyAg ICAgICAgICAgICAgICBOVUxMLAorICAgICAgICAgICAgICAgIGFic19wYXRoLAorICAgICAgICAg ICAgICAgIEdMT0JVU19UUlVFKTsKKyAgICAgICAgICAgICBtc2cgPSAgZ2xvYnVzX2NvbW1vbl9j cmVhdGVfc3RyaW5nKAorLSAgICAgICAgICAgICAgIF9GU01TTCgiJWQtQ29udGVudHMgb2YgJXNc clxuJXMlZCBFbmQuXHJcbiIpLCAKKy0gICAgICAgICAgICAgICBjb2RlLCAKKy0gICAgICAgICAg ICAgICBvcC0+cGF0aCwgCisrICAgICAgICAgICAgICAgX0ZTTVNMKCIlZC1Db250ZW50cyBvZiAl c1xyXG4lcyVkIEVuZC5cclxuIiksCisrICAgICAgICAgICAgICAgY29kZSwKKysgICAgICAgICAg ICAgICBvcC0+cGF0aCwKKyAgICAgICAgICAgICAgICB0bXBfcHRyLAorLSAgICAgICAgICAgICAg IGNvZGUpOyAgICAgICAgICAgICAgICAKKysgICAgICAgICAgICAgICBjb2RlKTsKKyAgICAgICAg ICAgICBnbG9idXNfZnJlZSh0bXBfcHRyKTsKKyAgICAgICAgIH0KKyAgICAgICAgIGVsc2UKK0BA IC0xMDI0LDkgKzEwMjQsOSBAQCBnbG9idXNfbF9nc2NfY21kX3NpemVfY2IoCisgICAgIGdsb2J1 c19nc2NfOTU5X2ZpbmlzaGVkX2NvbW1hbmQob3AsIHRtcF9wdHIpOworICAgICBnbG9idXNfZnJl ZSh0bXBfcHRyKTsKKyAgICAgZ2xvYnVzX2ZyZWUobXNnKTsKKy0gICAgCisrCisgICAgIHJldHVy bjsKKy0gICAgCisrCisgICBlcnI6CisgICAgIGlmKG1zZyAhPSBOVUxMKQorICAgICB7CitAQCAt MTI1Nyw3ICsxMjU3LDcgQEAgZ2xvYnVzX2xfZ3NjX2NtZF9zeXN0KAorIAorICAgICBnbG9idXNf aV9nc2NfbG9nKG9wLT5zZXJ2ZXJfaGFuZGxlLCBmdWxsX2NvbW1hbmQsCisgICAgICAgICBHTE9C VVNfR1JJREZUUF9TRVJWRVJfQ09OVFJPTF9MT0dfT1RIRVIpOworLSAgICAKKysKKyAgICAgZ2xv YnVzX2dzY185NTlfZmluaXNoZWRfY29tbWFuZChvcCwgIjIxNSBVTklYIFR5cGU6IEw4XHJcbiIp OworIAorICAgICByZXR1cm47CitAQCAtMTM3OCw3ICsxMzc4LDcgQEAgZ2xvYnVzX2xfZ3NjX2Nt ZF9vcHRzKAorICAgICB7CisgICAgICAgICAqdG1wX3B0ciA9IHRvdXBwZXIoKnRtcF9wdHIpOwor ICAgICB9CistICAgIAorKworICAgICBpZihhcmdjICE9IDMpCisgICAgIHsKKyAgICAgICAgIG1z ZyA9IF9GU01TTCgiNTAwIE9QVFMgZmFpbGVkLlxyXG4iKTsKK0BAIC0xMzg5LDcgKzEzODksNyBA QCBnbG9idXNfbF9nc2NfY21kX29wdHMoCisgICAgICAgICB7CisgICAgICAgICAgICAgKnRtcF9w dHIgPSB0b2xvd2VyKCp0bXBfcHRyKTsKKyAgICAgICAgIH0KKy0gICAgCisrCisgICAgICAgICB0 bXBfcHRyID0gY21kX2FbMl07CisgCisgICAgICAgICBtc2cgPSBfRlNNU0woIjUwMCBPUFRTIGZh aWxlZC5cclxuIik7CitAQCAtMTQ3Nyw3ICsxNDc3LDcgQEAgZ2xvYnVzX2xfZ3NjX2NtZF9vcHRz KAorICAgICAgICAgICAgICAgICBpZihzc2NhbmYodG1wX3B0ciwgIm1hcmtlcnM9JWQ7IiwgJnRt cF9pKSA9PSAxKQorICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICBjaGFy ICogZnJlcV9zdHIgPSBnbG9idXNfY29tbW9uX2NyZWF0ZV9zdHJpbmcoIiVkIiwgdG1wX2kpOwor LSAgICAgICAgICAgICAgICAgICAgb3AtPnNlcnZlcl9oYW5kbGUtPm9wdHMucmV0cl9wZXJmX2Zy ZXF1ZW5jeSA9IHRtcF9pOyAgICAgICAgICAgICAgICAgICAgCisrICAgICAgICAgICAgICAgICAg ICBvcC0+c2VydmVyX2hhbmRsZS0+b3B0cy5yZXRyX3BlcmZfZnJlcXVlbmN5ID0gdG1wX2k7Cisg ICAgICAgICAgICAgICAgICAgICBnbG9idXNfbGliY19zZXRlbnYoIkdGU19SRVRSX01BUktFUlMi LCBmcmVxX3N0ciwgMSk7CisgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgZWxz ZQorQEAgLTE1MTcsNyArMTUxNyw3IEBAIGdsb2J1c19sX2dzY19jbWRfb3B0cygKKyAgICAgICAg ICAgICBtc2cgPSBfRlNNU0woIjUwMCBPUFRTIGZhaWxlZC5cclxuIik7CisgICAgICAgICB9Cisg ICAgIH0KKy0gICAgZWxzZSBpZihzdHJjbXAoIlBBU1YiLCBjbWRfYVsxXSkgPT0gMCB8fCAKKysg ICAgZWxzZSBpZihzdHJjbXAoIlBBU1YiLCBjbWRfYVsxXSkgPT0gMCB8fAorICAgICAgICAgc3Ry Y21wKCJTUEFTIiwgY21kX2FbMV0pID09IDAgfHwKKyAgICAgICAgIHN0cmNtcCgiRVBTViIsIGNt ZF9hWzFdKSA9PSAwKQorICAgICB7CitAQCAtMTUzNSwxMiArMTUzNSwxMiBAQCBnbG9idXNfbF9n c2NfY21kX29wdHMoCisgICAgICAgICAgICAgbXNnID0gX0ZTTVNMKCI1MDAgT1BUUyBmYWlsZWQu XHJcbiIpOworICAgICAgICAgfQorICAgICB9CistICAgIGVsc2UgaWYoc3RyY21wKCJNTFNUIiwg Y21kX2FbMV0pID09IDAgfHwgCisrICAgIGVsc2UgaWYoc3RyY21wKCJNTFNUIiwgY21kX2FbMV0p ID09IDAgfHwKKyAgICAgICAgICAgICBzdHJjbXAoIk1MU0QiLCBjbWRfYVsxXSkgPT0gMCB8fAor ICAgICAgICAgICAgIHN0cmNtcCgiTUxTUiIsIGNtZF9hWzFdKSA9PSAwKQorICAgICB7CisgICAg ICAgICBnbG9idXNfYm9vbF90ICAgICAgICAgICAgICAgICAgIG1sc3Jfb3B0aW9ucyA9IEdMT0JV U19GQUxTRTsKKy0gICAgICAgIAorKworICAgICAgICAgZm9yKHRtcF9wdHIgPSBjbWRfYVsyXTsg KnRtcF9wdHIgIT0gJ1wwJzsgdG1wX3B0cisrKQorICAgICAgICAgeworICAgICAgICAgICAgICp0 bXBfcHRyID0gdG9sb3dlcigqdG1wX3B0cik7CitAQCAtMTU1MiwyMiArMTU1MiwyMiBAQCBnbG9i dXNfbF9nc2NfY21kX29wdHMoCisgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICBvcHRz LT5tbHNyX3RyYXZlcnNhbF9vcHRpb25zIHw9IEdMT0JVU19HRlNfVFJBVkVSU0FMX0NPTlRJTlVF OworICAgICAgICAgICAgICAgICBtbHNyX29wdGlvbnMgPSBHTE9CVVNfVFJVRTsKKy0gICAgICAg ICAgICB9IAorKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgICBlbHNlIGlmKHN0cnN0cihjbWRf YVsyXSwgIm9uZXJyb3I9ZmFpbCIpKQorICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAg b3B0cy0+bWxzcl90cmF2ZXJzYWxfb3B0aW9ucyAmPSB+R0xPQlVTX0dGU19UUkFWRVJTQUxfQ09O VElOVUU7CisgICAgICAgICAgICAgICAgIG1sc3Jfb3B0aW9ucyA9IEdMT0JVU19UUlVFOworLSAg ICAgICAgICAgIH0gICAgICAgICAgICAKKysgICAgICAgICAgICB9CisgICAgICAgICAgICAgaWYo c3Ryc3RyKGNtZF9hWzJdLCAidHJhdmVyc2VzeW1ib2xpY2xpbmtzPXRydWUiKSkKKyAgICAgICAg ICAgICB7CisgICAgICAgICAgICAgICAgIG9wdHMtPm1sc3JfdHJhdmVyc2FsX29wdGlvbnMgfD0g R0xPQlVTX0dGU19UUkFWRVJTQUxfRk9MTE9XX1NZTUxJTktTOworICAgICAgICAgICAgICAgICBt bHNyX29wdGlvbnMgPSBHTE9CVVNfVFJVRTsKKy0gICAgICAgICAgICB9IAorKyAgICAgICAgICAg IH0KKyAgICAgICAgICAgICBlbHNlIGlmKHN0cnN0cihjbWRfYVsyXSwgInRyYXZlcnNlc3ltYm9s aWNsaW5rcz1mYWxzZSIpKQorICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgb3B0cy0+ bWxzcl90cmF2ZXJzYWxfb3B0aW9ucyAmPSB+R0xPQlVTX0dGU19UUkFWRVJTQUxfRk9MTE9XX1NZ TUxJTktTOworICAgICAgICAgICAgICAgICBtbHNyX29wdGlvbnMgPSBHTE9CVVNfVFJVRTsKKy0g ICAgICAgICAgICB9ICAgICAgICAgICAgCisrICAgICAgICAgICAgfQorICAgICAgICAgfQorICAg ICAgICAgLyoqIFBhcnNlIG91dCBjb21tb24gb3B0aW9ucyAqLworICAgICAgICAgdG1wX3B0ciA9 IG9wdHMtPm1sc3hfZmFjdF9zdHI7CitAQCAtMTYyNSw3ICsxNjI1LDcgQEAgZ2xvYnVzX2xfZ3Nj X2NtZF9vcHRzKAorICAgICAgICAgeworICAgICAgICAgICAgICp0bXBfcHRyID0gR0xPQlVTX0dT WF9NTFNYX0ZBQ1RfVU5JWFVJRDsKKyAgICAgICAgICAgICB0bXBfcHRyKys7CistICAgICAgICB9 IAorKyAgICAgICAgfQorICAgICAgICAgaWYoc3Ryc3RyKGNtZF9hWzJdLCAidW5peC5naWQiKSkK KyAgICAgICAgIHsKKyAgICAgICAgICAgICAqdG1wX3B0ciA9IEdMT0JVU19HU1hfTUxTWF9GQUNU X1VOSVhHSUQ7CitAQCAtMTc4Niw3ICsxNzg2LDcgQEAgZ2xvYnVzX2xfZ3NjX2NtZF9zaXRlX2Zh dWx0KAorIHsKKyAgICAgaW50ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVuOwor ICAgICBpbnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdHI7CistICAKKysKKyAg ICAgZ2xvYnVzX2lfZ3NjX2xvZyhvcC0+c2VydmVyX2hhbmRsZSwgZnVsbF9jb21tYW5kLAorICAg ICAgICAgR0xPQlVTX0dSSURGVFBfU0VSVkVSX0NPTlRST0xfTE9HX1NJVEUpOworIAorQEAgLTE3 OTksMTAgKzE3OTksMTAgQEAgZ2xvYnVzX2xfZ3NjX2NtZF9zaXRlX2ZhdWx0KAorICAgICBsZW4g PSBzdHJsZW4ob3AtPnNlcnZlcl9oYW5kbGUtPmZhdWx0X2NtZCk7CisgICAgIGZvcihjdHIgPSAw OyBjdHIgPCBsZW47IGN0cisrKQorICAgICB7CistICAgICAgICBvcC0+c2VydmVyX2hhbmRsZS0+ ZmF1bHRfY21kW2N0cl0gPSAKKysgICAgICAgIG9wLT5zZXJ2ZXJfaGFuZGxlLT5mYXVsdF9jbWRb Y3RyXSA9CisgICAgICAgICAgICAgdG91cHBlcihvcC0+c2VydmVyX2hhbmRsZS0+ZmF1bHRfY21k W2N0cl0pOworICAgICB9CistICAgIAorKworICAgICBnbG9idXNfZ3NjXzk1OV9maW5pc2hlZF9j b21tYW5kKAorICAgICAgICAgb3AsICIyMDAgU2l0ZSBDb21tYW5kIFN1Y2Nlc3NmdWwuXHJcbiIp OworIAorQEAgLTE4NDUsOCArMTg0NSw4IEBAIGdsb2J1c19sX2dzY19jbWRfcmVzdCgKKyAgICAg ICAgIHRtcF9wdHIgPSBjbWRfYVsxXTsKKyAgICAgICAgIHdoaWxlKHRtcF9wdHIgIT0gTlVMTCkK KyAgICAgICAgIHsKKy0gICAgICAgICAgICBzYyA9IHNzY2FuZih0bXBfcHRyLCAKKy0gICAgICAg ICAgICAgICAgIiUiR0xPQlVTX09GRl9UX0ZPUk1BVCItJSJHTE9CVVNfT0ZGX1RfRk9STUFULCAK KysgICAgICAgICAgICBzYyA9IHNzY2FuZih0bXBfcHRyLAorKyAgICAgICAgICAgICAgICAiJSJH TE9CVVNfT0ZGX1RfRk9STUFUIi0lIkdMT0JVU19PRkZfVF9GT1JNQVQsCisgICAgICAgICAgICAg ICAgICZzdGFydF9vZmZzZXQsICZlbmRfb2Zmc2V0KTsKKyAgICAgICAgICAgICBpZihzYyAhPSAy KQorICAgICAgICAgICAgIHsKK0BAIC0xODcwLDcgKzE4NzAsNyBAQCBnbG9idXNfbF9nc2NfY21k X3Jlc3QoCisgICAgICAgICBnbG9idXNfcmFuZ2VfbGlzdF9kZXN0cm95KG9wLT5zZXJ2ZXJfaGFu ZGxlLT5yYW5nZV9saXN0KTsKKyAgICAgfQorICAgICBvcC0+c2VydmVyX2hhbmRsZS0+cmFuZ2Vf bGlzdCA9IHJhbmdlX2xpc3Q7CistICAgIGdsb2J1c19nc2NfOTU5X2ZpbmlzaGVkX2NvbW1hbmQo b3AsIAorKyAgICBnbG9idXNfZ3NjXzk1OV9maW5pc2hlZF9jb21tYW5kKG9wLAorICAgICAgICAg X0ZTTVNMKCIzNTAgUmVzdGFydCBNYXJrZXIgT0suIFNlbmQgU1RPUkUgb3IgUkVUUiB0byBpbml0 aWF0ZSB0cmFuc2Zlci5cclxuIikpOworIH0KKyAKK0BAIC0xOTExLDcgKzE5MTEsNyBAQCBnbG9i dXNfbF9nc2NfY21kX3Bhc3ZfY2IoCisgICAgICAgICAgICAgZXJyX2NvZGUgPSA1MzQ7CisgICAg ICAgICAgICAgZXJyX21zZyA9ICJEYXRhIGNvbm5lY3Rpb24gYXV0aCBlcnJvciI7CisgICAgICAg ICAgICAgYnJlYWs7CistICAgICAgICAgICAgCisrCisgICAgICAgICAgIGRlZmF1bHQ6CisgICAg ICAgICAgICAgICAgIGlmIChnbG9idXNfbF9nc2NfaXNfZnRwX2NvZGUocmVzcG9uc2VfdHlwZSkp CisgICAgICAgICAgICAgICAgIHsKK0BAIC0xOTQyLDcgKzE5NDIsNyBAQCBnbG9idXNfbF9nc2Nf Y21kX3Bhc3ZfY2IoCisgICAgICAgICAgICAgaWYoZ2xvYnVzX2xpYmNfY29udGFjdF9zdHJpbmdf dG9faW50cygKKyAgICAgICAgICAgICAgICAgY3NbMF0sIGhvc3RfaXAsICZpcF9jb3VudCwgJnBv cnQpICE9IEdMT0JVU19TVUNDRVNTKQorICAgICAgICAgICAgIHsKKy0gICAgICAgICAgICAgICAg ZXJyX2NvZGUgPSA1MDA7IAorKyAgICAgICAgICAgICAgICBlcnJfY29kZSA9IDUwMDsKKyAgICAg ICAgICAgICAgICAgZXJyX21zZyA9ICJSZXNvdXJjZSBlcnJvci5cclxuIjsKKyAgICAgICAgICAg ICAgICAgZ290byBlcnI7CisgICAgICAgICAgICAgfQorQEAgLTE5NTIsNyArMTk1Miw3IEBAIGds b2J1c19sX2dzY19jbWRfcGFzdl9jYigKKyAgICAgICAgICAgICAgICAgZXJyX21zZyA9ICJOZXR3 b3JrIHByb3RvY29sIG5vdCBzdXBwb3J0ZWQuXHJcbiI7CisgICAgICAgICAgICAgICAgIGdvdG8g ZXJyOworICAgICAgICAgICAgIH0KKy0gICAgICAgICAgICAKKysKKyAgICAgICAgICAgICBtc2cg PSBnbG9idXNfY29tbW9uX2NyZWF0ZV9zdHJpbmcoCisgICAgICAgICAgICAgICAgICIlZCBFbnRl cmluZyBQYXNzaXZlIE1vZGUgKCVkLCVkLCVkLCVkLCVkLCVkKVxyXG4iLAorICAgICAgICAgICAg ICAgICAgICAgd3JhcHBlci0+cmVwbHlfY29kZSwKK0BAIC0xOTcxLDcgKzE5NzEsNyBAQCBnbG9i dXNfbF9nc2NfY21kX3Bhc3ZfY2IoCisgICAgICAgICAgICAgICAgIGFkZHJfY291bnQgPSAxOwor ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICBtc2cgPSAgZ2xvYnVzX2NvbW1vbl9jcmVhdGVf c3RyaW5nKAorLSAgICAgICAgICAgICAgICAiJWQtRW50ZXJpbmcgU3RyaXBlZCBQYXNzaXZlIE1v ZGUuXHJcbiIsIAorKyAgICAgICAgICAgICAgICAiJWQtRW50ZXJpbmcgU3RyaXBlZCBQYXNzaXZl IE1vZGUuXHJcbiIsCisgICAgICAgICAgICAgICAgIHdyYXBwZXItPnJlcGx5X2NvZGUpOworICAg ICAgICAgICAgIGZvcihjdHIgPSAwOyBjdHIgPCBhZGRyX2NvdW50OyBjdHIrKykKKyAgICAgICAg ICAgICB7CitAQCAtMTk4OCw3ICsxOTg4LDcgQEAgZ2xvYnVzX2xfZ3NjX2NtZF9wYXN2X2NiKAor ICAgICAgICAgICAgICAgICAgICAgZXJyX21zZyA9ICJOZXR3b3JrIHByb3RvY29sIG5vdCBzdXBw b3J0ZWQuXHJcbiI7CisgICAgICAgICAgICAgICAgICAgICBnb3RvIGVycjsKKyAgICAgICAgICAg ICAgICAgfQorLSAgICAgICAgICAgIAorKworICAgICAgICAgICAgICAgICB0bXBfcHRyID0gZ2xv YnVzX2NvbW1vbl9jcmVhdGVfc3RyaW5nKAorICAgICAgICAgICAgICAgICAgICAgIiVzICVkLCVk LCVkLCVkLCVkLCVkXHJcbiIsCisgICAgICAgICAgICAgICAgICAgICBtc2csCitAQCAtMjAwNyw3 ICsyMDA3LDcgQEAgZ2xvYnVzX2xfZ3NjX2NtZF9wYXN2X2NiKAorICAgICAgICAgICAgICAgICBn bG9idXNfZnJlZShtc2cpOworICAgICAgICAgICAgICAgICBtc2cgPSB0bXBfcHRyOworICAgICAg ICAgICAgIH0KKy0gICAgICAgICAgICB0bXBfcHRyID0gZ2xvYnVzX2NvbW1vbl9jcmVhdGVfc3Ry aW5nKCIlcyVkIEVuZFxyXG4iLCAKKysgICAgICAgICAgICB0bXBfcHRyID0gZ2xvYnVzX2NvbW1v bl9jcmVhdGVfc3RyaW5nKCIlcyVkIEVuZFxyXG4iLAorICAgICAgICAgICAgICAgICBtc2csIHdy YXBwZXItPnJlcGx5X2NvZGUpOworICAgICAgICAgICAgIGlmKHRtcF9wdHIgPT0gTlVMTCkKKyAg ICAgICAgICAgICB7CitAQCAtMjAyNiw3ICsyMDI2LDcgQEAgZ2xvYnVzX2xfZ3NjX2NtZF9wYXN2 X2NiKAorICAgICAgICAgeworICAgICAgICAgICAgIGNoYXIgKiAgICAgICAgICAgICAgICAgICAg ICBwOworICAgICAgICAgICAgIGNoYXIgKiAgICAgICAgICAgICAgICAgICAgICBoOworLSAgICAg ICAgICAgIAorKworICAgICAgICAgICAgIGhvc3QgPSBnbG9idXNfbGliY19zdHJkdXAoY3NbMF0p OworICAgICAgICAgICAgIGlmKCFob3N0KQorICAgICAgICAgICAgIHsKK0BAIC0yMDM0LDcgKzIw MzQsNyBAQCBnbG9idXNfbF9nc2NfY21kX3Bhc3ZfY2IoCisgICAgICAgICAgICAgICAgIGVycl9t c2cgPSAiUmVzb3VyY2UgZXJyb3IuXHJcbiI7CisgICAgICAgICAgICAgICAgIGdvdG8gZXJyOwor ICAgICAgICAgICAgIH0KKy0gICAgICAgICAgICAKKysKKyAgICAgICAgICAgICBwID0gc3RycmNo cihob3N0LCAnOicpOworICAgICAgICAgICAgIGlmKCFwIHx8IHAgPT0gaG9zdCkKKyAgICAgICAg ICAgICB7CitAQCAtMjA0Myw3ICsyMDQzLDcgQEAgZ2xvYnVzX2xfZ3NjX2NtZF9wYXN2X2NiKAor ICAgICAgICAgICAgICAgICBlcnJfbXNnID0gIkludGVybmFsIFBhcnNlIGVycm9yLlxyXG4iOwor ICAgICAgICAgICAgICAgICBnb3RvIGVycjsKKyAgICAgICAgICAgICB9CistICAgICAgICAgICAg CisrCisgICAgICAgICAgICAgaCA9IGhvc3Q7CisgICAgICAgICAgICAgaWYoKmhvc3QgPT0gJ1sn KQorICAgICAgICAgICAgIHsKK0BAIC0yMDYwLDcgKzIwNjAsNyBAQCBnbG9idXNfbF9nc2NfY21k X3Bhc3ZfY2IoCisgICAgICAgICAgICAgICAgICpwID0gMDsKKyAgICAgICAgICAgICB9CisgICAg ICAgICAgICAgcCsrOworLSAgICAgICAgICAgIAorKworICAgICAgICAgICAgIHNjID0gc3NjYW5m KHAsICIlaHUiLCAmcG9ydCk7CisgICAgICAgICAgICAgaWYoc2MgIT0gMSkKKyAgICAgICAgICAg ICB7CitAQCAtMjA2OSw3ICsyMDY5LDcgQEAgZ2xvYnVzX2xfZ3NjX2NtZF9wYXN2X2NiKAorICAg ICAgICAgICAgICAgICBlcnJfbXNnID0gIkludGVybmFsIFBhcnNlIGVycm9yLlxyXG4iOworICAg ICAgICAgICAgICAgICBnb3RvIGVycjsKKyAgICAgICAgICAgICB9CistICAgICAgICAgICAgCisr CisgICAgICAgICAgICAgaWYob3AtPnNlcnZlcl9oYW5kbGUtPmVwc3ZfaXApCisgICAgICAgICAg ICAgeworICAgICAgICAgICAgICAgICBtc2cgPSBnbG9idXNfY29tbW9uX2NyZWF0ZV9zdHJpbmco CitAQCAtMjA4Myw3ICsyMDgzLDcgQEAgZ2xvYnVzX2xfZ3NjX2NtZF9wYXN2X2NiKAorICAgICAg ICAgICAgIHsKKyAgICAgICAgICAgICAgICAgbXNnID0gZ2xvYnVzX2NvbW1vbl9jcmVhdGVfc3Ry aW5nKAorICAgICAgICAgICAgICAgICAgICAgIiVkIEVudGVyaW5nIEV4dGVuZGVkIFBhc3NpdmUg TW9kZSAofHx8JWR8KVxyXG4iLAorLSAgICAgICAgICAgICAgICAgICAgICAgIHdyYXBwZXItPnJl cGx5X2NvZGUsICAgICAgICAgICAgICAgICAgICAKKysgICAgICAgICAgICAgICAgICAgICAgICB3 cmFwcGVyLT5yZXBseV9jb2RlLAorICAgICAgICAgICAgICAgICAgICAgICAgIChpbnQpIHBvcnQp OworICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICBnbG9idXNfZnJlZShob3N0KTsKK0BAIC0y MTAxLDcgKzIxMDEsNyBAQCBnbG9idXNfbF9nc2NfY21kX3Bhc3ZfY2IoCisgICAgICAgICAgICAg eworICAgICAgICAgICAgICAgICBjaGFyICogICAgICAgICAgICAgICAgICBwOworICAgICAgICAg ICAgICAgICBjaGFyICogICAgICAgICAgICAgICAgICBoOworLSAgICAgICAgICAgICAgICAKKysK KyAgICAgICAgICAgICAgICAgaG9zdCA9IGdsb2J1c19saWJjX3N0cmR1cChjc1tjdHJdKTsKKyAg ICAgICAgICAgICAgICAgaWYoIWhvc3QpCisgICAgICAgICAgICAgICAgIHsKK0BAIC0yMTA5LDcg KzIxMDksNyBAQCBnbG9idXNfbF9nc2NfY21kX3Bhc3ZfY2IoCisgICAgICAgICAgICAgICAgICAg ICBlcnJfbXNnID0gIlJlc291cmNlIGVycm9yLlxyXG4iOworICAgICAgICAgICAgICAgICAgICAg Z290byBlcnI7CisgICAgICAgICAgICAgICAgIH0KKy0gICAgICAgICAgICAgICAgCisrCisgICAg ICAgICAgICAgICAgIHAgPSBzdHJyY2hyKGhvc3QsICc6Jyk7CisgICAgICAgICAgICAgICAgIGlm KCFwIHx8IHAgPT0gaG9zdCkKKyAgICAgICAgICAgICAgICAgeworQEAgLTIxMTgsNyArMjExOCw3 IEBAIGdsb2J1c19sX2dzY19jbWRfcGFzdl9jYigKKyAgICAgICAgICAgICAgICAgICAgIGVycl9t c2cgPSAiSW50ZXJuYWwgUGFyc2UgZXJyb3IuXHJcbiI7CisgICAgICAgICAgICAgICAgICAgICBn b3RvIGVycjsKKyAgICAgICAgICAgICAgICAgfQorLSAgICAgICAgICAgICAgICAKKysKKyAgICAg ICAgICAgICAgICAgaCA9IGhvc3Q7CisgICAgICAgICAgICAgICAgIGlmKCpjc1swXSA9PSAnWycp CisgICAgICAgICAgICAgICAgIHsKK0BAIC0yMTMwLDcgKzIxMzAsNyBAQCBnbG9idXNfbF9nc2Nf Y21kX3Bhc3ZfY2IoCisgICAgICAgICAgICAgICAgICAgICAqcCA9IDA7CisgICAgICAgICAgICAg ICAgIH0KKyAgICAgICAgICAgICAgICAgcCsrOworLSAgICAgICAgICAgIAorKworICAgICAgICAg ICAgICAgICBzYyA9IHNzY2FuZihwLCAiJWh1IiwgJnBvcnQpOworICAgICAgICAgICAgICAgICBp ZihzYyAhPSAxKQorICAgICAgICAgICAgICAgICB7CitAQCAtMjEzOSw3ICsyMTM5LDcgQEAgZ2xv YnVzX2xfZ3NjX2NtZF9wYXN2X2NiKAorICAgICAgICAgICAgICAgICAgICAgZXJyX21zZyA9ICJJ bnRlcm5hbCBQYXJzZSBlcnJvci5cclxuIjsKKyAgICAgICAgICAgICAgICAgICAgIGdvdG8gZXJy OworICAgICAgICAgICAgICAgICB9CistICAgICAgICAgICAgICAgIAorKworICAgICAgICAgICAg ICAgICB0bXBfcHRyID0gZ2xvYnVzX2NvbW1vbl9jcmVhdGVfc3RyaW5nKAorICAgICAgICAgICAg ICAgICAgICAgIiVzIHwlZHwlc3wlZHxcclxuIiwKKyAgICAgICAgICAgICAgICAgICAgIG1zZywK K0BAIC0yMTU2LDcgKzIxNTYsNyBAQCBnbG9idXNfbF9nc2NfY21kX3Bhc3ZfY2IoCisgICAgICAg ICAgICAgICAgIGdsb2J1c19mcmVlKG1zZyk7CisgICAgICAgICAgICAgICAgIG1zZyA9IHRtcF9w dHI7CisgICAgICAgICAgICAgfQorLSAgICAgICAgICAgIHRtcF9wdHIgPSBnbG9idXNfY29tbW9u X2NyZWF0ZV9zdHJpbmcoIiVzJWQgRW5kXHJcbiIsIAorKyAgICAgICAgICAgIHRtcF9wdHIgPSBn bG9idXNfY29tbW9uX2NyZWF0ZV9zdHJpbmcoIiVzJWQgRW5kXHJcbiIsCisgICAgICAgICAgICAg ICAgIG1zZywgd3JhcHBlci0+cmVwbHlfY29kZSk7CisgICAgICAgICAgICAgaWYodG1wX3B0ciA9 PSBOVUxMKQorICAgICAgICAgICAgIHsKK0BAIC0yMjgzLDcgKzIyODMsNyBAQCBnbG9idXNfbF9n c2NfY21kX3Bhc3YoCisgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICB9CisgICAgICAg ICB9CistICAgICAgICAKKysKKyAgICAgICAgIHdyYXBwZXItPnJlcGx5X2NvZGUgPSAyMjk7Cisg ICAgICAgICB3cmFwcGVyLT5jbWRfbmR4ID0gMjsKKyAgICAgfQorQEAgLTIyOTMsNyArMjI5Myw3 IEBAIGdsb2J1c19sX2dzY19jbWRfcGFzdigKKyAgICAgICAgIHdyYXBwZXItPmNtZF9uZHggPSAz OworICAgICAgICAgd3JhcHBlci0+cmVwbHlfY29kZSA9IDIyOTsKKyAgICAgICAgIHdyYXBwZXIt PnBydCA9IEdMT0JVU19HUklERlRQX1NFUlZFUl9DT05UUk9MX1BST1RPQ09MX0lQVjQ7CistICAg ICAgICAKKysKKyAgICAgICAgIC8qIG9wdGlvbmFsIDJuZCBhcmd1bWVudCBzaW1pbGFyIHRvIGVw c3YgKi8KKyAgICAgICAgIGlmKGFyZ2MgPT0gMikKKyAgICAgICAgIHsKK0BAIC0yMzY4LDcgKzIz NjgsNyBAQCBnbG9idXNfbF9nc2NfY21kX3BvcnRfY2IoCisgICAgICAgICAgICAgY29kZSA9IDUz NDsKKyAgICAgICAgICAgICBtc2cgPSBzdHJkdXAoIkRhdGEgY29ubmVjdGlvbiBhdXRoIGVycm9y Iik7CisgICAgICAgICAgICAgYnJlYWs7CistICAgICAgICAgICAgCisrCisgICAgICAgICAgIGRl ZmF1bHQ6CisgICAgICAgICAgICAgaWYgKGdsb2J1c19sX2dzY19pc19mdHBfY29kZShyZXNwb25z ZV90eXBlKSkKKyAgICAgICAgICAgICB7CitAQCAtMjQ1MSw3ICsyNDUxLDcgQEAgZ2xvYnVzX2xf Z3NjX2NtZF9wb3J0KAorICAgICBlbHNlIGlmKHN0cmNtcChjbWRfYVswXSwgIlNQT1IiKSA9PSAw KQorICAgICB7CisgICAgICAgICB3cmFwcGVyLT5tYXggPSAtMTsKKy0gICAgICAgIAorKworICAg ICAgICAgc3RyaXBlX2NvdW50ID0gMTsgLyogZm9yIHRoZSBmaXJzdCAqLworICAgICAgICAgcCA9 IGNtZF9hWzFdOworICAgICAgICAgd2hpbGUoKHAgPSBzdHJjaHIocCwgJyAnKSkpCitAQCAtMjQ2 OSwxMyArMjQ2OSwxMyBAQCBnbG9idXNfbF9nc2NfY21kX3BvcnQoCisgICAgIHsKKyAgICAgICAg IGdsb2J1c19hc3NlcnQoR0xPQlVTX0ZBTFNFKTsKKyAgICAgfQorLSAgICAKKysKKyAgICAgY29u dGFjdF9zdHJpbmdzID0gZ2xvYnVzX2xpYmNfY2FsbG9jKHN0cmlwZV9jb3VudCwgc2l6ZW9mKGNo YXIgKikpOworICAgICBpZihjb250YWN0X3N0cmluZ3MgPT0gTlVMTCkKKyAgICAgeworICAgICAg ICAgZ290byBlcnI7CisgICAgIH0KKy0gICAgICAgICAgICAKKysKKyAgICAgLyogbW92ZSB0byB0 aGUgZmlyc3QgY29tbWFuZCBhcmd1bWVudCAqLworICAgICBwID0gY21kX2FbMV07CisgICAgIHdo aWxlKGlzc3BhY2UoKnApKSBwKys7CitAQCAtMjQ4Myw3ICsyNDgzLDcgQEAgZ2xvYnVzX2xfZ3Nj X2NtZF9wb3J0KAorICAgICB7CisgICAgICAgICBkZWxpbSA9IDA7CisgICAgIH0KKy0gICAgCisr CisgICAgIGZvcihpID0gMDsgaSA8IHN0cmlwZV9jb3VudCAmJiAqcDsgaSsrKQorICAgICB7Cisg ICAgICAgICBpZihkZWxpbSkKK0BAIC0yNDk4LDExICsyNDk4LDExIEBAIGdsb2J1c19sX2dzY19j bWRfcG9ydCgKKyAgICAgICAgICAgICAgICAgICAgIC8qIGdldCBwcnQgcG9ydGlvbiAqLworICAg ICAgICAgICAgICAgICAgICAgaWYoc3NjYW5mKHAsICIlZCIsICZzYykgPCAxIHx8IChzYyAhPSAx ICYmIHNjICE9IDIpKQorICAgICAgICAgICAgICAgICAgICAgeworLSAgICAgICAgICAgICAgICAg ICAgICAgIG1zZyA9IAorKyAgICAgICAgICAgICAgICAgICAgICAgIG1zZyA9CisgICAgICAgICAg ICAgICAgICAgICAgICAgICAiNTIyIE5ldHdvcmsgcHJvdG9jb2wgbm90IHN1cHBvcnRlZCwgdXNl ICgxLDIpLlxyXG4iOworICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAg ICAgICAgICAgICAgfQorLSAgICAgICAgICAgICAgICAgICAgCisrCisgICAgICAgICAgICAgICAg ICAgICAvKiBtYXkgbmVlZCB0byBoYW5kbGUgbWl4ZWQgcHJ0IGluIHN0cmlwZWQgbW9kZSAqLwor ICAgICAgICAgICAgICAgICAgICAgaWYoc2MgPT0gMSkKKyAgICAgICAgICAgICAgICAgICAgIHsK K0BAIC0yNTE0LDcgKzI1MTQsNyBAQCBnbG9idXNfbF9nc2NfY21kX3BvcnQoCisgICAgICAgICAg ICAgICAgICAgICAgICAgd3JhcHBlci0+cHJ0ID0KKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgR0xPQlVTX0dSSURGVFBfU0VSVkVSX0NPTlRST0xfUFJPVE9DT0xfSVBWNjsKKyAgICAgICAg ICAgICAgICAgICAgIH0KKy0gICAgICAgICAgICAgICAgICAgIAorKworICAgICAgICAgICAgICAg ICAgICAgd2hpbGUoKnAgJiYgKnAgIT0gZGVsaW0pIHArKzsKKyAgICAgICAgICAgICAgICAgfQor ICAgICAgICAgICAgICAgICBlbHNlCitAQCAtMjUyMywxOCArMjUyMywxOCBAQCBnbG9idXNfbF9n c2NfY21kX3BvcnQoCisgICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAg ICAgfQorICAgICAgICAgICAgIH0KKy0gICAgICAgICAgICAKKysKKyAgICAgICAgICAgICBpZigq cCkKKyAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgIGludCAgICAgICAgICAgICAgICAg ICAgIGogPSAwOworICAgICAgICAgICAgICAgICBjaGFyICogICAgICAgICAgICAgICAgICBzOwor ICAgICAgICAgICAgICAgICBjaGFyICogICAgICAgICAgICAgICAgICBjOworICAgICAgICAgICAg ICAgICBjaGFyICAgICAgICAgICAgICAgICAgICBidWZbMTAwXTsKKy0gICAgICAgICAgICAgICAg CisrCisgICAgICAgICAgICAgICAgIHArKzsKKyAgICAgICAgICAgICAgICAgYyA9IHN0cmNocihw LCAnOicpOworICAgICAgICAgICAgICAgICBzID0gc3RyY2hyKHAsIGRlbGltKTsKKy0gICAgICAg ICAgICAgICAgCisrCisgICAgICAgICAgICAgICAgIGlmKCpwICE9IGRlbGltKQorICAgICAgICAg ICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAvKiBnZXQgaXAgcG9ydGlvbiAqLworQEAg LTI1NDIsMTIgKzI1NDIsMTIgQEAgZ2xvYnVzX2xfZ3NjX2NtZF9wb3J0KAorICAgICAgICAgICAg ICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgIGJ1ZltqKytdID0gJ1snOworICAg ICAgICAgICAgICAgICAgICAgfQorLSAgICAgICAgICAgICAgICAKKysKKyAgICAgICAgICAgICAg ICAgICAgIHdoaWxlKGogPCBzaXplb2YoYnVmKSAtIDEgJiYgcCA8IHMpCisgICAgICAgICAgICAg ICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICAgYnVmW2orK10gPSAqKHArKyk7Cisg ICAgICAgICAgICAgICAgICAgICB9CistICAgICAgICAgICAgICAgICAgICAKKysKKyAgICAgICAg ICAgICAgICAgICAgIC8qIG5lZWQgcm9vbSBmb3IgXSwgOiwgNSBkaWdpdHMsIGFuZCBudWwgKi8K KyAgICAgICAgICAgICAgICAgICAgIGlmKCpwID09IGRlbGltICYmIGogKyA3IDwgc2l6ZW9mKGJ1 ZikpCisgICAgICAgICAgICAgICAgICAgICB7CitAQCAtMjU1Nyw3ICsyNTU3LDcgQEAgZ2xvYnVz X2xfZ3NjX2NtZF9wb3J0KAorICAgICAgICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgYnVmW2orK10gPSAnXSc7CisgICAgICAgICAgICAgICAgICAgICAg ICAgfQorLSAgICAgICAgICAgICAgICAgICAgICAgIAorKworICAgICAgICAgICAgICAgICAgICAg ICAgIGJ1ZltqKytdID0gJzonOworICAgICAgICAgICAgICAgICAgICAgICAgIHdoaWxlKGogPCBz aXplb2YoYnVmKSAtIDEgJiYKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNkaWdpdCgq cCkgJiYgKnAgIT0gZGVsaW0pCitAQCAtMjU3Myw5ICsyNTczLDkgQEAgZ2xvYnVzX2xfZ3NjX2Nt ZF9wb3J0KAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc2cgPSAiNTAxIE1hbGZvcm1l ZCBhcmd1bWVudC5cclxuIjsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7Cisg ICAgICAgICAgICAgICAgICAgICAgICAgfQorLSAgICAgICAgICAgICAgICAgICAgICAgIAorKwor ICAgICAgICAgICAgICAgICAgICAgICAgIGJ1ZltqXSA9IDA7CistICAgICAgICAgICAgICAgICAg ICAgICAgCisrCisgICAgICAgICAgICAgICAgICAgICAgICAgY29udGFjdF9zdHJpbmdzW2ldID0g Z2xvYnVzX2xpYmNfc3RyZHVwKGJ1Zik7CisgICAgICAgICAgICAgICAgICAgICB9CisgICAgICAg ICAgICAgICAgICAgICBlbHNlCitAQCAtMjU5NCwxMSArMjU5NCwxMSBAQCBnbG9idXNfbF9nc2Nf Y21kX3BvcnQoCisgICAgICAgICBlbHNlCisgICAgICAgICB7CisgICAgICAgICAgICAgaW50ICAg ICAgICAgICAgICAgICAgICAgICAgIGNvbnN1bWVkOworLSAgICAgICAgICAgIAorKworICAgICAg ICAgICAgIHdyYXBwZXItPnBydCA9IEdMT0JVU19HUklERlRQX1NFUlZFUl9DT05UUk9MX1BST1RP Q09MX0lQVjQ7CistICAgICAgICAgICAgCisrCisgICAgICAgICAgICAgd2hpbGUoKnAgJiYgIWlz ZGlnaXQoKnApKSBwKys7CistICAgIAorKworICAgICAgICAgICAgIHNjID0gc3NjYW5mKHAsCisg ICAgICAgICAgICAgICAgICAgICAgICAgIiV1LCV1LCV1LCV1LCV1LCV1JW4iLAorICAgICAgICAg ICAgICAgICAgICAgICAgICZob3N0X2lwWzBdLAorQEAgLTI2MzUsNyArMjYzNSw3IEBAIGdsb2J1 c19sX2dzY19jbWRfcG9ydCgKKyAgICAgICAgICAgICAgICAgcCArPSBjb25zdW1lZDsKKyAgICAg ICAgICAgICB9CisgICAgICAgICB9CistICAgICAgICAKKysKKyAgICAgICAgIGlmKCFjb250YWN0 X3N0cmluZ3NbaV0pCisgICAgICAgICB7CisgICAgICAgICAgICAgbXNnID0gX0ZTTVNMKCI1MDEg UmVzb3VyY2UgZXJyb3IuXHJcbiIpOworQEAgLTI2ODksNyArMjY4OSw3IEBAIGdsb2J1c19sX2dz Y19jbWRfcG9ydCgKKyAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgLS0tLS0tLS0tLS0tLS0t LS0tCisgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKi8KKyAKKy1zdGF0aWMgdm9pZCAKKytzdGF0aWMgdm9pZAor IGdsb2J1c19sX2dzY19kYXRhX2NiKAorICAgICBnbG9idXNfaV9nc2Nfb3BfdCAqICAgICAgICAg ICAgICAgICAgICAgb3AsCisgICAgIGdsb2J1c19ncmlkZnRwX3NlcnZlcl9jb250cm9sX3Jlc3Bv bnNlX3QgcmVzcG9uc2VfdHlwZSwKK0BAIC0yNzg4LDcgKzI3ODgsNyBAQCBnbG9idXNfbF9nc2Nf Y21kX3RyYW5zZmVyKAorICAgICAgICAgICAgICAgICBnbG9idXNfbF9nc2NfZGF0YV9jYiwKKyAg ICAgICAgICAgICAgICAgd3JhcHBlcik7CisgICAgICAgICAgICAgYnJlYWs7CistCSAgICAKKysK KyAgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICAgZ2xvYnVzX2Fzc2VydChHTE9CVVNfRkFM U0UpOworICAgICAgICAgICAgIGJyZWFrOworQEAgLTI4MzcsNyArMjgzNyw3IEBAIGdsb2J1c19s X2dzY19jbWRfc3Rvcl9yZXRyX2NiKAorIAorICAgICB3cmFwcGVyID0gKGdsb2J1c19pX2dzY19j bWRfd3JhcHBlcl90ICopIHVzZXJfYXJnOworICAgICB3cmFwcGVyLT5vcCA9IG9wOworLSAgICB3 cmFwcGVyLT5wYXRoID0gZ2xvYnVzX2xpYmNfc3RyZHVwKHBhdGgpOyAgICAKKysgICAgd3JhcHBl ci0+cGF0aCA9IGdsb2J1c19saWJjX3N0cmR1cChwYXRoKTsKKyAKKyAgICAgaWYocmVzcG9uc2Vf dHlwZSA9PSBHTE9CVVNfR1JJREZUUF9TRVJWRVJfQ09OVFJPTF9SRVNQT05TRV9TVUNDRVNTICYm CisgICAgICAgICBzdGF0X2NvdW50ID4gMSkKK0BAIC0yODQ2LDEzICsyODQ2LDEzIEBAIGdsb2J1 c19sX2dzY19jbWRfc3Rvcl9yZXRyX2NiKAorICAgICAgICAgbXNnID0gZ2xvYnVzX2NvbW1vbl9j cmVhdGVfc3RyaW5nKAorICAgICAgICAgICAgIF9GU01TTCgiUGF0aCBpcyBhIGRpcmVjdG9yeS4i KSk7CisgICAgIH0KKy0gICAgICAgCisrCisgICAgIGlmKHJlc3BvbnNlX3R5cGUgIT0gR0xPQlVT X0dSSURGVFBfU0VSVkVSX0NPTlRST0xfUkVTUE9OU0VfU1VDQ0VTUyB8fAorICAgICAgICAgc3Rh dF9jb3VudCA8IDEpCisgICAgIHsKKyAgICAgICAgIC8qIHdlJ2xsIG1pbWljIGEgU1RPUiBoZXJl IHNpbmNlIHRoZSBmaWxlIGRvZXNuJ3QgZXhpc3QgKi8KKyAgICAgICAgIHdyYXBwZXItPm1vZF9u YW1lID0gTlVMTDsKKy0gICAgICAgIHdyYXBwZXItPm1vZF9wYXJtcyA9IE5VTEw7ICAgICAgICAK KysgICAgICAgIHdyYXBwZXItPm1vZF9wYXJtcyA9IE5VTEw7CisgICAgIH0KKyAgICAgZWxzZQor ICAgICB7CitAQCAtMjg2MSw3ICsyODYxLDcgQEAgZ2xvYnVzX2xfZ3NjX2NtZF9zdG9yX3JldHJf Y2IoCisgICAgICAgICB3cmFwcGVyLT5tb2RfcGFybXMgPSBnbG9idXNfY29tbW9uX2NyZWF0ZV9z dHJpbmcoCisgICAgICAgICAgICAgIiUiR0xPQlVTX09GRl9UX0ZPUk1BVCwgc3RhdF9pbmZvLT5z aXplKTsKKyAgICAgfQorLSAgICAKKysKKyAgICAgaWYobXNnICE9IE5VTEwpCisgICAgIHsKKyAg ICAgICAgIHRtcF9wdHIgPSBnbG9idXNfZ3NjX3N0cmluZ190b185NTkoY29kZSwgbXNnLCBOVUxM KTsKK0BAIC0yODk5LDcgKzI4OTksNyBAQCBnbG9idXNfbF9nc2NfY21kX3N0b3JfcmV0cl9jYigK KyAgICAgICAgIGdsb2J1c19sX2dzY19jbWRfdHJhbnNmZXIod3JhcHBlcik7CisgICAgIH0KKyAg ICAgcmV0dXJuOworLSAgICAKKysKKyB9CisgCisgLyoKK0BAIC0yOTgxLDcgKzI5ODEsNyBAQCBn bG9idXNfbF9nc2NfY21kX3N0b3JfcmV0cigKKyAgICAgfQorICAgICBlbHNlIGlmKHN0cmNtcChj bWRfYVswXSwgIkFQUEUiKSA9PSAwKQorICAgICB7CistICAgICAgICBpbnQgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIG1hc2sgPSAKKysgICAgICAgIGludCAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgbWFzayA9CisgICAgICAgICAgICAgR0xPQlVTX0dSSURGVFBfU0VSVkVSX0NPTlRS T0xfUkVTT1VSQ0VfRklMRV9PTkxZOworIAorICAgICAgICAgcmVzID0gZ2xvYnVzX2lfZ3NjX3Jl c291cmNlX3F1ZXJ5KAorQEAgLTMwMDcsOCArMzAwNyw4IEBAIGdsb2J1c19sX2dzY19jbWRfc3Rv cl9yZXRyKAorICAgICAgICAgICAgIGFyZzIgPSBjbWRfYVsxXSArIDI7CisgICAgICAgICAgICAg d2hpbGUoaXNzcGFjZSgqYXJnMikgJiYgKmFyZzIgIT0gJ1wwJykgYXJnMisrOworIAorLSAgICAg ICAgICAgIHNjID0gc3NjYW5mKGFyZzIsIAorLSAgICAgICAgICAgICAgICAiJSJHTE9CVVNfT0ZG X1RfRk9STUFUIiAlIkdMT0JVU19PRkZfVF9GT1JNQVQsIAorKyAgICAgICAgICAgIHNjID0gc3Nj YW5mKGFyZzIsCisrICAgICAgICAgICAgICAgICIlIkdMT0JVU19PRkZfVF9GT1JNQVQiICUiR0xP QlVTX09GRl9UX0ZPUk1BVCwKKyAgICAgICAgICAgICAgICAgJnRtcF9vLCAmdG1wX28pOworICAg ICAgICAgICAgIGlmKHNjICE9IDIpCisgICAgICAgICAgICAgeworQEAgLTMwOTcsNyArMzA5Nyw3 IEBAIGdsb2J1c19sX2dzY19jbWRfc3Rvcl9yZXRyKAorICAgICAgICAgICAgICAgICBnbG9idXNf ZnJlZSh3cmFwcGVyKTsKKyAgICAgICAgICAgICAgICAgZ2xvYnVzX2dzY185NTlfZmluaXNoZWRf Y29tbWFuZChvcCwgX0ZTTVNMKCI1MDAgY29tbWFuZCBmYWlsZWQ6IHNwYWNlLlxyXG4iKSk7Cisg ICAgICAgICAgICAgICAgIHJldHVybjsKKy0gICAgICAgICAgICB9ICAgICAgICAgICAgCisrICAg ICAgICAgICAgfQorICAgICAgICAgICAgICp0bXBfcHRyID0gJ1wwJzsKKyAgICAgICAgICAgICBp Zih0bXBfcHRyWzFdID09ICdcMCcgfHwgdG1wX3B0clsyXSA9PSAnXDAnKQorICAgICAgICAgICAg IHsKK0BAIC0zMTM3LDggKzMxMzcsOCBAQCBnbG9idXNfbF9nc2NfY21kX3N0b3JfcmV0cigKKyAg ICAgICAgICAgICAgICAgICAgICAgICB0bXBfcHRyKys7CisgICAgICAgICAgICAgICAgICAgICB9 CisgICAgICAgICAgICAgICAgIH0KKy0gICAgICAgICAgICAgICAgCistICAgICAgICAgICAgICAg IGlmKCgqdG1wX3B0ciA9PSAnKicgJiYgKih0bXBfcHRyICsgMSkgPT0gJ1wwJykgfHwgCisrCisr ICAgICAgICAgICAgICAgIGlmKCgqdG1wX3B0ciA9PSAnKicgJiYgKih0bXBfcHRyICsgMSkgPT0g J1wwJykgfHwKKyAgICAgICAgICAgICAgICAgICAgICp0bXBfcHRyID09ICdcMCcpCisgICAgICAg ICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgIHBhdGggPSBnbG9idXNfbGliY19zdHJk dXAob3AtPnNlcnZlcl9oYW5kbGUtPmN3ZCk7CitAQCAtMzE0NywxNCArMzE0NywxNCBAQCBnbG9i dXNfbF9nc2NfY21kX3N0b3JfcmV0cigKKyAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAg ICAgICAgICAgaW50ICAgICAgICAgICAgICAgICBsZW47CisgICAgICAgICAgICAgICAgICAgICBj aGFyICogICAgICAgICAgICAgIGZuX3B0cjsKKy0gICAgICAgICAgICAgICAgICAgIAorKworICAg ICAgICAgICAgICAgICAgICAgbGVuID0gc3RybGVuKHRtcF9wdHIpOworICAgICAgICAgICAgICAg ICAgICAgaWYoc3RyY3Nwbih0bXBfcHRyLCAiW10qPyIpID09IGxlbikKKyAgICAgICAgICAgICAg ICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICBwYXRoID0gZ2xvYnVzX2xpYmNfc3Ry ZHVwKHRtcF9wdHIpOworICAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAg ICAgZWxzZQorLSAgICAgICAgICAgICAgICAgICAgeyAgIAorKyAgICAgICAgICAgICAgICAgICAg eworICAgICAgICAgICAgICAgICAgICAgICAgIGlmKChmbl9wdHIgPSBzdHJyY2hyKHRtcF9wdHIs ICcvJykpICE9IE5VTEwpCisgICAgICAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBmbl9wdHIrKzsKK0BAIC0zMjMyLDcgKzMyMzIsNyBAQCBnbG9idXNf aV9nc2NfYWRkX2NvbW1hbmRzKAorIAorICAgICBnbG9idXNfZ3NjXzk1OV9jb21tYW5kX2FkZCgK KyAgICAgICAgIHNlcnZlcl9oYW5kbGUsCistICAgICAgICAiQUxMTyIsIAorKyAgICAgICAgIkFM TE8iLAorICAgICAgICAgZ2xvYnVzX2xfZ3NjX2NtZF9hbGxvLAorICAgICAgICAgR0xPQlVTX0dT Q19DT01NQU5EX1BPU1RfQVVUSCwKKyAgICAgICAgIDIsCitAQCAtMzI0Miw3ICszMjQyLDcgQEAg Z2xvYnVzX2lfZ3NjX2FkZF9jb21tYW5kcygKKyAKKyAgICAgZ2xvYnVzX2dzY185NTlfY29tbWFu ZF9hZGQoCisgICAgICAgICBzZXJ2ZXJfaGFuZGxlLAorLSAgICAgICAgIkFQUEUiLCAKKysgICAg ICAgICJBUFBFIiwKKyAgICAgICAgIGdsb2J1c19sX2dzY19jbWRfc3Rvcl9yZXRyLAorICAgICAg ICAgR0xPQlVTX0dTQ19DT01NQU5EX1BPU1RfQVVUSCwKKyAgICAgICAgIDIsCitAQCAtMzI1Miw3 ICszMjUyLDcgQEAgZ2xvYnVzX2lfZ3NjX2FkZF9jb21tYW5kcygKKyAKKyAgICAgZ2xvYnVzX2dz Y185NTlfY29tbWFuZF9hZGQoCisgICAgICAgICBzZXJ2ZXJfaGFuZGxlLAorLSAgICAgICAgIkNX RCIsIAorKyAgICAgICAgIkNXRCIsCisgICAgICAgICBnbG9idXNfbF9nc2NfY21kX2N3ZCwKKyAg ICAgICAgIEdMT0JVU19HU0NfQ09NTUFORF9QT1NUX0FVVEgsCisgICAgICAgICAyLAorQEAgLTMy NjIsNyArMzI2Miw3IEBAIGdsb2J1c19pX2dzY19hZGRfY29tbWFuZHMoCisgCisgICAgIGdsb2J1 c19nc2NfOTU5X2NvbW1hbmRfYWRkKAorICAgICAgICAgc2VydmVyX2hhbmRsZSwKKy0gICAgICAg ICJDRFVQIiwgCisrICAgICAgICAiQ0RVUCIsCisgICAgICAgICBnbG9idXNfbF9nc2NfY21kX2N3 ZCwKKyAgICAgICAgIEdMT0JVU19HU0NfQ09NTUFORF9QT1NUX0FVVEgsCisgICAgICAgICAxLAor QEAgLTMyNzIsNyArMzI3Miw3IEBAIGdsb2J1c19pX2dzY19hZGRfY29tbWFuZHMoCisgCisgICAg IGdsb2J1c19nc2NfOTU5X2NvbW1hbmRfYWRkKAorICAgICAgICAgc2VydmVyX2hhbmRsZSwKKy0g ICAgICAgICJEQ0FVIiwgCisrICAgICAgICAiRENBVSIsCisgICAgICAgICBnbG9idXNfbF9nc2Nf Y21kX2RjYXUsCisgICAgICAgICBHTE9CVVNfR1NDX0NPTU1BTkRfUE9TVF9BVVRILAorICAgICAg ICAgMiwKK0BAIC0zMjgyLDcgKzMyODIsNyBAQCBnbG9idXNfaV9nc2NfYWRkX2NvbW1hbmRzKAor IAorICAgICBnbG9idXNfZ3NjXzk1OV9jb21tYW5kX2FkZCgKKyAgICAgICAgIHNlcnZlcl9oYW5k bGUsCistICAgICAgICAiRVBTViIsIAorKyAgICAgICAgIkVQU1YiLAorICAgICAgICAgZ2xvYnVz X2xfZ3NjX2NtZF9wYXN2LAorICAgICAgICAgR0xPQlVTX0dTQ19DT01NQU5EX1BPU1RfQVVUSCwK KyAgICAgICAgIDEsCitAQCAtMzI5Miw3ICszMjkyLDcgQEAgZ2xvYnVzX2lfZ3NjX2FkZF9jb21t YW5kcygKKyAKKyAgICAgZ2xvYnVzX2dzY185NTlfY29tbWFuZF9hZGQoCisgICAgICAgICBzZXJ2 ZXJfaGFuZGxlLAorLSAgICAgICAgIkVSRVQiLCAKKysgICAgICAgICJFUkVUIiwKKyAgICAgICAg IGdsb2J1c19sX2dzY19jbWRfc3Rvcl9yZXRyLAorICAgICAgICAgR0xPQlVTX0dTQ19DT01NQU5E X1BPU1RfQVVUSCwKKyAgICAgICAgIDIsCitAQCAtMzMwMiw3ICszMzAyLDcgQEAgZ2xvYnVzX2lf Z3NjX2FkZF9jb21tYW5kcygKKyAKKyAgICAgZ2xvYnVzX2dzY185NTlfY29tbWFuZF9hZGQoCisg ICAgICAgICBzZXJ2ZXJfaGFuZGxlLAorLSAgICAgICAgIkVTVE8iLCAKKysgICAgICAgICJFU1RP IiwKKyAgICAgICAgIGdsb2J1c19sX2dzY19jbWRfc3Rvcl9yZXRyLAorICAgICAgICAgR0xPQlVT X0dTQ19DT01NQU5EX1BPU1RfQVVUSCwKKyAgICAgICAgIDIsCitAQCAtMzMxMiw5ICszMzEyLDkg QEAgZ2xvYnVzX2lfZ3NjX2FkZF9jb21tYW5kcygKKyAKKyAgICAgZ2xvYnVzX2dzY185NTlfY29t bWFuZF9hZGQoCisgICAgICAgICBzZXJ2ZXJfaGFuZGxlLAorLSAgICAgICAgIkZFQVQiLCAKKysg ICAgICAgICJGRUFUIiwKKyAgICAgICAgIGdsb2J1c19sX2dzY19jbWRfZmVhdCwKKy0gICAgICAg IEdMT0JVU19HU0NfQ09NTUFORF9QUkVfQVVUSCB8IAorKyAgICAgICAgR0xPQlVTX0dTQ19DT01N QU5EX1BSRV9BVVRIIHwKKyAgICAgICAgICAgICBHTE9CVVNfR1NDX0NPTU1BTkRfUE9TVF9BVVRI LAorICAgICAgICAgMSwKKyAgICAgICAgIDEsCitAQCAtMzMyMyw5ICszMzIzLDkgQEAgZ2xvYnVz X2lfZ3NjX2FkZF9jb21tYW5kcygKKyAKKyAgICAgZ2xvYnVzX2dzY185NTlfY29tbWFuZF9hZGQo CisgICAgICAgICBzZXJ2ZXJfaGFuZGxlLAorLSAgICAgICAgIkhFTFAiLCAKKysgICAgICAgICJI RUxQIiwKKyAgICAgICAgIGdsb2J1c19sX2dzY19jbWRfaGVscCwKKy0gICAgICAgIEdMT0JVU19H U0NfQ09NTUFORF9QUkVfQVVUSCB8IAorKyAgICAgICAgR0xPQlVTX0dTQ19DT01NQU5EX1BSRV9B VVRIIHwKKyAgICAgICAgICAgICBHTE9CVVNfR1NDX0NPTU1BTkRfUE9TVF9BVVRILAorICAgICAg ICAgMSwKKyAgICAgICAgIDIsCitAQCAtMzMzNCw3ICszMzM0LDcgQEAgZ2xvYnVzX2lfZ3NjX2Fk ZF9jb21tYW5kcygKKyAKKyAgICAgZ2xvYnVzX2dzY185NTlfY29tbWFuZF9hZGQoCisgICAgICAg ICBzZXJ2ZXJfaGFuZGxlLAorLSAgICAgICAgIkxJU1QiLCAKKysgICAgICAgICJMSVNUIiwKKyAg ICAgICAgIGdsb2J1c19sX2dzY19jbWRfc3Rvcl9yZXRyLAorICAgICAgICAgR0xPQlVTX0dTQ19D T01NQU5EX1BPU1RfQVVUSCwKKyAgICAgICAgIDEsCitAQCAtMzM0NCw3ICszMzQ0LDcgQEAgZ2xv YnVzX2lfZ3NjX2FkZF9jb21tYW5kcygKKyAKKyAgICAgZ2xvYnVzX2dzY185NTlfY29tbWFuZF9h ZGQoCisgICAgICAgICBzZXJ2ZXJfaGFuZGxlLAorLSAgICAgICAgIk1EVE0iLCAKKysgICAgICAg ICJNRFRNIiwKKyAgICAgICAgIGdsb2J1c19sX2dzY19jbWRfbWR0bSwKKyAgICAgICAgIEdMT0JV U19HU0NfQ09NTUFORF9QT1NUX0FVVEgsCisgICAgICAgICAyLAorQEAgLTMzNTQsNyArMzM1NCw3 IEBAIGdsb2J1c19pX2dzY19hZGRfY29tbWFuZHMoCisgCisgICAgIGdsb2J1c19nc2NfOTU5X2Nv bW1hbmRfYWRkKAorICAgICAgICAgc2VydmVyX2hhbmRsZSwKKy0gICAgICAgICJNT0RFIiwgCisr ICAgICAgICAiTU9ERSIsCisgICAgICAgICBnbG9idXNfbF9nc2NfY21kX21vZGUsCisgICAgICAg ICBHTE9CVVNfR1NDX0NPTU1BTkRfUE9TVF9BVVRILAorICAgICAgICAgMiwKK0BAIC0zMzY0LDcg KzMzNjQsNyBAQCBnbG9idXNfaV9nc2NfYWRkX2NvbW1hbmRzKAorIAorICAgICBnbG9idXNfZ3Nj Xzk1OV9jb21tYW5kX2FkZCgKKyAgICAgICAgIHNlcnZlcl9oYW5kbGUsCistICAgICAgICAiTkxT VCIsIAorKyAgICAgICAgIk5MU1QiLAorICAgICAgICAgZ2xvYnVzX2xfZ3NjX2NtZF9zdG9yX3Jl dHIsCisgICAgICAgICBHTE9CVVNfR1NDX0NPTU1BTkRfUE9TVF9BVVRILAorICAgICAgICAgMSwK K0BAIC0zNDE0LDkgKzM0MTQsOSBAQCBnbG9idXNfaV9nc2NfYWRkX2NvbW1hbmRzKAorIAorICAg ICBnbG9idXNfZ3NjXzk1OV9jb21tYW5kX2FkZCgKKyAgICAgICAgIHNlcnZlcl9oYW5kbGUsCist ICAgICAgICAiTk9PUCIsIAorKyAgICAgICAgIk5PT1AiLAorICAgICAgICAgZ2xvYnVzX2xfZ3Nj X2NtZF9ub29wLAorLSAgICAgICAgR0xPQlVTX0dTQ19DT01NQU5EX1BSRV9BVVRIIHwgCisrICAg ICAgICBHTE9CVVNfR1NDX0NPTU1BTkRfUFJFX0FVVEggfAorICAgICAgICAgICAgIEdMT0JVU19H U0NfQ09NTUFORF9QT1NUX0FVVEgsCisgICAgICAgICAxLAorICAgICAgICAgMSwKK0BAIC0zNDI1 LDcgKzM0MjUsNyBAQCBnbG9idXNfaV9nc2NfYWRkX2NvbW1hbmRzKAorIAorICAgICBnbG9idXNf Z3NjXzk1OV9jb21tYW5kX2FkZCgKKyAgICAgICAgIHNlcnZlcl9oYW5kbGUsCistICAgICAgICAi T1BUUyIsIAorKyAgICAgICAgIk9QVFMiLAorICAgICAgICAgZ2xvYnVzX2xfZ3NjX2NtZF9vcHRz LAorICAgICAgICAgR0xPQlVTX0dTQ19DT01NQU5EX1BPU1RfQVVUSCwKKyAgICAgICAgIDIsCitA QCAtMzQzNSw3ICszNDM1LDcgQEAgZ2xvYnVzX2lfZ3NjX2FkZF9jb21tYW5kcygKKyAKKyAgICAg Z2xvYnVzX2dzY185NTlfY29tbWFuZF9hZGQoCisgICAgICAgICBzZXJ2ZXJfaGFuZGxlLAorLSAg ICAgICAgIlBBU1MiLCAKKysgICAgICAgICJQQVNTIiwKKyAgICAgICAgIGdsb2J1c19sX2dzY19j bWRfcGFzcywKKyAgICAgICAgIEdMT0JVU19HU0NfQ09NTUFORF9QUkVfQVVUSCwKKyAgICAgICAg IDEsCitAQCAtMzQ0NSw3ICszNDQ1LDcgQEAgZ2xvYnVzX2lfZ3NjX2FkZF9jb21tYW5kcygKKyAK KyAgICAgZ2xvYnVzX2dzY185NTlfY29tbWFuZF9hZGQoCisgICAgICAgICBzZXJ2ZXJfaGFuZGxl LAorLSAgICAgICAgIlBBU1YiLCAKKysgICAgICAgICJQQVNWIiwKKyAgICAgICAgIGdsb2J1c19s X2dzY19jbWRfcGFzdiwKKyAgICAgICAgIEdMT0JVU19HU0NfQ09NTUFORF9QT1NUX0FVVEgsCisg ICAgICAgICAxLAorQEAgLTM0NTUsNyArMzQ1NSw3IEBAIGdsb2J1c19pX2dzY19hZGRfY29tbWFu ZHMoCisgCisgICAgIGdsb2J1c19nc2NfOTU5X2NvbW1hbmRfYWRkKAorICAgICAgICAgc2VydmVy X2hhbmRsZSwKKy0gICAgICAgICJQQlNaIiwgCisrICAgICAgICAiUEJTWiIsCisgICAgICAgICBn bG9idXNfbF9nc2NfY21kX3Bic3osCisgICAgICAgICBHTE9CVVNfR1NDX0NPTU1BTkRfUE9TVF9B VVRILAorICAgICAgICAgMiwKK0BAIC0zNDY1LDcgKzM0NjUsNyBAQCBnbG9idXNfaV9nc2NfYWRk X2NvbW1hbmRzKAorIAorICAgICBnbG9idXNfZ3NjXzk1OV9jb21tYW5kX2FkZCgKKyAgICAgICAg IHNlcnZlcl9oYW5kbGUsCistICAgICAgICAiUE9SVCIsIAorKyAgICAgICAgIlBPUlQiLAorICAg ICAgICAgZ2xvYnVzX2xfZ3NjX2NtZF9wb3J0LAorICAgICAgICAgR0xPQlVTX0dTQ19DT01NQU5E X1BPU1RfQVVUSCwKKyAgICAgICAgIDIsCitAQCAtMzQ3NSw3ICszNDc1LDcgQEAgZ2xvYnVzX2lf Z3NjX2FkZF9jb21tYW5kcygKKyAKKyAgICAgZ2xvYnVzX2dzY185NTlfY29tbWFuZF9hZGQoCisg ICAgICAgICBzZXJ2ZXJfaGFuZGxlLAorLSAgICAgICAgIlBST1QiLCAKKysgICAgICAgICJQUk9U IiwKKyAgICAgICAgIGdsb2J1c19sX2dzY19jbWRfcHJvdCwKKyAgICAgICAgIEdMT0JVU19HU0Nf Q09NTUFORF9QT1NUX0FVVEgsCisgICAgICAgICAyLAorQEAgLTM0ODUsNyArMzQ4NSw3IEBAIGds b2J1c19pX2dzY19hZGRfY29tbWFuZHMoCisgCisgICAgIGdsb2J1c19nc2NfOTU5X2NvbW1hbmRf YWRkKAorICAgICAgICAgc2VydmVyX2hhbmRsZSwKKy0gICAgICAgICJFUFJUIiwgCisrICAgICAg ICAiRVBSVCIsCisgICAgICAgICBnbG9idXNfbF9nc2NfY21kX3BvcnQsCisgICAgICAgICBHTE9C VVNfR1NDX0NPTU1BTkRfUE9TVF9BVVRILAorICAgICAgICAgMiwKK0BAIC0zNDk1LDcgKzM0OTUs NyBAQCBnbG9idXNfaV9nc2NfYWRkX2NvbW1hbmRzKAorIAorICAgICBnbG9idXNfZ3NjXzk1OV9j b21tYW5kX2FkZCgKKyAgICAgICAgIHNlcnZlcl9oYW5kbGUsCistICAgICAgICAiU1BPUiIsIAor KyAgICAgICAgIlNQT1IiLAorICAgICAgICAgZ2xvYnVzX2xfZ3NjX2NtZF9wb3J0LAorICAgICAg ICAgR0xPQlVTX0dTQ19DT01NQU5EX1BPU1RfQVVUSCwKKyAgICAgICAgIDIsCitAQCAtMzUwNSw3 ICszNTA1LDcgQEAgZ2xvYnVzX2lfZ3NjX2FkZF9jb21tYW5kcygKKyAKKyAgICAgZ2xvYnVzX2dz Y185NTlfY29tbWFuZF9hZGQoCisgICAgICAgICBzZXJ2ZXJfaGFuZGxlLAorLSAgICAgICAgIlRS RVYiLCAKKysgICAgICAgICJUUkVWIiwKKyAgICAgICAgIGdsb2J1c19sX2dzY19jbWRfdHJldiwK KyAgICAgICAgIEdMT0JVU19HU0NfQ09NTUFORF9QT1NUX0FVVEgsCisgICAgICAgICAzLAorQEAg LTM1MTUsNyArMzUxNSw3IEBAIGdsb2J1c19pX2dzY19hZGRfY29tbWFuZHMoCisgCisgICAgIGds b2J1c19nc2NfOTU5X2NvbW1hbmRfYWRkKAorICAgICAgICAgc2VydmVyX2hhbmRsZSwKKy0gICAg ICAgICJQV0QiLCAKKysgICAgICAgICJQV0QiLAorICAgICAgICAgZ2xvYnVzX2xfZ3NjX2NtZF9w d2QsCisgICAgICAgICBHTE9CVVNfR1NDX0NPTU1BTkRfUE9TVF9BVVRILAorICAgICAgICAgMSwK K0BAIC0zNTI1LDkgKzM1MjUsOSBAQCBnbG9idXNfaV9nc2NfYWRkX2NvbW1hbmRzKAorIAorICAg ICBnbG9idXNfZ3NjXzk1OV9jb21tYW5kX2FkZCgKKyAgICAgICAgIHNlcnZlcl9oYW5kbGUsCist ICAgICAgICAiUVVJVCIsIAorKyAgICAgICAgIlFVSVQiLAorICAgICAgICAgZ2xvYnVzX2xfZ3Nj X2NtZF9xdWl0LAorLSAgICAgICAgR0xPQlVTX0dTQ19DT01NQU5EX1BSRV9BVVRIIHwgCisrICAg ICAgICBHTE9CVVNfR1NDX0NPTU1BTkRfUFJFX0FVVEggfAorICAgICAgICAgICAgIEdMT0JVU19H U0NfQ09NTUFORF9QT1NUX0FVVEgsCisgICAgICAgICAxLAorICAgICAgICAgMSwKK0BAIC0zNTM2 LDcgKzM1MzYsNyBAQCBnbG9idXNfaV9nc2NfYWRkX2NvbW1hbmRzKAorIAorICAgICBnbG9idXNf Z3NjXzk1OV9jb21tYW5kX2FkZCgKKyAgICAgICAgIHNlcnZlcl9oYW5kbGUsCistICAgICAgICAi UkVTVCIsIAorKyAgICAgICAgIlJFU1QiLAorICAgICAgICAgZ2xvYnVzX2xfZ3NjX2NtZF9yZXN0 LAorICAgICAgICAgR0xPQlVTX0dTQ19DT01NQU5EX1BPU1RfQVVUSCwKKyAgICAgICAgIDIsCitA QCAtMzU0Niw3ICszNTQ2LDcgQEAgZ2xvYnVzX2lfZ3NjX2FkZF9jb21tYW5kcygKKyAKKyAgICAg Z2xvYnVzX2dzY185NTlfY29tbWFuZF9hZGQoCisgICAgICAgICBzZXJ2ZXJfaGFuZGxlLAorLSAg ICAgICAgIlJFVFIiLCAKKysgICAgICAgICJSRVRSIiwKKyAgICAgICAgIGdsb2J1c19sX2dzY19j bWRfc3Rvcl9yZXRyLAorICAgICAgICAgR0xPQlVTX0dTQ19DT01NQU5EX1BPU1RfQVVUSCwKKyAg ICAgICAgIDIsCitAQCAtMzU1Niw3ICszNTU2LDcgQEAgZ2xvYnVzX2lfZ3NjX2FkZF9jb21tYW5k cygKKyAKKyAgICAgZ2xvYnVzX2dzY185NTlfY29tbWFuZF9hZGQoCisgICAgICAgICBzZXJ2ZXJf aGFuZGxlLAorLSAgICAgICAgIlNCVUYiLCAKKysgICAgICAgICJTQlVGIiwKKyAgICAgICAgIGds b2J1c19sX2dzY19jbWRfc2J1ZiwKKyAgICAgICAgIEdMT0JVU19HU0NfQ09NTUFORF9QT1NUX0FV VEgsCisgICAgICAgICAyLAorQEAgLTM1NjYsNyArMzU2Niw3IEBAIGdsb2J1c19pX2dzY19hZGRf Y29tbWFuZHMoCisgCisgICAgIGdsb2J1c19nc2NfOTU5X2NvbW1hbmRfYWRkKAorICAgICAgICAg c2VydmVyX2hhbmRsZSwKKy0gICAgICAgICJTSVpFIiwgCisrICAgICAgICAiU0laRSIsCisgICAg ICAgICBnbG9idXNfbF9nc2NfY21kX3NpemUsCisgICAgICAgICBHTE9CVVNfR1NDX0NPTU1BTkRf UE9TVF9BVVRILAorICAgICAgICAgMiwKK0BAIC0zNTc2LDcgKzM1NzYsNyBAQCBnbG9idXNfaV9n c2NfYWRkX2NvbW1hbmRzKAorIAorICAgICBnbG9idXNfZ3NjXzk1OV9jb21tYW5kX2FkZCgKKyAg ICAgICAgIHNlcnZlcl9oYW5kbGUsCistICAgICAgICAiU1BBUyIsIAorKyAgICAgICAgIlNQQVMi LAorICAgICAgICAgZ2xvYnVzX2xfZ3NjX2NtZF9wYXN2LAorICAgICAgICAgR0xPQlVTX0dTQ19D T01NQU5EX1BPU1RfQVVUSCwKKyAgICAgICAgIDEsCitAQCAtMzU4Niw3ICszNTg2LDcgQEAgZ2xv YnVzX2lfZ3NjX2FkZF9jb21tYW5kcygKKyAKKyAgICAgZ2xvYnVzX2dzY185NTlfY29tbWFuZF9h ZGQoCisgICAgICAgICBzZXJ2ZXJfaGFuZGxlLAorLSAgICAgICAgIlNUQVQiLCAKKysgICAgICAg ICJTVEFUIiwKKyAgICAgICAgIGdsb2J1c19sX2dzY19jbWRfc3RhdCwKKyAgICAgICAgIEdMT0JV U19HU0NfQ09NTUFORF9QT1NUX0FVVEgsCisgICAgICAgICAxLAorQEAgLTM1OTYsNyArMzU5Niw3 IEBAIGdsb2J1c19pX2dzY19hZGRfY29tbWFuZHMoCisgCisgICAgIGdsb2J1c19nc2NfOTU5X2Nv bW1hbmRfYWRkKAorICAgICAgICAgc2VydmVyX2hhbmRsZSwKKy0gICAgICAgICJTVE9SIiwgCisr ICAgICAgICAiU1RPUiIsCisgICAgICAgICBnbG9idXNfbF9nc2NfY21kX3N0b3JfcmV0ciwKKyAg ICAgICAgIEdMT0JVU19HU0NfQ09NTUFORF9QT1NUX0FVVEgsCisgICAgICAgICAyLAorQEAgLTM2 MDYsNyArMzYwNiw3IEBAIGdsb2J1c19pX2dzY19hZGRfY29tbWFuZHMoCisgCisgICAgIGdsb2J1 c19nc2NfOTU5X2NvbW1hbmRfYWRkKAorICAgICAgICAgc2VydmVyX2hhbmRsZSwKKy0gICAgICAg ICJTVFJVIiwgCisrICAgICAgICAiU1RSVSIsCisgICAgICAgICBnbG9idXNfbF9nc2NfY21kX3N0 cnUsCisgICAgICAgICBHTE9CVVNfR1NDX0NPTU1BTkRfUE9TVF9BVVRILAorICAgICAgICAgMiwK K0BAIC0zNjE2LDcgKzM2MTYsNyBAQCBnbG9idXNfaV9nc2NfYWRkX2NvbW1hbmRzKAorIAorICAg ICBnbG9idXNfZ3NjXzk1OV9jb21tYW5kX2FkZCgKKyAgICAgICAgIHNlcnZlcl9oYW5kbGUsCist ICAgICAgICAiU1lTVCIsIAorKyAgICAgICAgIlNZU1QiLAorICAgICAgICAgZ2xvYnVzX2xfZ3Nj X2NtZF9zeXN0LAorICAgICAgICAgR0xPQlVTX0dTQ19DT01NQU5EX1BPU1RfQVVUSCwKKyAgICAg ICAgIDEsCitAQCAtMzYyNiw3ICszNjI2LDcgQEAgZ2xvYnVzX2lfZ3NjX2FkZF9jb21tYW5kcygK KyAKKyAgICAgZ2xvYnVzX2dzY185NTlfY29tbWFuZF9hZGQoCisgICAgICAgICBzZXJ2ZXJfaGFu ZGxlLAorLSAgICAgICAgIlRZUEUiLCAKKysgICAgICAgICJUWVBFIiwKKyAgICAgICAgIGdsb2J1 c19sX2dzY19jbWRfdHlwZSwKKyAgICAgICAgIEdMT0JVU19HU0NfQ09NTUFORF9QT1NUX0FVVEgs CisgICAgICAgICAyLAorQEAgLTM2MzYsNyArMzYzNiw3IEBAIGdsb2J1c19pX2dzY19hZGRfY29t bWFuZHMoCisgCisgICAgIGdsb2J1c19nc2NfOTU5X2NvbW1hbmRfYWRkKAorICAgICAgICAgc2Vy dmVyX2hhbmRsZSwKKy0gICAgICAgICJVU0VSIiwgCisrICAgICAgICAiVVNFUiIsCisgICAgICAg ICBnbG9idXNfbF9nc2NfY21kX3VzZXIsCisgICAgICAgICBHTE9CVVNfR1NDX0NPTU1BTkRfUFJF X0FVVEgsCisgICAgICAgICAyLAorQEAgLTM2NDYsNyArMzY0Niw3IEBAIGdsb2J1c19pX2dzY19h ZGRfY29tbWFuZHMoCisgCisgICAgIGdsb2J1c19nc2NfOTU5X2NvbW1hbmRfYWRkKAorICAgICAg ICAgc2VydmVyX2hhbmRsZSwKKy0gICAgICAgICJTSVRFIFNCVUYiLCAKKysgICAgICAgICJTSVRF IFNCVUYiLAorICAgICAgICAgZ2xvYnVzX2xfZ3NjX2NtZF9zaXRlX3NidWYsCisgICAgICAgICBH TE9CVVNfR1NDX0NPTU1BTkRfUE9TVF9BVVRILAorICAgICAgICAgMywKK0BAIC0zNjU2LDcgKzM2 NTYsNyBAQCBnbG9idXNfaV9nc2NfYWRkX2NvbW1hbmRzKAorIAorICAgICBnbG9idXNfZ3NjXzk1 OV9jb21tYW5kX2FkZCgKKyAgICAgICAgIHNlcnZlcl9oYW5kbGUsCistICAgICAgICAiU0lURSBS RVRSQlVGU0laRSIsIAorKyAgICAgICAgIlNJVEUgUkVUUkJVRlNJWkUiLAorICAgICAgICAgZ2xv YnVzX2xfZ3NjX2NtZF9zaXRlX3JlY2VpdmVfYnVmLAorICAgICAgICAgR0xPQlVTX0dTQ19DT01N QU5EX1BPU1RfQVVUSCwKKyAgICAgICAgIDMsCitAQCAtMzY2Niw3ICszNjY2LDcgQEAgZ2xvYnVz X2lfZ3NjX2FkZF9jb21tYW5kcygKKyAKKyAgICAgZ2xvYnVzX2dzY185NTlfY29tbWFuZF9hZGQo CisgICAgICAgICBzZXJ2ZXJfaGFuZGxlLAorLSAgICAgICAgIlNJVEUgUkJVRlNaIiwgCisrICAg ICAgICAiU0lURSBSQlVGU1oiLAorICAgICAgICAgZ2xvYnVzX2xfZ3NjX2NtZF9zaXRlX3JlY2Vp dmVfYnVmLAorICAgICAgICAgR0xPQlVTX0dTQ19DT01NQU5EX1BPU1RfQVVUSCwKKyAgICAgICAg IDMsCitAQCAtMzY3Niw3ICszNjc2LDcgQEAgZ2xvYnVzX2lfZ3NjX2FkZF9jb21tYW5kcygKKyAK KyAgICAgZ2xvYnVzX2dzY185NTlfY29tbWFuZF9hZGQoCisgICAgICAgICBzZXJ2ZXJfaGFuZGxl LAorLSAgICAgICAgIlNJVEUgUkJVRlNJWiIsIAorKyAgICAgICAgIlNJVEUgUkJVRlNJWiIsCisg ICAgICAgICBnbG9idXNfbF9nc2NfY21kX3NpdGVfcmVjZWl2ZV9idWYsCisgICAgICAgICBHTE9C VVNfR1NDX0NPTU1BTkRfUE9TVF9BVVRILAorICAgICAgICAgMywKK0BAIC0zNjg2LDcgKzM2ODYs NyBAQCBnbG9idXNfaV9nc2NfYWRkX2NvbW1hbmRzKAorIAorICAgICBnbG9idXNfZ3NjXzk1OV9j b21tYW5kX2FkZCgKKyAgICAgICAgIHNlcnZlcl9oYW5kbGUsCistICAgICAgICAiU0lURSBTVE9S QlVGU0laRSIsIAorKyAgICAgICAgIlNJVEUgU1RPUkJVRlNJWkUiLAorICAgICAgICAgZ2xvYnVz X2xfZ3NjX2NtZF9zaXRlX3NlbmRfYnVmLAorICAgICAgICAgR0xPQlVTX0dTQ19DT01NQU5EX1BP U1RfQVVUSCwKKyAgICAgICAgIDMsCitAQCAtMzY5Niw3ICszNjk2LDcgQEAgZ2xvYnVzX2lfZ3Nj X2FkZF9jb21tYW5kcygKKyAKKyAgICAgZ2xvYnVzX2dzY185NTlfY29tbWFuZF9hZGQoCisgICAg ICAgICBzZXJ2ZXJfaGFuZGxlLAorLSAgICAgICAgIlNJVEUgU0JVRlNaIiwgCisrICAgICAgICAi U0lURSBTQlVGU1oiLAorICAgICAgICAgZ2xvYnVzX2xfZ3NjX2NtZF9zaXRlX3NlbmRfYnVmLAor ICAgICAgICAgR0xPQlVTX0dTQ19DT01NQU5EX1BPU1RfQVVUSCwKKyAgICAgICAgIDMsCitAQCAt MzcwNiw3ICszNzA2LDcgQEAgZ2xvYnVzX2lfZ3NjX2FkZF9jb21tYW5kcygKKyAKKyAgICAgZ2xv YnVzX2dzY185NTlfY29tbWFuZF9hZGQoCisgICAgICAgICBzZXJ2ZXJfaGFuZGxlLAorLSAgICAg ICAgIlNJVEUgU0JVRlNJWiIsIAorKyAgICAgICAgIlNJVEUgU0JVRlNJWiIsCisgICAgICAgICBn bG9idXNfbF9nc2NfY21kX3NpdGVfc2VuZF9idWYsCisgICAgICAgICBHTE9CVVNfR1NDX0NPTU1B TkRfUE9TVF9BVVRILAorICAgICAgICAgMywKK0BAIC0zNzE2LDkgKzM3MTYsOSBAQCBnbG9idXNf aV9nc2NfYWRkX2NvbW1hbmRzKAorIAorICAgICBnbG9idXNfZ3NjXzk1OV9jb21tYW5kX2FkZCgK KyAgICAgICAgIHNlcnZlcl9oYW5kbGUsCistICAgICAgICAiU0lURSBIRUxQIiwgCisrICAgICAg ICAiU0lURSBIRUxQIiwKKyAgICAgICAgIGdsb2J1c19sX2dzY19jbWRfaGVscCwKKy0gICAgICAg IEdMT0JVU19HU0NfQ09NTUFORF9QUkVfQVVUSCB8IAorKyAgICAgICAgR0xPQlVTX0dTQ19DT01N QU5EX1BSRV9BVVRIIHwKKyAgICAgICAgICAgICBHTE9CVVNfR1NDX0NPTU1BTkRfUE9TVF9BVVRI LAorICAgICAgICAgMiwKKyAgICAgICAgIDMsCitAQCAtMzcyNyw3ICszNzI3LDcgQEAgZ2xvYnVz X2lfZ3NjX2FkZF9jb21tYW5kcygKKyAKKyAgICAgZ2xvYnVzX2dzY185NTlfY29tbWFuZF9hZGQo CisgICAgICAgICBzZXJ2ZXJfaGFuZGxlLAorLSAgICAgICAgIlNJVEUgRkFVTFQiLCAKKysgICAg ICAgICJTSVRFIEZBVUxUIiwKKyAgICAgICAgIGdsb2J1c19sX2dzY19jbWRfc2l0ZV9mYXVsdCwK KyAgICAgICAgIEdMT0JVU19HU0NfQ09NTUFORF9QT1NUX0FVVEgsCisgICAgICAgICAzLAorQEAg LTM3MzcsMTQgKzM3MzcsMTQgQEAgZ2xvYnVzX2lfZ3NjX2FkZF9jb21tYW5kcygKKyAKKyAgICAg Z2xvYnVzX2dzY185NTlfY29tbWFuZF9hZGQoCisgICAgICAgICBzZXJ2ZXJfaGFuZGxlLAorLSAg ICAgICAgIkxBTkciLCAKKysgICAgICAgICJMQU5HIiwKKyAgICAgICAgIGdsb2J1c19sX2dzY19j bWRfbGFuZywKKyAgICAgICAgIEdMT0JVU19HU0NfQ09NTUFORF9QT1NUX0FVVEgsCisgICAgICAg ICAxLAorICAgICAgICAgMiwKKyAgICAgICAgICJMQU5HOiBzZXQgbGFuZ3VhZ2UgZm9yIG1lc3Nh Z2VzIiwKKyAgICAgICAgIE5VTEwpOworLSAgICAKKysKKyAgICAgLyogYWRkIGZlYXR1cmVzICov CisgICAgIGdsb2J1c19ncmlkZnRwX3NlcnZlcl9jb250cm9sX2FkZF9mZWF0dXJlKHNlcnZlcl9o YW5kbGUsICJQQVNWIEFsbG93RGVsYXllZDsiKTsKKyAgICAgZ2xvYnVzX2dyaWRmdHBfc2VydmVy X2NvbnRyb2xfYWRkX2ZlYXR1cmUoc2VydmVyX2hhbmRsZSwgIk1EVE0iKTsKK0BAIC0zNzUzLDEx ICszNzUzLDExIEBAIGdsb2J1c19pX2dzY19hZGRfY29tbWFuZHMoCisgICAgIGdsb2J1c19ncmlk ZnRwX3NlcnZlcl9jb250cm9sX2FkZF9mZWF0dXJlKHNlcnZlcl9oYW5kbGUsICJTUEFTIik7Cisg ICAgIGdsb2J1c19ncmlkZnRwX3NlcnZlcl9jb250cm9sX2FkZF9mZWF0dXJlKHNlcnZlcl9oYW5k bGUsICJFU1RPIik7CisgICAgIGdsb2J1c19ncmlkZnRwX3NlcnZlcl9jb250cm9sX2FkZF9mZWF0 dXJlKHNlcnZlcl9oYW5kbGUsICJFUkVUIik7CistICAgIGdsb2J1c19ncmlkZnRwX3NlcnZlcl9j b250cm9sX2FkZF9mZWF0dXJlKHNlcnZlcl9oYW5kbGUsICJNTFNUIFR5cGUqO1NpemUqO01vZGlm eSo7UGVybSo7Q2hhcnNldDtVTklYLm1vZGUqO1VOSVgub3duZXIqO1VOSVgudWlkKjtVTklYLmdy b3VwKjtVTklYLmdpZCo7VW5pcXVlKjtVTklYLnNsaW5rKjtYLmNvdW50OyIpOyAgICAKKy0gICAg Z2xvYnVzX2dyaWRmdHBfc2VydmVyX2NvbnRyb2xfYWRkX2ZlYXR1cmUoc2VydmVyX2hhbmRsZSwg IlNJWkUiKTsgICAgCistICAgIGdsb2J1c19ncmlkZnRwX3NlcnZlcl9jb250cm9sX2FkZF9mZWF0 dXJlKHNlcnZlcl9oYW5kbGUsICJQQVJBTExFTCIpOyAgICAKKy0gICAgZ2xvYnVzX2dyaWRmdHBf c2VydmVyX2NvbnRyb2xfYWRkX2ZlYXR1cmUoc2VydmVyX2hhbmRsZSwgIkRDQVUiKTsgICAgCist ICAgIGdsb2J1c19ncmlkZnRwX3NlcnZlcl9jb250cm9sX2FkZF9mZWF0dXJlKHNlcnZlcl9oYW5k bGUsICJMQU5HIEVOIik7ICAgIAorKyAgICBnbG9idXNfZ3JpZGZ0cF9zZXJ2ZXJfY29udHJvbF9h ZGRfZmVhdHVyZShzZXJ2ZXJfaGFuZGxlLCAiTUxTVCBUeXBlKjtTaXplKjtNb2RpZnkqO1Blcm0q O0NoYXJzZXQ7VU5JWC5tb2RlKjtVTklYLm93bmVyKjtVTklYLnVpZCo7VU5JWC5ncm91cCo7VU5J WC5naWQqO1VuaXF1ZSo7VU5JWC5zbGluayo7WC5jb3VudDsiKTsKKysgICAgZ2xvYnVzX2dyaWRm dHBfc2VydmVyX2NvbnRyb2xfYWRkX2ZlYXR1cmUoc2VydmVyX2hhbmRsZSwgIlNJWkUiKTsKKysg ICAgZ2xvYnVzX2dyaWRmdHBfc2VydmVyX2NvbnRyb2xfYWRkX2ZlYXR1cmUoc2VydmVyX2hhbmRs ZSwgIlBBUkFMTEVMIik7CisrICAgIGdsb2J1c19ncmlkZnRwX3NlcnZlcl9jb250cm9sX2FkZF9m ZWF0dXJlKHNlcnZlcl9oYW5kbGUsICJEQ0FVIik7CisrICAgIGdsb2J1c19ncmlkZnRwX3NlcnZl cl9jb250cm9sX2FkZF9mZWF0dXJlKHNlcnZlcl9oYW5kbGUsICJMQU5HIEVOIik7CisgICAgIGds b2J1c19ncmlkZnRwX3NlcnZlcl9jb250cm9sX2FkZF9mZWF0dXJlKHNlcnZlcl9oYW5kbGUsICJV VEY4Iik7CisgICAgIGdsb2J1c19ncmlkZnRwX3NlcnZlcl9jb250cm9sX2FkZF9mZWF0dXJlKHNl cnZlcl9oYW5kbGUsICJNTFNDIik7CisgICAgIGdsb2J1c19ncmlkZnRwX3NlcnZlcl9jb250cm9s X2FkZF9mZWF0dXJlKHNlcnZlcl9oYW5kbGUsICJNTFNSIik7CitkaWZmIC0tZ2l0IGEvZ3JpZGZ0 cC9zZXJ2ZXItbGliL3NyYy9nbG9idXNfeGlvX2dzc2FwaV9mdHAuYyBiL2dyaWRmdHAvc2VydmVy LWxpYi9zcmMvZ2xvYnVzX3hpb19nc3NhcGlfZnRwLmMKK2luZGV4IGM0MTY3NGJhMi4uYjU1ZDRh M2UwIDEwMDY0NAorLS0tIGEvZ3JpZGZ0cC9zZXJ2ZXItbGliL3NyYy9nbG9idXNfeGlvX2dzc2Fw aV9mdHAuYworKysrIGIvZ3JpZGZ0cC9zZXJ2ZXItbGliL3NyYy9nbG9idXNfeGlvX2dzc2FwaV9m dHAuYworQEAgLTM1LDcgKzM1LDcgQEAKKyAgICAgICAgICAgICBfeGlvX25hbWUsICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAg ICAgIF9fTElORV9fLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBcCisgICAgICAgICAgICAgIkJhZCBQYXJhbWV0ZXIiKSkKKy0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIAorKworICNkZWZpbmUgR2xvYnVzWElPR3NzYXBpRlRQT3V0c3RhbmRpbmdP cCgpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgIGdsb2J1c19lcnJv cl9wdXQoICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFwKKyAgICAgICAgIGdsb2J1c19lcnJvcl9jb25zdHJ1Y3RfZXJyb3IoICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorQEAgLTQ2LDcgKzQ2LDcgQEAKKyAgICAgICAg ICAgICBfeGlvX25hbWUsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXAorICAgICAgICAgICAgIF9fTElORV9fLCAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgIk9wZXJh dGlvbiBpcyBvdXRzdGFuZGluZyIpKQorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisrCisgI2Rl ZmluZSBHbG9idXNYSU9Hc3NhcGlGVFBFbmNvZGluZ0Vycm9yKCkgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFwKKyAgICAgZ2xvYnVzX2Vycm9yX3B1dCggICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgZ2xvYnVz X2Vycm9yX2NvbnN0cnVjdF9lcnJvciggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBcCitAQCAtNTcsNyArNTcsNyBAQAorICAgICAgICAgICAgIF94aW9fbmFtZSwgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAg ICAgICAgX19MSU5FX18sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAiRXJyb3IgZW5jb2RpbmcuIikpCistICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAKKysKKyAjZGVmaW5lIEdsb2J1c1hJT0dzc2FwaUZUUEFsbG9jRXJy b3IoKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICBnbG9idXNf ZXJyb3JfcHV0KCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBcCisgICAgICAgICBnbG9idXNfZXJyb3JfY29uc3RydWN0X2Vycm9yKCAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKK0BAIC05Miw3ICs5Miw3IEBACisgICAg ICAgICAgICAgX3hpb19uYW1lLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICBfX0xJTkVfXywgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgIGZh aWx1cmUpKQorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisrCisgI2RlZmlu ZSBHbG9idXNYSU9Hc3NhcGlGVFBBdXRoZW50aWNhdGlvbkZhaWx1cmUoc3RyKSAgICAgICAgICAg ICAgICAgICAgICAgICBcCisgICAgICBnbG9idXNfZXJyb3JfcHV0KCAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgZ2xvYnVz X2Vycm9yX2NvbnN0cnVjdF9lcnJvciggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBcCitAQCAtMTA0LDcgKzEwNCw3IEBACisgICAgICAgICAgICAgIF9fTElORV9fLCAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAg ICAgICAgICAgICJBdXRoZW50aWNhdGlvbiBFcnJvcjogJXMiLCAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgIHN0cikpCistICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAKKysKKyAjZGVmaW5lIEdsb2J1c1hJT0dzc2FwaUZUUFF1aXQoKSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgIGdsb2J1c19lcnJvcl9w dXQoICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IFwKKyAgICAgICAgICBnbG9idXNfZXJyb3JfY29uc3RydWN0X2Vycm9yKCAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFwKK0BAIC0yMjEsMTYgKzIyMSwxNiBAQCBzdGF0aWMg Z2xvYnVzX3hpb19kcml2ZXJfdCAgICAgICAgICAgICAgZ2xvYnVzX2xfZ3NzYXBpX3RlbG5ldF9k cml2ZXIgPSBOVUxMOworIHN0YXRpYyBjaGFyICAgICAgICAgICAgICAgICAgICAgICAgICAgICBn bG9idXNfbF94aW9fZ3NzYXBpX2Z0cF9wYWQgPSAnPSc7Cisgc3RhdGljIGNoYXIgKiAgICAgICAg ICAgICAgICAgICAgICAgICAgIGdsb2J1c19sX3hpb19nc3NhcGlfZnRwX3JhZGl4X24gPQorICAg ICAgICAgIkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4 eXowMTIzNDU2Nzg5Ky8iOworLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisrCisgLyoqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqCistICogICAgICAgICAgICAgICAgICAgIGRhdGEgdHlwZSBkZWZpbml0aW9ucyAK KysgKiAgICAgICAgICAgICAgICAgICAgZGF0YSB0eXBlIGRlZmluaXRpb25zCisgICogICAgICAg ICAgICAgICAgICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICAqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwor IAorIC8qKgorICAqICBvcGVuaW5nCisgICogIC0tLS0tLS0KKy0gKiAgV2hlbiBhIHVzZXIgb3Bl bnMgYSBoYW5kbGUgdGhlIGF1dGhlbnRpY2F0aW9uIHByb2Nlc3MgYmVnaW5zLiAgVGhlIAorKyAq ICBXaGVuIGEgdXNlciBvcGVucyBhIGhhbmRsZSB0aGUgYXV0aGVudGljYXRpb24gcHJvY2VzcyBi ZWdpbnMuICBUaGUKKyAgKiAgZGVmYXVsdCBjYXNlIHdpbGwgZG8gdGhlIGVudGlyZSBhdXRoZW50 aWNhdGlvbiBwcm9jZXNzZXMgYXMgZGVzY3JpYmVkCisgICogIGluIHRoZSBzdGF0ZSBtYWNoaW5l LiAgSG93ZXZlciB0aGUgdXNlciBjYW4gb3ZlcnJpZGUgdmFyaW91cyBiaXRzCisgICogIG9mIHRo ZSBhdXRoZW50aWNhdGlvbiBwcm9jZXNzIGJ5IHNldHRpbmcgdGhlIHN0YXJ0IHN0YXRlIG9uIHRo ZSBoYW5kbGUKK0BAIC0yMzksMTEgKzIzOSwxMSBAQCBzdGF0aWMgY2hhciAqICAgICAgICAgICAg ICAgICAgICAgICAgICAgZ2xvYnVzX2xfeGlvX2dzc2FwaV9mdHBfcmFkaXhfbiA9CisgLyoKKyAg KiAgd3JpdHRpbmcKKyAgKiAgLS0tLS0tLS0KKy0gKiAgT25jZSBhbiBvcGVuIGhhbmRsZSBpcyBl c3N0YWJsaXNoZWQgdGhlIHVzZXIgbWF5IHBvc3Qgd3JpdGVzLiAgSWYgCisrICogIE9uY2UgYW4g b3BlbiBoYW5kbGUgaXMgZXNzdGFibGlzaGVkIHRoZSB1c2VyIG1heSBwb3N0IHdyaXRlcy4gIElm CisgICogIGEgd3JpdGUgaXMgcG9zdGVkIHRoYXQgZG9lcyBub3QgY29udGFpbiBhIGNvbXBsZXRl IGNvbW1hbmQgKG5vIFxyXG4pCisgICogIHRoZW4gaXQgaXMgY29waWVkIHRvIGFuIGludGVybmFs IGJ1ZmZlciBhbmQgdGhlIHVzZXIgaXMgdG9sZCB0aGF0IHRoZQorICAqICB3cml0ZSBvcGVyYXRp b24gaXMgY29tcGxldGUuICBBcyBzb29uIGFzIGEgY29tcGxldGUgY29tbWFuIGlzIHJlY2VpdmVk CistICogIGl0IGlzIHdyYXBwZWQgYW5kIGVuY29kZWQgdGhlbiBwYXNzZWQgZG93biB0aGUgc3Rh Y2suICBBZGRpdGlvbmFsIAorKyAqICBpdCBpcyB3cmFwcGVkIGFuZCBlbmNvZGVkIHRoZW4gcGFz c2VkIGRvd24gdGhlIHN0YWNrLiAgQWRkaXRpb25hbAorICAqICBkYXRhIGJleW91bmQgYSBjb21w bGV0ZSBjb21tYW5kIGlzIGNhY2hlZCBpbiB0aGUgc2FtZSB3YXkuCisgICovCisgCitAQCAtNDE4 LDcgKzQxOCw3IEBAIGdsb2J1c19sX3hpb19nc3NhcGlfZnRwX2hhbmRsZV9jcmVhdGUoKQorICAg ICAvKgorICAgICAgKiAgY3JlYXRlIGEgbmV3IGhhbmRsZSBhbmQgaW5pdGlhbGl6ZSBpdAorICAg ICAgKi8KKy0gICAgaGFuZGxlID0gKGdsb2J1c19sX3hpb19nc3NhcGlfZnRwX2hhbmRsZV90ICop IAorKyAgICBoYW5kbGUgPSAoZ2xvYnVzX2xfeGlvX2dzc2FwaV9mdHBfaGFuZGxlX3QgKikKKyAg ICAgICAgICAgICAgICAgZ2xvYnVzX2xpYmNfY2FsbG9jKHNpemVvZihnbG9idXNfbF94aW9fZ3Nz YXBpX2Z0cF9oYW5kbGVfdCksIDEpOworICAgICBpZihoYW5kbGUgPT0gTlVMTCkKKyAgICAgewor QEAgLTUyMSw3ICs1MjEsNyBAQCBnbG9idXNfbF94aW9fZ3NzYXBpX2Z0cF9yYWRpeF9kZWNvZGUo CisgICAgIHsKKyAgICAgICAgIGlmICgocCA9IHN0cmNocihnbG9idXNfbF94aW9fZ3NzYXBpX2Z0 cF9yYWRpeF9uLCBpbmJ1ZltpXSkpID09IE5VTEwpCisgICAgICAgICB7CistCSAgICBnb3RvIGVy cjsKKysgICAgICAgICAgICBnb3RvIGVycjsKKyAgICAgICAgIH0KKyAgICAgICAgIEQgPSBwIC0g Z2xvYnVzX2xfeGlvX2dzc2FwaV9mdHBfcmFkaXhfbjsKKyAgICAgICAgIHN3aXRjaCAoaSYzKQor QEAgLTU0OCwyNyArNTQ4LDI3IEBAIGdsb2J1c19sX3hpb19nc3NhcGlfZnRwX3JhZGl4X2RlY29k ZSgKKyAgICAgc3dpdGNoIChpJjMpCisgICAgIHsKKyAgICAgICAgIGNhc2UgMToKKy0JICAgIGdv dG8gZXJyOworLSAKKysgICAgICAgICAgICBnb3RvIGVycjsKKysKKyAgICAgICAgY2FzZSAyOgor ICAgICAgICAgICAgIGlmIChEJjE1KQorICAgICAgICAgICAgIHsKKy0JICAgICAgICBnb3RvIGVy cjsKKysgICAgICAgICAgICAgICAgZ290byBlcnI7CisgICAgICAgICAgICAgfQorICAgICAgICAg ICAgIGlmIChzdHJjbXAoKGNoYXIgKikmaW5idWZbaV0sICI9PSIpKQorICAgICAgICAgICAgIHsK Ky0JICAgICAgICBnb3RvIGVycjsKKysgICAgICAgICAgICAgICAgZ290byBlcnI7CisgICAgICAg ICAgICAgfQorICAgICAgICAgICAgIGJyZWFrOworIAorICAgICAgICAgY2FzZSAzOgorICAgICAg ICAgICAgIGlmIChEJjMpCisgICAgICAgICAgICAgeworLQkgICAgICAgIGdvdG8gZXJyOworKyAg ICAgICAgICAgICAgICBnb3RvIGVycjsKKyAgICAgICAgICAgICB9CisgICAgICAgICAgICAgaWYg KHN0cmNtcCgoY2hhciAqKSZpbmJ1ZltpXSwgIj0iKSkKKyAgICAgICAgICAgICB7CistCSAgICAg ICAgZ290byBlcnI7CisrICAgICAgICAgICAgICAgIGdvdG8gZXJyOworICAgICAgICAgICAgIH0K KyAgICAgICAgICAgICBicmVhazsKKyAKK0BAIC03NTksNyArNzU5LDcgQEAgZ2xvYnVzX2xfeGlv X2dzc2FwaV9mdHBfZGVjb2RlX2FkYXQoCisgICAgICAgICAvKiBpZiB3ZSBoYXZlIGZpbmlzaGVk IHRoZSBzZWN1cml0eSBleGNoYW5nZSAqLworICAgICAgICAgY2FzZSBHU1NfU19DT01QTEVURToK KyAgICAgICAgICAgICAvKiBnZXQgdGhlIHN1YmplY3QgYW5kIGNvcHkgaW50byBoYW5kbGUgKi8K Ky0gICAgICAgICAgICAKKysKKyAgICAgICAgICAgICBtYWpfc3RhdCA9IGdzc19kaXNwbGF5X25h bWUoCisgICAgICAgICAgICAgICAgICZtaW5fc3RhdCwKKyAgICAgICAgICAgICAgICAgaGFuZGxl LT50YXJnZXRfbmFtZSwKK0BAIC05NTQsNyArOTU0LDcgQEAgZ2xvYnVzX2xfeGlvX2dzc2FwaV9m dHBfcGFyc2VfY29tbWFuZCgKKyAgICAgICAgICAgICAgICAgICAgIHN1Yl9sZW4gLT0gNDsKKyAg ICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAvKiBmZWF0IGlzIHJldHVybmluZyBj b250aW51YXRpb24gY29tbWFuZHMgdGhhdCBsb29rIHN0cmFiZ2UKKy0gICAgICAgICAgICAgICAg ICAgdGhpcyBhbGxvd3MgaXQgdG8gd29yaywgYnV0IFRPRE86IHZlcmlmaXkgc2VydmVyIGlzIAor KyAgICAgICAgICAgICAgICAgICB0aGlzIGFsbG93cyBpdCB0byB3b3JrLCBidXQgVE9ETzogdmVy aWZpeSBzZXJ2ZXIgaXMKKyAgICAgICAgICAgICAgICAgICAgY29ycmVjdCAqLworICAgICAgICAg ICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgIHsKK0BAIC0xMDAyLDggKzEwMDIsOCBAQCBl cnI6CisgfQorIAorIC8qCistICogIHRha2UgYSB3cmFwcGVkIGJ1ZmZlciBhbmQgZGVjb2RlIGFu ZCB1bndyYXAgaXQuICBUaGUgY2FsbGVyIGlzIAorLSAqICByZXNwb25zaWJsZSBmb3IgZnJlZWlu ZyB0aGUgb3V0IGJ1ZmZlciBpZiB0aGUgZnVuY3Rpb24gcmV0dXJucyAKKysgKiAgdGFrZSBhIHdy YXBwZWQgYnVmZmVyIGFuZCBkZWNvZGUgYW5kIHVud3JhcCBpdC4gIFRoZSBjYWxsZXIgaXMKKysg KiAgcmVzcG9uc2libGUgZm9yIGZyZWVpbmcgdGhlIG91dCBidWZmZXIgaWYgdGhlIGZ1bmN0aW9u IHJldHVybnMKKyAgKiAgc3VjY2Vzc2Z1bGx5LgorICAqLworIHN0YXRpYyBnbG9idXNfcmVzdWx0 X3QKK0BAIC0xMDYyLDkgKzEwNjIsOSBAQCBnbG9idXNfbF94aW9fZ3NzYXBpX2Z0cF91bndyYXAo CisgICAgICAgICBnbG9idXNfZnJlZShidWYpOworICAgICAgICAgZ290byBlcnI7CisgICAgIH0K Ky0gICAgCisrCisgICAgIGdsb2J1c19mcmVlKGJ1Zik7CistICAgIAorKworICAgICAvKiBjb3B5 IHRoZSB1bndyYXBwZWQgdG9rZW4gaW4gKi8KKyAgICAgbGVuID0gdW53cmFwcGVkX3Rva2VuLmxl bmd0aDsKKyAgICAgYnVmID0gZ2xvYnVzX21hbGxvYyhsZW4rMyk7CitAQCAtMTEwNiw3ICsxMTA2 LDcgQEAgZ2xvYnVzX2xfeGlvX2dzc2FwaV9mdHBfdW53cmFwKAorIHN0YXRpYyBnbG9idXNfcmVz dWx0X3QKKyBnbG9idXNfbF94aW9fZ3NzYXBpX2Z0cF93cmFwKAorICAgICBnbG9idXNfbF94aW9f Z3NzYXBpX2Z0cF9oYW5kbGVfdCAqICBoYW5kbGUsCistICAgIGdsb2J1c19ieXRlX3QgICogICAg ICAgICAgICAgICAgICAgIGluX2J1ZiwgCisrICAgIGdsb2J1c19ieXRlX3QgICogICAgICAgICAg ICAgICAgICAgIGluX2J1ZiwKKyAgICAgZ2xvYnVzX3NpemVfdCAgICAgICAgICAgICAgICAgICAg ICAgbGVuZ3RoLAorICAgICB2b2lkICoqICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvdXRf YnVmZmVyLAorICAgICBnbG9idXNfc2l6ZV90ICogICAgICAgICAgICAgICAgICAgICBvdXRfbGVu LAorQEAgLTExMjUsNyArMTEyNSw3IEBAIGdsb2J1c19sX3hpb19nc3NhcGlfZnRwX3dyYXAoCisg CisgICAgIGdzc19pbl9idWYudmFsdWUgPSBpbl9idWY7CisgICAgIGdzc19pbl9idWYubGVuZ3Ro ID0gbGVuZ3RoOworLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisrCisgICAgIG1hal9zdGF0ID0g Z3NzX3dyYXAoJm1pbl9zdGF0LAorICAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZS0+Z3Nz YXBpX2NvbnRleHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgMCwKK0BAIC0xMTM5LDcgKzEx MzksNyBAQCBnbG9idXNfbF94aW9fZ3NzYXBpX2Z0cF93cmFwKAorICAgICAgICAgZ290byBlcnI7 CisgICAgIH0KKyAKKy0gICAgZW5jb2RlZF9idWYgPSAoY2hhciAqKSAKKysgICAgZW5jb2RlZF9i dWYgPSAoY2hhciAqKQorICAgICAgICAgZ2xvYnVzX2xpYmNfbWFsbG9jKChnc3Nfb3V0X2J1Zi5s ZW5ndGggKyAzKSAqIDggLyA2ICsgOSk7CisgICAgIGlmKGVuY29kZWRfYnVmID09IE5VTEwpCisg ICAgIHsKK0BAIC0xMTk1LDEwICsxMTk1LDEwIEBAIGdsb2J1c19sX3hpb19nc3NhcGlfZnRwX3dy YXAoCisgfQorIAorIC8qICBwcmVsaW5lIG9ubHkgYWZmZWN0cyBtdWx0aWxpbmUgc3RyaW5ncy4K Ky0gICAgYSBudWxsIHByZWxpbmUgd2lsbCBwcmVwZW5kIGEgImNvZGUtIiB0byB0aGUgZnJvbnQg b2YgZWFjaCBsaW5lIGJ5IGRlZmF1bHQsIAorKyAgICBhIG51bGwgcHJlbGluZSB3aWxsIHByZXBl bmQgYSAiY29kZS0iIHRvIHRoZSBmcm9udCBvZiBlYWNoIGxpbmUgYnkgZGVmYXVsdCwKKyAgICAg b3RoZXJ3aXNlIHRoZSBwcmVsaW5lIGlzIHByZXBlbmRlZC4KKyAqLworLXN0YXRpYyAKKytzdGF0 aWMKKyBjaGFyICoKKyBnbG9idXNfbF94aW9fZ3NzYXBpX2Z0cF9zdHJpbmdfdG9fOTU5KAorICAg ICBpbnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2RlLAorQEAgLTEyNTEsOCAr MTI1MSw4IEBAIGdsb2J1c19sX3hpb19nc3NhcGlfZnRwX3N0cmluZ190b185NTkoCisgCisgICAg ICAgICAgICAgdG1wX3B0ciA9IG1zZzsKKyAgICAgICAgICAgICBtc2cgPSBnbG9idXNfY29tbW9u X2NyZWF0ZV9zdHJpbmcoCistICAgICAgICAgICAgICAgICIlcyVzJXNcclxuIiwgCistICAgICAg ICAgICAgICAgIHRtcF9wdHIsIAorKyAgICAgICAgICAgICAgICAiJXMlcyVzXHJcbiIsCisrICAg ICAgICAgICAgICAgIHRtcF9wdHIsCisgICAgICAgICAgICAgICAgIChjdHIgPiAwKSA/IHByZXBh ZCA6ICIiLAorICAgICAgICAgICAgICAgICBzdGFydF9wdHIpOworICAgICAgICAgICAgIGdsb2J1 c19mcmVlKHRtcF9wdHIpOworQEAgLTEyODMsNyArMTI4Myw3IEBAIGdsb2J1c19sX3hpb19nc3Nh cGlfZnRwX3N0cmluZ190b185NTkoCisgICogICAgICAgICAgICAgICAgICBzZXJ2ZXIgb3Blbgor ICAqICAgICAgICAgICAgICAgICAgLS0tLS0tLS0tLS0KKyAgKgorLSAqICBUaGlzIHNlY3Rpb24g Y29udGFpbnMgdGhlIGZ1bmN0aW9ucyB1c2VkIGJ5IGEgc2VydmVyIGluIG9wZW5uaW5nIAorKyAq ICBUaGlzIHNlY3Rpb24gY29udGFpbnMgdGhlIGZ1bmN0aW9ucyB1c2VkIGJ5IGEgc2VydmVyIGlu IG9wZW5uaW5nCisgICogIGEgaGFuZGxlLgorICAqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyAvKgorQEAgLTEz NzAsNyArMTM3MCw3IEBAIGdsb2J1c19sX3hpb19nc3NhcGlfZnRwX3NlcnZlcl9yZWFkX2NiKAor ICAgICAgICAgICAgICAgICAgICAgICAgIG1zZyA9IGdsb2J1c19saWJjX3N0cmR1cChSRVBMWV81 MzBfRVhQRUNUSU5HX0FEQVQpOworICAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg ICAgICB9CistICAgICAgICAgICAgICAgIGVsc2UgaWYoY21kX2FbMV0gPT0gTlVMTCB8fCAKKysg ICAgICAgICAgICAgICAgZWxzZSBpZihjbWRfYVsxXSA9PSBOVUxMIHx8CisgICAgICAgICAgICAg ICAgICAgICAgICAgc3RyY2FzZWNtcChjbWRfYVsxXSwgIkdTU0FQSSIpICE9IDApCisgICAgICAg ICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgIG1zZyA9IGdsb2J1c19saWJjX3N0cmR1 cChSRVBMWV81MDRfQkFEX0FVVEhfVFlQRSk7CitAQCAtMTQ5Miw5ICsxNDkyLDkgQEAgZ2xvYnVz X2xfeGlvX2dzc2FwaV9mdHBfc2VydmVyX3JlYWRfY2IoCisgICAgICAgICAgICAgaGFuZGxlLT5h dXRoX3dyaXRlX2lvdi5pb3ZfbGVuID0gZ2xvYnVzX2xpYmNfc3RybGVuKG1zZyk7CisgICAgICAg ICAgICAgR2xvYnVzWElPR3NzYXBpZnRwRGVidWdQYXNzV3JpdGUoKTsKKyAgICAgICAgICAgICBy ZXMgPSBnbG9idXNfeGlvX2RyaXZlcl9wYXNzX3dyaXRlKAorLSAgICAgICAgICAgICAgICBvcCwg CisrICAgICAgICAgICAgICAgIG9wLAorICAgICAgICAgICAgICAgICAmaGFuZGxlLT5hdXRoX3dy aXRlX2lvdiwKKy0gICAgICAgICAgICAgICAgMSwgCisrICAgICAgICAgICAgICAgIDEsCisgICAg ICAgICAgICAgICAgIGhhbmRsZS0+YXV0aF93cml0ZV9pb3YuaW92X2xlbiwKKyAgICAgICAgICAg ICAgICAgZ2xvYnVzX2xfeGlvX2dzc2FwaV9mdHBfYXV0aF9zZXJ2ZXJfd3JpdGVfY2IsCisgICAg ICAgICAgICAgICAgIGhhbmRsZSk7CitAQCAtMTUyOSw4ICsxNTI5LDggQEAgZ2xvYnVzX2xfeGlv X2dzc2FwaV9mdHBfc2VydmVyX3JlYWRfY2IoCisgCisgLyoKKyAgKiAgd2hpbGUgaW4gdGhlIG9w ZW4gYXV0aGVudGljYXRpb24gcHJvY2VzcywgdGhpcyBjYWxsYmFjayBpcyB1c2VkIGZvcgorLSAq ICBhbGwgb2YgdGhlIHdyaXRlcy4gIAorLSAqLyAKKysgKiAgYWxsIG9mIHRoZSB3cml0ZXMuCisr ICovCisgc3RhdGljIHZvaWQKKyBnbG9idXNfbF94aW9fZ3NzYXBpX2Z0cF9hdXRoX3NlcnZlcl93 cml0ZV9jYigKKyAgICAgZ2xvYnVzX3hpb19vcGVyYXRpb25fdCAgICAgICAgICAgICAgb3AsCitA QCAtMTU4MCw3ICsxNTgwLDcgQEAgZ2xvYnVzX2xfeGlvX2dzc2FwaV9mdHBfYXV0aF9zZXJ2ZXJf d3JpdGVfY2IoCisgICAgICAgICAgICAgICAgIGJyZWFrOworIAorICAgICAgICAgICAgY2FzZSBH U1NBUElfRlRQX1NUQVRFX1NFUlZFUl9BREFUX1JFUExZOgorLSAgICAgICAgICAgICAgICBHbG9i dXNYSU9Hc3NhcGlmdHBEZWJ1Z0NoYW5nZVN0YXRlKGhhbmRsZSwgCisrICAgICAgICAgICAgICAg IEdsb2J1c1hJT0dzc2FwaWZ0cERlYnVnQ2hhbmdlU3RhdGUoaGFuZGxlLAorICAgICAgICAgICAg ICAgICAgICAgR1NTQVBJX0ZUUF9TVEFURV9PUEVOKTsKKyAgICAgICAgICAgICAgICAgYnJlYWs7 CisgCitAQCAtMTYyMCw4ICsxNjIwLDggQEAgZ2xvYnVzX2xfeGlvX2dzc2FwaV9mdHBfYXV0aF9z ZXJ2ZXJfd3JpdGVfY2IoCisgfQorIC8qCisgICogIHdoaWxlIGluIHRoZSBvcGVuIGF1dGhlbnRp Y2F0aW9uIHByb2Nlc3MsIHRoaXMgY2FsbGJhY2sgaXMgdXNlZCBmb3IKKy0gKiAgYWxsIG9mIHRo ZSB3cml0ZXMuICAKKy0gKi8gCisrICogIGFsbCBvZiB0aGUgd3JpdGVzLgorKyAqLworIHN0YXRp YyB2b2lkCisgZ2xvYnVzX2xfeGlvX2dzc2FwaV9mdHBfY2xpZW50X3ByZWF1dGhfY2xpZW50X3dy aXRlX2NiKAorICAgICBnbG9idXNfeGlvX29wZXJhdGlvbl90ICAgICAgICAgICAgICBvcCwKK0BA IC0xNzA5LDggKzE3MDksOCBAQCBnbG9idXNfbF94aW9fZ3NzYXBpX2Z0cF9hY2NlcHRfY2IoCisg fQorIAorIC8qCistICogIGNhbGxiYWNrIGZvciB0aGUgcGFzcyBvcGVuLiAgSWYgdGhlIHN0YXRl IGlzIG5vdCBjb21wbGV0ZWx5IG9wZW4gCistICogIHBvc3QgYSByZWFkIHRvIG1vdmUgdG8gdGhl IG5leHQgcG9pbnQgaW4gdGhlIGF1dGhlbnRpY2F0aW9uIAorKyAqICBjYWxsYmFjayBmb3IgdGhl IHBhc3Mgb3Blbi4gIElmIHRoZSBzdGF0ZSBpcyBub3QgY29tcGxldGVseSBvcGVuCisrICogIHBv c3QgYSByZWFkIHRvIG1vdmUgdG8gdGhlIG5leHQgcG9pbnQgaW4gdGhlIGF1dGhlbnRpY2F0aW9u CisgICogIHByb2Nlc3MuICBJbiB0aGUgbm9ybWFsIGNhc2UgdGhpcyB3aWxsIGJlIEFVVEgsIGhv d2V2ZXIgdGhlIHVzZXIKKyAgKiAgbWF5IGNpcmN1bXZlbnQgdGhlc2Ugc3RlcHMuCisgICovCitA QCAtMTc5NCw3ICsxNzk0LDcgQEAgZ2xvYnVzX2xfeGlvX2dzc2FwaV9mdHBfc2VydmVyX29wZW5f Y2IoCisgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKgorICAqICAgICAgICAgICAgICAgICAgY2xpZW50IG9wZW4g ZnVuY3Rpb25zCisgICogICAgICAgICAgICAgICAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy0g KiAgCisrICoKKyAgKiAgIFRoaXMgc2VjdGlvbiBoYXMgZnVuY3Rpb25zIHRoYXQgb3BlbiBhIGhh bmRsZSBmb3IgYSBjbGllbnQKKyAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisgCitAQCAtMTgyOSw3ICsxODI5 LDcgQEAgZ2xvYnVzX2xfeGlvX2dzc2FwaV9mdHBfY2xpZW50X2FkYXQoCisgCisgICAgICAgICAg ICAgaWYoaGFuZGxlLT5zdWJqZWN0ID09IE5VTEwpCisgICAgICAgICAgICAgeworLSAgICAgICAg ICAgICAgICB4aW9fZHJpdmVyX2hhbmRsZSA9IAorKyAgICAgICAgICAgICAgICB4aW9fZHJpdmVy X2hhbmRsZSA9CisgICAgICAgICAgICAgICAgICAgICBnbG9idXNfeGlvX29wZXJhdGlvbl9nZXRf ZHJpdmVyX2hhbmRsZShoYW5kbGUtPm9wKTsKKyAKKyAgICAgICAgICAgICAgICAgcmVzdWx0ID0g Z2xvYnVzX3hpb19kcml2ZXJfaGFuZGxlX2NudGwoCitAQCAtMTg5MiwxNSArMTg5MiwxNSBAQCBn bG9idXNfbF94aW9fZ3NzYXBpX2Z0cF9jbGllbnRfYWRhdCgKKyAgICAgICAgIGNhc2UgR1NTQVBJ X0ZUUF9TVEFURV9DTElFTlRfU0VORElOR19BREFUOgorICAgICAgICAgICAgIC8qIGJhc2U2NCBk ZWNvZGUgdGhlIHJlcGx5ICovCisgICAgICAgICAgICAgbGVuZ3RoID0gZ2xvYnVzX2xpYmNfc3Ry bGVuKGJ1ZmZlcik7CistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKysKKyAgICAgICAgICAgICBy YWRpeF9idWYgPSBnbG9idXNfbGliY19tYWxsb2MoKGxlbmd0aCArIDEpICogNiAvIDggKyAxKTsK Ky0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIAorKworICAgICAgICAgICAgIGlmKHJhZGl4X2J1ZiA9 PSBHTE9CVVNfTlVMTCkKKyAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgIHJlcyA9IEds b2J1c1hJT0dzc2FwaUZUUEFsbG9jRXJyb3IoKTsKKyAgICAgICAgICAgICAgICAgZ290byBlcnI7 CisgICAgICAgICAgICAgfQorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisrCisgICAgICAgICAg ICAgcmVzID0gZ2xvYnVzX2xfeGlvX2dzc2FwaV9mdHBfcmFkaXhfZGVjb2RlKAorICAgICAgICAg ICAgICAgICAgICAgKGNvbnN0IGdsb2J1c19ieXRlX3QgKikgYnVmZmVyLAorICAgICAgICAgICAg ICAgICAgICAgcmFkaXhfYnVmLAorQEAgLTE5NjIsOCArMTk2Miw4IEBAIGdsb2J1c19sX3hpb19n c3NhcGlfZnRwX2NsaWVudF9hZGF0KAorICAgICAgICAgICAgICAgICBtZW1jcHkocmFkaXhfYnVm LCAiQURBVCAiLCA1KTsKKyAgICAgICAgICAgICAgICAgbGVuZ3RoID0gc2VuZF90b2subGVuZ3Ro OworICAgICAgICAgICAgICAgICByZXMgPSBnbG9idXNfbF94aW9fZ3NzYXBpX2Z0cF9yYWRpeF9l bmNvZGUoCistICAgICAgICAgICAgICAgICAgICAgICAgc2VuZF90b2sudmFsdWUsIAorLSAgICAg ICAgICAgICAgICAgICAgICAgIHNlbmRfdG9rLmxlbmd0aCwgCisrICAgICAgICAgICAgICAgICAg ICAgICAgc2VuZF90b2sudmFsdWUsCisrICAgICAgICAgICAgICAgICAgICAgICAgc2VuZF90b2su bGVuZ3RoLAorICAgICAgICAgICAgICAgICAgICAgICAgICZyYWRpeF9idWZbNV0sCisgICAgICAg ICAgICAgICAgICAgICAgICAgJmxlbmd0aCk7CisgICAgICAgICAgICAgICAgIGlmKHJlcyAhPSBH TE9CVVNfU1VDQ0VTUykKK0BAIC0xOTc4LDcgKzE5NzgsNyBAQCBnbG9idXNfbF94aW9fZ3NzYXBp X2Z0cF9jbGllbnRfYWRhdCgKKyAgICAgICAgICAgICAgICAgKm91dF9idWZmZXIgPSAoY2hhciAq KSByYWRpeF9idWY7CisgICAgICAgICAgICAgfQorIAorLSAgICAgICAgICAgIGJyZWFrOyAKKysg ICAgICAgICAgICBicmVhazsKKyAKKyAgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICAgcmVz ID0gR2xvYnVzWElPR3NzYXBpRlRQR1NJQXV0aEZhaWx1cmUobWFqX3N0YXQsIG1pbl9zdGF0KTsK K0BAIC0yMDU0LDcgKzIwNTQsNyBAQCBnbG9idXNfbF94aW9fZ3NzYXBpX2Z0cF9wcmVhdXRoX2Ns aWVudF9yZWFkX2NiKAorICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICBH bG9idXNYSU9Hc3NhcGlmdHBEZWJ1Z0NoYW5nZVN0YXRlKGhhbmRsZSwKKyAgICAgICAgICAgICAg ICAgICAgICAgICBHU1NBUElfRlRQX1NUQVRFX0NMSUVOVF9TRU5ESU5HX0FVVEgpOworLSAgICAg ICAgICAgICAgICAgICAgc2VuZF9idWZmZXIgPSAKKysgICAgICAgICAgICAgICAgICAgIHNlbmRf YnVmZmVyID0KKyAgICAgICAgICAgICAgICAgICAgICAgICBnbG9idXNfbGliY19zdHJkdXAoQ0xJ RU5UX0FVVEhfR1NTQVBJX0NPTU1BTkQpOworICAgICAgICAgICAgICAgICAgICAgaGFuZGxlLT5i YW5uZXIgPSBoYW5kbGUtPmF1dGhfcmVhZF9pb3YuaW92X2Jhc2U7CisgICAgICAgICAgICAgICAg ICAgICBoYW5kbGUtPmJhbm5lcl9sZW5ndGggPSBoYW5kbGUtPmF1dGhfcmVhZF9pb3YuaW92X2xl bjsKK0BAIC0yMjIyLDcgKzIyMjIsNyBAQCBnbG9idXNfbF94aW9fZ3NzYXBpX2Z0cF9hY2NlcHQo CisgCisgICAgIEdsb2J1c1hJT0dzc2FwaWZ0cERlYnVnRW50ZXIoKTsKKyAKKy0gICAgcmVzID0g Z2xvYnVzX3hpb19kcml2ZXJfcGFzc19hY2NlcHQoYWNjZXB0X29wLCAKKysgICAgcmVzID0gZ2xv YnVzX3hpb19kcml2ZXJfcGFzc19hY2NlcHQoYWNjZXB0X29wLAorICAgICAgICAgZ2xvYnVzX2xf eGlvX2dzc2FwaV9mdHBfYWNjZXB0X2NiLCBOVUxMKTsKKyAKKyAgICAgR2xvYnVzWElPR3NzYXBp ZnRwRGVidWdFeGl0KCk7CitAQCAtMjI0MiwxMSArMjI0MiwxMSBAQCBnbG9idXNfbF94aW9fZ3Nz YXBpX2Z0cF9hdHRyX2luaXQoCisgCisgICAgIEdsb2J1c1hJT0dzc2FwaWZ0cERlYnVnRW50ZXIo KTsKKyAKKy0gICAgYXR0ciA9IChnbG9idXNfbF94aW9fZ3NzYXBpX2F0dHJfdCAqKSAKKysgICAg YXR0ciA9IChnbG9idXNfbF94aW9fZ3NzYXBpX2F0dHJfdCAqKQorICAgICAgICAgZ2xvYnVzX2Nh bGxvYygxLCBzaXplb2YoZ2xvYnVzX2xfeGlvX2dzc2FwaV9hdHRyX3QpKTsKKyAgICAgaWYoYXR0 ciA9PSBOVUxMKQorICAgICB7CistCSAgICBnb3RvIGVycjsKKysgICAgICAgICAgICBnb3RvIGVy cjsKKyAgICAgfQorICAgICBhdHRyLT5zdWJqZWN0ID0gTlVMTDsKKyAgICAgYXR0ci0+c3RhcnRf c3RhdGUgPSBHU1NBUElfRlRQX1NUQVRFX05PTkU7CitAQCAtMjMzMCw3ICsyMzMwLDcgQEAgZ2xv YnVzX2xfeGlvX2dzc2FwaV9mdHBfYXR0cl9jb3B5KAorICAgICByZXMgPSBnbG9idXNfbF94aW9f Z3NzYXBpX2Z0cF9hdHRyX2luaXQoKHZvaWQgKiopICZkc3RfYXR0cik7CisgICAgIGlmKHJlcyAh PSBHTE9CVVNfU1VDQ0VTUykKKyAgICAgeworLQlnb3RvIGVycjsKKysgICAgICAgIGdvdG8gZXJy OworICAgICB9CisgICAgIG1lbWNweShkc3RfYXR0ciwgc3JjX2F0dHIsIHNpemVvZihnbG9idXNf bF94aW9fZ3NzYXBpX2F0dHJfdCkpOworICAgICBpZihzcmNfYXR0ci0+c3ViamVjdCAhPSBOVUxM KQorQEAgLTIzOTAsMTEgKzIzOTAsMTEgQEAgZ2xvYnVzX2xfeGlvX2dzc2FwaV9mdHBfb3BlbigK KyAgICAgYXR0ciA9IChnbG9idXNfbF94aW9fZ3NzYXBpX2F0dHJfdCAqKSBkcml2ZXJfYXR0cjsK KyAKKyAgICAgZ2xvYnVzX3hpb19kcml2ZXJfYXR0cl9jbnRsKAorLSAgICAgICAgb3AsIGdsb2J1 c19sX2dzc2FwaV90ZWxuZXRfZHJpdmVyLCAKKysgICAgICAgIG9wLCBnbG9idXNfbF9nc3NhcGlf dGVsbmV0X2RyaXZlciwKKyAgICAgICAgIEdMT0JVU19YSU9fVEVMTkVUX0JVRkZFUiwgR0xPQlVT X1RSVUUpOworIAorICAgICAvKgorLSAgICAgKiAgY3JlYXRlIGEgbmV3IGhhbmRsZSBhbmQgaW5p dGlhbGl6ZSBpdCAKKysgICAgICogIGNyZWF0ZSBhIG5ldyBoYW5kbGUgYW5kIGluaXRpYWxpemUg aXQKKyAgICAgICovCisgICAgIGhhbmRsZSA9IGdsb2J1c19sX3hpb19nc3NhcGlfZnRwX2hhbmRs ZV9jcmVhdGUoKTsKKyAgICAgaWYoaGFuZGxlID09IE5VTEwpCitAQCAtMjQwNyw3ICsyNDA3LDcg QEAgZ2xvYnVzX2xfeGlvX2dzc2FwaV9mdHBfb3BlbigKKyAgICAgeworICAgICAgICAgaGFuZGxl LT5jbGllbnQgPSBHTE9CVVNfRkFMU0U7CisgICAgICAgICBnbG9idXNfeGlvX2RyaXZlcl9hdHRy X2NudGwoCistICAgICAgICAgICAgb3AsIGdsb2J1c19sX2dzc2FwaV90ZWxuZXRfZHJpdmVyLCAK KysgICAgICAgICAgICBvcCwgZ2xvYnVzX2xfZ3NzYXBpX3RlbG5ldF9kcml2ZXIsCisgICAgICAg ICAgICAgR0xPQlVTX1hJT19URUxORVRfRk9SQ0VfU0VSVkVSLCBHTE9CVVNfVFJVRSk7CisgICAg IH0KKyAgICAgZWxzZQorQEAgLTI0ODIsNyArMjQ4Miw3IEBAIGdsb2J1c19sX3hpb19nc3NhcGlf ZnRwX2Nsb3NlKAorIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAgKiAgICAgICAgICAgICAgICAgIHdyaXRl IGZ1bmN0aW9ucworICAqICAgICAgICAgICAgICAgICAgLS0tLS0tLS0tLS0tLS0tCistICogIAor KyAqCisgICogIFRoaXMgc2VjdGlvbiBoYXMgZnVuY3Rpb24gdGhhdCBoYW5kbGUgd3JpdGVzCisg ICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqLworIAorQEAgLTI2MDEsNyArMjYwMSw3IEBAIGdsb2J1c19sX3hpb19n c3NhcGlfZnRwX3dyaXRlKAorICAgICAgICAgaWYoaGFuZGxlLT5jbGllbnQpCisgICAgICAgICB7 CisgICAgICAgICAgICAgcmVzID0gZ2xvYnVzX2xfeGlvX2dzc2FwaV9mdHBfd3JhcCgKKy0gICAg ICAgICAgICAgICAgICAgIGhhbmRsZSwgaGFuZGxlLT53cml0ZV9idWZmZXIsIGxlbmd0aCwgCisr ICAgICAgICAgICAgICAgICAgICBoYW5kbGUsIGhhbmRsZS0+d3JpdGVfYnVmZmVyLCBsZW5ndGgs CisgICAgICAgICAgICAgICAgICAgICAmbF9pb3ZbMF0uaW92X2Jhc2UsCisgICAgICAgICAgICAg ICAgICAgICAmbF9pb3ZbMF0uaW92X2xlbiwKKyAgICAgICAgICAgICAgICAgICAgIGhhbmRsZS0+ Y2xpZW50KTsKK0BAIC0yNjc2LDcgKzI2NzYsNyBAQCBnbG9idXNfbF94aW9fZ3NzYXBpX2Z0cF93 cml0ZSgKKyAgICAgICAgIGhhbmRsZS0+d3JpdGVfaW92ID0gbF9pb3Y7CisgICAgICAgICBoYW5k bGUtPndyaXRlX2lvdl9jb3VudCA9IGxfaW92X25keDsKKyAgICAgICAgIHJlcyA9IGdsb2J1c194 aW9fZHJpdmVyX3Bhc3Nfd3JpdGUoCistICAgICAgICAgICAgb3AsIAorKyAgICAgICAgICAgIG9w LAorICAgICAgICAgICAgIGxfaW92LAorICAgICAgICAgICAgIGxfaW92X25keCwKKyAgICAgICAg ICAgICBsZW5ndGgsCitAQCAtMjcwNiw3ICsyNzA2LDcgQEAgZXJyb3JfZnJlZV92ZWM6CisgLyoq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKgorICAqICAgICAgICAgICAgICAgICAgcmVhZCBmdW5jdGlvbnMKKyAgKiAg ICAgICAgICAgICAgICAgIC0tLS0tLS0tLS0tLS0tCistICogIAorKyAqCisgICogIFRoaXMgc2Vj dGlvbiBoYXMgZnVuY3Rpb24gdGhhdCBoYW5kbGUgd3JpdGVzCisgICoqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwor IAorQEAgLTI4MzYsNyArMjgzNiw3IEBAIGdsb2J1c19sX3hpb19nc3NhcGlfZnRwX3JlYWQoCisg CisgICAgICAgICAvKiBzaG91bGQgc2VyaWFsaXplICovCisgICAgICAgICAvKiBjb21wbGV0ZWx5 IGRlIGNvbnN0J2lwYXRpbmcgaGVyZSAqLworLSAgICAgICAgaGFuZGxlLT5yZWFkX2lvdiA9IChn bG9idXNfeGlvX2lvdmVjX3QgKikgaW92ZWM7IAorKyAgICAgICAgaGFuZGxlLT5yZWFkX2lvdiA9 IChnbG9idXNfeGlvX2lvdmVjX3QgKikgaW92ZWM7CisgICAgICAgICBpZihoYW5kbGUtPmNsaWVu dCkKKyAgICAgICAgIHsKKyAgICAgICAgICAgICBpZihoYW5kbGUtPmJhbm5lciAhPSBOVUxMKQor QEAgLTI4NzIsNyArMjg3Miw3IEBAIGdsb2J1c19sX3hpb19nc3NhcGlfZnRwX3JlYWQoCisgICAg ICAgICAgICAgICAgICZoYW5kbGUtPmF1dGhfcmVhZF9pb3YsCisgICAgICAgICAgICAgICAgIDEs CisgICAgICAgICAgICAgICAgIDEsCistICAgICAgICAgICAgICAgIGdsb2J1c19sX3hpb19nc3Nh cGlfZnRwX3NlcnZlcl9yZWFkX2NiLCAKKysgICAgICAgICAgICAgICAgZ2xvYnVzX2xfeGlvX2dz c2FwaV9mdHBfc2VydmVyX3JlYWRfY2IsCisgICAgICAgICAgICAgICAgIGhhbmRsZSk7CisgICAg ICAgICAgICAgaWYocmVzICE9IEdMT0JVU19TVUNDRVNTKQorICAgICAgICAgICAgIHsKK0BAIC0y ODgwLDcgKzI4ODAsNyBAQCBnbG9idXNfbF94aW9fZ3NzYXBpX2Z0cF9yZWFkKAorICAgICAgICAg ICAgIH0KKyAgICAgICAgICAgICBoYW5kbGUtPnJlYWRfcG9zdGVkID0gR0xPQlVTX1RSVUU7Cisg ICAgICAgICB9CistICAgIH0JCisrICAgIH0KKyAgICAgZ2xvYnVzX211dGV4X3VubG9jaygmaGFu ZGxlLT5tdXRleCk7CisgCisgICAgIGlmKGZpbmlzaGVkKQorQEAgLTI5NjcsNyArMjk2Nyw3IEBA IGVycm9yOgorIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioKKyAgKiAgICAgICAgICAgICAgICAgIGxvYWQgYW5k IGFjdGl2YXRlCisgICogICAgICAgICAgICAgICAgICAtLS0tLS0tLS0tLS0tLS0tLQorLSAqICAK KysgKgorICAqICBUaGlzIHNlY3Rpb24gaGFzIGZ1bmN0aW9uIHRoYXQgaGFuZGxlIHdyaXRlcwor ICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKi8KKyBzdGF0aWMgZ2xvYnVzX3Jlc3VsdF90CitAQCAtMzA1MCwxMyAr MzA1MCwxMyBAQCBnbG9idXNfbF94aW9fZ3NzYXBpX2Z0cF9hY3RpdmF0ZSh2b2lkKQorICAgICBy YyA9IGdsb2J1c19tb2R1bGVfYWN0aXZhdGUoR0xPQlVTX1hJT19NT0RVTEUpOworICAgICByYyA9 IGdsb2J1c19tb2R1bGVfYWN0aXZhdGUoR0xPQlVTX0dTSV9HU1NfQVNTSVNUX01PRFVMRSk7Cisg ICAgIGdsb2J1c19tb2R1bGVfYWN0aXZhdGUoR0xPQlVTX0dTSV9PUEVOU1NMX0VSUk9SX01PRFVM RSk7CistICAgIAorKworICAgICByZXMgPSBnbG9idXNfeGlvX2RyaXZlcl9sb2FkKCJ0ZWxuZXQi LCAmZ2xvYnVzX2xfZ3NzYXBpX3RlbG5ldF9kcml2ZXIpOworICAgICBpZihyZXMgIT0gR0xPQlVT X1NVQ0NFU1MpCisgICAgIHsKKyAgICAgICAgIHJldHVybiBHTE9CVVNfRkFJTFVSRTsKKyAgICAg fQorLSAgICAKKysKKyAgICAgR2xvYnVzWElPUmVnaXN0ZXJEcml2ZXIoZ3NzYXBpX2Z0cCk7Cisg ICAgIEdsb2J1c1hJT0dzc2FwaWZ0cERlYnVnRXhpdCgpOworICAgICByZXR1cm4gcmM7CistLSAK KzIuNTQuMAorCgpkaWZmIC0tZ2l0IGEvMDAwMi1GaXgtY29tcGlsZXItYW5kLWRveHlnZW4td2Fy bmluZ3MucGF0Y2ggYi8wMDAyLUZpeC1jb21waWxlci1hbmQtZG94eWdlbi13YXJuaW5ncy5wYXRj aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lMmQ4MTBlCi0tLSAvZGV2L251 bGwKKysrIGIvMDAwMi1GaXgtY29tcGlsZXItYW5kLWRveHlnZW4td2FybmluZ3MucGF0Y2gKQEAg LTAsMCArMSwxMDQgQEAKK0Zyb20gNGVlMDhkMTNlMjk2MzMwOWUyMDYzZGM0NWRlZGQwNjczMzdk M2I3NiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IE1hdHRpYXMgRWxsZXJ0IDxtYXR0 aWFzLmVsbGVydEBwaHlzaWNzLnV1LnNlPgorRGF0ZTogV2VkLCAyMCBNYXkgMjAyNiAwMDoxNToz NyArMDIwMAorU3ViamVjdDogW1BBVENIIDIvMl0gRml4IGNvbXBpbGVyIGFuZCBkb3h5Z2VuIHdh cm5pbmdzCisKKy0tLQorIC4uLi9zZXJ2ZXItbGliL3NyYy9nbG9idXNfZ3JpZGZ0cF9zZXJ2ZXJf Y29udHJvbC5jICAgIHwgMTEgKysrKystLS0tLS0KKyAuLi4vc3JjL2dsb2J1c19ncmlkZnRwX3Nl cnZlcl9jb250cm9sX2NvbW1hbmRzLmMgICAgICB8ICAyICstCisgZ3JpZGZ0cC9zZXJ2ZXItbGli L3NyYy9nbG9idXNfeGlvX2dzc2FwaV9mdHAuYyAgICAgICAgfCAgMyAtLS0KKyAzIGZpbGVzIGNo YW5nZWQsIDYgaW5zZXJ0aW9ucygrKSwgMTAgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9n cmlkZnRwL3NlcnZlci1saWIvc3JjL2dsb2J1c19ncmlkZnRwX3NlcnZlcl9jb250cm9sLmMgYi9n cmlkZnRwL3NlcnZlci1saWIvc3JjL2dsb2J1c19ncmlkZnRwX3NlcnZlcl9jb250cm9sLmMKK2lu ZGV4IGNhZTQxNWMxOC4uOGUxNGJhYTNlIDEwMDY0NAorLS0tIGEvZ3JpZGZ0cC9zZXJ2ZXItbGli L3NyYy9nbG9idXNfZ3JpZGZ0cF9zZXJ2ZXJfY29udHJvbC5jCisrKysgYi9ncmlkZnRwL3NlcnZl ci1saWIvc3JjL2dsb2J1c19ncmlkZnRwX3NlcnZlcl9jb250cm9sLmMKK0BAIC0yMDIxLDcgKzIw MjEsNyBAQCBnbG9idXNfaV9nc2NfY29uY2F0X3BhdGgoCisgICAgICAgICB9CisgICAgICAgICBl bHNlIGlmKGluX3BhdGhbMF0gPT0gJ34nKQorICAgICAgICAgeworLSAgICAgICAgICAgIGlmKCh0 bXBfcHRyID0gc3RyY2hyKGluX3BhdGgsICcvJykpICE9IE5VTEwpCisrICAgICAgICAgICAgaWYo KHRtcF9wdHIgPSAoY2hhciAqKSBzdHJjaHIoaW5fcGF0aCwgJy8nKSkgIT0gTlVMTCkKKyAgICAg ICAgICAgICB7CisgICAgICAgICAgICAgICAgIHRtcF9wYXRoID0gZ2xvYnVzX2NvbW1vbl9jcmVh dGVfc3RyaW5nKCIlcyVzIiwKKyAgICAgICAgICAgICAgICAgICAgIGlfc2VydmVyLT5kZWZhdWx0 X2N3ZCwKK0BAIC0yMTk5LDcgKzIxOTksNyBAQCBnbG9idXNfbF9nc2NfY21kX3NpdGUoCisgICAg IEdsb2J1c0dyaWRGVFBTZXJ2ZXJEZWJ1Z0ludGVybmFsRW50ZXIoKTsKKyAKKyAgICAgLyogdG8g dXBwZXIgaW4gdGhlIGFjdHVhbCBpbml0aWFsIGJ1ZmZlciAqLworLSAgICBmb3IodG1wX3B0ciA9 IHN0cnN0cihmdWxsX2NvbW1hbmQsIGNtZF9hWzFdKTsgdG1wX3B0ciAmJiAqdG1wX3B0ciAmJiAq dG1wX3B0ciAhPSAnICc7IHRtcF9wdHIrKykKKysgICAgZm9yKHRtcF9wdHIgPSAoY2hhciAqKSBz dHJzdHIoZnVsbF9jb21tYW5kLCBjbWRfYVsxXSk7IHRtcF9wdHIgJiYgKnRtcF9wdHIgJiYgKnRt cF9wdHIgIT0gJyAnOyB0bXBfcHRyKyspCisgICAgIHsKKyAgICAgICAgICp0bXBfcHRyID0gdG91 cHBlcigqdG1wX3B0cik7CisgICAgIH0KK0BAIC0yMjQ1LDcgKzIyNDUsNiBAQCBnbG9idXNfbF9n c2NfY29tbWFuZF9jYWxsb3V0KAorICAgICBnbG9idXNfYm9vbF90ICAgICAgICAgICAgICAgICAg ICAgICBhdXRoID0gR0xPQlVTX0ZBTFNFOworICAgICBjaGFyICoqICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBjbWRfYXJyYXk7CisgICAgIGNoYXIgKiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIG1zZzsKKy0gICAgZ2xvYnVzX3Jlc3VsdF90ICAgICAgICAgICAgICAgICAgICAgcmVz OworICAgICBnbG9idXNfbF9nc2NfY21kX2VudF90ICogICAgICAgICAgICBjbWRfZW50OworICAg ICBnbG9idXNfYm9vbF90ICAgICAgICAgICAgICAgICAgICAgICBkb25lID0gR0xPQlVTX0ZBTFNF OworICAgICBnbG9idXNfaV9nc2Nfb3BfdCAqICAgICAgICAgICAgICAgICBvcDsKK0BAIC0yMjg1 LDcgKzIyODQsNyBAQCBnbG9idXNfbF9nc2NfY29tbWFuZF9jYWxsb3V0KAorICAgICAgICAgICAg ICAgICAgICAgR0xPQlVTX0dSSURGVFBfU0VSVkVSX0NPTlRST0xfTE9HX0VSUk9SKTsKKyAKKyAg ICAgICAgICAgICAgICAgZ2xvYnVzX2lfZ3NjX29wX2Rlc3Ryb3kob3ApOworLSAgICAgICAgICAg ICAgICByZXMgPSBnbG9idXNfbF9nc2NfZmluYWxfcmVwbHkoc2VydmVyX2hhbmRsZSwgbXNnKTsK KysgICAgICAgICAgICAgICAgZ2xvYnVzX2xfZ3NjX2ZpbmFsX3JlcGx5KHNlcnZlcl9oYW5kbGUs IG1zZyk7CisgICAgICAgICAgICAgICAgIGRvbmUgPSBHTE9CVVNfVFJVRTsKKyAgICAgICAgICAg ICB9CisgICAgICAgICAgICAgZWxzZQorQEAgLTI3MTksOCArMjcxOCw4IEBAIGdsb2J1c19ncmlk ZnRwX3NlcnZlcl9jb250cm9sX2Rlc3Ryb3koCisgICAgIH0KKyAgICAgaWYoc2VydmVyX2hhbmRs ZS0+ZGVsX2NyZWQgIT0gR1NTX0NfTk9fQ1JFREVOVElBTCkKKyAgICAgeworLSAgICAgICAgT01f dWludDMyIG1pbiwgbWFqOworLSAgICAgICAgbWFqID0gZ3NzX3JlbGVhc2VfY3JlZCgmbWluLCAm c2VydmVyX2hhbmRsZS0+ZGVsX2NyZWQpOworKyAgICAgICAgT01fdWludDMyIG1pbjsKKysgICAg ICAgIGdzc19yZWxlYXNlX2NyZWQoJm1pbiwgJnNlcnZlcl9oYW5kbGUtPmRlbF9jcmVkKTsKKyAg ICAgfQorICAgICB3aGlsZSghZ2xvYnVzX2xpc3RfZW1wdHkoc2VydmVyX2hhbmRsZS0+YWxsX2Nt ZF9saXN0KSkKKyAgICAgeworZGlmZiAtLWdpdCBhL2dyaWRmdHAvc2VydmVyLWxpYi9zcmMvZ2xv YnVzX2dyaWRmdHBfc2VydmVyX2NvbnRyb2xfY29tbWFuZHMuYyBiL2dyaWRmdHAvc2VydmVyLWxp Yi9zcmMvZ2xvYnVzX2dyaWRmdHBfc2VydmVyX2NvbnRyb2xfY29tbWFuZHMuYworaW5kZXggMDQ3 MzVkNGVjLi40Y2JiYzU5MTkgMTAwNjQ0CistLS0gYS9ncmlkZnRwL3NlcnZlci1saWIvc3JjL2ds b2J1c19ncmlkZnRwX3NlcnZlcl9jb250cm9sX2NvbW1hbmRzLmMKKysrKyBiL2dyaWRmdHAvc2Vy dmVyLWxpYi9zcmMvZ2xvYnVzX2dyaWRmdHBfc2VydmVyX2NvbnRyb2xfY29tbWFuZHMuYworQEAg LTQyNSw3ICs0MjUsNyBAQCBnbG9idXNfbF9nc2NfY21kX21vZGUoCisgICAgIGNoID0gKGNoYXIp dG91cHBlcigoaW50KWNtZF9hWzFdWzBdKTsKKyAgICAgaWYoc3RyY2hyKG9wLT5zZXJ2ZXJfaGFu ZGxlLT5tb2RlcywgY2gpID09IE5VTEwpCisgICAgIHsKKy0gICAgICAgIHRtcF9wdHIgPSBzdHJz dHIoZnVsbF9jb21tYW5kLCAiXHJcbiIpOworKyAgICAgICAgdG1wX3B0ciA9IChjaGFyICopIHN0 cnN0cihmdWxsX2NvbW1hbmQsICJcclxuIik7CisgICAgICAgICBpZih0bXBfcHRyICE9IE5VTEwp CisgICAgICAgICB7CisgICAgICAgICAgICAgKnRtcF9wdHIgPSAnXDAnOworZGlmZiAtLWdpdCBh L2dyaWRmdHAvc2VydmVyLWxpYi9zcmMvZ2xvYnVzX3hpb19nc3NhcGlfZnRwLmMgYi9ncmlkZnRw L3NlcnZlci1saWIvc3JjL2dsb2J1c194aW9fZ3NzYXBpX2Z0cC5jCitpbmRleCBiNTVkNGEzZTAu LmM5NzE3MjU0ZSAxMDA2NDQKKy0tLSBhL2dyaWRmdHAvc2VydmVyLWxpYi9zcmMvZ2xvYnVzX3hp b19nc3NhcGlfZnRwLmMKKysrKyBiL2dyaWRmdHAvc2VydmVyLWxpYi9zcmMvZ2xvYnVzX3hpb19n c3NhcGlfZnRwLmMKK0BAIC0yNTU3LDcgKzI1NTcsNiBAQCBnbG9idXNfbF94aW9fZ3NzYXBpX2Z0 cF93cml0ZSgKKyAgICAgZ2xvYnVzX2J5dGVfdCAqICAgICAgICAgICAgICAgICAgICAgb3V0X2J1 ZjsKKyAgICAgZ2xvYnVzX2J5dGVfdCAqICAgICAgICAgICAgICAgICAgICAgbmV4dF9wdHI7Cisg ICAgIGdsb2J1c19ieXRlX3QgKiAgICAgICAgICAgICAgICAgICAgIHRtcF9wdHI7CistICAgIGlu dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRtcF9pOworICAgICBpbnQgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB0bXBfaTI7CisgICAgIGdsb2J1c194aW9faW92ZWNf dCAqICAgICAgICAgICAgICAgIGxfaW92OworICAgICBpbnQgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBsX2lvdl9uZHggPSAxOworQEAgLTI2MzUsMTQgKzI2MzQsMTIgQEAgZ2xvYnVz X2xfeGlvX2dzc2FwaV9mdHBfd3JpdGUoCisgCisgICAgICAgICAgICAgICAgIGxfaW92X25keCA9 IDA7CisgICAgICAgICAgICAgICAgIG91dF9idWYgPSBOVUxMOworLSAgICAgICAgICAgICAgICB0 bXBfaSA9IDM7CisgICAgICAgICAgICAgICAgIHRtcF9wdHIgPSBoYW5kbGUtPndyaXRlX2J1ZmZl cjsKKyAgICAgICAgICAgICAgICAgd2hpbGUodG1wX3B0ciAtIGhhbmRsZS0+d3JpdGVfYnVmZmVy IDwgbGVuZ3RoKQorICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICBpZigh Zmlyc3QpCisgICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICAg b3V0X2J1ZlszXSA9ICctJzsKKy0gICAgICAgICAgICAgICAgICAgICAgICB0bXBfaSArPSB0bXBf aTI7CisgICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgICBuZXh0X3B0 ciA9IChnbG9idXNfYnl0ZV90ICopCisgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryc3RyKChj b25zdCBjaGFyICopIHRtcF9wdHIsICJcclxuIik7CistLSAKKzIuNTQuMAorCgpkaWZmIC0tZ2l0 IGEvZ2xvYnVzLWdyaWRmdHAtc2VydmVyLWNvbnRyb2wuc3BlYyBiL2dsb2J1cy1ncmlkZnRwLXNl cnZlci1jb250cm9sLnNwZWMKaW5kZXggYzYyNTNlMy4uODcxNmYxNCAxMDA2NDQKLS0tIGEvZ2xv YnVzLWdyaWRmdHAtc2VydmVyLWNvbnRyb2wuc3BlYworKysgYi9nbG9idXMtZ3JpZGZ0cC1zZXJ2 ZXItY29udHJvbC5zcGVjCkBAIC0xLDEzICsxLDE1IEBACiBOYW1lOgkJZ2xvYnVzLWdyaWRmdHAt c2VydmVyLWNvbnRyb2wKICVnbG9iYWwgX25hbWUgJSh0ciAtIF8gPDw8ICV7bmFtZX0pCiBWZXJz aW9uOgk5LjUKLVJlbGVhc2U6CTIlez9kaXN0fQorUmVsZWFzZToJMyV7P2Rpc3R9CiBTdW1tYXJ5 OglHcmlkIENvbW11bml0eSBUb29sa2l0IC0gR2xvYnVzIEdyaWRGVFAgU2VydmVyIExpYnJhcnkK IAogTGljZW5zZToJQXBhY2hlLTIuMAogVVJMOgkJaHR0cHM6Ly9naXRodWIuY29tL2dyaWRjZi9n Y3QvCiBTb3VyY2U6CQlodHRwczovL3JlcG8uZ3JpZGNmLm9yZy9nY3Q2L3NvdXJjZXMvJXtfbmFt ZX0tJXt2ZXJzaW9ufS50YXIuZ3oKIFNvdXJjZTg6CVJFQURNRQorUGF0Y2gwOgkJMDAwMS1VbnRh YmlmeS1hbmQtcmVtb3ZlLXRyYWlsaW5nLXdoaXRlLXNwYWNlLnBhdGNoCitQYXRjaDE6CQkwMDAy LUZpeC1jb21waWxlci1hbmQtZG94eWdlbi13YXJuaW5ncy5wYXRjaAogCiBCdWlsZFJlcXVpcmVz OgltYWtlCiBCdWlsZFJlcXVpcmVzOglnY2MKQEAgLTQ5LDYgKzUxLDggQEAgR2xvYnVzIEdyaWRG VFAgU2VydmVyIExpYnJhcnkgRGV2ZWxvcG1lbnQgRmlsZXMKIAogJXByZXAKICVzZXR1cCAtcSAt biAle19uYW1lfS0le3ZlcnNpb259CislcGF0Y2ggLVAwIC1wNAorJXBhdGNoIC1QMSAtcDQKIAog JWJ1aWxkCiAjIFJlZHVjZSBvdmVybGlua2luZwpAQCAtOTAsNiArOTQsOSBAQCBybSAle2J1aWxk cm9vdH0le19wa2dkb2NkaXJ9L0dMT0JVU19MSUNFTlNFCiAle19saWJkaXJ9L3BrZ2NvbmZpZy8l e25hbWV9LnBjCiAKICVjaGFuZ2Vsb2cKKyogU3VuIEp1biAxNCAyMDI2IE1hdHRpYXMgRWxsZXJ0 IDxtYXR0aWFzLmVsbGVydEBwaHlzaWNzLnV1LnNlPiAtIDkuNS0zCistIEZpeCBjb21waWxlciB3 YXJuaW5ncworCiAqIEZyaSBKYW4gMTYgMjAyNiBGZWRvcmEgUmVsZWFzZSBFbmdpbmVlcmluZyA8 cmVsZW5nQGZlZG9yYXByb2plY3Qub3JnPiAtIDkuNS0yCiAtIFJlYnVpbHQgZm9yIGh0dHBzOi8v ZmVkb3JhcHJvamVjdC5vcmcvd2lraS9GZWRvcmFfNDRfTWFzc19SZWJ1aWxkCiAK