From mboxrd@z Thu Jan 1 00:00:00 1970 From: Carlos Palminha Subject: Whats missing in my new FB DRM driver in ARC... waiting for console_lock to return Date: Thu, 21 Jan 2016 18:30:37 +0000 Message-ID: <56A123CD.1060706@synopsys.com> References: <5684268E.2000607@synopsys.com> <569CF78F.7050303@synopsys.com> <569CFA9B.4060108@synopsys.com> <569E5E51.8000303@synopsys.com> <569E69EB.3010003@synopsys.com> <56A11EF1.3070004@synopsys.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from smtprelay.synopsys.com (smtprelay2.synopsys.com [198.182.60.111]) by gabe.freedesktop.org (Postfix) with ESMTPS id 6BECF7A00C for ; Thu, 21 Jan 2016 10:30:45 -0800 (PST) In-Reply-To: <56A11EF1.3070004@synopsys.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Xinliang Liu , Carlos Palminha , Alexey Brodkin , Vineet Gupta Cc: "linux-snps-arc@lists.infradead.org" , linux-fbdev@vger.kernel.org, tomi.valkeinen@ti.com, laurent.pinchart@ideasonboard.com, dri-devel List-Id: dri-devel@lists.freedesktop.org aGkuLi4KCmkganVzdCBmb3VuZCB0aGF0IGl0cyBibG9ja2luZyB3YWl0aW5nIGZvciBjb25zb2xl X2xvY2suLi4KQHZpbmVldCwgYWxleGV5OiBpIHRoaW5rIHRoYXQgY29uc29sZV9sb2NrIGlzIGFy Y2hpdGVjdHVyZSBkZXBlbmRlbnQgcmlnaHQ/IERvIHlvdSBrbm93IGFueSBpc3N1ZSB3aXRoIGNv bnNvbGVfbG9jayBmb3IgQVJDPwoKT24gMjEtMDEtMjAxNiAxODowOSwgQ2FybG9zIFBhbG1pbmhh IHdyb3RlOgo+IGkgbWFkZSBzb21lIHByb2dyZXNzIGluIGlkZW50aWZ5aW5nIHRoZSBpc3N1ZS4u Lgo+IFdoZW4gbXkgZHJpdmVyIGNhbGxzIGRybV9mYl9oZWxwZXJfaW5pdGlhbF9jb25maWcgaXQg c2VlbXMgRFJNIGJsb2NrcyB3YWl0aW5nIGZvciByZWdpc3Rlcl9mcmFtZWJ1ZmZlciB0byByZXR1 cm4uCj4gVGhlIHNlcXVlbmNlIGlzIGRybV9mYl9oZWxwZXJfaW5pdGlhbF9jb25maWctPmRybV9m Yl9oZWxwZXJfc2luZ2xlX2ZiX3Byb2JlLT5yZWdpc3Rlcl9mcmFtZWJ1ZmZlci4KPiAKPiBJdHMg c3RyYW5nZSBiZWNhdXNlIHJlZ2lzdGVyX2ZyYW1lYnVmZmVyIGZ1bmN0aW9uIGlzIGp1c3QgYSBt dXRleCBhcm91bmQgZG9fcmVnaXN0ZXJfZnJhbWVidWZmZXIuCj4gCj4gQW55IGNsdWU/IQo+IAo+ IE9uIDIwLTAxLTIwMTYgMDE6MjQsIFhpbmxpYW5nIExpdSB3cm90ZToKPj4gT24gMjAgSmFudWFy eSAyMDE2IGF0IDAwOjUyLCBDYXJsb3MgUGFsbWluaGEKPj4gPENBUkxPUy5QQUxNSU5IQUBzeW5v cHN5cy5jb20+IHdyb3RlOgo+Pj4gd2hlbiBpIGJvb3QgdGhlIGtlcm5lbCBhbmQgY29ubmVjdCB0 aGUgSERNSSBjYWJsZSBhZnRlciBib290aW5nIGkgY2FuIHJldHJpZXZlIDQgbW9kZXMuLi4gOikK Pj4+Cj4+PiBpZiBpIGJvb3QgbGludXggd2l0aCB0aGUgSERNSSBjYWJsZSBpbnNlcnRlZCB0aGUg a2VybmVsIGhhbmdzLgo+Pgo+PiBXaGF0J3MgdGhlIGhhbmcga2VybmVsIGxvZy4gSXMgaXQgYSBv b3BzPwo+Pgo+Pj4gUG9zc2libGUgcmVsYXRpb24gd2l0aCBIUEQ/Cj4+Cj4+IFllcywgIEkgdGhp bmsgdGhlcmUgbWlnaHQgYmUgc29tZXRoaW5nIHdyb25nIHdpdGggdGhlIEhQRCBpbnRlcnJ1cHQg b3IKPj4gdGhlIEVESUQgcmVhZHkgaW50ZXJydXB0Lgo+PiBJIGRvIG1lZXQgdGhlIHNpbWlsYXIg aXNzdWUgYmVmb3JlIHdoZW4gSSB1c2luZyB0aGUgdXBzdHJlYW0gYWR2NzUxMQo+PiBkcml2ZXIg dG8gZW5hYmxlIGFkdjc1MzMuCj4+IEkgZm91bmQgdGhhdCB0aGUgSFBEIGFuZCBFRElEIGludGVy cnVwdCBpcyBub3QgcmVsaWFibGUuCj4+IEluIG9yZGVyIHRvIGdldCBtb2RlcyBzdGFibHksIEkg aGF2ZSB0byBhZGQgc29tZSBkZWxheSBsaWtlIGJlbGxvdzoKPj4gLS0KPj4gLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2kyYy9hZHY3NTExLmMKPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2kyYy9hZHY3 NTExLmMKPj4gQEAgLTY1Nyw2ICs2NTcsOCBAQCBzdGF0aWMgaW50IGFkdjc1MTFfZ2V0X21vZGVz KHN0cnVjdCBhZHY3NTExICphZHY3NTExLAo+PiAgICAgICAgICAgICAgICAgcmVnbWFwX3VwZGF0 ZV9iaXRzKGFkdjc1MTEtPnJlZ21hcCwgQURWNzUxMV9SRUdfUE9XRVIsCj4+ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgQURWNzUxMV9QT1dFUl9QT1dFUl9ET1dOLCAwKTsKPj4g ICAgICAgICAgICAgICAgIGFkdjc1MTEtPmN1cnJlbnRfZWRpZF9zZWdtZW50ID0gLTE7Cj4+ICsg ICAgICAgICAgICAgICAvKiB3YWl0IHNvbWUgdGltZSBmb3IgZWRpZCBpcyByZWFkeSAqLwo+PiAr ICAgICAgICAgICAgICAgbXNsZWVwKDIwMCk7Cj4+ICAgICAgICAgfQo+Pgo+PiAgICAgICAgIGVk aWQgPSBkcm1fZG9fZ2V0X2VkaWQoY29ubmVjdG9yLCBhZHY3NTExX2dldF9lZGlkX2Jsb2NrLCBh ZHY3NTExKTsKPj4gLS0KPj4KPj4gQmVzdCwKPj4gLXhpbmxpYW5nCj4+Cj4+Pgo+Pj4gUmVnYXJk cywKPj4+IEMuUGFsbWluaGEKPj4+Cj4+PiAjIG1vZGV0ZXN0IC1NIGRybS1hcmNwZ3UgLWMKPj4+ IENvbm5lY3RvcnM6Cj4+PiBpZCAgICAgIGVuY29kZXIgc3RhdHVzICAgICAgICAgIHR5cGUgICAg c2l6ZSAobW0pICAgICAgIG1vZGVzICAgZW5jb2RlcnMKPj4+IDIxICAgICAgMCAgICAgICBjb25u ZWN0ZWQgICAgICAgSERNSS1BICAweDAgICAgICAgICAgICAgNCAgICAgICAyMAo+Pj4gICBtb2Rl czoKPj4+ICAgICAgICAgbmFtZSByZWZyZXNoIChIeikgaGRpc3AgaHNzIGhzZSBodG90IHZkaXNw IHZzcyB2c2UgdnRvdCkKPj4+ICAgODAweDYwMCA2MCA4MDAgODQwIDk2OCAxMDU2IDYwMCA2MDEg NjA1IDYyOCBmbGFnczogcGhzeW5jLCBwdnN5bmM7IHR5cGU6IGRyaXZlcgo+Pj4gICA4MDB4NjAw IDU2IDgwMCA4MjQgODk2IDEwMjQgNjAwIDYwMSA2MDMgNjI1IGZsYWdzOiBwaHN5bmMsIHB2c3lu YzsgdHlwZTogZHJpdmVyCj4+PiAgIDg0OHg0ODAgNjAgODQ4IDg2NCA5NzYgMTA4OCA0ODAgNDg2 IDQ5NCA1MTcgZmxhZ3M6IHBoc3luYywgcHZzeW5jOyB0eXBlOiBkcml2ZXIKPj4+ICAgNjQweDQ4 MCA2MCA2NDAgNjU2IDc1MiA4MDAgNDgwIDQ5MCA0OTIgNTI1IGZsYWdzOiBuaHN5bmMsIG52c3lu YzsgdHlwZTogZHJpdmVyCj4+PiAgIHByb3BzOgo+Pj4gICAgICAgICAxIEVESUQ6Cj4+PiAgICAg ICAgICAgICAgICAgZmxhZ3M6IGltbXV0YWJsZSBibG9iCj4+PiAgICAgICAgICAgICAgICAgYmxv YnM6Cj4+Pgo+Pj4gICAgICAgICAgICAgICAgIHZhbHVlOgo+Pj4gICAgICAgICAyIERQTVM6Cj4+ PiAgICAgICAgICAgICAgICAgZmxhZ3M6IGVudW0KPj4+ICAgICAgICAgICAgICAgICBlbnVtczog T249MCBTdGFuZGJ5PTEgU3VzcGVuZD0yIE9mZj0zCj4+PiAgICAgICAgICAgICAgICAgdmFsdWU6 IDAKPj4+Cj4+PiAjCj4+Pgo+Pj4gT24gMTktMDEtMjAxNiAxNjowMywgQ2FybG9zIFBhbG1pbmhh IHdyb3RlOgo+Pj4+IEhpIFhpYW5nLAo+Pj4+Cj4+Pj4gSXRzIHJldHVybmluZyAwIG1vZGVzLi4u IDooCj4+Pj4KPj4+PiBSZWdhcmRzLAo+Pj4+IEMuUGFsbWluaGEKPj4+Pgo+Pj4+ICMgbW9kZXRl c3QgLU0gZHJtLWFyY3BndSAtYwo+Pj4+IENvbm5lY3RvcnM6Cj4+Pj4gaWQgICAgICBlbmNvZGVy IHN0YXR1cyAgICAgICAgICB0eXBlICAgIHNpemUgKG1tKSAgICAgICBtb2RlcyAgIGVuY29kZXJz Cj4+Pj4gMjEgICAgICAwICAgICAgIGRpc2Nvbm5lY3RlZCAgICBIRE1JLUEgIDB4MCAgICAgICAg ICAgICAwICAgICAgIDIwCj4+Pj4gICBwcm9wczoKPj4+PiAgICAgICAgIDEgRURJRDoKPj4+PiAg ICAgICAgICAgICAgICAgZmxhZ3M6IGltbXV0YWJsZSBibG9iCj4+Pj4gICAgICAgICAgICAgICAg IGJsb2JzOgo+Pj4+Cj4+Pj4gICAgICAgICAgICAgICAgIHZhbHVlOgo+Pj4+ICAgICAgICAgMiBE UE1TOgo+Pj4+ICAgICAgICAgICAgICAgICBmbGFnczogZW51bQo+Pj4+ICAgICAgICAgICAgICAg ICBlbnVtczogT249MCBTdGFuZGJ5PTEgU3VzcGVuZD0yIE9mZj0zCj4+Pj4gICAgICAgICAgICAg ICAgIHZhbHVlOiAwCj4+Pj4KPj4+PiAjCj4+Pj4KPj4+PiBPbiAxOS0wMS0yMDE2IDAzOjM4LCBY aW5saWFuZyBMaXUgd3JvdGU6Cj4+Pj4+IE9uIDE4IEphbnVhcnkgMjAxNiBhdCAyMjo0NSwgQ2Fy bG9zIFBhbG1pbmhhIDxDQVJMT1MuUEFMTUlOSEFAc3lub3BzeXMuY29tPgo+Pj4+PiB3cm90ZToK Pj4+Pj4KPj4+Pj4+IEknbSBhbHNvIGdldHRpbmcgYSBtZXNzYWdlIGZyb20gRFJNIHNheWluZyBj YW4ndCBmaW5kIGFueSBjcnRjIG9yCj4+Pj4+PiBzaXplcy4uLmknbSByZWFsbHkgbWlzc2luZyBz b21ldGhpbmcgaGVyZS4KPj4+Pj4+IDooCj4+Pj4+Pgo+Pj4+Pj4gLS0gbG9nIC0tCj4+Pj4+PiBb ZHJtXSBJbml0aWFsaXplZCBkcm0gMS4xLjAgMjAwNjA4MTAKPj4+Pj4+IGRybS1hcmNwZ3UgZTAw MTcwMDAucGd1OiBObyBjb25uZWN0b3JzIHJlcG9ydGVkIGNvbm5lY3RlZCB3aXRoIG1vZGVzCj4+ Pj4+PiBbZHJtXSBDYW5ub3QgZmluZCBhbnkgY3J0YyBvciBzaXplcyAtIGdvaW5nIDEwMjR4NzY4 Cj4+Pj4+PiBDb25zb2xlOiBzd2l0Y2hpbmcgdG8gY29sb3VyIGZyYW1lIGJ1ZmZlciBkZXZpY2Ug MTI4eDQ4Cj4+Pj4+PiBkcm0tYXJjcGd1IGUwMDE3MDAwLnBndTogZmIwOiBmcmFtZSBidWZmZXIg ZGV2aWNlCj4+Pj4+PiBbZHJtXSBJbml0aWFsaXplZCBkcm0tYXJjcGd1IDEuMC4wIDIwMTUxMTI3 IG9uIG1pbm9yIDAKPj4+Pj4+IC0tIGxvZyAtLS0KPj4+Pj4+Cj4+Pj4+PiBBbnkgaGVscD8KPj4+ Pj4+Cj4+Pj4+PiBSZWdhcmRzLAo+Pj4+Pj4gQy5QYWxtaW5oYQo+Pj4+Pj4KPj4+Pj4+Cj4+Pj4+ PiBPbiAxOC0wMS0yMDE2IDE0OjMyLCBDYXJsb3MgUGFsbWluaGEgd3JvdGU6Cj4+Pj4+Pj4gSGkg WGlubGlhbmcsCj4+Pj4+Pj4KPj4+Pj4+PiBNeSBnZXRfbW9kZXMgc2VlbXMgdG8gYmUgaW1wbGVt ZW50ZWQgYXMgdGhlIHJjYXIgZHJpdmVyLi4uCj4+Pj4+Pj4gUHJvYmFibHkgc3RpbGwgbWlzc2lu ZyBzb21lIGluaXQgc3RlcD8KPj4+Pj4+Pgo+Pj4+Pj4+IFJlZ2FyZHMsCj4+Pj4+Pj4gQy5QYWxt aW5oYQo+Pj4+Pj4+Cj4+Pj4+Pj4KPj4+Pj4+PiBzdGF0aWMgaW50IGFyY3BndV9kcm1fY29ubmVj dG9yX2dldF9tb2RlcyhzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcgo+Pj4+Pj4gKmNvbm5lY3RvcikKPj4+ Pj4+PiB7Cj4+Pj4+Pj4gc3RydWN0IGRybV9lbmNvZGVyX3NsYXZlICpzbGF2ZTsKPj4+Pj4+PiBj b25zdCBzdHJ1Y3QgZHJtX2VuY29kZXJfc2xhdmVfZnVuY3MgKnNmdW5jczsKPj4+Pj4+PiBzdHJ1 Y3QgYXJjcGd1X2RybV9jb25uZWN0b3IgKiBjb24gPQo+Pj4+Pj4+IGNvbnRhaW5lcl9vZihjb25u ZWN0b3IsIHN0cnVjdCBhcmNwZ3VfZHJtX2Nvbm5lY3RvciwgY29ubmVjdG9yKTsKPj4+Pj4+Pgo+ Pj4+Pj4+IHNsYXZlID0gY29uLT5lbmNvZGVyX3NsYXZlOwo+Pj4+Pj4+IGlmKHNsYXZlID09IE5V TEwpIHsKPj4+Pj4+PiBkZXZfZXJyKGNvbm5lY3Rvci0+ZGV2LT5kZXYsCj4+Pj4+Pj4gImNvbm5l Y3Rvcl9nZXRfbW9kZXM6IGNhbm5vdCBmaW5kIHNsYXZlIGVuY29kZXIgZm9yIGNvbm5lY3Rvclxu Iik7Cj4+Pj4+Pj4gcmV0dXJuIDA7Cj4+Pj4+Pj4gfQo+Pj4+Pj4+Cj4+Pj4+Pj4gc2Z1bmNzID0g c2xhdmUtPnNsYXZlX2Z1bmNzOwo+Pj4+Pj4+IGlmKHNmdW5jcy0+Z2V0X21vZGVzID09IE5VTEwp ewo+Pj4+Pj4+IHJldHVybiAwOwo+Pj4+Pj4+IH0KPj4+Pj4+Pgo+Pj4+Pj4+IHJldHVybiBzZnVu Y3MtPgo+Pj4+Pj4KPj4+Pj4+IGdldF9tb2Rlcygmc2xhdmUtPmJhc2UsY29ubmVjdG9yKTsKPj4+ Pj4+PiB9Cj4+Pj4+Pj4KPj4+Pj4+Cj4+Pj4+Cj4+Pj4+IHNvLCB0aGlzIHdpbGwgY2FsbCBhZHY3 NTExIGRyaXZlcidzCj4+Pj4+Cj4+Pj4+IGdldF9tb2RlcyBjYWxsIGJhY2suCj4+Pj4+IEkgd29u ZGVyIGlmIHRoZSBzeXN0ZW0gYm9vdCB1cCwgaXQgY2FuIGdldCBtb2RlcyBvciBub3QuCj4+Pj4+ IFlvdSBjYW4gdGVzdCBpdCB3aXRoIHRoZSBtb2RldGVzdC4gaS5lLiAkIG1vZGV0ZXN0IC1NIERS TV9EUklWRVJfTkFNRSAtYwo+Pj4+Pgo+Pj4+Pgo+Pj4+Pgo+Pj4+Pgo+Pj4+Pj4+IE9uIDMxLTEy LTIwMTUgMDI6MTksIFhpbmxpYW5nIExpdSB3cm90ZToKPj4+Pj4+Pj4KPj4+Pj4+Pj4KPj4+Pj4+ Pj4gT24gMzEgRGVjZW1iZXIgMjAxNSBhdCAwMjo0NiwgQ2FybG9zIFBhbG1pbmhhCj4+Pj4+Pj4+ IDxDQVJMT1MuUEFMTUlOSEFAc3lub3BzeXMuY29tIDxtYWlsdG86Q0FSTE9TLlBBTE1JTkhBQHN5 bm9wc3lzLmNvbT4+Cj4+Pj4+PiB3cm90ZToKPj4+Pj4+Pj4KPj4+Pj4+Pj4gICAgIEhpIGd1eXMs Cj4+Pj4+Pj4+Cj4+Pj4+Pj4+ICAgICBJJ20gd3JpdGluZyBhIERSTSBkcml2ZXIgZm9yIGEgZnJh bWVidWZmZXIgZW1iZWRkZWQgaGFyZHdhcmUgdGhhdAo+Pj4+Pj4+PiAgICAgdXNlcyBhbiBpMmMg ZW5jb2RlciAoYWR2NzUxMSksIGZvbGxvd2luZyB0aGUgYmFzaWMgc3RlcHMgc3VnZ2VzdGVkCj4+ Pj4+Pj4+ICAgICBieSBMYXVyZW50IGluICJhbmF0b215IG9mIGFuIGVtYmVkZGVkIEtNUyBkcml2 ZXIiOgo+Pj4+Pj4+PiAgICAgaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1KYThmTTdy VGFlNAo+Pj4+Pj4+Pgo+Pj4+Pj4+PiAgICAgQWZ0ZXIgaW5pdGlsaWF6aW5nIGFsbCBrbXMsIGNy dGMsIGVuY29kZXIsIGkyYywgY29ubmVjdG9yIGZ1bmN0aW9ucwo+Pj4+Pj4+PiAgICAgYW5kIHN0 cnVjdHVyZXMgaSdtIGNhbGxpbmcgZHJtX2ZiZGV2X2NtYV9pbml0IHRvIGNyZWF0ZSBhIGZiZGV2 Lgo+Pj4+Pj4+Pgo+Pj4+Pj4+PiAgICAgV2hlbiBib290aW5nIGknbSBnZXR0aW5nIGFuIGVycm9y IG1lc3NhZ2Ugc2F5aW5nICJObyBjb25uZWN0b3JzCj4+Pj4+Pj4+ICAgICByZXBvcnRlZCBjb25u ZWN0ZWQgd2l0aCBtb2RlcyIsIGJ1dCB0aGUgZHJpdmVyIGluaXQgaXMgb2sgYW5kIGkgY2FuCj4+ Pj4+Pj4+ICAgICBmaW5kIHRoZSAvZGV2L2RyaS8qIGFuZCAvZGV2L2ZiMCBkZXZpY2VzLgo+Pj4+ Pj4+Pgo+Pj4+Pj4+PiAgICAgQW55IGNsdWUgd2hhdCBpIG1pZ2h0IGJlIG1pc3NpbmcgZHVyaW5n IHRoZSBkcml2ZXIgbG9hZD8KPj4+Pj4+Pj4KPj4+Pj4+Pj4KPj4+Pj4+Pj4gSSB0aGluayB5b3Ug c2hvdWxkIGNoZWNrIG9uIHRoZSAnZ2V0X21vZGVzJyBjYWxsIGJhY2sgb2YgYWR2NzUxMQo+Pj4+ Pj4+PiBkcml2ZXIuIChPciwgaWYgcG9zc2libGUgc2hvdyB1cyB0aGUgY29kZS4pCj4+Pj4+Pj4+ Cj4+Pj4+Pj4+IEJlc3QsCj4+Pj4+Pj4+IC14aW5saWFuZwo+Pj4+Pj4+Pgo+Pj4+Pj4+Pgo+Pj4+ Pj4+PiAgICAgVGhhbmtzLi4uCj4+Pj4+Pj4+Cj4+Pj4+Pj4+ICAgICBSZWdhcmRzLAo+Pj4+Pj4+ PiAgICAgQy5QYWxtaW5oYQo+Pj4+Pj4+Pgo+Pj4+Pj4+PiAgICAgLS0tIGJvb3QgbG9nIHNuaXBw ZXQgLS0tCj4+Pj4+Pj4+ICAgICBbZHJtXSBJbml0aWFsaXplZCBkcm0gMS4xLjAgMjAwNjA4MTAK Pj4+Pj4+Pj4gICAgIGRybS1hcmNwZ3UgZTAwMTcwMDAucGd1OiBObyBjb25uZWN0b3JzIHJlcG9y dGVkIGNvbm5lY3RlZCB3aXRoIG1vZGVzCj4+Pj4+Pj4+ICAgICBbZHJtXSBDYW5ub3QgZmluZCBh bnkgY3J0YyBvciBzaXplcyAtIGdvaW5nIDEwMjR4NzY4Cj4+Pj4+Pj4+ICAgICBDb25zb2xlOiBz d2l0Y2hpbmcgdG8gY29sb3VyIGZyYW1lIGJ1ZmZlciBkZXZpY2UgMTI4eDQ4Cj4+Pj4+Pj4+ICAg ICBkcm0tYXJjcGd1IGUwMDE3MDAwLnBndTogZmIwOiAgZnJhbWUgYnVmZmVyIGRldmljZQo+Pj4+ Pj4+PiAgICAgW2RybV0gSW5pdGlhbGl6ZWQgZHJtLWFyY3BndSAxLjAuMCAyMDE1MTEyNyBvbiBt aW5vciAwCj4+Pj4+Pj4+ICAgICAtLS0gYm9vdCBsb2cgc25pcHBldCAtLS0KPj4+Pj4+Pj4gICAg IC0tCj4+Pj4+Pj4+ICAgICBUbyB1bnN1YnNjcmliZSBmcm9tIHRoaXMgbGlzdDogc2VuZCB0aGUg bGluZSAidW5zdWJzY3JpYmUKPj4+Pj4+Pj4gICAgIGxpbnV4LWZiZGV2IiBpbgo+Pj4+Pj4+PiAg ICAgdGhlIGJvZHkgb2YgYSBtZXNzYWdlIHRvIG1ham9yZG9tb0B2Z2VyLmtlcm5lbC5vcmcKPj4+ Pj4+Pj4gICAgIDxtYWlsdG86bWFqb3Jkb21vQHZnZXIua2VybmVsLm9yZz4KPj4+Pj4+Pj4gICAg IE1vcmUgbWFqb3Jkb21vIGluZm8gYXQgaHR0cDovL3ZnZXIua2VybmVsLm9yZy9tYWpvcmRvbW8t aW5mby5odG1sCj4+Pj4+Pj4+Cj4+Pj4+Pj4+Cj4+Pj4+Pgo+Pj4+PgpfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRy aS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9y Zy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=