From mboxrd@z Thu Jan 1 00:00:00 1970 From: Robert Bragg Subject: [PATCH igt v4 02/13] igt/gem_exec_parse: some minor cleanups Date: Mon, 14 Nov 2016 20:51:11 +0000 Message-ID: <20161114205122.10742-3-robert@sixbynine.org> References: <20161114205122.10742-1-robert@sixbynine.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-pf0-x241.google.com (mail-pf0-x241.google.com [IPv6:2607:f8b0:400e:c00::241]) by gabe.freedesktop.org (Postfix) with ESMTPS id E75118958E for ; Mon, 14 Nov 2016 20:51:36 +0000 (UTC) Received: by mail-pf0-x241.google.com with SMTP id y68so6677532pfb.1 for ; Mon, 14 Nov 2016 12:51:36 -0800 (PST) In-Reply-To: <20161114205122.10742-1-robert@sixbynine.org> 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 VGhpcyBub3JtYWxpemVzIHRoZSBleGVjYnVmIHV0aWxpdGllcyBpbiB0aGlzIGZpbGUgdG8gYWxs IHVzZSBtZW1zZXQgdG8KY2xlYXIgb2JqLCByZWxvYyBhbmQgZXhlY2J1ZiBzdHJ1Y3R1cmVzIGFu ZCBzZXQgdGhlbSB1cCBpbiB0aGUgc2FtZQpvcmRlci4gQXMgSSB3YXMgZGVidWdnaW5nIHNvbWUg dW5wcmVkaWN0YWJsZSB0ZXN0IGZhaWx1cmVzIEkgd2FzIGdldHRpbmcKdW5zdXJlIHRoYXQgYWxs IHRoZXNlIHN0cnVjdHVyZXMgd2VyZSBiZWluZyBmdWxseSBpbml0aWFsaXplZC4KClRoZSBzYW1l IEk5MTVfR0VNX0RPTUFJTl9DT01NQU5EIGRvbWFpbiBpcyBub3cgdXNlZCB3aXRoIGFsbCByZWxv Y3MuCgpUaGUgcmVnaXN0ZXIvY29tbWFuZCBkZWZpbmVzIGhhdmUgYmVlbiBtb3ZlZCB0byB0aGUg dG9wIG9mIHRoZSBmaWxlIHRvCmJlIGF2YWlsYWJsZSB0byBhbGwgdGVzdHMvdXRpbGl0aWVzLgoK VGhlIGhhbmRsZSArIGZkIHZhcmlhYmxlcyBhcmUgbm93IHN0YXRpYy4KClNpZ25lZC1vZmYtYnk6 IFJvYmVydCBCcmFnZyA8cm9iZXJ0QHNpeGJ5bmluZS5vcmc+ClJldmlld2VkLWJ5OiBNYXR0aGV3 IEF1bGQgPG1hdHRoZXcuYXVsZEBpbnRlbC5jb20+Ci0tLQogdGVzdHMvZ2VtX2V4ZWNfcGFyc2Uu YyB8IDE5NiArKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t CiAxIGZpbGUgY2hhbmdlZCwgNjYgaW5zZXJ0aW9ucygrKSwgMTMwIGRlbGV0aW9ucygtKQoKZGlm ZiAtLWdpdCBhL3Rlc3RzL2dlbV9leGVjX3BhcnNlLmMgYi90ZXN0cy9nZW1fZXhlY19wYXJzZS5j CmluZGV4IDI3MzliMmMuLmM4MWJiYzcgMTAwNjQ0Ci0tLSBhL3Rlc3RzL2dlbV9leGVjX3BhcnNl LmMKKysrIGIvdGVzdHMvZ2VtX2V4ZWNfcGFyc2UuYwpAQCAtMzcsNiArMzcsMjAgQEAKICNkZWZp bmUgT0FDT05UUk9MIDB4MjM2MAogI2RlZmluZSBERVJSTVIgMHg0NDA1MAogCisjZGVmaW5lIEhT V19DU19HUFIobikgKDB4MjYwMCArIDgqKG4pKQorI2RlZmluZSBIU1dfQ1NfR1BSMCBIU1dfQ1Nf R1BSKDApCisjZGVmaW5lIEhTV19DU19HUFIxIEhTV19DU19HUFIoMSkKKworI2RlZmluZSBNSV9M T0FEX1JFR0lTVEVSX1JFRyAoMHgyYSA8PCAyMykKKyNkZWZpbmUgTUlfU1RPUkVfUkVHSVNURVJf TUVNICgweDI0IDw8IDIzKQorI2RlZmluZSBNSV9BUkJfT05fT0ZGICgweDggPDwgMjMpCisjZGVm aW5lIE1JX0RJU1BMQVlfRkxJUCAoKDB4MTQgPDwgMjMpIHwgMSkKKworI2RlZmluZSBHRlhfT1Bf UElQRV9DT05UUk9MCSgoMHgzPDwyOSl8KDB4Mzw8MjcpfCgweDI8PDI0KXwyKQorI2RlZmluZSAg IFBJUEVfQ09OVFJPTF9RV19XUklURQkoMTw8MTQpCisjZGVmaW5lICAgUElQRV9DT05UUk9MX0xS SV9QT1NUX09QICgxPDwyMykKKworCiBzdGF0aWMgaW50IGNvbW1hbmRfcGFyc2VyX3ZlcnNpb24o aW50IGZkKQogewogCWludCB2ZXJzaW9uID0gLTE7CkBAIC01MSwxMiArNjUsNiBAQCBzdGF0aWMg aW50IGNvbW1hbmRfcGFyc2VyX3ZlcnNpb24oaW50IGZkKQogCXJldHVybiAtMTsKIH0KIAotI2Rl ZmluZSBIU1dfQ1NfR1BSKG4pICgweDI2MDAgKyA4KihuKSkKLSNkZWZpbmUgSFNXX0NTX0dQUjAg SFNXX0NTX0dQUigwKQotI2RlZmluZSBIU1dfQ1NfR1BSMSBIU1dfQ1NfR1BSKDEpCi0KLSNkZWZp bmUgTUlfTE9BRF9SRUdJU1RFUl9SRUcgKDB4MmEgPDwgMjMpCi0jZGVmaW5lIE1JX1NUT1JFX1JF R0lTVEVSX01FTSAoMHgyNCA8PCAyMykKIHN0YXRpYyB2b2lkIGhzd19sb2FkX3JlZ2lzdGVyX3Jl Zyh2b2lkKQogewogCXVpbnQzMl90IGJ1ZlsxNl0gPSB7CkBAIC0xMDAsMTMgKzEwOCwxMyBAQCBz dGF0aWMgdm9pZCBoc3dfbG9hZF9yZWdpc3Rlcl9yZWcodm9pZCkKIAlyZWxvY1swXS5vZmZzZXQg PSA3KnNpemVvZih1aW50MzJfdCk7CiAJcmVsb2NbMF0udGFyZ2V0X2hhbmRsZSA9IG9ialswXS5o YW5kbGU7CiAJcmVsb2NbMF0uZGVsdGEgPSAwOwotCXJlbG9jWzBdLnJlYWRfZG9tYWlucyA9IEk5 MTVfR0VNX0RPTUFJTl9JTlNUUlVDVElPTjsKLQlyZWxvY1swXS53cml0ZV9kb21haW4gPSBJOTE1 X0dFTV9ET01BSU5fSU5TVFJVQ1RJT047CisJcmVsb2NbMF0ucmVhZF9kb21haW5zID0gSTkxNV9H RU1fRE9NQUlOX0NPTU1BTkQ7CisJcmVsb2NbMF0ud3JpdGVfZG9tYWluID0gSTkxNV9HRU1fRE9N QUlOX0NPTU1BTkQ7CiAJcmVsb2NbMV0ub2Zmc2V0ID0gMTMqc2l6ZW9mKHVpbnQzMl90KTsKIAly ZWxvY1sxXS50YXJnZXRfaGFuZGxlID0gb2JqWzBdLmhhbmRsZTsKIAlyZWxvY1sxXS5kZWx0YSA9 IHNpemVvZih1aW50MzJfdCk7Ci0JcmVsb2NbMV0ucmVhZF9kb21haW5zID0gSTkxNV9HRU1fRE9N QUlOX0lOU1RSVUNUSU9OOwotCXJlbG9jWzFdLndyaXRlX2RvbWFpbiA9IEk5MTVfR0VNX0RPTUFJ Tl9JTlNUUlVDVElPTjsKKwlyZWxvY1sxXS5yZWFkX2RvbWFpbnMgPSBJOTE1X0dFTV9ET01BSU5f Q09NTUFORDsKKwlyZWxvY1sxXS53cml0ZV9kb21haW4gPSBJOTE1X0dFTV9ET01BSU5fQ09NTUFO RDsKIAlvYmpbMV0ucmVsb2NzX3B0ciA9ICh1aW50cHRyX3QpJnJlbG9jOwogCW9ialsxXS5yZWxv Y2F0aW9uX2NvdW50ID0gMjsKIApAQCAtMTUyLDcgKzE2MCw3IEBAIHN0YXRpYyB2b2lkIGV4ZWNf YmF0Y2hfcGF0Y2hlZChpbnQgZmQsIHVpbnQzMl90IGNtZF9ibywgdWludDMyX3QgKmNtZHMsCiAJ CQkgICAgICAgaW50IHNpemUsIGludCBwYXRjaF9vZmZzZXQsIHVpbnQ2NF90IGV4cGVjdGVkX3Zh bHVlKQogewogCXN0cnVjdCBkcm1faTkxNV9nZW1fZXhlY2J1ZmZlcjIgZXhlY2J1ZjsKLQlzdHJ1 Y3QgZHJtX2k5MTVfZ2VtX2V4ZWNfb2JqZWN0MiBvYmpzWzJdOworCXN0cnVjdCBkcm1faTkxNV9n ZW1fZXhlY19vYmplY3QyIG9ialsyXTsKIAlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlbG9jYXRpb25f ZW50cnkgcmVsb2NbMV07CiAKIAl1aW50MzJfdCB0YXJnZXRfYm8gPSBnZW1fY3JlYXRlKGZkLCA0 MDk2KTsKQEAgLTE2MCw0MiArMTY4LDI0IEBAIHN0YXRpYyB2b2lkIGV4ZWNfYmF0Y2hfcGF0Y2hl ZChpbnQgZmQsIHVpbnQzMl90IGNtZF9ibywgdWludDMyX3QgKmNtZHMsCiAKIAlnZW1fd3JpdGUo ZmQsIGNtZF9ibywgMCwgY21kcywgc2l6ZSk7CiAKKwltZW1zZXQob2JqLCAwLCBzaXplb2Yob2Jq KSk7CisJb2JqWzBdLmhhbmRsZSA9IHRhcmdldF9ibzsKKwlvYmpbMV0uaGFuZGxlID0gY21kX2Jv OworCisJbWVtc2V0KHJlbG9jLCAwLCBzaXplb2YocmVsb2MpKTsKIAlyZWxvY1swXS5vZmZzZXQg PSBwYXRjaF9vZmZzZXQ7CisJcmVsb2NbMF0udGFyZ2V0X2hhbmRsZSA9IG9ialswXS5oYW5kbGU7 CiAJcmVsb2NbMF0uZGVsdGEgPSAwOwotCXJlbG9jWzBdLnRhcmdldF9oYW5kbGUgPSB0YXJnZXRf Ym87Ci0JcmVsb2NbMF0ucmVhZF9kb21haW5zID0gSTkxNV9HRU1fRE9NQUlOX1JFTkRFUjsKLQly ZWxvY1swXS53cml0ZV9kb21haW4gPSBJOTE1X0dFTV9ET01BSU5fUkVOREVSOwotCXJlbG9jWzBd LnByZXN1bWVkX29mZnNldCA9IDA7Ci0KLQlvYmpzWzBdLmhhbmRsZSA9IHRhcmdldF9ibzsKLQlv YmpzWzBdLnJlbG9jYXRpb25fY291bnQgPSAwOwotCW9ianNbMF0ucmVsb2NzX3B0ciA9IDA7Ci0J b2Jqc1swXS5hbGlnbm1lbnQgPSAwOwotCW9ianNbMF0ub2Zmc2V0ID0gMDsKLQlvYmpzWzBdLmZs YWdzID0gMDsKLQlvYmpzWzBdLnJzdmQxID0gMDsKLQlvYmpzWzBdLnJzdmQyID0gMDsKLQotCW9i anNbMV0uaGFuZGxlID0gY21kX2JvOwotCW9ianNbMV0ucmVsb2NhdGlvbl9jb3VudCA9IDE7Ci0J b2Jqc1sxXS5yZWxvY3NfcHRyID0gKHVpbnRwdHJfdClyZWxvYzsKLQlvYmpzWzFdLmFsaWdubWVu dCA9IDA7Ci0Jb2Jqc1sxXS5vZmZzZXQgPSAwOwotCW9ianNbMV0uZmxhZ3MgPSAwOwotCW9ianNb MV0ucnN2ZDEgPSAwOwotCW9ianNbMV0ucnN2ZDIgPSAwOwotCi0JZXhlY2J1Zi5idWZmZXJzX3B0 ciA9ICh1aW50cHRyX3Qpb2JqczsKKwlyZWxvY1swXS5yZWFkX2RvbWFpbnMgPSBJOTE1X0dFTV9E T01BSU5fQ09NTUFORDsKKwlyZWxvY1swXS53cml0ZV9kb21haW4gPSBJOTE1X0dFTV9ET01BSU5f Q09NTUFORDsKKwlvYmpbMV0ucmVsb2NzX3B0ciA9ICh1aW50cHRyX3QpcmVsb2M7CisJb2JqWzFd LnJlbG9jYXRpb25fY291bnQgPSAxOworCisJbWVtc2V0KCZleGVjYnVmLCAwLCBzaXplb2YoZXhl Y2J1ZikpOworCWV4ZWNidWYuYnVmZmVyc19wdHIgPSAodWludHB0cl90KW9iajsKIAlleGVjYnVm LmJ1ZmZlcl9jb3VudCA9IDI7Ci0JZXhlY2J1Zi5iYXRjaF9zdGFydF9vZmZzZXQgPSAwOwogCWV4 ZWNidWYuYmF0Y2hfbGVuID0gc2l6ZTsKLQlleGVjYnVmLmNsaXByZWN0c19wdHIgPSAwOwotCWV4 ZWNidWYubnVtX2NsaXByZWN0cyA9IDA7Ci0JZXhlY2J1Zi5EUjEgPSAwOwotCWV4ZWNidWYuRFI0 ID0gMDsKIAlleGVjYnVmLmZsYWdzID0gSTkxNV9FWEVDX1JFTkRFUjsKLQlpOTE1X2V4ZWNidWZm ZXIyX3NldF9jb250ZXh0X2lkKGV4ZWNidWYsIDApOwotCWV4ZWNidWYucnN2ZDIgPSAwOwogCiAJ Z2VtX2V4ZWNidWYoZmQsICZleGVjYnVmKTsKIAlnZW1fc3luYyhmZCwgY21kX2JvKTsKQEAgLTIx MCwzMCArMjAwLDE4IEBAIHN0YXRpYyBpbnQgX19leGVjX2JhdGNoKGludCBmZCwgdWludDMyX3Qg Y21kX2JvLCB1aW50MzJfdCAqY21kcywKIAkJCWludCBzaXplLCBpbnQgcmluZykKIHsKIAlzdHJ1 Y3QgZHJtX2k5MTVfZ2VtX2V4ZWNidWZmZXIyIGV4ZWNidWY7Ci0Jc3RydWN0IGRybV9pOTE1X2dl bV9leGVjX29iamVjdDIgb2Jqc1sxXTsKKwlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX2V4ZWNfb2JqZWN0 MiBvYmpbMV07CiAKIAlnZW1fd3JpdGUoZmQsIGNtZF9ibywgMCwgY21kcywgc2l6ZSk7CiAKLQlv YmpzWzBdLmhhbmRsZSA9IGNtZF9ibzsKLQlvYmpzWzBdLnJlbG9jYXRpb25fY291bnQgPSAwOwot CW9ianNbMF0ucmVsb2NzX3B0ciA9IDA7Ci0Jb2Jqc1swXS5hbGlnbm1lbnQgPSAwOwotCW9ianNb MF0ub2Zmc2V0ID0gMDsKLQlvYmpzWzBdLmZsYWdzID0gMDsKLQlvYmpzWzBdLnJzdmQxID0gMDsK LQlvYmpzWzBdLnJzdmQyID0gMDsKKwltZW1zZXQob2JqLCAwLCBzaXplb2Yob2JqKSk7CisJb2Jq WzBdLmhhbmRsZSA9IGNtZF9ibzsKIAotCWV4ZWNidWYuYnVmZmVyc19wdHIgPSAodWludHB0cl90 KW9ianM7CisJbWVtc2V0KCZleGVjYnVmLCAwLCBzaXplb2YoZXhlY2J1ZikpOworCWV4ZWNidWYu YnVmZmVyc19wdHIgPSAodWludHB0cl90KW9iajsKIAlleGVjYnVmLmJ1ZmZlcl9jb3VudCA9IDE7 Ci0JZXhlY2J1Zi5iYXRjaF9zdGFydF9vZmZzZXQgPSAwOwogCWV4ZWNidWYuYmF0Y2hfbGVuID0g c2l6ZTsKLQlleGVjYnVmLmNsaXByZWN0c19wdHIgPSAwOwotCWV4ZWNidWYubnVtX2NsaXByZWN0 cyA9IDA7Ci0JZXhlY2J1Zi5EUjEgPSAwOwotCWV4ZWNidWYuRFI0ID0gMDsKIAlleGVjYnVmLmZs YWdzID0gcmluZzsKLQlpOTE1X2V4ZWNidWZmZXIyX3NldF9jb250ZXh0X2lkKGV4ZWNidWYsIDAp OwotCWV4ZWNidWYucnN2ZDIgPSAwOwogCiAJcmV0dXJuIF9fZ2VtX2V4ZWNidWYoZmQsICZleGVj YnVmKTsKIH0KQEAgLTI0NCw3ICsyMjIsNyBAQCBzdGF0aWMgdm9pZCBleGVjX3NwbGl0X2JhdGNo KGludCBmZCwgdWludDMyX3QgKmNtZHMsCiAJCQkgICAgIGludCBzaXplLCBpbnQgcmluZywgaW50 IGV4cGVjdGVkX3JldCkKIHsKIAlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX2V4ZWNidWZmZXIyIGV4ZWNi dWY7Ci0Jc3RydWN0IGRybV9pOTE1X2dlbV9leGVjX29iamVjdDIgb2Jqc1sxXTsKKwlzdHJ1Y3Qg ZHJtX2k5MTVfZ2VtX2V4ZWNfb2JqZWN0MiBvYmpbMV07CiAJdWludDMyX3QgY21kX2JvOwogCXVp bnQzMl90IG5vb3BbMTAyNF0gPSB7IDAgfTsKIAljb25zdCBpbnQgYWxsb2Nfc2l6ZSA9IDQwOTYg KiAyOwpAQCAtMjYxLDE2ICsyMzksMTEgQEAgc3RhdGljIHZvaWQgZXhlY19zcGxpdF9iYXRjaChp bnQgZmQsIHVpbnQzMl90ICpjbWRzLAogCSAqLwogCWdlbV93cml0ZShmZCwgY21kX2JvLCBhY3R1 YWxfc3RhcnRfb2Zmc2V0LCBjbWRzLCBzaXplKTsKIAotCW9ianNbMF0uaGFuZGxlID0gY21kX2Jv OwotCW9ianNbMF0ucmVsb2NhdGlvbl9jb3VudCA9IDA7Ci0Jb2Jqc1swXS5yZWxvY3NfcHRyID0g MDsKLQlvYmpzWzBdLmFsaWdubWVudCA9IDA7Ci0Jb2Jqc1swXS5vZmZzZXQgPSAwOwotCW9ianNb MF0uZmxhZ3MgPSAwOwotCW9ianNbMF0ucnN2ZDEgPSAwOwotCW9ianNbMF0ucnN2ZDIgPSAwOwor CW1lbXNldChvYmosIDAsIHNpemVvZihvYmopKTsKKwlvYmpbMF0uaGFuZGxlID0gY21kX2JvOwog Ci0JZXhlY2J1Zi5idWZmZXJzX3B0ciA9ICh1aW50cHRyX3Qpb2JqczsKKwltZW1zZXQoJmV4ZWNi dWYsIDAsIHNpemVvZihleGVjYnVmKSk7CisJZXhlY2J1Zi5idWZmZXJzX3B0ciA9ICh1aW50cHRy X3Qpb2JqOwogCWV4ZWNidWYuYnVmZmVyX2NvdW50ID0gMTsKIAkvKiBOQjogV2Ugd2FudCBiYXRj aF9zdGFydF9vZmZzZXQgYW5kIGJhdGNoX2xlbiB0byBwb2ludCB0byB0aGUgYmxvY2sKIAkgKiBv ZiB0aGUgYWN0dWFsIGNvbW1hbmRzIChpLmUuIGF0IHRoZSBsYXN0IGR3b3JkIG9mIHRoZSBmaXJz dCBwYWdlKSwKQEAgLTI4MSwxMyArMjU0LDcgQEAgc3RhdGljIHZvaWQgZXhlY19zcGxpdF9iYXRj aChpbnQgZmQsIHVpbnQzMl90ICpjbWRzLAogCWV4ZWNidWYuYmF0Y2hfbGVuID0KIAkJQUxJR04o c2l6ZSArIGFjdHVhbF9zdGFydF9vZmZzZXQgLSBleGVjYnVmLmJhdGNoX3N0YXJ0X29mZnNldCwK IAkJICAgICAgMHg4KTsKLQlleGVjYnVmLmNsaXByZWN0c19wdHIgPSAwOwotCWV4ZWNidWYubnVt X2NsaXByZWN0cyA9IDA7Ci0JZXhlY2J1Zi5EUjEgPSAwOwotCWV4ZWNidWYuRFI0ID0gMDsKIAll eGVjYnVmLmZsYWdzID0gcmluZzsKLQlpOTE1X2V4ZWNidWZmZXIyX3NldF9jb250ZXh0X2lkKGV4 ZWNidWYsIDApOwotCWV4ZWNidWYucnN2ZDIgPSAwOwogCiAJaWd0X2Fzc2VydF9lcShfX2dlbV9l eGVjYnVmKGZkLCAmZXhlY2J1ZiksIGV4cGVjdGVkX3JldCk7CiAKQEAgLTMwMCw4ICsyNjcsOCBA QCBzdGF0aWMgdm9pZCBleGVjX2JhdGNoX2NoYWluZWQoaW50IGZkLCB1aW50MzJfdCBjbWRfYm8s IHVpbnQzMl90ICpjbWRzLAogCQkJICAgICAgIHVpbnQ2NF90IGV4cGVjdGVkX3ZhbHVlKQogewog CXN0cnVjdCBkcm1faTkxNV9nZW1fZXhlY2J1ZmZlcjIgZXhlY2J1ZjsKLQlzdHJ1Y3QgZHJtX2k5 MTVfZ2VtX2V4ZWNfb2JqZWN0MiBvYmpzWzNdOwotCXN0cnVjdCBkcm1faTkxNV9nZW1fcmVsb2Nh dGlvbl9lbnRyeSByZWxvYzsKKwlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX2V4ZWNfb2JqZWN0MiBvYmpb M107CisJc3RydWN0IGRybV9pOTE1X2dlbV9yZWxvY2F0aW9uX2VudHJ5IHJlbG9jWzFdOwogCXN0 cnVjdCBkcm1faTkxNV9nZW1fcmVsb2NhdGlvbl9lbnRyeSBmaXJzdF9sZXZlbF9yZWxvYzsKIAog CXVpbnQzMl90IHRhcmdldF9ibyA9IGdlbV9jcmVhdGUoZmQsIDQwOTYpOwpAQCAtMzIyLDU4ICsy ODksMzQgQEAgc3RhdGljIHZvaWQgZXhlY19iYXRjaF9jaGFpbmVkKGludCBmZCwgdWludDMyX3Qg Y21kX2JvLCB1aW50MzJfdCAqY21kcywKIAkJICBmaXJzdF9sZXZlbF9jbWRzLCBzaXplb2YoZmly c3RfbGV2ZWxfY21kcykpOwogCWdlbV93cml0ZShmZCwgY21kX2JvLCAwLCBjbWRzLCBzaXplKTsK IAotCXJlbG9jLm9mZnNldCA9IHBhdGNoX29mZnNldDsKLQlyZWxvYy5kZWx0YSA9IDA7Ci0JcmVs b2MudGFyZ2V0X2hhbmRsZSA9IHRhcmdldF9ibzsKLQlyZWxvYy5yZWFkX2RvbWFpbnMgPSBJOTE1 X0dFTV9ET01BSU5fUkVOREVSOwotCXJlbG9jLndyaXRlX2RvbWFpbiA9IEk5MTVfR0VNX0RPTUFJ Tl9SRU5ERVI7Ci0JcmVsb2MucHJlc3VtZWRfb2Zmc2V0ID0gMDsKKwltZW1zZXQob2JqLCAwLCBz aXplb2Yob2JqKSk7CisJb2JqWzBdLmhhbmRsZSA9IHRhcmdldF9ibzsKKwlvYmpbMV0uaGFuZGxl ID0gY21kX2JvOworCW9ialsyXS5oYW5kbGUgPSBmaXJzdF9sZXZlbF9ibzsKKworCW1lbXNldChy ZWxvYywgMCwgc2l6ZW9mKHJlbG9jKSk7CisJcmVsb2NbMF0ub2Zmc2V0ID0gcGF0Y2hfb2Zmc2V0 OworCXJlbG9jWzBdLmRlbHRhID0gMDsKKwlyZWxvY1swXS50YXJnZXRfaGFuZGxlID0gdGFyZ2V0 X2JvOworCXJlbG9jWzBdLnJlYWRfZG9tYWlucyA9IEk5MTVfR0VNX0RPTUFJTl9DT01NQU5EOwor CXJlbG9jWzBdLndyaXRlX2RvbWFpbiA9IEk5MTVfR0VNX0RPTUFJTl9DT01NQU5EOworCW9ialsx XS5yZWxvY2F0aW9uX2NvdW50ID0gMTsKKwlvYmpbMV0ucmVsb2NzX3B0ciA9ICh1aW50cHRyX3Qp JnJlbG9jOwogCisJbWVtc2V0KCZmaXJzdF9sZXZlbF9yZWxvYywgMCwgc2l6ZW9mKGZpcnN0X2xl dmVsX3JlbG9jKSk7CiAJZmlyc3RfbGV2ZWxfcmVsb2Mub2Zmc2V0ID0gNDsKIAlmaXJzdF9sZXZl bF9yZWxvYy5kZWx0YSA9IDA7CiAJZmlyc3RfbGV2ZWxfcmVsb2MudGFyZ2V0X2hhbmRsZSA9IGNt ZF9ibzsKLQlmaXJzdF9sZXZlbF9yZWxvYy5yZWFkX2RvbWFpbnMgPSBJOTE1X0dFTV9ET01BSU5f SU5TVFJVQ1RJT047CisJZmlyc3RfbGV2ZWxfcmVsb2MucmVhZF9kb21haW5zID0gSTkxNV9HRU1f RE9NQUlOX0NPTU1BTkQ7CiAJZmlyc3RfbGV2ZWxfcmVsb2Mud3JpdGVfZG9tYWluID0gMDsKLQlm aXJzdF9sZXZlbF9yZWxvYy5wcmVzdW1lZF9vZmZzZXQgPSAwOwotCi0Jb2Jqc1swXS5oYW5kbGUg PSB0YXJnZXRfYm87Ci0Jb2Jqc1swXS5yZWxvY2F0aW9uX2NvdW50ID0gMDsKLQlvYmpzWzBdLnJl bG9jc19wdHIgPSAwOwotCW9ianNbMF0uYWxpZ25tZW50ID0gMDsKLQlvYmpzWzBdLm9mZnNldCA9 IDA7Ci0Jb2Jqc1swXS5mbGFncyA9IDA7Ci0Jb2Jqc1swXS5yc3ZkMSA9IDA7Ci0Jb2Jqc1swXS5y c3ZkMiA9IDA7Ci0KLQlvYmpzWzFdLmhhbmRsZSA9IGNtZF9ibzsKLQlvYmpzWzFdLnJlbG9jYXRp b25fY291bnQgPSAxOwotCW9ianNbMV0ucmVsb2NzX3B0ciA9ICh1aW50cHRyX3QpJnJlbG9jOwot CW9ianNbMV0uYWxpZ25tZW50ID0gMDsKLQlvYmpzWzFdLm9mZnNldCA9IDA7Ci0Jb2Jqc1sxXS5m bGFncyA9IDA7Ci0Jb2Jqc1sxXS5yc3ZkMSA9IDA7Ci0Jb2Jqc1sxXS5yc3ZkMiA9IDA7Ci0KLQlv YmpzWzJdLmhhbmRsZSA9IGZpcnN0X2xldmVsX2JvOwotCW9ianNbMl0ucmVsb2NhdGlvbl9jb3Vu dCA9IDE7Ci0Jb2Jqc1syXS5yZWxvY3NfcHRyID0gKHVpbnRwdHJfdCkmZmlyc3RfbGV2ZWxfcmVs b2M7Ci0Jb2Jqc1syXS5hbGlnbm1lbnQgPSAwOwotCW9ianNbMl0ub2Zmc2V0ID0gMDsKLQlvYmpz WzJdLmZsYWdzID0gMDsKLQlvYmpzWzJdLnJzdmQxID0gMDsKLQlvYmpzWzJdLnJzdmQyID0gMDsK LQotCWV4ZWNidWYuYnVmZmVyc19wdHIgPSAodWludHB0cl90KW9ianM7CisJb2JqWzJdLnJlbG9j YXRpb25fY291bnQgPSAxOworCW9ialsyXS5yZWxvY3NfcHRyID0gKHVpbnRwdHJfdCkmZmlyc3Rf bGV2ZWxfcmVsb2M7CisKKwltZW1zZXQoJmV4ZWNidWYsIDAsIHNpemVvZihleGVjYnVmKSk7CisJ ZXhlY2J1Zi5idWZmZXJzX3B0ciA9ICh1aW50cHRyX3Qpb2JqOwogCWV4ZWNidWYuYnVmZmVyX2Nv dW50ID0gMzsKLQlleGVjYnVmLmJhdGNoX3N0YXJ0X29mZnNldCA9IDA7CiAJZXhlY2J1Zi5iYXRj aF9sZW4gPSBzaXplb2YoZmlyc3RfbGV2ZWxfY21kcyk7Ci0JZXhlY2J1Zi5jbGlwcmVjdHNfcHRy ID0gMDsKLQlleGVjYnVmLm51bV9jbGlwcmVjdHMgPSAwOwotCWV4ZWNidWYuRFIxID0gMDsKLQll eGVjYnVmLkRSNCA9IDA7CiAJZXhlY2J1Zi5mbGFncyA9IEk5MTVfRVhFQ19SRU5ERVI7Ci0JaTkx NV9leGVjYnVmZmVyMl9zZXRfY29udGV4dF9pZChleGVjYnVmLCAwKTsKLQlleGVjYnVmLnJzdmQy ID0gMDsKIAogCWdlbV9leGVjYnVmKGZkLCAmZXhlY2J1Zik7CiAJZ2VtX3N5bmMoZmQsIGNtZF9i byk7CkBAIC00NDEsMTUgKzM4NCw4IEBAIHN0YXRpYyB2b2lkIHRlc3RfYWxsb2NhdGlvbnMoaW50 IGZkKQogCX0KIH0KIAotdWludDMyX3QgaGFuZGxlOwotaW50IGZkOwotCi0jZGVmaW5lIE1JX0FS Ql9PTl9PRkYgKDB4OCA8PCAyMykKLSNkZWZpbmUgTUlfRElTUExBWV9GTElQICgoMHgxNCA8PCAy MykgfCAxKQotCi0jZGVmaW5lIEdGWF9PUF9QSVBFX0NPTlRST0wJKCgweDM8PDI5KXwoMHgzPDwy Nyl8KDB4Mjw8MjQpfDIpCi0jZGVmaW5lICAgUElQRV9DT05UUk9MX1FXX1dSSVRFCSgxPDwxNCkK LSNkZWZpbmUgICBQSVBFX0NPTlRST0xfTFJJX1BPU1RfT1AgKDE8PDIzKQorc3RhdGljIHVpbnQz Ml90IGhhbmRsZTsKK3N0YXRpYyBpbnQgZmQ7CiAKIGlndF9tYWluCiB7Ci0tIAoyLjEwLjEKCl9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBt YWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3Rz LmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=