From mboxrd@z Thu Jan 1 00:00:00 1970 From: Hans de Goede Subject: Re: Dealing with opencl kernel parameters in nouveau now that RES support is gone Date: Mon, 22 Feb 2016 12:26:17 +0100 Message-ID: <56CAF059.3090608@redhat.com> References: <56C5D8F9.6030408@redhat.com> <56C6F031.6060308@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: nouveau-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "Nouveau" To: Ilia Mirkin Cc: "nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org" List-Id: nouveau.vger.kernel.org SGksCgpPbiAxOS0wMi0xNiAyMDo0MywgSWxpYSBNaXJraW4gd3JvdGU6Cj4gT24gRnJpLCBGZWIg MTksIDIwMTYgYXQgNTozNiBBTSwgSGFucyBkZSBHb2VkZSA8aGRlZ29lZGVAcmVkaGF0LmNvbT4g d3JvdGU6Cj4+IEhpLAo+Pgo+PiBPbiAxOC0wMi0xNiAxNzozOSwgSWxpYSBNaXJraW4gd3JvdGU6 Cj4+Pgo+Pj4gT24gVGh1LCBGZWIgMTgsIDIwMTYgYXQgOTo0NSBBTSwgSGFucyBkZSBHb2VkZSA8 aGRlZ29lZGVAcmVkaGF0LmNvbT4KPj4+IHdyb3RlOgo+Pj4+Cj4+Pj4gQnV0IHRoaXMgZG9lcyBu b3Qgc2VlbSB0byBiZSBob29rZWQgdXAgeWV0IGZvciBub3V2ZWF1Lgo+Pj4KPj4+Cj4+PiBTYW11 ZWwgaGFzIHBhdGNoZXMuIFNlZQo+Pj4gaHR0cHM6Ly9jZ2l0LmZyZWVkZXNrdG9wLm9yZy9+aGFr enNhbS9tZXNhL2xvZy8/aD1hcmJfY29tcHV0ZV9zaGFkZXJfdjMKPj4KPj4KPj4gQ29vbCwgSSB3 aWxsIHRha2UgYSBsb29rIGF0IHRob3NlLgo+Pgo+Pj4+IFNvIHNvbWUgcXVlc3Rpb25zOgo+Pj4+ IC1UaGUgY29tbWl0IGJ5IFNhbXVhbCBzYXlzOgo+Pj4+ICAgIFRoaXMgaW50cm9kdWNlcyBUR1NJ X0ZJTEVfTUVNT1JZIGZvciBzaGFyZWQsIGdsb2JhbCBhbmQgbG9jYWwgbWVtb3J5Lgo+Pj4+IE9u bHkKPj4+PiBzaGFyZWQgbWVtb3J5IGlzIGN1cnJlbnRseSBzdXBwb3J0ZWQuCj4+Pj4KPj4+PiAg ICBUaGUgY29tbWl0IGludHJvZHVjZXMgTUVNT1JZW3hdIGFuZCBNRU1PUllbeF0sU0hBUkVEIHNv IGluIHJlYWxpdHkgaXQKPj4+PiBhbHNvCj4+Pj4gaW50cm9kdWNlcwo+Pj4+ICAgIGEgc2Vjb25k IG9wdGlvbiBuZXh0IHRvIHNoYXJlZCwgc28gd2hhdCBhcmUgd2UgZ29pbmcgdG8gdXNlIHBsYWlu Cj4+Pj4gTUVNT1JZW3hdCj4+Pj4gZm9yPwo+Pj4+ICAgIEkgc3VnZ2VzdCB1c2luZyBpdCBmb3Ig Z2xvYmFsIG1lbW9yeSBidXQgd2UgbmVlZCB0byBiZSBpbiBhZ3JlZW1lbnQgb24KPj4+PiB0aGlz Lgo+Pj4KPj4+Cj4+PiBUaGF0IHNvdW5kcyBmaW5lIHRvIG1lLiBIb3dldmVyIHdoYXQgSSBoYWQg aW4gbWluZCB3YXMgc3dpdGNoaW5nIHRoZQo+Pj4gU0hBUkVEIGZpZWxkIGludG8gYSAyLWJpdCBm aWVsZCBhbmQgbWFraW5nIGl0Cj4+Pgo+Pj4gMSA9IFNIQVJFRAo+Pj4gMiA9IEdMT0JBTAo+Pj4g MyA9IExPQ0FMCj4+Pgo+Pj4gKHNpbmNlIGZvciBPcGVuQ0wgeW91IGFsc28gbmVlZCB0byBiZSBh YmxlIHRvIGFkZHJlc3MgbG9jYWwgb3IgcHJpdmF0ZQo+Pj4gbWVtb3J5KS4gSSBzb3J0YSB3YW50 ZWQgU2FtdWVsIHRvIGRvIGl0LCBidXQgc2luY2UgSSBoYWQgbm8gaWRlYSB3aGVyZQo+Pj4geW91 IHdlcmUgYXQsIG9yIGlmIHlvdSB3ZXJlIGV2ZW4gc3RpbGwgd29ya2luZyBvbiB0aGlzLCBJIGZp Z3VyZWQgaXQKPj4+IHNob3VsZCBiZSBmaXhlZCB1cCBieSB0aGUgZmlyc3QgcGVyc29uIHdobyBu ZWVkZWQgaXQuCj4+Cj4+Cj4+IFNvdW5kcyBnb29kLCBvbmx5IHRoZSBuYW1pbmcgaXMgc29tZXdo YXQgdW5mb3J0dW5hdGUgc2luY2Ugb3BlbmNsIHVzZXMKPj4gZGlmZmVyZW50Cj4+IG5hbWluZy4g SS5lLiBpdCBoYXMgbm8gInNoYXJlZCIKPgo+IFNhZC4gV2VsbCwgInNoYXJlZCIgaXMgd2hhdCBP cGVuR0wgY29tcHV0ZSBzaGFkZXJzIHVzZSwgd2hpY2ggaXMgd2h5IEkKPiBwcm9wb3NlZCBpdC4K Pgo+Pgo+PiBPcGVuQ0wgaGFzOgo+PiAtZ2xvYmFsOiAgYWNjZXNzaWJsZSBieSBhbGwgd29ya2Vy LWdyb3VwcyBhcyB3ZWxsIGFzIGJ5IHRoZSBDUFUKPj4gLWNvbnN0OiAgIHJlYWQtb25seSBnbG9i YWwKPj4gLWxvY2FsOiAgIHNoYXJlZCBieSB3b3JrZXItaXRlbXMgaW4gdGhlIHNhbWUgd29ya2Vy LWdyb3VwLCBub3Qgc2hhcmVkCj4+IGJldHdlZW4gd29ya2VyLWdyb3Vwcwo+PiAtcHJpdmF0ZTog YWNjZXNzaWJsZSBvbmx5IHRvIGEgc2luZ2xlIHdvcmtlci1pdGVtCj4+Cj4+IFNvIGhvdyBkbyB0 aGVzZSBtYXAgdG8gdGhlIFRHU0k6Cj4+Cj4+PiAxID0gU0hBUkVECj4+PiAyID0gR0xPQkFMCj4+ PiAzID0gTE9DQUwKPgo+IE9wZW5DTCBnbG9iYWwgPSBUR1NJIGdsb2JhbAo+IE9wZW5DTCBjb25z dCA9IFRHU0kgZ2xvYmFsCj4gT3BlbkNMIGxvY2FsID0gVEdTSSBzaGFyZWQKPiBPcGVuQ0wgcHJp dmF0ZSA9IFRHU0kgbG9jYWwKPgo+IE5vdCBzdXJlIHdoYXQgdGhlIGRpc3RpbmN0aW9uIGlzIGJl dHdlZW4gT3BlbkNMIGNvbnN0IGFuZCBnbG9iYWwgaXMuCj4gSWYgdGhlIGNvbnN0IHN0dWZmIGlz IGFjdHVhbGx5IGp1c3QgdXNlci1zdXBwbGllZCB1bmlmb3JtcyAoYW5kCj4gZG9lc24ndCBuZWVk IHRvIGJlIGluIGEgcGFydGljdWxhciBwbGFjZSBpbiBtZW1vcnkpLCB0aGVuIHRob3NlIHNob3Vs ZAo+IGdvIGludG8gVEdTSSBDT05TVCBzb21laG93LgoKQUZBSUsgT3BlbkNMIGNvbnN0IGlzIHJl YWxseSByZWFkLW9ubHkgZ2xvYmFsLCBzbyB0aGUgZGF0YSBpcyBmaWxsZWQKaW4gYnkgdGhlIENQ VSwgdGhlbiBwYXNzZWQgdG8gdGhlIG9wZW5jbC1rZXJuZWwgcnVubmluZyBvbiB0aGUgR1BVCndo ZXJlIGFsbCB3b3JrZXItaXRlbXMgaGF2ZSBhY2Nlc3MgdG8gaXQuIEkgdGhpbmsgdGhhdCBUR1NJ IENPTlNUIG1pZ2h0CmluZGVlZCBiZSB1c2FibGUgZm9yIHRoaXMsIGJ1dCBpdCBpcyBwcm9iYWJs eSBlYXNpZXN0IHRvIHRyZWF0Cml0IGFzIEdMT0JBTCBmb3Igbm93LgoKPj4+PiAtV2hhdCBhYm91 dCBrZXJuZWwgaW5wdXQgcGFyYW1ldGVycywgc28gZmFyIHRoZXNlIGhhdmUgYmVlbiB1c2luZwo+ Pj4+IFJFU1szMjc2NF0KPj4+PiAgICBJIG11c3QgYWRtaXQgdGhhdCBJIGRvIG5vdCB1bmRlcnN0 YW5kIHdoZXJlIHRoZSBmaWxlX2luZGV4IG9mIDMyNzY0Cj4+Pj4gY29tZXMKPj4+PiAgICBmcm9t IChvciB3aGVyZSBhbnkgb2YgdGhlIGZpbGUgaW5kZXhlcyBjb21lIGZyb20gZm9yCj4+Pj4gc3Jj L2dhbGxpdW0vdGVzdHMvdHJpdmlhbC9jb21wdXRlLmMgPwo+Pj4+ICAgIEkgaGF2ZSB0aGUgZmVl bGluZyB0aGF0IHRoZXNlIGFyZSBub3QgdXNlZCBhdCBhbGwsIGFuZCBldmVyeXRoaW5nCj4+Pj4g c2ltcGx5Cj4+Pj4gZ29lcwo+Pj4+ICAgIHRvIGEgZmxhdCAodmlydHVhbCkgbWVtb3J5IHNwYWNl LCB3aXRoIHRoZSBwYXJhbXMgYXQgYWRkcmVzcyAwLCBjb3JyZWN0Cj4+Pj4gPwo+Pj4KPj4+Cj4+ PiBJdCB3YXMgbmV2ZXIgcGFydGljdWxhcmx5IHdlbGwtc3BlY2lmaWVkLCB3aGljaCB3YXMgb25l IG9mIHRoZSByZWFzb25zCj4+PiBpdCB3ZW50IGF3YXkuIEl0IGFsc28gZGlkbid0IG1hcCBuaWNl bHkgb250byB0aGUgT3BlbkdMIG1vZGVsLiBUaGVyZQo+Pj4gaXMgYSByZW1haW5pbmcgcXVlc3Rp b24gb2YgaG93IHRvIGRvIGFkZHJlc3NpbmcgaW4gbWVtb3J5Li4uIHRoZXJlJ3MKPj4+IDQwIGJp dHMgb2YgYWRkcmVzcyBzcGFjZS4gU2hvdWxkIHRoZXNlIGltcGxpY2l0bHkgYmUgVTY0Cj4+PiAo ZHVhbC1jb21wb25lbnQgaW4gVEdTSSkgYWRkcmVzc2VzIHRoYXQgYXJlIHBhc3NlZCBhcm91bmQ/ IE5vdCBzdXJlCj4+PiB3aGF0IHRoZSBPcGVuQ0wgcG9zaXRpb24gb24gYWxsIHRoaXMgaXMuCj4+ Cj4+Cj4+IFNvIGZhciBJJ3ZlIGJlZW4gdXNpbmcgVTMyIGZvciBhZGRyZXNzZXMgYXMgdGhhdCBp cyB3aGF0IEZyYW5jaXNjbydzCj4+IG9yaWdpbmFsCj4+IGNvZGUgd2FzIHVzaW5nLiBBbmQgdGhp cyBhbHNvIGlzIHdoYXQgdGhpbmdzIGxpa2UgdGhlIHRnc2kgTE9BRCBpbnN0cnVjdGlvbgo+PiB0 YWtlLiBJZiB5b3UncmUgZG9pbmcgYSBMT0FEIG9uIGEgMWQgYnVmZmVyIHRoZW4geW91IHdpbGwg dXNlIFRFTVBbI10ueCB0bwo+PiBzcGVjaWZ5IHRoZSBpbmRleCwgYW5kIHRoZSB3YXkgaG93IHRo aXMgY3VycmVudGx5IHdvcmtzIHdpdGggT3BlbkNMIGlzIHRoYXQKPj4gY2xDcmVhdGVCdWZmZXIo KSB3aWxsIHJldHVybiBhIGNsX21lbSB0eXBlIHdoaWNoIHRoZW4gZ2V0cyBwYXNzZWQgaW50bwo+ PiB0aGUga2VybmVsIGFzIGlucHV0IHBhcmFtZXRlciBhbmQgZ2V0cyB0cmVhdGVkIGFzIGEgcG9p bnRlciBieSB0aGUgY29tcGlsZXIsCj4+IHNvIGUuZy4gZ2xvYmFsIG1lbSBnZXRzIHRyZWF0ZWQg YXMgYSBzaW5nbGUgYWRkcmVzcyBzcGFjZSBldmVuIGlmIHRoZXJlCj4+IGFyZSBtdWx0aXBsZSBn bG9iYWwgYnVmZmVycyBhbmQgVEVNUFsjXS54IGNvbnRhaW5zIHRoZSB2YWx1ZSBwYXNzZWQgaW4K Pj4gdmlhIGNsX21lbSBhcyBzdGFydCBvZmZzZXQgZm9yIHRoZSBidWZmZXIgKyB0aGUgaW5kZXgg aW50byB0aGUgYnVmZmVyLgo+Pgo+PiBTbyB0aGlzIG1lYW5zIHRoYXQgY3VycmVudGx5IHdlIGFy ZSBsaW1pdGVkIHRvIFUzMiBzaW5jZSBURU1QWyNdLnggaXMKPj4gb25seSAzMiBiaXRzIHdpZGUu IEludGVybmFsbHkgNDAgYml0cyBhZGRyZXNzZXMgY2FuIGFuZCBzaG91bGQgcHJvYmFibHkKPj4g YmUgdXNlZCBzbyB0aGF0IGF0IGxlYXN0IHRoZSBkaWZmZXJlbnQgbWVtb3J5IHNwYWNlcyBlYWNo IGhhdmUgdGhlIGZ1bGwKPj4gMzIgYml0cyBhdmFpbGFibGUuCj4+Cj4+IE5vdGUgdGhhdCB3ZSBj b3VsZCBmaXggdGhpcyBieSBhZGRpbmcgc29tZSBzb3J0IG9mIExPQUQ2NCBvcGNvZGUsIHdoaWNo Cj4+IHVzZXMgVEVNUFsjXS54IGFuZCBURU1QWyNdLnkgYXMgYWRkcmVzcyBmb3IgMWQgYnVmZmVy cywgSSdtIG5vdCBzdXJlCj4+IGhvdyB0aGlzIHdvdWxkIHdvcmsgZm9yIDNkIGJ1ZmZlcnMgdGhv dWdoLiBJIGZvcmVzZWUgdGhlIGxsdm0gYmFja2VuZAo+PiBldmVudHVhbGx5IGdldHRpbmcgYSA2 NCBiaXQgbW9kZSB3aGVyZSBpdCB3aWxsIHVzZSA2NCBiaXRzIGZvciBhbGwKPj4gcG9pbnRlcnMg YW5kIHVzZSBzb21ldGhpbmcgbGlrZSBhIExPQUQ2NCBvcGNvZGUgdG8gaW5kaWNhdGUgdGhhdAo+ PiB0aGUgaW5kZXhlcyAod2hpY2ggaXQgZWZmZWN0aXZlbHkgdXNlcyBhcyBhZGRyZXNzZXMgLyBw b2ludGVycykKPj4gYXJlIDY0IGJpdCB3aWRlLgo+Cj4gV2VsbCwgdGhpcyBMT0FENjQvU1RPUkU2 NCB3b3VsZCBqdXN0IG9ubHkgYmUgZGVmaW5lZCBmb3IgTUVNT1JZW10KPiBzcmMvZGVzdCwgc28g eW91IGRvbid0IG5lZWQgdG8gd29ycnkgYWJvdXQgM2Qgb3IgYW55dGhpbmcgbGlrZSB0aGF0LiBJ Cj4gYmVsaWV2ZSB0aGlzIGlzIGEgZ29vZCBzb2x1dGlvbiB0byB0aGUgcHJvYmxlbS4KClJpZ2h0 IGZvciBNRU1PUlkgdGhpcyB3aWxsIHdvcmsgZmluZS4gSSd2ZSBubyBjbHVlIHlldCBob3cgaW1h Z2VzIHdpbGwKd29yayB3aXRoIE9wZW5DTCB0aG91Z2gsIGhvcGVmdWxseSB3ZSBjYW4gYXZvaWQg dGhlIG9uZSBmbGF0IGFkZHJlc3MKc3BhY2UgdGhpbmcgdGhlcmUsIGJ1dCBJIHNpbXBseSBkb24n dCBrbm93IHlldC4KCj4+PiBBbHNvIGl0IHdvdWxkIGJlIGhpZ2hseSBwcmVmZXJhYmxlIHRvIGF2 b2lkIHVzaW5nIEdMT0JBTCBhdCBhbGwgaW4gdGhlCj4+PiBmaXJzdCBwbGFjZSwgYW5kIGp1c3Qg dXNlIEJVRkZFUltdIG9yIElNQUdFW10gb3Igd2hhdGV2ZXIuIEhvd2V2ZXIKPj4+IGFmdGVyIGhh dmluZyBhIGxvb2sgYXQgaG93IE9wZW5DTCB3b3JrcywgSSBkb24ndCB0aGluayB0aGF0J3MKPj4+ IHBvc3NpYmxlLiBCdXQgcGVyaGFwcyBJIG1pc3NlZCBzb21ldGhpbmc/Cj4+Cj4+Cj4+IE9wZW5D TCBpcyB2ZXJ5IEMtbGlrZSBhbmQgYXMgc3VjaCB1c2VzIGEgZmxhdCBhZGRyZXNzIHNwYWNlIHBl ciBtZW1vcnkKPj4gc3BhY2UsIGdldHRpbmcgYXJvdW5kIHRoYXQgaXMgZ29pbmcgdG8gYmUgdmVy eSB0cmlja3ksIGlmIHBvc3NpYmxlIGF0Cj4+IGFsbC4KPgo+IFRoYXQgd2FzIG15IGFzc2Vzc21l bnQgYXMgd2VsbC4KPgo+Pgo+Pj4gUGVyaGFwcyBJIGRpZG4ndCBtYWtlIGl0IGNsZWFyIGVub3Vn aCB0aG91Z2ggLS0gc29ycnkuIFRoZSByZWFsaXR5IGlzCj4+PiB0aGF0IFRHU0kgaXMgYSBsaXZp bmcgdGhpbmcsIGFuZCB0aGluZ3MgY2hhbmdlIGV2ZXJ5IHNvIG9mdGVuLiBJIGRvbid0Cj4+PiB0 aGluayBwZW9wbGUgd291bGQgYmUgY29tZm9ydGFibGUgd2l0aCBsb2NraW5nIGRvd24gVEdTSSBp biBzdWNoIGEKPj4+IHdheS4KPj4KPj4KPj4gSG1tLCBJIGRvIHRoaW5rIHRoYXQgaWYgd2UgZW5k IHVwIHVzaW5nIGEgbGx2bS1pciAtPiB0Z3NpIHN0ZXAgaW4gc29tZQo+PiBjYXNlcyB0aGF0IHdl IGRvIG5lZWQgdG8gbG9jayBUR1NJIGRvd24uIFRha2VuIHRoZSBSRVMgdGhpbmcgZm9yIGV4YW1w bGUsCj4+IGl0IHdvdWxkIGhhdmUgYmVlbiBwcmV0dHkgdHJpdmlhbCBhY3R1YWxseSB0byBub3Qg bnVrZSBpdCwgYW5kIGluc3RlYWQganVzdAo+PiBhZGQgdGhlIGltYWdlIHN1cHBvcnQgbmV4dCB0 byBpdC4gTm90ZSBJJ20gZmluZSB3aXRoIG1ha2luZyBjaGFuZ2VzIHdoaWxlCj4+IHdlIGFyZSBm aWd1cmluZyB0aGlzIG91dCwgYnV0IG9uY2UgSSBzdGFydCBwdXNoaW5nIHRoZSBsbHZtIGJpdHMg dG8gbGx2bQo+PiB1cHN0cmVhbSAod2hpY2ggaXMgc3RpbGwgbW9udGhzIGF3YXkpIHdlIGFyZSBn b2luZyB0byBuZWVkIHNvbWUgc29ydCBvZgo+PiBUR1NJIHN0YWJpbGl0eS4KPgo+IEkgY2FuJ3Qg dW5pbGF0ZXJhbGx5IG1ha2Ugc3VjaCBwcm9taXNlcy4gVGhpcyB3b3VsZCBoYXZlIHRvIGJlCj4g ZGlzY3Vzc2VkIGFuZCBhcHByb3ZlZCBieSB0aGUgb3RoZXIgZ2FsbGl1bS90Z3NpIHN0YWtlaG9s ZGVycy4KClVuZGVyc3Rvb2QuCgpTbyBiYWNrIHRvIHRoZSBwcm9ibGVtIG9mIGdldHRpbmcgT3Bl bkNMKGlzaCkgY29kZSB0byB3b3JrIGFnYWluIHdpdGgKdGhlIHJlY2VudCBtZXNhIGNoYW5nZXMu IEZvciBzdGFydGVycyBJIHdvdWxkIGxpa2UgdG8gZ2V0OgoKc3JjL2dhbGxpdW0vdGVzdHMvdHJp dmlhbC9jb21wdXRlLmMgYW5kIHRoZW4gdGhlIHRlc3Qgd2l0aCBtYXNrIDgsCnRlc3RfaW5wdXRf Z2xvYmFsKCkgdG8gd29yayBhZ2Fpbiwgd2hlbiB0aGF0IGlzIHdvcmtpbmcgSSBzaG91bGQgYmUK YWJsZSB0byBhZGp1c3QgbXkgbGx2bSB3b3JrIChhbmQgaWYgbmVjZXNzYXJ5IGNsb3ZlcikgdG8g c3RhcnQgdG8Kd29yayBhZ2Fpbi4KCkN1cnJlbnRseSB0aGUgdGVzdF9pbnB1dF9nbG9iYWwoKSB0 ZXN0IHVzZXMgdGhlIGZvbGxvd2luZyBiaXQgb2YKVEdTSSBjb2RlOgoKQ09NUApEQ0wgU1ZbMF0s IFRIUkVBRF9JRFswXQpEQ0wgVEVNUFswXSwgTE9DQUwKRENMIFRFTVBbMV0sIExPQ0FMCklNTSBV SU5UMzIgeyA4LCAwLCAwLCAwIH0KCiAgICBCR05TVUJcbiIKICAgICAgICBVTVVMIFRFTVBbMF0s IFNWWzBdLCBJTU1bMF0KICAgICAgICBMT0FEIFRFTVBbMV0ueHksIFJJTlBVVCwgVEVNUFswXQog ICAgICAgIExPQUQgVEVNUFswXS54LCBSR0xPQkFMLCBURU1QWzFdLnl5eXkKICAgICAgICBVQURE IFRFTVBbMV0ueCwgVEVNUFswXSwgLVRFTVBbMV0KICAgICAgICBTVE9SRSBSR0xPQkFMLngsIFRF TVBbMV0ueXl5eSwgVEVNUFsxXQogICAgICAgIFJFVAogICAgRU5EU1VCCgoKV2hlcmUgYnkgUklO UFVUIGFuZCBSR0xPQkFMIGdldCByZXBsYWNlcyBieSBwcm9jZXNzaW5nIHRoZQpjb2RlIHdpdGgg Y3BwIGFuZCB0aGUgZm9sbG93aW5nIGRlZmluZXM6CgojZGVmaW5lIFJHTE9CQUwgICAgICAgIFJF U1szMjc2N10KI2RlZmluZSBSTE9DQUwgICAgICAgICBSRVNbMzI3NjZdCiNkZWZpbmUgUlBSSVZB VEUgICAgICAgUkVTWzMyNzY1XQojZGVmaW5lIFJJTlBVVCAgICAgICAgIFJFU1szMjc2NF0KCklm IEkgdW5kZXJzdGFuZCBob3cgbWVtb3J5IGlzIHN1cHBvc2VkIHRvIHdvcmssIHRoZW4gSSB3b3Vs ZCBuZWVkIHRvCmNoYW5nZSB0aGUgVEdTSSBhcyBmb2xsb3dzOgoKQ09NUApEQ0wgU1ZbMF0sIFRI UkVBRF9JRFswXQpEQ0wgTUVNT1JZWzBdCkRDTCBURU1QWzBdLCBMT0NBTApEQ0wgVEVNUFsxXSwg TE9DQUwKSU1NIFVJTlQzMiB7IDgsIDAsIDAsIDAgfQoKQkdOU1VCXG4iClVNVUwgVEVNUFswXSwg U1ZbMF0sIElNTVswXQpMT0FEIFRFTVBbMV0ueHksIFJJTlBVVCwgVEVNUFswXQpMT0FEIFRFTVBb MF0ueCwgTUVNT1JZWzBdLCBURU1QWzFdLnl5eXkKVUFERCBURU1QWzFdLngsIFRFTVBbMF0sIC1U RU1QWzFdClNUT1JFIE1FTU9SWVswXS54LCBURU1QWzFdLnl5eXksIFRFTVBbMV0KUkVUCkVORFNV QgoKVGhpcyBhc3N1bWVzLCB0aGF0IGFzIGRpc2N1c3NlZCBkZWNsYXJpbmcgbWVtb3J5IHdpdGhv dXQgYSAsIFNIQVJFRCBvciBvdGhlcgpmbGFnIG1lYW5zIHRoZSBtZW1vcnkgaXMgZ2xvYmFsLgoK U28gMiBxdWVzdGlvbnM6CgoxKSBEbyB0aGUgYWJvdmUgY2hhbmdlcyBmb3IgdXNpbmcgdGhlIG5l dyBNRU1PUlkga2V5d29yZCBsb29rIGFzIGludGVuZGVkCnRvIHlvdT8KCjIpIFRoaXMgb25seSBz b2x2ZXMgdGhlIGFjY2Vzc2luZyBvZiB0aGUgZ2xvYmFsIG1lbW9yeSwgaXQgZG9lcyBub3Qgc29s dmUKZ2V0dGluZyB0byB0aGUga2VybmVsIGlucHV0IGtlcm5lbCBwYXJhbWV0ZXJzLCBob3cgd291 bGQgSSBkZWFsIHdpdGggdGhvc2UgPwoKQ3VycmVudGx5IHRoZSBrZXJuZWwgaW5wdXQgcGFyYW1l dGVycyBhcmUgdXBsb2FkZWQgYnkKc3JjL2dhbGxpdW0vZHJpdmVycy9ub3V2ZWF1L252NTAvbnY1 MF9jb21wdXRlLmM6IG52NTBfY29tcHV0ZV91cGxvYWRfaW5wdXQoKQoKQXJlIHdlIGdvaW5nIHRv IGNoYW5nZSBob3cgdGhlc2UgcGFyYW1ldGVycyBnZXQgdXBsb2FkZWQgPyBBbmQgaWYgbm90IGhv dyBkbyB3ZQpnZXQgdG8gdGhlc2UgcGFyYW1ldGVycyBmcm9tIFRHU0kgbm93IHRoYXQgd2Ugbm8g bG9uZ2VyIGhhdmUgUkVTWyNdIHRvIGRvIHNvID8KCkkgdGhpbmsgd2Ugc2hvdWxkIGFsc28ga2Vl cCBpbiBtaW5kIHRoYXQgd2hhdCB3b3JrcyBmb3Igbm91dmVhdSBtYXkgbm90IHdvcmsKZm9yIG90 aGVyIEdQVS1zLCBzbyB3ZSBzaG91bGQgZWl0aGVyIGludHJvZHVjZSBhIE1FTU9SWVt4XSwgSU5Q VVQgb3IKYSBuZXcgRENMIElOUFVUWzBdIGZvciB0aGlzLCBzbyB0aGF0IHRoZSBjb2RlIGZvciBv dGhlciBHUFUtcyBjYW4gaGF2ZSBpdHMKb3duIGhhbmRsaW5nIGZvciB0aGlzLgoKUmVnYXJkcywK CkhhbnMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTm91 dmVhdSBtYWlsaW5nIGxpc3QKTm91dmVhdUBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9s aXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9ub3V2ZWF1Cg==