From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: [PATCH i-g-t 5/7] trace.pl: Fix incomplete request handling Date: Tue, 8 May 2018 18:31:13 +0100 Message-ID: <20180508173115.24550-5-tvrtko.ursulin@linux.intel.com> References: <20180508173115.24550-1-tvrtko.ursulin@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wr0-x22a.google.com (mail-wr0-x22a.google.com [IPv6:2a00:1450:400c:c0c::22a]) by gabe.freedesktop.org (Postfix) with ESMTPS id CD0E96EB0A for ; Tue, 8 May 2018 17:31:45 +0000 (UTC) Received: by mail-wr0-x22a.google.com with SMTP id i14-v6so29956629wre.2 for ; Tue, 08 May 2018 10:31:45 -0700 (PDT) In-Reply-To: <20180508173115.24550-1-tvrtko.ursulin@linux.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: igt-dev@lists.freedesktop.org Cc: Intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org RnJvbTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KCkluY29tcGxl dGUgcmVxdWVzdHMgKG5vIG5vdGlmeSwgbm8gY29udGV4dCBjb21wbGV0ZSkgaGF2ZSB0byBiZSBj b3JyZWN0ZWQKYnkgbG9va2luZyBhdCB0aGUgZW5naW5lIHRpbWVsaW5lLCBhbmQgbm90IHRoZSBz b3J0ZWQtYnktc3RhcnQtdGltZSB2aWV3CmFzIHdhcyBwcmV2aW91c2x5IHVzZWQuCgpQZXItZW5n aW5lIHRpbWVsaW5lcyBhcmUgZ2VuZXJhdGVkIG9uIGRlbWFuZCBhbmQgY2FjaGVkIGZvciBsYXRl ciB1c2UuCgp2MjogRmluZCBlbmQgb2YgY3VycmVudCBjb250ZXh0IG9uIHRoZSBlbmdpbmUgdGlt ZWxpbmUgaW5zdGVhZCBvZiBqdXN0CiAgICB1c2luZyB0aGUgbmV4dCByZXF1ZXN0IGZvciBhZGp1 c3RpbmcgdGhlIGluY29tcGxldGUgc3RhcnQgdGltZS4KCnYzOiBJbXByb3ZlIHNjYWxpbmcgd2l0 aCBsYXJnZSBkYXRhc2V0cyBieSBvbmx5IHdhbGtpbmcgZWFjaCBlbmdpbmUKICAgIHRpbWVsaW5l IG9uY2UgYW5kIHNvbWUgY2FjaGluZy4gKEpvaG4gSGFycmlzb24pCgpTaWduZWQtb2ZmLWJ5OiBU dnJ0a28gVXJzdWxpbiA8dHZydGtvLnVyc3VsaW5AaW50ZWwuY29tPgpDYzogSm9obiBIYXJyaXNv biA8Sm9obi5DLkhhcnJpc29uQGludGVsLmNvbT4KLS0tCiBzY3JpcHRzL3RyYWNlLnBsIHwgMTAy ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0K IDEgZmlsZSBjaGFuZ2VkLCA3NSBpbnNlcnRpb25zKCspLCAyNyBkZWxldGlvbnMoLSkKCmRpZmYg LS1naXQgYS9zY3JpcHRzL3RyYWNlLnBsIGIvc2NyaXB0cy90cmFjZS5wbAppbmRleCA2OTZjMThl OGIxY2YuLjBlYzMzY2QzN2U0YSAxMDA3NTUKLS0tIGEvc2NyaXB0cy90cmFjZS5wbAorKysgYi9z Y3JpcHRzL3RyYWNlLnBsCkBAIC00OTgsMzkgKzQ5OCw4MyBAQCBmb3JlYWNoIG15ICRrZXkgKGtl eXMgJWRiKSB7CiAJfQogfQogCi0jIEZpeCB1cCBpbmNvbXBsZXRlcwogbXkgJGtleV9jb3VudCA9 IHNjYWxhcihrZXlzICVkYik7Ci1mb3JlYWNoIG15ICRrZXkgKGtleXMgJWRiKSB7Ci0JbmV4dCB1 bmxlc3MgZXhpc3RzICRkYnska2V5fS0+eydpbmNvbXBsZXRlJ307CiAKLQkjIEVuZCB0aGUgaW5j b21wbGV0ZSBiYXRjaCBhdCB0aGUgdGltZSBuZXh0IG9uZSBzdGFydHMKLQlteSAkcmluZyA9ICRk Ynska2V5fS0+eydyaW5nJ307Ci0JbXkgJGN0eCA9ICRkYnska2V5fS0+eydjdHgnfTsKLQlteSAk c2Vxbm8gPSAkZGJ7JGtleX0tPnsnc2Vxbm8nfTsKLQlteSAkbmV4dF9rZXk7Ci0JbXkgJGkgPSAx OwotCW15ICRlbmQ7Ci0KLQlkbyB7Ci0JCSRuZXh0X2tleSA9IGRiX2tleSgkcmluZywgJGN0eCwg JHNlcW5vICsgJGkpOwotCQkkaSsrOwotCX0gdW50aWwgKChleGlzdHMgJGRieyRuZXh0X2tleX0g YW5kIG5vdCBleGlzdHMgJGRieyRuZXh0X2tleX0tPnsnaW5jb21wbGV0ZSd9KQotCQkgb3IgJGkg PiAka2V5X2NvdW50KTsgICMgdWdseSBzdG9wIGhhY2sKK215ICVlbmdpbmVfdGltZWxpbmVzOwog Ci0JaWYgKGV4aXN0cyAkZGJ7JG5leHRfa2V5fSkgewotCQkkZW5kID0gJGRieyRuZXh0X2tleX0t PnsnZW5kJ307Ci0JfSBlbHNlIHsKLQkJIyBObyBpbmZvIGF0IGFsbCwgZmFrZSBpdDoKLQkJJGVu ZCA9ICRkYnska2V5fS0+eydzdGFydCd9ICsgOTk5OwotCX0KK3N1YiBzb3J0RW5naW5lIHsKKwlt eSAkYXMgPSAkZGJ7JGF9LT57J2dsb2JhbCd9OworCW15ICRicyA9ICRkYnskYn0tPnsnZ2xvYmFs J307CisJbXkgJHZhbDsKIAotCSRkYnska2V5fS0+eydub3RpZnknfSA9ICRlbmQ7Ci0JJGRieyRr ZXl9LT57J2VuZCd9ID0gJGVuZDsKKwkkdmFsID0gJGFzIDw9PiAkYnM7CisKKwlkaWUgaWYgJHZh bCA9PSAwOworCisJcmV0dXJuICR2YWw7CiB9CiAKLSMgR1BVIHRpbWUgYWNjb3VudGluZwotbXkg KCVydW5uaW5nLCAlcnVubmFibGUsICVxdWV1ZWQsICViYXRjaF9hdmcsICViYXRjaF90b3RhbF9h dmcsICViYXRjaF9jb3VudCk7Ci1teSAoJXN1Ym1pdF9hdmcsICVleGVjdXRlX2F2ZywgJWN0eHNh dmVfYXZnKTsKK3N1YiBnZXRfZW5naW5lX3RpbWVsaW5lIHsKKwlteSAoJHJpbmcpID0gQF87CisJ bXkgQHRpbWVsaW5lOworCisJcmV0dXJuICRlbmdpbmVfdGltZWxpbmVzeyRyaW5nfSBpZiBleGlz dHMgJGVuZ2luZV90aW1lbGluZXN7JHJpbmd9OworCisJQHRpbWVsaW5lID0gZ3JlcCB7ICRkYnsk X30tPnsncmluZyd9ID09ICRyaW5nIH0ga2V5cyAlZGI7CisJIyBGSVhNRSBzZXFubyByZXN0YXJ0 CisJQHRpbWVsaW5lID0gc29ydCBzb3J0RW5naW5lIEB0aW1lbGluZTsKKworCSRlbmdpbmVfdGlt ZWxpbmVzeyRyaW5nfSA9IFxAdGltZWxpbmU7CisKKwlyZXR1cm4gXEB0aW1lbGluZTsKK30KKwor IyBGaXggdXAgaW5jb21wbGV0ZXMgYnkgZW5kaW5nIHRoZW0gd2hlbiB0aGUgbGFzdCByZXF1ZXN0 IG9mIGEgY29hbGVzY2VkIGdyb3VwCisjIGVuZHMuIChPciBmaXJzdCBvZiBhIGRpZmZlcmVudCBj b250ZXh0IHN0YXJ0cy4pCitmb3JlYWNoIG15ICRnaWQgKHNvcnQga2V5cyAlcmluZ3MpIHsKKwlt eSAkcmluZyA9ICRyaW5nbWFweyRyaW5nc3skZ2lkfX07CisJbXkgJHRpbWVsaW5lID0gZ2V0X2Vu Z2luZV90aW1lbGluZSgkcmluZyk7CisJbXkgJGxhc3RfY29tcGxldGUgPSAtMTsKKwlteSAkY29t cGxldGU7CisKKwlmb3JlYWNoIG15ICRwb3MgKDAuLiQjeyR0aW1lbGluZX0pIHsKKwkJbXkgJGtl eSA9IEB7JHRpbWVsaW5lfVskcG9zXTsKKwkJbXkgJGVuZDsKKworCQluZXh0IHVubGVzcyBleGlz dHMgJGRieyRrZXl9LT57J2luY29tcGxldGUnfTsKKworCQkjIEZpbmQgZmlyc3QgZm9sbG93aW5n IGNvbXBsZXRlIHJlcXVlc3QKKwkJaWYgKCRwb3MgPiAkbGFzdF9jb21wbGV0ZSkgeworCQkJbXkg JG5leHQgPSAkcG9zOworCisJCQl1bmRlZiAkY29tcGxldGU7CisKKwkJCXdoaWxlICgkbmV4dCA8 ICQjeyR0aW1lbGluZX0pIHsKKwkJCQlteSAkbmV4dF9rZXkgPSAkeyR0aW1lbGluZX1bKyskbmV4 dF07CisKKwkJCQluZXh0IGlmIGV4aXN0cyAkZGJ7JG5leHRfa2V5fS0+eydpbmNvbXBsZXRlJ307 CisKKwkJCQkkbGFzdF9jb21wbGV0ZSA9ICRuZXh0OworCQkJCSRjb21wbGV0ZSA9ICRuZXh0X2tl eTsKKwkJCQlsYXN0OworCQkJfQorCQl9CisKKwkJaWYgKGRlZmluZWQgJGNvbXBsZXRlKSB7CisJ CQlpZiAoJGRieyRrZXl9LT57J2N0eCd9ID09ICRkYnskY29tcGxldGV9LT57J2N0eCd9KSB7CisJ CQkJJGVuZCA9ICRkYnskY29tcGxldGV9LT57J2VuZCd9OworCQkJfSBlbHNlIHsKKwkJCQkkZW5k ID0gJGRieyRjb21wbGV0ZX0tPnsnc3RhcnQnfTsKKwkJCX0KKwkJfSBlbHNlIHsKKwkJCSMgTm8g bmV4dCBzdWJtaXNzaW9uLCBmYWtlIGl0LgorCQkJJGVuZCA9ICRkYnska2V5fS0+eydzdGFydCd9 ICsgOTk5OworCQl9CisKKwkJJGRieyRrZXl9LT57J25vdGlmeSd9ID0gJGVuZDsKKwkJJGRieyRr ZXl9LT57J2VuZCd9ID0gJGVuZDsKKwl9Cit9CiAKIHN1YiBzb3J0U3RhcnQgewogCW15ICRhcyA9 ICRkYnskYX0tPnsnc3RhcnQnfTsKQEAgLTU3OSw2ICs2MjMsMTAgQEAgZm9yZWFjaCBteSAka2V5 IChAc29ydGVkX2tleXMpIHsKIAogQHNvcnRlZF9rZXlzID0gc29ydCBzb3J0U3RhcnQga2V5cyAl ZGIgaWYgJHJlX3NvcnQ7CiAKKyMgR1BVIHRpbWUgYWNjb3VudGluZworbXkgKCVydW5uaW5nLCAl cnVubmFibGUsICVxdWV1ZWQsICViYXRjaF9hdmcsICViYXRjaF90b3RhbF9hdmcsICViYXRjaF9j b3VudCk7CitteSAoJXN1Ym1pdF9hdmcsICVleGVjdXRlX2F2ZywgJWN0eHNhdmVfYXZnKTsKKwog bXkgJGxhc3RfdHMgPSAwOwogbXkgJGZpcnN0X3RzOwogbXkgKCRtaW5fY3R4LCAkbWF4X2N0eCk7 Ci0tIAoyLjE0LjEKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9y ZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdm eAo= From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wr0-x235.google.com (mail-wr0-x235.google.com [IPv6:2a00:1450:400c:c0c::235]) by gabe.freedesktop.org (Postfix) with ESMTPS id E660D6EB0B for ; Tue, 8 May 2018 17:31:45 +0000 (UTC) Received: by mail-wr0-x235.google.com with SMTP id o4-v6so33115130wrm.0 for ; Tue, 08 May 2018 10:31:45 -0700 (PDT) From: Tvrtko Ursulin Date: Tue, 8 May 2018 18:31:13 +0100 Message-Id: <20180508173115.24550-5-tvrtko.ursulin@linux.intel.com> In-Reply-To: <20180508173115.24550-1-tvrtko.ursulin@linux.intel.com> References: <20180508173115.24550-1-tvrtko.ursulin@linux.intel.com> Subject: [igt-dev] [PATCH i-g-t 5/7] trace.pl: Fix incomplete request handling List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: igt-dev-bounces@lists.freedesktop.org Sender: "igt-dev" To: igt-dev@lists.freedesktop.org Cc: Intel-gfx@lists.freedesktop.org, Tvrtko Ursulin List-ID: RnJvbTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KCkluY29tcGxl dGUgcmVxdWVzdHMgKG5vIG5vdGlmeSwgbm8gY29udGV4dCBjb21wbGV0ZSkgaGF2ZSB0byBiZSBj b3JyZWN0ZWQKYnkgbG9va2luZyBhdCB0aGUgZW5naW5lIHRpbWVsaW5lLCBhbmQgbm90IHRoZSBz b3J0ZWQtYnktc3RhcnQtdGltZSB2aWV3CmFzIHdhcyBwcmV2aW91c2x5IHVzZWQuCgpQZXItZW5n aW5lIHRpbWVsaW5lcyBhcmUgZ2VuZXJhdGVkIG9uIGRlbWFuZCBhbmQgY2FjaGVkIGZvciBsYXRl ciB1c2UuCgp2MjogRmluZCBlbmQgb2YgY3VycmVudCBjb250ZXh0IG9uIHRoZSBlbmdpbmUgdGlt ZWxpbmUgaW5zdGVhZCBvZiBqdXN0CiAgICB1c2luZyB0aGUgbmV4dCByZXF1ZXN0IGZvciBhZGp1 c3RpbmcgdGhlIGluY29tcGxldGUgc3RhcnQgdGltZS4KCnYzOiBJbXByb3ZlIHNjYWxpbmcgd2l0 aCBsYXJnZSBkYXRhc2V0cyBieSBvbmx5IHdhbGtpbmcgZWFjaCBlbmdpbmUKICAgIHRpbWVsaW5l IG9uY2UgYW5kIHNvbWUgY2FjaGluZy4gKEpvaG4gSGFycmlzb24pCgpTaWduZWQtb2ZmLWJ5OiBU dnJ0a28gVXJzdWxpbiA8dHZydGtvLnVyc3VsaW5AaW50ZWwuY29tPgpDYzogSm9obiBIYXJyaXNv biA8Sm9obi5DLkhhcnJpc29uQGludGVsLmNvbT4KLS0tCiBzY3JpcHRzL3RyYWNlLnBsIHwgMTAy ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0K IDEgZmlsZSBjaGFuZ2VkLCA3NSBpbnNlcnRpb25zKCspLCAyNyBkZWxldGlvbnMoLSkKCmRpZmYg LS1naXQgYS9zY3JpcHRzL3RyYWNlLnBsIGIvc2NyaXB0cy90cmFjZS5wbAppbmRleCA2OTZjMThl OGIxY2YuLjBlYzMzY2QzN2U0YSAxMDA3NTUKLS0tIGEvc2NyaXB0cy90cmFjZS5wbAorKysgYi9z Y3JpcHRzL3RyYWNlLnBsCkBAIC00OTgsMzkgKzQ5OCw4MyBAQCBmb3JlYWNoIG15ICRrZXkgKGtl eXMgJWRiKSB7CiAJfQogfQogCi0jIEZpeCB1cCBpbmNvbXBsZXRlcwogbXkgJGtleV9jb3VudCA9 IHNjYWxhcihrZXlzICVkYik7Ci1mb3JlYWNoIG15ICRrZXkgKGtleXMgJWRiKSB7Ci0JbmV4dCB1 bmxlc3MgZXhpc3RzICRkYnska2V5fS0+eydpbmNvbXBsZXRlJ307CiAKLQkjIEVuZCB0aGUgaW5j b21wbGV0ZSBiYXRjaCBhdCB0aGUgdGltZSBuZXh0IG9uZSBzdGFydHMKLQlteSAkcmluZyA9ICRk Ynska2V5fS0+eydyaW5nJ307Ci0JbXkgJGN0eCA9ICRkYnska2V5fS0+eydjdHgnfTsKLQlteSAk c2Vxbm8gPSAkZGJ7JGtleX0tPnsnc2Vxbm8nfTsKLQlteSAkbmV4dF9rZXk7Ci0JbXkgJGkgPSAx OwotCW15ICRlbmQ7Ci0KLQlkbyB7Ci0JCSRuZXh0X2tleSA9IGRiX2tleSgkcmluZywgJGN0eCwg JHNlcW5vICsgJGkpOwotCQkkaSsrOwotCX0gdW50aWwgKChleGlzdHMgJGRieyRuZXh0X2tleX0g YW5kIG5vdCBleGlzdHMgJGRieyRuZXh0X2tleX0tPnsnaW5jb21wbGV0ZSd9KQotCQkgb3IgJGkg PiAka2V5X2NvdW50KTsgICMgdWdseSBzdG9wIGhhY2sKK215ICVlbmdpbmVfdGltZWxpbmVzOwog Ci0JaWYgKGV4aXN0cyAkZGJ7JG5leHRfa2V5fSkgewotCQkkZW5kID0gJGRieyRuZXh0X2tleX0t PnsnZW5kJ307Ci0JfSBlbHNlIHsKLQkJIyBObyBpbmZvIGF0IGFsbCwgZmFrZSBpdDoKLQkJJGVu ZCA9ICRkYnska2V5fS0+eydzdGFydCd9ICsgOTk5OwotCX0KK3N1YiBzb3J0RW5naW5lIHsKKwlt eSAkYXMgPSAkZGJ7JGF9LT57J2dsb2JhbCd9OworCW15ICRicyA9ICRkYnskYn0tPnsnZ2xvYmFs J307CisJbXkgJHZhbDsKIAotCSRkYnska2V5fS0+eydub3RpZnknfSA9ICRlbmQ7Ci0JJGRieyRr ZXl9LT57J2VuZCd9ID0gJGVuZDsKKwkkdmFsID0gJGFzIDw9PiAkYnM7CisKKwlkaWUgaWYgJHZh bCA9PSAwOworCisJcmV0dXJuICR2YWw7CiB9CiAKLSMgR1BVIHRpbWUgYWNjb3VudGluZwotbXkg KCVydW5uaW5nLCAlcnVubmFibGUsICVxdWV1ZWQsICViYXRjaF9hdmcsICViYXRjaF90b3RhbF9h dmcsICViYXRjaF9jb3VudCk7Ci1teSAoJXN1Ym1pdF9hdmcsICVleGVjdXRlX2F2ZywgJWN0eHNh dmVfYXZnKTsKK3N1YiBnZXRfZW5naW5lX3RpbWVsaW5lIHsKKwlteSAoJHJpbmcpID0gQF87CisJ bXkgQHRpbWVsaW5lOworCisJcmV0dXJuICRlbmdpbmVfdGltZWxpbmVzeyRyaW5nfSBpZiBleGlz dHMgJGVuZ2luZV90aW1lbGluZXN7JHJpbmd9OworCisJQHRpbWVsaW5lID0gZ3JlcCB7ICRkYnsk X30tPnsncmluZyd9ID09ICRyaW5nIH0ga2V5cyAlZGI7CisJIyBGSVhNRSBzZXFubyByZXN0YXJ0 CisJQHRpbWVsaW5lID0gc29ydCBzb3J0RW5naW5lIEB0aW1lbGluZTsKKworCSRlbmdpbmVfdGlt ZWxpbmVzeyRyaW5nfSA9IFxAdGltZWxpbmU7CisKKwlyZXR1cm4gXEB0aW1lbGluZTsKK30KKwor IyBGaXggdXAgaW5jb21wbGV0ZXMgYnkgZW5kaW5nIHRoZW0gd2hlbiB0aGUgbGFzdCByZXF1ZXN0 IG9mIGEgY29hbGVzY2VkIGdyb3VwCisjIGVuZHMuIChPciBmaXJzdCBvZiBhIGRpZmZlcmVudCBj b250ZXh0IHN0YXJ0cy4pCitmb3JlYWNoIG15ICRnaWQgKHNvcnQga2V5cyAlcmluZ3MpIHsKKwlt eSAkcmluZyA9ICRyaW5nbWFweyRyaW5nc3skZ2lkfX07CisJbXkgJHRpbWVsaW5lID0gZ2V0X2Vu Z2luZV90aW1lbGluZSgkcmluZyk7CisJbXkgJGxhc3RfY29tcGxldGUgPSAtMTsKKwlteSAkY29t cGxldGU7CisKKwlmb3JlYWNoIG15ICRwb3MgKDAuLiQjeyR0aW1lbGluZX0pIHsKKwkJbXkgJGtl eSA9IEB7JHRpbWVsaW5lfVskcG9zXTsKKwkJbXkgJGVuZDsKKworCQluZXh0IHVubGVzcyBleGlz dHMgJGRieyRrZXl9LT57J2luY29tcGxldGUnfTsKKworCQkjIEZpbmQgZmlyc3QgZm9sbG93aW5n IGNvbXBsZXRlIHJlcXVlc3QKKwkJaWYgKCRwb3MgPiAkbGFzdF9jb21wbGV0ZSkgeworCQkJbXkg JG5leHQgPSAkcG9zOworCisJCQl1bmRlZiAkY29tcGxldGU7CisKKwkJCXdoaWxlICgkbmV4dCA8 ICQjeyR0aW1lbGluZX0pIHsKKwkJCQlteSAkbmV4dF9rZXkgPSAkeyR0aW1lbGluZX1bKyskbmV4 dF07CisKKwkJCQluZXh0IGlmIGV4aXN0cyAkZGJ7JG5leHRfa2V5fS0+eydpbmNvbXBsZXRlJ307 CisKKwkJCQkkbGFzdF9jb21wbGV0ZSA9ICRuZXh0OworCQkJCSRjb21wbGV0ZSA9ICRuZXh0X2tl eTsKKwkJCQlsYXN0OworCQkJfQorCQl9CisKKwkJaWYgKGRlZmluZWQgJGNvbXBsZXRlKSB7CisJ CQlpZiAoJGRieyRrZXl9LT57J2N0eCd9ID09ICRkYnskY29tcGxldGV9LT57J2N0eCd9KSB7CisJ CQkJJGVuZCA9ICRkYnskY29tcGxldGV9LT57J2VuZCd9OworCQkJfSBlbHNlIHsKKwkJCQkkZW5k ID0gJGRieyRjb21wbGV0ZX0tPnsnc3RhcnQnfTsKKwkJCX0KKwkJfSBlbHNlIHsKKwkJCSMgTm8g bmV4dCBzdWJtaXNzaW9uLCBmYWtlIGl0LgorCQkJJGVuZCA9ICRkYnska2V5fS0+eydzdGFydCd9 ICsgOTk5OworCQl9CisKKwkJJGRieyRrZXl9LT57J25vdGlmeSd9ID0gJGVuZDsKKwkJJGRieyRr ZXl9LT57J2VuZCd9ID0gJGVuZDsKKwl9Cit9CiAKIHN1YiBzb3J0U3RhcnQgewogCW15ICRhcyA9 ICRkYnskYX0tPnsnc3RhcnQnfTsKQEAgLTU3OSw2ICs2MjMsMTAgQEAgZm9yZWFjaCBteSAka2V5 IChAc29ydGVkX2tleXMpIHsKIAogQHNvcnRlZF9rZXlzID0gc29ydCBzb3J0U3RhcnQga2V5cyAl ZGIgaWYgJHJlX3NvcnQ7CiAKKyMgR1BVIHRpbWUgYWNjb3VudGluZworbXkgKCVydW5uaW5nLCAl cnVubmFibGUsICVxdWV1ZWQsICViYXRjaF9hdmcsICViYXRjaF90b3RhbF9hdmcsICViYXRjaF9j b3VudCk7CitteSAoJXN1Ym1pdF9hdmcsICVleGVjdXRlX2F2ZywgJWN0eHNhdmVfYXZnKTsKKwog bXkgJGxhc3RfdHMgPSAwOwogbXkgJGZpcnN0X3RzOwogbXkgKCRtaW5fY3R4LCAkbWF4X2N0eCk7 Ci0tIAoyLjE0LjEKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fCmlndC1kZXYgbWFpbGluZyBsaXN0CmlndC1kZXZAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0 dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaWd0LWRldgo=