From mboxrd@z Thu Jan 1 00:00:00 1970 From: Rodrigo Siqueira Subject: Re: [PATCH 00/10] drm/vkms: rework crc worker Date: Mon, 17 Jun 2019 23:49:04 -0300 Message-ID: <20190618024904.nd3iuhyi4orkplu2@smtp.gmail.com> References: <20190606222751.32567-1-daniel.vetter@ffwll.ch> <20190612144220.GO2458@phenom.ffwll.local> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-qt1-x842.google.com (mail-qt1-x842.google.com [IPv6:2607:f8b0:4864:20::842]) by gabe.freedesktop.org (Postfix) with ESMTPS id D898F6E0DA for ; Tue, 18 Jun 2019 02:49:08 +0000 (UTC) Received: by mail-qt1-x842.google.com with SMTP id w17so7083276qto.10 for ; Mon, 17 Jun 2019 19:49:08 -0700 (PDT) Content-Disposition: inline In-Reply-To: <20190612144220.GO2458@phenom.ffwll.local> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Daniel Vetter Cc: Daniel Vetter , DRI Development List-Id: dri-devel@lists.freedesktop.org T24gMDYvMTIsIERhbmllbCBWZXR0ZXIgd3JvdGU6Cj4gT24gV2VkLCBKdW4gMTIsIDIwMTkgYXQg MTA6Mjg6NDFBTSAtMDMwMCwgUm9kcmlnbyBTaXF1ZWlyYSB3cm90ZToKPiA+IEhpIERhbmllbCwK PiA+IAo+ID4gRmlyc3Qgb2YgYWxsLCB0aGFuayB5b3UgdmVyeSBtdWNoIGZvciB5b3VyIHBhdGNo c2V0Lgo+ID4gCj4gPiBJIHRyaWVkIHRvIG1ha2UgYSBkZXRhaWxlZCByZXZpZXcgb2YgeW91ciBz ZXJpZXMsIGFuZCB5b3UgY2FuIHNlZSBteQo+ID4gY29tbWVudHMgaW4gZWFjaCBwYXRjaC4gWW91 4oCZbGwgbm90aWNlIHRoYXQgSSBhc2tlZCBtYW55IHRoaW5ncyByZWxhdGVkCj4gPiB0byB0aGUg RFJNIHN1YnN5c3RlbSB3aXRoIHRoZSBob3BlIHRoYXQgSSBjb3VsZCBsZWFybiBhIGxpdHRsZSBi aXQKPiA+IG1vcmUgYWJvdXQgRFJNIGZyb20geW91ciBjb21tZW50cy4KPiA+IAo+ID4gQmVmb3Jl IHlvdSBnbyB0aHJvdWdoIHRoZSByZXZpZXcsIEkgd291bGQgbGlrZSB0byBzdGFydCBhIGRpc2N1 c3Npb24KPiA+IGFib3V0IHRoZSB2a21zIHJhY2UgY29uZGl0aW9ucy4gRmlyc3QsIEkgaGF2ZSB0 byBhZG1pdCB0aGF0IEkgZGlkIG5vdAo+ID4gdW5kZXJzdGFuZCB0aGUgcmFjZSBjb25kaXRpb25z IHRoYXQgeW91IGRlc2NyaWJlZCBiZWZvcmUgYmVjYXVzZSBJCj4gPiBjb3VsZG7igJl0IHJlcHJv ZHVjZSB0aGVtLiBOb3csIEknbSBzdXNwZWN0aW5nIHRoYXQgSSBjb3VsZCBub3QKPiA+IGV4cGVy aWVuY2UgdGhlIHByb2JsZW0gYmVjYXVzZSBJJ20gdXNpbmcgUUVNVSB3aXRoIEtWTTsgd2l0aCB0 aGlzIGlkZWEKPiA+IGluIG1pbmQsIEkgc3VwcG9zZSB0aGF0IHdlIGhhdmUgdHdvIHNjZW5hcmlv cyBmb3IgdXNpbmcgdmttcyBpbiBhCj4gPiB2aXJ0dWFsIG1hY2hpbmU6Cj4gPiAKPiA+ICogU2Nl bmFyaW8gMTogVGhlIHVzZXIgaGFzIGhhcmR3YXJlIHZpcnR1YWxpemF0aW9uIHN1cHBvcnQ7IGlu IHRoaXMKPiA+IGNhc2UsIGl0IGlzIGEgbGl0dGxlIGJpdCBoYXJkZXIgdG8gZXhwZXJpZW5jZSBy YWNlIGNvbmRpdGlvbnMgd2l0aAo+ID4gdmttcy4KPiA+IAo+ID4gKiBTY2VuYXJpbyAyOiBXaXRo b3V0IGhhcmR3YXJlIHZpcnR1YWxpemF0aW9uIHN1cHBvcnQsIGl0IGlzIG11Y2gKPiA+IGVhc2ll ciB0byBleHBlcmllbmNlIHJhY2UgY29uZGl0aW9ucy4KPiA+IAo+ID4gV2l0aCB0aGVzZSB0d28g c2NlbmFyaW9zIGluIG1pbmQsIEkgY29uZHVjdGVkIGEgYnVuY2ggb2YgZXhwZXJpbWVudHMKPiA+ IGZvciB0cnlpbmcgdG8gc2hlZCBsaWdodCBvbiB0aGlzIGlzc3VlLiBJIGRpZDoKPiA+IAo+ID4g MS4gRW5hYmxlZCBsb2NrZGVwCj4gPiAKPiA+IDIuIERlZmluZWQgdHdvIGRpZmZlcmVudCBlbnZp cm9ubWVudHMgZm9yIHRlc3RpbmcgYm90aCB1c2luZyBRRU1VIHdpdGgKPiA+IGFuZCB3aXRob3V0 IGt2bS4gU2VlIGJlbG93IHRoZSBRRU1VIGhhcmR3YXJlIG9wdGlvbnM6Cj4gPiAKPiA+ICogZW52 X2t2bTogLWVuYWJsZS1rdm0gLWRhZW1vbml6ZSAtbSAxRyAtc21wIGNvcmVzPTIsY3B1cz0yCj4g PiAqIGVudl9ub19rdm06IC1kYWVtb25pemUgLW0gMkcgLXNtcCBjb3Jlcz00LGNwdXM9NAo+ID4g Cj4gPiAzLiBNeSB0ZXN0IHByb3RvY29sOiBJKSB0dXJuIG9uIHRoZSB2bSwgSUkpIGNsZWFuIC9w cm9jL2xvY2tfc3RhdCwKPiA+IElJSSkgZXhlY3V0ZSBrbXNfY3Vyc29yX2NyYywgSUlJKSBzYXZl IHRoZSBsb2NrX3N0YXQgZmlsZSwgYW5kIElWKQo+ID4gdHVybiBvZmYgdGhlIHZtLgo+ID4gCj4g PiA0LiBGcm9tIHRoZSBsb2NrZGVwX3N0YXQsIEkganVzdCBoaWdobGlnaHRlZCB0aGUgcm93IHJl bGF0ZWQgdG8gdmttcwo+ID4gYW5kIHRoZSBjb2x1bW5zIGhvbGR0aW1lLXRvdGFsIGFuZCBob2xk dGltZS1hdmcKPiA+IAo+ID4gSSB3b3VsZCBsaWtlIHRvIGhpZ2hsaWdodCB0aGF0IHRoZSBmb2xs b3dpbmcgZGF0YSBkb2VzIG5vdCBoYXZlIGFueQo+ID4gc3RhdGlzdGljYWwgYXBwcm9hY2gsIGFu ZCBpdHMgaW50ZW50aW9uIGlzIHNvbGVseSB0byBhc3Npc3Qgb3VyCj4gPiBkaXNjdXNzaW9uLiBT ZWUgYmVsb3cgdGhlIHN1bW1hcnkgb2YgdGhlIGNvbGxlY3RlZCBkYXRhOgo+ID4gCj4gPiBTdW1t YXJ5IG9mIHRoZSBleHBlcmltZW50IHJlc3VsdHM6Cj4gPiAKPiA+ICstLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLSsKPiA+IHwgICAgICAgICAgICAgICAg fCAgICAgZW52X2t2bSAgICB8ICAgZW52X25vX2t2bSAgIHwKPiA+ICsgICAgICAgICAgICAgICAg Ky0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLSsKPiA+IHwgVGVzdCAgICAgICAgICAg fCBCZWZvcmUgfCBBZnRlciB8IEJlZm9yZSB8IEFmdGVyIHwKPiA+ICstLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tKy0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLSsKPiA+IHwga21zX2N1cnNvcl9jcmMg fCAgIFMxICAgfCAgIFMyICB8ICAgTTEgICB8ICAgTTIgIHwKPiA+ICstLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tKy0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLSsKPiA+IAo+ID4gKiBCZWZvcmU6IGJl Zm9yZSBhcHBseSB0aGlzIHBhdGNoc2V0Cj4gPiAqIEFmdGVyOiBhZnRlciBhcHBseSB0aGlzIHBh dGNoc2V0Cj4gPiAKPiA+IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLQo+ID4gUzE6IFdpdGhvdXQgdGhpcyBwYXRj aHNldCBhbmQgd2l0aCBrdm0gICB8IGhvbGR0aW1lLXRvdGFsIHwgaG9sZHRpbWUtYXZnCj4gPiAt LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0KPiA+ICYoJnZrbXNfb3V0LT5sb2NrKS0+cmxvY2s6ICAgICAgICAgICAg ICAgfCAgMjE5ODMuNTIgICAgICB8ICA2LjIxCj4gPiAod29ya19jb21wbGV0aW9uKSgmdmttc19z dGF0ZS0+Y3JjX3dvOiAgIHwgIDIwLjQ3ICAgICAgICAgfCAgMjAuNDcKPiA+ICh3cV9jb21wbGV0 aW9uKXZrbXNfY3JjX3dvcmtxOiAgICAgICAgICAgfCAgMzk5OTUwNy44NyAgICB8ICAzMzUyLjQ4 Cj4gPiAmKCZ2a21zX291dC0+c3RhdGVfbG9jayktPnJsb2NrOiAgICAgICAgIHwgIDM3OC40NyAg ICAgICAgfCAgMC4zMAo+ID4gKHdvcmtfY29tcGxldGlvbikoJnZrbXNfc3RhdGUtPmNyY18jMjog ICB8ICAzOTk5MDY2LjMwICAgIHwgIDI4NDguMzQKPiA+IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLQo+ID4gUzI6 IFdpdGggdGhpcyBwYXRjaHNldCBhbmQgd2l0aCBrdm0gICAgICB8ICAgICAgICAgICAgICAgIHwK PiA+IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLQo+ID4gJigmdmttc19vdXQtPmxvY2spLT5ybG9jazogICAgICAg ICAgICAgICB8ICAyMzI2Mi44MyAgICAgIHwgIDYuMzQKPiA+ICh3b3JrX2NvbXBsZXRpb24pKCZ2 a21zX3N0YXRlLT5jcmNfd286ICAgfCAgOC45OCAgICAgICAgICB8ICA4Ljk4Cj4gPiAmKCZ2a21z X291dC0+Y3JjX2xvY2spLT5ybG9jazogICAgICAgICAgIHwgIDMwNy4yOCAgICAgICAgfCAgMC4z Mgo+ID4gKHdxX2NvbXBsZXRpb24pdmttc19jcmNfd29ya3E6ICAgICAgICAgICB8ICA2NTY3NzI3 LjA1ICAgIHwgIDEyMzQ1LjM1Cj4gPiAod29ya19jb21wbGV0aW9uKSgmdmttc19zdGF0ZS0+Y3Jj XyMyOiAgIHwgIDY1NjcxMzUuMTUgICAgfCAgNDQ4OC44MQo+ID4gLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tCj4g PiBNMTogV2l0aG91dCB0aGlzIHBhdGNoc2V0IGFuZCB3aXRob3V0IGt2bXwgICAgICAgICAgICAg ICAgfAo+ID4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tCj4gPiAmKCZ2a21zX291dC0+c3RhdGVfbG9jayktPnJs b2NrOiAgICAgICAgIHwgIDQ5OTQuNzIgICAgICAgfCAgMS42MQo+ID4gJigmdmttc19vdXQtPmxv Y2spLT5ybG9jazogICAgICAgICAgICAgICB8ICAyNDcxOTAuMDQgICAgIHwgIDM5LjM5Cj4gPiAo d29ya19jb21wbGV0aW9uKSgmdmttc19zdGF0ZS0+Y3JjX3dvOiAgIHwgIDMxLjMyICAgICAgICAg fCAgMzEuMzIKPiA+ICh3cV9jb21wbGV0aW9uKXZrbXNfY3JjX3dvcmtxOiAgICAgICAgICAgfCAg MjA5OTEwNzMuNzggICB8ICAxMzUyNS4xOAo+ID4gKHdvcmtfY29tcGxldGlvbikoJnZrbXNfc3Rh dGUtPmNyY18jMjogICB8ICAyMDk4ODM0Ny4xOCAgIHwgIDExOTA0LjkwCj4gPiAtLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0KPiA+IE0yOiBXaXRoIHRoaXMgcGF0Y2hzZXQgYW5kIHdpdGhvdXQga3ZtICAgfCAgICAg ICAgICAgICAgICB8Cj4gPiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0KPiA+ICh3cV9jb21wbGV0aW9uKXZrbXNf Y3JjX3dvcmtxOiAgICAgICAgICAgfCAgNDI4MTkxNjEuNjggICB8ICAzNjU5Ny41Nwo+ID4gJigm dmttc19vdXQtPmxvY2spLT5ybG9jazogICAgICAgICAgICAgICB8ICAyNTEyNTcuMDYgICAgIHwg IDM1LjgwCj4gPiAod29ya19jb21wbGV0aW9uKSgmdmttc19zdGF0ZS0+Y3JjX3dvOiAgIHwgIDY5 LjM3ICAgICAgICAgfCAgNjkuMzcKPiA+ICYoJnZrbXNfb3V0LT5jcmNfbG9jayktPnJsb2NrOiAg ICAgICAgICAgfCAgMzYyMC45MiAgICAgICB8ICAxLjU0Cj4gPiAod29ya19jb21wbGV0aW9uKSgm dmttc19zdGF0ZS0+Y3JjXyMyOiAgIHwgIDQyODAzNDE5LjU5ICAgfCAgMjQzMDYuMzEKPiA+IAo+ ID4gRmlyc3QsIEkgYW5hbHl6ZWQgdGhlIHNjZW5hcmlvcyB3aXRoIEtWTSAoUzEgYW5kIFMyKTsg bW9yZQo+ID4gc3BlY2lmaWNhbGx5LCBJIGZvY3VzZWQgb24gdGhlc2UgdHdvIGNsYXNzZXM6Cj4g PiAKPiA+IDEuICh3b3JrX2NvbXBsZXRpb24pKCZ2a21zX3N0YXRlLT5jcmNfd28KPiA+IDIuICh3 b3JrX2NvbXBsZXRpb24pKCZ2a21zX3N0YXRlLT5jcmNfIzIKPiA+IAo+ID4gQWZ0ZXIgdGFraW5n IGEgbG9vayBhdCB0aGUgZGF0YSwgaXQgbG9va3MgbGlrZSB0aGF0IHRoaXMgcGF0Y2hzZXQKPiA+ IGdyZWF0bHkgcmVkdWNlcyB0aGUgaG9sZCB0aW1lIGF2ZXJhZ2UgZm9yIGNyY193by4gT24gdGhl IG90aGVyIGhhbmQsCj4gPiBpdCBpbmNyZWFzZXMgdGhlIGhvbGQgdGltZSBhdmVyYWdlIGZvciBj cmNfIzIuIEkgZGlkbuKAmXQgdW5kZXJzdGFuZAo+ID4gd2VsbCB0aGUgcmVhc29uIGZvciB0aGUg ZGlmZmVyZW5jZS4gQ291bGQgeW91IGhlbHAgbWUgaGVyZT8KPiAKPiBTbyB0aGVyZSdzIHR3byBy ZWFsIGxvY2tzIGhlcmUgZnJvbSBvdXIgY29kZSwgdGhlIG9uZXMgeW91IGNhbiBzZWUgYXMKPiBz cGlubG9ja3M6Cj4gCj4gJigmdmttc19vdXQtPnN0YXRlX2xvY2spLT5ybG9jazogICAgICAgICB8 ICA0OTk0LjcyICAgICAgIHwgIDEuNjEKPiAmKCZ2a21zX291dC0+bG9jayktPnJsb2NrOiAgICAg ICAgICAgICAgIHwgIDI0NzE5MC4wNCAgICAgfCAgMzkuMzkKPiAKPiBBbGwgdGhlIG90aGVycyBh cmUgZmFrZSBsb2NrcyB0aGF0IHRoZSB3b3JrcXVldWUgYWRkcywgd2hpY2ggb25seSBleGlzdCBp bgo+IGxvY2tkZXAuIFRoZXkgYXJlIHVzZWQgdG8gY2F0Y2ggc3BlY2lhbCBraW5kcyBvZiBkZWFk bG9ja3MgbGlrZSB0aGUgYmVsb3c6Cj4gCj4gdGhyZWFkIEE6Cj4gMS4gbXV0ZXhfbG9jayhtdXRl eF9BKQo+IDIuIGZsdXNoX3dvcmsod29ya19BKQo+IAo+IHRocmVhZCBCCj4gMS4gcnVubmluZyB3 b3JrX0E6Cj4gMi4gbXV0ZXhfbG9jayhtdXRleF9BKQo+IAo+IHRocmVhZCBCIGNhbid0IGNvbnRp bnVlIGJlY3Vhc2UgbXV0ZXhfQSBpcyBhbHJlYWR5IGhlbGQgYnkgdGhyZWFkIEEuCj4gdGhyZWFk IEEgY2FuJ3QgY29udGludWUgYmVjYXVzZSB0aHJlYWQgQiBpcyBibG9ja2VkIGFuZCB0aGUgd29y ayBuZXZlcgo+IGZpbmlzaGVzLgo+IC0+IGRlYWRsb2NrCj4gCj4gSSBoYXZlbid0IGNoZWNrZWQg d2hpY2ggaXMgd2hpY2gsIGJ1dCBlc3NlbnRpYWxseSB3aGF0IHlvdSBtZWFzdXJlIHdpdGgKPiB0 aGUgaG9sZCB0aW1lcyBvZiB0aGVzZSBmYWtlIGxvY2tzIGlzIGhvdyBsb25nIGEgd29yayBleGVj dXRpb24gdGFrZXMgb24KPiBhdmVyYWdlLgo+IAo+IFNpbmNlIG15IHBhdGNoZXMgYXJlIHN1cHBv c2VkIHRvIGZpeCByYWNlcyB3aGVyZSB0aGUgd29ya2VyIGNhbid0IGtlZXAgdXAKPiB3aXRoIHRo ZSB2YmxhbmsgaHJ0aW1lciwgdGhlbiB0aGUgYXZlcmFnZSB3b3JrZXIgd2lsbCAocHJvYmFibHkp IGRvIG1vcmUsCj4gc28gdGhhdCBnb2luZyB1cCBpcyBleHBlY3RlZC4gSSB0aGluay4KPiAKPiBJ J20gaG9uZXN0bHkgbm90IHN1cmUgd2hhdCdzIGdvaW5nIG9uIGhlcmUsIG5ldmVyIGxvb2tpbmcg aW50byB0aGlzIGluCj4gZGV0YWlsLgo+IAo+ID4gV2hlbiBJIGxvb2tlZCBmb3IgdGhlIHNlY29u ZCBzZXQgb2Ygc2NlbmFyaW9zIChNMSBhbmQgTTIsIGJvdGggd2l0aG91dAo+ID4gS1ZNKSwgdGhl IHJlc3VsdHMgbG9vayBtdWNoIG1vcmUgZGlzdGFudDsgYmFzaWNhbGx5LCB0aGlzIHBhdGNoc2V0 Cj4gPiBpbmNyZWFzZWQgdGhlIGhvbGQgdGltZSBhdmVyYWdlLiBBZ2FpbiwgY291bGQgeW91IGhl bHAgbWUgdW5kZXJzdGFuZCBhCj4gPiBsaXR0bGUgYml0IGJldHRlciB0aGlzIGlzc3VlPwo+ID4g Cj4gPiBGaW5hbGx5LCBhZnRlciB0aGVzZSB0ZXN0cywgSSBoYXZlIHNvbWUgcXVlc3Rpb25zOgo+ ID4gCj4gPiAxLiBWS01TIGlzIGEgc29mdHdhcmUtb25seSBkcml2ZXI7IGJlY2F1c2Ugb2YgdGhp cywgaG93IGFib3V0IGRlZmluaW5nCj4gPiBhIG1pbmltYWwgc3lzdGVtIHJlc291cmNlIGZvciB1 c2luZyBpdD8KPiAKPiBObyBpZGVhLCBpbiByZWFsaXR5IGl0J3MgcHJvYmFibHkgImlmIGl0IGZh aWxzIHRvbyBvZnRlbiwgYnV5IGZhc3RlciBjcHUiLgo+IEkgZG8gdGhpbmsgd2Ugc2hvdWxkIG1h a2UgdGhlIGNvZGUgcm9idXN0IGFnYWluc3QgYSBzbG93IGNwdSwgc2luY2UgYXRtCj4gdGhhdCdz IG5lZWRlZCBldmVuIG9uIHByZXR0eSBmYXN0IG1hY2hpbmVzIChiZWNhdXNlIG91ciBibGVuZGlu ZyBjb2RlIGlzCj4gcmVhbGx5LCByZWFsbHkgc2xvdyBhbmQgaW5lZmZpY2llbnQpLgo+IAo+ID4g Mi4gRHVyaW5nIG15IGV4cGVyaW1lbnRzLCBJIG5vdGljZWQgdGhhdCBydW5uaW5nIHRlc3RzIHdp dGggYSBWTSB0aGF0Cj4gPiB1c2VzIEtWTSBoYWQgY29uc2lzdGVudCByZXN1bHRzLiBGb3IgZXhh bXBsZSwga21zX2ZsaXAgbmV2ZXIgZmFpbHMKPiA+IHdpdGggUUVNVStLVk07IGhvd2V2ZXIsIHdp dGhvdXQgS1ZNLCB0d28gb3IgdGhyZWUgdGVzdHMgZmFpbGVkIChvbmUgb2YKPiA+IHRoZW0gbG9v a3MgcmFuZG9tKS4gSWYgd2UgdXNlIHZrbXMgZm9yIHRlc3QgRFJNIHN0dWZmLCBzaG91bGQgd2UK PiA+IHJlY29tbWVuZCB0aGUgdXNlIG9mIEtWTT8KPiAKPiBXaGF0IGRvIHlvdSBtZWFuIHdpdGhv dXQga3ZtPyBJbiBnZW5lcmFsIHJ1bm5pbmcgd2l0aG91dCBrdm0gc2hvdWxkbid0IGJlCj4gc2xv d2VyLCBzbyBJJ20gYSBiaXQgY29uZnVzZWQgLi4uIEknbSBydW5uaW5nIHZnZW0gZGlyZWN0bHkg b24gdGhlCj4gbWFjaGluZSwgYnkgYm9vdGluZyBpbnRvIG5ldyBrZXJuZWxzIChhbmQgY29udHJv bGxpbmcgdGhlIG1hY2hpbmUgb3ZlciB0aGUKPiBuZXR3b3JrKS4KClNvcnJ5LCBJIHNob3VsZCBo YXZlIGRldGFpbGVkIG15IHBvaW50LgoKQmFzaWNhbGx5LCBJIGRvIGFsbCBteSB0ZXN0aW5nIHdp dGggdmttcyBpbiBRRU1VIFZNLiBJbiB0aGF0IHNlbnNlLCBJCmRpZCBzb21lIGV4cGVyaW1lbnRz IHdoaWNoIEkgZW5hYmxlZCBhbmQgZGlzYWJsZWQgdGhlIEtWTSAoaS5lLiwgZmxhZwonLWVuYWJs ZS1rdm0nKSB0byBjaGVjayB0aGUgdmttcyBiZWhhdmlvdXIgaW4gdGhlc2UgdHdvIHNjZW5hcmlv cy4gSQpub3RpY2VkIHRoYXQgdGhlIHRlc3RzIGFyZSBjb25zaXN0ZW50IHdoZW4gSSB1c2UgdGhl ICctZW5hYmxlLWt2bScgZmxhZywKaW4gdGhhdCBjb250ZXh0IGl0IHNlZW1lZCBhIGdvb2QgaWRl YSB0byByZWNvbW1lbmQgdGhlIHVzZSBvZiBLVk0gZm9yCnRob3NlIHVzZXJzIHdobyB3YW50IHRv IHRlc3QgdmttcyB3aXRoIGlndC4gQW55d2F5LCBkb24ndCB3b3JyeSBhYm91dAp0aGF0IEknbGwg dHJ5IHRvIGFkZCBtb3JlIGRvY3VtZW50YXRpb24gZm9yIHZrbXMgaW4gdGhlIGZ1dHVyZSBhbmQg aW4KdGhhdCB0aW1lIHdlIGRpc2N1c3MgYWJvdXQgdGhpcyBhZ2Fpbi4KCkFueXdheSwgZnJvbSBt eSBzaWRlLCBJIHRoaW5rIHdlIHNob3VsZCBtZXJnZSB0aGlzIHNlcmllcy4gRG8geW91IHdhbnQK dG8gcHJlcGFyZSBhIFYyIHdpdGggdGhlIGZpeGVzIGFuZCBtYXliZSB1cGRhdGUgdGhlIGNvbW1p dCBtZXNzYWdlcyBieQp1c2luZyBzb21lIG9mIHlvdXIgZXhwbGFuYXRpb25zPyBPciwgaWYgeW91 IHdhbnQsIEkgY2FuIGZpeCB0aGUgdGlueQpkZXRhaWxzIGFuZCBtZXJnZSBpdC4KCj4gLURhbmll bAo+IAo+ID4gQmVzdCBSZWdhcmRzCj4gPiAKPiA+IE9uIFRodSwgSnVuIDYsIDIwMTkgYXQgNzoy OCBQTSBEYW5pZWwgVmV0dGVyIDxkYW5pZWwudmV0dGVyQGZmd2xsLmNoPiB3cm90ZToKPiA+ID4K PiA+ID4gSGkgYWxsLAo+ID4gPgo+ID4gPiBUaGlzIGhlcmUgaXMgdGhlIGZpcnN0IHBhcnQgb2Yg YSByZXdvcmsgZm9yIHRoZSB2a21zIGNyYyB3b3JrZXIuIEkgdGhpbmsKPiA+ID4gdGhpcyBzaG91 bGQgZml4IGFsbCB0aGUgbG9ja2luZy9yYWNlcy91c2UtYWZ0ZXItZnJlZSBpc3N1ZXMgSSBzcG90 dGVkIGluCj4gPiA+IHRoZSBjb2RlLiBUaGVyZSdzIG1vcmUgd29yayB3ZSBjYW4gZG8gaW4gdGhl IGZ1dHVyZSBhcyBhIGZvbGxvdy11cDoKPiA+ID4KPiA+ID4gLSBkaXJlY3RseSBhY2Nlc3Mgdmtt c19wbGFuZV9zdGF0ZS0+YmFzZSBpbiB0aGUgY3JjIHdvcmtlciwgd2l0aCB0aGlzCj4gPiA+ICAg YXBwcm9hY2ggaW4gdGhpcyBzZXJpZXMgaGVyZSB0aGF0IHNob3VsZCBiZSBzYWZlIG5vdy4gRm9s bG93LXVwIHBhdGNoZXMKPiA+ID4gICBjb3VsZCBzd2l0Y2ggYW5kIHJlbW92ZSBhbGwgdGhlIHNl cGFyYXRlIGNyY19kYXRhIGluZnJhc3RydWN0dXJlLgo+ID4gPgo+ID4gPiAtIEkgdGhpbmsgc29t ZSBrZXJuZWxkb2MgZm9yIHZrbXMgc3RydWN0dXJlcyB3b3VsZCBiZSBuaWNlLiBEb2N1bWVudGF0 aW9uCj4gPiA+ICAgdGhlIHZhcmlvdXMgZnVuY3Rpb25zIGlzIHByb2JhYmx5IG92ZXJraWxsLgo+ ID4gPgo+ID4gPiAtIEltcGxlbWVudGluZyBhIG1vcmUgZ2VuZXJpYyBibGVuZGluZyBlbmdpbmUs IGFzIHByZXAgZm9yIGFkZGluZyBtb3JlCj4gPiA+ICAgcGl4ZWwgZm9ybWF0cywgbW9yZSBwbGFu ZXMsIGFuZCBtb3JlIGZlYXR1cmVzIGluIGdlbmVyYWwuCj4gPiA+Cj4gPiA+IFRlc3RlZCB3aXRo IGttc19waXBlX2NyYywga21zX2ZsaXAgYW5kIGttc19jdXJzb3JfY3JjLiBTZWVtcyB0byBub3Qg bWFrZQo+ID4gPiB0aGluZ3Mgd29yc2UsIGJ1dCBJIGRpZG4ndCBkbyBhIGZ1bGwgcnVuLgo+ID4g Pgo+ID4gPiBDaGVlcnMsIERhbmllbAo+ID4gPgo+ID4gPiBEYW5pZWwgVmV0dGVyICgxMCk6Cj4g PiA+ICAgZHJtL3ZrbXM6IEZpeCBjcmMgd29ya2VyIHJhY2VzCj4gPiA+ICAgZHJtL3ZrbXM6IFVz ZSBzcGluX2xvY2tfaXJxIGluIHByb2Nlc3MgY29udGV4dAo+ID4gPiAgIGRybS92a21zOiBSZW5h bWUgdmttc19vdXRwdXQuc3RhdGVfbG9jayB0byBjcmNfbG9jawo+ID4gPiAgIGRybS92a21zOiBN b3ZlIGZvcm1hdCBhcnJheXMgdG8gdmttc19wbGFuZS5jCj4gPiA+ICAgZHJtL3ZrbXM6IEFkZCBv dXIgb3duIGNvbW1pdF90YWlsCj4gPiA+ICAgZHJtL3ZrbXM6IGZsdXNoIGNyYyB3b3JrZXJzIGVh cmxpZXIgaW4gY29tbWl0IGZsb3cKPiA+ID4gICBkcm0vdmttczogRG9udCBmbHVzaCBjcmMgd29y a2VyIHdoZW4gd2UgY2hhbmdlIGNyYyBzdGF0dXMKPiA+ID4gICBkcm0vdmttczogTm8gX2lycXNh dmUgd2l0aGluIHNwaW5fbG9ja19pcnEgbmVlZGVkCj4gPiA+ICAgZHJtL3ZrbXM6IHRvdGFsbHkg cmV3b3JrZWQgY3JjIGRhdGEgdHJhY2tpbmcKPiA+ID4gICBkcm0vdmttczogTm8gbmVlZCBmb3Ig LT5wYWdlc19sb2NrIGluIGNyYyB3b3JrIGFueW1vcmUKPiA+ID4KPiA+ID4gIGRyaXZlcnMvZ3B1 L2RybS92a21zL3ZrbXNfY3JjLmMgICB8IDc0ICsrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0K PiA+ID4gIGRyaXZlcnMvZ3B1L2RybS92a21zL3ZrbXNfY3J0Yy5jICB8IDgwICsrKysrKysrKysr KysrKysrKysrKysrKysrLS0tLS0KPiA+ID4gIGRyaXZlcnMvZ3B1L2RybS92a21zL3ZrbXNfZHJ2 LmMgICB8IDM1ICsrKysrKysrKysrKysrCj4gPiA+ICBkcml2ZXJzL2dwdS9kcm0vdmttcy92a21z X2Rydi5oICAgfCAyNCArKysrKy0tLS0tCj4gPiA+ICBkcml2ZXJzL2dwdS9kcm0vdmttcy92a21z X3BsYW5lLmMgfCAgOCArKysrCj4gPiA+ICA1IGZpbGVzIGNoYW5nZWQsIDE0NiBpbnNlcnRpb25z KCspLCA3NSBkZWxldGlvbnMoLSkKPiA+ID4KPiA+ID4gLS0KPiA+ID4gMi4yMC4xCj4gPiA+Cj4g PiA+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gPiA+ IGRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKPiA+ID4gZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9w Lm9yZwo+ID4gPiBodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZv L2RyaS1kZXZlbAo+ID4gCj4gPiAKPiA+IAo+ID4gLS0gCj4gPiAKPiA+IFJvZHJpZ28gU2lxdWVp cmEKPiA+IGh0dHBzOi8vc2lxdWVpcmEudGVjaAo+IAo+IC0tIAo+IERhbmllbCBWZXR0ZXIKPiBT b2Z0d2FyZSBFbmdpbmVlciwgSW50ZWwgQ29ycG9yYXRpb24KPiBodHRwOi8vYmxvZy5mZndsbC5j aAoKLS0gClJvZHJpZ28gU2lxdWVpcmEKaHR0cHM6Ly9zaXF1ZWlyYS50ZWNoCl9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxp c3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNr dG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbA==