From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: Re: [PATCH i-g-t v2] kms_rotation_crc: 90 degree flip test is not a stress test Date: Mon, 4 Sep 2017 15:27:26 +0100 Message-ID: References: <20170803124250.24958-1-tvrtko.ursulin@linux.intel.com> <20170804084341.28499-1-tvrtko.ursulin@linux.intel.com> <20170807155325.6anx6upxnrvk3rmp@phenom.ffwll.local> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by gabe.freedesktop.org (Postfix) with ESMTPS id B3F7D6E189 for ; Mon, 4 Sep 2017 14:27:30 +0000 (UTC) In-Reply-To: <20170807155325.6anx6upxnrvk3rmp@phenom.ffwll.local> Content-Language: en-GB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Daniel Vetter , Tvrtko Ursulin Cc: Daniel Vetter , Intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org Ck9uIDA3LzA4LzIwMTcgMTY6NTMsIERhbmllbCBWZXR0ZXIgd3JvdGU6Cj4gT24gRnJpLCBBdWcg MDQsIDIwMTcgYXQgMDk6NDM6NDFBTSArMDEwMCwgVHZydGtvIFVyc3VsaW4gd3JvdGU6Cj4+IEZy b206IFR2cnRrbyBVcnN1bGluIDx0dnJ0a28udXJzdWxpbkBpbnRlbC5jb20+Cj4+Cj4+IFRvIHRo ZSBiZXN0IG9mIG15IHJlY29sbGVjdGlvbiB0aGUgcGFnZSBmbGlwcGluZyB0ZXN0IHdhcyBhZGRl ZAo+PiBzaW1wbHkgdG8gc3RhcnQgZXhlcmNpc2luZyBwYWdlIGZsaXBzIHdpdGggOTAvMjcwIHJv dGF0aW9uLgo+Pgo+PiBUaGVyZSBpcyBubyBuZWVkIHRvIGRvIDYwIGZsaXBzIHdoaWNoIGNhbiB0 YWtlIHF1aXRlIHNvbWUgdGltZSwKPj4gYmVjYXVzZSB3ZSBkbyA2MCBmbGlwcyBhZ2FpbnN0IGVh Y2ggcGlwZSBhbmQgZWFjaCBmYiBnZW9tZXRyeS4KPj4KPj4gQWxzbywgY2FsbGluZyB0aGlzIGEg c3RyZXNzIHRlc3QgaXMgYWxzbyBub3QgbWF0Y2hpbmcgdGhlCj4+IG9yaWdpbmFsIGlkZWEgb2Yg dGhlIHRlc3QuCj4+Cj4+IFNldmVyYWwgY2hhbmdlczoKPj4KPj4gMS4gUmVtb3ZlIHRoZSBzdHJl c3MgZnJvbSB0aGUgbmFtZSBhbmQgcmVkdWNlIHRoZSBudW1iZXIgb2YKPj4gZmxpcHMgdG8gb25l IG9ubHkuCj4+Cj4+IDIuIE1vdmUgdGhlIHBhZ2UgZmxpcCBiZWZvcmUgQ1JDIGNvbGxlY3Rpb24g Zm9yIGEgbW9yZSB1c2VmdWwKPj4gdGVzdC4KPj4KPj4gMy4gQWRkIG1vcmUgZmxpcHBpbmcgdGVz dHMsIGZvciBkaWZmZXJlbnQgcm90YXRpb24gYW5kIHNwcml0ZQo+PiBwbGFuZXMuCj4gCj4gSSBh c3N1bWUgeW91IGRpZG4ndCBtYWtlIHRoZSB0ZXN0IG92ZXJhbGwgc2xvd2VyIHdpdGggdGhpcz8K PiAKPj4gNC4gQ29udmVydCB0byB0YWJsZSBkcml2ZW4gc3VidGVzdCBnZW5lcmF0aW9uLgo+Pgo+ PiBTaWduZWQtb2ZmLWJ5OiBUdnJ0a28gVXJzdWxpbiA8dHZydGtvLnVyc3VsaW5AaW50ZWwuY29t Pgo+PiBDYzogRGFuaWVsIFZldHRlciA8ZGFuaWVsLnZldHRlckBmZndsbC5jaD4KPj4gQ2M6IENo cmlzIFdpbHNvbiA8Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVrPgo+IAo+IERpZG4ndCBkbyBhIGZ1 bGwgcmV2aWV3LCBidXQgc291bmRzIGFsbCByZWFzb25hYmxlLiBBbmQgSSBhc3N1bWUgeW91J3Zl Cj4gdGVzdGVkIHRoaXMgYXQgbGVhc3QgbG9jYWxseSAodGhlIGlndCBwYXRjaHdvcmsgQ0kgaW5z dGFuY2UgZG9lc24ndCBkbwo+IGZ1bGwgcnVucyAuLi4geWV0KS4KClllcyBJJ3ZlIHJhbiBpdCBv biBTS0wuIEl0IGFkZHMgbW9yZSBzdWJ0ZXN0cyBzbyB0aGUgcnVudGltZSBpcyBsb25nZXIsIApi dXQgaXQgYWxzbyBmaW5kcyBuZXcgYnVncy4KCklkZWFsbHkgc29tZW9uZSB3aXRoIGRpc3BsYXkt ZnUgcGlja3MgdGhpcyB1cCwgZml4ZXMgdGhlIGJ1ZyhzKSB0aGlzIApleHBvc2VzIChvciB0ZWxs cyBtZSB0aGUgdGVzdCBpcyB3cm9uZyksIHNvIHdlIGFyZSBub3QgbWVyZ2luZyBrbm93biAKZmFp bGluZyB0ZXN0cz8gT3IgZXZlbiB0aGF0IGlzIE9LPwoKVHZydGtvCgo+IEFja2VkLWJ5OiBEYW5p ZWwgVmV0dGVyIDxkYW5pZWwudmV0dGVyQGZmd2xsLmNoPgo+PiAtLS0KPj4gICB0ZXN0cy9pbnRl bC1jaS9leHRlbmRlZC50ZXN0bGlzdCB8ICAgMiArLQo+PiAgIHRlc3RzL2ttc19yb3RhdGlvbl9j cmMuYyAgICAgICAgIHwgMTM3ICsrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0t LQo+PiAgIDIgZmlsZXMgY2hhbmdlZCwgODUgaW5zZXJ0aW9ucygrKSwgNTQgZGVsZXRpb25zKC0p Cj4+Cj4+IGRpZmYgLS1naXQgYS90ZXN0cy9pbnRlbC1jaS9leHRlbmRlZC50ZXN0bGlzdCBiL3Rl c3RzL2ludGVsLWNpL2V4dGVuZGVkLnRlc3RsaXN0Cj4+IGluZGV4IDE3ZWVkMDEzZjgxMC4uZmI3 MTA5MTc1OGM2IDEwMDY0NAo+PiAtLS0gYS90ZXN0cy9pbnRlbC1jaS9leHRlbmRlZC50ZXN0bGlz dAo+PiArKysgYi90ZXN0cy9pbnRlbC1jaS9leHRlbmRlZC50ZXN0bGlzdAo+PiBAQCAtODIsNyAr ODIsNyBAQCBpZ3RAZ2VtX3JpbmdmaWxsQHZlYm94LWJvbWIKPj4gICBpZ3RAZ2VtX3VzZXJwdHJf YmxpdHNAc3RyZXNzLW1tCj4+ICAgaWd0QGdlbV91c2VycHRyX2JsaXRzQHN0cmVzcy1tbS1pbnZh bGlkYXRlLWNsb3NlCj4+ICAgaWd0QGdlbV91c2VycHRyX2JsaXRzQHN0cmVzcy1tbS1pbnZhbGlk YXRlLWNsb3NlLW92ZXJsYXAKPj4gLWlndEBrbXNfcm90YXRpb25fY3JjQHByaW1hcnktcm90YXRp b24tOTAtZmxpcC1zdHJlc3MKPj4gK2lndEBrbXNfcm90YXRpb25fY3JjQHByaW1hcnktcm90YXRp b24tOTAtZmxpcAo+PiAgIGlndEBwbV9ycG1AZ2VtLWV4ZWNidWYtc3RyZXNzCj4+ICAgaWd0QHBt X3JwbUBnZW0tZXhlY2J1Zi1zdHJlc3MtZXh0cmEtd2FpdAo+PiAgIGlndEBwbV9ycG1AZ2VtLWV4 ZWNidWYtc3RyZXNzLXBjOAo+PiBkaWZmIC0tZ2l0IGEvdGVzdHMva21zX3JvdGF0aW9uX2NyYy5j IGIvdGVzdHMva21zX3JvdGF0aW9uX2NyYy5jCj4+IGluZGV4IDgzZTM3ZjEyNmY0MC4uMjBmMWFk YjY3NzY5IDEwMDY0NAo+PiAtLS0gYS90ZXN0cy9rbXNfcm90YXRpb25fY3JjLmMKPj4gKysrIGIv dGVzdHMva21zX3JvdGF0aW9uX2NyYy5jCj4+IEBAIC00MSw3ICs0MSw3IEBAIHR5cGVkZWYgc3Ry dWN0IHsKPj4gICAJaW50IHBvc195Owo+PiAgIAl1aW50MzJfdCBvdmVycmlkZV9mbXQ7Cj4+ICAg CXVpbnQ2NF90IG92ZXJyaWRlX3RpbGluZzsKPj4gLQl1bnNpZ25lZCBpbnQgZmxpcF9zdHJlc3M7 Cj4+ICsJdW5zaWduZWQgaW50IGZsaXBzOwo+PiAgIH0gZGF0YV90Owo+PiAgIAo+PiAgIHN0YXRp YyB2b2lkCj4+IEBAIC0yMTksNyArMjE5LDcgQEAgc3RhdGljIHZvaWQgcHJlcGFyZV9mYnMoZGF0 YV90ICpkYXRhLCBpZ3Rfb3V0cHV0X3QgKm91dHB1dCwKPj4gICAKPj4gICAJaWd0X2NyZWF0ZV9m YihkYXRhLT5nZnhfZmQsIHcsIGgsIHBpeGVsX2Zvcm1hdCwgdGlsaW5nLCAmZGF0YS0+ZmIpOwo+ PiAgIAo+PiAtCWlmIChkYXRhLT5mbGlwX3N0cmVzcykgewo+PiArCWlmIChkYXRhLT5mbGlwcykg ewo+PiAgIAkJaWd0X2NyZWF0ZV9mYihkYXRhLT5nZnhfZmQsIHcsIGgsIHBpeGVsX2Zvcm1hdCwg dGlsaW5nLCAmZGF0YS0+ZmJfZmxpcCk7Cj4+ICAgCQlwYWludF9zcXVhcmVzKGRhdGEsIElHVF9S T1RBVElPTl8wLCAmZGF0YS0+ZmJfZmxpcCwgMC45Mik7Cj4+ICAgCX0KPj4gQEAgLTM1MSwxNSAr MzUxLDE3IEBAIHN0YXRpYyB2b2lkIHRlc3RfcGxhbmVfcm90YXRpb24oZGF0YV90ICpkYXRhLCBp bnQgcGxhbmVfdHlwZSkKPj4gICAJCQlyZXQgPSBpZ3RfZGlzcGxheV90cnlfY29tbWl0MihkaXNw bGF5LCBjb21taXQpOwo+PiAgIAkJCWlmIChkYXRhLT5vdmVycmlkZV9mbXQgfHwgZGF0YS0+b3Zl cnJpZGVfdGlsaW5nKSB7Cj4+ICAgCQkJCWlndF9hc3NlcnRfZXEocmV0LCAtRUlOVkFMKTsKPj4g LQkJCX0gZWxzZSB7Cj4+IC0JCQkJaWd0X2Fzc2VydF9lcShyZXQsIDApOwo+PiAtCQkJCWlndF9w aXBlX2NyY19jb2xsZWN0X2NyYyhkYXRhLT5waXBlX2NyYywKPj4gLQkJCQkJCQkgICZjcmNfb3V0 cHV0KTsKPj4gLQkJCQlpZ3RfYXNzZXJ0X2NyY19lcXVhbCgmZGF0YS0+cmVmX2NyYywKPj4gLQkJ CQkJCSAgICAgICZjcmNfb3V0cHV0KTsKPj4gKwkJCQljb250aW51ZTsKPj4gICAJCQl9Cj4+ICAg Cj4+IC0JCQlmbGlwX2NvdW50ID0gZGF0YS0+ZmxpcF9zdHJlc3M7Cj4+ICsJCQkvKiBWZXJpZnkg Y29tbWl0IHdhcyBvay4gKi8KPj4gKwkJCWlndF9hc3NlcnRfZXEocmV0LCAwKTsKPj4gKwo+PiAr CQkJLyoKPj4gKwkJCSAqIElmIGZsaXBzIGFyZSByZXF1ZXN0ZWQgZmxpcCBhd2F5IGFuZCBiYWNr IGJlZm9yZQo+PiArCQkJICogY2hlY2tpbmcgQ1JDLgo+PiArCQkJICovCj4+ICsJCQlmbGlwX2Nv dW50ID0gZGF0YS0+ZmxpcHM7Cj4+ICAgCQkJd2hpbGUgKGZsaXBfY291bnQtLSkgewo+PiAgIAkJ CQlyZXQgPSBkcm1Nb2RlUGFnZUZsaXAoZGF0YS0+Z2Z4X2ZkLAo+PiAgIAkJCQkJCSAgICAgIG91 dHB1dC0+Y29uZmlnLmNydGMtPmNydGNfaWQsCj4+IEBAIC0zNzYsNiArMzc4LDkgQEAgc3RhdGlj IHZvaWQgdGVzdF9wbGFuZV9yb3RhdGlvbihkYXRhX3QgKmRhdGEsIGludCBwbGFuZV90eXBlKQo+ PiAgIAkJCQlpZ3RfYXNzZXJ0X2VxKHJldCwgMCk7Cj4+ICAgCQkJCXdhaXRfZm9yX3BhZ2VmbGlw KGRhdGEtPmdmeF9mZCk7Cj4+ICAgCQkJfQo+PiArCj4+ICsJCQlpZ3RfcGlwZV9jcmNfY29sbGVj dF9jcmMoZGF0YS0+cGlwZV9jcmMsICZjcmNfb3V0cHV0KTsKPj4gKwkJCWlndF9hc3NlcnRfY3Jj X2VxdWFsKCZkYXRhLT5yZWZfY3JjLCAmY3JjX291dHB1dCk7Cj4+ICAgCQl9Cj4+ICAgCj4+ICAg CQl2YWxpZF90ZXN0cysrOwo+PiBAQCAtNTY5LDggKzU3NCw2NiBAQCBlcnJfY29tbWl0Ogo+PiAg IAlpZ3RfYXNzZXJ0X2VxKHJldCwgMCk7Cj4+ICAgfQo+PiAgIAo+PiArc3RhdGljIGNvbnN0IGNo YXIgKnBsYW5lX3Rlc3Rfc3RyKHVuc2lnbmVkIHBsYW5lKQo+PiArewo+PiArCXN3aXRjaCAocGxh bmUpIHsKPj4gKwljYXNlIERSTV9QTEFORV9UWVBFX1BSSU1BUlk6Cj4+ICsJCXJldHVybiAicHJp bWFyeSI7Cj4+ICsJY2FzZSBEUk1fUExBTkVfVFlQRV9PVkVSTEFZOgo+PiArCQlyZXR1cm4gInNw cml0ZSI7Cj4+ICsJY2FzZSBEUk1fUExBTkVfVFlQRV9DVVJTT1I6Cj4+ICsJCXJldHVybiAiY3Vy c29yIjsKPj4gKwlkZWZhdWx0Ogo+PiArCQlpZ3RfYXNzZXJ0KDApOwo+PiArCX0KPj4gK30KPj4g Kwo+PiArc3RhdGljIGNvbnN0IGNoYXIgKnJvdF90ZXN0X3N0cihpZ3Rfcm90YXRpb25fdCByb3Qp Cj4+ICt7Cj4+ICsJc3dpdGNoIChyb3QpIHsKPj4gKwljYXNlIElHVF9ST1RBVElPTl85MDoKPj4g KwkJcmV0dXJuICI5MCI7Cj4+ICsJY2FzZSBJR1RfUk9UQVRJT05fMTgwOgo+PiArCQlyZXR1cm4g IjE4MCI7Cj4+ICsJY2FzZSBJR1RfUk9UQVRJT05fMjcwOgo+PiArCQlyZXR1cm4gIjI3MCI7Cj4+ ICsJZGVmYXVsdDoKPj4gKwkJaWd0X2Fzc2VydCgwKTsKPj4gKwl9Cj4+ICt9Cj4+ICsKPj4gK3N0 YXRpYyBjb25zdCBjaGFyICpmbGlwX3Rlc3Rfc3RyKHVuc2lnbmVkIGZsaXBzKQo+PiArewo+PiAr CWlmIChmbGlwcyA+IDEpCj4+ICsJCXJldHVybiAiLWZsaXAtc3RyZXNzIjsKPj4gKwllbHNlIGlm IChmbGlwcykKPj4gKwkJcmV0dXJuICItZmxpcCI7Cj4+ICsJZWxzZQo+PiArCQlyZXR1cm4gIiI7 Cj4+ICt9Cj4+ICsKPj4gICBpZ3RfbWFpbgo+PiAgIHsKPj4gKwlzdHJ1Y3Qgcm90X3N1YnRlc3Qg ewo+PiArCQl1bnNpZ25lZCBwbGFuZTsKPj4gKwkJaWd0X3JvdGF0aW9uX3Qgcm90Owo+PiArCQl1 bnNpZ25lZCBmbGlwczsKPj4gKwl9ICpzdWJ0ZXN0LCBzdWJ0ZXN0c1tdID0gewo+PiArCQl7IERS TV9QTEFORV9UWVBFX1BSSU1BUlksIElHVF9ST1RBVElPTl85MCwgMCB9LAo+PiArCQl7IERSTV9Q TEFORV9UWVBFX1BSSU1BUlksIElHVF9ST1RBVElPTl8xODAsIDAgfSwKPj4gKwkJeyBEUk1fUExB TkVfVFlQRV9QUklNQVJZLCBJR1RfUk9UQVRJT05fMjcwLCAwIH0sCj4+ICsJCXsgRFJNX1BMQU5F X1RZUEVfUFJJTUFSWSwgSUdUX1JPVEFUSU9OXzkwLCAxIH0sCj4+ICsJCXsgRFJNX1BMQU5FX1RZ UEVfUFJJTUFSWSwgSUdUX1JPVEFUSU9OXzE4MCwgMSB9LAo+PiArCQl7IERSTV9QTEFORV9UWVBF X1BSSU1BUlksIElHVF9ST1RBVElPTl8yNzAsIDEgfSwKPj4gKwkJeyBEUk1fUExBTkVfVFlQRV9P VkVSTEFZLCBJR1RfUk9UQVRJT05fOTAsIDAgfSwKPj4gKwkJeyBEUk1fUExBTkVfVFlQRV9PVkVS TEFZLCBJR1RfUk9UQVRJT05fMTgwLCAwIH0sCj4+ICsJCXsgRFJNX1BMQU5FX1RZUEVfT1ZFUkxB WSwgSUdUX1JPVEFUSU9OXzI3MCwgMCB9LAo+PiArCQl7IERSTV9QTEFORV9UWVBFX09WRVJMQVks IElHVF9ST1RBVElPTl85MCwgMSB9LAo+PiArCQl7IERSTV9QTEFORV9UWVBFX09WRVJMQVksIElH VF9ST1RBVElPTl8xODAsIDEgfSwKPj4gKwkJeyBEUk1fUExBTkVfVFlQRV9PVkVSTEFZLCBJR1Rf Uk9UQVRJT05fMjcwLCAxIH0sCj4+ICsJCXsgRFJNX1BMQU5FX1RZUEVfQ1VSU09SLCBJR1RfUk9U QVRJT05fMTgwLCAwIH0sCj4+ICsJCXsgMCwgMCwgMH0KPj4gKwl9Owo+PiAgIAlkYXRhX3QgZGF0 YSA9IHt9Owo+PiAgIAlpbnQgZ2VuID0gMDsKPj4gICAKPj4gQEAgLTU4Niw0MyArNjQ5LDE5IEBA IGlndF9tYWluCj4+ICAgCj4+ICAgCQlpZ3RfZGlzcGxheV9pbml0KCZkYXRhLmRpc3BsYXksIGRh dGEuZ2Z4X2ZkKTsKPj4gICAJfQo+PiAtCWlndF9zdWJ0ZXN0X2YoInByaW1hcnktcm90YXRpb24t MTgwIikgewo+PiAtCQlkYXRhLnJvdGF0aW9uID0gSUdUX1JPVEFUSU9OXzE4MDsKPj4gLQkJdGVz dF9wbGFuZV9yb3RhdGlvbigmZGF0YSwgRFJNX1BMQU5FX1RZUEVfUFJJTUFSWSk7Cj4+IC0JfQo+ PiAtCj4+IC0JaWd0X3N1YnRlc3RfZigic3ByaXRlLXJvdGF0aW9uLTE4MCIpIHsKPj4gLQkJZGF0 YS5yb3RhdGlvbiA9IElHVF9ST1RBVElPTl8xODA7Cj4+IC0JCXRlc3RfcGxhbmVfcm90YXRpb24o JmRhdGEsIERSTV9QTEFORV9UWVBFX09WRVJMQVkpOwo+PiAtCX0KPj4gLQo+PiAtCWlndF9zdWJ0 ZXN0X2YoImN1cnNvci1yb3RhdGlvbi0xODAiKSB7Cj4+IC0JCWRhdGEucm90YXRpb24gPSBJR1Rf Uk9UQVRJT05fMTgwOwo+PiAtCQl0ZXN0X3BsYW5lX3JvdGF0aW9uKCZkYXRhLCBEUk1fUExBTkVf VFlQRV9DVVJTT1IpOwo+PiAtCX0KPj4gLQo+PiAtCWlndF9zdWJ0ZXN0X2YoInByaW1hcnktcm90 YXRpb24tOTAiKSB7Cj4+IC0JCWlndF9yZXF1aXJlKGdlbiA+PSA5KTsKPj4gLQkJZGF0YS5yb3Rh dGlvbiA9IElHVF9ST1RBVElPTl85MDsKPj4gLQkJdGVzdF9wbGFuZV9yb3RhdGlvbigmZGF0YSwg RFJNX1BMQU5FX1RZUEVfUFJJTUFSWSk7Cj4+IC0JfQo+PiAgIAo+PiAtCWlndF9zdWJ0ZXN0X2Yo InByaW1hcnktcm90YXRpb24tMjcwIikgewo+PiAtCQlpZ3RfcmVxdWlyZShnZW4gPj0gOSk7Cj4+ IC0JCWRhdGEucm90YXRpb24gPSBJR1RfUk9UQVRJT05fMjcwOwo+PiAtCQl0ZXN0X3BsYW5lX3Jv dGF0aW9uKCZkYXRhLCBEUk1fUExBTkVfVFlQRV9QUklNQVJZKTsKPj4gLQl9Cj4+IC0KPj4gLQlp Z3Rfc3VidGVzdF9mKCJzcHJpdGUtcm90YXRpb24tOTAiKSB7Cj4+IC0JCWlndF9yZXF1aXJlKGdl biA+PSA5KTsKPj4gLQkJZGF0YS5yb3RhdGlvbiA9IElHVF9ST1RBVElPTl85MDsKPj4gLQkJdGVz dF9wbGFuZV9yb3RhdGlvbigmZGF0YSwgRFJNX1BMQU5FX1RZUEVfT1ZFUkxBWSk7Cj4+IC0JfQo+ PiAtCj4+IC0JaWd0X3N1YnRlc3RfZigic3ByaXRlLXJvdGF0aW9uLTI3MCIpIHsKPj4gLQkJaWd0 X3JlcXVpcmUoZ2VuID49IDkpOwo+PiAtCQlkYXRhLnJvdGF0aW9uID0gSUdUX1JPVEFUSU9OXzI3 MDsKPj4gLQkJdGVzdF9wbGFuZV9yb3RhdGlvbigmZGF0YSwgRFJNX1BMQU5FX1RZUEVfT1ZFUkxB WSk7Cj4+ICsJZm9yIChzdWJ0ZXN0ID0gc3VidGVzdHM7IHN1YnRlc3QtPnJvdDsgc3VidGVzdCsr KSB7Cj4+ICsJCWlndF9zdWJ0ZXN0X2YoIiVzLXJvdGF0aW9uLSVzJXMiLAo+PiArCQkJICAgICAg cGxhbmVfdGVzdF9zdHIoc3VidGVzdC0+cGxhbmUpLAo+PiArCQkJICAgICAgcm90X3Rlc3Rfc3Ry KHN1YnRlc3QtPnJvdCksCj4+ICsJCQkgICAgICBmbGlwX3Rlc3Rfc3RyKHN1YnRlc3QtPmZsaXBz KSkgewo+PiArCQkJaWd0X3JlcXVpcmUoIShzdWJ0ZXN0LT5yb3QgJgo+PiArCQkJCSAgICAoSUdU X1JPVEFUSU9OXzkwIHwgSUdUX1JPVEFUSU9OXzI3MCkpIHx8Cj4+ICsJCQkJICAgIGdlbiA+PSA5 KTsKPj4gKwkJCWRhdGEucm90YXRpb24gPSBzdWJ0ZXN0LT5yb3Q7Cj4+ICsJCQlkYXRhLmZsaXBz ID0gc3VidGVzdC0+ZmxpcHM7Cj4+ICsJCQl0ZXN0X3BsYW5lX3JvdGF0aW9uKCZkYXRhLCBzdWJ0 ZXN0LT5wbGFuZSk7Cj4+ICsJCX0KPj4gICAJfQo+PiAgIAo+PiAgIAlpZ3Rfc3VidGVzdF9mKCJz cHJpdGUtcm90YXRpb24tOTAtcG9zLTEwMC0wIikgewo+PiBAQCAtNjUwLDE0ICs2ODksNiBAQCBp Z3RfbWFpbgo+PiAgIAkJdGVzdF9wbGFuZV9yb3RhdGlvbigmZGF0YSwgRFJNX1BMQU5FX1RZUEVf UFJJTUFSWSk7Cj4+ICAgCX0KPj4gICAKPj4gLQlpZ3Rfc3VidGVzdF9mKCJwcmltYXJ5LXJvdGF0 aW9uLTkwLWZsaXAtc3RyZXNzIikgewo+PiAtCQlpZ3RfcmVxdWlyZShnZW4gPj0gOSk7Cj4+IC0J CWRhdGEub3ZlcnJpZGVfdGlsaW5nID0gMDsKPj4gLQkJZGF0YS5mbGlwX3N0cmVzcyA9IDYwOwo+ PiAtCQlkYXRhLnJvdGF0aW9uID0gSUdUX1JPVEFUSU9OXzkwOwo+PiAtCQl0ZXN0X3BsYW5lX3Jv dGF0aW9uKCZkYXRhLCBEUk1fUExBTkVfVFlQRV9QUklNQVJZKTsKPj4gLQl9Cj4+IC0KPj4gICAJ aWd0X3N1YnRlc3RfZigicHJpbWFyeS1yb3RhdGlvbi05MC1ZLXRpbGVkIikgewo+PiAgIAkJZW51 bSBwaXBlIHBpcGU7Cj4+ICAgCQlpZ3Rfb3V0cHV0X3QgKm91dHB1dDsKPj4gLS0gCj4+IDIuOS40 Cj4+Cj4gCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCklu dGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRw czovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=