From mboxrd@z Thu Jan 1 00:00:00 1970 From: Konrad Rzeszutek Wilk Subject: Re: [PATCH 1/3] Don't create default ioreq server Date: Fri, 9 Dec 2016 12:21:58 -0500 Message-ID: <20161209172158.GQ31758@char.us.oracle.com> References: <1480499272-11893-1-git-send-email-zhangchen.fnst@cn.fujitsu.com> <1480499272-11893-2-git-send-email-zhangchen.fnst@cn.fujitsu.com> <20161201131955.GA394@citrix.com> <09464095-e9f9-789a-5dc8-7d436d01d353@cn.fujitsu.com> <20161209161353.GA11877@char.us.oracle.com> <83a67270d02949eb9283ba0af7727dc3@AMSPEX02CL03.citrite.net> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta5.messagelabs.com ([195.245.231.135]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cFOsE-0007Of-S1 for xen-devel@lists.xenproject.org; Fri, 09 Dec 2016 17:22:18 +0000 Content-Disposition: inline In-Reply-To: <83a67270d02949eb9283ba0af7727dc3@AMSPEX02CL03.citrite.net> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Paul Durrant Cc: Changlong Xie , Wei Liu , Zhang Chen , Andrew Cooper , Eddie Dong , Wen Congyang , Yang Hongyang , Xen devel , Ian Jackson List-Id: xen-devel@lists.xenproject.org T24gRnJpLCBEZWMgMDksIDIwMTYgYXQgMDQ6NDM6NThQTSArMDAwMCwgUGF1bCBEdXJyYW50IHdy b3RlOgo+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0KPiA+IEZyb206IFhlbi1kZXZlbCBb bWFpbHRvOnhlbi1kZXZlbC1ib3VuY2VzQGxpc3RzLnhlbi5vcmddIE9uIEJlaGFsZiBPZgo+ID4g S29ucmFkIFJ6ZXN6dXRlayBXaWxrCj4gPiBTZW50OiAwOSBEZWNlbWJlciAyMDE2IDE2OjE0Cj4g PiBUbzogWmhhbmcgQ2hlbiA8emhhbmdjaGVuLmZuc3RAY24uZnVqaXRzdS5jb20+OyBQYXVsIER1 cnJhbnQKPiA+IDxQYXVsLkR1cnJhbnRAY2l0cml4LmNvbT4KPiA+IENjOiBDaGFuZ2xvbmcgWGll IDx4aWVjbC5mbnN0QGNuLmZ1aml0c3UuY29tPjsgV2VpIExpdQo+ID4gPHdlaS5saXUyQGNpdHJp eC5jb20+OyBFZGRpZSBEb25nIDxlZGRpZS5kb25nQGludGVsLmNvbT47IEFuZHJldwo+ID4gQ29v cGVyIDxBbmRyZXcuQ29vcGVyM0BjaXRyaXguY29tPjsgSWFuIEphY2tzb24KPiA+IDxJYW4uSmFj a3NvbkBjaXRyaXguY29tPjsgV2VuIENvbmd5YW5nIDx3ZW5jb25neWFuZ0BnbWFpbC5jb20+OyBQ YXVsCj4gPiBEdXJyYW50IDxQYXVsLkR1cnJhbnRAY2l0cml4LmNvbT47IFlhbmcgSG9uZ3lhbmcK PiA+IDxpbWh5LnlhbmdAZ21haWwuY29tPjsgWGVuIGRldmVsIDx4ZW4tZGV2ZWxAbGlzdHMueGVu cHJvamVjdC5vcmc+Cj4gPiBTdWJqZWN0OiBSZTogW1hlbi1kZXZlbF0gW1BBVENIIDEvM10gRG9u J3QgY3JlYXRlIGRlZmF1bHQgaW9yZXEgc2VydmVyCj4gPiAKPiA+IC5zbmlwLi4KPiA+ID4gPiBJ ZiB5b3UgY2FuIGJlIG1vcmUgc3BlY2lmaWMgYWJvdXQgd2hhdCBpcyBicm9rZW4gaW4gQ09MTyB3 ZSBtaWdodCBiZQo+ID4gPiA+IGFibGUgdG8gZGV2aXNlIGEgZml4IGZvciB5b3UuCj4gPiA+Cj4g PiA+IE15IHdvcmttYXRlIGhhdmUgcmVwb3J0ZWQgdGhpcyBCVUcgbGFzdCB5ZWFyOgo+ID4gPiBo dHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL2FyY2hpdmVzL2h0bWwveGVuLWRldmVsLzIwMTUt Cj4gPiAxMi9tc2cwMjg1MC5odG1sCj4gPiAKPiA+IFBhdWwsIEFuZHJldyB3YXMgYXNraW5nIGFi b3V0Ogo+ID4gCj4gPiAJVGhpcyBidWcgaXMgY2F1c2VkIGJ5IHRoZSByZWFkIHNpZGUgZWZmZWN0 cyBvZgo+ID4gSFZNX1BBUkFNX0lPUkVRX1BGTi4gVGhlIG1pZ3JhdGlvbiBjb2RlIG5lZWRzIGEg d2F5IG9mIGJlaW5nIGFibGUgdG8KPiA+IHF1ZXJ5IHdoZXRoZXIgYSBkZWZhdWx0IGlvcmVxIHNl cnZlciBleGlzdHMsIHdpdGhvdXQgY3JlYXRpbmcgb25lLgo+ID4gCj4gPiAJQ2FuIHlvdSByZW1l bWJlciB3aGF0IHRoZSBqdXN0aWZpY2F0aW9uIGZvciB0aGUgcmVhZCBzaWRlIGVmZmVjdHMKPiA+ IHdlcmU/IElTVFIgdGhhdCBpdCB3YXMgb25seSBmb3IgcWVtdSBjb21wYXRpYmlsaXR5IHVudGls IHRoZSBpb3JlcSBzZXJ2ZXIgd29yawo+ID4gZ290IGluIHVwc3RyZWFtLiBJZiB0aGF0IHdhcyB0 aGUgY2FzZSwgY2FuIHdlIGRyb3AgdGhlIHJlYWQgc2lkZSBlZmZlY3RzIG5vdwo+ID4gYW5kIG1h bmRhdGUgdGhhdCBhbGwgcWVtdXMgZXhwbGljaXRseSBjcmVhdGUgdGhlaXIgaW9yZXEgc2VydmVy cyAoZXZlbiBpZiB0aGlzCj4gPiBpbnZvbHZlcyBjcmVhdGluZyBhIGRlZmF1bHQgaW9yZXEgc2Vy dmVyIGZvciBxZW11LXRyYWQpPwo+ID4gCj4gCj4gVGhlIHJlYWQgc2lkZSBlZmZlY3RzIGFyZSBp bmRlZWQgYmVjYXVzZSBvZiB0aGUgbmVlZCB0byBzdXBwb3J0IHRoZSBvbGQgcWVtdSBpbnRlcmZh Y2UuIElmIHRyYWQgd2VyZSBwYXRjaGVkIHRoZW4gd2UgY291bGQgYXQgbGVhc3QgZGVwcmVjYXRl IHRoZSBkZWZhdWx0IGlvcmVxIHNlcnZlciBidXQgSSdtIG5vdCBzdXJlIGhvdyBsb25nIHdlJ2Qg bmVlZCB0byBsZWF2ZSBpdCBpbiBwbGFjZSBhZnRlciB0aGF0IGJlZm9yZSBpdCB3YXMgcmVtb3Zl ZC4gUGVyaGFwcyBpdCBvdWdodCB0byBiZSB1bmRlciBhIEtDT05GSUcgb3B0aW9uLCBzaW5jZSBp dCdzIGFsc28gYSBiaXQgb2YgYSBzZWN1cml0eSBob2xlLgo+IAoKU28uLiB3aGF0IGNhbiBiZSBk b25lIGFib3V0IHRvIG1ha2UgQ09MTyB3b3JrPwoKPiAgIFBhdWwKPiAKPiA+IAo+ID4gPwo+ID4g Cj4gPiBGdWxsIHRocmVhZCBiZWxvdzoKPiA+IAo+ID4gW1RvcF0gW0FsbCBMaXN0c10KPiA+IFtE YXRlIFByZXZdW0RhdGUgTmV4dF1bVGhyZWFkIFByZXZdW1RocmVhZCBOZXh0XVtEYXRlIEluZGV4 XVtUaHJlYWQKPiA+IEluZGV4XQo+ID4gUmU6IFtYZW4tZGV2ZWxdIHF1ZXN0aW9uIGFib3V0IG1p Z3JhdGlvbgo+ID4gCj4gPiBUbzogV2VuIENvbmd5YW5nIDx3ZW5jeUB4eHh4eHh4eHh4eHh4eD4K PiA+IEZyb206IEFuZHJldyBDb29wZXIgPGFuZHJldy5jb29wZXIzQHh4eHh4eHh4eHg+Cj4gPiBE YXRlOiBUdWUsIDI5IERlYyAyMDE1IDExOjI0OjE0ICswMDAwCj4gPiBDYzogUGF1bCBEdXJyYW50 IDxwYXVsLmR1cnJhbnRAeHh4eHh4eHh4eD4sIHhlbiBkZXZlbCA8eGVuLQo+ID4gZGV2ZWxAeHh4 eHh4eHh4eHh4eD4KPiA+IERlbGl2ZXJ5LWRhdGU6IFR1ZSwgMjkgRGVjIDIwMTUgMTE6MjQ6MzMg KzAwMDAKPiA+IExpc3QtaWQ6IFhlbiBkZXZlbG9wZXIgZGlzY3Vzc2lvbiA8eGVuLWRldmVsLmxp c3RzLnhlbi5vcmc+Cj4gPiBPbiAyNS8xMi8yMDE1IDAxOjQ1LCBXZW4gQ29uZ3lhbmcgd3JvdGU6 Cj4gPiBPbiAxMi8yNC8yMDE1IDA4OjM2IFBNLCBBbmRyZXcgQ29vcGVyIHdyb3RlOgo+ID4gT24g MjQvMTIvMTUgMDI6MjksIFdlbiBDb25neWFuZyB3cm90ZToKPiA+IEhpIEFuZHJldyBDb29wZXI6 Cj4gPiAKPiA+IEkgcmViYXNlIHRoZSBDT0xPIGNvZGVzIHRvIHRoZSBuZXdlc3QgdXBzdHJlYW0g eGVuLCBhbmQgdGVzdCBpdC4gSSBmb3VuZAo+ID4gYSBwcm9ibGVtIGluIHRoZSB0ZXN0LCBhbmQg SSBjYW4gcmVwcm9kdWNlIHRoaXMgcHJvYmxlbSB2aWEgdGhlIG1pZ3JhdGlvbi4KPiA+IAo+ID4g SG93IHRvIHJlcHJvZHVjZToKPiA+IDEuIHhsIGNyIC1wIGh2bV9ub3B2Cj4gPiAyLiB4bCBtaWdy YXRlIGh2bV9ub3B2IDE5Mi4xNjguMy4xCj4gPiBZb3UgYXJlIHRoZSB2ZXJ5IGZpcnN0IHBlcnNv biB0byB0cnkgYSB1c2VjYXNlIGxpa2UgdGhpcy4KPiA+IAo+ID4gSXQgd29ya3MgYXMgbXVjaCBh cyBpdCBkb2VzIGJlY2F1c2Ugb2YgeW91ciBjaGFuZ2VzIHRvIHRoZSB1bmNvb3BlcmF0aXZlCj4g PiBIVk0KPiA+IGRvbWFpbiBsb2dpYy4gIEkgaGF2ZSBzYWlkIHJlcGVhdGVkbHkgZHVyaW5nIHJl dmlldywgdGhpcyBpcyBub3QgbmVjZXNzYXJpbHkgYQo+ID4gc2FmZSBjaGFuZ2UgdG8gbWFrZSB3 aXRob3V0IGFuIGluLWRlcHRoIGFuYWx5c2lzIG9mIHRoZSBrbm9jay1vbiBlZmZlY3RzOyBpdAo+ ID4gbG9va3MgYXMgaWYgeW91IGhhdmUgZm91bmQgdGhlIGZpcnN0IGtub2NrLW9uIGVmZmVjdC4K PiA+IAo+ID4gVGhlIG1pZ3JhdGlvbiBzdWNjZXNzZXMsIGJ1dCB0aGUgdm0gZG9lc24ndCBydW4g aW4gdGhlIHRhcmdldCBtYWNoaW5lLgo+ID4gWW91IGNhbiBnZXQgdGhlIHJlYXNvbiBmcm9tICd4 bCBkbWVzZyc6Cj4gPiAoWEVOKSBIVk0yIHJlc3RvcmU6IFZNQ0VfVkNQVSAxCj4gPiAoWEVOKSBI Vk0yIHJlc3RvcmU6IFRTQ19BREpVU1QgMAo+ID4gKFhFTikgSFZNMiByZXN0b3JlOiBUU0NfQURK VVNUIDEKPiA+IChkMikgSFZNIExvYWRlcgo+ID4gKGQyKSBEZXRlY3RlZCBYZW4gdjQuNy11bnN0 YWJsZQo+ID4gKGQyKSBHZXQgZ3Vlc3QgbWVtb3J5IG1hcHNbMTI4XSBmYWlsZWQuICgtMzgpCj4g PiAoZDIpICoqKiBIVk1Mb2FkZXIgYnVnIGF0IGU4MjAuYzozOQo+ID4gKGQyKSAqKiogSFZNTG9h ZGVyIGNyYXNoZWQuCj4gPiAKPiA+IFRoZSByZWFzb24gaXMgdGhhdDoKPiA+IFdlIGRvbid0IGNh bGwgeGNfZG9tYWluX3NldF9tZW1vcnlfbWFwKCkgaW4gdGhlIHRhcmdldCBtYWNoaW5lLgo+ID4g V2hlbiB3ZSBjcmVhdGUgYSBodm0gZG9tYWluOgo+ID4gbGlieGxfX2RvbWFpbl9idWlsZCgpCj4g PiAgICAgICBsaWJ4bF9fYnVpbGRfaHZtKCkKPiA+ICAgICAgICAgICBsaWJ4bF9fYXJjaF9kb21h aW5fY29uc3RydWN0X21lbW1hcCgpCj4gPiAgICAgICAgICAgICAgIHhjX2RvbWFpbl9zZXRfbWVt b3J5X21hcCgpCj4gPiAKPiA+IFNob3VsZCB3ZSBtaWdyYXRlIHRoZSBndWVzdCBtZW1vcnkgZnJv bSBzb3VyY2UgbWFjaGluZSB0byB0YXJnZXQKPiA+IG1hY2hpbmU/Cj4gPiBUaGlzIGJ1ZyBzcGVj aWZpY2FsbHkgaXMgYmVjYXVzZSBIVk1Mb2FkZXIgaXMgZXhwZWN0ZWQgdG8gaGF2ZSBydW4gYW5k Cj4gPiB0dXJuZWQKPiA+IHRoZSBoeXBlcmNhbGwgaW5mb3JtYXRpb24gaW4gYW4gRTgyMCB0YWJs ZSBpbiB0aGUgZ3Vlc3QgYmVmb3JlIGEgbWlncmF0aW9uCj4gPiBvY2N1cnMuCj4gPiAKPiA+IFVu Zm9ydHVuYXRlbHksIHRoZSBjdXJyZW50IGNvZGViYXNlIGlzIHJpZGRsZWQgd2l0aCBzdWNoIGFz c3VtcHRpb24gYW5kCj4gPiBleHBlY3RhdGlvbnMgKGUuZy4gdGhlIEhWTSBzYXZlIGNvZGUgYXNz dW1lZCB0aGF0IEZQVSBjb250ZXh0IGlzIHZhbGlkCj4gPiB3aGVuIGl0Cj4gPiBpcyBzYXZpbmcg cmVnaXN0ZXIgc3RhdGUpIHdoaWNoIGlzIGEgZGlyZWN0IHNpZGUgZWZmZWN0IG9mIGhvdyBpdCB3 YXMgZGV2ZWxvcGVkLgo+ID4gCj4gPiAKPiA+IEhhdmluZyBzYWlkIGFsbCBvZiB0aGUgYWJvdmUs IEkgYWdyZWUgdGhhdCB5b3VyIGV4YW1wbGUgaXMgYSB1c2VjYXNlIHdoaWNoCj4gPiBzaG91bGQg d29yay4gIEl0IGlzIHRoZSB1bHRpbWF0ZSB0ZXN0IG9mIHdoZXRoZXIgdGhlIG1pZ3JhdGlvbiBz dHJlYW0gY29udGFpbnMKPiA+IGVub3VnaCBpbmZvcm1hdGlvbiB0byBmYWl0aGZ1bGx5IHJlcHJv ZHVjZSB0aGUgZG9tYWluIG9uIHRoZSBmYXIgc2lkZS4KPiA+IENsZWFybHkKPiA+IGF0IHRoZSBt b21lbnQsIHRoaXMgaXMgbm90IHRoZSBjYXNlLgo+ID4gCj4gPiBJIGhhdmUgYW4gdXBjb21pbmcg cHJvamVjdCB0byB3b3JrIG9uIHRoZSBkb21haW4gbWVtb3J5IGxheW91dCBsb2dpYywKPiA+IGJl Y2F1c2UKPiA+IGl0IGlzIHVuc3VpdGFibGUgZm9yIGEgbnVtYmVyIG9mIFhlblNlcnZlciB1c2Vj YXNlcy4gUGFydCBvZiB0aGF0IHdpbGwgcmVxdWlyZQo+ID4gbW92aW5nIGl0IGluIHRoZSBtaWdy YXRpb24gc3RyZWFtLgo+ID4gSSBmb3VuZCBhbm90aGVyIG1pZ3JhdGlvbiBwcm9ibGVtIGluIHRo ZSB0ZXN0Ogo+ID4gSWYgdGhlIG1pZ3JhdGlvbiBmYWlscywgd2Ugd2lsbCByZXN1bWUgaXQgaW4g dGhlIHNvdXJjZSBzaWRlLgo+ID4gQnV0IHRoZSBodm0gZ3Vlc3QgZG9lc24ndCByZXNwb25zZSBh bnkgbW9yZS4KPiA+IAo+ID4gSW4gbXkgdGVzdCBlbnZpcmlvbm1lbnQsIHRoZSBtaWdyYXRpb24g YWx3YXlzIHN1Y2Nlc3NzZXMsIHNvIEkKPiA+IAo+ID4gInN1Y2NlZWRzIgo+ID4gCj4gPiB1c2Ug YSBoYWNrIHdheSB0byByZXByb2R1Y2UgaXQ6Cj4gPiAxLiBtb2RpZnkgdGhlIHRhcmdldCB4ZW4g dG9vbHM6Cj4gPiAKPiA+IGRpZmYgLS1naXQgYS90b29scy9saWJ4bC9saWJ4bF9zdHJlYW1fcmVh ZC5jIGIvdG9vbHMvbGlieGwvbGlieGxfc3RyZWFtX3JlYWQuYwo+ID4gaW5kZXggMjU4ZGVjNC4u ZGE5NTYwNiAxMDA2NDQKPiA+IC0tLSBhL3Rvb2xzL2xpYnhsL2xpYnhsX3N0cmVhbV9yZWFkLmMK PiA+ICsrKyBiL3Rvb2xzL2xpYnhsL2xpYnhsX3N0cmVhbV9yZWFkLmMKPiA+IEBAIC03NjcsNiAr NzY3LDggQEAgdm9pZCBsaWJ4bF9feGNfZG9tYWluX3Jlc3RvcmVfZG9uZShsaWJ4bF9fZWdjCj4g PiAqZWdjLCB2b2lkCj4gPiAqZGNzX3ZvaWQsCj4gPiAgICAgICAgICAgZ290byBlcnI7Cj4gPiAg ICAgICB9Cj4gPiArIHJjID0gRVJST1JfRkFJTDsKPiA+ICsKPiA+ICAgIGVycjoKPiA+ICAgICAg IGNoZWNrX2FsbF9maW5pc2hlZChlZ2MsIHN0cmVhbSwgcmMpOwo+ID4gMi4geGwgY3IgaHZtX25v cHYsIGFuZCB3YWl0IHNvbWUgdGltZShZb3UgY2FuIGxvZ2luIHRvIHRoZSBndWVzdCkKPiA+IDMu IHhsIG1pZ3JhdGUgaHZtX25vcHYgMTkyLjE2OC4zLjEKPiA+IAo+ID4gVGhlIHJlYXNvbiBpdCB0 aGF0Ogo+ID4gV2UgY3JlYXRlIGEgZGVmYXVsdCBpb3JlcSBzZXJ2ZXIgd2hlbiB3ZSBnZXQgdGhl IGh2bSBwYXJhbQo+ID4gSFZNX1BBUkFNX0lPUkVRX1BGTi4KPiA+IEl0IG1lYW5zIHRoYXQ6IHRo ZSBwcm9ibGVtIG9jY3VycyBvbmx5IHdoZW4gdGhlIG1pZ3JhdGlvbiBmYWlscyBhZnRlciB3ZSBn ZXQKPiA+IHRoZSBodm0gcGFyYW0gSFZNX1BBUkFNX0lPUkVRX1BGTi4KPiA+IAo+ID4gSW4gdGhl IGZ1bmN0aW9uIGh2bV9zZWxlY3RfaW9yZXFfc2VydmVyKCkKPiA+IElmIHRoZSBJL08gd2lsbCBi ZSBoYW5kZWQgYnkgbm9uLWRlZmF1bHQgaW9yZXEgc2VydmVyLCB3ZSB3aWxsIHJldHVybiB0aGUK PiA+IG5vbi1kZWZhdWx0IGlvcmVxIHNlcnZlci4gSW4gdGhpcyBjYXNlLCBpdCBpcyBoYW5kZWQg YnkgcWVtdS4KPiA+IElmIHRoZSBJL08gd2lsbCBub3QgYmUgaGFuZGVkIGJ5IG5vbi1kZWZhdWx0 IGlvcmVxIHNlcnZlciwgd2Ugd2lsbCByZXR1cm4KPiA+IHRoZSBkZWZhdWx0IGlvcmVxIHNlcnZl ci4gQmVmb3JlIG1pZ3JhdGlvbiwgd2UgcmV0dXJuIE5VTEwsIGFuZCBhZnRlcgo+ID4gbWlncmF0 aW9uCj4gPiBpdCBpcyBub3QgTlVMTC4KPiA+IFNlZSB0aGUgY2FsbGVyIGlzIGh2bWVtdWxfZG9f aW8oKToKPiA+ICAgICAgY2FzZSBYODZFTVVMX1VOSEFORExFQUJMRToKPiA+ICAgICAgewo+ID4g ICAgICAgICAgc3RydWN0IGh2bV9pb3JlcV9zZXJ2ZXIgKnMgPQo+ID4gICAgICAgICAgICAgIGh2 bV9zZWxlY3RfaW9yZXFfc2VydmVyKGN1cnItPmRvbWFpbiwgJnApOwo+ID4gCj4gPiAgICAgICAg ICAvKiBJZiB0aGVyZSBpcyBubyBzdWl0YWJsZSBiYWNraW5nIERNLCBqdXN0IGlnbm9yZSBhY2Nl c3NlcyAqLwo+ID4gICAgICAgICAgaWYgKCAhcyApCj4gPiAgICAgICAgICB7Cj4gPiAgICAgICAg ICAgICAgcmMgPSBodm1fcHJvY2Vzc19pb19pbnRlcmNlcHQoJm51bGxfaGFuZGxlciwgJnApOwo+ ID4gICAgICAgICAgICAgIHZpby0+aW9fcmVxLnN0YXRlID0gU1RBVEVfSU9SRVFfTk9ORTsKPiA+ ICAgICAgICAgIH0KPiA+ICAgICAgICAgIGVsc2UKPiA+ICAgICAgICAgIHsKPiA+ICAgICAgICAg ICAgICByYyA9IGh2bV9zZW5kX2lvcmVxKHMsICZwLCAwKTsKPiA+ICAgICAgICAgICAgICBpZiAo IHJjICE9IFg4NkVNVUxfUkVUUlkgfHwgY3Vyci0+ZG9tYWluLT5pc19zaHV0dGluZ19kb3duICkK PiA+ICAgICAgICAgICAgICAgICAgdmlvLT5pb19yZXEuc3RhdGUgPSBTVEFURV9JT1JFUV9OT05F Owo+ID4gICAgICAgICAgICAgIGVsc2UgaWYgKCBkYXRhX2lzX2FkZHIgKQo+ID4gICAgICAgICAg ICAgICAgICByYyA9IFg4NkVNVUxfT0tBWTsKPiA+ICAgICAgICAgIH0KPiA+ICAgICAgICAgIGJy ZWFrOwo+ID4gCj4gPiBXZSBzZW5kIHRoZSBJL08gcmVxdWVzdCB0byB0aGUgZGVmYXVsdCBJL08g cmVxdWVzdCBzZXJ2ZXIsIGJ1dCBubyBiYWNraW5nCj4gPiBETSBoYW5kcyBpdC4gV2Ugd2lsIHdh aXQgdGhlIEkvTyBmb3JldmVyLi4uLi4uCj4gPiAKPiA+IEhtbSB5ZXMuICBUaGlzIG5lZWRzIGZp eGluZy4KPiA+IAo+ID4gQ0MnaW5nIFBhdWwgd2hvIGRpZCB0aGUgaW9yZXEgc2VydmVyIHdvcmsu Cj4gPiAKPiA+IFRoaXMgYnVnIGlzIGNhdXNlZCBieSB0aGUgcmVhZCBzaWRlIGVmZmVjdHMgb2Yg SFZNX1BBUkFNX0lPUkVRX1BGTi4gVGhlCj4gPiBtaWdyYXRpb24gY29kZSBuZWVkcyBhIHdheSBv ZiBiZWluZyBhYmxlIHRvIHF1ZXJ5IHdoZXRoZXIgYSBkZWZhdWx0IGlvcmVxCj4gPiBzZXJ2ZXIg ZXhpc3RzLCB3aXRob3V0IGNyZWF0aW5nIG9uZS4KPiA+IAo+ID4gQ2FuIHlvdSByZW1lbWJlciB3 aGF0IHRoZSBqdXN0aWZpY2F0aW9uIGZvciB0aGUgcmVhZCBzaWRlIGVmZmVjdHMgd2VyZT8KPiA+ IElTVFIgdGhhdCBpdCB3YXMgb25seSBmb3IgcWVtdSBjb21wYXRpYmlsaXR5IHVudGlsIHRoZSBp b3JlcSBzZXJ2ZXIgd29yayBnb3QgaW4KPiA+IHVwc3RyZWFtLiBJZiB0aGF0IHdhcyB0aGUgY2Fz ZSwgY2FuIHdlIGRyb3AgdGhlIHJlYWQgc2lkZSBlZmZlY3RzIG5vdyBhbmQgbQo+ID4gPgo+ID4g PiBDYW4geW91IGdpdmUgbWUgYSBmaXggb3IgYSBkZXRhaWxlZCBzdWdnZXN0aW9uIGZvciB0aGlz IGJ1Zz8KPiA+ID4KPiA+ID4KPiA+ID4gVGhhbmtzCj4gPiA+IFpoYW5nIENoZW4KPiA+ID4KPiA+ ID4gPiA+ICAgICAgIGRlZmF1bHQ6Cj4gPiA+ID4gPiAgICAgICAgICAgYS52YWx1ZSA9IGQtPmFy Y2guaHZtX2RvbWFpbi5wYXJhbXNbYS5pbmRleF07Cj4gPiA+ID4gPiAgICAgICAgICAgYnJlYWs7 Cj4gPiA+ID4gPiAtLQo+ID4gPiA+ID4gMi43LjQKPiA+ID4gPiA+Cj4gPiA+ID4gPgo+ID4gPiA+ ID4KPiA+ID4gPgo+ID4gPiA+IC4KPiA+ID4gPgo+ID4gPgo+ID4gPiAtLQo+ID4gPiBUaGFua3MK PiA+ID4gemhhbmdjaGVuCj4gPiA+Cj4gPiA+Cj4gPiA+Cj4gPiA+Cj4gPiA+IF9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gPiA+IFhlbi1kZXZlbCBtYWls aW5nIGxpc3QKPiA+ID4gWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKPiA+ID4gaHR0cHM6Ly9saXN0 cy54ZW4ub3JnL3hlbi1kZXZlbAo+ID4gCj4gPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwo+ID4gWGVuLWRldmVsIG1haWxpbmcgbGlzdAo+ID4gWGVuLWRl dmVsQGxpc3RzLnhlbi5vcmcKPiA+IGh0dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwKCl9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBt YWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cHM6Ly9saXN0cy54ZW4ub3Jn L3hlbi1kZXZlbAo=