From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jeykumar Sankaran Subject: Re: [PATCH v2 15/24] drm/msm: dpu: Stop using encoder->crtc pointer Date: Mon, 19 Nov 2018 12:03:53 -0800 Message-ID: <8676ddf837e19e27f2483d262290a345@codeaurora.org> References: <20181116184238.170034-1-sean@poorly.run> <20181116184238.170034-16-sean@poorly.run> <580ced340265a3c45b31836291bfbb4c@codeaurora.org> <20181116211417.GX154160@art_vandelay> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20181116211417.GX154160@art_vandelay> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: freedreno-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "Freedreno" To: Sean Paul Cc: Sean Paul , linux-arm-msm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, robdclark-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org, freedreno-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org List-Id: linux-arm-msm@vger.kernel.org T24gMjAxOC0xMS0xNiAxMzoxNCwgU2VhbiBQYXVsIHdyb3RlOgo+IE9uIEZyaSwgTm92IDE2LCAy MDE4IGF0IDEyOjA1OjA5UE0gLTA4MDAsIEpleWt1bWFyIFNhbmthcmFuIHdyb3RlOgo+PiBPbiAy MDE4LTExLTE2IDEwOjQyLCBTZWFuIFBhdWwgd3JvdGU6Cj4+ID4gRnJvbTogU2VhbiBQYXVsIDxz ZWFucGF1bEBjaHJvbWl1bS5vcmc+Cj4+ID4KPj4gPiBJdCdzIGZvciBsZWdhY3kgZHJpdmVycywg Zm9yIGF0b21pYyBkcml2ZXJzIGNydGMtPnN0YXRlLT5lbmNvZGVyX21hc2sKPj4gPiBzaG91bGQg YmUgdXNlZCB0byBtYXAgZW5jb2RlciB0byBjcnRjLgo+PiA+Cj4+ID4gQ2hhbmdlcyBpbiB2MjoK Pj4gPiAtIE5vbmUKPj4gPgo+PiA+IFNpZ25lZC1vZmYtYnk6IFNlYW4gUGF1bCA8c2VhbnBhdWxA Y2hyb21pdW0ub3JnPgo+PiA+IC0tLQo+PiA+ICBkcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1 MS9kcHVfY3J0Yy5jIHwgNDYKPiArKysrKysrKy0tLS0tLS0tLS0tLS0tLS0KPj4gPiAgZHJpdmVy cy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2ttcy5jICB8IDE5ICsrKysrKystLS0KPj4gPiAg MiBmaWxlcyBjaGFuZ2VkLCAyOSBpbnNlcnRpb25zKCspLCAzNiBkZWxldGlvbnMoLSkKPj4gPgo+ PiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfY3J0Yy5j Cj4+ID4gYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfY3J0Yy5jCj4+ID4gaW5k ZXggMTU2ZjRjNzdjYTQ0Li5hMDA4YTg3YTgxMTMgMTAwNjQ0Cj4+ID4gLS0tIGEvZHJpdmVycy9n cHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2NydGMuYwo+PiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9tc20vZGlzcC9kcHUxL2RwdV9jcnRjLmMKPj4gPiBAQCAtMjg0LDkgKzI4NCw5IEBAIGVudW0g ZHB1X2ludGZfbW9kZSBkcHVfY3J0Y19nZXRfaW50Zl9tb2RlKHN0cnVjdAo+PiA+IGRybV9jcnRj ICpjcnRjKQo+PiA+ICAJCXJldHVybiBJTlRGX01PREVfTk9ORTsKPj4gPiAgCX0KPj4gPgo+PiA+ IC0JZHJtX2Zvcl9lYWNoX2VuY29kZXIoZW5jb2RlciwgY3J0Yy0+ZGV2KQo+PiA+IC0JCWlmIChl bmNvZGVyLT5jcnRjID09IGNydGMpCj4+ID4gLQkJCXJldHVybiBkcHVfZW5jb2Rlcl9nZXRfaW50 Zl9tb2RlKGVuY29kZXIpOwo+PiA+ICsJLyogVE9ETzogUmV0dXJucyB0aGUgZmlyc3QgSU5URl9N T0RFLCBjb3VsZCB0aGVyZSBiZSBtdWx0aXBsZQo+PiA+IHZhbHVlcz8gKi8KPj4gPiArCWRybV9m b3JfZWFjaF9lbmNvZGVyX21hc2soZW5jb2RlciwgY3J0Yy0+ZGV2LAo+PiA+IGNydGMtPnN0YXRl LT5lbmNvZGVyX21hc2spCj4+ID4gKwkJcmV0dXJuIGRwdV9lbmNvZGVyX2dldF9pbnRmX21vZGUo ZW5jb2Rlcik7Cj4+ID4KPj4gPiAgCXJldHVybiBJTlRGX01PREVfTk9ORTsKPj4gPiAgfQo+PiA+ IEBAIC01NTEsMTMgKzU1MSw5IEBAIHN0YXRpYyB2b2lkIGRwdV9jcnRjX2F0b21pY19iZWdpbihz dHJ1Y3QgZHJtX2NydGMKPj4gPiAqY3J0YywKPj4gPiAgCQlzcGluX3VubG9ja19pcnFyZXN0b3Jl KCZkZXYtPmV2ZW50X2xvY2ssIGZsYWdzKTsKPj4gPiAgCX0KPj4gPgo+PiA+IC0JbGlzdF9mb3Jf ZWFjaF9lbnRyeShlbmNvZGVyLCAmZGV2LT5tb2RlX2NvbmZpZy5lbmNvZGVyX2xpc3QsIGhlYWQp Cj4+ID4gewo+PiA+IC0JCWlmIChlbmNvZGVyLT5jcnRjICE9IGNydGMpCj4+ID4gLQkJCWNvbnRp bnVlOwo+PiA+IC0KPj4gPiAtCQkvKiBlbmNvZGVyIHdpbGwgdHJpZ2dlciBwZW5kaW5nIG1hc2sg bm93ICovCj4+ID4gKwkvKiBlbmNvZGVyIHdpbGwgdHJpZ2dlciBwZW5kaW5nIG1hc2sgbm93ICov Cj4+ID4gKwlkcm1fZm9yX2VhY2hfZW5jb2Rlcl9tYXNrKGVuY29kZXIsIGNydGMtPmRldiwKPj4g PiBjcnRjLT5zdGF0ZS0+ZW5jb2Rlcl9tYXNrKQo+PiA+ICAJCWRwdV9lbmNvZGVyX3RyaWdnZXJf a2lja29mZl9wZW5kaW5nKGVuY29kZXIpOwo+PiA+IC0JfQo+PiA+Cj4+ID4gIAkvKgo+PiA+ICAJ ICogSWYgbm8gbWl4ZXJzIGhhdmUgYmVlbiBhbGxvY2F0ZWQgaW4gZHB1X2NydGNfYXRvbWljX2No ZWNrKCksCj4+ID4gQEAgLTcwNCw3ICs3MDAsNiBAQCBzdGF0aWMgaW50IF9kcHVfY3J0Y193YWl0 X2Zvcl9mcmFtZV9kb25lKHN0cnVjdAo+PiA+IGRybV9jcnRjICpjcnRjKQo+PiA+ICB2b2lkIGRw dV9jcnRjX2NvbW1pdF9raWNrb2ZmKHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKPj4gPiAgewo+PiA+ ICAJc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyOwo+PiA+IC0Jc3RydWN0IGRybV9kZXZpY2Ug KmRldiA9IGNydGMtPmRldjsKPj4gPiAgCXN0cnVjdCBkcHVfY3J0YyAqZHB1X2NydGMgPSB0b19k cHVfY3J0YyhjcnRjKTsKPj4gPiAgCXN0cnVjdCBkcHVfa21zICpkcHVfa21zID0gX2RwdV9jcnRj X2dldF9rbXMoY3J0Yyk7Cj4+ID4gIAlzdHJ1Y3QgZHB1X2NydGNfc3RhdGUgKmNzdGF0ZSA9IHRv X2RwdV9jcnRjX3N0YXRlKGNydGMtPnN0YXRlKTsKPj4gPiBAQCAtNzIwLDE2ICs3MTUsMTMgQEAg dm9pZCBkcHVfY3J0Y19jb21taXRfa2lja29mZihzdHJ1Y3QgZHJtX2NydGMKPj4gPiAqY3J0YykK Pj4gPgo+PiA+ICAJRFBVX0FUUkFDRV9CRUdJTigiY3J0Y19jb21taXQiKTsKPj4gPgo+PiA+IC0J bGlzdF9mb3JfZWFjaF9lbnRyeShlbmNvZGVyLCAmZGV2LT5tb2RlX2NvbmZpZy5lbmNvZGVyX2xp c3QsIGhlYWQpCj4+ID4gewo+PiA+ICsJLyoKPj4gPiArCSAqIEVuY29kZXIgd2lsbCBmbHVzaC9z dGFydCBub3csIHVubGVzcyBpdCBoYXMgYSB0eCBwZW5kaW5nLiBJZgo+PiA+IHNvLCBpdAo+PiA+ ICsJICogbWF5IGRlbGF5IGFuZCBmbHVzaCBhdCBhbiBpcnEgZXZlbnQgKGUuZy4gcHBkb25lKQo+ PiA+ICsJICovCj4+ID4gKwlkcm1fZm9yX2VhY2hfZW5jb2Rlcl9tYXNrKGVuY29kZXIsIGNydGMt PmRldiwKPj4gPiArCQkJCSAgY3J0Yy0+c3RhdGUtPmVuY29kZXJfbWFzaykgewo+PiA+ICAJCXN0 cnVjdCBkcHVfZW5jb2Rlcl9raWNrb2ZmX3BhcmFtcyBwYXJhbXMgPSB7IDAgfTsKPj4gPiAtCj4+ ID4gLQkJaWYgKGVuY29kZXItPmNydGMgIT0gY3J0YykKPj4gPiAtCQkJY29udGludWU7Cj4+ID4g LQo+PiA+IC0JCS8qCj4+ID4gLQkJICogRW5jb2RlciB3aWxsIGZsdXNoL3N0YXJ0IG5vdywgdW5s ZXNzIGl0IGhhcyBhIHR4Cj4+ID4gcGVuZGluZy4KPj4gPiAtCQkgKiBJZiBzbywgaXQgbWF5IGRl bGF5IGFuZCBmbHVzaCBhdCBhbiBpcnEgZXZlbnQgKGUuZy4KPj4gPiBwcGRvbmUpCj4+ID4gLQkJ ICovCj4+ID4gIAkJZHB1X2VuY29kZXJfcHJlcGFyZV9mb3Jfa2lja29mZihlbmNvZGVyLCAmcGFy YW1zKTsKPj4gPiAgCX0KPj4gPgo+PiA+IEBAIC03NTQsMTIgKzc0Niw4IEBAIHZvaWQgZHB1X2Ny dGNfY29tbWl0X2tpY2tvZmYoc3RydWN0IGRybV9jcnRjCj4gKmNydGMpCj4+ID4KPj4gPiAgCWRw dV92YmlmX2NsZWFyX2Vycm9ycyhkcHVfa21zKTsKPj4gPgo+PiA+IC0JbGlzdF9mb3JfZWFjaF9l bnRyeShlbmNvZGVyLCAmZGV2LT5tb2RlX2NvbmZpZy5lbmNvZGVyX2xpc3QsIGhlYWQpCj4+ID4g ewo+PiA+IC0JCWlmIChlbmNvZGVyLT5jcnRjICE9IGNydGMpCj4+ID4gLQkJCWNvbnRpbnVlOwo+ PiA+IC0KPj4gPiArCWRybV9mb3JfZWFjaF9lbmNvZGVyX21hc2soZW5jb2RlciwgY3J0Yy0+ZGV2 LAo+PiA+IGNydGMtPnN0YXRlLT5lbmNvZGVyX21hc2spCj4+ID4gIAkJZHB1X2VuY29kZXJfa2lj a29mZihlbmNvZGVyKTsKPj4gPiAtCX0KPj4gV2Ugd29udCBiZSBob2xkaW5nIHRoZSBtb2Rlc2V0 IGxvY2tzIGhlcmUgKGFuZCBpbiBjcnRjX2F0b21pY19iZWdpbikgCj4+IGluCj4gdGhlCj4+IGRp c3BsYXkgdGhyZWFkLiBJcwo+PiBpdCBzYWZlIHRvIGl0ZXJhdGUgb3ZlciBlbmNvZGVyX21hc2s/ Cj4gCj4gSG1tLCBJJ20gbm90IHN1cmUgSSBmb2xsb3cuIEFGQUlDVCwgdGhlcmUgYXJlIDIgY2Fs bHNpdGVzIGZvcgo+IGRwdV9jcnRjX2NvbW1pdF9raWNrb2ZmKCk6Cj4gCj4gMS0gZHB1X2ttc19l bmNvZGVyX2VuYWJsZSgpIHdoaWNoIGlzIGNhbGxlZCB2aWEgdGhlIAo+IGVuY29kZXItPmZ1bmNz LT5lbmFibGUKPiBob29rCj4gMi0gZHB1X2ttc19jb21taXQoKSB3aGljaCBpcyBjYWxsZWQgaW4g dGhlCj4gbW9kZV9jb25maWctPmZ1bmNzLT5hdG9taWNfY29tbWl0X3RhaWwKCmF0b21pY19jb21t aXRfdGFpbCB3aWxsIGJlIGNhbGxlZCBmcm9tIHRoZSBXUS4gRG8gd2UgaG9sZAp0aGUgbW9kZXNl dCBsb2NrcyBpbiB0aGUgV1E/IEkgYmVsaWV2ZSB1c2Vyc3BhY2UgdGhyZWFkIHdpbGwgZHJvcAp0 aGUgbG9ja3MgYXQgdGhlIGVuZCBvZiBkcm1fbW9kZV9hdG9taWNfaW9jdGwuCgpUaGFua3MKPiAK PiBCb3RoIG9mIHRoZXNlIGNhbGxzaXRlcyB3aWxsIGhvbGQgdGhlIG1vZGVzZXQgbG9ja3MuCj4g Cj4gQW0gSSBtaXNzaW5nIHNvbWV0aGluZz8KPiAKPiBUaGFua3MgZm9yIHlvdXIgcmV2aWV3LAo+ IAo+IFNlYW4KPiAKPj4gPgo+PiA+ICBlbmQ6Cj4+ID4gIAlyZWluaXRfY29tcGxldGlvbigmZHB1 X2NydGMtPmZyYW1lX2RvbmVfY29tcCk7Cj4+ID4gQEAgLTg4MywxMSArODcxLDggQEAgc3RhdGlj IHZvaWQgZHB1X2NydGNfZGlzYWJsZShzdHJ1Y3QgZHJtX2NydGMKPiAqY3J0YykKPj4gPgo+PiA+ ICAJZHB1X2NvcmVfcGVyZl9jcnRjX3VwZGF0ZShjcnRjLCAwLCB0cnVlKTsKPj4gPgo+PiA+IC0J ZHJtX2Zvcl9lYWNoX2VuY29kZXIoZW5jb2RlciwgY3J0Yy0+ZGV2KSB7Cj4+ID4gLQkJaWYgKGVu Y29kZXItPmNydGMgIT0gY3J0YykKPj4gPiAtCQkJY29udGludWU7Cj4+ID4gKwlkcm1fZm9yX2Vh Y2hfZW5jb2Rlcl9tYXNrKGVuY29kZXIsIGNydGMtPmRldiwKPj4gPiBjcnRjLT5zdGF0ZS0+ZW5j b2Rlcl9tYXNrKQo+PiA+ICAJCWRwdV9lbmNvZGVyX3JlZ2lzdGVyX2ZyYW1lX2V2ZW50X2NhbGxi YWNrKGVuY29kZXIsIE5VTEwsCj4+ID4gTlVMTCk7Cj4+ID4gLQl9Cj4+ID4KPj4gPiAgCW1lbXNl dChjc3RhdGUtPm1peGVycywgMCwgc2l6ZW9mKGNzdGF0ZS0+bWl4ZXJzKSk7Cj4+ID4gIAljc3Rh dGUtPm51bV9taXhlcnMgPSAwOwo+PiA+IEBAIC05MjIsMTIgKzkwNyw5IEBAIHN0YXRpYyB2b2lk IGRwdV9jcnRjX2VuYWJsZShzdHJ1Y3QgZHJtX2NydGMKPiAqY3J0YywKPj4gPiAgCURSTV9ERUJV R19LTVMoImNydGMlZFxuIiwgY3J0Yy0+YmFzZS5pZCk7Cj4+ID4gIAlkcHVfY3J0YyA9IHRvX2Rw dV9jcnRjKGNydGMpOwo+PiA+Cj4+ID4gLQlkcm1fZm9yX2VhY2hfZW5jb2RlcihlbmNvZGVyLCBj cnRjLT5kZXYpIHsKPj4gPiAtCQlpZiAoZW5jb2Rlci0+Y3J0YyAhPSBjcnRjKQo+PiA+IC0JCQlj b250aW51ZTsKPj4gPiArCWRybV9mb3JfZWFjaF9lbmNvZGVyX21hc2soZW5jb2RlciwgY3J0Yy0+ ZGV2LAo+PiA+IGNydGMtPnN0YXRlLT5lbmNvZGVyX21hc2spCj4+ID4gIAkJZHB1X2VuY29kZXJf cmVnaXN0ZXJfZnJhbWVfZXZlbnRfY2FsbGJhY2soZW5jb2RlciwKPj4gPiAgCQkJCWRwdV9jcnRj X2ZyYW1lX2V2ZW50X2NiLCAodm9pZCAqKWNydGMpOwo+PiA+IC0JfQo+PiA+Cj4+ID4gIAltdXRl eF9sb2NrKCZkcHVfY3J0Yy0+Y3J0Y19sb2NrKTsKPj4gPiAgCXRyYWNlX2RwdV9jcnRjX2VuYWJs ZShEUk1JRChjcnRjKSwgdHJ1ZSwgZHB1X2NydGMpOwo+PiA+IGRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfa21zLmMKPj4gPiBiL2RyaXZlcnMvZ3B1L2RybS9t c20vZGlzcC9kcHUxL2RwdV9rbXMuYwo+PiA+IGluZGV4IDFiZWM0NTQwZjNlMS4uNjQxMzRkNjE5 NzQ4IDEwMDY0NAo+PiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9r bXMuYwo+PiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9rbXMuYwo+ PiA+IEBAIC0zMjAsNyArMzIwLDEwIEBAIHN0YXRpYyB2b2lkIGRwdV9rbXNfcHJlcGFyZV9jb21t aXQoc3RydWN0IG1zbV9rbXMKPj4gPiAqa21zLAo+PiA+ICAJc3RydWN0IGRwdV9rbXMgKmRwdV9r bXM7Cj4+ID4gIAlzdHJ1Y3QgbXNtX2RybV9wcml2YXRlICpwcml2Owo+PiA+ICAJc3RydWN0IGRy bV9kZXZpY2UgKmRldjsKPj4gPiArCXN0cnVjdCBkcm1fY3J0YyAqY3J0YzsKPj4gPiArCXN0cnVj dCBkcm1fY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZTsKPj4gPiAgCXN0cnVjdCBkcm1fZW5jb2RlciAq ZW5jb2RlcjsKPj4gPiArCWludCBpOwo+PiA+Cj4+ID4gIAlpZiAoIWttcykKPj4gPiAgCQlyZXR1 cm47Cj4+ID4gQEAgLTMzMiw5ICszMzUsMTMgQEAgc3RhdGljIHZvaWQgZHB1X2ttc19wcmVwYXJl X2NvbW1pdChzdHJ1Y3QgbXNtX2ttcwo+PiA+ICprbXMsCj4+ID4gIAlwcml2ID0gZGV2LT5kZXZf cHJpdmF0ZTsKPj4gPiAgCXBtX3J1bnRpbWVfZ2V0X3N5bmMoJmRwdV9rbXMtPnBkZXYtPmRldik7 Cj4+ID4KPj4gPiAtCWxpc3RfZm9yX2VhY2hfZW50cnkoZW5jb2RlciwgJmRldi0+bW9kZV9jb25m aWcuZW5jb2Rlcl9saXN0LCBoZWFkKQo+PiA+IC0JCWlmIChlbmNvZGVyLT5jcnRjICE9IE5VTEwp Cj4+ID4gKwkvKiBDYWxsIHByZXBhcmVfY29tbWl0IGZvciBhbGwgYWZmZWN0ZWQgZW5jb2RlcnMg Ki8KPj4gPiArCWZvcl9lYWNoX25ld19jcnRjX2luX3N0YXRlKHN0YXRlLCBjcnRjLCBjcnRjX3N0 YXRlLCBpKSB7Cj4+ID4gKwkJZHJtX2Zvcl9lYWNoX2VuY29kZXJfbWFzayhlbmNvZGVyLCBjcnRj LT5kZXYsCj4+ID4gKwkJCQkJICBjcnRjX3N0YXRlLT5lbmNvZGVyX21hc2spIHsKPj4gPiAgCQkJ ZHB1X2VuY29kZXJfcHJlcGFyZV9jb21taXQoZW5jb2Rlcik7Cj4+ID4gKwkJfQo+PiA+ICsJfQo+ PiA+ICB9Cj4+ID4KPj4gPiAgLyoKPj4gPiBAQCAtMzQ0LDEzICszNTEsMTcgQEAgc3RhdGljIHZv aWQgZHB1X2ttc19wcmVwYXJlX2NvbW1pdChzdHJ1Y3QKPiBtc21fa21zCj4+ID4gKmttcywKPj4g PiAgdm9pZCBkcHVfa21zX2VuY29kZXJfZW5hYmxlKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2Rl cikKPj4gPiAgewo+PiA+ICAJY29uc3Qgc3RydWN0IGRybV9lbmNvZGVyX2hlbHBlcl9mdW5jcyAq ZnVuY3MgPQo+PiA+IGVuY29kZXItPmhlbHBlcl9wcml2YXRlOwo+PiA+IC0Jc3RydWN0IGRybV9j cnRjICpjcnRjID0gZW5jb2Rlci0+Y3J0YzsKPj4gPiArCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYg PSBlbmNvZGVyLT5kZXY7Cj4+ID4gKwlzdHJ1Y3QgZHJtX2NydGMgKmNydGM7Cj4+ID4KPj4gPiAg CS8qIEZvcndhcmQgdGhpcyBlbmFibGUgY2FsbCB0byB0aGUgY29tbWl0IGhvb2sgKi8KPj4gPiAg CWlmIChmdW5jcyAmJiBmdW5jcy0+Y29tbWl0KQo+PiA+ICAJCWZ1bmNzLT5jb21taXQoZW5jb2Rl cik7Cj4+ID4KPj4gPiAtCWlmIChjcnRjICYmIGNydGMtPnN0YXRlLT5hY3RpdmUpIHsKPj4gPiAr CWRybV9mb3JfZWFjaF9jcnRjKGNydGMsIGRldikgewo+PiA+ICsJCWlmICghKGNydGMtPnN0YXRl LT5lbmNvZGVyX21hc2sgJgo+PiA+IGRybV9lbmNvZGVyX21hc2soZW5jb2RlcikpKQo+PiA+ICsJ CQljb250aW51ZTsKPj4gPiArCj4+ID4gIAkJdHJhY2VfZHB1X2ttc19lbmNfZW5hYmxlKERSTUlE KGNydGMpKTsKPj4gPiAgCQlkcHVfY3J0Y19jb21taXRfa2lja29mZihjcnRjKTsKPj4gPiAgCX0K Pj4gCj4+IC0tCj4+IEpleWt1bWFyIFMKCi0tIApKZXlrdW1hciBTCl9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkZyZWVkcmVubyBtYWlsaW5nIGxpc3QKRnJl ZWRyZW5vQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9y Zy9tYWlsbWFuL2xpc3RpbmZvL2ZyZWVkcmVubwo=