From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wm0-x244.google.com (mail-wm0-x244.google.com [IPv6:2a00:1450:400c:c09::244]) by gabe.freedesktop.org (Postfix) with ESMTPS id 1B98A6E1CC for ; Mon, 30 Apr 2018 14:56:51 +0000 (UTC) Received: by mail-wm0-x244.google.com with SMTP id a8so13683439wmg.5 for ; Mon, 30 Apr 2018 07:56:51 -0700 (PDT) Date: Mon, 30 Apr 2018 16:56:40 +0200 From: Daniel Vetter Message-ID: <20180430145640.GK12521@phenom.ffwll.local> References: <20180422223430.16407-1-laurent.pinchart+renesas@ideasonboard.com> <3482108.jirjkbZynl@avalon> <20180430145524.GJ12521@phenom.ffwll.local> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20180430145524.GJ12521@phenom.ffwll.local> Subject: Re: [igt-dev] igt trouble with planes shared between multiple CRTCs (Re: [PATCH v2 0/8] R-Car DU: Support CRC calculation) List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: igt-dev-bounces@lists.freedesktop.org Sender: "igt-dev" To: Laurent Pinchart Cc: IGT development , Daniel Vetter , Kieran Bingham , dri-devel@lists.freedesktop.org, linux-renesas-soc@vger.kernel.org List-ID: T24gTW9uLCBBcHIgMzAsIDIwMTggYXQgMDQ6NTU6MjRQTSArMDIwMCwgRGFuaWVsIFZldHRlciB3 cm90ZToKPiBPbiBTYXQsIEFwciAyOCwgMjAxOCBhdCAxMjowNzowNEFNICswMzAwLCBMYXVyZW50 IFBpbmNoYXJ0IHdyb3RlOgo+ID4gSGkgRGFuaWVsLAo+ID4gCj4gPiAoUmVtb3ZpbmcgdGhlIGxp bnV4LW1lZGlhIG1haWxpbmcgbGlzdCBmcm9tIENDIGFzIGl0IGlzIG91dCBvZiBzY29wZSkKPiA+ IAo+ID4gWW91IGVucXVpcmVkIG9uIElSQyB3aGV0aGVyIHRoaXMgcGF0Y2ggc2VyaWVzIHBhc3Nl cyB0aGUgaWd0IENSQyB0ZXN0cy4KPiA+IAo+ID4gIyAuL2ttc19waXBlX2NyY19iYXNpYyAtLXJ1 bi1zdWJ0ZXN0IHJlYWQtY3JjLXBpcGUtQQo+ID4gSUdULVZlcnNpb246IDEuMjItZ2Y0NDdmNWZj NTMxZCAoYWFyY2g2NCkgKExpbnV4OiA0LjE3LjAtcmMxLTAwMDg1LWc1NmU4NDlkOTNjYzkgYWFy Y2g2NCkKPiA+IHJlYWQtY3JjLXBpcGUtQTogVGVzdGluZyBjb25uZWN0b3IgTFZEUy0xIHVzaW5n IHBpcGUgQQo+ID4gKGttc19waXBlX2NyY19iYXNpYzoxNjM4KSBpZ3QtZGVidWdmcy1DUklUSUNB TDogVGVzdCBhc3NlcnRpb24gZmFpbHVyZSBmdW5jdGlvbiBpZ3RfcGlwZV9jcmNfc3RhcnQsIGZp bGUgaWd0X2RlYnVnZnMuYzo3NjQ6Cj4gPiAoa21zX3BpcGVfY3JjX2Jhc2ljOjE2MzgpIGlndC1k ZWJ1Z2ZzLUNSSVRJQ0FMOiBGYWlsZWQgYXNzZXJ0aW9uOiBwaXBlX2NyYy0+Y3JjX2ZkICE9IC0x Cj4gPiAoa21zX3BpcGVfY3JjX2Jhc2ljOjE2MzgpIGlndC1kZWJ1Z2ZzLUNSSVRJQ0FMOiBMYXN0 IGVycm5vOiA1LCBJbnB1dC9vdXRwdXQgZXJyb3IKPiA+IFN0YWNrIHRyYWNlOgo+ID4gU3VidGVz dCByZWFkLWNyYy1waXBlLUEgZmFpbGVkLgo+ID4gKioqKiBERUJVRyAqKioqCj4gPiAoa21zX3Bp cGVfY3JjX2Jhc2ljOjE2MzgpIERFQlVHOiBUZXN0IHJlcXVpcmVtZW50IHBhc3NlZDogIShwaXBl ID49IGRhdGEtPmRpc3BsYXkubl9waXBlcykKPiA+IChrbXNfcGlwZV9jcmNfYmFzaWM6MTYzOCkg SU5GTzogcmVhZC1jcmMtcGlwZS1BOiBUZXN0aW5nIGNvbm5lY3RvciBMVkRTLTEgdXNpbmcgcGlw ZSBBCj4gPiAoa21zX3BpcGVfY3JjX2Jhc2ljOjE2MzgpIGlndC1rbXMtREVCVUc6IGRpc3BsYXk6 IExWRFMtMTogc2V0X3BpcGUoQSkKPiA+IChrbXNfcGlwZV9jcmNfYmFzaWM6MTYzOCkgaWd0LWtt cy1ERUJVRzogZGlzcGxheTogTFZEUy0xOiBTZWxlY3RpbmcgcGlwZSBBCj4gPiAoa21zX3BpcGVf Y3JjX2Jhc2ljOjE2MzgpIERFQlVHOiBDbGVhcmluZyB0aGUgZmIgd2l0aCBjb2xvciAoMC4wMCwx LjAwLDAuMDApCj4gPiAoa21zX3BpcGVfY3JjX2Jhc2ljOjE2MzgpIGlndC1mYi1ERUJVRzogaWd0 X2NyZWF0ZV9mYl93aXRoX2JvX3NpemUod2lkdGg9MTAyNCwgaGVpZ2h0PTc2OCwgZm9ybWF0PTB4 MzQzMjUyNTgsIHRpbGluZz0weDAsIHNpemU9MCkKPiA+IChrbXNfcGlwZV9jcmNfYmFzaWM6MTYz OCkgaWd0LWZiLURFQlVHOiBpZ3RfY3JlYXRlX2ZiX3dpdGhfYm9fc2l6ZShoYW5kbGU9MSwgcGl0 Y2g9NDA5NikKPiA+IChrbXNfcGlwZV9jcmNfYmFzaWM6MTYzOCkgaWd0LWttcy1ERUJVRzogVGVz dCByZXF1aXJlbWVudCBwYXNzZWQ6IHBsYW5lX2lkeCA+PSAwICYmIHBsYW5lX2lkeCA8IHBpcGUt Pm5fcGxhbmVzCj4gPiAoa21zX3BpcGVfY3JjX2Jhc2ljOjE2MzgpIGlndC1rbXMtREVCVUc6IGRp c3BsYXk6IEEuMDogcGxhbmVfc2V0X2ZiKDE0MCkKPiA+IChrbXNfcGlwZV9jcmNfYmFzaWM6MTYz OCkgaWd0LWttcy1ERUJVRzogZGlzcGxheTogQS4wOiBwbGFuZV9zZXRfc2l6ZSAoMTAyNHg3Njgp Cj4gPiAoa21zX3BpcGVfY3JjX2Jhc2ljOjE2MzgpIGlndC1rbXMtREVCVUc6IGRpc3BsYXk6IEEu MDogZmJfc2V0X3Bvc2l0aW9uKDAsMCkKPiA+IChrbXNfcGlwZV9jcmNfYmFzaWM6MTYzOCkgaWd0 LWttcy1ERUJVRzogZGlzcGxheTogQS4wOiBmYl9zZXRfc2l6ZSgxMDI0eDc2OCkKPiA+IChrbXNf cGlwZV9jcmNfYmFzaWM6MTYzOCkgaWd0LWttcy1ERUJVRzogZGlzcGxheTogY29tbWl0IHsKPiA+ IChrbXNfcGlwZV9jcmNfYmFzaWM6MTYzOCkgaWd0LWttcy1ERUJVRzogZGlzcGxheTogICAgIExW RFMtMTogU2V0Q3J0YyBwaXBlIEEsIGZiIDE0MCwgc3JjICgwLCAwKSwgbW9kZSAxMDI0eDc2OAo+ ID4gKGttc19waXBlX2NyY19iYXNpYzoxNjM4KSBpZ3Qta21zLURFQlVHOiBkaXNwbGF5OiAgICAg U2V0Q3J0YyBwaXBlIEEsIGRpc2FibGluZwo+ID4gKGttc19waXBlX2NyY19iYXNpYzoxNjM4KSBp Z3Qta21zLURFQlVHOiBkaXNwbGF5OiAgICAgU2V0UGxhbmUgcGlwZSBBLCBwbGFuZSAyLCBkaXNh YmxpbmcKPiA+IChrbXNfcGlwZV9jcmNfYmFzaWM6MTYzOCkgaWd0LWttcy1ERUJVRzogZGlzcGxh eTogICAgIFNldFBsYW5lIHBpcGUgQSwgcGxhbmUgMywgZGlzYWJsaW5nCj4gPiAoa21zX3BpcGVf Y3JjX2Jhc2ljOjE2MzgpIGlndC1rbXMtREVCVUc6IGRpc3BsYXk6ICAgICBTZXRQbGFuZSBwaXBl IEEsIHBsYW5lIDQsIGRpc2FibGluZwo+ID4gKGttc19waXBlX2NyY19iYXNpYzoxNjM4KSBpZ3Qt a21zLURFQlVHOiBkaXNwbGF5OiAgICAgU2V0Q3J0YyBwaXBlIEIsIGRpc2FibGluZwo+ID4gKGtt c19waXBlX2NyY19iYXNpYzoxNjM4KSBpZ3Qta21zLURFQlVHOiBkaXNwbGF5OiAgICAgU2V0UGxh bmUgcGlwZSBCLCBwbGFuZSAxLCBkaXNhYmxpbmcKPiA+IChrbXNfcGlwZV9jcmNfYmFzaWM6MTYz OCkgaWd0LWttcy1ERUJVRzogZGlzcGxheTogICAgIFNldFBsYW5lIHBpcGUgQiwgcGxhbmUgMiwg ZGlzYWJsaW5nCj4gPiAoa21zX3BpcGVfY3JjX2Jhc2ljOjE2MzgpIGlndC1rbXMtREVCVUc6IGRp c3BsYXk6ICAgICBTZXRQbGFuZSBwaXBlIEIsIHBsYW5lIDMsIGRpc2FibGluZwo+ID4gKGttc19w aXBlX2NyY19iYXNpYzoxNjM4KSBpZ3Qta21zLURFQlVHOiBkaXNwbGF5OiAgICAgU2V0UGxhbmUg cGlwZSBCLCBwbGFuZSA0LCBkaXNhYmxpbmcKPiA+IChrbXNfcGlwZV9jcmNfYmFzaWM6MTYzOCkg aWd0LWttcy1ERUJVRzogZGlzcGxheTogICAgIFNldENydGMgcGlwZSBDLCBkaXNhYmxpbmcKPiA+ IChrbXNfcGlwZV9jcmNfYmFzaWM6MTYzOCkgaWd0LWttcy1ERUJVRzogZGlzcGxheTogICAgIFNl dFBsYW5lIHBpcGUgQywgcGxhbmUgMSwgZGlzYWJsaW5nCj4gPiAoa21zX3BpcGVfY3JjX2Jhc2lj OjE2MzgpIGlndC1rbXMtREVCVUc6IGRpc3BsYXk6ICAgICBTZXRQbGFuZSBwaXBlIEMsIHBsYW5l IDIsIGRpc2FibGluZwo+ID4gKGttc19waXBlX2NyY19iYXNpYzoxNjM4KSBpZ3Qta21zLURFQlVH OiBkaXNwbGF5OiAgICAgU2V0UGxhbmUgcGlwZSBDLCBwbGFuZSAzLCBkaXNhYmxpbmcKPiA+IChr bXNfcGlwZV9jcmNfYmFzaWM6MTYzOCkgaWd0LWttcy1ERUJVRzogZGlzcGxheTogICAgIFNldFBs YW5lIHBpcGUgQywgcGxhbmUgNCwgZGlzYWJsaW5nCj4gPiAoa21zX3BpcGVfY3JjX2Jhc2ljOjE2 MzgpIGlndC1rbXMtREVCVUc6IGRpc3BsYXk6ICAgICBTZXRDcnRjIHBpcGUgRCwgZGlzYWJsaW5n Cj4gPiAoa21zX3BpcGVfY3JjX2Jhc2ljOjE2MzgpIGlndC1rbXMtREVCVUc6IGRpc3BsYXk6ICAg ICBTZXRDcnRjIHBpcGUgRCwgZGlzYWJsaW5nCj4gPiAoa21zX3BpcGVfY3JjX2Jhc2ljOjE2Mzgp IGlndC1rbXMtREVCVUc6IGRpc3BsYXk6ICAgICBTZXRQbGFuZSBwaXBlIEQsIHBsYW5lIDIsIGRp c2FibGluZwo+ID4gKGttc19waXBlX2NyY19iYXNpYzoxNjM4KSBpZ3Qta21zLURFQlVHOiBkaXNw bGF5OiAgICAgU2V0UGxhbmUgcGlwZSBELCBwbGFuZSAzLCBkaXNhYmxpbmcKPiA+IChrbXNfcGlw ZV9jcmNfYmFzaWM6MTYzOCkgaWd0LWttcy1ERUJVRzogZGlzcGxheTogICAgIFNldFBsYW5lIHBp cGUgRCwgcGxhbmUgNCwgZGlzYWJsaW5nCj4gPiAoa21zX3BpcGVfY3JjX2Jhc2ljOjE2MzgpIGln dC1rbXMtREVCVUc6IGRpc3BsYXk6IH0KPiA+IChrbXNfcGlwZV9jcmNfYmFzaWM6MTYzOCkgaWd0 LWRlYnVnZnMtREVCVUc6IE9wZW5pbmcgZGVidWdmcyBkaXJlY3RvcnkgJy9zeXMva2VybmVsL2Rl YnVnL2RyaS8wJwo+ID4gKGttc19waXBlX2NyY19iYXNpYzoxNjM4KSBpZ3QtZGVidWdmcy1ERUJV RzogT3BlbmluZyBkZWJ1Z2ZzIGRpcmVjdG9yeSAnL3N5cy9rZXJuZWwvZGVidWcvZHJpLzAnCj4g PiAoa21zX3BpcGVfY3JjX2Jhc2ljOjE2MzgpIGlndC1kZWJ1Z2ZzLUNSSVRJQ0FMOiBUZXN0IGFz c2VydGlvbiBmYWlsdXJlIGZ1bmN0aW9uIGlndF9waXBlX2NyY19zdGFydCwgZmlsZSBpZ3RfZGVi dWdmcy5jOjc2NDoKPiA+IChrbXNfcGlwZV9jcmNfYmFzaWM6MTYzOCkgaWd0LWRlYnVnZnMtQ1JJ VElDQUw6IEZhaWxlZCBhc3NlcnRpb246IHBpcGVfY3JjLT5jcmNfZmQgIT0gLTEKPiA+IChrbXNf cGlwZV9jcmNfYmFzaWM6MTYzOCkgaWd0LWRlYnVnZnMtQ1JJVElDQUw6IExhc3QgZXJybm86IDUs IElucHV0L291dHB1dCBlcnJvcgo+ID4gKGttc19waXBlX2NyY19iYXNpYzoxNjM4KSBpZ3QtY29y ZS1JTkZPOiBTdGFjayB0cmFjZToKPiA+ICoqKiogIEVORCAgKioqKgo+ID4gU3VidGVzdCByZWFk LWNyYy1waXBlLUE6IEZBSUwgKDAuMDYxcykKPiA+IAo+ID4gSSB0aGluayB0aGUgYW5zd2VyIGlz IG5vLCBidXQgSSBkb24ndCB0aGluayBpdCdzIHRoZSBmYXVsdCBvZiB0aGlzIHBhdGNoCj4gPiBz ZXJpZXMuIE9wZW5pbmcgdGhlIENSQyBkYXRhIGZpbGUgcmV0dXJucyAtRUlPIGJlY2F1c2UgdGhl IENSVEMgaXMgbm90IGFjdGl2ZSwKPiA+IGFuZCBJJ20gdHJ5aW5nIHRvIGZpbmQgb3V0IHdoeSB0 aGF0IGlzIHRoZSBjYXNlLiBUaGUgZGVidWcgbG9nIHNob3dzIGEgY29tbWl0Cj4gPiB0aGF0IHNl ZW1zIHN0cmFuZ2UgdG8gbWUsIGVuYWJsaW5nIHBpcGUgQSBhbmQgaW1tZWRpYXRlbHkgZGlzYWJs aW5nIHJpZ2h0Cj4gPiBhZnRlcndhcmRzLiBBZnRlciBzb21lIGludmVzdGlnYXRpb24gSSBiZWxp ZXZlIHRoYXQgdGhpcyBpcyBjYXVzZWQgYnkgc2hhcmluZwo+ID4gcHJpbWFyeSBwbGFuZXMgYmV0 d2VlbiBDUlRDcy4KPiA+IAo+ID4gVGhlIFItQ2FyIERVIGdyb3VwcyBDUlRDcyBieSB0d28gYW5k IHNoYXJlcyA1IHBsYW5lcyBiZXR3ZWVuIHRoZSB0d28gQ1JUQ3Mgb2YKPiA+IHRoZSBncm91cC4g VGhpcyBzcGVjaWZpYyBTb0MgaGFzIHR3byBncm91cHMgb2YgdHdvIENSVENzLCBidXQgdGhhdCdz IG5vdAo+ID4gcmVsZXZhbnQgaGVyZSwgc28gd2UgY2FuIGlnbm9yZSBwaXBlcyBDIGFuZCBELgo+ ID4gCj4gPiBQaXBlcyBBIGFuZCBCIHRodXMgc2hhcmVkIDUgcGxhbmVzIHRoYXQgSSB3aWxsIG51 bWJlciAwIHRvIDQgZm9yIHNpbXBsaWNpdHkuCj4gPiBUaGUgZHJpdmVyIHNldHMgcGxhbmUgMCBh cyB0aGUgcHJpbWFyeSBwbGFuZSBmb3IgQ1JUQyBBIGFuZCBwbGFuZSAxIGFzIHRoZQo+ID4gcHJp bWFyeSBwbGFuZSBmb3IgQ1JUQyBCLiBQbGFuZXMgMiwgMyBhbmQgNCBhcmUgY3JlYXRlZCBhcyBv dmVybGF5IHBsYW5lcy4KPiA+IAo+ID4gV2hlbiBpZ3QgaXRlcmF0ZXMgb3ZlciBhbGwgcGxhbmVz IGZvciBwaXBlIEEsIGl0IHdpbGwgZmlyc3QgZW5jb3VudGVyIHBsYW5lIDAKPiA+IHRoYXQgaGFz IGEgZnJhbWVidWZmZXIsIGFuZCB0aHVzIGVuYWJsZXMgdGhlIHBpcGUuIEl0IHRoZW4gaXRlcmF0 ZXMgb3Zlcgo+ID4gcGxhbmUgMSwgcmVjb2duaXplcyBpdCBhcyBhIHByaW1hcnkgcGxhbmUgd2l0 aG91dCBhIGZyYW1lYnVmZmVyLCBhbmQgdGh1cwo+ID4gZGlzYWJsZXMgdGhlIHBpcGUuIFBsYW5l cyAyLCAzIGFuZCA0IGFyZSByZWNvZ25pemVkIGFzIG92ZXJsYXkgcGxhbmVzIGFuZCB0aHVzCj4g PiBkb24ndCBhZmZlY3QgdGhlIHBpcGUgYWN0aXZlIHN0YXRlLiBQaXBlIEIgaXMgaGFuZGxlZCB0 aGUgc2FtZSB3YXksIGFuZCBpZ3QKPiA+IGRpc2FibGVzIGl0IHR3aWNlIGFzIHBsYW5lcyAwIGFu ZCAxIGFyZSBwcmltYXJ5Lgo+ID4gCj4gPiBJIGRvbid0IGtub3cgaWYgdGhlIGZhdWx0IGhlcmUg aXMgd2l0aCBpZ3QgdGhhdCBkb2Vzbid0IHByb3Blcmx5IHN1cHBvcnQgdGhpcwo+ID4gYXJjaGl0 ZWN0dXJlLCBvciB3aXRoIHRoZSBkcml2ZXIgdGhhdCBzaG91bGRuJ3QgaGF2ZSB0d28gcHJpbWFy eSBwbGFuZXMKPiA+IGF2YWlsYWJsZSBmb3IgYSBDUlRDLiBJbiB0aGUgZm9ybWVyIGNhc2UsIEkn bSBub3Qgc3VyZSBob3cgdG8gZml4IGl0LCBhcyBJJ20KPiA+IG5vdCBmYW1pbGlhciBlbm91Z2gg d2l0aCBpZ3QgdG8gcmVhcmNoaXRlY3R1cmUgdGhlIGNvbW1pdCBoZWxwZXJzLiBJbiB0aGUKPiA+ IGxhdHRlciBjYXNlLCBob3cgd291bGQgeW91IHJlY29tbWVuZCBmaXhpbmcgaXQgb24gdGhlIGRy aXZlciBzaWRlID8KPiAKPiBJIGd1ZXNzIHRodXMgZmFyIG5vIG9uZSBkaWQgcnVuIGlndCBvbiBh IGNoaXAgd2hpY2ggZGlkIGhhdmUgcmVhc3NpZ25hYmxlCj4gcHJpbWFyeSBwbGFuZXMuIFRoZSBw cm9ibGVtIGhlcmUgaXMgdGhhdCBpdCdzIHByZXR0eSBoYXJkIHRvIGZpZ3VyZSBvdXQKPiB3aGlj aCBvbmUgaXMgdGhlIHJlYWwgcHJpbWFyeSBwbGFuZSwgc2luY2Ugd2l0aCBwb3NzaWJsZSBDUlRD cyB5b3UgY291bGQKPiBoYXZlIG11bHRpcGxlIHByaW1hcnkgcGxhbmVzIG9uIDEgQ1JUQy4gVGhl cmUncyBubyBwcm9wZXJ0eSBvciBhbnl0aGluZwo+IHRoYXQgZXhwbGljaXRseSB0ZWxscyB5b3Ug dGhpcy4gVHdvIGZpeGVzOgo+IAo+IDEuIENoYW5nZSBkcml2ZXJzIHRvIGxpbWl0IHByaW1hcnkg cGxhbmVzIHRvIDEgY3J0Yy4gU2FtZSBmb3IgY3Vyc29yCj4gICAgb3ZlcmxheXMuIFRoZXJlJ3Mg cHJvYmFibHkgb3RoZXIgdXNlcnNwYWNlIHRoYW4gaWd0IHRoYXQgZ2V0cyBjb25mdXNlZAo+ICAg IGJ5IHRoaXMsIGJ1dCB0aGlzIGhhcyB0aGUgdWdseSBkb3duc2lkZSB0aGF0IHdlIGFydGlmaWNh bGx5IGxpbWl0IHBsYW5lCj4gICAgdXNhZ2UgLSBpZiBvbmx5IDEgQ1JUQyBpcyBvbiwgd2Ugd2Fu dCB0byB1c2UgYWxsIHRoZSBhdmFpbGFibGUgcGxhbmVzCj4gICAgb24gdGhhdCBvbmUuCj4gCj4g Mi4gQWRkIHNvbWUgaW1wbGljaXQgb3IgZXhwbGljaXQgdWFwaSB0byBhbGxvdyB1c2Vyc3BhY2Ug dG8gZmlndXJlIG91dAo+ICAgIHdoaWNoIHByaW1hcnkgcGxhbmUgaXMgdGhlIHByaW1hcnkgcGxh bmUgZm9yIHRoaXMgY3J0Yy4KPiAKPiAgICBhKSBFeHBsaWNpdCBvcHRpb246IFdlIGFkZCBhIFBS SU1BUllfSUQgcHJvcGVydHkgKGFuZCBDVVJTT1JfSUQgcHJvcAo+ICAgICAgIHdoaWxlIGF0IGl0 KSBvbiB0aGUgQ1JUQyB3aGljaCBwb2ludHMgYXQgdGhlIHByaW1hcnkvY3Vyc29yIHBsYW5lLgo+ IAo+ICAgIGIpIEltcGxpY2l0IG9wdGlvbjogV2UgcmVxdWlyZSBwcmltYXJ5IHBsYW5lcyBhcmUg YXNzaWduZWQgdG8gQ1JUQyBpbiB0aGUKPiAgICAgICBzYW1lIG9yZGVyIGFzIHRoZXkncmUgY3Jl YXRlZC4gU28gZmlyc3QgcHJpbWFyeSBwbGFuZSB5b3UgZW5jb3V0ZXIKPiAgICAgICBpcyB0aGUg b25lIGZvciB0aGUgZmlyc3QgQ1JUQywgMm5kIHByaW1hcnkgcGxhbmUgaXMgdGhlIG9uZSBmb3Ig dGhlCj4gICAgICAgMm5kIENSVEMgYW5kIHNvIG9uLiBJZiB3ZSBnbyB3aXRoIHRoaXMgd2UgcHJv YmFibHkgc2hvdWxkIGFkZCBhIGJpdAo+ICAgICAgIG9mIGNvZGUgdG8gdGhlIGtlcm5lbCB0byBj aGVjayB0aGF0IGludmFyaWFudCAoYnkgbWFraW5nIHN1cmUgdGhlCj4gICAgICAgcHJpbWFyeSBw bGFuZSBoYXMgdGhlIGNvcnJlc3BvbmRpbmcgQ1JUQyBpbmNsdWRlZCBpbiBpdHMKPiAgICAgICBw b3NzaWJsZV9jcnRjIG1hc2spLgo+IAo+IEVpdGhlciB3YXkgaWd0IG5lZWRzIHRvIGJlIHBhdGNo ZWQgdG8gbm90IHRyZWF0IGFueSBwcmltYXJ5IHBsYW5lIHRoYXQKPiBjb3VsZCB3b3JrIG9uIGEg Q1JUQyBhcyB0aGUgcHJpbWFyeSBwbGFuZSBmb3IgdGhhdCBDUlRDLgo+IAo+IFBlcnNvbmFsbHkg SSdtIGxlYW5pbmcgdG93YXJkcyAyYikuCgpBZGRpbmcgTWFhcnRlbiBhbmQgaWd0LWRldi4KLURh bmllbAoKPiAKPiBDaGVlcnMsIERhbmllbAo+IAo+ID4gCj4gPiBPbiBNb25kYXksIDIzIEFwcmls IDIwMTggMDE6MzQ6MjIgRUVTVCBMYXVyZW50IFBpbmNoYXJ0IHdyb3RlOgo+ID4gPiBIZWxsbywK PiA+ID4gCj4gPiA+IFRoaXMgcGF0Y2ggc2VyaWVzIGFkZHMgc3VwcG9ydCBmb3IgQ1JDIGNhbGN1 bGF0aW9uIHRvIHRoZSByY2FyLWR1LWRybQo+ID4gPiBkcml2ZXIuCj4gPiA+IAo+ID4gPiBDUkMg Y2FsY3VsYXRpb24gaXMgc3VwcG9ydGVkIHN0YXJ0aW5nIGF0IHRoZSBSZW5lc2FzIFItQ2FyIEdl bjMgU29DcywgYXMKPiA+ID4gZWFybGllciB2ZXJzaW9ucyBkb24ndCBoYXZlIHRoZSBuZWNlc3Nh cnkgaGFyZHdhcmUuIE9uIEdlbjMgU29DcywgdGhlIENSQyBpcwo+ID4gPiBjb21wdXRlZCBieSB0 aGUgRElTQ09NIG1vZHVsZSBwYXJ0IG9mIHRoZSBWU1AtRCBhbmQgVlNQLURMLgo+ID4gPiAKPiA+ ID4gVGhlIERJU0NPTSBpcyBpbnRlcmZhY2VkIHRvIHRoZSBWU1AgdGhyb3VnaCB0aGUgVUlGIGds dWUgYW5kIGFwcGVhcnMgYXMgYQo+ID4gPiBWU1AgZW50aXR5IHdpdGggYSBzaW5rIHBhZCBhbmQg YSBzb3VyY2UgcGFkLgo+ID4gPiAKPiA+ID4gVGhlIHNlcmllcyBzdGFydHMgd2l0aCBhIHN3aXRj aCB0byBTUERYIGxpY2Vuc2UgaGVhZGVycyBpbiBwYXRjaCAxLzgsCj4gPiA+IHByb21wdGVkIGJ5 IGEgY2hlY2twYXRjaC5wbCB3YXJuaW5nIGZvciBhIGxhdGVyIHBhdGNoIHRoYXQgY29tcGxhaW5l ZCBhYm91dAo+ID4gPiBtaXNzaW5nIFNQRFggbGljZW5zZSBoZWFkZXJzLiBJdCB0aGVuIGNvbnRp bnVlcyB3aXRoIGNsZWFudXAgYW5kCj4gPiA+IHJlZmFjdG9yaW5nLiBQYXRjaGVzIDIvOCBhbmQg My84IHByZXBhcmUgZm9yIERJU0NPTSBhbmQgVUlGIHN1cHBvcnQgYnkKPiA+ID4gZXh0ZW5kaW5n IGdlbmVyaWMgY29kZSB0byBtYWtlIGl0IHVzYWJsZSBmb3IgdGhlIFVJRi4gUGF0Y2ggNC84IGRv Y3VtZW50cyBhCj4gPiA+IHN0cnVjdHVyZSB0aGF0IHdpbGwgcmVjZWl2ZSBuZXcgZmllbGRzLgo+ ID4gPiAKPiA+ID4gUGF0Y2ggNS84IHRoZW4gZXh0ZW5kcyB0aGUgQVBJIGV4cG9zZWQgYnkgdGhl IFZTUCBkcml2ZXIgdG8gdGhlIERVIGRyaXZlciB0bwo+ID4gPiBzdXBwb3J0IENSQyBjb21wdXRh dGlvbiBjb25maWd1cmF0aW9uIGFuZCByZXBvcnRpbmcuIFRoZSBwYXRjaAo+ID4gPiB1bmZvcnR1 bmF0ZWx5IG5lZWRzIHRvIHRvdWNoIGJvdGggdGhlIFZTUCBhbmQgRFUgZHJpdmVycywgc28gdGhl IHdob2xlCj4gPiA+IHNlcmllcyB3aWxsIG5lZWQgdG8gYmUgbWVyZ2VkIHRocm91Z2ggYSBzaW5n bGUgdHJlZS4KPiA+ID4gCj4gPiA+IFBhdGNoIDUvOCBhZGRzIHN1cHBvcnQgZm9yIHRoZSBESVND T00gYW5kIFVJRiBpbiB0aGUgVlNQIGRyaXZlciwgcGF0Y2ggNy84Cj4gPiA+IGludGVncmF0ZXMg aXQgaW4gdGhlIERSTSBwaXBlbGluZSwgYW5kIHBhdGNoIDgvOCBmaW5hbGx5IGltcGxlbWVudHMg dGhlIENSQwo+ID4gPiBBUEkgaW4gdGhlIERVIGRyaXZlciB0byBleHBvc2UgQ1JDIGNvbXB1dGF0 aW9uIHRvIHVzZXJzcGFjZS4KPiA+ID4gCj4gPiA+IFRoZSBoYXJkd2FyZSBzdXBwb3J0cyBjb21w dXRpbmcgdGhlIENSQyBhdCBhbnkgYXJiaXRyYXJ5IHBvaW50IGluIHRoZQo+ID4gPiBwaXBlbGlu ZSBvbiBhIGNvbmZpZ3VyYWJsZSB3aW5kb3cgb2YgdGhlIGZyYW1lLiBUaGlzIHBhdGNoIHNlcmll cyBzdXBwb3J0cwo+ID4gPiBDUkMgY29tcHV0YXRpb24gb24gaW5wdXQgcGxhbmVzIG9yIHBpcGVs aW5lIG91dHB1dCwgYnV0IG9uIHRoZSBmdWxsIGZyYW1lCj4gPiA+IG9ubHkuIFN1cHBvcnQgZm9y IENSQyB3aW5kb3cgY29uZmlndXJhdGlvbiBjYW4gYmUgYWRkZWQgbGF0ZXIgaWYgbmVlZGVkIGJ1 dAo+ID4gPiB3aWxsIHJlcXVpcmUgZXh0ZW5kaW5nIHRoZSB1c2Vyc3BhY2UgQVBJLCBhcyB0aGUg RFJNL0tNUyBDUkMgQVBJIGRvZXNuJ3QKPiA+ID4gc3VwcG9ydCB0aGlzIGZlYXR1cmUuCj4gPiA+ IAo+ID4gPiBDb21wYXJlZCB0byB2MSwgdGhlIENSQyBzb3VyY2UgbmFtZXMgZm9yIHBsYW5lIGlu cHV0cyBhcmUgbm93IGNvbnN0cnVjdGVkCj4gPiA+IGZyb20gcGxhbmUgSURzIGluc3RlYWQgb2Yg cGxhbmUgaW5kaWNlcy4gVGhpcyBhbGxvd3MgdXNlcnNwYWNlIHRvIG1hdGNoIENSQwo+ID4gPiBz b3VyY2VzIHdpdGggcGxhbmVzLgo+ID4gPiAKPiA+ID4gTm90ZSB0aGF0IGV4cG9zaW5nIHRoZSBE SVNDT00gYW5kIFVJRiB0aG91Z2ggdGhlIFY0TDIgQVBJIGlzbid0IHN1cHBvcnRlZCBhcwo+ID4g PiB0aGUgbW9kdWxlIGlzIG9ubHkgZm91bmQgaW4gVlNQLUQgYW5kIFZTUC1ETCBpbnN0YW5jZXMg dGhhdCBhcmUgbm90IGV4cG9zZWQKPiA+ID4gdGhyb3VnaCBWNEwyLiBJdCBpcyBwb3NzaWJsZSB0 byBleHBvc2UgdGhvc2UgaW5zdGFuY2VzIHRocm91Z2ggVjRMMiB3aXRoIGEKPiA+ID4gc21hbGwg bW9kaWZpY2F0aW9uIHRvIHRoZSBkcml2ZXIgZm9yIHRlc3RpbmcgcHVycG9zZS4gSWYgdGhlIG5l ZWQgYXJpc2VzIHRvCj4gPiA+IHRlc3QgRElTQ09NIGFuZCBVSUYgd2l0aCBzdWNoIGFuIG91dC1v Zi10cmVlIHBhdGNoLCBzdXBwb3J0IGZvciBDUkMKPiA+ID4gcmVwb3J0aW5nIHRocm91Z2ggYSBW NEwyIGNvbnRyb2wgY2FuIGJlIGFkZGVkIGxhdGVyIHdpdGhvdXQgYWZmZWN0aW5nIGhvdwo+ID4g PiBDUkMgaXMgZXhwb3NlZCB0aHJvdWdoIHRoZSBEUk0vS01TIEFQSS4KPiA+ID4gCj4gPiA+IFRo ZSBwYXRjaGVzIGFyZSBiYXNlZCBvbiB0b3Agb2YgdGhlICJbUEFUQ0ggdjIgMDAvMTVdIFItQ2Fy IFZTUDE6Cj4gPiA+IER5bmFtaWNhbGx5IGFzc2lnbiBibGVuZCB1bml0cyB0byBkaXNwbGF5IHBp cGVsaW5lcyIgcGF0Y2ggc2VyaWVzLCBpdHNlbGYKPiA+ID4gYmFzZWQgb24gdG9wIG9mIHRoZSBM aW51eCBtZWRpYSBtYXN0ZXIgYnJhbmNoIGFuZCBzY2hlZHVsZWQgZm9yIG1lcmdlIGluCj4gPiA+ IHY0LjE4LiBUaGUgbmV3IGJhc2UgY2F1c2VkIGhlYXZ5IGNvbmZsaWN0cywgcmVxdWlyaW5nIHRo aXMgc2VyaWVzIHRvIGJlCj4gPiA+IG1lcmdlZCB0aHJvdWdoIHRoZSBWNEwyIHRyZWUuIE9uY2Ug dGhlIHBhdGNoZXMgcmVjZWl2ZSB0aGUgbmVjZXNzYXJ5IHJldmlldwo+ID4gPiBJIHdpbGwgYXNr IERhdmUgdG8gYWNrIHRoZSBtZXJnZSBwbGFuLgo+ID4gPiAKPiA+ID4gRm9yIGNvbnZlbmllbmNl IHRoZSBwYXRjaGVzIGFyZSBhdmFpbGFibGUgYXQKPiA+ID4gCj4gPiA+ICAgICAgICAgZ2l0Oi8v bGludXh0di5vcmcvcGluY2hhcnRsL21lZGlhLmdpdCB2c3AxLWRpc2NvbS12Mi0yMDE4MDQyMwo+ ID4gPiAKPiA+ID4gVGhlIGNvZGUgaGFzIGJlZW4gdGVzdGVkIHRocm91Z2ggdGhlIGttcy10ZXN0 LWNyYy5weSBzY3JpcHQgcGFydCBvZiB0aGUgRFUKPiA+ID4gdGVzdCBzdWl0ZSBhdmFpbGFibGUg YXQKPiA+ID4gCj4gPiA+ICAgICAgICAgZ2l0Oi8vZ2l0LmlkZWFzb25ib2FyZC5jb20vcmVuZXNh cy9rbXMtdGVzdHMuZ2l0IGRpc2NvbQo+ID4gPiAKPiA+ID4gTGF1cmVudCBQaW5jaGFydCAoOCk6 Cj4gPiA+ICAgdjRsOiB2c3AxOiBVc2UgU1BEWCBsaWNlbnNlIGhlYWRlcnMKPiA+ID4gICB2NGw6 IHZzcDE6IFNoYXJlIHRoZSBDTFUsIExJRiBhbmQgTFVUIHNldF9mbXQgcGFkIG9wZXJhdGlvbiBj b2RlCj4gPiA+ICAgdjRsOiB2c3AxOiBSZXNldCB0aGUgY3JvcCBhbmQgY29tcG9zZSByZWN0YW5n bGVzIGluIHRoZSBzZXRfZm10IGhlbHBlcgo+ID4gPiAgIHY0bDogdnNwMTogRG9jdW1lbnQgdGhl IHZzcDFfZHVfYXRvbWljX2NvbmZpZyBzdHJ1Y3R1cmUKPiA+ID4gICB2NGw6IHZzcDE6IEV4dGVu ZCB0aGUgRFUgQVBJIHRvIHN1cHBvcnQgQ1JDIGNvbXB1dGF0aW9uCj4gPiA+ICAgdjRsOiB2c3Ax OiBBZGQgc3VwcG9ydCBmb3IgdGhlIERJU0NPTSBlbnRpdHkKPiA+ID4gICB2NGw6IHZzcDE6IElu dGVncmF0ZSBESVNDT00gaW4gZGlzcGxheSBwaXBlbGluZQo+ID4gPiAgIGRybTogcmNhci1kdTog QWRkIHN1cHBvcnQgZm9yIENSQyBjb21wdXRhdGlvbgo+ID4gPiAKPiA+ID4gIGRyaXZlcnMvZ3B1 L2RybS9yY2FyLWR1L3JjYXJfZHVfY3J0Yy5jICAgIHwgMTU2ICsrKysrKysrKysrKysrKystCj4g PiA+ICBkcml2ZXJzL2dwdS9kcm0vcmNhci1kdS9yY2FyX2R1X2NydGMuaCAgICB8ICAxOSArKysK PiA+ID4gIGRyaXZlcnMvZ3B1L2RybS9yY2FyLWR1L3JjYXJfZHVfdnNwLmMgICAgIHwgIDEzICst Cj4gPiA+ICBkcml2ZXJzL21lZGlhL3BsYXRmb3JtL3ZzcDEvTWFrZWZpbGUgICAgICB8ICAgMiAr LQo+ID4gPiAgZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS92c3AxL3ZzcDEuaCAgICAgICAgfCAgMTAg Ky0KPiA+ID4gIGRyaXZlcnMvbWVkaWEvcGxhdGZvcm0vdnNwMS92c3AxX2JyeC5jICAgIHwgICA2 ICstCj4gPiA+ICBkcml2ZXJzL21lZGlhL3BsYXRmb3JtL3ZzcDEvdnNwMV9icnguaCAgICB8ICAg NiArLQo+ID4gPiAgZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS92c3AxL3ZzcDFfY2x1LmMgICAgfCAg NzEgKystLS0tLS0KPiA+ID4gIGRyaXZlcnMvbWVkaWEvcGxhdGZvcm0vdnNwMS92c3AxX2NsdS5o ICAgIHwgICA2ICstCj4gPiA+ICBkcml2ZXJzL21lZGlhL3BsYXRmb3JtL3ZzcDEvdnNwMV9kbC5j ICAgICB8ICAgOCArLQo+ID4gPiAgZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS92c3AxL3ZzcDFfZGwu aCAgICAgfCAgIDYgKy0KPiA+ID4gIGRyaXZlcnMvbWVkaWEvcGxhdGZvcm0vdnNwMS92c3AxX2Ry bS5jICAgIHwgMTI3ICsrKysrKysrKysrKy0tCj4gPiA+ICBkcml2ZXJzL21lZGlhL3BsYXRmb3Jt L3ZzcDEvdnNwMV9kcm0uaCAgICB8ICAyMCArKy0KPiA+ID4gIGRyaXZlcnMvbWVkaWEvcGxhdGZv cm0vdnNwMS92c3AxX2Rydi5jICAgIHwgIDI2ICsrLQo+ID4gPiAgZHJpdmVycy9tZWRpYS9wbGF0 Zm9ybS92c3AxL3ZzcDFfZW50aXR5LmMgfCAxMDMgKysrKysrKysrKystCj4gPiA+ICBkcml2ZXJz L21lZGlhL3BsYXRmb3JtL3ZzcDEvdnNwMV9lbnRpdHkuaCB8ICAxMyArLQo+ID4gPiAgZHJpdmVy cy9tZWRpYS9wbGF0Zm9ybS92c3AxL3ZzcDFfaGdvLmMgICAgfCAgIDYgKy0KPiA+ID4gIGRyaXZl cnMvbWVkaWEvcGxhdGZvcm0vdnNwMS92c3AxX2hnby5oICAgIHwgICA2ICstCj4gPiA+ICBkcml2 ZXJzL21lZGlhL3BsYXRmb3JtL3ZzcDEvdnNwMV9oZ3QuYyAgICB8ICAgNiArLQo+ID4gPiAgZHJp dmVycy9tZWRpYS9wbGF0Zm9ybS92c3AxL3ZzcDFfaGd0LmggICAgfCAgIDYgKy0KPiA+ID4gIGRy aXZlcnMvbWVkaWEvcGxhdGZvcm0vdnNwMS92c3AxX2hpc3RvLmMgIHwgIDY1ICstLS0tLS0KPiA+ ID4gIGRyaXZlcnMvbWVkaWEvcGxhdGZvcm0vdnNwMS92c3AxX2hpc3RvLmggIHwgICA2ICstCj4g PiA+ICBkcml2ZXJzL21lZGlhL3BsYXRmb3JtL3ZzcDEvdnNwMV9oc2l0LmMgICB8ICAgNiArLQo+ ID4gPiAgZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS92c3AxL3ZzcDFfaHNpdC5oICAgfCAgIDYgKy0K PiA+ID4gIGRyaXZlcnMvbWVkaWEvcGxhdGZvcm0vdnNwMS92c3AxX2xpZi5jICAgIHwgIDcxICsr LS0tLS0tCj4gPiA+ICBkcml2ZXJzL21lZGlhL3BsYXRmb3JtL3ZzcDEvdnNwMV9saWYuaCAgICB8 ICAgNiArLQo+ID4gPiAgZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS92c3AxL3ZzcDFfbHV0LmMgICAg fCAgNzEgKystLS0tLS0KPiA+ID4gIGRyaXZlcnMvbWVkaWEvcGxhdGZvcm0vdnNwMS92c3AxX2x1 dC5oICAgIHwgICA2ICstCj4gPiA+ICBkcml2ZXJzL21lZGlhL3BsYXRmb3JtL3ZzcDEvdnNwMV9w aXBlLmMgICB8ICAgNiArLQo+ID4gPiAgZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS92c3AxL3ZzcDFf cGlwZS5oICAgfCAgIDYgKy0KPiA+ID4gIGRyaXZlcnMvbWVkaWEvcGxhdGZvcm0vdnNwMS92c3Ax X3JlZ3MuaCAgIHwgIDQ2ICsrKystCj4gPiA+ICBkcml2ZXJzL21lZGlhL3BsYXRmb3JtL3ZzcDEv dnNwMV9ycGYuYyAgICB8ICAgNiArLQo+ID4gPiAgZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS92c3Ax L3ZzcDFfcndwZi5jICAgfCAgIDYgKy0KPiA+ID4gIGRyaXZlcnMvbWVkaWEvcGxhdGZvcm0vdnNw MS92c3AxX3J3cGYuaCAgIHwgICA2ICstCj4gPiA+ICBkcml2ZXJzL21lZGlhL3BsYXRmb3JtL3Zz cDEvdnNwMV9zcnUuYyAgICB8ICAgNiArLQo+ID4gPiAgZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS92 c3AxL3ZzcDFfc3J1LmggICAgfCAgIDYgKy0KPiA+ID4gIGRyaXZlcnMvbWVkaWEvcGxhdGZvcm0v dnNwMS92c3AxX3Vkcy5jICAgIHwgICA2ICstCj4gPiA+ICBkcml2ZXJzL21lZGlhL3BsYXRmb3Jt L3ZzcDEvdnNwMV91ZHMuaCAgICB8ICAgNiArLQo+ID4gPiAgZHJpdmVycy9tZWRpYS9wbGF0Zm9y bS92c3AxL3ZzcDFfdWlmLmMgICAgfCAyNzEgKysrKysrKysrKysrKysrKysrKysrKysrKysrCj4g PiA+ICBkcml2ZXJzL21lZGlhL3BsYXRmb3JtL3ZzcDEvdnNwMV91aWYuaCAgICB8ICAzMiArKysr Cj4gPiA+ICBkcml2ZXJzL21lZGlhL3BsYXRmb3JtL3ZzcDEvdnNwMV92aWRlby5jICB8ICAgNiAr LQo+ID4gPiAgZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS92c3AxL3ZzcDFfdmlkZW8uaCAgfCAgIDYg Ky0KPiA+ID4gIGRyaXZlcnMvbWVkaWEvcGxhdGZvcm0vdnNwMS92c3AxX3dwZi5jICAgIHwgICA2 ICstCj4gPiA+ICBpbmNsdWRlL21lZGlhL3ZzcDEuaCAgICAgICAgICAgICAgICAgICAgICB8ICAz OSArKysrLQo+ID4gPiAgNDQgZmlsZXMgY2hhbmdlZCwgODk2IGluc2VydGlvbnMoKyksIDQxNyBk ZWxldGlvbnMoLSkKPiA+ID4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL21lZGlhL3BsYXRm b3JtL3ZzcDEvdnNwMV91aWYuYwo+ID4gPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvbWVk aWEvcGxhdGZvcm0vdnNwMS92c3AxX3VpZi5oCj4gPiAKPiA+IC0tIAo+ID4gUmVnYXJkcywKPiA+ IAo+ID4gTGF1cmVudCBQaW5jaGFydAo+ID4gCj4gPiAKPiA+IAo+IAo+IC0tIAo+IERhbmllbCBW ZXR0ZXIKPiBTb2Z0d2FyZSBFbmdpbmVlciwgSW50ZWwgQ29ycG9yYXRpb24KPiBodHRwOi8vYmxv Zy5mZndsbC5jaAoKLS0gCkRhbmllbCBWZXR0ZXIKU29mdHdhcmUgRW5naW5lZXIsIEludGVsIENv cnBvcmF0aW9uCmh0dHA6Ly9ibG9nLmZmd2xsLmNoCl9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fCmlndC1kZXYgbWFpbGluZyBsaXN0CmlndC1kZXZAbGlzdHMu ZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlz dGluZm8vaWd0LWRldgo=