From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTPS id 01B658992E for ; Fri, 14 Jun 2019 15:30:55 +0000 (UTC) Date: Fri, 14 Jun 2019 18:30:51 +0300 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Message-ID: <20190614153051.GA5942@intel.com> References: <20190613130623.5499-1-oleg.vasilev@intel.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20190613130623.5499-1-oleg.vasilev@intel.com> Subject: Re: [igt-dev] [PATCH v2] tests/i915_pm_rpm: improved strictness and verbosity of i2c subtest List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: igt-dev-bounces@lists.freedesktop.org Sender: "igt-dev" To: Oleg Vasilev Cc: igt-dev@lists.freedesktop.org List-ID: T24gVGh1LCBKdW4gMTMsIDIwMTkgYXQgMDQ6MDY6MjNQTSArMDMwMCwgT2xlZyBWYXNpbGV2IHdy b3RlOgo+IFRlc3QgY2hlY2tlZCB0aGF0IHRoZSBudW1iZXIgb2YgdmFsaWQgZWRpZHMgZnJvbSBk cm0gaXMgZXF1YWwgdG8gdGhlCj4gc2FtZSBudW1iZXIgZnJvbSBpMmMuCj4gCj4gTm93IGZvciBl YWNoIGVkaWQgdGhlIHdob2xlIGJsb2IgaXMgY29tcGFyZWQuIEluIGNhc2Ugb2YgbWlzbWF0Y2gg dGhlCj4gd2hvbGUgZWRpZCBpcyBwcmludGVkLgo+IAo+IHYyOgo+ICAtIEltcHJvdmVkIG1lc3Nh Z2VzIGluIG9yZGVyIHRvIHNldCB1cCBDSSBmaWx0ZXIKPiAgLSBMb2cgYW5kIGNsZWFyIGVycm5v IGluIGNhc2Ugb2YgaTJjIGZhaWx1cmUKPiAKPiBCdWd6aWxsYTogaHR0cHM6Ly9idWdzLmZyZWVk ZXNrdG9wLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA0MDk3Cj4gQ2M6IEltcmUgRGVhayA8aW1yZS5k ZWFrQGludGVsLmNvbT4KPiBDYzogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4 LmludGVsLmNvbT4KPiBDYzogQXJrYWRpdXN6IEhpbGVyIDxhcmthZGl1c3ouaGlsZXJAaW50ZWwu Y29tPgo+IENjOiBNYXJ0aW4gUGVyZXMgPG1hcnRpbi5wZXJlc0BsaW51eC5pbnRlbC5jb20+Cj4g U2lnbmVkLW9mZi1ieTogT2xlZyBWYXNpbGV2IDxvbGVnLnZhc2lsZXZAaW50ZWwuY29tPgo+IC0t LQo+ICB0ZXN0cy9pOTE1L2k5MTVfcG1fcnBtLmMgfCAxODAgKysrKysrKysrKysrKysrKysrKysr KysrLS0tLS0tLS0tLS0tLS0tCj4gIDEgZmlsZSBjaGFuZ2VkLCAxMTIgaW5zZXJ0aW9ucygrKSwg NjggZGVsZXRpb25zKC0pCj4gCj4gZGlmZiAtLWdpdCBhL3Rlc3RzL2k5MTUvaTkxNV9wbV9ycG0u YyBiL3Rlc3RzL2k5MTUvaTkxNV9wbV9ycG0uYwo+IGluZGV4IGY5ZjY3ZWQzLi44NzE0MGUzMCAx MDA2NDQKPiAtLS0gYS90ZXN0cy9pOTE1L2k5MTVfcG1fcnBtLmMKPiArKysgYi90ZXN0cy9pOTE1 L2k5MTVfcG1fcnBtLmMKPiBAQCAtNTcyLDMzICs1NzIsNTUgQEAgc3RhdGljIHZvaWQgYXNzZXJ0 X2RybV9pbmZvc19lcXVhbChzdHJ1Y3QgY29tcGFyZV9kYXRhICpkMSwKPiAgCQlhc3NlcnRfZHJt X2NydGNzX2VxdWFsKGQxLT5jcnRjc1tpXSwgZDItPmNydGNzW2ldKTsKPiAgfQo+ICAKPiAtLyog V2UgY291bGQgY2hlY2sgdGhlIGNoZWNrc3VtIHRvbywgYnV0IGp1c3QgdGhlIGhlYWRlciBpcyBw cm9iYWJseSBlbm91Z2guICovCj4gLXN0YXRpYyBib29sIGVkaWRfaXNfdmFsaWQoY29uc3QgdW5z aWduZWQgY2hhciAqZWRpZCkKPiArc3RhdGljIGJvb2wgZmluZF9pMmNfcGF0aChjaGFyICpjb25u ZWN0b3JfbmFtZSwgY2hhciAqaTJjX3BhdGgpCgpjb25zdCBjaGFyICpjb25uZWN0b3JfbmFtZQoK PiAgewo+IC0JY2hhciBlZGlkX2hlYWRlcltdID0gewo+IC0JCTB4MCwgMHhGRiwgMHhGRiwgMHhG RiwgMHhGRiwgMHhGRiwgMHhGRiwgMHgwLAo+IC0JfTsKPiArCXN0cnVjdCBkaXJlbnQgKmRpcmVu dDsKPiArCURJUiAqZGlyOwo+ICsJaW50IHN5c2ZzX2NhcmRfZmQgPSBpZ3Rfc3lzZnNfb3Blbihk cm1fZmQpOwo+ICsJaW50IGNvbm5lY3Rvcl9mZCA9IC0xOwo+ICsJYm9vbCBmb3VuZF9pMmNfZmls ZSA9IGZhbHNlOwo+ICAKPiAtCXJldHVybiAobWVtY21wKGVkaWQsIGVkaWRfaGVhZGVyLCBzaXpl b2YoZWRpZF9oZWFkZXIpKSA9PSAwKTsKPiAtfQo+ICsJZGlyID0gZmRvcGVuZGlyKHN5c2ZzX2Nh cmRfZmQpOwo+ICsJaWd0X2Fzc2VydChkaXIpOwo+ICAKPiAtc3RhdGljIGludCBjb3VudF9kcm1f dmFsaWRfZWRpZHMoc3RydWN0IG1vZGVfc2V0X2RhdGEgKmRhdGEpCj4gLXsKPiAtCWludCByZXQg PSAwOwo+ICsJd2hpbGUgKChkaXJlbnQgPSByZWFkZGlyKGRpcikpKSB7Cj4gKwkJLyogU2tpcCAi Y2FyZHgtIiBwcmVmaXggKi8KPiArCQljaGFyICpkaXJuYW1lID0gZGlyZW50LT5kX25hbWU7Cj4g KwkJd2hpbGUoZGlybmFtZVswXSAhPSAnXDAnICYmIGRpcm5hbWVbMF0gIT0gJy0nKQo+ICsJCQkr K2Rpcm5hbWU7Cj4gLQlpZiAoIWRhdGEtPnJlcykKPiAtCQlyZXR1cm4gMDsKPiArCQlpZigqZGly bmFtZSA9PSAnLScpCj4gKwkJCSsrZGlybmFtZTsKCmRpcm5hbWUgPSBkaXJlbnQtPmRfbmFtZTsK c3Ryc2VwKCZkaXJuYW1lLCAiLSIpOwpkaXJuYW1lID0gZGlybmFtZSA/OiBkaXJlbnQtPmRfbmFt ZTsKCm9yCgpkaXJuYW1lID0gc3RyY2hyKGRpcmVudC0+ZF9uYW1lLCAnLScpOwpkaXJuYW1lID0g ZGlybmFtZSA/IGRpcm5hbWUgKyAxIDogZGlyZW50LT5kX25hbWU7Cgo/Cgo+ICAKPiAtCWZvciAo aW50IGkgPSAwOyBpIDwgZGF0YS0+cmVzLT5jb3VudF9jb25uZWN0b3JzOyBpKyspCj4gLQkJaWYg KGRhdGEtPmVkaWRzW2ldICYmIGVkaWRfaXNfdmFsaWQoZGF0YS0+ZWRpZHNbaV0tPmRhdGEpKQo+ IC0JCQlyZXQrKzsKPiAtCXJldHVybiByZXQ7Cj4gKwkJaWYgKHN0cmNtcChkaXJuYW1lLCBjb25u ZWN0b3JfbmFtZSkgPT0gMCkgewo+ICsJCQljb25uZWN0b3JfZmQgPSBvcGVuYXQoc3lzZnNfY2Fy ZF9mZCwgZGlyZW50LT5kX25hbWUsIE9fUkRPTkxZKTsKPiArCQkJYnJlYWs7Cj4gKwkJfQo+ICsJ fQo+ICsJY2xvc2VkaXIoZGlyKTsKPiArCj4gKwlpZihjb25uZWN0b3JfZmQgPCAwKQo+ICsJCXJl dHVybiBmYWxzZTsKPiArCj4gKwlkaXIgPSBmZG9wZW5kaXIoY29ubmVjdG9yX2ZkKTsKPiArCWln dF9hc3NlcnQoZGlyKTsKPiArCj4gKwl3aGlsZSAoKGRpcmVudCA9IHJlYWRkaXIoZGlyKSkpIHsK PiArCQlpZiAoc3RybmNtcChkaXJlbnQtPmRfbmFtZSwgImkyYy0iLCA0KSA9PSAwKSB7Cj4gKwkJ CXNwcmludGYoaTJjX3BhdGgsICIvZGV2LyVzIiwgZGlyZW50LT5kX25hbWUpOwo+ICsJCQlmb3Vu ZF9pMmNfZmlsZSA9IHRydWU7Cj4gKwkJfQo+ICsJfQo+ICsJY2xvc2VkaXIoZGlyKTsKPiArCXJl dHVybiBmb3VuZF9pMmNfZmlsZTsKPiAgfQo+ICAKPiAtc3RhdGljIGJvb2wgaTJjX2VkaWRfaXNf dmFsaWQoaW50IGZkKQo+ICsKPiArc3RhdGljIGJvb2wgaTJjX3JlYWRfZWRpZChjaGFyICpjb25u ZWN0b3JfbmFtZSwgdW5zaWduZWQgY2hhciAqZWRpZCkKPiAgewo+IC0JaW50IHJjOwo+IC0JdW5z aWduZWQgY2hhciBlZGlkWzEyOF0gPSB7fTsKPiArCWNoYXIgaTJjX3BhdGhbUEFUSF9NQVhdOwo+ ICsJYm9vbCByZXN1bHQgPSBmaW5kX2kyY19wYXRoKGNvbm5lY3Rvcl9uYW1lLCBpMmNfcGF0aCk7 Cj4gKwlpbnQgcmMsIGZkOwo+ICAJc3RydWN0IGkyY19tc2cgbXNnc1tdID0gewo+ICAJCXsgLyog U3RhcnQgYXQgMC4gKi8KPiAgCQkJLmFkZHIgPSAweDUwLAo+IEBAIC02MTcsNjkgKzYzOSw5MSBA QCBzdGF0aWMgYm9vbCBpMmNfZWRpZF9pc192YWxpZChpbnQgZmQpCj4gIAkJLm5tc2dzID0gMiwK PiAgCX07Cj4gIAoKSSB3b3VsZCBwdXQgdGhlCnJlc3VsdCA9IGZpbmRfaTJjX3BhdGgoY29ubmVj dG9yX25hbWUsIGkyY19wYXRoKTsKCmhlcmUgYmVjYXVzZSBpdCdzIGEgbmFzdHkgZnVuY3Rpb24g d2l0aCBzaWRlIGVmZmVjdHMuIFNvIElNTwpzaG91bGRuJ3QgYmUgaGlkZGVuIGluIHRoZSBkZWNs YXJhdGlvbiBibG9jay4KCj4gKwlpZiAoIXJlc3VsdCkKPiArCQlyZXR1cm4gZmFsc2U7Cj4gKwo+ ICsJZmQgPSBvcGVuKGkyY19wYXRoLCBPX1JEV1IpOwo+ICsJaWd0X2Fzc2VydF9uZXEoZmQsIC0x KTsKPiArCj4gIAlyYyA9IGlvY3RsKGZkLCBJMkNfUkRXUiwgJm1zZ3NldCk7Cj4gLQlyZXR1cm4g KHJjID49IDApID8gZWRpZF9pc192YWxpZChlZGlkKSA6IGZhbHNlOwo+ICsJaWYocmM9PS0xKXsK PiArCQlpZ3RfZGVidWcoIkkyQyBhY2Nlc3MgZmFpbGVkIHdpdGggZXJybm8gJWQsICVzXG4iLAo+ ICsJCQkJZXJybm8sIHN0cmVycm9yKGVycm5vKSk7Cj4gKwkJZXJybm8gPSAwOwo+ICsJfQo+ICsK PiArCWNsb3NlKGZkKTsKPiArCXJldHVybiByYyA+PSAwOwo+ICB9Cj4gIAo+IC1zdGF0aWMgaW50 IGNvdW50X2kyY192YWxpZF9lZGlkcyh2b2lkKQo+ICtzdGF0aWMgdm9pZCBmb3JtYXRfaGV4X3N0 cmluZyh1bnNpZ25lZCBjaGFyIGVkaWRbc3RhdGljIEVESURfTEVOR1RIXSwKPiArCQkJICAgICAg Y2hhciBidWZbc3RhdGljIEVESURfTEVOR1RIICogNSArIDFdKQoKV2hhdCdzIHRoZSBkZWFsIHdp dGggdGhvc2UgJ3N0YXRpYydzPwoKJ2VkaWQnIGNhbiBiZSBjb25zdC4KCj4gIHsKPiAtCWludCBm ZCwgcmV0ID0gMDsKPiAtCURJUiAqZGlyOwo+ICsJZm9yIChzaXplX3QgaSA9IDA7IGkgPCBFRElE X0xFTkdUSDsgKytpKQoKSSdtIG5vdCBhIGZhbiBvZiAnaScgd2hpY2ggaXMgbm90IGludC4gTW9z dCBwZW9wbGUgd291bGQgZXhwZWN0Cml0IHRvIGJlIHNpZ25lZCBpbnQgc28gSSB3b3VsZCByZWNv bW1lbmQgYWdhaW5zdCB1c2luZyAnaScKd2hlbiB5b3UgaGF2ZSBzb21lIG90aGVyIHR5cGUuIElu IHRoaXMgY2FzZSAnaW50JyBzaG91bGQKZG8ganVzdCBmaW5lIEkgdGhpbmsuCgo+ICsJCXNwcmlu dGYoYnVmK2kqNSwgIjB4JTAyeCAiLCBlZGlkW2ldKTsKPiArfQo+ICAKPiAtCXN0cnVjdCBkaXJl bnQgKmRpcmVudDsKPiAtCWNoYXIgZnVsbF9uYW1lW1BBVEhfTUFYXTsKPiArc3RhdGljIHZvaWQg dGVzdF9pMmMoc3RydWN0IG1vZGVfc2V0X2RhdGEgKmRhdGEpCj4gK3sKPiArCWJvb2wgZWRpZF9t aXN0bWFjaF9pMmNfdnNfZHJtID0gZmFsc2U7Cj4gKwlpZ3RfZGlzcGxheV90IGRpc3BsYXk7Cj4g KwlpZ3RfZGlzcGxheV9yZXF1aXJlKCZkaXNwbGF5LCBkcm1fZmQpOwo+ICAKPiAtCWRpciA9IG9w ZW5kaXIoIi9kZXYvIik7Cj4gLQlpZ3RfYXNzZXJ0KGRpcik7Cj4gKwlmb3IgKGludCBpID0gMDsg aSA8IGRhdGEtPnJlcy0+Y291bnRfY29ubmVjdG9yczsgaSsrKSB7Cj4gKwkJdW5zaWduZWQgY2hh ciAqZHJtX2VkaWQgPSBkYXRhLT5lZGlkc1tpXSA/IGRhdGEtPmVkaWRzW2ldLT5kYXRhIDogTlVM TDsKPiArCQl1bnNpZ25lZCBjaGFyIGkyY19lZGlkW0VESURfTEVOR1RIXSA9IHt9Owo+ICAKPiAt CXdoaWxlICgoZGlyZW50ID0gcmVhZGRpcihkaXIpKSkgewo+IC0JCWlmIChzdHJuY21wKGRpcmVu dC0+ZF9uYW1lLCAiaTJjLSIsIDQpID09IDApIHsKPiAtCQkJc3ByaW50ZihmdWxsX25hbWUsICIv ZGV2LyVzIiwgZGlyZW50LT5kX25hbWUpOwo+IC0JCQlmZCA9IG9wZW4oZnVsbF9uYW1lLCBPX1JE V1IpOwo+IC0JCQlpZ3RfYXNzZXJ0X25lcShmZCwgLTEpOwo+IC0JCQlpZiAoaTJjX2VkaWRfaXNf dmFsaWQoZmQpKQo+IC0JCQkJcmV0Kys7Cj4gLQkJCWNsb3NlKGZkKTsKPiAtCQl9Cj4gLQl9Cj4g KwkJaWd0X291dHB1dF90ICpvdXRwdXQgPSBpZ3Rfb3V0cHV0X2Zyb21fY29ubmVjdG9yKCZkaXNw bGF5LAo+ICsJCQkJCQkJCSBkYXRhLT5jb25uZWN0b3JzW2ldKTsKPiArCQljaGFyICpjb25uZWN0 b3JfbmFtZSA9IChjaGFyICopIGlndF9vdXRwdXRfbmFtZShvdXRwdXQpOwo+ICAKPiAtCWNsb3Nl ZGlyKGRpcik7Cj4gKwkJYm9vbCBnb3RfaTJjX2VkaWQgPSBpMmNfcmVhZF9lZGlkKGNvbm5lY3Rv cl9uYW1lLCBpMmNfZWRpZCk7Cj4gKwkJYm9vbCBnb3RfZHJtX2VkaWQgPSBkcm1fZWRpZCAhPSBO VUxMOwo+ICsJCWJvb2wgaXNfdmdhID0gZGF0YS0+Y29ubmVjdG9yc1tpXS0+Y29ubmVjdG9yX3R5 cGUgPT0gRFJNX01PREVfQ09OTkVDVE9SX1ZHQTsKPiAgCj4gLQlyZXR1cm4gcmV0Owo+IC19Cj4g KwkJYm9vbCBlZGlkc19lcXVhbDsKPiAgCj4gLXN0YXRpYyBpbnQgY291bnRfdmdhX291dHB1dHMo c3RydWN0IG1vZGVfc2V0X2RhdGEgKmRhdGEpCj4gLXsKPiAtCWludCBjb3VudCA9IDA7Cj4gKwkJ LyogV2UgZmFpbCB0byBkZXRlY3Qgc29tZSBWR0EgbW9uaXRvcnMgdXNpbmcgb3VyIGkyYyBtZXRo b2QuIElmIHlvdSBsb29rCj4gKwkJICogYXQgdGhlIGRtZXNnIG9mIHRoZXNlIGNhc2VzLCB5b3Un bGwgc2VlIHRoZSBLZXJuZWwgY29tcGxhaW5pbmcgYWJvdXQKPiArCQkgKiB0aGUgRURJRCByZWFk aW5nIG1vc3RseSBGRnMgYW5kIHRoZW4gZGlzYWJsaW5nIGJpdC1iYW5naW5nLiBTaW5jZSB3ZQo+ ICsJCSAqIGRvbid0IHdhbnQgdG8gcmVpbXBsZW1lbnQgZXZlcnl0aGluZyB0aGUgS2VybmVsIGRv ZXMsIGxldCdzIGp1c3QKPiArCQkgKiBhY2NlcHQgdGhlIGZhY3QgdGhhdCBzb21lIFZHQSBvdXRw dXRzIHdvbid0IGJlIHByb3Blcmx5IGRldGVjdGVkLiAqLwo+ICsJCWlmKGlzX3ZnYSkKPiArCQkJ Y29udGludWU7Cj4gIAo+IC0JaWYgKCFkYXRhLT5yZXMpCj4gLQkJcmV0dXJuIDA7Cj4gKwkJaWYo IWdvdF9pMmNfZWRpZCAmJiAhZ290X2RybV9lZGlkKQo+ICsJCQljb250aW51ZTsKPiArCj4gKwkJ aWYoZ290X2kyY19lZGlkICYmIGdvdF9kcm1fZWRpZCkKPiArCQkJZWRpZHNfZXF1YWwgPSAoMCA9 PSBtZW1jbXAoZHJtX2VkaWQsIGkyY19lZGlkLCBFRElEX0xFTkdUSCkpOwo+ICsJCWVsc2UKPiAr CQkJZWRpZHNfZXF1YWwgPSBmYWxzZTsKPiAgCj4gLQlmb3IgKGludCBpID0gMDsgaSA8IGRhdGEt PnJlcy0+Y291bnRfY29ubmVjdG9yczsgaSsrKQo+IC0JCWlmIChkYXRhLT5jb25uZWN0b3JzW2ld LT5jb25uZWN0b3JfdHlwZSA9PQo+IC0JCSAgICBEUk1fTU9ERV9DT05ORUNUT1JfVkdBKQo+IC0J CQljb3VudCsrOwo+ICAKPiAtCXJldHVybiBjb3VudDsKPiAtfQo+ICsJCWlmICghZWRpZHNfZXF1 YWwpIHsKPiArCQkJY2hhciBidWZbNSAqIEVESURfTEVOR1RIICsgMV07Cj4gKwkJCWlndF9jcml0 aWNhbCgiRGV0ZWN0ZWQgRURJRCBtaXNtYXRjaCBvbiBjb25uZWN0b3IgJXNcbiIsCj4gKwkJCQkg ICAgIGNvbm5lY3Rvcl9uYW1lKTsKPiAgCj4gLXN0YXRpYyB2b2lkIHRlc3RfaTJjKHN0cnVjdCBt b2RlX3NldF9kYXRhICpkYXRhKQo+IC17Cj4gLQlpbnQgaTJjX2VkaWRzID0gY291bnRfaTJjX3Zh bGlkX2VkaWRzKCk7Cj4gLQlpbnQgZHJtX2VkaWRzID0gY291bnRfZHJtX3ZhbGlkX2VkaWRzKGRh dGEpOwo+IC0JaW50IHZnYV9vdXRwdXRzID0gY291bnRfdmdhX291dHB1dHMoZGF0YSk7Cj4gLQlp bnQgZGlmZjsKPiAtCj4gLQlpZ3RfZGVidWcoImkyYyBlZGlkczolZCBkcm0gZWRpZHM6JWQgdmdh IG91dHB1dHM6JWRcbiIsCj4gLQkJICBpMmNfZWRpZHMsIGRybV9lZGlkcywgdmdhX291dHB1dHMp Owo+IC0KPiAtCS8qIFdlIGZhaWwgdG8gZGV0ZWN0IHNvbWUgVkdBIG1vbml0b3JzIHVzaW5nIG91 ciBpMmMgbWV0aG9kLiBJZiB5b3UgbG9vawo+IC0JICogYXQgdGhlIGRtZXNnIG9mIHRoZXNlIGNh c2VzLCB5b3UnbGwgc2VlIHRoZSBLZXJuZWwgY29tcGxhaW5pbmcgYWJvdXQKPiAtCSAqIHRoZSBF RElEIHJlYWRpbmcgbW9zdGx5IEZGcyBhbmQgdGhlbiBkaXNhYmxpbmcgYml0LWJhbmdpbmcuIFNp bmNlIHdlCj4gLQkgKiBkb24ndCB3YW50IHRvIHJlaW1wbGVtZW50IGV2ZXJ5dGhpbmcgdGhlIEtl cm5lbCBkb2VzLCBsZXQncyBqdXN0Cj4gLQkgKiBhY2NlcHQgdGhlIGZhY3QgdGhhdCBzb21lIFZH QSBvdXRwdXRzIHdvbid0IGJlIHByb3Blcmx5IGRldGVjdGVkLiAqLwo+IC0JZGlmZiA9IGRybV9l ZGlkcyAtIGkyY19lZGlkczsKPiAtCWlndF9hc3NlcnQoZGlmZiA8PSB2Z2Ffb3V0cHV0cyAmJiBk aWZmID49IDApOwo+ICsJCQlpZihnb3RfaTJjX2VkaWQpCj4gKwkJCQlmb3JtYXRfaGV4X3N0cmlu ZyhpMmNfZWRpZCwgYnVmKTsKPiArCQkJZWxzZQo+ICsJCQkJc3ByaW50ZihidWYsICJOVUxMIik7 Cj4gKwo+ICsJCQlpZ3RfY3JpdGljYWwoImkyYzogJXNcbiIsIGJ1Zik7Cj4gKwo+ICsJCQlpZihn b3RfZHJtX2VkaWQpCj4gKwkJCQlmb3JtYXRfaGV4X3N0cmluZyhkcm1fZWRpZCwgYnVmKTsKPiAr CQkJZWxzZQo+ICsJCQkJc3ByaW50ZihidWYsICJOVUxMIik7Cj4gKwo+ICsJCQlpZ3RfY3JpdGlj YWwoImRybTogJXNcbiIsIGJ1Zik7Cj4gKwo+ICsJCQllZGlkX21pc3RtYWNoX2kyY192c19kcm0g PSB0cnVlOwo+ICsJCX0KPiArCX0KPiArCWlndF9mYWlsX29uX2YoZWRpZF9taXN0bWFjaF9pMmNf dnNfZHJtLAo+ICsJCQkiVGhlcmUgaXMgYW4gRURJRCBtaXNtYXRjaCBiZXR3ZWVuIGkyYyBhbmQg RFJNIVxuIik7CgpUaGUga2VybmVsIGRvZXMgbW9kaWZ5IHRoZSByZXBvcnRlZCBFRElEIGZvciBz b21lIHF1aXJrcyBJSVJDLiBJIGRvbid0CnJlYWxseSBsaWtlIHRoYXQgYmVoYXZpb3VyLCBhbmQg aXQgd291bGQgYmUgYW4gaXNzdWUgZm9yIHRoaXMgdGVzdC4gQnV0CkkgZ3Vlc3Mgd2UgZG9uJ3Qg aGF2ZSBhbnkgb2YgdGhvc2Ugb24gYW55IG1vbml0b3JzIHdlIHRlc3QuCgpBcGFydCBmcm9tIHRo ZSBtaW5vciBuaXRzIGxvb2tzIGdvb2QgdG8gbWUuClJldmlld2VkLWJ5OiBWaWxsZSBTeXJqw6Rs w6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPgoKCj4gIH0KPiAgCj4gIHN0YXRpYyB2 b2lkIHNldHVwX3BjOCh2b2lkKQo+IC0tIAo+IDIuMjEuMAoKLS0gClZpbGxlIFN5cmrDpGzDpApJ bnRlbApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwppZ3Qt ZGV2IG1haWxpbmcgbGlzdAppZ3QtZGV2QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xp c3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2lndC1kZXY=