From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alexandra Yates Subject: Re: [PATCH 0/5] PowerManagement Toggle for PowerTOP Date: Thu, 14 Apr 2016 10:17:54 -0700 Message-ID: <570FD0C2.4090808@linux.intel.com> References: <1460488728-23319-1-git-send-email-alexandra.yates@linux.intel.com> <1460552356.8441.13.camel@intel.com> <20160413145002.GD2510@phenom.ffwll.local> <1460579956.7829.105.camel@intel.com> <1460585288.7829.124.camel@intel.com> <20160414094857.GK2510@phenom.ffwll.local> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by gabe.freedesktop.org (Postfix) with ESMTP id 697CD6E225 for ; Thu, 14 Apr 2016 17:13:04 +0000 (UTC) In-Reply-To: <20160414094857.GK2510@phenom.ffwll.local> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Daniel Vetter , "Vivi, Rodrigo" Cc: "Swaminathan, Nivedita" , "intel-gfx@lists.freedesktop.org" , "Konno, Joe" , "Zanoni, Paulo R" List-Id: intel-gfx@lists.freedesktop.org CgpPbiAwNC8xNC8yMDE2IDAyOjQ4IEFNLCBEYW5pZWwgVmV0dGVyIHdyb3RlOgo+IE9uIFdlZCwg QXByIDEzLCAyMDE2IGF0IDEwOjA2OjU3UE0gKzAwMDAsIFZpdmksIFJvZHJpZ28gd3JvdGU6Cj4+ IE9uIFdlZCwgMjAxNi0wNC0xMyBhdCAyMjo0NiArMDIwMCwgRGFuaWVsIFZldHRlciB3cm90ZToK Pj4+IE9uIFdlZCwgQXByIDEzLCAyMDE2IGF0IDEwOjM4IFBNLCBWaXZpLCBSb2RyaWdvIDwKPj4+ IHJvZHJpZ28udml2aUBpbnRlbC5jb20+IHdyb3RlOgo+Pj4+IE9uIFdlZCwgMjAxNi0wNC0xMyBh dCAxNjo1MCArMDIwMCwgRGFuaWVsIFZldHRlciB3cm90ZToKPj4+Pj4gT24gV2VkLCBBcHIgMTMs IDIwMTYgYXQgMTI6NTk6MThQTSArMDAwMCwgWmFub25pLCBQYXVsbyBSIHdyb3RlOgo+Pj4+Pj4g RW0gVGVyLCAyMDE2LTA0LTEyIMOgcyAxMjoxOCAtMDcwMCwgQWxleGFuZHJhIFlhdGVzIGVzY3Jl dmV1Ogo+Pj4+Pj4+IFRoaXMgcHJvamVjdCBpcyBleHBsYWluZWQgaW4gZGV0YWlsIG9uIHRoZSBI QVMKPj4+Pj4+PiBodHRwczovL2RvY3MuZ29vZ2xlLmNvbS9hL2ludGVsLmNvbS9kb2N1bWVudC9k LzFFLWVuX3hxZkhnQ25oCj4+Pj4+Pj4gRDFUZQo+Pj4+Pj4+IHMzZjAKPj4+Pj4+PiA4VVlyT2Mt ZXR2MlctcFUwWkVyS2RFL2VkaXQ/dXNwPXNoYXJpbmcKPj4+Pj4+Pgo+Pj4+Pj4+IFN1bW1hcnk6 Cj4+Pj4+Pj4gUGVybWl0cyB0aGUgdXNlciB0byBpZGVudGlmeSBhbmQgdG9nZ2xlIHZhbHVlcyBm b3IgUFNSLCBGQkMsCj4+Pj4+Pj4gUkM2LAo+Pj4+Pj4+IERSUlMsIGFuZCBJUFMKPj4+Pj4+PiB1 bmRlciAvc3lzL2NsYXNzL2RybS9jYXJkMC9wb3dlci8uICBCeSBlbmFibGluZyB0aGVzZQo+Pj4+ Pj4+IGZlYXR1cmVzCj4+Pj4+Pj4gSSdtCj4+Pj4+Pj4gbG9va2luZyB0bwo+Pj4+Pj4+IGVtcG93 ZXIgb3VyIGN1c3RvbWVycywgc3VjaCBhcywgcG93ZXIgdGVhbSwgY2hyb21lIE9TLCBhbmQKPj4+ Pj4+PiBwbGF0Zm9ybQo+Pj4+Pj4+IGludGVncmF0aW9uIHRlYW1zCj4+Pj4+Pj4gdG8gZGVidWcg Z3JhcGhpY3MgcG93ZXIgbWFuYWdlbWVudCBmZWF0dXJlcy4KPj4+Pj4+Pgo+Pj4+Pj4+ICBGcm9t IHRoZSBjdXJyZW50IHBhdGNoc2V0IFBTUiwgRkJDLCBSQzYsIGFuZCwgRFJSUyBhcmUKPj4+Pj4+ PiBjb21wbGV0ZQo+Pj4+Pj4+IGFuZAo+Pj4+Pj4+IHBhc3QgQkFULCBtb2RzZXQsCj4+Pj4+Pj4g YW5kIHN1c3BlbmQvcmVzdW1lIHRlc3RzLiAgRm9yIElQUyBJJ20gbG9va2luZyBmb3IgZmVlZGJh Y2sKPj4+Pj4+PiBzaW5jZQo+Pj4+Pj4+IElQUwo+Pj4+Pj4+IHNlZW1zIHRvIGNoYW5nZQo+Pj4+ Pj4+IGR1cmluZyBydW50aW1lIGR5bmFtaWNhbGx5LiAgQWRkaXRpb25hbGx5LCBhcyBhIGZ1dHVy ZQo+Pj4+Pj4+IHByb2plY3QKPj4+Pj4+PiBJUFMKPj4+Pj4+PiB3b3VsZCBiZSBiZXR0ZXIKPj4+ Pj4+PiBzZXJ2ZWQgaWYgaXQgaXMgaW1wbGVtZW50ZWQgYnkgdXNpbmcgdGhlIGF0b21pYyBjaGVj aywgcHJlCj4+Pj4+Pj4gLWNvbW1pdCwKPj4+Pj4+PiBjb21taXQsIHBvc3QtY29tbWl0LAo+Pj4+ Pj4+IGEgZ29vZCBleGFtcGxlIG9mIHRoaXMgaXMgdGhlIFBTUiBlbmFibGUvZGlzYWJsZQo+Pj4+ Pj4+IGltcGxlbWVudGF0aW9uLgo+Pj4+Pj4+Cj4+Pj4+Pj4gRm9yIHRoaXMgcHJvamVjdCB0byBi ZSBjb21wbGV0ZWQgbmVlZHMgdG8gaGF2ZSBpbiBwbGFjZSB0aGUKPj4+Pj4+PiBmb2xsb3dpbmcK Pj4+Pj4+PiBjb21wb25lbnRzOgo+Pj4+Pj4+IChOZWVkIHRvIGJlIGRldmVsb3BlZCkKPj4+Pj4+ PiAqIElQUyB0b2dnbGUgaW50ZXJmYWNlIGZsZXNoLW91dAo+Pj4+Pj4+ICogVGVzdHMgYWRkZWQg dG8gaW50ZWwtZ3B1LXRvb2xzIHJlcG8KPj4+Pj4+PiAqIERvY3VtZW50YXRpb24gZm9yIGFsbCBz eXNmcyBhZGRlZCBpbnRlcmZhY2VzCj4+Pj4+Pj4gKiBQb3dlclRPUCBjb21wb25lbnQgbmFtZWQ6 IEdGWC1UT1AuIFdpdGggdGhlIGZvbGxvd2luZwo+Pj4+Pj4+IHJlcXVpcmVtZW50czoKPj4+Pj4+ PiAgICAqIEl0IHdvdWxkIGJlIGF2YWlsYWJsZSBvbmx5IHRvIGRldmVsb3BlcnMKPj4+Pj4+PiAg ICAqIEl0IHdvdWxkIGFsbG93IHRoZSBkZXZlbG9wZXJzIHRvIHRvZ2dsZSB0aGUgaW50ZXJmYWNl cwo+Pj4+Pj4+IGZyb20KPj4+Pj4+PiAgICAgIHRoZSBQb3dlclRPUCB1c2VyIGludGVyZmFjZS4K Pj4+Pj4+PiAgICAqIEl0IHdvdWxkIHNob3cgdGhlIFBvd2VyIENvbnN1bXB0aW9uIGltcGFjdCBv ZiB0b2dnbGluZyBvbgo+Pj4+Pj4+IGFuZAo+Pj4+Pj4+IG9mZgo+Pj4+Pj4+ICAgICAgdGhlc2Ug c2V0dGluZ3MuCj4+Pj4+Pj4KPj4+Pj4+Cj4+Pj4+PiBBIHNtYWxsIHN1Z2dlc3Rpb246Cj4+Pj4+ Pgo+Pj4+Pj4gSW4gdGhlIHBhc3QsIEkndmUgc2VlbiBwZW9wbGUgdGVzdGluZyBpOTE1LmtvIHBv d2VyIHNhdmluZwo+Pj4+Pj4gZmVhdHVyZXMKPj4+Pj4+IGp1c3QgYnkgInRvZ2dsaW5nIiB0aGUg ZmVhdHVyZXMgdGhyb3VnaCB0aGUgaTkxNSBtb2R1bGUKPj4+Pj4+IHBhcmFtZXRlcnMKPj4+Pj4+ IHdpdGhvdXQgZG9pbmcgYW55dGhpbmcgZWxzZS4gSW4gbW9zdCBvZiB0aGVzZSBjYXNlcywgdGhl Cj4+Pj4+PiBtYWNoaW5lCj4+Pj4+PiB3YXMKPj4+Pj4+IG5vdCBwcm9wZXJseSBjb25maWd1cmVk IGZvciBwb3dlciBzYXZpbmdzLCBzbyB0aGUgY29uY2x1c2lvbgo+Pj4+Pj4gd2FzCj4+Pj4+PiBv ZnRlbgo+Pj4+Pj4gdGhhdCB0aGUgZmVhdHVyZSBkaWRuJ3Qgc2F2ZSBhbnkgcG93ZXIuIFdoaWxl IHRoaXMgd2FzIHRydWUKPj4+Pj4+ICh0b2dnbGluZwo+Pj4+Pj4gdGhlIGZlYXR1cmUgZGlkbid0 IHNhdmUgYW55IHBvd2VyKSwgdGhlc2UgcGVvcGxlIHdvdWxkIGhhdmUKPj4+Pj4+IHJlYWNoZWQK Pj4+Pj4+IGRpZmZlcmVudCBjb25jbHVzaW9ucyBpZiB0aGV5IGhhZCwgZm9yIGV4YW1wbGUsIGNo YW5nZWQgdGhlaXIKPj4+Pj4+IGRpc2sKPj4+Pj4+IHBvd2VyIG1hbmFnZW1lbnQgcG9saWNpZXMu IERvIHdlIGhhdmUgYW55IHNvcnQgb2YgcGxhbiB0byB0cnkKPj4+Pj4+IHRvCj4+Pj4+PiBlZHVj YXRlIHRoZSBwb3dlcnRvcC9nZnh0b3AgdXNlcnMgcmVnYXJkaW5nIHRoZXNlIHRoaW5ncz8KPj4+ Pgo+Pj4+IEJ1dCB0aGUgdG9nZ2xpbmcgdGhlIG1vZHVsZSBwYXJhbWV0ZXIgZG9lc24ndCBjaGFu Z2UgYW55dGhpbmcKPj4+PiBiZWNhdXNlCj4+Pj4gaXQgZGVwZW5kcyBvbiB0aGUgbmV4dCBtb2Rl c2V0IHRvIGhhdmUgYW55IGVmZmVjdCBvIG5tbm9zdCBvZiBwbQo+Pj4+IGZlYXR1cmVzLgo+Pj4+ IFRoZSBpZGVhIGlzIHRoYXQgd2UgZG9uJ3QgbmVlZCB0aGlzIHdpdGggdGhlIHN5c2ZzIGFuZCB0 aGUgdG9nZ2xlCj4+Pj4gc2hvdWxkIHJlcHJlc2VudCBhbiBpbW1lZGlhdGUgY2hhbmdlIG9uIHRo ZSBmZWF0dXJlIGJlaGF2aW91ci4KPj4+PiBBbHRob3VnaAo+Pj4+IGl0IGlzIGEgZmFjdCB0aGF0 IHRoZSBmZWF0dXJlcyBhbHNvIGRlcGVuZHMgb24gb3RoZXIgY29uZGl0aW9ucwo+Pj4+IGxpa2UK Pj4+PiBQU1IgZGVwZW5kcyBvbiBhIGZ1bGx5IGlkbGUgc2NyZWVuIGZvciBmZXcgZnJhbWVzIGF0 IGxlYXN0Lgo+Pj4KPj4+IFdlbGwgdGhhdCBwYXJ0IHdoZXJlIHRoZSBrbm9iIG5lZWRzIHRvIGtp Y2sgdGhlIHN5c3RlbSBpbnRvIHdvcmtpbmcKPj4+IGNvcnJlY3RseSAod2hhdCBpZiB3ZSBuZWVk IGFuIGV4cGVuc2l2ZSB3L2EgdGhhdCdzIGhhcmQgdG8gcmVzZXQgYXQKPj4+IHJ1bnRpbWUpIGlz IHdoYXQgc2NhcmVzIG1lLgo+Pj4KPj4+Pj4+IE1heWJlIHRoZSBwb3dlcnRvcC9nZnh0b3AgaW50 ZXJmYWNlIGNvdWxkIGV4cG9zZSBzb21lIHZlcnktZWFzeQo+Pj4+Pj4gLXRvLQo+Pj4+Pj4gcmVh Y2ggdGV4dCBleHBsYWluaW5nIHRoZXNlIHRoaW5ncy4KPj4+Pgo+Pj4+IEdvb2QgaWRlYS4KPj4+ Pgo+Pj4+Pgo+Pj4+PiBJIHRoaW5rIHRyeWluZyB0byBleHRyYWN0L3JldXNlIHRob3NlIGZyb20g dGhlIGlndCB0ZXN0Y2FzZXMKPj4+Pj4gbWlnaHQgYmUKPj4+Pj4gcmVhbGx5IHVzZWZ1bC4gSS5l LiBhZGQgZG9jcyB0aGF0IGV4cGxhaW4KPj4+Pj4gYSkgd2hhdCBpZ3QgbXVzdCBwYXN0IG9mIGEg ZmVhdHVyZSB0byBiZSBjb25zaWRlcmVkIHdvcmtpbmcKPj4+Pj4gYikgYWRkIHNvbWUgZnVuY3Rp b25zIHRvIGlndCB0ZXN0Y2FzZXMgZm9yIG1hbnVhbGx5Cj4+Pj4+IGVuYWJsaW5nL2Rpc2FibGlu ZyBhCj4+Pj4+IGdpdmVuIHJwbSBmZWF0dXJlLiBUaGUgdGVzdHMgYWxyZWFkeSBrbm93IGhvdyB0 byBkbyB0aGF0LCBhbmQKPj4+Pj4gbW9zdAo+Pj4+PiBoYXZlCj4+Pj4+IG5pY2UgZXhwbGFuYXRp b25zIGFib3V0IHdoYXQgYWxsIHNob3VsZCBiZSBjaGFuZ2VkIG9uIHRvcCB0byBtYWtlCj4+Pj4+ IHRoaW5ncwo+Pj4+PiB3b3JrLgo+Pj4+Cj4+Pj4gQWN0dWFsbHkgSSBoYWQgdGhlIG9wcG9zaXRl IGRpcmVjdGlvbiBpbiBtaW5kLiBJIHdhcyBleHBlY3Rpbmcgd2UKPj4+PiBjb3VsZAo+Pj4+IG1h a2UgaWd0IHRlc3RzIHRvIHN0YXJ0IHVzaW5nIHRoaXMgc3lzZnMgdG9nZ2xlcy4KPj4+PiBUaGUg cHJvYmxlbSBJIHNlZSB3aXRoIGN1cnJlbnQgaWd0IHRlc3RzIHdheSBpcyB0aGF0IHdlIG5lZWQg dG8KPj4+PiBjaGFuZ2UKPj4+PiB0aGUgcGFyYW1ldGVyIGFuZCBkZXBlbmQgb24gdGhlIG5leHQg ZnVsbCBtb2Rlc2V0IGhhcHBlbmluZy4gV2VsbAo+Pj4+IGl0IGlzCj4+Pj4gdHJ1ZSB0aGF0IHdl IG5lZWQgdG8gaGF2ZSB0aGUgbW9kZXNldCBvbiB0aGUgdGVzdHMgYW55d2F5LCBidXQgSQo+Pj4+ IGJlbGlldmUgd2UgY291bGQgcmVkdWNlIHRoYXQgcmVzdHJpY3Rpb24gYW5kIGFsc28gcG93ZXJ0 b3Agd291bGRuJ3QKPj4+PiBkbwo+Pj4+IGFueSBtb2Rlc2V0Lgo+Pj4KPj4+IFNvIHRha2luZyBt b3JlIHN0ZXBzIGJhY2t3YXJkczogVGhlIGdvYWwgaGVyZSBpcyB0byBoZWxwIGRlYnVnCj4+PiBy dW50aW1lCj4+PiBwbSBpc3N1ZXMuIFRoZSBwcm9wb3NlZCBzb2x1dGlvbnMgaXMgdGhhdCB5b3Ug Y2FuIHRvZ2dlbCBzdHVmZiBpbgo+Pj4gcG93ZXJ0b3AuCj4+Pgo+Pj4gSXMgdGhpcyByZWFsbHkg aG93IHRoZSBleHBlcnRzIGRlYnVnIHJ1bnRpbWUgcG0gaXNzdWVzPwo+Pgo+PiBJJ3ZlIHNlZW4g bWFueSBleHBlcnRzIChub24tZ2Z4IGRldnMpIGFyb3VuZCB1c2luZyB0aGUgcG93ZXJ0b3AgZm9y Cj4+IGRlYnVnaW5nIFBNIHJlbGF0ZWQgaXNzdWVzIGFuZCBjaGVja2luZyBQQyBzdGF0ZXMsIGV0 Yy4KPj4KPj4gT25lIHZlcnkgZ29vZCBjYXNlIHRvIGhhdmUgYXQgbGVhc3QgdGhlIGluZm9ybWF0 aXZlIHRhYiB0aGVyZSBpcwo+PiBleGFjdGx5IGhlbHAgdGhpcyB1c2UgY2FzZTogT25lIGRldmVs b3BlciBpbiB0aGUgcG93ZXIgbGFiIGNhbm5vdCBzZWUKPj4gZGVlcCBQQyBzdGF0ZSByZXNpZGVu Y2llcyB3aXRoIHNjcmVlbiBvbiBhbmQgbG9vayB0byB0aGUgZ2Z4IHRhYiBhbmQKPj4gc2VlIGlm IERNQyBpcyBlbmFibGVkIG9yIG5vdCBhbmQgUFNSIGlzIGVuYWJsZWQgb3Igbm90LiBBbmQgdGhl IGV4dHJhCj4+IGlzIGlmIGlzIG5vdCBlbmFibGVkIGJ1dCBwb3NzaWJsZSBpdCB3b3VsZCBqdXN0 IHRvZ2dsZSBkaXJlY3RseSBmcm9tCj4+IHRoYXQgaW50ZXJmYWNlLgo+Pgo+PiBPciBhdCBsZWFz dCB0aGUgaW5mb3JtYXRpdmUgd2l0aCBldmVyeXRoaW5nIHRvZ2V0aGVyIHRoZXkgd291bGQga25v dyBpZgo+PiBpOTE1IGlzIHNvbWVob3cgdGhlIGN1bHByaXQgZm9yIGJsb2NraW5nIFBDIHN0YXRl cyB3aXRob3V0IG5lZWQgdG8gaHVudAo+PiBkaWZmZXJlbnQgZGVidWdmcyBpbnRlcmZhY2VzIHRo ZXkgYXJlIG5vdCBmYW1pbGlhciB3aXRoLgo+Cj4gSSdtIGZ1bGx5IG9uIGJvYXJkIHdpdGggeW91 IG9uIHRoZSAiZmlndXJlIG91dCB0aGF0IGk5MTUgaXMgdGhlIGN1bHByaXQiLgo+IEkgZG9uJ3Qg Z2V0IHdoeSB3ZSBuZWVkIHRvIGJlIGFibGUgdG8gdG9nZ2xlIHN0dWZmIGZyb20gd2l0aGluIHBv d2VydG9wIHRvCj4gZG8gdGhhdC4gSW5mb3JtYXRpb24tb25seSBzaG91bGQgYmUgZW5vdWdoLiBN YXliZSBldmVuIHNvbWUgb2YgdGhlIGhpbnRzCj4gUGF1bG8gc3VnZ2VzdGVkIChsaWtlICJ5b3Ug aGF2ZW4ndCBsb2FkZWQgRE1DLCBwbHMgaW5zdGFsbCIpLgo+Cj4gQWRkaW5nIHRvZ2dsZXMgaW50 byBwb3dlcnRvcCAtIEkgaGF2ZSBubyBpZGVhIGhvdyB0aGF0IGhlbHBzIHdpdGgKPiBkZWJ1Z2dp bmcsIGJleW9uZCB0aGUgbW9kcGFyYW1zIHdlIGhhdmUgYWxyZWFkeS4gVGhpcyBpcyBhbHNvIGJl Y2F1c2UgSSdtCj4gc3Ryb25nbHkgb3Bwb3NlZCBhcyAicG93ZXJ0b3AgdGhlIHNvbHV0aW9uIHRv IGVuYWJsZSBycG0gc3R1ZmYgYnkKPiBkZWZhdWx0IiwgYW5kIHRoYXQncyBzZWVtcyB0byBiZSB0 aGUgcmVhc29uIGEgbG90IG9mIGZvbGtzIHdhbnQgdGhlc2UKPiBrbm9icy4KPgo+IEltbyBpZiBz b21ldGhpbmcgZG9lc24ndCB3b3JrIHRoYXQgc2hvdWxkLCB0aGUgbmV4dCBzdGVwIGlzIHRvIGZp bGUgYSBidWcKPiByZXBvcnQgd2l0aCB0aGUgaTkxNSBleHBlcnRzIHRvIGZpeCB0aGlzLiBOb3Qg a25vYnMgYW5kIGhhY2tzIGluIHBvd2VydG9wCj4gLi4uCj4KPiAvbWUgZmlnaHRpbmcgYSBiaXQg YSBob2x5IHdhcgo+Cj4+PiBBdCBsZWFzdCB3aGVuIEkgaGFjayBhcm91bmQgbXkgZmlyc3QgcXVl c3Rpb25zIGFyZToKPj4+IC0gZG8gd2UgZ2V0IHJlc2lkZW5lbmN5L2hvdyBtdWNoLCBhbmQgbWF5 YmUgd2hhdCBleGFjdGx5IGlzIGJsb2NraW5nCj4+PiBpdC4gSSB0aGluayB3ZSBkaXNjdXNzZWQg dGhpcyBhdCB0aGUgbWVldGluZyBhbmQgYWdyZWVkIHRoYXQKPj4+IG1vcmUvb2ZmaWNpYWxseSBl eHBvc2VkIHJlc2lkZW5jeSBjb3VudGVycy4KPj4KPj4gVGhlIHByb2JsZW0gaXMgdGhhdCB3ZSBk b24ndCBoYXZlIHRoaXMgY291bnRlcnMgd2hlbiBwb3dlciB3ZWxscyBhcmUKPj4gZG93bi4gU28g d2UgbG9zdCBhbGwgREMgY291bnRlcnMgYW5kIFBTUiBjb3VudGVyIHdoZW4gREMgZW50cnkuCj4+ IFNvIG5vIHJlc2lkZW5jaWVzLiBCdXQgSSBzdGlsbCBsaWtlIHRoZSBpZGVhIG9mIHRoZSBzdGF0 dXMuCj4KPiBBbmQgSSBndWVzcyBubyB3YXkgdG8gYXQgbGVhc3Qgc29tZXdoYXQgZmFrZSB0aG9z ZSBpbiBzb2Z0d2FyZT8KPgo+Pj4gLSBvbmNlIEkgaGF2ZSBhIHN1c3BlY3QgSSBrZWVwIGRpZ2dp bmcgaW50byB0aGF0IGRpcmVjdGlvbiwgdXNpbmcKPj4+IGRlYnVnZnMvdW5zYWZlIG1vZHVsZSBv cHRpb25zLCBkZWJ1Z2ZzIGluZm9ybWF0aW9uLCB3aGF0ZXZlci4KPj4+Cj4+PiBJIGZ1bGx5IGFn cmVlIHRoYXQgd2UgY2FuIHRyeSB0byBkbyBhIGJldHRlciBqb2Igb24gZG9jdW1lbnRpbmcgdGhp cwo+Pj4gc3R1ZmYsIGFuZCBtYXliZSBleHBvc2luZyBtb3JlIGluZm9ybWF0aW9uIHRocm91Z2gg c3RhYmxlIGludGVyZmFjZXMuCj4+Pgo+Pj4gQnV0IGFkZGluZyBuZXcgYWJpIHRvIGVuYWJsZS9k aXNhYmxlIHN0dWZmIHNvdW5kcyBsaWtlIGp1bXBpbmcgaW50bwo+Pj4gdGhlIG1pZGRsZSBvZiB0 aGUgdXNlLWNhc2Ugc3RvcnksIGlnbm9yaW5nIGV2ZXJ5dGhpbmcgZWxzZS4gQW5kIEkKPj4+IHRo aW5rIHRoYXQgd2FzIHJvdWdobHkgd2hhdCB3ZSBhZ3JlZWQgYXQgdGhhdCBtZWV0aW5nIC0gd2Ug Y2FuIGFkZAo+Pj4ga25vYnMgd2hlbiBpdCBtYWtlcyBzZW5zZSwgYnV0IG9ubHkgd2hlbiBpdCBt YWtlcyBzZW5zZS4gSSdtIHN0aWxsCj4+PiBub3QKPj4+IHNvbGQgb24gdGhlICJkZWJ1ZyBieSBw b3dlcnRvcCIgc29sdXRpb24uCj4+Cj4+IHdoYXQgYWJvdXQgYXQgbGVhc3QgaW5mb3JtYXRpdmUg Zm9yIG5vdz8KPgo+IFVzZWZ1bCBpbmZvcm1hdGlvbiBzb3VuZHMgZ29vZC4gSSdtIGZyZWFraW5n IG91dCBhYm91dCB0aGUgbWFpbnRlbmFuY2Ugb2YKPiBhZGRpbmcga25vYnMgYW5kIHN0dWZmIHRo YXQncyBzdXBwb3NlZCB0byB3b3JrLgo+Cj4+IFdhdGVybWFyayBpcyBteSBiYWQuIEkgZm9yZ290 IHRvIGluY2x1ZGUgaXQgYW5kIGFsc28gdG8gdG9nZ2xlIGl0IHdlCj4+IHdvdWxkIG5lZWQgdG8g YWRkIHN1cHBvcnQgZm9yIGRpc2FibGluZyBpdCB3aGF0IHdlIGRvbid0IGhhdmUgYXQgYWxsCj4+ IGJ1dCBJIGJlbGlldmUgd2Ugc2hvdWxkIGhhdmUgYW55d2F5cy4KPgo+IFdhdGVybWFya3Mgd2Fz IGEgYml0IGEgdHJpY2sgZXhhbXBsZSwgc2luY2UgaW1vIGFkZGluZyBjb2RlIHRvCj4gZmFrZS1k aXNhYmxlIGxvdy1wb3dlciB3YXRlcm1hcmsgbGV2ZWxzIGlzIG5vbnNlbnNlLiBJdCdzIG9ubHkg Z29pbmcgdG8KPiBoZWxwIHdpdGggdmVyeSBzcGVjaWZpYyBidWdzLCBhbmQgaWYgeW91IGRvbid0 IHVuZGVyc3RhbmQgdGhlIHdtCj4gcHJvZ3JhbW1pbmcgbW9kZWwgZm9yIHlvdXIgcGxhdGZvcm1z IGl0J3MgZ29pbmcgdG8gYmUgdG90YWxseSB1c2VsZXNzCj4gaW5mb3JtYXRpb24uIE1pc2NvbmZp Z3VyaW5nIHRoZSBkcml2ZXIgdG8gbWFrZSBpdCBjcmFwIGRvZXNuJ3QgcmVhbGx5IHRlbGwKPiB5 b3UgYSBsb3QgLi4uCj4gLURhbmllbAo+CgpUaGFuayB5b3UgZm9yIGFsbCB0aGUgcmV2aWV3cyBh bmQgdGhlIGNvbnN0cnVjdGl2ZSBmZWVkYmFjay4gIEknbSAKcGxlYXNlZCB0aGUgcGF0Y2hlcyBn b3QgeW91ciBhdHRlbnRpb24uCgpJJ2xsIHNwaW4gdG9kYXkgdGhlIHBhdGNoZXMgdG8gc2hvdyBv bmx5IHRoZSBzdGF0ZSBvZiB0aGUgZmVhdHVyZXMgb24gCnN5c2ZzLiAgSSBzdGlsbCB0aGluayB0 aGVyZSBpcyBzb21lIHZhbHVlIG9uIHRvZ2dsaW5nIHRoZSBpbnRlcmZhY2VzLCAKaG93ZXZlciB0 aGUgc3RhYmlsaXR5IG9mIHRoZSBkcml2ZXIgZm9yIHRoZSBlbmQgdXNlciBzZWVtcyB0byB3aW4g dGhhdCAKYmF0dGxlIGZvciBub3cgOikKCkkgc2VlIHRoZSBiZW5lZml0IG9uIGFkZGluZyBtb3Jl IGRvY3VtZW50YXRpb24gYXJvdW5kIGVhY2ggZmVhdHVyZSBhbmQgCmhvdyB0aGV5IGltcGFjdCBS UE0uICBJIHRoaW5rIHRoZSBwbGF0Zm9ybSBlbmFibGluZyBlbmdpbmVlciB3b3VsZCBmaW5kIAp0 aGlzIGtpbmQgb2YgaW5mb3JtYXRpb24gaW50ZXJlc3Rpbmcgd2hlbiBkZWJ1Z2dpbmcgdGhlIG1h bnkgR0ZYIGJ1Z3MgCnRoYXQgb2Z0ZW4gYXJlIHRoZSBjdWxwcml0IHdoZW4gcmVhY2hpbmcgZGVl cCBDIHN0YXRlcy4KCi0tIApUaGFuayB5b3UsCjxBbGV4YW5kcmE+Cl9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50 ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9y Zy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=