From mboxrd@z Thu Jan 1 00:00:00 1970 From: Max Staudt Subject: Re: [RFC PATCH v2 00/13] Kernel based bootsplash Date: Wed, 20 Dec 2017 14:03:20 +0100 Message-ID: <48846920-4244-763c-a23b-44f42ac2c2c6@suse.de> References: <20171213194755.3409-1-mstaudt@suse.de> <20171219161630.GI26573@phenom.ffwll.local> <2f8a1a08-911d-a511-2968-4d89418ac212@suse.de> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mx2.suse.de (mx2.suse.de [195.135.220.15]) by gabe.freedesktop.org (Postfix) with ESMTPS id 829B989DBF for ; Wed, 20 Dec 2017 13:03:22 +0000 (UTC) In-Reply-To: Content-Language: en-US List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Ray Strode Cc: linux-fbdev@vger.kernel.org, michal@markovi.net, b.zolnierkie@samsung.com, sndirsch@suse.com, oneukum@suse.com, tiwai@suse.com, dri-devel@lists.freedesktop.org, "Linux-Kernel@Vger. Kernel. Org" , philm@manjaro.org, bernhard.rosenkranzer@linaro.org List-Id: dri-devel@lists.freedesktop.org T24gMTIvMTkvMjAxNyAwOTozMCBQTSwgUmF5IFN0cm9kZSB3cm90ZToKPiBIaSwKPiAKPj4gRm9y IGV4YW1wbGUsIGhhdmluZyBhIHVzZXJzcGFjZSBzcGxhc2ggdGhhdCBzdGFydHMgYXMgZWFybHkg YXMgaXQgY2FuCj4+ICh0aHVzIG9uIHZlc2FmYi9lZmlmYiBvbiBhIFBDKSB3aWxsIGNhdXNlIHRo ZSBLTVMgZHJpdmVyIHRvIGZhaWwKPj4gcmVzZXJ2aW5nIHRoZSBlbnRpcmV0eSBvZiB2aWRlbyBS QU0sIGFuZCB0aHVzIGZhaWwgbG9hZGluZy4gVGhpcyBjYW5ub3QgYmUgZml4ZWQuCj4gd2VsbCB0 aGUgZml4IHRoZXJlIGlzIHRvIHVzZSBkcm0gZGV2aWNlcy4uLiBsaWtlIHRoaXM6Cj4gCj4gaHR0 cHM6Ly9jZ2l0LmZyZWVkZXNrdG9wLm9yZy9wbHltb3V0aC9jb21taXQvP2lkPTk3ZjAyZWU5NTkz NzRhZmIxYjhhNzhkYzY3MTE2Y2Q4ODBjZjJkMjMKClNvcnJ5LCB5b3UncmUgY29uZnVzaW5nIHRo aW5ncy4gUGxlYXNlIHJlLXJlYWQgdGhlIHYxIGNvdmVyIGxldHRlciwgdGhlIGNvbW1pdCBtZXNz YWdlIGZvciBwYXRjaCAxLCBhbmQgdGhlIGFzc29jaWF0ZWQgZGlzY3Vzc2lvbnMuCgpUaGVyZSBp cyBhbHNvIGEgYnVnIHJlcG9ydCB3aGVyZSBJJ3ZlIGRlc2NyaWJlZCB3aGF0IGhhcHBlbnMgLSBJ IHRoaW5rIGl0IGNsYXJpZmllcyB0aGUgc2l0dWF0aW9uIGEgbG90OgogIGh0dHBzOi8vYnVnemls bGEub3BlbnN1c2Uub3JnL3Nob3dfYnVnLmNnaT9pZD05ODA3NTAKCgpUbyBzdW1tYXJpc2U6IFdo YXQgeW91IG1lYW4gaXMgZm9yIFBseW1vdXRoIHRvIGlnbm9yZSBGQiBkZXZpY2VzIHdoZW4gdGhl eSBoYXZlIGVxdWl2YWxlbnQgRFJNIGRldmljZXMuIEFuZCB5ZXMsIFBseW1vdXRoIGRvZXMgdGhh dCBqdXN0IGZpbmUuCgpUaGUgcHJvYmxlbSB0aGF0IEkgYW0gc3R1bWJsaW5nIHVwb24gaXMgZGlm ZmVyZW50OgogLSB0aGUgc3lzdGVtIHN0YXJ0cyB3aXRoIGFuIEZCIGRyaXZlcgogLSBhZnRlciB0 aGUgU2hvd0RlbGF5IHRpbWUsIFBseW1vdXRoIG9wZW5zIC9kZXYvZmIwCiAtIHRoZSBzeXN0ZW0g ZmluYWxseSBsb2FkcyB0aGUgRFJNIGRyaXZlciwgd2hpY2ggdHJpZXMgdG8ga2ljayB0aGUgcHJl dmlvdXMgRkIgZHJpdmVyCiAtIGxvYWRpbmcgdGhlIERSTSBkcml2ZXIgZmFpbHMgYmVjYXVzZSBQ bHltb3V0aCBzdGlsbCBoYXMgdGhlIHByZXZpb3VzIC9kZXYvZmIwIG9wZW4KCgpJdCdzIGEgd2hv bGx5IGRpZmZlcmVudCBpc3N1ZS4KCgo+PiBGdXJ0aGVybW9yZSwgUGx5bW91dGggaXMgcXVpdGUg YnJva2VuLiBGb3IgZXhhbXBsZSwgaXQgbWF5IGxvY2sKPj4gKHZpYSBWVF9TRVRNT0RFKSB0aGUg VlQgZXZlbiB0aG91Z2ggUGx5bW91dGggaXMgaW4gImRpc2FibGVkIgo+PiBzdGF0ZSBhbmQgWCBo YXMgYWxyZWFkeSB0YWtlbiBjb250cm9sIG9mIHRoZSBWVC4KPiBXaGF0IGRvIHlvdSBtZWFuIGJ5 ICJkaXNhYmxlZCIgKHBseW1vdXRoLmVuYWJsZT0wPykgPyAgaWYgaXQncwo+IGRpc2FibGVkLCBp dCdzIG5vdCBnb2luZyB0byBjYWxsIFZUX1NFVE1PREUgLi4uCgoxLiBTeXN0ZW0gYm9vdHMKMi4g UGx5bW91dGggc3RhcnRzIGFuZCBncmFicyBzb21lIGRpc3BsYXlzCjMuIGdkbSBzdGFydHMgYW5k IHJ1bnMgL3Vzci9iaW4vcGx5bW91dGggZGVhY3RpdmF0ZQo0LiBYIHNlcnZlciBncmFicyBWVAo1 LiB1ZGV2IHF1ZXVlIGlzIGVtcHR5CjYuIFBseW1vdXRoIHRoaW5rcyB0aGF0IGNvbGRwbHVnZ2lu ZyBoYXMgZmluaXNoZWQsIGFuZCBncmFicyByZW1haW5pbmcgZGlzcGxheXMKNy4gPHRoaXMgaXMg d2hlcmUgUGx5bW91dGggY2FsbHMgVlRfU0VUTU9ERSBldmVuIHRob3VnaCBpdCdzIGRlYWN0aXZh dGVkPgo4LiBnZG0gcnVucyAvdXNyL2Jpbi9wbHltb3V0aCBxdWl0IC0tcmV0YWluLXNwbGFzaAoK Cj4gV2h5IGRvIHlvdSByZWZlciB0byBWVF9TRVRNT0RFIGFzIGxvY2tpbmcgPwoKSXQncyBub3Qg YSBsb2NrIGluIHRoZSBjb25jdXJyZW5jeSBzZW5zZSwgc3VyZS4KCklmIHlvdSBoYXZlIGEgYmV0 dGVyIHdheSBvZiBjYWxsaW5nIGl0LCBJJ2QgYmUgZ2xhZCB0byBsZWFybi4KTWF5YmUgImdyYWJi aW5nIHRoZSBWVCIsICJ0YWtpbmcgb3duZXJzaGlwIG9mIHRoZSBWVCIsIC4uLj8KCgo+IFZUX1NF VE1PREUgc2V0cwo+IHdoZXRoZXIgYSBwcm9jZXNzIGhhbmRsZXMgVlQgY2hhbmdlcyBvciB0aGUg a2VybmVsIGRvZXMuICBUaGVyZSBpcyBhCj4gbG9uZyBzdGFuZGluZyBrZXJuZWwgaXNzdWUgd2hl cmUgYSBtb2RlIG9mIFZUX0FVVE8gKGtlcm5lbCBoYW5kbGVzCj4gdnQgc3dpdGNoaW5nKSArIEtE R1JBUEhJQ1MgbWVhbnMgVlRzIGNhbid0IGJlIGNoYW5nZWQuIGlzIHRoYXQgd2hhdAo+IHlvdSdy ZSB0YWxraW5nIGFib3V0PwoKTm8sIHRoYXQncyBub3Qgd2hhdCBJIG1lYW4uIEkndmUgaW5zZXJ0 ZWQgcHJpbnRrKClzIGluIHRoZSBrZXJuZWwsIGFuZCBJJ3ZlIHNlZW4gdGhlIFggc2VydmVyJ3Mg UElEIGJlaW5nIHRocm93biBvdXQgd2hlbiBQbHltb3V0aCBjYWxscyBWVF9TRVRNT0RFLiBPbmNl IHRoaXMgaGFwcGVucywgdGhlIGtlcm5lbCBjYW4gbm8gbG9uZ2VyIHRlbGwgWCB0byByZWxlYXNl IHRoZSBkaXNwbGF5LgoKVGhlIFZUX1NFVE1PREUgQVBJIGlzIG1lYW50IHRvIGJlIHVzZWQgYnkg YSBzaW5nbGUgdXNlciBhdCBhIHRpbWUsIG5vdCBieSB0d28gY29uY3VycmVudGx5LiBJdCB3YXMg YnVpbHQgaW4gYSB0aW1lIHdoZW4gaXQgd2FzIGFzc3VtZWQgdGhhdCBub2JvZHkgb3RoZXIgdGhh biB0aGUgWCBzZXJ2ZXIgd291bGQgdXNlIGl0LgoKCj4gQW55d2F5IHBseW1vdXRoIGlzIG9ubHkg Z29pbmcgdG8gc3RlcCBvbiBYJ3MgdG9lcywgaWYgdGhlIGRpc3RybyBlcnJvbmVvdXNseQo+IGFz a3MgaXQgdG8uICBOb3JtYWxseSwgYSBkaXN0cm8gd291bGQgcnVuICJwbHltb3V0aCBkZWFjdGl2 YXRlIiBiZWZvcmUKPiBzdGFydGluZyBYLCBpbnN0ZWFkIG9mIHRyeWluZyB0byBydW4gdGhlbSBh dCB0aGUgc2FtZSB0aW1lLi4uCgpUaGF0J3Mgd2hhdCBnZG0sIHNkZG0sIGV0Yy4gZG8uCgpBbmQg dGhlbiwgaWYgc29tZXRoaW5nIGNhdXNlcyBQbHltb3V0aCB0byBzZW5zZSBhIG5ldyBkZXZpY2Ug KHN1Y2ggYXMgUGx5bW91dGggdGhpbmtpbmcgdGhhdCB1ZGV2IGNvbGRwbHVnIGlzIGNvbXBsZXRl KSwgaXQgd2lsbCBvcGVuIHRoZSBkZXZpY2UsIGFuZCBhcyBwYXJ0IG9mIHRoYXQsIGNhbGwgVlRf U0VUTU9ERS4gVGhpcyBpcyB1bmV4cGVjdGVkLCBzaW5jZSAicGx5bW91dGggZGVhY3RpdmF0ZSIg c2hvdWxkIGtlZXAgaXQgZnJvbSBkb2luZyB0aGlzLiBBbmQgUGx5bW91dGgncyBjb2RlIGFyY2hp dGVjdHVyZSBpcyBzdWNoIHRoYXQgdGhpcyBidWcgaXMgaGFyZCB0byBmaXguCgpUaGlzIGlzIGFj Y3VyYXRlIGFzIG9mIGFib3V0IG9uZSB5ZWFyIGFnby4gSSBoYXZlbid0IGxvb2tlZCBpbnRvIGl0 IHNpbmNlLCBidXQgaGF2ZSBkZWNpZGVkIHRvIHdyaXRlIGEga2VybmVsLWJhc2VkIHJlcGxhY2Vt ZW50IHRvIHNpbXBsaWZ5IHRoaW5ncyBhbmQgdG8gc2hvdyBhIHNwbGFzaCBhcyBlYXJseSBhcyBw b3NzaWJsZS4gSXQganVzdCBhdm9pZHMgYWxsIG9mIHRoaXMgY29tcGxleGl0eS4KCgo+PiBUaGlz IGNhdXNlcyB0aGUga2VybmVsIHRvIHRocm93IGF3YXkgWCdzIFBJRCBhcyB0aGUgVlQgb3duZXIs IGFuZCB0aHVzCj4+IGNodnQgYW5kIEN0cmwtQWx0LUZ4IG5vIGxvbmdlciB3b3JrIGJlY2F1c2Ug WCBjYW4gbmVpdGhlciByZWxlYXNlIHRoZQo+PiBjb25zb2xlIChWVF9SRUxESVNQIGZhaWxzKSwg bm9yIGRvZXMgdGhlIGtlcm5lbCBzZW5kIGl0IHRoZSBzaWduYWwgdG8gZG8KPj4gc28uIFRoaXMg aXMgaGFyZCB0byBpbXBvc3NpYmxlIHRvIGZpeC4KPiBVbmxlc3MgaSdtIG1pc3Npbmcgc29tZXRo aW5nLCB0aGlzIGlzIHRvdGFsbHkganVzdCBhIHByb2JsZW0gd2l0aCBzdGFydHVwCj4gc2NyaXB0 cyBub3QgZG9pbmcgdGhlIHJpZ2h0IHRoaW5nPyAgUGx5bW91dGggc2hvdWxkbid0IGJlIGRvaW5n IGFueXRoaW5nCj4gb25jZSBYIGlzIHN0YXJ0ZWQuICBJZiBpdCBpcywgdGhhdCdzIGVpdGhlciBh IHBseW1vdXRoIGJ1ZyAob3IgbW9yZSBsaWtlbHkgYQo+IGRpc3RybyBpbnRlZ3JhdGlvbiBwcm9i bGVtKQoKSXQgaXMgYSBQbHltb3V0aCBidWcsIHNlZSBhYm92ZS4KCgo+PiBBIHRoaXJkIHJlYXNv biBpcyB0aGF0IGluIHByYWN0aWNlLCBQbHltb3V0aCdzIHN0YXJ0IGlzIGRlbGF5ZWQgZm9yIHJl YXNvbnMKPj4gc3VjaCBhcyB0aGUgYWJvdmUuIFllcywgcmFjZSBjb25kaXRpb25zIGFyZSBiZWlu ZyB3b3JrZWQgYXJvdW5kIHdpdGgKPj4gc2xlZXBzLgo+ID8/PyB0aGF0J3Mgbm90IHRydWUuICBX ZSBkb24ndCBoYXZlIGFueSBzbGVlcCBzdGF0ZW1lbnRzIGluIHRoZSBjb2RlIHRvIHdvcmsKPiBh cm91bmQgcmFjZSBjb25kaXRpb25zIHdpdGggWC4KPiAKPiBXZSBkbyBoYXZlIHR3byBjb25maWd1 cmFibGUgZGVsYXlzIGluIHRoZSBjb2RlLCBhcmUgeW91IHRhbGtpbmcgYWJvdXQgb25lIG9mCj4g dGhlbT8KPiAKPiAxKSBUaGUgZmlyc3QgaXMgYSBTaG93RGVsYXkgb3B0aW9uLiAgVGhlIHBvaW50 IG9mIHRoaXMgb3B0aW9uIGlzLAo+ICJJZiBib290IHRha2VzIDUgc2Vjb25kcyBvciBsZXNzLCBp dCdzIGVzc2VudGlhbGx5IGluc3RhbnQgYW5kIHdlCj4gc2hvdWxkbid0IHNob3cgYSBzcGxhc2gg YXQgYWxsIi4gIE5vdGhpbmcgdG8gZG8gd2l0aCByYWNlIGNvbmRpdGlvbnMuCj4gWW91IGNhbiBz ZXQgaXQgdG8gMCBpZiB5b3Ugd2FudC4KClRoaXMgaXMgdGhlIHNsZWVwIHRoYXQgSSBtZWFuLgoK T24gdGhlIG9uZSBoYW5kLCBpdCBpcyB0aGlzIGRlbGF5IHRoYXQgbWFrZXMgbW9zdCB1c2VycyBu b3Qgbm90aWNlIHRoZSAiYnVzeSBWUkFNIGJ1ZyIuIElmIHRoZSBEUk0gZHJpdmVyIHRoYXQgcmVw bGFjZXMgdGhlIEZCIGRyaXZlciBpcyBpbmNsdWRlZCBpbiB0aGUgaW5pdHJhbWZzLCB0aGVuIGlu IG1vc3QgY2FzZXMsIGl0IHdpbGwgYmUgbG9hZGVkIGJlZm9yZSB0aGUgNSBzZWNvbmRzIGFyZSB1 cC4gSG93ZXZlciwgaWYgdGhlIGRyaXZlciBpcyBsb2FkZWQgYWZ0ZXIgdGhlc2UgNSBzZWNvbmRz IGhhdmUgZWxhcHNlZCwgdGhlbiBQbHltb3V0aCB3aWxsIGhhdmUgb3BlbmVkIC9kZXYvZmIwIGFu ZCB0aGUgbW9kcHJvYmUgZmFpbHMuCgpUaGlzIHNsZWVwIGluIFBseW1vdXRoLCBjb21iaW5lZCB3 aXRoIERSTSBkcml2ZXJzIGJlaW5nIGluY2x1ZGVkIGluIHRoZSBpbml0cmFtZnMsIGp1c3QgaGFw cGVucyB0byB3b3JrIGFyb3VuZCB0aGUgYnVnIG9uIG1vc3Qgc3lzdGVtcy4KCk9uIHRoZSBvdGhl ciBoYW5kLCB3aGF0IGlzIHRoZSBtb3RpdmF0aW9uIGZvciB0aGlzIGRlbGF5PyBJZiBQbHltb3V0 aCB3ZXJlIHRvIGRpc3BsYXkgdGhlIHNwbGFzaCBpbnN0YW50bHkgb24gYSBzeXN0ZW0gdGhhdCBu ZWVkcyAwLjUgc2Vjb25kcyB0byBib290LCB0aGVuIHRoZSBzcGxhc2ggd291bGQgZmxhc2ggZm9y IDAuNSBzZWNvbmRzLiBCdXQgd2l0aCB0aGUgZGVsYXksIGEgc3lzdGVtIHRoYXQgbmVlZHMgNS41 IHNlY29uZHMgdG8gYm9vdCB3aWxsIGFsc28gZmxhc2ggaXQgZm9yIDAuNSBzZWNvbmRzLiBFaXRo ZXIgd2F5LCB0aGUgc3BsYXNoIHdpbGwganVzdCBmbGFzaCBmb3IgYSBtb21lbnQuIFRoZSBkZWxh eSBvbmx5IGNoYW5nZXMgd2hpY2ggc3lzdGVtcyBhcmUgYWZmZWN0ZWQuIEhvd2V2ZXIsIGlmIHlv dSBzZXQgdGhlIGRlbGF5IHRvIDAsIHlvdSdsbCBydW4gaW50byB0aGUgYnVnIEkgZGVzY3JpYmVk IGFib3ZlLiBUaGlzIGlzIGEgZGVzaWduIHByb2JsZW0sIGhpZGRlbiBieSBhIG5lZWRsZXNzIGRl bGF5LgoKCj4gMikgVGhlIHNlY29uZCBpcyBEZXZpY2VUaW1lb3V0IG9wdGlvbi4gIFRoZSBwb2lu dCBvZiB0aGlzIG9wdGlvbiBpcyB0bwo+IGRlY2lkZSBob3cgbG9uZyB0byB3YWl0IGZvciB1ZGV2 IGNvbGRwbHVnIHRvIGZpbmlzaC4gIEl0J3MgbW9zdGx5Cj4gcmVsZXZhbnQgZm9yIHN5c3RlbXMg dGhhdCBkb24ndCBoYXZlIGttcyBkcml2ZXJzLiAgVGhlIHBvaW50IGlzIGF0Cj4gc29tZXBvaW50 IGR1cmluZyBib290IHdlIG5lZWQgdG8gZGVjaWRlIHRvIHN0b3Agd2FpdGluZyBmb3IgYSBkcm0K PiBkZXZpY2UgdG8gc2hvdyB1cCBhbmQganVzdCBmYWxsYmFjayB0byBzaG93aW5nIGdyYXBoaWNz IHVzaW5nCj4gbGVnYWN5IGludGVyZmFjZXMgKGxpa2UgL2Rldi9mYikuICBXZSB1c2VkIHRvIHdh aXQgdW50aWwgdGhlIHVkZXYKPiBxdWV1ZSB3ZW50IGVtcHR5LCBidXQgdGhhdCdzIGVycm9yIHBy b25lIHNpbmNlIGl0IGdldHMgY2xlYXJlZCB3aGVuCj4gdGhlIHJvb3QgaXMgc3dpdGNoZWQuICBT ZWUKPiAKPiBodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9hcmNoaXZlcy9zeXN0ZW1kLWRl dmVsLzIwMTUtTWFyY2gvMDI5MTg0Lmh0bWwKCkkga25vdyB0aGlzIHRocmVhZC4KCkluIHRoZSB2 ZXJ5IGVtYWlsIHlvdSBsaW5rZWQsIFRvbSBleHBsYWlucyB0aGF0ICJ0aGUgdWRldiBxdWV1ZSBp cyBlbXB0eSIgaXMgTk9UIGEgd2F5IHRvIHNlbnNlIHRoYXQgInVkZXYgY29sZHBsdWcgaXMgY29t cGxldGUiOgoiSnVzdCB0byBzdHJlc3MgdGhpcyBhZ2FpbjogdGhlIGFzc3VtcHRpb25zIHBseW1v dXRoIG1ha2VzIGhlcmUgYXJlIGludmFsaWQuIgoKSW4gZmFjdCwgdGhlcmUgaXMgbm8gd2F5IHRv IGtub3cgdGhpcy4gRFJNIGRldmljZXMgdGhhdCByZXBsYWNlIGdlbmVyaWMgRkIgZGV2aWNlcyBj YW4gYXBwZWFyIGF0IGFueSB0aW1lLiBBbmQgdGhlIHNvbHV0aW9uIHRvIHRoaXMgaXMgdG8gaW1w bGVtZW50IGEgdGltZW91dD8gVGhpcyBtYWtlcyB6ZXJvIHNlbnNlLiBJdCBicmVha3Mgd2l0aCBh bnkgZnVuZGFtZW50YWwgcmVhc29uaW5nIG9mIGNvbmN1cnJlbmN5LiBBcyBmYXIgYXMgSSBjYW4g c2VlLCBQbHltb3V0aCBkb2Vzbid0IHVuZGVyc3RhbmQgY29uY3VycmVuY3kuCgoKU28gaWYgeW91 IGhhdmUgYSBjYXNlIHdoZXJlOgoKMS4gcGx5bW91dGggZGVhY3RpdmF0ZQoyLiBYb3JnIHN0YXJ0 cwozLiBwbHltb3V0aCB0aGlua3MgImNvbGRwbHVnIGNvbXBsZXRlIgo0LiBwbHltb3V0aCBjYWxs cyBWVF9TRVRNT0RFCgouLi55b3UncmUgY2xlYXJseSBkb2luZyBzb21ldGhpbmcgdmVyeSwgdmVy eSB3cm9uZyBiZWNhdXNlIHlvdSdyZSBpZ25vcmluZyB0aGUgImRlYWN0aXZhdGUiIGNvbW1hbmQu CgoKSWYgdGhpcyBoYXMgYmVlbiB0cnVseSBmaXhlZCBpbiB0aGUgbWVhbnRpbWUsIHBsZWFzZSBp Z25vcmUgaXQuCgoKPj4gU28gc29tZSBpc3N1ZXMgYXJlIGhhcmQgdG8gZml4LCBvdGhlcnMgYXJl IGltcG9zc2libGUgdG8gZml4IGluIHVzZXJzcGFjZS4KPiBJJ20gbm90IGNvbnZpbmNlZCB0aGVy ZSBhcmUgYW55IGluc3VybW91bnRhYmxlIHByb2JsZW1zIGhlcmUuLi4KPiAKPiBPbmUgdGhpbmcg aSdkIGxpa2UgdG8gZG8gaXMgY2hhbmdlIGJvb3QgdG8gbm90IG1hcCBmYmNvbiBhdCBmaXJzdCwg YW5kCj4gb25seSBtYXAgaXQgaW4gb24gdGhlIGZseSB3aGVuIHRoZSB1c2VyIGhpdHMgZXNjYXBl LCBvciBhZnRlciBib290Cj4gZmluaXNoZXMuICBsaWtlLCBmb3IgaW5zdGFuY2UsIHRyeSBib290 aW5nIHdpdGggZmJjb249dmM6MiBvcgo+IGZiY29uPW1hcDo5IHRvIHNlZSBob3cgaXQgaW1wcm92 ZXMgdGhlIGJvb3QgZXhwZXJpZW5jZS4KVGhpcyBkb2Vzbid0IHRvdWNoIHVwb24gYW55IG9mIHRo ZSBwcm9ibGVtcyB0aGF0IEkndmUgZGVzY3JpYmVkLCBhbmQgb25seSBzZXJ2ZXMgdG8gaW50cm9k dWNlIGFkZGl0aW9uYWwgZmFpbHVyZSBwb2ludHMuCgoKVGhlIHJlYXNvbiB3aHkgSSB3cm90ZSB0 aGUga2VybmVsIHNwbGFzaCBpcyB0aGF0IGl0J3MgZm9vbHByb29mLgpJdCBkb2Vzbid0IG5lZWQg dGhlc2UgaGFja3MgdGhhdCBqdXN0IGtlZXAgcGlsaW5nIHVwLgpObyBzbGVlcHMuIE5vIHJlbWFw cGluZyBvZiBjb25zb2xlcy4gTm8gcmFjZXMuIE5vIGZpZ2h0cy4gTm8gbm90aGluZy4KClRoaXMg aXMgd2h5IEkgc3RhcnRlZCBpdC4KCgoKTWF4Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3Rz LmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xp c3RpbmZvL2RyaS1kZXZlbAo=