From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: Re: [PATCH v3 6/6] tools/libxl: Adjust datacopiers POLLHUP handling when the fd is also readable Date: Wed, 1 Apr 2015 15:36:36 +0100 Message-ID: <551C0274.3050105@citrix.com> References: <1426512594-11585-1-git-send-email-ross.lagerwall@citrix.com> <1426512594-11585-6-git-send-email-ross.lagerwall@citrix.com> <551423A8.3000308@citrix.com> <1427712044.13935.284.camel@citrix.com> <551BC9B0.10000@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <551BC9B0.10000@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: =?UTF-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?= , Ian Campbell Cc: Ross Lagerwall , Ian Jackson , Wei Liu , xen-devel@lists.xen.org List-Id: xen-devel@lists.xenproject.org T24gMDEvMDQvMTUgMTE6MzQsIFJvZ2VyIFBhdSBNb25uw6kgd3JvdGU6Cj4gSGVsbG8sCj4KPiBF bCAzMC8wMy8xNSBhIGxlcyAxMi40MCwgSWFuIENhbXBiZWxsIGhhIGVzY3JpdDoKPj4gT24gVGh1 LCAyMDE1LTAzLTI2IGF0IDE2OjIwICswMTAwLCBSb2dlciBQYXUgTW9ubsOpIHdyb3RlOgo+Pj4g RWwgMTYvMDMvMTUgYSBsZXMgMTQuMjksIFJvc3MgTGFnZXJ3YWxsIGhhIGVzY3JpdDoKPj4+PiBG cm9tOiBBbmRyZXcgQ29vcGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPgo+Pj4+Cj4+Pj4g UE9MTEhVUHxQT0xMSU4gaXMgYSB2YWxpZCByZXZlbnQgdG8gcmVjZWl2ZSB3aGVuIHRoZXJlIGlz IHJlYWRhYmxlIGRhdGEgaW4gYQo+Pj4+IHBpcGUsIGJ1dCB0aGUgd3JpdGFibGUgZmQgaGFzIGJl ZW4gY2xvc2VkLiAgVGhpcyBvY2N1cnMgaW4gbWlncmF0aW9uIHYyIHdoZW4KPj4+PiB0aGUgbGVn YWN5IGNvbnZlcnNpb24gcHJvY2VzcyAod2hpY2ggdHJhbnNmb3JtcyB0aGUgZGF0YSBpbmxpbmUp IGNvbXBsZXRlcyBhbmQKPj4+PiBleGl0cyBzdWNjZXNzZnVsbHkuCj4+Pj4KPj4+PiBJbiB0aGUg Y2FzZSB0aGF0IHRoZXJlIGlzIGRhdGEgdG8gcmVhZCwgc3VwcHJlc3MgdGhlIFBPTExIVVAuICBQ T1NJWCBzdGF0ZXMKPj4+PiB0aGF0IHRoZSBoYW5ndXAgc3RhdGUgaXMgbGF0Y2hlZFsxXSwgd2hp Y2ggbWVhbnMgaXQgd2lsbCByZW9jY3VyIG9uIHN1YnNlcXVlbnQKPj4+PiBwb2xsKCkgY2FsbHMu ICBUaGUgZGF0YWNvcGllciBpcyB0aHVzIHByb3ZpZGVkIHRoZSBvcHBvcnR1bml0eSB0byByZWFk IHVudGlsCj4+Pj4gRU9GLCBpZiBwb3NzaWJsZS4KPj4+Pgo+Pj4+IEEgUE9MTEhVUCBvbiBpdHMg b3duIGlzIHRyZWF0ZWQgZXhhY3RseSBhcyBiZWZvcmUsIGluZGljYXRpbmcgYSBkaWZmZXJlbnQK Pj4+PiBlcnJvciB3aXRoIHRoZSBmZC4KPj4+Pgo+Pj4+IFsxXSBodHRwOi8vcHVicy5vcGVuZ3Jv dXAub3JnL29ubGluZXB1YnMvOTY5OTkxOTc5OS9mdW5jdGlvbnMvcG9sbC5odG1sCj4+PiBUaGlz IHBhdGNoIGJyZWFrcyBib290aW5nIHB5Z3J1YiBndWVzdHMgb24gRnJlZUJTRCwgaXQgc2VlbXMg dG8gdHJpZ2dlciAKPj4+IHNvbWUga2luZCBvZiBlcnJvciB3aGVuIHB5Z3J1YiBleGl0czoKPj4+ Cj4+PiBsaWJ4bDogZXJyb3I6IGxpYnhsX2Jvb3Rsb2FkZXIuYzo1OTY6Ym9vdGxvYWRlcl9jb3B5 ZmFpbDogdW5leHBlY3RlZCBlb2YgY29weWluZyBib290bG9hZGVyIG91dHB1dAo+Pj4gbGlieGw6 IGVycm9yOiBsaWJ4bF9jcmVhdGUuYzoxMTI5OmRvbWNyZWF0ZV9yZWJ1aWxkX2RvbmU6IGNhbm5v dCAocmUtKWJ1aWxkIGRvbWFpbjogLTMKPj4+Cj4+PiBJIHdpbGwgdHJ5IHRvIGxvb2sgaW50byBp dCwgaGF2ZSB5b3UgdGVzdGVkIGlmIHRoZSBzYW1lIGhhcHBlbnMgb24gCj4+PiBMaW51eD8KPj4g Um9zcy9BbmRyZXcsIGhhdmUgeW91IHRyaWVkIHRoaXMgb24gTGludXg/Cj4+Cj4+IFJvZ2VyLCBE b2VzIHhsIC12dnYgb3IgZXZlbiBzdHJhY2UgZ2l2ZSBhbnkgY2x1ZXMgYXMgdG8gdGhlIHNlcXVl bmNlcyBvZgo+PiBldmVudHMgd2hpY2ggbGVhZCB0byB0aGUgZXJyb3I/Cj4gSGVyZSBpcyB0aGUg b3V0cHV0IG9mIHhsIC12dnYsIGl0IGRvZXNuJ3Qgc2VlbSB0byBjb250YWluIGFueSB1c2VmdWwg Cj4gaW5mbyBhcGFydCBmcm9tIHdoYXQgSSd2ZSBhbHJlYWR5IHBvc3RlZDoKPgo+ICMgeGwgLXZ2 diBjcmVhdGUgZGViaWFuLmNmZwo+IFBhcnNpbmcgY29uZmlnIGZyb20gZGViaWFuLmNmZwo+IGxp YnhsOiBkZWJ1ZzogbGlieGxfY3JlYXRlLmM6MTUyMTpkb19kb21haW5fY3JlYXRlOiBhbyAweDgw MjgzNDA4MDogY3JlYXRlOiBob3c9MHgwIGNhbGxiYWNrPTB4MCBwb2xsZXI9MHg4MDI4MWYwYTAK PiBsaWJ4bDogZGVidWc6IGxpYnhsX2RldmljZS5jOjI2OTpsaWJ4bF9fZGV2aWNlX2Rpc2tfc2V0 X2JhY2tlbmQ6IERpc2sgdmRldj14dmRhIHNwZWMuYmFja2VuZD11bmtub3duCj4gbGlieGw6IGRl YnVnOiBsaWJ4bF9kZXZpY2UuYzoyOTg6bGlieGxfX2RldmljZV9kaXNrX3NldF9iYWNrZW5kOiBE aXNrIHZkZXY9eHZkYSwgdXNpbmcgYmFja2VuZCBwaHkKPiBsaWJ4bDogZGVidWc6IGxpYnhsX2Ny ZWF0ZS5jOjkyNDppbml0aWF0ZV9kb21haW5fY3JlYXRlOiBydW5uaW5nIGJvb3Rsb2FkZXIKPiBs aWJ4bDogZGVidWc6IGxpYnhsX2RldmljZS5jOjI2OTpsaWJ4bF9fZGV2aWNlX2Rpc2tfc2V0X2Jh Y2tlbmQ6IERpc2sgdmRldj0obnVsbCkgc3BlYy5iYWNrZW5kPXBoeQo+IGxpYnhsOiBkZWJ1Zzog bGlieGwuYzozMDY1OmxpYnhsX19kZXZpY2VfZGlza19sb2NhbF9pbml0aWF0ZV9hdHRhY2g6IGxv Y2FsbHkgYXR0YWNoaW5nIFBIWSBkaXNrIC9kZXYvenZvbC90YW5rL2RlYmlhbgo+IGxpYnhsOiBk ZWJ1ZzogbGlieGxfYm9vdGxvYWRlci5jOjQxMTpib290bG9hZGVyX2Rpc2tfYXR0YWNoZWRfY2I6 IENvbmZpZyBib290bG9hZGVyIHZhbHVlOiBweWdydWIKPiBsaWJ4bDogZGVidWc6IGxpYnhsX2Jv b3Rsb2FkZXIuYzo0Mjc6Ym9vdGxvYWRlcl9kaXNrX2F0dGFjaGVkX2NiOiBDaGVja2luZyBmb3Ig Ym9vdGxvYWRlciBpbiBsaWJleGVjIHBhdGg6IC91c3IvbG9jYWwvbGliL3hlbi9iaW4vcHlncnVi Cj4gbGlieGw6IGRlYnVnOiBsaWJ4bF9jcmVhdGUuYzoxNTM3OmRvX2RvbWFpbl9jcmVhdGU6IGFv IDB4ODAyODM0MDgwOiBpbnByb2dyZXNzOiBwb2xsZXI9MHg4MDI4MWYwYTAsIGZsYWdzPWkKPiBs aWJ4bDogZGVidWc6IGxpYnhsX2V2ZW50LmM6NTc3OmxpYnhsX19ldl94c3dhdGNoX3JlZ2lzdGVy OiB3YXRjaCB3PTB4ODAyODM2N2EwIHdwYXRoPS9sb2NhbC9kb21haW4vMiB0b2tlbj0zLzA6IHJl Z2lzdGVyIHNsb3RudW09Mwo+IGxpYnhsOiBkZWJ1ZzogbGlieGxfZXZlbnQuYzoxOTQyOmxpYnhs X19hb19wcm9ncmVzc19yZXBvcnQ6IGFvIDB4ODAyODM0MDgwOiBwcm9ncmVzcyByZXBvcnQ6IGln bm9yZWQKPiBsaWJ4bDogZGVidWc6IGxpYnhsX2Jvb3Rsb2FkZXIuYzo1Mzk6Ym9vdGxvYWRlcl9n b3RwdHlzOiBleGVjdXRpbmcgYm9vdGxvYWRlcjogL3Vzci9sb2NhbC9saWIveGVuL2Jpbi9weWdy dWIKPiBsaWJ4bDogZGVidWc6IGxpYnhsX2Jvb3Rsb2FkZXIuYzo1NDM6Ym9vdGxvYWRlcl9nb3Rw dHlzOiAgIGJvb3Rsb2FkZXIgYXJnOiAvdXNyL2xvY2FsL2xpYi94ZW4vYmluL3B5Z3J1Ygo+IGxp YnhsOiBkZWJ1ZzogbGlieGxfYm9vdGxvYWRlci5jOjU0Mzpib290bG9hZGVyX2dvdHB0eXM6ICAg Ym9vdGxvYWRlciBhcmc6IC0tb3V0cHV0PS92YXIvcnVuL3hlbi9ib290bG9hZGVyLjIub3V0Cj4g bGlieGw6IGRlYnVnOiBsaWJ4bF9ib290bG9hZGVyLmM6NTQzOmJvb3Rsb2FkZXJfZ290cHR5czog ICBib290bG9hZGVyIGFyZzogLS1vdXRwdXQtZm9ybWF0PXNpbXBsZTAKPiBsaWJ4bDogZGVidWc6 IGxpYnhsX2Jvb3Rsb2FkZXIuYzo1NDM6Ym9vdGxvYWRlcl9nb3RwdHlzOiAgIGJvb3Rsb2FkZXIg YXJnOiAtLW91dHB1dC1kaXJlY3Rvcnk9L3Zhci9ydW4veGVuL2Jvb3Rsb2FkZXIuMi5kCj4gbGli eGw6IGRlYnVnOiBsaWJ4bF9ib290bG9hZGVyLmM6NTQzOmJvb3Rsb2FkZXJfZ290cHR5czogICBi b290bG9hZGVyIGFyZzogL2Rldi96dm9sL3RhbmsvZGViaWFuCj4gbGlieGw6IGRlYnVnOiBsaWJ4 bF9ldmVudC5jOjUxNDp3YXRjaGZkX2NhbGxiYWNrOiB3YXRjaCB3PTB4ODAyODM2N2EwIHdwYXRo PS9sb2NhbC9kb21haW4vMiB0b2tlbj0zLzA6IGV2ZW50IGVwYXRoPS9sb2NhbC9kb21haW4vMgo+ IGxpYnhsOiBlcnJvcjogbGlieGxfYm9vdGxvYWRlci5jOjU5Njpib290bG9hZGVyX2NvcHlmYWls OiB1bmV4cGVjdGVkIGVvZiBjb3B5aW5nIGJvb3Rsb2FkZXIgb3V0cHV0Cj4gbGlieGw6IGRlYnVn OiBsaWJ4bF9ib290bG9hZGVyLmM6NjM4OmJvb3Rsb2FkZXJfZmluaXNoZWQ6IGJvb3Rsb2FkZXIg Y29tcGxldGVkCj4gbGlieGw6IGRlYnVnOiBsaWJ4bF9ldmVudC5jOjYxNTpsaWJ4bF9fZXZfeHN3 YXRjaF9kZXJlZ2lzdGVyOiB3YXRjaCB3PTB4ODAyODM2N2EwIHdwYXRoPS9sb2NhbC9kb21haW4v MiB0b2tlbj0zLzA6IGRlcmVnaXN0ZXIgc2xvdG51bT0zCj4gbGlieGw6IGVycm9yOiBsaWJ4bF9j cmVhdGUuYzoxMTM4OmRvbWNyZWF0ZV9yZWJ1aWxkX2RvbmU6IGNhbm5vdCAocmUtKWJ1aWxkIGRv bWFpbjogLTMKPiBsaWJ4bDogaW5mbzogbGlieGwuYzoxNjk5OmRldmljZXNfZGVzdHJveV9jYjog Zm9ya2VkIHBpZCA3NjMgZm9yIGRlc3Ryb3kgb2YgZG9tYWluIDIKPiBsaWJ4bDogZGVidWc6IGxp YnhsX2V2ZW50LmM6MTc2NjpsaWJ4bF9fYW9fY29tcGxldGU6IGFvIDB4ODAyODM0MDgwOiBjb21w bGV0ZSwgcmM9LTMKPiBsaWJ4bDogZGVidWc6IGxpYnhsX2V2ZW50LmM6MTczODpsaWJ4bF9fYW9f X2Rlc3Ryb3k6IGFvIDB4ODAyODM0MDgwOiBkZXN0cm95Cj4geGM6IGRlYnVnOiBoeXBlcmNhbGwg YnVmZmVyOiB0b3RhbCBhbGxvY2F0aW9uczo0NCB0b3RhbCByZWxlYXNlczo0NAo+IHhjOiBkZWJ1 ZzogaHlwZXJjYWxsIGJ1ZmZlcjogY3VycmVudCBhbGxvY2F0aW9uczowIG1heGltdW0gYWxsb2Nh dGlvbnM6Mgo+IHhjOiBkZWJ1ZzogaHlwZXJjYWxsIGJ1ZmZlcjogY2FjaGUgY3VycmVudCBzaXpl OjIKPiB4YzogZGVidWc6IGh5cGVyY2FsbCBidWZmZXI6IGNhY2hlIGhpdHM6MzUgbWlzc2VzOjIg dG9vYmlnOjcKPgo+IEFuZCB0aGlzIGlzIChJIHRoaW5rKSB0aGUgcmVsZXZhbnQgb3V0cHV0IGZy b20ga3RyYWNlL2tkdW1wOgo+Cj4gICAgNzY2IHhsICAgICAgIFJFVCAgIHJlYWQgMjAvMHgxNAo+ ICAgIDc2NiB4bCAgICAgICBDQUxMICByZWFkKDB4YywweDgwMjgwNzAyZiwweDNjZCkKPiAgICA3 NjYgeGwgICAgICAgUkVUICAgcmVhZCAtMSBlcnJubyAzNSBSZXNvdXJjZSB0ZW1wb3JhcmlseSB1 bmF2YWlsYWJsZQo+ICAgIDc2NiB4bCAgICAgICBDQUxMICBnZXR0aW1lb2ZkYXkoMHg3ZmZmZmZm ZmRlOTAsMCkKPiAgICA3NjYgeGwgICAgICAgUkVUICAgZ2V0dGltZW9mZGF5IDAKPiAgICA3NjYg eGwgICAgICAgQ0FMTCAgcG9sbCgweDgwMjgxNjE4MCwweDYsMHhmZmZmZmZmZikKPiAgICA3NjYg eGwgICAgICAgUkVUICAgcG9sbCAxCj4gICAgNzY2IHhsICAgICAgIENBTEwgIGdldHRpbWVvZmRh eSgweDdmZmZmZmZmZGU5MCwwKQo+ICAgIDc2NiB4bCAgICAgICBSRVQgICBnZXR0aW1lb2ZkYXkg MAo+ICAgIDc2NiB4bCAgICAgICBDQUxMICB3cml0ZSgweDEwLDB4ODAyODA3MDE0LDB4MWIpCj4g ICAgNzY2IHhsICAgICAgIEdJTyAgIGZkIDE2IHdyb3RlIDI3IGJ5dGVzCj4gICAgICAgIDB4MDAw MCAxYjViIDNmMzEgNmMxYiAzZTFiIDViMzIgMzQzYiAzMTQ4IDAwMDAgMDAwMCAwMDBkIDFiNWIg IHwuWz8xbC4+LlsyNDsxSC4uLi4uLi5bfAo+ICAgICAgICAweDAwMTYgM2YzMSA2YzFiIDNlICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8PzFsLj58Cj4KPiAgICA3 NjYgeGwgICAgICAgUkVUICAgd3JpdGUgMjcvMHgxYgo+ICAgIDc2NiB4bCAgICAgICBDQUxMICBn ZXR0aW1lb2ZkYXkoMHg3ZmZmZmZmZmRlOTAsMCkKPiAgICA3NjYgeGwgICAgICAgUkVUICAgZ2V0 dGltZW9mZGF5IDAKPiAgICA3NjYgeGwgICAgICAgQ0FMTCAgcG9sbCgweDgwMjgxNjE4MCwweDUs MHhmZmZmZmZmZikKPiAgICA3NjYgeGwgICAgICAgUkVUICAgcG9sbCAxCj4gICAgNzY2IHhsICAg ICAgIFBTSUcgIFNJR0NITEQgY2F1Z2h0IGhhbmRsZXI9MHg4MDExNGJkZjAgbWFzaz0weDAgY29k ZT1DTERfRVhJVEVECj4gICAgNzY2IHhsICAgICAgIENBTEwgIHNpZ3Byb2NtYXNrKFNJR19TRVRN QVNLLDB4N2ZmZmZmZmZkODFjLDApCj4gICAgNzY2IHhsICAgICAgIFJFVCAgIHNpZ3Byb2NtYXNr IDAKPiAgICA3NjYgeGwgICAgICAgQ0FMTCAgd3JpdGUoMHhlLDB4ODAwYWYxZmQyLDB4MSkKPiAg ICA3NjYgeGwgICAgICAgR0lPICAgZmQgMTQgd3JvdGUgMSBieXRlCj4gICAgICAgICJcMCIKPiAg ICA3NjYgeGwgICAgICAgUkVUICAgd3JpdGUgMQo+ICAgIDc2NiB4bCAgICAgICBDQUxMICBzaWdy ZXR1cm4oMHg3ZmZmZmZmZmQ0NDApCj4gICAgNzY2IHhsICAgICAgIFJFVCAgIHNpZ3JldHVybiBK VVNUUkVUVVJOCj4gICAgNzY2IHhsICAgICAgIENBTEwgIGdldHRpbWVvZmRheSgweDdmZmZmZmZm ZGU5MCwwKQo+ICAgIDc2NiB4bCAgICAgICBSRVQgICBnZXR0aW1lb2ZkYXkgMAo+ICAgIDc2NiB4 bCAgICAgICBDQUxMICByZWFkKDB4YywweDgwMjgwNzAxNCwweDNlOCkKPiAgICA3NjYgeGwgICAg ICAgR0lPICAgZmQgMTIgcmVhZCAwIGJ5dGVzCj4gICAgICAgICIiCj4gICAgNzY2IHhsICAgICAg IFJFVCAgIHJlYWQgMAo+ICAgIDc2NiB4bCAgICAgICBDQUxMICB3cml0ZSgweDIsMHg3ZmZmZmZm ZmQwYjAsMHg3KQo+ICAgIDc2NiB4bCAgICAgICBHSU8gICBmZCAyIHdyb3RlIDcgYnl0ZXMKPiAg ICAgICAgImxpYnhsOiAiCj4gICAgNzY2IHhsICAgICAgIFJFVCAgIHdyaXRlIDcKPiAgICA3NjYg eGwgICAgICAgQ0FMTCAgd3JpdGUoMHgyLDB4N2ZmZmZmZmZkMGIwLDB4NykKPiAgICA3NjYgeGwg ICAgICAgR0lPICAgZmQgMiB3cm90ZSA3IGJ5dGVzCj4gICAgICAgICJlcnJvcjogIgo+Cj4+IERp ZC9kb2VzIGNvbW1pdCA5MTY3MzVlMTgxNGQgInRvb2xzL2xpYnhsOiBSZXN0b3JlIGVycm5vdmFs IGJlaGF2aW9yIGZvcgo+PiBkYXRhY29waWVyIGNhbGxiYWNrIiBtYWtlIGFueSBkaWZmZXJlbmNl Pwo+IE5vLCBJIHN0aWxsIGdldCB0aGUgc2FtZSBlcnJvci4gSSB3aWxsIHRyeSB0byB0YWtlIGEg Y2xvc2VyIGxvb2sgaW50byB0aGlzIAo+IHdoZW4gSSBmaW5pc2ggc29tZSBwZW5kaW5nIHN0dWZm Li4uCgpUaGlzIHdvcmtzIG9uIExpbnV4CgpsaWJ4bDogZGVidWc6IGxpYnhsX2V2ZW50LmM6NTc3 OmxpYnhsX19ldl94c3dhdGNoX3JlZ2lzdGVyOiB3YXRjaAp3PTB4YjUwODcwIHdwYXRoPS9sb2Nh bC9kb21haW4vMTEgdG9rZW49My8wOiByZWdpc3RlciBzbG90bnVtPTMKbGlieGw6IGRlYnVnOiBs aWJ4bF9ldmVudC5jOjE5NDI6bGlieGxfX2FvX3Byb2dyZXNzX3JlcG9ydDogYW8gMHhiNTM3MDA6 CnByb2dyZXNzIHJlcG9ydDogaWdub3JlZApsaWJ4bDogZGVidWc6IGxpYnhsX2Jvb3Rsb2FkZXIu Yzo1Mzk6Ym9vdGxvYWRlcl9nb3RwdHlzOiBleGVjdXRpbmcKYm9vdGxvYWRlcjogL3Vzci9saWIv eGVuL2Jpbi9weWdydWIKbGlieGw6IGRlYnVnOiBsaWJ4bF9ib290bG9hZGVyLmM6NTQzOmJvb3Rs b2FkZXJfZ290cHR5czogICBib290bG9hZGVyCmFyZzogL3Vzci9saWIveGVuL2Jpbi9weWdydWIK bGlieGw6IGRlYnVnOiBsaWJ4bF9ib290bG9hZGVyLmM6NTQzOmJvb3Rsb2FkZXJfZ290cHR5czog ICBib290bG9hZGVyCmFyZzogLS1hcmdzPXJvb3Q9L2Rldi94dmRhMiBybwpsaWJ4bDogZGVidWc6 IGxpYnhsX2Jvb3Rsb2FkZXIuYzo1NDM6Ym9vdGxvYWRlcl9nb3RwdHlzOiAgIGJvb3Rsb2FkZXIK YXJnOiAtLW91dHB1dD0vdmFyL3J1bi94ZW4vYm9vdGxvYWRlci4xMS5vdXQKbGlieGw6IGRlYnVn OiBsaWJ4bF9ib290bG9hZGVyLmM6NTQzOmJvb3Rsb2FkZXJfZ290cHR5czogICBib290bG9hZGVy CmFyZzogLS1vdXRwdXQtZm9ybWF0PXNpbXBsZTAKbGlieGw6IGRlYnVnOiBsaWJ4bF9ib290bG9h ZGVyLmM6NTQzOmJvb3Rsb2FkZXJfZ290cHR5czogICBib290bG9hZGVyCmFyZzogLS1vdXRwdXQt ZGlyZWN0b3J5PS92YXIvcnVuL3hlbi9ib290bG9hZGVyLjExLmQKbGlieGw6IGRlYnVnOiBsaWJ4 bF9ib290bG9hZGVyLmM6NTQzOmJvb3Rsb2FkZXJfZ290cHR5czogICBib290bG9hZGVyCmFyZzog L2Rldi92bS9hbmRyZXdjb29wLWplc3NpZS1kaXNrCmxpYnhsOiBkZWJ1ZzogbGlieGxfZXZlbnQu Yzo1MTQ6d2F0Y2hmZF9jYWxsYmFjazogd2F0Y2ggdz0weGI1MDg3MAp3cGF0aD0vbG9jYWwvZG9t YWluLzExIHRva2VuPTMvMDogZXZlbnQgZXBhdGg9L2xvY2FsL2RvbWFpbi8xMQpsaWJ4bDogZGVi dWc6IGxpYnhsX2Jvb3Rsb2FkZXIuYzo2Mzg6Ym9vdGxvYWRlcl9maW5pc2hlZDogYm9vdGxvYWRl cgpjb21wbGV0ZWQKbGlieGw6IGRlYnVnOiBsaWJ4bF9ib290bG9hZGVyLmM6MTM4OmJvb3Rsb2Fk ZXJfcmVzdWx0X2NvbW1hbmQ6CmJvb3Rsb2FkZXIgb3V0cHV0IGNvbnRhaW5lZCBrZXJuZWwKL3Zh ci9ydW4veGVuL2Jvb3Rsb2FkZXIuMTEuZC9ib290X2tlcm5lbC50Mk9zRVYKbGlieGw6IGRlYnVn OiBsaWJ4bF9ib290bG9hZGVyLmM6MTM4OmJvb3Rsb2FkZXJfcmVzdWx0X2NvbW1hbmQ6CmJvb3Rs b2FkZXIgb3V0cHV0IGNvbnRhaW5lZCByYW1kaXNrCi92YXIvcnVuL3hlbi9ib290bG9hZGVyLjEx LmQvYm9vdF9yYW1kaXNrLjNpMlgxYgpsaWJ4bDogZGVidWc6IGxpYnhsX2Jvb3Rsb2FkZXIuYzox Mzg6Ym9vdGxvYWRlcl9yZXN1bHRfY29tbWFuZDoKYm9vdGxvYWRlciBvdXRwdXQgY29udGFpbmVk IGFyZ3Mgcm9vdD0vZGV2L3h2ZGEyIHJvIGVsZXZhdG9yPW5vb3AKcm9vdD0vZGV2L3h2ZGEyIHJv CmxpYnhsOiBkZWJ1ZzogbGlieGxfYm9vdGxvYWRlci5jOjY1MTpib290bG9hZGVyX2ZpbmlzaGVk OiBib290bG9hZGVyCmV4ZWN1dGlvbiBzdWNjZXNzZnVsCgoKQXMgN2U5ZWM1IGhhcyBwb3NpdGl2 ZWx5IGJlZW4gaWRlbnRpZmllZCBhcyB0aGUgY2F1c2Ugb2YgdGhlIHJlZ3Jlc3Npb24Kb24gRnJl ZUJTRCwgdGhhdCBwcmVzdW1hYmx5IG1lYW5zIHRoYXQgRnJlZUJTRCB3b24ndCBwZXJtaXQgYSBy ZWFkKCkgb2YKYW4gRkQgd2hpY2ggaGFzIFBPTExIVVAgc2V0LgoKUE9TSVggYXBwZWFycyB0byBz cGVjaWZpY2FsbHkgYWxsb3cgdGhpcyBhY3Rpb24uCgp+QW5kcmV3CgpfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhl bi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHA6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=