From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paul Durrant Subject: Re: [PATCH v2 2/3] x86/ioreq server: Rename p2m_mmio_write_dm to p2m_ioreq_server Date: Thu, 21 Apr 2016 13:56:46 +0000 Message-ID: <1ba79ba4e2df40b09c40d2f83e12d5c2@AMSPEX02CL03.citrite.net> References: <1459421618-5991-1-git-send-email-yu.c.zhang@linux.intel.com> <1459421618-5991-3-git-send-email-yu.c.zhang@linux.intel.com> <5708353102000078000E6230@prv-mh.provo.novell.com> <23c213a00ea94cd79feb6cc10e8da74d@AMSPEX02CL03.citrite.net> <57151BF602000078000E6C07@prv-mh.provo.novell.com> <57151DB002000078000E6C1E@prv-mh.provo.novell.com> <08ff255731b84b07bd71e6090c0fa51d@AMSPEX02CL03.citrite.net> <57161058.7060000@linux.intel.com> <57179A01.2060004@citrix.com> <5717C1E102000078000E6F5C@prv-mh.provo.novell.com> <8397b530c70549e9a1a261ab6fb55b5f@AMSPEX02CL03.citrite.net> <5717B729.4080108@citrix.com> <4787cc47-3652-cb9a-bf60-f2a8b3fe9df9@linux.intel.com> <45e6108d-c374-e7fc-b266-b3a59ca9170e@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <45e6108d-c374-e7fc-b266-b3a59ca9170e@linux.intel.com> Content-Language: en-US List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: "Yu, Zhang" , George Dunlap , Jan Beulich , Wei Liu Cc: Kevin Tian , "Keir (Xen.org)" , Andrew Cooper , "Tim (Xen.org)" , "xen-devel@lists.xen.org" , "zhiyuan.lv@intel.com" , "jun.nakajima@intel.com" List-Id: xen-devel@lists.xenproject.org PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBZdSwgWmhhbmcgW21haWx0bzp5 dS5jLnpoYW5nQGxpbnV4LmludGVsLmNvbV0NCj4gU2VudDogMjEgQXByaWwgMjAxNiAxNDo0OQ0K PiBUbzogUGF1bCBEdXJyYW50OyBHZW9yZ2UgRHVubGFwOyBKYW4gQmV1bGljaDsgV2VpIExpdQ0K PiBDYzogS2V2aW4gVGlhbjsgS2VpciAoWGVuLm9yZyk7IEFuZHJldyBDb29wZXI7IFRpbSAoWGVu Lm9yZyk7IHhlbi0NCj4gZGV2ZWxAbGlzdHMueGVuLm9yZzsgemhpeXVhbi5sdkBpbnRlbC5jb207 IGp1bi5uYWthamltYUBpbnRlbC5jb20NCj4gU3ViamVjdDogUmU6IFtYZW4tZGV2ZWxdIFtQQVRD SCB2MiAyLzNdIHg4Ni9pb3JlcSBzZXJ2ZXI6IFJlbmFtZQ0KPiBwMm1fbW1pb193cml0ZV9kbSB0 byBwMm1faW9yZXFfc2VydmVyDQo+IA0KPiANCj4gDQo+IE9uIDQvMjEvMjAxNiA5OjMxIFBNLCBQ YXVsIER1cnJhbnQgd3JvdGU6DQo+ID4+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4+ IEZyb206IFl1LCBaaGFuZyBbbWFpbHRvOnl1LmMuemhhbmdAbGludXguaW50ZWwuY29tXQ0KPiA+ PiBTZW50OiAyMSBBcHJpbCAyMDE2IDEzOjI1DQo+ID4+IFRvOiBHZW9yZ2UgRHVubGFwOyBQYXVs IER1cnJhbnQ7IEphbiBCZXVsaWNoOyBXZWkgTGl1DQo+ID4+IENjOiBLZXZpbiBUaWFuOyBLZWly IChYZW4ub3JnKTsgQW5kcmV3IENvb3BlcjsgVGltIChYZW4ub3JnKTsgeGVuLQ0KPiA+PiBkZXZl bEBsaXN0cy54ZW4ub3JnOyB6aGl5dWFuLmx2QGludGVsLmNvbTsganVuLm5ha2FqaW1hQGludGVs LmNvbQ0KPiA+PiBTdWJqZWN0OiBSZTogW1hlbi1kZXZlbF0gW1BBVENIIHYyIDIvM10geDg2L2lv cmVxIHNlcnZlcjogUmVuYW1lDQo+ID4+IHAybV9tbWlvX3dyaXRlX2RtIHRvIHAybV9pb3JlcV9z ZXJ2ZXINCj4gPj4NCj4gPj4NCj4gPj4NCj4gPj4gT24gNC8yMS8yMDE2IDE6MDYgQU0sIEdlb3Jn ZSBEdW5sYXAgd3JvdGU6DQo+ID4+PiBPbiAyMC8wNC8xNiAxNzo1OCwgUGF1bCBEdXJyYW50IHdy b3RlOg0KPiA+Pj4+PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+Pj4+PiBGcm9tOiBY ZW4tZGV2ZWwgW21haWx0bzp4ZW4tZGV2ZWwtYm91bmNlc0BsaXN0cy54ZW4ub3JnXSBPbiBCZWhh bGYNCj4gPj4gT2YgSmFuDQo+ID4+Pj4+IEJldWxpY2gNCj4gPj4+Pj4gU2VudDogMjAgQXByaWwg MjAxNiAxNzo1Mw0KPiA+Pj4+PiBUbzogR2VvcmdlIER1bmxhcDsgUGF1bCBEdXJyYW50OyBXZWkg TGl1OyB5dS5jLnpoYW5nQGxpbnV4LmludGVsLmNvbQ0KPiA+Pj4+PiBDYzogS2V2aW4gVGlhbjsg S2VpciAoWGVuLm9yZyk7IEFuZHJldyBDb29wZXI7IFRpbSAoWGVuLm9yZyk7IHhlbi0NCj4gPj4+ Pj4gZGV2ZWxAbGlzdHMueGVuLm9yZzsgemhpeXVhbi5sdkBpbnRlbC5jb207IGp1bi5uYWthamlt YUBpbnRlbC5jb20NCj4gPj4+Pj4gU3ViamVjdDogUmU6IFtYZW4tZGV2ZWxdIFtQQVRDSCB2MiAy LzNdIHg4Ni9pb3JlcSBzZXJ2ZXI6IFJlbmFtZQ0KPiA+Pj4+PiBwMm1fbW1pb193cml0ZV9kbSB0 byBwMm1faW9yZXFfc2VydmVyDQo+ID4+Pj4+DQo+ID4+Pj4+Pj4+IEdlb3JnZSBEdW5sYXAgPGdl b3JnZS5kdW5sYXBAY2l0cml4LmNvbT4gMDQvMjAvMTYgNjozMCBQTQ0KPiA+Pj4NCj4gPj4+Pj4+ IE9uIFdlZCwgQXByIDIwLCAyMDE2IGF0IDQ6MDIgUE0sIEdlb3JnZSBEdW5sYXANCj4gPj4+Pj4g PGdlb3JnZS5kdW5sYXBAY2l0cml4LmNvbT4gd3JvdGU6DQo+ID4+Pj4+Pj4gT24gMTkvMDQvMTYg MTI6MDIsIFl1LCBaaGFuZyB3cm90ZToNCj4gPj4+Pj4+Pj4gU28gSSBzdXBwb3NlIHRoZSBvbmx5 IHBsYWNlIHdlIG5lZWQgY2hhbmdlIGZvciB0aGlzIHBhdGNoIGlzDQo+ID4+Pj4+Pj4+IGZvciBo dm1tZW1fdHlwZV90LCB3aGljaCBzaG91bGQgYmUgZGVmaW5lZCBsaWtlIHRoaXM/DQo+ID4+Pj4+ Pj4+DQo+ID4+Pj4+Pj4+IHR5cGVkZWYgZW51bSB7DQo+ID4+Pj4+Pj4+ICAgICBIVk1NRU1fcmFt X3J3LCAgICAgICAgICAgICAvKiBOb3JtYWwgcmVhZC93cml0ZSBndWVzdCBSQU0gKi8NCj4gPj4+ Pj4+Pj4gICAgIEhWTU1FTV9yYW1fcm8sICAgICAgICAgICAgIC8qIFJlYWQtb25seTsgd3JpdGVz IGFyZSBkaXNjYXJkZWQgKi8NCj4gPj4+Pj4+Pj4gICAgIEhWTU1FTV9tbWlvX2RtLCAgICAgICAg ICAgIC8qIFJlYWRzIGFuZCB3cml0ZSBnbyB0byB0aGUgZGV2aWNlDQo+ID4+Pj4+IG1vZGVsICov DQo+ID4+Pj4+Pj4+ICNpZiBfX1hFTl9JTlRFUkZBQ0VfVkVSU0lPTl9fID49IDB4MDAwNDA3MDAN Cj4gPj4+Pj4+Pj4gICAgIEhWTU1FTV9pb3JlcV9zZXJ2ZXINCj4gPj4+Pj4+Pj4gI2Vsc2UNCj4g Pj4+Pj4+Pj4gICAgIEhWTU1FTV9tbWlvX3dyaXRlX2RtDQo+ID4+Pj4+Pj4+ICNlbmRpZg0KPiA+ Pj4+Pj4+PiB9IGh2bW1lbV90eXBlX3Q7DQo+ID4+Pj4+Pj4+DQo+ID4+Pj4+Pj4+IEJlc2lkZXMs IGRvZXMgNC43IHN0aWxsIGFjY2VwdCBmcmVlemUgZXhjZXB0aW9uPyBJdCB3b3VsZCBiZSBncmVh dA0KPiA+Pj4+Pj4+PiBpZiB3ZSBjYW4gZ2V0IGFuIGFwcHJvdmFsIGZvciB0aGlzLg0KPiA+Pj4+ Pj4+DQo+ID4+Pj4+Pj4gV2FpdCwgZG8gd2UgKmFjdHVhbGx5KiBuZWVkIHRoaXM/ICBJcyBhbnlv bmUgYWN0dWFsbHkgdXNpbmcgdGhpcz8NCj4gPj4+Pj4+Pg0KPiA+Pj4+Pj4+IEknZCBzYXkgcmVt b3ZlIGl0LCBhbmQgaWYgYW55b25lIGNvbXBsYWlucywgKnRoZW4qIGRvIHRoZQ0KPiAjaWZkZWYn ZXJ5DQo+ID4+IGFzDQo+ID4+Pj4+Pj4gYSBidWctZml4LiAgSSdtIHByZXR0eSBzdXJlIHRoYXQn cyBMaW51eCdzIHBvbGljeSAtLSBZb3UgTXVzdCBLZWVwDQo+ID4+Pj4+Pj4gVXNlcnNwYWNlIFdv cmtpbmcsIGJ1dCB5b3UgY2FuIGJyZWFrIGl0IHRvIHNlZSBpZiBhbnlvbmUgY29tcGxhaW5zDQo+ ID4+IGZpcnN0Lg0KPiA+Pj4+Pg0KPiA+Pj4+PiBXZSBkb24ndCBub3JtYWxseSBkbyBpdCBsaWtl IHRoYXQgLSB3ZSBhaW0gYXQga2VlcGluZyB0aGluZ3MgY29tcGF0aWJsZQ0KPiA+Pj4+PiByaWdo dCBhd2F5LiBJIGRvbid0IGtub3cgb2YgYSBjYXNlIHdoZXJlIHdlIHdvdWxkIGhhdmUga25vd2lu Z2x5DQo+ID4+IGJyb2tlbg0KPiA+Pj4+PiBjb21wYXRpYmlsaXR5IGZvciB1c2VycyBvZiB0aGUg cHVibGljIGhlYWRlcnMgKGxlYXZpbmcgYXNpZGUgdG9vbCBzdGFjaw0KPiBvbmx5DQo+ID4+Pj4+ IHN0dWZmIG9mIGNvdXJzZSkuDQo+ID4+Pj4+DQo+ID4+Pj4+PiBHb2luZyBmdXJ0aGVyIHRoYW4g dGhpczoNCj4gPj4+Pj4+DQo+ID4+Pj4+PiBUaGUgcHJvcG9zZWQgcGF0Y2ggc2VyaWVzIG5vdCBv bmx5IGNoYW5nZXMgdGhlIG5hbWUsIGl0IGNoYW5nZXMNCj4gdGhlDQo+ID4+Pj4+PiBmdW5jdGlv bmFsaXR5LiAgV2UgZG8gbm90IHdhbnQgY29kZSB0byAqY29tcGlsZSogYWdhaW5zdCA0LjcgYW5k DQo+IHRoZW4NCj4gPj4+Pj4+IG5vdCAqd29yayogYWdhaW5zdCA0Ljc7IGFuZCB0aGUgd29yc3Qg b2YgYWxsIGlzIHRvIGNvbXBpbGUgYW5kIHNvcnQgb2YNCj4gPj4+Pj4+IHdvcmsgYnV0IGRvIGl0 IGluY29ycmVjdGx5Lg0KPiA+Pj4+Pg0KPiA+Pj4+PiBJIGhhZCB0aGUgaW1wcmVzc2lvbiB0aGF0 IHRoZSByZW5hbWluZyBwYXRjaCB3YXMgd2hhdCBpdCBpcyAtIGENCj4gcmVuYW1pbmcNCj4gPj4+ Pj4gcGF0Y2gsIHdpdGhvdXQgYWx0ZXJpbmcgYmVoYXZpb3IuDQo+ID4+Pj4+DQo+ID4+Pj4+PiBE b2VzIHRoZSBpb3JlcSBzZXJ2ZXIgaGF2ZSBhIHdheSBvZiBhc2tpbmcgWGVuIHdoYXQgdmVyc2lv biBvZiB0aGUNCj4gQUJJDQo+ID4+Pj4+PiBpdCdzIHByb3ZpZGluZz8gIEknbSBhc3N1bWluZyB0 aGUgYW5zd2VyIGlzICJubyI7IGluIHdoaWNoIGNhc2UgY29kZQ0KPiA+Pj4+Pj4gdGhhdCBpcyBj b21waWxlZCBhZ2FpbnN0IHRoZSA0LjYgaW50ZXJmYWNlIGJ1dCBydW4gb24gYSA0LjggaW50ZXJm YWNlDQo+ID4+Pj4+PiB0aGF0IGxvb2tzIGxpa2UgdGhpcyB3aWxsIGZhaWwgaW4gYSBzb21ld2hh dCB1bnByZWRpY3RhYmxlIHdheS4NCj4gPj4+Pj4NCj4gPj4+Pj4gVGhlIG9ubHkgdGhpbmcgaXQg Y2FuIGRvIGlzIGFzayBmb3IgdGhlIFhlbiB2ZXJzaW9uLiBUaGUgQUJJIHZlcnNpb24gaXMNCj4g bm90DQo+ID4+Pj4+IGJlaW5nIHJldHVybmVkIGJ5IGFueXRoaW5nIChidXQgcGVyaGFwcyBzaG91 bGQgYmUpLg0KPiA+Pj4+Pg0KPiA+Pj4+Pj4gR2l2ZW4gdGhhdDoNCj4gPj4+Pj4+DQo+ID4+Pj4+ PiAxLiBXaGVuIHdlIGRvIGNoZWNrIHRoZSBpb3JlcSBzZXJ2ZXIgZnVuY3Rpb25hbGl0eSBpbiwg d2hhdCdzIHRoZQ0KPiA+Pj4+Pj4gY29ycmVjdCB3YXkgdG8gZGVhbCB3aXRoIGNvZGUgdGhhdCB3 YW50cyB0byB1c2UgdGhlIG9sZCBpbnRlcmZhY2UsDQo+IGFuZA0KPiA+Pj4+Pj4gd2hhdCBkbyB3 ZSBkbyB3aXRoIGNvZGUgY29tcGlsZWQgYWdhaW5zdCB0aGUgb2xkIGludGVyZmFjZSBidXQNCj4g Pj4gcnVubmluZw0KPiA+Pj4+Pj4gb24gdGhlIG5ldyBvbmU/DQo+ID4+Pj4+DQo+ID4+Pj4+IEZv ciB0aGUgZnVsbCBzZXJpZXMgSSdtIG5vdCBzdXJlIEkgY2FuIHJlYWxseSB0ZWxsLkJ1dCBhcyBz YWlkLCBmb3IgdGhlDQo+IHJlbmFtZQ0KPiA+Pj4+PiBwYXRjaCBhbG9uZSBJIHRob3VnaHQgaXQg aXMganVzdCBhIHJlbmFtZS4gQW5kIHRoYXQncyB3aGF0IHdlIHdhbnQgdG8NCj4gZ2V0DQo+ID4+ Pj4+IGluIChzZWUgUGF1bCdzIGVhcmxpZXIgcmVwbHkgLSBoZSB3YW50cyB0byBzZWUgdGhlIG9s ZCBuYW1lIGdvbmUsIHNvIGl0DQo+ID4+IHdvbid0DQo+ID4+Pj4+IGJlIHVzZWQgYW55IGZ1cnRo ZXIpLg0KPiA+Pj4+Pg0KPiA+Pj4+Pj4gMi4gV2hhdCdzIHRoZSBiZXN0IHRoaW5nIHRvIGRvIGZv ciB0aGlzIHJlbGVhc2U/DQo+ID4+Pj4+DQo+ID4+Pj4+IElmIHRoZSBlbnRpcmUgc2VyaWVzIChu byBtYXR0ZXIgd2hldGhlciB0byBnbyBpbiBub3cgb3IgbGF0ZXIpIGlzDQo+IGNoYW5naW5nDQo+ ID4+Pj4+IGJlaGF2aW9yLCB0aGVuIHRoZSBvbmx5IGNob2ljZSBpcyB0byBjb25zaWRlciB0aGUg Y3VycmVudGx5IHVzZWQgZW51bQ0KPiA+Pj4+PiB2YWx1ZSBidXJudCwgYW5kIHVzZSBhIGZyZXNo IG9uZSBmb3IgdGhlIG5ldyBzZW1hbnRpY3MuDQo+ID4+Pj4NCj4gPj4+PiBJdCBzb3VuZHMgbGlr ZSB0aGF0IHdvdWxkIGJlIGJlc3Qgd2F5LiBJZiB3ZSBkb24ndCBzbyB0aGF0IHRoZW4gd2UgaGF2 ZQ0KPiB0bw0KPiA+PiBtYWludGFpbiB0aGUgd3JpdGUtZG0gc2VtYW50aWNzIGZvciBwYWdlcyBv ZiB0aGF0IHR5cGUgdW5sZXNzIHRoZSB0eXBlIGlzDQo+ID4+IGNsYWltZWQgKGJ5IHVzaW5nIHRo ZSBuZXcgaHlwZXJjYWxsKSBhbmQgdGhhdCdzIGJpdCBpY2t5LiBJIG11Y2ggcHJlZmVyIHRoYXQN Cj4gPj4gcGFnZXMgb2YgdGhlIG5ldyB0eXBlIGFyZSB0cmVhdGVkIGFzIFJBTSB1bnRpbCBjbGFp bWVkLg0KPiA+Pj4NCj4gPj4+IEkgdGhpbmsgdGhlIG9ubHkgc2Vuc2libGUgd2F5IHRvIGtlZXAg dGhlIGVudW0gaXMgdG8gYWxzbyBrZWVwIHRoZQ0KPiA+Pj4gZnVuY3Rpb25hbGl0eSwgd2hpY2gg d291bGQgbWVhbiB1c2luZyAqYW5vdGhlciogcDJtIHR5cGUgZm9yDQo+ID4+IGlvcmVxX3NlcnZl ci4NCj4gPj4+DQo+ID4+PiBHaXZlbiB0aGF0IHRoZSBmdW5jdGlvbmFsaXR5IGlzbid0IGdvaW5n IGF3YXkgZm9yIDQuNywgSSBkb24ndCBzZWUgYW4NCj4gPj4+IHVyZ2VudCBuZWVkIHRvIHJlbW92 ZSB0aGUgZW51bTsgYnV0IGlmIFBhdWwgZG9lcywgdGhlbiBhIHBhdGNoDQo+IHJlbmFtaW5nDQo+ ID4+PiBpdCB0byBIVk1NRU1fdW51c2VkIHdvdWxkIGJlIHRoZSB3YXkgZm9yd2FyZCB0aGVuIEkg Z3Vlc3MuICBPbmNlDQo+IHRoZQ0KPiA+Pj4gdW5kZXJseWluZyBwMm0gdHlwZSBnb2VzIGF3YXks IHlvdSdsbCB3YW50IHRvIHJldHVybiAtRUlOVkFMIGZvciB0aGlzDQo+ID4+PiBlbnVtIHZhbHVl Lg0KPiA+Pj4NCj4gPj4NCj4gPj4gU28gdGhlIGVudW0gd291bGQgYmUgc3RoLiBsaWtlIHRoaXM/ DQo+ID4+DQo+ID4+IHR5cGVkZWYgZW51bSB7DQo+ID4+ICAgICAgSFZNTUVNX3JhbV9ydywgICAg ICAgIC8qIE5vcm1hbCByZWFkL3dyaXRlIGd1ZXN0IFJBTSAqLw0KPiA+PiAgICAgIEhWTU1FTV9y YW1fcm8sICAgICAgICAvKiBSZWFkLW9ubHk7IHdyaXRlcyBhcmUgZGlzY2FyZGVkICovDQo+ID4+ ICAgICAgSFZNTUVNX21taW9fZG0sICAgICAgIC8qIFJlYWRzIGFuZCB3cml0ZSBnbyB0byB0aGUg ZGV2aWNlIG1vZGVsICovDQo+ID4+ICNpZiBfX1hFTl9JTlRFUkZBQ0VfVkVSU0lPTl9fIDwgMHgw MDA0MDcwMA0KPiA+PiAgICAgIEhWTU1FTV9tbWlvX3dyaXRlX2RtLCAvKiBSZWFkLW9ubHk7IHdy aXRlcyBnbyB0byB0aGUgZGV2aWNlDQo+IG1vZGVsDQo+ID4+ICovDQo+ID4+ICNlbHNlDQo+ID4+ ICAgICAgSFZNTUVNX3VudXNlZCwNCj4gPj4gI2VuZGlmDQo+ID4+ICAgICAgSFZNTUVNX2lvcmVx X3NlcnZlcg0KPiA+PiB9IGh2bW1lbV90eXBlX3Q7DQo+ID4+DQo+ID4NCj4gPiBJIGJlbGlldmUg dGhhdCdzIGNvcnJlY3QsIGJ1dCBwcmVzdW1hYmx5IHRoZXJlJ3MgbmVlZCB0byBiZSBhIGNoYW5n ZSB0byB0aGUNCj4gaHlwZXJ2aXNvciBzaW5jZSBhbnkgcmVmZXJlbmNlIHRoZXJlIHRvIEhWTU1F TV9tbWlvX3dyaXRlX2RtICh3aGljaCBJDQo+IHRoaW5rIGlzIGxpbWl0ZWQgdG8gdGhlIGdldCBh bmQgc2V0IG1lbSB0eXBlIGNvZGUgaW4gaHZtLmMpIHdpbGwgbm93IG5lZWQgdG8NCj4gbWFwIEhW TU1FTV91bnVzZWQgdG8gdGhlIG9sZCBwMm1fbW1pb193cml0ZV9kbSB0eXBlLg0KPiA+DQo+IFRo YW5rIHlvdSwgUGF1bC4NCj4gDQo+IEJ1dCBwMm1fbW1pb193cml0ZV9kbSB3aWxsIG5vdCBleGlz dCBhbnkgbW9yZS4uLg0KPiBFLmcuIGlmIGluIGh2bW9wX2dldF9tZW1fdHlwZSgpLCBpZiB0eXBl IDB4ZihwMm1faW9yZXFfc2VydmVyKSBpcw0KPiByZXR1cm5lZCwgd2UgY291bGQganVzdCByZXR1 cm4gSFZNTUVNX2lvcmVxX3NlcnZlci4gTm8gbmVlZCB0bw0KPiB3b3JyeSBhYm91dCB0aGUgSFZN TUVNX21taW9fd3JpdGVfZG0uDQo+IA0KPiBNYXliZSB3ZSBvbmx5IG5lZWQgdG8gY2hhbmdlIHRo ZSBiZWdpbm5pbmcgb2YgaHZtb3Bfc2V0X21lbV90eXBlKCkNCj4gdG8gc3RoLiBsaWtlIHRoaXM6 DQo+IA0KPiAvKiBJbnRlcmZhY2UgdHlwZXMgdG8gaW50ZXJuYWwgcDJtIHR5cGVzICovDQo+IHN0 YXRpYyBjb25zdCBwMm1fdHlwZV90IG1lbXR5cGVbXSA9IHsNCj4gICAgICBbSFZNTUVNX3JhbV9y d10gID0gcDJtX3JhbV9ydywNCj4gICAgICBbSFZNTUVNX3JhbV9yb10gID0gcDJtX3JhbV9ybywN Cj4gICAgICBbSFZNTUVNX21taW9fZG1dID0gcDJtX21taW9fZG0sDQo+ICAgICAgW0hWTU1FTV91 bnVzZWRdID0gcDJtX2ludmFsaWQsICAvKiB0aGlzIHdpbGwgYmUgcmVqZWN0ZWQgbGF0ZXIgKi8N Cj4gICAgICBbSFZNTUVNX2lvcmVxX3NlcnZlcl0gPSBwMm1faW9yZXFfc2VydmVyDQo+IH07DQo+ IGFuZCBsYXRlciBpbiB0aGUgc2FtZSByb3V0aW5lLCBqdXN0IHJlamVjdCB0aGUgSFZNTUVNX3Vu dXNlZCB0eXBlLCBpbg0KPiBhbiBpZih3aXRoIHVubGlrZWx5KSBzdGF0ZW1lbnQuDQo+IA0KDQpB cyBsb25nIGFzIGV2ZXJ5b25lIGlzIGluIGFncmVlbWVudCB0aGVuIHdlIGNhbiBicmVhayB0aGUg ZnVuY3Rpb25hbGl0eSB0aGF0IGV4aXN0cyBpbiA0LjYuMSAoYW5kIHByZXN1bWFibHkgNC43IG5v dykgdGhlbiB0aGF04oCZcyBvay4NCg0KICBQYXVsDQoNCj4gPiAgIFBhdWwNCj4gDQo+IEIuUi4N Cj4gWXUNCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhl bi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cDovL2xpc3Rz Lnhlbi5vcmcveGVuLWRldmVsCg==