From mboxrd@z Thu Jan 1 00:00:00 1970 From: Russell King - ARM Linux Subject: Re: [PATCH RFC 003/111] staging: etnaviv: add drm driver Date: Tue, 7 Apr 2015 11:46:02 +0100 Message-ID: <20150407104602.GF12732@n2100.arm.linux.org.uk> References: <1427988653-754-1-git-send-email-l.stach@pengutronix.de> <1427988653-754-4-git-send-email-l.stach@pengutronix.de> <1428392117.2811.12.camel@pengutronix.de> <1428398410.2811.46.camel@pengutronix.de> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from pandora.arm.linux.org.uk (pandora.arm.linux.org.uk [78.32.30.218]) by gabe.freedesktop.org (Postfix) with ESMTP id 000616E558 for ; Tue, 7 Apr 2015 03:46:16 -0700 (PDT) Content-Disposition: inline In-Reply-To: <1428398410.2811.46.camel@pengutronix.de> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Lucas Stach Cc: Sascha Hauer , DRI mailing list List-Id: dri-devel@lists.freedesktop.org T24gVHVlLCBBcHIgMDcsIDIwMTUgYXQgMTE6MjA6MTBBTSArMDIwMCwgTHVjYXMgU3RhY2ggd3Jv dGU6Cj4gQW0gRGllbnN0YWcsIGRlbiAwNy4wNC4yMDE1LCAxMTowNCArMDIwMCBzY2hyaWViIENo cmlzdGlhbiBHbWVpbmVyOgo+ID4gV2hhdCByb2xlIGRvZXMgR1BVIHBvd2VyIG1hbmFnZW1lbnQg cGxheXMgaGVyZT8gRm9yIHRoZSBjb250ZXh0IHN3aXRjaGluZwo+ID4gaXQgY291bGQgbWFrZSBz ZW5zZS4gQnV0IGZvciB0aGUgMmQgY29yZSB0aGUgY29udGV4dCBpcyBzbyBzbWFsbCB0aGF0Cj4g PiBpdCBkb2VzIG5vdAo+ID4gaHVydCB0byBzZW5kIGl0IHdpdGggZXZlcnkgY29tbWFuZCBzdHJl YW0uIEZvciB0aGUgM2QgY29yZSBpdCBpcyBtdWNoCj4gPiBiaWdnZXIsIGJ1dAo+ID4gdGhpcyBj b3VsZCBiZSBkb25lIGNvbXBsZXRlbHkgaW4gdGhlIGtlcm5lbC4gT3IgSSBhbSB3cm9uZyBoZXJl Pwo+Cj4gSWYgeW91IHBvd2VyIGRvd24gdGhlIEdQVSB5b3UgbG9vc2UgdGhlIGNvbnRleHQuIFlv dSBhcmUgcmlnaHQgdGhhdCB3ZQo+IGNvdWxkIHNhdmUvcmVzdG9yZSB0aGUgY29udGV4dCBmcm9t IGtlcm5lbCBzcGFjZSwgYnV0IHRoYXQgaXMgcmVhbGx5Cj4gdGFraW5nIGEgdG9sbCBvbiBDUFUg dGltZS4gSXQgaXMgbXVjaCBiZXR0ZXIgdG8gaGF2ZSB1c2Vyc3BhY2UgcHJvdmlkZSBhCj4gY29u dGV4dCBidWZmZXIgdG8gZ2V0IHRoZSBHUFUgaW4gdGhlIGV4cGVjdGVkIHN0YXRlLCBhcyB5b3Ug dGhlbiBvbmx5Cj4gbmVlZCB0byBzcGxpY2UgdGhpcyBpbnRvIHRoZSBleGVjdXRpb24gc3RyZWFt IHRvIHJlc3RvcmUgdGhlIGNvbnRleHQKPiBpbnN0ZWFkIG9mIHB1c2hpbmcgaXQgd2l0aCB0aGUg Q1BVLiBSZWFkaW5nIGJhY2sgdGhlIGNvbnRleHQgb24gZXZlcnkKPiBzd2l0Y2ggd2lsbCBraWxs IGFueSBwZXJmb3JtYW5jZS4KCkZvciBib3RoIFZpdmFudGUgYW5kIEV0bmF2aXYsIGl0J3MgYWxy ZWFkeSB0aGUgYWNjZXB0ZWQgd2F5IHRoYXQgMkQKY29yZXMgbmVlZCB0aGUgZnVsbCBjb250ZXh0 IGxvYWRlZCBmb3IgZWFjaCBvcGVyYXRpb24sIGFuZCB0aGUgZmV3CnVzZXJzcGFjZSBiaXRzIHdl IGhhdmUgY29tcGx5IHdpdGggdGhhdCB0b2RheS4KCldpdGggRXRuYXZpdiBEUk0sIHdlIGFscmVh ZHkgbXVzdCBlbnN1cmUgdGhhdCB0aGUgY29tbWFuZCBidWZmZXIKc3VibWl0dGVkIHRvIHRoZSBH UFUgY29udGFpbnMgYWxsIHJlZmVyZW5jZXMgdG8gYnVmZmVyIG9iamVjdHMgdG8gYmUKb3BlcmF0 ZWQgb24gYnkgdGhhdCBjb21tYW5kIGJsb2NrIC0gb3IgdG8gcHV0IGl0IGFub3RoZXIgd2F5LCB3 ZQpuZWVkIHRvIGVuc3VyZSB0aGF0IGVhY2ggR1BVIG9wZXJhdGlvbiBpcyBjb21wbGV0ZSBpbnNp ZGUgdGhlIGNvbW1hbmQKc3VibWl0dGVkIGJ1ZmZlci4KClRoZSAyRCBjb3JlIGlzIHJhdGhlciBt ZXNzeSBhcyBmYXIgYXMgd2hpY2ggYml0cyBvZiBzdGF0ZSBuZWVkIHRvIGJlCnByZXNlcnZlZCwg ZXNwZWNpYWxseSB3aGVuIHlvdSBjb25zaWRlciB0aGF0IHlvdSBoYXZlIHRoZSAyRCBkcmF3aW5n CmFuZCBibGl0IG9wcywgYXMgd2VsbCBhcyBhIHZpZGVvIHJhc3RlcmlzZXIgd2hpY2ggc2hhcmVz IHNvbWUgc3RhdGUKcmVnaXN0ZXJzIGZvciB0aGUgZGVzdGluYXRpb24sIGJ1dCB1c2VzIGRpZmZl cmVudCBzdGF0ZSByZWdpc3RlcnMgZm9yCnRoZSBzb3VyY2UuICBJdCBxdWlja2x5IGJlY29tZXMg cmF0aGVyIG1lc3N5IHRvIGtlZXAgdHJhY2sgb2YgdGhlCkdQVSBzdGF0ZS4KCkluIGFueSBjYXNl LCB0aGUgYW1vdW50IG9mIHN0YXRlIHdoaWNoIG5lZWRzIHRvIGJlIGxvYWRlZCBmb3IgMkQKb3Bl cmF0aW9ucyBpcyBzbWFsbCwgc28gSSB0aGluayBpdCByZWFsbHkgbWFrZXMgc2Vuc2UgdG8gcmVx dWlyZQp1c2Vyc3BhY2UgdG8gb25seSBzdWJtaXQgY29tcGxldGUsIGZ1bGx5IGRlc2NyaWJlZCAy RCBvcGVyYXRpb25zCndpdGhpbiBhIHNpbmdsZSBjb21tYW5kIGJ1ZmZlci4KCj4gPiBJIHRlbmQg dG8gZ2V0IHRoaW5ncyB1cCBhbmQgcnVubmluZyBhbmQgZG8gdGhlIG9wdGltaXphdGlvbiBzdGVw IGlmIGl0Cj4gPiBpcyByZWFsbHkgd29ydGguCj4gPiBBbHNvIEkgbGlrZSBzdHVmZiB0byBiZSBz dHVwaWQgc2ltcGxlLiBUaGVyZSBpcyBhbiBvdGhlciBpbnRlcmVzdGluZwo+ID4gZmFjdDogZmx1 c2hpbmcgdGhlCj4gPiBpb21tdXYyIGlzIGRvbmUgdmlhIGNvbW1hbmQgc3RyZWFtIGFuZCB3ZSBu ZWVkIHRvIHJlc2VydmUgbW9yZSBzcGFjZQo+ID4gZm9yIHRoZSB0YWlsIG9mIHRoZSB1c2VkIGJv LiBTbyBpZiB3ZSByZXNlcnZlIHNvbWUgc3BhY2UgaW4gdGhlCj4gPiBjb21tYW5kIGJ1ZmZlciwg d2UgaGF2ZSBvdGhlciBzcGFjZSBsaW1pdHMgZm9yIHRoZSB0YWlsIGRlcGVuZGluZyBvbgo+ID4g dXNlZCBoYXJkd2FyZS4KCkkgd291bGQgbXVjaCByYXRoZXIgd2Ugb25seSBhcHBlbmRlZCBMSU5L IGNvbW1hbmRzIHRvIHRoZSBzdWJtaXR0ZWQKY29tbWFuZCBCTywgYW5kIGFkZGVkIHdoYXRldmVy IEdQVSBtYW5hZ2VtZW50IGNvbW1hbmRzIHRvIGVpdGhlciB0aGUKcmluZyBidWZmZXIgKHdoaWNo IGlzIGVhc3kpIG9yIGEgc2VwYXJhdGUgR1BVIG1hbmFnZW1lbnQgY29tbWFuZApidWZmZXIuICBH aXZlbiB0aGF0IEknbSBhbHJlYWR5IGRvaW5nIHRoaXMgdG8gZmx1c2ggdGhlIFYxIE1NVSBpbgp0 aGUga2VybmVsIHJpbmcgYnVmZmVyLCB0aGlzIGlzIHRoZSBvcHRpb24gSSBwcmVmZXIuCgo+IFlv dSBtYXkgYmUgYXdhcmUgdGhhdCBvbmNlIHRoaXMgaXMgdXBzdHJlYW0gdGhlcmUgaXMgbm8gZWFz eSB3YXkgdG8KPiBjaGFuZ2UgdGhlIHVzZXJzcGFjZSBpbnRlcmZhY2UgYW55bW9yZS4gU28gd2hh dGV2ZXIgaXMgbGVmdCBvdXQgbm93IGlzCj4gbGlrZWx5IHRvIGJlIHZlcnkgaGFyZCB0byByZWlu dHJvZHVjZSBsYXRlci4KCkluZGVlZCAtIHdlIG5lZWQgdG8gYWdyZWUgd2hhdCB0aGUgc3VibWl0 ZWQgY29tbWFuZCBidWZmZXIgd2lsbCBjb250YWluLAphbmQgaG93IG11Y2ggc3BhY2UgdG8gZW5m b3JjZSBhdCB0aGUgZW5kIG9mIHRoZSBjb21tYW5kIGJ1ZmZlci4KClRoZSBtaW5pbXVtIHNwYWNl IGlzIG9uZSBMSU5LIGNvbW1hbmQsIHdoaWNoIGlzIDggYnl0ZXMuICBBcyBsb25nIGFzIHdlCmNh biBhZGQgYSBMSU5LIGNvbW1hbmQsIHdlIGNhbiByZWRpcmVjdCB0aGUgR1BVJ3MgZXhlY3V0aW9u IGVsc2V3aGVyZSB0bwpkbyB3aGF0ZXZlciBvdGhlciBvcGVyYXRpb25zIHdlIHdhbnQgdG8gZG8u CgpJIHRoaW5rIHRoZSBvbmx5IGRhbmdlciB0aGVyZSBpcyBpZiBWaXZhbnRlIHByb2R1Y2UgYSBH UFUgd2l0aCA2NC1iaXQKYWRkcmVzc2luZyBmb3IgdGhlIGNvbW1hbmQgc3RyZWFtIC0gaWYgdGhl eSBkbywgY29tbWFuZHMgbGlrZSBMSU5LIHdpbGwKbW9zdCBsaWtlbHkgY2hhbmdlIGZvcm1hdCwg YW5kIHBvc3NpYmx5IHdvdWxkIGJlIGEgZGlmZmVyZW50IG51bWJlciBvZgpiaXRzLgoKVGhlIHNp bXBsZSBzb2x1dGlvbiB0byB0aGlzIHdvdWxkIGJlIHRvIGludHJvZHVjZSBpbnRvIHRoZSBBUEkg YQpwcm9wZXJ0eSAobGlrZSBpcyBkb25lIGZvciB0aGUgZmVhdHVyZSBiaXRzKSB3aGljaCB0ZWxs cyB1c2Vyc3BhY2UgdGhlCm1pbmltdW0gbnVtYmVyIG9mIGJ5dGVzIHdoaWNoIG11c3QgYmUgcmVz ZXJ2ZWQgYXQgdGhlIGVuZCBvZiB0aGUgY29tbWFuZApidWZmZXIuICBJZiB3ZSBuZWVkIHRvIGNo YW5nZSB0aGF0IGluIHRoZSBmdXR1cmUsIHdlIGhhdmUgdGhlIGZsZXhpYmlsaXR5CnRvIGRvIHNv LgoKPiBXaGF0JyB0aGUgcHJvYmxlbSB3aXRoIGhhdmluZyBhIGNvbW1hbmQgYnVmZmVyIGluIHRo ZSBrZXJuZWwgdG8gZmx1c2gKPiB0aGUgTU1VdjI/IFdoeSBkbyB5b3UgbmVlZCB0byBpbnNlcnQg dGhvc2UgY29tbWFuZHMgaW50byB0aGUgdXNlcnNwYWNlCj4gY29tbWFuZCBzdHJlYW0/CgpUaGF0 J3MgY2VydGFpbmx5IHdoZXJlIEkgd291bGQgcHV0IGl0LgoKPiA+ID4+ID4gKyNkZWZpbmUgRVRO QV9TVUJNSVRfQk9fUkVBRCAgICAgICAgICAgICAweDAwMDEKPiA+ID4+ID4gKyNkZWZpbmUgRVRO QV9TVUJNSVRfQk9fV1JJVEUgICAgICAgICAgICAweDAwMDIKPiA+ID4+ID4gK3N0cnVjdCBkcm1f ZXRuYXZpdl9nZW1fc3VibWl0X2JvIHsKPiA+ID4+ID4gKyAgICAgICB1aW50MzJfdCBmbGFnczsg ICAgICAgICAgLyogaW4sIG1hc2sgb2YgRVROQV9TVUJNSVRfQk9feCAqLwo+ID4gPj4gPiArICAg ICAgIHVpbnQzMl90IGhhbmRsZTsgICAgICAgICAvKiBpbiwgR0VNIGhhbmRsZSAqLwo+ID4gPj4g PiArICAgICAgIHVpbnQ2NF90IHByZXN1bWVkOyAgICAgICAvKiBpbi9vdXQsIHByZXN1bWVkIGJ1 ZmZlciBhZGRyZXNzICovCj4gPiA+Pgo+ID4gPj4gcHJlc3VtZWQgc3VwcG9ydCBzaG91bGQgbmV2 ZXIgaGl0IGV0bmF2aXYgZHJpdmVyLgo+ID4gPj4KPiA+ID4gQXMgc3RhdGVkIGluIHRoZSBjb3Zl ciBsZXR0ZXIgSSB0aGluayBwcmVzdW1lZCBzdXBwb3J0IHdpbGwgYmVjb21lCj4gPiA+IHBvc3Np YmxlIHdpdGggTU1VdjIgYW5kIG1heSBwcm92aWRlIGEgZ29vZCBvcHRpbWl6YXRpb24gdGhlcmUu IFNvIEkKPiA+ID4gd291bGQgcmF0aGVyIGxlYXZlIHRoaXMgaW4gaGVyZSBhbmQganVzdCBpZ25v cmUgaXQgZm9yIG5vdy4KCkNvdWxkIHdlIHJlbmFtZSB0aGlzIG1lbWJlciAncmVzZXJ2ZWQnIGlm IGl0J3Mgc29tZXRoaW5nIHRoYXQgd2UgdGhpbmsKd2UncmUgZ29pbmcgdG8gaW1wbGVtZW50IGlu IHRoZSBuZWFyIGZ1dHVyZSAtIGJ1dCBhbHNvIHBsZWFzZSBhZGQgYQpmbGFnIHdoaWNoIGluZGlj YXRlcyB3aGV0aGVyIHRoZSBwcmVzdW1lZCBhZGRyZXNzIGlzIHByZXNlbnQgb3Igbm90LgpaZXJv IF9jYW5fIGJlIGEgdmFsaWQgYWRkcmVzcyB0b28hCgo+IEEgcHJlc3VtZWQgYWRkcmVzcyBjYW4g bm90IGJlIGEgcGh5c2ljYWwgYWRkcmVzcywgYnV0IGlzIGFuIGFkZHJlc3MgaW4KPiB0aGUgVk0g Y29udGV4dCBvZiB0aGF0IHByb2Nlc3MuIE5vdXZlYXUgdXNlcyB0aGUgc2FtZSB0aGluZyBvbiBO VjUwKwo+IHdoZXJlIHlvdSBoYXZlIGEgcHJvcGVyIE1NVSB0byBwcm90ZWN0IGFsbCBHUFUgYWNj ZXNzZXMuIEkgd291bGQgZXhwZWN0Cj4gdGhlIHNhbWUgdGhpbmcgdG8gYmUgdHJ1ZSBmb3IgVml2 YW50ZSBNTVV2Mi4KCkkga25vdyB0aGF0IHRoZXJlIGFyZSB2ZXJ5IHN0cm9uZyBvcGluaW9ucyBh Ym91dCBleHBvc2luZyBfcGh5c2ljYWxfCmFkZHJlc3NlcyB0byB1c2Vyc3BhY2UgKERhdmlkLCBm b3IgZXhhbXBsZSwgZG9lc24ndCBsaWtlIGl0IG9uZSBiaXQuKQpJZiBpdCdzIGEgR1BVIGFkZHJl c3MsIHRoZW4gdGhhdCdzIGxlc3MgdXNlZnVsIHRvIHVzZXJzcGFjZS4KCkhvd2V2ZXIsIHRoYXQg ZGF0YSBoYXMgdG8gYmUgdHJlYXRlZCBhcyBzdXNwZWN0IGNvbWluZyBmcm9tIHVzZXJzcGFjZS4K CllvdSBzdGlsbCBuZWVkIHRvIGxvb2sgdXAgdGhlIGJ1ZmZlciBvYmplY3QgaW4gdGhlIGtlcm5l bCwgc28gdGhhdCB5b3UKY2FuIG1hbmFnZSB0aGUgYnVmZmVyIG9iamVjdCdzIHN0YXRlLiAgSWYg eW91IGhhdmUgdGhlIGJ1ZmZlciBvYmplY3QncwpzdGF0ZSwgdGhlbiB5b3UgbW9zdCBsaWtlbHkg aGF2ZSBlYXN5IGFjY2VzcyB0byBpdHMgR1BVIG1hcHBpbmcsIHdoaWNoCm1lYW5zIHlvdSBjYW4g cmV0cmlldmUgdGhlIEdQVSBhZGRyZXNzLCB3aGljaCB5b3UgY2FuIHRoZW4gdXNlIHRvCnZhbGlk YXRlIHRoZSBhZGRyZXNzIHBhc3NlZCBmcm9tIHVzZXJzcGFjZS4uLiBidXQgaWYgeW91J3ZlIGZv dW5kIHRoZQpHUFUgYWRkcmVzcyB2aWEgdGhpcyBtZXRob2QsIHlvdSBoYXZlbid0IHNhdmVkIGFu eXRoaW5nLgoKQW4gYWx0ZXJuYXRpdmUgYXBwcm9hY2ggd291bGQgYmUgdG8gbG9va3VwIHRoZSBw cmVzdW1lZCBhZGRyZXNzIGluCihlZykgYSByYnRyZWUgdG8gbG9jYXRlIHRoZSBidWZmZXIgb2Jq ZWN0J3Mgc3RhdGUsIHdoaWNoIHdvdWxkIHNhdmUKdGhlIGxvb2t1cCBieSBvYmplY3QgSUQsIGJ1 dCBkb2VzIHRoaXMgc2F2ZSBhbnl0aGluZyBieSBkb2luZyB0aGF0LApkb2VzIGl0IGFkZCBjb21w bGV4aXR5IGFuZCBhZGRpdGlvbmFsIGtlcm5lbCBwcm9jZXNzaW5nPwoKSSdtIG5vdCBzdXJlLgoK PiA+IEtlZXAgaXQgc3R1cGlkIHNpbXBsZS4gSW4gbXkgbGliZHJtIHJlcG8sIHdoaWNoIHlvdSBo b3BlZnVsbHkga25vdywgSQo+ID4gaGF2ZSBpbXBsZW1lbnRlZCB0aGUgYnVmZmVyIGhhbmRsaW5n IGZyb20gdGhlIG9yaWdpbmFsIGxpYmV0bmF2aXYuIFdlCj4gPiBhbGxvY2F0ZSA1IGNvbW1hbmQg YnVmZmVycyBvZiBhIGRlZmluZWQgc2l6ZSBhbmQgcm90YXRlIHRocm91Z2ggdGhlbS4KPiA+IER1 cmluZyBjb21tYW5kIGJ1ZmZlciBidWlsZGluZyB3ZSByZXNlcnZlIHNwYWNlIGluIHRoZSBzdHJl YW0uIGlmCj4gPiB0aGVyZSBpcyBub3QgZW5vdWdoIHNwYWNlIHdlIGZsdXNoIHRoZSBjdXJyZW50 IGJ1ZmZlciBzdHJlYW0gYW5kCj4gPiBzd2l0Y2ggdG8gdGhlIG5leHQgYW5kIHVzIGl0LiBUaGVu IHRoZXJlIGlzIGEgd2F5IHRvIGV4cGxpY2l0IGZsdXNoCj4gPiBhIGNvbW1hbmQgYnVmZmVyLgo+ ID4gCj4gPiBGb3IgbW9yZSBkZXRhaWxzIHNlZToKPiA+IGh0dHBzOi8vZ2l0aHViLmNvbS9sYWFu d2ovZXRuYV92aXYvdHJlZS9tYXN0ZXIvc3JjL2V0bmF2aXYKPiA+IGh0dHBzOi8vZ2l0aHViLmNv bS9hdXN0cmlhbmNvZGVyL2xpYmRybQo+IAo+IFNhbWUgYXJndW1lbnQgYXMgYWJvdmUgcmVhbGx5 LiBXZSBuZWVkIGF0IGxlYXN0IHRoZSBjb250ZXh0IGJ1ZmZlci4KCkFuIGltcG9ydGFudCBxdWVz dGlvbiBpcyB3aGV0aGVyIHRoZSBjb250ZXh0IGJ1ZmZlciwgYnVpbHQgYnkgdXNlcnNwYWNlLApz aG91bGQgYmUgc3VibWl0dGVkIGFzIG9uZSBvZiB0aGVzZSBjb21tYW5kIGJ1ZmZlcnMsIG9yIGtl cHQgc2VwYXJhdGUgc28KdGhlIGtlcm5lbCBjYW4ga2VlcCB0cmFjayBvZiBpdCBhbmQgZGVjaWRl IHdoZXRoZXIgb3Igbm90IHRvIHVzZSBpdAphY2NvcmRpbmcgdG8gdGhlIHN0YXRlIGl0J3MgdHJh Y2tpbmcuCgpBbm90aGVyIHBvaW50IHRvIGJyaW5nIHVwIGhlcmUgaXMgYWJvdXQgaG93IGNvbW1h bmQgYnVmZmVycyBhcmUgc3VibWl0dGVkLgoKQ29uc2lkZXIgdGhpcyBzY2VuYXJpbzoKCi0gVXNl cnNwYWNlIGNyZWF0ZXMgYSBjb21tYW5kIGJ1ZmZlciwgYW5kIGFycmFuZ2VzIGZvciB0aGUgaW5p dGlhbAogIGNvbW1hbmRzIHRvIGJlIHRpbWUgY29uc3VtaW5nIChlZywgbG9uZyBXQUlUIGNvbW1h bmRzLikgIEl0IGZpbGxzIHRoZQogIHJlc3Qgb2YgdGhlIGJ1ZmZlciB3aXRoIGR1bW15IExPQUQg U1RBVEUgY29tbWFuZHMuCi0gVXNlcnNwYWNlIHN1Ym1pdHMgdGhpcywgdGhlIGtlcm5lbCB2YWxp ZGF0ZXMgdGhlIGNvbW1hbmQgYnVmZmVyLCBhbmQKICBzdWJtaXRzIGl0IHRvIHRoZSBHUFUuICBU aGUgR1BVIHN0YXJ0cyBleGVjdXRpbmcgdGhlIGJ1ZmZlci4KLSBVc2Vyc3BhY2UsIHdoaWNoIHN0 aWxsIGhhcyBhY2Nlc3MgdG8gdGhlIGNvbW1hbmQgYnVmZmVyLCBvdmVyd3JpdGVzCiAgdGhlIExP QUQgU1RBVEUgY29tbWFuZHMgd2l0aCBtYWxpY2lvdXMgR1BVIGNvbW1hbmRzLgotIEdQVSBleGVj dXRlcyBtYWxpY2lvdXMgR1BVIGNvbW1hbmRzLgoKVGhpcyBicmluZ3MgdXAgc2V2ZXJhbCBxdWVz dGlvbnM6CgoxLiBEbyB3ZSBjYXJlIGFib3V0IHRoaXM/CjIuIElmIHdlIGRvIGNhcmUsIHNob3Vs ZCB3ZSBpbnNpc3QgdGhhdCBhIGNvbW1hbmQgYnVmZmVyIGlzIG5vdCBtYXBwZWQKICAgaW4gdXNl cnNwYWNlIHdoZW4gaXQgaXMgc3VibWl0dGVkLCBhbmQgcHJldmVudCBhbiBpbi11c2UgY29tbWFu ZAogICBidWZmZXIgYmVpbmcgbWFwcGVkPwozLiBJZiB3ZSBkb24ndCBjYXJlLCB3aGF0J3MgdGhl IHBvaW50IG9mIHZhbGlkYXRpbmcgdGhlIHN1cHBsaWVkIGNvbW1hbmQKICAgYnVmZmVyPwoKKDIp IHdvdWxkIGJlIHF1aXRlIGFuIEFQSSBjaGFuZ2Ugb3ZlciB3aGF0IHdlIGhhdmUgdG9kYXksIGFu ZCBpbnRyb2R1Y2UKYW4gYW1vdW50IG9mIG92ZXJoZWFkLCB0aG91Z2ggc29tZXRoaW5nIHdoaWNo IGNvdWxkIGJlIGhhbmRsZWQgaW4gdGhlCnVzZXJzcGFjZSBsaWJyYXJ5IChlZywgaWYgd2UncmUg bW9kZWxsaW5nIG9uIGV0bmF2aXYncyBmaXZlIGNvbW1hbmQKYnVmZmVyIG1vZGVsLCB3ZSBjb3Vs ZCBjb3B5IHRoZSBjb21tYW5kIGJ1ZmZlciBpbW1lZGlhdGVseSBiZWZvcmUKc3VibWlzc2lvbi4p CgpHaXZlbiB0aGlzLCBJIHRoaW5rICgzKSBoYXMgc29tZSB2YWx1ZSBpcnJlc3BlY3RpdmUgb2Yg dGhlIG91dGNvbWUgb2YKKDEpIGFzIGl0IGdpdmVzIHVzIGEgd2F5IHRvIGNhdGNoIHNpbGx5IGVy cm9ycyBmcm9tIHVzZXJzcGFjZSBiZWZvcmUKdGhleSBoaXQgdGhlIEdQVSBhbmQgYmVjb21lIGEg cHJvYmxlbS4KCi0tIApGVFRDIGJyb2FkYmFuZCBmb3IgMC44bWlsZSBsaW5lOiBjdXJyZW50bHkg YXQgMTAuNU1icHMgZG93biA0MDBrYnBzIHVwCmFjY29yZGluZyB0byBzcGVlZHRlc3QubmV0Lgpf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwg bWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3Rz LmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=