From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH igt 7/8] tests: Add blob-property test Date: Fri, 2 Oct 2015 10:04:12 +0200 Message-ID: <20151002080412.GF3383@phenom.ffwll.local> References: <1443717248-976-1-git-send-email-daniels@collabora.com> <1443717775-2003-1-git-send-email-daniels@collabora.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wi0-f177.google.com (mail-wi0-f177.google.com [209.85.212.177]) by gabe.freedesktop.org (Postfix) with ESMTPS id 3C6846ED64 for ; Fri, 2 Oct 2015 01:01:18 -0700 (PDT) Received: by wicge5 with SMTP id ge5so21495843wic.0 for ; Fri, 02 Oct 2015 01:01:16 -0700 (PDT) Content-Disposition: inline In-Reply-To: <1443717775-2003-1-git-send-email-daniels@collabora.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Daniel Stone Cc: daniel.vetter@intel.com, intel-gfx@lists.freedesktop.org, thomas.wood@intel.com List-Id: intel-gfx@lists.freedesktop.org T24gVGh1LCBPY3QgMDEsIDIwMTUgYXQgMDU6NDI6NTVQTSArMDEwMCwgRGFuaWVsIFN0b25lIHdy b3RlOgo+IEV4ZXJjaXNlcyB0aGUgbmV3IGJsb2ItY3JlYXRpb24gaW9jdGwsIHRlc3RpbmcgbGlm ZXRpbWVzIGFuZCBiZWhhdmlvdXIKPiBvZiB1c2VyLWNyZWF0ZWQgYmxvYnMsIGFzIHdlbGwgYXMg ZXhlcmNpc2luZyBhbGwgdGhlIGludmFyaWFudAo+IGNvbmRpdGlvbnMgd2UgZ3VhcmFudGVlIGZy b20gbW9kZXMgZXhwb3NlZCBhcyBibG9iIHByb3BlcnRpZXMuCj4gCj4gdjI6IFJlbmFtZWQgdG8g Y29yZV9wcm9wX2Jsb2IsIHNraXAgdGVzdCBpZiBibG9iIG5vdCBhdmFpbGFibGUuCj4gdjM6IE5v IGNoYW5nZXMuCj4gdjQ6IENvbnNpc3RlbnRseSByZXR1cm4gMC9lcnJuby4KPiB2NTogVXNlIGRv X2lvY3RsX2VyciBhbmQgaWd0X2Fzc2VydF9mZC4KPiAgICAgVXNlIGlndF9hc3NlcnRfKigpIGhl bHBlciBtYWNyb3MgcmF0aGVyIHRoYW4gZGlyZWN0IGlndF9hc3NlcnQoKS4KPiAKPiBTaWduZWQt b2ZmLWJ5OiBEYW5pZWwgU3RvbmUgPGRhbmllbHNAY29sbGFib3JhLmNvbT4KClJldmlld2VkLWJ5 OiBEYW5pZWwgVmV0dGVyIDxkYW5pZWwudmV0dGVyQGZmd2xsLmNoPgoKPiAtLS0KPiAgdGVzdHMv LmdpdGlnbm9yZSAgICAgICB8ICAgMSArCj4gIHRlc3RzL01ha2VmaWxlLnNvdXJjZXMgfCAgIDEg Kwo+ICB0ZXN0cy9jb3JlX3Byb3BfYmxvYi5jIHwgMjI4ICsrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysKPiAgMyBmaWxlcyBjaGFuZ2VkLCAyMzAgaW5zZXJ0 aW9ucygrKQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQgdGVzdHMvY29yZV9wcm9wX2Jsb2IuYwo+IAo+ IGRpZmYgLS1naXQgYS90ZXN0cy8uZ2l0aWdub3JlIGIvdGVzdHMvLmdpdGlnbm9yZQo+IGluZGV4 IGRjOGJiNTMuLmJlZGE1MTEgMTAwNjQ0Cj4gLS0tIGEvdGVzdHMvLmdpdGlnbm9yZQo+ICsrKyBi L3Rlc3RzLy5naXRpZ25vcmUKPiBAQCAtMyw2ICszLDcgQEAgY29yZV9nZXRfY2xpZW50X2F1dGgK PiAgY29yZV9nZXRjbGllbnQKPiAgY29yZV9nZXRzdGF0cwo+ICBjb3JlX2dldHZlcnNpb24KPiAr Y29yZV9wcm9wX2Jsb2IKPiAgZHJtX2F1dGgKPiAgZHJtX2ltcG9ydF9leHBvcnQKPiAgZHJtX3Jl YWQKPiBkaWZmIC0tZ2l0IGEvdGVzdHMvTWFrZWZpbGUuc291cmNlcyBiL3Rlc3RzL01ha2VmaWxl LnNvdXJjZXMKPiBpbmRleCAyZTJlMDg4Li5hYzczMWY5IDEwMDY0NAo+IC0tLSBhL3Rlc3RzL01h a2VmaWxlLnNvdXJjZXMKPiArKysgYi90ZXN0cy9NYWtlZmlsZS5zb3VyY2VzCj4gQEAgLTk5LDYg Kzk5LDcgQEAgVEVTVFNfcHJvZ3MgPSBcCj4gIAljb3JlX2dldGNsaWVudCBcCj4gIAljb3JlX2dl dHN0YXRzIFwKPiAgCWNvcmVfZ2V0dmVyc2lvbiBcCj4gKwljb3JlX3Byb3BfYmxvYiBcCj4gIAlk cm1fYXV0aCBcCj4gIAlkcm1faW1wb3J0X2V4cG9ydCBcCj4gIAlkcm1fcmVhZCBcCj4gZGlmZiAt LWdpdCBhL3Rlc3RzL2NvcmVfcHJvcF9ibG9iLmMgYi90ZXN0cy9jb3JlX3Byb3BfYmxvYi5jCj4g bmV3IGZpbGUgbW9kZSAxMDA2NDQKPiBpbmRleCAwMDAwMDAwLi5kNzA0MTU4Cj4gLS0tIC9kZXYv bnVsbAo+ICsrKyBiL3Rlc3RzL2NvcmVfcHJvcF9ibG9iLmMKPiBAQCAtMCwwICsxLDIyOCBAQAo+ ICsvKgo+ICsgKiBDb3B5cmlnaHQgwqkgMjAxNC0yMDE1IEludGVsIENvcnBvcmF0aW9uCj4gKyAq Cj4gKyAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBh bnkgcGVyc29uIG9idGFpbmluZyBhCj4gKyAqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNz b2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgIlNvZnR3YXJlIiksCj4gKyAqIHRvIGRl YWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0 IGxpbWl0YXRpb24KPiArICogdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2Us IHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsCj4gKyAqIGFuZC9vciBzZWxsIGNvcGll cyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZQo+ICsg KiBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2lu ZyBjb25kaXRpb25zOgo+ICsgKgo+ICsgKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQg dGhpcyBwZXJtaXNzaW9uIG5vdGljZSAoaW5jbHVkaW5nIHRoZSBuZXh0Cj4gKyAqIHBhcmFncmFw aCkgc2hhbGwgYmUgaW5jbHVkZWQgaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9u cyBvZiB0aGUKPiArICogU29mdHdhcmUuCj4gKyAqCj4gKyAqIFRIRSBTT0ZUV0FSRSBJUyBQUk9W SURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SCj4g KyAqIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMg T0YgTUVSQ0hBTlRBQklMSVRZLAo+ICsgKiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T RSBBTkQgTk9OSU5GUklOR0VNRU5ULiAgSU4gTk8gRVZFTlQgU0hBTEwKPiArICogVEhFIEFVVEhP UlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMg T1IgT1RIRVIKPiArICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFD VCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcKPiArICogRlJPTSwgT1VUIE9GIE9SIElOIENP Tk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUwo+ ICsgKiBJTiBUSEUgU09GVFdBUkUuCj4gKyAqCj4gKyAqIEF1dGhvcnM6Cj4gKyAqICAgRGFtaWVu IExlc3BpYXUgPGRhbWllbi5sZXNwaWF1QGludGVsLmNvbT4KPiArICogICBEYW5pZWwgU3RvbmUg PGRhbmllbHNAY29sbGFib3JhLmNvbT4KPiArICovCj4gKwo+ICsjaW5jbHVkZSA8ZXJybm8uaD4K PiArI2luY2x1ZGUgPHN0ZGJvb2wuaD4KPiArI2luY2x1ZGUgPHN0ZGlvLmg+Cj4gKyNpbmNsdWRl IDxzdHJpbmcuaD4KPiArCj4gKyNpbmNsdWRlICJkcm10ZXN0LmgiCj4gKyNpbmNsdWRlICJpZ3Rf ZGVidWdmcy5oIgo+ICsjaW5jbHVkZSAiaWd0X2ttcy5oIgo+ICsjaW5jbHVkZSAiaWd0X2F1eC5o Igo+ICsKPiArSUdUX1RFU1RfREVTQ1JJUFRJT04oIlRlc3RzIGJlaGF2aW91ciBvZiBtYXNzLWRh dGEgJ2Jsb2InIHByb3BlcnRpZXMuIik7Cj4gKwo+ICtzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9t b2RlX21vZGVpbmZvIHRlc3RfbW9kZV92YWxpZCA9IHsKPiArCS5jbG9jayA9IDEyMzQsCj4gKwku aGRpc3BsYXkgPSA2NDAsCj4gKwkuaHN5bmNfc3RhcnQgPSA2NDEsCj4gKwkuaHN5bmNfZW5kID0g NjQyLAo+ICsJLmh0b3RhbCA9IDY0MywKPiArCS5oc2tldyA9IDAsCj4gKwkudmRpc3BsYXkgPSA0 ODAsCj4gKwkudnN5bmNfc3RhcnQgPSA0ODEsCj4gKwkudnN5bmNfZW5kID0gNDgyLAo+ICsJLnZ0 b3RhbCA9IDQ4MywKPiArCS52c2NhbiA9IDAsCj4gKwkudnJlZnJlc2ggPSA2MDAwMCwKPiArCS5m bGFncyA9IDAsCj4gKwkudHlwZSA9IDAsCj4gKwkubmFtZSA9ICJGUk9NVVNFUiIsCj4gK307Cj4g Kwo+ICsKPiArI2RlZmluZSBpb2N0bF9vcl9yZXRfZXJybm8oZmQsIGlvYywgaW9jX2RhdGEpIHsg XAo+ICsJaWYgKGRybUlvY3RsKGZkLCBpb2MsIGlvY19kYXRhKSAhPSAwKSBcCj4gKwkJcmV0dXJu IGVycm5vOyBcCj4gK30KPiArCj4gK3N0YXRpYyBpbnQKPiArdmFsaWRhdGVfcHJvcChpbnQgZmQs IHVpbnQzMl90IHByb3BfaWQpCj4gK3sKPiArCXN0cnVjdCBkcm1fbW9kZV9nZXRfYmxvYiBnZXQ7 Cj4gKwlzdHJ1Y3QgZHJtX21vZGVfbW9kZWluZm8gcmV0X21vZGU7Cj4gKwo+ICsJZ2V0LmJsb2Jf aWQgPSBwcm9wX2lkOwo+ICsJZ2V0Lmxlbmd0aCA9IDA7Cj4gKwlnZXQuZGF0YSA9ICh1aW50cHRy X3QpIDA7Cj4gKwlpb2N0bF9vcl9yZXRfZXJybm8oZmQsIERSTV9JT0NUTF9NT0RFX0dFVFBST1BC TE9CLCAmZ2V0KTsKPiArCj4gKwlpZiAoZ2V0Lmxlbmd0aCAhPSBzaXplb2YodGVzdF9tb2RlX3Zh bGlkKSkKPiArCQlyZXR1cm4gRU5PTUVNOwo+ICsKPiArCWdldC5kYXRhID0gKHVpbnRwdHJfdCkg JnJldF9tb2RlOwo+ICsJaW9jdGxfb3JfcmV0X2Vycm5vKGZkLCBEUk1fSU9DVExfTU9ERV9HRVRQ Uk9QQkxPQiwgJmdldCk7Cj4gKwo+ICsJaWYgKG1lbWNtcCgmcmV0X21vZGUsICZ0ZXN0X21vZGVf dmFsaWQsIHNpemVvZih0ZXN0X21vZGVfdmFsaWQpKSAhPSAwKQo+ICsJCXJldHVybiBFSU5WQUw7 Cj4gKwo+ICsJcmV0dXJuIDA7Cj4gK30KPiArCj4gK3N0YXRpYyB1aW50MzJfdAo+ICtjcmVhdGVf cHJvcChpbnQgZmQpCj4gK3sKPiArCXN0cnVjdCBkcm1fbW9kZV9jcmVhdGVfYmxvYiBjcmVhdGU7 Cj4gKwo+ICsJY3JlYXRlLmxlbmd0aCA9IHNpemVvZih0ZXN0X21vZGVfdmFsaWQpOwo+ICsJY3Jl YXRlLmRhdGEgPSAodWludHB0cl90KSAmdGVzdF9tb2RlX3ZhbGlkOwo+ICsKPiArCWRvX2lvY3Rs KGZkLCBEUk1fSU9DVExfTU9ERV9DUkVBVEVQUk9QQkxPQiwgJmNyZWF0ZSk7Cj4gKwlpZ3RfYXNz ZXJ0X25lcV91MzIoY3JlYXRlLmJsb2JfaWQsIDApOwo+ICsKPiArCXJldHVybiBjcmVhdGUuYmxv Yl9pZDsKPiArfQo+ICsKPiArc3RhdGljIGludAo+ICtkZXN0cm95X3Byb3AoaW50IGZkLCB1aW50 MzJfdCBwcm9wX2lkKQo+ICt7Cj4gKwlzdHJ1Y3QgZHJtX21vZGVfZGVzdHJveV9ibG9iIGRlc3Ry b3k7Cj4gKwo+ICsJZGVzdHJveS5ibG9iX2lkID0gcHJvcF9pZDsKPiArCWlvY3RsX29yX3JldF9l cnJubyhmZCwgRFJNX0lPQ1RMX01PREVfREVTVFJPWVBST1BCTE9CLCAmZGVzdHJveSk7Cj4gKwo+ ICsJcmV0dXJuIDA7Cj4gK30KPiArCj4gK3N0YXRpYyB2b2lkCj4gK3Rlc3RfdmFsaWRhdGUoaW50 IGZkKQo+ICt7Cj4gKwlzdHJ1Y3QgZHJtX21vZGVfY3JlYXRlX2Jsb2IgY3JlYXRlOwo+ICsJc3Ry dWN0IGRybV9tb2RlX2dldF9ibG9iIGdldDsKPiArCWNoYXIgdG9vX3NtYWxsWzMyXTsKPiArCXVp bnQzMl90IHByb3BfaWQ7Cj4gKwo+ICsJbWVtc2V0KHRvb19zbWFsbCwgMCwgc2l6ZW9mKHRvb19z bWFsbCkpOwo+ICsKPiArCS8qIE91dGxhbmRpc2ggc2l6ZS4gKi8KPiArCWNyZWF0ZS5sZW5ndGgg PSAweDEwMDAwOwo+ICsJY3JlYXRlLmRhdGEgPSAodWludHB0cl90KSAmdG9vX3NtYWxsOwo+ICsJ ZG9faW9jdGxfZXJyKGZkLCBEUk1fSU9DVExfTU9ERV9DUkVBVEVQUk9QQkxPQiwgJmNyZWF0ZSwg RUZBVUxUKTsKPiArCj4gKwkvKiBPdXRsYW5kaXNoIGFkZHJlc3MuICovCj4gKwljcmVhdGUubGVu Z3RoID0gc2l6ZW9mKHRlc3RfbW9kZV92YWxpZCk7Cj4gKwljcmVhdGUuZGF0YSA9ICh1aW50cHRy X3QpIDB4ZGVhZGJlZWU7Cj4gKwlkb19pb2N0bF9lcnIoZmQsIERSTV9JT0NUTF9NT0RFX0NSRUFU RVBST1BCTE9CLCAmY3JlYXRlLCBFRkFVTFQpOwo+ICsKPiArCS8qIFdoZW4gd2UgcGFzcyBhbiBp bmNvcnJlY3Qgc2l6ZSwgdGhlIGtlcm5lbCBzaG91bGQgY29ycmVjdCB1cy4gKi8KPiArCXByb3Bf aWQgPSBjcmVhdGVfcHJvcChmZCk7Cj4gKwlnZXQuYmxvYl9pZCA9IHByb3BfaWQ7Cj4gKwlnZXQu bGVuZ3RoID0gc2l6ZW9mKHRvb19zbWFsbCk7Cj4gKwlnZXQuZGF0YSA9ICh1aW50cHRyX3QpIHRv b19zbWFsbDsKPiArCWRvX2lvY3RsKGZkLCBEUk1fSU9DVExfTU9ERV9HRVRQUk9QQkxPQiwgJmdl dCk7Cj4gKwlpZ3RfYXNzZXJ0X2VxX3UzMihnZXQubGVuZ3RoLCBzaXplb2YodGVzdF9tb2RlX3Zh bGlkKSk7Cj4gKwo+ICsJZ2V0LmJsb2JfaWQgPSBwcm9wX2lkOwo+ICsJZ2V0LmRhdGEgPSAodWlu dHB0cl90KSAweGRlYWRiZWVlOwo+ICsJZG9faW9jdGxfZXJyKGZkLCBEUk1fSU9DVExfTU9ERV9D UkVBVEVQUk9QQkxPQiwgJmNyZWF0ZSwgRUZBVUxUKTsKPiArfQo+ICsKPiArc3RhdGljIHZvaWQK PiArdGVzdF9saWZldGltZShpbnQgZmQpCj4gK3sKPiArCWludCBmZDI7Cj4gKwl1aW50MzJfdCBw cm9wX2lkLCBwcm9wX2lkMjsKPiArCj4gKwlmZDIgPSBkcm1fb3Blbl9kcml2ZXIoRFJJVkVSX0FO WSk7Cj4gKwlpZ3RfYXNzZXJ0X2ZkKGZkMik7Cj4gKwo+ICsJLyogRW5zdXJlIGNsaWVudHMgY2Fu IHNlZSBwcm9wZXJ0aWVzIGNyZWF0ZWQgYnkgb3RoZXIgY2xpZW50cy4gKi8KPiArCXByb3BfaWQg PSBjcmVhdGVfcHJvcChmZCk7Cj4gKwlpZ3RfYXNzZXJ0X2VxKHZhbGlkYXRlX3Byb3AoZmQsIHBy b3BfaWQpLCAwKTsKPiArCWlndF9hc3NlcnRfZXEodmFsaWRhdGVfcHJvcChmZDIsIHByb3BfaWQp LCAwKTsKPiArCj4gKwkvKiAuLi4gYnV0IGNhbid0IGRlc3Ryb3kgdGhlbS4gKi8KPiArCWlndF9h c3NlcnRfZXEoZGVzdHJveV9wcm9wKGZkMiwgcHJvcF9pZCksIEVQRVJNKTsKPiArCj4gKwkvKiBN YWtlIHN1cmUgcHJvcGVydGllcyBjYW4ndCBiZSBhY2Nlc3NlZCBvbmNlIGV4cGxpY2l0bHkgZGVz dHJveWVkLiAqLwo+ICsJcHJvcF9pZDIgPSBjcmVhdGVfcHJvcChmZDIpOwo+ICsJaWd0X2Fzc2Vy dF9lcSh2YWxpZGF0ZV9wcm9wKGZkMiwgcHJvcF9pZDIpLCAwKTsKPiArCWlndF9hc3NlcnRfZXEo ZGVzdHJveV9wcm9wKGZkMiwgcHJvcF9pZDIpLCAwKTsKPiArCWlndF9hc3NlcnRfZXEodmFsaWRh dGVfcHJvcChmZDIsIHByb3BfaWQyKSwgRU5PRU5UKTsKPiArCWlndF9hc3NlcnRfZXEodmFsaWRh dGVfcHJvcChmZCwgcHJvcF9pZDIpLCBFTk9FTlQpOwo+ICsKPiArCS8qIE1ha2Ugc3VyZSBwcm9w ZXJ0aWVzIGFyZSBjbGVhbmVkIHVwIG9uIGNsaWVudCBleGl0LiAqLwo+ICsJcHJvcF9pZDIgPSBj cmVhdGVfcHJvcChmZDIpOwo+ICsJaWd0X2Fzc2VydF9lcSh2YWxpZGF0ZV9wcm9wKGZkLCBwcm9w X2lkMiksIDApOwo+ICsJaWd0X2Fzc2VydF9lcShjbG9zZShmZDIpLCAwKTsKPiArCWlndF9hc3Nl cnRfZXEodmFsaWRhdGVfcHJvcChmZCwgcHJvcF9pZDIpLCBFTk9FTlQpOwo+ICsKPiArCWlndF9h c3NlcnRfZXEodmFsaWRhdGVfcHJvcChmZCwgcHJvcF9pZCksIDApOwo+ICsJaWd0X2Fzc2VydF9l cShkZXN0cm95X3Byb3AoZmQsIHByb3BfaWQpLCAwKTsKPiArCWlndF9hc3NlcnRfZXEodmFsaWRh dGVfcHJvcChmZCwgcHJvcF9pZCksIEVOT0VOVCk7Cj4gK30KPiArCj4gK3N0YXRpYyB2b2lkCj4g K3Rlc3RfY29yZShpbnQgZmQpCj4gK3sKPiArCXVpbnQzMl90IHByb3BfaWQ7Cj4gKwo+ICsJLyog VGhlIGZpcnN0IGh1cmRsZS4gKi8KPiArCXByb3BfaWQgPSBjcmVhdGVfcHJvcChmZCk7Cj4gKwlp Z3RfYXNzZXJ0X2VxKHZhbGlkYXRlX3Byb3AoZmQsIHByb3BfaWQpLCAwKTsKPiArCWlndF9hc3Nl cnRfZXEoZGVzdHJveV9wcm9wKGZkLCBwcm9wX2lkKSwgMCk7Cj4gKwo+ICsJLyogTG9vayB1cCBz b21lIGludmFsaWQgcHJvcGVydHkgSURzLiBUaGV5IHNob3VsZCBmYWlsLiAqLwo+ICsJaWd0X2Fz c2VydF9lcSh2YWxpZGF0ZV9wcm9wKGZkLCAweGZmZmZmZmZmKSwgRU5PRU5UKTsKPiArCWlndF9h c3NlcnRfZXEodmFsaWRhdGVfcHJvcChmZCwgMCksIEVOT0VOVCk7Cj4gK30KPiArCj4gK3N0YXRp YyB2b2lkCj4gK3Rlc3RfYmFzaWMoaW50IGZkKQo+ICt7Cj4gKwl1aW50MzJfdCBwcm9wX2lkOwo+ ICsKPiArCS8qIEEgdmVyeSBzaW1wbGUgZ2F0aW5nIHRlc3QgdG8gZW5zdXJlIHByb3BlcnR5IHN1 cHBvcnQgZXhpc3RzLiAqLwo+ICsJcHJvcF9pZCA9IGNyZWF0ZV9wcm9wKGZkKTsKPiArCWlndF9h c3NlcnRfZXEoZGVzdHJveV9wcm9wKGZkLCBwcm9wX2lkKSwgMCk7Cj4gK30KPiArCj4gK2lndF9t YWluCj4gK3sKPiArCWludCBmZDsKPiArCj4gKwlpZ3Rfc2tpcF9vbl9zaW11bGF0aW9uKCk7Cj4g Kwo+ICsJaWd0X2ZpeHR1cmUgewo+ICsJCWZkID0gZHJtX29wZW5fZHJpdmVyKERSSVZFUl9BTlkp Owo+ICsJCWlndF9yZXF1aXJlKGZkID49IDApOwo+ICsJCXRlc3RfYmFzaWMoZmQpOwo+ICsJfQo+ ICsKPiArCWlndF9zdWJ0ZXN0KCJibG9iLXByb3AtY29yZSIpCj4gKwkJdGVzdF9jb3JlKGZkKTsK PiArCj4gKwlpZ3Rfc3VidGVzdCgiYmxvYi1wcm9wLXZhbGlkYXRlIikKPiArCQl0ZXN0X3ZhbGlk YXRlKGZkKTsKPiArCj4gKwlpZ3Rfc3VidGVzdCgiYmxvYi1wcm9wLWxpZmV0aW1lIikKPiArCQl0 ZXN0X2xpZmV0aW1lKGZkKTsKPiArCj4gKwlpZ3RfZml4dHVyZQo+ICsJCWNsb3NlKGZkKTsKPiAr fQo+IC0tIAo+IDIuNS4wCj4gCj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KPiBJbnRlbC1nZnggbWFpbGluZyBsaXN0Cj4gSW50ZWwtZ2Z4QGxpc3RzLmZy ZWVkZXNrdG9wLm9yZwo+IGh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0 aW5mby9pbnRlbC1nZngKCi0tIApEYW5pZWwgVmV0dGVyClNvZnR3YXJlIEVuZ2luZWVyLCBJbnRl bCBDb3Jwb3JhdGlvbgpodHRwOi8vYmxvZy5mZndsbC5jaApfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdm eEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWls bWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=