From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stefano Stabellini Subject: Re: [RFC 0/5] xen/arm: support big.little SoC Date: Mon, 19 Sep 2016 13:56:52 -0700 (PDT) Message-ID: References: <1474250936-27962-1-git-send-email-peng.fan@nxp.com> <10152e13-bccb-0794-44e4-556845875e33@arm.com> <20160919083619.GA16854@linux-7smt.suse> <5ddefbc1-3bd4-c990-b615-0039761535d8@arm.com> <20160919093812.GC16854@linux-7smt.suse> <20160919131553.GB7407@linux-u7w5.ap.freescale.net> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20160919131553.GB7407@linux-u7w5.ap.freescale.net> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Peng Fan Cc: jgross@suse.com, Peng Fan , sstabellini@kernel.org, George Dunlap , andrew.cooper3@citrix.com, dario.faggioli@citrix.com, xen-devel@lists.xen.org, Julien Grall , jbeulich@suse.com List-Id: xen-devel@lists.xenproject.org T24gTW9uLCAxOSBTZXAgMjAxNiwgUGVuZyBGYW4gd3JvdGU6Cj4gT24gTW9uLCBTZXAgMTksIDIw MTYgYXQgMTE6NTk6MDVBTSArMDIwMCwgSnVsaWVuIEdyYWxsIHdyb3RlOgo+ID4KPiA+Cj4gPk9u IDE5LzA5LzIwMTYgMTE6MzgsIFBlbmcgRmFuIHdyb3RlOgo+ID4+T24gTW9uLCBTZXAgMTksIDIw MTYgYXQgMTA6NTM6NTZBTSArMDIwMCwgSnVsaWVuIEdyYWxsIHdyb3RlOgo+ID4+PkhlbGxvLAo+ ID4+Pgo+ID4+Pk9uIDE5LzA5LzIwMTYgMTA6MzYsIFBlbmcgRmFuIHdyb3RlOgo+ID4+Pj5PbiBN b24sIFNlcCAxOSwgMjAxNiBhdCAxMDowOTowNkFNICswMjAwLCBKdWxpZW4gR3JhbGwgd3JvdGU6 Cj4gPj4+Pj5IZWxsbyBQZW5nLAo+ID4+Pj4+Cj4gPj4+Pj5PbiAxOS8wOS8yMDE2IDA0OjA4LCB2 YW4uZnJlZW5peEBnbWFpbC5jb20gd3JvdGU6Cj4gPj4+Pj4+RnJvbTogUGVuZyBGYW4gPHBlbmcu ZmFuQG54cC5jb20+Cj4gPj4+Pj4+Cj4gPj4+Pj4+VGhpcyBwYXRjaHNldCBpcyB0byBzdXBwb3J0 IFhFTiBydW4gb24gYmlnLmxpdHRsZSBTb0MuCj4gPj4+Pj4+VGhlIGlkZWEgb2YgdGhlIHBhdGNo IGlzIGZyb20KPiA+Pj4+Pj4iaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9hcmNoaXZlcy9o dG1sL3hlbi1kZXZlbC8yMDE2LTA1L21zZzAwNDY1Lmh0bWwiCj4gPj4+Pj4+Cj4gPj4+Pj4+VGhl cmUgYXJlIHNvbWUgY2hhbmdlcyB0byBjcHVwb29sIGFuZCBhZGQgeDg2IHN0dWIgZnVuY3Rpb25z IHRvIGF2b2lkIGJ1aWxkCj4gPj4+Pj4+YnJlYWsuIFNlbmRpbmcgVGhlIFJGQyBwYXRjaHNldCBv dXQgaXMgdG8gcmVxdWVzdCBmb3IgY29tbWVudHMgdG8gc2VlIHdoZXRoZXIKPiA+Pj4+Pj50aGlz IGltcGxlbWVudGF0aW9uIGlzIGFjY2VwdGFibGUgb3Igbm90LiBQYXRjaHNldCBoYXZlIGJlZW4g dGVzdGVkIGJhc2VkIG9uCj4gPj4+Pj4+eGVuLTQuOCB1bnN0YWJsZSBvbiBOWFAgaS5NWDguCj4g Pj4+Pj4+Cj4gPj4+Pj4+SSB1c2UgQmlnL0xpdHRsZSBDUFUgYW5kIGNwdXBvb2wgdG8gZXhwbGFp biB0aGUgaWRlYS4KPiA+Pj4+Pj5BIHBvb2wgY29udGFpbnMgQmlnIENQVXMgaXMgY2FsbGVkIEJp ZyBQb29sLgo+ID4+Pj4+PkEgcG9vbCBjb250YWlucyBMaXR0bGUgQ1BVcyBpcyBjYWxsZWQgTGl0 dGxlIFBvb2wuCj4gPj4+Pj4+SWYgYSBwb29sIGRvZXMgbm90IGNvbnRhaW5zIGFueSBwaHlzaWNh bCBjcHVzLCBMaXR0bGUgQ1BVcyBvciBCaWcgQ1BVcwo+ID4+Pj4+PmNhbiBiZSBhZGRlZCB0byB0 aGUgY3B1cG9vbC4gQnV0IHRoZSBjcHVwb29sIGNhbiBub3QgY29udGFpbiBib3RoIExpdHRsZQo+ ID4+Pj4+PmFuZCBCaWcgQ1BVcy4gVGhlIENQVXMgaW4gYSBjcHVwb29sIG11c3QgaGF2ZSB0aGUg c2FtZSBjcHUgdHlwZShtaWRyIHZhbHVlIGZvciBBUk0pLgo+ID4+Pj4+PkNQVXMgY2FuIG5vdCBi ZSBhZGRlZCB0byB0aGUgY3B1cG9vbCB3aGljaCBjb250YWlucyBjcHVzIHRoYXQgaGF2ZSBkaWZm ZXJlbnQgY3B1IHR5cGUuCj4gPj4+Pj4+TGl0dGxlIENQVXMgY2FuIG5vdCBiZSBtb3ZlZCB0byBC aWcgUG9vbCBpZiB0aGVyZSBhcmUgQmlnIENQVXMgaW4gQmlnIFBvb2wsCj4gPj4+Pj4+YW5kIHZl cnNhLiBEb21haW4gaW4gQmlnIFBvb2wgY2FuIG5vdCBiZSBtaWdyYXRlZCB0byBMaXR0bGUgUG9v bCwgYW5kIHZlcnNhLgo+ID4+Pj4+PldoZW4gWEVOIHRyaWVzIHRvIGJyaW5ndXAgYWxsIHRoZSBD UFVzLCBvbmx5IGFkZCBDUFVzIHdpdGggdGhlIHNhbWUgY3B1IHR5cGUoc2FtZSBtaWRyIHZhbHVl KQo+ID4+Pj4+PmludG8gY3B1cG9vbDAuCj4gPj4+Pj4KPiA+Pj4+PkFzIG1lbnRpb25lZCBpbiB0 aGUgbWFpbCB5b3UgcG9pbnRlZCBhYm92ZSwgdGhpcyBzZXJpZXMgaXMgbm90IGVub3VnaCB0byBt YWtlCj4gPj4+Pj5iaWcuTElUVExFIHdvcmtpbmcgb24gdGhlbi4gWGVuIGlzIGFsd2F5cyB1c2lu ZyB0aGUgYm9vdCBDUFUgdG8gZGV0ZWN0IHRoZQo+ID4+Pj4+bGlzdCBvZiBmZWF0dXJlcy4gV2l0 aCBiaWcuTElUVExFIGZlYXR1cmVzIG1heSBub3QgYmUgdGhlIHNhbWUuCj4gPj4+Pj4KPiA+Pj4+ PkFuZCBJIHdvdWxkIHByZWZlciB0byBzZWUgWGVuIHN1cHBvcnRpbmcgYmlnLkxJVFRMRSBjb3Jy ZWN0bHkgYmVmb3JlCj4gPj4+Pj5iZWdpbm5pbmcgdG8gdGhpbmsgdG8gZXhwb3NlIGJpZy5MSVRU TEUgdG8gdGhlIHVzZXJzcGFjZSAodmlhIGNwdXBvb2wpCj4gPj4+Pj5hdXRvbWF0aWNhbGx5Lgo+ ID4+Pj4KPiA+Pj4+RG8geW91IG1lYW4gdmNwdXMgYmUgc2NoZWR1bGVkIGJldHdlZW4gYmlnIGFu ZCBsaXR0bGUgY3B1cyBmcmVlbHk/Cj4gPj4+Cj4gPj4+Qnkgc3VwcG9ydGluZyBiaWcuTElUVExF IGNvcnJlY3RseSBJIG1lYW50IFhlbiB0aGlua3MgdGhhdCBhbGwgdGhlIGNvcmVzIGhhcwo+ID4+ PnRoZSBzYW1lIHNldCBvZiBmZWF0dXJlcy4gU28gdGhlIGZlYXR1cmUgZGV0ZWN0aW9uIGlzIG9u bHkgZG9uZSB0aGUgYm9vdCBDUFUuCj4gPj4+U2VlIHByb2Nlc3Nvcl9zZXR1cCBmb3IgaW5zdGFu Y2UuLi4KPiA+Pj4KPiA+Pj5Nb3ZpbmcgdkNQVXMgYmV0d2VlbiBiaWcgYW5kIGxpdHRsZSBjb3Jl cyB3b3VsZCBiZSBhIGhhcmQgdGFzayAoY2FjaGUgbGluZQo+ID4+Pmlzc3VlLCBhbmQgcG9zc2li bHkgZmVhdHVyZSkgYW5kIEkgZG9uJ3QgZXhwZWN0IHRvIGV2ZXIgY3Jvc3MgdGhpcyBpbiBYZW4u Cj4gPj4+SG93ZXZlciwgSSBhbSBleHBlY3RpbmcgdG8gc2VlIGJpZy5MSVRUTEUgZXhwb3NlZCB0 byB0aGUgZ3Vlc3QgKGkuZSBoYXZpbmcKPiA+Pj5iaWcgYW5kIGxpdHRsZSB2Q1BVcykuCj4gPj4K PiA+PmJpZyB2Q1BVcyBzY2hlZHVsZWQgb24gYmlnIFBoeXNpY2FsIENQVXMgYW5kIGxpdHRsZSB2 Q1BVcyBzY2hlZHVsZWQgb24gbGl0dGxlCj4gPj5waHlzaWNhbCBjcHVzLCByaWdodD8KPiA+Pklm IGl0IGlzLCBpcyB0aGVyZSBpcyBhIG5lZWQgdG8gbGV0IFhlbiB0aGluayBhbGwgdGhlIGNvcmVz IGhhcyB0aGUgc2FtZSBzZXQKPiA+Pm9mIGZlYXR1cmVzPwo+ID4KPiA+SSB0aGluayB5b3UgbWlz c2VkIG15IHBvaW50LiBUaGUgZmVhdHVyZSByZWdpc3RlcnMgb24gYmlnIGFuZCBsaXR0bGUgY29y ZXMKPiA+bWF5IGJlIGRpZmZlcmVudC4gQ3VycmVudGx5LCBYZW4gaXMgcmVhZGluZyB0aGUgZmVh dHVyZSByZWdpc3RlcnMgb2YgdGhlIENQVQo+ID5ib290IGFuZCB3cm9uZ2x5IGFzc3VtZXMgdGhh dCB0aG9zZSBmZWF0dXJlcyB3aWxsIGV4aXN0cyBvbiBhbGwgQ1BVcy4gVGhpcyBpcwo+ID5ub3Qg dGhlIGNhc2UgYW5kIHNob3VsZCBiZSBmaXhlZCBiZWZvcmUgd2UgYXJlIGdldHRpbmcgaW4gdHJv dWJsZS4KPiA+Cj4gPj4KPiA+PkRldmVsb3BpbmcgYmlnLmxpdHRsZSBndWVzdCBzdXBwb3J0LCBJ IGFtIG5vdCBzdXJlIGhvdyBtdWNoIGVmZm9ydHMgbmVlZGVkLgo+ID4+SXMgdGhpcyByZWFsbHkg bmVlZGVkPwo+ID4KPiA+VGhpcyBpcyBub3QgbmVjZXNzYXJ5IGF0IHRoZSBtb21lbnQsIGFsdGhv dWdoIEkgaGF2ZSBzZWVuIHNvbWUgaW50ZXJlc3QgYWJvdXQKPiA+aXQuIFJ1bm5pbmcgYSBndWVz dCBvbmx5IG9uIGEgbGl0dGxlIGNvcmUgaXMgYSBuaWNlIGJlZ2lubmluZywgYnV0IGEgZ3Vlc3QK PiA+bWF5IHdhbnQgdG8gdGFrZSBhZHZhbnRhZ2Ugb2YgYmlnLkxJVFRMRSAocnVubmluZyBodW5n cnkgYXBwIG9uIGJpZyBvbmUgYW5kCj4gPmxpdHRsZSBvbiBzbWFsbCBvbmUpLgo+ID4KPiA+Pgo+ ID4+Pgo+ID4+Pj4KPiA+Pj4+VGhpcyBwYXRjaHNldCBpcyB0byB1c2UgY3B1cG9vbCB0byBibG9j ayB0aGUgdmNwdSBiZSBzY2hlZHVsZWQgYmV0d2VlbiBiaWcgYW5kCj4gPj4+PmxpdHRsZSBjcHVz Lgo+ID4+Pj4KPiA+Pj4+Pgo+ID4+Pj4+U2VlIGZvciBpbnN0YW5jZSB2LT5hcmNoLmFjdGxyID0g UkVBRF9TWVNSRUczMihBQ1RMUl9FTDEpLgo+ID4+Pj4KPiA+Pj4+VGhhbmtzIGZvciB0aGlzLiBJ IG9ubHkgZXhwb3NlIGNwdWlkIHRvIGd1ZXN0LCBtaXNzZWQgYWN0bHIuIEknbGwgY2hlY2sKPiA+ Pj4+dGhlIEE1MyBhbmQgQTcyIFRSTSBhYm91dCBBQXJjaDY0IGltcGxlbWVudGF0aW9uZCBkZWZp bmVkIHJlZ2lzdGVycy4KPiA+Pj4+VGhpcyBhY3RsciBjYW4gYmUgYWRkZWQgdG8gdGhlIGNwdXBv b2xfYXJjaF9pbmZvIGFzIG1pZHIuCj4gPj4+Pgo+ID4+Pj5SZWFkaW5nICJ2Y3B1X2luaXRpYWxp c2UiLCBzZWVtcyBvbmx5IE1JRFIgYW5kIEFDVExSIG5lZWRzIHRvIGJlIGhhbmRsZWQuCj4gPj4+ PlBsZWFzZSBhZHZpc2UgaWYgSSBtaXNzZWQgYW55dGhpbmcgZWxzZS4KPiA+Pj4KPiA+Pj5IYXZl IHlvdSBjaGVjayB0aGUgcmVnaXN0ZXIgZW11bGF0aW9uPwo+ID4+Cj4gPj5DaGVja2VkIG1pZHIu IEhhdmUgbm90IGNoZWNrZWQgb3RoZXJzLgo+ID4+SSB0aGluayBJIG1pc3NlZCBzb21lIHJlZ2lz dGVycyBpbiBjdHh0X3N3aXRjaF90by4KPiA+Pgo+ID4+Pgo+ID4+Pj4KPiA+Pj4+Pgo+ID4+Pj4+ Pgo+ID4+Pj4+PlRoaW5raW5nIGFuIFNvQyB3aXRoIDQgQTUzKGNwdVswLTNdKSArIDIgQTcyKGNw dVs0LTVdKSwgY3B1MCBpcyB0aGUgZmlyc3Qgb25lCj4gPj4+Pj4+dGhhdCBib290cyB1cC4gV2hl biBYRU4gdHJpZXMgdG8gYnJpbmd1cCBzZWNvbmRhcnkgQ1BVcywgYWRkIGNwdVswLTNdIHRvCj4g Pj4+Pj4+Y3B1cG9vbDAgYW5kIGxlYXZlIGNwdVs0LTVdIG5vdCBpbiBhbnkgY3B1cG9vbC4gVGhl biB3aGVuIERvbTAgYm9vdHMgdXAsCj4gPj4+Pj4+YHhsIGNwdXBvb2wtbGlzdCAtY2Agd2lsbCBz aG93IGNwdVswLTNdIGluIFBvb2wtMC4KPiA+Pj4+Pj4KPiA+Pj4+Pj5UaGVuIHVzZSB0aGUgZm9s bG93aW5nIHNjcmlwdCB0byBjcmVhdGUgYSBuZXcgY3B1cG9vbCBhbmQgYWRkIGNwdVs0LTVdIHRv Cj4gPj4+Pj4+dGhlIGNwdXBvb2wuCj4gPj4+Pj4+I3hsIGNwdXBvb2wtY3JlYXRlIG5hbWU9XCJQ b29sLUE3MlwiIHNjaGVkPVwiY3JlZGl0MlwiCj4gPj4+Pj4+I3hsIGNwdXBvb2wtY3B1LWFkZCBQ b29sLUE3MiA0Cj4gPj4+Pj4+I3hsIGNwdXBvb2wtY3B1LWFkZCBQb29sLUE3MiA1Cj4gPj4+Pj4+ I3hsIGNyZWF0ZSAtZCAvcm9vdC94ZW4vZG9tdS10ZXN0IHBvb2w9XCJQb29sLUE3MlwiCj4gPj4+ Pj4KPiA+Pj4+PkkgYW0gYSBiaXQgY29uZnVzZWQgd2l0aCB0aGVzZSBydW5lcy4gSXQgbWVhbnMg dGhhdCBvbmx5IHRoZSBmaXJzdCBraW5kIG9mCj4gPj4+Pj5DUFVzIGhhdmUgcG9vbCBhc3NpZ25l ZC4gV2h5IGRvbid0IHlvdSBkaXJlY3RseSBjcmVhdGUgYWxsIHRoZSBwb29scyBhdCBib290Cj4g Pj4+Pj50aW1lPwo+ID4+Pj4KPiA+Pj4+SWYgbmVlZCB0byBjcmVhdGUgYWxsIHRoZSBwb29scywg bmVlZCB0byBkZWNpZGVkIGhvdyBtYW55IHBvb2xzIG5lZWQgdG8gYmUgY3JlYXRlZC4KPiA+Pj4+ SSB0aG91Z2h0IGFib3V0IHRoaXMsIGJ1dCBJIGRvIG5vdCBjb21lIG91dCBhIGdvb2QgaWRlYS4K PiA+Pj4+Cj4gPj4+PlRoZSBjcHVwb29sMCBpcyBkZWZpbmVkIGluIHhlbi9jb21tb24vY3B1cG9v bC5jLCBpZiBuZWVkIHRvIGNyZWF0ZSBtYW55IHBvb2xzLAo+ID4+Pj5uZWVkIHRvIGFsbG9jIGNw dXBvb2xzIGR5bmFtaWNhbGx5IHdoZW4gYm9vdGluZy4gSSB3b3VsZCBub3QgbGlrZSB0byBjaGFu Z2UgYQo+ID4+Pj5sb3QgdG8gY29tbW9uIGNvZGUuCj4gPj4+Cj4gPj4+V2h5PyBXZSBzaG91bGQg YXZvaWQgdG8gY2hvb3NlIGEgc3BlY2lmaWMgZGVzaWduIGp1c3QgYmVjYXVzZSB0aGUgY29tbW9u IGNvZGUKPiA+Pj5kb2VzIG5vdCBhbGxvdyB5b3UgdG8gZG8gaXQgd2l0aG91dCBoZWF2eSBjaGFu Z2UuCj4gPj4+Cj4gPj4+V2UgbmV2ZXIgY2FtZSBhY3Jvc3MgdGhlIGJpZy5MSVRUTEUgcHJvYmxl bSBvbiB4ODYsIHNvIGl0IGlzIG5vcm1hbCB0byBtb2RpZnkKPiA+Pj50aGUgY29kZS4KPiA+Pj4K PiA+Pj4+VGhlIGltcGxlbWVudGF0aW9uIGluIHRoaXMgcGF0Y2hzZXQgSSB0aGluayBpcyBhbiBl YXN5IHdheSB0byBsZXQgQmlnIGFuZCBMaXR0bGUKPiA+Pj4+Q1BVcyBhbGwgcnVuLgo+ID4+Pgo+ ID4+PkkgY2FyZSBhYm91dCBoYXZpbmcgYSBkZXNpZ24gYWxsb3dpbmcgYW4gZWFzeSB1c2Ugb2Yg YmlnLkxJVFRMRSBvbiBYZW4uIFlvdXIKPiA+Pj5zb2x1dGlvbiByZXF1aXJlcyB0aGUgYWRtaW5p c3RyYXRvciB0byBrbm93IHRoZSB1bmRlcmx5aW5nIHBsYXRmb3JtIGFuZAo+ID4+PmNyZWF0ZSB0 aGUgcG9vbC4KPiA+Pgo+ID4+SSBzdXBwb3NlIGJpZy5saXR0bGUgaXMgbWFpbmx5IHVzZWQgaW4g ZW1iZWRkZWQgU29DIDopLiBTbyB0aGUgdXNlcihkZXZlbG9wZXI/KQo+ID4+bmVlZHMgdG8ga25v dyB0aGUgaGFyZHdhcmUgcGxhdGZvcm0uCj4gPgo+ID5UaGUgdXNlciB3aWxsIGFsd2F5cyBiZSBo YXBweSBpZiBYZW4gY2FuIHNhdmUgaGltIGEgYml0IG9mIHRpbWUgdG8gY3JlYXRlCj4gPmNwdXBv b2wuIDspCj4gPgo+ID4+Cj4gPj4+Cj4gPj4+SW4gdGhlIHNvbHV0aW9uIEkgc3VnZ2VzdGVkLCB0 aGUgcG9vbHMgd291bGQgYmUgY3JlYXRlZCBieSBYZW4gKGFuZCB0aGUgaW5mbwo+ID4+PmV4cG9z ZWQgdG8gdGhlIHVzZXJzcGFjZSBmb3IgdGhlIGFkbWluKS4KPiA+Pgo+ID4+SSB0aGluayB0aGUg cmVhc29uIHRvIGNyZWF0ZSBjcHVwb29scyB0byBzdXBwb3J0IGJpZy5saXR0bGUgU29DIGlzIHRv Cj4gPj5hdm9pZCB2Y3B1cyBzY2hlZHVsZWQgYmV0d2VlbiBiaWcgYW5kIGxpdHRsZSBwaHlzaWNh bCBjcHVzLgo+ID4+Cj4gPj5JZiBuZWVkIHRvIHN1cHBvcnQgYmlnLmxpdHRsZSBndWVzdCwgSSB0 aGluayBubyBuZWVkIHRvIGNyZWF0ZSBtb3JlCj4gPj5jcHVwb29scyBleHBlY3QgY3B1cG9vMC4g TmVlZCB0byBtYWtlIHN1cmUgdmNwdXMgbm90IGJlIHNjaGVkdWxlZCBiZXR3ZWVuCj4gPj5iaWcg YW5kIGxpdHRsZSBwaHlzaWNhbCBjcHVzLiBBbGwgdGhlIGNwdXMgbmVlZHMgdG8gYmUgaW4gb25l IGNwdXBvb2wuCj4gPj4KPiA+Pj4KPiA+Pj4+Cj4gPj4+Pj4KPiA+Pj4+PkFsc28sIGluIHdoaWNo IHBvb2wgYSBkb21haW4gd2lsbCBiZSBjcmVhdGVkIGlmIG5vbmUgaXMgc3BlY2lmaWVkPwo+ID4+ Pj4+Cj4gPj4+Pj4+Tm93IGB4bCBjcHVwb29sLWxpc3QgLWNgIHNob3dzOgo+ID4+Pj4+Pk5hbWUg ICAgICAgICAgICBDUFUgbGlzdAo+ID4+Pj4+PlBvb2wtMCAgICAgICAgICAwLDEsMiwzCj4gPj4+ Pj4+UG9vbC1BNzIgICAgICAgIDQsNQo+ID4+Pj4+Pgo+ID4+Pj4+PmB4bCBjcHVwb29sLWxpc3Rg IHNob3dzOgo+ID4+Pj4+Pk5hbWUgICAgICAgICAgICAgICBDUFVzICAgU2NoZWQgICAgIEFjdGl2 ZSAgIERvbWFpbiBjb3VudAo+ID4+Pj4+PlBvb2wtMCAgICAgICAgICAgICAgIDQgICAgY3JlZGl0 ICAgICAgIHkgICAgICAgICAgMQo+ID4+Pj4+PlBvb2wtQTcyICAgICAgICAgICAgIDIgICBjcmVk aXQyICAgICAgIHkgICAgICAgICAgMQo+ID4+Pj4+Pgo+ID4+Pj4+PmB4bCBjcHVwb29sLWNwdS1y ZW1vdmUgUG9vbC1BNzIgNGAsIHRoZW4gYHhsIGNwdXBvb2wtY3B1LWFkZCBQb29sLTAgNGAKPiA+ Pj4+Pj5ub3Qgc3VjY2VzcywgYmVjYXVzZSBQb29sLTAgY29udGFpbnMgQTUzIENQVXMsIGJ1dCBD UFU0IGlzIGFuIEE3MiBDUFUuCj4gPj4+Pj4+Cj4gPj4+Pj4+YHhsIGNwdXBvb2wtbWlncmF0ZSBE b21VIFBvb2wtMGAgd2lsbCBhbHNvIGZhaWwsIGJlY2F1c2UgRG9tVSBpcyBjcmVhdGVkCj4gPj4+ Pj4+aW4gUG9vbC1BNzIgd2l0aCBBNzIgdmNwdSwgd2hpbGUgUG9vbC0wIGhhdmUgQTUzIHBoeXNp Y2FsIGNwdXMuCj4gPj4+Pj4+Cj4gPj4+Pj4+UGF0Y2ggMS81Ogo+ID4+Pj4+PnVzZSAiY3B1bWFz a193ZWlnaHQoY3B1cG9vbDAtPmNwdV92YWxpZCk7IiB0byByZXBsYWNlICJudW1fb25saW5lX2Nw dXMoKSIsCj4gPj4+Pj4+YmVjYXVzZSBudW1fb25saW5lX2NwdXMoKSBjb3VudHMgYWxsIHRoZSBv bmxpbmUgQ1BVcywgYnV0IG5vdyB3ZSBvbmx5Cj4gPj4+Pj4+bmVlZCBCaWcgb3IgTGl0dGxlIENQ VXMuCj4gPj4+Pj4KPiA+Pj4+PlNvIGlmIEkgdW5kZXJzdGFuZCBjb3JyZWN0bHksIGlmIHRoZSBi b290IENQVSBpcyBhIGxpdHRsZSBDUFUsIERPTTAgd2lsbAo+ID4+Pj4+YWx3YXlzIGJlIGFibGUg dG8gb25seSB1c2UgbGl0dGxlIG9uZXMuIElzIHRoYXQgcmlnaHQ/Cj4gPj4+Pgo+ID4+Pj5ZZWFo LiBEb20wIG9ubHkgdXNlIHRoZSBsaXR0bGUgb25lcy4KPiA+Pj4KPiA+Pj5UaGlzIGlzIHJlYWxs eSBiYWQsIGRvbTAgb24gbm9ybWFsIGNhc2Ugd2lsbCBoYXZlIGFsbCB0aGUgYmFja2VuZHMuIEl0 IG1heQo+ID4+Pm5vdCBiZSBwb3NzaWJsZSB0byBzZWxlY3QgdGhlIGJvb3QgQ1BVLCBhbmQgdGhl cmVmb3JlIGFsd2F5cyBnZXQgYSBsaXR0bGUKPiA+Pj5DUFUuCj4gPj4KPiA+PkRvbTAgcnVucyBp biBjcHVwb29sMC4gY3B1cG9vbDAgb25seSBjb250YWlucyB0aGUgY3B1WzAtM10gaW4gbXkgY2Fz ZS4KPiA+Cj4gPlNvIHRoZSBwZXJmb3JtYW5jZSBvZiBkb20wIHdpbGwgYmUgaW1wYWN0ZWQgYmVj YXVzZSBpdCB3aWxsIG9ubHkgdXNlIGxpdHRsZQo+ID5jb3Jlcy4KPiA+Cj4gPj4KPiA+Pj4KPiA+ Pj5DcmVhdGluZyB0aGUgcG9vbCBhdCBib290IHRpbWUgd291bGQgaGF2ZSBhdm9pZCBhIHN1Y2gg aXNzdWUgYmVjYXVzZSwgdW5sZXNzCj4gPj4+d2UgZXhwb3NlIGJpZy5MSVRUTEUgdG8gZG9tMCAo SSB3b3VsZCBuZWVkIHRoZSBpbnB1dCBvZiBHZW9yZ2UgYW5kIERhcmlvIGZvcgo+ID4+PnRoaXMg Yml0cyksIHdlIGNvdWxkIGhhdmUgYSBwYXJhbWV0ZXIgdG8gc3BlY2lmeSB3aGljaCBzZXQgb2Yg Q1BVcyAoZS5nIHBvb2wpCj4gPj4+dG8gYWxsb2NhdGUgZG9tMCB2Q1BVcy4KPiA+Pgo+ID4+ZG9t MCBpcyBjb250cm9sIGRvbWFpbiwgSSB0aGluayBubyBuZWVkIHRvIGV4cG9zZSBiaWcubGl0dGxl IGZvciBkb20wLgo+ID4+UGluIFZDUFUgdG8gc3BlY2lmaWMgcGh5c2ljYWwgY3B1cywgdGhpcyBt YXkgaGVscCBzdXBwb3J0IGJpZy5saXR0bGUgZ3Vlc3QuCj4gPj4KPiA+Pj4KPiA+Pj5Ob3RlLCB0 aGF0IEkgYW0gbm90IGFza2luZyB5b3UgdG8gaW1wbGVtZW50IGV2ZXJ5dGhpbmcuIEJ1dCBJIHRo aW5rIHdlIG5lZWQgYQo+ID4+PmNvaGVyZW50IHZpZXcgb2YgYmlnLkxJVFRMRSBzdXBwb3J0IGlu IFhlbiB0b2RheSB0byBnbyBmb3J3YXJkLgo+ID4+Cj4gPj5ZZWFoLiBUaGVuIHlvdSBwcmVmZXIg c3VwcG9ydGluZyBiaWcubGl0dGxlIGd1ZXN0Pwo+ID4KPiA+SSBoYXZlIHNlZW4gc29tZSBpbnRl cmVzdCBvbiBpdC4KPiAKPiBJIGhhdmUgbm8gaWRlYSBhYm91dCB0aGUgdXNlIGNhc2VzLiBBbnl3 YXkgYmlnLmxpdHRsZSBndWVzdCBkbyBoYXZlIGJlbmVmaXRzLgo+IAo+ID4KPiA+PlBsZWFzZSBh ZHZpc2UgaWYgeW91IGhhdmUgYW55IHBsYW4vaWRlYXMgb3Igd2hhdCBJIGNhbiBkbyBvbiB0aGlz Lgo+ID4KPiA+SSBhbHJlYWR5IGdhdmUgc29tZSBpZGVhcyBvbiB3aGF0IGNvdWxkIGJlIGRvbmUg Zm9yIGJpZy5MSVRUTEUgc3VwcG9ydC4gQnV0LAo+ID5JIGFkbWl0IEkgaGF2ZW4ndCB5ZXQgbXVj aCB0aGluayBhYm91dCBpdCwgc28gSSBtYXkgbWlzcyBzb21lIHBhcnQuCj4gCj4gVGhpcyBjb21l cyB0byBtZSBhIHF1ZXN0aW9uIGFib3V0IERvbTAuIERvIHdlIG5lZWQgdG8gbGV0IERvbTAgYmUg YmlnLmxpdHRsZT8gb3IKPiBhZGQgYSBib290YXJncyB0byBpbmRpY2F0ZSBiaWcubGl0dGxlLCBi aWcgb3IgbGl0dGxlIGZvciBEb20wPwoKVGhlc2UgYXJlIG15IHR3byBjZW50czogdGhlIHR3byBj cHVwb29scyAob25lIGJpZywgb25lIExJVFRMRSkgbmVlZCB0bwpiZSBjcmVhdGVkIGF1dG9tYXRp Y2FsbHksIGVpdGhlciBieSBYZW4gb3IgYnkgYW4geGwgY29tbWFuZCwgc3VjaCBhcyAieGwKY3B1 cG9vbC1iaWdMSVRUTEUtc3BsaXQiLCBhcyBHZW9yZ2Ugc3VnZ2VzdGVkLiBJZiBkb25lIHdpdGgg YW4geGwKY29tbWFuZCwgaXQgbmVlZHMgdG8gYmUgY2FsbGVkIGF1dG9tYXRpY2FsbHkgYXQgYm9v dCBzb21laG93LCBvdGhlcndpc2UKd2UnbGwgbGVhdmUgaGFsZiBvZiB0aGUgY3B1cyB1bnVzZWQg YnkgZGVmYXVsdC4gQXMgWGVuIG5lZWRzIHRvIGJlIGFibGUKdG8gcmVjb2duaXplIGJpZy5MSVRU TEUgYW5kIG9ubHkgc3RhcnQgRG9tMCBvbiBiaWcgKG9yIExJVFRMRSkgY3B1cywgSQp0aGluayBp dCBtaWdodCBtYWtlIHNlbnNlIHRvIGNyZWF0ZSBib3RoIGNwdXBvb2xzIGRpcmVjdGx5IGluIFhl bi4KCkl0IHNob3VsZCBiZSBwb3NzaWJsZSB0byBjb25maWd1cmUgdG8gd2hpY2ggY3B1cG9vbCBE b20wIGJlbG9uZ3MgdG8sIGJ1dApJIHdvdWxkIGRlZmF1bHQgdG8gYmlnIGZvciBwZXJmb3JtYW5j ZSByZWFzb25zLgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwczov L2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==