From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:60295) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dk9aN-0006tM-6Z for qemu-devel@nongnu.org; Tue, 22 Aug 2017 09:51:25 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dk9aK-0000I8-H5 for qemu-devel@nongnu.org; Tue, 22 Aug 2017 09:51:15 -0400 Resent-Message-Id: Message-ID: <150340985710.30.5908145914758755198@205a2245145f> Reply-To: In-Reply-To: <20170822131832.20191-1-pbonzini@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 From: no-reply@patchew.org Date: Tue, 22 Aug 2017 06:50:58 -0700 (PDT) Subject: Re: [Qemu-devel] [RFC PATCH 00/10] scsi, block: introduce persistent reservation managers List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: pbonzini@redhat.com Cc: famz@redhat.com, qemu-devel@nongnu.orgfamz@redhat.com, qemu-block@nongnu.org SGksCgpUaGlzIHNlcmllcyBmYWlsZWQgYXV0b21hdGljIGJ1aWxkIHRlc3QuIFBsZWFzZSBmaW5k IHRoZSB0ZXN0aW5nIGNvbW1hbmRzIGFuZAp0aGVpciBvdXRwdXQgYmVsb3cuIElmIHlvdSBoYXZl IGRvY2tlciBpbnN0YWxsZWQsIHlvdSBjYW4gcHJvYmFibHkgcmVwcm9kdWNlIGl0CmxvY2FsbHku CgpUeXBlOiBzZXJpZXMKTWVzc2FnZS1pZDogMjAxNzA4MjIxMzE4MzIuMjAxOTEtMS1wYm9uemlu aUByZWRoYXQuY29tClN1YmplY3Q6IFtRZW11LWRldmVsXSBbUkZDIFBBVENIIDAwLzEwXSBzY3Np LCBibG9jazogaW50cm9kdWNlIHBlcnNpc3RlbnQgcmVzZXJ2YXRpb24gbWFuYWdlcnMKCj09PSBU RVNUIFNDUklQVCBCRUdJTiA9PT0KIyEvYmluL2Jhc2gKc2V0IC1lCmdpdCBzdWJtb2R1bGUgdXBk YXRlIC0taW5pdCBkdGMKIyBMZXQgZG9ja2VyIHRlc3RzIGR1bXAgZW52aXJvbm1lbnQgaW5mbwpl eHBvcnQgU0hPV19FTlY9MQpleHBvcnQgSj04CnRpbWUgbWFrZSBkb2NrZXItdGVzdC1xdWlja0Bj ZW50b3M2CnRpbWUgbWFrZSBkb2NrZXItdGVzdC1idWlsZEBtaW4tZ2xpYgp0aW1lIG1ha2UgZG9j a2VyLXRlc3QtbWluZ3dAZmVkb3JhCj09PSBURVNUIFNDUklQVCBFTkQgPT09CgpVcGRhdGluZyAz YzhjZjVhOWMyMWZmODc4MjE2NGQxZGVmN2Y0NGJkODg4NzEzMzg0CkZyb20gaHR0cHM6Ly9naXRo dWIuY29tL3BhdGNoZXctcHJvamVjdC9xZW11CiAqIFtuZXcgdGFnXSAgICAgICAgICAgICAgIHBh dGNoZXcvMjAxNzA4MjIxMzE4MzIuMjAxOTEtMS1wYm9uemluaUByZWRoYXQuY29tIC0+IHBhdGNo ZXcvMjAxNzA4MjIxMzE4MzIuMjAxOTEtMS1wYm9uemluaUByZWRoYXQuY29tClN3aXRjaGVkIHRv IGEgbmV3IGJyYW5jaCAndGVzdCcKZTcyZWMzODM5OSBzY3NpOiBhZGQgcGVyc2lzdGVudCByZXNl cnZhdGlvbiBtYW5hZ2VyIHVzaW5nIHFlbXUtcHItaGVscGVyCjI4NDg5NWYyYWIgc2NzaTogYWRk IG11bHRpcGF0aCBzdXBwb3J0IHRvIHFlbXUtcHItaGVscGVyCmE5NDZmNDg0Y2Egc2NzaTogYnVp bGQgcWVtdS1wci1oZWxwZXIKMDVmZTlkODllYyBpbzogYWRkIHFpb19jaGFubmVsX3JlYWQvd3Jp dGVfYWxsCjc3M2JkNGI4ZDcgc2NzaSwgZmlsZS1wb3NpeDogYWRkIHN1cHBvcnQgZm9yIHBlcnNp c3RlbnQgcmVzZXJ2YXRpb24gbWFuYWdlbWVudAoyZGQzOTRiNzY5IHNjc2k6IG1vdmUgYmxvY2sv c2NzaS5oIHRvIGluY2x1ZGUvc2NzaS9jb25zdGFudHMuaAoyMTZhYjg2OTJlIHNjc2k6IGludHJv ZHVjZSBzZ19pb19zZW5zZV9mcm9tX2Vycm5vCjZhNWExZDA2MjQgc2NzaTogaW50cm9kdWNlIHNj c2lfYnVpbGRfc2Vuc2UKN2ZhNzEyNThmYSBzY3NpOiBtb3ZlIG5vbi1lbXVsYXRpb24gc3BlY2lm aWMgY29kZSB0byBzY3NpLwo0MzgxZjNmNTBkIHNjc2k6IHJlbmFtZSBzY3NpX2NvbnZlcnRfc2Vu c2UKCj09PSBPVVRQVVQgQkVHSU4gPT09ClN1Ym1vZHVsZSAnZHRjJyAoZ2l0Oi8vZ2l0LnFlbXUt cHJvamVjdC5vcmcvZHRjLmdpdCkgcmVnaXN0ZXJlZCBmb3IgcGF0aCAnZHRjJwpDbG9uaW5nIGlu dG8gJy92YXIvdG1wL3BhdGNoZXctdGVzdGVyLXRtcC1pbGI4dDdwei9zcmMvZHRjJy4uLgpTdWJt b2R1bGUgcGF0aCAnZHRjJzogY2hlY2tlZCBvdXQgJzU1OGNkODFiZGQ0MzI3NjliNTliZmYwMTI0 MGM0NGY4MmNmYjFhOWQnCiAgQlVJTEQgICBjZW50b3M2Cm1ha2VbMV06IEVudGVyaW5nIGRpcmVj dG9yeSAnL3Zhci90bXAvcGF0Y2hldy10ZXN0ZXItdG1wLWlsYjh0N3B6L3NyYycKICBBUkNISVZF IHFlbXUudGd6CiAgQVJDSElWRSBkdGMudGd6CiAgQ09QWSAgICBSVU5ORVIKICAgIFJVTiB0ZXN0 LXF1aWNrIGluIHFlbXU6Y2VudG9zNiAKUGFja2FnZXMgaW5zdGFsbGVkOgpTREwtZGV2ZWwtMS4y LjE0LTcuZWw2XzcuMS54ODZfNjQKYmlzb24tMi40LjEtNS5lbDYueDg2XzY0CmJ6aXAyLWRldmVs LTEuMC41LTcuZWw2XzAueDg2XzY0CmNjYWNoZS0zLjEuNi0yLmVsNi54ODZfNjQKY3NuYXBweS1k ZXZlbC0wLTYuMjAxNTA3MjlnaXRkN2JjNjgzLmVsNi54ODZfNjQKZmxleC0yLjUuMzUtOS5lbDYu eDg2XzY0CmdjYy00LjQuNy0xOC5lbDYueDg2XzY0CmdpdC0xLjcuMS04LmVsNi54ODZfNjQKZ2xp YjItZGV2ZWwtMi4yOC44LTkuZWw2Lng4Nl82NApsaWJlcG94eS1kZXZlbC0xLjItMy5lbDYueDg2 XzY0CmxpYmZkdC1kZXZlbC0xLjQuMC0xLmVsNi54ODZfNjQKbGlicmRtYWNtLWRldmVsLTEuMC4y MS0wLmVsNi54ODZfNjQKbHpvLWRldmVsLTIuMDMtMy4xLmVsNl81LjEueDg2XzY0Cm1ha2UtMy44 MS0yMy5lbDYueDg2XzY0Cm1lc2EtbGliRUdMLWRldmVsLTExLjAuNy00LmVsNi54ODZfNjQKbWVz YS1saWJnYm0tZGV2ZWwtMTEuMC43LTQuZWw2Lng4Nl82NApwYWNrYWdlIGcrKyBpcyBub3QgaW5z dGFsbGVkCnBpeG1hbi1kZXZlbC0wLjMyLjgtMS5lbDYueDg2XzY0CnNwaWNlLWdsaWItZGV2ZWwt MC4yNi04LmVsNi54ODZfNjQKc3BpY2Utc2VydmVyLWRldmVsLTAuMTIuNC0xNi5lbDYueDg2XzY0 CnRhci0xLjIzLTE1LmVsNl84Lng4Nl82NAp2dGUtZGV2ZWwtMC4yNS4xLTkuZWw2Lng4Nl82NAp4 ZW4tZGV2ZWwtNC42LjMtMTUuZWw2Lng4Nl82NAp6bGliLWRldmVsLTEuMi4zLTI5LmVsNi54ODZf NjQKCkVudmlyb25tZW50IHZhcmlhYmxlczoKUEFDS0FHRVM9Ymlzb24gICAgIGJ6aXAyLWRldmVs ICAgICBjY2FjaGUgICAgIGNzbmFwcHktZGV2ZWwgICAgIGZsZXggICAgIGcrKyAgICAgZ2NjICAg ICBnaXQgICAgIGdsaWIyLWRldmVsICAgICBsaWJlcG94eS1kZXZlbCAgICAgbGliZmR0LWRldmVs ICAgICBsaWJyZG1hY20tZGV2ZWwgICAgIGx6by1kZXZlbCAgICAgbWFrZSAgICAgbWVzYS1saWJF R0wtZGV2ZWwgICAgIG1lc2EtbGliZ2JtLWRldmVsICAgICBwaXhtYW4tZGV2ZWwgICAgIFNETC1k ZXZlbCAgICAgc3BpY2UtZ2xpYi1kZXZlbCAgICAgc3BpY2Utc2VydmVyLWRldmVsICAgICB0YXIg ICAgIHZ0ZS1kZXZlbCAgICAgeGVuLWRldmVsICAgICB6bGliLWRldmVsCkhPU1ROQU1FPWUyZGYz MmJmNmY1YQpURVJNPXh0ZXJtCk1BS0VGTEFHUz0gLWo4CkhJU1RTSVpFPTEwMDAKSj04ClVTRVI9 cm9vdApMU19DT0xPUlM9cnM9MDpkaT0wMTszNDpsbj0wMTszNjptaD0wMDpwaT00MDszMzpzbz0w MTszNTpkbz0wMTszNTpiZD00MDszMzswMTpjZD00MDszMzswMTpvcj00MDszMTswMTptaT0wMTsw NTszNzs0MTpzdT0zNzs0MTpzZz0zMDs0MzpjYT0zMDs0MTp0dz0zMDs0Mjpvdz0zNDs0MjpzdD0z Nzs0NDpleD0wMTszMjoqLnRhcj0wMTszMToqLnRnej0wMTszMToqLmFyaj0wMTszMToqLnRhej0w MTszMToqLmx6aD0wMTszMToqLmx6bWE9MDE7MzE6Ki50bHo9MDE7MzE6Ki50eHo9MDE7MzE6Ki56 aXA9MDE7MzE6Ki56PTAxOzMxOiouWj0wMTszMToqLmR6PTAxOzMxOiouZ3o9MDE7MzE6Ki5sej0w MTszMToqLnh6PTAxOzMxOiouYnoyPTAxOzMxOioudGJ6PTAxOzMxOioudGJ6Mj0wMTszMToqLmJ6 PTAxOzMxOioudHo9MDE7MzE6Ki5kZWI9MDE7MzE6Ki5ycG09MDE7MzE6Ki5qYXI9MDE7MzE6Ki5y YXI9MDE7MzE6Ki5hY2U9MDE7MzE6Ki56b289MDE7MzE6Ki5jcGlvPTAxOzMxOiouN3o9MDE7MzE6 Ki5yej0wMTszMToqLmpwZz0wMTszNToqLmpwZWc9MDE7MzU6Ki5naWY9MDE7MzU6Ki5ibXA9MDE7 MzU6Ki5wYm09MDE7MzU6Ki5wZ209MDE7MzU6Ki5wcG09MDE7MzU6Ki50Z2E9MDE7MzU6Ki54Ym09 MDE7MzU6Ki54cG09MDE7MzU6Ki50aWY9MDE7MzU6Ki50aWZmPTAxOzM1OioucG5nPTAxOzM1Oiou c3ZnPTAxOzM1Oiouc3Znej0wMTszNToqLm1uZz0wMTszNToqLnBjeD0wMTszNToqLm1vdj0wMTsz NToqLm1wZz0wMTszNToqLm1wZWc9MDE7MzU6Ki5tMnY9MDE7MzU6Ki5ta3Y9MDE7MzU6Ki5vZ209 MDE7MzU6Ki5tcDQ9MDE7MzU6Ki5tNHY9MDE7MzU6Ki5tcDR2PTAxOzM1Oioudm9iPTAxOzM1Oiou cXQ9MDE7MzU6Ki5udXY9MDE7MzU6Ki53bXY9MDE7MzU6Ki5hc2Y9MDE7MzU6Ki5ybT0wMTszNToq LnJtdmI9MDE7MzU6Ki5mbGM9MDE7MzU6Ki5hdmk9MDE7MzU6Ki5mbGk9MDE7MzU6Ki5mbHY9MDE7 MzU6Ki5nbD0wMTszNToqLmRsPTAxOzM1OioueGNmPTAxOzM1OioueHdkPTAxOzM1OioueXV2PTAx OzM1OiouY2dtPTAxOzM1OiouZW1mPTAxOzM1OiouYXh2PTAxOzM1OiouYW54PTAxOzM1Oioub2d2 PTAxOzM1Oioub2d4PTAxOzM1OiouYWFjPTAxOzM2OiouYXU9MDE7MzY6Ki5mbGFjPTAxOzM2Oiou bWlkPTAxOzM2OioubWlkaT0wMTszNjoqLm1rYT0wMTszNjoqLm1wMz0wMTszNjoqLm1wYz0wMTsz NjoqLm9nZz0wMTszNjoqLnJhPTAxOzM2Oioud2F2PTAxOzM2OiouYXhhPTAxOzM2Oioub2dhPTAx OzM2Oiouc3B4PTAxOzM2OioueHNwZj0wMTszNjoKQ0NBQ0hFX0RJUj0vdmFyL3RtcC9jY2FjaGUK RVhUUkFfQ09ORklHVVJFX09QVFM9ClY9ClNIT1dfRU5WPTEKTUFJTD0vdmFyL3Nwb29sL21haWwv cm9vdApQQVRIPS91c3IvbGliL2NjYWNoZTovdXNyL2xpYjY0L2NjYWNoZTovdXNyL2xvY2FsL3Ni aW46L3Vzci9sb2NhbC9iaW46L3Vzci9zYmluOi91c3IvYmluOi9zYmluOi9iaW4KUFdEPS8KTEFO Rz1lbl9VUy5VVEYtOApUQVJHRVRfTElTVD0KSElTVENPTlRST0w9aWdub3JlZHVwcwpTSExWTD0x CkhPTUU9L3Jvb3QKVEVTVF9ESVI9L3RtcC9xZW11LXRlc3QKTE9HTkFNRT1yb290CkxFU1NPUEVO PXx8L3Vzci9iaW4vbGVzc3BpcGUuc2ggJXMKRkVBVFVSRVM9IGR0YwpERUJVRz0KR19CUk9LRU5f RklMRU5BTUVTPTEKQ0NBQ0hFX0hBU0hESVI9Cl89L3Vzci9iaW4vZW52CgpDb25maWd1cmUgb3B0 aW9uczoKLS1lbmFibGUtd2Vycm9yIC0tdGFyZ2V0LWxpc3Q9eDg2XzY0LXNvZnRtbXUsYWFyY2g2 NC1zb2Z0bW11IC0tcHJlZml4PS92YXIvdG1wL3FlbXUtYnVpbGQvaW5zdGFsbApObyBDKysgY29t cGlsZXIgYXZhaWxhYmxlOyBkaXNhYmxpbmcgQysrIHNwZWNpZmljIG9wdGlvbmFsIGNvZGUKSW5z dGFsbCBwcmVmaXggICAgL3Zhci90bXAvcWVtdS1idWlsZC9pbnN0YWxsCkJJT1MgZGlyZWN0b3J5 ICAgIC92YXIvdG1wL3FlbXUtYnVpbGQvaW5zdGFsbC9zaGFyZS9xZW11CmJpbmFyeSBkaXJlY3Rv cnkgIC92YXIvdG1wL3FlbXUtYnVpbGQvaW5zdGFsbC9iaW4KbGlicmFyeSBkaXJlY3RvcnkgL3Zh ci90bXAvcWVtdS1idWlsZC9pbnN0YWxsL2xpYgptb2R1bGUgZGlyZWN0b3J5ICAvdmFyL3RtcC9x ZW11LWJ1aWxkL2luc3RhbGwvbGliL3FlbXUKbGliZXhlYyBkaXJlY3RvcnkgL3Zhci90bXAvcWVt dS1idWlsZC9pbnN0YWxsL2xpYmV4ZWMKaW5jbHVkZSBkaXJlY3RvcnkgL3Zhci90bXAvcWVtdS1i dWlsZC9pbnN0YWxsL2luY2x1ZGUKY29uZmlnIGRpcmVjdG9yeSAgL3Zhci90bXAvcWVtdS1idWls ZC9pbnN0YWxsL2V0Ywpsb2NhbCBzdGF0ZSBkaXJlY3RvcnkgICAvdmFyL3RtcC9xZW11LWJ1aWxk L2luc3RhbGwvdmFyCk1hbnVhbCBkaXJlY3RvcnkgIC92YXIvdG1wL3FlbXUtYnVpbGQvaW5zdGFs bC9zaGFyZS9tYW4KRUxGIGludGVycCBwcmVmaXggL3Vzci9nbmVtdWwvcWVtdS0lTQpTb3VyY2Ug cGF0aCAgICAgICAvdG1wL3FlbXUtdGVzdC9zcmMKQyBjb21waWxlciAgICAgICAgY2MKSG9zdCBD IGNvbXBpbGVyICAgY2MKQysrIGNvbXBpbGVyICAgICAgCk9iamVjdGl2ZS1DIGNvbXBpbGVyIGNj CkFSRkxBR1MgICAgICAgICAgIHJ2CkNGTEFHUyAgICAgICAgICAgIC1PMiAtVV9GT1JUSUZZX1NP VVJDRSAtRF9GT1JUSUZZX1NPVVJDRT0yIC1nIApRRU1VX0NGTEFHUyAgICAgICAtSS91c3IvaW5j bHVkZS9waXhtYW4tMSAgIC1JJChTUkNfUEFUSCkvZHRjL2xpYmZkdCAtcHRocmVhZCAtSS91c3Iv aW5jbHVkZS9nbGliLTIuMCAtSS91c3IvbGliNjQvZ2xpYi0yLjAvaW5jbHVkZSAgIC1ETkNVUlNF U19XSURFQ0hBUiAgIC1mUElFIC1EUElFIC1tNjQgLW1jeDE2IC1EX0dOVV9TT1VSQ0UgLURfRklM RV9PRkZTRVRfQklUUz02NCAtRF9MQVJHRUZJTEVfU09VUkNFIC1Xc3RyaWN0LXByb3RvdHlwZXMg LVdyZWR1bmRhbnQtZGVjbHMgLVdhbGwgLVd1bmRlZiAtV3dyaXRlLXN0cmluZ3MgLVdtaXNzaW5n LXByb3RvdHlwZXMgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZuby1jb21tb24gLWZ3cmFwdiAgLVdl bmRpZi1sYWJlbHMgLVduby1taXNzaW5nLWluY2x1ZGUtZGlycyAtV2VtcHR5LWJvZHkgLVduZXN0 ZWQtZXh0ZXJucyAtV2Zvcm1hdC1zZWN1cml0eSAtV2Zvcm1hdC15MmsgLVdpbml0LXNlbGYgLVdp Z25vcmVkLXF1YWxpZmllcnMgLVdvbGQtc3R5bGUtZGVjbGFyYXRpb24gLVdvbGQtc3R5bGUtZGVm aW5pdGlvbiAtV3R5cGUtbGltaXRzIC1mc3RhY2stcHJvdGVjdG9yLWFsbCAgLUkvdXNyL2luY2x1 ZGUvbGlicG5nMTIgICAtSS91c3IvaW5jbHVkZS9saWJkcm0gICAgIC1JL3Vzci9pbmNsdWRlL3Nw aWNlLXNlcnZlciAtSS91c3IvaW5jbHVkZS9jYWNhcmQgLUkvdXNyL2luY2x1ZGUvZ2xpYi0yLjAg LUkvdXNyL2xpYjY0L2dsaWItMi4wL2luY2x1ZGUgLUkvdXNyL2luY2x1ZGUvcGl4bWFuLTEgLUkv dXNyL2luY2x1ZGUvbnNzMyAtSS91c3IvaW5jbHVkZS9uc3ByNCAtSS91c3IvaW5jbHVkZS9zcGlj ZS0xICAgLUkvdXNyL2luY2x1ZGUvY2FjYXJkIC1JL3Vzci9pbmNsdWRlL25zczMgLUkvdXNyL2lu Y2x1ZGUvbnNwcjQgIApMREZMQUdTICAgICAgICAgICAtV2wsLS13YXJuLWNvbW1vbiAtV2wsLXos cmVscm8gLVdsLC16LG5vdyAtcGllIC1tNjQgLWcgCm1ha2UgICAgICAgICAgICAgIG1ha2UKaW5z dGFsbCAgICAgICAgICAgaW5zdGFsbApweXRob24gICAgICAgICAgICBweXRob24gLUIKc21iZCAg ICAgICAgICAgICAgL3Vzci9zYmluL3NtYmQKbW9kdWxlIHN1cHBvcnQgICAgbm8KaG9zdCBDUFUg ICAgICAgICAgeDg2XzY0Cmhvc3QgYmlnIGVuZGlhbiAgIG5vCnRhcmdldCBsaXN0ICAgICAgIHg4 Nl82NC1zb2Z0bW11IGFhcmNoNjQtc29mdG1tdQpncHJvZiBlbmFibGVkICAgICBubwpzcGFyc2Ug ZW5hYmxlZCAgICBubwpzdHJpcCBiaW5hcmllcyAgICB5ZXMKcHJvZmlsZXIgICAgICAgICAgbm8K c3RhdGljIGJ1aWxkICAgICAgbm8KcGl4bWFuICAgICAgICAgICAgc3lzdGVtClNETCBzdXBwb3J0 ICAgICAgIHllcyAoMS4yLjE0KQpHVEsgc3VwcG9ydCAgICAgICB5ZXMgKDIuMjQuMjMpCkdUSyBH TCBzdXBwb3J0ICAgIG5vClZURSBzdXBwb3J0ICAgICAgIHllcyAoMC4yNS4xKQpUTFMgcHJpb3Jp dHkgICAgICBOT1JNQUwKR05VVExTIHN1cHBvcnQgICAgbm8KR05VVExTIHJuZCAgICAgICAgbm8K bGliZ2NyeXB0ICAgICAgICAgbm8KbGliZ2NyeXB0IGtkZiAgICAgbm8KbmV0dGxlICAgICAgICAg ICAgbm8gCm5ldHRsZSBrZGYgICAgICAgIG5vCmxpYnRhc24xICAgICAgICAgIG5vCmN1cnNlcyBz dXBwb3J0ICAgIHllcwp2aXJnbCBzdXBwb3J0ICAgICBubwpjdXJsIHN1cHBvcnQgICAgICBubwpt aW5ndzMyIHN1cHBvcnQgICBubwpBdWRpbyBkcml2ZXJzICAgICBvc3MKQmxvY2sgd2hpdGVsaXN0 IChydykgCkJsb2NrIHdoaXRlbGlzdCAocm8pIApWaXJ0RlMgc3VwcG9ydCAgICBubwpNdWx0aXBh dGggc3VwcG9ydCBubwpWTkMgc3VwcG9ydCAgICAgICB5ZXMKVk5DIFNBU0wgc3VwcG9ydCAgbm8K Vk5DIEpQRUcgc3VwcG9ydCAgeWVzClZOQyBQTkcgc3VwcG9ydCAgIHllcwp4ZW4gc3VwcG9ydCAg ICAgICB5ZXMKeGVuIGN0cmwgdmVyc2lvbiAgNDA2MDAKcHYgZG9tIGJ1aWxkICAgICAgbm8KYnJs YXBpIHN1cHBvcnQgICAgbm8KYmx1ZXogIHN1cHBvcnQgICAgbm8KRG9jdW1lbnRhdGlvbiAgICAg bm8KUElFICAgICAgICAgICAgICAgeWVzCnZkZSBzdXBwb3J0ICAgICAgIG5vCm5ldG1hcCBzdXBw b3J0ICAgIG5vCkxpbnV4IEFJTyBzdXBwb3J0IG5vCkFUVFIvWEFUVFIgc3VwcG9ydCB5ZXMKSW5z dGFsbCBibG9icyAgICAgeWVzCktWTSBzdXBwb3J0ICAgICAgIHllcwpIQVggc3VwcG9ydCAgICAg ICBubwpUQ0cgc3VwcG9ydCAgICAgICB5ZXMKVENHIGRlYnVnIGVuYWJsZWQgbm8KVENHIGludGVy cHJldGVyICAgbm8KUkRNQSBzdXBwb3J0ICAgICAgeWVzCmZkdCBzdXBwb3J0ICAgICAgIHllcwpw cmVhZHYgc3VwcG9ydCAgICB5ZXMKZmRhdGFzeW5jICAgICAgICAgeWVzCm1hZHZpc2UgICAgICAg ICAgIHllcwpwb3NpeF9tYWR2aXNlICAgICB5ZXMKbGliY2FwLW5nIHN1cHBvcnQgbm8Kdmhvc3Qt bmV0IHN1cHBvcnQgeWVzCnZob3N0LXNjc2kgc3VwcG9ydCB5ZXMKdmhvc3QtdnNvY2sgc3VwcG9y dCB5ZXMKdmhvc3QtdXNlciBzdXBwb3J0IHllcwpUcmFjZSBiYWNrZW5kcyAgICBsb2cKc3BpY2Ug c3VwcG9ydCAgICAgeWVzICgwLjEyLjYvMC4xMi40KQpyYmQgc3VwcG9ydCAgICAgICBubwp4ZnNj dGwgc3VwcG9ydCAgICBubwpzbWFydGNhcmQgc3VwcG9ydCB5ZXMKbGlidXNiICAgICAgICAgICAg bm8KdXNiIG5ldCByZWRpciAgICAgbm8KT3BlbkdMIHN1cHBvcnQgICAgeWVzCk9wZW5HTCBkbWFi dWZzICAgIG5vCmxpYmlzY3NpIHN1cHBvcnQgIG5vCmxpYm5mcyBzdXBwb3J0ICAgIG5vCmJ1aWxk IGd1ZXN0IGFnZW50IHllcwpRR0EgVlNTIHN1cHBvcnQgICBubwpRR0EgdzMyIGRpc2sgaW5mbyBu bwpRR0EgTVNJIHN1cHBvcnQgICBubwpzZWNjb21wIHN1cHBvcnQgICBubwpjb3JvdXRpbmUgYmFj a2VuZCB1Y29udGV4dApjb3JvdXRpbmUgcG9vbCAgICB5ZXMKZGVidWcgc3RhY2sgdXNhZ2Ugbm8K Y3J5cHRvIGFmYWxnICAgICAgbm8KR2x1c3RlckZTIHN1cHBvcnQgbm8KZ2NvdiAgICAgICAgICAg ICAgZ2NvdgpnY292IGVuYWJsZWQgICAgICBubwpUUE0gc3VwcG9ydCAgICAgICB5ZXMKbGlic3No MiBzdXBwb3J0ICAgbm8KVFBNIHBhc3N0aHJvdWdoICAgeWVzClFPTSBkZWJ1Z2dpbmcgICAgIHll cwpMaXZlIGJsb2NrIG1pZ3JhdGlvbiB5ZXMKbHpvIHN1cHBvcnQgICAgICAgeWVzCnNuYXBweSBz dXBwb3J0ICAgIG5vCmJ6aXAyIHN1cHBvcnQgICAgIHllcwpOVU1BIGhvc3Qgc3VwcG9ydCBubwp0 Y21hbGxvYyBzdXBwb3J0ICBubwpqZW1hbGxvYyBzdXBwb3J0ICBubwphdngyIG9wdGltaXphdGlv biBubwpyZXBsaWNhdGlvbiBzdXBwb3J0IHllcwpWeEhTIGJsb2NrIGRldmljZSBubwpta2RpciAt cCBkdGMvbGliZmR0Cm1rZGlyIC1wIGR0Yy90ZXN0cwogIEdFTiAgICAgYWFyY2g2NC1zb2Z0bW11 L2NvbmZpZy1kZXZpY2VzLm1hay50bXAKICBHRU4gICAgIHg4Nl82NC1zb2Z0bW11L2NvbmZpZy1k ZXZpY2VzLm1hay50bXAKICBHRU4gICAgIHFlbXUtb3B0aW9ucy5kZWYKICBHRU4gICAgIHFtcC1j b21tYW5kcy5oCiAgR0VOICAgICBjb25maWctaG9zdC5oCiAgR0VOICAgICBxYXBpLXR5cGVzLmgK ICBHRU4gICAgIHFhcGktdmlzaXQuaAogIEdFTiAgICAgcWFwaS1ldmVudC5oCiAgR0VOICAgICB4 ODZfNjQtc29mdG1tdS9jb25maWctZGV2aWNlcy5tYWsKICBHRU4gICAgIGFhcmNoNjQtc29mdG1t dS9jb25maWctZGV2aWNlcy5tYWsKICBHRU4gICAgIHFtcC1tYXJzaGFsLmMKICBHRU4gICAgIHFh cGktdHlwZXMuYwogIEdFTiAgICAgcWFwaS12aXNpdC5jCiAgR0VOICAgICBxYXBpLWV2ZW50LmMK ICBHRU4gICAgIHFtcC1pbnRyb3NwZWN0LmgKICBHRU4gICAgIHFtcC1pbnRyb3NwZWN0LmMKICBH RU4gICAgIHRyYWNlL2dlbmVyYXRlZC10Y2ctdHJhY2Vycy5oCiAgR0VOICAgICB0cmFjZS9nZW5l cmF0ZWQtaGVscGVycy13cmFwcGVycy5oCiAgR0VOICAgICB0cmFjZS9nZW5lcmF0ZWQtaGVscGVy cy5oCiAgR0VOICAgICB0cmFjZS9nZW5lcmF0ZWQtaGVscGVycy5jCiAgR0VOICAgICBtb2R1bGVf YmxvY2suaAptYWtlOiAqKiogTm8gcnVsZSB0byBtYWtlIHRhcmdldCBgL3RtcC9xZW11LXRlc3Qv c3JjL3Njc2kvdHJhY2UtZXZlbnRzJywgbmVlZGVkIGJ5IGAvdmFyL3RtcC9xZW11LWJ1aWxkL3Ry YWNlLWV2ZW50cy1hbGwnLiAgU3RvcC4KbWFrZTogKioqIFdhaXRpbmcgZm9yIHVuZmluaXNoZWQg am9icy4uLi4KVHJhY2ViYWNrIChtb3N0IHJlY2VudCBjYWxsIGxhc3QpOgogIEZpbGUgIi4vdGVz dHMvZG9ja2VyL2RvY2tlci5weSIsIGxpbmUgMzgyLCBpbiA8bW9kdWxlPgogICAgc3lzLmV4aXQo bWFpbigpKQogIEZpbGUgIi4vdGVzdHMvZG9ja2VyL2RvY2tlci5weSIsIGxpbmUgMzc5LCBpbiBt YWluCiAgICByZXR1cm4gYXJncy5jbWRvYmoucnVuKGFyZ3MsIGFyZ3YpCiAgRmlsZSAiLi90ZXN0 cy9kb2NrZXIvZG9ja2VyLnB5IiwgbGluZSAyMzcsIGluIHJ1bgogICAgcmV0dXJuIERvY2tlcigp LnJ1bihhcmd2LCBhcmdzLmtlZXAsIHF1aWV0PWFyZ3MucXVpZXQpCiAgRmlsZSAiLi90ZXN0cy9k b2NrZXIvZG9ja2VyLnB5IiwgbGluZSAyMDUsIGluIHJ1bgogICAgcXVpZXQ9cXVpZXQpCiAgRmls ZSAiLi90ZXN0cy9kb2NrZXIvZG9ja2VyLnB5IiwgbGluZSAxMjMsIGluIF9kb19jaGVjawogICAg cmV0dXJuIHN1YnByb2Nlc3MuY2hlY2tfY2FsbChzZWxmLl9jb21tYW5kICsgY21kLCAqKmt3YXJn cykKICBGaWxlICIvdXNyL2xpYjY0L3B5dGhvbjIuNy9zdWJwcm9jZXNzLnB5IiwgbGluZSAxODYs IGluIGNoZWNrX2NhbGwKICAgIHJhaXNlIENhbGxlZFByb2Nlc3NFcnJvcihyZXRjb2RlLCBjbWQp CnN1YnByb2Nlc3MuQ2FsbGVkUHJvY2Vzc0Vycm9yOiBDb21tYW5kICdbJ2RvY2tlcicsICdydW4n LCAnLS1sYWJlbCcsICdjb20ucWVtdS5pbnN0YW5jZS51dWlkPWJmNWU3OTI2ODc0MDExZTc4OWVk NTI1NDAwNjljODMwJywgJy11JywgJzAnLCAnLXQnLCAnLS1ybScsICctLW5ldD1ub25lJywgJy1l JywgJ1RBUkdFVF9MSVNUPScsICctZScsICdFWFRSQV9DT05GSUdVUkVfT1BUUz0nLCAnLWUnLCAn Vj0nLCAnLWUnLCAnSj04JywgJy1lJywgJ0RFQlVHPScsICctZScsICdTSE9XX0VOVj0xJywgJy1l JywgJ0NDQUNIRV9ESVI9L3Zhci90bXAvY2NhY2hlJywgJy12JywgJy92YXIvdG1wL3BhdGNoZXct dGVzdGVyLXRtcC1pbGI4dDdwei9zcmMvZG9ja2VyLXNyYy4yMDE3LTA4LTIyLTA5LjQ5LjM3Ljk4 ODM6L3Zhci90bXAvcWVtdTp6LHJvJywgJy12JywgJy9yb290Ly5jYWNoZS9xZW11LWRvY2tlci1j Y2FjaGU6L3Zhci90bXAvY2NhY2hlOnonLCAncWVtdTpjZW50b3M2JywgJy92YXIvdG1wL3FlbXUv cnVuJywgJ3Rlc3QtcXVpY2snXScgcmV0dXJuZWQgbm9uLXplcm8gZXhpdCBzdGF0dXMgMgptYWtl WzFdOiAqKiogW3Rlc3RzL2RvY2tlci9NYWtlZmlsZS5pbmNsdWRlOjEzOTogZG9ja2VyLXJ1bl0g RXJyb3IgMQptYWtlWzFdOiBMZWF2aW5nIGRpcmVjdG9yeSAnL3Zhci90bXAvcGF0Y2hldy10ZXN0 ZXItdG1wLWlsYjh0N3B6L3NyYycKbWFrZTogKioqIFt0ZXN0cy9kb2NrZXIvTWFrZWZpbGUuaW5j bHVkZToxNjg6IGRvY2tlci1ydW4tdGVzdC1xdWlja0BjZW50b3M2XSBFcnJvciAyCgpyZWFsCTFt MjAuMjUwcwp1c2VyCTBtNS4xNDBzCnN5cwkwbTEuNTcxcwo9PT0gT1VUUFVUIEVORCA9PT0KClRl c3QgY29tbWFuZCBleGl0ZWQgd2l0aCBjb2RlOiAyCgoKLS0tCkVtYWlsIGdlbmVyYXRlZCBhdXRv bWF0aWNhbGx5IGJ5IFBhdGNoZXcgW2h0dHA6Ly9wYXRjaGV3Lm9yZy9dLgpQbGVhc2Ugc2VuZCB5 b3VyIGZlZWRiYWNrIHRvIHBhdGNoZXctZGV2ZWxAZnJlZWxpc3RzLm9yZw==