From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:32929) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eysl9-0006nj-R7 for qemu-devel@nongnu.org; Thu, 22 Mar 2018 01:27:34 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eysl5-0000sT-O0 for qemu-devel@nongnu.org; Thu, 22 Mar 2018 01:27:31 -0400 Resent-Message-Id: Received: from sender-of-o51.zoho.com ([135.84.80.216]:21029) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1eysl5-0000sF-G4 for qemu-devel@nongnu.org; Thu, 22 Mar 2018 01:27:27 -0400 In-Reply-To: <20180321115211.17937-1-marcandre.lureau@redhat.com> Reply-To: Message-ID: <152169551431.225.11235125429173103732@71c20359a636> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 From: no-reply@patchew.org Date: Wed, 21 Mar 2018 22:11:55 -0700 (PDT) Subject: Re: [Qemu-devel] [PATCH v3 00/49] qapi: add #if pre-processor conditions to generated code List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: marcandre.lureau@redhat.com Cc: famz@redhat.com, qemu-devel@nongnu.org, armbru@redhat.com SGksCgpUaGlzIHNlcmllcyBmYWlsZWQgZG9ja2VyLWJ1aWxkQG1pbi1nbGliIGJ1aWxkIHRlc3Qu IFBsZWFzZSBmaW5kIHRoZSB0ZXN0aW5nIGNvbW1hbmRzIGFuZAp0aGVpciBvdXRwdXQgYmVsb3cu IElmIHlvdSBoYXZlIERvY2tlciBpbnN0YWxsZWQsIHlvdSBjYW4gcHJvYmFibHkgcmVwcm9kdWNl IGl0CmxvY2FsbHkuCgpUeXBlOiBzZXJpZXMKTWVzc2FnZS1pZDogMjAxODAzMjExMTUyMTEuMTc5 MzctMS1tYXJjYW5kcmUubHVyZWF1QHJlZGhhdC5jb20KU3ViamVjdDogW1FlbXUtZGV2ZWxdIFtQ QVRDSCB2MyAwMC80OV0gcWFwaTogYWRkICNpZiBwcmUtcHJvY2Vzc29yIGNvbmRpdGlvbnMgdG8g Z2VuZXJhdGVkIGNvZGUKCj09PSBURVNUIFNDUklQVCBCRUdJTiA9PT0KIyEvYmluL2Jhc2gKc2V0 IC1lCmdpdCBzdWJtb2R1bGUgdXBkYXRlIC0taW5pdCBkdGMKIyBMZXQgZG9ja2VyIHRlc3RzIGR1 bXAgZW52aXJvbm1lbnQgaW5mbwpleHBvcnQgU0hPV19FTlY9MQpleHBvcnQgSj04CnRpbWUgbWFr ZSBkb2NrZXItdGVzdC1idWlsZEBtaW4tZ2xpYgo9PT0gVEVTVCBTQ1JJUFQgRU5EID09PQoKVXBk YXRpbmcgM2M4Y2Y1YTljMjFmZjg3ODIxNjRkMWRlZjdmNDRiZDg4ODcxMzM4NApGcm9tIGh0dHBz Oi8vZ2l0aHViLmNvbS9wYXRjaGV3LXByb2plY3QvcWVtdQogdCBbdGFnIHVwZGF0ZV0gICAgICAg ICAgICBwYXRjaGV3LzIwMTgwMzIxMjExMDU2LjMzMzktMS15dXZhbC5zaGFpYUBvcmFjbGUuY29t IC0+IHBhdGNoZXcvMjAxODAzMjEyMTEwNTYuMzMzOS0xLXl1dmFsLnNoYWlhQG9yYWNsZS5jb20K U3dpdGNoZWQgdG8gYSBuZXcgYnJhbmNoICd0ZXN0JwpjYTUwYTJkOGUzIFJGQzogbWFrZSBSVENf Q0hBTkdFIHBlci10YXJnZXQKMDMyZjNkMmY1OSBxYXBpOiByZW1vdmUgcW1wX3VucmVnaXN0ZXJf Y29tbWFuZCgpCjdhNGIxN2NmNTQgcWFwaTogbWFrZSBxdWVyeS1jcHUtZGVmaW5pdGlvbnMgZGVw ZW5kIG9uIHNwZWNpZmljIHRhcmdldHMKNTU3ZjUzNjE3NiBxYXBpOiBtYWtlIHF1ZXJ5LWNwdS1t b2RlbC1leHBhbnNpb24gZGVwZW5kIG9uIHMzOTAgb3IgeDg2CmRjMWIyMTgzMTkgcWFwaTogbWFr ZSBxdWVyeS1naWMtY2FwYWJpbGl0aWVzIGRlcGVuZCBvbiBUQVJHRVRfQVJNCmFmOTYyNWM2YzMg dGFyZ2V0Lmpzb246IGFkZCBhIG5vdGUgYWJvdXQgcXVlcnktY3B1KiBub3QgYmVpbmcgczM5MHgt c3BlY2lmaWMKYzk4MDE5NzdlOSBxYXBpOiBtYWtlIHMzOTAgY29tbWFuZHMgZGVwZW5kIG9uIFRB UkdFVF9TMzkwWAo2YTQ5ODAzNDQ1IHFhcGk6IG1ha2UgcnRjLXJlc2V0LXJlaW5qZWN0aW9uIGFu ZCBTRVYgZGVwZW5kIG9uIFRBUkdFVF9JMzg2CjEzYjA5M2FhYWUgcWFwaTogYWRkIGEgdG9wLXVu aXQgJ3RhcmdldCcgc2NoZW1hCjhlNDJiNGJmZDggUkZDOiBxYXBpOiBsZWFybiB0byBzcGxpdCBz Y2hlbWEgYnkgJ3RvcC11bml0JwoyOTg0NDU5Y2Q2IHFhcGktY29tbWFuZHM6IGRvbid0IGluaXRp YWxpemUgY29tbWFuZCBsaXN0IGluIHFtcF9pbml0X21hcnNoYWxsKCkKN2MzOWM4MDdiNSBidWls ZC1zeXM6IG1vdmUgcW1wLWludHJvc3BlY3QgcGVyIHRhcmdldAphZjdkNWQ1MThkIHFhcGk6IGFk ZCBjb25kaXRpb25zIHRvIFJFUExJQ0FUSU9OIHR5cGUvY29tbWFuZHMgb24gdGhlIHNjaGVtYQo5 ZTU4M2QxYTFkIHFhcGk6IGFkZCBjb25kaXRpb25zIHRvIFNQSUNFIHR5cGUvY29tbWFuZHMvZXZl bnRzIG9uIHRoZSBzY2hlbWEKOGJjMTZkZWM2MiBxYXBpOiBhZGQgY29uZGl0aW9ucyB0byBWTkMg dHlwZS9jb21tYW5kcy9ldmVudHMgb24gdGhlIHNjaGVtYQo3MjY2NGRiZTE1IHFhcGkydGV4aTog YWRkIGNvbmRpdGlvbiB0byB2YXJpYW50cwpkN2ZmMGFiNGVmIHFhcGkydGV4aTogYWRkICdJZjon IGNvbmRpdGlvbiB0byBzdHJ1Y3QgbWVtYmVycwpiZGU0NGE2YjFkIHFhcGkydGV4aTogYWRkICdJ ZjonIGNvbmRpdGlvbiB0byBlbnVtIHZhbHVlcwpjODdlMWJjNjVmIHFhcGkydGV4aTogYWRkICdJ ZjonIHNlY3Rpb24gdG8gZ2VuZXJhdGVkIGRvY3VtZW50YXRpb24KMzM2NGQ1MDk5ZiBkb2NzOiBk b2N1bWVudCBzY2hlbWEgY29uZmlndXJhdGlvbgo3N2Y3YmFmZGM0IHFhcGk6IGFkZCAjaWYgY29u ZGl0aW9ucyB0byBnZW5lcmF0ZWQgY29kZSBtZW1iZXJzCmE5NTkyOWRlOTMgcWFwaTogYWRkICdp ZicgdG8gYWx0ZXJuYXRlIG1lbWJlcnMKYjIwNWQ2MTk4YyBxYXBpOiBhZGQgJ2lmJyBvbiB1bmlv biBtZW1iZXJzCjk2MTNiYTJjYzIgcWFwaTogYWRkIGFuIGVycm9yIGluIGNhc2UgYSBkaXNjcmlt aW5hdG9yIGlzIGNvbmRpdGlvbm5hbApjZDAyNTAzOWMwIHFhcGk6IGFkZCAnaWYnIHRvIGltcGxp Y2l0IHN0cnVjdCBtZW1iZXJzCjY3OTljODI0YTggcWFwaTogYWRkIGEgZGljdGlvbmFyeSBmb3Jt IHdpdGggJ3R5cGUnIGtleSBmb3IgbWVtYmVycwpjNWI1MGVkOWUzIHFhcGk6IHJlbmFtZSBhbGxv d19kaWN0IHRvIGFsbG93X2ltcGxpY2l0CmJhNDAxMWU2MDIgcWFwaS1ldmVudDogYWRkICdpZicg Y29uZGl0aW9uIHRvIGltcGxpY2l0IGV2ZW50IGVudW0KN2Q4MjhlODViOSBxYXBpOiBhZGQgJ2lm JyB0byBlbnVtIG1lbWJlcnMKYTIwYzJkYzk3MyBxYXBpOiBhZGQgYSBkaWN0aW9ubmFyeSBmb3Jt IHdpdGggJ25hbWUnIGtleSBmb3IgZW51bSBtZW1iZXJzCjA2MTYzNWVmZjEgcWFwaTogZmFjdG9y IG91dCBjaGVja19rbm93bl9rZXlzKCkKYjBhZDlhNDcxYSB0ZXN0czogbW9kaWZ5IHZpc2l0X2Vu dW1fdHlwZSgpIGluIHRlc3QtcWFwaSB0byBwcmludCBtZW1iZXJzCjg2OTMzZmIzOWMgcWFwaTog Y2hhbmdlIGVudW0gdmlzaXRvciB0byB0YWtlIFFBUElTY2hlbWFNZW1iZXIKY2Q2ZmI4ZTgzZiBx YXBpOiByZW5hbWUgUUFQSVNjaGVtYUVudW1UeXBlLnZhbHVlcyB0byAubWVtYmVycwozMWVhNDZk Y2VjIHFhcGk6IGRvIG5vdCBkZWZpbmUgZW51bWVyYXRpb24gdmFsdWUgZXhwbGljaXRlbHkKNTVj NzQ1M2YzYyBxYXBpLXR5cGVzOiBhZGQgI2lmIGNvbmRpdGlvbnMgdG8gdHlwZXMgJiB2aXNpdG9y cwo0NTA3ZTQ0ZDg2IHFhcGktdHlwZXM6IHJlZmFjdG9yIHZhcmlhbnRzIGhhbmRsaW5nCjljOTFh OGZhMWQgcWFwaS9ldmVudHM6IGFkZCAjaWYgY29uZGl0aW9ucyB0byBldmVudHMKN2JhMTJmNDc0 ZiBxYXBpL2NvbW1hbmRzOiBhZGQgI2lmIGNvbmRpdGlvbnMgdG8gY29tbWFuZHMKZmNmNGRmZWI1 NiBxYXBpLWludHJvc3BlY3Q6IGFkZCBwcmVwcm9jZXNzb3IgY29uZGl0aW9ucyB0byBnZW5lcmF0 ZWQgUUxpdAo1MTE2M2Y2YmEwIHFhcGktaW50cm9zcGVjdDogbW9kaWZ5IHRvX3FsaXQoKSB0byBh cHBlbmQgJywgJyBvbiBsZXZlbCA+IDAKNzViYWFjNDYwYyBxYXBpOiBhZGQgI2lmLyNlbmRpZiBo ZWxwZXJzCmEwMDE5NDlhMzEgcWFwaTogbWNnZW4oKSBzaG91bGRuJ3QgaW5kZW50ICMgbGluZXMK YTJlZjVhZmE2MyBxYXBpOiBhZGQgJ2lmY29uZCcgdG8gdmlzaXRvciBtZXRob2RzCjY4ODc1NWI1 ZmQgcWFwaTogbGVhdmUgdGhlIGlmY29uZCBhdHRyaWJ1dGUgdW5kZWZpbmVkIHVudGlsIGNoZWNr KCkKMDU2NmY0Y2I0OSBxYXBpOiBwYXNzICdpZicgY29uZGl0aW9uIGludG8gUUFQSVNjaGVtYUVu dGl0eSBvYmplY3RzCjdiOThkMWIzNGMgcWFwaTogYWRkICdpZicgdG8gdG9wLWxldmVsIGV4cHJl c3Npb25zCjZjMzZkOGZhMjggcWFwaS9ldmVudHM6IGdlbmVyYXRlIGV2ZW50IGVudW0gaW4gbWFp biBtb2R1bGUKN2NlZDYyM2Y1MyBxYXBpL3Zpc2l0OiByZW1vdmUgdXNlbGVzcyBwcmVmaXggYXJn dW1lbnQKCj09PSBPVVRQVVQgQkVHSU4gPT09ClN1Ym1vZHVsZSAnZHRjJyAoZ2l0Oi8vZ2l0LnFl bXUtcHJvamVjdC5vcmcvZHRjLmdpdCkgcmVnaXN0ZXJlZCBmb3IgcGF0aCAnZHRjJwpDbG9uaW5n IGludG8gJy92YXIvdG1wL3BhdGNoZXctdGVzdGVyLXRtcC02YTNhaDhxcC9zcmMvZHRjJy4uLgpT dWJtb2R1bGUgcGF0aCAnZHRjJzogY2hlY2tlZCBvdXQgJ2U1NDM4ODAxNWFmMWZiNGJmMDRkMGJj YTk5Y2FiYTEwNzRkOWNjNDInCiAgQlVJTEQgICBtaW4tZ2xpYgptYWtlWzFdOiBFbnRlcmluZyBk aXJlY3RvcnkgJy92YXIvdG1wL3BhdGNoZXctdGVzdGVyLXRtcC02YTNhaDhxcC9zcmMnCiAgR0VO ICAgICAvdmFyL3RtcC9wYXRjaGV3LXRlc3Rlci10bXAtNmEzYWg4cXAvc3JjL2RvY2tlci1zcmMu MjAxOC0wMy0yMi0wMS4xMC41MC43Mjc0L3FlbXUudGFyCkNsb25pbmcgaW50byAnL3Zhci90bXAv cGF0Y2hldy10ZXN0ZXItdG1wLTZhM2FoOHFwL3NyYy9kb2NrZXItc3JjLjIwMTgtMDMtMjItMDEu MTAuNTAuNzI3NC9xZW11LnRhci52cm9vdCcuLi4KZG9uZS4KWW91ciBicmFuY2ggaXMgdXAtdG8t ZGF0ZSB3aXRoICdvcmlnaW4vdGVzdCcuClN1Ym1vZHVsZSAnZHRjJyAoZ2l0Oi8vZ2l0LnFlbXUt cHJvamVjdC5vcmcvZHRjLmdpdCkgcmVnaXN0ZXJlZCBmb3IgcGF0aCAnZHRjJwpDbG9uaW5nIGlu dG8gJy92YXIvdG1wL3BhdGNoZXctdGVzdGVyLXRtcC02YTNhaDhxcC9zcmMvZG9ja2VyLXNyYy4y MDE4LTAzLTIyLTAxLjEwLjUwLjcyNzQvcWVtdS50YXIudnJvb3QvZHRjJy4uLgpTdWJtb2R1bGUg cGF0aCAnZHRjJzogY2hlY2tlZCBvdXQgJ2U1NDM4ODAxNWFmMWZiNGJmMDRkMGJjYTk5Y2FiYTEw NzRkOWNjNDInClN1Ym1vZHVsZSAndWkva2V5Y29kZW1hcGRiJyAoZ2l0Oi8vZ2l0LnFlbXUub3Jn L2tleWNvZGVtYXBkYi5naXQpIHJlZ2lzdGVyZWQgZm9yIHBhdGggJ3VpL2tleWNvZGVtYXBkYicK Q2xvbmluZyBpbnRvICcvdmFyL3RtcC9wYXRjaGV3LXRlc3Rlci10bXAtNmEzYWg4cXAvc3JjL2Rv Y2tlci1zcmMuMjAxOC0wMy0yMi0wMS4xMC41MC43Mjc0L3FlbXUudGFyLnZyb290L3VpL2tleWNv ZGVtYXBkYicuLi4KU3VibW9kdWxlIHBhdGggJ3VpL2tleWNvZGVtYXBkYic6IGNoZWNrZWQgb3V0 ICc2YjNkNzE2ZTJiNjQ3MmViNzE4OWQzMjIwNTUyMjgwZWYzZDgzMmNlJwogIENPUFkgICAgUlVO TkVSCiAgICBSVU4gdGVzdC1idWlsZCBpbiBxZW11Om1pbi1nbGliIApFbnZpcm9ubWVudCB2YXJp YWJsZXM6CkhPU1ROQU1FPTE3NzE5NDc3ZGFkMQpNQUtFRkxBR1M9IC1qOApKPTgKQ0NBQ0hFX0RJ Uj0vdmFyL3RtcC9jY2FjaGUKRVhUUkFfQ09ORklHVVJFX09QVFM9ClY9ClNIT1dfRU5WPTEKUEFU SD0vdXNyL2xpYi9jY2FjaGU6L3Vzci9saWI2NC9jY2FjaGU6L3Vzci9sb2NhbC9zYmluOi91c3Iv bG9jYWwvYmluOi91c3Ivc2JpbjovdXNyL2Jpbjovc2JpbjovYmluClBXRD0vClRBUkdFVF9MSVNU PQpTSExWTD0xCkhPTUU9L3Jvb3QKVEVTVF9ESVI9L3RtcC9xZW11LXRlc3QKRkVBVFVSRVM9IGR0 YwpERUJVRz0KXz0vdXNyL2Jpbi9lbnYKCkNvbmZpZ3VyZSBvcHRpb25zOgotLWVuYWJsZS13ZXJy b3IgLS10YXJnZXQtbGlzdD14ODZfNjQtc29mdG1tdSxhYXJjaDY0LXNvZnRtbXUgLS1wcmVmaXg9 L3RtcC9xZW11LXRlc3QvaW5zdGFsbApObyBDKysgY29tcGlsZXIgYXZhaWxhYmxlOyBkaXNhYmxp bmcgQysrIHNwZWNpZmljIG9wdGlvbmFsIGNvZGUKSW5zdGFsbCBwcmVmaXggICAgL3RtcC9xZW11 LXRlc3QvaW5zdGFsbApCSU9TIGRpcmVjdG9yeSAgICAvdG1wL3FlbXUtdGVzdC9pbnN0YWxsL3No YXJlL3FlbXUKZmlybXdhcmUgcGF0aCAgICAgL3RtcC9xZW11LXRlc3QvaW5zdGFsbC9zaGFyZS9x ZW11LWZpcm13YXJlCmJpbmFyeSBkaXJlY3RvcnkgIC90bXAvcWVtdS10ZXN0L2luc3RhbGwvYmlu CmxpYnJhcnkgZGlyZWN0b3J5IC90bXAvcWVtdS10ZXN0L2luc3RhbGwvbGliCm1vZHVsZSBkaXJl Y3RvcnkgIC90bXAvcWVtdS10ZXN0L2luc3RhbGwvbGliL3FlbXUKbGliZXhlYyBkaXJlY3Rvcnkg L3RtcC9xZW11LXRlc3QvaW5zdGFsbC9saWJleGVjCmluY2x1ZGUgZGlyZWN0b3J5IC90bXAvcWVt dS10ZXN0L2luc3RhbGwvaW5jbHVkZQpjb25maWcgZGlyZWN0b3J5ICAvdG1wL3FlbXUtdGVzdC9p bnN0YWxsL2V0Ywpsb2NhbCBzdGF0ZSBkaXJlY3RvcnkgICAvdG1wL3FlbXUtdGVzdC9pbnN0YWxs L3ZhcgpNYW51YWwgZGlyZWN0b3J5ICAvdG1wL3FlbXUtdGVzdC9pbnN0YWxsL3NoYXJlL21hbgpF TEYgaW50ZXJwIHByZWZpeCAvdXNyL2duZW11bC9xZW11LSVNClNvdXJjZSBwYXRoICAgICAgIC90 bXAvcWVtdS10ZXN0L3NyYwpHSVQgYmluYXJ5ICAgICAgICBnaXQKR0lUIHN1Ym1vZHVsZXMgICAg CkMgY29tcGlsZXIgICAgICAgIGNjCkhvc3QgQyBjb21waWxlciAgIGNjCkMrKyBjb21waWxlciAg ICAgIApPYmplY3RpdmUtQyBjb21waWxlciBjYwpBUkZMQUdTICAgICAgICAgICBydgpDRkxBR1Mg ICAgICAgICAgICAtTzIgLVVfRk9SVElGWV9TT1VSQ0UgLURfRk9SVElGWV9TT1VSQ0U9MiAtZyAK UUVNVV9DRkxBR1MgICAgICAgLUkvdXNyL2luY2x1ZGUvcGl4bWFuLTEgICAtSSQoU1JDX1BBVEgp L2R0Yy9saWJmZHQgLXB0aHJlYWQgLUkvdXNyL2luY2x1ZGUvZ2xpYi0yLjAgLUkvdXNyL2xpYjY0 L2dsaWItMi4wL2luY2x1ZGUgICAtZlBJRSAtRFBJRSAtbTY0IC1tY3gxNiAtRF9HTlVfU09VUkNF IC1EX0ZJTEVfT0ZGU0VUX0JJVFM9NjQgLURfTEFSR0VGSUxFX1NPVVJDRSAtV3N0cmljdC1wcm90 b3R5cGVzIC1XcmVkdW5kYW50LWRlY2xzIC1XYWxsIC1XdW5kZWYgLVd3cml0ZS1zdHJpbmdzIC1X bWlzc2luZy1wcm90b3R5cGVzIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mbm8tY29tbW9uIC1md3Jh cHYgIC1XZW5kaWYtbGFiZWxzIC1Xbm8tbWlzc2luZy1pbmNsdWRlLWRpcnMgLVdlbXB0eS1ib2R5 IC1XbmVzdGVkLWV4dGVybnMgLVdmb3JtYXQtc2VjdXJpdHkgLVdmb3JtYXQteTJrIC1XaW5pdC1z ZWxmIC1XaWdub3JlZC1xdWFsaWZpZXJzIC1Xb2xkLXN0eWxlLWRlY2xhcmF0aW9uIC1Xb2xkLXN0 eWxlLWRlZmluaXRpb24gLVd0eXBlLWxpbWl0cyAtZnN0YWNrLXByb3RlY3Rvci1hbGwgLVduby1t aXNzaW5nLWJyYWNlcwpMREZMQUdTICAgICAgICAgICAtV2wsLS13YXJuLWNvbW1vbiAtV2wsLXos cmVscm8gLVdsLC16LG5vdyAtcGllIC1tNjQgLWcgCm1ha2UgICAgICAgICAgICAgIG1ha2UKaW5z dGFsbCAgICAgICAgICAgaW5zdGFsbApweXRob24gICAgICAgICAgICBweXRob24gLUIKc21iZCAg ICAgICAgICAgICAgL3Vzci9zYmluL3NtYmQKbW9kdWxlIHN1cHBvcnQgICAgbm8KaG9zdCBDUFUg ICAgICAgICAgeDg2XzY0Cmhvc3QgYmlnIGVuZGlhbiAgIG5vCnRhcmdldCBsaXN0ICAgICAgIHg4 Nl82NC1zb2Z0bW11IGFhcmNoNjQtc29mdG1tdQpncHJvZiBlbmFibGVkICAgICBubwpzcGFyc2Ug ZW5hYmxlZCAgICBubwpzdHJpcCBiaW5hcmllcyAgICB5ZXMKcHJvZmlsZXIgICAgICAgICAgbm8K c3RhdGljIGJ1aWxkICAgICAgbm8KU0RMIHN1cHBvcnQgICAgICAgeWVzICgxLjIuMTQpCkdUSyBz dXBwb3J0ICAgICAgIG5vIApHVEsgR0wgc3VwcG9ydCAgICBubwpWVEUgc3VwcG9ydCAgICAgICBu byAKVExTIHByaW9yaXR5ICAgICAgTk9STUFMCkdOVVRMUyBzdXBwb3J0ICAgIG5vCkdOVVRMUyBy bmQgICAgICAgIG5vCmxpYmdjcnlwdCAgICAgICAgIG5vCmxpYmdjcnlwdCBrZGYgICAgIG5vCm5l dHRsZSAgICAgICAgICAgIG5vIApuZXR0bGUga2RmICAgICAgICBubwpsaWJ0YXNuMSAgICAgICAg ICBubwpjdXJzZXMgc3VwcG9ydCAgICBubwp2aXJnbCBzdXBwb3J0ICAgICBubwpjdXJsIHN1cHBv cnQgICAgICBubwptaW5ndzMyIHN1cHBvcnQgICBubwpBdWRpbyBkcml2ZXJzICAgICBvc3MKQmxv Y2sgd2hpdGVsaXN0IChydykgCkJsb2NrIHdoaXRlbGlzdCAocm8pIApWaXJ0RlMgc3VwcG9ydCAg ICBubwpNdWx0aXBhdGggc3VwcG9ydCBubwpWTkMgc3VwcG9ydCAgICAgICB5ZXMKVk5DIFNBU0wg c3VwcG9ydCAgbm8KVk5DIEpQRUcgc3VwcG9ydCAgbm8KVk5DIFBORyBzdXBwb3J0ICAgbm8KeGVu IHN1cHBvcnQgICAgICAgbm8KYnJsYXBpIHN1cHBvcnQgICAgbm8KYmx1ZXogIHN1cHBvcnQgICAg bm8KRG9jdW1lbnRhdGlvbiAgICAgbm8KUElFICAgICAgICAgICAgICAgeWVzCnZkZSBzdXBwb3J0 ICAgICAgIG5vCm5ldG1hcCBzdXBwb3J0ICAgIG5vCkxpbnV4IEFJTyBzdXBwb3J0IG5vCkFUVFIv WEFUVFIgc3VwcG9ydCB5ZXMKSW5zdGFsbCBibG9icyAgICAgeWVzCktWTSBzdXBwb3J0ICAgICAg IHllcwpIQVggc3VwcG9ydCAgICAgICBubwpIVkYgc3VwcG9ydCAgICAgICBubwpXSFBYIHN1cHBv cnQgICAgICBubwpUQ0cgc3VwcG9ydCAgICAgICB5ZXMKVENHIGRlYnVnIGVuYWJsZWQgbm8KVENH IGludGVycHJldGVyICAgbm8KbWFsbG9jIHRyaW0gc3VwcG9ydCB5ZXMKUkRNQSBzdXBwb3J0ICAg ICAgbm8KZmR0IHN1cHBvcnQgICAgICAgeWVzCm1lbWJhcnJpZXIgICAgICAgIG5vCnByZWFkdiBz dXBwb3J0ICAgIHllcwpmZGF0YXN5bmMgICAgICAgICB5ZXMKbWFkdmlzZSAgICAgICAgICAgeWVz CnBvc2l4X21hZHZpc2UgICAgIHllcwpwb3NpeF9tZW1hbGlnbiAgICB5ZXMKbGliY2FwLW5nIHN1 cHBvcnQgbm8Kdmhvc3QtbmV0IHN1cHBvcnQgeWVzCnZob3N0LWNyeXB0byBzdXBwb3J0IHllcwp2 aG9zdC1zY3NpIHN1cHBvcnQgeWVzCnZob3N0LXZzb2NrIHN1cHBvcnQgeWVzCnZob3N0LXVzZXIg c3VwcG9ydCB5ZXMKVHJhY2UgYmFja2VuZHMgICAgbG9nCnNwaWNlIHN1cHBvcnQgICAgIG5vIApy YmQgc3VwcG9ydCAgICAgICBubwp4ZnNjdGwgc3VwcG9ydCAgICBubwpzbWFydGNhcmQgc3VwcG9y dCBubwpsaWJ1c2IgICAgICAgICAgICBubwp1c2IgbmV0IHJlZGlyICAgICBubwpPcGVuR0wgc3Vw cG9ydCAgICBubwpPcGVuR0wgZG1hYnVmcyAgICBubwpsaWJpc2NzaSBzdXBwb3J0ICBubwpsaWJu ZnMgc3VwcG9ydCAgICBubwpidWlsZCBndWVzdCBhZ2VudCB5ZXMKUUdBIFZTUyBzdXBwb3J0ICAg bm8KUUdBIHczMiBkaXNrIGluZm8gbm8KUUdBIE1TSSBzdXBwb3J0ICAgbm8Kc2VjY29tcCBzdXBw b3J0ICAgbm8KY29yb3V0aW5lIGJhY2tlbmQgdWNvbnRleHQKY29yb3V0aW5lIHBvb2wgICAgeWVz CmRlYnVnIHN0YWNrIHVzYWdlIG5vCmNyeXB0byBhZmFsZyAgICAgIG5vCkdsdXN0ZXJGUyBzdXBw b3J0IG5vCmdjb3YgICAgICAgICAgICAgIGdjb3YKZ2NvdiBlbmFibGVkICAgICAgbm8KVFBNIHN1 cHBvcnQgICAgICAgeWVzCmxpYnNzaDIgc3VwcG9ydCAgIG5vClRQTSBwYXNzdGhyb3VnaCAgIHll cwpUUE0gZW11bGF0b3IgICAgICB5ZXMKUU9NIGRlYnVnZ2luZyAgICAgeWVzCkxpdmUgYmxvY2sg bWlncmF0aW9uIHllcwpsem8gc3VwcG9ydCAgICAgICBubwpzbmFwcHkgc3VwcG9ydCAgICBubwpi emlwMiBzdXBwb3J0ICAgICBubwpOVU1BIGhvc3Qgc3VwcG9ydCBubwpsaWJ4bWwyICAgICAgICAg ICBubwp0Y21hbGxvYyBzdXBwb3J0ICBubwpqZW1hbGxvYyBzdXBwb3J0ICBubwphdngyIG9wdGlt aXphdGlvbiBubwpyZXBsaWNhdGlvbiBzdXBwb3J0IHllcwpWeEhTIGJsb2NrIGRldmljZSBubwpj YXBzdG9uZSAgICAgICAgICBubwoKV0FSTklORzogVXNlIG9mIFNETCAxLjIgaXMgZGVwcmVjYXRl ZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluCldBUk5JTkc6IGZ1dHVyZSByZWxlYXNlcy4gUGxlYXNl IHN3aXRjaCB0byB1c2luZyBTREwgMi4wCm1rZGlyIC1wIGR0Yy9saWJmZHQKbWtkaXIgLXAgZHRj L3Rlc3RzCiAgR0VOICAgICB4ODZfNjQtc29mdG1tdS9jb25maWctZGV2aWNlcy5tYWsudG1wCiAg R0VOICAgICBhYXJjaDY0LXNvZnRtbXUvY29uZmlnLWRldmljZXMubWFrLnRtcAogIEdFTiAgICAg Y29uZmlnLWhvc3QuaAogIEdFTiAgICAgcWVtdS1vcHRpb25zLmRlZgogIEdFTiAgICAgcWFwaS1n ZW4KICBHRU4gICAgIHRyYWNlL2dlbmVyYXRlZC10Y2ctdHJhY2Vycy5oCiAgR0VOICAgICB0cmFj ZS9nZW5lcmF0ZWQtaGVscGVycy13cmFwcGVycy5oCiAgR0VOICAgICB0cmFjZS9nZW5lcmF0ZWQt aGVscGVycy5oCiAgR0VOICAgICBhYXJjaDY0LXNvZnRtbXUvY29uZmlnLWRldmljZXMubWFrCiAg R0VOICAgICB4ODZfNjQtc29mdG1tdS9jb25maWctZGV2aWNlcy5tYWsKICBHRU4gICAgIHRyYWNl L2dlbmVyYXRlZC1oZWxwZXJzLmMKICBHRU4gICAgIG1vZHVsZV9ibG9jay5oCiAgR0VOICAgICB1 aS9pbnB1dC1rZXltYXAtYXRzZXQxLXRvLXFjb2RlLmMKICBHRU4gICAgIHVpL2lucHV0LWtleW1h cC1saW51eC10by1xY29kZS5jCiAgR0VOICAgICB1aS9pbnB1dC1rZXltYXAtcWNvZGUtdG8tYXRz ZXQxLmMKICBHRU4gICAgIHVpL2lucHV0LWtleW1hcC1xY29kZS10by1hdHNldDIuYwogIEdFTiAg ICAgdWkvaW5wdXQta2V5bWFwLXFjb2RlLXRvLWF0c2V0My5jCiAgR0VOICAgICB1aS9pbnB1dC1r ZXltYXAtcWNvZGUtdG8tbGludXguYwpUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6 CiAgRmlsZSAiL3RtcC9xZW11LXRlc3Qvc3JjL3NjcmlwdHMvcWFwaS1nZW4ucHkiLCBsaW5lIDEx LCBpbiA8bW9kdWxlPgogICAgZnJvbSBxYXBpLmNvbW1vbiBpbXBvcnQgUUFQSUVycm9yLCBRQVBJ U2NoZW1hCiAgRmlsZSAiL3RtcC9xZW11LXRlc3Qvc3JjL3NjcmlwdHMvcWFwaS9jb21tb24ucHki LCBsaW5lIDk4NwogICAgaWYgeyd1bmlvbicsICdhbHRlcm5hdGUnLCAnc3RydWN0JywgJ2NvbW1h bmQnLCAnZXZlbnQnfSAmIHNldChleHByKToKICAgICAgICAgICAgICAgXgpTeW50YXhFcnJvcjog aW52YWxpZCBzeW50YXgKbWFrZTogKioqIFtxYXBpLWdlbi10aW1lc3RhbXBdIEVycm9yIDEKbWFr ZTogKioqIFdhaXRpbmcgZm9yIHVuZmluaXNoZWQgam9icy4uLi4KVHJhY2ViYWNrIChtb3N0IHJl Y2VudCBjYWxsIGxhc3QpOgogIEZpbGUgIi4vdGVzdHMvZG9ja2VyL2RvY2tlci5weSIsIGxpbmUg NDA3LCBpbiA8bW9kdWxlPgogICAgc3lzLmV4aXQobWFpbigpKQogIEZpbGUgIi4vdGVzdHMvZG9j a2VyL2RvY2tlci5weSIsIGxpbmUgNDA0LCBpbiBtYWluCiAgICByZXR1cm4gYXJncy5jbWRvYmou cnVuKGFyZ3MsIGFyZ3YpCiAgRmlsZSAiLi90ZXN0cy9kb2NrZXIvZG9ja2VyLnB5IiwgbGluZSAy NjEsIGluIHJ1bgogICAgcmV0dXJuIERvY2tlcigpLnJ1bihhcmd2LCBhcmdzLmtlZXAsIHF1aWV0 PWFyZ3MucXVpZXQpCiAgRmlsZSAiLi90ZXN0cy9kb2NrZXIvZG9ja2VyLnB5IiwgbGluZSAyMjks IGluIHJ1bgogICAgcXVpZXQ9cXVpZXQpCiAgRmlsZSAiLi90ZXN0cy9kb2NrZXIvZG9ja2VyLnB5 IiwgbGluZSAxNDcsIGluIF9kb19jaGVjawogICAgcmV0dXJuIHN1YnByb2Nlc3MuY2hlY2tfY2Fs bChzZWxmLl9jb21tYW5kICsgY21kLCAqKmt3YXJncykKICBGaWxlICIvdXNyL2xpYjY0L3B5dGhv bjIuNy9zdWJwcm9jZXNzLnB5IiwgbGluZSAxODYsIGluIGNoZWNrX2NhbGwKICAgIHJhaXNlIENh bGxlZFByb2Nlc3NFcnJvcihyZXRjb2RlLCBjbWQpCnN1YnByb2Nlc3MuQ2FsbGVkUHJvY2Vzc0Vy cm9yOiBDb21tYW5kICdbJ2RvY2tlcicsICdydW4nLCAnLS1sYWJlbCcsICdjb20ucWVtdS5pbnN0 YW5jZS51dWlkPTZkNmQ3NzIwMmQ4ZjExZThiNjYzNTI1NDAwNjljODMwJywgJy11JywgJzAnLCAn LS1zZWN1cml0eS1vcHQnLCAnc2VjY29tcD11bmNvbmZpbmVkJywgJy0tcm0nLCAnLS1uZXQ9bm9u ZScsICctZScsICdUQVJHRVRfTElTVD0nLCAnLWUnLCAnRVhUUkFfQ09ORklHVVJFX09QVFM9Jywg Jy1lJywgJ1Y9JywgJy1lJywgJ0o9OCcsICctZScsICdERUJVRz0nLCAnLWUnLCAnU0hPV19FTlY9 MScsICctZScsICdDQ0FDSEVfRElSPS92YXIvdG1wL2NjYWNoZScsICctdicsICcvcm9vdC8uY2Fj aGUvcWVtdS1kb2NrZXItY2NhY2hlOi92YXIvdG1wL2NjYWNoZTp6JywgJy12JywgJy92YXIvdG1w L3BhdGNoZXctdGVzdGVyLXRtcC02YTNhaDhxcC9zcmMvZG9ja2VyLXNyYy4yMDE4LTAzLTIyLTAx LjEwLjUwLjcyNzQ6L3Zhci90bXAvcWVtdTp6LHJvJywgJ3FlbXU6bWluLWdsaWInLCAnL3Zhci90 bXAvcWVtdS9ydW4nLCAndGVzdC1idWlsZCddJyByZXR1cm5lZCBub24temVybyBleGl0IHN0YXR1 cyAyCm1ha2VbMV06ICoqKiBbdGVzdHMvZG9ja2VyL01ha2VmaWxlLmluY2x1ZGU6MTI5OiBkb2Nr ZXItcnVuXSBFcnJvciAxCm1ha2VbMV06IExlYXZpbmcgZGlyZWN0b3J5ICcvdmFyL3RtcC9wYXRj aGV3LXRlc3Rlci10bXAtNmEzYWg4cXAvc3JjJwptYWtlOiAqKiogW3Rlc3RzL2RvY2tlci9NYWtl ZmlsZS5pbmNsdWRlOjE2MzogZG9ja2VyLXJ1bi10ZXN0LWJ1aWxkQG1pbi1nbGliXSBFcnJvciAy CgpyZWFsCTFtOS4zNDBzCnVzZXIJMG04LjYzM3MKc3lzCTBtNi4yNDNzCj09PSBPVVRQVVQgRU5E ID09PQoKVGVzdCBjb21tYW5kIGV4aXRlZCB3aXRoIGNvZGU6IDIKCgotLS0KRW1haWwgZ2VuZXJh dGVkIGF1dG9tYXRpY2FsbHkgYnkgUGF0Y2hldyBbaHR0cDovL3BhdGNoZXcub3JnL10uClBsZWFz ZSBzZW5kIHlvdXIgZmVlZGJhY2sgdG8gcGF0Y2hldy1kZXZlbEBmcmVlbGlzdHMub3Jn