From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrzej Hajda Subject: Re: Armada DRM: bridge with componentized devices Date: Tue, 8 Jan 2019 10:22:06 +0100 Message-ID: References: <7f7fa069f0b104f9f60a56077b26a894f667be41.camel@v3.sk> <20190103131146.GI26090@n2100.armlinux.org.uk> <20190107104532.GI21184@phenom.ffwll.local> <0cb02a2d-ec74-3c0f-dcf6-f7b9b1210190@samsung.com> <20190107160833.GL21184@phenom.ffwll.local> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mailout2.w1.samsung.com (mailout2.w1.samsung.com [210.118.77.12]) by gabe.freedesktop.org (Postfix) with ESMTPS id 348666EEE7 for ; Tue, 8 Jan 2019 09:22:11 +0000 (UTC) Received: from eucas1p1.samsung.com (unknown [182.198.249.206]) by mailout2.w1.samsung.com (KnoxPortal) with ESMTP id 20190108092209euoutp02a898aa13b41ca06d68a00818d9406956~31R-ZKPEh2452724527euoutp02O for ; Tue, 8 Jan 2019 09:22:09 +0000 (GMT) In-Reply-To: Content-Language: en-US List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Daniel Vetter Cc: Lubomir Rintel , Liviu Dudau , Russell King - ARM Linux , DRI Development , Peter Rosin List-Id: dri-devel@lists.freedesktop.org T24gMDguMDEuMjAxOSAwOTo0NywgRGFuaWVsIFZldHRlciB3cm90ZToKPiBPbiBUdWUsIEphbiA4 LCAyMDE5IGF0IDk6MzUgQU0gQW5kcnplaiBIYWpkYSA8YS5oYWpkYUBzYW1zdW5nLmNvbT4gd3Jv dGU6Cj4+IE9uIDA3LjAxLjIwMTkgMjI6NTYsIERhbmllbCBWZXR0ZXIgd3JvdGU6Cj4+PiBPbiBN b24sIEphbiA3LCAyMDE5IGF0IDU6MjcgUE0gQW5kcnplaiBIYWpkYSA8YS5oYWpkYUBzYW1zdW5n LmNvbT4gd3JvdGU6Cj4+Pj4gT24gMDcuMDEuMjAxOSAxNzowOCwgRGFuaWVsIFZldHRlciB3cm90 ZToKPj4+Pj4gT24gTW9uLCBKYW4gMDcsIDIwMTkgYXQgMTI6MjY6NThQTSArMDEwMCwgQW5kcnpl aiBIYWpkYSB3cm90ZToKPj4+Pj4+IE9uIDA3LjAxLjIwMTkgMTE6NDUsIERhbmllbCBWZXR0ZXIg d3JvdGU6Cj4+Pj4+Pj4gT24gVGh1LCBKYW4gMDMsIDIwMTkgYXQgMDE6MTE6NDdQTSArMDAwMCwg UnVzc2VsbCBLaW5nIC0gQVJNIExpbnV4IHdyb3RlOgo+Pj4+Pj4+PiBPbiBUaHUsIEphbiAwMywg MjAxOSBhdCAxMDo0NzoyN0FNICswMTAwLCBMdWJvbWlyIFJpbnRlbCB3cm90ZToKPj4+Pj4+Pj4+ IEhlbGxvLAo+Pj4+Pj4+Pj4KPj4+Pj4+Pj4+IGxhdGVseSBJJ3ZlIGJlZW4gdHJ5aW5nIHRvIG1h a2UgdGhlIEhpbWF4IEhYODgzNyBjaGlwIHRoYXQgZHJpdmVzIHRoZSBPTFBDCj4+Pj4+Pj4+PiBM Q0QgZGlzcGxheSB3b3JrIHdpdGggQXJtYWRhIERSTSBkcml2ZXIuIEkndmUgYmVlbiBhZHZpc2Vk IHRvIGNyZWF0ZSBhCj4+Pj4+Pj4+PiBicmlkZ2UgZHJpdmVyIGFuZCBub3QgYW4gZW5jb2RlciBk cml2ZXIgc2luY2UgdGhlIHNpbGljb24gaXMgc2VwYXJhdGUgZnJvbQo+Pj4+Pj4+Pj4gdGhlIExD REMuCj4+Pj4+Pj4+Pgo+Pj4+Pj4+Pj4gVGhlIEFybWFkYSBEUk0gZHJpdmVyIChhbmQsIEkgdGhp bmssIHRoZSBpLk1YIG9uZSkgY3JlYXRlcyB0aGUgZHJtX2RldmljZQo+Pj4+Pj4+Pj4gb25jZSB0 aGUgY29tcG9uZW50IGluZnJhc3RydWN0dXJlIHNlZXMgdGhlIG5lY2Vzc2FyeSBzdWItZGV2aWNl cyBhcHBlYXIuCj4+Pj4+Pj4+PiBUaGUgc3ViLWRldmljZXMgYmVpbmcgdGhlIExDRENzIGFuZCB0 aGUgZW5jb2RlcnMgKG5vdCBicmlkZ2VzKSB0aGF0IGl0Cj4+Pj4+Pj4+PiBleHBlY3RzIHRvIGJl IGNyZWF0ZWQgZXh0ZXJuYWxseS4KPj4+Pj4+Pj4+Cj4+Pj4+Pj4+PiBDdXJyZW50bHksIGl0IHNl ZW1zLCB0aGUgb25seSBkcml2ZXIgdGhhdCBjYW4gYWN0dWFsbHkgd29yayB3aXRoIHRoaXMgKHRo YXQKPj4+Pj4+Pj4+IGlzIC0tIGNyZWF0ZXMgYSBkcm1fZW5jb2RlciBmb3IgYSBkcm1fZGV2aWNl IHdoZW4gdGhlIGNvbXBvbmVudCBpcyBib3VuZCkKPj4+Pj4+Pj4+IGlzIHRoZSB0ZGE5OTh4LiBB bGwgb3RoZXIgc2ltaWxhciBkcml2ZXJzIGNyZWF0ZSBhIGRybV9icmlkZ2UgaW5zdGVhZCBhbmQK Pj4+Pj4+Pj4+IG5vdCB1c2UgdGhlIGNvbXBvbmVudCBpbmZyYXN0cnVjdHVyZSBhdCBhbGwuIChJ biBmYWN0LCB0aWxjZGMgZHJpdmVyCj4+Pj4+Pj4+PiBjb250YWlucyBhICBoYWNrIHRvIGhhbmRs ZSB0ZGE5OTh4IHNwZWNpYWxseS4pCj4+Pj4+Pj4+Pgo+Pj4+Pj4+Pj4gSSdtIHdvbmRlcmluZyBo b3cgdG8gcmVjb25jaWxlIHRoZSB0d28/Cj4+Pj4+Pj4+Pgo+Pj4+Pj4+Pj4gKiBUaGUgdGRhOTk4 eCBkcml2ZXIgaGFzIHJlY2VudGx5IGJlZW4gbW9kaWZpZWQgdG8gY3JlYXRlIGEgYnJpZGdlIG9u IHByb2JlCj4+Pj4+Pj4+PiAgIGFuZCBldmVudHVhbGx5IGVuY29kZXIgb24gY29tcG9uZW50IGJp bmQuIElzIHRoaXMgYW4gb2theSB0aGluZyB0byBkbyBpbgo+Pj4+Pj4+Pj4gICBhIG5ldyBkcml2 ZXI/ICh0aGlzIHByb2JhYmx5IG1lYW5zIHRoZSB0aWxjZGMgaGFjayBjYW4gYmUgcmVtb3ZlZC4u LikKPj4+Pj4+Pj4+Cj4+Pj4+Pj4+PiAqIElmIGEgbm9uLWNvbXBvbmVudGl6ZWQgYnJpZGdlIHdl cmUgdG8gYmUgdXNlZCAoYWxvbmcgd2l0aCBhIGR1bW15Cj4+Pj4+Pj4+PiAgIGVuY29kZXIpLCBh dCB3aGF0IHBvaW50IHdvdWxkIGl0IG1ha2Ugc2Vuc2UgdG8gbG9vayBmb3IgdGhlIGJyaWRnZT8K Pj4+Pj4+Pj4+ICAgV291bGQgaXQgYmUgYSBnb29kIGlkZWEgdG8gZGVmZXIgdGhlIHByb2JlIG9m IGNydGMgdW50aWwgYSBicmlkZ2UgY2FuIGJlCj4+Pj4+Pj4+PiAgIGxvb2tlZCB1cCBhbmQgdGhl IGF0dGFjaCBpdCBvbiBjb21wb25lbnQgYmluZD8gIFdoYXQgaWYgdGhlIGJyaWRnZSBnb2VzCj4+ Pj4+Pj4+PiAgIGF3YXkgKGEgbW9kdWxlIGlzIHVubG9hZGVkLCBldGMuKSBpbiBiZXR3ZWVuPwo+ Pj4+Pj4+Pj4KPj4+Pj4+Pj4+IEknZCBiZSB0aGFua2Z1bCBmb3Igb3BpbnRpb25zIGFuZCBhZHZp Y2UgYmVmb3JlIEkgbW92ZSBhaGVhZCB3aXRoIHRoaXMuCj4+Pj4+Pj4+IFRoaXMgaXMgdGhlIGxv bmctc3RhbmRpbmcgcHJvYmxlbSB3aXRoIHRoZSBjb25mbGljdCBiZXR3ZWVuIGJyaWRnZQo+Pj4+ Pj4+PiBzdXBwb3J0IGFuZCBjb21wb25lbnQgc3VwcG9ydCwgYW5kIEknbSBub3Qgc3VyZSB0aGF0 IHRoZXJlIGlzIHJlYWxseQo+Pj4+Pj4+PiBhbnkgYW5zd2VyIHRvIGl0Lgo+Pj4+Pj4+Pgo+Pj4+ Pj4+PiBJJ3ZlIGdvbmUgaW50byB0aGUgZGV0YWlscyBvZiB0aGUgdHdvIHNldmVyYWwgdGltZXMg b24gdGhlIGxpc3QsCj4+Pj4+Pj4+IHBhcnRpY3VsYXJseSBhYm91dCB0aGUgc2hvcnQtY29taW5n cyBvZiB0aGUgYnJpZGdlIGFwcHJvYWNoLCBidXQgaXQKPj4+Pj4+Pj4gc2VlbXMgbm8gb25lIGNh cmVzIHRvIGZpeCB0aG9zZSBzaG9ydC1jb21pbmdzLgo+Pj4+Pj4+Pgo+Pj4+Pj4+PiBZb3UgYXJl IHJlLWlkZW50aWZ5aW5nIHNvbWUgb2YgdGhlIGlzc3VlcyB0aGF0IEkndmUgYWxyZWFkeSBwb2lu dGVkCj4+Pj4+Pj4+IG91dCAtIHN1Y2ggYXMgd2hhdCBoYXBwZW5zIHRvIERSTSBkcml2ZXMgd2hl biB0aGUgYnJpZGdlIGRyaXZlciBpcwo+Pj4+Pj4+PiB1bmJvdW5kIChpdCdzIHJlYWxseSBub3Qg YWJvdXQgbW9kdWxlcyBiZWluZyB1bmxvYWRlZCwgYW5kIHRoZSBwcm9ibGVtCj4+Pj4+Pj4+IGNh bid0IGJlIHNvbHZlZCBieSB0YWtpbmcgYSBtb2R1bGUgcmVmZXJlbmNlIGNvdW50IC0gYWxsIHRo YXQgdGhlCj4+Pj4+Pj4+IG1vZHVsZSByZWZlcmVuY2UgY291bnQgZG9lcyBpcyBlbnN1cmUgdGhh dCB0aGUgbW9kdWxlIGRvZXNuJ3QgZ28KPj4+Pj4+Pj4gYXdheSB1bmV4cGVjdGVkLCB0aGVyZSBp cyBubyB3YXkgdG8gZW5zdXJlIHRoYXQgdGhlIGRldmljZSBpc24ndAo+Pj4+Pj4+PiB1bmJvdW5k LikKPj4+Pj4+Pj4KPj4+Pj4+Pj4gVGhlIGlzc3VlIG9mIHVuYmluZGluZyBpcyBwcmVjaXNlbHkg dGhlIGlzc3VlIHdoaWNoIHRoZSBjb21wb25lbnQKPj4+Pj4+Pj4gc3VwcG9ydCB3YXMgY3JlYXRl ZCB0byBzb2x2ZSAtIGJ1dCBldmVyeW9uZSBzZWVtcyB0byBwcmVmZXIgdGhlIGJ1Z2d5Cj4+Pj4+ Pj4+IGJyaWRnZSBhcHByb2FjaCwgYW5kIG5vIG9uZSBzZWVtcyB3aWxsaW5nIHRvIGRvIGFueXRo aW5nIGFib3V0IHRoZQo+Pj4+Pj4+PiBidWdzIG9yIGV2ZW4gYWNrbm93bGVkZ2UgdGhhdCBpdCdz IGEgcHJvYmxlbS4gIEl0J3Mgc3RyYW5nZSAtIGlmIG9uZQo+Pj4+Pj4+PiBpZGVudGlmaWVzIGJ1 Z3MgdGhhdCByZXN1bHQgaW4ga2VybmVsIG9vcHMgaW4gb3RoZXIga2VybmVsIHN1YnN5c3RlbXMs Cj4+Pj4+Pj4+IG9uZSBpcyBnZW5lcmFsbHkgdGFrZW4gc2VyaW91c2x5IGFuZCB0aGUgcHJvYmxl bSBpcyBzb2x2ZWQuCj4+Pj4+Pj4gVW5iaW5kaW5nIGlzIHJlYWxseSBub3QgdGhlIG1vc3QgaW1w b3J0YW50IGZlYXR1cmUsIGVzcGVjaWFsbHkgZm9yIFNvQy4gSWYKPj4+Pj4+PiB5b3UgZmVlbCBk aWZmZXJlbnQsIHdvcmtpbmcgdG9nZXRoZXIgd2l0aCBvdGhlcnMsIGdldHRpbmcgc29tZSBhZ3Jl ZW1lbnQsCj4+Pj4+Pj4gZ2V0dGluZyB0aGUgcGF0Y2hlcyByZXZpZXdlZCBhbmQgZmluZGluZyBz b21lb25lIHRvIGdldCB0aGVtIG1lcmdlZCBpcwo+Pj4+Pj4+IHZlcnkgbXVjaCBhcHByZWNpYXRl ZC4gQnV0IGp1c3QgY29tcGxhaW5pbmcgd29uJ3QgbW92ZSB0aGlzIGZvcndhcmQuCj4+Pj4+Pj4K Pj4+Pj4+Pj4gVGhlIGlzc3VlIGFib3V0IHRoZSBlbmNvZGVycyBpcyBzb21ldGhpbmcgdGhhdCBJ J3ZlIHRyaWVkIHRvIGRpc2N1c3MsCj4+Pj4+Pj4+IGFuZCBJJ3ZlIHBvaW50ZWQgb3V0IHRoYXQg bW92aW5nIGl0IGludG8gdGhlIERSTSBkcml2ZXIgYWRkcyBhZGRpdGlvbmFsCj4+Pj4+Pj4+IGNv bXBsZXhpdHkgdGhlcmUsIGFuZCBJJ2QgaG9wZWQgdGhhdCBteSBwYXRjaCBzZXQgSSBwb3N0ZWQg d291bGQndmUKPj4+Pj4+Pj4gZ2VuZXJhdGVkIGRpc2N1c3Npb24sIGJ1dCBhbGFzIG5vdC4KPj4+ Pj4+Pj4KPj4+Pj4+Pj4gV2hhdCBJJ20gbm90IHByZXBhcmVkIHRvIGRvIGlzIHRvIGludHJvZHVj ZSBfa25vd25fIGJ1Z3MgaW50byBhbnkKPj4+Pj4+Pj4gZHJpdmVyIHRoYXQgSSBtYWludGFpbi4K Pj4+Pj4+PiBJIHRob3VnaHQgbGFzdCB0aW1lIGFyb3VuZCB0aGUgaWRlYSB3YXMgdG8gdXNlIGRl dmljZSBsaW5rcyAoYW5kIHRlYWNoCj4+Pj4+Pj4gZHJtX2JyaWRnZSBhYm91dCB0aGVtKSwgc28g dGhhdCB0aGUgdW5sb2FkaW5nIHdvcmtzIGNvcnJlY3RseS4KPj4+Pj4+IFdpdGggY3VycmVudCBk ZXZpY2VfbGlua3MgaW1wbGVtZW50YXRpb24gcmVnaXN0ZXJpbmcgbGlua3MgaW4gcHJvYmUgb2YK Pj4+Pj4+IHRoZSBjb25zdW1lciBpcyBqdXN0IGluY29ycmVjdCAtIGl0IGNhbiBoYXBwZW4gdGhh dCBuZWl0aGVyIGNvbnN1bWVyCj4+Pj4+PiBuZWl0aGVyIHByb3ZpZGVyIGlzIGZ1bGx5IHByb2Jl ZCBhbmQgY3JlYXRpbmcgZGV2aWNlIGxpbmtzIGluIHN1Y2ggc3RhdGUKPj4+Pj4+IGlzIHdyb25n IGFjY29yZGluZyB0byBkb2NzLCBhbmQgbXkgZXhwZXJpbWVudHMuIFNlZSBbMV0gZm9yIGRpc2N1 c3Npb24KPj4+Pj4+IGFuZCBbMl0gZm9yIGRvY3MuCj4+Pj4+IFdlIGNvdWxkIHNldCB1cCB0aGUg ZGV2aWNlIGxpbmsgb25seSBhdCBkcm1fZGV2X3JlZ2lzdGVyIHRpbWUuIEF0IHRoYXQgcG9pbnQK Pj4+Pj4gd2Uga25vdyB0aGF0IGRyaXZlciBsb2FkaW5nIGhhcyBmdWxseSBzdWNjZWVkZWQuIFdl IGRvIGhhdmUgYSBsaXN0IG9mCj4+Pj4+IGJyaWRnZXMgYXQgaGFuZCwgc28gdGhhdCdzIG5vdCBn b2luZyB0byBiZSBhbiBpc3N1ZS4KPj4+Pj4KPj4+Pj4gVGhlIG9ubHkgY2FzZSB3aGVyZSB0aGlz IGJyZWFrcyBpcyBpZiBhIGRyaXZlciBpcyBzdGlsbCB1c2luZyB0aGUKPj4+Pj4gZGVwcmVjYXRl ZCAtPmxvYWQgY2FsbGJhY2suIEJ1dCB0aGF0IC0+bG9hZCBjYWxsYmFjayBkb2Vzbid0IG1peCB3 ZWxsIHdpdGgKPj4+Pj4gRURFRkVSX1BST0JFL2NvbXBvbmVudCBmcmFtZXdvcmsgYW55d2F5LCBz byBJIHRoaW5rIG5vdCBnb2luZyB0byBiZSBhCj4+Pj4+IHByb2JsZW0gaG9wZWZ1bGx5Pwo+Pj4+ IGRybV9kZXZfcmVnaXN0ZXIgdXN1YWxseSBpcyBjYWxsZWQgZnJvbSBiaW5kIGNhbGxiYWNrLCB3 aGljaCBpcyBjYWxsZWQgZnJvbSBwcm9iZSBjYWxsYmFjayBvZiBvbmUgb2YgdGhlIGNvbXBvbmVu dHMgb3IgbWFzdGVyIChkZXBlbmRpbmcgb24gcGFydGljdWxhciBwcm9iZSBvcmRlcikuIElmIHlv dSB3YW50IHRvIHJlZ2lzdGVyIGRldmljZSBsaW5rIGluIHRoaXMgZnVuY3Rpb24gaXQgaXMgcG9z c2libGUgdGhhdCB0aGUgYmFkIHNjZW5hcmlvIHdpbGwgaGFwcGVuIC0gdGhlcmUgd2lsbCBiZSBh dHRlbXB0IHRvIGNyZWF0ZSBkZXZpY2UgbGluayBiZXR3ZWVuIG5vdC15ZXQtcHJvYmVkIGNvbnN1 bWVyIGFuZCBub3QteWV0LXByb2JlZCBwcm92aWRlci4KPj4+IElmIHlvdSBjYWxsIGRybV9kZXZf cmVnaXN0ZXIgYmVmb3JlIHlvdSBoYXZlIGFsbCB0aGUgY29tcG9uZW50cwo+Pj4gYXNzZW1ibGVk IChpLmUuIGFueXdoZXJlIGVsc2UgdGhhbiBpbiBtYXN0ZXIgYmluZCkgdGhhdCBzb3VuZHMgbGlr ZSBhCj4+PiBkcml2ZXIgYnVnLgo+Pgo+PiBUaGlzIGlzIGhvdyBjb21wb25lbnRzIHdvcmssIGV2 ZXJ5IGNvbXBvbmVudCBjYWxscyBjb21wb25lbnRfYWRkIHVzdWFsbHkKPj4gaW4gcHJvYmUsIGFu ZCB0aGlzIGZ1bmN0aW9uIGNoZWNrcyBpZiBhbGwgY29tcG9uZW50cyBhcmUgcHJlc2VudCwgaWYg eWVzCj4+IChpZS4gZHVyaW5nIHByb2JlIG9mIHRoZSBsYXN0IGNvbXBvbmVudCkgbWFzdGVyIGJp bmQgaXMgY2FsbGVkIGFuZCBpdAo+PiBjcmVhdGVzIGRybSBkZXZpY2UgYW5kIHRoZW4gcmVnaXN0 ZXJzIGl0LiBJZiB5b3UgYWRkIGRldmljZSBsaW5rIGF0IHRoaXMKPj4gbW9tZW50LCBpdCBpcyBz dGlsbCBiZWZvcmUgZW5kIG9mIHByb2JlIG9mIHRoZSBsYXN0IGNvbXBvbmVudC4KPj4KPj4gT24g dGhlIG90aGVyIHNpZGUgcHJvdmlkZXIgaXMgcmVnaXN0ZXJlZCAoZHJtX2JyaWRnZV9hZGQgaW4g Y2FzZSBvZgo+PiBicmlkZ2VzKSBkdXJpbmcgaXRzIHByb2JlIHNvIGl0IGJlY29tZXMgYXZhaWxh YmxlIHRvIHRoZSBjb25zdW1lcnMKPj4gQkVGT1JFIGVuZCBvZiBpdHMgcHJvYmUgYW5kIGFnYWlu IGl0IGNhbiBoYXBwZW4gdGhhdCBkZXZpY2UgbGluayB3aWxsIGJlCj4+IGFkZGVkIHRvIGVhcmx5 Lgo+IEhtIEkgcmVhZCB0aGF0IHRocmVhZCBhZ2Fpbi4gSXMgdGhlIHJlYXNvbiB3aHkgd2UgY2Fu J3QgYWRkIHRoZSBkZXZpY2UKPiBsaW5rIG9ubHkgdGhlIGV4eW5vcyBiZWhhdmlvdXIgdG8gYWxs b3cgZHJtX3BhbmVsIHRvIGJlCj4gaG90LWFkZGVkL3JlbW92ZWQ/CgoKTm90IG9ubHkuIFdoYXQg SSBoYXZlIGRlc2NyaWJlZCBhYm92ZSBpcyBjb21tb24gdG8gYWxsIGRyaXZlcnMgaXQgaGFzCm5v dGhpbmcgc3BlY2lmaWMgdG8gRXh5bm9zLgoKT2YgY291cnNlIGl0IHdhcyB0ZXN0ZWQgb24gRXh5 bm9zIGFzIHRoaXMgaXMgSFcgSSB3b3JrIG9uLiBMaW51cyBXYWxsZWlqCmhhcyBhbHNvIHJlcG9y dGVkIGluIHRoaXMgdGhyZWFkIHRoYXQgZGV2aWNlIGxpbmtzIGhhdmUgZGlmZmVyZW50IGlzc3Vl Ci0gY2lyY3VsYXIgZGVwZW5kZW5jaWVzIChsYXN0IGZldyBlbWFpbHMgaW4gdGhpcyBsZW5ndGh5 IHRocmVhZCkuIE15CnJlc3BvbnNlIGV4cGxhaW5zIGl0IGluIGRldGFpbC4KCgo+Cj4gTm90ZSB0 aGF0IGZvciBicmlkZ2UgYWxsb3dpbmcgdGhpcyBpcyAxMDAlIGJ1Z2d5OiBkcm0gY29yZSBkb2Vz IG5vdAo+IGFsbG93IHlvdSB0byBob3RwbHVnL2hvdHVucGx1ZyBicmlkZ2VzLgoKCldoYXQgcGFy dCBvZiBkcm0gY29yZSBkaXNhbGxvd3MgaXQ/IEFzIEkgcmVtZW1iZXIgZGlzY3Vzc2lvbnMgYWJv dXQKZHJtX2JyaWRnZSBkZXNpZ24gdGhlcmUgd2VyZSB2b2ljZXMgdGhhdCB0aGV5IHNob3VsZCBi ZQpob3QodW4pcGx1Z2dhYmxlLCBhbmQgdGhleSBhcmUgSU1PLCBvZiBjb3Vyc2UgaWYgdGhleSBh cmUgbm90IGFjdGl2ZS4KCgo+Cj4gSW4gdGhlb3J5IGRybV9wYW5lbCBjYW4gYmUgaG90cGx1Z2dl ZCAoYmVjYXVzZSB3ZSBjYW4gaG90cGx1Zwo+IGRybV9jb25uZWN0b3IpLCBidXQgSSdtIHByZXR0 eSBzdXJlIGV4eW5vcyBnZXRzIGl0IGFsbCB3cm9uZyBzaW5jZQo+IGhvdHBsdWdnaW5nIHBhbmVs cyBpcyBubyBlYXN5IHRoaW5nIHRvIGRvLiBJIGRvbid0IHRoaW5rIHRoaXMgaXMKPiBzb21ldGhp bmcgd2Ugd2FudCB0byBzdXBwb3J0LCBmb3JjaW5nIHRoZSBlbnRpcmUgZHJpdmVyIHRvIGJlIHVu bG9hZAo+IHNvdW5kcyBsaWtlIHdoYXQgd2Ugd2FudCB0byBkbyBoZXJlLgoKCkkgZG8gbm90IGtu b3cgaWYgaXQgaXMgJ2FsbCB3cm9uZycsIGJ1dCB0ZXN0cyBzaG93cyBpdCBpcwpob3QodW4pcGx1 Z2dhYmxlLiBJbiBib3RoIGNhc2VzIG9mIHBhbmVsIGFuZCBicmlkZ2UgOikKCgpSZWdhcmRzCgpB bmRyemVqCgoKCj4gLURhbmllbAo+Cj4+Cj4+IFJlZ2FyZHMKPj4KPj4gQW5kcnplago+Pgo+Pgo+ Pj4gZHJtX2Rldl9yZWdpc3RlciBwdWJsaXNoZXMgdGhlIGRybSBkZXZpY2UgaW5zdGFuY2UgdG8g dGhlCj4+PiB3b3JsZCwgaWYgeW91J3JlIG5vdCByZWFkeSB0byBoYW5kbGUgdXNlcnNwYWNlIHJl cXVlc3RzIGF0IHRoYXQgcG9pbnQKPj4+IChiZWNhdXNlIG5vdCBldmVyeXRoaW5nIGlzIGxvYWRl ZCB5ZXQpIHRoZW4gdGhpbmdzIHdpbGwgZ28gYm9vbSBpbgo+Pj4gdmVyeSBjb2xvcmZ1bCB3YXlz LiBBbmQgZnJvbSBteSAoYWRtaXR0ZWRseSB2ZXJ5IHJvdWdoKSB1bmRlcnN0YW5kaW5nCj4+PiB3 ZSBzaG91bGQgYmUgYWJsZSB0byByZWdpc3RlciB0aGUgdGhlIGRldmljZSBsaW5rcyBhcyB0aGUg dmVyeSBsYXN0Cj4+PiBzdGVwIGluIHRoZSBtYXN0ZXIgYmluZCBmdW5jdGlvbiAoYW5kIGRybV9k ZXZfcmVnaXN0ZXIgc2hvdWxkIGJlIGFib3V0Cj4+PiB0aGUgbGFzdCB0aGluZyB5b3UgZG8gaW4g dGhlIG1hc3RlciBiaW5kKS4KPj4+Cj4+PiBTbyBub3QgY2xlYXIgb24gd2h5IHRoaXMgd29uJ3Qg d29yaz8KPj4KPj4KPj4KPj4+IC1EYW5pZWwKPj4+IC0tCj4+PiBEYW5pZWwgVmV0dGVyCj4+PiBT b2Z0d2FyZSBFbmdpbmVlciwgSW50ZWwgQ29ycG9yYXRpb24KPj4+ICs0MSAoMCkgNzkgMzY1IDU3 IDQ4IC0gaHR0cDovL2Jsb2cuZmZ3bGwuY2gKPj4+Cj4+Pgo+CgpfX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1k ZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcv bWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK