From mboxrd@z Thu Jan 1 00:00:00 1970 From: Peng Fan Subject: Re: [RFC 0/5] xen/arm: support big.little SoC Date: Thu, 22 Sep 2016 18:09:36 +0800 Message-ID: <20160922100934.GA22546@linux-u7w5.ap.freescale.net> References: <39623498-bb30-4ff7-f075-219487a5afbb@arm.com> <6bd7d587-f9ba-c3bf-db96-46a2958d9e5b@arm.com> <1ae3ca04-2fdd-531f-7cb1-0b3ab80feccb@arm.com> <20160922064928.GB19448@linux-u7w5.ap.freescale.net> <1474534223.4393.320.camel@citrix.com> <20160922092744.GA22134@linux-u7w5.ap.freescale.net> <3403152f-4d3b-bd1d-3c64-e23f534c92fd@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <3403152f-4d3b-bd1d-3c64-e23f534c92fd@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: George Dunlap Cc: Juergen Gross , Peng Fan , Stefano Stabellini , Steve Capper , George Dunlap , Andrew Cooper , Dario Faggioli , Punit Agrawal , "xen-devel@lists.xen.org" , Julien Grall , Jan Beulich List-Id: xen-devel@lists.xenproject.org T24gVGh1LCBTZXAgMjIsIDIwMTYgYXQgMTA6NTE6MDRBTSArMDEwMCwgR2VvcmdlIER1bmxhcCB3 cm90ZToKPk9uIDIyLzA5LzE2IDEwOjI3LCBQZW5nIEZhbiB3cm90ZToKPj4gT24gVGh1LCBTZXAg MjIsIDIwMTYgYXQgMTA6NTA6MjNBTSArMDIwMCwgRGFyaW8gRmFnZ2lvbGkgd3JvdGU6Cj4+PiBP biBUaHUsIDIwMTYtMDktMjIgYXQgMTQ6NDkgKzA4MDAsIFBlbmcgRmFuIHdyb3RlOgo+Pj4+IE9u IFdlZCwgU2VwIDIxLCAyMDE2IGF0IDA4OjExOjQzUE0gKzAxMDAsIEp1bGllbiBHcmFsbCB3cm90 ZToKPj4+Pj4KPj4+Pj4gSGkgU3RlZmFubywKPj4+Pj4KPj4+Pj4gT24gMjEvMDkvMjAxNiAxOTox MywgU3RlZmFubyBTdGFiZWxsaW5pIHdyb3RlOgo+Pj4+Pj4KPj4+Pj4+IE9uIFdlZCwgMjEgU2Vw IDIwMTYsIEp1bGllbiBHcmFsbCB3cm90ZToKPj4+Pj4+Pgo+Pj4+Pj4+IChDQyBhIGNvdXBsZSBv ZiBBUk0gZm9sa3MpCj4+Pj4+Pj4KPj4+Pj4+PiBPbiAyMS8wOS8xNiAxMToyMiwgR2VvcmdlIER1 bmxhcCB3cm90ZToKPj4+Pj4+Pj4KPj4+Pj4+Pj4gT24gMjEvMDkvMTYgMTE6MDksIEp1bGllbiBH cmFsbCB3cm90ZToKPj4+Pj4+Pj4+Cj4+Pj4+Pj4+Pgo+Pj4+Pj4+Pj4KPj4+Pj4+Pj4+IE9uIDIw LzA5LzE2IDIxOjE3LCBTdGVmYW5vIFN0YWJlbGxpbmkgd3JvdGU6Cj4+Pj4+Pj4+Pj4KPj4+Pj4+ Pj4+PiBPbiBUdWUsIDIwIFNlcCAyMDE2LCBKdWxpZW4gR3JhbGwgd3JvdGU6Cj4+Pj4+Pj4+Pj4+ Cj4+Pj4+Pj4+Pj4+IEhpIFN0ZWZhbm8sCj4+Pj4+Pj4+Pj4+Cj4+Pj4+Pj4+Pj4+IE9uIDIwLzA5 LzIwMTYgMjA6MDksIFN0ZWZhbm8gU3RhYmVsbGluaSB3cm90ZToKPj4+Pj4+Pj4+Pj4+Cj4+Pj4+ Pj4+Pj4+PiBPbiBUdWUsIDIwIFNlcCAyMDE2LCBKdWxpZW4gR3JhbGwgd3JvdGU6Cj4+Pj4+Pj4+ Pj4+Pj4KPj4+Pj4+Pj4+Pj4+PiBIaSwKPj4+Pj4+Pj4+Pj4+Pgo+Pj4+Pj4+Pj4+Pj4+IE9uIDIw LzA5LzIwMTYgMTI6MjcsIEdlb3JnZSBEdW5sYXAgd3JvdGU6Cj4+Pj4+Pj4+Pj4+Pj4+Cj4+Pj4+ Pj4+Pj4+Pj4+IE9uIFR1ZSwgU2VwIDIwLCAyMDE2IGF0IDExOjAzIEFNLCBQZW5nIEZhbgo+Pj4+ Pj4+Pj4+Pj4+PiA8dmFuLmZyZWVuaXhAZ21haWwuY29tPgo+Pj4+Pj4+Pj4+Pj4+PiB3cm90ZToK Pj4+Pj4+Pj4+Pj4+Pj4+Cj4+Pj4+Pj4+Pj4+Pj4+PiBPbiBUdWUsIFNlcCAyMCwgMjAxNiBhdCAw Mjo1NDowNkFNICswMjAwLCBEYXJpbwo+Pj4+Pj4+Pj4+Pj4+Pj4gRmFnZ2lvbGkKPj4+Pj4+Pj4+ Pj4+Pj4+IHdyb3RlOgo+Pj4+Pj4+Pj4+Pj4+Pj4+Cj4+Pj4+Pj4+Pj4+Pj4+Pj4gT24gTW9uLCAy MDE2LTA5LTE5IGF0IDE3OjAxIC0wNzAwLCBTdGVmYW5vCj4+Pj4+Pj4+Pj4+Pj4+Pj4gU3RhYmVs bGluaSB3cm90ZToKPj4+Pj4+Pj4+Pj4+Pj4+Pj4KPj4+Pj4+Pj4+Pj4+Pj4+Pj4gT24gVHVlLCAy MCBTZXAgMjAxNiwgRGFyaW8gRmFnZ2lvbGkgd3JvdGU6Cj4+Pj4+Pj4+Pj4+Pj4+PiBJJ2QgbGlr ZSB0byBhZGQgYSBjb21wdXRpbmcgY2FwYWJpbGl0eSBpbgo+Pj4+Pj4+Pj4+Pj4+Pj4geGVuL2Fy bSwgbGlrZSB0aGlzOgo+Pj4+Pj4+Pj4+Pj4+Pj4KPj4+Pj4+Pj4+Pj4+Pj4+IHN0cnVjdCBjb21w dXRlX2NhcGF0aWxpYnkKPj4+Pj4+Pj4+Pj4+Pj4+IHsKPj4+Pj4+Pj4+Pj4+Pj4+ID8/IGNoYXIg KmNvcmVfbmFtZTsKPj4+Pj4+Pj4+Pj4+Pj4+ID8/IHVpbnQzMl90IHJhbms7Cj4+Pj4+Pj4+Pj4+ Pj4+PiA/PyB1aW50MzJfdCBjcHVfcGFydG51bTsKPj4+Pj4+Pj4+Pj4+Pj4+IH07Cj4+Pj4+Pj4+ Pj4+Pj4+Pgo+Pj4+Pj4+Pj4+Pj4+Pj4gc3RydWN0IGNvbXB1dGVfY2FwYXRpbGlieSBjYz0KPj4+ Pj4+Pj4+Pj4+Pj4+IHsKPj4+Pj4+Pj4+Pj4+Pj4+ID8/eyJBNzIiLCA0LCAweGQwOH0sCj4+Pj4+ Pj4+Pj4+Pj4+PiA/P3siQTU3IiwgMywgMHh4eHh9LAo+Pj4+Pj4+Pj4+Pj4+Pj4gPz97IkE1MyIs IDIsIDB4ZDAzfSwKPj4+Pj4+Pj4+Pj4+Pj4+ID8/eyJBMzUiLCAxLCAuLi59LAo+Pj4+Pj4+Pj4+ Pj4+Pj4gfQo+Pj4+Pj4+Pj4+Pj4+Pj4KPj4+Pj4+Pj4+Pj4+Pj4+IFRoZW4gd2hlbiBpZGVudGlm eSBjcHUsIHdlIGRlY2lkZSB3aGljaCBjcHUgaXMKPj4+Pj4+Pj4+Pj4+Pj4+IGJpZyBhbmQgd2hp Y2gKPj4+Pj4+Pj4+Pj4+Pj4+IGNwdSBpcwo+Pj4+Pj4+Pj4+Pj4+Pj4gbGl0dGxlCj4+Pj4+Pj4+ Pj4+Pj4+PiBhY2NvcmRpbmcgdG8gdGhlIGNvbXB1dGluZyByYW5rLgo+Pj4+Pj4+Pj4+Pj4+Pj4K Pj4+Pj4+Pj4+Pj4+Pj4+IEFueSBjb21tZW50cz8KPj4+Pj4+Pj4+Pj4+Pj4KPj4+Pj4+Pj4+Pj4+ Pj4gSSB0aGluayB3ZSBkZWZpbml0ZWx5IG5lZWQgdG8gaGF2ZSBYZW4gaGF2ZSBzb21lCj4+Pj4+ Pj4+Pj4+Pj4+IGtpbmQgb2YgaWRlYQo+Pj4+Pj4+Pj4+Pj4+PiB0aGUKPj4+Pj4+Pj4+Pj4+Pj4g b3JkZXIgYmV0d2VlbiBwcm9jZXNzb3JzLCBzbyB0aGF0IHRoZSB1c2VyCj4+Pj4+Pj4+Pj4+Pj4+ IGRvZXNuJ3QgbmVlZCB0bwo+Pj4+Pj4+Pj4+Pj4+PiBmaWd1cmUgb3V0Cj4+Pj4+Pj4+Pj4+Pj4+ IHdoaWNoIGNsYXNzIC8gcG9vbCBpcyBiaWcgYW5kIHdoaWNoIHBvb2wgaXMKPj4+Pj4+Pj4+Pj4+ Pj4gTElUVExFLj8/Pz9XaGV0aGVyCj4+Pj4+Pj4+Pj4+Pj4+IHRoaXMKPj4+Pj4+Pj4+Pj4+Pj4g c29ydAo+Pj4+Pj4+Pj4+Pj4+PiBvZiBlbnVtZXJhdGlvbiBpcyB0aGUgYmVzdCB3YXkgdG8gZG8g dGhhdCBJJ2xsCj4+Pj4+Pj4+Pj4+Pj4+IGxldCBKdWxpZW4gYW5kCj4+Pj4+Pj4+Pj4+Pj4+IFN0 ZWZhbm8KPj4+Pj4+Pj4+Pj4+Pj4gZ2l2ZSB0aGVpciBvcGluaW9uLgo+Pj4+Pj4+Pj4+Pj4+Cj4+ Pj4+Pj4+Pj4+Pj4gSSBkb24ndCB0aGluayBhbiBoYXJkY29kZWQgbGlzdCBvZiBwcm9jZXNzb3Ig aW4gWGVuCj4+Pj4+Pj4+Pj4+Pj4gaXMgdGhlIHJpZ2h0Cj4+Pj4+Pj4+Pj4+Pj4gc29sdXRpb24u Cj4+Pj4+Pj4+Pj4+Pj4gVGhlcmUgYXJlIG1hbnkgZXhpc3RpbmcgcHJvY2Vzc29ycyBhbmQgY29t YmluYXRpb25zCj4+Pj4+Pj4+Pj4+Pj4gZm9yIGJpZy5MSVRUTEUKPj4+Pj4+Pj4+Pj4+PiBzbyBp dAo+Pj4+Pj4+Pj4+Pj4+IHdpbGwKPj4+Pj4+Pj4+Pj4+PiBuZWFybHkgYmUgaW1wb3NzaWJsZSB0 byBrZWVwIHVwZGF0ZWQuCj4+Pj4+Pj4+Pj4+Pj4KPj4+Pj4+Pj4+Pj4+PiBJIHdvdWxkIGV4cGVj dCB0aGUgZmlybXdhcmUgdGFibGUgKGRldmljZSB0cmVlLAo+Pj4+Pj4+Pj4+Pj4+IEFDUEkpIHRv IHByb3ZpZGUKPj4+Pj4+Pj4+Pj4+PiByZWxldmFudAo+Pj4+Pj4+Pj4+Pj4+IGRhdGEKPj4+Pj4+ Pj4+Pj4+PiBmb3IgZWFjaCBwcm9jZXNzb3IgYW5kIGRpZmZlcmVudGlhdGUgYmlnIGZyb20KPj4+ Pj4+Pj4+Pj4+PiBMSVRUTEUgY29yZS4KPj4+Pj4+Pj4+Pj4+PiBOb3RlIHRoYXQgSSBoYXZlbid0 IGxvb2tlZCBhdCBpdCBmb3Igbm93LiBBIGdvb2QKPj4+Pj4+Pj4+Pj4+PiBwbGFjZSB0byBzdGFy dCBpcwo+Pj4+Pj4+Pj4+Pj4+IGxvb2tpbmcKPj4+Pj4+Pj4+Pj4+PiBhdAo+Pj4+Pj4+Pj4+Pj4+ IGhvdyBMaW51eCBkb2VzLgo+Pj4+Pj4+Pj4+Pj4KPj4+Pj4+Pj4+Pj4+IFRoYXQncyByaWdodCwg c2VlCj4+Pj4+Pj4+Pj4+PiBEb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvYXJtL2Nw dXMudHh0LiBJdAo+Pj4+Pj4+Pj4+Pj4gaXMKPj4+Pj4+Pj4+Pj4+IHRyaXZpYWwgdG8gaWRlbnRp ZnkgdGhlIHR3byBkaWZmZXJlbnQgQ1BVIGNsYXNzZXMgYW5kCj4+Pj4+Pj4+Pj4+PiB3aGljaCBj b3Jlcwo+Pj4+Pj4+Pj4+Pj4gYmVsb25nCj4+Pj4+Pj4+Pj4+PiB0byB3aGljaCBjbGFzcy50LCBh cwo+Pj4+Pj4+Pj4+Pgo+Pj4+Pj4+Pj4+PiBUaGUgY2xhc3Mgb2YgdGhlIENQVSBjYW4gYmUgZm91 bmQgZnJvbSB0aGUgTUlEUiwgdGhlcmUKPj4+Pj4+Pj4+Pj4gaXMgbm8gbmVlZCB0bwo+Pj4+Pj4+ Pj4+PiB1c2UgdGhlCj4+Pj4+Pj4+Pj4+IGRldmljZSB0cmVlL2FjcGkgZm9yIHRoYXQuIE5vdGUg dGhhdCBJIGRvbid0IHRoaW5rCj4+Pj4+Pj4+Pj4+IHRoZXJlIGlzIGFuIGVhc3kKPj4+Pj4+Pj4+ Pj4gd2F5IGluCj4+Pj4+Pj4+Pj4+IEFDUEkgKGkuZSBub3QgaW4gQU1MKSB0byBmaW5kIG91dCB0 aGUgY2xhc3MuCj4+Pj4+Pj4+Pj4+Cj4+Pj4+Pj4+Pj4+Pgo+Pj4+Pj4+Pj4+Pj4gSXQgaXMgaGFy ZGVyIHRvIGZpZ3VyZSBvdXQgd2hpY2ggb25lIGlzIHN1cHBvc2VkIHRvCj4+Pj4+Pj4+Pj4+PiBi ZQo+Pj4+Pj4+Pj4+Pj4gYmlnIGFuZCB3aGljaCBvbmUgTElUVExFLiBSZWdhcmRsZXNzLCB3ZSBj b3VsZAo+Pj4+Pj4+Pj4+Pj4gZGVmYXVsdCB0byB1c2luZyB0aGUKPj4+Pj4+Pj4+Pj4+IGZpcnN0 IGNsdXN0ZXIgKHVzdWFsbHkgYmlnKSwgd2hpY2ggaXMgYWxzbyB0aGUKPj4+Pj4+Pj4+Pj4+IGNs dXN0ZXIgb2YgdGhlIGJvb3QKPj4+Pj4+Pj4+Pj4+IGNwdSwKPj4+Pj4+Pj4+Pj4+IGFuZCB1dGls aXplIHRoZSBzZWNvbmQgY2x1c3RlciBvbmx5IHdoZW4gdGhlIHVzZXIKPj4+Pj4+Pj4+Pj4+IGRl bWFuZHMgaXQuCj4+Pj4+Pj4+Pj4+Cj4+Pj4+Pj4+Pj4+IFdoeSBkbyB5b3UgdGhpbmsgdGhlIGJv b3QgQ1BVIHdpbGwgdXN1YWxseSBiZSBhIGJpZwo+Pj4+Pj4+Pj4+PiBvbmU/IEluIHRoZSBjYXNl Cj4+Pj4+Pj4+Pj4+IG9mIEp1bm8KPj4+Pj4+Pj4+Pj4gcGxhdGZvcm0gaXQgaXMgY29uZmlndXJh YmxlLCBhbmQgdGhlIGJvb3QgQ1BVIGlzIGEKPj4+Pj4+Pj4+Pj4gbGl0dGxlIGNvcmUgb24gcjIK Pj4+Pj4+Pj4+Pj4gYnkKPj4+Pj4+Pj4+Pj4gZGVmYXVsdC4KPj4+Pj4+Pj4+Pj4KPj4+Pj4+Pj4+ Pj4gSW4gYW55IGNhc2UsIHdoYXQgd2UgY2FyZSBhYm91dCBpcyBkaWZmZXJlbnRpYXRlCj4+Pj4+ Pj4+Pj4+IGJldHdlZW4gdHdvIHNldCBvZgo+Pj4+Pj4+Pj4+PiBDUFVzLiBJCj4+Pj4+Pj4+Pj4+ IGRvbid0IHRoaW5rIFhlbiBzaG91bGQgY2FyZSBhYm91dCBtaWdyYXRpbmcgYSBndWVzdAo+Pj4+ Pj4+Pj4+PiB2Q1BVIGJldHdlZW4gYmlnCj4+Pj4+Pj4+Pj4+IGFuZAo+Pj4+Pj4+Pj4+PiBMSVRU TEUgY3B1cy4gU28gSSBhbSBub3Qgc3VyZSB3aHkgd2Ugd291bGQgd2FudCB0byBrbm93Cj4+Pj4+ Pj4+Pj4+IHRoYXQuCj4+Pj4+Pj4+Pj4KPj4+Pj4+Pj4+PiBObywgaXQgaXMgbm90IGFib3V0IG1p Z3JhdGluZyAoYXQgbGVhc3QgeWV0KS4gSXQgaXMgYWJvdXQKPj4+Pj4+Pj4+PiBnaXZpbmcgdXNl ZnVsCj4+Pj4+Pj4+Pj4gaW5mb3JtYXRpb24gdG8gdGhlIHVzZXIuIEl0IHdvdWxkIGJlIG5pY2Ug aWYgdGhlIHVzZXIgaGFkCj4+Pj4+Pj4+Pj4gdG8gY2hvb3NlCj4+Pj4+Pj4+Pj4gYmV0d2VlbiAi YmlnIiBhbmQgIkxJVFRMRSIgcmF0aGVyIHRoYW4gImNsYXNzIDB4MSIgYW5kCj4+Pj4+Pj4+Pj4g ImNsYXNzIDB4MTAwIiwgb3IKPj4+Pj4+Pj4+PiBldmVuICJBNyIgb3IgIkExNSIuCj4+Pj4+Pj4+ Pgo+Pj4+Pj4+Pj4gSSBkb24ndCB0aGluayBpdCBpcyB3aXNlIHRvIGFzc3VtZSB0aGF0IHdlIG1h eSBoYXZlIG9ubHkgMgo+Pj4+Pj4+Pj4ga2luZCBvZiBDUFVzCj4+Pj4+Pj4+PiBvbiB0aGUgcGxh dGZvcm0uIFdlIG1heSBoYXZlIG1vcmUgaW4gdGhlIGZ1dHVyZSwgaWYgc28gaG93Cj4+Pj4+Pj4+ PiB3b3VsZCB5b3UKPj4+Pj4+Pj4+IG5hbWUgdGhlbT8KPj4+Pj4+Pj4KPj4+Pj4+Pj4gSSB3b3Vs ZCBzdWdnZXN0IHRoYXQgaW50ZXJuYWxseSBYZW4gcmVjb2duaXplIGFuIGFyYml0cmFyeQo+Pj4+ Pj4+PiBudW1iZXIgb2YKPj4+Pj4+Pj4gcHJvY2Vzc29yICJjbGFzc2VzIiwgYW5kIG9yZGVyIHRo ZW0gYWNjb3JkaW5nIHRvIG1vcmUKPj4+Pj4+Pj4gcG93ZXJmdWwgLT4gbGVzcwo+Pj4+Pj4+PiBw b3dlcmZ1bC4/Pz8/VGhlbiBpZiBhdCBzb21lIHBvaW50IHNvbWVvbmUgbWFrZXMgYSBwbGF0Zm9y bQo+Pj4+Pj4+PiB3aXRoIHRocmVlCj4+Pj4+Pj4+IHByb2Nlc3NvcnMsIHlvdSBjYW4gc2F5ICJj bGFzcyAwIiwgImNsYXNzIDEiIG9yICJjbGFzcwo+Pj4+Pj4+PiAyIi4/Pz8/ImJpZyIgd291bGQK Pj4+Pj4+Pj4gYmUgYW4gYWxpYXMgZm9yICJjbGFzcyAwIiBhbmQgImxpdHRsZSIgd291bGQgYmUg YW4gYWxpYXMgZm9yCj4+Pj4+Pj4+ICJjbGFzcyAxIi4KPj4+Pj4+Pgo+Pj4+Pj4+IEFzIG1lbnRp b25lZCBlYXJsaWVyLCB0aGVyZSBpcyBubyB1cHN0cmVhbWVkIHlldCBkZXZpY2UgdHJlZQo+Pj4+ Pj4+IGJpbmRpbmdzIHRvIGtub3cKPj4+Pj4+PiB0aGUgInBvd2VyIiBvZiBhIENQVSAoc2VlIFsx XQo+Pj4+Pj4+Cj4+Pj4+Pj4+Cj4+Pj4+Pj4+Cj4+Pj4+Pj4+IEFuZCBpbiBteSBzdWdnZXN0aW9u LCB3ZSBhbGxvdyBhIHJpY2hlciBzZXQgb2YgbGFiZWxzLCBzbwo+Pj4+Pj4+PiB0aGF0IHRoZSB1 c2VyCj4+Pj4+Pj4+IGNvdWxkIGFsc28gYmUgbW9yZSBzcGVjaWZpYyAtLSBlLmcuLCBhc2tpbmcg Zm9yICJBMTUiCj4+Pj4+Pj4+IHNwZWNpZmljYWxseSwgZm9yCj4+Pj4+Pj4+IGV4YW1wbGUsIGFu ZCBmYWlsaW5nIHRvIGJ1aWxkIGlmIHRoZXJlIGFyZSBubyBBMTUgY29yZXMKPj4+Pj4+Pj4gcHJl c2VudCwgd2hpbGUKPj4+Pj4+Pj4gYWxsb3dpbmcgdXNlcnMgdG8gc2ltcGx5IHdyaXRlICJiaWci IG9yICJsaXR0bGUiIGlmIHRoZXkgd2FudAo+Pj4+Pj4+PiBzaW1wbGljaXR5Cj4+Pj4+Pj4+IC8g dGhpbmdzIHdoaWNoIHdvcmsgYWNyb3NzIGRpZmZlcmVudCBwbGF0Zm9ybXMuCj4+Pj4+Pj4KPj4+ Pj4+PiBXZWxsLCBiZWZvcmUgdHJ5aW5nIHRvIGRvIHNvbWV0aGluZyBjbGV2ZXIgbGlrZSB0aGF0 IChpLmUKPj4+Pj4+PiBuYW1pbmcgImJpZyIgYW5kCj4+Pj4+Pj4gImxpdHRsZSIpLCB3ZSBuZWVk IHRvIGhhdmUgdXBzdHJlYW1lZCBiaW5kaW5ncyBhdmFpbGFibGUgdG8KPj4+Pj4+PiBhY2tub3ds ZWRnZSB0aGUKPj4+Pj4+PiBkaWZmZXJlbmNlLiBBRkFJQ1QsIGl0IGlzIG5vdCB5ZXQgdXBzdHJl YW1lZCBmb3IgRGV2aWNlIFRyZWUKPj4+Pj4+PiAoc2VlIFsxXSkgYW5kIEkKPj4+Pj4+PiBkb24n dCBrbm93IGFueSBzdGF0aWMgQUNQSSB0YWJsZXMgcHJvdmlkaW5nIHRoZSBzaW1pbGFyCj4+Pj4+ Pj4gaW5mb3JtYXRpb24uCj4+Pj4+Pgo+Pj4+Pj4gSSBsaWtlIEdlb3JnZSdzIGlkZWEgdGhhdCAi YmlnIiBhbmQgImxpdHRsZSIgY291bGQgYmUganVzdAo+Pj4+Pj4gY29udmVuaWVuY2UKPj4+Pj4+ IGFsaWFzZXMuIE9mIGNvdXJzZSB0aGV5IGFyZSBwcmVkaWNhdGVkIG9uIHRoZSBuZWNlc3Nhcnkg ZGV2aWNlCj4+Pj4+PiB0cmVlCj4+Pj4+PiBiaW5kaW5ncyBiZWluZyB1cHN0cmVhbS4gV2UgZG9u J3QgbmVlZCBbMV0gdG8gYmUgdXBzdHJlYW0gaW4KPj4+Pj4+IExpbnV4LCBqdXN0Cj4+Pj4+PiB0 aGUgYmluZGluZzoKPj4+Pj4+Cj4+Pj4+PiBodHRwOi8vbWFyYy5pbmZvLz9sPWxpbnV4LWFybS1r ZXJuZWwmbT0xNDczMDg1NTY3Mjk0MjYmdz0yCj4+Pj4+Pgo+Pj4+Pj4gd2hpY2ggaGFzIGFscmVh ZHkgYmVlbiBhY2tlZCBieSB0aGUgcmVsZXZhbnQgbWFpbnRhaW5lcnMuCj4+Pj4+Cj4+Pj4+IFRo aXMgaXMgZGV2aWNlIHRyZWUgb25seS4gV2hhdCBhYm91dCBBQ1BJPwo+Pj4+Pgo+Pj4+Pj4KPj4+ Pj4+Cj4+Pj4+Pgo+Pj4+Pj4+Cj4+Pj4+Pj4gSSBoYWQgZmV3IGRpc2N1c3Npb25zIGFuZD8/Pz9t b3JlIHRob3VnaHQgYWJvdXQgYmlnLkxJVFRMRQo+Pj4+Pj4+IHN1cHBvcnQgaW4gWGVuLiBUaGUK Pj4+Pj4+PiBtYWluIGdvYWwgb2YgYmlnLkxJVFRMRSBpcyBwb3dlciBlZmZpY2llbmN5IGJ5IG1v dmluZyB0YXNrCj4+Pj4+Pj4gYXJvdW5kIGFuZCBiZWVuCj4+Pj4+Pj4gYWJsZSB0byBpZGxlIG9u ZSBjbHVzdGVyLiBBbGwgdGhlIHNvbHV0aW9ucyBzdWdnZXN0ZWQKPj4+Pj4+PiAoaW5jbHVkaW5n IG1pbmUpIHNvIGZhciwKPj4+Pj4+PiBjYW4gYmUgcmVwbGljYXRlZCBieSBoYW5kIChleGNlcHQg dGhlIFZQSURSKSBzbyB0aGV5IGFyZSBtb3N0bHkKPj4+Pj4+PiBhbiBhdXRvbWF0aWMKPj4+Pj4+ PiB3YXkuIFRoaXMgd2lsbCBhbHNvIHJlbW92ZSB0aGUgcmVhbCBiZW5lZml0cyBvZiBiaWcuTElU VExFCj4+Pj4+Pj4gYmVjYXVzZSBYZW4gd2lsbAo+Pj4+Pj4+IG5vdCBiZSBhYmxlIHRvIG1pZ3Jh dGUgdkNQVSBhY3Jvc3MgY2x1c3RlciBmb3IgcG93ZXIKPj4+Pj4+PiBlZmZpY2llbmN5Lgo+Pj4+ Pj4KPj4+Pj4+IFRoZSBnb2FsIG9mIHRoZSBhcmNoaXRlY3RzIG9mIGJpZy5MSVRUTEUgbWlnaHQg aGF2ZSBiZWVuIHBvd2VyCj4+Pj4+PiBlZmZpY2llbmN5LCBidXQgb2YgY291cnNlIHdlIGFyZSBm cmVlIHRvIHVzZSBhbnkgZmVhdHVyZXMgdGhhdAo+Pj4+Pj4gdGhlCj4+Pj4+PiBoYXJkd2FyZSBw cm92aWRlcyBpbiB0aGUgYmVzdCB3YXkgZm9yIFhlbiBhbmQgdGhlIFhlbiBjb21tdW5pdHkuCj4+ Pj4+Cj4+Pj4+IFRoaXMgaXMgdmVyeSBkZXBlbmRlbnQgb24gaG93IHRoZSBiaWcuTElUVExFIGhh cyBiZWVuIGltcGxlbWVudGVkCj4+Pj4+IGJ5IHRoZQo+Pj4+PiBoYXJkd2FyZS4gU29tZSBwbGF0 Zm9ybSBjYW4gbm90IHJ1biBib3RoIGJpZyBhbmQgTElUVExFIGNvcmVzIGF0Cj4+Pj4+IHRoZSBz YW1lCj4+Pj4+IHRpbWUuIFlvdSBuZWVkIGEgcHJvcGVyIHN3aXRjaCBpbiB0aGUgZmlybXdhcmUv aHlwZXJ2aXNvci4KPj4+Pj4KPj4+Pj4+Cj4+Pj4+Pgo+Pj4+Pj4+Cj4+Pj4+Pj4gSWYgd2UgY2Fy ZSBhYm91dCBwb3dlciBlZmZpY2llbmN5LCB3ZSB3b3VsZCBoYXZlIHRvIGhhbmRsZQo+Pj4+Pj4+ IHNlYW1sZXNzbHkKPj4+Pj4+PiBiaWcuTElUVExFIGluIFhlbiAoaS5lIGEgZ3Vlc3Mgd291bGQg b25seSBzZWUgYSBraW5kIG9mIENQVSkuCj4+Pj4+Pj4gVGhpcyBhcmlzZSBxdWl0ZQo+Pj4+Pj4+ IGZldyBwcm9ibGVtLCBub3RoaW5nIGluc3VybW91bnRhYmxlLCBzaW1pbGFyIHRvIG1pZ3JhdGlv bgo+Pj4+Pj4+IGFjcm9zcyB0d28gcGxhdGZvcm1zCj4+Pj4+Pj4gd2l0aCBkaWZmZXJlbnQgbWlj cm8tYXJjaGl0ZWN0dXJlIChlLmcgcHJvY2Vzc29ycyk6IGVycmF0YSwKPj4+Pj4+PiBmZWF0dXJl cwo+Pj4+Pj4+IHN1cHBvcnRlZC4uLiBUaGUgZ3Vlc3Qgd291bGQgaGF2ZSB0byBrbm93IHRoZSB1 bmlvbiBvZiBhbGwgdGhlCj4+Pj4+Pj4gZXJyYXRhICh0aGlzIGlzCj4+Pj4+Pj4gZG9uZSBzbyBm YXIgdmlhIHRoZSBNSURSLCBzbyB3ZSB3b3VsZCBhIFBWIHdheSB0byBkbyBpdCksIGFuZAo+Pj4+ Pj4+IG9ubHkgdGhlCj4+Pj4+Pj4gaW50ZXJzZWN0aW9uIG9mIGZlYXR1cmVzIHdvdWxkIGJlIGV4 cG9zZWQgdG8gdGhlIGd1ZXN0LiBUaGlzCj4+Pj4+Pj4gYWxzbyBtZWFucyB0aGUKPj4+Pj4+PiBz Y2hlZHVsZXIgd291bGQgaGF2ZSB0byBiZSBtb2RpZmllZCB0byBoYW5kbGUgcG93ZXIgZWZmaWNp ZW5jeQo+Pj4+Pj4+IChub3Qgc3RyaWN0bHkKPj4+Pj4+PiBuZWNlc3NhcnkgYXQgdGhlIGJlZ2lu bmluZykuCj4+Pj4+Pj4KPj4+Pj4+PiBJIGFncmVlIHRoYXQgYSBzdWNoIHNvbHV0aW9uIHdvdWxk IHJlcXVpcmUgc29tZSB3b3JrIHRvCj4+Pj4+Pj4gaW1wbGVtZW50LCBhbHRob3VnaAo+Pj4+Pj4+ IFhlbiB3aWxsIGhhdmUgYSBiZXR0ZXIgY29udHJvbCBvZiB0aGUgZW5lcmd5IGNvbnN1bXB0aW9u IG9mIHRoZQo+Pj4+Pj4+IHBsYXRmb3JtLgo+Pj4+Pj4+Cj4+Pj4+Pj4gU28gdGhlIHF1ZXN0aW9u IGhlcmUsIGlzIHdoYXQgZG8gd2Ugd2FudCB0byBhY2hpZXZlIHdpdGgKPj4+Pj4+PiBiaWcuTElU VExFPwo+Pj4+Pj4KPj4+Pj4+IEkgZG9uJ3QgdGhpbmsgdGhhdCBoYW5kbGluZyBzZWFtbGVzc2x5 IGJpZy5MSVRUTEUgaW4gWGVuIGlzIHRoZQo+Pj4+Pj4gYmVzdCB3YXkKPj4+Pj4+IHRvIGRvIGl0 IGluIHRoZSBzY2VuYXJpb3Mgd2hlcmUgWGVuIG9uIEFSTSBpcyBiZWluZyB1c2VkIHRvZGF5LiBJ Cj4+Pj4+PiB1bmRlcnN0YW5kIHRoZSBwcmluY2lwbGVzIGJlaGluZCBpdCwgYnV0IEkgZG9uJ3Qg dGhpbmsgdGhhdCBpdAo+Pj4+Pj4gd2lsbCBsZWFkCj4+Pj4+PiB0byBnb29kIHJlc3VsdHMgaW4g YSB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudCwgd2hlcmUgdGhlcmUgaXMgbW9yZQo+Pj4+Pj4gYWN0 aXZpdHkgYW5kIG1vcmUgdmNwdXMgdGhhbiBwY3B1cy4KPj4+Pj4KPj4+Pj4gQ2FuIHlvdSBkZXRh aWwgd2h5IHlvdSBkb24ndCB0aGluayBpdCB3aWxsIGdpdmUgZ29vZCByZXN1bHRzPwo+Pj4+Pgo+ Pj4+Pj4KPj4+Pj4+Cj4+Pj4+PiBXaGF0IHdlIGRpc2N1c3NlZCBpbiB0aGlzIHRocmVhZCBzbyBm YXIgaXMgYWN0aW9uYWJsZSwgYW5kIGdpdmVzCj4+Pj4+PiB1cwo+Pj4+Pj4gYmlnLkxJVFRMRSBz dXBwb3J0IGluIGEgc2hvcnQgdGltZSBmcmFtZS4gSXQgaXMgYSBnb29kIGZpdCBmb3IKPj4+Pj4+ IFhlbiBvbgo+Pj4+Pj4gQVJNIHVzZSBjYXNlcyBhbmQgc3RpbGwgbGVhZHMgdG8gbG93ZXIgcG93 ZXIgY29uc3VtcHRpb24gd2l0aCBhbgo+Pj4+Pj4gd2lzZQo+Pj4+Pj4gYWxsb2NhdGlvbiBvZiBi aWcgYW5kIExJVFRMRSB2Y3B1cyBhbmQgcGNwdXMgdG8gZ3Vlc3RzLgo+Pj4+Pgo+Pj4+PiBIb3cg dGhpcyB3b3VsZCBsZWFkIHRvIGxvd2VyIHBvd2VyIGNvbnN1bXB0aW9uPyBJZiB0aGVyZSBpcyBu b3RoaW5nCj4+Pj4+IHJ1bm5pbmcKPj4+Pj4gb2YgdGhlIHByb2Nlc3NvciB3ZSB3b3VsZCBoYXZl IGEgd2ZpIGxvb3Agd2hpY2ggd2lsbCBuZXZlciBwdXQgdGhlCj4+Pj4+IHBoeXNpY2FsCj4+Pj4+ IENQVSBpbiBkZWVwIHNsZWVwLiBUaGUgbWFpbiBhZHZhbnRhZ2Ugb2YgYmlnLkxJVFRMRSBpcyB0 b28gYmUgYWJsZQo+Pj4+PiB0byBzd2l0Y2gKPj4+Pj4gb2ZmIGEgY2x1c3Rlci9jcHUgd2hlbiBp dCBpcyBub3QgdXNlZC4KPj4+Pj4KPj4+Pj4gV2l0aG91dCBhbnkga25vd2xlZGdlIGluIFhlbiAo c3VjaCBhcyBDUFUgZnJlcSksIEkgYW0gYWZyYWlkIHRoZQo+Pj4+PiB0aGUgcG93ZXIKPj4+Pj4g Y29uc3VtcHRpb24gd2lsbCBzdGlsbCBiZSB0aGUgc2FtZS4KPj4+Pj4KPj4+Pj4+Cj4+Pj4+Pgo+ Pj4+Pj4gSSB3b3VsZCBzdGFydCBmcm9tIHRoaXMgYXBwcm9hY2gsIHRoZW4gaWYgc29tZWJvZHkg Y29tZXMgYWxvbmcKPj4+Pj4+IHdpdGggYQo+Pj4+Pj4gcGxhbiB0byBpbXBsZW1lbnQgYSBiaWcu TElUVExFIHN3aXRjaGVyIGluIFhlbiwgSSB3ZWxjb21lIGhlciB0bwo+Pj4+Pj4gZG8gaXQKPj4+ Pj4+IGFuZCBJIHdvdWxkIGJlIGhhcHB5IHRvIGFjY2VwdCB0aGUgY29kZSBpbiBYZW4uIFdlJ2xs IGp1c3QgbWFrZQo+Pj4+Pj4gaXQKPj4+Pj4+IG9wdGlvbmFsLgo+Pj4+Pgo+Pj4+PiBJIHRoaW5r IHdlIGFyZSBkaXNjdXNzaW5nIGhlcmUgYSBzaW1wbGUgZGVzaWduIGZvciBiaWcuTElUVExFLiBJ Cj4+Pj4+IG5ldmVyIGFza2VkCj4+Pj4+IFBlbmcgdG8gZG8gYWxsIHRoZSB3b3JrLiBJIGFtIHdv cnJ5IHRoYXQgaWYgd2Ugc3RhcnQgdG8gZXhwb3NlIHRoZQo+Pj4+PiBiaWcuTElUVExFCj4+Pj4+ IHRvIHRoZSB1c2Vyc3BhY2UgaXQgd2lsbCBiZSBoYXJkIGluIHRoZSBmdXR1cmUgdG8gc3RlcCBi YWNrIGZyb20KPj4+Pj4gaXQuCj4+Pj4KPj4+PiBIZWxsbyBKdWxpZW4sCj4+Pj4KPj4+Pgo+Pj4+ IEkgcHJlZmVyIHRoZSBzaW1wbGUgZG9hYmxlIG1ldGhvZCwgYW5kIEFzIFN0ZWZhbm8gc2FpZCwg YWN0aW9uYWJsZS4KPj4+Pgo+Pj4gWWVwLCB0aGlzIGlzIGEgdmVyeSBnb29kIHN0YXJ0aW5nIHBv aW50LCBJTU8uCj4+Pgo+Pj4+ID8/LSBpbnRyb2R1Y2UgYSBoeXBlcmNhbGwgaW50ZXJmYWNlIHRv IGxldCB4bCBjYW4gZ2V0IHRoZSBkaWZmZXJlbnQKPj4+PiBjbGFzc2VzIGNwdSBpbmZvLgo+Pj4+ Cj4+PiArMQo+Pj4KPj4+PiA/Py0gVXNlIHZjcHVjbGFzcyBpbiB4bCBjZmcgZmlsZSB0byBsZXQg dXNlciBjcmVhdGUgZGlmZmVyZW50IHZjcHVzCj4+Pj4KPj4+IFllcC4KPj4+Cj4+Pj4gPz8tIGV4 dHJhY3QgY3B1IGNvbXB1dGluZyBjYXAgZnJvbSBkdHMgdG8gZGlmZmVyZW50aWF0ZSBjcHVzLiBB cyB5b3UKPj4+PiBzYWlkLCBiaW5kaW5ncwo+Pj4+ID8/Pz8/P25vdCB1cHN0cmVhbWVkLiBCdXQg dGhpcyBpcyBub3QgdGhlIGhhcmRwb2ludCwgd2UgY291bGQgY2hhbmdlIHRoZQo+Pj4+IGluZm8s IHdoZXRoZXIKPj4+PiA/Pz8/Pz9kbWlwcyBvciBjYXAgaW4gZnV0dXJlLgo+Pj4+Cj4+PiBZZXMg KG9yIEkgc2hvdWxkIHNheSwgIndoYXRldmVyIiwgYXMgSSBrbm93IG5vdGhpbmcgYWJvdXQgYWxs Cj4+PiB0aGlzISA6LVApCj4+Pgo+Pj4+ID8/LSB1c2UgY3B1IGhhcmQgYWZmaW5pdHkgdG8gYmxv Y2sgdmNwdSBzY2hlZHVsaW5nIGJ3dHdlZW4gbGl0dGxlIGFuZAo+Pj4+IGJpZyBwY3B1Lgo+Pj4+ Cj4+PiAidG8gYmxvY2sgdmNwdSBzY2hlZHVsaW5nIHdpdGhpbiB0aGUgc3BlY2lmaWVkIGNsYXNz ZXMsIGZvciBlYWNoIHZjcHUiCj4+Pgo+Pj4gQnV0LCBhZ2FpbiwgeWVzLgo+Pj4KPj4+PiA/Py0g YmxvY2sgdXNlciBzZXR0aW5nIHZjcHUgaGFyZCBhZmZpbml0eSBid3R3ZWVuIGJpZyBhbmQgTElU VExFLgo+Pj4+Cj4+PiAiYmV0d2VlbiB0aGUgc3BlY2lmaWVkIGNsYXNzIgo+Pj4KPj4+IEluZGVl ZC4KPj4+Cj4+Pj4gPz8tIG9ubHkgaGFyZCBhZmZpbml0eSBzZWVtcyBlbm91Z2gsIG5vIG5lZWQg c29mdCBhZmZpbml0eS4KPj4+Pgo+Pj4gQ29ycmVjdC4gSnVzdCBkb24ndCBjYXJlIGF0IGFsbCBh bmQgZG9uJ3QgdG91Y2ggc29mdCBhZmZpbml0eSBmb3Igbm93Lgo+Pj4KPj4+PiBBbnl3YXksIGZv ciB2Y3B1IHNjaGVkdWxpbmcgYnd0d2VlbiBiaWcgYW5kIExJVFRMRSwgaWYgdGhpcyBpcyB0aGUK Pj4+PiByaWdodAo+Pj4+IGRpcmVjdGlvbiBhbmQgeW91IGhhdmUgYW4gaWRlYSBvbiBob3cgdG8g aW1wbGVtZW50LCBJIGNvdWxkIGZvbGxvdwo+Pj4+IHlvdSBvbgo+Pj4+IGVuYWJsaW5nIHRoaXMg ZmVhdHVyZSB3aXRoIHlvdSBsZWFkaW5nIHRoZSB3b3JrLiBJIGRvIG5vdCBoYXZlIG11Y2gKPj4+ PiBpZGVhIG9uIHRoaXMuCj4+Pj4KPj4+IFRoaXMgY2FuIGNvbWUgbGF0ZXIsIGVpdGhlciBhcyBh biBlbmhhbmNlbWVudCBvZiB0aGlzIGFmZmluaXR5IGJhc2VkCj4+PiBzb2x1dGlvbiwgb3IgYmVp bmcgaW1wbGVtZW50ZWQgb24gdG9wIG9mIGl0Lgo+Pj4KPj4+IEluIGFueSBjYXNlLCBsZXQncyBz dGFydCB3aXRoIHRoZSBhZmZpbml0eSBiYXNlZCBzb2x1dGlvbiBmb3Igbm93LiBJdCdzCj4+PiBh IGdvb2QgbGV2ZWwgc3VwcG9ydCBhbHJlYWR5LCBhbmQgYSBuaWNlIGZpcnN0IHN0ZXAgdG93YXJk IGZ1dHVyZQo+Pj4gaW1wcm92ZW1lbnRzLgo+Pj4KPj4+IE9oLCBidHcsIHBsZWFzZSBkb24ndCB0 aHJvdyBhd2F5IHRoaXMgY3B1cG9vbCBwYXRjaCBzZXJpZXMgZWl0aGVyIQo+PiAKPj4gT2sgLTop Cj4+IAo+Pj4KPj4+IEEgZmVhdHVyZSBsaWtlIGB4bCBjcHVwb29sLWJpZ2xpdHRsZS1zcGxpdCcg Y2FuIHN0aWxsIGJlIGludGVyZXN0aW5nLAo+PiAKPj4gImNwdXBvb2wtY2x1c3Rlci1zcGxpdCIg bWF5YmUgYSBiZXR0ZXIgbmFtZT8KPgo+SSB0aGluayB3ZSBzaG91bGQgbmFtZSB0aGlzIGhvd2V2 ZXIgd2UgbmFtZSB0aGUgZGlmZmVyZW50IHR5cGVzIG9mIGNwdXMuCj4gaS5lLiwgaWYgd2UncmUg Z29pbmcgdG8gY2FsbCB0aGVzZSAiY3B1IGNsYXNzZXMiLCB0aGVuIHdlIHNob3VsZCBjYWxsCj50 aGlzICJjcHVwb29sLWNwdWNsYXNzLXNwbGl0IiBvciBzb21ldGhpbmcuCgpPay4gR290IGl0LgoK VGhhbmtzLApQZW5nLgoKPgo+IC1HZW9yZ2UKPgoKLS0gCgpfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZl bEBsaXN0cy54ZW4ub3JnCmh0dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK