From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?Q?Christian_K=c3=b6nig?= Subject: Re: [PATCH 3/4] drm/radeon: consolidate uvd/vce initialization, resume and suspend. Date: Wed, 16 Mar 2016 19:51:57 +0100 Message-ID: <56E9AB4D.9010608@amd.com> References: <1458132531-5524-1-git-send-email-jglisse@redhat.com> <56E959BE.7030608@vodafone.de> <56E97974.4050107@amd.com> <20160316155603.GA6483@redhat.com> <56E9929C.60509@amd.com> <20160316174348.GA7402@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from na01-by2-obe.outbound.protection.outlook.com (mail-by2on0085.outbound.protection.outlook.com [207.46.100.85]) by gabe.freedesktop.org (Postfix) with ESMTPS id C2AD289CDE for ; Wed, 16 Mar 2016 18:52:16 +0000 (UTC) In-Reply-To: <20160316174348.GA7402@redhat.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Jerome Glisse Cc: Alex Deucher , "dri-devel@lists.freedesktop.org" List-Id: dri-devel@lists.freedesktop.org QW0gMTYuMDMuMjAxNiB1bSAxODo0MyBzY2hyaWViIEplcm9tZSBHbGlzc2U6Cj4gT24gV2VkLCBN YXIgMTYsIDIwMTYgYXQgMDY6MDY6MzZQTSArMDEwMCwgQ2hyaXN0aWFuIEvDtm5pZyB3cm90ZToK Pj4gW1NOSVBdCj4+IEFuZCBhcyBJIHNhaWQgdGhhdCBpcyBleGFjdGx5IHdoYXQgeW91IHNob3Vs ZCBOT1QgYmUgZG9pbmcgaGVyZS4gT25jZSB0aGUKPj4gZmlybXdhcmUgaXMgbG9hZGVkIHRoZSBi bG9jayBzaG91bGQgYmUga2VwdCBpbiB0aGF0IHN0YXRlLgo+Pgo+PiBGcmVlaW5nIHRoZSBtZW1v cnkgYWxsb2NhdGVkIGZvciB0aGUgZmlybXdhcmUgaXMgYWxzbyBub3QgYSBnb29kIGlkZWEgYXQg YWxsCj4+IGJlY2F1c2Ugd2UgZG9uJ3Qga25vdyB3aG8gZXhhY3RseSBpcyBhY2Nlc3NpbmcgaXQu Cj4gQW5kIHdoYXQgaSBhbSBzYXlpbmcgaXMgdGhhdCBibG9jayBpcyBub3QgcmVzcG9uZGluZyBz byBpdCBkb2VzIG5vdCBtYXR0ZXIKPiB3aGF0IG1lbW9yeSBlbmR1cCB0aGVyZSBhcyBpdCBvbmx5 IHRyeSB0byByZWFkIGZyb20gdGhlIGZpcm13YXJlIGFmYWljdC4KPiBTbyBub3RoaW5nIGJhZCB3 aWxsIGNvbWUgZnJvbSB0aGF0LCBibG9jayBpcyBhbHJlYWR5IGluIG5vbiBmdW5jdGlvbmFsCj4g c3RhdGUgd2hhdCB3b3JzZSBjYW4gaGFwcGVuID8KClRoYXQgdGhlIGJsb2NrIGlzIG5vdCByZXNw b25kaW5nIHRvIENQVSByZWdpc3RlciBhY2Nlc3NlcyBqdXN0IG1lYW5zIAp0aGF0IHRoZSBTUkJN IHJlYWQgc2lkZSBpbnRlcmZhY2UgZG9lc24ndCB3b3JrIGZvciBzb21lIHJlYXNvbi4KCkRlcGVu ZGluZyBvbiB3aGF0IHRoZSBjYXVzZSBpcyB0aGUgbWljcm8gZW5naW5lIHVzdWFsbHkgc3RpbGwg aGFwcGlseSAKcmVhZCBhbmQgd3JpdGUgbWVtb3J5IHdoZW4gdGhhdCBoYXBwZW5zLgoKV2hlbiB0 aGUgd2hvbGUgZW5naW5lIGlzIGh1bmcgeW91IHVzdWFsbHkgZG9uJ3QgZ2V0IHdvcmtpbmcgcG93 ZXIgCm1hbmFnZW1lbnQgYXMgd2VsbC4KCj4+PiBbU05JUF0KPj4+Cj4+PiBBZ2FpbiBsb3Qgc2lt cGxlciB0byBmb2xsb3cgY29udHJvbCBmbG93IHRoYW4gdG8ganVtcCB0aHJvdWdoIHZhcmlvdXMg bGV2ZWwKPj4+IG9mIGlmL2Vsc2UuIEFnYWluIHV2ZCBhbmQgdmNlIHRpZWQgdG9nZXRoZXIgKGFu ZCBhZ2FpbiBpIGNhbiB1bnRpZSB0aGVtIGlmCj4+PiB5b3UgdGhpbmsgaXQgaXMgYmV0dGVyIHRv IHVudGllIHRoZW0pLgo+Pj4KPj4+IEJ1dCB0aGlzIHRpbWUgdGhlIGV4dHJhIHRoaW5nIGlzIHRo YXQgaSBwcm9wZXJseSBkaXNhYmxlIHJpbmcgaWYgYW55IGVycm9yCj4+PiBoYXBwZW5zIHdoaWxl IGV4aXN0aW5nIGNvZGUgZG9lcyBub3QuCj4+IEFuZCBhZ2FpbiB0aGF0IGlzIGV4YWN0bHkgd2hh dCB3ZSBzaG91bGQgTk9UIGRvLgo+Pgo+PiBXaGVuIGluaXRpYWxpemF0aW9uIGZhaWxzIHdlIGRv bid0IGtub3cgaW4gd2hpY2ggc3RhdGUgdGhlIHJpbmcgYnVmZmVyIGFuZAo+PiBtaWNybyBlbmdp bmVzIGFyZSwgc28gZnJlZWluZyB0aGVtIGFuZCBnaXZpbmcgdGhlIHNwYWNlIGJhY2sgdG8gYmUg cmV1c2VkIGluCj4+IGNsZWFybHkgbm90IGEgZ29vZCBpZGVhLgo+Pgo+PiBBbGwgd2Ugc2hvdWxk IGRvIGlzIGNsZWFyaW5nIHRoZSByZWFkeSBmbGFnIHdoZW4gc29tZXRoaW5nIGZhaWxzIHRvIHBy ZXZlbnQKPj4gdXNlcnNwYWNlIGZyb20gbWFraW5nIGNvbW1hbmQgc3VibWlzc2lvbnMgdG8gdGhl IGZhaWxlZCBlbmdpbmUuCj4gVGhpcyBibG9jayBvbmx5IHJlYWQgZnJvbSB0aGF0IG1lbW9yeSAh IE5ldmVyIHdyaXRlICh1bmxlc3MgaXQgbW9kaWZ5IHRoZSBmdwo+IGluIHBsYWNlIHdoaWNoIHdv dWxkIHN1cnByaXNlIG1lKS4gU28gd2hlbiBibG9jayBpcyBpbiBiYWQgc3RhdGVzIGl0IGRvZXMg bm90Cj4gbWF0dGVyIHdoYXQgZW5kdXAgdGhlcmUsIGJsb2NrIGlzIG5vdCBwcm9jZXNzaW5nIGFu eXRoaW5nLgoKTm8sIHRoZSBtZW1vcnkgaXMgcXVpdGUgaGVhdmlseSB3cml0dGVuIGFzIHdlbGwu IE9ubHkgQkFSMCBpcyBjb2RlLCBCQVIxIAppcyB0aGUgaGVhcCBhbmQgQkFSMiB0aGUgc3RhY2sg b2YgdGhlIG1pY3JvIGVuZ2luZS4KClRob3NlIGFyZSB1c3VhbGx5IGhlYXZpbHkgYWNjZXNzZWQg YnkgdGhlIGludGVycnVwdCBoYW5kbGVycyBldmVuIHdoZW4gCnRoZSBlbmdpbmUgaXMgY29tcGxl dGVseSBzdHVjayBvdGhlcndpc2UuCgpUaGUgb25seSB3YXkgSSBrbm93IHRvIHByZXZlbnQgdGhh dCBpcyB0byBzdGFsbCB0aGUgYm90aCB0aGUgcmVnaXN0ZXIgYXMgCndlbGwgYXMgdGhlIG1lbW9y eSBidXMsIHdhaXQgZm9yIGEgbW9tZW50IGFuZCB0aGVuIHB1dCB0aGUgbWljcm8gZW5naW5lIApp bnRvIHNvZnQgcmVzZXQuIFNlZSB1dmRfdjFfMF9zdG9wKCkgaG93IHRoYXQgaXMgZG9uZS4KCkJ1 dCBhcyBJIHNhaWQgYWZ0ZXIgdGhhdCB5b3UgY2FuIHVzdWFsbHkgZm9yZ2V0IHBvd2VyIG1hbmFn ZW1lbnQgYXMgd2VsbC4KCj4+PiBJIGFtIG5vdCBwYXN0aW5nIHRoZSBpbml0IHBhdGggYnV0IGl0 IHRoZSBzYW1lIGxvZ2ljLCB0eWluZyB1dmQgYW5kIHZjZQo+Pj4gdG9nZXRoZXIgYW5kIHNpbXBs aWZ5aW5nIGVycm9yIGNvZGUgcGF0aC4KPj4+Cj4+Pgo+Pj4KPj4+PiBQbGVhc2UgYWxzbyBub3Rl IHRoYXQgVkNFL1VWRCBoYXMgZGVwZW5kZW5jaWVzIG9uIHBvd2VyIG1hbmFnZW1lbnQsIHNvIHRo YXQKPj4+PiB3aGVuIHRoZXkgYXJlIG9uY2UgaW5pdGlhbGl6ZWQgdGhleSBzaG91bGQgTk9UIGJl IHR1cm5lZCBvZmYgYWdhaW4uCj4+Pj4KPj4+PiBJIG9ubHkgYnJpZWZseSBza2ltbWVkIG92ZXIg eW91ciBwYXRjaCwgYnV0IGl0IGFjdHVhbGx5IGxvb2tzIGxpa2UgdG8gbWUKPj4+PiB0aGF0IHlv dSBicm9rZW4gdGhhdCBieSB0cnlpbmcgdG8gY2xlYW51cCB0aGUgaW5pdGlhbGl6YXRpb24gcm91 dGluZS4KPj4+IEkgaGF2ZSBzZWVuIHRoYXQgYnV0IGFzc3VtaW5nIEhlaXNlbmJlcmdzIGRvZXMg bm90IGdldCBpbnZvbHZlLCB0aGVuIGdpdmVuCj4+PiB0aGF0IHRoZSBibG9jayBpcyBub3QgcmVz cG9uZGluZyB0byByZWdpc3RlciB3cml0ZSBpdCBpcyB1bmxpa2VseSB0aGF0IHRoaW5nCj4+PiB3 aWxsIHdlIHdvcnNlIGlmIHdlIHRyeSB0byBkaXNhYmxlIHRoZSBibG9jay4gQW5kIGZyb20gbXkg dGVzdGluZyBpdCBkb2VzCj4+PiBub3QgaW1wYWN0IHBvd2VyIG1hbmFnZW1lbnQuIE15IGd1ZXNz IGlzIHRoYXQgdGhlIGJsb2NrIGtlZXAgcmVwb3J0aW5nIGl0IGlzCj4+PiBidXN5IGFuZCB0aGF0 IHBvd2VyIGdhdGluZyBhbmQgY2xvY2sgZ2F0aW5nIGFyZSBpbmhpYml0ZWQgYnkgdGhhdC4KPj4g SXQncyBtb3JlIGNvbXBsaWNhdGVkIHRoYW4gdGhhdCBqdXN0IGEgc2ltcGxlIGJ1c3kgc2lnbmFs LiBUaGUgZW5naW5lcwo+PiBhY3RpdmVseSBjb21tdW5pY2F0ZSB3aXRoIHRoZSBwb3dlciBtYW5h Z2VtZW50IGNvbnRyb2xsZXIgdG8gdGVsbCB0aGVtIHRoZWlyCj4+IG5lZWRzIGFuZCBsaW1pdHMg Zm9yIHRoZSBjbG9ja3MgYmFzZWQgb24gdGhlIHdvcmtsb2FkIHRoZXkgaGF2ZS4KPj4KPj4gT25j ZSBpbml0aWFsaXplZCB0aGUgcG93ZXIgbWFuYWdlbWVudCBjb250cm9sbGVyIGV4cGVjdHMgdGhl IFVWRCBhbmQgVkNFCj4+IG1pY3JvLWNvbnRyb2xsZXJzIHRvIGFuc3dlciBzdWNoIHJlcXVlc3Rz Lgo+Pgo+PiBGYWlsaW5nIHRvIGRvIHNvIGNhbiBnZXQgeW91IHN0dWNrIGF0IGEgc3BlY2lmaWMg cG93ZXIgbGV2ZWwuCj4gWWVzIGFuZCB3aGF0IGkgYW0gc2F5aW5nIGlzIHRoYXQgYmxvY2sgaXMg aW4gYmFkIHN0YXRlcyBzbyBlaXRoZXIgaXQgaXMKPiBhbnN3ZXJpbmcgYWx3YXlzIGJ1c3kgYW5k IHRodXMgc3RvcCBwb3dlciBsZXZlbCBjaGFuZ2Ugb3IgaXQgaXMgbm90IGFuc3dlcmluZwo+IGFu ZCBwb3dlciBsZXZlbCBjYW4gY2hhbmdlLiBTbyB0cnlpbmcgdG8gZGlzYWJsZSB0aGUgYmxvY2sg bGVhZHMgdG8gdGhlCj4gZXhhY3Qgc2FtZSBzaXR1YXRpb24sIGVpdGhlciB0aGUgYmxvY2sgc2h1 dGRvd24gYW5kIHBvd2VyIGxldmVsIGNhbiBjaGFuZ2UKPiBvciBpdCBkb2VzIG5vdCBhbmQgdGhp bmcgYXJlIGV4YWN0bHkgYXMgaWYgd2UgZGlkIG5vdGhpbmcgIQoKSSd2ZSB0ZXN0ZWQgdGhhdCBt dWx0aXBsZSB0aW1lcyBhbmQgYXMgbG9uZyBhcyB5b3UgZG9uJ3QgdHVybiBvZiB0aGUgClZDUFUg Y29tcGxldGVseSBpdCdzIHVzdWFsbHkgc3RpbGwgYW5zd2VyaW5nIHRoZSBpbnRlcnJ1cHQgaGFu ZGxlciBldmVuIAp3aGVuIGl0IGlzIHN0dWNrIGluIGFuIGVuZGxlc3MgbG9vcCBvdGhlcndpc2Ug YW5kIG5vdCBkb2luZyBhbnl0aGluZyBlbHNlLgoKVGhhdCdzIGFsc28gdGhlIHJlYXNvbiB3aHkg aXQgaXMgc28gZGFuZ2Vyb3VzIHRvIGp1c3QgcHV0IHRoZSBibG9jayBpbnRvIApyZXNldCBpbiB0 aGlzIHN0YXRlIG9yIHRvdWNoIGl0IG90aGVyd2lzZS4KCllvdSBjYW4ndCBzdGFsbCBpdCBiZWNh dXNlIHRoZSBTUkJNIGludGVyZmFjZSBpcyBib3JrZWQgYW5kIHlvdSBkb24ndCAKaGF2ZSBhY2Nl c3MgdG8gdGhlIHJlZ2lzdGVycyBhbnkgbW9yZSBhbmQgeW91IGNhbid0IHByb3Blcmx5IHJlc2V0 IGl0IAplaXRoZXIgYmVjYXVzZSB3aGVuIHlvdSBkbyB0aGF0IGluIHRoZSBtaWRkbGUgb2YgYSBt ZW1vcnkgdHJhbnNhY3Rpb24gCnRoZSB3aG9sZSBzeXN0ZW0gZ29lcyBkb3duLgoKW1NOSVBdCj4+ IEFzIGZhciBhcyBJIGNhbiBzZWUgeW91J3JlIGFjdHVhbGx5IG1lc3NpbmcgdGhlIGVycm9yIGhh bmRsaW5nIHVwIHF1aXRlIGEKPj4gYml0IGhlcmUgaW5zdGVhZCBvZiBpbXByb3ZpbmcgaXQuCj4g SSBhbSBub3QgISBJIEFNIE1BS0lORyBJVCBDTEVBUiBXSEFUIEhBUFBFTlMuIFlFUyBPTiBFUlJP UiBJIFRSWSBUTyBESVNBQkxFCj4gVEhJTkcgQlVUIElGIEJMT0NLIElTIE5PVCBBTlNXRVJJTkcg VEhJUyBDQU4gTk9UIE1BS0UgVEhJTkcgV09SU0UuCgpDYWxtIGRvd24sIEknbSBqdXN0IHRyeWlu ZyB0byBleHBsYWluIGhlcmUgaG93IHRoZSBoYXJkd2FyZSB3b3JrcyBhbmQgCndoeSB5b3VyIGFw cHJvYWNoIGNhbiBjYXVzZSB0cm91YmxlIGFzIHdlbGwuCgpJJ20gcGVyZmVjdGx5IGZpbmUgd2l0 aCB0aGUgY2xlYW51cHMgb24gdGhlIGNvbnRyb2wgZmxvdyBhbmQgdGhlIGNvZGluZyAKc3R5bGUg YXMgbG9uZyBhcyB3ZSBjYW4gcHJvcGVybHkgdGVzdCB0aGVtIG9uIGF0IGxlYXN0IHNvbWUgaGFy ZHdhcmUgCmdlbmVyYXRpb25zLgoKPj4gU28gcGxlYXNlIGRlc2NyaWJlIGluIGRldGFpbCB3aGF0 IHRoZSBwcm9ibGVtcyB5b3UgYXJlIHNlZWluZyBhbmQgd2h5Cj4+IGRpc2FibGluZyBib3RoIFVW RCBhbmQgVkNFIGhlbHBzIHdpdGggdGhlbS4KPiBJIHNhaWQgaXQgYWJvdmUgYWxyZWFkeSwgb24g c2Vjb25kIHBhcnQgd2hlbiB3ZSBmYWlscyB1dmQvdmNlIHdlIGRvIG5vdAo+IGRpc2FibGUgcmlu ZyBhbmQgdGhpbmdzIGdvZXMgZnJvbSBiYWQgdG8gd29yc2UuCj4KPj4gQSBrZXJuZWwgbG9nIGZy b20gYSBmYWlsZWQgc3VzcGVuZC9yZXN1bWUgY3ljbGUgd291bGQgaGVscCBxdWl0ZSBhIGJpdCBo ZXJlLgo+IFsgICA2Mi4xMTEwNDJdIFtkcm1dIHJpbmcgdGVzdCBvbiA1IHN1Y2NlZWRlZCBpbiAy IHVzZWNzCj4gWyAgIDYyLjExMTA0Nl0gW2RybV0gVVZEIGluaXRpYWxpemVkIHN1Y2Nlc3NmdWxs eS4KPiBbICAgNjIuMTExMDgwXSBbZHJtXSBpYiB0ZXN0IG9uIHJpbmcgMCBzdWNjZWVkZWQgaW4g MCB1c2Vjcwo+IFsgICA2Mi4xMTExMTBdIFtkcm1dIGliIHRlc3Qgb24gcmluZyAxIHN1Y2NlZWRl ZCBpbiAwIHVzZWNzCj4gWyAgIDYyLjExMTEzN10gW2RybV0gaWIgdGVzdCBvbiByaW5nIDIgc3Vj Y2VlZGVkIGluIDAgdXNlY3MKPiBbICAgNjIuMTExMTk4XSBbZHJtXSBpYiB0ZXN0IG9uIHJpbmcg MyBzdWNjZWVkZWQgaW4gMCB1c2Vjcwo+IFsgICA2Mi4xMTEyNTddIFtkcm1dIGliIHRlc3Qgb24g cmluZyA0IHN1Y2NlZWRlZCBpbiAwIHVzZWNzCj4gWyAgIDYyLjMwOTMxMl0gdXNiIDEtNzogcmVz ZXQgaGlnaC1zcGVlZCBVU0IgZGV2aWNlIG51bWJlciAzIHVzaW5nIHhoY2lfaGNkCj4gWyAgIDYy LjM2MjgxOV0gQUNQSTogXF9TQl8uUENJMC5MUENCLlNJT18uQ09NMTogQUNQSV9OT1RJRllfQlVT X0NIRUNLIGV2ZW50Cj4gWyAgIDYyLjM2MjgyNF0gQUNQSTogXF9TQl8uUENJMC5SUDA1OiBBQ1BJ X05PVElGWV9CVVNfQ0hFQ0sgZXZlbnQKPiBbICAgNjIuMzYyODI1XSBBQ1BJOiBcX1NCXy5QQ0kw LkVIQzE6IEFDUElfTk9USUZZX0JVU19DSEVDSyBldmVudAo+IFsgICA2Mi4zNjI4MjddIEFDUEk6 IFxfU0JfLlBDSTAuRUhDMjogQUNQSV9OT1RJRllfQlVTX0NIRUNLIGV2ZW50Cj4gWyAgIDYyLjYy NjU0Nl0gdXNiIDEtMTI6IHJlc2V0IGZ1bGwtc3BlZWQgVVNCIGRldmljZSBudW1iZXIgNCB1c2lu ZyB4aGNpX2hjZAo+IFsgICA2Mi43OTMzNzNdIHBhcnBvcnRfcGMgMDA6MDg6IGFjdGl2YXRlZAo+ IFsgICA2Mi44NTg2MDRdIHRwbV90aXMgMDA6MGM6IFRQTSBpcyBkaXNhYmxlZC9kZWFjdGl2YXRl ZCAoMHg3KQo+IFsgICA2My42MjUzMTBdIHBzbW91c2Ugc2VyaW8yOiBhbHBzOiBVbmtub3duIEFM UFMgdG91Y2hwYWQ6IEU3PTEwIDAwIDY0LCBFQz0xMCAwMCA2NAo+IFsgICA2NC44MjY5MTZdIHBz bW91c2Ugc2VyaW8zOiBzeW5hcHRpY3M6IHF1ZXJpZWQgbWF4IGNvb3JkaW5hdGVzOiB4IFsuLjU2 NjBdLCB5IFsuLjQ3MzBdCj4gWyAgIDY0Ljg1ODY1Ml0gcHNtb3VzZSBzZXJpbzM6IHN5bmFwdGlj czogcXVlcmllZCBtaW4gY29vcmRpbmF0ZXM6IHggWzEzMjQuLl0sIHkgWzEyNDguLl0KPiBbICAg NzIuMjg4NDg3XSByYWRlb24gMDAwMDowMTowMC4wOiByaW5nIDUgc3RhbGxlZCBmb3IgbW9yZSB0 aGFuIDEwMDIwbXNlYwo+IFsgICA3Mi4yODg0ODldIHJhZGVvbiAwMDAwOjAxOjAwLjA6IEdQVSBs b2NrdXAgKGN1cnJlbnQgZmVuY2UgaWQgMHgwMDAwMDAwMDAwMDAwMDAyIGxhc3QgZmVuY2UgaWQg MHgwMDAwMDAwMDAwMDAwMDA0IG9uIHJpbmcgNSkKPiBbICAgNzIuMjg4NTc3XSBbZHJtOnV2ZF92 MV8wX2liX3Rlc3QgW3JhZGVvbl1dICpFUlJPUiogcmFkZW9uOiBmZW5jZSB3YWl0IGZhaWxlZCAo LTM1KS4KPiBbICAgNzIuMjg4NTk0XSBbZHJtOnJhZGVvbl9pYl9yaW5nX3Rlc3RzIFtyYWRlb25d XSAqRVJST1IqIHJhZGVvbjogZmFpbGVkIHRlc3RpbmcgSUIgb24gcmluZyA1ICgtMzUpLgo+IFsg ICA3Mi40NzMwMzRdIFtkcm06c2lfZHBtX3NldF9wb3dlcl9zdGF0ZSBbcmFkZW9uXV0gKkVSUk9S KiBzaV9zZXRfc3dfc3RhdGUgZmFpbGVkCj4gWyAgIDczLjQ1MjE3M10gW2RybTpyYWRlb25fZHBf bGlua190cmFpbiBbcmFkZW9uXV0gKkVSUk9SKiBkaXNwbGF5cG9ydCBsaW5rIHN0YXR1cyBmYWls ZWQKPiBbICAgNzMuNDUyMTk3XSBbZHJtOnJhZGVvbl9kcF9saW5rX3RyYWluIFtyYWRlb25dXSAq RVJST1IqIGNsb2NrIHJlY292ZXJ5IGZhaWxlZAo+IFsgICA3NC4yOTY3MjhdIFtkcm06cmFkZW9u X2RwX2xpbmtfdHJhaW4gW3JhZGVvbl1dICpFUlJPUiogZGlzcGxheXBvcnQgbGluayBzdGF0dXMg ZmFpbGVkCj4gWyAgIDc0LjI5Njc0NF0gW2RybTpyYWRlb25fZHBfbGlua190cmFpbiBbcmFkZW9u XV0gKkVSUk9SKiBjbG9jayByZWNvdmVyeSBmYWlsZWQKPgo+Cj4gU28gZmlyc3QgcGFyIG9mIHV2 ZCBzdWNjZWVkIGJ1dCB2Y2VfdjFfMF9yZXN1bWUoKSBmYWlscyBhbmQgYWZ0ZXIgdGhhdCB1dmQg ZmFpbHMgdG9vCj4gKHZjZSB0b28pLiBJIGRvdWJ0IHlvdSBjYW4gZml4IHRoYXQgdW50aWwgeW91 IGNhbiBmaXggdGhlIGZpcm13YXJlIHNpZ25hdHVyZSBjaGVjawo+IGlzc3VlLiBXaGF0IGhhcHBl bnMgaXMgdGhhdCBvbiByZXN1bWUgZnJvbSBoaWJlcm5hdGlvbiB0aGUgZmlyc3Qga2VybmVsIGxv YWQgcmFkZW9uCj4gYW5kIGluaXRpYWxpemUgdGhlIEdQVSAodGhpcyB3b3JrIHByb3Blcmx5IGFu ZCBWQ0UgYmxvY2sgaXMgaW5pdGlhbGl6ZWQgcHJvcGVybHkpLgoKSSdtIG5vdCBzdXJlIGlmIHRo YXQgaXMgYWN0dWFsbHkgYW4gcHJvYmxlbSB3aXRoIHRoZSBmaXJtd2FyZSBzaWduYXR1cmUgCmNo ZWNrLCBidXQgbGV0J3MgZm9jdXMgb24gdGhlIGlzc3VlIGF0IGhhbmQgZmlyc3QuCgo+IEJ1dCB0 aGVuIGl0IHJlc3VtZSB0aGUgaGliZXJuYXRlZCBrZXJuZWwgKGtleGVjKSBhbmQgdGhlIHJhZGVv biByZXN1bWUgY29kZSBwYXRoIGJ5Cj4gcmVwcm9ncmFtbWluZyB0aGUgbWVtb3J5IGNvbmZpZ3Vy YXRpb24gb2YgdGhlIEdQVSBtYWtlIHRoZSBmdyB1bmFjY2Vzc2libGUgb3IgYXQKPiBkaWZmZXJl bnQgYWRkcmVzcyBjb21wYXJlIHRvIGZpcnN0IGJvb3Qga2VybmVsIGFuZCB0aGluZyBmcm9tIHRo YXQgcG9pbnQgdGhlIHZjZQo+IGJsb2NrIGlzIGluIGJhZCBzdGF0ZSAoaW1wYWN0aW5nIHRoZSB1 dmQgYmxvY2sgYWZhaWN0KS4gVGhpcyB0cmlja2xlIGRvd24gdG8gb3RoZXIKPiBibG9jayBsaWtl IGRpc3BsYXlwb3J0IGFuZCB5b3UgZW5kdXAgd2l0aCBubyBkaXNwbGF5LgoKVGhpbmsgYWJvdXQg aXQsIHRoYXQncyBleGFjdGx5IGFzIEkgZXhwbGFpbmVkIGFib3ZlLgoKVGhlIFZDUFUgKFVWRCkg YW5kIEVDUFUgKFZDRSkga2VlcHMgcnVubmluZyBhZnRlciB0aGUgZmlyc3QgYm9vdCBjeWNsZSwg CmV2ZW4gd2hlbiB0aGV5IGFyZSBub3QgYWNjZXNzaWJsZSBmcm9tIHRoZSBDUFUgYW55IG1vcmUg Zm9yIHNvbWUgcmVhc29uLgoKQmVjYXVzZSBvZiB0aGlzIHRoZSBwb3dlciBtYW5hZ2VtZW50IGNh biBzdGlsbCBzd2l0Y2ggY2xvY2tzIGFuZCB0dXJuIApibG9ja3Mgb24gYW5kIG9mZi4gZXRjLi4u IGFuZCB0aGF0J3Mgd2h5IHRoZSBtZW1vcnkgY2xvY2sgY2FuIGJlIHJhaXNlZCAKdG8gbWF0Y2gg eW91ciByZXNvbHV0aW9uIG9uIHRoZSBzY3JlZW4gYW5kIERQIGxpbmsgdHJhaW5pbmcgc3RpbGwg d29ya3MuCgpOb3cgb24gdGhlIHNlY29uZCBjeWNsZSB3ZSBzb21laG93IHRvdGFsbHkgY3Jhc2gg dGhlbSBhbmQgYmVjYXVzZSBvZiAKdGhhdCB0aGUgcG93ZXIgbWFuYWdlbWVudCBjYW4ndCByYWlz ZSB0aGUgY2xvY2tzIGFueSBtb3JlOgo+IFsgICA3Mi40NzMwMzRdIFtkcm06c2lfZHBtX3NldF9w b3dlcl9zdGF0ZSBbcmFkZW9uXV0gKkVSUk9SKiBzaV9zZXRfc3dfc3RhdGUgZmFpbGVkCgpUaGF0 IHJlc3VsdHMgaW4gbm90IGVub3VnaCBtZW1vcnkgYmFuZHdpZHRoIG9yIGEgUExMIGJlaW5nIHBv d2VyZWQgZG93biAKYW5kIHNvIERQIGxpbmsgdHJhaW5pbmcgZmFpbHMgYXMgd2VsbC4KCkFzIGEg YmFuZCBhaWQgSSBzdWdnZXN0IHRvIGp1c3Qgc2V0IGhhc191dmQgdG8gZmFsc2Ugd2hlbiBlaXRo ZXIgb2YgdGhlIAp2Y2UgcmVzdW1lIG9yIHRoZSB1dmQgcmVzdW1lIGZhaWxzLgoKQWxzbyBmZWVs IGZyZWUgdG8gY2xlYW51cCB0aGUgY29udHJvbCBmbG93IG9uIGNvZGluZyBzdHlsZSBhcyBsb25n IGFzIAp5b3UgZG9uJ3QgdHJ5IHRvIGZyZWUgdGhlIG1lbW9yeSBmb3IgdGhlIG1pY3JvIGVuZ2lu ZXMgb3IgdHJ5IHRvIHRvdWNoIAp0aGUgaGFyZHdhcmUgYmxvY2tzIHdoZW4gc29tZXRoaW5nIGZh aWxzLgoKUmVnYXJkcywKQ2hyaXN0aWFuLgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5m cmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0 aW5mby9kcmktZGV2ZWwK