build race when using MakeMaker in libbsd-resource-perl
John Breitenbach <[email protected]> Tue, 1 Sep 2015 11:14:40 -0400
| Newsgroups | gmane.comp.lang.perl.modules.extutils-makemaker.devel |
|---|---|
| Message-ID | <CAKx4F4EaaEN55JXmpv+naiZH893zDHrcMJSte9B4ui7in1F8Xw@mail.gmail.com> |
--089e0160ad96511e5b051eb1027f
Content-Type: multipart/alternative; boundary=089e0160ad96511e56051eb1027d
--089e0160ad96511e56051eb1027d
Content-Type: text/plain; charset=UTF-8
I've observed a couple of build failures locally which I've tracked down to
the Makefile generated by the yocto recipe for libbsd-resource-perl.
The attached patch file addresses the problem and I offer it for your
consideration. The file containing the problem is
ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
What I believe is happening is that the make recipe for BOOTSTRAP and
INST_DYNAMIC are executing in parallel. The recipe for BOOTSTRAP is of
course making BOOTSTRAP and in addition touches it and performs a chmod on
it.
The make recipe for INST_DYNAMIC includes a RM_RF on BOOTSTRAP which can
interfere with the recipe for BOOTSTRAP.
I'm also attaching my generated Makefile. You can see the RM_RF on
BOOTSTRAP at line 473 in the rule for INST_DYNAMIC. We're building under
Fedora-20 on x86_64 using poky-1.7. Perl version is 5.20 and MakeMaker
version appears to be 7.04_01.
$(BOOTSTRAP) : $(FIRST_MAKEFILE) $(BOOTDEP)
$(INST_ARCHAUTODIR)$(DFSEP).exists
$(NOECHO) $(ECHO) "Running Mkbootstrap for $(NAME) ($(BSLOADLIBS))"
$(NOECHO) $(PERLRUN) \
"-MExtUtils::Mkbootstrap" \
-e "Mkbootstrap('$(BASEEXT)','$(BSLOADLIBS)');"
$(NOECHO) $(TOUCH) $@
$(CHMOD) $(PERM_RW) $@
$(INST_DYNAMIC): $(OBJECT) $(MYEXTLIB) $(INST_ARCHAUTODIR)$(DFSEP).exists
$(EXPORT_LIST) $(PERL_ARCHIVE) $(PERL_ARCHIVE_AFTER) $(INST_DYNAMIC_DEP)
$(RM_F) $@
$(LD) $(LDDLFLAGS) $(LDFROM) $(OTHERLDFLAGS) -o $@ $(MYEXTLIB) \
$(PERL_ARCHIVE) $(LDLOADLIBS) $(PERL_ARCHIVE_AFTER) $(EXPORT_LIST)
\
$(INST_DYNAMIC_FIX)
$(CHMOD) $(PERM_RWX) $@
$(NOECHO) $(RM_RF) $(BOOTSTRAP)
- $(CP_NONEMPTY) $(BOOTSTRAP) $(INST_BOOT) $(PERM_RW)
Regards,
John
--089e0160ad96511e56051eb1027d
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
<div dir=3D"ltr"><div><div><div><div><div><div>I've observed a couple o=
f build failures locally which I've tracked down to the Makefile genera=
ted by the yocto recipe for libbsd-resource-perl.<br><br></div>The attached=
patch file addresses the problem and I offer it for your consideration.=C2=
=A0 The file containing the problem is ExtUtils-MakeMaker/lib/ExtUtils/MM_U=
nix.pm<br><br></div>What I believe is happening is that the make recipe for=
BOOTSTRAP and INST_DYNAMIC are executing in parallel.=C2=A0 The recipe for=
BOOTSTRAP is of course making BOOTSTRAP and in addition touches it and per=
forms a chmod on it.<br><br></div>The make recipe for INST_DYNAMIC includes=
a RM_RF on BOOTSTRAP which can interfere with the recipe for BOOTSTRAP.<br=
><br></div>I'm also attaching my generated Makefile.=C2=A0 You can see =
the RM_RF on BOOTSTRAP at line 473 in the rule for INST_DYNAMIC.=C2=A0 We&#=
39;re building under Fedora-20 on x86_64 using poky-1.7.=C2=A0 Perl version=
is 5.20 and MakeMaker version appears to be 7.04_01.<br><br>$(BOOTSTRAP) :=
$(FIRST_MAKEFILE) $(BOOTDEP) $(INST_ARCHAUTODIR)$(DFSEP).exists<br>=C2=A0=
=C2=A0=C2=A0 $(NOECHO) $(ECHO) "Running Mkbootstrap for $(NAME) ($(BSL=
OADLIBS))"<br>=C2=A0=C2=A0=C2=A0 $(NOECHO) $(PERLRUN) \<br>=C2=A0=C2=
=A0=C2=A0 =C2=A0=C2=A0=C2=A0 "-MExtUtils::Mkbootstrap" \<br>=C2=
=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 -e "Mkbootstrap('$(BASEEXT)'=
;,'$(BSLOADLIBS)');"<br>=C2=A0=C2=A0=C2=A0 $(NOECHO) $(TOUCH) =
$@<br>=C2=A0=C2=A0=C2=A0 $(CHMOD) $(PERM_RW) $@<br><br><br>$(INST_DYNAMIC):=
$(OBJECT) $(MYEXTLIB) $(INST_ARCHAUTODIR)$(DFSEP).exists $(EXPORT_LIST) $(=
PERL_ARCHIVE) $(PERL_ARCHIVE_AFTER) $(INST_DYNAMIC_DEP)<br>=C2=A0=C2=A0=C2=
=A0 $(RM_F) $@<br>=C2=A0=C2=A0=C2=A0 $(LD)=C2=A0 $(LDDLFLAGS) $(LDFROM) $(O=
THERLDFLAGS) -o $@ $(MYEXTLIB)=C2=A0=C2=A0=C2=A0 \<br>=C2=A0=C2=A0=C2=A0 =
=C2=A0 $(PERL_ARCHIVE) $(LDLOADLIBS) $(PERL_ARCHIVE_AFTER) $(EXPORT_LIST)=
=C2=A0=C2=A0=C2=A0 \<br>=C2=A0=C2=A0=C2=A0 =C2=A0 $(INST_DYNAMIC_FIX)<br>=
=C2=A0=C2=A0=C2=A0 $(CHMOD) $(PERM_RWX) $@<br>=C2=A0=C2=A0=C2=A0 $(NOECHO) =
$(RM_RF) $(BOOTSTRAP)<br>=C2=A0=C2=A0=C2=A0 - $(CP_NONEMPTY) $(BOOTSTRAP) $=
(INST_BOOT) $(PERM_RW)<br><br></div>Regards,<br></div>John<br></div>
--089e0160ad96511e56051eb1027d--
--089e0160ad96511e5b051eb1027f
Content-Type: application/octet-stream; name=Makefile
Content-Disposition: attachment; filename=Makefile
Content-Transfer-Encoding: base64
X-Attachment-Id: f_ie1hcwn00
IyBUaGlzIE1ha2VmaWxlIGlzIGZvciB0aGUgQlNEOjpSZXNvdXJjZSBleHRlbnNpb24gdG8gcGVy
bC4KIwojIEl0IHdhcyBnZW5lcmF0ZWQgYXV0b21hdGljYWxseSBieSBNYWtlTWFrZXIgdmVyc2lv
bgojIDYuOTggKFJldmlzaW9uOiA2OTgwMCkgZnJvbSB0aGUgY29udGVudHMgb2YKIyBNYWtlZmls
ZS5QTC4gRG9uJ3QgZWRpdCB0aGlzIGZpbGUsIGVkaXQgTWFrZWZpbGUuUEwgaW5zdGVhZC4KIwoj
ICAgICAgIEFOWSBDSEFOR0VTIE1BREUgSEVSRSBXSUxMIEJFIExPU1QhCiMKIyAgIE1ha2VNYWtl
ciBBUkdWOiAoKQojCgojICAgTWFrZU1ha2VyIFBhcmFtZXRlcnM6CgojICAgICBCVUlMRF9SRVFV
SVJFUyA9PiB7ICB9CiMgICAgIENPTkZJR1VSRV9SRVFVSVJFUyA9PiB7ICB9CiMgICAgIERFRklO
RSA9PiBxWyAtRFJsaW1fdD1ybGltX3RdCiMgICAgIExJQlMgPT4gW10KIyAgICAgTkFNRSA9PiBx
W0JTRDo6UmVzb3VyY2VdCiMgICAgIFBSRVJFUV9QTSA9PiB7ICB9CiMgICAgIFRFU1RfUkVRVUlS
RVMgPT4geyAgfQojICAgICBWRVJTSU9OX0ZST00gPT4gcVtSZXNvdXJjZS5wbV0KIyAgICAgZGlz
dCA9PiB7IENPTVBSRVNTPT5xW2d6aXBdIH0KCiMgLS0tIE1ha2VNYWtlciBwb3N0X2luaXRpYWxp
emUgc2VjdGlvbjoKCgojIC0tLSBNYWtlTWFrZXIgY29uc3RfY29uZmlnIHNlY3Rpb246CgojIFRo
ZXNlIGRlZmluaXRpb25zIGFyZSBmcm9tIGNvbmZpZy5zaCAodmlhIC9ib251cy9zY3JhdGNoL3Np
NS9wb2t5L3NpbS1wYWxhenpvL3RtcC9zeXNyb290cy94ODZfNjQtbGludXgvdXNyL2xpYi9wZXJs
LW5hdGl2ZS9wZXJsLzUuMjAuMC9Db25maWcucG0pLgojIFRoZXkgbWF5IGhhdmUgYmVlbiBvdmVy
cmlkZGVuIHZpYSBNYWtlZmlsZS5QTCBvciBvbiB0aGUgY29tbWFuZCBsaW5lLgpBUiA9IGFyCkND
ID0gZ2NjIApDQ0NETEZMQUdTID0gLWZQSUMKQ0NETEZMQUdTID0gLVdsLC1FIC1XbCwtcnBhdGgs
L2JvbnVzL3NjcmF0Y2gvc2k1L3Bva3kvc2ltLXBhbGF6em8vdG1wL3N5c3Jvb3RzL3g4Nl82NC1s
aW51eC91c3IvbGliL3BlcmwtbmF0aXZlL3BlcmwvNS4yMC4wL0NPUkUKRExFWFQgPSBzbwpETFNS
QyA9IGRsX2Rsb3Blbi54cwpFWEVfRVhUID0gCkZVTExfQVIgPSAvdXNyL2Jpbi9hcgpMRCA9IGdj
YyAKTERETEZMQUdTID0gLXNoYXJlZCAtTzIgLUwvYm9udXMvc2NyYXRjaC9zaTUvcG9reS9zaW0t
cGFsYXp6by90bXAvc3lzcm9vdHMveDg2XzY0LWxpbnV4L3Vzci9saWIgLUwvYm9udXMvc2NyYXRj
aC9zaTUvcG9reS9zaW0tcGFsYXp6by90bXAvc3lzcm9vdHMveDg2XzY0LWxpbnV4L2xpYiAtTC91
c3IvbG9jYWwvbGliIC1mc3RhY2stcHJvdGVjdG9yCkxERkxBR1MgPSAtTC9ib251cy9zY3JhdGNo
L3NpNS9wb2t5L3NpbS1wYWxhenpvL3RtcC9zeXNyb290cy94ODZfNjQtbGludXgvdXNyL2xpYiAt
TC9ib251cy9zY3JhdGNoL3NpNS9wb2t5L3NpbS1wYWxhenpvL3RtcC9zeXNyb290cy94ODZfNjQt
bGludXgvbGliIC1XbCwtcnBhdGgtbGluaywvYm9udXMvc2NyYXRjaC9zaTUvcG9reS9zaW0tcGFs
YXp6by90bXAvc3lzcm9vdHMveDg2XzY0LWxpbnV4L3Vzci9saWIgLVdsLC1ycGF0aC1saW5rLC9i
b251cy9zY3JhdGNoL3NpNS9wb2t5L3NpbS1wYWxhenpvL3RtcC9zeXNyb290cy94ODZfNjQtbGlu
dXgvbGliIC1XbCwtcnBhdGgsL2JvbnVzL3NjcmF0Y2gvc2k1L3Bva3kvc2ltLXBhbGF6em8vdG1w
L3N5c3Jvb3RzL3g4Nl82NC1saW51eC91c3IvbGliIC1XbCwtcnBhdGgsL2JvbnVzL3NjcmF0Y2gv
c2k1L3Bva3kvc2ltLXBhbGF6em8vdG1wL3N5c3Jvb3RzL3g4Nl82NC1saW51eC9saWIgLVdsLC1P
MSAtZnN0YWNrLXByb3RlY3RvciAtTC91c3IvbG9jYWwvbGliCkxJQkMgPSBsaWJjLTIuMTguc28K
TElCX0VYVCA9IC5hCk9CSl9FWFQgPSAubwpPU05BTUUgPSBsaW51eApPU1ZFUlMgPSAzLjE4Ljct
MTAwLmZjMjAueDg2XzY0ClJBTkxJQiA9IDoKU0lURUxJQkVYUCA9IC9ib251cy9zY3JhdGNoL3Np
NS9wb2t5L3NpbS1wYWxhenpvL3RtcC9zeXNyb290cy94ODZfNjQtbGludXgvdXNyL2xpYi9wZXJs
LW5hdGl2ZS9wZXJsLzUuMjAuMApTSVRFQVJDSEVYUCA9IC9ib251cy9zY3JhdGNoL3NpNS9wb2t5
L3NpbS1wYWxhenpvL3RtcC9zeXNyb290cy94ODZfNjQtbGludXgvdXNyL2xpYi9wZXJsLW5hdGl2
ZS9wZXJsLzUuMjAuMApTTyA9IHNvClZFTkRPUkFSQ0hFWFAgPSAvYm9udXMvc2NyYXRjaC9zaTUv
cG9reS9zaW0tcGFsYXp6by90bXAvc3lzcm9vdHMveDg2XzY0LWxpbnV4L3Vzci9saWIvcGVybC1u
YXRpdmUvcGVybC81LjIwLjAKVkVORE9STElCRVhQID0gL2JvbnVzL3NjcmF0Y2gvc2k1L3Bva3kv
c2ltLXBhbGF6em8vdG1wL3N5c3Jvb3RzL3g4Nl82NC1saW51eC91c3IvbGliL3BlcmwtbmF0aXZl
L3BlcmwvNS4yMC4wCgoKIyAtLS0gTWFrZU1ha2VyIGNvbnN0YW50cyBzZWN0aW9uOgpBUl9TVEFU
SUNfQVJHUyA9IGNyCkRJUkZJTEVTRVAgPSAvCkRGU0VQID0gJChESVJGSUxFU0VQKQpOQU1FID0g
QlNEOjpSZXNvdXJjZQpOQU1FX1NZTSA9IEJTRF9SZXNvdXJjZQpWRVJTSU9OID0gMS4yOTA3ClZF
UlNJT05fTUFDUk8gPSBWRVJTSU9OClZFUlNJT05fU1lNID0gMV8yOTA3CkRFRklORV9WRVJTSU9O
ID0gLUQkKFZFUlNJT05fTUFDUk8pPVwiJChWRVJTSU9OKVwiClhTX1ZFUlNJT04gPSAxLjI5MDcK
WFNfVkVSU0lPTl9NQUNSTyA9IFhTX1ZFUlNJT04KWFNfREVGSU5FX1ZFUlNJT04gPSAtRCQoWFNf
VkVSU0lPTl9NQUNSTyk9XCIkKFhTX1ZFUlNJT04pXCIKSU5TVF9BUkNITElCID0gYmxpYi9hcmNo
CklOU1RfU0NSSVBUID0gYmxpYi9zY3JpcHQKSU5TVF9CSU4gPSBibGliL2JpbgpJTlNUX0xJQiA9
IGJsaWIvbGliCklOU1RfTUFOMURJUiA9IGJsaWIvbWFuMQpJTlNUX01BTjNESVIgPSBibGliL21h
bjMKTUFOMUVYVCA9IDEKTUFOM0VYVCA9IDNwbQpJTlNUQUxMRElSUyA9IHNpdGUKREVTVERJUiA9
IApQUkVGSVggPSAkKFNJVEVQUkVGSVgpClBFUkxQUkVGSVggPSAvYm9udXMvc2NyYXRjaC9zaTUv
cG9reS9zaW0tcGFsYXp6by90bXAvc3lzcm9vdHMveDg2XzY0LWxpbnV4L3VzcgpTSVRFUFJFRklY
ID0gL2JvbnVzL3NjcmF0Y2gvc2k1L3Bva3kvc2ltLXBhbGF6em8vdG1wL3N5c3Jvb3RzL3g4Nl82
NC1saW51eC91c3IKVkVORE9SUFJFRklYID0gL2JvbnVzL3NjcmF0Y2gvc2k1L3Bva3kvc2ltLXBh
bGF6em8vdG1wL3N5c3Jvb3RzL3g4Nl82NC1saW51eC91c3IKSU5TVEFMTFBSSVZMSUIgPSAvYm9u
dXMvc2NyYXRjaC9zaTUvcG9reS9zaW0tcGFsYXp6by90bXAvc3lzcm9vdHMveDg2XzY0LWxpbnV4
L3Vzci9saWIvcGVybC1uYXRpdmUvcGVybC81LjIwLjAKREVTVElOU1RBTExQUklWTElCID0gJChE
RVNURElSKSQoSU5TVEFMTFBSSVZMSUIpCklOU1RBTExTSVRFTElCID0gL2JvbnVzL3NjcmF0Y2gv
c2k1L3Bva3kvc2ltLXBhbGF6em8vdG1wL3N5c3Jvb3RzL3g4Nl82NC1saW51eC91c3IvbGliL3Bl
cmwtbmF0aXZlL3BlcmwvNS4yMC4wCkRFU1RJTlNUQUxMU0lURUxJQiA9ICQoREVTVERJUikkKElO
U1RBTExTSVRFTElCKQpJTlNUQUxMVkVORE9STElCID0gL2JvbnVzL3NjcmF0Y2gvc2k1L3Bva3kv
c2ltLXBhbGF6em8vdG1wL3N5c3Jvb3RzL3g4Nl82NC1saW51eC91c3IvbGliL3BlcmwtbmF0aXZl
L3BlcmwvNS4yMC4wCkRFU1RJTlNUQUxMVkVORE9STElCID0gJChERVNURElSKSQoSU5TVEFMTFZF
TkRPUkxJQikKSU5TVEFMTEFSQ0hMSUIgPSAvYm9udXMvc2NyYXRjaC9zaTUvcG9reS9zaW0tcGFs
YXp6by90bXAvc3lzcm9vdHMveDg2XzY0LWxpbnV4L3Vzci9saWIvcGVybC1uYXRpdmUvcGVybC81
LjIwLjAKREVTVElOU1RBTExBUkNITElCID0gJChERVNURElSKSQoSU5TVEFMTEFSQ0hMSUIpCklO
U1RBTExTSVRFQVJDSCA9IC9ib251cy9zY3JhdGNoL3NpNS9wb2t5L3NpbS1wYWxhenpvL3RtcC9z
eXNyb290cy94ODZfNjQtbGludXgvdXNyL2xpYi9wZXJsLW5hdGl2ZS9wZXJsLzUuMjAuMApERVNU
SU5TVEFMTFNJVEVBUkNIID0gJChERVNURElSKSQoSU5TVEFMTFNJVEVBUkNIKQpJTlNUQUxMVkVO
RE9SQVJDSCA9IC9ib251cy9zY3JhdGNoL3NpNS9wb2t5L3NpbS1wYWxhenpvL3RtcC9zeXNyb290
cy94ODZfNjQtbGludXgvdXNyL2xpYi9wZXJsLW5hdGl2ZS9wZXJsLzUuMjAuMApERVNUSU5TVEFM
TFZFTkRPUkFSQ0ggPSAkKERFU1RESVIpJChJTlNUQUxMVkVORE9SQVJDSCkKSU5TVEFMTEJJTiA9
IC9ib251cy9zY3JhdGNoL3NpNS9wb2t5L3NpbS1wYWxhenpvL3RtcC9zeXNyb290cy94ODZfNjQt
bGludXgvdXNyL2Jpbi9wZXJsLW5hdGl2ZQpERVNUSU5TVEFMTEJJTiA9ICQoREVTVERJUikkKElO
U1RBTExCSU4pCklOU1RBTExTSVRFQklOID0gL2JvbnVzL3NjcmF0Y2gvc2k1L3Bva3kvc2ltLXBh
bGF6em8vdG1wL3N5c3Jvb3RzL3g4Nl82NC1saW51eC91c3IvYmluCkRFU1RJTlNUQUxMU0lURUJJ
TiA9ICQoREVTVERJUikkKElOU1RBTExTSVRFQklOKQpJTlNUQUxMVkVORE9SQklOID0gL2JvbnVz
L3NjcmF0Y2gvc2k1L3Bva3kvc2ltLXBhbGF6em8vdG1wL3N5c3Jvb3RzL3g4Nl82NC1saW51eC91
c3IvYmluCkRFU1RJTlNUQUxMVkVORE9SQklOID0gJChERVNURElSKSQoSU5TVEFMTFZFTkRPUkJJ
TikKSU5TVEFMTFNDUklQVCA9IC9ib251cy9zY3JhdGNoL3NpNS9wb2t5L3NpbS1wYWxhenpvL3Rt
cC9zeXNyb290cy94ODZfNjQtbGludXgvdXNyL2Jpbi9wZXJsLW5hdGl2ZQpERVNUSU5TVEFMTFND
UklQVCA9ICQoREVTVERJUikkKElOU1RBTExTQ1JJUFQpCklOU1RBTExTSVRFU0NSSVBUID0gL2Jv
bnVzL3NjcmF0Y2gvc2k1L3Bva3kvc2ltLXBhbGF6em8vdG1wL3N5c3Jvb3RzL3g4Nl82NC1saW51
eC91c3IvYmluCkRFU1RJTlNUQUxMU0lURVNDUklQVCA9ICQoREVTVERJUikkKElOU1RBTExTSVRF
U0NSSVBUKQpJTlNUQUxMVkVORE9SU0NSSVBUID0gL2JvbnVzL3NjcmF0Y2gvc2k1L3Bva3kvc2lt
LXBhbGF6em8vdG1wL3N5c3Jvb3RzL3g4Nl82NC1saW51eC91c3IvYmluCkRFU1RJTlNUQUxMVkVO
RE9SU0NSSVBUID0gJChERVNURElSKSQoSU5TVEFMTFZFTkRPUlNDUklQVCkKSU5TVEFMTE1BTjFE
SVIgPSAvYm9udXMvc2NyYXRjaC9zaTUvcG9reS9zaW0tcGFsYXp6by90bXAvc3lzcm9vdHMveDg2
XzY0LWxpbnV4L3Vzci9tYW4vbWFuMQpERVNUSU5TVEFMTE1BTjFESVIgPSAkKERFU1RESVIpJChJ
TlNUQUxMTUFOMURJUikKSU5TVEFMTFNJVEVNQU4xRElSID0gL2JvbnVzL3NjcmF0Y2gvc2k1L3Bv
a3kvc2ltLXBhbGF6em8vdG1wL3N5c3Jvb3RzL3g4Nl82NC1saW51eC91c3IvbWFuL21hbjEKREVT
VElOU1RBTExTSVRFTUFOMURJUiA9ICQoREVTVERJUikkKElOU1RBTExTSVRFTUFOMURJUikKSU5T
VEFMTFZFTkRPUk1BTjFESVIgPSAvYm9udXMvc2NyYXRjaC9zaTUvcG9reS9zaW0tcGFsYXp6by90
bXAvc3lzcm9vdHMveDg2XzY0LWxpbnV4L3Vzci9tYW4vbWFuMQpERVNUSU5TVEFMTFZFTkRPUk1B
TjFESVIgPSAkKERFU1RESVIpJChJTlNUQUxMVkVORE9STUFOMURJUikKSU5TVEFMTE1BTjNESVIg
PSAvYm9udXMvc2NyYXRjaC9zaTUvcG9reS9zaW0tcGFsYXp6by90bXAvc3lzcm9vdHMveDg2XzY0
LWxpbnV4L3Vzci9tYW4vbWFuMwpERVNUSU5TVEFMTE1BTjNESVIgPSAkKERFU1RESVIpJChJTlNU
QUxMTUFOM0RJUikKSU5TVEFMTFNJVEVNQU4zRElSID0gL2JvbnVzL3NjcmF0Y2gvc2k1L3Bva3kv
c2ltLXBhbGF6em8vdG1wL3N5c3Jvb3RzL3g4Nl82NC1saW51eC91c3IvbWFuL21hbjMKREVTVElO
U1RBTExTSVRFTUFOM0RJUiA9ICQoREVTVERJUikkKElOU1RBTExTSVRFTUFOM0RJUikKSU5TVEFM
TFZFTkRPUk1BTjNESVIgPSAvYm9udXMvc2NyYXRjaC9zaTUvcG9reS9zaW0tcGFsYXp6by90bXAv
c3lzcm9vdHMveDg2XzY0LWxpbnV4L3Vzci9tYW4vbWFuMwpERVNUSU5TVEFMTFZFTkRPUk1BTjNE
SVIgPSAkKERFU1RESVIpJChJTlNUQUxMVkVORE9STUFOM0RJUikKUEVSTF9MSUIgPSAvYm9udXMv
c2NyYXRjaC9zaTUvcG9reS9zaW0tcGFsYXp6by90bXAvc3lzcm9vdHMveDg2XzY0LWxpbnV4L3Vz
ci9saWIvcGVybC1uYXRpdmUvcGVybC81LjIwLjAKUEVSTF9BUkNITElCID0gL2JvbnVzL3NjcmF0
Y2gvc2k1L3Bva3kvc2ltLXBhbGF6em8vdG1wL3N5c3Jvb3RzL3g4Nl82NC1saW51eC91c3IvbGli
L3BlcmwtbmF0aXZlL3BlcmwvNS4yMC4wCkxJQlBFUkxfQSA9IGxpYnBlcmwuYQpGSVJTVF9NQUtF
RklMRSA9IE1ha2VmaWxlCk1BS0VGSUxFX09MRCA9IE1ha2VmaWxlLm9sZApNQUtFX0FQRVJMX0ZJ
TEUgPSBNYWtlZmlsZS5hcGVybApQRVJMTUFJTkNDID0gJChDQykKUEVSTF9JTkMgPSAvYm9udXMv
c2NyYXRjaC9zaTUvcG9reS9zaW0tcGFsYXp6by90bXAvc3lzcm9vdHMveDg2XzY0LWxpbnV4L3Vz
ci9saWIvcGVybC1uYXRpdmUvcGVybC81LjIwLjAvQ09SRQpQRVJMID0gL2JvbnVzL3NjcmF0Y2gv
c2k1L3Bva3kvc2ltLXBhbGF6em8vdG1wL3N5c3Jvb3RzL3g4Nl82NC1saW51eC91c3IvYmluL3Bl
cmwtbmF0aXZlL3BlcmwKRlVMTFBFUkwgPSAvYm9udXMvc2NyYXRjaC9zaTUvcG9reS9zaW0tcGFs
YXp6by90bXAvc3lzcm9vdHMveDg2XzY0LWxpbnV4L3Vzci9iaW4vcGVybC1uYXRpdmUvcGVybApB
QlNQRVJMID0gJChQRVJMKQpQRVJMUlVOID0gJChQRVJMKQpGVUxMUEVSTFJVTiA9ICQoRlVMTFBF
UkwpCkFCU1BFUkxSVU4gPSAkKEFCU1BFUkwpClBFUkxSVU5JTlNUID0gJChQRVJMUlVOKSAiLUkk
KElOU1RfQVJDSExJQikiICItSSQoSU5TVF9MSUIpIgpGVUxMUEVSTFJVTklOU1QgPSAkKEZVTExQ
RVJMUlVOKSAiLUkkKElOU1RfQVJDSExJQikiICItSSQoSU5TVF9MSUIpIgpBQlNQRVJMUlVOSU5T
VCA9ICQoQUJTUEVSTFJVTikgIi1JJChJTlNUX0FSQ0hMSUIpIiAiLUkkKElOU1RfTElCKSIKUEVS
TF9DT1JFID0gMApQRVJNX0RJUiA9IDc1NQpQRVJNX1JXID0gNjQ0ClBFUk1fUldYID0gNzU1CgpN
QUtFTUFLRVIgICA9IC9ib251cy9zY3JhdGNoL3NpNS9wb2t5L3NpbS1wYWxhenpvL3RtcC9zeXNy
b290cy94ODZfNjQtbGludXgvdXNyL2xpYi9wZXJsLW5hdGl2ZS9wZXJsLzUuMjAuMC9FeHRVdGls
cy9NYWtlTWFrZXIucG0KTU1fVkVSU0lPTiAgPSA2Ljk4Ck1NX1JFVklTSU9OID0gNjk4MDAKCiMg
RlVMTEVYVCA9IFBhdGhuYW1lIGZvciBleHRlbnNpb24gZGlyZWN0b3J5IChlZyBGb28vQmFyL09y
YWNsZSkuCiMgQkFTRUVYVCA9IEJhc2VuYW1lIHBhcnQgb2YgRlVMTEVYVC4gTWF5IGJlIGp1c3Qg
ZXF1YWwgRlVMTEVYVC4gKGVnIE9yYWNsZSkKIyBQQVJFTlRfTkFNRSA9IE5BTUUgd2l0aG91dCBC
QVNFRVhUIGFuZCBubyB0cmFpbGluZyA6OiAoZWcgRm9vOjpCYXIpCiMgRExCQVNFICA9IEJhc2Vu
YW1lIHBhcnQgb2YgZHluYW1pYyBsaWJyYXJ5LiBNYXkgYmUganVzdCBlcXVhbCBCQVNFRVhULgpN
QUtFID0gbWFrZQpGVUxMRVhUID0gQlNEL1Jlc291cmNlCkJBU0VFWFQgPSBSZXNvdXJjZQpQQVJF
TlRfTkFNRSA9IEJTRApETEJBU0UgPSAkKEJBU0VFWFQpClZFUlNJT05fRlJPTSA9IFJlc291cmNl
LnBtCkRFRklORSA9ICAtRFJsaW1fdD1ybGltX3QKT0JKRUNUID0gJChCQVNFRVhUKSQoT0JKX0VY
VCkKTERGUk9NID0gJChPQkpFQ1QpCkxJTktUWVBFID0gZHluYW1pYwpCT09UREVQID0gCgojIEhh
bmR5IGxpc3RzIG9mIHNvdXJjZSBjb2RlIGZpbGVzOgpYU19GSUxFUyA9IFJlc291cmNlLnhzCkNf
RklMRVMgID0gUmVzb3VyY2UuYwpPX0ZJTEVTICA9IFJlc291cmNlLm8KSF9GSUxFUyAgPSBwcHBv
cnQuaApNQU4xUE9EUyA9IApNQU4zUE9EUyA9IFJlc291cmNlLnBtCgojIFdoZXJlIGlzIHRoZSBD
b25maWcgaW5mb3JtYXRpb24gdGhhdCB3ZSBhcmUgdXNpbmcvZGVwZW5kIG9uCkNPTkZJR0RFUCA9
ICQoUEVSTF9BUkNITElCKSQoREZTRVApQ29uZmlnLnBtICQoUEVSTF9JTkMpJChERlNFUCljb25m
aWcuaAoKIyBXaGVyZSB0byBidWlsZCB0aGluZ3MKSU5TVF9MSUJESVIgICAgICA9ICQoSU5TVF9M
SUIpL0JTRApJTlNUX0FSQ0hMSUJESVIgID0gJChJTlNUX0FSQ0hMSUIpL0JTRAoKSU5TVF9BVVRP
RElSICAgICA9ICQoSU5TVF9MSUIpL2F1dG8vJChGVUxMRVhUKQpJTlNUX0FSQ0hBVVRPRElSID0g
JChJTlNUX0FSQ0hMSUIpL2F1dG8vJChGVUxMRVhUKQoKSU5TVF9TVEFUSUMgICAgICA9ICQoSU5T
VF9BUkNIQVVUT0RJUikvJChCQVNFRVhUKSQoTElCX0VYVCkKSU5TVF9EWU5BTUlDICAgICA9ICQo
SU5TVF9BUkNIQVVUT0RJUikvJChETEJBU0UpLiQoRExFWFQpCklOU1RfQk9PVCAgICAgICAgPSAk
KElOU1RfQVJDSEFVVE9ESVIpLyQoQkFTRUVYVCkuYnMKCiMgRXh0cmEgbGlua2VyIGluZm8KRVhQ
T1JUX0xJU1QgICAgICAgID0gClBFUkxfQVJDSElWRSAgICAgICA9IApQRVJMX0FSQ0hJVkVfQUZU
RVIgPSAKCgpUT19JTlNUX1BNID0gUmVzb3VyY2UucG0KClBNX1RPX0JMSUIgPSBSZXNvdXJjZS5w
bSBcCgkkKElOU1RfTElCKS9CU0QvUmVzb3VyY2UucG0KCgojIC0tLSBNYWtlTWFrZXIgcGxhdGZv
cm1fY29uc3RhbnRzIHNlY3Rpb246Ck1NX1VuaXhfVkVSU0lPTiA9IDYuOTgKUEVSTF9NQUxMT0Nf
REVGID0gLURQRVJMX0VYVE1BTExPQ19ERUYgLURtYWxsb2M9UGVybF9tYWxsb2MgLURmcmVlPVBl
cmxfbWZyZWUgLURyZWFsbG9jPVBlcmxfcmVhbGxvYyAtRGNhbGxvYz1QZXJsX2NhbGxvYwoKCiMg
LS0tIE1ha2VNYWtlciB0b29sX2F1dG9zcGxpdCBzZWN0aW9uOgojIFVzYWdlOiAkKEFVVE9TUExJ
VEZJTEUpIEZpbGVUb1NwbGl0IEF1dG9EaXJUb1NwbGl0SW50bwpBVVRPU1BMSVRGSUxFID0gJChB
QlNQRVJMUlVOKSAgLWUgJ3VzZSBBdXRvU3BsaXQ7ICBhdXRvc3BsaXQoJCQkJEFSR1ZbMF0sICQk
JCRBUkdWWzFdLCAwLCAxLCAxKScgLS0KCgoKIyAtLS0gTWFrZU1ha2VyIHRvb2xfeHN1YnBwIHNl
Y3Rpb246CgpYU1VCUFBESVIgPSAvYm9udXMvc2NyYXRjaC9zaTUvcG9reS9zaW0tcGFsYXp6by90
bXAvc3lzcm9vdHMveDg2XzY0LWxpbnV4L3Vzci9saWIvcGVybC1uYXRpdmUvcGVybC81LjIwLjAv
RXh0VXRpbHMKWFNVQlBQID0gJChYU1VCUFBESVIpJChERlNFUCl4c3VicHAKWFNVQlBQUlVOID0g
JChQRVJMUlVOKSAkKFhTVUJQUCkKWFNQUk9UT0FSRyA9IApYU1VCUFBERVBTID0gL2JvbnVzL3Nj
cmF0Y2gvc2k1L3Bva3kvc2ltLXBhbGF6em8vdG1wL3N5c3Jvb3RzL3g4Nl82NC1saW51eC91c3Iv
bGliL3BlcmwtbmF0aXZlL3BlcmwvNS4yMC4wL0V4dFV0aWxzL3R5cGVtYXAgJChYU1VCUFApClhT
VUJQUEFSR1MgPSAtdHlwZW1hcCAvYm9udXMvc2NyYXRjaC9zaTUvcG9reS9zaW0tcGFsYXp6by90
bXAvc3lzcm9vdHMveDg2XzY0LWxpbnV4L3Vzci9saWIvcGVybC1uYXRpdmUvcGVybC81LjIwLjAv
RXh0VXRpbHMvdHlwZW1hcApYU1VCUFBfRVhUUkFfQVJHUyA9CgoKIyAtLS0gTWFrZU1ha2VyIHRv
b2xzX290aGVyIHNlY3Rpb246ClNIRUxMID0gL2Jpbi9zaApDSE1PRCA9IGNobW9kCkNQID0gY3AK
TVYgPSBtdgpOT09QID0gJChUUlVFKQpOT0VDSE8gPSBAClJNX0YgPSBybSAtZgpSTV9SRiA9IHJt
IC1yZgpURVNUX0YgPSB0ZXN0IC1mClRPVUNIID0gdG91Y2gKVU1BU0tfTlVMTCA9IHVtYXNrIDAK
REVWX05VTEwgPSA+IC9kZXYvbnVsbCAyPiYxCk1LUEFUSCA9ICQoQUJTUEVSTFJVTikgLU1FeHRV
dGlsczo6Q29tbWFuZCAtZSAnbWtwYXRoJyAtLQpFUVVBTElaRV9USU1FU1RBTVAgPSAkKEFCU1BF
UkxSVU4pIC1NRXh0VXRpbHM6OkNvbW1hbmQgLWUgJ2VxdGltZScgLS0KRkFMU0UgPSBmYWxzZQpU
UlVFID0gdHJ1ZQpFQ0hPID0gZWNobwpFQ0hPX04gPSBlY2hvIC1uClVOSU5TVCA9IDAKVkVSQklO
U1QgPSAwCk1PRF9JTlNUQUxMID0gJChBQlNQRVJMUlVOKSAtTUV4dFV0aWxzOjpJbnN0YWxsIC1l
ICdpbnN0YWxsKFsgZnJvbV90byA9PiB7QEFSR1Z9LCB2ZXJib3NlID0+ICdcJyckKFZFUkJJTlNU
KSdcJycsIHVuaW5zdGFsbF9zaGFkb3dzID0+ICdcJyckKFVOSU5TVCknXCcnLCBkaXJfbW9kZSA9
PiAnXCcnJChQRVJNX0RJUiknXCcnIF0pOycgLS0KRE9DX0lOU1RBTEwgPSAkKEFCU1BFUkxSVU4p
IC1NRXh0VXRpbHM6OkNvbW1hbmQ6Ok1NIC1lICdwZXJsbG9jYWxfaW5zdGFsbCcgLS0KVU5JTlNU
QUxMID0gJChBQlNQRVJMUlVOKSAtTUV4dFV0aWxzOjpDb21tYW5kOjpNTSAtZSAndW5pbnN0YWxs
JyAtLQpXQVJOX0lGX09MRF9QQUNLTElTVCA9ICQoQUJTUEVSTFJVTikgLU1FeHRVdGlsczo6Q29t
bWFuZDo6TU0gLWUgJ3dhcm5faWZfb2xkX3BhY2tsaXN0JyAtLQpNQUNST1NUQVJUID0gCk1BQ1JP
RU5EID0gClVTRU1BS0VGSUxFID0gLWYKRklYSU4gPSAkKEFCU1BFUkxSVU4pIC1NRXh0VXRpbHM6
Ok1ZIC1lICdNWS0+Zml4aW4oc2hpZnQpJyAtLQpDUF9OT05FTVBUWSA9ICQoQUJTUEVSTFJVTikg
LU1FeHRVdGlsczo6Q29tbWFuZDo6TU0gLWUgJ2NwX25vbmVtcHR5JyAtLQoKCiMgLS0tIE1ha2VN
YWtlciBtYWtlbWFrZXJkZmx0IHNlY3Rpb246Cm1ha2VtYWtlcmRmbHQgOiBhbGwKCSQoTk9FQ0hP
KSAkKE5PT1ApCgoKIyAtLS0gTWFrZU1ha2VyIGRpc3Qgc2VjdGlvbjoKVEFSID0gdGFyClRBUkZM
QUdTID0gY3ZmClpJUCA9IHppcApaSVBGTEFHUyA9IC1yCkNPTVBSRVNTID0gZ3ppcApTVUZGSVgg
PSAuZ3oKU0hBUiA9IHNoYXIKUFJFT1AgPSAkKE5PRUNITykgJChOT09QKQpQT1NUT1AgPSAkKE5P
RUNITykgJChOT09QKQpUT19VTklYID0gJChOT0VDSE8pICQoTk9PUCkKQ0kgPSBjaSAtdQpSQ1Nf
TEFCRUwgPSByY3MgLU52JChWRVJTSU9OX1NZTSk6IC1xCkRJU1RfQ1AgPSBiZXN0CkRJU1RfREVG
QVVMVCA9IHRhcmRpc3QKRElTVE5BTUUgPSBCU0QtUmVzb3VyY2UKRElTVFZOQU1FID0gQlNELVJl
c291cmNlLTEuMjkwNwoKCiMgLS0tIE1ha2VNYWtlciBtYWNybyBzZWN0aW9uOgoKCiMgLS0tIE1h
a2VNYWtlciBkZXBlbmQgc2VjdGlvbjoKCgojIC0tLSBNYWtlTWFrZXIgY2ZsYWdzIHNlY3Rpb246
CgpDQ0ZMQUdTID0gLURfUkVFTlRSQU5UIC1EX0dOVV9TT1VSQ0UgLWZ3cmFwdiAtZm5vLXN0cmlj
dC1hbGlhc2luZyAtcGlwZSAtZnN0YWNrLXByb3RlY3RvciAtSS91c3IvbG9jYWwvaW5jbHVkZSAt
RF9MQVJHRUZJTEVfU09VUkNFIC1EX0ZJTEVfT0ZGU0VUX0JJVFM9NjQKT1BUSU1JWkUgPSAtTzIK
UEVSTFRZUEUgPSAKTVBPTExVVEUgPSAKCgojIC0tLSBNYWtlTWFrZXIgY29uc3RfbG9hZGxpYnMg
c2VjdGlvbjoKCiMgQlNEOjpSZXNvdXJjZSBtaWdodCBkZXBlbmQgb24gc29tZSBvdGhlciBsaWJy
YXJpZXM6CiMgU2VlIEV4dFV0aWxzOjpMaWJsaXN0IGZvciBkZXRhaWxzCiMKCgojIC0tLSBNYWtl
TWFrZXIgY29uc3RfY2NjbWQgc2VjdGlvbjoKQ0NDTUQgPSAkKENDKSAtYyAkKFBBU1RIUlVfSU5D
KSAkKElOQykgXAoJJChDQ0ZMQUdTKSAkKE9QVElNSVpFKSBcCgkkKFBFUkxUWVBFKSAkKE1QT0xM
VVRFKSAkKERFRklORV9WRVJTSU9OKSBcCgkkKFhTX0RFRklORV9WRVJTSU9OKQoKIyAtLS0gTWFr
ZU1ha2VyIHBvc3RfY29uc3RhbnRzIHNlY3Rpb246CgoKIyAtLS0gTWFrZU1ha2VyIHBhc3RocnUg
c2VjdGlvbjoKClBBU1RIUlUgPSBMSUJQRVJMX0E9IiQoTElCUEVSTF9BKSJcCglMSU5LVFlQRT0i
JChMSU5LVFlQRSkiXAoJT1BUSU1JWkU9IiQoT1BUSU1JWkUpIlwKCVBSRUZJWD0iJChQUkVGSVgp
IlwKCVBBU1RIUlVfREVGSU5FPSIkKFBBU1RIUlVfREVGSU5FKSIKCgojIC0tLSBNYWtlTWFrZXIg
c3BlY2lhbF90YXJnZXRzIHNlY3Rpb246Ci5TVUZGSVhFUyA6IC54cyAuYyAuQyAuY3BwIC5pIC5z
IC5jeHggLmNjICQoT0JKX0VYVCkKCi5QSE9OWTogYWxsIGNvbmZpZyBzdGF0aWMgZHluYW1pYyB0
ZXN0IGxpbmtleHQgbWFuaWZlc3QgYmxpYmRpcnMgY2xlYW4gcmVhbGNsZWFuIGRpc3R0ZXN0IGRp
c3RkaXIKCgoKIyAtLS0gTWFrZU1ha2VyIGNfbyBzZWN0aW9uOgoKLmMuaToKCWdjYyAgIC1FIC1j
ICQoUEFTVEhSVV9JTkMpICQoSU5DKSBcCgkkKENDRkxBR1MpICQoT1BUSU1JWkUpIFwKCSQoUEVS
TFRZUEUpICQoTVBPTExVVEUpICQoREVGSU5FX1ZFUlNJT04pIFwKCSQoWFNfREVGSU5FX1ZFUlNJ
T04pICQoQ0NDRExGTEFHUykgIi1JJChQRVJMX0lOQykiICQoUEFTVEhSVV9ERUZJTkUpICQoREVG
SU5FKSAkKi5jID4gJCouaQoKLmMuczoKCSQoQ0NDTUQpIC1TICQoQ0NDRExGTEFHUykgIi1JJChQ
RVJMX0lOQykiICQoUEFTVEhSVV9ERUZJTkUpICQoREVGSU5FKSAkKi5jCgouYyQoT0JKX0VYVCk6
CgkkKENDQ01EKSAkKENDQ0RMRkxBR1MpICItSSQoUEVSTF9JTkMpIiAkKFBBU1RIUlVfREVGSU5F
KSAkKERFRklORSkgJCouYwoKLmNwcCQoT0JKX0VYVCk6CgkkKENDQ01EKSAkKENDQ0RMRkxBR1Mp
ICItSSQoUEVSTF9JTkMpIiAkKFBBU1RIUlVfREVGSU5FKSAkKERFRklORSkgJCouY3BwCgouY3h4
JChPQkpfRVhUKToKCSQoQ0NDTUQpICQoQ0NDRExGTEFHUykgIi1JJChQRVJMX0lOQykiICQoUEFT
VEhSVV9ERUZJTkUpICQoREVGSU5FKSAkKi5jeHgKCi5jYyQoT0JKX0VYVCk6CgkkKENDQ01EKSAk
KENDQ0RMRkxBR1MpICItSSQoUEVSTF9JTkMpIiAkKFBBU1RIUlVfREVGSU5FKSAkKERFRklORSkg
JCouY2MKCi5DJChPQkpfRVhUKToKCSQoQ0NDTUQpICQoQ0NDRExGTEFHUykgIi1JJChQRVJMX0lO
QykiICQoUEFTVEhSVV9ERUZJTkUpICQoREVGSU5FKSAkKi5DCgoKIyAtLS0gTWFrZU1ha2VyIHhz
X2Mgc2VjdGlvbjoKCi54cy5jOgoJJChYU1VCUFBSVU4pICQoWFNQUk9UT0FSRykgJChYU1VCUFBB
UkdTKSAkKFhTVUJQUF9FWFRSQV9BUkdTKSAkKi54cyA+ICQqLnhzYyAmJiAkKE1WKSAkKi54c2Mg
JCouYwoKCiMgLS0tIE1ha2VNYWtlciB4c19vIHNlY3Rpb246CgoueHMkKE9CSl9FWFQpOgoJJChY
U1VCUFBSVU4pICQoWFNQUk9UT0FSRykgJChYU1VCUFBBUkdTKSAkKi54cyA+ICQqLnhzYyAmJiAk
KE1WKSAkKi54c2MgJCouYwoJJChDQ0NNRCkgJChDQ0NETEZMQUdTKSAiLUkkKFBFUkxfSU5DKSIg
JChQQVNUSFJVX0RFRklORSkgJChERUZJTkUpICQqLmMKCgojIC0tLSBNYWtlTWFrZXIgdG9wX3Rh
cmdldHMgc2VjdGlvbjoKYWxsIDo6IHB1cmVfYWxsIG1hbmlmeXBvZHMKCSQoTk9FQ0hPKSAkKE5P
T1ApCgoKcHVyZV9hbGwgOjogY29uZmlnIHBtX3RvX2JsaWIgc3ViZGlycyBsaW5rZXh0CgkkKE5P
RUNITykgJChOT09QKQoKc3ViZGlycyA6OiAkKE1ZRVhUTElCKQoJJChOT0VDSE8pICQoTk9PUCkK
CmNvbmZpZyA6OiAkKEZJUlNUX01BS0VGSUxFKSBibGliZGlycwoJJChOT0VDSE8pICQoTk9PUCkK
CiQoT19GSUxFUyk6ICQoSF9GSUxFUykKCmhlbHAgOgoJcGVybGRvYyBFeHRVdGlsczo6TWFrZU1h
a2VyCgoKIyAtLS0gTWFrZU1ha2VyIGJsaWJkaXJzIHNlY3Rpb246CmJsaWJkaXJzIDogJChJTlNU
X0xJQkRJUikkKERGU0VQKS5leGlzdHMgJChJTlNUX0FSQ0hMSUIpJChERlNFUCkuZXhpc3RzICQo
SU5TVF9BVVRPRElSKSQoREZTRVApLmV4aXN0cyAkKElOU1RfQVJDSEFVVE9ESVIpJChERlNFUCku
ZXhpc3RzICQoSU5TVF9CSU4pJChERlNFUCkuZXhpc3RzICQoSU5TVF9TQ1JJUFQpJChERlNFUCku
ZXhpc3RzICQoSU5TVF9NQU4xRElSKSQoREZTRVApLmV4aXN0cyAkKElOU1RfTUFOM0RJUikkKERG
U0VQKS5leGlzdHMKCSQoTk9FQ0hPKSAkKE5PT1ApCgojIEJhY2t3YXJkcyBjb21wYXQgd2l0aCA2
LjE4IHRocm91Z2ggNi4yNQpibGliZGlycy50cyA6IGJsaWJkaXJzCgkkKE5PRUNITykgJChOT09Q
KQoKJChJTlNUX0xJQkRJUikkKERGU0VQKS5leGlzdHMgOjogTWFrZWZpbGUuUEwKCSQoTk9FQ0hP
KSAkKE1LUEFUSCkgJChJTlNUX0xJQkRJUikKCSQoTk9FQ0hPKSAkKENITU9EKSAkKFBFUk1fRElS
KSAkKElOU1RfTElCRElSKQoJJChOT0VDSE8pICQoVE9VQ0gpICQoSU5TVF9MSUJESVIpJChERlNF
UCkuZXhpc3RzCgokKElOU1RfQVJDSExJQikkKERGU0VQKS5leGlzdHMgOjogTWFrZWZpbGUuUEwK
CSQoTk9FQ0hPKSAkKE1LUEFUSCkgJChJTlNUX0FSQ0hMSUIpCgkkKE5PRUNITykgJChDSE1PRCkg
JChQRVJNX0RJUikgJChJTlNUX0FSQ0hMSUIpCgkkKE5PRUNITykgJChUT1VDSCkgJChJTlNUX0FS
Q0hMSUIpJChERlNFUCkuZXhpc3RzCgokKElOU1RfQVVUT0RJUikkKERGU0VQKS5leGlzdHMgOjog
TWFrZWZpbGUuUEwKCSQoTk9FQ0hPKSAkKE1LUEFUSCkgJChJTlNUX0FVVE9ESVIpCgkkKE5PRUNI
TykgJChDSE1PRCkgJChQRVJNX0RJUikgJChJTlNUX0FVVE9ESVIpCgkkKE5PRUNITykgJChUT1VD
SCkgJChJTlNUX0FVVE9ESVIpJChERlNFUCkuZXhpc3RzCgokKElOU1RfQVJDSEFVVE9ESVIpJChE
RlNFUCkuZXhpc3RzIDo6IE1ha2VmaWxlLlBMCgkkKE5PRUNITykgJChNS1BBVEgpICQoSU5TVF9B
UkNIQVVUT0RJUikKCSQoTk9FQ0hPKSAkKENITU9EKSAkKFBFUk1fRElSKSAkKElOU1RfQVJDSEFV
VE9ESVIpCgkkKE5PRUNITykgJChUT1VDSCkgJChJTlNUX0FSQ0hBVVRPRElSKSQoREZTRVApLmV4
aXN0cwoKJChJTlNUX0JJTikkKERGU0VQKS5leGlzdHMgOjogTWFrZWZpbGUuUEwKCSQoTk9FQ0hP
KSAkKE1LUEFUSCkgJChJTlNUX0JJTikKCSQoTk9FQ0hPKSAkKENITU9EKSAkKFBFUk1fRElSKSAk
KElOU1RfQklOKQoJJChOT0VDSE8pICQoVE9VQ0gpICQoSU5TVF9CSU4pJChERlNFUCkuZXhpc3Rz
CgokKElOU1RfU0NSSVBUKSQoREZTRVApLmV4aXN0cyA6OiBNYWtlZmlsZS5QTAoJJChOT0VDSE8p
ICQoTUtQQVRIKSAkKElOU1RfU0NSSVBUKQoJJChOT0VDSE8pICQoQ0hNT0QpICQoUEVSTV9ESVIp
ICQoSU5TVF9TQ1JJUFQpCgkkKE5PRUNITykgJChUT1VDSCkgJChJTlNUX1NDUklQVCkkKERGU0VQ
KS5leGlzdHMKCiQoSU5TVF9NQU4xRElSKSQoREZTRVApLmV4aXN0cyA6OiBNYWtlZmlsZS5QTAoJ
JChOT0VDSE8pICQoTUtQQVRIKSAkKElOU1RfTUFOMURJUikKCSQoTk9FQ0hPKSAkKENITU9EKSAk
KFBFUk1fRElSKSAkKElOU1RfTUFOMURJUikKCSQoTk9FQ0hPKSAkKFRPVUNIKSAkKElOU1RfTUFO
MURJUikkKERGU0VQKS5leGlzdHMKCiQoSU5TVF9NQU4zRElSKSQoREZTRVApLmV4aXN0cyA6OiBN
YWtlZmlsZS5QTAoJJChOT0VDSE8pICQoTUtQQVRIKSAkKElOU1RfTUFOM0RJUikKCSQoTk9FQ0hP
KSAkKENITU9EKSAkKFBFUk1fRElSKSAkKElOU1RfTUFOM0RJUikKCSQoTk9FQ0hPKSAkKFRPVUNI
KSAkKElOU1RfTUFOM0RJUikkKERGU0VQKS5leGlzdHMKCgoKIyAtLS0gTWFrZU1ha2VyIGxpbmtl
eHQgc2VjdGlvbjoKCmxpbmtleHQgOjogJChMSU5LVFlQRSkKCSQoTk9FQ0hPKSAkKE5PT1ApCgoK
IyAtLS0gTWFrZU1ha2VyIGRsc3ltcyBzZWN0aW9uOgoKCiMgLS0tIE1ha2VNYWtlciBkeW5hbWlj
X2JzIHNlY3Rpb246CkJPT1RTVFJBUCA9ICQoQkFTRUVYVCkuYnMKCiMgQXMgTWtib290c3RyYXAg
bWlnaHQgbm90IHdyaXRlIGEgZmlsZSAoaWYgbm9uZSBpcyByZXF1aXJlZCkKIyB3ZSB1c2UgdG91
Y2ggdG8gcHJldmVudCBtYWtlIGNvbnRpbnVhbGx5IHRyeWluZyB0byByZW1ha2UgaXQuCiMgVGhl
IER5bmFMb2FkZXIgb25seSByZWFkcyBhIG5vbi1lbXB0eSBmaWxlLgokKEJPT1RTVFJBUCkgOiAk
KEZJUlNUX01BS0VGSUxFKSAkKEJPT1RERVApICQoSU5TVF9BUkNIQVVUT0RJUikkKERGU0VQKS5l
eGlzdHMKCSQoTk9FQ0hPKSAkKEVDSE8pICJSdW5uaW5nIE1rYm9vdHN0cmFwIGZvciAkKE5BTUUp
ICgkKEJTTE9BRExJQlMpKSIKCSQoTk9FQ0hPKSAkKFBFUkxSVU4pIFwKCQkiLU1FeHRVdGlsczo6
TWtib290c3RyYXAiIFwKCQktZSAiTWtib290c3RyYXAoJyQoQkFTRUVYVCknLCckKEJTTE9BRExJ
QlMpJyk7IgoJJChOT0VDSE8pICQoVE9VQ0gpICRACgkkKENITU9EKSAkKFBFUk1fUlcpICRACgoK
IyAtLS0gTWFrZU1ha2VyIGR5bmFtaWMgc2VjdGlvbjoKCmR5bmFtaWMgOjogJChGSVJTVF9NQUtF
RklMRSkgJChCT09UU1RSQVApICQoSU5TVF9EWU5BTUlDKQoJJChOT0VDSE8pICQoTk9PUCkKCgoj
IC0tLSBNYWtlTWFrZXIgZHluYW1pY19saWIgc2VjdGlvbjoKCiMgVGhpcyBzZWN0aW9uIGNyZWF0
ZXMgdGhlIGR5bmFtaWNhbGx5IGxvYWRhYmxlICQoSU5TVF9EWU5BTUlDKQojIGZyb20gJChPQkpF
Q1QpIGFuZCBwb3NzaWJseSAkKE1ZRVhUTElCKS4KQVJNQVlCRSA9IDoKT1RIRVJMREZMQUdTID0g
CklOU1RfRFlOQU1JQ19ERVAgPSAKSU5TVF9EWU5BTUlDX0ZJWCA9IAoKJChJTlNUX0RZTkFNSUMp
OiAkKE9CSkVDVCkgJChNWUVYVExJQikgJChJTlNUX0FSQ0hBVVRPRElSKSQoREZTRVApLmV4aXN0
cyAkKEVYUE9SVF9MSVNUKSAkKFBFUkxfQVJDSElWRSkgJChQRVJMX0FSQ0hJVkVfQUZURVIpICQo
SU5TVF9EWU5BTUlDX0RFUCkKCSQoUk1fRikgJEAKCSQoTEQpICAkKExERExGTEFHUykgJChMREZS
T00pICQoT1RIRVJMREZMQUdTKSAtbyAkQCAkKE1ZRVhUTElCKQlcCgkgICQoUEVSTF9BUkNISVZF
KSAkKExETE9BRExJQlMpICQoUEVSTF9BUkNISVZFX0FGVEVSKSAkKEVYUE9SVF9MSVNUKQlcCgkg
ICQoSU5TVF9EWU5BTUlDX0ZJWCkKCSQoQ0hNT0QpICQoUEVSTV9SV1gpICRACgkkKE5PRUNITykg
JChSTV9SRikgJChCT09UU1RSQVApCgktICQoQ1BfTk9ORU1QVFkpICQoQk9PVFNUUkFQKSAkKElO
U1RfQk9PVCkgJChQRVJNX1JXKQoKCiMgLS0tIE1ha2VNYWtlciBzdGF0aWMgc2VjdGlvbjoKCiMj
ICQoSU5TVF9QTSkgaGFzIGJlZW4gbW92ZWQgdG8gdGhlIGFsbDogdGFyZ2V0LgojIyBJdCByZW1h
aW5zIGhlcmUgZm9yIGF3aGlsZSB0byBhbGxvdyBmb3Igb2xkIHVzYWdlOiAibWFrZSBzdGF0aWMi
CnN0YXRpYyA6OiAkKEZJUlNUX01BS0VGSUxFKSAkKElOU1RfU1RBVElDKQoJJChOT0VDSE8pICQo
Tk9PUCkKCgojIC0tLSBNYWtlTWFrZXIgc3RhdGljX2xpYiBzZWN0aW9uOgoKJChJTlNUX1NUQVRJ
QykgOiAkKE9CSkVDVCkgJChNWUVYVExJQikgJChJTlNUX0FSQ0hBVVRPRElSKSQoREZTRVApLmV4
aXN0cwoJJChSTV9SRikgJEAKCSQoRlVMTF9BUikgJChBUl9TVEFUSUNfQVJHUykgJEAgJChPQkpF
Q1QpICYmICQoUkFOTElCKSAkQAoJJChDSE1PRCkgJChQRVJNX1JXWCkgJEAKCSQoTk9FQ0hPKSAk
KEVDSE8pICIkKEVYVFJBTElCUykiID4gJChJTlNUX0FSQ0hBVVRPRElSKS9leHRyYWxpYnMubGQK
CgojIC0tLSBNYWtlTWFrZXIgbWFuaWZ5cG9kcyBzZWN0aW9uOgoKUE9EMk1BTl9FWEUgPSAkKFBF
UkxSVU4pICItTUV4dFV0aWxzOjpDb21tYW5kOjpNTSIgLWUgcG9kMm1hbiAiLS0iClBPRDJNQU4g
PSAkKFBPRDJNQU5fRVhFKQoKCm1hbmlmeXBvZHMgOiBwdXJlX2FsbCAgXAoJUmVzb3VyY2UucG0K
CSQoTk9FQ0hPKSAkKFBPRDJNQU4pIC0tc2VjdGlvbj0zIC0tcGVybV9ydz0kKFBFUk1fUlcpIFwK
CSAgUmVzb3VyY2UucG0gJChJTlNUX01BTjNESVIpL0JTRDo6UmVzb3VyY2UuJChNQU4zRVhUKSAK
CgoKCiMgLS0tIE1ha2VNYWtlciBwcm9jZXNzUEwgc2VjdGlvbjoKCgojIC0tLSBNYWtlTWFrZXIg
aW5zdGFsbGJpbiBzZWN0aW9uOgoKCiMgLS0tIE1ha2VNYWtlciBzdWJkaXJzIHNlY3Rpb246Cgoj
IG5vbmUKCiMgLS0tIE1ha2VNYWtlciBjbGVhbl9zdWJkaXJzIHNlY3Rpb246CmNsZWFuX3N1YmRp
cnMgOgoJJChOT0VDSE8pICQoTk9PUCkKCgojIC0tLSBNYWtlTWFrZXIgY2xlYW4gc2VjdGlvbjoK
CiMgRGVsZXRlIHRlbXBvcmFyeSBmaWxlcyBidXQgZG8gbm90IHRvdWNoIGluc3RhbGxlZCBmaWxl
cy4gV2UgZG9uJ3QgZGVsZXRlCiMgdGhlIE1ha2VmaWxlIGhlcmUgc28gYSBsYXRlciBtYWtlIHJl
YWxjbGVhbiBzdGlsbCBoYXMgYSBtYWtlZmlsZSB0byB1c2UuCgpjbGVhbiA6OiBjbGVhbl9zdWJk
aXJzCgktICQoUk1fRikgXAoJICAkKEJBU0VFWFQpLmJzbyAkKEJBU0VFWFQpLmRlZiBcCgkgICQo
QkFTRUVYVCkuZXhwICQoQkFTRUVYVCkueCBcCgkgICQoQk9PVFNUUkFQKSAkKElOU1RfQVJDSEFV
VE9ESVIpL2V4dHJhbGlicy5hbGwgXAoJICAkKElOU1RfQVJDSEFVVE9ESVIpL2V4dHJhbGlicy5s
ZCAkKE1BS0VfQVBFUkxfRklMRSkgXAoJICAqJChMSUJfRVhUKSAqJChPQkpfRVhUKSBcCgkgICpw
ZXJsLmNvcmUgTVlNRVRBLmpzb24gXAoJICBNWU1FVEEueW1sIFJlc291cmNlLmMgXAoJICBibGli
ZGlycy50cyBjb3JlIFwKCSAgY29yZS4qcGVybC4qLj8gY29yZS5bMC05XSBcCgkgIGNvcmUuWzAt
OV1bMC05XSBjb3JlLlswLTldWzAtOV1bMC05XSBcCgkgIGNvcmUuWzAtOV1bMC05XVswLTldWzAt
OV0gY29yZS5bMC05XVswLTldWzAtOV1bMC05XVswLTldIFwKCSAgbGliJChCQVNFRVhUKS5kZWYg
bW9uLm91dCBcCgkgIHBlcmwgcGVybCQoRVhFX0VYVCkgXAoJICBwZXJsLmV4ZSBwZXJsbWFpbi5j
IFwKCSAgcG1fdG9fYmxpYiBwbV90b19ibGliLnRzIFwKCSAgc29fbG9jYXRpb25zIHRtb24ub3V0
IAoJLSAkKFJNX1JGKSBcCgkgIGJsaWIgCgkgICQoTk9FQ0hPKSAkKFJNX0YpICQoTUFLRUZJTEVf
T0xEKQoJLSAkKE1WKSAkKEZJUlNUX01BS0VGSUxFKSAkKE1BS0VGSUxFX09MRCkgJChERVZfTlVM
TCkKCgojIC0tLSBNYWtlTWFrZXIgcmVhbGNsZWFuX3N1YmRpcnMgc2VjdGlvbjoKcmVhbGNsZWFu
X3N1YmRpcnMgOgoJJChOT0VDSE8pICQoTk9PUCkKCgojIC0tLSBNYWtlTWFrZXIgcmVhbGNsZWFu
IHNlY3Rpb246CiMgRGVsZXRlIHRlbXBvcmFyeSBmaWxlcyAodmlhIGNsZWFuKSBhbmQgYWxzbyBk
ZWxldGUgZGlzdCBmaWxlcwpyZWFsY2xlYW4gcHVyZ2UgOjogIGNsZWFuIHJlYWxjbGVhbl9zdWJk
aXJzCgktICQoUk1fRikgXAoJICAkKE9CSkVDVCkgJChGSVJTVF9NQUtFRklMRSkgXAoJICAkKE1B
S0VGSUxFX09MRCkgCgktICQoUk1fUkYpIFwKCSAgJChESVNUVk5BTUUpIAoKCiMgLS0tIE1ha2VN
YWtlciBtZXRhZmlsZSBzZWN0aW9uOgptZXRhZmlsZSA6IGNyZWF0ZV9kaXN0ZGlyCgkkKE5PRUNI
TykgJChFQ0hPKSBHZW5lcmF0aW5nIE1FVEEueW1sCgkkKE5PRUNITykgJChFQ0hPKSAnLS0tJyA+
IE1FVEFfbmV3LnltbAoJJChOT0VDSE8pICQoRUNITykgJ2Fic3RyYWN0OiB1bmtub3duJyA+PiBN
RVRBX25ldy55bWwKCSQoTk9FQ0hPKSAkKEVDSE8pICdhdXRob3I6JyA+PiBNRVRBX25ldy55bWwK
CSQoTk9FQ0hPKSAkKEVDSE8pICcgIC0gdW5rbm93bicgPj4gTUVUQV9uZXcueW1sCgkkKE5PRUNI
TykgJChFQ0hPKSAnYnVpbGRfcmVxdWlyZXM6JyA+PiBNRVRBX25ldy55bWwKCSQoTk9FQ0hPKSAk
KEVDSE8pICcgIEV4dFV0aWxzOjpNYWtlTWFrZXI6ICdcJycwJ1wnJycgPj4gTUVUQV9uZXcueW1s
CgkkKE5PRUNITykgJChFQ0hPKSAnY29uZmlndXJlX3JlcXVpcmVzOicgPj4gTUVUQV9uZXcueW1s
CgkkKE5PRUNITykgJChFQ0hPKSAnICBFeHRVdGlsczo6TWFrZU1ha2VyOiAnXCcnMCdcJycnID4+
IE1FVEFfbmV3LnltbAoJJChOT0VDSE8pICQoRUNITykgJ2R5bmFtaWNfY29uZmlnOiAxJyA+PiBN
RVRBX25ldy55bWwKCSQoTk9FQ0hPKSAkKEVDSE8pICdnZW5lcmF0ZWRfYnk6ICdcJydFeHRVdGls
czo6TWFrZU1ha2VyIHZlcnNpb24gNi45OCwgQ1BBTjo6TWV0YTo6Q29udmVydGVyIHZlcnNpb24g
Mi4xNDA2NDAnXCcnJyA+PiBNRVRBX25ldy55bWwKCSQoTk9FQ0hPKSAkKEVDSE8pICdsaWNlbnNl
OiB1bmtub3duJyA+PiBNRVRBX25ldy55bWwKCSQoTk9FQ0hPKSAkKEVDSE8pICdtZXRhLXNwZWM6
JyA+PiBNRVRBX25ldy55bWwKCSQoTk9FQ0hPKSAkKEVDSE8pICcgIHVybDogaHR0cDovL21vZHVs
ZS1idWlsZC5zb3VyY2Vmb3JnZS5uZXQvTUVUQS1zcGVjLXYxLjQuaHRtbCcgPj4gTUVUQV9uZXcu
eW1sCgkkKE5PRUNITykgJChFQ0hPKSAnICB2ZXJzaW9uOiAnXCcnMS40J1wnJycgPj4gTUVUQV9u
ZXcueW1sCgkkKE5PRUNITykgJChFQ0hPKSAnbmFtZTogQlNELVJlc291cmNlJyA+PiBNRVRBX25l
dy55bWwKCSQoTk9FQ0hPKSAkKEVDSE8pICdub19pbmRleDonID4+IE1FVEFfbmV3LnltbAoJJChO
T0VDSE8pICQoRUNITykgJyAgZGlyZWN0b3J5OicgPj4gTUVUQV9uZXcueW1sCgkkKE5PRUNITykg
JChFQ0hPKSAnICAgIC0gdCcgPj4gTUVUQV9uZXcueW1sCgkkKE5PRUNITykgJChFQ0hPKSAnICAg
IC0gaW5jJyA+PiBNRVRBX25ldy55bWwKCSQoTk9FQ0hPKSAkKEVDSE8pICdyZXF1aXJlczoge30n
ID4+IE1FVEFfbmV3LnltbAoJJChOT0VDSE8pICQoRUNITykgJ3ZlcnNpb246ICdcJycxLjI5MDcn
XCcnJyA+PiBNRVRBX25ldy55bWwKCS0kKE5PRUNITykgJChNVikgTUVUQV9uZXcueW1sICQoRElT
VFZOQU1FKS9NRVRBLnltbAoJJChOT0VDSE8pICQoRUNITykgR2VuZXJhdGluZyBNRVRBLmpzb24K
CSQoTk9FQ0hPKSAkKEVDSE8pICd7JyA+IE1FVEFfbmV3Lmpzb24KCSQoTk9FQ0hPKSAkKEVDSE8p
ICcgICAiYWJzdHJhY3QiIDogInVua25vd24iLCcgPj4gTUVUQV9uZXcuanNvbgoJJChOT0VDSE8p
ICQoRUNITykgJyAgICJhdXRob3IiIDogWycgPj4gTUVUQV9uZXcuanNvbgoJJChOT0VDSE8pICQo
RUNITykgJyAgICAgICJ1bmtub3duIicgPj4gTUVUQV9uZXcuanNvbgoJJChOT0VDSE8pICQoRUNI
TykgJyAgIF0sJyA+PiBNRVRBX25ldy5qc29uCgkkKE5PRUNITykgJChFQ0hPKSAnICAgImR5bmFt
aWNfY29uZmlnIiA6IDEsJyA+PiBNRVRBX25ldy5qc29uCgkkKE5PRUNITykgJChFQ0hPKSAnICAg
ImdlbmVyYXRlZF9ieSIgOiAiRXh0VXRpbHM6Ok1ha2VNYWtlciB2ZXJzaW9uIDYuOTgsIENQQU46
Ok1ldGE6OkNvbnZlcnRlciB2ZXJzaW9uIDIuMTQwNjQwIiwnID4+IE1FVEFfbmV3Lmpzb24KCSQo
Tk9FQ0hPKSAkKEVDSE8pICcgICAibGljZW5zZSIgOiBbJyA+PiBNRVRBX25ldy5qc29uCgkkKE5P
RUNITykgJChFQ0hPKSAnICAgICAgInVua25vd24iJyA+PiBNRVRBX25ldy5qc29uCgkkKE5PRUNI
TykgJChFQ0hPKSAnICAgXSwnID4+IE1FVEFfbmV3Lmpzb24KCSQoTk9FQ0hPKSAkKEVDSE8pICcg
ICAibWV0YS1zcGVjIiA6IHsnID4+IE1FVEFfbmV3Lmpzb24KCSQoTk9FQ0hPKSAkKEVDSE8pICcg
ICAgICAidXJsIiA6ICJodHRwOi8vc2VhcmNoLmNwYW4ub3JnL3Blcmxkb2M/Q1BBTjo6TWV0YTo6
U3BlYyIsJyA+PiBNRVRBX25ldy5qc29uCgkkKE5PRUNITykgJChFQ0hPKSAnICAgICAgInZlcnNp
b24iIDogIjIiJyA+PiBNRVRBX25ldy5qc29uCgkkKE5PRUNITykgJChFQ0hPKSAnICAgfSwnID4+
IE1FVEFfbmV3Lmpzb24KCSQoTk9FQ0hPKSAkKEVDSE8pICcgICAibmFtZSIgOiAiQlNELVJlc291
cmNlIiwnID4+IE1FVEFfbmV3Lmpzb24KCSQoTk9FQ0hPKSAkKEVDSE8pICcgICAibm9faW5kZXgi
IDogeycgPj4gTUVUQV9uZXcuanNvbgoJJChOT0VDSE8pICQoRUNITykgJyAgICAgICJkaXJlY3Rv
cnkiIDogWycgPj4gTUVUQV9uZXcuanNvbgoJJChOT0VDSE8pICQoRUNITykgJyAgICAgICAgICJ0
IiwnID4+IE1FVEFfbmV3Lmpzb24KCSQoTk9FQ0hPKSAkKEVDSE8pICcgICAgICAgICAiaW5jIicg
Pj4gTUVUQV9uZXcuanNvbgoJJChOT0VDSE8pICQoRUNITykgJyAgICAgIF0nID4+IE1FVEFfbmV3
Lmpzb24KCSQoTk9FQ0hPKSAkKEVDSE8pICcgICB9LCcgPj4gTUVUQV9uZXcuanNvbgoJJChOT0VD
SE8pICQoRUNITykgJyAgICJwcmVyZXFzIiA6IHsnID4+IE1FVEFfbmV3Lmpzb24KCSQoTk9FQ0hP
KSAkKEVDSE8pICcgICAgICAiYnVpbGQiIDogeycgPj4gTUVUQV9uZXcuanNvbgoJJChOT0VDSE8p
ICQoRUNITykgJyAgICAgICAgICJyZXF1aXJlcyIgOiB7JyA+PiBNRVRBX25ldy5qc29uCgkkKE5P
RUNITykgJChFQ0hPKSAnICAgICAgICAgICAgIkV4dFV0aWxzOjpNYWtlTWFrZXIiIDogIjAiJyA+
PiBNRVRBX25ldy5qc29uCgkkKE5PRUNITykgJChFQ0hPKSAnICAgICAgICAgfScgPj4gTUVUQV9u
ZXcuanNvbgoJJChOT0VDSE8pICQoRUNITykgJyAgICAgIH0sJyA+PiBNRVRBX25ldy5qc29uCgkk
KE5PRUNITykgJChFQ0hPKSAnICAgICAgImNvbmZpZ3VyZSIgOiB7JyA+PiBNRVRBX25ldy5qc29u
CgkkKE5PRUNITykgJChFQ0hPKSAnICAgICAgICAgInJlcXVpcmVzIiA6IHsnID4+IE1FVEFfbmV3
Lmpzb24KCSQoTk9FQ0hPKSAkKEVDSE8pICcgICAgICAgICAgICAiRXh0VXRpbHM6Ok1ha2VNYWtl
ciIgOiAiMCInID4+IE1FVEFfbmV3Lmpzb24KCSQoTk9FQ0hPKSAkKEVDSE8pICcgICAgICAgICB9
JyA+PiBNRVRBX25ldy5qc29uCgkkKE5PRUNITykgJChFQ0hPKSAnICAgICAgfSwnID4+IE1FVEFf
bmV3Lmpzb24KCSQoTk9FQ0hPKSAkKEVDSE8pICcgICAgICAicnVudGltZSIgOiB7JyA+PiBNRVRB
X25ldy5qc29uCgkkKE5PRUNITykgJChFQ0hPKSAnICAgICAgICAgInJlcXVpcmVzIiA6IHt9JyA+
PiBNRVRBX25ldy5qc29uCgkkKE5PRUNITykgJChFQ0hPKSAnICAgICAgfScgPj4gTUVUQV9uZXcu
anNvbgoJJChOT0VDSE8pICQoRUNITykgJyAgIH0sJyA+PiBNRVRBX25ldy5qc29uCgkkKE5PRUNI
TykgJChFQ0hPKSAnICAgInJlbGVhc2Vfc3RhdHVzIiA6ICJzdGFibGUiLCcgPj4gTUVUQV9uZXcu
anNvbgoJJChOT0VDSE8pICQoRUNITykgJyAgICJ2ZXJzaW9uIiA6ICIxLjI5MDciJyA+PiBNRVRB
X25ldy5qc29uCgkkKE5PRUNITykgJChFQ0hPKSAnfScgPj4gTUVUQV9uZXcuanNvbgoJLSQoTk9F
Q0hPKSAkKE1WKSBNRVRBX25ldy5qc29uICQoRElTVFZOQU1FKS9NRVRBLmpzb24KCgojIC0tLSBN
YWtlTWFrZXIgc2lnbmF0dXJlIHNlY3Rpb246CnNpZ25hdHVyZSA6CgljcGFuc2lnbiAtcwoKCiMg
LS0tIE1ha2VNYWtlciBkaXN0X2Jhc2ljcyBzZWN0aW9uOgpkaXN0Y2xlYW4gOjogcmVhbGNsZWFu
IGRpc3RjaGVjawoJJChOT0VDSE8pICQoTk9PUCkKCmRpc3RjaGVjayA6CgkkKFBFUkxSVU4pICIt
TUV4dFV0aWxzOjpNYW5pZmVzdD1mdWxsY2hlY2siIC1lIGZ1bGxjaGVjawoKc2tpcGNoZWNrIDoK
CSQoUEVSTFJVTikgIi1NRXh0VXRpbHM6Ok1hbmlmZXN0PXNraXBjaGVjayIgLWUgc2tpcGNoZWNr
CgptYW5pZmVzdCA6CgkkKFBFUkxSVU4pICItTUV4dFV0aWxzOjpNYW5pZmVzdD1ta21hbmlmZXN0
IiAtZSBta21hbmlmZXN0Cgp2ZXJ5Y2xlYW4gOiByZWFsY2xlYW4KCSQoUk1fRikgKn4gKi8qfiAq
Lm9yaWcgKi8qLm9yaWcgKi5iYWsgKi8qLmJhayAqLm9sZCAqLyoub2xkCgoKCiMgLS0tIE1ha2VN
YWtlciBkaXN0X2NvcmUgc2VjdGlvbjoKCmRpc3QgOiAkKERJU1RfREVGQVVMVCkgJChGSVJTVF9N
QUtFRklMRSkKCSQoTk9FQ0hPKSAkKEFCU1BFUkxSVU4pIC1sIC1lICdwcmludCAnXCcnV2Fybmlu
ZzogTWFrZWZpbGUgcG9zc2libHkgb3V0IG9mIGRhdGUgd2l0aCAkKFZFUlNJT05fRlJPTSknXCcn
JyBcCgkgIC1lICcgICAgaWYgLWUgJ1wnJyQoVkVSU0lPTl9GUk9NKSdcJycgYW5kIC1NICdcJyck
KFZFUlNJT05fRlJPTSknXCcnIDwgLU0gJ1wnJyQoRklSU1RfTUFLRUZJTEUpJ1wnJzsnIC0tCgp0
YXJkaXN0IDogJChESVNUVk5BTUUpLnRhciQoU1VGRklYKQoJJChOT0VDSE8pICQoTk9PUCkKCnV1
dGFyZGlzdCA6ICQoRElTVFZOQU1FKS50YXIkKFNVRkZJWCkKCXV1ZW5jb2RlICQoRElTVFZOQU1F
KS50YXIkKFNVRkZJWCkgJChESVNUVk5BTUUpLnRhciQoU1VGRklYKSA+ICQoRElTVFZOQU1FKS50
YXIkKFNVRkZJWClfdXUKCSQoTk9FQ0hPKSAkKEVDSE8pICdDcmVhdGVkICQoRElTVFZOQU1FKS50
YXIkKFNVRkZJWClfdXUnCgokKERJU1RWTkFNRSkudGFyJChTVUZGSVgpIDogZGlzdGRpcgoJJChQ
UkVPUCkKCSQoVE9fVU5JWCkKCSQoVEFSKSAkKFRBUkZMQUdTKSAkKERJU1RWTkFNRSkudGFyICQo
RElTVFZOQU1FKQoJJChSTV9SRikgJChESVNUVk5BTUUpCgkkKENPTVBSRVNTKSAkKERJU1RWTkFN
RSkudGFyCgkkKE5PRUNITykgJChFQ0hPKSAnQ3JlYXRlZCAkKERJU1RWTkFNRSkudGFyJChTVUZG
SVgpJwoJJChQT1NUT1ApCgp6aXBkaXN0IDogJChESVNUVk5BTUUpLnppcAoJJChOT0VDSE8pICQo
Tk9PUCkKCiQoRElTVFZOQU1FKS56aXAgOiBkaXN0ZGlyCgkkKFBSRU9QKQoJJChaSVApICQoWklQ
RkxBR1MpICQoRElTVFZOQU1FKS56aXAgJChESVNUVk5BTUUpCgkkKFJNX1JGKSAkKERJU1RWTkFN
RSkKCSQoTk9FQ0hPKSAkKEVDSE8pICdDcmVhdGVkICQoRElTVFZOQU1FKS56aXAnCgkkKFBPU1RP
UCkKCnNoZGlzdCA6IGRpc3RkaXIKCSQoUFJFT1ApCgkkKFNIQVIpICQoRElTVFZOQU1FKSA+ICQo
RElTVFZOQU1FKS5zaGFyCgkkKFJNX1JGKSAkKERJU1RWTkFNRSkKCSQoTk9FQ0hPKSAkKEVDSE8p
ICdDcmVhdGVkICQoRElTVFZOQU1FKS5zaGFyJwoJJChQT1NUT1ApCgoKIyAtLS0gTWFrZU1ha2Vy
IGRpc3RkaXIgc2VjdGlvbjoKY3JlYXRlX2Rpc3RkaXIgOgoJJChSTV9SRikgJChESVNUVk5BTUUp
CgkkKFBFUkxSVU4pICItTUV4dFV0aWxzOjpNYW5pZmVzdD1tYW5pY29weSxtYW5pcmVhZCIgXAoJ
CS1lICJtYW5pY29weShtYW5pcmVhZCgpLCckKERJU1RWTkFNRSknLCAnJChESVNUX0NQKScpOyIK
CmRpc3RkaXIgOiBjcmVhdGVfZGlzdGRpciBkaXN0bWV0YSAKCSQoTk9FQ0hPKSAkKE5PT1ApCgoK
CiMgLS0tIE1ha2VNYWtlciBkaXN0X3Rlc3Qgc2VjdGlvbjoKZGlzdHRlc3QgOiBkaXN0ZGlyCglj
ZCAkKERJU1RWTkFNRSkgJiYgJChBQlNQRVJMUlVOKSBNYWtlZmlsZS5QTCAKCWNkICQoRElTVFZO
QU1FKSAmJiAkKE1BS0UpICQoUEFTVEhSVSkKCWNkICQoRElTVFZOQU1FKSAmJiAkKE1BS0UpIHRl
c3QgJChQQVNUSFJVKQoKCgojIC0tLSBNYWtlTWFrZXIgZGlzdF9jaSBzZWN0aW9uOgoKY2kgOgoJ
JChQRVJMUlVOKSAiLU1FeHRVdGlsczo6TWFuaWZlc3Q9bWFuaXJlYWQiIFwKCSAgLWUgIkBhbGwg
PSBrZXlzICV7IG1hbmlyZWFkKCkgfTsiIFwKCSAgLWUgInByaW50KHFxe0V4ZWN1dGluZyAkKENJ
KSBAYWxsXG59KTsgc3lzdGVtKHFxeyQoQ0kpIEBhbGx9KTsiIFwKCSAgLWUgInByaW50KHFxe0V4
ZWN1dGluZyAkKFJDU19MQUJFTCkgLi4uXG59KTsgc3lzdGVtKHFxeyQoUkNTX0xBQkVMKSBAYWxs
fSk7IgoKCiMgLS0tIE1ha2VNYWtlciBkaXN0bWV0YSBzZWN0aW9uOgpkaXN0bWV0YSA6IGNyZWF0
ZV9kaXN0ZGlyIG1ldGFmaWxlCgkkKE5PRUNITykgY2QgJChESVNUVk5BTUUpICYmICQoQUJTUEVS
TFJVTikgLU1FeHRVdGlsczo6TWFuaWZlc3Q9bWFuaWFkZCAtZSAnZXhpdCB1bmxlc3MgLWUgcXtN
RVRBLnltbH07JyBcCgkgIC1lICdldmFsIHsgbWFuaWFkZCh7cXtNRVRBLnltbH0gPT4gcXtNb2R1
bGUgWUFNTCBtZXRhLWRhdGEgKGFkZGVkIGJ5IE1ha2VNYWtlcil9fSkgfScgXAoJICAtZSAnICAg
IG9yIHByaW50ICJDb3VsZCBub3QgYWRkIE1FVEEueW1sIHRvIE1BTklGRVNUOiAkJCQkeydcJydA
J1wnJ31cbiInIC0tCgkkKE5PRUNITykgY2QgJChESVNUVk5BTUUpICYmICQoQUJTUEVSTFJVTikg
LU1FeHRVdGlsczo6TWFuaWZlc3Q9bWFuaWFkZCAtZSAnZXhpdCB1bmxlc3MgLWYgcXtNRVRBLmpz
b259OycgXAoJICAtZSAnZXZhbCB7IG1hbmlhZGQoe3F7TUVUQS5qc29ufSA9PiBxe01vZHVsZSBK
U09OIG1ldGEtZGF0YSAoYWRkZWQgYnkgTWFrZU1ha2VyKX19KSB9JyBcCgkgIC1lICcgICAgb3Ig
cHJpbnQgIkNvdWxkIG5vdCBhZGQgTUVUQS5qc29uIHRvIE1BTklGRVNUOiAkJCQkeydcJydAJ1wn
J31cbiInIC0tCgoKCiMgLS0tIE1ha2VNYWtlciBkaXN0c2lnbmF0dXJlIHNlY3Rpb246CmRpc3Rz
aWduYXR1cmUgOiBjcmVhdGVfZGlzdGRpcgoJJChOT0VDSE8pIGNkICQoRElTVFZOQU1FKSAmJiAk
KEFCU1BFUkxSVU4pIC1NRXh0VXRpbHM6Ok1hbmlmZXN0PW1hbmlhZGQgLWUgJ2V2YWwgeyBtYW5p
YWRkKHtxe1NJR05BVFVSRX0gPT4gcXtQdWJsaWMta2V5IHNpZ25hdHVyZSAoYWRkZWQgYnkgTWFr
ZU1ha2VyKX19KSB9JyBcCgkgIC1lICcgICAgb3IgcHJpbnQgIkNvdWxkIG5vdCBhZGQgU0lHTkFU
VVJFIHRvIE1BTklGRVNUOiAkJCQkeydcJydAJ1wnJ31cbiInIC0tCgkkKE5PRUNITykgY2QgJChE
SVNUVk5BTUUpICYmICQoVE9VQ0gpIFNJR05BVFVSRQoJY2QgJChESVNUVk5BTUUpICYmIGNwYW5z
aWduIC1zCgoKCiMgLS0tIE1ha2VNYWtlciBpbnN0YWxsIHNlY3Rpb246CgppbnN0YWxsIDo6IHB1
cmVfaW5zdGFsbCBkb2NfaW5zdGFsbAoJJChOT0VDSE8pICQoTk9PUCkKCmluc3RhbGxfcGVybCA6
OiBwdXJlX3BlcmxfaW5zdGFsbCBkb2NfcGVybF9pbnN0YWxsCgkkKE5PRUNITykgJChOT09QKQoK
aW5zdGFsbF9zaXRlIDo6IHB1cmVfc2l0ZV9pbnN0YWxsIGRvY19zaXRlX2luc3RhbGwKCSQoTk9F
Q0hPKSAkKE5PT1ApCgppbnN0YWxsX3ZlbmRvciA6OiBwdXJlX3ZlbmRvcl9pbnN0YWxsIGRvY192
ZW5kb3JfaW5zdGFsbAoJJChOT0VDSE8pICQoTk9PUCkKCnB1cmVfaW5zdGFsbCA6OiBwdXJlXyQo
SU5TVEFMTERJUlMpX2luc3RhbGwKCSQoTk9FQ0hPKSAkKE5PT1ApCgpkb2NfaW5zdGFsbCA6OiBk
b2NfJChJTlNUQUxMRElSUylfaW5zdGFsbAoJJChOT0VDSE8pICQoTk9PUCkKCnB1cmVfX2luc3Rh
bGwgOiBwdXJlX3NpdGVfaW5zdGFsbAoJJChOT0VDSE8pICQoRUNITykgSU5TVEFMTERJUlMgbm90
IGRlZmluZWQsIGRlZmF1bHRpbmcgdG8gSU5TVEFMTERJUlM9c2l0ZQoKZG9jX19pbnN0YWxsIDog
ZG9jX3NpdGVfaW5zdGFsbAoJJChOT0VDSE8pICQoRUNITykgSU5TVEFMTERJUlMgbm90IGRlZmlu
ZWQsIGRlZmF1bHRpbmcgdG8gSU5TVEFMTERJUlM9c2l0ZQoKcHVyZV9wZXJsX2luc3RhbGwgOjog
YWxsCgkkKE5PRUNITykgJChNT0RfSU5TVEFMTCkgXAoJCSQoSU5TVF9MSUIpICQoREVTVElOU1RB
TExQUklWTElCKSBcCgkJJChJTlNUX0FSQ0hMSUIpICQoREVTVElOU1RBTExBUkNITElCKSBcCgkJ
JChJTlNUX0JJTikgJChERVNUSU5TVEFMTEJJTikgXAoJCSQoSU5TVF9TQ1JJUFQpICQoREVTVElO
U1RBTExTQ1JJUFQpIFwKCQkkKElOU1RfTUFOMURJUikgJChERVNUSU5TVEFMTE1BTjFESVIpIFwK
CQkkKElOU1RfTUFOM0RJUikgJChERVNUSU5TVEFMTE1BTjNESVIpCgkkKE5PRUNITykgJChXQVJO
X0lGX09MRF9QQUNLTElTVCkgXAoJCSQoU0lURUFSQ0hFWFApL2F1dG8vJChGVUxMRVhUKQoKCnB1
cmVfc2l0ZV9pbnN0YWxsIDo6IGFsbAoJJChOT0VDSE8pICQoTU9EX0lOU1RBTEwpIFwKCQlyZWFk
ICQoU0lURUFSQ0hFWFApL2F1dG8vJChGVUxMRVhUKS8ucGFja2xpc3QgXAoJCXdyaXRlICQoREVT
VElOU1RBTExTSVRFQVJDSCkvYXV0by8kKEZVTExFWFQpLy5wYWNrbGlzdCBcCgkJJChJTlNUX0xJ
QikgJChERVNUSU5TVEFMTFNJVEVMSUIpIFwKCQkkKElOU1RfQVJDSExJQikgJChERVNUSU5TVEFM
TFNJVEVBUkNIKSBcCgkJJChJTlNUX0JJTikgJChERVNUSU5TVEFMTFNJVEVCSU4pIFwKCQkkKElO
U1RfU0NSSVBUKSAkKERFU1RJTlNUQUxMU0lURVNDUklQVCkgXAoJCSQoSU5TVF9NQU4xRElSKSAk
KERFU1RJTlNUQUxMU0lURU1BTjFESVIpIFwKCQkkKElOU1RfTUFOM0RJUikgJChERVNUSU5TVEFM
TFNJVEVNQU4zRElSKQoJJChOT0VDSE8pICQoV0FSTl9JRl9PTERfUEFDS0xJU1QpIFwKCQkkKFBF
UkxfQVJDSExJQikvYXV0by8kKEZVTExFWFQpCgpwdXJlX3ZlbmRvcl9pbnN0YWxsIDo6IGFsbAoJ
JChOT0VDSE8pICQoTU9EX0lOU1RBTEwpIFwKCQkkKElOU1RfTElCKSAkKERFU1RJTlNUQUxMVkVO
RE9STElCKSBcCgkJJChJTlNUX0FSQ0hMSUIpICQoREVTVElOU1RBTExWRU5ET1JBUkNIKSBcCgkJ
JChJTlNUX0JJTikgJChERVNUSU5TVEFMTFZFTkRPUkJJTikgXAoJCSQoSU5TVF9TQ1JJUFQpICQo
REVTVElOU1RBTExWRU5ET1JTQ1JJUFQpIFwKCQkkKElOU1RfTUFOMURJUikgJChERVNUSU5TVEFM
TFZFTkRPUk1BTjFESVIpIFwKCQkkKElOU1RfTUFOM0RJUikgJChERVNUSU5TVEFMTFZFTkRPUk1B
TjNESVIpCgoKZG9jX3BlcmxfaW5zdGFsbCA6OiBhbGwKCmRvY19zaXRlX2luc3RhbGwgOjogYWxs
CgkkKE5PRUNITykgJChFQ0hPKSBBcHBlbmRpbmcgaW5zdGFsbGF0aW9uIGluZm8gdG8gJChERVNU
SU5TVEFMTFNJVEVBUkNIKS9wZXJsbG9jYWwucG9kCgktJChOT0VDSE8pICQoTUtQQVRIKSAkKERF
U1RJTlNUQUxMU0lURUFSQ0gpCgktJChOT0VDSE8pICQoRE9DX0lOU1RBTEwpIFwKCQkiTW9kdWxl
IiAiJChOQU1FKSIgXAoJCSJpbnN0YWxsZWQgaW50byIgIiQoSU5TVEFMTFNJVEVMSUIpIiBcCgkJ
TElOS1RZUEUgIiQoTElOS1RZUEUpIiBcCgkJVkVSU0lPTiAiJChWRVJTSU9OKSIgXAoJCUVYRV9G
SUxFUyAiJChFWEVfRklMRVMpIiBcCgkJPj4gJChERVNUSU5TVEFMTFNJVEVBUkNIKS9wZXJsbG9j
YWwucG9kCgpkb2NfdmVuZG9yX2luc3RhbGwgOjogYWxsCgoKdW5pbnN0YWxsIDo6IHVuaW5zdGFs
bF9mcm9tXyQoSU5TVEFMTERJUlMpZGlycwoJJChOT0VDSE8pICQoTk9PUCkKCnVuaW5zdGFsbF9m
cm9tX3BlcmxkaXJzIDo6Cgp1bmluc3RhbGxfZnJvbV9zaXRlZGlycyA6OgoJJChOT0VDSE8pICQo
VU5JTlNUQUxMKSAkKFNJVEVBUkNIRVhQKS9hdXRvLyQoRlVMTEVYVCkvLnBhY2tsaXN0Cgp1bmlu
c3RhbGxfZnJvbV92ZW5kb3JkaXJzIDo6CgoKCiMgLS0tIE1ha2VNYWtlciBmb3JjZSBzZWN0aW9u
OgojIFBob255IHRhcmdldCB0byBmb3JjZSBjaGVja2luZyBzdWJkaXJlY3Rvcmllcy4KRk9SQ0Ug
OgoJJChOT0VDSE8pICQoTk9PUCkKCgojIC0tLSBNYWtlTWFrZXIgcGVybGRlcGVuZCBzZWN0aW9u
OgpQRVJMX0hEUlMgPSBcCiAgICAgICAgJChQRVJMX0lOQykvRVhURVJOLmggICAgICAgICAgICBc
CiAgICAgICAgJChQRVJMX0lOQykvSU5URVJOLmggICAgICAgICAgICBcCiAgICAgICAgJChQRVJM
X0lOQykvWFNVQi5oICAgICAgICAgICAgXAogICAgICAgICQoUEVSTF9JTkMpL2F2LmggICAgICAg
ICAgICBcCiAgICAgICAgJChQRVJMX0lOQykvYml0Y291bnQuaCAgICAgICAgICAgIFwKICAgICAg
ICAkKFBFUkxfSU5DKS9jaGFyY2xhc3NfaW52bGlzdHMuaCAgICAgICAgICAgIFwKICAgICAgICAk
KFBFUkxfSU5DKS9jb25maWcuaCAgICAgICAgICAgIFwKICAgICAgICAkKFBFUkxfSU5DKS9jb3Au
aCAgICAgICAgICAgIFwKICAgICAgICAkKFBFUkxfSU5DKS9jdi5oICAgICAgICAgICAgXAogICAg
ICAgICQoUEVSTF9JTkMpL2Rvc2lzaC5oICAgICAgICAgICAgXAogICAgICAgICQoUEVSTF9JTkMp
L2VtYmVkLmggICAgICAgICAgICBcCiAgICAgICAgJChQRVJMX0lOQykvZW1iZWR2YXIuaCAgICAg
ICAgICAgIFwKICAgICAgICAkKFBFUkxfSU5DKS9mYWtlc2Rpby5oICAgICAgICAgICAgXAogICAg
ICAgICQoUEVSTF9JTkMpL2ZlYXR1cmUuaCAgICAgICAgICAgIFwKICAgICAgICAkKFBFUkxfSU5D
KS9mb3JtLmggICAgICAgICAgICBcCiAgICAgICAgJChQRVJMX0lOQykvZ2l0X3ZlcnNpb24uaCAg
ICAgICAgICAgIFwKICAgICAgICAkKFBFUkxfSU5DKS9ndi5oICAgICAgICAgICAgXAogICAgICAg
ICQoUEVSTF9JTkMpL2hhbmR5LmggICAgICAgICAgICBcCiAgICAgICAgJChQRVJMX0lOQykvaHYu
aCAgICAgICAgICAgIFwKICAgICAgICAkKFBFUkxfSU5DKS9odl9mdW5jLmggICAgICAgICAgICBc
CiAgICAgICAgJChQRVJMX0lOQykvaW5saW5lLmggICAgICAgICAgICBcCiAgICAgICAgJChQRVJM
X0lOQykvaW50cnB2YXIuaCAgICAgICAgICAgIFwKICAgICAgICAkKFBFUkxfSU5DKS9pcGVybHN5
cy5oICAgICAgICAgICAgXAogICAgICAgICQoUEVSTF9JTkMpL2tleXdvcmRzLmggICAgICAgICAg
ICBcCiAgICAgICAgJChQRVJMX0lOQykvbDFfY2hhcl9jbGFzc190YWIuaCAgICAgICAgICAgIFwK
ICAgICAgICAkKFBFUkxfSU5DKS9tYWxsb2NfY3RsLmggICAgICAgICAgICBcCiAgICAgICAgJChQ
RVJMX0lOQykvbWV0YWNvbmZpZy5oICAgICAgICAgICAgXAogICAgICAgICQoUEVSTF9JTkMpL21n
LmggICAgICAgICAgICBcCiAgICAgICAgJChQRVJMX0lOQykvbWdfZGF0YS5oICAgICAgICAgICAg
XAogICAgICAgICQoUEVSTF9JTkMpL21nX3Jhdy5oICAgICAgICAgICAgXAogICAgICAgICQoUEVS
TF9JTkMpL21nX3Z0YWJsZS5oICAgICAgICAgICAgXAogICAgICAgICQoUEVSTF9JTkMpL215ZHRy
YWNlLmggICAgICAgICAgICBcCiAgICAgICAgJChQRVJMX0lOQykvbm9zdGRpby5oICAgICAgICAg
ICAgXAogICAgICAgICQoUEVSTF9JTkMpL29wLmggICAgICAgICAgICBcCiAgICAgICAgJChQRVJM
X0lOQykvb3BfcmVnX2NvbW1vbi5oICAgICAgICAgICAgXAogICAgICAgICQoUEVSTF9JTkMpL29w
Y29kZS5oICAgICAgICAgICAgXAogICAgICAgICQoUEVSTF9JTkMpL29wbmFtZXMuaCAgICAgICAg
ICAgIFwKICAgICAgICAkKFBFUkxfSU5DKS9vdmVybG9hZC5oICAgICAgICAgICAgXAogICAgICAg
ICQoUEVSTF9JTkMpL3BhZC5oICAgICAgICAgICAgXAogICAgICAgICQoUEVSTF9JTkMpL3BhcnNl
ci5oICAgICAgICAgICAgXAogICAgICAgICQoUEVSTF9JTkMpL3BhdGNobGV2ZWwuaCAgICAgICAg
ICAgIFwKICAgICAgICAkKFBFUkxfSU5DKS9wZXJsLmggICAgICAgICAgICBcCiAgICAgICAgJChQ
RVJMX0lOQykvcGVybGFwaS5oICAgICAgICAgICAgXAogICAgICAgICQoUEVSTF9JTkMpL3Blcmxp
by5oICAgICAgICAgICAgXAogICAgICAgICQoUEVSTF9JTkMpL3Blcmxpb2wuaCAgICAgICAgICAg
IFwKICAgICAgICAkKFBFUkxfSU5DKS9wZXJsc2Rpby5oICAgICAgICAgICAgXAogICAgICAgICQo
UEVSTF9JTkMpL3Blcmx2YXJzLmggICAgICAgICAgICBcCiAgICAgICAgJChQRVJMX0lOQykvcGVy
bHkuaCAgICAgICAgICAgIFwKICAgICAgICAkKFBFUkxfSU5DKS9wcC5oICAgICAgICAgICAgXAog
ICAgICAgICQoUEVSTF9JTkMpL3BwX3Byb3RvLmggICAgICAgICAgICBcCiAgICAgICAgJChQRVJM
X0lOQykvcHJvdG8uaCAgICAgICAgICAgIFwKICAgICAgICAkKFBFUkxfSU5DKS9yZWVudHIuaCAg
ICAgICAgICAgIFwKICAgICAgICAkKFBFUkxfSU5DKS9yZWdjaGFyY2xhc3MuaCAgICAgICAgICAg
IFwKICAgICAgICAkKFBFUkxfSU5DKS9yZWdjb21wLmggICAgICAgICAgICBcCiAgICAgICAgJChQ
RVJMX0lOQykvcmVnZXhwLmggICAgICAgICAgICBcCiAgICAgICAgJChQRVJMX0lOQykvcmVnbm9k
ZXMuaCAgICAgICAgICAgIFwKICAgICAgICAkKFBFUkxfSU5DKS9zY29wZS5oICAgICAgICAgICAg
XAogICAgICAgICQoUEVSTF9JTkMpL3N2LmggICAgICAgICAgICBcCiAgICAgICAgJChQRVJMX0lO
QykvdGhyZWFkLmggICAgICAgICAgICBcCiAgICAgICAgJChQRVJMX0lOQykvdGltZTY0LmggICAg
ICAgICAgICBcCiAgICAgICAgJChQRVJMX0lOQykvdGltZTY0X2NvbmZpZy5oICAgICAgICAgICAg
XAogICAgICAgICQoUEVSTF9JTkMpL3Vjb25maWcuaCAgICAgICAgICAgIFwKICAgICAgICAkKFBF
UkxfSU5DKS91bmljb2RlX2NvbnN0YW50cy5oICAgICAgICAgICAgXAogICAgICAgICQoUEVSTF9J
TkMpL3VuaXhpc2guaCAgICAgICAgICAgIFwKICAgICAgICAkKFBFUkxfSU5DKS91dGY4LmggICAg
ICAgICAgICBcCiAgICAgICAgJChQRVJMX0lOQykvdXRmZWJjZGljLmggICAgICAgICAgICBcCiAg
ICAgICAgJChQRVJMX0lOQykvdXRpbC5oICAgICAgICAgICAgXAogICAgICAgICQoUEVSTF9JTkMp
L3V1ZG1hcC5oICAgICAgICAgICAgXAogICAgICAgICQoUEVSTF9JTkMpL3Z1dGlsLmggICAgICAg
ICAgICBcCiAgICAgICAgJChQRVJMX0lOQykvd2FybmluZ3MuaCAgICAgICAgICAgIAoKJChPQkpF
Q1QpIDogJChQRVJMX0hEUlMpCgpSZXNvdXJjZS5jIDogJChYU1VCUFBERVBTKQoKCiMgLS0tIE1h
a2VNYWtlciBtYWtlZmlsZSBzZWN0aW9uOgoKJChPQkpFQ1QpIDogJChGSVJTVF9NQUtFRklMRSkK
CiMgV2UgdGFrZSBhIHZlcnkgY29uc2VydmF0aXZlIGFwcHJvYWNoIGhlcmUsIGJ1dCBpdCdzIHdv
cnRoIGl0LgojIFdlIG1vdmUgTWFrZWZpbGUgdG8gTWFrZWZpbGUub2xkIGhlcmUgdG8gYXZvaWQg
Z251IG1ha2UgbG9vcGluZy4KJChGSVJTVF9NQUtFRklMRSkgOiBNYWtlZmlsZS5QTCAkKENPTkZJ
R0RFUCkKCSQoTk9FQ0hPKSAkKEVDSE8pICJNYWtlZmlsZSBvdXQtb2YtZGF0ZSB3aXRoIHJlc3Bl
Y3QgdG8gJD8iCgkkKE5PRUNITykgJChFQ0hPKSAiQ2xlYW5pbmcgY3VycmVudCBjb25maWcgYmVm
b3JlIHJlYnVpbGRpbmcgTWFrZWZpbGUuLi4iCgktJChOT0VDSE8pICQoUk1fRikgJChNQUtFRklM
RV9PTEQpCgktJChOT0VDSE8pICQoTVYpICAgJChGSVJTVF9NQUtFRklMRSkgJChNQUtFRklMRV9P
TEQpCgktICQoTUFLRSkgJChVU0VNQUtFRklMRSkgJChNQUtFRklMRV9PTEQpIGNsZWFuICQoREVW
X05VTEwpCgkkKFBFUkxSVU4pIE1ha2VmaWxlLlBMIAoJJChOT0VDSE8pICQoRUNITykgIj09PiBZ
b3VyIE1ha2VmaWxlIGhhcyBiZWVuIHJlYnVpbHQuIDw9PSIKCSQoTk9FQ0hPKSAkKEVDSE8pICI9
PT4gUGxlYXNlIHJlcnVuIHRoZSAkKE1BS0UpIGNvbW1hbmQuICA8PT0iCgkkKEZBTFNFKQoKCgoj
IC0tLSBNYWtlTWFrZXIgc3RhdGljbWFrZSBzZWN0aW9uOgoKIyAtLS0gTWFrZU1ha2VyIG1ha2Vh
cGVybCBzZWN0aW9uIC0tLQpNQVBfVEFSR0VUICAgID0gcGVybApGVUxMUEVSTCAgICAgID0gL2Jv
bnVzL3NjcmF0Y2gvc2k1L3Bva3kvc2ltLXBhbGF6em8vdG1wL3N5c3Jvb3RzL3g4Nl82NC1saW51
eC91c3IvYmluL3BlcmwtbmF0aXZlL3BlcmwKCiQoTUFQX1RBUkdFVCkgOjogc3RhdGljICQoTUFL
RV9BUEVSTF9GSUxFKQoJJChNQUtFKSAkKFVTRU1BS0VGSUxFKSAkKE1BS0VfQVBFUkxfRklMRSkg
JEAKCiQoTUFLRV9BUEVSTF9GSUxFKSA6ICQoRklSU1RfTUFLRUZJTEUpIHBtX3RvX2JsaWIKCSQo
Tk9FQ0hPKSAkKEVDSE8pIFdyaXRpbmcgXCIkKE1BS0VfQVBFUkxfRklMRSlcIiBmb3IgdGhpcyAk
KE1BUF9UQVJHRVQpCgkkKE5PRUNITykgJChQRVJMUlVOSU5TVCkgXAoJCU1ha2VmaWxlLlBMIERJ
Uj0gXAoJCU1BS0VGSUxFPSQoTUFLRV9BUEVSTF9GSUxFKSBMSU5LVFlQRT1zdGF0aWMgXAoJCU1B
S0VBUEVSTD0xIE5PUkVDVVJTPTEgQ0NDRExGTEFHUz0KCgojIC0tLSBNYWtlTWFrZXIgdGVzdCBz
ZWN0aW9uOgoKVEVTVF9WRVJCT1NFPTAKVEVTVF9UWVBFPXRlc3RfJChMSU5LVFlQRSkKVEVTVF9G
SUxFID0gdGVzdC5wbApURVNUX0ZJTEVTID0gdC8qLnQKVEVTVERCX1NXID0gLWQKCnRlc3RkYiA6
OiB0ZXN0ZGJfJChMSU5LVFlQRSkKCnRlc3QgOjogJChURVNUX1RZUEUpIHN1YmRpcnMtdGVzdAoK
c3ViZGlycy10ZXN0IDo6CgkkKE5PRUNITykgJChOT09QKQoKCnRlc3RfZHluYW1pYyA6OiBwdXJl
X2FsbAoJUEVSTF9ETF9OT05MQVpZPTEgJChGVUxMUEVSTFJVTikgIi1NRXh0VXRpbHM6OkNvbW1h
bmQ6Ok1NIiAiLU1UZXN0OjpIYXJuZXNzIiAiLWUiICJ1bmRlZiAqVGVzdDo6SGFybmVzczo6U3dp
dGNoZXM7IHRlc3RfaGFybmVzcygkKFRFU1RfVkVSQk9TRSksICckKElOU1RfTElCKScsICckKElO
U1RfQVJDSExJQiknKSIgJChURVNUX0ZJTEVTKQoKdGVzdGRiX2R5bmFtaWMgOjogcHVyZV9hbGwK
CVBFUkxfRExfTk9OTEFaWT0xICQoRlVMTFBFUkxSVU4pICQoVEVTVERCX1NXKSAiLUkkKElOU1Rf
TElCKSIgIi1JJChJTlNUX0FSQ0hMSUIpIiAkKFRFU1RfRklMRSkKCnRlc3RfIDogdGVzdF9keW5h
bWljCgp0ZXN0X3N0YXRpYyA6OiBwdXJlX2FsbCAkKE1BUF9UQVJHRVQpCglQRVJMX0RMX05PTkxB
Wlk9MSAuLyQoTUFQX1RBUkdFVCkgIi1NRXh0VXRpbHM6OkNvbW1hbmQ6Ok1NIiAiLU1UZXN0OjpI
YXJuZXNzIiAiLWUiICJ1bmRlZiAqVGVzdDo6SGFybmVzczo6U3dpdGNoZXM7IHRlc3RfaGFybmVz
cygkKFRFU1RfVkVSQk9TRSksICckKElOU1RfTElCKScsICckKElOU1RfQVJDSExJQiknKSIgJChU
RVNUX0ZJTEVTKQoKdGVzdGRiX3N0YXRpYyA6OiBwdXJlX2FsbCAkKE1BUF9UQVJHRVQpCglQRVJM
X0RMX05PTkxBWlk9MSAuLyQoTUFQX1RBUkdFVCkgJChURVNUREJfU1cpICItSSQoSU5TVF9MSUIp
IiAiLUkkKElOU1RfQVJDSExJQikiICQoVEVTVF9GSUxFKQoKCgojIC0tLSBNYWtlTWFrZXIgcHBk
IHNlY3Rpb246CiMgQ3JlYXRlcyBhIFBQRCAoUGVybCBQYWNrYWdlIERlc2NyaXB0aW9uKSBmb3Ig
YSBiaW5hcnkgZGlzdHJpYnV0aW9uLgpwcGQgOgoJJChOT0VDSE8pICQoRUNITykgJzxTT0ZUUEtH
IE5BTUU9IiQoRElTVE5BTUUpIiBWRVJTSU9OPSIkKFZFUlNJT04pIj4nID4gJChESVNUTkFNRSku
cHBkCgkkKE5PRUNITykgJChFQ0hPKSAnICAgIDxBQlNUUkFDVD48L0FCU1RSQUNUPicgPj4gJChE
SVNUTkFNRSkucHBkCgkkKE5PRUNITykgJChFQ0hPKSAnICAgIDxBVVRIT1I+PC9BVVRIT1I+JyA+
PiAkKERJU1ROQU1FKS5wcGQKCSQoTk9FQ0hPKSAkKEVDSE8pICcgICAgPElNUExFTUVOVEFUSU9O
PicgPj4gJChESVNUTkFNRSkucHBkCgkkKE5PRUNITykgJChFQ0hPKSAnICAgICAgICA8QVJDSElU
RUNUVVJFIE5BTUU9Ing4Nl82NC1saW51eC10aHJlYWQtbXVsdGktNS4yMCIgLz4nID4+ICQoRElT
VE5BTUUpLnBwZAoJJChOT0VDSE8pICQoRUNITykgJyAgICAgICAgPENPREVCQVNFIEhSRUY9IiIg
Lz4nID4+ICQoRElTVE5BTUUpLnBwZAoJJChOT0VDSE8pICQoRUNITykgJyAgICA8L0lNUExFTUVO
VEFUSU9OPicgPj4gJChESVNUTkFNRSkucHBkCgkkKE5PRUNITykgJChFQ0hPKSAnPC9TT0ZUUEtH
PicgPj4gJChESVNUTkFNRSkucHBkCgoKIyAtLS0gTWFrZU1ha2VyIHBtX3RvX2JsaWIgc2VjdGlv
bjoKCnBtX3RvX2JsaWIgOiAkKEZJUlNUX01BS0VGSUxFKSAkKFRPX0lOU1RfUE0pCgkkKE5PRUNI
TykgJChBQlNQRVJMUlVOKSAtTUV4dFV0aWxzOjpJbnN0YWxsIC1lICdwbV90b19ibGliKHtAQVJH
Vn0sICdcJyckKElOU1RfTElCKS9hdXRvJ1wnJywgcVskKFBNX0ZJTFRFUildLCAnXCcnJChQRVJN
X0RJUiknXCcnKScgLS0gXAoJICBSZXNvdXJjZS5wbSAkKElOU1RfTElCKS9CU0QvUmVzb3VyY2Uu
cG0gCgkkKE5PRUNITykgJChUT1VDSCkgcG1fdG9fYmxpYgoKCiMgLS0tIE1ha2VNYWtlciBzZWxm
ZG9jdW1lbnQgc2VjdGlvbjoKCgojIC0tLSBNYWtlTWFrZXIgcG9zdGFtYmxlIHNlY3Rpb246CgoK
IyBFbmQuCg==
--089e0160ad96511e5b051eb1027f
Content-Type: application/x-download;
name="0001-MM_Unix-adds-dependency-on-BOOTSTRAP-to-avoid-race.patch"
Content-Disposition: attachment;
filename="0001-MM_Unix-adds-dependency-on-BOOTSTRAP-to-avoid-race.patch"
Content-Transfer-Encoding: base64
X-Attachment-Id: f_ie1hd2pi1
RnJvbSA0M2RhYTEyY2JkM2Q1NjU3ZWRkNDRiYWQ0NTk2MmUwNTRmYjEyZjM0IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBKb2huIEJyZWl0ZW5iYWNoIDxicmVpdGVuQGxleG1hcmsuY29t
PgpEYXRlOiBUdWUsIDEgU2VwIDIwMTUgMDk6Mzg6NDUgLTA0MDAKU3ViamVjdDogW1BBVENIXSBN
TV9Vbml4OiBhZGRzIGRlcGVuZGVuY3kgb24gQk9PVFNUUkFQIHRvIGF2b2lkIHJhY2UKCi0tLQog
bGliL0V4dFV0aWxzL01NX1VuaXgucG0gfCAyICstCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRp
b24oKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9jcGFuL0V4dFV0aWxzLU1ha2VNYWtl
ci9saWIvRXh0VXRpbHMvTU1fVW5peC5wbSBiL2NwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL2xpYi9F
eHRVdGlscy9NTV9Vbml4LnBtCmluZGV4IDBkNTc1YTAuLjRiODE1YTMgMTAwNjQ0Ci0tLSBhL2Nw
YW4vRXh0VXRpbHMtTWFrZU1ha2VyL2xpYi9FeHRVdGlscy9NTV9Vbml4LnBtCisrKyBiL2NwYW4v
RXh0VXRpbHMtTWFrZU1ha2VyL2xpYi9FeHRVdGlscy9NTV9Vbml4LnBtCkBAIC05MTEsNyArOTEx
LDcgQEAgT1RIRVJMREZMQUdTID0gJy4kbGRfb3B0LiRvdGhlcmxkZmxhZ3MuJwogSU5TVF9EWU5B
TUlDX0RFUCA9ICcuJGluc3RfZHluYW1pY19kZXAuJwogSU5TVF9EWU5BTUlDX0ZJWCA9ICcuJGxk
X2ZpeC4nCiAKLSQoSU5TVF9EWU5BTUlDKTogJChPQkpFQ1QpICQoTVlFWFRMSUIpICQoSU5TVF9B
UkNIQVVUT0RJUikkKERGU0VQKS5leGlzdHMgJChFWFBPUlRfTElTVCkgJChQRVJMX0FSQ0hJVkUp
ICQoUEVSTF9BUkNISVZFX0FGVEVSKSAkKElOU1RfRFlOQU1JQ19ERVApCiskKElOU1RfRFlOQU1J
Qyk6ICQoT0JKRUNUKSAkKE1ZRVhUTElCKSAkKElOU1RfQVJDSEFVVE9ESVIpJChERlNFUCkuZXhp
c3RzICQoRVhQT1JUX0xJU1QpICQoUEVSTF9BUkNISVZFKSAkKFBFUkxfQVJDSElWRV9BRlRFUikg
JChJTlNUX0RZTkFNSUNfREVQKSAkKEJPT1RTVFJBUCkKICcpOwogICAgIGlmICgkYXJtYXliZSBu
ZSAnOicpewogCSRsZGZyb20gPSAndG1wJChMSUJfRVhUKSc7Ci0tIAoxLjkuMwoK
--089e0160ad96511e5b051eb1027f--