From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [Intel-gfx] [PATCH 11/20] drm/i915: prepare scaler for YCBCR420 modeset Date: Thu, 13 Jul 2017 15:52:06 +0300 Message-ID: <20170713125206.GY12629@intel.com> References: <1499685528-6926-1-git-send-email-shashank.sharma@intel.com> <1499685528-6926-12-git-send-email-shashank.sharma@intel.com> <20170712171727.GL12629@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: "Sharma, Shashank" Cc: intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org T24gVGh1LCBKdWwgMTMsIDIwMTcgYXQgMTA6NTE6MDRBTSArMDUzMCwgU2hhcm1hLCBTaGFzaGFu ayB3cm90ZToKPiBSZWdhcmRzCj4gCj4gU2hhc2hhbmsKPiAKPiAKPiBPbiA3LzEyLzIwMTcgMTA6 NDcgUE0sIFZpbGxlIFN5cmrDpGzDpCB3cm90ZToKPiA+IE9uIE1vbiwgSnVsIDEwLCAyMDE3IGF0 IDA0OjQ4OjM5UE0gKzA1MzAsIFNoYXNoYW5rIFNoYXJtYSB3cm90ZToKPiA+PiBUbyBnZXQgYSBZ Q0JDUjQyMCBvdXRwdXQgZnJvbSBpbnRlbCBwbGF0Zm9ybXMsIHdlIG5lZWQgb25lCj4gPj4gc2Nh bGVyIHRvIHNjYWxlIGRvd24gWUNCQ1I0NDQgc2FtcGxlcyB0byBZQ0JDUjQyMCBzYW1wbGVzLgo+ ID4+Cj4gPj4gVGhpcyBwYXRjaDoKPiA+PiAtIERvZXMgc2NhbGVyIGFsbG9jYXRpb24gZm9yIEhE TUkgeWNiY3I0MjAgb3V0cHV0cy4KPiA+PiAtIFByb2dyYW1zIFBJUEVfTUlTQyByZWdpc3RlciBm b3IgeWNiY3I0MjAgb3V0cHV0Lgo+ID4+IC0gQWRkcyBhIG5ldyBzY2FsZXIgdXNlciAiSERNSSBv dXRwdXQiIHRvIHBsdWctaW50byBleGlzdGluZwo+ID4+ICAgIHNjYWxlciBmcmFtZXdvcmsuIFRo aXMgb3V0cHV0IHR5cGUgaXMgaWRlbnRpZmllZCB1c2luZyBiaXQKPiA+PiAgICAzMCBvZiB0aGUg c2NhbGVyIHVzZXJzIGJpdG1hcC4KPiA+Pgo+ID4+IFYyOiByZWJhc2UKPiA+PiBWMzogcmViYXNl Cj4gPj4gVjQ6IHJlYmFzZQo+ID4+IFY1OiBhZGRyZXNzZWQgcmV2aWV3IGNvbW1lbnRzIGZyb20g QW5kZXI6Cj4gPj4gICAgICAtIE5vIG5lZWQgdG8gY2hlY2sgYm90aCBzY2FsZXJfdXNlciAmJiBo ZG1pX291dHB1dC4KPiA+PiAgICAgICAgQ2hlY2sgZm9yIHNjYWxlcl91c2VyIGlzIGVub3VnaC4K PiA+PiBTaWduZWQtb2ZmLWJ5OiBTaGFzaGFuayBTaGFybWEgPHNoYXNoYW5rLnNoYXJtYUBpbnRl bC5jb20+Cj4gPj4gLS0tCj4gPj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9hdG9taWMu YyAgfCAgNiArKysrKysKPiA+PiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXku YyB8IDIzICsrKysrKysrKysrKysrKysrKysrKysrCj4gPj4gICBkcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9kcnYuaCAgICAgfCAxMCArKysrKysrKystCj4gPj4gICBkcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9oZG1pLmMgICAgfCAxMiArKysrKysrKysrKysKPiA+PiAgIGRyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX3BhbmVsLmMgICB8ICAzICsrLQo+ID4+ICAgNSBmaWxlcyBjaGFuZ2Vk LCA1MiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQo+ID4+Cj4gPj4gZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2F0b21pYy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfYXRvbWljLmMKPiA+PiBpbmRleCAzNmQ0ZTYzLi4wNDBkMTExIDEwMDY0NAo+ID4+ IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2F0b21pYy5jCj4gPj4gKysrIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfYXRvbWljLmMKPiA+PiBAQCAtMjY0LDYgKzI2NCwxMiBA QCBpbnQgaW50ZWxfYXRvbWljX3NldHVwX3NjYWxlcnMoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2LAo+ID4+ICAgCj4gPj4gICAJCQkvKiBwYW5lbCBmaXR0ZXIgY2FzZTogYXNzaWdu IGFzIGEgY3J0YyBzY2FsZXIgKi8KPiA+PiAgIAkJCXNjYWxlcl9pZCA9ICZzY2FsZXJfc3RhdGUt PnNjYWxlcl9pZDsKPiA+PiArCQl9IGVsc2UgaWYgKGkgPT0gU0tMXzQyMF9PVVRQVVRfSU5ERVgp IHsKPiA+IEkgdGhpbmsgQW5kZXIgYWxyZWFkeSBzYWlkIHRoYXQgd2Ugc2hvdWxkIGp1c3QgdGll IHRoaXMgaW50byB0aGUgbm9ybWFsCj4gPiBwZml0IHBpcGUgc2NhbGVyIHVzZXIuIEkgYWdyZWUu IEhhdmluZyB0byB1c2VycyBkb2Vzbid0IGFjdHVhbGx5IG1ha2UKPiA+IHNlbnNlIGJlY2F1c2Ug dGhlcmUgY2FuIGJlIG9ubHkgb25lIHBpcGUgc2NhbGVyLCBhbmQgaWYgd2Ugd2FudCB0byBkbwo+ ID4gc2NhbGVkIDQ6MjowIG91dHB1dCB0aGVuIHdlIGFueXdheSBuZWVkIHRvIGhhbmRsZSBib3Ro IGNhc2VzCj4gPiBzaW11bHRhbmVvc2x5Lgo+IEkgdGhvdWdodCBvdXIgaWRlYSBvZiBoYXZpbmcg YSBzZXBhcmF0ZSBzY2FsYXIgdXNlciB3YXMgYSBnb29kIG9uZSwgCj4gYmVjYXVzZSwgdGhpcyBn aXZlcyBhZGRpdGlvbmFsIGluZm9ybWF0aW9uCj4gaG93IGFuZCB3aHkgdGhlIHNjYWxhciBpcyBi ZWluZyB1c2VkLiBBbHNvLCB3ZSBkb250IHByb2dyYW0gdGhlIG90aGVyIAo+IHNjYWxpbmcgZmFj dG9ycyBpbiB0aGlzIGNhc2UsIGJ1dCB3ZSBnZXQKPiB0aGUgc2NhbGluZyBwcm9maWxlIHNldCB1 c2luZyBQSVBFTUlTQy4gU28gSSB3b3VsZCBwcmVmZXIgdG8gaGF2ZSB0aGlzIAo+IGFzIGEgc3Bl Y2lhbCBjYXNlIG9yIHNlcGFyYXRlIHVzZXIsIGJ1dCB5b3UKPiBjYW4gdGhpbmsgYWJvdXQgdGhp cywgYW5kIGxldCBtZSBrbm93LgoKRXZlbnR1YWxseSB3ZSdsbCB3YW50IHNjYWxpbmcgYW5kIDQy MCBhdCB0aGUgc2FtZSB0aW1lLiBTbyBhIHNlcGFyYXRlCnVzZXIganVzdCBkb2Vzbid0IHdvcmsu Cgo+IAo+IC0gU2hhc2hhbmsKPiA+Cj4gPj4gKwkJCW5hbWUgPSAiWUNCQ1I0MjAtT1VUUFVUIjsK PiA+PiArCQkJaWR4ID0gaW50ZWxfY3J0Yy0+YmFzZS5iYXNlLmlkOwo+ID4+ICsKPiA+PiArCQkJ LyogWUNCQ1I0MjAgY2FzZTogbmVlZHMgYSBwaXBlIHNjYWxlciAqLwo+ID4+ICsJCQlzY2FsZXJf aWQgPSAmc2NhbGVyX3N0YXRlLT5zY2FsZXJfaWQ7Cj4gPj4gICAJCX0gZWxzZSB7Cj4gPj4gICAJ CQluYW1lID0gIlBMQU5FIjsKPiA+PiAgIAo+ID4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNw bGF5LmMKPiA+PiBpbmRleCAwMTkwMGUxLi5jNTYwODFlIDEwMDY0NAo+ID4+IC0tLSBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+ID4+ICsrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+ID4+IEBAIC00NjIxLDYgKzQ2MjEsOSBAQCBza2xfdXBk YXRlX3NjYWxlcihzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwgYm9vbCBmb3Jj ZV9kZXRhY2gsCj4gPj4gICAJICovCj4gPj4gICAJbmVlZF9zY2FsaW5nID0gc3JjX3cgIT0gZHN0 X3cgfHwgc3JjX2ggIT0gZHN0X2g7Cj4gPj4gICAKPiA+PiArCWlmIChzY2FsZXJfdXNlciA9PSBT S0xfNDIwX09VVFBVVF9JTkRFWCkKPiA+PiArCQluZWVkX3NjYWxpbmcgPSB0cnVlOwo+ID4+ICsK PiA+PiAgIAkvKgo+ID4+ICAgCSAqIGlmIHBsYW5lIGlzIGJlaW5nIGRpc2FibGVkIG9yIHNjYWxl ciBpcyBubyBtb3JlIHJlcXVpcmVkIG9yIGZvcmNlIGRldGFjaAo+ID4+ICAgCSAqICAtIGZyZWUg c2NhbGVyIGJpbmRlZCB0byB0aGlzIHBsYW5lL2NydGMKPiA+PiBAQCAtNDY2OCw2ICs0NjcxLDI2 IEBAIHNrbF91cGRhdGVfc2NhbGVyKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRl LCBib29sIGZvcmNlX2RldGFjaCwKPiA+PiAgIH0KPiA+PiAgIAo+ID4+ICAgLyoqCj4gPj4gKyAq IHNrbF91cGRhdGVfc2NhbGVyX2NydGNfNDIwX291dHB1dCAtIFN0YWdlcyB1cGRhdGUgdG8gc2Nh bGVyIHN0YXRlCj4gPj4gKyAqIGZvciBZQ0JDUjQyMCB3aGljaCBuZWVkcyBhIHNjYWxlciwgZm9y IGRvd25zYW1wbGluZy4KPiA+PiArICoKPiA+PiArICogQHN0YXRlOiBjcnRjJ3Mgc2NhbGVyIHN0 YXRlCj4gPj4gKyAqCj4gPj4gKyAqIFJldHVybgo+ID4+ICsgKiAgICAgMCAtIHNjYWxlcl91c2Fn ZSB1cGRhdGVkIHN1Y2Nlc3NmdWxseQo+ID4+ICsgKiAgICBlcnJvciAtIHJlcXVlc3RlZCBzY2Fs aW5nIGNhbm5vdCBiZSBzdXBwb3J0ZWQgb3Igb3RoZXIgZXJyb3IgY29uZGl0aW9uCj4gPj4gKyAq Lwo+ID4+ICtpbnQgc2tsX3VwZGF0ZV9zY2FsZXJfY3J0Y180MjBfb3V0cHV0KHN0cnVjdCBpbnRl bF9jcnRjX3N0YXRlICpzdGF0ZSkKPiA+PiArewo+ID4+ICsJY29uc3Qgc3RydWN0IGRybV9kaXNw bGF5X21vZGUgKm1vZGUgPSAmc3RhdGUtPmJhc2UuYWRqdXN0ZWRfbW9kZTsKPiA+PiArCj4gPj4g KwlyZXR1cm4gc2tsX3VwZGF0ZV9zY2FsZXIoc3RhdGUsICFzdGF0ZS0+YmFzZS5hY3RpdmUsCj4g Pj4gKwkJU0tMXzQyMF9PVVRQVVRfSU5ERVgsICZzdGF0ZS0+c2NhbGVyX3N0YXRlLnNjYWxlcl9p ZCwKPiA+PiArCQlzdGF0ZS0+cGlwZV9zcmNfdywgc3RhdGUtPnBpcGVfc3JjX2gsCj4gPj4gKwkJ bW9kZS0+Y3J0Y19oZGlzcGxheSwgbW9kZS0+Y3J0Y192ZGlzcGxheSk7Cj4gPj4gK30KPiA+PiAr Cj4gPj4gKy8qKgo+ID4+ICAgICogc2tsX3VwZGF0ZV9zY2FsZXJfY3J0YyAtIFN0YWdlcyB1cGRh dGUgdG8gc2NhbGVyIHN0YXRlIGZvciBhIGdpdmVuIGNydGMuCj4gPj4gICAgKgo+ID4+ICAgICog QHN0YXRlOiBjcnRjJ3Mgc2NhbGVyIHN0YXRlCj4gPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgK PiA+PiBpbmRleCA1OTIyNDNiLi42OGI0ZmJhIDEwMDY0NAo+ID4+IC0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2Rydi5oCj4gPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZHJ2LmgKPiA+PiBAQCAtNDcxLDcgKzQ3MSw4IEBAIHN0cnVjdCBpbnRlbF9jcnRjX3NjYWxl cl9zdGF0ZSB7Cj4gPj4gICAJICoKPiA+PiAgIAkgKiAgICAgSWYgYSBiaXQgaXMgc2V0LCBhIHVz ZXIgaXMgdXNpbmcgYSBzY2FsZXIuCj4gPj4gICAJICogICAgIEhlcmUgdXNlciBjYW4gYmUgYSBw bGFuZSBvciBjcnRjIGFzIGRlZmluZWQgYmVsb3c6Cj4gPj4gLQkgKiAgICAgICBiaXRzIDAtMzAg LSBwbGFuZSAoYml0IHBvc2l0aW9uIGlzIGluZGV4IGZyb20gZHJtX3BsYW5lX2luZGV4KQo+ID4+ ICsJICogICAgICAgYml0cyAwLTI5IC0gcGxhbmUgKGJpdCBwb3NpdGlvbiBpcyBpbmRleCBmcm9t IGRybV9wbGFuZV9pbmRleCkKPiA+PiArCSAqICAgICAgIGJpdCAzMCAgICAtIGhkbWkgb3V0cHV0 Cj4gPj4gICAJICogICAgICAgYml0IDMxICAgIC0gY3J0Ywo+ID4+ICAgCSAqCj4gPj4gICAJICog SW5zdGVhZCBvZiBjcmVhdGluZyBhIG5ldyBpbmRleCB0byBjb3ZlciBwbGFuZXMgYW5kIGNydGMs IHVzaW5nCj4gPj4gQEAgLTQ4NCw2ICs0ODUsMTIgQEAgc3RydWN0IGludGVsX2NydGNfc2NhbGVy X3N0YXRlIHsKPiA+PiAgIAkgKiBhdmlsYWJpbGl0eS4KPiA+PiAgIAkgKi8KPiA+PiAgICNkZWZp bmUgU0tMX0NSVENfSU5ERVggMzEKPiA+PiArCj4gPj4gKwkvKgo+ID4+ICsJICogWUNCQ1IgNDIw IG91dHB1dCBjb25zdW1lIGEgc2NhbGVyLiBTbyBhZGRpbmcgYSB1c2VyCj4gPj4gKwkgKiBmb3Ig NDIwIG91dHB1dCByZXF1aXJlbWVudC4KPiA+PiArCSAqLwo+ID4+ICsjZGVmaW5lIFNLTF80MjBf T1VUUFVUX0lOREVYIDMwCj4gPj4gICAJdW5zaWduZWQgc2NhbGVyX3VzZXJzOwo+ID4+ICAgCj4g Pj4gICAJLyogc2NhbGVyIHVzZWQgYnkgY3J0YyBmb3IgcGFuZWwgZml0dGluZyBwdXJwb3NlICov Cj4gPj4gQEAgLTE0ODMsNiArMTQ5MCw3IEBAIHZvaWQgaW50ZWxfbW9kZV9mcm9tX3BpcGVfY29u ZmlnKHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlLAo+ID4+ICAgCQkJCSBzdHJ1Y3QgaW50 ZWxfY3J0Y19zdGF0ZSAqcGlwZV9jb25maWcpOwo+ID4+ICAgCj4gPj4gICBpbnQgc2tsX3VwZGF0 ZV9zY2FsZXJfY3J0YyhzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSk7Cj4gPj4g K2ludCBza2xfdXBkYXRlX3NjYWxlcl9jcnRjXzQyMF9vdXRwdXQoc3RydWN0IGludGVsX2NydGNf c3RhdGUgKnN0YXRlKTsKPiA+PiAgIGludCBza2xfbWF4X3NjYWxlKHN0cnVjdCBpbnRlbF9jcnRj ICpjcnRjLCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSk7Cj4gPj4gICAKPiA+ PiAgIHN0YXRpYyBpbmxpbmUgdTMyIGludGVsX3BsYW5lX2dndHRfb2Zmc2V0KGNvbnN0IHN0cnVj dCBpbnRlbF9wbGFuZV9zdGF0ZSAqc3RhdGUpCj4gPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2hkbWkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hkbWku Ywo+ID4+IGluZGV4IDI3NmQ5MTYuLjllOGQ3ODQgMTAwNjQ0Cj4gPj4gLS0tIGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfaGRtaS5jCj4gPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfaGRtaS5jCj4gPj4gQEAgLTEzNTUsNiArMTM1NSw3IEBAIGludGVsX2hkbWlfeWNiY3I0 MjBfY29uZmlnKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsCj4gPj4gICAJCQkgICAg ICAgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNvbmZpZywKPiA+PiAgIAkJCSAgICAgICBpbnQg KmNsb2NrXzEyYnBjLCBpbnQgKmNsb2NrXzhicGMpCj4gPj4gICB7Cj4gPj4gKwlzdHJ1Y3QgaW50 ZWxfY3J0YyAqaW50ZWxfY3J0YyA9IHRvX2ludGVsX2NydGMoY29uZmlnLT5iYXNlLmNydGMpOwo+ ID4+ICAgCj4gPj4gICAJaWYgKCFjb25uZWN0b3ItPnljYmNyXzQyMF9hbGxvd2VkKSB7Cj4gPj4g ICAJCURSTV9FUlJPUigiUGxhdGZvcm0gZG9lc24ndCBzdXBwb3J0IFlDQkNSNDIwIG91dHB1dFxu Iik7Cj4gPj4gQEAgLTEzNjYsNiArMTM2NywxNyBAQCBpbnRlbF9oZG1pX3ljYmNyNDIwX2NvbmZp ZyhzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLAo+ID4+ICAgCSpjbG9ja18xMmJwYyAv PSAyOwo+ID4+ICAgCSpjbG9ja184YnBjIC89IDI7Cj4gPj4gICAJY29uZmlnLT55Y2JjcjQyMCA9 IHRydWU7Cj4gPj4gKwo+ID4+ICsJLyogWUNCQ1IgNDIwIG91dHB1dCBjb252ZXJzaW9uIG5lZWRz IGEgc2NhbGVyICovCj4gPj4gKwlpZiAoc2tsX3VwZGF0ZV9zY2FsZXJfY3J0Y180MjBfb3V0cHV0 KGNvbmZpZykpIHsKPiA+PiArCQlEUk1fRVJST1IoIlNjYWxlciBhbGxvY2F0aW9uIGZvciBvdXRw dXQgZmFpbGVkXG4iKTsKPiA+PiArCQlyZXR1cm4gZmFsc2U7Cj4gPj4gKwl9Cj4gPj4gKwo+ID4+ ICsJLyogQmluZCB0aGlzIHNjYWxlciB0byBwaXBlICovCj4gPj4gKwlpbnRlbF9wY2hfcGFuZWxf Zml0dGluZyhpbnRlbF9jcnRjLCBjb25maWcsCj4gPj4gKwkJCQlEUk1fTU9ERV9TQ0FMRV9GVUxM U0NSRUVOKTsKPiA+PiArCj4gPj4gICAJcmV0dXJuIHRydWU7Cj4gPj4gICB9Cj4gPj4gICAKPiA+ PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcGFuZWwuYyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX3BhbmVsLmMKPiA+PiBpbmRleCA5NmMyY2JkLi5mZDJlMDgx IDEwMDY0NAo+ID4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BhbmVsLmMKPiA+ PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wYW5lbC5jCj4gPj4gQEAgLTExMCw3 ICsxMTAsOCBAQCBpbnRlbF9wY2hfcGFuZWxfZml0dGluZyhzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50 ZWxfY3J0YywKPiA+PiAgIAo+ID4+ICAgCS8qIE5hdGl2ZSBtb2RlcyBkb24ndCBuZWVkIGZpdHRp bmcgKi8KPiA+PiAgIAlpZiAoYWRqdXN0ZWRfbW9kZS0+Y3J0Y19oZGlzcGxheSA9PSBwaXBlX2Nv bmZpZy0+cGlwZV9zcmNfdyAmJgo+ID4+IC0JICAgIGFkanVzdGVkX21vZGUtPmNydGNfdmRpc3Bs YXkgPT0gcGlwZV9jb25maWctPnBpcGVfc3JjX2gpCj4gPj4gKwkgICAgYWRqdXN0ZWRfbW9kZS0+ Y3J0Y192ZGlzcGxheSA9PSBwaXBlX2NvbmZpZy0+cGlwZV9zcmNfaCAmJgo+ID4+ICsJICAgICFw aXBlX2NvbmZpZy0+eWNiY3I0MjApCj4gPj4gICAJCWdvdG8gZG9uZTsKPiA+PiAgIAo+ID4+ICAg CXN3aXRjaCAoZml0dGluZ19tb2RlKSB7Cj4gPj4gLS0gCj4gPj4gMi43LjQKPiA+Pgo+ID4+IF9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gPj4gSW50ZWwt Z2Z4IG1haWxpbmcgbGlzdAo+ID4+IEludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKPiA+ PiBodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdm eAoKLS0gClZpbGxlIFN5cmrDpGzDpApJbnRlbCBPVEMKX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxA bGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxt YW4vbGlzdGluZm8vZHJpLWRldmVsCg==