From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jani Nikula Subject: Re: [PATCH v2 1/1] drm/i915: Save PM interrupt register offsets in device info Date: Thu, 26 Oct 2017 15:50:50 +0300 Message-ID: <87lgjygjit.fsf@intel.com> References: <1508841673-643-1-git-send-email-sagar.a.kamble@intel.com> <150886342134.30884.9861875750276632930@mail.alporthouse.com> <87tvyofncv.fsf@intel.com> <87bmkviscb.fsf@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by gabe.freedesktop.org (Postfix) with ESMTPS id 305916E2E1 for ; Thu, 26 Oct 2017 12:49:28 +0000 (UTC) In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Tvrtko Ursulin , Tvrtko Ursulin , Chris Wilson , Sagar Arun Kamble , intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gVGh1LCAyNiBPY3QgMjAxNywgVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGxpbnV4 LmludGVsLmNvbT4gd3JvdGU6Cj4gT24gMjUvMTAvMjAxNyAwODo0NSwgSmFuaSBOaWt1bGEgd3Jv dGU6Cj4+IE9uIFR1ZSwgMjQgT2N0IDIwMTcsIFR2cnRrbyBVcnN1bGluIDx0dXJzdWxpbkB1cnN1 bGluLm5ldD4gd3JvdGU6Cj4+PiBPbiAyNC8xMC8xNyAxODo0OCwgSmFuaSBOaWt1bGEgd3JvdGU6 Cj4+Pj4gT24gVHVlLCAyNCBPY3QgMjAxNywgQ2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxz b24uY28udWs+IHdyb3RlOgo+Pj4+PiBRdW90aW5nIFNhZ2FyIEFydW4gS2FtYmxlICgyMDE3LTEw LTI0IDExOjQxOjEzKQo+Pj4+Pj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2RldmljZV9pbmZvLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZXZpY2VfaW5m by5jCj4+Pj4+PiBpbmRleCA4NzVkNDI4Li5kMWE0OTExIDEwMDY0NAo+Pj4+Pj4gLS0tIGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGV2aWNlX2luZm8uYwo+Pj4+Pj4gKysrIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZGV2aWNlX2luZm8uYwo+Pj4+Pj4gQEAgLTQ2Miw0ICs0NjIs MTUgQEAgdm9pZCBpbnRlbF9kZXZpY2VfaW5mb19ydW50aW1lX2luaXQoc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2KQo+Pj4+Pj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5m by0+c3NldS5oYXNfc3Vic2xpY2VfcGcgPyAieSIgOiAibiIpOwo+Pj4+Pj4gICAgICAgICAgIERS TV9ERUJVR19EUklWRVIoImhhcyBFVSBwb3dlciBnYXRpbmc6ICVzXG4iLAo+Pj4+Pj4gICAgICAg ICAgICAgICAgICAgICAgICAgICAgaW5mby0+c3NldS5oYXNfZXVfcGcgPyAieSIgOiAibiIpOwo+ Pj4+Pj4gKwo+Pj4+Pj4gKyAgICAgICAvKiBJbml0aWFsaXplIFBNIGludGVycnVwdCByZWdpc3Rl ciBvZmZzZXRzICovCj4+Pj4+PiArICAgICAgIGlmIChJTlRFTF9HRU4oZGV2X3ByaXYpID49IDgp IHsKPj4+Pj4+ICsgICAgICAgICAgICAgICBpbmZvLT5wbV9paXJfb2Zmc2V0ID0gR0VOOF9HVF9J SVIoMik7Cj4+Pj4+PiArICAgICAgICAgICAgICAgaW5mby0+cG1faW1yX29mZnNldCA9IEdFTjhf R1RfSU1SKDIpOwo+Pj4+Pj4gKyAgICAgICAgICAgICAgIGluZm8tPnBtX2llcl9vZmZzZXQgPSBH RU44X0dUX0lFUigyKTsKPj4+Pj4+ICsgICAgICAgfSBlbHNlIHsKPj4+Pj4+ICsgICAgICAgICAg ICAgICBpbmZvLT5wbV9paXJfb2Zmc2V0ID0gR0VONl9QTUlJUjsKPj4+Pj4+ICsgICAgICAgICAg ICAgICBpbmZvLT5wbV9pbXJfb2Zmc2V0ID0gR0VONl9QTUlNUjsKPj4+Pj4+ICsgICAgICAgICAg ICAgICBpbmZvLT5wbV9pZXJfb2Zmc2V0ID0gR0VONl9QTUlFUjsKPj4+Pj4+ICsgICAgICAgfQo+ Pj4+Pgo+Pj4+PiBJZiB5b3UgYXJlIGdvaW5nIHRvIHRha2UgYW5vdGhlciBwYXNzIGF0IHRoaXMs IG1vdmUgdGhlc2UgaW50byB0aGUKPj4+Pj4gc3RhdGljIHRhYmxlcyBpbiBpOTE1X3BjaS5jCj4+ Pj4+Cj4+Pj4+IFVwZGF0aW5nIEdFTjZfRkVBVFVSRVMgYW5kIEdFTjhfRkVBVFVSRVMgd2lsbCB0 aGVuIHBlcmNvbGF0ZSBpbnRvCj4+Pj4+IGluZGl2aWR1YWwgcGxhdGZvcm0gZGVmaW5lcy4KPj4+ Pgo+Pj4+IExpa2UgSSB3cm90ZSBpbiByZXBseSB0byB2MSwgSSdtIG5vdCBjb252aW5jZWQgd2Ug c2hvdWxkIGRvIHRoaXMgYXQgYWxsLgo+Pj4+Cj4+Pj4gV2hhdCBtYWtlcyAqdGhlc2UqIHJlZ2lz dGVycyBzbyBpbXBvcnRhbnQgdGhleSBtdXN0IGJlIGluIGRldmljZSBpbmZvPwo+Pj4+IFdoYXQg bWFrZXMgbW9zdCBvZiBpOTE1X3JlZy5oIHNvIHVuaW1wb3J0YW50IHRoZXkgZG9uJ3QgZGVzZXJ2 ZSB0aGUgc2FtZQo+Pj4+IHRyZWF0bWVudD8gV2hlcmUgZG8geW91IGRyYXcgdGhlIGxpbmU/Cj4+ Pj4KPj4+PiBJJ2QgZHJhdyB0aGUgbGluZSBhdCwgbm8gcmVnaXN0ZXJzIGF0IGRldmljZSBpbmZv Lgo+Pj4KPj4+IEkgc3VnZ2VzdGVkIHRvIFNhZ2FyIHRoaXMgY2hhbmdlIGR1cmluZyByZXZpZXcg c28gZmVlbCByZXNwb25zaWJsZSB0bwo+Pj4gY2hpbWUgaW4uCj4+Pgo+Pj4gU28gaW4gZ2VuZXJh bCBJIGp1c3QgZmluZCB0aGUgYW1vdW50IG9mIHRpbWVzIG91ciBkcml2ZXIgYXNrcyBpdHNlbGYK Pj4+IHdoYXQgaXQncyBydW5uaW5nIG9uIGEgYml0IHRhc3RlbGVzcy4gOigKPj4+Cj4+PiBJIGRp ZCBxdWljayBhbmQgZGlydHkgY2hlY2sgYnkgYnVtcGluZyBhIGNvdW50ZXIgaW4gYWxsIHRoZQo+ Pj4gSVNfdGhpc3xvcnx0aGF0IGNoZWNrcywgYWxsIHdoaWNoIGNhbiBiZSBrbm93biBhdCBkcml2 ZXIgcHJvYmUgdGltZSwgYW5kCj4+PiB3aXJlZCBpdCB1cCB0byB0aGUgUE1VIHNvIEkgY2FuIGNo ZWNrIHRoZWlyIGZyZXF1ZW5jeS4gVGhlIGFubm90YXRlZAo+Pj4gcGVyZiBzdGF0IG91dHB1dDoK Pj4+Cj4+PiByb290QGUzMTp+IyBwZXJmIHN0YXQgLWEgLWUgaTkxNS93aG9hbWkvIC1JIDEwMDAK Pj4+ICMgICAgICAgICAgIHRpbWUgICAgICAgICAgICAgY291bnRzIHVuaXQgZXZlbnRzCj4+Pgo+ Pj4gIyBpZGxlIHN5c3RlbSBubyBYIHJ1bm5pbmcKPj4+Cj4+PiAgICAgICAgMS4wMDAyOTgxMDAg ICAgICAgICAgICAgICAgIDEwICAgICAgaTkxNS93aG9hbWkvCj4+Pgo+Pj4gICAgICAgIDIuMDAw NzUwOTU1ICAgICAgICAgICAgICAgICAgOCAgICAgIGk5MTUvd2hvYW1pLwo+Pj4KPj4+ICAgICAg ICAzLjAwMTEwNDE5MyAgICAgICAgICAgICAgICAgMTAgICAgICBpOTE1L3dob2FtaS8KPj4+Cj4+ PiAgICAgICAgNC4wMDEzMzM0MzMgICAgICAgICAgICAgICAgIDEwICAgICAgaTkxNS93aG9hbWkv Cj4+Pgo+Pj4gICAgICAgIDUuMDAxNzAzMTYyICAgICAgICAgICAgICAgICAxMCAgICAgIGk5MTUv d2hvYW1pLwo+Pj4KPj4+ICAgICAgICA2LjAwMjEyMjcyMSAgICAgICAgICAgICAgICAgMTAgICAg ICBpOTE1L3dob2FtaS8KPj4+Cj4+Pgo+Pj4gIyBzdGFydGluZyBYIG5vdy4uCj4+Pgo+Pj4gICAg ICAgIDcuMDAyMjY2MjI4ICAgICAgICAgICAgICAyLDIwMyAgICAgIGk5MTUvd2hvYW1pLwo+Pj4K Pj4+ICAgICAgICA4LjAwMjM5MjU5OCAgICAgICAgICAgICAgNCw2ODIgICAgICBpOTE1L3dob2Ft aS8KPj4+Cj4+PiAgICAgICAgOS4wMDI3NjQzOTggICAgICAgICAgICAgICAgICAwICAgICAgaTkx NS93aG9hbWkvCj4+Pgo+Pj4gICAgICAgMTAuMDAzMDI3MTE5ICAgICAgICAgICAgICAgICAgMCAg ICAgIGk5MTUvd2hvYW1pLwo+Pj4KPj4+ICAgICAgIDExLjAwMzQ4NjA0OCAgICAgICAgICAgICAg ICAgNDIgICAgICBpOTE1L3dob2FtaS8KPj4+Cj4+Pgo+Pj4gIyBYIGlkbGluZy4uCj4+Pgo+Pj4g ICAgICAgMTIuMDAzODU0NjYwICAgICAgICAgICAgICAgICAgMCAgICAgIGk5MTUvd2hvYW1pLwo+ Pj4KPj4+ICAgICAgIDEzLjAwNDIyMTY4MCAgICAgICAgICAgICAgICAgIDAgICAgICBpOTE1L3do b2FtaS8KPj4+Cj4+PiAgICAgICAxNC4wMDQ2MjI1NzEgICAgICAgICAgICAgICAgICAwICAgICAg aTkxNS93aG9hbWkvCj4+Pgo+Pj4gICAgICAgMTUuMDA0OTY4MTEwICAgICAgICAgICAgICAgICAg MCAgICAgIGk5MTUvd2hvYW1pLwo+Pj4KPj4+ICAgICAgIDE2LjAwNTM3MjM2MyAgICAgICAgICAg ICAgICAgIDAgICAgICBpOTE1L3dob2FtaS8KPj4+Cj4+PiAgICAgICAxNy4wMDU3NzgwMzQgICAg ICAgICAgICAgICAgICAwICAgICAgaTkxNS93aG9hbWkvCj4+Pgo+Pj4gICAgICAgMTguMDA1OTQx OTcwICAgICAgICAgICAgICAgICAgMCAgICAgIGk5MTUvd2hvYW1pLwo+Pj4KPj4+ICAgICAgIDE5 LjAwNjMxMzQyNyAgICAgICAgICAgICAgICAgIDAgICAgICBpOTE1L3dob2FtaS8KPj4+Cj4+PiAg ICAgICAyMC4wMDY2NzYwNDggICAgICAgICAgICAgICAgICAwICAgICAgaTkxNS93aG9hbWkvCj4+ Pgo+Pj4gICAgICAgMjEuMDA3MDU5OTI3ICAgICAgICAgICAgICAgICAgMCAgICAgIGk5MTUvd2hv YW1pLwo+Pj4KPj4+ICAgICAgIDIyLjAwNzUwNzgxOCAgICAgICAgICAgICAgICAgIDAgICAgICBp OTE1L3dob2FtaS8KPj4+Cj4+PiAgICAgICAyMy4wMDc4ODc2MjggICAgICAgICAgICAgICAgICAw ICAgICAgaTkxNS93aG9hbWkvCj4+Pgo+Pj4gICAgICAgMjQuMDA4MjA3MDM1ICAgICAgICAgICAg ICAgICAgMCAgICAgIGk5MTUvd2hvYW1pLwo+Pj4KPj4+ICAgICAgIDI1LjAwODU4MDQ5NiAgICAg ICAgICAgICAgICAgIDAgICAgICBpOTE1L3dob2FtaS8KPj4+Cj4+PiAjICAgICAgICAgICB0aW1l ICAgICAgICAgICAgIGNvdW50cyB1bml0IGV2ZW50cwo+Pj4gICAgICAgMjYuMDA4OTQ5MjM2ICAg ICAgICAgICAgICAgICAgMCAgICAgIGk5MTUvd2hvYW1pLwo+Pj4KPj4+ICAgICAgIDI3LjAwOTQz MzQ3MyAgICAgICAgICAgICAgICAgIDAgICAgICBpOTE1L3dob2FtaS8KPj4+Cj4+Pgo+Pj4gIyBn ZnhiZW5jaCB0cmV4IHN0YXJ0aW5nIHVwCj4+Pgo+Pj4gICAgICAgMjguMDA5Njc3NjAwICAgICAg ICAgICAgICAyLDYwNSAgICAgIGk5MTUvd2hvYW1pLwo+Pj4KPj4+ICAgICAgIDI5LjAwOTk0MTk3 MiAgICAgICAgICAgICAgICA3MTYgICAgICBpOTE1L3dob2FtaS8KPj4+Cj4+PiAgICAgICAzMC4w MTAxMjc1ODggICAgICAgICAgICAgIDIsMTkwICAgICAgaTkxNS93aG9hbWkvCj4+Pgo+Pj4gICAg ICAgMzEuMDEwMjQ5NTM1ICAgICAgICAgICAgICAgICA0NiAgICAgIGk5MTUvd2hvYW1pLwo+Pj4K Pj4+ICAgICAgIDMyLjAxMDM4MzU2NSAgICAgICAgICAgICAgICAgMzYgICAgICBpOTE1L3dob2Ft aS8KPj4+Cj4+PiAgICAgICAzMy4wMTA1Mjc2NzQgICAgICAgICAgICAgICAgICAwICAgICAgaTkx NS93aG9hbWkvCj4+Pgo+Pj4KPj4+ICMgdHJleCBydW5uaW5nCj4+Pgo+Pj4gICAgICAgMzQuMDEw NzYwNTg0ICAgICAgICAgICAgICA0LDcwOSAgICAgIGk5MTUvd2hvYW1pLwo+Pj4KPj4+ICAgICAg IDM1LjAxMTA3OTg5MSAgICAgICAgICAgICAgNSwzODEgICAgICBpOTE1L3dob2FtaS8KPj4+Cj4+ PiAgICAgICAzNi4wMTEyODAyMzQgICAgICAgICAgICAgIDUsMzA2ICAgICAgaTkxNS93aG9hbWkv Cj4+Pgo+Pj4gICAgICAgMzcuMDExNzE5OTg2ICAgICAgICAgICAgICA1LDUwNSAgICAgIGk5MTUv d2hvYW1pLwo+Pj4KPj4+ICAgICAgIDM4LjAxMjAxNzUzMSAgICAgICAgICAgICAgNSwzODYgICAg ICBpOTE1L3dob2FtaS8KPj4+Cj4+PiAgICAgICAzOS4wMTI1MjkyNDEgICAgICAgICAgICAgIDUs Njg3ICAgICAgaTkxNS93aG9hbWkvCj4+Pgo+Pj4gICAgICAgNDAuMDEyOTIyOTg2ICAgICAgICAg ICAgICA2LDAwOSAgICAgIGk5MTUvd2hvYW1pLwo+Pj4KPj4+ICAgICAgIDQxLjAxMzEyMDE0MyAg ICAgICAgICAgICAgNSw3OTEgICAgICBpOTE1L3dob2FtaS8KPj4+Cj4+PiAgICAgICA0Mi4wMTMz OTk5ODIgICAgICAgICAgICAgIDUsMjk2ICAgICAgaTkxNS93aG9hbWkvCj4+Pgo+Pj4gICAgICAg NDMuMDEzNzEyOTc5ICAgICAgICAgICAgICA1LDM0OSAgICAgIGk5MTUvd2hvYW1pLwo+Pj4KPj4+ ICAgICAgIDQ0LjAxNDEwNzM3NSAgICAgICAgICAgICAgNSwxMjcgICAgICBpOTE1L3dob2FtaS8K Pj4+Cj4+PiAgICAgICA0NS4wMTQ1NTM5NTAgICAgICAgICAgICAgIDUsMzg3ICAgICAgaTkxNS93 aG9hbWkvCj4+Pgo+Pj4gICAgICAgNDYuMDE0OTUzMDIwICAgICAgICAgICAgICA1LDM2NCAgICAg IGk5MTUvd2hvYW1pLwo+Pj4KPj4+ICAgICAgIDQ3LjAxNTI0Mzc0OCAgICAgICAgICAgICAgNCw3 MzggICAgICBpOTE1L3dob2FtaS8KPj4+Cj4+PiAgICAgICA0OC4wMTU1NjA0NjAgICAgICAgICAg ICAgIDQsNzg4ICAgICAgaTkxNS93aG9hbWkvCj4+Pgo+Pj4gICAgICAgNDkuMDE1ODY3Mzk1ICAg ICAgICAgICAgICA0LDkyNyAgICAgIGk5MTUvd2hvYW1pLwo+Pj4KPj4+ICAgICAgIDUwLjAxNjE1 MjY5MCAgICAgICAgICAgICAgNCw4ODYgICAgICBpOTE1L3dob2FtaS8KPj4+Cj4+Pgo+Pj4gU28u LiBJIGFtIG5vdCBzYXlpbmcgdGhlc2UgcGFydGljdWxhciByZWdpc3RlcnMgYXJlIG1lZ2EgaW1w b3J0YW50LCBhbmQKPj4+IG5vdCBldmVuIHNheWluZyB0aGF0IHRoZXNlIDVrL3MgY29uZGl0aW9u YWxzIGFyZSBtZWFzdXJhYmxlIChlaXRoZXIgYXMKPj4+IGJyYW5jaGVzIG9yIGluY3JlYXNlZCBj b2RlIHNpemUgZWZmZWN0KSwgYnV0IG92ZXJhbGwgdGhlIHNpdHVhdGlvbiBpcyBhCj4+PiBiaXQg b2YuLiBibGV1cmdoIGZyb20gdGhlIGVsZWdhbmNlIHBvaW50IG9mIHZpZXcuIDooCj4+Pgo+Pj4g SWYgd2UgaGF2ZSByZWdpc3RlciBzZXRzIHdoaWNoIGFyZSAxMDAlIG11dHVhbGx5IGV4Y2x1c2l2 ZSwgdGhlbiBJIHNlZQo+Pj4gdGhlbSBhcyBjYW5kaWRhdGVzIHRvIHB1dCB0aGVtIGluIHNvbWUg b2JqZWN0IGF0IHByb2JlIHRpbWUuIEl0IGRvZXNuJ3QKPj4+IGhhdmUgdG8gYmUgZGV2aWNlX2lu Zm8gYnV0IEkgZG9uJ3Qgc2VlIHdoeSB3ZSB3b3VsZG4ndCBkbyBpdC4gSXQgaXMganVzdAo+Pj4g YSBkaWZmZXJlbnQgZmxhdm91ciBvZiB0aGUgdmZ1bmMgYXBwcm9hY2ggYWZ0ZXIgYWxsLgo+PiAK Pj4gSSB0aGluayB0byBmaXggc29tZXRoaW5nIHRoYXQgaXMgaW5lbGVnYW50LCB5b3UgaGF2ZSB0 byBoYXZlIGEgcGxhbiB0bwo+PiBhY3R1YWxseSBpbXByb3ZlIHRoaW5ncyBpbiB0aGUgbG9uZyBy dW4uIElNTyBhZGRpbmcgYSBmZXcgcmFuZG9tCj4+IHJlZ2lzdGVycyB0byBkZXZpY2UgaW5mbyB3 aXRob3V0IGEgcGxhbiBpcyBsZXNzIGVsZWdhbnQgYW5kIGxlc3MKPj4gY29uc2lzdGVudCB0aGFu IHRoZSBzdGF0dXMgcXVvLgo+PiAKPj4gV2UgY3VycmVudGx5IGhhdmUgYXQgbGVhc3QgdGhyZWUg d2F5cyB0byBpbmRleCBwaXBlL3BvcnQvdHJhbnNjb2Rlci9ldGMKPj4gYmFzZWQgcmVnaXN0ZXJz LiBDb21iaW5lIHRoYXQgd2l0aCBzdG9yaW5nIHNvbWUgcmVnaXN0ZXIgb2Zmc2V0cyBpbgo+PiBk ZXZpY2UgaW5mbywgeW91J2xsIGhhdmUgc2l4IHdheXMuIFRoZXJlJ3MgYSBjaGFuY2Ugd2UnbGwg ZW5kIHVwIGFkZGluZwo+PiB0aGUgcmVnaXN0ZXIgb2Zmc2V0cyB0byBkZXZpY2UgaW5mbyBib3Ro IHN0YXRpY2FsbHkgYW5kCj4+IGR5bmFtaWNhbGx5LiBXZSdyZSBhbHJlYWR5IHN0cnVnZ2xpbmcg d2l0aCBndWlkaW5nIG5ldyBjb250cmlidXRvcnMgdG8KPj4gZGVmaW5pbmcgcmVnaXN0ZXJzIGlu IHRoZSBleGlzdGluZyBzY2hlbWVzLgo+PiAKPj4gTm93LCBJJ20gc3VyZSB3ZSBjb3VsZCBzcGVu ZCB3ZWVrcyBvbiBlbmQgZGV2aXNpbmcgYSBwbGFuIGhvdyB0byBtb3ZlCj4+IHJlZ2lzdGVyIG9m ZnNldHMgdG8gZGV2aWNlIGluZm8gb3IgYW5vdGhlciBzdHJ1Y3R1cmUsIHdvcmtpbmcgb3V0IHRo ZQo+PiBkZXRhaWxzIGFuZCBiaWtlc2hlZGRpbmcuIEFmdGVyIHRoYXQsIHdlIGNvdWxkIGRvIHdl ZWtzIGFuZCB3ZWVrcyBvZgo+PiBidXN5d29yayBjb252ZXJ0aW5nIHJlZ2lzdGVycywgY2F1c2lu ZyBjb25mbGljdHMgaW4gYWxsIHRoZSB3b3JrIGluIG91cgo+PiBpbnRlcm5hbCB0cmVlcyBhbmQg ZGV2ZWxvcGVycycgb3duIGJyYW5jaGVzLCBub3QgdG8gbWVudGlvbiBtYWtpbmcgYnVnCj4+IGZp eCBhbmQgZmVhdHVyZSBiYWNrcG9ydHMgbW9yZSBwYWluZnVsLgo+PiAKPj4gSSBoYXZlIGEgcHJl dHR5IHN0cm9uZyBmZWVsaW5nIHRoaXMgaXMgbm90IGEgZ29vZCB1c2Ugb2Ygb3VyIHRpbWUuCj4K PiBJIGNhbiBvbmx5IHJlYWQgaGVyZSBhIGRpc2xpa2Ugb2YgYSBiaWcgcmV3b3JrICh3aGljaCBJ IGRpZCBub3Qgc3VnZ2VzdCAKPiB0byBzdGFydCB3aXRoKSwgYW5kIGRpc2xpa2Ugb2YgdGhlIHBp ZWNlbWVhbCBjaGFuZ2VzLgoKQW55IGNoYW5nZSB3b3VsZCBoYXZlIHRvIGJlIHBpZWNlbWVhbCBh bnl3YXkuIEkgZG9uJ3QgaGF2ZSBhIGRpc2xpa2UgZm9yCnRoYXQgcGVyIHNlLiBJJ20ganVzdCBz YXlpbmcgdGhhdCBhZGRpbmcgc29tZSByZWdpc3RlcnMgdG8gc29tZSBkYXRhCnN0cnVjdHVyZXMg b24gYSB3aGltIGxlYWRzIHRvIGFuIHVnbHkgaW5jb25zaXN0ZW50IGVuZCByZXN1bHQsIGFuZCBp dApnZXRzIGNhcmdvLWN1bHRlZCB0byBtb3JlIGFuZCBtb3JlIHBsYWNlcywgdW5jb250cm9sbGVk LiBUaGUgZHJpdmVyIHdpbGwKYmVjb21lIGhhcmRlciB0byBtYWludGFpbi4gVGhlIGNoYW5nZXMg bXVzdCBiZSBkb25lIHBpZWNlbWVhbCwgYnV0IHRoZXJlCm5lZWRzIHRvIGJlIGEgcGxhbiB3aGVy ZSB3ZSB3YW50IHRvIHRha2UgYWxsIHRoaXMgaW4gdGhlIGxvbmcgdGVybS4KCkFuZCB0aGF0IHBs YW4gaXMgZ29pbmcgdG8gYmUgYW4gYXdmdWwgYmlrZXNoZWQgZmVzdC4KCj4gU28gYmFzaWNhbGx5 IHByZWZlcmVuY2UgZm9yIGEgc3RhdHVzIHF1by4gQW5kIHRoZXJlIHdpbGwgYmUgbW9yZSBhbmQK PiBtb3JlIG9mIHN1Y2ggY2hlY2tzLiBTbyB0b2RheSBpdCBpcyA1ay9zZWMsIGluIGEgeWVhciBp dCBtaWdodCBiZQo+IG1vcmUuCgpFdmVuIHdpdGggY2FjaGVkIHJlZ2lzdGVyIG9mZnNldHMgeW91 J2xsIGFueXdheSBiZSBkb2luZyA1ayBmZXRjaGVzIG9mCnRoZSBjYWNoZWQgb2Zmc2V0cyBwZXIg c2Vjb25kLiBTdXJlIHlvdSdsbCBzYXZlIGEgYnJhbmNoIGFuZCBjb3VwbGUgb2YKaW1tZWRpYXRl cyBpbiBjb2RlLCBidXQgSSBjYW4ndCBpbWFnaW5lIGl0IGJlaW5nIGEgaHVnZSBwZW5hbHR5LgoK PiBTbyB0byBjbGFyaWZ5LiBEbyB5b3UgYWN0dWFsbHkgb3Bwb3NlIHNvbWUgc3Vic3lzdGVtL2Fy ZWEgbW92aW5nIHNvbWUgCj4gcmVnaXN0ZXJzIHRvIGFueSBkYXRhIHN0cnVjdHVyZSwgb3IganVz dCB0byBkZXZpY2UgaW5mbz8KPgo+IERvIHlvdSBoYXZlIGEgc3VnZ2VzdGlvbiBvbiB3aGF0IHdl IGNvdWxkIGRvPyBPciB5b3Ugc2ltcGx5IHRoaW5rIHRoaXMgCj4gaXMgYSBjb21wbGV0ZSBub24t aXNzdWU/CgpUaGlzIGlzIG5vdCBhIG5vbi1pc3N1ZSwgYnV0LCB0byBiZSBxdWl0ZSBob25lc3Qs IEknZCByYXRoZXIgc2VlIHBlb3BsZQpnbyB0byBidWd6aWxsYSBhbmQgZml4IGEgZG96ZW4gYWN0 dWFsIGlzc3VlcyB0aGF0IGFyZSBoaXR0aW5nIENJIG9yIGVuZAp1c2VycyBvdXQgdGhlcmUsIHRv ZGF5LgoKCkJSLApKYW5pLgoKLS0gCkphbmkgTmlrdWxhLCBJbnRlbCBPcGVuIFNvdXJjZSBUZWNo bm9sb2d5IENlbnRlcgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5v cmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1n ZngK