From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ander Conselvan De Oliveira Subject: Re: [PATCH 1/6] drm/i915: Splitting intel_dp_detect Date: Fri, 15 Jan 2016 12:07:48 +0200 Message-ID: <1452852468.3964.4.camel@gmail.com> References: <1451998226-21433-1-git-send-email-shubhangi.shrivastava@intel.com> <1451998226-21433-2-git-send-email-shubhangi.shrivastava@intel.com> <1452684041.2628.15.camel@gmail.com> <1452692030.2628.21.camel@gmail.com> <5697A799.9000800@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-pa0-f67.google.com (mail-pa0-f67.google.com [209.85.220.67]) by gabe.freedesktop.org (Postfix) with ESMTPS id D52986EB3A for ; Fri, 15 Jan 2016 02:07:55 -0800 (PST) Received: by mail-pa0-f67.google.com with SMTP id gi1so36650583pac.2 for ; Fri, 15 Jan 2016 02:07:55 -0800 (PST) In-Reply-To: <5697A799.9000800@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Shubhangi Shrivastava , intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gVGh1LCAyMDE2LTAxLTE0IGF0IDE5OjIwICswNTMwLCBTaHViaGFuZ2kgU2hyaXZhc3RhdmEg d3JvdGU6Cj4gCj4gT24gV2VkbmVzZGF5IDEzIEphbnVhcnkgMjAxNiAwNzowMyBQTSwgQW5kZXIg Q29uc2VsdmFuIERlIE9saXZlaXJhIHdyb3RlOgo+ID4gT24gV2VkLCAyMDE2LTAxLTEzIGF0IDEz OjIwICswMjAwLCBBbmRlciBDb25zZWx2YW4gRGUgT2xpdmVpcmEgd3JvdGU6Cj4gPiA+IE9uIFR1 ZSwgMjAxNi0wMS0wNSBhdCAxODoyMCArMDUzMCwgU2h1YmhhbmdpIFNocml2YXN0YXZhIHdyb3Rl Ogo+ID4gPiA+IGludGVsX2RwX2RldGVjdCgpIGlzIGNhbGxlZCBmb3Igbm90IGp1c3QgZGV0ZWN0 aW9uIGJ1dAo+ID4gPiA+IGR1cmluZyBtb2RlcyBlbnVtZXJhdGlvbiBhcyB3ZWxsLiBSZXBlYXRp bmcgdGhlIHdob2xlCj4gPiA+ID4gc2VxdWVuY2UgZHVyaW5nIGVhY2ggb2YgdGhlc2UgY2FsbHMg aXMgd2FzdGVmdWwgYW5kCj4gPiA+ID4gdGltZSBjb25zdW1pbmcuCj4gPiA+ID4gVGhpcyBwYXRj aCBtb3ZlcyBwcm9iaW5nIGZvciBwYW5lbCwgRFBDRCByZWFkIGV0YyBkb25lIGluCj4gPiA+ID4g aW50ZWxfZHBfZGV0ZWN0KCkgdG8gYSBuZXcgZnVuY3Rpb24gaW50ZWxfZHBfbG9uZ19wdWxzZSgp Lgo+ID4gPiA+IE5vdGUgdGhhdCB0aGUgYmVoYXZpb3Igb2YgaW50ZWxfZHBfZGV0ZWN0KCkgaXMg Y2hhbmdlZCB0bwo+ID4gPiA+IHJlcG9ydCBjb25uZWN0ZWQgb3IgZGlzY29ubmVjdGVkIGRlcGVu ZGluZyBvbiB3aGV0aGVyIHRoZQo+ID4gPiA+IEVESUQgaXMgYXZhaWxhYmxlIG9yIG5vdC4KPiA+ ID4gPiBUaGlzIGNoYW5nZSB3aWxsIGJlIHJlcXVpcmVkIGJ5IGZ1cnRoZXIgcGF0Y2hlcyBpbiB0 aGUgc2VyaWVzCj4gPiA+ID4gdG8gYXZvaWQgcGVyZm9ybWluZyBkdXBsaWNhdGVkIERQQ0Qgb3Bl cmF0aW9ucyBvbiBob3RwbHVnLgo+ID4gPiA+IAo+ID4gPiA+IHYyOiBNb3ZlZCBhIGh1bmsgdG8g bmV4dCBwYXRjaCBvZiB0aGUgc2VyaWVzLgo+ID4gPiA+ICAgICAgTW92ZWQgaW50ZWxfZHBfdW5z ZXRfZWRpZCB0byBvdXQuIChBbmRlcikKPiA+ID4gPiB2MzogUmVwaHJhc2VkIGNvbW1pdCBtZXNz YWdlIGFuZCBpbnRlbF9kcF91bnNldF9kcCgpIGlzIGNhbGxlZAo+ID4gPiA+ICAgICAgd2l0aGlu IGludGVsX2RwX3NldF9kcCgpIHRvIGZyZWUgdGhlIHByZXZpb3VzIEVESUQuIChBbmRlcikKPiA+ ID4gPiAKPiA+ID4gPiBUZXN0ZWQtYnk6IE5hdGhhbiBEIENpb2JhbnUgPG5hdGhhbi5kLmNpb2Jh bnVAaW50ZWwuY29tPgo+ID4gPiA+IFNpZ25lZC1vZmYtYnk6IFNpdmFrdW1hciBUaHVsYXNpbWFu aSA8c2l2YWt1bWFyLnRodWxhc2ltYW5pQGludGVsLmNvbT4KPiA+ID4gPiBTaWduZWQtb2ZmLWJ5 OiBTaHViaGFuZ2kgU2hyaXZhc3RhdmEgPHNodWJoYW5naS5zaHJpdmFzdGF2YUBpbnRlbC5jb20+ Cj4gPiA+ID4gLS0tCj4gPiA+ID4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jIHwg NTYgKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tCj4gPiA+ID4gLS0tLS0KPiA+ID4g PiAtLQo+ID4gPiA+IC0KPiA+ID4gPiAgIDEgZmlsZSBjaGFuZ2VkLCAzNSBpbnNlcnRpb25zKCsp LCAyMSBkZWxldGlvbnMoLSkKPiA+ID4gPiAKPiA+ID4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZHAuYwo+ID4gPiA+IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZHAuYwo+ID4gPiA+IGluZGV4IDc5NmUzZDMuLmUzYjQyMDggMTAwNjQ0Cj4gPiA+ID4gLS0t IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYwo+ID4gPiA+ICsrKyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2RwLmMKPiA+ID4gPiBAQCAtMTI5LDYgKzEyOSw3IEBAIHN0YXRp YyB2b2lkIGVkcF9wYW5lbF92ZGRfb2ZmKHN0cnVjdCBpbnRlbF9kcAo+ID4gPiA+ICppbnRlbF9k cCwKPiA+ID4gPiBib29sIHN5bmMpOwo+ID4gPiA+ICAgc3RhdGljIHZvaWQgdmx2X2luaXRfcGFu ZWxfcG93ZXJfc2VxdWVuY2VyKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApOwo+ID4gPiA+ICAg c3RhdGljIHZvaWQgdmx2X3N0ZWFsX3Bvd2VyX3NlcXVlbmNlcihzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2LAo+ID4gPiA+ICAgCQkJCSAgICAgIGVudW0gcGlwZSBwaXBlKTsKPiA+ID4gPiArc3RhdGlj IHZvaWQgaW50ZWxfZHBfdW5zZXRfZWRpZChzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKTsKPiA+ ID4gPiAgIAo+ID4gPiA+ICAgc3RhdGljIHVuc2lnbmVkIGludCBpbnRlbF9kcF91bnVzZWRfbGFu ZV9tYXNrKGludCBsYW5lX2NvdW50KQo+ID4gPiA+ICAgewo+ID4gPiA+IEBAIC00NTg3LDYgKzQ1 ODgsNyBAQCBpbnRlbF9kcF9zZXRfZWRpZChzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQo+ID4g PiA+ICAgCXN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmludGVsX2Nvbm5lY3RvciA9IGludGVsX2Rw Cj4gPiA+ID4gLT5hdHRhY2hlZF9jb25uZWN0b3I7Cj4gPiA+ID4gICAJc3RydWN0IGVkaWQgKmVk aWQ7Cj4gPiA+ID4gICAKPiA+ID4gPiArCWludGVsX2RwX3Vuc2V0X2VkaWQoaW50ZWxfZHApOwo+ ID4gPiA+ICAgCWVkaWQgPSBpbnRlbF9kcF9nZXRfZWRpZChpbnRlbF9kcCk7Cj4gPiA+ID4gICAJ aW50ZWxfY29ubmVjdG9yLT5kZXRlY3RfZWRpZCA9IGVkaWQ7Cj4gPiA+ID4gICAKPiA+ID4gPiBA QCAtNDYwNyw5ICs0NjA5LDEwIEBAIGludGVsX2RwX3Vuc2V0X2VkaWQoc3RydWN0IGludGVsX2Rw ICppbnRlbF9kcCkKPiA+ID4gPiAgIAlpbnRlbF9kcC0+aGFzX2F1ZGlvID0gZmFsc2U7Cj4gPiA+ ID4gICB9Cj4gPiA+ID4gICAKPiA+ID4gPiAtc3RhdGljIGVudW0gZHJtX2Nvbm5lY3Rvcl9zdGF0 dXMKPiA+ID4gPiAtaW50ZWxfZHBfZGV0ZWN0KHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0 b3IsIGJvb2wgZm9yY2UpCj4gPiA+ID4gK3N0YXRpYyB2b2lkCj4gPiA+ID4gK2ludGVsX2RwX2xv bmdfcHVsc2Uoc3RydWN0IGludGVsX2Nvbm5lY3RvciAqaW50ZWxfY29ubmVjdG9yKQo+ID4gPiA+ ICAgewo+ID4gPiA+ICsJc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciA9ICZpbnRlbF9j b25uZWN0b3ItPmJhc2U7Cj4gPiA+ID4gICAJc3RydWN0IGludGVsX2RwICppbnRlbF9kcCA9IGlu dGVsX2F0dGFjaGVkX2RwKGNvbm5lY3Rvcik7Cj4gPiA+ID4gICAJc3RydWN0IGludGVsX2RpZ2l0 YWxfcG9ydCAqaW50ZWxfZGlnX3BvcnQgPQo+ID4gPiA+IGRwX3RvX2RpZ19wb3J0KGludGVsX2Rw KTsKPiA+ID4gPiAgIAlzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqaW50ZWxfZW5jb2RlciA9ICZpbnRl bF9kaWdfcG9ydC0+YmFzZTsKPiA+ID4gPiBAQCAtNDYxOSwxNyArNDYyMiw2IEBAIGludGVsX2Rw X2RldGVjdChzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLAo+ID4gPiA+IGJvb2wKPiA+ ID4gPiBmb3JjZSkKPiA+ID4gPiAgIAlib29sIHJldDsKPiA+ID4gPiAgIAl1OCBzaW5rX2lycV92 ZWN0b3I7Cj4gPiA+ID4gICAKPiA+ID4gPiAtCURSTV9ERUJVR19LTVMoIltDT05ORUNUT1I6JWQ6 JXNdXG4iLAo+ID4gPiA+IC0JCSAgICAgIGNvbm5lY3Rvci0+YmFzZS5pZCwgY29ubmVjdG9yLT5u YW1lKTsKPiA+ID4gPiAtCWludGVsX2RwX3Vuc2V0X2VkaWQoaW50ZWxfZHApOwo+ID4gPiA+IC0K PiA+ID4gPiAtCWlmIChpbnRlbF9kcC0+aXNfbXN0KSB7Cj4gPiA+ID4gLQkJLyogTVNUIGRldmlj ZXMgYXJlIGRpc2Nvbm5lY3RlZCBmcm9tIGEgbW9uaXRvciBQT1YgKi8KPiA+ID4gPiAtCQlpZiAo aW50ZWxfZW5jb2Rlci0+dHlwZSAhPSBJTlRFTF9PVVRQVVRfRURQKQo+ID4gPiA+IC0JCQlpbnRl bF9lbmNvZGVyLT50eXBlID0gSU5URUxfT1VUUFVUX0RJU1BMQVlQT1JUOwo+ID4gPiA+IC0JCXJl dHVybiBjb25uZWN0b3Jfc3RhdHVzX2Rpc2Nvbm5lY3RlZDsKPiA+ID4gPiAtCX0KPiA+ID4gPiAt Cj4gPiA+ID4gICAJcG93ZXJfZG9tYWluID0KPiA+ID4gPiBpbnRlbF9kaXNwbGF5X3BvcnRfYXV4 X3Bvd2VyX2RvbWFpbihpbnRlbF9lbmNvZGVyKTsKPiA+ID4gPiAgIAlpbnRlbF9kaXNwbGF5X3Bv d2VyX2dldCh0b19pOTE1KGRldiksIHBvd2VyX2RvbWFpbik7Cj4gPiA+ID4gICAKPiA+ID4gPiBA QCAtNDY1MywxNCArNDY0NSw4IEBAIGludGVsX2RwX2RldGVjdChzdHJ1Y3QgZHJtX2Nvbm5lY3Rv ciAqY29ubmVjdG9yLAo+ID4gPiA+IGJvb2wKPiA+ID4gPiBmb3JjZSkKPiA+ID4gPiAgIAlpbnRl bF9kcF9wcm9iZV9vdWkoaW50ZWxfZHApOwo+ID4gPiA+ICAgCj4gPiA+ID4gICAJcmV0ID0gaW50 ZWxfZHBfcHJvYmVfbXN0KGludGVsX2RwKTsKPiA+ID4gPiAtCWlmIChyZXQpIHsKPiA+ID4gPiAt CQkvKiBpZiB3ZSBhcmUgaW4gTVNUIG1vZGUgdGhlbiB0aGlzIGNvbm5lY3Rvcgo+ID4gPiA+IC0J CSAgIHdvbid0IGFwcGVhciBjb25uZWN0ZWQgb3IgaGF2ZSBhbnl0aGluZyB3aXRoIEVESUQgb24K PiA+ID4gPiBpdAo+ID4gPiA+ICovCj4gPiA+ID4gLQkJaWYgKGludGVsX2VuY29kZXItPnR5cGUg IT0gSU5URUxfT1VUUFVUX0VEUCkKPiA+ID4gPiAtCQkJaW50ZWxfZW5jb2Rlci0+dHlwZSA9IElO VEVMX09VVFBVVF9ESVNQTEFZUE9SVDsKPiA+ID4gVGhpcyBkZWxldGlvbiBpcyBuZXcgaW4gdGhp cyB2ZXJzaW9uIG9mIHRoZSBwYXRjaC4gSSB0aGluayB3ZSBzdGlsbCBuZWVkCj4gPiA+IHRoZQo+ ID4gPiBodW5rIGFib3ZlLCBvdGhlcndpc2Ugd2UgbWlnaHQgbm90IHByb3Blcmx5IHVwZGF0ZSB0 aGUgZW5jb2RlciB0eXBlIHdoZW4KPiA+ID4gd2UKPiA+ID4gc3dpdGNoIGZyb20gYW4gSERNSSBz aW5rIGNvbm5lY3RlZCB0aHJvdWdoIGEgbGV2ZWwgc2hpZnRlciB0byBhbiBNU1Qgc2luay4KPiA+ ID4gCj4gPiA+IEFuZGVyCj4gPiA+IAo+IEVuY29kZXIgdHlwZSBzZXR0aW5nIGZvciBNU1QgaXMg YmVpbmcgZG9uZSBpbiBpbnRlbF9kcF9kZXRlY3QoKS4gU28sIAo+IGRvbid0IGZpbmQgYSBuZWVk IHRvIGFkZCBpdCBoZXJlLgoKWWVzLCBidXQgdGhhdCBvbmUgb25seSBjb3ZlcnMgdGhlIGNhc2Ug d2hlcmUgdGhlIGRldmljZSB3YXMgYWxyZWFkeSBwcmV2aW91c2x5CmlkZW50aWZpZWQgYXMgTVNU LiBGb3IgYSBkZXZpY2UgaWRlbnRpZmllZCBhcyBNU1QgYnkgdGhlIGNhbGwgdG8KaW50ZWxfZHBf cHJvYmVfbXN0KCkgaW4gaW50ZWxfZHBfbG9uZ19wdWxzZSgpLCB0aGUgZW5jb2RlciB0eXBlIG92 ZXJyaWRlIHdpbGwKbm90IGJlIGRvbmUuIEhvcGVmdWxseSwgVmlsbGUncyBwYXRjaCB0aGF0IHNw bGl0cyB0aGUgZW5jb2RlciB0eXBlcyBhbmQgbWFrZXMKdGhpcyB1bm5lY2Vzc2FyeSB3aWxsIGxh bmQgc29vbiwgYnV0IGZvciBub3cganVzdCBsZWF2ZSB0aGUgb3ZlcnJpZGUgdGhlcmUuCgpBbmRl cgoKPiA+ID4gPiAtCQlzdGF0dXMgPSBjb25uZWN0b3Jfc3RhdHVzX2Rpc2Nvbm5lY3RlZDsKPiA+ ID4gPiArCWlmIChyZXQpCj4gPiA+ID4gICAJCWdvdG8gb3V0Owo+ID4gQWxzbywgdGhlcmUgaXMg bm8gY2FsbCB0byBpbnRlbF9kcF91bnNldF9lZGlkKCkgZm9yIHRoaXMgY2FzZSwgc2luY2UgdGhl Cj4gPiBjb2RlCj4gPiB3aWxsIHJlYWNoIHRoZSBsYWJlbCAnb3V0JyB3aXRoIHN0YXR1cyBiZWlu ZyBjb25uZWN0ZWQuIFNvIGluIHRoaXMgY2FzZSB0aGUKPiA+IHJldHVybiB2YWx1ZSBvZiBpbnRl bF9kcF9kZXRlY3QoKSB3aWxsIGRlcGVuZCBvbiB0aGUgc3RhbGUgdmFsdWUgb2YKPiA+IGludGVs X2RwLT5kZXRlY3RfZWRpZC4KPiA+IAo+ID4gQW5kZXIKPiBZZXMuLiBUaGF0cyByaWdodC4uIFdp bGwgYWRkIGEgY2FsbCB0byBpbnRlbF9kcF91bnNldF9lZGlkKCkgaW4gaXNfbXN0KCkgCj4gY2hl Y2sgb2YgaW50ZWxfZHBfZGV0ZWN0KCkuCj4gPiAKPiA+ID4gPiAtCX0KPiA+ID4gPiAgIAo+ID4g PiA+ICAgCS8qCj4gPiA+ID4gICAJICogQ2xlYXJpbmcgTkFDSyBhbmQgZGVmZXIgY291bnRzIHRv IGdldCB0aGVpciBleGFjdCB2YWx1ZXMKPiA+ID4gPiBAQCAtNDY5MSw4ICs0Njc3LDM2IEBAIGlu dGVsX2RwX2RldGVjdChzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLAo+ID4gPiA+IGJv b2wKPiA+ID4gPiBmb3JjZSkKPiA+ID4gPiAgIAl9Cj4gPiA+ID4gICAKPiA+ID4gPiAgIG91dDoK PiA+ID4gPiArCWlmIChzdGF0dXMgIT0gY29ubmVjdG9yX3N0YXR1c19jb25uZWN0ZWQpCj4gPiA+ ID4gKwkJaW50ZWxfZHBfdW5zZXRfZWRpZChpbnRlbF9kcCk7Cj4gPiA+ID4gICAJaW50ZWxfZGlz cGxheV9wb3dlcl9wdXQodG9faTkxNShkZXYpLCBwb3dlcl9kb21haW4pOwo+ID4gPiA+IC0JcmV0 dXJuIHN0YXR1czsKPiA+ID4gPiArCXJldHVybjsKPiA+ID4gPiArfQo+ID4gPiA+ICsKPiA+ID4g PiArc3RhdGljIGVudW0gZHJtX2Nvbm5lY3Rvcl9zdGF0dXMKPiA+ID4gPiAraW50ZWxfZHBfZGV0 ZWN0KHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsIGJvb2wgZm9yY2UpCj4gPiA+ID4g K3sKPiA+ID4gPiArCXN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAgPSBpbnRlbF9hdHRhY2hlZF9k cChjb25uZWN0b3IpOwo+ID4gPiA+ICsJc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqaW50ZWxf ZGlnX3BvcnQgPQo+ID4gPiA+IGRwX3RvX2RpZ19wb3J0KGludGVsX2RwKTsKPiA+ID4gPiArCXN0 cnVjdCBpbnRlbF9lbmNvZGVyICppbnRlbF9lbmNvZGVyID0gJmludGVsX2RpZ19wb3J0LT5iYXNl Owo+ID4gPiA+ICsJc3RydWN0IGludGVsX2Nvbm5lY3RvciAqaW50ZWxfY29ubmVjdG9yID0KPiA+ ID4gPiB0b19pbnRlbF9jb25uZWN0b3IoY29ubmVjdG9yKTsKPiA+ID4gPiArCj4gPiA+ID4gKwlE Uk1fREVCVUdfS01TKCJbQ09OTkVDVE9SOiVkOiVzXVxuIiwKPiA+ID4gPiArCQkgICAgIGNvbm5l Y3Rvci0+YmFzZS5pZCwgY29ubmVjdG9yLT5uYW1lKTsKPiA+ID4gPiArCj4gPiA+ID4gKwlpZiAo aW50ZWxfZHAtPmlzX21zdCkgewo+ID4gPiA+ICsJCS8qIE1TVCBkZXZpY2VzIGFyZSBkaXNjb25u ZWN0ZWQgZnJvbSBhIG1vbml0b3IgUE9WICovCj4gPiA+ID4gKwkJaWYgKGludGVsX2VuY29kZXIt PnR5cGUgIT0gSU5URUxfT1VUUFVUX0VEUCkKPiA+ID4gPiArCQkJaW50ZWxfZW5jb2Rlci0+dHlw ZSA9IElOVEVMX09VVFBVVF9ESVNQTEFZUE9SVDsKPiA+ID4gPiArCQlyZXR1cm4gY29ubmVjdG9y X3N0YXR1c19kaXNjb25uZWN0ZWQ7Cj4gPiA+ID4gKwl9Cj4gPiA+ID4gKwo+ID4gPiA+ICsJaW50 ZWxfZHBfbG9uZ19wdWxzZShpbnRlbF9kcC0+YXR0YWNoZWRfY29ubmVjdG9yKTsKPiA+ID4gPiAr Cj4gPiA+ID4gKwlpZiAoaW50ZWxfY29ubmVjdG9yLT5kZXRlY3RfZWRpZCkKPiA+ID4gPiArCQly ZXR1cm4gY29ubmVjdG9yX3N0YXR1c19jb25uZWN0ZWQ7Cj4gPiA+ID4gKwllbHNlCj4gPiA+ID4g KwkJcmV0dXJuIGNvbm5lY3Rvcl9zdGF0dXNfZGlzY29ubmVjdGVkOwo+ID4gPiA+ICAgfQo+ID4g PiA+ICAgCj4gPiA+ID4gICBzdGF0aWMgdm9pZAo+IApfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBs aXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFu L2xpc3RpbmZvL2ludGVsLWdmeAo=