From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maarten Lankhorst Subject: Re: [PATCH v2 2/9] drm/i915: Kill off intel_crtc->atomic.wait_vblank, v3. Date: Tue, 9 Feb 2016 11:27:44 +0100 Message-ID: <56B9BF20.7050509@linux.intel.com> References: <1452515269-6221-1-git-send-email-maarten.lankhorst@linux.intel.com> <1452515269-6221-3-git-send-email-maarten.lankhorst@linux.intel.com> <20160113125806.GF23290@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTP id 74E946E00E for ; Tue, 9 Feb 2016 02:27:46 -0800 (PST) In-Reply-To: <20160113125806.GF23290@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: =?UTF-8?B?VmlsbGUgU3lyasOkbMOk?= Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org SGV5LAoKT3AgMTMtMDEtMTYgb20gMTM6NTggc2NocmVlZiBWaWxsZSBTeXJqw6Rsw6Q6Cj4gT24g TW9uLCBKYW4gMTEsIDIwMTYgYXQgMDE6Mjc6NDJQTSArMDEwMCwgTWFhcnRlbiBMYW5raG9yc3Qg d3JvdGU6Cj4+IEN1cnJlbnRseSB3ZSBwZXJmb3JtIG91ciBvd24gd2FpdCBpbiBwb3N0X3BsYW5l X3VwZGF0ZSwKPj4gYnV0IHRoZSBhdG9taWMgY29yZSBwZXJmb3JtcyBhbm90aGVyIG9uZSBpbiB3 YWl0X2Zvcl92YmxhbmtzLgo+PiBUaGlzIG1lYW5zIHRoYXQgMiB2YmxhbmtzIGFyZSBkb25lIHdo ZW4gYSBmYiBpcyBjaGFuZ2VkLAo+PiB3aGljaCBpcyBhIGJpdCBvdmVya2lsbC4KPj4KPj4gTWVy Z2UgdGhlbSBieSBjcmVhdGluZyBhIGhlbHBlciBmdW5jdGlvbiB0aGF0IHRha2VzIGEgY3J0YyBt YXNrCj4+IGZvciB0aGUgcGxhbmVzIHRvIHdhaXQgb24uCj4+Cj4+IFRoZSBicm9hZHdlbGwgdmJs YW5rIHdvcmthcm91bmQgbWF5IGxvb2sgZ29uZSBlbnRpcmVseSBidXQgdGhpcyBpcwo+PiBub3Qg dGhlIGNhc2UuIHBpcGVfY29uZmlnLT53bV9jaGFuZ2VkIGlzIHNldCB0byB0cnVlCj4+IHdoZW4g YW55IHBsYW5lIGlzIHR1cm5lZCBvbiwgd2hpY2ggZm9yY2VzIGEgdmJsYW5rIHdhaXQuCj4gU3Rp bGwgTkFLLCBiZWNhdXNlIHlvdSBqdXN0IHJlbW92ZWQgdGhlIGNvbW1lbnQgZW50aXJlbHkuCkkg bWF5IGhhdmUgcmVtb3ZlZCB0aGUgY29tbWVudCBidXQgdGhlcmUgd2lsbCBhbHdheXMgYmUgYW4g dW5jb25kaXRpb25hbCB3YWl0IGJlY2F1c2Ugb2YgdGhlIHdtIGNoYW5nZXMuCkluIHNvbWUgZnV0 dXJlIGNvbW1pdCBJIHdpbGwgcmV3b3JrIGRvX2ludGVsX2ZpbmlzaF9wYWdlX2ZsaXAgdG8gZGVh bCB3aXRoIGF0b21pYywgYW5kIGluIHRoYXQgZnVuY3Rpb24gdGhlIGNvbW1lbnQKd2lsbCBiZSB1 c2VmdWwgYWdhaW4uCj4+IENoYW5nZXMgc2luY2UgdjE6Cj4+IC0gUmVtb3ZpbmcgdGhlIGRvdWJs ZSB2Ymxhbmsgd2FpdCBvbiBicm9hZHdlbGwgbW92ZWQgdG8gaXRzIG93biBjb21taXQuCj4+IENo YW5nZXMgc2luY2UgdjI6Cj4+IC0gTW92ZSBvdXQgUE9XRVJfRE9NQUlOX01PREVTRVQgaGFuZGxp bmcgdG8gaXRzIG93biBjb21taXQuCj4+Cj4+IFNpZ25lZC1vZmYtYnk6IE1hYXJ0ZW4gTGFua2hv cnN0IDxtYWFydGVuLmxhbmtob3JzdEBsaW51eC5pbnRlbC5jb20+Cj4+IC0tLQo+PiAgZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfYXRvbWljLmMgIHwgIDEgKwo+PiAgZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfZGlzcGxheS5jIHwgODAgKysrKysrKysrKysrKysrKysrKysrKysrKystLS0t LS0tLS0tCj4+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCAgICAgfCAgMiArLQo+ PiAgMyBmaWxlcyBjaGFuZ2VkLCA2MSBpbnNlcnRpb25zKCspLCAyMiBkZWxldGlvbnMoLSkKPj4K Pj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2F0b21pYy5jIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfYXRvbWljLmMKPj4gaW5kZXggOTY4MmQ5NGFmNzEwLi5i YTlhNTdmMzNjNDMgMTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2F0 b21pYy5jCj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2F0b21pYy5jCj4+IEBA IC05OCw2ICs5OCw3IEBAIGludGVsX2NydGNfZHVwbGljYXRlX3N0YXRlKHN0cnVjdCBkcm1fY3J0 YyAqY3J0YykKPj4gIAljcnRjX3N0YXRlLT5kaXNhYmxlX2N4c3IgPSBmYWxzZTsKPj4gIAljcnRj X3N0YXRlLT53bV9jaGFuZ2VkID0gZmFsc2U7Cj4+ICAJY3J0Y19zdGF0ZS0+d20ubmVlZF9wb3N0 dmJsX3VwZGF0ZSA9IGZhbHNlOwo+PiArCWNydGNfc3RhdGUtPmZiX2NoYW5nZWQgPSBmYWxzZTsK Pj4gIAo+PiAgCXJldHVybiAmY3J0Y19zdGF0ZS0+YmFzZTsKPj4gIH0KPj4gZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2Rpc3BsYXkuYwo+PiBpbmRleCAyYWExYzUzNjc2MjUuLmVhYzczZjAwNWE3MCAx MDA2NDQKPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCj4+ICsr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+PiBAQCAtNDc5Niw5ICs0 Nzk2LDYgQEAgc3RhdGljIHZvaWQgaW50ZWxfcG9zdF9wbGFuZV91cGRhdGUoc3RydWN0IGludGVs X2NydGMgKmNydGMpCj4+ICAJCXRvX2ludGVsX2NydGNfc3RhdGUoY3J0Yy0+YmFzZS5zdGF0ZSk7 Cj4+ICAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGNydGMtPmJhc2UuZGV2Owo+PiAgCj4+IC0J aWYgKGF0b21pYy0+d2FpdF92YmxhbmspCj4+IC0JCWludGVsX3dhaXRfZm9yX3ZibGFuayhkZXYs IGNydGMtPnBpcGUpOwo+PiAtCj4+ICAJaW50ZWxfZnJvbnRidWZmZXJfZmxpcChkZXYsIGF0b21p Yy0+ZmJfYml0cyk7Cj4+ICAKPj4gIAljcnRjLT53bS5jeHNyX2FsbG93ZWQgPSB0cnVlOwo+PiBA QCAtMTE4NzIsNiArMTE4NjksOSBAQCBpbnQgaW50ZWxfcGxhbmVfYXRvbWljX2NhbGNfY2hhbmdl cyhzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKmNydGNfc3RhdGUsCj4+ICAJaWYgKCF3YXNfdmlzaWJs ZSAmJiAhdmlzaWJsZSkKPj4gIAkJcmV0dXJuIDA7Cj4+ICAKPj4gKwlpZiAoZmIgIT0gb2xkX3Bs YW5lX3N0YXRlLT5iYXNlLmZiKQo+PiArCQlwaXBlX2NvbmZpZy0+ZmJfY2hhbmdlZCA9IHRydWU7 Cj4gSXNuJ3QgdGhhdCBnb2luZyB0byBzbG93IGRvd24gY3Vyc29yIHVwZGF0ZXMgb25jZSBhZ2Fp bj8KVmVyeSBsaWtlbHkuLiBTaGFsbCBJIGFkZCBhIGlmICghc3RhdGUtPmxlZ2FjeV9jdXJzb3Jf dXBkYXRlKSB0byBpbnRlbF9hdG9taWNfd2FpdF9mb3JfdmJsYW5rcyA/Cj4+ICsKPj4gIAl0dXJu X29mZiA9IHdhc192aXNpYmxlICYmICghdmlzaWJsZSB8fCBtb2RlX2NoYW5nZWQpOwo+PiAgCXR1 cm5fb24gPSB2aXNpYmxlICYmICghd2FzX3Zpc2libGUgfHwgbW9kZV9jaGFuZ2VkKTsKPj4gIAo+ PiBAQCAtMTE4ODcsOCArMTE4ODcsNiBAQCBpbnQgaW50ZWxfcGxhbmVfYXRvbWljX2NhbGNfY2hh bmdlcyhzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKmNydGNfc3RhdGUsCj4+ICAKPj4gIAkJLyogbXVz dCBkaXNhYmxlIGN4c3IgYXJvdW5kIHBsYW5lIGVuYWJsZS9kaXNhYmxlICovCj4+ICAJCWlmIChw bGFuZS0+dHlwZSAhPSBEUk1fUExBTkVfVFlQRV9DVVJTT1IpIHsKPj4gLQkJCWlmIChpc19jcnRj X2VuYWJsZWQpCj4+IC0JCQkJaW50ZWxfY3J0Yy0+YXRvbWljLndhaXRfdmJsYW5rID0gdHJ1ZTsK Pj4gIAkJCXBpcGVfY29uZmlnLT5kaXNhYmxlX2N4c3IgPSB0cnVlOwo+PiAgCQl9Cj4+ICAJfSBl bHNlIGlmIChpbnRlbF93bV9uZWVkX3VwZGF0ZShwbGFuZSwgcGxhbmVfc3RhdGUpKSB7Cj4+IEBA IC0xMTk0MCwxNCArMTE5MzgsNiBAQCBpbnQgaW50ZWxfcGxhbmVfYXRvbWljX2NhbGNfY2hhbmdl cyhzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKmNydGNfc3RhdGUsCj4+ICAJCSAgICBwbGFuZV9zdGF0 ZS0+cm90YXRpb24gIT0gQklUKERSTV9ST1RBVEVfMCkpCj4+ICAJCQlpbnRlbF9jcnRjLT5hdG9t aWMuZGlzYWJsZV9mYmMgPSB0cnVlOwo+PiAgCj4+IC0JCS8qCj4+IC0JCSAqIEJEVyBzaWduYWxz IGZsaXAgZG9uZSBpbW1lZGlhdGVseSBpZiB0aGUgcGxhbmUKPj4gLQkJICogaXMgZGlzYWJsZWQs IGV2ZW4gaWYgdGhlIHBsYW5lIGVuYWJsZSBpcyBhbHJlYWR5Cj4+IC0JCSAqIGFybWVkIHRvIG9j Y3VyIGF0IHRoZSBuZXh0IHZibGFuayA6KAo+PiAtCQkgKi8KPj4gLQkJaWYgKHR1cm5fb24gJiYg SVNfQlJPQURXRUxMKGRldikpCj4+IC0JCQlpbnRlbF9jcnRjLT5hdG9taWMud2FpdF92Ymxhbmsg PSB0cnVlOwo+PiAtCj4+ICAJCWludGVsX2NydGMtPmF0b21pYy51cGRhdGVfZmJjIHw9IHZpc2li bGUgfHwgbW9kZV9jaGFuZ2VkOwo+PiAgCQlicmVhazsKPj4gIAljYXNlIERSTV9QTEFORV9UWVBF X0NVUlNPUjoKPj4gQEAgLTExOTYyLDEyICsxMTk1MiwxMCBAQCBpbnQgaW50ZWxfcGxhbmVfYXRv bWljX2NhbGNfY2hhbmdlcyhzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKmNydGNfc3RhdGUsCj4+ICAJ CWlmIChJU19JVllCUklER0UoZGV2KSAmJgo+PiAgCQkgICAgbmVlZHNfc2NhbGluZyh0b19pbnRl bF9wbGFuZV9zdGF0ZShwbGFuZV9zdGF0ZSkpICYmCj4+ICAJCSAgICAhbmVlZHNfc2NhbGluZyhv bGRfcGxhbmVfc3RhdGUpKSB7Cj4+IC0JCQl0b19pbnRlbF9jcnRjX3N0YXRlKGNydGNfc3RhdGUp LT5kaXNhYmxlX2xwX3dtID0gdHJ1ZTsKPj4gLQkJfSBlbHNlIGlmICh0dXJuX29mZiAmJiAhbW9k ZV9jaGFuZ2VkKSB7Cj4+IC0JCQlpbnRlbF9jcnRjLT5hdG9taWMud2FpdF92YmxhbmsgPSB0cnVl Owo+PiArCQkJcGlwZV9jb25maWctPmRpc2FibGVfbHBfd20gPSB0cnVlOwo+PiArCQl9IGVsc2Ug aWYgKHR1cm5fb2ZmICYmICFtb2RlX2NoYW5nZWQpCj4+ICAJCQlpbnRlbF9jcnRjLT5hdG9taWMu dXBkYXRlX3Nwcml0ZV93YXRlcm1hcmtzIHw9Cj4+ICAJCQkJMSA8PCBpOwo+PiAtCQl9Cj4+ICAK Pj4gIAkJYnJlYWs7Cj4+ICAJfQo+PiBAQCAtMTM1MDksNiArMTM0OTcsNDggQEAgc3RhdGljIGlu dCBpbnRlbF9hdG9taWNfcHJlcGFyZV9jb21taXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPj4g IAlyZXR1cm4gcmV0Owo+PiAgfQo+PiAgCj4+ICtzdGF0aWMgdm9pZCBpbnRlbF9hdG9taWNfd2Fp dF9mb3JfdmJsYW5rcyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+PiArCQkJCQkgIHN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPj4gKwkJCQkJICB1bnNpZ25lZCBjcnRjX21hc2sp Cj4+ICt7Cj4+ICsJdW5zaWduZWQgbGFzdF92YmxhbmtfY291bnRbSTkxNV9NQVhfUElQRVNdOwo+ PiArCWVudW0gcGlwZSBwaXBlOwo+PiArCWludCByZXQ7Cj4+ICsKPj4gKwlpZiAoIWNydGNfbWFz aykKPj4gKwkJcmV0dXJuOwo+PiArCj4+ICsJZm9yX2VhY2hfcGlwZShkZXZfcHJpdiwgcGlwZSkg ewo+PiArCQlzdHJ1Y3QgZHJtX2NydGMgKmNydGMgPSBkZXZfcHJpdi0+cGlwZV90b19jcnRjX21h cHBpbmdbcGlwZV07Cj4+ICsKPj4gKwkJaWYgKCEoKDEgPDwgcGlwZSkgJiBjcnRjX21hc2spKQo+ PiArCQkJY29udGludWU7Cj4+ICsKPj4gKwkJcmV0ID0gZHJtX2NydGNfdmJsYW5rX2dldChjcnRj KTsKPj4gKwkJaWYgKHJldCAhPSAwKSB7Cj4+ICsJCQljcnRjX21hc2sgJj0gfigxIDw8IHBpcGUp Owo+PiArCQkJY29udGludWU7Cj4+ICsJCX0KPj4gKwo+PiArCQlsYXN0X3ZibGFua19jb3VudFtw aXBlXSA9IGRybV9jcnRjX3ZibGFua19jb3VudChjcnRjKTsKPj4gKwl9Cj4+ICsKPj4gKwlmb3Jf ZWFjaF9waXBlKGRldl9wcml2LCBwaXBlKSB7Cj4+ICsJCXN0cnVjdCBkcm1fY3J0YyAqY3J0YyA9 IGRldl9wcml2LT5waXBlX3RvX2NydGNfbWFwcGluZ1twaXBlXTsKPj4gKwo+PiArCQlpZiAoISgo MSA8PCBwaXBlKSAmIGNydGNfbWFzaykpCj4+ICsJCQljb250aW51ZTsKPj4gKwo+PiArCQl3YWl0 X2V2ZW50X3RpbWVvdXQoZGV2LT52YmxhbmtbcGlwZV0ucXVldWUsCj4+ICsJCQkJbGFzdF92Ymxh bmtfY291bnRbcGlwZV0gIT0KPj4gKwkJCQkJZHJtX2NydGNfdmJsYW5rX2NvdW50KGNydGMpLAo+ PiArCQkJCW1zZWNzX3RvX2ppZmZpZXMoNTApKTsKPj4gKwo+PiArCQlkcm1fY3J0Y192Ymxhbmtf cHV0KGNydGMpOwo+PiArCX0KPj4gK30KPj4gKwo+PiArCj4+ICAvKioKPj4gICAqIGludGVsX2F0 b21pY19jb21taXQgLSBjb21taXQgdmFsaWRhdGVkIHN0YXRlIG9iamVjdAo+PiAgICogQGRldjog RFJNIGRldmljZQo+PiBAQCAtMTM1MzcsNiArMTM1NjcsNyBAQCBzdGF0aWMgaW50IGludGVsX2F0 b21pY19jb21taXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPj4gIAlpbnQgcmV0ID0gMCwgaTsK Pj4gIAlib29sIGh3X2NoZWNrID0gaW50ZWxfc3RhdGUtPm1vZGVzZXQ7Cj4+ICAJdW5zaWduZWQg bG9uZyBwdXRfZG9tYWluc1tJOTE1X01BWF9QSVBFU10gPSB7fTsKPj4gKwl1bnNpZ25lZCBjcnRj X3ZibGFua19tYXNrID0gMDsKPj4gIAo+PiAgCXJldCA9IGludGVsX2F0b21pY19wcmVwYXJlX2Nv bW1pdChkZXYsIHN0YXRlLCBhc3luYyk7Cj4+ICAJaWYgKHJldCkgewo+PiBAQCAtMTM2MDgsOCAr MTM2MzksOSBAQCBzdGF0aWMgaW50IGludGVsX2F0b21pY19jb21taXQoc3RydWN0IGRybV9kZXZp Y2UgKmRldiwKPj4gIAlmb3JfZWFjaF9jcnRjX2luX3N0YXRlKHN0YXRlLCBjcnRjLCBjcnRjX3N0 YXRlLCBpKSB7Cj4+ICAJCXN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjID0gdG9faW50ZWxf Y3J0YyhjcnRjKTsKPj4gIAkJYm9vbCBtb2Rlc2V0ID0gbmVlZHNfbW9kZXNldChjcnRjLT5zdGF0 ZSk7Cj4+IC0JCWJvb2wgdXBkYXRlX3BpcGUgPSAhbW9kZXNldCAmJgo+PiAtCQkJdG9faW50ZWxf Y3J0Y19zdGF0ZShjcnRjLT5zdGF0ZSktPnVwZGF0ZV9waXBlOwo+PiArCQlzdHJ1Y3QgaW50ZWxf Y3J0Y19zdGF0ZSAqcGlwZV9jb25maWcgPQo+PiArCQkJdG9faW50ZWxfY3J0Y19zdGF0ZShjcnRj LT5zdGF0ZSk7Cj4+ICsJCWJvb2wgdXBkYXRlX3BpcGUgPSAhbW9kZXNldCAmJiBwaXBlX2NvbmZp Zy0+dXBkYXRlX3BpcGU7Cj4+ICAKPj4gIAkJaWYgKG1vZGVzZXQgJiYgY3J0Yy0+c3RhdGUtPmFj dGl2ZSkgewo+PiAgCQkJdXBkYXRlX3NjYW5saW5lX29mZnNldCh0b19pbnRlbF9jcnRjKGNydGMp KTsKPj4gQEAgLTEzNjIzLDEyICsxMzY1NSwxOCBAQCBzdGF0aWMgaW50IGludGVsX2F0b21pY19j b21taXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPj4gIAkJICAgIChjcnRjLT5zdGF0ZS0+cGxh bmVzX2NoYW5nZWQgfHwgdXBkYXRlX3BpcGUpKQo+PiAgCQkJZHJtX2F0b21pY19oZWxwZXJfY29t bWl0X3BsYW5lc19vbl9jcnRjKGNydGNfc3RhdGUpOwo+PiAgCj4+IC0JCWludGVsX3Bvc3RfcGxh bmVfdXBkYXRlKGludGVsX2NydGMpOwo+PiArCQlpZiAocGlwZV9jb25maWctPmJhc2UuYWN0aXZl ICYmCj4+ICsJCSAgICAocGlwZV9jb25maWctPndtX2NoYW5nZWQgfHwgcGlwZV9jb25maWctPmRp c2FibGVfY3hzciB8fAo+PiArCQkgICAgIHBpcGVfY29uZmlnLT5mYl9jaGFuZ2VkKSkKPj4gKwkJ CWNydGNfdmJsYW5rX21hc2sgfD0gMSA8PCBpOwo+PiAgCX0KPj4gIAo+PiAgCS8qIEZJWE1FOiBh ZGQgc3VicGl4ZWwgb3JkZXIgKi8KPj4gIAo+PiAtCWRybV9hdG9taWNfaGVscGVyX3dhaXRfZm9y X3ZibGFua3MoZGV2LCBzdGF0ZSk7Cj4+ICsJaW50ZWxfYXRvbWljX3dhaXRfZm9yX3ZibGFua3Mo ZGV2LCBkZXZfcHJpdiwgY3J0Y192YmxhbmtfbWFzayk7Cj4+ICsKPj4gKwlmb3JfZWFjaF9jcnRj X2luX3N0YXRlKHN0YXRlLCBjcnRjLCBjcnRjX3N0YXRlLCBpKQo+PiArCQlpbnRlbF9wb3N0X3Bs YW5lX3VwZGF0ZSh0b19pbnRlbF9jcnRjKGNydGMpKTsKPj4gIAo+PiAgCS8qCj4+ICAJICogTm93 IHRoYXQgdGhlIHZibGFuayBoYXMgcGFzc2VkLCB3ZSBjYW4gZ28gYWhlYWQgYW5kIHByb2dyYW0g dGhlCj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4+IGluZGV4IGJkZmU0MDM1ZTA3NC4uODk0 MGFhNGNmNTBjIDEwMDY0NAo+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYu aAo+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+PiBAQCAtMzg1LDYg KzM4NSw3IEBAIHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlIHsKPj4gIAlib29sIHVwZGF0ZV9waXBl OyAvKiBjYW4gYSBmYXN0IG1vZGVzZXQgYmUgcGVyZm9ybWVkPyAqLwo+PiAgCWJvb2wgZGlzYWJs ZV9jeHNyOwo+PiAgCWJvb2wgd21fY2hhbmdlZDsgLyogd2F0ZXJtYXJrcyBhcmUgdXBkYXRlZCAq Lwo+PiArCWJvb2wgZmJfY2hhbmdlZDsgLyogZmIgb24gYW55IG9mIHRoZSBwbGFuZXMgaXMgY2hh bmdlZCAqLwo+PiAgCj4+ICAJLyogUGlwZSBzb3VyY2Ugc2l6ZSAoaWUuIHBhbmVsIGZpdHRlciBp bnB1dCBzaXplKQo+PiAgCSAqIEFsbCBwbGFuZXMgd2lsbCBiZSBwb3NpdGlvbmVkIGluc2lkZSB0 aGlzIHNwYWNlLAo+PiBAQCAtNTcwLDcgKzU3MSw2IEBAIHN0cnVjdCBpbnRlbF9jcnRjX2F0b21p Y19jb21taXQgewo+PiAgCj4+ICAJLyogU2xlZXBhYmxlIG9wZXJhdGlvbnMgdG8gcGVyZm9ybSBh ZnRlciBjb21taXQgKi8KPj4gIAl1bnNpZ25lZCBmYl9iaXRzOwo+PiAtCWJvb2wgd2FpdF92Ymxh bms7Cj4+ICAJYm9vbCB1cGRhdGVfZmJjOwo+PiAgCWJvb2wgcG9zdF9lbmFibGVfcHJpbWFyeTsK Pj4gIAl1bnNpZ25lZCB1cGRhdGVfc3ByaXRlX3dhdGVybWFya3M7Cj4+IC0tIAo+PiAyLjEuMAo+ Pgo+PiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+PiBJ bnRlbC1nZnggbWFpbGluZyBsaXN0Cj4+IEludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcK Pj4gaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdm eAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwt Z2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8v bGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==