From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: [RFC i-g-t v2] igt: Test tagging support Date: Fri, 21 Jul 2017 11:20:05 +0100 Message-ID: <20170721102005.3073-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-x244.google.com (mail-wr0-x244.google.com [IPv6:2a00:1450:400c:c0c::244]) by gabe.freedesktop.org (Postfix) with ESMTPS id 5F5936E048 for ; Fri, 21 Jul 2017 10:20:17 +0000 (UTC) Received: by mail-wr0-x244.google.com with SMTP id y67so11197522wrb.3 for ; Fri, 21 Jul 2017 03:20:17 -0700 (PDT) List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org RnJvbTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KClByb3Bvc2Fs IHRvIGFkZCB0ZXN0IHRhZ3MgYXMgYSByZXBsYWNlbWVudCBmb3Igc2VwYXJhdGUgdGVzdApsaXN0 IHdoaWNoIGNhbiBiZSBkaWZmaWN1bHQgdG8gbWFpbnRhaW4gYW5kIGdldCBvdXQgb2YgZGF0ZS4K ClB1dHRpbmcgdGhpcyBtYWludGFuZW5hY2UgaW5saW5lIHdpdGggdGVzdHMgbWFrZXMgaXQgZWFz aWVyCnRvIHJlbWVtYmVyIHRvIHVwZGF0ZSB0aGUgKG5vdyBpbXBsaWNpdCkgbGlzdHMsIGFuZCBh bHNvIGVuYWJsZXMKcmljaGVyIHRlc3Qgc2VsZWN0aW9uIHBvc3NpYmlsaXRpZXMgZm9yIHRoZSB0 ZXN0IHJ1bm5lci4KCkN1cnJlbnQgbWV0aG9kIG9mIGltcGx5aW5nIHRhZ3MgZnJvbSB0ZXN0L3N1 YnRlc3QgbmFtZXMgaGFzIGEKY291cGxlIG9mIHByb2JsZW1zIG9uZSBvZiB3aGljaCBpcyB3aGVy ZSBzb21lIG5hbWVzIGNhbiB1c2UKdGhlIHNhbWUgdG9rZW4gZm9yIGRpZmZlcmVudCBtZWFuaW5n cy4gKE9uZSBleGFtcGxlIGlzIHRoZQoiZGVmYXVsdCIgdG9rZW4uKSBJdCBhbHNvIGNyZWF0ZXMg YSBuYW1lIGNsYXNoIGJldHdlZW4gbmFtaW5nCmFuZCB0YWdnaW5nLgoKVGVzdCB0YWdzIGFyZSBz dHJpbmdzIG9mIHRva2VucyBzZXBhcmF0ZWQgYnkgc3BhY2VzLCBtZWFuaW5nIG9mCndoaWNoIHdl IGRlY2lkZSBieSBjcmVhdGluZyBhIGNvbnZldGlvbiBhbmQgaGVscGVkIGJ5IHRoZQpzdWl0YWJs ZSBoZWxwZXIgbWFjcm9zLgoKRm9yIGV4YW1wbGUgdGFncyBjYW4gYmUgdGhpbmdzIGxpa2U6IGdl bSwga21zLCBiYXNpYywgZ3VjLCBmbGlwLApzZW1hcGhvcmUsIGJ6MTIzNDU2NzgsIGd0NGUsIGV0 Yy4uCgpBdCBydW50aW1lIHRoaXMgd291bGQgbG9vayBzb21ldGhpbmcgbGlrZSB0aGlzIChhYmJy ZXZpYXRlZCBmb3IKcmVhZGFiaWxpdHkpOgoKICByb290QGUzMTp+L2ludGVsLWdwdS10b29scyMg dGVzdHMvZ2VtX3N5bmMgLS1saXN0LXN1YnRlc3RzLXdpdGgtdGFncwogIC4uLgogIGZvcmtlZC1l YWNoIFRBR1M9ImdlbSAiCiAgZm9ya2VkLXN0b3JlLWVhY2ggVEFHUz0iZ2VtICIKICBiYXNpYy1h bGwgVEFHUz0iZ2VtIGJhc2ljICIKICBiYXNpYy1zdG9yZS1hbGwgVEFHUz0iZ2VtIGJhc2ljICIK CiAgcm9vdEBlMzE6fi9pbnRlbC1ncHUtdG9vbHMjIHRlc3RzL2dlbV9jb25jdXJyZW50X2JsaXQg LS1saXN0LXN1YnRlc3RzLXdpdGgtdGFncwogIC4uLgogIDE2TWlCLXN3YXAtZ3B1WC1yZW5kZXIt d3JpdGUtcmVhZC1iY3MtYm9tYiBUQUdTPSJnZW0gc3RyZXNzICIKICAxNk1pQi1zd2FwLWdwdVgt cmVuZGVyLXdyaXRlLXJlYWQtcmNzLWJvbWIgVEFHUz0iZ2VtIHN0cmVzcyAiCiAgMTZNaUItc3dh cC1ncHVYLXJlbmRlci1ncHUtcmVhZC1hZnRlci13cml0ZS1ib21iIFRBR1M9ImdlbSBzdHJlc3Mg IgoKICByb290QGUzMTp+L2ludGVsLWdwdS10b29scyMgdGVzdHMva21zX2ZsaXAgLS1saXN0LXN1 YnRlc3RzLXdpdGgtdGFncyB8IGdyZXAgYmFzaWMKICBiYXNpYy1wbGFpbi1mbGlwIFRBR1M9Imtt cyBiYXNpYyAiCiAgYmFzaWMtZmxpcC12cy1kcG1zIFRBR1M9ImttcyBiYXNpYyAiCgpUZXN0IHJ1 bm5lciBjYW4gdGhlbiBlbmFibGUgdXNhZ2VzIGxpa2U6CgogIC4vcnVuLXRlc3RzIC0taW5jbHVk ZSBnZW0gLS1leGNsdWRlIHN0cmVzcwoKV2hpY2ggSSB0aGluayBjb3VsZCByZWFsbHkgYmUgdXNl ZnVsIGFuZCBtb3JlIGZsZXhpYmxlIHRoYW4gbmFtZQpiYXNlZCBzZWxlY3Rpb24uCgpUaGlzIFJG QyBpbXBsZW1lbnRhdGlvbiBhdXRvbWF0aWNhbGx5IGFkZHMgdmFyaW91cyB0YWdzIGJhc2VkIG9u CmJvdGggYmluYXJ5IGFuZCBzdWJ0ZXN0IG5hbWVzLiBUaGlzIGlzIHRvIGVuYWJsZSBlYXN5IHRy YW5zaXRpb24KdG8gdGhlIHRhZyBiYXNlZCBzeXN0ZW0uCgpJZGVhIGlzIHRoYXQgYWxsIGN1cnJl bnQgdGVzdHMgZ2V0IHNvbWUgdXNlZnVsIHRhZ3Mgd2l0aCBtaW5pbXVtCmFtb3VudCBvZiB3b3Jr LiBVbmZvcnR1bmF0ZWx5IHRoaXMgZG9lc24ndCB3b3JrIGZvciB0ZXN0IGJpbmFyaWVzCndoaWNo IGF0IHRoZSBtb21lbnQgZG8gbm90IHN1cHBvcnQgdGhlIHN1YnRlc3RzIGVudW1lcmF0aW9uIHNv CnRob3NlIGFyZSB0aGUgb25lcyB3aGljaCB3b3VsZCBuZWVkIGlkZW50aWZ5aW5nIGFuZCBjb252 ZXJ0aW5nLgoKU291cmNlIGNvZGUgdXNhZ2UsIGZvciB0ZXN0cyB3aGljaCB3b3VsZCB3YW50IHRv IG92ZXJyaWRlIHRoZQpkZWZhdWx0IHRhZyBnZW5lcmF0aW9uIHdvdWxkIGxvb2sgc29tZXRoaW5n IGxpa2U6CgoJaWd0X2dlbV9zdWJ0ZXN0KCJiYXNpYyIsICJlYWNoIikKCQkuLi4KCglpZ3RfZ2Vt X3N1YnRlc3QoIm1hbnVhbCIsICJzcGVjaWFsLXNldHVwLXRlc3QiKQoJCS4uLgoKICAgICAgICBp Z3RfZ2VtX3N0cmVzc19zdWJ0ZXN0X2YoInRhZyIsICJuYW1lLSVzIiwgLi4uKSB7CgkgICAgICAg IC4uLgoKV2UgY2FuIG9mIGNvdXJzZSBwb2xpc2ggdGhlIGRldGFpbHMgb2YgdGhlIEFQSSBpZiB0 aGUgaWRlYSB3aWxsCmJlIGRlZW1lZCBpbnRlcmVzdGluZy4KCnYyOiBNb3JlIGRlZmF1bHQgdGFn cyBmb3IgdW50YWdnZWQgdGVzdHMgZm9yIGVhc2llciBtaWdyYXRpb24uCgpTaWduZWQtb2ZmLWJ5 OiBUdnJ0a28gVXJzdWxpbiA8dHZydGtvLnVyc3VsaW5AaW50ZWwuY29tPgotLS0KIGxpYi9pZ3Rf Y29yZS5jICAgICAgICAgICAgIHwgMTE4ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKy0tLQogbGliL2lndF9jb3JlLmggICAgICAgICAgICAgfCAgMjkgKysrKysrKysr LS0KIHRlc3RzL2dlbV9jb25jdXJyZW50X2FsbC5jIHwgIDM0ICsrKysrKy0tLS0tLS0KIDMgZmls ZXMgY2hhbmdlZCwgMTU0IGluc2VydGlvbnMoKyksIDI3IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdp dCBhL2xpYi9pZ3RfY29yZS5jIGIvbGliL2lndF9jb3JlLmMKaW5kZXggYzA0ODhlOTQ0Y2VjLi5k MTQwMTk2Y2FkMTMgMTAwNjQ0Ci0tLSBhL2xpYi9pZ3RfY29yZS5jCisrKyBiL2xpYi9pZ3RfY29y ZS5jCkBAIC0yNTMsMTAgKzI1MywxMiBAQCBzdGF0aWMgdW5zaWduZWQgaW50IGV4aXRfaGFuZGxl cl9jb3VudDsKIGNvbnN0IGNoYXIgKmlndF9pbnRlcmFjdGl2ZV9kZWJ1ZzsKIAogLyogc3VidGVz dHMgaGVscGVycyAqLwotc3RhdGljIGJvb2wgbGlzdF9zdWJ0ZXN0cyA9IGZhbHNlOwotc3RhdGlj IGNoYXIgKnJ1bl9zaW5nbGVfc3VidGVzdCA9IE5VTEw7CitzdGF0aWMgYm9vbCBsaXN0X3N1YnRl c3RzLCBsaXN0X3N1YnRlc3RzX3RhZ3M7CitzdGF0aWMgY2hhciAqcnVuX3NpbmdsZV9zdWJ0ZXN0 Owogc3RhdGljIGJvb2wgcnVuX3NpbmdsZV9zdWJ0ZXN0X2ZvdW5kID0gZmFsc2U7Ci1zdGF0aWMg Y29uc3QgY2hhciAqaW5fc3VidGVzdCA9IE5VTEw7CitzdGF0aWMgY29uc3QgY2hhciAqaW5fc3Vi dGVzdDsKK3N0YXRpYyBjaGFyICpzdWJ0ZXN0X3RhZ3M7CitzdGF0aWMgYm9vbCBzdWJ0ZXN0X3Rh Z3NfYWxsb2NhdGVkOwogc3RhdGljIHN0cnVjdCB0aW1lc3BlYyBzdWJ0ZXN0X3RpbWU7CiBzdGF0 aWMgY2xvY2tpZF90IGlndF9jbG9jayA9IChjbG9ja2lkX3QpLTE7CiBzdGF0aWMgYm9vbCBpbl9m aXh0dXJlID0gZmFsc2U7CkBAIC0yNzYsNiArMjc4LDcgQEAgYm9vbCB0ZXN0X2NoaWxkOwogCiBl bnVtIHsKICBPUFRfTElTVF9TVUJURVNUUywKKyBPUFRfTElTVF9TVUJURVNUU19UQUdTLAogIE9Q VF9SVU5fU1VCVEVTVCwKICBPUFRfREVTQ1JJUFRJT04sCiAgT1BUX0RFQlVHLApAQCAtNTk5LDYg KzYwMiw3IEBAIHN0YXRpYyB2b2lkIHByaW50X3VzYWdlKGNvbnN0IGNoYXIgKmhlbHBfc3RyLCBi b29sIG91dHB1dF9vbl9zdGRlcnIpCiAKIAlmcHJpbnRmKGYsICJVc2FnZTogJXMgW09QVElPTlNd XG4iLCBjb21tYW5kX3N0cik7CiAJZnByaW50ZihmLCAiICAtLWxpc3Qtc3VidGVzdHNcbiIKKwkJ ICAgIiAgLS1saXN0LXN1YnRlc3Qtd2l0aC10YWdzXG4iCiAJCSAgICIgIC0tcnVuLXN1YnRlc3Qg PHBhdHRlcm4+XG4iCiAJCSAgICIgIC0tZGVidWdbPWxvZy1kb21haW5dXG4iCiAJCSAgICIgIC0t aW50ZXJhY3RpdmUtZGVidWdbPWRvbWFpbl1cbiIKQEAgLTcwOSw2ICs3MTMsNyBAQCBzdGF0aWMg aW50IGNvbW1vbl9pbml0KGludCAqYXJnYywgY2hhciAqKmFyZ3YsCiAJaW50IGMsIG9wdGlvbl9p bmRleCA9IDAsIGksIHg7CiAJc3RhdGljIHN0cnVjdCBvcHRpb24gbG9uZ19vcHRpb25zW10gPSB7 CiAJCXsibGlzdC1zdWJ0ZXN0cyIsIDAsIDAsIE9QVF9MSVNUX1NVQlRFU1RTfSwKKwkJeyJsaXN0 LXN1YnRlc3RzLXdpdGgtdGFncyIsIDAsIDAsIE9QVF9MSVNUX1NVQlRFU1RTX1RBR1N9LAogCQl7 InJ1bi1zdWJ0ZXN0IiwgMSwgMCwgT1BUX1JVTl9TVUJURVNUfSwKIAkJeyJoZWxwLWRlc2NyaXB0 aW9uIiwgMCwgMCwgT1BUX0RFU0NSSVBUSU9OfSwKIAkJeyJkZWJ1ZyIsIG9wdGlvbmFsX2FyZ3Vt ZW50LCAwLCBPUFRfREVCVUd9LApAQCAtODAzLDYgKzgwOCwxMiBAQCBzdGF0aWMgaW50IGNvbW1v bl9pbml0KGludCAqYXJnYywgY2hhciAqKmFyZ3YsCiAJCQlpZiAoIXJ1bl9zaW5nbGVfc3VidGVz dCkKIAkJCQlsaXN0X3N1YnRlc3RzID0gdHJ1ZTsKIAkJCWJyZWFrOworCQljYXNlIE9QVF9MSVNU X1NVQlRFU1RTX1RBR1M6CisJCQlpZiAoIXJ1bl9zaW5nbGVfc3VidGVzdCkgeworCQkJCWxpc3Rf c3VidGVzdHMgPSB0cnVlOworCQkJCWxpc3Rfc3VidGVzdHNfdGFncyA9IHRydWU7CisJCQl9CisJ CQlicmVhazsKIAkJY2FzZSBPUFRfUlVOX1NVQlRFU1Q6CiAJCQlpZiAoIWxpc3Rfc3VidGVzdHMp CiAJCQkJcnVuX3NpbmdsZV9zdWJ0ZXN0ID0gc3RyZHVwKG9wdGFyZyk7CkBAIC05MzUsMTkgKzk0 NiwxMDAgQEAgdm9pZCBpZ3Rfc2ltcGxlX2luaXRfcGFyc2Vfb3B0cyhpbnQgKmFyZ2MsIGNoYXIg Kiphcmd2LAogCQkgICAgZXh0cmFfb3B0X2hhbmRsZXIsIGhhbmRsZXJfZGF0YSk7CiB9CiAKKyNk ZWZpbmUgX19JR1RfVEFHU19NQVggKDQwOTYpCisKK3N0YXRpYyBjaGFyICogX19nZXRfdGFnX3N0 cihjaGFyICp0YWdzKQoreworCWlmICh0YWdzKQorCQlyZXR1cm4gdGFnczsKKworCXRhZ3MgPSBt YWxsb2MoX19JR1RfVEFHU19NQVgpOworCWlndF9hc3NlcnQodGFncyk7CisKKwltZW1zZXQodGFn cywgMCwgX19JR1RfVEFHU19NQVgpOworCisJcmV0dXJuIHRhZ3M7Cit9CisKK3N0YXRpYyBjaGFy ICogX19hZGRfdGFnKGNoYXIgKnRhZ3MsIHVuc2lnbmVkIGludCAqcG9zLCBjb25zdCBjaGFyICp0 YWcpCit7CisJc2l6ZV90IGxlZnQgPSBfX0lHVF9UQUdTX01BWCAtICpwb3M7CisJY2hhciBfdGFn WzEyOF07CisJaW50IHJldDsKKworCWlmICghdGFnKQorCQlyZXR1cm4gdGFnczsKKworCXRhZ3Mg PSBfX2dldF90YWdfc3RyKHRhZ3MpOworCisJc3ByaW50ZihfdGFnLCAiJXMgIiwgdGFnKTsKKwlp ZiAoIXN0cm5jbXAodGFncywgX3RhZywgc3RybGVuKF90YWcpKSkKKwkJcmV0dXJuIHRhZ3M7CisK KwlzcHJpbnRmKF90YWcsICIgJXMgIiwgdGFnKTsKKwlpZiAoc3Ryc3RyKHRhZ3MsIF90YWcpKQor CQlyZXR1cm4gdGFnczsKKworCXJldCA9IHNucHJpbnRmKHRhZ3MgKyAqcG9zLCBsZWZ0LCAiJXMg IiwgdGFnKTsKKwlpZ3RfYXNzZXJ0KHJldCA+IDAgJiYgcmV0IDwgbGVmdCk7CisKKwkqcG9zICs9 IHJldDsKKworCXJldHVybiB0YWdzOworfQorCiAvKgogICogTm90ZTogVGVzdGNhc2VzIHdoaWNo IHVzZSB0aGVzZSBoZWxwZXJzIE1VU1QgTk9UIG91dHB1dCBhbnl0aGluZyB0byBzdGRvdXQKICAq IG91dHNpZGUgb2YgcGxhY2VzIHByb3RlY3RlZCBieSBpZ3RfcnVuX3N1YnRlc3QgY2hlY2tzIC0g dGhlIHBpZ2xpdAogICogcnVubmVyIGFkZHMgZXZlcnkgbGluZSB0byB0aGUgc3VidGVzdCBsaXN0 LgogICovCi1ib29sIF9faWd0X3J1bl9zdWJ0ZXN0KGNvbnN0IGNoYXIgKnN1YnRlc3RfbmFtZSkK K2Jvb2wgX19pZ3RfcnVuX3N1YnRlc3QoY29uc3QgY2hhciAqc3VidGVzdF9uYW1lLCBjb25zdCBj aGFyICp0YWdzKQogeworCXVuc2lnbmVkIGludCB0YWdfaWR4ID0gMDsKKwljaGFyICpfdGFncyA9 IE5VTEw7CisJY29uc3QgY2hhciAqdGFnOwogCWludCBpOwogCiAJYXNzZXJ0KCFpbl9zdWJ0ZXN0 KTsKKwlhc3NlcnQoIXN1YnRlc3RfdGFncyk7CiAJYXNzZXJ0KCFpbl9maXh0dXJlKTsKIAlhc3Nl cnQodGVzdF93aXRoX3N1YnRlc3RzKTsKIAorCWlmICghdGFncykgeworCQlpZiAoIXN0cm5jbXAo Y29tbWFuZF9zdHIsICJnZW1fIiwgNCkpCisJCQl0YWcgPSAiZ2VtIjsKKwkJZWxzZSBpZiAoIXN0 cm5jbXAoY29tbWFuZF9zdHIsICJwcmltZV8iLCA0KSkKKwkJCXRhZyA9ICJnZW0iOworCQllbHNl IGlmICghc3RybmNtcChjb21tYW5kX3N0ciwgImttc18iLCA0KSkKKwkJCXRhZyA9ICJrbXMiOwor CQllbHNlIGlmICghc3RybmNtcChjb21tYW5kX3N0ciwgInBtXyIsIDMpKQorCQkJdGFnID0gInBt IjsKKwkJZWxzZSBpZiAoIXN0cm5jbXAoY29tbWFuZF9zdHIsICJkcnZfIiwgMykpCisJCQl0YWcg PSAiZHJ2IjsKKwkJZWxzZSBpZiAoIXN0cm5jbXAoY29tbWFuZF9zdHIsICJkZWJ1Z2ZzXyIsIDMp KQorCQkJdGFnID0gImRydiI7CisJCWVsc2UgaWYgKCFzdHJuY21wKGNvbW1hbmRfc3RyLCAiY29y ZV8iLCA0KSkKKwkJCXRhZyA9ICJkcm0iOworCQllbHNlIGlmICghc3RybmNtcChjb21tYW5kX3N0 ciwgImRybV8iLCA0KSkKKwkJCXRhZyA9ICJkcm0iOworCQllbHNlIGlmICghc3RybmNtcChjb21t YW5kX3N0ciwgInN3XyIsIDQpKQorCQkJdGFnID0gImV4dGVybmFsIjsKKwkJZWxzZQorCQkJdGFn ID0gTlVMTDsKKworCQlfdGFncyA9IF9fYWRkX3RhZyhfdGFncywgJnRhZ19pZHgsIHRhZyk7CisK KwkJaWYgKCFzdHJuY21wKHN1YnRlc3RfbmFtZSwgImJhc2ljLSIsIDYpKQorCQkJdGFnID0gImJh c2ljIjsKKwkJZWxzZQorCQkJdGFnID0gTlVMTDsKKworCQlfdGFncyA9IF9fYWRkX3RhZyhfdGFn cywgJnRhZ19pZHgsIHRhZyk7CisKKwkJdGFncyA9IF90YWdzOworCQlzdWJ0ZXN0X3RhZ3NfYWxs b2NhdGVkID0gX3RhZ3M7CisJfQorCiAJLyogY2hlY2sgdGhlIHN1YnRlc3QgbmFtZSBvbmx5IGNv bnRhaW5zIGEteiwgQS1aLCAwLTksICctJyBhbmQgJ18nICovCiAJZm9yIChpID0gMDsgc3VidGVz dF9uYW1lW2ldICE9ICdcMCc7IGkrKykKIAkJaWYgKHN1YnRlc3RfbmFtZVtpXSAhPSAnXycgJiYg c3VidGVzdF9uYW1lW2ldICE9ICctJwpAQCAtOTU4LDcgKzEwNTAsMTAgQEAgYm9vbCBfX2lndF9y dW5fc3VidGVzdChjb25zdCBjaGFyICpzdWJ0ZXN0X25hbWUpCiAJCX0KIAogCWlmIChsaXN0X3N1 YnRlc3RzKSB7Ci0JCXByaW50ZigiJXNcbiIsIHN1YnRlc3RfbmFtZSk7CisJCWlmIChsaXN0X3N1 YnRlc3RzX3RhZ3MgJiYgdGFncykKKwkJCXByaW50ZigiJXMgVEFHUz1cIiVzXCJcbiIsIHN1YnRl c3RfbmFtZSwgdGFncyk7CisJCWVsc2UKKwkJCXByaW50ZigiJXNcbiIsIHN1YnRlc3RfbmFtZSk7 CiAJCXJldHVybiBmYWxzZTsKIAl9CiAKQEAgLTk4Myw3ICsxMDc4LDExIEBAIGJvb2wgX19pZ3Rf cnVuX3N1YnRlc3QoY29uc3QgY2hhciAqc3VidGVzdF9uYW1lKQogCV9pZ3RfbG9nX2J1ZmZlcl9y ZXNldCgpOwogCiAJZ2V0dGltZSgmc3VidGVzdF90aW1lKTsKLQlyZXR1cm4gKGluX3N1YnRlc3Qg PSBzdWJ0ZXN0X25hbWUpOworCisJaW5fc3VidGVzdCA9IHN1YnRlc3RfbmFtZTsKKwlzdWJ0ZXN0 X3RhZ3MgPSAoY2hhciAqKXRhZ3M7CisKKwlyZXR1cm4gdHJ1ZTsKIH0KIAogLyoqCkBAIC0xMDM0 LDcgKzExMzMsMTIgQEAgc3RhdGljIHZvaWQgZXhpdF9zdWJ0ZXN0KGNvbnN0IGNoYXIgKnJlc3Vs dCkKIAkgICAgICAgKCFfX2lndF9wbGFpbl9vdXRwdXQpID8gIlx4MWJbMG0iIDogIiIpOwogCWZm bHVzaChzdGRvdXQpOwogCi0JaW5fc3VidGVzdCA9IE5VTEw7CisJaWYgKHN1YnRlc3RfdGFnc19h bGxvY2F0ZWQpCisJCWZyZWUoc3VidGVzdF90YWdzKTsKKworCWluX3N1YnRlc3QgPSBzdWJ0ZXN0 X3RhZ3MgPSBOVUxMOworCXN1YnRlc3RfdGFnc19hbGxvY2F0ZWQgPSBmYWxzZTsKKwogCXNpZ2xv bmdqbXAoaWd0X3N1YnRlc3Rfam1wYnVmLCAxKTsKIH0KIApkaWZmIC0tZ2l0IGEvbGliL2lndF9j b3JlLmggYi9saWIvaWd0X2NvcmUuaAppbmRleCAxNjE5YTlkNjU0MDAuLjZjNTVjMDRiN2RlMCAx MDA2NDQKLS0tIGEvbGliL2lndF9jb3JlLmgKKysrIGIvbGliL2lndF9jb3JlLmgKQEAgLTE0Nyw3 ICsxNDcsNyBAQCBpbnQgaWd0X3N1YnRlc3RfaW5pdF9wYXJzZV9vcHRzKGludCAqYXJnYywgY2hh ciAqKmFyZ3YsCiAjZGVmaW5lIGlndF9zdWJ0ZXN0X2luaXQoYXJnYywgYXJndikgXAogCWlndF9z dWJ0ZXN0X2luaXRfcGFyc2Vfb3B0cygmYXJnYywgYXJndiwgTlVMTCwgTlVMTCwgTlVMTCwgTlVM TCwgTlVMTCk7CiAKLWJvb2wgX19pZ3RfcnVuX3N1YnRlc3QoY29uc3QgY2hhciAqc3VidGVzdF9u YW1lKTsKK2Jvb2wgX19pZ3RfcnVuX3N1YnRlc3QoY29uc3QgY2hhciAqc3VidGVzdF9uYW1lLCBj b25zdCBjaGFyICpzdWJ0ZXN0X3RhZ3MpOwogI2RlZmluZSBfX2lndF90b2tlbmNhdDIoeCwgeSkg eCAjIyB5CiAKIC8qKgpAQCAtMTYwLDYgKzE2MCwyOSBAQCBib29sIF9faWd0X3J1bl9zdWJ0ZXN0 KGNvbnN0IGNoYXIgKnN1YnRlc3RfbmFtZSk7CiAgKi8KICNkZWZpbmUgaWd0X3Rva2VuY2F0KHgs IHkpIF9faWd0X3Rva2VuY2F0Mih4LCB5KQogCisjZGVmaW5lIGlndF90YWdnZWRfc3VidGVzdCh0 YWdzLCBuYW1lKSBcCisJZm9yICg7IF9faWd0X3J1bl9zdWJ0ZXN0KChuYW1lKSwgKHRhZ3MpKSAm JiBcCisJICAgICAgIChzaWdzZXRqbXAoaWd0X3N1YnRlc3Rfam1wYnVmLCAxKSA9PSAwKTsgXAor CSAgICAgaWd0X3N1Y2Nlc3MoKSkKKworI2RlZmluZSBpZ3RfZ2VtX3N1YnRlc3QodGFncywgbmFt ZSkgaWd0X3RhZ2dlZF9zdWJ0ZXN0KCJnZW0gInRhZ3MsIG5hbWUpCisKKyNkZWZpbmUgX19pZ3Rf dGFnZ2VkX3N1YnRlc3RfZih0YWdzLCB0bXAsIGZvcm1hdC4uLikgXAorCWZvciAoY2hhciB0bXAg WzI1Nl07IFwKKwkgICAgIHNucHJpbnRmKCB0bXAgLCBzaXplb2YoIHRtcCApLCBmb3JtYXQpLCBc CisJICAgICBfX2lndF9ydW5fc3VidGVzdCh0bXAsIHRhZ3MpICYmIFwKKwkgICAgIChzaWdzZXRq bXAoaWd0X3N1YnRlc3Rfam1wYnVmLCAxKSA9PSAwKTsgXAorCSAgICAgaWd0X3N1Y2Nlc3MoKSkK KworI2RlZmluZSBpZ3RfdGFnZ2VkX3N1YnRlc3RfZih0YWdzLCBmLi4uKSBcCisJX19pZ3RfdGFn Z2VkX3N1YnRlc3RfZih0YWdzLCBpZ3RfdG9rZW5jYXQoX190bXBjaGFyLCBfX0xJTkVfXyksIGYp CisKKyNkZWZpbmUgaWd0X2dlbV9zdWJ0ZXN0X2YodGFncywgZi4uLikgXAorCWlndF90YWdnZWRf c3VidGVzdF9mKCJnZW0gInRhZ3MsIGYpCisKKyNkZWZpbmUgaWd0X2dlbV9zdHJlc3Nfc3VidGVz dF9mKHRhZ3MsIGYuLi4pIFwKKwlpZ3RfdGFnZ2VkX3N1YnRlc3RfZigiZ2VtIHN0cmVzcyAidGFn cywgZikKKwogLyoqCiAgKiBpZ3Rfc3VidGVzdDoKICAqIEBuYW1lOiBuYW1lIG9mIHRoZSBzdWJ0 ZXN0CkBAIC0xNzEsMTQgKzE5NCwxNCBAQCBib29sIF9faWd0X3J1bl9zdWJ0ZXN0KGNvbnN0IGNo YXIgKnN1YnRlc3RfbmFtZSk7CiAgKgogICogVGhpcyBpcyBhIHNpbXBsZXIgdmVyc2lvbiBvZiBp Z3Rfc3VidGVzdF9mKCkKICAqLwotI2RlZmluZSBpZ3Rfc3VidGVzdChuYW1lKSBmb3IgKDsgX19p Z3RfcnVuX3N1YnRlc3QoKG5hbWUpKSAmJiBcCisjZGVmaW5lIGlndF9zdWJ0ZXN0KG5hbWUpIGZv ciAoOyBfX2lndF9ydW5fc3VidGVzdCgobmFtZSksIE5VTEwpICYmIFwKIAkJCQkgICAoc2lnc2V0 am1wKGlndF9zdWJ0ZXN0X2ptcGJ1ZiwgMSkgPT0gMCk7IFwKIAkJCQkgICBpZ3Rfc3VjY2Vzcygp KQogI2RlZmluZSBfX2lndF9zdWJ0ZXN0X2YodG1wLCBmb3JtYXQuLi4pIFwKIAlmb3IgKGNoYXIg dG1wIFsyNTZdOyBcCiAJICAgICBzbnByaW50ZiggdG1wICwgc2l6ZW9mKCB0bXAgKSwgXAogCQkg ICAgICBmb3JtYXQpLCBcCi0JICAgICBfX2lndF9ydW5fc3VidGVzdCggdG1wICkgJiYgXAorCSAg ICAgX19pZ3RfcnVuX3N1YnRlc3QodG1wLCBOVUxMKSAmJiBcCiAJICAgICAoc2lnc2V0am1wKGln dF9zdWJ0ZXN0X2ptcGJ1ZiwgMSkgPT0gMCk7IFwKIAkgICAgIGlndF9zdWNjZXNzKCkpCiAKZGlm ZiAtLWdpdCBhL3Rlc3RzL2dlbV9jb25jdXJyZW50X2FsbC5jIGIvdGVzdHMvZ2VtX2NvbmN1cnJl bnRfYWxsLmMKaW5kZXggMjAxYjQ5MWJjMjQ1Li5lZWYwYzg4NzgwODEgMTAwNjQ0Ci0tLSBhL3Rl c3RzL2dlbV9jb25jdXJyZW50X2FsbC5jCisrKyBiL3Rlc3RzL2dlbV9jb25jdXJyZW50X2FsbC5j CkBAIC0xNDkyLDQ3ICsxNDkyLDQ3IEBAIHJ1bl9tb2RlKGNvbnN0IGNoYXIgKnByZWZpeCwKIAkJ CWlndF9zdWJ0ZXN0X2dyb3VwICB7CiAJCQkJaWd0X2ZpeHR1cmUgcC0+cmVxdWlyZSgpOwogCi0J CQkJaWd0X3N1YnRlc3RfZigiJXMtJXMtJXMtc2FuaXR5Y2hlY2swJXMlcyIsIHByZWZpeCwgbW9k ZS0+bmFtZSwgcC0+cHJlZml4LCBzdWZmaXgsIGgtPnN1ZmZpeCkgeworCQkJCWlndF9nZW1fc3Ry ZXNzX3N1YnRlc3RfZigiIiwgIiVzLSVzLSVzLXNhbml0eWNoZWNrMCVzJXMiLCBwcmVmaXgsIG1v ZGUtPm5hbWUsIHAtPnByZWZpeCwgc3VmZml4LCBoLT5zdWZmaXgpIHsKIAkJCQkJYnVmZmVyc19j cmVhdGUoJmJ1ZmZlcnMpOwogCQkJCQlydW5fd3JhcF9mdW5jKCZidWZmZXJzLCBkb19iYXNpYzAs CiAJCQkJCQkJcC0+Y29weSwgaC0+aGFuZyk7CiAJCQkJfQogCi0JCQkJaWd0X3N1YnRlc3RfZigi JXMtJXMtJXMtc2FuaXR5Y2hlY2sxJXMlcyIsIHByZWZpeCwgbW9kZS0+bmFtZSwgcC0+cHJlZml4 LCBzdWZmaXgsIGgtPnN1ZmZpeCkgeworCQkJCWlndF9nZW1fc3RyZXNzX3N1YnRlc3RfZigiIiwg IiVzLSVzLSVzLXNhbml0eWNoZWNrMSVzJXMiLCBwcmVmaXgsIG1vZGUtPm5hbWUsIHAtPnByZWZp eCwgc3VmZml4LCBoLT5zdWZmaXgpIHsKIAkJCQkJYnVmZmVyc19jcmVhdGUoJmJ1ZmZlcnMpOwog CQkJCQlydW5fd3JhcF9mdW5jKCZidWZmZXJzLCBkb19iYXNpYzEsCiAJCQkJCQkJcC0+Y29weSwg aC0+aGFuZyk7CiAJCQkJfQogCi0JCQkJaWd0X3N1YnRlc3RfZigiJXMtJXMtJXMtc2FuaXR5Y2hl Y2tOJXMlcyIsIHByZWZpeCwgbW9kZS0+bmFtZSwgcC0+cHJlZml4LCBzdWZmaXgsIGgtPnN1ZmZp eCkgeworCQkJCWlndF9nZW1fc3RyZXNzX3N1YnRlc3RfZigiIiwgIiVzLSVzLSVzLXNhbml0eWNo ZWNrTiVzJXMiLCBwcmVmaXgsIG1vZGUtPm5hbWUsIHAtPnByZWZpeCwgc3VmZml4LCBoLT5zdWZm aXgpIHsKIAkJCQkJYnVmZmVyc19jcmVhdGUoJmJ1ZmZlcnMpOwogCQkJCQlydW5fd3JhcF9mdW5j KCZidWZmZXJzLCBkb19iYXNpY04sCiAJCQkJCQkJcC0+Y29weSwgaC0+aGFuZyk7CiAJCQkJfQog CiAJCQkJLyogdHJ5IHRvIG92ZXJ3cml0ZSB0aGUgc291cmNlIHZhbHVlcyAqLwotCQkJCWlndF9z dWJ0ZXN0X2YoIiVzLSVzLSVzLW92ZXJ3cml0ZS1zb3VyY2Utb25lJXMlcyIsIHByZWZpeCwgbW9k ZS0+bmFtZSwgcC0+cHJlZml4LCBzdWZmaXgsIGgtPnN1ZmZpeCkgeworCQkJCWlndF9nZW1fc3Ry ZXNzX3N1YnRlc3RfZigiIiwgIiVzLSVzLSVzLW92ZXJ3cml0ZS1zb3VyY2Utb25lJXMlcyIsIHBy ZWZpeCwgbW9kZS0+bmFtZSwgcC0+cHJlZml4LCBzdWZmaXgsIGgtPnN1ZmZpeCkgewogCQkJCQli dWZmZXJzX2NyZWF0ZSgmYnVmZmVycyk7CiAJCQkJCXJ1bl93cmFwX2Z1bmMoJmJ1ZmZlcnMsCiAJ CQkJCQkJZG9fb3ZlcndyaXRlX3NvdXJjZV9fb25lLAogCQkJCQkJCXAtPmNvcHksIGgtPmhhbmcp OwogCQkJCX0KIAotCQkJCWlndF9zdWJ0ZXN0X2YoIiVzLSVzLSVzLW92ZXJ3cml0ZS1zb3VyY2Ul cyVzIiwgcHJlZml4LCBtb2RlLT5uYW1lLCBwLT5wcmVmaXgsIHN1ZmZpeCwgaC0+c3VmZml4KSB7 CisJCQkJaWd0X2dlbV9zdHJlc3Nfc3VidGVzdF9mKCIiLCAiJXMtJXMtJXMtb3ZlcndyaXRlLXNv dXJjZSVzJXMiLCBwcmVmaXgsIG1vZGUtPm5hbWUsIHAtPnByZWZpeCwgc3VmZml4LCBoLT5zdWZm aXgpIHsKIAkJCQkJYnVmZmVyc19jcmVhdGUoJmJ1ZmZlcnMpOwogCQkJCQlydW5fd3JhcF9mdW5j KCZidWZmZXJzLAogCQkJCQkJCWRvX292ZXJ3cml0ZV9zb3VyY2UsCiAJCQkJCQkJcC0+Y29weSwg aC0+aGFuZyk7CiAJCQkJfQogCi0JCQkJaWd0X3N1YnRlc3RfZigiJXMtJXMtJXMtb3ZlcndyaXRl LXNvdXJjZS1yZWFkLWJjcyVzJXMiLCBwcmVmaXgsIG1vZGUtPm5hbWUsIHAtPnByZWZpeCwgc3Vm Zml4LCBoLT5zdWZmaXgpIHsKKwkJCQlpZ3RfZ2VtX3N0cmVzc19zdWJ0ZXN0X2YoIiIsICIlcy0l cy0lcy1vdmVyd3JpdGUtc291cmNlLXJlYWQtYmNzJXMlcyIsIHByZWZpeCwgbW9kZS0+bmFtZSwg cC0+cHJlZml4LCBzdWZmaXgsIGgtPnN1ZmZpeCkgewogCQkJCQlidWZmZXJzX2NyZWF0ZSgmYnVm ZmVycyk7CiAJCQkJCXJ1bl93cmFwX2Z1bmMoJmJ1ZmZlcnMsCiAJCQkJCQkJZG9fb3ZlcndyaXRl X3NvdXJjZV9yZWFkX2JjcywKIAkJCQkJCQlwLT5jb3B5LCBoLT5oYW5nKTsKIAkJCQl9CiAKLQkJ CQlpZ3Rfc3VidGVzdF9mKCIlcy0lcy0lcy1vdmVyd3JpdGUtc291cmNlLXJlYWQtcmNzJXMlcyIs IHByZWZpeCwgbW9kZS0+bmFtZSwgcC0+cHJlZml4LCBzdWZmaXgsIGgtPnN1ZmZpeCkgeworCQkJ CWlndF9nZW1fc3RyZXNzX3N1YnRlc3RfZigiIiwgIiVzLSVzLSVzLW92ZXJ3cml0ZS1zb3VyY2Ut cmVhZC1yY3MlcyVzIiwgcHJlZml4LCBtb2RlLT5uYW1lLCBwLT5wcmVmaXgsIHN1ZmZpeCwgaC0+ c3VmZml4KSB7CiAJCQkJCWlndF9yZXF1aXJlKHJlbmRlcmNvcHkpOwogCQkJCQlidWZmZXJzX2Ny ZWF0ZSgmYnVmZmVycyk7CiAJCQkJCXJ1bl93cmFwX2Z1bmMoJmJ1ZmZlcnMsCkBAIC0xNTQwLDcg KzE1NDAsNyBAQCBydW5fbW9kZShjb25zdCBjaGFyICpwcmVmaXgsCiAJCQkJCQkJcC0+Y29weSwg aC0+aGFuZyk7CiAJCQkJfQogCi0JCQkJaWd0X3N1YnRlc3RfZigiJXMtJXMtJXMtb3ZlcndyaXRl LXNvdXJjZS1yZXYlcyVzIiwgcHJlZml4LCBtb2RlLT5uYW1lLCBwLT5wcmVmaXgsIHN1ZmZpeCwg aC0+c3VmZml4KSB7CisJCQkJaWd0X2dlbV9zdHJlc3Nfc3VidGVzdF9mKCIiLCAiJXMtJXMtJXMt b3ZlcndyaXRlLXNvdXJjZS1yZXYlcyVzIiwgcHJlZml4LCBtb2RlLT5uYW1lLCBwLT5wcmVmaXgs IHN1ZmZpeCwgaC0+c3VmZml4KSB7CiAJCQkJCWJ1ZmZlcnNfY3JlYXRlKCZidWZmZXJzKTsKIAkJ CQkJcnVuX3dyYXBfZnVuYygmYnVmZmVycywKIAkJCQkJCQlkb19vdmVyd3JpdGVfc291cmNlX19y ZXYsCkBAIC0xNTQ4LDIxICsxNTQ4LDIxIEBAIHJ1bl9tb2RlKGNvbnN0IGNoYXIgKnByZWZpeCwK IAkJCQl9CiAKIAkJCQkvKiB0cnkgdG8gaW50ZXJtaXggY29waWVzIHdpdGggR1BVIGNvcGllcyov Ci0JCQkJaWd0X3N1YnRlc3RfZigiJXMtJXMtJXMtaW50ZXJtaXgtcmNzJXMlcyIsIHByZWZpeCwg bW9kZS0+bmFtZSwgcC0+cHJlZml4LCBzdWZmaXgsIGgtPnN1ZmZpeCkgeworCQkJCWlndF9nZW1f c3RyZXNzX3N1YnRlc3RfZigiIiwgIiVzLSVzLSVzLWludGVybWl4LXJjcyVzJXMiLCBwcmVmaXgs IG1vZGUtPm5hbWUsIHAtPnByZWZpeCwgc3VmZml4LCBoLT5zdWZmaXgpIHsKIAkJCQkJaWd0X3Jl cXVpcmUocmVuZGVyY29weSk7CiAJCQkJCWJ1ZmZlcnNfY3JlYXRlKCZidWZmZXJzKTsKIAkJCQkJ cnVuX3dyYXBfZnVuYygmYnVmZmVycywKIAkJCQkJCQlkb19pbnRlcm1peF9yY3MsCiAJCQkJCQkJ cC0+Y29weSwgaC0+aGFuZyk7CiAJCQkJfQotCQkJCWlndF9zdWJ0ZXN0X2YoIiVzLSVzLSVzLWlu dGVybWl4LWJjcyVzJXMiLCBwcmVmaXgsIG1vZGUtPm5hbWUsIHAtPnByZWZpeCwgc3VmZml4LCBo LT5zdWZmaXgpIHsKKwkJCQlpZ3RfZ2VtX3N0cmVzc19zdWJ0ZXN0X2YoIiIsICIlcy0lcy0lcy1p bnRlcm1peC1iY3MlcyVzIiwgcHJlZml4LCBtb2RlLT5uYW1lLCBwLT5wcmVmaXgsIHN1ZmZpeCwg aC0+c3VmZml4KSB7CiAJCQkJCWlndF9yZXF1aXJlKHJlbmRlcmNvcHkpOwogCQkJCQlidWZmZXJz X2NyZWF0ZSgmYnVmZmVycyk7CiAJCQkJCXJ1bl93cmFwX2Z1bmMoJmJ1ZmZlcnMsCiAJCQkJCQkJ ZG9faW50ZXJtaXhfYmNzLAogCQkJCQkJCXAtPmNvcHksIGgtPmhhbmcpOwogCQkJCX0KLQkJCQlp Z3Rfc3VidGVzdF9mKCIlcy0lcy0lcy1pbnRlcm1peC1ib3RoJXMlcyIsIHByZWZpeCwgbW9kZS0+ bmFtZSwgcC0+cHJlZml4LCBzdWZmaXgsIGgtPnN1ZmZpeCkgeworCQkJCWlndF9nZW1fc3RyZXNz X3N1YnRlc3RfZigiIiwgIiVzLSVzLSVzLWludGVybWl4LWJvdGglcyVzIiwgcHJlZml4LCBtb2Rl LT5uYW1lLCBwLT5wcmVmaXgsIHN1ZmZpeCwgaC0+c3VmZml4KSB7CiAJCQkJCWlndF9yZXF1aXJl KHJlbmRlcmNvcHkpOwogCQkJCQlidWZmZXJzX2NyZWF0ZSgmYnVmZmVycyk7CiAJCQkJCXJ1bl93 cmFwX2Z1bmMoJmJ1ZmZlcnMsCkBAIC0xNTcxLDcgKzE1NzEsNyBAQCBydW5fbW9kZShjb25zdCBj aGFyICpwcmVmaXgsCiAJCQkJfQogCiAJCQkJLyogdHJ5IHRvIHJlYWQgdGhlIHJlc3VsdHMgYmVm b3JlIHRoZSBjb3B5IGNvbXBsZXRlcyAqLwotCQkJCWlndF9zdWJ0ZXN0X2YoIiVzLSVzLSVzLWVh cmx5LXJlYWQlcyVzIiwgcHJlZml4LCBtb2RlLT5uYW1lLCBwLT5wcmVmaXgsIHN1ZmZpeCwgaC0+ c3VmZml4KSB7CisJCQkJaWd0X2dlbV9zdHJlc3Nfc3VidGVzdF9mKCIiLCAiJXMtJXMtJXMtZWFy bHktcmVhZCVzJXMiLCBwcmVmaXgsIG1vZGUtPm5hbWUsIHAtPnByZWZpeCwgc3VmZml4LCBoLT5z dWZmaXgpIHsKIAkJCQkJYnVmZmVyc19jcmVhdGUoJmJ1ZmZlcnMpOwogCQkJCQlydW5fd3JhcF9m dW5jKCZidWZmZXJzLAogCQkJCQkJCWRvX2Vhcmx5X3JlYWQsCkBAIC0xNTc5LDEzICsxNTc5LDEz IEBAIHJ1bl9tb2RlKGNvbnN0IGNoYXIgKnByZWZpeCwKIAkJCQl9CiAKIAkJCQkvKiBjb25jdXJy ZW50IHJlYWRzICovCi0JCQkJaWd0X3N1YnRlc3RfZigiJXMtJXMtJXMtcmVhZC1yZWFkLWJjcyVz JXMiLCBwcmVmaXgsIG1vZGUtPm5hbWUsIHAtPnByZWZpeCwgc3VmZml4LCBoLT5zdWZmaXgpIHsK KwkJCQlpZ3RfZ2VtX3N0cmVzc19zdWJ0ZXN0X2YoIiIsICIlcy0lcy0lcy1yZWFkLXJlYWQtYmNz JXMlcyIsIHByZWZpeCwgbW9kZS0+bmFtZSwgcC0+cHJlZml4LCBzdWZmaXgsIGgtPnN1ZmZpeCkg ewogCQkJCQlidWZmZXJzX2NyZWF0ZSgmYnVmZmVycyk7CiAJCQkJCXJ1bl93cmFwX2Z1bmMoJmJ1 ZmZlcnMsCiAJCQkJCQkJZG9fcmVhZF9yZWFkX2JjcywKIAkJCQkJCQlwLT5jb3B5LCBoLT5oYW5n KTsKIAkJCQl9Ci0JCQkJaWd0X3N1YnRlc3RfZigiJXMtJXMtJXMtcmVhZC1yZWFkLXJjcyVzJXMi LCBwcmVmaXgsIG1vZGUtPm5hbWUsIHAtPnByZWZpeCwgc3VmZml4LCBoLT5zdWZmaXgpIHsKKwkJ CQlpZ3RfZ2VtX3N0cmVzc19zdWJ0ZXN0X2YoIiIsICIlcy0lcy0lcy1yZWFkLXJlYWQtcmNzJXMl cyIsIHByZWZpeCwgbW9kZS0+bmFtZSwgcC0+cHJlZml4LCBzdWZmaXgsIGgtPnN1ZmZpeCkgewog CQkJCQlpZ3RfcmVxdWlyZShyZW5kZXJjb3B5KTsKIAkJCQkJYnVmZmVyc19jcmVhdGUoJmJ1ZmZl cnMpOwogCQkJCQlydW5fd3JhcF9mdW5jKCZidWZmZXJzLApAQCAtMTU5NCwxMyArMTU5NCwxMyBA QCBydW5fbW9kZShjb25zdCBjaGFyICpwcmVmaXgsCiAJCQkJfQogCiAJCQkJLyogc3BsaXQgY29w eWluZyBiZXR3ZWVuIHJpbmdzICovCi0JCQkJaWd0X3N1YnRlc3RfZigiJXMtJXMtJXMtd3JpdGUt cmVhZC1iY3MlcyVzIiwgcHJlZml4LCBtb2RlLT5uYW1lLCBwLT5wcmVmaXgsIHN1ZmZpeCwgaC0+ c3VmZml4KSB7CisJCQkJaWd0X2dlbV9zdHJlc3Nfc3VidGVzdF9mKCIiLCAiJXMtJXMtJXMtd3Jp dGUtcmVhZC1iY3MlcyVzIiwgcHJlZml4LCBtb2RlLT5uYW1lLCBwLT5wcmVmaXgsIHN1ZmZpeCwg aC0+c3VmZml4KSB7CiAJCQkJCWJ1ZmZlcnNfY3JlYXRlKCZidWZmZXJzKTsKIAkJCQkJcnVuX3dy YXBfZnVuYygmYnVmZmVycywKIAkJCQkJCQlkb193cml0ZV9yZWFkX2JjcywKIAkJCQkJCQlwLT5j b3B5LCBoLT5oYW5nKTsKIAkJCQl9Ci0JCQkJaWd0X3N1YnRlc3RfZigiJXMtJXMtJXMtd3JpdGUt cmVhZC1yY3MlcyVzIiwgcHJlZml4LCBtb2RlLT5uYW1lLCBwLT5wcmVmaXgsIHN1ZmZpeCwgaC0+ c3VmZml4KSB7CisJCQkJaWd0X2dlbV9zdHJlc3Nfc3VidGVzdF9mKCIiLCAiJXMtJXMtJXMtd3Jp dGUtcmVhZC1yY3MlcyVzIiwgcHJlZml4LCBtb2RlLT5uYW1lLCBwLT5wcmVmaXgsIHN1ZmZpeCwg aC0+c3VmZml4KSB7CiAJCQkJCWlndF9yZXF1aXJlKHJlbmRlcmNvcHkpOwogCQkJCQlidWZmZXJz X2NyZWF0ZSgmYnVmZmVycyk7CiAJCQkJCXJ1bl93cmFwX2Z1bmMoJmJ1ZmZlcnMsCkBAIC0xNjA5 LDcgKzE2MDksNyBAQCBydW5fbW9kZShjb25zdCBjaGFyICpwcmVmaXgsCiAJCQkJfQogCiAJCQkJ LyogYW5kIGZpbmFsbHkgdHJ5IHRvIHRyaWNrIHRoZSBrZXJuZWwgaW50byBsb29zaW5nIHRoZSBw ZW5kaW5nIHdyaXRlICovCi0JCQkJaWd0X3N1YnRlc3RfZigiJXMtJXMtJXMtZ3B1LXJlYWQtYWZ0 ZXItd3JpdGUlcyVzIiwgcHJlZml4LCBtb2RlLT5uYW1lLCBwLT5wcmVmaXgsIHN1ZmZpeCwgaC0+ c3VmZml4KSB7CisJCQkJaWd0X2dlbV9zdHJlc3Nfc3VidGVzdF9mKCIiLCAiJXMtJXMtJXMtZ3B1 LXJlYWQtYWZ0ZXItd3JpdGUlcyVzIiwgcHJlZml4LCBtb2RlLT5uYW1lLCBwLT5wcmVmaXgsIHN1 ZmZpeCwgaC0+c3VmZml4KSB7CiAJCQkJCWJ1ZmZlcnNfY3JlYXRlKCZidWZmZXJzKTsKIAkJCQkJ cnVuX3dyYXBfZnVuYygmYnVmZmVycywKIAkJCQkJCQlkb19ncHVfcmVhZF9hZnRlcl93cml0ZSwK LS0gCjIuOS40CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f XwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcK aHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK