From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thomas Hellstrom Subject: Re: [RFC PATCH] drm/ttm, drm/vmwgfx: Have TTM support AMD SEV encryption Date: Tue, 28 May 2019 17:11:13 +0200 Message-ID: <6b9b8536-bfea-5817-06e4-23881b86ab31@shipmail.org> References: <20190524081114.53661-1-thomas@shipmail.org> <84fa57da-7bb7-8322-125a-89596fbb2145@amd.com> <33816cbd-ddfb-b47a-a305-2760f8568eff@shipmail.org> <79c8d26a-d2dd-3e2c-f0bc-cbfc47a67fee@amd.com> <52df61a9-028e-8ff6-0850-20ddddb11de3@shipmail.org> <5b1b3f22-beea-16c4-a98f-9e632b408020@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from pio-pvt-msa2.bahnhof.se (pio-pvt-msa2.bahnhof.se [79.136.2.41]) by gabe.freedesktop.org (Postfix) with ESMTPS id 43A8289E59 for ; Tue, 28 May 2019 15:11:28 +0000 (UTC) In-Reply-To: <5b1b3f22-beea-16c4-a98f-9e632b408020@amd.com> 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: "Lendacky, Thomas" Cc: Thomas Hellstrom , "Koenig, Christian" , "dri-devel@lists.freedesktop.org" List-Id: dri-devel@lists.freedesktop.org SGksIFRvbSwKClRoYW5rcyBmb3IgdGhlIHJlcGx5LiBUaGUgcXVlc3Rpb24gaXMgbm90IGdyYXBo aWNzIHNwZWNpZmljLCBidXQgbGllcyBpbiAKeW91ciBhbnN3ZXIgZnVydGhlciBiZWxvdzoKCk9u IDUvMjgvMTkgNDo0OCBQTSwgTGVuZGFja3ksIFRob21hcyB3cm90ZToKPiBPbiA1LzI4LzE5IDI6 MzEgQU0sIFRob21hcyBIZWxsc3Ryb20gd3JvdGU6Cj4+IEhpLCBUb20sCj4+Cj4+IENvdWxkIHlv dSBzaGVkIHNvbWUgbGlnaHQgb24gdGhpcz8KPiBJIGRvbid0IGhhdmUgYSBsb3Qgb2YgR1BVIGtu b3dsZWRnZSwgc28gbGV0IG1lIHN0YXJ0IHdpdGggYW4gb3ZlcnZpZXcgb2YKPiBob3cgZXZlcnl0 aGluZyBzaG91bGQgd29yayBhbmQgc2VlIGlmIHRoYXQgYW5zd2VycyB0aGUgcXVlc3Rpb25zIGJl aW5nCj4gYXNrZWQuCj4KPiBGaXJzdCwgU01FOgo+IFRoZSBlbmNyeXB0aW9uIGJpdCBpcyBiaXQt NDcgb2YgYSBwaHlzaWNhbCBhZGRyZXNzLiBTbywgaWYgYSBkZXZpY2UgZG9lcwo+IG5vdCBzdXBw b3J0IGF0IGxlYXN0IDQ4LWJpdCBETUEsIGl0IHdpbGwgaGF2ZSB0byB1c2UgdGhlIFNXSU9UTEIg YW5kCj4gYm91bmNlIGJ1ZmZlciB0aGUgZGF0YS4gVGhpcyBpcyBoYW5kbGVkIGF1dG9tYXRpY2Fs bHkgaWYgdGhlIGRyaXZlciBpcwo+IHVzaW5nIHRoZSBMaW51eCBETUEtYXBpIGFzIGFsbCBvZiBT V0lPVExCIGhhcyBiZWVuIG1hcmtlZCB1bi1lbmNyeXB0ZWQuCj4gRGF0YSBpcyBib3VuY2VkIGJl dHdlZW4gdGhlIHVuLWVuY3J5cHRlZCBTV0lPVExCIGFuZCB0aGUgKHByZXN1bWFibHkpCj4gZW5j cnlwdGVkIGFyZWEgb2YgdGhlIGRyaXZlci4KPgo+IEZvciBTRVY6Cj4gVGhlIGVuY3J5cHRpb24g Yml0IHBvc2l0aW9uIGlzIHRoZSBzYW1lIGFzIFNNRS4gSG93ZXZlciwgd2l0aCBTRVYgYWxsCj4g RE1BIG11c3QgdXNlIGFuIHVuLWVuY3J5cHRlZCBhcmVhIHNvIGFsbCBETUEgZ29lcyB0aHJvdWdo IFNXSU9UTEIuIEp1c3QKPiBsaWtlIFNNRSwgdGhpcyBpcyBoYW5kbGVkIGF1dG9tYXRpY2FsbHkg aWYgdGhlIGRyaXZlciBpcyB1c2luZyB0aGUgTGludXgKPiBETUEtYXBpIGFzIGFsbCBvZiBTV0lP VExCIGhhcyBiZWVuIG1hcmtlZCB1bi1lbmNyeXB0ZWQuIEFuZCBqdXN0IGxpa2UgU01FLAo+IGRh dGEgaXMgYm91bmNlZCBiZXR3ZWVuIHRoZSB1bi1lbmNyeXB0ZWQgU1dJT1RMQiBhbmQgdGhlIChw cmVzdW1hYmx5KQo+IGVuY3J5cHRlZCBhcmVhIG9mIHRoZSBkcml2ZXIuCj4KPiBUaGVyZSBpcyBh biBvcHRpbWl6YXRpb24gZm9yIGRtYV9hbGxvY19jb2hlcmVudCgpIHdoZXJlIHRoZSBwYWdlcyBh cmUKPiBhbGxvY2F0ZWQgYW5kIG1hcmtlZCB1bi1lbmNyeXB0ZWQsIHRodXMgYXZvaWRpbmcgdGhl IGJvdW5jaW5nIChzZWUgZmlsZQo+IGtlcm5lbC9kbWEvZGlyZWN0LmMsIGRtYV9kaXJlY3RfYWxs b2NfcGFnZXMoKSkuCj4KPiBBcyBmb3Iga2VybmVsIHZtYXBzIGFuZCB1c2VyLW1hcHMsIHRob3Nl IHBhZ2VzIHdpbGwgYmUgbWFya2VkIGVuY3J5cHRlZAo+ICh1bmxlc3MgZXhwbGljaXRseSBtYWRl IHVuLWVuY3J5cHRlZCBieSBjYWxsaW5nIHNldF9tZW1vcnlfZGVjcnlwdGVkKCkpLgo+IEJ1dCwg aWYgeW91IGFyZSBjb3B5aW5nIHRvL2Zyb20gdGhvc2UgYXJlYXMgaW50byB0aGUgdW4tZW5jcnlw dGVkIERNQQo+IGFyZWEgdGhlbiBldmVyeXRoaW5nIHdpbGwgYmUgb2suCgpUaGUgcXVlc3Rpb24g aXMgcmVnYXJkaW5nIHRoZSBhYm92ZSBwYXJhZ3JhcGguCgpBRkFJQ1QswqAgc2V0X21lbW9yeV9k ZWNyeXB0ZWQoKSBvbmx5IGNoYW5nZXMgdGhlIGZpeGVkIGtlcm5lbCBtYXAgUFRFcy4KQnV0IHdo ZW4gc2V0dGluZyB1cCBvdGhlciBhbGlhc2VkIFBURXMgdG8gdGhlIGV4YWN0IHNhbWUgZGVjcnlw dGVkIApwYWdlcywgZm9yIGV4YW1wbGUgdXNpbmcgZG1hX21tYXBfY29oZXJlbnQoKSwga21hcF9h dG9taWNfcHJvdCgpLCB2bWFwKCkgCmV0Yy4gV2hhdCBjb2RlIGlzIHJlc3BvbnNpYmxlIGZvciBj bGVhcmluZyB0aGUgZW5jcnlwdGVkIGZsYWcgb24gdGhvc2UgClBURXM/IElzIHRoZXJlIHNvbWV0 aGluZyBpbiB0aGUgeDg2IHBsYXRmb3JtIGNvZGUgZG9pbmcgdGhhdD8KClRoYW5rcywKVGhvbWFz CgoKPgo+IFRoaW5ncyBnZXQgZnV6enkgZm9yIG1lIHdoZW4gaXQgY29tZXMgdG8gdGhlIEdQVSBh Y2Nlc3Mgb2YgdGhlIG1lbW9yeQo+IGFuZCB3aGF0IGFuZCBob3cgaXQgaXMgYWNjZXNzZWQuCj4K PiBUaGFua3MsCj4gVG9tCj4KPj4gVGhhbmtzLAo+PiBUaG9tYXMKPj4KPj4KPj4gT24gNS8yNC8x OSA1OjA4IFBNLCBBbGV4IERldWNoZXIgd3JvdGU6Cj4+PiArIFRvbQo+Pj4KPj4+IEhlJ3MgYmVl biBsb29raW5nIGludG8gU0VWIGFzIHdlbGwuCj4+Pgo+Pj4gT24gRnJpLCBNYXkgMjQsIDIwMTkg YXQgODozMCBBTSBUaG9tYXMgSGVsbHN0cm9tIDx0aG9tYXNAc2hpcG1haWwub3JnPgo+Pj4gd3Jv dGU6Cj4+Pj4gT24gNS8yNC8xOSAyOjAzIFBNLCBLb2VuaWcsIENocmlzdGlhbiB3cm90ZToKPj4+ Pj4gQW0gMjQuMDUuMTkgdW0gMTI6Mzcgc2NocmllYiBUaG9tYXMgSGVsbHN0cm9tOgo+Pj4+Pj4g W0NBVVRJT046IEV4dGVybmFsIEVtYWlsXQo+Pj4+Pj4KPj4+Pj4+IE9uIDUvMjQvMTkgMTI6MTgg UE0sIEtvZW5pZywgQ2hyaXN0aWFuIHdyb3RlOgo+Pj4+Pj4+IEFtIDI0LjA1LjE5IHVtIDExOjU1 IHNjaHJpZWIgVGhvbWFzIEhlbGxzdHJvbToKPj4+Pj4+Pj4gW0NBVVRJT046IEV4dGVybmFsIEVt YWlsXQo+Pj4+Pj4+Pgo+Pj4+Pj4+PiBPbiA1LzI0LzE5IDExOjExIEFNLCBUaG9tYXMgSGVsbHN0 cm9tIHdyb3RlOgo+Pj4+Pj4+Pj4gSGksIENocmlzdGlhbiwKPj4+Pj4+Pj4+Cj4+Pj4+Pj4+PiBP biA1LzI0LzE5IDEwOjM3IEFNLCBLb2VuaWcsIENocmlzdGlhbiB3cm90ZToKPj4+Pj4+Pj4+PiBB bSAyNC4wNS4xOSB1bSAxMDoxMSBzY2hyaWViIFRob21hcyBIZWxsc3Ryw7ZtIChWTXdhcmUpOgo+ Pj4+Pj4+Pj4+PiBbQ0FVVElPTjogRXh0ZXJuYWwgRW1haWxdCj4+Pj4+Pj4+Pj4+Cj4+Pj4+Pj4+ Pj4+IEZyb206IFRob21hcyBIZWxsc3Ryb20gPHRoZWxsc3Ryb21Adm13YXJlLmNvbT4KPj4+Pj4+ Pj4+Pj4KPj4+Pj4+Pj4+Pj4gV2l0aCBTRVYgZW5jcnlwdGlvbiwgYWxsIERNQSBtZW1vcnkgbXVz dCBiZSBtYXJrZWQgZGVjcnlwdGVkCj4+Pj4+Pj4+Pj4+IChBS0EgInNoYXJlZCIpIGZvciBkZXZp Y2VzIHRvIGJlIGFibGUgdG8gcmVhZCBpdC4gSW4gdGhlIGZ1dHVyZSB3ZQo+Pj4+Pj4+Pj4+PiBt aWdodAo+Pj4+Pj4+Pj4+PiB3YW50IHRvIGJlIGFibGUgdG8gc3dpdGNoIG5vcm1hbCAoZW5jcnlw dGVkKSBtZW1vcnkgdG8gZGVjcnlwdGVkIGluCj4+Pj4+Pj4+Pj4+IGV4YWN0bHkKPj4+Pj4+Pj4+ Pj4gdGhlIHNhbWUgd2F5IGFzIHdlIGhhbmRsZSBjYWNoaW5nIHN0YXRlcywgYW5kIHRoYXQgd291 bGQgcmVxdWlyZQo+Pj4+Pj4+Pj4+PiBhZGRpdGlvbmFsCj4+Pj4+Pj4+Pj4+IG1lbW9yeSBwb29s cy4gQnV0IGZvciBub3csIHJlbHkgb24gbWVtb3J5IGFsbG9jYXRlZCB3aXRoCj4+Pj4+Pj4+Pj4+ IGRtYV9hbGxvY19jb2hlcmVudCgpIHdoaWNoIGlzIGFscmVhZHkgZGVjcnlwdGVkIHdpdGggU0VW IGVuYWJsZWQuCj4+Pj4+Pj4+Pj4+IFNldCB1cAo+Pj4+Pj4+Pj4+PiB0aGUgcGFnZSBwcm90ZWN0 aW9uIGFjY29yZGluZ2x5LiBEcml2ZXJzIG11c3QgZGV0ZWN0IFNFViBlbmFibGVkCj4+Pj4+Pj4+ Pj4+IGFuZAo+Pj4+Pj4+Pj4+PiBzd2l0Y2gKPj4+Pj4+Pj4+Pj4gdG8gdGhlIGRtYSBwYWdlIHBv b2wuCj4+Pj4+Pj4+Pj4+Cj4+Pj4+Pj4+Pj4+IFRoaXMgcGF0Y2ggaGFzIG5vdCB5ZXQgYmVlbiB0 ZXN0ZWQuIEFzIGEgZm9sbG93LXVwLCB3ZSBtaWdodAo+Pj4+Pj4+Pj4+PiB3YW50IHRvCj4+Pj4+ Pj4+Pj4+IGNhY2hlIGRlY3J5cHRlZCBwYWdlcyBpbiB0aGUgZG1hIHBhZ2UgcG9vbCByZWdhcmRs ZXNzIG9mIHRoZWlyCj4+Pj4+Pj4+Pj4+IGNhY2hpbmcKPj4+Pj4+Pj4+Pj4gc3RhdGUuCj4+Pj4+ Pj4+Pj4gVGhpcyBwYXRjaCBpcyB1bm5lY2Vzc2FyeSwgU0VWIHN1cHBvcnQgYWxyZWFkeSB3b3Jr cyBmaW5lIHdpdGggYXQKPj4+Pj4+Pj4+PiBsZWFzdAo+Pj4+Pj4+Pj4+IGFtZGdwdSBhbmQgSSB3 b3VsZCBleHBlY3QgdGhhdCBpdCBhbHNvIHdvcmtzIHdpdGggb3RoZXIgZHJpdmVycyBhcwo+Pj4+ Pj4+Pj4+IHdlbGwuCj4+Pj4+Pj4+Pj4KPj4+Pj4+Pj4+PiBBbHNvIHNlZSB0aGlzIHBhdGNoOgo+ Pj4+Pj4+Pj4+Cj4+Pj4+Pj4+Pj4gY29tbWl0IDY0ZTFmODMwZWE1YjM1MTZhNDI1NmVkMWM1MDRh MjY1ZDdmMmE2NWMKPj4+Pj4+Pj4+PiBBdXRob3I6IENocmlzdGlhbiBLw7ZuaWcgPGNocmlzdGlh bi5rb2VuaWdAYW1kLmNvbT4KPj4+Pj4+Pj4+PiBEYXRlOsKgwqAgV2VkIE1hciAxMyAxMDoxMTox OSAyMDE5ICswMTAwCj4+Pj4+Pj4+Pj4KPj4+Pj4+Pj4+PiAgwqDCoMKgwqDCoMKgwqDCoCBkcm06 IGZhbGxiYWNrIHRvIGRtYV9hbGxvY19jb2hlcmVudCB3aGVuIG1lbW9yeQo+Pj4+Pj4+Pj4+IGVu Y3J5cHRpb24gaXMKPj4+Pj4+Pj4+PiBhY3RpdmUKPj4+Pj4+Pj4+Pgo+Pj4+Pj4+Pj4+ICDCoMKg wqDCoMKgwqDCoMKgIFdlIGNhbid0IGp1c3QgbWFwIGFueSByYW5kb21lIHBhZ2Ugd2UgZ2V0IHdo ZW4gbWVtb3J5Cj4+Pj4+Pj4+Pj4gZW5jcnlwdGlvbiBpcwo+Pj4+Pj4+Pj4+ICDCoMKgwqDCoMKg wqDCoMKgIGFjdGl2ZS4KPj4+Pj4+Pj4+Pgo+Pj4+Pj4+Pj4+ICDCoMKgwqDCoMKgwqDCoMKgIFNp Z25lZC1vZmYtYnk6IENocmlzdGlhbiBLw7ZuaWcgPGNocmlzdGlhbi5rb2VuaWdAYW1kLmNvbT4K Pj4+Pj4+Pj4+PiAgwqDCoMKgwqDCoMKgwqDCoCBBY2tlZC1ieTogQWxleCBEZXVjaGVyIDxhbGV4 YW5kZXIuZGV1Y2hlckBhbWQuY29tPgo+Pj4+Pj4+Pj4+ICDCoMKgwqDCoMKgwqDCoMKgIExpbms6 IGh0dHBzOi8vcGF0Y2h3b3JrLmtlcm5lbC5vcmcvcGF0Y2gvMTA4NTA4MzMvCj4+Pj4+Pj4+Pj4K Pj4+Pj4+Pj4+PiBSZWdhcmRzLAo+Pj4+Pj4+Pj4+IENocmlzdGlhbi4KPj4+Pj4+Pj4+IFllcywg SSBub3RpY2VkIHRoYXQuIEFsdGhvdWdoIEkgZmFpbCB0byBzZWUgd2hlcmUgd2UgYXV0b21hZ2lj YWxseQo+Pj4+Pj4+Pj4gY2xlYXIgdGhlIFBURSBlbmNyeXB0ZWQgYml0IHdoZW4gbWFwcGluZyBj b2hlcmVudCBtZW1vcnk/IEZvciB0aGUKPj4+Pj4+Pj4+IGxpbmVhciBrZXJuZWwgbWFwLCB0aGF0 J3MgZG9uZSB3aXRoaW4gZG1hX2FsbG9jX2NvaGVyZW50KCkgYnV0IGZvcgo+Pj4+Pj4+Pj4ga2Vy bmVsIHZtYXBzIGFuZCBhbmQgdXNlci1zcGFjZSBtYXBzPyBJcyB0aGF0IGRvbmUgYXV0b21hdGlj YWxseSBieQo+Pj4+Pj4+Pj4gdGhlIHg4NiBwbGF0Zm9ybSBsYXllcj8KPj4+Pj4+PiBZZXMsIEkg dGhpbmsgc28uIEhhdmVuJ3QgbG9va2VkIHRvIGNsb3NlbHkgYXQgdGhpcyBlaXRoZXIuCj4+Pj4+ PiBUaGlzIHNvdW5kcyBhIGJpdCBvZGQuIElmIHRoYXQgd2VyZSB0aGUgY2FzZSwgdGhlIG5hdHVy YWwgcGxhY2Ugd291bGQgYmUKPj4+Pj4+IHRoZSBQQVQgdHJhY2tpbmcgY29kZSwgYnV0IGl0IG9u bHkgaGFuZGxlcyBjYWNoaW5nIGZsYWdzIEFGQUlDVC4gTm90Cj4+Pj4+PiBlbmNyeXB0aW9uIGZs YWdzLgo+Pj4+Pj4KPj4+Pj4+IEJ1dCB3aGVuIHlvdSB0ZXN0ZWQgQU1EIHdpdGggU0VWLCB3YXMg dGhhdCBydW5uaW5nIGFzIGh5cGVydmlzb3IgcmF0aGVyCj4+Pj4+PiB0aGFuIGEgZ3Vlc3QsIG9y IGRpZCB5b3UgcnVuIGFuIFNFViBndWVzdCB3aXRoIFBDSSBwYXNzdGhyb3VnaCB0byB0aGUKPj4+ Pj4+IEFNRCBkZXZpY2U/Cj4+Pj4+IFllYWgsIHdlbGwgdGhlIHByb2JsZW0gaXMgd2UgbmV2ZXIg dGVzdGVkIHRoaXMgb3Vyc2VsZiA6KQo+Pj4+Pgo+Pj4+Pj4+Pj4gL1Rob21hcwo+Pj4+Pj4+Pj4K Pj4+Pj4+Pj4gQW5kLCBhcyBhIGZvbGxvdyB1cCBxdWVzdGlvbiwgd2h5IGRvIHdlIG5lZWQgZG1h X2FsbG9jX2NvaGVyZW50KCkgd2hlbgo+Pj4+Pj4+PiB1c2luZyBTTUU/IEkgdGhvdWdodCB0aGUg aGFyZHdhcmUgcGVyZm9ybXMgdGhlIGRlY3J5cHRpb24gd2hlbiBETUEtaW5nCj4+Pj4+Pj4+IHRv IC8gZnJvbSBhbiBlbmNyeXB0ZWQgcGFnZSB3aXRoIFNNRSwgYnV0IG5vdCB3aXRoIFNFVj8KPj4+ Pj4+PiBJIHRoaW5rIHRoZSBpc3N1ZSB3YXMgdGhhdCB0aGUgRE1BIEFQSSB3b3VsZCB0cnkgdG8g dXNlIGEgYm91bmNlIGJ1ZmZlcgo+Pj4+Pj4+IGluIHRoaXMgY2FzZS4KPj4+Pj4+IFNFViBmb3Jj ZXMgU1dJT1RMQiBib3VuY2luZyBvbiwgYnV0IG5vdCBTTUUuIFNvIGl0IHNob3VsZCBwcm9iYWJs eSBiZQo+Pj4+Pj4gcG9zc2libGUgdG8gYXZvaWQgZG1hX2FsbG9jX2NvaGVyZW50KCkgaW4gdGhl IFNNRSBjYXNlLgo+Pj4+PiBJbiB0aGlzIGNhc2UgSSBkb24ndCBoYXZlIGFuIGV4cGxhbmF0aW9u IGZvciB0aGlzLgo+Pj4+Pgo+Pj4+PiBGb3IgdGhlIGJhY2tncm91bmQgd2hhdCBoYXBwZW5lZCBp cyB0aGF0IHdlIGdvdCByZXBvcnRzIHRoYXQgU1ZFL1NNRQo+Pj4+PiBkb2Vzbid0IHdvcmsgd2l0 aCBhbWRncHUuIFNvIHdlIHRvbGQgdGhlIHBlb3BsZSB0byB0cnkgdXNpbmcgdGhlCj4+Pj4+IGRt YV9hbGxvY19jb2hlcmVudCgpIHBhdGggYW5kIHRoYXQgd29ya2VkIGZpbmUuIEJlY2F1c2Ugb2Yg dGhpcyB3ZSBjYW1lCj4+Pj4+IHVwIHdpdGggdGhlIHBhdGNoIEkgbm90ZWQgZWFybGllci4KPj4+ Pj4KPj4+Pj4gSSBjYW4gY29uZmlybSB0aGF0IGl0IGluZGVlZCB3b3JrcyBub3cgZm9yIGEgY291 cGxlIG9mIHVzZXJzLCBidXQgd2UKPj4+Pj4gc3RpbGwgZG9uJ3QgaGF2ZSBhIHRlc3Qgc3lzdGVt IGZvciB0aGlzIGluIG91ciB0ZWFtLgo+Pj4+Pgo+Pj4+PiBDaHJpc3RpYW4uCj4+Pj4gT0ssIHVu ZGVzdG9vZCwKPj4+Pgo+Pj4+IEJ1dCB1bmxlc3MgdGhlcmUgaXMgc29tZSBzdHJhbmdlIG1hZ2lj IGdvaW5nIG9uLCAod2hpY2ggdGhlcmUgbWlnaHQgYmUKPj4+PiBvZiBjb3Vyc2UpLEkgZG8gdGhp bmsgdGhlIHBhdGNoIEkgc2VudCBpcyBjb3JyZWN0LCBhbmQgdGhlIHJlYXNvbiB0aGF0Cj4+Pj4g U0VWIHdvcmtzIGlzIHRoYXQgdGhlIEFNRCBjYXJkIGlzIHVzZWQgYnkgdGhlIGh5cGVydmlzb3Ig YW5kIG5vdCB0aGUKPj4+PiBndWVzdCwgYW5kIFRUTSBpcyBhY3R1YWxseSBpbmNvcnJlY3RseSBj cmVhdGluZyBjb25mbGljdGluZyBtYXBzIGFuZAo+Pj4+IHRyZWF0aW5nIHRoZSBjb2hlcmVudCBt ZW1vcnkgYXMgZW5jcnlwdGVkLiBCdXQgc2luY2UgdGhlIG1lbW9yeSBpcyBvbmx5Cj4+Pj4gYWNj ZXNzZWQgdGhyb3VnaCBlbmNyeXB0ZWQgUFRFcywgdGhlIGhhcmR3YXJlIGRvZXMgdGhlIHJpZ2h0 IHRoaW5nLAo+Pj4+IHVzaW5nIHRoZSBoeXBlcnZpc29yIGtleSBmb3IgZGVjcnlwdGlvbi4uLi4K Pj4+Pgo+Pj4+IEJ1dCB0aGF0J3Mgb25seSBhIGd1ZXNzLCBhbmQgdGhpcyBpcyBub3Qgc3VwZXIt dXJnZW50LiBJIHdpbGwgYmUgYWJsZSB0bwo+Pj4+IGZvbGxvdyB1cCBpZiAvIHdoZW4gd2UgYnJp bmcgdm13Z2Z4IHVwIGZvciBTRVYuCj4+Pj4KPj4+PiAvVGhvbWFzCj4+Pj4KPj4+Pj4+IC9UaG9t YXMKPj4+Pj4+Cj4+Pj4+Pgo+Pj4+Pj4+IENocmlzdGlhbi4KPj4+Pj4+Pgo+Pj4+Pj4+PiBUaGFu a3MsIFRob21hcwo+Pj4+Pj4+Pgo+Pj4+Pj4+Pgo+Pj4+Pj4+Pgo+Pj4+IF9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4+Pj4gZHJpLWRldmVsIG1haWxpbmcg bGlzdAo+Pj4+IGRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKPj4+PiBodHRwczovL2xp c3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo+PgoKX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxp bmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJl ZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVs