<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugzilla.yoctoproject.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.6"
          urlbase="https://bugzilla.yoctoproject.org/"
          
          maintainer="it-coreprojects-helpdesk@linuxfoundation.org"
>

    <bug>
          <bug_id>12278</bug_id>
          
          <creation_ts>2017-10-26 04:46:05 +0000</creation_ts>
          <short_desc>lttng-modules fails do_fetch/do_compile</short_desc>
          <delta_ts>2017-11-29 23:52:34 +0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>7</classification_id>
          <classification>Build System, Metadata &amp; Runtime</classification>
          <product>BSPs</product>
          <component>bsps-meta-intel</component>
          <version>2.3.3</version>
          <rep_platform>x86</rep_platform>
          <op_sys>x86_64</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>Medium+</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>2.3.3</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Rebecca Chang">rebecca.swee.fun.chang</reporter>
          <assigned_to name="California Sullivan">california.l.sullivan</assigned_to>
          
          
          
          <cf_os>---</cf_os>
          <cf_regression_type>---</cf_regression_type>
          
          <cf_docchange>No (bug/feature does not impact docs)</cf_docchange>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>77820</commentid>
    <comment_count>0</comment_count>
      <attachid>4102</attachid>
    <who name="Rebecca Chang">rebecca.swee.fun.chang</who>
    <bug_when>2017-10-26 04:46:05 +0000</bug_when>
    <thetext>Created attachment 4102
do_compile

Issue found on lttng-modules do_fetch where the patch file is not found.
Issue first found on pyro branch and further tested on master is failing too.

ERROR: lttng-modules-2.9.3-r0 do_fetch: Fetcher failure: Unable to find file file://0002-lttng-modules-PKT-4.9-yocto-build-failed.patch anywhere. The paths that were searched were:
    /media/rebeccas/yocto/poky/meta/recipes-kernel/lttng/lttng-modules-2.9.3/poky
    /media/rebeccas/yocto/poky/meta/recipes-kernel/lttng/lttng-modules/poky
    /media/rebeccas/yocto/poky/meta/recipes-kernel/lttng/files/poky
    /media/rebeccas/yocto/poky/meta/recipes-kernel/lttng/lttng-modules-2.9.3/qemux86
    /media/rebeccas/yocto/poky/meta/recipes-kernel/lttng/lttng-modules/qemux86
    /media/rebeccas/yocto/poky/meta/recipes-kernel/lttng/files/qemux86
    /media/rebeccas/yocto/poky/meta/recipes-kernel/lttng/lttng-modules-2.9.3/qemuall
    /media/rebeccas/yocto/poky/meta/recipes-kernel/lttng/lttng-modules/qemuall
    /media/rebeccas/yocto/poky/meta/recipes-kernel/lttng/files/qemuall
    /media/rebeccas/yocto/poky/meta/recipes-kernel/lttng/lttng-modules-2.9.3/x86
    /media/rebeccas/yocto/poky/meta/recipes-kernel/lttng/lttng-modules/x86
    /media/rebeccas/yocto/poky/meta/recipes-kernel/lttng/files/x86
    /media/rebeccas/yocto/poky/meta/recipes-kernel/lttng/lttng-modules-2.9.3/i586
    /media/rebeccas/yocto/poky/meta/recipes-kernel/lttng/lttng-modules/i586
    /media/rebeccas/yocto/poky/meta/recipes-kernel/lttng/files/i586
    /media/rebeccas/yocto/poky/meta/recipes-kernel/lttng/lttng-modules-2.9.3/
    /media/rebeccas/yocto/poky/meta/recipes-kernel/lttng/lttng-modules/
    /media/rebeccas/yocto/poky/meta/recipes-kernel/lttng/files/
    /media/rebeccas/build/downloads
ERROR: lttng-modules-2.9.3-r0 do_fetch: Fetcher failure for URL: &apos;file://0002-lttng-modules-PKT-4.9-yocto-build-failed.patch&apos;. Unable to fetch URL from any source.
ERROR: lttng-modules-2.9.3-r0 do_fetch: Function failed: base_do_fetch

Build configuration:
Poky &amp; meta-intel on pyro branch.
conf/local.conf: PREFERRED_PROVIDER_virtual/kernel ?= &quot;linux-intel-rt&quot;

We also hit do_compile failure using the build configuration below:
Poky &amp; meta-intel on pyro branch.
conf/local.conf: PREFERRED_PROVIDER_virtual/kernel ?= &quot;linux-intel&quot;

(See attachment for do_compile log)

Default configuration with linux-yocto has no issue.
Require backport to pyro.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>77821</commentid>
    <comment_count>1</comment_count>
      <attachid>4103</attachid>
    <who name="Rebecca Chang">rebecca.swee.fun.chang</who>
    <bug_when>2017-10-26 04:46:37 +0000</bug_when>
    <thetext>Created attachment 4103
do_fetch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>77822</commentid>
    <comment_count>2</comment_count>
      <attachid>4104</attachid>
    <who name="Rebecca Chang">rebecca.swee.fun.chang</who>
    <bug_when>2017-10-26 05:25:05 +0000</bug_when>
    <thetext>Created attachment 4104
bitbake -e lttng-modules</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>77845</commentid>
    <comment_count>3</comment_count>
      <attachid>4106</attachid>
    <who name="Rebecca Chang">rebecca.swee.fun.chang</who>
    <bug_when>2017-10-27 03:31:31 +0000</bug_when>
    <thetext>Created attachment 4106
lttng fetch env</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>78180</commentid>
    <comment_count>4</comment_count>
    <who name="California Sullivan">california.l.sullivan</who>
    <bug_when>2017-11-13 17:44:34 +0000</bug_when>
    <thetext>I believe Saul sent some patches addressing this. I will verify.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>78333</commentid>
    <comment_count>5</comment_count>
    <who name="California Sullivan">california.l.sullivan</who>
    <bug_when>2017-11-22 22:46:43 +0000</bug_when>
    <thetext>Current pyro HEAD works for me. Saul&apos;s patches appear to have solved the issue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>78334</commentid>
    <comment_count>6</comment_count>
    <who name="California Sullivan">california.l.sullivan</who>
    <bug_when>2017-11-22 23:08:23 +0000</bug_when>
    <thetext>Actually, I see another issue, and Saul&apos;s patches do not address it.

What is happening in your case is that you&apos;re using qemux86 MACHINE, and lttng-modules is only patched in the case of an intel-* machine being used in order to maintain Yocto Project compatibility status, which causes this failure.

I&apos;ll have a discussion with Saul and others on how to fix this issue, if appropriate.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>78387</commentid>
    <comment_count>7</comment_count>
    <who name="California Sullivan">california.l.sullivan</who>
    <bug_when>2017-11-28 22:12:20 +0000</bug_when>
    <thetext>After discussion with Saul it was decided that it wasn&apos;t appropriate to build linux-intel with a qemux86 MACHINE.

We actually attempted to limit it previously through our COMPATIBLE_MACHINE flags, but we missed setting the default in the case that a non-intel MACHINE was set, causing it to build anyway.

I sent a patch addressing this here: https://lists.yoctoproject.org/pipermail/meta-intel/2017-November/005102.html</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>4102</attachid>
            <date>2017-10-26 04:46:05 +0000</date>
            <delta_ts>2017-10-26 04:46:05 +0000</delta_ts>
            <desc>do_compile</desc>
            <filename>log.do_compile.172381</filename>
            <type>application/octet-stream</type>
            <size>119050</size>
            <attacher name="Rebecca Chang">rebecca.swee.fun.chang</attacher>
            
              <data encoding="base64">REVCVUc6IEV4ZWN1dGluZyBzaGVsbCBmdW5jdGlvbiBkb19jb21waWxlCk5PVEU6IG1ha2UgLWog
NDAgS0VSTkVMX1NSQz0vbWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1kbnYvYnVpbGQv
dG1wL3dvcmstc2hhcmVkL2ludGVsLWNvcmVpNy02NC9rZXJuZWwtc291cmNlIEtFUk5FTERJUj0v
bWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1kbnYvYnVpbGQvdG1wL3dvcmstc2hhcmVk
L2ludGVsLWNvcmVpNy02NC9rZXJuZWwtc291cmNlIEtFUk5FTF9QQVRIPS9tZWRpYS9yZWJlY2Nh
cy95b2N0by9tZXRhLWludGVsLWRudi9idWlsZC90bXAvd29yay1zaGFyZWQvaW50ZWwtY29yZWk3
LTY0L2tlcm5lbC1zb3VyY2UgS0VSTkVMX1ZFUlNJT049NC45LjQ3LXJ0MzctY2NtLWJldGE2IEND
PXg4Nl82NC1wb2t5LWxpbnV4LWdjYyAgLWZ1c2UtbGQ9YmZkIExEPXg4Nl82NC1wb2t5LWxpbnV4
LWxkLmJmZCAgQVI9eDg2XzY0LXBva3ktbGludXgtYXIgIE89L21lZGlhL3JlYmVjY2FzL3lvY3Rv
L21ldGEtaW50ZWwtZG52L2J1aWxkL3RtcC93b3JrLXNoYXJlZC9pbnRlbC1jb3JlaTctNjQva2Vy
bmVsLWJ1aWxkLWFydGlmYWN0cyBLQlVJTERfRVhUUkFfU1lNQk9MUz0KbWFrZSAtQyAvbWVkaWEv
cmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1kbnYvYnVpbGQvdG1wL3dvcmstc2hhcmVkL2ludGVs
LWNvcmVpNy02NC9rZXJuZWwtc291cmNlIE09L21lZGlhL3JlYmVjY2FzL3lvY3RvL21ldGEtaW50
ZWwtZG52L2J1aWxkL3RtcC93b3JrL2ludGVsX2NvcmVpN182NC1wb2t5LWxpbnV4L2x0dG5nLW1v
ZHVsZXMvMi45LjEtcjAvbHR0bmctbW9kdWxlcy0yLjkuMSBDT05GSUdfTFRUTkc9bSBDT05GSUdf
TFRUTkdfQ0xPQ0tfUExVR0lOX1RFU1Q9bSBtb2R1bGVzCm1ha2VbMV06IEVudGVyaW5nIGRpcmVj
dG9yeSAnL21lZGlhL3JlYmVjY2FzL3lvY3RvL21ldGEtaW50ZWwtZG52L2J1aWxkL3RtcC93b3Jr
LXNoYXJlZC9pbnRlbC1jb3JlaTctNjQva2VybmVsLXNvdXJjZScKbWFrZVsyXTogRW50ZXJpbmcg
ZGlyZWN0b3J5ICcvbWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1kbnYvYnVpbGQvdG1w
L3dvcmstc2hhcmVkL2ludGVsLWNvcmVpNy02NC9rZXJuZWwtYnVpbGQtYXJ0aWZhY3RzJwogIEND
IFtNXSAgL21lZGlhL3JlYmVjY2FzL3lvY3RvL21ldGEtaW50ZWwtZG52L2J1aWxkL3RtcC93b3Jr
L2ludGVsX2NvcmVpN182NC1wb2t5LWxpbnV4L2x0dG5nLW1vZHVsZXMvMi45LjEtcjAvbHR0bmct
bW9kdWxlcy0yLjkuMS9sdHRuZy1yaW5nLWJ1ZmZlci1jbGllbnQtZGlzY2FyZC5vCiAgQ0MgW01d
ICAvbWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1kbnYvYnVpbGQvdG1wL3dvcmsvaW50
ZWxfY29yZWk3XzY0LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9sdHRuZy1tb2R1
bGVzLTIuOS4xL2x0dG5nLXJpbmctYnVmZmVyLWNsaWVudC1vdmVyd3JpdGUubwogIENDIFtNXSAg
L21lZGlhL3JlYmVjY2FzL3lvY3RvL21ldGEtaW50ZWwtZG52L2J1aWxkL3RtcC93b3JrL2ludGVs
X2NvcmVpN182NC1wb2t5LWxpbnV4L2x0dG5nLW1vZHVsZXMvMi45LjEtcjAvbHR0bmctbW9kdWxl
cy0yLjkuMS9sdHRuZy1yaW5nLWJ1ZmZlci1jbGllbnQtbW1hcC1vdmVyd3JpdGUubwogIENDIFtN
XSAgL21lZGlhL3JlYmVjY2FzL3lvY3RvL21ldGEtaW50ZWwtZG52L2J1aWxkL3RtcC93b3JrL2lu
dGVsX2NvcmVpN182NC1wb2t5LWxpbnV4L2x0dG5nLW1vZHVsZXMvMi45LjEtcjAvbHR0bmctbW9k
dWxlcy0yLjkuMS9sdHRuZy1yaW5nLWJ1ZmZlci1tZXRhZGF0YS1tbWFwLWNsaWVudC5vCiAgQ0Mg
W01dICAvbWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1kbnYvYnVpbGQvdG1wL3dvcmsv
aW50ZWxfY29yZWk3XzY0LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9sdHRuZy1t
b2R1bGVzLTIuOS4xL2x0dG5nLXJpbmctYnVmZmVyLW1ldGFkYXRhLWNsaWVudC5vCiAgQ0MgW01d
ICAvbWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1kbnYvYnVpbGQvdG1wL3dvcmsvaW50
ZWxfY29yZWk3XzY0LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9sdHRuZy1tb2R1
bGVzLTIuOS4xL2x0dG5nLXJpbmctYnVmZmVyLWNsaWVudC1tbWFwLWRpc2NhcmQubwogIENDIFtN
XSAgL21lZGlhL3JlYmVjY2FzL3lvY3RvL21ldGEtaW50ZWwtZG52L2J1aWxkL3RtcC93b3JrL2lu
dGVsX2NvcmVpN182NC1wb2t5LWxpbnV4L2x0dG5nLW1vZHVsZXMvMi45LjEtcjAvbHR0bmctbW9k
dWxlcy0yLjkuMS9sdHRuZy1ldmVudHMubwogIENDIFtNXSAgL21lZGlhL3JlYmVjY2FzL3lvY3Rv
L21ldGEtaW50ZWwtZG52L2J1aWxkL3RtcC93b3JrL2ludGVsX2NvcmVpN182NC1wb2t5LWxpbnV4
L2x0dG5nLW1vZHVsZXMvMi45LjEtcjAvbHR0bmctbW9kdWxlcy0yLjkuMS9sdHRuZy1jbG9jay5v
CiAgQ0MgW01dICAvbWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1kbnYvYnVpbGQvdG1w
L3dvcmsvaW50ZWxfY29yZWk3XzY0LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9s
dHRuZy1tb2R1bGVzLTIuOS4xL2x0dG5nLWFiaS5vCiAgQ0MgW01dICAvbWVkaWEvcmViZWNjYXMv
eW9jdG8vbWV0YS1pbnRlbC1kbnYvYnVpbGQvdG1wL3dvcmsvaW50ZWxfY29yZWk3XzY0LXBva3kt
bGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9sdHRuZy1tb2R1bGVzLTIuOS4xL2x0dG5nLXBy
b2Jlcy5vCiAgQ0MgW01dICAvbWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1kbnYvYnVp
bGQvdG1wL3dvcmsvaW50ZWxfY29yZWk3XzY0LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjku
MS1yMC9sdHRuZy1tb2R1bGVzLTIuOS4xL2x0dG5nLWNvbnRleHQtcGlkLm8KICBDQyBbTV0gIC9t
ZWRpYS9yZWJlY2Nhcy95b2N0by9tZXRhLWludGVsLWRudi9idWlsZC90bXAvd29yay9pbnRlbF9j
b3JlaTdfNjQtcG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL2x0dG5nLW1vZHVsZXMt
Mi45LjEvbHR0bmctY29udGV4dC5vCiAgQ0MgW01dICAvbWVkaWEvcmViZWNjYXMveW9jdG8vbWV0
YS1pbnRlbC1kbnYvYnVpbGQvdG1wL3dvcmsvaW50ZWxfY29yZWk3XzY0LXBva3ktbGludXgvbHR0
bmctbW9kdWxlcy8yLjkuMS1yMC9sdHRuZy1tb2R1bGVzLTIuOS4xL2x0dG5nLWNvbnRleHQtcHJv
Y25hbWUubwogIENDIFtNXSAgL21lZGlhL3JlYmVjY2FzL3lvY3RvL21ldGEtaW50ZWwtZG52L2J1
aWxkL3RtcC93b3JrL2ludGVsX2NvcmVpN182NC1wb2t5LWxpbnV4L2x0dG5nLW1vZHVsZXMvMi45
LjEtcjAvbHR0bmctbW9kdWxlcy0yLjkuMS9sdHRuZy1jb250ZXh0LXByaW8ubwogIENDIFtNXSAg
L21lZGlhL3JlYmVjY2FzL3lvY3RvL21ldGEtaW50ZWwtZG52L2J1aWxkL3RtcC93b3JrL2ludGVs
X2NvcmVpN182NC1wb2t5LWxpbnV4L2x0dG5nLW1vZHVsZXMvMi45LjEtcjAvbHR0bmctbW9kdWxl
cy0yLjkuMS9sdHRuZy1jb250ZXh0LW5pY2UubwogIENDIFtNXSAgL21lZGlhL3JlYmVjY2FzL3lv
Y3RvL21ldGEtaW50ZWwtZG52L2J1aWxkL3RtcC93b3JrL2ludGVsX2NvcmVpN182NC1wb2t5LWxp
bnV4L2x0dG5nLW1vZHVsZXMvMi45LjEtcjAvbHR0bmctbW9kdWxlcy0yLjkuMS9sdHRuZy1jb250
ZXh0LXZwaWQubwogIENDIFtNXSAgL21lZGlhL3JlYmVjY2FzL3lvY3RvL21ldGEtaW50ZWwtZG52
L2J1aWxkL3RtcC93b3JrL2ludGVsX2NvcmVpN182NC1wb2t5LWxpbnV4L2x0dG5nLW1vZHVsZXMv
Mi45LjEtcjAvbHR0bmctbW9kdWxlcy0yLjkuMS9sdHRuZy1jb250ZXh0LXZ0aWQubwogIENDIFtN
XSAgL21lZGlhL3JlYmVjY2FzL3lvY3RvL21ldGEtaW50ZWwtZG52L2J1aWxkL3RtcC93b3JrL2lu
dGVsX2NvcmVpN182NC1wb2t5LWxpbnV4L2x0dG5nLW1vZHVsZXMvMi45LjEtcjAvbHR0bmctbW9k
dWxlcy0yLjkuMS9sdHRuZy1jb250ZXh0LXBwaWQubwogIENDIFtNXSAgL21lZGlhL3JlYmVjY2Fz
L3lvY3RvL21ldGEtaW50ZWwtZG52L2J1aWxkL3RtcC93b3JrL2ludGVsX2NvcmVpN182NC1wb2t5
LWxpbnV4L2x0dG5nLW1vZHVsZXMvMi45LjEtcjAvbHR0bmctbW9kdWxlcy0yLjkuMS9sdHRuZy1j
b250ZXh0LXZwcGlkLm8KICBDQyBbTV0gIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9tZXRhLWludGVs
LWRudi9idWlsZC90bXAvd29yay9pbnRlbF9jb3JlaTdfNjQtcG9reS1saW51eC9sdHRuZy1tb2R1
bGVzLzIuOS4xLXIwL2x0dG5nLW1vZHVsZXMtMi45LjEvbHR0bmctY29udGV4dC1jcHUtaWQubwog
IENDIFtNXSAgL21lZGlhL3JlYmVjY2FzL3lvY3RvL21ldGEtaW50ZWwtZG52L2J1aWxkL3RtcC93
b3JrL2ludGVsX2NvcmVpN182NC1wb2t5LWxpbnV4L2x0dG5nLW1vZHVsZXMvMi45LjEtcjAvbHR0
bmctbW9kdWxlcy0yLjkuMS9sdHRuZy1jb250ZXh0LXRpZC5vCiAgQ0MgW01dICAvbWVkaWEvcmVi
ZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1kbnYvYnVpbGQvdG1wL3dvcmsvaW50ZWxfY29yZWk3XzY0
LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9sdHRuZy1tb2R1bGVzLTIuOS4xL2x0
dG5nLWNvbnRleHQtbmVlZC1yZXNjaGVkdWxlLm8KICBDQyBbTV0gIC9tZWRpYS9yZWJlY2Nhcy95
b2N0by9tZXRhLWludGVsLWRudi9idWlsZC90bXAvd29yay9pbnRlbF9jb3JlaTdfNjQtcG9reS1s
aW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL2x0dG5nLW1vZHVsZXMtMi45LjEvbHR0bmctY29u
dGV4dC1pbnRlcnJ1cHRpYmxlLm8KICBDQyBbTV0gIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9tZXRh
LWludGVsLWRudi9idWlsZC90bXAvd29yay9pbnRlbF9jb3JlaTdfNjQtcG9reS1saW51eC9sdHRu
Zy1tb2R1bGVzLzIuOS4xLXIwL2x0dG5nLW1vZHVsZXMtMi45LjEvbHR0bmctY2FsaWJyYXRlLm8K
ICBDQyBbTV0gIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9tZXRhLWludGVsLWRudi9idWlsZC90bXAv
d29yay9pbnRlbF9jb3JlaTdfNjQtcG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL2x0
dG5nLW1vZHVsZXMtMi45LjEvbHR0bmctY29udGV4dC1ob3N0bmFtZS5vCiAgQ0MgW01dICAvbWVk
aWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1kbnYvYnVpbGQvdG1wL3dvcmsvaW50ZWxfY29y
ZWk3XzY0LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9sdHRuZy1tb2R1bGVzLTIu
OS4xL3dyYXBwZXIvcmFuZG9tLm8KICBDQyBbTV0gIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9tZXRh
LWludGVsLWRudi9idWlsZC90bXAvd29yay9pbnRlbF9jb3JlaTdfNjQtcG9reS1saW51eC9sdHRu
Zy1tb2R1bGVzLzIuOS4xLXIwL2x0dG5nLW1vZHVsZXMtMi45LjEvcHJvYmVzL2x0dG5nLm8KICBD
QyBbTV0gIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9tZXRhLWludGVsLWRudi9idWlsZC90bXAvd29y
ay9pbnRlbF9jb3JlaTdfNjQtcG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL2x0dG5n
LW1vZHVsZXMtMi45LjEvd3JhcHBlci90cmFjZS1jbG9jay5vCiAgQ0MgW01dICAvbWVkaWEvcmVi
ZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1kbnYvYnVpbGQvdG1wL3dvcmsvaW50ZWxfY29yZWk3XzY0
LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9sdHRuZy1tb2R1bGVzLTIuOS4xL3dy
YXBwZXIvcGFnZV9hbGxvYy5vCiAgQ0MgW01dICAvbWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1p
bnRlbC1kbnYvYnVpbGQvdG1wL3dvcmsvaW50ZWxfY29yZWk3XzY0LXBva3ktbGludXgvbHR0bmct
bW9kdWxlcy8yLjkuMS1yMC9sdHRuZy1tb2R1bGVzLTIuOS4xL2x0dG5nLWZpbHRlci1pbnRlcnBy
ZXRlci5vCiAgQ0MgW01dICAvbWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1kbnYvYnVp
bGQvdG1wL3dvcmsvaW50ZWxfY29yZWk3XzY0LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjku
MS1yMC9sdHRuZy1tb2R1bGVzLTIuOS4xL2x0dG5nLWZpbHRlci1zcGVjaWFsaXplLm8KICBDQyBb
TV0gIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9tZXRhLWludGVsLWRudi9idWlsZC90bXAvd29yay9p
bnRlbF9jb3JlaTdfNjQtcG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL2x0dG5nLW1v
ZHVsZXMtMi45LjEvbHR0bmctZmlsdGVyLXZhbGlkYXRvci5vCiAgQ0MgW01dICAvbWVkaWEvcmVi
ZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1kbnYvYnVpbGQvdG1wL3dvcmsvaW50ZWxfY29yZWk3XzY0
LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9sdHRuZy1tb2R1bGVzLTIuOS4xL2x0
dG5nLXRyYWNrZXItcGlkLm8KICBDQyBbTV0gIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9tZXRhLWlu
dGVsLWRudi9idWlsZC90bXAvd29yay9pbnRlbF9jb3JlaTdfNjQtcG9reS1saW51eC9sdHRuZy1t
b2R1bGVzLzIuOS4xLXIwL2x0dG5nLW1vZHVsZXMtMi45LjEvbHR0bmctZmlsdGVyLm8KICBDQyBb
TV0gIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9tZXRhLWludGVsLWRudi9idWlsZC90bXAvd29yay9p
bnRlbF9jb3JlaTdfNjQtcG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL2x0dG5nLW1v
ZHVsZXMtMi45LjEvbHR0bmctc3lzY2FsbHMubwogIENDIFtNXSAgL21lZGlhL3JlYmVjY2FzL3lv
Y3RvL21ldGEtaW50ZWwtZG52L2J1aWxkL3RtcC93b3JrL2ludGVsX2NvcmVpN182NC1wb2t5LWxp
bnV4L2x0dG5nLW1vZHVsZXMvMi45LjEtcjAvbHR0bmctbW9kdWxlcy0yLjkuMS9wcm9iZXMvbHR0
bmctcHJvYmUtdXNlci5vCiAgQ0MgW01dICAvbWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRl
bC1kbnYvYnVpbGQvdG1wL3dvcmsvaW50ZWxfY29yZWk3XzY0LXBva3ktbGludXgvbHR0bmctbW9k
dWxlcy8yLjkuMS1yMC9sdHRuZy1tb2R1bGVzLTIuOS4xL2x0dG5nLWNvbnRleHQtcGVyZi1jb3Vu
dGVycy5vCiAgQ0MgW01dICAvbWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1kbnYvYnVp
bGQvdG1wL3dvcmsvaW50ZWxfY29yZWk3XzY0LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjku
MS1yMC9sdHRuZy1tb2R1bGVzLTIuOS4xL2x0dG5nLWNvbnRleHQtbWlncmF0YWJsZS5vCiAgQ0Mg
W01dICAvbWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1kbnYvYnVpbGQvdG1wL3dvcmsv
aW50ZWxfY29yZWk3XzY0LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9sdHRuZy1t
b2R1bGVzLTIuOS4xL2x0dG5nLXRyYWNlcG9pbnQubwogIENDIFtNXSAgL21lZGlhL3JlYmVjY2Fz
L3lvY3RvL21ldGEtaW50ZWwtZG52L2J1aWxkL3RtcC93b3JrL2ludGVsX2NvcmVpN182NC1wb2t5
LWxpbnV4L2x0dG5nLW1vZHVsZXMvMi45LjEtcjAvbHR0bmctbW9kdWxlcy0yLjkuMS9sdHRuZy1j
b250ZXh0LXByZWVtcHRpYmxlLm8KICBDQyBbTV0gIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9tZXRh
LWludGVsLWRudi9idWlsZC90bXAvd29yay9pbnRlbF9jb3JlaTdfNjQtcG9reS1saW51eC9sdHRu
Zy1tb2R1bGVzLzIuOS4xLXIwL2x0dG5nLW1vZHVsZXMtMi45LjEvbHR0bmctc3RhdGVkdW1wLWlt
cGwubwogIENDIFtNXSAgL21lZGlhL3JlYmVjY2FzL3lvY3RvL21ldGEtaW50ZWwtZG52L2J1aWxk
L3RtcC93b3JrL2ludGVsX2NvcmVpN182NC1wb2t5LWxpbnV4L2x0dG5nLW1vZHVsZXMvMi45LjEt
cjAvbHR0bmctbW9kdWxlcy0yLjkuMS93cmFwcGVyL2lycWRlc2MubwogIENDIFtNXSAgL21lZGlh
L3JlYmVjY2FzL3lvY3RvL21ldGEtaW50ZWwtZG52L2J1aWxkL3RtcC93b3JrL2ludGVsX2NvcmVp
N182NC1wb2t5LWxpbnV4L2x0dG5nLW1vZHVsZXMvMi45LjEtcjAvbHR0bmctbW9kdWxlcy0yLjku
MS93cmFwcGVyL2ZkdGFibGUubwogIENDIFtNXSAgL21lZGlhL3JlYmVjY2FzL3lvY3RvL21ldGEt
aW50ZWwtZG52L2J1aWxkL3RtcC93b3JrL2ludGVsX2NvcmVpN182NC1wb2t5LWxpbnV4L2x0dG5n
LW1vZHVsZXMvMi45LjEtcjAvbHR0bmctbW9kdWxlcy0yLjkuMS9saWIvcmluZ2J1ZmZlci9yaW5n
X2J1ZmZlcl9iYWNrZW5kLm8KICBDQyBbTV0gIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9tZXRhLWlu
dGVsLWRudi9idWlsZC90bXAvd29yay9pbnRlbF9jb3JlaTdfNjQtcG9reS1saW51eC9sdHRuZy1t
b2R1bGVzLzIuOS4xLXIwL2x0dG5nLW1vZHVsZXMtMi45LjEvbGliL3JpbmdidWZmZXIvcmluZ19i
dWZmZXJfZnJvbnRlbmQubwogIENDIFtNXSAgL21lZGlhL3JlYmVjY2FzL3lvY3RvL21ldGEtaW50
ZWwtZG52L2J1aWxkL3RtcC93b3JrL2ludGVsX2NvcmVpN182NC1wb2t5LWxpbnV4L2x0dG5nLW1v
ZHVsZXMvMi45LjEtcjAvbHR0bmctbW9kdWxlcy0yLjkuMS9saWIvcmluZ2J1ZmZlci9yaW5nX2J1
ZmZlcl9pdGVyYXRvci5vCiAgQ0MgW01dICAvbWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRl
bC1kbnYvYnVpbGQvdG1wL3dvcmsvaW50ZWxfY29yZWk3XzY0LXBva3ktbGludXgvbHR0bmctbW9k
dWxlcy8yLjkuMS1yMC9sdHRuZy1tb2R1bGVzLTIuOS4xL2xpYi9yaW5nYnVmZmVyL3JpbmdfYnVm
ZmVyX3Zmcy5vCiAgQ0MgW01dICAvbWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1kbnYv
YnVpbGQvdG1wL3dvcmsvaW50ZWxfY29yZWk3XzY0LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8y
LjkuMS1yMC9sdHRuZy1tb2R1bGVzLTIuOS4xL2xpYi9yaW5nYnVmZmVyL3JpbmdfYnVmZmVyX3Nw
bGljZS5vCiAgQ0MgW01dICAvbWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1kbnYvYnVp
bGQvdG1wL3dvcmsvaW50ZWxfY29yZWk3XzY0LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjku
MS1yMC9sdHRuZy1tb2R1bGVzLTIuOS4xL2xpYi9yaW5nYnVmZmVyL3JpbmdfYnVmZmVyX21tYXAu
bwogIENDIFtNXSAgL21lZGlhL3JlYmVjY2FzL3lvY3RvL21ldGEtaW50ZWwtZG52L2J1aWxkL3Rt
cC93b3JrL2ludGVsX2NvcmVpN182NC1wb2t5LWxpbnV4L2x0dG5nLW1vZHVsZXMvMi45LjEtcjAv
bHR0bmctbW9kdWxlcy0yLjkuMS9saWIvcHJpb19oZWFwL2x0dG5nX3ByaW9faGVhcC5vCiAgQ0Mg
W01dICAvbWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1kbnYvYnVpbGQvdG1wL3dvcmsv
aW50ZWxfY29yZWk3XzY0LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9sdHRuZy1t
b2R1bGVzLTIuOS4xL2xpYi8uLi93cmFwcGVyL3NwbGljZS5vCiAgQ0MgW01dICAvbWVkaWEvcmVi
ZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1kbnYvYnVpbGQvdG1wL3dvcmsvaW50ZWxfY29yZWk3XzY0
LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9sdHRuZy1tb2R1bGVzLTIuOS4xL3Rl
c3RzL3Byb2Jlcy9sdHRuZy10ZXN0Lm8KICBDQyBbTV0gIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9t
ZXRhLWludGVsLWRudi9idWlsZC90bXAvd29yay9pbnRlbF9jb3JlaTdfNjQtcG9reS1saW51eC9s
dHRuZy1tb2R1bGVzLzIuOS4xLXIwL2x0dG5nLW1vZHVsZXMtMi45LjEvdGVzdHMvY2xvY2stcGx1
Z2luL2x0dG5nLWNsb2NrLXBsdWdpbi10ZXN0Lm8KICBDQyBbTV0gIC9tZWRpYS9yZWJlY2Nhcy95
b2N0by9tZXRhLWludGVsLWRudi9idWlsZC90bXAvd29yay9pbnRlbF9jb3JlaTdfNjQtcG9reS1s
aW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL2x0dG5nLW1vZHVsZXMtMi45LjEvcHJvYmVzL2x0
dG5nLXByb2JlLXNjaGVkLm8KICBDQyBbTV0gIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9tZXRhLWlu
dGVsLWRudi9idWlsZC90bXAvd29yay9pbnRlbF9jb3JlaTdfNjQtcG9reS1saW51eC9sdHRuZy1t
b2R1bGVzLzIuOS4xLXIwL2x0dG5nLW1vZHVsZXMtMi45LjEvcHJvYmVzL2x0dG5nLXByb2JlLWly
cS5vCiAgQ0MgW01dICAvbWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1kbnYvYnVpbGQv
dG1wL3dvcmsvaW50ZWxfY29yZWk3XzY0LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1y
MC9sdHRuZy1tb2R1bGVzLTIuOS4xL3Byb2Jlcy9sdHRuZy1wcm9iZS10aW1lci5vCiAgQ0MgW01d
ICAvbWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1kbnYvYnVpbGQvdG1wL3dvcmsvaW50
ZWxfY29yZWk3XzY0LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9sdHRuZy1tb2R1
bGVzLTIuOS4xL3Byb2Jlcy9sdHRuZy1wcm9iZS1rbWVtLm8KICBDQyBbTV0gIC9tZWRpYS9yZWJl
Y2Nhcy95b2N0by9tZXRhLWludGVsLWRudi9idWlsZC90bXAvd29yay9pbnRlbF9jb3JlaTdfNjQt
cG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL2x0dG5nLW1vZHVsZXMtMi45LjEvcHJv
YmVzL2x0dG5nLXByb2JlLW1vZHVsZS5vCiAgQ0MgW01dICAvbWVkaWEvcmViZWNjYXMveW9jdG8v
bWV0YS1pbnRlbC1kbnYvYnVpbGQvdG1wL3dvcmsvaW50ZWxfY29yZWk3XzY0LXBva3ktbGludXgv
bHR0bmctbW9kdWxlcy8yLjkuMS1yMC9sdHRuZy1tb2R1bGVzLTIuOS4xL3Byb2Jlcy9sdHRuZy1w
cm9iZS1wb3dlci5vCiAgQ0MgW01dICAvbWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1k
bnYvYnVpbGQvdG1wL3dvcmsvaW50ZWxfY29yZWk3XzY0LXBva3ktbGludXgvbHR0bmctbW9kdWxl
cy8yLjkuMS1yMC9sdHRuZy1tb2R1bGVzLTIuOS4xL3Byb2Jlcy9sdHRuZy1wcm9iZS1zdGF0ZWR1
bXAubwogIENDIFtNXSAgL21lZGlhL3JlYmVjY2FzL3lvY3RvL21ldGEtaW50ZWwtZG52L2J1aWxk
L3RtcC93b3JrL2ludGVsX2NvcmVpN182NC1wb2t5LWxpbnV4L2x0dG5nLW1vZHVsZXMvMi45LjEt
cjAvbHR0bmctbW9kdWxlcy0yLjkuMS9wcm9iZXMvbHR0bmctcHJvYmUtaTJjLm8KICBDQyBbTV0g
IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9tZXRhLWludGVsLWRudi9idWlsZC90bXAvd29yay9pbnRl
bF9jb3JlaTdfNjQtcG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL2x0dG5nLW1vZHVs
ZXMtMi45LjEvcHJvYmVzL2x0dG5nLXByb2JlLXNpZ25hbC5vCiAgQ0MgW01dICAvbWVkaWEvcmVi
ZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1kbnYvYnVpbGQvdG1wL3dvcmsvaW50ZWxfY29yZWk3XzY0
LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9sdHRuZy1tb2R1bGVzLTIuOS4xL3By
b2Jlcy9sdHRuZy1wcm9iZS14ODYtZXhjZXB0aW9ucy5vCiAgQ0MgW01dICAvbWVkaWEvcmViZWNj
YXMveW9jdG8vbWV0YS1pbnRlbC1kbnYvYnVpbGQvdG1wL3dvcmsvaW50ZWxfY29yZWk3XzY0LXBv
a3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9sdHRuZy1tb2R1bGVzLTIuOS4xL3Byb2Jl
cy9sdHRuZy1wcm9iZS14ODYtaXJxLXZlY3RvcnMubwogIENDIFtNXSAgL21lZGlhL3JlYmVjY2Fz
L3lvY3RvL21ldGEtaW50ZWwtZG52L2J1aWxkL3RtcC93b3JrL2ludGVsX2NvcmVpN182NC1wb2t5
LWxpbnV4L2x0dG5nLW1vZHVsZXMvMi45LjEtcjAvbHR0bmctbW9kdWxlcy0yLjkuMS9wcm9iZXMv
bHR0bmctcHJvYmUtYmxvY2subwogIENDIFtNXSAgL21lZGlhL3JlYmVjY2FzL3lvY3RvL21ldGEt
aW50ZWwtZG52L2J1aWxkL3RtcC93b3JrL2ludGVsX2NvcmVpN182NC1wb2t5LWxpbnV4L2x0dG5n
LW1vZHVsZXMvMi45LjEtcjAvbHR0bmctbW9kdWxlcy0yLjkuMS9wcm9iZXMvbHR0bmctcHJvYmUt
bmFwaS5vCiAgQ0MgW01dICAvbWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1kbnYvYnVp
bGQvdG1wL3dvcmsvaW50ZWxfY29yZWk3XzY0LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjku
MS1yMC9sdHRuZy1tb2R1bGVzLTIuOS4xL3Byb2Jlcy9sdHRuZy1wcm9iZS1za2IubwogIENDIFtN
XSAgL21lZGlhL3JlYmVjY2FzL3lvY3RvL21ldGEtaW50ZWwtZG52L2J1aWxkL3RtcC93b3JrL2lu
dGVsX2NvcmVpN182NC1wb2t5LWxpbnV4L2x0dG5nLW1vZHVsZXMvMi45LjEtcjAvbHR0bmctbW9k
dWxlcy0yLjkuMS9wcm9iZXMvbHR0bmctcHJvYmUtbmV0Lm8KICBDQyBbTV0gIC9tZWRpYS9yZWJl
Y2Nhcy95b2N0by9tZXRhLWludGVsLWRudi9idWlsZC90bXAvd29yay9pbnRlbF9jb3JlaTdfNjQt
cG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL2x0dG5nLW1vZHVsZXMtMi45LjEvcHJv
YmVzL2x0dG5nLXByb2JlLXVkcC5vCiAgQ0MgW01dICAvbWVkaWEvcmViZWNjYXMveW9jdG8vbWV0
YS1pbnRlbC1kbnYvYnVpbGQvdG1wL3dvcmsvaW50ZWxfY29yZWk3XzY0LXBva3ktbGludXgvbHR0
bmctbW9kdWxlcy8yLjkuMS1yMC9sdHRuZy1tb2R1bGVzLTIuOS4xL3Byb2Jlcy9sdHRuZy1wcm9i
ZS1zb2NrLm8KICBDQyBbTV0gIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9tZXRhLWludGVsLWRudi9i
dWlsZC90bXAvd29yay9pbnRlbF9jb3JlaTdfNjQtcG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIu
OS4xLXIwL2x0dG5nLW1vZHVsZXMtMi45LjEvcHJvYmVzL2x0dG5nLXByb2JlLWFzb2MubwogIEND
IFtNXSAgL21lZGlhL3JlYmVjY2FzL3lvY3RvL21ldGEtaW50ZWwtZG52L2J1aWxkL3RtcC93b3Jr
L2ludGVsX2NvcmVpN182NC1wb2t5LWxpbnV4L2x0dG5nLW1vZHVsZXMvMi45LjEtcjAvbHR0bmct
bW9kdWxlcy0yLjkuMS9wcm9iZXMvbHR0bmctcHJvYmUtZ3Bpby5vCiAgQ0MgW01dICAvbWVkaWEv
cmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1kbnYvYnVpbGQvdG1wL3dvcmsvaW50ZWxfY29yZWk3
XzY0LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9sdHRuZy1tb2R1bGVzLTIuOS4x
L3Byb2Jlcy9sdHRuZy1wcm9iZS1qYmQyLm8KICBDQyBbTV0gIC9tZWRpYS9yZWJlY2Nhcy95b2N0
by9tZXRhLWludGVsLWRudi9idWlsZC90bXAvd29yay9pbnRlbF9jb3JlaTdfNjQtcG9reS1saW51
eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL2x0dG5nLW1vZHVsZXMtMi45LjEvcHJvYmVzL2x0dG5n
LXByb2JlLXNjc2kubwogIENDIFtNXSAgL21lZGlhL3JlYmVjY2FzL3lvY3RvL21ldGEtaW50ZWwt
ZG52L2J1aWxkL3RtcC93b3JrL2ludGVsX2NvcmVpN182NC1wb2t5LWxpbnV4L2x0dG5nLW1vZHVs
ZXMvMi45LjEtcjAvbHR0bmctbW9kdWxlcy0yLjkuMS9wcm9iZXMvbHR0bmctcHJvYmUtdm1zY2Fu
Lm8KICBMRCBbTV0gIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9tZXRhLWludGVsLWRudi9idWlsZC90
bXAvd29yay9pbnRlbF9jb3JlaTdfNjQtcG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIw
L2x0dG5nLW1vZHVsZXMtMi45LjEvdGVzdHMvbHR0bmctY2xvY2stcGx1Z2luLXRlc3QubwogIEND
IFtNXSAgL21lZGlhL3JlYmVjY2FzL3lvY3RvL21ldGEtaW50ZWwtZG52L2J1aWxkL3RtcC93b3Jr
L2ludGVsX2NvcmVpN182NC1wb2t5LWxpbnV4L2x0dG5nLW1vZHVsZXMvMi45LjEtcjAvbHR0bmct
bW9kdWxlcy0yLjkuMS9wcm9iZXMvbHR0bmctcHJvYmUtYnRyZnMubwogIENDIFtNXSAgL21lZGlh
L3JlYmVjY2FzL3lvY3RvL21ldGEtaW50ZWwtZG52L2J1aWxkL3RtcC93b3JrL2ludGVsX2NvcmVp
N182NC1wb2t5LWxpbnV4L2x0dG5nLW1vZHVsZXMvMi45LjEtcjAvbHR0bmctbW9kdWxlcy0yLjku
MS9wcm9iZXMvbHR0bmctcHJvYmUtY29tcGFjdGlvbi5vCiAgQ0MgW01dICAvbWVkaWEvcmViZWNj
YXMveW9jdG8vbWV0YS1pbnRlbC1kbnYvYnVpbGQvdG1wL3dvcmsvaW50ZWxfY29yZWk3XzY0LXBv
a3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9sdHRuZy1tb2R1bGVzLTIuOS4xL3Byb2Jl
cy9sdHRuZy1wcm9iZS1leHQ0Lm8KICBDQyBbTV0gIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9tZXRh
LWludGVsLWRudi9idWlsZC90bXAvd29yay9pbnRlbF9jb3JlaTdfNjQtcG9reS1saW51eC9sdHRu
Zy1tb2R1bGVzLzIuOS4xLXIwL2x0dG5nLW1vZHVsZXMtMi45LjEvcHJvYmVzL2x0dG5nLXByb2Jl
LXByaW50ay5vCkluIGZpbGUgaW5jbHVkZWQgZnJvbSAvbWVkaWEvcmViZWNjYXMveW9jdG8vbWV0
YS1pbnRlbC1kbnYvYnVpbGQvdG1wL3dvcmsvaW50ZWxfY29yZWk3XzY0LXBva3ktbGludXgvbHR0
bmctbW9kdWxlcy8yLjkuMS1yMC9sdHRuZy1tb2R1bGVzLTIuOS4xL3Byb2Jlcy8uLi9wcm9iZXMv
ZGVmaW5lX3RyYWNlLmg6MTAwOjAsCiAgICAgICAgICAgICAgICAgZnJvbSAvbWVkaWEvcmViZWNj
YXMveW9jdG8vbWV0YS1pbnRlbC1kbnYvYnVpbGQvdG1wL3dvcmsvaW50ZWxfY29yZWk3XzY0LXBv
a3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9sdHRuZy1tb2R1bGVzLTIuOS4xL3Byb2Jl
cy8uLi9pbnN0cnVtZW50YXRpb24vZXZlbnRzL2x0dG5nLW1vZHVsZS9zY2hlZC5oOjU2NiwKICAg
ICAgICAgICAgICAgICBmcm9tIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9tZXRhLWludGVsLWRudi9i
dWlsZC90bXAvd29yay9pbnRlbF9jb3JlaTdfNjQtcG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIu
OS4xLXIwL2x0dG5nLW1vZHVsZXMtMi45LjEvcHJvYmVzL2x0dG5nLXByb2JlLXNjaGVkLmM6NDE6
Ci9tZWRpYS9yZWJlY2Nhcy95b2N0by9tZXRhLWludGVsLWRudi9idWlsZC90bXAvd29yay9pbnRl
bF9jb3JlaTdfNjQtcG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL2x0dG5nLW1vZHVs
ZXMtMi45LjEvcHJvYmVzLy4uL3Byb2Jlcy9sdHRuZy10cmFjZXBvaW50LWV2ZW50LWltcGwuaDox
NDI6NjogZXJyb3I6IGNvbmZsaWN0aW5nIHR5cGVzIGZvciAndHJhY2Vfc2NoZWRfcGlfc2V0cHJp
bycKIHZvaWQgdHJhY2VfIyNfbmFtZShfcHJvdG8pOwogICAgICBeCi9tZWRpYS9yZWJlY2Nhcy95
b2N0by9tZXRhLWludGVsLWRudi9idWlsZC90bXAvd29yay9pbnRlbF9jb3JlaTdfNjQtcG9reS1s
aW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL2x0dG5nLW1vZHVsZXMtMi45LjEvcHJvYmVzLy4u
L3Byb2Jlcy9sdHRuZy10cmFjZXBvaW50LWV2ZW50LWltcGwuaDo1NDoyOiBub3RlOiBpbiBleHBh
bnNpb24gb2YgbWFjcm8gJ0xUVE5HX1RSQUNFUE9JTlRfRVZFTlRfSU5TVEFOQ0VfTUFQJwogIExU
VE5HX1RSQUNFUE9JTlRfRVZFTlRfSU5TVEFOQ0VfTUFQKG1hcCwgbmFtZSwgbWFwLCBQQVJBTVMo
cHJvdG8pLCBQQVJBTVMoYXJncykpCiAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+
fn4KL21lZGlhL3JlYmVjY2FzL3lvY3RvL21ldGEtaW50ZWwtZG52L2J1aWxkL3RtcC93b3JrL2lu
dGVsX2NvcmVpN182NC1wb2t5LWxpbnV4L2x0dG5nLW1vZHVsZXMvMi45LjEtcjAvbHR0bmctbW9k
dWxlcy0yLjkuMS9wcm9iZXMvLi4vcHJvYmVzL2x0dG5nLXRyYWNlcG9pbnQtZXZlbnQtaW1wbC5o
Ojk2OjI6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyAnTFRUTkdfVFJBQ0VQT0lOVF9FVkVO
VF9NQVAnCiAgTFRUTkdfVFJBQ0VQT0lOVF9FVkVOVF9NQVAobmFtZSwgbmFtZSwgICAgXAogIF5+
fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci9tZWRpYS9yZWJlY2Nhcy95b2N0by9tZXRhLWludGVs
LWRudi9idWlsZC90bXAvd29yay9pbnRlbF9jb3JlaTdfNjQtcG9reS1saW51eC9sdHRuZy1tb2R1
bGVzLzIuOS4xLXIwL2x0dG5nLW1vZHVsZXMtMi45LjEvcHJvYmVzLy4uL2luc3RydW1lbnRhdGlv
bi9ldmVudHMvbHR0bmctbW9kdWxlL3NjaGVkLmg6NTQ4OjE6IG5vdGU6IGluIGV4cGFuc2lvbiBv
ZiBtYWNybyAnTFRUTkdfVFJBQ0VQT0lOVF9FVkVOVCcKIExUVE5HX1RSQUNFUE9JTlRfRVZFTlQo
c2NoZWRfcGlfc2V0cHJpbywKIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KSW4gZmlsZSBpbmNsdWRl
ZCBmcm9tIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9tZXRhLWludGVsLWRudi9idWlsZC90bXAvd29y
ay1zaGFyZWQvaW50ZWwtY29yZWk3LTY0L2tlcm5lbC1zb3VyY2UvaW5jbHVkZS90cmFjZS9ldmVu
dHMvc2NoZWQuaDo4OjAsCiAgICAgICAgICAgICAgICAgZnJvbSAvbWVkaWEvcmViZWNjYXMveW9j
dG8vbWV0YS1pbnRlbC1kbnYvYnVpbGQvdG1wL3dvcmsvaW50ZWxfY29yZWk3XzY0LXBva3ktbGlu
dXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9sdHRuZy1tb2R1bGVzLTIuOS4xL3Byb2Jlcy9sdHRu
Zy1wcm9iZS1zY2hlZC5jOjMwOgovbWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1kbnYv
YnVpbGQvdG1wL3dvcmstc2hhcmVkL2ludGVsLWNvcmVpNy02NC9rZXJuZWwtc291cmNlL2luY2x1
ZGUvbGludXgvdHJhY2Vwb2ludC5oOjE4MzoyMTogbm90ZTogcHJldmlvdXMgZGVmaW5pdGlvbiBv
ZiAndHJhY2Vfc2NoZWRfcGlfc2V0cHJpbycgd2FzIGhlcmUKICBzdGF0aWMgaW5saW5lIHZvaWQg
dHJhY2VfIyNuYW1lKHByb3RvKSAgICBcCiAgICAgICAgICAgICAgICAgICAgIF4KL21lZGlhL3Jl
YmVjY2FzL3lvY3RvL21ldGEtaW50ZWwtZG52L2J1aWxkL3RtcC93b3JrLXNoYXJlZC9pbnRlbC1j
b3JlaTctNjQva2VybmVsLXNvdXJjZS9pbmNsdWRlL2xpbnV4L3RyYWNlcG9pbnQuaDozNDg6Mjog
bm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvICdfX0RFQ0xBUkVfVFJBQ0UnCiAgX19ERUNMQVJF
X1RSQUNFKG5hbWUsIFBBUkFNUyhwcm90byksIFBBUkFNUyhhcmdzKSwgIFwKICBefn5+fn5+fn5+
fn5+fn4KL21lZGlhL3JlYmVjY2FzL3lvY3RvL21ldGEtaW50ZWwtZG52L2J1aWxkL3RtcC93b3Jr
LXNoYXJlZC9pbnRlbC1jb3JlaTctNjQva2VybmVsLXNvdXJjZS9pbmNsdWRlL2xpbnV4L3RyYWNl
cG9pbnQuaDo0ODQ6Mjogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvICdERUNMQVJFX1RSQUNF
JwogIERFQ0xBUkVfVFJBQ0UobmFtZSwgUEFSQU1TKHByb3RvKSwgUEFSQU1TKGFyZ3MpKQogIF5+
fn5+fn5+fn5+fn4KL21lZGlhL3JlYmVjY2FzL3lvY3RvL21ldGEtaW50ZWwtZG52L2J1aWxkL3Rt
cC93b3JrLXNoYXJlZC9pbnRlbC1jb3JlaTctNjQva2VybmVsLXNvdXJjZS9pbmNsdWRlL3RyYWNl
L2V2ZW50cy9zY2hlZC5oOjQxNToxOiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8gJ1RSQUNF
X0VWRU5UJwogVFJBQ0VfRVZFTlQoc2NoZWRfcGlfc2V0cHJpbywKIF5+fn5+fn5+fn5+CkluIGZp
bGUgaW5jbHVkZWQgZnJvbSAvbWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1kbnYvYnVp
bGQvdG1wL3dvcmsvaW50ZWxfY29yZWk3XzY0LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjku
MS1yMC9sdHRuZy1tb2R1bGVzLTIuOS4xL3Byb2Jlcy8uLi9wcm9iZXMvZGVmaW5lX3RyYWNlLmg6
MTAwOjAsCiAgICAgICAgICAgICAgICAgZnJvbSAvbWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1p
bnRlbC1kbnYvYnVpbGQvdG1wL3dvcmsvaW50ZWxfY29yZWk3XzY0LXBva3ktbGludXgvbHR0bmct
bW9kdWxlcy8yLjkuMS1yMC9sdHRuZy1tb2R1bGVzLTIuOS4xL3Byb2Jlcy8uLi9pbnN0cnVtZW50
YXRpb24vZXZlbnRzL2x0dG5nLW1vZHVsZS90aW1lci5oOjI5NCwKICAgICAgICAgICAgICAgICBm
cm9tIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9tZXRhLWludGVsLWRudi9idWlsZC90bXAvd29yay9p
bnRlbF9jb3JlaTdfNjQtcG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL2x0dG5nLW1v
ZHVsZXMtMi45LjEvcHJvYmVzL2x0dG5nLXByb2JlLXRpbWVyLmM6NDM6Ci9tZWRpYS9yZWJlY2Nh
cy95b2N0by9tZXRhLWludGVsLWRudi9idWlsZC90bXAvd29yay9pbnRlbF9jb3JlaTdfNjQtcG9r
eS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL2x0dG5nLW1vZHVsZXMtMi45LjEvcHJvYmVz
Ly4uL2luc3RydW1lbnRhdGlvbi9ldmVudHMvbHR0bmctbW9kdWxlL3RpbWVyLmg6IEluIGZ1bmN0
aW9uICdfX2V2ZW50X3ByZXBhcmVfZmlsdGVyX3N0YWNrX190aW1lcl9ocnRpbWVyX3N0YXJ0JzoK
L21lZGlhL3JlYmVjY2FzL3lvY3RvL21ldGEtaW50ZWwtZG52L2J1aWxkL3RtcC93b3JrL2ludGVs
X2NvcmVpN182NC1wb2t5LWxpbnV4L2x0dG5nLW1vZHVsZXMvMi45LjEtcjAvbHR0bmctbW9kdWxl
cy0yLjkuMS9wcm9iZXMvLi4vaW5zdHJ1bWVudGF0aW9uL2V2ZW50cy9sdHRuZy1tb2R1bGUvdGlt
ZXIuaDoyMjozOTogZXJyb3I6IHJlcXVlc3QgZm9yIG1lbWJlciAndHY2NCcgaW4gc29tZXRoaW5n
IG5vdCBhIHN0cnVjdHVyZSBvciB1bmlvbgogI2RlZmluZSBsdHRuZ19rdGltZV9nZXRfdHY2NChr
dCkgKChrdCkudHY2NCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgov
bWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1kbnYvYnVpbGQvdG1wL3dvcmsvaW50ZWxf
Y29yZWk3XzY0LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9sdHRuZy1tb2R1bGVz
LTIuOS4xL3Byb2Jlcy8uLi9wcm9iZXMvbHR0bmctdHJhY2Vwb2ludC1ldmVudC1pbXBsLmg6Nzc0
OjI6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8gJ0xUVE5HX1RSQUNFUE9JTlRfRVZFTlRf
Q0xBU1NfQ09ERScKICBfZmllbGRzICAgICAgICAgICAgICBcCiAgXn5+fn5+fgovbWVkaWEvcmVi
ZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1kbnYvYnVpbGQvdG1wL3dvcmsvaW50ZWxfY29yZWk3XzY0
LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9sdHRuZy1tb2R1bGVzLTIuOS4xL3By
b2Jlcy8uLi9wcm9iZXMvbHR0bmctdHJhY2Vwb2ludC1ldmVudC1pbXBsLmg6MTE2OjM6IG5vdGU6
IGluIGV4cGFuc2lvbiBvZiBtYWNybyAnUEFSQU1TJwogICBQQVJBTVMoX2ZpZWxkcyksICkKICAg
Xn5+fn5+Ci9tZWRpYS9yZWJlY2Nhcy95b2N0by9tZXRhLWludGVsLWRudi9idWlsZC90bXAvd29y
ay9pbnRlbF9jb3JlaTdfNjQtcG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL2x0dG5n
LW1vZHVsZXMtMi45LjEvcHJvYmVzLy4uL3Byb2Jlcy9sdHRuZy10cmFjZXBvaW50LWV2ZW50LWlt
cGwuaDo1MDoyOiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8gJ0xUVE5HX1RSQUNFUE9JTlRf
RVZFTlRfQ0xBU1MnCiAgTFRUTkdfVFJBQ0VQT0lOVF9FVkVOVF9DTEFTUyhtYXAsICAgIFwKICBe
fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci9tZWRpYS9yZWJlY2Nhcy95b2N0by9tZXRhLWlu
dGVsLWRudi9idWlsZC90bXAvd29yay9pbnRlbF9jb3JlaTdfNjQtcG9reS1saW51eC9sdHRuZy1t
b2R1bGVzLzIuOS4xLXIwL2x0dG5nLW1vZHVsZXMtMi45LjEvcHJvYmVzLy4uL3Byb2Jlcy9sdHRu
Zy10cmFjZXBvaW50LWV2ZW50LWltcGwuaDo1Mzo5OiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFj
cm8gJ1BBUkFNUycKICAgICAgICAgUEFSQU1TKGZpZWxkcykpICAgIFwKICAgICAgICAgXn5+fn5+
Ci9tZWRpYS9yZWJlY2Nhcy95b2N0by9tZXRhLWludGVsLWRudi9idWlsZC90bXAvd29yay9pbnRl
bF9jb3JlaTdfNjQtcG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL2x0dG5nLW1vZHVs
ZXMtMi45LjEvcHJvYmVzLy4uL2luc3RydW1lbnRhdGlvbi9ldmVudHMvbHR0bmctbW9kdWxlL3Rp
bWVyLmg6MTYzOjE6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyAnTFRUTkdfVFJBQ0VQT0lO
VF9FVkVOVF9NQVAnCiBMVFROR19UUkFDRVBPSU5UX0VWRU5UX01BUChocnRpbWVyX3N0YXJ0LAog
Xn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KL21lZGlhL3JlYmVjY2FzL3lvY3RvL21ldGEtaW50
ZWwtZG52L2J1aWxkL3RtcC93b3JrL2ludGVsX2NvcmVpN182NC1wb2t5LWxpbnV4L2x0dG5nLW1v
ZHVsZXMvMi45LjEtcjAvbHR0bmctbW9kdWxlcy0yLjkuMS9wcm9iZXMvLi4vaW5zdHJ1bWVudGF0
aW9uL2V2ZW50cy9sdHRuZy1tb2R1bGUvdGltZXIuaDoxNzE6Mjogbm90ZTogaW4gZXhwYW5zaW9u
IG9mIG1hY3JvICdUUF9GSUVMRFMnCiAgVFBfRklFTERTKAogIF5+fn5+fn5+fgovbWVkaWEvcmVi
ZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1kbnYvYnVpbGQvdG1wL3dvcmsvaW50ZWxfY29yZWk3XzY0
LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9sdHRuZy1tb2R1bGVzLTIuOS4xL3By
b2Jlcy8uLi9wcm9iZXMvbHR0bmctdHJhY2Vwb2ludC1ldmVudC1pbXBsLmg6NjgwOjI6IG5vdGU6
IGluIGV4cGFuc2lvbiBvZiBtYWNybyAnX2N0Zl9pbnRlZ2VyX2V4dF9mZXRjaGVkJwogIF9jdGZf
aW50ZWdlcl9leHRfZmV0Y2hlZChfdHlwZSwgX2l0ZW0sIF9zcmMsIF9ieXRlX29yZGVyLCBfYmFz
ZSwgX25vd3JpdGUpCiAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci9tZWRpYS9yZWJlY2Nhcy95
b2N0by9tZXRhLWludGVsLWRudi9idWlsZC90bXAvd29yay9pbnRlbF9jb3JlaTdfNjQtcG9reS1s
aW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL2x0dG5nLW1vZHVsZXMtMi45LjEvcHJvYmVzLy4u
L3Byb2Jlcy9sdHRuZy10cmFjZXBvaW50LWV2ZW50LWltcGwuaDo2OTc6Mjogbm90ZTogaW4gZXhw
YW5zaW9uIG9mIG1hY3JvICdfY3RmX2ludGVnZXJfZXh0X2lzdXNlcjAnCiAgX2N0Zl9pbnRlZ2Vy
X2V4dF9pc3VzZXIjI191c2VyKF90eXBlLCBfaXRlbSwgX3VzZXJfc3JjLCBfYnl0ZV9vcmRlciwg
X2Jhc2UsIF9ub3dyaXRlKQogIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci9tZWRpYS9yZWJlY2Nh
cy95b2N0by9tZXRhLWludGVsLWRudi9idWlsZC90bXAvd29yay9pbnRlbF9jb3JlaTdfNjQtcG9r
eS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL2x0dG5nLW1vZHVsZXMtMi45LjEvcHJvYmVz
Ly4uL3Byb2Jlcy9sdHRuZy1ldmVudHMtd3JpdGUuaDoyMzoyOiBub3RlOiBpbiBleHBhbnNpb24g
b2YgbWFjcm8gJ19jdGZfaW50ZWdlcl9leHQnCiAgX2N0Zl9pbnRlZ2VyX2V4dChfdHlwZSwgX2l0
ZW0sIF9zcmMsIF9fQllURV9PUkRFUiwgMTAsIDAsIDApCiAgXn5+fn5+fn5+fn5+fn5+fgovbWVk
aWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1kbnYvYnVpbGQvdG1wL3dvcmsvaW50ZWxfY29y
ZWk3XzY0LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9sdHRuZy1tb2R1bGVzLTIu
OS4xL3Byb2Jlcy8uLi9pbnN0cnVtZW50YXRpb24vZXZlbnRzL2x0dG5nLW1vZHVsZS90aW1lci5o
OjE3NDozOiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8gJ2N0Zl9pbnRlZ2VyJwogICBjdGZf
aW50ZWdlcihzNjQsIGV4cGlyZXMsCiAgIF5+fn5+fn5+fn5+Ci9tZWRpYS9yZWJlY2Nhcy95b2N0
by9tZXRhLWludGVsLWRudi9idWlsZC90bXAvd29yay9pbnRlbF9jb3JlaTdfNjQtcG9reS1saW51
eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL2x0dG5nLW1vZHVsZXMtMi45LjEvcHJvYmVzLy4uL2lu
c3RydW1lbnRhdGlvbi9ldmVudHMvbHR0bmctbW9kdWxlL3RpbWVyLmg6MTc1OjQ6IG5vdGU6IGlu
IGV4cGFuc2lvbiBvZiBtYWNybyAnbHR0bmdfa3RpbWVfZ2V0X3R2NjQnCiAgICBsdHRuZ19rdGlt
ZV9nZXRfdHY2NChocnRpbWVyX2dldF9leHBpcmVzKGhydGltZXIpKSkKICAgIF5+fn5+fn5+fn5+
fn5+fn5+fn5+Ci9tZWRpYS9yZWJlY2Nhcy95b2N0by9tZXRhLWludGVsLWRudi9idWlsZC90bXAv
d29yay9pbnRlbF9jb3JlaTdfNjQtcG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL2x0
dG5nLW1vZHVsZXMtMi45LjEvcHJvYmVzLy4uL2luc3RydW1lbnRhdGlvbi9ldmVudHMvbHR0bmct
bW9kdWxlL3RpbWVyLmg6MjI6Mzk6IGVycm9yOiByZXF1ZXN0IGZvciBtZW1iZXIgJ3R2NjQnIGlu
IHNvbWV0aGluZyBub3QgYSBzdHJ1Y3R1cmUgb3IgdW5pb24KICNkZWZpbmUgbHR0bmdfa3RpbWVf
Z2V0X3R2NjQoa3QpICgoa3QpLnR2NjQpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIF4KL21lZGlhL3JlYmVjY2FzL3lvY3RvL21ldGEtaW50ZWwtZG52L2J1aWxkL3RtcC93
b3JrL2ludGVsX2NvcmVpN182NC1wb2t5LWxpbnV4L2x0dG5nLW1vZHVsZXMvMi45LjEtcjAvbHR0
bmctbW9kdWxlcy0yLjkuMS9wcm9iZXMvLi4vcHJvYmVzL2x0dG5nLXRyYWNlcG9pbnQtZXZlbnQt
aW1wbC5oOjc3NDoyOiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvICdMVFROR19UUkFDRVBP
SU5UX0VWRU5UX0NMQVNTX0NPREUnCiAgX2ZpZWxkcyAgICAgICAgICAgICAgXAogIF5+fn5+fn4K
L21lZGlhL3JlYmVjY2FzL3lvY3RvL21ldGEtaW50ZWwtZG52L2J1aWxkL3RtcC93b3JrL2ludGVs
X2NvcmVpN182NC1wb2t5LWxpbnV4L2x0dG5nLW1vZHVsZXMvMi45LjEtcjAvbHR0bmctbW9kdWxl
cy0yLjkuMS9wcm9iZXMvLi4vcHJvYmVzL2x0dG5nLXRyYWNlcG9pbnQtZXZlbnQtaW1wbC5oOjEx
NjozOiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8gJ1BBUkFNUycKICAgUEFSQU1TKF9maWVs
ZHMpLCApCiAgIF5+fn5+fgovbWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1kbnYvYnVp
bGQvdG1wL3dvcmsvaW50ZWxfY29yZWk3XzY0LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjku
MS1yMC9sdHRuZy1tb2R1bGVzLTIuOS4xL3Byb2Jlcy8uLi9wcm9iZXMvbHR0bmctdHJhY2Vwb2lu
dC1ldmVudC1pbXBsLmg6NTA6Mjogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvICdMVFROR19U
UkFDRVBPSU5UX0VWRU5UX0NMQVNTJwogIExUVE5HX1RSQUNFUE9JTlRfRVZFTlRfQ0xBU1MobWFw
LCAgICBcCiAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgovbWVkaWEvcmViZWNjYXMveW9j
dG8vbWV0YS1pbnRlbC1kbnYvYnVpbGQvdG1wL3dvcmsvaW50ZWxfY29yZWk3XzY0LXBva3ktbGlu
dXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9sdHRuZy1tb2R1bGVzLTIuOS4xL3Byb2Jlcy8uLi9w
cm9iZXMvbHR0bmctdHJhY2Vwb2ludC1ldmVudC1pbXBsLmg6NTM6OTogbm90ZTogaW4gZXhwYW5z
aW9uIG9mIG1hY3JvICdQQVJBTVMnCiAgICAgICAgIFBBUkFNUyhmaWVsZHMpKSAgICBcCiAgICAg
ICAgIF5+fn5+fgovbWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1kbnYvYnVpbGQvdG1w
L3dvcmsvaW50ZWxfY29yZWk3XzY0LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9s
dHRuZy1tb2R1bGVzLTIuOS4xL3Byb2Jlcy8uLi9pbnN0cnVtZW50YXRpb24vZXZlbnRzL2x0dG5n
LW1vZHVsZS90aW1lci5oOjE2MzoxOiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8gJ0xUVE5H
X1RSQUNFUE9JTlRfRVZFTlRfTUFQJwogTFRUTkdfVFJBQ0VQT0lOVF9FVkVOVF9NQVAoaHJ0aW1l
cl9zdGFydCwKIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci9tZWRpYS9yZWJlY2Nhcy95b2N0
by9tZXRhLWludGVsLWRudi9idWlsZC90bXAvd29yay9pbnRlbF9jb3JlaTdfNjQtcG9reS1saW51
eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL2x0dG5nLW1vZHVsZXMtMi45LjEvcHJvYmVzLy4uL2lu
c3RydW1lbnRhdGlvbi9ldmVudHMvbHR0bmctbW9kdWxlL3RpbWVyLmg6MTcxOjI6IG5vdGU6IGlu
IGV4cGFuc2lvbiBvZiBtYWNybyAnVFBfRklFTERTJwogIFRQX0ZJRUxEUygKICBefn5+fn5+fn4K
L21lZGlhL3JlYmVjY2FzL3lvY3RvL21ldGEtaW50ZWwtZG52L2J1aWxkL3RtcC93b3JrL2ludGVs
X2NvcmVpN182NC1wb2t5LWxpbnV4L2x0dG5nLW1vZHVsZXMvMi45LjEtcjAvbHR0bmctbW9kdWxl
cy0yLjkuMS9wcm9iZXMvLi4vcHJvYmVzL2x0dG5nLXRyYWNlcG9pbnQtZXZlbnQtaW1wbC5oOjY4
MDoyOiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8gJ19jdGZfaW50ZWdlcl9leHRfZmV0Y2hl
ZCcKICBfY3RmX2ludGVnZXJfZXh0X2ZldGNoZWQoX3R5cGUsIF9pdGVtLCBfc3JjLCBfYnl0ZV9v
cmRlciwgX2Jhc2UsIF9ub3dyaXRlKQogIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgovbWVkaWEv
cmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1kbnYvYnVpbGQvdG1wL3dvcmsvaW50ZWxfY29yZWk3
XzY0LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9sdHRuZy1tb2R1bGVzLTIuOS4x
L3Byb2Jlcy8uLi9wcm9iZXMvbHR0bmctdHJhY2Vwb2ludC1ldmVudC1pbXBsLmg6Njk3OjI6IG5v
dGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyAnX2N0Zl9pbnRlZ2VyX2V4dF9pc3VzZXIwJwogIF9j
dGZfaW50ZWdlcl9leHRfaXN1c2VyIyNfdXNlcihfdHlwZSwgX2l0ZW0sIF91c2VyX3NyYywgX2J5
dGVfb3JkZXIsIF9iYXNlLCBfbm93cml0ZSkKICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fgovbWVk
aWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1kbnYvYnVpbGQvdG1wL3dvcmsvaW50ZWxfY29y
ZWk3XzY0LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9sdHRuZy1tb2R1bGVzLTIu
OS4xL3Byb2Jlcy8uLi9wcm9iZXMvbHR0bmctZXZlbnRzLXdyaXRlLmg6MjM6Mjogbm90ZTogaW4g
ZXhwYW5zaW9uIG9mIG1hY3JvICdfY3RmX2ludGVnZXJfZXh0JwogIF9jdGZfaW50ZWdlcl9leHQo
X3R5cGUsIF9pdGVtLCBfc3JjLCBfX0JZVEVfT1JERVIsIDEwLCAwLCAwKQogIF5+fn5+fn5+fn5+
fn5+fn4KL21lZGlhL3JlYmVjY2FzL3lvY3RvL21ldGEtaW50ZWwtZG52L2J1aWxkL3RtcC93b3Jr
L2ludGVsX2NvcmVpN182NC1wb2t5LWxpbnV4L2x0dG5nLW1vZHVsZXMvMi45LjEtcjAvbHR0bmct
bW9kdWxlcy0yLjkuMS9wcm9iZXMvLi4vaW5zdHJ1bWVudGF0aW9uL2V2ZW50cy9sdHRuZy1tb2R1
bGUvdGltZXIuaDoxNzQ6Mzogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvICdjdGZfaW50ZWdl
cicKICAgY3RmX2ludGVnZXIoczY0LCBleHBpcmVzLAogICBefn5+fn5+fn5+fgovbWVkaWEvcmVi
ZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1kbnYvYnVpbGQvdG1wL3dvcmsvaW50ZWxfY29yZWk3XzY0
LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9sdHRuZy1tb2R1bGVzLTIuOS4xL3By
b2Jlcy8uLi9pbnN0cnVtZW50YXRpb24vZXZlbnRzL2x0dG5nLW1vZHVsZS90aW1lci5oOjE3NTo0
OiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8gJ2x0dG5nX2t0aW1lX2dldF90djY0JwogICAg
bHR0bmdfa3RpbWVfZ2V0X3R2NjQoaHJ0aW1lcl9nZXRfZXhwaXJlcyhocnRpbWVyKSkpCiAgICBe
fn5+fn5+fn5+fn5+fn5+fn5+fgovbWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1kbnYv
YnVpbGQvdG1wL3dvcmsvaW50ZWxfY29yZWk3XzY0LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8y
LjkuMS1yMC9sdHRuZy1tb2R1bGVzLTIuOS4xL3Byb2Jlcy8uLi9pbnN0cnVtZW50YXRpb24vZXZl
bnRzL2x0dG5nLW1vZHVsZS90aW1lci5oOjIyOjM5OiBlcnJvcjogcmVxdWVzdCBmb3IgbWVtYmVy
ICd0djY0JyBpbiBzb21ldGhpbmcgbm90IGEgc3RydWN0dXJlIG9yIHVuaW9uCiAjZGVmaW5lIGx0
dG5nX2t0aW1lX2dldF90djY0KGt0KSAoKGt0KS50djY0KQogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBeCi9tZWRpYS9yZWJlY2Nhcy95b2N0by9tZXRhLWludGVsLWRudi9i
dWlsZC90bXAvd29yay9pbnRlbF9jb3JlaTdfNjQtcG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIu
OS4xLXIwL2x0dG5nLW1vZHVsZXMtMi45LjEvcHJvYmVzLy4uL3Byb2Jlcy9sdHRuZy10cmFjZXBv
aW50LWV2ZW50LWltcGwuaDo3NzQ6Mjogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyAnTFRU
TkdfVFJBQ0VQT0lOVF9FVkVOVF9DTEFTU19DT0RFJwogIF9maWVsZHMgICAgICAgICAgICAgIFwK
ICBefn5+fn5+Ci9tZWRpYS9yZWJlY2Nhcy95b2N0by9tZXRhLWludGVsLWRudi9idWlsZC90bXAv
d29yay9pbnRlbF9jb3JlaTdfNjQtcG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL2x0
dG5nLW1vZHVsZXMtMi45LjEvcHJvYmVzLy4uL3Byb2Jlcy9sdHRuZy10cmFjZXBvaW50LWV2ZW50
LWltcGwuaDoxMTY6Mzogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvICdQQVJBTVMnCiAgIFBB
UkFNUyhfZmllbGRzKSwgKQogICBefn5+fn4KL21lZGlhL3JlYmVjY2FzL3lvY3RvL21ldGEtaW50
ZWwtZG52L2J1aWxkL3RtcC93b3JrL2ludGVsX2NvcmVpN182NC1wb2t5LWxpbnV4L2x0dG5nLW1v
ZHVsZXMvMi45LjEtcjAvbHR0bmctbW9kdWxlcy0yLjkuMS9wcm9iZXMvLi4vcHJvYmVzL2x0dG5n
LXRyYWNlcG9pbnQtZXZlbnQtaW1wbC5oOjUwOjI6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNy
byAnTFRUTkdfVFJBQ0VQT0lOVF9FVkVOVF9DTEFTUycKICBMVFROR19UUkFDRVBPSU5UX0VWRU5U
X0NMQVNTKG1hcCwgICAgXAogIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KL21lZGlhL3Jl
YmVjY2FzL3lvY3RvL21ldGEtaW50ZWwtZG52L2J1aWxkL3RtcC93b3JrL2ludGVsX2NvcmVpN182
NC1wb2t5LWxpbnV4L2x0dG5nLW1vZHVsZXMvMi45LjEtcjAvbHR0bmctbW9kdWxlcy0yLjkuMS9w
cm9iZXMvLi4vcHJvYmVzL2x0dG5nLXRyYWNlcG9pbnQtZXZlbnQtaW1wbC5oOjUzOjk6IG5vdGU6
IGluIGV4cGFuc2lvbiBvZiBtYWNybyAnUEFSQU1TJwogICAgICAgICBQQVJBTVMoZmllbGRzKSkg
ICAgXAogICAgICAgICBefn5+fn4KL21lZGlhL3JlYmVjY2FzL3lvY3RvL21ldGEtaW50ZWwtZG52
L2J1aWxkL3RtcC93b3JrL2ludGVsX2NvcmVpN182NC1wb2t5LWxpbnV4L2x0dG5nLW1vZHVsZXMv
Mi45LjEtcjAvbHR0bmctbW9kdWxlcy0yLjkuMS9wcm9iZXMvLi4vaW5zdHJ1bWVudGF0aW9uL2V2
ZW50cy9sdHRuZy1tb2R1bGUvdGltZXIuaDoxNjM6MTogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1h
Y3JvICdMVFROR19UUkFDRVBPSU5UX0VWRU5UX01BUCcKIExUVE5HX1RSQUNFUE9JTlRfRVZFTlRf
TUFQKGhydGltZXJfc3RhcnQsCiBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgovbWVkaWEvcmVi
ZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1kbnYvYnVpbGQvdG1wL3dvcmsvaW50ZWxfY29yZWk3XzY0
LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9sdHRuZy1tb2R1bGVzLTIuOS4xL3By
b2Jlcy8uLi9pbnN0cnVtZW50YXRpb24vZXZlbnRzL2x0dG5nLW1vZHVsZS90aW1lci5oOjE3MToy
OiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8gJ1RQX0ZJRUxEUycKICBUUF9GSUVMRFMoCiAg
Xn5+fn5+fn5+Ci9tZWRpYS9yZWJlY2Nhcy95b2N0by9tZXRhLWludGVsLWRudi9idWlsZC90bXAv
d29yay9pbnRlbF9jb3JlaTdfNjQtcG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL2x0
dG5nLW1vZHVsZXMtMi45LjEvcHJvYmVzLy4uL3Byb2Jlcy9sdHRuZy10cmFjZXBvaW50LWV2ZW50
LWltcGwuaDo2ODA6Mjogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvICdfY3RmX2ludGVnZXJf
ZXh0X2ZldGNoZWQnCiAgX2N0Zl9pbnRlZ2VyX2V4dF9mZXRjaGVkKF90eXBlLCBfaXRlbSwgX3Ny
YywgX2J5dGVfb3JkZXIsIF9iYXNlLCBfbm93cml0ZSkKICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+
fn4KL21lZGlhL3JlYmVjY2FzL3lvY3RvL21ldGEtaW50ZWwtZG52L2J1aWxkL3RtcC93b3JrL2lu
dGVsX2NvcmVpN182NC1wb2t5LWxpbnV4L2x0dG5nLW1vZHVsZXMvMi45LjEtcjAvbHR0bmctbW9k
dWxlcy0yLjkuMS9wcm9iZXMvLi4vcHJvYmVzL2x0dG5nLXRyYWNlcG9pbnQtZXZlbnQtaW1wbC5o
OjY5NzoyOiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8gJ19jdGZfaW50ZWdlcl9leHRfaXN1
c2VyMCcKICBfY3RmX2ludGVnZXJfZXh0X2lzdXNlciMjX3VzZXIoX3R5cGUsIF9pdGVtLCBfdXNl
cl9zcmMsIF9ieXRlX29yZGVyLCBfYmFzZSwgX25vd3JpdGUpCiAgXn5+fn5+fn5+fn5+fn5+fn5+
fn5+fn4KL21lZGlhL3JlYmVjY2FzL3lvY3RvL21ldGEtaW50ZWwtZG52L2J1aWxkL3RtcC93b3Jr
L2ludGVsX2NvcmVpN182NC1wb2t5LWxpbnV4L2x0dG5nLW1vZHVsZXMvMi45LjEtcjAvbHR0bmct
bW9kdWxlcy0yLjkuMS9wcm9iZXMvLi4vcHJvYmVzL2x0dG5nLWV2ZW50cy13cml0ZS5oOjIzOjI6
IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyAnX2N0Zl9pbnRlZ2VyX2V4dCcKICBfY3RmX2lu
dGVnZXJfZXh0KF90eXBlLCBfaXRlbSwgX3NyYywgX19CWVRFX09SREVSLCAxMCwgMCwgMCkKICBe
fn5+fn5+fn5+fn5+fn5+Ci9tZWRpYS9yZWJlY2Nhcy95b2N0by9tZXRhLWludGVsLWRudi9idWls
ZC90bXAvd29yay9pbnRlbF9jb3JlaTdfNjQtcG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4x
LXIwL2x0dG5nLW1vZHVsZXMtMi45LjEvcHJvYmVzLy4uL2luc3RydW1lbnRhdGlvbi9ldmVudHMv
bHR0bmctbW9kdWxlL3RpbWVyLmg6MTc0OjM6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyAn
Y3RmX2ludGVnZXInCiAgIGN0Zl9pbnRlZ2VyKHM2NCwgZXhwaXJlcywKICAgXn5+fn5+fn5+fn4K
L21lZGlhL3JlYmVjY2FzL3lvY3RvL21ldGEtaW50ZWwtZG52L2J1aWxkL3RtcC93b3JrL2ludGVs
X2NvcmVpN182NC1wb2t5LWxpbnV4L2x0dG5nLW1vZHVsZXMvMi45LjEtcjAvbHR0bmctbW9kdWxl
cy0yLjkuMS9wcm9iZXMvLi4vaW5zdHJ1bWVudGF0aW9uL2V2ZW50cy9sdHRuZy1tb2R1bGUvdGlt
ZXIuaDoxNzU6NDogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvICdsdHRuZ19rdGltZV9nZXRf
dHY2NCcKICAgIGx0dG5nX2t0aW1lX2dldF90djY0KGhydGltZXJfZ2V0X2V4cGlyZXMoaHJ0aW1l
cikpKQogICAgXn5+fn5+fn5+fn5+fn5+fn5+fn4KL21lZGlhL3JlYmVjY2FzL3lvY3RvL21ldGEt
aW50ZWwtZG52L2J1aWxkL3RtcC93b3JrL2ludGVsX2NvcmVpN182NC1wb2t5LWxpbnV4L2x0dG5n
LW1vZHVsZXMvMi45LjEtcjAvbHR0bmctbW9kdWxlcy0yLjkuMS9wcm9iZXMvLi4vaW5zdHJ1bWVu
dGF0aW9uL2V2ZW50cy9sdHRuZy1tb2R1bGUvdGltZXIuaDoyMjozOTogZXJyb3I6IHJlcXVlc3Qg
Zm9yIG1lbWJlciAndHY2NCcgaW4gc29tZXRoaW5nIG5vdCBhIHN0cnVjdHVyZSBvciB1bmlvbgog
I2RlZmluZSBsdHRuZ19rdGltZV9nZXRfdHY2NChrdCkgKChrdCkudHY2NCkKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovbWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1p
bnRlbC1kbnYvYnVpbGQvdG1wL3dvcmsvaW50ZWxfY29yZWk3XzY0LXBva3ktbGludXgvbHR0bmct
bW9kdWxlcy8yLjkuMS1yMC9sdHRuZy1tb2R1bGVzLTIuOS4xL3Byb2Jlcy8uLi9wcm9iZXMvbHR0
bmctdHJhY2Vwb2ludC1ldmVudC1pbXBsLmg6Nzc0OjI6IG5vdGU6IGluIGRlZmluaXRpb24gb2Yg
bWFjcm8gJ0xUVE5HX1RSQUNFUE9JTlRfRVZFTlRfQ0xBU1NfQ09ERScKICBfZmllbGRzICAgICAg
ICAgICAgICBcCiAgXn5+fn5+fgovbWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1kbnYv
YnVpbGQvdG1wL3dvcmsvaW50ZWxfY29yZWk3XzY0LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8y
LjkuMS1yMC9sdHRuZy1tb2R1bGVzLTIuOS4xL3Byb2Jlcy8uLi9wcm9iZXMvbHR0bmctdHJhY2Vw
b2ludC1ldmVudC1pbXBsLmg6MTE2OjM6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyAnUEFS
QU1TJwogICBQQVJBTVMoX2ZpZWxkcyksICkKICAgXn5+fn5+Ci9tZWRpYS9yZWJlY2Nhcy95b2N0
by9tZXRhLWludGVsLWRudi9idWlsZC90bXAvd29yay9pbnRlbF9jb3JlaTdfNjQtcG9reS1saW51
eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL2x0dG5nLW1vZHVsZXMtMi45LjEvcHJvYmVzLy4uL3By
b2Jlcy9sdHRuZy10cmFjZXBvaW50LWV2ZW50LWltcGwuaDo1MDoyOiBub3RlOiBpbiBleHBhbnNp
b24gb2YgbWFjcm8gJ0xUVE5HX1RSQUNFUE9JTlRfRVZFTlRfQ0xBU1MnCiAgTFRUTkdfVFJBQ0VQ
T0lOVF9FVkVOVF9DTEFTUyhtYXAsICAgIFwKICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+
Ci9tZWRpYS9yZWJlY2Nhcy95b2N0by9tZXRhLWludGVsLWRudi9idWlsZC90bXAvd29yay9pbnRl
bF9jb3JlaTdfNjQtcG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL2x0dG5nLW1vZHVs
ZXMtMi45LjEvcHJvYmVzLy4uL3Byb2Jlcy9sdHRuZy10cmFjZXBvaW50LWV2ZW50LWltcGwuaDo1
Mzo5OiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8gJ1BBUkFNUycKICAgICAgICAgUEFSQU1T
KGZpZWxkcykpICAgIFwKICAgICAgICAgXn5+fn5+Ci9tZWRpYS9yZWJlY2Nhcy95b2N0by9tZXRh
LWludGVsLWRudi9idWlsZC90bXAvd29yay9pbnRlbF9jb3JlaTdfNjQtcG9reS1saW51eC9sdHRu
Zy1tb2R1bGVzLzIuOS4xLXIwL2x0dG5nLW1vZHVsZXMtMi45LjEvcHJvYmVzLy4uL2luc3RydW1l
bnRhdGlvbi9ldmVudHMvbHR0bmctbW9kdWxlL3RpbWVyLmg6MTYzOjE6IG5vdGU6IGluIGV4cGFu
c2lvbiBvZiBtYWNybyAnTFRUTkdfVFJBQ0VQT0lOVF9FVkVOVF9NQVAnCiBMVFROR19UUkFDRVBP
SU5UX0VWRU5UX01BUChocnRpbWVyX3N0YXJ0LAogXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4K
L21lZGlhL3JlYmVjY2FzL3lvY3RvL21ldGEtaW50ZWwtZG52L2J1aWxkL3RtcC93b3JrL2ludGVs
X2NvcmVpN182NC1wb2t5LWxpbnV4L2x0dG5nLW1vZHVsZXMvMi45LjEtcjAvbHR0bmctbW9kdWxl
cy0yLjkuMS9wcm9iZXMvLi4vaW5zdHJ1bWVudGF0aW9uL2V2ZW50cy9sdHRuZy1tb2R1bGUvdGlt
ZXIuaDoxNzE6Mjogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvICdUUF9GSUVMRFMnCiAgVFBf
RklFTERTKAogIF5+fn5+fn5+fgovbWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1kbnYv
YnVpbGQvdG1wL3dvcmsvaW50ZWxfY29yZWk3XzY0LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8y
LjkuMS1yMC9sdHRuZy1tb2R1bGVzLTIuOS4xL3Byb2Jlcy8uLi9wcm9iZXMvbHR0bmctdHJhY2Vw
b2ludC1ldmVudC1pbXBsLmg6NjgwOjI6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyAnX2N0
Zl9pbnRlZ2VyX2V4dF9mZXRjaGVkJwogIF9jdGZfaW50ZWdlcl9leHRfZmV0Y2hlZChfdHlwZSwg
X2l0ZW0sIF9zcmMsIF9ieXRlX29yZGVyLCBfYmFzZSwgX25vd3JpdGUpCiAgXn5+fn5+fn5+fn5+
fn5+fn5+fn5+fn5+Ci9tZWRpYS9yZWJlY2Nhcy95b2N0by9tZXRhLWludGVsLWRudi9idWlsZC90
bXAvd29yay9pbnRlbF9jb3JlaTdfNjQtcG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIw
L2x0dG5nLW1vZHVsZXMtMi45LjEvcHJvYmVzLy4uL3Byb2Jlcy9sdHRuZy10cmFjZXBvaW50LWV2
ZW50LWltcGwuaDo2OTc6Mjogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvICdfY3RmX2ludGVn
ZXJfZXh0X2lzdXNlcjAnCiAgX2N0Zl9pbnRlZ2VyX2V4dF9pc3VzZXIjI191c2VyKF90eXBlLCBf
aXRlbSwgX3VzZXJfc3JjLCBfYnl0ZV9vcmRlciwgX2Jhc2UsIF9ub3dyaXRlKQogIF5+fn5+fn5+
fn5+fn5+fn5+fn5+fn5+Ci9tZWRpYS9yZWJlY2Nhcy95b2N0by9tZXRhLWludGVsLWRudi9idWls
ZC90bXAvd29yay9pbnRlbF9jb3JlaTdfNjQtcG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4x
LXIwL2x0dG5nLW1vZHVsZXMtMi45LjEvcHJvYmVzLy4uL3Byb2Jlcy9sdHRuZy1ldmVudHMtd3Jp
dGUuaDoyMzoyOiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8gJ19jdGZfaW50ZWdlcl9leHQn
CiAgX2N0Zl9pbnRlZ2VyX2V4dChfdHlwZSwgX2l0ZW0sIF9zcmMsIF9fQllURV9PUkRFUiwgMTAs
IDAsIDApCiAgXn5+fn5+fn5+fn5+fn5+fgovbWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRl
bC1kbnYvYnVpbGQvdG1wL3dvcmsvaW50ZWxfY29yZWk3XzY0LXBva3ktbGludXgvbHR0bmctbW9k
dWxlcy8yLjkuMS1yMC9sdHRuZy1tb2R1bGVzLTIuOS4xL3Byb2Jlcy8uLi9pbnN0cnVtZW50YXRp
b24vZXZlbnRzL2x0dG5nLW1vZHVsZS90aW1lci5oOjE3NDozOiBub3RlOiBpbiBleHBhbnNpb24g
b2YgbWFjcm8gJ2N0Zl9pbnRlZ2VyJwogICBjdGZfaW50ZWdlcihzNjQsIGV4cGlyZXMsCiAgIF5+
fn5+fn5+fn5+Ci9tZWRpYS9yZWJlY2Nhcy95b2N0by9tZXRhLWludGVsLWRudi9idWlsZC90bXAv
d29yay9pbnRlbF9jb3JlaTdfNjQtcG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL2x0
dG5nLW1vZHVsZXMtMi45LjEvcHJvYmVzLy4uL2luc3RydW1lbnRhdGlvbi9ldmVudHMvbHR0bmct
bW9kdWxlL3RpbWVyLmg6MTc1OjQ6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyAnbHR0bmdf
a3RpbWVfZ2V0X3R2NjQnCiAgICBsdHRuZ19rdGltZV9nZXRfdHY2NChocnRpbWVyX2dldF9leHBp
cmVzKGhydGltZXIpKSkKICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+Ci9tZWRpYS9yZWJlY2Nhcy95
b2N0by9tZXRhLWludGVsLWRudi9idWlsZC90bXAvd29yay9pbnRlbF9jb3JlaTdfNjQtcG9reS1s
aW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL2x0dG5nLW1vZHVsZXMtMi45LjEvcHJvYmVzLy4u
L2luc3RydW1lbnRhdGlvbi9ldmVudHMvbHR0bmctbW9kdWxlL3RpbWVyLmg6MjI6Mzk6IGVycm9y
OiByZXF1ZXN0IGZvciBtZW1iZXIgJ3R2NjQnIGluIHNvbWV0aGluZyBub3QgYSBzdHJ1Y3R1cmUg
b3IgdW5pb24KICNkZWZpbmUgbHR0bmdfa3RpbWVfZ2V0X3R2NjQoa3QpICgoa3QpLnR2NjQpCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL21lZGlhL3JlYmVjY2FzL3lv
Y3RvL21ldGEtaW50ZWwtZG52L2J1aWxkL3RtcC93b3JrL2ludGVsX2NvcmVpN182NC1wb2t5LWxp
bnV4L2x0dG5nLW1vZHVsZXMvMi45LjEtcjAvbHR0bmctbW9kdWxlcy0yLjkuMS9wcm9iZXMvLi4v
cHJvYmVzL2x0dG5nLXRyYWNlcG9pbnQtZXZlbnQtaW1wbC5oOjc3NDoyOiBub3RlOiBpbiBkZWZp
bml0aW9uIG9mIG1hY3JvICdMVFROR19UUkFDRVBPSU5UX0VWRU5UX0NMQVNTX0NPREUnCiAgX2Zp
ZWxkcyAgICAgICAgICAgICAgXAogIF5+fn5+fn4KL21lZGlhL3JlYmVjY2FzL3lvY3RvL21ldGEt
aW50ZWwtZG52L2J1aWxkL3RtcC93b3JrL2ludGVsX2NvcmVpN182NC1wb2t5LWxpbnV4L2x0dG5n
LW1vZHVsZXMvMi45LjEtcjAvbHR0bmctbW9kdWxlcy0yLjkuMS9wcm9iZXMvLi4vcHJvYmVzL2x0
dG5nLXRyYWNlcG9pbnQtZXZlbnQtaW1wbC5oOjExNjozOiBub3RlOiBpbiBleHBhbnNpb24gb2Yg
bWFjcm8gJ1BBUkFNUycKICAgUEFSQU1TKF9maWVsZHMpLCApCiAgIF5+fn5+fgovbWVkaWEvcmVi
ZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1kbnYvYnVpbGQvdG1wL3dvcmsvaW50ZWxfY29yZWk3XzY0
LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9sdHRuZy1tb2R1bGVzLTIuOS4xL3By
b2Jlcy8uLi9wcm9iZXMvbHR0bmctdHJhY2Vwb2ludC1ldmVudC1pbXBsLmg6NTA6Mjogbm90ZTog
aW4gZXhwYW5zaW9uIG9mIG1hY3JvICdMVFROR19UUkFDRVBPSU5UX0VWRU5UX0NMQVNTJwogIExU
VE5HX1RSQUNFUE9JTlRfRVZFTlRfQ0xBU1MobWFwLCAgICBcCiAgXn5+fn5+fn5+fn5+fn5+fn5+
fn5+fn5+fn5+fgovbWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1kbnYvYnVpbGQvdG1w
L3dvcmsvaW50ZWxfY29yZWk3XzY0LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9s
dHRuZy1tb2R1bGVzLTIuOS4xL3Byb2Jlcy8uLi9wcm9iZXMvbHR0bmctdHJhY2Vwb2ludC1ldmVu
dC1pbXBsLmg6NTM6OTogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvICdQQVJBTVMnCiAgICAg
ICAgIFBBUkFNUyhmaWVsZHMpKSAgICBcCiAgICAgICAgIF5+fn5+fgovbWVkaWEvcmViZWNjYXMv
eW9jdG8vbWV0YS1pbnRlbC1kbnYvYnVpbGQvdG1wL3dvcmsvaW50ZWxfY29yZWk3XzY0LXBva3kt
bGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9sdHRuZy1tb2R1bGVzLTIuOS4xL3Byb2Jlcy8u
Li9pbnN0cnVtZW50YXRpb24vZXZlbnRzL2x0dG5nLW1vZHVsZS90aW1lci5oOjE2MzoxOiBub3Rl
OiBpbiBleHBhbnNpb24gb2YgbWFjcm8gJ0xUVE5HX1RSQUNFUE9JTlRfRVZFTlRfTUFQJwogTFRU
TkdfVFJBQ0VQT0lOVF9FVkVOVF9NQVAoaHJ0aW1lcl9zdGFydCwKIF5+fn5+fn5+fn5+fn5+fn5+
fn5+fn5+fn5+Ci9tZWRpYS9yZWJlY2Nhcy95b2N0by9tZXRhLWludGVsLWRudi9idWlsZC90bXAv
d29yay9pbnRlbF9jb3JlaTdfNjQtcG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL2x0
dG5nLW1vZHVsZXMtMi45LjEvcHJvYmVzLy4uL2luc3RydW1lbnRhdGlvbi9ldmVudHMvbHR0bmct
bW9kdWxlL3RpbWVyLmg6MTcxOjI6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyAnVFBfRklF
TERTJwogIFRQX0ZJRUxEUygKICBefn5+fn5+fn4KL21lZGlhL3JlYmVjY2FzL3lvY3RvL21ldGEt
aW50ZWwtZG52L2J1aWxkL3RtcC93b3JrL2ludGVsX2NvcmVpN182NC1wb2t5LWxpbnV4L2x0dG5n
LW1vZHVsZXMvMi45LjEtcjAvbHR0bmctbW9kdWxlcy0yLjkuMS9wcm9iZXMvLi4vcHJvYmVzL2x0
dG5nLXRyYWNlcG9pbnQtZXZlbnQtaW1wbC5oOjY4MDoyOiBub3RlOiBpbiBleHBhbnNpb24gb2Yg
bWFjcm8gJ19jdGZfaW50ZWdlcl9leHRfZmV0Y2hlZCcKICBfY3RmX2ludGVnZXJfZXh0X2ZldGNo
ZWQoX3R5cGUsIF9pdGVtLCBfc3JjLCBfYnl0ZV9vcmRlciwgX2Jhc2UsIF9ub3dyaXRlKQogIF5+
fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgovbWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1k
bnYvYnVpbGQvdG1wL3dvcmsvaW50ZWxfY29yZWk3XzY0LXBva3ktbGludXgvbHR0bmctbW9kdWxl
cy8yLjkuMS1yMC9sdHRuZy1tb2R1bGVzLTIuOS4xL3Byb2Jlcy8uLi9wcm9iZXMvbHR0bmctdHJh
Y2Vwb2ludC1ldmVudC1pbXBsLmg6Njk3OjI6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyAn
X2N0Zl9pbnRlZ2VyX2V4dF9pc3VzZXIwJwogIF9jdGZfaW50ZWdlcl9leHRfaXN1c2VyIyNfdXNl
cihfdHlwZSwgX2l0ZW0sIF91c2VyX3NyYywgX2J5dGVfb3JkZXIsIF9iYXNlLCBfbm93cml0ZSkK
ICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fgovbWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRl
bC1kbnYvYnVpbGQvdG1wL3dvcmsvaW50ZWxfY29yZWk3XzY0LXBva3ktbGludXgvbHR0bmctbW9k
dWxlcy8yLjkuMS1yMC9sdHRuZy1tb2R1bGVzLTIuOS4xL3Byb2Jlcy8uLi9wcm9iZXMvbHR0bmct
ZXZlbnRzLXdyaXRlLmg6MjM6Mjogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvICdfY3RmX2lu
dGVnZXJfZXh0JwogIF9jdGZfaW50ZWdlcl9leHQoX3R5cGUsIF9pdGVtLCBfc3JjLCBfX0JZVEVf
T1JERVIsIDEwLCAwLCAwKQogIF5+fn5+fn5+fn5+fn5+fn4KL21lZGlhL3JlYmVjY2FzL3lvY3Rv
L21ldGEtaW50ZWwtZG52L2J1aWxkL3RtcC93b3JrL2ludGVsX2NvcmVpN182NC1wb2t5LWxpbnV4
L2x0dG5nLW1vZHVsZXMvMi45LjEtcjAvbHR0bmctbW9kdWxlcy0yLjkuMS9wcm9iZXMvLi4vaW5z
dHJ1bWVudGF0aW9uL2V2ZW50cy9sdHRuZy1tb2R1bGUvdGltZXIuaDoxNzQ6Mzogbm90ZTogaW4g
ZXhwYW5zaW9uIG9mIG1hY3JvICdjdGZfaW50ZWdlcicKICAgY3RmX2ludGVnZXIoczY0LCBleHBp
cmVzLAogICBefn5+fn5+fn5+fgovbWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1kbnYv
YnVpbGQvdG1wL3dvcmsvaW50ZWxfY29yZWk3XzY0LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8y
LjkuMS1yMC9sdHRuZy1tb2R1bGVzLTIuOS4xL3Byb2Jlcy8uLi9pbnN0cnVtZW50YXRpb24vZXZl
bnRzL2x0dG5nLW1vZHVsZS90aW1lci5oOjE3NTo0OiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFj
cm8gJ2x0dG5nX2t0aW1lX2dldF90djY0JwogICAgbHR0bmdfa3RpbWVfZ2V0X3R2NjQoaHJ0aW1l
cl9nZXRfZXhwaXJlcyhocnRpbWVyKSkpCiAgICBefn5+fn5+fn5+fn5+fn5+fn5+fgovbWVkaWEv
cmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1kbnYvYnVpbGQvdG1wL3dvcmsvaW50ZWxfY29yZWk3
XzY0LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9sdHRuZy1tb2R1bGVzLTIuOS4x
L3Byb2Jlcy8uLi9pbnN0cnVtZW50YXRpb24vZXZlbnRzL2x0dG5nLW1vZHVsZS90aW1lci5oOjIy
OjM5OiBlcnJvcjogcmVxdWVzdCBmb3IgbWVtYmVyICd0djY0JyBpbiBzb21ldGhpbmcgbm90IGEg
c3RydWN0dXJlIG9yIHVuaW9uCiAjZGVmaW5lIGx0dG5nX2t0aW1lX2dldF90djY0KGt0KSAoKGt0
KS50djY0KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9tZWRpYS9y
ZWJlY2Nhcy95b2N0by9tZXRhLWludGVsLWRudi9idWlsZC90bXAvd29yay9pbnRlbF9jb3JlaTdf
NjQtcG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL2x0dG5nLW1vZHVsZXMtMi45LjEv
cHJvYmVzLy4uL3Byb2Jlcy9sdHRuZy10cmFjZXBvaW50LWV2ZW50LWltcGwuaDo3NzQ6Mjogbm90
ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyAnTFRUTkdfVFJBQ0VQT0lOVF9FVkVOVF9DTEFTU19D
T0RFJwogIF9maWVsZHMgICAgICAgICAgICAgIFwKICBefn5+fn5+Ci9tZWRpYS9yZWJlY2Nhcy95
b2N0by9tZXRhLWludGVsLWRudi9idWlsZC90bXAvd29yay9pbnRlbF9jb3JlaTdfNjQtcG9reS1s
aW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL2x0dG5nLW1vZHVsZXMtMi45LjEvcHJvYmVzLy4u
L3Byb2Jlcy9sdHRuZy10cmFjZXBvaW50LWV2ZW50LWltcGwuaDoxMTY6Mzogbm90ZTogaW4gZXhw
YW5zaW9uIG9mIG1hY3JvICdQQVJBTVMnCiAgIFBBUkFNUyhfZmllbGRzKSwgKQogICBefn5+fn4K
L21lZGlhL3JlYmVjY2FzL3lvY3RvL21ldGEtaW50ZWwtZG52L2J1aWxkL3RtcC93b3JrL2ludGVs
X2NvcmVpN182NC1wb2t5LWxpbnV4L2x0dG5nLW1vZHVsZXMvMi45LjEtcjAvbHR0bmctbW9kdWxl
cy0yLjkuMS9wcm9iZXMvLi4vcHJvYmVzL2x0dG5nLXRyYWNlcG9pbnQtZXZlbnQtaW1wbC5oOjUw
OjI6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyAnTFRUTkdfVFJBQ0VQT0lOVF9FVkVOVF9D
TEFTUycKICBMVFROR19UUkFDRVBPSU5UX0VWRU5UX0NMQVNTKG1hcCwgICAgXAogIF5+fn5+fn5+
fn5+fn5+fn5+fn5+fn5+fn5+fn4KL21lZGlhL3JlYmVjY2FzL3lvY3RvL21ldGEtaW50ZWwtZG52
L2J1aWxkL3RtcC93b3JrL2ludGVsX2NvcmVpN182NC1wb2t5LWxpbnV4L2x0dG5nLW1vZHVsZXMv
Mi45LjEtcjAvbHR0bmctbW9kdWxlcy0yLjkuMS9wcm9iZXMvLi4vcHJvYmVzL2x0dG5nLXRyYWNl
cG9pbnQtZXZlbnQtaW1wbC5oOjUzOjk6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyAnUEFS
QU1TJwogICAgICAgICBQQVJBTVMoZmllbGRzKSkgICAgXAogICAgICAgICBefn5+fn4KL21lZGlh
L3JlYmVjY2FzL3lvY3RvL21ldGEtaW50ZWwtZG52L2J1aWxkL3RtcC93b3JrL2ludGVsX2NvcmVp
N182NC1wb2t5LWxpbnV4L2x0dG5nLW1vZHVsZXMvMi45LjEtcjAvbHR0bmctbW9kdWxlcy0yLjku
MS9wcm9iZXMvLi4vaW5zdHJ1bWVudGF0aW9uL2V2ZW50cy9sdHRuZy1tb2R1bGUvdGltZXIuaDox
NjM6MTogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvICdMVFROR19UUkFDRVBPSU5UX0VWRU5U
X01BUCcKIExUVE5HX1RSQUNFUE9JTlRfRVZFTlRfTUFQKGhydGltZXJfc3RhcnQsCiBefn5+fn5+
fn5+fn5+fn5+fn5+fn5+fn5+fgovbWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1kbnYv
YnVpbGQvdG1wL3dvcmsvaW50ZWxfY29yZWk3XzY0LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8y
LjkuMS1yMC9sdHRuZy1tb2R1bGVzLTIuOS4xL3Byb2Jlcy8uLi9pbnN0cnVtZW50YXRpb24vZXZl
bnRzL2x0dG5nLW1vZHVsZS90aW1lci5oOjE3MToyOiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFj
cm8gJ1RQX0ZJRUxEUycKICBUUF9GSUVMRFMoCiAgXn5+fn5+fn5+Ci9tZWRpYS9yZWJlY2Nhcy95
b2N0by9tZXRhLWludGVsLWRudi9idWlsZC90bXAvd29yay9pbnRlbF9jb3JlaTdfNjQtcG9reS1s
aW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL2x0dG5nLW1vZHVsZXMtMi45LjEvcHJvYmVzLy4u
L3Byb2Jlcy9sdHRuZy10cmFjZXBvaW50LWV2ZW50LWltcGwuaDo2ODA6Mjogbm90ZTogaW4gZXhw
YW5zaW9uIG9mIG1hY3JvICdfY3RmX2ludGVnZXJfZXh0X2ZldGNoZWQnCiAgX2N0Zl9pbnRlZ2Vy
X2V4dF9mZXRjaGVkKF90eXBlLCBfaXRlbSwgX3NyYywgX2J5dGVfb3JkZXIsIF9iYXNlLCBfbm93
cml0ZSkKICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KL21lZGlhL3JlYmVjY2FzL3lvY3RvL21l
dGEtaW50ZWwtZG52L2J1aWxkL3RtcC93b3JrL2ludGVsX2NvcmVpN182NC1wb2t5LWxpbnV4L2x0
dG5nLW1vZHVsZXMvMi45LjEtcjAvbHR0bmctbW9kdWxlcy0yLjkuMS9wcm9iZXMvLi4vcHJvYmVz
L2x0dG5nLXRyYWNlcG9pbnQtZXZlbnQtaW1wbC5oOjY5NzoyOiBub3RlOiBpbiBleHBhbnNpb24g
b2YgbWFjcm8gJ19jdGZfaW50ZWdlcl9leHRfaXN1c2VyMCcKICBfY3RmX2ludGVnZXJfZXh0X2lz
dXNlciMjX3VzZXIoX3R5cGUsIF9pdGVtLCBfdXNlcl9zcmMsIF9ieXRlX29yZGVyLCBfYmFzZSwg
X25vd3JpdGUpCiAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KL21lZGlhL3JlYmVjY2FzL3lvY3Rv
L21ldGEtaW50ZWwtZG52L2J1aWxkL3RtcC93b3JrL2ludGVsX2NvcmVpN182NC1wb2t5LWxpbnV4
L2x0dG5nLW1vZHVsZXMvMi45LjEtcjAvbHR0bmctbW9kdWxlcy0yLjkuMS9wcm9iZXMvLi4vcHJv
YmVzL2x0dG5nLWV2ZW50cy13cml0ZS5oOjIzOjI6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNy
byAnX2N0Zl9pbnRlZ2VyX2V4dCcKICBfY3RmX2ludGVnZXJfZXh0KF90eXBlLCBfaXRlbSwgX3Ny
YywgX19CWVRFX09SREVSLCAxMCwgMCwgMCkKICBefn5+fn5+fn5+fn5+fn5+Ci9tZWRpYS9yZWJl
Y2Nhcy95b2N0by9tZXRhLWludGVsLWRudi9idWlsZC90bXAvd29yay9pbnRlbF9jb3JlaTdfNjQt
cG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL2x0dG5nLW1vZHVsZXMtMi45LjEvcHJv
YmVzLy4uL2luc3RydW1lbnRhdGlvbi9ldmVudHMvbHR0bmctbW9kdWxlL3RpbWVyLmg6MTc0OjM6
IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyAnY3RmX2ludGVnZXInCiAgIGN0Zl9pbnRlZ2Vy
KHM2NCwgZXhwaXJlcywKICAgXn5+fn5+fn5+fn4KL21lZGlhL3JlYmVjY2FzL3lvY3RvL21ldGEt
aW50ZWwtZG52L2J1aWxkL3RtcC93b3JrL2ludGVsX2NvcmVpN182NC1wb2t5LWxpbnV4L2x0dG5n
LW1vZHVsZXMvMi45LjEtcjAvbHR0bmctbW9kdWxlcy0yLjkuMS9wcm9iZXMvLi4vaW5zdHJ1bWVu
dGF0aW9uL2V2ZW50cy9sdHRuZy1tb2R1bGUvdGltZXIuaDoxNzU6NDogbm90ZTogaW4gZXhwYW5z
aW9uIG9mIG1hY3JvICdsdHRuZ19rdGltZV9nZXRfdHY2NCcKICAgIGx0dG5nX2t0aW1lX2dldF90
djY0KGhydGltZXJfZ2V0X2V4cGlyZXMoaHJ0aW1lcikpKQogICAgXn5+fn5+fn5+fn5+fn5+fn5+
fn4KL21lZGlhL3JlYmVjY2FzL3lvY3RvL21ldGEtaW50ZWwtZG52L2J1aWxkL3RtcC93b3JrL2lu
dGVsX2NvcmVpN182NC1wb2t5LWxpbnV4L2x0dG5nLW1vZHVsZXMvMi45LjEtcjAvbHR0bmctbW9k
dWxlcy0yLjkuMS9wcm9iZXMvLi4vaW5zdHJ1bWVudGF0aW9uL2V2ZW50cy9sdHRuZy1tb2R1bGUv
dGltZXIuaDoyMjozOTogZXJyb3I6IHJlcXVlc3QgZm9yIG1lbWJlciAndHY2NCcgaW4gc29tZXRo
aW5nIG5vdCBhIHN0cnVjdHVyZSBvciB1bmlvbgogI2RlZmluZSBsdHRuZ19rdGltZV9nZXRfdHY2
NChrdCkgKChrdCkudHY2NCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
XgovbWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1kbnYvYnVpbGQvdG1wL3dvcmsvaW50
ZWxfY29yZWk3XzY0LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9sdHRuZy1tb2R1
bGVzLTIuOS4xL3Byb2Jlcy8uLi9wcm9iZXMvbHR0bmctdHJhY2Vwb2ludC1ldmVudC1pbXBsLmg6
Nzc0OjI6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8gJ0xUVE5HX1RSQUNFUE9JTlRfRVZF
TlRfQ0xBU1NfQ09ERScKICBfZmllbGRzICAgICAgICAgICAgICBcCiAgXn5+fn5+fgovbWVkaWEv
cmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1kbnYvYnVpbGQvdG1wL3dvcmsvaW50ZWxfY29yZWk3
XzY0LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9sdHRuZy1tb2R1bGVzLTIuOS4x
L3Byb2Jlcy8uLi9wcm9iZXMvbHR0bmctdHJhY2Vwb2ludC1ldmVudC1pbXBsLmg6MTE2OjM6IG5v
dGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyAnUEFSQU1TJwogICBQQVJBTVMoX2ZpZWxkcyksICkK
ICAgXn5+fn5+Ci9tZWRpYS9yZWJlY2Nhcy95b2N0by9tZXRhLWludGVsLWRudi9idWlsZC90bXAv
d29yay9pbnRlbF9jb3JlaTdfNjQtcG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL2x0
dG5nLW1vZHVsZXMtMi45LjEvcHJvYmVzLy4uL3Byb2Jlcy9sdHRuZy10cmFjZXBvaW50LWV2ZW50
LWltcGwuaDo1MDoyOiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8gJ0xUVE5HX1RSQUNFUE9J
TlRfRVZFTlRfQ0xBU1MnCiAgTFRUTkdfVFJBQ0VQT0lOVF9FVkVOVF9DTEFTUyhtYXAsICAgIFwK
ICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci9tZWRpYS9yZWJlY2Nhcy95b2N0by9tZXRh
LWludGVsLWRudi9idWlsZC90bXAvd29yay9pbnRlbF9jb3JlaTdfNjQtcG9reS1saW51eC9sdHRu
Zy1tb2R1bGVzLzIuOS4xLXIwL2x0dG5nLW1vZHVsZXMtMi45LjEvcHJvYmVzLy4uL3Byb2Jlcy9s
dHRuZy10cmFjZXBvaW50LWV2ZW50LWltcGwuaDo1Mzo5OiBub3RlOiBpbiBleHBhbnNpb24gb2Yg
bWFjcm8gJ1BBUkFNUycKICAgICAgICAgUEFSQU1TKGZpZWxkcykpICAgIFwKICAgICAgICAgXn5+
fn5+Ci9tZWRpYS9yZWJlY2Nhcy95b2N0by9tZXRhLWludGVsLWRudi9idWlsZC90bXAvd29yay9p
bnRlbF9jb3JlaTdfNjQtcG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL2x0dG5nLW1v
ZHVsZXMtMi45LjEvcHJvYmVzLy4uL2luc3RydW1lbnRhdGlvbi9ldmVudHMvbHR0bmctbW9kdWxl
L3RpbWVyLmg6MTYzOjE6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyAnTFRUTkdfVFJBQ0VQ
T0lOVF9FVkVOVF9NQVAnCiBMVFROR19UUkFDRVBPSU5UX0VWRU5UX01BUChocnRpbWVyX3N0YXJ0
LAogXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KL21lZGlhL3JlYmVjY2FzL3lvY3RvL21ldGEt
aW50ZWwtZG52L2J1aWxkL3RtcC93b3JrL2ludGVsX2NvcmVpN182NC1wb2t5LWxpbnV4L2x0dG5n
LW1vZHVsZXMvMi45LjEtcjAvbHR0bmctbW9kdWxlcy0yLjkuMS9wcm9iZXMvLi4vaW5zdHJ1bWVu
dGF0aW9uL2V2ZW50cy9sdHRuZy1tb2R1bGUvdGltZXIuaDoxNzE6Mjogbm90ZTogaW4gZXhwYW5z
aW9uIG9mIG1hY3JvICdUUF9GSUVMRFMnCiAgVFBfRklFTERTKAogIF5+fn5+fn5+fgovbWVkaWEv
cmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1kbnYvYnVpbGQvdG1wL3dvcmsvaW50ZWxfY29yZWk3
XzY0LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9sdHRuZy1tb2R1bGVzLTIuOS4x
L3Byb2Jlcy8uLi9wcm9iZXMvbHR0bmctdHJhY2Vwb2ludC1ldmVudC1pbXBsLmg6NjgwOjI6IG5v
dGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyAnX2N0Zl9pbnRlZ2VyX2V4dF9mZXRjaGVkJwogIF9j
dGZfaW50ZWdlcl9leHRfZmV0Y2hlZChfdHlwZSwgX2l0ZW0sIF9zcmMsIF9ieXRlX29yZGVyLCBf
YmFzZSwgX25vd3JpdGUpCiAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci9tZWRpYS9yZWJlY2Nh
cy95b2N0by9tZXRhLWludGVsLWRudi9idWlsZC90bXAvd29yay9pbnRlbF9jb3JlaTdfNjQtcG9r
eS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL2x0dG5nLW1vZHVsZXMtMi45LjEvcHJvYmVz
Ly4uL3Byb2Jlcy9sdHRuZy10cmFjZXBvaW50LWV2ZW50LWltcGwuaDo2OTc6Mjogbm90ZTogaW4g
ZXhwYW5zaW9uIG9mIG1hY3JvICdfY3RmX2ludGVnZXJfZXh0X2lzdXNlcjAnCiAgX2N0Zl9pbnRl
Z2VyX2V4dF9pc3VzZXIjI191c2VyKF90eXBlLCBfaXRlbSwgX3VzZXJfc3JjLCBfYnl0ZV9vcmRl
ciwgX2Jhc2UsIF9ub3dyaXRlKQogIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci9tZWRpYS9yZWJl
Y2Nhcy95b2N0by9tZXRhLWludGVsLWRudi9idWlsZC90bXAvd29yay9pbnRlbF9jb3JlaTdfNjQt
cG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL2x0dG5nLW1vZHVsZXMtMi45LjEvcHJv
YmVzLy4uL3Byb2Jlcy9sdHRuZy1ldmVudHMtd3JpdGUuaDoyMzoyOiBub3RlOiBpbiBleHBhbnNp
b24gb2YgbWFjcm8gJ19jdGZfaW50ZWdlcl9leHQnCiAgX2N0Zl9pbnRlZ2VyX2V4dChfdHlwZSwg
X2l0ZW0sIF9zcmMsIF9fQllURV9PUkRFUiwgMTAsIDAsIDApCiAgXn5+fn5+fn5+fn5+fn5+fgov
bWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1kbnYvYnVpbGQvdG1wL3dvcmsvaW50ZWxf
Y29yZWk3XzY0LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9sdHRuZy1tb2R1bGVz
LTIuOS4xL3Byb2Jlcy8uLi9pbnN0cnVtZW50YXRpb24vZXZlbnRzL2x0dG5nLW1vZHVsZS90aW1l
ci5oOjE3NDozOiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8gJ2N0Zl9pbnRlZ2VyJwogICBj
dGZfaW50ZWdlcihzNjQsIGV4cGlyZXMsCiAgIF5+fn5+fn5+fn5+Ci9tZWRpYS9yZWJlY2Nhcy95
b2N0by9tZXRhLWludGVsLWRudi9idWlsZC90bXAvd29yay9pbnRlbF9jb3JlaTdfNjQtcG9reS1s
aW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL2x0dG5nLW1vZHVsZXMtMi45LjEvcHJvYmVzLy4u
L2luc3RydW1lbnRhdGlvbi9ldmVudHMvbHR0bmctbW9kdWxlL3RpbWVyLmg6MTc1OjQ6IG5vdGU6
IGluIGV4cGFuc2lvbiBvZiBtYWNybyAnbHR0bmdfa3RpbWVfZ2V0X3R2NjQnCiAgICBsdHRuZ19r
dGltZV9nZXRfdHY2NChocnRpbWVyX2dldF9leHBpcmVzKGhydGltZXIpKSkKICAgIF5+fn5+fn5+
fn5+fn5+fn5+fn5+Ci9tZWRpYS9yZWJlY2Nhcy95b2N0by9tZXRhLWludGVsLWRudi9idWlsZC90
bXAvd29yay9pbnRlbF9jb3JlaTdfNjQtcG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIw
L2x0dG5nLW1vZHVsZXMtMi45LjEvcHJvYmVzLy4uL2luc3RydW1lbnRhdGlvbi9ldmVudHMvbHR0
bmctbW9kdWxlL3RpbWVyLmg6MjI6Mzk6IGVycm9yOiByZXF1ZXN0IGZvciBtZW1iZXIgJ3R2NjQn
IGluIHNvbWV0aGluZyBub3QgYSBzdHJ1Y3R1cmUgb3IgdW5pb24KICNkZWZpbmUgbHR0bmdfa3Rp
bWVfZ2V0X3R2NjQoa3QpICgoa3QpLnR2NjQpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIF4KL21lZGlhL3JlYmVjY2FzL3lvY3RvL21ldGEtaW50ZWwtZG52L2J1aWxkL3Rt
cC93b3JrL2ludGVsX2NvcmVpN182NC1wb2t5LWxpbnV4L2x0dG5nLW1vZHVsZXMvMi45LjEtcjAv
bHR0bmctbW9kdWxlcy0yLjkuMS9wcm9iZXMvLi4vcHJvYmVzL2x0dG5nLXRyYWNlcG9pbnQtZXZl
bnQtaW1wbC5oOjc3NDoyOiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvICdMVFROR19UUkFD
RVBPSU5UX0VWRU5UX0NMQVNTX0NPREUnCiAgX2ZpZWxkcyAgICAgICAgICAgICAgXAogIF5+fn5+
fn4KL21lZGlhL3JlYmVjY2FzL3lvY3RvL21ldGEtaW50ZWwtZG52L2J1aWxkL3RtcC93b3JrL2lu
dGVsX2NvcmVpN182NC1wb2t5LWxpbnV4L2x0dG5nLW1vZHVsZXMvMi45LjEtcjAvbHR0bmctbW9k
dWxlcy0yLjkuMS9wcm9iZXMvLi4vcHJvYmVzL2x0dG5nLXRyYWNlcG9pbnQtZXZlbnQtaW1wbC5o
OjExNjozOiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8gJ1BBUkFNUycKICAgUEFSQU1TKF9m
aWVsZHMpLCApCiAgIF5+fn5+fgovbWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1kbnYv
YnVpbGQvdG1wL3dvcmsvaW50ZWxfY29yZWk3XzY0LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8y
LjkuMS1yMC9sdHRuZy1tb2R1bGVzLTIuOS4xL3Byb2Jlcy8uLi9wcm9iZXMvbHR0bmctdHJhY2Vw
b2ludC1ldmVudC1pbXBsLmg6NTA6Mjogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvICdMVFRO
R19UUkFDRVBPSU5UX0VWRU5UX0NMQVNTJwogIExUVE5HX1RSQUNFUE9JTlRfRVZFTlRfQ0xBU1Mo
bWFwLCAgICBcCiAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgovbWVkaWEvcmViZWNjYXMv
eW9jdG8vbWV0YS1pbnRlbC1kbnYvYnVpbGQvdG1wL3dvcmsvaW50ZWxfY29yZWk3XzY0LXBva3kt
bGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9sdHRuZy1tb2R1bGVzLTIuOS4xL3Byb2Jlcy8u
Li9wcm9iZXMvbHR0bmctdHJhY2Vwb2ludC1ldmVudC1pbXBsLmg6NTM6OTogbm90ZTogaW4gZXhw
YW5zaW9uIG9mIG1hY3JvICdQQVJBTVMnCiAgICAgICAgIFBBUkFNUyhmaWVsZHMpKSAgICBcCiAg
ICAgICAgIF5+fn5+fgovbWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1kbnYvYnVpbGQv
dG1wL3dvcmsvaW50ZWxfY29yZWk3XzY0LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1y
MC9sdHRuZy1tb2R1bGVzLTIuOS4xL3Byb2Jlcy8uLi9pbnN0cnVtZW50YXRpb24vZXZlbnRzL2x0
dG5nLW1vZHVsZS90aW1lci5oOjE2MzoxOiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8gJ0xU
VE5HX1RSQUNFUE9JTlRfRVZFTlRfTUFQJwogTFRUTkdfVFJBQ0VQT0lOVF9FVkVOVF9NQVAoaHJ0
aW1lcl9zdGFydCwKIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci9tZWRpYS9yZWJlY2Nhcy95
b2N0by9tZXRhLWludGVsLWRudi9idWlsZC90bXAvd29yay9pbnRlbF9jb3JlaTdfNjQtcG9reS1s
aW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL2x0dG5nLW1vZHVsZXMtMi45LjEvcHJvYmVzLy4u
L2luc3RydW1lbnRhdGlvbi9ldmVudHMvbHR0bmctbW9kdWxlL3RpbWVyLmg6MTcxOjI6IG5vdGU6
IGluIGV4cGFuc2lvbiBvZiBtYWNybyAnVFBfRklFTERTJwogIFRQX0ZJRUxEUygKICBefn5+fn5+
fn4KL21lZGlhL3JlYmVjY2FzL3lvY3RvL21ldGEtaW50ZWwtZG52L2J1aWxkL3RtcC93b3JrL2lu
dGVsX2NvcmVpN182NC1wb2t5LWxpbnV4L2x0dG5nLW1vZHVsZXMvMi45LjEtcjAvbHR0bmctbW9k
dWxlcy0yLjkuMS9wcm9iZXMvLi4vcHJvYmVzL2x0dG5nLXRyYWNlcG9pbnQtZXZlbnQtaW1wbC5o
OjY4MDoyOiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8gJ19jdGZfaW50ZWdlcl9leHRfZmV0
Y2hlZCcKICBfY3RmX2ludGVnZXJfZXh0X2ZldGNoZWQoX3R5cGUsIF9pdGVtLCBfc3JjLCBfYnl0
ZV9vcmRlciwgX2Jhc2UsIF9ub3dyaXRlKQogIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgovbWVk
aWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1kbnYvYnVpbGQvdG1wL3dvcmsvaW50ZWxfY29y
ZWk3XzY0LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9sdHRuZy1tb2R1bGVzLTIu
OS4xL3Byb2Jlcy8uLi9wcm9iZXMvbHR0bmctdHJhY2Vwb2ludC1ldmVudC1pbXBsLmg6Njk3OjI6
IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyAnX2N0Zl9pbnRlZ2VyX2V4dF9pc3VzZXIwJwog
IF9jdGZfaW50ZWdlcl9leHRfaXN1c2VyIyNfdXNlcihfdHlwZSwgX2l0ZW0sIF91c2VyX3NyYywg
X2J5dGVfb3JkZXIsIF9iYXNlLCBfbm93cml0ZSkKICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fgov
bWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1kbnYvYnVpbGQvdG1wL3dvcmsvaW50ZWxf
Y29yZWk3XzY0LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9sdHRuZy1tb2R1bGVz
LTIuOS4xL3Byb2Jlcy8uLi9wcm9iZXMvbHR0bmctZXZlbnRzLXdyaXRlLmg6MjM6Mjogbm90ZTog
aW4gZXhwYW5zaW9uIG9mIG1hY3JvICdfY3RmX2ludGVnZXJfZXh0JwogIF9jdGZfaW50ZWdlcl9l
eHQoX3R5cGUsIF9pdGVtLCBfc3JjLCBfX0JZVEVfT1JERVIsIDEwLCAwLCAwKQogIF5+fn5+fn5+
fn5+fn5+fn4KL21lZGlhL3JlYmVjY2FzL3lvY3RvL21ldGEtaW50ZWwtZG52L2J1aWxkL3RtcC93
b3JrL2ludGVsX2NvcmVpN182NC1wb2t5LWxpbnV4L2x0dG5nLW1vZHVsZXMvMi45LjEtcjAvbHR0
bmctbW9kdWxlcy0yLjkuMS9wcm9iZXMvLi4vaW5zdHJ1bWVudGF0aW9uL2V2ZW50cy9sdHRuZy1t
b2R1bGUvdGltZXIuaDoxNzQ6Mzogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvICdjdGZfaW50
ZWdlcicKICAgY3RmX2ludGVnZXIoczY0LCBleHBpcmVzLAogICBefn5+fn5+fn5+fgovbWVkaWEv
cmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1kbnYvYnVpbGQvdG1wL3dvcmsvaW50ZWxfY29yZWk3
XzY0LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9sdHRuZy1tb2R1bGVzLTIuOS4x
L3Byb2Jlcy8uLi9pbnN0cnVtZW50YXRpb24vZXZlbnRzL2x0dG5nLW1vZHVsZS90aW1lci5oOjE3
NTo0OiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8gJ2x0dG5nX2t0aW1lX2dldF90djY0Jwog
ICAgbHR0bmdfa3RpbWVfZ2V0X3R2NjQoaHJ0aW1lcl9nZXRfZXhwaXJlcyhocnRpbWVyKSkpCiAg
ICBefn5+fn5+fn5+fn5+fn5+fn5+fgogIENDIFtNXSAgL21lZGlhL3JlYmVjY2FzL3lvY3RvL21l
dGEtaW50ZWwtZG52L2J1aWxkL3RtcC93b3JrL2ludGVsX2NvcmVpN182NC1wb2t5LWxpbnV4L2x0
dG5nLW1vZHVsZXMvMi45LjEtcjAvbHR0bmctbW9kdWxlcy0yLjkuMS9wcm9iZXMvbHR0bmctcHJv
YmUtcmFuZG9tLm8KL21lZGlhL3JlYmVjY2FzL3lvY3RvL21ldGEtaW50ZWwtZG52L2J1aWxkL3Rt
cC93b3JrL2ludGVsX2NvcmVpN182NC1wb2t5LWxpbnV4L2x0dG5nLW1vZHVsZXMvMi45LjEtcjAv
bHR0bmctbW9kdWxlcy0yLjkuMS9wcm9iZXMvLi4vaW5zdHJ1bWVudGF0aW9uL2V2ZW50cy9sdHRu
Zy1tb2R1bGUvdGltZXIuaDoyMjozOTogZXJyb3I6IHJlcXVlc3QgZm9yIG1lbWJlciAndHY2NCcg
aW4gc29tZXRoaW5nIG5vdCBhIHN0cnVjdHVyZSBvciB1bmlvbgogI2RlZmluZSBsdHRuZ19rdGlt
ZV9nZXRfdHY2NChrdCkgKChrdCkudHY2NCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgXgovbWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1kbnYvYnVpbGQvdG1w
L3dvcmsvaW50ZWxfY29yZWk3XzY0LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9s
dHRuZy1tb2R1bGVzLTIuOS4xL3Byb2Jlcy8uLi9wcm9iZXMvbHR0bmctdHJhY2Vwb2ludC1ldmVu
dC1pbXBsLmg6Nzc0OjI6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8gJ0xUVE5HX1RSQUNF
UE9JTlRfRVZFTlRfQ0xBU1NfQ09ERScKICBfZmllbGRzICAgICAgICAgICAgICBcCiAgXn5+fn5+
fgovbWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1kbnYvYnVpbGQvdG1wL3dvcmsvaW50
ZWxfY29yZWk3XzY0LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9sdHRuZy1tb2R1
bGVzLTIuOS4xL3Byb2Jlcy8uLi9wcm9iZXMvbHR0bmctdHJhY2Vwb2ludC1ldmVudC1pbXBsLmg6
MTE2OjM6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyAnUEFSQU1TJwogICBQQVJBTVMoX2Zp
ZWxkcyksICkKICAgXn5+fn5+Ci9tZWRpYS9yZWJlY2Nhcy95b2N0by9tZXRhLWludGVsLWRudi9i
dWlsZC90bXAvd29yay9pbnRlbF9jb3JlaTdfNjQtcG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIu
OS4xLXIwL2x0dG5nLW1vZHVsZXMtMi45LjEvcHJvYmVzLy4uL3Byb2Jlcy9sdHRuZy10cmFjZXBv
aW50LWV2ZW50LWltcGwuaDo1MDoyOiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8gJ0xUVE5H
X1RSQUNFUE9JTlRfRVZFTlRfQ0xBU1MnCiAgTFRUTkdfVFJBQ0VQT0lOVF9FVkVOVF9DTEFTUyht
YXAsICAgIFwKICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci9tZWRpYS9yZWJlY2Nhcy95
b2N0by9tZXRhLWludGVsLWRudi9idWlsZC90bXAvd29yay9pbnRlbF9jb3JlaTdfNjQtcG9reS1s
aW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL2x0dG5nLW1vZHVsZXMtMi45LjEvcHJvYmVzLy4u
L3Byb2Jlcy9sdHRuZy10cmFjZXBvaW50LWV2ZW50LWltcGwuaDo1Mzo5OiBub3RlOiBpbiBleHBh
bnNpb24gb2YgbWFjcm8gJ1BBUkFNUycKICAgICAgICAgUEFSQU1TKGZpZWxkcykpICAgIFwKICAg
ICAgICAgXn5+fn5+Ci9tZWRpYS9yZWJlY2Nhcy95b2N0by9tZXRhLWludGVsLWRudi9idWlsZC90
bXAvd29yay9pbnRlbF9jb3JlaTdfNjQtcG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIw
L2x0dG5nLW1vZHVsZXMtMi45LjEvcHJvYmVzLy4uL2luc3RydW1lbnRhdGlvbi9ldmVudHMvbHR0
bmctbW9kdWxlL3RpbWVyLmg6MTYzOjE6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyAnTFRU
TkdfVFJBQ0VQT0lOVF9FVkVOVF9NQVAnCiBMVFROR19UUkFDRVBPSU5UX0VWRU5UX01BUChocnRp
bWVyX3N0YXJ0LAogXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KL21lZGlhL3JlYmVjY2FzL3lv
Y3RvL21ldGEtaW50ZWwtZG52L2J1aWxkL3RtcC93b3JrL2ludGVsX2NvcmVpN182NC1wb2t5LWxp
bnV4L2x0dG5nLW1vZHVsZXMvMi45LjEtcjAvbHR0bmctbW9kdWxlcy0yLjkuMS9wcm9iZXMvLi4v
aW5zdHJ1bWVudGF0aW9uL2V2ZW50cy9sdHRuZy1tb2R1bGUvdGltZXIuaDoxNzE6Mjogbm90ZTog
aW4gZXhwYW5zaW9uIG9mIG1hY3JvICdUUF9GSUVMRFMnCiAgVFBfRklFTERTKAogIF5+fn5+fn5+
fgovbWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1kbnYvYnVpbGQvdG1wL3dvcmsvaW50
ZWxfY29yZWk3XzY0LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9sdHRuZy1tb2R1
bGVzLTIuOS4xL3Byb2Jlcy8uLi9wcm9iZXMvbHR0bmctdHJhY2Vwb2ludC1ldmVudC1pbXBsLmg6
NjgwOjI6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyAnX2N0Zl9pbnRlZ2VyX2V4dF9mZXRj
aGVkJwogIF9jdGZfaW50ZWdlcl9leHRfZmV0Y2hlZChfdHlwZSwgX2l0ZW0sIF9zcmMsIF9ieXRl
X29yZGVyLCBfYmFzZSwgX25vd3JpdGUpCiAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci9tZWRp
YS9yZWJlY2Nhcy95b2N0by9tZXRhLWludGVsLWRudi9idWlsZC90bXAvd29yay9pbnRlbF9jb3Jl
aTdfNjQtcG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL2x0dG5nLW1vZHVsZXMtMi45
LjEvcHJvYmVzLy4uL3Byb2Jlcy9sdHRuZy10cmFjZXBvaW50LWV2ZW50LWltcGwuaDo2OTc6Mjog
bm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvICdfY3RmX2ludGVnZXJfZXh0X2lzdXNlcjAnCiAg
X2N0Zl9pbnRlZ2VyX2V4dF9pc3VzZXIjI191c2VyKF90eXBlLCBfaXRlbSwgX3VzZXJfc3JjLCBf
Ynl0ZV9vcmRlciwgX2Jhc2UsIF9ub3dyaXRlKQogIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci9t
ZWRpYS9yZWJlY2Nhcy95b2N0by9tZXRhLWludGVsLWRudi9idWlsZC90bXAvd29yay9pbnRlbF9j
b3JlaTdfNjQtcG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL2x0dG5nLW1vZHVsZXMt
Mi45LjEvcHJvYmVzLy4uL3Byb2Jlcy9sdHRuZy1ldmVudHMtd3JpdGUuaDoyMzoyOiBub3RlOiBp
biBleHBhbnNpb24gb2YgbWFjcm8gJ19jdGZfaW50ZWdlcl9leHQnCiAgX2N0Zl9pbnRlZ2VyX2V4
dChfdHlwZSwgX2l0ZW0sIF9zcmMsIF9fQllURV9PUkRFUiwgMTAsIDAsIDApCiAgXn5+fn5+fn5+
fn5+fn5+fgovbWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1kbnYvYnVpbGQvdG1wL3dv
cmsvaW50ZWxfY29yZWk3XzY0LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9sdHRu
Zy1tb2R1bGVzLTIuOS4xL3Byb2Jlcy8uLi9pbnN0cnVtZW50YXRpb24vZXZlbnRzL2x0dG5nLW1v
ZHVsZS90aW1lci5oOjE3NjozOiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8gJ2N0Zl9pbnRl
Z2VyJwogICBjdGZfaW50ZWdlcihzNjQsIHNvZnRleHBpcmVzLAogICBefn5+fn5+fn5+fgovbWVk
aWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1kbnYvYnVpbGQvdG1wL3dvcmsvaW50ZWxfY29y
ZWk3XzY0LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9sdHRuZy1tb2R1bGVzLTIu
OS4xL3Byb2Jlcy8uLi9pbnN0cnVtZW50YXRpb24vZXZlbnRzL2x0dG5nLW1vZHVsZS90aW1lci5o
OjE3Nzo0OiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8gJ2x0dG5nX2t0aW1lX2dldF90djY0
JwogICAgbHR0bmdfa3RpbWVfZ2V0X3R2NjQoaHJ0aW1lcl9nZXRfc29mdGV4cGlyZXMoaHJ0aW1l
cikpKQogICAgXn5+fn5+fn5+fn5+fn5+fn5+fn4KL21lZGlhL3JlYmVjY2FzL3lvY3RvL21ldGEt
aW50ZWwtZG52L2J1aWxkL3RtcC93b3JrL2ludGVsX2NvcmVpN182NC1wb2t5LWxpbnV4L2x0dG5n
LW1vZHVsZXMvMi45LjEtcjAvbHR0bmctbW9kdWxlcy0yLjkuMS9wcm9iZXMvLi4vaW5zdHJ1bWVu
dGF0aW9uL2V2ZW50cy9sdHRuZy1tb2R1bGUvdGltZXIuaDoyMjozOTogZXJyb3I6IHJlcXVlc3Qg
Zm9yIG1lbWJlciAndHY2NCcgaW4gc29tZXRoaW5nIG5vdCBhIHN0cnVjdHVyZSBvciB1bmlvbgog
I2RlZmluZSBsdHRuZ19rdGltZV9nZXRfdHY2NChrdCkgKChrdCkudHY2NCkKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovbWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1p
bnRlbC1kbnYvYnVpbGQvdG1wL3dvcmsvaW50ZWxfY29yZWk3XzY0LXBva3ktbGludXgvbHR0bmct
bW9kdWxlcy8yLjkuMS1yMC9sdHRuZy1tb2R1bGVzLTIuOS4xL3Byb2Jlcy8uLi9wcm9iZXMvbHR0
bmctdHJhY2Vwb2ludC1ldmVudC1pbXBsLmg6Nzc0OjI6IG5vdGU6IGluIGRlZmluaXRpb24gb2Yg
bWFjcm8gJ0xUVE5HX1RSQUNFUE9JTlRfRVZFTlRfQ0xBU1NfQ09ERScKICBfZmllbGRzICAgICAg
ICAgICAgICBcCiAgXn5+fn5+fgovbWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1kbnYv
YnVpbGQvdG1wL3dvcmsvaW50ZWxfY29yZWk3XzY0LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8y
LjkuMS1yMC9sdHRuZy1tb2R1bGVzLTIuOS4xL3Byb2Jlcy8uLi9wcm9iZXMvbHR0bmctdHJhY2Vw
b2ludC1ldmVudC1pbXBsLmg6MTE2OjM6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyAnUEFS
QU1TJwogICBQQVJBTVMoX2ZpZWxkcyksICkKICAgXn5+fn5+Ci9tZWRpYS9yZWJlY2Nhcy95b2N0
by9tZXRhLWludGVsLWRudi9idWlsZC90bXAvd29yay9pbnRlbF9jb3JlaTdfNjQtcG9reS1saW51
eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL2x0dG5nLW1vZHVsZXMtMi45LjEvcHJvYmVzLy4uL3By
b2Jlcy9sdHRuZy10cmFjZXBvaW50LWV2ZW50LWltcGwuaDo1MDoyOiBub3RlOiBpbiBleHBhbnNp
b24gb2YgbWFjcm8gJ0xUVE5HX1RSQUNFUE9JTlRfRVZFTlRfQ0xBU1MnCiAgTFRUTkdfVFJBQ0VQ
T0lOVF9FVkVOVF9DTEFTUyhtYXAsICAgIFwKICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+
Ci9tZWRpYS9yZWJlY2Nhcy95b2N0by9tZXRhLWludGVsLWRudi9idWlsZC90bXAvd29yay9pbnRl
bF9jb3JlaTdfNjQtcG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL2x0dG5nLW1vZHVs
ZXMtMi45LjEvcHJvYmVzLy4uL3Byb2Jlcy9sdHRuZy10cmFjZXBvaW50LWV2ZW50LWltcGwuaDo1
Mzo5OiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8gJ1BBUkFNUycKICAgICAgICAgUEFSQU1T
KGZpZWxkcykpICAgIFwKICAgICAgICAgXn5+fn5+Ci9tZWRpYS9yZWJlY2Nhcy95b2N0by9tZXRh
LWludGVsLWRudi9idWlsZC90bXAvd29yay9pbnRlbF9jb3JlaTdfNjQtcG9reS1saW51eC9sdHRu
Zy1tb2R1bGVzLzIuOS4xLXIwL2x0dG5nLW1vZHVsZXMtMi45LjEvcHJvYmVzLy4uL2luc3RydW1l
bnRhdGlvbi9ldmVudHMvbHR0bmctbW9kdWxlL3RpbWVyLmg6MTYzOjE6IG5vdGU6IGluIGV4cGFu
c2lvbiBvZiBtYWNybyAnTFRUTkdfVFJBQ0VQT0lOVF9FVkVOVF9NQVAnCiBMVFROR19UUkFDRVBP
SU5UX0VWRU5UX01BUChocnRpbWVyX3N0YXJ0LAogXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4K
L21lZGlhL3JlYmVjY2FzL3lvY3RvL21ldGEtaW50ZWwtZG52L2J1aWxkL3RtcC93b3JrL2ludGVs
X2NvcmVpN182NC1wb2t5LWxpbnV4L2x0dG5nLW1vZHVsZXMvMi45LjEtcjAvbHR0bmctbW9kdWxl
cy0yLjkuMS9wcm9iZXMvLi4vaW5zdHJ1bWVudGF0aW9uL2V2ZW50cy9sdHRuZy1tb2R1bGUvdGlt
ZXIuaDoxNzE6Mjogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvICdUUF9GSUVMRFMnCiAgVFBf
RklFTERTKAogIF5+fn5+fn5+fgovbWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1kbnYv
YnVpbGQvdG1wL3dvcmsvaW50ZWxfY29yZWk3XzY0LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8y
LjkuMS1yMC9sdHRuZy1tb2R1bGVzLTIuOS4xL3Byb2Jlcy8uLi9wcm9iZXMvbHR0bmctdHJhY2Vw
b2ludC1ldmVudC1pbXBsLmg6NjgwOjI6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyAnX2N0
Zl9pbnRlZ2VyX2V4dF9mZXRjaGVkJwogIF9jdGZfaW50ZWdlcl9leHRfZmV0Y2hlZChfdHlwZSwg
X2l0ZW0sIF9zcmMsIF9ieXRlX29yZGVyLCBfYmFzZSwgX25vd3JpdGUpCiAgXn5+fn5+fn5+fn5+
fn5+fn5+fn5+fn5+Ci9tZWRpYS9yZWJlY2Nhcy95b2N0by9tZXRhLWludGVsLWRudi9idWlsZC90
bXAvd29yay9pbnRlbF9jb3JlaTdfNjQtcG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIw
L2x0dG5nLW1vZHVsZXMtMi45LjEvcHJvYmVzLy4uL3Byb2Jlcy9sdHRuZy10cmFjZXBvaW50LWV2
ZW50LWltcGwuaDo2OTc6Mjogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvICdfY3RmX2ludGVn
ZXJfZXh0X2lzdXNlcjAnCiAgX2N0Zl9pbnRlZ2VyX2V4dF9pc3VzZXIjI191c2VyKF90eXBlLCBf
aXRlbSwgX3VzZXJfc3JjLCBfYnl0ZV9vcmRlciwgX2Jhc2UsIF9ub3dyaXRlKQogIF5+fn5+fn5+
fn5+fn5+fn5+fn5+fn5+Ci9tZWRpYS9yZWJlY2Nhcy95b2N0by9tZXRhLWludGVsLWRudi9idWls
ZC90bXAvd29yay9pbnRlbF9jb3JlaTdfNjQtcG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4x
LXIwL2x0dG5nLW1vZHVsZXMtMi45LjEvcHJvYmVzLy4uL3Byb2Jlcy9sdHRuZy1ldmVudHMtd3Jp
dGUuaDoyMzoyOiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8gJ19jdGZfaW50ZWdlcl9leHQn
CiAgX2N0Zl9pbnRlZ2VyX2V4dChfdHlwZSwgX2l0ZW0sIF9zcmMsIF9fQllURV9PUkRFUiwgMTAs
IDAsIDApCiAgXn5+fn5+fn5+fn5+fn5+fgovbWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRl
bC1kbnYvYnVpbGQvdG1wL3dvcmsvaW50ZWxfY29yZWk3XzY0LXBva3ktbGludXgvbHR0bmctbW9k
dWxlcy8yLjkuMS1yMC9sdHRuZy1tb2R1bGVzLTIuOS4xL3Byb2Jlcy8uLi9pbnN0cnVtZW50YXRp
b24vZXZlbnRzL2x0dG5nLW1vZHVsZS90aW1lci5oOjE3NjozOiBub3RlOiBpbiBleHBhbnNpb24g
b2YgbWFjcm8gJ2N0Zl9pbnRlZ2VyJwogICBjdGZfaW50ZWdlcihzNjQsIHNvZnRleHBpcmVzLAog
ICBefn5+fn5+fn5+fgovbWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1kbnYvYnVpbGQv
dG1wL3dvcmsvaW50ZWxfY29yZWk3XzY0LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1y
MC9sdHRuZy1tb2R1bGVzLTIuOS4xL3Byb2Jlcy8uLi9pbnN0cnVtZW50YXRpb24vZXZlbnRzL2x0
dG5nLW1vZHVsZS90aW1lci5oOjE3Nzo0OiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8gJ2x0
dG5nX2t0aW1lX2dldF90djY0JwogICAgbHR0bmdfa3RpbWVfZ2V0X3R2NjQoaHJ0aW1lcl9nZXRf
c29mdGV4cGlyZXMoaHJ0aW1lcikpKQogICAgXn5+fn5+fn5+fn5+fn5+fn5+fn4KL21lZGlhL3Jl
YmVjY2FzL3lvY3RvL21ldGEtaW50ZWwtZG52L2J1aWxkL3RtcC93b3JrL2ludGVsX2NvcmVpN182
NC1wb2t5LWxpbnV4L2x0dG5nLW1vZHVsZXMvMi45LjEtcjAvbHR0bmctbW9kdWxlcy0yLjkuMS9w
cm9iZXMvLi4vaW5zdHJ1bWVudGF0aW9uL2V2ZW50cy9sdHRuZy1tb2R1bGUvdGltZXIuaDoyMjoz
OTogZXJyb3I6IHJlcXVlc3QgZm9yIG1lbWJlciAndHY2NCcgaW4gc29tZXRoaW5nIG5vdCBhIHN0
cnVjdHVyZSBvciB1bmlvbgogI2RlZmluZSBsdHRuZ19rdGltZV9nZXRfdHY2NChrdCkgKChrdCku
dHY2NCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovbWVkaWEvcmVi
ZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1kbnYvYnVpbGQvdG1wL3dvcmsvaW50ZWxfY29yZWk3XzY0
LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9sdHRuZy1tb2R1bGVzLTIuOS4xL3By
b2Jlcy8uLi9wcm9iZXMvbHR0bmctdHJhY2Vwb2ludC1ldmVudC1pbXBsLmg6Nzc0OjI6IG5vdGU6
IGluIGRlZmluaXRpb24gb2YgbWFjcm8gJ0xUVE5HX1RSQUNFUE9JTlRfRVZFTlRfQ0xBU1NfQ09E
RScKICBfZmllbGRzICAgICAgICAgICAgICBcCiAgXn5+fn5+fgovbWVkaWEvcmViZWNjYXMveW9j
dG8vbWV0YS1pbnRlbC1kbnYvYnVpbGQvdG1wL3dvcmsvaW50ZWxfY29yZWk3XzY0LXBva3ktbGlu
dXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9sdHRuZy1tb2R1bGVzLTIuOS4xL3Byb2Jlcy8uLi9w
cm9iZXMvbHR0bmctdHJhY2Vwb2ludC1ldmVudC1pbXBsLmg6MTE2OjM6IG5vdGU6IGluIGV4cGFu
c2lvbiBvZiBtYWNybyAnUEFSQU1TJwogICBQQVJBTVMoX2ZpZWxkcyksICkKICAgXn5+fn5+Ci9t
ZWRpYS9yZWJlY2Nhcy95b2N0by9tZXRhLWludGVsLWRudi9idWlsZC90bXAvd29yay9pbnRlbF9j
b3JlaTdfNjQtcG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL2x0dG5nLW1vZHVsZXMt
Mi45LjEvcHJvYmVzLy4uL3Byb2Jlcy9sdHRuZy10cmFjZXBvaW50LWV2ZW50LWltcGwuaDo1MDoy
OiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8gJ0xUVE5HX1RSQUNFUE9JTlRfRVZFTlRfQ0xB
U1MnCiAgTFRUTkdfVFJBQ0VQT0lOVF9FVkVOVF9DTEFTUyhtYXAsICAgIFwKICBefn5+fn5+fn5+
fn5+fn5+fn5+fn5+fn5+fn5+Ci9tZWRpYS9yZWJlY2Nhcy95b2N0by9tZXRhLWludGVsLWRudi9i
dWlsZC90bXAvd29yay9pbnRlbF9jb3JlaTdfNjQtcG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIu
OS4xLXIwL2x0dG5nLW1vZHVsZXMtMi45LjEvcHJvYmVzLy4uL3Byb2Jlcy9sdHRuZy10cmFjZXBv
aW50LWV2ZW50LWltcGwuaDo1Mzo5OiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8gJ1BBUkFN
UycKICAgICAgICAgUEFSQU1TKGZpZWxkcykpICAgIFwKICAgICAgICAgXn5+fn5+Ci9tZWRpYS9y
ZWJlY2Nhcy95b2N0by9tZXRhLWludGVsLWRudi9idWlsZC90bXAvd29yay9pbnRlbF9jb3JlaTdf
NjQtcG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL2x0dG5nLW1vZHVsZXMtMi45LjEv
cHJvYmVzLy4uL2luc3RydW1lbnRhdGlvbi9ldmVudHMvbHR0bmctbW9kdWxlL3RpbWVyLmg6MTYz
OjE6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyAnTFRUTkdfVFJBQ0VQT0lOVF9FVkVOVF9N
QVAnCiBMVFROR19UUkFDRVBPSU5UX0VWRU5UX01BUChocnRpbWVyX3N0YXJ0LAogXn5+fn5+fn5+
fn5+fn5+fn5+fn5+fn5+fn4KL21lZGlhL3JlYmVjY2FzL3lvY3RvL21ldGEtaW50ZWwtZG52L2J1
aWxkL3RtcC93b3JrL2ludGVsX2NvcmVpN182NC1wb2t5LWxpbnV4L2x0dG5nLW1vZHVsZXMvMi45
LjEtcjAvbHR0bmctbW9kdWxlcy0yLjkuMS9wcm9iZXMvLi4vaW5zdHJ1bWVudGF0aW9uL2V2ZW50
cy9sdHRuZy1tb2R1bGUvdGltZXIuaDoxNzE6Mjogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3Jv
ICdUUF9GSUVMRFMnCiAgVFBfRklFTERTKAogIF5+fn5+fn5+fgovbWVkaWEvcmViZWNjYXMveW9j
dG8vbWV0YS1pbnRlbC1kbnYvYnVpbGQvdG1wL3dvcmsvaW50ZWxfY29yZWk3XzY0LXBva3ktbGlu
dXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9sdHRuZy1tb2R1bGVzLTIuOS4xL3Byb2Jlcy8uLi9w
cm9iZXMvbHR0bmctdHJhY2Vwb2ludC1ldmVudC1pbXBsLmg6NjgwOjI6IG5vdGU6IGluIGV4cGFu
c2lvbiBvZiBtYWNybyAnX2N0Zl9pbnRlZ2VyX2V4dF9mZXRjaGVkJwogIF9jdGZfaW50ZWdlcl9l
eHRfZmV0Y2hlZChfdHlwZSwgX2l0ZW0sIF9zcmMsIF9ieXRlX29yZGVyLCBfYmFzZSwgX25vd3Jp
dGUpCiAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci9tZWRpYS9yZWJlY2Nhcy95b2N0by9tZXRh
LWludGVsLWRudi9idWlsZC90bXAvd29yay9pbnRlbF9jb3JlaTdfNjQtcG9reS1saW51eC9sdHRu
Zy1tb2R1bGVzLzIuOS4xLXIwL2x0dG5nLW1vZHVsZXMtMi45LjEvcHJvYmVzLy4uL3Byb2Jlcy9s
dHRuZy10cmFjZXBvaW50LWV2ZW50LWltcGwuaDo2OTc6Mjogbm90ZTogaW4gZXhwYW5zaW9uIG9m
IG1hY3JvICdfY3RmX2ludGVnZXJfZXh0X2lzdXNlcjAnCiAgX2N0Zl9pbnRlZ2VyX2V4dF9pc3Vz
ZXIjI191c2VyKF90eXBlLCBfaXRlbSwgX3VzZXJfc3JjLCBfYnl0ZV9vcmRlciwgX2Jhc2UsIF9u
b3dyaXRlKQogIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci9tZWRpYS9yZWJlY2Nhcy95b2N0by9t
ZXRhLWludGVsLWRudi9idWlsZC90bXAvd29yay9pbnRlbF9jb3JlaTdfNjQtcG9reS1saW51eC9s
dHRuZy1tb2R1bGVzLzIuOS4xLXIwL2x0dG5nLW1vZHVsZXMtMi45LjEvcHJvYmVzLy4uL3Byb2Jl
cy9sdHRuZy1ldmVudHMtd3JpdGUuaDoyMzoyOiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8g
J19jdGZfaW50ZWdlcl9leHQnCiAgX2N0Zl9pbnRlZ2VyX2V4dChfdHlwZSwgX2l0ZW0sIF9zcmMs
IF9fQllURV9PUkRFUiwgMTAsIDAsIDApCiAgXn5+fn5+fn5+fn5+fn5+fgovbWVkaWEvcmViZWNj
YXMveW9jdG8vbWV0YS1pbnRlbC1kbnYvYnVpbGQvdG1wL3dvcmsvaW50ZWxfY29yZWk3XzY0LXBv
a3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9sdHRuZy1tb2R1bGVzLTIuOS4xL3Byb2Jl
cy8uLi9pbnN0cnVtZW50YXRpb24vZXZlbnRzL2x0dG5nLW1vZHVsZS90aW1lci5oOjE3NjozOiBu
b3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8gJ2N0Zl9pbnRlZ2VyJwogICBjdGZfaW50ZWdlcihz
NjQsIHNvZnRleHBpcmVzLAogICBefn5+fn5+fn5+fgovbWVkaWEvcmViZWNjYXMveW9jdG8vbWV0
YS1pbnRlbC1kbnYvYnVpbGQvdG1wL3dvcmsvaW50ZWxfY29yZWk3XzY0LXBva3ktbGludXgvbHR0
bmctbW9kdWxlcy8yLjkuMS1yMC9sdHRuZy1tb2R1bGVzLTIuOS4xL3Byb2Jlcy8uLi9pbnN0cnVt
ZW50YXRpb24vZXZlbnRzL2x0dG5nLW1vZHVsZS90aW1lci5oOjE3Nzo0OiBub3RlOiBpbiBleHBh
bnNpb24gb2YgbWFjcm8gJ2x0dG5nX2t0aW1lX2dldF90djY0JwogICAgbHR0bmdfa3RpbWVfZ2V0
X3R2NjQoaHJ0aW1lcl9nZXRfc29mdGV4cGlyZXMoaHJ0aW1lcikpKQogICAgXn5+fn5+fn5+fn5+
fn5+fn5+fn4KL21lZGlhL3JlYmVjY2FzL3lvY3RvL21ldGEtaW50ZWwtZG52L2J1aWxkL3RtcC93
b3JrL2ludGVsX2NvcmVpN182NC1wb2t5LWxpbnV4L2x0dG5nLW1vZHVsZXMvMi45LjEtcjAvbHR0
bmctbW9kdWxlcy0yLjkuMS9wcm9iZXMvLi4vaW5zdHJ1bWVudGF0aW9uL2V2ZW50cy9sdHRuZy1t
b2R1bGUvdGltZXIuaDoyMjozOTogZXJyb3I6IHJlcXVlc3QgZm9yIG1lbWJlciAndHY2NCcgaW4g
c29tZXRoaW5nIG5vdCBhIHN0cnVjdHVyZSBvciB1bmlvbgogI2RlZmluZSBsdHRuZ19rdGltZV9n
ZXRfdHY2NChrdCkgKChrdCkudHY2NCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXgovbWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1kbnYvYnVpbGQvdG1wL3dv
cmsvaW50ZWxfY29yZWk3XzY0LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9sdHRu
Zy1tb2R1bGVzLTIuOS4xL3Byb2Jlcy8uLi9wcm9iZXMvbHR0bmctdHJhY2Vwb2ludC1ldmVudC1p
bXBsLmg6Nzc0OjI6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8gJ0xUVE5HX1RSQUNFUE9J
TlRfRVZFTlRfQ0xBU1NfQ09ERScKICBfZmllbGRzICAgICAgICAgICAgICBcCiAgXn5+fn5+fgov
bWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1kbnYvYnVpbGQvdG1wL3dvcmsvaW50ZWxf
Y29yZWk3XzY0LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9sdHRuZy1tb2R1bGVz
LTIuOS4xL3Byb2Jlcy8uLi9wcm9iZXMvbHR0bmctdHJhY2Vwb2ludC1ldmVudC1pbXBsLmg6MTE2
OjM6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyAnUEFSQU1TJwogICBQQVJBTVMoX2ZpZWxk
cyksICkKICAgXn5+fn5+Ci9tZWRpYS9yZWJlY2Nhcy95b2N0by9tZXRhLWludGVsLWRudi9idWls
ZC90bXAvd29yay9pbnRlbF9jb3JlaTdfNjQtcG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4x
LXIwL2x0dG5nLW1vZHVsZXMtMi45LjEvcHJvYmVzLy4uL3Byb2Jlcy9sdHRuZy10cmFjZXBvaW50
LWV2ZW50LWltcGwuaDo1MDoyOiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8gJ0xUVE5HX1RS
QUNFUE9JTlRfRVZFTlRfQ0xBU1MnCiAgTFRUTkdfVFJBQ0VQT0lOVF9FVkVOVF9DTEFTUyhtYXAs
ICAgIFwKICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci9tZWRpYS9yZWJlY2Nhcy95b2N0
by9tZXRhLWludGVsLWRudi9idWlsZC90bXAvd29yay9pbnRlbF9jb3JlaTdfNjQtcG9reS1saW51
eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL2x0dG5nLW1vZHVsZXMtMi45LjEvcHJvYmVzLy4uL3By
b2Jlcy9sdHRuZy10cmFjZXBvaW50LWV2ZW50LWltcGwuaDo1Mzo5OiBub3RlOiBpbiBleHBhbnNp
b24gb2YgbWFjcm8gJ1BBUkFNUycKICAgICAgICAgUEFSQU1TKGZpZWxkcykpICAgIFwKICAgICAg
ICAgXn5+fn5+Ci9tZWRpYS9yZWJlY2Nhcy95b2N0by9tZXRhLWludGVsLWRudi9idWlsZC90bXAv
d29yay9pbnRlbF9jb3JlaTdfNjQtcG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL2x0
dG5nLW1vZHVsZXMtMi45LjEvcHJvYmVzLy4uL2luc3RydW1lbnRhdGlvbi9ldmVudHMvbHR0bmct
bW9kdWxlL3RpbWVyLmg6MTYzOjE6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyAnTFRUTkdf
VFJBQ0VQT0lOVF9FVkVOVF9NQVAnCiBMVFROR19UUkFDRVBPSU5UX0VWRU5UX01BUChocnRpbWVy
X3N0YXJ0LAogXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KL21lZGlhL3JlYmVjY2FzL3lvY3Rv
L21ldGEtaW50ZWwtZG52L2J1aWxkL3RtcC93b3JrL2ludGVsX2NvcmVpN182NC1wb2t5LWxpbnV4
L2x0dG5nLW1vZHVsZXMvMi45LjEtcjAvbHR0bmctbW9kdWxlcy0yLjkuMS9wcm9iZXMvLi4vaW5z
dHJ1bWVudGF0aW9uL2V2ZW50cy9sdHRuZy1tb2R1bGUvdGltZXIuaDoxNzE6Mjogbm90ZTogaW4g
ZXhwYW5zaW9uIG9mIG1hY3JvICdUUF9GSUVMRFMnCiAgVFBfRklFTERTKAogIF5+fn5+fn5+fgov
bWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1kbnYvYnVpbGQvdG1wL3dvcmsvaW50ZWxf
Y29yZWk3XzY0LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9sdHRuZy1tb2R1bGVz
LTIuOS4xL3Byb2Jlcy8uLi9wcm9iZXMvbHR0bmctdHJhY2Vwb2ludC1ldmVudC1pbXBsLmg6Njgw
OjI6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyAnX2N0Zl9pbnRlZ2VyX2V4dF9mZXRjaGVk
JwogIF9jdGZfaW50ZWdlcl9leHRfZmV0Y2hlZChfdHlwZSwgX2l0ZW0sIF9zcmMsIF9ieXRlX29y
ZGVyLCBfYmFzZSwgX25vd3JpdGUpCiAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci9tZWRpYS9y
ZWJlY2Nhcy95b2N0by9tZXRhLWludGVsLWRudi9idWlsZC90bXAvd29yay9pbnRlbF9jb3JlaTdf
NjQtcG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL2x0dG5nLW1vZHVsZXMtMi45LjEv
cHJvYmVzLy4uL3Byb2Jlcy9sdHRuZy10cmFjZXBvaW50LWV2ZW50LWltcGwuaDo2OTc6Mjogbm90
ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvICdfY3RmX2ludGVnZXJfZXh0X2lzdXNlcjAnCiAgX2N0
Zl9pbnRlZ2VyX2V4dF9pc3VzZXIjI191c2VyKF90eXBlLCBfaXRlbSwgX3VzZXJfc3JjLCBfYnl0
ZV9vcmRlciwgX2Jhc2UsIF9ub3dyaXRlKQogIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci9tZWRp
YS9yZWJlY2Nhcy95b2N0by9tZXRhLWludGVsLWRudi9idWlsZC90bXAvd29yay9pbnRlbF9jb3Jl
aTdfNjQtcG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL2x0dG5nLW1vZHVsZXMtMi45
LjEvcHJvYmVzLy4uL3Byb2Jlcy9sdHRuZy1ldmVudHMtd3JpdGUuaDoyMzoyOiBub3RlOiBpbiBl
eHBhbnNpb24gb2YgbWFjcm8gJ19jdGZfaW50ZWdlcl9leHQnCiAgX2N0Zl9pbnRlZ2VyX2V4dChf
dHlwZSwgX2l0ZW0sIF9zcmMsIF9fQllURV9PUkRFUiwgMTAsIDAsIDApCiAgXn5+fn5+fn5+fn5+
fn5+fgovbWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1kbnYvYnVpbGQvdG1wL3dvcmsv
aW50ZWxfY29yZWk3XzY0LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9sdHRuZy1t
b2R1bGVzLTIuOS4xL3Byb2Jlcy8uLi9pbnN0cnVtZW50YXRpb24vZXZlbnRzL2x0dG5nLW1vZHVs
ZS90aW1lci5oOjE3NjozOiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8gJ2N0Zl9pbnRlZ2Vy
JwogICBjdGZfaW50ZWdlcihzNjQsIHNvZnRleHBpcmVzLAogICBefn5+fn5+fn5+fgovbWVkaWEv
cmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1kbnYvYnVpbGQvdG1wL3dvcmsvaW50ZWxfY29yZWk3
XzY0LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9sdHRuZy1tb2R1bGVzLTIuOS4x
L3Byb2Jlcy8uLi9pbnN0cnVtZW50YXRpb24vZXZlbnRzL2x0dG5nLW1vZHVsZS90aW1lci5oOjE3
Nzo0OiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8gJ2x0dG5nX2t0aW1lX2dldF90djY0Jwog
ICAgbHR0bmdfa3RpbWVfZ2V0X3R2NjQoaHJ0aW1lcl9nZXRfc29mdGV4cGlyZXMoaHJ0aW1lcikp
KQogICAgXn5+fn5+fn5+fn5+fn5+fn5+fn4KL21lZGlhL3JlYmVjY2FzL3lvY3RvL21ldGEtaW50
ZWwtZG52L2J1aWxkL3RtcC93b3JrL2ludGVsX2NvcmVpN182NC1wb2t5LWxpbnV4L2x0dG5nLW1v
ZHVsZXMvMi45LjEtcjAvbHR0bmctbW9kdWxlcy0yLjkuMS9wcm9iZXMvLi4vaW5zdHJ1bWVudGF0
aW9uL2V2ZW50cy9sdHRuZy1tb2R1bGUvdGltZXIuaDoyMjozOTogZXJyb3I6IHJlcXVlc3QgZm9y
IG1lbWJlciAndHY2NCcgaW4gc29tZXRoaW5nIG5vdCBhIHN0cnVjdHVyZSBvciB1bmlvbgogI2Rl
ZmluZSBsdHRuZ19rdGltZV9nZXRfdHY2NChrdCkgKChrdCkudHY2NCkKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgXgovbWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRl
bC1kbnYvYnVpbGQvdG1wL3dvcmsvaW50ZWxfY29yZWk3XzY0LXBva3ktbGludXgvbHR0bmctbW9k
dWxlcy8yLjkuMS1yMC9sdHRuZy1tb2R1bGVzLTIuOS4xL3Byb2Jlcy8uLi9wcm9iZXMvbHR0bmct
dHJhY2Vwb2ludC1ldmVudC1pbXBsLmg6Nzc0OjI6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFj
cm8gJ0xUVE5HX1RSQUNFUE9JTlRfRVZFTlRfQ0xBU1NfQ09ERScKICBfZmllbGRzICAgICAgICAg
ICAgICBcCiAgXn5+fn5+fgovbWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1kbnYvYnVp
bGQvdG1wL3dvcmsvaW50ZWxfY29yZWk3XzY0LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjku
MS1yMC9sdHRuZy1tb2R1bGVzLTIuOS4xL3Byb2Jlcy8uLi9wcm9iZXMvbHR0bmctdHJhY2Vwb2lu
dC1ldmVudC1pbXBsLmg6MTE2OjM6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyAnUEFSQU1T
JwogICBQQVJBTVMoX2ZpZWxkcyksICkKICAgXn5+fn5+Ci9tZWRpYS9yZWJlY2Nhcy95b2N0by9t
ZXRhLWludGVsLWRudi9idWlsZC90bXAvd29yay9pbnRlbF9jb3JlaTdfNjQtcG9reS1saW51eC9s
dHRuZy1tb2R1bGVzLzIuOS4xLXIwL2x0dG5nLW1vZHVsZXMtMi45LjEvcHJvYmVzLy4uL3Byb2Jl
cy9sdHRuZy10cmFjZXBvaW50LWV2ZW50LWltcGwuaDo1MDoyOiBub3RlOiBpbiBleHBhbnNpb24g
b2YgbWFjcm8gJ0xUVE5HX1RSQUNFUE9JTlRfRVZFTlRfQ0xBU1MnCiAgTFRUTkdfVFJBQ0VQT0lO
VF9FVkVOVF9DTEFTUyhtYXAsICAgIFwKICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci9t
ZWRpYS9yZWJlY2Nhcy95b2N0by9tZXRhLWludGVsLWRudi9idWlsZC90bXAvd29yay9pbnRlbF9j
b3JlaTdfNjQtcG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL2x0dG5nLW1vZHVsZXMt
Mi45LjEvcHJvYmVzLy4uL3Byb2Jlcy9sdHRuZy10cmFjZXBvaW50LWV2ZW50LWltcGwuaDo1Mzo5
OiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8gJ1BBUkFNUycKICAgICAgICAgUEFSQU1TKGZp
ZWxkcykpICAgIFwKICAgICAgICAgXn5+fn5+Ci9tZWRpYS9yZWJlY2Nhcy95b2N0by9tZXRhLWlu
dGVsLWRudi9idWlsZC90bXAvd29yay9pbnRlbF9jb3JlaTdfNjQtcG9reS1saW51eC9sdHRuZy1t
b2R1bGVzLzIuOS4xLXIwL2x0dG5nLW1vZHVsZXMtMi45LjEvcHJvYmVzLy4uL2luc3RydW1lbnRh
dGlvbi9ldmVudHMvbHR0bmctbW9kdWxlL3RpbWVyLmg6MTYzOjE6IG5vdGU6IGluIGV4cGFuc2lv
biBvZiBtYWNybyAnTFRUTkdfVFJBQ0VQT0lOVF9FVkVOVF9NQVAnCiBMVFROR19UUkFDRVBPSU5U
X0VWRU5UX01BUChocnRpbWVyX3N0YXJ0LAogXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KL21l
ZGlhL3JlYmVjY2FzL3lvY3RvL21ldGEtaW50ZWwtZG52L2J1aWxkL3RtcC93b3JrL2ludGVsX2Nv
cmVpN182NC1wb2t5LWxpbnV4L2x0dG5nLW1vZHVsZXMvMi45LjEtcjAvbHR0bmctbW9kdWxlcy0y
LjkuMS9wcm9iZXMvLi4vaW5zdHJ1bWVudGF0aW9uL2V2ZW50cy9sdHRuZy1tb2R1bGUvdGltZXIu
aDoxNzE6Mjogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvICdUUF9GSUVMRFMnCiAgVFBfRklF
TERTKAogIF5+fn5+fn5+fgovbWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1kbnYvYnVp
bGQvdG1wL3dvcmsvaW50ZWxfY29yZWk3XzY0LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjku
MS1yMC9sdHRuZy1tb2R1bGVzLTIuOS4xL3Byb2Jlcy8uLi9wcm9iZXMvbHR0bmctdHJhY2Vwb2lu
dC1ldmVudC1pbXBsLmg6NjgwOjI6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyAnX2N0Zl9p
bnRlZ2VyX2V4dF9mZXRjaGVkJwogIF9jdGZfaW50ZWdlcl9leHRfZmV0Y2hlZChfdHlwZSwgX2l0
ZW0sIF9zcmMsIF9ieXRlX29yZGVyLCBfYmFzZSwgX25vd3JpdGUpCiAgXn5+fn5+fn5+fn5+fn5+
fn5+fn5+fn5+Ci9tZWRpYS9yZWJlY2Nhcy95b2N0by9tZXRhLWludGVsLWRudi9idWlsZC90bXAv
d29yay9pbnRlbF9jb3JlaTdfNjQtcG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL2x0
dG5nLW1vZHVsZXMtMi45LjEvcHJvYmVzLy4uL3Byb2Jlcy9sdHRuZy10cmFjZXBvaW50LWV2ZW50
LWltcGwuaDo2OTc6Mjogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvICdfY3RmX2ludGVnZXJf
ZXh0X2lzdXNlcjAnCiAgX2N0Zl9pbnRlZ2VyX2V4dF9pc3VzZXIjI191c2VyKF90eXBlLCBfaXRl
bSwgX3VzZXJfc3JjLCBfYnl0ZV9vcmRlciwgX2Jhc2UsIF9ub3dyaXRlKQogIF5+fn5+fn5+fn5+
fn5+fn5+fn5+fn5+Ci9tZWRpYS9yZWJlY2Nhcy95b2N0by9tZXRhLWludGVsLWRudi9idWlsZC90
bXAvd29yay9pbnRlbF9jb3JlaTdfNjQtcG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIw
L2x0dG5nLW1vZHVsZXMtMi45LjEvcHJvYmVzLy4uL3Byb2Jlcy9sdHRuZy1ldmVudHMtd3JpdGUu
aDoyMzoyOiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8gJ19jdGZfaW50ZWdlcl9leHQnCiAg
X2N0Zl9pbnRlZ2VyX2V4dChfdHlwZSwgX2l0ZW0sIF9zcmMsIF9fQllURV9PUkRFUiwgMTAsIDAs
IDApCiAgXn5+fn5+fn5+fn5+fn5+fgovbWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1k
bnYvYnVpbGQvdG1wL3dvcmsvaW50ZWxfY29yZWk3XzY0LXBva3ktbGludXgvbHR0bmctbW9kdWxl
cy8yLjkuMS1yMC9sdHRuZy1tb2R1bGVzLTIuOS4xL3Byb2Jlcy8uLi9pbnN0cnVtZW50YXRpb24v
ZXZlbnRzL2x0dG5nLW1vZHVsZS90aW1lci5oOjE3NjozOiBub3RlOiBpbiBleHBhbnNpb24gb2Yg
bWFjcm8gJ2N0Zl9pbnRlZ2VyJwogICBjdGZfaW50ZWdlcihzNjQsIHNvZnRleHBpcmVzLAogICBe
fn5+fn5+fn5+fgovbWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1kbnYvYnVpbGQvdG1w
L3dvcmsvaW50ZWxfY29yZWk3XzY0LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9s
dHRuZy1tb2R1bGVzLTIuOS4xL3Byb2Jlcy8uLi9pbnN0cnVtZW50YXRpb24vZXZlbnRzL2x0dG5n
LW1vZHVsZS90aW1lci5oOjE3Nzo0OiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8gJ2x0dG5n
X2t0aW1lX2dldF90djY0JwogICAgbHR0bmdfa3RpbWVfZ2V0X3R2NjQoaHJ0aW1lcl9nZXRfc29m
dGV4cGlyZXMoaHJ0aW1lcikpKQogICAgXn5+fn5+fn5+fn5+fn5+fn5+fn4KL21lZGlhL3JlYmVj
Y2FzL3lvY3RvL21ldGEtaW50ZWwtZG52L2J1aWxkL3RtcC93b3JrL2ludGVsX2NvcmVpN182NC1w
b2t5LWxpbnV4L2x0dG5nLW1vZHVsZXMvMi45LjEtcjAvbHR0bmctbW9kdWxlcy0yLjkuMS9wcm9i
ZXMvLi4vaW5zdHJ1bWVudGF0aW9uL2V2ZW50cy9sdHRuZy1tb2R1bGUvdGltZXIuaDoyMjozOTog
ZXJyb3I6IHJlcXVlc3QgZm9yIG1lbWJlciAndHY2NCcgaW4gc29tZXRoaW5nIG5vdCBhIHN0cnVj
dHVyZSBvciB1bmlvbgogI2RlZmluZSBsdHRuZ19rdGltZV9nZXRfdHY2NChrdCkgKChrdCkudHY2
NCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovbWVkaWEvcmViZWNj
YXMveW9jdG8vbWV0YS1pbnRlbC1kbnYvYnVpbGQvdG1wL3dvcmsvaW50ZWxfY29yZWk3XzY0LXBv
a3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9sdHRuZy1tb2R1bGVzLTIuOS4xL3Byb2Jl
cy8uLi9wcm9iZXMvbHR0bmctdHJhY2Vwb2ludC1ldmVudC1pbXBsLmg6Nzc0OjI6IG5vdGU6IGlu
IGRlZmluaXRpb24gb2YgbWFjcm8gJ0xUVE5HX1RSQUNFUE9JTlRfRVZFTlRfQ0xBU1NfQ09ERScK
ICBfZmllbGRzICAgICAgICAgICAgICBcCiAgXn5+fn5+fgovbWVkaWEvcmViZWNjYXMveW9jdG8v
bWV0YS1pbnRlbC1kbnYvYnVpbGQvdG1wL3dvcmsvaW50ZWxfY29yZWk3XzY0LXBva3ktbGludXgv
bHR0bmctbW9kdWxlcy8yLjkuMS1yMC9sdHRuZy1tb2R1bGVzLTIuOS4xL3Byb2Jlcy8uLi9wcm9i
ZXMvbHR0bmctdHJhY2Vwb2ludC1ldmVudC1pbXBsLmg6MTE2OjM6IG5vdGU6IGluIGV4cGFuc2lv
biBvZiBtYWNybyAnUEFSQU1TJwogICBQQVJBTVMoX2ZpZWxkcyksICkKICAgXn5+fn5+Ci9tZWRp
YS9yZWJlY2Nhcy95b2N0by9tZXRhLWludGVsLWRudi9idWlsZC90bXAvd29yay9pbnRlbF9jb3Jl
aTdfNjQtcG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL2x0dG5nLW1vZHVsZXMtMi45
LjEvcHJvYmVzLy4uL3Byb2Jlcy9sdHRuZy10cmFjZXBvaW50LWV2ZW50LWltcGwuaDo1MDoyOiBu
b3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8gJ0xUVE5HX1RSQUNFUE9JTlRfRVZFTlRfQ0xBU1Mn
CiAgTFRUTkdfVFJBQ0VQT0lOVF9FVkVOVF9DTEFTUyhtYXAsICAgIFwKICBefn5+fn5+fn5+fn5+
fn5+fn5+fn5+fn5+fn5+Ci9tZWRpYS9yZWJlY2Nhcy95b2N0by9tZXRhLWludGVsLWRudi9idWls
ZC90bXAvd29yay9pbnRlbF9jb3JlaTdfNjQtcG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4x
LXIwL2x0dG5nLW1vZHVsZXMtMi45LjEvcHJvYmVzLy4uL3Byb2Jlcy9sdHRuZy10cmFjZXBvaW50
LWV2ZW50LWltcGwuaDo1Mzo5OiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8gJ1BBUkFNUycK
ICAgICAgICAgUEFSQU1TKGZpZWxkcykpICAgIFwKICAgICAgICAgXn5+fn5+Ci9tZWRpYS9yZWJl
Y2Nhcy95b2N0by9tZXRhLWludGVsLWRudi9idWlsZC90bXAvd29yay9pbnRlbF9jb3JlaTdfNjQt
cG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL2x0dG5nLW1vZHVsZXMtMi45LjEvcHJv
YmVzLy4uL2luc3RydW1lbnRhdGlvbi9ldmVudHMvbHR0bmctbW9kdWxlL3RpbWVyLmg6MTYzOjE6
IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyAnTFRUTkdfVFJBQ0VQT0lOVF9FVkVOVF9NQVAn
CiBMVFROR19UUkFDRVBPSU5UX0VWRU5UX01BUChocnRpbWVyX3N0YXJ0LAogXn5+fn5+fn5+fn5+
fn5+fn5+fn5+fn5+fn4KL21lZGlhL3JlYmVjY2FzL3lvY3RvL21ldGEtaW50ZWwtZG52L2J1aWxk
L3RtcC93b3JrL2ludGVsX2NvcmVpN182NC1wb2t5LWxpbnV4L2x0dG5nLW1vZHVsZXMvMi45LjEt
cjAvbHR0bmctbW9kdWxlcy0yLjkuMS9wcm9iZXMvLi4vaW5zdHJ1bWVudGF0aW9uL2V2ZW50cy9s
dHRuZy1tb2R1bGUvdGltZXIuaDoxNzE6Mjogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvICdU
UF9GSUVMRFMnCiAgVFBfRklFTERTKAogIF5+fn5+fn5+fgovbWVkaWEvcmViZWNjYXMveW9jdG8v
bWV0YS1pbnRlbC1kbnYvYnVpbGQvdG1wL3dvcmsvaW50ZWxfY29yZWk3XzY0LXBva3ktbGludXgv
bHR0bmctbW9kdWxlcy8yLjkuMS1yMC9sdHRuZy1tb2R1bGVzLTIuOS4xL3Byb2Jlcy8uLi9wcm9i
ZXMvbHR0bmctdHJhY2Vwb2ludC1ldmVudC1pbXBsLmg6NjgwOjI6IG5vdGU6IGluIGV4cGFuc2lv
biBvZiBtYWNybyAnX2N0Zl9pbnRlZ2VyX2V4dF9mZXRjaGVkJwogIF9jdGZfaW50ZWdlcl9leHRf
ZmV0Y2hlZChfdHlwZSwgX2l0ZW0sIF9zcmMsIF9ieXRlX29yZGVyLCBfYmFzZSwgX25vd3JpdGUp
CiAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci9tZWRpYS9yZWJlY2Nhcy95b2N0by9tZXRhLWlu
dGVsLWRudi9idWlsZC90bXAvd29yay9pbnRlbF9jb3JlaTdfNjQtcG9reS1saW51eC9sdHRuZy1t
b2R1bGVzLzIuOS4xLXIwL2x0dG5nLW1vZHVsZXMtMi45LjEvcHJvYmVzLy4uL3Byb2Jlcy9sdHRu
Zy10cmFjZXBvaW50LWV2ZW50LWltcGwuaDo2OTc6Mjogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1h
Y3JvICdfY3RmX2ludGVnZXJfZXh0X2lzdXNlcjAnCiAgX2N0Zl9pbnRlZ2VyX2V4dF9pc3VzZXIj
I191c2VyKF90eXBlLCBfaXRlbSwgX3VzZXJfc3JjLCBfYnl0ZV9vcmRlciwgX2Jhc2UsIF9ub3dy
aXRlKQogIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci9tZWRpYS9yZWJlY2Nhcy95b2N0by9tZXRh
LWludGVsLWRudi9idWlsZC90bXAvd29yay9pbnRlbF9jb3JlaTdfNjQtcG9reS1saW51eC9sdHRu
Zy1tb2R1bGVzLzIuOS4xLXIwL2x0dG5nLW1vZHVsZXMtMi45LjEvcHJvYmVzLy4uL3Byb2Jlcy9s
dHRuZy1ldmVudHMtd3JpdGUuaDoyMzoyOiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8gJ19j
dGZfaW50ZWdlcl9leHQnCiAgX2N0Zl9pbnRlZ2VyX2V4dChfdHlwZSwgX2l0ZW0sIF9zcmMsIF9f
QllURV9PUkRFUiwgMTAsIDAsIDApCiAgXn5+fn5+fn5+fn5+fn5+fgovbWVkaWEvcmViZWNjYXMv
eW9jdG8vbWV0YS1pbnRlbC1kbnYvYnVpbGQvdG1wL3dvcmsvaW50ZWxfY29yZWk3XzY0LXBva3kt
bGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9sdHRuZy1tb2R1bGVzLTIuOS4xL3Byb2Jlcy8u
Li9pbnN0cnVtZW50YXRpb24vZXZlbnRzL2x0dG5nLW1vZHVsZS90aW1lci5oOjE3NjozOiBub3Rl
OiBpbiBleHBhbnNpb24gb2YgbWFjcm8gJ2N0Zl9pbnRlZ2VyJwogICBjdGZfaW50ZWdlcihzNjQs
IHNvZnRleHBpcmVzLAogICBefn5+fn5+fn5+fgovbWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1p
bnRlbC1kbnYvYnVpbGQvdG1wL3dvcmsvaW50ZWxfY29yZWk3XzY0LXBva3ktbGludXgvbHR0bmct
bW9kdWxlcy8yLjkuMS1yMC9sdHRuZy1tb2R1bGVzLTIuOS4xL3Byb2Jlcy8uLi9pbnN0cnVtZW50
YXRpb24vZXZlbnRzL2x0dG5nLW1vZHVsZS90aW1lci5oOjE3Nzo0OiBub3RlOiBpbiBleHBhbnNp
b24gb2YgbWFjcm8gJ2x0dG5nX2t0aW1lX2dldF90djY0JwogICAgbHR0bmdfa3RpbWVfZ2V0X3R2
NjQoaHJ0aW1lcl9nZXRfc29mdGV4cGlyZXMoaHJ0aW1lcikpKQogICAgXn5+fn5+fn5+fn5+fn5+
fn5+fn4KL21lZGlhL3JlYmVjY2FzL3lvY3RvL21ldGEtaW50ZWwtZG52L2J1aWxkL3RtcC93b3Jr
L2ludGVsX2NvcmVpN182NC1wb2t5LWxpbnV4L2x0dG5nLW1vZHVsZXMvMi45LjEtcjAvbHR0bmct
bW9kdWxlcy0yLjkuMS9wcm9iZXMvLi4vaW5zdHJ1bWVudGF0aW9uL2V2ZW50cy9sdHRuZy1tb2R1
bGUvdGltZXIuaDoyMjozOTogZXJyb3I6IHJlcXVlc3QgZm9yIG1lbWJlciAndHY2NCcgaW4gc29t
ZXRoaW5nIG5vdCBhIHN0cnVjdHVyZSBvciB1bmlvbgogI2RlZmluZSBsdHRuZ19rdGltZV9nZXRf
dHY2NChrdCkgKChrdCkudHY2NCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXgovbWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1kbnYvYnVpbGQvdG1wL3dvcmsv
aW50ZWxfY29yZWk3XzY0LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9sdHRuZy1t
b2R1bGVzLTIuOS4xL3Byb2Jlcy8uLi9wcm9iZXMvbHR0bmctdHJhY2Vwb2ludC1ldmVudC1pbXBs
Lmg6Nzc0OjI6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8gJ0xUVE5HX1RSQUNFUE9JTlRf
RVZFTlRfQ0xBU1NfQ09ERScKICBfZmllbGRzICAgICAgICAgICAgICBcCiAgXn5+fn5+fgovbWVk
aWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1kbnYvYnVpbGQvdG1wL3dvcmsvaW50ZWxfY29y
ZWk3XzY0LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9sdHRuZy1tb2R1bGVzLTIu
OS4xL3Byb2Jlcy8uLi9wcm9iZXMvbHR0bmctdHJhY2Vwb2ludC1ldmVudC1pbXBsLmg6MTE2OjM6
IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyAnUEFSQU1TJwogICBQQVJBTVMoX2ZpZWxkcyks
ICkKICAgXn5+fn5+Ci9tZWRpYS9yZWJlY2Nhcy95b2N0by9tZXRhLWludGVsLWRudi9idWlsZC90
bXAvd29yay9pbnRlbF9jb3JlaTdfNjQtcG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIw
L2x0dG5nLW1vZHVsZXMtMi45LjEvcHJvYmVzLy4uL3Byb2Jlcy9sdHRuZy10cmFjZXBvaW50LWV2
ZW50LWltcGwuaDo1MDoyOiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8gJ0xUVE5HX1RSQUNF
UE9JTlRfRVZFTlRfQ0xBU1MnCiAgTFRUTkdfVFJBQ0VQT0lOVF9FVkVOVF9DTEFTUyhtYXAsICAg
IFwKICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci9tZWRpYS9yZWJlY2Nhcy95b2N0by9t
ZXRhLWludGVsLWRudi9idWlsZC90bXAvd29yay9pbnRlbF9jb3JlaTdfNjQtcG9reS1saW51eC9s
dHRuZy1tb2R1bGVzLzIuOS4xLXIwL2x0dG5nLW1vZHVsZXMtMi45LjEvcHJvYmVzLy4uL3Byb2Jl
cy9sdHRuZy10cmFjZXBvaW50LWV2ZW50LWltcGwuaDo1Mzo5OiBub3RlOiBpbiBleHBhbnNpb24g
b2YgbWFjcm8gJ1BBUkFNUycKICAgICAgICAgUEFSQU1TKGZpZWxkcykpICAgIFwKICAgICAgICAg
Xn5+fn5+Ci9tZWRpYS9yZWJlY2Nhcy95b2N0by9tZXRhLWludGVsLWRudi9idWlsZC90bXAvd29y
ay9pbnRlbF9jb3JlaTdfNjQtcG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL2x0dG5n
LW1vZHVsZXMtMi45LjEvcHJvYmVzLy4uL2luc3RydW1lbnRhdGlvbi9ldmVudHMvbHR0bmctbW9k
dWxlL3RpbWVyLmg6MTYzOjE6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyAnTFRUTkdfVFJB
Q0VQT0lOVF9FVkVOVF9NQVAnCiBMVFROR19UUkFDRVBPSU5UX0VWRU5UX01BUChocnRpbWVyX3N0
YXJ0LAogXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KL21lZGlhL3JlYmVjY2FzL3lvY3RvL21l
dGEtaW50ZWwtZG52L2J1aWxkL3RtcC93b3JrL2ludGVsX2NvcmVpN182NC1wb2t5LWxpbnV4L2x0
dG5nLW1vZHVsZXMvMi45LjEtcjAvbHR0bmctbW9kdWxlcy0yLjkuMS9wcm9iZXMvLi4vaW5zdHJ1
bWVudGF0aW9uL2V2ZW50cy9sdHRuZy1tb2R1bGUvdGltZXIuaDoxNzE6Mjogbm90ZTogaW4gZXhw
YW5zaW9uIG9mIG1hY3JvICdUUF9GSUVMRFMnCiAgVFBfRklFTERTKAogIF5+fn5+fn5+fgovbWVk
aWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1kbnYvYnVpbGQvdG1wL3dvcmsvaW50ZWxfY29y
ZWk3XzY0LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9sdHRuZy1tb2R1bGVzLTIu
OS4xL3Byb2Jlcy8uLi9wcm9iZXMvbHR0bmctdHJhY2Vwb2ludC1ldmVudC1pbXBsLmg6NjgwOjI6
IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyAnX2N0Zl9pbnRlZ2VyX2V4dF9mZXRjaGVkJwog
IF9jdGZfaW50ZWdlcl9leHRfZmV0Y2hlZChfdHlwZSwgX2l0ZW0sIF9zcmMsIF9ieXRlX29yZGVy
LCBfYmFzZSwgX25vd3JpdGUpCiAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci9tZWRpYS9yZWJl
Y2Nhcy95b2N0by9tZXRhLWludGVsLWRudi9idWlsZC90bXAvd29yay9pbnRlbF9jb3JlaTdfNjQt
cG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL2x0dG5nLW1vZHVsZXMtMi45LjEvcHJv
YmVzLy4uL3Byb2Jlcy9sdHRuZy10cmFjZXBvaW50LWV2ZW50LWltcGwuaDo2OTc6Mjogbm90ZTog
aW4gZXhwYW5zaW9uIG9mIG1hY3JvICdfY3RmX2ludGVnZXJfZXh0X2lzdXNlcjAnCiAgX2N0Zl9p
bnRlZ2VyX2V4dF9pc3VzZXIjI191c2VyKF90eXBlLCBfaXRlbSwgX3VzZXJfc3JjLCBfYnl0ZV9v
cmRlciwgX2Jhc2UsIF9ub3dyaXRlKQogIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci9tZWRpYS9y
ZWJlY2Nhcy95b2N0by9tZXRhLWludGVsLWRudi9idWlsZC90bXAvd29yay9pbnRlbF9jb3JlaTdf
NjQtcG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL2x0dG5nLW1vZHVsZXMtMi45LjEv
cHJvYmVzLy4uL3Byb2Jlcy9sdHRuZy1ldmVudHMtd3JpdGUuaDoyMzoyOiBub3RlOiBpbiBleHBh
bnNpb24gb2YgbWFjcm8gJ19jdGZfaW50ZWdlcl9leHQnCiAgX2N0Zl9pbnRlZ2VyX2V4dChfdHlw
ZSwgX2l0ZW0sIF9zcmMsIF9fQllURV9PUkRFUiwgMTAsIDAsIDApCiAgXn5+fn5+fn5+fn5+fn5+
fgovbWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1kbnYvYnVpbGQvdG1wL3dvcmsvaW50
ZWxfY29yZWk3XzY0LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9sdHRuZy1tb2R1
bGVzLTIuOS4xL3Byb2Jlcy8uLi9pbnN0cnVtZW50YXRpb24vZXZlbnRzL2x0dG5nLW1vZHVsZS90
aW1lci5oOjE3NjozOiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8gJ2N0Zl9pbnRlZ2VyJwog
ICBjdGZfaW50ZWdlcihzNjQsIHNvZnRleHBpcmVzLAogICBefn5+fn5+fn5+fgovbWVkaWEvcmVi
ZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1kbnYvYnVpbGQvdG1wL3dvcmsvaW50ZWxfY29yZWk3XzY0
LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9sdHRuZy1tb2R1bGVzLTIuOS4xL3By
b2Jlcy8uLi9pbnN0cnVtZW50YXRpb24vZXZlbnRzL2x0dG5nLW1vZHVsZS90aW1lci5oOjE3Nzo0
OiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8gJ2x0dG5nX2t0aW1lX2dldF90djY0JwogICAg
bHR0bmdfa3RpbWVfZ2V0X3R2NjQoaHJ0aW1lcl9nZXRfc29mdGV4cGlyZXMoaHJ0aW1lcikpKQog
ICAgXn5+fn5+fn5+fn5+fn5+fn5+fn4KL21lZGlhL3JlYmVjY2FzL3lvY3RvL21ldGEtaW50ZWwt
ZG52L2J1aWxkL3RtcC93b3JrL2ludGVsX2NvcmVpN182NC1wb2t5LWxpbnV4L2x0dG5nLW1vZHVs
ZXMvMi45LjEtcjAvbHR0bmctbW9kdWxlcy0yLjkuMS9wcm9iZXMvLi4vaW5zdHJ1bWVudGF0aW9u
L2V2ZW50cy9sdHRuZy1tb2R1bGUvdGltZXIuaDoyMjozOTogZXJyb3I6IHJlcXVlc3QgZm9yIG1l
bWJlciAndHY2NCcgaW4gc29tZXRoaW5nIG5vdCBhIHN0cnVjdHVyZSBvciB1bmlvbgogI2RlZmlu
ZSBsdHRuZ19rdGltZV9nZXRfdHY2NChrdCkgKChrdCkudHY2NCkKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgXgovbWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1k
bnYvYnVpbGQvdG1wL3dvcmsvaW50ZWxfY29yZWk3XzY0LXBva3ktbGludXgvbHR0bmctbW9kdWxl
cy8yLjkuMS1yMC9sdHRuZy1tb2R1bGVzLTIuOS4xL3Byb2Jlcy8uLi9wcm9iZXMvbHR0bmctdHJh
Y2Vwb2ludC1ldmVudC1pbXBsLmg6Nzc0OjI6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8g
J0xUVE5HX1RSQUNFUE9JTlRfRVZFTlRfQ0xBU1NfQ09ERScKICBfZmllbGRzICAgICAgICAgICAg
ICBcCiAgXn5+fn5+fgovbWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1kbnYvYnVpbGQv
dG1wL3dvcmsvaW50ZWxfY29yZWk3XzY0LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1y
MC9sdHRuZy1tb2R1bGVzLTIuOS4xL3Byb2Jlcy8uLi9wcm9iZXMvbHR0bmctdHJhY2Vwb2ludC1l
dmVudC1pbXBsLmg6MTE2OjM6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyAnUEFSQU1TJwog
ICBQQVJBTVMoX2ZpZWxkcyksICkKICAgXn5+fn5+Ci9tZWRpYS9yZWJlY2Nhcy95b2N0by9tZXRh
LWludGVsLWRudi9idWlsZC90bXAvd29yay9pbnRlbF9jb3JlaTdfNjQtcG9reS1saW51eC9sdHRu
Zy1tb2R1bGVzLzIuOS4xLXIwL2x0dG5nLW1vZHVsZXMtMi45LjEvcHJvYmVzLy4uL3Byb2Jlcy9s
dHRuZy10cmFjZXBvaW50LWV2ZW50LWltcGwuaDo1MDoyOiBub3RlOiBpbiBleHBhbnNpb24gb2Yg
bWFjcm8gJ0xUVE5HX1RSQUNFUE9JTlRfRVZFTlRfQ0xBU1MnCiAgTFRUTkdfVFJBQ0VQT0lOVF9F
VkVOVF9DTEFTUyhtYXAsICAgIFwKICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci9tZWRp
YS9yZWJlY2Nhcy95b2N0by9tZXRhLWludGVsLWRudi9idWlsZC90bXAvd29yay9pbnRlbF9jb3Jl
aTdfNjQtcG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL2x0dG5nLW1vZHVsZXMtMi45
LjEvcHJvYmVzLy4uL3Byb2Jlcy9sdHRuZy10cmFjZXBvaW50LWV2ZW50LWltcGwuaDo1Mzo5OiBu
b3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8gJ1BBUkFNUycKICAgICAgICAgUEFSQU1TKGZpZWxk
cykpICAgIFwKICAgICAgICAgXn5+fn5+Ci9tZWRpYS9yZWJlY2Nhcy95b2N0by9tZXRhLWludGVs
LWRudi9idWlsZC90bXAvd29yay9pbnRlbF9jb3JlaTdfNjQtcG9reS1saW51eC9sdHRuZy1tb2R1
bGVzLzIuOS4xLXIwL2x0dG5nLW1vZHVsZXMtMi45LjEvcHJvYmVzLy4uL2luc3RydW1lbnRhdGlv
bi9ldmVudHMvbHR0bmctbW9kdWxlL3RpbWVyLmg6MTYzOjE6IG5vdGU6IGluIGV4cGFuc2lvbiBv
ZiBtYWNybyAnTFRUTkdfVFJBQ0VQT0lOVF9FVkVOVF9NQVAnCiBMVFROR19UUkFDRVBPSU5UX0VW
RU5UX01BUChocnRpbWVyX3N0YXJ0LAogXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KL21lZGlh
L3JlYmVjY2FzL3lvY3RvL21ldGEtaW50ZWwtZG52L2J1aWxkL3RtcC93b3JrL2ludGVsX2NvcmVp
N182NC1wb2t5LWxpbnV4L2x0dG5nLW1vZHVsZXMvMi45LjEtcjAvbHR0bmctbW9kdWxlcy0yLjku
MS9wcm9iZXMvLi4vaW5zdHJ1bWVudGF0aW9uL2V2ZW50cy9sdHRuZy1tb2R1bGUvdGltZXIuaDox
NzE6Mjogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvICdUUF9GSUVMRFMnCiAgVFBfRklFTERT
KAogIF5+fn5+fn5+fgovbWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1kbnYvYnVpbGQv
dG1wL3dvcmsvaW50ZWxfY29yZWk3XzY0LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1y
MC9sdHRuZy1tb2R1bGVzLTIuOS4xL3Byb2Jlcy8uLi9wcm9iZXMvbHR0bmctdHJhY2Vwb2ludC1l
dmVudC1pbXBsLmg6NjgwOjI6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyAnX2N0Zl9pbnRl
Z2VyX2V4dF9mZXRjaGVkJwogIF9jdGZfaW50ZWdlcl9leHRfZmV0Y2hlZChfdHlwZSwgX2l0ZW0s
IF9zcmMsIF9ieXRlX29yZGVyLCBfYmFzZSwgX25vd3JpdGUpCiAgXn5+fn5+fn5+fn5+fn5+fn5+
fn5+fn5+Ci9tZWRpYS9yZWJlY2Nhcy95b2N0by9tZXRhLWludGVsLWRudi9idWlsZC90bXAvd29y
ay9pbnRlbF9jb3JlaTdfNjQtcG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL2x0dG5n
LW1vZHVsZXMtMi45LjEvcHJvYmVzLy4uL3Byb2Jlcy9sdHRuZy10cmFjZXBvaW50LWV2ZW50LWlt
cGwuaDo2OTc6Mjogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvICdfY3RmX2ludGVnZXJfZXh0
X2lzdXNlcjAnCiAgX2N0Zl9pbnRlZ2VyX2V4dF9pc3VzZXIjI191c2VyKF90eXBlLCBfaXRlbSwg
X3VzZXJfc3JjLCBfYnl0ZV9vcmRlciwgX2Jhc2UsIF9ub3dyaXRlKQogIF5+fn5+fn5+fn5+fn5+
fn5+fn5+fn5+Ci9tZWRpYS9yZWJlY2Nhcy95b2N0by9tZXRhLWludGVsLWRudi9idWlsZC90bXAv
d29yay9pbnRlbF9jb3JlaTdfNjQtcG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL2x0
dG5nLW1vZHVsZXMtMi45LjEvcHJvYmVzLy4uL3Byb2Jlcy9sdHRuZy1ldmVudHMtd3JpdGUuaDoy
MzoyOiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8gJ19jdGZfaW50ZWdlcl9leHQnCiAgX2N0
Zl9pbnRlZ2VyX2V4dChfdHlwZSwgX2l0ZW0sIF9zcmMsIF9fQllURV9PUkRFUiwgMTAsIDAsIDAp
CiAgXn5+fn5+fn5+fn5+fn5+fgovbWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1kbnYv
YnVpbGQvdG1wL3dvcmsvaW50ZWxfY29yZWk3XzY0LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8y
LjkuMS1yMC9sdHRuZy1tb2R1bGVzLTIuOS4xL3Byb2Jlcy8uLi9pbnN0cnVtZW50YXRpb24vZXZl
bnRzL2x0dG5nLW1vZHVsZS90aW1lci5oOjE3NjozOiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFj
cm8gJ2N0Zl9pbnRlZ2VyJwogICBjdGZfaW50ZWdlcihzNjQsIHNvZnRleHBpcmVzLAogICBefn5+
fn5+fn5+fgovbWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1kbnYvYnVpbGQvdG1wL3dv
cmsvaW50ZWxfY29yZWk3XzY0LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9sdHRu
Zy1tb2R1bGVzLTIuOS4xL3Byb2Jlcy8uLi9pbnN0cnVtZW50YXRpb24vZXZlbnRzL2x0dG5nLW1v
ZHVsZS90aW1lci5oOjE3Nzo0OiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8gJ2x0dG5nX2t0
aW1lX2dldF90djY0JwogICAgbHR0bmdfa3RpbWVfZ2V0X3R2NjQoaHJ0aW1lcl9nZXRfc29mdGV4
cGlyZXMoaHJ0aW1lcikpKQogICAgXn5+fn5+fn5+fn5+fn5+fn5+fn4KL21lZGlhL3JlYmVjY2Fz
L3lvY3RvL21ldGEtaW50ZWwtZG52L2J1aWxkL3RtcC93b3JrL2ludGVsX2NvcmVpN182NC1wb2t5
LWxpbnV4L2x0dG5nLW1vZHVsZXMvMi45LjEtcjAvbHR0bmctbW9kdWxlcy0yLjkuMS9wcm9iZXMv
Li4vaW5zdHJ1bWVudGF0aW9uL2V2ZW50cy9sdHRuZy1tb2R1bGUvdGltZXIuaDogSW4gZnVuY3Rp
b24gJ19fZXZlbnRfcHJlcGFyZV9maWx0ZXJfc3RhY2tfX3RpbWVyX2hydGltZXJfZXhwaXJlX2Vu
dHJ5JzoKL21lZGlhL3JlYmVjY2FzL3lvY3RvL21ldGEtaW50ZWwtZG52L2J1aWxkL3RtcC93b3Jr
L2ludGVsX2NvcmVpN182NC1wb2t5LWxpbnV4L2x0dG5nLW1vZHVsZXMvMi45LjEtcjAvbHR0bmct
bW9kdWxlcy0yLjkuMS9wcm9iZXMvLi4vaW5zdHJ1bWVudGF0aW9uL2V2ZW50cy9sdHRuZy1tb2R1
bGUvdGltZXIuaDoyMjozOTogZXJyb3I6IHJlcXVlc3QgZm9yIG1lbWJlciAndHY2NCcgaW4gc29t
ZXRoaW5nIG5vdCBhIHN0cnVjdHVyZSBvciB1bmlvbgogI2RlZmluZSBsdHRuZ19rdGltZV9nZXRf
dHY2NChrdCkgKChrdCkudHY2NCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXgovbWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1kbnYvYnVpbGQvdG1wL3dvcmsv
aW50ZWxfY29yZWk3XzY0LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9sdHRuZy1t
b2R1bGVzLTIuOS4xL3Byb2Jlcy8uLi9wcm9iZXMvbHR0bmctdHJhY2Vwb2ludC1ldmVudC1pbXBs
Lmg6Nzc0OjI6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8gJ0xUVE5HX1RSQUNFUE9JTlRf
RVZFTlRfQ0xBU1NfQ09ERScKICBfZmllbGRzICAgICAgICAgICAgICBcCiAgXn5+fn5+fgovbWVk
aWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1kbnYvYnVpbGQvdG1wL3dvcmsvaW50ZWxfY29y
ZWk3XzY0LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9sdHRuZy1tb2R1bGVzLTIu
OS4xL3Byb2Jlcy8uLi9wcm9iZXMvbHR0bmctdHJhY2Vwb2ludC1ldmVudC1pbXBsLmg6MTE2OjM6
IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyAnUEFSQU1TJwogICBQQVJBTVMoX2ZpZWxkcyks
ICkKICAgXn5+fn5+Ci9tZWRpYS9yZWJlY2Nhcy95b2N0by9tZXRhLWludGVsLWRudi9idWlsZC90
bXAvd29yay9pbnRlbF9jb3JlaTdfNjQtcG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIw
L2x0dG5nLW1vZHVsZXMtMi45LjEvcHJvYmVzLy4uL3Byb2Jlcy9sdHRuZy10cmFjZXBvaW50LWV2
ZW50LWltcGwuaDo1MDoyOiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8gJ0xUVE5HX1RSQUNF
UE9JTlRfRVZFTlRfQ0xBU1MnCiAgTFRUTkdfVFJBQ0VQT0lOVF9FVkVOVF9DTEFTUyhtYXAsICAg
IFwKICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci9tZWRpYS9yZWJlY2Nhcy95b2N0by9t
ZXRhLWludGVsLWRudi9idWlsZC90bXAvd29yay9pbnRlbF9jb3JlaTdfNjQtcG9reS1saW51eC9s
dHRuZy1tb2R1bGVzLzIuOS4xLXIwL2x0dG5nLW1vZHVsZXMtMi45LjEvcHJvYmVzLy4uL3Byb2Jl
cy9sdHRuZy10cmFjZXBvaW50LWV2ZW50LWltcGwuaDo1Mzo5OiBub3RlOiBpbiBleHBhbnNpb24g
b2YgbWFjcm8gJ1BBUkFNUycKICAgICAgICAgUEFSQU1TKGZpZWxkcykpICAgIFwKICAgICAgICAg
Xn5+fn5+Ci9tZWRpYS9yZWJlY2Nhcy95b2N0by9tZXRhLWludGVsLWRudi9idWlsZC90bXAvd29y
ay9pbnRlbF9jb3JlaTdfNjQtcG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL2x0dG5n
LW1vZHVsZXMtMi45LjEvcHJvYmVzLy4uL2luc3RydW1lbnRhdGlvbi9ldmVudHMvbHR0bmctbW9k
dWxlL3RpbWVyLmg6MTg5OjE6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyAnTFRUTkdfVFJB
Q0VQT0lOVF9FVkVOVF9NQVAnCiBMVFROR19UUkFDRVBPSU5UX0VWRU5UX01BUChocnRpbWVyX2V4
cGlyZV9lbnRyeSwKIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci9tZWRpYS9yZWJlY2Nhcy95
b2N0by9tZXRhLWludGVsLWRudi9idWlsZC90bXAvd29yay9pbnRlbF9jb3JlaTdfNjQtcG9reS1s
aW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL2x0dG5nLW1vZHVsZXMtMi45LjEvcHJvYmVzLy4u
L2luc3RydW1lbnRhdGlvbi9ldmVudHMvbHR0bmctbW9kdWxlL3RpbWVyLmg6MTk3OjI6IG5vdGU6
IGluIGV4cGFuc2lvbiBvZiBtYWNybyAnVFBfRklFTERTJwogIFRQX0ZJRUxEUygKICBefn5+fn5+
fn4KL21lZGlhL3JlYmVjY2FzL3lvY3RvL21ldGEtaW50ZWwtZG52L2J1aWxkL3RtcC93b3JrL2lu
dGVsX2NvcmVpN182NC1wb2t5LWxpbnV4L2x0dG5nLW1vZHVsZXMvMi45LjEtcjAvbHR0bmctbW9k
dWxlcy0yLjkuMS9wcm9iZXMvLi4vcHJvYmVzL2x0dG5nLXRyYWNlcG9pbnQtZXZlbnQtaW1wbC5o
OjY4MDoyOiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8gJ19jdGZfaW50ZWdlcl9leHRfZmV0
Y2hlZCcKICBfY3RmX2ludGVnZXJfZXh0X2ZldGNoZWQoX3R5cGUsIF9pdGVtLCBfc3JjLCBfYnl0
ZV9vcmRlciwgX2Jhc2UsIF9ub3dyaXRlKQogIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgovbWVk
aWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1kbnYvYnVpbGQvdG1wL3dvcmsvaW50ZWxfY29y
ZWk3XzY0LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9sdHRuZy1tb2R1bGVzLTIu
OS4xL3Byb2Jlcy8uLi9wcm9iZXMvbHR0bmctdHJhY2Vwb2ludC1ldmVudC1pbXBsLmg6Njk3OjI6
IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyAnX2N0Zl9pbnRlZ2VyX2V4dF9pc3VzZXIwJwog
IF9jdGZfaW50ZWdlcl9leHRfaXN1c2VyIyNfdXNlcihfdHlwZSwgX2l0ZW0sIF91c2VyX3NyYywg
X2J5dGVfb3JkZXIsIF9iYXNlLCBfbm93cml0ZSkKICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fgov
bWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1kbnYvYnVpbGQvdG1wL3dvcmsvaW50ZWxf
Y29yZWk3XzY0LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9sdHRuZy1tb2R1bGVz
LTIuOS4xL3Byb2Jlcy8uLi9wcm9iZXMvbHR0bmctZXZlbnRzLXdyaXRlLmg6MjM6Mjogbm90ZTog
aW4gZXhwYW5zaW9uIG9mIG1hY3JvICdfY3RmX2ludGVnZXJfZXh0JwogIF9jdGZfaW50ZWdlcl9l
eHQoX3R5cGUsIF9pdGVtLCBfc3JjLCBfX0JZVEVfT1JERVIsIDEwLCAwLCAwKQogIF5+fn5+fn5+
fn5+fn5+fn4KL21lZGlhL3JlYmVjY2FzL3lvY3RvL21ldGEtaW50ZWwtZG52L2J1aWxkL3RtcC93
b3JrL2ludGVsX2NvcmVpN182NC1wb2t5LWxpbnV4L2x0dG5nLW1vZHVsZXMvMi45LjEtcjAvbHR0
bmctbW9kdWxlcy0yLjkuMS9wcm9iZXMvLi4vaW5zdHJ1bWVudGF0aW9uL2V2ZW50cy9sdHRuZy1t
b2R1bGUvdGltZXIuaDoxOTk6Mzogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvICdjdGZfaW50
ZWdlcicKICAgY3RmX2ludGVnZXIoczY0LCBub3csIGx0dG5nX2t0aW1lX2dldF90djY0KCpub3cp
KQogICBefn5+fn5+fn5+fgovbWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1kbnYvYnVp
bGQvdG1wL3dvcmsvaW50ZWxfY29yZWk3XzY0LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjku
MS1yMC9sdHRuZy1tb2R1bGVzLTIuOS4xL3Byb2Jlcy8uLi9pbnN0cnVtZW50YXRpb24vZXZlbnRz
L2x0dG5nLW1vZHVsZS90aW1lci5oOjE5OToyNTogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3Jv
ICdsdHRuZ19rdGltZV9nZXRfdHY2NCcKICAgY3RmX2ludGVnZXIoczY0LCBub3csIGx0dG5nX2t0
aW1lX2dldF90djY0KCpub3cpKQogICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+
fn5+fn5+fn4KL21lZGlhL3JlYmVjY2FzL3lvY3RvL21ldGEtaW50ZWwtZG52L2J1aWxkL3RtcC93
b3JrL2ludGVsX2NvcmVpN182NC1wb2t5LWxpbnV4L2x0dG5nLW1vZHVsZXMvMi45LjEtcjAvbHR0
bmctbW9kdWxlcy0yLjkuMS9wcm9iZXMvLi4vaW5zdHJ1bWVudGF0aW9uL2V2ZW50cy9sdHRuZy1t
b2R1bGUvdGltZXIuaDoyMjozOTogZXJyb3I6IHJlcXVlc3QgZm9yIG1lbWJlciAndHY2NCcgaW4g
c29tZXRoaW5nIG5vdCBhIHN0cnVjdHVyZSBvciB1bmlvbgogI2RlZmluZSBsdHRuZ19rdGltZV9n
ZXRfdHY2NChrdCkgKChrdCkudHY2NCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXgovbWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1kbnYvYnVpbGQvdG1wL3dv
cmsvaW50ZWxfY29yZWk3XzY0LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9sdHRu
Zy1tb2R1bGVzLTIuOS4xL3Byb2Jlcy8uLi9wcm9iZXMvbHR0bmctdHJhY2Vwb2ludC1ldmVudC1p
bXBsLmg6Nzc0OjI6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8gJ0xUVE5HX1RSQUNFUE9J
TlRfRVZFTlRfQ0xBU1NfQ09ERScKICBfZmllbGRzICAgICAgICAgICAgICBcCiAgXn5+fn5+fgov
bWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1kbnYvYnVpbGQvdG1wL3dvcmsvaW50ZWxf
Y29yZWk3XzY0LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9sdHRuZy1tb2R1bGVz
LTIuOS4xL3Byb2Jlcy8uLi9wcm9iZXMvbHR0bmctdHJhY2Vwb2ludC1ldmVudC1pbXBsLmg6MTE2
OjM6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyAnUEFSQU1TJwogICBQQVJBTVMoX2ZpZWxk
cyksICkKICAgXn5+fn5+Ci9tZWRpYS9yZWJlY2Nhcy95b2N0by9tZXRhLWludGVsLWRudi9idWls
ZC90bXAvd29yay9pbnRlbF9jb3JlaTdfNjQtcG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4x
LXIwL2x0dG5nLW1vZHVsZXMtMi45LjEvcHJvYmVzLy4uL3Byb2Jlcy9sdHRuZy10cmFjZXBvaW50
LWV2ZW50LWltcGwuaDo1MDoyOiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8gJ0xUVE5HX1RS
QUNFUE9JTlRfRVZFTlRfQ0xBU1MnCiAgTFRUTkdfVFJBQ0VQT0lOVF9FVkVOVF9DTEFTUyhtYXAs
ICAgIFwKICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci9tZWRpYS9yZWJlY2Nhcy95b2N0
by9tZXRhLWludGVsLWRudi9idWlsZC90bXAvd29yay9pbnRlbF9jb3JlaTdfNjQtcG9reS1saW51
eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL2x0dG5nLW1vZHVsZXMtMi45LjEvcHJvYmVzLy4uL3By
b2Jlcy9sdHRuZy10cmFjZXBvaW50LWV2ZW50LWltcGwuaDo1Mzo5OiBub3RlOiBpbiBleHBhbnNp
b24gb2YgbWFjcm8gJ1BBUkFNUycKICAgICAgICAgUEFSQU1TKGZpZWxkcykpICAgIFwKICAgICAg
ICAgXn5+fn5+Ci9tZWRpYS9yZWJlY2Nhcy95b2N0by9tZXRhLWludGVsLWRudi9idWlsZC90bXAv
d29yay9pbnRlbF9jb3JlaTdfNjQtcG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL2x0
dG5nLW1vZHVsZXMtMi45LjEvcHJvYmVzLy4uL2luc3RydW1lbnRhdGlvbi9ldmVudHMvbHR0bmct
bW9kdWxlL3RpbWVyLmg6MTg5OjE6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyAnTFRUTkdf
VFJBQ0VQT0lOVF9FVkVOVF9NQVAnCiBMVFROR19UUkFDRVBPSU5UX0VWRU5UX01BUChocnRpbWVy
X2V4cGlyZV9lbnRyeSwKIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci9tZWRpYS9yZWJlY2Nh
cy95b2N0by9tZXRhLWludGVsLWRudi9idWlsZC90bXAvd29yay9pbnRlbF9jb3JlaTdfNjQtcG9r
eS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL2x0dG5nLW1vZHVsZXMtMi45LjEvcHJvYmVz
Ly4uL2luc3RydW1lbnRhdGlvbi9ldmVudHMvbHR0bmctbW9kdWxlL3RpbWVyLmg6MTk3OjI6IG5v
dGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyAnVFBfRklFTERTJwogIFRQX0ZJRUxEUygKICBefn5+
fn5+fn4KL21lZGlhL3JlYmVjY2FzL3lvY3RvL21ldGEtaW50ZWwtZG52L2J1aWxkL3RtcC93b3Jr
L2ludGVsX2NvcmVpN182NC1wb2t5LWxpbnV4L2x0dG5nLW1vZHVsZXMvMi45LjEtcjAvbHR0bmct
bW9kdWxlcy0yLjkuMS9wcm9iZXMvLi4vcHJvYmVzL2x0dG5nLXRyYWNlcG9pbnQtZXZlbnQtaW1w
bC5oOjY4MDoyOiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8gJ19jdGZfaW50ZWdlcl9leHRf
ZmV0Y2hlZCcKICBfY3RmX2ludGVnZXJfZXh0X2ZldGNoZWQoX3R5cGUsIF9pdGVtLCBfc3JjLCBf
Ynl0ZV9vcmRlciwgX2Jhc2UsIF9ub3dyaXRlKQogIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgov
bWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1kbnYvYnVpbGQvdG1wL3dvcmsvaW50ZWxf
Y29yZWk3XzY0LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9sdHRuZy1tb2R1bGVz
LTIuOS4xL3Byb2Jlcy8uLi9wcm9iZXMvbHR0bmctdHJhY2Vwb2ludC1ldmVudC1pbXBsLmg6Njk3
OjI6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyAnX2N0Zl9pbnRlZ2VyX2V4dF9pc3VzZXIw
JwogIF9jdGZfaW50ZWdlcl9leHRfaXN1c2VyIyNfdXNlcihfdHlwZSwgX2l0ZW0sIF91c2VyX3Ny
YywgX2J5dGVfb3JkZXIsIF9iYXNlLCBfbm93cml0ZSkKICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+
fgovbWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1kbnYvYnVpbGQvdG1wL3dvcmsvaW50
ZWxfY29yZWk3XzY0LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9sdHRuZy1tb2R1
bGVzLTIuOS4xL3Byb2Jlcy8uLi9wcm9iZXMvbHR0bmctZXZlbnRzLXdyaXRlLmg6MjM6Mjogbm90
ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvICdfY3RmX2ludGVnZXJfZXh0JwogIF9jdGZfaW50ZWdl
cl9leHQoX3R5cGUsIF9pdGVtLCBfc3JjLCBfX0JZVEVfT1JERVIsIDEwLCAwLCAwKQogIF5+fn5+
fn5+fn5+fn5+fn4KL21lZGlhL3JlYmVjY2FzL3lvY3RvL21ldGEtaW50ZWwtZG52L2J1aWxkL3Rt
cC93b3JrL2ludGVsX2NvcmVpN182NC1wb2t5LWxpbnV4L2x0dG5nLW1vZHVsZXMvMi45LjEtcjAv
bHR0bmctbW9kdWxlcy0yLjkuMS9wcm9iZXMvLi4vaW5zdHJ1bWVudGF0aW9uL2V2ZW50cy9sdHRu
Zy1tb2R1bGUvdGltZXIuaDoxOTk6Mzogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvICdjdGZf
aW50ZWdlcicKICAgY3RmX2ludGVnZXIoczY0LCBub3csIGx0dG5nX2t0aW1lX2dldF90djY0KCpu
b3cpKQogICBefn5+fn5+fn5+fgovbWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1kbnYv
YnVpbGQvdG1wL3dvcmsvaW50ZWxfY29yZWk3XzY0LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8y
LjkuMS1yMC9sdHRuZy1tb2R1bGVzLTIuOS4xL3Byb2Jlcy8uLi9pbnN0cnVtZW50YXRpb24vZXZl
bnRzL2x0dG5nLW1vZHVsZS90aW1lci5oOjE5OToyNTogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1h
Y3JvICdsdHRuZ19rdGltZV9nZXRfdHY2NCcKICAgY3RmX2ludGVnZXIoczY0LCBub3csIGx0dG5n
X2t0aW1lX2dldF90djY0KCpub3cpKQogICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+
fn5+fn5+fn5+fn4KL21lZGlhL3JlYmVjY2FzL3lvY3RvL21ldGEtaW50ZWwtZG52L2J1aWxkL3Rt
cC93b3JrL2ludGVsX2NvcmVpN182NC1wb2t5LWxpbnV4L2x0dG5nLW1vZHVsZXMvMi45LjEtcjAv
bHR0bmctbW9kdWxlcy0yLjkuMS9wcm9iZXMvLi4vaW5zdHJ1bWVudGF0aW9uL2V2ZW50cy9sdHRu
Zy1tb2R1bGUvdGltZXIuaDoyMjozOTogZXJyb3I6IHJlcXVlc3QgZm9yIG1lbWJlciAndHY2NCcg
aW4gc29tZXRoaW5nIG5vdCBhIHN0cnVjdHVyZSBvciB1bmlvbgogI2RlZmluZSBsdHRuZ19rdGlt
ZV9nZXRfdHY2NChrdCkgKChrdCkudHY2NCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgXgovbWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1kbnYvYnVpbGQvdG1w
L3dvcmsvaW50ZWxfY29yZWk3XzY0LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9s
dHRuZy1tb2R1bGVzLTIuOS4xL3Byb2Jlcy8uLi9wcm9iZXMvbHR0bmctdHJhY2Vwb2ludC1ldmVu
dC1pbXBsLmg6Nzc0OjI6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8gJ0xUVE5HX1RSQUNF
UE9JTlRfRVZFTlRfQ0xBU1NfQ09ERScKICBfZmllbGRzICAgICAgICAgICAgICBcCiAgXn5+fn5+
fgovbWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1kbnYvYnVpbGQvdG1wL3dvcmsvaW50
ZWxfY29yZWk3XzY0LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9sdHRuZy1tb2R1
bGVzLTIuOS4xL3Byb2Jlcy8uLi9wcm9iZXMvbHR0bmctdHJhY2Vwb2ludC1ldmVudC1pbXBsLmg6
MTE2OjM6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyAnUEFSQU1TJwogICBQQVJBTVMoX2Zp
ZWxkcyksICkKICAgXn5+fn5+Ci9tZWRpYS9yZWJlY2Nhcy95b2N0by9tZXRhLWludGVsLWRudi9i
dWlsZC90bXAvd29yay9pbnRlbF9jb3JlaTdfNjQtcG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIu
OS4xLXIwL2x0dG5nLW1vZHVsZXMtMi45LjEvcHJvYmVzLy4uL3Byb2Jlcy9sdHRuZy10cmFjZXBv
aW50LWV2ZW50LWltcGwuaDo1MDoyOiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8gJ0xUVE5H
X1RSQUNFUE9JTlRfRVZFTlRfQ0xBU1MnCiAgTFRUTkdfVFJBQ0VQT0lOVF9FVkVOVF9DTEFTUyht
YXAsICAgIFwKICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci9tZWRpYS9yZWJlY2Nhcy95
b2N0by9tZXRhLWludGVsLWRudi9idWlsZC90bXAvd29yay9pbnRlbF9jb3JlaTdfNjQtcG9reS1s
aW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL2x0dG5nLW1vZHVsZXMtMi45LjEvcHJvYmVzLy4u
L3Byb2Jlcy9sdHRuZy10cmFjZXBvaW50LWV2ZW50LWltcGwuaDo1Mzo5OiBub3RlOiBpbiBleHBh
bnNpb24gb2YgbWFjcm8gJ1BBUkFNUycKICAgICAgICAgUEFSQU1TKGZpZWxkcykpICAgIFwKICAg
ICAgICAgXn5+fn5+Ci9tZWRpYS9yZWJlY2Nhcy95b2N0by9tZXRhLWludGVsLWRudi9idWlsZC90
bXAvd29yay9pbnRlbF9jb3JlaTdfNjQtcG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIw
L2x0dG5nLW1vZHVsZXMtMi45LjEvcHJvYmVzLy4uL2luc3RydW1lbnRhdGlvbi9ldmVudHMvbHR0
bmctbW9kdWxlL3RpbWVyLmg6MTg5OjE6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyAnTFRU
TkdfVFJBQ0VQT0lOVF9FVkVOVF9NQVAnCiBMVFROR19UUkFDRVBPSU5UX0VWRU5UX01BUChocnRp
bWVyX2V4cGlyZV9lbnRyeSwKIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci9tZWRpYS9yZWJl
Y2Nhcy95b2N0by9tZXRhLWludGVsLWRudi9idWlsZC90bXAvd29yay9pbnRlbF9jb3JlaTdfNjQt
cG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL2x0dG5nLW1vZHVsZXMtMi45LjEvcHJv
YmVzLy4uL2luc3RydW1lbnRhdGlvbi9ldmVudHMvbHR0bmctbW9kdWxlL3RpbWVyLmg6MTk3OjI6
IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyAnVFBfRklFTERTJwogIFRQX0ZJRUxEUygKICBe
fn5+fn5+fn4KL21lZGlhL3JlYmVjY2FzL3lvY3RvL21ldGEtaW50ZWwtZG52L2J1aWxkL3RtcC93
b3JrL2ludGVsX2NvcmVpN182NC1wb2t5LWxpbnV4L2x0dG5nLW1vZHVsZXMvMi45LjEtcjAvbHR0
bmctbW9kdWxlcy0yLjkuMS9wcm9iZXMvLi4vcHJvYmVzL2x0dG5nLXRyYWNlcG9pbnQtZXZlbnQt
aW1wbC5oOjY4MDoyOiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8gJ19jdGZfaW50ZWdlcl9l
eHRfZmV0Y2hlZCcKICBfY3RmX2ludGVnZXJfZXh0X2ZldGNoZWQoX3R5cGUsIF9pdGVtLCBfc3Jj
LCBfYnl0ZV9vcmRlciwgX2Jhc2UsIF9ub3dyaXRlKQogIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+
fgovbWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1kbnYvYnVpbGQvdG1wL3dvcmsvaW50
ZWxfY29yZWk3XzY0LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9sdHRuZy1tb2R1
bGVzLTIuOS4xL3Byb2Jlcy8uLi9wcm9iZXMvbHR0bmctdHJhY2Vwb2ludC1ldmVudC1pbXBsLmg6
Njk3OjI6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyAnX2N0Zl9pbnRlZ2VyX2V4dF9pc3Vz
ZXIwJwogIF9jdGZfaW50ZWdlcl9leHRfaXN1c2VyIyNfdXNlcihfdHlwZSwgX2l0ZW0sIF91c2Vy
X3NyYywgX2J5dGVfb3JkZXIsIF9iYXNlLCBfbm93cml0ZSkKICBefn5+fn5+fn5+fn5+fn5+fn5+
fn5+fgovbWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1kbnYvYnVpbGQvdG1wL3dvcmsv
aW50ZWxfY29yZWk3XzY0LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9sdHRuZy1t
b2R1bGVzLTIuOS4xL3Byb2Jlcy8uLi9wcm9iZXMvbHR0bmctZXZlbnRzLXdyaXRlLmg6MjM6Mjog
bm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvICdfY3RmX2ludGVnZXJfZXh0JwogIF9jdGZfaW50
ZWdlcl9leHQoX3R5cGUsIF9pdGVtLCBfc3JjLCBfX0JZVEVfT1JERVIsIDEwLCAwLCAwKQogIF5+
fn5+fn5+fn5+fn5+fn4KL21lZGlhL3JlYmVjY2FzL3lvY3RvL21ldGEtaW50ZWwtZG52L2J1aWxk
L3RtcC93b3JrL2ludGVsX2NvcmVpN182NC1wb2t5LWxpbnV4L2x0dG5nLW1vZHVsZXMvMi45LjEt
cjAvbHR0bmctbW9kdWxlcy0yLjkuMS9wcm9iZXMvLi4vaW5zdHJ1bWVudGF0aW9uL2V2ZW50cy9s
dHRuZy1tb2R1bGUvdGltZXIuaDoxOTk6Mzogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvICdj
dGZfaW50ZWdlcicKICAgY3RmX2ludGVnZXIoczY0LCBub3csIGx0dG5nX2t0aW1lX2dldF90djY0
KCpub3cpKQogICBefn5+fn5+fn5+fgovbWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1k
bnYvYnVpbGQvdG1wL3dvcmsvaW50ZWxfY29yZWk3XzY0LXBva3ktbGludXgvbHR0bmctbW9kdWxl
cy8yLjkuMS1yMC9sdHRuZy1tb2R1bGVzLTIuOS4xL3Byb2Jlcy8uLi9pbnN0cnVtZW50YXRpb24v
ZXZlbnRzL2x0dG5nLW1vZHVsZS90aW1lci5oOjE5OToyNTogbm90ZTogaW4gZXhwYW5zaW9uIG9m
IG1hY3JvICdsdHRuZ19rdGltZV9nZXRfdHY2NCcKICAgY3RmX2ludGVnZXIoczY0LCBub3csIGx0
dG5nX2t0aW1lX2dldF90djY0KCpub3cpKQogICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+
fn5+fn5+fn5+fn5+fn4KL21lZGlhL3JlYmVjY2FzL3lvY3RvL21ldGEtaW50ZWwtZG52L2J1aWxk
L3RtcC93b3JrL2ludGVsX2NvcmVpN182NC1wb2t5LWxpbnV4L2x0dG5nLW1vZHVsZXMvMi45LjEt
cjAvbHR0bmctbW9kdWxlcy0yLjkuMS9wcm9iZXMvLi4vaW5zdHJ1bWVudGF0aW9uL2V2ZW50cy9s
dHRuZy1tb2R1bGUvdGltZXIuaDoyMjozOTogZXJyb3I6IHJlcXVlc3QgZm9yIG1lbWJlciAndHY2
NCcgaW4gc29tZXRoaW5nIG5vdCBhIHN0cnVjdHVyZSBvciB1bmlvbgogI2RlZmluZSBsdHRuZ19r
dGltZV9nZXRfdHY2NChrdCkgKChrdCkudHY2NCkKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgXgovbWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1kbnYvYnVpbGQv
dG1wL3dvcmsvaW50ZWxfY29yZWk3XzY0LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1y
MC9sdHRuZy1tb2R1bGVzLTIuOS4xL3Byb2Jlcy8uLi9wcm9iZXMvbHR0bmctdHJhY2Vwb2ludC1l
dmVudC1pbXBsLmg6Nzc0OjI6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8gJ0xUVE5HX1RS
QUNFUE9JTlRfRVZFTlRfQ0xBU1NfQ09ERScKICBfZmllbGRzICAgICAgICAgICAgICBcCiAgXn5+
fn5+fgovbWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1kbnYvYnVpbGQvdG1wL3dvcmsv
aW50ZWxfY29yZWk3XzY0LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9sdHRuZy1t
b2R1bGVzLTIuOS4xL3Byb2Jlcy8uLi9wcm9iZXMvbHR0bmctdHJhY2Vwb2ludC1ldmVudC1pbXBs
Lmg6MTE2OjM6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyAnUEFSQU1TJwogICBQQVJBTVMo
X2ZpZWxkcyksICkKICAgXn5+fn5+Ci9tZWRpYS9yZWJlY2Nhcy95b2N0by9tZXRhLWludGVsLWRu
di9idWlsZC90bXAvd29yay9pbnRlbF9jb3JlaTdfNjQtcG9reS1saW51eC9sdHRuZy1tb2R1bGVz
LzIuOS4xLXIwL2x0dG5nLW1vZHVsZXMtMi45LjEvcHJvYmVzLy4uL3Byb2Jlcy9sdHRuZy10cmFj
ZXBvaW50LWV2ZW50LWltcGwuaDo1MDoyOiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8gJ0xU
VE5HX1RSQUNFUE9JTlRfRVZFTlRfQ0xBU1MnCiAgTFRUTkdfVFJBQ0VQT0lOVF9FVkVOVF9DTEFT
UyhtYXAsICAgIFwKICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci9tZWRpYS9yZWJlY2Nh
cy95b2N0by9tZXRhLWludGVsLWRudi9idWlsZC90bXAvd29yay9pbnRlbF9jb3JlaTdfNjQtcG9r
eS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL2x0dG5nLW1vZHVsZXMtMi45LjEvcHJvYmVz
Ly4uL3Byb2Jlcy9sdHRuZy10cmFjZXBvaW50LWV2ZW50LWltcGwuaDo1Mzo5OiBub3RlOiBpbiBl
eHBhbnNpb24gb2YgbWFjcm8gJ1BBUkFNUycKICAgICAgICAgUEFSQU1TKGZpZWxkcykpICAgIFwK
ICAgICAgICAgXn5+fn5+Ci9tZWRpYS9yZWJlY2Nhcy95b2N0by9tZXRhLWludGVsLWRudi9idWls
ZC90bXAvd29yay9pbnRlbF9jb3JlaTdfNjQtcG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4x
LXIwL2x0dG5nLW1vZHVsZXMtMi45LjEvcHJvYmVzLy4uL2luc3RydW1lbnRhdGlvbi9ldmVudHMv
bHR0bmctbW9kdWxlL3RpbWVyLmg6MTg5OjE6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyAn
TFRUTkdfVFJBQ0VQT0lOVF9FVkVOVF9NQVAnCiBMVFROR19UUkFDRVBPSU5UX0VWRU5UX01BUCho
cnRpbWVyX2V4cGlyZV9lbnRyeSwKIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci9tZWRpYS9y
ZWJlY2Nhcy95b2N0by9tZXRhLWludGVsLWRudi9idWlsZC90bXAvd29yay9pbnRlbF9jb3JlaTdf
NjQtcG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL2x0dG5nLW1vZHVsZXMtMi45LjEv
cHJvYmVzLy4uL2luc3RydW1lbnRhdGlvbi9ldmVudHMvbHR0bmctbW9kdWxlL3RpbWVyLmg6MTk3
OjI6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyAnVFBfRklFTERTJwogIFRQX0ZJRUxEUygK
ICBefn5+fn5+fn4KL21lZGlhL3JlYmVjY2FzL3lvY3RvL21ldGEtaW50ZWwtZG52L2J1aWxkL3Rt
cC93b3JrL2ludGVsX2NvcmVpN182NC1wb2t5LWxpbnV4L2x0dG5nLW1vZHVsZXMvMi45LjEtcjAv
bHR0bmctbW9kdWxlcy0yLjkuMS9wcm9iZXMvLi4vcHJvYmVzL2x0dG5nLXRyYWNlcG9pbnQtZXZl
bnQtaW1wbC5oOjY4MDoyOiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8gJ19jdGZfaW50ZWdl
cl9leHRfZmV0Y2hlZCcKICBfY3RmX2ludGVnZXJfZXh0X2ZldGNoZWQoX3R5cGUsIF9pdGVtLCBf
c3JjLCBfYnl0ZV9vcmRlciwgX2Jhc2UsIF9ub3dyaXRlKQogIF5+fn5+fn5+fn5+fn5+fn5+fn5+
fn5+fgovbWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1kbnYvYnVpbGQvdG1wL3dvcmsv
aW50ZWxfY29yZWk3XzY0LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9sdHRuZy1t
b2R1bGVzLTIuOS4xL3Byb2Jlcy8uLi9wcm9iZXMvbHR0bmctdHJhY2Vwb2ludC1ldmVudC1pbXBs
Lmg6Njk3OjI6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyAnX2N0Zl9pbnRlZ2VyX2V4dF9p
c3VzZXIwJwogIF9jdGZfaW50ZWdlcl9leHRfaXN1c2VyIyNfdXNlcihfdHlwZSwgX2l0ZW0sIF91
c2VyX3NyYywgX2J5dGVfb3JkZXIsIF9iYXNlLCBfbm93cml0ZSkKICBefn5+fn5+fn5+fn5+fn5+
fn5+fn5+fgovbWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1kbnYvYnVpbGQvdG1wL3dv
cmsvaW50ZWxfY29yZWk3XzY0LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9sdHRu
Zy1tb2R1bGVzLTIuOS4xL3Byb2Jlcy8uLi9wcm9iZXMvbHR0bmctZXZlbnRzLXdyaXRlLmg6MjM6
Mjogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvICdfY3RmX2ludGVnZXJfZXh0JwogIF9jdGZf
aW50ZWdlcl9leHQoX3R5cGUsIF9pdGVtLCBfc3JjLCBfX0JZVEVfT1JERVIsIDEwLCAwLCAwKQog
IF5+fn5+fn5+fn5+fn5+fn4KL21lZGlhL3JlYmVjY2FzL3lvY3RvL21ldGEtaW50ZWwtZG52L2J1
aWxkL3RtcC93b3JrL2ludGVsX2NvcmVpN182NC1wb2t5LWxpbnV4L2x0dG5nLW1vZHVsZXMvMi45
LjEtcjAvbHR0bmctbW9kdWxlcy0yLjkuMS9wcm9iZXMvLi4vaW5zdHJ1bWVudGF0aW9uL2V2ZW50
cy9sdHRuZy1tb2R1bGUvdGltZXIuaDoxOTk6Mzogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3Jv
ICdjdGZfaW50ZWdlcicKICAgY3RmX2ludGVnZXIoczY0LCBub3csIGx0dG5nX2t0aW1lX2dldF90
djY0KCpub3cpKQogICBefn5+fn5+fn5+fgovbWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRl
bC1kbnYvYnVpbGQvdG1wL3dvcmsvaW50ZWxfY29yZWk3XzY0LXBva3ktbGludXgvbHR0bmctbW9k
dWxlcy8yLjkuMS1yMC9sdHRuZy1tb2R1bGVzLTIuOS4xL3Byb2Jlcy8uLi9pbnN0cnVtZW50YXRp
b24vZXZlbnRzL2x0dG5nLW1vZHVsZS90aW1lci5oOjE5OToyNTogbm90ZTogaW4gZXhwYW5zaW9u
IG9mIG1hY3JvICdsdHRuZ19rdGltZV9nZXRfdHY2NCcKICAgY3RmX2ludGVnZXIoczY0LCBub3cs
IGx0dG5nX2t0aW1lX2dldF90djY0KCpub3cpKQogICAgICAgICAgICAgICAgICAgICAgICAgXn5+
fn5+fn5+fn5+fn5+fn5+fn4KL21lZGlhL3JlYmVjY2FzL3lvY3RvL21ldGEtaW50ZWwtZG52L2J1
aWxkL3RtcC93b3JrL2ludGVsX2NvcmVpN182NC1wb2t5LWxpbnV4L2x0dG5nLW1vZHVsZXMvMi45
LjEtcjAvbHR0bmctbW9kdWxlcy0yLjkuMS9wcm9iZXMvLi4vaW5zdHJ1bWVudGF0aW9uL2V2ZW50
cy9sdHRuZy1tb2R1bGUvdGltZXIuaDoyMjozOTogZXJyb3I6IHJlcXVlc3QgZm9yIG1lbWJlciAn
dHY2NCcgaW4gc29tZXRoaW5nIG5vdCBhIHN0cnVjdHVyZSBvciB1bmlvbgogI2RlZmluZSBsdHRu
Z19rdGltZV9nZXRfdHY2NChrdCkgKChrdCkudHY2NCkKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgXgovbWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1kbnYvYnVp
bGQvdG1wL3dvcmsvaW50ZWxfY29yZWk3XzY0LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjku
MS1yMC9sdHRuZy1tb2R1bGVzLTIuOS4xL3Byb2Jlcy8uLi9wcm9iZXMvbHR0bmctdHJhY2Vwb2lu
dC1ldmVudC1pbXBsLmg6Nzc0OjI6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8gJ0xUVE5H
X1RSQUNFUE9JTlRfRVZFTlRfQ0xBU1NfQ09ERScKICBfZmllbGRzICAgICAgICAgICAgICBcCiAg
Xn5+fn5+fgovbWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1kbnYvYnVpbGQvdG1wL3dv
cmsvaW50ZWxfY29yZWk3XzY0LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9sdHRu
Zy1tb2R1bGVzLTIuOS4xL3Byb2Jlcy8uLi9wcm9iZXMvbHR0bmctdHJhY2Vwb2ludC1ldmVudC1p
bXBsLmg6MTE2OjM6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyAnUEFSQU1TJwogICBQQVJB
TVMoX2ZpZWxkcyksICkKICAgXn5+fn5+Ci9tZWRpYS9yZWJlY2Nhcy95b2N0by9tZXRhLWludGVs
LWRudi9idWlsZC90bXAvd29yay9pbnRlbF9jb3JlaTdfNjQtcG9reS1saW51eC9sdHRuZy1tb2R1
bGVzLzIuOS4xLXIwL2x0dG5nLW1vZHVsZXMtMi45LjEvcHJvYmVzLy4uL3Byb2Jlcy9sdHRuZy10
cmFjZXBvaW50LWV2ZW50LWltcGwuaDo1MDoyOiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8g
J0xUVE5HX1RSQUNFUE9JTlRfRVZFTlRfQ0xBU1MnCiAgTFRUTkdfVFJBQ0VQT0lOVF9FVkVOVF9D
TEFTUyhtYXAsICAgIFwKICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci9tZWRpYS9yZWJl
Y2Nhcy95b2N0by9tZXRhLWludGVsLWRudi9idWlsZC90bXAvd29yay9pbnRlbF9jb3JlaTdfNjQt
cG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL2x0dG5nLW1vZHVsZXMtMi45LjEvcHJv
YmVzLy4uL3Byb2Jlcy9sdHRuZy10cmFjZXBvaW50LWV2ZW50LWltcGwuaDo1Mzo5OiBub3RlOiBp
biBleHBhbnNpb24gb2YgbWFjcm8gJ1BBUkFNUycKICAgICAgICAgUEFSQU1TKGZpZWxkcykpICAg
IFwKICAgICAgICAgXn5+fn5+Ci9tZWRpYS9yZWJlY2Nhcy95b2N0by9tZXRhLWludGVsLWRudi9i
dWlsZC90bXAvd29yay9pbnRlbF9jb3JlaTdfNjQtcG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIu
OS4xLXIwL2x0dG5nLW1vZHVsZXMtMi45LjEvcHJvYmVzLy4uL2luc3RydW1lbnRhdGlvbi9ldmVu
dHMvbHR0bmctbW9kdWxlL3RpbWVyLmg6MTg5OjE6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNy
byAnTFRUTkdfVFJBQ0VQT0lOVF9FVkVOVF9NQVAnCiBMVFROR19UUkFDRVBPSU5UX0VWRU5UX01B
UChocnRpbWVyX2V4cGlyZV9lbnRyeSwKIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci9tZWRp
YS9yZWJlY2Nhcy95b2N0by9tZXRhLWludGVsLWRudi9idWlsZC90bXAvd29yay9pbnRlbF9jb3Jl
aTdfNjQtcG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL2x0dG5nLW1vZHVsZXMtMi45
LjEvcHJvYmVzLy4uL2luc3RydW1lbnRhdGlvbi9ldmVudHMvbHR0bmctbW9kdWxlL3RpbWVyLmg6
MTk3OjI6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyAnVFBfRklFTERTJwogIFRQX0ZJRUxE
UygKICBefn5+fn5+fn4KL21lZGlhL3JlYmVjY2FzL3lvY3RvL21ldGEtaW50ZWwtZG52L2J1aWxk
L3RtcC93b3JrL2ludGVsX2NvcmVpN182NC1wb2t5LWxpbnV4L2x0dG5nLW1vZHVsZXMvMi45LjEt
cjAvbHR0bmctbW9kdWxlcy0yLjkuMS9wcm9iZXMvLi4vcHJvYmVzL2x0dG5nLXRyYWNlcG9pbnQt
ZXZlbnQtaW1wbC5oOjY4MDoyOiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8gJ19jdGZfaW50
ZWdlcl9leHRfZmV0Y2hlZCcKICBfY3RmX2ludGVnZXJfZXh0X2ZldGNoZWQoX3R5cGUsIF9pdGVt
LCBfc3JjLCBfYnl0ZV9vcmRlciwgX2Jhc2UsIF9ub3dyaXRlKQogIF5+fn5+fn5+fn5+fn5+fn5+
fn5+fn5+fgovbWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1kbnYvYnVpbGQvdG1wL3dv
cmsvaW50ZWxfY29yZWk3XzY0LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9sdHRu
Zy1tb2R1bGVzLTIuOS4xL3Byb2Jlcy8uLi9wcm9iZXMvbHR0bmctdHJhY2Vwb2ludC1ldmVudC1p
bXBsLmg6Njk3OjI6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyAnX2N0Zl9pbnRlZ2VyX2V4
dF9pc3VzZXIwJwogIF9jdGZfaW50ZWdlcl9leHRfaXN1c2VyIyNfdXNlcihfdHlwZSwgX2l0ZW0s
IF91c2VyX3NyYywgX2J5dGVfb3JkZXIsIF9iYXNlLCBfbm93cml0ZSkKICBefn5+fn5+fn5+fn5+
fn5+fn5+fn5+fgovbWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1kbnYvYnVpbGQvdG1w
L3dvcmsvaW50ZWxfY29yZWk3XzY0LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9s
dHRuZy1tb2R1bGVzLTIuOS4xL3Byb2Jlcy8uLi9wcm9iZXMvbHR0bmctZXZlbnRzLXdyaXRlLmg6
MjM6Mjogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvICdfY3RmX2ludGVnZXJfZXh0JwogIF9j
dGZfaW50ZWdlcl9leHQoX3R5cGUsIF9pdGVtLCBfc3JjLCBfX0JZVEVfT1JERVIsIDEwLCAwLCAw
KQogIF5+fn5+fn5+fn5+fn5+fn4KL21lZGlhL3JlYmVjY2FzL3lvY3RvL21ldGEtaW50ZWwtZG52
L2J1aWxkL3RtcC93b3JrL2ludGVsX2NvcmVpN182NC1wb2t5LWxpbnV4L2x0dG5nLW1vZHVsZXMv
Mi45LjEtcjAvbHR0bmctbW9kdWxlcy0yLjkuMS9wcm9iZXMvLi4vaW5zdHJ1bWVudGF0aW9uL2V2
ZW50cy9sdHRuZy1tb2R1bGUvdGltZXIuaDoxOTk6Mzogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1h
Y3JvICdjdGZfaW50ZWdlcicKICAgY3RmX2ludGVnZXIoczY0LCBub3csIGx0dG5nX2t0aW1lX2dl
dF90djY0KCpub3cpKQogICBefn5+fn5+fn5+fgovbWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1p
bnRlbC1kbnYvYnVpbGQvdG1wL3dvcmsvaW50ZWxfY29yZWk3XzY0LXBva3ktbGludXgvbHR0bmct
bW9kdWxlcy8yLjkuMS1yMC9sdHRuZy1tb2R1bGVzLTIuOS4xL3Byb2Jlcy8uLi9pbnN0cnVtZW50
YXRpb24vZXZlbnRzL2x0dG5nLW1vZHVsZS90aW1lci5oOjE5OToyNTogbm90ZTogaW4gZXhwYW5z
aW9uIG9mIG1hY3JvICdsdHRuZ19rdGltZV9nZXRfdHY2NCcKICAgY3RmX2ludGVnZXIoczY0LCBu
b3csIGx0dG5nX2t0aW1lX2dldF90djY0KCpub3cpKQogICAgICAgICAgICAgICAgICAgICAgICAg
Xn5+fn5+fn5+fn5+fn5+fn5+fn4KL21lZGlhL3JlYmVjY2FzL3lvY3RvL21ldGEtaW50ZWwtZG52
L2J1aWxkL3RtcC93b3JrL2ludGVsX2NvcmVpN182NC1wb2t5LWxpbnV4L2x0dG5nLW1vZHVsZXMv
Mi45LjEtcjAvbHR0bmctbW9kdWxlcy0yLjkuMS9wcm9iZXMvLi4vaW5zdHJ1bWVudGF0aW9uL2V2
ZW50cy9sdHRuZy1tb2R1bGUvdGltZXIuaDoyMjozOTogZXJyb3I6IHJlcXVlc3QgZm9yIG1lbWJl
ciAndHY2NCcgaW4gc29tZXRoaW5nIG5vdCBhIHN0cnVjdHVyZSBvciB1bmlvbgogI2RlZmluZSBs
dHRuZ19rdGltZV9nZXRfdHY2NChrdCkgKChrdCkudHY2NCkKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXgovbWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1kbnYv
YnVpbGQvdG1wL3dvcmsvaW50ZWxfY29yZWk3XzY0LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8y
LjkuMS1yMC9sdHRuZy1tb2R1bGVzLTIuOS4xL3Byb2Jlcy8uLi9wcm9iZXMvbHR0bmctdHJhY2Vw
b2ludC1ldmVudC1pbXBsLmg6Nzc0OjI6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8gJ0xU
VE5HX1RSQUNFUE9JTlRfRVZFTlRfQ0xBU1NfQ09ERScKICBfZmllbGRzICAgICAgICAgICAgICBc
CiAgXn5+fn5+fgovbWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1kbnYvYnVpbGQvdG1w
L3dvcmsvaW50ZWxfY29yZWk3XzY0LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9s
dHRuZy1tb2R1bGVzLTIuOS4xL3Byb2Jlcy8uLi9wcm9iZXMvbHR0bmctdHJhY2Vwb2ludC1ldmVu
dC1pbXBsLmg6MTE2OjM6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyAnUEFSQU1TJwogICBQ
QVJBTVMoX2ZpZWxkcyksICkKICAgXn5+fn5+Ci9tZWRpYS9yZWJlY2Nhcy95b2N0by9tZXRhLWlu
dGVsLWRudi9idWlsZC90bXAvd29yay9pbnRlbF9jb3JlaTdfNjQtcG9reS1saW51eC9sdHRuZy1t
b2R1bGVzLzIuOS4xLXIwL2x0dG5nLW1vZHVsZXMtMi45LjEvcHJvYmVzLy4uL3Byb2Jlcy9sdHRu
Zy10cmFjZXBvaW50LWV2ZW50LWltcGwuaDo1MDoyOiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFj
cm8gJ0xUVE5HX1RSQUNFUE9JTlRfRVZFTlRfQ0xBU1MnCiAgTFRUTkdfVFJBQ0VQT0lOVF9FVkVO
VF9DTEFTUyhtYXAsICAgIFwKICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci9tZWRpYS9y
ZWJlY2Nhcy95b2N0by9tZXRhLWludGVsLWRudi9idWlsZC90bXAvd29yay9pbnRlbF9jb3JlaTdf
NjQtcG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL2x0dG5nLW1vZHVsZXMtMi45LjEv
cHJvYmVzLy4uL3Byb2Jlcy9sdHRuZy10cmFjZXBvaW50LWV2ZW50LWltcGwuaDo1Mzo5OiBub3Rl
OiBpbiBleHBhbnNpb24gb2YgbWFjcm8gJ1BBUkFNUycKICAgICAgICAgUEFSQU1TKGZpZWxkcykp
ICAgIFwKICAgICAgICAgXn5+fn5+Ci9tZWRpYS9yZWJlY2Nhcy95b2N0by9tZXRhLWludGVsLWRu
di9idWlsZC90bXAvd29yay9pbnRlbF9jb3JlaTdfNjQtcG9reS1saW51eC9sdHRuZy1tb2R1bGVz
LzIuOS4xLXIwL2x0dG5nLW1vZHVsZXMtMi45LjEvcHJvYmVzLy4uL2luc3RydW1lbnRhdGlvbi9l
dmVudHMvbHR0bmctbW9kdWxlL3RpbWVyLmg6MTg5OjE6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBt
YWNybyAnTFRUTkdfVFJBQ0VQT0lOVF9FVkVOVF9NQVAnCiBMVFROR19UUkFDRVBPSU5UX0VWRU5U
X01BUChocnRpbWVyX2V4cGlyZV9lbnRyeSwKIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci9t
ZWRpYS9yZWJlY2Nhcy95b2N0by9tZXRhLWludGVsLWRudi9idWlsZC90bXAvd29yay9pbnRlbF9j
b3JlaTdfNjQtcG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL2x0dG5nLW1vZHVsZXMt
Mi45LjEvcHJvYmVzLy4uL2luc3RydW1lbnRhdGlvbi9ldmVudHMvbHR0bmctbW9kdWxlL3RpbWVy
Lmg6MTk3OjI6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyAnVFBfRklFTERTJwogIFRQX0ZJ
RUxEUygKICBefn5+fn5+fn4KL21lZGlhL3JlYmVjY2FzL3lvY3RvL21ldGEtaW50ZWwtZG52L2J1
aWxkL3RtcC93b3JrL2ludGVsX2NvcmVpN182NC1wb2t5LWxpbnV4L2x0dG5nLW1vZHVsZXMvMi45
LjEtcjAvbHR0bmctbW9kdWxlcy0yLjkuMS9wcm9iZXMvLi4vcHJvYmVzL2x0dG5nLXRyYWNlcG9p
bnQtZXZlbnQtaW1wbC5oOjY4MDoyOiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8gJ19jdGZf
aW50ZWdlcl9leHRfZmV0Y2hlZCcKICBfY3RmX2ludGVnZXJfZXh0X2ZldGNoZWQoX3R5cGUsIF9p
dGVtLCBfc3JjLCBfYnl0ZV9vcmRlciwgX2Jhc2UsIF9ub3dyaXRlKQogIF5+fn5+fn5+fn5+fn5+
fn5+fn5+fn5+fgovbWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1kbnYvYnVpbGQvdG1w
L3dvcmsvaW50ZWxfY29yZWk3XzY0LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9s
dHRuZy1tb2R1bGVzLTIuOS4xL3Byb2Jlcy8uLi9wcm9iZXMvbHR0bmctdHJhY2Vwb2ludC1ldmVu
dC1pbXBsLmg6Njk3OjI6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyAnX2N0Zl9pbnRlZ2Vy
X2V4dF9pc3VzZXIwJwogIF9jdGZfaW50ZWdlcl9leHRfaXN1c2VyIyNfdXNlcihfdHlwZSwgX2l0
ZW0sIF91c2VyX3NyYywgX2J5dGVfb3JkZXIsIF9iYXNlLCBfbm93cml0ZSkKICBefn5+fn5+fn5+
fn5+fn5+fn5+fn5+fgovbWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1kbnYvYnVpbGQv
dG1wL3dvcmsvaW50ZWxfY29yZWk3XzY0LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1y
MC9sdHRuZy1tb2R1bGVzLTIuOS4xL3Byb2Jlcy8uLi9wcm9iZXMvbHR0bmctZXZlbnRzLXdyaXRl
Lmg6MjM6Mjogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvICdfY3RmX2ludGVnZXJfZXh0Jwog
IF9jdGZfaW50ZWdlcl9leHQoX3R5cGUsIF9pdGVtLCBfc3JjLCBfX0JZVEVfT1JERVIsIDEwLCAw
LCAwKQogIF5+fn5+fn5+fn5+fn5+fn4KL21lZGlhL3JlYmVjY2FzL3lvY3RvL21ldGEtaW50ZWwt
ZG52L2J1aWxkL3RtcC93b3JrL2ludGVsX2NvcmVpN182NC1wb2t5LWxpbnV4L2x0dG5nLW1vZHVs
ZXMvMi45LjEtcjAvbHR0bmctbW9kdWxlcy0yLjkuMS9wcm9iZXMvLi4vaW5zdHJ1bWVudGF0aW9u
L2V2ZW50cy9sdHRuZy1tb2R1bGUvdGltZXIuaDoxOTk6Mzogbm90ZTogaW4gZXhwYW5zaW9uIG9m
IG1hY3JvICdjdGZfaW50ZWdlcicKICAgY3RmX2ludGVnZXIoczY0LCBub3csIGx0dG5nX2t0aW1l
X2dldF90djY0KCpub3cpKQogICBefn5+fn5+fn5+fgovbWVkaWEvcmViZWNjYXMveW9jdG8vbWV0
YS1pbnRlbC1kbnYvYnVpbGQvdG1wL3dvcmsvaW50ZWxfY29yZWk3XzY0LXBva3ktbGludXgvbHR0
bmctbW9kdWxlcy8yLjkuMS1yMC9sdHRuZy1tb2R1bGVzLTIuOS4xL3Byb2Jlcy8uLi9pbnN0cnVt
ZW50YXRpb24vZXZlbnRzL2x0dG5nLW1vZHVsZS90aW1lci5oOjE5OToyNTogbm90ZTogaW4gZXhw
YW5zaW9uIG9mIG1hY3JvICdsdHRuZ19rdGltZV9nZXRfdHY2NCcKICAgY3RmX2ludGVnZXIoczY0
LCBub3csIGx0dG5nX2t0aW1lX2dldF90djY0KCpub3cpKQogICAgICAgICAgICAgICAgICAgICAg
ICAgXn5+fn5+fn5+fn5+fn5+fn5+fn4KL21lZGlhL3JlYmVjY2FzL3lvY3RvL21ldGEtaW50ZWwt
ZG52L2J1aWxkL3RtcC93b3JrL2ludGVsX2NvcmVpN182NC1wb2t5LWxpbnV4L2x0dG5nLW1vZHVs
ZXMvMi45LjEtcjAvbHR0bmctbW9kdWxlcy0yLjkuMS9wcm9iZXMvLi4vaW5zdHJ1bWVudGF0aW9u
L2V2ZW50cy9sdHRuZy1tb2R1bGUvdGltZXIuaDoyMjozOTogZXJyb3I6IHJlcXVlc3QgZm9yIG1l
bWJlciAndHY2NCcgaW4gc29tZXRoaW5nIG5vdCBhIHN0cnVjdHVyZSBvciB1bmlvbgogI2RlZmlu
ZSBsdHRuZ19rdGltZV9nZXRfdHY2NChrdCkgKChrdCkudHY2NCkKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgXgovbWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1k
bnYvYnVpbGQvdG1wL3dvcmsvaW50ZWxfY29yZWk3XzY0LXBva3ktbGludXgvbHR0bmctbW9kdWxl
cy8yLjkuMS1yMC9sdHRuZy1tb2R1bGVzLTIuOS4xL3Byb2Jlcy8uLi9wcm9iZXMvbHR0bmctdHJh
Y2Vwb2ludC1ldmVudC1pbXBsLmg6Nzc0OjI6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8g
J0xUVE5HX1RSQUNFUE9JTlRfRVZFTlRfQ0xBU1NfQ09ERScKICBfZmllbGRzICAgICAgICAgICAg
ICBcCiAgXn5+fn5+fgovbWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1kbnYvYnVpbGQv
dG1wL3dvcmsvaW50ZWxfY29yZWk3XzY0LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1y
MC9sdHRuZy1tb2R1bGVzLTIuOS4xL3Byb2Jlcy8uLi9wcm9iZXMvbHR0bmctdHJhY2Vwb2ludC1l
dmVudC1pbXBsLmg6MTE2OjM6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyAnUEFSQU1TJwog
ICBQQVJBTVMoX2ZpZWxkcyksICkKICAgXn5+fn5+Ci9tZWRpYS9yZWJlY2Nhcy95b2N0by9tZXRh
LWludGVsLWRudi9idWlsZC90bXAvd29yay9pbnRlbF9jb3JlaTdfNjQtcG9reS1saW51eC9sdHRu
Zy1tb2R1bGVzLzIuOS4xLXIwL2x0dG5nLW1vZHVsZXMtMi45LjEvcHJvYmVzLy4uL3Byb2Jlcy9s
dHRuZy10cmFjZXBvaW50LWV2ZW50LWltcGwuaDo1MDoyOiBub3RlOiBpbiBleHBhbnNpb24gb2Yg
bWFjcm8gJ0xUVE5HX1RSQUNFUE9JTlRfRVZFTlRfQ0xBU1MnCiAgTFRUTkdfVFJBQ0VQT0lOVF9F
VkVOVF9DTEFTUyhtYXAsICAgIFwKICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci9tZWRp
YS9yZWJlY2Nhcy95b2N0by9tZXRhLWludGVsLWRudi9idWlsZC90bXAvd29yay9pbnRlbF9jb3Jl
aTdfNjQtcG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL2x0dG5nLW1vZHVsZXMtMi45
LjEvcHJvYmVzLy4uL3Byb2Jlcy9sdHRuZy10cmFjZXBvaW50LWV2ZW50LWltcGwuaDo1Mzo5OiBu
b3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8gJ1BBUkFNUycKICAgICAgICAgUEFSQU1TKGZpZWxk
cykpICAgIFwKICAgICAgICAgXn5+fn5+Ci9tZWRpYS9yZWJlY2Nhcy95b2N0by9tZXRhLWludGVs
LWRudi9idWlsZC90bXAvd29yay9pbnRlbF9jb3JlaTdfNjQtcG9reS1saW51eC9sdHRuZy1tb2R1
bGVzLzIuOS4xLXIwL2x0dG5nLW1vZHVsZXMtMi45LjEvcHJvYmVzLy4uL2luc3RydW1lbnRhdGlv
bi9ldmVudHMvbHR0bmctbW9kdWxlL3RpbWVyLmg6MTg5OjE6IG5vdGU6IGluIGV4cGFuc2lvbiBv
ZiBtYWNybyAnTFRUTkdfVFJBQ0VQT0lOVF9FVkVOVF9NQVAnCiBMVFROR19UUkFDRVBPSU5UX0VW
RU5UX01BUChocnRpbWVyX2V4cGlyZV9lbnRyeSwKIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+
Ci9tZWRpYS9yZWJlY2Nhcy95b2N0by9tZXRhLWludGVsLWRudi9idWlsZC90bXAvd29yay9pbnRl
bF9jb3JlaTdfNjQtcG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL2x0dG5nLW1vZHVs
ZXMtMi45LjEvcHJvYmVzLy4uL2luc3RydW1lbnRhdGlvbi9ldmVudHMvbHR0bmctbW9kdWxlL3Rp
bWVyLmg6MTk3OjI6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyAnVFBfRklFTERTJwogIFRQ
X0ZJRUxEUygKICBefn5+fn5+fn4KL21lZGlhL3JlYmVjY2FzL3lvY3RvL21ldGEtaW50ZWwtZG52
L2J1aWxkL3RtcC93b3JrL2ludGVsX2NvcmVpN182NC1wb2t5LWxpbnV4L2x0dG5nLW1vZHVsZXMv
Mi45LjEtcjAvbHR0bmctbW9kdWxlcy0yLjkuMS9wcm9iZXMvLi4vcHJvYmVzL2x0dG5nLXRyYWNl
cG9pbnQtZXZlbnQtaW1wbC5oOjY4MDoyOiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8gJ19j
dGZfaW50ZWdlcl9leHRfZmV0Y2hlZCcKICBfY3RmX2ludGVnZXJfZXh0X2ZldGNoZWQoX3R5cGUs
IF9pdGVtLCBfc3JjLCBfYnl0ZV9vcmRlciwgX2Jhc2UsIF9ub3dyaXRlKQogIF5+fn5+fn5+fn5+
fn5+fn5+fn5+fn5+fgovbWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1kbnYvYnVpbGQv
dG1wL3dvcmsvaW50ZWxfY29yZWk3XzY0LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1y
MC9sdHRuZy1tb2R1bGVzLTIuOS4xL3Byb2Jlcy8uLi9wcm9iZXMvbHR0bmctdHJhY2Vwb2ludC1l
dmVudC1pbXBsLmg6Njk3OjI6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyAnX2N0Zl9pbnRl
Z2VyX2V4dF9pc3VzZXIwJwogIF9jdGZfaW50ZWdlcl9leHRfaXN1c2VyIyNfdXNlcihfdHlwZSwg
X2l0ZW0sIF91c2VyX3NyYywgX2J5dGVfb3JkZXIsIF9iYXNlLCBfbm93cml0ZSkKICBefn5+fn5+
fn5+fn5+fn5+fn5+fn5+fgovbWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1kbnYvYnVp
bGQvdG1wL3dvcmsvaW50ZWxfY29yZWk3XzY0LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjku
MS1yMC9sdHRuZy1tb2R1bGVzLTIuOS4xL3Byb2Jlcy8uLi9wcm9iZXMvbHR0bmctZXZlbnRzLXdy
aXRlLmg6MjM6Mjogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvICdfY3RmX2ludGVnZXJfZXh0
JwogIF9jdGZfaW50ZWdlcl9leHQoX3R5cGUsIF9pdGVtLCBfc3JjLCBfX0JZVEVfT1JERVIsIDEw
LCAwLCAwKQogIF5+fn5+fn5+fn5+fn5+fn4KL21lZGlhL3JlYmVjY2FzL3lvY3RvL21ldGEtaW50
ZWwtZG52L2J1aWxkL3RtcC93b3JrL2ludGVsX2NvcmVpN182NC1wb2t5LWxpbnV4L2x0dG5nLW1v
ZHVsZXMvMi45LjEtcjAvbHR0bmctbW9kdWxlcy0yLjkuMS9wcm9iZXMvLi4vaW5zdHJ1bWVudGF0
aW9uL2V2ZW50cy9sdHRuZy1tb2R1bGUvdGltZXIuaDoxOTk6Mzogbm90ZTogaW4gZXhwYW5zaW9u
IG9mIG1hY3JvICdjdGZfaW50ZWdlcicKICAgY3RmX2ludGVnZXIoczY0LCBub3csIGx0dG5nX2t0
aW1lX2dldF90djY0KCpub3cpKQogICBefn5+fn5+fn5+fgovbWVkaWEvcmViZWNjYXMveW9jdG8v
bWV0YS1pbnRlbC1kbnYvYnVpbGQvdG1wL3dvcmsvaW50ZWxfY29yZWk3XzY0LXBva3ktbGludXgv
bHR0bmctbW9kdWxlcy8yLjkuMS1yMC9sdHRuZy1tb2R1bGVzLTIuOS4xL3Byb2Jlcy8uLi9pbnN0
cnVtZW50YXRpb24vZXZlbnRzL2x0dG5nLW1vZHVsZS90aW1lci5oOjE5OToyNTogbm90ZTogaW4g
ZXhwYW5zaW9uIG9mIG1hY3JvICdsdHRuZ19rdGltZV9nZXRfdHY2NCcKICAgY3RmX2ludGVnZXIo
czY0LCBub3csIGx0dG5nX2t0aW1lX2dldF90djY0KCpub3cpKQogICAgICAgICAgICAgICAgICAg
ICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn4KL21lZGlhL3JlYmVjY2FzL3lvY3RvL21ldGEtaW50
ZWwtZG52L2J1aWxkL3RtcC93b3JrL2ludGVsX2NvcmVpN182NC1wb2t5LWxpbnV4L2x0dG5nLW1v
ZHVsZXMvMi45LjEtcjAvbHR0bmctbW9kdWxlcy0yLjkuMS9wcm9iZXMvLi4vaW5zdHJ1bWVudGF0
aW9uL2V2ZW50cy9sdHRuZy1tb2R1bGUvdGltZXIuaDoyMjozOTogZXJyb3I6IHJlcXVlc3QgZm9y
IG1lbWJlciAndHY2NCcgaW4gc29tZXRoaW5nIG5vdCBhIHN0cnVjdHVyZSBvciB1bmlvbgogI2Rl
ZmluZSBsdHRuZ19rdGltZV9nZXRfdHY2NChrdCkgKChrdCkudHY2NCkKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgXgovbWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRl
bC1kbnYvYnVpbGQvdG1wL3dvcmsvaW50ZWxfY29yZWk3XzY0LXBva3ktbGludXgvbHR0bmctbW9k
dWxlcy8yLjkuMS1yMC9sdHRuZy1tb2R1bGVzLTIuOS4xL3Byb2Jlcy8uLi9wcm9iZXMvbHR0bmct
dHJhY2Vwb2ludC1ldmVudC1pbXBsLmg6Nzc0OjI6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFj
cm8gJ0xUVE5HX1RSQUNFUE9JTlRfRVZFTlRfQ0xBU1NfQ09ERScKICBfZmllbGRzICAgICAgICAg
ICAgICBcCiAgXn5+fn5+fgovbWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1kbnYvYnVp
bGQvdG1wL3dvcmsvaW50ZWxfY29yZWk3XzY0LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjku
MS1yMC9sdHRuZy1tb2R1bGVzLTIuOS4xL3Byb2Jlcy8uLi9wcm9iZXMvbHR0bmctdHJhY2Vwb2lu
dC1ldmVudC1pbXBsLmg6MTE2OjM6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyAnUEFSQU1T
JwogICBQQVJBTVMoX2ZpZWxkcyksICkKICAgXn5+fn5+Ci9tZWRpYS9yZWJlY2Nhcy95b2N0by9t
ZXRhLWludGVsLWRudi9idWlsZC90bXAvd29yay9pbnRlbF9jb3JlaTdfNjQtcG9reS1saW51eC9s
dHRuZy1tb2R1bGVzLzIuOS4xLXIwL2x0dG5nLW1vZHVsZXMtMi45LjEvcHJvYmVzLy4uL3Byb2Jl
cy9sdHRuZy10cmFjZXBvaW50LWV2ZW50LWltcGwuaDo1MDoyOiBub3RlOiBpbiBleHBhbnNpb24g
b2YgbWFjcm8gJ0xUVE5HX1RSQUNFUE9JTlRfRVZFTlRfQ0xBU1MnCiAgTFRUTkdfVFJBQ0VQT0lO
VF9FVkVOVF9DTEFTUyhtYXAsICAgIFwKICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci9t
ZWRpYS9yZWJlY2Nhcy95b2N0by9tZXRhLWludGVsLWRudi9idWlsZC90bXAvd29yay9pbnRlbF9j
b3JlaTdfNjQtcG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL2x0dG5nLW1vZHVsZXMt
Mi45LjEvcHJvYmVzLy4uL3Byb2Jlcy9sdHRuZy10cmFjZXBvaW50LWV2ZW50LWltcGwuaDo1Mzo5
OiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8gJ1BBUkFNUycKICAgICAgICAgUEFSQU1TKGZp
ZWxkcykpICAgIFwKICAgICAgICAgXn5+fn5+Ci9tZWRpYS9yZWJlY2Nhcy95b2N0by9tZXRhLWlu
dGVsLWRudi9idWlsZC90bXAvd29yay9pbnRlbF9jb3JlaTdfNjQtcG9reS1saW51eC9sdHRuZy1t
b2R1bGVzLzIuOS4xLXIwL2x0dG5nLW1vZHVsZXMtMi45LjEvcHJvYmVzLy4uL2luc3RydW1lbnRh
dGlvbi9ldmVudHMvbHR0bmctbW9kdWxlL3RpbWVyLmg6MTg5OjE6IG5vdGU6IGluIGV4cGFuc2lv
biBvZiBtYWNybyAnTFRUTkdfVFJBQ0VQT0lOVF9FVkVOVF9NQVAnCiBMVFROR19UUkFDRVBPSU5U
X0VWRU5UX01BUChocnRpbWVyX2V4cGlyZV9lbnRyeSwKIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+
fn5+Ci9tZWRpYS9yZWJlY2Nhcy95b2N0by9tZXRhLWludGVsLWRudi9idWlsZC90bXAvd29yay9p
bnRlbF9jb3JlaTdfNjQtcG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL2x0dG5nLW1v
ZHVsZXMtMi45LjEvcHJvYmVzLy4uL2luc3RydW1lbnRhdGlvbi9ldmVudHMvbHR0bmctbW9kdWxl
L3RpbWVyLmg6MTk3OjI6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyAnVFBfRklFTERTJwog
IFRQX0ZJRUxEUygKICBefn5+fn5+fn4KL21lZGlhL3JlYmVjY2FzL3lvY3RvL21ldGEtaW50ZWwt
ZG52L2J1aWxkL3RtcC93b3JrL2ludGVsX2NvcmVpN182NC1wb2t5LWxpbnV4L2x0dG5nLW1vZHVs
ZXMvMi45LjEtcjAvbHR0bmctbW9kdWxlcy0yLjkuMS9wcm9iZXMvLi4vcHJvYmVzL2x0dG5nLXRy
YWNlcG9pbnQtZXZlbnQtaW1wbC5oOjY4MDoyOiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8g
J19jdGZfaW50ZWdlcl9leHRfZmV0Y2hlZCcKICBfY3RmX2ludGVnZXJfZXh0X2ZldGNoZWQoX3R5
cGUsIF9pdGVtLCBfc3JjLCBfYnl0ZV9vcmRlciwgX2Jhc2UsIF9ub3dyaXRlKQogIF5+fn5+fn5+
fn5+fn5+fn5+fn5+fn5+fgovbWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1kbnYvYnVp
bGQvdG1wL3dvcmsvaW50ZWxfY29yZWk3XzY0LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjku
MS1yMC9sdHRuZy1tb2R1bGVzLTIuOS4xL3Byb2Jlcy8uLi9wcm9iZXMvbHR0bmctdHJhY2Vwb2lu
dC1ldmVudC1pbXBsLmg6Njk3OjI6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyAnX2N0Zl9p
bnRlZ2VyX2V4dF9pc3VzZXIwJwogIF9jdGZfaW50ZWdlcl9leHRfaXN1c2VyIyNfdXNlcihfdHlw
ZSwgX2l0ZW0sIF91c2VyX3NyYywgX2J5dGVfb3JkZXIsIF9iYXNlLCBfbm93cml0ZSkKICBefn5+
fn5+fn5+fn5+fn5+fn5+fn5+fgovbWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1kbnYv
YnVpbGQvdG1wL3dvcmsvaW50ZWxfY29yZWk3XzY0LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8y
LjkuMS1yMC9sdHRuZy1tb2R1bGVzLTIuOS4xL3Byb2Jlcy8uLi9wcm9iZXMvbHR0bmctZXZlbnRz
LXdyaXRlLmg6MjM6Mjogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvICdfY3RmX2ludGVnZXJf
ZXh0JwogIF9jdGZfaW50ZWdlcl9leHQoX3R5cGUsIF9pdGVtLCBfc3JjLCBfX0JZVEVfT1JERVIs
IDEwLCAwLCAwKQogIF5+fn5+fn5+fn5+fn5+fn4KL21lZGlhL3JlYmVjY2FzL3lvY3RvL21ldGEt
aW50ZWwtZG52L2J1aWxkL3RtcC93b3JrL2ludGVsX2NvcmVpN182NC1wb2t5LWxpbnV4L2x0dG5n
LW1vZHVsZXMvMi45LjEtcjAvbHR0bmctbW9kdWxlcy0yLjkuMS9wcm9iZXMvLi4vaW5zdHJ1bWVu
dGF0aW9uL2V2ZW50cy9sdHRuZy1tb2R1bGUvdGltZXIuaDoxOTk6Mzogbm90ZTogaW4gZXhwYW5z
aW9uIG9mIG1hY3JvICdjdGZfaW50ZWdlcicKICAgY3RmX2ludGVnZXIoczY0LCBub3csIGx0dG5n
X2t0aW1lX2dldF90djY0KCpub3cpKQogICBefn5+fn5+fn5+fgovbWVkaWEvcmViZWNjYXMveW9j
dG8vbWV0YS1pbnRlbC1kbnYvYnVpbGQvdG1wL3dvcmsvaW50ZWxfY29yZWk3XzY0LXBva3ktbGlu
dXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9sdHRuZy1tb2R1bGVzLTIuOS4xL3Byb2Jlcy8uLi9p
bnN0cnVtZW50YXRpb24vZXZlbnRzL2x0dG5nLW1vZHVsZS90aW1lci5oOjE5OToyNTogbm90ZTog
aW4gZXhwYW5zaW9uIG9mIG1hY3JvICdsdHRuZ19rdGltZV9nZXRfdHY2NCcKICAgY3RmX2ludGVn
ZXIoczY0LCBub3csIGx0dG5nX2t0aW1lX2dldF90djY0KCpub3cpKQogICAgICAgICAgICAgICAg
ICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn4KICBDQyBbTV0gIC9tZWRpYS9yZWJlY2Nhcy95
b2N0by9tZXRhLWludGVsLWRudi9idWlsZC90bXAvd29yay9pbnRlbF9jb3JlaTdfNjQtcG9reS1s
aW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL2x0dG5nLW1vZHVsZXMtMi45LjEvcHJvYmVzL2x0
dG5nLXByb2JlLXJjdS5vCiAgQ0MgW01dICAvbWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRl
bC1kbnYvYnVpbGQvdG1wL3dvcmsvaW50ZWxfY29yZWk3XzY0LXBva3ktbGludXgvbHR0bmctbW9k
dWxlcy8yLjkuMS1yMC9sdHRuZy1tb2R1bGVzLTIuOS4xL3Byb2Jlcy9sdHRuZy1wcm9iZS1yZWdt
YXAubwogIENDIFtNXSAgL21lZGlhL3JlYmVjY2FzL3lvY3RvL21ldGEtaW50ZWwtZG52L2J1aWxk
L3RtcC93b3JrL2ludGVsX2NvcmVpN182NC1wb2t5LWxpbnV4L2x0dG5nLW1vZHVsZXMvMi45LjEt
cjAvbHR0bmctbW9kdWxlcy0yLjkuMS9wcm9iZXMvbHR0bmctcHJvYmUtc3VucnBjLm8KSW4gZmls
ZSBpbmNsdWRlZCBmcm9tIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9tZXRhLWludGVsLWRudi9idWls
ZC90bXAvd29yay9pbnRlbF9jb3JlaTdfNjQtcG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4x
LXIwL2x0dG5nLW1vZHVsZXMtMi45LjEvcHJvYmVzLy4uL3Byb2Jlcy9kZWZpbmVfdHJhY2UuaDox
MDA6MCwKICAgICAgICAgICAgICAgICBmcm9tIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9tZXRhLWlu
dGVsLWRudi9idWlsZC90bXAvd29yay9pbnRlbF9jb3JlaTdfNjQtcG9reS1saW51eC9sdHRuZy1t
b2R1bGVzLzIuOS4xLXIwL2x0dG5nLW1vZHVsZXMtMi45LjEvcHJvYmVzLy4uL2luc3RydW1lbnRh
dGlvbi9ldmVudHMvbHR0bmctbW9kdWxlL3RpbWVyLmg6Mjk0LAogICAgICAgICAgICAgICAgIGZy
b20gL21lZGlhL3JlYmVjY2FzL3lvY3RvL21ldGEtaW50ZWwtZG52L2J1aWxkL3RtcC93b3JrL2lu
dGVsX2NvcmVpN182NC1wb2t5LWxpbnV4L2x0dG5nLW1vZHVsZXMvMi45LjEtcjAvbHR0bmctbW9k
dWxlcy0yLjkuMS9wcm9iZXMvbHR0bmctcHJvYmUtdGltZXIuYzo0MzoKL21lZGlhL3JlYmVjY2Fz
L3lvY3RvL21ldGEtaW50ZWwtZG52L2J1aWxkL3RtcC93b3JrL2ludGVsX2NvcmVpN182NC1wb2t5
LWxpbnV4L2x0dG5nLW1vZHVsZXMvMi45LjEtcjAvbHR0bmctbW9kdWxlcy0yLjkuMS9wcm9iZXMv
Li4vaW5zdHJ1bWVudGF0aW9uL2V2ZW50cy9sdHRuZy1tb2R1bGUvdGltZXIuaDogSW4gZnVuY3Rp
b24gJ19fZXZlbnRfcHJvYmVfX3RpbWVyX2hydGltZXJfc3RhcnQnOgovbWVkaWEvcmViZWNjYXMv
eW9jdG8vbWV0YS1pbnRlbC1kbnYvYnVpbGQvdG1wL3dvcmsvaW50ZWxfY29yZWk3XzY0LXBva3kt
bGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9sdHRuZy1tb2R1bGVzLTIuOS4xL3Byb2Jlcy8u
Li9pbnN0cnVtZW50YXRpb24vZXZlbnRzL2x0dG5nLW1vZHVsZS90aW1lci5oOjIyOjM5OiBlcnJv
cjogcmVxdWVzdCBmb3IgbWVtYmVyICd0djY0JyBpbiBzb21ldGhpbmcgbm90IGEgc3RydWN0dXJl
IG9yIHVuaW9uCiAjZGVmaW5lIGx0dG5nX2t0aW1lX2dldF90djY0KGt0KSAoKGt0KS50djY0KQog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9tZWRpYS9yZWJlY2Nhcy95
b2N0by9tZXRhLWludGVsLWRudi9idWlsZC90bXAvd29yay9pbnRlbF9jb3JlaTdfNjQtcG9reS1s
aW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL2x0dG5nLW1vZHVsZXMtMi45LjEvcHJvYmVzLy4u
L3Byb2Jlcy9sdHRuZy10cmFjZXBvaW50LWV2ZW50LWltcGwuaDoxMTgzOjI6IG5vdGU6IGluIGRl
ZmluaXRpb24gb2YgbWFjcm8gJ0xUVE5HX1RSQUNFUE9JTlRfRVZFTlRfQ0xBU1NfQ09ERScKICBf
ZmllbGRzICAgICAgICAgICAgICBcCiAgXn5+fn5+fgovbWVkaWEvcmViZWNjYXMveW9jdG8vbWV0
YS1pbnRlbC1kbnYvYnVpbGQvdG1wL3dvcmsvaW50ZWxfY29yZWk3XzY0LXBva3ktbGludXgvbHR0
bmctbW9kdWxlcy8yLjkuMS1yMC9sdHRuZy1tb2R1bGVzLTIuOS4xL3Byb2Jlcy8uLi9wcm9iZXMv
bHR0bmctdHJhY2Vwb2ludC1ldmVudC1pbXBsLmg6MTE2OjM6IG5vdGU6IGluIGV4cGFuc2lvbiBv
ZiBtYWNybyAnUEFSQU1TJwogICBQQVJBTVMoX2ZpZWxkcyksICkKICAgXn5+fn5+Ci9tZWRpYS9y
ZWJlY2Nhcy95b2N0by9tZXRhLWludGVsLWRudi9idWlsZC90bXAvd29yay9pbnRlbF9jb3JlaTdf
NjQtcG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL2x0dG5nLW1vZHVsZXMtMi45LjEv
cHJvYmVzLy4uL3Byb2Jlcy9sdHRuZy10cmFjZXBvaW50LWV2ZW50LWltcGwuaDo1MDoyOiBub3Rl
OiBpbiBleHBhbnNpb24gb2YgbWFjcm8gJ0xUVE5HX1RSQUNFUE9JTlRfRVZFTlRfQ0xBU1MnCiAg
TFRUTkdfVFJBQ0VQT0lOVF9FVkVOVF9DTEFTUyhtYXAsICAgIFwKICBefn5+fn5+fn5+fn5+fn5+
fn5+fn5+fn5+fn5+Ci9tZWRpYS9yZWJlY2Nhcy95b2N0by9tZXRhLWludGVsLWRudi9idWlsZC90
bXAvd29yay9pbnRlbF9jb3JlaTdfNjQtcG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIw
L2x0dG5nLW1vZHVsZXMtMi45LjEvcHJvYmVzLy4uL3Byb2Jlcy9sdHRuZy10cmFjZXBvaW50LWV2
ZW50LWltcGwuaDo1Mzo5OiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8gJ1BBUkFNUycKICAg
ICAgICAgUEFSQU1TKGZpZWxkcykpICAgIFwKICAgICAgICAgXn5+fn5+Ci9tZWRpYS9yZWJlY2Nh
cy95b2N0by9tZXRhLWludGVsLWRudi9idWlsZC90bXAvd29yay9pbnRlbF9jb3JlaTdfNjQtcG9r
eS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL2x0dG5nLW1vZHVsZXMtMi45LjEvcHJvYmVz
Ly4uL2luc3RydW1lbnRhdGlvbi9ldmVudHMvbHR0bmctbW9kdWxlL3RpbWVyLmg6MTYzOjE6IG5v
dGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyAnTFRUTkdfVFJBQ0VQT0lOVF9FVkVOVF9NQVAnCiBM
VFROR19UUkFDRVBPSU5UX0VWRU5UX01BUChocnRpbWVyX3N0YXJ0LAogXn5+fn5+fn5+fn5+fn5+
fn5+fn5+fn5+fn4KL21lZGlhL3JlYmVjY2FzL3lvY3RvL21ldGEtaW50ZWwtZG52L2J1aWxkL3Rt
cC93b3JrL2ludGVsX2NvcmVpN182NC1wb2t5LWxpbnV4L2x0dG5nLW1vZHVsZXMvMi45LjEtcjAv
bHR0bmctbW9kdWxlcy0yLjkuMS9wcm9iZXMvLi4vaW5zdHJ1bWVudGF0aW9uL2V2ZW50cy9sdHRu
Zy1tb2R1bGUvdGltZXIuaDoxNzE6Mjogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvICdUUF9G
SUVMRFMnCiAgVFBfRklFTERTKAogIF5+fn5+fn5+fgovbWVkaWEvcmViZWNjYXMveW9jdG8vbWV0
YS1pbnRlbC1kbnYvYnVpbGQvdG1wL3dvcmsvaW50ZWxfY29yZWk3XzY0LXBva3ktbGludXgvbHR0
bmctbW9kdWxlcy8yLjkuMS1yMC9sdHRuZy1tb2R1bGVzLTIuOS4xL3Byb2Jlcy8uLi9wcm9iZXMv
bHR0bmctdHJhY2Vwb2ludC1ldmVudC1pbXBsLmg6ODg4OjI6IG5vdGU6IGluIGV4cGFuc2lvbiBv
ZiBtYWNybyAnX2N0Zl9pbnRlZ2VyX2V4dF9mZXRjaGVkJwogIF9jdGZfaW50ZWdlcl9leHRfZmV0
Y2hlZChfdHlwZSwgX2l0ZW0sIF9zcmMsIF9ieXRlX29yZGVyLCBfYmFzZSwgX25vd3JpdGUpCiAg
Xn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci9tZWRpYS9yZWJlY2Nhcy95b2N0by9tZXRhLWludGVs
LWRudi9idWlsZC90bXAvd29yay9pbnRlbF9jb3JlaTdfNjQtcG9reS1saW51eC9sdHRuZy1tb2R1
bGVzLzIuOS4xLXIwL2x0dG5nLW1vZHVsZXMtMi45LjEvcHJvYmVzLy4uL3Byb2Jlcy9sdHRuZy10
cmFjZXBvaW50LWV2ZW50LWltcGwuaDo5MDU6Mjogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3Jv
ICdfY3RmX2ludGVnZXJfZXh0X2lzdXNlcjAnCiAgX2N0Zl9pbnRlZ2VyX2V4dF9pc3VzZXIjI191
c2VyKF90eXBlLCBfaXRlbSwgX3VzZXJfc3JjLCBfYnl0ZV9vcmRlciwgX2Jhc2UsIF9ub3dyaXRl
KQogIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci9tZWRpYS9yZWJlY2Nhcy95b2N0by9tZXRhLWlu
dGVsLWRudi9idWlsZC90bXAvd29yay9pbnRlbF9jb3JlaTdfNjQtcG9reS1saW51eC9sdHRuZy1t
b2R1bGVzLzIuOS4xLXIwL2x0dG5nLW1vZHVsZXMtMi45LjEvcHJvYmVzLy4uL3Byb2Jlcy9sdHRu
Zy1ldmVudHMtd3JpdGUuaDoyMzoyOiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8gJ19jdGZf
aW50ZWdlcl9leHQnCiAgX2N0Zl9pbnRlZ2VyX2V4dChfdHlwZSwgX2l0ZW0sIF9zcmMsIF9fQllU
RV9PUkRFUiwgMTAsIDAsIDApCiAgXn5+fn5+fn5+fn5+fn5+fgovbWVkaWEvcmViZWNjYXMveW9j
dG8vbWV0YS1pbnRlbC1kbnYvYnVpbGQvdG1wL3dvcmsvaW50ZWxfY29yZWk3XzY0LXBva3ktbGlu
dXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9sdHRuZy1tb2R1bGVzLTIuOS4xL3Byb2Jlcy8uLi9p
bnN0cnVtZW50YXRpb24vZXZlbnRzL2x0dG5nLW1vZHVsZS90aW1lci5oOjE3NDozOiBub3RlOiBp
biBleHBhbnNpb24gb2YgbWFjcm8gJ2N0Zl9pbnRlZ2VyJwogICBjdGZfaW50ZWdlcihzNjQsIGV4
cGlyZXMsCiAgIF5+fn5+fn5+fn5+Ci9tZWRpYS9yZWJlY2Nhcy95b2N0by9tZXRhLWludGVsLWRu
di9idWlsZC90bXAvd29yay9pbnRlbF9jb3JlaTdfNjQtcG9reS1saW51eC9sdHRuZy1tb2R1bGVz
LzIuOS4xLXIwL2x0dG5nLW1vZHVsZXMtMi45LjEvcHJvYmVzLy4uL2luc3RydW1lbnRhdGlvbi9l
dmVudHMvbHR0bmctbW9kdWxlL3RpbWVyLmg6MTc1OjQ6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBt
YWNybyAnbHR0bmdfa3RpbWVfZ2V0X3R2NjQnCiAgICBsdHRuZ19rdGltZV9nZXRfdHY2NChocnRp
bWVyX2dldF9leHBpcmVzKGhydGltZXIpKSkKICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+Ci9tZWRp
YS9yZWJlY2Nhcy95b2N0by9tZXRhLWludGVsLWRudi9idWlsZC90bXAvd29yay9pbnRlbF9jb3Jl
aTdfNjQtcG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL2x0dG5nLW1vZHVsZXMtMi45
LjEvcHJvYmVzLy4uL2luc3RydW1lbnRhdGlvbi9ldmVudHMvbHR0bmctbW9kdWxlL3RpbWVyLmg6
MjI6Mzk6IGVycm9yOiByZXF1ZXN0IGZvciBtZW1iZXIgJ3R2NjQnIGluIHNvbWV0aGluZyBub3Qg
YSBzdHJ1Y3R1cmUgb3IgdW5pb24KICNkZWZpbmUgbHR0bmdfa3RpbWVfZ2V0X3R2NjQoa3QpICgo
a3QpLnR2NjQpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL21lZGlh
L3JlYmVjY2FzL3lvY3RvL21ldGEtaW50ZWwtZG52L2J1aWxkL3RtcC93b3JrL2ludGVsX2NvcmVp
N182NC1wb2t5LWxpbnV4L2x0dG5nLW1vZHVsZXMvMi45LjEtcjAvbHR0bmctbW9kdWxlcy0yLjku
MS9wcm9iZXMvLi4vcHJvYmVzL2x0dG5nLXRyYWNlcG9pbnQtZXZlbnQtaW1wbC5oOjExODM6Mjog
bm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyAnTFRUTkdfVFJBQ0VQT0lOVF9FVkVOVF9DTEFT
U19DT0RFJwogIF9maWVsZHMgICAgICAgICAgICAgIFwKICBefn5+fn5+Ci9tZWRpYS9yZWJlY2Nh
cy95b2N0by9tZXRhLWludGVsLWRudi9idWlsZC90bXAvd29yay9pbnRlbF9jb3JlaTdfNjQtcG9r
eS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL2x0dG5nLW1vZHVsZXMtMi45LjEvcHJvYmVz
Ly4uL3Byb2Jlcy9sdHRuZy10cmFjZXBvaW50LWV2ZW50LWltcGwuaDoxMTY6Mzogbm90ZTogaW4g
ZXhwYW5zaW9uIG9mIG1hY3JvICdQQVJBTVMnCiAgIFBBUkFNUyhfZmllbGRzKSwgKQogICBefn5+
fn4KL21lZGlhL3JlYmVjY2FzL3lvY3RvL21ldGEtaW50ZWwtZG52L2J1aWxkL3RtcC93b3JrL2lu
dGVsX2NvcmVpN182NC1wb2t5LWxpbnV4L2x0dG5nLW1vZHVsZXMvMi45LjEtcjAvbHR0bmctbW9k
dWxlcy0yLjkuMS9wcm9iZXMvLi4vcHJvYmVzL2x0dG5nLXRyYWNlcG9pbnQtZXZlbnQtaW1wbC5o
OjUwOjI6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyAnTFRUTkdfVFJBQ0VQT0lOVF9FVkVO
VF9DTEFTUycKICBMVFROR19UUkFDRVBPSU5UX0VWRU5UX0NMQVNTKG1hcCwgICAgXAogIF5+fn5+
fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KL21lZGlhL3JlYmVjY2FzL3lvY3RvL21ldGEtaW50ZWwt
ZG52L2J1aWxkL3RtcC93b3JrL2ludGVsX2NvcmVpN182NC1wb2t5LWxpbnV4L2x0dG5nLW1vZHVs
ZXMvMi45LjEtcjAvbHR0bmctbW9kdWxlcy0yLjkuMS9wcm9iZXMvLi4vcHJvYmVzL2x0dG5nLXRy
YWNlcG9pbnQtZXZlbnQtaW1wbC5oOjUzOjk6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyAn
UEFSQU1TJwogICAgICAgICBQQVJBTVMoZmllbGRzKSkgICAgXAogICAgICAgICBefn5+fn4KL21l
ZGlhL3JlYmVjY2FzL3lvY3RvL21ldGEtaW50ZWwtZG52L2J1aWxkL3RtcC93b3JrL2ludGVsX2Nv
cmVpN182NC1wb2t5LWxpbnV4L2x0dG5nLW1vZHVsZXMvMi45LjEtcjAvbHR0bmctbW9kdWxlcy0y
LjkuMS9wcm9iZXMvLi4vaW5zdHJ1bWVudGF0aW9uL2V2ZW50cy9sdHRuZy1tb2R1bGUvdGltZXIu
aDoxNjM6MTogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvICdMVFROR19UUkFDRVBPSU5UX0VW
RU5UX01BUCcKIExUVE5HX1RSQUNFUE9JTlRfRVZFTlRfTUFQKGhydGltZXJfc3RhcnQsCiBefn5+
fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgovbWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1k
bnYvYnVpbGQvdG1wL3dvcmsvaW50ZWxfY29yZWk3XzY0LXBva3ktbGludXgvbHR0bmctbW9kdWxl
cy8yLjkuMS1yMC9sdHRuZy1tb2R1bGVzLTIuOS4xL3Byb2Jlcy8uLi9pbnN0cnVtZW50YXRpb24v
ZXZlbnRzL2x0dG5nLW1vZHVsZS90aW1lci5oOjE3MToyOiBub3RlOiBpbiBleHBhbnNpb24gb2Yg
bWFjcm8gJ1RQX0ZJRUxEUycKICBUUF9GSUVMRFMoCiAgXn5+fn5+fn5+Ci9tZWRpYS9yZWJlY2Nh
cy95b2N0by9tZXRhLWludGVsLWRudi9idWlsZC90bXAvd29yay9pbnRlbF9jb3JlaTdfNjQtcG9r
eS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL2x0dG5nLW1vZHVsZXMtMi45LjEvcHJvYmVz
Ly4uL3Byb2Jlcy9sdHRuZy10cmFjZXBvaW50LWV2ZW50LWltcGwuaDo4ODg6Mjogbm90ZTogaW4g
ZXhwYW5zaW9uIG9mIG1hY3JvICdfY3RmX2ludGVnZXJfZXh0X2ZldGNoZWQnCiAgX2N0Zl9pbnRl
Z2VyX2V4dF9mZXRjaGVkKF90eXBlLCBfaXRlbSwgX3NyYywgX2J5dGVfb3JkZXIsIF9iYXNlLCBf
bm93cml0ZSkKICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KL21lZGlhL3JlYmVjY2FzL3lvY3Rv
L21ldGEtaW50ZWwtZG52L2J1aWxkL3RtcC93b3JrL2ludGVsX2NvcmVpN182NC1wb2t5LWxpbnV4
L2x0dG5nLW1vZHVsZXMvMi45LjEtcjAvbHR0bmctbW9kdWxlcy0yLjkuMS9wcm9iZXMvLi4vcHJv
YmVzL2x0dG5nLXRyYWNlcG9pbnQtZXZlbnQtaW1wbC5oOjkwNToyOiBub3RlOiBpbiBleHBhbnNp
b24gb2YgbWFjcm8gJ19jdGZfaW50ZWdlcl9leHRfaXN1c2VyMCcKICBfY3RmX2ludGVnZXJfZXh0
X2lzdXNlciMjX3VzZXIoX3R5cGUsIF9pdGVtLCBfdXNlcl9zcmMsIF9ieXRlX29yZGVyLCBfYmFz
ZSwgX25vd3JpdGUpCiAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KL21lZGlhL3JlYmVjY2FzL3lv
Y3RvL21ldGEtaW50ZWwtZG52L2J1aWxkL3RtcC93b3JrL2ludGVsX2NvcmVpN182NC1wb2t5LWxp
bnV4L2x0dG5nLW1vZHVsZXMvMi45LjEtcjAvbHR0bmctbW9kdWxlcy0yLjkuMS9wcm9iZXMvLi4v
cHJvYmVzL2x0dG5nLWV2ZW50cy13cml0ZS5oOjIzOjI6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBt
YWNybyAnX2N0Zl9pbnRlZ2VyX2V4dCcKICBfY3RmX2ludGVnZXJfZXh0KF90eXBlLCBfaXRlbSwg
X3NyYywgX19CWVRFX09SREVSLCAxMCwgMCwgMCkKICBefn5+fn5+fn5+fn5+fn5+Ci9tZWRpYS9y
ZWJlY2Nhcy95b2N0by9tZXRhLWludGVsLWRudi9idWlsZC90bXAvd29yay9pbnRlbF9jb3JlaTdf
NjQtcG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL2x0dG5nLW1vZHVsZXMtMi45LjEv
cHJvYmVzLy4uL2luc3RydW1lbnRhdGlvbi9ldmVudHMvbHR0bmctbW9kdWxlL3RpbWVyLmg6MTc2
OjM6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyAnY3RmX2ludGVnZXInCiAgIGN0Zl9pbnRl
Z2VyKHM2NCwgc29mdGV4cGlyZXMsCiAgIF5+fn5+fn5+fn5+Ci9tZWRpYS9yZWJlY2Nhcy95b2N0
by9tZXRhLWludGVsLWRudi9idWlsZC90bXAvd29yay9pbnRlbF9jb3JlaTdfNjQtcG9reS1saW51
eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL2x0dG5nLW1vZHVsZXMtMi45LjEvcHJvYmVzLy4uL2lu
c3RydW1lbnRhdGlvbi9ldmVudHMvbHR0bmctbW9kdWxlL3RpbWVyLmg6MTc3OjQ6IG5vdGU6IGlu
IGV4cGFuc2lvbiBvZiBtYWNybyAnbHR0bmdfa3RpbWVfZ2V0X3R2NjQnCiAgICBsdHRuZ19rdGlt
ZV9nZXRfdHY2NChocnRpbWVyX2dldF9zb2Z0ZXhwaXJlcyhocnRpbWVyKSkpCiAgICBefn5+fn5+
fn5+fn5+fn5+fn5+fgpFUlJPUjogb2VfcnVubWFrZSBmYWlsZWQKL21lZGlhL3JlYmVjY2FzL3lv
Y3RvL21ldGEtaW50ZWwtZG52L2J1aWxkL3RtcC93b3JrL2ludGVsX2NvcmVpN182NC1wb2t5LWxp
bnV4L2x0dG5nLW1vZHVsZXMvMi45LjEtcjAvbHR0bmctbW9kdWxlcy0yLjkuMS9wcm9iZXMvLi4v
aW5zdHJ1bWVudGF0aW9uL2V2ZW50cy9sdHRuZy1tb2R1bGUvdGltZXIuaDogSW4gZnVuY3Rpb24g
J19fZXZlbnRfcHJvYmVfX3RpbWVyX2hydGltZXJfZXhwaXJlX2VudHJ5JzoKL21lZGlhL3JlYmVj
Y2FzL3lvY3RvL21ldGEtaW50ZWwtZG52L2J1aWxkL3RtcC93b3JrL2ludGVsX2NvcmVpN182NC1w
b2t5LWxpbnV4L2x0dG5nLW1vZHVsZXMvMi45LjEtcjAvbHR0bmctbW9kdWxlcy0yLjkuMS9wcm9i
ZXMvLi4vaW5zdHJ1bWVudGF0aW9uL2V2ZW50cy9sdHRuZy1tb2R1bGUvdGltZXIuaDoyMjozOTog
ZXJyb3I6IHJlcXVlc3QgZm9yIG1lbWJlciAndHY2NCcgaW4gc29tZXRoaW5nIG5vdCBhIHN0cnVj
dHVyZSBvciB1bmlvbgogI2RlZmluZSBsdHRuZ19rdGltZV9nZXRfdHY2NChrdCkgKChrdCkudHY2
NCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovbWVkaWEvcmViZWNj
YXMveW9jdG8vbWV0YS1pbnRlbC1kbnYvYnVpbGQvdG1wL3dvcmsvaW50ZWxfY29yZWk3XzY0LXBv
a3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9sdHRuZy1tb2R1bGVzLTIuOS4xL3Byb2Jl
cy8uLi9wcm9iZXMvbHR0bmctdHJhY2Vwb2ludC1ldmVudC1pbXBsLmg6MTE4MzoyOiBub3RlOiBp
biBkZWZpbml0aW9uIG9mIG1hY3JvICdMVFROR19UUkFDRVBPSU5UX0VWRU5UX0NMQVNTX0NPREUn
CiAgX2ZpZWxkcyAgICAgICAgICAgICAgXAogIF5+fn5+fn4KL21lZGlhL3JlYmVjY2FzL3lvY3Rv
L21ldGEtaW50ZWwtZG52L2J1aWxkL3RtcC93b3JrL2ludGVsX2NvcmVpN182NC1wb2t5LWxpbnV4
L2x0dG5nLW1vZHVsZXMvMi45LjEtcjAvbHR0bmctbW9kdWxlcy0yLjkuMS9wcm9iZXMvLi4vcHJv
YmVzL2x0dG5nLXRyYWNlcG9pbnQtZXZlbnQtaW1wbC5oOjExNjozOiBub3RlOiBpbiBleHBhbnNp
b24gb2YgbWFjcm8gJ1BBUkFNUycKICAgUEFSQU1TKF9maWVsZHMpLCApCiAgIF5+fn5+fgovbWVk
aWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1kbnYvYnVpbGQvdG1wL3dvcmsvaW50ZWxfY29y
ZWk3XzY0LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9sdHRuZy1tb2R1bGVzLTIu
OS4xL3Byb2Jlcy8uLi9wcm9iZXMvbHR0bmctdHJhY2Vwb2ludC1ldmVudC1pbXBsLmg6NTA6Mjog
bm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvICdMVFROR19UUkFDRVBPSU5UX0VWRU5UX0NMQVNT
JwogIExUVE5HX1RSQUNFUE9JTlRfRVZFTlRfQ0xBU1MobWFwLCAgICBcCiAgXn5+fn5+fn5+fn5+
fn5+fn5+fn5+fn5+fn5+fgovbWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1kbnYvYnVp
bGQvdG1wL3dvcmsvaW50ZWxfY29yZWk3XzY0LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjku
MS1yMC9sdHRuZy1tb2R1bGVzLTIuOS4xL3Byb2Jlcy8uLi9wcm9iZXMvbHR0bmctdHJhY2Vwb2lu
dC1ldmVudC1pbXBsLmg6NTM6OTogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvICdQQVJBTVMn
CiAgICAgICAgIFBBUkFNUyhmaWVsZHMpKSAgICBcCiAgICAgICAgIF5+fn5+fgovbWVkaWEvcmVi
ZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1kbnYvYnVpbGQvdG1wL3dvcmsvaW50ZWxfY29yZWk3XzY0
LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9sdHRuZy1tb2R1bGVzLTIuOS4xL3By
b2Jlcy8uLi9pbnN0cnVtZW50YXRpb24vZXZlbnRzL2x0dG5nLW1vZHVsZS90aW1lci5oOjE4OTox
OiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8gJ0xUVE5HX1RSQUNFUE9JTlRfRVZFTlRfTUFQ
JwogTFRUTkdfVFJBQ0VQT0lOVF9FVkVOVF9NQVAoaHJ0aW1lcl9leHBpcmVfZW50cnksCiBefn5+
fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgovbWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1k
bnYvYnVpbGQvdG1wL3dvcmsvaW50ZWxfY29yZWk3XzY0LXBva3ktbGludXgvbHR0bmctbW9kdWxl
cy8yLjkuMS1yMC9sdHRuZy1tb2R1bGVzLTIuOS4xL3Byb2Jlcy8uLi9pbnN0cnVtZW50YXRpb24v
ZXZlbnRzL2x0dG5nLW1vZHVsZS90aW1lci5oOjE5NzoyOiBub3RlOiBpbiBleHBhbnNpb24gb2Yg
bWFjcm8gJ1RQX0ZJRUxEUycKICBUUF9GSUVMRFMoCiAgXn5+fn5+fn5+Ci9tZWRpYS9yZWJlY2Nh
cy95b2N0by9tZXRhLWludGVsLWRudi9idWlsZC90bXAvd29yay9pbnRlbF9jb3JlaTdfNjQtcG9r
eS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL2x0dG5nLW1vZHVsZXMtMi45LjEvcHJvYmVz
Ly4uL3Byb2Jlcy9sdHRuZy10cmFjZXBvaW50LWV2ZW50LWltcGwuaDo4ODg6Mjogbm90ZTogaW4g
ZXhwYW5zaW9uIG9mIG1hY3JvICdfY3RmX2ludGVnZXJfZXh0X2ZldGNoZWQnCiAgX2N0Zl9pbnRl
Z2VyX2V4dF9mZXRjaGVkKF90eXBlLCBfaXRlbSwgX3NyYywgX2J5dGVfb3JkZXIsIF9iYXNlLCBf
bm93cml0ZSkKICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KL21lZGlhL3JlYmVjY2FzL3lvY3Rv
L21ldGEtaW50ZWwtZG52L2J1aWxkL3RtcC93b3JrL2ludGVsX2NvcmVpN182NC1wb2t5LWxpbnV4
L2x0dG5nLW1vZHVsZXMvMi45LjEtcjAvbHR0bmctbW9kdWxlcy0yLjkuMS9wcm9iZXMvLi4vcHJv
YmVzL2x0dG5nLXRyYWNlcG9pbnQtZXZlbnQtaW1wbC5oOjkwNToyOiBub3RlOiBpbiBleHBhbnNp
b24gb2YgbWFjcm8gJ19jdGZfaW50ZWdlcl9leHRfaXN1c2VyMCcKICBfY3RmX2ludGVnZXJfZXh0
X2lzdXNlciMjX3VzZXIoX3R5cGUsIF9pdGVtLCBfdXNlcl9zcmMsIF9ieXRlX29yZGVyLCBfYmFz
ZSwgX25vd3JpdGUpCiAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KL21lZGlhL3JlYmVjY2FzL3lv
Y3RvL21ldGEtaW50ZWwtZG52L2J1aWxkL3RtcC93b3JrL2ludGVsX2NvcmVpN182NC1wb2t5LWxp
bnV4L2x0dG5nLW1vZHVsZXMvMi45LjEtcjAvbHR0bmctbW9kdWxlcy0yLjkuMS9wcm9iZXMvLi4v
cHJvYmVzL2x0dG5nLWV2ZW50cy13cml0ZS5oOjIzOjI6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBt
YWNybyAnX2N0Zl9pbnRlZ2VyX2V4dCcKICBfY3RmX2ludGVnZXJfZXh0KF90eXBlLCBfaXRlbSwg
X3NyYywgX19CWVRFX09SREVSLCAxMCwgMCwgMCkKICBefn5+fn5+fn5+fn5+fn5+Ci9tZWRpYS9y
ZWJlY2Nhcy95b2N0by9tZXRhLWludGVsLWRudi9idWlsZC90bXAvd29yay9pbnRlbF9jb3JlaTdf
NjQtcG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL2x0dG5nLW1vZHVsZXMtMi45LjEv
cHJvYmVzLy4uL2luc3RydW1lbnRhdGlvbi9ldmVudHMvbHR0bmctbW9kdWxlL3RpbWVyLmg6MTk5
OjM6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyAnY3RmX2ludGVnZXInCiAgIGN0Zl9pbnRl
Z2VyKHM2NCwgbm93LCBsdHRuZ19rdGltZV9nZXRfdHY2NCgqbm93KSkKICAgXn5+fn5+fn5+fn4K
L21lZGlhL3JlYmVjY2FzL3lvY3RvL21ldGEtaW50ZWwtZG52L2J1aWxkL3RtcC93b3JrL2ludGVs
X2NvcmVpN182NC1wb2t5LWxpbnV4L2x0dG5nLW1vZHVsZXMvMi45LjEtcjAvbHR0bmctbW9kdWxl
cy0yLjkuMS9wcm9iZXMvLi4vaW5zdHJ1bWVudGF0aW9uL2V2ZW50cy9sdHRuZy1tb2R1bGUvdGlt
ZXIuaDoxOTk6MjU6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyAnbHR0bmdfa3RpbWVfZ2V0
X3R2NjQnCiAgIGN0Zl9pbnRlZ2VyKHM2NCwgbm93LCBsdHRuZ19rdGltZV9nZXRfdHY2NCgqbm93
KSkKICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+CiAgQ0MgW01d
ICAvbWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1kbnYvYnVpbGQvdG1wL3dvcmsvaW50
ZWxfY29yZWk3XzY0LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9sdHRuZy1tb2R1
bGVzLTIuOS4xL3Byb2Jlcy9sdHRuZy1wcm9iZS12NGwyLm8KICBDQyBbTV0gIC9tZWRpYS9yZWJl
Y2Nhcy95b2N0by9tZXRhLWludGVsLWRudi9idWlsZC90bXAvd29yay9pbnRlbF9jb3JlaTdfNjQt
cG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL2x0dG5nLW1vZHVsZXMtMi45LjEvcHJv
YmVzL2x0dG5nLXByb2JlLXdvcmtxdWV1ZS5vCi9tZWRpYS9yZWJlY2Nhcy95b2N0by9tZXRhLWlu
dGVsLWRudi9idWlsZC90bXAvd29yay1zaGFyZWQvaW50ZWwtY29yZWk3LTY0L2tlcm5lbC1zb3Vy
Y2Uvc2NyaXB0cy9NYWtlZmlsZS5idWlsZDoyOTk6IHJlY2lwZSBmb3IgdGFyZ2V0ICcvbWVkaWEv
cmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1kbnYvYnVpbGQvdG1wL3dvcmsvaW50ZWxfY29yZWk3
XzY0LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9sdHRuZy1tb2R1bGVzLTIuOS4x
L3Byb2Jlcy9sdHRuZy1wcm9iZS10aW1lci5vJyBmYWlsZWQKbWFrZVs0XTogKioqIFsvbWVkaWEv
cmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1kbnYvYnVpbGQvdG1wL3dvcmsvaW50ZWxfY29yZWk3
XzY0LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9sdHRuZy1tb2R1bGVzLTIuOS4x
L3Byb2Jlcy9sdHRuZy1wcm9iZS10aW1lci5vXSBFcnJvciAxCm1ha2VbNF06ICoqKiBXYWl0aW5n
IGZvciB1bmZpbmlzaGVkIGpvYnMuLi4uCi9tZWRpYS9yZWJlY2Nhcy95b2N0by9tZXRhLWludGVs
LWRudi9idWlsZC90bXAvd29yay1zaGFyZWQvaW50ZWwtY29yZWk3LTY0L2tlcm5lbC1zb3VyY2Uv
c2NyaXB0cy9NYWtlZmlsZS5idWlsZDoyOTk6IHJlY2lwZSBmb3IgdGFyZ2V0ICcvbWVkaWEvcmVi
ZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1kbnYvYnVpbGQvdG1wL3dvcmsvaW50ZWxfY29yZWk3XzY0
LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9sdHRuZy1tb2R1bGVzLTIuOS4xL3By
b2Jlcy9sdHRuZy1wcm9iZS1zY2hlZC5vJyBmYWlsZWQKbWFrZVs0XTogKioqIFsvbWVkaWEvcmVi
ZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1kbnYvYnVpbGQvdG1wL3dvcmsvaW50ZWxfY29yZWk3XzY0
LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9sdHRuZy1tb2R1bGVzLTIuOS4xL3By
b2Jlcy9sdHRuZy1wcm9iZS1zY2hlZC5vXSBFcnJvciAxCiAgTEQgW01dICAvbWVkaWEvcmViZWNj
YXMveW9jdG8vbWV0YS1pbnRlbC1kbnYvYnVpbGQvdG1wL3dvcmsvaW50ZWxfY29yZWk3XzY0LXBv
a3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9sdHRuZy1tb2R1bGVzLTIuOS4xL3Rlc3Rz
L2x0dG5nLXRlc3QubwogIExEIFtNXSAgL21lZGlhL3JlYmVjY2FzL3lvY3RvL21ldGEtaW50ZWwt
ZG52L2J1aWxkL3RtcC93b3JrL2ludGVsX2NvcmVpN182NC1wb2t5LWxpbnV4L2x0dG5nLW1vZHVs
ZXMvMi45LjEtcjAvbHR0bmctbW9kdWxlcy0yLjkuMS9sdHRuZy1zdGF0ZWR1bXAubwogIExEIFtN
XSAgL21lZGlhL3JlYmVjY2FzL3lvY3RvL21ldGEtaW50ZWwtZG52L2J1aWxkL3RtcC93b3JrL2lu
dGVsX2NvcmVpN182NC1wb2t5LWxpbnV4L2x0dG5nLW1vZHVsZXMvMi45LjEtcjAvbHR0bmctbW9k
dWxlcy0yLjkuMS9saWIvbHR0bmctbGliLXJpbmctYnVmZmVyLm8KL21lZGlhL3JlYmVjY2FzL3lv
Y3RvL21ldGEtaW50ZWwtZG52L2J1aWxkL3RtcC93b3JrLXNoYXJlZC9pbnRlbC1jb3JlaTctNjQv
a2VybmVsLXNvdXJjZS9zY3JpcHRzL01ha2VmaWxlLmJ1aWxkOjU0NDogcmVjaXBlIGZvciB0YXJn
ZXQgJy9tZWRpYS9yZWJlY2Nhcy95b2N0by9tZXRhLWludGVsLWRudi9idWlsZC90bXAvd29yay9p
bnRlbF9jb3JlaTdfNjQtcG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL2x0dG5nLW1v
ZHVsZXMtMi45LjEvcHJvYmVzJyBmYWlsZWQKbWFrZVszXTogKioqIFsvbWVkaWEvcmViZWNjYXMv
eW9jdG8vbWV0YS1pbnRlbC1kbnYvYnVpbGQvdG1wL3dvcmsvaW50ZWxfY29yZWk3XzY0LXBva3kt
bGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9sdHRuZy1tb2R1bGVzLTIuOS4xL3Byb2Jlc10g
RXJyb3IgMgptYWtlWzNdOiAqKiogV2FpdGluZyBmb3IgdW5maW5pc2hlZCBqb2JzLi4uLgovbWVk
aWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1kbnYvYnVpbGQvdG1wL3dvcmstc2hhcmVkL2lu
dGVsLWNvcmVpNy02NC9rZXJuZWwtc291cmNlL01ha2VmaWxlOjE0OTM6IHJlY2lwZSBmb3IgdGFy
Z2V0ICdfbW9kdWxlXy9tZWRpYS9yZWJlY2Nhcy95b2N0by9tZXRhLWludGVsLWRudi9idWlsZC90
bXAvd29yay9pbnRlbF9jb3JlaTdfNjQtcG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIw
L2x0dG5nLW1vZHVsZXMtMi45LjEnIGZhaWxlZAptYWtlWzJdOiAqKiogW19tb2R1bGVfL21lZGlh
L3JlYmVjY2FzL3lvY3RvL21ldGEtaW50ZWwtZG52L2J1aWxkL3RtcC93b3JrL2ludGVsX2NvcmVp
N182NC1wb2t5LWxpbnV4L2x0dG5nLW1vZHVsZXMvMi45LjEtcjAvbHR0bmctbW9kdWxlcy0yLjku
MV0gRXJyb3IgMgptYWtlWzJdOiBMZWF2aW5nIGRpcmVjdG9yeSAnL21lZGlhL3JlYmVjY2FzL3lv
Y3RvL21ldGEtaW50ZWwtZG52L2J1aWxkL3RtcC93b3JrLXNoYXJlZC9pbnRlbC1jb3JlaTctNjQv
a2VybmVsLWJ1aWxkLWFydGlmYWN0cycKTWFrZWZpbGU6MTUwOiByZWNpcGUgZm9yIHRhcmdldCAn
c3ViLW1ha2UnIGZhaWxlZAptYWtlWzFdOiAqKiogW3N1Yi1tYWtlXSBFcnJvciAyCm1ha2VbMV06
IExlYXZpbmcgZGlyZWN0b3J5ICcvbWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1kbnYv
YnVpbGQvdG1wL3dvcmstc2hhcmVkL2ludGVsLWNvcmVpNy02NC9rZXJuZWwtc291cmNlJwpNYWtl
ZmlsZToxMTE6IHJlY2lwZSBmb3IgdGFyZ2V0ICdtb2R1bGVzJyBmYWlsZWQKbWFrZTogKioqIFtt
b2R1bGVzXSBFcnJvciAyCkVSUk9SOiBGdW5jdGlvbiBmYWlsZWQ6IGRvX2NvbXBpbGUgKGxvZyBm
aWxlIGlzIGxvY2F0ZWQgYXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL21ldGEtaW50ZWwtZG52L2J1
aWxkL3RtcC93b3JrL2ludGVsX2NvcmVpN182NC1wb2t5LWxpbnV4L2x0dG5nLW1vZHVsZXMvMi45
LjEtcjAvdGVtcC9sb2cuZG9fY29tcGlsZS4xNzIzODEpCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>4103</attachid>
            <date>2017-10-26 04:46:37 +0000</date>
            <delta_ts>2017-10-26 04:46:37 +0000</delta_ts>
            <desc>do_fetch</desc>
            <filename>log.do_fetch.132536</filename>
            <type>application/octet-stream</type>
            <size>33442</size>
            <attacher name="Rebecca Chang">rebecca.swee.fun.chang</attacher>
            
              <data encoding="base64">REVCVUc6IEV4ZWN1dGluZyBweXRob24gZnVuY3Rpb24gY2xlYW5fcmVjaXBlX3N5c3Jvb3QKREVC
VUc6IFB5dGhvbiBmdW5jdGlvbiBjbGVhbl9yZWNpcGVfc3lzcm9vdCBmaW5pc2hlZApERUJVRzog
RXhlY3V0aW5nIHB5dGhvbiBmdW5jdGlvbiBleHRlbmRfcmVjaXBlX3N5c3Jvb3QKTk9URTogRGly
ZWN0IGRlcGVuZGVuY2llcyBhcmUgW10KTk9URTogCkRFQlVHOiBQeXRob24gZnVuY3Rpb24gZXh0
ZW5kX3JlY2lwZV9zeXNyb290IGZpbmlzaGVkCkRFQlVHOiBFeGVjdXRpbmcgcHl0aG9uIGZ1bmN0
aW9uIGRvX2ZldGNoCkRFQlVHOiBFeGVjdXRpbmcgcHl0aG9uIGZ1bmN0aW9uIGJhc2VfZG9fZmV0
Y2gKREVCVUc6IFRyeWluZyBQUkVNSVJST1JTCkRFQlVHOiBGb3IgdXJsIFsnaHR0cHMnLCAnbHR0
bmcub3JnJywgJy9maWxlcy9sdHRuZy1tb2R1bGVzL2x0dG5nLW1vZHVsZXMtMi45LjEudGFyLmJ6
MicsICcnLCAnJywgT3JkZXJlZERpY3QoKV0gY29tcGFyaW5nIFsnYnpyJywgJy4qJywgJy8uKics
ICcnLCAnJywgT3JkZXJlZERpY3QoKV0gdG8gWydodHRwJywgJ2Rvd25sb2Fkcy55b2N0b3Byb2pl
Y3Qub3JnJywgJy9taXJyb3Ivc291cmNlcy8nLCAnJywgJycsIE9yZGVyZWREaWN0KCldCkRFQlVH
OiBGb3IgdXJsIFsnaHR0cHMnLCAnbHR0bmcub3JnJywgJy9maWxlcy9sdHRuZy1tb2R1bGVzL2x0
dG5nLW1vZHVsZXMtMi45LjEudGFyLmJ6MicsICcnLCAnJywgT3JkZXJlZERpY3QoKV0gY29tcGFy
aW5nIFsnY3ZzJywgJy4qJywgJy8uKicsICcnLCAnJywgT3JkZXJlZERpY3QoKV0gdG8gWydodHRw
JywgJ2Rvd25sb2Fkcy55b2N0b3Byb2plY3Qub3JnJywgJy9taXJyb3Ivc291cmNlcy8nLCAnJywg
JycsIE9yZGVyZWREaWN0KCldCkRFQlVHOiBGb3IgdXJsIFsnaHR0cHMnLCAnbHR0bmcub3JnJywg
Jy9maWxlcy9sdHRuZy1tb2R1bGVzL2x0dG5nLW1vZHVsZXMtMi45LjEudGFyLmJ6MicsICcnLCAn
JywgT3JkZXJlZERpY3QoKV0gY29tcGFyaW5nIFsnZ2l0JywgJy4qJywgJy8uKicsICcnLCAnJywg
T3JkZXJlZERpY3QoKV0gdG8gWydodHRwJywgJ2Rvd25sb2Fkcy55b2N0b3Byb2plY3Qub3JnJywg
Jy9taXJyb3Ivc291cmNlcy8nLCAnJywgJycsIE9yZGVyZWREaWN0KCldCkRFQlVHOiBGb3IgdXJs
IFsnaHR0cHMnLCAnbHR0bmcub3JnJywgJy9maWxlcy9sdHRuZy1tb2R1bGVzL2x0dG5nLW1vZHVs
ZXMtMi45LjEudGFyLmJ6MicsICcnLCAnJywgT3JkZXJlZERpY3QoKV0gY29tcGFyaW5nIFsnZ2l0
c20nLCAnLionLCAnLy4qJywgJycsICcnLCBPcmRlcmVkRGljdCgpXSB0byBbJ2h0dHAnLCAnZG93
bmxvYWRzLnlvY3RvcHJvamVjdC5vcmcnLCAnL21pcnJvci9zb3VyY2VzLycsICcnLCAnJywgT3Jk
ZXJlZERpY3QoKV0KREVCVUc6IEZvciB1cmwgWydodHRwcycsICdsdHRuZy5vcmcnLCAnL2ZpbGVz
L2x0dG5nLW1vZHVsZXMvbHR0bmctbW9kdWxlcy0yLjkuMS50YXIuYnoyJywgJycsICcnLCBPcmRl
cmVkRGljdCgpXSBjb21wYXJpbmcgWydoZycsICcuKicsICcvLionLCAnJywgJycsIE9yZGVyZWRE
aWN0KCldIHRvIFsnaHR0cCcsICdkb3dubG9hZHMueW9jdG9wcm9qZWN0Lm9yZycsICcvbWlycm9y
L3NvdXJjZXMvJywgJycsICcnLCBPcmRlcmVkRGljdCgpXQpERUJVRzogRm9yIHVybCBbJ2h0dHBz
JywgJ2x0dG5nLm9yZycsICcvZmlsZXMvbHR0bmctbW9kdWxlcy9sdHRuZy1tb2R1bGVzLTIuOS4x
LnRhci5iejInLCAnJywgJycsIE9yZGVyZWREaWN0KCldIGNvbXBhcmluZyBbJ29zYycsICcuKics
ICcvLionLCAnJywgJycsIE9yZGVyZWREaWN0KCldIHRvIFsnaHR0cCcsICdkb3dubG9hZHMueW9j
dG9wcm9qZWN0Lm9yZycsICcvbWlycm9yL3NvdXJjZXMvJywgJycsICcnLCBPcmRlcmVkRGljdCgp
XQpERUJVRzogRm9yIHVybCBbJ2h0dHBzJywgJ2x0dG5nLm9yZycsICcvZmlsZXMvbHR0bmctbW9k
dWxlcy9sdHRuZy1tb2R1bGVzLTIuOS4xLnRhci5iejInLCAnJywgJycsIE9yZGVyZWREaWN0KCld
IGNvbXBhcmluZyBbJ3A0JywgJy4qJywgJy8uKicsICcnLCAnJywgT3JkZXJlZERpY3QoKV0gdG8g
WydodHRwJywgJ2Rvd25sb2Fkcy55b2N0b3Byb2plY3Qub3JnJywgJy9taXJyb3Ivc291cmNlcy8n
LCAnJywgJycsIE9yZGVyZWREaWN0KCldCkRFQlVHOiBGb3IgdXJsIFsnaHR0cHMnLCAnbHR0bmcu
b3JnJywgJy9maWxlcy9sdHRuZy1tb2R1bGVzL2x0dG5nLW1vZHVsZXMtMi45LjEudGFyLmJ6Mics
ICcnLCAnJywgT3JkZXJlZERpY3QoKV0gY29tcGFyaW5nIFsnc3ZuJywgJy4qJywgJy8uKicsICcn
LCAnJywgT3JkZXJlZERpY3QoKV0gdG8gWydodHRwJywgJ2Rvd25sb2Fkcy55b2N0b3Byb2plY3Qu
b3JnJywgJy9taXJyb3Ivc291cmNlcy8nLCAnJywgJycsIE9yZGVyZWREaWN0KCldCkRFQlVHOiBU
cnlpbmcgVXBzdHJlYW0KREVCVUc6IEZldGNoaW5nIGh0dHBzOi8vbHR0bmcub3JnL2ZpbGVzL2x0
dG5nLW1vZHVsZXMvbHR0bmctbW9kdWxlcy0yLjkuMS50YXIuYnoyIHVzaW5nIGNvbW1hbmQgJy91
c3IvYmluL2VudiB3Z2V0IC10IDIgLVQgMzAgLW52IC0tcGFzc2l2ZS1mdHAgLS1uby1jaGVjay1j
ZXJ0aWZpY2F0ZSAtUCAvbWVkaWEvcmViZWNjYXMvYnVpbGQvZG93bmxvYWRzICdodHRwczovL2x0
dG5nLm9yZy9maWxlcy9sdHRuZy1tb2R1bGVzL2x0dG5nLW1vZHVsZXMtMi45LjEudGFyLmJ6Micn
CkRFQlVHOiBGZXRjaGVyIGFjY2Vzc2VkIHRoZSBuZXR3b3JrIHdpdGggdGhlIGNvbW1hbmQgL3Vz
ci9iaW4vZW52IHdnZXQgLXQgMiAtVCAzMCAtbnYgLS1wYXNzaXZlLWZ0cCAtLW5vLWNoZWNrLWNl
cnRpZmljYXRlIC1QIC9tZWRpYS9yZWJlY2Nhcy9idWlsZC9kb3dubG9hZHMgJ2h0dHBzOi8vbHR0
bmcub3JnL2ZpbGVzL2x0dG5nLW1vZHVsZXMvbHR0bmctbW9kdWxlcy0yLjkuMS50YXIuYnoyJwpE
RUJVRzogUnVubmluZyBleHBvcnQgREJVU19TRVNTSU9OX0JVU19BRERSRVNTPSJ1bml4OmFic3Ry
YWN0PS90bXAvZGJ1cy13c0Z5TjV4Y2ZELGd1aWQ9OTkxZmFhNGZhZjJmYjIyOTFhODc1MWIzNTlj
YTFiNzUiOyBleHBvcnQgU1NIX0FHRU5UX1BJRD0iMzIxNiI7IGV4cG9ydCBTU0hfQVVUSF9TT0NL
PSIvcnVuL3VzZXIvMTAwMC9rZXlyaW5nL3NzaCI7IGV4cG9ydCBhbGxfcHJveHk9InNvY2tzOi8v
aHR0cDovL3Byb3h5LXBuZy5pbnRlbC5jb206MTA4MC8iOyBleHBvcnQgQUxMX1BST1hZPSJzb2Nr
czovL2h0dHA6Ly9wcm94eS1wbmcuaW50ZWwuY29tOjEwODAvIjsgZXhwb3J0IG5vX3Byb3h5PSJs
b2NhbGhvc3QsMTI3LjAuMC4wLzEsaW50ZWwuY29tLDE3Mi4wLjAuMC8xLDEwLjAuMC4wLzEsZ2l0
LWdhci0xLmRldnRvb2xzLmludGVsLmNvbSxnaXQtZ2VyLTYuZGV2dG9vbHMuaW50ZWwuY29tLGdp
dC1hbXItMi5kZXZ0b29scy5pbnRlbC5jb20sZ2l0LWFtci0zLmRldnRvb2xzLmludGVsLmNvbSI7
IGV4cG9ydCBOT19QUk9YWT0ibG9jYWxob3N0LDEyNy4wLjAuMC8xLGludGVsLmNvbSwxNzIuMC4w
LjAvMSwxMC4wLjAuMC8xLGdpdC1nYXItMS5kZXZ0b29scy5pbnRlbC5jb20sZ2l0LWdlci02LmRl
dnRvb2xzLmludGVsLmNvbSxnaXQtYW1yLTIuZGV2dG9vbHMuaW50ZWwuY29tLGdpdC1hbXItMy5k
ZXZ0b29scy5pbnRlbC5jb20iOyBleHBvcnQgZnRwX3Byb3h5PSJodHRwOi8vcHJveHktcG5nLmlu
dGVsLmNvbTo5MTEiOyBleHBvcnQgRlRQX1BST1hZPSJodHRwOi8vcHJveHktcG5nLmludGVsLmNv
bTo5MTEiOyBleHBvcnQgaHR0cHNfcHJveHk9Imh0dHA6Ly9wcm94eS1wbmcuaW50ZWwuY29tOjkx
MSI7IGV4cG9ydCBIVFRQU19QUk9YWT0iaHR0cDovL3Byb3h5LXBuZy5pbnRlbC5jb206OTExIjsg
ZXhwb3J0IGh0dHBfcHJveHk9Imh0dHA6Ly9wcm94eS1wbmcuaW50ZWwuY29tOjkxMSI7IGV4cG9y
dCBIVFRQX1BST1hZPSJodHRwOi8vcHJveHktcG5nLmludGVsLmNvbTo5MTEiOyBleHBvcnQgUEFU
SD0iL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL3RtcC9zeXNyb290cy11bmluYXRpdmUveDg2
XzY0LWxpbnV4L3Vzci9iaW46L21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvc2NyaXB0czovbWVk
aWEvcmViZWNjYXMveW9jdG8vbHR0bmcvdG1wL3dvcmsvcWVtdXg4Ni1wb2t5LWxpbnV4L2x0dG5n
LW1vZHVsZXMvMi45LjEtcjAvcmVjaXBlLXN5c3Jvb3QtbmF0aXZlL3Vzci9iaW4vaTU4Ni1wb2t5
LWxpbnV4Oi9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy90bXAvd29yay9xZW11eDg2LXBva3kt
bGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9yZWNpcGUtc3lzcm9vdC91c3IvYmluL2Nyb3Nz
c2NyaXB0czovbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvdG1wL3dvcmsvcWVtdXg4Ni1wb2t5
LWxpbnV4L2x0dG5nLW1vZHVsZXMvMi45LjEtcjAvcmVjaXBlLXN5c3Jvb3QtbmF0aXZlL3Vzci9z
YmluOi9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy90bXAvd29yay9xZW11eDg2LXBva3ktbGlu
dXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9yZWNpcGUtc3lzcm9vdC1uYXRpdmUvdXNyL2Jpbjov
bWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvdG1wL3dvcmsvcWVtdXg4Ni1wb2t5LWxpbnV4L2x0
dG5nLW1vZHVsZXMvMi45LjEtcjAvcmVjaXBlLXN5c3Jvb3QtbmF0aXZlL3NiaW46L21lZGlhL3Jl
YmVjY2FzL3lvY3RvL2x0dG5nL3RtcC93b3JrL3FlbXV4ODYtcG9reS1saW51eC9sdHRuZy1tb2R1
bGVzLzIuOS4xLXIwL3JlY2lwZS1zeXNyb290LW5hdGl2ZS9iaW46L21lZGlhL3JlYmVjY2FzL3lv
Y3RvL3Bva3kvYml0YmFrZS9iaW46L21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL3RtcC9ob3N0
dG9vbHMiOyBleHBvcnQgSE9NRT0iL2hvbWUvcmViZWNjYXMiOyAvdXNyL2Jpbi9lbnYgd2dldCAt
dCAyIC1UIDMwIC1udiAtLXBhc3NpdmUtZnRwIC0tbm8tY2hlY2stY2VydGlmaWNhdGUgLVAgL21l
ZGlhL3JlYmVjY2FzL2J1aWxkL2Rvd25sb2FkcyAnaHR0cHM6Ly9sdHRuZy5vcmcvZmlsZXMvbHR0
bmctbW9kdWxlcy9sdHRuZy1tb2R1bGVzLTIuOS4xLnRhci5iejInIC0tcHJvZ3Jlc3M9ZG90IC12
Ci0tMjAxNy0xMC0yNiAwODo0MDowMS0tICBodHRwczovL2x0dG5nLm9yZy9maWxlcy9sdHRuZy1t
b2R1bGVzL2x0dG5nLW1vZHVsZXMtMi45LjEudGFyLmJ6MgpSZXNvbHZpbmcgcHJveHktcG5nLmlu
dGVsLmNvbSAocHJveHktcG5nLmludGVsLmNvbSkuLi4gMTcyLjMwLjcuMTc2CkNvbm5lY3Rpbmcg
dG8gcHJveHktcG5nLmludGVsLmNvbSAocHJveHktcG5nLmludGVsLmNvbSl8MTcyLjMwLjcuMTc2
fDo5MTEuLi4gY29ubmVjdGVkLgpQcm94eSByZXF1ZXN0IHNlbnQsIGF3YWl0aW5nIHJlc3BvbnNl
Li4uIDIwMCBPSwpMZW5ndGg6IDMzMjYxMiAoMzI1SykgW2FwcGxpY2F0aW9uL3gtYnppcDJdClNh
dmluZyB0bzog4oCYL21lZGlhL3JlYmVjY2FzL2J1aWxkL2Rvd25sb2Fkcy9sdHRuZy1tb2R1bGVz
LTIuOS4xLnRhci5iejLigJkKCgoyMDE3LTEwLTI2IDA4OjQwOjA0ICgzMTUgS0IvcykgLSDigJgv
bWVkaWEvcmViZWNjYXMvYnVpbGQvZG93bmxvYWRzL2x0dG5nLW1vZHVsZXMtMi45LjEudGFyLmJ6
MuKAmSBzYXZlZCBbMzMyNjEyLzMzMjYxMl0KCkRFQlVHOiBTZWFyY2hpbmcgZm9yIE1ha2VmaWxl
LURvLW5vdC1mYWlsLWlmLUNPTkZJR19UUkFDRVBPSU5UUy1pcy1ub3QtZW4ucGF0Y2ggaW4gcGF0
aHM6CiAgICAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2x0
dG5nL2x0dG5nLW1vZHVsZXMtMi45LjEvcG9reQogICAgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bv
a3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9sdHRuZy9sdHRuZy1tb2R1bGVzL3Bva3kKICAgIC9tZWRp
YS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbHR0bmcvZmlsZXMvcG9r
eQogICAgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9sdHRu
Zy9sdHRuZy1tb2R1bGVzLTIuOS4xL3FlbXV4ODYKICAgIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9w
b2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbHR0bmcvbHR0bmctbW9kdWxlcy9xZW11eDg2CiAgICAv
bWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2x0dG5nL2ZpbGVz
L3FlbXV4ODYKICAgIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvcmVjaXBlcy1rZXJu
ZWwvbHR0bmcvbHR0bmctbW9kdWxlcy0yLjkuMS9xZW11YWxsCiAgICAvbWVkaWEvcmViZWNjYXMv
eW9jdG8vcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2x0dG5nL2x0dG5nLW1vZHVsZXMvcWVtdWFs
bAogICAgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9sdHRu
Zy9maWxlcy9xZW11YWxsCiAgICAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL3JlY2lw
ZXMta2VybmVsL2x0dG5nL2x0dG5nLW1vZHVsZXMtMi45LjEveDg2CiAgICAvbWVkaWEvcmViZWNj
YXMveW9jdG8vcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2x0dG5nL2x0dG5nLW1vZHVsZXMveDg2
CiAgICAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2x0dG5n
L2ZpbGVzL3g4NgogICAgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9yZWNpcGVzLWtl
cm5lbC9sdHRuZy9sdHRuZy1tb2R1bGVzLTIuOS4xL2k1ODYKICAgIC9tZWRpYS9yZWJlY2Nhcy95
b2N0by9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbHR0bmcvbHR0bmctbW9kdWxlcy9pNTg2CiAg
ICAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2x0dG5nL2Zp
bGVzL2k1ODYKICAgIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvcmVjaXBlcy1rZXJu
ZWwvbHR0bmcvbHR0bmctbW9kdWxlcy0yLjkuMS8KICAgIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9w
b2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbHR0bmcvbHR0bmctbW9kdWxlcy8KICAgIC9tZWRpYS9y
ZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbHR0bmcvZmlsZXMvCkRFQlVH
OiBTZWFyY2hpbmcgZm9yIDAwMDItbHR0bmctbW9kdWxlcy1QS1QtNC45LXlvY3RvLWJ1aWxkLWZh
aWxlZC5wYXRjaCBpbiBwYXRoczoKICAgIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEv
cmVjaXBlcy1rZXJuZWwvbHR0bmcvbHR0bmctbW9kdWxlcy0yLjkuMS9wb2t5CiAgICAvbWVkaWEv
cmViZWNjYXMveW9jdG8vcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2x0dG5nL2x0dG5nLW1vZHVs
ZXMvcG9reQogICAgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5l
bC9sdHRuZy9maWxlcy9wb2t5CiAgICAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL3Jl
Y2lwZXMta2VybmVsL2x0dG5nL2x0dG5nLW1vZHVsZXMtMi45LjEvcWVtdXg4NgogICAgL21lZGlh
L3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9sdHRuZy9sdHRuZy1tb2R1
bGVzL3FlbXV4ODYKICAgIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvcmVjaXBlcy1r
ZXJuZWwvbHR0bmcvZmlsZXMvcWVtdXg4NgogICAgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kv
bWV0YS9yZWNpcGVzLWtlcm5lbC9sdHRuZy9sdHRuZy1tb2R1bGVzLTIuOS4xL3FlbXVhbGwKICAg
IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbHR0bmcvbHR0
bmctbW9kdWxlcy9xZW11YWxsCiAgICAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL3Jl
Y2lwZXMta2VybmVsL2x0dG5nL2ZpbGVzL3FlbXVhbGwKICAgIC9tZWRpYS9yZWJlY2Nhcy95b2N0
by9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbHR0bmcvbHR0bmctbW9kdWxlcy0yLjkuMS94ODYK
ICAgIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbHR0bmcv
bHR0bmctbW9kdWxlcy94ODYKICAgIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvcmVj
aXBlcy1rZXJuZWwvbHR0bmcvZmlsZXMveDg2CiAgICAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9r
eS9tZXRhL3JlY2lwZXMta2VybmVsL2x0dG5nL2x0dG5nLW1vZHVsZXMtMi45LjEvaTU4NgogICAg
L21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9sdHRuZy9sdHRu
Zy1tb2R1bGVzL2k1ODYKICAgIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvcmVjaXBl
cy1rZXJuZWwvbHR0bmcvZmlsZXMvaTU4NgogICAgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kv
bWV0YS9yZWNpcGVzLWtlcm5lbC9sdHRuZy9sdHRuZy1tb2R1bGVzLTIuOS4xLwogICAgL21lZGlh
L3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9sdHRuZy9sdHRuZy1tb2R1
bGVzLwogICAgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9s
dHRuZy9maWxlcy8KREVCVUc6IERlZmF1bHRpbmcgdG8gL21lZGlhL3JlYmVjY2FzL2J1aWxkL2Rv
d25sb2Fkcy8wMDAyLWx0dG5nLW1vZHVsZXMtUEtULTQuOS15b2N0by1idWlsZC1mYWlsZWQucGF0
Y2ggZm9yIDAwMDItbHR0bmctbW9kdWxlcy1QS1QtNC45LXlvY3RvLWJ1aWxkLWZhaWxlZC5wYXRj
aApERUJVRzogVHJ5aW5nIFBSRU1JUlJPUlMKREVCVUc6IEZvciB1cmwgWydmaWxlJywgJycsICcw
MDAyLWx0dG5nLW1vZHVsZXMtUEtULTQuOS15b2N0by1idWlsZC1mYWlsZWQucGF0Y2gnLCAnJywg
JycsIE9yZGVyZWREaWN0KCldIGNvbXBhcmluZyBbJ2J6cicsICcuKicsICcvLionLCAnJywgJycs
IE9yZGVyZWREaWN0KCldIHRvIFsnaHR0cCcsICdkb3dubG9hZHMueW9jdG9wcm9qZWN0Lm9yZycs
ICcvbWlycm9yL3NvdXJjZXMvJywgJycsICcnLCBPcmRlcmVkRGljdCgpXQpERUJVRzogRm9yIHVy
bCBbJ2ZpbGUnLCAnJywgJzAwMDItbHR0bmctbW9kdWxlcy1QS1QtNC45LXlvY3RvLWJ1aWxkLWZh
aWxlZC5wYXRjaCcsICcnLCAnJywgT3JkZXJlZERpY3QoKV0gY29tcGFyaW5nIFsnY3ZzJywgJy4q
JywgJy8uKicsICcnLCAnJywgT3JkZXJlZERpY3QoKV0gdG8gWydodHRwJywgJ2Rvd25sb2Fkcy55
b2N0b3Byb2plY3Qub3JnJywgJy9taXJyb3Ivc291cmNlcy8nLCAnJywgJycsIE9yZGVyZWREaWN0
KCldCkRFQlVHOiBGb3IgdXJsIFsnZmlsZScsICcnLCAnMDAwMi1sdHRuZy1tb2R1bGVzLVBLVC00
LjkteW9jdG8tYnVpbGQtZmFpbGVkLnBhdGNoJywgJycsICcnLCBPcmRlcmVkRGljdCgpXSBjb21w
YXJpbmcgWydnaXQnLCAnLionLCAnLy4qJywgJycsICcnLCBPcmRlcmVkRGljdCgpXSB0byBbJ2h0
dHAnLCAnZG93bmxvYWRzLnlvY3RvcHJvamVjdC5vcmcnLCAnL21pcnJvci9zb3VyY2VzLycsICcn
LCAnJywgT3JkZXJlZERpY3QoKV0KREVCVUc6IEZvciB1cmwgWydmaWxlJywgJycsICcwMDAyLWx0
dG5nLW1vZHVsZXMtUEtULTQuOS15b2N0by1idWlsZC1mYWlsZWQucGF0Y2gnLCAnJywgJycsIE9y
ZGVyZWREaWN0KCldIGNvbXBhcmluZyBbJ2dpdHNtJywgJy4qJywgJy8uKicsICcnLCAnJywgT3Jk
ZXJlZERpY3QoKV0gdG8gWydodHRwJywgJ2Rvd25sb2Fkcy55b2N0b3Byb2plY3Qub3JnJywgJy9t
aXJyb3Ivc291cmNlcy8nLCAnJywgJycsIE9yZGVyZWREaWN0KCldCkRFQlVHOiBGb3IgdXJsIFsn
ZmlsZScsICcnLCAnMDAwMi1sdHRuZy1tb2R1bGVzLVBLVC00LjkteW9jdG8tYnVpbGQtZmFpbGVk
LnBhdGNoJywgJycsICcnLCBPcmRlcmVkRGljdCgpXSBjb21wYXJpbmcgWydoZycsICcuKicsICcv
LionLCAnJywgJycsIE9yZGVyZWREaWN0KCldIHRvIFsnaHR0cCcsICdkb3dubG9hZHMueW9jdG9w
cm9qZWN0Lm9yZycsICcvbWlycm9yL3NvdXJjZXMvJywgJycsICcnLCBPcmRlcmVkRGljdCgpXQpE
RUJVRzogRm9yIHVybCBbJ2ZpbGUnLCAnJywgJzAwMDItbHR0bmctbW9kdWxlcy1QS1QtNC45LXlv
Y3RvLWJ1aWxkLWZhaWxlZC5wYXRjaCcsICcnLCAnJywgT3JkZXJlZERpY3QoKV0gY29tcGFyaW5n
IFsnb3NjJywgJy4qJywgJy8uKicsICcnLCAnJywgT3JkZXJlZERpY3QoKV0gdG8gWydodHRwJywg
J2Rvd25sb2Fkcy55b2N0b3Byb2plY3Qub3JnJywgJy9taXJyb3Ivc291cmNlcy8nLCAnJywgJycs
IE9yZGVyZWREaWN0KCldCkRFQlVHOiBGb3IgdXJsIFsnZmlsZScsICcnLCAnMDAwMi1sdHRuZy1t
b2R1bGVzLVBLVC00LjkteW9jdG8tYnVpbGQtZmFpbGVkLnBhdGNoJywgJycsICcnLCBPcmRlcmVk
RGljdCgpXSBjb21wYXJpbmcgWydwNCcsICcuKicsICcvLionLCAnJywgJycsIE9yZGVyZWREaWN0
KCldIHRvIFsnaHR0cCcsICdkb3dubG9hZHMueW9jdG9wcm9qZWN0Lm9yZycsICcvbWlycm9yL3Nv
dXJjZXMvJywgJycsICcnLCBPcmRlcmVkRGljdCgpXQpERUJVRzogRm9yIHVybCBbJ2ZpbGUnLCAn
JywgJzAwMDItbHR0bmctbW9kdWxlcy1QS1QtNC45LXlvY3RvLWJ1aWxkLWZhaWxlZC5wYXRjaCcs
ICcnLCAnJywgT3JkZXJlZERpY3QoKV0gY29tcGFyaW5nIFsnc3ZuJywgJy4qJywgJy8uKicsICcn
LCAnJywgT3JkZXJlZERpY3QoKV0gdG8gWydodHRwJywgJ2Rvd25sb2Fkcy55b2N0b3Byb2plY3Qu
b3JnJywgJy9taXJyb3Ivc291cmNlcy8nLCAnJywgJycsIE9yZGVyZWREaWN0KCldCkRFQlVHOiBU
cnlpbmcgVXBzdHJlYW0KV0FSTklORzogRmFpbGVkIHRvIGZldGNoIFVSTCBmaWxlOi8vMDAwMi1s
dHRuZy1tb2R1bGVzLVBLVC00LjkteW9jdG8tYnVpbGQtZmFpbGVkLnBhdGNoLCBhdHRlbXB0aW5n
IE1JUlJPUlMgaWYgYXZhaWxhYmxlCkRFQlVHOiBGZXRjaGVyIGZhaWx1cmU6IFVuYWJsZSB0byBm
aW5kIGZpbGUgZmlsZTovLzAwMDItbHR0bmctbW9kdWxlcy1QS1QtNC45LXlvY3RvLWJ1aWxkLWZh
aWxlZC5wYXRjaCBhbnl3aGVyZS4gVGhlIHBhdGhzIHRoYXQgd2VyZSBzZWFyY2hlZCB3ZXJlOgog
ICAgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9sdHRuZy9s
dHRuZy1tb2R1bGVzLTIuOS4xL3Bva3kKICAgIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21l
dGEvcmVjaXBlcy1rZXJuZWwvbHR0bmcvbHR0bmctbW9kdWxlcy9wb2t5CiAgICAvbWVkaWEvcmVi
ZWNjYXMveW9jdG8vcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2x0dG5nL2ZpbGVzL3Bva3kKICAg
IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbHR0bmcvbHR0
bmctbW9kdWxlcy0yLjkuMS9xZW11eDg2CiAgICAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9t
ZXRhL3JlY2lwZXMta2VybmVsL2x0dG5nL2x0dG5nLW1vZHVsZXMvcWVtdXg4NgogICAgL21lZGlh
L3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9sdHRuZy9maWxlcy9xZW11
eDg2CiAgICAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2x0
dG5nL2x0dG5nLW1vZHVsZXMtMi45LjEvcWVtdWFsbAogICAgL21lZGlhL3JlYmVjY2FzL3lvY3Rv
L3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9sdHRuZy9sdHRuZy1tb2R1bGVzL3FlbXVhbGwKICAg
IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbHR0bmcvZmls
ZXMvcWVtdWFsbAogICAgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9yZWNpcGVzLWtl
cm5lbC9sdHRuZy9sdHRuZy1tb2R1bGVzLTIuOS4xL3g4NgogICAgL21lZGlhL3JlYmVjY2FzL3lv
Y3RvL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9sdHRuZy9sdHRuZy1tb2R1bGVzL3g4NgogICAg
L21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9sdHRuZy9maWxl
cy94ODYKICAgIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwv
bHR0bmcvbHR0bmctbW9kdWxlcy0yLjkuMS9pNTg2CiAgICAvbWVkaWEvcmViZWNjYXMveW9jdG8v
cG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2x0dG5nL2x0dG5nLW1vZHVsZXMvaTU4NgogICAgL21l
ZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9sdHRuZy9maWxlcy9p
NTg2CiAgICAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2x0
dG5nL2x0dG5nLW1vZHVsZXMtMi45LjEvCiAgICAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9t
ZXRhL3JlY2lwZXMta2VybmVsL2x0dG5nL2x0dG5nLW1vZHVsZXMvCiAgICAvbWVkaWEvcmViZWNj
YXMveW9jdG8vcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2x0dG5nL2ZpbGVzLwogICAgL21lZGlh
L3JlYmVjY2FzL2J1aWxkL2Rvd25sb2FkcwpERUJVRzogVHJ5aW5nIE1JUlJPUlMKREVCVUc6IEZv
ciB1cmwgWydmaWxlJywgJycsICcwMDAyLWx0dG5nLW1vZHVsZXMtUEtULTQuOS15b2N0by1idWls
ZC1mYWlsZWQucGF0Y2gnLCAnJywgJycsIE9yZGVyZWREaWN0KCldIGNvbXBhcmluZyBbJ2Z0cCcs
ICcuKicsICcvLionLCAnJywgJycsIE9yZGVyZWREaWN0KCldIHRvIFsnaHR0cCcsICdkb3dubG9h
ZHMueW9jdG9wcm9qZWN0Lm9yZycsICcvbWlycm9yL3NvdXJjZXMvJywgJycsICcnLCBPcmRlcmVk
RGljdCgpXQpERUJVRzogRm9yIHVybCBbJ2ZpbGUnLCAnJywgJzAwMDItbHR0bmctbW9kdWxlcy1Q
S1QtNC45LXlvY3RvLWJ1aWxkLWZhaWxlZC5wYXRjaCcsICcnLCAnJywgT3JkZXJlZERpY3QoKV0g
Y29tcGFyaW5nIFsnaHR0cCcsICcuKicsICcvLionLCAnJywgJycsIE9yZGVyZWREaWN0KCldIHRv
IFsnaHR0cCcsICdkb3dubG9hZHMueW9jdG9wcm9qZWN0Lm9yZycsICcvbWlycm9yL3NvdXJjZXMv
JywgJycsICcnLCBPcmRlcmVkRGljdCgpXQpERUJVRzogRm9yIHVybCBbJ2ZpbGUnLCAnJywgJzAw
MDItbHR0bmctbW9kdWxlcy1QS1QtNC45LXlvY3RvLWJ1aWxkLWZhaWxlZC5wYXRjaCcsICcnLCAn
JywgT3JkZXJlZERpY3QoKV0gY29tcGFyaW5nIFsnaHR0cHMnLCAnLionLCAnLy4qJywgJycsICcn
LCBPcmRlcmVkRGljdCgpXSB0byBbJ2h0dHAnLCAnZG93bmxvYWRzLnlvY3RvcHJvamVjdC5vcmcn
LCAnL21pcnJvci9zb3VyY2VzLycsICcnLCAnJywgT3JkZXJlZERpY3QoKV0KREVCVUc6IEZvciB1
cmwgWydmaWxlJywgJycsICcwMDAyLWx0dG5nLW1vZHVsZXMtUEtULTQuOS15b2N0by1idWlsZC1m
YWlsZWQucGF0Y2gnLCAnJywgJycsIE9yZGVyZWREaWN0KCldIGNvbXBhcmluZyBbJ2h0dHAnLCAn
ZnRwLmRlYmlhbi5vcmcnLCAnL2RlYmlhbi9wb29sJywgJycsICcnLCBPcmRlcmVkRGljdCgpXSB0
byBbJ2h0dHAnLCAnc25hcHNob3QuZGViaWFuLm9yZycsICcvYXJjaGl2ZS9kZWJpYW4tYXJjaGl2
ZS8yMDEyMDMyOFQwOTI3NTJaL2RlYmlhbi9wb29sJywgJycsICcnLCBPcmRlcmVkRGljdCgpXQpE
RUJVRzogRm9yIHVybCBbJ2ZpbGUnLCAnJywgJzAwMDItbHR0bmctbW9kdWxlcy1QS1QtNC45LXlv
Y3RvLWJ1aWxkLWZhaWxlZC5wYXRjaCcsICcnLCAnJywgT3JkZXJlZERpY3QoKV0gY29tcGFyaW5n
IFsnaHR0cCcsICdmdHAuZGViaWFuLm9yZycsICcvZGViaWFuL3Bvb2wnLCAnJywgJycsIE9yZGVy
ZWREaWN0KCldIHRvIFsnaHR0cCcsICdzbmFwc2hvdC5kZWJpYW4ub3JnJywgJy9hcmNoaXZlL2Rl
Ymlhbi1hcmNoaXZlLzIwMTEwMTI3VDA4NDI1N1ovZGViaWFuL3Bvb2wnLCAnJywgJycsIE9yZGVy
ZWREaWN0KCldCkRFQlVHOiBGb3IgdXJsIFsnZmlsZScsICcnLCAnMDAwMi1sdHRuZy1tb2R1bGVz
LVBLVC00LjkteW9jdG8tYnVpbGQtZmFpbGVkLnBhdGNoJywgJycsICcnLCBPcmRlcmVkRGljdCgp
XSBjb21wYXJpbmcgWydodHRwJywgJ2Z0cC5kZWJpYW4ub3JnJywgJy9kZWJpYW4vcG9vbCcsICcn
LCAnJywgT3JkZXJlZERpY3QoKV0gdG8gWydodHRwJywgJ3NuYXBzaG90LmRlYmlhbi5vcmcnLCAn
L2FyY2hpdmUvZGViaWFuLWFyY2hpdmUvMjAwOTA4MDJUMDA0MTUzWi9kZWJpYW4vcG9vbCcsICcn
LCAnJywgT3JkZXJlZERpY3QoKV0KREVCVUc6IEZvciB1cmwgWydmaWxlJywgJycsICcwMDAyLWx0
dG5nLW1vZHVsZXMtUEtULTQuOS15b2N0by1idWlsZC1mYWlsZWQucGF0Y2gnLCAnJywgJycsIE9y
ZGVyZWREaWN0KCldIGNvbXBhcmluZyBbJ2h0dHAnLCAnZnRwLmRlYmlhbi5vcmcnLCAnL2RlYmlh
bi9wb29sJywgJycsICcnLCBPcmRlcmVkRGljdCgpXSB0byBbJ2h0dHAnLCAnZnRwLmRlLmRlYmlh
bi5vcmcnLCAnL2RlYmlhbi9wb29sJywgJycsICcnLCBPcmRlcmVkRGljdCgpXQpERUJVRzogRm9y
IHVybCBbJ2ZpbGUnLCAnJywgJzAwMDItbHR0bmctbW9kdWxlcy1QS1QtNC45LXlvY3RvLWJ1aWxk
LWZhaWxlZC5wYXRjaCcsICcnLCAnJywgT3JkZXJlZERpY3QoKV0gY29tcGFyaW5nIFsnaHR0cCcs
ICdmdHAuZGViaWFuLm9yZycsICcvZGViaWFuL3Bvb2wnLCAnJywgJycsIE9yZGVyZWREaWN0KCld
IHRvIFsnaHR0cCcsICdmdHAuYXUuZGViaWFuLm9yZycsICcvZGViaWFuL3Bvb2wnLCAnJywgJycs
IE9yZGVyZWREaWN0KCldCkRFQlVHOiBGb3IgdXJsIFsnZmlsZScsICcnLCAnMDAwMi1sdHRuZy1t
b2R1bGVzLVBLVC00LjkteW9jdG8tYnVpbGQtZmFpbGVkLnBhdGNoJywgJycsICcnLCBPcmRlcmVk
RGljdCgpXSBjb21wYXJpbmcgWydodHRwJywgJ2Z0cC5kZWJpYW4ub3JnJywgJy9kZWJpYW4vcG9v
bCcsICcnLCAnJywgT3JkZXJlZERpY3QoKV0gdG8gWydodHRwJywgJ2Z0cC5jbC5kZWJpYW4ub3Jn
JywgJy9kZWJpYW4vcG9vbCcsICcnLCAnJywgT3JkZXJlZERpY3QoKV0KREVCVUc6IEZvciB1cmwg
WydmaWxlJywgJycsICcwMDAyLWx0dG5nLW1vZHVsZXMtUEtULTQuOS15b2N0by1idWlsZC1mYWls
ZWQucGF0Y2gnLCAnJywgJycsIE9yZGVyZWREaWN0KCldIGNvbXBhcmluZyBbJ2h0dHAnLCAnZnRw
LmRlYmlhbi5vcmcnLCAnL2RlYmlhbi9wb29sJywgJycsICcnLCBPcmRlcmVkRGljdCgpXSB0byBb
J2h0dHAnLCAnZnRwLmhyLmRlYmlhbi5vcmcnLCAnL2RlYmlhbi9wb29sJywgJycsICcnLCBPcmRl
cmVkRGljdCgpXQpERUJVRzogRm9yIHVybCBbJ2ZpbGUnLCAnJywgJzAwMDItbHR0bmctbW9kdWxl
cy1QS1QtNC45LXlvY3RvLWJ1aWxkLWZhaWxlZC5wYXRjaCcsICcnLCAnJywgT3JkZXJlZERpY3Qo
KV0gY29tcGFyaW5nIFsnaHR0cCcsICdmdHAuZGViaWFuLm9yZycsICcvZGViaWFuL3Bvb2wnLCAn
JywgJycsIE9yZGVyZWREaWN0KCldIHRvIFsnaHR0cCcsICdmdHAuZmkuZGViaWFuLm9yZycsICcv
ZGViaWFuL3Bvb2wnLCAnJywgJycsIE9yZGVyZWREaWN0KCldCkRFQlVHOiBGb3IgdXJsIFsnZmls
ZScsICcnLCAnMDAwMi1sdHRuZy1tb2R1bGVzLVBLVC00LjkteW9jdG8tYnVpbGQtZmFpbGVkLnBh
dGNoJywgJycsICcnLCBPcmRlcmVkRGljdCgpXSBjb21wYXJpbmcgWydodHRwJywgJ2Z0cC5kZWJp
YW4ub3JnJywgJy9kZWJpYW4vcG9vbCcsICcnLCAnJywgT3JkZXJlZERpY3QoKV0gdG8gWydodHRw
JywgJ2Z0cC5oay5kZWJpYW4ub3JnJywgJy9kZWJpYW4vcG9vbCcsICcnLCAnJywgT3JkZXJlZERp
Y3QoKV0KREVCVUc6IEZvciB1cmwgWydmaWxlJywgJycsICcwMDAyLWx0dG5nLW1vZHVsZXMtUEtU
LTQuOS15b2N0by1idWlsZC1mYWlsZWQucGF0Y2gnLCAnJywgJycsIE9yZGVyZWREaWN0KCldIGNv
bXBhcmluZyBbJ2h0dHAnLCAnZnRwLmRlYmlhbi5vcmcnLCAnL2RlYmlhbi9wb29sJywgJycsICcn
LCBPcmRlcmVkRGljdCgpXSB0byBbJ2h0dHAnLCAnZnRwLmh1LmRlYmlhbi5vcmcnLCAnL2RlYmlh
bi9wb29sJywgJycsICcnLCBPcmRlcmVkRGljdCgpXQpERUJVRzogRm9yIHVybCBbJ2ZpbGUnLCAn
JywgJzAwMDItbHR0bmctbW9kdWxlcy1QS1QtNC45LXlvY3RvLWJ1aWxkLWZhaWxlZC5wYXRjaCcs
ICcnLCAnJywgT3JkZXJlZERpY3QoKV0gY29tcGFyaW5nIFsnaHR0cCcsICdmdHAuZGViaWFuLm9y
ZycsICcvZGViaWFuL3Bvb2wnLCAnJywgJycsIE9yZGVyZWREaWN0KCldIHRvIFsnaHR0cCcsICdm
dHAuaWUuZGViaWFuLm9yZycsICcvZGViaWFuL3Bvb2wnLCAnJywgJycsIE9yZGVyZWREaWN0KCld
CkRFQlVHOiBGb3IgdXJsIFsnZmlsZScsICcnLCAnMDAwMi1sdHRuZy1tb2R1bGVzLVBLVC00Ljkt
eW9jdG8tYnVpbGQtZmFpbGVkLnBhdGNoJywgJycsICcnLCBPcmRlcmVkRGljdCgpXSBjb21wYXJp
bmcgWydodHRwJywgJ2Z0cC5kZWJpYW4ub3JnJywgJy9kZWJpYW4vcG9vbCcsICcnLCAnJywgT3Jk
ZXJlZERpY3QoKV0gdG8gWydodHRwJywgJ2Z0cC5pdC5kZWJpYW4ub3JnJywgJy9kZWJpYW4vcG9v
bCcsICcnLCAnJywgT3JkZXJlZERpY3QoKV0KREVCVUc6IEZvciB1cmwgWydmaWxlJywgJycsICcw
MDAyLWx0dG5nLW1vZHVsZXMtUEtULTQuOS15b2N0by1idWlsZC1mYWlsZWQucGF0Y2gnLCAnJywg
JycsIE9yZGVyZWREaWN0KCldIGNvbXBhcmluZyBbJ2h0dHAnLCAnZnRwLmRlYmlhbi5vcmcnLCAn
L2RlYmlhbi9wb29sJywgJycsICcnLCBPcmRlcmVkRGljdCgpXSB0byBbJ2h0dHAnLCAnZnRwLmpw
LmRlYmlhbi5vcmcnLCAnL2RlYmlhbi9wb29sJywgJycsICcnLCBPcmRlcmVkRGljdCgpXQpERUJV
RzogRm9yIHVybCBbJ2ZpbGUnLCAnJywgJzAwMDItbHR0bmctbW9kdWxlcy1QS1QtNC45LXlvY3Rv
LWJ1aWxkLWZhaWxlZC5wYXRjaCcsICcnLCAnJywgT3JkZXJlZERpY3QoKV0gY29tcGFyaW5nIFsn
aHR0cCcsICdmdHAuZGViaWFuLm9yZycsICcvZGViaWFuL3Bvb2wnLCAnJywgJycsIE9yZGVyZWRE
aWN0KCldIHRvIFsnaHR0cCcsICdmdHAubm8uZGViaWFuLm9yZycsICcvZGViaWFuL3Bvb2wnLCAn
JywgJycsIE9yZGVyZWREaWN0KCldCkRFQlVHOiBGb3IgdXJsIFsnZmlsZScsICcnLCAnMDAwMi1s
dHRuZy1tb2R1bGVzLVBLVC00LjkteW9jdG8tYnVpbGQtZmFpbGVkLnBhdGNoJywgJycsICcnLCBP
cmRlcmVkRGljdCgpXSBjb21wYXJpbmcgWydodHRwJywgJ2Z0cC5kZWJpYW4ub3JnJywgJy9kZWJp
YW4vcG9vbCcsICcnLCAnJywgT3JkZXJlZERpY3QoKV0gdG8gWydodHRwJywgJ2Z0cC5wbC5kZWJp
YW4ub3JnJywgJy9kZWJpYW4vcG9vbCcsICcnLCAnJywgT3JkZXJlZERpY3QoKV0KREVCVUc6IEZv
ciB1cmwgWydmaWxlJywgJycsICcwMDAyLWx0dG5nLW1vZHVsZXMtUEtULTQuOS15b2N0by1idWls
ZC1mYWlsZWQucGF0Y2gnLCAnJywgJycsIE9yZGVyZWREaWN0KCldIGNvbXBhcmluZyBbJ2h0dHAn
LCAnZnRwLmRlYmlhbi5vcmcnLCAnL2RlYmlhbi9wb29sJywgJycsICcnLCBPcmRlcmVkRGljdCgp
XSB0byBbJ2h0dHAnLCAnZnRwLnJvLmRlYmlhbi5vcmcnLCAnL2RlYmlhbi9wb29sJywgJycsICcn
LCBPcmRlcmVkRGljdCgpXQpERUJVRzogRm9yIHVybCBbJ2ZpbGUnLCAnJywgJzAwMDItbHR0bmct
bW9kdWxlcy1QS1QtNC45LXlvY3RvLWJ1aWxkLWZhaWxlZC5wYXRjaCcsICcnLCAnJywgT3JkZXJl
ZERpY3QoKV0gY29tcGFyaW5nIFsnaHR0cCcsICdmdHAuZGViaWFuLm9yZycsICcvZGViaWFuL3Bv
b2wnLCAnJywgJycsIE9yZGVyZWREaWN0KCldIHRvIFsnaHR0cCcsICdmdHAuc2kuZGViaWFuLm9y
ZycsICcvZGViaWFuL3Bvb2wnLCAnJywgJycsIE9yZGVyZWREaWN0KCldCkRFQlVHOiBGb3IgdXJs
IFsnZmlsZScsICcnLCAnMDAwMi1sdHRuZy1tb2R1bGVzLVBLVC00LjkteW9jdG8tYnVpbGQtZmFp
bGVkLnBhdGNoJywgJycsICcnLCBPcmRlcmVkRGljdCgpXSBjb21wYXJpbmcgWydodHRwJywgJ2Z0
cC5kZWJpYW4ub3JnJywgJy9kZWJpYW4vcG9vbCcsICcnLCAnJywgT3JkZXJlZERpY3QoKV0gdG8g
WydodHRwJywgJ2Z0cC5lcy5kZWJpYW4ub3JnJywgJy9kZWJpYW4vcG9vbCcsICcnLCAnJywgT3Jk
ZXJlZERpY3QoKV0KREVCVUc6IEZvciB1cmwgWydmaWxlJywgJycsICcwMDAyLWx0dG5nLW1vZHVs
ZXMtUEtULTQuOS15b2N0by1idWlsZC1mYWlsZWQucGF0Y2gnLCAnJywgJycsIE9yZGVyZWREaWN0
KCldIGNvbXBhcmluZyBbJ2h0dHAnLCAnZnRwLmRlYmlhbi5vcmcnLCAnL2RlYmlhbi9wb29sJywg
JycsICcnLCBPcmRlcmVkRGljdCgpXSB0byBbJ2h0dHAnLCAnZnRwLnNlLmRlYmlhbi5vcmcnLCAn
L2RlYmlhbi9wb29sJywgJycsICcnLCBPcmRlcmVkRGljdCgpXQpERUJVRzogRm9yIHVybCBbJ2Zp
bGUnLCAnJywgJzAwMDItbHR0bmctbW9kdWxlcy1QS1QtNC45LXlvY3RvLWJ1aWxkLWZhaWxlZC5w
YXRjaCcsICcnLCAnJywgT3JkZXJlZERpY3QoKV0gY29tcGFyaW5nIFsnaHR0cCcsICdmdHAuZGVi
aWFuLm9yZycsICcvZGViaWFuL3Bvb2wnLCAnJywgJycsIE9yZGVyZWREaWN0KCldIHRvIFsnaHR0
cCcsICdmdHAudHIuZGViaWFuLm9yZycsICcvZGViaWFuL3Bvb2wnLCAnJywgJycsIE9yZGVyZWRE
aWN0KCldCkRFQlVHOiBGb3IgdXJsIFsnZmlsZScsICcnLCAnMDAwMi1sdHRuZy1tb2R1bGVzLVBL
VC00LjkteW9jdG8tYnVpbGQtZmFpbGVkLnBhdGNoJywgJycsICcnLCBPcmRlcmVkRGljdCgpXSBj
b21wYXJpbmcgWydodHRwJywgJ2Z0cC5nbnUub3JnJywgJy9nbnUnLCAnJywgJycsIE9yZGVyZWRE
aWN0KCldIHRvIFsnaHR0cHMnLCAnbWlycm9ycy5rZXJuZWwub3JnJywgJy9nbnUnLCAnJywgJycs
IE9yZGVyZWREaWN0KCldCkRFQlVHOiBGb3IgdXJsIFsnZmlsZScsICcnLCAnMDAwMi1sdHRuZy1t
b2R1bGVzLVBLVC00LjkteW9jdG8tYnVpbGQtZmFpbGVkLnBhdGNoJywgJycsICcnLCBPcmRlcmVk
RGljdCgpXSBjb21wYXJpbmcgWydodHRwJywgJ2Nkbi5rZXJuZWwub3JnJywgJy9wdWInLCAnJywg
JycsIE9yZGVyZWREaWN0KCldIHRvIFsnaHR0cCcsICd3d3cua2VybmVsLm9yZycsICcvcHViJywg
JycsICcnLCBPcmRlcmVkRGljdCgpXQpERUJVRzogRm9yIHVybCBbJ2ZpbGUnLCAnJywgJzAwMDIt
bHR0bmctbW9kdWxlcy1QS1QtNC45LXlvY3RvLWJ1aWxkLWZhaWxlZC5wYXRjaCcsICcnLCAnJywg
T3JkZXJlZERpY3QoKV0gY29tcGFyaW5nIFsnaHR0cHMnLCAnd3d3LmdudXBnLm9yZycsICcvZnRw
L2djcnlwdCcsICcnLCAnJywgT3JkZXJlZERpY3QoKV0gdG8gWydmdHAnLCAnZnRwLmdudXBnLm9y
ZycsICcvZ2NyeXB0JywgJycsICcnLCBPcmRlcmVkRGljdCgpXQpERUJVRzogRm9yIHVybCBbJ2Zp
bGUnLCAnJywgJzAwMDItbHR0bmctbW9kdWxlcy1QS1QtNC45LXlvY3RvLWJ1aWxkLWZhaWxlZC5w
YXRjaCcsICcnLCAnJywgT3JkZXJlZERpY3QoKV0gY29tcGFyaW5nIFsnaHR0cHMnLCAnd3d3Lmdu
dXBnLm9yZycsICcvZnRwL2djcnlwdCcsICcnLCAnJywgT3JkZXJlZERpY3QoKV0gdG8gWydmdHAn
LCAnZnRwLmZyYW5rZW4uZGUnLCAnL3B1Yi9jcnlwdC9taXJyb3IvZnRwLmdudXBnLm9yZy9nY3J5
cHQnLCAnJywgJycsIE9yZGVyZWREaWN0KCldCkRFQlVHOiBGb3IgdXJsIFsnZmlsZScsICcnLCAn
MDAwMi1sdHRuZy1tb2R1bGVzLVBLVC00LjkteW9jdG8tYnVpbGQtZmFpbGVkLnBhdGNoJywgJycs
ICcnLCBPcmRlcmVkRGljdCgpXSBjb21wYXJpbmcgWydodHRwcycsICd3d3cuZ251cGcub3JnJywg
Jy9mdHAvZ2NyeXB0JywgJycsICcnLCBPcmRlcmVkRGljdCgpXSB0byBbJ2Z0cCcsICdtaXJyb3Jz
LmRvdHNyYy5vcmcnLCAnL2djcnlwdCcsICcnLCAnJywgT3JkZXJlZERpY3QoKV0KREVCVUc6IEZv
ciB1cmwgWydmaWxlJywgJycsICcwMDAyLWx0dG5nLW1vZHVsZXMtUEtULTQuOS15b2N0by1idWls
ZC1mYWlsZWQucGF0Y2gnLCAnJywgJycsIE9yZGVyZWREaWN0KCldIGNvbXBhcmluZyBbJ2Z0cCcs
ICdkYW50ZS5jdGFuLm9yZycsICcvdGV4LWFyY2hpdmUnLCAnJywgJycsIE9yZGVyZWREaWN0KCld
IHRvIFsnZnRwJywgJ2Z0cC5mdS1iZXJsaW4uZGUnLCAnL3RleC9DVEFOJywgJycsICcnLCBPcmRl
cmVkRGljdCgpXQpERUJVRzogRm9yIHVybCBbJ2ZpbGUnLCAnJywgJzAwMDItbHR0bmctbW9kdWxl
cy1QS1QtNC45LXlvY3RvLWJ1aWxkLWZhaWxlZC5wYXRjaCcsICcnLCAnJywgT3JkZXJlZERpY3Qo
KV0gY29tcGFyaW5nIFsnZnRwJywgJ2RhbnRlLmN0YW4ub3JnJywgJy90ZXgtYXJjaGl2ZScsICcn
LCAnJywgT3JkZXJlZERpY3QoKV0gdG8gWydodHRwJywgJ3N1bnNpdGUuc3V0LmFjLmpwJywgJy9w
dWIvYXJjaGl2ZXMvY3Rhbi8nLCAnJywgJycsIE9yZGVyZWREaWN0KCldCkRFQlVHOiBGb3IgdXJs
IFsnZmlsZScsICcnLCAnMDAwMi1sdHRuZy1tb2R1bGVzLVBLVC00LjkteW9jdG8tYnVpbGQtZmFp
bGVkLnBhdGNoJywgJycsICcnLCBPcmRlcmVkRGljdCgpXSBjb21wYXJpbmcgWydmdHAnLCAnZGFu
dGUuY3Rhbi5vcmcnLCAnL3RleC1hcmNoaXZlJywgJycsICcnLCBPcmRlcmVkRGljdCgpXSB0byBb
J2h0dHAnLCAnY3Rhbi51bnN3LmVkdS5hdScsICcvJywgJycsICcnLCBPcmRlcmVkRGljdCgpXQpE
RUJVRzogRm9yIHVybCBbJ2ZpbGUnLCAnJywgJzAwMDItbHR0bmctbW9kdWxlcy1QS1QtNC45LXlv
Y3RvLWJ1aWxkLWZhaWxlZC5wYXRjaCcsICcnLCAnJywgT3JkZXJlZERpY3QoKV0gY29tcGFyaW5n
IFsnZnRwJywgJ2Z0cC5nbnV0bHMub3JnJywgJy9nY3J5cHQvZ251dGxzJywgJycsICcnLCBPcmRl
cmVkRGljdCgpXSB0byBbJ2h0dHBzJywgJ3d3dy5nbnVwZy5vcmcnLCAnL2Z0cC9nY3J5cHQvZ251
dGxzJywgJycsICcnLCBPcmRlcmVkRGljdCgpXQpERUJVRzogRm9yIHVybCBbJ2ZpbGUnLCAnJywg
JzAwMDItbHR0bmctbW9kdWxlcy1QS1QtNC45LXlvY3RvLWJ1aWxkLWZhaWxlZC5wYXRjaCcsICcn
LCAnJywgT3JkZXJlZERpY3QoKV0gY29tcGFyaW5nIFsnaHR0cCcsICdmdHAuaW5mby16aXAub3Jn
JywgJy9wdWIvaW5mb3ppcC9zcmMvJywgJycsICcnLCBPcmRlcmVkRGljdCgpXSB0byBbJ2h0dHAn
LCAnbWlycm9yLnN3aXRjaC5jaCcsICcvZnRwL21pcnJvci9pbmZvemlwL3NyYy8nLCAnJywgJycs
IE9yZGVyZWREaWN0KCldCkRFQlVHOiBGb3IgdXJsIFsnZmlsZScsICcnLCAnMDAwMi1sdHRuZy1t
b2R1bGVzLVBLVC00LjkteW9jdG8tYnVpbGQtZmFpbGVkLnBhdGNoJywgJycsICcnLCBPcmRlcmVk
RGljdCgpXSBjb21wYXJpbmcgWydodHRwJywgJ2Z0cC5pbmZvLXppcC5vcmcnLCAnL3B1Yi9pbmZv
emlwL3NyYy8nLCAnJywgJycsIE9yZGVyZWREaWN0KCldIHRvIFsnZnRwJywgJ3N1bnNpdGUuaWNt
LmVkdS5wbCcsICcvcHViL3VuaXgvYXJjaGl2aW5nL2luZm8temlwL3NyYy8nLCAnJywgJycsIE9y
ZGVyZWREaWN0KCldCkRFQlVHOiBGb3IgdXJsIFsnZmlsZScsICcnLCAnMDAwMi1sdHRuZy1tb2R1
bGVzLVBLVC00LjkteW9jdG8tYnVpbGQtZmFpbGVkLnBhdGNoJywgJycsICcnLCBPcmRlcmVkRGlj
dCgpXSBjb21wYXJpbmcgWydmdHAnLCAnbHNvZi5pdGFwLnB1cmR1ZS5lZHUnLCAnL3B1Yi90b29s
cy91bml4L2xzb2YvJywgJycsICcnLCBPcmRlcmVkRGljdCgpXSB0byBbJ2Z0cCcsICdmdHAuY2Vy
aWFzLnB1cmR1ZS5lZHUnLCAnL3B1Yi90b29scy91bml4L3N5c3V0aWxzL2xzb2YvJywgJycsICcn
LCBPcmRlcmVkRGljdCgpXQpERUJVRzogRm9yIHVybCBbJ2ZpbGUnLCAnJywgJzAwMDItbHR0bmct
bW9kdWxlcy1QS1QtNC45LXlvY3RvLWJ1aWxkLWZhaWxlZC5wYXRjaCcsICcnLCAnJywgT3JkZXJl
ZERpY3QoKV0gY29tcGFyaW5nIFsnZnRwJywgJ2xzb2YuaXRhcC5wdXJkdWUuZWR1JywgJy9wdWIv
dG9vbHMvdW5peC9sc29mLycsICcnLCAnJywgT3JkZXJlZERpY3QoKV0gdG8gWydmdHAnLCAnZnRw
LnRhdS5hYy5pbCcsICcvcHViL3VuaXgvYWRtaW4vJywgJycsICcnLCBPcmRlcmVkRGljdCgpXQpE
RUJVRzogRm9yIHVybCBbJ2ZpbGUnLCAnJywgJzAwMDItbHR0bmctbW9kdWxlcy1QS1QtNC45LXlv
Y3RvLWJ1aWxkLWZhaWxlZC5wYXRjaCcsICcnLCAnJywgT3JkZXJlZERpY3QoKV0gY29tcGFyaW5n
IFsnZnRwJywgJ2xzb2YuaXRhcC5wdXJkdWUuZWR1JywgJy9wdWIvdG9vbHMvdW5peC9sc29mLycs
ICcnLCAnJywgT3JkZXJlZERpY3QoKV0gdG8gWydmdHAnLCAnZnRwLmNlcnQuZGZuLmRlJywgJy9w
dWIvdG9vbHMvYWRtaW4vbHNvZi8nLCAnJywgJycsIE9yZGVyZWREaWN0KCldCkRFQlVHOiBGb3Ig
dXJsIFsnZmlsZScsICcnLCAnMDAwMi1sdHRuZy1tb2R1bGVzLVBLVC00LjkteW9jdG8tYnVpbGQt
ZmFpbGVkLnBhdGNoJywgJycsICcnLCBPcmRlcmVkRGljdCgpXSBjb21wYXJpbmcgWydmdHAnLCAn
bHNvZi5pdGFwLnB1cmR1ZS5lZHUnLCAnL3B1Yi90b29scy91bml4L2xzb2YvJywgJycsICcnLCBP
cmRlcmVkRGljdCgpXSB0byBbJ2Z0cCcsICdmdHAuZnUtYmVybGluLmRlJywgJy9wdWIvdW5peC90
b29scy9sc29mLycsICcnLCAnJywgT3JkZXJlZERpY3QoKV0KREVCVUc6IEZvciB1cmwgWydmaWxl
JywgJycsICcwMDAyLWx0dG5nLW1vZHVsZXMtUEtULTQuOS15b2N0by1idWlsZC1mYWlsZWQucGF0
Y2gnLCAnJywgJycsIE9yZGVyZWREaWN0KCldIGNvbXBhcmluZyBbJ2Z0cCcsICdsc29mLml0YXAu
cHVyZHVlLmVkdScsICcvcHViL3Rvb2xzL3VuaXgvbHNvZi8nLCAnJywgJycsIE9yZGVyZWREaWN0
KCldIHRvIFsnZnRwJywgJ2Z0cC5rYWl6by5vcmcnLCAnL3B1Yi9sc29mLycsICcnLCAnJywgT3Jk
ZXJlZERpY3QoKV0KREVCVUc6IEZvciB1cmwgWydmaWxlJywgJycsICcwMDAyLWx0dG5nLW1vZHVs
ZXMtUEtULTQuOS15b2N0by1idWlsZC1mYWlsZWQucGF0Y2gnLCAnJywgJycsIE9yZGVyZWREaWN0
KCldIGNvbXBhcmluZyBbJ2Z0cCcsICdsc29mLml0YXAucHVyZHVlLmVkdScsICcvcHViL3Rvb2xz
L3VuaXgvbHNvZi8nLCAnJywgJycsIE9yZGVyZWREaWN0KCldIHRvIFsnZnRwJywgJ2Z0cC50dS1k
YXJtc3RhZHQuZGUnLCAnL3B1Yi9zeXNhZG1pbi9sc29mLycsICcnLCAnJywgT3JkZXJlZERpY3Qo
KV0KREVCVUc6IEZvciB1cmwgWydmaWxlJywgJycsICcwMDAyLWx0dG5nLW1vZHVsZXMtUEtULTQu
OS15b2N0by1idWlsZC1mYWlsZWQucGF0Y2gnLCAnJywgJycsIE9yZGVyZWREaWN0KCldIGNvbXBh
cmluZyBbJ2Z0cCcsICdsc29mLml0YXAucHVyZHVlLmVkdScsICcvcHViL3Rvb2xzL3VuaXgvbHNv
Zi8nLCAnJywgJycsIE9yZGVyZWREaWN0KCldIHRvIFsnZnRwJywgJ2Z0cC50dXgub3JnJywgJy9w
dWIvc2l0ZXMvdmljLmNjLnB1cmR1ZS5lZHUvdG9vbHMvdW5peC9sc29mLycsICcnLCAnJywgT3Jk
ZXJlZERpY3QoKV0KREVCVUc6IEZvciB1cmwgWydmaWxlJywgJycsICcwMDAyLWx0dG5nLW1vZHVs
ZXMtUEtULTQuOS15b2N0by1idWlsZC1mYWlsZWQucGF0Y2gnLCAnJywgJycsIE9yZGVyZWREaWN0
KCldIGNvbXBhcmluZyBbJ2Z0cCcsICdsc29mLml0YXAucHVyZHVlLmVkdScsICcvcHViL3Rvb2xz
L3VuaXgvbHNvZi8nLCAnJywgJycsIE9yZGVyZWREaWN0KCldIHRvIFsnZnRwJywgJ2dkLnR1d2ll
bi5hYy5hdCcsICcvdXRpbHMvYWRtaW4tdG9vbHMvbHNvZi8nLCAnJywgJycsIE9yZGVyZWREaWN0
KCldCkRFQlVHOiBGb3IgdXJsIFsnZmlsZScsICcnLCAnMDAwMi1sdHRuZy1tb2R1bGVzLVBLVC00
LjkteW9jdG8tYnVpbGQtZmFpbGVkLnBhdGNoJywgJycsICcnLCBPcmRlcmVkRGljdCgpXSBjb21w
YXJpbmcgWydmdHAnLCAnbHNvZi5pdGFwLnB1cmR1ZS5lZHUnLCAnL3B1Yi90b29scy91bml4L2xz
b2YvJywgJycsICcnLCBPcmRlcmVkRGljdCgpXSB0byBbJ2Z0cCcsICdzdW5zaXRlLnVhbGJlcnRh
LmNhJywgJy9wdWIvTWlycm9yL2xzb2YvJywgJycsICcnLCBPcmRlcmVkRGljdCgpXQpERUJVRzog
Rm9yIHVybCBbJ2ZpbGUnLCAnJywgJzAwMDItbHR0bmctbW9kdWxlcy1QS1QtNC45LXlvY3RvLWJ1
aWxkLWZhaWxlZC5wYXRjaCcsICcnLCAnJywgT3JkZXJlZERpY3QoKV0gY29tcGFyaW5nIFsnZnRw
JywgJ2xzb2YuaXRhcC5wdXJkdWUuZWR1JywgJy9wdWIvdG9vbHMvdW5peC9sc29mLycsICcnLCAn
JywgT3JkZXJlZERpY3QoKV0gdG8gWydmdHAnLCAndGhlLndpcmV0YXBwZWQubmV0JywgJy9wdWIv
c2VjdXJpdHkvaG9zdC1zZWN1cml0eS9sc29mLycsICcnLCAnJywgT3JkZXJlZERpY3QoKV0KREVC
VUc6IEZvciB1cmwgWydmaWxlJywgJycsICcwMDAyLWx0dG5nLW1vZHVsZXMtUEtULTQuOS15b2N0
by1idWlsZC1mYWlsZWQucGF0Y2gnLCAnJywgJycsIE9yZGVyZWREaWN0KCldIGNvbXBhcmluZyBb
J2h0dHAnLCAnYXJjaGl2ZS5hcGFjaGUub3JnJywgJy9kaXN0JywgJycsICcnLCBPcmRlcmVkRGlj
dCgpXSB0byBbJ2h0dHAnLCAnd3d3LnVzLmFwYWNoZS5vcmcnLCAnL2Rpc3QnLCAnJywgJycsIE9y
ZGVyZWREaWN0KCldCkRFQlVHOiBGb3IgdXJsIFsnZmlsZScsICcnLCAnMDAwMi1sdHRuZy1tb2R1
bGVzLVBLVC00LjkteW9jdG8tYnVpbGQtZmFpbGVkLnBhdGNoJywgJycsICcnLCBPcmRlcmVkRGlj
dCgpXSBjb21wYXJpbmcgWydodHRwJywgJ2FyY2hpdmUuYXBhY2hlLm9yZycsICcvZGlzdCcsICcn
LCAnJywgT3JkZXJlZERpY3QoKV0gdG8gWydodHRwJywgJ2FyY2hpdmUuYXBhY2hlLm9yZycsICcv
ZGlzdCcsICcnLCAnJywgT3JkZXJlZERpY3QoKV0KREVCVUc6IEZvciB1cmwgWydmaWxlJywgJycs
ICcwMDAyLWx0dG5nLW1vZHVsZXMtUEtULTQuOS15b2N0by1idWlsZC1mYWlsZWQucGF0Y2gnLCAn
JywgJycsIE9yZGVyZWREaWN0KCldIGNvbXBhcmluZyBbJ2h0dHAnLCAnZG93bmxvYWRzLnNvdXJj
ZWZvcmdlLm5ldCcsICcvd2F0Y2hkb2cvJywgJycsICcnLCBPcmRlcmVkRGljdCgpXSB0byBbJ2h0
dHAnLCAnZm9zc2llcy5vcmcnLCAnL2xpbnV4L21pc2MvJywgJycsICcnLCBPcmRlcmVkRGljdCgp
XQpERUJVRzogRm9yIHVybCBbJ2ZpbGUnLCAnJywgJzAwMDItbHR0bmctbW9kdWxlcy1QS1QtNC45
LXlvY3RvLWJ1aWxkLWZhaWxlZC5wYXRjaCcsICcnLCAnJywgT3JkZXJlZERpY3QoKV0gY29tcGFy
aW5nIFsnaHR0cCcsICdkb3dubG9hZC5zYXZhbm5haC5nbnUub3JnJywgJy9yZWxlYXNlcycsICcn
LCAnJywgT3JkZXJlZERpY3QoKV0gdG8gWydodHRwJywgJ2Rvd25sb2FkLW1pcnJvci5zYXZhbm5h
aC5nbnUub3JnJywgJy9yZWxlYXNlcycsICcnLCAnJywgT3JkZXJlZERpY3QoKV0KREVCVUc6IEZv
ciB1cmwgWydmaWxlJywgJycsICcwMDAyLWx0dG5nLW1vZHVsZXMtUEtULTQuOS15b2N0by1idWls
ZC1mYWlsZWQucGF0Y2gnLCAnJywgJycsIE9yZGVyZWREaWN0KCldIGNvbXBhcmluZyBbJ2h0dHAn
LCAnZG93bmxvYWQuc2F2YW5uYWgubm9uZ251Lm9yZycsICcvcmVsZWFzZXMnLCAnJywgJycsIE9y
ZGVyZWREaWN0KCldIHRvIFsnaHR0cCcsICdkb3dubG9hZC1taXJyb3Iuc2F2YW5uYWgubm9uZ251
Lm9yZycsICcvcmVsZWFzZXMnLCAnJywgJycsIE9yZGVyZWREaWN0KCldCkRFQlVHOiBGb3IgdXJs
IFsnZmlsZScsICcnLCAnMDAwMi1sdHRuZy1tb2R1bGVzLVBLVC00LjkteW9jdG8tYnVpbGQtZmFp
bGVkLnBhdGNoJywgJycsICcnLCBPcmRlcmVkRGljdCgpXSBjb21wYXJpbmcgWydjdnMnLCAnLion
LCAnLy4qJywgJycsICcnLCBPcmRlcmVkRGljdCgpXSB0byBbJ2h0dHAnLCAnZG93bmxvYWRzLnlv
Y3RvcHJvamVjdC5vcmcnLCAnL21pcnJvci9zb3VyY2VzLycsICcnLCAnJywgT3JkZXJlZERpY3Qo
KV0KREVCVUc6IEZvciB1cmwgWydmaWxlJywgJycsICcwMDAyLWx0dG5nLW1vZHVsZXMtUEtULTQu
OS15b2N0by1idWlsZC1mYWlsZWQucGF0Y2gnLCAnJywgJycsIE9yZGVyZWREaWN0KCldIGNvbXBh
cmluZyBbJ3N2bicsICcuKicsICcvLionLCAnJywgJycsIE9yZGVyZWREaWN0KCldIHRvIFsnaHR0
cCcsICdkb3dubG9hZHMueW9jdG9wcm9qZWN0Lm9yZycsICcvbWlycm9yL3NvdXJjZXMvJywgJycs
ICcnLCBPcmRlcmVkRGljdCgpXQpERUJVRzogRm9yIHVybCBbJ2ZpbGUnLCAnJywgJzAwMDItbHR0
bmctbW9kdWxlcy1QS1QtNC45LXlvY3RvLWJ1aWxkLWZhaWxlZC5wYXRjaCcsICcnLCAnJywgT3Jk
ZXJlZERpY3QoKV0gY29tcGFyaW5nIFsnZ2l0JywgJy4qJywgJy8uKicsICcnLCAnJywgT3JkZXJl
ZERpY3QoKV0gdG8gWydodHRwJywgJ2Rvd25sb2Fkcy55b2N0b3Byb2plY3Qub3JnJywgJy9taXJy
b3Ivc291cmNlcy8nLCAnJywgJycsIE9yZGVyZWREaWN0KCldCkRFQlVHOiBGb3IgdXJsIFsnZmls
ZScsICcnLCAnMDAwMi1sdHRuZy1tb2R1bGVzLVBLVC00LjkteW9jdG8tYnVpbGQtZmFpbGVkLnBh
dGNoJywgJycsICcnLCBPcmRlcmVkRGljdCgpXSBjb21wYXJpbmcgWydoZycsICcuKicsICcvLion
LCAnJywgJycsIE9yZGVyZWREaWN0KCldIHRvIFsnaHR0cCcsICdkb3dubG9hZHMueW9jdG9wcm9q
ZWN0Lm9yZycsICcvbWlycm9yL3NvdXJjZXMvJywgJycsICcnLCBPcmRlcmVkRGljdCgpXQpERUJV
RzogRm9yIHVybCBbJ2ZpbGUnLCAnJywgJzAwMDItbHR0bmctbW9kdWxlcy1QS1QtNC45LXlvY3Rv
LWJ1aWxkLWZhaWxlZC5wYXRjaCcsICcnLCAnJywgT3JkZXJlZERpY3QoKV0gY29tcGFyaW5nIFsn
YnpyJywgJy4qJywgJy8uKicsICcnLCAnJywgT3JkZXJlZERpY3QoKV0gdG8gWydodHRwJywgJ2Rv
d25sb2Fkcy55b2N0b3Byb2plY3Qub3JnJywgJy9taXJyb3Ivc291cmNlcy8nLCAnJywgJycsIE9y
ZGVyZWREaWN0KCldCkRFQlVHOiBGb3IgdXJsIFsnZmlsZScsICcnLCAnMDAwMi1sdHRuZy1tb2R1
bGVzLVBLVC00LjkteW9jdG8tYnVpbGQtZmFpbGVkLnBhdGNoJywgJycsICcnLCBPcmRlcmVkRGlj
dCgpXSBjb21wYXJpbmcgWydwNCcsICcuKicsICcvLionLCAnJywgJycsIE9yZGVyZWREaWN0KCld
IHRvIFsnaHR0cCcsICdkb3dubG9hZHMueW9jdG9wcm9qZWN0Lm9yZycsICcvbWlycm9yL3NvdXJj
ZXMvJywgJycsICcnLCBPcmRlcmVkRGljdCgpXQpERUJVRzogRm9yIHVybCBbJ2ZpbGUnLCAnJywg
JzAwMDItbHR0bmctbW9kdWxlcy1QS1QtNC45LXlvY3RvLWJ1aWxkLWZhaWxlZC5wYXRjaCcsICcn
LCAnJywgT3JkZXJlZERpY3QoKV0gY29tcGFyaW5nIFsnb3NjJywgJy4qJywgJy8uKicsICcnLCAn
JywgT3JkZXJlZERpY3QoKV0gdG8gWydodHRwJywgJ2Rvd25sb2Fkcy55b2N0b3Byb2plY3Qub3Jn
JywgJy9taXJyb3Ivc291cmNlcy8nLCAnJywgJycsIE9yZGVyZWREaWN0KCldCkRFQlVHOiBGb3Ig
dXJsIFsnZmlsZScsICcnLCAnMDAwMi1sdHRuZy1tb2R1bGVzLVBLVC00LjkteW9jdG8tYnVpbGQt
ZmFpbGVkLnBhdGNoJywgJycsICcnLCBPcmRlcmVkRGljdCgpXSBjb21wYXJpbmcgWydodHRwcz8k
JywgJy4qJywgJy8uKicsICcnLCAnJywgT3JkZXJlZERpY3QoKV0gdG8gWydodHRwJywgJ2Rvd25s
b2Fkcy55b2N0b3Byb2plY3Qub3JnJywgJy9taXJyb3Ivc291cmNlcy8nLCAnJywgJycsIE9yZGVy
ZWREaWN0KCldCkRFQlVHOiBGb3IgdXJsIFsnZmlsZScsICcnLCAnMDAwMi1sdHRuZy1tb2R1bGVz
LVBLVC00LjkteW9jdG8tYnVpbGQtZmFpbGVkLnBhdGNoJywgJycsICcnLCBPcmRlcmVkRGljdCgp
XSBjb21wYXJpbmcgWydmdHAnLCAnLionLCAnLy4qJywgJycsICcnLCBPcmRlcmVkRGljdCgpXSB0
byBbJ2h0dHAnLCAnZG93bmxvYWRzLnlvY3RvcHJvamVjdC5vcmcnLCAnL21pcnJvci9zb3VyY2Vz
LycsICcnLCAnJywgT3JkZXJlZERpY3QoKV0KREVCVUc6IEZvciB1cmwgWydmaWxlJywgJycsICcw
MDAyLWx0dG5nLW1vZHVsZXMtUEtULTQuOS15b2N0by1idWlsZC1mYWlsZWQucGF0Y2gnLCAnJywg
JycsIE9yZGVyZWREaWN0KCldIGNvbXBhcmluZyBbJ25wbScsICcuKicsICcvPy4qJywgJycsICcn
LCBPcmRlcmVkRGljdCgpXSB0byBbJ2h0dHAnLCAnZG93bmxvYWRzLnlvY3RvcHJvamVjdC5vcmcn
LCAnL21pcnJvci9zb3VyY2VzLycsICcnLCAnJywgT3JkZXJlZERpY3QoKV0KREVCVUc6IEZvciB1
cmwgWydmaWxlJywgJycsICcwMDAyLWx0dG5nLW1vZHVsZXMtUEtULTQuOS15b2N0by1idWlsZC1m
YWlsZWQucGF0Y2gnLCAnJywgJycsIE9yZGVyZWREaWN0KCldIGNvbXBhcmluZyBbJ2N2cycsICcu
KicsICcvLionLCAnJywgJycsIE9yZGVyZWREaWN0KCldIHRvIFsnaHR0cCcsICdzb3VyY2VzLm9w
ZW5lbWJlZGRlZC5vcmcnLCAnLycsICcnLCAnJywgT3JkZXJlZERpY3QoKV0KREVCVUc6IEZvciB1
cmwgWydmaWxlJywgJycsICcwMDAyLWx0dG5nLW1vZHVsZXMtUEtULTQuOS15b2N0by1idWlsZC1m
YWlsZWQucGF0Y2gnLCAnJywgJycsIE9yZGVyZWREaWN0KCldIGNvbXBhcmluZyBbJ3N2bicsICcu
KicsICcvLionLCAnJywgJycsIE9yZGVyZWREaWN0KCldIHRvIFsnaHR0cCcsICdzb3VyY2VzLm9w
ZW5lbWJlZGRlZC5vcmcnLCAnLycsICcnLCAnJywgT3JkZXJlZERpY3QoKV0KREVCVUc6IEZvciB1
cmwgWydmaWxlJywgJycsICcwMDAyLWx0dG5nLW1vZHVsZXMtUEtULTQuOS15b2N0by1idWlsZC1m
YWlsZWQucGF0Y2gnLCAnJywgJycsIE9yZGVyZWREaWN0KCldIGNvbXBhcmluZyBbJ2dpdCcsICcu
KicsICcvLionLCAnJywgJycsIE9yZGVyZWREaWN0KCldIHRvIFsnaHR0cCcsICdzb3VyY2VzLm9w
ZW5lbWJlZGRlZC5vcmcnLCAnLycsICcnLCAnJywgT3JkZXJlZERpY3QoKV0KREVCVUc6IEZvciB1
cmwgWydmaWxlJywgJycsICcwMDAyLWx0dG5nLW1vZHVsZXMtUEtULTQuOS15b2N0by1idWlsZC1m
YWlsZWQucGF0Y2gnLCAnJywgJycsIE9yZGVyZWREaWN0KCldIGNvbXBhcmluZyBbJ2hnJywgJy4q
JywgJy8uKicsICcnLCAnJywgT3JkZXJlZERpY3QoKV0gdG8gWydodHRwJywgJ3NvdXJjZXMub3Bl
bmVtYmVkZGVkLm9yZycsICcvJywgJycsICcnLCBPcmRlcmVkRGljdCgpXQpERUJVRzogRm9yIHVy
bCBbJ2ZpbGUnLCAnJywgJzAwMDItbHR0bmctbW9kdWxlcy1QS1QtNC45LXlvY3RvLWJ1aWxkLWZh
aWxlZC5wYXRjaCcsICcnLCAnJywgT3JkZXJlZERpY3QoKV0gY29tcGFyaW5nIFsnYnpyJywgJy4q
JywgJy8uKicsICcnLCAnJywgT3JkZXJlZERpY3QoKV0gdG8gWydodHRwJywgJ3NvdXJjZXMub3Bl
bmVtYmVkZGVkLm9yZycsICcvJywgJycsICcnLCBPcmRlcmVkRGljdCgpXQpERUJVRzogRm9yIHVy
bCBbJ2ZpbGUnLCAnJywgJzAwMDItbHR0bmctbW9kdWxlcy1QS1QtNC45LXlvY3RvLWJ1aWxkLWZh
aWxlZC5wYXRjaCcsICcnLCAnJywgT3JkZXJlZERpY3QoKV0gY29tcGFyaW5nIFsncDQnLCAnLion
LCAnLy4qJywgJycsICcnLCBPcmRlcmVkRGljdCgpXSB0byBbJ2h0dHAnLCAnc291cmNlcy5vcGVu
ZW1iZWRkZWQub3JnJywgJy8nLCAnJywgJycsIE9yZGVyZWREaWN0KCldCkRFQlVHOiBGb3IgdXJs
IFsnZmlsZScsICcnLCAnMDAwMi1sdHRuZy1tb2R1bGVzLVBLVC00LjkteW9jdG8tYnVpbGQtZmFp
bGVkLnBhdGNoJywgJycsICcnLCBPcmRlcmVkRGljdCgpXSBjb21wYXJpbmcgWydvc2MnLCAnLion
LCAnLy4qJywgJycsICcnLCBPcmRlcmVkRGljdCgpXSB0byBbJ2h0dHAnLCAnc291cmNlcy5vcGVu
ZW1iZWRkZWQub3JnJywgJy8nLCAnJywgJycsIE9yZGVyZWREaWN0KCldCkRFQlVHOiBGb3IgdXJs
IFsnZmlsZScsICcnLCAnMDAwMi1sdHRuZy1tb2R1bGVzLVBLVC00LjkteW9jdG8tYnVpbGQtZmFp
bGVkLnBhdGNoJywgJycsICcnLCBPcmRlcmVkRGljdCgpXSBjb21wYXJpbmcgWydodHRwcz8kJywg
Jy4qJywgJy8uKicsICcnLCAnJywgT3JkZXJlZERpY3QoKV0gdG8gWydodHRwJywgJ3NvdXJjZXMu
b3BlbmVtYmVkZGVkLm9yZycsICcvJywgJycsICcnLCBPcmRlcmVkRGljdCgpXQpERUJVRzogRm9y
IHVybCBbJ2ZpbGUnLCAnJywgJzAwMDItbHR0bmctbW9kdWxlcy1QS1QtNC45LXlvY3RvLWJ1aWxk
LWZhaWxlZC5wYXRjaCcsICcnLCAnJywgT3JkZXJlZERpY3QoKV0gY29tcGFyaW5nIFsnZnRwJywg
Jy4qJywgJy8uKicsICcnLCAnJywgT3JkZXJlZERpY3QoKV0gdG8gWydodHRwJywgJ3NvdXJjZXMu
b3BlbmVtYmVkZGVkLm9yZycsICcvJywgJycsICcnLCBPcmRlcmVkRGljdCgpXQpERUJVRzogRm9y
IHVybCBbJ2ZpbGUnLCAnJywgJzAwMDItbHR0bmctbW9kdWxlcy1QS1QtNC45LXlvY3RvLWJ1aWxk
LWZhaWxlZC5wYXRjaCcsICcnLCAnJywgT3JkZXJlZERpY3QoKV0gY29tcGFyaW5nIFsnbnBtJywg
Jy4qJywgJy8/LionLCAnJywgJycsIE9yZGVyZWREaWN0KCldIHRvIFsnaHR0cCcsICdzb3VyY2Vz
Lm9wZW5lbWJlZGRlZC5vcmcnLCAnLycsICcnLCAnJywgT3JkZXJlZERpY3QoKV0KREVCVUc6IEZv
ciB1cmwgWydmaWxlJywgJycsICcwMDAyLWx0dG5nLW1vZHVsZXMtUEtULTQuOS15b2N0by1idWls
ZC1mYWlsZWQucGF0Y2gnLCAnJywgJycsIE9yZGVyZWREaWN0KCldIGNvbXBhcmluZyBbJ2h0dHAn
LCAnc2VhcmNoLmNwYW4ub3JnJywgJy9DUEFOJywgJycsICcnLCBPcmRlcmVkRGljdCgpXSB0byBb
J2h0dHAnLCAnY3Bhbi5tZXRhY3Bhbi5vcmcnLCAnLycsICcnLCAnJywgT3JkZXJlZERpY3QoKV0K
REVCVUc6IEZvciB1cmwgWydmaWxlJywgJycsICcwMDAyLWx0dG5nLW1vZHVsZXMtUEtULTQuOS15
b2N0by1idWlsZC1mYWlsZWQucGF0Y2gnLCAnJywgJycsIE9yZGVyZWREaWN0KCldIGNvbXBhcmlu
ZyBbJ2h0dHAnLCAnc2VhcmNoLmNwYW4ub3JnJywgJy9DUEFOJywgJycsICcnLCBPcmRlcmVkRGlj
dCgpXSB0byBbJ2h0dHAnLCAnc2VhcmNoLmNwYW4ub3JnJywgJy9DUEFOLycsICcnLCAnJywgT3Jk
ZXJlZERpY3QoKV0KREVCVUc6IEZvciB1cmwgWydmaWxlJywgJycsICcwMDAyLWx0dG5nLW1vZHVs
ZXMtUEtULTQuOS15b2N0by1idWlsZC1mYWlsZWQucGF0Y2gnLCAnJywgJycsIE9yZGVyZWREaWN0
KCldIGNvbXBhcmluZyBbJ2dpdCcsICdhbm9uc2NtLmRlYmlhbi5vcmcnLCAnLy4qJywgJycsICcn
LCBPcmRlcmVkRGljdCgpXSB0byBbJ2dpdCcsICdhbm9uc2NtLmRlYmlhbi5vcmcnLCAnL2dpdC9Q
QVRIJywgJycsICcnLCBPcmRlcmVkRGljdChbKCdwcm90b2NvbCcsICdodHRwcycpXSldCkRFQlVH
OiBGb3IgdXJsIFsnZmlsZScsICcnLCAnMDAwMi1sdHRuZy1tb2R1bGVzLVBLVC00LjkteW9jdG8t
YnVpbGQtZmFpbGVkLnBhdGNoJywgJycsICcnLCBPcmRlcmVkRGljdCgpXSBjb21wYXJpbmcgWydn
aXQnLCAnZ2l0Lmdub21lLm9yZycsICcvLionLCAnJywgJycsIE9yZGVyZWREaWN0KCldIHRvIFsn
Z2l0JywgJ2dpdC5nbm9tZS5vcmcnLCAnL2Jyb3dzZS9QQVRIJywgJycsICcnLCBPcmRlcmVkRGlj
dChbKCdwcm90b2NvbCcsICdodHRwcycpXSldCkRFQlVHOiBGb3IgdXJsIFsnZmlsZScsICcnLCAn
MDAwMi1sdHRuZy1tb2R1bGVzLVBLVC00LjkteW9jdG8tYnVpbGQtZmFpbGVkLnBhdGNoJywgJycs
ICcnLCBPcmRlcmVkRGljdCgpXSBjb21wYXJpbmcgWydnaXQnLCAnZ2l0LnNhdmFubmFoLmdudS5v
cmcnLCAnLy4qJywgJycsICcnLCBPcmRlcmVkRGljdCgpXSB0byBbJ2dpdCcsICdnaXQuc2F2YW5u
YWguZ251Lm9yZycsICcvZ2l0L1BBVEgnLCAnJywgJycsIE9yZGVyZWREaWN0KFsoJ3Byb3RvY29s
JywgJ2h0dHBzJyldKV0KREVCVUc6IEZvciB1cmwgWydmaWxlJywgJycsICcwMDAyLWx0dG5nLW1v
ZHVsZXMtUEtULTQuOS15b2N0by1idWlsZC1mYWlsZWQucGF0Y2gnLCAnJywgJycsIE9yZGVyZWRE
aWN0KCldIGNvbXBhcmluZyBbJ2dpdCcsICdnaXQueW9jdG9wcm9qZWN0Lm9yZycsICcvLionLCAn
JywgJycsIE9yZGVyZWREaWN0KCldIHRvIFsnZ2l0JywgJ2dpdC55b2N0b3Byb2plY3Qub3JnJywg
Jy9naXQvUEFUSCcsICcnLCAnJywgT3JkZXJlZERpY3QoWygncHJvdG9jb2wnLCAnaHR0cHMnKV0p
XQpERUJVRzogRm9yIHVybCBbJ2ZpbGUnLCAnJywgJzAwMDItbHR0bmctbW9kdWxlcy1QS1QtNC45
LXlvY3RvLWJ1aWxkLWZhaWxlZC5wYXRjaCcsICcnLCAnJywgT3JkZXJlZERpY3QoKV0gY29tcGFy
aW5nIFsnZ2l0JywgJy4qJywgJy8uKicsICcnLCAnJywgT3JkZXJlZERpY3QoKV0gdG8gWydnaXQn
LCAnSE9TVCcsICcvUEFUSCcsICcnLCAnJywgT3JkZXJlZERpY3QoWygncHJvdG9jb2wnLCAnaHR0
cHMnKV0pXQpFUlJPUjogRmV0Y2hlciBmYWlsdXJlOiBVbmFibGUgdG8gZmluZCBmaWxlIGZpbGU6
Ly8wMDAyLWx0dG5nLW1vZHVsZXMtUEtULTQuOS15b2N0by1idWlsZC1mYWlsZWQucGF0Y2ggYW55
d2hlcmUuIFRoZSBwYXRocyB0aGF0IHdlcmUgc2VhcmNoZWQgd2VyZToKICAgIC9tZWRpYS9yZWJl
Y2Nhcy95b2N0by9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbHR0bmcvbHR0bmctbW9kdWxlcy0y
LjkuMS9wb2t5CiAgICAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL3JlY2lwZXMta2Vy
bmVsL2x0dG5nL2x0dG5nLW1vZHVsZXMvcG9reQogICAgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bv
a3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9sdHRuZy9maWxlcy9wb2t5CiAgICAvbWVkaWEvcmViZWNj
YXMveW9jdG8vcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2x0dG5nL2x0dG5nLW1vZHVsZXMtMi45
LjEvcWVtdXg4NgogICAgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9yZWNpcGVzLWtl
cm5lbC9sdHRuZy9sdHRuZy1tb2R1bGVzL3FlbXV4ODYKICAgIC9tZWRpYS9yZWJlY2Nhcy95b2N0
by9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbHR0bmcvZmlsZXMvcWVtdXg4NgogICAgL21lZGlh
L3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9sdHRuZy9sdHRuZy1tb2R1
bGVzLTIuOS4xL3FlbXVhbGwKICAgIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvcmVj
aXBlcy1rZXJuZWwvbHR0bmcvbHR0bmctbW9kdWxlcy9xZW11YWxsCiAgICAvbWVkaWEvcmViZWNj
YXMveW9jdG8vcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2x0dG5nL2ZpbGVzL3FlbXVhbGwKICAg
IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbHR0bmcvbHR0
bmctbW9kdWxlcy0yLjkuMS94ODYKICAgIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEv
cmVjaXBlcy1rZXJuZWwvbHR0bmcvbHR0bmctbW9kdWxlcy94ODYKICAgIC9tZWRpYS9yZWJlY2Nh
cy95b2N0by9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbHR0bmcvZmlsZXMveDg2CiAgICAvbWVk
aWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2x0dG5nL2x0dG5nLW1v
ZHVsZXMtMi45LjEvaTU4NgogICAgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9yZWNp
cGVzLWtlcm5lbC9sdHRuZy9sdHRuZy1tb2R1bGVzL2k1ODYKICAgIC9tZWRpYS9yZWJlY2Nhcy95
b2N0by9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbHR0bmcvZmlsZXMvaTU4NgogICAgL21lZGlh
L3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9sdHRuZy9sdHRuZy1tb2R1
bGVzLTIuOS4xLwogICAgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9yZWNpcGVzLWtl
cm5lbC9sdHRuZy9sdHRuZy1tb2R1bGVzLwogICAgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kv
bWV0YS9yZWNpcGVzLWtlcm5lbC9sdHRuZy9maWxlcy8KICAgIC9tZWRpYS9yZWJlY2Nhcy9idWls
ZC9kb3dubG9hZHMKRVJST1I6IEZldGNoZXIgZmFpbHVyZSBmb3IgVVJMOiAnZmlsZTovLzAwMDIt
bHR0bmctbW9kdWxlcy1QS1QtNC45LXlvY3RvLWJ1aWxkLWZhaWxlZC5wYXRjaCcuIFVuYWJsZSB0
byBmZXRjaCBVUkwgZnJvbSBhbnkgc291cmNlLgpERUJVRzogUHl0aG9uIGZ1bmN0aW9uIGJhc2Vf
ZG9fZmV0Y2ggZmluaXNoZWQKREVCVUc6IFB5dGhvbiBmdW5jdGlvbiBkb19mZXRjaCBmaW5pc2hl
ZApFUlJPUjogRnVuY3Rpb24gZmFpbGVkOiBiYXNlX2RvX2ZldGNoCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>4104</attachid>
            <date>2017-10-26 05:25:05 +0000</date>
            <delta_ts>2017-10-26 05:25:05 +0000</delta_ts>
            <desc>bitbake -e lttng-modules</desc>
            <filename>lttng.env</filename>
            <type>application/octet-stream</type>
            <size>879223</size>
            <attacher name="Rebecca Chang">rebecca.swee.fun.chang</attacher>
            
              <data encoding="base64">TG9hZGluZyBjYWNoZS4uLmRvbmUuCkxvYWRlZCAxMzI4IGVudHJpZXMgZnJvbSBkZXBlbmRlbmN5
IGNhY2hlLgpQYXJzaW5nIHJlY2lwZXMuLi5XQVJOSU5HOiAvbWVkaWEvcmViZWNjYXMveW9jdG8v
cG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2x0dG5nL2x0dG5nLW1vZHVsZXNfMi45LjEuYmI6IFVu
YWJsZSB0byBnZXQgY2hlY2tzdW0gZm9yIGx0dG5nLW1vZHVsZXMgU1JDX1VSSSBlbnRyeSAwMDAy
LWx0dG5nLW1vZHVsZXMtUEtULTQuOS15b2N0by1idWlsZC1mYWlsZWQucGF0Y2g6IGZpbGUgY291
bGQgbm90IGJlIGZvdW5kCmRvbmUuClBhcnNpbmcgb2YgODU3IC5iYiBmaWxlcyBjb21wbGV0ZSAo
NjAgY2FjaGVkLCA3OTcgcGFyc2VkKS4gMTMyOCB0YXJnZXRzLCA2MyBza2lwcGVkLCAwIG1hc2tl
ZCwgMCBlcnJvcnMuCk5PVEU6IFRoZXJlIGFyZSAxOSByZWNpcGVzIHRvIGJlIHJlbW92ZWQgZnJv
bSBzeXNyb290IHg4Nl82NCwgcmVtb3ZpbmcuLi4KTk9URTogVGhlcmUgYXJlIDIgcmVjaXBlcyB0
byBiZSByZW1vdmVkIGZyb20gc3lzcm9vdCB4ODZfNjRfaTU4NiwgcmVtb3ZpbmcuLi4KTk9URTog
VGhlcmUgYXJlIDQgcmVjaXBlcyB0byBiZSByZW1vdmVkIGZyb20gc3lzcm9vdCBpNTg2LCByZW1v
dmluZy4uLgpOT1RFOiBUaGVyZSBhcmUgNiByZWNpcGVzIHRvIGJlIHJlbW92ZWQgZnJvbSBzeXNy
b290IHFlbXV4ODYsIHJlbW92aW5nLi4uCk5PVEU6IFJlc29sdmluZyBhbnkgbWlzc2luZyB0YXNr
IHF1ZXVlIGRlcGVuZGVuY2llcwpMb2FkaW5nIGNhY2hlLi4uZG9uZS4KTG9hZGVkIDEzMjggZW50
cmllcyBmcm9tIGRlcGVuZGVuY3kgY2FjaGUuCiMKIyBJTkNMVURFIEhJU1RPUlk6CiMKIyAvbWVk
aWEvcmViZWNjYXMveW9jdG8vbHR0bmcvY29uZi9iYmxheWVycy5jb25mCiMgL21lZGlhL3JlYmVj
Y2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2xheWVyLmNvbmYKIyAvbWVkaWEvcmViZWNjYXMveW9j
dG8vcG9reS9tZXRhLXBva3kvY29uZi9sYXllci5jb25mCiMgL21lZGlhL3JlYmVjY2FzL3lvY3Rv
L3Bva3kvbWV0YS15b2N0by1ic3AvY29uZi9sYXllci5jb25mCiMgL21lZGlhL3JlYmVjY2FzL3lv
Y3RvL21ldGEtaW50ZWwtY29udHJpYi9jb25mL2xheWVyLmNvbmYgaW5jbHVkZXM6CiMgICAvbWVk
aWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1jb250cmliL2NvbmYvaW5jbHVkZS9tYWludGFp
bmVycy5pbmMKIyBjb25mL2JpdGJha2UuY29uZiBpbmNsdWRlczoKIyAgIC9tZWRpYS9yZWJlY2Nh
cy95b2N0by9wb2t5L21ldGEvY29uZi9hYmlfdmVyc2lvbi5jb25mCiMgICAvbWVkaWEvcmViZWNj
YXMveW9jdG8vbHR0bmcvY29uZi9zaXRlLmNvbmYKIyAgIGNvbmYvYXV0by5jb25mCiMgICAvbWVk
aWEvcmViZWNjYXMveW9jdG8vbHR0bmcvY29uZi9sb2NhbC5jb25mCiMgICAvbWVkaWEvcmViZWNj
YXMveW9jdG8vcG9reS9tZXRhL2NvbmYvbXVsdGljb25maWcvZGVmYXVsdC5jb25mCiMgICBjb25m
L2J1aWxkL3g4Nl82NC1saW51eC5jb25mCiMgICAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9t
ZXRhL2NvbmYvbWFjaGluZS9xZW11eDg2LmNvbmYgaW5jbHVkZXM6CiMgICAgIC9tZWRpYS9yZWJl
Y2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvcWVtdS5pbmMKIyAgICAg
L21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS90dW5l
LWk1ODYuaW5jIGluY2x1ZGVzOgojICAgICAgIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21l
dGEvY29uZi9tYWNoaW5lL2luY2x1ZGUveDg2L2FyY2gteDg2LmluYwojICAgICAvbWVkaWEvcmVi
ZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3FlbXVib290LXg4Ni5p
bmMKIyAgIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9tYWNoaW5lLXNkay94
ODZfNjQuY29uZgojICAgY29uZi90YXJnZXQvaTU4Ni1vZS1saW51eC5jb25mCiMgICAvbWVkaWEv
cmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXBva3kvY29uZi9kaXN0cm8vcG9reS5jb25mIGluY2x1
ZGVzOgojICAgICAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXBva3kvY29uZi9kaXN0
cm8vaW5jbHVkZS9wb2t5LXdvcmxkLWV4Y2x1ZGUuaW5jCiMgICAgIC9tZWRpYS9yZWJlY2Nhcy95
b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9uby1zdGF0aWMtbGlicy5pbmMKIyAg
ICAgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL3lv
Y3RvLXVuaW5hdGl2ZS5pbmMKIyAgIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29u
Zi9kaXN0cm8vZGVmYXVsdHNldHVwLmNvbmYgaW5jbHVkZXM6CiMgICAgIC9tZWRpYS9yZWJlY2Nh
cy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9kZWZhdWx0LXByb3ZpZGVycy5p
bmMKIyAgICAgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNs
dWRlL2RlZmF1bHQtdmVyc2lvbnMuaW5jCiMgICAgIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5
L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9kZWZhdWx0LWRpc3Ryb3ZhcnMuaW5jCiMgICAgIC9t
ZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS93b3JsZC1i
cm9rZW4uaW5jCiMgICAgIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0
cm8vaW5jbHVkZS90Y21vZGUtZGVmYXVsdC5pbmMgaW5jbHVkZXM6CiMgICAgICAgL21lZGlhL3Jl
YmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL2FzLW5lZWRlZC5pbmMK
IyAgICAgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRl
L3RjbGliYy1nbGliYy5pbmMKIyAgICAgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9j
b25mL2Rpc3Ryby9pbmNsdWRlL3VuaW5hdGl2ZS1mbGFncy5pbmMKIyAgIC9tZWRpYS9yZWJlY2Nh
cy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmYKIyAgIC9tZWRpYS9yZWJl
Y2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9saWNlbnNlcy5jb25mCiMgICAvbWVkaWEvcmViZWNj
YXMveW9jdG8vcG9reS9tZXRhL2NvbmYvc2FuaXR5LmNvbmYKIyAvbWVkaWEvcmViZWNjYXMveW9j
dG8vcG9reS9tZXRhL2NsYXNzZXMvYmFzZS5iYmNsYXNzIGluY2x1ZGVzOgojICAgL21lZGlhL3Jl
YmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL3BhdGNoLmJiY2xhc3MgaW5jbHVkZXM6CiMg
ICAgIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY2xhc3Nlcy90ZXJtaW5hbC5iYmNs
YXNzCiMgICAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NsYXNzZXMvc3RhZ2luZy5i
YmNsYXNzCiMgICAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NsYXNzZXMvbWlycm9y
cy5iYmNsYXNzCiMgICAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NsYXNzZXMvdXRp
bHMuYmJjbGFzcwojICAgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL3V0
aWxpdHktdGFza3MuYmJjbGFzcwojICAgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9j
bGFzc2VzL21ldGFkYXRhX3NjbS5iYmNsYXNzCiMgICAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9r
eS9tZXRhL2NsYXNzZXMvbG9nZ2luZy5iYmNsYXNzCiMgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bv
a3kvbWV0YS1wb2t5L2NsYXNzZXMvcG9reS1zYW5pdHkuYmJjbGFzcwojIC9tZWRpYS9yZWJlY2Nh
cy95b2N0by9wb2t5L21ldGEvY2xhc3Nlcy91bmluYXRpdmUuYmJjbGFzcwojIC9tZWRpYS9yZWJl
Y2Nhcy95b2N0by9wb2t5L21ldGEvY2xhc3Nlcy9wYWNrYWdlX3JwbS5iYmNsYXNzIGluY2x1ZGVz
OgojICAgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL3BhY2thZ2UuYmJj
bGFzcyBpbmNsdWRlczoKIyAgICAgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFz
c2VzL3BhY2thZ2VkYXRhLmJiY2xhc3MKIyAgICAgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kv
bWV0YS9jbGFzc2VzL2NocnBhdGguYmJjbGFzcwojICAgICAvbWVkaWEvcmViZWNjYXMveW9jdG8v
cG9reS9tZXRhL2NsYXNzZXMvaW5zYW5lLmJiY2xhc3MKIyAvbWVkaWEvcmViZWNjYXMveW9jdG8v
cG9reS9tZXRhL2NsYXNzZXMvYnVpbGRzdGF0cy5iYmNsYXNzCiMgL21lZGlhL3JlYmVjY2FzL3lv
Y3RvL3Bva3kvbWV0YS9jbGFzc2VzL2ltYWdlLW1rbGlicy5iYmNsYXNzIGluY2x1ZGVzOgojICAg
L21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL2xpbnV4bG9hZGVyLmJiY2xh
c3MKIyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NsYXNzZXMvaW1hZ2UtcHJlbGlu
ay5iYmNsYXNzCiMgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL2RlYmlh
bi5iYmNsYXNzCiMgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL2RldnNo
ZWxsLmJiY2xhc3MKIyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NsYXNzZXMvc3N0
YXRlLmJiY2xhc3MKIyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NsYXNzZXMvbGlj
ZW5zZS5iYmNsYXNzCiMgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL3Jl
bW92ZS1saWJ0b29sLmJiY2xhc3MKIyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2Ns
YXNzZXMvYmxhY2tsaXN0LmJiY2xhc3MKIyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRh
L2NsYXNzZXMvc2FuaXR5LmJiY2xhc3MKIwojICRBQklFWFRFTlNJT04gWzMgb3BlcmF0aW9uc10K
IyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25m
OjExOQojICAgICBbX2RlZmF1bHR2YWxdICIiCiMgICBwb3N0ZG90IC9tZWRpYS9yZWJlY2Nhcy95
b2N0by9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUveDg2L2FyY2gteDg2LmluYzoyMwoj
ICAgICAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1RVTkVfRkVBVFVSRVMnLCAnbXgzMicsICd4MzIn
LCAnJyAsZCl9IgojICAgb3ZlcnJpZGVbY2xhc3MtbmF0aXZlc2RrXTpzZXQgL21lZGlhL3JlYmVj
Y2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL21hY2hpbmUtc2RrL3g4Nl82NC5jb25mOjIKIyAgICAg
IiIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdUVU5F
X0ZFQVRVUkVTJywgJ214MzInLCAneDMyJywgJycgLGQpfSIKQUJJRVhURU5TSU9OPSIiCiMKIyAk
QUJJRVhURU5TSU9OX2NsYXNzLW5hdGl2ZXNkawojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0
by9wb2t5L21ldGEvY29uZi9tYWNoaW5lLXNkay94ODZfNjQuY29uZjoyCiMgICAgICIiCkFCSUVY
VEVOU0lPTl9jbGFzcy1uYXRpdmVzZGs9IiIKIwojICRBTExPV19FTVBUWSBbNCBvcGVyYXRpb25z
XQojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0
aW9uLmNvbmY6NjUKIyAgICAgW2RvY10gIlNwZWNpZmllcyBpZiBhbiBvdXRwdXQgcGFja2FnZSBz
aG91bGQgc3RpbGwgYmUgcHJvZHVjZWQgaWYgaXQgaXMgZW1wdHkuIgojICAgb3ZlcnJpZGVbbHR0
bmctbW9kdWxlc106cmVuYW1lIGZyb20gQUxMT1dfRU1QVFlfJHtQTn0gZGF0YS5weToxMTYgW2V4
cGFuZEtleXNdCiMgICAgICIxIgojICAgb3ZlcnJpZGVbbHR0bmctbW9kdWxlcy1kYmddOnJlbmFt
ZSBmcm9tIEFMTE9XX0VNUFRZXyR7UE59LWRiZyBkYXRhLnB5OjExNiBbZXhwYW5kS2V5c10KIyAg
ICAgIjEiCiMgICBvdmVycmlkZVtsdHRuZy1tb2R1bGVzLWRldl06cmVuYW1lIGZyb20gQUxMT1df
RU1QVFlfJHtQTn0tZGV2IGRhdGEucHk6MTE2IFtleHBhbmRLZXlzXQojICAgICAiMSIKIyBwcmUt
ZXhwYW5zaW9uIHZhbHVlOgojICAgIk5vbmUiCiMKIyAkQUxMT1dfRU1QVFlfbHR0bmctbW9kdWxl
cwojICAgcmVuYW1lIGZyb20gQUxMT1dfRU1QVFlfJHtQTn0gZGF0YS5weToxMTYgW2V4cGFuZEtl
eXNdCiMgICAgICIxIgpBTExPV19FTVBUWV9sdHRuZy1tb2R1bGVzPSIxIgojCiMgJEFMTE9XX0VN
UFRZX2x0dG5nLW1vZHVsZXMtZGJnCiMgICByZW5hbWUgZnJvbSBBTExPV19FTVBUWV8ke1BOfS1k
YmcgZGF0YS5weToxMTYgW2V4cGFuZEtleXNdCiMgICAgICIxIgpBTExPV19FTVBUWV9sdHRuZy1t
b2R1bGVzLWRiZz0iMSIKIwojICRBTExPV19FTVBUWV9sdHRuZy1tb2R1bGVzLWRldgojICAgcmVu
YW1lIGZyb20gQUxMT1dfRU1QVFlfJHtQTn0tZGV2IGRhdGEucHk6MTE2IFtleHBhbmRLZXlzXQoj
ICAgICAiMSIKQUxMT1dfRU1QVFlfbHR0bmctbW9kdWxlcy1kZXY9IjEiCiMKIyAkQUxMX01VTFRJ
TElCX1BBQ0tBR0VfQVJDSFMKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRh
L2NsYXNzZXMvcGFja2FnZS5iYmNsYXNzOjUyCiMgICAgICIke0BhbGxfbXVsdGlsaWJfdHVuZV92
YWx1ZXMoZCwgJ1BBQ0tBR0VfQVJDSFMnKX0iCkFMTF9NVUxUSUxJQl9QQUNLQUdFX0FSQ0hTPSJh
bGwgYW55IG5vYXJjaCB4ODYgaTU4NiBxZW11eDg2IgojCiMgJEFMTF9QUk9YWQojICAgZnJvbSBl
bnYgZGF0YS5weToxMjQgW2luaGVyaXRGcm9tT1NdCiMgICAgICJzb2NrczovL2h0dHA6Ly9wcm94
eS1wbmcuaW50ZWwuY29tOjEwODAvIgpBTExfUFJPWFk9InNvY2tzOi8vaHR0cDovL3Byb3h5LXBu
Zy5pbnRlbC5jb206MTA4MC8iCiMKIyAkQUxMX1FBCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lv
Y3RvL3Bva3kvbWV0YS9jbGFzc2VzL2luc2FuZS5iYmNsYXNzOjQ3CiMgICAgICIke1dBUk5fUUF9
ICR7RVJST1JfUUF9IgpBTExfUUE9ImxpYmRpciB4b3JnLWRyaXZlci1hYmkgdGV4dHJlbCBpbmNv
bXBhdGlibGUtbGljZW5zZSBmaWxlcy1pbnZhbGlkIGluZm9kaXIgYnVpbGQtZGVwcyB1bmtub3du
LWNvbmZpZ3VyZS1vcHRpb24gc3ltbGluay10by1zeXNyb290IG11bHRpbGliIGludmFsaWQtcGFj
a2FnZWNvbmZpZyBob3N0LXVzZXItY29udGFtaW5hdGVkIGRldi1zbyBkZWJ1Zy1kZXBzIGRldi1k
ZXBzIGRlYnVnLWZpbGVzIGFyY2ggcGtnY29uZmlnIGxhICAgICAgICAgICAgIHBlcm1zIGRlcC1j
bXAgcGtndmFyY2hlY2sgcGVybS1jb25maWcgcGVybS1saW5lIHBlcm0tbGluayAgICAgICAgICAg
ICBzcGxpdC1zdHJpcCBwYWNrYWdlcy1saXN0IHBrZ3YtdW5kZWZpbmVkIHZhci11bmRlZmluZWQg
ICAgICAgICAgICAgdmVyc2lvbi1nb2luZy1iYWNrd2FyZHMgZXhwYW5kZWQtZCBpbnZhbGlkLWNo
YXJzICAgICAgICAgICAgIGxpY2Vuc2UtY2hlY2tzdW0gZGV2LWVsZiBmaWxlLXJkZXBzICAgICAg
ICAgICAgICBhbHJlYWR5LXN0cmlwcGVkIGNvbXBpbGUtaG9zdC1wYXRoIGluc3RhbGwtaG9zdC1w
YXRoIGluc3RhbGxlZC12cy1zaGlwcGVkIGxkZmxhZ3MgcG4tb3ZlcnJpZGVzIHJwYXRocyBzdGF0
aWNkZXYgdXNlbGVzcy1ycGF0aHMiCiMKIyAkQUxURVJOQVRJVkUKIyAgIHNldCAvbWVkaWEvcmVi
ZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjY2CiMgICAgIFtk
b2NdICJMaXN0cyBjb21tYW5kcyBpbiBhIHBhY2thZ2UgdGhhdCBuZWVkIGFuIGFsdGVybmF0aXZl
IGJpbmFyeSBuYW1pbmcgc2NoZW1lLiIKIwojICRBTFRFUk5BVElWRV9MSU5LX05BTUUKIyAgIHNl
dCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25m
OjY3CiMgICAgIFtkb2NdICJVc2VkIGJ5IHRoZSBhbHRlcm5hdGl2ZXMgc3lzdGVtIHRvIG1hcCBk
dXBsaWNhdGVkIGNvbW1hbmRzIHRvIGFjdHVhbCBsb2NhdGlvbnMuIgojCiMgJEFMVEVSTkFUSVZF
X1BSSU9SSVRZCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rv
Y3VtZW50YXRpb24uY29uZjo2OAojICAgICBbZG9jXSAiVXNlZCBieSB0aGUgYWx0ZXJuYXRpdmVz
IHN5c3RlbSB0byBjcmVhdGUgZGVmYXVsdCBwcmlvcml0aWVzIGZvciBkdXBsaWNhdGVkIGNvbW1h
bmRzLiIKIwojICRBTFRFUk5BVElWRV9UQVJHRVQKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9j
dG8vcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjY5CiMgICAgIFtkb2NdICJVc2Vk
IGJ5IHRoZSBhbHRlcm5hdGl2ZXMgc3lzdGVtIHRvIGNyZWF0ZSBkZWZhdWx0IGxpbmsgbG9jYXRp
b25zIGZvciBkdXBsaWNhdGVkIGNvbW1hbmRzLiIKIwojICRBUEFDSEVfTUlSUk9SCiMgICBzZXQg
L21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo2MDYKIyAg
ICAgImh0dHA6Ly9hcmNoaXZlLmFwYWNoZS5vcmcvZGlzdCIKQVBBQ0hFX01JUlJPUj0iaHR0cDov
L2FyY2hpdmUuYXBhY2hlLm9yZy9kaXN0IgojCiMgJEFSIFsyIG9wZXJhdGlvbnNdCiMgICBleHBv
cnRlZCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjUw
MAojICAgICBbZXhwb3J0XSAiMSIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9t
ZXRhL2NvbmYvYml0YmFrZS5jb25mOjUwMAojICAgICAiJHtIT1NUX1BSRUZJWH1hciIKIyBwcmUt
ZXhwYW5zaW9uIHZhbHVlOgojICAgIiR7SE9TVF9QUkVGSVh9YXIiCmV4cG9ydCBBUj0iaTU4Ni1w
b2t5LWxpbnV4LWFyIgojCiMgJEFSQ0ggWzIgb3BlcmF0aW9uc10KIyAgIGV4cG9ydGVkIC9tZWRp
YS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY2xhc3Nlcy9rZXJuZWwtYXJjaC5iYmNsYXNzOjM5
CiMgICAgIFtleHBvcnRdICIxIgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21l
dGEvY2xhc3Nlcy9rZXJuZWwtYXJjaC5iYmNsYXNzOjM5CiMgICAgICIke0BtYXBfa2VybmVsX2Fy
Y2goZC5nZXRWYXIoJ1RBUkdFVF9BUkNIJyksIGQpfSIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgoj
ICAgIiR7QG1hcF9rZXJuZWxfYXJjaChkLmdldFZhcignVEFSR0VUX0FSQ0gnKSwgZCl9IgpleHBv
cnQgQVJDSD0ieDg2IgojCiMgJEFTIFsyIG9wZXJhdGlvbnNdCiMgICBleHBvcnRlZCAvbWVkaWEv
cmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjUwMQojICAgICBbZXhw
b3J0XSAiMSIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0
YmFrZS5jb25mOjUwMQojICAgICAiJHtIT1NUX1BSRUZJWH1hcyAke0hPU1RfQVNfQVJDSH0iCiMg
cHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICIke0hPU1RfUFJFRklYfWFzICR7SE9TVF9BU19BUkNI
fSIKZXhwb3J0IEFTPSJpNTg2LXBva3ktbGludXgtYXMgICIKIwojICRBU05FRURFRCBbMTAgb3Bl
cmF0aW9uc10KIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlz
dHJvL2luY2x1ZGUvYXMtbmVlZGVkLmluYzoyCiMgICAgICItV2wsLS1hcy1uZWVkZWQiCiMgICBv
dmVycmlkZVtwbi1iYWJlbHRyYWNlXTpzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0
YS9jb25mL2Rpc3Ryby9pbmNsdWRlL2FzLW5lZWRlZC5pbmM6NAojICAgICAiIgojICAgb3ZlcnJp
ZGVbcG4tY29uc29sZS10b29sc106c2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEv
Y29uZi9kaXN0cm8vaW5jbHVkZS9hcy1uZWVkZWQuaW5jOjUKIyAgICAgIiIKIyAgIG92ZXJyaWRl
W3BuLWRpc3RjY106c2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0
cm8vaW5jbHVkZS9hcy1uZWVkZWQuaW5jOjYKIyAgICAgIiIKIyAgIG92ZXJyaWRlW3BuLW9wZW5v
YmV4XTpzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNs
dWRlL2FzLW5lZWRlZC5pbmM6NwojICAgICAiIgojICAgb3ZlcnJpZGVbcG4taWN1XTpzZXQgL21l
ZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL2FzLW5lZWRl
ZC5pbmM6OAojICAgICAiIgojICAgb3ZlcnJpZGVbcG4tcGNpdXRpbHNdOnNldCAvbWVkaWEvcmVi
ZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvYXMtbmVlZGVkLmluYzo5
CiMgICAgICIiCiMgICBvdmVycmlkZVtwbi1wdXp6bGVzXTpzZXQgL21lZGlhL3JlYmVjY2FzL3lv
Y3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL2FzLW5lZWRlZC5pbmM6MTAKIyAgICAg
IiIKIyAgIG92ZXJyaWRlW3BuLXB1bHNlYXVkaW9dOnNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8v
cG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvYXMtbmVlZGVkLmluYzoxMQojICAgICAiIgoj
ICAgb3ZlcnJpZGVbcG4tcnBtXTpzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9j
b25mL2Rpc3Ryby9pbmNsdWRlL2FzLW5lZWRlZC5pbmM6MTIKIyAgICAgIiIKIyBwcmUtZXhwYW5z
aW9uIHZhbHVlOgojICAgIi1XbCwtLWFzLW5lZWRlZCIKQVNORUVERUQ9Ii1XbCwtLWFzLW5lZWRl
ZCIKIwojICRBU05FRURFRF9wbi1iYWJlbHRyYWNlCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lv
Y3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL2FzLW5lZWRlZC5pbmM6NAojICAgICAi
IgpBU05FRURFRF9wbi1iYWJlbHRyYWNlPSIiCiMKIyAkQVNORUVERURfcG4tY29uc29sZS10b29s
cwojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5j
bHVkZS9hcy1uZWVkZWQuaW5jOjUKIyAgICAgIiIKQVNORUVERURfcG4tY29uc29sZS10b29scz0i
IgojCiMgJEFTTkVFREVEX3BuLWRpc3RjYwojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9w
b2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9hcy1uZWVkZWQuaW5jOjYKIyAgICAgIiIKQVNO
RUVERURfcG4tZGlzdGNjPSIiCiMKIyAkQVNORUVERURfcG4taWN1CiMgICBzZXQgL21lZGlhL3Jl
YmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL2FzLW5lZWRlZC5pbmM6
OAojICAgICAiIgpBU05FRURFRF9wbi1pY3U9IiIKIwojICRBU05FRURFRF9wbi1vcGVub2JleAoj
ICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVk
ZS9hcy1uZWVkZWQuaW5jOjcKIyAgICAgIiIKQVNORUVERURfcG4tb3Blbm9iZXg9IiIKIwojICRB
U05FRURFRF9wbi1wY2l1dGlscwojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21l
dGEvY29uZi9kaXN0cm8vaW5jbHVkZS9hcy1uZWVkZWQuaW5jOjkKIyAgICAgIiIKQVNORUVERURf
cG4tcGNpdXRpbHM9IiIKIwojICRBU05FRURFRF9wbi1wdWxzZWF1ZGlvCiMgICBzZXQgL21lZGlh
L3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL2FzLW5lZWRlZC5p
bmM6MTEKIyAgICAgIiIKQVNORUVERURfcG4tcHVsc2VhdWRpbz0iIgojCiMgJEFTTkVFREVEX3Bu
LXB1enpsZXMKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlz
dHJvL2luY2x1ZGUvYXMtbmVlZGVkLmluYzoxMAojICAgICAiIgpBU05FRURFRF9wbi1wdXp6bGVz
PSIiCiMKIyAkQVNORUVERURfcG4tcnBtCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bv
a3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL2FzLW5lZWRlZC5pbmM6MTIKIyAgICAgIiIKQVNO
RUVERURfcG4tcnBtPSIiCiMKIyAkQVNTVU1FX1BST1ZJREVEIFsyIG9wZXJhdGlvbnNdCiMgICBz
ZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjoxODcK
IyAgICAgImJ6aXAyLW5hdGl2ZSBjaHJwYXRoLW5hdGl2ZSBmaWxlLW5hdGl2ZSBmaW5kdXRpbHMt
bmF0aXZlIGdpdC1uYXRpdmUgZ3JlcC1uYXRpdmUgZGlmZnN0YXQtbmF0aXZlIHBhdGNoLW5hdGl2
ZSBsaWJnY2MtbmF0aXZlIGhvc3RwZXJsLXJ1bnRpbWUtbmF0aXZlIGhvc3RweXRob24tcnVudGlt
ZS1uYXRpdmUgdGFyLW5hdGl2ZSB2aXJ0dWFsL2xpYmludGwtbmF0aXZlIHZpcnR1YWwvbGliaWNv
bnYtbmF0aXZlIHRleGluZm8tbmF0aXZlIGJhc2gtbmF0aXZlIHNlZC1uYXRpdmUgd2dldC1uYXRp
dmUgIgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVu
dGF0aW9uLmNvbmY6NzAKIyAgICAgW2RvY10gIkxpc3Qgb2YgcGFja2FnZXMgKHJlY2lwZXMgYWN0
dWFsbHkpIHRoYXQgYXJlIGFzc3VtZWQgdG8gYmUgaW1wbGljaXRseSBhdmFpbGFibGUuIEJpdEJh
a2UgZG9lcyBub3QgYnVpbGQgdGhlc2UgcGFja2FnZXMuIgojIHByZS1leHBhbnNpb24gdmFsdWU6
CiMgICAiYnppcDItbmF0aXZlIGNocnBhdGgtbmF0aXZlIGZpbGUtbmF0aXZlIGZpbmR1dGlscy1u
YXRpdmUgZ2l0LW5hdGl2ZSBncmVwLW5hdGl2ZSBkaWZmc3RhdC1uYXRpdmUgcGF0Y2gtbmF0aXZl
IGxpYmdjYy1uYXRpdmUgaG9zdHBlcmwtcnVudGltZS1uYXRpdmUgaG9zdHB5dGhvbi1ydW50aW1l
LW5hdGl2ZSB0YXItbmF0aXZlIHZpcnR1YWwvbGliaW50bC1uYXRpdmUgdmlydHVhbC9saWJpY29u
di1uYXRpdmUgdGV4aW5mby1uYXRpdmUgYmFzaC1uYXRpdmUgc2VkLW5hdGl2ZSB3Z2V0LW5hdGl2
ZSAiCkFTU1VNRV9QUk9WSURFRD0iYnppcDItbmF0aXZlIGNocnBhdGgtbmF0aXZlIGZpbGUtbmF0
aXZlIGZpbmR1dGlscy1uYXRpdmUgZ2l0LW5hdGl2ZSBncmVwLW5hdGl2ZSBkaWZmc3RhdC1uYXRp
dmUgcGF0Y2gtbmF0aXZlIGxpYmdjYy1uYXRpdmUgaG9zdHBlcmwtcnVudGltZS1uYXRpdmUgaG9z
dHB5dGhvbi1ydW50aW1lLW5hdGl2ZSB0YXItbmF0aXZlIHZpcnR1YWwvbGliaW50bC1uYXRpdmUg
dmlydHVhbC9saWJpY29udi1uYXRpdmUgdGV4aW5mby1uYXRpdmUgYmFzaC1uYXRpdmUgc2VkLW5h
dGl2ZSB3Z2V0LW5hdGl2ZSAiCiMKIyAkQVNTVU1FX1NITElCUwojICAgc2V0IC9tZWRpYS9yZWJl
Y2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6NzEKIyAgICAgW2Rv
Y10gIkxpc3Qgb2Ygc2hsaWI6cGFja2FnZVtfdmVyc2lvbl0gbWFwcGluZ3MuIFVzZWZ1bCBmb3Ig
bGliIHBhY2thZ2VzIGluIEFTU1VNRV9QUk9WSURFRCwgZm9yIHdoaWNoIGF1dG9tYXRpYyBzaGxp
YiBkZXBlbmRlbmN5IHRyYWNraW5nIGRvZXMgbm90IHdvcmsuIgojCiMgJEFVVEhPUgojICAgc2V0
IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6
NzIKIyAgICAgW2RvY10gIkVtYWlsIGFkZHJlc3MgdXNlZCB0byBjb250YWN0IHRoZSBvcmlnaW5h
bCBhdXRob3IocykgaW4gb3JkZXIgdG8gc2VuZCBwYXRjaGVzIGFuZCBmb3J3YXJkIGJ1Z3MuIgoj
CiMgJEFVVE9SRVYgWzIgb3BlcmF0aW9uc10KIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8v
cG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjY1MgojICAgICAiJHtAYmIuZmV0Y2gyLmdldF9h
dXRvcmV2KGQpfSIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYv
ZG9jdW1lbnRhdGlvbi5jb25mOjc0CiMgICAgIFtkb2NdICJXaGVuIFNSQ1JFViBpcyBzZXQgdG8g
dGhlIHZhbHVlIG9mIHRoaXMgdmFyaWFibGUsIGl0IHNwZWNpZmllcyB0byB1c2UgdGhlIGxhdGVz
dCBzb3VyY2UgcmV2aXNpb24gaW4gdGhlIHJlcG9zaXRvcnkuIgojIHByZS1leHBhbnNpb24gdmFs
dWU6CiMgICAiJHtAYmIuZmV0Y2gyLmdldF9hdXRvcmV2KGQpfSIKQVVUT1JFVj0iQVVUT0lOQyIK
IwojICRBVVRPX0xJQk5BTUVfUEtHUwojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5
L21ldGEvY2xhc3Nlcy9kZWJpYW4uYmJjbGFzczoxMgojICAgICAiJHtQQUNLQUdFU30iCkFVVE9f
TElCTkFNRV9QS0dTPSJsdHRuZy1tb2R1bGVzLWRiZyBsdHRuZy1tb2R1bGVzLXN0YXRpY2RldiBs
dHRuZy1tb2R1bGVzLWRldiBsdHRuZy1tb2R1bGVzLWRvYyBsdHRuZy1tb2R1bGVzLWxvY2FsZSAg
bHR0bmctbW9kdWxlcyIKIwojICRBVVRPX1NZU0xJTlVYTUVOVQojICAgc2V0IC9tZWRpYS9yZWJl
Y2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6NzMKIyAgICAgW2Rv
Y10gIkVuYWJsZXMgY3JlYXRpbmcgYW4gYXV0b21hdGljIG1lbnUgZm9yIHRoZSBzeXNsaW51eCBi
b290bG9hZGVyLiIKIwojICRBVkFJTFRVTkVTIFs0IG9wZXJhdGlvbnNdCiMgICBhcHBlbmQgL21l
ZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS94ODYvYXJj
aC14ODYuaW5jOjM3CiMgICAgICJ4ODYiCiMgICBhcHBlbmQgL21lZGlhL3JlYmVjY2FzL3lvY3Rv
L3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS94ODYvYXJjaC14ODYuaW5jOjQzCiMgICAg
ICJ4ODYtNjQiCiMgICBhcHBlbmQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25m
L21hY2hpbmUvaW5jbHVkZS94ODYvYXJjaC14ODYuaW5jOjQ5CiMgICAgICJ4ODYtNjQteDMyIgoj
ICAgYXBwZW5kIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2lu
Y2x1ZGUvdHVuZS1pNTg2LmluYzoxMAojICAgICAiaTU4NiIKIyBwcmUtZXhwYW5zaW9uIHZhbHVl
OgojICAgIiB4ODYgeDg2LTY0IHg4Ni02NC14MzIgaTU4NiIKQVZBSUxUVU5FUz0iIHg4NiB4ODYt
NjQgeDg2LTY0LXgzMiBpNTg2IgojCiMgJEIgWzIgb3BlcmF0aW9uc10KIyAgIHNldCAvbWVkaWEv
cmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjM1MQojICAgICAiJHtT
fSIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRh
dGlvbi5jb25mOjc4CiMgICAgIFtkb2NdICJUaGUgQnVpbGQgRGlyZWN0b3J5LiBUaGUgT3BlbkVt
YmVkZGVkIGJ1aWxkIHN5c3RlbSBwbGFjZXMgZ2VuZXJhdGVkIG9iamVjdHMgaW50byB0aGUgQnVp
bGQgRGlyZWN0b3J5IGR1cmluZyBhIHJlY2lwZSdzIGJ1aWxkIHByb2Nlc3MuIgojIHByZS1leHBh
bnNpb24gdmFsdWU6CiMgICAiJHtTfSIKQj0iL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL3Rt
cC93b3JrL3FlbXV4ODYtcG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL2x0dG5nLW1v
ZHVsZXMtMi45LjEiCiMKIyAkQkFEX1JFQ09NTUVOREFUSU9OUyBbMiBvcGVyYXRpb25zXQojICAg
c2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNv
bmY6NzkKIyAgICAgW2RvY10gIkEgbGlzdCBvZiBwYWNrYWdlcyBub3QgdG8gaW5zdGFsbCBkZXNw
aXRlIGJlaW5nIHJlY29tbWVuZGVkIGJ5IGEgcmVjaXBlLiBTdXBwb3J0IGZvciB0aGlzIHZhcmlh
YmxlIGV4aXN0cyBvbmx5IHdoZW4gdXNpbmcgdGhlIElQSyBvciBSUE0gcGFja2FnaW5nIGJhY2tl
bmRzLiIKIyAgIHNldD8gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJh
a2UuY29uZjo4MTkKIyAgICAgIiIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIiIKQkFEX1JF
Q09NTUVOREFUSU9OUz0iIgojCiMgJEJBU0VERVBFTkRTCiMgICBzZXQgL21lZGlhL3JlYmVjY2Fz
L3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL2Jhc2UuYmJjbGFzczo3OQojICAgICAiJHtAYmFzZV9k
ZXBfcHJlcGVuZChkKX0iCkJBU0VERVBFTkRTPSIgdmlydHVhbC9pNTg2LXBva3ktbGludXgtZ2Nj
IHZpcnR1YWwvaTU4Ni1wb2t5LWxpbnV4LWNvbXBpbGVybGlicyB2aXJ0dWFsL2xpYmMgIgojCiMg
JEJBU0VMSUIgWzIgb3BlcmF0aW9uc10KIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9r
eS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjEyCiMgICAgICJsaWIiCiMgICBvdmVycmlkZVtwb3dl
cnBjNjRdOnNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5j
b25mOjEzCiMgICAgICJsaWI2NCIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgImxpYiIKQkFT
RUxJQj0ibGliIgojCiMgJEJBU0VMSUJfcG93ZXJwYzY0CiMgICBzZXQgL21lZGlhL3JlYmVjY2Fz
L3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjoxMwojICAgICAibGliNjQiCkJBU0VM
SUJfcG93ZXJwYzY0PSJsaWI2NCIKIwojICRCQVNFX0xJQl90dW5lLWk1ODYKIyAgIHNldCAvbWVk
aWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3R1bmUtaTU4
Ni5pbmM6MTIKIyAgICAgImxpYiIKQkFTRV9MSUJfdHVuZS1pNTg2PSJsaWIiCiMKIyAkQkFTRV9M
SUJfdHVuZS14ODYKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYv
bWFjaGluZS9pbmNsdWRlL3g4Ni9hcmNoLXg4Ni5pbmM6MzkKIyAgICAgImxpYiIKQkFTRV9MSUJf
dHVuZS14ODY9ImxpYiIKIwojICRCQVNFX0xJQl90dW5lLXg4Ni02NAojICAgc2V0IC9tZWRpYS9y
ZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUveDg2L2FyY2gteDg2
LmluYzo0NQojICAgICAibGliNjQiCkJBU0VfTElCX3R1bmUteDg2LTY0PSJsaWI2NCIKIwojICRC
QVNFX0xJQl90dW5lLXg4Ni02NC14MzIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9r
eS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3g4Ni9hcmNoLXg4Ni5pbmM6NTEKIyAgICAgImxp
YngzMiIKQkFTRV9MSUJfdHVuZS14ODYtNjQteDMyPSJsaWJ4MzIiCiMKIyAkQkFTRV9XT1JLRElS
CiMgICBzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNv
bmY6MzQ2CiMgICAgICIke1RNUERJUn0vd29yayIKQkFTRV9XT1JLRElSPSIvbWVkaWEvcmViZWNj
YXMveW9jdG8vbHR0bmcvdG1wL3dvcmsiCiMKIyAkQkJDTEFTU0VYVEVORAojICAgc2V0IC9tZWRp
YS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6ODUKIyAg
ICAgW2RvY10gIkFsbG93cyB5b3UgdG8gZXh0ZW5kIGEgcmVjaXBlIHNvIHRoYXQgaXQgYnVpbGRz
IHZhcmlhbnRzIG9mIHRoZSBzb2Z0d2FyZS4gQ29tbW9uIHZhcmlhbnRzIGZvciByZWNpcGVzIGFy
ZSAnbmF0aXZlJywgJ2Nyb3NzJywgJ25hdGl2ZXNkaycgYW5kIG11bHRpbGlicy4iCiMKIyAkQkJG
SUxFUyBbMTEgb3BlcmF0aW9uc10KIyAgIHNldD8gL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5n
L2NvbmYvYmJsYXllcnMuY29uZjo2CiMgICAgICIiCiMgICBhcHBlbmQgL21lZGlhL3JlYmVjY2Fz
L3lvY3RvL3Bva3kvbWV0YS9jb25mL2xheWVyLmNvbmY6NAojICAgICAiJHtMQVlFUkRJUn0vcmVj
aXBlcy0qLyovKi5iYiIKIyAgIHNldCBkYXRhX3NtYXJ0LnB5OjkzOCBbZXhwYW5kVmFycmVmXQoj
ICAgICAiIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvcmVjaXBlcy0qLyovKi5iYiIK
IyAgIGFwcGVuZCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXBva3kvY29uZi9sYXll
ci5jb25mOjYKIyAgICAgIiR7TEFZRVJESVJ9L3JlY2lwZXMtKi8qLyouYmIgJHtMQVlFUkRJUn0v
cmVjaXBlcy0qLyovKi5iYmFwcGVuZCIKIyAgIHNldCBkYXRhX3NtYXJ0LnB5OjkzOCBbZXhwYW5k
VmFycmVmXQojICAgICAiIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvcmVjaXBlcy0q
LyovKi5iYiAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXBva3kvcmVjaXBlcy0qLyov
Ki5iYiAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXBva3kvcmVjaXBlcy0qLyovKi5i
YmFwcGVuZCIKIyAgIGFwcGVuZCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXlvY3Rv
LWJzcC9jb25mL2xheWVyLmNvbmY6NgojICAgICAiJHtMQVlFUkRJUn0vcmVjaXBlcy0qLyovKi5i
YiAke0xBWUVSRElSfS9yZWNpcGVzLSovKi8qLmJiYXBwZW5kIgojICAgc2V0IGRhdGFfc21hcnQu
cHk6OTM4IFtleHBhbmRWYXJyZWZdCiMgICAgICIgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kv
bWV0YS9yZWNpcGVzLSovKi8qLmJiIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEtcG9r
eS9yZWNpcGVzLSovKi8qLmJiIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEtcG9reS9y
ZWNpcGVzLSovKi8qLmJiYXBwZW5kIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEteW9j
dG8tYnNwL3JlY2lwZXMtKi8qLyouYmIgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS15
b2N0by1ic3AvcmVjaXBlcy0qLyovKi5iYmFwcGVuZCIKIyAgIGFwcGVuZCAvbWVkaWEvcmViZWNj
YXMveW9jdG8vbWV0YS1pbnRlbC1jb250cmliL2NvbmYvbGF5ZXIuY29uZjo2CiMgICAgICIke0xB
WUVSRElSfS9jb21tb24vcmVjaXBlcy0qLyovKi5iYiAke0xBWUVSRElSfS9jb21tb24vcmVjaXBl
cy0qLyovKi5iYmFwcGVuZCIKIyAgIHNldCBkYXRhX3NtYXJ0LnB5OjkzOCBbZXhwYW5kVmFycmVm
XQojICAgICAiIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvcmVjaXBlcy0qLyovKi5i
YiAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXBva3kvcmVjaXBlcy0qLyovKi5iYiAv
bWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXBva3kvcmVjaXBlcy0qLyovKi5iYmFwcGVu
ZCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXlvY3RvLWJzcC9yZWNpcGVzLSovKi8q
LmJiIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEteW9jdG8tYnNwL3JlY2lwZXMtKi8q
LyouYmJhcHBlbmQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL21ldGEtaW50ZWwtY29udHJpYi9jb21t
b24vcmVjaXBlcy0qLyovKi5iYiAvbWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1jb250
cmliL2NvbW1vbi9yZWNpcGVzLSovKi8qLmJiYXBwZW5kIgojICAgc2V0IC9tZWRpYS9yZWJlY2Nh
cy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6ODkKIyAgICAgW2RvY10g
Ikxpc3Qgb2YgcmVjaXBlIGZpbGVzIHVzZWQgYnkgQml0QmFrZSB0byBidWlsZCBzb2Z0d2FyZS4i
CiMgICBzZXQgY29va2VyLnB5OjE4NzkgW2NvbGxlY3RfYmJmaWxlc10KIyAgICAgIi9tZWRpYS9y
ZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvcmVjaXBlcy0qLyovKi5iYiAvbWVkaWEvcmViZWNjYXMv
eW9jdG8vcG9reS9tZXRhLXBva3kvcmVjaXBlcy0qLyovKi5iYiAvbWVkaWEvcmViZWNjYXMveW9j
dG8vcG9reS9tZXRhLXBva3kvcmVjaXBlcy0qLyovKi5iYmFwcGVuZCAvbWVkaWEvcmViZWNjYXMv
eW9jdG8vcG9reS9tZXRhLXlvY3RvLWJzcC9yZWNpcGVzLSovKi8qLmJiIC9tZWRpYS9yZWJlY2Nh
cy95b2N0by9wb2t5L21ldGEteW9jdG8tYnNwL3JlY2lwZXMtKi8qLyouYmJhcHBlbmQgL21lZGlh
L3JlYmVjY2FzL3lvY3RvL21ldGEtaW50ZWwtY29udHJpYi9jb21tb24vcmVjaXBlcy0qLyovKi5i
YiAvbWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1jb250cmliL2NvbW1vbi9yZWNpcGVz
LSovKi8qLmJiYXBwZW5kIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiL21lZGlhL3JlYmVj
Y2FzL3lvY3RvL3Bva3kvbWV0YS9yZWNpcGVzLSovKi8qLmJiIC9tZWRpYS9yZWJlY2Nhcy95b2N0
by9wb2t5L21ldGEtcG9reS9yZWNpcGVzLSovKi8qLmJiIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9w
b2t5L21ldGEtcG9reS9yZWNpcGVzLSovKi8qLmJiYXBwZW5kIC9tZWRpYS9yZWJlY2Nhcy95b2N0
by9wb2t5L21ldGEteW9jdG8tYnNwL3JlY2lwZXMtKi8qLyouYmIgL21lZGlhL3JlYmVjY2FzL3lv
Y3RvL3Bva3kvbWV0YS15b2N0by1ic3AvcmVjaXBlcy0qLyovKi5iYmFwcGVuZCAvbWVkaWEvcmVi
ZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1jb250cmliL2NvbW1vbi9yZWNpcGVzLSovKi8qLmJiIC9t
ZWRpYS9yZWJlY2Nhcy95b2N0by9tZXRhLWludGVsLWNvbnRyaWIvY29tbW9uL3JlY2lwZXMtKi8q
LyouYmJhcHBlbmQiCkJCRklMRVM9Ii9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvcmVj
aXBlcy0qLyovKi5iYiAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXBva3kvcmVjaXBl
cy0qLyovKi5iYiAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXBva3kvcmVjaXBlcy0q
LyovKi5iYmFwcGVuZCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXlvY3RvLWJzcC9y
ZWNpcGVzLSovKi8qLmJiIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEteW9jdG8tYnNw
L3JlY2lwZXMtKi8qLyouYmJhcHBlbmQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL21ldGEtaW50ZWwt
Y29udHJpYi9jb21tb24vcmVjaXBlcy0qLyovKi5iYiAvbWVkaWEvcmViZWNjYXMveW9jdG8vbWV0
YS1pbnRlbC1jb250cmliL2NvbW1vbi9yZWNpcGVzLSovKi8qLmJiYXBwZW5kIgojCiMgJEJCRklM
RV9DT0xMRUNUSU9OUyBbNSBvcGVyYXRpb25zXQojICAgYXBwZW5kIC9tZWRpYS9yZWJlY2Nhcy95
b2N0by9wb2t5L21ldGEvY29uZi9sYXllci5jb25mOjYKIyAgICAgImNvcmUiCiMgICBhcHBlbmQg
L21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5L2NvbmYvbGF5ZXIuY29uZjo4CiMg
ICAgICJ5b2N0byIKIyAgIGFwcGVuZCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXlv
Y3RvLWJzcC9jb25mL2xheWVyLmNvbmY6OAojICAgICAieW9jdG9ic3AiCiMgICBhcHBlbmQgL21l
ZGlhL3JlYmVjY2FzL3lvY3RvL21ldGEtaW50ZWwtY29udHJpYi9jb25mL2xheWVyLmNvbmY6OAoj
ICAgICAiaW50ZWwiCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25m
L2RvY3VtZW50YXRpb24uY29uZjo4NgojICAgICBbZG9jXSAiTGlzdHMgdGhlIG5hbWVzIG9mIGNv
bmZpZ3VyZWQgbGF5ZXJzLiBUaGVzZSBuYW1lcyBhcmUgdXNlZCB0byBmaW5kIHRoZSBvdGhlciBC
QkZJTEVfKiB2YXJpYWJsZXMuIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiIGNvcmUgeW9j
dG8geW9jdG9ic3AgaW50ZWwiCkJCRklMRV9DT0xMRUNUSU9OUz0iIGNvcmUgeW9jdG8geW9jdG9i
c3AgaW50ZWwiCiMKIyAkQkJGSUxFX1BBVFRFUk4gWzggb3BlcmF0aW9uc10KIyAgIHNldCAvbWVk
aWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjg3CiMg
ICAgIFtkb2NdICJWYXJpYWJsZSB0aGF0IGV4cGFuZHMgdG8gbWF0Y2ggZmlsZXMgZnJvbSBCQkZJ
TEVTIGluIGEgcGFydGljdWxhciBsYXllci4gVGhpcyB2YXJpYWJsZSBpcyB1c2VkIGluIHRoZSBs
YXllci5jb25mIGZpbGUgYW5kIG11c3QgYmUgc3VmZml4ZWQgd2l0aCB0aGUgbmFtZSBvZiBhIGxh
eWVyLiIKIyAgIG92ZXJyaWRlW2NvcmVdOnNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9t
ZXRhL2NvbmYvbGF5ZXIuY29uZjo3CiMgICAgICJeJHtMQVlFUkRJUn0vIgojICAgb3ZlcnJpZGVb
Y29yZV06c2V0IGRhdGFfc21hcnQucHk6OTM4IFtleHBhbmRWYXJyZWZdCiMgICAgICJeL21lZGlh
L3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS8iCiMgICBvdmVycmlkZVt5b2N0b106c2V0IC9tZWRp
YS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEtcG9reS9jb25mL2xheWVyLmNvbmY6OQojICAgICAi
XiR7TEFZRVJESVJ9LyIKIyAgIG92ZXJyaWRlW3lvY3RvXTpzZXQgZGF0YV9zbWFydC5weTo5Mzgg
W2V4cGFuZFZhcnJlZl0KIyAgICAgIl4vbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXBv
a3kvIgojICAgb3ZlcnJpZGVbeW9jdG9ic3BdOnNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9r
eS9tZXRhLXlvY3RvLWJzcC9jb25mL2xheWVyLmNvbmY6OQojICAgICAiXiR7TEFZRVJESVJ9LyIK
IyAgIG92ZXJyaWRlW3lvY3RvYnNwXTpzZXQgZGF0YV9zbWFydC5weTo5MzggW2V4cGFuZFZhcnJl
Zl0KIyAgICAgIl4vbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXlvY3RvLWJzcC8iCiMg
ICBvdmVycmlkZVtpbnRlbF06aW1tZWRpYXRlIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9tZXRhLWlu
dGVsLWNvbnRyaWIvY29uZi9sYXllci5jb25mOjkKIyAgICAgIl4ke0xBWUVSRElSfS9jb21tb24v
IgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiTm9uZSIKIwojICRCQkZJTEVfUEFUVEVSTl9j
b3JlIFsyIG9wZXJhdGlvbnNdCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0
YS9jb25mL2xheWVyLmNvbmY6NwojICAgICAiXiR7TEFZRVJESVJ9LyIKIyAgIHNldCBkYXRhX3Nt
YXJ0LnB5OjkzOCBbZXhwYW5kVmFycmVmXQojICAgICAiXi9tZWRpYS9yZWJlY2Nhcy95b2N0by9w
b2t5L21ldGEvIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiXi9tZWRpYS9yZWJlY2Nhcy95
b2N0by9wb2t5L21ldGEvIgpCQkZJTEVfUEFUVEVSTl9jb3JlPSJeL21lZGlhL3JlYmVjY2FzL3lv
Y3RvL3Bva3kvbWV0YS8iCiMKIyAkQkJGSUxFX1BBVFRFUk5faW50ZWwKIyAgIGltbWVkaWF0ZSAv
bWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1jb250cmliL2NvbmYvbGF5ZXIuY29uZjo5
CiMgICAgICJeJHtMQVlFUkRJUn0vY29tbW9uLyIKQkJGSUxFX1BBVFRFUk5faW50ZWw9Il4vbWVk
aWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1jb250cmliL2NvbW1vbi8iCiMKIyAkQkJGSUxF
X1BBVFRFUk5feW9jdG8gWzIgb3BlcmF0aW9uc10KIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9j
dG8vcG9reS9tZXRhLXBva3kvY29uZi9sYXllci5jb25mOjkKIyAgICAgIl4ke0xBWUVSRElSfS8i
CiMgICBzZXQgZGF0YV9zbWFydC5weTo5MzggW2V4cGFuZFZhcnJlZl0KIyAgICAgIl4vbWVkaWEv
cmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXBva3kvIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMg
ICAiXi9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEtcG9reS8iCkJCRklMRV9QQVRURVJO
X3lvY3RvPSJeL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5LyIKIwojICRCQkZJ
TEVfUEFUVEVSTl95b2N0b2JzcCBbMiBvcGVyYXRpb25zXQojICAgc2V0IC9tZWRpYS9yZWJlY2Nh
cy95b2N0by9wb2t5L21ldGEteW9jdG8tYnNwL2NvbmYvbGF5ZXIuY29uZjo5CiMgICAgICJeJHtM
QVlFUkRJUn0vIgojICAgc2V0IGRhdGFfc21hcnQucHk6OTM4IFtleHBhbmRWYXJyZWZdCiMgICAg
ICJeL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS15b2N0by1ic3AvIgojIHByZS1leHBh
bnNpb24gdmFsdWU6CiMgICAiXi9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEteW9jdG8t
YnNwLyIKQkJGSUxFX1BBVFRFUk5feW9jdG9ic3A9Il4vbWVkaWEvcmViZWNjYXMveW9jdG8vcG9r
eS9tZXRhLXlvY3RvLWJzcC8iCiMKIyAkQkJGSUxFX1BSSU9SSVRZIFs1IG9wZXJhdGlvbnNdCiMg
ICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24u
Y29uZjo4OAojICAgICBbZG9jXSAiQXNzaWducyB0aGUgcHJpb3JpdHkgZm9yIHJlY2lwZSBmaWxl
cyBpbiBlYWNoIGxheWVyLiBTZXR0aW5nIHRoaXMgdmFyaWFibGUgYWxsb3dzIHlvdSB0byBwcmlv
cml0aXplIGEgbGF5ZXIgYWdhaW5zdCBvdGhlciBsYXllcnMgdGhhdCBjb250YWluIHRoZSBzYW1l
IHJlY2lwZS4iCiMgICBvdmVycmlkZVtjb3JlXTpzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bv
a3kvbWV0YS9jb25mL2xheWVyLmNvbmY6OAojICAgICAiNSIKIyAgIG92ZXJyaWRlW3lvY3RvXTpz
ZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5L2NvbmYvbGF5ZXIuY29uZjox
MAojICAgICAiNSIKIyAgIG92ZXJyaWRlW3lvY3RvYnNwXTpzZXQgL21lZGlhL3JlYmVjY2FzL3lv
Y3RvL3Bva3kvbWV0YS15b2N0by1ic3AvY29uZi9sYXllci5jb25mOjEwCiMgICAgICI1IgojICAg
b3ZlcnJpZGVbaW50ZWxdOnNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1jb250
cmliL2NvbmYvbGF5ZXIuY29uZjoxMAojICAgICAiNSIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgoj
ICAgIk5vbmUiCiMKIyAkQkJGSUxFX1BSSU9SSVRZX2NvcmUKIyAgIHNldCAvbWVkaWEvcmViZWNj
YXMveW9jdG8vcG9reS9tZXRhL2NvbmYvbGF5ZXIuY29uZjo4CiMgICAgICI1IgpCQkZJTEVfUFJJ
T1JJVFlfY29yZT0iNSIKIwojICRCQkZJTEVfUFJJT1JJVFlfaW50ZWwKIyAgIHNldCAvbWVkaWEv
cmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1jb250cmliL2NvbmYvbGF5ZXIuY29uZjoxMAojICAg
ICAiNSIKQkJGSUxFX1BSSU9SSVRZX2ludGVsPSI1IgojCiMgJEJCRklMRV9QUklPUklUWV95b2N0
bwojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEtcG9reS9jb25mL2xheWVy
LmNvbmY6MTAKIyAgICAgIjUiCkJCRklMRV9QUklPUklUWV95b2N0bz0iNSIKIwojICRCQkZJTEVf
UFJJT1JJVFlfeW9jdG9ic3AKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRh
LXlvY3RvLWJzcC9jb25mL2xheWVyLmNvbmY6MTAKIyAgICAgIjUiCkJCRklMRV9QUklPUklUWV95
b2N0b2JzcD0iNSIKIwojICRCQklOQ0xVREVEIFsyIG9wZXJhdGlvbnNdCiMgICBzZXQgY29va2Vy
ZGF0YS5weTozNzggW3BhcnNlQ29uZmlndXJhdGlvbkZpbGVzXQojICAgICAiL21lZGlhL3JlYmVj
Y2FzL3lvY3RvL2x0dG5nL2NvbmYvYmJsYXllcnMuY29uZiAvbWVkaWEvcmViZWNjYXMveW9jdG8v
cG9reS9tZXRhL2NvbmYvbGF5ZXIuY29uZiAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRh
LXBva3kvY29uZi9sYXllci5jb25mIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEteW9j
dG8tYnNwL2NvbmYvbGF5ZXIuY29uZiAvbWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1j
b250cmliL2NvbmYvbGF5ZXIuY29uZiAvbWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1j
b250cmliL2NvbmYvaW5jbHVkZS9tYWludGFpbmVycy5pbmMgL21lZGlhL3JlYmVjY2FzL3lvY3Rv
L3Bva3kvbWV0YS1wb2t5L2NvbmYvYml0YmFrZS5jb25mIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9s
dHRuZy9jb25mL2JpdGJha2UuY29uZiAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2Nv
bmYvYml0YmFrZS5jb25mIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9jb25m
L2FiaV92ZXJzaW9uLmNvbmYgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5L2Nv
bmYvYWJpX3ZlcnNpb24uY29uZiAvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvY29uZi9hYmlf
dmVyc2lvbi5jb25mIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9hYmlfdmVy
c2lvbi5jb25mIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9jb25mL3NpdGUu
Y29uZiAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXBva3kvY29uZi9zaXRlLmNvbmYg
L21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL2NvbmYvc2l0ZS5jb25mIC9tZWRpYS9yZWJlY2Nh
cy95b2N0by9wb2t5L21ldGEvY29uZi9jb25mL2F1dG8uY29uZiAvbWVkaWEvcmViZWNjYXMveW9j
dG8vcG9reS9tZXRhLXBva3kvY29uZi9hdXRvLmNvbmYgL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0
dG5nL2NvbmYvYXV0by5jb25mIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9h
dXRvLmNvbmYgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS15b2N0by1ic3AvY29uZi9h
dXRvLmNvbmYgL21lZGlhL3JlYmVjY2FzL3lvY3RvL21ldGEtaW50ZWwtY29udHJpYi9jb25mL2F1
dG8uY29uZiAvbWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1jb250cmliL2NvbW1vbi9j
b25mL2F1dG8uY29uZiAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvY29uZi9s
b2NhbC5jb25mIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEtcG9reS9jb25mL2xvY2Fs
LmNvbmYgL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL2NvbmYvbG9jYWwuY29uZiAvbWVkaWEv
cmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvY29uZi9tdWx0aWNvbmZpZy9kZWZhdWx0LmNv
bmYgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5L2NvbmYvbXVsdGljb25maWcv
ZGVmYXVsdC5jb25mIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy9jb25mL211bHRpY29uZmln
L2RlZmF1bHQuY29uZiAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvbXVsdGlj
b25maWcvZGVmYXVsdC5jb25mIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9j
b25mL2J1aWxkL3g4Nl82NC1saW51eC5jb25mIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21l
dGEtcG9reS9jb25mL2J1aWxkL3g4Nl82NC1saW51eC5jb25mIC9tZWRpYS9yZWJlY2Nhcy95b2N0
by9sdHRuZy9jb25mL2J1aWxkL3g4Nl82NC1saW51eC5jb25mIC9tZWRpYS9yZWJlY2Nhcy95b2N0
by9wb2t5L21ldGEvY29uZi9idWlsZC94ODZfNjQtbGludXguY29uZiAvbWVkaWEvcmViZWNjYXMv
eW9jdG8vcG9reS9tZXRhLXlvY3RvLWJzcC9jb25mL2J1aWxkL3g4Nl82NC1saW51eC5jb25mIC9t
ZWRpYS9yZWJlY2Nhcy95b2N0by9tZXRhLWludGVsLWNvbnRyaWIvY29uZi9idWlsZC94ODZfNjQt
bGludXguY29uZiAvbWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1jb250cmliL2NvbW1v
bi9jb25mL2J1aWxkL3g4Nl82NC1saW51eC5jb25mIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5
L21ldGEvY29uZi9jb25mL21hY2hpbmUvcWVtdXg4Ni5jb25mIC9tZWRpYS9yZWJlY2Nhcy95b2N0
by9wb2t5L21ldGEtcG9reS9jb25mL21hY2hpbmUvcWVtdXg4Ni5jb25mIC9tZWRpYS9yZWJlY2Nh
cy95b2N0by9sdHRuZy9jb25mL21hY2hpbmUvcWVtdXg4Ni5jb25mIC9tZWRpYS9yZWJlY2Nhcy95
b2N0by9wb2t5L21ldGEvY29uZi9tYWNoaW5lL3FlbXV4ODYuY29uZiAvbWVkaWEvcmViZWNjYXMv
eW9jdG8vcG9reS9tZXRhL2NvbmYvbWFjaGluZS9jb25mL21hY2hpbmUvaW5jbHVkZS9xZW11Lmlu
YyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXBva3kvY29uZi9tYWNoaW5lL2luY2x1
ZGUvcWVtdS5pbmMgL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL2NvbmYvbWFjaGluZS9pbmNs
dWRlL3FlbXUuaW5jIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9tYWNoaW5l
L2luY2x1ZGUvcWVtdS5pbmMgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL21h
Y2hpbmUvY29uZi9tYWNoaW5lL2luY2x1ZGUvdHVuZS1pNTg2LmluYyAvbWVkaWEvcmViZWNjYXMv
eW9jdG8vcG9reS9tZXRhLXBva3kvY29uZi9tYWNoaW5lL2luY2x1ZGUvdHVuZS1pNTg2LmluYyAv
bWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvY29uZi9tYWNoaW5lL2luY2x1ZGUvdHVuZS1pNTg2
LmluYyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRl
L3R1bmUtaTU4Ni5pbmMgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL21hY2hp
bmUvaW5jbHVkZS9jb25mL21hY2hpbmUvaW5jbHVkZS94ODYvYXJjaC14ODYuaW5jIC9tZWRpYS9y
ZWJlY2Nhcy95b2N0by9wb2t5L21ldGEtcG9reS9jb25mL21hY2hpbmUvaW5jbHVkZS94ODYvYXJj
aC14ODYuaW5jIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy9jb25mL21hY2hpbmUvaW5jbHVk
ZS94ODYvYXJjaC14ODYuaW5jIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9t
YWNoaW5lL2luY2x1ZGUveDg2L2FyY2gteDg2LmluYyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9r
eS9tZXRhL2NvbmYvbWFjaGluZS9jb25mL21hY2hpbmUvaW5jbHVkZS9xZW11Ym9vdC14ODYuaW5j
IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEtcG9reS9jb25mL21hY2hpbmUvaW5jbHVk
ZS9xZW11Ym9vdC14ODYuaW5jIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy9jb25mL21hY2hp
bmUvaW5jbHVkZS9xZW11Ym9vdC14ODYuaW5jIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21l
dGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvcWVtdWJvb3QteDg2LmluYyAvbWVkaWEvcmViZWNjYXMv
eW9jdG8vcG9reS9tZXRhL2NvbmYvY29uZi9tYWNoaW5lLXNkay94ODZfNjQuY29uZiAvbWVkaWEv
cmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXBva3kvY29uZi9tYWNoaW5lLXNkay94ODZfNjQuY29u
ZiAvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvY29uZi9tYWNoaW5lLXNkay94ODZfNjQuY29u
ZiAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvbWFjaGluZS1zZGsveDg2XzY0
LmNvbmYgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2NvbmYvdGFyZ2V0L2k1
ODYtb2UtbGludXguY29uZiAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXBva3kvY29u
Zi90YXJnZXQvaTU4Ni1vZS1saW51eC5jb25mIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy9j
b25mL3RhcmdldC9pNTg2LW9lLWxpbnV4LmNvbmYgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kv
bWV0YS9jb25mL3RhcmdldC9pNTg2LW9lLWxpbnV4LmNvbmYgL21lZGlhL3JlYmVjY2FzL3lvY3Rv
L3Bva3kvbWV0YS15b2N0by1ic3AvY29uZi90YXJnZXQvaTU4Ni1vZS1saW51eC5jb25mIC9tZWRp
YS9yZWJlY2Nhcy95b2N0by9tZXRhLWludGVsLWNvbnRyaWIvY29uZi90YXJnZXQvaTU4Ni1vZS1s
aW51eC5jb25mIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9tZXRhLWludGVsLWNvbnRyaWIvY29tbW9u
L2NvbmYvdGFyZ2V0L2k1ODYtb2UtbGludXguY29uZiAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9r
eS9tZXRhL2NvbmYvY29uZi9kaXN0cm8vcG9reS5jb25mIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9w
b2t5L21ldGEtcG9reS9jb25mL2Rpc3Ryby9wb2t5LmNvbmYgL21lZGlhL3JlYmVjY2FzL3lvY3Rv
L3Bva3kvbWV0YS1wb2t5L2NvbmYvZGlzdHJvL2NvbmYvZGlzdHJvL2luY2x1ZGUvcG9reS13b3Js
ZC1leGNsdWRlLmluYyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXBva3kvY29uZi9k
aXN0cm8vaW5jbHVkZS9wb2t5LXdvcmxkLWV4Y2x1ZGUuaW5jIC9tZWRpYS9yZWJlY2Nhcy95b2N0
by9wb2t5L21ldGEtcG9reS9jb25mL2Rpc3Ryby9jb25mL2Rpc3Ryby9pbmNsdWRlL25vLXN0YXRp
Yy1saWJzLmluYyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXBva3kvY29uZi9kaXN0
cm8vaW5jbHVkZS9uby1zdGF0aWMtbGlicy5pbmMgL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5n
L2NvbmYvZGlzdHJvL2luY2x1ZGUvbm8tc3RhdGljLWxpYnMuaW5jIC9tZWRpYS9yZWJlY2Nhcy95
b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9uby1zdGF0aWMtbGlicy5pbmMgL21l
ZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5L2NvbmYvZGlzdHJvL2NvbmYvZGlzdHJv
L2luY2x1ZGUveW9jdG8tdW5pbmF0aXZlLmluYyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9t
ZXRhLXBva3kvY29uZi9kaXN0cm8vaW5jbHVkZS95b2N0by11bmluYXRpdmUuaW5jIC9tZWRpYS9y
ZWJlY2Nhcy95b2N0by9sdHRuZy9jb25mL2Rpc3Ryby9pbmNsdWRlL3lvY3RvLXVuaW5hdGl2ZS5p
bmMgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL3lv
Y3RvLXVuaW5hdGl2ZS5pbmMgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Nv
bmYvZGlzdHJvL2RlZmF1bHRzZXR1cC5jb25mIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21l
dGEtcG9reS9jb25mL2Rpc3Ryby9kZWZhdWx0c2V0dXAuY29uZiAvbWVkaWEvcmViZWNjYXMveW9j
dG8vbHR0bmcvY29uZi9kaXN0cm8vZGVmYXVsdHNldHVwLmNvbmYgL21lZGlhL3JlYmVjY2FzL3lv
Y3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9kZWZhdWx0c2V0dXAuY29uZiAvbWVkaWEvcmViZWNj
YXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2NvbmYvZGlzdHJvL2luY2x1ZGUvZGVmYXVs
dC1wcm92aWRlcnMuaW5jIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEtcG9reS9jb25m
L2Rpc3Ryby9pbmNsdWRlL2RlZmF1bHQtcHJvdmlkZXJzLmluYyAvbWVkaWEvcmViZWNjYXMveW9j
dG8vbHR0bmcvY29uZi9kaXN0cm8vaW5jbHVkZS9kZWZhdWx0LXByb3ZpZGVycy5pbmMgL21lZGlh
L3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL2RlZmF1bHQtcHJv
dmlkZXJzLmluYyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2Nv
bmYvZGlzdHJvL2luY2x1ZGUvZGVmYXVsdC12ZXJzaW9ucy5pbmMgL21lZGlhL3JlYmVjY2FzL3lv
Y3RvL3Bva3kvbWV0YS1wb2t5L2NvbmYvZGlzdHJvL2luY2x1ZGUvZGVmYXVsdC12ZXJzaW9ucy5p
bmMgL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL2NvbmYvZGlzdHJvL2luY2x1ZGUvZGVmYXVs
dC12ZXJzaW9ucy5pbmMgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ry
by9pbmNsdWRlL2RlZmF1bHQtdmVyc2lvbnMuaW5jIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5
L21ldGEvY29uZi9kaXN0cm8vY29uZi9kaXN0cm8vaW5jbHVkZS9kZWZhdWx0LWRpc3Ryb3ZhcnMu
aW5jIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEtcG9reS9jb25mL2Rpc3Ryby9pbmNs
dWRlL2RlZmF1bHQtZGlzdHJvdmFycy5pbmMgL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL2Nv
bmYvZGlzdHJvL2luY2x1ZGUvZGVmYXVsdC1kaXN0cm92YXJzLmluYyAvbWVkaWEvcmViZWNjYXMv
eW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvZGVmYXVsdC1kaXN0cm92YXJzLmlu
YyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2NvbmYvZGlzdHJv
L2luY2x1ZGUvd29ybGQtYnJva2VuLmluYyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRh
LXBva3kvY29uZi9kaXN0cm8vaW5jbHVkZS93b3JsZC1icm9rZW4uaW5jIC9tZWRpYS9yZWJlY2Nh
cy95b2N0by9sdHRuZy9jb25mL2Rpc3Ryby9pbmNsdWRlL3dvcmxkLWJyb2tlbi5pbmMgL21lZGlh
L3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL3dvcmxkLWJyb2tl
bi5pbmMgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9jb25mL2Rp
c3Ryby9pbmNsdWRlL3RjbW9kZS1kZWZhdWx0LmluYyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9r
eS9tZXRhLXBva3kvY29uZi9kaXN0cm8vaW5jbHVkZS90Y21vZGUtZGVmYXVsdC5pbmMgL21lZGlh
L3JlYmVjY2FzL3lvY3RvL2x0dG5nL2NvbmYvZGlzdHJvL2luY2x1ZGUvdGNtb2RlLWRlZmF1bHQu
aW5jIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS90
Y21vZGUtZGVmYXVsdC5pbmMgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rp
c3Ryby9pbmNsdWRlL2NvbmYvZGlzdHJvL2luY2x1ZGUvYXMtbmVlZGVkLmluYyAvbWVkaWEvcmVi
ZWNjYXMveW9jdG8vcG9reS9tZXRhLXBva3kvY29uZi9kaXN0cm8vaW5jbHVkZS9hcy1uZWVkZWQu
aW5jIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy9jb25mL2Rpc3Ryby9pbmNsdWRlL2FzLW5l
ZWRlZC5pbmMgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNs
dWRlL2FzLW5lZWRlZC5pbmMgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rp
c3Ryby9jb25mL2Rpc3Ryby9pbmNsdWRlL3RjbGliYy1nbGliYy5pbmMgL21lZGlhL3JlYmVjY2Fz
L3lvY3RvL3Bva3kvbWV0YS1wb2t5L2NvbmYvZGlzdHJvL2luY2x1ZGUvdGNsaWJjLWdsaWJjLmlu
YyAvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvY29uZi9kaXN0cm8vaW5jbHVkZS90Y2xpYmMt
Z2xpYmMuaW5jIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5j
bHVkZS90Y2xpYmMtZ2xpYmMuaW5jIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29u
Zi9kaXN0cm8vY29uZi9kaXN0cm8vaW5jbHVkZS91bmluYXRpdmUtZmxhZ3MuaW5jIC9tZWRpYS9y
ZWJlY2Nhcy95b2N0by9wb2t5L21ldGEtcG9reS9jb25mL2Rpc3Ryby9pbmNsdWRlL3VuaW5hdGl2
ZS1mbGFncy5pbmMgL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL2NvbmYvZGlzdHJvL2luY2x1
ZGUvdW5pbmF0aXZlLWZsYWdzLmluYyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2Nv
bmYvZGlzdHJvL2luY2x1ZGUvdW5pbmF0aXZlLWZsYWdzLmluYyAvbWVkaWEvcmViZWNjYXMveW9j
dG8vcG9reS9tZXRhL2NvbmYvY29uZi9kb2N1bWVudGF0aW9uLmNvbmYgL21lZGlhL3JlYmVjY2Fz
L3lvY3RvL3Bva3kvbWV0YS1wb2t5L2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mIC9tZWRpYS9yZWJl
Y2Nhcy95b2N0by9sdHRuZy9jb25mL2RvY3VtZW50YXRpb24uY29uZiAvbWVkaWEvcmViZWNjYXMv
eW9jdG8vcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mIC9tZWRpYS9yZWJlY2Nhcy95
b2N0by9wb2t5L21ldGEvY29uZi9jb25mL2xpY2Vuc2VzLmNvbmYgL21lZGlhL3JlYmVjY2FzL3lv
Y3RvL3Bva3kvbWV0YS1wb2t5L2NvbmYvbGljZW5zZXMuY29uZiAvbWVkaWEvcmViZWNjYXMveW9j
dG8vbHR0bmcvY29uZi9saWNlbnNlcy5jb25mIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21l
dGEvY29uZi9saWNlbnNlcy5jb25mIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29u
Zi9jb25mL3Nhbml0eS5jb25mIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEtcG9reS9j
b25mL3Nhbml0eS5jb25mIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy9jb25mL3Nhbml0eS5j
b25mIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9zYW5pdHkuY29uZiAvbWVk
aWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXBva3kvY2xhc3Nlcy9iYXNlLmJiY2xhc3MgL21l
ZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL2NsYXNzZXMvYmFzZS5iYmNsYXNzIC9tZWRpYS9yZWJl
Y2Nhcy95b2N0by9wb2t5L21ldGEvY2xhc3Nlcy9iYXNlLmJiY2xhc3MgL21lZGlhL3JlYmVjY2Fz
L3lvY3RvL3Bva3kvbWV0YS1wb2t5L2NsYXNzZXMvcGF0Y2guYmJjbGFzcyAvbWVkaWEvcmViZWNj
YXMveW9jdG8vbHR0bmcvY2xhc3Nlcy9wYXRjaC5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0
by9wb2t5L21ldGEvY2xhc3Nlcy9wYXRjaC5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9w
b2t5L21ldGEtcG9reS9jbGFzc2VzL3Rlcm1pbmFsLmJiY2xhc3MgL21lZGlhL3JlYmVjY2FzL3lv
Y3RvL2x0dG5nL2NsYXNzZXMvdGVybWluYWwuYmJjbGFzcyAvbWVkaWEvcmViZWNjYXMveW9jdG8v
cG9reS9tZXRhL2NsYXNzZXMvdGVybWluYWwuYmJjbGFzcyAvbWVkaWEvcmViZWNjYXMveW9jdG8v
cG9reS9tZXRhLXBva3kvY2xhc3Nlcy9zdGFnaW5nLmJiY2xhc3MgL21lZGlhL3JlYmVjY2FzL3lv
Y3RvL2x0dG5nL2NsYXNzZXMvc3RhZ2luZy5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9w
b2t5L21ldGEvY2xhc3Nlcy9zdGFnaW5nLmJiY2xhc3MgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bv
a3kvbWV0YS1wb2t5L2NsYXNzZXMvbWlycm9ycy5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0
by9sdHRuZy9jbGFzc2VzL21pcnJvcnMuYmJjbGFzcyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9r
eS9tZXRhL2NsYXNzZXMvbWlycm9ycy5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5
L21ldGEtcG9reS9jbGFzc2VzL3V0aWxzLmJiY2xhc3MgL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0
dG5nL2NsYXNzZXMvdXRpbHMuYmJjbGFzcyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRh
L2NsYXNzZXMvdXRpbHMuYmJjbGFzcyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXBv
a3kvY2xhc3Nlcy91dGlsaXR5LXRhc2tzLmJiY2xhc3MgL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0
dG5nL2NsYXNzZXMvdXRpbGl0eS10YXNrcy5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9w
b2t5L21ldGEvY2xhc3Nlcy91dGlsaXR5LXRhc2tzLmJiY2xhc3MgL21lZGlhL3JlYmVjY2FzL3lv
Y3RvL3Bva3kvbWV0YS1wb2t5L2NsYXNzZXMvbWV0YWRhdGFfc2NtLmJiY2xhc3MgL21lZGlhL3Jl
YmVjY2FzL3lvY3RvL2x0dG5nL2NsYXNzZXMvbWV0YWRhdGFfc2NtLmJiY2xhc3MgL21lZGlhL3Jl
YmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL21ldGFkYXRhX3NjbS5iYmNsYXNzIC9tZWRp
YS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEtcG9reS9jbGFzc2VzL2xvZ2dpbmcuYmJjbGFzcyAv
bWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvY2xhc3Nlcy9sb2dnaW5nLmJiY2xhc3MgL21lZGlh
L3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL2xvZ2dpbmcuYmJjbGFzcyAvbWVkaWEv
cmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXBva3kvY2xhc3Nlcy9wb2t5LXNhbml0eS5iYmNsYXNz
IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEtcG9reS9jbGFzc2VzL3VuaW5hdGl2ZS5i
YmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy9jbGFzc2VzL3VuaW5hdGl2ZS5iYmNs
YXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY2xhc3Nlcy91bmluYXRpdmUuYmJj
bGFzcyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXBva3kvY2xhc3Nlcy9wYWNrYWdl
X3JwbS5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy9jbGFzc2VzL3BhY2thZ2Vf
cnBtLmJiY2xhc3MgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL3BhY2th
Z2VfcnBtLmJiY2xhc3MgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5L2NsYXNz
ZXMvcGFja2FnZS5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy9jbGFzc2VzL3Bh
Y2thZ2UuYmJjbGFzcyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NsYXNzZXMvcGFj
a2FnZS5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEtcG9reS9jbGFzc2Vz
L3BhY2thZ2VkYXRhLmJiY2xhc3MgL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL2NsYXNzZXMv
cGFja2FnZWRhdGEuYmJjbGFzcyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NsYXNz
ZXMvcGFja2FnZWRhdGEuYmJjbGFzcyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXBv
a3kvY2xhc3Nlcy9jaHJwYXRoLmJiY2xhc3MgL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL2Ns
YXNzZXMvY2hycGF0aC5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY2xh
c3Nlcy9jaHJwYXRoLmJiY2xhc3MgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5
L2NsYXNzZXMvaW5zYW5lLmJiY2xhc3MgL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL2NsYXNz
ZXMvaW5zYW5lLmJiY2xhc3MgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2Vz
L2luc2FuZS5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEtcG9reS9jbGFz
c2VzL2J1aWxkc3RhdHMuYmJjbGFzcyAvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvY2xhc3Nl
cy9idWlsZHN0YXRzLmJiY2xhc3MgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFz
c2VzL2J1aWxkc3RhdHMuYmJjbGFzcyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXBv
a3kvY2xhc3Nlcy9pbWFnZS1ta2xpYnMuYmJjbGFzcyAvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0
bmcvY2xhc3Nlcy9pbWFnZS1ta2xpYnMuYmJjbGFzcyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9r
eS9tZXRhL2NsYXNzZXMvaW1hZ2UtbWtsaWJzLmJiY2xhc3MgL21lZGlhL3JlYmVjY2FzL3lvY3Rv
L3Bva3kvbWV0YS1wb2t5L2NsYXNzZXMvbGludXhsb2FkZXIuYmJjbGFzcyAvbWVkaWEvcmViZWNj
YXMveW9jdG8vbHR0bmcvY2xhc3Nlcy9saW51eGxvYWRlci5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nh
cy95b2N0by9wb2t5L21ldGEvY2xhc3Nlcy9saW51eGxvYWRlci5iYmNsYXNzIC9tZWRpYS9yZWJl
Y2Nhcy95b2N0by9wb2t5L21ldGEtcG9reS9jbGFzc2VzL2ltYWdlLXByZWxpbmsuYmJjbGFzcyAv
bWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvY2xhc3Nlcy9pbWFnZS1wcmVsaW5rLmJiY2xhc3Mg
L21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL2ltYWdlLXByZWxpbmsuYmJj
bGFzcyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXBva3kvY2xhc3Nlcy9kZWJpYW4u
YmJjbGFzcyAvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvY2xhc3Nlcy9kZWJpYW4uYmJjbGFz
cyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NsYXNzZXMvZGViaWFuLmJiY2xhc3Mg
L21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5L2NsYXNzZXMvZGV2c2hlbGwuYmJj
bGFzcyAvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvY2xhc3Nlcy9kZXZzaGVsbC5iYmNsYXNz
IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY2xhc3Nlcy9kZXZzaGVsbC5iYmNsYXNz
IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEtcG9reS9jbGFzc2VzL3NzdGF0ZS5iYmNs
YXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy9jbGFzc2VzL3NzdGF0ZS5iYmNsYXNzIC9t
ZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY2xhc3Nlcy9zc3RhdGUuYmJjbGFzcyAvbWVk
aWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXBva3kvY2xhc3Nlcy9saWNlbnNlLmJiY2xhc3Mg
L21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL2NsYXNzZXMvbGljZW5zZS5iYmNsYXNzIC9tZWRp
YS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY2xhc3Nlcy9saWNlbnNlLmJiY2xhc3MgL21lZGlh
L3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5L2NsYXNzZXMvcmVtb3ZlLWxpYnRvb2wuYmJj
bGFzcyAvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvY2xhc3Nlcy9yZW1vdmUtbGlidG9vbC5i
YmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY2xhc3Nlcy9yZW1vdmUtbGli
dG9vbC5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEtcG9reS9jbGFzc2Vz
L2JsYWNrbGlzdC5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy9jbGFzc2VzL2Js
YWNrbGlzdC5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY2xhc3Nlcy9i
bGFja2xpc3QuYmJjbGFzcyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXBva3kvY2xh
c3Nlcy9zYW5pdHkuYmJjbGFzcyAvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvY2xhc3Nlcy9z
YW5pdHkuYmJjbGFzcyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NsYXNzZXMvc2Fu
aXR5LmJiY2xhc3MiCiMgICBzZXQgYXN0LnB5OjM2MyBbZmluYWxpemVdCiMgICAgICIvbWVkaWEv
cmViZWNjYXMveW9jdG8vbHR0bmcvY29uZi9iYmxheWVycy5jb25mIC9tZWRpYS9yZWJlY2Nhcy95
b2N0by9wb2t5L21ldGEvY29uZi9sYXllci5jb25mIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5
L21ldGEtcG9reS9jb25mL2xheWVyLmNvbmYgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0
YS15b2N0by1ic3AvY29uZi9sYXllci5jb25mIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9tZXRhLWlu
dGVsLWNvbnRyaWIvY29uZi9sYXllci5jb25mIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9tZXRhLWlu
dGVsLWNvbnRyaWIvY29uZi9pbmNsdWRlL21haW50YWluZXJzLmluYyAvbWVkaWEvcmViZWNjYXMv
eW9jdG8vcG9reS9tZXRhLXBva3kvY29uZi9iaXRiYWtlLmNvbmYgL21lZGlhL3JlYmVjY2FzL3lv
Y3RvL2x0dG5nL2NvbmYvYml0YmFrZS5jb25mIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21l
dGEvY29uZi9iaXRiYWtlLmNvbmYgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25m
L2NvbmYvYWJpX3ZlcnNpb24uY29uZiAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXBv
a3kvY29uZi9hYmlfdmVyc2lvbi5jb25mIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy9jb25m
L2FiaV92ZXJzaW9uLmNvbmYgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Fi
aV92ZXJzaW9uLmNvbmYgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2NvbmYv
c2l0ZS5jb25mIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEtcG9reS9jb25mL3NpdGUu
Y29uZiAvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvY29uZi9zaXRlLmNvbmYgL21lZGlhL3Jl
YmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2NvbmYvYXV0by5jb25mIC9tZWRpYS9yZWJlY2Nh
cy95b2N0by9wb2t5L21ldGEtcG9reS9jb25mL2F1dG8uY29uZiAvbWVkaWEvcmViZWNjYXMveW9j
dG8vbHR0bmcvY29uZi9hdXRvLmNvbmYgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9j
b25mL2F1dG8uY29uZiAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXlvY3RvLWJzcC9j
b25mL2F1dG8uY29uZiAvbWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1jb250cmliL2Nv
bmYvYXV0by5jb25mIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9tZXRhLWludGVsLWNvbnRyaWIvY29t
bW9uL2NvbmYvYXV0by5jb25mIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9j
b25mL2xvY2FsLmNvbmYgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5L2NvbmYv
bG9jYWwuY29uZiAvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvY29uZi9sb2NhbC5jb25mIC9t
ZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9jb25mL211bHRpY29uZmlnL2RlZmF1
bHQuY29uZiAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXBva3kvY29uZi9tdWx0aWNv
bmZpZy9kZWZhdWx0LmNvbmYgL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL2NvbmYvbXVsdGlj
b25maWcvZGVmYXVsdC5jb25mIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9t
dWx0aWNvbmZpZy9kZWZhdWx0LmNvbmYgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9j
b25mL2NvbmYvYnVpbGQveDg2XzY0LWxpbnV4LmNvbmYgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bv
a3kvbWV0YS1wb2t5L2NvbmYvYnVpbGQveDg2XzY0LWxpbnV4LmNvbmYgL21lZGlhL3JlYmVjY2Fz
L3lvY3RvL2x0dG5nL2NvbmYvYnVpbGQveDg2XzY0LWxpbnV4LmNvbmYgL21lZGlhL3JlYmVjY2Fz
L3lvY3RvL3Bva3kvbWV0YS9jb25mL2J1aWxkL3g4Nl82NC1saW51eC5jb25mIC9tZWRpYS9yZWJl
Y2Nhcy95b2N0by9wb2t5L21ldGEteW9jdG8tYnNwL2NvbmYvYnVpbGQveDg2XzY0LWxpbnV4LmNv
bmYgL21lZGlhL3JlYmVjY2FzL3lvY3RvL21ldGEtaW50ZWwtY29udHJpYi9jb25mL2J1aWxkL3g4
Nl82NC1saW51eC5jb25mIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9tZXRhLWludGVsLWNvbnRyaWIv
Y29tbW9uL2NvbmYvYnVpbGQveDg2XzY0LWxpbnV4LmNvbmYgL21lZGlhL3JlYmVjY2FzL3lvY3Rv
L3Bva3kvbWV0YS9jb25mL2NvbmYvbWFjaGluZS9xZW11eDg2LmNvbmYgL21lZGlhL3JlYmVjY2Fz
L3lvY3RvL3Bva3kvbWV0YS1wb2t5L2NvbmYvbWFjaGluZS9xZW11eDg2LmNvbmYgL21lZGlhL3Jl
YmVjY2FzL3lvY3RvL2x0dG5nL2NvbmYvbWFjaGluZS9xZW11eDg2LmNvbmYgL21lZGlhL3JlYmVj
Y2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvcWVtdXg4Ni5jb25mIC9tZWRpYS9yZWJl
Y2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2NvbmYvbWFjaGluZS9pbmNsdWRlL3Fl
bXUuaW5jIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEtcG9reS9jb25mL21hY2hpbmUv
aW5jbHVkZS9xZW11LmluYyAvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvY29uZi9tYWNoaW5l
L2luY2x1ZGUvcWVtdS5pbmMgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL21h
Y2hpbmUvaW5jbHVkZS9xZW11LmluYyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2Nv
bmYvbWFjaGluZS9jb25mL21hY2hpbmUvaW5jbHVkZS90dW5lLWk1ODYuaW5jIC9tZWRpYS9yZWJl
Y2Nhcy95b2N0by9wb2t5L21ldGEtcG9reS9jb25mL21hY2hpbmUvaW5jbHVkZS90dW5lLWk1ODYu
aW5jIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy9jb25mL21hY2hpbmUvaW5jbHVkZS90dW5l
LWk1ODYuaW5jIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2lu
Y2x1ZGUvdHVuZS1pNTg2LmluYyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYv
bWFjaGluZS9pbmNsdWRlL2NvbmYvbWFjaGluZS9pbmNsdWRlL3g4Ni9hcmNoLXg4Ni5pbmMgL21l
ZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5L2NvbmYvbWFjaGluZS9pbmNsdWRlL3g4
Ni9hcmNoLXg4Ni5pbmMgL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL2NvbmYvbWFjaGluZS9p
bmNsdWRlL3g4Ni9hcmNoLXg4Ni5pbmMgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9j
b25mL21hY2hpbmUvaW5jbHVkZS94ODYvYXJjaC14ODYuaW5jIC9tZWRpYS9yZWJlY2Nhcy95b2N0
by9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2NvbmYvbWFjaGluZS9pbmNsdWRlL3FlbXVib290LXg4
Ni5pbmMgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5L2NvbmYvbWFjaGluZS9p
bmNsdWRlL3FlbXVib290LXg4Ni5pbmMgL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL2NvbmYv
bWFjaGluZS9pbmNsdWRlL3FlbXVib290LXg4Ni5pbmMgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bv
a3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS9xZW11Ym9vdC14ODYuaW5jIC9tZWRpYS9yZWJl
Y2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9jb25mL21hY2hpbmUtc2RrL3g4Nl82NC5jb25mIC9t
ZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEtcG9reS9jb25mL21hY2hpbmUtc2RrL3g4Nl82
NC5jb25mIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy9jb25mL21hY2hpbmUtc2RrL3g4Nl82
NC5jb25mIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9tYWNoaW5lLXNkay94
ODZfNjQuY29uZiAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvY29uZi90YXJn
ZXQvaTU4Ni1vZS1saW51eC5jb25mIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEtcG9r
eS9jb25mL3RhcmdldC9pNTg2LW9lLWxpbnV4LmNvbmYgL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0
dG5nL2NvbmYvdGFyZ2V0L2k1ODYtb2UtbGludXguY29uZiAvbWVkaWEvcmViZWNjYXMveW9jdG8v
cG9reS9tZXRhL2NvbmYvdGFyZ2V0L2k1ODYtb2UtbGludXguY29uZiAvbWVkaWEvcmViZWNjYXMv
eW9jdG8vcG9reS9tZXRhLXlvY3RvLWJzcC9jb25mL3RhcmdldC9pNTg2LW9lLWxpbnV4LmNvbmYg
L21lZGlhL3JlYmVjY2FzL3lvY3RvL21ldGEtaW50ZWwtY29udHJpYi9jb25mL3RhcmdldC9pNTg2
LW9lLWxpbnV4LmNvbmYgL21lZGlhL3JlYmVjY2FzL3lvY3RvL21ldGEtaW50ZWwtY29udHJpYi9j
b21tb24vY29uZi90YXJnZXQvaTU4Ni1vZS1saW51eC5jb25mIC9tZWRpYS9yZWJlY2Nhcy95b2N0
by9wb2t5L21ldGEvY29uZi9jb25mL2Rpc3Ryby9wb2t5LmNvbmYgL21lZGlhL3JlYmVjY2FzL3lv
Y3RvL3Bva3kvbWV0YS1wb2t5L2NvbmYvZGlzdHJvL3Bva3kuY29uZiAvbWVkaWEvcmViZWNjYXMv
eW9jdG8vcG9reS9tZXRhLXBva3kvY29uZi9kaXN0cm8vY29uZi9kaXN0cm8vaW5jbHVkZS9wb2t5
LXdvcmxkLWV4Y2x1ZGUuaW5jIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEtcG9reS9j
b25mL2Rpc3Ryby9pbmNsdWRlL3Bva3ktd29ybGQtZXhjbHVkZS5pbmMgL21lZGlhL3JlYmVjY2Fz
L3lvY3RvL3Bva3kvbWV0YS1wb2t5L2NvbmYvZGlzdHJvL2NvbmYvZGlzdHJvL2luY2x1ZGUvbm8t
c3RhdGljLWxpYnMuaW5jIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEtcG9reS9jb25m
L2Rpc3Ryby9pbmNsdWRlL25vLXN0YXRpYy1saWJzLmluYyAvbWVkaWEvcmViZWNjYXMveW9jdG8v
bHR0bmcvY29uZi9kaXN0cm8vaW5jbHVkZS9uby1zdGF0aWMtbGlicy5pbmMgL21lZGlhL3JlYmVj
Y2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL25vLXN0YXRpYy1saWJzLmlu
YyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXBva3kvY29uZi9kaXN0cm8vY29uZi9k
aXN0cm8vaW5jbHVkZS95b2N0by11bmluYXRpdmUuaW5jIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9w
b2t5L21ldGEtcG9reS9jb25mL2Rpc3Ryby9pbmNsdWRlL3lvY3RvLXVuaW5hdGl2ZS5pbmMgL21l
ZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL2NvbmYvZGlzdHJvL2luY2x1ZGUveW9jdG8tdW5pbmF0
aXZlLmluYyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1
ZGUveW9jdG8tdW5pbmF0aXZlLmluYyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2Nv
bmYvY29uZi9kaXN0cm8vZGVmYXVsdHNldHVwLmNvbmYgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bv
a3kvbWV0YS1wb2t5L2NvbmYvZGlzdHJvL2RlZmF1bHRzZXR1cC5jb25mIC9tZWRpYS9yZWJlY2Nh
cy95b2N0by9sdHRuZy9jb25mL2Rpc3Ryby9kZWZhdWx0c2V0dXAuY29uZiAvbWVkaWEvcmViZWNj
YXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2RlZmF1bHRzZXR1cC5jb25mIC9tZWRpYS9y
ZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8vY29uZi9kaXN0cm8vaW5jbHVkZS9k
ZWZhdWx0LXByb3ZpZGVycy5pbmMgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5
L2NvbmYvZGlzdHJvL2luY2x1ZGUvZGVmYXVsdC1wcm92aWRlcnMuaW5jIC9tZWRpYS9yZWJlY2Nh
cy95b2N0by9sdHRuZy9jb25mL2Rpc3Ryby9pbmNsdWRlL2RlZmF1bHQtcHJvdmlkZXJzLmluYyAv
bWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvZGVmYXVs
dC1wcm92aWRlcnMuaW5jIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0
cm8vY29uZi9kaXN0cm8vaW5jbHVkZS9kZWZhdWx0LXZlcnNpb25zLmluYyAvbWVkaWEvcmViZWNj
YXMveW9jdG8vcG9reS9tZXRhLXBva3kvY29uZi9kaXN0cm8vaW5jbHVkZS9kZWZhdWx0LXZlcnNp
b25zLmluYyAvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvY29uZi9kaXN0cm8vaW5jbHVkZS9k
ZWZhdWx0LXZlcnNpb25zLmluYyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYv
ZGlzdHJvL2luY2x1ZGUvZGVmYXVsdC12ZXJzaW9ucy5pbmMgL21lZGlhL3JlYmVjY2FzL3lvY3Rv
L3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9jb25mL2Rpc3Ryby9pbmNsdWRlL2RlZmF1bHQtZGlzdHJv
dmFycy5pbmMgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5L2NvbmYvZGlzdHJv
L2luY2x1ZGUvZGVmYXVsdC1kaXN0cm92YXJzLmluYyAvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0
bmcvY29uZi9kaXN0cm8vaW5jbHVkZS9kZWZhdWx0LWRpc3Ryb3ZhcnMuaW5jIC9tZWRpYS9yZWJl
Y2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9kZWZhdWx0LWRpc3Ryb3Zh
cnMuaW5jIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8vY29uZi9k
aXN0cm8vaW5jbHVkZS93b3JsZC1icm9rZW4uaW5jIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5
L21ldGEtcG9reS9jb25mL2Rpc3Ryby9pbmNsdWRlL3dvcmxkLWJyb2tlbi5pbmMgL21lZGlhL3Jl
YmVjY2FzL3lvY3RvL2x0dG5nL2NvbmYvZGlzdHJvL2luY2x1ZGUvd29ybGQtYnJva2VuLmluYyAv
bWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvd29ybGQt
YnJva2VuLmluYyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2Nv
bmYvZGlzdHJvL2luY2x1ZGUvdGNtb2RlLWRlZmF1bHQuaW5jIC9tZWRpYS9yZWJlY2Nhcy95b2N0
by9wb2t5L21ldGEtcG9reS9jb25mL2Rpc3Ryby9pbmNsdWRlL3RjbW9kZS1kZWZhdWx0LmluYyAv
bWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvY29uZi9kaXN0cm8vaW5jbHVkZS90Y21vZGUtZGVm
YXVsdC5pbmMgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNs
dWRlL3RjbW9kZS1kZWZhdWx0LmluYyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2Nv
bmYvZGlzdHJvL2luY2x1ZGUvY29uZi9kaXN0cm8vaW5jbHVkZS9hcy1uZWVkZWQuaW5jIC9tZWRp
YS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEtcG9reS9jb25mL2Rpc3Ryby9pbmNsdWRlL2FzLW5l
ZWRlZC5pbmMgL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL2NvbmYvZGlzdHJvL2luY2x1ZGUv
YXMtbmVlZGVkLmluYyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJv
L2luY2x1ZGUvYXMtbmVlZGVkLmluYyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2Nv
bmYvZGlzdHJvL2NvbmYvZGlzdHJvL2luY2x1ZGUvdGNsaWJjLWdsaWJjLmluYyAvbWVkaWEvcmVi
ZWNjYXMveW9jdG8vcG9reS9tZXRhLXBva3kvY29uZi9kaXN0cm8vaW5jbHVkZS90Y2xpYmMtZ2xp
YmMuaW5jIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy9jb25mL2Rpc3Ryby9pbmNsdWRlL3Rj
bGliYy1nbGliYy5pbmMgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ry
by9pbmNsdWRlL3RjbGliYy1nbGliYy5pbmMgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0
YS9jb25mL2Rpc3Ryby9jb25mL2Rpc3Ryby9pbmNsdWRlL3VuaW5hdGl2ZS1mbGFncy5pbmMgL21l
ZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5L2NvbmYvZGlzdHJvL2luY2x1ZGUvdW5p
bmF0aXZlLWZsYWdzLmluYyAvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvY29uZi9kaXN0cm8v
aW5jbHVkZS91bmluYXRpdmUtZmxhZ3MuaW5jIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21l
dGEvY29uZi9kaXN0cm8vaW5jbHVkZS91bmluYXRpdmUtZmxhZ3MuaW5jIC9tZWRpYS9yZWJlY2Nh
cy95b2N0by9wb2t5L21ldGEvY29uZi9jb25mL2RvY3VtZW50YXRpb24uY29uZiAvbWVkaWEvcmVi
ZWNjYXMveW9jdG8vcG9reS9tZXRhLXBva3kvY29uZi9kb2N1bWVudGF0aW9uLmNvbmYgL21lZGlh
L3JlYmVjY2FzL3lvY3RvL2x0dG5nL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mIC9tZWRpYS9yZWJl
Y2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmYgL21lZGlhL3JlYmVj
Y2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2NvbmYvbGljZW5zZXMuY29uZiAvbWVkaWEvcmViZWNj
YXMveW9jdG8vcG9reS9tZXRhLXBva3kvY29uZi9saWNlbnNlcy5jb25mIC9tZWRpYS9yZWJlY2Nh
cy95b2N0by9sdHRuZy9jb25mL2xpY2Vuc2VzLmNvbmYgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bv
a3kvbWV0YS9jb25mL2xpY2Vuc2VzLmNvbmYgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0
YS9jb25mL2NvbmYvc2FuaXR5LmNvbmYgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1w
b2t5L2NvbmYvc2FuaXR5LmNvbmYgL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL2NvbmYvc2Fu
aXR5LmNvbmYgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL3Nhbml0eS5jb25m
IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEtcG9reS9jbGFzc2VzL2Jhc2UuYmJjbGFz
cyAvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvY2xhc3Nlcy9iYXNlLmJiY2xhc3MgL21lZGlh
L3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL2Jhc2UuYmJjbGFzcyAvbWVkaWEvcmVi
ZWNjYXMveW9jdG8vcG9reS9tZXRhLXBva3kvY2xhc3Nlcy9wYXRjaC5iYmNsYXNzIC9tZWRpYS9y
ZWJlY2Nhcy95b2N0by9sdHRuZy9jbGFzc2VzL3BhdGNoLmJiY2xhc3MgL21lZGlhL3JlYmVjY2Fz
L3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL3BhdGNoLmJiY2xhc3MgL21lZGlhL3JlYmVjY2FzL3lv
Y3RvL3Bva3kvbWV0YS1wb2t5L2NsYXNzZXMvdGVybWluYWwuYmJjbGFzcyAvbWVkaWEvcmViZWNj
YXMveW9jdG8vbHR0bmcvY2xhc3Nlcy90ZXJtaW5hbC5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95
b2N0by9wb2t5L21ldGEvY2xhc3Nlcy90ZXJtaW5hbC5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95
b2N0by9wb2t5L21ldGEtcG9reS9jbGFzc2VzL3N0YWdpbmcuYmJjbGFzcyAvbWVkaWEvcmViZWNj
YXMveW9jdG8vbHR0bmcvY2xhc3Nlcy9zdGFnaW5nLmJiY2xhc3MgL21lZGlhL3JlYmVjY2FzL3lv
Y3RvL3Bva3kvbWV0YS9jbGFzc2VzL3N0YWdpbmcuYmJjbGFzcyAvbWVkaWEvcmViZWNjYXMveW9j
dG8vcG9reS9tZXRhLXBva3kvY2xhc3Nlcy9taXJyb3JzLmJiY2xhc3MgL21lZGlhL3JlYmVjY2Fz
L3lvY3RvL2x0dG5nL2NsYXNzZXMvbWlycm9ycy5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0
by9wb2t5L21ldGEvY2xhc3Nlcy9taXJyb3JzLmJiY2xhc3MgL21lZGlhL3JlYmVjY2FzL3lvY3Rv
L3Bva3kvbWV0YS1wb2t5L2NsYXNzZXMvdXRpbHMuYmJjbGFzcyAvbWVkaWEvcmViZWNjYXMveW9j
dG8vbHR0bmcvY2xhc3Nlcy91dGlscy5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5
L21ldGEvY2xhc3Nlcy91dGlscy5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21l
dGEtcG9reS9jbGFzc2VzL3V0aWxpdHktdGFza3MuYmJjbGFzcyAvbWVkaWEvcmViZWNjYXMveW9j
dG8vbHR0bmcvY2xhc3Nlcy91dGlsaXR5LXRhc2tzLmJiY2xhc3MgL21lZGlhL3JlYmVjY2FzL3lv
Y3RvL3Bva3kvbWV0YS9jbGFzc2VzL3V0aWxpdHktdGFza3MuYmJjbGFzcyAvbWVkaWEvcmViZWNj
YXMveW9jdG8vcG9reS9tZXRhLXBva3kvY2xhc3Nlcy9tZXRhZGF0YV9zY20uYmJjbGFzcyAvbWVk
aWEvcmViZWNjYXMveW9jdG8vbHR0bmcvY2xhc3Nlcy9tZXRhZGF0YV9zY20uYmJjbGFzcyAvbWVk
aWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NsYXNzZXMvbWV0YWRhdGFfc2NtLmJiY2xhc3Mg
L21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5L2NsYXNzZXMvbG9nZ2luZy5iYmNs
YXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy9jbGFzc2VzL2xvZ2dpbmcuYmJjbGFzcyAv
bWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NsYXNzZXMvbG9nZ2luZy5iYmNsYXNzIC9t
ZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEtcG9reS9jbGFzc2VzL3Bva3ktc2FuaXR5LmJi
Y2xhc3MgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5L2NsYXNzZXMvdW5pbmF0
aXZlLmJiY2xhc3MgL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL2NsYXNzZXMvdW5pbmF0aXZl
LmJiY2xhc3MgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL3VuaW5hdGl2
ZS5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEtcG9reS9jbGFzc2VzL3Bh
Y2thZ2VfcnBtLmJiY2xhc3MgL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL2NsYXNzZXMvcGFj
a2FnZV9ycG0uYmJjbGFzcyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NsYXNzZXMv
cGFja2FnZV9ycG0uYmJjbGFzcyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXBva3kv
Y2xhc3Nlcy9wYWNrYWdlLmJiY2xhc3MgL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL2NsYXNz
ZXMvcGFja2FnZS5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY2xhc3Nl
cy9wYWNrYWdlLmJiY2xhc3MgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5L2Ns
YXNzZXMvcGFja2FnZWRhdGEuYmJjbGFzcyAvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvY2xh
c3Nlcy9wYWNrYWdlZGF0YS5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEv
Y2xhc3Nlcy9wYWNrYWdlZGF0YS5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21l
dGEtcG9reS9jbGFzc2VzL2NocnBhdGguYmJjbGFzcyAvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0
bmcvY2xhc3Nlcy9jaHJwYXRoLmJiY2xhc3MgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0
YS9jbGFzc2VzL2NocnBhdGguYmJjbGFzcyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRh
LXBva3kvY2xhc3Nlcy9pbnNhbmUuYmJjbGFzcyAvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcv
Y2xhc3Nlcy9pbnNhbmUuYmJjbGFzcyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2Ns
YXNzZXMvaW5zYW5lLmJiY2xhc3MgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5
L2NsYXNzZXMvYnVpbGRzdGF0cy5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy9j
bGFzc2VzL2J1aWxkc3RhdHMuYmJjbGFzcyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRh
L2NsYXNzZXMvYnVpbGRzdGF0cy5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21l
dGEtcG9reS9jbGFzc2VzL2ltYWdlLW1rbGlicy5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0
by9sdHRuZy9jbGFzc2VzL2ltYWdlLW1rbGlicy5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0
by9wb2t5L21ldGEvY2xhc3Nlcy9pbWFnZS1ta2xpYnMuYmJjbGFzcyAvbWVkaWEvcmViZWNjYXMv
eW9jdG8vcG9reS9tZXRhLXBva3kvY2xhc3Nlcy9saW51eGxvYWRlci5iYmNsYXNzIC9tZWRpYS9y
ZWJlY2Nhcy95b2N0by9sdHRuZy9jbGFzc2VzL2xpbnV4bG9hZGVyLmJiY2xhc3MgL21lZGlhL3Jl
YmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL2xpbnV4bG9hZGVyLmJiY2xhc3MgL21lZGlh
L3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5L2NsYXNzZXMvaW1hZ2UtcHJlbGluay5iYmNs
YXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy9jbGFzc2VzL2ltYWdlLXByZWxpbmsuYmJj
bGFzcyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NsYXNzZXMvaW1hZ2UtcHJlbGlu
ay5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEtcG9reS9jbGFzc2VzL2Rl
Ymlhbi5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy9jbGFzc2VzL2RlYmlhbi5i
YmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY2xhc3Nlcy9kZWJpYW4uYmJj
bGFzcyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXBva3kvY2xhc3Nlcy9kZXZzaGVs
bC5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy9jbGFzc2VzL2RldnNoZWxsLmJi
Y2xhc3MgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL2RldnNoZWxsLmJi
Y2xhc3MgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5L2NsYXNzZXMvc3N0YXRl
LmJiY2xhc3MgL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL2NsYXNzZXMvc3N0YXRlLmJiY2xh
c3MgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL3NzdGF0ZS5iYmNsYXNz
IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEtcG9reS9jbGFzc2VzL2xpY2Vuc2UuYmJj
bGFzcyAvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvY2xhc3Nlcy9saWNlbnNlLmJiY2xhc3Mg
L21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL2xpY2Vuc2UuYmJjbGFzcyAv
bWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXBva3kvY2xhc3Nlcy9yZW1vdmUtbGlidG9v
bC5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy9jbGFzc2VzL3JlbW92ZS1saWJ0
b29sLmJiY2xhc3MgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL3JlbW92
ZS1saWJ0b29sLmJiY2xhc3MgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5L2Ns
YXNzZXMvYmxhY2tsaXN0LmJiY2xhc3MgL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL2NsYXNz
ZXMvYmxhY2tsaXN0LmJiY2xhc3MgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFz
c2VzL2JsYWNrbGlzdC5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEtcG9r
eS9jbGFzc2VzL3Nhbml0eS5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy9jbGFz
c2VzL3Nhbml0eS5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY2xhc3Nl
cy9zYW5pdHkuYmJjbGFzcyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL3JlY2lwZXMt
a2VybmVsL2x0dG5nL2x0dG5nLW1vZHVsZXNfMi45LjEuYmIgL21lZGlhL3JlYmVjY2FzL3lvY3Rv
L3Bva3kvbWV0YS1wb2t5L2NsYXNzZXMvbW9kdWxlLmJiY2xhc3MgL21lZGlhL3JlYmVjY2FzL3lv
Y3RvL2x0dG5nL2NsYXNzZXMvbW9kdWxlLmJiY2xhc3MgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bv
a3kvbWV0YS9jbGFzc2VzL21vZHVsZS5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5
L21ldGEtcG9reS9jbGFzc2VzL21vZHVsZS1iYXNlLmJiY2xhc3MgL21lZGlhL3JlYmVjY2FzL3lv
Y3RvL2x0dG5nL2NsYXNzZXMvbW9kdWxlLWJhc2UuYmJjbGFzcyAvbWVkaWEvcmViZWNjYXMveW9j
dG8vcG9reS9tZXRhL2NsYXNzZXMvbW9kdWxlLWJhc2UuYmJjbGFzcyAvbWVkaWEvcmViZWNjYXMv
eW9jdG8vcG9reS9tZXRhLXBva3kvY2xhc3Nlcy9rZXJuZWwtYXJjaC5iYmNsYXNzIC9tZWRpYS9y
ZWJlY2Nhcy95b2N0by9sdHRuZy9jbGFzc2VzL2tlcm5lbC1hcmNoLmJiY2xhc3MgL21lZGlhL3Jl
YmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL2tlcm5lbC1hcmNoLmJiY2xhc3MgL21lZGlh
L3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5L2NsYXNzZXMva2VybmVsLW1vZHVsZS1zcGxp
dC5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy9jbGFzc2VzL2tlcm5lbC1tb2R1
bGUtc3BsaXQuYmJjbGFzcyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NsYXNzZXMv
a2VybmVsLW1vZHVsZS1zcGxpdC5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21l
dGEtcG9reS9jbGFzc2VzL3BrZ2NvbmZpZy5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9s
dHRuZy9jbGFzc2VzL3BrZ2NvbmZpZy5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5
L21ldGEvY2xhc3Nlcy9wa2djb25maWcuYmJjbGFzcyAvbWVkaWEvcmViZWNjYXMveW9jdG8vbWV0
YS1pbnRlbC1jb250cmliL2NvbW1vbi9yZWNpcGVzLWtlcm5lbC9sdHRuZy9sdHRuZy1tb2R1bGVz
XyUuYmJhcHBlbmQiCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICIvbWVkaWEvcmViZWNjYXMv
eW9jdG8vbHR0bmcvY29uZi9iYmxheWVycy5jb25mIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5
L21ldGEvY29uZi9sYXllci5jb25mIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEtcG9r
eS9jb25mL2xheWVyLmNvbmYgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS15b2N0by1i
c3AvY29uZi9sYXllci5jb25mIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9tZXRhLWludGVsLWNvbnRy
aWIvY29uZi9sYXllci5jb25mIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9tZXRhLWludGVsLWNvbnRy
aWIvY29uZi9pbmNsdWRlL21haW50YWluZXJzLmluYyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9r
eS9tZXRhLXBva3kvY29uZi9iaXRiYWtlLmNvbmYgL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5n
L2NvbmYvYml0YmFrZS5jb25mIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9i
aXRiYWtlLmNvbmYgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2NvbmYvYWJp
X3ZlcnNpb24uY29uZiAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXBva3kvY29uZi9h
YmlfdmVyc2lvbi5jb25mIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy9jb25mL2FiaV92ZXJz
aW9uLmNvbmYgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2FiaV92ZXJzaW9u
LmNvbmYgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2NvbmYvc2l0ZS5jb25m
IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEtcG9reS9jb25mL3NpdGUuY29uZiAvbWVk
aWEvcmViZWNjYXMveW9jdG8vbHR0bmcvY29uZi9zaXRlLmNvbmYgL21lZGlhL3JlYmVjY2FzL3lv
Y3RvL3Bva3kvbWV0YS9jb25mL2NvbmYvYXV0by5jb25mIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9w
b2t5L21ldGEtcG9reS9jb25mL2F1dG8uY29uZiAvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcv
Y29uZi9hdXRvLmNvbmYgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2F1dG8u
Y29uZiAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXlvY3RvLWJzcC9jb25mL2F1dG8u
Y29uZiAvbWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1jb250cmliL2NvbmYvYXV0by5j
b25mIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9tZXRhLWludGVsLWNvbnRyaWIvY29tbW9uL2NvbmYv
YXV0by5jb25mIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9jb25mL2xvY2Fs
LmNvbmYgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5L2NvbmYvbG9jYWwuY29u
ZiAvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvY29uZi9sb2NhbC5jb25mIC9tZWRpYS9yZWJl
Y2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9jb25mL211bHRpY29uZmlnL2RlZmF1bHQuY29uZiAv
bWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXBva3kvY29uZi9tdWx0aWNvbmZpZy9kZWZh
dWx0LmNvbmYgL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL2NvbmYvbXVsdGljb25maWcvZGVm
YXVsdC5jb25mIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9tdWx0aWNvbmZp
Zy9kZWZhdWx0LmNvbmYgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2NvbmYv
YnVpbGQveDg2XzY0LWxpbnV4LmNvbmYgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1w
b2t5L2NvbmYvYnVpbGQveDg2XzY0LWxpbnV4LmNvbmYgL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0
dG5nL2NvbmYvYnVpbGQveDg2XzY0LWxpbnV4LmNvbmYgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bv
a3kvbWV0YS9jb25mL2J1aWxkL3g4Nl82NC1saW51eC5jb25mIC9tZWRpYS9yZWJlY2Nhcy95b2N0
by9wb2t5L21ldGEteW9jdG8tYnNwL2NvbmYvYnVpbGQveDg2XzY0LWxpbnV4LmNvbmYgL21lZGlh
L3JlYmVjY2FzL3lvY3RvL21ldGEtaW50ZWwtY29udHJpYi9jb25mL2J1aWxkL3g4Nl82NC1saW51
eC5jb25mIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9tZXRhLWludGVsLWNvbnRyaWIvY29tbW9uL2Nv
bmYvYnVpbGQveDg2XzY0LWxpbnV4LmNvbmYgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0
YS9jb25mL2NvbmYvbWFjaGluZS9xZW11eDg2LmNvbmYgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bv
a3kvbWV0YS1wb2t5L2NvbmYvbWFjaGluZS9xZW11eDg2LmNvbmYgL21lZGlhL3JlYmVjY2FzL3lv
Y3RvL2x0dG5nL2NvbmYvbWFjaGluZS9xZW11eDg2LmNvbmYgL21lZGlhL3JlYmVjY2FzL3lvY3Rv
L3Bva3kvbWV0YS9jb25mL21hY2hpbmUvcWVtdXg4Ni5jb25mIC9tZWRpYS9yZWJlY2Nhcy95b2N0
by9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2NvbmYvbWFjaGluZS9pbmNsdWRlL3FlbXUuaW5jIC9t
ZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEtcG9reS9jb25mL21hY2hpbmUvaW5jbHVkZS9x
ZW11LmluYyAvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvY29uZi9tYWNoaW5lL2luY2x1ZGUv
cWVtdS5pbmMgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5j
bHVkZS9xZW11LmluYyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvbWFjaGlu
ZS9jb25mL21hY2hpbmUvaW5jbHVkZS90dW5lLWk1ODYuaW5jIC9tZWRpYS9yZWJlY2Nhcy95b2N0
by9wb2t5L21ldGEtcG9reS9jb25mL21hY2hpbmUvaW5jbHVkZS90dW5lLWk1ODYuaW5jIC9tZWRp
YS9yZWJlY2Nhcy95b2N0by9sdHRuZy9jb25mL21hY2hpbmUvaW5jbHVkZS90dW5lLWk1ODYuaW5j
IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvdHVu
ZS1pNTg2LmluYyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvbWFjaGluZS9p
bmNsdWRlL2NvbmYvbWFjaGluZS9pbmNsdWRlL3g4Ni9hcmNoLXg4Ni5pbmMgL21lZGlhL3JlYmVj
Y2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5L2NvbmYvbWFjaGluZS9pbmNsdWRlL3g4Ni9hcmNoLXg4
Ni5pbmMgL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL2NvbmYvbWFjaGluZS9pbmNsdWRlL3g4
Ni9hcmNoLXg4Ni5pbmMgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL21hY2hp
bmUvaW5jbHVkZS94ODYvYXJjaC14ODYuaW5jIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21l
dGEvY29uZi9tYWNoaW5lL2NvbmYvbWFjaGluZS9pbmNsdWRlL3FlbXVib290LXg4Ni5pbmMgL21l
ZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5L2NvbmYvbWFjaGluZS9pbmNsdWRlL3Fl
bXVib290LXg4Ni5pbmMgL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL2NvbmYvbWFjaGluZS9p
bmNsdWRlL3FlbXVib290LXg4Ni5pbmMgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9j
b25mL21hY2hpbmUvaW5jbHVkZS9xZW11Ym9vdC14ODYuaW5jIC9tZWRpYS9yZWJlY2Nhcy95b2N0
by9wb2t5L21ldGEvY29uZi9jb25mL21hY2hpbmUtc2RrL3g4Nl82NC5jb25mIC9tZWRpYS9yZWJl
Y2Nhcy95b2N0by9wb2t5L21ldGEtcG9reS9jb25mL21hY2hpbmUtc2RrL3g4Nl82NC5jb25mIC9t
ZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy9jb25mL21hY2hpbmUtc2RrL3g4Nl82NC5jb25mIC9t
ZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9tYWNoaW5lLXNkay94ODZfNjQuY29u
ZiAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvY29uZi90YXJnZXQvaTU4Ni1v
ZS1saW51eC5jb25mIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEtcG9reS9jb25mL3Rh
cmdldC9pNTg2LW9lLWxpbnV4LmNvbmYgL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL2NvbmYv
dGFyZ2V0L2k1ODYtb2UtbGludXguY29uZiAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRh
L2NvbmYvdGFyZ2V0L2k1ODYtb2UtbGludXguY29uZiAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9r
eS9tZXRhLXlvY3RvLWJzcC9jb25mL3RhcmdldC9pNTg2LW9lLWxpbnV4LmNvbmYgL21lZGlhL3Jl
YmVjY2FzL3lvY3RvL21ldGEtaW50ZWwtY29udHJpYi9jb25mL3RhcmdldC9pNTg2LW9lLWxpbnV4
LmNvbmYgL21lZGlhL3JlYmVjY2FzL3lvY3RvL21ldGEtaW50ZWwtY29udHJpYi9jb21tb24vY29u
Zi90YXJnZXQvaTU4Ni1vZS1saW51eC5jb25mIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21l
dGEvY29uZi9jb25mL2Rpc3Ryby9wb2t5LmNvbmYgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kv
bWV0YS1wb2t5L2NvbmYvZGlzdHJvL3Bva3kuY29uZiAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9r
eS9tZXRhLXBva3kvY29uZi9kaXN0cm8vY29uZi9kaXN0cm8vaW5jbHVkZS9wb2t5LXdvcmxkLWV4
Y2x1ZGUuaW5jIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEtcG9reS9jb25mL2Rpc3Ry
by9pbmNsdWRlL3Bva3ktd29ybGQtZXhjbHVkZS5pbmMgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bv
a3kvbWV0YS1wb2t5L2NvbmYvZGlzdHJvL2NvbmYvZGlzdHJvL2luY2x1ZGUvbm8tc3RhdGljLWxp
YnMuaW5jIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEtcG9reS9jb25mL2Rpc3Ryby9p
bmNsdWRlL25vLXN0YXRpYy1saWJzLmluYyAvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvY29u
Zi9kaXN0cm8vaW5jbHVkZS9uby1zdGF0aWMtbGlicy5pbmMgL21lZGlhL3JlYmVjY2FzL3lvY3Rv
L3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL25vLXN0YXRpYy1saWJzLmluYyAvbWVkaWEv
cmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXBva3kvY29uZi9kaXN0cm8vY29uZi9kaXN0cm8vaW5j
bHVkZS95b2N0by11bmluYXRpdmUuaW5jIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEt
cG9reS9jb25mL2Rpc3Ryby9pbmNsdWRlL3lvY3RvLXVuaW5hdGl2ZS5pbmMgL21lZGlhL3JlYmVj
Y2FzL3lvY3RvL2x0dG5nL2NvbmYvZGlzdHJvL2luY2x1ZGUveW9jdG8tdW5pbmF0aXZlLmluYyAv
bWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUveW9jdG8t
dW5pbmF0aXZlLmluYyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvY29uZi9k
aXN0cm8vZGVmYXVsdHNldHVwLmNvbmYgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1w
b2t5L2NvbmYvZGlzdHJvL2RlZmF1bHRzZXR1cC5jb25mIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9s
dHRuZy9jb25mL2Rpc3Ryby9kZWZhdWx0c2V0dXAuY29uZiAvbWVkaWEvcmViZWNjYXMveW9jdG8v
cG9reS9tZXRhL2NvbmYvZGlzdHJvL2RlZmF1bHRzZXR1cC5jb25mIC9tZWRpYS9yZWJlY2Nhcy95
b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8vY29uZi9kaXN0cm8vaW5jbHVkZS9kZWZhdWx0LXBy
b3ZpZGVycy5pbmMgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5L2NvbmYvZGlz
dHJvL2luY2x1ZGUvZGVmYXVsdC1wcm92aWRlcnMuaW5jIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9s
dHRuZy9jb25mL2Rpc3Ryby9pbmNsdWRlL2RlZmF1bHQtcHJvdmlkZXJzLmluYyAvbWVkaWEvcmVi
ZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvZGVmYXVsdC1wcm92aWRl
cnMuaW5jIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8vY29uZi9k
aXN0cm8vaW5jbHVkZS9kZWZhdWx0LXZlcnNpb25zLmluYyAvbWVkaWEvcmViZWNjYXMveW9jdG8v
cG9reS9tZXRhLXBva3kvY29uZi9kaXN0cm8vaW5jbHVkZS9kZWZhdWx0LXZlcnNpb25zLmluYyAv
bWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvY29uZi9kaXN0cm8vaW5jbHVkZS9kZWZhdWx0LXZl
cnNpb25zLmluYyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2lu
Y2x1ZGUvZGVmYXVsdC12ZXJzaW9ucy5pbmMgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0
YS9jb25mL2Rpc3Ryby9jb25mL2Rpc3Ryby9pbmNsdWRlL2RlZmF1bHQtZGlzdHJvdmFycy5pbmMg
L21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5L2NvbmYvZGlzdHJvL2luY2x1ZGUv
ZGVmYXVsdC1kaXN0cm92YXJzLmluYyAvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvY29uZi9k
aXN0cm8vaW5jbHVkZS9kZWZhdWx0LWRpc3Ryb3ZhcnMuaW5jIC9tZWRpYS9yZWJlY2Nhcy95b2N0
by9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9kZWZhdWx0LWRpc3Ryb3ZhcnMuaW5jIC9t
ZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8vY29uZi9kaXN0cm8vaW5j
bHVkZS93b3JsZC1icm9rZW4uaW5jIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEtcG9r
eS9jb25mL2Rpc3Ryby9pbmNsdWRlL3dvcmxkLWJyb2tlbi5pbmMgL21lZGlhL3JlYmVjY2FzL3lv
Y3RvL2x0dG5nL2NvbmYvZGlzdHJvL2luY2x1ZGUvd29ybGQtYnJva2VuLmluYyAvbWVkaWEvcmVi
ZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvd29ybGQtYnJva2VuLmlu
YyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2NvbmYvZGlzdHJv
L2luY2x1ZGUvdGNtb2RlLWRlZmF1bHQuaW5jIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21l
dGEtcG9reS9jb25mL2Rpc3Ryby9pbmNsdWRlL3RjbW9kZS1kZWZhdWx0LmluYyAvbWVkaWEvcmVi
ZWNjYXMveW9jdG8vbHR0bmcvY29uZi9kaXN0cm8vaW5jbHVkZS90Y21vZGUtZGVmYXVsdC5pbmMg
L21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL3RjbW9k
ZS1kZWZhdWx0LmluYyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJv
L2luY2x1ZGUvY29uZi9kaXN0cm8vaW5jbHVkZS9hcy1uZWVkZWQuaW5jIC9tZWRpYS9yZWJlY2Nh
cy95b2N0by9wb2t5L21ldGEtcG9reS9jb25mL2Rpc3Ryby9pbmNsdWRlL2FzLW5lZWRlZC5pbmMg
L21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL2NvbmYvZGlzdHJvL2luY2x1ZGUvYXMtbmVlZGVk
LmluYyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUv
YXMtbmVlZGVkLmluYyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJv
L2NvbmYvZGlzdHJvL2luY2x1ZGUvdGNsaWJjLWdsaWJjLmluYyAvbWVkaWEvcmViZWNjYXMveW9j
dG8vcG9reS9tZXRhLXBva3kvY29uZi9kaXN0cm8vaW5jbHVkZS90Y2xpYmMtZ2xpYmMuaW5jIC9t
ZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy9jb25mL2Rpc3Ryby9pbmNsdWRlL3RjbGliYy1nbGli
Yy5pbmMgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRl
L3RjbGliYy1nbGliYy5pbmMgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rp
c3Ryby9jb25mL2Rpc3Ryby9pbmNsdWRlL3VuaW5hdGl2ZS1mbGFncy5pbmMgL21lZGlhL3JlYmVj
Y2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5L2NvbmYvZGlzdHJvL2luY2x1ZGUvdW5pbmF0aXZlLWZs
YWdzLmluYyAvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvY29uZi9kaXN0cm8vaW5jbHVkZS91
bmluYXRpdmUtZmxhZ3MuaW5jIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9k
aXN0cm8vaW5jbHVkZS91bmluYXRpdmUtZmxhZ3MuaW5jIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9w
b2t5L21ldGEvY29uZi9jb25mL2RvY3VtZW50YXRpb24uY29uZiAvbWVkaWEvcmViZWNjYXMveW9j
dG8vcG9reS9tZXRhLXBva3kvY29uZi9kb2N1bWVudGF0aW9uLmNvbmYgL21lZGlhL3JlYmVjY2Fz
L3lvY3RvL2x0dG5nL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mIC9tZWRpYS9yZWJlY2Nhcy95b2N0
by9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmYgL21lZGlhL3JlYmVjY2FzL3lvY3Rv
L3Bva3kvbWV0YS9jb25mL2NvbmYvbGljZW5zZXMuY29uZiAvbWVkaWEvcmViZWNjYXMveW9jdG8v
cG9reS9tZXRhLXBva3kvY29uZi9saWNlbnNlcy5jb25mIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9s
dHRuZy9jb25mL2xpY2Vuc2VzLmNvbmYgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9j
b25mL2xpY2Vuc2VzLmNvbmYgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Nv
bmYvc2FuaXR5LmNvbmYgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5L2NvbmYv
c2FuaXR5LmNvbmYgL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL2NvbmYvc2FuaXR5LmNvbmYg
L21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL3Nhbml0eS5jb25mIC9tZWRpYS9y
ZWJlY2Nhcy95b2N0by9wb2t5L21ldGEtcG9reS9jbGFzc2VzL2Jhc2UuYmJjbGFzcyAvbWVkaWEv
cmViZWNjYXMveW9jdG8vbHR0bmcvY2xhc3Nlcy9iYXNlLmJiY2xhc3MgL21lZGlhL3JlYmVjY2Fz
L3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL2Jhc2UuYmJjbGFzcyAvbWVkaWEvcmViZWNjYXMveW9j
dG8vcG9reS9tZXRhLXBva3kvY2xhc3Nlcy9wYXRjaC5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95
b2N0by9sdHRuZy9jbGFzc2VzL3BhdGNoLmJiY2xhc3MgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bv
a3kvbWV0YS9jbGFzc2VzL3BhdGNoLmJiY2xhc3MgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kv
bWV0YS1wb2t5L2NsYXNzZXMvdGVybWluYWwuYmJjbGFzcyAvbWVkaWEvcmViZWNjYXMveW9jdG8v
bHR0bmcvY2xhc3Nlcy90ZXJtaW5hbC5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5
L21ldGEvY2xhc3Nlcy90ZXJtaW5hbC5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5
L21ldGEtcG9reS9jbGFzc2VzL3N0YWdpbmcuYmJjbGFzcyAvbWVkaWEvcmViZWNjYXMveW9jdG8v
bHR0bmcvY2xhc3Nlcy9zdGFnaW5nLmJiY2xhc3MgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kv
bWV0YS9jbGFzc2VzL3N0YWdpbmcuYmJjbGFzcyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9t
ZXRhLXBva3kvY2xhc3Nlcy9taXJyb3JzLmJiY2xhc3MgL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0
dG5nL2NsYXNzZXMvbWlycm9ycy5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21l
dGEvY2xhc3Nlcy9taXJyb3JzLmJiY2xhc3MgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0
YS1wb2t5L2NsYXNzZXMvdXRpbHMuYmJjbGFzcyAvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcv
Y2xhc3Nlcy91dGlscy5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY2xh
c3Nlcy91dGlscy5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEtcG9reS9j
bGFzc2VzL3V0aWxpdHktdGFza3MuYmJjbGFzcyAvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcv
Y2xhc3Nlcy91dGlsaXR5LXRhc2tzLmJiY2xhc3MgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kv
bWV0YS9jbGFzc2VzL3V0aWxpdHktdGFza3MuYmJjbGFzcyAvbWVkaWEvcmViZWNjYXMveW9jdG8v
cG9reS9tZXRhLXBva3kvY2xhc3Nlcy9tZXRhZGF0YV9zY20uYmJjbGFzcyAvbWVkaWEvcmViZWNj
YXMveW9jdG8vbHR0bmcvY2xhc3Nlcy9tZXRhZGF0YV9zY20uYmJjbGFzcyAvbWVkaWEvcmViZWNj
YXMveW9jdG8vcG9reS9tZXRhL2NsYXNzZXMvbWV0YWRhdGFfc2NtLmJiY2xhc3MgL21lZGlhL3Jl
YmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5L2NsYXNzZXMvbG9nZ2luZy5iYmNsYXNzIC9tZWRp
YS9yZWJlY2Nhcy95b2N0by9sdHRuZy9jbGFzc2VzL2xvZ2dpbmcuYmJjbGFzcyAvbWVkaWEvcmVi
ZWNjYXMveW9jdG8vcG9reS9tZXRhL2NsYXNzZXMvbG9nZ2luZy5iYmNsYXNzIC9tZWRpYS9yZWJl
Y2Nhcy95b2N0by9wb2t5L21ldGEtcG9reS9jbGFzc2VzL3Bva3ktc2FuaXR5LmJiY2xhc3MgL21l
ZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5L2NsYXNzZXMvdW5pbmF0aXZlLmJiY2xh
c3MgL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL2NsYXNzZXMvdW5pbmF0aXZlLmJiY2xhc3Mg
L21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL3VuaW5hdGl2ZS5iYmNsYXNz
IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEtcG9reS9jbGFzc2VzL3BhY2thZ2VfcnBt
LmJiY2xhc3MgL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL2NsYXNzZXMvcGFja2FnZV9ycG0u
YmJjbGFzcyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NsYXNzZXMvcGFja2FnZV9y
cG0uYmJjbGFzcyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXBva3kvY2xhc3Nlcy9w
YWNrYWdlLmJiY2xhc3MgL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL2NsYXNzZXMvcGFja2Fn
ZS5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY2xhc3Nlcy9wYWNrYWdl
LmJiY2xhc3MgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5L2NsYXNzZXMvcGFj
a2FnZWRhdGEuYmJjbGFzcyAvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvY2xhc3Nlcy9wYWNr
YWdlZGF0YS5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY2xhc3Nlcy9w
YWNrYWdlZGF0YS5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEtcG9reS9j
bGFzc2VzL2NocnBhdGguYmJjbGFzcyAvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvY2xhc3Nl
cy9jaHJwYXRoLmJiY2xhc3MgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2Vz
L2NocnBhdGguYmJjbGFzcyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXBva3kvY2xh
c3Nlcy9pbnNhbmUuYmJjbGFzcyAvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvY2xhc3Nlcy9p
bnNhbmUuYmJjbGFzcyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NsYXNzZXMvaW5z
YW5lLmJiY2xhc3MgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5L2NsYXNzZXMv
YnVpbGRzdGF0cy5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy9jbGFzc2VzL2J1
aWxkc3RhdHMuYmJjbGFzcyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NsYXNzZXMv
YnVpbGRzdGF0cy5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEtcG9reS9j
bGFzc2VzL2ltYWdlLW1rbGlicy5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy9j
bGFzc2VzL2ltYWdlLW1rbGlicy5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21l
dGEvY2xhc3Nlcy9pbWFnZS1ta2xpYnMuYmJjbGFzcyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9r
eS9tZXRhLXBva3kvY2xhc3Nlcy9saW51eGxvYWRlci5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95
b2N0by9sdHRuZy9jbGFzc2VzL2xpbnV4bG9hZGVyLmJiY2xhc3MgL21lZGlhL3JlYmVjY2FzL3lv
Y3RvL3Bva3kvbWV0YS9jbGFzc2VzL2xpbnV4bG9hZGVyLmJiY2xhc3MgL21lZGlhL3JlYmVjY2Fz
L3lvY3RvL3Bva3kvbWV0YS1wb2t5L2NsYXNzZXMvaW1hZ2UtcHJlbGluay5iYmNsYXNzIC9tZWRp
YS9yZWJlY2Nhcy95b2N0by9sdHRuZy9jbGFzc2VzL2ltYWdlLXByZWxpbmsuYmJjbGFzcyAvbWVk
aWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NsYXNzZXMvaW1hZ2UtcHJlbGluay5iYmNsYXNz
IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEtcG9reS9jbGFzc2VzL2RlYmlhbi5iYmNs
YXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy9jbGFzc2VzL2RlYmlhbi5iYmNsYXNzIC9t
ZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY2xhc3Nlcy9kZWJpYW4uYmJjbGFzcyAvbWVk
aWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXBva3kvY2xhc3Nlcy9kZXZzaGVsbC5iYmNsYXNz
IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy9jbGFzc2VzL2RldnNoZWxsLmJiY2xhc3MgL21l
ZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL2RldnNoZWxsLmJiY2xhc3MgL21l
ZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5L2NsYXNzZXMvc3N0YXRlLmJiY2xhc3Mg
L21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL2NsYXNzZXMvc3N0YXRlLmJiY2xhc3MgL21lZGlh
L3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL3NzdGF0ZS5iYmNsYXNzIC9tZWRpYS9y
ZWJlY2Nhcy95b2N0by9wb2t5L21ldGEtcG9reS9jbGFzc2VzL2xpY2Vuc2UuYmJjbGFzcyAvbWVk
aWEvcmViZWNjYXMveW9jdG8vbHR0bmcvY2xhc3Nlcy9saWNlbnNlLmJiY2xhc3MgL21lZGlhL3Jl
YmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL2xpY2Vuc2UuYmJjbGFzcyAvbWVkaWEvcmVi
ZWNjYXMveW9jdG8vcG9reS9tZXRhLXBva3kvY2xhc3Nlcy9yZW1vdmUtbGlidG9vbC5iYmNsYXNz
IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy9jbGFzc2VzL3JlbW92ZS1saWJ0b29sLmJiY2xh
c3MgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL3JlbW92ZS1saWJ0b29s
LmJiY2xhc3MgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5L2NsYXNzZXMvYmxh
Y2tsaXN0LmJiY2xhc3MgL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL2NsYXNzZXMvYmxhY2ts
aXN0LmJiY2xhc3MgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL2JsYWNr
bGlzdC5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEtcG9reS9jbGFzc2Vz
L3Nhbml0eS5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy9jbGFzc2VzL3Nhbml0
eS5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY2xhc3Nlcy9zYW5pdHku
YmJjbGFzcyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2x0
dG5nL2x0dG5nLW1vZHVsZXNfMi45LjEuYmIgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0
YS1wb2t5L2NsYXNzZXMvbW9kdWxlLmJiY2xhc3MgL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5n
L2NsYXNzZXMvbW9kdWxlLmJiY2xhc3MgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9j
bGFzc2VzL21vZHVsZS5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEtcG9r
eS9jbGFzc2VzL21vZHVsZS1iYXNlLmJiY2xhc3MgL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5n
L2NsYXNzZXMvbW9kdWxlLWJhc2UuYmJjbGFzcyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9t
ZXRhL2NsYXNzZXMvbW9kdWxlLWJhc2UuYmJjbGFzcyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9r
eS9tZXRhLXBva3kvY2xhc3Nlcy9rZXJuZWwtYXJjaC5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95
b2N0by9sdHRuZy9jbGFzc2VzL2tlcm5lbC1hcmNoLmJiY2xhc3MgL21lZGlhL3JlYmVjY2FzL3lv
Y3RvL3Bva3kvbWV0YS9jbGFzc2VzL2tlcm5lbC1hcmNoLmJiY2xhc3MgL21lZGlhL3JlYmVjY2Fz
L3lvY3RvL3Bva3kvbWV0YS1wb2t5L2NsYXNzZXMva2VybmVsLW1vZHVsZS1zcGxpdC5iYmNsYXNz
IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy9jbGFzc2VzL2tlcm5lbC1tb2R1bGUtc3BsaXQu
YmJjbGFzcyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NsYXNzZXMva2VybmVsLW1v
ZHVsZS1zcGxpdC5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEtcG9reS9j
bGFzc2VzL3BrZ2NvbmZpZy5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy9jbGFz
c2VzL3BrZ2NvbmZpZy5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY2xh
c3Nlcy9wa2djb25maWcuYmJjbGFzcyAvbWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1j
b250cmliL2NvbW1vbi9yZWNpcGVzLWtlcm5lbC9sdHRuZy9sdHRuZy1tb2R1bGVzXyUuYmJhcHBl
bmQiCkJCSU5DTFVERUQ9Ii9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy9jb25mL2JibGF5ZXJz
LmNvbmYgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2xheWVyLmNvbmYgL21l
ZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5L2NvbmYvbGF5ZXIuY29uZiAvbWVkaWEv
cmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXlvY3RvLWJzcC9jb25mL2xheWVyLmNvbmYgL21lZGlh
L3JlYmVjY2FzL3lvY3RvL21ldGEtaW50ZWwtY29udHJpYi9jb25mL2xheWVyLmNvbmYgL21lZGlh
L3JlYmVjY2FzL3lvY3RvL21ldGEtaW50ZWwtY29udHJpYi9jb25mL2luY2x1ZGUvbWFpbnRhaW5l
cnMuaW5jIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEtcG9reS9jb25mL2JpdGJha2Uu
Y29uZiAvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvY29uZi9iaXRiYWtlLmNvbmYgL21lZGlh
L3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZiAvbWVkaWEvcmViZWNj
YXMveW9jdG8vcG9reS9tZXRhL2NvbmYvY29uZi9hYmlfdmVyc2lvbi5jb25mIC9tZWRpYS9yZWJl
Y2Nhcy95b2N0by9wb2t5L21ldGEtcG9reS9jb25mL2FiaV92ZXJzaW9uLmNvbmYgL21lZGlhL3Jl
YmVjY2FzL3lvY3RvL2x0dG5nL2NvbmYvYWJpX3ZlcnNpb24uY29uZiAvbWVkaWEvcmViZWNjYXMv
eW9jdG8vcG9reS9tZXRhL2NvbmYvYWJpX3ZlcnNpb24uY29uZiAvbWVkaWEvcmViZWNjYXMveW9j
dG8vcG9reS9tZXRhL2NvbmYvY29uZi9zaXRlLmNvbmYgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bv
a3kvbWV0YS1wb2t5L2NvbmYvc2l0ZS5jb25mIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy9j
b25mL3NpdGUuY29uZiAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvY29uZi9h
dXRvLmNvbmYgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5L2NvbmYvYXV0by5j
b25mIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy9jb25mL2F1dG8uY29uZiAvbWVkaWEvcmVi
ZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYXV0by5jb25mIC9tZWRpYS9yZWJlY2Nhcy95b2N0
by9wb2t5L21ldGEteW9jdG8tYnNwL2NvbmYvYXV0by5jb25mIC9tZWRpYS9yZWJlY2Nhcy95b2N0
by9tZXRhLWludGVsLWNvbnRyaWIvY29uZi9hdXRvLmNvbmYgL21lZGlhL3JlYmVjY2FzL3lvY3Rv
L21ldGEtaW50ZWwtY29udHJpYi9jb21tb24vY29uZi9hdXRvLmNvbmYgL21lZGlhL3JlYmVjY2Fz
L3lvY3RvL3Bva3kvbWV0YS9jb25mL2NvbmYvbG9jYWwuY29uZiAvbWVkaWEvcmViZWNjYXMveW9j
dG8vcG9reS9tZXRhLXBva3kvY29uZi9sb2NhbC5jb25mIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9s
dHRuZy9jb25mL2xvY2FsLmNvbmYgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25m
L2NvbmYvbXVsdGljb25maWcvZGVmYXVsdC5jb25mIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5
L21ldGEtcG9reS9jb25mL211bHRpY29uZmlnL2RlZmF1bHQuY29uZiAvbWVkaWEvcmViZWNjYXMv
eW9jdG8vbHR0bmcvY29uZi9tdWx0aWNvbmZpZy9kZWZhdWx0LmNvbmYgL21lZGlhL3JlYmVjY2Fz
L3lvY3RvL3Bva3kvbWV0YS9jb25mL211bHRpY29uZmlnL2RlZmF1bHQuY29uZiAvbWVkaWEvcmVi
ZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvY29uZi9idWlsZC94ODZfNjQtbGludXguY29uZiAv
bWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXBva3kvY29uZi9idWlsZC94ODZfNjQtbGlu
dXguY29uZiAvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvY29uZi9idWlsZC94ODZfNjQtbGlu
dXguY29uZiAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYnVpbGQveDg2XzY0
LWxpbnV4LmNvbmYgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS15b2N0by1ic3AvY29u
Zi9idWlsZC94ODZfNjQtbGludXguY29uZiAvbWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRl
bC1jb250cmliL2NvbmYvYnVpbGQveDg2XzY0LWxpbnV4LmNvbmYgL21lZGlhL3JlYmVjY2FzL3lv
Y3RvL21ldGEtaW50ZWwtY29udHJpYi9jb21tb24vY29uZi9idWlsZC94ODZfNjQtbGludXguY29u
ZiAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvY29uZi9tYWNoaW5lL3FlbXV4
ODYuY29uZiAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXBva3kvY29uZi9tYWNoaW5l
L3FlbXV4ODYuY29uZiAvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvY29uZi9tYWNoaW5lL3Fl
bXV4ODYuY29uZiAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvbWFjaGluZS9x
ZW11eDg2LmNvbmYgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL21hY2hpbmUv
Y29uZi9tYWNoaW5lL2luY2x1ZGUvcWVtdS5pbmMgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kv
bWV0YS1wb2t5L2NvbmYvbWFjaGluZS9pbmNsdWRlL3FlbXUuaW5jIC9tZWRpYS9yZWJlY2Nhcy95
b2N0by9sdHRuZy9jb25mL21hY2hpbmUvaW5jbHVkZS9xZW11LmluYyAvbWVkaWEvcmViZWNjYXMv
eW9jdG8vcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3FlbXUuaW5jIC9tZWRpYS9yZWJl
Y2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2NvbmYvbWFjaGluZS9pbmNsdWRlL3R1
bmUtaTU4Ni5pbmMgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5L2NvbmYvbWFj
aGluZS9pbmNsdWRlL3R1bmUtaTU4Ni5pbmMgL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL2Nv
bmYvbWFjaGluZS9pbmNsdWRlL3R1bmUtaTU4Ni5pbmMgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bv
a3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS90dW5lLWk1ODYuaW5jIC9tZWRpYS9yZWJlY2Nh
cy95b2N0by9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvY29uZi9tYWNoaW5lL2luY2x1
ZGUveDg2L2FyY2gteDg2LmluYyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXBva3kv
Y29uZi9tYWNoaW5lL2luY2x1ZGUveDg2L2FyY2gteDg2LmluYyAvbWVkaWEvcmViZWNjYXMveW9j
dG8vbHR0bmcvY29uZi9tYWNoaW5lL2luY2x1ZGUveDg2L2FyY2gteDg2LmluYyAvbWVkaWEvcmVi
ZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3g4Ni9hcmNoLXg4Ni5p
bmMgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvY29uZi9tYWNo
aW5lL2luY2x1ZGUvcWVtdWJvb3QteDg2LmluYyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9t
ZXRhLXBva3kvY29uZi9tYWNoaW5lL2luY2x1ZGUvcWVtdWJvb3QteDg2LmluYyAvbWVkaWEvcmVi
ZWNjYXMveW9jdG8vbHR0bmcvY29uZi9tYWNoaW5lL2luY2x1ZGUvcWVtdWJvb3QteDg2LmluYyAv
bWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3FlbXVi
b290LXg4Ni5pbmMgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2NvbmYvbWFj
aGluZS1zZGsveDg2XzY0LmNvbmYgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5
L2NvbmYvbWFjaGluZS1zZGsveDg2XzY0LmNvbmYgL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5n
L2NvbmYvbWFjaGluZS1zZGsveDg2XzY0LmNvbmYgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kv
bWV0YS9jb25mL21hY2hpbmUtc2RrL3g4Nl82NC5jb25mIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9w
b2t5L21ldGEvY29uZi9jb25mL3RhcmdldC9pNTg2LW9lLWxpbnV4LmNvbmYgL21lZGlhL3JlYmVj
Y2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5L2NvbmYvdGFyZ2V0L2k1ODYtb2UtbGludXguY29uZiAv
bWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvY29uZi90YXJnZXQvaTU4Ni1vZS1saW51eC5jb25m
IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi90YXJnZXQvaTU4Ni1vZS1saW51
eC5jb25mIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEteW9jdG8tYnNwL2NvbmYvdGFy
Z2V0L2k1ODYtb2UtbGludXguY29uZiAvbWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1j
b250cmliL2NvbmYvdGFyZ2V0L2k1ODYtb2UtbGludXguY29uZiAvbWVkaWEvcmViZWNjYXMveW9j
dG8vbWV0YS1pbnRlbC1jb250cmliL2NvbW1vbi9jb25mL3RhcmdldC9pNTg2LW9lLWxpbnV4LmNv
bmYgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2NvbmYvZGlzdHJvL3Bva3ku
Y29uZiAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXBva3kvY29uZi9kaXN0cm8vcG9r
eS5jb25mIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEtcG9reS9jb25mL2Rpc3Ryby9j
b25mL2Rpc3Ryby9pbmNsdWRlL3Bva3ktd29ybGQtZXhjbHVkZS5pbmMgL21lZGlhL3JlYmVjY2Fz
L3lvY3RvL3Bva3kvbWV0YS1wb2t5L2NvbmYvZGlzdHJvL2luY2x1ZGUvcG9reS13b3JsZC1leGNs
dWRlLmluYyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXBva3kvY29uZi9kaXN0cm8v
Y29uZi9kaXN0cm8vaW5jbHVkZS9uby1zdGF0aWMtbGlicy5pbmMgL21lZGlhL3JlYmVjY2FzL3lv
Y3RvL3Bva3kvbWV0YS1wb2t5L2NvbmYvZGlzdHJvL2luY2x1ZGUvbm8tc3RhdGljLWxpYnMuaW5j
IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy9jb25mL2Rpc3Ryby9pbmNsdWRlL25vLXN0YXRp
Yy1saWJzLmluYyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2lu
Y2x1ZGUvbm8tc3RhdGljLWxpYnMuaW5jIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEt
cG9reS9jb25mL2Rpc3Ryby9jb25mL2Rpc3Ryby9pbmNsdWRlL3lvY3RvLXVuaW5hdGl2ZS5pbmMg
L21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5L2NvbmYvZGlzdHJvL2luY2x1ZGUv
eW9jdG8tdW5pbmF0aXZlLmluYyAvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvY29uZi9kaXN0
cm8vaW5jbHVkZS95b2N0by11bmluYXRpdmUuaW5jIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5
L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS95b2N0by11bmluYXRpdmUuaW5jIC9tZWRpYS9yZWJl
Y2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9jb25mL2Rpc3Ryby9kZWZhdWx0c2V0dXAuY29uZiAv
bWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXBva3kvY29uZi9kaXN0cm8vZGVmYXVsdHNl
dHVwLmNvbmYgL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL2NvbmYvZGlzdHJvL2RlZmF1bHRz
ZXR1cC5jb25mIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8vZGVm
YXVsdHNldHVwLmNvbmYgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ry
by9jb25mL2Rpc3Ryby9pbmNsdWRlL2RlZmF1bHQtcHJvdmlkZXJzLmluYyAvbWVkaWEvcmViZWNj
YXMveW9jdG8vcG9reS9tZXRhLXBva3kvY29uZi9kaXN0cm8vaW5jbHVkZS9kZWZhdWx0LXByb3Zp
ZGVycy5pbmMgL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL2NvbmYvZGlzdHJvL2luY2x1ZGUv
ZGVmYXVsdC1wcm92aWRlcnMuaW5jIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29u
Zi9kaXN0cm8vaW5jbHVkZS9kZWZhdWx0LXByb3ZpZGVycy5pbmMgL21lZGlhL3JlYmVjY2FzL3lv
Y3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9jb25mL2Rpc3Ryby9pbmNsdWRlL2RlZmF1bHQtdmVy
c2lvbnMuaW5jIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEtcG9reS9jb25mL2Rpc3Ry
by9pbmNsdWRlL2RlZmF1bHQtdmVyc2lvbnMuaW5jIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRu
Zy9jb25mL2Rpc3Ryby9pbmNsdWRlL2RlZmF1bHQtdmVyc2lvbnMuaW5jIC9tZWRpYS9yZWJlY2Nh
cy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9kZWZhdWx0LXZlcnNpb25zLmlu
YyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2NvbmYvZGlzdHJv
L2luY2x1ZGUvZGVmYXVsdC1kaXN0cm92YXJzLmluYyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9r
eS9tZXRhLXBva3kvY29uZi9kaXN0cm8vaW5jbHVkZS9kZWZhdWx0LWRpc3Ryb3ZhcnMuaW5jIC9t
ZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy9jb25mL2Rpc3Ryby9pbmNsdWRlL2RlZmF1bHQtZGlz
dHJvdmFycy5pbmMgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9p
bmNsdWRlL2RlZmF1bHQtZGlzdHJvdmFycy5pbmMgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kv
bWV0YS9jb25mL2Rpc3Ryby9jb25mL2Rpc3Ryby9pbmNsdWRlL3dvcmxkLWJyb2tlbi5pbmMgL21l
ZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5L2NvbmYvZGlzdHJvL2luY2x1ZGUvd29y
bGQtYnJva2VuLmluYyAvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvY29uZi9kaXN0cm8vaW5j
bHVkZS93b3JsZC1icm9rZW4uaW5jIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29u
Zi9kaXN0cm8vaW5jbHVkZS93b3JsZC1icm9rZW4uaW5jIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9w
b2t5L21ldGEvY29uZi9kaXN0cm8vY29uZi9kaXN0cm8vaW5jbHVkZS90Y21vZGUtZGVmYXVsdC5p
bmMgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5L2NvbmYvZGlzdHJvL2luY2x1
ZGUvdGNtb2RlLWRlZmF1bHQuaW5jIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy9jb25mL2Rp
c3Ryby9pbmNsdWRlL3RjbW9kZS1kZWZhdWx0LmluYyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9r
eS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvdGNtb2RlLWRlZmF1bHQuaW5jIC9tZWRpYS9yZWJl
Y2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9jb25mL2Rpc3Ryby9pbmNs
dWRlL2FzLW5lZWRlZC5pbmMgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5L2Nv
bmYvZGlzdHJvL2luY2x1ZGUvYXMtbmVlZGVkLmluYyAvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0
bmcvY29uZi9kaXN0cm8vaW5jbHVkZS9hcy1uZWVkZWQuaW5jIC9tZWRpYS9yZWJlY2Nhcy95b2N0
by9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9hcy1uZWVkZWQuaW5jIC9tZWRpYS9yZWJl
Y2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8vY29uZi9kaXN0cm8vaW5jbHVkZS90Y2xp
YmMtZ2xpYmMuaW5jIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEtcG9reS9jb25mL2Rp
c3Ryby9pbmNsdWRlL3RjbGliYy1nbGliYy5pbmMgL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5n
L2NvbmYvZGlzdHJvL2luY2x1ZGUvdGNsaWJjLWdsaWJjLmluYyAvbWVkaWEvcmViZWNjYXMveW9j
dG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvdGNsaWJjLWdsaWJjLmluYyAvbWVkaWEv
cmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2NvbmYvZGlzdHJvL2luY2x1ZGUv
dW5pbmF0aXZlLWZsYWdzLmluYyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXBva3kv
Y29uZi9kaXN0cm8vaW5jbHVkZS91bmluYXRpdmUtZmxhZ3MuaW5jIC9tZWRpYS9yZWJlY2Nhcy95
b2N0by9sdHRuZy9jb25mL2Rpc3Ryby9pbmNsdWRlL3VuaW5hdGl2ZS1mbGFncy5pbmMgL21lZGlh
L3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL3VuaW5hdGl2ZS1m
bGFncy5pbmMgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2NvbmYvZG9jdW1l
bnRhdGlvbi5jb25mIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEtcG9reS9jb25mL2Rv
Y3VtZW50YXRpb24uY29uZiAvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvY29uZi9kb2N1bWVu
dGF0aW9uLmNvbmYgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50
YXRpb24uY29uZiAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvY29uZi9saWNl
bnNlcy5jb25mIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEtcG9reS9jb25mL2xpY2Vu
c2VzLmNvbmYgL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL2NvbmYvbGljZW5zZXMuY29uZiAv
bWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvbGljZW5zZXMuY29uZiAvbWVkaWEv
cmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvY29uZi9zYW5pdHkuY29uZiAvbWVkaWEvcmVi
ZWNjYXMveW9jdG8vcG9reS9tZXRhLXBva3kvY29uZi9zYW5pdHkuY29uZiAvbWVkaWEvcmViZWNj
YXMveW9jdG8vbHR0bmcvY29uZi9zYW5pdHkuY29uZiAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9r
eS9tZXRhL2NvbmYvc2FuaXR5LmNvbmYgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1w
b2t5L2NsYXNzZXMvYmFzZS5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy9jbGFz
c2VzL2Jhc2UuYmJjbGFzcyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NsYXNzZXMv
YmFzZS5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEtcG9reS9jbGFzc2Vz
L3BhdGNoLmJiY2xhc3MgL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL2NsYXNzZXMvcGF0Y2gu
YmJjbGFzcyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NsYXNzZXMvcGF0Y2guYmJj
bGFzcyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXBva3kvY2xhc3Nlcy90ZXJtaW5h
bC5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy9jbGFzc2VzL3Rlcm1pbmFsLmJi
Y2xhc3MgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL3Rlcm1pbmFsLmJi
Y2xhc3MgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5L2NsYXNzZXMvc3RhZ2lu
Zy5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy9jbGFzc2VzL3N0YWdpbmcuYmJj
bGFzcyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NsYXNzZXMvc3RhZ2luZy5iYmNs
YXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEtcG9reS9jbGFzc2VzL21pcnJvcnMu
YmJjbGFzcyAvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvY2xhc3Nlcy9taXJyb3JzLmJiY2xh
c3MgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL21pcnJvcnMuYmJjbGFz
cyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXBva3kvY2xhc3Nlcy91dGlscy5iYmNs
YXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy9jbGFzc2VzL3V0aWxzLmJiY2xhc3MgL21l
ZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL3V0aWxzLmJiY2xhc3MgL21lZGlh
L3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5L2NsYXNzZXMvdXRpbGl0eS10YXNrcy5iYmNs
YXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy9jbGFzc2VzL3V0aWxpdHktdGFza3MuYmJj
bGFzcyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NsYXNzZXMvdXRpbGl0eS10YXNr
cy5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEtcG9reS9jbGFzc2VzL21l
dGFkYXRhX3NjbS5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy9jbGFzc2VzL21l
dGFkYXRhX3NjbS5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY2xhc3Nl
cy9tZXRhZGF0YV9zY20uYmJjbGFzcyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXBv
a3kvY2xhc3Nlcy9sb2dnaW5nLmJiY2xhc3MgL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL2Ns
YXNzZXMvbG9nZ2luZy5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY2xh
c3Nlcy9sb2dnaW5nLmJiY2xhc3MgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5
L2NsYXNzZXMvcG9reS1zYW5pdHkuYmJjbGFzcyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9t
ZXRhLXBva3kvY2xhc3Nlcy91bmluYXRpdmUuYmJjbGFzcyAvbWVkaWEvcmViZWNjYXMveW9jdG8v
bHR0bmcvY2xhc3Nlcy91bmluYXRpdmUuYmJjbGFzcyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9r
eS9tZXRhL2NsYXNzZXMvdW5pbmF0aXZlLmJiY2xhc3MgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bv
a3kvbWV0YS1wb2t5L2NsYXNzZXMvcGFja2FnZV9ycG0uYmJjbGFzcyAvbWVkaWEvcmViZWNjYXMv
eW9jdG8vbHR0bmcvY2xhc3Nlcy9wYWNrYWdlX3JwbS5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95
b2N0by9wb2t5L21ldGEvY2xhc3Nlcy9wYWNrYWdlX3JwbS5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nh
cy95b2N0by9wb2t5L21ldGEtcG9reS9jbGFzc2VzL3BhY2thZ2UuYmJjbGFzcyAvbWVkaWEvcmVi
ZWNjYXMveW9jdG8vbHR0bmcvY2xhc3Nlcy9wYWNrYWdlLmJiY2xhc3MgL21lZGlhL3JlYmVjY2Fz
L3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL3BhY2thZ2UuYmJjbGFzcyAvbWVkaWEvcmViZWNjYXMv
eW9jdG8vcG9reS9tZXRhLXBva3kvY2xhc3Nlcy9wYWNrYWdlZGF0YS5iYmNsYXNzIC9tZWRpYS9y
ZWJlY2Nhcy95b2N0by9sdHRuZy9jbGFzc2VzL3BhY2thZ2VkYXRhLmJiY2xhc3MgL21lZGlhL3Jl
YmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL3BhY2thZ2VkYXRhLmJiY2xhc3MgL21lZGlh
L3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5L2NsYXNzZXMvY2hycGF0aC5iYmNsYXNzIC9t
ZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy9jbGFzc2VzL2NocnBhdGguYmJjbGFzcyAvbWVkaWEv
cmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NsYXNzZXMvY2hycGF0aC5iYmNsYXNzIC9tZWRpYS9y
ZWJlY2Nhcy95b2N0by9wb2t5L21ldGEtcG9reS9jbGFzc2VzL2luc2FuZS5iYmNsYXNzIC9tZWRp
YS9yZWJlY2Nhcy95b2N0by9sdHRuZy9jbGFzc2VzL2luc2FuZS5iYmNsYXNzIC9tZWRpYS9yZWJl
Y2Nhcy95b2N0by9wb2t5L21ldGEvY2xhc3Nlcy9pbnNhbmUuYmJjbGFzcyAvbWVkaWEvcmViZWNj
YXMveW9jdG8vcG9reS9tZXRhLXBva3kvY2xhc3Nlcy9idWlsZHN0YXRzLmJiY2xhc3MgL21lZGlh
L3JlYmVjY2FzL3lvY3RvL2x0dG5nL2NsYXNzZXMvYnVpbGRzdGF0cy5iYmNsYXNzIC9tZWRpYS9y
ZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY2xhc3Nlcy9idWlsZHN0YXRzLmJiY2xhc3MgL21lZGlh
L3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5L2NsYXNzZXMvaW1hZ2UtbWtsaWJzLmJiY2xh
c3MgL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL2NsYXNzZXMvaW1hZ2UtbWtsaWJzLmJiY2xh
c3MgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL2ltYWdlLW1rbGlicy5i
YmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEtcG9reS9jbGFzc2VzL2xpbnV4
bG9hZGVyLmJiY2xhc3MgL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL2NsYXNzZXMvbGludXhs
b2FkZXIuYmJjbGFzcyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NsYXNzZXMvbGlu
dXhsb2FkZXIuYmJjbGFzcyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXBva3kvY2xh
c3Nlcy9pbWFnZS1wcmVsaW5rLmJiY2xhc3MgL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL2Ns
YXNzZXMvaW1hZ2UtcHJlbGluay5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21l
dGEvY2xhc3Nlcy9pbWFnZS1wcmVsaW5rLmJiY2xhc3MgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bv
a3kvbWV0YS1wb2t5L2NsYXNzZXMvZGViaWFuLmJiY2xhc3MgL21lZGlhL3JlYmVjY2FzL3lvY3Rv
L2x0dG5nL2NsYXNzZXMvZGViaWFuLmJiY2xhc3MgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kv
bWV0YS9jbGFzc2VzL2RlYmlhbi5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21l
dGEtcG9reS9jbGFzc2VzL2RldnNoZWxsLmJiY2xhc3MgL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0
dG5nL2NsYXNzZXMvZGV2c2hlbGwuYmJjbGFzcyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9t
ZXRhL2NsYXNzZXMvZGV2c2hlbGwuYmJjbGFzcyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9t
ZXRhLXBva3kvY2xhc3Nlcy9zc3RhdGUuYmJjbGFzcyAvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0
bmcvY2xhc3Nlcy9zc3RhdGUuYmJjbGFzcyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRh
L2NsYXNzZXMvc3N0YXRlLmJiY2xhc3MgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1w
b2t5L2NsYXNzZXMvbGljZW5zZS5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy9j
bGFzc2VzL2xpY2Vuc2UuYmJjbGFzcyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2Ns
YXNzZXMvbGljZW5zZS5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEtcG9r
eS9jbGFzc2VzL3JlbW92ZS1saWJ0b29sLmJiY2xhc3MgL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0
dG5nL2NsYXNzZXMvcmVtb3ZlLWxpYnRvb2wuYmJjbGFzcyAvbWVkaWEvcmViZWNjYXMveW9jdG8v
cG9reS9tZXRhL2NsYXNzZXMvcmVtb3ZlLWxpYnRvb2wuYmJjbGFzcyAvbWVkaWEvcmViZWNjYXMv
eW9jdG8vcG9reS9tZXRhLXBva3kvY2xhc3Nlcy9ibGFja2xpc3QuYmJjbGFzcyAvbWVkaWEvcmVi
ZWNjYXMveW9jdG8vbHR0bmcvY2xhc3Nlcy9ibGFja2xpc3QuYmJjbGFzcyAvbWVkaWEvcmViZWNj
YXMveW9jdG8vcG9reS9tZXRhL2NsYXNzZXMvYmxhY2tsaXN0LmJiY2xhc3MgL21lZGlhL3JlYmVj
Y2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5L2NsYXNzZXMvc2FuaXR5LmJiY2xhc3MgL21lZGlhL3Jl
YmVjY2FzL3lvY3RvL2x0dG5nL2NsYXNzZXMvc2FuaXR5LmJiY2xhc3MgL21lZGlhL3JlYmVjY2Fz
L3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL3Nhbml0eS5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95
b2N0by9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbHR0bmcvbHR0bmctbW9kdWxlc18yLjkuMS5i
YiAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXBva3kvY2xhc3Nlcy9tb2R1bGUuYmJj
bGFzcyAvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvY2xhc3Nlcy9tb2R1bGUuYmJjbGFzcyAv
bWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NsYXNzZXMvbW9kdWxlLmJiY2xhc3MgL21l
ZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5L2NsYXNzZXMvbW9kdWxlLWJhc2UuYmJj
bGFzcyAvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvY2xhc3Nlcy9tb2R1bGUtYmFzZS5iYmNs
YXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY2xhc3Nlcy9tb2R1bGUtYmFzZS5i
YmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEtcG9reS9jbGFzc2VzL2tlcm5l
bC1hcmNoLmJiY2xhc3MgL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL2NsYXNzZXMva2VybmVs
LWFyY2guYmJjbGFzcyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NsYXNzZXMva2Vy
bmVsLWFyY2guYmJjbGFzcyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXBva3kvY2xh
c3Nlcy9rZXJuZWwtbW9kdWxlLXNwbGl0LmJiY2xhc3MgL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0
dG5nL2NsYXNzZXMva2VybmVsLW1vZHVsZS1zcGxpdC5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95
b2N0by9wb2t5L21ldGEvY2xhc3Nlcy9rZXJuZWwtbW9kdWxlLXNwbGl0LmJiY2xhc3MgL21lZGlh
L3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5L2NsYXNzZXMvcGtnY29uZmlnLmJiY2xhc3Mg
L21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL2NsYXNzZXMvcGtnY29uZmlnLmJiY2xhc3MgL21l
ZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL3BrZ2NvbmZpZy5iYmNsYXNzIC9t
ZWRpYS9yZWJlY2Nhcy95b2N0by9tZXRhLWludGVsLWNvbnRyaWIvY29tbW9uL3JlY2lwZXMta2Vy
bmVsL2x0dG5nL2x0dG5nLW1vZHVsZXNfJS5iYmFwcGVuZCIKIwojICRCQklOQ0xVREVMT0dTIFsy
IG9wZXJhdGlvbnNdCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25m
L2Rpc3Ryby9pbmNsdWRlL2RlZmF1bHQtZGlzdHJvdmFycy5pbmM6NDAKIyAgICAgW19kZWZhdWx0
dmFsXSAieWVzIgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9k
b2N1bWVudGF0aW9uLmNvbmY6OTAKIyAgICAgW2RvY10gIlZhcmlhYmxlIHRoYXQgY29udHJvbHMg
aG93IEJpdEJha2UgZGlzcGxheXMgbG9ncyBvbiBidWlsZCBmYWlsdXJlLiIKIyBwcmUtZXhwYW5z
aW9uIHZhbHVlOgojICAgInllcyIKQkJJTkNMVURFTE9HUz0ieWVzIgojCiMgJEJCSU5DTFVERUxP
R1NfTElORVMKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZG9j
dW1lbnRhdGlvbi5jb25mOjkxCiMgICAgIFtkb2NdICJBbW91bnQgb2YgbG9nIGxpbmVzIHByaW50
ZWQgb24gZmFpbHVyZS4iCiMKIyAkQkJMQVlFUlMgWzIgb3BlcmF0aW9uc10KIyAgIHNldD8gL21l
ZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL2NvbmYvYmJsYXllcnMuY29uZjoxMwojICAgICAiIC9t
ZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kv
bWV0YS1wb2t5IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEteW9jdG8tYnNwIC9tZWRp
YS9yZWJlY2Nhcy95b2N0by9tZXRhLWludGVsLWNvbnRyaWIgIgojICAgc2V0IC9tZWRpYS9yZWJl
Y2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6OTIKIyAgICAgW2Rv
Y10gIkxpc3RzIHRoZSBsYXllcnMgdG8gZW5hYmxlIGR1cmluZyB0aGUgYnVpbGQuIFRoaXMgdmFy
aWFibGUgaXMgZGVmaW5lZCBpbiB0aGUgYmJsYXllcnMuY29uZiBjb25maWd1cmF0aW9uIGZpbGUu
IgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5
L21ldGEgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5IC9tZWRpYS9yZWJlY2Nh
cy95b2N0by9wb2t5L21ldGEteW9jdG8tYnNwIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9tZXRhLWlu
dGVsLWNvbnRyaWIgIgpCQkxBWUVSUz0iIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEg
L21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5IC9tZWRpYS9yZWJlY2Nhcy95b2N0
by9wb2t5L21ldGEteW9jdG8tYnNwIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9tZXRhLWludGVsLWNv
bnRyaWIgIgojCiMgJEJCTEFZRVJTX0NPTkZfVVBEQVRFX0ZVTkNTIFsyIG9wZXJhdGlvbnNdCiMg
ICBhcHBlbmQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5L2NsYXNzZXMvcG9r
eS1zYW5pdHkuYmJjbGFzczo0NgojICAgICAiY29uZi9iYmxheWVycy5jb25mOlBPS1lfQkJMQVlF
UlNfQ09ORl9WRVJTSU9OOlJFUVVJUkVEX1BPS1lfQkJMQVlFUlNfQ09ORl9WRVJTSU9OOnBva3lf
dXBkYXRlX2JibGF5ZXJzY29uZiIKIyAgIGFwcGVuZCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9r
eS9tZXRhL2NsYXNzZXMvc2FuaXR5LmJiY2xhc3M6MzUKIyAgICAgIiAgICAgY29uZi9iYmxheWVy
cy5jb25mOkxDT05GX1ZFUlNJT046TEFZRVJfQ09ORl9WRVJTSU9OOm9lY29yZV91cGRhdGVfYmJs
YXllcnMgICAgIGNvbmYvbG9jYWwuY29uZjpDT05GX1ZFUlNJT046TE9DQUxDT05GX1ZFUlNJT046
b2Vjb3JlX3VwZGF0ZV9sb2NhbGNvbmYgICAgIGNvbmYvc2l0ZS5jb25mOlNDT05GX1ZFUlNJT046
U0lURV9DT05GX1ZFUlNJT046b2Vjb3JlX3VwZGF0ZV9zaXRlY29uZiAiCiMgcHJlLWV4cGFuc2lv
biB2YWx1ZToKIyAgICIgY29uZi9iYmxheWVycy5jb25mOlBPS1lfQkJMQVlFUlNfQ09ORl9WRVJT
SU9OOlJFUVVJUkVEX1BPS1lfQkJMQVlFUlNfQ09ORl9WRVJTSU9OOnBva3lfdXBkYXRlX2JibGF5
ZXJzY29uZiAgICAgIGNvbmYvYmJsYXllcnMuY29uZjpMQ09ORl9WRVJTSU9OOkxBWUVSX0NPTkZf
VkVSU0lPTjpvZWNvcmVfdXBkYXRlX2JibGF5ZXJzICAgICBjb25mL2xvY2FsLmNvbmY6Q09ORl9W
RVJTSU9OOkxPQ0FMQ09ORl9WRVJTSU9OOm9lY29yZV91cGRhdGVfbG9jYWxjb25mICAgICBjb25m
L3NpdGUuY29uZjpTQ09ORl9WRVJTSU9OOlNJVEVfQ09ORl9WRVJTSU9OOm9lY29yZV91cGRhdGVf
c2l0ZWNvbmYgIgpCQkxBWUVSU19DT05GX1VQREFURV9GVU5DUz0iIGNvbmYvYmJsYXllcnMuY29u
ZjpQT0tZX0JCTEFZRVJTX0NPTkZfVkVSU0lPTjpSRVFVSVJFRF9QT0tZX0JCTEFZRVJTX0NPTkZf
VkVSU0lPTjpwb2t5X3VwZGF0ZV9iYmxheWVyc2NvbmYgICAgICBjb25mL2JibGF5ZXJzLmNvbmY6
TENPTkZfVkVSU0lPTjpMQVlFUl9DT05GX1ZFUlNJT046b2Vjb3JlX3VwZGF0ZV9iYmxheWVycyAg
ICAgY29uZi9sb2NhbC5jb25mOkNPTkZfVkVSU0lPTjpMT0NBTENPTkZfVkVSU0lPTjpvZWNvcmVf
dXBkYXRlX2xvY2FsY29uZiAgICAgY29uZi9zaXRlLmNvbmY6U0NPTkZfVkVSU0lPTjpTSVRFX0NP
TkZfVkVSU0lPTjpvZWNvcmVfdXBkYXRlX3NpdGVjb25mICIKIwojICRCQkxBWUVSU19GRVRDSF9E
SVIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5j
b25mOjYwMAojICAgICBbX2RlZmF1bHR2YWxdICIke0NPUkVCQVNFfSIKQkJMQVlFUlNfRkVUQ0hf
RElSPSIvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reSIKIwojICRCQkxBWUVSU19MQVlFUklOREVY
X05BTUVfY29yZQojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9s
YXllci5jb25mOjE0CiMgICAgICJvcGVuZW1iZWRkZWQtY29yZSIKQkJMQVlFUlNfTEFZRVJJTkRF
WF9OQU1FX2NvcmU9Im9wZW5lbWJlZGRlZC1jb3JlIgojCiMgJEJCTEFZRVJTX0xBWUVSSU5ERVhf
VVJMCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2Uu
Y29uZjo1OTkKIyAgICAgW19kZWZhdWx0dmFsXSAiaHR0cDovL2xheWVycy5vcGVuZW1iZWRkZWQu
b3JnL2xheWVyaW5kZXgvIgpCQkxBWUVSU19MQVlFUklOREVYX1VSTD0iaHR0cDovL2xheWVycy5v
cGVuZW1iZWRkZWQub3JnL2xheWVyaW5kZXgvIgojCiMgJEJCTUFTSwojICAgc2V0IC9tZWRpYS9y
ZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6OTMKIyAgICAg
W2RvY10gIlByZXZlbnRzIEJpdEJha2UgZnJvbSBwcm9jZXNzaW5nIHNwZWNpZmljIHJlY2lwZXMg
b3IgcmVjaXBlIGFwcGVuZCBmaWxlcy4iCiMKIyAkQkJQQVRIIFsxMCBvcGVyYXRpb25zXQojICAg
c2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy9jb25mL2JibGF5ZXJzLmNvbmY6NQojICAg
ICAiJHtUT1BESVJ9IgojICAgcG9zdGRvdCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRh
L2NvbmYvbGF5ZXIuY29uZjoyCiMgICAgICI6JHtMQVlFUkRJUn0iCiMgICBzZXQgZGF0YV9zbWFy
dC5weTo5MzggW2V4cGFuZFZhcnJlZl0KIyAgICAgIiR7VE9QRElSfTovbWVkaWEvcmViZWNjYXMv
eW9jdG8vcG9reS9tZXRhIgojICAgcHJlZG90IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21l
dGEtcG9reS9jb25mL2xheWVyLmNvbmY6MgojICAgICAiJHtMQVlFUkRJUn06IgojICAgc2V0IGRh
dGFfc21hcnQucHk6OTM4IFtleHBhbmRWYXJyZWZdCiMgICAgICIvbWVkaWEvcmViZWNjYXMveW9j
dG8vcG9reS9tZXRhLXBva3k6JHtUT1BESVJ9Oi9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21l
dGEiCiMgICBwb3N0ZG90IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEteW9jdG8tYnNw
L2NvbmYvbGF5ZXIuY29uZjoyCiMgICAgICI6JHtMQVlFUkRJUn0iCiMgICBzZXQgZGF0YV9zbWFy
dC5weTo5MzggW2V4cGFuZFZhcnJlZl0KIyAgICAgIi9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5
L21ldGEtcG9reToke1RPUERJUn06L21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YTovbWVk
aWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXlvY3RvLWJzcCIKIyAgIHBvc3Rkb3QgL21lZGlh
L3JlYmVjY2FzL3lvY3RvL21ldGEtaW50ZWwtY29udHJpYi9jb25mL2xheWVyLmNvbmY6MgojICAg
ICAiOiR7TEFZRVJESVJ9OiR7TEFZRVJESVJ9L2NvbW1vbiIKIyAgIHNldCBkYXRhX3NtYXJ0LnB5
OjkzOCBbZXhwYW5kVmFycmVmXQojICAgICAiL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0
YS1wb2t5OiR7VE9QRElSfTovbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhOi9tZWRpYS9y
ZWJlY2Nhcy95b2N0by9wb2t5L21ldGEteW9jdG8tYnNwOi9tZWRpYS9yZWJlY2Nhcy95b2N0by9t
ZXRhLWludGVsLWNvbnRyaWI6L21lZGlhL3JlYmVjY2FzL3lvY3RvL21ldGEtaW50ZWwtY29udHJp
Yi9jb21tb24iCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rv
Y3VtZW50YXRpb24uY29uZjo5NAojICAgICBbZG9jXSAiVXNlZCBieSBCaXRCYWtlIHRvIGxvY2F0
ZSAuYmJjbGFzcyBhbmQgY29uZmlndXJhdGlvbiBmaWxlcy4gVGhpcyB2YXJpYWJsZSBpcyBhbmFs
b2dvdXMgdG8gdGhlIFBBVEggdmFyaWFibGUuIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAi
L21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5OiR7VE9QRElSfTovbWVkaWEvcmVi
ZWNjYXMveW9jdG8vcG9reS9tZXRhOi9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEteW9j
dG8tYnNwOi9tZWRpYS9yZWJlY2Nhcy95b2N0by9tZXRhLWludGVsLWNvbnRyaWI6L21lZGlhL3Jl
YmVjY2FzL3lvY3RvL21ldGEtaW50ZWwtY29udHJpYi9jb21tb24iCkJCUEFUSD0iL21lZGlhL3Jl
YmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5Oi9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZzov
bWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhOi9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5
L21ldGEteW9jdG8tYnNwOi9tZWRpYS9yZWJlY2Nhcy95b2N0by9tZXRhLWludGVsLWNvbnRyaWI6
L21lZGlhL3JlYmVjY2FzL3lvY3RvL21ldGEtaW50ZWwtY29udHJpYi9jb21tb24iCiMKIyAkQkJT
RVJWRVIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZG9jdW1l
bnRhdGlvbi5jb25mOjk1CiMgICAgIFtkb2NdICJQb2ludHMgdG8gdGhlIHNlcnZlciB0aGF0IHJ1
bnMgbWVtb3J5LXJlc2lkZW50IEJpdEJha2UuIgojCiMgJEJCX0JBU0VIQVNIX3Rhc2stZG9fYnVp
bGQKIyAgIHNldCBzaWdnZW4ucHk6MTcxIFtmaW5hbGlzZV0KIyAgICAgIjgxMmQxNTg3ZDQ5Y2Vm
ZDMyMTU2YjlkOGJjNGI3YzQ2IgpCQl9CQVNFSEFTSF90YXNrLWRvX2J1aWxkPSI4MTJkMTU4N2Q0
OWNlZmQzMjE1NmI5ZDhiYzRiN2M0NiIKIwojICRCQl9CQVNFSEFTSF90YXNrLWRvX2NoZWNrdXJp
CiMgICBzZXQgc2lnZ2VuLnB5OjE3MSBbZmluYWxpc2VdCiMgICAgICJiZTIwMGMwODRmNWIwNDkw
ZDhmYzMzYmQzODgyZGRkZCIKQkJfQkFTRUhBU0hfdGFzay1kb19jaGVja3VyaT0iYmUyMDBjMDg0
ZjViMDQ5MGQ4ZmMzM2JkMzg4MmRkZGQiCiMKIyAkQkJfQkFTRUhBU0hfdGFzay1kb19jaGVja3Vy
aWFsbAojICAgc2V0IHNpZ2dlbi5weToxNzEgW2ZpbmFsaXNlXQojICAgICAiZWI5ZWI2MDVmMGQ2
MzEwNWRlZTk2NjliODhmNDA2N2MiCkJCX0JBU0VIQVNIX3Rhc2stZG9fY2hlY2t1cmlhbGw9ImVi
OWViNjA1ZjBkNjMxMDVkZWU5NjY5Yjg4ZjQwNjdjIgojCiMgJEJCX0JBU0VIQVNIX3Rhc2stZG9f
Y2xlYW4KIyAgIHNldCBzaWdnZW4ucHk6MTcxIFtmaW5hbGlzZV0KIyAgICAgIjRmMTA5MjIxNzBk
OGZlMWE5N2I0NmUzMmVkNzg4ZjI3IgpCQl9CQVNFSEFTSF90YXNrLWRvX2NsZWFuPSI0ZjEwOTIy
MTcwZDhmZTFhOTdiNDZlMzJlZDc4OGYyNyIKIwojICRCQl9CQVNFSEFTSF90YXNrLWRvX2NsZWFu
YWxsCiMgICBzZXQgc2lnZ2VuLnB5OjE3MSBbZmluYWxpc2VdCiMgICAgICIyMTc2MzM4MGQyNmYz
NzI1MjVkOGE5NGNkODM0NWZkNyIKQkJfQkFTRUhBU0hfdGFzay1kb19jbGVhbmFsbD0iMjE3NjMz
ODBkMjZmMzcyNTI1ZDhhOTRjZDgzNDVmZDciCiMKIyAkQkJfQkFTRUhBU0hfdGFzay1kb19jbGVh
bnNzdGF0ZQojICAgc2V0IHNpZ2dlbi5weToxNzEgW2ZpbmFsaXNlXQojICAgICAiMTY4NmJlMTVh
MDdmMWE5YzY5NjVlNmVmNGMwMmU0MzciCkJCX0JBU0VIQVNIX3Rhc2stZG9fY2xlYW5zc3RhdGU9
IjE2ODZiZTE1YTA3ZjFhOWM2OTY1ZTZlZjRjMDJlNDM3IgojCiMgJEJCX0JBU0VIQVNIX3Rhc2st
ZG9fY29tcGlsZQojICAgc2V0IHNpZ2dlbi5weToxNzEgW2ZpbmFsaXNlXQojICAgICAiMTUxM2I5
NzliMDQyYjlhZWRjMTAyZjU1MWIxNzcxNTMiCkJCX0JBU0VIQVNIX3Rhc2stZG9fY29tcGlsZT0i
MTUxM2I5NzliMDQyYjlhZWRjMTAyZjU1MWIxNzcxNTMiCiMKIyAkQkJfQkFTRUhBU0hfdGFzay1k
b19jb25maWd1cmUKIyAgIHNldCBzaWdnZW4ucHk6MTcxIFtmaW5hbGlzZV0KIyAgICAgIjAzYzdk
M2E5ZTllZjlhNzMxOTA1NzY0NWNiN2FkYWU2IgpCQl9CQVNFSEFTSF90YXNrLWRvX2NvbmZpZ3Vy
ZT0iMDNjN2QzYTllOWVmOWE3MzE5MDU3NjQ1Y2I3YWRhZTYiCiMKIyAkQkJfQkFTRUhBU0hfdGFz
ay1kb19kZXZweXNoZWxsCiMgICBzZXQgc2lnZ2VuLnB5OjE3MSBbZmluYWxpc2VdCiMgICAgICIz
OTczZTJhODZkYjYwM2MyZTM1M2FhNGQwZmRhNThiNSIKQkJfQkFTRUhBU0hfdGFzay1kb19kZXZw
eXNoZWxsPSIzOTczZTJhODZkYjYwM2MyZTM1M2FhNGQwZmRhNThiNSIKIwojICRCQl9CQVNFSEFT
SF90YXNrLWRvX2RldnNoZWxsCiMgICBzZXQgc2lnZ2VuLnB5OjE3MSBbZmluYWxpc2VdCiMgICAg
ICI3YWE0NWZhZTFmMDkzMTM3MWZhMjg5NTQ0NjM4MzVlZSIKQkJfQkFTRUhBU0hfdGFzay1kb19k
ZXZzaGVsbD0iN2FhNDVmYWUxZjA5MzEzNzFmYTI4OTU0NDYzODM1ZWUiCiMKIyAkQkJfQkFTRUhB
U0hfdGFzay1kb19mZXRjaAojICAgc2V0IHNpZ2dlbi5weToxNzEgW2ZpbmFsaXNlXQojICAgICAi
ZDkzYzJlNjRhMTJmMjg3MTU4MzRlNWFjYWM3NWVjYWIiCkJCX0JBU0VIQVNIX3Rhc2stZG9fZmV0
Y2g9ImQ5M2MyZTY0YTEyZjI4NzE1ODM0ZTVhY2FjNzVlY2FiIgojCiMgJEJCX0JBU0VIQVNIX3Rh
c2stZG9fZmV0Y2hhbGwKIyAgIHNldCBzaWdnZW4ucHk6MTcxIFtmaW5hbGlzZV0KIyAgICAgIjBh
YjBlN2YxZGY4NjczMjNhNTg3YWMzOGE1YTliYTBhIgpCQl9CQVNFSEFTSF90YXNrLWRvX2ZldGNo
YWxsPSIwYWIwZTdmMWRmODY3MzIzYTU4N2FjMzhhNWE5YmEwYSIKIwojICRCQl9CQVNFSEFTSF90
YXNrLWRvX2luc3RhbGwKIyAgIHNldCBzaWdnZW4ucHk6MTcxIFtmaW5hbGlzZV0KIyAgICAgImVi
MjY1MDFkZmMyMzAyNWU3NjM2OGNhMTkyMjJhYjFjIgpCQl9CQVNFSEFTSF90YXNrLWRvX2luc3Rh
bGw9ImViMjY1MDFkZmMyMzAyNWU3NjM2OGNhMTkyMjJhYjFjIgojCiMgJEJCX0JBU0VIQVNIX3Rh
c2stZG9fbGlzdHRhc2tzCiMgICBzZXQgc2lnZ2VuLnB5OjE3MSBbZmluYWxpc2VdCiMgICAgICI3
YmIxZTk3ZWViYjc5ZWI4NjAwODVjZWNmOTQ3Zjg2NyIKQkJfQkFTRUhBU0hfdGFzay1kb19saXN0
dGFza3M9IjdiYjFlOTdlZWJiNzllYjg2MDA4NWNlY2Y5NDdmODY3IgojCiMgJEJCX0JBU0VIQVNI
X3Rhc2stZG9fbWFrZV9zY3JpcHRzCiMgICBzZXQgc2lnZ2VuLnB5OjE3MSBbZmluYWxpc2VdCiMg
ICAgICI3NTExOTg1NmJhMDgwZWY4MThkZjg2Y2ZhN2U5Yjc5YiIKQkJfQkFTRUhBU0hfdGFzay1k
b19tYWtlX3NjcmlwdHM9Ijc1MTE5ODU2YmEwODBlZjgxOGRmODZjZmE3ZTliNzliIgojCiMgJEJC
X0JBU0VIQVNIX3Rhc2stZG9fcGFja2FnZSBbNiBvcGVyYXRpb25zXQojICAgc2V0IHNpZ2dlbi5w
eToxNzEgW2ZpbmFsaXNlXQojICAgICAiMDZhYjA0ZWQ2ZDBjMGVmYmNhZGU5NDMwODliMzk5NWIi
CiMgICBvdmVycmlkZVtxYV06c2V0IHNpZ2dlbi5weToxNzEgW2ZpbmFsaXNlXQojICAgICAiZGM0
MDdmZWJhZmE5M2NkZDM5NTgwNmYzYjdlMmZhOTkiCiMgICBvdmVycmlkZVtxYV9zZXRzY2VuZV06
c2V0IHNpZ2dlbi5weToxNzEgW2ZpbmFsaXNlXQojICAgICAiM2ZlNWZhYTRmMGVlMzE0ZjNjODZl
M2QxZWUwMjUzNmEiCiMgICBvdmVycmlkZVt3cml0ZV9ycG1fc2V0c2NlbmVdOnNldCBzaWdnZW4u
cHk6MTcxIFtmaW5hbGlzZV0KIyAgICAgIjNmZTVmYWE0ZjBlZTMxNGYzYzg2ZTNkMWVlMDI1MzZh
IgojICAgb3ZlcnJpZGVbc2V0c2NlbmVdOnNldCBzaWdnZW4ucHk6MTcxIFtmaW5hbGlzZV0KIyAg
ICAgIjY0ZTVhYWU4ZDkxNGMyODkxMjQ5Mzg3ZTU1NmE4OGJhIgojICAgb3ZlcnJpZGVbd3JpdGVf
cnBtXTpzZXQgc2lnZ2VuLnB5OjE3MSBbZmluYWxpc2VdCiMgICAgICJiYmEyOGI4MmFmZjVkYmMw
YmYwZjhhNTEyMzhiZWM1MSIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIjA2YWIwNGVkNmQw
YzBlZmJjYWRlOTQzMDg5YjM5OTViIgpCQl9CQVNFSEFTSF90YXNrLWRvX3BhY2thZ2U9IjA2YWIw
NGVkNmQwYzBlZmJjYWRlOTQzMDg5YjM5OTViIgojCiMgJEJCX0JBU0VIQVNIX3Rhc2stZG9fcGFj
a2FnZV9xYSBbMiBvcGVyYXRpb25zXQojICAgc2V0IHNpZ2dlbi5weToxNzEgW2ZpbmFsaXNlXQoj
ICAgICAiZGM0MDdmZWJhZmE5M2NkZDM5NTgwNmYzYjdlMmZhOTkiCiMgICBvdmVycmlkZVtzZXRz
Y2VuZV06c2V0IHNpZ2dlbi5weToxNzEgW2ZpbmFsaXNlXQojICAgICAiM2ZlNWZhYTRmMGVlMzE0
ZjNjODZlM2QxZWUwMjUzNmEiCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICJkYzQwN2ZlYmFm
YTkzY2RkMzk1ODA2ZjNiN2UyZmE5OSIKQkJfQkFTRUhBU0hfdGFzay1kb19wYWNrYWdlX3FhPSJk
YzQwN2ZlYmFmYTkzY2RkMzk1ODA2ZjNiN2UyZmE5OSIKIwojICRCQl9CQVNFSEFTSF90YXNrLWRv
X3BhY2thZ2VfcWFfc2V0c2NlbmUKIyAgIHNldCBzaWdnZW4ucHk6MTcxIFtmaW5hbGlzZV0KIyAg
ICAgIjNmZTVmYWE0ZjBlZTMxNGYzYzg2ZTNkMWVlMDI1MzZhIgpCQl9CQVNFSEFTSF90YXNrLWRv
X3BhY2thZ2VfcWFfc2V0c2NlbmU9IjNmZTVmYWE0ZjBlZTMxNGYzYzg2ZTNkMWVlMDI1MzZhIgoj
CiMgJEJCX0JBU0VIQVNIX3Rhc2stZG9fcGFja2FnZV9zZXRzY2VuZQojICAgc2V0IHNpZ2dlbi5w
eToxNzEgW2ZpbmFsaXNlXQojICAgICAiNjRlNWFhZThkOTE0YzI4OTEyNDkzODdlNTU2YTg4YmEi
CkJCX0JBU0VIQVNIX3Rhc2stZG9fcGFja2FnZV9zZXRzY2VuZT0iNjRlNWFhZThkOTE0YzI4OTEy
NDkzODdlNTU2YTg4YmEiCiMKIyAkQkJfQkFTRUhBU0hfdGFzay1kb19wYWNrYWdlX3dyaXRlX3Jw
bQojICAgc2V0IHNpZ2dlbi5weToxNzEgW2ZpbmFsaXNlXQojICAgICAiYmJhMjhiODJhZmY1ZGJj
MGJmMGY4YTUxMjM4YmVjNTEiCkJCX0JBU0VIQVNIX3Rhc2stZG9fcGFja2FnZV93cml0ZV9ycG09
ImJiYTI4YjgyYWZmNWRiYzBiZjBmOGE1MTIzOGJlYzUxIgojCiMgJEJCX0JBU0VIQVNIX3Rhc2st
ZG9fcGFja2FnZV93cml0ZV9ycG1fc2V0c2NlbmUKIyAgIHNldCBzaWdnZW4ucHk6MTcxIFtmaW5h
bGlzZV0KIyAgICAgIjNmZTVmYWE0ZjBlZTMxNGYzYzg2ZTNkMWVlMDI1MzZhIgpCQl9CQVNFSEFT
SF90YXNrLWRvX3BhY2thZ2Vfd3JpdGVfcnBtX3NldHNjZW5lPSIzZmU1ZmFhNGYwZWUzMTRmM2M4
NmUzZDFlZTAyNTM2YSIKIwojICRCQl9CQVNFSEFTSF90YXNrLWRvX3BhY2thZ2VkYXRhCiMgICBz
ZXQgc2lnZ2VuLnB5OjE3MSBbZmluYWxpc2VdCiMgICAgICIyMWE5M2NjNDA1YjhiMGZjMGE2ZGQz
ODc0ZjRjMDFjMCIKQkJfQkFTRUhBU0hfdGFzay1kb19wYWNrYWdlZGF0YT0iMjFhOTNjYzQwNWI4
YjBmYzBhNmRkMzg3NGY0YzAxYzAiCiMKIyAkQkJfQkFTRUhBU0hfdGFzay1kb19wYWNrYWdlZGF0
YV9zZXRzY2VuZQojICAgc2V0IHNpZ2dlbi5weToxNzEgW2ZpbmFsaXNlXQojICAgICAiM2ZlNWZh
YTRmMGVlMzE0ZjNjODZlM2QxZWUwMjUzNmEiCkJCX0JBU0VIQVNIX3Rhc2stZG9fcGFja2FnZWRh
dGFfc2V0c2NlbmU9IjNmZTVmYWE0ZjBlZTMxNGYzYzg2ZTNkMWVlMDI1MzZhIgojCiMgJEJCX0JB
U0VIQVNIX3Rhc2stZG9fcGF0Y2gKIyAgIHNldCBzaWdnZW4ucHk6MTcxIFtmaW5hbGlzZV0KIyAg
ICAgImNhYzFhNGE3ZjgyZTIwYWQzMmM4ZmZkZDg3MmVlZmExIgpCQl9CQVNFSEFTSF90YXNrLWRv
X3BhdGNoPSJjYWMxYTRhN2Y4MmUyMGFkMzJjOGZmZGQ4NzJlZWZhMSIKIwojICRCQl9CQVNFSEFT
SF90YXNrLWRvX3BvcHVsYXRlX2xpYwojICAgc2V0IHNpZ2dlbi5weToxNzEgW2ZpbmFsaXNlXQoj
ICAgICAiNmRlYjJkM2NiNDAwZDg1ZjMyZjZlYzRlNDBiODc0Y2YiCkJCX0JBU0VIQVNIX3Rhc2st
ZG9fcG9wdWxhdGVfbGljPSI2ZGViMmQzY2I0MDBkODVmMzJmNmVjNGU0MGI4NzRjZiIKIwojICRC
Ql9CQVNFSEFTSF90YXNrLWRvX3BvcHVsYXRlX2xpY19zZXRzY2VuZQojICAgc2V0IHNpZ2dlbi5w
eToxNzEgW2ZpbmFsaXNlXQojICAgICAiM2ZlNWZhYTRmMGVlMzE0ZjNjODZlM2QxZWUwMjUzNmEi
CkJCX0JBU0VIQVNIX3Rhc2stZG9fcG9wdWxhdGVfbGljX3NldHNjZW5lPSIzZmU1ZmFhNGYwZWUz
MTRmM2M4NmUzZDFlZTAyNTM2YSIKIwojICRCQl9CQVNFSEFTSF90YXNrLWRvX3BvcHVsYXRlX3N5
c3Jvb3QKIyAgIHNldCBzaWdnZW4ucHk6MTcxIFtmaW5hbGlzZV0KIyAgICAgIjQyOTJjYjM4ZTU4
ZDAwMTQzYmJmNWM0YzNhMDZkYTk0IgpCQl9CQVNFSEFTSF90YXNrLWRvX3BvcHVsYXRlX3N5c3Jv
b3Q9IjQyOTJjYjM4ZTU4ZDAwMTQzYmJmNWM0YzNhMDZkYTk0IgojCiMgJEJCX0JBU0VIQVNIX3Rh
c2stZG9fcG9wdWxhdGVfc3lzcm9vdF9zZXRzY2VuZQojICAgc2V0IHNpZ2dlbi5weToxNzEgW2Zp
bmFsaXNlXQojICAgICAiM2ZlNWZhYTRmMGVlMzE0ZjNjODZlM2QxZWUwMjUzNmEiCkJCX0JBU0VI
QVNIX3Rhc2stZG9fcG9wdWxhdGVfc3lzcm9vdF9zZXRzY2VuZT0iM2ZlNWZhYTRmMGVlMzE0ZjNj
ODZlM2QxZWUwMjUzNmEiCiMKIyAkQkJfQkFTRUhBU0hfdGFzay1kb19wcmVwYXJlX3JlY2lwZV9z
eXNyb290CiMgICBzZXQgc2lnZ2VuLnB5OjE3MSBbZmluYWxpc2VdCiMgICAgICI1MmQ4MTA1ZDk3
YWQwZDg3YWMzODY3ZGNiZGY5OTk4MiIKQkJfQkFTRUhBU0hfdGFzay1kb19wcmVwYXJlX3JlY2lw
ZV9zeXNyb290PSI1MmQ4MTA1ZDk3YWQwZDg3YWMzODY3ZGNiZGY5OTk4MiIKIwojICRCQl9CQVNF
SEFTSF90YXNrLWRvX3VucGFjawojICAgc2V0IHNpZ2dlbi5weToxNzEgW2ZpbmFsaXNlXQojICAg
ICAiMmI1YjgxNzg3YmE0Yzg5ZmNkNjNkZDZmMjFlNDI4NDQiCkJCX0JBU0VIQVNIX3Rhc2stZG9f
dW5wYWNrPSIyYjViODE3ODdiYTRjODlmY2Q2M2RkNmYyMWU0Mjg0NCIKIwojICRCQl9DTURMSU5F
CiMgICBzZXQgY29va2VyLnB5OjM3MSBbaW5pdENvbmZpZ3VyYXRpb25EYXRhXQojICAgICAiWycv
bWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9iaXRiYWtlL2Jpbi9iaXRiYWtlJywgJy1lJywgJ2x0
dG5nLW1vZHVsZXMnXSIKQkJfQ01ETElORT0iWycvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9i
aXRiYWtlL2Jpbi9iaXRiYWtlJywgJy1lJywgJ2x0dG5nLW1vZHVsZXMnXSIKIwojICRCQl9DT05T
T0xFTE9HIFsyIG9wZXJhdGlvbnNdCiMgICBzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5
L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6ODQzCiMgICAgICIke0xPR19ESVJ9L2Nvb2tlci8ke01B
Q0hJTkV9LyR7REFURVRJTUV9LmxvZyIKIyAgIHNldCBjb29rZXIucHk6MzY5IFtpbml0Q29uZmln
dXJhdGlvbkRhdGFdCiMgICAgICIvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvdG1wL2xvZy9j
b29rZXIvcWVtdXg4Ni8yMDE3MTAyNjA1MjUyMC5sb2ciCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToK
IyAgICIvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvdG1wL2xvZy9jb29rZXIvcWVtdXg4Ni8y
MDE3MTAyNjA1MjUyMC5sb2ciCkJCX0NPTlNPTEVMT0c9Ii9tZWRpYS9yZWJlY2Nhcy95b2N0by9s
dHRuZy90bXAvbG9nL2Nvb2tlci9xZW11eDg2LzIwMTcxMDI2MDUyNTIwLmxvZyIKIwojICRCQl9D
VVJSRU5UX01DCiMgICBzZXQgY29va2VyZGF0YS5weTozMTIgW3BhcnNlQ29uZmlndXJhdGlvbkZp
bGVzXQojICAgICAiZGVmYXVsdCIKQkJfQ1VSUkVOVF9NQz0iZGVmYXVsdCIKIwojICRCQl9EQU5H
TElOR0FQUEVORFNfV0FSTk9OTFkKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9t
ZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjgwCiMgICAgIFtkb2NdICJEZWZpbmVzIGhvdyBC
aXRCYWtlIGhhbmRsZXMgc2l0dWF0aW9ucyB3aGVyZSBhbiBhcHBlbmQgZmlsZSAoLmJiYXBwZW5k
KSBoYXMgbm8gY29ycmVzcG9uZGluZyByZWNpcGUgZmlsZSAoLmJiKS4iCiMKIyAkQkJfREVGQVVM
VF9UQVNLCiMgICBzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY2xhc3Nlcy9i
YXNlLmJiY2xhc3M6MQojICAgICAiYnVpbGQiCkJCX0RFRkFVTFRfVEFTSz0iYnVpbGQiCiMKIyAk
QkJfRElTS01PTl9ESVJTIFsyIG9wZXJhdGlvbnNdCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lv
Y3RvL2x0dG5nL2NvbmYvbG9jYWwuY29uZjoyMDIKIyAgICAgIlNUT1BUQVNLUywke1RNUERJUn0s
MUcsMTAwSyBTVE9QVEFTS1MsJHtETF9ESVJ9LDFHLDEwMEsgU1RPUFRBU0tTLCR7U1NUQVRFX0RJ
Un0sMUcsMTAwSyBTVE9QVEFTS1MsL3RtcCwxMDBNLDEwMEsgQUJPUlQsJHtUTVBESVJ9LDEwME0s
MUsgQUJPUlQsJHtETF9ESVJ9LDEwME0sMUsgQUJPUlQsJHtTU1RBVEVfRElSfSwxMDBNLDFLIEFC
T1JULC90bXAsMTBNLDFLIgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEv
Y29uZi9kb2N1bWVudGF0aW9uLmNvbmY6ODEKIyAgICAgW2RvY10gIk1vbml0b3JzIGRpc2sgc3Bh
Y2UgYW5kIGF2YWlsYWJsZSBpbm9kZXMgZHVyaW5nIHRoZSBidWlsZCBhbmQgYWxsb3dzIHlvdSB0
byBjb250cm9sIHRoZSBidWlsZCBiYXNlZCBvbiB0aGVzZSBwYXJhbWV0ZXJzLiIKIyBwcmUtZXhw
YW5zaW9uIHZhbHVlOgojICAgIlNUT1BUQVNLUywke1RNUERJUn0sMUcsMTAwSyBTVE9QVEFTS1Ms
JHtETF9ESVJ9LDFHLDEwMEsgU1RPUFRBU0tTLCR7U1NUQVRFX0RJUn0sMUcsMTAwSyBTVE9QVEFT
S1MsL3RtcCwxMDBNLDEwMEsgQUJPUlQsJHtUTVBESVJ9LDEwME0sMUsgQUJPUlQsJHtETF9ESVJ9
LDEwME0sMUsgQUJPUlQsJHtTU1RBVEVfRElSfSwxMDBNLDFLIEFCT1JULC90bXAsMTBNLDFLIgpC
Ql9ESVNLTU9OX0RJUlM9IlNUT1BUQVNLUywvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvdG1w
LDFHLDEwMEsgU1RPUFRBU0tTLC9tZWRpYS9yZWJlY2Nhcy9idWlsZC9kb3dubG9hZHMsMUcsMTAw
SyBTVE9QVEFTS1MsL21lZGlhL3JlYmVjY2FzL2J1aWxkL3NzdGF0ZS1jYWNoZSwxRywxMDBLIFNU
T1BUQVNLUywvdG1wLDEwME0sMTAwSyBBQk9SVCwvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcv
dG1wLDEwME0sMUsgQUJPUlQsL21lZGlhL3JlYmVjY2FzL2J1aWxkL2Rvd25sb2FkcywxMDBNLDFL
IEFCT1JULC9tZWRpYS9yZWJlY2Nhcy9idWlsZC9zc3RhdGUtY2FjaGUsMTAwTSwxSyBBQk9SVCwv
dG1wLDEwTSwxSyIKIwojICRCQl9ESVNLTU9OX1dBUk5JTlRFUlZBTAojICAgc2V0IC9tZWRpYS9y
ZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6ODIKIyAgICAg
W2RvY10gIkRlZmluZXMgdGhlIGRpc2sgc3BhY2UgYW5kIGZyZWUgaW5vZGUgd2FybmluZyBpbnRl
cnZhbHMuIFRvIHNldCB0aGVzZSBpbnRlcnZhbHMsIGRlZmluZSB0aGUgdmFyaWFibGUgaW4gdGhl
IGNvbmYvbG9jYWwuY29uZiBmaWxlIGluIHRoZSBCdWlsZCBEaXJlY3RvcnkuIgojCiMgJEJCX0VO
Vl9FWFRSQVdISVRFCiMgICBmcm9tIGVudiBkYXRhLnB5OjEyNCBbaW5oZXJpdEZyb21PU10KIyAg
ICAgIkFMTF9QUk9YWSBCQlBBVEhfRVhUUkEgQkJfTk9fTkVUV09SSyBCQl9OVU1CRVJfVEhSRUFE
UyBCQl9TRVRTQ0VORV9FTkZPUkNFIEJCX1NSQ1JFVl9QT0xJQ1kgRElTVFJPIEZUUFNfUFJPWFkg
RlRQX1BST1hZIEdJVF9QUk9YWV9DT01NQU5EIEhUVFBTX1BST1hZIEhUVFBfUFJPWFkgTUFDSElO
RSBOT19QUk9YWSBQQVJBTExFTF9NQUtFIFNDUkVFTkRJUiBTREtNQUNISU5FIFNPQ0tTNV9QQVNT
V0QgU09DS1M1X1VTRVIgU1NIX0FHRU5UX1BJRCBTU0hfQVVUSF9TT0NLIFNUQU1QU19ESVIgVENM
SUJDIFRDTU9ERSBhbGxfcHJveHkgZnRwX3Byb3h5IGZ0cHNfcHJveHkgaHR0cF9wcm94eSBodHRw
c19wcm94eSBub19wcm94eSAiCkJCX0VOVl9FWFRSQVdISVRFPSJBTExfUFJPWFkgQkJQQVRIX0VY
VFJBIEJCX05PX05FVFdPUksgQkJfTlVNQkVSX1RIUkVBRFMgQkJfU0VUU0NFTkVfRU5GT1JDRSBC
Ql9TUkNSRVZfUE9MSUNZIERJU1RSTyBGVFBTX1BST1hZIEZUUF9QUk9YWSBHSVRfUFJPWFlfQ09N
TUFORCBIVFRQU19QUk9YWSBIVFRQX1BST1hZIE1BQ0hJTkUgTk9fUFJPWFkgUEFSQUxMRUxfTUFL
RSBTQ1JFRU5ESVIgU0RLTUFDSElORSBTT0NLUzVfUEFTU1dEIFNPQ0tTNV9VU0VSIFNTSF9BR0VO
VF9QSUQgU1NIX0FVVEhfU09DSyBTVEFNUFNfRElSIFRDTElCQyBUQ01PREUgYWxsX3Byb3h5IGZ0
cF9wcm94eSBmdHBzX3Byb3h5IGh0dHBfcHJveHkgaHR0cHNfcHJveHkgbm9fcHJveHkgIgojCiMg
JEJCX0dFTkVSQVRFX01JUlJPUl9UQVJCQUxMUyBbMiBvcGVyYXRpb25zXQojICAgc2V0IC9tZWRp
YS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9kZWZhdWx0LWRp
c3Ryb3ZhcnMuaW5jOjM1CiMgICAgIFtfZGVmYXVsdHZhbF0gIjAiCiMgICBzZXQgL21lZGlhL3Jl
YmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjo4MwojICAgICBb
ZG9jXSAiQ2F1c2VzIHRhcmJhbGxzIG9mIHRoZSBHaXQgcmVwb3NpdG9yaWVzIHRvIGJlIHBsYWNl
ZCBpbiB0aGUgRExfRElSIGRpcmVjdG9yeS4iCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICIw
IgpCQl9HRU5FUkFURV9NSVJST1JfVEFSQkFMTFM9IjAiCiMKIyAkQkJfSEFTSEJBU0VfV0hJVEVM
SVNUCiMgICBzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtl
LmNvbmY6ODUzCiMgICAgICJUTVBESVIgRklMRSBQQVRIIFBXRCBCQl9UQVNLSEFTSCBCQlBBVEgg
QkJTRVJWRVIgRExfRElSIFNTVEFURV9ESVIgVEhJU0RJUiBGSUxFU0VYVFJBUEFUSFMgRklMRV9E
SVJOQU1FIEhPTUUgTE9HTkFNRSBTSEVMTCBURVJNIFVTRVIgRklMRVNQQVRIIFNUQUdJTkdfRElS
X0hPU1QgU1RBR0lOR19ESVJfVEFSR0VUIENPUkVCQVNFIFBSU0VSVl9IT1NUIFBSU0VSVl9EVU1Q
RElSIFBSU0VSVl9EVU1QRklMRSBQUlNFUlZfTE9DS0RPV04gUEFSQUxMRUxfTUFLRSBDQ0FDSEVf
RElSIEVYVEVSTkFMX1RPT0xDSEFJTiBDQ0FDSEUgQ0NBQ0hFX0RJU0FCTEUgTElDRU5TRV9QQVRI
IFNES1BLR1NVRkZJWCBXQVJOX1FBIEVSUk9SX1FBIFdPUktESVIgU1RBTVBDTEVBTiBQS0dEQVRB
X0RJUiBCVUlMRF9BUkNIIFNTVEFURV9QS0dBUkNIIEJCX1dPUktFUkNPTlRFWFQgQkJfTElNSVRF
RERFUFMgZXh0ZW5kX3JlY2lwZV9zeXNyb290IERFUExPWV9ESVIiCkJCX0hBU0hCQVNFX1dISVRF
TElTVD0iVE1QRElSIEZJTEUgUEFUSCBQV0QgQkJfVEFTS0hBU0ggQkJQQVRIIEJCU0VSVkVSIERM
X0RJUiBTU1RBVEVfRElSIFRISVNESVIgRklMRVNFWFRSQVBBVEhTIEZJTEVfRElSTkFNRSBIT01F
IExPR05BTUUgU0hFTEwgVEVSTSBVU0VSIEZJTEVTUEFUSCBTVEFHSU5HX0RJUl9IT1NUIFNUQUdJ
TkdfRElSX1RBUkdFVCBDT1JFQkFTRSBQUlNFUlZfSE9TVCBQUlNFUlZfRFVNUERJUiBQUlNFUlZf
RFVNUEZJTEUgUFJTRVJWX0xPQ0tET1dOIFBBUkFMTEVMX01BS0UgQ0NBQ0hFX0RJUiBFWFRFUk5B
TF9UT09MQ0hBSU4gQ0NBQ0hFIENDQUNIRV9ESVNBQkxFIExJQ0VOU0VfUEFUSCBTREtQS0dTVUZG
SVggV0FSTl9RQSBFUlJPUl9RQSBXT1JLRElSIFNUQU1QQ0xFQU4gUEtHREFUQV9ESVIgQlVJTERf
QVJDSCBTU1RBVEVfUEtHQVJDSCBCQl9XT1JLRVJDT05URVhUIEJCX0xJTUlURURERVBTIGV4dGVu
ZF9yZWNpcGVfc3lzcm9vdCBERVBMT1lfRElSIgojCiMgJEJCX0hBU0hDSEVDS19GVU5DVElPTgoj
ICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY2xhc3Nlcy9zc3RhdGUuYmJj
bGFzczo3NjMKIyAgICAgInNzdGF0ZV9jaGVja2hhc2hlcyIKQkJfSEFTSENIRUNLX0ZVTkNUSU9O
PSJzc3RhdGVfY2hlY2toYXNoZXMiCiMKIyAkQkJfSEFTSENPTkZJR19XSElURUxJU1QKIyAgIHNl
dD8gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo4NTkK
IyAgICAgIiR7QkJfSEFTSEJBU0VfV0hJVEVMSVNUfSBEQVRFIFRJTUUgU1NIX0FHRU5UX1BJRCBT
U0hfQVVUSF9TT0NLIFBTRVVET19CVUlMRCBCQl9FTlZfRVhUUkFXSElURSBESVNBQkxFX1NBTklU
WV9DSEVDS1MgUEFSQUxMRUxfTUFLRSBCQl9OVU1CRVJfVEhSRUFEUyBCQl9PUklHRU5WIEJCX0lO
VkFMSURDT05GIEJCSU5DTFVERUQgR0lUX1BST1hZX0NPTU1BTkQgQUxMX1BST1hZIGFsbF9wcm94
eSBOT19QUk9YWSBub19wcm94eSBGVFBfUFJPWFkgZnRwX3Byb3h5IEhUVFBfUFJPWFkgaHR0cF9w
cm94eSBIVFRQU19QUk9YWSBodHRwc19wcm94eSBTT0NLUzVfVVNFUiBTT0NLUzVfUEFTU1dEIEJC
X1NFVFNDRU5FX0VORk9SQ0UiCkJCX0hBU0hDT05GSUdfV0hJVEVMSVNUPSJUTVBESVIgRklMRSBQ
QVRIIFBXRCBCQl9UQVNLSEFTSCBCQlBBVEggQkJTRVJWRVIgRExfRElSIFNTVEFURV9ESVIgVEhJ
U0RJUiBGSUxFU0VYVFJBUEFUSFMgRklMRV9ESVJOQU1FIEhPTUUgTE9HTkFNRSBTSEVMTCBURVJN
IFVTRVIgRklMRVNQQVRIIFNUQUdJTkdfRElSX0hPU1QgU1RBR0lOR19ESVJfVEFSR0VUIENPUkVC
QVNFIFBSU0VSVl9IT1NUIFBSU0VSVl9EVU1QRElSIFBSU0VSVl9EVU1QRklMRSBQUlNFUlZfTE9D
S0RPV04gUEFSQUxMRUxfTUFLRSBDQ0FDSEVfRElSIEVYVEVSTkFMX1RPT0xDSEFJTiBDQ0FDSEUg
Q0NBQ0hFX0RJU0FCTEUgTElDRU5TRV9QQVRIIFNES1BLR1NVRkZJWCBXQVJOX1FBIEVSUk9SX1FB
IFdPUktESVIgU1RBTVBDTEVBTiBQS0dEQVRBX0RJUiBCVUlMRF9BUkNIIFNTVEFURV9QS0dBUkNI
IEJCX1dPUktFUkNPTlRFWFQgQkJfTElNSVRFRERFUFMgZXh0ZW5kX3JlY2lwZV9zeXNyb290IERF
UExPWV9ESVIgREFURSBUSU1FIFNTSF9BR0VOVF9QSUQgU1NIX0FVVEhfU09DSyBQU0VVRE9fQlVJ
TEQgQkJfRU5WX0VYVFJBV0hJVEUgRElTQUJMRV9TQU5JVFlfQ0hFQ0tTIFBBUkFMTEVMX01BS0Ug
QkJfTlVNQkVSX1RIUkVBRFMgQkJfT1JJR0VOViBCQl9JTlZBTElEQ09ORiBCQklOQ0xVREVEIEdJ
VF9QUk9YWV9DT01NQU5EIEFMTF9QUk9YWSBhbGxfcHJveHkgTk9fUFJPWFkgbm9fcHJveHkgRlRQ
X1BST1hZIGZ0cF9wcm94eSBIVFRQX1BST1hZIGh0dHBfcHJveHkgSFRUUFNfUFJPWFkgaHR0cHNf
cHJveHkgU09DS1M1X1VTRVIgU09DS1M1X1BBU1NXRCBCQl9TRVRTQ0VORV9FTkZPUkNFIgojCiMg
JEJCX0hBU0hGSUxFTkFNRQojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEv
Y2xhc3Nlcy9zc3RhdGUuYmJjbGFzczozOAojICAgICAiRmFsc2UgJHtTU1RBVEVfUEtHU1BFQ30g
JHtTU1RBVEVfU1dTUEVDfSIKQkJfSEFTSEZJTEVOQU1FPSJGYWxzZSBzc3RhdGU6bHR0bmctbW9k
dWxlczpxZW11eDg2LXBva3ktbGludXg6Mi45LjE6cjA6cWVtdXg4NjozOiBzc3RhdGU6bHR0bmct
bW9kdWxlczo6Mi45LjE6cjA6OjM6IgojCiMgJEJCX01JTl9WRVJTSU9OCiMgICBzZXQgL21lZGlh
L3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL3Nhbml0eS5jb25mOjYKIyAgICAgIjEuMzMu
NCIKQkJfTUlOX1ZFUlNJT049IjEuMzMuNCIKIwojICRCQl9OVU1CRVJfVEhSRUFEUyBbMiBvcGVy
YXRpb25zXQojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1
bWVudGF0aW9uLmNvbmY6ODQKIyAgICAgW2RvY10gIlRoZSBtYXhpbXVtIG51bWJlciBvZiB0YXNr
cyBCaXRCYWtlIHNob3VsZCBydW4gaW4gcGFyYWxsZWwgYXQgYW55IG9uZSB0aW1lLiBBIGdvb2Qg
cnVsZSBvZiB0aHVtYiBpcyB0byBzZXQgdGhpcyB2YXJpYWJsZSB0byB0d2ljZSB0aGUgbnVtYmVy
IG9mIGNvcmVzLiIKIyAgIHNldD8gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25m
L2JpdGJha2UuY29uZjo3NzIKIyAgICAgIiR7QG9lLnV0aWxzLmNwdV9jb3VudCgpfSIKIyBwcmUt
ZXhwYW5zaW9uIHZhbHVlOgojICAgIiR7QG9lLnV0aWxzLmNwdV9jb3VudCgpfSIKQkJfTlVNQkVS
X1RIUkVBRFM9IjQwIgojCiMgJEJCX09SSUdFTlYKIyAgIHNldCBjb29rZXJkYXRhLnB5OjI1NyBb
X19pbml0X19dCiMgICAgICI8YmIuZGF0YV9zbWFydC5EYXRhU21hcnQgb2JqZWN0IGF0IDB4N2Y0
Y2I5NjIzNGUwPiIKQkJfT1JJR0VOVj0iPGJiLmRhdGFfc21hcnQuRGF0YVNtYXJ0IG9iamVjdCBh
dCAweDdmNGNiMGMwYTcxMD4iCiMKIyAkQkJfU0VUU0NFTkVfREVQVkFMSUQKIyAgIHNldCAvbWVk
aWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NsYXNzZXMvc3N0YXRlLmJiY2xhc3M6ODk1CiMg
ICAgICJzZXRzY2VuZV9kZXB2YWxpZCIKQkJfU0VUU0NFTkVfREVQVkFMSUQ9InNldHNjZW5lX2Rl
cHZhbGlkIgojCiMgJEJCX1NJR05BVFVSRV9FWENMVURFX0ZMQUdTCiMgICBzZXQ/IC9tZWRpYS9y
ZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6ODY1CiMgICAgICJkb2Mg
ZGVwcyBkZXBlbmRzIGxvY2tmaWxlcyB0eXBlIHZhcmRlcHNleGNsdWRlIHZhcmRlcHMgdmFyZGVw
dmFsdWUgdmFyZGVwdmFsdWVleGNsdWRlIGZpbGUtY2hlY2tzdW1zIHB5dGhvbiBmdW5jIHRhc2sg
ZXhwb3J0IHVuZXhwb3J0IG5vZXhlYyBub3N0YW1wIGRpcnMgY2xlYW5kaXJzIHNzdGF0ZS1sb2Nr
ZmlsZS1zaGFyZWQgcHJlZnVuY3MgcG9zdGZ1bmNzIGV4cG9ydF9mdW5jIGRlcHRhc2sgcmRlcHRh
c2sgcmVjcmRlcHRhc2sgbm9kZXBycmVjcyBzdGFtcC1leHRyYS1pbmZvIHNzdGF0ZS1vdXRwdXRk
aXJzIGZpbGVuYW1lIGxpbmVubyBwcm9ncmVzcyIKQkJfU0lHTkFUVVJFX0VYQ0xVREVfRkxBR1M9
ImRvYyBkZXBzIGRlcGVuZHMgbG9ja2ZpbGVzIHR5cGUgdmFyZGVwc2V4Y2x1ZGUgdmFyZGVwcyB2
YXJkZXB2YWx1ZSB2YXJkZXB2YWx1ZWV4Y2x1ZGUgZmlsZS1jaGVja3N1bXMgcHl0aG9uIGZ1bmMg
dGFzayBleHBvcnQgdW5leHBvcnQgbm9leGVjIG5vc3RhbXAgZGlycyBjbGVhbmRpcnMgc3N0YXRl
LWxvY2tmaWxlLXNoYXJlZCBwcmVmdW5jcyBwb3N0ZnVuY3MgZXhwb3J0X2Z1bmMgZGVwdGFzayBy
ZGVwdGFzayByZWNyZGVwdGFzayBub2RlcHJyZWNzIHN0YW1wLWV4dHJhLWluZm8gc3N0YXRlLW91
dHB1dGRpcnMgZmlsZW5hbWUgbGluZW5vIHByb2dyZXNzIgojCiMgJEJCX1NJR05BVFVSRV9IQU5E
TEVSCiMgICBzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtl
LmNvbmY6ODQ2CiMgICAgICJPRUJhc2ljSGFzaCIKQkJfU0lHTkFUVVJFX0hBTkRMRVI9Ik9FQmFz
aWNIYXNoIgojCiMgJEJCX1NUUklDVF9DSEVDS1NVTQojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95
b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9kZWZhdWx0LWRpc3Ryb3ZhcnMuaW5j
OjQ1CiMgICAgICIxIgpCQl9TVFJJQ1RfQ0hFQ0tTVU09IjEiCiMKIyAkQkJfVkVSU0lPTgojICAg
c2V0IGJhc2UuYmJjbGFzczoyMzcgW2Jhc2VfZXZlbnRoYW5kbGVyXQojICAgICAiMS4zNC4wIgpC
Ql9WRVJTSU9OPSIxLjM0LjAiCiMKIyAkQklOQ09ORklHX0dMT0IKIyAgIHNldCAvbWVkaWEvcmVi
ZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjk2CiMgICAgIFtk
b2NdICJXaGVuIGluaGVyaXRpbmcgYmluY29uZmlnLmJiY2xhc3MgZnJvbSBhIHJlY2lwZSwgdGhp
cyB2YXJpYWJsZSBzcGVjaWZpZXMgYSB3aWxkY2FyZCBmb3IgY29uZmlndXJhdGlvbiBzY3JpcHRz
IHRoYXQgbmVlZCBlZGl0aW5nLiIKIwojICRCSU5VVkVSU0lPTgojICAgc2V0PyAvbWVkaWEvcmVi
ZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvdGNtb2RlLWRlZmF1bHQu
aW5jOjI3CiMgICAgICIyLjI4JSIKQklOVVZFUlNJT049IjIuMjglIgojCiMgJEJQIFsyIG9wZXJh
dGlvbnNdCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJh
a2UuY29uZjoyMTcKIyAgICAgIiR7QlBOfS0ke1BWfSIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMv
eW9jdG8vcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjk3CiMgICAgIFtkb2NdICJU
aGUgYmFzZSByZWNpcGUgbmFtZSBhbmQgdmVyc2lvbiBidXQgd2l0aG91dCBhbnkgc3BlY2lhbCBy
ZWNpcGUgbmFtZSBzdWZmaXggKGkuZS4gLW5hdGl2ZSwgbGliNjQtLCBhbmQgc28gZm9ydGgpLiBC
UCBpcyBjb21wcmlzZWQgb2YgJHtCUE59LSR7UFZ9IgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMg
ICAiJHtCUE59LSR7UFZ9IgpCUD0ibHR0bmctbW9kdWxlcy0yLjkuMSIKIwojICRCUE4gWzIgb3Bl
cmF0aW9uc10KIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0
YmFrZS5jb25mOjIxNgojICAgICAiJHtAYmFzZV9wcnVuZV9zdWZmaXgoZC5nZXRWYXIoJ1BOJyks
IGQuZ2V0VmFyKCdTUEVDSUFMX1BLR1NVRkZJWCcpLnNwbGl0KCksIGQpfSIKIyAgIHNldCAvbWVk
aWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjk4CiMg
ICAgIFtkb2NdICJUaGUgYmFyZSBuYW1lIG9mIHRoZSByZWNpcGUuIFRoaXMgdmFyaWFibGUgaXMg
YSB2ZXJzaW9uIG9mIHRoZSBQTiB2YXJpYWJsZSBidXQgcmVtb3ZlcyBjb21tb24gc3VmZml4ZXMg
YW5kIHByZWZpeGVzLiIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIiR7QGJhc2VfcHJ1bmVf
c3VmZml4KGQuZ2V0VmFyKCdQTicpLCBkLmdldFZhcignU1BFQ0lBTF9QS0dTVUZGSVgnKS5zcGxp
dCgpLCBkKX0iCkJQTj0ibHR0bmctbW9kdWxlcyIKIwojICRCVUdUUkFDS0VSCiMgICBzZXQgL21l
ZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjo5OQoj
ICAgICBbZG9jXSAiU3BlY2lmaWVzIGEgVVJMIGZvciBhbiB1cHN0cmVhbSBidWcgdHJhY2tpbmcg
d2Vic2l0ZSBmb3IgYSByZWNpcGUuIgojCiMgJEJVSUxEQ0ZHX0ZVTkNTIFsyIG9wZXJhdGlvbnNd
CiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL2Jhc2UuYmJj
bGFzczoyMDgKIyAgICAgW19kZWZhdWx0dmFsXSAiYnVpbGRjZmdfdmFycyBnZXRfbGF5ZXJzX2Jy
YW5jaF9yZXYgYnVpbGRjZmdfbmVlZGVkdmFycyIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9j
dG8vcG9reS9tZXRhL2NsYXNzZXMvYmFzZS5iYmNsYXNzOjIwOQojICAgICBbdHlwZV0gImxpc3Qi
CiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICJidWlsZGNmZ192YXJzIGdldF9sYXllcnNfYnJh
bmNoX3JldiBidWlsZGNmZ19uZWVkZWR2YXJzIgpCVUlMRENGR19GVU5DUz0iYnVpbGRjZmdfdmFy
cyBnZXRfbGF5ZXJzX2JyYW5jaF9yZXYgYnVpbGRjZmdfbmVlZGVkdmFycyIKIwojICRCVUlMRENG
R19IRUFERVIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0
YmFrZS5jb25mOjY3OQojICAgICAiQnVpbGQgQ29uZmlndXJhdGlvbjoiCkJVSUxEQ0ZHX0hFQURF
Uj0iQnVpbGQgQ29uZmlndXJhdGlvbjoiCiMKIyAkQlVJTERDRkdfTkVFREVEVkFSUyBbMiBvcGVy
YXRpb25zXQojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRi
YWtlLmNvbmY6NjgyCiMgICAgICJUQVJHRVRfQVJDSCBUQVJHRVRfT1MiCiMgICBzZXQgL21lZGlh
L3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo2ODMKIyAgICAgW3R5
cGVdICJsaXN0IgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiVEFSR0VUX0FSQ0ggVEFSR0VU
X09TIgpCVUlMRENGR19ORUVERURWQVJTPSJUQVJHRVRfQVJDSCBUQVJHRVRfT1MiCiMKIyAkQlVJ
TERDRkdfVkFSUyBbMiBvcGVyYXRpb25zXQojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9w
b2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6NjgwCiMgICAgICJCQl9WRVJTSU9OIEJVSUxEX1NZ
UyBOQVRJVkVMU0JTVFJJTkcgVEFSR0VUX1NZUyBNQUNISU5FIERJU1RSTyBESVNUUk9fVkVSU0lP
TiBUVU5FX0ZFQVRVUkVTIFRBUkdFVF9GUFUiCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3Rv
L3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo2ODEKIyAgICAgW3R5cGVdICJsaXN0IgojIHBy
ZS1leHBhbnNpb24gdmFsdWU6CiMgICAiQkJfVkVSU0lPTiBCVUlMRF9TWVMgTkFUSVZFTFNCU1RS
SU5HIFRBUkdFVF9TWVMgTUFDSElORSBESVNUUk8gRElTVFJPX1ZFUlNJT04gVFVORV9GRUFUVVJF
UyBUQVJHRVRfRlBVIgpCVUlMRENGR19WQVJTPSJCQl9WRVJTSU9OIEJVSUxEX1NZUyBOQVRJVkVM
U0JTVFJJTkcgVEFSR0VUX1NZUyBNQUNISU5FIERJU1RSTyBESVNUUk9fVkVSU0lPTiBUVU5FX0ZF
QVRVUkVTIFRBUkdFVF9GUFUiCiMKIyAkQlVJTERESVIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMv
eW9jdG8vcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjEwMgojICAgICBbZG9jXSAi
UG9pbnRzIHRvIHRoZSBsb2NhdGlvbiBvZiB0aGUgQnVpbGQgRGlyZWN0b3J5LiIKIwojICRCVUlM
RFNES19DRkxBR1MKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYv
Yml0YmFrZS5jb25mOjU0NAojICAgICAiJHtCVUlMRFNES19DUFBGTEFHU30gJHtCVUlMRF9PUFRJ
TUlaQVRJT059IgpCVUlMRFNES19DRkxBR1M9IiAtTzIgLXBpcGUiCiMKIyAkQlVJTERTREtfQ1BQ
RkxBR1MKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFr
ZS5jb25mOjUzOQojICAgICAiIgpCVUlMRFNES19DUFBGTEFHUz0iIgojCiMgJEJVSUxEU0RLX0xE
RkxBR1MKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFr
ZS5jb25mOjU2MAojICAgICAiLVdsLC1PMSIKQlVJTERTREtfTERGTEFHUz0iLVdsLC1PMSIKIwoj
ICRCVUlMRFNUQVRTX0JBU0UgWzIgb3BlcmF0aW9uc10KIyAgIHNldCAvbWVkaWEvcmViZWNjYXMv
eW9jdG8vcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjEwMwojICAgICBbZG9jXSAi
UG9pbnRzIHRvIHRoZSBsb2NhdGlvbiBvZiB0aGUgZGlyZWN0b3J5IHRoYXQgaG9sZHMgYnVpbGQg
c3RhdGlzdGljcyB3aGVuIHlvdSB1c2UgYW5kIGVuYWJsZSB0aGUgYnVpbGRzdGF0cyBjbGFzcy4i
CiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL2J1aWxkc3Rh
dHMuYmJjbGFzczoxCiMgICAgICIke1RNUERJUn0vYnVpbGRzdGF0cy8iCiMgcHJlLWV4cGFuc2lv
biB2YWx1ZToKIyAgICIke1RNUERJUn0vYnVpbGRzdGF0cy8iCkJVSUxEU1RBVFNfQkFTRT0iL21l
ZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL3RtcC9idWlsZHN0YXRzLyIKIwojICRCVUlMRF9BUiBb
MiBvcGVyYXRpb25zXQojICAgZXhwb3J0ZWQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0
YS9jb25mL2JpdGJha2UuY29uZjo1MTcKIyAgICAgW2V4cG9ydF0gIjEiCiMgICBzZXQgL21lZGlh
L3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo1MTcKIyAgICAgIiR7
QlVJTERfUFJFRklYfWFyIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiJHtCVUlMRF9QUkVG
SVh9YXIiCmV4cG9ydCBCVUlMRF9BUj0iYXIiCiMKIyAkQlVJTERfQVJDSCBbMiBvcGVyYXRpb25z
XQojICAgaW1tZWRpYXRlIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRi
YWtlLmNvbmY6OTIKIyAgICAgIiR7QG9zLnVuYW1lKClbNF19IgojICAgc2V0IC9tZWRpYS9yZWJl
Y2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6MTAwCiMgICAgIFtk
b2NdICJUaGUgbmFtZSBvZiB0aGUgYnVpbGRpbmcgYXJjaGl0ZWN0dXJlIChlLmcuIGk2ODYpLiIK
IyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIng4Nl82NCIKQlVJTERfQVJDSD0ieDg2XzY0Igoj
CiMgJEJVSUxEX0FTIFsyIG9wZXJhdGlvbnNdCiMgICBleHBvcnRlZCAvbWVkaWEvcmViZWNjYXMv
eW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjUxOAojICAgICBbZXhwb3J0XSAiMSIK
IyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25m
OjUxOAojICAgICAiJHtCVUlMRF9QUkVGSVh9YXMgJHtCVUlMRF9BU19BUkNIfSIKIyBwcmUtZXhw
YW5zaW9uIHZhbHVlOgojICAgIiR7QlVJTERfUFJFRklYfWFzICR7QlVJTERfQVNfQVJDSH0iCmV4
cG9ydCBCVUlMRF9BUz0iYXMgIgojCiMgJEJVSUxEX0FTX0FSQ0gKIyAgIHNldCAvbWVkaWEvcmVi
ZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjk5CiMgICAgICIiCkJVSUxE
X0FTX0FSQ0g9IiIKIwojICRCVUlMRF9DQyBbMiBvcGVyYXRpb25zXQojICAgZXhwb3J0ZWQgL21l
ZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo1MTEKIyAgICAg
W2V4cG9ydF0gIjEiCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25m
L2JpdGJha2UuY29uZjo1MTEKIyAgICAgIiR7Q0NBQ0hFfSR7QlVJTERfUFJFRklYfWdjYyAke0JV
SUxEX0NDX0FSQ0h9IgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiJHtDQ0FDSEV9JHtCVUlM
RF9QUkVGSVh9Z2NjICR7QlVJTERfQ0NfQVJDSH0iCmV4cG9ydCBCVUlMRF9DQz0iZ2NjICIKIwoj
ICRCVUlMRF9DQ0xEIFsyIG9wZXJhdGlvbnNdCiMgICBleHBvcnRlZCAvbWVkaWEvcmViZWNjYXMv
eW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjUxNgojICAgICBbZXhwb3J0XSAiMSIK
IyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25m
OjUxNgojICAgICAiJHtCVUlMRF9QUkVGSVh9Z2NjICR7QlVJTERfQ0NfQVJDSH0iCiMgcHJlLWV4
cGFuc2lvbiB2YWx1ZToKIyAgICIke0JVSUxEX1BSRUZJWH1nY2MgJHtCVUlMRF9DQ19BUkNIfSIK
ZXhwb3J0IEJVSUxEX0NDTEQ9ImdjYyAiCiMKIyAkQlVJTERfQ0NfQVJDSAojICAgc2V0IC9tZWRp
YS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6OTcKIyAgICAgIiIK
QlVJTERfQ0NfQVJDSD0iIgojCiMgJEJVSUxEX0NGTEFHUyBbMyBvcGVyYXRpb25zXQojICAgZXhw
b3J0ZWQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo1
NDMKIyAgICAgW2V4cG9ydF0gIjEiCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kv
bWV0YS9jb25mL2JpdGJha2UuY29uZjo1NDMKIyAgICAgIiR7QlVJTERfQ1BQRkxBR1N9ICR7QlVJ
TERfT1BUSU1JWkFUSU9OfSIKIyAgIF9hcHBlbmRbcG4tYmludXRpbHMtbmF0aXZlXSAvbWVkaWEv
cmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvdW5pbmF0aXZlLWZs
YWdzLmluYzoxNwojICAgICAiIC1waWUgLWZwaWUiCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAg
ICIke0JVSUxEX0NQUEZMQUdTfSAke0JVSUxEX09QVElNSVpBVElPTn0iCmV4cG9ydCBCVUlMRF9D
RkxBR1M9Ii1pc3lzdGVtL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL3RtcC93b3JrL3FlbXV4
ODYtcG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL3JlY2lwZS1zeXNyb290LW5hdGl2
ZS91c3IvaW5jbHVkZSAtTzIgLXBpcGUiCiMKIyAkQlVJTERfQ1BQIFsyIG9wZXJhdGlvbnNdCiMg
ICBleHBvcnRlZCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5j
b25mOjUxNAojICAgICBbZXhwb3J0XSAiMSIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8v
cG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjUxNAojICAgICAiJHtCVUlMRF9QUkVGSVh9Z2Nj
ICR7QlVJTERfQ0NfQVJDSH0gLUUiCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICIke0JVSUxE
X1BSRUZJWH1nY2MgJHtCVUlMRF9DQ19BUkNIfSAtRSIKZXhwb3J0IEJVSUxEX0NQUD0iZ2NjICAt
RSIKIwojICRCVUlMRF9DUFBGTEFHUyBbMiBvcGVyYXRpb25zXQojICAgZXhwb3J0ZWQgL21lZGlh
L3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo1MzgKIyAgICAgW2V4
cG9ydF0gIjEiCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Jp
dGJha2UuY29uZjo1MzgKIyAgICAgIi1pc3lzdGVtJHtTVEFHSU5HX0lOQ0RJUl9OQVRJVkV9Igoj
IHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiLWlzeXN0ZW0ke1NUQUdJTkdfSU5DRElSX05BVElW
RX0iCmV4cG9ydCBCVUlMRF9DUFBGTEFHUz0iLWlzeXN0ZW0vbWVkaWEvcmViZWNjYXMveW9jdG8v
bHR0bmcvdG1wL3dvcmsvcWVtdXg4Ni1wb2t5LWxpbnV4L2x0dG5nLW1vZHVsZXMvMi45LjEtcjAv
cmVjaXBlLXN5c3Jvb3QtbmF0aXZlL3Vzci9pbmNsdWRlIgojCiMgJEJVSUxEX0NYWCBbMiBvcGVy
YXRpb25zXQojICAgZXhwb3J0ZWQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25m
L2JpdGJha2UuY29uZjo1MTIKIyAgICAgW2V4cG9ydF0gIjEiCiMgICBzZXQgL21lZGlhL3JlYmVj
Y2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo1MTIKIyAgICAgIiR7Q0NBQ0hF
fSR7QlVJTERfUFJFRklYfWcrKyAke0JVSUxEX0NDX0FSQ0h9IgojIHByZS1leHBhbnNpb24gdmFs
dWU6CiMgICAiJHtDQ0FDSEV9JHtCVUlMRF9QUkVGSVh9ZysrICR7QlVJTERfQ0NfQVJDSH0iCmV4
cG9ydCBCVUlMRF9DWFg9ImcrKyAiCiMKIyAkQlVJTERfQ1hYRkxBR1MgWzQgb3BlcmF0aW9uc10K
IyAgIGV4cG9ydGVkIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtl
LmNvbmY6NTQ4CiMgICAgIFtleHBvcnRdICIxIgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0
by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6NTQ4CiMgICAgICIke0JVSUxEX0NGTEFHU30i
CiMgICBfYXBwZW5kIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8v
aW5jbHVkZS91bmluYXRpdmUtZmxhZ3MuaW5jOjUKIyAgICAgIiAtRF9HTElCQ1hYX1VTRV9DWFgx
MV9BQkk9MCIKIyAgIF9hcHBlbmRbcG4taWN1LW5hdGl2ZV0gL21lZGlhL3JlYmVjY2FzL3lvY3Rv
L3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL3VuaW5hdGl2ZS1mbGFncy5pbmM6OQojICAg
ICAiIC1zdGQ9YysrOTgiCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICIke0JVSUxEX0NGTEFH
U30gLURfR0xJQkNYWF9VU0VfQ1hYMTFfQUJJPTAiCmV4cG9ydCBCVUlMRF9DWFhGTEFHUz0iLWlz
eXN0ZW0vbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvdG1wL3dvcmsvcWVtdXg4Ni1wb2t5LWxp
bnV4L2x0dG5nLW1vZHVsZXMvMi45LjEtcjAvcmVjaXBlLXN5c3Jvb3QtbmF0aXZlL3Vzci9pbmNs
dWRlIC1PMiAtcGlwZSAtRF9HTElCQ1hYX1VTRV9DWFgxMV9BQkk9MCIKIwojICRCVUlMRF9FWEVF
WFQKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5j
b25mOjEwMAojICAgICAiIgpCVUlMRF9FWEVFWFQ9IiIKIwojICRCVUlMRF9GQyBbMiBvcGVyYXRp
b25zXQojICAgZXhwb3J0ZWQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Jp
dGJha2UuY29uZjo1MTMKIyAgICAgW2V4cG9ydF0gIjEiCiMgICBzZXQgL21lZGlhL3JlYmVjY2Fz
L3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo1MTMKIyAgICAgIiR7Q0NBQ0hFfSR7
QlVJTERfUFJFRklYfWdmb3J0cmFuICR7QlVJTERfQ0NfQVJDSH0iCiMgcHJlLWV4cGFuc2lvbiB2
YWx1ZToKIyAgICIke0NDQUNIRX0ke0JVSUxEX1BSRUZJWH1nZm9ydHJhbiAke0JVSUxEX0NDX0FS
Q0h9IgpleHBvcnQgQlVJTERfRkM9Imdmb3J0cmFuICIKIwojICRCVUlMRF9MRCBbMiBvcGVyYXRp
b25zXQojICAgZXhwb3J0ZWQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Jp
dGJha2UuY29uZjo1MTUKIyAgICAgW2V4cG9ydF0gIjEiCiMgICBzZXQgL21lZGlhL3JlYmVjY2Fz
L3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo1MTUKIyAgICAgIiR7QlVJTERfUFJF
RklYfWxkICR7QlVJTERfTERfQVJDSH0iCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICIke0JV
SUxEX1BSRUZJWH1sZCAke0JVSUxEX0xEX0FSQ0h9IgpleHBvcnQgQlVJTERfTEQ9ImxkICIKIwoj
ICRCVUlMRF9MREZMQUdTIFsyIG9wZXJhdGlvbnNdCiMgICBleHBvcnRlZCAvbWVkaWEvcmViZWNj
YXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjU1OAojICAgICBbZXhwb3J0XSAi
MSIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5j
b25mOjU1OAojICAgICAiLUwke1NUQUdJTkdfTElCRElSX05BVElWRX0gLUwke1NUQUdJTkdfQkFT
RV9MSUJESVJfTkFUSVZFfSAtV2wsLXJwYXRoLWxpbmssJHtTVEFHSU5HX0xJQkRJUl9OQVRJVkV9
IC1XbCwtcnBhdGgtbGluaywke1NUQUdJTkdfQkFTRV9MSUJESVJfTkFUSVZFfSAtV2wsLXJwYXRo
LCR7U1RBR0lOR19MSUJESVJfTkFUSVZFfSAtV2wsLXJwYXRoLCR7U1RBR0lOR19CQVNFX0xJQkRJ
Ul9OQVRJVkV9IC1XbCwtTzEiCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICItTCR7U1RBR0lO
R19MSUJESVJfTkFUSVZFfSAtTCR7U1RBR0lOR19CQVNFX0xJQkRJUl9OQVRJVkV9IC1XbCwtcnBh
dGgtbGluaywke1NUQUdJTkdfTElCRElSX05BVElWRX0gLVdsLC1ycGF0aC1saW5rLCR7U1RBR0lO
R19CQVNFX0xJQkRJUl9OQVRJVkV9IC1XbCwtcnBhdGgsJHtTVEFHSU5HX0xJQkRJUl9OQVRJVkV9
IC1XbCwtcnBhdGgsJHtTVEFHSU5HX0JBU0VfTElCRElSX05BVElWRX0gLVdsLC1PMSIKZXhwb3J0
IEJVSUxEX0xERkxBR1M9Ii1ML21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL3RtcC93b3JrL3Fl
bXV4ODYtcG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL3JlY2lwZS1zeXNyb290LW5h
dGl2ZS91c3IvbGliIC1ML21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL3RtcC93b3JrL3FlbXV4
ODYtcG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL3JlY2lwZS1zeXNyb290LW5hdGl2
ZS9saWIgLVdsLC1ycGF0aC1saW5rLC9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy90bXAvd29y
ay9xZW11eDg2LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9yZWNpcGUtc3lzcm9v
dC1uYXRpdmUvdXNyL2xpYiAtV2wsLXJwYXRoLWxpbmssL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0
dG5nL3RtcC93b3JrL3FlbXV4ODYtcG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL3Jl
Y2lwZS1zeXNyb290LW5hdGl2ZS9saWIgLVdsLC1ycGF0aCwvbWVkaWEvcmViZWNjYXMveW9jdG8v
bHR0bmcvdG1wL3dvcmsvcWVtdXg4Ni1wb2t5LWxpbnV4L2x0dG5nLW1vZHVsZXMvMi45LjEtcjAv
cmVjaXBlLXN5c3Jvb3QtbmF0aXZlL3Vzci9saWIgLVdsLC1ycGF0aCwvbWVkaWEvcmViZWNjYXMv
eW9jdG8vbHR0bmcvdG1wL3dvcmsvcWVtdXg4Ni1wb2t5LWxpbnV4L2x0dG5nLW1vZHVsZXMvMi45
LjEtcjAvcmVjaXBlLXN5c3Jvb3QtbmF0aXZlL2xpYiAtV2wsLU8xIgojCiMgJEJVSUxEX0xEX0FS
Q0gKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5j
b25mOjk4CiMgICAgICIiCkJVSUxEX0xEX0FSQ0g9IiIKIwojICRCVUlMRF9OTSBbMiBvcGVyYXRp
b25zXQojICAgZXhwb3J0ZWQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Jp
dGJha2UuY29uZjo1MjEKIyAgICAgW2V4cG9ydF0gIjEiCiMgICBzZXQgL21lZGlhL3JlYmVjY2Fz
L3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo1MjEKIyAgICAgIiR7QlVJTERfUFJF
RklYfW5tIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiJHtCVUlMRF9QUkVGSVh9bm0iCmV4
cG9ydCBCVUlMRF9OTT0ibm0iCiMKIyAkQlVJTERfT1BUSU1JWkFUSU9OCiMgICBzZXQgL21lZGlh
L3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo1OTQKIyAgICAgIi1P
MiAtcGlwZSIKQlVJTERfT1BUSU1JWkFUSU9OPSItTzIgLXBpcGUiCiMKIyAkQlVJTERfT1MgWzIg
b3BlcmF0aW9uc10KIyAgIGltbWVkaWF0ZSAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRh
L2NvbmYvYml0YmFrZS5jb25mOjkzCiMgICAgICIke0Bvcy51bmFtZSgpWzBdLmxvd2VyKCl9Igoj
ICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9u
LmNvbmY6MTAxCiMgICAgIFtkb2NdICJUaGUgb3BlcmF0aW5nIHN5c3RlbSAoaW4gbG93ZXIgY2Fz
ZSkgb2YgdGhlIGJ1aWxkaW5nIGFyY2hpdGVjdHVyZSAoZS5nLiBsaW51eCkuIgojIHByZS1leHBh
bnNpb24gdmFsdWU6CiMgICAibGludXgiCkJVSUxEX09TPSJsaW51eCIKIwojICRCVUlMRF9QUkVG
SVgKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5j
b25mOjk2CiMgICAgICIiCkJVSUxEX1BSRUZJWD0iIgojCiMgJEJVSUxEX1JBTkxJQiBbMiBvcGVy
YXRpb25zXQojICAgZXhwb3J0ZWQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25m
L2JpdGJha2UuY29uZjo1MTkKIyAgICAgW2V4cG9ydF0gIjEiCiMgICBzZXQgL21lZGlhL3JlYmVj
Y2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo1MTkKIyAgICAgIiR7QlVJTERf
UFJFRklYfXJhbmxpYiIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIiR7QlVJTERfUFJFRklY
fXJhbmxpYiIKZXhwb3J0IEJVSUxEX1JBTkxJQj0icmFubGliIgojCiMgJEJVSUxEX1NUUklQIFsy
IG9wZXJhdGlvbnNdCiMgICBleHBvcnRlZCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRh
L2NvbmYvYml0YmFrZS5jb25mOjUyMAojICAgICBbZXhwb3J0XSAiMSIKIyAgIHNldCAvbWVkaWEv
cmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjUyMAojICAgICAiJHtC
VUlMRF9QUkVGSVh9c3RyaXAiCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICIke0JVSUxEX1BS
RUZJWH1zdHJpcCIKZXhwb3J0IEJVSUxEX1NUUklQPSJzdHJpcCIKIwojICRCVUlMRF9TWVMKIyAg
IHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjk1
CiMgICAgICIke0JVSUxEX0FSQ0h9JHtCVUlMRF9WRU5ET1J9LSR7QlVJTERfT1N9IgpCVUlMRF9T
WVM9Ing4Nl82NC1saW51eCIKIwojICRCVUlMRF9WRU5ET1IKIyAgIHNldCAvbWVkaWEvcmViZWNj
YXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjk0CiMgICAgICIiCkJVSUxEX1ZF
TkRPUj0iIgojCiMgJEJVU1lCT1hfU1BMSVRfU1VJRAojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95
b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6MTA0CiMgICAgIFtkb2NdICJG
b3IgdGhlIEJ1c3lCb3ggcmVjaXBlLCBzcGVjaWZpZXMgd2hldGhlciB0byBzcGxpdCB0aGUgb3V0
cHV0IGV4ZWN1dGFibGUgZmlsZSBpbnRvIHR3byBwYXJ0czogb25lIGZvciBmZWF0dXJlcyB0aGF0
IHJlcXVpcmUgc2V0dWlkIHJvb3QsIGFuZCBvbmUgZm9yIHRoZSByZW1haW5pbmcgZmVhdHVyZXMu
IgojCiMgJEJaUkRJUgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29u
Zi9iaXRiYWtlLmNvbmY6MzQwCiMgICAgICIke0NPX0RJUn0vYnpyIgpCWlJESVI9Ii9tZWRpYS9y
ZWJlY2Nhcy9idWlsZC9kb3dubG9hZHMvYnpyIgojCiMgJENBQ0hFIFs0IG9wZXJhdGlvbnNdCiMg
ICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjoz
MzIKIyAgICAgIiR7VE1QRElSfS9jYWNoZSR7QFsnJywgJy8nICsgc3RyKGQuZ2V0VmFyKCdNQUNI
SU5FJykpXVtib29sKGQuZ2V0VmFyKCdNQUNISU5FJykpXX0ke0BbJycsICcvJyArIHN0cihkLmdl
dFZhcignU0RLTUFDSElORScpKV1bYm9vbChkLmdldFZhcignU0RLTUFDSElORScpKV19IgojICAg
c2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8vZGVmYXVsdHNl
dHVwLmNvbmY6MTgKIyAgICAgIiR7VE1QRElSfS9jYWNoZS8ke1RDTU9ERX0tJHtUQ0xJQkN9JHtA
WycnLCAnLycgKyBzdHIoZC5nZXRWYXIoJ01BQ0hJTkUnKSldW2Jvb2woZC5nZXRWYXIoJ01BQ0hJ
TkUnKSldfSR7QFsnJywgJy8nICsgc3RyKGQuZ2V0VmFyKCdTREtNQUNISU5FJykpXVtib29sKGQu
Z2V0VmFyKCdTREtNQUNISU5FJykpXX0iCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bv
a3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjoxMDgKIyAgICAgW2RvY10gIlRoZSBkaXJl
Y3RvcnkgaG9sZGluZyB0aGUgY2FjaGUgb2YgdGhlIG1ldGFkYXRhLiIKIyAgIGltbWVkaWF0ZSAv
bWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjc2OQojICAg
ICAiJHtDQUNIRX0iCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICIvbWVkaWEvcmViZWNjYXMv
eW9jdG8vbHR0bmcvdG1wL2NhY2hlL2RlZmF1bHQtZ2xpYmMvcWVtdXg4Ni94ODZfNjQiCkNBQ0hF
PSIvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvdG1wL2NhY2hlL2RlZmF1bHQtZ2xpYmMvcWVt
dXg4Ni94ODZfNjQiCiMKIyAkQ0MgWzIgb3BlcmF0aW9uc10KIyAgIGV4cG9ydGVkIC9tZWRpYS9y
ZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6NDk0CiMgICAgIFtleHBv
cnRdICIxIgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRi
YWtlLmNvbmY6NDk0CiMgICAgICIke0NDQUNIRX0ke0hPU1RfUFJFRklYfWdjYyAke0hPU1RfQ0Nf
QVJDSH0ke1RPT0xDSEFJTl9PUFRJT05TfSIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIiR7
Q0NBQ0hFfSR7SE9TVF9QUkVGSVh9Z2NjICR7SE9TVF9DQ19BUkNIfSR7VE9PTENIQUlOX09QVElP
TlN9IgpleHBvcnQgQ0M9Imk1ODYtcG9reS1saW51eC1nY2MgIC1tMzIgLW1hcmNoPWk1ODYgLS1z
eXNyb290PS9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy90bXAvd29yay9xZW11eDg2LXBva3kt
bGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9yZWNpcGUtc3lzcm9vdCIKIwojICRDQ0FDSEUK
IyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25m
OjQ4MwojICAgICBbX2RlZmF1bHR2YWxdICIiCkNDQUNIRT0iIgojCiMgJENDQUNIRV9ESVIgWzIg
b3BlcmF0aW9uc10KIyAgIGV4cG9ydGVkIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEv
Y29uZi9iaXRiYWtlLmNvbmY6NDkwCiMgICAgIFtleHBvcnRdICIxIgojICAgc2V0IC9tZWRpYS9y
ZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6NDkwCiMgICAgIFtfZGVm
YXVsdHZhbF0gIiR7QG9zLmdldGVudignSE9NRScpfS8uY2NhY2hlIgojIHByZS1leHBhbnNpb24g
dmFsdWU6CiMgICAiJHtAb3MuZ2V0ZW52KCdIT01FJyl9Ly5jY2FjaGUiCmV4cG9ydCBDQ0FDSEVf
RElSPSIvaG9tZS9yZWJlY2Nhcy8uY2NhY2hlIgojCiMgJENDQUNIRV9ESVNBQkxFIFsyIG9wZXJh
dGlvbnNdCiMgICBleHBvcnRlZCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYv
Yml0YmFrZS5jb25mOjQ4NgojICAgICBbZXhwb3J0XSAiMSIKIyAgIHNldCAvbWVkaWEvcmViZWNj
YXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjQ4NgojICAgICBbX2RlZmF1bHR2
YWxdICIke0BbMCwxXVtkLmdldFZhcignQ0NBQ0hFJykgPT0gJyddfSIKIyBwcmUtZXhwYW5zaW9u
IHZhbHVlOgojICAgIiR7QFswLDFdW2QuZ2V0VmFyKCdDQ0FDSEUnKSA9PSAnJ119IgpleHBvcnQg
Q0NBQ0hFX0RJU0FCTEU9IjEiCiMKIyAkQ0NMRCBbMiBvcGVyYXRpb25zXQojICAgZXhwb3J0ZWQg
L21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo0OTkKIyAg
ICAgW2V4cG9ydF0gIjEiCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9j
b25mL2JpdGJha2UuY29uZjo0OTkKIyAgICAgIiR7Q0N9IgojIHByZS1leHBhbnNpb24gdmFsdWU6
CiMgICAiJHtDQ30iCmV4cG9ydCBDQ0xEPSJpNTg2LXBva3ktbGludXgtZ2NjICAtbTMyIC1tYXJj
aD1pNTg2IC0tc3lzcm9vdD0vbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvdG1wL3dvcmsvcWVt
dXg4Ni1wb2t5LWxpbnV4L2x0dG5nLW1vZHVsZXMvMi45LjEtcjAvcmVjaXBlLXN5c3Jvb3QiCiMK
IyAkQ0ZMQUdTIFszIG9wZXJhdGlvbnNdCiMgICBleHBvcnRlZCAvbWVkaWEvcmViZWNjYXMveW9j
dG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjU0NQojICAgICBbZXhwb3J0XSAiMSIKIyAg
IHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjU0
NQojICAgICAiJHtUQVJHRVRfQ0ZMQUdTfSIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8v
cG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjEwOQojICAgICBbZG9jXSAiRmxhZ3Mg
cGFzc2VkIHRvIHRoZSBDIGNvbXBpbGVyIGZvciB0aGUgdGFyZ2V0IHN5c3RlbS4gVGhpcyB2YXJp
YWJsZSBldmFsdWF0ZXMgdG8gdGhlIHNhbWUgYXMgVEFSR0VUX0NGTEFHUy4iCiMgcHJlLWV4cGFu
c2lvbiB2YWx1ZToKIyAgICIke1RBUkdFVF9DRkxBR1N9IgpleHBvcnQgQ0ZMQUdTPSIgLU8yIC1w
aXBlIC1nIC1mZWxpbWluYXRlLXVudXNlZC1kZWJ1Zy10eXBlcyAtZmRlYnVnLXByZWZpeC1tYXA9
L21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL3RtcC93b3JrL3FlbXV4ODYtcG9reS1saW51eC9s
dHRuZy1tb2R1bGVzLzIuOS4xLXIwPS91c3Ivc3JjL2RlYnVnL2x0dG5nLW1vZHVsZXMvMi45LjEt
cjAgLWZkZWJ1Zy1wcmVmaXgtbWFwPS9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy90bXAvd29y
ay9xZW11eDg2LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9yZWNpcGUtc3lzcm9v
dC1uYXRpdmU9IC1mZGVidWctcHJlZml4LW1hcD0vbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcv
dG1wL3dvcmsvcWVtdXg4Ni1wb2t5LWxpbnV4L2x0dG5nLW1vZHVsZXMvMi45LjEtcjAvcmVjaXBl
LXN5c3Jvb3Q9ICIKIwojICRDSFJQQVRIX0JJTgojICAgc2V0PyAvbWVkaWEvcmViZWNjYXMveW9j
dG8vcG9reS9tZXRhL2NsYXNzZXMvY2hycGF0aC5iYmNsYXNzOjEKIyAgICAgImNocnBhdGgiCkNI
UlBBVEhfQklOPSJjaHJwYXRoIgojCiMgJENMQVNTT1ZFUlJJREUgWzMgb3BlcmF0aW9uc10KIyAg
IHNldD8gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo3
MTgKIyAgICAgImNsYXNzLXRhcmdldCIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9r
eS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjExMAojICAgICBbZG9jXSAiQW4gaW50ZXJu
YWwgdmFyaWFibGUgc3BlY2lmeWluZyB0aGUgc3BlY2lhbCBjbGFzcyBvdmVycmlkZSB0aGF0IHNo
b3VsZCBjdXJyZW50bHkgYXBwbHkgKGUuZy4gImNsYXNzLXRhcmdldCIsICJjbGFzcy1uYXRpdmUi
LCBhbmQgc28gZm9ydGgpLiIKIyAgIHNldD8gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0
YS9jbGFzc2VzL2Jhc2UuYmJjbGFzczoyCiMgICAgICJjbGFzcy10YXJnZXQiCiMgcHJlLWV4cGFu
c2lvbiB2YWx1ZToKIyAgICJjbGFzcy10YXJnZXQiCkNMQVNTT1ZFUlJJREU9ImNsYXNzLXRhcmdl
dCIKIwojICRDTEVBTkJST0tFTiBbMiBvcGVyYXRpb25zXQojICAgc2V0IC9tZWRpYS9yZWJlY2Nh
cy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6MTExCiMgICAgIFtkb2Nd
ICJTcGVjaWZpZXMgaWYgJ21ha2UgY2xlYW4nIGRvZXMgbm90IHdvcmsgZm9yIGEgcmVjaXBlIChh
bmQgdGhlcmVmb3JlIHRoZSBidWlsZCBzeXN0ZW0gc2hvdWxkIG5vdCB0cnkgdG8gdXNlIGl0IGR1
cmluZyBkb19jb25maWd1cmUpIgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21l
dGEvY2xhc3Nlcy9iYXNlLmJiY2xhc3M6MzA0CiMgICAgICIwIgojIHByZS1leHBhbnNpb24gdmFs
dWU6CiMgICAiMCIKQ0xFQU5CUk9LRU49IjAiCiMKIyAkQ0xFQU5GVU5DUyBbMiBvcGVyYXRpb25z
XQojICAgc2V0PyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NsYXNzZXMvdXRpbGl0
eS10YXNrcy5iYmNsYXNzOjIwCiMgICAgICIiCiMgICBhcHBlbmQgL21lZGlhL3JlYmVjY2FzL3lv
Y3RvL3Bva3kvbWV0YS9jbGFzc2VzL3NzdGF0ZS5iYmNsYXNzOjUxNAojICAgICAic3N0YXRlX2Ns
ZWFuYWxsIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiIHNzdGF0ZV9jbGVhbmFsbCIKQ0xF
QU5GVU5DUz0iIHNzdGF0ZV9jbGVhbmFsbCIKIwojICRDT01CSU5FRF9GRUFUVVJFUyBbMyBvcGVy
YXRpb25zXQojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1
bWVudGF0aW9uLmNvbmY6MTEyCiMgICAgIFtkb2NdICJBIHNldCBvZiBmZWF0dXJlcyBjb21tb24g
YmV0d2VlbiBNQUNISU5FX0ZFQVRVUkVTIGFuZCBESVNUUk9fRkVBVFVSRVMuIgojICAgc2V0IC9t
ZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6ODEyCiMgICAg
ICIke0BvZS51dGlscy5zZXRfaW50ZXJzZWN0KCdESVNUUk9fRkVBVFVSRVMnLCAnTUFDSElORV9G
RUFUVVJFUycsIGQpfSIKIyAgIGFwcGVuZCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRh
L2NvbmYvYml0YmFrZS5jb25mOjgxMwojICAgICBbdmFyZGVwc10gIkRJU1RST19GRUFUVVJFUyBN
QUNISU5FX0ZFQVRVUkVTIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiJHtAb2UudXRpbHMu
c2V0X2ludGVyc2VjdCgnRElTVFJPX0ZFQVRVUkVTJywgJ01BQ0hJTkVfRkVBVFVSRVMnLCBkKX0i
CkNPTUJJTkVEX0ZFQVRVUkVTPSJibHVldG9vdGggdXNiZ2FkZ2V0IGFsc2EiCiMKIyAkQ09NTUVS
Q0lBTF9BVURJT19QTFVHSU5TCiMgICBzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21l
dGEvY29uZi9kaXN0cm8vaW5jbHVkZS9kZWZhdWx0LWRpc3Ryb3ZhcnMuaW5jOjI4CiMgICAgICIi
CkNPTU1FUkNJQUxfQVVESU9fUExVR0lOUz0iIgojCiMgJENPTU1FUkNJQUxfVklERU9fUExVR0lO
UwojICAgc2V0PyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2lu
Y2x1ZGUvZGVmYXVsdC1kaXN0cm92YXJzLmluYzozMAojICAgICAiIgpDT01NRVJDSUFMX1ZJREVP
X1BMVUdJTlM9IiIKIwojICRDT01NT05fTElDRU5TRV9ESVIgWzIgb3BlcmF0aW9uc10KIyAgIHNl
dCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvZGVm
YXVsdC1kaXN0cm92YXJzLmluYzozMwojICAgICBbX2RlZmF1bHR2YWxdICIke0NPUkVCQVNFfS9t
ZXRhL2ZpbGVzL2NvbW1vbi1saWNlbnNlcyIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8v
cG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjExMwojICAgICBbZG9jXSAiUG9pbnRz
IHRvIG1ldGEvZmlsZXMvY29tbW9uLWxpY2Vuc2VzIGluIHRoZSBTb3VyY2UgRGlyZWN0b3J5LCB3
aGljaCBpcyB3aGVyZSBnZW5lcmljIGxpY2Vuc2UgZmlsZXMgcmVzaWRlLiIKIyBwcmUtZXhwYW5z
aW9uIHZhbHVlOgojICAgIiR7Q09SRUJBU0V9L21ldGEvZmlsZXMvY29tbW9uLWxpY2Vuc2VzIgpD
T01NT05fTElDRU5TRV9ESVI9Ii9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvZmlsZXMv
Y29tbW9uLWxpY2Vuc2VzIgojCiMgJENPTVBBVElCTEVfSE9TVCBbMiBvcGVyYXRpb25zXQojICAg
c2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNv
bmY6MTE0CiMgICAgIFtkb2NdICJBIHJlZ3VsYXIgZXhwcmVzc2lvbiB0aGF0IHJlc29sdmVzIHRv
IG9uZSBvciBtb3JlIGhvc3RzICh3aGVuIHRoZSByZWNpcGUgaXMgbmF0aXZlKSBvciBvbmUgb3Ig
bW9yZSB0YXJnZXRzICh3aGVuIHRoZSByZWNpcGUgaXMgbm9uLW5hdGl2ZSkgd2l0aCB3aGljaCBh
IHJlY2lwZSBpcyBjb21wYXRpYmxlLiIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9r
eS9tZXRhL3JlY2lwZXMta2VybmVsL2x0dG5nL2x0dG5nLW1vZHVsZXNfMi45LjEuYmI6MTEKIyAg
ICAgIih4ODZfNjR8aS44Nnxwb3dlcnBjfGFhcmNoNjR8bWlwc3xuaW9zMnxhcm0pLiotbGludXgi
CiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICIoeDg2XzY0fGkuODZ8cG93ZXJwY3xhYXJjaDY0
fG1pcHN8bmlvczJ8YXJtKS4qLWxpbnV4IgpDT01QQVRJQkxFX0hPU1Q9Iih4ODZfNjR8aS44Nnxw
b3dlcnBjfGFhcmNoNjR8bWlwc3xuaW9zMnxhcm0pLiotbGludXgiCiMKIyAkQ09NUEFUSUJMRV9N
QUNISU5FCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3Vt
ZW50YXRpb24uY29uZjoxMTUKIyAgICAgW2RvY10gIkEgcmVndWxhciBleHByZXNzaW9uIHRoYXQg
cmVzb2x2ZXMgdG8gb25lIG9yIG1vcmUgdGFyZ2V0IG1hY2hpbmVzIHdpdGggd2hpY2ggYSByZWNp
cGUgaXMgY29tcGF0aWJsZS4iCiMKIyAkQ09NUExFTUVOVEFSWV9HTE9CCiMgICBzZXQgL21lZGlh
L3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjoxMTYKIyAg
ICAgW2RvY10gIkRlZmluZXMgd2lsZGNhcmRzIHRvIG1hdGNoIHdoZW4gaW5zdGFsbGluZyBhIGxp
c3Qgb2YgY29tcGxlbWVudGFyeSBwYWNrYWdlcyBmb3IgYWxsIHRoZSBwYWNrYWdlcyBpbnN0YWxs
ZWQgaW4gYW4gaW1hZ2UuIgojCiMgJENPTVBPTkVOVFNfRElSCiMgICBzZXQgL21lZGlhL3JlYmVj
Y2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjozNTQKIyAgICAgIiR7U1RBR0lO
R19ESVJ9LWNvbXBvbmVudHMiCkNPTVBPTkVOVFNfRElSPSIvbWVkaWEvcmViZWNjYXMveW9jdG8v
bHR0bmcvdG1wL3N5c3Jvb3RzLWNvbXBvbmVudHMiCiMKIyAkQ09ORkZJTEVTCiMgICBzZXQgL21l
ZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjoxMTcK
IyAgICAgW2RvY10gIklkZW50aWZpZXMgZWRpdGFibGUgb3IgY29uZmlndXJhYmxlIGZpbGVzIHRo
YXQgYXJlIHBhcnQgb2YgYSBwYWNrYWdlLiIKIwojICRDT05GSUdVUkVTVEFNUEZJTEUKIyAgIHNl
dCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NsYXNzZXMvYmFzZS5iYmNsYXNzOjMw
MwojICAgICAiJHtXT1JLRElSfS9jb25maWd1cmUuc3N0YXRlIgpDT05GSUdVUkVTVEFNUEZJTEU9
Ii9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy90bXAvd29yay9xZW11eDg2LXBva3ktbGludXgv
bHR0bmctbW9kdWxlcy8yLjkuMS1yMC9jb25maWd1cmUuc3N0YXRlIgojCiMgJENPTkZJR19TSVRF
CiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRp
b24uY29uZjoxMTgKIyAgICAgW2RvY10gIkEgbGlzdCBvZiBmaWxlcyB0aGF0IGNvbnRhaW5zIGF1
dG9jb25mIHRlc3QgcmVzdWx0cyByZWxldmFudCB0byB0aGUgY3VycmVudCBidWlsZC4gVGhpcyB2
YXJpYWJsZSBpcyB1c2VkIGJ5IHRoZSBBdXRvdG9vbHMgdXRpbGl0aWVzIHdoZW4gcnVubmluZyBj
b25maWd1cmUuIgojCiMgJENPTkZMSUNUX0RJU1RST19GRUFUVVJFUwojICAgc2V0IC9tZWRpYS9y
ZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6MTE5CiMgICAg
IFtkb2NdICJXaGVuIGEgcmVjaXBlIGluaGVyaXRzIHRoZSBkaXN0cm9fZmVhdHVyZXNfY2hlY2sg
Y2xhc3MsIHRoaXMgdmFyaWFibGUgaWRlbnRpZmllcyBkaXN0cmlidXRpb24gZmVhdHVyZXMgdGhh
dCB3b3VsZCBiZSBpbiBjb25mbGljdCBzaG91bGQgdGhlIHJlY2lwZSBiZSBidWlsdC4iCiMKIyAk
Q09ORl9WRVJTSU9OIFsyIG9wZXJhdGlvbnNdCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3Rv
L2x0dG5nL2NvbmYvbG9jYWwuY29uZjoyMzcKIyAgICAgIjEiCiMgICBzZXQgL21lZGlhL3JlYmVj
Y2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjoxMjIKIyAgICAgW2Rv
Y10gIlRyYWNrcyB0aGUgdmVyc2lvbiBvZiBsb2NhbC5jb25mLiAgSW5jcmVhc2VkIGVhY2ggdGlt
ZSBidWlsZC9jb25mLyBjaGFuZ2VzIGluY29tcGF0aWJseS4iCiMgcHJlLWV4cGFuc2lvbiB2YWx1
ZToKIyAgICIxIgpDT05GX1ZFUlNJT049IjEiCiMKIyAkQ09OTkVDVElWSVRZX0NIRUNLX1VSSVMK
IyAgIHNldD8gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5L2NvbmYvZGlzdHJv
L3Bva3kuY29uZjo3MAojICAgICAiaHR0cHM6Ly93d3cuZXhhbXBsZS5jb20vIgpDT05ORUNUSVZJ
VFlfQ0hFQ0tfVVJJUz0iaHR0cHM6Ly93d3cuZXhhbXBsZS5jb20vIgojCiMgJENPUkVCQVNFIFsz
IG9wZXJhdGlvbnNdCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25m
L2xheWVyLmNvbmY6MTcKIyAgICAgIiR7QG9zLnBhdGgubm9ybXBhdGgoIiR7TEFZRVJESVJ9Ly4u
LyIpfSIKIyAgIHNldCBkYXRhX3NtYXJ0LnB5OjkzOCBbZXhwYW5kVmFycmVmXQojICAgICAiJHtA
b3MucGF0aC5ub3JtcGF0aCgiL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS8uLi8iKX0i
CiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRp
b24uY29uZjoxMjEKIyAgICAgW2RvY10gIlNwZWNpZmllcyB0aGUgcGFyZW50IGRpcmVjdG9yeSBv
ZiB0aGUgT3BlbkVtYmVkZGVkIENvcmUgTWV0YWRhdGEgbGF5ZXIgKGkuZS4gbWV0YSkuIgojIHBy
ZS1leHBhbnNpb24gdmFsdWU6CiMgICAiJHtAb3MucGF0aC5ub3JtcGF0aCgiL21lZGlhL3JlYmVj
Y2FzL3lvY3RvL3Bva3kvbWV0YS8uLi8iKX0iCkNPUkVCQVNFPSIvbWVkaWEvcmViZWNjYXMveW9j
dG8vcG9reSIKIwojICRDT1JFX0lNQUdFX0VYVFJBX0lOU1RBTEwKIyAgIHNldCAvbWVkaWEvcmVi
ZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjEyMAojICAgICBb
ZG9jXSAiU3BlY2lmaWVzIHRoZSBsaXN0IG9mIHBhY2thZ2VzIHRvIGJlIGFkZGVkIHRvIHRoZSBp
bWFnZS4gWW91IHNob3VsZCBvbmx5IHNldCB0aGlzIHZhcmlhYmxlIGluIHRoZSBjb25mL2xvY2Fs
LmNvbmYgZmlsZSBpbiB0aGUgQnVpbGQgRGlyZWN0b3J5LiIKIwojICRDT19ESVIKIyAgIHNldCAv
bWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjMzNgojICAg
ICAiJHtETF9ESVJ9IgpDT19ESVI9Ii9tZWRpYS9yZWJlY2Nhcy9idWlsZC9kb3dubG9hZHMiCiMK
IyAkQ1BBTl9NSVJST1IKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2Nv
bmYvYml0YmFrZS5jb25mOjYyMAojICAgICAiaHR0cDovL3NlYXJjaC5jcGFuLm9yZy9DUEFOIgpD
UEFOX01JUlJPUj0iaHR0cDovL3NlYXJjaC5jcGFuLm9yZy9DUEFOIgojCiMgJENQUCBbMiBvcGVy
YXRpb25zXQojICAgZXhwb3J0ZWQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25m
L2JpdGJha2UuY29uZjo0OTcKIyAgICAgW2V4cG9ydF0gIjEiCiMgICBzZXQgL21lZGlhL3JlYmVj
Y2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo0OTcKIyAgICAgIiR7SE9TVF9Q
UkVGSVh9Z2NjIC1FJHtUT09MQ0hBSU5fT1BUSU9OU30gJHtIT1NUX0NDX0FSQ0h9IgojIHByZS1l
eHBhbnNpb24gdmFsdWU6CiMgICAiJHtIT1NUX1BSRUZJWH1nY2MgLUUke1RPT0xDSEFJTl9PUFRJ
T05TfSAke0hPU1RfQ0NfQVJDSH0iCmV4cG9ydCBDUFA9Imk1ODYtcG9reS1saW51eC1nY2MgLUUg
LS1zeXNyb290PS9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy90bXAvd29yay9xZW11eDg2LXBv
a3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9yZWNpcGUtc3lzcm9vdCAgLW0zMiAtbWFy
Y2g9aTU4NiIKIwojICRDUFBGTEFHUyBbMiBvcGVyYXRpb25zXQojICAgZXhwb3J0ZWQgL21lZGlh
L3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo1NDAKIyAgICAgW2V4
cG9ydF0gIjEiCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Jp
dGJha2UuY29uZjo1NDAKIyAgICAgIiR7VEFSR0VUX0NQUEZMQUdTfSIKIyBwcmUtZXhwYW5zaW9u
IHZhbHVlOgojICAgIiR7VEFSR0VUX0NQUEZMQUdTfSIKZXhwb3J0IENQUEZMQUdTPSIiCiMKIyAk
Q1JPU1NfQ09NUElMRSBbMiBvcGVyYXRpb25zXQojICAgZXhwb3J0ZWQgL21lZGlhL3JlYmVjY2Fz
L3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL21vZHVsZS1iYXNlLmJiY2xhc3M6NwojICAgICBbZXhw
b3J0XSAiMSIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NsYXNzZXMv
bW9kdWxlLWJhc2UuYmJjbGFzczo3CiMgICAgICIke1RBUkdFVF9QUkVGSVh9IgojIHByZS1leHBh
bnNpb24gdmFsdWU6CiMgICAiJHtUQVJHRVRfUFJFRklYfSIKZXhwb3J0IENST1NTX0NPTVBJTEU9
Imk1ODYtcG9reS1saW51eC0iCiMKIyAkQ1ZTRElSIFsyIG9wZXJhdGlvbnNdCiMgICBzZXQgL21l
ZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjozMzcKIyAgICAg
IiR7Q09fRElSfS9jdnMiCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9j
b25mL2RvY3VtZW50YXRpb24uY29uZjoxMjMKIyAgICAgW2RvY10gIlRoZSBkaXJlY3Rvcnkgd2hl
cmUgY3ZzIGNoZWNrb3V0cyB3aWxsIGJlIHN0b3JlZCBpbi4iCiMgcHJlLWV4cGFuc2lvbiB2YWx1
ZToKIyAgICIke0NPX0RJUn0vY3ZzIgpDVlNESVI9Ii9tZWRpYS9yZWJlY2Nhcy9idWlsZC9kb3du
bG9hZHMvY3ZzIgojCiMgJENYWCBbMiBvcGVyYXRpb25zXQojICAgZXhwb3J0ZWQgL21lZGlhL3Jl
YmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo0OTUKIyAgICAgW2V4cG9y
dF0gIjEiCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJh
a2UuY29uZjo0OTUKIyAgICAgIiR7Q0NBQ0hFfSR7SE9TVF9QUkVGSVh9ZysrICR7SE9TVF9DQ19B
UkNIfSR7VE9PTENIQUlOX09QVElPTlN9IgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiJHtD
Q0FDSEV9JHtIT1NUX1BSRUZJWH1nKysgJHtIT1NUX0NDX0FSQ0h9JHtUT09MQ0hBSU5fT1BUSU9O
U30iCmV4cG9ydCBDWFg9Imk1ODYtcG9reS1saW51eC1nKysgIC1tMzIgLW1hcmNoPWk1ODYgLS1z
eXNyb290PS9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy90bXAvd29yay9xZW11eDg2LXBva3kt
bGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9yZWNpcGUtc3lzcm9vdCIKIwojICRDWFhGTEFH
UyBbMyBvcGVyYXRpb25zXQojICAgZXhwb3J0ZWQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kv
bWV0YS9jb25mL2JpdGJha2UuY29uZjo1NDkKIyAgICAgW2V4cG9ydF0gIjEiCiMgICBzZXQgL21l
ZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo1NDkKIyAgICAg
IiR7VEFSR0VUX0NYWEZMQUdTfSIKIyAgIGFwcGVuZCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9r
eS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvdGNsaWJjLWdsaWJjLmluYzoxOQojICAgICAiLWZ2
aXNpYmlsaXR5LWlubGluZXMtaGlkZGVuIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiJHtU
QVJHRVRfQ1hYRkxBR1N9IC1mdmlzaWJpbGl0eS1pbmxpbmVzLWhpZGRlbiIKZXhwb3J0IENYWEZM
QUdTPSIgLU8yIC1waXBlIC1nIC1mZWxpbWluYXRlLXVudXNlZC1kZWJ1Zy10eXBlcyAtZmRlYnVn
LXByZWZpeC1tYXA9L21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL3RtcC93b3JrL3FlbXV4ODYt
cG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwPS91c3Ivc3JjL2RlYnVnL2x0dG5nLW1v
ZHVsZXMvMi45LjEtcjAgLWZkZWJ1Zy1wcmVmaXgtbWFwPS9tZWRpYS9yZWJlY2Nhcy95b2N0by9s
dHRuZy90bXAvd29yay9xZW11eDg2LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9y
ZWNpcGUtc3lzcm9vdC1uYXRpdmU9IC1mZGVidWctcHJlZml4LW1hcD0vbWVkaWEvcmViZWNjYXMv
eW9jdG8vbHR0bmcvdG1wL3dvcmsvcWVtdXg4Ni1wb2t5LWxpbnV4L2x0dG5nLW1vZHVsZXMvMi45
LjEtcjAvcmVjaXBlLXN5c3Jvb3Q9ICAtZnZpc2liaWxpdHktaW5saW5lcy1oaWRkZW4iCiMKIyAk
RCBbMiBvcGVyYXRpb25zXQojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEv
Y29uZi9iaXRiYWtlLmNvbmY6MzQ5CiMgICAgICIke1dPUktESVJ9L2ltYWdlIgojICAgc2V0IC9t
ZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6MTI3
CiMgICAgIFtkb2NdICJUaGUgZGVzdGluYXRpb24gZGlyZWN0b3J5LiIKIyBwcmUtZXhwYW5zaW9u
IHZhbHVlOgojICAgIiR7V09SS0RJUn0vaW1hZ2UiCkQ9Ii9tZWRpYS9yZWJlY2Nhcy95b2N0by9s
dHRuZy90bXAvd29yay9xZW11eDg2LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9p
bWFnZSIKIwojICREQVRBX0xJQ0VOU0UKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9r
eS9tZXRhL2NvbmYvbGljZW5zZXMuY29uZjoxMzAKIyAgICAgIkNDMC0xLjAiCkRBVEFfTElDRU5T
RT0iQ0MwLTEuMCIKIwojICREQVRFIFsyIG9wZXJhdGlvbnNdCiMgICBpbW1lZGlhdGUgL21lZGlh
L3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjoxNTgKIyAgICAgIiR7
QHRpbWUuc3RyZnRpbWUoJyVZJW0lZCcsdGltZS5nbXRpbWUoKSl9IgojICAgc2V0IC9tZWRpYS9y
ZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6MTI4CiMgICAg
IFtkb2NdICJUaGUgZGF0ZSB0aGUgYnVpbGQgd2FzIHN0YXJ0ZWQgdXNpbmcgWU1EIGZvcm1hdC4i
CiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICIyMDE3MTAyNiIKREFURT0iMjAxNzEwMjYiCiMK
IyAkREFURVRJTUUgWzIgb3BlcmF0aW9uc10KIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8v
cG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjE2MAojICAgICAiJHtEQVRFfSR7VElNRX0iCiMg
ICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24u
Y29uZjoxMjkKIyAgICAgW2RvY10gIlRoZSBkYXRlIGFuZCB0aW1lIHRoZSBidWlsZCB3YXMgc3Rh
cnRlZC4iCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICIke0RBVEV9JHtUSU1FfSIKREFURVRJ
TUU9IjIwMTcxMDI2MDUyNTIxIgojCiMgJERFQklBTlJERVAKIyAgIHNldCAvbWVkaWEvcmViZWNj
YXMveW9jdG8vcG9reS9tZXRhL2NsYXNzZXMvZGViaWFuLmJiY2xhc3M6MTYKIyAgICAgImRvX3Bh
Y2thZ2VkYXRhIgpERUJJQU5SREVQPSJkb19wYWNrYWdlZGF0YSIKIwojICRERUJJQU5fTUlSUk9S
CiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29u
Zjo2MDcKIyAgICAgImh0dHA6Ly9mdHAuZGViaWFuLm9yZy9kZWJpYW4vcG9vbCIKREVCSUFOX01J
UlJPUj0iaHR0cDovL2Z0cC5kZWJpYW4ub3JnL2RlYmlhbi9wb29sIgojCiMgJERFQklBTl9OQU1F
UwojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY2xhc3Nlcy9kZWJpYW4u
YmJjbGFzczoxNDAKIyAgICAgIjEiCkRFQklBTl9OQU1FUz0iMSIKIwojICRERUJVR19CVUlMRAoj
ICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9u
LmNvbmY6MTMwCiMgICAgIFtkb2NdICJTcGVjaWZpZXMgdG8gYnVpbGQgcGFja2FnZXMgd2l0aCBk
ZWJ1Z2dpbmcgaW5mb3JtYXRpb24uIFRoaXMgaW5mbHVlbmNlcyB0aGUgdmFsdWUgb2YgdGhlIFNF
TEVDVEVEX09QVElNSVpBVElPTiB2YXJpYWJsZS4iCiMKIyAkREVCVUdfRkxBR1MKIyAgIHNldD8g
L21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo1ODcKIyAg
ICAgIi1nIC1mZWxpbWluYXRlLXVudXNlZC1kZWJ1Zy10eXBlcyAke0RFQlVHX1BSRUZJWF9NQVB9
IgpERUJVR19GTEFHUz0iLWcgLWZlbGltaW5hdGUtdW51c2VkLWRlYnVnLXR5cGVzIC1mZGVidWct
cHJlZml4LW1hcD0vbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvdG1wL3dvcmsvcWVtdXg4Ni1w
b2t5LWxpbnV4L2x0dG5nLW1vZHVsZXMvMi45LjEtcjA9L3Vzci9zcmMvZGVidWcvbHR0bmctbW9k
dWxlcy8yLjkuMS1yMCAtZmRlYnVnLXByZWZpeC1tYXA9L21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0
dG5nL3RtcC93b3JrL3FlbXV4ODYtcG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL3Jl
Y2lwZS1zeXNyb290LW5hdGl2ZT0gLWZkZWJ1Zy1wcmVmaXgtbWFwPS9tZWRpYS9yZWJlY2Nhcy95
b2N0by9sdHRuZy90bXAvd29yay9xZW11eDg2LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjku
MS1yMC9yZWNpcGUtc3lzcm9vdD0gIgojCiMgJERFQlVHX09QVElNSVpBVElPTiBbMiBvcGVyYXRp
b25zXQojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtl
LmNvbmY6NTkxCiMgICAgICItTyAtZm5vLW9taXQtZnJhbWUtcG9pbnRlciAke0RFQlVHX0ZMQUdT
fSAtcGlwZSIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZG9j
dW1lbnRhdGlvbi5jb25mOjEzMQojICAgICBbZG9jXSAiVGhlIG9wdGlvbnMgdG8gcGFzcyBpbiBU
QVJHRVRfQ0ZMQUdTIGFuZCBDRkxBR1Mgd2hlbiBjb21waWxpbmcgYSBzeXN0ZW0gZm9yIGRlYnVn
Z2luZy4gVGhpcyB2YXJpYWJsZSBkZWZhdWx0cyB0byAnLU8gLWZuby1vbWl0LWZyYW1lLXBvaW50
ZXIgJHtERUJVR19GTEFHU30gLXBpcGUnLiIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIi1P
IC1mbm8tb21pdC1mcmFtZS1wb2ludGVyICR7REVCVUdfRkxBR1N9IC1waXBlIgpERUJVR19PUFRJ
TUlaQVRJT049Ii1PIC1mbm8tb21pdC1mcmFtZS1wb2ludGVyIC1nIC1mZWxpbWluYXRlLXVudXNl
ZC1kZWJ1Zy10eXBlcyAtZmRlYnVnLXByZWZpeC1tYXA9L21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0
dG5nL3RtcC93b3JrL3FlbXV4ODYtcG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwPS91
c3Ivc3JjL2RlYnVnL2x0dG5nLW1vZHVsZXMvMi45LjEtcjAgLWZkZWJ1Zy1wcmVmaXgtbWFwPS9t
ZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy90bXAvd29yay9xZW11eDg2LXBva3ktbGludXgvbHR0
bmctbW9kdWxlcy8yLjkuMS1yMC9yZWNpcGUtc3lzcm9vdC1uYXRpdmU9IC1mZGVidWctcHJlZml4
LW1hcD0vbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvdG1wL3dvcmsvcWVtdXg4Ni1wb2t5LWxp
bnV4L2x0dG5nLW1vZHVsZXMvMi45LjEtcjAvcmVjaXBlLXN5c3Jvb3Q9ICAtcGlwZSIKIwojICRE
RUJVR19QUkVGSVhfTUFQCiMgICBzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEv
Y29uZi9iaXRiYWtlLmNvbmY6NTg2CiMgICAgICItZmRlYnVnLXByZWZpeC1tYXA9JHtXT1JLRElS
fT0vdXNyL3NyYy9kZWJ1Zy8ke1BOfS8ke0VYVEVORFBFfSR7UFZ9LSR7UFJ9IC1mZGVidWctcHJl
Zml4LW1hcD0ke1NUQUdJTkdfRElSX05BVElWRX09IC1mZGVidWctcHJlZml4LW1hcD0ke1NUQUdJ
TkdfRElSX0hPU1R9PSAiCkRFQlVHX1BSRUZJWF9NQVA9Ii1mZGVidWctcHJlZml4LW1hcD0vbWVk
aWEvcmViZWNjYXMveW9jdG8vbHR0bmcvdG1wL3dvcmsvcWVtdXg4Ni1wb2t5LWxpbnV4L2x0dG5n
LW1vZHVsZXMvMi45LjEtcjA9L3Vzci9zcmMvZGVidWcvbHR0bmctbW9kdWxlcy8yLjkuMS1yMCAt
ZmRlYnVnLXByZWZpeC1tYXA9L21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL3RtcC93b3JrL3Fl
bXV4ODYtcG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL3JlY2lwZS1zeXNyb290LW5h
dGl2ZT0gLWZkZWJ1Zy1wcmVmaXgtbWFwPS9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy90bXAv
d29yay9xZW11eDg2LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9yZWNpcGUtc3lz
cm9vdD0gIgojCiMgJERFRkFVTFRUVU5FIFsyIG9wZXJhdGlvbnNdCiMgICBzZXQ/IC9tZWRpYS9y
ZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvdHVuZS1pNTg2Lmlu
YzoxCiMgICAgICJpNTg2IgojICAgc2V0PyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRh
L2NvbmYvbWFjaGluZS9pbmNsdWRlL3g4Ni9hcmNoLXg4Ni5pbmM6NQojICAgICAieDg2IgojIHBy
ZS1leHBhbnNpb24gdmFsdWU6CiMgICAiaTU4NiIKREVGQVVMVFRVTkU9Imk1ODYiCiMKIyAkREVG
QVVMVF9QUkVGRVJFTkNFCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9j
b25mL2RvY3VtZW50YXRpb24uY29uZjoxMzIKIyAgICAgW2RvY10gIlNwZWNpZmllcyBhIHdlYWsg
YmlhcyBmb3IgcmVjaXBlIHNlbGVjdGlvbiBwcmlvcml0eS4iCiMKIyAkREVGQVVMVF9UQVNLX1BS
T1ZJREVSCiMgICBzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRi
YWtlLmNvbmY6NzU5CiMgICAgICJwYWNrYWdlZ3JvdXAtYmFzZSIKREVGQVVMVF9UQVNLX1BST1ZJ
REVSPSJwYWNrYWdlZ3JvdXAtYmFzZSIKIwojICRERVBDSEFJTl9QT1NUCiMgICBzZXQgL21lZGlh
L3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjoyNTgKIyAgICAgIi1k
ZXYgLWRiZyIKREVQQ0hBSU5fUE9TVD0iLWRldiAtZGJnIgojCiMgJERFUENIQUlOX1BSRQojICAg
c2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6MjU3
CiMgICAgICIiCkRFUENIQUlOX1BSRT0iIgojCiMgJERFUEVORFMgWzQgb3BlcmF0aW9uc10KIyAg
IHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjI2
MAojICAgICAiIgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9k
b2N1bWVudGF0aW9uLmNvbmY6MTMzCiMgICAgIFtkb2NdICJMaXN0cyBhIHJlY2lwZSdzIGJ1aWxk
LXRpbWUgZGVwZW5kZW5jaWVzIChpLmUuIG90aGVyIHJlY2lwZSBmaWxlcykuIgojICAgX3ByZXBl
bmQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL2Jhc2UuYmJjbGFzczo4
MQojICAgICAiJHtCQVNFREVQRU5EU30gIgojICAgX3ByZXBlbmQgL21lZGlhL3JlYmVjY2FzL3lv
Y3RvL3Bva3kvbWV0YS9jbGFzc2VzL3BrZ2NvbmZpZy5iYmNsYXNzOjEKIyAgICAgInBrZ2NvbmZp
Zy1uYXRpdmUgIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAicGtnY29uZmlnLW5hdGl2ZSAk
e0JBU0VERVBFTkRTfSAiCkRFUEVORFM9InBrZ2NvbmZpZy1uYXRpdmUgIHZpcnR1YWwvaTU4Ni1w
b2t5LWxpbnV4LWdjYyB2aXJ0dWFsL2k1ODYtcG9reS1saW51eC1jb21waWxlcmxpYnMgdmlydHVh
bC9saWJjICAiCiMKIyAkREVQTE9ZRElSCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bv
a3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjoxMzYKIyAgICAgW2RvY10gIkZvciByZWNp
cGVzIHRoYXQgaW5oZXJpdCB0aGUgZGVwbG95IGNsYXNzLCB0aGUgREVQTE9ZRElSIHBvaW50cyB0
byBhIHRlbXBvcmFyeSB3b3JrIGFyZWEgZm9yIGRlcGxveWVkIGZpbGVzLiIKIwojICRERVBMT1lf
RElSIFsyIG9wZXJhdGlvbnNdCiMgICBzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21l
dGEvY29uZi9iaXRiYWtlLmNvbmY6Mzg1CiMgICAgICIke1RNUERJUn0vZGVwbG95IgojICAgc2V0
IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6
MTM0CiMgICAgIFtkb2NdICJQb2ludHMgdG8gdGhlIGdlbmVyYWwgYXJlYSB0aGF0IHRoZSBPcGVu
RW1iZWRkZWQgYnVpbGQgc3lzdGVtIHVzZXMgdG8gcGxhY2UgaW1hZ2VzLCBwYWNrYWdlcywgU0RL
cyBhbmQgb3RoZXIgb3V0cHV0IGZpbGVzIHRoYXQgYXJlIHJlYWR5IHRvIGJlIHVzZWQgb3V0c2lk
ZSBvZiB0aGUgYnVpbGQgc3lzdGVtLiIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIiR7VE1Q
RElSfS9kZXBsb3kiCkRFUExPWV9ESVI9Ii9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy90bXAv
ZGVwbG95IgojCiMgJERFUExPWV9ESVJfREVCCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3Rv
L3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjozODkKIyAgICAgIiR7REVQTE9ZX0RJUn0vZGVi
IgpERVBMT1lfRElSX0RFQj0iL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL3RtcC9kZXBsb3kv
ZGViIgojCiMgJERFUExPWV9ESVJfSU1BR0UgWzIgb3BlcmF0aW9uc10KIyAgIHNldD8gL21lZGlh
L3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjozOTAKIyAgICAgIiR7
REVQTE9ZX0RJUn0vaW1hZ2VzLyR7TUFDSElORX0iCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lv
Y3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjoxMzUKIyAgICAgW2RvY10gIlBv
aW50cyB0byB0aGUgYXJlYSB0aGF0IHRoZSBPcGVuRW1iZWRkZWQgYnVpbGQgc3lzdGVtIHVzZXMg
dG8gcGxhY2UgaW1hZ2VzIGFuZCBvdGhlciBhc3NvY2lhdGVkIG91dHB1dCBmaWxlcyB0aGF0IGFy
ZSByZWFkeSB0byBiZSBkZXBsb3llZCBvbnRvIHRoZSB0YXJnZXQgbWFjaGluZS4iCiMgcHJlLWV4
cGFuc2lvbiB2YWx1ZToKIyAgICIke0RFUExPWV9ESVJ9L2ltYWdlcy8ke01BQ0hJTkV9IgpERVBM
T1lfRElSX0lNQUdFPSIvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvdG1wL2RlcGxveS9pbWFn
ZXMvcWVtdXg4NiIKIwojICRERVBMT1lfRElSX0lQSwojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95
b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6Mzg3CiMgICAgICIke0RFUExPWV9ESVJ9
L2lwayIKREVQTE9ZX0RJUl9JUEs9Ii9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy90bXAvZGVw
bG95L2lwayIKIwojICRERVBMT1lfRElSX1JQTQojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0
by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6Mzg4CiMgICAgICIke0RFUExPWV9ESVJ9L3Jw
bSIKREVQTE9ZX0RJUl9SUE09Ii9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy90bXAvZGVwbG95
L3JwbSIKIwojICRERVBMT1lfRElSX1RBUgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9w
b2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6Mzg2CiMgICAgICIke0RFUExPWV9ESVJ9L3RhciIK
REVQTE9ZX0RJUl9UQVI9Ii9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy90bXAvZGVwbG95L3Rh
ciIKIwojICRERVBMT1lfRElSX1RPT0xTCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bv
a3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjozOTEKIyAgICAgIiR7REVQTE9ZX0RJUn0vdG9vbHMi
CkRFUExPWV9ESVJfVE9PTFM9Ii9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy90bXAvZGVwbG95
L3Rvb2xzIgojCiMgJERFU0NSSVBUSU9OIFs3IG9wZXJhdGlvbnNdCiMgICBzZXQ/IC9tZWRpYS9y
ZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6MjI0CiMgICAgICIke1NV
TU1BUll9LiIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZG9j
dW1lbnRhdGlvbi5jb25mOjEzNwojICAgICBbZG9jXSAiVGhlIHBhY2thZ2UgZGVzY3JpcHRpb24g
dXNlZCBieSBwYWNrYWdlIG1hbmFnZXJzLiBJZiBub3Qgc2V0LCBERVNDUklQVElPTiB0YWtlcyB0
aGUgdmFsdWUgb2YgdGhlIFNVTU1BUlkgdmFyaWFibGUuIgojICAgc2V0IC9tZWRpYS9yZWJlY2Nh
cy95b2N0by9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbHR0bmcvbHR0bmctbW9kdWxlc18yLjku
MS5iYjozCiMgICAgICJUaGUgbHR0bmctbW9kdWxlcyAyLjAgcGFja2FnZSBjb250YWlucyB0aGUg
a2VybmVsIHRyYWNlciBtb2R1bGVzIgojICAgb3ZlcnJpZGVbbHR0bmctbW9kdWxlcy1kYmddOnJl
bmFtZSBmcm9tIERFU0NSSVBUSU9OXyR7UE59LWRiZyBkYXRhLnB5OjExNiBbZXhwYW5kS2V5c10K
IyAgICAgIiR7REVTQ1JJUFRJT059ICBUaGlzIHBhY2thZ2UgY29udGFpbnMgRUxGIHN5bWJvbHMg
YW5kIHJlbGF0ZWQgc291cmNlcyBmb3IgZGVidWdnaW5nIHB1cnBvc2VzLiIKIyAgIG92ZXJyaWRl
W2x0dG5nLW1vZHVsZXMtZGV2XTpyZW5hbWUgZnJvbSBERVNDUklQVElPTl8ke1BOfS1kZXYgZGF0
YS5weToxMTYgW2V4cGFuZEtleXNdCiMgICAgICIke0RFU0NSSVBUSU9OfSAgVGhpcyBwYWNrYWdl
IGNvbnRhaW5zIHN5bWJvbGljIGxpbmtzLCBoZWFkZXIgZmlsZXMsIGFuZCByZWxhdGVkIGl0ZW1z
IG5lY2Vzc2FyeSBmb3Igc29mdHdhcmUgZGV2ZWxvcG1lbnQuIgojICAgb3ZlcnJpZGVbbHR0bmct
bW9kdWxlcy1kb2NdOnJlbmFtZSBmcm9tIERFU0NSSVBUSU9OXyR7UE59LWRvYyBkYXRhLnB5OjEx
NiBbZXhwYW5kS2V5c10KIyAgICAgIiR7REVTQ1JJUFRJT059ICBUaGlzIHBhY2thZ2UgY29udGFp
bnMgZG9jdW1lbnRhdGlvbi4iCiMgICBvdmVycmlkZVtsdHRuZy1tb2R1bGVzLXN0YXRpY2Rldl06
cmVuYW1lIGZyb20gREVTQ1JJUFRJT05fJHtQTn0tc3RhdGljZGV2IGRhdGEucHk6MTE2IFtleHBh
bmRLZXlzXQojICAgICAiJHtERVNDUklQVElPTn0gIFRoaXMgcGFja2FnZSBjb250YWlucyBzdGF0
aWMgbGlicmFyaWVzIGZvciBzb2Z0d2FyZSBkZXZlbG9wbWVudC4iCiMgcHJlLWV4cGFuc2lvbiB2
YWx1ZToKIyAgICJUaGUgbHR0bmctbW9kdWxlcyAyLjAgcGFja2FnZSBjb250YWlucyB0aGUga2Vy
bmVsIHRyYWNlciBtb2R1bGVzIgpERVNDUklQVElPTj0iVGhlIGx0dG5nLW1vZHVsZXMgMi4wIHBh
Y2thZ2UgY29udGFpbnMgdGhlIGtlcm5lbCB0cmFjZXIgbW9kdWxlcyIKIwojICRERVNDUklQVElP
Tl9sdHRuZy1tb2R1bGVzLWRiZwojICAgcmVuYW1lIGZyb20gREVTQ1JJUFRJT05fJHtQTn0tZGJn
IGRhdGEucHk6MTE2IFtleHBhbmRLZXlzXQojICAgICAiJHtERVNDUklQVElPTn0gIFRoaXMgcGFj
a2FnZSBjb250YWlucyBFTEYgc3ltYm9scyBhbmQgcmVsYXRlZCBzb3VyY2VzIGZvciBkZWJ1Z2dp
bmcgcHVycG9zZXMuIgpERVNDUklQVElPTl9sdHRuZy1tb2R1bGVzLWRiZz0iVGhlIGx0dG5nLW1v
ZHVsZXMgMi4wIHBhY2thZ2UgY29udGFpbnMgdGhlIGtlcm5lbCB0cmFjZXIgbW9kdWxlcyAgVGhp
cyBwYWNrYWdlIGNvbnRhaW5zIEVMRiBzeW1ib2xzIGFuZCByZWxhdGVkIHNvdXJjZXMgZm9yIGRl
YnVnZ2luZyBwdXJwb3Nlcy4iCiMKIyAkREVTQ1JJUFRJT05fbHR0bmctbW9kdWxlcy1kZXYKIyAg
IHJlbmFtZSBmcm9tIERFU0NSSVBUSU9OXyR7UE59LWRldiBkYXRhLnB5OjExNiBbZXhwYW5kS2V5
c10KIyAgICAgIiR7REVTQ1JJUFRJT059ICBUaGlzIHBhY2thZ2UgY29udGFpbnMgc3ltYm9saWMg
bGlua3MsIGhlYWRlciBmaWxlcywgYW5kIHJlbGF0ZWQgaXRlbXMgbmVjZXNzYXJ5IGZvciBzb2Z0
d2FyZSBkZXZlbG9wbWVudC4iCkRFU0NSSVBUSU9OX2x0dG5nLW1vZHVsZXMtZGV2PSJUaGUgbHR0
bmctbW9kdWxlcyAyLjAgcGFja2FnZSBjb250YWlucyB0aGUga2VybmVsIHRyYWNlciBtb2R1bGVz
ICBUaGlzIHBhY2thZ2UgY29udGFpbnMgc3ltYm9saWMgbGlua3MsIGhlYWRlciBmaWxlcywgYW5k
IHJlbGF0ZWQgaXRlbXMgbmVjZXNzYXJ5IGZvciBzb2Z0d2FyZSBkZXZlbG9wbWVudC4iCiMKIyAk
REVTQ1JJUFRJT05fbHR0bmctbW9kdWxlcy1kb2MKIyAgIHJlbmFtZSBmcm9tIERFU0NSSVBUSU9O
XyR7UE59LWRvYyBkYXRhLnB5OjExNiBbZXhwYW5kS2V5c10KIyAgICAgIiR7REVTQ1JJUFRJT059
ICBUaGlzIHBhY2thZ2UgY29udGFpbnMgZG9jdW1lbnRhdGlvbi4iCkRFU0NSSVBUSU9OX2x0dG5n
LW1vZHVsZXMtZG9jPSJUaGUgbHR0bmctbW9kdWxlcyAyLjAgcGFja2FnZSBjb250YWlucyB0aGUg
a2VybmVsIHRyYWNlciBtb2R1bGVzICBUaGlzIHBhY2thZ2UgY29udGFpbnMgZG9jdW1lbnRhdGlv
bi4iCiMKIyAkREVTQ1JJUFRJT05fbHR0bmctbW9kdWxlcy1zdGF0aWNkZXYKIyAgIHJlbmFtZSBm
cm9tIERFU0NSSVBUSU9OXyR7UE59LXN0YXRpY2RldiBkYXRhLnB5OjExNiBbZXhwYW5kS2V5c10K
IyAgICAgIiR7REVTQ1JJUFRJT059ICBUaGlzIHBhY2thZ2UgY29udGFpbnMgc3RhdGljIGxpYnJh
cmllcyBmb3Igc29mdHdhcmUgZGV2ZWxvcG1lbnQuIgpERVNDUklQVElPTl9sdHRuZy1tb2R1bGVz
LXN0YXRpY2Rldj0iVGhlIGx0dG5nLW1vZHVsZXMgMi4wIHBhY2thZ2UgY29udGFpbnMgdGhlIGtl
cm5lbCB0cmFjZXIgbW9kdWxlcyAgVGhpcyBwYWNrYWdlIGNvbnRhaW5zIHN0YXRpYyBsaWJyYXJp
ZXMgZm9yIHNvZnR3YXJlIGRldmVsb3BtZW50LiIKIwojICRERVZTSEVMTAojICAgc2V0IC9tZWRp
YS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY2xhc3Nlcy9kZXZzaGVsbC5iYmNsYXNzOjMKIyAg
ICAgIiR7U0hFTEx9IgpERVZTSEVMTD0iL2Jpbi9iYXNoIgojCiMgJERFVlNIRUxMX1NUQVJURElS
CiMgICBzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY2xhc3Nlcy9kZXZzaGVs
bC5iYmNsYXNzOjIxCiMgICAgICIke1N9IgpERVZTSEVMTF9TVEFSVERJUj0iL21lZGlhL3JlYmVj
Y2FzL3lvY3RvL2x0dG5nL3RtcC93b3JrL3FlbXV4ODYtcG9reS1saW51eC9sdHRuZy1tb2R1bGVz
LzIuOS4xLXIwL2x0dG5nLW1vZHVsZXMtMi45LjEiCiMKIyAkRElTQUJMRV9TVEFUSUMgWzIwIG9w
ZXJhdGlvbnNdCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rp
c3Ryby9pbmNsdWRlL25vLXN0YXRpYy1saWJzLmluYzoxCiMgICAgICIgLS1kaXNhYmxlLXN0YXRp
YyIKIyAgIG92ZXJyaWRlW3BuLXFlbXVdOnNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9t
ZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbm8tc3RhdGljLWxpYnMuaW5jOjQKIyAgICAgIiIKIyAg
IG92ZXJyaWRlW3BuLXFlbXUtbmF0aXZlXTpzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kv
bWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL25vLXN0YXRpYy1saWJzLmluYzo1CiMgICAgICIiCiMg
ICBvdmVycmlkZVtwbi1uYXRpdmVzZGstcWVtdV06c2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9w
b2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9uby1zdGF0aWMtbGlicy5pbmM6NgojICAgICAi
IgojICAgb3ZlcnJpZGVbcG4tcGNpdXRpbHNdOnNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9r
eS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbm8tc3RhdGljLWxpYnMuaW5jOjgKIyAgICAgIiIK
IyAgIG92ZXJyaWRlW3BuLWxpYmNhcF06c2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21l
dGEvY29uZi9kaXN0cm8vaW5jbHVkZS9uby1zdGF0aWMtbGlicy5pbmM6MTAKIyAgICAgIiIKIyAg
IG92ZXJyaWRlW3BuLWxpYmNhcC1uYXRpdmVdOnNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9r
eS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbm8tc3RhdGljLWxpYnMuaW5jOjExCiMgICAgICIi
CiMgICBvdmVycmlkZVtwbi1uYXRpdmVzZGstbGliY2FwXTpzZXQgL21lZGlhL3JlYmVjY2FzL3lv
Y3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL25vLXN0YXRpYy1saWJzLmluYzoxMgoj
ICAgICAiIgojICAgb3ZlcnJpZGVbcG4tbGlicGNhcF06c2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0
by9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9uby1zdGF0aWMtbGlicy5pbmM6MTQKIyAg
ICAgIiIKIyAgIG92ZXJyaWRlW3BuLXJlYWRsaW5lXTpzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3Rv
L3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL25vLXN0YXRpYy1saWJzLmluYzoxNgojICAg
ICAiIgojICAgb3ZlcnJpZGVbcG4tc3FsaXRlM106c2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9w
b2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9uby1zdGF0aWMtbGlicy5pbmM6MTgKIyAgICAg
IiIKIyAgIG92ZXJyaWRlW3BuLXNxbGl0ZTMtbmF0aXZlXTpzZXQgL21lZGlhL3JlYmVjY2FzL3lv
Y3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL25vLXN0YXRpYy1saWJzLmluYzoxOQoj
ICAgICAiIgojICAgb3ZlcnJpZGVbcG4tbmF0aXZlc2RrLXNxbGl0ZTNdOnNldCAvbWVkaWEvcmVi
ZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbm8tc3RhdGljLWxpYnMu
aW5jOjIwCiMgICAgICIiCiMgICBvdmVycmlkZVtwbi1zZ21sLWNvbW1vbi1uYXRpdmVdOnNldCAv
bWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbm8tc3Rh
dGljLWxpYnMuaW5jOjIyCiMgICAgICIiCiMgICBvdmVycmlkZVtwbi1vcGVuamFkZS1uYXRpdmVd
OnNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUv
bm8tc3RhdGljLWxpYnMuaW5jOjIzCiMgICAgICIiCiMgICBvdmVycmlkZVtwbi1vcGVuc3NsXTpz
ZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL25v
LXN0YXRpYy1saWJzLmluYzoyNQojICAgICAiIgojICAgb3ZlcnJpZGVbcG4tb3BlbnNzbC1uYXRp
dmVdOnNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1
ZGUvbm8tc3RhdGljLWxpYnMuaW5jOjI2CiMgICAgICIiCiMgICBvdmVycmlkZVtwbi1uYXRpdmVz
ZGstb3BlbnNzbF06c2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0
cm8vaW5jbHVkZS9uby1zdGF0aWMtbGlicy5pbmM6MjcKIyAgICAgIiIKIyAgIG92ZXJyaWRlW3Bu
LWdjYy1ydW50aW1lXTpzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rp
c3Ryby9pbmNsdWRlL25vLXN0YXRpYy1saWJzLmluYzoyOQojICAgICAiIgojICAgb3ZlcnJpZGVb
cG4tbGlidXNiMS1uYXRpdmVdOnNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2Nv
bmYvZGlzdHJvL2luY2x1ZGUvbm8tc3RhdGljLWxpYnMuaW5jOjMxCiMgICAgICIiCiMgcHJlLWV4
cGFuc2lvbiB2YWx1ZToKIyAgICIgLS1kaXNhYmxlLXN0YXRpYyIKRElTQUJMRV9TVEFUSUM9IiAt
LWRpc2FibGUtc3RhdGljIgojCiMgJERJU0FCTEVfU1RBVElDX3BuLWdjYy1ydW50aW1lCiMgICBz
ZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL25v
LXN0YXRpYy1saWJzLmluYzoyOQojICAgICAiIgpESVNBQkxFX1NUQVRJQ19wbi1nY2MtcnVudGlt
ZT0iIgojCiMgJERJU0FCTEVfU1RBVElDX3BuLWxpYmNhcAojICAgc2V0IC9tZWRpYS9yZWJlY2Nh
cy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9uby1zdGF0aWMtbGlicy5pbmM6
MTAKIyAgICAgIiIKRElTQUJMRV9TVEFUSUNfcG4tbGliY2FwPSIiCiMKIyAkRElTQUJMRV9TVEFU
SUNfcG4tbGliY2FwLW5hdGl2ZQojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21l
dGEvY29uZi9kaXN0cm8vaW5jbHVkZS9uby1zdGF0aWMtbGlicy5pbmM6MTEKIyAgICAgIiIKRElT
QUJMRV9TVEFUSUNfcG4tbGliY2FwLW5hdGl2ZT0iIgojCiMgJERJU0FCTEVfU1RBVElDX3BuLWxp
YnBjYXAKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJv
L2luY2x1ZGUvbm8tc3RhdGljLWxpYnMuaW5jOjE0CiMgICAgICIiCkRJU0FCTEVfU1RBVElDX3Bu
LWxpYnBjYXA9IiIKIwojICRESVNBQkxFX1NUQVRJQ19wbi1saWJ1c2IxLW5hdGl2ZQojICAgc2V0
IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9uby1z
dGF0aWMtbGlicy5pbmM6MzEKIyAgICAgIiIKRElTQUJMRV9TVEFUSUNfcG4tbGlidXNiMS1uYXRp
dmU9IiIKIwojICRESVNBQkxFX1NUQVRJQ19wbi1uYXRpdmVzZGstbGliY2FwCiMgICBzZXQgL21l
ZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL25vLXN0YXRp
Yy1saWJzLmluYzoxMgojICAgICAiIgpESVNBQkxFX1NUQVRJQ19wbi1uYXRpdmVzZGstbGliY2Fw
PSIiCiMKIyAkRElTQUJMRV9TVEFUSUNfcG4tbmF0aXZlc2RrLW9wZW5zc2wKIyAgIHNldCAvbWVk
aWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbm8tc3RhdGlj
LWxpYnMuaW5jOjI3CiMgICAgICIiCkRJU0FCTEVfU1RBVElDX3BuLW5hdGl2ZXNkay1vcGVuc3Ns
PSIiCiMKIyAkRElTQUJMRV9TVEFUSUNfcG4tbmF0aXZlc2RrLXFlbXUKIyAgIHNldCAvbWVkaWEv
cmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbm8tc3RhdGljLWxp
YnMuaW5jOjYKIyAgICAgIiIKRElTQUJMRV9TVEFUSUNfcG4tbmF0aXZlc2RrLXFlbXU9IiIKIwoj
ICRESVNBQkxFX1NUQVRJQ19wbi1uYXRpdmVzZGstc3FsaXRlMwojICAgc2V0IC9tZWRpYS9yZWJl
Y2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9uby1zdGF0aWMtbGlicy5p
bmM6MjAKIyAgICAgIiIKRElTQUJMRV9TVEFUSUNfcG4tbmF0aXZlc2RrLXNxbGl0ZTM9IiIKIwoj
ICRESVNBQkxFX1NUQVRJQ19wbi1vcGVuamFkZS1uYXRpdmUKIyAgIHNldCAvbWVkaWEvcmViZWNj
YXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbm8tc3RhdGljLWxpYnMuaW5j
OjIzCiMgICAgICIiCkRJU0FCTEVfU1RBVElDX3BuLW9wZW5qYWRlLW5hdGl2ZT0iIgojCiMgJERJ
U0FCTEVfU1RBVElDX3BuLW9wZW5zc2wKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9r
eS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbm8tc3RhdGljLWxpYnMuaW5jOjI1CiMgICAgICIi
CkRJU0FCTEVfU1RBVElDX3BuLW9wZW5zc2w9IiIKIwojICRESVNBQkxFX1NUQVRJQ19wbi1vcGVu
c3NsLW5hdGl2ZQojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9k
aXN0cm8vaW5jbHVkZS9uby1zdGF0aWMtbGlicy5pbmM6MjYKIyAgICAgIiIKRElTQUJMRV9TVEFU
SUNfcG4tb3BlbnNzbC1uYXRpdmU9IiIKIwojICRESVNBQkxFX1NUQVRJQ19wbi1wY2l1dGlscwoj
ICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVk
ZS9uby1zdGF0aWMtbGlicy5pbmM6OAojICAgICAiIgpESVNBQkxFX1NUQVRJQ19wbi1wY2l1dGls
cz0iIgojCiMgJERJU0FCTEVfU1RBVElDX3BuLXFlbXUKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMv
eW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbm8tc3RhdGljLWxpYnMuaW5jOjQK
IyAgICAgIiIKRElTQUJMRV9TVEFUSUNfcG4tcWVtdT0iIgojCiMgJERJU0FCTEVfU1RBVElDX3Bu
LXFlbXUtbmF0aXZlCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25m
L2Rpc3Ryby9pbmNsdWRlL25vLXN0YXRpYy1saWJzLmluYzo1CiMgICAgICIiCkRJU0FCTEVfU1RB
VElDX3BuLXFlbXUtbmF0aXZlPSIiCiMKIyAkRElTQUJMRV9TVEFUSUNfcG4tcmVhZGxpbmUKIyAg
IHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUv
bm8tc3RhdGljLWxpYnMuaW5jOjE2CiMgICAgICIiCkRJU0FCTEVfU1RBVElDX3BuLXJlYWRsaW5l
PSIiCiMKIyAkRElTQUJMRV9TVEFUSUNfcG4tc2dtbC1jb21tb24tbmF0aXZlCiMgICBzZXQgL21l
ZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL25vLXN0YXRp
Yy1saWJzLmluYzoyMgojICAgICAiIgpESVNBQkxFX1NUQVRJQ19wbi1zZ21sLWNvbW1vbi1uYXRp
dmU9IiIKIwojICRESVNBQkxFX1NUQVRJQ19wbi1zcWxpdGUzCiMgICBzZXQgL21lZGlhL3JlYmVj
Y2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL25vLXN0YXRpYy1saWJzLmlu
YzoxOAojICAgICAiIgpESVNBQkxFX1NUQVRJQ19wbi1zcWxpdGUzPSIiCiMKIyAkRElTQUJMRV9T
VEFUSUNfcG4tc3FsaXRlMy1uYXRpdmUKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9r
eS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbm8tc3RhdGljLWxpYnMuaW5jOjE5CiMgICAgICIi
CkRJU0FCTEVfU1RBVElDX3BuLXNxbGl0ZTMtbmF0aXZlPSIiCiMKIyAkRElTVFJPIFs1IG9wZXJh
dGlvbnNdCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJh
a2UuY29uZjo3MDEKIyAgICAgW19kZWZhdWx0dmFsXSAibm9kaXN0cm8iCiMgICBzZXQ/IC9tZWRp
YS9yZWJlY2Nhcy95b2N0by9sdHRuZy9jb25mL2xvY2FsLmNvbmY6ODkKIyAgICAgInBva3kiCiMg
ICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5L2NvbmYvZGlzdHJvL3Bv
a3kuY29uZjoxCiMgICAgICJwb2t5IgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5
L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6MTM4CiMgICAgIFtkb2NdICJUaGUgc2hvcnQg
bmFtZSBvZiB0aGUgZGlzdHJpYnV0aW9uLiBJZiB0aGUgdmFyaWFibGUgaXMgYmxhbmssIG1ldGEv
Y29uZi9kaXN0cm8vZGVmYXVsdHNldHVwLmNvbmYgd2lsbCBiZSB1c2VkLiIKIyAgIHNldCAvbWVk
aWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjgzMgojICAgICBb
dW5leHBvcnRdICIxIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAicG9reSIKdW5zZXQgRElT
VFJPCiMKIyAkRElTVFJPT1ZFUlJJREVTIFsyIG9wZXJhdGlvbnNdCiMgICBzZXQ/IC9tZWRpYS9y
ZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6NzE5CiMgICAgICIke0Bk
LmdldFZhcignRElTVFJPJykgb3IgJyd9IgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9w
b2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6MTQ3CiMgICAgIFtkb2NdICJMaXN0cyBv
dmVycmlkZXMgc3BlY2lmaWMgdG8gdGhlIGN1cnJlbnQgZGlzdHJpYnV0aW9uLiBCeSBkZWZhdWx0
LCB0aGUgdmFyaWFibGUgbGlzdCBpbmNsdWRlcyB0aGUgdmFsdWUgb2YgdGhlIERJU1RSTyB2YXJp
YWJsZS4iCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICIke0BkLmdldFZhcignRElTVFJPJykg
b3IgJyd9IgpESVNUUk9PVkVSUklERVM9InBva3kiCiMKIyAkRElTVFJPX0NPREVOQU1FCiMgICBz
ZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5L2NvbmYvZGlzdHJvL3Bva3ku
Y29uZjo0CiMgICAgICJweXJvIgpESVNUUk9fQ09ERU5BTUU9InB5cm8iCiMKIyAkRElTVFJPX0VY
VFJBX1JERVBFTkRTIFs5IG9wZXJhdGlvbnNdCiMgICBhcHBlbmQgL21lZGlhL3JlYmVjY2FzL3lv
Y3RvL3Bva3kvbWV0YS1wb2t5L2NvbmYvZGlzdHJvL3Bva3kuY29uZjozNQojICAgICAiICR7UE9L
WV9ERUZBVUxUX0VYVFJBX1JERVBFTkRTfSIKIyAgIF9hcHBlbmRbcWVtdWFybV0gL21lZGlhL3Jl
YmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5L2NvbmYvZGlzdHJvL3Bva3kuY29uZjozOQojICAg
ICAiICR7UE9LWVFFTVVERVBTfSIKIyAgIF9hcHBlbmRbcWVtdWFybTY0XSAvbWVkaWEvcmViZWNj
YXMveW9jdG8vcG9reS9tZXRhLXBva3kvY29uZi9kaXN0cm8vcG9reS5jb25mOjQwCiMgICAgICIg
JHtQT0tZUUVNVURFUFN9IgojICAgX2FwcGVuZFtxZW11bWlwc10gL21lZGlhL3JlYmVjY2FzL3lv
Y3RvL3Bva3kvbWV0YS1wb2t5L2NvbmYvZGlzdHJvL3Bva3kuY29uZjo0MQojICAgICAiICR7UE9L
WVFFTVVERVBTfSIKIyAgIF9hcHBlbmRbcWVtdXBwY10gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bv
a3kvbWV0YS1wb2t5L2NvbmYvZGlzdHJvL3Bva3kuY29uZjo0MgojICAgICAiICR7UE9LWVFFTVVE
RVBTfSIKIyAgIF9hcHBlbmRbcWVtdXg4Nl0gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0
YS1wb2t5L2NvbmYvZGlzdHJvL3Bva3kuY29uZjo0MwojICAgICAiICR7UE9LWVFFTVVERVBTfSIK
IyAgIF9hcHBlbmRbcWVtdXg4Ni02NF0gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1w
b2t5L2NvbmYvZGlzdHJvL3Bva3kuY29uZjo0NAojICAgICAiICR7UE9LWVFFTVVERVBTfSIKIyAg
IHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5j
b25mOjEzOQojICAgICBbZG9jXSAiU3BlY2lmaWVzIGEgbGlzdCBvZiBkaXN0cm8tc3BlY2lmaWMg
cGFja2FnZXMgdG8gYWRkIHRvIGFsbCBpbWFnZXMuIFRoZSB2YXJpYWJsZSBvbmx5IGFwcGxpZXMg
dG8gdGhlIGltYWdlcyB0aGF0IGluY2x1ZGUgcGFja2FnZWdyb3VwLWJhc2UuIgojICAgc2V0PyAv
bWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjc4OQojICAg
ICAiIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiICAke1BPS1lfREVGQVVMVF9FWFRSQV9S
REVQRU5EU30gJHtQT0tZUUVNVURFUFN9IgpESVNUUk9fRVhUUkFfUkRFUEVORFM9IiAgcGFja2Fn
ZWdyb3VwLWNvcmUtYm9vdCBwYWNrYWdlZ3JvdXAtY29yZS1kZXZpY2UtZGV2ZWwiCiMKIyAkRElT
VFJPX0VYVFJBX1JSRUNPTU1FTkRTIFszIG9wZXJhdGlvbnNdCiMgICBhcHBlbmQgL21lZGlhL3Jl
YmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5L2NvbmYvZGlzdHJvL3Bva3kuY29uZjozNgojICAg
ICAiICR7UE9LWV9ERUZBVUxUX0VYVFJBX1JSRUNPTU1FTkRTfSIKIyAgIHNldCAvbWVkaWEvcmVi
ZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjE0MAojICAgICBb
ZG9jXSAiU3BlY2lmaWVzIGEgbGlzdCBvZiBkaXN0cm8tc3BlY2lmaWMgcGFja2FnZXMgdG8gYWRk
IHRvIGFsbCBpbWFnZXMgaWYgdGhlIHBhY2thZ2VzIGV4aXN0LiBUaGUgbGlzdCBvZiBwYWNrYWdl
cyBhcmUgYXV0b21hdGljYWxseSBpbnN0YWxsZWQgYnV0IHlvdSBjYW4gcmVtb3ZlIHRoZW0uIgoj
ICAgc2V0PyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25m
Ojc5MAojICAgICAiIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiICAke1BPS1lfREVGQVVM
VF9FWFRSQV9SUkVDT01NRU5EU30iCkRJU1RST19FWFRSQV9SUkVDT01NRU5EUz0iICBrZXJuZWwt
bW9kdWxlLWFmLXBhY2tldCIKIwojICRESVNUUk9fRkVBVFVSRVMgWzUgb3BlcmF0aW9uc10KIyAg
IHNldD8gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5L2NvbmYvZGlzdHJvL3Bv
a3kuY29uZjoyMgojICAgICAiJHtESVNUUk9fRkVBVFVSRVNfREVGQVVMVH0gJHtESVNUUk9fRkVB
VFVSRVNfTElCQ30gJHtQT0tZX0RFRkFVTFRfRElTVFJPX0ZFQVRVUkVTfSIKIyAgIHNldD8gL21l
ZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL2RlZmF1bHQt
ZGlzdHJvdmFycy5pbmM6MjEKIyAgICAgIiR7RElTVFJPX0ZFQVRVUkVTX0RFRkFVTFR9ICR7RElT
VFJPX0ZFQVRVUkVTX0xJQkN9IgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21l
dGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6MTQxCiMgICAgIFtkb2NdICJUaGUgZmVhdHVyZXMg
ZW5hYmxlZCBmb3IgdGhlIGRpc3RyaWJ1dGlvbi4iCiMgICBzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95
b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6Nzg3CiMgICAgICIiCiMgICBhcHBlbmQg
dXRpbHMucHk6MTI3IFtmZWF0dXJlc19iYWNrZmlsbF0KIyAgICAgIiBwdWxzZWF1ZGlvIHN5c3Zp
bml0IGJsdWV6NSBnb2JqZWN0LWludHJvc3BlY3Rpb24tZGF0YSBsZGNvbmZpZyIKIyBwcmUtZXhw
YW5zaW9uIHZhbHVlOgojICAgIiR7RElTVFJPX0ZFQVRVUkVTX0RFRkFVTFR9ICR7RElTVFJPX0ZF
QVRVUkVTX0xJQkN9ICR7UE9LWV9ERUZBVUxUX0RJU1RST19GRUFUVVJFU30gcHVsc2VhdWRpbyBz
eXN2aW5pdCBibHVlejUgZ29iamVjdC1pbnRyb3NwZWN0aW9uLWRhdGEgbGRjb25maWciCkRJU1RS
T19GRUFUVVJFUz0iYWNsIGFsc2EgYXJncCBibHVldG9vdGggZXh0MiBpcmRhIGxhcmdlZmlsZSBw
Y21jaWEgdXNiZ2FkZ2V0IHVzYmhvc3Qgd2lmaSB4YXR0ciBuZnMgemVyb2NvbmYgcGNpIDNnIG5m
YyB4MTEgaXB2NCBpcHY2IGxpYmMtYmFja3RyYWNlIGxpYmMtYmlnLW1hY3JvcyBsaWJjLWJzZCBs
aWJjLWN4eC10ZXN0cyBsaWJjLWNhdGdldHMgbGliYy1jaGFyc2V0cyBsaWJjLWNyeXB0IAkJCQkJ
bGliYy1jcnlwdC11ZmMgbGliYy1kYi1hbGlhc2VzIGxpYmMtZW52eiBsaWJjLWZjdnQgbGliYy1m
bXRtc2cgbGliYy1mc3RhYiBsaWJjLWZ0cmF2ZXJzZSAJCQkJCWxpYmMtZ2V0bG9naW4gbGliYy1p
ZG4gbGliYy1pbmV0LWFubCBsaWJjLWxpYm0gbGliYy1sb2NhbGVzIGxpYmMtbG9jYWxlLWNvZGUg
CQkJCQlsaWJjLW1lbXVzYWdlIGxpYmMtbmlzIGxpYmMtbnNzd2l0Y2ggbGliYy1yY21kIGxpYmMt
cnRsZC1kZWJ1ZyBsaWJjLXNwYXduIGxpYmMtc3RyZWFtcyBsaWJjLXN1bnJwYyAJCQkJCWxpYmMt
dXRtcCBsaWJjLXV0bXB4IGxpYmMtd29yZGV4cCBsaWJjLXBvc2l4LWNsYW5nLXdjaGFyIGxpYmMt
cG9zaXgtcmVnZXhwIGxpYmMtcG9zaXgtcmVnZXhwLWdsaWJjIAkJCQkJbGliYy1wb3NpeC13Y2hh
ci1pbyBsYXJnZWZpbGUgb3BlbmdsIHB0ZXN0IG11bHRpYXJjaCB3YXlsYW5kIHB1bHNlYXVkaW8g
c3lzdmluaXQgYmx1ZXo1IGdvYmplY3QtaW50cm9zcGVjdGlvbi1kYXRhIGxkY29uZmlnIgojCiMg
JERJU1RST19GRUFUVVJFU19CQUNLRklMTCBbMiBvcGVyYXRpb25zXQojICAgc2V0IC9tZWRpYS9y
ZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6MTQyCiMgICAg
IFtkb2NdICJGZWF0dXJlcyB0byBiZSBhZGRlZCB0byBESVNUUk9fRkVBVFVSRVMgaWYgbm90IGFs
c28gcHJlc2VudCBpbiBESVNUUk9fRkVBVFVSRVNfQkFDS0ZJTExfQ09OU0lERVJFRC4gVGhpcyB2
YXJpYWJsZSBpcyBzZXQgaW4gdGhlIG1ldGEvY29uZi9iaXRiYWtlLmNvbmYgZmlsZSBhbmQgaXQg
aXMgbm90IGludGVuZGVkIHRvIGJlIHVzZXItY29uZmlndXJhYmxlLiIKIyAgIHNldCAvbWVkaWEv
cmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjgwOQojICAgICAicHVs
c2VhdWRpbyBzeXN2aW5pdCBibHVlejUgZ29iamVjdC1pbnRyb3NwZWN0aW9uLWRhdGEgbGRjb25m
aWciCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICJwdWxzZWF1ZGlvIHN5c3Zpbml0IGJsdWV6
NSBnb2JqZWN0LWludHJvc3BlY3Rpb24tZGF0YSBsZGNvbmZpZyIKRElTVFJPX0ZFQVRVUkVTX0JB
Q0tGSUxMPSJwdWxzZWF1ZGlvIHN5c3Zpbml0IGJsdWV6NSBnb2JqZWN0LWludHJvc3BlY3Rpb24t
ZGF0YSBsZGNvbmZpZyIKIwojICRESVNUUk9fRkVBVFVSRVNfQkFDS0ZJTExfQ09OU0lERVJFRAoj
ICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9u
LmNvbmY6MTQzCiMgICAgIFtkb2NdICJGZWF0dXJlcyBmcm9tIERJU1RST19GRUFUVVJFU19CQUNL
RklMTCB0aGF0IHNob3VsZCBub3QgYmUgYmFja2ZpbGxlZCAoaS5lLiBhZGRlZCB0byBESVNUUk9f
RkVBVFVSRVMpIGR1cmluZyB0aGUgYnVpbGQuIgojCiMgJERJU1RST19GRUFUVVJFU19ERUZBVUxU
CiMgICBzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5j
bHVkZS9kZWZhdWx0LWRpc3Ryb3ZhcnMuaW5jOjEyCiMgICAgICJhY2wgYWxzYSBhcmdwIGJsdWV0
b290aCBleHQyIGlyZGEgbGFyZ2VmaWxlIHBjbWNpYSB1c2JnYWRnZXQgdXNiaG9zdCB3aWZpIHhh
dHRyIG5mcyB6ZXJvY29uZiBwY2kgM2cgbmZjIHgxMSIKRElTVFJPX0ZFQVRVUkVTX0RFRkFVTFQ9
ImFjbCBhbHNhIGFyZ3AgYmx1ZXRvb3RoIGV4dDIgaXJkYSBsYXJnZWZpbGUgcGNtY2lhIHVzYmdh
ZGdldCB1c2Job3N0IHdpZmkgeGF0dHIgbmZzIHplcm9jb25mIHBjaSAzZyBuZmMgeDExIgojCiMg
JERJU1RST19GRUFUVVJFU19GSUxURVJfTkFUSVZFCiMgICBzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95
b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6ODA2CiMgICAgICJhcGktZG9jdW1lbnRh
dGlvbiIKRElTVFJPX0ZFQVRVUkVTX0ZJTFRFUl9OQVRJVkU9ImFwaS1kb2N1bWVudGF0aW9uIgoj
CiMgJERJU1RST19GRUFUVVJFU19GSUxURVJfTkFUSVZFU0RLCiMgICBzZXQ/IC9tZWRpYS9yZWJl
Y2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6ODA3CiMgICAgICJhcGktZG9j
dW1lbnRhdGlvbiIKRElTVFJPX0ZFQVRVUkVTX0ZJTFRFUl9OQVRJVkVTREs9ImFwaS1kb2N1bWVu
dGF0aW9uIgojCiMgJERJU1RST19GRUFUVVJFU19MSUJDIFsyIG9wZXJhdGlvbnNdCiMgICBzZXQ/
IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9kZWZh
dWx0LWRpc3Ryb3ZhcnMuaW5jOjE5CiMgICAgICIke0RJU1RST19GRUFUVVJFU19MSUJDX0RFRkFV
TFR9IgojICAgb3ZlcnJpZGVbY2xhc3MtbmF0aXZlc2RrXTpzZXQgL21lZGlhL3JlYmVjY2FzL3lv
Y3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL2RlZmF1bHQtZGlzdHJvdmFycy5pbmM6
MjAKIyAgICAgIiR7RElTVFJPX0ZFQVRVUkVTX0xJQkNfREVGQVVMVH0iCiMgcHJlLWV4cGFuc2lv
biB2YWx1ZToKIyAgICIke0RJU1RST19GRUFUVVJFU19MSUJDX0RFRkFVTFR9IgpESVNUUk9fRkVB
VFVSRVNfTElCQz0iaXB2NCBpcHY2IGxpYmMtYmFja3RyYWNlIGxpYmMtYmlnLW1hY3JvcyBsaWJj
LWJzZCBsaWJjLWN4eC10ZXN0cyBsaWJjLWNhdGdldHMgbGliYy1jaGFyc2V0cyBsaWJjLWNyeXB0
IAkJCQkJbGliYy1jcnlwdC11ZmMgbGliYy1kYi1hbGlhc2VzIGxpYmMtZW52eiBsaWJjLWZjdnQg
bGliYy1mbXRtc2cgbGliYy1mc3RhYiBsaWJjLWZ0cmF2ZXJzZSAJCQkJCWxpYmMtZ2V0bG9naW4g
bGliYy1pZG4gbGliYy1pbmV0LWFubCBsaWJjLWxpYm0gbGliYy1sb2NhbGVzIGxpYmMtbG9jYWxl
LWNvZGUgCQkJCQlsaWJjLW1lbXVzYWdlIGxpYmMtbmlzIGxpYmMtbnNzd2l0Y2ggbGliYy1yY21k
IGxpYmMtcnRsZC1kZWJ1ZyBsaWJjLXNwYXduIGxpYmMtc3RyZWFtcyBsaWJjLXN1bnJwYyAJCQkJ
CWxpYmMtdXRtcCBsaWJjLXV0bXB4IGxpYmMtd29yZGV4cCBsaWJjLXBvc2l4LWNsYW5nLXdjaGFy
IGxpYmMtcG9zaXgtcmVnZXhwIGxpYmMtcG9zaXgtcmVnZXhwLWdsaWJjIAkJCQkJbGliYy1wb3Np
eC13Y2hhci1pbyIKIwojICRESVNUUk9fRkVBVFVSRVNfTElCQ19ERUZBVUxUCiMgICBzZXQ/IC9t
ZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9kZWZhdWx0
LWRpc3Ryb3ZhcnMuaW5jOjE4CiMgICAgICJpcHY0IGlwdjYgbGliYy1iYWNrdHJhY2UgbGliYy1i
aWctbWFjcm9zIGxpYmMtYnNkIGxpYmMtY3h4LXRlc3RzIGxpYmMtY2F0Z2V0cyBsaWJjLWNoYXJz
ZXRzIGxpYmMtY3J5cHQgCQkJCQlsaWJjLWNyeXB0LXVmYyBsaWJjLWRiLWFsaWFzZXMgbGliYy1l
bnZ6IGxpYmMtZmN2dCBsaWJjLWZtdG1zZyBsaWJjLWZzdGFiIGxpYmMtZnRyYXZlcnNlIAkJCQkJ
bGliYy1nZXRsb2dpbiBsaWJjLWlkbiBsaWJjLWluZXQtYW5sIGxpYmMtbGlibSBsaWJjLWxvY2Fs
ZXMgbGliYy1sb2NhbGUtY29kZSAJCQkJCWxpYmMtbWVtdXNhZ2UgbGliYy1uaXMgbGliYy1uc3N3
aXRjaCBsaWJjLXJjbWQgbGliYy1ydGxkLWRlYnVnIGxpYmMtc3Bhd24gbGliYy1zdHJlYW1zIGxp
YmMtc3VucnBjIAkJCQkJbGliYy11dG1wIGxpYmMtdXRtcHggbGliYy13b3JkZXhwIGxpYmMtcG9z
aXgtY2xhbmctd2NoYXIgbGliYy1wb3NpeC1yZWdleHAgbGliYy1wb3NpeC1yZWdleHAtZ2xpYmMg
CQkJCQlsaWJjLXBvc2l4LXdjaGFyLWlvIgpESVNUUk9fRkVBVFVSRVNfTElCQ19ERUZBVUxUPSJp
cHY0IGlwdjYgbGliYy1iYWNrdHJhY2UgbGliYy1iaWctbWFjcm9zIGxpYmMtYnNkIGxpYmMtY3h4
LXRlc3RzIGxpYmMtY2F0Z2V0cyBsaWJjLWNoYXJzZXRzIGxpYmMtY3J5cHQgCQkJCQlsaWJjLWNy
eXB0LXVmYyBsaWJjLWRiLWFsaWFzZXMgbGliYy1lbnZ6IGxpYmMtZmN2dCBsaWJjLWZtdG1zZyBs
aWJjLWZzdGFiIGxpYmMtZnRyYXZlcnNlIAkJCQkJbGliYy1nZXRsb2dpbiBsaWJjLWlkbiBsaWJj
LWluZXQtYW5sIGxpYmMtbGlibSBsaWJjLWxvY2FsZXMgbGliYy1sb2NhbGUtY29kZSAJCQkJCWxp
YmMtbWVtdXNhZ2UgbGliYy1uaXMgbGliYy1uc3N3aXRjaCBsaWJjLXJjbWQgbGliYy1ydGxkLWRl
YnVnIGxpYmMtc3Bhd24gbGliYy1zdHJlYW1zIGxpYmMtc3VucnBjIAkJCQkJbGliYy11dG1wIGxp
YmMtdXRtcHggbGliYy13b3JkZXhwIGxpYmMtcG9zaXgtY2xhbmctd2NoYXIgbGliYy1wb3NpeC1y
ZWdleHAgbGliYy1wb3NpeC1yZWdleHAtZ2xpYmMgCQkJCQlsaWJjLXBvc2l4LXdjaGFyLWlvIgoj
CiMgJERJU1RST19GRUFUVVJFU19MSUJDX2NsYXNzLW5hdGl2ZXNkawojICAgc2V0IC9tZWRpYS9y
ZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9kZWZhdWx0LWRpc3Ry
b3ZhcnMuaW5jOjIwCiMgICAgICIke0RJU1RST19GRUFUVVJFU19MSUJDX0RFRkFVTFR9IgpESVNU
Uk9fRkVBVFVSRVNfTElCQ19jbGFzcy1uYXRpdmVzZGs9ImlwdjQgaXB2NiBsaWJjLWJhY2t0cmFj
ZSBsaWJjLWJpZy1tYWNyb3MgbGliYy1ic2QgbGliYy1jeHgtdGVzdHMgbGliYy1jYXRnZXRzIGxp
YmMtY2hhcnNldHMgbGliYy1jcnlwdCAJCQkJCWxpYmMtY3J5cHQtdWZjIGxpYmMtZGItYWxpYXNl
cyBsaWJjLWVudnogbGliYy1mY3Z0IGxpYmMtZm10bXNnIGxpYmMtZnN0YWIgbGliYy1mdHJhdmVy
c2UgCQkJCQlsaWJjLWdldGxvZ2luIGxpYmMtaWRuIGxpYmMtaW5ldC1hbmwgbGliYy1saWJtIGxp
YmMtbG9jYWxlcyBsaWJjLWxvY2FsZS1jb2RlIAkJCQkJbGliYy1tZW11c2FnZSBsaWJjLW5pcyBs
aWJjLW5zc3dpdGNoIGxpYmMtcmNtZCBsaWJjLXJ0bGQtZGVidWcgbGliYy1zcGF3biBsaWJjLXN0
cmVhbXMgbGliYy1zdW5ycGMgCQkJCQlsaWJjLXV0bXAgbGliYy11dG1weCBsaWJjLXdvcmRleHAg
bGliYy1wb3NpeC1jbGFuZy13Y2hhciBsaWJjLXBvc2l4LXJlZ2V4cCBsaWJjLXBvc2l4LXJlZ2V4
cC1nbGliYyAJCQkJCWxpYmMtcG9zaXgtd2NoYXItaW8iCiMKIyAkRElTVFJPX0ZFQVRVUkVTX05B
VElWRQojICAgc2V0PyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFr
ZS5jb25mOjgwMQojICAgICAieDExIgpESVNUUk9fRkVBVFVSRVNfTkFUSVZFPSJ4MTEiCiMKIyAk
RElTVFJPX0ZFQVRVUkVTX05BVElWRVNESwojICAgc2V0PyAvbWVkaWEvcmViZWNjYXMveW9jdG8v
cG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjgwMgojICAgICAieDExIGxpYmMtY2hhcnNldHMg
bGliYy1sb2NhbGVzIGxpYmMtbG9jYWxlLWNvZGUiCkRJU1RST19GRUFUVVJFU19OQVRJVkVTREs9
IngxMSBsaWJjLWNoYXJzZXRzIGxpYmMtbG9jYWxlcyBsaWJjLWxvY2FsZS1jb2RlIgojCiMgJERJ
U1RST19OQU1FIFszIG9wZXJhdGlvbnNdCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bv
a3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo3MDIKIyAgICAgW19kZWZhdWx0dmFsXSAiT3BlbkVt
YmVkZGVkIgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEtcG9reS9jb25m
L2Rpc3Ryby9wb2t5LmNvbmY6MgojICAgICAiUG9reSAoWW9jdG8gUHJvamVjdCBSZWZlcmVuY2Ug
RGlzdHJvKSIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZG9j
dW1lbnRhdGlvbi5jb25mOjE0NAojICAgICBbZG9jXSAiVGhlIGxvbmcgbmFtZSBvZiB0aGUgZGlz
dHJpYnV0aW9uLiIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIlBva3kgKFlvY3RvIFByb2pl
Y3QgUmVmZXJlbmNlIERpc3RybykiCkRJU1RST19OQU1FPSJQb2t5IChZb2N0byBQcm9qZWN0IFJl
ZmVyZW5jZSBEaXN0cm8pIgojCiMgJERJU1RST19QTl9BTElBUwojICAgc2V0IC9tZWRpYS9yZWJl
Y2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6MTQ1CiMgICAgIFtk
b2NdICJBbGlhcyBuYW1lcyB1c2VkIGZvciB0aGUgcmVjaXBlIGluIHZhcmlvdXMgTGludXggZGlz
dHJpYnV0aW9ucy4iCiMKIyAkRElTVFJPX1ZFUlNJT04gWzQgb3BlcmF0aW9uc10KIyAgIHNldCAv
bWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXBva3kvY29uZi9kaXN0cm8vcG9reS5jb25m
OjMKIyAgICAgIjIuMy4yIgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEt
cG9reS9jb25mL2Rpc3Ryby9wb2t5LmNvbmY6MTQKIyAgICAgW3ZhcmRlcHNleGNsdWRlXSAiREFU
RSIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2lu
Y2x1ZGUvZGVmYXVsdC1kaXN0cm92YXJzLmluYzo0MgojICAgICBbX2RlZmF1bHR2YWxdICJub2Rp
c3Ryby4wIgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1
bWVudGF0aW9uLmNvbmY6MTQ2CiMgICAgIFtkb2NdICJUaGUgdmVyc2lvbiBvZiB0aGUgZGlzdHJp
YnV0aW9uLiIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIjIuMy4yIgpESVNUUk9fVkVSU0lP
Tj0iMi4zLjIiCiMKIyAkRExfRElSIFszIG9wZXJhdGlvbnNdCiMgICBzZXQgL21lZGlhL3JlYmVj
Y2FzL3lvY3RvL2x0dG5nL2NvbmYvc2l0ZS5jb25mOjYKIyAgICAgIi9tZWRpYS9yZWJlY2Nhcy9i
dWlsZC9kb3dubG9hZHMiCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9j
b25mL2RvY3VtZW50YXRpb24uY29uZjoxNDgKIyAgICAgW2RvY10gIlRoZSBjZW50cmFsIGRvd25s
b2FkIGRpcmVjdG9yeSB1c2VkIGJ5IHRoZSBidWlsZCBwcm9jZXNzIHRvIHN0b3JlIGRvd25sb2Fk
cy4gQnkgZGVmYXVsdCwgdGhlIGRpcmVjdG9yeSBpcyAnZG93bmxvYWRzJyBpbiB0aGUgQnVpbGQg
RGlyZWN0b3J5LiIKIyAgIHNldD8gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25m
L2JpdGJha2UuY29uZjo3NDgKIyAgICAgIiR7VE9QRElSfS9kb3dubG9hZHMiCiMgcHJlLWV4cGFu
c2lvbiB2YWx1ZToKIyAgICIvbWVkaWEvcmViZWNjYXMvYnVpbGQvZG93bmxvYWRzIgpETF9ESVI9
Ii9tZWRpYS9yZWJlY2Nhcy9idWlsZC9kb3dubG9hZHMiCiMKIyAkRU5BQkxFX0JJTkFSWV9MT0NB
TEVfR0VORVJBVElPTiBbMiBvcGVyYXRpb25zXQojICAgc2V0PyAvbWVkaWEvcmViZWNjYXMveW9j
dG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvZGVmYXVsdC1kaXN0cm92YXJzLmluYzo4
CiMgICAgICIxIgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9k
b2N1bWVudGF0aW9uLmNvbmY6MTUyCiMgICAgIFtkb2NdICJDb250cm9scyB3aGljaCBsb2NhbGVz
IGZvciBnbGliYyBhcmUgZ2VuZXJhdGVkIGR1cmluZyB0aGUgYnVpbGQuIFRoZSB2YXJpYWJsZSBp
cyB1c2VmdWwgaWYgdGhlIHRhcmdldCBkZXZpY2UgaGFzIDY0TWJ5dGVzIG9mIFJBTSBvciBsZXNz
LiIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIjEiCkVOQUJMRV9CSU5BUllfTE9DQUxFX0dF
TkVSQVRJT049IjEiCiMKIyAkRU5BQkxFX1JQTV9GSUxFREVQU19GT1JfUFlSTwojICAgc2V0IC9t
ZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY2xhc3Nlcy9wYWNrYWdlLmJiY2xhc3M6MTQ0
MgojICAgICBbX2RlZmF1bHR2YWxdICIwIgpFTkFCTEVfUlBNX0ZJTEVERVBTX0ZPUl9QWVJPPSIw
IgojCiMgJEVSUk9SX1FBIFszIG9wZXJhdGlvbnNdCiMgICBfYXBwZW5kIC9tZWRpYS9yZWJlY2Nh
cy95b2N0by9wb2t5L21ldGEtcG9reS9jb25mL2Rpc3Ryby9wb2t5LmNvbmY6MTAxCiMgICAgICIg
JHtXQVJOX1RPX0VSUk9SX1FBfSIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9t
ZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjE1MwojICAgICBbZG9jXSAiU3BlY2lmaWVzIHRo
ZSBxdWFsaXR5IGFzc3VyYW5jZSBjaGVja3Mgd2hvc2UgZmFpbHVyZXMgYXJlIHJlcG9ydGVkIGFz
IGVycm9ycyBieSB0aGUgT3BlbkVtYmVkZGVkIGJ1aWxkIHN5c3RlbS4iCiMgICBzZXQ/IC9tZWRp
YS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY2xhc3Nlcy9pbnNhbmUuYmJjbGFzczo0MgojICAg
ICAiZGV2LXNvIGRlYnVnLWRlcHMgZGV2LWRlcHMgZGVidWctZmlsZXMgYXJjaCBwa2djb25maWcg
bGEgICAgICAgICAgICAgcGVybXMgZGVwLWNtcCBwa2d2YXJjaGVjayBwZXJtLWNvbmZpZyBwZXJt
LWxpbmUgcGVybS1saW5rICAgICAgICAgICAgIHNwbGl0LXN0cmlwIHBhY2thZ2VzLWxpc3QgcGtn
di11bmRlZmluZWQgdmFyLXVuZGVmaW5lZCAgICAgICAgICAgICB2ZXJzaW9uLWdvaW5nLWJhY2t3
YXJkcyBleHBhbmRlZC1kIGludmFsaWQtY2hhcnMgICAgICAgICAgICAgbGljZW5zZS1jaGVja3N1
bSBkZXYtZWxmIGZpbGUtcmRlcHMgICAgICAgICAgICAgIgojIHByZS1leHBhbnNpb24gdmFsdWU6
CiMgICAiZGV2LXNvIGRlYnVnLWRlcHMgZGV2LWRlcHMgZGVidWctZmlsZXMgYXJjaCBwa2djb25m
aWcgbGEgICAgICAgICAgICAgcGVybXMgZGVwLWNtcCBwa2d2YXJjaGVjayBwZXJtLWNvbmZpZyBw
ZXJtLWxpbmUgcGVybS1saW5rICAgICAgICAgICAgIHNwbGl0LXN0cmlwIHBhY2thZ2VzLWxpc3Qg
cGtndi11bmRlZmluZWQgdmFyLXVuZGVmaW5lZCAgICAgICAgICAgICB2ZXJzaW9uLWdvaW5nLWJh
Y2t3YXJkcyBleHBhbmRlZC1kIGludmFsaWQtY2hhcnMgICAgICAgICAgICAgbGljZW5zZS1jaGVj
a3N1bSBkZXYtZWxmIGZpbGUtcmRlcHMgICAgICAgICAgICAgICR7V0FSTl9UT19FUlJPUl9RQX0i
CkVSUk9SX1FBPSJkZXYtc28gZGVidWctZGVwcyBkZXYtZGVwcyBkZWJ1Zy1maWxlcyBhcmNoIHBr
Z2NvbmZpZyBsYSAgICAgICAgICAgICBwZXJtcyBkZXAtY21wIHBrZ3ZhcmNoZWNrIHBlcm0tY29u
ZmlnIHBlcm0tbGluZSBwZXJtLWxpbmsgICAgICAgICAgICAgc3BsaXQtc3RyaXAgcGFja2FnZXMt
bGlzdCBwa2d2LXVuZGVmaW5lZCB2YXItdW5kZWZpbmVkICAgICAgICAgICAgIHZlcnNpb24tZ29p
bmctYmFja3dhcmRzIGV4cGFuZGVkLWQgaW52YWxpZC1jaGFycyAgICAgICAgICAgICBsaWNlbnNl
LWNoZWNrc3VtIGRldi1lbGYgZmlsZS1yZGVwcyAgICAgICAgICAgICAgYWxyZWFkeS1zdHJpcHBl
ZCBjb21waWxlLWhvc3QtcGF0aCBpbnN0YWxsLWhvc3QtcGF0aCBpbnN0YWxsZWQtdnMtc2hpcHBl
ZCBsZGZsYWdzIHBuLW92ZXJyaWRlcyBycGF0aHMgc3RhdGljZGV2IHVzZWxlc3MtcnBhdGhzIgoj
CiMgJEVYQ0xVREVfRlJPTV9XT1JMRCBbMjAgb3BlcmF0aW9uc10KIyAgIHNldCAvbWVkaWEvcmVi
ZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjE1NAojICAgICBb
ZG9jXSAiRGlyZWN0cyBCaXRCYWtlIHRvIGV4Y2x1ZGUgYSByZWNpcGUgZnJvbSB3b3JsZCBidWls
ZHMgKGkuZS4gYml0YmFrZSB3b3JsZCkuIgojICAgb3ZlcnJpZGVbcG4tcXd0XTpzZXQgL21lZGlh
L3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5L2NvbmYvZGlzdHJvL2luY2x1ZGUvcG9reS13
b3JsZC1leGNsdWRlLmluYzo2CiMgICAgICIxIgojICAgb3ZlcnJpZGVbcG4tcHl0aG9uLXB5cXRd
OnNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXBva3kvY29uZi9kaXN0cm8vaW5j
bHVkZS9wb2t5LXdvcmxkLWV4Y2x1ZGUuaW5jOjgKIyAgICAgIjEiCiMgICBvdmVycmlkZVtwbi1y
dC10ZXN0c19saWJjLW11c2xdOnNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2Nv
bmYvZGlzdHJvL2luY2x1ZGUvd29ybGQtYnJva2VuLmluYzo2CiMgICAgICIxIgojICAgb3ZlcnJp
ZGVbcG4tcG9ydG1hcF9saWJjLW11c2xdOnNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9t
ZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvd29ybGQtYnJva2VuLmluYzoxMAojICAgICAiMSIKIyAg
IG92ZXJyaWRlW3BuLXVuZnMzX2xpYmMtbXVzbF06c2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9w
b2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS93b3JsZC1icm9rZW4uaW5jOjExCiMgICAgICIx
IgojICAgb3ZlcnJpZGVbcG4tcHNldWRvX2xpYmMtbXVzbF06c2V0IC9tZWRpYS9yZWJlY2Nhcy95
b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS93b3JsZC1icm9rZW4uaW5jOjE0CiMg
ICAgICIxIgojICAgb3ZlcnJpZGVbcG4tbGlic29sdl9saWJjLW11c2xdOnNldCAvbWVkaWEvcmVi
ZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvd29ybGQtYnJva2VuLmlu
YzoxNwojICAgICAiMSIKIyAgIG92ZXJyaWRlW3BuLWJ0cmZzLXRvb2xzX2xpYmMtbXVzbF06c2V0
IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS93b3Js
ZC1icm9rZW4uaW5jOjIwCiMgICAgICIxIgojICAgb3ZlcnJpZGVbcG4tcHJlbGlua19saWJjLW11
c2xdOnNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1
ZGUvd29ybGQtYnJva2VuLmluYzoyMwojICAgICAiMSIKIyAgIG92ZXJyaWRlW3BuLWxpYmJzZF9s
aWJjLW11c2xdOnNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJv
L2luY2x1ZGUvd29ybGQtYnJva2VuLmluYzoyNgojICAgICAiMSIKIyAgIG92ZXJyaWRlW3BuLWx0
dG5nLXVzdF9saWJjLW11c2xdOnNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2Nv
bmYvZGlzdHJvL2luY2x1ZGUvd29ybGQtYnJva2VuLmluYzoyOQojICAgICAiMSIKIyAgIG92ZXJy
aWRlW3BuLWx0dG5nLXRvb2xzX2xpYmMtbXVzbF06c2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9w
b2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS93b3JsZC1icm9rZW4uaW5jOjMwCiMgICAgICIx
IgojICAgb3ZlcnJpZGVbcG4tc3lzdGVtdGFwX2xpYmMtbXVzbF06c2V0IC9tZWRpYS9yZWJlY2Nh
cy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS93b3JsZC1icm9rZW4uaW5jOjMz
CiMgICAgICIxIgojICAgb3ZlcnJpZGVbcG4tc3lzdGVtdGFwLXVwcm9iZXNfbGliYy1tdXNsXTpz
ZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL3dv
cmxkLWJyb2tlbi5pbmM6MzQKIyAgICAgIjEiCiMgICBvdmVycmlkZVtwbi1xZW11X2xpYmMtbXVz
bF06c2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVk
ZS93b3JsZC1icm9rZW4uaW5jOjM4CiMgICAgICIxIgojICAgb3ZlcnJpZGVbcG4tdmFsZ3JpbmRf
bGliYy1tdXNsXTpzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ry
by9pbmNsdWRlL3dvcmxkLWJyb2tlbi5pbmM6NDIKIyAgICAgIjEiCiMgICBvdmVycmlkZVtwbi1w
ZXJmX2xpYmMtbXVzbF06c2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9k
aXN0cm8vaW5jbHVkZS93b3JsZC1icm9rZW4uaW5jOjQ2CiMgICAgICIxIgojICAgb3ZlcnJpZGVb
cG4tZ2NjLXNhbml0aXplcnNfbGliYy1tdXNsXTpzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bv
a3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL3dvcmxkLWJyb2tlbi5pbmM6NDkKIyAgICAgIjEi
CiMgICBvdmVycmlkZVtwbi1saWJ1bndpbmRfbGliYy1tdXNsX2FybV06c2V0IC9tZWRpYS9yZWJl
Y2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS93b3JsZC1icm9rZW4uaW5j
OjU2CiMgICAgICIxIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiTm9uZSIKIwojICRFWENM
VURFX0ZST01fV09STERfcG4tYnRyZnMtdG9vbHNfbGliYy1tdXNsCiMgICBzZXQgL21lZGlhL3Jl
YmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL3dvcmxkLWJyb2tlbi5p
bmM6MjAKIyAgICAgIjEiCkVYQ0xVREVfRlJPTV9XT1JMRF9wbi1idHJmcy10b29sc19saWJjLW11
c2w9IjEiCiMKIyAkRVhDTFVERV9GUk9NX1dPUkxEX3BuLWdjYy1zYW5pdGl6ZXJzX2xpYmMtbXVz
bAojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5j
bHVkZS93b3JsZC1icm9rZW4uaW5jOjQ5CiMgICAgICIxIgpFWENMVURFX0ZST01fV09STERfcG4t
Z2NjLXNhbml0aXplcnNfbGliYy1tdXNsPSIxIgojCiMgJEVYQ0xVREVfRlJPTV9XT1JMRF9wbi1s
aWJic2RfbGliYy1tdXNsCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9j
b25mL2Rpc3Ryby9pbmNsdWRlL3dvcmxkLWJyb2tlbi5pbmM6MjYKIyAgICAgIjEiCkVYQ0xVREVf
RlJPTV9XT1JMRF9wbi1saWJic2RfbGliYy1tdXNsPSIxIgojCiMgJEVYQ0xVREVfRlJPTV9XT1JM
RF9wbi1saWJzb2x2X2xpYmMtbXVzbAojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5
L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS93b3JsZC1icm9rZW4uaW5jOjE3CiMgICAgICIxIgpF
WENMVURFX0ZST01fV09STERfcG4tbGlic29sdl9saWJjLW11c2w9IjEiCiMKIyAkRVhDTFVERV9G
Uk9NX1dPUkxEX3BuLWxpYnVud2luZF9saWJjLW11c2xfYXJtCiMgICBzZXQgL21lZGlhL3JlYmVj
Y2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL3dvcmxkLWJyb2tlbi5pbmM6
NTYKIyAgICAgIjEiCkVYQ0xVREVfRlJPTV9XT1JMRF9wbi1saWJ1bndpbmRfbGliYy1tdXNsX2Fy
bT0iMSIKIwojICRFWENMVURFX0ZST01fV09STERfcG4tbHR0bmctdG9vbHNfbGliYy1tdXNsCiMg
ICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRl
L3dvcmxkLWJyb2tlbi5pbmM6MzAKIyAgICAgIjEiCkVYQ0xVREVfRlJPTV9XT1JMRF9wbi1sdHRu
Zy10b29sc19saWJjLW11c2w9IjEiCiMKIyAkRVhDTFVERV9GUk9NX1dPUkxEX3BuLWx0dG5nLXVz
dF9saWJjLW11c2wKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYv
ZGlzdHJvL2luY2x1ZGUvd29ybGQtYnJva2VuLmluYzoyOQojICAgICAiMSIKRVhDTFVERV9GUk9N
X1dPUkxEX3BuLWx0dG5nLXVzdF9saWJjLW11c2w9IjEiCiMKIyAkRVhDTFVERV9GUk9NX1dPUkxE
X3BuLXBlcmZfbGliYy1tdXNsCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0
YS9jb25mL2Rpc3Ryby9pbmNsdWRlL3dvcmxkLWJyb2tlbi5pbmM6NDYKIyAgICAgIjEiCkVYQ0xV
REVfRlJPTV9XT1JMRF9wbi1wZXJmX2xpYmMtbXVzbD0iMSIKIwojICRFWENMVURFX0ZST01fV09S
TERfcG4tcG9ydG1hcF9saWJjLW11c2wKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9r
eS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvd29ybGQtYnJva2VuLmluYzoxMAojICAgICAiMSIK
RVhDTFVERV9GUk9NX1dPUkxEX3BuLXBvcnRtYXBfbGliYy1tdXNsPSIxIgojCiMgJEVYQ0xVREVf
RlJPTV9XT1JMRF9wbi1wcmVsaW5rX2xpYmMtbXVzbAojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95
b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS93b3JsZC1icm9rZW4uaW5jOjIzCiMg
ICAgICIxIgpFWENMVURFX0ZST01fV09STERfcG4tcHJlbGlua19saWJjLW11c2w9IjEiCiMKIyAk
RVhDTFVERV9GUk9NX1dPUkxEX3BuLXBzZXVkb19saWJjLW11c2wKIyAgIHNldCAvbWVkaWEvcmVi
ZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvd29ybGQtYnJva2VuLmlu
YzoxNAojICAgICAiMSIKRVhDTFVERV9GUk9NX1dPUkxEX3BuLXBzZXVkb19saWJjLW11c2w9IjEi
CiMKIyAkRVhDTFVERV9GUk9NX1dPUkxEX3BuLXB5dGhvbi1weXF0CiMgICBzZXQgL21lZGlhL3Jl
YmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5L2NvbmYvZGlzdHJvL2luY2x1ZGUvcG9reS13b3Js
ZC1leGNsdWRlLmluYzo4CiMgICAgICIxIgpFWENMVURFX0ZST01fV09STERfcG4tcHl0aG9uLXB5
cXQ9IjEiCiMKIyAkRVhDTFVERV9GUk9NX1dPUkxEX3BuLXFlbXVfbGliYy1tdXNsCiMgICBzZXQg
L21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL3dvcmxk
LWJyb2tlbi5pbmM6MzgKIyAgICAgIjEiCkVYQ0xVREVfRlJPTV9XT1JMRF9wbi1xZW11X2xpYmMt
bXVzbD0iMSIKIwojICRFWENMVURFX0ZST01fV09STERfcG4tcXd0CiMgICBzZXQgL21lZGlhL3Jl
YmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5L2NvbmYvZGlzdHJvL2luY2x1ZGUvcG9reS13b3Js
ZC1leGNsdWRlLmluYzo2CiMgICAgICIxIgpFWENMVURFX0ZST01fV09STERfcG4tcXd0PSIxIgoj
CiMgJEVYQ0xVREVfRlJPTV9XT1JMRF9wbi1ydC10ZXN0c19saWJjLW11c2wKIyAgIHNldCAvbWVk
aWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvd29ybGQtYnJv
a2VuLmluYzo2CiMgICAgICIxIgpFWENMVURFX0ZST01fV09STERfcG4tcnQtdGVzdHNfbGliYy1t
dXNsPSIxIgojCiMgJEVYQ0xVREVfRlJPTV9XT1JMRF9wbi1zeXN0ZW10YXAtdXByb2Jlc19saWJj
LW11c2wKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJv
L2luY2x1ZGUvd29ybGQtYnJva2VuLmluYzozNAojICAgICAiMSIKRVhDTFVERV9GUk9NX1dPUkxE
X3BuLXN5c3RlbXRhcC11cHJvYmVzX2xpYmMtbXVzbD0iMSIKIwojICRFWENMVURFX0ZST01fV09S
TERfcG4tc3lzdGVtdGFwX2xpYmMtbXVzbAojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9w
b2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS93b3JsZC1icm9rZW4uaW5jOjMzCiMgICAgICIx
IgpFWENMVURFX0ZST01fV09STERfcG4tc3lzdGVtdGFwX2xpYmMtbXVzbD0iMSIKIwojICRFWENM
VURFX0ZST01fV09STERfcG4tdW5mczNfbGliYy1tdXNsCiMgICBzZXQgL21lZGlhL3JlYmVjY2Fz
L3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL3dvcmxkLWJyb2tlbi5pbmM6MTEK
IyAgICAgIjEiCkVYQ0xVREVfRlJPTV9XT1JMRF9wbi11bmZzM19saWJjLW11c2w9IjEiCiMKIyAk
RVhDTFVERV9GUk9NX1dPUkxEX3BuLXZhbGdyaW5kX2xpYmMtbXVzbAojICAgc2V0IC9tZWRpYS9y
ZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS93b3JsZC1icm9rZW4u
aW5jOjQyCiMgICAgICIxIgpFWENMVURFX0ZST01fV09STERfcG4tdmFsZ3JpbmRfbGliYy1tdXNs
PSIxIgojCiMgJEVYQ09ORklHX0FSR1MgWzMgb3BlcmF0aW9uc10KIyAgIF9hcHBlbmRbcG4tbmN1
cnNlc10gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRl
L25vLXN0YXRpYy1saWJzLmluYzozNwojICAgICAiIC0td2l0aG91dC1ub3JtYWwiCiMgICBfYXBw
ZW5kW3BuLW5jdXJzZXMtbmF0aXZlXSAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2Nv
bmYvZGlzdHJvL2luY2x1ZGUvbm8tc3RhdGljLWxpYnMuaW5jOjM4CiMgICAgICIgLS13aXRob3V0
LW5vcm1hbCIKIyAgIF9hcHBlbmRbcG4tbmF0aXZlc2RrLW5jdXJzZXNdIC9tZWRpYS9yZWJlY2Nh
cy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9uby1zdGF0aWMtbGlicy5pbmM6
MzkKIyAgICAgIiAtLXdpdGhvdXQtbm9ybWFsIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAi
IgpFWENPTkZJR19BUkdTPSIiCiMKIyAkRVhURU5EUEUgWzIgb3BlcmF0aW9uc10KIyAgIHNldCAv
bWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjE5OQojICAg
ICAiJHtAWycnLCcke1BFfV8nXVtpbnQoZC5nZXRWYXIoJ1BFJykgb3IgMCkgPiAwXX0iCiMgICBz
ZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29u
ZjoxNTUKIyAgICAgW2RvY10gIlVzZWQgd2l0aCBmaWxlIGFuZCBwYXRobmFtZXMgdG8gY3JlYXRl
IGEgcHJlZml4IGZvciBhIHJlY2lwZSdzIHZlcnNpb24gYmFzZWQgb24gdGhlIHJlY2lwZSdzIFBF
IHZhbHVlLiBJZiBQRSBpcyBzZXQgYW5kIGdyZWF0ZXIgdGhhbiB6ZXJvIGZvciBhIHJlY2lwZSwg
RVhURU5EUEUgYmVjb21lcyB0aGF0IHZhbHVlLiIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAg
IiR7QFsnJywnJHtQRX1fJ11baW50KGQuZ2V0VmFyKCdQRScpIG9yIDApID4gMF19IgpFWFRFTkRQ
RT0iIgojCiMgJEVYVEVORFBLR0VWRVIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9r
eS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjIwOQojICAgICAiJHtAWycnLCcke1BLR0V9OiddW2Qu
Z2V0VmFyKCdQS0dFJykuc3RyaXAoKSAhPSAnJ119IgpFWFRFTkRQS0dFVkVSPSIiCiMKIyAkRVhU
RU5EUEtHViBbMiBvcGVyYXRpb25zXQojICAgc2V0PyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9r
eS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjIxMAojICAgICAiJHtFWFRFTkRQS0dFVkVSfSR7UEtH
Vn0tJHtQS0dSfSIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYv
ZG9jdW1lbnRhdGlvbi5jb25mOjE1NgojICAgICBbZG9jXSAiVGhlIGZ1bGwgcGFja2FnZSB2ZXJz
aW9uIHNwZWNpZmljYXRpb24gYXMgaXQgYXBwZWFycyBvbiB0aGUgZmluYWwgcGFja2FnZXMgcHJv
ZHVjZWQgYnkgYSByZWNpcGUuIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiJHtFWFRFTkRQ
S0dFVkVSfSR7UEtHVn0tJHtQS0dSfSIKRVhURU5EUEtHVj0iMi45LjEtcjAiCiMKIyAkRVhURU5E
UFJBVVRPCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJh
a2UuY29uZjoyMDMKIyAgICAgIiR7QFsnLiR7UFJBVVRPfScsICcnXVtub3QgZC5nZXRWYXIoJ1BS
QVVUTycpXX0iCkVYVEVORFBSQVVUTz0iIgojCiMgJEVYVEVSTkFMU1JDCiMgICBzZXQgL21lZGlh
L3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjoxNTcKIyAg
ICAgW2RvY10gIklmIGV4dGVybmFsc3JjLmJiY2xhc3MgaXMgaW5oZXJpdGVkLCB0aGlzIHZhcmlh
YmxlIHBvaW50cyB0byB0aGUgc291cmNlIHRyZWUsIHdoaWNoIGlzIG91dHNpZGUgb2YgdGhlIE9w
ZW5FbWJlZGRlZCBidWlsZCBzeXN0ZW0uIgojCiMgJEVYVEVSTkFMU1JDX0JVSUxECiMgICBzZXQg
L21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjox
NTgKIyAgICAgW2RvY10gIklmIGV4dGVybmFsc3JjLmJiY2xhc3MgaXMgaW5oZXJpdGVkLCB0aGlz
IHZhcmlhYmxlIHBvaW50cyB0byB0aGUgZGlyZWN0b3J5IGluIHdoaWNoIHRoZSByZWNpcGUncyBz
b3VyY2UgY29kZSBpcyBidWlsdCwgd2hpY2ggaXMgb3V0c2lkZSBvZiB0aGUgT3BlbkVtYmVkZGVk
IGJ1aWxkIHN5c3RlbS4iCiMKIyAkRVhUUkFfSU1BR0VERVBFTkRTIFszIG9wZXJhdGlvbnNdCiMg
ICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo0
NDMKIyAgICAgIiIKIyAgIGFwcGVuZCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2Nv
bmYvbWFjaGluZS9pbmNsdWRlL3FlbXUuaW5jOjI0CiMgICAgICJxZW11LW5hdGl2ZSBxZW11LWhl
bHBlci1uYXRpdmUiCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25m
L2RvY3VtZW50YXRpb24uY29uZjoxNjAKIyAgICAgW2RvY10gIkEgbGlzdCBvZiByZWNpcGVzIHRv
IGJ1aWxkIHRoYXQgZG8gbm90IHByb3ZpZGUgcGFja2FnZXMgZm9yIGluc3RhbGxpbmcgaW50byB0
aGUgcm9vdCBmaWxlc3lzdGVtLiBVc2UgdGhpcyB2YXJpYWJsZSB0byBsaXN0IHJlY2lwZXMgdGhh
dCBhcmUgcmVxdWlyZWQgdG8gYnVpbGQgdGhlIGZpbmFsIGltYWdlLCBidXQgbm90IG5lZWRlZCBp
biB0aGUgcm9vdCBmaWxlc3lzdGVtLiIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIiBxZW11
LW5hdGl2ZSBxZW11LWhlbHBlci1uYXRpdmUiCkVYVFJBX0lNQUdFREVQRU5EUz0iIHFlbXUtbmF0
aXZlIHFlbXUtaGVscGVyLW5hdGl2ZSIKIwojICRFWFRSQV9JTUFHRV9GRUFUVVJFUyBbNSBvcGVy
YXRpb25zXQojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy9jb25mL3NpdGUuY29u
ZjoxNwojICAgICAiZGVidWctdHdlYWtzIgojICAgYXBwZW5kIC9tZWRpYS9yZWJlY2Nhcy95b2N0
by9sdHRuZy9jb25mL3NpdGUuY29uZjoyNAojICAgICAidG9vbHMtcHJvZmlsZSIKIyAgIHNldD8g
L21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL2NvbmYvbG9jYWwuY29uZjoxNDEKIyAgICAgImRl
YnVnLXR3ZWFrcyIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYv
ZG9jdW1lbnRhdGlvbi5jb25mOjE1OQojICAgICBbZG9jXSAiVGhlIGxpc3Qgb2YgYWRkaXRpb25h
bCBmZWF0dXJlcyB0byBpbmNsdWRlIGluIGFuIGltYWdlLiBDb25maWd1cmUgdGhpcyB2YXJpYWJs
ZSBpbiB0aGUgY29uZi9sb2NhbC5jb25mIGZpbGUgaW4gdGhlIEJ1aWxkIERpcmVjdG9yeS4iCiMg
ICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo3
OTYKIyAgICAgW19kZWZhdWx0dmFsXSAiIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiZGVi
dWctdHdlYWtzIHRvb2xzLXByb2ZpbGUiCkVYVFJBX0lNQUdFX0ZFQVRVUkVTPSJkZWJ1Zy10d2Vh
a3MgdG9vbHMtcHJvZmlsZSIKIwojICRFWFRSQV9PRUNNQUtFIFsyIG9wZXJhdGlvbnNdCiMgICBf
YXBwZW5kW3BuLWxpYmljYWxdIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9k
aXN0cm8vaW5jbHVkZS9uby1zdGF0aWMtbGlicy5pbmM6MzUKIyAgICAgIiAtRFNIQVJFRF9PTkxZ
PVRydWUiCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3Vt
ZW50YXRpb24uY29uZjoxNjEKIyAgICAgW2RvY10gIkFkZGl0aW9uYWwgY21ha2Ugb3B0aW9ucy4i
CiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICIiCkVYVFJBX09FQ01BS0U9IiIKIwojICRFWFRS
QV9PRUNPTkYgWzMgb3BlcmF0aW9uc10KIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9r
eS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjUyNQojICAgICAiIgojICAgX2FwcGVuZCAvbWVkaWEv
cmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbm8tc3RhdGljLWxp
YnMuaW5jOjMzCiMgICAgICIke0RJU0FCTEVfU1RBVElDfSIKIyAgIHNldCAvbWVkaWEvcmViZWNj
YXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjE2MgojICAgICBbZG9j
XSAiQWRkaXRpb25hbCBjb25maWd1cmUgc2NyaXB0IG9wdGlvbnMuIgojIHByZS1leHBhbnNpb24g
dmFsdWU6CiMgICAiJHtESVNBQkxFX1NUQVRJQ30iCkVYVFJBX09FQ09ORj0iIC0tZGlzYWJsZS1z
dGF0aWMiCiMKIyAkRVhUUkFfT0VNQUtFIFs2IG9wZXJhdGlvbnNdCiMgICBzZXQgL21lZGlhL3Jl
YmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo1MjQKIyAgICAgIiIKIyAg
IF9wcmVwZW5kW3Rhc2stY29tcGlsZV0gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9j
b25mL2JpdGJha2UuY29uZjo1NzUKIyAgICAgIiR7UEFSQUxMRUxfTUFLRX0gIgojICAgX3ByZXBl
bmRbdGFzay1pbnN0YWxsXSAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0
YmFrZS5jb25mOjU3OAojICAgICAiJHtQQVJBTExFTF9NQUtFSU5TVH0gIgojICAgc2V0IC9tZWRp
YS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6MTYzCiMg
ICAgIFtkb2NdICJBZGRpdGlvbmFsIEdOVSBtYWtlIG9wdGlvbnMuIgojICAgYXBwZW5kIC9tZWRp
YS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY2xhc3Nlcy9tb2R1bGUuYmJjbGFzczo3CiMgICAg
ICJLRVJORUxfU1JDPSR7U1RBR0lOR19LRVJORUxfRElSfSIKIyAgIGFwcGVuZCAvbWVkaWEvcmVi
ZWNjYXMveW9jdG8vcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2x0dG5nL2x0dG5nLW1vZHVsZXNf
Mi45LjEuYmI6MjEKIyAgICAgIktFUk5FTERJUj0nJHtTVEFHSU5HX0tFUk5FTF9ESVJ9JyIKIyBw
cmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIiBLRVJORUxfU1JDPSR7U1RBR0lOR19LRVJORUxfRElS
fSBLRVJORUxESVI9JyR7U1RBR0lOR19LRVJORUxfRElSfSciCkVYVFJBX09FTUFLRT0iIEtFUk5F
TF9TUkM9L21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL3RtcC93b3JrLXNoYXJlZC9xZW11eDg2
L2tlcm5lbC1zb3VyY2UgS0VSTkVMRElSPScvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvdG1w
L3dvcmstc2hhcmVkL3FlbXV4ODYva2VybmVsLXNvdXJjZSciCiMKIyAkRVhUUkFfT0VTQ09OUwoj
ICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9u
LmNvbmY6MTY0CiMgICAgIFtkb2NdICJXaGVuIGEgcmVjaXBlIGluaGVyaXRzIHRoZSBzY29ucyBj
bGFzcywgdGhpcyB2YXJpYWJsZSBzcGVjaWZpZXMgYWRkaXRpb25hbCBjb25maWd1cmF0aW9uIG9w
dGlvbnMgeW91IHdhbnQgdG8gcGFzcyB0byB0aGUgc2NvbnMgY29tbWFuZCBsaW5lLiIKIwojICRF
WFRSQV9RTUFLRVZBUlNfUE9TVAojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21l
dGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6MTY1CiMgICAgIFtkb2NdICJDb25maWd1cmF0aW9u
IHZhcmlhYmxlcyBvciBvcHRpb25zIHlvdSB3YW50IHRvIHBhc3MgdG8gcW1ha2Ugd2hlbiB0aGUg
YXJndW1lbnRzIG5lZWQgdG8gYmUgYWZ0ZXIgdGhlIC5wcm8gZmlsZSBsaXN0IG9uIHRoZSBjb21t
YW5kIGxpbmUuIgojCiMgJEVYVFJBX1FNQUtFVkFSU19QUkUKIyAgIHNldCAvbWVkaWEvcmViZWNj
YXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjE2NgojICAgICBbZG9j
XSAiQ29uZmlndXJhdGlvbiB2YXJpYWJsZXMgb3Igb3B0aW9ucyB5b3Ugd2FudCB0byBwYXNzIHRv
IHFtYWtlIHdoZW4gdGhlIGFyZ3VtZW50cyBuZWVkIHRvIGJlIGJlZm9yZSB0aGUgLnBybyBmaWxl
IGxpc3Qgb24gdGhlIGNvbW1hbmQgbGluZS4iCiMKIyAkRVhUUkFfU1RBR0lOR19GSVhNRVMKIyAg
IHNldD8gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL3NzdGF0ZS5iYmNs
YXNzOjU3CiMgICAgICJIT1NUVE9PTFNfRElSIgpFWFRSQV9TVEFHSU5HX0ZJWE1FUz0iSE9TVFRP
T0xTX0RJUiIKIwojICRFWFRSQV9VU0VSU19QQVJBTVMKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMv
eW9jdG8vcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjE2NwojICAgICBbZG9jXSAi
V2hlbiBhIHJlY2lwZSBpbmhlcml0cyB0aGUgZXh0cmF1c2VycyBjbGFzcywgdGhpcyB2YXJpYWJs
ZSBwcm92aWRlcyBpbWFnZSBsZXZlbCB1c2VyIGFuZCBncm91cCBvcGVyYXRpb25zLiIKIwojICRG
QUtFUk9PVEJBU0VFTlYKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2Nv
bmYvYml0YmFrZS5jb25mOjY2NwojICAgICAiUFNFVURPX0JJTkRJUj0ke1BTRVVET19TWVNST09U
fSR7YmluZGlyX25hdGl2ZX0gUFNFVURPX0xJQkRJUj0ke1BTRVVET19TWVNST09UfSR7cHJlZml4
X25hdGl2ZX0vbGliL3BzZXVkby9saWIgUFNFVURPX1BSRUZJWD0ke1BTRVVET19TWVNST09UfSR7
cHJlZml4X25hdGl2ZX0gUFNFVURPX0RJU0FCTEVEPTEiCkZBS0VST09UQkFTRUVOVj0iUFNFVURP
X0JJTkRJUj0vbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvdG1wL3N5c3Jvb3RzLWNvbXBvbmVu
dHMveDg2XzY0L3BzZXVkby1uYXRpdmUvdXNyL2JpbiBQU0VVRE9fTElCRElSPS9tZWRpYS9yZWJl
Y2Nhcy95b2N0by9sdHRuZy90bXAvc3lzcm9vdHMtY29tcG9uZW50cy94ODZfNjQvcHNldWRvLW5h
dGl2ZS91c3IvbGliL3BzZXVkby9saWIgUFNFVURPX1BSRUZJWD0vbWVkaWEvcmViZWNjYXMveW9j
dG8vbHR0bmcvdG1wL3N5c3Jvb3RzLWNvbXBvbmVudHMveDg2XzY0L3BzZXVkby1uYXRpdmUvdXNy
IFBTRVVET19ESVNBQkxFRD0xIgojCiMgJEZBS0VST09UQ01ECiMgICBzZXQgL21lZGlhL3JlYmVj
Y2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo2NjgKIyAgICAgIiR7UFNFVURP
X1NZU1JPT1R9JHtiaW5kaXJfbmF0aXZlfS9wc2V1ZG8iCkZBS0VST09UQ01EPSIvbWVkaWEvcmVi
ZWNjYXMveW9jdG8vbHR0bmcvdG1wL3N5c3Jvb3RzLWNvbXBvbmVudHMveDg2XzY0L3BzZXVkby1u
YXRpdmUvdXNyL2Jpbi9wc2V1ZG8iCiMKIyAkRkFLRVJPT1RESVJTCiMgICBzZXQgL21lZGlhL3Jl
YmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo2NzEKIyAgICAgIiR7UFNF
VURPX0xPQ0FMU1RBVEVESVJ9IgpGQUtFUk9PVERJUlM9Ii9tZWRpYS9yZWJlY2Nhcy95b2N0by9s
dHRuZy90bXAvd29yay9xZW11eDg2LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9w
c2V1ZG8vIgojCiMgJEZBS0VST09URU5WCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bv
a3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo2NjkKIyAgICAgIlBTRVVET19QUkVGSVg9JHtQU0VV
RE9fU1lTUk9PVH0ke3ByZWZpeF9uYXRpdmV9IFBTRVVET19MT0NBTFNUQVRFRElSPSR7UFNFVURP
X0xPQ0FMU1RBVEVESVJ9IFBTRVVET19QQVNTV0Q9JHtQU0VVRE9fUEFTU1dEfSBQU0VVRE9fTk9T
WU1MSU5LRVhQPTEgUFNFVURPX0RJU0FCTEVEPTAiCkZBS0VST09URU5WPSJQU0VVRE9fUFJFRklY
PS9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy90bXAvc3lzcm9vdHMtY29tcG9uZW50cy94ODZf
NjQvcHNldWRvLW5hdGl2ZS91c3IgUFNFVURPX0xPQ0FMU1RBVEVESVI9L21lZGlhL3JlYmVjY2Fz
L3lvY3RvL2x0dG5nL3RtcC93b3JrL3FlbXV4ODYtcG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIu
OS4xLXIwL3BzZXVkby8gUFNFVURPX1BBU1NXRD0vbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcv
dG1wL3dvcmsvcWVtdXg4Ni1wb2t5LWxpbnV4L2x0dG5nLW1vZHVsZXMvMi45LjEtcjAvcmVjaXBl
LXN5c3Jvb3Q6L21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL3RtcC9zeXNyb290cy1jb21wb25l
bnRzL3g4Nl82NC9wc2V1ZG8tbmF0aXZlIFBTRVVET19OT1NZTUxJTktFWFA9MSBQU0VVRE9fRElT
QUJMRUQ9MCIKIwojICRGQUtFUk9PVE5PRU5WCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3Rv
L3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo2NzAKIyAgICAgIlBTRVVET19VTkxPQUQ9MSIK
RkFLRVJPT1ROT0VOVj0iUFNFVURPX1VOTE9BRD0xIgojCiMgJEZBS0VST09UX1FBIFsyIG9wZXJh
dGlvbnNdCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL2lu
c2FuZS5iYmNsYXNzOjQzCiMgICAgICJob3N0LXVzZXItY29udGFtaW5hdGVkIgojICAgc2V0IC9t
ZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY2xhc3Nlcy9pbnNhbmUuYmJjbGFzczo0NQoj
ICAgICBbZG9jXSAiUUEgdGVzdHMgd2hpY2ggbmVlZCB0byBydW4gdW5kZXIgZmFrZXJvb3QuIElm
IGFueSBlbmFibGVkIHRlc3RzIGFyZSBsaXN0ZWQgaGVyZSwgdGhlIGRvX3BhY2thZ2VfcWEgdGFz
ayB3aWxsIHJ1biB1bmRlciBmYWtlcm9vdC4iCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICJo
b3N0LXVzZXItY29udGFtaW5hdGVkIgpGQUtFUk9PVF9RQT0iaG9zdC11c2VyLWNvbnRhbWluYXRl
ZCIKIwojICRGQyBbMiBvcGVyYXRpb25zXQojICAgZXhwb3J0ZWQgL21lZGlhL3JlYmVjY2FzL3lv
Y3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo0OTYKIyAgICAgW2V4cG9ydF0gIjEiCiMg
ICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo0
OTYKIyAgICAgIiR7Q0NBQ0hFfSR7SE9TVF9QUkVGSVh9Z2ZvcnRyYW4gJHtIT1NUX0NDX0FSQ0h9
JHtUT09MQ0hBSU5fT1BUSU9OU30iCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICIke0NDQUNI
RX0ke0hPU1RfUFJFRklYfWdmb3J0cmFuICR7SE9TVF9DQ19BUkNIfSR7VE9PTENIQUlOX09QVElP
TlN9IgpleHBvcnQgRkM9Imk1ODYtcG9reS1saW51eC1nZm9ydHJhbiAgLW0zMiAtbWFyY2g9aTU4
NiAtLXN5c3Jvb3Q9L21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL3RtcC93b3JrL3FlbXV4ODYt
cG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL3JlY2lwZS1zeXNyb290IgojCiMgJEZF
RURfREVQTE9ZRElSX0JBU0VfVVJJCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kv
bWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjoxNzEKIyAgICAgW2RvY10gIkFsbG93IHRvIHNl
cnZlIGlwayBkZXBsb3kgZGlyZWN0b3J5IGFzIGFuIGFkIGhvYyBmZWVkIChib2dvZmVlZCkuIFNl
dCB0byBiYXNlIFVSTCBvZiB0aGUgZGlyZWN0b3J5IGFzIGV4cG9ydGVkIGJ5IEhUVFAuIFNldCBv
ZiBhZCBob2MgZmVlZCBjb25maWdzIHdpbGwgYmUgZ2VuZXJhdGVkIGluIHRoZSBpbWFnZS4iCiMK
IyAkRkVUQ0hDTURfYnpyCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9j
b25mL2JpdGJha2UuY29uZjo2NDcKIyAgICAgIi91c3IvYmluL2VudiBienIiCkZFVENIQ01EX2J6
cj0iL3Vzci9iaW4vZW52IGJ6ciIKIwojICRGRVRDSENNRF9jdnMKIyAgIHNldCAvbWVkaWEvcmVi
ZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjY0NQojICAgICAiL3Vzci9i
aW4vZW52IGN2cyIKRkVUQ0hDTURfY3ZzPSIvdXNyL2Jpbi9lbnYgY3ZzIgojCiMgJEZFVENIQ01E
X2hnCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2Uu
Y29uZjo2NDgKIyAgICAgIi91c3IvYmluL2VudiBoZyIKRkVUQ0hDTURfaGc9Ii91c3IvYmluL2Vu
diBoZyIKIwojICRGRVRDSENNRF9zdm4KIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9r
eS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjY0NAojICAgICAiL3Vzci9iaW4vZW52IHN2biAtLW5v
bi1pbnRlcmFjdGl2ZSAtLXRydXN0LXNlcnZlci1jZXJ0IgpGRVRDSENNRF9zdm49Ii91c3IvYmlu
L2VudiBzdm4gLS1ub24taW50ZXJhY3RpdmUgLS10cnVzdC1zZXJ2ZXItY2VydCIKIwojICRGRVRD
SENNRF93Z2V0CiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Jp
dGJha2UuY29uZjo2NDYKIyAgICAgIi91c3IvYmluL2VudiB3Z2V0IC10IDIgLVQgMzAgLW52IC0t
cGFzc2l2ZS1mdHAgLS1uby1jaGVjay1jZXJ0aWZpY2F0ZSIKRkVUQ0hDTURfd2dldD0iL3Vzci9i
aW4vZW52IHdnZXQgLXQgMiAtVCAzMCAtbnYgLS1wYXNzaXZlLWZ0cCAtLW5vLWNoZWNrLWNlcnRp
ZmljYXRlIgojCiMgJEZJTEUgWzY4IG9wZXJhdGlvbnNdCiMgICBzZXQgQ29uZkhhbmRsZXIucHk6
MTU2IFtoYW5kbGVdCiMgICAgICIvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvY29uZi9iYmxh
eWVycy5jb25mIgojICAgc2V0IENvbmZIYW5kbGVyLnB5OjE1NiBbaGFuZGxlXQojICAgICAiL21l
ZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2xheWVyLmNvbmYiCiMgICBzZXQgQ29u
ZkhhbmRsZXIucHk6MTU5IFtoYW5kbGVdCiMgICAgICIvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0
bmcvY29uZi9iYmxheWVycy5jb25mIgojICAgc2V0IENvbmZIYW5kbGVyLnB5OjE1NiBbaGFuZGxl
XQojICAgICAiL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5L2NvbmYvbGF5ZXIu
Y29uZiIKIyAgIHNldCBDb25mSGFuZGxlci5weToxNTkgW2hhbmRsZV0KIyAgICAgIi9tZWRpYS9y
ZWJlY2Nhcy95b2N0by9sdHRuZy9jb25mL2JibGF5ZXJzLmNvbmYiCiMgICBzZXQgQ29uZkhhbmRs
ZXIucHk6MTU2IFtoYW5kbGVdCiMgICAgICIvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRh
LXlvY3RvLWJzcC9jb25mL2xheWVyLmNvbmYiCiMgICBzZXQgQ29uZkhhbmRsZXIucHk6MTU5IFto
YW5kbGVdCiMgICAgICIvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvY29uZi9iYmxheWVycy5j
b25mIgojICAgc2V0IENvbmZIYW5kbGVyLnB5OjE1NiBbaGFuZGxlXQojICAgICAiL21lZGlhL3Jl
YmVjY2FzL3lvY3RvL21ldGEtaW50ZWwtY29udHJpYi9jb25mL2xheWVyLmNvbmYiCiMgICBzZXQg
QkJIYW5kbGVyLnB5OjE0MiBbaGFuZGxlXQojICAgICAiL21lZGlhL3JlYmVjY2FzL3lvY3RvL21l
dGEtaW50ZWwtY29udHJpYi9jb25mL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jIgojICAgc2V0IEJC
SGFuZGxlci5weToxNjAgW2hhbmRsZV0KIyAgICAgIi9tZWRpYS9yZWJlY2Nhcy95b2N0by9tZXRh
LWludGVsLWNvbnRyaWIvY29uZi9sYXllci5jb25mIgojICAgc2V0IENvbmZIYW5kbGVyLnB5OjE1
OSBbaGFuZGxlXQojICAgICAiL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL2NvbmYvYmJsYXll
cnMuY29uZiIKIyAgIHNldCBDb25mSGFuZGxlci5weToxNTYgW2hhbmRsZV0KIyAgICAgIi9tZWRp
YS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmYiCiMgICBzZXQgQ29u
ZkhhbmRsZXIucHk6MTU2IFtoYW5kbGVdCiMgICAgICIvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9r
eS9tZXRhL2NvbmYvYWJpX3ZlcnNpb24uY29uZiIKIyAgIHNldCBDb25mSGFuZGxlci5weToxNTkg
W2hhbmRsZV0KIyAgICAgIi9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRi
YWtlLmNvbmYiCiMgICBzZXQgQ29uZkhhbmRsZXIucHk6MTU2IFtoYW5kbGVdCiMgICAgICIvbWVk
aWEvcmViZWNjYXMveW9jdG8vbHR0bmcvY29uZi9zaXRlLmNvbmYiCiMgICBzZXQgQ29uZkhhbmRs
ZXIucHk6MTU5IFtoYW5kbGVdCiMgICAgICIvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRh
L2NvbmYvYml0YmFrZS5jb25mIgojICAgc2V0IENvbmZIYW5kbGVyLnB5OjE1NiBbaGFuZGxlXQoj
ICAgICAiL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL2NvbmYvbG9jYWwuY29uZiIKIyAgIHNl
dCBDb25mSGFuZGxlci5weToxNTkgW2hhbmRsZV0KIyAgICAgIi9tZWRpYS9yZWJlY2Nhcy95b2N0
by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmYiCiMgICBzZXQgQ29uZkhhbmRsZXIucHk6MTU2
IFtoYW5kbGVdCiMgICAgICIvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvbXVs
dGljb25maWcvZGVmYXVsdC5jb25mIgojICAgc2V0IENvbmZIYW5kbGVyLnB5OjE1OSBbaGFuZGxl
XQojICAgICAiL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29u
ZiIKIyAgIHNldCBDb25mSGFuZGxlci5weToxNTYgW2hhbmRsZV0KIyAgICAgIi9tZWRpYS9yZWJl
Y2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9tYWNoaW5lL3FlbXV4ODYuY29uZiIKIyAgIHNldCBC
QkhhbmRsZXIucHk6MTQyIFtoYW5kbGVdCiMgICAgICIvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9r
eS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3FlbXUuaW5jIgojICAgc2V0IEJCSGFuZGxlci5w
eToxNjAgW2hhbmRsZV0KIyAgICAgIi9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29u
Zi9tYWNoaW5lL3FlbXV4ODYuY29uZiIKIyAgIHNldCBCQkhhbmRsZXIucHk6MTQyIFtoYW5kbGVd
CiMgICAgICIvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNs
dWRlL3R1bmUtaTU4Ni5pbmMiCiMgICBzZXQgQkJIYW5kbGVyLnB5OjE0MiBbaGFuZGxlXQojICAg
ICAiL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS94
ODYvYXJjaC14ODYuaW5jIgojICAgc2V0IEJCSGFuZGxlci5weToxNjAgW2hhbmRsZV0KIyAgICAg
Ii9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvdHVu
ZS1pNTg2LmluYyIKIyAgIHNldCBCQkhhbmRsZXIucHk6MTYwIFtoYW5kbGVdCiMgICAgICIvbWVk
aWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvbWFjaGluZS9xZW11eDg2LmNvbmYiCiMg
ICBzZXQgQkJIYW5kbGVyLnB5OjE0MiBbaGFuZGxlXQojICAgICAiL21lZGlhL3JlYmVjY2FzL3lv
Y3RvL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS9xZW11Ym9vdC14ODYuaW5jIgojICAg
c2V0IEJCSGFuZGxlci5weToxNjAgW2hhbmRsZV0KIyAgICAgIi9tZWRpYS9yZWJlY2Nhcy95b2N0
by9wb2t5L21ldGEvY29uZi9tYWNoaW5lL3FlbXV4ODYuY29uZiIKIyAgIHNldCBDb25mSGFuZGxl
ci5weToxNTkgW2hhbmRsZV0KIyAgICAgIi9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEv
Y29uZi9iaXRiYWtlLmNvbmYiCiMgICBzZXQgQ29uZkhhbmRsZXIucHk6MTU2IFtoYW5kbGVdCiMg
ICAgICIvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvbWFjaGluZS1zZGsveDg2
XzY0LmNvbmYiCiMgICBzZXQgQ29uZkhhbmRsZXIucHk6MTU5IFtoYW5kbGVdCiMgICAgICIvbWVk
aWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mIgojICAgc2V0IENv
bmZIYW5kbGVyLnB5OjE1NiBbaGFuZGxlXQojICAgICAiL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bv
a3kvbWV0YS1wb2t5L2NvbmYvZGlzdHJvL3Bva3kuY29uZiIKIyAgIHNldCBCQkhhbmRsZXIucHk6
MTQyIFtoYW5kbGVdCiMgICAgICIvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXBva3kv
Y29uZi9kaXN0cm8vaW5jbHVkZS9wb2t5LXdvcmxkLWV4Y2x1ZGUuaW5jIgojICAgc2V0IEJCSGFu
ZGxlci5weToxNjAgW2hhbmRsZV0KIyAgICAgIi9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21l
dGEtcG9reS9jb25mL2Rpc3Ryby9wb2t5LmNvbmYiCiMgICBzZXQgQkJIYW5kbGVyLnB5OjE0MiBb
aGFuZGxlXQojICAgICAiL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ry
by9pbmNsdWRlL25vLXN0YXRpYy1saWJzLmluYyIKIyAgIHNldCBCQkhhbmRsZXIucHk6MTYwIFto
YW5kbGVdCiMgICAgICIvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXBva3kvY29uZi9k
aXN0cm8vcG9reS5jb25mIgojICAgc2V0IEJCSGFuZGxlci5weToxNDIgW2hhbmRsZV0KIyAgICAg
Ii9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS95b2N0
by11bmluYXRpdmUuaW5jIgojICAgc2V0IEJCSGFuZGxlci5weToxNjAgW2hhbmRsZV0KIyAgICAg
Ii9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEtcG9reS9jb25mL2Rpc3Ryby9wb2t5LmNv
bmYiCiMgICBzZXQgQ29uZkhhbmRsZXIucHk6MTU5IFtoYW5kbGVdCiMgICAgICIvbWVkaWEvcmVi
ZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mIgojICAgc2V0IENvbmZIYW5k
bGVyLnB5OjE1NiBbaGFuZGxlXQojICAgICAiL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0
YS9jb25mL2Rpc3Ryby9kZWZhdWx0c2V0dXAuY29uZiIKIyAgIHNldCBCQkhhbmRsZXIucHk6MTQy
IFtoYW5kbGVdCiMgICAgICIvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlz
dHJvL2luY2x1ZGUvZGVmYXVsdC1wcm92aWRlcnMuaW5jIgojICAgc2V0IEJCSGFuZGxlci5weTox
NjAgW2hhbmRsZV0KIyAgICAgIi9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9k
aXN0cm8vZGVmYXVsdHNldHVwLmNvbmYiCiMgICBzZXQgQkJIYW5kbGVyLnB5OjE0MiBbaGFuZGxl
XQojICAgICAiL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNs
dWRlL2RlZmF1bHQtdmVyc2lvbnMuaW5jIgojICAgc2V0IEJCSGFuZGxlci5weToxNjAgW2hhbmRs
ZV0KIyAgICAgIi9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8vZGVm
YXVsdHNldHVwLmNvbmYiCiMgICBzZXQgQkJIYW5kbGVyLnB5OjE0MiBbaGFuZGxlXQojICAgICAi
L21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL2RlZmF1
bHQtZGlzdHJvdmFycy5pbmMiCiMgICBzZXQgQkJIYW5kbGVyLnB5OjE2MCBbaGFuZGxlXQojICAg
ICAiL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9kZWZhdWx0c2V0
dXAuY29uZiIKIyAgIHNldCBCQkhhbmRsZXIucHk6MTQyIFtoYW5kbGVdCiMgICAgICIvbWVkaWEv
cmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvd29ybGQtYnJva2Vu
LmluYyIKIyAgIHNldCBCQkhhbmRsZXIucHk6MTYwIFtoYW5kbGVdCiMgICAgICIvbWVkaWEvcmVi
ZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2RlZmF1bHRzZXR1cC5jb25mIgojICAg
c2V0IEJCSGFuZGxlci5weToxNDIgW2hhbmRsZV0KIyAgICAgIi9tZWRpYS9yZWJlY2Nhcy95b2N0
by9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS90Y21vZGUtZGVmYXVsdC5pbmMiCiMgICBz
ZXQgQkJIYW5kbGVyLnB5OjE0MiBbaGFuZGxlXQojICAgICAiL21lZGlhL3JlYmVjY2FzL3lvY3Rv
L3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL2FzLW5lZWRlZC5pbmMiCiMgICBzZXQgQkJI
YW5kbGVyLnB5OjE2MCBbaGFuZGxlXQojICAgICAiL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kv
bWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL3RjbW9kZS1kZWZhdWx0LmluYyIKIyAgIHNldCBCQkhh
bmRsZXIucHk6MTYwIFtoYW5kbGVdCiMgICAgICIvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9t
ZXRhL2NvbmYvZGlzdHJvL2RlZmF1bHRzZXR1cC5jb25mIgojICAgc2V0IEJCSGFuZGxlci5weTox
NDIgW2hhbmRsZV0KIyAgICAgIi9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9k
aXN0cm8vaW5jbHVkZS90Y2xpYmMtZ2xpYmMuaW5jIgojICAgc2V0IEJCSGFuZGxlci5weToxNjAg
W2hhbmRsZV0KIyAgICAgIi9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0
cm8vZGVmYXVsdHNldHVwLmNvbmYiCiMgICBzZXQgQkJIYW5kbGVyLnB5OjE0MiBbaGFuZGxlXQoj
ICAgICAiL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRl
L3VuaW5hdGl2ZS1mbGFncy5pbmMiCiMgICBzZXQgQkJIYW5kbGVyLnB5OjE2MCBbaGFuZGxlXQoj
ICAgICAiL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9kZWZhdWx0
c2V0dXAuY29uZiIKIyAgIHNldCBDb25mSGFuZGxlci5weToxNTkgW2hhbmRsZV0KIyAgICAgIi9t
ZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmYiCiMgICBzZXQg
Q29uZkhhbmRsZXIucHk6MTU2IFtoYW5kbGVdCiMgICAgICIvbWVkaWEvcmViZWNjYXMveW9jdG8v
cG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mIgojICAgc2V0IENvbmZIYW5kbGVyLnB5
OjE1OSBbaGFuZGxlXQojICAgICAiL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25m
L2JpdGJha2UuY29uZiIKIyAgIHNldCBDb25mSGFuZGxlci5weToxNTYgW2hhbmRsZV0KIyAgICAg
Ii9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9saWNlbnNlcy5jb25mIgojICAg
c2V0IENvbmZIYW5kbGVyLnB5OjE1OSBbaGFuZGxlXQojICAgICAiL21lZGlhL3JlYmVjY2FzL3lv
Y3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZiIKIyAgIHNldCBDb25mSGFuZGxlci5weTox
NTYgW2hhbmRsZV0KIyAgICAgIi9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9z
YW5pdHkuY29uZiIKIyAgIHNldCBDb25mSGFuZGxlci5weToxNTkgW2hhbmRsZV0KIyAgICAgIi9t
ZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmYiCiMgICBzZXQg
Q29uZkhhbmRsZXIucHk6MTU5IFtoYW5kbGVdCiMgICAgICIvbWVkaWEvcmViZWNjYXMveW9jdG8v
bHR0bmcvY29uZi9iYmxheWVycy5jb25mIgojICAgc2V0IEJCSGFuZGxlci5weToxNDIgW2hhbmRs
ZV0KIyAgICAgIi9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwv
bHR0bmcvbHR0bmctbW9kdWxlc18yLjkuMS5iYiIKIyAgIHNldCBCQkhhbmRsZXIucHk6MTQyIFto
YW5kbGVdCiMgICAgICIvbWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1jb250cmliL2Nv
bW1vbi9yZWNpcGVzLWtlcm5lbC9sdHRuZy9sdHRuZy1tb2R1bGVzXyUuYmJhcHBlbmQiCiMgICBz
ZXQgQkJIYW5kbGVyLnB5OjE2MCBbaGFuZGxlXQojICAgICAiL21lZGlhL3JlYmVjY2FzL3lvY3Rv
L3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9sdHRuZy9sdHRuZy1tb2R1bGVzXzIuOS4xLmJiIgoj
IHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0
YS9yZWNpcGVzLWtlcm5lbC9sdHRuZy9sdHRuZy1tb2R1bGVzXzIuOS4xLmJiIgpGSUxFPSIvbWVk
aWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2x0dG5nL2x0dG5nLW1v
ZHVsZXNfMi45LjEuYmIiCiMKIyAkRklMRVMgWzkgb3BlcmF0aW9uc10KIyAgIHNldCAvbWVkaWEv
cmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjI4MAojICAgICAiIgoj
ICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9u
LmNvbmY6MTcyCiMgICAgIFtkb2NdICJUaGUgbGlzdCBvZiBkaXJlY3RvcmllcyBvciBmaWxlcyB0
aGF0IGFyZSBwbGFjZWQgaW4gcGFja2FnZXMuIgojICAgb3ZlcnJpZGVbbHR0bmctbW9kdWxlc106
cmVuYW1lIGZyb20gRklMRVNfJHtQTn0gZGF0YS5weToxMTYgW2V4cGFuZEtleXNdCiMgICAgICIi
CiMgICBvdmVycmlkZVtsdHRuZy1tb2R1bGVzLWJpbl06cmVuYW1lIGZyb20gRklMRVNfJHtQTn0t
YmluIGRhdGEucHk6MTE2IFtleHBhbmRLZXlzXQojICAgICAiJHtiaW5kaXJ9LyogJHtzYmluZGly
fS8qIgojICAgb3ZlcnJpZGVbbHR0bmctbW9kdWxlcy1kYmddOnJlbmFtZSBmcm9tIEZJTEVTXyR7
UE59LWRiZyBkYXRhLnB5OjExNiBbZXhwYW5kS2V5c10KIyAgICAgIi91c3IvbGliL2RlYnVnIC91
c3Ivc3JjL2RlYnVnIgojICAgb3ZlcnJpZGVbbHR0bmctbW9kdWxlcy1kZXZdOnJlbmFtZSBmcm9t
IEZJTEVTXyR7UE59LWRldiBkYXRhLnB5OjExNiBbZXhwYW5kS2V5c10KIyAgICAgIiR7aW5jbHVk
ZWRpcn0gJHtGSUxFU19TT0xJQlNERVZ9ICR7bGliZGlyfS8qLmxhICR7bGliZGlyfS8qLm8gJHts
aWJkaXJ9L3BrZ2NvbmZpZyAke2RhdGFkaXJ9L3BrZ2NvbmZpZyAke2RhdGFkaXJ9L2FjbG9jYWwg
JHtiYXNlX2xpYmRpcn0vKi5vICR7bGliZGlyfS8ke0JQTn0vKi5sYSAke2Jhc2VfbGliZGlyfS8q
LmxhIgojICAgb3ZlcnJpZGVbbHR0bmctbW9kdWxlcy1kb2NdOnJlbmFtZSBmcm9tIEZJTEVTXyR7
UE59LWRvYyBkYXRhLnB5OjExNiBbZXhwYW5kS2V5c10KIyAgICAgIiR7ZG9jZGlyfSAke21hbmRp
cn0gJHtpbmZvZGlyfSAke2RhdGFkaXJ9L2d0ay1kb2MgJHtkYXRhZGlyfS9nbm9tZS9oZWxwIgoj
ICAgb3ZlcnJpZGVbbHR0bmctbW9kdWxlcy1sb2NhbGVdOnJlbmFtZSBmcm9tIEZJTEVTXyR7UE59
LWxvY2FsZSBkYXRhLnB5OjExNiBbZXhwYW5kS2V5c10KIyAgICAgIiR7ZGF0YWRpcn0vbG9jYWxl
IgojICAgb3ZlcnJpZGVbbHR0bmctbW9kdWxlcy1zdGF0aWNkZXZdOnJlbmFtZSBmcm9tIEZJTEVT
XyR7UE59LXN0YXRpY2RldiBkYXRhLnB5OjExNiBbZXhwYW5kS2V5c10KIyAgICAgIiR7bGliZGly
fS8qLmEgJHtiYXNlX2xpYmRpcn0vKi5hICR7bGliZGlyfS8ke0JQTn0vKi5hIgojIHByZS1leHBh
bnNpb24gdmFsdWU6CiMgICAiIgpGSUxFUz0iIgojCiMgJEZJTEVTRVhUUkFQQVRIUyBbMyBvcGVy
YXRpb25zXQojICAgc2V0PyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0
YmFrZS5jb25mOjMyNQojICAgICAiX19kZWZhdWx0OiIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMv
eW9jdG8vcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjE3MwojICAgICBbZG9jXSAi
RXh0ZW5kcyB0aGUgc2VhcmNoIHBhdGggdGhlIE9wZW5FbWJlZGRlZCBidWlsZCBzeXN0ZW0gdXNl
cyB3aGVuIGxvb2tpbmcgZm9yIGZpbGVzIGFuZCBwYXRjaGVzIGFzIGl0IHByb2Nlc3NlcyByZWNp
cGVzIGFuZCBhcHBlbmQgZmlsZXMuIgojICAgX3ByZXBlbmRbaW50ZWwteDg2LWNvbW1vbl0gL21l
ZGlhL3JlYmVjY2FzL3lvY3RvL21ldGEtaW50ZWwtY29udHJpYi9jb21tb24vcmVjaXBlcy1rZXJu
ZWwvbHR0bmcvbHR0bmctbW9kdWxlc18lLmJiYXBwZW5kOjEKIyAgICAgIi9tZWRpYS9yZWJlY2Nh
cy95b2N0by9tZXRhLWludGVsLWNvbnRyaWIvY29tbW9uL3JlY2lwZXMta2VybmVsL2x0dG5nL2x0
dG5nLW1vZHVsZXM6IgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiX19kZWZhdWx0OiIKRklM
RVNFWFRSQVBBVEhTPSJfX2RlZmF1bHQ6IgojCiMgJEZJTEVTT1ZFUlJJREVTIFsyIG9wZXJhdGlv
bnNdCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2Uu
Y29uZjo3MjMKIyAgICAgIiR7VFJBTlNMQVRFRF9UQVJHRVRfQVJDSH06JHtNQUNISU5FT1ZFUlJJ
REVTfToke0RJU1RST09WRVJSSURFU30iCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bv
a3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjoxNzQKIyAgICAgW2RvY10gIkEgc3Vic2V0
IG9mIE9WRVJSSURFUyB1c2VkIGJ5IHRoZSBPcGVuRW1iZWRkZWQgYnVpbGQgc3lzdGVtIGZvciBj
cmVhdGluZyBGSUxFU1BBVEguIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiJHtUUkFOU0xB
VEVEX1RBUkdFVF9BUkNIfToke01BQ0hJTkVPVkVSUklERVN9OiR7RElTVFJPT1ZFUlJJREVTfSIK
RklMRVNPVkVSUklERVM9Imk1ODY6eDg2OnFlbXVhbGw6cWVtdXg4Njpwb2t5IgojCiMgJEZJTEVT
UEFUSCBbMiBvcGVyYXRpb25zXQojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21l
dGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6MTc1CiMgICAgIFtkb2NdICJUaGUgZGVmYXVsdCBz
ZXQgb2YgZGlyZWN0b3JpZXMgdGhlIE9wZW5FbWJlZGRlZCBidWlsZCBzeXN0ZW0gdXNlcyB3aGVu
IHNlYXJjaGluZyBmb3IgcGF0Y2hlcyBhbmQgZmlsZXMuIEl0IGlzIGRlZmluZWQgaW4gdGhlIGJh
c2UuYmJjbGFzcyBjbGFzcyBmb3VuZCBpbiBtZXRhL2NsYXNzZXMgaW4gdGhlIFNvdXJjZSBEaXJl
Y3RvcnkuIERvIG5vdCBoYW5kLWVkaXQgdGhlIEZJTEVTUEFUSCB2YXJpYWJsZS4iCiMgICBzZXQg
L21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL2Jhc2UuYmJjbGFzczo4Mwoj
ICAgICAiJHtAYmFzZV9zZXRfZmlsZXNwYXRoKFsiJHtGSUxFX0RJUk5BTUV9LyR7QlB9IiwgIiR7
RklMRV9ESVJOQU1FfS8ke0JQTn0iLCAiJHtGSUxFX0RJUk5BTUV9L2ZpbGVzIl0sIGQpfSIKIyBw
cmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIiR7QGJhc2Vfc2V0X2ZpbGVzcGF0aChbIiR7RklMRV9E
SVJOQU1FfS8ke0JQfSIsICIke0ZJTEVfRElSTkFNRX0vJHtCUE59IiwgIiR7RklMRV9ESVJOQU1F
fS9maWxlcyJdLCBkKX0iCkZJTEVTUEFUSD0iL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0
YS9yZWNpcGVzLWtlcm5lbC9sdHRuZy9sdHRuZy1tb2R1bGVzLTIuOS4xL3Bva3k6L21lZGlhL3Jl
YmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9sdHRuZy9sdHRuZy1tb2R1bGVz
L3Bva3k6L21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9sdHRu
Zy9maWxlcy9wb2t5Oi9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvcmVjaXBlcy1rZXJu
ZWwvbHR0bmcvbHR0bmctbW9kdWxlcy0yLjkuMS9xZW11eDg2Oi9tZWRpYS9yZWJlY2Nhcy95b2N0
by9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbHR0bmcvbHR0bmctbW9kdWxlcy9xZW11eDg2Oi9t
ZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbHR0bmcvZmlsZXMv
cWVtdXg4NjovbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2x0
dG5nL2x0dG5nLW1vZHVsZXMtMi45LjEvcWVtdWFsbDovbWVkaWEvcmViZWNjYXMveW9jdG8vcG9r
eS9tZXRhL3JlY2lwZXMta2VybmVsL2x0dG5nL2x0dG5nLW1vZHVsZXMvcWVtdWFsbDovbWVkaWEv
cmViZWNjYXMveW9jdG8vcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2x0dG5nL2ZpbGVzL3FlbXVh
bGw6L21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9sdHRuZy9s
dHRuZy1tb2R1bGVzLTIuOS4xL3g4NjovbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL3Jl
Y2lwZXMta2VybmVsL2x0dG5nL2x0dG5nLW1vZHVsZXMveDg2Oi9tZWRpYS9yZWJlY2Nhcy95b2N0
by9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbHR0bmcvZmlsZXMveDg2Oi9tZWRpYS9yZWJlY2Nh
cy95b2N0by9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbHR0bmcvbHR0bmctbW9kdWxlcy0yLjku
MS9pNTg2Oi9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbHR0
bmcvbHR0bmctbW9kdWxlcy9pNTg2Oi9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvcmVj
aXBlcy1rZXJuZWwvbHR0bmcvZmlsZXMvaTU4NjovbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9t
ZXRhL3JlY2lwZXMta2VybmVsL2x0dG5nL2x0dG5nLW1vZHVsZXMtMi45LjEvOi9tZWRpYS9yZWJl
Y2Nhcy95b2N0by9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbHR0bmcvbHR0bmctbW9kdWxlcy86
L21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9sdHRuZy9maWxl
cy8iCiMKIyAkRklMRVNZU1RFTV9QRVJNU19UQUJMRVMKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMv
eW9jdG8vcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjE3NgojICAgICBbZG9jXSAi
QWxsb3dzIHlvdSB0byBkZWZpbmUgeW91ciBvd24gZmlsZSBwZXJtaXNzaW9ucyBzZXR0aW5ncyB0
YWJsZSBhcyBwYXJ0IG9mIHlvdXIgY29uZmlndXJhdGlvbiBmb3IgdGhlIHBhY2thZ2luZyBwcm9j
ZXNzLiIKIwojICRGSUxFU19TT0xJQlNERVYKIyAgIHNldD8gL21lZGlhL3JlYmVjY2FzL3lvY3Rv
L3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjoyOTkKIyAgICAgIiR7YmFzZV9saWJkaXJ9L2xp
Yioke1NPTElCU0RFVn0gJHtsaWJkaXJ9L2xpYioke1NPTElCU0RFVn0iCkZJTEVTX1NPTElCU0RF
Vj0iL2xpYi9saWIqLnNvIC91c3IvbGliL2xpYiouc28iCiMKIyAkRklMRVNfbHR0bmctbW9kdWxl
cwojICAgcmVuYW1lIGZyb20gRklMRVNfJHtQTn0gZGF0YS5weToxMTYgW2V4cGFuZEtleXNdCiMg
ICAgICIiCkZJTEVTX2x0dG5nLW1vZHVsZXM9IiIKIwojICRGSUxFU19sdHRuZy1tb2R1bGVzLWJp
bgojICAgcmVuYW1lIGZyb20gRklMRVNfJHtQTn0tYmluIGRhdGEucHk6MTE2IFtleHBhbmRLZXlz
XQojICAgICAiJHtiaW5kaXJ9LyogJHtzYmluZGlyfS8qIgpGSUxFU19sdHRuZy1tb2R1bGVzLWJp
bj0iL3Vzci9iaW4vKiAvdXNyL3NiaW4vKiIKIwojICRGSUxFU19sdHRuZy1tb2R1bGVzLWRiZwoj
ICAgcmVuYW1lIGZyb20gRklMRVNfJHtQTn0tZGJnIGRhdGEucHk6MTE2IFtleHBhbmRLZXlzXQoj
ICAgICAiL3Vzci9saWIvZGVidWcgL3Vzci9zcmMvZGVidWciCkZJTEVTX2x0dG5nLW1vZHVsZXMt
ZGJnPSIvdXNyL2xpYi9kZWJ1ZyAvdXNyL3NyYy9kZWJ1ZyIKIwojICRGSUxFU19sdHRuZy1tb2R1
bGVzLWRldgojICAgcmVuYW1lIGZyb20gRklMRVNfJHtQTn0tZGV2IGRhdGEucHk6MTE2IFtleHBh
bmRLZXlzXQojICAgICAiJHtpbmNsdWRlZGlyfSAke0ZJTEVTX1NPTElCU0RFVn0gJHtsaWJkaXJ9
LyoubGEgJHtsaWJkaXJ9LyoubyAke2xpYmRpcn0vcGtnY29uZmlnICR7ZGF0YWRpcn0vcGtnY29u
ZmlnICR7ZGF0YWRpcn0vYWNsb2NhbCAke2Jhc2VfbGliZGlyfS8qLm8gJHtsaWJkaXJ9LyR7QlBO
fS8qLmxhICR7YmFzZV9saWJkaXJ9LyoubGEiCkZJTEVTX2x0dG5nLW1vZHVsZXMtZGV2PSIvdXNy
L2luY2x1ZGUgL2xpYi9saWIqLnNvIC91c3IvbGliL2xpYiouc28gL3Vzci9saWIvKi5sYSAvdXNy
L2xpYi8qLm8gL3Vzci9saWIvcGtnY29uZmlnIC91c3Ivc2hhcmUvcGtnY29uZmlnIC91c3Ivc2hh
cmUvYWNsb2NhbCAvbGliLyoubyAvdXNyL2xpYi9sdHRuZy1tb2R1bGVzLyoubGEgL2xpYi8qLmxh
IgojCiMgJEZJTEVTX2x0dG5nLW1vZHVsZXMtZG9jCiMgICByZW5hbWUgZnJvbSBGSUxFU18ke1BO
fS1kb2MgZGF0YS5weToxMTYgW2V4cGFuZEtleXNdCiMgICAgICIke2RvY2Rpcn0gJHttYW5kaXJ9
ICR7aW5mb2Rpcn0gJHtkYXRhZGlyfS9ndGstZG9jICR7ZGF0YWRpcn0vZ25vbWUvaGVscCIKRklM
RVNfbHR0bmctbW9kdWxlcy1kb2M9Ii91c3Ivc2hhcmUvZG9jIC91c3Ivc2hhcmUvbWFuIC91c3Iv
c2hhcmUvaW5mbyAvdXNyL3NoYXJlL2d0ay1kb2MgL3Vzci9zaGFyZS9nbm9tZS9oZWxwIgojCiMg
JEZJTEVTX2x0dG5nLW1vZHVsZXMtbG9jYWxlCiMgICByZW5hbWUgZnJvbSBGSUxFU18ke1BOfS1s
b2NhbGUgZGF0YS5weToxMTYgW2V4cGFuZEtleXNdCiMgICAgICIke2RhdGFkaXJ9L2xvY2FsZSIK
RklMRVNfbHR0bmctbW9kdWxlcy1sb2NhbGU9Ii91c3Ivc2hhcmUvbG9jYWxlIgojCiMgJEZJTEVT
X2x0dG5nLW1vZHVsZXMtc3RhdGljZGV2CiMgICByZW5hbWUgZnJvbSBGSUxFU18ke1BOfS1zdGF0
aWNkZXYgZGF0YS5weToxMTYgW2V4cGFuZEtleXNdCiMgICAgICIke2xpYmRpcn0vKi5hICR7YmFz
ZV9saWJkaXJ9LyouYSAke2xpYmRpcn0vJHtCUE59LyouYSIKRklMRVNfbHR0bmctbW9kdWxlcy1z
dGF0aWNkZXY9Ii91c3IvbGliLyouYSAvbGliLyouYSAvdXNyL2xpYi9sdHRuZy1tb2R1bGVzLyou
YSIKIwojICRGSUxFX0RJUk5BTUUKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9t
ZXRhL2NvbmYvYml0YmFrZS5jb25mOjMyMQojICAgICAiJHtAb3MucGF0aC5kaXJuYW1lKGQuZ2V0
VmFyKCdGSUxFJywgRmFsc2UpKX0iCkZJTEVfRElSTkFNRT0iL21lZGlhL3JlYmVjY2FzL3lvY3Rv
L3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9sdHRuZyIKIwojICRGT05UX0VYVFJBX1JERVBFTkRT
CiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRp
b24uY29uZjoxNzcKIyAgICAgW2RvY10gIldoZW4gYSByZWNpcGUgaW5oZXJpdHMgdGhlIGZvbnRj
YWNoZSBjbGFzcywgdGhpcyB2YXJpYWJsZSBzcGVjaWZpZXMgcnVudGltZSBkZXBlbmRlbmNpZXMg
Zm9yIGZvbnQgcGFja2FnZXMuIFRoaXMgdmFyaWFibGUgZGVmYXVsdHMgdG8gJ2ZvbnRjb25maWct
dXRpbHMnLiIKIwojICRGT05UX1BBQ0tBR0VTCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3Rv
L3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjoxNzgKIyAgICAgW2RvY10gIldoZW4g
YSByZWNpcGUgaW5oZXJpdHMgdGhlIGZvbnRjYWNoZSBjbGFzcywgdGhpcyB2YXJpYWJsZSBpZGVu
dGlmaWVzIHBhY2thZ2VzIGNvbnRhaW5pbmcgZm9udCBmaWxlcyB0aGF0IG5lZWQgdG8gYmUgY2Fj
aGVkIGJ5IEZvbnRjb25maWcuIgojCiMgJEZPU1NfQkFTRV9VUkwKIyAgIHNldCAvbWVkaWEvcmVi
ZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvbGljZW5zZXMuY29uZjoxODMKIyAgICAgImh0dHA6
Ly9sb2NhbGhvc3QvcmVwby8/bW9kPXNwZHhfbGljZW5zZV9vbmNlIgpGT1NTX0JBU0VfVVJMPSJo
dHRwOi8vbG9jYWxob3N0L3JlcG8vP21vZD1zcGR4X2xpY2Vuc2Vfb25jZSIKIwojICRGT1NTX0ZV
TExfU1BEWAojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9saWNl
bnNlcy5jb25mOjE3NAojICAgICAidHJ1ZSIKRk9TU19GVUxMX1NQRFg9InRydWUiCiMKIyAkRk9T
U19OT19DT1BZUklHSFQKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2Nv
bmYvbGljZW5zZXMuY29uZjoxNDUKIyAgICAgInRydWUiCkZPU1NfTk9fQ09QWVJJR0hUPSJ0cnVl
IgojCiMgJEZPU1NfUkVDVVJTSVZFX1VOUEFDSwojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0
by9wb2t5L21ldGEvY29uZi9saWNlbnNlcy5jb25mOjE1OQojICAgICAiZmFsc2UiCkZPU1NfUkVD
VVJTSVZFX1VOUEFDSz0iZmFsc2UiCiMKIyAkRk9TU19TRVJWRVIKIyAgIHNldCAvbWVkaWEvcmVi
ZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvbGljZW5zZXMuY29uZjoxODQKIyAgICAgIiR7Rk9T
U19CQVNFX1VSTH0mZnVsbFNQRFhGbGFnPSR7Rk9TU19GVUxMX1NQRFh9Jm5vQ29weXJpZ2h0PSR7
Rk9TU19OT19DT1BZUklHSFR9JnJlY3Vyc2l2ZVVucGFjaz0ke0ZPU1NfUkVDVVJTSVZFX1VOUEFD
S30iCkZPU1NfU0VSVkVSPSJodHRwOi8vbG9jYWxob3N0L3JlcG8vP21vZD1zcGR4X2xpY2Vuc2Vf
b25jZSZmdWxsU1BEWEZsYWc9dHJ1ZSZub0NvcHlyaWdodD10cnVlJnJlY3Vyc2l2ZVVucGFjaz1m
YWxzZSIKIwojICRGT1NTX1dHRVRfRkxBR1MKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8v
cG9reS9tZXRhL2NvbmYvbGljZW5zZXMuY29uZjoxODYKIyAgICAgIi1xTyAtIC0tbm8tY2hlY2st
Y2VydGlmaWNhdGUgLS10aW1lb3V0PTAiCkZPU1NfV0dFVF9GTEFHUz0iLXFPIC0gLS1uby1jaGVj
ay1jZXJ0aWZpY2F0ZSAtLXRpbWVvdXQ9MCIKIwojICRGVFBfUFJPWFkKIyAgIGZyb20gZW52IGRh
dGEucHk6MTI0IFtpbmhlcml0RnJvbU9TXQojICAgICAiaHR0cDovL3Byb3h5LXBuZy5pbnRlbC5j
b206OTExIgpGVFBfUFJPWFk9Imh0dHA6Ly9wcm94eS1wbmcuaW50ZWwuY29tOjkxMSIKIwojICRG
VUxMX09QVElNSVpBVElPTiBbMiBvcGVyYXRpb25zXQojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95
b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6NTkwCiMgICAgICItTzIgLXBpcGUgJHtE
RUJVR19GTEFHU30iCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25m
L2RvY3VtZW50YXRpb24uY29uZjoxNzkKIyAgICAgW2RvY10gIlRoZSBvcHRpb25zIHRvIHBhc3Mg
aW4gVEFSR0VUX0NGTEFHUyBhbmQgQ0ZMQUdTIHdoZW4gY29tcGlsaW5nIGFuIG9wdGltaXplZCBz
eXN0ZW0uIFRoaXMgdmFyaWFibGUgZGVmYXVsdHMgdG8gJy1PMiAtcGlwZSAke0RFQlVHX0ZMQUdT
fScuIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiLU8yIC1waXBlICR7REVCVUdfRkxBR1N9
IgpGVUxMX09QVElNSVpBVElPTj0iLU8yIC1waXBlIC1nIC1mZWxpbWluYXRlLXVudXNlZC1kZWJ1
Zy10eXBlcyAtZmRlYnVnLXByZWZpeC1tYXA9L21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL3Rt
cC93b3JrL3FlbXV4ODYtcG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwPS91c3Ivc3Jj
L2RlYnVnL2x0dG5nLW1vZHVsZXMvMi45LjEtcjAgLWZkZWJ1Zy1wcmVmaXgtbWFwPS9tZWRpYS9y
ZWJlY2Nhcy95b2N0by9sdHRuZy90bXAvd29yay9xZW11eDg2LXBva3ktbGludXgvbHR0bmctbW9k
dWxlcy8yLjkuMS1yMC9yZWNpcGUtc3lzcm9vdC1uYXRpdmU9IC1mZGVidWctcHJlZml4LW1hcD0v
bWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvdG1wL3dvcmsvcWVtdXg4Ni1wb2t5LWxpbnV4L2x0
dG5nLW1vZHVsZXMvMi45LjEtcjAvcmVjaXBlLXN5c3Jvb3Q9ICIKIwojICRHQ0NWRVJTSU9OCiMg
ICBzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVk
ZS90Y21vZGUtZGVmYXVsdC5pbmM6MjUKIyAgICAgIjYuMyUiCkdDQ1ZFUlNJT049IjYuMyUiCiMK
IyAkR0RCVkVSU0lPTgojICAgc2V0PyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2Nv
bmYvZGlzdHJvL2luY2x1ZGUvdGNtb2RlLWRlZmF1bHQuaW5jOjI4CiMgICAgICI3LjEyJSIKR0RC
VkVSU0lPTj0iNy4xMiUiCiMKIyAkR0VOVE9PX01JUlJPUgojICAgc2V0IC9tZWRpYS9yZWJlY2Nh
cy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6NjA4CiMgICAgICJodHRwOi8vZGlz
dGZpbGVzLmdlbnRvby5vcmcvZGlzdGZpbGVzIgpHRU5UT09fTUlSUk9SPSJodHRwOi8vZGlzdGZp
bGVzLmdlbnRvby5vcmcvZGlzdGZpbGVzIgojCiMgJEdJVERJUiBbMiBvcGVyYXRpb25zXQojICAg
c2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6MzM5
CiMgICAgICIke0NPX0RJUn0vZ2l0MiIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9r
eS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjE4MwojICAgICBbZG9jXSAiVGhlIGRpcmVj
dG9yeSB3aGVyZSBHaXQgY2xvbmVzIHdpbGwgYmUgc3RvcmVkLiIKIyBwcmUtZXhwYW5zaW9uIHZh
bHVlOgojICAgIiR7Q09fRElSfS9naXQyIgpHSVRESVI9Ii9tZWRpYS9yZWJlY2Nhcy9idWlsZC9k
b3dubG9hZHMvZ2l0MiIKIwojICRHTElCQ1ZFUlNJT04KIyAgIHNldD8gL21lZGlhL3JlYmVjY2Fz
L3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL3RjbW9kZS1kZWZhdWx0LmluYzoy
OQojICAgICAiMi4yNSIKR0xJQkNWRVJTSU9OPSIyLjI1IgojCiMgJEdOT01FX0dJVAojICAgc2V0
IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6NjA5CiMg
ICAgICJnaXQ6Ly9naXQuZ25vbWUub3JnIgpHTk9NRV9HSVQ9ImdpdDovL2dpdC5nbm9tZS5vcmci
CiMKIyAkR05PTUVfTUlSUk9SCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0
YS9jb25mL2JpdGJha2UuY29uZjo2MTAKIyAgICAgImh0dHA6Ly9mdHAuZ25vbWUub3JnL3B1Yi9H
Tk9NRS9zb3VyY2VzIgpHTk9NRV9NSVJST1I9Imh0dHA6Ly9mdHAuZ25vbWUub3JnL3B1Yi9HTk9N
RS9zb3VyY2VzIgojCiMgJEdOVVBHX01JUlJPUgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0
by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6NjEyCiMgICAgICJodHRwczovL3d3dy5nbnVw
Zy5vcmcvZnRwL2djcnlwdCIKR05VUEdfTUlSUk9SPSJodHRwczovL3d3dy5nbnVwZy5vcmcvZnRw
L2djcnlwdCIKIwojICRHTlVfTUlSUk9SCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bv
a3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo2MTEKIyAgICAgImh0dHA6Ly9mdHAuZ251Lm9yZy9n
bnUiCkdOVV9NSVJST1I9Imh0dHA6Ly9mdHAuZ251Lm9yZy9nbnUiCiMKIyAkR1BFX01JUlJPUgoj
ICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6
NjEzCiMgICAgICJodHRwOi8vZ3BlLmxpbnV4dG9nby5vcmcvZG93bmxvYWQvc291cmNlIgpHUEVf
TUlSUk9SPSJodHRwOi8vZ3BlLmxpbnV4dG9nby5vcmcvZG93bmxvYWQvc291cmNlIgojCiMgJEdS
T1VQQUREX1BBUkFNCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25m
L2RvY3VtZW50YXRpb24uY29uZjoxODQKIyAgICAgW2RvY10gIldoZW4gYSByZWNpcGUgaW5oZXJp
dHMgdGhlIHVzZXJhZGQgY2xhc3MsIHRoaXMgdmFyaWFibGUgc3BlY2lmaWVzIGZvciBhIHBhY2th
Z2Ugd2hhdCBwYXJhbWV0ZXJzIHNob3VsZCBiZSBwYXNzZWQgdG8gdGhlIGdyb3VwYWRkIGNvbW1h
bmQgaWYgeW91IHdpc2ggdG8gYWRkIGEgZ3JvdXAgdG8gdGhlIHN5c3RlbSB3aGVuIHRoZSBwYWNr
YWdlIGlzIGluc3RhbGxlZC4iCiMKIyAkR1JPVVBNRU1TX1BBUkFNCiMgICBzZXQgL21lZGlhL3Jl
YmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjoxODUKIyAgICAg
W2RvY10gIldoZW4gYSByZWNpcGUgaW5oZXJpdHMgdGhlIHVzZXJhZGQgY2xhc3MsIHRoaXMgdmFy
aWFibGUgc3BlY2lmaWVzIGZvciBhIHBhY2thZ2Ugd2hhdCBwYXJhbWV0ZXJzIHNob3VsZCBiZSBw
YXNzZWQgdG8gdGhlIGdyb3VwbWVtcyBjb21tYW5kIGlmIHlvdSB3aXNoIHRvIG1vZGlmeSB0aGUg
bWVtYmVycyBvZiBhIGdyb3VwIHdoZW4gdGhlIHBhY2thZ2UgaXMgaW5zdGFsbGVkLiIKIwojICRH
UlVCX0dGWFNFUklBTAojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29u
Zi9kb2N1bWVudGF0aW9uLmNvbmY6MTg2CiMgICAgIFtkb2NdICJDb25maWd1cmVzIHRoZSBHTlUg
R1JhbmQgVW5pZmllZCBCb290bG9hZGVyIChHUlVCKSB0byBoYXZlIGdyYXBoaWNzIGFuZCBzZXJp
YWwgaW4gdGhlIGJvb3QgbWVudS4iCiMKIyAkR1JVQl9PUFRTCiMgICBzZXQgL21lZGlhL3JlYmVj
Y2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjoxODcKIyAgICAgW2Rv
Y10gIkFkZGl0aW9uYWwgb3B0aW9ucyB0byBhZGQgdG8gdGhlIEdOVSBHUmFuZCBVbmlmaWVkIEJv
b3Rsb2FkZXIgKEdSVUIpIGNvbmZpZ3VyYXRpb24uIgojCiMgJEdSVUJfVElNRU9VVAojICAgc2V0
IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6
MTg4CiMgICAgIFtkb2NdICJTcGVjaWZpZXMgdGhlIHRpbWVvdXQgYmVmb3JlIGV4ZWN1dGluZyB0
aGUgZGVmYXVsdCBMQUJFTCBpbiB0aGUgR05VIEdSYW5kIFVuaWZpZWQgQm9vdGxvYWRlciAoR1JV
QikuIgojCiMgJEdUSzJESVNUUk9GRUFUVVJFUwojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0
by9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9kZWZhdWx0LWRpc3Ryb3ZhcnMuaW5jOjQ3
CiMgICAgICJkaXJlY3RmYiB4MTEiCkdUSzJESVNUUk9GRUFUVVJFUz0iZGlyZWN0ZmIgeDExIgoj
CiMgJEdUSzNESVNUUk9GRUFUVVJFUwojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5
L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9kZWZhdWx0LWRpc3Ryb3ZhcnMuaW5jOjQ4CiMgICAg
ICJ4MTEgd2F5bGFuZCIKR1RLM0RJU1RST0ZFQVRVUkVTPSJ4MTEgd2F5bGFuZCIKIwojICRHVEtJ
TU1PRFVMRVNfUEFDS0FHRVMKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRh
L2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjE4OQojICAgICBbZG9jXSAiRm9yIHJlY2lwZXMgdGhh
dCBpbmhlcml0IHRoZSBndGstaW1tb2R1bGVzLWNhY2hlIGNsYXNzLCB0aGlzIHZhcmlhYmxlIHNw
ZWNpZmllcyB0aGUgcGFja2FnZXMgdGhhdCBjb250YWluIHRoZSBHVEsrIGlucHV0IG1ldGhvZCBt
b2R1bGVzIGJlaW5nIGluc3RhbGxlZCB3aGVuIHRoZSBtb2R1bGVzIGFyZSBpbiBwYWNrYWdlcyBv
dGhlciB0aGFuIHRoZSBtYWluIHBhY2thZ2UuIgojCiMgJEhHRElSCiMgICBzZXQgL21lZGlhL3Jl
YmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjozNDEKIyAgICAgIiR7Q09f
RElSfS9oZyIKSEdESVI9Ii9tZWRpYS9yZWJlY2Nhcy9idWlsZC9kb3dubG9hZHMvaGciCiMKIyAk
SE9NRSBbMiBvcGVyYXRpb25zXQojICAgZnJvbSBlbnYgZGF0YS5weToxMjQgW2luaGVyaXRGcm9t
T1NdCiMgICAgICIvaG9tZS9yZWJlY2NhcyIKIyAgIGF1dG8gZW52IGV4cG9ydCBkYXRhLnB5OjEy
NiBbaW5oZXJpdEZyb21PU10KIyAgICAgW2V4cG9ydF0gIlRydWUiCiMgcHJlLWV4cGFuc2lvbiB2
YWx1ZToKIyAgICIvaG9tZS9yZWJlY2NhcyIKZXhwb3J0IEhPTUU9Ii9ob21lL3JlYmVjY2FzIgoj
CiMgJEhPTUVQQUdFIFsyIG9wZXJhdGlvbnNdCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3Rv
L3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjoyNTEKIyAgICAgIiIKIyAgIHNldCAvbWVkaWEv
cmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjE5MwojICAg
ICBbZG9jXSAiV2Vic2l0ZSB3aGVyZSBtb3JlIGluZm9ybWF0aW9uIGFib3V0IHRoZSBzb2Z0d2Fy
ZSB0aGUgcmVjaXBlIGlzIGJ1aWxkaW5nIGNhbiBiZSBmb3VuZC4iCiMgcHJlLWV4cGFuc2lvbiB2
YWx1ZToKIyAgICIiCkhPTUVQQUdFPSIiCiMKIyAkSE9TVFRPT0xTIFsyIG9wZXJhdGlvbnNdCiMg
ICBhcHBlbmQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29u
Zjo0NjkKIyAgICAgIiBbIGFyIGFzIGF3ayBiYXNlbmFtZSBiYXNoIGJ6aXAyIGNhdCBjaGdycCBj
aG1vZCBjaG93biBjaHJwYXRoIGNtcCBjcCBjcGlvIGNwcCBjdXQgZGF0ZSBkZCBkaWZmIGRpZmZz
dGF0IGRpcm5hbWUgZHUgZWNobyBlZ3JlcCBlbnYgZXhwYW5kIGV4cHIgZmFsc2UgZmdyZXAgZmls
ZSBmaW5kIGZsb2NrIGcrKyBnYXdrIGdjYyBnZXRjb25mIGdldG9wdCBnaXQgZ3JlcCBndW56aXAg
Z3ppcCBoZWFkIGhvc3RuYW1lIGluc3RhbGwgbGQgbGRkIGxuIGxzIG1ha2UgbWFrZWluZm8gbWQ1
c3VtIG1rZGlyIG1rbm9kIG1rdGVtcCBtdiBubSBvYmpjb3B5IG9iamR1bXAgb2QgcGF0Y2ggcGVy
bCBwb2QybWFuIHByIHByaW50ZiBwd2QgcHl0aG9uIHB5dGhvbjIgcHl0aG9uMi43IHB5dGhvbjMg
cmFubGliIHJlYWRlbGYgcmVhZGxpbmsgcm0gcm1kaXIgcnBjZ2VuIHNlZCBzaCBzaGEyNTZzdW0g
c2xlZXAgc29ydCBzcGxpdCBzdGF0IHN0cmluZ3Mgc3RyaXAgdGFpbCB0YXIgdGVlIHRlc3QgdG91
Y2ggdHIgdHJ1ZSB1bmFtZSB1bmlxIHdjIHdnZXQgd2hpY2ggeGFyZ3MgIgojICAgYXBwZW5kIC9t
ZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6NDcyCiMgICAg
ICJpcCBwaW5nIHBzIHNjcCBzc2ggc3R0eSIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIiAg
WyBhciBhcyBhd2sgYmFzZW5hbWUgYmFzaCBiemlwMiBjYXQgY2hncnAgY2htb2QgY2hvd24gY2hy
cGF0aCBjbXAgY3AgY3BpbyBjcHAgY3V0IGRhdGUgZGQgZGlmZiBkaWZmc3RhdCBkaXJuYW1lIGR1
IGVjaG8gZWdyZXAgZW52IGV4cGFuZCBleHByIGZhbHNlIGZncmVwIGZpbGUgZmluZCBmbG9jayBn
KysgZ2F3ayBnY2MgZ2V0Y29uZiBnZXRvcHQgZ2l0IGdyZXAgZ3VuemlwIGd6aXAgaGVhZCBob3N0
bmFtZSBpbnN0YWxsIGxkIGxkZCBsbiBscyBtYWtlIG1ha2VpbmZvIG1kNXN1bSBta2RpciBta25v
ZCBta3RlbXAgbXYgbm0gb2JqY29weSBvYmpkdW1wIG9kIHBhdGNoIHBlcmwgcG9kMm1hbiBwciBw
cmludGYgcHdkIHB5dGhvbiBweXRob24yIHB5dGhvbjIuNyBweXRob24zIHJhbmxpYiByZWFkZWxm
IHJlYWRsaW5rIHJtIHJtZGlyIHJwY2dlbiBzZWQgc2ggc2hhMjU2c3VtIHNsZWVwIHNvcnQgc3Bs
aXQgc3RhdCBzdHJpbmdzIHN0cmlwIHRhaWwgdGFyIHRlZSB0ZXN0IHRvdWNoIHRyIHRydWUgdW5h
bWUgdW5pcSB3YyB3Z2V0IHdoaWNoIHhhcmdzICBpcCBwaW5nIHBzIHNjcCBzc2ggc3R0eSIKSE9T
VFRPT0xTPSIgIFsgYXIgYXMgYXdrIGJhc2VuYW1lIGJhc2ggYnppcDIgY2F0IGNoZ3JwIGNobW9k
IGNob3duIGNocnBhdGggY21wIGNwIGNwaW8gY3BwIGN1dCBkYXRlIGRkIGRpZmYgZGlmZnN0YXQg
ZGlybmFtZSBkdSBlY2hvIGVncmVwIGVudiBleHBhbmQgZXhwciBmYWxzZSBmZ3JlcCBmaWxlIGZp
bmQgZmxvY2sgZysrIGdhd2sgZ2NjIGdldGNvbmYgZ2V0b3B0IGdpdCBncmVwIGd1bnppcCBnemlw
IGhlYWQgaG9zdG5hbWUgaW5zdGFsbCBsZCBsZGQgbG4gbHMgbWFrZSBtYWtlaW5mbyBtZDVzdW0g
bWtkaXIgbWtub2QgbWt0ZW1wIG12IG5tIG9iamNvcHkgb2JqZHVtcCBvZCBwYXRjaCBwZXJsIHBv
ZDJtYW4gcHIgcHJpbnRmIHB3ZCBweXRob24gcHl0aG9uMiBweXRob24yLjcgcHl0aG9uMyByYW5s
aWIgcmVhZGVsZiByZWFkbGluayBybSBybWRpciBycGNnZW4gc2VkIHNoIHNoYTI1NnN1bSBzbGVl
cCBzb3J0IHNwbGl0IHN0YXQgc3RyaW5ncyBzdHJpcCB0YWlsIHRhciB0ZWUgdGVzdCB0b3VjaCB0
ciB0cnVlIHVuYW1lIHVuaXEgd2Mgd2dldCB3aGljaCB4YXJncyAgaXAgcGluZyBwcyBzY3Agc3No
IHN0dHkiCiMKIyAkSE9TVFRPT0xTX0RJUgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9w
b2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6NDU3CiMgICAgICIke1RNUERJUn0vaG9zdHRvb2xz
IgpIT1NUVE9PTFNfRElSPSIvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvdG1wL2hvc3R0b29s
cyIKIwojICRIT1NUVE9PTFNfTk9ORkFUQUwgWzMgb3BlcmF0aW9uc10KIyAgIGFwcGVuZCAvbWVk
aWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjQ3NQojICAgICAi
YXdzIGNjYWNoZSBnY2MtYXIgZ3BnIGxkLmJmZCBsZC5nb2xkIG5jIHNmdHAgc29jYXQgc3VkbyIK
IyAgIGFwcGVuZCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5j
b25mOjQ3OAojICAgICAiam9pbiBubCBzaXplIHllcyB6Y2F0IgojICAgYXBwZW5kIC9tZWRpYS9y
ZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6NDgxCiMgICAgICJienIi
CiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICIgYXdzIGNjYWNoZSBnY2MtYXIgZ3BnIGxkLmJm
ZCBsZC5nb2xkIG5jIHNmdHAgc29jYXQgc3VkbyBqb2luIG5sIHNpemUgeWVzIHpjYXQgYnpyIgpI
T1NUVE9PTFNfTk9ORkFUQUw9IiBhd3MgY2NhY2hlIGdjYy1hciBncGcgbGQuYmZkIGxkLmdvbGQg
bmMgc2Z0cCBzb2NhdCBzdWRvIGpvaW4gbmwgc2l6ZSB5ZXMgemNhdCBienIiCiMKIyAkSE9TVF9B
UkNIIFsyIG9wZXJhdGlvbnNdCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0
YS9jb25mL2JpdGJha2UuY29uZjoxMDIKIyAgICAgIiR7VEFSR0VUX0FSQ0h9IgojICAgc2V0IC9t
ZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6MTk0
CiMgICAgIFtkb2NdICJUaGUgbmFtZSBvZiB0aGUgdGFyZ2V0IGFyY2hpdGVjdHVyZS4gTm9ybWFs
bHkgc2FtZSBhcyB0aGUgVEFSR0VUX0FSQ0guIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAi
JHtUQVJHRVRfQVJDSH0iCkhPU1RfQVJDSD0iaTU4NiIKIwojICRIT1NUX0FSX0tFUk5FTF9BUkNI
CiMgICBzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY2xhc3Nlcy9rZXJuZWwt
YXJjaC5iYmNsYXNzOjU3CiMgICAgICIke1RBUkdFVF9BUl9LRVJORUxfQVJDSH0iCkhPU1RfQVJf
S0VSTkVMX0FSQ0g9IiIKIwojICRIT1NUX0FTX0FSQ0gKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMv
eW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjEwOQojICAgICAiJHtUQVJHRVRfQVNf
QVJDSH0iCkhPU1RfQVNfQVJDSD0iICIKIwojICRIT1NUX0NDX0FSQ0ggWzIgb3BlcmF0aW9uc10K
IyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25m
OjEwNwojICAgICAiJHtUQVJHRVRfQ0NfQVJDSH0iCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lv
Y3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjoxOTUKIyAgICAgW2RvY10gIlRo
ZSBuYW1lIG9mIHRoZSBob3N0IGFyY2hpdGVjdHVyZS4gTm9ybWFsbHkgc2FtZSBhcyB0aGUgVEFS
R0VUX0NDX0FSQ0guIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiJHtUQVJHRVRfQ0NfQVJD
SH0iCkhPU1RfQ0NfQVJDSD0iIC1tMzIgLW1hcmNoPWk1ODYiCiMKIyAkSE9TVF9DQ19LRVJORUxf
QVJDSAojICAgc2V0PyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NsYXNzZXMva2Vy
bmVsLWFyY2guYmJjbGFzczo1MwojICAgICAiJHtUQVJHRVRfQ0NfS0VSTkVMX0FSQ0h9IgpIT1NU
X0NDX0tFUk5FTF9BUkNIPSIiCiMKIyAkSE9TVF9FWEVFWFQKIyAgIHNldCAvbWVkaWEvcmViZWNj
YXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjExMAojICAgICAiIgpIT1NUX0VY
RUVYVD0iIgojCiMgJEhPU1RfTERfQVJDSAojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9w
b2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6MTA4CiMgICAgICIke1RBUkdFVF9MRF9BUkNIfSIK
SE9TVF9MRF9BUkNIPSIgIgojCiMgJEhPU1RfTERfS0VSTkVMX0FSQ0gKIyAgIHNldD8gL21lZGlh
L3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL2tlcm5lbC1hcmNoLmJiY2xhc3M6NTUK
IyAgICAgIiR7VEFSR0VUX0xEX0tFUk5FTF9BUkNIfSIKSE9TVF9MRF9LRVJORUxfQVJDSD0iIgoj
CiMgJEhPU1RfT1MgWzIgb3BlcmF0aW9uc10KIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8v
cG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjEwMwojICAgICAiJHtUQVJHRVRfT1N9IgojICAg
c2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNv
bmY6MTk2CiMgICAgIFtkb2NdICJUaGUgbmFtZSBvZiB0aGUgdGFyZ2V0IG9wZXJhdGluZyBzeXN0
ZW0uIE5vcm1hbGx5IHRoZSBzYW1lIGFzIHRoZSBUQVJHRVRfT1MuIgojIHByZS1leHBhbnNpb24g
dmFsdWU6CiMgICAiJHtUQVJHRVRfT1N9IgpIT1NUX09TPSJsaW51eCIKIwojICRIT1NUX1BSRUZJ
WCBbMiBvcGVyYXRpb25zXQojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEv
Y29uZi9iaXRiYWtlLmNvbmY6MTA2CiMgICAgICIke1RBUkdFVF9QUkVGSVh9IgojICAgc2V0IC9t
ZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6MTk3
CiMgICAgIFtkb2NdICJUaGUgcHJlZml4IGZvciB0aGUgY3Jvc3MgY29tcGlsZSB0b29sY2hhaW4u
IE5vcm1hbGx5IHNhbWUgYXMgdGhlIFRBUkdFVF9QUkVGSVguIgojIHByZS1leHBhbnNpb24gdmFs
dWU6CiMgICAiJHtUQVJHRVRfUFJFRklYfSIKSE9TVF9QUkVGSVg9Imk1ODYtcG9reS1saW51eC0i
CiMKIyAkSE9TVF9TWVMgWzIgb3BlcmF0aW9uc10KIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9j
dG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjEwNQojICAgICAiJHtIT1NUX0FSQ0h9JHtI
T1NUX1ZFTkRPUn0tJHtIT1NUX09TfSIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9r
eS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjE5OAojICAgICBbZG9jXSAiU3BlY2lmaWVz
IHRoZSBzeXN0ZW0sIGluY2x1ZGluZyB0aGUgYXJjaGl0ZWN0dXJlIGFuZCB0aGUgb3BlcmF0aW5n
IHN5c3RlbSwgZm9yIHdpdGggdGhlIGJ1aWxkIGlzIG9jY3VycmluZyBpbiB0aGUgY29udGV4dCBv
ZiB0aGUgY3VycmVudCByZWNpcGUuIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiJHtIT1NU
X0FSQ0h9JHtIT1NUX1ZFTkRPUn0tJHtIT1NUX09TfSIKSE9TVF9TWVM9Imk1ODYtcG9reS1saW51
eCIKIwojICRIT1NUX1VTRVJfR0lECiMgICBpbW1lZGlhdGUgL21lZGlhL3JlYmVjY2FzL3lvY3Rv
L3Bva3kvbWV0YS9jbGFzc2VzL2luc2FuZS5iYmNsYXNzOjEwMzkKIyAgICAgIiR7QG9zLmdldGdp
ZCgpfSIKSE9TVF9VU0VSX0dJRD0iMTAwMCIKIwojICRIT1NUX1VTRVJfVUlECiMgICBpbW1lZGlh
dGUgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL2luc2FuZS5iYmNsYXNz
OjEwMzgKIyAgICAgIiR7QG9zLmdldHVpZCgpfSIKSE9TVF9VU0VSX1VJRD0iMTAwMCIKIwojICRI
T1NUX1ZFTkRPUiBbMiBvcGVyYXRpb25zXQojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9w
b2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6MTA0CiMgICAgICIke1RBUkdFVF9WRU5ET1J9Igoj
ICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9u
LmNvbmY6MTk5CiMgICAgIFtkb2NdICJUaGUgbmFtZSBvZiB0aGUgdmVuZG9yLiBOb3JtYWxseSBz
YW1lIGFzIHRoZSBUQVJHRVRfVkVORE9SLiIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIiR7
VEFSR0VUX1ZFTkRPUn0iCkhPU1RfVkVORE9SPSItcG9reSIKIwojICRIVFRQU19QUk9YWQojICAg
ZnJvbSBlbnYgZGF0YS5weToxMjQgW2luaGVyaXRGcm9tT1NdCiMgICAgICJodHRwOi8vcHJveHkt
cG5nLmludGVsLmNvbTo5MTEiCkhUVFBTX1BST1hZPSJodHRwOi8vcHJveHktcG5nLmludGVsLmNv
bTo5MTEiCiMKIyAkSFRUUF9QUk9YWQojICAgZnJvbSBlbnYgZGF0YS5weToxMjQgW2luaGVyaXRG
cm9tT1NdCiMgICAgICJodHRwOi8vcHJveHktcG5nLmludGVsLmNvbTo5MTEiCkhUVFBfUFJPWFk9
Imh0dHA6Ly9wcm94eS1wbmcuaW50ZWwuY29tOjkxMSIKIwojICRJQ0VDQ19FTlZfRVhFQwojICAg
c2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNv
bmY6MjAzCiMgICAgIFtkb2NdICJQb2ludHMgdG8gdGhlIGljZWNjLWNyZWF0ZS1lbnYgc2NyaXB0
IHRoYXQgeW91IHByb3ZpZGUuIgojCiMgJElDRUNDX1BBVEgKIyAgIHNldCAvbWVkaWEvcmViZWNj
YXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjIwNAojICAgICBbZG9j
XSAiVGhlIGxvY2F0aW9uIG9mIHRoZSBpY2VjYyBiaW5hcnkuIgojCiMgJElDRUNDX1VTRVJfQ0xB
U1NfQkwKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZG9jdW1l
bnRhdGlvbi5jb25mOjIwNQojICAgICBbZG9jXSAiSWRlbnRpZmllcyB1c2VyIGNsYXNzZXMgdGhh
dCB5b3UgZG8gbm90IHdhbnQgdGhlIEljZWNyZWFtIGRpc3RyaWJ1dGVkIGNvbXBpbGUgc3VwcG9y
dCB0byBjb25zaWRlci4iCiMKIyAkSUNFQ0NfVVNFUl9QQUNLQUdFX0JMCiMgICBzZXQgL21lZGlh
L3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjoyMDYKIyAg
ICAgW2RvY10gIklkZW50aWZpZXMgdXNlciByZWNpcGVzIHRoYXQgeW91IGRvIG5vdCB3YW50IHRo
ZSBJY2VjcmVhbSBkaXN0cmlidXRlZCBjb21waWxlIHN1cHBvcnQgdG8gY29uc2lkZXIuIgojCiMg
JElDRUNDX1VTRVJfUEFDS0FHRV9XTAojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5
L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6MjA3CiMgICAgIFtkb2NdICJJZGVudGlmaWVz
IHVzZXIgcmVjaXBlcyB0aGF0IHVzZSBhbiBlbXB0eSBQQVJBTExFTF9NQUtFIHZhcmlhYmxlIHRo
YXQgeW91IHdhbnQgdG8gZm9yY2UgcmVtb3RlIGRpc3RyaWJ1dGVkIGNvbXBpbGF0aW9uIG9uIHVz
aW5nIHRoZSBJY2VjcmVhbSBkaXN0cmlidXRlZCBjb21waWxlIHN1cHBvcnQuIgojCiMgJElNQUdF
X0JBU0VOQU1FIFsyIG9wZXJhdGlvbnNdCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bv
a3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo0MjkKIyAgICAgIiR7UE59IgojICAgc2V0IC9tZWRp
YS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6MjA4CiMg
ICAgIFtkb2NdICJUaGUgYmFzZSBuYW1lIG9mIGltYWdlIG91dHB1dCBmaWxlcy4iCiMgcHJlLWV4
cGFuc2lvbiB2YWx1ZToKIyAgICIke1BOfSIKSU1BR0VfQkFTRU5BTUU9Imx0dG5nLW1vZHVsZXMi
CiMKIyAkSU1BR0VfQk9PVF9GSUxFUwojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5
L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6MjA5CiMgICAgIFtkb2NdICJXaGl0ZXNwYWNl
IHNlcGFyYXRlZCBsaXN0IG9mIGZpbGVzIGZyb20gJHtERVBMT1lfRElSX0lNQUdFfSB0byBwbGFj
ZSBpbiBib290IHBhcnRpdGlvbi4gRW50cmllcyB3aWxsIGJlIGluc3RhbGxlZCB1bmRlciBhIHNh
bWUgbmFtZSBhcyB0aGUgc291cmNlIGZpbGUuIFRvIGNoYW5nZSB0aGUgZGVzdGluYXRpb24gZmls
ZSBuYW1lLCBwYXNzIGEgZGVzaXJlZCBuYW1lIGFmdGVyIGEgc2VtaWNvbG9uIChlZy4gdS1ib290
LmltZzt1Ym9vdCkuIgojCiMgJElNQUdFX0NMQVNTRVMgWzMgb3BlcmF0aW9uc10KIyAgIGFwcGVu
ZCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3Fl
bXUuaW5jOjMxCiMgICAgICJxZW11Ym9vdCIKIyAgIGFwcGVuZCAvbWVkaWEvcmViZWNjYXMveW9j
dG8vcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3FlbXVib290LXg4Ni5pbmM6MgojICAg
ICAicWVtdWJvb3QiCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25m
L2RvY3VtZW50YXRpb24uY29uZjoyMTAKIyAgICAgW2RvY10gIkEgbGlzdCBvZiBjbGFzc2VzIHRo
YXQgYWxsIGltYWdlcyBzaG91bGQgaW5oZXJpdC4iCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAg
ICIgcWVtdWJvb3QgcWVtdWJvb3QiCklNQUdFX0NMQVNTRVM9IiBxZW11Ym9vdCBxZW11Ym9vdCIK
IwojICRJTUFHRV9GRUFUVVJFUyBbMyBvcGVyYXRpb25zXQojICAgc2V0PyAvbWVkaWEvcmViZWNj
YXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvZGVmYXVsdC1kaXN0cm92YXJz
LmluYzoyMwojICAgICAiIgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEv
Y29uZi9kb2N1bWVudGF0aW9uLmNvbmY6MjExCiMgICAgIFtkb2NdICJUaGUgcHJpbWFyeSBsaXN0
IG9mIGZlYXR1cmVzIHRvIGluY2x1ZGUgaW4gYW4gaW1hZ2UuIENvbmZpZ3VyZSB0aGlzIHZhcmlh
YmxlIGluIGFuIGltYWdlIHJlY2lwZS4iCiMgICBhcHBlbmQgL21lZGlhL3JlYmVjY2FzL3lvY3Rv
L3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo3OTcKIyAgICAgIiR7RVhUUkFfSU1BR0VfRkVB
VFVSRVN9IgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiICR7RVhUUkFfSU1BR0VfRkVBVFVS
RVN9IgpJTUFHRV9GRUFUVVJFUz0iIGRlYnVnLXR3ZWFrcyB0b29scy1wcm9maWxlIgojCiMgJElN
QUdFX0ZTVFlQRVMgWzMgb3BlcmF0aW9uc10KIyAgIGFwcGVuZCAvbWVkaWEvcmViZWNjYXMveW9j
dG8vcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3FlbXUuaW5jOjE2CiMgICAgICJ0YXIu
YnoyIGV4dDQiCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rv
Y3VtZW50YXRpb24uY29uZjoyMTIKIyAgICAgW2RvY10gIkZvcm1hdHMgb2Ygcm9vdCBmaWxlc3lz
dGVtIGltYWdlcyB0aGF0IHlvdSB3YW50IHRvIGhhdmUgY3JlYXRlZC4iCiMgICBzZXQ/IC9tZWRp
YS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6NzUwCiMgICAgICJ0
YXIuZ3oiCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICIgdGFyLmJ6MiBleHQ0IgpJTUFHRV9G
U1RZUEVTPSIgdGFyLmJ6MiBleHQ0IgojCiMgJElNQUdFX0ZTVFlQRVNfREVCVUdGUyBbMiBvcGVy
YXRpb25zXQojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1
bWVudGF0aW9uLmNvbmY6MjEzCiMgICAgIFtkb2NdICJGb3JtYXRzIG9mIHRoZSBkZWJ1ZyByb290
IGZpbGVzeXN0ZW0gaW1hZ2VzIHRoYXQgeW91IHdhbnQgdG8gaGF2ZSBjcmVhdGVkLiIKIyAgIHNl
dD8gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo3NTEK
IyAgICAgIiR7SU1BR0VfRlNUWVBFU30iCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICIke0lN
QUdFX0ZTVFlQRVN9IgpJTUFHRV9GU1RZUEVTX0RFQlVHRlM9IiB0YXIuYnoyIGV4dDQiCiMKIyAk
SU1BR0VfR0VOX0RFQlVHRlMKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRh
L2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjIxNAojICAgICBbZG9jXSAiV2hlbiBzZXQgdG8gJzEn
LCBnZW5lcmF0ZSBhIGNvbXBhbmlvbiBkZWJ1ZyBvYmplY3Qvc291cmNlIGZpbGVzeXN0ZW0gaW1h
Z2UuIgojCiMgJElNQUdFX0lOU1RBTEwKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9r
eS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjIxNQojICAgICBbZG9jXSAiU3BlY2lmaWVz
IHRoZSBwYWNrYWdlcyB0byBpbnN0YWxsIGludG8gYW4gaW1hZ2UuIEltYWdlIHJlY2lwZXMgc2V0
IElNQUdFX0lOU1RBTEwgdG8gc3BlY2lmeSB0aGUgcGFja2FnZXMgdG8gaW5zdGFsbCBpbnRvIGFu
IGltYWdlIHRocm91Z2ggaW1hZ2UuYmJjbGFzcy4iCiMKIyAkSU1BR0VfTElOR1VBUyBbMiBvcGVy
YXRpb25zXQojICAgc2V0PyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlz
dHJvL2luY2x1ZGUvZGVmYXVsdC1kaXN0cm92YXJzLmluYzo3CiMgICAgICJlbi11cyBlbi1nYiIK
IyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlv
bi5jb25mOjIxNgojICAgICBbZG9jXSAiU3BlY2lmaWVzIHRoZSBsaXN0IG9mIGxvY2FsZXMgdG8g
aW5zdGFsbCBpbnRvIHRoZSBpbWFnZSBkdXJpbmcgdGhlIHJvb3QgZmlsZXN5c3RlbSBjb25zdHJ1
Y3Rpb24gcHJvY2Vzcy4iCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICJlbi11cyBlbi1nYiIK
SU1BR0VfTElOR1VBUz0iZW4tdXMgZW4tZ2IiCiMKIyAkSU1BR0VfTElOS19OQU1FCiMgICBzZXQg
L21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo0MzIKIyAg
ICAgIiR7SU1BR0VfQkFTRU5BTUV9LSR7TUFDSElORX0iCklNQUdFX0xJTktfTkFNRT0ibHR0bmct
bW9kdWxlcy1xZW11eDg2IgojCiMgJElNQUdFX05BTUUgWzMgb3BlcmF0aW9uc10KIyAgIHNldCAv
bWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjQzMAojICAg
ICAiJHtJTUFHRV9CQVNFTkFNRX0tJHtNQUNISU5FfS0ke0RBVEVUSU1FfSIKIyAgIGFwcGVuZCAv
bWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjQzMQojICAg
ICBbdmFyZGVwc2V4Y2x1ZGVdICJEQVRFVElNRSIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9j
dG8vcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjIxNwojICAgICBbZG9jXSAiVGhl
IG5hbWUgb2YgdGhlIG91dHB1dCBpbWFnZSBmaWxlcyBtaW51cyB0aGUgZXh0ZW5zaW9uLiIKIyBw
cmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIiR7SU1BR0VfQkFTRU5BTUV9LSR7TUFDSElORX0tJHtE
QVRFVElNRX0iCklNQUdFX05BTUU9Imx0dG5nLW1vZHVsZXMtcWVtdXg4Ni0yMDE3MTAyNjA1MjUy
MSIKIwojICRJTUFHRV9PVkVSSEVBRF9GQUNUT1IgWzIgb3BlcmF0aW9uc10KIyAgIHNldD8gL21l
ZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo0MzYKIyAgICAg
IjEuMyIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZG9jdW1l
bnRhdGlvbi5jb25mOjIxOAojICAgICBbZG9jXSAiRGVmaW5lcyBhIG11bHRpcGxpZXIgdGhhdCB0
aGUgYnVpbGQgc3lzdGVtIGFwcGxpZXMgdG8gdGhlIGluaXRpYWwgaW1hZ2Ugc2l6ZSBmb3IgY2Fz
ZXMgd2hlbiB0aGUgbXVsdGlwbGllciB0aW1lcyB0aGUgcmV0dXJuZWQgZGlzayB1c2FnZSB2YWx1
ZSBmb3IgdGhlIGltYWdlIGlzIGdyZWF0ZXIgdGhhbiB0aGUgc3VtIG9mIElNQUdFX1JPT1RGU19T
SVpFIGFuZCBJTUFHRV9ST09URlNfRVhUUkFfU1BBQ0UuIgojIHByZS1leHBhbnNpb24gdmFsdWU6
CiMgICAiMS4zIgpJTUFHRV9PVkVSSEVBRF9GQUNUT1I9IjEuMyIKIwojICRJTUFHRV9QS0dUWVBF
IFsyIG9wZXJhdGlvbnNdCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9j
b25mL2RvY3VtZW50YXRpb24uY29uZjoyMTkKIyAgICAgW2RvY10gIkRlZmluZXMgdGhlIHBhY2th
Z2UgdHlwZSAoREVCLCBSUE0sIElQSywgb3IgVEFSKSB1c2VkIGJ5IHRoZSBPcGVuRW1iZWRkZWQg
YnVpbGQgc3lzdGVtLiIKIyAgIHNldD8gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9j
bGFzc2VzL3BhY2thZ2VfcnBtLmJiY2xhc3M6MwojICAgICAicnBtIgojIHByZS1leHBhbnNpb24g
dmFsdWU6CiMgICAicnBtIgpJTUFHRV9QS0dUWVBFPSJycG0iCiMKIyAkSU1BR0VfUE9TVFBST0NF
U1NfQ09NTUFORCBbMiBvcGVyYXRpb25zXQojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9w
b2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6MjIwCiMgICAgIFtkb2NdICJBZGRlZCBi
eSBjbGFzc2VzIHRvIHJ1biBwb3N0IHByb2Nlc3NpbmcgY29tbWFuZHMgb25jZSB0aGUgT3BlbkVt
YmVkZGVkIGJ1aWxkIHN5c3RlbSBoYXMgY3JlYXRlZCB0aGUgaW1hZ2UuIgojICAgX3ByZXBlbmQg
L21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL2xpY2Vuc2UuYmJjbGFzczo2
ODUKIyAgICAgIndyaXRlX2RlcGxveV9tYW5pZmVzdDsgIgojIHByZS1leHBhbnNpb24gdmFsdWU6
CiMgICAid3JpdGVfZGVwbG95X21hbmlmZXN0OyAiCklNQUdFX1BPU1RQUk9DRVNTX0NPTU1BTkQ9
IndyaXRlX2RlcGxveV9tYW5pZmVzdDsgIgojCiMgJElNQUdFX1BSRVBST0NFU1NfQ09NTUFORCBb
MiBvcGVyYXRpb25zXQojICAgYXBwZW5kIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEv
Y2xhc3Nlcy9pbWFnZS1ta2xpYnMuYmJjbGFzczozCiMgICAgICJta2xpYnNfb3B0aW1pemVfaW1h
Z2U7ICIKIyAgIGFwcGVuZCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NsYXNzZXMv
aW1hZ2UtcHJlbGluay5iYmNsYXNzOjMKIyAgICAgInByZWxpbmtfc2V0dXA7IHByZWxpbmtfaW1h
Z2U7ICIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIiBta2xpYnNfb3B0aW1pemVfaW1hZ2U7
ICBwcmVsaW5rX3NldHVwOyBwcmVsaW5rX2ltYWdlOyAiCklNQUdFX1BSRVBST0NFU1NfQ09NTUFO
RD0iIG1rbGlic19vcHRpbWl6ZV9pbWFnZTsgIHByZWxpbmtfc2V0dXA7IHByZWxpbmtfaW1hZ2U7
ICIKIwojICRJTUFHRV9ST09URlMgWzIgb3BlcmF0aW9uc10KIyAgIHNldCAvbWVkaWEvcmViZWNj
YXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjQyOAojICAgICAiJHtXT1JLRElS
fS9yb290ZnMiCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rv
Y3VtZW50YXRpb24uY29uZjoyMjEKIyAgICAgW2RvY10gIlRoZSBsb2NhdGlvbiBvZiB0aGUgcm9v
dCBmaWxlc3lzdGVtIHdoaWxlIGl0IGlzIHVuZGVyIGNvbnN0cnVjdGlvbiAoaS5lLiBkdXJpbmcg
ZG9fcm9vdGZzKS4iCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICIke1dPUktESVJ9L3Jvb3Rm
cyIKSU1BR0VfUk9PVEZTPSIvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvdG1wL3dvcmsvcWVt
dXg4Ni1wb2t5LWxpbnV4L2x0dG5nLW1vZHVsZXMvMi45LjEtcjAvcm9vdGZzIgojCiMgJElNQUdF
X1JPT1RGU19FWFRSQV9TUEFDRSBbMiBvcGVyYXRpb25zXQojICAgc2V0PyAvbWVkaWEvcmViZWNj
YXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjQ0MQojICAgICAiMCIKIyAgIHNl
dCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25m
OjIyMgojICAgICBbZG9jXSAiRGVmaW5lcyBhZGRpdGlvbmFsIGZyZWUgZGlzayBzcGFjZSBjcmVh
dGVkIGluIHRoZSBpbWFnZSBpbiBLYnl0ZXMuIEJ5IGRlZmF1bHQsIHRoaXMgdmFyaWFibGUgaXMg
c2V0IHRvICcwJy4iCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICIwIgpJTUFHRV9ST09URlNf
RVhUUkFfU1BBQ0U9IjAiCiMKIyAkSU1BR0VfUk9PVEZTX1NJWkUgWzIgb3BlcmF0aW9uc10KIyAg
IHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5j
b25mOjIyMwojICAgICBbZG9jXSAiRGVmaW5lcyB0aGUgc2l6ZSBpbiBLYnl0ZXMgZm9yIHRoZSBn
ZW5lcmF0ZWQgaW1hZ2UuIgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEv
Y29uZi9iaXRiYWtlLmNvbmY6NzY1CiMgICAgIFtfZGVmYXVsdHZhbF0gIjY1NTM2IgojIHByZS1l
eHBhbnNpb24gdmFsdWU6CiMgICAiNjU1MzYiCklNQUdFX1JPT1RGU19TSVpFPSI2NTUzNiIKIwoj
ICRJTUFHRV9UWVBFUwojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29u
Zi9kb2N1bWVudGF0aW9uLmNvbmY6MjI0CiMgICAgIFtkb2NdICJTcGVjaWZpZXMgdGhlIGNvbXBs
ZXRlIGxpc3Qgb2Ygc3VwcG9ydGVkIGltYWdlIHR5cGVzIGJ5IGRlZmF1bHQuIgojCiMgJElOQ09N
UEFUSUJMRV9MSUNFTlNFCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9j
b25mL2RvY3VtZW50YXRpb24uY29uZjoyMjYKIyAgICAgW2RvY10gIlNwZWNpZmllcyBhIHNwYWNl
LXNlcGFyYXRlZCBsaXN0IG9mIGxpY2Vuc2UgbmFtZXMgKGFzIHRoZXkgd291bGQgYXBwZWFyIGlu
IExJQ0VOU0UpIHRoYXQgc2hvdWxkIGJlIGV4Y2x1ZGVkIGZyb20gdGhlIGJ1aWxkLiBXaWxkY2Fy
ZCBpcyBzdXBwb3J0ZWQsIHN1Y2ggYXMgJypHUEx2MyciCiMKIyAkSU5DX1BSCiMgICBzZXQgL21l
ZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjoyMjUK
IyAgICAgW2RvY10gIkhlbHBzIGRlZmluZSB0aGUgcmVjaXBlIHJldmlzaW9uIGZvciByZWNpcGVz
IHRoYXQgc2hhcmUgYSBjb21tb24gaW5jbHVkZSBmaWxlLiIKIwojICRJTkhFUklUIFs1IG9wZXJh
dGlvbnNdCiMgICBhcHBlbmQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5L2Nv
bmYvZGlzdHJvL3Bva3kuY29uZjo5NAojICAgICAicG9reS1zYW5pdHkiCiMgICBhcHBlbmQgL21l
ZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5L2NvbmYvZGlzdHJvL3Bva3kuY29uZjox
MDYKIyAgICAgInVuaW5hdGl2ZSIKIyAgIGFwcGVuZCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9r
eS9tZXRhL2NvbmYvZGlzdHJvL2RlZmF1bHRzZXR1cC5jb25mOjI0CiMgICAgICIke1BBQ0tBR0Vf
Q0xBU1NFU30gJHtVU0VSX0NMQVNTRVN9ICR7SU5IRVJJVF9ESVNUUk99ICR7SU5IRVJJVF9CTEFD
S0xJU1R9IgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1
bWVudGF0aW9uLmNvbmY6MjI5CiMgICAgIFtkb2NdICJDYXVzZXMgdGhlIG5hbWVkIGNsYXNzIHRv
IGJlIGluaGVyaXRlZCBhdCB0aGlzIHBvaW50IGR1cmluZyBwYXJzaW5nLiBUaGUgdmFyaWFibGUg
aXMgb25seSB2YWxpZCBpbiBjb25maWd1cmF0aW9uIGZpbGVzLiIKIyAgIGFwcGVuZCAvbWVkaWEv
cmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvc2FuaXR5LmNvbmY6MTUKIyAgICAgInNhbml0
eSIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIiBwb2t5LXNhbml0eSB1bmluYXRpdmUgJHtQ
QUNLQUdFX0NMQVNTRVN9ICR7VVNFUl9DTEFTU0VTfSAke0lOSEVSSVRfRElTVFJPfSAke0lOSEVS
SVRfQkxBQ0tMSVNUfSBzYW5pdHkiCklOSEVSSVQ9IiBwb2t5LXNhbml0eSB1bmluYXRpdmUgcGFj
a2FnZV9ycG0gYnVpbGRzdGF0cyBpbWFnZS1ta2xpYnMgaW1hZ2UtcHJlbGluayBkZWJpYW4gZGV2
c2hlbGwgc3N0YXRlIGxpY2Vuc2UgcmVtb3ZlLWxpYnRvb2wgYmxhY2tsaXN0IHNhbml0eSIKIwoj
ICRJTkhFUklUX0JMQUNLTElTVAojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21l
dGEvY29uZi9kaXN0cm8vZGVmYXVsdHNldHVwLmNvbmY6MjIKIyAgICAgImJsYWNrbGlzdCIKSU5I
RVJJVF9CTEFDS0xJU1Q9ImJsYWNrbGlzdCIKIwojICRJTkhFUklUX0RJU1RSTyBbMiBvcGVyYXRp
b25zXQojICAgc2V0PyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJv
L2RlZmF1bHRzZXR1cC5jb25mOjIzCiMgICAgICJkZWJpYW4gZGV2c2hlbGwgc3N0YXRlIGxpY2Vu
c2UgcmVtb3ZlLWxpYnRvb2wiCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0
YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjoyMzAKIyAgICAgW2RvY10gIkxpc3RzIGNsYXNzZXMg
dGhhdCB3aWxsIGJlIGluaGVyaXRlZCBhdCB0aGUgZGlzdHJpYnV0aW9uIGxldmVsLiBJdCBpcyB1
bmxpa2VseSB0aGF0IHlvdSB3YW50IHRvIGVkaXQgdGhpcyB2YXJpYWJsZS4iCiMgcHJlLWV4cGFu
c2lvbiB2YWx1ZToKIyAgICJkZWJpYW4gZGV2c2hlbGwgc3N0YXRlIGxpY2Vuc2UgcmVtb3ZlLWxp
YnRvb2wiCklOSEVSSVRfRElTVFJPPSJkZWJpYW4gZGV2c2hlbGwgc3N0YXRlIGxpY2Vuc2UgcmVt
b3ZlLWxpYnRvb2wiCiMKIyAkSU5ISUJJVF9ERUZBVUxUX0RFUFMKIyAgIHNldCAvbWVkaWEvcmVi
ZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjIyNwojICAgICBb
ZG9jXSAiUHJldmVudHMgdGhlIGRlZmF1bHQgZGVwZW5kZW5jaWVzLCBuYW1lbHkgdGhlIEMgY29t
cGlsZXIgYW5kIHN0YW5kYXJkIEMgbGlicmFyeSAobGliYyksIGZyb20gYmVpbmcgYWRkZWQgdG8g
REVQRU5EUy4iCiMKIyAkSU5ISUJJVF9QQUNLQUdFX1NUUklQCiMgICBzZXQgL21lZGlhL3JlYmVj
Y2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjoyMjgKIyAgICAgW2Rv
Y10gIklmIHNldCB0byAiMSIsIGNhdXNlcyB0aGUgYnVpbGQgdG8gbm90IHN0cmlwIGJpbmFyaWVz
IGluIHJlc3VsdGluZyBwYWNrYWdlcy4iCiMKIyAkSU5JVFJBTUZTX0ZTVFlQRVMgWzIgb3BlcmF0
aW9uc10KIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZG9jdW1l
bnRhdGlvbi5jb25mOjIzMQojICAgICBbZG9jXSAiRGVmaW5lcyB0aGUgZm9ybWF0IGZvciB0aGUg
b3V0cHV0IGltYWdlIG9mIGFuIGluaXRpYWwgUkFNIGRpc2sgKGluaXRyYW1mcyksIHdoaWNoIGlz
IHVzZWQgZHVyaW5nIGJvb3QuIgojICAgc2V0PyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9t
ZXRhL2NvbmYvYml0YmFrZS5jb25mOjc1MwojICAgICAiY3Bpby5neiIKIyBwcmUtZXhwYW5zaW9u
IHZhbHVlOgojICAgImNwaW8uZ3oiCklOSVRSQU1GU19GU1RZUEVTPSJjcGlvLmd6IgojCiMgJElO
SVRSQU1GU19NQVhTSVpFCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9j
b25mL2JpdGJha2UuY29uZjo3NTcKIyAgICAgW19kZWZhdWx0dmFsXSAiMTMxMDcyIgpJTklUUkFN
RlNfTUFYU0laRT0iMTMxMDcyIgojCiMgJElOSVRSRAojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95
b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6MjMyCiMgICAgIFtkb2NdICJJ
bmRpY2F0ZXMgYSBsaXN0IG9mIGZpbGVzeXN0ZW0gaW1hZ2VzIHRvIGNvbmNhdGVuYXRlIGFuZCB1
c2UgYXMgYW4gaW5pdGlhbCBSQU0gZGlzayAoaW5pdHJkKS4iCiMKIyAkSU5JVFNDUklQVF9OQU1F
CiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRp
b24uY29uZjoyMzMKIyAgICAgW2RvY10gIlRoZSBmaWxlbmFtZSBvZiB0aGUgaW5pdGlhbGl6YXRp
b24gc2NyaXB0IGFzIGluc3RhbGxlZCB0byAke3N5c2NvbmZkaXJ9L2luaXQuZC4iCiMKIyAkSU5J
VFNDUklQVF9QQUNLQUdFUwojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEv
Y29uZi9kb2N1bWVudGF0aW9uLmNvbmY6MjM0CiMgICAgIFtkb2NdICJBIGxpc3Qgb2YgdGhlIHBh
Y2thZ2VzIHRoYXQgY29udGFpbiBpbml0c2NyaXB0cy4gVGhpcyB2YXJpYWJsZSBpcyB1c2VkIGlu
IHJlY2lwZXMgd2hlbiB1c2luZyB1cGRhdGUtcmMuZC5iYmNsYXNzLiBUaGUgdmFyaWFibGUgaXMg
b3B0aW9uYWwgYW5kIGRlZmF1bHRzIHRvIHRoZSBQTiB2YXJpYWJsZS4iCiMKIyAkSU5JVFNDUklQ
VF9QQVJBTVMKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZG9j
dW1lbnRhdGlvbi5jb25mOjIzNQojICAgICBbZG9jXSAiU3BlY2lmaWVzIHRoZSBvcHRpb25zIHRv
IHBhc3MgdG8gdXBkYXRlLXJjLmQuIFRoZSB2YXJpYWJsZSBpcyBtYW5kYXRvcnkgYW5kIGlzIHVz
ZWQgaW4gcmVjaXBlcyB3aGVuIHVzaW5nIHVwZGF0ZS1yYy5kLmJiY2xhc3MuIgojCiMgJElOU0FO
RV9TS0lQCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3Vt
ZW50YXRpb24uY29uZjoyMzYKIyAgICAgW2RvY10gIlNwZWNpZmllcyB0aGUgUUEgY2hlY2tzIHRv
IHNraXAgZm9yIGEgc3BlY2lmaWMgcGFja2FnZSB3aXRoaW4gYSByZWNpcGUuIgojCiMgJElOU1RB
TExfTU9EX0RJUiBbMiBvcGVyYXRpb25zXQojICAgZXhwb3J0ZWQgL21lZGlhL3JlYmVjY2FzL3lv
Y3RvL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9sdHRuZy9sdHRuZy1tb2R1bGVzXzIuOS4xLmJi
OjE5CiMgICAgIFtleHBvcnRdICIxIgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5
L21ldGEvcmVjaXBlcy1rZXJuZWwvbHR0bmcvbHR0bmctbW9kdWxlc18yLjkuMS5iYjoxOQojICAg
ICAia2VybmVsL2x0dG5nLW1vZHVsZXMiCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICJrZXJu
ZWwvbHR0bmctbW9kdWxlcyIKZXhwb3J0IElOU1RBTExfTU9EX0RJUj0ia2VybmVsL2x0dG5nLW1v
ZHVsZXMiCiMKIyAkSVBLX0ZFRURfVVJJUwojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9w
b2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6MjM3CiMgICAgIFtkb2NdICJMaXN0IG9m
IGlwa2cgZmVlZCByZWNvcmRzIHRvIHB1dCBpbnRvIGdlbmVyYXRlZCBpbWFnZS4iCiMKIyAkS0FS
Q0gKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRh
dGlvbi5jb25mOjI0MQojICAgICBbZG9jXSAiRGVmaW5lcyB0aGUga2VybmVsIGFyY2hpdGVjdHVy
ZSB1c2VkIHdoZW4gYXNzZW1ibGluZyB0aGUgY29uZmlndXJhdGlvbi4gWW91IGRlZmluZSB0aGUg
S0FSQ0ggdmFyaWFibGUgaW4gdGhlIEJTUCBEZXNjcmlwdGlvbnMuIgojCiMgJEtCUkFOQ0gKIyAg
IHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5j
b25mOjI0MgojICAgICBbZG9jXSAiQSByZWd1bGFyIGV4cHJlc3Npb24gdXNlZCBieSB0aGUgYnVp
bGQgcHJvY2VzcyB0byBleHBsaWNpdGx5IGlkZW50aWZ5IHRoZSBrZXJuZWwgYnJhbmNoIHRoYXQg
aXMgdmFsaWRhdGVkLCBwYXRjaGVkIGFuZCBjb25maWd1cmVkIGR1cmluZyBhIGJ1aWxkLiIKIwoj
ICRLQlJBTkNIX0RFRkFVTFQKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRh
L2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjI0MwojICAgICBbZG9jXSAiRGVmaW5lcyB0aGUgTGlu
dXgga2VybmVsIHNvdXJjZSByZXBvc2l0b3J5J3MgZGVmYXVsdCBicmFuY2ggdXNlZCB0byBidWls
ZCB0aGUgTGludXgga2VybmVsLiBVbmxlc3MgeW91IHNwZWNpZnkgb3RoZXJ3aXNlLCB0aGUgdmFy
aWFibGUgaW5pdGlhbGl6ZXMgdG8gJ21hc3RlcicuIgojCiMgJEtCVUlMRF9FWFRSQV9TWU1CT0xT
CiMgICBzZXQgbW9kdWxlLmJiY2xhc3M6MTkgW19fYW5vbl8xOV9fbWVkaWFfcmViZWNjYXNfeW9j
dG9fcG9reV9tZXRhX2NsYXNzZXNfbW9kdWxlX2JiY2xhc3NdCiMgICAgICIiCktCVUlMRF9FWFRS
QV9TWU1CT0xTPSIiCiMKIyAkS0JVSUxEX09VVFBVVCBbMiBvcGVyYXRpb25zXQojICAgZXhwb3J0
ZWQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL21vZHVsZS1iYXNlLmJi
Y2xhc3M6MTMKIyAgICAgW2V4cG9ydF0gIjEiCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3Rv
L3Bva3kvbWV0YS9jbGFzc2VzL21vZHVsZS1iYXNlLmJiY2xhc3M6MTMKIyAgICAgIiR7U1RBR0lO
R19LRVJORUxfQlVJTERESVJ9IgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiJHtTVEFHSU5H
X0tFUk5FTF9CVUlMRERJUn0iCmV4cG9ydCBLQlVJTERfT1VUUFVUPSIvbWVkaWEvcmViZWNjYXMv
eW9jdG8vbHR0bmcvdG1wL3dvcmstc2hhcmVkL3FlbXV4ODYva2VybmVsLWJ1aWxkLWFydGlmYWN0
cyIKIwojICRLRUVQVUlNQUdFCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0
YS9jb25mL2Rpc3Ryby9pbmNsdWRlL2RlZmF1bHQtZGlzdHJvdmFycy5pbmM6NQojICAgICBbX2Rl
ZmF1bHR2YWxdICJ5ZXMiCktFRVBVSU1BR0U9InllcyIKIwojICRLRVJORUxPUkdfTUlSUk9SCiMg
ICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo2
MTQKIyAgICAgImh0dHA6Ly9jZG4ua2VybmVsLm9yZy9wdWIiCktFUk5FTE9SR19NSVJST1I9Imh0
dHA6Ly9jZG4ua2VybmVsLm9yZy9wdWIiCiMKIyAkS0VSTkVMX0FSCiMgICBzZXQgL21lZGlhL3Jl
YmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL2tlcm5lbC1hcmNoLmJiY2xhc3M6NjEKIyAg
ICAgIiR7Q0NBQ0hFfSR7SE9TVF9QUkVGSVh9YXIgJHtIT1NUX0FSX0tFUk5FTF9BUkNIfSIKS0VS
TkVMX0FSPSJpNTg2LXBva3ktbGludXgtYXIgIgojCiMgJEtFUk5FTF9DQwojICAgc2V0IC9tZWRp
YS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY2xhc3Nlcy9rZXJuZWwtYXJjaC5iYmNsYXNzOjU5
CiMgICAgICIke0NDQUNIRX0ke0hPU1RfUFJFRklYfWdjYyAke0hPU1RfQ0NfS0VSTkVMX0FSQ0h9
IC1mdXNlLWxkPWJmZCIKS0VSTkVMX0NDPSJpNTg2LXBva3ktbGludXgtZ2NjICAtZnVzZS1sZD1i
ZmQiCiMKIyAkS0VSTkVMX0NMQVNTRVMKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9r
eS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjI0NAojICAgICBbZG9jXSAiQSBsaXN0IG9m
IGNsYXNzZXMgZGVmaW5pbmcga2VybmVsIGltYWdlIHR5cGVzIHRoYXQga2VybmVsIGNsYXNzIHNo
b3VsZCBpbmhlcml0LiIKIwojICRLRVJORUxfQ09OU09MRQojICAgc2V0PyAvbWVkaWEvcmViZWNj
YXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvZGVmYXVsdC1kaXN0cm92YXJz
LmluYzo0CiMgICAgICJ0dHlTMCIKS0VSTkVMX0NPTlNPTEU9InR0eVMwIgojCiMgJEtFUk5FTF9F
WFRSQV9BUkdTCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rv
Y3VtZW50YXRpb24uY29uZjoyNDUKIyAgICAgW2RvY10gIlNwZWNpZmllcyBhZGRpdGlvbmFsIG1h
a2UgY29tbWFuZC1saW5lIGFyZ3VtZW50cyB0aGUgT3BlbkVtYmVkZGVkIGJ1aWxkIHN5c3RlbSBw
YXNzZXMgb24gd2hlbiBjb21waWxpbmcgdGhlIGtlcm5lbC4iCiMKIyAkS0VSTkVMX0ZFQVRVUkVT
IFsyIG9wZXJhdGlvbnNdCiMgICBfYXBwZW5kW3BuLWxpbnV4LXlvY3RvXSAvbWVkaWEvcmViZWNj
YXMveW9jdG8vcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3FlbXUuaW5jOjI3CiMgICAg
ICIgZmVhdHVyZXMvbmZzZC9uZnNkLWVuYWJsZS5zY2MiCiMgICBzZXQgL21lZGlhL3JlYmVjY2Fz
L3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjoyNDYKIyAgICAgW2RvY10g
IkluY2x1ZGVzIGFkZGl0aW9uYWwgbWV0YWRhdGEgZnJvbSB0aGUgWW9jdG8gUHJvamVjdCBrZXJu
ZWwgR2l0IHJlcG9zaXRvcnkuIFRoZSBtZXRhZGF0YSB5b3UgYWRkIHRocm91Z2ggdGhpcyB2YXJp
YWJsZSBpbmNsdWRlcyBjb25maWcgZnJhZ21lbnRzIGFuZCBmZWF0dXJlcyBkZXNjcmlwdGlvbnMu
IgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiIgpLRVJORUxfRkVBVFVSRVM9IiIKIwojICRL
RVJORUxfSU1BR0VUWVBFIFsyIG9wZXJhdGlvbnNdCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lv
Y3RvL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvcWVtdXg4Ni5jb25mOjE0CiMgICAgICJiekltYWdl
IgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0
aW9uLmNvbmY6MjQ3CiMgICAgIFtkb2NdICJUaGUgdHlwZSBvZiBrZXJuZWwgdG8gYnVpbGQgZm9y
IGEgZGV2aWNlLCB1c3VhbGx5IHNldCBieSB0aGUgbWFjaGluZSBjb25maWd1cmF0aW9uIGZpbGVz
IGFuZCBkZWZhdWx0cyB0byAnekltYWdlJy4iCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICJi
ekltYWdlIgpLRVJORUxfSU1BR0VUWVBFPSJiekltYWdlIgojCiMgJEtFUk5FTF9JTUFHRVRZUEVT
CiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRp
b24uY29uZjoyNDgKIyAgICAgW2RvY10gIlRoZSBsaXN0IG9mIHR5cGVzIG9mIGtlcm5lbCB0byBi
dWlsZCBmb3IgYSBkZXZpY2UsIHVzdWFsbHkgc2V0IGJ5IHRoZSBtYWNoaW5lIGNvbmZpZ3VyYXRp
b24gZmlsZXMgYW5kIGRlZmF1bHRzIHRvIEtFUk5FTF9JTUFHRVRZUEUuIgojCiMgJEtFUk5FTF9M
RAojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY2xhc3Nlcy9rZXJuZWwt
YXJjaC5iYmNsYXNzOjYwCiMgICAgICIke0NDQUNIRX0ke0hPU1RfUFJFRklYfWxkLmJmZCAke0hP
U1RfTERfS0VSTkVMX0FSQ0h9IgpLRVJORUxfTEQ9Imk1ODYtcG9reS1saW51eC1sZC5iZmQgIgoj
CiMgJEtFUk5FTF9NT0RVTEVTX01FVEFfUEFDS0FHRSBbMiBvcGVyYXRpb25zXQojICAgc2V0PyAv
bWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NsYXNzZXMva2VybmVsLW1vZHVsZS1zcGxp
dC5iYmNsYXNzOjMzCiMgICAgICJrZXJuZWwtbW9kdWxlcyIKIyAgIHNldCAvbWVkaWEvcmViZWNj
YXMveW9jdG8vcG9reS9tZXRhL2NsYXNzZXMvbW9kdWxlLmJiY2xhc3M6NTUKIyAgICAgIiR7UE59
IgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiJHtQTn0iCktFUk5FTF9NT0RVTEVTX01FVEFf
UEFDS0FHRT0ibHR0bmctbW9kdWxlcyIKIwojICRLRVJORUxfTU9EVUxFX0FVVE9MT0FEIFsyIG9w
ZXJhdGlvbnNdCiMgICBhcHBlbmQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25m
L21hY2hpbmUvaW5jbHVkZS9xZW11Ym9vdC14ODYuaW5jOjE3CiMgICAgICJ1dmVzYWZiIgojICAg
c2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNv
bmY6MjQ5CiMgICAgIFtkb2NdICJMaXN0cyBrZXJuZWwgbW9kdWxlcyB0aGF0IG5lZWQgdG8gYmUg
YXV0by1sb2FkZWQgZHVyaW5nIGJvb3QiCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICIgdXZl
c2FmYiIKS0VSTkVMX01PRFVMRV9BVVRPTE9BRD0iIHV2ZXNhZmIiCiMKIyAkS0VSTkVMX01PRFVM
RV9QQUNLQUdFX1BSRUZJWAojICAgc2V0PyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRh
L2NsYXNzZXMva2VybmVsLW1vZHVsZS1zcGxpdC5iYmNsYXNzOjM1CiMgICAgICIiCktFUk5FTF9N
T0RVTEVfUEFDS0FHRV9QUkVGSVg9IiIKIwojICRLRVJORUxfTU9EVUxFX1BBQ0tBR0VfU1VGRklY
CiMgICBzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY2xhc3Nlcy9rZXJuZWwt
bW9kdWxlLXNwbGl0LmJiY2xhc3M6MzYKIyAgICAgIi0ke0tFUk5FTF9WRVJTSU9OfSIKS0VSTkVM
X01PRFVMRV9QQUNLQUdFX1NVRkZJWD0iLTQuMTIuMTIteW9jdG8tc3RhbmRhcmQiCiMKIyAkS0VS
TkVMX01PRFVMRV9QUk9CRUNPTkYgWzIgb3BlcmF0aW9uc10KIyAgIGFwcGVuZCAvbWVkaWEvcmVi
ZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3FlbXVib290LXg4Ni5p
bmM6MTgKIyAgICAgInV2ZXNhZmIiCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kv
bWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjoyNTAKIyAgICAgW2RvY10gIkxpc3RzIGtlcm5l
bCBtb2R1bGVzIGZvciB3aGljaCB0aGUgYnVpbGQgc3lzdGVtIGV4cGVjdHMgdG8gZmluZCBtb2R1
bGVfY29uZl8qIHZhbHVlcyB0aGF0IHNwZWNpZnkgY29uZmlndXJhdGlvbiBmb3IgZWFjaCBvZiB0
aGUgbW9kdWxlcyIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIiB1dmVzYWZiIgpLRVJORUxf
TU9EVUxFX1BST0JFQ09ORj0iIHV2ZXNhZmIiCiMKIyAkS0VSTkVMX01PRFVMRV9QUk9WSURFX1ZJ
UlRVQUwKIyAgIHNldD8gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL2tl
cm5lbC1tb2R1bGUtc3BsaXQuYmJjbGFzczozNwojICAgICAiMSIKS0VSTkVMX01PRFVMRV9QUk9W
SURFX1ZJUlRVQUw9IjEiCiMKIyAkS0VSTkVMX09CSkVDVF9TVUZGSVgKIyAgIHNldCAvbWVkaWEv
cmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NsYXNzZXMvbW9kdWxlLWJhc2UuYmJjbGFzczoxNgoj
ICAgICAiLmtvIgpLRVJORUxfT0JKRUNUX1NVRkZJWD0iLmtvIgojCiMgJEtFUk5FTF9QQVRICiMg
ICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24u
Y29uZjoyNTEKIyAgICAgW2RvY10gIlRoZSBsb2NhdGlvbiBvZiB0aGUga2VybmVsIHNvdXJjZXMu
IFRoaXMgdmFyaWFibGUgaXMgc2V0IHRvIHRoZSB2YWx1ZSBvZiB0aGUgU1RBR0lOR19LRVJORUxf
RElSIHdpdGhpbiB0aGUgbW9kdWxlIGNsYXNzIChtb2R1bGUuYmJjbGFzcykuIgojCiMgJEtFUk5F
TF9TUkMKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZG9jdW1l
bnRhdGlvbi5jb25mOjI1MgojICAgICBbZG9jXSAiVGhlIGxvY2F0aW9uIG9mIHRoZSBrZXJuZWwg
c291cmNlcy4gVGhpcyB2YXJpYWJsZSBpcyBzZXQgdG8gdGhlIHZhbHVlIG9mIHRoZSBTVEFHSU5H
X0tFUk5FTF9ESVIgd2l0aGluIHRoZSBtb2R1bGUgY2xhc3MgKG1vZHVsZS5iYmNsYXNzKS4iCiMK
IyAkS0VSTkVMX1NSQ19QQVRICiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0
YS9jb25mL2JpdGJha2UuY29uZjo0MTkKIyAgICAgIi91c3Ivc3JjL2tlcm5lbCIKS0VSTkVMX1NS
Q19QQVRIPSIvdXNyL3NyYy9rZXJuZWwiCiMKIyAkS0VSTkVMX1ZFUlNJT04gWzIgb3BlcmF0aW9u
c10KIyAgIGV4cG9ydGVkIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY2xhc3Nlcy9t
b2R1bGUtYmFzZS5iYmNsYXNzOjE1CiMgICAgIFtleHBvcnRdICIxIgojICAgc2V0IC9tZWRpYS9y
ZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY2xhc3Nlcy9tb2R1bGUtYmFzZS5iYmNsYXNzOjE1CiMg
ICAgICIke0BiYXNlX3JlYWRfZmlsZSgnJHtTVEFHSU5HX0tFUk5FTF9CVUlMRERJUn0va2VybmVs
LWFiaXZlcnNpb24nKX0iCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICIke0BiYXNlX3JlYWRf
ZmlsZSgnJHtTVEFHSU5HX0tFUk5FTF9CVUlMRERJUn0va2VybmVsLWFiaXZlcnNpb24nKX0iCmV4
cG9ydCBLRVJORUxfVkVSU0lPTj0iNC4xMi4xMi15b2N0by1zdGFuZGFyZCIKIwojICRLRkVBVFVS
RV9ERVNDUklQVElPTgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29u
Zi9kb2N1bWVudGF0aW9uLmNvbmY6MjUzCiMgICAgIFtkb2NdICJQcm92aWRlcyBhIHNob3J0IGRl
c2NyaXB0aW9uIG9mIGEgY29uZmlndXJhdGlvbiBmcmFnbWVudC4gWW91IHVzZSB0aGlzIHZhcmlh
YmxlIGluIHRoZSAuc2NjIGZpbGUgdGhhdCBkZXNjcmliZXMgYSBjb25maWd1cmF0aW9uIGZyYWdt
ZW50IGZpbGUuIgojCiMgJEtNQUNISU5FCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bv
a3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjoyNTQKIyAgICAgW2RvY10gIlRoZSBtYWNo
aW5lIGFzIGtub3duIGJ5IHRoZSBrZXJuZWwuIgojCiMgJEtUWVBFCiMgICBzZXQgL21lZGlhL3Jl
YmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjoyNTUKIyAgICAg
W2RvY10gIkRlZmluZXMgdGhlIGtlcm5lbCB0eXBlIHRvIGJlIHVzZWQgaW4gYXNzZW1ibGluZyB0
aGUgY29uZmlndXJhdGlvbi4iCiMKIyAkTEFZRVJERVBFTkRTIFsyIG9wZXJhdGlvbnNdCiMgICBz
ZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29u
ZjoyNTkKIyAgICAgW2RvY10gIkxpc3RzIHRoZSBsYXllcnMsIHNlcGFyYXRlZCBieSBzcGFjZXMs
IHVwb24gd2hpY2ggdGhpcyByZWNpcGUgZGVwZW5kcy4gVGhpcyB2YXJpYWJsZSBpcyB1c2VkIGlu
IHRoZSBjb25mL2xheWVyLmNvbmYgZmlsZSBhbmQgbXVzdCBiZSBzdWZmaXhlZCB3aXRoIHRoZSBu
YW1lIG9mIHRoZSBzcGVjaWZpYyBsYXllci4iCiMgICBvdmVycmlkZVt5b2N0b106c2V0IC9tZWRp
YS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEtcG9reS9jb25mL2xheWVyLmNvbmY6MTYKIyAgICAg
ImNvcmUiCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICJOb25lIgojCiMgJExBWUVSREVQRU5E
U195b2N0bwojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEtcG9reS9jb25m
L2xheWVyLmNvbmY6MTYKIyAgICAgImNvcmUiCkxBWUVSREVQRU5EU195b2N0bz0iY29yZSIKIwoj
ICRMQVlFUkRJUiBbNiBvcGVyYXRpb25zXQojICAgc2V0IGNvb2tlcmRhdGEucHk6MzQwIFtwYXJz
ZUNvbmZpZ3VyYXRpb25GaWxlc10KIyAgICAgIi9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21l
dGEiCiMgICBzZXQgY29va2VyZGF0YS5weTozNDAgW3BhcnNlQ29uZmlndXJhdGlvbkZpbGVzXQoj
ICAgICAiL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5IgojICAgc2V0IGNvb2tl
cmRhdGEucHk6MzQwIFtwYXJzZUNvbmZpZ3VyYXRpb25GaWxlc10KIyAgICAgIi9tZWRpYS9yZWJl
Y2Nhcy95b2N0by9wb2t5L21ldGEteW9jdG8tYnNwIgojICAgc2V0IGNvb2tlcmRhdGEucHk6MzQw
IFtwYXJzZUNvbmZpZ3VyYXRpb25GaWxlc10KIyAgICAgIi9tZWRpYS9yZWJlY2Nhcy95b2N0by9t
ZXRhLWludGVsLWNvbnRyaWIiCiMgICBkZWwgY29va2VyZGF0YS5weTozNDcgW3BhcnNlQ29uZmln
dXJhdGlvbkZpbGVzXQojICAgICAiIgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5
L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6MjYwCiMgICAgIFtkb2NdICJXaGVuIHVzZWQg
aW5zaWRlIHRoZSBsYXllci5jb25mIGNvbmZpZ3VyYXRpb24gZmlsZSwgdGhpcyB2YXJpYWJsZSBw
cm92aWRlcyB0aGUgcGF0aCBvZiB0aGUgY3VycmVudCBsYXllci4iCiMgcHJlLWV4cGFuc2lvbiB2
YWx1ZToKIyAgICJOb25lIgojCiMgJExBWUVSVkVSU0lPTiBbNSBvcGVyYXRpb25zXQojICAgc2V0
IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6
MjYxCiMgICAgIFtkb2NdICJPcHRpb25hbGx5IHNwZWNpZmllcyB0aGUgdmVyc2lvbiBvZiBhIGxh
eWVyIGFzIGEgc2luZ2xlIG51bWJlci4gVGhpcyB2YXJpYWJsZSBpcyB1c2VkIGluIHRoZSBjb25m
L2xheWVyLmNvbmYgZmlsZSBhbmQgbXVzdCBiZSBzdWZmaXhlZCB3aXRoIHRoZSBuYW1lIG9mIHRo
ZSBzcGVjaWZpYyBsYXllci4iCiMgICBvdmVycmlkZVtjb3JlXTpzZXQgL21lZGlhL3JlYmVjY2Fz
L3lvY3RvL3Bva3kvbWV0YS9jb25mL2xheWVyLmNvbmY6MTIKIyAgICAgIjEwIgojICAgb3ZlcnJp
ZGVbeW9jdG9dOnNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXBva3kvY29uZi9s
YXllci5jb25mOjE0CiMgICAgICIzIgojICAgb3ZlcnJpZGVbeW9jdG9ic3BdOnNldCAvbWVkaWEv
cmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXlvY3RvLWJzcC9jb25mL2xheWVyLmNvbmY6MTEKIyAg
ICAgIjMiCiMgICBvdmVycmlkZVtpbnRlbF06c2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9tZXRh
LWludGVsLWNvbnRyaWIvY29uZi9sYXllci5jb25mOjE3CiMgICAgICIzIgojIHByZS1leHBhbnNp
b24gdmFsdWU6CiMgICAiTm9uZSIKIwojICRMQVlFUlZFUlNJT05fY29yZQojICAgc2V0IC9tZWRp
YS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9sYXllci5jb25mOjEyCiMgICAgICIxMCIK
TEFZRVJWRVJTSU9OX2NvcmU9IjEwIgojCiMgJExBWUVSVkVSU0lPTl9pbnRlbAojICAgc2V0IC9t
ZWRpYS9yZWJlY2Nhcy95b2N0by9tZXRhLWludGVsLWNvbnRyaWIvY29uZi9sYXllci5jb25mOjE3
CiMgICAgICIzIgpMQVlFUlZFUlNJT05faW50ZWw9IjMiCiMKIyAkTEFZRVJWRVJTSU9OX3lvY3Rv
CiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5L2NvbmYvbGF5ZXIu
Y29uZjoxNAojICAgICAiMyIKTEFZRVJWRVJTSU9OX3lvY3RvPSIzIgojCiMgJExBWUVSVkVSU0lP
Tl95b2N0b2JzcAojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEteW9jdG8t
YnNwL2NvbmYvbGF5ZXIuY29uZjoxMQojICAgICAiMyIKTEFZRVJWRVJTSU9OX3lvY3RvYnNwPSIz
IgojCiMgJExBWUVSX0NPTkZfVkVSU0lPTgojICAgc2V0PyAvbWVkaWEvcmViZWNjYXMveW9jdG8v
cG9reS9tZXRhL2NvbmYvc2FuaXR5LmNvbmY6MTIKIyAgICAgIjciCkxBWUVSX0NPTkZfVkVSU0lP
Tj0iNyIKIwojICRMQ19BTEwgWzQgb3BlcmF0aW9uc10KIyAgIGZyb20gZW52IGRhdGEucHk6MTI0
IFtpbmhlcml0RnJvbU9TXQojICAgICAiZW5fVVMuVVRGLTgiCiMgICBhdXRvIGVudiBleHBvcnQg
ZGF0YS5weToxMjYgW2luaGVyaXRGcm9tT1NdCiMgICAgIFtleHBvcnRdICJUcnVlIgojICAgZXhw
b3J0ZWQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo1
MjYKIyAgICAgW2V4cG9ydF0gIjEiCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kv
bWV0YS9jb25mL2JpdGJha2UuY29uZjo1MjYKIyAgICAgImVuX1VTLlVURi04IgojIHByZS1leHBh
bnNpb24gdmFsdWU6CiMgICAiZW5fVVMuVVRGLTgiCmV4cG9ydCBMQ19BTEw9ImVuX1VTLlVURi04
IgojCiMgJExEIFsyIG9wZXJhdGlvbnNdCiMgICBleHBvcnRlZCAvbWVkaWEvcmViZWNjYXMveW9j
dG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjQ5OAojICAgICBbZXhwb3J0XSAiMSIKIyAg
IHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjQ5
OAojICAgICAiJHtIT1NUX1BSRUZJWH1sZCR7VE9PTENIQUlOX09QVElPTlN9ICR7SE9TVF9MRF9B
UkNIfSIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIiR7SE9TVF9QUkVGSVh9bGQke1RPT0xD
SEFJTl9PUFRJT05TfSAke0hPU1RfTERfQVJDSH0iCmV4cG9ydCBMRD0iaTU4Ni1wb2t5LWxpbnV4
LWxkIC0tc3lzcm9vdD0vbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvdG1wL3dvcmsvcWVtdXg4
Ni1wb2t5LWxpbnV4L2x0dG5nLW1vZHVsZXMvMi45LjEtcjAvcmVjaXBlLXN5c3Jvb3QgICIKIwoj
ICRMREZMQUdTIFsyIG9wZXJhdGlvbnNdCiMgICBleHBvcnRlZCAvbWVkaWEvcmViZWNjYXMveW9j
dG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjU2OAojICAgICBbZXhwb3J0XSAiMSIKIyAg
IHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjU2
OAojICAgICAiJHtUQVJHRVRfTERGTEFHU30iCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICIk
e1RBUkdFVF9MREZMQUdTfSIKZXhwb3J0IExERkxBR1M9Ii1XbCwtTzEgLVdsLC0taGFzaC1zdHls
ZT1nbnUgLVdsLC0tYXMtbmVlZGVkIgojCiMgJExFQURfU09OQU1FCiMgICBzZXQgL21lZGlhL3Jl
YmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjoyNjIKIyAgICAg
W2RvY10gIlNwZWNpZmllcyB0aGUgbGVhZCAob3IgcHJpbWFyeSkgY29tcGlsZWQgbGlicmFyeSBm
aWxlICguc28pIHRoYXQgdGhlIGRlYmlhbiBjbGFzcyBhcHBsaWVzIGl0cyBuYW1pbmcgcG9saWN5
IHRvIGdpdmVuIGEgcmVjaXBlIHRoYXQgcGFja2FnZXMgbXVsdGlwbGUgbGlicmFyaWVzLiIKIwoj
ICRMR1BMdjJfV0hJVEVMSVNUX0dQTC0zLjAKIyAgIHNldD8gL21lZGlhL3JlYmVjY2FzL3lvY3Rv
L3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL2RlZmF1bHQtZGlzdHJvdmFycy5pbmM6MjYK
IyAgICAgIiIKTEdQTHYyX1dISVRFTElTVF9HUEwtMy4wPSIiCiMKIyAkTElCQ0VYVEVOU0lPTiBb
MiBvcGVyYXRpb25zXQojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29u
Zi9iaXRiYWtlLmNvbmY6MTE4CiMgICAgIFtfZGVmYXVsdHZhbF0gIiIKIyAgIHNldCAvbWVkaWEv
cmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvdGNsaWJjLWdsaWJj
LmluYzo1CiMgICAgICIke0BbJycsICctZ251J11bKGQuZ2V0VmFyKCdBQklFWFRFTlNJT04nKSBv
ciAnJykgIT0gJyddfSIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIiR7QFsnJywgJy1nbnUn
XVsoZC5nZXRWYXIoJ0FCSUVYVEVOU0lPTicpIG9yICcnKSAhPSAnJ119IgpMSUJDRVhURU5TSU9O
PSIiCiMKIyAkTElCQ09WRVJSSURFCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kv
bWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL3RjbGliYy1nbGliYy5pbmM6OAojICAgICAiOmxpYmMt
Z2xpYmMiCkxJQkNPVkVSUklERT0iOmxpYmMtZ2xpYmMiCiMKIyAkTElCQ19ERVBFTkRFTkNJRVMK
IyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1
ZGUvdGNsaWJjLWdsaWJjLmluYzoyNwojICAgICAibGlic2VnZmF1bHQgCQkgICAgIGdsaWJjIAkJ
ICAgICBnbGliYy1kYmcgCQkgICAgIGdsaWJjLWRldiAJCSAgICAgZ2xpYmMtdXRpbHMgCQkgICAg
IGdsaWJjLXRocmVhZC1kYiAJCSAgICAgJHtAZ2V0X2xpYmNfbG9jYWxlc19kZXBlbmRlbmNpZXMo
ZCl9IgpMSUJDX0RFUEVOREVOQ0lFUz0ibGlic2VnZmF1bHQgCQkgICAgIGdsaWJjIAkJICAgICBn
bGliYy1kYmcgCQkgICAgIGdsaWJjLWRldiAJCSAgICAgZ2xpYmMtdXRpbHMgCQkgICAgIGdsaWJj
LXRocmVhZC1kYiAJCSAgICAgCWdsaWJjLWxvY2FsZWRhdGEtaTE4biAJZ2xpYmMtZ2NvbnYtaWJt
ODUwIAlnbGliYy1nY29udi1jcDEyNTIgCWdsaWJjLWdjb252LWlzbzg4NTktMSAJZ2xpYmMtZ2Nv
bnYtaXNvODg1OS0xNSIKIwojICRMSUJDX0xPQ0FMRV9ERVBFTkRFTkNJRVMKIyAgIHNldCAvbWVk
aWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvdGNsaWJjLWds
aWJjLmluYzozNAojICAgICAiCWdsaWJjLWxvY2FsZWRhdGEtaTE4biAJZ2xpYmMtZ2NvbnYtaWJt
ODUwIAlnbGliYy1nY29udi1jcDEyNTIgCWdsaWJjLWdjb252LWlzbzg4NTktMSAJZ2xpYmMtZ2Nv
bnYtaXNvODg1OS0xNSIKTElCQ19MT0NBTEVfREVQRU5ERU5DSUVTPSIJZ2xpYmMtbG9jYWxlZGF0
YS1pMThuIAlnbGliYy1nY29udi1pYm04NTAgCWdsaWJjLWdjb252LWNwMTI1MiAJZ2xpYmMtZ2Nv
bnYtaXNvODg1OS0xIAlnbGliYy1nY29udi1pc284ODU5LTE1IgojCiMgJExJQ0VOU0UgWzMgb3Bl
cmF0aW9uc10KIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0
YmFrZS5jb25mOjI0OQojICAgICBbX2RlZmF1bHR2YWxdICJJTlZBTElEIgojICAgc2V0IC9tZWRp
YS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6MjY0CiMg
ICAgIFtkb2NdICJUaGUgbGlzdCBvZiBzb3VyY2UgbGljZW5zZXMgZm9yIHRoZSByZWNpcGUuIExv
Z2ljYWwgb3BlcmF0b3JzICcmJyBvciAnfCcgYW5kIHBhcmVudGhlc2VzIGNhbiBiZSB1c2VkLiIK
IyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2x0
dG5nL2x0dG5nLW1vZHVsZXNfMi45LjEuYmI6NAojICAgICAiTEdQTHYyLjEgJiBHUEx2MiAmIE1J
VCIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIkxHUEx2Mi4xICYgR1BMdjIgJiBNSVQiCkxJ
Q0VOU0U9IkxHUEx2Mi4xICYgR1BMdjIgJiBNSVQiCiMKIyAkTElDRU5TRV9DUkVBVEVfUEFDS0FH
RSBbMiBvcGVyYXRpb25zXQojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEv
Y2xhc3Nlcy9saWNlbnNlLmJiY2xhc3M6MTAKIyAgICAgW3R5cGVdICJib29sZWFuIgojICAgc2V0
IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY2xhc3Nlcy9saWNlbnNlLmJiY2xhc3M6
MTEKIyAgICAgW19kZWZhdWx0dmFsXSAiMCIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIjAi
CkxJQ0VOU0VfQ1JFQVRFX1BBQ0tBR0U9IjAiCiMKIyAkTElDRU5TRV9ESVJFQ1RPUlkKIyAgIHNl
dCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NsYXNzZXMvbGljZW5zZS5iYmNsYXNz
OjYKIyAgICAgW19kZWZhdWx0dmFsXSAiJHtERVBMT1lfRElSfS9saWNlbnNlcyIKTElDRU5TRV9E
SVJFQ1RPUlk9Ii9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy90bXAvZGVwbG95L2xpY2Vuc2Vz
IgojCiMgJExJQ0VOU0VfRklMRVNfRElSRUNUT1JZCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lv
Y3RvL3Bva3kvbWV0YS9jbGFzc2VzL2xpY2Vuc2UuYmJjbGFzczoxMwojICAgICBbX2RlZmF1bHR2
YWxdICIke2RhdGFkaXJ9L2xpY2Vuc2VzLyIKTElDRU5TRV9GSUxFU19ESVJFQ1RPUlk9Ii91c3Iv
c2hhcmUvbGljZW5zZXMvIgojCiMgJExJQ0VOU0VfUEFDS0FHRV9TVUZGSVgKIyAgIHNldCAvbWVk
aWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NsYXNzZXMvbGljZW5zZS5iYmNsYXNzOjEyCiMg
ICAgIFtfZGVmYXVsdHZhbF0gIi1saWMiCkxJQ0VOU0VfUEFDS0FHRV9TVUZGSVg9Ii1saWMiCiMK
IyAkTElDRU5TRV9QQVRIIFszIG9wZXJhdGlvbnNdCiMgICBhcHBlbmQgL21lZGlhL3JlYmVjY2Fz
L3lvY3RvL21ldGEtaW50ZWwtY29udHJpYi9jb25mL2xheWVyLmNvbmY6MTMKIyAgICAgIiR7TEFZ
RVJESVJ9L2NvbW1vbi9jdXN0b20tbGljZW5zZXMiCiMgICBzZXQgZGF0YV9zbWFydC5weTo5Mzgg
W2V4cGFuZFZhcnJlZl0KIyAgICAgIiAvbWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1j
b250cmliL2NvbW1vbi9jdXN0b20tbGljZW5zZXMiCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lv
Y3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjoyNjUKIyAgICAgW2RvY10gIlBh
dGggdG8gYWRkaXRpb25hbCBsaWNlbnNlcyB1c2VkIGR1cmluZyB0aGUgYnVpbGQuIgojIHByZS1l
eHBhbnNpb24gdmFsdWU6CiMgICAiIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9tZXRhLWludGVsLWNv
bnRyaWIvY29tbW9uL2N1c3RvbS1saWNlbnNlcyIKTElDRU5TRV9QQVRIPSIgL21lZGlhL3JlYmVj
Y2FzL3lvY3RvL21ldGEtaW50ZWwtY29udHJpYi9jb21tb24vY3VzdG9tLWxpY2Vuc2VzIgojCiMg
JExJQ1NTVEFURURJUgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY2xh
c3Nlcy9saWNlbnNlLmJiY2xhc3M6NwojICAgICAiJHtXT1JLRElSfS9saWNlbnNlLWRlc3RkaXIv
IgpMSUNTU1RBVEVESVI9Ii9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy90bXAvd29yay9xZW11
eDg2LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9saWNlbnNlLWRlc3RkaXIvIgoj
CiMgJExJQ19GSUxFU19DSEtTVU0gWzIgb3BlcmF0aW9uc10KIyAgIHNldCAvbWVkaWEvcmViZWNj
YXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjI2MwojICAgICBbZG9j
XSAiQ2hlY2tzdW1zIG9mIHRoZSBsaWNlbnNlIHRleHQgaW4gdGhlIHJlY2lwZSBzb3VyY2UgY29k
ZS4iCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5l
bC9sdHRuZy9sdHRuZy1tb2R1bGVzXzIuOS4xLmJiOjcKIyAgICAgImZpbGU6Ly9MSUNFTlNFO21k
NT0zNjI4NDQ2MzNhMDg3NTNiZDk2YWIzMjJhNmM3ZjlmNiAgICAgICAgICAgICAgICAgICAgIGZp
bGU6Ly9ncGwtMi4wLnR4dDttZDU9NzUxNDE5MjYwYWE5NTQ0OTlmN2FiYWFiYWE4ODJiYmUgICAg
ICAgICAgICAgICAgICAgICBmaWxlOi8vbGdwbC0yLjEudHh0O21kNT0yNDNiNzI1ZDcxYmI1ZGY0
YTFlNTkyMGIzNDRiODZhZCIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgImZpbGU6Ly9MSUNF
TlNFO21kNT0zNjI4NDQ2MzNhMDg3NTNiZDk2YWIzMjJhNmM3ZjlmNiAgICAgICAgICAgICAgICAg
ICAgIGZpbGU6Ly9ncGwtMi4wLnR4dDttZDU9NzUxNDE5MjYwYWE5NTQ0OTlmN2FiYWFiYWE4ODJi
YmUgICAgICAgICAgICAgICAgICAgICBmaWxlOi8vbGdwbC0yLjEudHh0O21kNT0yNDNiNzI1ZDcx
YmI1ZGY0YTFlNTkyMGIzNDRiODZhZCIKTElDX0ZJTEVTX0NIS1NVTT0iZmlsZTovL0xJQ0VOU0U7
bWQ1PTM2Mjg0NDYzM2EwODc1M2JkOTZhYjMyMmE2YzdmOWY2ICAgICAgICAgICAgICAgICAgICAg
ZmlsZTovL2dwbC0yLjAudHh0O21kNT03NTE0MTkyNjBhYTk1NDQ5OWY3YWJhYWJhYTg4MmJiZSAg
ICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9sZ3BsLTIuMS50eHQ7bWQ1PTI0M2I3MjVkNzFiYjVk
ZjRhMWU1OTIwYjM0NGI4NmFkIgojCiMgJExJTktFUl9IQVNIX1NUWUxFIFsyIG9wZXJhdGlvbnNd
CiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29u
Zjo1NjIKIyAgICAgW19kZWZhdWx0dmFsXSAiZ251IgojICAgb3ZlcnJpZGVbbWlwc2FyY2hdOnNl
dCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjU2NAoj
ICAgICAic3lzdiIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgImdudSIKTElOS0VSX0hBU0hf
U1RZTEU9ImdudSIKIwojICRMSU5LRVJfSEFTSF9TVFlMRV9taXBzYXJjaAojICAgc2V0IC9tZWRp
YS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6NTY0CiMgICAgICJz
eXN2IgpMSU5LRVJfSEFTSF9TVFlMRV9taXBzYXJjaD0ic3lzdiIKIwojICRMSU5VWExJQkNWRVJT
SU9OCiMgICBzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8v
aW5jbHVkZS90Y21vZGUtZGVmYXVsdC5pbmM6MzEKIyAgICAgIjQuMTAlIgpMSU5VWExJQkNWRVJT
SU9OPSI0LjEwJSIKIwojICRMSU5VWF9LRVJORUxfVFlQRQojICAgc2V0IC9tZWRpYS9yZWJlY2Nh
cy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6MjY2CiMgICAgIFtkb2Nd
ICJEZWZpbmVzIHRoZSBrZXJuZWwgdHlwZSB0byBiZSB1c2VkIGluIGFzc2VtYmxpbmcgdGhlIGNv
bmZpZ3VyYXRpb24uIgojCiMgJExJTlVYX1ZFUlNJT04KIyAgIHNldCAvbWVkaWEvcmViZWNjYXMv
eW9jdG8vcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjI2NwojICAgICBbZG9jXSAi
VGhlIExpbnV4IHZlcnNpb24gZnJvbSBrZXJuZWwub3JnIG9uIHdoaWNoIHRoZSBMaW51eCBrZXJu
ZWwgaW1hZ2UgYmVpbmcgYnVpbHQgdXNpbmcgdGhlIE9wZW5FbWJlZGRlZCBidWlsZCBzeXN0ZW0g
aXMgYmFzZWQuIFlvdSBkZWZpbmUgdGhpcyB2YXJpYWJsZSBpbiB0aGUga2VybmVsIHJlY2lwZS4i
CiMKIyAkTElOVVhfVkVSU0lPTl9FWFRFTlNJT04KIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9j
dG8vcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjI2OAojICAgICBbZG9jXSAiQSBz
dHJpbmcgZXh0ZW5zaW9uIGNvbXBpbGVkIGludG8gdGhlIHZlcnNpb24gc3RyaW5nIG9mIHRoZSBM
aW51eCBrZXJuZWwgYnVpbHQgd2l0aCB0aGUgT3BlbkVtYmVkZGVkIGJ1aWxkIHN5c3RlbS4gWW91
IGRlZmluZSB0aGlzIHZhcmlhYmxlIGluIHRoZSBrZXJuZWwgcmVjaXBlLiIKIwojICRMT0NBTENP
TkZfVkVSU0lPTiBbMiBvcGVyYXRpb25zXQojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9w
b2t5L21ldGEtcG9reS9jb25mL2Rpc3Ryby9wb2t5LmNvbmY6MTIKIyAgICAgIjEiCiMgICBzZXQ/
IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9zYW5pdHkuY29uZjoxMQojICAg
ICAiMSIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIjEiCkxPQ0FMQ09ORl9WRVJTSU9OPSIx
IgojCiMgJExPQ0FMRUJBU0VQTgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21l
dGEvY2xhc3Nlcy9wYWNrYWdlLmJiY2xhc3M6NTQ2CiMgICAgIFtfZGVmYXVsdHZhbF0gIiR7UE59
IgpMT0NBTEVCQVNFUE49Imx0dG5nLW1vZHVsZXMiCiMKIyAkTE9DQUxFX1NFQ1RJT04KIyAgIHNl
dD8gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL3BhY2thZ2UuYmJjbGFz
czo1MAojICAgICAiIgpMT0NBTEVfU0VDVElPTj0iIgojCiMgJExPQ0FMRV9VVEY4X0lTX0RFRkFV
TFQgWzIgb3BlcmF0aW9uc10KIyAgIHNldD8gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0
YS9jb25mL2Rpc3Ryby9pbmNsdWRlL2RlZmF1bHQtZGlzdHJvdmFycy5pbmM6MTAKIyAgICAgIjEi
CiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRp
b24uY29uZjoyNjkKIyAgICAgW2RvY10gIklmIHNldCwgbG9jYWxlIG5hbWVzIGFyZSByZW5hbWVk
IHN1Y2ggdGhhdCB0aG9zZSBsYWNraW5nIGFuIGV4cGxpY2l0IGVuY29kaW5nIChlLmcuIGVuX1VT
KSB3aWxsIGFsd2F5cyBiZSBVVEYtOCwgYW5kIG5vbi1VVEYtOCBlbmNvZGluZ3MgYXJlIHJlbmFt
ZWQgdG8sIGUuZy4sIGVuX1VTLklTTy04ODU5LTEuIE90aGVyd2lzZSwgdGhlIGVuY29kaW5nIGlz
IHNwZWNpZmllZCBieSBnbGliYydzIFNVUFBPUlRFRCBmaWxlLiBOb3Qgc3VwcG9ydGVkIGZvciBw
cmVjb21waWxlZCBsb2NhbGVzLiIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIjEiCkxPQ0FM
RV9VVEY4X0lTX0RFRkFVTFQ9IjEiCiMKIyAkTE9DQUxFX1VURjhfT05MWQojICAgc2V0PyAvbWVk
aWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvZGVmYXVsdC1k
aXN0cm92YXJzLmluYzo5CiMgICAgICIwIgpMT0NBTEVfVVRGOF9PTkxZPSIwIgojCiMgJExPR0ZJ
Rk8KIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NsYXNzZXMvbG9nZ2lu
Zy5iYmNsYXNzOjYKIyAgICAgIiR7VH0vZmlmby4ke0Bvcy5nZXRwaWQoKX0iCkxPR0ZJRk89Ii9t
ZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy90bXAvd29yay9xZW11eDg2LXBva3ktbGludXgvbHR0
bmctbW9kdWxlcy8yLjkuMS1yMC90ZW1wL2ZpZm8uMTc0MzIyIgojCiMgJExPR05BTUUgWzIgb3Bl
cmF0aW9uc10KIyAgIGZyb20gZW52IGRhdGEucHk6MTI0IFtpbmhlcml0RnJvbU9TXQojICAgICAi
cmViZWNjYXMiCiMgICBhdXRvIGVudiBleHBvcnQgZGF0YS5weToxMjYgW2luaGVyaXRGcm9tT1Nd
CiMgICAgIFtleHBvcnRdICJUcnVlIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAicmViZWNj
YXMiCmV4cG9ydCBMT0dOQU1FPSJyZWJlY2NhcyIKIwojICRMT0dfRElSIFsyIG9wZXJhdGlvbnNd
CiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29u
ZjozMzUKIyAgICAgIiR7VE1QRElSfS9sb2ciCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3Rv
L3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjoyNzAKIyAgICAgW2RvY10gIlNwZWNp
ZmllcyB0aGUgZGlyZWN0b3J5IHRvIHdoaWNoIHRoZSBPcGVuRW1iZWRkZWQgYnVpbGQgc3lzdGVt
IHdyaXRlcyBvdmVyYWxsIGxvZyBmaWxlcy4gVGhlIGRlZmF1bHQgZGlyZWN0b3J5IGlzICR7VE1Q
RElSfS9sb2ciCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICIke1RNUERJUn0vbG9nIgpMT0df
RElSPSIvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvdG1wL2xvZyIKIwojICRMVFROR19QQVRD
SAojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9tZXRhLWludGVsLWNvbnRyaWIvY29tbW9u
L3JlY2lwZXMta2VybmVsL2x0dG5nL2x0dG5nLW1vZHVsZXNfJS5iYmFwcGVuZDo0CiMgICAgICIk
e0BiYi51dGlscy5jb250YWluc19hbnkoJ1BSRUZFUlJFRF9QUk9WSURFUl92aXJ0dWFsL2tlcm5l
bCcsJ2xpbnV4LWludGVsIGxpbnV4LWludGVsLXJ0JywnZmlsZTovLzAwMDItbHR0bmctbW9kdWxl
cy1QS1QtNC45LXlvY3RvLWJ1aWxkLWZhaWxlZC5wYXRjaCcsJycsZCl9IgpMVFROR19QQVRDSD0i
ZmlsZTovLzAwMDItbHR0bmctbW9kdWxlcy1QS1QtNC45LXlvY3RvLWJ1aWxkLWZhaWxlZC5wYXRj
aCIKIwojICRNQUNISU5FIFszIG9wZXJhdGlvbnNdCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lv
Y3RvL2x0dG5nL2NvbmYvbG9jYWwuY29uZjozOAojICAgICBbX2RlZmF1bHR2YWxdICJxZW11eDg2
IgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0
aW9uLmNvbmY6Mjc0CiMgICAgIFtkb2NdICJTcGVjaWZpZXMgdGhlIHRhcmdldCBkZXZpY2UgZm9y
IHdoaWNoIHRoZSBpbWFnZSBpcyBidWlsdC4gWW91IGRlZmluZSBNQUNISU5FIGluIHRoZSBjb25m
L2xvY2FsLmNvbmYgZmlsZSBpbiB0aGUgQnVpbGQgRGlyZWN0b3J5LiIKIyAgIHNldCAvbWVkaWEv
cmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjgyMwojICAgICBbdW5l
eHBvcnRdICIxIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAicWVtdXg4NiIKdW5zZXQgTUFD
SElORQojCiMgJE1BQ0hJTkVPVkVSUklERVMgWzUgb3BlcmF0aW9uc10KIyAgIHNldD8gL21lZGlh
L3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo3MjAKIyAgICAgIiR7
TUFDSElORX0iCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Jp
dGJha2UuY29uZjo3MjEKIyAgICAgW3ZhcmRlcHNleGNsdWRlXSAiTUFDSElORSIKIyAgIHByZWRv
dCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3Fl
bXUuaW5jOjE0CiMgICAgICJxZW11YWxsOiIKIyAgIHByZWRvdCAvbWVkaWEvcmViZWNjYXMveW9j
dG8vcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3g4Ni9hcmNoLXg4Ni5pbmM6MTcKIyAg
ICAgIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdUVU5FX0ZFQVRVUkVTJywgJ20zMicsICd4ODY6Jywg
JycgLGQpfSIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZG9j
dW1lbnRhdGlvbi5jb25mOjI4MgojICAgICBbZG9jXSAiTGlzdHMgb3ZlcnJpZGVzIHNwZWNpZmlj
IHRvIHRoZSBjdXJyZW50IG1hY2hpbmUuIEJ5IGRlZmF1bHQsIHRoaXMgbGlzdCBpbmNsdWRlcyB0
aGUgdmFsdWUgb2YgTUFDSElORS4iCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICIke0BiYi51
dGlscy5jb250YWlucygnVFVORV9GRUFUVVJFUycsICdtMzInLCAneDg2OicsICcnICxkKX1xZW11
YWxsOiR7TUFDSElORX0iCk1BQ0hJTkVPVkVSUklERVM9Ing4NjpxZW11YWxsOnFlbXV4ODYiCiMK
IyAkTUFDSElORV9BUkNICiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9j
b25mL2JpdGJha2UuY29uZjoxNDUKIyAgICAgIiR7QFtkLmdldFZhcignVFVORV9QS0dBUkNIJyks
IGQuZ2V0VmFyKCdNQUNISU5FJyldW2Jvb2woZC5nZXRWYXIoJ01BQ0hJTkUnKSldLnJlcGxhY2Uo
Jy0nLCAnXycpfSIKTUFDSElORV9BUkNIPSJxZW11eDg2IgojCiMgJE1BQ0hJTkVfRVNTRU5USUFM
X0VYVFJBX1JERVBFTkRTIFszIG9wZXJhdGlvbnNdCiMgICBhcHBlbmQgL21lZGlhL3JlYmVjY2Fz
L3lvY3RvL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvcWVtdXg4Ni5jb25mOjI5CiMgICAgICJ2ODZk
IgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0
aW9uLmNvbmY6Mjc1CiMgICAgIFtkb2NdICJBIGxpc3Qgb2YgcmVxdWlyZWQgbWFjaGluZS1zcGVj
aWZpYyBwYWNrYWdlcyB0byBpbnN0YWxsIGFzIHBhcnQgb2YgdGhlIGltYWdlIGJlaW5nIGJ1aWx0
LiBCZWNhdXNlIHRoaXMgaXMgYSAnbWFjaGluZSBlc3NlbnRpYWwnIHZhcmlhYmxlLCB0aGUgbGlz
dCBvZiBwYWNrYWdlcyBhcmUgZXNzZW50aWFsIGZvciB0aGUgbWFjaGluZSB0byBib290LiIKIyAg
IHNldD8gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo3
OTMKIyAgICAgIiIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIiB2ODZkIgpNQUNISU5FX0VT
U0VOVElBTF9FWFRSQV9SREVQRU5EUz0iIHY4NmQiCiMKIyAkTUFDSElORV9FU1NFTlRJQUxfRVhU
UkFfUlJFQ09NTUVORFMgWzIgb3BlcmF0aW9uc10KIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9j
dG8vcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjI3NgojICAgICBbZG9jXSAiQSBs
aXN0IG9mIHJlY29tbWVuZGVkIG1hY2hpbmUtc3BlY2lmaWMgcGFja2FnZXMgdG8gaW5zdGFsbCBh
cyBwYXJ0IG9mIHRoZSBpbWFnZSBiZWluZyBidWlsdC4gQmVjYXVzZSB0aGlzIGlzIGEgJ21hY2hp
bmUgZXNzZW50aWFsJyB2YXJpYWJsZSwgdGhlIGxpc3Qgb2YgcGFja2FnZXMgYXJlIGVzc2VudGlh
bCBmb3IgdGhlIG1hY2hpbmUgdG8gYm9vdC4iCiMgICBzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95b2N0
by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6Nzk0CiMgICAgICIiCiMgcHJlLWV4cGFuc2lv
biB2YWx1ZToKIyAgICIiCk1BQ0hJTkVfRVNTRU5USUFMX0VYVFJBX1JSRUNPTU1FTkRTPSIiCiMK
IyAkTUFDSElORV9FWFRSQV9SREVQRU5EUyBbMiBvcGVyYXRpb25zXQojICAgc2V0IC9tZWRpYS9y
ZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6Mjc3CiMgICAg
IFtkb2NdICJBIGxpc3Qgb2YgbWFjaGluZS1zcGVjaWZpYyBwYWNrYWdlcyB0byBpbnN0YWxsIGFz
IHBhcnQgb2YgdGhlIGltYWdlIGJlaW5nIGJ1aWx0IHRoYXQgYXJlIG5vdCBlc3NlbnRpYWwgZm9y
IHRoZSBtYWNoaW5lIHRvIGJvb3QuIEhvd2V2ZXIsIHRoZSBidWlsZCBwcm9jZXNzIGZvciBtb3Jl
IGZ1bGx5LWZlYXR1cmVkIGltYWdlcyBkZXBlbmRzIG9uIHRoZSBwYWNrYWdlcyBiZWluZyBwcmVz
ZW50LiIKIyAgIHNldD8gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJh
a2UuY29uZjo3OTEKIyAgICAgIiIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIiIKTUFDSElO
RV9FWFRSQV9SREVQRU5EUz0iIgojCiMgJE1BQ0hJTkVfRVhUUkFfUlJFQ09NTUVORFMgWzMgb3Bl
cmF0aW9uc10KIyAgIGFwcGVuZCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYv
bWFjaGluZS9pbmNsdWRlL3FlbXUuaW5jOjI5CiMgICAgICJybmctdG9vbHMiCiMgICBzZXQgL21l
ZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjoyNzgK
IyAgICAgW2RvY10gIkEgbGlzdCBvZiBtYWNoaW5lLXNwZWNpZmljIHBhY2thZ2VzIHRvIGluc3Rh
bGwgYXMgcGFydCBvZiB0aGUgaW1hZ2UgYmVpbmcgYnVpbHQgdGhhdCBhcmUgbm90IGVzc2VudGlh
bCBmb3IgYm9vdGluZyB0aGUgbWFjaGluZS4gVGhlIGltYWdlIGJlaW5nIGJ1aWx0IGhhcyBubyBi
dWlsZCBkZXBlbmRlbmNpZXMgb24gdGhlIHBhY2thZ2VzIGluIHRoaXMgbGlzdC4iCiMgICBzZXQ/
IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6NzkyCiMg
ICAgICIiCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICIgcm5nLXRvb2xzIgpNQUNISU5FX0VY
VFJBX1JSRUNPTU1FTkRTPSIgcm5nLXRvb2xzIgojCiMgJE1BQ0hJTkVfRkVBVFVSRVMgWzUgb3Bl
cmF0aW9uc10KIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvbWFj
aGluZS9pbmNsdWRlL3FlbXUuaW5jOjEyCiMgICAgICJhbHNhIGJsdWV0b290aCB1c2JnYWRnZXQg
c2NyZWVuIgojICAgYXBwZW5kIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9t
YWNoaW5lL3FlbXV4ODYuY29uZjoyNwojICAgICAieDg2IgojICAgc2V0IC9tZWRpYS9yZWJlY2Nh
cy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6Mjc5CiMgICAgIFtkb2Nd
ICJTcGVjaWZpZXMgdGhlIGxpc3Qgb2YgaGFyZHdhcmUgZmVhdHVyZXMgdGhlIE1BQ0hJTkUgc3Vw
cG9ydHMuIgojICAgc2V0PyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0
YmFrZS5jb25mOjc4NgojICAgICAiIgojICAgYXBwZW5kIHV0aWxzLnB5OjEyNyBbZmVhdHVyZXNf
YmFja2ZpbGxdCiMgICAgICIgcnRjIHFlbXUtdXNlcm1vZGUiCiMgcHJlLWV4cGFuc2lvbiB2YWx1
ZToKIyAgICJhbHNhIGJsdWV0b290aCB1c2JnYWRnZXQgc2NyZWVuIHg4NiBydGMgcWVtdS11c2Vy
bW9kZSIKTUFDSElORV9GRUFUVVJFUz0iYWxzYSBibHVldG9vdGggdXNiZ2FkZ2V0IHNjcmVlbiB4
ODYgcnRjIHFlbXUtdXNlcm1vZGUiCiMKIyAkTUFDSElORV9GRUFUVVJFU19CQUNLRklMTCBbMiBv
cGVyYXRpb25zXQojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9k
b2N1bWVudGF0aW9uLmNvbmY6MjgwCiMgICAgIFtkb2NdICJGZWF0dXJlcyB0byBiZSBhZGRlZCB0
byBNQUNISU5FX0ZFQVRVUkVTIGlmIG5vdCBhbHNvIHByZXNlbnQgaW4gTUFDSElORV9GRUFUVVJF
U19CQUNLRklMTF9DT05TSURFUkVELiBUaGlzIHZhcmlhYmxlIGlzIHNldCBpbiB0aGUgbWV0YS9j
b25mL2JpdGJha2UuY29uZiBmaWxlIGFuZCBpcyBub3QgaW50ZW5kZWQgdG8gYmUgdXNlci1jb25m
aWd1cmFibGUuIgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9i
aXRiYWtlLmNvbmY6ODEwCiMgICAgICJydGMgcWVtdS11c2VybW9kZSIKIyBwcmUtZXhwYW5zaW9u
IHZhbHVlOgojICAgInJ0YyBxZW11LXVzZXJtb2RlIgpNQUNISU5FX0ZFQVRVUkVTX0JBQ0tGSUxM
PSJydGMgcWVtdS11c2VybW9kZSIKIwojICRNQUNISU5FX0ZFQVRVUkVTX0JBQ0tGSUxMX0NPTlNJ
REVSRUQgWzIgb3BlcmF0aW9uc10KIyAgIF9hcHBlbmQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bv
a3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS94ODYvYXJjaC14ODYuaW5jOjI4CiMgICAgICIg
JHtAYmIudXRpbHMuY29udGFpbnMoJ1RVTkVfRkVBVFVSRVMnLCAnbXgzMicsICdxZW11LXVzZXJt
b2RlJywgJycsIGQpfSIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2Nv
bmYvZG9jdW1lbnRhdGlvbi5jb25mOjI4MQojICAgICBbZG9jXSAiRmVhdHVyZXMgZnJvbSBNQUNI
SU5FX0ZFQVRVUkVTX0JBQ0tGSUxMIHRoYXQgc2hvdWxkIG5vdCBiZSBiYWNrZmlsbGVkIChpLmUu
IGFkZGVkIHRvIE1BQ0hJTkVfRkVBVFVSRVMpIGR1cmluZyB0aGUgYnVpbGQuIgojIHByZS1leHBh
bnNpb24gdmFsdWU6CiMgICAiICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdUVU5FX0ZFQVRVUkVTJywg
J214MzInLCAncWVtdS11c2VybW9kZScsICcnLCBkKX0iCk1BQ0hJTkVfRkVBVFVSRVNfQkFDS0ZJ
TExfQ09OU0lERVJFRD0iICIKIwojICRNQUNISU5FX1RBU0tfUFJPVklERVIKIyAgIHNldD8gL21l
ZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo3NjAKIyAgICAg
IiR7REVGQVVMVF9UQVNLX1BST1ZJREVSfSIKTUFDSElORV9UQVNLX1BST1ZJREVSPSJwYWNrYWdl
Z3JvdXAtYmFzZSIKIwojICRNQUlOVEFJTkVSIFszIG9wZXJhdGlvbnNdCiMgICBzZXQgL21lZGlh
L3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjoyNTAKIyAgICAgIk9F
LUNvcmUgRGV2ZWxvcGVycyA8b3BlbmVtYmVkZGVkLWNvcmVAbGlzdHMub3BlbmVtYmVkZGVkLm9y
Zz4iCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5L2NvbmYvZGlz
dHJvL3Bva3kuY29uZjo4CiMgICAgICJQb2t5IDxwb2t5QHlvY3RvcHJvamVjdC5vcmc+IgojICAg
c2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNv
bmY6MjgzCiMgICAgIFtkb2NdICJUaGUgZW1haWwgYWRkcmVzcyBvZiB0aGUgZGlzdHJpYnV0aW9u
IG1haW50YWluZXIuIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiUG9reSA8cG9reUB5b2N0
b3Byb2plY3Qub3JnPiIKTUFJTlRBSU5FUj0iUG9reSA8cG9reUB5b2N0b3Byb2plY3Qub3JnPiIK
IwojICRNQUtFIFsyIG9wZXJhdGlvbnNdCiMgICBleHBvcnRlZCAvbWVkaWEvcmViZWNjYXMveW9j
dG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjUyMwojICAgICBbZXhwb3J0XSAiMSIKIyAg
IHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjUy
MwojICAgICAibWFrZSIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIm1ha2UiCmV4cG9ydCBN
QUtFPSJtYWtlIgojCiMgJE1FUkdFUEVSRklMRURFUFMKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMv
eW9jdG8vcG9reS9tZXRhL2NsYXNzZXMvcGFja2FnZV9ycG0uYmJjbGFzczoxMgojICAgICAiMSIK
TUVSR0VQRVJGSUxFREVQUz0iMSIKIwojICRNRVRBREFUQV9CUkFOQ0gKIyAgIHNldD8gL21lZGlh
L3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL21ldGFkYXRhX3NjbS5iYmNsYXNzOjEK
IyAgICAgIiR7QGJhc2VfZGV0ZWN0X2JyYW5jaChkKX0iCk1FVEFEQVRBX0JSQU5DSD0icHlybyIK
IwojICRNRVRBREFUQV9SRVZJU0lPTgojICAgc2V0PyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9r
eS9tZXRhL2NsYXNzZXMvbWV0YWRhdGFfc2NtLmJiY2xhc3M6MgojICAgICAiJHtAYmFzZV9kZXRl
Y3RfcmV2aXNpb24oZCl9IgpNRVRBREFUQV9SRVZJU0lPTj0iNTBjYzE1MzM1ZWJjZGZhMmEyZmM1
MmMxMWZhMDE2OTVkZmRiOWUyNiIKIwojICRNSVJST1JTIFs0IG9wZXJhdGlvbnNdCiMgICBwcmVw
ZW5kIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEtcG9reS9jb25mL2Rpc3Ryby9wb2t5
LmNvbmY6NjQKIyAgICAgImZ0cDovLy4qLy4qICAgICAgaHR0cDovL2Rvd25sb2Fkcy55b2N0b3By
b2plY3Qub3JnL21pcnJvci9zb3VyY2VzLyBcbiBodHRwOi8vLiovLiogICAgIGh0dHA6Ly9kb3du
bG9hZHMueW9jdG9wcm9qZWN0Lm9yZy9taXJyb3Ivc291cmNlcy8gXG4gaHR0cHM6Ly8uKi8uKiAg
ICBodHRwOi8vZG93bmxvYWRzLnlvY3RvcHJvamVjdC5vcmcvbWlycm9yL3NvdXJjZXMvIFxuIgoj
ICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9u
LmNvbmY6Mjg0CiMgICAgIFtkb2NdICJTcGVjaWZpZXMgYWRkaXRpb25hbCBwYXRocyBmcm9tIHdo
aWNoIHRoZSBPcGVuRW1iZWRkZWQgYnVpbGQgc3lzdGVtIGdldHMgc291cmNlIGNvZGUuIgojICAg
YXBwZW5kIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY2xhc3Nlcy9taXJyb3JzLmJi
Y2xhc3M6NzAKIyAgICAgIiR7REVCSUFOX01JUlJPUn0JaHR0cDovL3NuYXBzaG90LmRlYmlhbi5v
cmcvYXJjaGl2ZS9kZWJpYW4tYXJjaGl2ZS8yMDEyMDMyOFQwOTI3NTJaL2RlYmlhbi9wb29sIFxu
ICR7REVCSUFOX01JUlJPUn0JaHR0cDovL3NuYXBzaG90LmRlYmlhbi5vcmcvYXJjaGl2ZS9kZWJp
YW4tYXJjaGl2ZS8yMDExMDEyN1QwODQyNTdaL2RlYmlhbi9wb29sIFxuICR7REVCSUFOX01JUlJP
Un0JaHR0cDovL3NuYXBzaG90LmRlYmlhbi5vcmcvYXJjaGl2ZS9kZWJpYW4tYXJjaGl2ZS8yMDA5
MDgwMlQwMDQxNTNaL2RlYmlhbi9wb29sIFxuICR7REVCSUFOX01JUlJPUn0JaHR0cDovL2Z0cC5k
ZS5kZWJpYW4ub3JnL2RlYmlhbi9wb29sIFxuICR7REVCSUFOX01JUlJPUn0JaHR0cDovL2Z0cC5h
dS5kZWJpYW4ub3JnL2RlYmlhbi9wb29sIFxuICR7REVCSUFOX01JUlJPUn0JaHR0cDovL2Z0cC5j
bC5kZWJpYW4ub3JnL2RlYmlhbi9wb29sIFxuICR7REVCSUFOX01JUlJPUn0JaHR0cDovL2Z0cC5o
ci5kZWJpYW4ub3JnL2RlYmlhbi9wb29sIFxuICR7REVCSUFOX01JUlJPUn0JaHR0cDovL2Z0cC5m
aS5kZWJpYW4ub3JnL2RlYmlhbi9wb29sIFxuICR7REVCSUFOX01JUlJPUn0JaHR0cDovL2Z0cC5o
ay5kZWJpYW4ub3JnL2RlYmlhbi9wb29sIFxuICR7REVCSUFOX01JUlJPUn0JaHR0cDovL2Z0cC5o
dS5kZWJpYW4ub3JnL2RlYmlhbi9wb29sIFxuICR7REVCSUFOX01JUlJPUn0JaHR0cDovL2Z0cC5p
ZS5kZWJpYW4ub3JnL2RlYmlhbi9wb29sIFxuICR7REVCSUFOX01JUlJPUn0JaHR0cDovL2Z0cC5p
dC5kZWJpYW4ub3JnL2RlYmlhbi9wb29sIFxuICR7REVCSUFOX01JUlJPUn0JaHR0cDovL2Z0cC5q
cC5kZWJpYW4ub3JnL2RlYmlhbi9wb29sIFxuICR7REVCSUFOX01JUlJPUn0JaHR0cDovL2Z0cC5u
by5kZWJpYW4ub3JnL2RlYmlhbi9wb29sIFxuICR7REVCSUFOX01JUlJPUn0JaHR0cDovL2Z0cC5w
bC5kZWJpYW4ub3JnL2RlYmlhbi9wb29sIFxuICR7REVCSUFOX01JUlJPUn0JaHR0cDovL2Z0cC5y
by5kZWJpYW4ub3JnL2RlYmlhbi9wb29sIFxuICR7REVCSUFOX01JUlJPUn0JaHR0cDovL2Z0cC5z
aS5kZWJpYW4ub3JnL2RlYmlhbi9wb29sIFxuICR7REVCSUFOX01JUlJPUn0JaHR0cDovL2Z0cC5l
cy5kZWJpYW4ub3JnL2RlYmlhbi9wb29sIFxuICR7REVCSUFOX01JUlJPUn0JaHR0cDovL2Z0cC5z
ZS5kZWJpYW4ub3JnL2RlYmlhbi9wb29sIFxuICR7REVCSUFOX01JUlJPUn0JaHR0cDovL2Z0cC50
ci5kZWJpYW4ub3JnL2RlYmlhbi9wb29sIFxuICR7R05VX01JUlJPUn0JaHR0cHM6Ly9taXJyb3Jz
Lmtlcm5lbC5vcmcvZ251IFxuICR7S0VSTkVMT1JHX01JUlJPUn0JaHR0cDovL3d3dy5rZXJuZWwu
b3JnL3B1YiBcbiAke0dOVVBHX01JUlJPUn0JZnRwOi8vZnRwLmdudXBnLm9yZy9nY3J5cHQgXG4g
JHtHTlVQR19NSVJST1J9CWZ0cDovL2Z0cC5mcmFua2VuLmRlL3B1Yi9jcnlwdC9taXJyb3IvZnRw
LmdudXBnLm9yZy9nY3J5cHQgXG4gJHtHTlVQR19NSVJST1J9CWZ0cDovL21pcnJvcnMuZG90c3Jj
Lm9yZy9nY3J5cHQgXG4gZnRwOi8vZGFudGUuY3Rhbi5vcmcvdGV4LWFyY2hpdmUgZnRwOi8vZnRw
LmZ1LWJlcmxpbi5kZS90ZXgvQ1RBTiBcbiBmdHA6Ly9kYW50ZS5jdGFuLm9yZy90ZXgtYXJjaGl2
ZSBodHRwOi8vc3Vuc2l0ZS5zdXQuYWMuanAvcHViL2FyY2hpdmVzL2N0YW4vIFxuIGZ0cDovL2Rh
bnRlLmN0YW4ub3JnL3RleC1hcmNoaXZlIGh0dHA6Ly9jdGFuLnVuc3cuZWR1LmF1LyBcbiBmdHA6
Ly9mdHAuZ251dGxzLm9yZy9nY3J5cHQvZ251dGxzICR7R05VUEdfTUlSUk9SfS9nbnV0bHMgXG4g
aHR0cDovL2Z0cC5pbmZvLXppcC5vcmcvcHViL2luZm96aXAvc3JjLyBodHRwOi8vbWlycm9yLnN3
aXRjaC5jaC9mdHAvbWlycm9yL2luZm96aXAvc3JjLyBcbiBodHRwOi8vZnRwLmluZm8temlwLm9y
Zy9wdWIvaW5mb3ppcC9zcmMvIGZ0cDovL3N1bnNpdGUuaWNtLmVkdS5wbC9wdWIvdW5peC9hcmNo
aXZpbmcvaW5mby16aXAvc3JjLyBcbiBmdHA6Ly9sc29mLml0YXAucHVyZHVlLmVkdS9wdWIvdG9v
bHMvdW5peC9sc29mLyAgZnRwOi8vZnRwLmNlcmlhcy5wdXJkdWUuZWR1L3B1Yi90b29scy91bml4
L3N5c3V0aWxzL2xzb2YvIFxuIGZ0cDovL2xzb2YuaXRhcC5wdXJkdWUuZWR1L3B1Yi90b29scy91
bml4L2xzb2YvICBmdHA6Ly9mdHAudGF1LmFjLmlsL3B1Yi91bml4L2FkbWluLyBcbiBmdHA6Ly9s
c29mLml0YXAucHVyZHVlLmVkdS9wdWIvdG9vbHMvdW5peC9sc29mLyAgZnRwOi8vZnRwLmNlcnQu
ZGZuLmRlL3B1Yi90b29scy9hZG1pbi9sc29mLyBcbiBmdHA6Ly9sc29mLml0YXAucHVyZHVlLmVk
dS9wdWIvdG9vbHMvdW5peC9sc29mLyAgZnRwOi8vZnRwLmZ1LWJlcmxpbi5kZS9wdWIvdW5peC90
b29scy9sc29mLyBcbiBmdHA6Ly9sc29mLml0YXAucHVyZHVlLmVkdS9wdWIvdG9vbHMvdW5peC9s
c29mLyAgZnRwOi8vZnRwLmthaXpvLm9yZy9wdWIvbHNvZi8gXG4gZnRwOi8vbHNvZi5pdGFwLnB1
cmR1ZS5lZHUvcHViL3Rvb2xzL3VuaXgvbHNvZi8gIGZ0cDovL2Z0cC50dS1kYXJtc3RhZHQuZGUv
cHViL3N5c2FkbWluL2xzb2YvIFxuIGZ0cDovL2xzb2YuaXRhcC5wdXJkdWUuZWR1L3B1Yi90b29s
cy91bml4L2xzb2YvICBmdHA6Ly9mdHAudHV4Lm9yZy9wdWIvc2l0ZXMvdmljLmNjLnB1cmR1ZS5l
ZHUvdG9vbHMvdW5peC9sc29mLyBcbiBmdHA6Ly9sc29mLml0YXAucHVyZHVlLmVkdS9wdWIvdG9v
bHMvdW5peC9sc29mLyAgZnRwOi8vZ2QudHV3aWVuLmFjLmF0L3V0aWxzL2FkbWluLXRvb2xzL2xz
b2YvIFxuIGZ0cDovL2xzb2YuaXRhcC5wdXJkdWUuZWR1L3B1Yi90b29scy91bml4L2xzb2YvICBm
dHA6Ly9zdW5zaXRlLnVhbGJlcnRhLmNhL3B1Yi9NaXJyb3IvbHNvZi8gXG4gZnRwOi8vbHNvZi5p
dGFwLnB1cmR1ZS5lZHUvcHViL3Rvb2xzL3VuaXgvbHNvZi8gIGZ0cDovL3RoZS53aXJldGFwcGVk
Lm5ldC9wdWIvc2VjdXJpdHkvaG9zdC1zZWN1cml0eS9sc29mLyBcbiAke0FQQUNIRV9NSVJST1J9
ICBodHRwOi8vd3d3LnVzLmFwYWNoZS5vcmcvZGlzdCBcbiAke0FQQUNIRV9NSVJST1J9ICBodHRw
Oi8vYXJjaGl2ZS5hcGFjaGUub3JnL2Rpc3QgXG4gaHR0cDovL2Rvd25sb2Fkcy5zb3VyY2Vmb3Jn
ZS5uZXQvd2F0Y2hkb2cvIGh0dHA6Ly9mb3NzaWVzLm9yZy9saW51eC9taXNjLyBcbiAke1NBVkFO
TkFIX0dOVV9NSVJST1J9IGh0dHA6Ly9kb3dubG9hZC1taXJyb3Iuc2F2YW5uYWguZ251Lm9yZy9y
ZWxlYXNlcyBcbiAke1NBVkFOTkFIX05PTkdOVV9NSVJST1J9IGh0dHA6Ly9kb3dubG9hZC1taXJy
b3Iuc2F2YW5uYWgubm9uZ251Lm9yZy9yZWxlYXNlcyBcbiBjdnM6Ly8uKi8uKiAgICAgaHR0cDov
L2Rvd25sb2Fkcy55b2N0b3Byb2plY3Qub3JnL21pcnJvci9zb3VyY2VzLyBcbiBzdm46Ly8uKi8u
KiAgICAgaHR0cDovL2Rvd25sb2Fkcy55b2N0b3Byb2plY3Qub3JnL21pcnJvci9zb3VyY2VzLyBc
biBnaXQ6Ly8uKi8uKiAgICAgaHR0cDovL2Rvd25sb2Fkcy55b2N0b3Byb2plY3Qub3JnL21pcnJv
ci9zb3VyY2VzLyBcbiBoZzovLy4qLy4qICAgICAgaHR0cDovL2Rvd25sb2Fkcy55b2N0b3Byb2pl
Y3Qub3JnL21pcnJvci9zb3VyY2VzLyBcbiBienI6Ly8uKi8uKiAgICAgaHR0cDovL2Rvd25sb2Fk
cy55b2N0b3Byb2plY3Qub3JnL21pcnJvci9zb3VyY2VzLyBcbiBwNDovLy4qLy4qICAgICAgaHR0
cDovL2Rvd25sb2Fkcy55b2N0b3Byb2plY3Qub3JnL21pcnJvci9zb3VyY2VzLyBcbiBvc2M6Ly8u
Ki8uKiAgICAgaHR0cDovL2Rvd25sb2Fkcy55b2N0b3Byb2plY3Qub3JnL21pcnJvci9zb3VyY2Vz
LyBcbiBodHRwcz8kOi8vLiovLiogaHR0cDovL2Rvd25sb2Fkcy55b2N0b3Byb2plY3Qub3JnL21p
cnJvci9zb3VyY2VzLyBcbiBmdHA6Ly8uKi8uKiAgICAgaHR0cDovL2Rvd25sb2Fkcy55b2N0b3By
b2plY3Qub3JnL21pcnJvci9zb3VyY2VzLyBcbiBucG06Ly8uKi8/LiogICAgaHR0cDovL2Rvd25s
b2Fkcy55b2N0b3Byb2plY3Qub3JnL21pcnJvci9zb3VyY2VzLyBcbiBjdnM6Ly8uKi8uKiAgICAg
aHR0cDovL3NvdXJjZXMub3BlbmVtYmVkZGVkLm9yZy8gXG4gc3ZuOi8vLiovLiogICAgIGh0dHA6
Ly9zb3VyY2VzLm9wZW5lbWJlZGRlZC5vcmcvIFxuIGdpdDovLy4qLy4qICAgICBodHRwOi8vc291
cmNlcy5vcGVuZW1iZWRkZWQub3JnLyBcbiBoZzovLy4qLy4qICAgICAgaHR0cDovL3NvdXJjZXMu
b3BlbmVtYmVkZGVkLm9yZy8gXG4gYnpyOi8vLiovLiogICAgIGh0dHA6Ly9zb3VyY2VzLm9wZW5l
bWJlZGRlZC5vcmcvIFxuIHA0Oi8vLiovLiogICAgICBodHRwOi8vc291cmNlcy5vcGVuZW1iZWRk
ZWQub3JnLyBcbiBvc2M6Ly8uKi8uKiAgICAgaHR0cDovL3NvdXJjZXMub3BlbmVtYmVkZGVkLm9y
Zy8gXG4gaHR0cHM/JDovLy4qLy4qIGh0dHA6Ly9zb3VyY2VzLm9wZW5lbWJlZGRlZC5vcmcvIFxu
IGZ0cDovLy4qLy4qICAgICBodHRwOi8vc291cmNlcy5vcGVuZW1iZWRkZWQub3JnLyBcbiBucG06
Ly8uKi8/LiogICAgaHR0cDovL3NvdXJjZXMub3BlbmVtYmVkZGVkLm9yZy8gXG4gJHtDUEFOX01J
UlJPUn0gIGh0dHA6Ly9jcGFuLm1ldGFjcGFuLm9yZy8gXG4gJHtDUEFOX01JUlJPUn0gIGh0dHA6
Ly9zZWFyY2guY3Bhbi5vcmcvQ1BBTi8gXG4gIgojICAgYXBwZW5kIC9tZWRpYS9yZWJlY2Nhcy95
b2N0by9wb2t5L21ldGEvY2xhc3Nlcy9taXJyb3JzLmJiY2xhc3M6ODEKIyAgICAgImdpdDovL2Fu
b25zY20uZGViaWFuLm9yZy8uKiAgIGdpdDovL2Fub25zY20uZGViaWFuLm9yZy9naXQvUEFUSDtw
cm90b2NvbD1odHRwcyBcbiBnaXQ6Ly9naXQuZ25vbWUub3JnLy4qICAgICAgICBnaXQ6Ly9naXQu
Z25vbWUub3JnL2Jyb3dzZS9QQVRIO3Byb3RvY29sPWh0dHBzIFxuIGdpdDovL2dpdC5zYXZhbm5h
aC5nbnUub3JnLy4qIGdpdDovL2dpdC5zYXZhbm5haC5nbnUub3JnL2dpdC9QQVRIO3Byb3RvY29s
PWh0dHBzIFxuIGdpdDovL2dpdC55b2N0b3Byb2plY3Qub3JnLy4qIGdpdDovL2dpdC55b2N0b3By
b2plY3Qub3JnL2dpdC9QQVRIO3Byb3RvY29sPWh0dHBzIFxuIGdpdDovLy4qLy4qICAgICAgICAg
ICAgICAgICAgIGdpdDovL0hPU1QvUEFUSDtwcm90b2NvbD1odHRwcyBcbiAiCiMgcHJlLWV4cGFu
c2lvbiB2YWx1ZToKIyAgICJmdHA6Ly8uKi8uKiAgICAgIGh0dHA6Ly9kb3dubG9hZHMueW9jdG9w
cm9qZWN0Lm9yZy9taXJyb3Ivc291cmNlcy8gXG4gaHR0cDovLy4qLy4qICAgICBodHRwOi8vZG93
bmxvYWRzLnlvY3RvcHJvamVjdC5vcmcvbWlycm9yL3NvdXJjZXMvIFxuIGh0dHBzOi8vLiovLiog
ICAgaHR0cDovL2Rvd25sb2Fkcy55b2N0b3Byb2plY3Qub3JnL21pcnJvci9zb3VyY2VzLyBcbiAg
JHtERUJJQU5fTUlSUk9SfQlodHRwOi8vc25hcHNob3QuZGViaWFuLm9yZy9hcmNoaXZlL2RlYmlh
bi1hcmNoaXZlLzIwMTIwMzI4VDA5Mjc1MlovZGViaWFuL3Bvb2wgXG4gJHtERUJJQU5fTUlSUk9S
fQlodHRwOi8vc25hcHNob3QuZGViaWFuLm9yZy9hcmNoaXZlL2RlYmlhbi1hcmNoaXZlLzIwMTEw
MTI3VDA4NDI1N1ovZGViaWFuL3Bvb2wgXG4gJHtERUJJQU5fTUlSUk9SfQlodHRwOi8vc25hcHNo
b3QuZGViaWFuLm9yZy9hcmNoaXZlL2RlYmlhbi1hcmNoaXZlLzIwMDkwODAyVDAwNDE1M1ovZGVi
aWFuL3Bvb2wgXG4gJHtERUJJQU5fTUlSUk9SfQlodHRwOi8vZnRwLmRlLmRlYmlhbi5vcmcvZGVi
aWFuL3Bvb2wgXG4gJHtERUJJQU5fTUlSUk9SfQlodHRwOi8vZnRwLmF1LmRlYmlhbi5vcmcvZGVi
aWFuL3Bvb2wgXG4gJHtERUJJQU5fTUlSUk9SfQlodHRwOi8vZnRwLmNsLmRlYmlhbi5vcmcvZGVi
aWFuL3Bvb2wgXG4gJHtERUJJQU5fTUlSUk9SfQlodHRwOi8vZnRwLmhyLmRlYmlhbi5vcmcvZGVi
aWFuL3Bvb2wgXG4gJHtERUJJQU5fTUlSUk9SfQlodHRwOi8vZnRwLmZpLmRlYmlhbi5vcmcvZGVi
aWFuL3Bvb2wgXG4gJHtERUJJQU5fTUlSUk9SfQlodHRwOi8vZnRwLmhrLmRlYmlhbi5vcmcvZGVi
aWFuL3Bvb2wgXG4gJHtERUJJQU5fTUlSUk9SfQlodHRwOi8vZnRwLmh1LmRlYmlhbi5vcmcvZGVi
aWFuL3Bvb2wgXG4gJHtERUJJQU5fTUlSUk9SfQlodHRwOi8vZnRwLmllLmRlYmlhbi5vcmcvZGVi
aWFuL3Bvb2wgXG4gJHtERUJJQU5fTUlSUk9SfQlodHRwOi8vZnRwLml0LmRlYmlhbi5vcmcvZGVi
aWFuL3Bvb2wgXG4gJHtERUJJQU5fTUlSUk9SfQlodHRwOi8vZnRwLmpwLmRlYmlhbi5vcmcvZGVi
aWFuL3Bvb2wgXG4gJHtERUJJQU5fTUlSUk9SfQlodHRwOi8vZnRwLm5vLmRlYmlhbi5vcmcvZGVi
aWFuL3Bvb2wgXG4gJHtERUJJQU5fTUlSUk9SfQlodHRwOi8vZnRwLnBsLmRlYmlhbi5vcmcvZGVi
aWFuL3Bvb2wgXG4gJHtERUJJQU5fTUlSUk9SfQlodHRwOi8vZnRwLnJvLmRlYmlhbi5vcmcvZGVi
aWFuL3Bvb2wgXG4gJHtERUJJQU5fTUlSUk9SfQlodHRwOi8vZnRwLnNpLmRlYmlhbi5vcmcvZGVi
aWFuL3Bvb2wgXG4gJHtERUJJQU5fTUlSUk9SfQlodHRwOi8vZnRwLmVzLmRlYmlhbi5vcmcvZGVi
aWFuL3Bvb2wgXG4gJHtERUJJQU5fTUlSUk9SfQlodHRwOi8vZnRwLnNlLmRlYmlhbi5vcmcvZGVi
aWFuL3Bvb2wgXG4gJHtERUJJQU5fTUlSUk9SfQlodHRwOi8vZnRwLnRyLmRlYmlhbi5vcmcvZGVi
aWFuL3Bvb2wgXG4gJHtHTlVfTUlSUk9SfQlodHRwczovL21pcnJvcnMua2VybmVsLm9yZy9nbnUg
XG4gJHtLRVJORUxPUkdfTUlSUk9SfQlodHRwOi8vd3d3Lmtlcm5lbC5vcmcvcHViIFxuICR7R05V
UEdfTUlSUk9SfQlmdHA6Ly9mdHAuZ251cGcub3JnL2djcnlwdCBcbiAke0dOVVBHX01JUlJPUn0J
ZnRwOi8vZnRwLmZyYW5rZW4uZGUvcHViL2NyeXB0L21pcnJvci9mdHAuZ251cGcub3JnL2djcnlw
dCBcbiAke0dOVVBHX01JUlJPUn0JZnRwOi8vbWlycm9ycy5kb3RzcmMub3JnL2djcnlwdCBcbiBm
dHA6Ly9kYW50ZS5jdGFuLm9yZy90ZXgtYXJjaGl2ZSBmdHA6Ly9mdHAuZnUtYmVybGluLmRlL3Rl
eC9DVEFOIFxuIGZ0cDovL2RhbnRlLmN0YW4ub3JnL3RleC1hcmNoaXZlIGh0dHA6Ly9zdW5zaXRl
LnN1dC5hYy5qcC9wdWIvYXJjaGl2ZXMvY3Rhbi8gXG4gZnRwOi8vZGFudGUuY3Rhbi5vcmcvdGV4
LWFyY2hpdmUgaHR0cDovL2N0YW4udW5zdy5lZHUuYXUvIFxuIGZ0cDovL2Z0cC5nbnV0bHMub3Jn
L2djcnlwdC9nbnV0bHMgJHtHTlVQR19NSVJST1J9L2dudXRscyBcbiBodHRwOi8vZnRwLmluZm8t
emlwLm9yZy9wdWIvaW5mb3ppcC9zcmMvIGh0dHA6Ly9taXJyb3Iuc3dpdGNoLmNoL2Z0cC9taXJy
b3IvaW5mb3ppcC9zcmMvIFxuIGh0dHA6Ly9mdHAuaW5mby16aXAub3JnL3B1Yi9pbmZvemlwL3Ny
Yy8gZnRwOi8vc3Vuc2l0ZS5pY20uZWR1LnBsL3B1Yi91bml4L2FyY2hpdmluZy9pbmZvLXppcC9z
cmMvIFxuIGZ0cDovL2xzb2YuaXRhcC5wdXJkdWUuZWR1L3B1Yi90b29scy91bml4L2xzb2YvICBm
dHA6Ly9mdHAuY2VyaWFzLnB1cmR1ZS5lZHUvcHViL3Rvb2xzL3VuaXgvc3lzdXRpbHMvbHNvZi8g
XG4gZnRwOi8vbHNvZi5pdGFwLnB1cmR1ZS5lZHUvcHViL3Rvb2xzL3VuaXgvbHNvZi8gIGZ0cDov
L2Z0cC50YXUuYWMuaWwvcHViL3VuaXgvYWRtaW4vIFxuIGZ0cDovL2xzb2YuaXRhcC5wdXJkdWUu
ZWR1L3B1Yi90b29scy91bml4L2xzb2YvICBmdHA6Ly9mdHAuY2VydC5kZm4uZGUvcHViL3Rvb2xz
L2FkbWluL2xzb2YvIFxuIGZ0cDovL2xzb2YuaXRhcC5wdXJkdWUuZWR1L3B1Yi90b29scy91bml4
L2xzb2YvICBmdHA6Ly9mdHAuZnUtYmVybGluLmRlL3B1Yi91bml4L3Rvb2xzL2xzb2YvIFxuIGZ0
cDovL2xzb2YuaXRhcC5wdXJkdWUuZWR1L3B1Yi90b29scy91bml4L2xzb2YvICBmdHA6Ly9mdHAu
a2Fpem8ub3JnL3B1Yi9sc29mLyBcbiBmdHA6Ly9sc29mLml0YXAucHVyZHVlLmVkdS9wdWIvdG9v
bHMvdW5peC9sc29mLyAgZnRwOi8vZnRwLnR1LWRhcm1zdGFkdC5kZS9wdWIvc3lzYWRtaW4vbHNv
Zi8gXG4gZnRwOi8vbHNvZi5pdGFwLnB1cmR1ZS5lZHUvcHViL3Rvb2xzL3VuaXgvbHNvZi8gIGZ0
cDovL2Z0cC50dXgub3JnL3B1Yi9zaXRlcy92aWMuY2MucHVyZHVlLmVkdS90b29scy91bml4L2xz
b2YvIFxuIGZ0cDovL2xzb2YuaXRhcC5wdXJkdWUuZWR1L3B1Yi90b29scy91bml4L2xzb2YvICBm
dHA6Ly9nZC50dXdpZW4uYWMuYXQvdXRpbHMvYWRtaW4tdG9vbHMvbHNvZi8gXG4gZnRwOi8vbHNv
Zi5pdGFwLnB1cmR1ZS5lZHUvcHViL3Rvb2xzL3VuaXgvbHNvZi8gIGZ0cDovL3N1bnNpdGUudWFs
YmVydGEuY2EvcHViL01pcnJvci9sc29mLyBcbiBmdHA6Ly9sc29mLml0YXAucHVyZHVlLmVkdS9w
dWIvdG9vbHMvdW5peC9sc29mLyAgZnRwOi8vdGhlLndpcmV0YXBwZWQubmV0L3B1Yi9zZWN1cml0
eS9ob3N0LXNlY3VyaXR5L2xzb2YvIFxuICR7QVBBQ0hFX01JUlJPUn0gIGh0dHA6Ly93d3cudXMu
YXBhY2hlLm9yZy9kaXN0IFxuICR7QVBBQ0hFX01JUlJPUn0gIGh0dHA6Ly9hcmNoaXZlLmFwYWNo
ZS5vcmcvZGlzdCBcbiBodHRwOi8vZG93bmxvYWRzLnNvdXJjZWZvcmdlLm5ldC93YXRjaGRvZy8g
aHR0cDovL2Zvc3NpZXMub3JnL2xpbnV4L21pc2MvIFxuICR7U0FWQU5OQUhfR05VX01JUlJPUn0g
aHR0cDovL2Rvd25sb2FkLW1pcnJvci5zYXZhbm5haC5nbnUub3JnL3JlbGVhc2VzIFxuICR7U0FW
QU5OQUhfTk9OR05VX01JUlJPUn0gaHR0cDovL2Rvd25sb2FkLW1pcnJvci5zYXZhbm5haC5ub25n
bnUub3JnL3JlbGVhc2VzIFxuIGN2czovLy4qLy4qICAgICBodHRwOi8vZG93bmxvYWRzLnlvY3Rv
cHJvamVjdC5vcmcvbWlycm9yL3NvdXJjZXMvIFxuIHN2bjovLy4qLy4qICAgICBodHRwOi8vZG93
bmxvYWRzLnlvY3RvcHJvamVjdC5vcmcvbWlycm9yL3NvdXJjZXMvIFxuIGdpdDovLy4qLy4qICAg
ICBodHRwOi8vZG93bmxvYWRzLnlvY3RvcHJvamVjdC5vcmcvbWlycm9yL3NvdXJjZXMvIFxuIGhn
Oi8vLiovLiogICAgICBodHRwOi8vZG93bmxvYWRzLnlvY3RvcHJvamVjdC5vcmcvbWlycm9yL3Nv
dXJjZXMvIFxuIGJ6cjovLy4qLy4qICAgICBodHRwOi8vZG93bmxvYWRzLnlvY3RvcHJvamVjdC5v
cmcvbWlycm9yL3NvdXJjZXMvIFxuIHA0Oi8vLiovLiogICAgICBodHRwOi8vZG93bmxvYWRzLnlv
Y3RvcHJvamVjdC5vcmcvbWlycm9yL3NvdXJjZXMvIFxuIG9zYzovLy4qLy4qICAgICBodHRwOi8v
ZG93bmxvYWRzLnlvY3RvcHJvamVjdC5vcmcvbWlycm9yL3NvdXJjZXMvIFxuIGh0dHBzPyQ6Ly8u
Ki8uKiBodHRwOi8vZG93bmxvYWRzLnlvY3RvcHJvamVjdC5vcmcvbWlycm9yL3NvdXJjZXMvIFxu
IGZ0cDovLy4qLy4qICAgICBodHRwOi8vZG93bmxvYWRzLnlvY3RvcHJvamVjdC5vcmcvbWlycm9y
L3NvdXJjZXMvIFxuIG5wbTovLy4qLz8uKiAgICBodHRwOi8vZG93bmxvYWRzLnlvY3RvcHJvamVj
dC5vcmcvbWlycm9yL3NvdXJjZXMvIFxuIGN2czovLy4qLy4qICAgICBodHRwOi8vc291cmNlcy5v
cGVuZW1iZWRkZWQub3JnLyBcbiBzdm46Ly8uKi8uKiAgICAgaHR0cDovL3NvdXJjZXMub3BlbmVt
YmVkZGVkLm9yZy8gXG4gZ2l0Oi8vLiovLiogICAgIGh0dHA6Ly9zb3VyY2VzLm9wZW5lbWJlZGRl
ZC5vcmcvIFxuIGhnOi8vLiovLiogICAgICBodHRwOi8vc291cmNlcy5vcGVuZW1iZWRkZWQub3Jn
LyBcbiBienI6Ly8uKi8uKiAgICAgaHR0cDovL3NvdXJjZXMub3BlbmVtYmVkZGVkLm9yZy8gXG4g
cDQ6Ly8uKi8uKiAgICAgIGh0dHA6Ly9zb3VyY2VzLm9wZW5lbWJlZGRlZC5vcmcvIFxuIG9zYzov
Ly4qLy4qICAgICBodHRwOi8vc291cmNlcy5vcGVuZW1iZWRkZWQub3JnLyBcbiBodHRwcz8kOi8v
LiovLiogaHR0cDovL3NvdXJjZXMub3BlbmVtYmVkZGVkLm9yZy8gXG4gZnRwOi8vLiovLiogICAg
IGh0dHA6Ly9zb3VyY2VzLm9wZW5lbWJlZGRlZC5vcmcvIFxuIG5wbTovLy4qLz8uKiAgICBodHRw
Oi8vc291cmNlcy5vcGVuZW1iZWRkZWQub3JnLyBcbiAke0NQQU5fTUlSUk9SfSAgaHR0cDovL2Nw
YW4ubWV0YWNwYW4ub3JnLyBcbiAke0NQQU5fTUlSUk9SfSAgaHR0cDovL3NlYXJjaC5jcGFuLm9y
Zy9DUEFOLyBcbiAgZ2l0Oi8vYW5vbnNjbS5kZWJpYW4ub3JnLy4qICAgZ2l0Oi8vYW5vbnNjbS5k
ZWJpYW4ub3JnL2dpdC9QQVRIO3Byb3RvY29sPWh0dHBzIFxuIGdpdDovL2dpdC5nbm9tZS5vcmcv
LiogICAgICAgIGdpdDovL2dpdC5nbm9tZS5vcmcvYnJvd3NlL1BBVEg7cHJvdG9jb2w9aHR0cHMg
XG4gZ2l0Oi8vZ2l0LnNhdmFubmFoLmdudS5vcmcvLiogZ2l0Oi8vZ2l0LnNhdmFubmFoLmdudS5v
cmcvZ2l0L1BBVEg7cHJvdG9jb2w9aHR0cHMgXG4gZ2l0Oi8vZ2l0LnlvY3RvcHJvamVjdC5vcmcv
LiogZ2l0Oi8vZ2l0LnlvY3RvcHJvamVjdC5vcmcvZ2l0L1BBVEg7cHJvdG9jb2w9aHR0cHMgXG4g
Z2l0Oi8vLiovLiogICAgICAgICAgICAgICAgICAgZ2l0Oi8vSE9TVC9QQVRIO3Byb3RvY29sPWh0
dHBzIFxuICIKTUlSUk9SUz0iZnRwOi8vLiovLiogICAgICBodHRwOi8vZG93bmxvYWRzLnlvY3Rv
cHJvamVjdC5vcmcvbWlycm9yL3NvdXJjZXMvIFxuIGh0dHA6Ly8uKi8uKiAgICAgaHR0cDovL2Rv
d25sb2Fkcy55b2N0b3Byb2plY3Qub3JnL21pcnJvci9zb3VyY2VzLyBcbiBodHRwczovLy4qLy4q
ICAgIGh0dHA6Ly9kb3dubG9hZHMueW9jdG9wcm9qZWN0Lm9yZy9taXJyb3Ivc291cmNlcy8gXG4g
IGh0dHA6Ly9mdHAuZGViaWFuLm9yZy9kZWJpYW4vcG9vbAlodHRwOi8vc25hcHNob3QuZGViaWFu
Lm9yZy9hcmNoaXZlL2RlYmlhbi1hcmNoaXZlLzIwMTIwMzI4VDA5Mjc1MlovZGViaWFuL3Bvb2wg
XG4gaHR0cDovL2Z0cC5kZWJpYW4ub3JnL2RlYmlhbi9wb29sCWh0dHA6Ly9zbmFwc2hvdC5kZWJp
YW4ub3JnL2FyY2hpdmUvZGViaWFuLWFyY2hpdmUvMjAxMTAxMjdUMDg0MjU3Wi9kZWJpYW4vcG9v
bCBcbiBodHRwOi8vZnRwLmRlYmlhbi5vcmcvZGViaWFuL3Bvb2wJaHR0cDovL3NuYXBzaG90LmRl
Ymlhbi5vcmcvYXJjaGl2ZS9kZWJpYW4tYXJjaGl2ZS8yMDA5MDgwMlQwMDQxNTNaL2RlYmlhbi9w
b29sIFxuIGh0dHA6Ly9mdHAuZGViaWFuLm9yZy9kZWJpYW4vcG9vbAlodHRwOi8vZnRwLmRlLmRl
Ymlhbi5vcmcvZGViaWFuL3Bvb2wgXG4gaHR0cDovL2Z0cC5kZWJpYW4ub3JnL2RlYmlhbi9wb29s
CWh0dHA6Ly9mdHAuYXUuZGViaWFuLm9yZy9kZWJpYW4vcG9vbCBcbiBodHRwOi8vZnRwLmRlYmlh
bi5vcmcvZGViaWFuL3Bvb2wJaHR0cDovL2Z0cC5jbC5kZWJpYW4ub3JnL2RlYmlhbi9wb29sIFxu
IGh0dHA6Ly9mdHAuZGViaWFuLm9yZy9kZWJpYW4vcG9vbAlodHRwOi8vZnRwLmhyLmRlYmlhbi5v
cmcvZGViaWFuL3Bvb2wgXG4gaHR0cDovL2Z0cC5kZWJpYW4ub3JnL2RlYmlhbi9wb29sCWh0dHA6
Ly9mdHAuZmkuZGViaWFuLm9yZy9kZWJpYW4vcG9vbCBcbiBodHRwOi8vZnRwLmRlYmlhbi5vcmcv
ZGViaWFuL3Bvb2wJaHR0cDovL2Z0cC5oay5kZWJpYW4ub3JnL2RlYmlhbi9wb29sIFxuIGh0dHA6
Ly9mdHAuZGViaWFuLm9yZy9kZWJpYW4vcG9vbAlodHRwOi8vZnRwLmh1LmRlYmlhbi5vcmcvZGVi
aWFuL3Bvb2wgXG4gaHR0cDovL2Z0cC5kZWJpYW4ub3JnL2RlYmlhbi9wb29sCWh0dHA6Ly9mdHAu
aWUuZGViaWFuLm9yZy9kZWJpYW4vcG9vbCBcbiBodHRwOi8vZnRwLmRlYmlhbi5vcmcvZGViaWFu
L3Bvb2wJaHR0cDovL2Z0cC5pdC5kZWJpYW4ub3JnL2RlYmlhbi9wb29sIFxuIGh0dHA6Ly9mdHAu
ZGViaWFuLm9yZy9kZWJpYW4vcG9vbAlodHRwOi8vZnRwLmpwLmRlYmlhbi5vcmcvZGViaWFuL3Bv
b2wgXG4gaHR0cDovL2Z0cC5kZWJpYW4ub3JnL2RlYmlhbi9wb29sCWh0dHA6Ly9mdHAubm8uZGVi
aWFuLm9yZy9kZWJpYW4vcG9vbCBcbiBodHRwOi8vZnRwLmRlYmlhbi5vcmcvZGViaWFuL3Bvb2wJ
aHR0cDovL2Z0cC5wbC5kZWJpYW4ub3JnL2RlYmlhbi9wb29sIFxuIGh0dHA6Ly9mdHAuZGViaWFu
Lm9yZy9kZWJpYW4vcG9vbAlodHRwOi8vZnRwLnJvLmRlYmlhbi5vcmcvZGViaWFuL3Bvb2wgXG4g
aHR0cDovL2Z0cC5kZWJpYW4ub3JnL2RlYmlhbi9wb29sCWh0dHA6Ly9mdHAuc2kuZGViaWFuLm9y
Zy9kZWJpYW4vcG9vbCBcbiBodHRwOi8vZnRwLmRlYmlhbi5vcmcvZGViaWFuL3Bvb2wJaHR0cDov
L2Z0cC5lcy5kZWJpYW4ub3JnL2RlYmlhbi9wb29sIFxuIGh0dHA6Ly9mdHAuZGViaWFuLm9yZy9k
ZWJpYW4vcG9vbAlodHRwOi8vZnRwLnNlLmRlYmlhbi5vcmcvZGViaWFuL3Bvb2wgXG4gaHR0cDov
L2Z0cC5kZWJpYW4ub3JnL2RlYmlhbi9wb29sCWh0dHA6Ly9mdHAudHIuZGViaWFuLm9yZy9kZWJp
YW4vcG9vbCBcbiBodHRwOi8vZnRwLmdudS5vcmcvZ251CWh0dHBzOi8vbWlycm9ycy5rZXJuZWwu
b3JnL2dudSBcbiBodHRwOi8vY2RuLmtlcm5lbC5vcmcvcHViCWh0dHA6Ly93d3cua2VybmVsLm9y
Zy9wdWIgXG4gaHR0cHM6Ly93d3cuZ251cGcub3JnL2Z0cC9nY3J5cHQJZnRwOi8vZnRwLmdudXBn
Lm9yZy9nY3J5cHQgXG4gaHR0cHM6Ly93d3cuZ251cGcub3JnL2Z0cC9nY3J5cHQJZnRwOi8vZnRw
LmZyYW5rZW4uZGUvcHViL2NyeXB0L21pcnJvci9mdHAuZ251cGcub3JnL2djcnlwdCBcbiBodHRw
czovL3d3dy5nbnVwZy5vcmcvZnRwL2djcnlwdAlmdHA6Ly9taXJyb3JzLmRvdHNyYy5vcmcvZ2Ny
eXB0IFxuIGZ0cDovL2RhbnRlLmN0YW4ub3JnL3RleC1hcmNoaXZlIGZ0cDovL2Z0cC5mdS1iZXJs
aW4uZGUvdGV4L0NUQU4gXG4gZnRwOi8vZGFudGUuY3Rhbi5vcmcvdGV4LWFyY2hpdmUgaHR0cDov
L3N1bnNpdGUuc3V0LmFjLmpwL3B1Yi9hcmNoaXZlcy9jdGFuLyBcbiBmdHA6Ly9kYW50ZS5jdGFu
Lm9yZy90ZXgtYXJjaGl2ZSBodHRwOi8vY3Rhbi51bnN3LmVkdS5hdS8gXG4gZnRwOi8vZnRwLmdu
dXRscy5vcmcvZ2NyeXB0L2dudXRscyBodHRwczovL3d3dy5nbnVwZy5vcmcvZnRwL2djcnlwdC9n
bnV0bHMgXG4gaHR0cDovL2Z0cC5pbmZvLXppcC5vcmcvcHViL2luZm96aXAvc3JjLyBodHRwOi8v
bWlycm9yLnN3aXRjaC5jaC9mdHAvbWlycm9yL2luZm96aXAvc3JjLyBcbiBodHRwOi8vZnRwLmlu
Zm8temlwLm9yZy9wdWIvaW5mb3ppcC9zcmMvIGZ0cDovL3N1bnNpdGUuaWNtLmVkdS5wbC9wdWIv
dW5peC9hcmNoaXZpbmcvaW5mby16aXAvc3JjLyBcbiBmdHA6Ly9sc29mLml0YXAucHVyZHVlLmVk
dS9wdWIvdG9vbHMvdW5peC9sc29mLyAgZnRwOi8vZnRwLmNlcmlhcy5wdXJkdWUuZWR1L3B1Yi90
b29scy91bml4L3N5c3V0aWxzL2xzb2YvIFxuIGZ0cDovL2xzb2YuaXRhcC5wdXJkdWUuZWR1L3B1
Yi90b29scy91bml4L2xzb2YvICBmdHA6Ly9mdHAudGF1LmFjLmlsL3B1Yi91bml4L2FkbWluLyBc
biBmdHA6Ly9sc29mLml0YXAucHVyZHVlLmVkdS9wdWIvdG9vbHMvdW5peC9sc29mLyAgZnRwOi8v
ZnRwLmNlcnQuZGZuLmRlL3B1Yi90b29scy9hZG1pbi9sc29mLyBcbiBmdHA6Ly9sc29mLml0YXAu
cHVyZHVlLmVkdS9wdWIvdG9vbHMvdW5peC9sc29mLyAgZnRwOi8vZnRwLmZ1LWJlcmxpbi5kZS9w
dWIvdW5peC90b29scy9sc29mLyBcbiBmdHA6Ly9sc29mLml0YXAucHVyZHVlLmVkdS9wdWIvdG9v
bHMvdW5peC9sc29mLyAgZnRwOi8vZnRwLmthaXpvLm9yZy9wdWIvbHNvZi8gXG4gZnRwOi8vbHNv
Zi5pdGFwLnB1cmR1ZS5lZHUvcHViL3Rvb2xzL3VuaXgvbHNvZi8gIGZ0cDovL2Z0cC50dS1kYXJt
c3RhZHQuZGUvcHViL3N5c2FkbWluL2xzb2YvIFxuIGZ0cDovL2xzb2YuaXRhcC5wdXJkdWUuZWR1
L3B1Yi90b29scy91bml4L2xzb2YvICBmdHA6Ly9mdHAudHV4Lm9yZy9wdWIvc2l0ZXMvdmljLmNj
LnB1cmR1ZS5lZHUvdG9vbHMvdW5peC9sc29mLyBcbiBmdHA6Ly9sc29mLml0YXAucHVyZHVlLmVk
dS9wdWIvdG9vbHMvdW5peC9sc29mLyAgZnRwOi8vZ2QudHV3aWVuLmFjLmF0L3V0aWxzL2FkbWlu
LXRvb2xzL2xzb2YvIFxuIGZ0cDovL2xzb2YuaXRhcC5wdXJkdWUuZWR1L3B1Yi90b29scy91bml4
L2xzb2YvICBmdHA6Ly9zdW5zaXRlLnVhbGJlcnRhLmNhL3B1Yi9NaXJyb3IvbHNvZi8gXG4gZnRw
Oi8vbHNvZi5pdGFwLnB1cmR1ZS5lZHUvcHViL3Rvb2xzL3VuaXgvbHNvZi8gIGZ0cDovL3RoZS53
aXJldGFwcGVkLm5ldC9wdWIvc2VjdXJpdHkvaG9zdC1zZWN1cml0eS9sc29mLyBcbiBodHRwOi8v
YXJjaGl2ZS5hcGFjaGUub3JnL2Rpc3QgIGh0dHA6Ly93d3cudXMuYXBhY2hlLm9yZy9kaXN0IFxu
IGh0dHA6Ly9hcmNoaXZlLmFwYWNoZS5vcmcvZGlzdCAgaHR0cDovL2FyY2hpdmUuYXBhY2hlLm9y
Zy9kaXN0IFxuIGh0dHA6Ly9kb3dubG9hZHMuc291cmNlZm9yZ2UubmV0L3dhdGNoZG9nLyBodHRw
Oi8vZm9zc2llcy5vcmcvbGludXgvbWlzYy8gXG4gaHR0cDovL2Rvd25sb2FkLnNhdmFubmFoLmdu
dS5vcmcvcmVsZWFzZXMgaHR0cDovL2Rvd25sb2FkLW1pcnJvci5zYXZhbm5haC5nbnUub3JnL3Jl
bGVhc2VzIFxuIGh0dHA6Ly9kb3dubG9hZC5zYXZhbm5haC5ub25nbnUub3JnL3JlbGVhc2VzIGh0
dHA6Ly9kb3dubG9hZC1taXJyb3Iuc2F2YW5uYWgubm9uZ251Lm9yZy9yZWxlYXNlcyBcbiBjdnM6
Ly8uKi8uKiAgICAgaHR0cDovL2Rvd25sb2Fkcy55b2N0b3Byb2plY3Qub3JnL21pcnJvci9zb3Vy
Y2VzLyBcbiBzdm46Ly8uKi8uKiAgICAgaHR0cDovL2Rvd25sb2Fkcy55b2N0b3Byb2plY3Qub3Jn
L21pcnJvci9zb3VyY2VzLyBcbiBnaXQ6Ly8uKi8uKiAgICAgaHR0cDovL2Rvd25sb2Fkcy55b2N0
b3Byb2plY3Qub3JnL21pcnJvci9zb3VyY2VzLyBcbiBoZzovLy4qLy4qICAgICAgaHR0cDovL2Rv
d25sb2Fkcy55b2N0b3Byb2plY3Qub3JnL21pcnJvci9zb3VyY2VzLyBcbiBienI6Ly8uKi8uKiAg
ICAgaHR0cDovL2Rvd25sb2Fkcy55b2N0b3Byb2plY3Qub3JnL21pcnJvci9zb3VyY2VzLyBcbiBw
NDovLy4qLy4qICAgICAgaHR0cDovL2Rvd25sb2Fkcy55b2N0b3Byb2plY3Qub3JnL21pcnJvci9z
b3VyY2VzLyBcbiBvc2M6Ly8uKi8uKiAgICAgaHR0cDovL2Rvd25sb2Fkcy55b2N0b3Byb2plY3Qu
b3JnL21pcnJvci9zb3VyY2VzLyBcbiBodHRwcz9cJDovLy4qLy4qIGh0dHA6Ly9kb3dubG9hZHMu
eW9jdG9wcm9qZWN0Lm9yZy9taXJyb3Ivc291cmNlcy8gXG4gZnRwOi8vLiovLiogICAgIGh0dHA6
Ly9kb3dubG9hZHMueW9jdG9wcm9qZWN0Lm9yZy9taXJyb3Ivc291cmNlcy8gXG4gbnBtOi8vLiov
Py4qICAgIGh0dHA6Ly9kb3dubG9hZHMueW9jdG9wcm9qZWN0Lm9yZy9taXJyb3Ivc291cmNlcy8g
XG4gY3ZzOi8vLiovLiogICAgIGh0dHA6Ly9zb3VyY2VzLm9wZW5lbWJlZGRlZC5vcmcvIFxuIHN2
bjovLy4qLy4qICAgICBodHRwOi8vc291cmNlcy5vcGVuZW1iZWRkZWQub3JnLyBcbiBnaXQ6Ly8u
Ki8uKiAgICAgaHR0cDovL3NvdXJjZXMub3BlbmVtYmVkZGVkLm9yZy8gXG4gaGc6Ly8uKi8uKiAg
ICAgIGh0dHA6Ly9zb3VyY2VzLm9wZW5lbWJlZGRlZC5vcmcvIFxuIGJ6cjovLy4qLy4qICAgICBo
dHRwOi8vc291cmNlcy5vcGVuZW1iZWRkZWQub3JnLyBcbiBwNDovLy4qLy4qICAgICAgaHR0cDov
L3NvdXJjZXMub3BlbmVtYmVkZGVkLm9yZy8gXG4gb3NjOi8vLiovLiogICAgIGh0dHA6Ly9zb3Vy
Y2VzLm9wZW5lbWJlZGRlZC5vcmcvIFxuIGh0dHBzP1wkOi8vLiovLiogaHR0cDovL3NvdXJjZXMu
b3BlbmVtYmVkZGVkLm9yZy8gXG4gZnRwOi8vLiovLiogICAgIGh0dHA6Ly9zb3VyY2VzLm9wZW5l
bWJlZGRlZC5vcmcvIFxuIG5wbTovLy4qLz8uKiAgICBodHRwOi8vc291cmNlcy5vcGVuZW1iZWRk
ZWQub3JnLyBcbiBodHRwOi8vc2VhcmNoLmNwYW4ub3JnL0NQQU4gIGh0dHA6Ly9jcGFuLm1ldGFj
cGFuLm9yZy8gXG4gaHR0cDovL3NlYXJjaC5jcGFuLm9yZy9DUEFOICBodHRwOi8vc2VhcmNoLmNw
YW4ub3JnL0NQQU4vIFxuICBnaXQ6Ly9hbm9uc2NtLmRlYmlhbi5vcmcvLiogICBnaXQ6Ly9hbm9u
c2NtLmRlYmlhbi5vcmcvZ2l0L1BBVEg7cHJvdG9jb2w9aHR0cHMgXG4gZ2l0Oi8vZ2l0Lmdub21l
Lm9yZy8uKiAgICAgICAgZ2l0Oi8vZ2l0Lmdub21lLm9yZy9icm93c2UvUEFUSDtwcm90b2NvbD1o
dHRwcyBcbiBnaXQ6Ly9naXQuc2F2YW5uYWguZ251Lm9yZy8uKiBnaXQ6Ly9naXQuc2F2YW5uYWgu
Z251Lm9yZy9naXQvUEFUSDtwcm90b2NvbD1odHRwcyBcbiBnaXQ6Ly9naXQueW9jdG9wcm9qZWN0
Lm9yZy8uKiBnaXQ6Ly9naXQueW9jdG9wcm9qZWN0Lm9yZy9naXQvUEFUSDtwcm90b2NvbD1odHRw
cyBcbiBnaXQ6Ly8uKi8uKiAgICAgICAgICAgICAgICAgICBnaXQ6Ly9IT1NUL1BBVEg7cHJvdG9j
b2w9aHR0cHMgXG4gIgojCiMgJE1MUFJFRklYIFsyIG9wZXJhdGlvbnNdCiMgICBzZXQgL21lZGlh
L3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjoyODUKIyAg
ICAgW2RvY10gIlNwZWNpZmllcyBhIHByZWZpeCBoYXMgYmVlbiBhZGRlZCB0byBQTiB0byBjcmVh
dGUgYSBzcGVjaWFsIHZlcnNpb24gb2YgYSByZWNpcGUgb3IgcGFja2FnZSwgc3VjaCBhcyBhIE11
bHRpbGliIHZlcnNpb24uIgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEv
Y29uZi9iaXRiYWtlLmNvbmY6ODY3CiMgICAgIFtfZGVmYXVsdHZhbF0gIiIKIyBwcmUtZXhwYW5z
aW9uIHZhbHVlOgojICAgIiIKTUxQUkVGSVg9IiIKIwojICRNT0RVTEVTX0lOU1RBTExfVEFSR0VU
CiMgICBzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY2xhc3Nlcy9tb2R1bGUu
YmJjbGFzczo5CiMgICAgICJtb2R1bGVzX2luc3RhbGwiCk1PRFVMRVNfSU5TVEFMTF9UQVJHRVQ9
Im1vZHVsZXNfaW5zdGFsbCIKIwojICRNT0RVTEVTX01PRFVMRV9TWU1WRVJTX0xPQ0FUSU9OCiMg
ICBzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY2xhc3Nlcy9tb2R1bGUuYmJj
bGFzczoxMAojICAgICAiIgpNT0RVTEVTX01PRFVMRV9TWU1WRVJTX0xPQ0FUSU9OPSIiCiMKIyAk
TU9EVUxFX1RBUkJBTExfREVQTE9ZCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kv
bWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjoyODYKIyAgICAgW2RvY10gIkNvbnRyb2xzIGNy
ZWF0aW9uIG9mIHRoZSBtb2R1bGVzLSoudGd6IGZpbGUuIFNldCB0aGlzIHZhcmlhYmxlIHRvICIw
IiB0byBkaXNhYmxlIGNyZWF0aW9uIG9mIHRoaXMgZmlsZSwgd2hpY2ggY29udGFpbnMgYWxsIG9m
IHRoZSBrZXJuZWwgbW9kdWxlcyByZXN1bHRpbmcgZnJvbSBhIGtlcm5lbCBidWlsZC4iCiMKIyAk
TVVMVElMSUJfVkFSSUFOVFMKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRh
L2NvbmYvYml0YmFrZS5jb25mOjg2OAojICAgICBbX2RlZmF1bHR2YWxdICIiCk1VTFRJTElCX1ZB
UklBTlRTPSIiCiMKIyAkTVVMVElNQUNIX1RBUkdFVF9TWVMgWzIgb3BlcmF0aW9uc10KIyAgIHNl
dCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjE1Mgoj
ICAgICAiJHtQQUNLQUdFX0FSQ0h9JHtUQVJHRVRfVkVORE9SfS0ke1RBUkdFVF9PU30iCiMgICBz
ZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29u
ZjoyODcKIyAgICAgW2RvY10gIlNlcGFyYXRlcyBmaWxlcyBmb3IgZGlmZmVyZW50IG1hY2hpbmVz
IHN1Y2ggdGhhdCB5b3UgY2FuIGJ1aWxkIGZvciBtdWx0aXBsZSB0YXJnZXQgbWFjaGluZXMgdXNp
bmcgdGhlIHNhbWUgb3V0cHV0IGRpcmVjdG9yaWVzLiIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgoj
ICAgIiR7UEFDS0FHRV9BUkNIfSR7VEFSR0VUX1ZFTkRPUn0tJHtUQVJHRVRfT1N9IgpNVUxUSU1B
Q0hfVEFSR0VUX1NZUz0icWVtdXg4Ni1wb2t5LWxpbnV4IgojCiMgJE1VTFRJX1BST1ZJREVSX1dI
SVRFTElTVAojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRi
YWtlLmNvbmY6MjY2CiMgICAgICJ2aXJ0dWFsL2xpYmludGwgdmlydHVhbC9saWJpbnRsLW5hdGl2
ZSB2aXJ0dWFsL25hdGl2ZXNkay1saWJpbnRsIHZpcnR1YWwveHNlcnZlciB2aXJ0dWFsL3VwZGF0
ZS1hbHRlcm5hdGl2ZXMtbmF0aXZlIHZpcnR1YWwvdXBkYXRlLWFsdGVybmF0aXZlcyIKTVVMVElf
UFJPVklERVJfV0hJVEVMSVNUPSJ2aXJ0dWFsL2xpYmludGwgdmlydHVhbC9saWJpbnRsLW5hdGl2
ZSB2aXJ0dWFsL25hdGl2ZXNkay1saWJpbnRsIHZpcnR1YWwveHNlcnZlciB2aXJ0dWFsL3VwZGF0
ZS1hbHRlcm5hdGl2ZXMtbmF0aXZlIHZpcnR1YWwvdXBkYXRlLWFsdGVybmF0aXZlcyIKIwojICRO
QVRJVkVMU0JTVFJJTkcgWzMgb3BlcmF0aW9uc10KIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9j
dG8vcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjI5MQojICAgICBbZG9jXSAiQSBz
dHJpbmcgaWRlbnRpZnlpbmcgdGhlIGhvc3QgZGlzdHJpYnV0aW9uLiIKIyAgIHNldCBiYXNlLmJi
Y2xhc3M6MjM2IFtiYXNlX2V2ZW50aGFuZGxlcl0KIyAgICAgInVidW50dS0xNi4wNCIKIyAgIHNl
dCB1bmluYXRpdmUuYmJjbGFzczoxMDEgW2VuYWJsZV91bmluYXRpdmVdCiMgICAgICJ1bml2ZXJz
YWwiCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICJ1bml2ZXJzYWwiCk5BVElWRUxTQlNUUklO
Rz0idW5pdmVyc2FsIgojCiMgJE5NIFsyIG9wZXJhdGlvbnNdCiMgICBleHBvcnRlZCAvbWVkaWEv
cmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjUwNwojICAgICBbZXhw
b3J0XSAiMSIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0
YmFrZS5jb25mOjUwNwojICAgICAiJHtIT1NUX1BSRUZJWH1ubSIKIyBwcmUtZXhwYW5zaW9uIHZh
bHVlOgojICAgIiR7SE9TVF9QUkVGSVh9bm0iCmV4cG9ydCBOTT0iaTU4Ni1wb2t5LWxpbnV4LW5t
IgojCiMgJE5PMzJMSUJTCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9j
b25mL2Rpc3Ryby9pbmNsdWRlL2RlZmF1bHQtZGlzdHJvdmFycy5pbmM6MzcKIyAgICAgW19kZWZh
dWx0dmFsXSAiMSIKTk8zMkxJQlM9IjEiCiMKIyAkTk9IREQKIyAgIHNldCAvbWVkaWEvcmViZWNj
YXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjI5MwojICAgICBbZG9j
XSAiQ2F1c2VzIHRoZSBPcGVuRW1iZWRkZWQgYnVpbGQgc3lzdGVtIHRvIHNraXAgYnVpbGRpbmcg
dGhlIC5oZGRpbWcgaW1hZ2UuIgojCiMgJE5PSVNPCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lv
Y3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjoyOTQKIyAgICAgW2RvY10gIkNh
dXNlcyB0aGUgT3BlbkVtYmVkZGVkIGJ1aWxkIHN5c3RlbSB0byBza2lwIGJ1aWxkaW5nIHRoZSBJ
U08gaW1hZ2UuIgojCiMgJE5PX1BST1hZCiMgICBmcm9tIGVudiBkYXRhLnB5OjEyNCBbaW5oZXJp
dEZyb21PU10KIyAgICAgImxvY2FsaG9zdCwxMjcuMC4wLjAvMSxpbnRlbC5jb20sMTcyLjAuMC4w
LzEsMTAuMC4wLjAvMSxnaXQtZ2FyLTEuZGV2dG9vbHMuaW50ZWwuY29tLGdpdC1nZXItNi5kZXZ0
b29scy5pbnRlbC5jb20sZ2l0LWFtci0yLmRldnRvb2xzLmludGVsLmNvbSxnaXQtYW1yLTMuZGV2
dG9vbHMuaW50ZWwuY29tIgpOT19QUk9YWT0ibG9jYWxob3N0LDEyNy4wLjAuMC8xLGludGVsLmNv
bSwxNzIuMC4wLjAvMSwxMC4wLjAuMC8xLGdpdC1nYXItMS5kZXZ0b29scy5pbnRlbC5jb20sZ2l0
LWdlci02LmRldnRvb2xzLmludGVsLmNvbSxnaXQtYW1yLTIuZGV2dG9vbHMuaW50ZWwuY29tLGdp
dC1hbXItMy5kZXZ0b29scy5pbnRlbC5jb20iCiMKIyAkTk9fUkVDT01NRU5EQVRJT05TIFsyIG9w
ZXJhdGlvbnNdCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rv
Y3VtZW50YXRpb24uY29uZjoyOTIKIyAgICAgW2RvY10gIldoZW4gc2V0IHRvICcxJywgbm8gcmVj
b21tZW5kZWQgcGFja2FnZXMgd2lsbCBiZSBpbnN0YWxsZWQuIFJlYWxpemUgdGhhdCBzb21lIHJl
Y29tbWVuZGVkIHBhY2thZ2VzIG1pZ2h0IGJlIHJlcXVpcmVkIGZvciBjZXJ0YWluIHN5c3RlbSBm
dW5jdGlvbmFsaXR5LCBzdWNoIGFzIGtlcm5lbC1tb2R1bGVzLiBJdCBpcyB1cCB0byB0aGUgdXNl
ciB0byBhZGQgcGFja2FnZXMgdG8gSU1BR0VfSU5TVEFMTCBhcyBuZWVkZWQuIgojICAgc2V0PyAv
bWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjgxOAojICAg
ICAiIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiIgpOT19SRUNPTU1FTkRBVElPTlM9IiIK
IwojICRPQkpDT1BZIFsyIG9wZXJhdGlvbnNdCiMgICBleHBvcnRlZCAvbWVkaWEvcmViZWNjYXMv
eW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjUwNAojICAgICBbZXhwb3J0XSAiMSIK
IyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25m
OjUwNAojICAgICAiJHtIT1NUX1BSRUZJWH1vYmpjb3B5IgojIHByZS1leHBhbnNpb24gdmFsdWU6
CiMgICAiJHtIT1NUX1BSRUZJWH1vYmpjb3B5IgpleHBvcnQgT0JKQ09QWT0iaTU4Ni1wb2t5LWxp
bnV4LW9iamNvcHkiCiMKIyAkT0JKRFVNUCBbMiBvcGVyYXRpb25zXQojICAgZXhwb3J0ZWQgL21l
ZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo1MDUKIyAgICAg
W2V4cG9ydF0gIjEiCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25m
L2JpdGJha2UuY29uZjo1MDUKIyAgICAgIiR7SE9TVF9QUkVGSVh9b2JqZHVtcCIKIyBwcmUtZXhw
YW5zaW9uIHZhbHVlOgojICAgIiR7SE9TVF9QUkVGSVh9b2JqZHVtcCIKZXhwb3J0IE9CSkRVTVA9
Imk1ODYtcG9reS1saW51eC1vYmpkdW1wIgojCiMgJE9FSU5DTFVERUxPR1MKIyAgIHNldD8gL21l
ZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL2RlZmF1bHQt
ZGlzdHJvdmFycy5pbmM6MwojICAgICAieWVzIgpPRUlOQ0xVREVMT0dTPSJ5ZXMiCiMKIyAkT0VM
QVlPVVRfQUJJIFsyIG9wZXJhdGlvbnNdCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bv
a3kvbWV0YS9jb25mL2FiaV92ZXJzaW9uLmNvbmY6NwojICAgICAiMTIiCiMgICBzZXQgL21lZGlh
L3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5L2NvbmYvZGlzdHJvL3Bva3kuY29uZjo5MQoj
ICAgICAiMTIiCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICIxMiIKT0VMQVlPVVRfQUJJPSIx
MiIKIwojICRPRVJPT1QKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2Nv
bmYvZG9jdW1lbnRhdGlvbi5jb25mOjMwMQojICAgICBbZG9jXSAiVGhlIGRpcmVjdG9yeSBmcm9t
IHdoaWNoIHRoZSB0b3AtbGV2ZWwgYnVpbGQgZW52aXJvbm1lbnQgc2V0dXAgc2NyaXB0IGlzIHNv
dXJjZWQuIgojCiMgJE9FU19CSVRCQUtFX0NPTkYKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9j
dG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjc4MAojICAgICAiMSIKT0VTX0JJVEJBS0Vf
Q09ORj0iMSIKIwojICRPRV9CSU5DT05GSUdfRVhUUkFfTUFOR0xFCiMgICBzZXQgL21lZGlhL3Jl
YmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjoyOTgKIyAgICAg
W2RvY10gIldoZW4gYSByZWNpcGUgaW5oZXJpdHMgdGhlIGJpbmNvbmZpZy5iYmNsYXNzIGNsYXNz
LCB0aGlzIHZhcmlhYmxlIHNwZWNpZmllcyBhZGRpdGlvbmFsIGFyZ3VtZW50cyBwYXNzZWQgdG8g
dGhlICJzZWQiIGNvbW1hbmQuIgojCiMgJE9FX0lNUE9SVEVECiMgICBpbW1lZGlhdGUgL21lZGlh
L3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL2Jhc2UuYmJjbGFzczozNwojICAgICAi
JHtAb2VfaW1wb3J0KGQpfSIKT0VfSU1QT1JURUQ9IiIKIwojICRPRV9JTVBPUlRTIFszIG9wZXJh
dGlvbnNdCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3Vt
ZW50YXRpb24uY29uZjoyOTkKIyAgICAgW2RvY10gIkFuIGludGVybmFsIHZhcmlhYmxlIHVzZWQg
dG8gdGVsbCB0aGUgT3BlbkVtYmVkZGVkIGJ1aWxkIHN5c3RlbSB3aGF0IFB5dGhvbiBtb2R1bGVz
IHRvIGltcG9ydCBmb3IgZXZlcnkgUHl0aG9uIGZ1bmN0aW9uIHJ1biBieSB0aGUgc3lzdGVtLiIK
IyAgIGFwcGVuZCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NsYXNzZXMvYmFzZS5i
YmNsYXNzOjEzCiMgICAgICJvcyBzeXMgdGltZSBvZS5wYXRoIG9lLnV0aWxzIG9lLnR5cGVzIG9l
LnBhY2thZ2Ugb2UucGFja2FnZWdyb3VwIG9lLnNzdGF0ZXNpZyBvZS5sc2Igb2UuY2FjaGVkcGF0
aCBvZS5saWNlbnNlIgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY2xh
c3Nlcy9iYXNlLmJiY2xhc3M6MTQKIyAgICAgW3R5cGVdICJsaXN0IgojIHByZS1leHBhbnNpb24g
dmFsdWU6CiMgICAiIG9zIHN5cyB0aW1lIG9lLnBhdGggb2UudXRpbHMgb2UudHlwZXMgb2UucGFj
a2FnZSBvZS5wYWNrYWdlZ3JvdXAgb2Uuc3N0YXRlc2lnIG9lLmxzYiBvZS5jYWNoZWRwYXRoIG9l
LmxpY2Vuc2UiCk9FX0lNUE9SVFM9IiBvcyBzeXMgdGltZSBvZS5wYXRoIG9lLnV0aWxzIG9lLnR5
cGVzIG9lLnBhY2thZ2Ugb2UucGFja2FnZWdyb3VwIG9lLnNzdGF0ZXNpZyBvZS5sc2Igb2UuY2Fj
aGVkcGF0aCBvZS5saWNlbnNlIgojCiMgJE9FX1RFUk1JTkFMIFs0IG9wZXJhdGlvbnNdCiMgICBz
ZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29u
ZjozMDAKIyAgICAgW2RvY10gIkNvbnRyb2xzIGhvdyB0aGUgT3BlbkVtYmVkZGVkIGJ1aWxkIHN5
c3RlbSBzcGF3bnMgaW50ZXJhY3RpdmUgdGVybWluYWxzIG9uIHRoZSBob3N0IGRldmVsb3BtZW50
IHN5c3RlbS4iCiMgICBzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY2xhc3Nl
cy90ZXJtaW5hbC5iYmNsYXNzOjEKIyAgICAgImF1dG8iCiMgICBzZXQgL21lZGlhL3JlYmVjY2Fz
L3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL3Rlcm1pbmFsLmJiY2xhc3M6MgojICAgICBbdHlwZV0g
ImNob2ljZSIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NsYXNzZXMv
dGVybWluYWwuYmJjbGFzczo0CiMgICAgIFtjaG9pY2VzXSAiYXV0byBub25lICAgICAgICAgICAg
ICAgICAgICAgICAgICR7QG9lX3Rlcm1pbmFsX3ByaW9yaXRpemVkKCl9IgojIHByZS1leHBhbnNp
b24gdmFsdWU6CiMgICAiYXV0byIKT0VfVEVSTUlOQUw9ImF1dG8iCiMKIyAkT0VfVEVSTUlOQUxf
RVhQT1JUUyBbMiBvcGVyYXRpb25zXQojICAgYXBwZW5kIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9w
b2t5L21ldGEvY2xhc3Nlcy90ZXJtaW5hbC5iYmNsYXNzOjYKIyAgICAgIkVYVFJBX09FTUFLRSBD
QUNIRURfQ09ORklHVVJFVkFSUyBDT05GSUdVUkVPUFRTIEVYVFJBX09FQ09ORiIKIyAgIHNldCAv
bWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NsYXNzZXMvdGVybWluYWwuYmJjbGFzczo3
CiMgICAgIFt0eXBlXSAibGlzdCIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIiBFWFRSQV9P
RU1BS0UgQ0FDSEVEX0NPTkZJR1VSRVZBUlMgQ09ORklHVVJFT1BUUyBFWFRSQV9PRUNPTkYiCk9F
X1RFUk1JTkFMX0VYUE9SVFM9IiBFWFRSQV9PRU1BS0UgQ0FDSEVEX0NPTkZJR1VSRVZBUlMgQ09O
RklHVVJFT1BUUyBFWFRSQV9PRUNPTkYiCiMKIyAkT0xERVNUX0tFUk5FTCBbNCBvcGVyYXRpb25z
XQojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNv
bmY6NDA4CiMgICAgICIzLjIuMCIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9t
ZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjMwMgojICAgICBbZG9jXSAiRGVjbGFyZXMgdGhl
IG9sZGVzdCB2ZXJzaW9uIG9mIHRoZSBMaW51eCBrZXJuZWwgdGhhdCB0aGUgcHJvZHVjZWQgYmlu
YXJpZXMgbXVzdCBzdXBwb3J0LiIKIyAgIG92ZXJyaWRlW2FhcmNoNjRdOnNldCAvbWVkaWEvcmVi
ZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjQwOQojICAgICAiMy4xNCIK
IyAgIG92ZXJyaWRlW25pb3MyXTpzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9j
b25mL2JpdGJha2UuY29uZjo0MTAKIyAgICAgIjMuMTkiCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToK
IyAgICIzLjIuMCIKT0xERVNUX0tFUk5FTD0iMy4yLjAiCiMKIyAkT0xERVNUX0tFUk5FTF9hYXJj
aDY0CiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2Uu
Y29uZjo0MDkKIyAgICAgIjMuMTQiCk9MREVTVF9LRVJORUxfYWFyY2g2ND0iMy4xNCIKIwojICRP
TERFU1RfS0VSTkVMX25pb3MyCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0
YS9jb25mL2JpdGJha2UuY29uZjo0MTAKIyAgICAgIjMuMTkiCk9MREVTVF9LRVJORUxfbmlvczI9
IjMuMTkiCiMKIyAkT1MgWzIgb3BlcmF0aW9uc10KIyAgIGV4cG9ydGVkIC9tZWRpYS9yZWJlY2Nh
cy95b2N0by9wb2t5L21ldGEvY2xhc3Nlcy9tb2R1bGUtYmFzZS5iYmNsYXNzOjYKIyAgICAgW2V4
cG9ydF0gIjEiCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2Vz
L21vZHVsZS1iYXNlLmJiY2xhc3M6NgojICAgICAiJHtUQVJHRVRfT1N9IgojIHByZS1leHBhbnNp
b24gdmFsdWU6CiMgICAiJHtUQVJHRVRfT1N9IgpleHBvcnQgT1M9ImxpbnV4IgojCiMgJE9WRVJS
SURFUyBbNCBvcGVyYXRpb25zXQojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21l
dGEvY29uZi9iaXRiYWtlLmNvbmY6NzE2CiMgICAgICIke1RBUkdFVF9PU306JHtUUkFOU0xBVEVE
X1RBUkdFVF9BUkNIfTpidWlsZC0ke0JVSUxEX09TfTpwbi0ke1BOfToke01BQ0hJTkVPVkVSUklE
RVN9OiR7RElTVFJPT1ZFUlJJREVTfToke0NMQVNTT1ZFUlJJREV9OmZvcmNldmFyaWFibGUiCiMg
ICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo3
MTcKIyAgICAgW3ZhcmRlcHNleGNsdWRlXSAiTUFDSElORU9WRVJSSURFUyIKIyAgIHBvc3Rkb3Qg
L21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL3RjbGli
Yy1nbGliYy5pbmM6OQojICAgICAiJHtMSUJDT1ZFUlJJREV9IgojICAgc2V0IC9tZWRpYS9yZWJl
Y2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6MzAzCiMgICAgIFtk
b2NdICJCaXRCYWtlIHVzZXMgT1ZFUlJJREVTIHRvIGNvbnRyb2wgd2hhdCB2YXJpYWJsZXMgYXJl
IG92ZXJyaWRkZW4gYWZ0ZXIgQml0QmFrZSBwYXJzZXMgcmVjaXBlcyBhbmQgY29uZmlndXJhdGlv
biBmaWxlcy4iCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICIke1RBUkdFVF9PU306JHtUUkFO
U0xBVEVEX1RBUkdFVF9BUkNIfTpidWlsZC0ke0JVSUxEX09TfTpwbi0ke1BOfToke01BQ0hJTkVP
VkVSUklERVN9OiR7RElTVFJPT1ZFUlJJREVTfToke0NMQVNTT1ZFUlJJREV9OmZvcmNldmFyaWFi
bGUke0xJQkNPVkVSUklERX0iCk9WRVJSSURFUz0ibGludXg6aTU4NjpidWlsZC1saW51eDpwbi1s
dHRuZy1tb2R1bGVzOng4NjpxZW11YWxsOnFlbXV4ODY6cG9reTpjbGFzcy10YXJnZXQ6Zm9yY2V2
YXJpYWJsZTpsaWJjLWdsaWJjIgojCiMgJFAgWzIgb3BlcmF0aW9uc10KIyAgIHNldCAvbWVkaWEv
cmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjIwMAojICAgICAiJHtQ
Tn0tJHtQVn0iCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rv
Y3VtZW50YXRpb24uY29uZjozMDcKIyAgICAgW2RvY10gIlRoZSByZWNpcGUgbmFtZSBhbmQgdmVy
c2lvbi4gUCBpcyBjb21wcmlzZWQgb2YgJHtQTn0tJHtQVn0uIgojIHByZS1leHBhbnNpb24gdmFs
dWU6CiMgICAiJHtQTn0tJHtQVn0iClA9Imx0dG5nLW1vZHVsZXMtMi45LjEiCiMKIyAkUEFDS0FH
RUJVSUxEUEtHRAojICAgc2V0PyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NsYXNz
ZXMvcGFja2FnZS5iYmNsYXNzOjIwNDIKIyAgICAgIiAgICAgICAgICAgICAgICAgcGVyZm9ybV9w
YWNrYWdlY29weSAgICAgICAgICAgICAgICAgJHtQQUNLQUdFX1BSRVBST0NFU1NfRlVOQ1N9ICAg
ICAgICAgICAgICAgICBzcGxpdF9hbmRfc3RyaXBfZmlsZXMgICAgICAgICAgICAgICAgIGZpeHVw
X3Blcm1zICAgICAgICAgICAgICAgICAiClBBQ0tBR0VCVUlMRFBLR0Q9IiAgICAgICAgICAgICAg
ICAgcGVyZm9ybV9wYWNrYWdlY29weSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBz
cGxpdF9hbmRfc3RyaXBfZmlsZXMgICAgICAgICAgICAgICAgIGZpeHVwX3Blcm1zICAgICAgICAg
ICAgICAgICAiCiMKIyAkUEFDS0FHRUNPTkZJRyBbMyBvcGVyYXRpb25zXQojICAgX2FwcGVuZFtw
bi1xZW11LW5hdGl2ZV0gL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL2NvbmYvbG9jYWwuY29u
ZjoyMzAKIyAgICAgIiBzZGwiCiMgICBfYXBwZW5kW3BuLW5hdGl2ZXNkay1xZW11XSAvbWVkaWEv
cmViZWNjYXMveW9jdG8vbHR0bmcvY29uZi9sb2NhbC5jb25mOjIzMQojICAgICAiIHNkbCIKIyAg
IHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5j
b25mOjMxNwojICAgICBbZG9jXSAiVGhpcyB2YXJpYWJsZSBwcm92aWRlcyBhIG1lYW5zIG9mIGVu
YWJsaW5nIG9yIGRpc2FibGluZyBmZWF0dXJlcyBvZiBhIHJlY2lwZSBvbiBhIHBlci1yZWNpcGUg
YmFzaXMuIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiIgpQQUNLQUdFQ09ORklHPSIiCiMK
IyAkUEFDS0FHRUZVTkNTCiMgICBhcHBlbmQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0
YS9jbGFzc2VzL3BhY2thZ2UuYmJjbGFzczoyMDU2CiMgICAgICIgICAgICAgICAgICAgICAgIHBh
Y2thZ2VfZml4c3ltbGlua3MgICAgICAgICAgICAgICAgIHBhY2thZ2VfbmFtZV9ob29rICAgICAg
ICAgICAgICAgICBwYWNrYWdlX2RvX2ZpbGVkZXBzICAgICAgICAgICAgICAgICBwYWNrYWdlX2Rv
X3NobGlicyAgICAgICAgICAgICAgICAgcGFja2FnZV9kb19wa2djb25maWcgICAgICAgICAgICAg
ICAgIHJlYWRfc2hsaWJkZXBzICAgICAgICAgICAgICAgICBwYWNrYWdlX2RlcGNoYWlucyAgICAg
ICAgICAgICAgICAgZW1pdF9wa2dkYXRhIgpQQUNLQUdFRlVOQ1M9IiAgICAgICAgICAgICAgICAg
IHBhY2thZ2VfZml4c3ltbGlua3MgICAgICAgICAgICAgICAgIHBhY2thZ2VfbmFtZV9ob29rICAg
ICAgICAgICAgICAgICBwYWNrYWdlX2RvX2ZpbGVkZXBzICAgICAgICAgICAgICAgICBwYWNrYWdl
X2RvX3NobGlicyAgICAgICAgICAgICAgICAgcGFja2FnZV9kb19wa2djb25maWcgICAgICAgICAg
ICAgICAgIHJlYWRfc2hsaWJkZXBzICAgICAgICAgICAgICAgICBwYWNrYWdlX2RlcGNoYWlucyAg
ICAgICAgICAgICAgICAgZW1pdF9wa2dkYXRhIgojCiMgJFBBQ0tBR0VJTkRFWERFUFMgWzIgb3Bl
cmF0aW9uc10KIyAgIGFwcGVuZCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NsYXNz
ZXMvcGFja2FnZV9ycG0uYmJjbGFzczo3MzIKIyAgICAgInJwbS1uYXRpdmU6ZG9fcG9wdWxhdGVf
c3lzcm9vdCIKIyAgIGFwcGVuZCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NsYXNz
ZXMvcGFja2FnZV9ycG0uYmJjbGFzczo3MzMKIyAgICAgImNyZWF0ZXJlcG8tYy1uYXRpdmU6ZG9f
cG9wdWxhdGVfc3lzcm9vdCIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIiBycG0tbmF0aXZl
OmRvX3BvcHVsYXRlX3N5c3Jvb3QgY3JlYXRlcmVwby1jLW5hdGl2ZTpkb19wb3B1bGF0ZV9zeXNy
b290IgpQQUNLQUdFSU5ERVhERVBTPSIgcnBtLW5hdGl2ZTpkb19wb3B1bGF0ZV9zeXNyb290IGNy
ZWF0ZXJlcG8tYy1uYXRpdmU6ZG9fcG9wdWxhdGVfc3lzcm9vdCIKIwojICRQQUNLQUdFTE9DSwoj
ICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY2xhc3Nlcy9wYWNrYWdlLmJi
Y2xhc3M6MjE0OAojICAgICAiJHtTVEFHSU5HX0RJUn0vcGFja2FnZS1vdXRwdXQubG9jayIKUEFD
S0FHRUxPQ0s9Ii9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy90bXAvc3lzcm9vdHMvcGFja2Fn
ZS1vdXRwdXQubG9jayIKIwojICRQQUNLQUdFUyBbMiBvcGVyYXRpb25zXQojICAgc2V0IC9tZWRp
YS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6Mjc4CiMgICAgICIk
e1BOfS1kYmcgJHtQTn0tc3RhdGljZGV2ICR7UE59LWRldiAke1BOfS1kb2MgJHtQTn0tbG9jYWxl
ICR7UEFDS0FHRV9CRUZPUkVfUE59ICR7UE59IgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0
by9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6MzE4CiMgICAgIFtkb2NdICJUaGUg
bGlzdCBvZiBwYWNrYWdlcyB0byBiZSBjcmVhdGVkIGZyb20gdGhlIHJlY2lwZS4iCiMgcHJlLWV4
cGFuc2lvbiB2YWx1ZToKIyAgICIke1BOfS1kYmcgJHtQTn0tc3RhdGljZGV2ICR7UE59LWRldiAk
e1BOfS1kb2MgJHtQTn0tbG9jYWxlICR7UEFDS0FHRV9CRUZPUkVfUE59ICR7UE59IgpQQUNLQUdF
Uz0ibHR0bmctbW9kdWxlcy1kYmcgbHR0bmctbW9kdWxlcy1zdGF0aWNkZXYgbHR0bmctbW9kdWxl
cy1kZXYgbHR0bmctbW9kdWxlcy1kb2MgbHR0bmctbW9kdWxlcy1sb2NhbGUgIGx0dG5nLW1vZHVs
ZXMiCiMKIyAkUEFDS0FHRVNQTElURlVOQ1MgWzIgb3BlcmF0aW9uc10KIyAgIHNldD8gL21lZGlh
L3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL3BhY2thZ2UuYmJjbGFzczoyMDQ2CiMg
ICAgICIgICAgICAgICAgICAgICAgIHBhY2thZ2VfZG9fc3BsaXRfbG9jYWxlcyAgICAgICAgICAg
ICAgICAgcG9wdWxhdGVfcGFja2FnZXMiCiMgICBfcHJlcGVuZCAvbWVkaWEvcmViZWNjYXMveW9j
dG8vcG9reS9tZXRhL2NsYXNzZXMva2VybmVsLW1vZHVsZS1zcGxpdC5iYmNsYXNzOjMxCiMgICAg
ICJzcGxpdF9rZXJuZWxfbW9kdWxlX3BhY2thZ2VzICIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgoj
ICAgInNwbGl0X2tlcm5lbF9tb2R1bGVfcGFja2FnZXMgICAgICAgICAgICAgICAgICBwYWNrYWdl
X2RvX3NwbGl0X2xvY2FsZXMgICAgICAgICAgICAgICAgIHBvcHVsYXRlX3BhY2thZ2VzIgpQQUNL
QUdFU1BMSVRGVU5DUz0ic3BsaXRfa2VybmVsX21vZHVsZV9wYWNrYWdlcyAgICAgICAgICAgICAg
ICAgIHBhY2thZ2VfZG9fc3BsaXRfbG9jYWxlcyAgICAgICAgICAgICAgICAgcG9wdWxhdGVfcGFj
a2FnZXMiCiMKIyAkUEFDS0FHRVNfRFlOQU1JQyBbMiBvcGVyYXRpb25zXQojICAgc2V0IC9tZWRp
YS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6Mjc5CiMgICAgICJe
JHtQTn0tbG9jYWxlLS4qIgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEv
Y29uZi9kb2N1bWVudGF0aW9uLmNvbmY6MzE5CiMgICAgIFtkb2NdICJBIHByb21pc2UgdGhhdCB5
b3VyIHJlY2lwZSBzYXRpc2ZpZXMgcnVudGltZSBkZXBlbmRlbmNpZXMgZm9yIG9wdGlvbmFsIG1v
ZHVsZXMgdGhhdCBhcmUgZm91bmQgaW4gb3RoZXIgcmVjaXBlcy4iCiMgcHJlLWV4cGFuc2lvbiB2
YWx1ZToKIyAgICJeJHtQTn0tbG9jYWxlLS4qIgpQQUNLQUdFU19EWU5BTUlDPSJebHR0bmctbW9k
dWxlcy1sb2NhbGUtLioiCiMKIyAkUEFDS0FHRVZBUlMKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMv
eW9jdG8vcG9reS9tZXRhL2NsYXNzZXMvcGFja2FnZS5iYmNsYXNzOjIwMjAKIyAgICAgIkZJTEVT
IFJERVBFTkRTIFJSRUNPTU1FTkRTIFNVTU1BUlkgREVTQ1JJUFRJT04gUlNVR0dFU1RTIFJQUk9W
SURFUyBSQ09ORkxJQ1RTIFBLRyBBTExPV19FTVBUWSBwa2dfcG9zdGluc3QgcGtnX3Bvc3RybSBJ
TklUU0NSSVBUX05BTUUgSU5JVFNDUklQVF9QQVJBTVMgREVCSUFOX05PQVVUT05BTUUgQUxURVJO
QVRJVkUgUEtHRSBQS0dWIFBLR1IgVVNFUkFERF9QQVJBTSBHUk9VUEFERF9QQVJBTSBDT05GRklM
RVMgU1lTVEVNRF9TRVJWSUNFIExJQ0VOU0UgU0VDVElPTiBwa2dfcHJlaW5zdCBwa2dfcHJlcm0g
UlJFUExBQ0VTIEdST1VQTUVNU19QQVJBTSBTWVNURU1EX0FVVE9fRU5BQkxFIFNLSVBfRklMRURF
UFMgUFJJVkFURV9MSUJTIgpQQUNLQUdFVkFSUz0iRklMRVMgUkRFUEVORFMgUlJFQ09NTUVORFMg
U1VNTUFSWSBERVNDUklQVElPTiBSU1VHR0VTVFMgUlBST1ZJREVTIFJDT05GTElDVFMgUEtHIEFM
TE9XX0VNUFRZIHBrZ19wb3N0aW5zdCBwa2dfcG9zdHJtIElOSVRTQ1JJUFRfTkFNRSBJTklUU0NS
SVBUX1BBUkFNUyBERUJJQU5fTk9BVVRPTkFNRSBBTFRFUk5BVElWRSBQS0dFIFBLR1YgUEtHUiBV
U0VSQUREX1BBUkFNIEdST1VQQUREX1BBUkFNIENPTkZGSUxFUyBTWVNURU1EX1NFUlZJQ0UgTElD
RU5TRSBTRUNUSU9OIHBrZ19wcmVpbnN0IHBrZ19wcmVybSBSUkVQTEFDRVMgR1JPVVBNRU1TX1BB
UkFNIFNZU1RFTURfQVVUT19FTkFCTEUgU0tJUF9GSUxFREVQUyBQUklWQVRFX0xJQlMiCiMKIyAk
UEFDS0FHRV9BUkNIIFszIG9wZXJhdGlvbnNdCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3Rv
L3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjoxNDQKIyAgICAgW19kZWZhdWx0dmFsXSAiJHtU
VU5FX1BLR0FSQ0h9IgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29u
Zi9kb2N1bWVudGF0aW9uLmNvbmY6MzA4CiMgICAgIFtkb2NdICJUaGUgYXJjaGl0ZWN0dXJlIG9m
IHRoZSByZXN1bHRpbmcgcGFja2FnZSBvciBwYWNrYWdlcy4iCiMgICBzZXQgL21lZGlhL3JlYmVj
Y2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL21vZHVsZS1iYXNlLmJiY2xhc3M6MTkKIyAgICAg
IiR7TUFDSElORV9BUkNIfSIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIiR7TUFDSElORV9B
UkNIfSIKUEFDS0FHRV9BUkNIPSJxZW11eDg2IgojCiMgJFBBQ0tBR0VfQVJDSFMgWzMgb3BlcmF0
aW9uc10KIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFr
ZS5jb25mOjE0NwojICAgICAiYWxsIGFueSBub2FyY2ggJHtQQUNLQUdFX0VYVFJBX0FSQ0hTfSAk
e01BQ0hJTkVfQVJDSH0iCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9j
b25mL2JpdGJha2UuY29uZjoxNTAKIyAgICAgW3ZhcmRlcHNleGNsdWRlXSAiTUFDSElORV9BUkNI
IgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0
aW9uLmNvbmY6MzA5CiMgICAgIFtkb2NdICJBIGxpc3Qgb2YgYXJjaGl0ZWN0dXJlcyBjb21wYXRp
YmxlIHdpdGggdGhlIGdpdmVuIHRhcmdldCBpbiBvcmRlciBvZiBwcmlvcml0eS4iCiMgcHJlLWV4
cGFuc2lvbiB2YWx1ZToKIyAgICJhbGwgYW55IG5vYXJjaCAke1BBQ0tBR0VfRVhUUkFfQVJDSFN9
ICR7TUFDSElORV9BUkNIfSIKUEFDS0FHRV9BUkNIUz0iYWxsIGFueSBub2FyY2ggeDg2IGk1ODYg
cWVtdXg4NiIKIwojICRQQUNLQUdFX0JFRk9SRV9QTiBbMiBvcGVyYXRpb25zXQojICAgc2V0PyAv
bWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjI3NwojICAg
ICAiIgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVu
dGF0aW9uLmNvbmY6MzEwCiMgICAgIFtkb2NdICJFbmFibGVzIGVhc2lseSBhZGRpbmcgcGFja2Fn
ZXMgdG8gUEFDS0FHRVMgYmVmb3JlICR7UE59IHNvIHRoYXQgdGhlIHBhY2thZ2VzIGNhbiBwaWNr
IHVwIGZpbGVzIHRoYXQgd291bGQgbm9ybWFsbHkgYmUgaW5jbHVkZWQgaW4gdGhlIGRlZmF1bHQg
cGFja2FnZS4iCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICIiClBBQ0tBR0VfQkVGT1JFX1BO
PSIiCiMKIyAkUEFDS0FHRV9DTEFTU0VTIFszIG9wZXJhdGlvbnNdCiMgICBzZXQ/IC9tZWRpYS9y
ZWJlY2Nhcy95b2N0by9sdHRuZy9jb25mL2xvY2FsLmNvbmY6MTA4CiMgICAgICJwYWNrYWdlX3Jw
bSIKIyAgIHNldD8gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9k
ZWZhdWx0c2V0dXAuY29uZjoyMQojICAgICAicGFja2FnZV9pcGsiCiMgICBzZXQgL21lZGlhL3Jl
YmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjozMTEKIyAgICAg
W2RvY10gIlRoaXMgdmFyaWFibGUgc3BlY2lmaWVzIHRoZSBwYWNrYWdlIG1hbmFnZXIgdG8gdXNl
IHdoZW4gcGFja2FnaW5nIGRhdGEuIEl0IGlzIHNldCBpbiB0aGUgY29uZi9sb2NhbC5jb25mIGZp
bGUgaW4gdGhlIEJ1aWxkIERpcmVjdG9yeS4iCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICJw
YWNrYWdlX3JwbSIKUEFDS0FHRV9DTEFTU0VTPSJwYWNrYWdlX3JwbSIKIwojICRQQUNLQUdFX0RF
UEVORFMgWzIgb3BlcmF0aW9uc10KIyAgIGFwcGVuZCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9r
eS9tZXRhL2NsYXNzZXMvcGFja2FnZS5iYmNsYXNzOjU1CiMgICAgICJycG0tbmF0aXZlIgojICAg
YXBwZW5kIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY2xhc3Nlcy9wYWNrYWdlLmJi
Y2xhc3M6MjM5CiMgICAgICJmaWxlLW5hdGl2ZSIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAg
IiBycG0tbmF0aXZlIGZpbGUtbmF0aXZlIgpQQUNLQUdFX0RFUEVORFM9IiBycG0tbmF0aXZlIGZp
bGUtbmF0aXZlIgojCiMgJFBBQ0tBR0VfRVhDTFVERQojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95
b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6MzEyCiMgICAgIFtkb2NdICJQ
YWNrYWdlcyB0byBleGNsdWRlIGZyb20gdGhlIGluc3RhbGxhdGlvbi4gSWYgYSBsaXN0ZWQgcGFj
a2FnZSBpcyByZXF1aXJlZCwgYW4gZXJyb3IgaXMgZ2VuZXJhdGVkLiIKIwojICRQQUNLQUdFX0VY
VFJBX0FSQ0hTIFs2IG9wZXJhdGlvbnNdCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bv
a3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjoxNDYKIyAgICAgW19kZWZhdWx0dmFsXSAiJHtQQUNL
QUdFX0VYVFJBX0FSQ0hTX3R1bmUtJHtERUZBVUxUVFVORX19IgojICAgc2V0IC9tZWRpYS9yZWJl
Y2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6MzEzCiMgICAgIFtk
b2NdICJTcGVjaWZpZXMgdGhlIGxpc3Qgb2YgYXJjaGl0ZWN0dXJlcyBjb21wYXRpYmxlIHdpdGgg
dGhlIGRldmljZSBDUFUuIFRoaXMgdmFyaWFibGUgaXMgdXNlZnVsIHdoZW4geW91IGJ1aWxkIGZv
ciBzZXZlcmFsIGRpZmZlcmVudCBkZXZpY2VzIHRoYXQgdXNlIG1pc2NlbGxhbmVvdXMgcHJvY2Vz
c29ycy4iCiMgICBvdmVycmlkZVt0dW5lLXg4Nl06c2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9w
b2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUveDg2L2FyY2gteDg2LmluYzo0MQojICAgICAi
JHtUVU5FX1BLR0FSQ0hfdHVuZS14ODZ9IgojICAgb3ZlcnJpZGVbdHVuZS14ODYtNjRdOnNldCAv
bWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3g4Ni9h
cmNoLXg4Ni5pbmM6NDcKIyAgICAgIiR7VFVORV9QS0dBUkNIX3R1bmUteDg2LTY0fSIKIyAgIG92
ZXJyaWRlW3R1bmUteDg2LTY0LXgzMl06c2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21l
dGEvY29uZi9tYWNoaW5lL2luY2x1ZGUveDg2L2FyY2gteDg2LmluYzo1MwojICAgICAiJHtUVU5F
X1BLR0FSQ0hfdHVuZS14ODYtNjQteDMyfSIKIyAgIG92ZXJyaWRlW3R1bmUtaTU4Nl06c2V0IC9t
ZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvdHVuZS1p
NTg2LmluYzoxNAojICAgICAiJHtQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUteDg2fSBpNTg2Igoj
IHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiJHtQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtJHtE
RUZBVUxUVFVORX19IgpQQUNLQUdFX0VYVFJBX0FSQ0hTPSJ4ODYgaTU4NiIKIwojICRQQUNLQUdF
X0VYVFJBX0FSQ0hTX3R1bmUtaTU4NgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5
L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvdHVuZS1pNTg2LmluYzoxNAojICAgICAiJHtQQUNL
QUdFX0VYVFJBX0FSQ0hTX3R1bmUteDg2fSBpNTg2IgpQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUt
aTU4Nj0ieDg2IGk1ODYiCiMKIyAkUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLXg4NgojICAgc2V0
IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUveDg2
L2FyY2gteDg2LmluYzo0MQojICAgICAiJHtUVU5FX1BLR0FSQ0hfdHVuZS14ODZ9IgpQQUNLQUdF
X0VYVFJBX0FSQ0hTX3R1bmUteDg2PSJ4ODYiCiMKIyAkUEFDS0FHRV9FWFRSQV9BUkNIU190dW5l
LXg4Ni02NAojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9tYWNo
aW5lL2luY2x1ZGUveDg2L2FyY2gteDg2LmluYzo0NwojICAgICAiJHtUVU5FX1BLR0FSQ0hfdHVu
ZS14ODYtNjR9IgpQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUteDg2LTY0PSJ4ODZfNjQiCiMKIyAk
UEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLXg4Ni02NC14MzIKIyAgIHNldCAvbWVkaWEvcmViZWNj
YXMveW9jdG8vcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3g4Ni9hcmNoLXg4Ni5pbmM6
NTMKIyAgICAgIiR7VFVORV9QS0dBUkNIX3R1bmUteDg2LTY0LXgzMn0iClBBQ0tBR0VfRVhUUkFf
QVJDSFNfdHVuZS14ODYtNjQteDMyPSJ4ODZfNjRfeDMyIgojCiMgJFBBQ0tBR0VfR1JPVVAKIyAg
IHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5j
b25mOjMxNAojICAgICBbZG9jXSAiRGVmaW5lcyBvbmUgb3IgbW9yZSBwYWNrYWdlcyB0byBpbmNs
dWRlIGluIGFuIGltYWdlIHdoZW4gYSBzcGVjaWZpYyBpdGVtIGlzIGluY2x1ZGVkIGluIElNQUdF
X0ZFQVRVUkVTLiIKIwojICRQQUNLQUdFX0lOU1RBTEwKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMv
eW9jdG8vcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjMxNQojICAgICBbZG9jXSAi
TGlzdCBvZiB0aGUgcGFja2FnZXMgdG8gYmUgaW5zdGFsbGVkIGludG8gdGhlIGltYWdlLiBUaGUg
dmFyaWFibGUgaXMgZ2VuZXJhbGx5IG5vdCB1c2VyLWRlZmluZWQgYW5kIHVzZXMgSU1BR0VfSU5T
VEFMTCBhcyBwYXJ0IG9mIHRoZSBsaXN0LiIKIwojICRQQUNLQUdFX0lOU1RBTExfQVRURU1QVE9O
TFkKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRh
dGlvbi5jb25mOjMxNgojICAgICBbZG9jXSAiTGlzdCBvZiBwYWNrYWdlcyBhdHRlbXB0ZWQgdG8g
YmUgaW5zdGFsbGVkLiBJZiBhIGxpc3RlZCBwYWNrYWdlIGZhaWxzIHRvIGluc3RhbGwsIHRoZSBi
dWlsZCBzeXN0ZW0gZG9lcyBub3QgZ2VuZXJhdGUgYW4gZXJyb3IuIFRoaXMgdmFyaWFibGUgaXMg
Z2VuZXJhbGx5IG5vdCB1c2VyLWRlZmluZWQuIgojCiMgJFBBQ0tBR0VfUFJFUFJPQ0VTU19GVU5D
UwojICAgc2V0PyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NsYXNzZXMvcGFja2Fn
ZS5iYmNsYXNzOjIwMzUKIyAgICAgIiIKUEFDS0FHRV9QUkVQUk9DRVNTX0ZVTkNTPSIiCiMKIyAk
UEFDS0FHRV9XUklURV9ERVBTIFsyIG9wZXJhdGlvbnNdCiMgICBzZXQgL21lZGlhL3JlYmVjY2Fz
L3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL3BhY2thZ2UuYmJjbGFzczo2MwojICAgICBbX2RlZmF1
bHR2YWxdICIiCiMgICBhcHBlbmQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFz
c2VzL2tlcm5lbC1tb2R1bGUtc3BsaXQuYmJjbGFzczoyNQojICAgICAia21vZC1uYXRpdmUgZGVw
bW9kd3JhcHBlci1jcm9zcyIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIiBrbW9kLW5hdGl2
ZSBkZXBtb2R3cmFwcGVyLWNyb3NzIgpQQUNLQUdFX1dSSVRFX0RFUFM9IiBrbW9kLW5hdGl2ZSBk
ZXBtb2R3cmFwcGVyLWNyb3NzIgojCiMgJFBBUkFMTEVMX01BS0UgWzIgb3BlcmF0aW9uc10KIyAg
IHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5j
b25mOjMyMAojICAgICBbZG9jXSAiU3BlY2lmaWVzIGV4dHJhIG9wdGlvbnMgdGhhdCBhcmUgcGFz
c2VkIHRvIHRoZSBtYWtlIGNvbW1hbmQgZHVyaW5nIHRoZSBjb21waWxlIHRhc2tzLiBUaGlzIHZh
cmlhYmxlIGlzIHVzdWFsbHkgaW4gdGhlIGZvcm0gLWogNCwgd2hlcmUgdGhlIG51bWJlciByZXBy
ZXNlbnRzIHRoZSBtYXhpbXVtIG51bWJlciBvZiBwYXJhbGxlbCB0aHJlYWRzIG1ha2UgY2FuIHJ1
bi4iCiMgICBzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtl
LmNvbmY6Nzc1CiMgICAgICItaiAke0BvZS51dGlscy5jcHVfY291bnQoKX0iCiMgcHJlLWV4cGFu
c2lvbiB2YWx1ZToKIyAgICItaiAke0BvZS51dGlscy5jcHVfY291bnQoKX0iClBBUkFMTEVMX01B
S0U9Ii1qIDQwIgojCiMgJFBBUkFMTEVMX01BS0VJTlNUIFsyIG9wZXJhdGlvbnNdCiMgICBzZXQg
L21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo1NzYKIyAg
ICAgW19kZWZhdWx0dmFsXSAiJHtQQVJBTExFTF9NQUtFfSIKIyAgIHNldCAvbWVkaWEvcmViZWNj
YXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjMyMQojICAgICBbZG9j
XSAiRXh0cmEgb3B0aW9ucyBwYXNzZWQgdG8gdGhlIG1ha2UgaW5zdGFsbCBjb21tYW5kIGR1cmlu
ZyB0aGUgZG9faW5zdGFsbCB0YXNrIGluIG9yZGVyIHRvIHNwZWNpZnkgcGFyYWxsZWwgaW5zdGFs
bGF0aW9uLiIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIiR7UEFSQUxMRUxfTUFLRX0iClBB
UkFMTEVMX01BS0VJTlNUPSItaiA0MCIKIwojICRQQVRDSERFUEVOREVOQ1kKIyAgIHNldCAvbWVk
aWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NsYXNzZXMvcGF0Y2guYmJjbGFzczo2CiMgICAg
ICIke1BBVENIVE9PTH0tbmF0aXZlOmRvX3BvcHVsYXRlX3N5c3Jvb3QiClBBVENIREVQRU5ERU5D
WT0icXVpbHQtbmF0aXZlOmRvX3BvcHVsYXRlX3N5c3Jvb3QiCiMKIyAkUEFUQ0hSRVNPTFZFIFsz
IG9wZXJhdGlvbnNdCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25m
L2JpdGJha2UuY29uZjo1MzIKIyAgICAgIm5vb3AiCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lv
Y3RvL2x0dG5nL2NvbmYvbG9jYWwuY29uZjoxODIKIyAgICAgIm5vb3AiCiMgICBzZXQgL21lZGlh
L3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjozMjIKIyAg
ICAgW2RvY10gIkVuYWJsZSBvciBkaXNhYmxlIGludGVyYWN0aXZlIHBhdGNoIHJlc29sdXRpb24u
IgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAibm9vcCIKUEFUQ0hSRVNPTFZFPSJub29wIgoj
CiMgJFBBVENIVE9PTCBbMiBvcGVyYXRpb25zXQojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0
by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6NTMxCiMgICAgICJxdWlsdCIKIyAgIHNldCAv
bWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjMy
MwojICAgICBbZG9jXSAiU3BlY2lmaWVzIHRoZSB1dGlsaXR5IHVzZWQgdG8gYXBwbHkgcGF0Y2hl
cyBmb3IgYSByZWNpcGUgZHVyaW5nIGRvX3BhdGNoLiIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgoj
ICAgInF1aWx0IgpQQVRDSFRPT0w9InF1aWx0IgojCiMgJFBBVENIX0dJVF9VU0VSX0VNQUlMCiMg
ICBzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY2xhc3Nlcy9wYXRjaC5iYmNs
YXNzOjkKIyAgICAgIm9lLnBhdGNoQG9lIgpQQVRDSF9HSVRfVVNFUl9FTUFJTD0ib2UucGF0Y2hA
b2UiCiMKIyAkUEFUQ0hfR0lUX1VTRVJfTkFNRQojICAgc2V0PyAvbWVkaWEvcmViZWNjYXMveW9j
dG8vcG9reS9tZXRhL2NsYXNzZXMvcGF0Y2guYmJjbGFzczo4CiMgICAgICJPcGVuRW1iZWRkZWQi
ClBBVENIX0dJVF9VU0VSX05BTUU9Ik9wZW5FbWJlZGRlZCIKIwojICRQQVRIIFs3IG9wZXJhdGlv
bnNdCiMgICBmcm9tIGVudiBkYXRhLnB5OjEyNCBbaW5oZXJpdEZyb21PU10KIyAgICAgIi9tZWRp
YS9yZWJlY2Nhcy95b2N0by9wb2t5L3NjcmlwdHM6L21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kv
Yml0YmFrZS9iaW46L21lZGlhL3JlYmVjY2FzL3lvY3RvLzEyMTc3L3RtcC9kZXBsb3kvc2RrL3Bv
a3lfc2RrL3N5c3Jvb3RzL3g4Nl82NC1wb2t5c2RrLWxpbnV4L3Vzci9iaW46L21lZGlhL3JlYmVj
Y2FzL3lvY3RvLzEyMTc3L3RtcC9kZXBsb3kvc2RrL3Bva3lfc2RrL2J1aWxkdG9vbHMvc3lzcm9v
dHMveDg2XzY0LXBva3lzZGstbGludXgvdXNyL2JpbjovbWVkaWEvcmViZWNjYXMveW9jdG8vMTIx
NzcvdG1wL2RlcGxveS9zZGsvcG9reV9zZGsvdG1wL3N5c3Jvb3RzL3g4Nl82NC91c3IvYmluOi9t
ZWRpYS9yZWJlY2Nhcy95b2N0by8xMjE3Ny90bXAvZGVwbG95L3Nkay9wb2t5X3Nkay90bXAvc3lz
cm9vdHMveDg2XzY0L3Vzci9zYmluOi9tZWRpYS9yZWJlY2Nhcy95b2N0by8xMjE3Ny90bXAvZGVw
bG95L3Nkay9wb2t5X3Nkay90bXAvc3lzcm9vdHMveDg2XzY0L2JpbjovbWVkaWEvcmViZWNjYXMv
eW9jdG8vMTIxNzcvdG1wL2RlcGxveS9zZGsvcG9reV9zZGsvdG1wL3N5c3Jvb3RzL3g4Nl82NC9z
YmluOi9tZWRpYS9yZWJlY2Nhcy95b2N0by8xMjE3Ny90bXAvZGVwbG95L3Nkay9wb2t5X3Nkay90
bXAvc3lzcm9vdHMveDg2XzY0L3Vzci9iaW4vLi4veDg2XzY0LXBva3lzZGstbGludXgvYmluOi9t
ZWRpYS9yZWJlY2Nhcy95b2N0by8xMjE3Ny90bXAvZGVwbG95L3Nkay9wb2t5X3Nkay90bXAvc3lz
cm9vdHMveDg2XzY0L3Vzci9iaW4vaTU4Ni1wb2t5LWxpbnV4Oi9tZWRpYS9yZWJlY2Nhcy95b2N0
by8xMjE3Ny90bXAvZGVwbG95L3Nkay9wb2t5X3Nkay90bXAvc3lzcm9vdHMveDg2XzY0L3Vzci9i
aW4vaTU4Ni1wb2t5LWxpbnV4LW11c2w6L29wdC9ibGFja2R1Y2svcHJvdGV4SVAvYmluOi91c3Iv
bG9jYWwvc2JpbjovdXNyL2xvY2FsL2JpbjovdXNyL3NiaW46L3Vzci9iaW46L3NiaW46L2Jpbjov
dXNyL2dhbWVzOi91c3IvbG9jYWwvZ2FtZXM6L2hvbWUvcmViZWNjYXMvYmluOi9zbmFwL2JpbiIK
IyAgIGF1dG8gZW52IGV4cG9ydCBkYXRhLnB5OjEyNiBbaW5oZXJpdEZyb21PU10KIyAgICAgW2V4
cG9ydF0gIlRydWUiCiMgICBpbW1lZGlhdGUgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0
YS9jb25mL2xheWVyLmNvbmY6NjMKIyAgICAgIiR7QG9zLnBhdGguZGlybmFtZShiYi51dGlscy53
aGljaChkLmdldFZhcignUEFUSCcpLCdiaXRiYWtlJykpfToke0hPU1RUT09MU19ESVJ9IgojICAg
X3ByZXBlbmQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29u
Zjo0NDkKIyAgICAgIiR7Q09SRUJBU0V9L3NjcmlwdHM6JHtTVEFHSU5HX0JJTkRJUl9UT09MQ0hB
SU59OiR7U1RBR0lOR19CSU5ESVJfQ1JPU1N9OiR7U1RBR0lOR19ESVJfTkFUSVZFfSR7c2JpbmRp
cl9uYXRpdmV9OiR7U1RBR0lOR19CSU5ESVJfTkFUSVZFfToke1NUQUdJTkdfRElSX05BVElWRX0k
e2Jhc2Vfc2JpbmRpcl9uYXRpdmV9OiR7U1RBR0lOR19ESVJfTkFUSVZFfSR7YmFzZV9iaW5kaXJf
bmF0aXZlfToiCiMgICBleHBvcnRlZCBhc3QucHk6NjggW2V2YWxdCiMgICAgIFtleHBvcnRdICIx
IgojICAgX3ByZXBlbmQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL2Jh
c2UuYmJjbGFzczo5NQojICAgICAiJHtAZXh0cmFfcGF0aF9lbGVtZW50cyhkKX0iCiMgICBwcmVw
ZW5kIHVuaW5hdGl2ZS5iYmNsYXNzOjEwNCBbZW5hYmxlX3VuaW5hdGl2ZV0KIyAgICAgIiR7U1RB
R0lOR19ESVJ9LXVuaW5hdGl2ZS8ke0JVSUxEX0FSQ0h9LWxpbnV4JHtiaW5kaXJfbmF0aXZlfToi
CiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICIke1NUQUdJTkdfRElSfS11bmluYXRpdmUvJHtC
VUlMRF9BUkNIfS1saW51eCR7YmluZGlyX25hdGl2ZX06JHtAZXh0cmFfcGF0aF9lbGVtZW50cyhk
KX0ke0NPUkVCQVNFfS9zY3JpcHRzOiR7U1RBR0lOR19CSU5ESVJfVE9PTENIQUlOfToke1NUQUdJ
TkdfQklORElSX0NST1NTfToke1NUQUdJTkdfRElSX05BVElWRX0ke3NiaW5kaXJfbmF0aXZlfTok
e1NUQUdJTkdfQklORElSX05BVElWRX06JHtTVEFHSU5HX0RJUl9OQVRJVkV9JHtiYXNlX3NiaW5k
aXJfbmF0aXZlfToke1NUQUdJTkdfRElSX05BVElWRX0ke2Jhc2VfYmluZGlyX25hdGl2ZX06L21l
ZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvYml0YmFrZS9iaW46JHtIT1NUVE9PTFNfRElSfSIKZXhw
b3J0IFBBVEg9Ii9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy90bXAvc3lzcm9vdHMtdW5pbmF0
aXZlL3g4Nl82NC1saW51eC91c3IvYmluOi9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L3Njcmlw
dHM6L21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL3RtcC93b3JrL3FlbXV4ODYtcG9reS1saW51
eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL3JlY2lwZS1zeXNyb290LW5hdGl2ZS91c3IvYmluL2k1
ODYtcG9reS1saW51eDovbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvdG1wL3dvcmsvcWVtdXg4
Ni1wb2t5LWxpbnV4L2x0dG5nLW1vZHVsZXMvMi45LjEtcjAvcmVjaXBlLXN5c3Jvb3QvdXNyL2Jp
bi9jcm9zc3NjcmlwdHM6L21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL3RtcC93b3JrL3FlbXV4
ODYtcG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL3JlY2lwZS1zeXNyb290LW5hdGl2
ZS91c3Ivc2JpbjovbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvdG1wL3dvcmsvcWVtdXg4Ni1w
b2t5LWxpbnV4L2x0dG5nLW1vZHVsZXMvMi45LjEtcjAvcmVjaXBlLXN5c3Jvb3QtbmF0aXZlL3Vz
ci9iaW46L21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL3RtcC93b3JrL3FlbXV4ODYtcG9reS1s
aW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL3JlY2lwZS1zeXNyb290LW5hdGl2ZS9zYmluOi9t
ZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy90bXAvd29yay9xZW11eDg2LXBva3ktbGludXgvbHR0
bmctbW9kdWxlcy8yLjkuMS1yMC9yZWNpcGUtc3lzcm9vdC1uYXRpdmUvYmluOi9tZWRpYS9yZWJl
Y2Nhcy95b2N0by9wb2t5L2JpdGJha2UvYmluOi9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy90
bXAvaG9zdHRvb2xzIgojCiMgJFBFIFsyIG9wZXJhdGlvbnNdCiMgICBzZXQgL21lZGlhL3JlYmVj
Y2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjoxOTcKIyAgICAgIiIKIyAgIHNl
dCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25m
OjMyNAojICAgICBbZG9jXSAiVGhlIGVwb2NoIG9mIHRoZSByZWNpcGUuIFRoZSBkZWZhdWx0IHZh
bHVlIGlzICcwJy4gVGhlIGZpZWxkIGlzIHVzZWQgdG8gbWFrZSB1cGdyYWRlcyBwb3NzaWJsZSB3
aGVuIHRoZSB2ZXJzaW9uaW5nIHNjaGVtZSBjaGFuZ2VzIGluIHNvbWUgYmFja3dhcmRzIGluY29t
cGF0aWJsZSB3YXkuIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiIgpQRT0iIgojCiMgJFBF
UlNJU1RFTlRfRElSCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25m
L2JpdGJha2UuY29uZjozMzQKIyAgICAgIiR7VE9QRElSfS9jYWNoZSIKUEVSU0lTVEVOVF9ESVI9
Ii9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy9jYWNoZSIKIwojICRQRiBbMiBvcGVyYXRpb25z
XQojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNv
bmY6MTk4CiMgICAgICIke1BOfS0ke0VYVEVORFBFfSR7UFZ9LSR7UFJ9IgojICAgc2V0IC9tZWRp
YS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6MzI1CiMg
ICAgIFtkb2NdICJTcGVjaWZpZXMgdGhlIHJlY2lwZSBvciBwYWNrYWdlIG5hbWUgYW5kIGluY2x1
ZGVzIGFsbCB2ZXJzaW9uIGFuZCByZXZpc2lvbiBudW1iZXJzLiBUaGlzIHZhcmlhYmxlIGlzIGNv
bXByaXNlZCBvZiAke1BOfS0ke0VYVEVORFBFfSR7UFZ9LSR7UFJ9LiIKIyBwcmUtZXhwYW5zaW9u
IHZhbHVlOgojICAgIiR7UE59LSR7RVhURU5EUEV9JHtQVn0tJHtQUn0iClBGPSJsdHRuZy1tb2R1
bGVzLTIuOS4xLXIwIgojCiMgJFBJWEJVRl9QQUNLQUdFUwojICAgc2V0IC9tZWRpYS9yZWJlY2Nh
cy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6MzI2CiMgICAgIFtkb2Nd
ICJXaGVuIGEgcmVjaXBlIGluaGVyaXRzIHRoZSBwaXhidWZjYWNoZSBjbGFzcywgdGhpcyB2YXJp
YWJsZSBpZGVudGlmaWVzIHBhY2thZ2VzIHRoYXQgY29udGFpbiB0aGUgcGl4YnVmIGxvYWRlcnMg
dXNlZCB3aXRoIGdkay1waXhidWYuIgojCiMgJFBLR0QgWzIgb3BlcmF0aW9uc10KIyAgIHNldCAv
bWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjMy
NwojICAgICBbZG9jXSAiUG9pbnRzIHRvIHRoZSBkZXN0aW5hdGlvbiBkaXJlY3RvcnkgZm9yIGZp
bGVzIHRvIGJlIHBhY2thZ2VkIGJlZm9yZSB0aGV5IGFyZSBzcGxpdCBpbnRvIGluZGl2aWR1YWwg
cGFja2FnZXMuIgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY2xhc3Nl
cy9wYWNrYWdlLmJiY2xhc3M6NDcKIyAgICAgIiR7V09SS0RJUn0vcGFja2FnZSIKIyBwcmUtZXhw
YW5zaW9uIHZhbHVlOgojICAgIiR7V09SS0RJUn0vcGFja2FnZSIKUEtHRD0iL21lZGlhL3JlYmVj
Y2FzL3lvY3RvL2x0dG5nL3RtcC93b3JrL3FlbXV4ODYtcG9reS1saW51eC9sdHRuZy1tb2R1bGVz
LzIuOS4xLXIwL3BhY2thZ2UiCiMKIyAkUEtHREFUQV9ESVIgWzIgb3BlcmF0aW9uc10KIyAgIHNl
dCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjM5Mwoj
ICAgICAiJHtUTVBESVJ9L3BrZ2RhdGEvJHtNQUNISU5FfSIKIyAgIHNldCAvbWVkaWEvcmViZWNj
YXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjMyOAojICAgICBbZG9j
XSAiUG9pbnRzIHRvIGEgc2hhcmVkLCBnbG9iYWwtc3RhdGUgZGlyZWN0b3J5IHRoYXQgaG9sZHMg
ZGF0YSBnZW5lcmF0ZWQgZHVyaW5nIHRoZSBwYWNrYWdpbmcgcHJvY2Vzcy4iCiMgcHJlLWV4cGFu
c2lvbiB2YWx1ZToKIyAgICIke1RNUERJUn0vcGtnZGF0YS8ke01BQ0hJTkV9IgpQS0dEQVRBX0RJ
Uj0iL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL3RtcC9wa2dkYXRhL3FlbXV4ODYiCiMKIyAk
UEtHREVTVCBbMiBvcGVyYXRpb25zXQojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5
L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6MzI5CiMgICAgIFtkb2NdICJQb2ludHMgdG8g
dGhlIHBhcmVudCBkaXJlY3RvcnkgZm9yIGZpbGVzIHRvIGJlIHBhY2thZ2VkIGFmdGVyIHRoZXkg
aGF2ZSBiZWVuIHNwbGl0IGludG8gaW5kaXZpZHVhbCBwYWNrYWdlcy4iCiMgICBzZXQgL21lZGlh
L3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL3BhY2thZ2UuYmJjbGFzczo0OAojICAg
ICAiJHtXT1JLRElSfS9wYWNrYWdlcy1zcGxpdCIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAg
IiR7V09SS0RJUn0vcGFja2FnZXMtc3BsaXQiClBLR0RFU1Q9Ii9tZWRpYS9yZWJlY2Nhcy95b2N0
by9sdHRuZy90bXAvd29yay9xZW11eDg2LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1y
MC9wYWNrYWdlcy1zcGxpdCIKIwojICRQS0dERVNUV09SSyBbMiBvcGVyYXRpb25zXQojICAgc2V0
IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6
MzMwCiMgICAgIFtkb2NdICJQb2ludHMgdG8gYSB0ZW1wb3Jhcnkgd29yayBhcmVhIHVzZWQgYnkg
dGhlIGRvX3BhY2thZ2UgdGFzayB0byB3cml0ZSBvdXRwdXQgZnJvbSB0aGUgZG9fcGFja2FnZWRh
dGEgdGFzay4iCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2Vz
L3BhY2thZ2UuYmJjbGFzczoxMjgzCiMgICAgICIke1dPUktESVJ9L3BrZ2RhdGEiCiMgcHJlLWV4
cGFuc2lvbiB2YWx1ZToKIyAgICIke1dPUktESVJ9L3BrZ2RhdGEiClBLR0RFU1RXT1JLPSIvbWVk
aWEvcmViZWNjYXMveW9jdG8vbHR0bmcvdG1wL3dvcmsvcWVtdXg4Ni1wb2t5LWxpbnV4L2x0dG5n
LW1vZHVsZXMvMi45LjEtcjAvcGtnZGF0YSIKIwojICRQS0dFCiMgICBzZXQ/IC9tZWRpYS9yZWJl
Y2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6MjA4CiMgICAgICIke0BbJycs
JyR7UEV9J11baW50KGQuZ2V0VmFyKCdQRScpIG9yIDApID4gMF19IgpQS0dFPSIiCiMKIyAkUEtH
TUxUUklQTEVUUwojICAgc2V0IGJhc2UuYmJjbGFzczozNzAgW3NldHRyaXBsZXRdCiMgICAgICJx
ZW11eDg2LXBva3ktbGludXggaTU4Ni1wb2t5LWxpbnV4IHg4Ni1wb2t5LWxpbnV4IG5vYXJjaC1w
b2t5LWxpbnV4IGFueS1wb2t5LWxpbnV4IGFsbC1wb2t5LWxpbnV4IgpQS0dNTFRSSVBMRVRTPSJx
ZW11eDg2LXBva3ktbGludXggaTU4Ni1wb2t5LWxpbnV4IHg4Ni1wb2t5LWxpbnV4IG5vYXJjaC1w
b2t5LWxpbnV4IGFueS1wb2t5LWxpbnV4IGFsbC1wb2t5LWxpbnV4IgojCiMgJFBLR1IKIyAgIHNl
dD8gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjoyMDcK
IyAgICAgIiR7UFJ9JHtFWFRFTkRQUkFVVE99IgpQS0dSPSJyMCIKIwojICRQS0dUUklQTEVUUwoj
ICAgc2V0IGJhc2UuYmJjbGFzczozNzAgW3NldHRyaXBsZXRdCiMgICAgICJxZW11eDg2LXBva3kt
bGludXggaTU4Ni1wb2t5LWxpbnV4IHg4Ni1wb2t5LWxpbnV4IG5vYXJjaC1wb2t5LWxpbnV4IGFu
eS1wb2t5LWxpbnV4IGFsbC1wb2t5LWxpbnV4IgpQS0dUUklQTEVUUz0icWVtdXg4Ni1wb2t5LWxp
bnV4IGk1ODYtcG9reS1saW51eCB4ODYtcG9reS1saW51eCBub2FyY2gtcG9reS1saW51eCBhbnkt
cG9reS1saW51eCBhbGwtcG9reS1saW51eCIKIwojICRQS0dWCiMgICBzZXQ/IC9tZWRpYS9yZWJl
Y2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6MjA2CiMgICAgICIke1BWfSIK
UEtHVj0iMi45LjEiCiMKIyAkUEtHV1JJVEVESVJSUE0KIyAgIHNldCAvbWVkaWEvcmViZWNjYXMv
eW9jdG8vcG9reS9tZXRhL2NsYXNzZXMvcGFja2FnZV9ycG0uYmJjbGFzczo4CiMgICAgICIke1dP
UktESVJ9L2RlcGxveS1ycG1zIgpQS0dXUklURURJUlJQTT0iL21lZGlhL3JlYmVjY2FzL3lvY3Rv
L2x0dG5nL3RtcC93b3JrL3FlbXV4ODYtcG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIw
L2RlcGxveS1ycG1zIgojCiMgJFBLR19DT05GSUdfRElSIFsyIG9wZXJhdGlvbnNdCiMgICBleHBv
cnRlZCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjY4
NwojICAgICBbZXhwb3J0XSAiMSIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9t
ZXRhL2NvbmYvYml0YmFrZS5jb25mOjY4NwojICAgICAiJHtTVEFHSU5HX0RJUl9IT1NUfSR7bGli
ZGlyfS9wa2djb25maWciCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICIke1NUQUdJTkdfRElS
X0hPU1R9JHtsaWJkaXJ9L3BrZ2NvbmZpZyIKZXhwb3J0IFBLR19DT05GSUdfRElSPSIvbWVkaWEv
cmViZWNjYXMveW9jdG8vbHR0bmcvdG1wL3dvcmsvcWVtdXg4Ni1wb2t5LWxpbnV4L2x0dG5nLW1v
ZHVsZXMvMi45LjEtcjAvcmVjaXBlLXN5c3Jvb3QvdXNyL2xpYi9wa2djb25maWciCiMKIyAkUEtH
X0NPTkZJR19ESVNBQkxFX1VOSU5TVEFMTEVEIFsyIG9wZXJhdGlvbnNdCiMgICBleHBvcnRlZCAv
bWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjY5MQojICAg
ICBbZXhwb3J0XSAiMSIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2Nv
bmYvYml0YmFrZS5jb25mOjY5MQojICAgICAieWVzIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMg
ICAieWVzIgpleHBvcnQgUEtHX0NPTkZJR19ESVNBQkxFX1VOSU5TVEFMTEVEPSJ5ZXMiCiMKIyAk
UEtHX0NPTkZJR19MSUJESVIgWzIgb3BlcmF0aW9uc10KIyAgIGV4cG9ydGVkIC9tZWRpYS9yZWJl
Y2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6Njg5CiMgICAgIFtleHBvcnRd
ICIxIgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtl
LmNvbmY6Njg5CiMgICAgICIke1BLR19DT05GSUdfRElSfSIKIyBwcmUtZXhwYW5zaW9uIHZhbHVl
OgojICAgIiR7UEtHX0NPTkZJR19ESVJ9IgpleHBvcnQgUEtHX0NPTkZJR19MSUJESVI9Ii9tZWRp
YS9yZWJlY2Nhcy95b2N0by9sdHRuZy90bXAvd29yay9xZW11eDg2LXBva3ktbGludXgvbHR0bmct
bW9kdWxlcy8yLjkuMS1yMC9yZWNpcGUtc3lzcm9vdC91c3IvbGliL3BrZ2NvbmZpZyIKIwojICRQ
S0dfQ09ORklHX1BBVEggWzIgb3BlcmF0aW9uc10KIyAgIGV4cG9ydGVkIC9tZWRpYS9yZWJlY2Nh
cy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6Njg4CiMgICAgIFtleHBvcnRdICIx
IgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNv
bmY6Njg4CiMgICAgICIke1BLR19DT05GSUdfRElSfToke1NUQUdJTkdfREFUQURJUn0vcGtnY29u
ZmlnIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiJHtQS0dfQ09ORklHX0RJUn06JHtTVEFH
SU5HX0RBVEFESVJ9L3BrZ2NvbmZpZyIKZXhwb3J0IFBLR19DT05GSUdfUEFUSD0iL21lZGlhL3Jl
YmVjY2FzL3lvY3RvL2x0dG5nL3RtcC93b3JrL3FlbXV4ODYtcG9reS1saW51eC9sdHRuZy1tb2R1
bGVzLzIuOS4xLXIwL3JlY2lwZS1zeXNyb290L3Vzci9saWIvcGtnY29uZmlnOi9tZWRpYS9yZWJl
Y2Nhcy95b2N0by9sdHRuZy90bXAvd29yay9xZW11eDg2LXBva3ktbGludXgvbHR0bmctbW9kdWxl
cy8yLjkuMS1yMC9yZWNpcGUtc3lzcm9vdC91c3Ivc2hhcmUvcGtnY29uZmlnIgojCiMgJFBLR19D
T05GSUdfU1lTUk9PVF9ESVIgWzIgb3BlcmF0aW9uc10KIyAgIGV4cG9ydGVkIC9tZWRpYS9yZWJl
Y2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6NjkwCiMgICAgIFtleHBvcnRd
ICIxIgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtl
LmNvbmY6NjkwCiMgICAgICIke1NUQUdJTkdfRElSX0hPU1R9IgojIHByZS1leHBhbnNpb24gdmFs
dWU6CiMgICAiJHtTVEFHSU5HX0RJUl9IT1NUfSIKZXhwb3J0IFBLR19DT05GSUdfU1lTUk9PVF9E
SVI9Ii9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy90bXAvd29yay9xZW11eDg2LXBva3ktbGlu
dXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9yZWNpcGUtc3lzcm9vdCIKIwojICRQS0dfQ09ORklH
X1NZU1RFTV9JTkNMVURFX1BBVEggWzIgb3BlcmF0aW9uc10KIyAgIGV4cG9ydGVkIC9tZWRpYS9y
ZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6NjkzCiMgICAgIFtleHBv
cnRdICIxIgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRi
YWtlLmNvbmY6NjkzCiMgICAgICIke2luY2x1ZGVkaXJ9IgojIHByZS1leHBhbnNpb24gdmFsdWU6
CiMgICAiJHtpbmNsdWRlZGlyfSIKZXhwb3J0IFBLR19DT05GSUdfU1lTVEVNX0lOQ0xVREVfUEFU
SD0iL3Vzci9pbmNsdWRlIgojCiMgJFBLR19DT05GSUdfU1lTVEVNX0xJQlJBUllfUEFUSCBbMiBv
cGVyYXRpb25zXQojICAgZXhwb3J0ZWQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9j
b25mL2JpdGJha2UuY29uZjo2OTIKIyAgICAgW2V4cG9ydF0gIjEiCiMgICBzZXQgL21lZGlhL3Jl
YmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo2OTIKIyAgICAgIiR7YmFz
ZV9saWJkaXJ9OiR7bGliZGlyfSIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIiR7YmFzZV9s
aWJkaXJ9OiR7bGliZGlyfSIKZXhwb3J0IFBLR19DT05GSUdfU1lTVEVNX0xJQlJBUllfUEFUSD0i
L2xpYjovdXNyL2xpYiIKIwojICRQTiBbMiBvcGVyYXRpb25zXQojICAgc2V0IC9tZWRpYS9yZWJl
Y2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6MTk0CiMgICAgICIke0BiYi5w
YXJzZS5CQkhhbmRsZXIudmFyc19mcm9tX2ZpbGUoZC5nZXRWYXIoJ0ZJTEUnLCBGYWxzZSksZClb
MF0gb3IgJ2RlZmF1bHRwa2duYW1lJ30iCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bv
a3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjozMzEKIyAgICAgW2RvY10gIlBOIHJlZmVy
cyB0byBhIHJlY2lwZSBuYW1lIGluIHRoZSBjb250ZXh0IG9mIGEgZmlsZSB1c2VkIGJ5IHRoZSBP
cGVuRW1iZWRkZWQgYnVpbGQgc3lzdGVtIGFzIGlucHV0IHRvIGNyZWF0ZSBhIHBhY2thZ2UuIEl0
IHJlZmVycyB0byBhIHBhY2thZ2UgbmFtZSBpbiB0aGUgY29udGV4dCBvZiBhIGZpbGUgY3JlYXRl
ZCBvciBwcm9kdWNlZCBieSB0aGUgT3BlbkVtYmVkZGVkIGJ1aWxkIHN5c3RlbS4iCiMgcHJlLWV4
cGFuc2lvbiB2YWx1ZToKIyAgICIke0BiYi5wYXJzZS5CQkhhbmRsZXIudmFyc19mcm9tX2ZpbGUo
ZC5nZXRWYXIoJ0ZJTEUnLCBGYWxzZSksZClbMF0gb3IgJ2RlZmF1bHRwa2duYW1lJ30iClBOPSJs
dHRuZy1tb2R1bGVzIgojCiMgJFBOQkxBQ0tMSVNUCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lv
Y3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjozMzIKIyAgICAgW2RvY10gIkxp
c3RzIHJlY2lwZXMgeW91IGRvIG5vdCB3YW50IHRoZSBPcGVuRW1iZWRkZWQgYnVpbGQgc3lzdGVt
IHRvIGJ1aWxkLiIKIwojICRQT0tZUUVNVURFUFMKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9j
dG8vcG9reS9tZXRhLXBva3kvY29uZi9kaXN0cm8vcG9reS5jb25mOjM4CiMgICAgICIke0BiYi51
dGlscy5jb250YWlucygiSU5DT01QQVRJQkxFX0xJQ0VOU0UiLCAiR1BMLTMuMCIsICIiLCAicGFj
a2FnZWdyb3VwLWNvcmUtZGV2aWNlLWRldmVsIixkKX0iClBPS1lRRU1VREVQUz0icGFja2FnZWdy
b3VwLWNvcmUtZGV2aWNlLWRldmVsIgojCiMgJFBPS1lfQkJMQVlFUlNfQ09ORl9WRVJTSU9OCiMg
ICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL2NvbmYvYmJsYXllcnMuY29uZjozCiMg
ICAgICIyIgpQT0tZX0JCTEFZRVJTX0NPTkZfVkVSU0lPTj0iMiIKIwojICRQT0tZX0RFRkFVTFRf
RElTVFJPX0ZFQVRVUkVTCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1w
b2t5L2NvbmYvZGlzdHJvL3Bva3kuY29uZjoxOAojICAgICAibGFyZ2VmaWxlIG9wZW5nbCBwdGVz
dCBtdWx0aWFyY2ggd2F5bGFuZCIKUE9LWV9ERUZBVUxUX0RJU1RST19GRUFUVVJFUz0ibGFyZ2Vm
aWxlIG9wZW5nbCBwdGVzdCBtdWx0aWFyY2ggd2F5bGFuZCIKIwojICRQT0tZX0RFRkFVTFRfRVhU
UkFfUkRFUEVORFMKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXBva3kv
Y29uZi9kaXN0cm8vcG9reS5jb25mOjE5CiMgICAgICJwYWNrYWdlZ3JvdXAtY29yZS1ib290IgpQ
T0tZX0RFRkFVTFRfRVhUUkFfUkRFUEVORFM9InBhY2thZ2Vncm91cC1jb3JlLWJvb3QiCiMKIyAk
UE9LWV9ERUZBVUxUX0VYVFJBX1JSRUNPTU1FTkRTCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lv
Y3RvL3Bva3kvbWV0YS1wb2t5L2NvbmYvZGlzdHJvL3Bva3kuY29uZjoyMAojICAgICAia2VybmVs
LW1vZHVsZS1hZi1wYWNrZXQiClBPS1lfREVGQVVMVF9FWFRSQV9SUkVDT01NRU5EUz0ia2VybmVs
LW1vZHVsZS1hZi1wYWNrZXQiCiMKIyAkUE9QVUxBVEVTWVNST09UREVQUyBbMyBvcGVyYXRpb25z
XQojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY2xhc3Nlcy9zdGFnaW5n
LmJiY2xhc3M6MTk2CiMgICAgICIiCiMgICBvdmVycmlkZVtjbGFzcy10YXJnZXRdOnNldCAvbWVk
aWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NsYXNzZXMvc3RhZ2luZy5iYmNsYXNzOjE5Nwoj
ICAgICAidmlydHVhbC8ke01MUFJFRklYfSR7VEFSR0VUX1BSRUZJWH1iaW51dGlsczpkb19wb3B1
bGF0ZV9zeXNyb290IgojICAgb3ZlcnJpZGVbY2xhc3MtbmF0aXZlc2RrXTpzZXQgL21lZGlhL3Jl
YmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL3N0YWdpbmcuYmJjbGFzczoxOTgKIyAgICAg
InZpcnR1YWwvJHtUQVJHRVRfUFJFRklYfWJpbnV0aWxzLWNyb3Nzc2RrOmRvX3BvcHVsYXRlX3N5
c3Jvb3QiCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICJ2aXJ0dWFsLyR7TUxQUkVGSVh9JHtU
QVJHRVRfUFJFRklYfWJpbnV0aWxzOmRvX3BvcHVsYXRlX3N5c3Jvb3QiClBPUFVMQVRFU1lTUk9P
VERFUFM9InZpcnR1YWwvaTU4Ni1wb2t5LWxpbnV4LWJpbnV0aWxzOmRvX3BvcHVsYXRlX3N5c3Jv
b3QiCiMKIyAkUE9QVUxBVEVTWVNST09UREVQU19jbGFzcy1uYXRpdmVzZGsKIyAgIHNldCAvbWVk
aWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NsYXNzZXMvc3RhZ2luZy5iYmNsYXNzOjE5OAoj
ICAgICAidmlydHVhbC8ke1RBUkdFVF9QUkVGSVh9YmludXRpbHMtY3Jvc3NzZGs6ZG9fcG9wdWxh
dGVfc3lzcm9vdCIKUE9QVUxBVEVTWVNST09UREVQU19jbGFzcy1uYXRpdmVzZGs9InZpcnR1YWwv
aTU4Ni1wb2t5LWxpbnV4LWJpbnV0aWxzLWNyb3Nzc2RrOmRvX3BvcHVsYXRlX3N5c3Jvb3QiCiMK
IyAkUE9QVUxBVEVTWVNST09UREVQU19jbGFzcy10YXJnZXQKIyAgIHNldCAvbWVkaWEvcmViZWNj
YXMveW9jdG8vcG9reS9tZXRhL2NsYXNzZXMvc3RhZ2luZy5iYmNsYXNzOjE5NwojICAgICAidmly
dHVhbC8ke01MUFJFRklYfSR7VEFSR0VUX1BSRUZJWH1iaW51dGlsczpkb19wb3B1bGF0ZV9zeXNy
b290IgpQT1BVTEFURVNZU1JPT1RERVBTX2NsYXNzLXRhcmdldD0idmlydHVhbC9pNTg2LXBva3kt
bGludXgtYmludXRpbHM6ZG9fcG9wdWxhdGVfc3lzcm9vdCIKIwojICRQUiBbMiBvcGVyYXRpb25z
XQojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNv
bmY6MTk2CiMgICAgICIke0BiYi5wYXJzZS5CQkhhbmRsZXIudmFyc19mcm9tX2ZpbGUoZC5nZXRW
YXIoJ0ZJTEUnLCBGYWxzZSksZClbMl0gb3IgJ3IwJ30iCiMgICBzZXQgL21lZGlhL3JlYmVjY2Fz
L3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjozMzMKIyAgICAgW2RvY10g
IlRoZSByZXZpc2lvbiBvZiB0aGUgcmVjaXBlLiBUaGUgZGVmYXVsdCB2YWx1ZSBmb3IgdGhpcyB2
YXJpYWJsZSBpcyAncjAnLiIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIiR7QGJiLnBhcnNl
LkJCSGFuZGxlci52YXJzX2Zyb21fZmlsZShkLmdldFZhcignRklMRScsIEZhbHNlKSxkKVsyXSBv
ciAncjAnfSIKUFI9InIwIgojCiMgJFBSQVVUTwojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0
by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6MjAyCiMgICAgICIiClBSQVVUTz0iIgojCiMg
JFBSQVVUT0lOWAojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9i
aXRiYWtlLmNvbmY6MjA0CiMgICAgICIke1BGfSIKUFJBVVRPSU5YPSJsdHRuZy1tb2R1bGVzLTIu
OS4xLXIwIgojCiMgJFBSRUZFUlJFRF9QUk9WSURFUiBbNzEgb3BlcmF0aW9uc10KIyAgIHNldCAv
bWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjMz
NAojICAgICBbZG9jXSAiSWYgbXVsdGlwbGUgcmVjaXBlcyBwcm92aWRlIGFuIGl0ZW0sIHRoaXMg
dmFyaWFibGUgZGV0ZXJtaW5lcyB3aGljaCByZWNpcGUgc2hvdWxkIGJlIGdpdmVuIHByZWZlcmVu
Y2UuIgojICAgb3ZlcnJpZGVbdmlydHVhbC9mYWtlcm9vdC1uYXRpdmVdOnNldD8gL21lZGlhL3Jl
YmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo2NzIKIyAgICAgInBzZXVk
by1uYXRpdmUiCiMgICBvdmVycmlkZVt2aXJ0dWFsL2tlcm5lbF06c2V0PyAvbWVkaWEvcmViZWNj
YXMveW9jdG8vbHR0bmcvY29uZi9sb2NhbC5jb25mOjIzOQojICAgICAibGludXgtaW50ZWwiCiMg
ICBvdmVycmlkZVt2aXJ0dWFsL2tlcm5lbF06c2V0PyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9r
eS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3FlbXUuaW5jOjIyCiMgICAgICJsaW51eC15b2N0
byIKIyAgIG92ZXJyaWRlW3ZpcnR1YWwveHNlcnZlcl06c2V0PyAvbWVkaWEvcmViZWNjYXMveW9j
dG8vcG9reS9tZXRhL2NvbmYvbWFjaGluZS9xZW11eDg2LmNvbmY6NQojICAgICAieHNlcnZlci14
b3JnIgojICAgb3ZlcnJpZGVbdmlydHVhbC94c2VydmVyXTpzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95
b2N0by9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvcWVtdS5pbmM6MQojICAgICAieHNl
cnZlci14b3JnIgojICAgb3ZlcnJpZGVbdmlydHVhbC94c2VydmVyXTpzZXQ/IC9tZWRpYS9yZWJl
Y2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9kZWZhdWx0LXByb3ZpZGVy
cy5pbmM6NgojICAgICAieHNlcnZlci14b3JnIgojICAgb3ZlcnJpZGVbdmlydHVhbC9saWJnbF06
c2V0PyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvbWFjaGluZS9xZW11eDg2
LmNvbmY6NgojICAgICAibWVzYSIKIyAgIG92ZXJyaWRlW3ZpcnR1YWwvbGliZ2xdOnNldD8gL21l
ZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS9xZW11Lmlu
YzozCiMgICAgICJtZXNhIgojICAgb3ZlcnJpZGVbdmlydHVhbC9saWJnbF06c2V0PyAvbWVkaWEv
cmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvZGVmYXVsdC1wcm92
aWRlcnMuaW5jOjkKIyAgICAgIm1lc2EiCiMgICBvdmVycmlkZVt2aXJ0dWFsL2xpYmdsZXMxXTpz
ZXQ/IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9tYWNoaW5lL3FlbXV4ODYu
Y29uZjo3CiMgICAgICJtZXNhIgojICAgb3ZlcnJpZGVbdmlydHVhbC9saWJnbGVzMV06c2V0PyAv
bWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3FlbXUu
aW5jOjQKIyAgICAgIm1lc2EiCiMgICBvdmVycmlkZVt2aXJ0dWFsL2xpYmdsZXMxXTpzZXQ/IC9t
ZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9kZWZhdWx0
LXByb3ZpZGVycy5pbmM6MTAKIyAgICAgIm1lc2EiCiMgICBvdmVycmlkZVt2aXJ0dWFsL2xpYmds
ZXMyXTpzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9tYWNoaW5lL3Fl
bXV4ODYuY29uZjo4CiMgICAgICJtZXNhIgojICAgb3ZlcnJpZGVbdmlydHVhbC9saWJnbGVzMl06
c2V0PyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRl
L3FlbXUuaW5jOjUKIyAgICAgIm1lc2EiCiMgICBvdmVycmlkZVt2aXJ0dWFsL2xpYmdsZXMyXTpz
ZXQ/IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9k
ZWZhdWx0LXByb3ZpZGVycy5pbmM6MTEKIyAgICAgIm1lc2EiCiMgICBvdmVycmlkZVt2aXJ0dWFs
L2VnbF06c2V0PyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvbWFjaGluZS9p
bmNsdWRlL3FlbXUuaW5jOjIKIyAgICAgIm1lc2EiCiMgICBvdmVycmlkZVt2aXJ0dWFsL2VnbF06
c2V0PyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUv
ZGVmYXVsdC1wcm92aWRlcnMuaW5jOjgKIyAgICAgIm1lc2EiCiMgICBvdmVycmlkZVt2aXJ0dWFs
L2RiXTpzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5j
bHVkZS9kZWZhdWx0LXByb3ZpZGVycy5pbmM6NAojICAgICAiZGIiCiMgICBvdmVycmlkZVt2aXJ0
dWFsL2RiLW5hdGl2ZV06c2V0PyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYv
ZGlzdHJvL2luY2x1ZGUvZGVmYXVsdC1wcm92aWRlcnMuaW5jOjUKIyAgICAgImRiLW5hdGl2ZSIK
IyAgIG92ZXJyaWRlW3ZpcnR1YWwveHNlcnZlci14Zjg2XTpzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95
b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9kZWZhdWx0LXByb3ZpZGVycy5pbmM6
NwojICAgICAieHNlcnZlci14b3JnIgojICAgb3ZlcnJpZGVbdmlydHVhbC9tZXNhXTpzZXQ/IC9t
ZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9kZWZhdWx0
LXByb3ZpZGVycy5pbmM6MTIKIyAgICAgIm1lc2EiCiMgICBvdmVycmlkZVt2aXJ0dWFsL3VwZGF0
ZS1hbHRlcm5hdGl2ZXNdOnNldD8gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25m
L2Rpc3Ryby9pbmNsdWRlL2RlZmF1bHQtcHJvdmlkZXJzLmluYzoxMwojICAgICAib3BrZy11dGls
cyIKIyAgIG92ZXJyaWRlW3ZpcnR1YWwvdXBkYXRlLWFsdGVybmF0aXZlcy1uYXRpdmVdOnNldD8g
L21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL2RlZmF1
bHQtcHJvdmlkZXJzLmluYzoxNAojICAgICAib3BrZy11dGlscy1uYXRpdmUiCiMgICBvdmVycmlk
ZVt2aXJ0dWFsL2xpYngxMV06c2V0PyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2Nv
bmYvZGlzdHJvL2luY2x1ZGUvZGVmYXVsdC1wcm92aWRlcnMuaW5jOjE1CiMgICAgICJsaWJ4MTEi
CiMgICBvdmVycmlkZVt2aXJ0dWFsL2Jhc2UtdXRpbHNdOnNldD8gL21lZGlhL3JlYmVjY2FzL3lv
Y3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL2RlZmF1bHQtcHJvdmlkZXJzLmluYzox
NgojICAgICAiYnVzeWJveCIKIyAgIG92ZXJyaWRlW3hmODYtdmlkZW8taW50ZWxdOnNldD8gL21l
ZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL2RlZmF1bHQt
cHJvdmlkZXJzLmluYzoxNwojICAgICAieGY4Ni12aWRlby1pbnRlbCIKIyAgIG92ZXJyaWRlW3Zp
cnR1YWwvbWFrZV06c2V0PyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlz
dHJvL2luY2x1ZGUvZGVmYXVsdC1wcm92aWRlcnMuaW5jOjE4CiMgICAgICJtYWtlIgojICAgb3Zl
cnJpZGVbdmlydHVhbC9tYWtlLW5hdGl2ZV06c2V0PyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9r
eS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvZGVmYXVsdC1wcm92aWRlcnMuaW5jOjE5CiMgICAg
ICJtYWtlLW5hdGl2ZSIKIyAgIG92ZXJyaWRlW2RidXMtZ2xpYl06c2V0PyAvbWVkaWEvcmViZWNj
YXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvZGVmYXVsdC1wcm92aWRlcnMu
aW5jOjM1CiMgICAgICJkYnVzLWdsaWIiCiMgICBvdmVycmlkZVtkYnVzLWdsaWItbmF0aXZlXTpz
ZXQ/IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9k
ZWZhdWx0LXByb3ZpZGVycy5pbmM6MzYKIyAgICAgImRidXMtZ2xpYi1uYXRpdmUiCiMgICBvdmVy
cmlkZVtnZGstcGl4YnVmXTpzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29u
Zi9kaXN0cm8vaW5jbHVkZS9kZWZhdWx0LXByb3ZpZGVycy5pbmM6MzcKIyAgICAgImdkay1waXhi
dWYiCiMgICBvdmVycmlkZVtsaWJnY2NdOnNldD8gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kv
bWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL2RlZmF1bHQtcHJvdmlkZXJzLmluYzozOAojICAgICAi
bGliZ2NjIgojICAgb3ZlcnJpZGVbbmF0aXZlc2RrLWxpYmdjY106c2V0PyAvbWVkaWEvcmViZWNj
YXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvZGVmYXVsdC1wcm92aWRlcnMu
aW5jOjM5CiMgICAgICJuYXRpdmVzZGstbGliZ2NjIgojICAgb3ZlcnJpZGVbbGludXgtbGliYy1o
ZWFkZXJzXTpzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8v
aW5jbHVkZS9kZWZhdWx0LXByb3ZpZGVycy5pbmM6NDAKIyAgICAgImxpbnV4LWxpYmMtaGVhZGVy
cyIKIyAgIG92ZXJyaWRlW25hdGl2ZXNkay1saW51eC1saWJjLWhlYWRlcnNdOnNldD8gL21lZGlh
L3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL2RlZmF1bHQtcHJv
dmlkZXJzLmluYzo0MQojICAgICAibmF0aXZlc2RrLWxpbnV4LWxpYmMtaGVhZGVycyIKIyAgIG92
ZXJyaWRlW21hdGNoYm94LXBhbmVsXTpzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21l
dGEvY29uZi9kaXN0cm8vaW5jbHVkZS9kZWZhdWx0LXByb3ZpZGVycy5pbmM6NDIKIyAgICAgIm1h
dGNoYm94LXBhbmVsLTIiCiMgICBvdmVycmlkZVtvcGtnXTpzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95
b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9kZWZhdWx0LXByb3ZpZGVycy5pbmM6
NDMKIyAgICAgIm9wa2ciCiMgICBvdmVycmlkZVtvcGtnLW5hdGl2ZV06c2V0PyAvbWVkaWEvcmVi
ZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvZGVmYXVsdC1wcm92aWRl
cnMuaW5jOjQ0CiMgICAgICJvcGtnLW5hdGl2ZSIKIyAgIG92ZXJyaWRlW25hdGl2ZXNkay1vcGtn
XTpzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVk
ZS9kZWZhdWx0LXByb3ZpZGVycy5pbmM6NDUKIyAgICAgIm5hdGl2ZXNkay1vcGtnIgojICAgb3Zl
cnJpZGVbY29uc29sZS10b29sc106c2V0PyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRh
L2NvbmYvZGlzdHJvL2luY2x1ZGUvZGVmYXVsdC1wcm92aWRlcnMuaW5jOjQ2CiMgICAgICJrYmQi
CiMgICBvdmVycmlkZVtnemlwLW5hdGl2ZV06c2V0PyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9r
eS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvZGVmYXVsdC1wcm92aWRlcnMuaW5jOjQ3CiMgICAg
ICJwaWd6LW5hdGl2ZSIKIyAgIG92ZXJyaWRlW3VkZXZdOnNldD8gL21lZGlhL3JlYmVjY2FzL3lv
Y3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL2RlZmF1bHQtcHJvdmlkZXJzLmluYzo0
OAojICAgICAiJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsJ3N5c3RlbWQn
LCdzeXN0ZW1kJywnZXVkZXYnLGQpfSIKIyAgIG92ZXJyaWRlW2x0cF06c2V0PyAvbWVkaWEvcmVi
ZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvZGVmYXVsdC1wcm92aWRl
cnMuaW5jOjUyCiMgICAgICJsdHAiCiMgICBvdmVycmlkZVtnZXRvcHRdOnNldD8gL21lZGlhL3Jl
YmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL2RlZmF1bHQtcHJvdmlk
ZXJzLmluYzo1MwojICAgICAidXRpbC1saW51eC1nZXRvcHQiCiMgICBvdmVycmlkZVtvcGVuc3Ns
XTpzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVk
ZS9kZWZhdWx0LXByb3ZpZGVycy5pbmM6NTQKIyAgICAgIm9wZW5zc2wiCiMgICBvdmVycmlkZVtv
cGVuc3NsLW5hdGl2ZV06c2V0PyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYv
ZGlzdHJvL2luY2x1ZGUvZGVmYXVsdC1wcm92aWRlcnMuaW5jOjU1CiMgICAgICJvcGVuc3NsLW5h
dGl2ZSIKIyAgIG92ZXJyaWRlW25hdGl2ZXNkay1vcGVuc3NsXTpzZXQ/IC9tZWRpYS9yZWJlY2Nh
cy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9kZWZhdWx0LXByb3ZpZGVycy5p
bmM6NTYKIyAgICAgIm5hdGl2ZXNkay1vcGVuc3NsIgojICAgb3ZlcnJpZGVbZ2RiXTpzZXQgL21l
ZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL3RjbW9kZS1k
ZWZhdWx0LmluYzoxMAojICAgICAiZ2RiIgojICAgb3ZlcnJpZGVbdmlydHVhbC9nZXR0ZXh0XTpz
ZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL3Rj
bW9kZS1kZWZhdWx0LmluYzoyMwojICAgICBbX2RlZmF1bHR2YWxdICJnZXR0ZXh0IgojICAgb3Zl
cnJpZGVbdmlydHVhbC9saWJpY29udl06c2V0PyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9t
ZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvdGNsaWJjLWdsaWJjLmluYzoxMQojICAgICAiZ2xpYmMi
CiMgICBvdmVycmlkZVt2aXJ0dWFsL25hdGl2ZXNkay1saWJpY29udl06c2V0PyAvbWVkaWEvcmVi
ZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvdGNsaWJjLWdsaWJjLmlu
YzoxMgojICAgICAibmF0aXZlc2RrLWdsaWJjIgojICAgb3ZlcnJpZGVbdmlydHVhbC9uYXRpdmVz
ZGstbGliaW50bF06c2V0PyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlz
dHJvL2luY2x1ZGUvdGNsaWJjLWdsaWJjLmluYzoxMwojICAgICAibmF0aXZlc2RrLWdsaWJjIgoj
ICAgb3ZlcnJpZGVbdmlydHVhbC9saWJpbnRsXTpzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9w
b2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS90Y2xpYmMtZ2xpYmMuaW5jOjE0CiMgICAgICJn
bGliYyIKIyAgIG92ZXJyaWRlW3ZpcnR1YWwvbGliY106c2V0PyAvbWVkaWEvcmViZWNjYXMveW9j
dG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvdGNsaWJjLWdsaWJjLmluYzoxNQojICAg
ICAiZ2xpYmMiCiMgICBvdmVycmlkZVt2aXJ0dWFsL25hdGl2ZXNkay1saWJjXTpzZXQ/IC9tZWRp
YS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS90Y2xpYmMtZ2xp
YmMuaW5jOjE2CiMgICAgICJuYXRpdmVzZGstZ2xpYmMiCiMgICBvdmVycmlkZVt2aXJ0dWFsL2xp
YmMtbG9jYWxlXTpzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0
cm8vaW5jbHVkZS90Y2xpYmMtZ2xpYmMuaW5jOjE3CiMgICAgICJnbGliYy1sb2NhbGUiCiMgICBv
dmVycmlkZVt2aXJ0dWFsL3g4Nl82NC1wb2t5c2RrLWxpbnV4LWJpbnV0aWxzLWNyb3Nzc2RrXTpy
ZW5hbWUgZnJvbSBQUkVGRVJSRURfUFJPVklERVJfdmlydHVhbC8ke1NES19QUkVGSVh9YmludXRp
bHMtY3Jvc3NzZGsgZGF0YS5weToxMTYgW2V4cGFuZEtleXNdCiMgICAgICJiaW51dGlscy1jcm9z
c3Nkay0ke1NES19TWVN9IgojICAgb3ZlcnJpZGVbdmlydHVhbC94ODZfNjQtcG9reXNkay1saW51
eC1jb21waWxlcmxpYnNdOnJlbmFtZSBmcm9tIFBSRUZFUlJFRF9QUk9WSURFUl92aXJ0dWFsLyR7
U0RLX1BSRUZJWH1jb21waWxlcmxpYnMgZGF0YS5weToxMTYgW2V4cGFuZEtleXNdCiMgICAgICJu
YXRpdmVzZGstZ2NjLXJ1bnRpbWUiCiMgICBvdmVycmlkZVt2aXJ0dWFsL3g4Nl82NC1wb2t5c2Rr
LWxpbnV4LWcrK106cmVuYW1lIGZyb20gUFJFRkVSUkVEX1BST1ZJREVSX3ZpcnR1YWwvJHtTREtf
UFJFRklYfWcrKyBkYXRhLnB5OjExNiBbZXhwYW5kS2V5c10KIyAgICAgImdjYy1jcm9zc3Nkay0k
e1NES19TWVN9IgojICAgb3ZlcnJpZGVbdmlydHVhbC94ODZfNjQtcG9reXNkay1saW51eC1nY2Nd
OnJlbmFtZSBmcm9tIFBSRUZFUlJFRF9QUk9WSURFUl92aXJ0dWFsLyR7U0RLX1BSRUZJWH1nY2Mg
ZGF0YS5weToxMTYgW2V4cGFuZEtleXNdCiMgICAgICJnY2MtY3Jvc3NzZGstJHtTREtfU1lTfSIK
IyAgIG92ZXJyaWRlW3ZpcnR1YWwveDg2XzY0LXBva3lzZGstbGludXgtZ2NjLWluaXRpYWxdOnJl
bmFtZSBmcm9tIFBSRUZFUlJFRF9QUk9WSURFUl92aXJ0dWFsLyR7U0RLX1BSRUZJWH1nY2MtaW5p
dGlhbCBkYXRhLnB5OjExNiBbZXhwYW5kS2V5c10KIyAgICAgImdjYy1jcm9zc3Nkay1pbml0aWFs
LSR7U0RLX1NZU30iCiMgICBvdmVycmlkZVt2aXJ0dWFsL2k1ODYtcG9reS1saW51eC1iaW51dGls
c106cmVuYW1lIGZyb20gUFJFRkVSUkVEX1BST1ZJREVSX3ZpcnR1YWwvJHtUQVJHRVRfUFJFRklY
fWJpbnV0aWxzIGRhdGEucHk6MTE2IFtleHBhbmRLZXlzXQojICAgICAiYmludXRpbHMtY3Jvc3Mt
JHtUQVJHRVRfQVJDSH0iCiMgICBvdmVycmlkZVt2aXJ0dWFsL2k1ODYtcG9reS1saW51eC1jb21w
aWxlcmxpYnNdOnJlbmFtZSBmcm9tIFBSRUZFUlJFRF9QUk9WSURFUl92aXJ0dWFsLyR7VEFSR0VU
X1BSRUZJWH1jb21waWxlcmxpYnMgZGF0YS5weToxMTYgW2V4cGFuZEtleXNdCiMgICAgICJnY2Mt
cnVudGltZSIKIyAgIG92ZXJyaWRlW3ZpcnR1YWwvaTU4Ni1wb2t5LWxpbnV4LWcrK106cmVuYW1l
IGZyb20gUFJFRkVSUkVEX1BST1ZJREVSX3ZpcnR1YWwvJHtUQVJHRVRfUFJFRklYfWcrKyBkYXRh
LnB5OjExNiBbZXhwYW5kS2V5c10KIyAgICAgImdjYy1jcm9zcy0ke1RBUkdFVF9BUkNIfSIKIyAg
IG92ZXJyaWRlW3ZpcnR1YWwvaTU4Ni1wb2t5LWxpbnV4LWdjY106cmVuYW1lIGZyb20gUFJFRkVS
UkVEX1BST1ZJREVSX3ZpcnR1YWwvJHtUQVJHRVRfUFJFRklYfWdjYyBkYXRhLnB5OjExNiBbZXhw
YW5kS2V5c10KIyAgICAgImdjYy1jcm9zcy0ke1RBUkdFVF9BUkNIfSIKIyAgIG92ZXJyaWRlW3Zp
cnR1YWwvaTU4Ni1wb2t5LWxpbnV4LWdjYy1pbml0aWFsXTpyZW5hbWUgZnJvbSBQUkVGRVJSRURf
UFJPVklERVJfdmlydHVhbC8ke1RBUkdFVF9QUkVGSVh9Z2NjLWluaXRpYWwgZGF0YS5weToxMTYg
W2V4cGFuZEtleXNdCiMgICAgICJnY2MtY3Jvc3MtaW5pdGlhbC0ke1RBUkdFVF9BUkNIfSIKIyAg
IG92ZXJyaWRlW3ZpcnR1YWwvaTU4Ni1wb2t5LWxpbnV4LWxpYmMtZm9yLWdjY106cmVuYW1lIGZy
b20gUFJFRkVSUkVEX1BST1ZJREVSX3ZpcnR1YWwvJHtUQVJHRVRfUFJFRklYfWxpYmMtZm9yLWdj
YyBkYXRhLnB5OjExNiBbZXhwYW5kS2V5c10KIyAgICAgIiR7VENMSUJDfSIKIyAgIG92ZXJyaWRl
W3ZpcnR1YWwvaTU4Ni1wb2t5LWxpbnV4LWxpYmMtaW5pdGlhbF06cmVuYW1lIGZyb20gUFJFRkVS
UkVEX1BST1ZJREVSX3ZpcnR1YWwvJHtUQVJHRVRfUFJFRklYfWxpYmMtaW5pdGlhbCBkYXRhLnB5
OjExNiBbZXhwYW5kS2V5c10KIyAgICAgIiR7VENMSUJDfS1pbml0aWFsIgojICAgb3ZlcnJpZGVb
dmlydHVhbC9uYXRpdmVzZGsteDg2XzY0LXBva3lzZGstbGludXgtbGliYy1mb3ItZ2NjXTpyZW5h
bWUgZnJvbSBQUkVGRVJSRURfUFJPVklERVJfdmlydHVhbC9uYXRpdmVzZGstJHtTREtfUFJFRklY
fWxpYmMtZm9yLWdjYyBkYXRhLnB5OjExNiBbZXhwYW5kS2V5c10KIyAgICAgIm5hdGl2ZXNkay1n
bGliYyIKIyAgIG92ZXJyaWRlW3ZpcnR1YWwvbmF0aXZlc2RrLXg4Nl82NC1wb2t5c2RrLWxpbnV4
LWxpYmMtaW5pdGlhbF06cmVuYW1lIGZyb20gUFJFRkVSUkVEX1BST1ZJREVSX3ZpcnR1YWwvbmF0
aXZlc2RrLSR7U0RLX1BSRUZJWH1saWJjLWluaXRpYWwgZGF0YS5weToxMTYgW2V4cGFuZEtleXNd
CiMgICAgICJuYXRpdmVzZGstZ2xpYmMtaW5pdGlhbCIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgoj
ICAgIk5vbmUiCiMKIyAkUFJFRkVSUkVEX1BST1ZJREVSX2NvbnNvbGUtdG9vbHMKIyAgIHNldD8g
L21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL2RlZmF1
bHQtcHJvdmlkZXJzLmluYzo0NgojICAgICAia2JkIgpQUkVGRVJSRURfUFJPVklERVJfY29uc29s
ZS10b29scz0ia2JkIgojCiMgJFBSRUZFUlJFRF9QUk9WSURFUl9kYnVzLWdsaWIKIyAgIHNldD8g
L21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL2RlZmF1
bHQtcHJvdmlkZXJzLmluYzozNQojICAgICAiZGJ1cy1nbGliIgpQUkVGRVJSRURfUFJPVklERVJf
ZGJ1cy1nbGliPSJkYnVzLWdsaWIiCiMKIyAkUFJFRkVSUkVEX1BST1ZJREVSX2RidXMtZ2xpYi1u
YXRpdmUKIyAgIHNldD8gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ry
by9pbmNsdWRlL2RlZmF1bHQtcHJvdmlkZXJzLmluYzozNgojICAgICAiZGJ1cy1nbGliLW5hdGl2
ZSIKUFJFRkVSUkVEX1BST1ZJREVSX2RidXMtZ2xpYi1uYXRpdmU9ImRidXMtZ2xpYi1uYXRpdmUi
CiMKIyAkUFJFRkVSUkVEX1BST1ZJREVSX2dkYgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0
by9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS90Y21vZGUtZGVmYXVsdC5pbmM6MTAKIyAg
ICAgImdkYiIKUFJFRkVSUkVEX1BST1ZJREVSX2dkYj0iZ2RiIgojCiMgJFBSRUZFUlJFRF9QUk9W
SURFUl9nZGstcGl4YnVmCiMgICBzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEv
Y29uZi9kaXN0cm8vaW5jbHVkZS9kZWZhdWx0LXByb3ZpZGVycy5pbmM6MzcKIyAgICAgImdkay1w
aXhidWYiClBSRUZFUlJFRF9QUk9WSURFUl9nZGstcGl4YnVmPSJnZGstcGl4YnVmIgojCiMgJFBS
RUZFUlJFRF9QUk9WSURFUl9nZXRvcHQKIyAgIHNldD8gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bv
a3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL2RlZmF1bHQtcHJvdmlkZXJzLmluYzo1MwojICAg
ICAidXRpbC1saW51eC1nZXRvcHQiClBSRUZFUlJFRF9QUk9WSURFUl9nZXRvcHQ9InV0aWwtbGlu
dXgtZ2V0b3B0IgojCiMgJFBSRUZFUlJFRF9QUk9WSURFUl9nemlwLW5hdGl2ZQojICAgc2V0PyAv
bWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvZGVmYXVs
dC1wcm92aWRlcnMuaW5jOjQ3CiMgICAgICJwaWd6LW5hdGl2ZSIKUFJFRkVSUkVEX1BST1ZJREVS
X2d6aXAtbmF0aXZlPSJwaWd6LW5hdGl2ZSIKIwojICRQUkVGRVJSRURfUFJPVklERVJfbGliZ2Nj
CiMgICBzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5j
bHVkZS9kZWZhdWx0LXByb3ZpZGVycy5pbmM6MzgKIyAgICAgImxpYmdjYyIKUFJFRkVSUkVEX1BS
T1ZJREVSX2xpYmdjYz0ibGliZ2NjIgojCiMgJFBSRUZFUlJFRF9QUk9WSURFUl9saW51eC1saWJj
LWhlYWRlcnMKIyAgIHNldD8gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rp
c3Ryby9pbmNsdWRlL2RlZmF1bHQtcHJvdmlkZXJzLmluYzo0MAojICAgICAibGludXgtbGliYy1o
ZWFkZXJzIgpQUkVGRVJSRURfUFJPVklERVJfbGludXgtbGliYy1oZWFkZXJzPSJsaW51eC1saWJj
LWhlYWRlcnMiCiMKIyAkUFJFRkVSUkVEX1BST1ZJREVSX2x0cAojICAgc2V0PyAvbWVkaWEvcmVi
ZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvZGVmYXVsdC1wcm92aWRl
cnMuaW5jOjUyCiMgICAgICJsdHAiClBSRUZFUlJFRF9QUk9WSURFUl9sdHA9Imx0cCIKIwojICRQ
UkVGRVJSRURfUFJPVklERVJfbWF0Y2hib3gtcGFuZWwKIyAgIHNldD8gL21lZGlhL3JlYmVjY2Fz
L3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL2RlZmF1bHQtcHJvdmlkZXJzLmlu
Yzo0MgojICAgICAibWF0Y2hib3gtcGFuZWwtMiIKUFJFRkVSUkVEX1BST1ZJREVSX21hdGNoYm94
LXBhbmVsPSJtYXRjaGJveC1wYW5lbC0yIgojCiMgJFBSRUZFUlJFRF9QUk9WSURFUl9uYXRpdmVz
ZGstbGliZ2NjCiMgICBzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9k
aXN0cm8vaW5jbHVkZS9kZWZhdWx0LXByb3ZpZGVycy5pbmM6MzkKIyAgICAgIm5hdGl2ZXNkay1s
aWJnY2MiClBSRUZFUlJFRF9QUk9WSURFUl9uYXRpdmVzZGstbGliZ2NjPSJuYXRpdmVzZGstbGli
Z2NjIgojCiMgJFBSRUZFUlJFRF9QUk9WSURFUl9uYXRpdmVzZGstbGludXgtbGliYy1oZWFkZXJz
CiMgICBzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5j
bHVkZS9kZWZhdWx0LXByb3ZpZGVycy5pbmM6NDEKIyAgICAgIm5hdGl2ZXNkay1saW51eC1saWJj
LWhlYWRlcnMiClBSRUZFUlJFRF9QUk9WSURFUl9uYXRpdmVzZGstbGludXgtbGliYy1oZWFkZXJz
PSJuYXRpdmVzZGstbGludXgtbGliYy1oZWFkZXJzIgojCiMgJFBSRUZFUlJFRF9QUk9WSURFUl9u
YXRpdmVzZGstb3BlbnNzbAojICAgc2V0PyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRh
L2NvbmYvZGlzdHJvL2luY2x1ZGUvZGVmYXVsdC1wcm92aWRlcnMuaW5jOjU2CiMgICAgICJuYXRp
dmVzZGstb3BlbnNzbCIKUFJFRkVSUkVEX1BST1ZJREVSX25hdGl2ZXNkay1vcGVuc3NsPSJuYXRp
dmVzZGstb3BlbnNzbCIKIwojICRQUkVGRVJSRURfUFJPVklERVJfbmF0aXZlc2RrLW9wa2cKIyAg
IHNldD8gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRl
L2RlZmF1bHQtcHJvdmlkZXJzLmluYzo0NQojICAgICAibmF0aXZlc2RrLW9wa2ciClBSRUZFUlJF
RF9QUk9WSURFUl9uYXRpdmVzZGstb3BrZz0ibmF0aXZlc2RrLW9wa2ciCiMKIyAkUFJFRkVSUkVE
X1BST1ZJREVSX29wZW5zc2wKIyAgIHNldD8gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0
YS9jb25mL2Rpc3Ryby9pbmNsdWRlL2RlZmF1bHQtcHJvdmlkZXJzLmluYzo1NAojICAgICAib3Bl
bnNzbCIKUFJFRkVSUkVEX1BST1ZJREVSX29wZW5zc2w9Im9wZW5zc2wiCiMKIyAkUFJFRkVSUkVE
X1BST1ZJREVSX29wZW5zc2wtbmF0aXZlCiMgICBzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9w
b2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9kZWZhdWx0LXByb3ZpZGVycy5pbmM6NTUKIyAg
ICAgIm9wZW5zc2wtbmF0aXZlIgpQUkVGRVJSRURfUFJPVklERVJfb3BlbnNzbC1uYXRpdmU9Im9w
ZW5zc2wtbmF0aXZlIgojCiMgJFBSRUZFUlJFRF9QUk9WSURFUl9vcGtnCiMgICBzZXQ/IC9tZWRp
YS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9kZWZhdWx0LXBy
b3ZpZGVycy5pbmM6NDMKIyAgICAgIm9wa2ciClBSRUZFUlJFRF9QUk9WSURFUl9vcGtnPSJvcGtn
IgojCiMgJFBSRUZFUlJFRF9QUk9WSURFUl9vcGtnLW5hdGl2ZQojICAgc2V0PyAvbWVkaWEvcmVi
ZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvZGVmYXVsdC1wcm92aWRl
cnMuaW5jOjQ0CiMgICAgICJvcGtnLW5hdGl2ZSIKUFJFRkVSUkVEX1BST1ZJREVSX29wa2ctbmF0
aXZlPSJvcGtnLW5hdGl2ZSIKIwojICRQUkVGRVJSRURfUFJPVklERVJfdWRldgojICAgc2V0PyAv
bWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvZGVmYXVs
dC1wcm92aWRlcnMuaW5jOjQ4CiMgICAgICIke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZF
QVRVUkVTJywnc3lzdGVtZCcsJ3N5c3RlbWQnLCdldWRldicsZCl9IgpQUkVGRVJSRURfUFJPVklE
RVJfdWRldj0iZXVkZXYiCiMKIyAkUFJFRkVSUkVEX1BST1ZJREVSX3ZpcnR1YWwvYmFzZS11dGls
cwojICAgc2V0PyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2lu
Y2x1ZGUvZGVmYXVsdC1wcm92aWRlcnMuaW5jOjE2CiMgICAgICJidXN5Ym94IgpQUkVGRVJSRURf
UFJPVklERVJfdmlydHVhbC9iYXNlLXV0aWxzPSJidXN5Ym94IgojCiMgJFBSRUZFUlJFRF9QUk9W
SURFUl92aXJ0dWFsL2RiCiMgICBzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEv
Y29uZi9kaXN0cm8vaW5jbHVkZS9kZWZhdWx0LXByb3ZpZGVycy5pbmM6NAojICAgICAiZGIiClBS
RUZFUlJFRF9QUk9WSURFUl92aXJ0dWFsL2RiPSJkYiIKIwojICRQUkVGRVJSRURfUFJPVklERVJf
dmlydHVhbC9kYi1uYXRpdmUKIyAgIHNldD8gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0
YS9jb25mL2Rpc3Ryby9pbmNsdWRlL2RlZmF1bHQtcHJvdmlkZXJzLmluYzo1CiMgICAgICJkYi1u
YXRpdmUiClBSRUZFUlJFRF9QUk9WSURFUl92aXJ0dWFsL2RiLW5hdGl2ZT0iZGItbmF0aXZlIgoj
CiMgJFBSRUZFUlJFRF9QUk9WSURFUl92aXJ0dWFsL2VnbCBbMiBvcGVyYXRpb25zXQojICAgc2V0
PyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3Fl
bXUuaW5jOjIKIyAgICAgIm1lc2EiCiMgICBzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5
L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9kZWZhdWx0LXByb3ZpZGVycy5pbmM6OAojICAgICAi
bWVzYSIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIm1lc2EiClBSRUZFUlJFRF9QUk9WSURF
Ul92aXJ0dWFsL2VnbD0ibWVzYSIKIwojICRQUkVGRVJSRURfUFJPVklERVJfdmlydHVhbC9mYWtl
cm9vdC1uYXRpdmUKIyAgIHNldD8gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25m
L2JpdGJha2UuY29uZjo2NzIKIyAgICAgInBzZXVkby1uYXRpdmUiClBSRUZFUlJFRF9QUk9WSURF
Ul92aXJ0dWFsL2Zha2Vyb290LW5hdGl2ZT0icHNldWRvLW5hdGl2ZSIKIwojICRQUkVGRVJSRURf
UFJPVklERVJfdmlydHVhbC9nZXR0ZXh0CiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bv
a3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL3RjbW9kZS1kZWZhdWx0LmluYzoyMwojICAgICBb
X2RlZmF1bHR2YWxdICJnZXR0ZXh0IgpQUkVGRVJSRURfUFJPVklERVJfdmlydHVhbC9nZXR0ZXh0
PSJnZXR0ZXh0IgojCiMgJFBSRUZFUlJFRF9QUk9WSURFUl92aXJ0dWFsL2k1ODYtcG9reS1saW51
eC1iaW51dGlscwojICAgcmVuYW1lIGZyb20gUFJFRkVSUkVEX1BST1ZJREVSX3ZpcnR1YWwvJHtU
QVJHRVRfUFJFRklYfWJpbnV0aWxzIGRhdGEucHk6MTE2IFtleHBhbmRLZXlzXQojICAgICAiYmlu
dXRpbHMtY3Jvc3MtJHtUQVJHRVRfQVJDSH0iClBSRUZFUlJFRF9QUk9WSURFUl92aXJ0dWFsL2k1
ODYtcG9reS1saW51eC1iaW51dGlscz0iYmludXRpbHMtY3Jvc3MtaTU4NiIKIwojICRQUkVGRVJS
RURfUFJPVklERVJfdmlydHVhbC9pNTg2LXBva3ktbGludXgtY29tcGlsZXJsaWJzCiMgICByZW5h
bWUgZnJvbSBQUkVGRVJSRURfUFJPVklERVJfdmlydHVhbC8ke1RBUkdFVF9QUkVGSVh9Y29tcGls
ZXJsaWJzIGRhdGEucHk6MTE2IFtleHBhbmRLZXlzXQojICAgICAiZ2NjLXJ1bnRpbWUiClBSRUZF
UlJFRF9QUk9WSURFUl92aXJ0dWFsL2k1ODYtcG9reS1saW51eC1jb21waWxlcmxpYnM9ImdjYy1y
dW50aW1lIgojCiMgJFBSRUZFUlJFRF9QUk9WSURFUl92aXJ0dWFsL2k1ODYtcG9reS1saW51eC1n
KysKIyAgIHJlbmFtZSBmcm9tIFBSRUZFUlJFRF9QUk9WSURFUl92aXJ0dWFsLyR7VEFSR0VUX1BS
RUZJWH1nKysgZGF0YS5weToxMTYgW2V4cGFuZEtleXNdCiMgICAgICJnY2MtY3Jvc3MtJHtUQVJH
RVRfQVJDSH0iClBSRUZFUlJFRF9QUk9WSURFUl92aXJ0dWFsL2k1ODYtcG9reS1saW51eC1nKys9
ImdjYy1jcm9zcy1pNTg2IgojCiMgJFBSRUZFUlJFRF9QUk9WSURFUl92aXJ0dWFsL2k1ODYtcG9r
eS1saW51eC1nY2MKIyAgIHJlbmFtZSBmcm9tIFBSRUZFUlJFRF9QUk9WSURFUl92aXJ0dWFsLyR7
VEFSR0VUX1BSRUZJWH1nY2MgZGF0YS5weToxMTYgW2V4cGFuZEtleXNdCiMgICAgICJnY2MtY3Jv
c3MtJHtUQVJHRVRfQVJDSH0iClBSRUZFUlJFRF9QUk9WSURFUl92aXJ0dWFsL2k1ODYtcG9reS1s
aW51eC1nY2M9ImdjYy1jcm9zcy1pNTg2IgojCiMgJFBSRUZFUlJFRF9QUk9WSURFUl92aXJ0dWFs
L2k1ODYtcG9reS1saW51eC1nY2MtaW5pdGlhbAojICAgcmVuYW1lIGZyb20gUFJFRkVSUkVEX1BS
T1ZJREVSX3ZpcnR1YWwvJHtUQVJHRVRfUFJFRklYfWdjYy1pbml0aWFsIGRhdGEucHk6MTE2IFtl
eHBhbmRLZXlzXQojICAgICAiZ2NjLWNyb3NzLWluaXRpYWwtJHtUQVJHRVRfQVJDSH0iClBSRUZF
UlJFRF9QUk9WSURFUl92aXJ0dWFsL2k1ODYtcG9reS1saW51eC1nY2MtaW5pdGlhbD0iZ2NjLWNy
b3NzLWluaXRpYWwtaTU4NiIKIwojICRQUkVGRVJSRURfUFJPVklERVJfdmlydHVhbC9pNTg2LXBv
a3ktbGludXgtbGliYy1mb3ItZ2NjCiMgICByZW5hbWUgZnJvbSBQUkVGRVJSRURfUFJPVklERVJf
dmlydHVhbC8ke1RBUkdFVF9QUkVGSVh9bGliYy1mb3ItZ2NjIGRhdGEucHk6MTE2IFtleHBhbmRL
ZXlzXQojICAgICAiJHtUQ0xJQkN9IgpQUkVGRVJSRURfUFJPVklERVJfdmlydHVhbC9pNTg2LXBv
a3ktbGludXgtbGliYy1mb3ItZ2NjPSJnbGliYyIKIwojICRQUkVGRVJSRURfUFJPVklERVJfdmly
dHVhbC9pNTg2LXBva3ktbGludXgtbGliYy1pbml0aWFsCiMgICByZW5hbWUgZnJvbSBQUkVGRVJS
RURfUFJPVklERVJfdmlydHVhbC8ke1RBUkdFVF9QUkVGSVh9bGliYy1pbml0aWFsIGRhdGEucHk6
MTE2IFtleHBhbmRLZXlzXQojICAgICAiJHtUQ0xJQkN9LWluaXRpYWwiClBSRUZFUlJFRF9QUk9W
SURFUl92aXJ0dWFsL2k1ODYtcG9reS1saW51eC1saWJjLWluaXRpYWw9ImdsaWJjLWluaXRpYWwi
CiMKIyAkUFJFRkVSUkVEX1BST1ZJREVSX3ZpcnR1YWwva2VybmVsIFsyIG9wZXJhdGlvbnNdCiMg
ICBzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy9jb25mL2xvY2FsLmNvbmY6MjM5CiMg
ICAgICJsaW51eC1pbnRlbCIKIyAgIHNldD8gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0
YS9jb25mL21hY2hpbmUvaW5jbHVkZS9xZW11LmluYzoyMgojICAgICAibGludXgteW9jdG8iCiMg
cHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICJsaW51eC1pbnRlbCIKUFJFRkVSUkVEX1BST1ZJREVS
X3ZpcnR1YWwva2VybmVsPSJsaW51eC1pbnRlbCIKIwojICRQUkVGRVJSRURfUFJPVklERVJfdmly
dHVhbC9saWJjCiMgICBzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9k
aXN0cm8vaW5jbHVkZS90Y2xpYmMtZ2xpYmMuaW5jOjE1CiMgICAgICJnbGliYyIKUFJFRkVSUkVE
X1BST1ZJREVSX3ZpcnR1YWwvbGliYz0iZ2xpYmMiCiMKIyAkUFJFRkVSUkVEX1BST1ZJREVSX3Zp
cnR1YWwvbGliYy1sb2NhbGUKIyAgIHNldD8gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0
YS9jb25mL2Rpc3Ryby9pbmNsdWRlL3RjbGliYy1nbGliYy5pbmM6MTcKIyAgICAgImdsaWJjLWxv
Y2FsZSIKUFJFRkVSUkVEX1BST1ZJREVSX3ZpcnR1YWwvbGliYy1sb2NhbGU9ImdsaWJjLWxvY2Fs
ZSIKIwojICRQUkVGRVJSRURfUFJPVklERVJfdmlydHVhbC9saWJnbCBbMyBvcGVyYXRpb25zXQoj
ICAgc2V0PyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvbWFjaGluZS9xZW11
eDg2LmNvbmY6NgojICAgICAibWVzYSIKIyAgIHNldD8gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bv
a3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS9xZW11LmluYzozCiMgICAgICJtZXNhIgojICAg
c2V0PyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUv
ZGVmYXVsdC1wcm92aWRlcnMuaW5jOjkKIyAgICAgIm1lc2EiCiMgcHJlLWV4cGFuc2lvbiB2YWx1
ZToKIyAgICJtZXNhIgpQUkVGRVJSRURfUFJPVklERVJfdmlydHVhbC9saWJnbD0ibWVzYSIKIwoj
ICRQUkVGRVJSRURfUFJPVklERVJfdmlydHVhbC9saWJnbGVzMSBbMyBvcGVyYXRpb25zXQojICAg
c2V0PyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvbWFjaGluZS9xZW11eDg2
LmNvbmY6NwojICAgICAibWVzYSIKIyAgIHNldD8gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kv
bWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS9xZW11LmluYzo0CiMgICAgICJtZXNhIgojICAgc2V0
PyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvZGVm
YXVsdC1wcm92aWRlcnMuaW5jOjEwCiMgICAgICJtZXNhIgojIHByZS1leHBhbnNpb24gdmFsdWU6
CiMgICAibWVzYSIKUFJFRkVSUkVEX1BST1ZJREVSX3ZpcnR1YWwvbGliZ2xlczE9Im1lc2EiCiMK
IyAkUFJFRkVSUkVEX1BST1ZJREVSX3ZpcnR1YWwvbGliZ2xlczIgWzMgb3BlcmF0aW9uc10KIyAg
IHNldD8gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvcWVtdXg4
Ni5jb25mOjgKIyAgICAgIm1lc2EiCiMgICBzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5
L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvcWVtdS5pbmM6NQojICAgICAibWVzYSIKIyAgIHNl
dD8gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL2Rl
ZmF1bHQtcHJvdmlkZXJzLmluYzoxMQojICAgICAibWVzYSIKIyBwcmUtZXhwYW5zaW9uIHZhbHVl
OgojICAgIm1lc2EiClBSRUZFUlJFRF9QUk9WSURFUl92aXJ0dWFsL2xpYmdsZXMyPSJtZXNhIgoj
CiMgJFBSRUZFUlJFRF9QUk9WSURFUl92aXJ0dWFsL2xpYmljb252CiMgICBzZXQ/IC9tZWRpYS9y
ZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS90Y2xpYmMtZ2xpYmMu
aW5jOjExCiMgICAgICJnbGliYyIKUFJFRkVSUkVEX1BST1ZJREVSX3ZpcnR1YWwvbGliaWNvbnY9
ImdsaWJjIgojCiMgJFBSRUZFUlJFRF9QUk9WSURFUl92aXJ0dWFsL2xpYmludGwKIyAgIHNldD8g
L21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL3RjbGli
Yy1nbGliYy5pbmM6MTQKIyAgICAgImdsaWJjIgpQUkVGRVJSRURfUFJPVklERVJfdmlydHVhbC9s
aWJpbnRsPSJnbGliYyIKIwojICRQUkVGRVJSRURfUFJPVklERVJfdmlydHVhbC9saWJ4MTEKIyAg
IHNldD8gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRl
L2RlZmF1bHQtcHJvdmlkZXJzLmluYzoxNQojICAgICAibGlieDExIgpQUkVGRVJSRURfUFJPVklE
RVJfdmlydHVhbC9saWJ4MTE9ImxpYngxMSIKIwojICRQUkVGRVJSRURfUFJPVklERVJfdmlydHVh
bC9tYWtlCiMgICBzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0
cm8vaW5jbHVkZS9kZWZhdWx0LXByb3ZpZGVycy5pbmM6MTgKIyAgICAgIm1ha2UiClBSRUZFUlJF
RF9QUk9WSURFUl92aXJ0dWFsL21ha2U9Im1ha2UiCiMKIyAkUFJFRkVSUkVEX1BST1ZJREVSX3Zp
cnR1YWwvbWFrZS1uYXRpdmUKIyAgIHNldD8gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0
YS9jb25mL2Rpc3Ryby9pbmNsdWRlL2RlZmF1bHQtcHJvdmlkZXJzLmluYzoxOQojICAgICAibWFr
ZS1uYXRpdmUiClBSRUZFUlJFRF9QUk9WSURFUl92aXJ0dWFsL21ha2UtbmF0aXZlPSJtYWtlLW5h
dGl2ZSIKIwojICRQUkVGRVJSRURfUFJPVklERVJfdmlydHVhbC9tZXNhCiMgICBzZXQ/IC9tZWRp
YS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9kZWZhdWx0LXBy
b3ZpZGVycy5pbmM6MTIKIyAgICAgIm1lc2EiClBSRUZFUlJFRF9QUk9WSURFUl92aXJ0dWFsL21l
c2E9Im1lc2EiCiMKIyAkUFJFRkVSUkVEX1BST1ZJREVSX3ZpcnR1YWwvbmF0aXZlc2RrLWxpYmMK
IyAgIHNldD8gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNs
dWRlL3RjbGliYy1nbGliYy5pbmM6MTYKIyAgICAgIm5hdGl2ZXNkay1nbGliYyIKUFJFRkVSUkVE
X1BST1ZJREVSX3ZpcnR1YWwvbmF0aXZlc2RrLWxpYmM9Im5hdGl2ZXNkay1nbGliYyIKIwojICRQ
UkVGRVJSRURfUFJPVklERVJfdmlydHVhbC9uYXRpdmVzZGstbGliaWNvbnYKIyAgIHNldD8gL21l
ZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL3RjbGliYy1n
bGliYy5pbmM6MTIKIyAgICAgIm5hdGl2ZXNkay1nbGliYyIKUFJFRkVSUkVEX1BST1ZJREVSX3Zp
cnR1YWwvbmF0aXZlc2RrLWxpYmljb252PSJuYXRpdmVzZGstZ2xpYmMiCiMKIyAkUFJFRkVSUkVE
X1BST1ZJREVSX3ZpcnR1YWwvbmF0aXZlc2RrLWxpYmludGwKIyAgIHNldD8gL21lZGlhL3JlYmVj
Y2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL3RjbGliYy1nbGliYy5pbmM6
MTMKIyAgICAgIm5hdGl2ZXNkay1nbGliYyIKUFJFRkVSUkVEX1BST1ZJREVSX3ZpcnR1YWwvbmF0
aXZlc2RrLWxpYmludGw9Im5hdGl2ZXNkay1nbGliYyIKIwojICRQUkVGRVJSRURfUFJPVklERVJf
dmlydHVhbC9uYXRpdmVzZGsteDg2XzY0LXBva3lzZGstbGludXgtbGliYy1mb3ItZ2NjCiMgICBy
ZW5hbWUgZnJvbSBQUkVGRVJSRURfUFJPVklERVJfdmlydHVhbC9uYXRpdmVzZGstJHtTREtfUFJF
RklYfWxpYmMtZm9yLWdjYyBkYXRhLnB5OjExNiBbZXhwYW5kS2V5c10KIyAgICAgIm5hdGl2ZXNk
ay1nbGliYyIKUFJFRkVSUkVEX1BST1ZJREVSX3ZpcnR1YWwvbmF0aXZlc2RrLXg4Nl82NC1wb2t5
c2RrLWxpbnV4LWxpYmMtZm9yLWdjYz0ibmF0aXZlc2RrLWdsaWJjIgojCiMgJFBSRUZFUlJFRF9Q
Uk9WSURFUl92aXJ0dWFsL25hdGl2ZXNkay14ODZfNjQtcG9reXNkay1saW51eC1saWJjLWluaXRp
YWwKIyAgIHJlbmFtZSBmcm9tIFBSRUZFUlJFRF9QUk9WSURFUl92aXJ0dWFsL25hdGl2ZXNkay0k
e1NES19QUkVGSVh9bGliYy1pbml0aWFsIGRhdGEucHk6MTE2IFtleHBhbmRLZXlzXQojICAgICAi
bmF0aXZlc2RrLWdsaWJjLWluaXRpYWwiClBSRUZFUlJFRF9QUk9WSURFUl92aXJ0dWFsL25hdGl2
ZXNkay14ODZfNjQtcG9reXNkay1saW51eC1saWJjLWluaXRpYWw9Im5hdGl2ZXNkay1nbGliYy1p
bml0aWFsIgojCiMgJFBSRUZFUlJFRF9QUk9WSURFUl92aXJ0dWFsL3VwZGF0ZS1hbHRlcm5hdGl2
ZXMKIyAgIHNldD8gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9p
bmNsdWRlL2RlZmF1bHQtcHJvdmlkZXJzLmluYzoxMwojICAgICAib3BrZy11dGlscyIKUFJFRkVS
UkVEX1BST1ZJREVSX3ZpcnR1YWwvdXBkYXRlLWFsdGVybmF0aXZlcz0ib3BrZy11dGlscyIKIwoj
ICRQUkVGRVJSRURfUFJPVklERVJfdmlydHVhbC91cGRhdGUtYWx0ZXJuYXRpdmVzLW5hdGl2ZQoj
ICAgc2V0PyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1
ZGUvZGVmYXVsdC1wcm92aWRlcnMuaW5jOjE0CiMgICAgICJvcGtnLXV0aWxzLW5hdGl2ZSIKUFJF
RkVSUkVEX1BST1ZJREVSX3ZpcnR1YWwvdXBkYXRlLWFsdGVybmF0aXZlcy1uYXRpdmU9Im9wa2ct
dXRpbHMtbmF0aXZlIgojCiMgJFBSRUZFUlJFRF9QUk9WSURFUl92aXJ0dWFsL3g4Nl82NC1wb2t5
c2RrLWxpbnV4LWJpbnV0aWxzLWNyb3Nzc2RrCiMgICByZW5hbWUgZnJvbSBQUkVGRVJSRURfUFJP
VklERVJfdmlydHVhbC8ke1NES19QUkVGSVh9YmludXRpbHMtY3Jvc3NzZGsgZGF0YS5weToxMTYg
W2V4cGFuZEtleXNdCiMgICAgICJiaW51dGlscy1jcm9zc3Nkay0ke1NES19TWVN9IgpQUkVGRVJS
RURfUFJPVklERVJfdmlydHVhbC94ODZfNjQtcG9reXNkay1saW51eC1iaW51dGlscy1jcm9zc3Nk
az0iYmludXRpbHMtY3Jvc3NzZGsteDg2XzY0LXBva3lzZGstbGludXgiCiMKIyAkUFJFRkVSUkVE
X1BST1ZJREVSX3ZpcnR1YWwveDg2XzY0LXBva3lzZGstbGludXgtY29tcGlsZXJsaWJzCiMgICBy
ZW5hbWUgZnJvbSBQUkVGRVJSRURfUFJPVklERVJfdmlydHVhbC8ke1NES19QUkVGSVh9Y29tcGls
ZXJsaWJzIGRhdGEucHk6MTE2IFtleHBhbmRLZXlzXQojICAgICAibmF0aXZlc2RrLWdjYy1ydW50
aW1lIgpQUkVGRVJSRURfUFJPVklERVJfdmlydHVhbC94ODZfNjQtcG9reXNkay1saW51eC1jb21w
aWxlcmxpYnM9Im5hdGl2ZXNkay1nY2MtcnVudGltZSIKIwojICRQUkVGRVJSRURfUFJPVklERVJf
dmlydHVhbC94ODZfNjQtcG9reXNkay1saW51eC1nKysKIyAgIHJlbmFtZSBmcm9tIFBSRUZFUlJF
RF9QUk9WSURFUl92aXJ0dWFsLyR7U0RLX1BSRUZJWH1nKysgZGF0YS5weToxMTYgW2V4cGFuZEtl
eXNdCiMgICAgICJnY2MtY3Jvc3NzZGstJHtTREtfU1lTfSIKUFJFRkVSUkVEX1BST1ZJREVSX3Zp
cnR1YWwveDg2XzY0LXBva3lzZGstbGludXgtZysrPSJnY2MtY3Jvc3NzZGsteDg2XzY0LXBva3lz
ZGstbGludXgiCiMKIyAkUFJFRkVSUkVEX1BST1ZJREVSX3ZpcnR1YWwveDg2XzY0LXBva3lzZGst
bGludXgtZ2NjCiMgICByZW5hbWUgZnJvbSBQUkVGRVJSRURfUFJPVklERVJfdmlydHVhbC8ke1NE
S19QUkVGSVh9Z2NjIGRhdGEucHk6MTE2IFtleHBhbmRLZXlzXQojICAgICAiZ2NjLWNyb3Nzc2Rr
LSR7U0RLX1NZU30iClBSRUZFUlJFRF9QUk9WSURFUl92aXJ0dWFsL3g4Nl82NC1wb2t5c2RrLWxp
bnV4LWdjYz0iZ2NjLWNyb3Nzc2RrLXg4Nl82NC1wb2t5c2RrLWxpbnV4IgojCiMgJFBSRUZFUlJF
RF9QUk9WSURFUl92aXJ0dWFsL3g4Nl82NC1wb2t5c2RrLWxpbnV4LWdjYy1pbml0aWFsCiMgICBy
ZW5hbWUgZnJvbSBQUkVGRVJSRURfUFJPVklERVJfdmlydHVhbC8ke1NES19QUkVGSVh9Z2NjLWlu
aXRpYWwgZGF0YS5weToxMTYgW2V4cGFuZEtleXNdCiMgICAgICJnY2MtY3Jvc3NzZGstaW5pdGlh
bC0ke1NES19TWVN9IgpQUkVGRVJSRURfUFJPVklERVJfdmlydHVhbC94ODZfNjQtcG9reXNkay1s
aW51eC1nY2MtaW5pdGlhbD0iZ2NjLWNyb3Nzc2RrLWluaXRpYWwteDg2XzY0LXBva3lzZGstbGlu
dXgiCiMKIyAkUFJFRkVSUkVEX1BST1ZJREVSX3ZpcnR1YWwveHNlcnZlciBbMyBvcGVyYXRpb25z
XQojICAgc2V0PyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvbWFjaGluZS9x
ZW11eDg2LmNvbmY6NQojICAgICAieHNlcnZlci14b3JnIgojICAgc2V0PyAvbWVkaWEvcmViZWNj
YXMveW9jdG8vcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3FlbXUuaW5jOjEKIyAgICAg
InhzZXJ2ZXIteG9yZyIKIyAgIHNldD8gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9j
b25mL2Rpc3Ryby9pbmNsdWRlL2RlZmF1bHQtcHJvdmlkZXJzLmluYzo2CiMgICAgICJ4c2VydmVy
LXhvcmciCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICJ4c2VydmVyLXhvcmciClBSRUZFUlJF
RF9QUk9WSURFUl92aXJ0dWFsL3hzZXJ2ZXI9InhzZXJ2ZXIteG9yZyIKIwojICRQUkVGRVJSRURf
UFJPVklERVJfdmlydHVhbC94c2VydmVyLXhmODYKIyAgIHNldD8gL21lZGlhL3JlYmVjY2FzL3lv
Y3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL2RlZmF1bHQtcHJvdmlkZXJzLmluYzo3
CiMgICAgICJ4c2VydmVyLXhvcmciClBSRUZFUlJFRF9QUk9WSURFUl92aXJ0dWFsL3hzZXJ2ZXIt
eGY4Nj0ieHNlcnZlci14b3JnIgojCiMgJFBSRUZFUlJFRF9QUk9WSURFUl94Zjg2LXZpZGVvLWlu
dGVsCiMgICBzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8v
aW5jbHVkZS9kZWZhdWx0LXByb3ZpZGVycy5pbmM6MTcKIyAgICAgInhmODYtdmlkZW8taW50ZWwi
ClBSRUZFUlJFRF9QUk9WSURFUl94Zjg2LXZpZGVvLWludGVsPSJ4Zjg2LXZpZGVvLWludGVsIgoj
CiMgJFBSRUZFUlJFRF9SUFJPVklERVJfYmx1ZXotaGNpZHVtcAojICAgc2V0PyAvbWVkaWEvcmVi
ZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvZGVmYXVsdC1wcm92aWRl
cnMuaW5jOjUwCiMgICAgICIke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywn
Ymx1ZXRvb3RoIGJsdWV6NScsJ2JsdWV6NScsJ2JsdWV6LWhjaWR1bXAnLGQpfSIKUFJFRkVSUkVE
X1JQUk9WSURFUl9ibHVlei1oY2lkdW1wPSJibHVlejUiCiMKIyAkUFJFRkVSUkVEX1JQUk9WSURF
Ul9saWJhc291bmQtbW9kdWxlLWJsdWV6CiMgICBzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9w
b2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9kZWZhdWx0LXByb3ZpZGVycy5pbmM6NDkKIyAg
ICAgIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCdibHVldG9vdGggYmx1
ZXo1JywnYmx1ZXo1JywnYmx1ZXo0JyxkKX0iClBSRUZFUlJFRF9SUFJPVklERVJfbGliYXNvdW5k
LW1vZHVsZS1ibHVlej0iYmx1ZXo1IgojCiMgJFBSRUZFUlJFRF9WRVJTSU9OIFs0NCBvcGVyYXRp
b25zXQojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVu
dGF0aW9uLmNvbmY6MzM1CiMgICAgIFtkb2NdICJJZiB0aGVyZSBhcmUgbXVsdGlwbGUgdmVyc2lv
bnMgb2YgcmVjaXBlcyBhdmFpbGFibGUsIHRoaXMgdmFyaWFibGUgZGV0ZXJtaW5lcyB3aGljaCBy
ZWNpcGUgc2hvdWxkIGJlIGdpdmVuIHByZWZlcmVuY2UuIgojICAgb3ZlcnJpZGVbbGludXgteW9j
dG9dOnNldD8gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5L2NvbmYvZGlzdHJv
L3Bva3kuY29uZjoyNAojICAgICAiNC4xMCUiCiMgICBvdmVycmlkZVtsaW51eC15b2N0b19xZW11
eDg2XTpzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEtcG9reS9jb25mL2Rpc3Ry
by9wb2t5LmNvbmY6MjUKIyAgICAgIjQuMTAlIgojICAgb3ZlcnJpZGVbbGludXgteW9jdG9fcWVt
dXg4Ni02NF06c2V0PyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXBva3kvY29uZi9k
aXN0cm8vcG9reS5jb25mOjI2CiMgICAgICI0LjEwJSIKIyAgIG92ZXJyaWRlW2xpbnV4LXlvY3Rv
X3FlbXVhcm1dOnNldD8gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5L2NvbmYv
ZGlzdHJvL3Bva3kuY29uZjoyNwojICAgICAiNC4xMCUiCiMgICBvdmVycmlkZVtsaW51eC15b2N0
b19xZW11bWlwc106c2V0PyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXBva3kvY29u
Zi9kaXN0cm8vcG9reS5jb25mOjI4CiMgICAgICI0LjEwJSIKIyAgIG92ZXJyaWRlW2xpbnV4LXlv
Y3RvX3FlbXVtaXBzNjRdOnNldD8gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5
L2NvbmYvZGlzdHJvL3Bva3kuY29uZjoyOQojICAgICAiNC4xMCUiCiMgICBvdmVycmlkZVtsaW51
eC15b2N0b19xZW11cHBjXTpzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEtcG9r
eS9jb25mL2Rpc3Ryby9wb2t5LmNvbmY6MzAKIyAgICAgIjQuMTAlIgojICAgb3ZlcnJpZGVbbGli
ZXJhdGlvbi1mb250c106c2V0PyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYv
ZGlzdHJvL2luY2x1ZGUvZGVmYXVsdC12ZXJzaW9ucy5pbmM6NgojICAgICAiMS4wNCIKIyAgIG92
ZXJyaWRlW2djY106c2V0PyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlz
dHJvL2luY2x1ZGUvdGNtb2RlLWRlZmF1bHQuaW5jOjMzCiMgICAgICIke0dDQ1ZFUlNJT059Igoj
ICAgb3ZlcnJpZGVbZ2NjLXJ1bnRpbWVdOnNldD8gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kv
bWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL3RjbW9kZS1kZWZhdWx0LmluYzozOQojICAgICAiJHtH
Q0NWRVJTSU9OfSIKIyAgIG92ZXJyaWRlW2djYy1zYW5pdGl6ZXJzXTpzZXQ/IC9tZWRpYS9yZWJl
Y2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS90Y21vZGUtZGVmYXVsdC5p
bmM6NDAKIyAgICAgIiR7R0NDVkVSU0lPTn0iCiMgICBvdmVycmlkZVtuYXRpdmVzZGstZ2NjLXJ1
bnRpbWVdOnNldD8gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9p
bmNsdWRlL3RjbW9kZS1kZWZhdWx0LmluYzo0MQojICAgICAiJHtTREtHQ0NWRVJTSU9OfSIKIyAg
IG92ZXJyaWRlW25hdGl2ZXNkay1nY2Mtc2FuaXRpemVyc106c2V0PyAvbWVkaWEvcmViZWNjYXMv
eW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvdGNtb2RlLWRlZmF1bHQuaW5jOjQy
CiMgICAgICIke1NES0dDQ1ZFUlNJT059IgojICAgb3ZlcnJpZGVbbGliZ2NjXTpzZXQ/IC9tZWRp
YS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS90Y21vZGUtZGVm
YXVsdC5pbmM6NDMKIyAgICAgIiR7R0NDVkVSU0lPTn0iCiMgICBvdmVycmlkZVtsaWJnY2MtaW5p
dGlhbF06c2V0PyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2lu
Y2x1ZGUvdGNtb2RlLWRlZmF1bHQuaW5jOjQ0CiMgICAgICIke0dDQ1ZFUlNJT059IgojICAgb3Zl
cnJpZGVbbmF0aXZlc2RrLWdjY106c2V0PyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRh
L2NvbmYvZGlzdHJvL2luY2x1ZGUvdGNtb2RlLWRlZmF1bHQuaW5jOjQ1CiMgICAgICIke1NES0dD
Q1ZFUlNJT059IgojICAgb3ZlcnJpZGVbbmF0aXZlc2RrLWxpYmdjY106c2V0PyAvbWVkaWEvcmVi
ZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvdGNtb2RlLWRlZmF1bHQu
aW5jOjQ2CiMgICAgICIke1NES0dDQ1ZFUlNJT059IgojICAgb3ZlcnJpZGVbbmF0aXZlc2RrLWxp
YmdjYy1pbml0aWFsXTpzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9k
aXN0cm8vaW5jbHVkZS90Y21vZGUtZGVmYXVsdC5pbmM6NDcKIyAgICAgIiR7U0RLR0NDVkVSU0lP
Tn0iCiMgICBvdmVycmlkZVtiaW51dGlsc106c2V0PyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9r
eS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvdGNtb2RlLWRlZmF1bHQuaW5jOjQ4CiMgICAgICIk
e0JJTlVWRVJTSU9OfSIKIyAgIG92ZXJyaWRlW2JpbnV0aWxzLW5hdGl2ZV06c2V0PyAvbWVkaWEv
cmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvdGNtb2RlLWRlZmF1
bHQuaW5jOjQ5CiMgICAgICIke0JJTlVWRVJTSU9OfSIKIyAgIG92ZXJyaWRlW2dkYl06c2V0PyAv
bWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvdGNtb2Rl
LWRlZmF1bHQuaW5jOjUzCiMgICAgICIke0dEQlZFUlNJT059IgojICAgb3ZlcnJpZGVbbGludXgt
bGliYy1oZWFkZXJzXTpzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9k
aXN0cm8vaW5jbHVkZS90Y21vZGUtZGVmYXVsdC5pbmM6NTcKIyAgICAgIiR7TElOVVhMSUJDVkVS
U0lPTn0iCiMgICBvdmVycmlkZVtuYXRpdmVzZGstbGludXgtbGliYy1oZWFkZXJzXTpzZXQ/IC9t
ZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS90Y21vZGUt
ZGVmYXVsdC5pbmM6NTgKIyAgICAgIiR7TElOVVhMSUJDVkVSU0lPTn0iCiMgICBvdmVycmlkZVtn
bGliY106c2V0PyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2lu
Y2x1ZGUvdGNtb2RlLWRlZmF1bHQuaW5jOjU5CiMgICAgICIke0dMSUJDVkVSU0lPTn0iCiMgICBv
dmVycmlkZVtnbGliYy1sb2NhbGVdOnNldD8gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0
YS9jb25mL2Rpc3Ryby9pbmNsdWRlL3RjbW9kZS1kZWZhdWx0LmluYzo2MAojICAgICAiJHtHTElC
Q1ZFUlNJT059IgojICAgb3ZlcnJpZGVbZ2xpYmMtbXRyYWNlXTpzZXQ/IC9tZWRpYS9yZWJlY2Nh
cy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS90Y21vZGUtZGVmYXVsdC5pbmM6
NjEKIyAgICAgIiR7R0xJQkNWRVJTSU9OfSIKIyAgIG92ZXJyaWRlW2dsaWJjLXNjcmlwdHNdOnNl
dD8gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL3Rj
bW9kZS1kZWZhdWx0LmluYzo2MgojICAgICAiJHtHTElCQ1ZFUlNJT059IgojICAgb3ZlcnJpZGVb
bmF0aXZlc2RrLWdsaWJjXTpzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29u
Zi9kaXN0cm8vaW5jbHVkZS90Y21vZGUtZGVmYXVsdC5pbmM6NjMKIyAgICAgIiR7R0xJQkNWRVJT
SU9OfSIKIyAgIG92ZXJyaWRlW2dsaWJjLWluaXRpYWxdOnNldD8gL21lZGlhL3JlYmVjY2FzL3lv
Y3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL3RjbW9kZS1kZWZhdWx0LmluYzo2NAoj
ICAgICAiJHtHTElCQ1ZFUlNJT059IgojICAgb3ZlcnJpZGVbbmF0aXZlc2RrLWdsaWJjLWluaXRp
YWxdOnNldD8gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNs
dWRlL3RjbW9kZS1kZWZhdWx0LmluYzo2NQojICAgICAiJHtHTElCQ1ZFUlNJT059IgojICAgb3Zl
cnJpZGVbY3Jvc3MtbG9jYWxlZGVmLW5hdGl2ZV06c2V0PyAvbWVkaWEvcmViZWNjYXMveW9jdG8v
cG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvdGNtb2RlLWRlZmF1bHQuaW5jOjY2CiMgICAg
ICIke0dMSUJDVkVSU0lPTn0iCiMgICBvdmVycmlkZVt1Y2xpYmNdOnNldD8gL21lZGlhL3JlYmVj
Y2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL3RjbW9kZS1kZWZhdWx0Lmlu
Yzo2NwojICAgICAiJHtVQ0xJQkNWRVJTSU9OfSIKIyAgIG92ZXJyaWRlW3VjbGliYy1pbml0aWFs
XTpzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVk
ZS90Y21vZGUtZGVmYXVsdC5pbmM6NjgKIyAgICAgIiR7VUNMSUJDVkVSU0lPTn0iCiMgICBvdmVy
cmlkZVtnemlwLW5hdGl2ZV06c2V0PyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2Nv
bmYvZGlzdHJvL2luY2x1ZGUvdGNtb2RlLWRlZmF1bHQuaW5jOjcxCiMgICAgICIxLjgiCiMgICBv
dmVycmlkZVtiaW51dGlscy1jcm9zcy1pNTg2XTpyZW5hbWUgZnJvbSBQUkVGRVJSRURfVkVSU0lP
Tl9iaW51dGlscy1jcm9zcy0ke1RBUkdFVF9BUkNIfSBkYXRhLnB5OjExNiBbZXhwYW5kS2V5c10K
IyAgICAgIiR7QklOVVZFUlNJT059IgojICAgb3ZlcnJpZGVbYmludXRpbHMtY3Jvc3MtY2FuYWRp
YW4taTU4Nl06cmVuYW1lIGZyb20gUFJFRkVSUkVEX1ZFUlNJT05fYmludXRpbHMtY3Jvc3MtY2Fu
YWRpYW4tJHtUUkFOU0xBVEVEX1RBUkdFVF9BUkNIfSBkYXRhLnB5OjExNiBbZXhwYW5kS2V5c10K
IyAgICAgIiR7QklOVVZFUlNJT059IgojICAgb3ZlcnJpZGVbZ2NjLWNyb3NzLWk1ODZdOnJlbmFt
ZSBmcm9tIFBSRUZFUlJFRF9WRVJTSU9OX2djYy1jcm9zcy0ke1RBUkdFVF9BUkNIfSBkYXRhLnB5
OjExNiBbZXhwYW5kS2V5c10KIyAgICAgIiR7R0NDVkVSU0lPTn0iCiMgICBvdmVycmlkZVtnY2Mt
Y3Jvc3MtY2FuYWRpYW4taTU4Nl06cmVuYW1lIGZyb20gUFJFRkVSUkVEX1ZFUlNJT05fZ2NjLWNy
b3NzLWNhbmFkaWFuLSR7VFJBTlNMQVRFRF9UQVJHRVRfQVJDSH0gZGF0YS5weToxMTYgW2V4cGFu
ZEtleXNdCiMgICAgICIke0dDQ1ZFUlNJT059IgojICAgb3ZlcnJpZGVbZ2NjLWNyb3NzLWluaXRp
YWwtaTU4Nl06cmVuYW1lIGZyb20gUFJFRkVSUkVEX1ZFUlNJT05fZ2NjLWNyb3NzLWluaXRpYWwt
JHtUQVJHRVRfQVJDSH0gZGF0YS5weToxMTYgW2V4cGFuZEtleXNdCiMgICAgICIke0dDQ1ZFUlNJ
T059IgojICAgb3ZlcnJpZGVbZ2NjLWNyb3Nzc2RrLXg4Nl82NC1wb2t5c2RrLWxpbnV4XTpyZW5h
bWUgZnJvbSBQUkVGRVJSRURfVkVSU0lPTl9nY2MtY3Jvc3NzZGstJHtTREtfU1lTfSBkYXRhLnB5
OjExNiBbZXhwYW5kS2V5c10KIyAgICAgIiR7U0RLR0NDVkVSU0lPTn0iCiMgICBvdmVycmlkZVtn
Y2MtY3Jvc3NzZGstaW5pdGlhbC14ODZfNjQtcG9reXNkay1saW51eF06cmVuYW1lIGZyb20gUFJF
RkVSUkVEX1ZFUlNJT05fZ2NjLWNyb3Nzc2RrLWluaXRpYWwtJHtTREtfU1lTfSBkYXRhLnB5OjEx
NiBbZXhwYW5kS2V5c10KIyAgICAgIiR7U0RLR0NDVkVSU0lPTn0iCiMgICBvdmVycmlkZVtnZGIt
Y3Jvc3MtaTU4Nl06cmVuYW1lIGZyb20gUFJFRkVSUkVEX1ZFUlNJT05fZ2RiLWNyb3NzLSR7VEFS
R0VUX0FSQ0h9IGRhdGEucHk6MTE2IFtleHBhbmRLZXlzXQojICAgICAiJHtHREJWRVJTSU9OfSIK
IyAgIG92ZXJyaWRlW2dkYi1jcm9zcy1jYW5hZGlhbi1pNTg2XTpyZW5hbWUgZnJvbSBQUkVGRVJS
RURfVkVSU0lPTl9nZGItY3Jvc3MtY2FuYWRpYW4tJHtUUkFOU0xBVEVEX1RBUkdFVF9BUkNIfSBk
YXRhLnB5OjExNiBbZXhwYW5kS2V5c10KIyAgICAgIiR7R0RCVkVSU0lPTn0iCiMgcHJlLWV4cGFu
c2lvbiB2YWx1ZToKIyAgICJOb25lIgojCiMgJFBSRUZFUlJFRF9WRVJTSU9OX2JpbnV0aWxzCiMg
ICBzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVk
ZS90Y21vZGUtZGVmYXVsdC5pbmM6NDgKIyAgICAgIiR7QklOVVZFUlNJT059IgpQUkVGRVJSRURf
VkVSU0lPTl9iaW51dGlscz0iMi4yOCUiCiMKIyAkUFJFRkVSUkVEX1ZFUlNJT05fYmludXRpbHMt
Y3Jvc3MtY2FuYWRpYW4taTU4NgojICAgcmVuYW1lIGZyb20gUFJFRkVSUkVEX1ZFUlNJT05fYmlu
dXRpbHMtY3Jvc3MtY2FuYWRpYW4tJHtUUkFOU0xBVEVEX1RBUkdFVF9BUkNIfSBkYXRhLnB5OjEx
NiBbZXhwYW5kS2V5c10KIyAgICAgIiR7QklOVVZFUlNJT059IgpQUkVGRVJSRURfVkVSU0lPTl9i
aW51dGlscy1jcm9zcy1jYW5hZGlhbi1pNTg2PSIyLjI4JSIKIwojICRQUkVGRVJSRURfVkVSU0lP
Tl9iaW51dGlscy1jcm9zcy1pNTg2CiMgICByZW5hbWUgZnJvbSBQUkVGRVJSRURfVkVSU0lPTl9i
aW51dGlscy1jcm9zcy0ke1RBUkdFVF9BUkNIfSBkYXRhLnB5OjExNiBbZXhwYW5kS2V5c10KIyAg
ICAgIiR7QklOVVZFUlNJT059IgpQUkVGRVJSRURfVkVSU0lPTl9iaW51dGlscy1jcm9zcy1pNTg2
PSIyLjI4JSIKIwojICRQUkVGRVJSRURfVkVSU0lPTl9iaW51dGlscy1jcm9zc3Nkay14ODZfNjQK
IyAgIHJlbmFtZSBmcm9tIFBSRUZFUlJFRF9WRVJTSU9OX2JpbnV0aWxzLWNyb3Nzc2RrLSR7U0RL
X0FSQ0h9IGRhdGEucHk6MTE2IFtleHBhbmRLZXlzXQojICAgICAiJHtCSU5VVkVSU0lPTn0iClBS
RUZFUlJFRF9WRVJTSU9OX2JpbnV0aWxzLWNyb3Nzc2RrLXg4Nl82ND0iMi4yOCUiCiMKIyAkUFJF
RkVSUkVEX1ZFUlNJT05fYmludXRpbHMtbmF0aXZlCiMgICBzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95
b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS90Y21vZGUtZGVmYXVsdC5pbmM6NDkK
IyAgICAgIiR7QklOVVZFUlNJT059IgpQUkVGRVJSRURfVkVSU0lPTl9iaW51dGlscy1uYXRpdmU9
IjIuMjglIgojCiMgJFBSRUZFUlJFRF9WRVJTSU9OX2Nyb3NzLWxvY2FsZWRlZi1uYXRpdmUKIyAg
IHNldD8gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRl
L3RjbW9kZS1kZWZhdWx0LmluYzo2NgojICAgICAiJHtHTElCQ1ZFUlNJT059IgpQUkVGRVJSRURf
VkVSU0lPTl9jcm9zcy1sb2NhbGVkZWYtbmF0aXZlPSIyLjI1IgojCiMgJFBSRUZFUlJFRF9WRVJT
SU9OX2djYwojICAgc2V0PyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlz
dHJvL2luY2x1ZGUvdGNtb2RlLWRlZmF1bHQuaW5jOjMzCiMgICAgICIke0dDQ1ZFUlNJT059IgpQ
UkVGRVJSRURfVkVSU0lPTl9nY2M9IjYuMyUiCiMKIyAkUFJFRkVSUkVEX1ZFUlNJT05fZ2NjLWNy
b3NzLWNhbmFkaWFuLWk1ODYKIyAgIHJlbmFtZSBmcm9tIFBSRUZFUlJFRF9WRVJTSU9OX2djYy1j
cm9zcy1jYW5hZGlhbi0ke1RSQU5TTEFURURfVEFSR0VUX0FSQ0h9IGRhdGEucHk6MTE2IFtleHBh
bmRLZXlzXQojICAgICAiJHtHQ0NWRVJTSU9OfSIKUFJFRkVSUkVEX1ZFUlNJT05fZ2NjLWNyb3Nz
LWNhbmFkaWFuLWk1ODY9IjYuMyUiCiMKIyAkUFJFRkVSUkVEX1ZFUlNJT05fZ2NjLWNyb3NzLWk1
ODYKIyAgIHJlbmFtZSBmcm9tIFBSRUZFUlJFRF9WRVJTSU9OX2djYy1jcm9zcy0ke1RBUkdFVF9B
UkNIfSBkYXRhLnB5OjExNiBbZXhwYW5kS2V5c10KIyAgICAgIiR7R0NDVkVSU0lPTn0iClBSRUZF
UlJFRF9WRVJTSU9OX2djYy1jcm9zcy1pNTg2PSI2LjMlIgojCiMgJFBSRUZFUlJFRF9WRVJTSU9O
X2djYy1jcm9zcy1pbml0aWFsLWk1ODYKIyAgIHJlbmFtZSBmcm9tIFBSRUZFUlJFRF9WRVJTSU9O
X2djYy1jcm9zcy1pbml0aWFsLSR7VEFSR0VUX0FSQ0h9IGRhdGEucHk6MTE2IFtleHBhbmRLZXlz
XQojICAgICAiJHtHQ0NWRVJTSU9OfSIKUFJFRkVSUkVEX1ZFUlNJT05fZ2NjLWNyb3NzLWluaXRp
YWwtaTU4Nj0iNi4zJSIKIwojICRQUkVGRVJSRURfVkVSU0lPTl9nY2MtY3Jvc3NzZGstaW5pdGlh
bC14ODZfNjQtcG9reXNkay1saW51eAojICAgcmVuYW1lIGZyb20gUFJFRkVSUkVEX1ZFUlNJT05f
Z2NjLWNyb3Nzc2RrLWluaXRpYWwtJHtTREtfU1lTfSBkYXRhLnB5OjExNiBbZXhwYW5kS2V5c10K
IyAgICAgIiR7U0RLR0NDVkVSU0lPTn0iClBSRUZFUlJFRF9WRVJTSU9OX2djYy1jcm9zc3Nkay1p
bml0aWFsLXg4Nl82NC1wb2t5c2RrLWxpbnV4PSI2LjMlIgojCiMgJFBSRUZFUlJFRF9WRVJTSU9O
X2djYy1jcm9zc3Nkay14ODZfNjQtcG9reXNkay1saW51eAojICAgcmVuYW1lIGZyb20gUFJFRkVS
UkVEX1ZFUlNJT05fZ2NjLWNyb3Nzc2RrLSR7U0RLX1NZU30gZGF0YS5weToxMTYgW2V4cGFuZEtl
eXNdCiMgICAgICIke1NES0dDQ1ZFUlNJT059IgpQUkVGRVJSRURfVkVSU0lPTl9nY2MtY3Jvc3Nz
ZGsteDg2XzY0LXBva3lzZGstbGludXg9IjYuMyUiCiMKIyAkUFJFRkVSUkVEX1ZFUlNJT05fZ2Nj
LXJ1bnRpbWUKIyAgIHNldD8gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rp
c3Ryby9pbmNsdWRlL3RjbW9kZS1kZWZhdWx0LmluYzozOQojICAgICAiJHtHQ0NWRVJTSU9OfSIK
UFJFRkVSUkVEX1ZFUlNJT05fZ2NjLXJ1bnRpbWU9IjYuMyUiCiMKIyAkUFJFRkVSUkVEX1ZFUlNJ
T05fZ2NjLXNhbml0aXplcnMKIyAgIHNldD8gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0
YS9jb25mL2Rpc3Ryby9pbmNsdWRlL3RjbW9kZS1kZWZhdWx0LmluYzo0MAojICAgICAiJHtHQ0NW
RVJTSU9OfSIKUFJFRkVSUkVEX1ZFUlNJT05fZ2NjLXNhbml0aXplcnM9IjYuMyUiCiMKIyAkUFJF
RkVSUkVEX1ZFUlNJT05fZ2RiCiMgICBzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21l
dGEvY29uZi9kaXN0cm8vaW5jbHVkZS90Y21vZGUtZGVmYXVsdC5pbmM6NTMKIyAgICAgIiR7R0RC
VkVSU0lPTn0iClBSRUZFUlJFRF9WRVJTSU9OX2dkYj0iNy4xMiUiCiMKIyAkUFJFRkVSUkVEX1ZF
UlNJT05fZ2RiLWNyb3NzLWNhbmFkaWFuLWk1ODYKIyAgIHJlbmFtZSBmcm9tIFBSRUZFUlJFRF9W
RVJTSU9OX2dkYi1jcm9zcy1jYW5hZGlhbi0ke1RSQU5TTEFURURfVEFSR0VUX0FSQ0h9IGRhdGEu
cHk6MTE2IFtleHBhbmRLZXlzXQojICAgICAiJHtHREJWRVJTSU9OfSIKUFJFRkVSUkVEX1ZFUlNJ
T05fZ2RiLWNyb3NzLWNhbmFkaWFuLWk1ODY9IjcuMTIlIgojCiMgJFBSRUZFUlJFRF9WRVJTSU9O
X2dkYi1jcm9zcy1pNTg2CiMgICByZW5hbWUgZnJvbSBQUkVGRVJSRURfVkVSU0lPTl9nZGItY3Jv
c3MtJHtUQVJHRVRfQVJDSH0gZGF0YS5weToxMTYgW2V4cGFuZEtleXNdCiMgICAgICIke0dEQlZF
UlNJT059IgpQUkVGRVJSRURfVkVSU0lPTl9nZGItY3Jvc3MtaTU4Nj0iNy4xMiUiCiMKIyAkUFJF
RkVSUkVEX1ZFUlNJT05fZ2xpYmMKIyAgIHNldD8gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kv
bWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL3RjbW9kZS1kZWZhdWx0LmluYzo1OQojICAgICAiJHtH
TElCQ1ZFUlNJT059IgpQUkVGRVJSRURfVkVSU0lPTl9nbGliYz0iMi4yNSIKIwojICRQUkVGRVJS
RURfVkVSU0lPTl9nbGliYy1pbml0aWFsCiMgICBzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9w
b2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS90Y21vZGUtZGVmYXVsdC5pbmM6NjQKIyAgICAg
IiR7R0xJQkNWRVJTSU9OfSIKUFJFRkVSUkVEX1ZFUlNJT05fZ2xpYmMtaW5pdGlhbD0iMi4yNSIK
IwojICRQUkVGRVJSRURfVkVSU0lPTl9nbGliYy1sb2NhbGUKIyAgIHNldD8gL21lZGlhL3JlYmVj
Y2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL3RjbW9kZS1kZWZhdWx0Lmlu
Yzo2MAojICAgICAiJHtHTElCQ1ZFUlNJT059IgpQUkVGRVJSRURfVkVSU0lPTl9nbGliYy1sb2Nh
bGU9IjIuMjUiCiMKIyAkUFJFRkVSUkVEX1ZFUlNJT05fZ2xpYmMtbXRyYWNlCiMgICBzZXQ/IC9t
ZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS90Y21vZGUt
ZGVmYXVsdC5pbmM6NjEKIyAgICAgIiR7R0xJQkNWRVJTSU9OfSIKUFJFRkVSUkVEX1ZFUlNJT05f
Z2xpYmMtbXRyYWNlPSIyLjI1IgojCiMgJFBSRUZFUlJFRF9WRVJTSU9OX2dsaWJjLXNjcmlwdHMK
IyAgIHNldD8gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNs
dWRlL3RjbW9kZS1kZWZhdWx0LmluYzo2MgojICAgICAiJHtHTElCQ1ZFUlNJT059IgpQUkVGRVJS
RURfVkVSU0lPTl9nbGliYy1zY3JpcHRzPSIyLjI1IgojCiMgJFBSRUZFUlJFRF9WRVJTSU9OX2d6
aXAtbmF0aXZlCiMgICBzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9k
aXN0cm8vaW5jbHVkZS90Y21vZGUtZGVmYXVsdC5pbmM6NzEKIyAgICAgIjEuOCIKUFJFRkVSUkVE
X1ZFUlNJT05fZ3ppcC1uYXRpdmU9IjEuOCIKIwojICRQUkVGRVJSRURfVkVSU0lPTl9saWJlcmF0
aW9uLWZvbnRzCiMgICBzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9k
aXN0cm8vaW5jbHVkZS9kZWZhdWx0LXZlcnNpb25zLmluYzo2CiMgICAgICIxLjA0IgpQUkVGRVJS
RURfVkVSU0lPTl9saWJlcmF0aW9uLWZvbnRzPSIxLjA0IgojCiMgJFBSRUZFUlJFRF9WRVJTSU9O
X2xpYmdjYwojICAgc2V0PyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlz
dHJvL2luY2x1ZGUvdGNtb2RlLWRlZmF1bHQuaW5jOjQzCiMgICAgICIke0dDQ1ZFUlNJT059IgpQ
UkVGRVJSRURfVkVSU0lPTl9saWJnY2M9IjYuMyUiCiMKIyAkUFJFRkVSUkVEX1ZFUlNJT05fbGli
Z2NjLWluaXRpYWwKIyAgIHNldD8gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25m
L2Rpc3Ryby9pbmNsdWRlL3RjbW9kZS1kZWZhdWx0LmluYzo0NAojICAgICAiJHtHQ0NWRVJTSU9O
fSIKUFJFRkVSUkVEX1ZFUlNJT05fbGliZ2NjLWluaXRpYWw9IjYuMyUiCiMKIyAkUFJFRkVSUkVE
X1ZFUlNJT05fbGludXgtbGliYy1oZWFkZXJzCiMgICBzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95b2N0
by9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS90Y21vZGUtZGVmYXVsdC5pbmM6NTcKIyAg
ICAgIiR7TElOVVhMSUJDVkVSU0lPTn0iClBSRUZFUlJFRF9WRVJTSU9OX2xpbnV4LWxpYmMtaGVh
ZGVycz0iNC4xMCUiCiMKIyAkUFJFRkVSUkVEX1ZFUlNJT05fbGludXgteW9jdG8gWzcgb3BlcmF0
aW9uc10KIyAgIHNldD8gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5L2NvbmYv
ZGlzdHJvL3Bva3kuY29uZjoyNAojICAgICAiNC4xMCUiCiMgICBvdmVycmlkZVtxZW11eDg2XTpz
ZXQ/IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEtcG9reS9jb25mL2Rpc3Ryby9wb2t5
LmNvbmY6MjUKIyAgICAgIjQuMTAlIgojICAgb3ZlcnJpZGVbcWVtdXg4Ni02NF06c2V0PyAvbWVk
aWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXBva3kvY29uZi9kaXN0cm8vcG9reS5jb25mOjI2
CiMgICAgICI0LjEwJSIKIyAgIG92ZXJyaWRlW3FlbXVhcm1dOnNldD8gL21lZGlhL3JlYmVjY2Fz
L3lvY3RvL3Bva3kvbWV0YS1wb2t5L2NvbmYvZGlzdHJvL3Bva3kuY29uZjoyNwojICAgICAiNC4x
MCUiCiMgICBvdmVycmlkZVtxZW11bWlwc106c2V0PyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9r
eS9tZXRhLXBva3kvY29uZi9kaXN0cm8vcG9reS5jb25mOjI4CiMgICAgICI0LjEwJSIKIyAgIG92
ZXJyaWRlW3FlbXVtaXBzNjRdOnNldD8gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1w
b2t5L2NvbmYvZGlzdHJvL3Bva3kuY29uZjoyOQojICAgICAiNC4xMCUiCiMgICBvdmVycmlkZVtx
ZW11cHBjXTpzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEtcG9reS9jb25mL2Rp
c3Ryby9wb2t5LmNvbmY6MzAKIyAgICAgIjQuMTAlIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMg
ICAiNC4xMCUiClBSRUZFUlJFRF9WRVJTSU9OX2xpbnV4LXlvY3RvPSI0LjEwJSIKIwojICRQUkVG
RVJSRURfVkVSU0lPTl9saW51eC15b2N0b19xZW11YXJtCiMgICBzZXQ/IC9tZWRpYS9yZWJlY2Nh
cy95b2N0by9wb2t5L21ldGEtcG9reS9jb25mL2Rpc3Ryby9wb2t5LmNvbmY6MjcKIyAgICAgIjQu
MTAlIgpQUkVGRVJSRURfVkVSU0lPTl9saW51eC15b2N0b19xZW11YXJtPSI0LjEwJSIKIwojICRQ
UkVGRVJSRURfVkVSU0lPTl9saW51eC15b2N0b19xZW11bWlwcwojICAgc2V0PyAvbWVkaWEvcmVi
ZWNjYXMveW9jdG8vcG9reS9tZXRhLXBva3kvY29uZi9kaXN0cm8vcG9reS5jb25mOjI4CiMgICAg
ICI0LjEwJSIKUFJFRkVSUkVEX1ZFUlNJT05fbGludXgteW9jdG9fcWVtdW1pcHM9IjQuMTAlIgoj
CiMgJFBSRUZFUlJFRF9WRVJTSU9OX2xpbnV4LXlvY3RvX3FlbXVtaXBzNjQKIyAgIHNldD8gL21l
ZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5L2NvbmYvZGlzdHJvL3Bva3kuY29uZjoy
OQojICAgICAiNC4xMCUiClBSRUZFUlJFRF9WRVJTSU9OX2xpbnV4LXlvY3RvX3FlbXVtaXBzNjQ9
IjQuMTAlIgojCiMgJFBSRUZFUlJFRF9WRVJTSU9OX2xpbnV4LXlvY3RvX3FlbXVwcGMKIyAgIHNl
dD8gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5L2NvbmYvZGlzdHJvL3Bva3ku
Y29uZjozMAojICAgICAiNC4xMCUiClBSRUZFUlJFRF9WRVJTSU9OX2xpbnV4LXlvY3RvX3FlbXVw
cGM9IjQuMTAlIgojCiMgJFBSRUZFUlJFRF9WRVJTSU9OX2xpbnV4LXlvY3RvX3FlbXV4ODYKIyAg
IHNldD8gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5L2NvbmYvZGlzdHJvL3Bv
a3kuY29uZjoyNQojICAgICAiNC4xMCUiClBSRUZFUlJFRF9WRVJTSU9OX2xpbnV4LXlvY3RvX3Fl
bXV4ODY9IjQuMTAlIgojCiMgJFBSRUZFUlJFRF9WRVJTSU9OX2xpbnV4LXlvY3RvX3FlbXV4ODYt
NjQKIyAgIHNldD8gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5L2NvbmYvZGlz
dHJvL3Bva3kuY29uZjoyNgojICAgICAiNC4xMCUiClBSRUZFUlJFRF9WRVJTSU9OX2xpbnV4LXlv
Y3RvX3FlbXV4ODYtNjQ9IjQuMTAlIgojCiMgJFBSRUZFUlJFRF9WRVJTSU9OX25hdGl2ZXNkay1n
Y2MKIyAgIHNldD8gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9p
bmNsdWRlL3RjbW9kZS1kZWZhdWx0LmluYzo0NQojICAgICAiJHtTREtHQ0NWRVJTSU9OfSIKUFJF
RkVSUkVEX1ZFUlNJT05fbmF0aXZlc2RrLWdjYz0iNi4zJSIKIwojICRQUkVGRVJSRURfVkVSU0lP
Tl9uYXRpdmVzZGstZ2NjLXJ1bnRpbWUKIyAgIHNldD8gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bv
a3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL3RjbW9kZS1kZWZhdWx0LmluYzo0MQojICAgICAi
JHtTREtHQ0NWRVJTSU9OfSIKUFJFRkVSUkVEX1ZFUlNJT05fbmF0aXZlc2RrLWdjYy1ydW50aW1l
PSI2LjMlIgojCiMgJFBSRUZFUlJFRF9WRVJTSU9OX25hdGl2ZXNkay1nY2Mtc2FuaXRpemVycwoj
ICAgc2V0PyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1
ZGUvdGNtb2RlLWRlZmF1bHQuaW5jOjQyCiMgICAgICIke1NES0dDQ1ZFUlNJT059IgpQUkVGRVJS
RURfVkVSU0lPTl9uYXRpdmVzZGstZ2NjLXNhbml0aXplcnM9IjYuMyUiCiMKIyAkUFJFRkVSUkVE
X1ZFUlNJT05fbmF0aXZlc2RrLWdsaWJjCiMgICBzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9w
b2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS90Y21vZGUtZGVmYXVsdC5pbmM6NjMKIyAgICAg
IiR7R0xJQkNWRVJTSU9OfSIKUFJFRkVSUkVEX1ZFUlNJT05fbmF0aXZlc2RrLWdsaWJjPSIyLjI1
IgojCiMgJFBSRUZFUlJFRF9WRVJTSU9OX25hdGl2ZXNkay1nbGliYy1pbml0aWFsCiMgICBzZXQ/
IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS90Y21v
ZGUtZGVmYXVsdC5pbmM6NjUKIyAgICAgIiR7R0xJQkNWRVJTSU9OfSIKUFJFRkVSUkVEX1ZFUlNJ
T05fbmF0aXZlc2RrLWdsaWJjLWluaXRpYWw9IjIuMjUiCiMKIyAkUFJFRkVSUkVEX1ZFUlNJT05f
bmF0aXZlc2RrLWxpYmdjYwojICAgc2V0PyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRh
L2NvbmYvZGlzdHJvL2luY2x1ZGUvdGNtb2RlLWRlZmF1bHQuaW5jOjQ2CiMgICAgICIke1NES0dD
Q1ZFUlNJT059IgpQUkVGRVJSRURfVkVSU0lPTl9uYXRpdmVzZGstbGliZ2NjPSI2LjMlIgojCiMg
JFBSRUZFUlJFRF9WRVJTSU9OX25hdGl2ZXNkay1saWJnY2MtaW5pdGlhbAojICAgc2V0PyAvbWVk
aWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvdGNtb2RlLWRl
ZmF1bHQuaW5jOjQ3CiMgICAgICIke1NES0dDQ1ZFUlNJT059IgpQUkVGRVJSRURfVkVSU0lPTl9u
YXRpdmVzZGstbGliZ2NjLWluaXRpYWw9IjYuMyUiCiMKIyAkUFJFRkVSUkVEX1ZFUlNJT05fbmF0
aXZlc2RrLWxpbnV4LWxpYmMtaGVhZGVycwojICAgc2V0PyAvbWVkaWEvcmViZWNjYXMveW9jdG8v
cG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvdGNtb2RlLWRlZmF1bHQuaW5jOjU4CiMgICAg
ICIke0xJTlVYTElCQ1ZFUlNJT059IgpQUkVGRVJSRURfVkVSU0lPTl9uYXRpdmVzZGstbGludXgt
bGliYy1oZWFkZXJzPSI0LjEwJSIKIwojICRQUkVGRVJSRURfVkVSU0lPTl91Y2xpYmMKIyAgIHNl
dD8gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL3Rj
bW9kZS1kZWZhdWx0LmluYzo2NwojICAgICAiJHtVQ0xJQkNWRVJTSU9OfSIKUFJFRkVSUkVEX1ZF
UlNJT05fdWNsaWJjPSIxLjAlIgojCiMgJFBSRUZFUlJFRF9WRVJTSU9OX3VjbGliYy1pbml0aWFs
CiMgICBzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5j
bHVkZS90Y21vZGUtZGVmYXVsdC5pbmM6NjgKIyAgICAgIiR7VUNMSUJDVkVSU0lPTn0iClBSRUZF
UlJFRF9WRVJTSU9OX3VjbGliYy1pbml0aWFsPSIxLjAlIgojCiMgJFBSRU1JUlJPUlMgWzIgb3Bl
cmF0aW9uc10KIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXBva3kvY29u
Zi9kaXN0cm8vcG9reS5jb25mOjU5CiMgICAgIFtfZGVmYXVsdHZhbF0gImJ6cjovLy4qLy4qICAg
aHR0cDovL2Rvd25sb2Fkcy55b2N0b3Byb2plY3Qub3JnL21pcnJvci9zb3VyY2VzLyBcbiBjdnM6
Ly8uKi8uKiAgIGh0dHA6Ly9kb3dubG9hZHMueW9jdG9wcm9qZWN0Lm9yZy9taXJyb3Ivc291cmNl
cy8gXG4gZ2l0Oi8vLiovLiogICBodHRwOi8vZG93bmxvYWRzLnlvY3RvcHJvamVjdC5vcmcvbWly
cm9yL3NvdXJjZXMvIFxuIGdpdHNtOi8vLiovLiogaHR0cDovL2Rvd25sb2Fkcy55b2N0b3Byb2pl
Y3Qub3JnL21pcnJvci9zb3VyY2VzLyBcbiBoZzovLy4qLy4qICAgIGh0dHA6Ly9kb3dubG9hZHMu
eW9jdG9wcm9qZWN0Lm9yZy9taXJyb3Ivc291cmNlcy8gXG4gb3NjOi8vLiovLiogICBodHRwOi8v
ZG93bmxvYWRzLnlvY3RvcHJvamVjdC5vcmcvbWlycm9yL3NvdXJjZXMvIFxuIHA0Oi8vLiovLiog
ICAgaHR0cDovL2Rvd25sb2Fkcy55b2N0b3Byb2plY3Qub3JnL21pcnJvci9zb3VyY2VzLyBcbiBz
dm46Ly8uKi8uKiAgIGh0dHA6Ly9kb3dubG9hZHMueW9jdG9wcm9qZWN0Lm9yZy9taXJyb3Ivc291
cmNlcy8gXG4iCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rv
Y3VtZW50YXRpb24uY29uZjozMzYKIyAgICAgW2RvY10gIlNwZWNpZmllcyBhZGRpdGlvbmFsIHBh
dGhzIGZyb20gd2hpY2ggdGhlIE9wZW5FbWJlZGRlZCBidWlsZCBzeXN0ZW0gZ2V0cyBzb3VyY2Ug
Y29kZS4iCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICJienI6Ly8uKi8uKiAgIGh0dHA6Ly9k
b3dubG9hZHMueW9jdG9wcm9qZWN0Lm9yZy9taXJyb3Ivc291cmNlcy8gXG4gY3ZzOi8vLiovLiog
ICBodHRwOi8vZG93bmxvYWRzLnlvY3RvcHJvamVjdC5vcmcvbWlycm9yL3NvdXJjZXMvIFxuIGdp
dDovLy4qLy4qICAgaHR0cDovL2Rvd25sb2Fkcy55b2N0b3Byb2plY3Qub3JnL21pcnJvci9zb3Vy
Y2VzLyBcbiBnaXRzbTovLy4qLy4qIGh0dHA6Ly9kb3dubG9hZHMueW9jdG9wcm9qZWN0Lm9yZy9t
aXJyb3Ivc291cmNlcy8gXG4gaGc6Ly8uKi8uKiAgICBodHRwOi8vZG93bmxvYWRzLnlvY3RvcHJv
amVjdC5vcmcvbWlycm9yL3NvdXJjZXMvIFxuIG9zYzovLy4qLy4qICAgaHR0cDovL2Rvd25sb2Fk
cy55b2N0b3Byb2plY3Qub3JnL21pcnJvci9zb3VyY2VzLyBcbiBwNDovLy4qLy4qICAgIGh0dHA6
Ly9kb3dubG9hZHMueW9jdG9wcm9qZWN0Lm9yZy9taXJyb3Ivc291cmNlcy8gXG4gc3ZuOi8vLiov
LiogICBodHRwOi8vZG93bmxvYWRzLnlvY3RvcHJvamVjdC5vcmcvbWlycm9yL3NvdXJjZXMvIFxu
IgpQUkVNSVJST1JTPSJienI6Ly8uKi8uKiAgIGh0dHA6Ly9kb3dubG9hZHMueW9jdG9wcm9qZWN0
Lm9yZy9taXJyb3Ivc291cmNlcy8gXG4gY3ZzOi8vLiovLiogICBodHRwOi8vZG93bmxvYWRzLnlv
Y3RvcHJvamVjdC5vcmcvbWlycm9yL3NvdXJjZXMvIFxuIGdpdDovLy4qLy4qICAgaHR0cDovL2Rv
d25sb2Fkcy55b2N0b3Byb2plY3Qub3JnL21pcnJvci9zb3VyY2VzLyBcbiBnaXRzbTovLy4qLy4q
IGh0dHA6Ly9kb3dubG9hZHMueW9jdG9wcm9qZWN0Lm9yZy9taXJyb3Ivc291cmNlcy8gXG4gaGc6
Ly8uKi8uKiAgICBodHRwOi8vZG93bmxvYWRzLnlvY3RvcHJvamVjdC5vcmcvbWlycm9yL3NvdXJj
ZXMvIFxuIG9zYzovLy4qLy4qICAgaHR0cDovL2Rvd25sb2Fkcy55b2N0b3Byb2plY3Qub3JnL21p
cnJvci9zb3VyY2VzLyBcbiBwNDovLy4qLy4qICAgIGh0dHA6Ly9kb3dubG9hZHMueW9jdG9wcm9q
ZWN0Lm9yZy9taXJyb3Ivc291cmNlcy8gXG4gc3ZuOi8vLiovLiogICBodHRwOi8vZG93bmxvYWRz
LnlvY3RvcHJvamVjdC5vcmcvbWlycm9yL3NvdXJjZXMvIFxuIgojCiMgJFBSRVBST0NFU1NfUkVM
T0NBVEVfRElSUwojICAgc2V0PyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NsYXNz
ZXMvY2hycGF0aC5iYmNsYXNzOjIKIyAgICAgIiIKUFJFUFJPQ0VTU19SRUxPQ0FURV9ESVJTPSIi
CiMKIyAkUFJJTkMKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYv
ZG9jdW1lbnRhdGlvbi5jb25mOjMzNwojICAgICBbZG9jXSAiQ2F1c2VzIHRoZSBQUiB2YXJpYWJs
ZSBvZiAuYmJhcHBlbmQgZmlsZXMgdG8gZHluYW1pY2FsbHkgaW5jcmVtZW50LiBUaGlzIGluY3Jl
bWVudCBtaW5pbWl6ZXMgdGhlIGltcGFjdCBvZiBsYXllciBvcmRlcmluZy4gVGhpcyB2YXJpYWJs
ZSBkZWZhdWx0cyB0byAnMCcuIgojCiMgJFBSSU9SSVRZIFsyIG9wZXJhdGlvbnNdCiMgICBzZXQg
L21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjoyMjIKIyAg
ICAgIm9wdGlvbmFsIgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29u
Zi9kb2N1bWVudGF0aW9uLmNvbmY6MzM4CiMgICAgIFtkb2NdICJJbmRpY2F0ZXMgdGhlIGltcG9y
dGFuY2Ugb2YgYSBwYWNrYWdlLiAgVGhlIGRlZmF1bHQgdmFsdWUgaXMgJ29wdGlvbmFsJy4gIE90
aGVyIHN0YW5kYXJkIHZhbHVlcyBhcmUgJ3JlcXVpcmVkJywgJ3N0YW5kYXJkJyBhbmQgJ2V4dHJh
Jy4iCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICJvcHRpb25hbCIKUFJJT1JJVFk9Im9wdGlv
bmFsIgojCiMgJFBST1ZJREVTIFszIG9wZXJhdGlvbnNdCiMgICBzZXQgL21lZGlhL3JlYmVjY2Fz
L3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjoyNjIKIyAgICAgIiIKIyAgIF9wcmVw
ZW5kIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6MjYz
CiMgICAgICIke1BOfSAiCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9j
b25mL2RvY3VtZW50YXRpb24uY29uZjozMzkKIyAgICAgW2RvY10gIkEgbGlzdCBvZiBhbGlhc2Vz
IHRoYXQgYSByZWNpcGUgYWxzbyBwcm92aWRlcy4gVGhlc2UgYWxpYXNlcyBhcmUgdXNlZnVsIGZv
ciBzYXRpc2Z5aW5nIGRlcGVuZGVuY2llcyBvZiBvdGhlciByZWNpcGVzIGR1cmluZyB0aGUgYnVp
bGQgYXMgc3BlY2lmaWVkIGJ5IERFUEVORFMuIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAi
JHtQTn0gIgpQUk9WSURFUz0ibHR0bmctbW9kdWxlcyAiCiMKIyAkUFJTRVJWX0hPU1QKIyAgIHNl
dCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25m
OjM0MAojICAgICBbZG9jXSAiVGhlIG5ldHdvcmsgYmFzZWQgUFIgc2VydmljZSBob3N0IGFuZCBw
b3J0LiIKIwojICRQU0VVRE9fRElTQUJMRUQgWzIgb3BlcmF0aW9uc10KIyAgIGV4cG9ydGVkIC9t
ZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6NjYzCiMgICAg
IFtleHBvcnRdICIxIgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29u
Zi9iaXRiYWtlLmNvbmY6NjYzCiMgICAgICIxIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAi
MSIKZXhwb3J0IFBTRVVET19ESVNBQkxFRD0iMSIKIwojICRQU0VVRE9fTE9DQUxTVEFURURJUgoj
ICAgc2V0PyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25m
OjY2MAojICAgICAiJHtXT1JLRElSfS9wc2V1ZG8vIgpQU0VVRE9fTE9DQUxTVEFURURJUj0iL21l
ZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL3RtcC93b3JrL3FlbXV4ODYtcG9reS1saW51eC9sdHRu
Zy1tb2R1bGVzLzIuOS4xLXIwL3BzZXVkby8iCiMKIyAkUFNFVURPX1BBU1NXRAojICAgc2V0PyAv
bWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjY2MQojICAg
ICAiJHtTVEFHSU5HX0RJUl9UQVJHRVR9OiR7UFNFVURPX1NZU1JPT1R9IgpQU0VVRE9fUEFTU1dE
PSIvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvdG1wL3dvcmsvcWVtdXg4Ni1wb2t5LWxpbnV4
L2x0dG5nLW1vZHVsZXMvMi45LjEtcjAvcmVjaXBlLXN5c3Jvb3Q6L21lZGlhL3JlYmVjY2FzL3lv
Y3RvL2x0dG5nL3RtcC9zeXNyb290cy1jb21wb25lbnRzL3g4Nl82NC9wc2V1ZG8tbmF0aXZlIgoj
CiMgJFBTRVVET19TWVNST09UCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0
YS9jb25mL2JpdGJha2UuY29uZjo2NjIKIyAgICAgIiR7Q09NUE9ORU5UU19ESVJ9LyR7QlVJTERf
QVJDSH0vcHNldWRvLW5hdGl2ZSIKUFNFVURPX1NZU1JPT1Q9Ii9tZWRpYS9yZWJlY2Nhcy95b2N0
by9sdHRuZy90bXAvc3lzcm9vdHMtY29tcG9uZW50cy94ODZfNjQvcHNldWRvLW5hdGl2ZSIKIwoj
ICRQViBbMyBvcGVyYXRpb25zXQojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21l
dGEvY29uZi9iaXRiYWtlLmNvbmY6MTk1CiMgICAgICIke0BiYi5wYXJzZS5CQkhhbmRsZXIudmFy
c19mcm9tX2ZpbGUoZC5nZXRWYXIoJ0ZJTEUnLCBGYWxzZSksZClbMV0gb3IgJzEuMCd9IgojICAg
c2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNv
bmY6MzQxCiMgICAgIFtkb2NdICJUaGUgdmVyc2lvbiBvZiB0aGUgcmVjaXBlLiBUaGUgdmVyc2lv
biBpcyBub3JtYWxseSBleHRyYWN0ZWQgZnJvbSB0aGUgcmVjaXBlIGZpbGVuYW1lLiIKIyAgIHNl
dCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NsYXNzZXMvc3N0YXRlLmJiY2xhc3M6
MjEKIyAgICAgW3ZhcmRlcHZhbHVlXSAiJHtQVn0iCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAg
ICIke0BiYi5wYXJzZS5CQkhhbmRsZXIudmFyc19mcm9tX2ZpbGUoZC5nZXRWYXIoJ0ZJTEUnLCBG
YWxzZSksZClbMV0gb3IgJzEuMCd9IgpQVj0iMi45LjEiCiMKIyAkUFdEIFsyIG9wZXJhdGlvbnNd
CiMgICBmcm9tIGVudiBkYXRhLnB5OjEyNCBbaW5oZXJpdEZyb21PU10KIyAgICAgIi9tZWRpYS9y
ZWJlY2Nhcy95b2N0by9sdHRuZyIKIyAgIGF1dG8gZW52IGV4cG9ydCBkYXRhLnB5OjEyNiBbaW5o
ZXJpdEZyb21PU10KIyAgICAgW2V4cG9ydF0gIlRydWUiCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToK
IyAgICIvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmciCmV4cG9ydCBQV0Q9Ii9tZWRpYS9yZWJl
Y2Nhcy95b2N0by9sdHRuZyIKIwojICRQWVRIT04KIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9j
dG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjUwOQojICAgICAiJHtAc3lzLmV4ZWN1dGFi
bGV9IgpQWVRIT049Ii91c3IvYmluL3B5dGhvbjMiCiMKIyAkUUFERVBFTkRTIFszIG9wZXJhdGlv
bnNdCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL2luc2Fu
ZS5iYmNsYXNzOjIzCiMgICAgICJwcmVsaW5rLW5hdGl2ZSIKIyAgIG92ZXJyaWRlW2NsYXNzLW5h
dGl2ZV06c2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY2xhc3Nlcy9pbnNhbmUu
YmJjbGFzczoyNAojICAgICAiIgojICAgb3ZlcnJpZGVbY2xhc3MtbmF0aXZlc2RrXTpzZXQgL21l
ZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL2luc2FuZS5iYmNsYXNzOjI1CiMg
ICAgICIiCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICJwcmVsaW5rLW5hdGl2ZSIKUUFERVBF
TkRTPSJwcmVsaW5rLW5hdGl2ZSIKIwojICRRQURFUEVORFNfY2xhc3MtbmF0aXZlCiMgICBzZXQg
L21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL2luc2FuZS5iYmNsYXNzOjI0
CiMgICAgICIiClFBREVQRU5EU19jbGFzcy1uYXRpdmU9IiIKIwojICRRQURFUEVORFNfY2xhc3Mt
bmF0aXZlc2RrCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2Vz
L2luc2FuZS5iYmNsYXNzOjI1CiMgICAgICIiClFBREVQRU5EU19jbGFzcy1uYXRpdmVzZGs9IiIK
IwojICRRQVBBVEhURVNUIFsxOCBvcGVyYXRpb25zXQojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95
b2N0by9wb2t5L21ldGEvY2xhc3Nlcy9pbnNhbmUuYmJjbGFzczoyMjcKIyAgICAgW2xpYmV4ZWNd
ICJwYWNrYWdlX3FhX2NoZWNrX2xpYmV4ZWMiCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3Rv
L3Bva3kvbWV0YS9jbGFzc2VzL2luc2FuZS5iYmNsYXNzOjI0MQojICAgICBbcnBhdGhzXSAicGFj
a2FnZV9xYV9jaGVja19ycGF0aCIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9t
ZXRhL2NsYXNzZXMvaW5zYW5lLmJiY2xhc3M6MjY2CiMgICAgIFt1c2VsZXNzLXJwYXRoc10gInBh
Y2thZ2VfcWFfY2hlY2tfdXNlbGVzc19ycGF0aHMiCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lv
Y3RvL3Bva3kvbWV0YS9jbGFzc2VzL2luc2FuZS5iYmNsYXNzOjI5NgojICAgICBbZGV2LXNvXSAi
cGFja2FnZV9xYV9jaGVja19kZXYiCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kv
bWV0YS9jbGFzc2VzL2luc2FuZS5iYmNsYXNzOjMwNgojICAgICBbZGV2LWVsZl0gInBhY2thZ2Vf
cWFfY2hlY2tfZGV2X2VsZiIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRh
L2NsYXNzZXMvaW5zYW5lLmJiY2xhc3M6MzE3CiMgICAgIFtzdGF0aWNkZXZdICJwYWNrYWdlX3Fh
X2NoZWNrX3N0YXRpY2RldiIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRh
L2NsYXNzZXMvaW5zYW5lLmJiY2xhc3M6MzkzCiMgICAgIFtkZWJ1Zy1maWxlc10gInBhY2thZ2Vf
cWFfY2hlY2tfZGJnIgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY2xh
c3Nlcy9pbnNhbmUuYmJjbGFzczo0MDQKIyAgICAgW3Blcm1zXSAicGFja2FnZV9xYV9jaGVja19w
ZXJtIgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY2xhc3Nlcy9pbnNh
bmUuYmJjbGFzczo0MTEKIyAgICAgW3Vuc2FmZS1yZWZlcmVuY2VzLWluLXNjcmlwdHNdICJwYWNr
YWdlX3FhX2NoZWNrX3Vuc2FmZV9yZWZlcmVuY2VzX2luX3NjcmlwdHMiCiMgICBzZXQgL21lZGlh
L3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL2luc2FuZS5iYmNsYXNzOjQ3NgojICAg
ICBbYXJjaF0gInBhY2thZ2VfcWFfY2hlY2tfYXJjaCIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMv
eW9jdG8vcG9reS9tZXRhL2NsYXNzZXMvaW5zYW5lLmJiY2xhc3M6NTIzCiMgICAgIFtkZXNrdG9w
XSAicGFja2FnZV9xYV9jaGVja19kZXNrdG9wIgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0
by9wb2t5L21ldGEvY2xhc3Nlcy9pbnNhbmUuYmJjbGFzczo1MzUKIyAgICAgW3RleHRyZWxdICJw
YWNrYWdlX3FhX3RleHRyZWwiCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0
YS9jbGFzc2VzL2luc2FuZS5iYmNsYXNzOjU1OQojICAgICBbbGRmbGFnc10gInBhY2thZ2VfcWFf
aGFzaF9zdHlsZSIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NsYXNz
ZXMvaW5zYW5lLmJiY2xhc3M6NTk1CiMgICAgIFtidWlsZHBhdGhzXSAicGFja2FnZV9xYV9jaGVj
a19idWlsZHBhdGhzIgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY2xh
c3Nlcy9pbnNhbmUuYmJjbGFzczo2MTkKIyAgICAgW3hvcmctZHJpdmVyLWFiaV0gInBhY2thZ2Vf
cWFfY2hlY2tfeG9yZ19kcml2ZXJfYWJpIgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9w
b2t5L21ldGEvY2xhc3Nlcy9pbnNhbmUuYmJjbGFzczo2MzcKIyAgICAgW2luZm9kaXJdICJwYWNr
YWdlX3FhX2NoZWNrX2luZm9kaXIiCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kv
bWV0YS9jbGFzc2VzL2luc2FuZS5iYmNsYXNzOjY0NwojICAgICBbc3ltbGluay10by1zeXNyb290
XSAicGFja2FnZV9xYV9jaGVja19zeW1saW5rX3RvX3N5c3Jvb3QiCiMgICBzZXQgL21lZGlhL3Jl
YmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL2luc2FuZS5iYmNsYXNzOjEwNDEKIyAgICAg
W2hvc3QtdXNlci1jb250YW1pbmF0ZWRdICJwYWNrYWdlX3FhX2NoZWNrX2hvc3RfdXNlciIKIyBw
cmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIk5vbmUiCiMKIyAkUUFQS0dURVNUCiMgICBzZXQgL21l
ZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL2luc2FuZS5iYmNsYXNzOjEwMDAK
IyAgICAgW2V4cGFuZGVkLWRdICJwYWNrYWdlX3FhX2NoZWNrX2V4cGFuZGVkX2QiCiMKIyAkUUFf
TE9HRklMRQojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0
cm8vaW5jbHVkZS9kZWZhdWx0LWRpc3Ryb3ZhcnMuaW5jOjEKIyAgICAgIiR7VE1QRElSfS9xYS5s
b2ciClFBX0xPR0ZJTEU9Ii9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy90bXAvcWEubG9nIgoj
CiMgJFFBX1NBTkUKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NsYXNz
ZXMvaW5zYW5lLmJiY2xhc3M6MjYKIyAgICAgIlRydWUiClFBX1NBTkU9IlRydWUiCiMKIyAkUUJf
QVVESU9fRFJWCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL21h
Y2hpbmUvaW5jbHVkZS9xZW11Ym9vdC14ODYuaW5jOjExCiMgICAgICJhbHNhIgpRQl9BVURJT19E
UlY9ImFsc2EiCiMKIyAkUUJfQVVESU9fT1BUCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3Rv
L3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS9xZW11Ym9vdC14ODYuaW5jOjEyCiMgICAg
ICItc291bmRodyBhYzk3LGVzMTM3MCIKUUJfQVVESU9fT1BUPSItc291bmRodyBhYzk3LGVzMTM3
MCIKIwojICRRQl9DUFUgWzIgb3BlcmF0aW9uc10KIyAgIG92ZXJyaWRlW3g4Nl06c2V0IC9tZWRp
YS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvcWVtdWJvb3Qt
eDg2LmluYzo0CiMgICAgICItY3B1IHBlbnRpdW0yIgojICAgb3ZlcnJpZGVbeDg2LTY0XTpzZXQg
L21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS9xZW11
Ym9vdC14ODYuaW5jOjgKIyAgICAgIi1jcHUgY29yZTJkdW8iCiMgcHJlLWV4cGFuc2lvbiB2YWx1
ZToKIyAgICItY3B1IHBlbnRpdW0yIgpRQl9DUFU9Ii1jcHUgcGVudGl1bTIiCiMKIyAkUUJfQ1BV
X0tWTSBbMiBvcGVyYXRpb25zXQojICAgb3ZlcnJpZGVbeDg2XTpzZXQgL21lZGlhL3JlYmVjY2Fz
L3lvY3RvL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS9xZW11Ym9vdC14ODYuaW5jOjUK
IyAgICAgIi1jcHUgcGVudGl1bTIiCiMgICBvdmVycmlkZVt4ODYtNjRdOnNldCAvbWVkaWEvcmVi
ZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3FlbXVib290LXg4Ni5p
bmM6OQojICAgICAiLWNwdSBjb3JlMmR1byIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIi1j
cHUgcGVudGl1bTIiClFCX0NQVV9LVk09Ii1jcHUgcGVudGl1bTIiCiMKIyAkUUJfQ1BVX0tWTV94
ODYKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvbWFjaGluZS9p
bmNsdWRlL3FlbXVib290LXg4Ni5pbmM6NQojICAgICAiLWNwdSBwZW50aXVtMiIKUUJfQ1BVX0tW
TV94ODY9Ii1jcHUgcGVudGl1bTIiCiMKIyAkUUJfQ1BVX0tWTV94ODYtNjQKIyAgIHNldCAvbWVk
aWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3FlbXVib290
LXg4Ni5pbmM6OQojICAgICAiLWNwdSBjb3JlMmR1byIKUUJfQ1BVX0tWTV94ODYtNjQ9Ii1jcHUg
Y29yZTJkdW8iCiMKIyAkUUJfQ1BVX3g4NgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9w
b2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvcWVtdWJvb3QteDg2LmluYzo0CiMgICAgICIt
Y3B1IHBlbnRpdW0yIgpRQl9DUFVfeDg2PSItY3B1IHBlbnRpdW0yIgojCiMgJFFCX0NQVV94ODYt
NjQKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvbWFjaGluZS9p
bmNsdWRlL3FlbXVib290LXg4Ni5pbmM6OAojICAgICAiLWNwdSBjb3JlMmR1byIKUUJfQ1BVX3g4
Ni02ND0iLWNwdSBjb3JlMmR1byIKIwojICRRQl9LRVJORUxfQ01ETElORV9BUFBFTkQKIyAgIHNl
dCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3Fl
bXVib290LXg4Ni5pbmM6MTMKIyAgICAgInZnYT0wIHV2ZXNhZmIubW9kZV9vcHRpb249JHtVVkVT
QV9NT0RFfSBvcHJvZmlsZS50aW1lcj0xIHV2ZXNhZmIudGFza190aW1lb3V0PS0xIgpRQl9LRVJO
RUxfQ01ETElORV9BUFBFTkQ9InZnYT0wIHV2ZXNhZmIubW9kZV9vcHRpb249NjQweDQ4MC0zMiBv
cHJvZmlsZS50aW1lcj0xIHV2ZXNhZmIudGFza190aW1lb3V0PS0xIgojCiMgJFFCX09QVF9BUFBF
TkQKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvbWFjaGluZS9p
bmNsdWRlL3FlbXVib290LXg4Ni5pbmM6MTUKIyAgICAgIi12Z2Egdm13YXJlIC1zaG93LWN1cnNv
ciAtdXNiIC11c2JkZXZpY2UgdGFibGV0IC1kZXZpY2UgdmlydGlvLXJuZy1wY2kiClFCX09QVF9B
UFBFTkQ9Ii12Z2Egdm13YXJlIC1zaG93LWN1cnNvciAtdXNiIC11c2JkZXZpY2UgdGFibGV0IC1k
ZXZpY2UgdmlydGlvLXJuZy1wY2kiCiMKIyAkUUJfU1lTVEVNX05BTUUgWzIgb3BlcmF0aW9uc10K
IyAgIG92ZXJyaWRlW3g4Nl06c2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29u
Zi9tYWNoaW5lL2luY2x1ZGUvcWVtdWJvb3QteDg2LmluYzozCiMgICAgICJxZW11LXN5c3RlbS1p
Mzg2IgojICAgb3ZlcnJpZGVbeDg2LTY0XTpzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kv
bWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS9xZW11Ym9vdC14ODYuaW5jOjcKIyAgICAgInFlbXUt
c3lzdGVtLXg4Nl82NCIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgInFlbXUtc3lzdGVtLWkz
ODYiClFCX1NZU1RFTV9OQU1FPSJxZW11LXN5c3RlbS1pMzg2IgojCiMgJFFCX1NZU1RFTV9OQU1F
X3g4NgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9tYWNoaW5l
L2luY2x1ZGUvcWVtdWJvb3QteDg2LmluYzozCiMgICAgICJxZW11LXN5c3RlbS1pMzg2IgpRQl9T
WVNURU1fTkFNRV94ODY9InFlbXUtc3lzdGVtLWkzODYiCiMKIyAkUUJfU1lTVEVNX05BTUVfeDg2
LTY0CiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL21hY2hpbmUv
aW5jbHVkZS9xZW11Ym9vdC14ODYuaW5jOjcKIyAgICAgInFlbXUtc3lzdGVtLXg4Nl82NCIKUUJf
U1lTVEVNX05BTUVfeDg2LTY0PSJxZW11LXN5c3RlbS14ODZfNjQiCiMKIyAkUUVNVV9UQVJHRVRT
CiMgICBzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEtcG9reS9jb25mL2Rpc3Ry
by9wb2t5LmNvbmY6NDgKIyAgICAgImFybSBhYXJjaDY0IGkzODYgbWlwcyBtaXBzZWwgbWlwczY0
IG1pcHM2NGVsIHBwYyB4ODZfNjQiClFFTVVfVEFSR0VUUz0iYXJtIGFhcmNoNjQgaTM4NiBtaXBz
IG1pcHNlbCBtaXBzNjQgbWlwczY0ZWwgcHBjIHg4Nl82NCIKIwojICRRTUFLRV9QUk9GSUxFUwoj
ICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9u
LmNvbmY6MzQ1CiMgICAgIFtkb2NdICJTcGVjaWZpZXMgeW91ciBvd24gc3Vic2V0IG9mIC5wcm8g
ZmlsZXMgdG8gYmUgYnVpbHQgZm9yIHVzZSB3aXRoIHFtYWtlLiIKIwojICRRVUlMVFJDRklMRQoj
ICAgc2V0PyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NsYXNzZXMvcGF0Y2guYmJj
bGFzczo0CiMgICAgICIke1NUQUdJTkdfRVRDRElSX05BVElWRX0vcXVpbHRyYyIKUVVJTFRSQ0ZJ
TEU9Ii9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy90bXAvd29yay9xZW11eDg2LXBva3ktbGlu
dXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9yZWNpcGUtc3lzcm9vdC1uYXRpdmUvZXRjL3F1aWx0
cmMiCiMKIyAkUkFOTElCIFsyIG9wZXJhdGlvbnNdCiMgICBleHBvcnRlZCAvbWVkaWEvcmViZWNj
YXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjUwMgojICAgICBbZXhwb3J0XSAi
MSIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5j
b25mOjUwMgojICAgICAiJHtIT1NUX1BSRUZJWH1yYW5saWIiCiMgcHJlLWV4cGFuc2lvbiB2YWx1
ZToKIyAgICIke0hPU1RfUFJFRklYfXJhbmxpYiIKZXhwb3J0IFJBTkxJQj0iaTU4Ni1wb2t5LWxp
bnV4LXJhbmxpYiIKIwojICRSQ09ORkxJQ1RTCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3Rv
L3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjozNDkKIyAgICAgW2RvY10gIlRoZSBs
aXN0IG9mIHBhY2thZ2VzIHRoYXQgY29uZmxpY3Qgd2l0aCBhbm90aGVyIHBhY2thZ2UuIE5vdGUg
dGhhdCB0aGUgcGFja2FnZSB3aWxsIG5vdCBiZSBpbnN0YWxsZWQgaWYgdGhlIGNvbmZsaWN0aW5n
IHBhY2thZ2VzIGFyZSBub3QgZmlyc3QgcmVtb3ZlZC4iCiMKIyAkUkRFUEVORFMgWzUgb3BlcmF0
aW9uc10KIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFr
ZS5jb25mOjI2MQojICAgICAiIgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21l
dGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6MzUwCiMgICAgIFtkb2NdICJMaXN0cyBhIHBhY2th
Z2UncyBydW50aW1lIGRlcGVuZGVuY2llcyAoaS5lLiBvdGhlciBwYWNrYWdlcykgdGhhdCBtdXN0
IGJlIGluc3RhbGxlZCBmb3IgdGhlIHBhY2thZ2UgdG8gYmUgYnVpbHQuIFRoZXkgbXVzdCBiZSB0
aGUgbmFtZXMgb2Ygb3RoZXIgcGFja2FnZXMgYXMgbGlzdGVkIGluIHRoZSBQQUNLQUdFUyB2YXJp
YWJsZSwgbm90IHJlY2lwZSBuYW1lcyAoUE4pLiIKIyAgIG92ZXJyaWRlW2tlcm5lbC1iYXNlXTpz
ZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS9x
ZW11LmluYzoxOQojICAgICAiIgojICAgb3ZlcnJpZGVbbHR0bmctbW9kdWxlcy1kZXZdOnJlbmFt
ZSBmcm9tIFJERVBFTkRTXyR7UE59LWRldiBkYXRhLnB5OjExNiBbZXhwYW5kS2V5c10KIyAgICAg
IiR7UE59ICg9ICR7RVhURU5EUEtHVn0pIgojICAgb3ZlcnJpZGVbbHR0bmctbW9kdWxlcy1zdGF0
aWNkZXZdOnJlbmFtZSBmcm9tIFJERVBFTkRTXyR7UE59LXN0YXRpY2RldiBkYXRhLnB5OjExNiBb
ZXhwYW5kS2V5c10KIyAgICAgIiR7UE59LWRldiAoPSAke0VYVEVORFBLR1Z9KSIKIyBwcmUtZXhw
YW5zaW9uIHZhbHVlOgojICAgIiIKUkRFUEVORFM9IiIKIwojICRSREVQRU5EU19rZXJuZWwtYmFz
ZQojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2lu
Y2x1ZGUvcWVtdS5pbmM6MTkKIyAgICAgIiIKUkRFUEVORFNfa2VybmVsLWJhc2U9IiIKIwojICRS
REVQRU5EU19sdHRuZy1tb2R1bGVzLWRldgojICAgcmVuYW1lIGZyb20gUkRFUEVORFNfJHtQTn0t
ZGV2IGRhdGEucHk6MTE2IFtleHBhbmRLZXlzXQojICAgICAiJHtQTn0gKD0gJHtFWFRFTkRQS0dW
fSkiClJERVBFTkRTX2x0dG5nLW1vZHVsZXMtZGV2PSJsdHRuZy1tb2R1bGVzICg9IDIuOS4xLXIw
KSIKIwojICRSREVQRU5EU19sdHRuZy1tb2R1bGVzLXN0YXRpY2RldgojICAgcmVuYW1lIGZyb20g
UkRFUEVORFNfJHtQTn0tc3RhdGljZGV2IGRhdGEucHk6MTE2IFtleHBhbmRLZXlzXQojICAgICAi
JHtQTn0tZGV2ICg9ICR7RVhURU5EUEtHVn0pIgpSREVQRU5EU19sdHRuZy1tb2R1bGVzLXN0YXRp
Y2Rldj0ibHR0bmctbW9kdWxlcy1kZXYgKD0gMi45LjEtcjApIgojCiMgJFJFQURFTEYgWzIgb3Bl
cmF0aW9uc10KIyAgIGV4cG9ydGVkIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29u
Zi9iaXRiYWtlLmNvbmY6NTA4CiMgICAgIFtleHBvcnRdICIxIgojICAgc2V0IC9tZWRpYS9yZWJl
Y2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6NTA4CiMgICAgICIke0hPU1Rf
UFJFRklYfXJlYWRlbGYiCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICIke0hPU1RfUFJFRklY
fXJlYWRlbGYiCmV4cG9ydCBSRUFERUxGPSJpNTg2LXBva3ktbGludXgtcmVhZGVsZiIKIwojICRS
RUNJUEVfTUFJTlRBSU5FUl9wbi1jb3JlLWltYWdlLXJ0CiMgICBzZXQgL21lZGlhL3JlYmVjY2Fz
L3lvY3RvL21ldGEtaW50ZWwtY29udHJpYi9jb25mL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjMK
IyAgICAgIlN3ZWUgQXVuIEtob3IgPHN3ZWUuYXVuLmtob3JAaW50ZWwuY29tPiIKUkVDSVBFX01B
SU5UQUlORVJfcG4tY29yZS1pbWFnZS1ydD0iU3dlZSBBdW4gS2hvciA8c3dlZS5hdW4ua2hvckBp
bnRlbC5jb20+IgojCiMgJFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWNvcmUtaW1hZ2UtcnQtc2RrCiMg
ICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL21ldGEtaW50ZWwtY29udHJpYi9jb25mL2luY2x1
ZGUvbWFpbnRhaW5lcnMuaW5jOjQKIyAgICAgIlN3ZWUgQXVuIEtob3IgPHN3ZWUuYXVuLmtob3JA
aW50ZWwuY29tPiIKUkVDSVBFX01BSU5UQUlORVJfcG4tY29yZS1pbWFnZS1ydC1zZGs9IlN3ZWUg
QXVuIEtob3IgPHN3ZWUuYXVuLmtob3JAaW50ZWwuY29tPiIKIwojICRSRUNJUEVfTUFJTlRBSU5F
Ul9wbi1kcGRrCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL21ldGEtaW50ZWwtY29udHJp
Yi9jb25mL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjUKIyAgICAgIlRCRCBEUERLIEZsZXggVGVh
bSIKUkVDSVBFX01BSU5UQUlORVJfcG4tZHBkaz0iVEJEIERQREsgRmxleCBUZWFtIgojCiMgJFJF
Q0lQRV9NQUlOVEFJTkVSX3BuLWRwZGstZGV2LWxpYmlidmVyYnMKIyAgIHNldCAvbWVkaWEvcmVi
ZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1jb250cmliL2NvbmYvaW5jbHVkZS9tYWludGFpbmVycy5p
bmM6NgojICAgICAiVEJEIERQREsgRmxleCBUZWFtIgpSRUNJUEVfTUFJTlRBSU5FUl9wbi1kcGRr
LWRldi1saWJpYnZlcmJzPSJUQkQgRFBESyBGbGV4IFRlYW0iCiMKIyAkUkVDSVBFX01BSU5UQUlO
RVJfcG4tZWZpbGludXgKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1j
b250cmliL2NvbmYvaW5jbHVkZS9tYWludGFpbmVycy5pbmM6NwojICAgICAiU3dlZSBBdW4gS2hv
ciA8c3dlZS5hdW4ua2hvckBpbnRlbC5jb20+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi1lZmlsaW51
eD0iU3dlZSBBdW4gS2hvciA8c3dlZS5hdW4ua2hvckBpbnRlbC5jb20+IgojCiMgJFJFQ0lQRV9N
QUlOVEFJTkVSX3BuLWdtYTUwMC1nZngtY2hlY2sKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9j
dG8vbWV0YS1pbnRlbC1jb250cmliL2NvbmYvaW5jbHVkZS9tYWludGFpbmVycy5pbmM6OAojICAg
ICAiV2VpIFRlZSBOZyA8d2VpLnRlZS5uZ0BpbnRlbC5jb20+IgpSRUNJUEVfTUFJTlRBSU5FUl9w
bi1nbWE1MDAtZ2Z4LWNoZWNrPSJXZWkgVGVlIE5nIDx3ZWkudGVlLm5nQGludGVsLmNvbT4iCiMK
IyAkUkVDSVBFX01BSU5UQUlORVJfcG4taW50ZWwtZ3B1LXRvb2xzCiMgICBzZXQgL21lZGlhL3Jl
YmVjY2FzL3lvY3RvL21ldGEtaW50ZWwtY29udHJpYi9jb25mL2luY2x1ZGUvbWFpbnRhaW5lcnMu
aW5jOjkKIyAgICAgIldlaSBUZWUgTmcgPHdlaS50ZWUubmdAaW50ZWwuY29tPiIKUkVDSVBFX01B
SU5UQUlORVJfcG4taW50ZWwtZ3B1LXRvb2xzPSJXZWkgVGVlIE5nIDx3ZWkudGVlLm5nQGludGVs
LmNvbT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4taW50ZWwtbWljcm9jb2RlCiMgICBzZXQg
L21lZGlhL3JlYmVjY2FzL3lvY3RvL21ldGEtaW50ZWwtY29udHJpYi9jb25mL2luY2x1ZGUvbWFp
bnRhaW5lcnMuaW5jOjEwCiMgICAgICJTd2VlIEF1biBLaG9yIDxzd2VlLmF1bi5raG9yQGludGVs
LmNvbT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLWludGVsLW1pY3JvY29kZT0iU3dlZSBBdW4gS2hv
ciA8c3dlZS5hdW4ua2hvckBpbnRlbC5jb20+IgojCiMgJFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWlu
dGVsLW1pbmltYWwtaW5pdHJhbWZzCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL21ldGEt
aW50ZWwtY29udHJpYi9jb25mL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjExCiMgICAgICJTd2Vl
IEF1biBLaG9yIDxzd2VlLmF1bi5raG9yQGludGVsLmNvbT4iClJFQ0lQRV9NQUlOVEFJTkVSX3Bu
LWludGVsLW1pbmltYWwtaW5pdHJhbWZzPSJTd2VlIEF1biBLaG9yIDxzd2VlLmF1bi5raG9yQGlu
dGVsLmNvbT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4taXVjb2RlLXRvb2wKIyAgIHNldCAv
bWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1jb250cmliL2NvbmYvaW5jbHVkZS9tYWlu
dGFpbmVycy5pbmM6MTIKIyAgICAgIlN3ZWUgQXVuIEtob3IgPHN3ZWUuYXVuLmtob3JAaW50ZWwu
Y29tPiIKUkVDSVBFX01BSU5UQUlORVJfcG4taXVjb2RlLXRvb2w9IlN3ZWUgQXVuIEtob3IgPHN3
ZWUuYXVuLmtob3JAaW50ZWwuY29tPiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1saWJ2YS1p
bnRlbC1kcml2ZXIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1jb250
cmliL2NvbmYvaW5jbHVkZS9tYWludGFpbmVycy5pbmM6MTMKIyAgICAgIldlaSBUZWUgTmcgPHdl
aS50ZWUubmdAaW50ZWwuY29tPiIKUkVDSVBFX01BSU5UQUlORVJfcG4tbGlidmEtaW50ZWwtZHJp
dmVyPSJXZWkgVGVlIE5nIDx3ZWkudGVlLm5nQGludGVsLmNvbT4iCiMKIyAkUkVDSVBFX01BSU5U
QUlORVJfcG4tbGlieWFtaQojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9tZXRhLWludGVs
LWNvbnRyaWIvY29uZi9pbmNsdWRlL21haW50YWluZXJzLmluYzoxNAojICAgICAiV2VpIFRlZSBO
ZyA8d2VpLnRlZS5uZ0BpbnRlbC5jb20+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi1saWJ5YW1pPSJX
ZWkgVGVlIE5nIDx3ZWkudGVlLm5nQGludGVsLmNvbT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJf
cG4tbGlieWFtaS11dGlscwojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9tZXRhLWludGVs
LWNvbnRyaWIvY29uZi9pbmNsdWRlL21haW50YWluZXJzLmluYzoxNQojICAgICAiV2VpIFRlZSBO
ZyA8d2VpLnRlZS5uZ0BpbnRlbC5jb20+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi1saWJ5YW1pLXV0
aWxzPSJXZWkgVGVlIE5nIDx3ZWkudGVlLm5nQGludGVsLmNvbT4iCiMKIyAkUkVDSVBFX01BSU5U
QUlORVJfcG4tbGludXgtaW50ZWwKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1p
bnRlbC1jb250cmliL2NvbmYvaW5jbHVkZS9tYWludGFpbmVycy5pbmM6MTYKIyAgICAgIlN3ZWUg
QXVuIEtob3IgPHN3ZWUuYXVuLmtob3JAaW50ZWwuY29tPiIKUkVDSVBFX01BSU5UQUlORVJfcG4t
bGludXgtaW50ZWw9IlN3ZWUgQXVuIEtob3IgPHN3ZWUuYXVuLmtob3JAaW50ZWwuY29tPiIKIwoj
ICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1saW51eC1pbnRlbC1ydAojICAgc2V0IC9tZWRpYS9yZWJl
Y2Nhcy95b2N0by9tZXRhLWludGVsLWNvbnRyaWIvY29uZi9pbmNsdWRlL21haW50YWluZXJzLmlu
YzoxNwojICAgICAiU3dlZSBBdW4gS2hvciA8c3dlZS5hdW4ua2hvckBpbnRlbC5jb20+IgpSRUNJ
UEVfTUFJTlRBSU5FUl9wbi1saW51eC1pbnRlbC1ydD0iU3dlZSBBdW4gS2hvciA8c3dlZS5hdW4u
a2hvckBpbnRlbC5jb20+IgojCiMgJFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWxtczcKIyAgIHNldCAv
bWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1jb250cmliL2NvbmYvaW5jbHVkZS9tYWlu
dGFpbmVycy5pbmM6MTgKIyAgICAgIlRCRCIKUkVDSVBFX01BSU5UQUlORVJfcG4tbG1zNz0iVEJE
IgojCiMgJFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWxtczgKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMv
eW9jdG8vbWV0YS1pbnRlbC1jb250cmliL2NvbmYvaW5jbHVkZS9tYWludGFpbmVycy5pbmM6MTkK
IyAgICAgIlRCRCIKUkVDSVBFX01BSU5UQUlORVJfcG4tbG1zOD0iVEJEIgojCiMgJFJFQ0lQRV9N
QUlOVEFJTkVSX3BuLW9wZW5zc2wtcWF0CiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL21l
dGEtaW50ZWwtY29udHJpYi9jb25mL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjIwCiMgICAgICJU
QkQgRFBESyBGbGV4IFRlYW0iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLW9wZW5zc2wtcWF0PSJUQkQg
RFBESyBGbGV4IFRlYW0iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4tcWF0MTYgWzIgb3BlcmF0
aW9uc10KIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1jb250cmliL2Nv
bmYvaW5jbHVkZS9tYWludGFpbmVycy5pbmM6MjEKIyAgICAgIlRCRCBEUERLIEZsZXggVGVhbSIK
IyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1jb250cmliL2NvbmYvaW5j
bHVkZS9tYWludGFpbmVycy5pbmM6MjIKIyAgICAgIlRCRCBEUERLIEZsZXggVGVhbSIKIyBwcmUt
ZXhwYW5zaW9uIHZhbHVlOgojICAgIlRCRCBEUERLIEZsZXggVGVhbSIKUkVDSVBFX01BSU5UQUlO
RVJfcG4tcWF0MTY9IlRCRCBEUERLIEZsZXggVGVhbSIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9w
bi1ybWMKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1jb250cmliL2Nv
bmYvaW5jbHVkZS9tYWludGFpbmVycy5pbmM6MjMKIyAgICAgIldlaSBUZWUgTmcgPHdlaS50ZWUu
bmdAaW50ZWwuY29tPiIKUkVDSVBFX01BSU5UQUlORVJfcG4tcm1jPSJXZWkgVGVlIE5nIDx3ZWku
dGVlLm5nQGludGVsLmNvbT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4tcm1jLWRiCiMgICBz
ZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL21ldGEtaW50ZWwtY29udHJpYi9jb25mL2luY2x1ZGUv
bWFpbnRhaW5lcnMuaW5jOjI0CiMgICAgICJXZWkgVGVlIE5nIDx3ZWkudGVlLm5nQGludGVsLmNv
bT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLXJtYy1kYj0iV2VpIFRlZSBOZyA8d2VpLnRlZS5uZ0Bp
bnRlbC5jb20+IgojCiMgJFJFQ0lQRV9NQUlOVEFJTkVSX3BuLXRoZXJtYWxkCiMgICBzZXQgL21l
ZGlhL3JlYmVjY2FzL3lvY3RvL21ldGEtaW50ZWwtY29udHJpYi9jb25mL2luY2x1ZGUvbWFpbnRh
aW5lcnMuaW5jOjI1CiMgICAgICJTd2VlIEF1biBLaG9yIDxzd2VlLmF1bi5raG9yQGludGVsLmNv
bT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLXRoZXJtYWxkPSJTd2VlIEF1biBLaG9yIDxzd2VlLmF1
bi5raG9yQGludGVsLmNvbT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4tdmEtaW50ZWwKIyAg
IHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1jb250cmliL2NvbmYvaW5jbHVk
ZS9tYWludGFpbmVycy5pbmM6MjYKIyAgICAgIldlaSBUZWUgTmcgPHdlaS50ZWUubmdAaW50ZWwu
Y29tPiIKUkVDSVBFX01BSU5UQUlORVJfcG4tdmEtaW50ZWw9IldlaSBUZWUgTmcgPHdlaS50ZWUu
bmdAaW50ZWwuY29tPiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi14Zjg2LXZpZGVvLWFzdAoj
ICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9tZXRhLWludGVsLWNvbnRyaWIvY29uZi9pbmNs
dWRlL21haW50YWluZXJzLmluYzoyNwojICAgICAiV2VpIFRlZSBOZyA8d2VpLnRlZS5uZ0BpbnRl
bC5jb20+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi14Zjg2LXZpZGVvLWFzdD0iV2VpIFRlZSBOZyA8
d2VpLnRlZS5uZ0BpbnRlbC5jb20+IgojCiMgJFJFQ0lQRV9NQUlOVEFJTkVSX3BuLXhmODYtdmlk
ZW8tbWdhCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL21ldGEtaW50ZWwtY29udHJpYi9j
b25mL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjI4CiMgICAgICJXZWkgVGVlIE5nIDx3ZWkudGVl
Lm5nQGludGVsLmNvbT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLXhmODYtdmlkZW8tbWdhPSJXZWkg
VGVlIE5nIDx3ZWkudGVlLm5nQGludGVsLmNvbT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4t
emxpYi1xYXQKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1jb250cmli
L2NvbmYvaW5jbHVkZS9tYWludGFpbmVycy5pbmM6MjkKIyAgICAgIlRCRCBEUERLIEZsZXggVGVh
bSIKUkVDSVBFX01BSU5UQUlORVJfcG4temxpYi1xYXQ9IlRCRCBEUERLIEZsZXggVGVhbSIKIwoj
ICRSRUNJUEVfU1lTUk9PVAojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEv
Y29uZi9iaXRiYWtlLmNvbmY6MzU1CiMgICAgICIke1dPUktESVJ9L3JlY2lwZS1zeXNyb290IgpS
RUNJUEVfU1lTUk9PVD0iL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL3RtcC93b3JrL3FlbXV4
ODYtcG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL3JlY2lwZS1zeXNyb290IgojCiMg
JFJFQ0lQRV9TWVNST09UX05BVElWRQojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5
L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6MzU2CiMgICAgICIke1dPUktESVJ9L3JlY2lwZS1zeXNy
b290LW5hdGl2ZSIKUkVDSVBFX1NZU1JPT1RfTkFUSVZFPSIvbWVkaWEvcmViZWNjYXMveW9jdG8v
bHR0bmcvdG1wL3dvcmsvcWVtdXg4Ni1wb2t5LWxpbnV4L2x0dG5nLW1vZHVsZXMvMi45LjEtcjAv
cmVjaXBlLXN5c3Jvb3QtbmF0aXZlIgojCiMgJFJFTU9WRV9MSUJUT09MX0xBCiMgICBzZXQ/IC9t
ZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY2xhc3Nlcy9yZW1vdmUtbGlidG9vbC5iYmNs
YXNzOjMKIyAgICAgIjEiClJFTU9WRV9MSUJUT09MX0xBPSIxIgojCiMgJFJFUVVJUkVEX0RJU1RS
T19GRUFUVVJFUwojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9k
b2N1bWVudGF0aW9uLmNvbmY6MzUxCiMgICAgIFtkb2NdICJXaGVuIGEgcmVjaXBlIGluaGVyaXRz
IHRoZSBkaXN0cm9fZmVhdHVyZXNfY2hlY2sgY2xhc3MsIHRoaXMgdmFyaWFibGUgaWRlbnRpZmll
cyBkaXN0cmlidXRpb24gZmVhdHVyZXMgdGhhdCBtdXN0IGV4aXN0IGluIHRoZSBjdXJyZW50IGNv
bmZpZ3VyYXRpb24gaW4gb3JkZXIgZm9yIHRoZSBPcGVuRW1iZWRkZWQgYnVpbGQgc3lzdGVtIHRv
IGJ1aWxkIHRoZSByZWNpcGUuIgojCiMgJFJFUVVJUkVEX1BPS1lfQkJMQVlFUlNfQ09ORl9WRVJT
SU9OCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5L2NvbmYvbGF5
ZXIuY29uZjoxOAojICAgICAiMiIKUkVRVUlSRURfUE9LWV9CQkxBWUVSU19DT05GX1ZFUlNJT049
IjIiCiMKIyAkUk1fT0xEX0lNQUdFCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5n
L2NvbmYvc2l0ZS5jb25mOjkKIyAgICAgIjEiClJNX09MRF9JTUFHRT0iMSIKIwojICRSTV9XT1JL
X0VYQ0xVREUKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZG9j
dW1lbnRhdGlvbi5jb25mOjM1MgojICAgICBbZG9jXSAiV2l0aCBybV93b3JrIGVuYWJsZWQsIHRo
aXMgdmFyaWFibGUgc3BlY2lmaWVzIGEgbGlzdCBvZiBwYWNrYWdlcyB3aG9zZSB3b3JrIGRpcmVj
dG9yaWVzIHNob3VsZCBub3QgYmUgcmVtb3ZlZC4iCiMKIyAkUk9PVEZTCiMgICBzZXQgL21lZGlh
L3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjozNTMKIyAg
ICAgW2RvY10gIkluZGljYXRlcyBhIGZpbGVzeXN0ZW0gaW1hZ2UgdG8gaW5jbHVkZSBhcyB0aGUg
cm9vdCBmaWxlc3lzdGVtLiIKIwojICRST09URlNfUE9TVFBST0NFU1NfQ09NTUFORCBbMiBvcGVy
YXRpb25zXQojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1
bWVudGF0aW9uLmNvbmY6MzU0CiMgICAgIFtkb2NdICJBZGRlZCBieSBjbGFzc2VzIHRvIHJ1biBw
b3N0IHByb2Nlc3NpbmcgY29tbWFuZHMgb25jZSB0aGUgT3BlbkVtYmVkZGVkIGJ1aWxkIHN5c3Rl
bSBoYXMgY3JlYXRlZCB0aGUgcm9vdCBmaWxlc3lzdGVtLiIKIyAgIF9wcmVwZW5kIC9tZWRpYS9y
ZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY2xhc3Nlcy9saWNlbnNlLmJiY2xhc3M6NjgyCiMgICAg
ICJ3cml0ZV9wYWNrYWdlX21hbmlmZXN0OyBsaWNlbnNlX2NyZWF0ZV9tYW5pZmVzdDsgIgojIHBy
ZS1leHBhbnNpb24gdmFsdWU6CiMgICAid3JpdGVfcGFja2FnZV9tYW5pZmVzdDsgbGljZW5zZV9j
cmVhdGVfbWFuaWZlc3Q7ICIKUk9PVEZTX1BPU1RQUk9DRVNTX0NPTU1BTkQ9IndyaXRlX3BhY2th
Z2VfbWFuaWZlc3Q7IGxpY2Vuc2VfY3JlYXRlX21hbmlmZXN0OyAiCiMKIyAkUk9PVF9IT01FCiMg
ICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo4
NAojICAgICBbX2RlZmF1bHR2YWxdICIvaG9tZS9yb290IgpST09UX0hPTUU9Ii9ob21lL3Jvb3Qi
CiMKIyAkUlBNCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2Vz
L3BhY2thZ2VfcnBtLmJiY2xhc3M6NQojICAgICAicnBtIgpSUE09InJwbSIKIwojICRSUE1CVUlM
RAojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY2xhc3Nlcy9wYWNrYWdl
X3JwbS5iYmNsYXNzOjYKIyAgICAgInJwbWJ1aWxkIgpSUE1CVUlMRD0icnBtYnVpbGQiCiMKIyAk
UlBNREVQUwojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY2xhc3Nlcy9w
YWNrYWdlLmJiY2xhc3M6MTQ0MwojICAgICAiJHtTVEFHSU5HX0xJQkRJUl9OQVRJVkV9L3JwbS9y
cG1kZXBzJHtAJyAtLWFsbGRlcHMnIGlmIGQuZ2V0VmFyKCdFTkFCTEVfUlBNX0ZJTEVERVBTX0ZP
Ul9QWVJPJykgPT0gJzEnIGVsc2UgJyd9IgpSUE1ERVBTPSIvbWVkaWEvcmViZWNjYXMveW9jdG8v
bHR0bmcvdG1wL3dvcmsvcWVtdXg4Ni1wb2t5LWxpbnV4L2x0dG5nLW1vZHVsZXMvMi45LjEtcjAv
cmVjaXBlLXN5c3Jvb3QtbmF0aXZlL3Vzci9saWIvcnBtL3JwbWRlcHMiCiMKIyAkUlBST1ZJREVT
IFsyIG9wZXJhdGlvbnNdCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9j
b25mL2JpdGJha2UuY29uZjoyNjQKIyAgICAgIiIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9j
dG8vcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjM1NQojICAgICBbZG9jXSAiQSBs
aXN0IG9mIHBhY2thZ2UgbmFtZSBhbGlhc2VzIHRoYXQgYSBwYWNrYWdlIGFsc28gcHJvdmlkZXMu
IFRoZXNlIGFsaWFzZXMgYXJlIHVzZWZ1bCBmb3Igc2F0aXNmeWluZyBydW50aW1lIGRlcGVuZGVu
Y2llcyBvZiBvdGhlciBwYWNrYWdlcyBib3RoIGR1cmluZyB0aGUgYnVpbGQgYW5kIG9uIHRoZSB0
YXJnZXQuIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiIgpSUFJPVklERVM9IiIKIwojICRS
UkVDT01NRU5EUwojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9k
b2N1bWVudGF0aW9uLmNvbmY6MzU2CiMgICAgIFtkb2NdICJBIGxpc3Qgb2YgcGFja2FnZXMgdGhh
dCBleHRlbmRzIHRoZSB1c2FiaWxpdHkgb2YgYSBwYWNrYWdlIGJlaW5nIGJ1aWx0LiBUaGUgcGFj
a2FnZSBiZWluZyBidWlsdCBkb2VzIG5vdCBkZXBlbmQgb24gdGhpcyBsaXN0IG9mIHBhY2thZ2Vz
IGluIG9yZGVyIHRvIHN1Y2Nlc3NmdWxseSBidWlsZCwgYnV0IG5lZWRzIHRoZW0gZm9yIHRoZSBl
eHRlbmRlZCB1c2FiaWxpdHkuIgojCiMgJFJSRVBMQUNFUwojICAgc2V0IC9tZWRpYS9yZWJlY2Nh
cy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6MzU3CiMgICAgIFtkb2Nd
ICJBIGxpc3Qgb2YgcGFja2FnZXMgcmVwbGFjZWQgYnkgYSBwYWNrYWdlLiBUaGUgcGFja2FnZSBt
YW5hZ2VyIHVzZXMgdGhpcyB2YXJpYWJsZSB0byBkZXRlcm1pbmUgd2hpY2ggcGFja2FnZSBzaG91
bGQgYmUgaW5zdGFsbGVkIHRvIHJlcGxhY2Ugb3RoZXIgcGFja2FnZShzKSBkdXJpbmcgYW4gdXBn
cmFkZS4iCiMKIyAkUlNVR0dFU1RTCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kv
bWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjozNTgKIyAgICAgW2RvY10gIkEgbGlzdCBvZiBh
ZGRpdGlvbmFsIHBhY2thZ2VzIHRoYXQgeW91IGNhbiBzdWdnZXN0IGZvciBpbnN0YWxsYXRpb24g
YnkgdGhlIHBhY2thZ2UgbWFuYWdlciBhdCB0aGUgdGltZSBhIHBhY2thZ2UgaXMgaW5zdGFsbGVk
LiBOb3QgYWxsIHBhY2thZ2UgbWFuYWdlcnMgc3VwcG9ydCB0aGlzIGZ1bmN0aW9uYWxpdHkuIgoj
CiMgJFMgWzIgb3BlcmF0aW9uc10KIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9t
ZXRhL2NvbmYvYml0YmFrZS5jb25mOjM1MAojICAgICAiJHtXT1JLRElSfS8ke0JQfSIKIyAgIHNl
dCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25m
OjM2MgojICAgICBbZG9jXSAiVGhlIGxvY2F0aW9uIGluIHRoZSBCdWlsZCBEaXJlY3Rvcnkgd2hl
cmUgdW5wYWNrZWQgcGFja2FnZSBzb3VyY2UgY29kZSByZXNpZGVzLiIKIyBwcmUtZXhwYW5zaW9u
IHZhbHVlOgojICAgIiR7V09SS0RJUn0vJHtCUH0iClM9Ii9tZWRpYS9yZWJlY2Nhcy95b2N0by9s
dHRuZy90bXAvd29yay9xZW11eDg2LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9s
dHRuZy1tb2R1bGVzLTIuOS4xIgojCiMgJFNBTklUWV9BQklGSUxFCiMgICBzZXQgL21lZGlhL3Jl
YmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL3Nhbml0eS5jb25mOjgKIyAgICAgIiR7VE1QRElS
fS9hYmlfdmVyc2lvbiIKU0FOSVRZX0FCSUZJTEU9Ii9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRu
Zy90bXAvYWJpX3ZlcnNpb24iCiMKIyAkU0FOSVRZX0JCTEFZRVJDT05GX1NBTVBMRQojICAgc2V0
PyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NsYXNzZXMvc2FuaXR5LmJiY2xhc3M6
NzkKIyAgICAgIiR7Q09SRUJBU0V9L21ldGEqL2NvbmYvYmJsYXllcnMuY29uZi5zYW1wbGUiClNB
TklUWV9CQkxBWUVSQ09ORl9TQU1QTEU9Ii9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEq
L2NvbmYvYmJsYXllcnMuY29uZi5zYW1wbGUiCiMKIyAkU0FOSVRZX0RJRkZfVE9PTAojICAgc2V0
PyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NsYXNzZXMvc2FuaXR5LmJiY2xhc3M6
MzcKIyAgICAgIm1lbGQiClNBTklUWV9ESUZGX1RPT0w9Im1lbGQiCiMKIyAkU0FOSVRZX0xPQ0FM
Q09ORl9TQU1QTEUKIyAgIHNldD8gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFz
c2VzL3Nhbml0eS5iYmNsYXNzOjM5CiMgICAgICIke0NPUkVCQVNFfS9tZXRhKi9jb25mL2xvY2Fs
LmNvbmYuc2FtcGxlIgpTQU5JVFlfTE9DQUxDT05GX1NBTVBMRT0iL21lZGlhL3JlYmVjY2FzL3lv
Y3RvL3Bva3kvbWV0YSovY29uZi9sb2NhbC5jb25mLnNhbXBsZSIKIwojICRTQU5JVFlfUkVRVUlS
RURfVVRJTElUSUVTCiMgICBzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY2xh
c3Nlcy9zYW5pdHkuYmJjbGFzczo2CiMgICAgICJwYXRjaCBkaWZmc3RhdCBtYWtlaW5mbyBnaXQg
YnppcDIgdGFyICAgICBnemlwIGdhd2sgY2hycGF0aCB3Z2V0IGNwaW8gcGVybCBmaWxlIHdoaWNo
IgpTQU5JVFlfUkVRVUlSRURfVVRJTElUSUVTPSJwYXRjaCBkaWZmc3RhdCBtYWtlaW5mbyBnaXQg
YnppcDIgdGFyICAgICBnemlwIGdhd2sgY2hycGF0aCB3Z2V0IGNwaW8gcGVybCBmaWxlIHdoaWNo
IgojCiMgJFNBTklUWV9TSVRFQ09ORl9TQU1QTEUKIyAgIHNldD8gL21lZGlhL3JlYmVjY2FzL3lv
Y3RvL3Bva3kvbWV0YS9jbGFzc2VzL3Nhbml0eS5iYmNsYXNzOjU5CiMgICAgICIke0NPUkVCQVNF
fS9tZXRhKi9jb25mL3NpdGUuY29uZi5zYW1wbGUiClNBTklUWV9TSVRFQ09ORl9TQU1QTEU9Ii9t
ZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEqL2NvbmYvc2l0ZS5jb25mLnNhbXBsZSIKIwoj
ICRTQU5JVFlfVEVTVEVEX0RJU1RST1MgWzIgb3BlcmF0aW9uc10KIyAgIHNldD8gL21lZGlhL3Jl
YmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5L2NvbmYvZGlzdHJvL3Bva3kuY29uZjo4NAojICAg
ICAiIHBva3ktMi4yIFxuIHBva3ktMi4zIFxuIHVidW50dS0xNS4wNCBcbiB1YnVudHUtMTYuMDQg
XG4gdWJ1bnR1LTE2LjEwIFxuIGZlZG9yYS0yNCBcbiBmZWRvcmEtMjUgXG4gY2VudG9zLTcgXG4g
ZGViaWFuLTggXG4gb3BlbnN1c2UtNDIuMSBcbiBvcGVuc3VzZS00Mi4yIFxuICIKIyAgIHNldCAv
bWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjM2
MwojICAgICBbZG9jXSAiQSBsaXN0IG9mIHRoZSBob3N0IGRpc3RyaWJ1dGlvbiBpZGVudGlmaWVy
cyB0aGF0IHRoZSBidWlsZCBzeXN0ZW0gaGFzIGJlZW4gdGVzdGVkIGFnYWluc3QuIgojIHByZS1l
eHBhbnNpb24gdmFsdWU6CiMgICAiIHBva3ktMi4yIFxuIHBva3ktMi4zIFxuIHVidW50dS0xNS4w
NCBcbiB1YnVudHUtMTYuMDQgXG4gdWJ1bnR1LTE2LjEwIFxuIGZlZG9yYS0yNCBcbiBmZWRvcmEt
MjUgXG4gY2VudG9zLTcgXG4gZGViaWFuLTggXG4gb3BlbnN1c2UtNDIuMSBcbiBvcGVuc3VzZS00
Mi4yIFxuICIKU0FOSVRZX1RFU1RFRF9ESVNUUk9TPSIgcG9reS0yLjIgXG4gcG9reS0yLjMgXG4g
dWJ1bnR1LTE1LjA0IFxuIHVidW50dS0xNi4wNCBcbiB1YnVudHUtMTYuMTAgXG4gZmVkb3JhLTI0
IFxuIGZlZG9yYS0yNSBcbiBjZW50b3MtNyBcbiBkZWJpYW4tOCBcbiBvcGVuc3VzZS00Mi4xIFxu
IG9wZW5zdXNlLTQyLjIgXG4gIgojCiMgJFNBTklUWV9WRVJTSU9OCiMgICBzZXQ/IC9tZWRpYS9y
ZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9zYW5pdHkuY29uZjoxMAojICAgICAiMSIKU0FO
SVRZX1ZFUlNJT049IjEiCiMKIyAkU0FWQU5OQUhfR05VX01JUlJPUgojICAgc2V0IC9tZWRpYS9y
ZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6NjE4CiMgICAgICJodHRw
Oi8vZG93bmxvYWQuc2F2YW5uYWguZ251Lm9yZy9yZWxlYXNlcyIKU0FWQU5OQUhfR05VX01JUlJP
Uj0iaHR0cDovL2Rvd25sb2FkLnNhdmFubmFoLmdudS5vcmcvcmVsZWFzZXMiCiMKIyAkU0FWQU5O
QUhfTk9OR05VX01JUlJPUgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEv
Y29uZi9iaXRiYWtlLmNvbmY6NjE5CiMgICAgICJodHRwOi8vZG93bmxvYWQuc2F2YW5uYWgubm9u
Z251Lm9yZy9yZWxlYXNlcyIKU0FWQU5OQUhfTk9OR05VX01JUlJPUj0iaHR0cDovL2Rvd25sb2Fk
LnNhdmFubmFoLm5vbmdudS5vcmcvcmVsZWFzZXMiCiMKIyAkU0RLR0NDVkVSU0lPTgojICAgc2V0
PyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvdGNt
b2RlLWRlZmF1bHQuaW5jOjI2CiMgICAgICIke0dDQ1ZFUlNJT059IgpTREtHQ0NWRVJTSU9OPSI2
LjMlIgojCiMgJFNES0lNQUdFX0ZFQVRVUkVTCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3Rv
L3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjozNjkKIyAgICAgW2RvY10gIkVxdWl2
YWxlbnQgdG8gSU1BR0VfRkVBVFVSRVMuIEhvd2V2ZXIsIHRoaXMgdmFyaWFibGUgYXBwbGllcyB0
byB0aGUgU0RLIGdlbmVyYXRlZCBmcm9tIGFuIGltYWdlIHVzaW5nIHRoZSBjb21tYW5kICdiaXRi
YWtlIC1jIHBvcHVsYXRlX3NkayBpbWFnZW5hbWUnLiIKIwojICRTREtNQUNISU5FIFsyIG9wZXJh
dGlvbnNdCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJh
a2UuY29uZjoxMzIKIyAgICAgW19kZWZhdWx0dmFsXSAieDg2XzY0IgojICAgc2V0IC9tZWRpYS9y
ZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6MzcwCiMgICAg
IFtkb2NdICJTcGVjaWZpZXMgdGhlIGFyY2hpdGVjdHVyZSAoaS5lLiBpNjg2IG9yIHg4Nl82NCkg
Zm9yIHdoaWNoIHRvIGJ1aWxkIFNESyBhbmQgQURUIGl0ZW1zLiIKIyBwcmUtZXhwYW5zaW9uIHZh
bHVlOgojICAgIng4Nl82NCIKU0RLTUFDSElORT0ieDg2XzY0IgojCiMgJFNES1BBVEggWzIgb3Bl
cmF0aW9uc10KIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0
YmFrZS5jb25mOjQwMQojICAgICAiL3Vzci9sb2NhbC8ke1NES19OQU1FX1BSRUZJWH0tJHtTREtf
QVJDSH0iCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5L2NvbmYv
ZGlzdHJvL3Bva3kuY29uZjozMwojICAgICAiL29wdC8ke0RJU1RST30vJHtTREtfVkVSU0lPTn0i
CiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICIvb3B0LyR7RElTVFJPfS8ke1NES19WRVJTSU9O
fSIKU0RLUEFUSD0iL29wdC9wb2t5LzIuMy4yIgojCiMgJFNES1BBVEhOQVRJVkUKIyAgIHNldCAv
bWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjQwMgojICAg
ICAiJHtTREtQQVRIfS9zeXNyb290cy8ke1NES19TWVN9IgpTREtQQVRITkFUSVZFPSIvb3B0L3Bv
a3kvMi4zLjIvc3lzcm9vdHMveDg2XzY0LXBva3lzZGstbGludXgiCiMKIyAkU0RLUEtHU1VGRklY
CiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29u
ZjoxMzgKIyAgICAgIm5hdGl2ZXNkayIKU0RLUEtHU1VGRklYPSJuYXRpdmVzZGsiCiMKIyAkU0RL
VVNFX05MUwojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRi
YWtlLmNvbmY6MTIxCiMgICAgIFtfZGVmYXVsdHZhbF0gInllcyIKU0RLVVNFX05MUz0ieWVzIgoj
CiMgJFNES19BUkNIIFsyIG9wZXJhdGlvbnNdCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3Rv
L3Bva3kvbWV0YS9jb25mL21hY2hpbmUtc2RrL3g4Nl82NC5jb25mOjEKIyAgICAgIng4Nl82NCIK
IyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlv
bi5jb25mOjM2NAojICAgICBbZG9jXSAiVGhlIHRhcmdldCBhcmNoaXRlY3R1cmUgZm9yIHRoZSBT
REsuIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAieDg2XzY0IgpTREtfQVJDSD0ieDg2XzY0
IgojCiMgJFNES19BU19BUkNICiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0
YS9jb25mL2JpdGJha2UuY29uZjoxNDEKIyAgICAgIiR7QlVJTERfQVNfQVJDSH0iClNES19BU19B
UkNIPSIiCiMKIyAkU0RLX0NDX0FSQ0gKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9r
eS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjEzNwojICAgICAiJHtCVUlMRF9DQ19BUkNIfSIKU0RL
X0NDX0FSQ0g9IiIKIwojICRTREtfREVQTE9ZCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3Rv
L3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjozNjUKIyAgICAgW2RvY10gIlRoZSBk
aXJlY3Rvcnkgc2V0IHVwIGFuZCB1c2VkIGJ5IHRoZSBwb3B1bGF0ZV9zZGtfYmFzZSB0byB3aGlj
aCB0aGUgU0RLIGlzIGRlcGxveWVkLiIKIwojICRTREtfRElSCiMgICBzZXQgL21lZGlhL3JlYmVj
Y2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjozNjYKIyAgICAgW2Rv
Y10gIlRoZSBwYXJlbnQgZGlyZWN0b3J5IHVzZWQgYnkgdGhlIE9wZW5FbWJlZGRlZCBidWlsZCBz
eXN0ZW0gd2hlbiBjcmVhdGluZyBTREsgb3V0cHV0LiIKIwojICRTREtfTERfQVJDSAojICAgc2V0
IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6MTQwCiMg
ICAgICIke0JVSUxEX0xEX0FSQ0h9IgpTREtfTERfQVJDSD0iIgojCiMgJFNES19OQU1FIFszIG9w
ZXJhdGlvbnNdCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Jp
dGJha2UuY29uZjo0MDAKIyAgICAgIiR7U0RLX05BTUVfUFJFRklYfS0ke1NES19BUkNIfS0ke1RV
TkVfUEtHQVJDSH0iCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5
L2NvbmYvZGlzdHJvL3Bva3kuY29uZjozMgojICAgICAiJHtESVNUUk99LSR7VENMSUJDfS0ke1NE
S19BUkNIfS0ke0lNQUdFX0JBU0VOQU1FfS0ke1RVTkVfUEtHQVJDSH0iCiMgICBzZXQgL21lZGlh
L3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjozNjcKIyAg
ICAgW2RvY10gIlRoZSBiYXNlIG5hbWUgZm9yIFNESyBvdXRwdXQgZmlsZXMuIgojIHByZS1leHBh
bnNpb24gdmFsdWU6CiMgICAiJHtESVNUUk99LSR7VENMSUJDfS0ke1NES19BUkNIfS0ke0lNQUdF
X0JBU0VOQU1FfS0ke1RVTkVfUEtHQVJDSH0iClNES19OQU1FPSJwb2t5LWdsaWJjLXg4Nl82NC1s
dHRuZy1tb2R1bGVzLWk1ODYiCiMKIyAkU0RLX05BTUVfUFJFRklYCiMgICBzZXQ/IC9tZWRpYS9y
ZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6Mzk5CiMgICAgICJvZWNv
cmUiClNES19OQU1FX1BSRUZJWD0ib2Vjb3JlIgojCiMgJFNES19PTERFU1RfS0VSTkVMIFsyIG9w
ZXJhdGlvbnNdCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Jp
dGJha2UuY29uZjo0MTUKIyAgICAgIjMuMi4wIgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0
by9wb2t5L21ldGEvY29uZi9tYWNoaW5lLXNkay94ODZfNjQuY29uZjozCiMgICAgICIyLjYuMzIi
CiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICIyLjYuMzIiClNES19PTERFU1RfS0VSTkVMPSIy
LjYuMzIiCiMKIyAkU0RLX09TCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0
YS9jb25mL2JpdGJha2UuY29uZjoxMzMKIyAgICAgIiR7QlVJTERfT1N9IgpTREtfT1M9ImxpbnV4
IgojCiMgJFNES19PVVRQVVQKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRh
L2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjM2OAojICAgICBbZG9jXSAiVGhlIGxvY2F0aW9uIHVz
ZWQgYnkgdGhlIE9wZW5FbWJlZGRlZCBidWlsZCBzeXN0ZW0gd2hlbiBjcmVhdGluZyBTREsgb3V0
cHV0LiIKIwojICRTREtfUEFDS0FHRV9BUkNIUwojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0
by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6MTM5CiMgICAgICJhbGwgYW55IG5vYXJjaCAk
e1NES19BUkNIfS0ke1NES1BLR1NVRkZJWH0iClNES19QQUNLQUdFX0FSQ0hTPSJhbGwgYW55IG5v
YXJjaCB4ODZfNjQtbmF0aXZlc2RrIgojCiMgJFNES19QUkVGSVgKIyAgIHNldCAvbWVkaWEvcmVi
ZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjEzNgojICAgICAiJHtTREtf
U1lTfS0iClNES19QUkVGSVg9Ing4Nl82NC1wb2t5c2RrLWxpbnV4LSIKIwojICRTREtfU1lTCiMg
ICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjox
MzUKIyAgICAgIiR7U0RLX0FSQ0h9JHtTREtfVkVORE9SfSR7QFsnLScgKyBkLmdldFZhcignU0RL
X09TJyksICcnXVtkLmdldFZhcignU0RLX09TJykgPT0gKCcnIG9yICdjdXN0b20nKV19IgpTREtf
U1lTPSJ4ODZfNjQtcG9reXNkay1saW51eCIKIwojICRTREtfVkVORE9SIFsyIG9wZXJhdGlvbnNd
CiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29u
ZjoxMzQKIyAgICAgIi1vZXNkayIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9t
ZXRhLXBva3kvY29uZi9kaXN0cm8vcG9reS5jb25mOjUKIyAgICAgIi1wb2t5c2RrIgojIHByZS1l
eHBhbnNpb24gdmFsdWU6CiMgICAiLXBva3lzZGsiClNES19WRU5ET1I9Ii1wb2t5c2RrIgojCiMg
JFNES19WRVJTSU9OIFszIG9wZXJhdGlvbnNdCiMgICBpbW1lZGlhdGUgL21lZGlhL3JlYmVjY2Fz
L3lvY3RvL3Bva3kvbWV0YS1wb2t5L2NvbmYvZGlzdHJvL3Bva3kuY29uZjo2CiMgICAgICIke0An
JHtESVNUUk9fVkVSU0lPTn0nLnJlcGxhY2UoJ3NuYXBzaG90LSR7REFURX0nLCdzbmFwc2hvdCcp
fSIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXBva3kvY29uZi9kaXN0
cm8vcG9reS5jb25mOjE1CiMgICAgIFt2YXJkZXBzZXhjbHVkZV0gIkRBVEUiCiMgICBzZXQgL21l
ZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL2RlZmF1bHQt
ZGlzdHJvdmFycy5pbmM6NDEKIyAgICAgW19kZWZhdWx0dmFsXSAibm9kaXN0cm8uMCIKIyBwcmUt
ZXhwYW5zaW9uIHZhbHVlOgojICAgIjIuMy4yIgpTREtfVkVSU0lPTj0iMi4zLjIiCiMKIyAkU0VD
VElPTiBbNyBvcGVyYXRpb25zXQojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21l
dGEvY29uZi9iaXRiYWtlLmNvbmY6MjIxCiMgICAgICJiYXNlIgojICAgc2V0IC9tZWRpYS9yZWJl
Y2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6MzcxCiMgICAgIFtk
b2NdICJUaGUgc2VjdGlvbiBpbiB3aGljaCBwYWNrYWdlcyBzaG91bGQgYmUgY2F0ZWdvcml6ZWQu
IFBhY2thZ2UgbWFuYWdlbWVudCB1dGlsaXRpZXMgY2FuIG1ha2UgdXNlIG9mIHRoaXMgdmFyaWFi
bGUuIgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvcmVjaXBlcy1rZXJu
ZWwvbHR0bmcvbHR0bmctbW9kdWxlc18yLjkuMS5iYjoxCiMgICAgICJkZXZlbCIKIyAgIG92ZXJy
aWRlW2x0dG5nLW1vZHVsZXMtZGJnXTpyZW5hbWUgZnJvbSBTRUNUSU9OXyR7UE59LWRiZyBkYXRh
LnB5OjExNiBbZXhwYW5kS2V5c10KIyAgICAgImRldmVsIgojICAgb3ZlcnJpZGVbbHR0bmctbW9k
dWxlcy1kZXZdOnJlbmFtZSBmcm9tIFNFQ1RJT05fJHtQTn0tZGV2IGRhdGEucHk6MTE2IFtleHBh
bmRLZXlzXQojICAgICAiZGV2ZWwiCiMgICBvdmVycmlkZVtsdHRuZy1tb2R1bGVzLWRvY106cmVu
YW1lIGZyb20gU0VDVElPTl8ke1BOfS1kb2MgZGF0YS5weToxMTYgW2V4cGFuZEtleXNdCiMgICAg
ICJkb2MiCiMgICBvdmVycmlkZVtsdHRuZy1tb2R1bGVzLXN0YXRpY2Rldl06cmVuYW1lIGZyb20g
U0VDVElPTl8ke1BOfS1zdGF0aWNkZXYgZGF0YS5weToxMTYgW2V4cGFuZEtleXNdCiMgICAgICJk
ZXZlbCIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgImRldmVsIgpTRUNUSU9OPSJkZXZlbCIK
IwojICRTRUNUSU9OX2x0dG5nLW1vZHVsZXMtZGJnCiMgICByZW5hbWUgZnJvbSBTRUNUSU9OXyR7
UE59LWRiZyBkYXRhLnB5OjExNiBbZXhwYW5kS2V5c10KIyAgICAgImRldmVsIgpTRUNUSU9OX2x0
dG5nLW1vZHVsZXMtZGJnPSJkZXZlbCIKIwojICRTRUNUSU9OX2x0dG5nLW1vZHVsZXMtZGV2CiMg
ICByZW5hbWUgZnJvbSBTRUNUSU9OXyR7UE59LWRldiBkYXRhLnB5OjExNiBbZXhwYW5kS2V5c10K
IyAgICAgImRldmVsIgpTRUNUSU9OX2x0dG5nLW1vZHVsZXMtZGV2PSJkZXZlbCIKIwojICRTRUNU
SU9OX2x0dG5nLW1vZHVsZXMtZG9jCiMgICByZW5hbWUgZnJvbSBTRUNUSU9OXyR7UE59LWRvYyBk
YXRhLnB5OjExNiBbZXhwYW5kS2V5c10KIyAgICAgImRvYyIKU0VDVElPTl9sdHRuZy1tb2R1bGVz
LWRvYz0iZG9jIgojCiMgJFNFQ1RJT05fbHR0bmctbW9kdWxlcy1zdGF0aWNkZXYKIyAgIHJlbmFt
ZSBmcm9tIFNFQ1RJT05fJHtQTn0tc3RhdGljZGV2IGRhdGEucHk6MTE2IFtleHBhbmRLZXlzXQoj
ICAgICAiZGV2ZWwiClNFQ1RJT05fbHR0bmctbW9kdWxlcy1zdGF0aWNkZXY9ImRldmVsIgojCiMg
JFNFTEVDVEVEX09QVElNSVpBVElPTiBbMyBvcGVyYXRpb25zXQojICAgc2V0IC9tZWRpYS9yZWJl
Y2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6NTkyCiMgICAgICIke0BkLmdl
dFZhcihbJ0ZVTExfT1BUSU1JWkFUSU9OJywgJ0RFQlVHX09QVElNSVpBVElPTiddW2QuZ2V0VmFy
KCdERUJVR19CVUlMRCcpID09ICcxJ10pfSIKIyAgIGFwcGVuZCAvbWVkaWEvcmViZWNjYXMveW9j
dG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjU5MwojICAgICBbdmFyZGVwc10gIkZVTExf
T1BUSU1JWkFUSU9OIERFQlVHX09QVElNSVpBVElPTiIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMv
eW9jdG8vcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjM3MgojICAgICBbZG9jXSAi
VGhlIHZhcmlhYmxlIHRha2VzIHRoZSB2YWx1ZSBvZiBGVUxMX09QVElNSVpBVElPTiB1bmxlc3Mg
REVCVUdfQlVJTEQgPSAnMScuIEluIHRoaXMgY2FzZSwgdGhlIHZhbHVlIG9mIERFQlVHX09QVElN
SVpBVElPTiBpcyB1c2VkLiIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIiR7QGQuZ2V0VmFy
KFsnRlVMTF9PUFRJTUlaQVRJT04nLCAnREVCVUdfT1BUSU1JWkFUSU9OJ11bZC5nZXRWYXIoJ0RF
QlVHX0JVSUxEJykgPT0gJzEnXSl9IgpTRUxFQ1RFRF9PUFRJTUlaQVRJT049Ii1PMiAtcGlwZSAt
ZyAtZmVsaW1pbmF0ZS11bnVzZWQtZGVidWctdHlwZXMgLWZkZWJ1Zy1wcmVmaXgtbWFwPS9tZWRp
YS9yZWJlY2Nhcy95b2N0by9sdHRuZy90bXAvd29yay9xZW11eDg2LXBva3ktbGludXgvbHR0bmct
bW9kdWxlcy8yLjkuMS1yMD0vdXNyL3NyYy9kZWJ1Zy9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwIC1m
ZGVidWctcHJlZml4LW1hcD0vbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvdG1wL3dvcmsvcWVt
dXg4Ni1wb2t5LWxpbnV4L2x0dG5nLW1vZHVsZXMvMi45LjEtcjAvcmVjaXBlLXN5c3Jvb3QtbmF0
aXZlPSAtZmRlYnVnLXByZWZpeC1tYXA9L21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL3RtcC93
b3JrL3FlbXV4ODYtcG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL3JlY2lwZS1zeXNy
b290PSAiCiMKIyAkU0VSSUFMX0NPTlNPTEUgWzIgb3BlcmF0aW9uc10KIyAgIHNldCAvbWVkaWEv
cmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjM3MwojICAg
ICBbZG9jXSAiVGhlIHNwZWVkIGFuZCBkZXZpY2UgZm9yIHRoZSBzZXJpYWwgcG9ydCB1c2VkIHRv
IGF0dGFjaCB0aGUgc2VyaWFsIGNvbnNvbGUuIFRoaXMgdmFyaWFibGUgaXMgZ2l2ZW4gdG8gdGhl
IGtlcm5lbCBhcyB0aGUgJ2NvbnNvbGUnIHBhcmFtZXRlci4gQWZ0ZXIgYm9vdGluZyBvY2N1cnMs
IGdldHR5IGlzIHN0YXJ0ZWQgb24gdGhhdCBwb3J0IHNvIHJlbW90ZSBsb2dpbiBpcyBwb3NzaWJs
ZS4iCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2Uu
Y29uZjo4MTUKIyAgICAgW19kZWZhdWx0dmFsXSAiIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMg
ICAiIgpTRVJJQUxfQ09OU09MRT0iIgojCiMgJFNFUklBTF9DT05TT0xFUyBbMyBvcGVyYXRpb25z
XQojICAgc2V0PyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvbWFjaGluZS9x
ZW11eDg2LmNvbmY6MTYKIyAgICAgIjExNTIwMDt0dHlTMCAxMTUyMDA7dHR5UzEiCiMgICBzZXQg
L21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjoz
NzQKIyAgICAgW2RvY10gIkRlZmluZXMgdGhlIHNlcmlhbCBjb25zb2xlcyAoVFRZcykgdG8gZW5h
YmxlIHVzaW5nIGdldHR5LiIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRh
L2NvbmYvYml0YmFrZS5jb25mOjgxNgojICAgICBbX2RlZmF1bHR2YWxdICIke0BkLmdldFZhcign
U0VSSUFMX0NPTlNPTEUnKS5yZXBsYWNlKCcgJywgJzsnKX0iCiMgcHJlLWV4cGFuc2lvbiB2YWx1
ZToKIyAgICIxMTUyMDA7dHR5UzAgMTE1MjAwO3R0eVMxIgpTRVJJQUxfQ09OU09MRVM9IjExNTIw
MDt0dHlTMCAxMTUyMDA7dHR5UzEiCiMKIyAkU0VSSUFMX0NPTlNPTEVTX0NIRUNLCiMgICBzZXQg
L21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjoz
NzUKIyAgICAgW2RvY10gIlNpbWlsYXIgdG8gU0VSSUFMX0NPTlNPTEVTIGV4Y2VwdCB0aGUgZGV2
aWNlIGlzIGNoZWNrZWQgZm9yIGV4aXN0ZW5jZSBiZWZvcmUgYXR0ZW1wdGluZyB0byBlbmFibGUg
aXQuIFN1cHBvcnRlZCBvbmx5IGJ5IFN5c1Zpbml0LiIKIwojICRTSEVMTCBbNCBvcGVyYXRpb25z
XQojICAgZnJvbSBlbnYgZGF0YS5weToxMjQgW2luaGVyaXRGcm9tT1NdCiMgICAgICIvYmluL2Jh
c2giCiMgICBhdXRvIGVudiBleHBvcnQgZGF0YS5weToxMjYgW2luaGVyaXRGcm9tT1NdCiMgICAg
IFtleHBvcnRdICJUcnVlIgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEv
Y29uZi9iaXRiYWtlLmNvbmY6ODM3CiMgICAgIFt1bmV4cG9ydF0gIjEiCiMgICBzZXQ/IC9tZWRp
YS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY2xhc3Nlcy90ZXJtaW5hbC5iYmNsYXNzOjEwCiMg
ICAgICJiYXNoIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiL2Jpbi9iYXNoIgp1bnNldCBT
SEVMTAojCiMgJFNITElCU0RJUlMKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9t
ZXRhL2NsYXNzZXMvcGFja2FnZS5iYmNsYXNzOjE1MDIKIyAgICAgIiR7UEtHREFUQV9ESVJ9LyR7
TUxQUkVGSVh9c2hsaWJzMiIKU0hMSUJTRElSUz0iL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5n
L3RtcC9wa2dkYXRhL3FlbXV4ODYvc2hsaWJzMiIKIwojICRTSExJQlNXT1JLRElSCiMgICBzZXQg
L21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL3BhY2thZ2UuYmJjbGFzczox
NTAzCiMgICAgICIke1BLR0RFU1RXT1JLfS8ke01MUFJFRklYfXNobGliczIiClNITElCU1dPUktE
SVI9Ii9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy90bXAvd29yay9xZW11eDg2LXBva3ktbGlu
dXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9wa2dkYXRhL3NobGliczIiCiMKIyAkU0lHR0VOX0VY
Q0xVREVSRUNJUEVTX0FCSVNBRkUgWzIgb3BlcmF0aW9uc10KIyAgIGFwcGVuZCAvbWVkaWEvcmVi
ZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvbGF5ZXIuY29uZjo0MQojICAgICAiIHN5c3Zpbml0
LWluaXR0YWIgc2hhZG93LXNlY3VyZXR0eSBvcGtnLWFyY2gtY29uZmlnIG5ldGJhc2UgaW5pdC1p
ZnVwZG93biBjb25ubWFuLWNvbmYgZm9ybWZhY3RvciB4c2VydmVyLXhmODYtY29uZmlnIHBvaW50
ZXJjYWwteGlucHV0IGJhc2UtZmlsZXMga2V5bWFwcyB1ZGV2LWV4dHJhY29uZiBwYWNrYWdlZ3Jv
dXAteDExLXhzZXJ2ZXIgc3lzdGVtZC1zZXJpYWxnZXR0eSBpbml0c2NyaXB0cyBzaGFkb3cgc2hh
ZG93LXN5c3Jvb3QgYmFzZS1wYXNzd2Qgb3BrZy11dGlscyBnc3RyZWFtZXIxLjAtbWV0YS1iYXNl
ICIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRh
dGlvbi5jb25mOjM3NwojICAgICBbZG9jXSAiQSBsaXN0IG9mIHJlY2lwZXMgdGhhdCBhcmUgY29t
cGxldGVseSBzdGFibGUgYW5kIHdpbGwgbmV2ZXIgY2hhbmdlLiIKIyBwcmUtZXhwYW5zaW9uIHZh
bHVlOgojICAgIiAgc3lzdmluaXQtaW5pdHRhYiBzaGFkb3ctc2VjdXJldHR5IG9wa2ctYXJjaC1j
b25maWcgbmV0YmFzZSBpbml0LWlmdXBkb3duIGNvbm5tYW4tY29uZiBmb3JtZmFjdG9yIHhzZXJ2
ZXIteGY4Ni1jb25maWcgcG9pbnRlcmNhbC14aW5wdXQgYmFzZS1maWxlcyBrZXltYXBzIHVkZXYt
ZXh0cmFjb25mIHBhY2thZ2Vncm91cC14MTEteHNlcnZlciBzeXN0ZW1kLXNlcmlhbGdldHR5IGlu
aXRzY3JpcHRzIHNoYWRvdyBzaGFkb3ctc3lzcm9vdCBiYXNlLXBhc3N3ZCBvcGtnLXV0aWxzIGdz
dHJlYW1lcjEuMC1tZXRhLWJhc2UgIgpTSUdHRU5fRVhDTFVERVJFQ0lQRVNfQUJJU0FGRT0iICBz
eXN2aW5pdC1pbml0dGFiIHNoYWRvdy1zZWN1cmV0dHkgb3BrZy1hcmNoLWNvbmZpZyBuZXRiYXNl
IGluaXQtaWZ1cGRvd24gY29ubm1hbi1jb25mIGZvcm1mYWN0b3IgeHNlcnZlci14Zjg2LWNvbmZp
ZyBwb2ludGVyY2FsLXhpbnB1dCBiYXNlLWZpbGVzIGtleW1hcHMgdWRldi1leHRyYWNvbmYgcGFj
a2FnZWdyb3VwLXgxMS14c2VydmVyIHN5c3RlbWQtc2VyaWFsZ2V0dHkgaW5pdHNjcmlwdHMgc2hh
ZG93IHNoYWRvdy1zeXNyb290IGJhc2UtcGFzc3dkIG9wa2ctdXRpbHMgZ3N0cmVhbWVyMS4wLW1l
dGEtYmFzZSAiCiMKIyAkU0lHR0VOX0VYQ0xVREVfU0FGRV9SRUNJUEVfREVQUyBbMiBvcGVyYXRp
b25zXQojICAgYXBwZW5kIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9sYXll
ci5jb25mOjYwCiMgICAgICIgZ2NjLWNyb3NzLSR7VEFSR0VUX0FSQ0h9LT52aXJ0dWFsLyR7VEFS
R0VUX1BSRUZJWH1saWJjLWZvci1nY2MgZ2NjLWNyb3NzLSR7VEFSR0VUX0FSQ0h9LT5saW51eC1s
aWJjLWhlYWRlcnMgcHBwLWRpYWxpbi0+cHBwIHJlc29sdmNvbmYtPmJhc2ggZG9jYm9vay14c2wt
c3R5bGVzaGVldHMtPnBlcmwgY2EtY2VydGlmaWNhdGVzLT5vcGVuc3NsIGluaXRyYW1mcy1mcmFt
ZXdvcmstPiR7VklSVFVBTC1SVU5USU1FX2Jhc2UtdXRpbHN9IGluaXRyYW1mcy1mcmFtZXdvcmst
PnN5c3RlbWQgaW5pdHJhbWZzLWZyYW1ld29yay0+ZXVkZXYgbGliZXJhdGlvbi1mb250cy0+Zm9u
dGNvbmZpZyBjYW50YXJlbGwtZm9udHMtPmZvbnRjb25maWcgZ25vbWUtaWNvbi10aGVtZS0+bGli
cnN2ZyBmb250LWFsaWFzLT5mb250LXV0aWwgd2VzdG9uLWluaXQtPndlc3RvbiB3ZXN0b24taW5p
dC0+a2JkIG9wcm9maWxlLT52aXJ0dWFsL2tlcm5lbCAiCiMgICBzZXQgL21lZGlhL3JlYmVjY2Fz
L3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjozNzYKIyAgICAgW2RvY10g
IkEgbGlzdCBvZiByZWNpcGUgZGVwZW5kZW5jaWVzIHRoYXQgc2hvdWxkIG5vdCBiZSB1c2VkIHRv
IGRldGVybWluZSBzaWduYXR1cmVzIG9mIHRhc2tzIGZyb20gb25lIHJlY2lwZSB3aGVuIHRoZXkg
ZGVwZW5kIG9uIHRhc2tzIGZyb20gYW5vdGhlciByZWNpcGUuIgojIHByZS1leHBhbnNpb24gdmFs
dWU6CiMgICAiICBnY2MtY3Jvc3MtJHtUQVJHRVRfQVJDSH0tPnZpcnR1YWwvJHtUQVJHRVRfUFJF
RklYfWxpYmMtZm9yLWdjYyBnY2MtY3Jvc3MtJHtUQVJHRVRfQVJDSH0tPmxpbnV4LWxpYmMtaGVh
ZGVycyBwcHAtZGlhbGluLT5wcHAgcmVzb2x2Y29uZi0+YmFzaCBkb2Nib29rLXhzbC1zdHlsZXNo
ZWV0cy0+cGVybCBjYS1jZXJ0aWZpY2F0ZXMtPm9wZW5zc2wgaW5pdHJhbWZzLWZyYW1ld29yay0+
JHtWSVJUVUFMLVJVTlRJTUVfYmFzZS11dGlsc30gaW5pdHJhbWZzLWZyYW1ld29yay0+c3lzdGVt
ZCBpbml0cmFtZnMtZnJhbWV3b3JrLT5ldWRldiBsaWJlcmF0aW9uLWZvbnRzLT5mb250Y29uZmln
IGNhbnRhcmVsbC1mb250cy0+Zm9udGNvbmZpZyBnbm9tZS1pY29uLXRoZW1lLT5saWJyc3ZnIGZv
bnQtYWxpYXMtPmZvbnQtdXRpbCB3ZXN0b24taW5pdC0+d2VzdG9uIHdlc3Rvbi1pbml0LT5rYmQg
b3Byb2ZpbGUtPnZpcnR1YWwva2VybmVsICIKU0lHR0VOX0VYQ0xVREVfU0FGRV9SRUNJUEVfREVQ
Uz0iICBnY2MtY3Jvc3MtaTU4Ni0+dmlydHVhbC9pNTg2LXBva3ktbGludXgtbGliYy1mb3ItZ2Nj
IGdjYy1jcm9zcy1pNTg2LT5saW51eC1saWJjLWhlYWRlcnMgcHBwLWRpYWxpbi0+cHBwIHJlc29s
dmNvbmYtPmJhc2ggZG9jYm9vay14c2wtc3R5bGVzaGVldHMtPnBlcmwgY2EtY2VydGlmaWNhdGVz
LT5vcGVuc3NsIGluaXRyYW1mcy1mcmFtZXdvcmstPmJ1c3lib3ggaW5pdHJhbWZzLWZyYW1ld29y
ay0+c3lzdGVtZCBpbml0cmFtZnMtZnJhbWV3b3JrLT5ldWRldiBsaWJlcmF0aW9uLWZvbnRzLT5m
b250Y29uZmlnIGNhbnRhcmVsbC1mb250cy0+Zm9udGNvbmZpZyBnbm9tZS1pY29uLXRoZW1lLT5s
aWJyc3ZnIGZvbnQtYWxpYXMtPmZvbnQtdXRpbCB3ZXN0b24taW5pdC0+d2VzdG9uIHdlc3Rvbi1p
bml0LT5rYmQgb3Byb2ZpbGUtPnZpcnR1YWwva2VybmVsICIKIwojICRTSUdHRU5fTE9DS0VEU0lH
U19TU1RBVEVfRVhJU1RTX0NIRUNLCiMgICBzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5
L21ldGEvY2xhc3Nlcy9zc3RhdGUuYmJjbGFzczo2MgojICAgICAiZXJyb3IiClNJR0dFTl9MT0NL
RURTSUdTX1NTVEFURV9FWElTVFNfQ0hFQ0s9ImVycm9yIgojCiMgJFNJR0dFTl9MT0NLRURTSUdT
X1RBU0tTSUdfQ0hFQ0sKIyAgIHNldD8gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9j
bGFzc2VzL3NzdGF0ZS5iYmNsYXNzOjY2CiMgICAgICJlcnJvciIKU0lHR0VOX0xPQ0tFRFNJR1Nf
VEFTS1NJR19DSEVDSz0iZXJyb3IiCiMKIyAkU0lURUlORk9fQklUUwojICAgc2V0IC9tZWRpYS9y
ZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6Mzc4CiMgICAg
IFtkb2NdICJTcGVjaWZpZXMgdGhlIG51bWJlciBvZiBiaXRzIGZvciB0aGUgdGFyZ2V0IHN5c3Rl
bSBDUFUuIgojCiMgJFNJVEVJTkZPX0VORElBTk5FU1MKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMv
eW9jdG8vcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjM3OQojICAgICBbZG9jXSAi
U3BlY2lmaWVzIHRoZSBlbmRpYW4gYnl0ZSBvcmRlciBvZiB0aGUgdGFyZ2V0IHN5c3RlbS4gVGhl
IHZhbHVlIHNob3VsZCBiZSBlaXRoZXIgJ2xlJyBmb3IgJ2xpdHRsZS1lbmRpYW4nIG9yICdiZScg
Zm9yICdiaWctZW5kaWFuJy4iCiMKIyAkU0lURV9DT05GX1ZFUlNJT04KIyAgIHNldD8gL21lZGlh
L3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL3Nhbml0eS5jb25mOjEzCiMgICAgICIxIgpT
SVRFX0NPTkZfVkVSU0lPTj0iMSIKIwojICRTT0NfRkFNSUxZCiMgICBzZXQgL21lZGlhL3JlYmVj
Y2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjozODAKIyAgICAgW2Rv
Y10gIkdyb3VwcyB0b2dldGhlciBtYWNoaW5lcyBiYXNlZCB1cG9uIHRoZSBzYW1lIGZhbWlseSBv
ZiBTT0MgKFN5c3RlbSBPbiBDaGlwKS4gWW91IHR5cGljYWxseSBzZXQgdGhpcyB2YXJpYWJsZSBp
biBhIGNvbW1vbiAuaW5jIGZpbGUgdGhhdCB5b3UgaW5jbHVkZSBpbiB0aGUgY29uZmlndXJhdGlv
biBmaWxlcyBvZiBhbGwgdGhlIG1hY2hpbmVzLiIKIwojICRTT0xJQlMgWzMgb3BlcmF0aW9uc10K
IyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25m
OjI2OAojICAgICAiLnNvLioiCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0
YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjozODEKIyAgICAgW2RvY10gIkRlZmluZXMgdGhlIHN1
ZmZpeCBmb3Igc2hhcmVkIGxpYnJhcmllcyB1c2VkIG9uIHRoZSB0YXJnZXQgcGxhdGZvcm0uIgoj
ICAgb3ZlcnJpZGVbZGFyd2luXTpzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9j
b25mL2JpdGJha2UuY29uZjoyNjkKIyAgICAgIi5keWxpYiIKIyBwcmUtZXhwYW5zaW9uIHZhbHVl
OgojICAgIi5zby4qIgpTT0xJQlM9Ii5zby4qIgojCiMgJFNPTElCU0RFViBbMyBvcGVyYXRpb25z
XQojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNv
bmY6MjcxCiMgICAgICIuc28iCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0
YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjozODIKIyAgICAgW2RvY10gIkRlZmluZXMgdGhlIHN1
ZmZpeCBmb3IgdGhlIGRldmVsb3BtZW50IHN5bWJvbGljIGxpbmsgKHN5bWxpbmspIGZvciBzaGFy
ZWQgbGlicmFyaWVzIG9uIHRoZSB0YXJnZXQgcGxhdGZvcm0uIgojICAgb3ZlcnJpZGVbZGFyd2lu
XTpzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjoy
NzUKIyAgICAgIi5keWxpYmJyb2tlbiIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIi5zbyIK
U09MSUJTREVWPSIuc28iCiMKIyAkU09MSUJTREVWX2RhcndpbgojICAgc2V0IC9tZWRpYS9yZWJl
Y2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6Mjc1CiMgICAgICIuZHlsaWJi
cm9rZW4iClNPTElCU0RFVl9kYXJ3aW49Ii5keWxpYmJyb2tlbiIKIwojICRTT0xJQlNfZGFyd2lu
CiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29u
ZjoyNjkKIyAgICAgIi5keWxpYiIKU09MSUJTX2Rhcndpbj0iLmR5bGliIgojCiMgJFNPVVJDRUZP
UkdFX01JUlJPUgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9i
aXRiYWtlLmNvbmY6NjE1CiMgICAgICJodHRwOi8vZG93bmxvYWRzLnNvdXJjZWZvcmdlLm5ldCIK
U09VUkNFRk9SR0VfTUlSUk9SPSJodHRwOi8vZG93bmxvYWRzLnNvdXJjZWZvcmdlLm5ldCIKIwoj
ICRTT1VSQ0VfTUlSUk9SX0ZFVENICiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kv
bWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjozODMKIyAgICAgW2RvY10gIlN3aXRjaCBtYXJr
aW5nIGJ1aWxkIGFzIHNvdXJjZSBmZXRjaGVyLiBVc2VkIHRvIHNraXAgQ09NUEFUSUJMRV8qIGNo
ZWNraW5nLiIKIwojICRTT1VSQ0VfTUlSUk9SX1VSTAojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95
b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6Mzg0CiMgICAgIFtkb2NdICJV
UkwgdG8gc291cmNlIG1pcnJvciB0aGF0IHdpbGwgYmUgdXNlZCBiZWZvcmUgZmV0Y2hpbmcgZnJv
bSBvcmlnaW5hbCBTUkNfVVJJLiIKIwojICRTUERYTElDRU5TRU1BUCBbMzcgb3BlcmF0aW9uc10K
IyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvbGljZW5zZXMuY29u
Zjo1NAojICAgICBbQUdQTC0zXSAiQUdQTC0zLjAiCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lv
Y3RvL3Bva3kvbWV0YS9jb25mL2xpY2Vuc2VzLmNvbmY6NTUKIyAgICAgW0FHUEx2M10gIkFHUEwt
My4wIgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9saWNlbnNl
cy5jb25mOjU2CiMgICAgIFtBR1BMdjMuMF0gIkFHUEwtMy4wIgojICAgc2V0IC9tZWRpYS9yZWJl
Y2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9saWNlbnNlcy5jb25mOjU5CiMgICAgIFtHUEwtMV0g
IkdQTC0xLjAiCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2xp
Y2Vuc2VzLmNvbmY6NjAKIyAgICAgW0dQTHYxXSAiR1BMLTEuMCIKIyAgIHNldCAvbWVkaWEvcmVi
ZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvbGljZW5zZXMuY29uZjo2MQojICAgICBbR1BMdjEu
MF0gIkdQTC0xLjAiCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25m
L2xpY2Vuc2VzLmNvbmY6NjIKIyAgICAgW0dQTC0yXSAiR1BMLTIuMCIKIyAgIHNldCAvbWVkaWEv
cmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvbGljZW5zZXMuY29uZjo2MwojICAgICBbR1BM
djJdICJHUEwtMi4wIgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29u
Zi9saWNlbnNlcy5jb25mOjY0CiMgICAgIFtHUEx2Mi4wXSAiR1BMLTIuMCIKIyAgIHNldCAvbWVk
aWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvbGljZW5zZXMuY29uZjo2NQojICAgICBb
R1BMLTNdICJHUEwtMy4wIgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEv
Y29uZi9saWNlbnNlcy5jb25mOjY2CiMgICAgIFtHUEx2M10gIkdQTC0zLjAiCiMgICBzZXQgL21l
ZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2xpY2Vuc2VzLmNvbmY6NjcKIyAgICAg
W0dQTHYzLjBdICJHUEwtMy4wIgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21l
dGEvY29uZi9saWNlbnNlcy5jb25mOjcwCiMgICAgIFtMR1BMdjJdICJMR1BMLTIuMCIKIyAgIHNl
dCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvbGljZW5zZXMuY29uZjo3MQoj
ICAgICBbTEdQTHYyLjBdICJMR1BMLTIuMCIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8v
cG9reS9tZXRhL2NvbmYvbGljZW5zZXMuY29uZjo3MgojICAgICBbTEdQTDIuMV0gIkxHUEwtMi4x
IgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9saWNlbnNlcy5j
b25mOjczCiMgICAgIFtMR1BMdjIuMV0gIkxHUEwtMi4xIgojICAgc2V0IC9tZWRpYS9yZWJlY2Nh
cy95b2N0by9wb2t5L21ldGEvY29uZi9saWNlbnNlcy5jb25mOjc0CiMgICAgIFtMR1BMdjNdICJM
R1BMLTMuMCIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvbGlj
ZW5zZXMuY29uZjo3NwojICAgICBbTVBMLTFdICJNUEwtMS4wIgojICAgc2V0IC9tZWRpYS9yZWJl
Y2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9saWNlbnNlcy5jb25mOjc4CiMgICAgIFtNUEx2MV0g
Ik1QTC0xLjAiCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2xp
Y2Vuc2VzLmNvbmY6NzkKIyAgICAgW01QTHYxLjFdICJNUEwtMS4xIgojICAgc2V0IC9tZWRpYS9y
ZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9saWNlbnNlcy5jb25mOjgwCiMgICAgIFtNUEx2
Ml0gIk1QTC0yLjAiCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25m
L2xpY2Vuc2VzLmNvbmY6ODMKIyAgICAgW01JVC1YXSAiTUlUIgojICAgc2V0IC9tZWRpYS9yZWJl
Y2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9saWNlbnNlcy5jb25mOjg0CiMgICAgIFtNSVQtc3R5
bGVdICJNSVQiCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2xp
Y2Vuc2VzLmNvbmY6ODcKIyAgICAgW29wZW5zc2xdICJPcGVuU1NMIgojICAgc2V0IC9tZWRpYS9y
ZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9saWNlbnNlcy5jb25mOjkwCiMgICAgIFtQU0Zd
ICJQeXRob24tMi4wIgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29u
Zi9saWNlbnNlcy5jb25mOjkxCiMgICAgIFtQU0Z2Ml0gIlB5dGhvbi0yLjAiCiMgICBzZXQgL21l
ZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2xpY2Vuc2VzLmNvbmY6OTIKIyAgICAg
W1B5dGhvbi0yXSAiUHl0aG9uLTIuMCIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9r
eS9tZXRhL2NvbmYvbGljZW5zZXMuY29uZjo5NQojICAgICBbQXBhY2hldjJdICJBcGFjaGUtMi4w
IgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9saWNlbnNlcy5j
b25mOjk2CiMgICAgIFtBcGFjaGUtMl0gIkFwYWNoZS0yLjAiCiMgICBzZXQgL21lZGlhL3JlYmVj
Y2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2xpY2Vuc2VzLmNvbmY6OTkKIyAgICAgW0FydGlzdGlj
djFdICJBcnRpc3RpYy0xLjAiCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0
YS9jb25mL2xpY2Vuc2VzLmNvbmY6MTAwCiMgICAgIFtBcnRpc3RpYy0xXSAiQXJ0aXN0aWMtMS4w
IgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9saWNlbnNlcy5j
b25mOjEwMwojICAgICBbQUZMLTJdICJBRkwtMi4wIgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95
b2N0by9wb2t5L21ldGEvY29uZi9saWNlbnNlcy5jb25mOjEwNAojICAgICBbQUZMLTFdICJBRkwt
MS4yIgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9saWNlbnNl
cy5jb25mOjEwNQojICAgICBbQUZMdjJdICJBRkwtMi4wIgojICAgc2V0IC9tZWRpYS9yZWJlY2Nh
cy95b2N0by9wb2t5L21ldGEvY29uZi9saWNlbnNlcy5jb25mOjEwNgojICAgICBbQUZMdjFdICJB
RkwtMS4yIgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9saWNl
bnNlcy5jb25mOjEwOQojICAgICBbRVBMdjEuMF0gIkVQTC0xLjAiCiMgICBzZXQgL21lZGlhL3Jl
YmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2xpY2Vuc2VzLmNvbmY6MTEyCiMgICAgIFtTR0l2
MV0gIlNHSS0xIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiTm9uZSIKIwojICRTUERYX01B
TklGRVNUX0RJUgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9s
aWNlbnNlcy5jb25mOjEyNgojICAgICAiL2hvbWUveW9jdG8vZm9zc29sb2d5X3NjYW5zIgpTUERY
X01BTklGRVNUX0RJUj0iL2hvbWUveW9jdG8vZm9zc29sb2d5X3NjYW5zIgojCiMgJFNQRFhfVEVN
UF9ESVIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvbGljZW5z
ZXMuY29uZjoxMjUKIyAgICAgIiR7V09SS0RJUn0vc3BkeF90ZW1wIgpTUERYX1RFTVBfRElSPSIv
bWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvdG1wL3dvcmsvcWVtdXg4Ni1wb2t5LWxpbnV4L2x0
dG5nLW1vZHVsZXMvMi45LjEtcjAvc3BkeF90ZW1wIgojCiMgJFNQRFhfVkVSU0lPTgojICAgc2V0
IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9saWNlbnNlcy5jb25mOjEyOQoj
ICAgICAiU1BEWC0xLjEiClNQRFhfVkVSU0lPTj0iU1BEWC0xLjEiCiMKIyAkU1BFQ0lBTF9QS0dT
VUZGSVggWzIgb3BlcmF0aW9uc10KIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9t
ZXRhL2NvbmYvYml0YmFrZS5jb25mOjIxNQojICAgICAiLW5hdGl2ZSAtY3Jvc3MgLWluaXRpYWwg
LWludGVybWVkaWF0ZSAtY3Jvc3NzZGsgLWNyb3NzLWNhbmFkaWFuIgojICAgc2V0IC9tZWRpYS9y
ZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6Mzg1CiMgICAg
IFtkb2NdICJBIGxpc3Qgb2YgcHJlZml4ZXMgZm9yIFBOIHVzZWQgYnkgdGhlIE9wZW5FbWJlZGRl
ZCBidWlsZCBzeXN0ZW0gdG8gY3JlYXRlIHZhcmlhbnRzIG9mIHJlY2lwZXMgb3IgcGFja2FnZXMu
IFRoZSBsaXN0IHNwZWNpZmllcyB0aGUgcHJlZml4ZXMgdG8gc3RyaXAgb2ZmIGR1cmluZyBjZXJ0
YWluIGNpcmN1bXN0YW5jZXMgc3VjaCBhcyB0aGUgZ2VuZXJhdGlvbiBvZiB0aGUgQlBOIHZhcmlh
YmxlLiIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIi1uYXRpdmUgLWNyb3NzIC1pbml0aWFs
IC1pbnRlcm1lZGlhdGUgLWNyb3Nzc2RrIC1jcm9zcy1jYW5hZGlhbiIKU1BFQ0lBTF9QS0dTVUZG
SVg9Ii1uYXRpdmUgLWNyb3NzIC1pbml0aWFsIC1pbnRlcm1lZGlhdGUgLWNyb3Nzc2RrIC1jcm9z
cy1jYW5hZGlhbiIKIwojICRTUkNEQVRFIFsyIG9wZXJhdGlvbnNdCiMgICBzZXQgL21lZGlhL3Jl
YmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo2NTAKIyAgICAgIiR7REFU
RX0iCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50
YXRpb24uY29uZjozODgKIyAgICAgW2RvY10gIlRoZSBkYXRlIG9mIHRoZSBzb3VyY2UgY29kZSB1
c2VkIHRvIGJ1aWxkIHRoZSBwYWNrYWdlLiBUaGlzIHZhcmlhYmxlIGFwcGxpZXMgb25seSBpZiB0
aGUgc291cmNlIHdhcyBmZXRjaGVkIGZyb20gYSBTb3VyY2UgQ29kZSBNYW5hZ2VyIChTQ00pLiIK
IyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIiR7REFURX0iClNSQ0RBVEU9IjIwMTcxMDI2Igoj
CiMgJFNSQ1BWIFsyIG9wZXJhdGlvbnNdCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bv
a3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo2NTUKIyAgICAgW3ZhcmRlcHZhbHVlXSAiJHtTUkNQ
Vn0iCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50
YXRpb24uY29uZjozODkKIyAgICAgW2RvY10gIlJldHVybnMgdGhlIHZlcnNpb24gc3RyaW5nIG9m
IHRoZSBjdXJyZW50IHBhY2thZ2UuIFRoaXMgc3RyaW5nIGlzIHVzZWQgdG8gaGVscCBkZWZpbmUg
dGhlIHZhbHVlIG9mIFBWLiIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIk5vbmUiCiMKIyAk
U1JDUkVWIFsyIG9wZXJhdGlvbnNdCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kv
bWV0YS9jb25mL2JpdGJha2UuY29uZjo2NTEKIyAgICAgW19kZWZhdWx0dmFsXSAiSU5WQUxJRCIK
IyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlv
bi5jb25mOjM5MAojICAgICBbZG9jXSAiVGhlIHJldmlzaW9uIG9mIHRoZSBzb3VyY2UgY29kZSB1
c2VkIHRvIGJ1aWxkIHRoZSBwYWNrYWdlLiBUaGlzIHZhcmlhYmxlIGFwcGxpZXMgdG8gU3VidmVy
c2lvbiwgR2l0LCBNZXJjdXJpYWwgYW5kIEJhemFhciBvbmx5LiIKIyBwcmUtZXhwYW5zaW9uIHZh
bHVlOgojICAgIklOVkFMSUQiClNSQ1JFVj0iSU5WQUxJRCIKIwojICRTUkNfRElTVFJJQlVURV9M
SUNFTlNFUyBbMzcgb3BlcmF0aW9uc10KIyAgIGFwcGVuZCAvbWVkaWEvcmViZWNjYXMveW9jdG8v
cG9reS9tZXRhL2NvbmYvbGljZW5zZXMuY29uZjo0CiMgICAgICJBQUwgQWRvYmUgQUZMLTEuMiBB
RkwtMi4wIEFGTC0yLjEgQUZMLTMuMCIKIyAgIGFwcGVuZCAvbWVkaWEvcmViZWNjYXMveW9jdG8v
cG9reS9tZXRhL2NvbmYvbGljZW5zZXMuY29uZjo1CiMgICAgICJBR1BMLTMuMCBBTlRMUi1QRCBB
cGFjaGUtMS4wIEFwYWNoZS0xLjEgQXBhY2hlLTIuMCIKIyAgIGFwcGVuZCAvbWVkaWEvcmViZWNj
YXMveW9jdG8vcG9reS9tZXRhL2NvbmYvbGljZW5zZXMuY29uZjo2CiMgICAgICJBUEwtMS4wIEFQ
U0wtMS4wIEFQU0wtMS4xIEFQU0wtMS4yIEFQU0wtMi4wIgojICAgYXBwZW5kIC9tZWRpYS9yZWJl
Y2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9saWNlbnNlcy5jb25mOjcKIyAgICAgIkFydGlzdGlj
LTEuMCBBcnRpc3RpYy0yLjAgQml0c3RyZWFtVmVyYSBCU0QiCiMgICBhcHBlbmQgL21lZGlhL3Jl
YmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2xpY2Vuc2VzLmNvbmY6OAojICAgICAiQlNELTIt
Q2xhdXNlIEJTRC0zLUNsYXVzZSBCU0QtNC1DbGF1c2UgQlNMLTEuMCIKIyAgIGFwcGVuZCAvbWVk
aWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvbGljZW5zZXMuY29uZjo5CiMgICAgICJD
QVRPU0wtMS4xIENDMC0xLjAgQ0MtQlktMS4wIENDLUJZLTIuMCBDQy1CWS0yLjUiCiMgICBhcHBl
bmQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2xpY2Vuc2VzLmNvbmY6MTAK
IyAgICAgIkNDLUJZLTMuMCBDQy1CWS1OQy0xLjAgQ0MtQlktTkMtMi4wIENDLUJZLU5DLTIuNSIK
IyAgIGFwcGVuZCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvbGljZW5zZXMu
Y29uZjoxMQojICAgICAiQ0MtQlktTkMtMy4wIENDLUJZLU5DLU5ELTEuMCBDQy1CWS1OQy1ORC0y
LjAiCiMgICBhcHBlbmQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2xpY2Vu
c2VzLmNvbmY6MTIKIyAgICAgIkNDLUJZLU5DLU5ELTIuNSBDQy1CWS1OQy1ORC0zLjAgQ0MtQlkt
TkMtU0EtMS4wIgojICAgYXBwZW5kIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29u
Zi9saWNlbnNlcy5jb25mOjEzCiMgICAgICJDQy1CWS1OQy1TQS0yLjAgQ0MtQlktTkMtU0EtMi41
IENDLUJZLU5DLVNBLTMuMCIKIyAgIGFwcGVuZCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9t
ZXRhL2NvbmYvbGljZW5zZXMuY29uZjoxNAojICAgICAiQ0MtQlktTkQtMS4wIENDLUJZLU5ELTIu
MCBDQy1CWS1ORC0yLjUgQ0MtQlktTkQtMy4wIgojICAgYXBwZW5kIC9tZWRpYS9yZWJlY2Nhcy95
b2N0by9wb2t5L21ldGEvY29uZi9saWNlbnNlcy5jb25mOjE1CiMgICAgICJDQy1CWS1TQS0xLjAg
Q0MtQlktU0EtMi4wIENDLUJZLVNBLTIuNSBDQy1CWS1TQS0zLjAiCiMgICBhcHBlbmQgL21lZGlh
L3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2xpY2Vuc2VzLmNvbmY6MTYKIyAgICAgIkNE
REwtMS4wIENFQ0lMTC0xLjAgQ0VDSUxMLTIuMCBDRUNJTEwtQiBDRUNJTEwtQyIKIyAgIGFwcGVu
ZCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvbGljZW5zZXMuY29uZjoxNwoj
ICAgICAiQ2xBcnRpc3RpYyBDUEFMLTEuMCBDUEwtMS4wIENVQS1PUEwtMS4wIERTU1NMIgojICAg
YXBwZW5kIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9saWNlbnNlcy5jb25m
OjE4CiMgICAgICJFQ0wtMS4wIEVDTC0yLjAgZUNvcy0yLjAgRURMLTEuMCBFRkwtMS4wIEVGTC0y
LjAiCiMgICBhcHBlbmQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2xpY2Vu
c2VzLmNvbmY6MTkKIyAgICAgIkVsZnV0aWxzLUV4Y2VwdGlvbiBFbnRlc3NhIEVQTC0xLjAgRXJs
UEwtMS4xIgojICAgYXBwZW5kIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9s
aWNlbnNlcy5jb25mOjIwCiMgICAgICJFVURhdGFncmlkIEVVUEwtMS4wIEVVUEwtMS4xIEZhaXIg
RnJhbWV3b3J4LTEuMCIKIyAgIGFwcGVuZCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRh
L2NvbmYvbGljZW5zZXMuY29uZjoyMQojICAgICAiRnJlZVR5cGUgR0ZETC0xLjEgR0ZETC0xLjIg
R0ZETC0xLjMgR1BMLTEuMCIKIyAgIGFwcGVuZCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9t
ZXRhL2NvbmYvbGljZW5zZXMuY29uZjoyMgojICAgICAiR1BMLTIuMCBHUEwtMi4wLXdpdGgtYXV0
b2NvbmYtZXhjZXB0aW9uIgojICAgYXBwZW5kIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21l
dGEvY29uZi9saWNlbnNlcy5jb25mOjIzCiMgICAgICJHUEwtMi4wLXdpdGgtY2xhc3NwYXRoLWV4
Y2VwdGlvbiIKIyAgIGFwcGVuZCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYv
bGljZW5zZXMuY29uZjoyNAojICAgICAiR1BMLTIuMC13aXRoLWZvbnQtZXhjZXB0aW9uIgojICAg
YXBwZW5kIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9saWNlbnNlcy5jb25m
OjI1CiMgICAgICJHUEwtMi4wLXdpdGgtR0NDLWV4Y2VwdGlvbiIKIyAgIGFwcGVuZCAvbWVkaWEv
cmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvbGljZW5zZXMuY29uZjoyNgojICAgICAiR1BM
LTItd2l0aC1iaXNvbi1leGNlcHRpb24gR1BMLTMuMCIKIyAgIGFwcGVuZCAvbWVkaWEvcmViZWNj
YXMveW9jdG8vcG9reS9tZXRhL2NvbmYvbGljZW5zZXMuY29uZjoyNwojICAgICAiR1BMLTMuMC13
aXRoLWF1dG9jb25mLWV4Y2VwdGlvbiIKIyAgIGFwcGVuZCAvbWVkaWEvcmViZWNjYXMveW9jdG8v
cG9reS9tZXRhL2NvbmYvbGljZW5zZXMuY29uZjoyOAojICAgICAiR1BMLTMuMC13aXRoLUdDQy1l
eGNlcHRpb24iCiMgICBhcHBlbmQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25m
L2xpY2Vuc2VzLmNvbmY6MjkKIyAgICAgImdTT0FQLTEgZ1NPQVAtMS4zYiBIUE5EIElQQSBJUEwt
MS4wIElTQyBMR1BMLTIuMCIKIyAgIGFwcGVuZCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9t
ZXRhL2NvbmYvbGljZW5zZXMuY29uZjozMAojICAgICAiTEdQTC0yLjEgTEdQTC0zLjAgTGlicG5n
IExQTC0xLjAyIExQUEwtMS4wIExQUEwtMS4xIgojICAgYXBwZW5kIC9tZWRpYS9yZWJlY2Nhcy95
b2N0by9wb2t5L21ldGEvY29uZi9saWNlbnNlcy5jb25mOjMxCiMgICAgICJMUFBMLTEuMiBMUFBM
LTEuM2MgTWlyT1MgTUlUIE1vdG9zb3RvIE1QTC0xLjAiCiMgICBhcHBlbmQgL21lZGlhL3JlYmVj
Y2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2xpY2Vuc2VzLmNvbmY6MzIKIyAgICAgIk1QTC0xLjEg
TVMtUEwgTVMtUkwgTXVsdGljcyBOQVNBLTEuMyBOYXVtYW4gTkNTQSIKIyAgIGFwcGVuZCAvbWVk
aWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvbGljZW5zZXMuY29uZjozMwojICAgICAi
TkdQTCBOb2tpYSBOUE9TTC0zLjAgTlRQIE9BU0lTIE9DTEMtMi4wIE9EYkwtMS4wIgojICAgYXBw
ZW5kIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9saWNlbnNlcy5jb25mOjM0
CiMgICAgICJPRkwtMS4xIE9HVFNMIE9MREFQLTIuOCBPcGVuU1NMIE9TTC0xLjAgT1NMLTIuMCIK
IyAgIGFwcGVuZCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvbGljZW5zZXMu
Y29uZjozNQojICAgICAiT1NMLTMuMCBQRCBQSFAtMy4wIFBvc3RncmVTUUwgUHJvcHJpZXRhcnki
CiMgICBhcHBlbmQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2xpY2Vuc2Vz
LmNvbmY6MzYKIyAgICAgIlB5dGhvbi0yLjAgUVBMLTEuMCBSSGVDb3MtMSBSSGVDb3MtMS4xIFJQ
TC0xLjUiCiMgICBhcHBlbmQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2xp
Y2Vuc2VzLmNvbmY6MzcKIyAgICAgIlJQU0wtMS4wIFJTQ1BMIFJ1YnkgU0FYLVBEIFNHSS0xIFNp
bXBsZS0yLjAgU2xlZXB5Y2F0IgojICAgYXBwZW5kIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5
L21ldGEvY29uZi9saWNlbnNlcy5jb25mOjM4CiMgICAgICJTUEwtMS4wIFN1Z2FyQ1JNLTEgU3Vn
YXJDUk0tMS4xLjMgVUNCIFZTTC0xLjAgVzNDIgojICAgYXBwZW5kIC9tZWRpYS9yZWJlY2Nhcy95
b2N0by9wb2t5L21ldGEvY29uZi9saWNlbnNlcy5jb25mOjM5CiMgICAgICJXYXRjb20tMS4wIFdY
d2luZG93cyBYRnJlZTg2LTEuMCBYRnJlZTg2LTEuMSBYbmV0IFhTTCBZUEwtMS4xIgojICAgYXBw
ZW5kIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9saWNlbnNlcy5jb25mOjQw
CiMgICAgICJaaW1icmEtMS4zIFpsaWIgWlBMLTEuMSBaUEwtMi4wIFpQTC0yLjEiCiMgcHJlLWV4
cGFuc2lvbiB2YWx1ZToKIyAgICIgQUFMIEFkb2JlIEFGTC0xLjIgQUZMLTIuMCBBRkwtMi4xIEFG
TC0zLjAgQUdQTC0zLjAgQU5UTFItUEQgQXBhY2hlLTEuMCBBcGFjaGUtMS4xIEFwYWNoZS0yLjAg
QVBMLTEuMCBBUFNMLTEuMCBBUFNMLTEuMSBBUFNMLTEuMiBBUFNMLTIuMCBBcnRpc3RpYy0xLjAg
QXJ0aXN0aWMtMi4wIEJpdHN0cmVhbVZlcmEgQlNEIEJTRC0yLUNsYXVzZSBCU0QtMy1DbGF1c2Ug
QlNELTQtQ2xhdXNlIEJTTC0xLjAgQ0FUT1NMLTEuMSBDQzAtMS4wIENDLUJZLTEuMCBDQy1CWS0y
LjAgQ0MtQlktMi41IENDLUJZLTMuMCBDQy1CWS1OQy0xLjAgQ0MtQlktTkMtMi4wIENDLUJZLU5D
LTIuNSBDQy1CWS1OQy0zLjAgQ0MtQlktTkMtTkQtMS4wIENDLUJZLU5DLU5ELTIuMCBDQy1CWS1O
Qy1ORC0yLjUgQ0MtQlktTkMtTkQtMy4wIENDLUJZLU5DLVNBLTEuMCBDQy1CWS1OQy1TQS0yLjAg
Q0MtQlktTkMtU0EtMi41IENDLUJZLU5DLVNBLTMuMCBDQy1CWS1ORC0xLjAgQ0MtQlktTkQtMi4w
IENDLUJZLU5ELTIuNSBDQy1CWS1ORC0zLjAgQ0MtQlktU0EtMS4wIENDLUJZLVNBLTIuMCBDQy1C
WS1TQS0yLjUgQ0MtQlktU0EtMy4wIENEREwtMS4wIENFQ0lMTC0xLjAgQ0VDSUxMLTIuMCBDRUNJ
TEwtQiBDRUNJTEwtQyBDbEFydGlzdGljIENQQUwtMS4wIENQTC0xLjAgQ1VBLU9QTC0xLjAgRFNT
U0wgRUNMLTEuMCBFQ0wtMi4wIGVDb3MtMi4wIEVETC0xLjAgRUZMLTEuMCBFRkwtMi4wIEVsZnV0
aWxzLUV4Y2VwdGlvbiBFbnRlc3NhIEVQTC0xLjAgRXJsUEwtMS4xIEVVRGF0YWdyaWQgRVVQTC0x
LjAgRVVQTC0xLjEgRmFpciBGcmFtZXdvcngtMS4wIEZyZWVUeXBlIEdGREwtMS4xIEdGREwtMS4y
IEdGREwtMS4zIEdQTC0xLjAgR1BMLTIuMCBHUEwtMi4wLXdpdGgtYXV0b2NvbmYtZXhjZXB0aW9u
IEdQTC0yLjAtd2l0aC1jbGFzc3BhdGgtZXhjZXB0aW9uIEdQTC0yLjAtd2l0aC1mb250LWV4Y2Vw
dGlvbiBHUEwtMi4wLXdpdGgtR0NDLWV4Y2VwdGlvbiBHUEwtMi13aXRoLWJpc29uLWV4Y2VwdGlv
biBHUEwtMy4wIEdQTC0zLjAtd2l0aC1hdXRvY29uZi1leGNlcHRpb24gR1BMLTMuMC13aXRoLUdD
Qy1leGNlcHRpb24gZ1NPQVAtMSBnU09BUC0xLjNiIEhQTkQgSVBBIElQTC0xLjAgSVNDIExHUEwt
Mi4wIExHUEwtMi4xIExHUEwtMy4wIExpYnBuZyBMUEwtMS4wMiBMUFBMLTEuMCBMUFBMLTEuMSBM
UFBMLTEuMiBMUFBMLTEuM2MgTWlyT1MgTUlUIE1vdG9zb3RvIE1QTC0xLjAgTVBMLTEuMSBNUy1Q
TCBNUy1STCBNdWx0aWNzIE5BU0EtMS4zIE5hdW1hbiBOQ1NBIE5HUEwgTm9raWEgTlBPU0wtMy4w
IE5UUCBPQVNJUyBPQ0xDLTIuMCBPRGJMLTEuMCBPRkwtMS4xIE9HVFNMIE9MREFQLTIuOCBPcGVu
U1NMIE9TTC0xLjAgT1NMLTIuMCBPU0wtMy4wIFBEIFBIUC0zLjAgUG9zdGdyZVNRTCBQcm9wcmll
dGFyeSBQeXRob24tMi4wIFFQTC0xLjAgUkhlQ29zLTEgUkhlQ29zLTEuMSBSUEwtMS41IFJQU0wt
MS4wIFJTQ1BMIFJ1YnkgU0FYLVBEIFNHSS0xIFNpbXBsZS0yLjAgU2xlZXB5Y2F0IFNQTC0xLjAg
U3VnYXJDUk0tMSBTdWdhckNSTS0xLjEuMyBVQ0IgVlNMLTEuMCBXM0MgV2F0Y29tLTEuMCBXWHdp
bmRvd3MgWEZyZWU4Ni0xLjAgWEZyZWU4Ni0xLjEgWG5ldCBYU0wgWVBMLTEuMSBaaW1icmEtMS4z
IFpsaWIgWlBMLTEuMSBaUEwtMi4wIFpQTC0yLjEiClNSQ19ESVNUUklCVVRFX0xJQ0VOU0VTPSIg
QUFMIEFkb2JlIEFGTC0xLjIgQUZMLTIuMCBBRkwtMi4xIEFGTC0zLjAgQUdQTC0zLjAgQU5UTFIt
UEQgQXBhY2hlLTEuMCBBcGFjaGUtMS4xIEFwYWNoZS0yLjAgQVBMLTEuMCBBUFNMLTEuMCBBUFNM
LTEuMSBBUFNMLTEuMiBBUFNMLTIuMCBBcnRpc3RpYy0xLjAgQXJ0aXN0aWMtMi4wIEJpdHN0cmVh
bVZlcmEgQlNEIEJTRC0yLUNsYXVzZSBCU0QtMy1DbGF1c2UgQlNELTQtQ2xhdXNlIEJTTC0xLjAg
Q0FUT1NMLTEuMSBDQzAtMS4wIENDLUJZLTEuMCBDQy1CWS0yLjAgQ0MtQlktMi41IENDLUJZLTMu
MCBDQy1CWS1OQy0xLjAgQ0MtQlktTkMtMi4wIENDLUJZLU5DLTIuNSBDQy1CWS1OQy0zLjAgQ0Mt
QlktTkMtTkQtMS4wIENDLUJZLU5DLU5ELTIuMCBDQy1CWS1OQy1ORC0yLjUgQ0MtQlktTkMtTkQt
My4wIENDLUJZLU5DLVNBLTEuMCBDQy1CWS1OQy1TQS0yLjAgQ0MtQlktTkMtU0EtMi41IENDLUJZ
LU5DLVNBLTMuMCBDQy1CWS1ORC0xLjAgQ0MtQlktTkQtMi4wIENDLUJZLU5ELTIuNSBDQy1CWS1O
RC0zLjAgQ0MtQlktU0EtMS4wIENDLUJZLVNBLTIuMCBDQy1CWS1TQS0yLjUgQ0MtQlktU0EtMy4w
IENEREwtMS4wIENFQ0lMTC0xLjAgQ0VDSUxMLTIuMCBDRUNJTEwtQiBDRUNJTEwtQyBDbEFydGlz
dGljIENQQUwtMS4wIENQTC0xLjAgQ1VBLU9QTC0xLjAgRFNTU0wgRUNMLTEuMCBFQ0wtMi4wIGVD
b3MtMi4wIEVETC0xLjAgRUZMLTEuMCBFRkwtMi4wIEVsZnV0aWxzLUV4Y2VwdGlvbiBFbnRlc3Nh
IEVQTC0xLjAgRXJsUEwtMS4xIEVVRGF0YWdyaWQgRVVQTC0xLjAgRVVQTC0xLjEgRmFpciBGcmFt
ZXdvcngtMS4wIEZyZWVUeXBlIEdGREwtMS4xIEdGREwtMS4yIEdGREwtMS4zIEdQTC0xLjAgR1BM
LTIuMCBHUEwtMi4wLXdpdGgtYXV0b2NvbmYtZXhjZXB0aW9uIEdQTC0yLjAtd2l0aC1jbGFzc3Bh
dGgtZXhjZXB0aW9uIEdQTC0yLjAtd2l0aC1mb250LWV4Y2VwdGlvbiBHUEwtMi4wLXdpdGgtR0ND
LWV4Y2VwdGlvbiBHUEwtMi13aXRoLWJpc29uLWV4Y2VwdGlvbiBHUEwtMy4wIEdQTC0zLjAtd2l0
aC1hdXRvY29uZi1leGNlcHRpb24gR1BMLTMuMC13aXRoLUdDQy1leGNlcHRpb24gZ1NPQVAtMSBn
U09BUC0xLjNiIEhQTkQgSVBBIElQTC0xLjAgSVNDIExHUEwtMi4wIExHUEwtMi4xIExHUEwtMy4w
IExpYnBuZyBMUEwtMS4wMiBMUFBMLTEuMCBMUFBMLTEuMSBMUFBMLTEuMiBMUFBMLTEuM2MgTWly
T1MgTUlUIE1vdG9zb3RvIE1QTC0xLjAgTVBMLTEuMSBNUy1QTCBNUy1STCBNdWx0aWNzIE5BU0Et
MS4zIE5hdW1hbiBOQ1NBIE5HUEwgTm9raWEgTlBPU0wtMy4wIE5UUCBPQVNJUyBPQ0xDLTIuMCBP
RGJMLTEuMCBPRkwtMS4xIE9HVFNMIE9MREFQLTIuOCBPcGVuU1NMIE9TTC0xLjAgT1NMLTIuMCBP
U0wtMy4wIFBEIFBIUC0zLjAgUG9zdGdyZVNRTCBQcm9wcmlldGFyeSBQeXRob24tMi4wIFFQTC0x
LjAgUkhlQ29zLTEgUkhlQ29zLTEuMSBSUEwtMS41IFJQU0wtMS4wIFJTQ1BMIFJ1YnkgU0FYLVBE
IFNHSS0xIFNpbXBsZS0yLjAgU2xlZXB5Y2F0IFNQTC0xLjAgU3VnYXJDUk0tMSBTdWdhckNSTS0x
LjEuMyBVQ0IgVlNMLTEuMCBXM0MgV2F0Y29tLTEuMCBXWHdpbmRvd3MgWEZyZWU4Ni0xLjAgWEZy
ZWU4Ni0xLjEgWG5ldCBYU0wgWVBMLTEuMSBaaW1icmEtMS4zIFpsaWIgWlBMLTEuMSBaUEwtMi4w
IFpQTC0yLjEiCiMKIyAkU1JDX1VSSSBbNyBvcGVyYXRpb25zXQojICAgYXBwZW5kIC9tZWRpYS9y
ZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6NjM4CiMgICAgIFt2YXJk
ZXBzZXhjbHVkZV0gIkFQQUNIRV9NSVJST1IgQ1BBTl9NSVJST1IgREVCSUFOX01JUlJPUiBHRU5U
T09fTUlSUk9SIEdOT01FX0dJVCBHTk9NRV9NSVJST1IgR05VX01JUlJPUiBHTlVQR19NSVJST1Ig
R1BFX01JUlJPUiBLRVJORUxPUkdfTUlSUk9SIFNBVkFOTkFIX0dOVV9NSVJST1IgU0FWQU5OQUhf
Tk9OR05VX01JUlJPUiBTT1VSQ0VGT1JHRV9NSVJST1IgWExJQlNfTUlSUk9SIFhPUkdfTUlSUk9S
ICIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5j
b25mOjY1NwojICAgICAiIgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEv
Y29uZi9kb2N1bWVudGF0aW9uLmNvbmY6Mzg2CiMgICAgIFtkb2NdICJUaGUgbGlzdCBvZiBzb3Vy
Y2UgZmlsZXMgLSBsb2NhbCBvciByZW1vdGUuIFRoaXMgdmFyaWFibGUgdGVsbHMgdGhlIE9wZW5F
bWJlZGRlZCBidWlsZCBzeXN0ZW0gd2hhdCBiaXRzIHRvIHB1bGwgaW4gZm9yIHRoZSBidWlsZCBh
bmQgaG93IHRvIHB1bGwgdGhlbSBpbi4iCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bv
a3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9sdHRuZy9sdHRuZy1tb2R1bGVzXzIuOS4xLmJiOjE0CiMg
ICAgICJodHRwczovL2x0dG5nLm9yZy9maWxlcy8ke0JQTn0vJHtCUE59LSR7UFZ9LnRhci5iejIg
ICAgICAgICAgICBmaWxlOi8vTWFrZWZpbGUtRG8tbm90LWZhaWwtaWYtQ09ORklHX1RSQUNFUE9J
TlRTLWlzLW5vdC1lbi5wYXRjaCIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9t
ZXRhL3JlY2lwZXMta2VybmVsL2x0dG5nL2x0dG5nLW1vZHVsZXNfMi45LjEuYmI6MTYKIyAgICAg
W21kNXN1bV0gIjVhMTZiY2E1MjIzM2NjMmJkZmY1NzJiMTEyMGE4OGY2IgojICAgc2V0IC9tZWRp
YS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbHR0bmcvbHR0bmctbW9k
dWxlc18yLjkuMS5iYjoxNwojICAgICBbc2hhMjU2c3VtXSAiNjIwNzhmZTMyNTRjYTY1OTY5ZGI0
YjcyZTU5MDQyY2Q3OTdkYmYyNzQwODQ4ZjhmODIzODQ4NzdhZTQ2MGQ1NCIKIyAgIGFwcGVuZCAv
bWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1jb250cmliL2NvbW1vbi9yZWNpcGVzLWtl
cm5lbC9sdHRuZy9sdHRuZy1tb2R1bGVzXyUuYmJhcHBlbmQ6NgojICAgICAiJHtMVFROR19QQVRD
SH0iCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICJodHRwczovL2x0dG5nLm9yZy9maWxlcy8k
e0JQTn0vJHtCUE59LSR7UFZ9LnRhci5iejIgICAgICAgICAgICBmaWxlOi8vTWFrZWZpbGUtRG8t
bm90LWZhaWwtaWYtQ09ORklHX1RSQUNFUE9JTlRTLWlzLW5vdC1lbi5wYXRjaCAke0xUVE5HX1BB
VENIfSIKU1JDX1VSST0iaHR0cHM6Ly9sdHRuZy5vcmcvZmlsZXMvbHR0bmctbW9kdWxlcy9sdHRu
Zy1tb2R1bGVzLTIuOS4xLnRhci5iejIgICAgICAgICAgICBmaWxlOi8vTWFrZWZpbGUtRG8tbm90
LWZhaWwtaWYtQ09ORklHX1RSQUNFUE9JTlRTLWlzLW5vdC1lbi5wYXRjaCBmaWxlOi8vMDAwMi1s
dHRuZy1tb2R1bGVzLVBLVC00LjkteW9jdG8tYnVpbGQtZmFpbGVkLnBhdGNoIgojCiMgJFNSQ19V
UklfT1ZFUlJJREVTX1BBQ0tBR0VfQVJDSAojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9w
b2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6Mzg3CiMgICAgIFtkb2NdICJCeSBkZWZh
dWx0LCB0aGUgT3BlbkVtYmVkZGVkIGJ1aWxkIHN5c3RlbSBhdXRvbWF0aWNhbGx5IGRldGVjdHMg
d2hldGhlciBTUkNfVVJJIGNvbnRhaW5zIGZpbGVzIHRoYXQgYXJlIG1hY2hpbmUtc3BlY2lmaWMu
IElmIHNvLCB0aGUgYnVpbGQgc3lzdGVtIGF1dG9tYXRpY2FsbHkgY2hhbmdlcyBQQUNLQUdFX0FS
Q0guIFNldHRpbmcgdGhpcyB2YXJpYWJsZSB0byAnMCcgZGlzYWJsZXMgdGhpcyBiZWhhdmlvci4i
CiMKIyAkU1NIX0FHRU5UX1BJRAojICAgZnJvbSBlbnYgZGF0YS5weToxMjQgW2luaGVyaXRGcm9t
T1NdCiMgICAgICIzMjE2IgpTU0hfQUdFTlRfUElEPSIzMjE2IgojCiMgJFNTSF9BVVRIX1NPQ0sK
IyAgIGZyb20gZW52IGRhdGEucHk6MTI0IFtpbmhlcml0RnJvbU9TXQojICAgICAiL3J1bi91c2Vy
LzEwMDAva2V5cmluZy9zc2giClNTSF9BVVRIX1NPQ0s9Ii9ydW4vdXNlci8xMDAwL2tleXJpbmcv
c3NoIgojCiMgJFNTVEFURUNMRUFORlVOQ1MKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8v
cG9reS9tZXRhL2NsYXNzZXMvc3N0YXRlLmJiY2xhc3M6NTgKIyAgICAgIiIKU1NUQVRFQ0xFQU5G
VU5DUz0iIgojCiMgJFNTVEFURUNSRUFURUZVTkNTCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lv
Y3RvL3Bva3kvbWV0YS9jbGFzc2VzL3NzdGF0ZS5iYmNsYXNzOjUyCiMgICAgICJzc3RhdGVfaGFy
ZGNvZGVfcGF0aCIKU1NUQVRFQ1JFQVRFRlVOQ1M9InNzdGF0ZV9oYXJkY29kZV9wYXRoIgojCiMg
JFNTVEFURVBPU1RDUkVBVEVGVU5DUwojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5
L21ldGEvY2xhc3Nlcy9zc3RhdGUuYmJjbGFzczo1MwojICAgICAiIgpTU1RBVEVQT1NUQ1JFQVRF
RlVOQ1M9IiIKIwojICRTU1RBVEVQT1NUSU5TVEZVTkNTCiMgICBzZXQgL21lZGlhL3JlYmVjY2Fz
L3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL3NzdGF0ZS5iYmNsYXNzOjU2CiMgICAgICIiClNTVEFU
RVBPU1RJTlNURlVOQ1M9IiIKIwojICRTU1RBVEVQT1NUVU5QQUNLRlVOQ1MgWzMgb3BlcmF0aW9u
c10KIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NsYXNzZXMvc3N0YXRl
LmJiY2xhc3M6NTUKIyAgICAgInNzdGF0ZV9oYXJkY29kZV9wYXRoX3VucGFjayIKIyAgIGFwcGVu
ZCB1bmluYXRpdmUuYmJjbGFzczoxMDIgW2VuYWJsZV91bmluYXRpdmVdCiMgICAgICIgdW5pbmF0
aXZlX2NoYW5nZWludGVycCIKIyAgIGFwcGVuZCB1bmluYXRpdmUuYmJjbGFzczoxMDMgW2VuYWJs
ZV91bmluYXRpdmVdCiMgICAgIFt2YXJkZXB2YWx1ZWV4Y2x1ZGVdICJ8IHVuaW5hdGl2ZV9jaGFu
Z2VpbnRlcnAiCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICJzc3RhdGVfaGFyZGNvZGVfcGF0
aF91bnBhY2sgdW5pbmF0aXZlX2NoYW5nZWludGVycCIKU1NUQVRFUE9TVFVOUEFDS0ZVTkNTPSJz
c3RhdGVfaGFyZGNvZGVfcGF0aF91bnBhY2sgdW5pbmF0aXZlX2NoYW5nZWludGVycCIKIwojICRT
U1RBVEVQUkVJTlNURlVOQ1MKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRh
L2NsYXNzZXMvc3N0YXRlLmJiY2xhc3M6NTQKIyAgICAgIiIKU1NUQVRFUFJFSU5TVEZVTkNTPSIi
CiMKIyAkU1NUQVRFVEFTS1MgWzcgb3BlcmF0aW9uc10KIyAgIGFwcGVuZCAvbWVkaWEvcmViZWNj
YXMveW9jdG8vcG9reS9tZXRhL2NsYXNzZXMvc3RhZ2luZy5iYmNsYXNzOjIwMQojICAgICAiZG9f
cG9wdWxhdGVfc3lzcm9vdCIKIyAgIGFwcGVuZCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9t
ZXRhL2NsYXNzZXMvaW5zYW5lLmJiY2xhc3M6MTE5MwojICAgICAiZG9fcGFja2FnZV9xYSIKIyAg
IGFwcGVuZCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NsYXNzZXMvcGFja2FnZS5i
YmNsYXNzOjIxNDkKIyAgICAgImRvX3BhY2thZ2UiCiMgICBhcHBlbmQgL21lZGlhL3JlYmVjY2Fz
L3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL3BhY2thZ2UuYmJjbGFzczoyMTY2CiMgICAgICJkb19w
YWNrYWdlZGF0YSIKIyAgIGFwcGVuZCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2Ns
YXNzZXMvcGFja2FnZV9ycG0uYmJjbGFzczo3MDkKIyAgICAgImRvX3BhY2thZ2Vfd3JpdGVfcnBt
IgojICAgYXBwZW5kIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY2xhc3Nlcy9saWNl
bnNlLmJiY2xhc3M6Njc4CiMgICAgICJkb19wb3B1bGF0ZV9saWMiCiMgICBzZXQgc3N0YXRlLmJi
Y2xhc3M6OTggW19fYW5vbl8xMDFfX21lZGlhX3JlYmVjY2FzX3lvY3RvX3Bva3lfbWV0YV9jbGFz
c2VzX3NzdGF0ZV9iYmNsYXNzXQojICAgICAiZG9fcGFja2FnZSBkb19wYWNrYWdlX3FhIGRvX3Bh
Y2thZ2Vfd3JpdGVfcnBtIGRvX3BhY2thZ2VkYXRhIGRvX3BvcHVsYXRlX2xpYyBkb19wb3B1bGF0
ZV9zeXNyb290IgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiZG9fcGFja2FnZSBkb19wYWNr
YWdlX3FhIGRvX3BhY2thZ2Vfd3JpdGVfcnBtIGRvX3BhY2thZ2VkYXRhIGRvX3BvcHVsYXRlX2xp
YyBkb19wb3B1bGF0ZV9zeXNyb290IgpTU1RBVEVUQVNLUz0iZG9fcGFja2FnZSBkb19wYWNrYWdl
X3FhIGRvX3BhY2thZ2Vfd3JpdGVfcnBtIGRvX3BhY2thZ2VkYXRhIGRvX3BvcHVsYXRlX2xpYyBk
b19wb3B1bGF0ZV9zeXNyb290IgojCiMgJFNTVEFURV9BUkNIUwojICAgc2V0IC9tZWRpYS9yZWJl
Y2Nhcy95b2N0by9wb2t5L21ldGEvY2xhc3Nlcy9zc3RhdGUuYmJjbGFzczo0OAojICAgICAiICAg
ICAke0JVSUxEX0FSQ0h9ICAgICAke0JVSUxEX0FSQ0h9XyR7U0RLX0FSQ0h9XyR7U0RLX09TfSAg
ICAgJHtCVUlMRF9BUkNIfV8ke1RBUkdFVF9BUkNIfSAgICAgJHtTREtfQVJDSH1fJHtTREtfT1N9
ICAgICAke1NES19BUkNIfV8ke1BBQ0tBR0VfQVJDSH0gICAgIGFsbGFyY2ggICAgICR7UEFDS0FH
RV9BUkNIfSAgICAgJHtNQUNISU5FfSIKU1NUQVRFX0FSQ0hTPSIgICAgIHg4Nl82NCAgICAgeDg2
XzY0X3g4Nl82NF9saW51eCAgICAgeDg2XzY0X2k1ODYgICAgIHg4Nl82NF9saW51eCAgICAgeDg2
XzY0X3FlbXV4ODYgICAgIGFsbGFyY2ggICAgIHFlbXV4ODYgICAgIHFlbXV4ODYiCiMKIyAkU1NU
QVRFX0RJUiBbMyBvcGVyYXRpb25zXQojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRu
Zy9jb25mL3NpdGUuY29uZjo3CiMgICAgICIvbWVkaWEvcmViZWNjYXMvYnVpbGQvc3N0YXRlLWNh
Y2hlIgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVu
dGF0aW9uLmNvbmY6MzkxCiMgICAgIFtkb2NdICJUaGUgZGlyZWN0b3J5IGZvciB0aGUgc2hhcmVk
IHN0YXRlIGNhY2hlLiIKIyAgIHNldD8gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9j
b25mL2JpdGJha2UuY29uZjo3NDkKIyAgICAgIiR7VE9QRElSfS9zc3RhdGUtY2FjaGUiCiMgcHJl
LWV4cGFuc2lvbiB2YWx1ZToKIyAgICIvbWVkaWEvcmViZWNjYXMvYnVpbGQvc3N0YXRlLWNhY2hl
IgpTU1RBVEVfRElSPSIvbWVkaWEvcmViZWNjYXMvYnVpbGQvc3N0YXRlLWNhY2hlIgojCiMgJFNT
VEFURV9EVVBXSElURUxJU1QgWzMgb3BlcmF0aW9uc10KIyAgIHNldCAvbWVkaWEvcmViZWNjYXMv
eW9jdG8vcG9reS9tZXRhL2NsYXNzZXMvc3N0YXRlLmJiY2xhc3M6MjgKIyAgICAgIiR7REVQTE9Z
X0RJUl9JTUFHRX0vICR7REVQTE9ZX0RJUn0vbGljZW5zZXMvICR7REVQTE9ZX0RJUl9SUE19L25v
YXJjaC8iCiMgICBhcHBlbmQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2Vz
L3NzdGF0ZS5iYmNsYXNzOjMwCiMgICAgICIke1NUQUdJTkdfRVRDRElSX05BVElWRX0vc2dtbCAk
e1NUQUdJTkdfREFUQURJUl9OQVRJVkV9L3NnbWwiCiMgICBhcHBlbmQgL21lZGlhL3JlYmVjY2Fz
L3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL3NzdGF0ZS5iYmNsYXNzOjMyCiMgICAgICIke0RFUExP
WV9ESVJfU1JDfSIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIiR7REVQTE9ZX0RJUl9JTUFH
RX0vICR7REVQTE9ZX0RJUn0vbGljZW5zZXMvICR7REVQTE9ZX0RJUl9SUE19L25vYXJjaC8gJHtT
VEFHSU5HX0VUQ0RJUl9OQVRJVkV9L3NnbWwgJHtTVEFHSU5HX0RBVEFESVJfTkFUSVZFfS9zZ21s
ICR7REVQTE9ZX0RJUl9TUkN9IgpTU1RBVEVfRFVQV0hJVEVMSVNUPSIvbWVkaWEvcmViZWNjYXMv
eW9jdG8vbHR0bmcvdG1wL2RlcGxveS9pbWFnZXMvcWVtdXg4Ni8gL21lZGlhL3JlYmVjY2FzL3lv
Y3RvL2x0dG5nL3RtcC9kZXBsb3kvbGljZW5zZXMvIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRu
Zy90bXAvZGVwbG95L3JwbS9ub2FyY2gvIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy90bXAv
d29yay9xZW11eDg2LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9yZWNpcGUtc3lz
cm9vdC1uYXRpdmUvZXRjL3NnbWwgL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL3RtcC93b3Jr
L3FlbXV4ODYtcG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL3JlY2lwZS1zeXNyb290
LW5hdGl2ZS91c3Ivc2hhcmUvc2dtbCBcJHtERVBMT1lfRElSX1NSQ30iCiMKIyAkU1NUQVRFX0VY
VFJBUEFUSCBbMiBvcGVyYXRpb25zXQojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5
L21ldGEvY2xhc3Nlcy9zc3RhdGUuYmJjbGFzczoxNgojICAgICAiIgojICAgc2V0IC9tZWRpYS9y
ZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY2xhc3Nlcy9zc3RhdGUuYmJjbGFzczoyNQojICAgICBb
dmFyZGVwdmFsdWVdICIiCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICIiClNTVEFURV9FWFRS
QVBBVEg9IiIKIwojICRTU1RBVEVfRVhUUkFQQVRIV0lMRENBUkQKIyAgIHNldCAvbWVkaWEvcmVi
ZWNjYXMveW9jdG8vcG9reS9tZXRhL2NsYXNzZXMvc3N0YXRlLmJiY2xhc3M6MTcKIyAgICAgIiIK
U1NUQVRFX0VYVFJBUEFUSFdJTERDQVJEPSIiCiMKIyAkU1NUQVRFX01BTkZJTEVQUkVGSVgKIyAg
IHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NsYXNzZXMvc3N0YXRlLmJiY2xh
c3M6NAojICAgICAiJHtTU1RBVEVfTUFOSUZFU1RTfS9tYW5pZmVzdC0ke1NTVEFURV9NQU5NQUNI
fS0ke1BOfSIKU1NUQVRFX01BTkZJTEVQUkVGSVg9Ii9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRu
Zy90bXAvc3N0YXRlLWNvbnRyb2wvbWFuaWZlc3QtcWVtdXg4Ni1sdHRuZy1tb2R1bGVzIgojCiMg
JFNTVEFURV9NQU5JRkVTVFMKIyAgIHNldD8gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0
YS9jbGFzc2VzL3NzdGF0ZS5iYmNsYXNzOjMKIyAgICAgIiR7VE1QRElSfS9zc3RhdGUtY29udHJv
bCIKU1NUQVRFX01BTklGRVNUUz0iL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL3RtcC9zc3Rh
dGUtY29udHJvbCIKIwojICRTU1RBVEVfTUFOTUFDSCBbMiBvcGVyYXRpb25zXQojICAgc2V0PyAv
bWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NsYXNzZXMvc3N0YXRlLmJiY2xhc3M6NTAK
IyAgICAgIiR7U1NUQVRFX1BLR0FSQ0h9IgojICAgc2V0IHNzdGF0ZS5iYmNsYXNzOjkwIFtfX2Fu
b25fMTAxX19tZWRpYV9yZWJlY2Nhc195b2N0b19wb2t5X21ldGFfY2xhc3Nlc19zc3RhdGVfYmJj
bGFzc10KIyAgICAgInFlbXV4ODYiCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICJxZW11eDg2
IgpTU1RBVEVfTUFOTUFDSD0icWVtdXg4NiIKIwojICRTU1RBVEVfTUlSUk9SUwojICAgc2V0IC9t
ZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6Mzky
CiMgICAgIFtkb2NdICJDb25maWd1cmVzIHRoZSBPcGVuRW1iZWRkZWQgYnVpbGQgc3lzdGVtIHRv
IHNlYXJjaCBvdGhlciBtaXJyb3IgbG9jYXRpb25zIGZvciBwcmVidWlsdCBjYWNoZSBkYXRhIG9i
amVjdHMgYmVmb3JlIGJ1aWxkaW5nIG91dCB0aGUgZGF0YS4gWW91IGNhbiBzcGVjaWZ5IGEgZmls
ZXN5c3RlbSBkaXJlY3Rvcnkgb3IgYSByZW1vdGUgVVJMIHN1Y2ggYXMgSFRUUCBvciBGVFAuIgoj
CiMgJFNTVEFURV9QQVRIU1BFQwojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21l
dGEvY2xhc3Nlcy9zc3RhdGUuYmJjbGFzczoxOAojICAgICAiJHtTU1RBVEVfRElSfS8ke1NTVEFU
RV9FWFRSQVBBVEhXSUxEQ0FSRH0qLyR7U1NUQVRFX1BLR1NQRUN9IgpTU1RBVEVfUEFUSFNQRUM9
Ii9tZWRpYS9yZWJlY2Nhcy9idWlsZC9zc3RhdGUtY2FjaGUvKi9zc3RhdGU6bHR0bmctbW9kdWxl
czpxZW11eDg2LXBva3ktbGludXg6Mi45LjE6cjA6cWVtdXg4NjozOiIKIwojICRTU1RBVEVfUEtH
CiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL3NzdGF0ZS5i
YmNsYXNzOjE1CiMgICAgICIke1NTVEFURV9ESVJ9LyR7U1NUQVRFX1BLR05BTUV9IgpTU1RBVEVf
UEtHPSIvbWVkaWEvcmViZWNjYXMvYnVpbGQvc3N0YXRlLWNhY2hlL0lOL3NzdGF0ZTpsdHRuZy1t
b2R1bGVzOnFlbXV4ODYtcG9reS1saW51eDoyLjkuMTpyMDpxZW11eDg2OjM6SU5WQUxJRCIKIwoj
ICRTU1RBVEVfUEtHQVJDSAojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEv
Y2xhc3Nlcy9zc3RhdGUuYmJjbGFzczoxMQojICAgICAiJHtQQUNLQUdFX0FSQ0h9IgpTU1RBVEVf
UEtHQVJDSD0icWVtdXg4NiIKIwojICRTU1RBVEVfUEtHTkFNRQojICAgc2V0IC9tZWRpYS9yZWJl
Y2Nhcy95b2N0by9wb2t5L21ldGEvY2xhc3Nlcy9zc3RhdGUuYmJjbGFzczoxNAojICAgICAiJHtT
U1RBVEVfRVhUUkFQQVRIfSR7QGdlbmVyYXRlX3NzdGF0ZWZuKGQuZ2V0VmFyKCdTU1RBVEVfUEtH
U1BFQycpLCBkLmdldFZhcignQkJfVEFTS0hBU0gnKSwgZCl9IgpTU1RBVEVfUEtHTkFNRT0iSU4v
c3N0YXRlOmx0dG5nLW1vZHVsZXM6cWVtdXg4Ni1wb2t5LWxpbnV4OjIuOS4xOnIwOnFlbXV4ODY6
MzpJTlZBTElEIgojCiMgJFNTVEFURV9QS0dTUEVDCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lv
Y3RvL3Bva3kvbWV0YS9jbGFzc2VzL3NzdGF0ZS5iYmNsYXNzOjEyCiMgICAgICJzc3RhdGU6JHtQ
Tn06JHtQQUNLQUdFX0FSQ0h9JHtUQVJHRVRfVkVORE9SfS0ke1RBUkdFVF9PU306JHtQVn06JHtQ
Un06JHtTU1RBVEVfUEtHQVJDSH06JHtTU1RBVEVfVkVSU0lPTn06IgpTU1RBVEVfUEtHU1BFQz0i
c3N0YXRlOmx0dG5nLW1vZHVsZXM6cWVtdXg4Ni1wb2t5LWxpbnV4OjIuOS4xOnIwOnFlbXV4ODY6
MzoiCiMKIyAkU1NUQVRFX1BSVU5FX09CU09MRVRFV09SS0RJUgojICAgc2V0IC9tZWRpYS9yZWJl
Y2Nhcy95b2N0by9wb2t5L21ldGEvY2xhc3Nlcy9zc3RhdGUuYmJjbGFzczoxMDA2CiMgICAgICIx
IgpTU1RBVEVfUFJVTkVfT0JTT0xFVEVXT1JLRElSPSIxIgojCiMgJFNTVEFURV9TQ0FOX0NNRAoj
ICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY2xhc3Nlcy9zc3RhdGUuYmJj
bGFzczozNQojICAgICBbX2RlZmF1bHR2YWxdICJmaW5kICR7U1NUQVRFX0JVSUxERElSfSBcKCAt
bmFtZSAiJHtAIlwiIC1vIC1uYW1lIFwiIi5qb2luKGQuZ2V0VmFyKCJTU1RBVEVfU0NBTl9GSUxF
UyIpLnNwbGl0KCkpfSIgXCkgLXR5cGUgZiIKU1NUQVRFX1NDQU5fQ01EPSJmaW5kIFwke1NTVEFU
RV9CVUlMRERJUn0gXCggLW5hbWUgXCIqLmxhXCIgLW8gLW5hbWUgXCIqLWNvbmZpZ1wiIC1vIC1u
YW1lIFwiKl9jb25maWdcIiAtbyAtbmFtZSBcInBvc3RpbnN0LSpcIiBcKSAtdHlwZSBmIgojCiMg
JFNTVEFURV9TQ0FOX0NNRF9OQVRJVkUKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9r
eS9tZXRhL2NsYXNzZXMvc3N0YXRlLmJiY2xhc3M6MzYKIyAgICAgW19kZWZhdWx0dmFsXSAiZ3Jl
cCAtSXJsIC1lICR7UkVDSVBFX1NZU1JPT1R9IC1lICR7UkVDSVBFX1NZU1JPT1RfTkFUSVZFfSAt
ZSAke0hPU1RUT09MU19ESVJ9ICR7U1NUQVRFX0JVSUxERElSfSIKU1NUQVRFX1NDQU5fQ01EX05B
VElWRT0iZ3JlcCAtSXJsIC1lIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy90bXAvd29yay9x
ZW11eDg2LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9yZWNpcGUtc3lzcm9vdCAt
ZSAvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvdG1wL3dvcmsvcWVtdXg4Ni1wb2t5LWxpbnV4
L2x0dG5nLW1vZHVsZXMvMi45LjEtcjAvcmVjaXBlLXN5c3Jvb3QtbmF0aXZlIC1lIC9tZWRpYS9y
ZWJlY2Nhcy95b2N0by9sdHRuZy90bXAvaG9zdHRvb2xzIFwke1NTVEFURV9CVUlMRERJUn0iCiMK
IyAkU1NUQVRFX1NDQU5fRklMRVMKIyAgIHNldD8gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kv
bWV0YS9jbGFzc2VzL3NzdGF0ZS5iYmNsYXNzOjM0CiMgICAgICIqLmxhICotY29uZmlnICpfY29u
ZmlnIHBvc3RpbnN0LSoiClNTVEFURV9TQ0FOX0ZJTEVTPSIqLmxhICotY29uZmlnICpfY29uZmln
IHBvc3RpbnN0LSoiCiMKIyAkU1NUQVRFX1NJR19LRVkKIyAgIHNldD8gL21lZGlhL3JlYmVjY2Fz
L3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL3NzdGF0ZS5iYmNsYXNzOjcwCiMgICAgICIiClNTVEFU
RV9TSUdfS0VZPSIiCiMKIyAkU1NUQVRFX1NJR19QQVNTUEhSQVNFCiMgICBzZXQ/IC9tZWRpYS9y
ZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY2xhc3Nlcy9zc3RhdGUuYmJjbGFzczo3MQojICAgICAi
IgpTU1RBVEVfU0lHX1BBU1NQSFJBU0U9IiIKIwojICRTU1RBVEVfU1dTUEVDCiMgICBzZXQgL21l
ZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL3NzdGF0ZS5iYmNsYXNzOjEzCiMg
ICAgICJzc3RhdGU6JHtQTn06OiR7UFZ9OiR7UFJ9Ojoke1NTVEFURV9WRVJTSU9OfToiClNTVEFU
RV9TV1NQRUM9InNzdGF0ZTpsdHRuZy1tb2R1bGVzOjoyLjkuMTpyMDo6MzoiCiMKIyAkU1NUQVRF
X1ZFUklGWV9TSUcKIyAgIHNldD8gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFz
c2VzL3NzdGF0ZS5iYmNsYXNzOjczCiMgICAgICIwIgpTU1RBVEVfVkVSSUZZX1NJRz0iMCIKIwoj
ICRTU1RBVEVfVkVSU0lPTgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEv
Y2xhc3Nlcy9zc3RhdGUuYmJjbGFzczoxCiMgICAgICIzIgpTU1RBVEVfVkVSU0lPTj0iMyIKIwoj
ICRTVEFHSU5HX0JBU0VMSUJESVIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9t
ZXRhL2NvbmYvYml0YmFrZS5jb25mOjM3NAojICAgICAiJHtTVEFHSU5HX0RJUl9IT1NUfSR7YmFz
ZV9saWJkaXJ9IgpTVEFHSU5HX0JBU0VMSUJESVI9Ii9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRu
Zy90bXAvd29yay9xZW11eDg2LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9yZWNp
cGUtc3lzcm9vdC9saWIiCiMKIyAkU1RBR0lOR19CQVNFX0xJQkRJUl9OQVRJVkUKIyAgIHNldCAv
bWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjM2NAojICAg
ICAiJHtTVEFHSU5HX0RJUl9OQVRJVkV9JHtiYXNlX2xpYmRpcl9uYXRpdmV9IgpTVEFHSU5HX0JB
U0VfTElCRElSX05BVElWRT0iL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL3RtcC93b3JrL3Fl
bXV4ODYtcG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL3JlY2lwZS1zeXNyb290LW5h
dGl2ZS9saWIiCiMKIyAkU1RBR0lOR19CSU5ESVIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9j
dG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjM3MQojICAgICAiJHtTVEFHSU5HX0RJUl9I
T1NUfSR7YmluZGlyfSIKU1RBR0lOR19CSU5ESVI9Ii9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRu
Zy90bXAvd29yay9xZW11eDg2LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9yZWNp
cGUtc3lzcm9vdC91c3IvYmluIgojCiMgJFNUQUdJTkdfQklORElSX0NST1NTCiMgICBzZXQgL21l
ZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjozNjAKIyAgICAg
IiR7U1RBR0lOR19CSU5ESVJ9L2Nyb3Nzc2NyaXB0cyIKU1RBR0lOR19CSU5ESVJfQ1JPU1M9Ii9t
ZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy90bXAvd29yay9xZW11eDg2LXBva3ktbGludXgvbHR0
bmctbW9kdWxlcy8yLjkuMS1yMC9yZWNpcGUtc3lzcm9vdC91c3IvYmluL2Nyb3Nzc2NyaXB0cyIK
IwojICRTVEFHSU5HX0JJTkRJUl9OQVRJVkUKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8v
cG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjM1OQojICAgICAiJHtTVEFHSU5HX0RJUl9OQVRJ
VkV9JHtiaW5kaXJfbmF0aXZlfSIKU1RBR0lOR19CSU5ESVJfTkFUSVZFPSIvbWVkaWEvcmViZWNj
YXMveW9jdG8vbHR0bmcvdG1wL3dvcmsvcWVtdXg4Ni1wb2t5LWxpbnV4L2x0dG5nLW1vZHVsZXMv
Mi45LjEtcjAvcmVjaXBlLXN5c3Jvb3QtbmF0aXZlL3Vzci9iaW4iCiMKIyAkU1RBR0lOR19CSU5E
SVJfVE9PTENIQUlOCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25m
L2JpdGJha2UuY29uZjozNjEKIyAgICAgIiR7U1RBR0lOR19ESVJfTkFUSVZFfSR7YmluZGlyX25h
dGl2ZX0vJHtUQVJHRVRfQVJDSH0ke1RBUkdFVF9WRU5ET1J9LSR7VEFSR0VUX09TfSIKU1RBR0lO
R19CSU5ESVJfVE9PTENIQUlOPSIvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvdG1wL3dvcmsv
cWVtdXg4Ni1wb2t5LWxpbnV4L2x0dG5nLW1vZHVsZXMvMi45LjEtcjAvcmVjaXBlLXN5c3Jvb3Qt
bmF0aXZlL3Vzci9iaW4vaTU4Ni1wb2t5LWxpbnV4IgojCiMgJFNUQUdJTkdfREFUQURJUgojICAg
c2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6Mzc2
CiMgICAgICIke1NUQUdJTkdfRElSX0hPU1R9JHtkYXRhZGlyfSIKU1RBR0lOR19EQVRBRElSPSIv
bWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvdG1wL3dvcmsvcWVtdXg4Ni1wb2t5LWxpbnV4L2x0
dG5nLW1vZHVsZXMvMi45LjEtcjAvcmVjaXBlLXN5c3Jvb3QvdXNyL3NoYXJlIgojCiMgJFNUQUdJ
TkdfREFUQURJUl9OQVRJVkUKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRh
L2NvbmYvYml0YmFrZS5jb25mOjM2OAojICAgICAiJHtTVEFHSU5HX0RJUl9OQVRJVkV9JHtkYXRh
ZGlyX25hdGl2ZX0iClNUQUdJTkdfREFUQURJUl9OQVRJVkU9Ii9tZWRpYS9yZWJlY2Nhcy95b2N0
by9sdHRuZy90bXAvd29yay9xZW11eDg2LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1y
MC9yZWNpcGUtc3lzcm9vdC1uYXRpdmUvdXNyL3NoYXJlIgojCiMgJFNUQUdJTkdfRElSCiMgICBz
ZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjozNTMK
IyAgICAgIiR7VE1QRElSfS9zeXNyb290cyIKU1RBR0lOR19ESVI9Ii9tZWRpYS9yZWJlY2Nhcy95
b2N0by9sdHRuZy90bXAvc3lzcm9vdHMiCiMKIyAkU1RBR0lOR19ESVJfSE9TVAojICAgc2V0IC9t
ZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6MzcwCiMgICAg
ICIke1JFQ0lQRV9TWVNST09UfSIKU1RBR0lOR19ESVJfSE9TVD0iL21lZGlhL3JlYmVjY2FzL3lv
Y3RvL2x0dG5nL3RtcC93b3JrL3FlbXV4ODYtcG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4x
LXIwL3JlY2lwZS1zeXNyb290IgojCiMgJFNUQUdJTkdfRElSX05BVElWRQojICAgc2V0IC9tZWRp
YS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6MzU4CiMgICAgICIk
e1JFQ0lQRV9TWVNST09UX05BVElWRX0iClNUQUdJTkdfRElSX05BVElWRT0iL21lZGlhL3JlYmVj
Y2FzL3lvY3RvL2x0dG5nL3RtcC93b3JrL3FlbXV4ODYtcG9reS1saW51eC9sdHRuZy1tb2R1bGVz
LzIuOS4xLXIwL3JlY2lwZS1zeXNyb290LW5hdGl2ZSIKIwojICRTVEFHSU5HX0RJUl9UQVJHRVQK
IyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25m
OjM4MQojICAgICAiJHtSRUNJUEVfU1lTUk9PVH0iClNUQUdJTkdfRElSX1RBUkdFVD0iL21lZGlh
L3JlYmVjY2FzL3lvY3RvL2x0dG5nL3RtcC93b3JrL3FlbXV4ODYtcG9reS1saW51eC9sdHRuZy1t
b2R1bGVzLzIuOS4xLXIwL3JlY2lwZS1zeXNyb290IgojCiMgJFNUQUdJTkdfRVRDRElSX05BVElW
RQojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNv
bmY6MzY3CiMgICAgICIke1NUQUdJTkdfRElSX05BVElWRX0ke3N5c2NvbmZkaXJfbmF0aXZlfSIK
U1RBR0lOR19FVENESVJfTkFUSVZFPSIvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvdG1wL3dv
cmsvcWVtdXg4Ni1wb2t5LWxpbnV4L2x0dG5nLW1vZHVsZXMvMi45LjEtcjAvcmVjaXBlLXN5c3Jv
b3QtbmF0aXZlL2V0YyIKIwojICRTVEFHSU5HX0VYRUNQUkVGSVhESVIKIyAgIHNldCAvbWVkaWEv
cmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjM3NwojICAgICAiJHtT
VEFHSU5HX0RJUl9IT1NUfSR7ZXhlY19wcmVmaXh9IgpTVEFHSU5HX0VYRUNQUkVGSVhESVI9Ii9t
ZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy90bXAvd29yay9xZW11eDg2LXBva3ktbGludXgvbHR0
bmctbW9kdWxlcy8yLjkuMS1yMC9yZWNpcGUtc3lzcm9vdC91c3IiCiMKIyAkU1RBR0lOR19GSVJN
V0FSRV9ESVIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0
YmFrZS5jb25mOjM3OQojICAgICAiJHtTVEFHSU5HX0RJUl9IT1NUfS9maXJtd2FyZSIKU1RBR0lO
R19GSVJNV0FSRV9ESVI9Ii9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy90bXAvd29yay9xZW11
eDg2LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9yZWNpcGUtc3lzcm9vdC9maXJt
d2FyZSIKIwojICRTVEFHSU5HX0lOQ0RJUgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9w
b2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6Mzc1CiMgICAgICIke1NUQUdJTkdfRElSX0hPU1R9
JHtpbmNsdWRlZGlyfSIKU1RBR0lOR19JTkNESVI9Ii9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRu
Zy90bXAvd29yay9xZW11eDg2LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9yZWNp
cGUtc3lzcm9vdC91c3IvaW5jbHVkZSIKIwojICRTVEFHSU5HX0lOQ0RJUl9OQVRJVkUKIyAgIHNl
dCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjM2Ngoj
ICAgICAiJHtTVEFHSU5HX0RJUl9OQVRJVkV9JHtpbmNsdWRlZGlyX25hdGl2ZX0iClNUQUdJTkdf
SU5DRElSX05BVElWRT0iL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL3RtcC93b3JrL3FlbXV4
ODYtcG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL3JlY2lwZS1zeXNyb290LW5hdGl2
ZS91c3IvaW5jbHVkZSIKIwojICRTVEFHSU5HX0tFUk5FTF9CVUlMRERJUgojICAgc2V0IC9tZWRp
YS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6NDIyCiMgICAgICIk
e1RNUERJUn0vd29yay1zaGFyZWQvJHtNQUNISU5FfS9rZXJuZWwtYnVpbGQtYXJ0aWZhY3RzIgpT
VEFHSU5HX0tFUk5FTF9CVUlMRERJUj0iL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL3RtcC93
b3JrLXNoYXJlZC9xZW11eDg2L2tlcm5lbC1idWlsZC1hcnRpZmFjdHMiCiMKIyAkU1RBR0lOR19L
RVJORUxfRElSIFsyIG9wZXJhdGlvbnNdCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bv
a3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo0MjEKIyAgICAgIiR7VE1QRElSfS93b3JrLXNoYXJl
ZC8ke01BQ0hJTkV9L2tlcm5lbC1zb3VyY2UiCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3Rv
L3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjozOTMKIyAgICAgW2RvY10gIlRoZSBk
aXJlY3Rvcnkgd2l0aCBrZXJuZWwgaGVhZGVycyB0aGF0IGFyZSByZXF1aXJlZCB0byBidWlsZCBv
dXQtb2YtdHJlZSBtb2R1bGVzLiIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIiR7VE1QRElS
fS93b3JrLXNoYXJlZC8ke01BQ0hJTkV9L2tlcm5lbC1zb3VyY2UiClNUQUdJTkdfS0VSTkVMX0RJ
Uj0iL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL3RtcC93b3JrLXNoYXJlZC9xZW11eDg2L2tl
cm5lbC1zb3VyY2UiCiMKIyAkU1RBR0lOR19MSUJESVIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMv
eW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjM3MgojICAgICAiJHtTVEFHSU5HX0RJ
Ul9IT1NUfSR7bGliZGlyfSIKU1RBR0lOR19MSUJESVI9Ii9tZWRpYS9yZWJlY2Nhcy95b2N0by9s
dHRuZy90bXAvd29yay9xZW11eDg2LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9y
ZWNpcGUtc3lzcm9vdC91c3IvbGliIgojCiMgJFNUQUdJTkdfTElCRElSX05BVElWRQojICAgc2V0
IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6MzYyCiMg
ICAgICIke1NUQUdJTkdfRElSX05BVElWRX0ke2xpYmRpcl9uYXRpdmV9IgpTVEFHSU5HX0xJQkRJ
Ul9OQVRJVkU9Ii9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy90bXAvd29yay9xZW11eDg2LXBv
a3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9yZWNpcGUtc3lzcm9vdC1uYXRpdmUvdXNy
L2xpYiIKIwojICRTVEFHSU5HX0xJQkVYRUNESVIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9j
dG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjM3MwojICAgICAiJHtTVEFHSU5HX0RJUl9I
T1NUfSR7bGliZXhlY2Rpcn0iClNUQUdJTkdfTElCRVhFQ0RJUj0iL21lZGlhL3JlYmVjY2FzL3lv
Y3RvL2x0dG5nL3RtcC93b3JrL3FlbXV4ODYtcG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4x
LXIwL3JlY2lwZS1zeXNyb290L3Vzci9saWJleGVjIgojCiMgJFNUQUdJTkdfTElCRVhFQ0RJUl9O
QVRJVkUKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFr
ZS5jb25mOjM2MwojICAgICAiJHtTVEFHSU5HX0RJUl9OQVRJVkV9JHtsaWJleGVjZGlyX25hdGl2
ZX0iClNUQUdJTkdfTElCRVhFQ0RJUl9OQVRJVkU9Ii9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRu
Zy90bXAvd29yay9xZW11eDg2LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9yZWNp
cGUtc3lzcm9vdC1uYXRpdmUvdXNyL2xpYmV4ZWMiCiMKIyAkU1RBR0lOR19MT0FERVJfRElSCiMg
ICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjoz
NzgKIyAgICAgIiR7U1RBR0lOR19ESVJfSE9TVH0vbG9hZGVyIgpTVEFHSU5HX0xPQURFUl9ESVI9
Ii9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy90bXAvd29yay9xZW11eDg2LXBva3ktbGludXgv
bHR0bmctbW9kdWxlcy8yLjkuMS1yMC9yZWNpcGUtc3lzcm9vdC9sb2FkZXIiCiMKIyAkU1RBR0lO
R19TQklORElSX05BVElWRQojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEv
Y29uZi9iaXRiYWtlLmNvbmY6MzY1CiMgICAgICIke1NUQUdJTkdfRElSX05BVElWRX0ke3NiaW5k
aXJfbmF0aXZlfSIKU1RBR0lOR19TQklORElSX05BVElWRT0iL21lZGlhL3JlYmVjY2FzL3lvY3Rv
L2x0dG5nL3RtcC93b3JrL3FlbXV4ODYtcG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIw
L3JlY2lwZS1zeXNyb290LW5hdGl2ZS91c3Ivc2JpbiIKIwojICRTVEFNUCBbMiBvcGVyYXRpb25z
XQojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNv
bmY6MzQ0CiMgICAgICIke1NUQU1QU19ESVJ9LyR7TVVMVElNQUNIX1RBUkdFVF9TWVN9LyR7UE59
LyR7RVhURU5EUEV9JHtQVn0tJHtQUn0iCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bv
a3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjozOTQKIyAgICAgW2RvY10gIlNwZWNpZmll
cyB0aGUgYmFzZSBwYXRoIHVzZWQgdG8gY3JlYXRlIHJlY2lwZSBzdGFtcCBmaWxlcy4gVGhlIHBh
dGggdG8gYW4gYWN0dWFsIHN0YW1wIGZpbGUgaXMgY29uc3RydWN0ZWQgYnkgZXZhbHVhdGluZyB0
aGlzIHN0cmluZyBhbmQgdGhlbiBhcHBlbmRpbmcgYWRkaXRpb25hbCBpbmZvcm1hdGlvbi4iCiMg
cHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICIke1NUQU1QU19ESVJ9LyR7TVVMVElNQUNIX1RBUkdF
VF9TWVN9LyR7UE59LyR7RVhURU5EUEV9JHtQVn0tJHtQUn0iClNUQU1QPSIvbWVkaWEvcmViZWNj
YXMveW9jdG8vbHR0bmcvdG1wL3N0YW1wcy9xZW11eDg2LXBva3ktbGludXgvbHR0bmctbW9kdWxl
cy8yLjkuMS1yMCIKIwojICRTVEFNUENMRUFOCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3Rv
L3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjozNDUKIyAgICAgIiR7U1RBTVBTX0RJUn0vJHtN
VUxUSU1BQ0hfVEFSR0VUX1NZU30vJHtQTn0vKi0qIgpTVEFNUENMRUFOPSIvbWVkaWEvcmViZWNj
YXMveW9jdG8vbHR0bmcvdG1wL3N0YW1wcy9xZW11eDg2LXBva3ktbGludXgvbHR0bmctbW9kdWxl
cy8qLSoiCiMKIyAkU1RBTVBTX0RJUiBbMiBvcGVyYXRpb25zXQojICAgc2V0PyAvbWVkaWEvcmVi
ZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjM0MwojICAgICAiJHtUTVBE
SVJ9L3N0YW1wcyIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYv
ZG9jdW1lbnRhdGlvbi5jb25mOjM5NQojICAgICBbZG9jXSAiU3BlY2lmaWVzIHRoZSBiYXNlIGRp
cmVjdG9yeSBpbiB3aGljaCB0aGUgT3BlbkVtYmVkZGVkIGJ1aWxkIHN5c3RlbSBwbGFjZXMgc3Rh
bXBzLiIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIiR7VE1QRElSfS9zdGFtcHMiClNUQU1Q
U19ESVI9Ii9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy90bXAvc3RhbXBzIgojCiMgJFNUUklO
R1MgWzIgb3BlcmF0aW9uc10KIyAgIGV4cG9ydGVkIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5
L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6NTA2CiMgICAgIFtleHBvcnRdICIxIgojICAgc2V0IC9t
ZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6NTA2CiMgICAg
ICIke0hPU1RfUFJFRklYfXN0cmluZ3MiCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICIke0hP
U1RfUFJFRklYfXN0cmluZ3MiCmV4cG9ydCBTVFJJTkdTPSJpNTg2LXBva3ktbGludXgtc3RyaW5n
cyIKIwojICRTVFJJUCBbMiBvcGVyYXRpb25zXQojICAgZXhwb3J0ZWQgL21lZGlhL3JlYmVjY2Fz
L3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo1MDMKIyAgICAgW2V4cG9ydF0gIjEi
CiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29u
Zjo1MDMKIyAgICAgIiR7SE9TVF9QUkVGSVh9c3RyaXAiCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToK
IyAgICIke0hPU1RfUFJFRklYfXN0cmlwIgpleHBvcnQgU1RSSVA9Imk1ODYtcG9reS1saW51eC1z
dHJpcCIKIwojICRTVU1NQVJZIFs3IG9wZXJhdGlvbnNdCiMgICBzZXQ/IC9tZWRpYS9yZWJlY2Nh
cy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6MjIzCiMgICAgICIke1BOfSB2ZXJz
aW9uICR7UFZ9LSR7UFJ9IgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEv
Y29uZi9kb2N1bWVudGF0aW9uLmNvbmY6Mzk2CiMgICAgIFtkb2NdICJUaGUgc2hvcnQgKDgwIGNo
YXJhY3RlcnMgb3IgbGVzcykgc3VtbWFyeSBvZiB0aGUgYmluYXJ5IHBhY2thZ2UgZm9yIHBhY2th
Z2luZyBzeXN0ZW1zIHN1Y2ggYXMgb3BrZywgcnBtIG9yIGRwa2cuIEJ5IGRlZmF1bHQsIFNVTU1B
UlkgaXMgdXNlZCB0byBkZWZpbmUgdGhlIERFU0NSSVBUSU9OIHZhcmlhYmxlIGlmIERFU0NSSVBU
SU9OIGlzIG5vdCBzZXQgaW4gdGhlIHJlY2lwZS4iCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lv
Y3RvL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9sdHRuZy9sdHRuZy1tb2R1bGVzXzIuOS4xLmJi
OjIKIyAgICAgIkxpbnV4IFRyYWNlIFRvb2xraXQgS0VSTkVMIE1PRFVMRSIKIyAgIG92ZXJyaWRl
W2x0dG5nLW1vZHVsZXMtZGJnXTpyZW5hbWUgZnJvbSBTVU1NQVJZXyR7UE59LWRiZyBkYXRhLnB5
OjExNiBbZXhwYW5kS2V5c10KIyAgICAgIiR7U1VNTUFSWX0gLSBEZWJ1Z2dpbmcgZmlsZXMiCiMg
ICBvdmVycmlkZVtsdHRuZy1tb2R1bGVzLWRldl06cmVuYW1lIGZyb20gU1VNTUFSWV8ke1BOfS1k
ZXYgZGF0YS5weToxMTYgW2V4cGFuZEtleXNdCiMgICAgICIke1NVTU1BUll9IC0gRGV2ZWxvcG1l
bnQgZmlsZXMiCiMgICBvdmVycmlkZVtsdHRuZy1tb2R1bGVzLWRvY106cmVuYW1lIGZyb20gU1VN
TUFSWV8ke1BOfS1kb2MgZGF0YS5weToxMTYgW2V4cGFuZEtleXNdCiMgICAgICIke1NVTU1BUll9
IC0gRG9jdW1lbnRhdGlvbiBmaWxlcyIKIyAgIG92ZXJyaWRlW2x0dG5nLW1vZHVsZXMtc3RhdGlj
ZGV2XTpyZW5hbWUgZnJvbSBTVU1NQVJZXyR7UE59LXN0YXRpY2RldiBkYXRhLnB5OjExNiBbZXhw
YW5kS2V5c10KIyAgICAgIiR7U1VNTUFSWX0gLSBEZXZlbG9wbWVudCBmaWxlcyAoU3RhdGljIExp
YnJhcmllcykiCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICJMaW51eCBUcmFjZSBUb29sa2l0
IEtFUk5FTCBNT0RVTEUiClNVTU1BUlk9IkxpbnV4IFRyYWNlIFRvb2xraXQgS0VSTkVMIE1PRFVM
RSIKIwojICRTVU1NQVJZX2x0dG5nLW1vZHVsZXMtZGJnCiMgICByZW5hbWUgZnJvbSBTVU1NQVJZ
XyR7UE59LWRiZyBkYXRhLnB5OjExNiBbZXhwYW5kS2V5c10KIyAgICAgIiR7U1VNTUFSWX0gLSBE
ZWJ1Z2dpbmcgZmlsZXMiClNVTU1BUllfbHR0bmctbW9kdWxlcy1kYmc9IkxpbnV4IFRyYWNlIFRv
b2xraXQgS0VSTkVMIE1PRFVMRSAtIERlYnVnZ2luZyBmaWxlcyIKIwojICRTVU1NQVJZX2x0dG5n
LW1vZHVsZXMtZGV2CiMgICByZW5hbWUgZnJvbSBTVU1NQVJZXyR7UE59LWRldiBkYXRhLnB5OjEx
NiBbZXhwYW5kS2V5c10KIyAgICAgIiR7U1VNTUFSWX0gLSBEZXZlbG9wbWVudCBmaWxlcyIKU1VN
TUFSWV9sdHRuZy1tb2R1bGVzLWRldj0iTGludXggVHJhY2UgVG9vbGtpdCBLRVJORUwgTU9EVUxF
IC0gRGV2ZWxvcG1lbnQgZmlsZXMiCiMKIyAkU1VNTUFSWV9sdHRuZy1tb2R1bGVzLWRvYwojICAg
cmVuYW1lIGZyb20gU1VNTUFSWV8ke1BOfS1kb2MgZGF0YS5weToxMTYgW2V4cGFuZEtleXNdCiMg
ICAgICIke1NVTU1BUll9IC0gRG9jdW1lbnRhdGlvbiBmaWxlcyIKU1VNTUFSWV9sdHRuZy1tb2R1
bGVzLWRvYz0iTGludXggVHJhY2UgVG9vbGtpdCBLRVJORUwgTU9EVUxFIC0gRG9jdW1lbnRhdGlv
biBmaWxlcyIKIwojICRTVU1NQVJZX2x0dG5nLW1vZHVsZXMtc3RhdGljZGV2CiMgICByZW5hbWUg
ZnJvbSBTVU1NQVJZXyR7UE59LXN0YXRpY2RldiBkYXRhLnB5OjExNiBbZXhwYW5kS2V5c10KIyAg
ICAgIiR7U1VNTUFSWX0gLSBEZXZlbG9wbWVudCBmaWxlcyAoU3RhdGljIExpYnJhcmllcykiClNV
TU1BUllfbHR0bmctbW9kdWxlcy1zdGF0aWNkZXY9IkxpbnV4IFRyYWNlIFRvb2xraXQgS0VSTkVM
IE1PRFVMRSAtIERldmVsb3BtZW50IGZpbGVzIChTdGF0aWMgTGlicmFyaWVzKSIKIwojICRTVk5E
SVIgWzIgb3BlcmF0aW9uc10KIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRh
L2NvbmYvYml0YmFrZS5jb25mOjMzOAojICAgICAiJHtDT19ESVJ9L3N2biIKIyAgIHNldCAvbWVk
aWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjM5Nwoj
ICAgICBbZG9jXSAiVGhlIGRpcmVjdG9yeSB3aGVyZSBTdWJ2ZXJzaW9uIGNoZWNrb3V0cyB3aWxs
IGJlIHN0b3JlZC4iCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICIke0NPX0RJUn0vc3ZuIgpT
Vk5ESVI9Ii9tZWRpYS9yZWJlY2Nhcy9idWlsZC9kb3dubG9hZHMvc3ZuIgojCiMgJFNZU0xJTlVY
X0RFRkFVTFRfQ09OU09MRQojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEv
Y29uZi9kb2N1bWVudGF0aW9uLmNvbmY6Mzk4CiMgICAgIFtkb2NdICJTcGVjaWZpZXMgdGhlIGtl
cm5lbCBib290IGRlZmF1bHQgY29uc29sZS4iCiMKIyAkU1lTTElOVVhfT1BUUwojICAgc2V0IC9t
ZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6Mzk5
CiMgICAgIFtkb2NdICJMaXN0cyBhZGRpdGlvbmFsIG9wdGlvbnMgdG8gYWRkIHRvIHRoZSBzeXNs
aW51eCBmaWxlLiIKIwojICRTWVNMSU5VWF9TRVJJQUwKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMv
eW9jdG8vcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjQwMAojICAgICBbZG9jXSAi
U3BlY2lmaWVzIHRoZSBhbHRlcm5hdGUgc2VyaWFsIHBvcnQgb3IgdHVybnMgaXQgb2ZmLiIKIwoj
ICRTWVNMSU5VWF9TRVJJQUxfVFRZCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kv
bWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjo0MDIKIyAgICAgW2RvY10gIlNwZWNpZmllcyB0
aGUgYWx0ZXJuYXRlIGNvbnNvbGU9dHR5Li4uIGtlcm5lbCBib290IGFyZ3VtZW50LiIKIwojICRT
WVNMSU5VWF9TUExBU0gKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2Nv
bmYvZG9jdW1lbnRhdGlvbi5jb25mOjQwMQojICAgICBbZG9jXSAiQW4gLkxTUyBmaWxlIHVzZWQg
YXMgdGhlIGJhY2tncm91bmQgZm9yIHRoZSBWR0EgYm9vdCBtZW51IHdoZW4geW91IGFyZSB1c2lu
ZyB0aGUgYm9vdCBtZW51LiIKIwojICRTWVNST09UX0RFU1RESVIKIyAgIHNldCAvbWVkaWEvcmVi
ZWNjYXMveW9jdG8vcG9reS9tZXRhL2NsYXNzZXMvc3RhZ2luZy5iYmNsYXNzOjE3NAojICAgICAi
JHtXT1JLRElSfS9zeXNyb290LWRlc3RkaXIiClNZU1JPT1RfREVTVERJUj0iL21lZGlhL3JlYmVj
Y2FzL3lvY3RvL2x0dG5nL3RtcC93b3JrL3FlbXV4ODYtcG9reS1saW51eC9sdHRuZy1tb2R1bGVz
LzIuOS4xLXIwL3N5c3Jvb3QtZGVzdGRpciIKIwojICRTWVNST09UX0RJUlMgWzQgb3BlcmF0aW9u
c10KIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NsYXNzZXMvc3RhZ2lu
Zy5iYmNsYXNzOjgKIyAgICAgIiAgICAgJHtpbmNsdWRlZGlyfSAgICAgJHtsaWJkaXJ9ICAgICAk
e2Jhc2VfbGliZGlyfSAgICAgJHtub25hcmNoX2Jhc2VfbGliZGlyfSAgICAgJHtkYXRhZGlyfSAi
CiMgICBfYXBwZW5kW2NsYXNzLW5hdGl2ZV0gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0
YS9jbGFzc2VzL3N0YWdpbmcuYmJjbGFzczoyMQojICAgICAiICR7U1lTUk9PVF9ESVJTX05BVElW
RX0iCiMgICBfYXBwZW5kW2NsYXNzLWNyb3NzXSAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9t
ZXRhL2NsYXNzZXMvc3RhZ2luZy5iYmNsYXNzOjIyCiMgICAgICIgJHtTWVNST09UX0RJUlNfTkFU
SVZFfSIKIyAgIF9hcHBlbmRbY2xhc3MtY3Jvc3NzZGtdIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9w
b2t5L21ldGEvY2xhc3Nlcy9zdGFnaW5nLmJiY2xhc3M6MjMKIyAgICAgIiAke1NZU1JPT1RfRElS
U19OQVRJVkV9IgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiICAgICAke2luY2x1ZGVkaXJ9
ICAgICAke2xpYmRpcn0gICAgICR7YmFzZV9saWJkaXJ9ICAgICAke25vbmFyY2hfYmFzZV9saWJk
aXJ9ICAgICAke2RhdGFkaXJ9ICIKU1lTUk9PVF9ESVJTPSIgICAgIC91c3IvaW5jbHVkZSAgICAg
L3Vzci9saWIgICAgIC9saWIgICAgIC9saWIgICAgIC91c3Ivc2hhcmUgIgojCiMgJFNZU1JPT1Rf
RElSU19CTEFDS0xJU1QKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2Ns
YXNzZXMvc3RhZ2luZy5iYmNsYXNzOjM1CiMgICAgICIgICAgICR7bWFuZGlyfSAgICAgJHtkb2Nk
aXJ9ICAgICAke2luZm9kaXJ9ICAgICAke2RhdGFkaXJ9L2xvY2FsZSAgICAgJHtkYXRhZGlyfS9h
cHBsaWNhdGlvbnMgICAgICR7ZGF0YWRpcn0vZm9udHMgICAgICR7ZGF0YWRpcn0vcGl4bWFwcyAg
ICAgJHtsaWJkaXJ9LyR7UE59L3B0ZXN0ICIKU1lTUk9PVF9ESVJTX0JMQUNLTElTVD0iICAgICAv
dXNyL3NoYXJlL21hbiAgICAgL3Vzci9zaGFyZS9kb2MgICAgIC91c3Ivc2hhcmUvaW5mbyAgICAg
L3Vzci9zaGFyZS9sb2NhbGUgICAgIC91c3Ivc2hhcmUvYXBwbGljYXRpb25zICAgICAvdXNyL3No
YXJlL2ZvbnRzICAgICAvdXNyL3NoYXJlL3BpeG1hcHMgICAgIC91c3IvbGliL2x0dG5nLW1vZHVs
ZXMvcHRlc3QgIgojCiMgJFNZU1JPT1RfRElSU19OQVRJVkUKIyAgIHNldCAvbWVkaWEvcmViZWNj
YXMveW9jdG8vcG9reS9tZXRhL2NsYXNzZXMvc3RhZ2luZy5iYmNsYXNzOjIwCiMgICAgICIgICAg
ICR7YmluZGlyfSAgICAgJHtzYmluZGlyfSAgICAgJHtiYXNlX2JpbmRpcn0gICAgICR7YmFzZV9z
YmluZGlyfSAgICAgJHtsaWJleGVjZGlyfSAgICAgJHtzeXNjb25mZGlyfSAgICAgJHtsb2NhbHN0
YXRlZGlyfSAiClNZU1JPT1RfRElSU19OQVRJVkU9IiAgICAgL3Vzci9iaW4gICAgIC91c3Ivc2Jp
biAgICAgL2JpbiAgICAgL3NiaW4gICAgIC91c3IvbGliZXhlYyAgICAgL2V0YyAgICAgL3ZhciAi
CiMKIyAkU1lTUk9PVF9QUkVQUk9DRVNTX0ZVTkNTIFsyIG9wZXJhdGlvbnNdCiMgICBzZXQgL21l
ZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjo0MDMK
IyAgICAgW2RvY10gIkEgbGlzdCBvZiBmdW5jdGlvbnMgdG8gZXhlY3V0ZSBhZnRlciBmaWxlcyBh
cmUgc3RhZ2VkIGludG8gdGhlIHN5c3Jvb3QuIFRoZXNlIGZ1bmN0aW9ucyBhcmUgdXN1YWxseSB1
c2VkIHRvIGFwcGx5IGFkZGl0aW9uYWwgcHJvY2Vzc2luZyBvbiB0aGUgc3RhZ2VkIGZpbGVzLCBv
ciB0byBzdGFnZSBhZGRpdGlvbmFsIGZpbGVzLiIKIyAgIHNldD8gL21lZGlhL3JlYmVjY2FzL3lv
Y3RvL3Bva3kvbWV0YS9jbGFzc2VzL3N0YWdpbmcuYmJjbGFzczoxNzMKIyAgICAgIiIKIyBwcmUt
ZXhwYW5zaW9uIHZhbHVlOgojICAgIiIKU1lTUk9PVF9QUkVQUk9DRVNTX0ZVTkNTPSIiCiMKIyAk
U1lTVEVNRF9BVVRPX0VOQUJMRQojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21l
dGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6NDA0CiMgICAgIFtkb2NdICJGb3IgcmVjaXBlcyB0
aGF0IGluaGVyaXQgdGhlIHN5c3RlbWQgY2xhc3MsIHRoaXMgdmFyaWFibGUgc3BlY2lmaWVzIHdo
ZXRoZXIgdGhlIHNlcnZpY2UgeW91IGhhdmUgc3BlY2lmaWVkIGluIFNZU1RFTURfU0VSVklDRSBz
aG91bGQgYmUgc3RhcnRlZCBhdXRvbWF0aWNhbGx5IG9yIG5vdC4iCiMKIyAkU1lTVEVNRF9QQUNL
QUdFUwojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVu
dGF0aW9uLmNvbmY6NDA1CiMgICAgIFtkb2NdICJGb3IgcmVjaXBlcyB0aGF0IGluaGVyaXQgdGhl
IHN5c3RlbWQgY2xhc3MsIHRoaXMgdmFyaWFibGUgbG9jYXRlcyB0aGUgc3lzdGVtZCB1bml0IGZp
bGVzIHdoZW4gdGhleSBhcmUgbm90IGZvdW5kIGluIHRoZSBtYWluIHJlY2lwZSdzIHBhY2thZ2Uu
IgojCiMgJFNZU1RFTURfU0VSVklDRQojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5
L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6NDA2CiMgICAgIFtkb2NdICJGb3IgcmVjaXBl
cyB0aGF0IGluaGVyaXQgdGhlIHN5c3RlbWQgY2xhc3MsIHRoaXMgdmFyaWFibGUgc3BlY2lmaWVz
IHRoZSBzeXN0ZW1kIHNlcnZpY2UgbmFtZSBmb3IgYSBwYWNrYWdlLiIKIwojICRTWVNWSU5JVF9F
TkFCTEVEX0dFVFRZUwojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29u
Zi9kb2N1bWVudGF0aW9uLmNvbmY6NDA3CiMgICAgIFtkb2NdICJTcGVjaWZpZXMgd2hpY2ggdmly
dHVhbCB0ZXJtaW5hbHMgc2hvdWxkIGJlIHJ1bm5pbmcgYSBnZXR0eSwgdGhlIGRlZmF1bHQgaXMg
JzEnLiIKIwojICRUIFszIG9wZXJhdGlvbnNdCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3Rv
L3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjozNDgKIyAgICAgIiR7V09SS0RJUn0vdGVtcCIK
IyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlv
bi5jb25mOjQxMQojICAgICBbZG9jXSAiVGhpcyB2YXJpYWJsZSBwb2ludHMgdG8gYSBkaXJlY3Rv
cnkgd2VyZSBCaXRCYWtlIHBsYWNlcyB0ZW1wb3JhcnkgZmlsZXMsIHdoaWNoIGNvbnNpc3QgbW9z
dGx5IG9mIHRhc2sgbG9ncyBhbmQgc2NyaXB0cywgd2hlbiBidWlsZGluZyBhIHBhcnRpY3VsYXIg
cmVjaXBlLiIKIyAgIG92ZXJyaWRlW3Rhc2stY2xlYW5dOnNldCAvbWVkaWEvcmViZWNjYXMveW9j
dG8vcG9reS9tZXRhL2NsYXNzZXMvdXRpbGl0eS10YXNrcy5iYmNsYXNzOjIyCiMgICAgICIke0xP
R19ESVJ9L2NsZWFubG9ncy8ke1BOfSIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIiR7V09S
S0RJUn0vdGVtcCIKVD0iL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL3RtcC93b3JrL3FlbXV4
ODYtcG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL3RlbXAiCiMKIyAkVEFSR0VUX0FS
Q0ggWzMgb3BlcmF0aW9uc10KIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRh
L2NvbmYvYml0YmFrZS5jb25mOjEyMwojICAgICAiJHtUVU5FX0FSQ0h9IgojICAgc2V0IC9tZWRp
YS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6NDEyCiMg
ICAgIFtkb2NdICJUaGUgYXJjaGl0ZWN0dXJlIG9mIHRoZSBkZXZpY2UgYmVpbmcgYnVpbHQuIFRo
ZSBPcGVuRW1iZWRkZWQgYnVpbGQgc3lzdGVtIHN1cHBvcnRzIHRoZSBmb2xsb3dpbmcgYXJjaGl0
ZWN0dXJlczogYXJtLCBtaXBzLCBwcGMsIHg4NiwgeDg2LTY0LiIKIyAgIHNldCAvbWVkaWEvcmVi
ZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjgyOAojICAgICBbdW5leHBv
cnRdICIxIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiJHtUVU5FX0FSQ0h9Igp1bnNldCBU
QVJHRVRfQVJDSAojCiMgJFRBUkdFVF9BUl9LRVJORUxfQVJDSAojICAgc2V0PyAvbWVkaWEvcmVi
ZWNjYXMveW9jdG8vcG9reS9tZXRhL2NsYXNzZXMva2VybmVsLWFyY2guYmJjbGFzczo1NgojICAg
ICAiIgpUQVJHRVRfQVJfS0VSTkVMX0FSQ0g9IiIKIwojICRUQVJHRVRfQVNfQVJDSAojICAgc2V0
IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6MTMwCiMg
ICAgICIke1RVTkVfQVNBUkdTfSIKVEFSR0VUX0FTX0FSQ0g9IiAiCiMKIyAkVEFSR0VUX0NDX0FS
Q0gKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5j
b25mOjEyOAojICAgICAiJHtUVU5FX0NDQVJHU30iClRBUkdFVF9DQ19BUkNIPSIgLW0zMiAtbWFy
Y2g9aTU4NiIKIwojICRUQVJHRVRfQ0NfS0VSTkVMX0FSQ0gKIyAgIHNldD8gL21lZGlhL3JlYmVj
Y2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL2tlcm5lbC1hcmNoLmJiY2xhc3M6NTIKIyAgICAg
IiIKVEFSR0VUX0NDX0tFUk5FTF9BUkNIPSIiCiMKIyAkVEFSR0VUX0NGTEFHUyBbMyBvcGVyYXRp
b25zXQojICAgZXhwb3J0ZWQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Jp
dGJha2UuY29uZjo1NDYKIyAgICAgW2V4cG9ydF0gIjEiCiMgICBzZXQgL21lZGlhL3JlYmVjY2Fz
L3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo1NDYKIyAgICAgIiR7VEFSR0VUX0NQ
UEZMQUdTfSAke1NFTEVDVEVEX09QVElNSVpBVElPTn0iCiMgICBzZXQgL21lZGlhL3JlYmVjY2Fz
L3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjo0MTMKIyAgICAgW2RvY10g
IkZsYWdzIHBhc3NlZCB0byB0aGUgQyBjb21waWxlciBmb3IgdGhlIHRhcmdldCBzeXN0ZW0uIFRo
aXMgdmFyaWFibGUgZXZhbHVhdGVzIHRvIHRoZSBzYW1lIGFzIENGTEFHUy4iCiMgcHJlLWV4cGFu
c2lvbiB2YWx1ZToKIyAgICIke1RBUkdFVF9DUFBGTEFHU30gJHtTRUxFQ1RFRF9PUFRJTUlaQVRJ
T059IgpleHBvcnQgVEFSR0VUX0NGTEFHUz0iIC1PMiAtcGlwZSAtZyAtZmVsaW1pbmF0ZS11bnVz
ZWQtZGVidWctdHlwZXMgLWZkZWJ1Zy1wcmVmaXgtbWFwPS9tZWRpYS9yZWJlY2Nhcy95b2N0by9s
dHRuZy90bXAvd29yay9xZW11eDg2LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMD0v
dXNyL3NyYy9kZWJ1Zy9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwIC1mZGVidWctcHJlZml4LW1hcD0v
bWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvdG1wL3dvcmsvcWVtdXg4Ni1wb2t5LWxpbnV4L2x0
dG5nLW1vZHVsZXMvMi45LjEtcjAvcmVjaXBlLXN5c3Jvb3QtbmF0aXZlPSAtZmRlYnVnLXByZWZp
eC1tYXA9L21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL3RtcC93b3JrL3FlbXV4ODYtcG9reS1s
aW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL3JlY2lwZS1zeXNyb290PSAiCiMKIyAkVEFSR0VU
X0NQUEZMQUdTIFsyIG9wZXJhdGlvbnNdCiMgICBleHBvcnRlZCAvbWVkaWEvcmViZWNjYXMveW9j
dG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjU0MQojICAgICBbZXhwb3J0XSAiMSIKIyAg
IHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjU0
MQojICAgICAiIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiIgpleHBvcnQgVEFSR0VUX0NQ
UEZMQUdTPSIiCiMKIyAkVEFSR0VUX0NYWEZMQUdTIFsyIG9wZXJhdGlvbnNdCiMgICBleHBvcnRl
ZCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjU1MAoj
ICAgICBbZXhwb3J0XSAiMSIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRh
L2NvbmYvYml0YmFrZS5jb25mOjU1MAojICAgICAiJHtUQVJHRVRfQ0ZMQUdTfSIKIyBwcmUtZXhw
YW5zaW9uIHZhbHVlOgojICAgIiR7VEFSR0VUX0NGTEFHU30iCmV4cG9ydCBUQVJHRVRfQ1hYRkxB
R1M9IiAtTzIgLXBpcGUgLWcgLWZlbGltaW5hdGUtdW51c2VkLWRlYnVnLXR5cGVzIC1mZGVidWct
cHJlZml4LW1hcD0vbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvdG1wL3dvcmsvcWVtdXg4Ni1w
b2t5LWxpbnV4L2x0dG5nLW1vZHVsZXMvMi45LjEtcjA9L3Vzci9zcmMvZGVidWcvbHR0bmctbW9k
dWxlcy8yLjkuMS1yMCAtZmRlYnVnLXByZWZpeC1tYXA9L21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0
dG5nL3RtcC93b3JrL3FlbXV4ODYtcG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL3Jl
Y2lwZS1zeXNyb290LW5hdGl2ZT0gLWZkZWJ1Zy1wcmVmaXgtbWFwPS9tZWRpYS9yZWJlY2Nhcy95
b2N0by9sdHRuZy90bXAvd29yay9xZW11eDg2LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjku
MS1yMC9yZWNpcGUtc3lzcm9vdD0gIgojCiMgJFRBUkdFVF9GUFUgWzIgb3BlcmF0aW9uc10KIyAg
IHNldD8gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVk
ZS94ODYvYXJjaC14ODYuaW5jOjYKIyAgICAgIiIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9j
dG8vcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjQxNAojICAgICBbZG9jXSAiU3Bl
Y2lmaWVzIHRoZSBtZXRob2QgZm9yIGhhbmRsaW5nIEZQVSBjb2RlLiBGb3IgRlBVLWxlc3MgdGFy
Z2V0cywgd2hpY2ggaW5jbHVkZSBtb3N0IEFSTSBDUFVzLCB0aGUgdmFyaWFibGUgbXVzdCBiZSBz
ZXQgdG8gJ3NvZnQnLiBJZiBub3QsIHRoZSBrZXJuZWwgZW11bGF0aW9uIGdldHMgdXNlZCwgd2hp
Y2ggcmVzdWx0cyBpbiBhIHBlcmZvcm1hbmNlIHBlbmFsdHkuIgojIHByZS1leHBhbnNpb24gdmFs
dWU6CiMgICAiIgpUQVJHRVRfRlBVPSIiCiMKIyAkVEFSR0VUX0xERkxBR1MgWzMgb3BlcmF0aW9u
c10KIyAgIGV4cG9ydGVkIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRi
YWtlLmNvbmY6NTY5CiMgICAgIFtleHBvcnRdICIxIgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95
b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6NTY5CiMgICAgICItV2wsLU8xICR7VEFS
R0VUX0xJTktfSEFTSF9TVFlMRX0iCiMgICBhcHBlbmQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bv
a3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL2FzLW5lZWRlZC5pbmM6MTQKIyAgICAgIiR7QVNO
RUVERUR9IgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiLVdsLC1PMSAke1RBUkdFVF9MSU5L
X0hBU0hfU1RZTEV9ICR7QVNORUVERUR9IgpleHBvcnQgVEFSR0VUX0xERkxBR1M9Ii1XbCwtTzEg
LVdsLC0taGFzaC1zdHlsZT1nbnUgLVdsLC0tYXMtbmVlZGVkIgojCiMgJFRBUkdFVF9MRF9BUkNI
CiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29u
ZjoxMjkKIyAgICAgIiR7VFVORV9MREFSR1N9IgpUQVJHRVRfTERfQVJDSD0iICIKIwojICRUQVJH
RVRfTERfS0VSTkVMX0FSQ0gKIyAgIHNldD8gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0
YS9jbGFzc2VzL2tlcm5lbC1hcmNoLmJiY2xhc3M6NTQKIyAgICAgIiIKVEFSR0VUX0xEX0tFUk5F
TF9BUkNIPSIiCiMKIyAkVEFSR0VUX0xJTktfSEFTSF9TVFlMRQojICAgc2V0PyAvbWVkaWEvcmVi
ZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjU2NgojICAgICAiJHtAWyct
V2wsLS1oYXNoLXN0eWxlPWdudScsJyddW2QuZ2V0VmFyKCdMSU5LRVJfSEFTSF9TVFlMRScpICE9
ICdnbnUnXX0iClRBUkdFVF9MSU5LX0hBU0hfU1RZTEU9Ii1XbCwtLWhhc2gtc3R5bGU9Z251Igoj
CiMgJFRBUkdFVF9PUyBbMiBvcGVyYXRpb25zXQojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0
by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6MTI0CiMgICAgICJsaW51eCR7TElCQ0VYVEVO
U0lPTn0ke0FCSUVYVEVOU0lPTn0iCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kv
bWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjo0MTUKIyAgICAgW2RvY10gIlNwZWNpZmllcyB0
aGUgdGFyZ2V0J3Mgb3BlcmF0aW5nIHN5c3RlbS4iCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAg
ICJsaW51eCR7TElCQ0VYVEVOU0lPTn0ke0FCSUVYVEVOU0lPTn0iClRBUkdFVF9PUz0ibGludXgi
CiMKIyAkVEFSR0VUX1BSRUZJWCBbMiBvcGVyYXRpb25zXQojICAgc2V0IC9tZWRpYS9yZWJlY2Nh
cy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6MTI3CiMgICAgICIke1RBUkdFVF9T
WVN9LSIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZG9jdW1l
bnRhdGlvbi5jb25mOjQxNgojICAgICBbZG9jXSAiVGhlIHByZWZpeCBmb3IgdGhlIGNyb3NzLWNv
bXBpbGUgdG9vbGNoYWluIChlLmcuIGFybS1saW51eC0pLiIKIyBwcmUtZXhwYW5zaW9uIHZhbHVl
OgojICAgIiR7VEFSR0VUX1NZU30tIgpUQVJHRVRfUFJFRklYPSJpNTg2LXBva3ktbGludXgtIgoj
CiMgJFRBUkdFVF9TWVMgWzIgb3BlcmF0aW9uc10KIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9j
dG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjEyNgojICAgICAiJHtUQVJHRVRfQVJDSH0k
e1RBUkdFVF9WRU5ET1J9JHtAWyctJyArIGQuZ2V0VmFyKCdUQVJHRVRfT1MnKSwgJyddW2QuZ2V0
VmFyKCdUQVJHRVRfT1MnKSA9PSAoJycgb3IgJ2N1c3RvbScpXX0iCiMgICBzZXQgL21lZGlhL3Jl
YmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjo0MTcKIyAgICAg
W2RvY10gIlRoZSB0YXJnZXQgc3lzdGVtIGlzIGNvbXByaXNlZCBvZiBUQVJHRVRfQVJDSCxUQVJH
RVRfVkVORE9SIGFuZCBUQVJHRVRfT1MuIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiJHtU
QVJHRVRfQVJDSH0ke1RBUkdFVF9WRU5ET1J9JHtAWyctJyArIGQuZ2V0VmFyKCdUQVJHRVRfT1Mn
KSwgJyddW2QuZ2V0VmFyKCdUQVJHRVRfT1MnKSA9PSAoJycgb3IgJ2N1c3RvbScpXX0iClRBUkdF
VF9TWVM9Imk1ODYtcG9reS1saW51eCIKIwojICRUQVJHRVRfVkVORE9SIFsyIG9wZXJhdGlvbnNd
CiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29u
ZjoxMjUKIyAgICAgIi1vZSIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRh
LXBva3kvY29uZi9kaXN0cm8vcG9reS5jb25mOjEwCiMgICAgICItcG9reSIKIyBwcmUtZXhwYW5z
aW9uIHZhbHVlOgojICAgIi1wb2t5IgpUQVJHRVRfVkVORE9SPSItcG9reSIKIwojICRUQ0xJQkMg
WzIgb3BlcmF0aW9uc10KIyAgIHNldD8gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9j
b25mL2Rpc3Ryby9kZWZhdWx0c2V0dXAuY29uZjo5CiMgICAgICJnbGliYyIKIyAgIHNldCAvbWVk
aWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjQxOAoj
ICAgICBbZG9jXSAiU3BlY2lmaWVzIEMgbGlicmFyeSAobGliYykgdmFyaWFudCB0byB1c2UgZHVy
aW5nIHRoZSBidWlsZCBwcm9jZXNzLiBZb3UgY2FuIHNlbGVjdCAnYmFyZW1ldGFsJywgJ2dsaWJj
JyBvciAnbXVzbCcuIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiZ2xpYmMiClRDTElCQz0i
Z2xpYmMiCiMKIyAkVENMSUJDQVBQRU5EIFsyIG9wZXJhdGlvbnNdCiMgICBzZXQgL21lZGlhL3Jl
YmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5L2NvbmYvZGlzdHJvL3Bva3kuY29uZjo0NgojICAg
ICAiIgojICAgc2V0PyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJv
L2RlZmF1bHRzZXR1cC5jb25mOjE1CiMgICAgICItJHtUQ0xJQkN9IgojIHByZS1leHBhbnNpb24g
dmFsdWU6CiMgICAiIgpUQ0xJQkNBUFBFTkQ9IiIKIwojICRUQ01PREUgWzIgb3BlcmF0aW9uc10K
IyAgIHNldD8gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9kZWZh
dWx0c2V0dXAuY29uZjo2CiMgICAgICJkZWZhdWx0IgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95
b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6NDE5CiMgICAgIFtkb2NdICJF
bmFibGVzIGFuIGV4dGVybmFsIHRvb2xjaGFpbiAod2hlcmUgcHJvdmlkZWQgYnkgYW4gYWRkaXRp
b25hbCBsYXllcikgaWYgc2V0IHRvIGEgdmFsdWUgb3RoZXIgdGhhbiAnZGVmYXVsdCcuIgojIHBy
ZS1leHBhbnNpb24gdmFsdWU6CiMgICAiZGVmYXVsdCIKVENNT0RFPSJkZWZhdWx0IgojCiMgJFRF
Uk0gWzIgb3BlcmF0aW9uc10KIyAgIGZyb20gZW52IGRhdGEucHk6MTI0IFtpbmhlcml0RnJvbU9T
XQojICAgICAieHRlcm0tMjU2Y29sb3IiCiMgICBhdXRvIGVudiBleHBvcnQgZGF0YS5weToxMjYg
W2luaGVyaXRGcm9tT1NdCiMgICAgIFtleHBvcnRdICJUcnVlIgojIHByZS1leHBhbnNpb24gdmFs
dWU6CiMgICAieHRlcm0tMjU2Y29sb3IiCmV4cG9ydCBURVJNPSJ4dGVybS0yNTZjb2xvciIKIwoj
ICRURVNUX0lNQUdFCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25m
L2RvY3VtZW50YXRpb24uY29uZjo0MjAKIyAgICAgW2RvY10gIkVuYWJsZXMgdGVzdCBib290aW5n
IG9mIHZpcnR1YWwgbWFjaGluZSBpbWFnZXMgdW5kZXIgdGhlIFFFTVUgZW11bGF0b3IgYWZ0ZXIg
YW55IHJvb3QgZmlsZXN5c3RlbXMgYXJlIGNyZWF0ZWQgYW5kIHJ1bnMgdGVzdHMgYWdhaW5zdCB0
aG9zZSBpbWFnZXMuIgojCiMgJFRFU1RfUE9XRVJDT05UUk9MX0NNRAojICAgc2V0IC9tZWRpYS9y
ZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6NDIzCiMgICAg
IFtkb2NdICJGb3IgYXV0b21hdGVkIGhhcmR3YXJlIHRlc3RpbmcsIHNwZWNpZmllcyB0aGUgY29t
bWFuZCB0byB1c2UgdG8gY29udHJvbCB0aGUgcG93ZXIgb2YgdGhlIHRhcmdldCBtYWNoaW5lIHVu
ZGVyIHRlc3QiCiMKIyAkVEVTVF9QT1dFUkNPTlRST0xfRVhUUkFfQVJHUwojICAgc2V0IC9tZWRp
YS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6NDI0CiMg
ICAgIFtkb2NdICJGb3IgYXV0b21hdGVkIGhhcmR3YXJlIHRlc3RpbmcsIHNwZWNpZmllcyBhZGRp
dGlvbmFsIGFyZ3VtZW50cyB0byBwYXNzIHRocm91Z2ggdG8gdGhlIGNvbW1hbmQgc3BlY2lmaWVk
IGluIFRFU1RfUE9XRVJDT05UUk9MX0NNRCIKIwojICRURVNUX1FFTVVCT09UX1RJTUVPVVQKIyAg
IHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5j
b25mOjQyMQojICAgICBbZG9jXSAiVGhlIHRpbWUgaW4gc2Vjb25kcyBhbGxvd2VkIGZvciBhbiBp
bWFnZSB0byBib290IGJlZm9yZSBhdXRvbWF0ZWQgcnVudGltZSB0ZXN0cyBiZWdpbiB0byBydW4g
YWdhaW5zdCBhbiBpbWFnZS4iCiMKIyAkVEVTVF9TRVJJQUxDT05UUk9MX0NNRAojICAgc2V0IC9t
ZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6NDI1
CiMgICAgIFtkb2NdICJGb3IgYXV0b21hdGVkIGhhcmR3YXJlIHRlc3RpbmcsIHNwZWNpZmllcyB0
aGUgY29tbWFuZCB0byB1c2UgdG8gY29ubmVjdCB0byB0aGUgc2VyaWFsIGNvbnNvbGUgb2YgdGhl
IHRhcmdldCBtYWNoaW5lIHVuZGVyIHRlc3QiCiMKIyAkVEVTVF9TRVJJQUxDT05UUk9MX0VYVFJB
X0FSR1MKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZG9jdW1l
bnRhdGlvbi5jb25mOjQyNgojICAgICBbZG9jXSAiRm9yIGF1dG9tYXRlZCBoYXJkd2FyZSB0ZXN0
aW5nLCBzcGVjaWZpZXMgYWRkaXRpb25hbCBhcmd1bWVudHMgdG8gcGFzcyB0aHJvdWdoIHRvIHRo
ZSBjb21tYW5kIHNwZWNpZmllZCBpbiBURVNUX1NFUklBTENPTlRST0xfQ01EIgojCiMgJFRFU1Rf
U1VJVEVTCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3Vt
ZW50YXRpb24uY29uZjo0MjIKIyAgICAgW2RvY10gIkFuIG9yZGVyZWQgbGlzdCBvZiB0ZXN0cyAo
bW9kdWxlcykgdG8gcnVuIGFnYWluc3QgYW4gaW1hZ2Ugd2hlbiBwZXJmb3JtaW5nIGF1dG9tYXRl
ZCBydW50aW1lIHRlc3RpbmcuIgojCiMgJFRFU1RfVEFSR0VUCiMgICBzZXQgL21lZGlhL3JlYmVj
Y2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjo0MjcKIyAgICAgW2Rv
Y10gIkZvciBhdXRvbWF0ZWQgcnVudGltZSB0ZXN0aW5nLCBzcGVjaWZpZXMgdGhlIG1ldGhvZCBv
ZiBkZXBsb3lpbmcgdGhlIGltYWdlIGFuZCBydW5uaW5nIHRlc3RzIG9uIHRoZSB0YXJnZXQgbWFj
aGluZSIKIwojICRUSElTRElSIFsyIG9wZXJhdGlvbnNdCiMgICBzZXQgL21lZGlhL3JlYmVjY2Fz
L3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjo0MjgKIyAgICAgW2RvY10g
IlRoZSBkaXJlY3RvcnkgaW4gd2hpY2ggdGhlIGZpbGUgQml0QmFrZSBpcyBjdXJyZW50bHkgcGFy
c2luZyBpcyBsb2NhdGVkLiIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRh
L2NsYXNzZXMvYmFzZS5iYmNsYXNzOjg2CiMgICAgICIke0Bvcy5wYXRoLmRpcm5hbWUoZC5nZXRW
YXIoJ0ZJTEUnKSl9IgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiJHtAb3MucGF0aC5kaXJu
YW1lKGQuZ2V0VmFyKCdGSUxFJykpfSIKVEhJU0RJUj0iL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bv
a3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9sdHRuZyIKIwojICRUSU1FIFsyIG9wZXJhdGlvbnNdCiMg
ICBpbW1lZGlhdGUgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2Uu
Y29uZjoxNTkKIyAgICAgIiR7QHRpbWUuc3RyZnRpbWUoJyVIJU0lUycsdGltZS5nbXRpbWUoKSl9
IgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0
aW9uLmNvbmY6NDI5CiMgICAgIFtkb2NdICJUaGUgdGltZSB0aGUgYnVpbGQgd2FzIHN0YXJ0ZWQg
dXNpbmcgSE1TIGZvcm1hdC4iCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICIwNTI1MjEiClRJ
TUU9IjA1MjUyMSIKIwojICRUTVBESVIgWzQgb3BlcmF0aW9uc10KIyAgIHNldD8gL21lZGlhL3Jl
YmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjozMzEKIyAgICAgIiR7VE9Q
RElSfS90bXAiCiMgICBwb3N0ZG90IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29u
Zi9kaXN0cm8vZGVmYXVsdHNldHVwLmNvbmY6MTYKIyAgICAgIiR7VENMSUJDQVBQRU5EfSIKIyAg
IHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5j
b25mOjQzMAojICAgICBbZG9jXSAiVGhlIHRlbXBvcmFyeSBkaXJlY3RvcnkgdGhlIE9wZW5FbWJl
ZGRlZCBidWlsZCBzeXN0ZW0gdXNlcyB3aGVuIGl0IGRvZXMgaXRzIHdvcmsgYnVpbGRpbmcgaW1h
Z2VzLiBCeSBkZWZhdWx0LCB0aGUgVE1QRElSIHZhcmlhYmxlIGlzIG5hbWVkIHRtcCB3aXRoaW4g
dGhlIEJ1aWxkIERpcmVjdG9yeS4iCiMgICBzZXQgY2FjaGUucHk6Mjk5IFtwYXJzZV9yZWNpcGVd
CiMgICAgICIvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvdG1wIgojIHByZS1leHBhbnNpb24g
dmFsdWU6CiMgICAiL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL3RtcCIKVE1QRElSPSIvbWVk
aWEvcmViZWNjYXMveW9jdG8vbHR0bmcvdG1wIgojCiMgJFRPT0xDSEFJTgojICAgc2V0IC9tZWRp
YS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY2xhc3Nlcy9rZXJuZWwtYXJjaC5iYmNsYXNzOjYy
CiMgICAgICJnY2MiClRPT0xDSEFJTj0iZ2NjIgojCiMgJFRPT0xDSEFJTl9IT1NUX1RBU0sKIyAg
IHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5j
b25mOjQzMQojICAgICBbZG9jXSAiVGhpcyB2YXJpYWJsZSBsaXN0cyBwYWNrYWdlcyB0aGUgT3Bl
bkVtYmVkZGVkIGJ1aWxkIHN5c3RlbSB1c2VzIHdoZW4gYnVpbGRpbmcgYW4gU0RLLCB3aGljaCBj
b250YWlucyBhIGNyb3NzLWRldmVsb3BtZW50IGVudmlyb25tZW50LiIKIwojICRUT09MQ0hBSU5f
T1BUSU9OUwojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRi
YWtlLmNvbmY6NDkyCiMgICAgICIgLS1zeXNyb290PSR7U1RBR0lOR19ESVJfVEFSR0VUfSIKVE9P
TENIQUlOX09QVElPTlM9IiAtLXN5c3Jvb3Q9L21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL3Rt
cC93b3JrL3FlbXV4ODYtcG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL3JlY2lwZS1z
eXNyb290IgojCiMgJFRPT0xDSEFJTl9UQVJHRVRfVEFTSwojICAgc2V0IC9tZWRpYS9yZWJlY2Nh
cy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6NDMyCiMgICAgIFtkb2Nd
ICJUaGlzIHZhcmlhYmxlIGxpc3RzIHBhY2thZ2VzIHRoZSBPcGVuRW1iZWRkZWQgYnVpbGQgc3lz
dGVtIHVzZXMgd2hlbiBpdCBjcmVhdGVzIHRoZSB0YXJnZXQgcGFydCBvZiBhbiBTREssIHdoaWNo
IGluY2x1ZGVzIGxpYnJhcmllcyBhbmQgaGVhZGVycy4iCiMKIyAkVE9QRElSIFsyIG9wZXJhdGlv
bnNdCiMgICBzZXQgY29va2VyZGF0YS5weTozMjMgW3BhcnNlQ29uZmlndXJhdGlvbkZpbGVzXQoj
ICAgICAiL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nIgojICAgc2V0IC9tZWRpYS9yZWJlY2Nh
cy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6NDMzCiMgICAgIFtkb2Nd
ICJUaGUgQnVpbGQgRGlyZWN0b3J5LiBCaXRCYWtlIGF1dG9tYXRpY2FsbHkgc2V0cyB0aGlzIHZh
cmlhYmxlLiBUaGUgT3BlbkVtYmVkZGVkIGJ1aWxkIHN5c3RlbSB1c2VzIHRoZSBCdWlsZCBEaXJl
Y3Rvcnkgd2hlbiBidWlsZGluZyBpbWFnZXMuIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAi
L21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nIgpUT1BESVI9Ii9tZWRpYS9yZWJlY2Nhcy95b2N0
by9sdHRuZyIKIwojICRUUkFOU0xBVEVEX1RBUkdFVF9BUkNIIFsyIG9wZXJhdGlvbnNdCiMgICBz
ZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29u
Zjo0MzQKIyAgICAgW2RvY10gIkEgc2FuaXRpemVkIHZlcnNpb24gb2YgVEFSR0VUX0FSQ0guIFRo
aXMgdmFyaWFibGUgaXMgdXNlZCB3aGVyZSB0aGUgYXJjaGl0ZWN0dXJlIGlzIG5lZWRlZCBpbiBh
IHZhbHVlIHdoZXJlIHVuZGVyc2NvcmVzIGFyZSBub3QgYWxsb3dlZC4iCiMgICBzZXQgL21lZGlh
L3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo4NDAKIyAgICAgW19k
ZWZhdWx0dmFsXSAiJHtAZC5nZXRWYXIoJ1RBUkdFVF9BUkNIJykucmVwbGFjZSgiXyIsICItIil9
IgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiJHtAZC5nZXRWYXIoJ1RBUkdFVF9BUkNIJyku
cmVwbGFjZSgiXyIsICItIil9IgpUUkFOU0xBVEVEX1RBUkdFVF9BUkNIPSJpNTg2IgojCiMgJFRV
TkVBQkkKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZG9jdW1l
bnRhdGlvbi5jb25mOjQzNgojICAgICBbZG9jXSAiQW4gdW5kZXJseWluZyBBQkkgdXNlZCBieSBh
IHBhcnRpY3VsYXIgdHVuaW5nIGluIGEgZ2l2ZW4gdG9vbGNoYWluIGxheWVyLiBUaGlzIGZlYXR1
cmUgYWxsb3dzIHByb3ZpZGVycyB1c2luZyBwcmVidWlsdCBsaWJyYXJpZXMgdG8gY2hlY2sgY29t
cGF0aWJpbGl0eSBvZiBhIHR1bmluZyBhZ2FpbnN0IHRoZWlyIHNlbGVjdGlvbiBvZiBsaWJyYXJp
ZXMuIgojCiMgJFRVTkVBQklfT1ZFUlJJREUKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8v
cG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjQzNwojICAgICBbZG9jXSAiSWYgc2V0
LCBpZ25vcmVzIFRVTkVBQklfV0hJVEVMSVNULiIKIwojICRUVU5FQUJJX1dISVRFTElTVAojICAg
c2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNv
bmY6NDM4CiMgICAgIFtkb2NdICJBIHdoaXRlbGlzdCBvZiBwZXJtaXNzaWJsZSBUVU5FQUJJIHZh
bHVlcy4gIElmIHRoZSB2YXJpYWJsZSBpcyBub3Qgc2V0LCBhbGwgdmFsdWVzIGFyZSBhbGxvd2Vk
LiIKIwojICRUVU5FQ09ORkxJQ1RTIFs0IG9wZXJhdGlvbnNdCiMgICBzZXQgL21lZGlhL3JlYmVj
Y2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS94ODYvYXJjaC14ODYuaW5j
OjE0CiMgICAgIFttMzJdICJtNjQgbXgzMiIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8v
cG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3g4Ni9hcmNoLXg4Ni5pbmM6MjEKIyAgICAg
W214MzJdICJtNjQgbTMyIgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEv
Y29uZi9tYWNoaW5lL2luY2x1ZGUveDg2L2FyY2gteDg2LmluYzozMgojICAgICBbbTY0XSAibTMy
IG14MzIiCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3Vt
ZW50YXRpb24uY29uZjo0MzkKIyAgICAgW2RvY10gIkxpc3Qgb2YgY29uZmxpY3RpbmcgZmVhdHVy
ZXMgZm9yIGEgZ2l2ZW4gZmVhdHVyZS4iCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICJOb25l
IgojCiMgJFRVTkVWQUxJRCBbNSBvcGVyYXRpb25zXQojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95
b2N0by9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUveDg2L2FyY2gteDg2LmluYzoxMwoj
ICAgICBbbTMyXSAiSUEzMiBFTEYzMiBzdGFuZGFyZCBBQkkiCiMgICBzZXQgL21lZGlhL3JlYmVj
Y2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS94ODYvYXJjaC14ODYuaW5j
OjIwCiMgICAgIFtteDMyXSAiSUEzMmUgKHg4Nl82NCkgRUxGMzIgc3RhbmRhcmQgQUJJIgojICAg
c2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUv
eDg2L2FyY2gteDg2LmluYzozMQojICAgICBbbTY0XSAiSUEzMmUgKHg4Nl82NCkgRUxGNjQgc3Rh
bmRhcmQgQUJJIgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9t
YWNoaW5lL2luY2x1ZGUvdHVuZS1pNTg2LmluYzo2CiMgICAgIFtpNTg2XSAiRW5hYmxlIGk1ODYg
c3BlY2lmaWMgcHJvY2Vzc29yIG9wdGltaXphdGlvbnMiCiMgICBzZXQgL21lZGlhL3JlYmVjY2Fz
L3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjo0NDAKIyAgICAgW2RvY10g
IkRlc2NyaXB0aW9ucywgc3RvcmVkIGFzIGZsYWdzLCBvZiB2YWxpZCB0dW5pbmcgZmVhdHVyZXMu
IgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiTm9uZSIKIwojICRUVU5FX0FSQ0ggWzQgb3Bl
cmF0aW9uc10KIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0
YmFrZS5jb25mOjExMgojICAgICBbX2RlZmF1bHR2YWxdICJJTlZBTElEIgojICAgcG9zdGRvdCAv
bWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3g4Ni9h
cmNoLXg4Ni5pbmM6MTUKIyAgICAgIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdUVU5FX0ZFQVRVUkVT
JywgJ20zMicsICcke1g4NkFSQ0gzMn0nLCAnJyAsZCl9IgojICAgcG9zdGRvdCAvbWVkaWEvcmVi
ZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3g4Ni9hcmNoLXg4Ni5p
bmM6MjIKIyAgICAgIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdUVU5FX0ZFQVRVUkVTJywgJ214MzIn
LCAnJHtYODZBUkNINjR9JywgJycgLGQpfSIKIyAgIHBvc3Rkb3QgL21lZGlhL3JlYmVjY2FzL3lv
Y3RvL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS94ODYvYXJjaC14ODYuaW5jOjMzCiMg
ICAgICIke0BiYi51dGlscy5jb250YWlucygnVFVORV9GRUFUVVJFUycsICdtNjQnLCAnJHtYODZB
UkNINjR9JywgJycgLGQpfSIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIiR7QGJiLnV0aWxz
LmNvbnRhaW5zKCdUVU5FX0ZFQVRVUkVTJywgJ20zMicsICcke1g4NkFSQ0gzMn0nLCAnJyAsZCl9
JHtAYmIudXRpbHMuY29udGFpbnMoJ1RVTkVfRkVBVFVSRVMnLCAnbXgzMicsICcke1g4NkFSQ0g2
NH0nLCAnJyAsZCl9JHtAYmIudXRpbHMuY29udGFpbnMoJ1RVTkVfRkVBVFVSRVMnLCAnbTY0Jywg
JyR7WDg2QVJDSDY0fScsICcnICxkKX0iClRVTkVfQVJDSD0iaTU4NiIKIwojICRUVU5FX0FTQVJH
UyBbMiBvcGVyYXRpb25zXQojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEv
Y29uZi9iaXRiYWtlLmNvbmY6MTE2CiMgICAgIFtfZGVmYXVsdHZhbF0gIiIKIyAgIGFwcGVuZCAv
bWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3g4Ni9h
cmNoLXg4Ni5pbmM6MjYKIyAgICAgIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdUVU5FX0ZFQVRVUkVT
JywgJ214MzInLCAnLXgzMicsICcnLCBkKX0iCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICIg
JHtAYmIudXRpbHMuY29udGFpbnMoJ1RVTkVfRkVBVFVSRVMnLCAnbXgzMicsICcteDMyJywgJycs
IGQpfSIKVFVORV9BU0FSR1M9IiAiCiMKIyAkVFVORV9DQ0FSR1MgWzYgb3BlcmF0aW9uc10KIyAg
IHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjEx
MwojICAgICBbX2RlZmF1bHR2YWxdICIiCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bv
a3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjoxMTQKIyAgICAgW3ZhcmRlcHZhbHVlXSAiJHtUVU5F
X0NDQVJHU30iCiMgICBwb3N0ZG90IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29u
Zi9tYWNoaW5lL2luY2x1ZGUveDg2L2FyY2gteDg2LmluYzoxNgojICAgICAiJHtAYmIudXRpbHMu
Y29udGFpbnMoJ1RVTkVfRkVBVFVSRVMnLCAnbTMyJywgJyAtbTMyJywgJycsIGQpfSIKIyAgIHBv
c3Rkb3QgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVk
ZS94ODYvYXJjaC14ODYuaW5jOjI0CiMgICAgICIke0BiYi51dGlscy5jb250YWlucygnVFVORV9G
RUFUVVJFUycsICdteDMyJywgJyAtbXgzMicsICcnLCBkKX0iCiMgICBwb3N0ZG90IC9tZWRpYS9y
ZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUveDg2L2FyY2gteDg2
LmluYzozNAojICAgICAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1RVTkVfRkVBVFVSRVMnLCAnbTY0
JywgJyAtbTY0JywgJycsIGQpfSIKIyAgIHBvc3Rkb3QgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bv
a3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS90dW5lLWk1ODYuaW5jOjcKIyAgICAgIiR7QGJi
LnV0aWxzLmNvbnRhaW5zKCdUVU5FX0ZFQVRVUkVTJywgJ2k1ODYnLCAnIC1tYXJjaD1pNTg2Jywg
JycsIGQpfSIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIiR7QGJiLnV0aWxzLmNvbnRhaW5z
KCdUVU5FX0ZFQVRVUkVTJywgJ20zMicsICcgLW0zMicsICcnLCBkKX0ke0BiYi51dGlscy5jb250
YWlucygnVFVORV9GRUFUVVJFUycsICdteDMyJywgJyAtbXgzMicsICcnLCBkKX0ke0BiYi51dGls
cy5jb250YWlucygnVFVORV9GRUFUVVJFUycsICdtNjQnLCAnIC1tNjQnLCAnJywgZCl9JHtAYmIu
dXRpbHMuY29udGFpbnMoJ1RVTkVfRkVBVFVSRVMnLCAnaTU4NicsICcgLW1hcmNoPWk1ODYnLCAn
JywgZCl9IgpUVU5FX0NDQVJHUz0iIC1tMzIgLW1hcmNoPWk1ODYiCiMKIyAkVFVORV9GRUFUVVJF
UyBbNSBvcGVyYXRpb25zXQojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEv
Y29uZi9iaXRiYWtlLmNvbmY6MTE3CiMgICAgIFtfZGVmYXVsdHZhbF0gIiR7VFVORV9GRUFUVVJF
U190dW5lLSR7REVGQVVMVFRVTkV9fSIKIyAgIG92ZXJyaWRlW3R1bmUteDg2XTpzZXQgL21lZGlh
L3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS94ODYvYXJjaC14
ODYuaW5jOjM4CiMgICAgICJtMzIiCiMgICBvdmVycmlkZVt0dW5lLXg4Ni02NF06c2V0IC9tZWRp
YS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUveDg2L2FyY2gt
eDg2LmluYzo0NAojICAgICAibTY0IgojICAgb3ZlcnJpZGVbdHVuZS14ODYtNjQteDMyXTpzZXQg
L21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS94ODYv
YXJjaC14ODYuaW5jOjUwCiMgICAgICJteDMyIgojICAgb3ZlcnJpZGVbdHVuZS1pNTg2XTpzZXQg
L21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS90dW5l
LWk1ODYuaW5jOjExCiMgICAgICIke1RVTkVfRkVBVFVSRVNfdHVuZS14ODZ9IGk1ODYiCiMgcHJl
LWV4cGFuc2lvbiB2YWx1ZToKIyAgICIke1RVTkVfRkVBVFVSRVNfdHVuZS0ke0RFRkFVTFRUVU5F
fX0iClRVTkVfRkVBVFVSRVM9Im0zMiBpNTg2IgojCiMgJFRVTkVfRkVBVFVSRVNfdHVuZS1pNTg2
CiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5j
bHVkZS90dW5lLWk1ODYuaW5jOjExCiMgICAgICIke1RVTkVfRkVBVFVSRVNfdHVuZS14ODZ9IGk1
ODYiClRVTkVfRkVBVFVSRVNfdHVuZS1pNTg2PSJtMzIgaTU4NiIKIwojICRUVU5FX0ZFQVRVUkVT
X3R1bmUteDg2CiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL21h
Y2hpbmUvaW5jbHVkZS94ODYvYXJjaC14ODYuaW5jOjM4CiMgICAgICJtMzIiClRVTkVfRkVBVFVS
RVNfdHVuZS14ODY9Im0zMiIKIwojICRUVU5FX0ZFQVRVUkVTX3R1bmUteDg2LTY0CiMgICBzZXQg
L21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS94ODYv
YXJjaC14ODYuaW5jOjQ0CiMgICAgICJtNjQiClRVTkVfRkVBVFVSRVNfdHVuZS14ODYtNjQ9Im02
NCIKIwojICRUVU5FX0ZFQVRVUkVTX3R1bmUteDg2LTY0LXgzMgojICAgc2V0IC9tZWRpYS9yZWJl
Y2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUveDg2L2FyY2gteDg2Lmlu
Yzo1MAojICAgICAibXgzMiIKVFVORV9GRUFUVVJFU190dW5lLXg4Ni02NC14MzI9Im14MzIiCiMK
IyAkVFVORV9MREFSR1MgWzIgb3BlcmF0aW9uc10KIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9j
dG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjExNQojICAgICBbX2RlZmF1bHR2YWxdICIi
CiMgICBhcHBlbmQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL21hY2hpbmUv
aW5jbHVkZS94ODYvYXJjaC14ODYuaW5jOjI1CiMgICAgICIke0BiYi51dGlscy5jb250YWlucygn
VFVORV9GRUFUVVJFUycsICdteDMyJywgJy1tIGVsZjMyX3g4Nl82NCcsICcnLCBkKX0iCiMgcHJl
LWV4cGFuc2lvbiB2YWx1ZToKIyAgICIgJHtAYmIudXRpbHMuY29udGFpbnMoJ1RVTkVfRkVBVFVS
RVMnLCAnbXgzMicsICctbSBlbGYzMl94ODZfNjQnLCAnJywgZCl9IgpUVU5FX0xEQVJHUz0iICIK
IwojICRUVU5FX1BLR0FSQ0ggWzcgb3BlcmF0aW9uc10KIyAgIHNldCAvbWVkaWEvcmViZWNjYXMv
eW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjE0MwojICAgICBbX2RlZmF1bHR2YWxd
ICIiCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL21hY2hpbmUv
aW5jbHVkZS94ODYvYXJjaC14ODYuaW5jOjEwCiMgICAgICIke1RVTkVfUEtHQVJDSF90dW5lLSR7
REVGQVVMVFRVTkV9fSIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2Nv
bmYvZG9jdW1lbnRhdGlvbi5jb25mOjQzNQojICAgICBbZG9jXSAiVGhlIHBhY2thZ2UgYXJjaGl0
ZWN0dXJlIHVuZGVyc3Rvb2QgYnkgdGhlIHBhY2thZ2luZyBzeXN0ZW0gdG8gZGVmaW5lIHRoZSBh
cmNoaXRlY3R1cmUsIEFCSSwgYW5kIHR1bmluZyBvZiBvdXRwdXQgcGFja2FnZXMuIgojICAgb3Zl
cnJpZGVbdHVuZS14ODZdOnNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYv
bWFjaGluZS9pbmNsdWRlL3g4Ni9hcmNoLXg4Ni5pbmM6NDAKIyAgICAgIng4NiIKIyAgIG92ZXJy
aWRlW3R1bmUteDg2LTY0XTpzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25m
L21hY2hpbmUvaW5jbHVkZS94ODYvYXJjaC14ODYuaW5jOjQ2CiMgICAgICJ4ODZfNjQiCiMgICBv
dmVycmlkZVt0dW5lLXg4Ni02NC14MzJdOnNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9t
ZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3g4Ni9hcmNoLXg4Ni5pbmM6NTIKIyAgICAgIng4Nl82
NF94MzIiCiMgICBvdmVycmlkZVt0dW5lLWk1ODZdOnNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8v
cG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3R1bmUtaTU4Ni5pbmM6MTMKIyAgICAgImk1
ODYiCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICIke1RVTkVfUEtHQVJDSF90dW5lLSR7REVG
QVVMVFRVTkV9fSIKVFVORV9QS0dBUkNIPSJpNTg2IgojCiMgJFRVTkVfUEtHQVJDSF90dW5lLWk1
ODYKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvbWFjaGluZS9p
bmNsdWRlL3R1bmUtaTU4Ni5pbmM6MTMKIyAgICAgImk1ODYiClRVTkVfUEtHQVJDSF90dW5lLWk1
ODY9Imk1ODYiCiMKIyAkVFVORV9QS0dBUkNIX3R1bmUteDg2CiMgICBzZXQgL21lZGlhL3JlYmVj
Y2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS94ODYvYXJjaC14ODYuaW5j
OjQwCiMgICAgICJ4ODYiClRVTkVfUEtHQVJDSF90dW5lLXg4Nj0ieDg2IgojCiMgJFRVTkVfUEtH
QVJDSF90dW5lLXg4Ni02NAojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEv
Y29uZi9tYWNoaW5lL2luY2x1ZGUveDg2L2FyY2gteDg2LmluYzo0NgojICAgICAieDg2XzY0IgpU
VU5FX1BLR0FSQ0hfdHVuZS14ODYtNjQ9Ing4Nl82NCIKIwojICRUVU5FX1BLR0FSQ0hfdHVuZS14
ODYtNjQteDMyCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL21h
Y2hpbmUvaW5jbHVkZS94ODYvYXJjaC14ODYuaW5jOjUyCiMgICAgICJ4ODZfNjRfeDMyIgpUVU5F
X1BLR0FSQ0hfdHVuZS14ODYtNjQteDMyPSJ4ODZfNjRfeDMyIgojCiMgJFRfdGFzay1jbGVhbgoj
ICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY2xhc3Nlcy91dGlsaXR5LXRh
c2tzLmJiY2xhc3M6MjIKIyAgICAgIiR7TE9HX0RJUn0vY2xlYW5sb2dzLyR7UE59IgpUX3Rhc2st
Y2xlYW49Ii9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy90bXAvbG9nL2NsZWFubG9ncy9sdHRu
Zy1tb2R1bGVzIgojCiMgJFVCT09UX0FSQ0ggWzIgb3BlcmF0aW9uc10KIyAgIGV4cG9ydGVkIC9t
ZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY2xhc3Nlcy9rZXJuZWwtYXJjaC5iYmNsYXNz
OjQ4CiMgICAgIFtleHBvcnRdICIxIgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5
L21ldGEvY2xhc3Nlcy9rZXJuZWwtYXJjaC5iYmNsYXNzOjQ4CiMgICAgICIke0BtYXBfdWJvb3Rf
YXJjaChkLmdldFZhcignQVJDSCcpLCBkKX0iCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICIk
e0BtYXBfdWJvb3RfYXJjaChkLmdldFZhcignQVJDSCcpLCBkKX0iCmV4cG9ydCBVQk9PVF9BUkNI
PSJ4ODYiCiMKIyAkVUJPT1RfQ09ORklHCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bv
a3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjo0NDQKIyAgICAgW2RvY10gIkNvbmZpZ3Vy
ZXMgdGhlIFVCT09UX01BQ0hJTkUgYW5kIGNhbiBhbHNvIGRlZmluZSBJTUFHRV9GU1RZUEVTIGZv
ciBpbmRpdmlkdWFsIGNhc2VzLiIKIwojICRVQk9PVF9FTlRSWVBPSU5UCiMgICBzZXQgL21lZGlh
L3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjo0NDUKIyAg
ICAgW2RvY10gIlNwZWNpZmllcyB0aGUgZW50cnkgcG9pbnQgZm9yIHRoZSBVLUJvb3QgaW1hZ2Uu
IgojCiMgJFVCT09UX0xPQURBRERSRVNTCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bv
a3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjo0NDYKIyAgICAgW2RvY10gIlNwZWNpZmll
cyB0aGUgbG9hZCBhZGRyZXNzIGZvciB0aGUgVS1Cb290IGltYWdlLiIKIwojICRVQk9PVF9MT0NB
TFZFUlNJT04KIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZG9j
dW1lbnRhdGlvbi5jb25mOjQ0NwojICAgICBbZG9jXSAiQXBwZW5kcyBhIHN0cmluZyB0byB0aGUg
bmFtZSBvZiB0aGUgbG9jYWwgdmVyc2lvbiBvZiB0aGUgVS1Cb290IGltYWdlLiIKIwojICRVQk9P
VF9NQUNISU5FCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rv
Y3VtZW50YXRpb24uY29uZjo0NDgKIyAgICAgW2RvY10gIlNwZWNpZmllcyB0aGUgdmFsdWUgcGFz
c2VkIG9uIHRoZSBtYWtlIGNvbW1hbmQgbGluZSB3aGVuIGJ1aWxkaW5nIGEgVS1Cb290IGltYWdl
LiIKIwojICRVQk9PVF9NQUtFX1RBUkdFVAojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9w
b2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6NDQ5CiMgICAgIFtkb2NdICJTcGVjaWZp
ZXMgdGhlIHRhcmdldCBjYWxsZWQgaW4gdGhlIE1ha2VmaWxlLiIKIwojICRVQk9PVF9TVUZGSVgK
IyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlv
bi5jb25mOjQ1MAojICAgICBbZG9jXSAiUG9pbnRzIHRvIHRoZSBnZW5lcmF0ZWQgVS1Cb290IGV4
dGVuc2lvbi4iCiMKIyAkVUJPT1RfVEFSR0VUCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3Rv
L3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjo0NTEKIyAgICAgW2RvY10gIlNwZWNp
ZmllcyB0aGUgdGFyZ2V0IHVzZWQgZm9yIGJ1aWxkaW5nIFUtQm9vdC4iCiMKIyAkVUNMSUJDVkVS
U0lPTgojICAgc2V0PyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJv
L2luY2x1ZGUvdGNtb2RlLWRlZmF1bHQuaW5jOjMwCiMgICAgICIxLjAlIgpVQ0xJQkNWRVJTSU9O
PSIxLjAlIgojCiMgJFVOSU5BVElWRV9DSEVDS1NVTSBbMiBvcGVyYXRpb25zXQojICAgc2V0PyAv
bWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUveW9jdG8t
dW5pbmF0aXZlLmluYzoxMAojICAgICBbaTY4Nl0gImQ3YzM0MTQ2MDAzNTkzNmMxOWQ2M2ZlMDJm
MzU0ZWYxYmM5OTNjNjJkNjk0YWUzYTMxNDU4ZDFjNjk5N2YwYzUiCiMgICBzZXQ/IC9tZWRpYS9y
ZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS95b2N0by11bmluYXRp
dmUuaW5jOjExCiMgICAgIFt4ODZfNjRdICJlZDAzM2M4NjhiODc4NTJiMDc5NTdhNDQwMGYzYjc0
NGMwMGFlZjVkNjQ3MDM0NmVhMWE1OWI2ZDNlMDMwNzVlIgojIHByZS1leHBhbnNpb24gdmFsdWU6
CiMgICAiTm9uZSIKIwojICRVTklOQVRJVkVfRExESVIKIyAgIHNldD8gL21lZGlhL3JlYmVjY2Fz
L3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL3VuaW5hdGl2ZS5iYmNsYXNzOjkKIyAgICAgIiR7RExf
RElSfS91bmluYXRpdmUvIgpVTklOQVRJVkVfRExESVI9Ii9tZWRpYS9yZWJlY2Nhcy9idWlsZC9k
b3dubG9hZHMvdW5pbmF0aXZlLyIKIwojICRVTklOQVRJVkVfTE9BREVSCiMgICBzZXQ/IC9tZWRp
YS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY2xhc3Nlcy91bmluYXRpdmUuYmJjbGFzczoxCiMg
ICAgICIke1VOSU5BVElWRV9TVEFHSU5HX0RJUn0tdW5pbmF0aXZlLyR7QlVJTERfQVJDSH0tbGlu
dXgvbGliLyR7QGJiLnV0aWxzLmNvbnRhaW5zKCdCVUlMRF9BUkNIJywgJ3g4Nl82NCcsICdsZC1s
aW51eC14ODYtNjQuc28uMicsICdsZC1saW51eC5zby4yJywgZCl9IgpVTklOQVRJVkVfTE9BREVS
PSIvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvdG1wL3N5c3Jvb3RzLXVuaW5hdGl2ZS94ODZf
NjQtbGludXgvbGliL2xkLWxpbnV4LXg4Ni02NC5zby4yIgojCiMgJFVOSU5BVElWRV9TVEFHSU5H
X0RJUgojICAgc2V0PyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NsYXNzZXMvdW5p
bmF0aXZlLmJiY2xhc3M6MgojICAgICAiJHtTVEFHSU5HX0RJUn0iClVOSU5BVElWRV9TVEFHSU5H
X0RJUj0iL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL3RtcC9zeXNyb290cyIKIwojICRVTklO
QVRJVkVfVEFSQkFMTAojICAgc2V0PyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2Ns
YXNzZXMvdW5pbmF0aXZlLmJiY2xhc3M6NQojICAgICAiJHtCVUlMRF9BUkNIfS1uYXRpdmVzZGst
bGliYy50YXIuYnoyIgpVTklOQVRJVkVfVEFSQkFMTD0ieDg2XzY0LW5hdGl2ZXNkay1saWJjLnRh
ci5iejIiCiMKIyAkVU5JTkFUSVZFX1VSTCBbMiBvcGVyYXRpb25zXQojICAgc2V0PyAvbWVkaWEv
cmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUveW9jdG8tdW5pbmF0
aXZlLmluYzo5CiMgICAgICJodHRwOi8vZG93bmxvYWRzLnlvY3RvcHJvamVjdC5vcmcvcmVsZWFz
ZXMvdW5pbmF0aXZlLzEuNy8iCiMgICBzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21l
dGEvY2xhc3Nlcy91bmluYXRpdmUuYmJjbGFzczo0CiMgICAgICJ1bnNldCIKIyBwcmUtZXhwYW5z
aW9uIHZhbHVlOgojICAgImh0dHA6Ly9kb3dubG9hZHMueW9jdG9wcm9qZWN0Lm9yZy9yZWxlYXNl
cy91bmluYXRpdmUvMS43LyIKVU5JTkFUSVZFX1VSTD0iaHR0cDovL2Rvd25sb2Fkcy55b2N0b3By
b2plY3Qub3JnL3JlbGVhc2VzL3VuaW5hdGl2ZS8xLjcvIgojCiMgJFVOS05PV05fQ09ORklHVVJF
X1dISVRFTElTVAojICAgc2V0PyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NsYXNz
ZXMvaW5zYW5lLmJiY2xhc3M6NDkKIyAgICAgIi0tZW5hYmxlLW5scyAtLWRpc2FibGUtbmxzIC0t
ZGlzYWJsZS1zaWxlbnQtcnVsZXMgLS1kaXNhYmxlLWRlcGVuZGVuY3ktdHJhY2tpbmcgLS13aXRo
LWxpYnRvb2wtc3lzcm9vdCAtLWRpc2FibGUtc3RhdGljIgpVTktOT1dOX0NPTkZJR1VSRV9XSElU
RUxJU1Q9Ii0tZW5hYmxlLW5scyAtLWRpc2FibGUtbmxzIC0tZGlzYWJsZS1zaWxlbnQtcnVsZXMg
LS1kaXNhYmxlLWRlcGVuZGVuY3ktdHJhY2tpbmcgLS13aXRoLWxpYnRvb2wtc3lzcm9vdCAtLWRp
c2FibGUtc3RhdGljIgojCiMgJFVTRVIgWzIgb3BlcmF0aW9uc10KIyAgIGZyb20gZW52IGRhdGEu
cHk6MTI0IFtpbmhlcml0RnJvbU9TXQojICAgICAicmViZWNjYXMiCiMgICBhdXRvIGVudiBleHBv
cnQgZGF0YS5weToxMjYgW2luaGVyaXRGcm9tT1NdCiMgICAgIFtleHBvcnRdICJUcnVlIgojIHBy
ZS1leHBhbnNpb24gdmFsdWU6CiMgICAicmViZWNjYXMiCmV4cG9ydCBVU0VSPSJyZWJlY2NhcyIK
IwojICRVU0VSQURERVhURU5TSU9OCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kv
bWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjo0NTkKIyAgICAgW2RvY10gIldoZW4gc2V0IHRv
ICd1c2VyYWRkLXN0YXRpY2lkcycsIGNhdXNlcyB0aGUgT3BlbkVtYmVkZGVkIGJ1aWxkIHN5c3Rl
bSB0byBiYXNlIGFsbCB1c2VyIGFuZCBncm91cCBhZGRpdGlvbnMgb24gZmlsZXMgbGlzdGVkIGlu
IFVTRVJBRERfVUlEX1RBQkxFUyBhbmQgVVNFUkFERF9HSURfVEFCTEVTLiIKIwojICRVU0VSQURE
X0VSUk9SX0RZTkFNSUMKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2Nv
bmYvZG9jdW1lbnRhdGlvbi5jb25mOjQ1NAojICAgICBbZG9jXSAiSWYgc2V0IHRvICdlcnJvcics
IGZvcmNlcyB0aGUgT3BlbkVtYmVkZGVkIGJ1aWxkIHN5c3RlbSB0byBwcm9kdWNlIGFuIGVycm9y
IGlmIHRoZSB1c2VyIGlkZW50aWZpY2F0aW9uICh1aWQpIGFuZCBncm91cCBpZGVudGlmaWNhdGlv
biAoZ2lkKSB2YWx1ZXMgYXJlIG5vdCBkZWZpbmVkIGluIGFueSBvZiB0aGUgZmlsZXMgbGlzdGVk
IGluIFVTRVJBRERfVUlEX1RBQkxFUyBhbmQgVVNFUkFERF9HSURfVEFCTEVTLiBJZiBzZXQgdG8g
J3dhcm4nLCBhIHdhcm5pbmcgd2lsbCBiZSBpc3N1ZWQgaW5zdGVhZC4iCiMKIyAkVVNFUkFERF9H
SURfVEFCTEVTCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rv
Y3VtZW50YXRpb24uY29uZjo0NTUKIyAgICAgW2RvY10gIlNwZWNpZmllcyBhIHBhc3N3b3JkIGZp
bGUgdG8gdXNlIGZvciBvYnRhaW5pbmcgc3RhdGljIGdyb3VwIGlkZW50aWZpY2F0aW9uIChnaWQp
IHZhbHVlcyB3aGVuIHRoZSBPcGVuRW1iZWRkZWQgYnVpbGQgc3lzdGVtIGFkZHMgYSBncm91cCB0
byB0aGUgc3lzdGVtIGR1cmluZyBwYWNrYWdlIGluc3RhbGxhdGlvbi4iCiMKIyAkVVNFUkFERF9Q
QUNLQUdFUwojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1
bWVudGF0aW9uLmNvbmY6NDU2CiMgICAgIFtkb2NdICJXaGVuIGEgcmVjaXBlIGluaGVyaXRzIHRo
ZSB1c2VyYWRkIGNsYXNzLCB0aGlzIHZhcmlhYmxlIHNwZWNpZmllcyB0aGUgaW5kaXZpZHVhbCBw
YWNrYWdlcyB3aXRoaW4gdGhlIHJlY2lwZSB0aGF0IHJlcXVpcmUgdXNlcnMgYW5kL29yIGdyb3Vw
cyB0byBiZSBhZGRlZC4iCiMKIyAkVVNFUkFERF9QQVJBTQojICAgc2V0IC9tZWRpYS9yZWJlY2Nh
cy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6NDU3CiMgICAgIFtkb2Nd
ICJXaGVuIGEgcmVjaXBlIGluaGVyaXRzIHRoZSB1c2VyYWRkIGNsYXNzLCB0aGlzIHZhcmlhYmxl
IHNwZWNpZmllcyBmb3IgYSBwYWNrYWdlIHdoYXQgcGFyYW1ldGVycyBzaG91bGQgYmUgcGFzc2Vk
IHRvIHRoZSB1c2VyYWRkIGNvbW1hbmQgaWYgeW91IHdpc2ggdG8gYWRkIGEgdXNlciB0byB0aGUg
c3lzdGVtIHdoZW4gdGhlIHBhY2thZ2UgaXMgaW5zdGFsbGVkLiIKIwojICRVU0VSQUREX1VJRF9U
QUJMRVMKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZG9jdW1l
bnRhdGlvbi5jb25mOjQ1OAojICAgICBbZG9jXSAiU3BlY2lmaWVzIGEgcGFzc3dvcmQgZmlsZSB0
byB1c2UgZm9yIG9idGFpbmluZyBzdGF0aWMgdXNlciBpZGVudGlmaWNhdGlvbiAodWlkKSB2YWx1
ZXMgd2hlbiB0aGUgT3BlbkVtYmVkZGVkIGJ1aWxkIHN5c3RlbSBhZGRzIGEgdXNlciB0byB0aGUg
c3lzdGVtIGR1cmluZyBwYWNrYWdlIGluc3RhbGxhdGlvbi4iCiMKIyAkVVNFUl9DTEFTU0VTIFsz
IG9wZXJhdGlvbnNdCiMgICBzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy9jb25mL2xv
Y2FsLmNvbmY6MTU1CiMgICAgICJidWlsZHN0YXRzIGltYWdlLW1rbGlicyBpbWFnZS1wcmVsaW5r
IgojICAgc2V0PyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2Rl
ZmF1bHRzZXR1cC5jb25mOjIwCiMgICAgICIiCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3Rv
L3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjo0NTMKIyAgICAgW2RvY10gIkxpc3Qg
b2YgYWRkaXRpb25hbCBjbGFzc2VzIHRvIHVzZSB3aGVuIGJ1aWxkaW5nIGltYWdlcyB0aGF0IGVu
YWJsZSBleHRyYSBmZWF0dXJlcy4iCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICJidWlsZHN0
YXRzIGltYWdlLW1rbGlicyBpbWFnZS1wcmVsaW5rIgpVU0VSX0NMQVNTRVM9ImJ1aWxkc3RhdHMg
aW1hZ2UtbWtsaWJzIGltYWdlLXByZWxpbmsiCiMKIyAkVVNFX0RFVkZTCiMgICBzZXQgL21lZGlh
L3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjo0NTIKIyAg
ICAgW2RvY10gIldoZW4gYnVpbGRpbmcgaW1hZ2VzLCBzcGVjaWZpZXMgdG8gcG9wdWxhdGUgb3Ig
bm90IC9kZXYuIFRoaXMgdmFyaWFibGUgZGVmYXVsdHMgdG8gJzEnIChsZWF2ZSBkaXJlY3Rvcnkg
ZW1wdHksIHN1cmVseSBiZWNhdXNlIGRldnRtcGZzIGRvIHRoZSBqb2IpLiBTZXQgaXQgdG8gJzAn
IHRvIHVzZSBtYWtlZGV2cyAob3IgY29uc2lkZXIgdXNpbmcgYSBjdXN0b20gZmlsZSB3aXRoIElN
QUdFX0RFVklDRV9UQUJMRVMpLiIKIwojICRVU0VfTkxTCiMgICBzZXQgL21lZGlhL3JlYmVjY2Fz
L3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjoxMjAKIyAgICAgW19kZWZhdWx0dmFs
XSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdsaWJjLWxvY2FsZS1j
b2RlJywgJ3llcycsICdubycsIGQpfSIKVVNFX05MUz0ieWVzIgojCiMgJFVTUkJJTlBBVEggWzMg
b3BlcmF0aW9uc10KIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYv
Yml0YmFrZS5jb25mOjc5CiMgICAgICIke2JpbmRpcn0iCiMgICBvdmVycmlkZVtjbGFzcy1uYXRp
dmVdOnNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25m
OjgwCiMgICAgICIvdXNyL2JpbiIKIyAgIG92ZXJyaWRlW2NsYXNzLW5hdGl2ZXNka106c2V0IC9t
ZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6ODEKIyAgICAg
Ii91c3IvYmluIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiJHtiaW5kaXJ9IgpVU1JCSU5Q
QVRIPSIvdXNyL2JpbiIKIwojICRVU1JCSU5QQVRIX2NsYXNzLW5hdGl2ZQojICAgc2V0IC9tZWRp
YS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6ODAKIyAgICAgIi91
c3IvYmluIgpVU1JCSU5QQVRIX2NsYXNzLW5hdGl2ZT0iL3Vzci9iaW4iCiMKIyAkVVNSQklOUEFU
SF9jbGFzcy1uYXRpdmVzZGsKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRh
L2NvbmYvYml0YmFrZS5jb25mOjgxCiMgICAgICIvdXNyL2JpbiIKVVNSQklOUEFUSF9jbGFzcy1u
YXRpdmVzZGs9Ii91c3IvYmluIgojCiMgJFVWRVNBX01PREUKIyAgIHNldD8gL21lZGlhL3JlYmVj
Y2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS9xZW11Ym9vdC14ODYuaW5j
OjE5CiMgICAgICI2NDB4NDgwLTMyIgpVVkVTQV9NT0RFPSI2NDB4NDgwLTMyIgojCiMgJFZJUlRV
QUwtUlVOVElNRV9hbHNhLXN0YXRlCiMgICBzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5
L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9kZWZhdWx0LXByb3ZpZGVycy5pbmM6MjYKIyAgICAg
ImFsc2Etc3RhdGUiClZJUlRVQUwtUlVOVElNRV9hbHNhLXN0YXRlPSJhbHNhLXN0YXRlIgojCiMg
JFZJUlRVQUwtUlVOVElNRV9hcG0KIyAgIHNldD8gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kv
bWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL2RlZmF1bHQtcHJvdmlkZXJzLmluYzoyNQojICAgICAi
YXBtIgpWSVJUVUFMLVJVTlRJTUVfYXBtPSJhcG0iCiMKIyAkVklSVFVBTC1SVU5USU1FX2Jhc2Ut
dXRpbHMKIyAgIHNldD8gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ry
by9pbmNsdWRlL2RlZmF1bHQtcHJvdmlkZXJzLmluYzoyOQojICAgICAiYnVzeWJveCIKVklSVFVB
TC1SVU5USU1FX2Jhc2UtdXRpbHM9ImJ1c3lib3giCiMKIyAkVklSVFVBTC1SVU5USU1FX2Jhc2Ut
dXRpbHMtaHdjbG9jawojICAgc2V0PyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2Nv
bmYvZGlzdHJvL2luY2x1ZGUvZGVmYXVsdC1wcm92aWRlcnMuaW5jOjMwCiMgICAgICJidXN5Ym94
LWh3Y2xvY2siClZJUlRVQUwtUlVOVElNRV9iYXNlLXV0aWxzLWh3Y2xvY2s9ImJ1c3lib3gtaHdj
bG9jayIKIwojICRWSVJUVUFMLVJVTlRJTUVfZ2V0b3B0CiMgICBzZXQ/IC9tZWRpYS9yZWJlY2Nh
cy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9kZWZhdWx0LXByb3ZpZGVycy5p
bmM6MjcKIyAgICAgInV0aWwtbGludXgtZ2V0b3B0IgpWSVJUVUFMLVJVTlRJTUVfZ2V0b3B0PSJ1
dGlsLWxpbnV4LWdldG9wdCIKIwojICRWSVJUVUFMLVJVTlRJTUVfdXBkYXRlLWFsdGVybmF0aXZl
cwojICAgc2V0PyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2lu
Y2x1ZGUvZGVmYXVsdC1wcm92aWRlcnMuaW5jOjI0CiMgICAgICJ1cGRhdGUtYWx0ZXJuYXRpdmVz
LW9wa2ciClZJUlRVQUwtUlVOVElNRV91cGRhdGUtYWx0ZXJuYXRpdmVzPSJ1cGRhdGUtYWx0ZXJu
YXRpdmVzLW9wa2ciCiMKIyAkVklSVFVBTC1SVU5USU1FX3dpcmVsZXNzLXRvb2xzCiMgICBzZXQ/
IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9kZWZh
dWx0LXByb3ZpZGVycy5pbmM6MjgKIyAgICAgIml3IHdpcmVsZXNzLXRvb2xzIgpWSVJUVUFMLVJV
TlRJTUVfd2lyZWxlc3MtdG9vbHM9Iml3IHdpcmVsZXNzLXRvb2xzIgojCiMgJFdBUk5fUUEgWzMg
b3BlcmF0aW9uc10KIyAgIF9yZW1vdmUgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1w
b2t5L2NvbmYvZGlzdHJvL3Bva3kuY29uZjoxMDAKIyAgICAgIiR7V0FSTl9UT19FUlJPUl9RQX0i
CiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRp
b24uY29uZjo0NjMKIyAgICAgW2RvY10gIlNwZWNpZmllcyB0aGUgcXVhbGl0eSBhc3N1cmFuY2Ug
Y2hlY2tzIHdob3NlIGZhaWx1cmVzIGFyZSByZXBvcnRlZCBhcyB3YXJuaW5ncyBieSB0aGUgT3Bl
bkVtYmVkZGVkIGJ1aWxkIHN5c3RlbS4iCiMgICBzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9w
b2t5L21ldGEvY2xhc3Nlcy9pbnNhbmUuYmJjbGFzczozNgojICAgICAibGRmbGFncyB1c2VsZXNz
LXJwYXRocyBycGF0aHMgc3RhdGljZGV2IGxpYmRpciB4b3JnLWRyaXZlci1hYmkgICAgICAgICAg
ICAgdGV4dHJlbCBhbHJlYWR5LXN0cmlwcGVkIGluY29tcGF0aWJsZS1saWNlbnNlIGZpbGVzLWlu
dmFsaWQgICAgICAgICAgICAgaW5zdGFsbGVkLXZzLXNoaXBwZWQgY29tcGlsZS1ob3N0LXBhdGgg
aW5zdGFsbC1ob3N0LXBhdGggICAgICAgICAgICAgcG4tb3ZlcnJpZGVzIGluZm9kaXIgYnVpbGQt
ZGVwcyAgICAgICAgICAgICB1bmtub3duLWNvbmZpZ3VyZS1vcHRpb24gc3ltbGluay10by1zeXNy
b290IG11bHRpbGliICAgICAgICAgICAgIGludmFsaWQtcGFja2FnZWNvbmZpZyBob3N0LXVzZXIt
Y29udGFtaW5hdGVkICAgICAgICAgICAgICIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgImxp
YmRpciB4b3JnLWRyaXZlci1hYmkgdGV4dHJlbCBpbmNvbXBhdGlibGUtbGljZW5zZSBmaWxlcy1p
bnZhbGlkIGluZm9kaXIgYnVpbGQtZGVwcyB1bmtub3duLWNvbmZpZ3VyZS1vcHRpb24gc3ltbGlu
ay10by1zeXNyb290IG11bHRpbGliIGludmFsaWQtcGFja2FnZWNvbmZpZyBob3N0LXVzZXItY29u
dGFtaW5hdGVkIgpXQVJOX1FBPSJsaWJkaXIgeG9yZy1kcml2ZXItYWJpIHRleHRyZWwgaW5jb21w
YXRpYmxlLWxpY2Vuc2UgZmlsZXMtaW52YWxpZCBpbmZvZGlyIGJ1aWxkLWRlcHMgdW5rbm93bi1j
b25maWd1cmUtb3B0aW9uIHN5bWxpbmstdG8tc3lzcm9vdCBtdWx0aWxpYiBpbnZhbGlkLXBhY2th
Z2Vjb25maWcgaG9zdC11c2VyLWNvbnRhbWluYXRlZCIKIwojICRXQVJOX1RPX0VSUk9SX1FBCiMg
ICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5L2NvbmYvZGlzdHJvL3Bv
a3kuY29uZjo5OQojICAgICAiYWxyZWFkeS1zdHJpcHBlZCBjb21waWxlLWhvc3QtcGF0aCBpbnN0
YWxsLWhvc3QtcGF0aCBpbnN0YWxsZWQtdnMtc2hpcHBlZCBsZGZsYWdzIHBuLW92ZXJyaWRlcyBy
cGF0aHMgc3RhdGljZGV2IHVzZWxlc3MtcnBhdGhzIgpXQVJOX1RPX0VSUk9SX1FBPSJhbHJlYWR5
LXN0cmlwcGVkIGNvbXBpbGUtaG9zdC1wYXRoIGluc3RhbGwtaG9zdC1wYXRoIGluc3RhbGxlZC12
cy1zaGlwcGVkIGxkZmxhZ3MgcG4tb3ZlcnJpZGVzIHJwYXRocyBzdGF0aWNkZXYgdXNlbGVzcy1y
cGF0aHMiCiMKIyAkV0hJVEVMSVNUX0dQTC0zLjAKIyAgIHNldD8gL21lZGlhL3JlYmVjY2FzL3lv
Y3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL2RlZmF1bHQtZGlzdHJvdmFycy5pbmM6
MjUKIyAgICAgIiIKV0hJVEVMSVNUX0dQTC0zLjA9IiIKIwojICRXS1NfRklMRQojICAgc2V0PyAv
bWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvbWFjaGluZS9xZW11eDg2LmNvbmY6
MzEKIyAgICAgImRpcmVjdGRpc2sud2tzIgpXS1NfRklMRT0iZGlyZWN0ZGlzay53a3MiCiMKIyAk
V09SS0RJUiBbMiBvcGVyYXRpb25zXQojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5
L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6MzQ3CiMgICAgICIke0JBU0VfV09SS0RJUn0vJHtNVUxU
SU1BQ0hfVEFSR0VUX1NZU30vJHtQTn0vJHtFWFRFTkRQRX0ke1BWfS0ke1BSfSIKIyAgIHNldCAv
bWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjQ2
NAojICAgICBbZG9jXSAiVGhlIHBhdGhuYW1lIG9mIHRoZSB3b3JraW5nIGRpcmVjdG9yeSBpbiB3
aGljaCB0aGUgT3BlbkVtYmVkZGVkIGJ1aWxkIHN5c3RlbSBidWlsZHMgYSByZWNpcGUuIFRoaXMg
ZGlyZWN0b3J5IGlzIGxvY2F0ZWQgd2l0aGluIHRoZSBUTVBESVIgZGlyZWN0b3J5IHN0cnVjdHVy
ZSBhbmQgY2hhbmdlcyBhcyBkaWZmZXJlbnQgcGFja2FnZXMgYXJlIGJ1aWx0LiIKIyBwcmUtZXhw
YW5zaW9uIHZhbHVlOgojICAgIiR7QkFTRV9XT1JLRElSfS8ke01VTFRJTUFDSF9UQVJHRVRfU1lT
fS8ke1BOfS8ke0VYVEVORFBFfSR7UFZ9LSR7UFJ9IgpXT1JLRElSPSIvbWVkaWEvcmViZWNjYXMv
eW9jdG8vbHR0bmcvdG1wL3dvcmsvcWVtdXg4Ni1wb2t5LWxpbnV4L2x0dG5nLW1vZHVsZXMvMi45
LjEtcjAiCiMKIyAkWDg2QVJDSDMyCiMgICBzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5
L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUveDg2L2FyY2gteDg2LmluYzo3CiMgICAgICJpNTg2
IgpYODZBUkNIMzI9Imk1ODYiCiMKIyAkWDg2QVJDSDY0CiMgICBzZXQ/IC9tZWRpYS9yZWJlY2Nh
cy95b2N0by9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUveDg2L2FyY2gteDg2LmluYzo4
CiMgICAgICJ4ODZfNjQiClg4NkFSQ0g2ND0ieDg2XzY0IgojCiMgJFhBVVRIT1JJVFkKIyAgIHNl
dD8gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL3Rlcm1pbmFsLmJiY2xh
c3M6OQojICAgICAiJHtIT01FfS8uWGF1dGhvcml0eSIKWEFVVEhPUklUWT0iL2hvbWUvcmViZWNj
YXMvLlhhdXRob3JpdHkiCiMKIyAkWExJQlNfTUlSUk9SCiMgICBzZXQgL21lZGlhL3JlYmVjY2Fz
L3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo2MTYKIyAgICAgImh0dHA6Ly94bGli
cy5mcmVlZGVza3RvcC5vcmcvcmVsZWFzZSIKWExJQlNfTUlSUk9SPSJodHRwOi8veGxpYnMuZnJl
ZWRlc2t0b3Aub3JnL3JlbGVhc2UiCiMKIyAkWE9SR19NSVJST1IKIyAgIHNldCAvbWVkaWEvcmVi
ZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjYxNwojICAgICAiaHR0cDov
L3hvcmcuZnJlZWRlc2t0b3Aub3JnL3JlbGVhc2VzIgpYT1JHX01JUlJPUj0iaHR0cDovL3hvcmcu
ZnJlZWRlc2t0b3Aub3JnL3JlbGVhc2VzIgojCiMgJFhTRVJWRVIgWzIgb3BlcmF0aW9uc10KIyAg
IHNldD8gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVk
ZS9xZW11LmluYzoxMAojICAgICAieHNlcnZlci14b3JnICAgICAgICAgICAgICR7QGJiLnV0aWxz
LmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnb3BlbmdsJywgJ21lc2EtZHJpdmVyLXN3cmFz
dCB4c2VydmVyLXhvcmctZXh0ZW5zaW9uLWdseCcsICcnLCBkKX0gICAgICAgICAgICAgeGY4Ni12
aWRlby1mYmRldiAgICAgICAgICAgICAiCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bv
a3kvbWV0YS9jb25mL21hY2hpbmUvcWVtdXg4Ni5jb25mOjI1CiMgICAgICJ4c2VydmVyLXhvcmcg
JHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdvcGVuZ2wnLCAnbWVzYS1k
cml2ZXItc3dyYXN0IHhzZXJ2ZXIteG9yZy1leHRlbnNpb24tZ2x4JywgJycsIGQpfSB4Zjg2LXZp
ZGVvLWNpcnJ1cyB4Zjg2LXZpZGVvLWZiZGV2IHhmODYtdmlkZW8tdm13YXJlIHhmODYtdmlkZW8t
bW9kZXNldHRpbmcgeHNlcnZlci14b3JnLW1vZHVsZS1saWJpbnQxMCAiCiMgcHJlLWV4cGFuc2lv
biB2YWx1ZToKIyAgICJ4c2VydmVyLXhvcmcgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19G
RUFUVVJFUycsICdvcGVuZ2wnLCAnbWVzYS1kcml2ZXItc3dyYXN0IHhzZXJ2ZXIteG9yZy1leHRl
bnNpb24tZ2x4JywgJycsIGQpfSB4Zjg2LXZpZGVvLWNpcnJ1cyB4Zjg2LXZpZGVvLWZiZGV2IHhm
ODYtdmlkZW8tdm13YXJlIHhmODYtdmlkZW8tbW9kZXNldHRpbmcgeHNlcnZlci14b3JnLW1vZHVs
ZS1saWJpbnQxMCAiClhTRVJWRVI9InhzZXJ2ZXIteG9yZyBtZXNhLWRyaXZlci1zd3Jhc3QgeHNl
cnZlci14b3JnLWV4dGVuc2lvbi1nbHggeGY4Ni12aWRlby1jaXJydXMgeGY4Ni12aWRlby1mYmRl
diB4Zjg2LXZpZGVvLXZtd2FyZSB4Zjg2LXZpZGVvLW1vZGVzZXR0aW5nIHhzZXJ2ZXIteG9yZy1t
b2R1bGUtbGliaW50MTAgIgojCiMgJF90YXNrX2RlcHMKIyAgIHNldCBidWlsZC5weTo4MjMgW2Fk
ZF90YXNrc10KIyAgICAgInsncGFyZW50cyc6IHsnZG9fY2hlY2t1cmknOiBbXSwgJ2RvX3BhY2th
Z2UnOiBbJ2RvX2luc3RhbGwnXSwgJ2RvX3BvcHVsYXRlX2xpY19zZXRzY2VuZSc6IFtdLCAnZG9f
dW5wYWNrJzogWydkb19mZXRjaCddLCAnZG9fcGFja2FnZV9xYSc6IFsnZG9fcGFja2FnZWRhdGEn
LCAnZG9fcGFja2FnZSddLCAnZG9fZGV2cHlzaGVsbCc6IFsnZG9fcGF0Y2gnXSwgJ2RvX3BhdGNo
JzogWydkb191bnBhY2snXSwgJ2RvX3BvcHVsYXRlX3N5c3Jvb3Rfc2V0c2NlbmUnOiBbXSwgJ2Rv
X2ZldGNoYWxsJzogWydkb19mZXRjaCddLCAnZG9fcHJlcGFyZV9yZWNpcGVfc3lzcm9vdCc6IFsn
ZG9fZmV0Y2gnXSwgJ2RvX3BhY2thZ2VfcWFfc2V0c2NlbmUnOiBbXSwgJ2RvX2NoZWNrdXJpYWxs
JzogWydkb19jaGVja3VyaSddLCAnZG9fZmV0Y2gnOiBbXSwgJ2RvX3BhY2thZ2Vfd3JpdGVfcnBt
X3NldHNjZW5lJzogW10sICdkb19wYWNrYWdlZGF0YV9zZXRzY2VuZSc6IFtdLCAnZG9fcGFja2Fn
ZV9zZXRzY2VuZSc6IFtdLCAnZG9fY2xlYW4nOiBbXSwgJ2RvX3BhY2thZ2Vfd3JpdGVfcnBtJzog
Wydkb19wYWNrYWdlZGF0YScsICdkb19wYWNrYWdlJ10sICdkb19saXN0dGFza3MnOiBbXSwgJ2Rv
X21ha2Vfc2NyaXB0cyc6IFsnZG9fcHJlcGFyZV9yZWNpcGVfc3lzcm9vdCddLCAnZG9fYnVpbGQn
OiBbJ2RvX3BvcHVsYXRlX2xpYycsICdkb19wYWNrYWdlZGF0YScsICdkb19wYWNrYWdlX3FhJywg
J2RvX3BvcHVsYXRlX3N5c3Jvb3QnXSwgJ2RvX3BvcHVsYXRlX2xpYyc6IFsnZG9fcGF0Y2gnXSwg
J2RvX2RldnNoZWxsJzogWydkb19wYXRjaCddLCAnZG9fcG9wdWxhdGVfc3lzcm9vdCc6IFsnZG9f
aW5zdGFsbCddLCAnZG9fY29tcGlsZSc6IFsnZG9fbWFrZV9zY3JpcHRzJywgJ2RvX2NvbmZpZ3Vy
ZSddLCAnZG9faW5zdGFsbCc6IFsnZG9fY29tcGlsZSddLCAnZG9fY29uZmlndXJlJzogWydkb19w
cmVwYXJlX3JlY2lwZV9zeXNyb290JywgJ2RvX3BhdGNoJ10sICdkb19wYWNrYWdlZGF0YSc6IFsn
ZG9fcGFja2FnZSddLCAnZG9fY2xlYW5zc3RhdGUnOiBbJ2RvX2NsZWFuJ10sICdkb19jbGVhbmFs
bCc6IFsnZG9fY2xlYW5zc3RhdGUnXX0sICdkZXB0YXNrJzogeydkb19wYWNrYWdlJzogJyBkb19w
YWNrYWdlZGF0YScsICdkb19wcmVwYXJlX3JlY2lwZV9zeXNyb290JzogJ2RvX3BvcHVsYXRlX3N5
c3Jvb3QnfSwgJ3VtYXNrJzogeydkb19wYWNrYWdlJzogJzAyMicsICdkb19jb21waWxlJzogJzAy
MicsICdkb191bnBhY2snOiAnMDIyJywgJ2RvX2luc3RhbGwnOiAnMDIyJywgJ2RvX2NvbmZpZ3Vy
ZSc6ICcwMjInLCAnZG9fcGFja2FnZV93cml0ZV9ycG0nOiAnMDIyJywgJ2RvX3BvcHVsYXRlX3N5
c3Jvb3QnOiAnMDIyJ30sICd0YXNrcyc6IFsnZG9fcGF0Y2gnLCAnZG9fcG9wdWxhdGVfc3lzcm9v
dCcsICdkb19wb3B1bGF0ZV9zeXNyb290X3NldHNjZW5lJywgJ2RvX3ByZXBhcmVfcmVjaXBlX3N5
c3Jvb3QnLCAnZG9fbGlzdHRhc2tzJywgJ2RvX2NsZWFuJywgJ2RvX2NoZWNrdXJpJywgJ2RvX2No
ZWNrdXJpYWxsJywgJ2RvX2ZldGNoYWxsJywgJ2RvX2ZldGNoJywgJ2RvX3VucGFjaycsICdkb19j
b25maWd1cmUnLCAnZG9fY29tcGlsZScsICdkb19pbnN0YWxsJywgJ2RvX2J1aWxkJywgJ2RvX2Ns
ZWFuc3N0YXRlJywgJ2RvX2NsZWFuYWxsJywgJ2RvX3BhY2thZ2VfcWEnLCAnZG9fcGFja2FnZV9x
YV9zZXRzY2VuZScsICdkb19wYWNrYWdlJywgJ2RvX3BhY2thZ2Vfc2V0c2NlbmUnLCAnZG9fcGFj
a2FnZWRhdGEnLCAnZG9fcGFja2FnZWRhdGFfc2V0c2NlbmUnLCAnZG9fcGFja2FnZV93cml0ZV9y
cG1fc2V0c2NlbmUnLCAnZG9fcGFja2FnZV93cml0ZV9ycG0nLCAnZG9fZGV2c2hlbGwnLCAnZG9f
ZGV2cHlzaGVsbCcsICdkb19wb3B1bGF0ZV9saWMnLCAnZG9fcG9wdWxhdGVfbGljX3NldHNjZW5l
JywgJ2RvX21ha2Vfc2NyaXB0cyddLCAncmRlcGVuZHMnOiB7fSwgJ2Zha2Vyb290Jzogeydkb19w
YWNrYWdlJzogJzEnLCAnZG9fcGFja2FnZV9xYSc6ICcxJywgJ2RvX3BhY2thZ2Vfd3JpdGVfcnBt
JzogJzEnLCAnZG9fcGFja2FnZV9zZXRzY2VuZSc6ICcxJywgJ2RvX2luc3RhbGwnOiAnMSd9LCAn
cmVjaWRlcHRhc2snOiB7J2RvX2ZldGNoYWxsJzogJ2RvX2J1aWxkJywgJ2RvX2NoZWNrdXJpYWxs
JzogJ2RvX2J1aWxkJ30sICdub2V4ZWMnOiB7J2RvX2J1aWxkJzogJzEnfSwgJ3JkZXB0YXNrJzog
eydkb19wYWNrYWdlX3dyaXRlX3JwbSc6ICdkb19wYWNrYWdlZGF0YScsICdkb19wYWNrYWdlX3Fh
JzogJ2RvX3BhY2thZ2VkYXRhJ30sICdyZWNyZGVwdGFzayc6IHsnZG9fZmV0Y2hhbGwnOiAnZG9f
ZmV0Y2hhbGwgZG9fZmV0Y2gnLCAnZG9fYnVpbGQnOiAnIGRvX2RlcGxveSBkb19wYWNrYWdlX3dy
aXRlX3JwbScsICdkb19jaGVja3VyaWFsbCc6ICdkb19jaGVja3VyaWFsbCBkb19jaGVja3VyaSd9
LCAnZGVwZW5kcyc6IHsnZG9fcGFja2FnZSc6ICcgdmlydHVhbC9mYWtlcm9vdC1uYXRpdmU6ZG9f
cG9wdWxhdGVfc3lzcm9vdCBycG0tbmF0aXZlOmRvX3BvcHVsYXRlX3N5c3Jvb3QgZmlsZS1uYXRp
dmU6ZG9fcG9wdWxhdGVfc3lzcm9vdCcsICdkb19mZXRjaCc6ICcgd2dldC1uYXRpdmU6ZG9fcG9w
dWxhdGVfc3lzcm9vdCcsICdkb19tYWtlX3NjcmlwdHMnOiAnIHZpcnR1YWwva2VybmVsOmRvX3No
YXJlZF93b3JrZGlyJywgJ2RvX2luc3RhbGwnOiAnIHZpcnR1YWwvZmFrZXJvb3QtbmF0aXZlOmRv
X3BvcHVsYXRlX3N5c3Jvb3QnLCAnZG9fcGF0Y2gnOiAncXVpbHQtbmF0aXZlOmRvX3BvcHVsYXRl
X3N5c3Jvb3QnLCAnZG9fcGFja2FnZV9xYSc6ICcgdmlydHVhbC9pNTg2LXBva3ktbGludXgtYmlu
dXRpbHM6ZG9fcG9wdWxhdGVfc3lzcm9vdCBwcmVsaW5rLW5hdGl2ZTpkb19wb3B1bGF0ZV9zeXNy
b290IHZpcnR1YWwvZmFrZXJvb3QtbmF0aXZlOmRvX3BvcHVsYXRlX3N5c3Jvb3QnLCAnZG9fY29u
ZmlndXJlJzogJyB2aXJ0dWFsL2tlcm5lbDpkb19jb21waWxlX2tlcm5lbG1vZHVsZXMnLCAnZG9f
cGFja2FnZV93cml0ZV9ycG0nOiAnIGttb2QtbmF0aXZlOmRvX3BvcHVsYXRlX3N5c3Jvb3QgZGVw
bW9kd3JhcHBlci1jcm9zczpkb19wb3B1bGF0ZV9zeXNyb290IHJwbS1uYXRpdmU6ZG9fcG9wdWxh
dGVfc3lzcm9vdCB2aXJ0dWFsL2Zha2Vyb290LW5hdGl2ZTpkb19wb3B1bGF0ZV9zeXNyb290Jywg
J2RvX3BhY2thZ2Vfc2V0c2NlbmUnOiAnIHZpcnR1YWwvZmFrZXJvb3QtbmF0aXZlOmRvX3BvcHVs
YXRlX3N5c3Jvb3QnLCAnZG9fZGV2c2hlbGwnOiAnIHZpcnR1YWwvZmFrZXJvb3QtbmF0aXZlOmRv
X3BvcHVsYXRlX3N5c3Jvb3QnLCAnZG9fcG9wdWxhdGVfc3lzcm9vdCc6ICcgdmlydHVhbC9pNTg2
LXBva3ktbGludXgtYmludXRpbHM6ZG9fcG9wdWxhdGVfc3lzcm9vdCd9LCAnbm9zdGFtcCc6IHsn
ZG9fY2hlY2t1cmknOiAnMScsICdkb19saXN0dGFza3MnOiAnMScsICdkb19jbGVhbmFsbCc6ICcx
JywgJ2RvX2RldnB5c2hlbGwnOiAnMScsICdkb19jbGVhbic6ICcxJywgJ2RvX2RldnNoZWxsJzog
JzEnLCAnZG9fY2xlYW5zc3RhdGUnOiAnMScsICdkb19jaGVja3VyaWFsbCc6ICcxJ319IgpfdGFz
a19kZXBzPSJ7J3BhcmVudHMnOiB7J2RvX2NoZWNrdXJpJzogW10sICdkb19wYWNrYWdlJzogWydk
b19pbnN0YWxsJ10sICdkb19wb3B1bGF0ZV9saWNfc2V0c2NlbmUnOiBbXSwgJ2RvX3VucGFjayc6
IFsnZG9fZmV0Y2gnXSwgJ2RvX3BhY2thZ2VfcWEnOiBbJ2RvX3BhY2thZ2VkYXRhJywgJ2RvX3Bh
Y2thZ2UnXSwgJ2RvX2RldnB5c2hlbGwnOiBbJ2RvX3BhdGNoJ10sICdkb19wYXRjaCc6IFsnZG9f
dW5wYWNrJ10sICdkb19wb3B1bGF0ZV9zeXNyb290X3NldHNjZW5lJzogW10sICdkb19mZXRjaGFs
bCc6IFsnZG9fZmV0Y2gnXSwgJ2RvX3ByZXBhcmVfcmVjaXBlX3N5c3Jvb3QnOiBbJ2RvX2ZldGNo
J10sICdkb19wYWNrYWdlX3FhX3NldHNjZW5lJzogW10sICdkb19jaGVja3VyaWFsbCc6IFsnZG9f
Y2hlY2t1cmknXSwgJ2RvX2ZldGNoJzogW10sICdkb19wYWNrYWdlX3dyaXRlX3JwbV9zZXRzY2Vu
ZSc6IFtdLCAnZG9fcGFja2FnZWRhdGFfc2V0c2NlbmUnOiBbXSwgJ2RvX3BhY2thZ2Vfc2V0c2Nl
bmUnOiBbXSwgJ2RvX2NsZWFuJzogW10sICdkb19wYWNrYWdlX3dyaXRlX3JwbSc6IFsnZG9fcGFj
a2FnZWRhdGEnLCAnZG9fcGFja2FnZSddLCAnZG9fbGlzdHRhc2tzJzogW10sICdkb19tYWtlX3Nj
cmlwdHMnOiBbJ2RvX3ByZXBhcmVfcmVjaXBlX3N5c3Jvb3QnXSwgJ2RvX2J1aWxkJzogWydkb19w
b3B1bGF0ZV9saWMnLCAnZG9fcGFja2FnZWRhdGEnLCAnZG9fcGFja2FnZV9xYScsICdkb19wb3B1
bGF0ZV9zeXNyb290J10sICdkb19wb3B1bGF0ZV9saWMnOiBbJ2RvX3BhdGNoJ10sICdkb19kZXZz
aGVsbCc6IFsnZG9fcGF0Y2gnXSwgJ2RvX3BvcHVsYXRlX3N5c3Jvb3QnOiBbJ2RvX2luc3RhbGwn
XSwgJ2RvX2NvbXBpbGUnOiBbJ2RvX21ha2Vfc2NyaXB0cycsICdkb19jb25maWd1cmUnXSwgJ2Rv
X2luc3RhbGwnOiBbJ2RvX2NvbXBpbGUnXSwgJ2RvX2NvbmZpZ3VyZSc6IFsnZG9fcHJlcGFyZV9y
ZWNpcGVfc3lzcm9vdCcsICdkb19wYXRjaCddLCAnZG9fcGFja2FnZWRhdGEnOiBbJ2RvX3BhY2th
Z2UnXSwgJ2RvX2NsZWFuc3N0YXRlJzogWydkb19jbGVhbiddLCAnZG9fY2xlYW5hbGwnOiBbJ2Rv
X2NsZWFuc3N0YXRlJ119LCAnZGVwdGFzayc6IHsnZG9fcGFja2FnZSc6ICcgZG9fcGFja2FnZWRh
dGEnLCAnZG9fcHJlcGFyZV9yZWNpcGVfc3lzcm9vdCc6ICdkb19wb3B1bGF0ZV9zeXNyb290J30s
ICd1bWFzayc6IHsnZG9fcGFja2FnZSc6ICcwMjInLCAnZG9fY29tcGlsZSc6ICcwMjInLCAnZG9f
dW5wYWNrJzogJzAyMicsICdkb19pbnN0YWxsJzogJzAyMicsICdkb19jb25maWd1cmUnOiAnMDIy
JywgJ2RvX3BhY2thZ2Vfd3JpdGVfcnBtJzogJzAyMicsICdkb19wb3B1bGF0ZV9zeXNyb290Jzog
JzAyMid9LCAndGFza3MnOiBbJ2RvX3BhdGNoJywgJ2RvX3BvcHVsYXRlX3N5c3Jvb3QnLCAnZG9f
cG9wdWxhdGVfc3lzcm9vdF9zZXRzY2VuZScsICdkb19wcmVwYXJlX3JlY2lwZV9zeXNyb290Jywg
J2RvX2xpc3R0YXNrcycsICdkb19jbGVhbicsICdkb19jaGVja3VyaScsICdkb19jaGVja3VyaWFs
bCcsICdkb19mZXRjaGFsbCcsICdkb19mZXRjaCcsICdkb191bnBhY2snLCAnZG9fY29uZmlndXJl
JywgJ2RvX2NvbXBpbGUnLCAnZG9faW5zdGFsbCcsICdkb19idWlsZCcsICdkb19jbGVhbnNzdGF0
ZScsICdkb19jbGVhbmFsbCcsICdkb19wYWNrYWdlX3FhJywgJ2RvX3BhY2thZ2VfcWFfc2V0c2Nl
bmUnLCAnZG9fcGFja2FnZScsICdkb19wYWNrYWdlX3NldHNjZW5lJywgJ2RvX3BhY2thZ2VkYXRh
JywgJ2RvX3BhY2thZ2VkYXRhX3NldHNjZW5lJywgJ2RvX3BhY2thZ2Vfd3JpdGVfcnBtX3NldHNj
ZW5lJywgJ2RvX3BhY2thZ2Vfd3JpdGVfcnBtJywgJ2RvX2RldnNoZWxsJywgJ2RvX2RldnB5c2hl
bGwnLCAnZG9fcG9wdWxhdGVfbGljJywgJ2RvX3BvcHVsYXRlX2xpY19zZXRzY2VuZScsICdkb19t
YWtlX3NjcmlwdHMnXSwgJ3JkZXBlbmRzJzoge30sICdmYWtlcm9vdCc6IHsnZG9fcGFja2FnZSc6
ICcxJywgJ2RvX3BhY2thZ2VfcWEnOiAnMScsICdkb19wYWNrYWdlX3dyaXRlX3JwbSc6ICcxJywg
J2RvX3BhY2thZ2Vfc2V0c2NlbmUnOiAnMScsICdkb19pbnN0YWxsJzogJzEnfSwgJ25vZXhlYyc6
IHsnZG9fYnVpbGQnOiAnMSd9LCAncmRlcHRhc2snOiB7J2RvX3BhY2thZ2Vfd3JpdGVfcnBtJzog
J2RvX3BhY2thZ2VkYXRhJywgJ2RvX3BhY2thZ2VfcWEnOiAnZG9fcGFja2FnZWRhdGEnfSwgJ3Jl
Y3JkZXB0YXNrJzogeydkb19mZXRjaGFsbCc6ICdkb19mZXRjaGFsbCBkb19mZXRjaCcsICdkb19i
dWlsZCc6ICcgZG9fZGVwbG95IGRvX3BhY2thZ2Vfd3JpdGVfcnBtJywgJ2RvX2NoZWNrdXJpYWxs
JzogJ2RvX2NoZWNrdXJpYWxsIGRvX2NoZWNrdXJpJ30sICdub3N0YW1wJzogeydkb19jaGVja3Vy
aSc6ICcxJywgJ2RvX2xpc3R0YXNrcyc6ICcxJywgJ2RvX2NsZWFuYWxsJzogJzEnLCAnZG9fZGV2
cHlzaGVsbCc6ICcxJywgJ2RvX2NsZWFuJzogJzEnLCAnZG9fZGV2c2hlbGwnOiAnMScsICdkb19j
bGVhbnNzdGF0ZSc6ICcxJywgJ2RvX2NoZWNrdXJpYWxsJzogJzEnfSwgJ3JlY2lkZXB0YXNrJzog
eydkb19mZXRjaGFsbCc6ICdkb19idWlsZCcsICdkb19jaGVja3VyaWFsbCc6ICdkb19idWlsZCd9
LCAnZGVwZW5kcyc6IHsnZG9fcGFja2FnZSc6ICcgdmlydHVhbC9mYWtlcm9vdC1uYXRpdmU6ZG9f
cG9wdWxhdGVfc3lzcm9vdCBycG0tbmF0aXZlOmRvX3BvcHVsYXRlX3N5c3Jvb3QgZmlsZS1uYXRp
dmU6ZG9fcG9wdWxhdGVfc3lzcm9vdCcsICdkb19mZXRjaCc6ICcgd2dldC1uYXRpdmU6ZG9fcG9w
dWxhdGVfc3lzcm9vdCcsICdkb19tYWtlX3NjcmlwdHMnOiAnIHZpcnR1YWwva2VybmVsOmRvX3No
YXJlZF93b3JrZGlyJywgJ2RvX2luc3RhbGwnOiAnIHZpcnR1YWwvZmFrZXJvb3QtbmF0aXZlOmRv
X3BvcHVsYXRlX3N5c3Jvb3QnLCAnZG9fcGF0Y2gnOiAncXVpbHQtbmF0aXZlOmRvX3BvcHVsYXRl
X3N5c3Jvb3QnLCAnZG9fcGFja2FnZV9xYSc6ICcgdmlydHVhbC9pNTg2LXBva3ktbGludXgtYmlu
dXRpbHM6ZG9fcG9wdWxhdGVfc3lzcm9vdCBwcmVsaW5rLW5hdGl2ZTpkb19wb3B1bGF0ZV9zeXNy
b290IHZpcnR1YWwvZmFrZXJvb3QtbmF0aXZlOmRvX3BvcHVsYXRlX3N5c3Jvb3QnLCAnZG9fY29u
ZmlndXJlJzogJyB2aXJ0dWFsL2tlcm5lbDpkb19jb21waWxlX2tlcm5lbG1vZHVsZXMnLCAnZG9f
cGFja2FnZV93cml0ZV9ycG0nOiAnIGttb2QtbmF0aXZlOmRvX3BvcHVsYXRlX3N5c3Jvb3QgZGVw
bW9kd3JhcHBlci1jcm9zczpkb19wb3B1bGF0ZV9zeXNyb290IHJwbS1uYXRpdmU6ZG9fcG9wdWxh
dGVfc3lzcm9vdCB2aXJ0dWFsL2Zha2Vyb290LW5hdGl2ZTpkb19wb3B1bGF0ZV9zeXNyb290Jywg
J2RvX3BhY2thZ2Vfc2V0c2NlbmUnOiAnIHZpcnR1YWwvZmFrZXJvb3QtbmF0aXZlOmRvX3BvcHVs
YXRlX3N5c3Jvb3QnLCAnZG9fZGV2c2hlbGwnOiAnIHZpcnR1YWwvZmFrZXJvb3QtbmF0aXZlOmRv
X3BvcHVsYXRlX3N5c3Jvb3QnLCAnZG9fcG9wdWxhdGVfc3lzcm9vdCc6ICcgdmlydHVhbC9pNTg2
LXBva3ktbGludXgtYmludXRpbHM6ZG9fcG9wdWxhdGVfc3lzcm9vdCd9fSIKIwojICRhbGxfcHJv
eHkKIyAgIGZyb20gZW52IGRhdGEucHk6MTI0IFtpbmhlcml0RnJvbU9TXQojICAgICAic29ja3M6
Ly9odHRwOi8vcHJveHktcG5nLmludGVsLmNvbToxMDgwLyIKYWxsX3Byb3h5PSJzb2NrczovL2h0
dHA6Ly9wcm94eS1wbmcuaW50ZWwuY29tOjEwODAvIgojCiMgJGJhc2VfYmluZGlyIFs0IG9wZXJh
dGlvbnNdCiMgICBleHBvcnRlZCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYv
Yml0YmFrZS5jb25mOjIxCiMgICAgIFtleHBvcnRdICIxIgojICAgc2V0IC9tZWRpYS9yZWJlY2Nh
cy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6MjEKIyAgICAgIiR7YmFzZV9wcmVm
aXh9L2JpbiIKIyAgIG92ZXJyaWRlW25hdGl2ZV06c2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9w
b2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6NTAKIyAgICAgIi9iaW4iCiMgICBvdmVycmlkZVtu
YXRpdmVzZGtdOnNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFr
ZS5jb25mOjY2CiMgICAgICIvYmluIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiJHtiYXNl
X3ByZWZpeH0vYmluIgpleHBvcnQgYmFzZV9iaW5kaXI9Ii9iaW4iCiMKIyAkYmFzZV9iaW5kaXJf
bmF0aXZlCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJh
a2UuY29uZjo1MAojICAgICAiL2JpbiIKYmFzZV9iaW5kaXJfbmF0aXZlPSIvYmluIgojCiMgJGJh
c2VfYmluZGlyX25hdGl2ZXNkawojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21l
dGEvY29uZi9iaXRiYWtlLmNvbmY6NjYKIyAgICAgIi9iaW4iCmJhc2VfYmluZGlyX25hdGl2ZXNk
az0iL2JpbiIKIwojICRiYXNlX2RlcAojICAgX3ByZXBlbmQgYXN0LnB5OjIxNCBbZXZhbF0KIyAg
ICAgImRlZiBiYXNlX2RlcF9wcmVwZW5kKGQpOgojICAgICAgICAgIwojICAgICAgICAgIyBJZGVh
bGx5IHRoaXMgd2lsbCBjaGVjayBhIGZsYWcgc28gd2Ugd2lsbCBvcGVyYXRlIHByb3Blcmx5IGlu
CiMgICAgICAgICAjIHRoZSBjYXNlIHdoZXJlIGhvc3QgPT0gYnVpbGQgPT0gdGFyZ2V0LCBmb3Ig
bm93IHdlIGRvbid0IHdvcmsgaW4KIyAgICAgICAgICMgdGhhdCBjYXNlIHRob3VnaC4KIyAgICAg
ICAgICMKIyAgICAgCiMgICAgICAgICBkZXBzID0gIiIKIyAgICAgICAgICMgSU5ISUJJVF9ERUZB
VUxUX0RFUFMgZG9lc24ndCBhcHBseSB0byB0aGUgcGF0Y2ggY29tbWFuZC4gIFdoZXRoZXIgb3Ig
IG5vdAojICAgICAgICAgIyB3ZSBuZWVkIHRoYXQgYnVpbHQgaXMgdGhlIHJlc3BvbnNpYmlsaXR5
IG9mIHRoZSBwYXRjaCBmdW5jdGlvbiAvIGNsYXNzLCBub3QKIyAgICAgICAgICMgdGhlIGFwcGxp
Y2F0aW9uLgojICAgICAgICAgaWYgbm90IGQuZ2V0VmFyKCdJTkhJQklUX0RFRkFVTFRfREVQUycs
IEZhbHNlKToKIyAgICAgICAgICAgICBpZiAoZC5nZXRWYXIoJ0hPU1RfU1lTJykgIT0gZC5nZXRW
YXIoJ0JVSUxEX1NZUycpKToKIyAgICAgICAgICAgICAgICAgZGVwcyArPSAiIHZpcnR1YWwvJHtU
QVJHRVRfUFJFRklYfWdjYyB2aXJ0dWFsLyR7VEFSR0VUX1BSRUZJWH1jb21waWxlcmxpYnMgdmly
dHVhbC9saWJjICIKIyAgICAgICAgIHJldHVybiBkZXBzCiMgICAgICIKYmFzZV9kZXA9ImRlZiBi
YXNlX2RlcF9wcmVwZW5kKGQpOiBcCiAgICAjIFwKICAgICMgSWRlYWxseSB0aGlzIHdpbGwgY2hl
Y2sgYSBmbGFnIHNvIHdlIHdpbGwgb3BlcmF0ZSBwcm9wZXJseSBpbiBcCiAgICAjIHRoZSBjYXNl
IHdoZXJlIGhvc3QgPT0gYnVpbGQgPT0gdGFyZ2V0LCBmb3Igbm93IHdlIGRvbid0IHdvcmsgaW4g
XAogICAgIyB0aGF0IGNhc2UgdGhvdWdoLiBcCiAgICAjIFwKIFwKICAgIGRlcHMgPSBcIlwiIFwK
ICAgICMgSU5ISUJJVF9ERUZBVUxUX0RFUFMgZG9lc24ndCBhcHBseSB0byB0aGUgcGF0Y2ggY29t
bWFuZC4gIFdoZXRoZXIgb3IgIG5vdCBcCiAgICAjIHdlIG5lZWQgdGhhdCBidWlsdCBpcyB0aGUg
cmVzcG9uc2liaWxpdHkgb2YgdGhlIHBhdGNoIGZ1bmN0aW9uIC8gY2xhc3MsIG5vdCBcCiAgICAj
IHRoZSBhcHBsaWNhdGlvbi4gXAogICAgaWYgbm90IGQuZ2V0VmFyKCdJTkhJQklUX0RFRkFVTFRf
REVQUycsIEZhbHNlKTogXAogICAgICAgIGlmIChkLmdldFZhcignSE9TVF9TWVMnKSAhPSBkLmdl
dFZhcignQlVJTERfU1lTJykpOiBcCiAgICAgICAgICAgIGRlcHMgKz0gXCIgdmlydHVhbC9pNTg2
LXBva3ktbGludXgtZ2NjIHZpcnR1YWwvaTU4Ni1wb2t5LWxpbnV4LWNvbXBpbGVybGlicyB2aXJ0
dWFsL2xpYmMgXCIgXAogICAgcmV0dXJuIGRlcHMgXAoiCiMKIyAkYmFzZV9saWJkaXIgWzQgb3Bl
cmF0aW9uc10KIyAgIGV4cG9ydGVkIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29u
Zi9iaXRiYWtlLmNvbmY6MjMKIyAgICAgW2V4cG9ydF0gIjEiCiMgICBzZXQgL21lZGlhL3JlYmVj
Y2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjoyMwojICAgICAiJHtiYXNlX3By
ZWZpeH0vJHtiYXNlbGlifSIKIyAgIG92ZXJyaWRlW25hdGl2ZV06c2V0IC9tZWRpYS9yZWJlY2Nh
cy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6NTkKIyAgICAgIi9saWIiCiMgICBv
dmVycmlkZVtuYXRpdmVzZGtdOnNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2Nv
bmYvYml0YmFrZS5jb25mOjcwCiMgICAgICIvbGliIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMg
ICAiJHtiYXNlX3ByZWZpeH0vJHtiYXNlbGlifSIKZXhwb3J0IGJhc2VfbGliZGlyPSIvbGliIgoj
CiMgJGJhc2VfbGliZGlyX25hdGl2ZQojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5
L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6NTkKIyAgICAgIi9saWIiCmJhc2VfbGliZGlyX25hdGl2
ZT0iL2xpYiIKIwojICRiYXNlX2xpYmRpcl9uYXRpdmVzZGsKIyAgIHNldCAvbWVkaWEvcmViZWNj
YXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjcwCiMgICAgICIvbGliIgpiYXNl
X2xpYmRpcl9uYXRpdmVzZGs9Ii9saWIiCiMKIyAkYmFzZV9wcmVmaXggWzIgb3BlcmF0aW9uc10K
IyAgIGV4cG9ydGVkIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtl
LmNvbmY6MTYKIyAgICAgW2V4cG9ydF0gIjEiCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3Rv
L3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjoxNgojICAgICAiIgojIHByZS1leHBhbnNpb24g
dmFsdWU6CiMgICAiIgpleHBvcnQgYmFzZV9wcmVmaXg9IiIKIwojICRiYXNlX3NiaW5kaXIgWzQg
b3BlcmF0aW9uc10KIyAgIGV4cG9ydGVkIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEv
Y29uZi9iaXRiYWtlLmNvbmY6MjIKIyAgICAgW2V4cG9ydF0gIjEiCiMgICBzZXQgL21lZGlhL3Jl
YmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjoyMgojICAgICAiJHtiYXNl
X3ByZWZpeH0vc2JpbiIKIyAgIG92ZXJyaWRlW25hdGl2ZV06c2V0IC9tZWRpYS9yZWJlY2Nhcy95
b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6NTEKIyAgICAgIi9zYmluIgojICAgb3Zl
cnJpZGVbbmF0aXZlc2RrXTpzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25m
L2JpdGJha2UuY29uZjo2NwojICAgICAiL3NiaW4iCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAg
ICIke2Jhc2VfcHJlZml4fS9zYmluIgpleHBvcnQgYmFzZV9zYmluZGlyPSIvc2JpbiIKIwojICRi
YXNlX3NiaW5kaXJfbmF0aXZlCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0
YS9jb25mL2JpdGJha2UuY29uZjo1MQojICAgICAiL3NiaW4iCmJhc2Vfc2JpbmRpcl9uYXRpdmU9
Ii9zYmluIgojCiMgJGJhc2Vfc2JpbmRpcl9uYXRpdmVzZGsKIyAgIHNldCAvbWVkaWEvcmViZWNj
YXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjY3CiMgICAgICIvc2JpbiIKYmFz
ZV9zYmluZGlyX25hdGl2ZXNkaz0iL3NiaW4iCiMKIyAkYmFzZWxpYiBbMiBvcGVyYXRpb25zXQoj
ICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6
MTAKIyAgICAgIiR7QkFTRUxJQn0iCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kv
bWV0YS9jb25mL2JpdGJha2UuY29uZjoxMQojICAgICBbdmFyZGVwdmFsdWVdICIke2Jhc2VsaWJ9
IgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiJHtCQVNFTElCfSIKYmFzZWxpYj0ibGliIgoj
CiMgJGJpbmRpciBbNiBvcGVyYXRpb25zXQojICAgZXhwb3J0ZWQgL21lZGlhL3JlYmVjY2FzL3lv
Y3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo0MQojICAgICBbZXhwb3J0XSAiMSIKIyAg
IHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjQx
CiMgICAgICIke2V4ZWNfcHJlZml4fS9iaW4iCiMgICBvdmVycmlkZVtuYXRpdmVdOnNldCAvbWVk
aWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjU0CiMgICAgICIk
e3ByZWZpeF9uYXRpdmV9L2JpbiIKIyAgIG92ZXJyaWRlW2Nyb3NzXTpzZXQgL21lZGlhL3JlYmVj
Y2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo2MQojICAgICAiL2JpbiIKIyAg
IG92ZXJyaWRlW2Nyb3Nzc2NyaXB0c106c2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21l
dGEvY29uZi9iaXRiYWtlLmNvbmY6NjIKIyAgICAgIiR7YmluZGlyfS9jcm9zc3NjcmlwdHMiCiMg
ICBvdmVycmlkZVtuYXRpdmVzZGtdOnNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRh
L2NvbmYvYml0YmFrZS5jb25mOjY0CiMgICAgICIke3ByZWZpeF9uYXRpdmVzZGt9L2JpbiIKIyBw
cmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIiR7ZXhlY19wcmVmaXh9L2JpbiIKZXhwb3J0IGJpbmRp
cj0iL3Vzci9iaW4iCiMKIyAkYmluZGlyX2Nyb3NzCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lv
Y3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo2MQojICAgICAiL2JpbiIKYmluZGlyX2Ny
b3NzPSIvYmluIgojCiMgJGJpbmRpcl9jcm9zc3NjcmlwdHMKIyAgIHNldCAvbWVkaWEvcmViZWNj
YXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjYyCiMgICAgICIke2JpbmRpcn0v
Y3Jvc3NzY3JpcHRzIgpiaW5kaXJfY3Jvc3NzY3JpcHRzPSIvdXNyL2Jpbi9jcm9zc3NjcmlwdHMi
CiMKIyAkYmluZGlyX25hdGl2ZQojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21l
dGEvY29uZi9iaXRiYWtlLmNvbmY6NTQKIyAgICAgIiR7cHJlZml4X25hdGl2ZX0vYmluIgpiaW5k
aXJfbmF0aXZlPSIvdXNyL2JpbiIKIwojICRiaW5kaXJfbmF0aXZlc2RrCiMgICBzZXQgL21lZGlh
L3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo2NAojICAgICAiJHtw
cmVmaXhfbmF0aXZlc2RrfS9iaW4iCmJpbmRpcl9uYXRpdmVzZGs9Ii91c3IvYmluIgojCiMgJGRh
dGFkaXIgWzMgb3BlcmF0aW9uc10KIyAgIGV4cG9ydGVkIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9w
b2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6MzEKIyAgICAgW2V4cG9ydF0gIjEiCiMgICBzZXQg
L21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjozMQojICAg
ICAiJHtwcmVmaXh9L3NoYXJlIgojICAgb3ZlcnJpZGVbbmF0aXZlXTpzZXQgL21lZGlhL3JlYmVj
Y2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo2MAojICAgICAiJHtwcmVmaXhf
bmF0aXZlfS9zaGFyZSIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIiR7cHJlZml4fS9zaGFy
ZSIKZXhwb3J0IGRhdGFkaXI9Ii91c3Ivc2hhcmUiCiMKIyAkZGF0YWRpcl9uYXRpdmUKIyAgIHNl
dCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjYwCiMg
ICAgICIke3ByZWZpeF9uYXRpdmV9L3NoYXJlIgpkYXRhZGlyX25hdGl2ZT0iL3Vzci9zaGFyZSIK
IwojICRkb19ib290aW1nCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9j
b25mL2RvY3VtZW50YXRpb24uY29uZjo3CiMgICAgIFtkb2NdICJDcmVhdGVzIGEgYm9vdGFibGUg
bGl2ZSBpbWFnZSIKIwojICRkb19idW5kbGVfaW5pdHJhbWZzCiMgICBzZXQgL21lZGlhL3JlYmVj
Y2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjo5CiMgICAgIFtkb2Nd
ICJDb21iaW5lcyBhbiBpbml0aWFsIHJhbWRpc2sgaW1hZ2UgYW5kIGtlcm5lbCB0b2dldGhlciB0
byBmb3JtIGEgc2luZ2xlIGltYWdlIgojCiMgJGRvX2NvbXBpbGVfa2VybmVsbW9kdWxlcwojICAg
c2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNv
bmY6MTYKIyAgICAgW2RvY10gIkNvbXBpbGVzIGxvYWRhYmxlIG1vZHVsZXMgZm9yIHRoZSBMaW51
eCBrZXJuZWwiCiMKIyAkZG9fY29tcGlsZV9wdGVzdF9iYXNlCiMgICBzZXQgL21lZGlhL3JlYmVj
Y2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjoxNwojICAgICBbZG9j
XSAiQ29tcGlsZXMgdGhlIHJ1bnRpbWUgdGVzdCBzdWl0ZSBpbmNsdWRlZCBpbiB0aGUgc29mdHdh
cmUgYmVpbmcgYnVpbHQiCiMKIyAkZG9fY29uZmlndXJlX3B0ZXN0X2Jhc2UKIyAgIHNldCAvbWVk
aWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjE5CiMg
ICAgIFtkb2NdICJDb25maWd1cmVzIHRoZSBydW50aW1lIHRlc3Qgc3VpdGUgaW5jbHVkZWQgaW4g
dGhlIHNvZnR3YXJlIGJlaW5nIGJ1aWx0IgojCiMgJGRvX2RlcGxveQojICAgc2V0IC9tZWRpYS9y
ZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6MjAKIyAgICAg
W2RvY10gIldyaXRlcyBkZXBsb3lhYmxlIG91dHB1dCBmaWxlcyB0byB0aGUgZGVwbG95IGRpcmVj
dG9yeSIKIwojICRkb19kaWZmY29uZmlnCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bv
a3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjoyMwojICAgICBbZG9jXSAiQ29tcGFyZXMg
dGhlIG9sZCBhbmQgbmV3IGNvbmZpZyBmaWxlcyBhZnRlciBydW5uaW5nIGRvX21lbnVjb25maWcg
Zm9yIHRoZSBrZXJuZWwiCiMKIyAkZG9faW1hZ2UKIyAgIGFwcGVuZCAvbWVkaWEvcmViZWNjYXMv
eW9jdG8vcG9reS9tZXRhL2NsYXNzZXMvbGljZW5zZS5iYmNsYXNzOjY4NgojICAgICBbcmVjcmRl
cHRhc2tdICJkb19wb3B1bGF0ZV9saWMiCiMKIyAkZG9faW1hZ2Vfd2ljCiMgICBhcHBlbmQgL21l
ZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvcWVtdXg4Ni5jb25mOjMy
CiMgICAgIFtkZXBlbmRzXSAic3lzbGludXg6ZG9fcG9wdWxhdGVfc3lzcm9vdCBzeXNsaW51eC1u
YXRpdmU6ZG9fcG9wdWxhdGVfc3lzcm9vdCBtdG9vbHMtbmF0aXZlOmRvX3BvcHVsYXRlX3N5c3Jv
b3QgZG9zZnN0b29scy1uYXRpdmU6ZG9fcG9wdWxhdGVfc3lzcm9vdCIKIwojICRkb19pbnN0YWxs
X3B0ZXN0X2Jhc2UKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYv
ZG9jdW1lbnRhdGlvbi5jb25mOjI3CiMgICAgIFtkb2NdICJDb3BpZXMgdGhlIHJ1bnRpbWUgdGVz
dCBzdWl0ZSBmaWxlcyBmcm9tIHRoZSBjb21waWxhdGlvbiBkaXJlY3RvcnkgdG8gYSBob2xkaW5n
IGFyZWEiCiMKIyAkZG9fa2VybmVsX2NoZWNrb3V0CiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lv
Y3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjoyOAojICAgICBbZG9jXSAiQ2hl
Y2tzIG91dCBzb3VyY2UvbWV0YSBicmFuY2hlcyBmb3IgYSBsaW51eC15b2N0byBzdHlsZSBrZXJu
ZWwiCiMKIyAkZG9fa2VybmVsX2NvbmZpZ2NoZWNrCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lv
Y3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjoyOQojICAgICBbZG9jXSAiVmFs
aWRhdGVzIHRoZSBrZXJuZWwgY29uZmlndXJhdGlvbiBmb3IgYSBsaW51eC15b2N0byBzdHlsZSBr
ZXJuZWwiCiMKIyAkZG9fa2VybmVsX2NvbmZpZ21lCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lv
Y3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjozMAojICAgICBbZG9jXSAiQXNz
ZW1ibGVzIHRoZSBrZXJuZWwgY29uZmlndXJhdGlvbiBmb3IgYSBsaW51eC15b2N0byBzdHlsZSBr
ZXJuZWwiCiMKIyAkZG9fa2VybmVsX2xpbmtfaW1hZ2VzCiMgICBzZXQgL21lZGlhL3JlYmVjY2Fz
L3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjozMQojICAgICBbZG9jXSAi
Q3JlYXRlcyBhIHN5bWJvbGljIGxpbmsgaW4gYXJjaC8kYXJjaC9ib290IGZvciB2bWxpbnV4IGFu
ZCB2bWxpbnV6IGtlcm5lbCBpbWFnZXMiCiMKIyAkZG9fbWVudWNvbmZpZwojICAgc2V0IC9tZWRp
YS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6MzMKIyAg
ICAgW2RvY10gIlJ1bnMgJ21ha2UgbWVudWNvbmZpZycgZm9yIHRoZSBrZXJuZWwiCiMKIyAkZG9f
cGFja2FnZV9pbmRleAojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29u
Zi9kb2N1bWVudGF0aW9uLmNvbmY6MzUKIyAgICAgW2RvY10gIkNyZWF0ZXMgb3IgdXBkYXRlcyB0
aGUgaW5kZXggaW4gdGhlIFBhY2thZ2UgRmVlZCBhcmVhIgojCiMgJGRvX3BhY2thZ2Vfd3JpdGVf
ZGViIFsyIG9wZXJhdGlvbnNdCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0
YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjozNwojICAgICBbZG9jXSAiQ3JlYXRlcyB0aGUgYWN0
dWFsIERFQiBwYWNrYWdlcyBhbmQgcGxhY2VzIHRoZW0gaW4gdGhlIFBhY2thZ2UgRmVlZCBhcmVh
IgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY2xhc3Nlcy9kZWJpYW4u
YmJjbGFzczoxOAojICAgICBbcmRlcHRhc2tdICIke0RFQklBTlJERVB9IgojIHByZS1leHBhbnNp
b24gdmFsdWU6CiMgICAiTm9uZSIKIwojICRkb19wYWNrYWdlX3dyaXRlX2lwayBbMiBvcGVyYXRp
b25zXQojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVu
dGF0aW9uLmNvbmY6MzgKIyAgICAgW2RvY10gIkNyZWF0ZXMgdGhlIGFjdHVhbCBJUEsgcGFja2Fn
ZXMgYW5kIHBsYWNlcyB0aGVtIGluIHRoZSBQYWNrYWdlIEZlZWQgYXJlYSIKIyAgIHNldCAvbWVk
aWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NsYXNzZXMvZGViaWFuLmJiY2xhc3M6MTcKIyAg
ICAgW3JkZXB0YXNrXSAiJHtERUJJQU5SREVQfSIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAg
Ik5vbmUiCiMKIyAkZG9fcGFja2FnZV93cml0ZV90YXIgWzIgb3BlcmF0aW9uc10KIyAgIHNldCAv
bWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjQw
CiMgICAgIFtkb2NdICJDcmVhdGVzIHRhciBhcmNoaXZlcyBmb3IgcGFja2FnZXMgYW5kIHBsYWNl
cyB0aGVtIGluIHRoZSBQYWNrYWdlIEZlZWQgYXJlYSIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMv
eW9jdG8vcG9reS9tZXRhL2NsYXNzZXMvZGViaWFuLmJiY2xhc3M6MTkKIyAgICAgW3JkZXB0YXNr
XSAiJHtERUJJQU5SREVQfSIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIk5vbmUiCiMKIyAk
ZG9fcG9wdWxhdGVfc2RrCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9j
b25mL2RvY3VtZW50YXRpb24uY29uZjo0NAojICAgICBbZG9jXSAiQ3JlYXRlcyB0aGUgZmlsZSBh
bmQgZGlyZWN0b3J5IHN0cnVjdHVyZSBmb3IgYW4gaW5zdGFsbGFibGUgU0RLIgojCiMgJGRvX3Jt
X3dvcmsKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZG9jdW1l
bnRhdGlvbi5jb25mOjQ2CiMgICAgIFtkb2NdICJSZW1vdmVzIHdvcmsgZmlsZXMgYWZ0ZXIgdGhl
IGJ1aWxkIHN5c3RlbSBoYXMgZmluaXNoZWQgd2l0aCB0aGVtIgojCiMgJGRvX3JtX3dvcmtfYWxs
CiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRp
b24uY29uZjo0NwojICAgICBbZG9jXSAiVG9wLWxldmVsIHRhc2sgZm9yIHJlbW92aW5nIHdvcmsg
ZmlsZXMgYWZ0ZXIgdGhlIGJ1aWxkIHN5c3RlbSBoYXMgZmluaXNoZWQgd2l0aCB0aGVtIgojCiMg
JGRvX3Jvb3RmcyBbNCBvcGVyYXRpb25zXQojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9w
b2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6NDgKIyAgICAgW2RvY10gIkNyZWF0ZXMg
dGhlIHJvb3QgZmlsZXN5c3RlbSAoZmlsZSBhbmQgZGlyZWN0b3J5IHN0cnVjdHVyZSkgZm9yIGFu
IGltYWdlIgojICAgYXBwZW5kIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY2xhc3Nl
cy9pbWFnZS1ta2xpYnMuYmJjbGFzczoxCiMgICAgIFtkZXBlbmRzXSAibWtsaWJzLW5hdGl2ZTpk
b19wb3B1bGF0ZV9zeXNyb290IgojICAgYXBwZW5kIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5
L21ldGEvY2xhc3Nlcy9pbWFnZS1wcmVsaW5rLmJiY2xhc3M6MQojICAgICBbZGVwZW5kc10gInBy
ZWxpbmstbmF0aXZlOmRvX3BvcHVsYXRlX3N5c3Jvb3QiCiMgICBhcHBlbmQgL21lZGlhL3JlYmVj
Y2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL2xpY2Vuc2UuYmJjbGFzczo2ODMKIyAgICAgW3Jl
Y3JkZXB0YXNrXSAiZG9fcG9wdWxhdGVfbGljIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAi
Tm9uZSIKIwojICRkb19zYXZlZGVmY29uZmlnCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3Rv
L3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjo0OQojICAgICBbZG9jXSAiQ3JlYXRl
cyBhIG1pbmltYWwgTGludXgga2VybmVsIGNvbmZpZ3VyYXRpb24gZmlsZSIKIwojICRkb19zaXpl
Y2hlY2sKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZG9jdW1l
bnRhdGlvbi5jb25mOjUwCiMgICAgIFtkb2NdICJDaGVja3MgdGhlIHNpemUgb2YgdGhlIGtlcm5l
bCBpbWFnZSBhZ2FpbnN0IEtFUk5FTF9JTUFHRV9NQVhTSVpFIChpZiBzZXQpIgojCiMgJGRvX3Nw
ZHgKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRh
dGlvbi5jb25mOjUxCiMgICAgIFtkb2NdICJBIGJ1aWxkIHN0YWdlIHRoYXQgdGFrZXMgdGhlIHNv
dXJjZSBjb2RlIGFuZCBzY2FucyBpdCBvbiBhIHJlbW90ZSBGT1NTT0xPR1kgc2VydmVyIGluIG9y
ZGVyIHRvIHByb2R1Y2UgYW4gU1BEWCBkb2N1bWVudCIKIwojICRkb19zdHJpcAojICAgc2V0IC9t
ZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6NTIK
IyAgICAgW2RvY10gIlN0cmlwcyB1bm5lZWRlZCBzZWN0aW9ucyBvdXQgb2YgdGhlIExpbnV4IGtl
cm5lbCBpbWFnZSIKIwojICRkb190ZXN0aW1hZ2UKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9j
dG8vcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjUzCiMgICAgIFtkb2NdICJCb290
cyBhbiBpbWFnZSBhbmQgcGVyZm9ybXMgcnVudGltZSB0ZXN0cyB3aXRoaW4gdGhlIGltYWdlIgoj
CiMgJGRvX3Rlc3RpbWFnZV9hdXRvCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kv
bWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjo1NAojICAgICBbZG9jXSAiQm9vdHMgYW4gaW1h
Z2UgYW5kIHBlcmZvcm1zIHJ1bnRpbWUgdGVzdHMgd2l0aGluIHRoZSBpbWFnZSBpbW1lZGlhdGVs
eSBhZnRlciBpdCBoYXMgYmVlbiBidWlsdCIKIwojICRkb190ZXN0c2RrCiMgICBzZXQgL21lZGlh
L3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjo1NQojICAg
ICBbZG9jXSAiSW5zdGFsbHMgYW4gU0RLIGFuZCBwZXJmb3JtcyBydW50aW1lIHRlc3RzIG9uIHRo
ZSB0b29scyBpbnN0YWxsZWQgYnkgaXQiCiMKIyAkZG9fdWJvb3RfbWtpbWFnZQojICAgc2V0IC9t
ZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6NTYK
IyAgICAgW2RvY10gIkNyZWF0ZXMgYSB1SW1hZ2UgZmlsZSBmcm9tIHRoZSBrZXJuZWwgZm9yIHRo
ZSBVLUJvb3QgYm9vdGxvYWRlciIKIwojICRkb192YWxpZGF0ZV9icmFuY2hlcwojICAgc2V0IC9t
ZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6NTgK
IyAgICAgW2RvY10gIkVuc3VyZXMgdGhhdCB0aGUgc291cmNlL21ldGEgYnJhbmNoZXMgYXJlIG9u
IHRoZSBsb2NhdGlvbnMgc3BlY2lmaWVkIGJ5IHRoZWlyIFNSQ1JFViB2YWx1ZXMgZm9yIGEgbGlu
dXgteW9jdG8gc3R5bGUga2VybmVsIgojCiMgJGRvX3ZtaW1nCiMgICBzZXQgL21lZGlhL3JlYmVj
Y2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjo1OQojICAgICBbZG9j
XSAiQ3JlYXRlcyBhbiBpbWFnZSBmb3IgdXNlIHdpdGggVk13YXJlIG9yIFZpcnR1YWxCb3ggY29t
cGF0aWJsZSB2aXJ0dWFsIG1hY2hpbmUgaG9zdHMgKGJhc2VkIG9uIElNQUdFX0ZTVFlQRVMgZWl0
aGVyIC52bWRrIG9yIC52ZGkpIgojCiMgJGRvY2RpciBbMiBvcGVyYXRpb25zXQojICAgZXhwb3J0
ZWQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjozNAoj
ICAgICBbZXhwb3J0XSAiMSIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRh
L2NvbmYvYml0YmFrZS5jb25mOjM0CiMgICAgICIke2RhdGFkaXJ9L2RvYyIKIyBwcmUtZXhwYW5z
aW9uIHZhbHVlOgojICAgIiR7ZGF0YWRpcn0vZG9jIgpleHBvcnQgZG9jZGlyPSIvdXNyL3NoYXJl
L2RvYyIKIwojICRleGVjX3ByZWZpeCBbMiBvcGVyYXRpb25zXQojICAgZXhwb3J0ZWQgL21lZGlh
L3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjoxOAojICAgICBbZXhw
b3J0XSAiMSIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0
YmFrZS5jb25mOjE4CiMgICAgICIke3ByZWZpeH0iCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAg
ICIke3ByZWZpeH0iCmV4cG9ydCBleGVjX3ByZWZpeD0iL3VzciIKIwojICRmdHBfcHJveHkKIyAg
IGZyb20gZW52IGRhdGEucHk6MTI0IFtpbmhlcml0RnJvbU9TXQojICAgICAiaHR0cDovL3Byb3h5
LXBuZy5pbnRlbC5jb206OTExIgpmdHBfcHJveHk9Imh0dHA6Ly9wcm94eS1wbmcuaW50ZWwuY29t
OjkxMSIKIwojICRodHRwX3Byb3h5CiMgICBmcm9tIGVudiBkYXRhLnB5OjEyNCBbaW5oZXJpdEZy
b21PU10KIyAgICAgImh0dHA6Ly9wcm94eS1wbmcuaW50ZWwuY29tOjkxMSIKaHR0cF9wcm94eT0i
aHR0cDovL3Byb3h5LXBuZy5pbnRlbC5jb206OTExIgojCiMgJGh0dHBzX3Byb3h5CiMgICBmcm9t
IGVudiBkYXRhLnB5OjEyNCBbaW5oZXJpdEZyb21PU10KIyAgICAgImh0dHA6Ly9wcm94eS1wbmcu
aW50ZWwuY29tOjkxMSIKaHR0cHNfcHJveHk9Imh0dHA6Ly9wcm94eS1wbmcuaW50ZWwuY29tOjkx
MSIKIwojICRpbmNsdWRlZGlyIFs0IG9wZXJhdGlvbnNdCiMgICBleHBvcnRlZCAvbWVkaWEvcmVi
ZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjQ1CiMgICAgIFtleHBvcnRd
ICIxIgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtl
LmNvbmY6NDUKIyAgICAgIiR7ZXhlY19wcmVmaXh9L2luY2x1ZGUiCiMgICBvdmVycmlkZVtuYXRp
dmVdOnNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25m
OjU2CiMgICAgICIke3ByZWZpeF9uYXRpdmV9L2luY2x1ZGUiCiMgICBvdmVycmlkZVtuYXRpdmVz
ZGtdOnNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25m
OjY4CiMgICAgICIke3ByZWZpeF9uYXRpdmVzZGt9L2luY2x1ZGUiCiMgcHJlLWV4cGFuc2lvbiB2
YWx1ZToKIyAgICIke2V4ZWNfcHJlZml4fS9pbmNsdWRlIgpleHBvcnQgaW5jbHVkZWRpcj0iL3Vz
ci9pbmNsdWRlIgojCiMgJGluY2x1ZGVkaXJfbmF0aXZlCiMgICBzZXQgL21lZGlhL3JlYmVjY2Fz
L3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo1NgojICAgICAiJHtwcmVmaXhfbmF0
aXZlfS9pbmNsdWRlIgppbmNsdWRlZGlyX25hdGl2ZT0iL3Vzci9pbmNsdWRlIgojCiMgJGluY2x1
ZGVkaXJfbmF0aXZlc2RrCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9j
b25mL2JpdGJha2UuY29uZjo2OAojICAgICAiJHtwcmVmaXhfbmF0aXZlc2RrfS9pbmNsdWRlIgpp
bmNsdWRlZGlyX25hdGl2ZXNkaz0iL3Vzci9pbmNsdWRlIgojCiMgJGluZm9kaXIgWzIgb3BlcmF0
aW9uc10KIyAgIGV4cG9ydGVkIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9i
aXRiYWtlLmNvbmY6MzIKIyAgICAgW2V4cG9ydF0gIjEiCiMgICBzZXQgL21lZGlhL3JlYmVjY2Fz
L3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjozMgojICAgICAiJHtkYXRhZGlyfS9p
bmZvIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiJHtkYXRhZGlyfS9pbmZvIgpleHBvcnQg
aW5mb2Rpcj0iL3Vzci9zaGFyZS9pbmZvIgojCiMgJGxpYmRpciBbNCBvcGVyYXRpb25zXQojICAg
ZXhwb3J0ZWQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29u
Zjo0MwojICAgICBbZXhwb3J0XSAiMSIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9r
eS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjQzCiMgICAgICIke2V4ZWNfcHJlZml4fS8ke2Jhc2Vs
aWJ9IgojICAgb3ZlcnJpZGVbbmF0aXZlXTpzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kv
bWV0YS9jb25mL2JpdGJha2UuY29uZjo1NwojICAgICAiJHtwcmVmaXhfbmF0aXZlfS9saWIiCiMg
ICBvdmVycmlkZVtuYXRpdmVzZGtdOnNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRh
L2NvbmYvYml0YmFrZS5jb25mOjY5CiMgICAgICIke3ByZWZpeF9uYXRpdmVzZGt9L2xpYiIKIyBw
cmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIiR7ZXhlY19wcmVmaXh9LyR7YmFzZWxpYn0iCmV4cG9y
dCBsaWJkaXI9Ii91c3IvbGliIgojCiMgJGxpYmRpcl9uYXRpdmUKIyAgIHNldCAvbWVkaWEvcmVi
ZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjU3CiMgICAgICIke3ByZWZp
eF9uYXRpdmV9L2xpYiIKbGliZGlyX25hdGl2ZT0iL3Vzci9saWIiCiMKIyAkbGliZGlyX25hdGl2
ZXNkawojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtl
LmNvbmY6NjkKIyAgICAgIiR7cHJlZml4X25hdGl2ZXNka30vbGliIgpsaWJkaXJfbmF0aXZlc2Rr
PSIvdXNyL2xpYiIKIwojICRsaWJleGVjZGlyIFszIG9wZXJhdGlvbnNdCiMgICBleHBvcnRlZCAv
bWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjQ0CiMgICAg
IFtleHBvcnRdICIxIgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29u
Zi9iaXRiYWtlLmNvbmY6NDQKIyAgICAgIiR7ZXhlY19wcmVmaXh9L2xpYmV4ZWMiCiMgICBvdmVy
cmlkZVtuYXRpdmVdOnNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0
YmFrZS5jb25mOjU4CiMgICAgICIke3ByZWZpeF9uYXRpdmV9L2xpYmV4ZWMiCiMgcHJlLWV4cGFu
c2lvbiB2YWx1ZToKIyAgICIke2V4ZWNfcHJlZml4fS9saWJleGVjIgpleHBvcnQgbGliZXhlY2Rp
cj0iL3Vzci9saWJleGVjIgojCiMgJGxpYmV4ZWNkaXJfbmF0aXZlCiMgICBzZXQgL21lZGlhL3Jl
YmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo1OAojICAgICAiJHtwcmVm
aXhfbmF0aXZlfS9saWJleGVjIgpsaWJleGVjZGlyX25hdGl2ZT0iL3Vzci9saWJleGVjIgojCiMg
JGxvY2FsZWRpcgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9i
aXRiYWtlLmNvbmY6NDcKIyAgICAgIiR7bGliZGlyfS9sb2NhbGUiCmxvY2FsZWRpcj0iL3Vzci9s
aWIvbG9jYWxlIgojCiMgJGxvY2Fsc3RhdGVkaXIgWzMgb3BlcmF0aW9uc10KIyAgIGV4cG9ydGVk
IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6MzAKIyAg
ICAgW2V4cG9ydF0gIjEiCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9j
b25mL2JpdGJha2UuY29uZjozMAojICAgICAiJHtiYXNlX3ByZWZpeH0vdmFyIgojICAgb3ZlcnJp
ZGVbbmF0aXZlc2RrXTpzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Jp
dGJha2UuY29uZjo3MQojICAgICAiL3ZhciIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIiR7
YmFzZV9wcmVmaXh9L3ZhciIKZXhwb3J0IGxvY2Fsc3RhdGVkaXI9Ii92YXIiCiMKIyAkbG9jYWxz
dGF0ZWRpcl9uYXRpdmVzZGsKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRh
L2NvbmYvYml0YmFrZS5jb25mOjcxCiMgICAgICIvdmFyIgpsb2NhbHN0YXRlZGlyX25hdGl2ZXNk
az0iL3ZhciIKIwojICRtYW5kaXIgWzIgb3BlcmF0aW9uc10KIyAgIGV4cG9ydGVkIC9tZWRpYS9y
ZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6MzMKIyAgICAgW2V4cG9y
dF0gIjEiCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJh
a2UuY29uZjozMwojICAgICAiJHtkYXRhZGlyfS9tYW4iCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToK
IyAgICIke2RhdGFkaXJ9L21hbiIKZXhwb3J0IG1hbmRpcj0iL3Vzci9zaGFyZS9tYW4iCiMKIyAk
bW9kdWxlX2NvbmZfdXZlc2FmYgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21l
dGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvcWVtdWJvb3QteDg2LmluYzoyMAojICAgICAib3B0aW9u
cyB1dmVzYWZiIG1vZGVfb3B0aW9uPSR7VVZFU0FfTU9ERX0iCm1vZHVsZV9jb25mX3V2ZXNhZmI9
Im9wdGlvbnMgdXZlc2FmYiBtb2RlX29wdGlvbj02NDB4NDgwLTMyIgojCiMgJG5vX3Byb3h5CiMg
ICBmcm9tIGVudiBkYXRhLnB5OjEyNCBbaW5oZXJpdEZyb21PU10KIyAgICAgImxvY2FsaG9zdCwx
MjcuMC4wLjAvMSxpbnRlbC5jb20sMTcyLjAuMC4wLzEsMTAuMC4wLjAvMSxnaXQtZ2FyLTEuZGV2
dG9vbHMuaW50ZWwuY29tLGdpdC1nZXItNi5kZXZ0b29scy5pbnRlbC5jb20sZ2l0LWFtci0yLmRl
dnRvb2xzLmludGVsLmNvbSxnaXQtYW1yLTMuZGV2dG9vbHMuaW50ZWwuY29tIgpub19wcm94eT0i
bG9jYWxob3N0LDEyNy4wLjAuMC8xLGludGVsLmNvbSwxNzIuMC4wLjAvMSwxMC4wLjAuMC8xLGdp
dC1nYXItMS5kZXZ0b29scy5pbnRlbC5jb20sZ2l0LWdlci02LmRldnRvb2xzLmludGVsLmNvbSxn
aXQtYW1yLTIuZGV2dG9vbHMuaW50ZWwuY29tLGdpdC1hbXItMy5kZXZ0b29scy5pbnRlbC5jb20i
CiMKIyAkbm9uYXJjaF9iYXNlX2xpYmRpciBbMiBvcGVyYXRpb25zXQojICAgZXhwb3J0ZWQgL21l
ZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjoyNAojICAgICBb
ZXhwb3J0XSAiMSIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYv
Yml0YmFrZS5jb25mOjI0CiMgICAgICIke2Jhc2VfcHJlZml4fS9saWIiCiMgcHJlLWV4cGFuc2lv
biB2YWx1ZToKIyAgICIke2Jhc2VfcHJlZml4fS9saWIiCmV4cG9ydCBub25hcmNoX2Jhc2VfbGli
ZGlyPSIvbGliIgojCiMgJG5vbmFyY2hfbGliZGlyIFsyIG9wZXJhdGlvbnNdCiMgICBleHBvcnRl
ZCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjM3CiMg
ICAgIFtleHBvcnRdICIxIgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEv
Y29uZi9iaXRiYWtlLmNvbmY6MzcKIyAgICAgIiR7ZXhlY19wcmVmaXh9L2xpYiIKIyBwcmUtZXhw
YW5zaW9uIHZhbHVlOgojICAgIiR7ZXhlY19wcmVmaXh9L2xpYiIKZXhwb3J0IG5vbmFyY2hfbGli
ZGlyPSIvdXNyL2xpYiIKIwojICRvbGRpbmNsdWRlZGlyIFsyIG9wZXJhdGlvbnNdCiMgICBleHBv
cnRlZCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjQ2
CiMgICAgIFtleHBvcnRdICIxIgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21l
dGEvY29uZi9iaXRiYWtlLmNvbmY6NDYKIyAgICAgIiR7ZXhlY19wcmVmaXh9L2luY2x1ZGUiCiMg
cHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICIke2V4ZWNfcHJlZml4fS9pbmNsdWRlIgpleHBvcnQg
b2xkaW5jbHVkZWRpcj0iL3Vzci9pbmNsdWRlIgojCiMgJHByZWZpeCBbNCBvcGVyYXRpb25zXQoj
ICAgZXhwb3J0ZWQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2Uu
Y29uZjoxNwojICAgICBbZXhwb3J0XSAiMSIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8v
cG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjE3CiMgICAgICIvdXNyIgojICAgb3ZlcnJpZGVb
bmF0aXZlXTpzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2Uu
Y29uZjo1MwojICAgICAiL3VzciIKIyAgIG92ZXJyaWRlW25hdGl2ZXNka106c2V0IC9tZWRpYS9y
ZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6NjMKIyAgICAgIi91c3Ii
CiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICIvdXNyIgpleHBvcnQgcHJlZml4PSIvdXNyIgoj
CiMgJHByZWZpeF9uYXRpdmUKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRh
L2NvbmYvYml0YmFrZS5jb25mOjUzCiMgICAgICIvdXNyIgpwcmVmaXhfbmF0aXZlPSIvdXNyIgoj
CiMgJHByZWZpeF9uYXRpdmVzZGsKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9t
ZXRhL2NvbmYvYml0YmFrZS5jb25mOjYzCiMgICAgICIvdXNyIgpwcmVmaXhfbmF0aXZlc2RrPSIv
dXNyIgojCiMgJHByb2Nlc3NfZmlsZSBbMiBvcGVyYXRpb25zXQojICAgb3ZlcnJpZGVbbGludXhd
OnNldCBhc3QucHk6MjE0IFtldmFsXQojICAgICAiZGVmIHByb2Nlc3NfZmlsZV9saW51eChjbWQs
IGZwYXRoLCByb290ZGlyLCBiYXNlcHJlZml4LCB0bXBkaXIsIGQpOgojICAgICAgICAgaW1wb3J0
IHN1YnByb2Nlc3MgYXMgc3ViCiMgICAgIAojICAgICAgICAgcCA9IHN1Yi5Qb3BlbihbY21kLCAn
LWwnLCBmcGF0aF0sc3Rkb3V0PXN1Yi5QSVBFLHN0ZGVycj1zdWIuUElQRSkKIyAgICAgICAgIG91
dCwgZXJyID0gcC5jb21tdW5pY2F0ZSgpCiMgICAgICAgICAjIElmIHJldHVybmVkIHN1Y2Nlc3Nm
dWxseSwgcHJvY2VzcyBzdGRvdXQgZm9yIHJlc3VsdHMKIyAgICAgICAgIGlmIHAucmV0dXJuY29k
ZSAhPSAwOgojICAgICAgICAgICAgIHJldHVybgojICAgICAKIyAgICAgICAgIG91dCA9IG91dC5k
ZWNvZGUoJ3V0Zi04JykKIyAgICAgCiMgICAgICAgICAjIEhhbmRsZSBSVU5QQVRIIGFzIHdlbGwg
YXMgUlBBVEgKIyAgICAgICAgIG91dCA9IG91dC5yZXBsYWNlKCJSVU5QQVRIPSIsIlJQQVRIPSIp
CiMgICAgICAgICAjIFRocm93IGF3YXkgZXZlcnl0aGluZyBvdGhlciB0aGFuIHRoZSBycGF0aCBs
aXN0CiMgICAgICAgICBjdXJyX3JwYXRoID0gb3V0LnBhcnRpdGlvbigiUlBBVEg9IilbMl0KIyAg
ICAgICAgICNiYi5ub3RlKCJDdXJyZW50IHJwYXRoIGZvciAlcyBpcyAlcyIgJSAoZnBhdGgsIGN1
cnJfcnBhdGguc3RyaXAoKSkpCiMgICAgICAgICBycGF0aHMgPSBjdXJyX3JwYXRoLnN0cmlwKCku
c3BsaXQoIjoiKQojICAgICAgICAgbmV3X3JwYXRocyA9IFtdCiMgICAgICAgICBtb2RpZmllZCA9
IEZhbHNlCiMgICAgICAgICBmb3IgcnBhdGggaW4gcnBhdGhzOgojICAgICAgICAgICAgICMgSWYg
cnBhdGggaXMgYWxyZWFkeSBkeW5hbWljIGNvcHkgaXQgdG8gbmV3X3JwYXRoIGFuZCBjb250aW51
ZQojICAgICAgICAgICAgIGlmIHJwYXRoLmZpbmQoIiRPUklHSU4iKSAhPSAtMToKIyAgICAgICAg
ICAgICAgICAgbmV3X3JwYXRocy5hcHBlbmQocnBhdGgpCiMgICAgICAgICAgICAgICAgIGNvbnRp
bnVlCiMgICAgICAgICAgICAgcnBhdGggPSAgb3MucGF0aC5ub3JtcGF0aChycGF0aCkKIyAgICAg
ICAgICAgICBpZiBiYXNlcHJlZml4IG5vdCBpbiBycGF0aCBhbmQgdG1wZGlyIG5vdCBpbiBycGF0
aDoKIyAgICAgICAgICAgICAgICAgIyBTa2lwIHN0YW5kYXJkIHNlYXJjaCBwYXRocwojICAgICAg
ICAgICAgICAgICBpZiBycGF0aCBpbiBbJy9saWInLCAnL3Vzci9saWInLCAnL2xpYjY0LycsICcv
dXNyL2xpYjY0J106CiMgICAgICAgICAgICAgICAgICAgICBiYi53YXJuKCJTa2lwcGluZyBSUEFU
SCAlcyBhcyBpcyBhIHN0YW5kYXJkIHNlYXJjaCBwYXRoIGZvciAlcyIgJSAocnBhdGgsIGZwYXRo
KSkKIyAgICAgICAgICAgICAgICAgICAgIG1vZGlmaWVkID0gVHJ1ZQojICAgICAgICAgICAgICAg
ICAgICAgY29udGludWUKIyAgICAgICAgICAgICAgICAgbmV3X3JwYXRocy5hcHBlbmQocnBhdGgp
CiMgICAgICAgICAgICAgICAgIGNvbnRpbnVlCiMgICAgICAgICAgICAgbmV3X3JwYXRocy5hcHBl
bmQoIiRPUklHSU4vIiArIG9zLnBhdGgucmVscGF0aChycGF0aCwgb3MucGF0aC5kaXJuYW1lKGZw
YXRoLnJlcGxhY2Uocm9vdGRpciwgIi8iKSkpKQojICAgICAgICAgICAgIG1vZGlmaWVkID0gVHJ1
ZQojICAgICAKIyAgICAgICAgICMgaWYgd2UgaGF2ZSBtb2RpZmllZCBzb21lIHJwYXRocyBjYWxs
IGNocnBhdGggdG8gdXBkYXRlIHRoZSBiaW5hcnkKIyAgICAgICAgIGlmIG1vZGlmaWVkOgojICAg
ICAgICAgICAgIGFyZ3MgPSAiOiIuam9pbihuZXdfcnBhdGhzKQojICAgICAgICAgICAgICNiYi5u
b3RlKCJTZXR0aW5nIHJwYXRoIGZvciAlcyB0byAlcyIgJShmcGF0aCwgYXJncykpCiMgICAgICAg
ICAgICAgcCA9IHN1Yi5Qb3BlbihbY21kLCAnLXInLCBhcmdzLCBmcGF0aF0sc3Rkb3V0PXN1Yi5Q
SVBFLHN0ZGVycj1zdWIuUElQRSkKIyAgICAgICAgICAgICBvdXQsIGVyciA9IHAuY29tbXVuaWNh
dGUoKQojICAgICAgICAgICAgIGlmIHAucmV0dXJuY29kZSAhPSAwOgojICAgICAgICAgICAgICAg
ICBiYi5mYXRhbCgiJXM6IGNocnBhdGggY29tbWFuZCBmYWlsZWQgd2l0aCBleGl0IGNvZGUgJWQ6
XG4lcyVzIiAlIChkLmdldFZhcignUE4nKSwgcC5yZXR1cm5jb2RlLCBvdXQsIGVycikpCiMgICAg
ICIKIyAgIG92ZXJyaWRlW2Rhcndpbl06c2V0IGFzdC5weToyMTQgW2V2YWxdCiMgICAgICJkZWYg
cHJvY2Vzc19maWxlX2RhcndpbihjbWQsIGZwYXRoLCByb290ZGlyLCBiYXNlcHJlZml4LCB0bXBk
aXIsIGQpOgojICAgICAgICAgaW1wb3J0IHN1YnByb2Nlc3MgYXMgc3ViCiMgICAgIAojICAgICAg
ICAgcCA9IHN1Yi5Qb3BlbihbZC5leHBhbmQoIiR7SE9TVF9QUkVGSVh9b3Rvb2wiKSwgJy1MJywg
ZnBhdGhdLHN0ZG91dD1zdWIuUElQRSxzdGRlcnI9c3ViLlBJUEUpCiMgICAgICAgICBvdXQsIGVy
ciA9IHAuY29tbXVuaWNhdGUoKQojICAgICAgICAgIyBJZiByZXR1cm5lZCBzdWNjZXNzZnVsbHks
IHByb2Nlc3Mgc3Rkb3V0IGZvciByZXN1bHRzCiMgICAgICAgICBpZiBwLnJldHVybmNvZGUgIT0g
MDoKIyAgICAgICAgICAgICByZXR1cm4KIyAgICAgICAgIGZvciBsIGluIG91dC5zcGxpdCgiXG4i
KToKIyAgICAgICAgICAgICBpZiAiKGNvbXBhdGliaWxpdHkiIG5vdCBpbiBsOgojICAgICAgICAg
ICAgICAgICBjb250aW51ZQojICAgICAgICAgICAgIHJwYXRoID0gbC5wYXJ0aXRpb24oIihjb21w
YXRpYmlsaXR5IilbMF0uc3RyaXAoKQojICAgICAgICAgICAgIGlmIGJhc2VwcmVmaXggbm90IGlu
IHJwYXRoOgojICAgICAgICAgICAgICAgICBjb250aW51ZQojICAgICAKIyAgICAgICAgICAgICBu
ZXdwYXRoID0gIkBsb2FkZXJfcGF0aC8iICsgb3MucGF0aC5yZWxwYXRoKHJwYXRoLCBvcy5wYXRo
LmRpcm5hbWUoZnBhdGgucmVwbGFjZShyb290ZGlyLCAiLyIpKSkKIyAgICAgICAgICAgICBwID0g
c3ViLlBvcGVuKFtkLmV4cGFuZCgiJHtIT1NUX1BSRUZJWH1pbnN0YWxsX25hbWVfdG9vbCIpLCAn
LWNoYW5nZScsIHJwYXRoLCBuZXdwYXRoLCBmcGF0aF0sc3Rkb3V0PXN1Yi5QSVBFLHN0ZGVycj1z
dWIuUElQRSkKIyAgICAgICAgICAgICBvdXQsIGVyciA9IHAuY29tbXVuaWNhdGUoKQojICAgICAi
CiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICJkZWYgcHJvY2Vzc19maWxlX2xpbnV4KGNtZCwg
ZnBhdGgsIHJvb3RkaXIsIGJhc2VwcmVmaXgsIHRtcGRpciwgZCk6CiMgICAgaW1wb3J0IHN1YnBy
b2Nlc3MgYXMgc3ViCiMKIyAgICBwID0gc3ViLlBvcGVuKFtjbWQsICctbCcsIGZwYXRoXSxzdGRv
dXQ9c3ViLlBJUEUsc3RkZXJyPXN1Yi5QSVBFKQojICAgIG91dCwgZXJyID0gcC5jb21tdW5pY2F0
ZSgpCiMgICAgIyBJZiByZXR1cm5lZCBzdWNjZXNzZnVsbHksIHByb2Nlc3Mgc3Rkb3V0IGZvciBy
ZXN1bHRzCiMgICAgaWYgcC5yZXR1cm5jb2RlICE9IDA6CiMgICAgICAgIHJldHVybgojCiMgICAg
b3V0ID0gb3V0LmRlY29kZSgndXRmLTgnKQojCiMgICAgIyBIYW5kbGUgUlVOUEFUSCBhcyB3ZWxs
IGFzIFJQQVRICiMgICAgb3V0ID0gb3V0LnJlcGxhY2UoIlJVTlBBVEg9IiwiUlBBVEg9IikKIyAg
ICAjIFRocm93IGF3YXkgZXZlcnl0aGluZyBvdGhlciB0aGFuIHRoZSBycGF0aCBsaXN0CiMgICAg
Y3Vycl9ycGF0aCA9IG91dC5wYXJ0aXRpb24oIlJQQVRIPSIpWzJdCiMgICAgI2JiLm5vdGUoIkN1
cnJlbnQgcnBhdGggZm9yICVzIGlzICVzIiAlIChmcGF0aCwgY3Vycl9ycGF0aC5zdHJpcCgpKSkK
IyAgICBycGF0aHMgPSBjdXJyX3JwYXRoLnN0cmlwKCkuc3BsaXQoIjoiKQojICAgIG5ld19ycGF0
aHMgPSBbXQojICAgIG1vZGlmaWVkID0gRmFsc2UKIyAgICBmb3IgcnBhdGggaW4gcnBhdGhzOgoj
ICAgICAgICAjIElmIHJwYXRoIGlzIGFscmVhZHkgZHluYW1pYyBjb3B5IGl0IHRvIG5ld19ycGF0
aCBhbmQgY29udGludWUKIyAgICAgICAgaWYgcnBhdGguZmluZCgiJE9SSUdJTiIpICE9IC0xOgoj
ICAgICAgICAgICAgbmV3X3JwYXRocy5hcHBlbmQocnBhdGgpCiMgICAgICAgICAgICBjb250aW51
ZQojICAgICAgICBycGF0aCA9ICBvcy5wYXRoLm5vcm1wYXRoKHJwYXRoKQojICAgICAgICBpZiBi
YXNlcHJlZml4IG5vdCBpbiBycGF0aCBhbmQgdG1wZGlyIG5vdCBpbiBycGF0aDoKIyAgICAgICAg
ICAgICMgU2tpcCBzdGFuZGFyZCBzZWFyY2ggcGF0aHMKIyAgICAgICAgICAgIGlmIHJwYXRoIGlu
IFsnL2xpYicsICcvdXNyL2xpYicsICcvbGliNjQvJywgJy91c3IvbGliNjQnXToKIyAgICAgICAg
ICAgICAgICBiYi53YXJuKCJTa2lwcGluZyBSUEFUSCAlcyBhcyBpcyBhIHN0YW5kYXJkIHNlYXJj
aCBwYXRoIGZvciAlcyIgJSAocnBhdGgsIGZwYXRoKSkKIyAgICAgICAgICAgICAgICBtb2RpZmll
ZCA9IFRydWUKIyAgICAgICAgICAgICAgICBjb250aW51ZQojICAgICAgICAgICAgbmV3X3JwYXRo
cy5hcHBlbmQocnBhdGgpCiMgICAgICAgICAgICBjb250aW51ZQojICAgICAgICBuZXdfcnBhdGhz
LmFwcGVuZCgiJE9SSUdJTi8iICsgb3MucGF0aC5yZWxwYXRoKHJwYXRoLCBvcy5wYXRoLmRpcm5h
bWUoZnBhdGgucmVwbGFjZShyb290ZGlyLCAiLyIpKSkpCiMgICAgICAgIG1vZGlmaWVkID0gVHJ1
ZQojCiMgICAgIyBpZiB3ZSBoYXZlIG1vZGlmaWVkIHNvbWUgcnBhdGhzIGNhbGwgY2hycGF0aCB0
byB1cGRhdGUgdGhlIGJpbmFyeQojICAgIGlmIG1vZGlmaWVkOgojICAgICAgICBhcmdzID0gIjoi
LmpvaW4obmV3X3JwYXRocykKIyAgICAgICAgI2JiLm5vdGUoIlNldHRpbmcgcnBhdGggZm9yICVz
IHRvICVzIiAlKGZwYXRoLCBhcmdzKSkKIyAgICAgICAgcCA9IHN1Yi5Qb3BlbihbY21kLCAnLXIn
LCBhcmdzLCBmcGF0aF0sc3Rkb3V0PXN1Yi5QSVBFLHN0ZGVycj1zdWIuUElQRSkKIyAgICAgICAg
b3V0LCBlcnIgPSBwLmNvbW11bmljYXRlKCkKIyAgICAgICAgaWYgcC5yZXR1cm5jb2RlICE9IDA6
CiMgICAgICAgICAgICBiYi5mYXRhbCgiJXM6IGNocnBhdGggY29tbWFuZCBmYWlsZWQgd2l0aCBl
eGl0IGNvZGUgJWQ6XG4lcyVzIiAlIChkLmdldFZhcignUE4nKSwgcC5yZXR1cm5jb2RlLCBvdXQs
IGVycikpCiMiCnByb2Nlc3NfZmlsZT0iZGVmIHByb2Nlc3NfZmlsZV9saW51eChjbWQsIGZwYXRo
LCByb290ZGlyLCBiYXNlcHJlZml4LCB0bXBkaXIsIGQpOiBcCiAgICBpbXBvcnQgc3VicHJvY2Vz
cyBhcyBzdWIgXAogXAogICAgcCA9IHN1Yi5Qb3BlbihbY21kLCAnLWwnLCBmcGF0aF0sc3Rkb3V0
PXN1Yi5QSVBFLHN0ZGVycj1zdWIuUElQRSkgXAogICAgb3V0LCBlcnIgPSBwLmNvbW11bmljYXRl
KCkgXAogICAgIyBJZiByZXR1cm5lZCBzdWNjZXNzZnVsbHksIHByb2Nlc3Mgc3Rkb3V0IGZvciBy
ZXN1bHRzIFwKICAgIGlmIHAucmV0dXJuY29kZSAhPSAwOiBcCiAgICAgICAgcmV0dXJuIFwKIFwK
ICAgIG91dCA9IG91dC5kZWNvZGUoJ3V0Zi04JykgXAogXAogICAgIyBIYW5kbGUgUlVOUEFUSCBh
cyB3ZWxsIGFzIFJQQVRIIFwKICAgIG91dCA9IG91dC5yZXBsYWNlKFwiUlVOUEFUSD1cIixcIlJQ
QVRIPVwiKSBcCiAgICAjIFRocm93IGF3YXkgZXZlcnl0aGluZyBvdGhlciB0aGFuIHRoZSBycGF0
aCBsaXN0IFwKICAgIGN1cnJfcnBhdGggPSBvdXQucGFydGl0aW9uKFwiUlBBVEg9XCIpWzJdIFwK
ICAgICNiYi5ub3RlKFwiQ3VycmVudCBycGF0aCBmb3IgJXMgaXMgJXNcIiAlIChmcGF0aCwgY3Vy
cl9ycGF0aC5zdHJpcCgpKSkgXAogICAgcnBhdGhzID0gY3Vycl9ycGF0aC5zdHJpcCgpLnNwbGl0
KFwiOlwiKSBcCiAgICBuZXdfcnBhdGhzID0gW10gXAogICAgbW9kaWZpZWQgPSBGYWxzZSBcCiAg
ICBmb3IgcnBhdGggaW4gcnBhdGhzOiBcCiAgICAgICAgIyBJZiBycGF0aCBpcyBhbHJlYWR5IGR5
bmFtaWMgY29weSBpdCB0byBuZXdfcnBhdGggYW5kIGNvbnRpbnVlIFwKICAgICAgICBpZiBycGF0
aC5maW5kKFwiXCRPUklHSU5cIikgIT0gLTE6IFwKICAgICAgICAgICAgbmV3X3JwYXRocy5hcHBl
bmQocnBhdGgpIFwKICAgICAgICAgICAgY29udGludWUgXAogICAgICAgIHJwYXRoID0gIG9zLnBh
dGgubm9ybXBhdGgocnBhdGgpIFwKICAgICAgICBpZiBiYXNlcHJlZml4IG5vdCBpbiBycGF0aCBh
bmQgdG1wZGlyIG5vdCBpbiBycGF0aDogXAogICAgICAgICAgICAjIFNraXAgc3RhbmRhcmQgc2Vh
cmNoIHBhdGhzIFwKICAgICAgICAgICAgaWYgcnBhdGggaW4gWycvbGliJywgJy91c3IvbGliJywg
Jy9saWI2NC8nLCAnL3Vzci9saWI2NCddOiBcCiAgICAgICAgICAgICAgICBiYi53YXJuKFwiU2tp
cHBpbmcgUlBBVEggJXMgYXMgaXMgYSBzdGFuZGFyZCBzZWFyY2ggcGF0aCBmb3IgJXNcIiAlIChy
cGF0aCwgZnBhdGgpKSBcCiAgICAgICAgICAgICAgICBtb2RpZmllZCA9IFRydWUgXAogICAgICAg
ICAgICAgICAgY29udGludWUgXAogICAgICAgICAgICBuZXdfcnBhdGhzLmFwcGVuZChycGF0aCkg
XAogICAgICAgICAgICBjb250aW51ZSBcCiAgICAgICAgbmV3X3JwYXRocy5hcHBlbmQoXCJcJE9S
SUdJTi9cIiArIG9zLnBhdGgucmVscGF0aChycGF0aCwgb3MucGF0aC5kaXJuYW1lKGZwYXRoLnJl
cGxhY2Uocm9vdGRpciwgXCIvXCIpKSkpIFwKICAgICAgICBtb2RpZmllZCA9IFRydWUgXAogXAog
ICAgIyBpZiB3ZSBoYXZlIG1vZGlmaWVkIHNvbWUgcnBhdGhzIGNhbGwgY2hycGF0aCB0byB1cGRh
dGUgdGhlIGJpbmFyeSBcCiAgICBpZiBtb2RpZmllZDogXAogICAgICAgIGFyZ3MgPSBcIjpcIi5q
b2luKG5ld19ycGF0aHMpIFwKICAgICAgICAjYmIubm90ZShcIlNldHRpbmcgcnBhdGggZm9yICVz
IHRvICVzXCIgJShmcGF0aCwgYXJncykpIFwKICAgICAgICBwID0gc3ViLlBvcGVuKFtjbWQsICct
cicsIGFyZ3MsIGZwYXRoXSxzdGRvdXQ9c3ViLlBJUEUsc3RkZXJyPXN1Yi5QSVBFKSBcCiAgICAg
ICAgb3V0LCBlcnIgPSBwLmNvbW11bmljYXRlKCkgXAogICAgICAgIGlmIHAucmV0dXJuY29kZSAh
PSAwOiBcCiAgICAgICAgICAgIGJiLmZhdGFsKFwiJXM6IGNocnBhdGggY29tbWFuZCBmYWlsZWQg
d2l0aCBleGl0IGNvZGUgJWQ6XG4lcyVzXCIgJSAoZC5nZXRWYXIoJ1BOJyksIHAucmV0dXJuY29k
ZSwgb3V0LCBlcnIpKSBcCiIKIwojICRzYmluZGlyIFs0IG9wZXJhdGlvbnNdCiMgICBleHBvcnRl
ZCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjQyCiMg
ICAgIFtleHBvcnRdICIxIgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEv
Y29uZi9iaXRiYWtlLmNvbmY6NDIKIyAgICAgIiR7ZXhlY19wcmVmaXh9L3NiaW4iCiMgICBvdmVy
cmlkZVtuYXRpdmVdOnNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0
YmFrZS5jb25mOjU1CiMgICAgICIke3ByZWZpeF9uYXRpdmV9L3NiaW4iCiMgICBvdmVycmlkZVtu
YXRpdmVzZGtdOnNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFr
ZS5jb25mOjY1CiMgICAgICIke3ByZWZpeF9uYXRpdmVzZGt9L3NiaW4iCiMgcHJlLWV4cGFuc2lv
biB2YWx1ZToKIyAgICIke2V4ZWNfcHJlZml4fS9zYmluIgpleHBvcnQgc2JpbmRpcj0iL3Vzci9z
YmluIgojCiMgJHNiaW5kaXJfbmF0aXZlCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bv
a3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo1NQojICAgICAiJHtwcmVmaXhfbmF0aXZlfS9zYmlu
IgpzYmluZGlyX25hdGl2ZT0iL3Vzci9zYmluIgojCiMgJHNiaW5kaXJfbmF0aXZlc2RrCiMgICBz
ZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo2NQoj
ICAgICAiJHtwcmVmaXhfbmF0aXZlc2RrfS9zYmluIgpzYmluZGlyX25hdGl2ZXNkaz0iL3Vzci9z
YmluIgojCiMgJHNlcnZpY2VkaXIgWzIgb3BlcmF0aW9uc10KIyAgIGV4cG9ydGVkIC9tZWRpYS9y
ZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6MjgKIyAgICAgW2V4cG9y
dF0gIjEiCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJh
a2UuY29uZjoyOAojICAgICAiJHtiYXNlX3ByZWZpeH0vc3J2IgojIHByZS1leHBhbnNpb24gdmFs
dWU6CiMgICAiJHtiYXNlX3ByZWZpeH0vc3J2IgpleHBvcnQgc2VydmljZWRpcj0iL3NydiIKIwoj
ICRzaGFyZWRzdGF0ZWRpciBbMiBvcGVyYXRpb25zXQojICAgZXhwb3J0ZWQgL21lZGlhL3JlYmVj
Y2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjoyOQojICAgICBbZXhwb3J0XSAi
MSIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5j
b25mOjI5CiMgICAgICIke2Jhc2VfcHJlZml4fS9jb20iCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToK
IyAgICIke2Jhc2VfcHJlZml4fS9jb20iCmV4cG9ydCBzaGFyZWRzdGF0ZWRpcj0iL2NvbSIKIwoj
ICRzeXNjb25mZGlyIFszIG9wZXJhdGlvbnNdCiMgICBleHBvcnRlZCAvbWVkaWEvcmViZWNjYXMv
eW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjI3CiMgICAgIFtleHBvcnRdICIxIgoj
ICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6
MjcKIyAgICAgIiR7YmFzZV9wcmVmaXh9L2V0YyIKIyAgIG92ZXJyaWRlW25hdGl2ZV06c2V0IC9t
ZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6NTIKIyAgICAg
Ii9ldGMiCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICIke2Jhc2VfcHJlZml4fS9ldGMiCmV4
cG9ydCBzeXNjb25mZGlyPSIvZXRjIgojCiMgJHN5c2NvbmZkaXJfbmF0aXZlCiMgICBzZXQgL21l
ZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo1MgojICAgICAi
L2V0YyIKc3lzY29uZmRpcl9uYXRpdmU9Ii9ldGMiCiMKIyAkc3lzdGVtZF9zeXN0ZW1fdW5pdGRp
ciBbMiBvcGVyYXRpb25zXQojICAgZXhwb3J0ZWQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kv
bWV0YS9jb25mL2JpdGJha2UuY29uZjozNgojICAgICBbZXhwb3J0XSAiMSIKIyAgIHNldCAvbWVk
aWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjM2CiMgICAgICIk
e25vbmFyY2hfYmFzZV9saWJkaXJ9L3N5c3RlbWQvc3lzdGVtIgojIHByZS1leHBhbnNpb24gdmFs
dWU6CiMgICAiJHtub25hcmNoX2Jhc2VfbGliZGlyfS9zeXN0ZW1kL3N5c3RlbSIKZXhwb3J0IHN5
c3RlbWRfc3lzdGVtX3VuaXRkaXI9Ii9saWIvc3lzdGVtZC9zeXN0ZW0iCiMKIyAkc3lzdGVtZF91
bml0ZGlyIFsyIG9wZXJhdGlvbnNdCiMgICBleHBvcnRlZCAvbWVkaWEvcmViZWNjYXMveW9jdG8v
cG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjM1CiMgICAgIFtleHBvcnRdICIxIgojICAgc2V0
IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6MzUKIyAg
ICAgIiR7bm9uYXJjaF9iYXNlX2xpYmRpcn0vc3lzdGVtZCIKIyBwcmUtZXhwYW5zaW9uIHZhbHVl
OgojICAgIiR7bm9uYXJjaF9iYXNlX2xpYmRpcn0vc3lzdGVtZCIKZXhwb3J0IHN5c3RlbWRfdW5p
dGRpcj0iL2xpYi9zeXN0ZW1kIgojCiMgJHN5c3RlbWRfdXNlcl91bml0ZGlyIFsyIG9wZXJhdGlv
bnNdCiMgICBleHBvcnRlZCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0
YmFrZS5jb25mOjM4CiMgICAgIFtleHBvcnRdICIxIgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95
b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6MzgKIyAgICAgIiR7bm9uYXJjaF9saWJk
aXJ9L3N5c3RlbWQvdXNlciIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIiR7bm9uYXJjaF9s
aWJkaXJ9L3N5c3RlbWQvdXNlciIKZXhwb3J0IHN5c3RlbWRfdXNlcl91bml0ZGlyPSIvdXNyL2xp
Yi9zeXN0ZW1kL3VzZXIiCiMKIyAkdGFyZ2V0X2RhdGFkaXIKIyAgIGltbWVkaWF0ZSAvbWVkaWEv
cmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjc3CiMgICAgICIke2Rh
dGFkaXJ9Igp0YXJnZXRfZGF0YWRpcj0iL3Vzci9zaGFyZSIKIwojICR2YWxpZF9hcmNocwojICAg
c2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY2xhc3Nlcy9rZXJuZWwtYXJjaC5i
YmNsYXNzOjE3CiMgICAgICJhbHBoYSBjcmlzIGlhNjQgICAgICAgICAgICAgICAgaTM4NiB4ODYg
ICAgICAgICAgICAgICAgbTY4a25vbW11IG02OGsgcHBjIHBvd2VycGMgcG93ZXJwYzY0IHBwYzY0
ICAgICAgICAgICAgICAgICBzcGFyYyBzcGFyYzY0ICAgICAgICAgICAgICAgIGFybSBhYXJjaDY0
ICAgICAgICAgICAgICAgIG0zMnIgbWlwcyAgICAgICAgICAgICAgICBzaCBzaDY0IHVtIGg4MzAw
ICAgICAgICAgICAgICAgICAgcGFyaXNjIHMzOTAgIHY4NTAgICAgICAgICAgICAgICAgYXZyMzIg
YmxhY2tmaW4gICAgICAgICAgICAgICAgbWljcm9ibGF6ZSAgICAgICAgICAgICAgICBuaW9zMiBh
cmMgeHRlbnNhIgp2YWxpZF9hcmNocz0iYWxwaGEgY3JpcyBpYTY0ICAgICAgICAgICAgICAgIGkz
ODYgeDg2ICAgICAgICAgICAgICAgIG02OGtub21tdSBtNjhrIHBwYyBwb3dlcnBjIHBvd2VycGM2
NCBwcGM2NCAgICAgICAgICAgICAgICAgc3BhcmMgc3BhcmM2NCAgICAgICAgICAgICAgICBhcm0g
YWFyY2g2NCAgICAgICAgICAgICAgICBtMzJyIG1pcHMgICAgICAgICAgICAgICAgc2ggc2g2NCB1
bSBoODMwMCAgICAgICAgICAgICAgICAgIHBhcmlzYyBzMzkwICB2ODUwICAgICAgICAgICAgICAg
IGF2cjMyIGJsYWNrZmluICAgICAgICAgICAgICAgIG1pY3JvYmxhemUgICAgICAgICAgICAgICAg
bmlvczIgYXJjIHh0ZW5zYSIKYXV0b2xvYWRfcG9zdGluc3RfZnJhZ21lbnQoKSB7CmlmIFsgeCIk
RCIgPSAieCIgXTsgdGhlbgoJbW9kcHJvYmUgJXMgfHwgdHJ1ZQpmaQp9CgpiYXNlX2RvX2NvbXBp
bGUoKSB7CglpZiBbIC1lIE1ha2VmaWxlIC1vIC1lIG1ha2VmaWxlIC1vIC1lIEdOVW1ha2VmaWxl
IF07IHRoZW4KCQlvZV9ydW5tYWtlIHx8IGRpZSAibWFrZSBmYWlsZWQiCgllbHNlCgkJYmJub3Rl
ICJub3RoaW5nIHRvIGNvbXBpbGUiCglmaQp9CgpiYXNlX2RvX2NvbmZpZ3VyZSgpIHsKCWlmIFsg
LW4gIi9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy90bXAvd29yay9xZW11eDg2LXBva3ktbGlu
dXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9jb25maWd1cmUuc3N0YXRlIiAtYSAtZSAiL21lZGlh
L3JlYmVjY2FzL3lvY3RvL2x0dG5nL3RtcC93b3JrL3FlbXV4ODYtcG9reS1saW51eC9sdHRuZy1t
b2R1bGVzLzIuOS4xLXIwL2NvbmZpZ3VyZS5zc3RhdGUiIF07IHRoZW4KCQlpZiBbICJgY2F0IC9t
ZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy90bXAvd29yay9xZW11eDg2LXBva3ktbGludXgvbHR0
bmctbW9kdWxlcy8yLjkuMS1yMC9jb25maWd1cmUuc3N0YXRlYCIgIT0gIiR7QkJfVEFTS0hBU0h9
IiBdOyB0aGVuCgkJCWNkIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy90bXAvd29yay9xZW11
eDg2LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9sdHRuZy1tb2R1bGVzLTIuOS4x
CgkJCWlmIFsgIjAiICE9ICIxIiAtYSBcKCAtZSBNYWtlZmlsZSAtbyAtZSBtYWtlZmlsZSAtbyAt
ZSBHTlVtYWtlZmlsZSBcKSBdOyB0aGVuCgkJCQlvZV9ydW5tYWtlIGNsZWFuCgkJCWZpCgkJCWZp
bmQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL3RtcC93b3JrL3FlbXV4ODYtcG9reS1saW51
eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL2x0dG5nLW1vZHVsZXMtMi45LjEgLWlnbm9yZV9yZWFk
ZGlyX3JhY2UgLW5hbWUgXCoubGEgLWRlbGV0ZQoJCWZpCglmaQoJaWYgWyAtbiAiL21lZGlhL3Jl
YmVjY2FzL3lvY3RvL2x0dG5nL3RtcC93b3JrL3FlbXV4ODYtcG9reS1saW51eC9sdHRuZy1tb2R1
bGVzLzIuOS4xLXIwL2NvbmZpZ3VyZS5zc3RhdGUiIF07IHRoZW4KCQlta2RpciAtcCBgZGlybmFt
ZSAvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvdG1wL3dvcmsvcWVtdXg4Ni1wb2t5LWxpbnV4
L2x0dG5nLW1vZHVsZXMvMi45LjEtcjAvY29uZmlndXJlLnNzdGF0ZWAKCQllY2hvICR7QkJfVEFT
S0hBU0h9ID4gL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL3RtcC93b3JrL3FlbXV4ODYtcG9r
eS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL2NvbmZpZ3VyZS5zc3RhdGUKCWZpCn0KCmJh
c2VfZG9faW5zdGFsbCgpIHsKCToKfQoKYmFzZV9kb19wYWNrYWdlKCkgewoJOgp9CgpiYmRlYnVn
KCkgewoJVVNBR0U9J1VzYWdlOiBiYmRlYnVnIFsxMjNdICJtZXNzYWdlIicKCWlmIFsgJCMgLWx0
IDIgXTsgdGhlbgoJCWJiZmF0YWwgIiRVU0FHRSIKCWZpCgoJIyBTdHJpcCBvZmYgdGhlIGRlYnVn
IGxldmVsIGFuZCBlbnN1cmUgaXQgaXMgYW4gaW50ZWdlcgoJREJHTFZMPSQxOyBzaGlmdAoJTk9O
RElHSVRTPSQoZWNobyAiJERCR0xWTCIgfCB0ciAtZCBbOmRpZ2l0Ol0pCglpZiBbICIkTk9ORElH
SVRTIiBdOyB0aGVuCgkJYmJmYXRhbCAiJFVTQUdFIgoJZmkKCgkjIEFsbCBkZWJ1ZyBvdXRwdXQg
aXMgcHJpbnRlZCB0byB0aGUgbG9ncwoJaWYgWyAtcCAvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0
bmcvdG1wL3dvcmsvcWVtdXg4Ni1wb2t5LWxpbnV4L2x0dG5nLW1vZHVsZXMvMi45LjEtcjAvdGVt
cC9maWZvLjE3NDMyMiBdIDsgdGhlbgoJCXByaW50ZiAiJWJcMCIgImJiZGVidWcgJERCR0xWTCAk
KiIgPiAvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvdG1wL3dvcmsvcWVtdXg4Ni1wb2t5LWxp
bnV4L2x0dG5nLW1vZHVsZXMvMi45LjEtcjAvdGVtcC9maWZvLjE3NDMyMgoJZWxzZQoJCWVjaG8g
IkRFQlVHOiAkKiIKCWZpCn0KCmJiZXJyb3IoKSB7CglpZiBbIC1wIC9tZWRpYS9yZWJlY2Nhcy95
b2N0by9sdHRuZy90bXAvd29yay9xZW11eDg2LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjku
MS1yMC90ZW1wL2ZpZm8uMTc0MzIyIF0gOyB0aGVuCgkJcHJpbnRmICIlYlwwIiAiYmJlcnJvciAk
KiIgPiAvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvdG1wL3dvcmsvcWVtdXg4Ni1wb2t5LWxp
bnV4L2x0dG5nLW1vZHVsZXMvMi45LjEtcjAvdGVtcC9maWZvLjE3NDMyMgoJZWxzZQoJCWVjaG8g
IkVSUk9SOiAkKiIKCWZpCn0KCmJiZmF0YWwoKSB7CglpZiBbIC1wIC9tZWRpYS9yZWJlY2Nhcy95
b2N0by9sdHRuZy90bXAvd29yay9xZW11eDg2LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjku
MS1yMC90ZW1wL2ZpZm8uMTc0MzIyIF0gOyB0aGVuCgkJcHJpbnRmICIlYlwwIiAiYmJmYXRhbCAk
KiIgPiAvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvdG1wL3dvcmsvcWVtdXg4Ni1wb2t5LWxp
bnV4L2x0dG5nLW1vZHVsZXMvMi45LjEtcjAvdGVtcC9maWZvLjE3NDMyMgoJZWxzZQoJCWVjaG8g
IkVSUk9SOiAkKiIKCWZpCglleGl0IDEKfQoKYmJmYXRhbF9sb2coKSB7CglpZiBbIC1wIC9tZWRp
YS9yZWJlY2Nhcy95b2N0by9sdHRuZy90bXAvd29yay9xZW11eDg2LXBva3ktbGludXgvbHR0bmct
bW9kdWxlcy8yLjkuMS1yMC90ZW1wL2ZpZm8uMTc0MzIyIF0gOyB0aGVuCgkJcHJpbnRmICIlYlww
IiAiYmJmYXRhbF9sb2cgJCoiID4gL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL3RtcC93b3Jr
L3FlbXV4ODYtcG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL3RlbXAvZmlmby4xNzQz
MjIKCWVsc2UKCQllY2hvICJFUlJPUjogJCoiCglmaQoJZXhpdCAxCn0KCmJibm90ZSgpIHsKCWlm
IFsgLXAgL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL3RtcC93b3JrL3FlbXV4ODYtcG9reS1s
aW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL3RlbXAvZmlmby4xNzQzMjIgXSA7IHRoZW4KCQlw
cmludGYgIiViXDAiICJiYm5vdGUgJCoiID4gL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL3Rt
cC93b3JrL3FlbXV4ODYtcG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL3RlbXAvZmlm
by4xNzQzMjIKCWVsc2UKCQllY2hvICJOT1RFOiAkKiIKCWZpCn0KCmJicGxhaW4oKSB7CglpZiBb
IC1wIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy90bXAvd29yay9xZW11eDg2LXBva3ktbGlu
dXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC90ZW1wL2ZpZm8uMTc0MzIyIF0gOyB0aGVuCgkJcHJp
bnRmICIlYlwwIiAiYmJwbGFpbiAkKiIgPiAvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvdG1w
L3dvcmsvcWVtdXg4Ni1wb2t5LWxpbnV4L2x0dG5nLW1vZHVsZXMvMi45LjEtcjAvdGVtcC9maWZv
LjE3NDMyMgoJZWxzZQoJCWVjaG8gIiQqIgoJZmkKfQoKYmJ3YXJuKCkgewoJaWYgWyAtcCAvbWVk
aWEvcmViZWNjYXMveW9jdG8vbHR0bmcvdG1wL3dvcmsvcWVtdXg4Ni1wb2t5LWxpbnV4L2x0dG5n
LW1vZHVsZXMvMi45LjEtcjAvdGVtcC9maWZvLjE3NDMyMiBdIDsgdGhlbgoJCXByaW50ZiAiJWJc
MCIgImJid2FybiAkKiIgPiAvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvdG1wL3dvcmsvcWVt
dXg4Ni1wb2t5LWxpbnV4L2x0dG5nLW1vZHVsZXMvMi45LjEtcjAvdGVtcC9maWZvLjE3NDMyMgoJ
ZWxzZQoJCWVjaG8gIldBUk5JTkc6ICQqIgoJZmkKfQoKY2hlY2tfZ2l0X2NvbmZpZygpIHsKCWlm
ICEgZ2l0IGNvbmZpZyB1c2VyLmVtYWlsID4gL2Rldi9udWxsIDsgdGhlbgoJCWdpdCBjb25maWcg
LS1sb2NhbCB1c2VyLmVtYWlsICJvZS5wYXRjaEBvZSIKCWZpCglpZiAhIGdpdCBjb25maWcgdXNl
ci5uYW1lID4gL2Rldi9udWxsIDsgdGhlbgoJCWdpdCBjb25maWcgLS1sb2NhbCB1c2VyLm5hbWUg
Ik9wZW5FbWJlZGRlZCIKCWZpCn0KCmNyZWF0ZV9jbWRsaW5lX3dyYXBwZXIoKSB7CgkjIENyZWF0
ZSBhIHdyYXBwZXIgc2NyaXB0IHdoZXJlIGNvbW1hbmRsaW5lIG9wdGlvbnMgYXJlIG5lZWRlZAoJ
IwoJIyBUaGVzZSBhcmUgdXNlZnVsIHRvIHdvcmsgYXJvdW5kIHJlbG9jYXRpb24gaXNzdWVzLCBi
eSBwYXNzaW5nIGV4dHJhIG9wdGlvbnMKCSMgdG8gYSBwcm9ncmFtCgkjCgkjIFVzYWdlOiBjcmVh
dGVfY21kbGluZV93cmFwcGVyIEZJTEVOQU1FIDxleHRyYS1vcHRpb25zPgoKCWNtZD0kMQoJc2hp
ZnQKCgllY2hvICJHZW5lcmF0aW5nIHdyYXBwZXIgc2NyaXB0IGZvciAkY21kIgoKCW12ICRjbWQg
JGNtZC5yZWFsCgljbWRuYW1lPWBiYXNlbmFtZSAkY21kYAoJZGlybmFtZT1gZGlybmFtZSAkY21k
YAoJY21kb3B0aW9ucz0kQAoJaWYgWyAiIiAhPSAiIiBdOyB0aGVuCgkJcmVscGF0aD1gcHl0aG9u
MyAtYyAiaW1wb3J0IG9zOyBwcmludChvcy5wYXRoLnJlbHBhdGgoJy9tZWRpYS9yZWJlY2Nhcy95
b2N0by9sdHRuZy90bXAvd29yay9xZW11eDg2LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjku
MS1yMC9pbWFnZScsICckZGlybmFtZScpKSJgCgkJY21kb3B0aW9ucz1gZWNobyAkQCB8IHNlZCAt
ZSAiczo6XFwkcmVhbGRpci8kcmVscGF0aDpnImAKCWZpCgljYXQgPDxFTkQgPiRjbWQKIyEvYmlu
L2Jhc2gKcmVhbHBhdGg9XGByZWFkbGluayAtZm4gXCQwXGAKcmVhbGRpcj1cYGRpcm5hbWUgXCRy
ZWFscGF0aFxgCmV4ZWMgLWEgXGBkaXJuYW1lIFwkcmVhbHBhdGhcYC8kY21kbmFtZSBcYGRpcm5h
bWUgXCRyZWFscGF0aFxgLyRjbWRuYW1lLnJlYWwgJGNtZG9wdGlvbnMgIlwkQCIKRU5ECgljaG1v
ZCAreCAkY21kCn0KCmNyZWF0ZV93cmFwcGVyKCkgewoJIyBDcmVhdGUgYSB3cmFwcGVyIHNjcmlw
dCB3aGVyZSBleHRyYSBlbnZpcm9ubWVudCB2YXJpYWJsZXMgYXJlIG5lZWRlZAoJIwoJIyBUaGVz
ZSBhcmUgdXNlZnVsIHRvIHdvcmsgYXJvdW5kIHJlbG9jYXRpb24gaXNzdWVzLCBieSBzZXR0aW5n
IGVudmlyb25tZW50CgkjIHZhcmlhYmxlcyB3aGljaCBwb2ludCB0byBwYXRocyBpbiB0aGUgZmls
ZXN5c3RlbS4KCSMKCSMgVXNhZ2U6IGNyZWF0ZV93cmFwcGVyIEZJTEVOQU1FIFtbVkFSPVZBTFVF
XS4uXQoKCWNtZD0kMQoJc2hpZnQKCgllY2hvICJHZW5lcmF0aW5nIHdyYXBwZXIgc2NyaXB0IGZv
ciAkY21kIgoKCW12ICRjbWQgJGNtZC5yZWFsCgljbWRuYW1lPWBiYXNlbmFtZSAkY21kYAoJZGly
bmFtZT1gZGlybmFtZSAkY21kYAoJZXhwb3J0c3RyaW5nPSRACglpZiBbICIiICE9ICIiIF07IHRo
ZW4KCQlyZWxwYXRoPWBweXRob24zIC1jICJpbXBvcnQgb3M7IHByaW50KG9zLnBhdGgucmVscGF0
aCgnL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL3RtcC93b3JrL3FlbXV4ODYtcG9reS1saW51
eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL2ltYWdlJywgJyRkaXJuYW1lJykpImAKCQlleHBvcnRz
dHJpbmc9YGVjaG8gJEAgfCBzZWQgLWUgInM6OlxcJHJlYWxkaXIvJHJlbHBhdGg6ZyJgCglmaQoJ
Y2F0IDw8RU5EID4kY21kCiMhL2Jpbi9iYXNoCnJlYWxwYXRoPVxgcmVhZGxpbmsgLWZuIFwkMFxg
CnJlYWxkaXI9XGBkaXJuYW1lIFwkcmVhbHBhdGhcYApleHBvcnQgJGV4cG9ydHN0cmluZwpleGVj
IC1hIFxgZGlybmFtZSBcJHJlYWxwYXRoXGAvJGNtZG5hbWUgXGBkaXJuYW1lIFwkcmVhbHBhdGhc
YC8kY21kbmFtZS5yZWFsICJcJEAiCkVORAoJY2htb2QgK3ggJGNtZAp9CgpkaWUoKSB7CgliYmZh
dGFsX2xvZyAiJCoiCn0KCmRvX2J1aWxkKCkgewoJOgp9Cgpkb19jaGVja3VyaWFsbCgpIHsKCToK
fQoKZG9fY29tcGlsZSgpIHsKICAgIG1vZHVsZV9kb19jb21waWxlCn0KCmRvX2NvbmZpZ3VyZSgp
IHsKICAgIGJhc2VfZG9fY29uZmlndXJlCn0KCmRvX2ZldGNoYWxsKCkgewoJOgp9Cgpkb19pbnN0
YWxsKCkgewogICAgbW9kdWxlX2RvX2luc3RhbGwKCWluc3RhbGwgLWQgL21lZGlhL3JlYmVjY2Fz
L3lvY3RvL2x0dG5nL3RtcC93b3JrL3FlbXV4ODYtcG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIu
OS4xLXIwL2ltYWdlL2V0Yy9tb2R1bGVzLWxvYWQuZC8gL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0
dG5nL3RtcC93b3JrL3FlbXV4ODYtcG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL2lt
YWdlL2V0Yy9tb2Rwcm9iZS5kLwoJIyBEZWxldGUgZW1wdHkgZGlyZWN0b3JpZXMgdG8gYXZvaWQg
UUEgZmFpbHVyZXMgaWYgbm8gbW9kdWxlcyB3ZXJlIGJ1aWx0CglmaW5kIC9tZWRpYS9yZWJlY2Nh
cy95b2N0by9sdHRuZy90bXAvd29yay9xZW11eDg2LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8y
LjkuMS1yMC9pbWFnZS8vbGliIC1kZXB0aCAtdHlwZSBkIC1lbXB0eSAtZXhlYyBybWRpciB7fSBc
Owp9Cgpkb19tYWtlX3NjcmlwdHMoKSB7Cgl1bnNldCBDRkxBR1MgQ1BQRkxBR1MgQ1hYRkxBR1Mg
TERGTEFHUwoJbWFrZSBDQz0iaTU4Ni1wb2t5LWxpbnV4LWdjYyAgLWZ1c2UtbGQ9YmZkIiBMRD0i
aTU4Ni1wb2t5LWxpbnV4LWxkLmJmZCAiIEFSPSJpNTg2LXBva3ktbGludXgtYXIgIiBcCgkgICAg
ICAgICAgIC1DIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy90bXAvd29yay1zaGFyZWQvcWVt
dXg4Ni9rZXJuZWwtc291cmNlIE89L21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL3RtcC93b3Jr
LXNoYXJlZC9xZW11eDg2L2tlcm5lbC1idWlsZC1hcnRpZmFjdHMgc2NyaXB0cwp9Cgpkb19wYWNr
YWdlZGF0YSgpIHsKCToKfQoKaGFyZGxpbmtkaXIoKSB7Cglmcm9tPSQxCgl0bz0kMgoJKGNkICRm
cm9tOyBmaW5kIC4gLXByaW50MCB8IGNwaW8gLS1udWxsIC1wZGx1ICR0bykKfQoKbGRjb25maWdf
cG9zdGluc3RfZnJhZ21lbnQoKSB7CmlmIFsgeCIkRCIgPSAieCIgXTsgdGhlbgoJaWYgWyAteCAv
c2Jpbi9sZGNvbmZpZyBdOyB0aGVuIC9zYmluL2xkY29uZmlnIDsgZmkKZmkKfQoKbGludXhsb2Fk
ZXIoKSB7CgljYXNlIGk1ODYgaW4KCQlwb3dlcnBjIHwgbWljcm9ibGF6ZSApCgkJCWR5bmFtaWNf
bG9hZGVyPSIvbGliL2xkLnNvLjEiCgkJCTs7CgkJbWlwc2lzYTMycjZlbCB8IG1pcHNpc2EzMnI2
IHwgbWlwc2lzYTY0cjZlbCB8IG1pcHNpc2E2NHI2KQoJCQlkeW5hbWljX2xvYWRlcj0iL2xpYi9s
ZC1saW51eC1taXBzbjguc28uMSIKCQkJOzsKCQltaXBzKiApCgkJCWR5bmFtaWNfbG9hZGVyPSIv
bGliL2xkLnNvLjEiCgkJCTs7CgkJcG93ZXJwYzY0KQoJCQlkeW5hbWljX2xvYWRlcj0iL2xpYi9s
ZDY0LnNvLjEiCgkJCTs7CgkJeDg2XzY0KQoJCQlkeW5hbWljX2xvYWRlcj0iL2xpYi9sZC1saW51
eC14ODYtNjQuc28uMiIKCQkJOzsKCQlpKjg2ICkKCQkJZHluYW1pY19sb2FkZXI9Ii9saWIvbGQt
bGludXguc28uMiIKCQkJOzsKCQlhcm0gKQoJCQlkeW5hbWljX2xvYWRlcj0iL2xpYi9sZC1saW51
eC5zby4zIgoJCQk7OwoJCSogKQoJCQlkeW5hbWljX2xvYWRlcj0iL3Vua25vd25fZHluYW1pY19s
aW5rZXIiCgkJCTs7Cgllc2FjCgllY2hvICRkeW5hbWljX2xvYWRlcgp9Cgpta2xpYnNfb3B0aW1p
emVfaW1hZ2UoKSB7Cglmb3IgaW1nIGluICR7TUtMSUJTX09QVElNSVpFRF9JTUFHRVN9CglkbwoJ
CWlmIFsgIiR7aW1nfSIgPSAibHR0bmctbW9kdWxlcyIgXSB8fCBbICIke2ltZ30iID0gImFsbCIg
XQoJCXRoZW4KCQkJbWtsaWJzX29wdGltaXplX2ltYWdlX2RvaXQKCQkJYnJlYWsKCQlmaQoJZG9u
ZQp9Cgpta2xpYnNfb3B0aW1pemVfaW1hZ2VfZG9pdCgpIHsKCXJtIC1yZiAvbWVkaWEvcmViZWNj
YXMveW9jdG8vbHR0bmcvdG1wL3dvcmsvcWVtdXg4Ni1wb2t5LWxpbnV4L2x0dG5nLW1vZHVsZXMv
Mi45LjEtcjAvbWtsaWJzCglta2RpciAtcCAvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvdG1w
L3dvcmsvcWVtdXg4Ni1wb2t5LWxpbnV4L2x0dG5nLW1vZHVsZXMvMi45LjEtcjAvbWtsaWJzL2Rl
c3QKCWNkIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy90bXAvd29yay9xZW11eDg2LXBva3kt
bGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9yb290ZnMKCWR1IC1icyA+IC9tZWRpYS9yZWJl
Y2Nhcy95b2N0by9sdHRuZy90bXAvd29yay9xZW11eDg2LXBva3ktbGludXgvbHR0bmctbW9kdWxl
cy8yLjkuMS1yMC9ta2xpYnMvZHUuYmVmb3JlLm1rbGlicy50eHQKCgkjIEJ1aWxkIGEgbGlzdCBv
ZiBkeW5hbWljYWxseSBsaW5rZWQgZXhlY3V0YWJsZSBFTEYgZmlsZXMuCgkjIE9taXQgbGliYy9s
aWJwdGhyZWFkIGFzIGEgc3BlY2lhbCBjYXNlIGJlY2F1c2UgaXQgaGFzIGFuIGludGVycHJldGVy
CgkjIGJ1dCBpcyBwcmltYXJpbHkgd2hhdCB3ZSBpbnRlbmQgdG8gc3RyaXAgZG93bi4KCWZvciBp
IGluIGBmaW5kIC4gLXR5cGUgZiAtZXhlY3V0YWJsZSAhIC1uYW1lICdsaWJjLSonICEgLW5hbWUg
J2xpYnB0aHJlYWQtKidgOyBkbwoJCWZpbGUgJGkgfCBncmVwIC1xIEVMRiB8fCBjb250aW51ZQoJ
CWk1ODYtcG9reS1saW51eC1yZWFkZWxmIC1sICRpIHwgZ3JlcCAtcSBJTlRFUlAgfHwgY29udGlu
dWUKCQllY2hvICRpCglkb25lID4gL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL3RtcC93b3Jr
L3FlbXV4ODYtcG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL21rbGlicy9leGVjdXRh
Ymxlcy5saXN0CgoJZHluYW1pY19sb2FkZXI9JChsaW51eGxvYWRlcikKCglta2xpYnMgLXYgXAoJ
CS0tbGRsaWIgJHtkeW5hbWljX2xvYWRlcn0gXAoJCS0tbGliZGlyIGxpYiBcCgkJLS1zeXNyb290
IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy90bXAvd29yay9xZW11eDg2LXBva3ktbGludXgv
bHR0bmctbW9kdWxlcy8yLjkuMS1yMC9yZWNpcGUtc3lzcm9vdCBcCgkJLS1nY2Mtb3B0aW9ucyAi
LS1zeXNyb290PS9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy90bXAvd29yay9xZW11eDg2LXBv
a3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9yZWNpcGUtc3lzcm9vdCIgXAoJCS0tcm9v
dCAvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvdG1wL3dvcmsvcWVtdXg4Ni1wb2t5LWxpbnV4
L2x0dG5nLW1vZHVsZXMvMi45LjEtcjAvcm9vdGZzIFwKCQktLXRhcmdldCBgZWNobyBpNTg2LXBv
a3ktbGludXgtIHwgc2VkICdzLy0kLy8nIGAgXAoJCS1kIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9s
dHRuZy90bXAvd29yay9xZW11eDg2LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9t
a2xpYnMvZGVzdCBcCgkJYGNhdCAvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvdG1wL3dvcmsv
cWVtdXg4Ni1wb2t5LWxpbnV4L2x0dG5nLW1vZHVsZXMvMi45LjEtcjAvbWtsaWJzL2V4ZWN1dGFi
bGVzLmxpc3RgCgoJY2QgL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL3RtcC93b3JrL3FlbXV4
ODYtcG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL21rbGlicy9kZXN0Cglmb3IgaSBp
biAqCglkbwoJCWNwICRpIGBmaW5kIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy90bXAvd29y
ay9xZW11eDg2LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9yb290ZnMgLW5hbWUg
JGlgCglkb25lCgoJY2QgL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL3RtcC93b3JrL3FlbXV4
ODYtcG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL3Jvb3RmcwoJZHUgLWJzID4gL21l
ZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL3RtcC93b3JrL3FlbXV4ODYtcG9reS1saW51eC9sdHRu
Zy1tb2R1bGVzLzIuOS4xLXIwL21rbGlicy9kdS5hZnRlci5ta2xpYnMudHh0CgoJZWNobyByb290
ZnMgc2l6ZSBiZWZvcmUgbWtsaWJzIG9wdGltaXphdGlvbjogYGNhdCAvbWVkaWEvcmViZWNjYXMv
eW9jdG8vbHR0bmcvdG1wL3dvcmsvcWVtdXg4Ni1wb2t5LWxpbnV4L2x0dG5nLW1vZHVsZXMvMi45
LjEtcjAvbWtsaWJzL2R1LmJlZm9yZS5ta2xpYnMudHh0YAoJZWNobyByb290ZnMgc2l6ZSBhZnRl
ciBta2xpYnMgb3B0aW1pemF0aW9uOiBgY2F0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy90
bXAvd29yay9xZW11eDg2LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9ta2xpYnMv
ZHUuYWZ0ZXIubWtsaWJzLnR4dGAKfQoKbW9kdWxlX2RvX2NvbXBpbGUoKSB7Cgl1bnNldCBDRkxB
R1MgQ1BQRkxBR1MgQ1hYRkxBR1MgTERGTEFHUwoJb2VfcnVubWFrZSBLRVJORUxfUEFUSD0vbWVk
aWEvcmViZWNjYXMveW9jdG8vbHR0bmcvdG1wL3dvcmstc2hhcmVkL3FlbXV4ODYva2VybmVsLXNv
dXJjZSAgIFwKCQkgICBLRVJORUxfVkVSU0lPTj00LjEyLjEyLXlvY3RvLXN0YW5kYXJkICAgIFwK
CQkgICBDQz0iaTU4Ni1wb2t5LWxpbnV4LWdjYyAgLWZ1c2UtbGQ9YmZkIiBMRD0iaTU4Ni1wb2t5
LWxpbnV4LWxkLmJmZCAiIFwKCQkgICBBUj0iaTU4Ni1wb2t5LWxpbnV4LWFyICIgXAoJICAgICAg
ICAgICBPPS9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy90bXAvd29yay1zaGFyZWQvcWVtdXg4
Ni9rZXJuZWwtYnVpbGQtYXJ0aWZhY3RzIFwKCQkgICBLQlVJTERfRVhUUkFfU1lNQk9MUz0iIiBc
CgkJICAgJHtNQUtFX1RBUkdFVFN9Cn0KCm1vZHVsZV9kb19pbnN0YWxsKCkgewoJdW5zZXQgQ0ZM
QUdTIENQUEZMQUdTIENYWEZMQUdTIExERkxBR1MKCW9lX3J1bm1ha2UgREVQTU9EPWVjaG8gTU9E
TElCPSIvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvdG1wL3dvcmsvcWVtdXg4Ni1wb2t5LWxp
bnV4L2x0dG5nLW1vZHVsZXMvMi45LjEtcjAvaW1hZ2UvbGliL21vZHVsZXMvNC4xMi4xMi15b2N0
by1zdGFuZGFyZCIgXAoJICAgICAgICAgICBDQz0iaTU4Ni1wb2t5LWxpbnV4LWdjYyAgLWZ1c2Ut
bGQ9YmZkIiBMRD0iaTU4Ni1wb2t5LWxpbnV4LWxkLmJmZCAiIFwKCSAgICAgICAgICAgTz0vbWVk
aWEvcmViZWNjYXMveW9jdG8vbHR0bmcvdG1wL3dvcmstc2hhcmVkL3FlbXV4ODYva2VybmVsLWJ1
aWxkLWFydGlmYWN0cyBcCgkgICAgICAgICAgIG1vZHVsZXNfaW5zdGFsbAoKCWlmIFsgISAtZSAi
L21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL3RtcC93b3JrL3FlbXV4ODYtcG9reS1saW51eC9s
dHRuZy1tb2R1bGVzLzIuOS4xLXIwL2x0dG5nLW1vZHVsZXMtMi45LjEvL01vZHVsZS5zeW12ZXJz
IiBdIDsgdGhlbgoJCWJid2FybiAiTW9kdWxlLnN5bXZlcnMgbm90IGZvdW5kIGluIC9tZWRpYS9y
ZWJlY2Nhcy95b2N0by9sdHRuZy90bXAvd29yay9xZW11eDg2LXBva3ktbGludXgvbHR0bmctbW9k
dWxlcy8yLjkuMS1yMC9sdHRuZy1tb2R1bGVzLTIuOS4xLyIKCQliYndhcm4gIlBsZWFzZSBjb25z
aWRlciBzZXR0aW5nIE1PRFVMRVNfTU9EVUxFX1NZTVZFUlNfTE9DQVRJT04gdG8gYSIKCQliYndh
cm4gImRpcmVjdG9yeSBiZWxvdyBCIHRvIGdldCBjb3JyZWN0IGludGVyLW1vZHVsZSBkZXBlbmRl
bmNpZXMiCgllbHNlCgkJaW5zdGFsbCAtRG0wNjQ0ICIvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0
bmcvdG1wL3dvcmsvcWVtdXg4Ni1wb2t5LWxpbnV4L2x0dG5nLW1vZHVsZXMvMi45LjEtcjAvbHR0
bmctbW9kdWxlcy0yLjkuMS8iL01vZHVsZS5zeW12ZXJzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9s
dHRuZy90bXAvd29yay9xZW11eDg2LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9p
bWFnZS91c3IvaW5jbHVkZS9sdHRuZy1tb2R1bGVzL01vZHVsZS5zeW12ZXJzCgkJIyBNb2R1bGUu
c3ltdmVycyBjb250YWlucyBhYnNvbHV0ZSBwYXRoIHRvIHRoZSBidWlsZCBkaXJlY3RvcnkuCgkJ
IyBXaGlsZSBpdCBkb2Vzbid0IGFjdHVhbGx5IHNlZW0gdG8gbWF0dGVyIHdoaWNoIHBhdGggaXMg
c3BlY2lmaWVkLAoJCSMgY2xlYXIgdGhlbSBvdXQgdG8gYXZvaWQgY29uZnVzaW9uCgkJc2VkIC1l
ICdzOi9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy90bXAvd29yay9xZW11eDg2LXBva3ktbGlu
dXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9sdHRuZy1tb2R1bGVzLTIuOS4xLzo6ZycgLWkgL21l
ZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL3RtcC93b3JrL3FlbXV4ODYtcG9reS1saW51eC9sdHRu
Zy1tb2R1bGVzLzIuOS4xLXIwL2ltYWdlL3Vzci9pbmNsdWRlL2x0dG5nLW1vZHVsZXMvTW9kdWxl
LnN5bXZlcnMKCWZpCn0KCm9lX2xpYmluc3RhbGwoKSB7CgkjIFB1cnBvc2U6IEluc3RhbGwgYSBs
aWJyYXJ5LCBpbiBhbGwgaXRzIGZvcm1zCgkjIEV4YW1wbGUKCSMKCSMgb2VfbGliaW5zdGFsbCBs
aWJsdGRsIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy90bXAvd29yay9xZW11eDg2LXBva3kt
bGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9yZWNpcGUtc3lzcm9vdC91c3IvbGliLwoJIyBv
ZV9saWJpbnN0YWxsIC1DIHNyYy9saWJibGFoIGxpYmJsYWggL21lZGlhL3JlYmVjY2FzL3lvY3Rv
L2x0dG5nL3RtcC93b3JrL3FlbXV4ODYtcG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIw
L2ltYWdlLy91c3IvbGliLwoJZGlyPSIiCglsaWJ0b29sPSIiCglzaWxlbnQ9IiIKCXJlcXVpcmVf
c3RhdGljPSIiCglyZXF1aXJlX3NoYXJlZD0iIgoJc3RhZ2luZ19pbnN0YWxsPSIiCgl3aGlsZSBb
ICIkIyIgLWd0IDAgXTsgZG8KCQljYXNlICIkMSIgaW4KCQktQykKCQkJc2hpZnQKCQkJZGlyPSIk
MSIKCQkJOzsKCQktcykKCQkJc2lsZW50PTEKCQkJOzsKCQktYSkKCQkJcmVxdWlyZV9zdGF0aWM9
MQoJCQk7OwoJCS1zbykKCQkJcmVxdWlyZV9zaGFyZWQ9MQoJCQk7OwoJCS0qKQoJCQliYmZhdGFs
ICJvZV9saWJpbnN0YWxsOiB1bmtub3duIG9wdGlvbjogJDEiCgkJCTs7CgkJKikKCQkJYnJlYWs7
CgkJCTs7CgkJZXNhYwoJCXNoaWZ0Cglkb25lCgoJbGlibmFtZT0iJDEiCglzaGlmdAoJZGVzdHBh
dGg9IiQxIgoJaWYgWyAteiAiJGRlc3RwYXRoIiBdOyB0aGVuCgkJYmJmYXRhbCAib2VfbGliaW5z
dGFsbDogbm8gZGVzdGluYXRpb24gcGF0aCBzcGVjaWZpZWQiCglmaQoJaWYgZWNobyAiJGRlc3Rw
YXRoLyIgfCBlZ3JlcCAnXi9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy90bXAvd29yay9xZW11
eDg2LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9yZWNpcGUtc3lzcm9vdC91c3Iv
bGliLycgPi9kZXYvbnVsbAoJdGhlbgoJCXN0YWdpbmdfaW5zdGFsbD0xCglmaQoKCV9fcnVuY21k
ICgpIHsKCQlpZiBbIC16ICIkc2lsZW50IiBdOyB0aGVuCgkJCWVjaG8gPiYyICJvZV9saWJpbnN0
YWxsOiAkKiIKCQlmaQoJCSQqCgl9CgoJaWYgWyAteiAiJGRpciIgXTsgdGhlbgoJCWRpcj1gcHdk
YAoJZmkKCglkb3RsYWk9JGxpYm5hbWUubGFpCgoJIyBTYW5pdHkgY2hlY2sgdGhhdCB0aGUgbGli
bmFtZS5sYWkgaXMgdW5pcXVlCgludW1iZXJfb2ZfZmlsZXM9YChjZCAkZGlyOyBmaW5kIC4gLW5h
bWUgIiRkb3RsYWkiKSB8IHdjIC1sYAoJaWYgWyAkbnVtYmVyX29mX2ZpbGVzIC1ndCAxIF07IHRo
ZW4KCQliYmZhdGFsICJvZV9saWJpbnN0YWxsOiAkZG90bGFpIGlzIG5vdCB1bmlxdWUgaW4gJGRp
ciIKCWZpCgoKCWRpcj0kZGlyYChjZCAkZGlyO2ZpbmQgLiAtbmFtZSAiJGRvdGxhaSIpIHwgc2Vk
ICJzL15cLi8vO3MvXC8kZG90bGFpXCQvLztxImAKCW9sZGRpcj1gcHdkYAoJX19ydW5jbWQgY2Qg
JGRpcgoKCWxhZmlsZT0kbGlibmFtZS5sYQoKCSMgSWYgc3VjaCBmaWxlIGRvZXNuJ3QgZXhpc3Qs
IHRyeSB0byBjdXQgdmVyc2lvbiBzdWZmaXgKCWlmIFsgISAtZiAiJGxhZmlsZSIgXTsgdGhlbgoJ
CWxpYm5hbWUxPWBlY2hvICIkbGlibmFtZSIgfCBzZWQgJ3MvLVswLTkuXSokLy8nYAoJCWxhZmls
ZTE9JGxpYm5hbWUubGEKCQlpZiBbIC1mICIkbGFmaWxlMSIgXTsgdGhlbgoJCQlsaWJuYW1lPSRs
aWJuYW1lMQoJCQlsYWZpbGU9JGxhZmlsZTEKCQlmaQoJZmkKCglpZiBbIC1mICIkbGFmaWxlIiBd
OyB0aGVuCgkJIyBsaWJ0b29sIGFyY2hpdmUKCQlldmFsIGBjYXQgJGxhZmlsZXxncmVwICJebGli
cmFyeV9uYW1lcz0iYAoJCWxpYnRvb2w9MQoJZWxzZQoJCWxpYnJhcnlfbmFtZXM9IiRsaWJuYW1l
LnNvKiAkbGlibmFtZS5kbGwuYSAkbGlibmFtZS4qLmR5bGliIgoJZmkKCglfX3J1bmNtZCBpbnN0
YWxsIC1kICRkZXN0cGF0aC8KCWRvdGE9JGxpYm5hbWUuYQoJaWYgWyAtZiAiJGRvdGEiIC1vIC1u
ICIkcmVxdWlyZV9zdGF0aWMiIF07IHRoZW4KCQlybSAtZiAkZGVzdHBhdGgvJGRvdGEKCQlfX3J1
bmNtZCBpbnN0YWxsIC1tIDA2NDQgJGRvdGEgJGRlc3RwYXRoLwoJZmkKCWlmIFsgLWYgIiRkb3Rs
YWkiIC1hIC1uICIkbGlidG9vbCIgXTsgdGhlbgoJCXJtIC1mICRkZXN0cGF0aC8kbGlibmFtZS5s
YQoJCV9fcnVuY21kIGluc3RhbGwgLW0gMDY0NCAkZG90bGFpICRkZXN0cGF0aC8kbGlibmFtZS5s
YQoJZmkKCglmb3IgbmFtZSBpbiAkbGlicmFyeV9uYW1lczsgZG8KCQlmaWxlcz1gZXZhbCBlY2hv
ICRuYW1lYAoJCWZvciBmIGluICRmaWxlczsgZG8KCQkJaWYgWyAhIC1lICIkZiIgXTsgdGhlbgoJ
CQkJaWYgWyAtbiAiJGxpYnRvb2wiIF07IHRoZW4KCQkJCQliYmZhdGFsICJvZV9saWJpbnN0YWxs
OiAkZGlyLyRmIG5vdCBmb3VuZC4iCgkJCQlmaQoJCQllbGlmIFsgLUwgIiRmIiBdOyB0aGVuCgkJ
CQlfX3J1bmNtZCBjcCAtUCAiJGYiICRkZXN0cGF0aC8KCQkJZWxpZiBbICEgLUwgIiRmIiBdOyB0
aGVuCgkJCQlsaWJmaWxlPSIkZiIKCQkJCXJtIC1mICRkZXN0cGF0aC8kbGliZmlsZQoJCQkJX19y
dW5jbWQgaW5zdGFsbCAtbSAwNzU1ICRsaWJmaWxlICRkZXN0cGF0aC8KCQkJZmkKCQlkb25lCglk
b25lCgoJaWYgWyAteiAiJGxpYmZpbGUiIF07IHRoZW4KCQlpZiAgWyAtbiAiJHJlcXVpcmVfc2hh
cmVkIiBdOyB0aGVuCgkJCWJiZmF0YWwgIm9lX2xpYmluc3RhbGw6IHVuYWJsZSB0byBsb2NhdGUg
c2hhcmVkIGxpYnJhcnkiCgkJZmkKCWVsaWYgWyAteiAiJGxpYnRvb2wiIF07IHRoZW4KCQkjIHNw
ZWNpYWwgY2FzZSBoYWNrIGZvciBub24tbGlidG9vbCAuc28uIy4jLiMgbGlua3MKCQliYXNlbGli
ZmlsZT1gYmFzZW5hbWUgIiRsaWJmaWxlImAKCQlpZiAoZWNobyAkYmFzZWxpYmZpbGUgfCBncmVw
IC1xRSAnXmxpYi4qXC5zb1wuWzAtOS5dKiQnKTsgdGhlbgoJCQlzb25hbWVsaW5rPWBpNTg2LXBv
a3ktbGludXgtcmVhZGVsZiAtZCAkbGliZmlsZSB8Z3JlcCAnTGlicmFyeSBzb25hbWU6JyB8c2Vk
IC1lICdzLy4qXFtcKC4qXClcXS4qL1wxLydgCgkJCXNvbGluaz1gZWNobyAkYmFzZWxpYmZpbGUg
fCBzZWQgLWUgJ3MvXC5zb1wuLiovLnNvLydgCgkJCWlmIFsgLW4gIiRzb25hbWVsaW5rIiAtYSB4
IiRiYXNlbGliZmlsZSIgIT0geCIkc29uYW1lbGluayIgXTsgdGhlbgoJCQkJX19ydW5jbWQgbG4g
LXNmICRiYXNlbGliZmlsZSAkZGVzdHBhdGgvJHNvbmFtZWxpbmsKCQkJZmkKCQkJX19ydW5jbWQg
bG4gLXNmICRiYXNlbGliZmlsZSAkZGVzdHBhdGgvJHNvbGluawoJCWZpCglmaQoKCV9fcnVuY21k
IGNkICIkb2xkZGlyIgp9CgpvZV9tYWNoaW5zdGFsbCgpIHsKCSMgUHVycG9zZTogSW5zdGFsbCBt
YWNoaW5lIGRlcGVuZGVudCBmaWxlcywgaWYgYXZhaWxhYmxlCgkjICAgICAgICAgIElmIG5vdCBh
dmFpbGFibGUsIGNoZWNrIGlmIHRoZXJlIGlzIGEgZGVmYXVsdAoJIyAgICAgICAgICBJZiBubyBk
ZWZhdWx0LCBqdXN0IHRvdWNoIHRoZSBkZXN0aW5hdGlvbgoJIyBFeGFtcGxlOgoJIyAgICAgICAg
ICAgICAgICAkMSAgJDIgICAkMyAgICAgICAgICQ0CgkjIG9lX21hY2hpbnN0YWxsIC1tIDA2NDQg
ZnN0YWIgL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL3RtcC93b3JrL3FlbXV4ODYtcG9reS1s
aW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL2ltYWdlL2V0Yy9mc3RhYgoJIwoJIyBUT0RPOiBD
aGVjayBhcmd1bWVudCBudW1iZXI/CgkjCglmaWxlbmFtZT1gYmFzZW5hbWUgJDNgCglkaXJuYW1l
PWBkaXJuYW1lICQzYAoKCWZvciBvIGluIGBlY2hvIGxpbnV4Omk1ODY6YnVpbGQtbGludXg6cG4t
bHR0bmctbW9kdWxlczp4ODY6cWVtdWFsbDpxZW11eDg2OnBva3k6Y2xhc3MtdGFyZ2V0OmZvcmNl
dmFyaWFibGU6bGliYy1nbGliYyB8IHRyICc6JyAnICdgOyBkbwoJCWlmIFsgLWUgJGRpcm5hbWUv
JG8vJGZpbGVuYW1lIF07IHRoZW4KCQkJYmJub3RlICRkaXJuYW1lLyRvLyRmaWxlbmFtZSBwcmVz
ZW50LCBpbnN0YWxsaW5nIHRvICQ0CgkJCWluc3RhbGwgJDEgJDIgJGRpcm5hbWUvJG8vJGZpbGVu
YW1lICQ0CgkJCXJldHVybgoJCWZpCglkb25lCiMJYmJub3RlIG92ZXJyaWRlcyBzcGVjaWZpYyBm
aWxlIE5PVCBwcmVzZW50LCB0cnlpbmcgZGVmYXVsdD0kMy4uLgoJaWYgWyAtZSAkMyBdOyB0aGVu
CgkJYmJub3RlICQzIHByZXNlbnQsIGluc3RhbGxpbmcgdG8gJDQKCQlpbnN0YWxsICQxICQyICQz
ICQ0CgllbHNlCgkJYmJub3RlICQzIE5PVCBwcmVzZW50LCB0b3VjaGluZyBlbXB0eSAkNAoJCXRv
dWNoICQ0CglmaQp9CgpvZV9ydW5tYWtlKCkgewoJb2VfcnVubWFrZV9jYWxsICIkQCIgfHwgZGll
ICJvZV9ydW5tYWtlIGZhaWxlZCIKfQoKb2VfcnVubWFrZV9jYWxsKCkgewoJYmJub3RlIG1ha2Ug
IEtFUk5FTF9TUkM9L21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL3RtcC93b3JrLXNoYXJlZC9x
ZW11eDg2L2tlcm5lbC1zb3VyY2UgS0VSTkVMRElSPScvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0
bmcvdG1wL3dvcmstc2hhcmVkL3FlbXV4ODYva2VybmVsLXNvdXJjZScgIiRAIgoJbWFrZSAgS0VS
TkVMX1NSQz0vbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvdG1wL3dvcmstc2hhcmVkL3FlbXV4
ODYva2VybmVsLXNvdXJjZSBLRVJORUxESVI9Jy9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy90
bXAvd29yay1zaGFyZWQvcWVtdXg4Ni9rZXJuZWwtc291cmNlJyAiJEAiCn0KCm9lX3NvaW5zdGFs
bCgpIHsKCSMgUHVycG9zZTogSW5zdGFsbCBzaGFyZWQgbGlicmFyeSBmaWxlIGFuZAoJIyAgICAg
ICAgICBjcmVhdGUgdGhlIG5lY2Vzc2FyeSBsaW5rcwoJIyBFeGFtcGxlOiBvZV9zb2luc3RhbGwg
bGliZm9vLnNvLjEuMi4zIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy90bXAvd29yay9xZW11
eDg2LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9pbWFnZS91c3IvbGliCglsaWJu
YW1lPWBiYXNlbmFtZSAkMWAKCWNhc2UgIiRsaWJuYW1lIiBpbgoJICAgICouc28pCgkgICAgICAg
IGJiZmF0YWwgIm9lX3NvaW5zdGFsbDogU2hhcmVkIGxpYnJhcnkgbXVzdCBoYXZlZCB2ZXJzaW9u
ZWQgZmlsZW5hbWUgKGUuZy4gbGliZm9vLnNvLjEuMi4zKSIKCSAgICAgICAgOzsKCWVzYWMKCWlu
c3RhbGwgLW0gNzU1ICQxICQyLyRsaWJuYW1lCglzb25hbWVsaW5rPWBpNTg2LXBva3ktbGludXgt
cmVhZGVsZiAtZCAkMSB8Z3JlcCAnTGlicmFyeSBzb25hbWU6JyB8c2VkIC1lICdzLy4qXFtcKC4q
XClcXS4qL1wxLydgCglpZiBbIC16ICRzb25hbWVsaW5rIF07IHRoZW4KCQliYmZhdGFsICJvZV9z
b2luc3RhbGw6ICRsaWJuYW1lIGlzIG1pc3NpbmcgRUxGIHRhZyAnU09OQU1FJy4iCglmaQoJc29s
aW5rPWBlY2hvICRsaWJuYW1lIHwgc2VkIC1lICdzL1wuc29cLi4qLy5zby8nYAoJbG4gLXNmICRs
aWJuYW1lICQyLyRzb25hbWVsaW5rCglsbiAtc2YgJGxpYm5hbWUgJDIvJHNvbGluawp9Cgpwa2df
cG9zdGluc3RfbW9kdWxlcygpIHsKaWYgWyAteiAiJEQiIF07IHRoZW4KCWRlcG1vZCAtYSA0LjEy
LjEyLXlvY3RvLXN0YW5kYXJkCmVsc2UKCSMgaW1hZ2UuYmJjbGFzcyB3aWxsIGNhbGwgZGVwbW9k
d3JhcHBlciBhZnRlciBldmVyeXRoaW5nIGlzIGluc3RhbGxlZCwKCSMgbm8gbmVlZCB0byBkbyBp
dCBoZXJlIGFzIHdlbGwKCToKZmkKfQoKcGtnX3Bvc3RybV9tb2R1bGVzKCkgewppZiBbIC16ICIk
RCIgXTsgdGhlbgoJZGVwbW9kIC1hIDQuMTIuMTIteW9jdG8tc3RhbmRhcmQKZWxzZQoJZGVwbW9k
d3JhcHBlciAtYSAtYiAkRCA0LjEyLjEyLXlvY3RvLXN0YW5kYXJkCmZpCn0KCnByZWxpbmtfaW1h
Z2UoKSB7CiMJZXhwb3J0IFBTRVVET19ERUJVRz00CiMJL2Jpbi9lbnYgfCAvYmluL2dyZXAgUFNF
VURPCiMJZWNobyAiTERfTElCUkFSWV9QQVRIPSRMRF9MSUJSQVJZX1BBVEgiCiMJZWNobyAiTERf
UFJFTE9BRD0kTERfUFJFTE9BRCIKCglwcmVfcHJlbGlua19zaXplPWBkdSAta3MgL21lZGlhL3Jl
YmVjY2FzL3lvY3RvL2x0dG5nL3RtcC93b3JrL3FlbXV4ODYtcG9reS1saW51eC9sdHRuZy1tb2R1
bGVzLzIuOS4xLXIwL3Jvb3RmcyB8IGF3ayAne3NpemUgPSAkMSA7IHByaW50IHNpemUgfSdgCgll
Y2hvICJTaXplIGJlZm9yZSBwcmVsaW5raW5nICRwcmVfcHJlbGlua19zaXplLiIKCgkjIFdlIG5l
ZWQgYSBwcmVsaW5rIGNvbmYgb24gdGhlIGZpbGVzeXN0ZW0sIGFkZCBvbmUgaWYgaXQncyBtaXNz
aW5nCglpZiBbICEgLWUgL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL3RtcC93b3JrL3FlbXV4
ODYtcG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL3Jvb3Rmcy9ldGMvcHJlbGluay5j
b25mIF07IHRoZW4KCQljcCAvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvdG1wL3dvcmsvcWVt
dXg4Ni1wb2t5LWxpbnV4L2x0dG5nLW1vZHVsZXMvMi45LjEtcjAvcmVjaXBlLXN5c3Jvb3QtbmF0
aXZlL2V0Yy9wcmVsaW5rLmNvbmYgXAoJCQkvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvdG1w
L3dvcmsvcWVtdXg4Ni1wb2t5LWxpbnV4L2x0dG5nLW1vZHVsZXMvMi45LjEtcjAvcm9vdGZzL2V0
Yy9wcmVsaW5rLmNvbmYKCQlkdW1teV9wcmVsaW5rX2NvbmY9dHJ1ZTsKCWVsc2UKCQlkdW1teV9w
cmVsaW5rX2NvbmY9ZmFsc2U7CglmaQoKCSMgV2UgbmVlZCBhIGxkLnNvLmNvbmYgd2l0aCBwYXRo
bmFtZXMgaW4scHJlbGluayBjb25mIG9uIHRoZSBmaWxlc3lzdGVtLCBhZGQgb25lIGlmIGl0J3Mg
bWlzc2luZwoJbGRzb2NvbmY9L21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL3RtcC93b3JrL3Fl
bXV4ODYtcG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL3Jvb3Rmcy9ldGMvbGQuc28u
Y29uZgoJaWYgWyAtZSAkbGRzb2NvbmYgXTsgdGhlbgoJCWNwICRsZHNvY29uZiAkbGRzb2NvbmYu
cHJlbGluawoJZmkKCWNhdCAvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvdG1wL3dvcmsvcWVt
dXg4Ni1wb2t5LWxpbnV4L2x0dG5nLW1vZHVsZXMvMi45LjEtcjAvcmVjaXBlLXN5c3Jvb3QvZXRj
L2xkLnNvLmNvbmYgPj4gJGxkc29jb25mCgoJZHluYW1pY19sb2FkZXI9JChsaW51eGxvYWRlcikK
CgkjIHByZWxpbmshCgkvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvdG1wL3dvcmsvcWVtdXg4
Ni1wb2t5LWxpbnV4L2x0dG5nLW1vZHVsZXMvMi45LjEtcjAvcmVjaXBlLXN5c3Jvb3QtbmF0aXZl
L3Vzci9zYmluL3ByZWxpbmsgLS1yb290IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy90bXAv
d29yay9xZW11eDg2LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9yb290ZnMgLWFt
UiAtTiAtYyAvZXRjL3ByZWxpbmsuY29uZiAtLWR5bmFtaWMtbGlua2VyICRkeW5hbWljX2xvYWRl
cgoKCSMgUmVtb3ZlIHRoZSBwcmVsaW5rLmNvbmYgaWYgd2UgaGFkIHRvIGFkZCBpdC4KCWlmIFsg
IiRkdW1teV9wcmVsaW5rX2NvbmYiID0gInRydWUiIF07IHRoZW4KCQlybSAtZiAvbWVkaWEvcmVi
ZWNjYXMveW9jdG8vbHR0bmcvdG1wL3dvcmsvcWVtdXg4Ni1wb2t5LWxpbnV4L2x0dG5nLW1vZHVs
ZXMvMi45LjEtcjAvcm9vdGZzL2V0Yy9wcmVsaW5rLmNvbmYKCWZpCgoJaWYgWyAtZSAkbGRzb2Nv
bmYucHJlbGluayBdOyB0aGVuCgkJbXYgJGxkc29jb25mLnByZWxpbmsgJGxkc29jb25mCgllbHNl
CgkJcm0gJGxkc29jb25mCglmaQoKCXByZV9wcmVsaW5rX3NpemU9YGR1IC1rcyAvbWVkaWEvcmVi
ZWNjYXMveW9jdG8vbHR0bmcvdG1wL3dvcmsvcWVtdXg4Ni1wb2t5LWxpbnV4L2x0dG5nLW1vZHVs
ZXMvMi45LjEtcjAvcm9vdGZzIHwgYXdrICd7c2l6ZSA9ICQxIDsgcHJpbnQgc2l6ZSB9J2AKCWVj
aG8gIlNpemUgYWZ0ZXIgcHJlbGlua2luZyAkcHJlX3ByZWxpbmtfc2l6ZS4iCn0KCnJlbW92ZV9s
aWJ0b29sX2xhKCkgewoJaWYgWyAiMSIgIT0gIjAiIF07IHRoZW4KCQlmaW5kICIvbWVkaWEvcmVi
ZWNjYXMveW9jdG8vbHR0bmcvdG1wL3dvcmsvcWVtdXg4Ni1wb2t5LWxpbnV4L2x0dG5nLW1vZHVs
ZXMvMi45LjEtcjAvaW1hZ2UiIC1pZ25vcmVfcmVhZGRpcl9yYWNlIC1uYW1lICIqLmxhIiAtZGVs
ZXRlCglmaQp9Cgpzc3RhdGVfY3JlYXRlX3BhY2thZ2UoKSB7CglURklMRT1gbWt0ZW1wIC9tZWRp
YS9yZWJlY2Nhcy9idWlsZC9zc3RhdGUtY2FjaGUvSU4vc3N0YXRlOmx0dG5nLW1vZHVsZXM6cWVt
dXg4Ni1wb2t5LWxpbnV4OjIuOS4xOnIwOnFlbXV4ODY6MzpJTlZBTElELlhYWFhYWFhYYAoJIyBO
ZWVkIHRvIGhhbmRsZSBlbXB0eSBkaXJlY3RvcmllcwoJaWYgWyAiJChscyAtQSkiIF07IHRoZW4K
CQlzZXQgK2UKCQl0YXIgLWN6ZiAkVEZJTEUgKgoJCXJldD0kPwoJCWlmIFsgJHJldCAtbmUgMCBd
ICYmIFsgJHJldCAtbmUgMSBdOyB0aGVuCgkJCWV4aXQgMQoJCWZpCgkJc2V0IC1lCgllbHNlCgkJ
dGFyIC1jeiAtLWZpbGU9JFRGSUxFIC0tZmlsZXMtZnJvbT0vZGV2L251bGwKCWZpCgljaG1vZCAw
NjY0ICRURklMRQoJbXYgLWYgJFRGSUxFIC9tZWRpYS9yZWJlY2Nhcy9idWlsZC9zc3RhdGUtY2Fj
aGUvSU4vc3N0YXRlOmx0dG5nLW1vZHVsZXM6cWVtdXg4Ni1wb2t5LWxpbnV4OjIuOS4xOnIwOnFl
bXV4ODY6MzpJTlZBTElECn0KCnNzdGF0ZV91bnBhY2tfcGFja2FnZSgpIHsKCXRhciAteHZ6ZiAv
bWVkaWEvcmViZWNjYXMvYnVpbGQvc3N0YXRlLWNhY2hlL0lOL3NzdGF0ZTpsdHRuZy1tb2R1bGVz
OnFlbXV4ODYtcG9reS1saW51eDoyLjkuMTpyMDpxZW11eDg2OjM6SU5WQUxJRAoJIyB1cGRhdGUg
LnNpZ2luZm8gYXRpbWUgb24gbG9jYWwvTkZTIG1pcnJvcgoJWyAtdyAvbWVkaWEvcmViZWNjYXMv
YnVpbGQvc3N0YXRlLWNhY2hlL0lOL3NzdGF0ZTpsdHRuZy1tb2R1bGVzOnFlbXV4ODYtcG9reS1s
aW51eDoyLjkuMTpyMDpxZW11eDg2OjM6SU5WQUxJRC5zaWdpbmZvIF0gJiYgWyAtaCAvbWVkaWEv
cmViZWNjYXMvYnVpbGQvc3N0YXRlLWNhY2hlL0lOL3NzdGF0ZTpsdHRuZy1tb2R1bGVzOnFlbXV4
ODYtcG9reS1saW51eDoyLjkuMTpyMDpxZW11eDg2OjM6SU5WQUxJRC5zaWdpbmZvIF0gJiYgdG91
Y2ggLWEgL21lZGlhL3JlYmVjY2FzL2J1aWxkL3NzdGF0ZS1jYWNoZS9JTi9zc3RhdGU6bHR0bmct
bW9kdWxlczpxZW11eDg2LXBva3ktbGludXg6Mi45LjE6cjA6cWVtdXg4NjozOklOVkFMSUQuc2ln
aW5mbwoJIyBVc2UgIiEgLXcgfHwiIHRvIHJldHVybiB0cnVlIGZvciByZWFkIG9ubHkgZmlsZXMK
CVsgISAtdyAvbWVkaWEvcmViZWNjYXMvYnVpbGQvc3N0YXRlLWNhY2hlL0lOL3NzdGF0ZTpsdHRu
Zy1tb2R1bGVzOnFlbXV4ODYtcG9reS1saW51eDoyLjkuMTpyMDpxZW11eDg2OjM6SU5WQUxJRCBd
IHx8IHRvdWNoIC0tbm8tZGVyZWZlcmVuY2UgL21lZGlhL3JlYmVjY2FzL2J1aWxkL3NzdGF0ZS1j
YWNoZS9JTi9zc3RhdGU6bHR0bmctbW9kdWxlczpxZW11eDg2LXBva3ktbGludXg6Mi45LjE6cjA6
cWVtdXg4NjozOklOVkFMSUQKCVsgISAtdyAvbWVkaWEvcmViZWNjYXMvYnVpbGQvc3N0YXRlLWNh
Y2hlL0lOL3NzdGF0ZTpsdHRuZy1tb2R1bGVzOnFlbXV4ODYtcG9reS1saW51eDoyLjkuMTpyMDpx
ZW11eDg2OjM6SU5WQUxJRC5zaWcgXSB8fCBbICEgLWUgL21lZGlhL3JlYmVjY2FzL2J1aWxkL3Nz
dGF0ZS1jYWNoZS9JTi9zc3RhdGU6bHR0bmctbW9kdWxlczpxZW11eDg2LXBva3ktbGludXg6Mi45
LjE6cjA6cWVtdXg4NjozOklOVkFMSUQuc2lnIF0gfHwgdG91Y2ggLS1uby1kZXJlZmVyZW5jZSAv
bWVkaWEvcmViZWNjYXMvYnVpbGQvc3N0YXRlLWNhY2hlL0lOL3NzdGF0ZTpsdHRuZy1tb2R1bGVz
OnFlbXV4ODYtcG9reS1saW51eDoyLjkuMTpyMDpxZW11eDg2OjM6SU5WQUxJRC5zaWcKCVsgISAt
dyAvbWVkaWEvcmViZWNjYXMvYnVpbGQvc3N0YXRlLWNhY2hlL0lOL3NzdGF0ZTpsdHRuZy1tb2R1
bGVzOnFlbXV4ODYtcG9reS1saW51eDoyLjkuMTpyMDpxZW11eDg2OjM6SU5WQUxJRC5zaWdpbmZv
IF0gfHwgWyAhIC1lIC9tZWRpYS9yZWJlY2Nhcy9idWlsZC9zc3RhdGUtY2FjaGUvSU4vc3N0YXRl
Omx0dG5nLW1vZHVsZXM6cWVtdXg4Ni1wb2t5LWxpbnV4OjIuOS4xOnIwOnFlbXV4ODY6MzpJTlZB
TElELnNpZ2luZm8gXSB8fCB0b3VjaCAtLW5vLWRlcmVmZXJlbmNlIC9tZWRpYS9yZWJlY2Nhcy9i
dWlsZC9zc3RhdGUtY2FjaGUvSU4vc3N0YXRlOmx0dG5nLW1vZHVsZXM6cWVtdXg4Ni1wb2t5LWxp
bnV4OjIuOS4xOnIwOnFlbXV4ODY6MzpJTlZBTElELnNpZ2luZm8KfQoKc3lzcm9vdF9zdGFnZV9h
bGwoKSB7CglzeXNyb290X3N0YWdlX2RpcnMgL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL3Rt
cC93b3JrL3FlbXV4ODYtcG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL2ltYWdlIC9t
ZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy90bXAvd29yay9xZW11eDg2LXBva3ktbGludXgvbHR0
bmctbW9kdWxlcy8yLjkuMS1yMC9zeXNyb290LWRlc3RkaXIKfQoKc3lzcm9vdF9zdGFnZV9kaXIo
KSB7CglzcmM9IiQxIgoJZGVzdD0iJDIiCgkjIGlmIHRoZSBzcmMgZG9lc24ndCBleGlzdCBkb24n
dCBkbyBhbnl0aGluZwoJaWYgWyAhIC1kICIkc3JjIiBdOyB0aGVuCgkJIHJldHVybgoJZmkKCglt
a2RpciAtcCAiJGRlc3QiCgkoCgkJY2QgJHNyYwoJCWZpbmQgLiAtcHJpbnQwIHwgY3BpbyAtLW51
bGwgLXBkbHUgJGRlc3QKCSkKfQoKc3lzcm9vdF9zdGFnZV9kaXJzKCkgewoJZnJvbT0iJDEiCgl0
bz0iJDIiCgoJZm9yIGRpciBpbiAgICAgIC91c3IvaW5jbHVkZSAgICAgL3Vzci9saWIgICAgIC9s
aWIgICAgIC9saWIgICAgIC91c3Ivc2hhcmUgOyBkbwoJCXN5c3Jvb3Rfc3RhZ2VfZGlyICIkZnJv
bSRkaXIiICIkdG8kZGlyIgoJZG9uZQoKCSMgUmVtb3ZlIGRpcmVjdG9yaWVzIHdlIGRvIG5vdCBj
YXJlIGFib3V0Cglmb3IgZGlyIGluICAgICAgL3Vzci9zaGFyZS9tYW4gICAgIC91c3Ivc2hhcmUv
ZG9jICAgICAvdXNyL3NoYXJlL2luZm8gICAgIC91c3Ivc2hhcmUvbG9jYWxlICAgICAvdXNyL3No
YXJlL2FwcGxpY2F0aW9ucyAgICAgL3Vzci9zaGFyZS9mb250cyAgICAgL3Vzci9zaGFyZS9waXht
YXBzICAgICAvdXNyL2xpYi9sdHRuZy1tb2R1bGVzL3B0ZXN0IDsgZG8KCQlybSAtcmYgIiR0byRk
aXIiCglkb25lCn0KCgoKcHl0aG9uIF9fYW5vbl8xMDFfX21lZGlhX3JlYmVjY2FzX3lvY3RvX3Bv
a3lfbWV0YV9jbGFzc2VzX3NzdGF0ZV9iYmNsYXNzICgpIHsKZGVmIF9fYW5vbl8xMDFfX21lZGlh
X3JlYmVjY2FzX3lvY3RvX3Bva3lfbWV0YV9jbGFzc2VzX3NzdGF0ZV9iYmNsYXNzKGQpOgogICAg
aWYgYmIuZGF0YS5pbmhlcml0c19jbGFzcygnbmF0aXZlJywgZCk6CiAgICAgICAgZC5zZXRWYXIo
J1NTVEFURV9QS0dBUkNIJywgZC5nZXRWYXIoJ0JVSUxEX0FSQ0gnLCBGYWxzZSkpCiAgICBlbGlm
IGJiLmRhdGEuaW5oZXJpdHNfY2xhc3MoJ2Nyb3Nzc2RrJywgZCk6CiAgICAgICAgZC5zZXRWYXIo
J1NTVEFURV9QS0dBUkNIJywgZC5leHBhbmQoIiR7QlVJTERfQVJDSH1fJHtTREtfQVJDSH1fJHtT
REtfT1N9IikpCiAgICBlbGlmIGJiLmRhdGEuaW5oZXJpdHNfY2xhc3MoJ2Nyb3NzJywgZCk6CiAg
ICAgICAgZC5zZXRWYXIoJ1NTVEFURV9QS0dBUkNIJywgZC5leHBhbmQoIiR7QlVJTERfQVJDSH1f
JHtUQVJHRVRfQVJDSH0iKSkKICAgIGVsaWYgYmIuZGF0YS5pbmhlcml0c19jbGFzcygnbmF0aXZl
c2RrJywgZCk6CiAgICAgICAgZC5zZXRWYXIoJ1NTVEFURV9QS0dBUkNIJywgZC5leHBhbmQoIiR7
U0RLX0FSQ0h9XyR7U0RLX09TfSIpKQogICAgZWxpZiBiYi5kYXRhLmluaGVyaXRzX2NsYXNzKCdj
cm9zcy1jYW5hZGlhbicsIGQpOgogICAgICAgIGQuc2V0VmFyKCdTU1RBVEVfUEtHQVJDSCcsIGQu
ZXhwYW5kKCIke1NES19BUkNIfV8ke1BBQ0tBR0VfQVJDSH0iKSkKICAgIGVsaWYgYmIuZGF0YS5p
bmhlcml0c19jbGFzcygnYWxsYXJjaCcsIGQpIGFuZCBkLmdldFZhcigiUEFDS0FHRV9BUkNIIikg
PT0gImFsbCI6CiAgICAgICAgZC5zZXRWYXIoJ1NTVEFURV9QS0dBUkNIJywgImFsbGFyY2giKQog
ICAgZWxzZToKICAgICAgICBkLnNldFZhcignU1NUQVRFX01BTk1BQ0gnLCBkLmV4cGFuZCgiJHtQ
QUNLQUdFX0FSQ0h9IikpCgogICAgaWYgYmIuZGF0YS5pbmhlcml0c19jbGFzcygnbmF0aXZlJywg
ZCkgb3IgYmIuZGF0YS5pbmhlcml0c19jbGFzcygnY3Jvc3NzZGsnLCBkKSBvciBiYi5kYXRhLmlu
aGVyaXRzX2NsYXNzKCdjcm9zcycsIGQpOgogICAgICAgIGQuc2V0VmFyKCdTU1RBVEVfRVhUUkFQ
QVRIJywgIiR7TkFUSVZFTFNCU1RSSU5HfS8iKQogICAgICAgIGQuc2V0VmFyKCdCQl9IQVNIRklM
RU5BTUUnLCAiVHJ1ZSAke1NTVEFURV9QS0dTUEVDfSAke1NTVEFURV9TV1NQRUN9IikKICAgICAg
ICBkLnNldFZhcignU1NUQVRFX0VYVFJBUEFUSFdJTERDQVJEJywgIiovIikKCiAgICB1bmlxdWVf
dGFza3MgPSBzb3J0ZWQoc2V0KChkLmdldFZhcignU1NUQVRFVEFTS1MnKSBvciAiIikuc3BsaXQo
KSkpCiAgICBkLnNldFZhcignU1NUQVRFVEFTS1MnLCAiICIuam9pbih1bmlxdWVfdGFza3MpKQog
ICAgZm9yIHRhc2sgaW4gdW5pcXVlX3Rhc2tzOgogICAgICAgIGQucHJlcGVuZFZhckZsYWcodGFz
aywgJ3ByZWZ1bmNzJywgInNzdGF0ZV90YXNrX3ByZWZ1bmMgIikKICAgICAgICBkLmFwcGVuZFZh
ckZsYWcodGFzaywgJ3Bvc3RmdW5jcycsICIgc3N0YXRlX3Rhc2tfcG9zdGZ1bmMiKQp9CgoKcHl0
aG9uIF9fYW5vbl8xMzU2X19tZWRpYV9yZWJlY2Nhc195b2N0b19wb2t5X21ldGFfY2xhc3Nlc19p
bnNhbmVfYmJjbGFzcyAoKSB7CmRlZiBfX2Fub25fMTM1Nl9fbWVkaWFfcmViZWNjYXNfeW9jdG9f
cG9reV9tZXRhX2NsYXNzZXNfaW5zYW5lX2JiY2xhc3MoZCk6CiAgICB0ZXN0cyA9IGQuZ2V0VmFy
KCdBTExfUUEnKS5zcGxpdCgpCiAgICBpZiAiZGVza3RvcCIgaW4gdGVzdHM6CiAgICAgICAgZC5h
cHBlbmRWYXIoIlBBQ0tBR0VfREVQRU5EUyIsICIgZGVza3RvcC1maWxlLXV0aWxzLW5hdGl2ZSIp
CgogICAgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAgICAjIENoZWNrIHZhcmlvdXMgdmFyaWFibGVzCiAg
ICAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMKCiAgICAjIENoZWNraW5nICR7RklMRVNFWFRSQVBBVEhTfQog
ICAgZXh0cmFwYXRocyA9IChkLmdldFZhcigiRklMRVNFWFRSQVBBVEhTIikgb3IgIiIpCiAgICBp
ZiAnX19kZWZhdWx0JyBub3QgaW4gZXh0cmFwYXRocy5zcGxpdCgiOiIpOgogICAgICAgIG1zZyA9
ICJGSUxFU0VYVFJBUEFUSFMtdmFyaWFibGUsIG11c3QgYWx3YXlzIHVzZSBfcHJlcGVuZCAob3Ig
X2FwcGVuZClcbiIKICAgICAgICBtc2cgKz0gInR5cGUgb2YgYXNzaWdubWVudCwgYW5kIGRvbid0
IGZvcmdldCB0aGUgY29sb24uXG4iCiAgICAgICAgbXNnICs9ICJQbGVhc2UgYXNzaWduIGl0IHdp
dGggdGhlIGZvcm1hdCBvZjpcbiIKICAgICAgICBtc2cgKz0gIiAgRklMRVNFWFRSQVBBVEhTX2Fw
cGVuZCA6PSBcIjoke1RISVNESVJ9L1lvdXJfRmlsZXNfUGF0aFwiIG9yXG4iCiAgICAgICAgbXNn
ICs9ICIgIEZJTEVTRVhUUkFQQVRIU19wcmVwZW5kIDo9IFwiJHtUSElTRElSfS9Zb3VyX0ZpbGVz
X1BhdGg6XCJcbiIKICAgICAgICBtc2cgKz0gImluIHlvdXIgYmJhcHBlbmQgZmlsZVxuXG4iCiAg
ICAgICAgbXNnICs9ICJZb3VyIGluY29ycmVjdCBhc3NpZ25tZW50IGlzOlxuIgogICAgICAgIG1z
ZyArPSAiJXNcbiIgJSBleHRyYXBhdGhzCiAgICAgICAgYmIud2Fybihtc2cpCgogICAgb3ZlcnJp
ZGVzID0gZC5nZXRWYXIoJ09WRVJSSURFUycpLnNwbGl0KCc6JykKICAgIHBuID0gZC5nZXRWYXIo
J1BOJykKICAgIGlmIHBuIGluIG92ZXJyaWRlczoKICAgICAgICBtc2cgPSAnUmVjaXBlICVzIGhh
cyBQTiBvZiAiJXMiIHdoaWNoIGlzIGluIE9WRVJSSURFUywgdGhpcyBjYW4gcmVzdWx0IGluIHVu
ZXhwZWN0ZWQgYmVoYXZpb3VyLicgJSAoZC5nZXRWYXIoIkZJTEUiKSwgcG4pCiAgICAgICAgcGFj
a2FnZV9xYV9oYW5kbGVfZXJyb3IoInBuLW92ZXJyaWRlcyIsIG1zZywgZCkKCiAgICBpc3N1ZXMg
PSBbXQogICAgaWYgKGQuZ2V0VmFyKCdQQUNLQUdFUycpIG9yICIiKS5zcGxpdCgpOgogICAgICAg
IGZvciBkZXAgaW4gKGQuZ2V0VmFyKCdRQURFUEVORFMnKSBvciAiIikuc3BsaXQoKToKICAgICAg
ICAgICAgZC5hcHBlbmRWYXJGbGFnKCdkb19wYWNrYWdlX3FhJywgJ2RlcGVuZHMnLCAiICVzOmRv
X3BvcHVsYXRlX3N5c3Jvb3QiICUgZGVwKQogICAgICAgIGZvciB2YXIgaW4gJ1JERVBFTkRTJywg
J1JSRUNPTU1FTkRTJywgJ1JTVUdHRVNUUycsICdSQ09ORkxJQ1RTJywgJ1JQUk9WSURFUycsICdS
UkVQTEFDRVMnLCAnRklMRVMnLCAncGtnX3ByZWluc3QnLCAncGtnX3Bvc3RpbnN0JywgJ3BrZ19w
cmVybScsICdwa2dfcG9zdHJtJywgJ0FMTE9XX0VNUFRZJzoKICAgICAgICAgICAgaWYgZC5nZXRW
YXIodmFyLCBGYWxzZSk6CiAgICAgICAgICAgICAgICBpc3N1ZXMuYXBwZW5kKHZhcikKCiAgICAg
ICAgZmFrZXJvb3RfdGVzdHMgPSBkLmdldFZhcignRkFLRVJPT1RfUUEnKS5zcGxpdCgpCiAgICAg
ICAgaWYgc2V0KHRlc3RzKSAmIHNldChmYWtlcm9vdF90ZXN0cyk6CiAgICAgICAgICAgIGQuc2V0
VmFyRmxhZygnZG9fcGFja2FnZV9xYScsICdmYWtlcm9vdCcsICcxJykKICAgICAgICAgICAgZC5h
cHBlbmRWYXJGbGFnKCdkb19wYWNrYWdlX3FhJywgJ2RlcGVuZHMnLCAnIHZpcnR1YWwvZmFrZXJv
b3QtbmF0aXZlOmRvX3BvcHVsYXRlX3N5c3Jvb3QnKQogICAgZWxzZToKICAgICAgICBkLnNldFZh
ckZsYWcoJ2RvX3BhY2thZ2VfcWEnLCAncmRlcHRhc2snLCAnJykKICAgIGZvciBpIGluIGlzc3Vl
czoKICAgICAgICBwYWNrYWdlX3FhX2hhbmRsZV9lcnJvcigicGtndmFyY2hlY2siLCAiJXM6IFZh
cmlhYmxlICVzIGlzIHNldCBhcyBub3QgYmVpbmcgcGFja2FnZSBzcGVjaWZpYywgcGxlYXNlIGZp
eCB0aGlzLiIgJSAoZC5nZXRWYXIoIkZJTEUiKSwgaSksIGQpCiAgICBxYV9zYW5lID0gZC5nZXRW
YXIoIlFBX1NBTkUiKQogICAgaWYgbm90IHFhX3NhbmU6CiAgICAgICAgYmIuZmF0YWwoIkZhdGFs
IFFBIGVycm9ycyBmb3VuZCwgZmFpbGluZyB0YXNrLiIpCn0KCgpweXRob24gX19hbm9uXzE2N19f
bWVkaWFfcmViZWNjYXNfeW9jdG9fcG9reV9tZXRhX2NsYXNzZXNfYmFzZV9iYmNsYXNzICgpIHsK
ZGVmIF9fYW5vbl8xNjdfX21lZGlhX3JlYmVjY2FzX3lvY3RvX3Bva3lfbWV0YV9jbGFzc2VzX2Jh
c2VfYmJjbGFzcyhkKToKICAgIGlmIGQuZ2V0VmFyKCdTJykgIT0gZC5nZXRWYXIoJ1dPUktESVIn
KToKICAgICAgICBkLnNldFZhckZsYWcoJ2RvX3VucGFjaycsICdjbGVhbmRpcnMnLCAnJHtTfScp
CiAgICBlbHNlOgogICAgICAgIGQuc2V0VmFyRmxhZygnZG9fdW5wYWNrJywgJ2NsZWFuZGlycycs
IG9zLnBhdGguam9pbignJHtTfScsICdwYXRjaGVzJykpCn0KCgpweXRob24gX19hbm9uXzE5X19t
ZWRpYV9yZWJlY2Nhc195b2N0b19wb2t5X21ldGFfY2xhc3Nlc19tb2R1bGVfYmJjbGFzcyAoKSB7
CmRlZiBfX2Fub25fMTlfX21lZGlhX3JlYmVjY2FzX3lvY3RvX3Bva3lfbWV0YV9jbGFzc2VzX21v
ZHVsZV9iYmNsYXNzKGQpOgogICAgZGVwZW5kcyA9IGQuZ2V0VmFyKCdERVBFTkRTJykKICAgIGV4
dHJhX3N5bWJvbHMgPSBbXQogICAgZm9yIGRlcCBpbiBkZXBlbmRzLnNwbGl0KCk6CiAgICAgICAg
aWYgZGVwLnN0YXJ0c3dpdGgoImtlcm5lbC1tb2R1bGUtIik6CiAgICAgICAgICAgIGV4dHJhX3N5
bWJvbHMuYXBwZW5kKCIke1NUQUdJTkdfSU5DRElSfS8iICsgZGVwICsgIi9Nb2R1bGUuc3ltdmVy
cyIpCiAgICBkLnNldFZhcignS0JVSUxEX0VYVFJBX1NZTUJPTFMnLCAiICIuam9pbihleHRyYV9z
eW1ib2xzKSkKfQoKCnB5dGhvbiBfX2Fub25fMjBfX21lZGlhX3JlYmVjY2FzX3lvY3RvX3Bva3lf
bWV0YV9jbGFzc2VzX2JsYWNrbGlzdF9iYmNsYXNzICgpIHsKZGVmIF9fYW5vbl8yMF9fbWVkaWFf
cmViZWNjYXNfeW9jdG9fcG9reV9tZXRhX2NsYXNzZXNfYmxhY2tsaXN0X2JiY2xhc3MoZCk6CiAg
ICBibGFja2xpc3QgPSBkLmdldFZhckZsYWcoJ1BOQkxBQ0tMSVNUJywgZC5nZXRWYXIoJ1BOJykp
CgogICAgaWYgYmxhY2tsaXN0OgogICAgICAgIHJhaXNlIGJiLnBhcnNlLlNraXBQYWNrYWdlKCJS
ZWNpcGUgaXMgYmxhY2tsaXN0ZWQ6ICVzIiAlIChibGFja2xpc3QpKQp9CgoKcHl0aG9uIF9fYW5v
bl8yNTBfX21lZGlhX3JlYmVjY2FzX3lvY3RvX3Bva3lfbWV0YV9jbGFzc2VzX3BhY2thZ2VfYmJj
bGFzcyAoKSB7CmRlZiBfX2Fub25fMjUwX19tZWRpYV9yZWJlY2Nhc195b2N0b19wb2t5X21ldGFf
Y2xhc3Nlc19wYWNrYWdlX2JiY2xhc3MoZCk6CiAgICBpZiBkLmdldFZhcignUEFDS0FHRVMnKSAh
PSAnJzoKICAgICAgICBkZXBzID0gIiIKICAgICAgICBmb3IgZGVwIGluIChkLmdldFZhcignUEFD
S0FHRV9ERVBFTkRTJykgb3IgIiIpLnNwbGl0KCk6CiAgICAgICAgICAgIGRlcHMgKz0gIiAlczpk
b19wb3B1bGF0ZV9zeXNyb290IiAlIGRlcAogICAgICAgIGQuYXBwZW5kVmFyRmxhZygnZG9fcGFj
a2FnZScsICdkZXBlbmRzJywgZGVwcykKCiAgICAgICAgIyBzaGxpYnMgcmVxdWlyZXMgYW55IERF
UEVORFMgdG8gaGF2ZSBhbHJlYWR5IHBhY2thZ2VkIGZvciB0aGUgKi5saXN0IGZpbGVzCiAgICAg
ICAgZC5hcHBlbmRWYXJGbGFnKCdkb19wYWNrYWdlJywgJ2RlcHRhc2snLCAiIGRvX3BhY2thZ2Vk
YXRhIikKfQoKCnB5dGhvbiBfX2Fub25fMjVfX21lZGlhX3JlYmVjY2FzX3lvY3RvX3Bva3lfbWV0
YV9jbGFzc2VzX2RlYmlhbl9iYmNsYXNzICgpIHsKZGVmIF9fYW5vbl8yNV9fbWVkaWFfcmViZWNj
YXNfeW9jdG9fcG9reV9tZXRhX2NsYXNzZXNfZGViaWFuX2JiY2xhc3MoZCk6CiAgICBpZiBub3Qg
ZC5nZXRWYXIoIlBBQ0tBR0VTIik6CiAgICAgICAgZC5zZXRWYXIoIkRFQklBTlJERVAiLCAiIikK
fQoKCnB5dGhvbiBfX2Fub25fMjVfX21lZGlhX3JlYmVjY2FzX3lvY3RvX3Bva3lfbWV0YV9jbGFz
c2VzX3BhdGNoX2JiY2xhc3MgKCkgewpkZWYgX19hbm9uXzI1X19tZWRpYV9yZWJlY2Nhc195b2N0
b19wb2t5X21ldGFfY2xhc3Nlc19wYXRjaF9iYmNsYXNzKGQpOgogICAgaWYgZC5nZXRWYXIoJ1BB
VENIVE9PTCcpID09ICdnaXQnIGFuZCBkLmdldFZhcignUEFUQ0hfQ09NTUlUX0ZVTkNUSU9OUycp
ID09ICcxJzoKICAgICAgICBleHRyYXRhc2tzID0gYmIuYnVpbGQudGFza3NiZXR3ZWVuKCdkb191
bnBhY2snLCAnZG9fcGF0Y2gnLCBkKQogICAgICAgIHRyeToKICAgICAgICAgICAgZXh0cmF0YXNr
cy5yZW1vdmUoJ2RvX3VucGFjaycpCiAgICAgICAgZXhjZXB0IFZhbHVlRXJyb3I6CiAgICAgICAg
ICAgICMgRm9yIHNvbWUgcmVjaXBlcyBkb191bnBhY2sgZG9lc24ndCBleGlzdCwgaWdub3JlIGl0
CiAgICAgICAgICAgIHBhc3MKCiAgICAgICAgZC5hcHBlbmRWYXJGbGFnKCdkb19wYXRjaCcsICdw
cmVmdW5jcycsICcgcGF0Y2hfdGFza19wYXRjaF9wcmVmdW5jJykKICAgICAgICBmb3IgdGFzayBp
biBleHRyYXRhc2tzOgogICAgICAgICAgICBkLmFwcGVuZFZhckZsYWcodGFzaywgJ3Bvc3RmdW5j
cycsICcgcGF0Y2hfdGFza19wb3N0ZnVuYycpCn0KCgpweXRob24gX19hbm9uXzM1X19tZWRpYV9y
ZWJlY2Nhc195b2N0b19wb2t5X21ldGFfY2xhc3Nlc19kZXZzaGVsbF9iYmNsYXNzICgpIHsKZGVm
IF9fYW5vbl8zNV9fbWVkaWFfcmViZWNjYXNfeW9jdG9fcG9reV9tZXRhX2NsYXNzZXNfZGV2c2hl
bGxfYmJjbGFzcyhkKToKICAgIGlmIGQuZ2V0VmFyRmxhZygiZG9fZGV2c2hlbGwiLCAiZmFrZXJv
b3QiKToKICAgICAgICMgV2UgbmVlZCB0byBzaWduYWwgb3VyIGNvZGUgdGhhdCB3ZSB3YW50IGZh
a2Vyb290IGhvd2V2ZXIgd2UKICAgICAgICMgY2FuJ3QgbWFuaXB1bGF0ZSB0aGUgZW52aXJvbm1l
bnQgYW5kIHZhcmlhYmxlcyBoZXJlIHlldCAoc2VlIFlPQ1RPICM0Nzk1KQogICAgICAgZC5zZXRW
YXJGbGFnKCJkb19kZXZzaGVsbCIsICJtYW51YWxmYWtlcm9vdCIsICIxIikKICAgICAgIGQuZGVs
VmFyRmxhZygiZG9fZGV2c2hlbGwiLCAiZmFrZXJvb3QiKQp9CgoKcHl0aG9uIF9fYW5vbl82Nzlf
X21lZGlhX3JlYmVjY2FzX3lvY3RvX3Bva3lfbWV0YV9jbGFzc2VzX2Jhc2VfYmJjbGFzcyAoKSB7
CmRlZiBfX2Fub25fNjc5X19tZWRpYV9yZWJlY2Nhc195b2N0b19wb2t5X21ldGFfY2xhc3Nlc19i
YXNlX2JiY2xhc3MoZCk6CiAgICBpbXBvcnQgc3RyaW5nLCByZQoKICAgICMgSGFuZGxlIFBBQ0tB
R0VDT05GSUcKICAgICMKICAgICMgVGhlc2UgdGFrZSB0aGUgZm9ybToKICAgICMKICAgICMgUEFD
S0FHRUNPTkZJRyA/Pz0gIjxkZWZhdWx0IG9wdGlvbnM+IgogICAgIyBQQUNLQUdFQ09ORklHW2Zv
b10gPSAiLS1lbmFibGUtZm9vLC0tZGlzYWJsZS1mb28sZm9vX2RlcGVuZHMsZm9vX3J1bnRpbWVf
ZGVwZW5kcyIKICAgIHBrZ2NvbmZpZ2ZsYWdzID0gZC5nZXRWYXJGbGFncygiUEFDS0FHRUNPTkZJ
RyIpIG9yIHt9CiAgICBpZiBwa2djb25maWdmbGFnczoKICAgICAgICBwa2djb25maWcgPSAoZC5n
ZXRWYXIoJ1BBQ0tBR0VDT05GSUcnKSBvciAiIikuc3BsaXQoKQogICAgICAgIHBuID0gZC5nZXRW
YXIoIlBOIikKCiAgICAgICAgbWxwcmVmaXggPSBkLmdldFZhcigiTUxQUkVGSVgiKQoKICAgICAg
ICBkZWYgZXhwYW5kRmlsdGVyKGFwcGVuZHMsIGV4dGVuc2lvbiwgcHJlZml4KToKICAgICAgICAg
ICAgYXBwZW5kcyA9IGJiLnV0aWxzLmV4cGxvZGVfZGVwcyhkLmV4cGFuZCgiICIuam9pbihhcHBl
bmRzKSkpCiAgICAgICAgICAgIG5ld2FwcGVuZHMgPSBbXQogICAgICAgICAgICBmb3IgYSBpbiBh
cHBlbmRzOgogICAgICAgICAgICAgICAgaWYgYS5lbmRzd2l0aCgiLW5hdGl2ZSIpIG9yICgiLWNy
b3NzLSIgaW4gYSk6CiAgICAgICAgICAgICAgICAgICAgbmV3YXBwZW5kcy5hcHBlbmQoYSkKICAg
ICAgICAgICAgICAgIGVsaWYgYS5zdGFydHN3aXRoKCJ2aXJ0dWFsLyIpOgogICAgICAgICAgICAg
ICAgICAgIHN1YnMgPSBhLnNwbGl0KCIvIiwgMSlbMV0KICAgICAgICAgICAgICAgICAgICBpZiBz
dWJzLnN0YXJ0c3dpdGgocHJlZml4KToKICAgICAgICAgICAgICAgICAgICAgICAgbmV3YXBwZW5k
cy5hcHBlbmQoYSArIGV4dGVuc2lvbikKICAgICAgICAgICAgICAgICAgICBlbHNlOgogICAgICAg
ICAgICAgICAgICAgICAgICBuZXdhcHBlbmRzLmFwcGVuZCgidmlydHVhbC8iICsgcHJlZml4ICsg
c3VicyArIGV4dGVuc2lvbikKICAgICAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAg
ICAgaWYgYS5zdGFydHN3aXRoKHByZWZpeCk6CiAgICAgICAgICAgICAgICAgICAgICAgIG5ld2Fw
cGVuZHMuYXBwZW5kKGEgKyBleHRlbnNpb24pCiAgICAgICAgICAgICAgICAgICAgZWxzZToKICAg
ICAgICAgICAgICAgICAgICAgICAgbmV3YXBwZW5kcy5hcHBlbmQocHJlZml4ICsgYSArIGV4dGVu
c2lvbikKICAgICAgICAgICAgcmV0dXJuIG5ld2FwcGVuZHMKCiAgICAgICAgZGVmIGFwcGVuZFZh
cih2YXJuYW1lLCBhcHBlbmRzKToKICAgICAgICAgICAgaWYgbm90IGFwcGVuZHM6CiAgICAgICAg
ICAgICAgICByZXR1cm4KICAgICAgICAgICAgaWYgdmFybmFtZS5maW5kKCJERVBFTkRTIikgIT0g
LTE6CiAgICAgICAgICAgICAgICBpZiBiYi5kYXRhLmluaGVyaXRzX2NsYXNzKCduYXRpdmVzZGsn
LCBkKSBvciBiYi5kYXRhLmluaGVyaXRzX2NsYXNzKCdjcm9zcy1jYW5hZGlhbicsIGQpIDoKICAg
ICAgICAgICAgICAgICAgICBhcHBlbmRzID0gZXhwYW5kRmlsdGVyKGFwcGVuZHMsICIiLCAibmF0
aXZlc2RrLSIpCiAgICAgICAgICAgICAgICBlbGlmIGJiLmRhdGEuaW5oZXJpdHNfY2xhc3MoJ25h
dGl2ZScsIGQpOgogICAgICAgICAgICAgICAgICAgIGFwcGVuZHMgPSBleHBhbmRGaWx0ZXIoYXBw
ZW5kcywgIi1uYXRpdmUiLCAiIikKICAgICAgICAgICAgICAgIGVsaWYgbWxwcmVmaXg6CiAgICAg
ICAgICAgICAgICAgICAgYXBwZW5kcyA9IGV4cGFuZEZpbHRlcihhcHBlbmRzLCAiIiwgbWxwcmVm
aXgpCiAgICAgICAgICAgIHZhcm5hbWUgPSBkLmV4cGFuZCh2YXJuYW1lKQogICAgICAgICAgICBk
LmFwcGVuZFZhcih2YXJuYW1lLCAiICIgKyAiICIuam9pbihhcHBlbmRzKSkKCiAgICAgICAgZXh0
cmFkZXBzID0gW10KICAgICAgICBleHRyYXJkZXBzID0gW10KICAgICAgICBleHRyYWNvbmYgPSBb
XQogICAgICAgIGZvciBmbGFnLCBmbGFndmFsIGluIHNvcnRlZChwa2djb25maWdmbGFncy5pdGVt
cygpKToKICAgICAgICAgICAgaXRlbXMgPSBmbGFndmFsLnNwbGl0KCIsIikKICAgICAgICAgICAg
bnVtID0gbGVuKGl0ZW1zKQogICAgICAgICAgICBpZiBudW0gPiA0OgogICAgICAgICAgICAgICAg
YmIuZXJyb3IoIiVzOiBQQUNLQUdFQ09ORklHWyVzXSBPbmx5IGVuYWJsZSxkaXNhYmxlLGRlcGVu
ZCxyZGVwZW5kIGNhbiBiZSBzcGVjaWZpZWQhIgogICAgICAgICAgICAgICAgICAgICUgKGQuZ2V0
VmFyKCdQTicpLCBmbGFnKSkKCiAgICAgICAgICAgIGlmIGZsYWcgaW4gcGtnY29uZmlnOgogICAg
ICAgICAgICAgICAgaWYgbnVtID49IDMgYW5kIGl0ZW1zWzJdOgogICAgICAgICAgICAgICAgICAg
IGV4dHJhZGVwcy5hcHBlbmQoaXRlbXNbMl0pCiAgICAgICAgICAgICAgICBpZiBudW0gPj0gNCBh
bmQgaXRlbXNbM106CiAgICAgICAgICAgICAgICAgICAgZXh0cmFyZGVwcy5hcHBlbmQoaXRlbXNb
M10pCiAgICAgICAgICAgICAgICBpZiBudW0gPj0gMSBhbmQgaXRlbXNbMF06CiAgICAgICAgICAg
ICAgICAgICAgZXh0cmFjb25mLmFwcGVuZChpdGVtc1swXSkKICAgICAgICAgICAgZWxpZiBudW0g
Pj0gMiBhbmQgaXRlbXNbMV06CiAgICAgICAgICAgICAgICAgICAgZXh0cmFjb25mLmFwcGVuZChp
dGVtc1sxXSkKICAgICAgICBhcHBlbmRWYXIoJ0RFUEVORFMnLCBleHRyYWRlcHMpCiAgICAgICAg
YXBwZW5kVmFyKCdSREVQRU5EU18ke1BOfScsIGV4dHJhcmRlcHMpCiAgICAgICAgYXBwZW5kVmFy
KCdQQUNLQUdFQ09ORklHX0NPTkZBUkdTJywgZXh0cmFjb25mKQoKICAgIHBuID0gZC5nZXRWYXIo
J1BOJykKICAgIGxpY2Vuc2UgPSBkLmdldFZhcignTElDRU5TRScpCiAgICBpZiBsaWNlbnNlID09
ICJJTlZBTElEIjoKICAgICAgICBiYi5mYXRhbCgnVGhpcyByZWNpcGUgZG9lcyBub3QgaGF2ZSB0
aGUgTElDRU5TRSBmaWVsZCBzZXQgKCVzKScgJSBwbikKCiAgICBpZiBiYi5kYXRhLmluaGVyaXRz
X2NsYXNzKCdsaWNlbnNlJywgZCk6CiAgICAgICAgY2hlY2tfbGljZW5zZV9mb3JtYXQoZCkKICAg
ICAgICB1bm1hdGNoZWRfbGljZW5zZV9mbGFnID0gY2hlY2tfbGljZW5zZV9mbGFncyhkKQogICAg
ICAgIGlmIHVubWF0Y2hlZF9saWNlbnNlX2ZsYWc6CiAgICAgICAgICAgIGJiLmRlYnVnKDEsICJT
a2lwcGluZyAlcyBiZWNhdXNlIGl0IGhhcyBhIHJlc3RyaWN0ZWQgbGljZW5zZSBub3QiCiAgICAg
ICAgICAgICAgICAgIiB3aGl0ZWxpc3RlZCBpbiBMSUNFTlNFX0ZMQUdTX1dISVRFTElTVCIgJSBw
bikKICAgICAgICAgICAgcmFpc2UgYmIucGFyc2UuU2tpcFBhY2thZ2UoImJlY2F1c2UgaXQgaGFz
IGEgcmVzdHJpY3RlZCBsaWNlbnNlIG5vdCIKICAgICAgICAgICAgICAgICAiIHdoaXRlbGlzdGVk
IGluIExJQ0VOU0VfRkxBR1NfV0hJVEVMSVNUIikKCiAgICAjIElmIHdlJ3JlIGJ1aWxkaW5nIGEg
dGFyZ2V0IHBhY2thZ2Ugd2UgbmVlZCB0byB1c2UgZmFrZXJvb3QgKHBzZXVkbykKICAgICMgaW4g
b3JkZXIgdG8gY2FwdHVyZSBwZXJtaXNzaW9ucywgb3duZXJzLCBncm91cHMgYW5kIHNwZWNpYWwg
ZmlsZXMKICAgIGlmIG5vdCBiYi5kYXRhLmluaGVyaXRzX2NsYXNzKCduYXRpdmUnLCBkKSBhbmQg
bm90IGJiLmRhdGEuaW5oZXJpdHNfY2xhc3MoJ2Nyb3NzJywgZCk6CiAgICAgICAgZC5zZXRWYXJG
bGFnKCdkb191bnBhY2snLCAndW1hc2snLCAnMDIyJykKICAgICAgICBkLnNldFZhckZsYWcoJ2Rv
X2NvbmZpZ3VyZScsICd1bWFzaycsICcwMjInKQogICAgICAgIGQuc2V0VmFyRmxhZygnZG9fY29t
cGlsZScsICd1bWFzaycsICcwMjInKQogICAgICAgIGQuYXBwZW5kVmFyRmxhZygnZG9faW5zdGFs
bCcsICdkZXBlbmRzJywgJyB2aXJ0dWFsL2Zha2Vyb290LW5hdGl2ZTpkb19wb3B1bGF0ZV9zeXNy
b290JykKICAgICAgICBkLnNldFZhckZsYWcoJ2RvX2luc3RhbGwnLCAnZmFrZXJvb3QnLCAnMScp
CiAgICAgICAgZC5zZXRWYXJGbGFnKCdkb19pbnN0YWxsJywgJ3VtYXNrJywgJzAyMicpCiAgICAg
ICAgZC5hcHBlbmRWYXJGbGFnKCdkb19wYWNrYWdlJywgJ2RlcGVuZHMnLCAnIHZpcnR1YWwvZmFr
ZXJvb3QtbmF0aXZlOmRvX3BvcHVsYXRlX3N5c3Jvb3QnKQogICAgICAgIGQuc2V0VmFyRmxhZygn
ZG9fcGFja2FnZScsICdmYWtlcm9vdCcsICcxJykKICAgICAgICBkLnNldFZhckZsYWcoJ2RvX3Bh
Y2thZ2UnLCAndW1hc2snLCAnMDIyJykKICAgICAgICBkLnNldFZhckZsYWcoJ2RvX3BhY2thZ2Vf
c2V0c2NlbmUnLCAnZmFrZXJvb3QnLCAnMScpCiAgICAgICAgZC5hcHBlbmRWYXJGbGFnKCdkb19w
YWNrYWdlX3NldHNjZW5lJywgJ2RlcGVuZHMnLCAnIHZpcnR1YWwvZmFrZXJvb3QtbmF0aXZlOmRv
X3BvcHVsYXRlX3N5c3Jvb3QnKQogICAgICAgIGQuc2V0VmFyRmxhZygnZG9fZGV2c2hlbGwnLCAn
ZmFrZXJvb3QnLCAnMScpCiAgICAgICAgZC5hcHBlbmRWYXJGbGFnKCdkb19kZXZzaGVsbCcsICdk
ZXBlbmRzJywgJyB2aXJ0dWFsL2Zha2Vyb290LW5hdGl2ZTpkb19wb3B1bGF0ZV9zeXNyb290JykK
CiAgICBuZWVkX21hY2hpbmUgPSBkLmdldFZhcignQ09NUEFUSUJMRV9NQUNISU5FJykKICAgIGlm
IG5lZWRfbWFjaGluZToKICAgICAgICBpbXBvcnQgcmUKICAgICAgICBjb21wYXRfbWFjaGluZXMg
PSAoZC5nZXRWYXIoJ01BQ0hJTkVPVkVSUklERVMnKSBvciAiIikuc3BsaXQoIjoiKQogICAgICAg
IGZvciBtIGluIGNvbXBhdF9tYWNoaW5lczoKICAgICAgICAgICAgaWYgcmUubWF0Y2gobmVlZF9t
YWNoaW5lLCBtKToKICAgICAgICAgICAgICAgIGJyZWFrCiAgICAgICAgZWxzZToKICAgICAgICAg
ICAgcmFpc2UgYmIucGFyc2UuU2tpcFBhY2thZ2UoImluY29tcGF0aWJsZSB3aXRoIG1hY2hpbmUg
JXMgKG5vdCBpbiBDT01QQVRJQkxFX01BQ0hJTkUpIiAlIGQuZ2V0VmFyKCdNQUNISU5FJykpCgog
ICAgc291cmNlX21pcnJvcl9mZXRjaCA9IGQuZ2V0VmFyKCdTT1VSQ0VfTUlSUk9SX0ZFVENIJywg
RmFsc2UpCiAgICBpZiBub3Qgc291cmNlX21pcnJvcl9mZXRjaDoKICAgICAgICBuZWVkX2hvc3Qg
PSBkLmdldFZhcignQ09NUEFUSUJMRV9IT1NUJykKICAgICAgICBpZiBuZWVkX2hvc3Q6CiAgICAg
ICAgICAgIGltcG9ydCByZQogICAgICAgICAgICB0aGlzX2hvc3QgPSBkLmdldFZhcignSE9TVF9T
WVMnKQogICAgICAgICAgICBpZiBub3QgcmUubWF0Y2gobmVlZF9ob3N0LCB0aGlzX2hvc3QpOgog
ICAgICAgICAgICAgICAgcmFpc2UgYmIucGFyc2UuU2tpcFBhY2thZ2UoImluY29tcGF0aWJsZSB3
aXRoIGhvc3QgJXMgKG5vdCBpbiBDT01QQVRJQkxFX0hPU1QpIiAlIHRoaXNfaG9zdCkKCiAgICAg
ICAgYmFkX2xpY2Vuc2VzID0gKGQuZ2V0VmFyKCdJTkNPTVBBVElCTEVfTElDRU5TRScpIG9yICIi
KS5zcGxpdCgpCgogICAgICAgIGNoZWNrX2xpY2Vuc2UgPSBGYWxzZSBpZiBwbi5zdGFydHN3aXRo
KCJuYXRpdmVzZGstIikgZWxzZSBUcnVlCiAgICAgICAgZm9yIHQgaW4gWyItbmF0aXZlIiwgIi1j
cm9zcy0ke1RBUkdFVF9BUkNIfSIsICItY3Jvc3MtaW5pdGlhbC0ke1RBUkdFVF9BUkNIfSIsCiAg
ICAgICAgICAgICAgIi1jcm9zc3Nkay0ke1NES19TWVN9IiwgIi1jcm9zc3Nkay1pbml0aWFsLSR7
U0RLX1NZU30iLAogICAgICAgICAgICAgICItY3Jvc3MtY2FuYWRpYW4tJHtUUkFOU0xBVEVEX1RB
UkdFVF9BUkNIfSJdOgogICAgICAgICAgICBpZiBwbi5lbmRzd2l0aChkLmV4cGFuZCh0KSk6CiAg
ICAgICAgICAgICAgICBjaGVja19saWNlbnNlID0gRmFsc2UKICAgICAgICBpZiBwbi5zdGFydHN3
aXRoKCJnY2Mtc291cmNlLSIpOgogICAgICAgICAgICBjaGVja19saWNlbnNlID0gRmFsc2UKCiAg
ICAgICAgaWYgY2hlY2tfbGljZW5zZSBhbmQgYmFkX2xpY2Vuc2VzOgogICAgICAgICAgICBiYWRf
bGljZW5zZXMgPSBleHBhbmRfd2lsZGNhcmRfbGljZW5zZXMoZCwgYmFkX2xpY2Vuc2VzKQoKICAg
ICAgICAgICAgd2hpdGVsaXN0ID0gW10KICAgICAgICAgICAgaW5jb21wYXR3bCA9IFtdCiAgICAg
ICAgICAgIGZvciBsaWMgaW4gYmFkX2xpY2Vuc2VzOgogICAgICAgICAgICAgICAgc3BkeF9saWNl
bnNlID0gcmV0dXJuX3NwZHgoZCwgbGljKQogICAgICAgICAgICAgICAgZm9yIHcgaW4gWyJMR1BM
djJfV0hJVEVMSVNUXyIsICJXSElURUxJU1RfIl06CiAgICAgICAgICAgICAgICAgICAgd2hpdGVs
aXN0LmV4dGVuZCgoZC5nZXRWYXIodyArIGxpYykgb3IgIiIpLnNwbGl0KCkpCiAgICAgICAgICAg
ICAgICAgICAgaWYgc3BkeF9saWNlbnNlOgogICAgICAgICAgICAgICAgICAgICAgICB3aGl0ZWxp
c3QuZXh0ZW5kKChkLmdldFZhcih3ICsgc3BkeF9saWNlbnNlKSBvciAiIikuc3BsaXQoKSkKICAg
ICAgICAgICAgICAgICAgICAnJycKICAgICAgICAgICAgICAgICAgICBXZSBuZWVkIHRvIHRyYWNr
IHdoYXQgd2UgYXJlIHdoaXRlbGlzdGluZyBhbmQgd2h5LiBJZiBwbiBpcwogICAgICAgICAgICAg
ICAgICAgIGluY29tcGF0aWJsZSB3ZSBuZWVkIHRvIGJlIGFibGUgdG8gbm90ZSB0aGF0IHRoZSBp
bWFnZSB0aGF0CiAgICAgICAgICAgICAgICAgICAgaXMgY3JlYXRlZCBtYXkgaW5mYWN0IGNvbnRh
aW4gaW5jb21wYXRpYmxlIGxpY2Vuc2VzIGRlc3BpdGUKICAgICAgICAgICAgICAgICAgICBJTkNP
TVBBVElCTEVfTElDRU5TRSBiZWluZyBzZXQuCiAgICAgICAgICAgICAgICAgICAgJycnCiAgICAg
ICAgICAgICAgICAgICAgaW5jb21wYXR3bC5leHRlbmQoKGQuZ2V0VmFyKHcgKyBsaWMpIG9yICIi
KS5zcGxpdCgpKQogICAgICAgICAgICAgICAgICAgIGlmIHNwZHhfbGljZW5zZToKICAgICAgICAg
ICAgICAgICAgICAgICAgaW5jb21wYXR3bC5leHRlbmQoKGQuZ2V0VmFyKHcgKyBzcGR4X2xpY2Vu
c2UpIG9yICIiKS5zcGxpdCgpKQoKICAgICAgICAgICAgaWYgbm90IHBuIGluIHdoaXRlbGlzdDoK
ICAgICAgICAgICAgICAgIHBrZ3MgPSBkLmdldFZhcignUEFDS0FHRVMnKS5zcGxpdCgpCiAgICAg
ICAgICAgICAgICBza2lwcGVkX3BrZ3MgPSBbXQogICAgICAgICAgICAgICAgdW5za2lwcGVkX3Br
Z3MgPSBbXQogICAgICAgICAgICAgICAgZm9yIHBrZyBpbiBwa2dzOgogICAgICAgICAgICAgICAg
ICAgIGlmIGluY29tcGF0aWJsZV9saWNlbnNlKGQsIGJhZF9saWNlbnNlcywgcGtnKToKICAgICAg
ICAgICAgICAgICAgICAgICAgc2tpcHBlZF9wa2dzLmFwcGVuZChwa2cpCiAgICAgICAgICAgICAg
ICAgICAgZWxzZToKICAgICAgICAgICAgICAgICAgICAgICAgdW5za2lwcGVkX3BrZ3MuYXBwZW5k
KHBrZykKICAgICAgICAgICAgICAgIGFsbF9za2lwcGVkID0gc2tpcHBlZF9wa2dzIGFuZCBub3Qg
dW5za2lwcGVkX3BrZ3MKICAgICAgICAgICAgICAgIGlmIHVuc2tpcHBlZF9wa2dzOgogICAgICAg
ICAgICAgICAgICAgIGZvciBwa2cgaW4gc2tpcHBlZF9wa2dzOgogICAgICAgICAgICAgICAgICAg
ICAgICBiYi5kZWJ1ZygxLCAiU0tJUFBJTkcgdGhlIHBhY2thZ2UgIiArIHBrZyArICIgYXQgZG9f
cm9vdGZzIGJlY2F1c2UgaXQncyAiICsgbGljZW5zZSkKICAgICAgICAgICAgICAgICAgICAgICAg
bWxwcmVmaXggPSBkLmdldFZhcignTUxQUkVGSVgnKQogICAgICAgICAgICAgICAgICAgICAgICBk
LnNldFZhcignTElDRU5TRV9FWENMVVNJT04tJyArIG1scHJlZml4ICsgcGtnLCAxKQogICAgICAg
ICAgICAgICAgICAgIGZvciBwa2cgaW4gdW5za2lwcGVkX3BrZ3M6CiAgICAgICAgICAgICAgICAg
ICAgICAgIGJiLmRlYnVnKDEsICJJTkNMVURJTkcgdGhlIHBhY2thZ2UgIiArIHBrZykKICAgICAg
ICAgICAgICAgIGVsaWYgYWxsX3NraXBwZWQgb3IgaW5jb21wYXRpYmxlX2xpY2Vuc2UoZCwgYmFk
X2xpY2Vuc2VzKToKICAgICAgICAgICAgICAgICAgICBiYi5kZWJ1ZygxLCAiU0tJUFBJTkcgcmVj
aXBlICVzIGJlY2F1c2UgaXQncyAlcyIgJSAocG4sIGxpY2Vuc2UpKQogICAgICAgICAgICAgICAg
ICAgIHJhaXNlIGJiLnBhcnNlLlNraXBQYWNrYWdlKCJpdCBoYXMgYW4gaW5jb21wYXRpYmxlIGxp
Y2Vuc2U6ICVzIiAlIGxpY2Vuc2UpCiAgICAgICAgICAgIGVsaWYgcG4gaW4gd2hpdGVsaXN0Ogog
ICAgICAgICAgICAgICAgaWYgcG4gaW4gaW5jb21wYXR3bDoKICAgICAgICAgICAgICAgICAgICBi
Yi5ub3RlKCJJTkNMVURJTkcgIiArIHBuICsgIiBhcyBidWlsZGFibGUgZGVzcGl0ZSBJTkNPTVBB
VElCTEVfTElDRU5TRSBiZWNhdXNlIGl0IGhhcyBiZWVuIHdoaXRlbGlzdGVkIikKCiAgICAgICAg
IyBUcnkgdG8gdmVyaWZ5IHBlci1wYWNrYWdlIChMSUNFTlNFXzxwa2c+KSB2YWx1ZXMuIExJQ0VO
U0Ugc2hvdWxkIGJlIGEKICAgICAgICAjIHN1cGVyc2V0IG9mIGFsbCBwZXItcGFja2FnZSBsaWNl
bnNlcy4gV2UgZG8gbm90IGRvIGFkdmFuY2VkIChwYXR0ZXJuKQogICAgICAgICMgbWF0Y2hpbmcg
b2YgbGljZW5zZSBleHByZXNzaW9ucyAtIGp1c3QgY2hlY2sgdGhhdCBhbGwgbGljZW5zZSBzdHJp
bmdzCiAgICAgICAgIyBpbiBMSUNFTlNFXzxwa2c+IGFyZSBmb3VuZCBpbiBMSUNFTlNFLgogICAg
ICAgIGxpY2Vuc2Vfc2V0ID0gb2UubGljZW5zZS5saXN0X2xpY2Vuc2VzKGxpY2Vuc2UpCiAgICAg
ICAgZm9yIHBrZyBpbiBkLmdldFZhcignUEFDS0FHRVMnKS5zcGxpdCgpOgogICAgICAgICAgICBw
a2dfbGljZW5zZSA9IGQuZ2V0VmFyKCdMSUNFTlNFXycgKyBwa2cpCiAgICAgICAgICAgIGlmIHBr
Z19saWNlbnNlOgogICAgICAgICAgICAgICAgdW5saXN0ZWQgPSBvZS5saWNlbnNlLmxpc3RfbGlj
ZW5zZXMocGtnX2xpY2Vuc2UpIC0gbGljZW5zZV9zZXQKICAgICAgICAgICAgICAgIGlmIHVubGlz
dGVkOgogICAgICAgICAgICAgICAgICAgIGJiLndhcm4oIkxJQ0VOU0VfJXMgaW5jbHVkZXMgbGlj
ZW5zZXMgKCVzKSB0aGF0IGFyZSBub3QgIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgImxp
c3RlZCBpbiBMSUNFTlNFIiAlIChwa2csICcgJy5qb2luKHVubGlzdGVkKSkpCgogICAgbmVlZHNy
Y3JldiA9IEZhbHNlCiAgICBzcmN1cmkgPSBkLmdldFZhcignU1JDX1VSSScpCiAgICBmb3IgdXJp
IGluIHNyY3VyaS5zcGxpdCgpOgogICAgICAgIChzY2hlbWUsIF8gLCBwYXRoKSA9IGJiLmZldGNo
LmRlY29kZXVybCh1cmkpWzozXQoKICAgICAgICAjIEhUVFAvRlRQIHVzZSB0aGUgd2dldCBmZXRj
aGVyCiAgICAgICAgaWYgc2NoZW1lIGluICgiaHR0cCIsICJodHRwcyIsICJmdHAiKToKICAgICAg
ICAgICAgZC5hcHBlbmRWYXJGbGFnKCdkb19mZXRjaCcsICdkZXBlbmRzJywgJyB3Z2V0LW5hdGl2
ZTpkb19wb3B1bGF0ZV9zeXNyb290JykKCiAgICAgICAgIyBTdm4gcGFja2FnZXMgc2hvdWxkIERF
UEVORCBvbiBzdWJ2ZXJzaW9uLW5hdGl2ZQogICAgICAgIGlmIHNjaGVtZSA9PSAic3ZuIjoKICAg
ICAgICAgICAgbmVlZHNyY3JldiA9IFRydWUKICAgICAgICAgICAgZC5hcHBlbmRWYXJGbGFnKCdk
b19mZXRjaCcsICdkZXBlbmRzJywgJyBzdWJ2ZXJzaW9uLW5hdGl2ZTpkb19wb3B1bGF0ZV9zeXNy
b290JykKCiAgICAgICAgIyBHaXQgcGFja2FnZXMgc2hvdWxkIERFUEVORCBvbiBnaXQtbmF0aXZl
CiAgICAgICAgZWxpZiBzY2hlbWUgaW4gKCJnaXQiLCAiZ2l0c20iKToKICAgICAgICAgICAgbmVl
ZHNyY3JldiA9IFRydWUKICAgICAgICAgICAgZC5hcHBlbmRWYXJGbGFnKCdkb19mZXRjaCcsICdk
ZXBlbmRzJywgJyBnaXQtbmF0aXZlOmRvX3BvcHVsYXRlX3N5c3Jvb3QnKQoKICAgICAgICAjIE1l
cmN1cmlhbCBwYWNrYWdlcyBzaG91bGQgREVQRU5EIG9uIG1lcmN1cmlhbC1uYXRpdmUKICAgICAg
ICBlbGlmIHNjaGVtZSA9PSAiaGciOgogICAgICAgICAgICBuZWVkc3JjcmV2ID0gVHJ1ZQogICAg
ICAgICAgICBkLmFwcGVuZFZhckZsYWcoJ2RvX2ZldGNoJywgJ2RlcGVuZHMnLCAnIG1lcmN1cmlh
bC1uYXRpdmU6ZG9fcG9wdWxhdGVfc3lzcm9vdCcpCgogICAgICAgICMgUGVyZm9yY2UgcGFja2Fn
ZXMgc3VwcG9ydCBTUkNSRVYgPSAiJHtBVVRPUkVWfSIKICAgICAgICBlbGlmIHNjaGVtZSA9PSAi
cDQiOgogICAgICAgICAgICBuZWVkc3JjcmV2ID0gVHJ1ZQoKICAgICAgICAjIE9TQyBwYWNrYWdl
cyBzaG91bGQgREVQRU5EIG9uIG9zYy1uYXRpdmUKICAgICAgICBlbGlmIHNjaGVtZSA9PSAib3Nj
IjoKICAgICAgICAgICAgZC5hcHBlbmRWYXJGbGFnKCdkb19mZXRjaCcsICdkZXBlbmRzJywgJyBv
c2MtbmF0aXZlOmRvX3BvcHVsYXRlX3N5c3Jvb3QnKQoKICAgICAgICBlbGlmIHNjaGVtZSA9PSAi
bnBtIjoKICAgICAgICAgICAgZC5hcHBlbmRWYXJGbGFnKCdkb19mZXRjaCcsICdkZXBlbmRzJywg
JyBub2RlanMtbmF0aXZlOmRvX3BvcHVsYXRlX3N5c3Jvb3QnKQoKICAgICAgICAjICoubHo0IHNo
b3VsZCBERVBFTkQgb24gbHo0LW5hdGl2ZSBmb3IgdW5wYWNraW5nCiAgICAgICAgaWYgcGF0aC5l
bmRzd2l0aCgnLmx6NCcpOgogICAgICAgICAgICBkLmFwcGVuZFZhckZsYWcoJ2RvX3VucGFjaycs
ICdkZXBlbmRzJywgJyBsejQtbmF0aXZlOmRvX3BvcHVsYXRlX3N5c3Jvb3QnKQoKICAgICAgICAj
ICoubHogc2hvdWxkIERFUEVORCBvbiBsemlwLW5hdGl2ZSBmb3IgdW5wYWNraW5nCiAgICAgICAg
ZWxpZiBwYXRoLmVuZHN3aXRoKCcubHonKToKICAgICAgICAgICAgZC5hcHBlbmRWYXJGbGFnKCdk
b191bnBhY2snLCAnZGVwZW5kcycsICcgbHppcC1uYXRpdmU6ZG9fcG9wdWxhdGVfc3lzcm9vdCcp
CgogICAgICAgICMgKi54eiBzaG91bGQgREVQRU5EIG9uIHh6LW5hdGl2ZSBmb3IgdW5wYWNraW5n
CiAgICAgICAgZWxpZiBwYXRoLmVuZHN3aXRoKCcueHonKToKICAgICAgICAgICAgZC5hcHBlbmRW
YXJGbGFnKCdkb191bnBhY2snLCAnZGVwZW5kcycsICcgeHotbmF0aXZlOmRvX3BvcHVsYXRlX3N5
c3Jvb3QnKQoKICAgICAgICAjIC56aXAgc2hvdWxkIERFUEVORCBvbiB1bnppcC1uYXRpdmUgZm9y
IHVucGFja2luZwogICAgICAgIGVsaWYgcGF0aC5lbmRzd2l0aCgnLnppcCcpOgogICAgICAgICAg
ICBkLmFwcGVuZFZhckZsYWcoJ2RvX3VucGFjaycsICdkZXBlbmRzJywgJyB1bnppcC1uYXRpdmU6
ZG9fcG9wdWxhdGVfc3lzcm9vdCcpCgogICAgICAgICMgZmlsZSBpcyBuZWVkZWQgYnkgcnBtMmNw
aW8uc2gKICAgICAgICBlbGlmIHBhdGguZW5kc3dpdGgoJy5zcmMucnBtJyk6CiAgICAgICAgICAg
IGQuYXBwZW5kVmFyRmxhZygnZG9fdW5wYWNrJywgJ2RlcGVuZHMnLCAnIGZpbGUtbmF0aXZlOmRv
X3BvcHVsYXRlX3N5c3Jvb3QnKQoKICAgIGlmIG5lZWRzcmNyZXY6CiAgICAgICAgZC5zZXRWYXIo
IlNSQ1BWIiwgIiR7QGJiLmZldGNoMi5nZXRfc3JjcmV2KGQpfSIpCgogICAgc2V0X3BhY2thZ2V0
cmlwbGV0KGQpCgogICAgIyAnbXVsdGltYWNoaW5lJyBoYW5kbGluZwogICAgbWFjaF9hcmNoID0g
ZC5nZXRWYXIoJ01BQ0hJTkVfQVJDSCcpCiAgICBwa2dfYXJjaCA9IGQuZ2V0VmFyKCdQQUNLQUdF
X0FSQ0gnKQoKICAgIGlmIChwa2dfYXJjaCA9PSBtYWNoX2FyY2gpOgogICAgICAgICMgQWxyZWFk
eSBtYWNoaW5lIHNwZWNpZmljIC0gbm90aGluZyBmdXJ0aGVyIHRvIGRvCiAgICAgICAgcmV0dXJu
CgogICAgIwogICAgIyBXZSBhbHdheXMgdHJ5IHRvIHNjYW4gU1JDX1VSSSBmb3IgdXJscyB3aXRo
IG1hY2hpbmUgb3ZlcnJpZGVzCiAgICAjIHVubGVzcyB0aGUgcGFja2FnZSBzZXRzIFNSQ19VUklf
T1ZFUlJJREVTX1BBQ0tBR0VfQVJDSD0wCiAgICAjCiAgICBvdmVycmlkZSA9IGQuZ2V0VmFyKCdT
UkNfVVJJX09WRVJSSURFU19QQUNLQUdFX0FSQ0gnKQogICAgaWYgb3ZlcnJpZGUgIT0gJzAnOgog
ICAgICAgIHBhdGhzID0gW10KICAgICAgICBmcGF0aHMgPSAoZC5nZXRWYXIoJ0ZJTEVTUEFUSCcp
IG9yICcnKS5zcGxpdCgnOicpCiAgICAgICAgbWFjaGluZSA9IGQuZ2V0VmFyKCdNQUNISU5FJykK
ICAgICAgICBmb3IgcCBpbiBmcGF0aHM6CiAgICAgICAgICAgIGlmIG9zLnBhdGguYmFzZW5hbWUo
cCkgPT0gbWFjaGluZSBhbmQgb3MucGF0aC5pc2RpcihwKToKICAgICAgICAgICAgICAgIHBhdGhz
LmFwcGVuZChwKQoKICAgICAgICBpZiBsZW4ocGF0aHMpICE9IDA6CiAgICAgICAgICAgIGZvciBz
IGluIHNyY3VyaS5zcGxpdCgpOgogICAgICAgICAgICAgICAgaWYgbm90IHMuc3RhcnRzd2l0aCgi
ZmlsZTovLyIpOgogICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCiAgICAgICAgICAgICAgICBm
ZXRjaGVyID0gYmIuZmV0Y2gyLkZldGNoKFtzXSwgZCkKICAgICAgICAgICAgICAgIGxvY2FsID0g
ZmV0Y2hlci5sb2NhbHBhdGgocykKICAgICAgICAgICAgICAgIGZvciBtcCBpbiBwYXRoczoKICAg
ICAgICAgICAgICAgICAgICBpZiBsb2NhbC5zdGFydHN3aXRoKG1wKToKICAgICAgICAgICAgICAg
ICAgICAgICAgI2JiLm5vdGUoIm92ZXJyaWRpbmcgUEFDS0FHRV9BUkNIIGZyb20gJXMgdG8gJXMg
Zm9yICVzIiAlIChwa2dfYXJjaCwgbWFjaF9hcmNoLCBwbikpCiAgICAgICAgICAgICAgICAgICAg
ICAgIGQuc2V0VmFyKCdQQUNLQUdFX0FSQ0gnLCAiJHtNQUNISU5FX0FSQ0h9IikKICAgICAgICAg
ICAgICAgICAgICAgICAgcmV0dXJuCgogICAgcGFja2FnZXMgPSBkLmdldFZhcignUEFDS0FHRVMn
KS5zcGxpdCgpCiAgICBmb3IgcGtnIGluIHBhY2thZ2VzOgogICAgICAgIHBrZ2FyY2ggPSBkLmdl
dFZhcigiUEFDS0FHRV9BUkNIXyVzIiAlIHBrZykKCiAgICAgICAgIyBXZSBjb3VsZCBsb29rIGZv
ciAhPSBQQUNLQUdFX0FSQ0ggaGVyZSBidXQgaG93IHRvIGNob29zZQogICAgICAgICMgaWYgbXVs
dGlwbGUgZGlmZmVyZW5jZXMgYXJlIHByZXNlbnQ/CiAgICAgICAgIyBMb29rIHRocm91Z2ggUEFD
S0FHRV9BUkNIUyBmb3IgdGhlIHByaW9yaXR5IG9yZGVyPwogICAgICAgIGlmIHBrZ2FyY2ggYW5k
IHBrZ2FyY2ggPT0gbWFjaF9hcmNoOgogICAgICAgICAgICBkLnNldFZhcignUEFDS0FHRV9BUkNI
JywgIiR7TUFDSElORV9BUkNIfSIpCiAgICAgICAgICAgIGJiLndhcm4oIlJlY2lwZSAlcyBpcyBt
YXJrZWQgYXMgb25seSBiZWluZyBhcmNoaXRlY3R1cmUgc3BlY2lmaWMgYnV0IHNlZW1zIHRvIGhh
dmUgbWFjaGluZSBzcGVjaWZpYyBwYWNrYWdlcz8hIFRoZSByZWNpcGUgbWF5IGFzIHdlbGwgbWFy
ayBpdHNlbGYgYXMgbWFjaGluZSBzcGVjaWZpYyBkaXJlY3RseS4iICUgZC5nZXRWYXIoIlBOIikp
Cn0KCgpweXRob24gX19hbm9uXzcwN19fbWVkaWFfcmViZWNjYXNfeW9jdG9fcG9reV9tZXRhX2Ns
YXNzZXNfcGFja2FnZV9ycG1fYmJjbGFzcyAoKSB7CmRlZiBfX2Fub25fNzA3X19tZWRpYV9yZWJl
Y2Nhc195b2N0b19wb2t5X21ldGFfY2xhc3Nlc19wYWNrYWdlX3JwbV9iYmNsYXNzKGQpOgogICAg
aWYgZC5nZXRWYXIoJ1BBQ0tBR0VTJykgIT0gJyc6CiAgICAgICAgZGVwcyA9ICcgcnBtLW5hdGl2
ZTpkb19wb3B1bGF0ZV9zeXNyb290IHZpcnR1YWwvZmFrZXJvb3QtbmF0aXZlOmRvX3BvcHVsYXRl
X3N5c3Jvb3QnCiAgICAgICAgZC5hcHBlbmRWYXJGbGFnKCdkb19wYWNrYWdlX3dyaXRlX3JwbScs
ICdkZXBlbmRzJywgZGVwcykKICAgICAgICBkLnNldFZhckZsYWcoJ2RvX3BhY2thZ2Vfd3JpdGVf
cnBtJywgJ2Zha2Vyb290JywgJzEnKQp9CgoKcHl0aG9uIGFkZF9wYWNrYWdlX2FuZF9maWxlcyAo
KSB7CmRlZiBhZGRfcGFja2FnZV9hbmRfZmlsZXMoZCk6CiAgICBwYWNrYWdlcyA9IGQuZ2V0VmFy
KCdQQUNLQUdFUycpCiAgICBmaWxlcyA9IGQuZ2V0VmFyKCdMSUNFTlNFX0ZJTEVTX0RJUkVDVE9S
WScpCiAgICBwbiA9IGQuZ2V0VmFyKCdQTicpCiAgICBwbl9saWMgPSAiJXMlcyIgJSAocG4sIGQu
Z2V0VmFyKCdMSUNFTlNFX1BBQ0tBR0VfU1VGRklYJywgRmFsc2UpKQogICAgaWYgcG5fbGljIGlu
IHBhY2thZ2VzOgogICAgICAgIGJiLndhcm4oIiVzIHBhY2thZ2UgYWxyZWFkeSBleGlzdGVkIGlu
ICVzLiIgJSAocG5fbGljLCBwbikpCiAgICBlbHNlOgogICAgICAgICMgZmlyc3QgaW4gUEFDS0FH
RVMgdG8gYmUgc3VyZSB0aGF0IG5vdGhpbmcgZWxzZSBnZXRzIExJQ0VOU0VfRklMRVNfRElSRUNU
T1JZCiAgICAgICAgZC5zZXRWYXIoJ1BBQ0tBR0VTJywgIiVzICVzIiAlIChwbl9saWMsIHBhY2th
Z2VzKSkKICAgICAgICBkLnNldFZhcignRklMRVNfJyArIHBuX2xpYywgZmlsZXMpCiAgICAgICAg
cnJlY29tbWVuZHNfcG4gPSBkLmdldFZhcignUlJFQ09NTUVORFNfJyArIHBuKQogICAgICAgIGlm
IHJyZWNvbW1lbmRzX3BuOgogICAgICAgICAgICBkLnNldFZhcignUlJFQ09NTUVORFNfJyArIHBu
LCAiJXMgJXMiICUgKHBuX2xpYywgcnJlY29tbWVuZHNfcG4pKQogICAgICAgIGVsc2U6CiAgICAg
ICAgICAgIGQuc2V0VmFyKCdSUkVDT01NRU5EU18nICsgcG4sICIlcyIgJSAocG5fbGljKSkKfQoK
CnB5dGhvbiBhbGxfbXVsdGlsaWJfdHVuZV9saXN0ICgpIHsKZGVmIGFsbF9tdWx0aWxpYl90dW5l
X2xpc3QodmFycywgZCk6CiAgICAiIiIKICAgIFJldHVybiBhIGxpc3Qgb2YgJHtWQVJ9IGZvciBl
YWNoIHZhcmlhYmxlIFZBUiBpbiB2YXJzIGZyb20gZWFjaAogICAgbXVsdGlsaWIgdHVuZSBjb25m
aWd1cmF0aW9uLgogICAgSXMgc2FmZSB0byBiZSBjYWxsZWQgZnJvbSBhIG11bHRpbGliIHJlY2lw
ZS9jb250ZXh0IGFzIGl0IGNhbgogICAgZmlndXJlIG91dCB0aGUgb3JpZ2luYWwgdHVuZSBhbmQg
cmVtb3ZlIHRoZSBtdWx0aWxpYiBvdmVycmlkZXMuCiAgICAiIiIKICAgIHZhbHVlcyA9IHt9CiAg
ICBmb3IgdiBpbiB2YXJzOgogICAgICAgIHZhbHVlc1t2XSA9IFtdCgogICAgbG9jYWxkYXRhID0g
YmIuZGF0YS5jcmVhdGVDb3B5KGQpCiAgICBvdmVycmlkZXMgPSBsb2NhbGRhdGEuZ2V0VmFyKCJP
VkVSUklERVMiLCBGYWxzZSkuc3BsaXQoIjoiKQogICAgbmV3b3ZlcnJpZGVzID0gW10KICAgIGZv
ciBvIGluIG92ZXJyaWRlczoKICAgICAgICBpZiBub3Qgby5zdGFydHN3aXRoKCJ2aXJ0Y2xhc3Mt
bXVsdGlsaWItIik6CiAgICAgICAgICAgIG5ld292ZXJyaWRlcy5hcHBlbmQobykKICAgIGxvY2Fs
ZGF0YS5zZXRWYXIoIk9WRVJSSURFUyIsICI6Ii5qb2luKG5ld292ZXJyaWRlcykpCiAgICBsb2Nh
bGRhdGEuc2V0VmFyKCJNTFBSRUZJWCIsICIiKQogICAgb3JpZ2RlZmF1bHQgPSBsb2NhbGRhdGEu
Z2V0VmFyKCJERUZBVUxUVFVORV9NVUxUSUxJQl9PUklHSU5BTCIpCiAgICBpZiBvcmlnZGVmYXVs
dDoKICAgICAgICBsb2NhbGRhdGEuc2V0VmFyKCJERUZBVUxUVFVORSIsIG9yaWdkZWZhdWx0KQog
ICAgdmFsdWVzWydtbCddID0gWycnXQogICAgZm9yIHYgaW4gdmFyczoKICAgICAgICB2YWx1ZXNb
dl0uYXBwZW5kKGxvY2FsZGF0YS5nZXRWYXIodikpCiAgICB2YXJpYW50cyA9IGQuZ2V0VmFyKCJN
VUxUSUxJQl9WQVJJQU5UUyIpIG9yICIiCiAgICBmb3IgaXRlbSBpbiB2YXJpYW50cy5zcGxpdCgp
OgogICAgICAgIGxvY2FsZGF0YSA9IGdldF9tdWx0aWxpYl9kYXRhc3RvcmUoaXRlbSwgZCkKICAg
ICAgICB2YWx1ZXNbdl0uYXBwZW5kKGxvY2FsZGF0YS5nZXRWYXIodikpCiAgICAgICAgdmFsdWVz
WydtbCddLmFwcGVuZChpdGVtKQogICAgcmV0dXJuIHZhbHVlcwp9CgoKcHl0aG9uIGFsbF9tdWx0
aWxpYl90dW5lX3ZhbHVlcyAoKSB7CmRlZiBhbGxfbXVsdGlsaWJfdHVuZV92YWx1ZXMoZCwgdmFy
LCB1bmlxdWUgPSBUcnVlLCBuZWVkX3NwbGl0ID0gVHJ1ZSwgZGVsaW0gPSAnICcpOgogICAgIiIi
UmV0dXJuIGEgc3RyaW5nIG9mIGFsbCAke3Zhcn0gaW4gYWxsIG11bHRpbGliIHR1bmUgY29uZmln
dXJhdGlvbiIiIgogICAgdmFsdWVzID0gW10KICAgIHZhbHVlID0gZC5nZXRWYXIodmFyKSBvciAi
IgogICAgaWYgdmFsdWUgIT0gIiI6CiAgICAgICAgaWYgbmVlZF9zcGxpdDoKICAgICAgICAgICAg
Zm9yIGl0ZW0gaW4gdmFsdWUuc3BsaXQoZGVsaW0pOgogICAgICAgICAgICAgICAgdmFsdWVzLmFw
cGVuZChpdGVtKQogICAgICAgIGVsc2U6CiAgICAgICAgICAgIHZhbHVlcy5hcHBlbmQodmFsdWUp
CiAgICB2YXJpYW50cyA9IGQuZ2V0VmFyKCJNVUxUSUxJQl9WQVJJQU5UUyIpIG9yICIiCiAgICBm
b3IgaXRlbSBpbiB2YXJpYW50cy5zcGxpdCgpOgogICAgICAgIGxvY2FsZGF0YSA9IGdldF9tdWx0
aWxpYl9kYXRhc3RvcmUoaXRlbSwgZCkKICAgICAgICB2YWx1ZSA9IGxvY2FsZGF0YS5nZXRWYXIo
dmFyKSBvciAiIgogICAgICAgIGlmIHZhbHVlICE9ICIiOgogICAgICAgICAgICBpZiBuZWVkX3Nw
bGl0OgogICAgICAgICAgICAgICAgZm9yIGl0ZW0gaW4gdmFsdWUuc3BsaXQoZGVsaW0pOgogICAg
ICAgICAgICAgICAgICAgIHZhbHVlcy5hcHBlbmQoaXRlbSkKICAgICAgICAgICAgZWxzZToKICAg
ICAgICAgICAgICAgIHZhbHVlcy5hcHBlbmQodmFsdWUpCiAgICBpZiB1bmlxdWU6CiAgICAgICAg
I3dlIGRvIHRoaXMgdG8ga2VlcCBvcmRlciBhcyBtdWNoIGFzIHBvc3NpYmxlCiAgICAgICAgcmV0
ID0gW10KICAgICAgICBmb3IgdmFsdWUgaW4gdmFsdWVzOgogICAgICAgICAgICBpZiBub3QgdmFs
dWUgaW4gcmV0OgogICAgICAgICAgICAgICAgcmV0LmFwcGVuZCh2YWx1ZSkKICAgIGVsc2U6CiAg
ICAgICAgcmV0ID0gdmFsdWVzCiAgICByZXR1cm4gIiAiLmpvaW4ocmV0KQp9CgoKcHl0aG9uIGJh
c2VfYm90aF9jb250YWluICgpIHsKZGVmIGJhc2VfYm90aF9jb250YWluKHZhcmlhYmxlMSwgdmFy
aWFibGUyLCBjaGVja3ZhbHVlLCBkKToKICAgIHJldHVybiBvZS51dGlscy5ib3RoX2NvbnRhaW4o
dmFyaWFibGUxLCB2YXJpYWJsZTIsIGNoZWNrdmFsdWUsIGQpCn0KCgpweXRob24gYmFzZV9jb25k
aXRpb25hbCAoKSB7CmRlZiBiYXNlX2NvbmRpdGlvbmFsKHZhcmlhYmxlLCBjaGVja3ZhbHVlLCB0
cnVldmFsdWUsIGZhbHNldmFsdWUsIGQpOgogICAgcmV0dXJuIG9lLnV0aWxzLmNvbmRpdGlvbmFs
KHZhcmlhYmxlLCBjaGVja3ZhbHVlLCB0cnVldmFsdWUsIGZhbHNldmFsdWUsIGQpCn0KCgpweXRo
b24gYmFzZV9jb250YWlucyAoKSB7CmRlZiBiYXNlX2NvbnRhaW5zKHZhcmlhYmxlLCBjaGVja3Zh
bHVlcywgdHJ1ZXZhbHVlLCBmYWxzZXZhbHVlLCBkKToKICAgIGJiLm5vdGUoJ2Jhc2VfY29udGFp
bnMgaXMgZGVwcmVjYXRlZCwgcGxlYXNlIHVzZSBiYi51dGlscy5jb250YWlucyBpbnN0ZWFkLicp
CiAgICByZXR1cm4gYmIudXRpbHMuY29udGFpbnModmFyaWFibGUsIGNoZWNrdmFsdWVzLCB0cnVl
dmFsdWUsIGZhbHNldmFsdWUsIGQpCn0KCgpweXRob24gYmFzZV9kZXBfcHJlcGVuZCAoKSB7Ck5v
bmV9CgoKcHl0aG9uIGJhc2VfZGV0ZWN0X2JyYW5jaCAoKSB7CmRlZiBiYXNlX2RldGVjdF9icmFu
Y2goZCk6CiAgICBwYXRoID0gYmFzZV9nZXRfc2NtYmFzZXBhdGgoZCkKCiAgICBzY21zID0gW2Jh
c2VfZ2V0X21ldGFkYXRhX2dpdF9icmFuY2hdCgogICAgZm9yIHNjbSBpbiBzY21zOgogICAgICAg
IHJldiA9IHNjbShwYXRoLCBkKQogICAgICAgIGlmIHJldiAhPSAiPHVua25vd24+IjoKICAgICAg
ICAgICAgcmV0dXJuIHJldi5zdHJpcCgpCgogICAgcmV0dXJuICI8dW5rbm93bj4iCn0KCgpweXRo
b24gYmFzZV9kZXRlY3RfcmV2aXNpb24gKCkgewpkZWYgYmFzZV9kZXRlY3RfcmV2aXNpb24oZCk6
CiAgICBwYXRoID0gYmFzZV9nZXRfc2NtYmFzZXBhdGgoZCkKCiAgICBzY21zID0gW2Jhc2VfZ2V0
X21ldGFkYXRhX2dpdF9yZXZpc2lvbl0KCiAgICBmb3Igc2NtIGluIHNjbXM6CiAgICAgICAgcmV2
ID0gc2NtKHBhdGgsIGQpCiAgICAgICAgaWYgcmV2ICE9ICI8dW5rbm93bj4iOgogICAgICAgICAg
ICByZXR1cm4gcmV2CgogICAgcmV0dXJuICI8dW5rbm93bj4iCn0KCgpweXRob24gYmFzZV9kb19m
ZXRjaCAoKSB7CgogICAgc3JjX3VyaSA9IChkLmdldFZhcignU1JDX1VSSScpIG9yICIiKS5zcGxp
dCgpCiAgICBpZiBsZW4oc3JjX3VyaSkgPT0gMDoKICAgICAgICByZXR1cm4KCiAgICB0cnk6CiAg
ICAgICAgZmV0Y2hlciA9IGJiLmZldGNoMi5GZXRjaChzcmNfdXJpLCBkKQogICAgICAgIGZldGNo
ZXIuZG93bmxvYWQoKQogICAgZXhjZXB0IGJiLmZldGNoMi5CQkZldGNoRXhjZXB0aW9uIGFzIGU6
CiAgICAgICAgYmIuZmF0YWwoc3RyKGUpKQp9CgoKcHl0aG9uIGJhc2VfZG9fdW5wYWNrICgpIHsK
ICAgIHNyY191cmkgPSAoZC5nZXRWYXIoJ1NSQ19VUkknKSBvciAiIikuc3BsaXQoKQogICAgaWYg
bGVuKHNyY191cmkpID09IDA6CiAgICAgICAgcmV0dXJuCgogICAgdHJ5OgogICAgICAgIGZldGNo
ZXIgPSBiYi5mZXRjaDIuRmV0Y2goc3JjX3VyaSwgZCkKICAgICAgICBmZXRjaGVyLnVucGFjayhk
LmdldFZhcignV09SS0RJUicpKQogICAgZXhjZXB0IGJiLmZldGNoMi5CQkZldGNoRXhjZXB0aW9u
IGFzIGU6CiAgICAgICAgYmIuZmF0YWwoc3RyKGUpKQp9CgoKcHl0aG9uIGJhc2VfZXZlbnRoYW5k
bGVyICgpIHsKICAgIGltcG9ydCBiYi5ydW5xdWV1ZQoKICAgIGlmIGlzaW5zdGFuY2UoZSwgYmIu
ZXZlbnQuQ29uZmlnUGFyc2VkKToKICAgICAgICBpZiBub3QgZS5kYXRhLmdldFZhcigiTkFUSVZF
TFNCU1RSSU5HIiwgRmFsc2UpOgogICAgICAgICAgICBlLmRhdGEuc2V0VmFyKCJOQVRJVkVMU0JT
VFJJTkciLCBsc2JfZGlzdHJvX2lkZW50aWZpZXIoZS5kYXRhKSkKICAgICAgICBlLmRhdGEuc2V0
VmFyKCdCQl9WRVJTSU9OJywgYmIuX192ZXJzaW9uX18pCiAgICAgICAgcGtnYXJjaF9tYXBwaW5n
KGUuZGF0YSkKICAgICAgICBvZS51dGlscy5mZWF0dXJlc19iYWNrZmlsbCgiRElTVFJPX0ZFQVRV
UkVTIiwgZS5kYXRhKQogICAgICAgIG9lLnV0aWxzLmZlYXR1cmVzX2JhY2tmaWxsKCJNQUNISU5F
X0ZFQVRVUkVTIiwgZS5kYXRhKQogICAgICAgICMgV29ya3Mgd2l0aCB0aGUgbGluZSBpbiBsYXll
ci5jb25mIHdoaWNoIGNoYW5nZXMgUEFUSCB0byBwb2ludCBoZXJlCiAgICAgICAgc2V0dXBfaG9z
dHRvb2xzX2RpcihkLmdldFZhcignSE9TVFRPT0xTX0RJUicpLCAnSE9TVFRPT0xTJywgZCkKICAg
ICAgICBzZXR1cF9ob3N0dG9vbHNfZGlyKGQuZ2V0VmFyKCdIT1NUVE9PTFNfRElSJyksICdIT1NU
VE9PTFNfTk9ORkFUQUwnLCBkLCBmYXRhbD1GYWxzZSkKCiAgICBpZiBpc2luc3RhbmNlKGUsIGJi
LmV2ZW50LkJ1aWxkU3RhcnRlZCk6CiAgICAgICAgbG9jYWxkYXRhID0gYmIuZGF0YS5jcmVhdGVD
b3B5KGUuZGF0YSkKICAgICAgICBzdGF0dXNsaW5lcyA9IFtdCiAgICAgICAgZm9yIGZ1bmMgaW4g
b2UuZGF0YS50eXBlZF92YWx1ZSgnQlVJTERDRkdfRlVOQ1MnLCBsb2NhbGRhdGEpOgogICAgICAg
ICAgICBnID0gZ2xvYmFscygpCiAgICAgICAgICAgIGlmIGZ1bmMgbm90IGluIGc6CiAgICAgICAg
ICAgICAgICBiYi53YXJuKCJCdWlsZCBjb25maWd1cmF0aW9uIGZ1bmN0aW9uICclcycgZG9lcyBu
b3QgZXhpc3QiICUgZnVuYykKICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgIGZsaW5l
cyA9IGdbZnVuY10obG9jYWxkYXRhKQogICAgICAgICAgICAgICAgaWYgZmxpbmVzOgogICAgICAg
ICAgICAgICAgICAgIHN0YXR1c2xpbmVzLmV4dGVuZChmbGluZXMpCgogICAgICAgIHN0YXR1c2hl
YWRlciA9IGUuZGF0YS5nZXRWYXIoJ0JVSUxEQ0ZHX0hFQURFUicpCiAgICAgICAgaWYgc3RhdHVz
aGVhZGVyOgogICAgICAgICAgICBiYi5wbGFpbignXG4lc1xuJXNcbicgJSAoc3RhdHVzaGVhZGVy
LCAnXG4nLmpvaW4oc3RhdHVzbGluZXMpKSkKCiAgICAjIFRoaXMgY29kZSBpcyB0byBzaWxlbmNl
IHdhcm5pbmdzIHdoZXJlIHRoZSBTREsgdmFyaWFibGVzIG92ZXJ3cml0ZSB0aGUKICAgICMgdGFy
Z2V0IG9uZXMgYW5kIHdlJ2Qgc2VlIGR1bHBpY2F0ZSBrZXkgbmFtZXMgb3ZlcndyaXRpbmcgZWFj
aCBvdGhlcgogICAgIyBmb3IgdmFyaW91cyBQUkVGRVJSRURfUFJPVklERVJTCiAgICBpZiBpc2lu
c3RhbmNlKGUsIGJiLmV2ZW50LlJlY2lwZVByZUZpbmFsaXNlKToKICAgICAgICBpZiBlLmRhdGEu
Z2V0VmFyKCJUQVJHRVRfUFJFRklYIikgPT0gZS5kYXRhLmdldFZhcigiU0RLX1BSRUZJWCIpOgog
ICAgICAgICAgICBlLmRhdGEuZGVsVmFyKCJQUkVGRVJSRURfUFJPVklERVJfdmlydHVhbC8ke1RB
UkdFVF9QUkVGSVh9YmludXRpbHMiKQogICAgICAgICAgICBlLmRhdGEuZGVsVmFyKCJQUkVGRVJS
RURfUFJPVklERVJfdmlydHVhbC8ke1RBUkdFVF9QUkVGSVh9Z2NjLWluaXRpYWwiKQogICAgICAg
ICAgICBlLmRhdGEuZGVsVmFyKCJQUkVGRVJSRURfUFJPVklERVJfdmlydHVhbC8ke1RBUkdFVF9Q
UkVGSVh9Z2NjIikKICAgICAgICAgICAgZS5kYXRhLmRlbFZhcigiUFJFRkVSUkVEX1BST1ZJREVS
X3ZpcnR1YWwvJHtUQVJHRVRfUFJFRklYfWcrKyIpCiAgICAgICAgICAgIGUuZGF0YS5kZWxWYXIo
IlBSRUZFUlJFRF9QUk9WSURFUl92aXJ0dWFsLyR7VEFSR0VUX1BSRUZJWH1jb21waWxlcmxpYnMi
KQoKICAgIGlmIGlzaW5zdGFuY2UoZSwgYmIucnVucXVldWUuc2NlbmVRdWV1ZUNvbXBsZXRlKToK
ICAgICAgICBjb21wbGV0aW9ucyA9IGUuZGF0YS5leHBhbmQoIiR7U1RBR0lOR19ESVJ9L3NzdGF0
ZWNvbXBsZXRpb25zIikKICAgICAgICBpZiBvcy5wYXRoLmV4aXN0cyhjb21wbGV0aW9ucyk6CiAg
ICAgICAgICAgIGNtZHMgPSBzZXQoKQogICAgICAgICAgICB3aXRoIG9wZW4oY29tcGxldGlvbnMs
ICJyIikgYXMgZjoKICAgICAgICAgICAgICAgIGNtZHMgPSBzZXQoZikKICAgICAgICAgICAgZS5k
YXRhLnNldFZhcigiY29tcGxldGlvbl9mdW5jdGlvbiIsICJcbiIuam9pbihjbWRzKSkKICAgICAg
ICAgICAgZS5kYXRhLnNldFZhckZsYWcoImNvbXBsZXRpb25fZnVuY3Rpb24iLCAiZnVuYyIsICIx
IikKICAgICAgICAgICAgYmIuZGVidWcoMSwgIkV4ZWN1dGluZyBTY2VuZVF1ZXVlIENvbXBsZXRp
b24gY29tbWFuZHM6ICVzIiAlICJcbiIuam9pbihjbWRzKSkKICAgICAgICAgICAgYmIuYnVpbGQu
ZXhlY19mdW5jKCJjb21wbGV0aW9uX2Z1bmN0aW9uIiwgZS5kYXRhKQogICAgICAgICAgICBvcy5y
ZW1vdmUoY29tcGxldGlvbnMpCgogICAgaWYgaXNpbnN0YW5jZShlLCBiYi5ldmVudC5SZWNpcGVQ
YXJzZWQpOgogICAgICAgICMKICAgICAgICAjIElmIHdlIGhhdmUgbXVsdGlwbGUgcHJvdmlkZXJz
IG9mIHZpcnR1YWwvWCBhbmQgYSBQUkVGRVJSRURfUFJPVklERVJfdmlydHVhbC9YIGlzIHNldAog
ICAgICAgICMgc2tpcCBwYXJzaW5nIGZvciBhbGwgdGhlIG90aGVyIHByb3ZpZGVycyB3aGljaCB3
aWxsIG1lYW4gdGhleSBnZXQgdW5pbnN0YWxsZWQgZnJvbSB0aGUKICAgICAgICAjIHN5c3Jvb3Qg
c2luY2UgdGhleSdyZSBub3cgInVucmVhY2hhYmxlIi4gVGhpcyBtYWtlcyBzd2l0Y2hpbmcgdmly
dHVhbC9rZXJuZWwgd29yayBpbgogICAgICAgICMgcGFydGljdWxhci4KICAgICAgICAjCiAgICAg
ICAgcG4gPSBkLmdldFZhcignUE4nKQogICAgICAgIHNvdXJjZV9taXJyb3JfZmV0Y2ggPSBkLmdl
dFZhcignU09VUkNFX01JUlJPUl9GRVRDSCcsIEZhbHNlKQogICAgICAgIGlmIG5vdCBzb3VyY2Vf
bWlycm9yX2ZldGNoOgogICAgICAgICAgICBwcm92cyA9IChkLmdldFZhcigiUFJPVklERVMiKSBv
ciAiIikuc3BsaXQoKQogICAgICAgICAgICBtdWx0aXdoaXRlbGlzdCA9IChkLmdldFZhcigiTVVM
VElfUFJPVklERVJfV0hJVEVMSVNUIikgb3IgIiIpLnNwbGl0KCkKICAgICAgICAgICAgZm9yIHAg
aW4gcHJvdnM6CiAgICAgICAgICAgICAgICBpZiBwLnN0YXJ0c3dpdGgoInZpcnR1YWwvIikgYW5k
IHAgbm90IGluIG11bHRpd2hpdGVsaXN0OgogICAgICAgICAgICAgICAgICAgIHByb2Zwcm92ID0g
ZC5nZXRWYXIoIlBSRUZFUlJFRF9QUk9WSURFUl8iICsgcCkKICAgICAgICAgICAgICAgICAgICBp
ZiBwcm9mcHJvdiBhbmQgcG4gIT0gcHJvZnByb3Y6CiAgICAgICAgICAgICAgICAgICAgICAgIHJh
aXNlIGJiLnBhcnNlLlNraXBQYWNrYWdlKCJQUkVGRVJSRURfUFJPVklERVJfJXMgc2V0IHRvICVz
LCBub3QgJXMiICUgKHAsIHByb2Zwcm92LCBwbikpCn0KCgpweXRob24gYmFzZV9nZXRfbWV0YWRh
dGFfZ2l0X2JyYW5jaCAoKSB7CmRlZiBiYXNlX2dldF9tZXRhZGF0YV9naXRfYnJhbmNoKHBhdGgs
IGQpOgogICAgaW1wb3J0IGJiLnByb2Nlc3MKCiAgICB0cnk6CiAgICAgICAgcmV2LCBfID0gYmIu
cHJvY2Vzcy5ydW4oJ2dpdCByZXYtcGFyc2UgLS1hYmJyZXYtcmVmIEhFQUQnLCBjd2Q9cGF0aCkK
ICAgIGV4Y2VwdCBiYi5wcm9jZXNzLkV4ZWN1dGlvbkVycm9yOgogICAgICAgIHJldiA9ICc8dW5r
bm93bj4nCiAgICByZXR1cm4gcmV2LnN0cmlwKCkKfQoKCnB5dGhvbiBiYXNlX2dldF9tZXRhZGF0
YV9naXRfcmV2aXNpb24gKCkgewpkZWYgYmFzZV9nZXRfbWV0YWRhdGFfZ2l0X3JldmlzaW9uKHBh
dGgsIGQpOgogICAgaW1wb3J0IGJiLnByb2Nlc3MKCiAgICB0cnk6CiAgICAgICAgcmV2LCBfID0g
YmIucHJvY2Vzcy5ydW4oJ2dpdCByZXYtcGFyc2UgSEVBRCcsIGN3ZD1wYXRoKQogICAgZXhjZXB0
IGJiLnByb2Nlc3MuRXhlY3V0aW9uRXJyb3I6CiAgICAgICAgcmV2ID0gJzx1bmtub3duPicKICAg
IHJldHVybiByZXYuc3RyaXAoKX0KCgpweXRob24gYmFzZV9nZXRfbWV0YWRhdGFfbW9ub3RvbmVf
YnJhbmNoICgpIHsKZGVmIGJhc2VfZ2V0X21ldGFkYXRhX21vbm90b25lX2JyYW5jaChwYXRoLCBk
KToKICAgIG1vbm90b25lX2JyYW5jaCA9ICI8dW5rbm93bj4iCiAgICB0cnk6CiAgICAgICAgd2l0
aCBvcGVuKCIlcy9fTVROL29wdGlvbnMiICUgcGF0aCkgYXMgZjoKICAgICAgICAgICAgbW9ub3Rv
bmVfYnJhbmNoID0gZi5yZWFkKCkuc3RyaXAoKQogICAgICAgICAgICBpZiBtb25vdG9uZV9icmFu
Y2guc3RhcnRzd2l0aCggImRhdGFiYXNlIiApOgogICAgICAgICAgICAgICAgbW9ub3RvbmVfYnJh
bmNoX3dvcmRzID0gbW9ub3RvbmVfYnJhbmNoLnNwbGl0KCkKICAgICAgICAgICAgICAgIG1vbm90
b25lX2JyYW5jaCA9IG1vbm90b25lX2JyYW5jaF93b3Jkc1sgbW9ub3RvbmVfYnJhbmNoX3dvcmRz
LmluZGV4KCAiYnJhbmNoIiApKzFdWzE6LTFdCiAgICBleGNlcHQ6CiAgICAgICAgcGFzcwogICAg
cmV0dXJuIG1vbm90b25lX2JyYW5jaAp9CgoKcHl0aG9uIGJhc2VfZ2V0X21ldGFkYXRhX21vbm90
b25lX3JldmlzaW9uICgpIHsKZGVmIGJhc2VfZ2V0X21ldGFkYXRhX21vbm90b25lX3JldmlzaW9u
KHBhdGgsIGQpOgogICAgbW9ub3RvbmVfcmV2aXNpb24gPSAiPHVua25vd24+IgogICAgdHJ5Ogog
ICAgICAgIHdpdGggb3BlbigiJXMvX01UTi9yZXZpc2lvbiIgJSBwYXRoKSBhcyBmOgogICAgICAg
ICAgICBtb25vdG9uZV9yZXZpc2lvbiA9IGYucmVhZCgpLnN0cmlwKCkKICAgICAgICAgICAgaWYg
bW9ub3RvbmVfcmV2aXNpb24uc3RhcnRzd2l0aCggImZvcm1hdF92ZXJzaW9uIiApOgogICAgICAg
ICAgICAgICAgbW9ub3RvbmVfcmV2aXNpb25fd29yZHMgPSBtb25vdG9uZV9yZXZpc2lvbi5zcGxp
dCgpCiAgICAgICAgICAgICAgICBtb25vdG9uZV9yZXZpc2lvbiA9IG1vbm90b25lX3JldmlzaW9u
X3dvcmRzWyBtb25vdG9uZV9yZXZpc2lvbl93b3Jkcy5pbmRleCggIm9sZF9yZXZpc2lvbiIgKSsx
XVsxOi0xXQogICAgZXhjZXB0IElPRXJyb3I6CiAgICAgICAgcGFzcwogICAgcmV0dXJuIG1vbm90
b25lX3JldmlzaW9uCn0KCgpweXRob24gYmFzZV9nZXRfbWV0YWRhdGFfc3ZuX3JldmlzaW9uICgp
IHsKZGVmIGJhc2VfZ2V0X21ldGFkYXRhX3N2bl9yZXZpc2lvbihwYXRoLCBkKToKICAgICMgVGhp
cyBvbmx5IHdvcmtzIHdpdGggb2xkZXIgc3VidmVyc2lvbi4gRm9yIG5ld2VyIHZlcnNpb25zCiAg
ICAjIHRoaXMgZnVuY3Rpb24gd2lsbCBuZWVkIHRvIGJlIGZpeGVkIGJ5IHNvbWVvbmUgaW50ZXJl
c3RlZAogICAgcmV2aXNpb24gPSAiPHVua25vd24+IgogICAgdHJ5OgogICAgICAgIHdpdGggb3Bl
bigiJXMvLnN2bi9lbnRyaWVzIiAlIHBhdGgpIGFzIGY6CiAgICAgICAgICAgIHJldmlzaW9uID0g
Zi5yZWFkbGluZXMoKVszXS5zdHJpcCgpCiAgICBleGNlcHQgKElPRXJyb3IsIEluZGV4RXJyb3Ip
OgogICAgICAgIHBhc3MKICAgIHJldHVybiByZXZpc2lvbgp9CgoKcHl0aG9uIGJhc2VfZ2V0X3Nj
bWJhc2VwYXRoICgpIHsKZGVmIGJhc2VfZ2V0X3NjbWJhc2VwYXRoKGQpOgogICAgcmV0dXJuIG9z
LnBhdGguam9pbihkLmdldFZhcignQ09SRUJBU0UnKSwgJ21ldGEnKQp9CgoKcHl0aG9uIGJhc2Vf
aWZlbHNlICgpIHsKZGVmIGJhc2VfaWZlbHNlKGNvbmRpdGlvbiwgaWZ0cnVlID0gVHJ1ZSwgaWZm
YWxzZSA9IEZhbHNlKToKICAgIHJldHVybiBvZS51dGlscy5pZmVsc2UoY29uZGl0aW9uLCBpZnRy
dWUsIGlmZmFsc2UpCn0KCgpweXRob24gYmFzZV9sZXNzX29yX2VxdWFsICgpIHsKZGVmIGJhc2Vf
bGVzc19vcl9lcXVhbCh2YXJpYWJsZSwgY2hlY2t2YWx1ZSwgdHJ1ZXZhbHVlLCBmYWxzZXZhbHVl
LCBkKToKICAgIHJldHVybiBvZS51dGlscy5sZXNzX29yX2VxdWFsKHZhcmlhYmxlLCBjaGVja3Zh
bHVlLCB0cnVldmFsdWUsIGZhbHNldmFsdWUsIGQpCn0KCgpweXRob24gYmFzZV9wYXRoX2pvaW4g
KCkgewpkZWYgYmFzZV9wYXRoX2pvaW4oYSwgKnApOgogICAgcmV0dXJuIG9lLnBhdGguam9pbihh
LCAqcCkKfQoKCnB5dGhvbiBiYXNlX3BhdGhfb3V0ICgpIHsKZGVmIGJhc2VfcGF0aF9vdXQocGF0
aCwgZCk6CiAgICByZXR1cm4gb2UucGF0aC5mb3JtYXRfZGlzcGxheShwYXRoLCBkKQp9CgoKcHl0
aG9uIGJhc2VfcGF0aF9yZWxhdGl2ZSAoKSB7CmRlZiBiYXNlX3BhdGhfcmVsYXRpdmUoc3JjLCBk
ZXN0KToKICAgIHJldHVybiBvZS5wYXRoLnJlbGF0aXZlKHNyYywgZGVzdCkKfQoKCnB5dGhvbiBi
YXNlX3BydW5lX3N1ZmZpeCAoKSB7CmRlZiBiYXNlX3BydW5lX3N1ZmZpeCh2YXIsIHN1ZmZpeGVz
LCBkKToKICAgIHJldHVybiBvZS51dGlscy5wcnVuZV9zdWZmaXgodmFyLCBzdWZmaXhlcywgZCkK
fQoKCnB5dGhvbiBiYXNlX3JlYWRfZmlsZSAoKSB7CmRlZiBiYXNlX3JlYWRfZmlsZShmaWxlbmFt
ZSk6CiAgICByZXR1cm4gb2UudXRpbHMucmVhZF9maWxlKGZpbGVuYW1lKQp9CgoKcHl0aG9uIGJh
c2Vfc2V0X2ZpbGVzcGF0aCAoKSB7CmRlZiBiYXNlX3NldF9maWxlc3BhdGgocGF0aCwgZCk6CiAg
ICBmaWxlc3BhdGggPSBbXQogICAgZXh0cmFwYXRocyA9IChkLmdldFZhcigiRklMRVNFWFRSQVBB
VEhTIikgb3IgIiIpCiAgICAjIFJlbW92ZSBkZWZhdWx0IGZsYWcgd2hpY2ggd2FzIHVzZWQgZm9y
IGNoZWNraW5nCiAgICBleHRyYXBhdGhzID0gZXh0cmFwYXRocy5yZXBsYWNlKCJfX2RlZmF1bHQ6
IiwgIiIpCiAgICAjIERvbid0IHByZXBlbmQgZW1wdHkgc3RyaW5ncyB0byB0aGUgcGF0aCBsaXN0
CiAgICBpZiBleHRyYXBhdGhzICE9ICIiOgogICAgICAgIHBhdGggPSBleHRyYXBhdGhzLnNwbGl0
KCI6IikgKyBwYXRoCiAgICAjIFRoZSAiOiIgZW5zdXJlcyB3ZSBoYXZlIGFuICdlbXB0eScgb3Zl
cnJpZGUKICAgIG92ZXJyaWRlcyA9ICgiOiIgKyAoZC5nZXRWYXIoIkZJTEVTT1ZFUlJJREVTIikg
b3IgIiIpKS5zcGxpdCgiOiIpCiAgICBvdmVycmlkZXMucmV2ZXJzZSgpCiAgICBmb3IgbyBpbiBv
dmVycmlkZXM6CiAgICAgICAgZm9yIHAgaW4gcGF0aDoKICAgICAgICAgICAgaWYgcCAhPSAiIjoK
ICAgICAgICAgICAgICAgIGZpbGVzcGF0aC5hcHBlbmQob3MucGF0aC5qb2luKHAsIG8pKQogICAg
cmV0dXJuICI6Ii5qb2luKGZpbGVzcGF0aCkKfQoKCnB5dGhvbiBiYXNlX3ZlcnNpb25fbGVzc19v
cl9lcXVhbCAoKSB7CmRlZiBiYXNlX3ZlcnNpb25fbGVzc19vcl9lcXVhbCh2YXJpYWJsZSwgY2hl
Y2t2YWx1ZSwgdHJ1ZXZhbHVlLCBmYWxzZXZhbHVlLCBkKToKICAgIHJldHVybiBvZS51dGlscy52
ZXJzaW9uX2xlc3Nfb3JfZXF1YWwodmFyaWFibGUsIGNoZWNrdmFsdWUsIHRydWV2YWx1ZSwgZmFs
c2V2YWx1ZSwgZCkKfQoKCnB5dGhvbiBiYmxheWVyc19jb25mX2ZpbGUgKCkgewpkZWYgYmJsYXll
cnNfY29uZl9maWxlKGQpOgogICAgcmV0dXJuIG9zLnBhdGguam9pbihkLmdldFZhcignVE9QRElS
JyksICdjb25mL2JibGF5ZXJzLmNvbmYnKQp9CgoKcHl0aG9uIGJ1aWxkY2ZnX25lZWRlZHZhcnMg
KCkgewpkZWYgYnVpbGRjZmdfbmVlZGVkdmFycyhkKToKICAgIG5lZWRlZF92YXJzID0gb2UuZGF0
YS50eXBlZF92YWx1ZSgiQlVJTERDRkdfTkVFREVEVkFSUyIsIGQpCiAgICBwZXN0ZXJ1c2VyID0g
W10KICAgIGZvciB2IGluIG5lZWRlZF92YXJzOgogICAgICAgIHZhbCA9IGQuZ2V0VmFyKHYpCiAg
ICAgICAgaWYgbm90IHZhbCBvciB2YWwgPT0gJ0lOVkFMSUQnOgogICAgICAgICAgICBwZXN0ZXJ1
c2VyLmFwcGVuZCh2KQoKICAgIGlmIHBlc3RlcnVzZXI6CiAgICAgICAgYmIuZmF0YWwoJ1RoZSBm
b2xsb3dpbmcgdmFyaWFibGUocykgd2VyZSBub3Qgc2V0OiAlc1xuUGxlYXNlIHNldCB0aGVtIGRp
cmVjdGx5LCBvciBjaG9vc2UgYSBNQUNISU5FIG9yIERJU1RSTyB0aGF0IHNldHMgdGhlbS4nICUg
JywgJy5qb2luKHBlc3RlcnVzZXIpKQp9CgoKcHl0aG9uIGJ1aWxkY2ZnX3ZhcnMgKCkgewpkZWYg
YnVpbGRjZmdfdmFycyhkKToKICAgIHN0YXR1c3ZhcnMgPSBvZS5kYXRhLnR5cGVkX3ZhbHVlKCdC
VUlMRENGR19WQVJTJywgZCkKICAgIGZvciB2YXIgaW4gc3RhdHVzdmFyczoKICAgICAgICB2YWx1
ZSA9IGQuZ2V0VmFyKHZhcikKICAgICAgICBpZiB2YWx1ZSBpcyBub3QgTm9uZToKICAgICAgICAg
ICAgeWllbGQgJyUtMTdzID0gIiVzIicgJSAodmFyLCB2YWx1ZSkKfQoKCnB5dGhvbiBjYW5vbmlj
YWxfbGljZW5zZSAoKSB7CmRlZiBjYW5vbmljYWxfbGljZW5zZShkLCBsaWNlbnNlKToKICAgICIi
IgogICAgUmV0dXJuIHRoZSBjYW5vbmljYWwgKFNQRFgpIGZvcm0gb2YgdGhlIGxpY2Vuc2UgaWYg
YXZhaWxhYmxlIChzbyBHUEx2MwogICAgYmVjb21lcyBHUEwtMy4wKSwgZm9yIHRoZSBsaWNlbnNl
IG5hbWVkICdYKycsIHJldHVybiBjYW5vbmljYWwgZm9ybSBvZgogICAgJ1gnIGlmIGF2YWlsYWJl
bCBhbmQgdGhlIHRhaWxpbmcgJysnIChzbyBHUEx2MysgYmVjb21lcyBHUEwtMy4wKyksCiAgICBv
ciB0aGUgcGFzc2VkIGxpY2Vuc2UgaWYgdGhlcmUgaXMgbm8gY2Fub25pY2FsIGZvcm0uCiAgICAi
IiIKICAgIGxpYyA9IGQuZ2V0VmFyRmxhZygnU1BEWExJQ0VOU0VNQVAnLCBsaWNlbnNlKSBvciAi
IgogICAgaWYgbm90IGxpYyBhbmQgbGljZW5zZS5lbmRzd2l0aCgnKycpOgogICAgICAgIGxpYyA9
IGQuZ2V0VmFyRmxhZygnU1BEWExJQ0VOU0VNQVAnLCBsaWNlbnNlLnJzdHJpcCgnKycpKQogICAg
ICAgIGlmIGxpYzoKICAgICAgICAgICAgbGljICs9ICcrJwogICAgcmV0dXJuIGxpYyBvciBsaWNl
bnNlCn0KCgpweXRob24gY2hlY2tfYXBwX2V4aXN0cyAoKSB7CmRlZiBjaGVja19hcHBfZXhpc3Rz
KGFwcCwgZCk6CiAgICBhcHAgPSBkLmV4cGFuZChhcHApLnN0cmlwKCkKICAgIHBhdGggPSBkLmdl
dFZhcignUEFUSCcpCiAgICByZXR1cm4gYm9vbChiYi51dGlscy53aGljaChwYXRoLCBhcHApKQp9
CgoKcHl0aG9uIGNoZWNrX2NvbmZfZXhpc3RzICgpIHsKZGVmIGNoZWNrX2NvbmZfZXhpc3RzKGZu
LCBkYXRhKToKICAgIGJicGF0aCA9IFtdCiAgICBmbiA9IGRhdGEuZXhwYW5kKGZuKQogICAgdmJi
cGF0aCA9IGRhdGEuZ2V0VmFyKCJCQlBBVEgiLCBGYWxzZSkKICAgIGlmIHZiYnBhdGg6CiAgICAg
ICAgYmJwYXRoICs9IHZiYnBhdGguc3BsaXQoIjoiKQogICAgZm9yIHAgaW4gYmJwYXRoOgogICAg
ICAgIGN1cnJuYW1lID0gb3MucGF0aC5qb2luKGRhdGEuZXhwYW5kKHApLCBmbikKICAgICAgICBp
ZiBvcy5hY2Nlc3MoY3Vycm5hbWUsIG9zLlJfT0spOgogICAgICAgICAgICByZXR1cm4gVHJ1ZQog
ICAgcmV0dXJuIEZhbHNlCn0KCgpweXRob24gY2hlY2tfY29ubmVjdGl2aXR5ICgpIHsKZGVmIGNo
ZWNrX2Nvbm5lY3Rpdml0eShkKToKICAgICMgVVJJJ3MgdG8gY2hlY2sgY2FuIGJlIHNldCBpbiB0
aGUgQ09OTkVDVElWSVRZX0NIRUNLX1VSSVMgdmFyaWFibGUKICAgICMgdXNpbmcgdGhlIHNhbWUg
c3ludGF4IGFzIGZvciBTUkNfVVJJLiBJZiB0aGUgdmFyaWFibGUgaXMgbm90IHNldAogICAgIyB0
aGUgY2hlY2sgaXMgc2tpcHBlZAogICAgdGVzdF91cmlzID0gKGQuZ2V0VmFyKCdDT05ORUNUSVZJ
VFlfQ0hFQ0tfVVJJUycpIG9yICIiKS5zcGxpdCgpCiAgICByZXR2YWwgPSAiIgoKICAgIGJibiA9
IGQuZ2V0VmFyKCdCQl9OT19ORVRXT1JLJykKICAgIGlmIGJibiBub3QgaW4gKE5vbmUsICcwJywg
JzEnKToKICAgICAgICByZXR1cm4gJ0JCX05PX05FVFdPUksgc2hvdWxkIGJlICIwIiBvciAiMSIs
IGJ1dCBpdCBpcyAiJXMiJyAlIGJibgoKICAgICMgT25seSBjaGVjayBjb25uZWN0aXZpdHkgaWYg
bmV0d29yayBlbmFibGVkIGFuZCB0aGUKICAgICMgQ09OTkVDVElWSVRZX0NIRUNLX1VSSVMgYXJl
IHNldAogICAgbmV0d29ya19lbmFibGVkID0gbm90IChiYm4gPT0gJzEnKQogICAgY2hlY2tfZW5h
YmxlZCA9IGxlbih0ZXN0X3VyaXMpCiAgICBpZiBjaGVja19lbmFibGVkIGFuZCBuZXR3b3JrX2Vu
YWJsZWQ6CiAgICAgICAgIyBUYWtlIGEgY29weSBvZiB0aGUgZGF0YSBzdG9yZSBhbmQgdW5zZXQg
TUlSUk9SUyBhbmQgUFJFTUlSUk9SUwogICAgICAgIGRhdGEgPSBiYi5kYXRhLmNyZWF0ZUNvcHko
ZCkKICAgICAgICBkYXRhLmRlbFZhcignUFJFTUlSUk9SUycpCiAgICAgICAgZGF0YS5kZWxWYXIo
J01JUlJPUlMnKQogICAgICAgIHRyeToKICAgICAgICAgICAgZmV0Y2hlciA9IGJiLmZldGNoMi5G
ZXRjaCh0ZXN0X3VyaXMsIGRhdGEpCiAgICAgICAgICAgIGZldGNoZXIuY2hlY2tzdGF0dXMoKQog
ICAgICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZXJyOgogICAgICAgICAgICAjIEFsbG93IHRoZSBt
ZXNzYWdlIHRvIGJlIGNvbmZpZ3VyZWQgc28gdGhhdCB1c2VycyBjYW4gYmUKICAgICAgICAgICAg
IyBwb2ludGVkIHRvIGEgc3VwcG9ydCBtZWNoYW5pc20uCiAgICAgICAgICAgIG1zZyA9IGRhdGEu
Z2V0VmFyKCdDT05ORUNUSVZJVFlfQ0hFQ0tfTVNHJykgb3IgIiIKICAgICAgICAgICAgaWYgbGVu
KG1zZykgPT0gMDoKICAgICAgICAgICAgICAgIG1zZyA9ICIlcy5cbiIgJSBlcnIKICAgICAgICAg
ICAgICAgIG1zZyArPSAiICAgIFBsZWFzZSBlbnN1cmUgeW91ciBob3N0J3MgbmV0d29yayBpcyBj
b25maWd1cmVkIGNvcnJlY3RseSxcbiIKICAgICAgICAgICAgICAgIG1zZyArPSAiICAgIG9yIHNl
dCBCQl9OT19ORVRXT1JLID0gXCIxXCIgdG8gZGlzYWJsZSBuZXR3b3JrIGFjY2VzcyBpZlxuIgog
ICAgICAgICAgICAgICAgbXNnICs9ICIgICAgYWxsIHJlcXVpcmVkIHNvdXJjZXMgYXJlIG9uIGxv
Y2FsIGRpc2suXG4iCiAgICAgICAgICAgIHJldHZhbCA9IG1zZwoKICAgIHJldHVybiByZXR2YWwK
fQoKCnB5dGhvbiBjaGVja19jcmVhdGVfbG9uZ19maWxlbmFtZSAoKSB7CmRlZiBjaGVja19jcmVh
dGVfbG9uZ19maWxlbmFtZShmaWxlcGF0aCwgcGF0aG5hbWUpOgogICAgaW1wb3J0IHN0cmluZywg
cmFuZG9tCiAgICB0ZXN0ZmlsZSA9IG9zLnBhdGguam9pbihmaWxlcGF0aCwgJycuam9pbihyYW5k
b20uY2hvaWNlKHN0cmluZy5hc2NpaV9sZXR0ZXJzKSBmb3IgeCBpbiByYW5nZSgyMDApKSkKICAg
IHRyeToKICAgICAgICBpZiBub3Qgb3MucGF0aC5leGlzdHMoZmlsZXBhdGgpOgogICAgICAgICAg
ICBiYi51dGlscy5ta2RpcmhpZXIoZmlsZXBhdGgpCiAgICAgICAgZiA9IG9wZW4odGVzdGZpbGUs
ICJ3IikKICAgICAgICBmLmNsb3NlKCkKICAgICAgICBvcy5yZW1vdmUodGVzdGZpbGUpCiAgICBl
eGNlcHQgSU9FcnJvciBhcyBlOgogICAgICAgIGltcG9ydCBlcnJubwogICAgICAgIGVyciwgc3Ry
ZXJyb3IgPSBlLmFyZ3MKICAgICAgICBpZiBlcnIgPT0gZXJybm8uRU5BTUVUT09MT05HOgogICAg
ICAgICAgICByZXR1cm4gIkZhaWxlZCB0byBjcmVhdGUgYSBmaWxlIHdpdGggYSBsb25nIG5hbWUg
aW4gJXMuIFBsZWFzZSB1c2UgYSBmaWxlc3lzdGVtIHRoYXQgZG9lcyBub3QgdW5yZWFzb25hYmx5
IGxpbWl0IGZpbGVuYW1lIGxlbmd0aC5cbiIgJSBwYXRobmFtZQogICAgICAgIGVsc2U6CiAgICAg
ICAgICAgIHJldHVybiAiRmFpbGVkIHRvIGNyZWF0ZSBhIGZpbGUgaW4gJXM6ICVzLlxuIiAlIChw
YXRobmFtZSwgc3RyZXJyb3IpCiAgICBleGNlcHQgT1NFcnJvciBhcyBlOgogICAgICAgIGVycm5v
LCBzdHJlcnJvciA9IGUuYXJncwogICAgICAgIHJldHVybiAiRmFpbGVkIHRvIGNyZWF0ZSAlcyBk
aXJlY3RvcnkgaW4gd2hpY2ggdG8gcnVuIGxvbmcgbmFtZSBzYW5pdHkgY2hlY2s6ICVzLlxuIiAl
IChwYXRobmFtZSwgc3RyZXJyb3IpCiAgICByZXR1cm4gIiIKfQoKCnB5dGhvbiBjaGVja19nY2Nf
bWFyY2ggKCkgewpkZWYgY2hlY2tfZ2NjX21hcmNoKHNhbml0eV9kYXRhKToKICAgIHJlc3VsdCA9
IFRydWUKICAgIG1lc3NhZ2UgPSAiIgoKICAgICMgQ2hlY2sgaWYgLW1hcmNoIG5vdCBpbiBCVUlM
RF9DRkxBR1MKICAgIGlmIHNhbml0eV9kYXRhLmdldFZhcigiQlVJTERfQ0ZMQUdTIikuZmluZCgi
LW1hcmNoIikgPCAwOgogICAgICAgIHJlc3VsdCA9IEZhbHNlCgogICAgICAgICMgQ29uc3RydWN0
IGEgdGVzdCBmaWxlCiAgICAgICAgZiA9IG9wZW4oImdjY190ZXN0LmMiLCAidyIpCiAgICAgICAg
Zi53cml0ZSgiaW50IG1haW4gKCl7IHZvbGF0aWxlIGludCBhdG9taWMgPSAyOyBfX3N5bmNfYm9v
bF9jb21wYXJlX2FuZF9zd2FwICgmYXRvbWljLCAyLCAzKTsgcmV0dXJuIDA7IH1cbiIpCiAgICAg
ICAgZi5jbG9zZSgpCgogICAgICAgICMgQ2hlY2sgaWYgR0NDIGNvdWxkIHdvcmsgd2l0aG91dCBt
YXJjaAogICAgICAgIGlmIG5vdCByZXN1bHQ6CiAgICAgICAgICAgIHN0YXR1cyxyZXMgPSBvZS51
dGlscy5nZXRzdGF0dXNvdXRwdXQoc2FuaXR5X2RhdGEuZXhwYW5kKCIke0JVSUxEX0NDfSBnY2Nf
dGVzdC5jIC1vIGdjY190ZXN0IikpCiAgICAgICAgICAgIGlmIHN0YXR1cyA9PSAwOgogICAgICAg
ICAgICAgICAgcmVzdWx0ID0gVHJ1ZTsKCiAgICAgICAgaWYgbm90IHJlc3VsdDoKICAgICAgICAg
ICAgc3RhdHVzLHJlcyA9IG9lLnV0aWxzLmdldHN0YXR1c291dHB1dChzYW5pdHlfZGF0YS5leHBh
bmQoIiR7QlVJTERfQ0N9IC1tYXJjaD1uYXRpdmUgZ2NjX3Rlc3QuYyAtbyBnY2NfdGVzdCIpKQog
ICAgICAgICAgICBpZiBzdGF0dXMgPT0gMDoKICAgICAgICAgICAgICAgIG1lc3NhZ2UgPSAiQlVJ
TERfQ0ZMQUdTX2FwcGVuZCA9IFwiIC1tYXJjaD1uYXRpdmVcIiIKICAgICAgICAgICAgICAgIHJl
c3VsdCA9IFRydWU7CgogICAgICAgIGlmIG5vdCByZXN1bHQ6CiAgICAgICAgICAgIGJ1aWxkX2Fy
Y2ggPSBzYW5pdHlfZGF0YS5nZXRWYXIoJ0JVSUxEX0FSQ0gnKQogICAgICAgICAgICBzdGF0dXMs
cmVzID0gb2UudXRpbHMuZ2V0c3RhdHVzb3V0cHV0KHNhbml0eV9kYXRhLmV4cGFuZCgiJHtCVUlM
RF9DQ30gLW1hcmNoPSVzIGdjY190ZXN0LmMgLW8gZ2NjX3Rlc3QiICUgYnVpbGRfYXJjaCkpCiAg
ICAgICAgICAgIGlmIHN0YXR1cyA9PSAwOgogICAgICAgICAgICAgICAgbWVzc2FnZSA9ICJCVUlM
RF9DRkxBR1NfYXBwZW5kID0gXCIgLW1hcmNoPSVzXCIiICUgYnVpbGRfYXJjaAogICAgICAgICAg
ICAgICAgcmVzdWx0ID0gVHJ1ZTsKCiAgICAgICAgb3MucmVtb3ZlKCJnY2NfdGVzdC5jIikKICAg
ICAgICBpZiBvcy5wYXRoLmV4aXN0cygiZ2NjX3Rlc3QiKToKICAgICAgICAgICAgb3MucmVtb3Zl
KCJnY2NfdGVzdCIpCgogICAgcmV0dXJuIChyZXN1bHQsIG1lc3NhZ2UpCn0KCgpweXRob24gY2hl
Y2tfZ2l0X3ZlcnNpb24gKCkgewpkZWYgY2hlY2tfZ2l0X3ZlcnNpb24oc2FuaXR5X2RhdGEpOgog
ICAgZnJvbSBkaXN0dXRpbHMudmVyc2lvbiBpbXBvcnQgTG9vc2VWZXJzaW9uCiAgICBzdGF0dXMs
IHJlc3VsdCA9IG9lLnV0aWxzLmdldHN0YXR1c291dHB1dCgiZ2l0IC0tdmVyc2lvbiAyPiAvZGV2
L251bGwiKQogICAgaWYgc3RhdHVzICE9IDA6CiAgICAgICAgcmV0dXJuICJVbmFibGUgdG8gZXhl
Y3V0ZSBnaXQgLS12ZXJzaW9uLCBleGl0IGNvZGUgJXNcbiIgJSBzdGF0dXMKICAgIHZlcnNpb24g
PSByZXN1bHQuc3BsaXQoKVsyXQogICAgaWYgTG9vc2VWZXJzaW9uKHZlcnNpb24pIDwgTG9vc2VW
ZXJzaW9uKCIxLjguMy4xIik6CiAgICAgICAgcmV0dXJuICJZb3VyIHZlcnNpb24gb2YgZ2l0IGlz
IG9sZGVyIHRoYW4gMS44LjMuMSBhbmQgaGFzIGJ1Z3Mgd2hpY2ggd2lsbCBicmVhayBidWlsZHMu
IFBsZWFzZSBpbnN0YWxsIGEgbmV3ZXIgdmVyc2lvbiBvZiBnaXQuXG4iCiAgICByZXR1cm4gTm9u
ZQp9CgoKcHl0aG9uIGNoZWNrX2xpY2Vuc2VfZmxhZ3MgKCkgewpkZWYgY2hlY2tfbGljZW5zZV9m
bGFncyhkKToKICAgICIiIgogICAgVGhpcyBmdW5jdGlvbiBjaGVja3MgaWYgYSByZWNpcGUgaGFz
IGFueSBMSUNFTlNFX0ZMQUdTIHRoYXQKICAgIGFyZW4ndCB3aGl0ZWxpc3RlZC4KCiAgICBJZiBp
dCBkb2VzLCBpdCByZXR1cm5zIHRoZSBmaXJzdCBMSUNFTlNFX0ZMQUdTIGl0ZW0gbWlzc2luZyBm
cm9tIHRoZQogICAgd2hpdGVsaXN0LCBvciBhbGwgb2YgdGhlIExJQ0VOU0VfRkxBR1MgaWYgdGhl
cmUgaXMgbm8gd2hpdGVsaXN0LgoKICAgIElmIGV2ZXJ5dGhpbmcgaXMgaXMgcHJvcGVybHkgd2hp
dGVsaXN0ZWQsIGl0IHJldHVybnMgTm9uZS4KICAgICIiIgoKICAgIGRlZiBsaWNlbnNlX2ZsYWdf
bWF0Y2hlcyhmbGFnLCB3aGl0ZWxpc3QsIHBuKToKICAgICAgICAiIiIKICAgICAgICBSZXR1cm4g
VHJ1ZSBpZiBmbGFnIG1hdGNoZXMgc29tZXRoaW5nIGluIHdoaXRlbGlzdCwgTm9uZSBpZiBub3Qu
CgogICAgICAgIEJlZm9yZSB3ZSB0ZXN0IGEgZmxhZyBhZ2FpbnN0IHRoZSB3aGl0ZWxpc3QsIHdl
IGFwcGVuZCBfJHtQTn0KICAgICAgICB0byBpdC4gIFdlIHRoZW4gdHJ5IHRvIG1hdGNoIHRoYXQg
c3RyaW5nIGFnYWluc3QgdGhlCiAgICAgICAgd2hpdGVsaXN0LiAgVGhpcyBjb3ZlcnMgdGhlIG5v
cm1hbCBjYXNlLCB3aGVyZSB3ZSBleHBlY3QKICAgICAgICBMSUNFTlNFX0ZMQUdTIHRvIGJlIGEg
c2ltcGxlIHN0cmluZyBsaWtlICdjb21tZXJjaWFsJywgd2hpY2gKICAgICAgICB0aGUgdXNlciB0
eXBpY2FsbHkgbWF0Y2hlcyBleGFjdGx5IGluIHRoZSB3aGl0ZWxpc3QgYnkKICAgICAgICBleHBs
aWNpdGx5IGFwcGVuZGluZyB0aGUgcGFja2FnZSBuYW1lIGUuZyAnY29tbWVyY2lhbF9mb28nLgog
ICAgICAgIElmIHdlIGZhaWwgdGhlIG1hdGNoIGhvd2V2ZXIsIHdlIHRoZW4gc3BsaXQgdGhlIGZs
YWcgYWNyb3NzCiAgICAgICAgJ18nIGFuZCBhcHBlbmQgZWFjaCBmcmFnbWVudCBhbmQgdGVzdCB1
bnRpbCB3ZSBlaXRoZXIgbWF0Y2ggb3IKICAgICAgICBydW4gb3V0IG9mIGZyYWdtZW50cy4KICAg
ICAgICAiIiIKICAgICAgICBmbGFnX3BuID0gKCIlc18lcyIgJSAoZmxhZywgcG4pKQogICAgICAg
IGZvciBjYW5kaWRhdGUgaW4gd2hpdGVsaXN0OgogICAgICAgICAgICBpZiBmbGFnX3BuID09IGNh
bmRpZGF0ZToKICAgICAgICAgICAgICAgICAgICByZXR1cm4gVHJ1ZQoKICAgICAgICBmbGFnX2N1
ciA9ICIiCiAgICAgICAgZmxhZ21lbnRzID0gZmxhZ19wbi5zcGxpdCgiXyIpCiAgICAgICAgZmxh
Z21lbnRzLnBvcCgpICMgd2UndmUgYWxyZWFkeSB0ZXN0ZWQgdGhlIGZ1bGwgc3RyaW5nCiAgICAg
ICAgZm9yIGZsYWdtZW50IGluIGZsYWdtZW50czoKICAgICAgICAgICAgaWYgZmxhZ19jdXI6CiAg
ICAgICAgICAgICAgICBmbGFnX2N1ciArPSAiXyIKICAgICAgICAgICAgZmxhZ19jdXIgKz0gZmxh
Z21lbnQKICAgICAgICAgICAgZm9yIGNhbmRpZGF0ZSBpbiB3aGl0ZWxpc3Q6CiAgICAgICAgICAg
ICAgICBpZiBmbGFnX2N1ciA9PSBjYW5kaWRhdGU6CiAgICAgICAgICAgICAgICAgICAgcmV0dXJu
IFRydWUKICAgICAgICByZXR1cm4gRmFsc2UKCiAgICBkZWYgYWxsX2xpY2Vuc2VfZmxhZ3NfbWF0
Y2gobGljZW5zZV9mbGFncywgd2hpdGVsaXN0KToKICAgICAgICAiIiIgUmV0dXJuIGZpcnN0IHVu
bWF0Y2hlZCBmbGFnLCBOb25lIGlmIGFsbCBmbGFncyBtYXRjaCAiIiIKICAgICAgICBwbiA9IGQu
Z2V0VmFyKCdQTicpCiAgICAgICAgc3BsaXRfd2hpdGVsaXN0ID0gd2hpdGVsaXN0LnNwbGl0KCkK
ICAgICAgICBmb3IgZmxhZyBpbiBsaWNlbnNlX2ZsYWdzLnNwbGl0KCk6CiAgICAgICAgICAgIGlm
IG5vdCBsaWNlbnNlX2ZsYWdfbWF0Y2hlcyhmbGFnLCBzcGxpdF93aGl0ZWxpc3QsIHBuKToKICAg
ICAgICAgICAgICAgIHJldHVybiBmbGFnCiAgICAgICAgcmV0dXJuIE5vbmUKCiAgICBsaWNlbnNl
X2ZsYWdzID0gZC5nZXRWYXIoJ0xJQ0VOU0VfRkxBR1MnKQogICAgaWYgbGljZW5zZV9mbGFnczoK
ICAgICAgICB3aGl0ZWxpc3QgPSBkLmdldFZhcignTElDRU5TRV9GTEFHU19XSElURUxJU1QnKQog
ICAgICAgIGlmIG5vdCB3aGl0ZWxpc3Q6CiAgICAgICAgICAgIHJldHVybiBsaWNlbnNlX2ZsYWdz
CiAgICAgICAgdW5tYXRjaGVkX2ZsYWcgPSBhbGxfbGljZW5zZV9mbGFnc19tYXRjaChsaWNlbnNl
X2ZsYWdzLCB3aGl0ZWxpc3QpCiAgICAgICAgaWYgdW5tYXRjaGVkX2ZsYWc6CiAgICAgICAgICAg
IHJldHVybiB1bm1hdGNoZWRfZmxhZwogICAgcmV0dXJuIE5vbmUKfQoKCnB5dGhvbiBjaGVja19s
aWNlbnNlX2Zvcm1hdCAoKSB7CmRlZiBjaGVja19saWNlbnNlX2Zvcm1hdChkKToKICAgICIiIgog
ICAgVGhpcyBmdW5jdGlvbiBjaGVja3MgaWYgTElDRU5TRSBpcyB3ZWxsIGRlZmluZWQsCiAgICAg
ICAgVmFsaWRhdGUgb3BlcmF0b3JzIGluIExJQ0VOU0VTLgogICAgICAgIE5vIHNwYWNlcyBhcmUg
YWxsb3dlZCBiZXR3ZWVuIExJQ0VOU0VTLgogICAgIiIiCiAgICBwbiA9IGQuZ2V0VmFyKCdQTicp
CiAgICBsaWNlbnNlcyA9IGQuZ2V0VmFyKCdMSUNFTlNFJykKICAgIGZyb20gb2UubGljZW5zZSBp
bXBvcnQgbGljZW5zZV9vcGVyYXRvciwgbGljZW5zZV9vcGVyYXRvcl9jaGFycywgbGljZW5zZV9w
YXR0ZXJuCgogICAgZWxlbWVudHMgPSBsaXN0KGZpbHRlcihsYW1iZGEgeDogeC5zdHJpcCgpLCBs
aWNlbnNlX29wZXJhdG9yLnNwbGl0KGxpY2Vuc2VzKSkpCiAgICBmb3IgcG9zLCBlbGVtZW50IGlu
IGVudW1lcmF0ZShlbGVtZW50cyk6CiAgICAgICAgaWYgbGljZW5zZV9wYXR0ZXJuLm1hdGNoKGVs
ZW1lbnQpOgogICAgICAgICAgICBpZiBwb3MgPiAwIGFuZCBsaWNlbnNlX3BhdHRlcm4ubWF0Y2go
ZWxlbWVudHNbcG9zIC0gMV0pOgogICAgICAgICAgICAgICAgYmIud2FybignJXM6IExJQ0VOU0Ug
dmFsdWUgIiVzIiBoYXMgYW4gaW52YWxpZCBmb3JtYXQgLSBsaWNlbnNlIG5hbWVzICcgXAogICAg
ICAgICAgICAgICAgICAgICAgICAnbXVzdCBiZSBzZXBhcmF0ZWQgYnkgdGhlIGZvbGxvd2luZyBj
aGFyYWN0ZXJzIHRvIGluZGljYXRlICcgXAogICAgICAgICAgICAgICAgICAgICAgICAndGhlIGxp
Y2Vuc2Ugc2VsZWN0aW9uOiAlcycgJQogICAgICAgICAgICAgICAgICAgICAgICAocG4sIGxpY2Vu
c2VzLCBsaWNlbnNlX29wZXJhdG9yX2NoYXJzKSkKICAgICAgICBlbGlmIG5vdCBsaWNlbnNlX29w
ZXJhdG9yLm1hdGNoKGVsZW1lbnQpOgogICAgICAgICAgICBiYi53YXJuKCclczogTElDRU5TRSB2
YWx1ZSAiJXMiIGhhcyBhbiBpbnZhbGlkIHNlcGFyYXRvciAiJXMiIHRoYXQgaXMgbm90ICcgXAog
ICAgICAgICAgICAgICAgICAgICdpbiB0aGUgdmFsaWQgbGlzdCBvZiBzZXBhcmF0b3JzICglcykn
ICUKICAgICAgICAgICAgICAgICAgICAocG4sIGxpY2Vuc2VzLCBlbGVtZW50LCBsaWNlbnNlX29w
ZXJhdG9yX2NoYXJzKSkKfQoKCnB5dGhvbiBjaGVja19tYWtlX3ZlcnNpb24gKCkgewpkZWYgY2hl
Y2tfbWFrZV92ZXJzaW9uKHNhbml0eV9kYXRhKToKICAgIGZyb20gZGlzdHV0aWxzLnZlcnNpb24g
aW1wb3J0IExvb3NlVmVyc2lvbgogICAgc3RhdHVzLCByZXN1bHQgPSBvZS51dGlscy5nZXRzdGF0
dXNvdXRwdXQoIm1ha2UgLS12ZXJzaW9uIikKICAgIGlmIHN0YXR1cyAhPSAwOgogICAgICAgIHJl
dHVybiAiVW5hYmxlIHRvIGV4ZWN1dGUgbWFrZSAtLXZlcnNpb24sIGV4aXQgY29kZSAlc1xuIiAl
IHN0YXR1cwogICAgdmVyc2lvbiA9IHJlc3VsdC5zcGxpdCgpWzJdCiAgICBpZiBMb29zZVZlcnNp
b24odmVyc2lvbikgPT0gTG9vc2VWZXJzaW9uKCIzLjgyIik6CiAgICAgICAgIyBDb25zdHJ1Y3Qg
YSB0ZXN0IGZpbGUKICAgICAgICBmID0gb3BlbigibWFrZWZpbGVfdGVzdCIsICJ3IikKICAgICAg
ICBmLndyaXRlKCJtYWtlZmlsZV90ZXN0LmE6IG1ha2VmaWxlX3Rlc3RfYS5jIG1ha2VmaWxlX3Rl
c3RfYi5jIG1ha2VmaWxlX3Rlc3QuYSggbWFrZWZpbGVfdGVzdF9hLmMgbWFrZWZpbGVfdGVzdF9i
LmMpXG4iKQogICAgICAgIGYud3JpdGUoIlxuIikKICAgICAgICBmLndyaXRlKCJtYWtlZmlsZV90
ZXN0X2EuYzpcbiIpCiAgICAgICAgZi53cml0ZSgiCXRvdWNoICRAXG4iKQogICAgICAgIGYud3Jp
dGUoIlxuIikKICAgICAgICBmLndyaXRlKCJtYWtlZmlsZV90ZXN0X2IuYzpcbiIpCiAgICAgICAg
Zi53cml0ZSgiCXRvdWNoICRAXG4iKQogICAgICAgIGYuY2xvc2UoKQoKICAgICAgICAjIENoZWNr
IGlmIG1ha2UgMy44MiBoYXMgYmVlbiBwYXRjaGVkCiAgICAgICAgc3RhdHVzLHJlc3VsdCA9IG9l
LnV0aWxzLmdldHN0YXR1c291dHB1dCgibWFrZSAtZiBtYWtlZmlsZV90ZXN0IikKCiAgICAgICAg
b3MucmVtb3ZlKCJtYWtlZmlsZV90ZXN0IikKICAgICAgICBpZiBvcy5wYXRoLmV4aXN0cygibWFr
ZWZpbGVfdGVzdF9hLmMiKToKICAgICAgICAgICAgb3MucmVtb3ZlKCJtYWtlZmlsZV90ZXN0X2Eu
YyIpCiAgICAgICAgaWYgb3MucGF0aC5leGlzdHMoIm1ha2VmaWxlX3Rlc3RfYi5jIik6CiAgICAg
ICAgICAgIG9zLnJlbW92ZSgibWFrZWZpbGVfdGVzdF9iLmMiKQogICAgICAgIGlmIG9zLnBhdGgu
ZXhpc3RzKCJtYWtlZmlsZV90ZXN0LmEiKToKICAgICAgICAgICAgb3MucmVtb3ZlKCJtYWtlZmls
ZV90ZXN0LmEiKQoKICAgICAgICBpZiBzdGF0dXMgIT0gMDoKICAgICAgICAgICAgcmV0dXJuICJZ
b3VyIHZlcnNpb24gb2YgbWFrZSAzLjgyIGlzIGJyb2tlbi4gUGxlYXNlIHJldmVydCB0byAzLjgx
IG9yIGluc3RhbGwgYSBwYXRjaGVkIHZlcnNpb24uXG4iCiAgICByZXR1cm4gTm9uZQoKfQoKCnB5
dGhvbiBjaGVja19ub3RfbmZzICgpIHsKZGVmIGNoZWNrX25vdF9uZnMocGF0aCwgbmFtZSk6CiAg
ICAjIFRoZSBuZnMnIGZpbGVzeXN0ZW0gaWQgaXMgNjk2OQogICAgaWYgZ2V0X2ZpbGVzeXN0ZW1f
aWQocGF0aCkgPT0gIjY5NjkiOgogICAgICAgIHJldHVybiAiVGhlICVzOiAlcyBjYW4ndCBiZSBs
b2NhdGVkIG9uIG5mcy5cbiIgJSAobmFtZSwgcGF0aCkKICAgIHJldHVybiAiIgp9CgoKcHl0aG9u
IGNoZWNrX3BhdGhfbGVuZ3RoICgpIHsKZGVmIGNoZWNrX3BhdGhfbGVuZ3RoKGZpbGVwYXRoLCBw
YXRobmFtZSwgbGltaXQpOgogICAgaWYgbGVuKGZpbGVwYXRoKSA+IGxpbWl0OgogICAgICAgIHJl
dHVybiAiVGhlIGxlbmd0aCBvZiAlcyBpcyBsb25nZXIgdGhhbiAlcywgdGhpcyB3b3VsZCBjYXVz
ZSB1bmV4cGVjdGVkIGVycm9ycywgcGxlYXNlIHVzZSBhIHNob3J0ZXIgcGF0aC5cbiIgJSAocGF0
aG5hbWUsIGxpbWl0KQogICAgcmV0dXJuICIiCn0KCgpweXRob24gY2hlY2tfcGVybF9tb2R1bGVz
ICgpIHsKZGVmIGNoZWNrX3BlcmxfbW9kdWxlcyhzYW5pdHlfZGF0YSk6CiAgICByZXQgPSAiIgog
ICAgbW9kdWxlcyA9ICggIlRleHQ6OlBhcnNlV29yZHMiLCAiVGhyZWFkOjpRdWV1ZSIsICJEYXRh
OjpEdW1wZXIiICkKICAgIGVycnJlc3VsdCA9ICcnCiAgICBmb3IgbSBpbiBtb2R1bGVzOgogICAg
ICAgIHN0YXR1cywgcmVzdWx0ID0gb2UudXRpbHMuZ2V0c3RhdHVzb3V0cHV0KCJwZXJsIC1lICd1
c2UgJXMnIiAlIG0pCiAgICAgICAgaWYgc3RhdHVzICE9IDA6CiAgICAgICAgICAgIGVycnJlc3Vs
dCArPSByZXN1bHQKICAgICAgICAgICAgcmV0ICs9ICIlcyAiICUgbQogICAgaWYgcmV0OgogICAg
ICAgIHJldHVybiAiUmVxdWlyZWQgcGVybCBtb2R1bGUocykgbm90IGZvdW5kOiAlc1xuXG4lc1xu
IiAlIChyZXQsIGVycnJlc3VsdCkKICAgIHJldHVybiBOb25lCn0KCgpweXRob24gY2hlY2tfc2Fu
aXR5ICgpIHsKZGVmIGNoZWNrX3Nhbml0eShzYW5pdHlfZGF0YSk6CiAgICBjbGFzcyBTYW5pdHlT
dGF0dXMob2JqZWN0KToKICAgICAgICBkZWYgX19pbml0X18oc2VsZik6CiAgICAgICAgICAgIHNl
bGYubWVzc2FnZXMgPSAiIgogICAgICAgICAgICBzZWxmLm5ldHdvcmtfZXJyb3IgPSBGYWxzZQoK
ICAgICAgICBkZWYgYWRkcmVzdWx0KHNlbGYsIG1lc3NhZ2UpOgogICAgICAgICAgICBpZiBtZXNz
YWdlOgogICAgICAgICAgICAgICAgc2VsZi5tZXNzYWdlcyA9IHNlbGYubWVzc2FnZXMgKyBtZXNz
YWdlCgogICAgc3RhdHVzID0gU2FuaXR5U3RhdHVzKCkKCiAgICB0bXBkaXIgPSBzYW5pdHlfZGF0
YS5nZXRWYXIoJ1RNUERJUicpCiAgICBzc3RhdGVfZGlyID0gc2FuaXR5X2RhdGEuZ2V0VmFyKCdT
U1RBVEVfRElSJykKCiAgICBjaGVja19zeW1saW5rKHNzdGF0ZV9kaXIsIHNhbml0eV9kYXRhKQoK
ICAgICMgQ2hlY2sgc2F2ZWQgc2FuaXR5IGluZm8KICAgIGxhc3Rfc2FuaXR5X3ZlcnNpb24gPSAw
CiAgICBsYXN0X3RtcGRpciA9ICIiCiAgICBsYXN0X3NzdGF0ZV9kaXIgPSAiIgogICAgbGFzdF9u
YXRpdmVsc2JzdHIgPSAiIgogICAgc2FuaXR5dmVyZmlsZSA9IHNhbml0eV9kYXRhLmV4cGFuZCgi
JHtUT1BESVJ9L2NvbmYvc2FuaXR5X2luZm8iKQogICAgaWYgb3MucGF0aC5leGlzdHMoc2FuaXR5
dmVyZmlsZSk6CiAgICAgICAgd2l0aCBvcGVuKHNhbml0eXZlcmZpbGUsICdyJykgYXMgZjoKICAg
ICAgICAgICAgZm9yIGxpbmUgaW4gZjoKICAgICAgICAgICAgICAgIGlmIGxpbmUuc3RhcnRzd2l0
aCgnU0FOSVRZX1ZFUlNJT04nKToKICAgICAgICAgICAgICAgICAgICBsYXN0X3Nhbml0eV92ZXJz
aW9uID0gaW50KGxpbmUuc3BsaXQoKVsxXSkKICAgICAgICAgICAgICAgIGlmIGxpbmUuc3RhcnRz
d2l0aCgnVE1QRElSJyk6CiAgICAgICAgICAgICAgICAgICAgbGFzdF90bXBkaXIgPSBsaW5lLnNw
bGl0KClbMV0KICAgICAgICAgICAgICAgIGlmIGxpbmUuc3RhcnRzd2l0aCgnU1NUQVRFX0RJUicp
OgogICAgICAgICAgICAgICAgICAgIGxhc3Rfc3N0YXRlX2RpciA9IGxpbmUuc3BsaXQoKVsxXQog
ICAgICAgICAgICAgICAgaWYgbGluZS5zdGFydHN3aXRoKCdOQVRJVkVMU0JTVFJJTkcnKToKICAg
ICAgICAgICAgICAgICAgICBsYXN0X25hdGl2ZWxzYnN0ciA9IGxpbmUuc3BsaXQoKVsxXQoKICAg
IGNoZWNrX3Nhbml0eV9ldmVyeWJ1aWxkKHN0YXR1cywgc2FuaXR5X2RhdGEpCgogICAgc2FuaXR5
X3ZlcnNpb24gPSBpbnQoc2FuaXR5X2RhdGEuZ2V0VmFyKCdTQU5JVFlfVkVSU0lPTicpIG9yIDEp
CiAgICBuZXR3b3JrX2Vycm9yID0gRmFsc2UKICAgICMgTkFUSVZFTFNCU1RSSU5HIHZhciBtYXkg
aGF2ZSBiZWVuIG92ZXJyaWRkZW4gd2l0aCAidW5pdmVyc2FsIiwgc28KICAgICMgZ2V0IGFjdHVh
bCBob3N0IGRpc3RyaWJ1dGlvbiBpZCBhbmQgdmVyc2lvbgogICAgbmF0aXZlbHNic3RyID0gbHNi
X2Rpc3Ryb19pZGVudGlmaWVyKHNhbml0eV9kYXRhKQogICAgaWYgbGFzdF9zYW5pdHlfdmVyc2lv
biA8IHNhbml0eV92ZXJzaW9uIG9yIGxhc3RfbmF0aXZlbHNic3RyICE9IG5hdGl2ZWxzYnN0cjoK
ICAgICAgICBjaGVja19zYW5pdHlfdmVyc2lvbl9jaGFuZ2Uoc3RhdHVzLCBzYW5pdHlfZGF0YSkK
ICAgICAgICBzdGF0dXMuYWRkcmVzdWx0KGNoZWNrX3Nhbml0eV9zc3RhdGVfZGlyX2NoYW5nZShz
c3RhdGVfZGlyLCBzYW5pdHlfZGF0YSkpCiAgICBlbHNlOgogICAgICAgIGlmIGxhc3Rfc3N0YXRl
X2RpciAhPSBzc3RhdGVfZGlyOgogICAgICAgICAgICBzdGF0dXMuYWRkcmVzdWx0KGNoZWNrX3Nh
bml0eV9zc3RhdGVfZGlyX2NoYW5nZShzc3RhdGVfZGlyLCBzYW5pdHlfZGF0YSkpCgogICAgaWYg
b3MucGF0aC5leGlzdHMob3MucGF0aC5kaXJuYW1lKHNhbml0eXZlcmZpbGUpKSBhbmQgbm90IHN0
YXR1cy5tZXNzYWdlczoKICAgICAgICB3aXRoIG9wZW4oc2FuaXR5dmVyZmlsZSwgJ3cnKSBhcyBm
OgogICAgICAgICAgICBmLndyaXRlKCJTQU5JVFlfVkVSU0lPTiAlc1xuIiAlIHNhbml0eV92ZXJz
aW9uKQogICAgICAgICAgICBmLndyaXRlKCJUTVBESVIgJXNcbiIgJSB0bXBkaXIpCiAgICAgICAg
ICAgIGYud3JpdGUoIlNTVEFURV9ESVIgJXNcbiIgJSBzc3RhdGVfZGlyKQogICAgICAgICAgICBm
LndyaXRlKCJOQVRJVkVMU0JTVFJJTkcgJXNcbiIgJSBuYXRpdmVsc2JzdHIpCgogICAgc2FuaXR5
X2hhbmRsZV9hYmljaGFuZ2VzKHN0YXR1cywgc2FuaXR5X2RhdGEpCgogICAgaWYgc3RhdHVzLm1l
c3NhZ2VzICE9ICIiOgogICAgICAgIHJhaXNlX3Nhbml0eV9lcnJvcihzYW5pdHlfZGF0YS5leHBh
bmQoc3RhdHVzLm1lc3NhZ2VzKSwgc2FuaXR5X2RhdGEsIHN0YXR1cy5uZXR3b3JrX2Vycm9yKQp9
CgoKcHl0aG9uIGNoZWNrX3Nhbml0eV9ldmVudGhhbmRsZXIgKCkgewogICAgaWYgYmIuZXZlbnQu
Z2V0TmFtZShlKSA9PSAiU2FuaXR5Q2hlY2siOgogICAgICAgIHNhbml0eV9kYXRhID0gY29weV9k
YXRhKGUpCiAgICAgICAgY2hlY2tfc2FuaXR5KHNhbml0eV9kYXRhKQogICAgICAgIGlmIGUuZ2Vu
ZXJhdGVldmVudHM6CiAgICAgICAgICAgIHNhbml0eV9kYXRhLnNldFZhcigiU0FOSVRZX1VTRV9F
VkVOVFMiLCAiMSIpCiAgICAgICAgYmIuZXZlbnQuZmlyZShiYi5ldmVudC5TYW5pdHlDaGVja1Bh
c3NlZCgpLCBlLmRhdGEpCiAgICBlbGlmIGJiLmV2ZW50LmdldE5hbWUoZSkgPT0gIk5ldHdvcmtU
ZXN0IjoKICAgICAgICBzYW5pdHlfZGF0YSA9IGNvcHlfZGF0YShlKQogICAgICAgIGlmIGUuZ2Vu
ZXJhdGVldmVudHM6CiAgICAgICAgICAgIHNhbml0eV9kYXRhLnNldFZhcigiU0FOSVRZX1VTRV9F
VkVOVFMiLCAiMSIpCiAgICAgICAgYmIuZXZlbnQuZmlyZShiYi5ldmVudC5OZXR3b3JrVGVzdEZh
aWxlZCgpIGlmIGNoZWNrX2Nvbm5lY3Rpdml0eShzYW5pdHlfZGF0YSkgZWxzZSBiYi5ldmVudC5O
ZXR3b3JrVGVzdFBhc3NlZCgpLCBlLmRhdGEpCgogICAgcmV0dXJuCn0KCgpweXRob24gY2hlY2tf
c2FuaXR5X2V2ZXJ5YnVpbGQgKCkgewpkZWYgY2hlY2tfc2FuaXR5X2V2ZXJ5YnVpbGQoc3RhdHVz
LCBkKToKICAgIGltcG9ydCBvcywgc3RhdAogICAgIyBTYW5pdHkgdGVzdHMgd2hpY2ggdGVzdCB0
aGUgdXNlcnMgZW52aXJvbm1lbnQgc28gbmVlZCB0byBydW4gYXQgZWFjaCBidWlsZCAob3IgYXJl
IHNvIGNoZWFwCiAgICAjIGl0IG1ha2VzIHNlbnNlIHRvIGFsd2F5cyBydW4gdGhlbS4KCiAgICBp
ZiAwID09IG9zLmdldHVpZCgpOgogICAgICAgIHJhaXNlX3Nhbml0eV9lcnJvcigiRG8gbm90IHVz
ZSBCaXRiYWtlIGFzIHJvb3QuIiwgZCkKCiAgICAjIENoZWNrIHRoZSBQeXRob24gdmVyc2lvbiwg
d2Ugbm93IGhhdmUgYSBtaW5pbXVtIG9mIFB5dGhvbiAyLjcuMwogICAgaW1wb3J0IHN5cwogICAg
aWYgc3lzLmhleHZlcnNpb24gPCAweDAyMDcwM0YwOgogICAgICAgIHN0YXR1cy5hZGRyZXN1bHQo
J1RoZSBzeXN0ZW0gcmVxdWlyZXMgYXQgbGVhc3QgUHl0aG9uIDIuNy4zIHRvIHJ1bi4gUGxlYXNl
IHVwZGF0ZSB5b3VyIFB5dGhvbiBpbnRlcnByZXRlci5cbicpCgogICAgIyBDaGVjayB0aGUgYml0
YmFrZSB2ZXJzaW9uIG1lZXRzIG1pbmltdW0gcmVxdWlyZW1lbnRzCiAgICBmcm9tIGRpc3R1dGls
cy52ZXJzaW9uIGltcG9ydCBMb29zZVZlcnNpb24KICAgIG1pbnZlcnNpb24gPSBkLmdldFZhcign
QkJfTUlOX1ZFUlNJT04nKQogICAgaWYgKExvb3NlVmVyc2lvbihiYi5fX3ZlcnNpb25fXykgPCBM
b29zZVZlcnNpb24obWludmVyc2lvbikpOgogICAgICAgIHN0YXR1cy5hZGRyZXN1bHQoJ0JpdGJh
a2UgdmVyc2lvbiAlcyBpcyByZXF1aXJlZCBhbmQgdmVyc2lvbiAlcyB3YXMgZm91bmRcbicgJSAo
bWludmVyc2lvbiwgYmIuX192ZXJzaW9uX18pKQoKICAgIHNhbml0eV9jaGVja19sb2NhbGUoZCkK
CiAgICBwYXRocyA9IGQuZ2V0VmFyKCdQQVRIJykuc3BsaXQoIjoiKQogICAgaWYgIi4iIGluIHBh
dGhzIG9yICIuLyIgaW4gcGF0aHMgb3IgIiIgaW4gcGF0aHM6CiAgICAgICAgc3RhdHVzLmFkZHJl
c3VsdCgiUEFUSCBjb250YWlucyAnLicsICcuLycgb3IgJycgKGVtcHR5IGVsZW1lbnQpLCB3aGlj
aCB3aWxsIGJyZWFrIHRoZSBidWlsZCwgcGxlYXNlIHJlbW92ZSB0aGlzLlxuUGFyc2VkIFBBVEgg
aXMgIiArIHN0cihwYXRocykgKyAiXG4iKQoKICAgICMgQ2hlY2sgdGhhdCB0aGUgRElTVFJPIGlz
IHZhbGlkLCBpZiBzZXQKICAgICMgbmVlZCB0byB0YWtlIGludG8gYWNjb3VudCBESVNUUk8gcmVu
YW1pbmcgRElTVFJPCiAgICBkaXN0cm8gPSBkLmdldFZhcignRElTVFJPJykKICAgIGlmIGRpc3Ry
byBhbmQgZGlzdHJvICE9ICJub2Rpc3RybyI6CiAgICAgICAgaWYgbm90ICggY2hlY2tfY29uZl9l
eGlzdHMoImNvbmYvZGlzdHJvLyR7RElTVFJPfS5jb25mIiwgZCkgb3IgY2hlY2tfY29uZl9leGlz
dHMoImNvbmYvZGlzdHJvL2luY2x1ZGUvJHtESVNUUk99LmluYyIsIGQpICk6CiAgICAgICAgICAg
IHN0YXR1cy5hZGRyZXN1bHQoIkRJU1RSTyAnJXMnIG5vdCBmb3VuZC4gUGxlYXNlIHNldCBhIHZh
bGlkIERJU1RSTyBpbiB5b3VyIGxvY2FsLmNvbmZcbiIgJSBkLmdldFZhcigiRElTVFJPIikpCgog
ICAgIyBDaGVjayB0aGF0IERMX0RJUiBpcyBzZXQsIGV4aXN0cyBhbmQgaXMgd3JpdGFibGUuIElu
IHRoZW9yeSwgd2Ugc2hvdWxkIG5ldmVyIGV2ZW4gaGl0IHRoZSBjaGVjayBpZiBETF9ESVIgaXNu
J3QKICAgICMgc2V0LCBzaW5jZSBzbyBtdWNoIHJlbGllcyBvbiBpdCBiZWluZyBzZXQuCiAgICBk
bGRpciA9IGQuZ2V0VmFyKCdETF9ESVInKQogICAgaWYgbm90IGRsZGlyOgogICAgICAgIHN0YXR1
cy5hZGRyZXN1bHQoIkRMX0RJUiBpcyBub3Qgc2V0LiBZb3VyIGVudmlyb25tZW50IGlzIG1pc2Nv
bmZpZ3VyZWQsIGNoZWNrIHRoYXQgRExfRElSIGlzIHNldCwgYW5kIGlmIHRoZSBkaXJlY3Rvcnkg
ZXhpc3RzLCB0aGF0IGl0IGlzIHdyaXRhYmxlLiBcbiIpCiAgICBpZiBvcy5wYXRoLmV4aXN0cyhk
bGRpcikgYW5kIG5vdCBvcy5hY2Nlc3MoZGxkaXIsIG9zLldfT0spOgogICAgICAgIHN0YXR1cy5h
ZGRyZXN1bHQoIkRMX0RJUjogJXMgZXhpc3RzIGJ1dCB5b3UgZG8gbm90IGFwcGVhciB0byBoYXZl
IHdyaXRlIGFjY2VzcyB0byBpdC4gXG4iICUgZGxkaXIpCiAgICBjaGVja19zeW1saW5rKGRsZGly
LCBkKQoKICAgICMgQ2hlY2sgdGhhdCB0aGUgTUFDSElORSBpcyB2YWxpZCwgaWYgaXQgaXMgc2V0
CiAgICBtYWNoaW5ldmFsaWQgPSBUcnVlCiAgICBpZiBkLmdldFZhcignTUFDSElORScpOgogICAg
ICAgIGlmIG5vdCBjaGVja19jb25mX2V4aXN0cygiY29uZi9tYWNoaW5lLyR7TUFDSElORX0uY29u
ZiIsIGQpOgogICAgICAgICAgICBzdGF0dXMuYWRkcmVzdWx0KCdNQUNISU5FPSVzIGlzIGludmFs
aWQuIFBsZWFzZSBzZXQgYSB2YWxpZCBNQUNISU5FIGluIHlvdXIgbG9jYWwuY29uZiwgZW52aXJv
bm1lbnQgb3Igb3RoZXIgY29uZmlndXJhdGlvbiBmaWxlLlxuJyAlIChkLmdldFZhcignTUFDSElO
RScpKSkKICAgICAgICAgICAgbWFjaGluZXZhbGlkID0gRmFsc2UKICAgICAgICBlbHNlOgogICAg
ICAgICAgICBzdGF0dXMuYWRkcmVzdWx0KGNoZWNrX3Nhbml0eV92YWxpZG1hY2hpbmUoZCkpCiAg
ICBlbHNlOgogICAgICAgIHN0YXR1cy5hZGRyZXN1bHQoJ1BsZWFzZSBzZXQgYSBNQUNISU5FIGlu
IHlvdXIgbG9jYWwuY29uZiBvciBlbnZpcm9ubWVudFxuJykKICAgICAgICBtYWNoaW5ldmFsaWQg
PSBGYWxzZQogICAgaWYgbWFjaGluZXZhbGlkOgogICAgICAgIHN0YXR1cy5hZGRyZXN1bHQoY2hl
Y2tfdG9vbGNoYWluKGQpKQoKICAgICMgQ2hlY2sgdGhhdCB0aGUgU0RLTUFDSElORSBpcyB2YWxp
ZCwgaWYgaXQgaXMgc2V0CiAgICBpZiBkLmdldFZhcignU0RLTUFDSElORScpOgogICAgICAgIGlm
IG5vdCBjaGVja19jb25mX2V4aXN0cygiY29uZi9tYWNoaW5lLXNkay8ke1NES01BQ0hJTkV9LmNv
bmYiLCBkKToKICAgICAgICAgICAgc3RhdHVzLmFkZHJlc3VsdCgnU3BlY2lmaWVkIFNES01BQ0hJ
TkUgdmFsdWUgaXMgbm90IHZhbGlkXG4nKQogICAgICAgIGVsaWYgZC5nZXRWYXIoJ1NES19BUkNI
JywgRmFsc2UpID09ICIke0JVSUxEX0FSQ0h9IjoKICAgICAgICAgICAgc3RhdHVzLmFkZHJlc3Vs
dCgnU0RLTUFDSElORSBpcyBzZXQsIGJ1dCBTREtfQVJDSCBoYXMgbm90IGJlZW4gY2hhbmdlZCBh
cyBhIHJlc3VsdCAtIFNES01BQ0hJTkUgbWF5IGhhdmUgYmVlbiBzZXQgdG9vIGxhdGUgKGUuZy4g
aW4gdGhlIGRpc3RybyBjb25maWd1cmF0aW9uKVxuJykKCiAgICBjaGVja19zdXBwb3J0ZWRfZGlz
dHJvKGQpCgogICAgb21hc2sgPSBvcy51bWFzaygwbzAyMikKICAgIGlmIG9tYXNrICYgMG83NTU6
CiAgICAgICAgc3RhdHVzLmFkZHJlc3VsdCgiUGxlYXNlIHVzZSBhIHVtYXNrIHdoaWNoIGFsbG93
cyBhK3J4IGFuZCB1K3J3eFxuIikKICAgIG9zLnVtYXNrKG9tYXNrKQoKICAgIGlmIGQuZ2V0VmFy
KCdUQVJHRVRfQVJDSCcpID09ICJhcm0iOgogICAgICAgICMgVGhpcyBwYXRoIGlzIG5vIGxvbmdl
ciB1c2VyLXJlYWRhYmxlIGluIG1vZGVybiAodmVyeSByZWNlbnQpIExpbnV4CiAgICAgICAgdHJ5
OgogICAgICAgICAgICBpZiBvcy5wYXRoLmV4aXN0cygiL3Byb2Mvc3lzL3ZtL21tYXBfbWluX2Fk
ZHIiKToKICAgICAgICAgICAgICAgIGYgPSBvcGVuKCIvcHJvYy9zeXMvdm0vbW1hcF9taW5fYWRk
ciIsICJyIikKICAgICAgICAgICAgICAgIHRyeToKICAgICAgICAgICAgICAgICAgICBpZiAoaW50
KGYucmVhZCgpLnN0cmlwKCkpID4gNjU1MzYpOgogICAgICAgICAgICAgICAgICAgICAgICBzdGF0
dXMuYWRkcmVzdWx0KCIvcHJvYy9zeXMvdm0vbW1hcF9taW5fYWRkciBpcyBub3QgPD0gNjU1MzYu
IFRoaXMgd2lsbCBjYXVzZSBwcm9ibGVtcyB3aXRoIHFlbXUgc28gcGxlYXNlIGZpeCB0aGUgdmFs
dWUgKGFzIHJvb3QpLlxuXG5UbyBmaXggdGhpcyBpbiBsYXRlciByZWJvb3RzLCBzZXQgdm0ubW1h
cF9taW5fYWRkciA9IDY1NTM2IGluIC9ldGMvc3lzY3RsLmNvbmYuXG4iKQogICAgICAgICAgICAg
ICAgZmluYWxseToKICAgICAgICAgICAgICAgICAgICBmLmNsb3NlKCkKICAgICAgICBleGNlcHQ6
CiAgICAgICAgICAgIHBhc3MKCiAgICBvZXJvb3QgPSBkLmdldFZhcignQ09SRUJBU0UnKQogICAg
aWYgb2Vyb290LmZpbmQoJysnKSAhPSAtMToKICAgICAgICBzdGF0dXMuYWRkcmVzdWx0KCJFcnJv
ciwgeW91IGhhdmUgYW4gaW52YWxpZCBjaGFyYWN0ZXIgKCspIGluIHlvdXIgQ09SRUJBU0UgZGly
ZWN0b3J5IHBhdGguIFBsZWFzZSBtb3ZlIHRoZSBpbnN0YWxsYXRpb24gdG8gYSBkaXJlY3Rvcnkg
d2hpY2ggZG9lc24ndCBpbmNsdWRlIGFueSArIGNoYXJhY3RlcnMuIikKICAgIGlmIG9lcm9vdC5m
aW5kKCdAJykgIT0gLTE6CiAgICAgICAgc3RhdHVzLmFkZHJlc3VsdCgiRXJyb3IsIHlvdSBoYXZl
IGFuIGludmFsaWQgY2hhcmFjdGVyIChAKSBpbiB5b3VyIENPUkVCQVNFIGRpcmVjdG9yeSBwYXRo
LiBQbGVhc2UgbW92ZSB0aGUgaW5zdGFsbGF0aW9uIHRvIGEgZGlyZWN0b3J5IHdoaWNoIGRvZXNu
J3QgaW5jbHVkZSBhbnkgQCBjaGFyYWN0ZXJzLiIpCiAgICBpZiBvZXJvb3QuZmluZCgnICcpICE9
IC0xOgogICAgICAgIHN0YXR1cy5hZGRyZXN1bHQoIkVycm9yLCB5b3UgaGF2ZSBhIHNwYWNlIGlu
IHlvdXIgQ09SRUJBU0UgZGlyZWN0b3J5IHBhdGguIFBsZWFzZSBtb3ZlIHRoZSBpbnN0YWxsYXRp
b24gdG8gYSBkaXJlY3Rvcnkgd2hpY2ggZG9lc24ndCBpbmNsdWRlIGEgc3BhY2Ugc2luY2UgYXV0
b3Rvb2xzIGRvZXNuJ3Qgc3VwcG9ydCB0aGlzLiIpCgogICAgIyBDaGVjayB0aGUgZm9ybWF0IG9m
IE1JUlJPUlMsIFBSRU1JUlJPUlMgYW5kIFNTVEFURV9NSVJST1JTCiAgICBpbXBvcnQgcmUKICAg
IG1pcnJvcl92YXJzID0gWydNSVJST1JTJywgJ1BSRU1JUlJPUlMnLCAnU1NUQVRFX01JUlJPUlMn
XQogICAgcHJvdG9jb2xzID0gWydodHRwJywgJ2Z0cCcsICdmaWxlJywgJ2h0dHBzJywgXAogICAg
ICAgICAgICAgICAgICdnaXQnLCAnZ2l0c20nLCAnaGcnLCAnb3NjJywgJ3A0JywgJ3N2bicsIFwK
ICAgICAgICAgICAgICAgICAnYnpyJywgJ2N2cycsICducG0nLCAnc2Z0cCcsICdzc2gnLCAnczMn
IF0KICAgIGZvciBtaXJyb3JfdmFyIGluIG1pcnJvcl92YXJzOgogICAgICAgIG1pcnJvcnMgPSAo
ZC5nZXRWYXIobWlycm9yX3Zhcikgb3IgJycpLnJlcGxhY2UoJ1xcbicsICcgJykuc3BsaXQoKQoK
ICAgICAgICAjIFNwbGl0IGludG8gcGFpcnMKICAgICAgICBpZiBsZW4obWlycm9ycykgJSAyICE9
IDA6CiAgICAgICAgICAgIGJiLndhcm4oJ0ludmFsaWQgbWlycm9yIHZhcmlhYmxlIHZhbHVlIGZv
ciAlczogJXMsIHNob3VsZCBjb250YWluIHBhaXJlZCBtZW1iZXJzLicgJSAobWlycm9yX3Zhciwg
bWlycm9ycy5zdHJpcCgpKSkKICAgICAgICAgICAgY29udGludWUKICAgICAgICBtaXJyb3JzID0g
bGlzdCh6aXAoKltpdGVyKG1pcnJvcnMpXSoyKSkKCiAgICAgICAgZm9yIG1pcnJvcl9lbnRyeSBp
biBtaXJyb3JzOgogICAgICAgICAgICBwYXR0ZXJuLCBtaXJyb3IgPSBtaXJyb3JfZW50cnkKCiAg
ICAgICAgICAgIGRlY29kZWQgPSBiYi5mZXRjaDIuZGVjb2RldXJsKHBhdHRlcm4pCiAgICAgICAg
ICAgIHRyeToKICAgICAgICAgICAgICAgIHBhdHRlcm5fc2NoZW1lID0gcmUuY29tcGlsZShkZWNv
ZGVkWzBdKQogICAgICAgICAgICBleGNlcHQgcmUuZXJyb3IgYXMgZXhjOgogICAgICAgICAgICAg
ICAgYmIud2FybignSW52YWxpZCBzY2hlbWUgcmVnZXggKCVzKSBpbiAlczsgJXMnICUgKHBhdHRl
cm4sIG1pcnJvcl92YXIsIG1pcnJvcl9lbnRyeSkpCiAgICAgICAgICAgICAgICBjb250aW51ZQoK
ICAgICAgICAgICAgaWYgbm90IGFueShwYXR0ZXJuX3NjaGVtZS5tYXRjaChwcm90b2NvbCkgZm9y
IHByb3RvY29sIGluIHByb3RvY29scyk6CiAgICAgICAgICAgICAgICBiYi53YXJuKCdJbnZhbGlk
IHByb3RvY29sICglcykgaW4gJXM6ICVzJyAlIChkZWNvZGVkWzBdLCBtaXJyb3JfdmFyLCBtaXJy
b3JfZW50cnkpKQogICAgICAgICAgICAgICAgY29udGludWUKCiAgICAgICAgICAgIGlmIG5vdCBh
bnkobWlycm9yLnN0YXJ0c3dpdGgocHJvdG9jb2wgKyAnOi8vJykgZm9yIHByb3RvY29sIGluIHBy
b3RvY29scyk6CiAgICAgICAgICAgICAgICBiYi53YXJuKCdJbnZhbGlkIHByb3RvY29sIGluICVz
OiAlcycgJSAobWlycm9yX3ZhciwgbWlycm9yX2VudHJ5KSkKICAgICAgICAgICAgICAgIGNvbnRp
bnVlCgogICAgICAgICAgICBpZiBtaXJyb3Iuc3RhcnRzd2l0aCgnZmlsZTovLycpOgogICAgICAg
ICAgICAgICAgaW1wb3J0IHVybGxpYgogICAgICAgICAgICAgICAgY2hlY2tfc3ltbGluayh1cmxs
aWIucGFyc2UudXJscGFyc2UobWlycm9yKS5wYXRoLCBkKQogICAgICAgICAgICAgICAgIyBTU1RB
VEVfTUlSUk9SIGVuZHMgd2l0aCBhIC9QQVRIIHN0cmluZwogICAgICAgICAgICAgICAgaWYgbWly
cm9yLmVuZHN3aXRoKCcvUEFUSCcpOgogICAgICAgICAgICAgICAgICAgICMgcmVtb3ZlIC9QQVRI
JCBmcm9tIFNTVEFURV9NSVJST1IgdG8gZ2V0IGEgd29ya2luZwogICAgICAgICAgICAgICAgICAg
ICMgYmFzZSBkaXJlY3RvcnkgcGF0aAogICAgICAgICAgICAgICAgICAgIG1pcnJvcl9iYXNlID0g
dXJsbGliLnBhcnNlLnVybHBhcnNlKG1pcnJvcls6LTEqbGVuKCcvUEFUSCcpXSkucGF0aAogICAg
ICAgICAgICAgICAgICAgIGNoZWNrX3N5bWxpbmsobWlycm9yX2Jhc2UsIGQpCgogICAgIyBDaGVj
ayB0aGF0IFRNUERJUiBoYXNuJ3QgY2hhbmdlZCBsb2NhdGlvbiBzaW5jZSB0aGUgbGFzdCB0aW1l
IHdlIHdlcmUgcnVuCiAgICB0bXBkaXIgPSBkLmdldFZhcignVE1QRElSJykKICAgIGNoZWNrZmls
ZSA9IG9zLnBhdGguam9pbih0bXBkaXIsICJzYXZlZF90bXBkaXIiKQogICAgaWYgb3MucGF0aC5l
eGlzdHMoY2hlY2tmaWxlKToKICAgICAgICB3aXRoIG9wZW4oY2hlY2tmaWxlLCAiciIpIGFzIGY6
CiAgICAgICAgICAgIHNhdmVkX3RtcGRpciA9IGYucmVhZCgpLnN0cmlwKCkKICAgICAgICAgICAg
aWYgKHNhdmVkX3RtcGRpciAhPSB0bXBkaXIpOgogICAgICAgICAgICAgICAgc3RhdHVzLmFkZHJl
c3VsdCgiRXJyb3IsIFRNUERJUiBoYXMgY2hhbmdlZCBsb2NhdGlvbi4gWW91IG5lZWQgdG8gZWl0
aGVyIG1vdmUgaXQgYmFjayB0byAlcyBvciByZWJ1aWxkXG4iICUgc2F2ZWRfdG1wZGlyKQogICAg
ZWxzZToKICAgICAgICBiYi51dGlscy5ta2RpcmhpZXIodG1wZGlyKQogICAgICAgICMgUmVtb3Zl
IHNldHVpZCwgc2V0Z2lkIGFuZCBzdGlja3kgYml0cyBmcm9tIFRNUERJUgogICAgICAgIHRyeToK
ICAgICAgICAgICAgb3MuY2htb2QodG1wZGlyLCBvcy5zdGF0KHRtcGRpcikuc3RfbW9kZSAmIH4g
c3RhdC5TX0lTVUlEKQogICAgICAgICAgICBvcy5jaG1vZCh0bXBkaXIsIG9zLnN0YXQodG1wZGly
KS5zdF9tb2RlICYgfiBzdGF0LlNfSVNHSUQpCiAgICAgICAgICAgIG9zLmNobW9kKHRtcGRpciwg
b3Muc3RhdCh0bXBkaXIpLnN0X21vZGUgJiB+IHN0YXQuU19JU1ZUWCkKICAgICAgICBleGNlcHQg
T1NFcnJvciBhcyBleGM6CiAgICAgICAgICAgIGJiLndhcm4oIlVuYWJsZSB0byBjaG1vZCBUTVBE
SVI6ICVzIiAlIGV4YykKICAgICAgICB3aXRoIG9wZW4oY2hlY2tmaWxlLCAidyIpIGFzIGY6CiAg
ICAgICAgICAgIGYud3JpdGUodG1wZGlyKQoKICAgICMgSWYgL2Jpbi9zaCBpcyBhIHN5bWxpbmss
IGNoZWNrIHRoYXQgaXQgcG9pbnRzIHRvIGRhc2ggb3IgYmFzaAogICAgaWYgb3MucGF0aC5pc2xp
bmsoJy9iaW4vc2gnKToKICAgICAgICByZWFsX3NoID0gb3MucGF0aC5yZWFscGF0aCgnL2Jpbi9z
aCcpCiAgICAgICAgIyBEdWUgdG8gdXBkYXRlLWFsdGVybmF0aXZlcywgdGhlIHNoZWxsIG5hbWUg
bWF5IHRha2UgdmFyaW91cwogICAgICAgICMgZm9ybXMsIHN1Y2ggYXMgL2Jpbi9kYXNoLCBiaW4v
YmFzaCwgL2Jpbi9iYXNoLmJhc2ggLi4uCiAgICAgICAgaWYgJy9kYXNoJyBub3QgaW4gcmVhbF9z
aCBhbmQgJy9iYXNoJyBub3QgaW4gcmVhbF9zaDoKICAgICAgICAgICAgc3RhdHVzLmFkZHJlc3Vs
dCgiRXJyb3IsIC9iaW4vc2ggbGlua3MgdG8gJXMsIG11c3QgYmUgZGFzaCBvciBiYXNoXG4iICUg
cmVhbF9zaCkKfQoKCnB5dGhvbiBjaGVja19zYW5pdHlfc3N0YXRlX2Rpcl9jaGFuZ2UgKCkgewpk
ZWYgY2hlY2tfc2FuaXR5X3NzdGF0ZV9kaXJfY2hhbmdlKHNzdGF0ZV9kaXIsIGRhdGEpOgogICAg
IyBTYW5pdHkgY2hlY2tzIHRvIGJlIGRvbmUgd2hlbiB0aGUgdmFsdWUgb2YgU1NUQVRFX0RJUiBj
aGFuZ2VzCgogICAgIyBDaGVjayB0aGF0IFNTVEFURV9ESVIgaXNuJ3Qgb24gYSBmaWxlc3lzdGVt
IHdpdGggbGltaXRlZCBmaWxlbmFtZSBsZW5ndGggKGVnLiBlQ3J5cHRGUykKICAgIHRlc3Rtc2cg
PSAiIgogICAgaWYgc3N0YXRlX2RpciAhPSAiIjoKICAgICAgICB0ZXN0bXNnID0gY2hlY2tfY3Jl
YXRlX2xvbmdfZmlsZW5hbWUoc3N0YXRlX2RpciwgIlNTVEFURV9ESVIiKQogICAgICAgICMgSWYg
d2UgZG9uJ3QgaGF2ZSBwZXJtaXNzaW9ucyB0byBTU1RBVEVfRElSLCBzdWdnZXN0IHRoZSB1c2Vy
IHNldCBpdCBhcyBhbiBTU1RBVEVfTUlSUk9SUwogICAgICAgIHRyeToKICAgICAgICAgICAgZXJy
ID0gdGVzdG1zZy5zcGxpdCgnOiAnKVsxXS5zdHJpcCgpCiAgICAgICAgICAgIGlmIGVyciA9PSAi
UGVybWlzc2lvbiBkZW5pZWQuIjoKICAgICAgICAgICAgICAgIHRlc3Rtc2cgPSB0ZXN0bXNnICsg
IllvdSBjb3VsZCB0cnkgdXNpbmcgJXMgaW4gU1NUQVRFX01JUlJPUlMgcmF0aGVyIHRoYW4gYXMg
YW4gU1NUQVRFX0NBQ0hFLlxuIiAlIChzc3RhdGVfZGlyKQogICAgICAgIGV4Y2VwdCBJbmRleEVy
cm9yOgogICAgICAgICAgICBwYXNzCiAgICByZXR1cm4gdGVzdG1zZwp9CgoKcHl0aG9uIGNoZWNr
X3Nhbml0eV92YWxpZG1hY2hpbmUgKCkgewpkZWYgY2hlY2tfc2FuaXR5X3ZhbGlkbWFjaGluZShz
YW5pdHlfZGF0YSk6CiAgICBtZXNzYWdlcyA9ICIiCgogICAgIyBDaGVjayBUVU5FX0FSQ0ggaXMg
c2V0CiAgICBpZiBzYW5pdHlfZGF0YS5nZXRWYXIoJ1RVTkVfQVJDSCcpID09ICdJTlZBTElEJzoK
ICAgICAgICBtZXNzYWdlcyA9IG1lc3NhZ2VzICsgJ1RVTkVfQVJDSCBpcyB1bnNldC4gUGxlYXNl
IGVuc3VyZSB5b3VyIE1BQ0hJTkUgY29uZmlndXJhdGlvbiBpbmNsdWRlcyBhIHZhbGlkIHR1bmUg
Y29uZmlndXJhdGlvbiBmaWxlIHdoaWNoIHdpbGwgc2V0IHRoaXMgY29ycmVjdGx5LlxuJwoKICAg
ICMgQ2hlY2sgVEFSR0VUX09TIGlzIHNldAogICAgaWYgc2FuaXR5X2RhdGEuZ2V0VmFyKCdUQVJH
RVRfT1MnKSA9PSAnSU5WQUxJRCc6CiAgICAgICAgbWVzc2FnZXMgPSBtZXNzYWdlcyArICdQbGVh
c2Ugc2V0IFRBUkdFVF9PUyBkaXJlY3RseSwgb3IgY2hvb3NlIGEgTUFDSElORSBvciBESVNUUk8g
dGhhdCBkb2VzIHNvLlxuJwoKICAgICMgQ2hlY2sgdGhhdCB3ZSBkb24ndCBoYXZlIGR1cGxpY2F0
ZSBlbnRyaWVzIGluIFBBQ0tBR0VfQVJDSFMgJiB0aGF0IFRVTkVfUEtHQVJDSCBpcyBpbiBQQUNL
QUdFX0FSQ0hTCiAgICBwa2dhcmNocyA9IHNhbml0eV9kYXRhLmdldFZhcignUEFDS0FHRV9BUkNI
UycpCiAgICB0dW5lcGtnID0gc2FuaXR5X2RhdGEuZ2V0VmFyKCdUVU5FX1BLR0FSQ0gnKQogICAg
ZGVmYXVsdHR1bmUgPSBzYW5pdHlfZGF0YS5nZXRWYXIoJ0RFRkFVTFRUVU5FJykKICAgIHR1bmVm
b3VuZCA9IEZhbHNlCiAgICBzZWVuID0ge30KICAgIGR1cHMgPSBbXQoKICAgIGZvciBwYSBpbiBw
a2dhcmNocy5zcGxpdCgpOgogICAgICAgIGlmIHNlZW4uZ2V0KHBhLCAwKSA9PSAxOgogICAgICAg
ICAgICBkdXBzLmFwcGVuZChwYSkKICAgICAgICBlbHNlOgogICAgICAgICAgICBzZWVuW3BhXSA9
IDEKICAgICAgICBpZiBwYSA9PSB0dW5lcGtnOgogICAgICAgICAgICB0dW5lZm91bmQgPSBUcnVl
CgogICAgaWYgbGVuKGR1cHMpOgogICAgICAgIG1lc3NhZ2VzID0gbWVzc2FnZXMgKyAiRXJyb3Is
IHRoZSBQQUNLQUdFX0FSQ0hTIHZhcmlhYmxlIGNvbnRhaW5zIGR1cGxpY2F0ZXMuIFRoZSBmb2xs
b3dpbmcgYXJjaHMgYXJlIGxpc3RlZCBtb3JlIHRoYW4gb25jZTogJXMiICUgIiAiLmpvaW4oZHVw
cykKCiAgICBpZiB0dW5lZm91bmQgPT0gRmFsc2U6CiAgICAgICAgbWVzc2FnZXMgPSBtZXNzYWdl
cyArICJFcnJvciwgdGhlIFBBQ0tBR0VfQVJDSFMgdmFyaWFibGUgKCVzKSBmb3IgREVGQVVMVFRV
TkUgKCVzKSBkb2VzIG5vdCBjb250YWluIFRVTkVfUEtHQVJDSCAoJXMpLiIgJSAocGtnYXJjaHMs
IGRlZmF1bHR0dW5lLCB0dW5lcGtnKQoKICAgIHJldHVybiBtZXNzYWdlcwp9CgoKcHl0aG9uIGNo
ZWNrX3Nhbml0eV92ZXJzaW9uX2NoYW5nZSAoKSB7CmRlZiBjaGVja19zYW5pdHlfdmVyc2lvbl9j
aGFuZ2Uoc3RhdHVzLCBkKToKICAgICMgU2FuaXR5IGNoZWNrcyB0byBiZSBkb25lIHdoZW4gU0FO
SVRZX1ZFUlNJT04gb3IgTkFUSVZFTFNCU1RSSU5HIGNoYW5nZXMKICAgICMgSW4gb3RoZXIgd29y
ZHMsIHRoZXNlIHRlc3RzIHJ1biBvbmNlIGluIGEgZ2l2ZW4gYnVpbGQgZGlyZWN0b3J5IGFuZCB0
aGVuCiAgICAjIG5ldmVyIGFnYWluIHVudGlsIHRoZSBzYW5pdHkgdmVyc2lvbiBvciBob3N0IGRp
c3RydWJ1dGlvbiBpZC92ZXJzaW9uIGNoYW5nZXMuCgogICAgIyBDaGVjayB0aGUgcHl0aG9uIGlu
c3RhbGwgaXMgY29tcGxldGUuIGdsaWItMi4wLW5hdGl2ZXMgcmVxdXJpZXMKICAgICMgeG1sLnBh
cnNlcnMuZXhwYXQKICAgIHRyeToKICAgICAgICBpbXBvcnQgeG1sLnBhcnNlcnMuZXhwYXQKICAg
IGV4Y2VwdCBJbXBvcnRFcnJvcjoKICAgICAgICBzdGF0dXMuYWRkcmVzdWx0KCdZb3VyIHB5dGhv
biBpcyBub3QgYSBmdWxsIGluc3RhbGwuIFBsZWFzZSBpbnN0YWxsIHRoZSBtb2R1bGUgeG1sLnBh
cnNlcnMuZXhwYXQgKHB5dGhvbi14bWwgb24gb3BlblNVU0UgYW5kIFNVU0UgTGludXgpLlxuJykK
ICAgIGltcG9ydCBzdGF0CgogICAgc3RhdHVzLmFkZHJlc3VsdChjaGVja19tYWtlX3ZlcnNpb24o
ZCkpCiAgICBzdGF0dXMuYWRkcmVzdWx0KGNoZWNrX3Rhcl92ZXJzaW9uKGQpKQogICAgc3RhdHVz
LmFkZHJlc3VsdChjaGVja19naXRfdmVyc2lvbihkKSkKICAgIHN0YXR1cy5hZGRyZXN1bHQoY2hl
Y2tfcGVybF9tb2R1bGVzKGQpKQoKICAgIG1pc3NpbmcgPSAiIgoKICAgIGlmIG5vdCBjaGVja19h
cHBfZXhpc3RzKCIke01BS0V9IiwgZCk6CiAgICAgICAgbWlzc2luZyA9IG1pc3NpbmcgKyAiR05V
IG1ha2UsIgoKICAgIGlmIG5vdCBjaGVja19hcHBfZXhpc3RzKCcke0JVSUxEX0NDfScsIGQpOgog
ICAgICAgIG1pc3NpbmcgPSBtaXNzaW5nICsgIkMgQ29tcGlsZXIgKCVzKSwiICUgZC5nZXRWYXIo
IkJVSUxEX0NDIikKCiAgICBpZiBub3QgY2hlY2tfYXBwX2V4aXN0cygnJHtCVUlMRF9DWFh9Jywg
ZCk6CiAgICAgICAgbWlzc2luZyA9IG1pc3NpbmcgKyAiQysrIENvbXBpbGVyICglcyksIiAlIGQu
Z2V0VmFyKCJCVUlMRF9DWFgiKQoKICAgIHJlcXVpcmVkX3V0aWxpdGllcyA9IGQuZ2V0VmFyKCdT
QU5JVFlfUkVRVUlSRURfVVRJTElUSUVTJykKCiAgICBmb3IgdXRpbCBpbiByZXF1aXJlZF91dGls
aXRpZXMuc3BsaXQoKToKICAgICAgICBpZiBub3QgY2hlY2tfYXBwX2V4aXN0cyh1dGlsLCBkKToK
ICAgICAgICAgICAgbWlzc2luZyA9IG1pc3NpbmcgKyAiJXMsIiAlIHV0aWwKCiAgICBpZiBtaXNz
aW5nOgogICAgICAgIG1pc3NpbmcgPSBtaXNzaW5nLnJzdHJpcCgnLCcpCiAgICAgICAgc3RhdHVz
LmFkZHJlc3VsdCgiUGxlYXNlIGluc3RhbGwgdGhlIGZvbGxvd2luZyBtaXNzaW5nIHV0aWxpdGll
czogJXNcbiIgJSBtaXNzaW5nKQoKICAgIGFzc3VtZV9wcm92aWRlZCA9IGQuZ2V0VmFyKCdBU1NV
TUVfUFJPVklERUQnKS5zcGxpdCgpCiAgICAjIENoZWNrIHVzZXIgZG9lc24ndCBoYXZlIEFTU1VN
RV9QUk9WSURFRCA9IGluc3RlYWQgb2YgKz0gaW4gbG9jYWwuY29uZgogICAgaWYgImRpZmZzdGF0
LW5hdGl2ZSIgbm90IGluIGFzc3VtZV9wcm92aWRlZDoKICAgICAgICBzdGF0dXMuYWRkcmVzdWx0
KCdQbGVhc2UgdXNlIEFTU1VNRV9QUk9WSURFRCArPSwgbm90IEFTU1VNRV9QUk9WSURFRCA9IGlu
IHlvdXIgbG9jYWwuY29uZlxuJykKCiAgICBpZiAicWVtdS1uYXRpdmUiIGluIGFzc3VtZV9wcm92
aWRlZDoKICAgICAgICBpZiBub3QgY2hlY2tfYXBwX2V4aXN0cygicWVtdS1hcm0iLCBkKToKICAg
ICAgICAgICAgc3RhdHVzLmFkZHJlc3VsdCgicWVtdS1uYXRpdmUgd2FzIGluIEFTU1VNRV9QUk9W
SURFRCBidXQgdGhlIFFFTVUgYmluYXJpZXMgKHFlbXUtYXJtKSBjYW4ndCBiZSBmb3VuZCBpbiBQ
QVRIIikKCiAgICBpZiAibGlic2RsLW5hdGl2ZSIgaW4gYXNzdW1lX3Byb3ZpZGVkOgogICAgICAg
IGlmIG5vdCBjaGVja19hcHBfZXhpc3RzKCJzZGwtY29uZmlnIiwgZCk6CiAgICAgICAgICAgIHN0
YXR1cy5hZGRyZXN1bHQoImxpYnNkbC1uYXRpdmUgaXMgc2V0IHRvIGJlIEFTU1VNRV9QUk9WSURF
RCBidXQgc2RsLWNvbmZpZyBjYW4ndCBiZSBmb3VuZCBpbiBQQVRILiBQbGVhc2UgZWl0aGVyIGlu
c3RhbGwgaXQsIG9yIGNvbmZpZ3VyZSBxZW11IG5vdCB0byByZXF1aXJlIHNkbC4iKQoKICAgIChy
ZXN1bHQsIG1lc3NhZ2UpID0gY2hlY2tfZ2NjX21hcmNoKGQpCiAgICBpZiByZXN1bHQgYW5kIG1l
c3NhZ2U6CiAgICAgICAgc3RhdHVzLmFkZHJlc3VsdCgiWW91ciBnY2MgdmVyc2lvbiBpcyBvbGRl
ciB0aGFuIDQuNSwgcGxlYXNlIGFkZCB0aGUgZm9sbG93aW5nIHBhcmFtIHRvIGxvY2FsLmNvbmZc
biBcCiAgICAgICAgJXNcbiIgJSBtZXNzYWdlKQogICAgaWYgbm90IHJlc3VsdDoKICAgICAgICBz
dGF0dXMuYWRkcmVzdWx0KCJZb3VyIGdjYyB2ZXJzaW9uIGlzIG9sZGVyIHRoYW4gNC41IG9yIGlz
IG5vdCB3b3JraW5nIHByb3Blcmx5LiAgUGxlYXNlIHZlcmlmeSB5b3UgY2FuIGJ1aWxkIikKICAg
ICAgICBzdGF0dXMuYWRkcmVzdWx0KCIgYW5kIGxpbmsgc29tZXRoaW5nIHRoYXQgdXNlcyBhdG9t
aWMgb3BlcmF0aW9ucywgc3VjaCBhczogXG4iKQogICAgICAgIHN0YXR1cy5hZGRyZXN1bHQoIiAg
ICAgICAgX19zeW5jX2Jvb2xfY29tcGFyZV9hbmRfc3dhcCAoJmF0b21pYywgMiwgMyk7XG4iKQoK
ICAgICMgQ2hlY2sgdGhhdCBUTVBESVIgaXNuJ3Qgb24gYSBmaWxlc3lzdGVtIHdpdGggbGltaXRl
ZCBmaWxlbmFtZSBsZW5ndGggKGVnLiBlQ3J5cHRGUykKICAgIHRtcGRpciA9IGQuZ2V0VmFyKCdU
TVBESVInKQogICAgc3RhdHVzLmFkZHJlc3VsdChjaGVja19jcmVhdGVfbG9uZ19maWxlbmFtZSh0
bXBkaXIsICJUTVBESVIiKSkKICAgIHRtcGRpcm1vZGUgPSBvcy5zdGF0KHRtcGRpcikuc3RfbW9k
ZQogICAgaWYgKHRtcGRpcm1vZGUgJiBzdGF0LlNfSVNHSUQpOgogICAgICAgIHN0YXR1cy5hZGRy
ZXN1bHQoIlRNUERJUiBpcyBzZXRnaWQsIHBsZWFzZSBkb24ndCBidWlsZCBpbiBhIHNldGdpZCBk
aXJlY3RvcnkiKQogICAgaWYgKHRtcGRpcm1vZGUgJiBzdGF0LlNfSVNVSUQpOgogICAgICAgIHN0
YXR1cy5hZGRyZXN1bHQoIlRNUERJUiBpcyBzZXR1aWQsIHBsZWFzZSBkb24ndCBidWlsZCBpbiBh
IHNldHVpZCBkaXJlY3RvcnkiKQoKICAgICMgU29tZSB0aGlyZC1wYXJ0eSBzb2Z0d2FyZSBhcHBh
cmVudGx5IHJlbGllcyBvbiBjaG1vZCBldGMuIGJlaW5nIHN1aWQgcm9vdCAoISEpCiAgICBpbXBv
cnQgc3RhdAogICAgc3VpZF9jaGVja19iaW5zID0gImNob3duIGNobW9kIG1rbm9kIi5zcGxpdCgp
CiAgICBmb3IgYmluX2NtZCBpbiBzdWlkX2NoZWNrX2JpbnM6CiAgICAgICAgYmluX3BhdGggPSBi
Yi51dGlscy53aGljaChvcy5lbnZpcm9uWyJQQVRIIl0sIGJpbl9jbWQpCiAgICAgICAgaWYgYmlu
X3BhdGg6CiAgICAgICAgICAgIGJpbl9zdGF0ID0gb3Muc3RhdChiaW5fcGF0aCkKICAgICAgICAg
ICAgaWYgYmluX3N0YXQuc3RfdWlkID09IDAgYW5kIGJpbl9zdGF0LnN0X21vZGUgJiBzdGF0LlNf
SVNVSUQ6CiAgICAgICAgICAgICAgICBzdGF0dXMuYWRkcmVzdWx0KCclcyBoYXMgdGhlIHNldHVp
ZCBiaXQgc2V0LiBUaGlzIGludGVyZmVyZXMgd2l0aCBwc2V1ZG8gYW5kIG1heSBjYXVzZSBvdGhl
ciBpc3N1ZXMgdGhhdCBicmVhayB0aGUgYnVpbGQgcHJvY2Vzcy5cbicgJSBiaW5fcGF0aCkKCiAg
ICAjIENoZWNrIHRoYXQgd2UgY2FuIGZldGNoIGZyb20gdmFyaW91cyBuZXR3b3JrIHRyYW5zcG9y
dHMKICAgIG5ldGNoZWNrID0gY2hlY2tfY29ubmVjdGl2aXR5KGQpCiAgICBzdGF0dXMuYWRkcmVz
dWx0KG5ldGNoZWNrKQogICAgaWYgbmV0Y2hlY2s6CiAgICAgICAgc3RhdHVzLm5ldHdvcmtfZXJy
b3IgPSBUcnVlCgogICAgbm9saWJzID0gZC5nZXRWYXIoJ05PMzJMSUJTJykKICAgIGlmIG5vdCBu
b2xpYnM6CiAgICAgICAgbGliMzJwYXRoID0gJy9saWInCiAgICAgICAgaWYgb3MucGF0aC5leGlz
dHMoJy9saWI2NCcpIGFuZCAoIG9zLnBhdGguaXNsaW5rKCcvbGliNjQnKSBvciBvcy5wYXRoLmlz
bGluaygnL2xpYicpICk6CiAgICAgICAgICAgbGliMzJwYXRoID0gJy9saWIzMicKCiAgICAgICAg
aWYgb3MucGF0aC5leGlzdHMoJyVzL2xpYmMuc28uNicgJSBsaWIzMnBhdGgpIGFuZCBub3Qgb3Mu
cGF0aC5leGlzdHMoJy91c3IvaW5jbHVkZS9nbnUvc3R1YnMtMzIuaCcpOgogICAgICAgICAgICBz
dGF0dXMuYWRkcmVzdWx0KCJZb3UgaGF2ZSBhIDMyLWJpdCBsaWJjLCBidXQgbm8gMzItYml0IGhl
YWRlcnMuICBZb3UgbXVzdCBpbnN0YWxsIHRoZSAzMi1iaXQgbGliYyBoZWFkZXJzLlxuIikKCiAg
ICBiYnBhdGhzID0gZC5nZXRWYXIoJ0JCUEFUSCcpLnNwbGl0KCI6IikKICAgIGlmICgiLiIgaW4g
YmJwYXRocyBvciAiLi8iIGluIGJicGF0aHMgb3IgIiIgaW4gYmJwYXRocyk6CiAgICAgICAgc3Rh
dHVzLmFkZHJlc3VsdCgiQkJQQVRIIHJlZmVyZW5jZXMgdGhlIGN1cnJlbnQgZGlyZWN0b3J5LCBl
aXRoZXIgdGhyb3VnaCAiICAgIFwKICAgICAgICAgICAgICAgICJhbiBlbXB0eSBlbnRyeSwgYSAn
Li8nIG9yIGEgJy4nLlxuXHQgVGhpcyBpcyB1bnNhZmUgYW5kIG1lYW5zIHlvdXIgIlwKICAgICAg
ICAgICAgICAgICJsYXllciBjb25maWd1cmF0aW9uIGlzIGFkZGluZyBlbXB0eSBlbGVtZW50cyB0
byBCQlBBVEguXG5cdCAiXAogICAgICAgICAgICAgICAgIlBsZWFzZSBjaGVjayB5b3VyIGxheWVy
LmNvbmYgZmlsZXMgYW5kIG90aGVyIEJCUEFUSCAiICAgICAgICBcCiAgICAgICAgICAgICAgICAi
c2V0dGluZ3MgdG8gcmVtb3ZlIHRoZSBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5ICIgICAgICAg
ICAgIFwKICAgICAgICAgICAgICAgICJyZWZlcmVuY2VzLlxuIiBcCiAgICAgICAgICAgICAgICAi
UGFyc2VkIEJCUEFUSCBpcyIgKyBzdHIoYmJwYXRocykpOwoKICAgIG9lc19iYl9jb25mID0gZC5n
ZXRWYXIoICdPRVNfQklUQkFLRV9DT05GJykKICAgIGlmIG5vdCBvZXNfYmJfY29uZjoKICAgICAg
ICBzdGF0dXMuYWRkcmVzdWx0KCdZb3UgYXJlIG5vdCB1c2luZyB0aGUgT3BlbkVtYmVkZGVkIHZl
cnNpb24gb2YgY29uZi9iaXRiYWtlLmNvbmYuIFRoaXMgbWVhbnMgeW91ciBlbnZpcm9ubWVudCBp
cyBtaXNjb25maWd1cmVkLCBpbiBwYXJ0aWN1bGFyIGNoZWNrIEJCUEFUSC5cbicpCgogICAgIyBU
aGUgbGVuZ3RoIG9mIFRNUERJUiBjYW4ndCBiZSBsb25nZXIgdGhhbiA0MTAKICAgIHN0YXR1cy5h
ZGRyZXN1bHQoY2hlY2tfcGF0aF9sZW5ndGgodG1wZGlyLCAiVE1QRElSIiwgNDEwKSkKCiAgICAj
IENoZWNrIHRoYXQgVE1QRElSIGlzbid0IGxvY2F0ZWQgb24gbmZzCiAgICBzdGF0dXMuYWRkcmVz
dWx0KGNoZWNrX25vdF9uZnModG1wZGlyLCAiVE1QRElSIikpCn0KCgpweXRob24gY2hlY2tfc3Vw
cG9ydGVkX2Rpc3RybyAoKSB7CmRlZiBjaGVja19zdXBwb3J0ZWRfZGlzdHJvKHNhbml0eV9kYXRh
KToKICAgIGZyb20gZm5tYXRjaCBpbXBvcnQgZm5tYXRjaAoKICAgIHRlc3RlZF9kaXN0cm9zID0g
c2FuaXR5X2RhdGEuZ2V0VmFyKCdTQU5JVFlfVEVTVEVEX0RJU1RST1MnKQogICAgaWYgbm90IHRl
c3RlZF9kaXN0cm9zOgogICAgICAgIHJldHVybgoKICAgIHRyeToKICAgICAgICBkaXN0cm8gPSBv
ZS5sc2IuZGlzdHJvX2lkZW50aWZpZXIoKQogICAgZXhjZXB0IEV4Y2VwdGlvbjoKICAgICAgICBk
aXN0cm8gPSBOb25lCgogICAgaWYgbm90IGRpc3RybzoKICAgICAgICBiYi53YXJuKCdIb3N0IGRp
c3RyaWJ1dGlvbiBjb3VsZCBub3QgYmUgZGV0ZXJtaW5lZDsgeW91IG1heSBwb3NzaWJseSBleHBl
cmllbmNlIHVuZXhwZWN0ZWQgZmFpbHVyZXMuIEl0IGlzIHJlY29tbWVuZGVkIHRoYXQgeW91IHVz
ZSBhIHRlc3RlZCBkaXN0cmlidXRpb24uJykKCiAgICBmb3Igc3VwcG9ydGVkIGluIFt4LnN0cmlw
KCkgZm9yIHggaW4gdGVzdGVkX2Rpc3Ryb3Muc3BsaXQoJ1xcbicpXToKICAgICAgICBpZiBmbm1h
dGNoKGRpc3Rybywgc3VwcG9ydGVkKToKICAgICAgICAgICAgcmV0dXJuCgogICAgYmIud2Fybign
SG9zdCBkaXN0cmlidXRpb24gIiVzIiBoYXMgbm90IGJlZW4gdmFsaWRhdGVkIHdpdGggdGhpcyB2
ZXJzaW9uIG9mIHRoZSBidWlsZCBzeXN0ZW07IHlvdSBtYXkgcG9zc2libHkgZXhwZXJpZW5jZSB1
bmV4cGVjdGVkIGZhaWx1cmVzLiBJdCBpcyByZWNvbW1lbmRlZCB0aGF0IHlvdSB1c2UgYSB0ZXN0
ZWQgZGlzdHJpYnV0aW9uLicgJSBkaXN0cm8pCn0KCgpweXRob24gY2hlY2tfc3ltbGluayAoKSB7
CmRlZiBjaGVja19zeW1saW5rKGxuaywgZGF0YSk6CiAgICBpZiBvcy5wYXRoLmlzbGluayhsbmsp
IGFuZCBub3Qgb3MucGF0aC5leGlzdHMobG5rKToKICAgICAgICByYWlzZV9zYW5pdHlfZXJyb3Io
IiVzIGlzIGEgYnJva2VuIHN5bWxpbmsuIiAlIGxuaywgZGF0YSkKfQoKCnB5dGhvbiBjaGVja190
YXJfdmVyc2lvbiAoKSB7CmRlZiBjaGVja190YXJfdmVyc2lvbihzYW5pdHlfZGF0YSk6CiAgICBm
cm9tIGRpc3R1dGlscy52ZXJzaW9uIGltcG9ydCBMb29zZVZlcnNpb24KICAgIHN0YXR1cywgcmVz
dWx0ID0gb2UudXRpbHMuZ2V0c3RhdHVzb3V0cHV0KCJ0YXIgLS12ZXJzaW9uIikKICAgIGlmIHN0
YXR1cyAhPSAwOgogICAgICAgIHJldHVybiAiVW5hYmxlIHRvIGV4ZWN1dGUgdGFyIC0tdmVyc2lv
biwgZXhpdCBjb2RlICVzXG4iICUgc3RhdHVzCiAgICB2ZXJzaW9uID0gcmVzdWx0LnNwbGl0KClb
M10KICAgIGlmIExvb3NlVmVyc2lvbih2ZXJzaW9uKSA8IExvb3NlVmVyc2lvbigiMS4yNCIpOgog
ICAgICAgIHJldHVybiAiWW91ciB2ZXJzaW9uIG9mIHRhciBpcyBvbGRlciB0aGFuIDEuMjQgYW5k
IGhhcyBidWdzIHdoaWNoIHdpbGwgYnJlYWsgYnVpbGRzLiBQbGVhc2UgaW5zdGFsbCBhIG5ld2Vy
IHZlcnNpb24gb2YgdGFyLlxuIgogICAgcmV0dXJuIE5vbmUKfQoKCnB5dGhvbiBjaGVja190b29s
Y2hhaW4gKCkgewpkZWYgY2hlY2tfdG9vbGNoYWluKGRhdGEpOgogICAgdHVuZV9lcnJvcl9zZXQg
PSBbXQogICAgZGVmdHVuZSA9IGRhdGEuZ2V0VmFyKCJERUZBVUxUVFVORSIpCiAgICB0dW5lX2Vy
cm9ycyA9IGNoZWNrX3Rvb2xjaGFpbl90dW5lKGRhdGEsIGRlZnR1bmUsICdkZWZhdWx0JykKICAg
IGlmIHR1bmVfZXJyb3JzOgogICAgICAgIHR1bmVfZXJyb3Jfc2V0LmFwcGVuZCh0dW5lX2Vycm9y
cykKCiAgICBtdWx0aWxpYnMgPSAoZGF0YS5nZXRWYXIoIk1VTFRJTElCX1ZBUklBTlRTIikgb3Ig
IiIpLnNwbGl0KCkKICAgIGdsb2JhbF9tdWx0aWxpYnMgPSAoZGF0YS5nZXRWYXIoIk1VTFRJTElC
X0dMT0JBTF9WQVJJQU5UUyIpIG9yICIiKS5zcGxpdCgpCgogICAgaWYgbXVsdGlsaWJzOgogICAg
ICAgIHNlZW5fbGlicyA9IFtdCiAgICAgICAgc2Vlbl90dW5lcyA9IFtdCiAgICAgICAgZm9yIGxp
YiBpbiBtdWx0aWxpYnM6CiAgICAgICAgICAgIGlmIGxpYiBpbiBzZWVuX2xpYnM6CiAgICAgICAg
ICAgICAgICB0dW5lX2Vycm9yX3NldC5hcHBlbmQoIlRoZSBtdWx0aWxpYiAnJXMnIGFwcGVhcnMg
bW9yZSB0aGFuIG9uY2UuIiAlIGxpYikKICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAg
IHNlZW5fbGlicy5hcHBlbmQobGliKQogICAgICAgICAgICBpZiBub3QgbGliIGluIGdsb2JhbF9t
dWx0aWxpYnM6CiAgICAgICAgICAgICAgICB0dW5lX2Vycm9yX3NldC5hcHBlbmQoIk11bHRpbGli
ICVzIGlzIG5vdCBwcmVzZW50IGluIE1VTFRJTElCX0dMT0JBTF9WQVJJQU5UUyIgJSBsaWIpCiAg
ICAgICAgICAgIHR1bmUgPSBkYXRhLmdldFZhcigiREVGQVVMVFRVTkVfdmlydGNsYXNzLW11bHRp
bGliLSVzIiAlIGxpYikKICAgICAgICAgICAgaWYgdHVuZSBpbiBzZWVuX3R1bmVzOgogICAgICAg
ICAgICAgICAgdHVuZV9lcnJvcl9zZXQuYXBwZW5kKCJUaGUgdHVuaW5nICclcycgYXBwZWFycyBp
biBtb3JlIHRoYW4gb25lIG11bHRpbGliLiIgJSB0dW5lKQogICAgICAgICAgICBlbHNlOgogICAg
ICAgICAgICAgICAgc2Vlbl9saWJzLmFwcGVuZCh0dW5lKQogICAgICAgICAgICBpZiB0dW5lID09
IGRlZnR1bmU6CiAgICAgICAgICAgICAgICB0dW5lX2Vycm9yX3NldC5hcHBlbmQoIk11bHRpbGli
ICclcycgKCVzKSBpcyBhbHNvIHRoZSBkZWZhdWx0IHR1bmluZy4iICUgKGxpYiwgZGVmdHVuZSkp
CiAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICB0dW5lX2Vycm9ycyA9IGNoZWNrX3Rv
b2xjaGFpbl90dW5lKGRhdGEsIHR1bmUsIGxpYikKICAgICAgICAgICAgaWYgdHVuZV9lcnJvcnM6
CiAgICAgICAgICAgICAgICB0dW5lX2Vycm9yX3NldC5hcHBlbmQodHVuZV9lcnJvcnMpCiAgICBp
ZiB0dW5lX2Vycm9yX3NldDoKICAgICAgICByZXR1cm4gIlRvb2xjaGFpbiB0dW5pbmdzIGludmFs
aWQ6XG4iICsgJ1xuJy5qb2luKHR1bmVfZXJyb3Jfc2V0KSArICJcbiIKCiAgICByZXR1cm4gIiIK
fQoKCnB5dGhvbiBjaGVja190b29sY2hhaW5fYXJnc19wcmVzZW50ICgpIHsKZGVmIGNoZWNrX3Rv
b2xjaGFpbl9hcmdzX3ByZXNlbnQoZGF0YSwgdHVuZSwgbXVsdGlsaWIsIHR1bmVfZXJyb3JzLCB3
aGljaCk6CiAgICBhcmdzX3NldCA9IChkYXRhLmdldFZhcigiVFVORV8lcyIgJSB3aGljaCkgb3Ig
IiIpLnNwbGl0KCkKICAgIGFyZ3Nfd2FudGVkID0gKGRhdGEuZ2V0VmFyKCJUVU5FQUJJX1JFUVVJ
UkVEXyVzX3R1bmUtJXMiICUgKHdoaWNoLCB0dW5lKSkgb3IgIiIpLnNwbGl0KCkKICAgIGFyZ3Nf
bWlzc2luZyA9IFtdCgogICAgIyBJZiBubyBhcmdzIGFyZSBsaXN0ZWQvcmVxdWlyZWQsIHdlIGFy
ZSBkb25lLgogICAgaWYgbm90IGFyZ3Nfd2FudGVkOgogICAgICAgIHJldHVybgogICAgZm9yIGFy
ZyBpbiBhcmdzX3dhbnRlZDoKICAgICAgICBpZiBhcmcgbm90IGluIGFyZ3Nfc2V0OgogICAgICAg
ICAgICBhcmdzX21pc3NpbmcuYXBwZW5kKGFyZykKCiAgICBmb3VuZF9lcnJvcnMgPSBGYWxzZQog
ICAgaWYgYXJnc19taXNzaW5nOgogICAgICAgIGZvdW5kX2Vycm9ycyA9IFRydWUKICAgICAgICB0
dW5lX2Vycm9ycy5hcHBlbmQoIlRVTkVBQkkgZm9yICVzIHJlcXVpcmVzICclcycgaW4gVFVORV8l
cyAoJXMpLiIgJQogICAgICAgICAgICAgICAgICAgICAgICh0dW5lLCAnICcuam9pbihhcmdzX21p
c3NpbmcpLCB3aGljaCwgJyAnLmpvaW4oYXJnc19zZXQpKSkKICAgIHJldHVybiBmb3VuZF9lcnJv
cnMKfQoKCnB5dGhvbiBjaGVja190b29sY2hhaW5fdHVuZSAoKSB7CmRlZiBjaGVja190b29sY2hh
aW5fdHVuZShkYXRhLCB0dW5lLCBtdWx0aWxpYik6CiAgICB0dW5lX2Vycm9ycyA9IFtdCiAgICBp
ZiBub3QgdHVuZToKICAgICAgICByZXR1cm4gIk5vIHR1bmluZyBmb3VuZCBmb3IgJXMgbXVsdGls
aWIuIiAlIG11bHRpbGliCiAgICBsb2NhbGRhdGEgPSBiYi5kYXRhLmNyZWF0ZUNvcHkoZGF0YSkK
ICAgIGlmIG11bHRpbGliICE9ICJkZWZhdWx0IjoKICAgICAgICAjIEFwcGx5IHRoZSBvdmVycmlk
ZXMgc28gd2UgY2FuIGxvb2sgYXQgdGhlIGRldGFpbHMuCiAgICAgICAgb3ZlcnJpZGVzID0gbG9j
YWxkYXRhLmdldFZhcigiT1ZFUlJJREVTIiwgRmFsc2UpICsgIjp2aXJ0Y2xhc3MtbXVsdGlsaWIt
IiArIG11bHRpbGliCiAgICAgICAgbG9jYWxkYXRhLnNldFZhcigiT1ZFUlJJREVTIiwgb3ZlcnJp
ZGVzKQogICAgYmIuZGVidWcoMiwgIlNhbml0eS1jaGVja2luZyB0dW5pbmcgJyVzJyAoJXMpIGZl
YXR1cmVzOiIgJSAodHVuZSwgbXVsdGlsaWIpKQogICAgZmVhdHVyZXMgPSAobG9jYWxkYXRhLmdl
dFZhcigiVFVORV9GRUFUVVJFU190dW5lLSVzIiAlIHR1bmUpIG9yICIiKS5zcGxpdCgpCiAgICBp
ZiBub3QgZmVhdHVyZXM6CiAgICAgICAgcmV0dXJuICJUdW5pbmcgJyVzJyBoYXMgbm8gZGVmaW5l
ZCBmZWF0dXJlcywgYW5kIGNhbm5vdCBiZSB1c2VkLiIgJSB0dW5lCiAgICB2YWxpZF90dW5lcyA9
IGxvY2FsZGF0YS5nZXRWYXJGbGFncygnVFVORVZBTElEJykgb3Ige30KICAgIGNvbmZsaWN0cyA9
IGxvY2FsZGF0YS5nZXRWYXJGbGFncygnVFVORUNPTkZMSUNUUycpIG9yIHt9CiAgICAjIFtkb2Nd
IGlzIHRoZSBkb2N1bWVudGF0aW9uIGZvciB0aGUgdmFyaWFibGUsIG5vdCBhIHJlYWwgZmVhdHVy
ZQogICAgaWYgJ2RvYycgaW4gdmFsaWRfdHVuZXM6CiAgICAgICAgZGVsIHZhbGlkX3R1bmVzWydk
b2MnXQogICAgaWYgJ2RvYycgaW4gY29uZmxpY3RzOgogICAgICAgIGRlbCBjb25mbGljdHNbJ2Rv
YyddCiAgICBmb3IgZmVhdHVyZSBpbiBmZWF0dXJlczoKICAgICAgICBpZiBmZWF0dXJlIGluIGNv
bmZsaWN0czoKICAgICAgICAgICAgZm9yIGNvbmZsaWN0IGluIGNvbmZsaWN0c1tmZWF0dXJlXS5z
cGxpdCgpOgogICAgICAgICAgICAgICAgaWYgY29uZmxpY3QgaW4gZmVhdHVyZXM6CiAgICAgICAg
ICAgICAgICAgICAgdHVuZV9lcnJvcnMuYXBwZW5kKCJGZWF0dXJlICclcycgY29uZmxpY3RzIHdp
dGggJyVzJy4iICUKICAgICAgICAgICAgICAgICAgICAgICAgKGZlYXR1cmUsIGNvbmZsaWN0KSkK
ICAgICAgICBpZiBmZWF0dXJlIGluIHZhbGlkX3R1bmVzOgogICAgICAgICAgICBiYi5kZWJ1Zygy
LCAiICAlczogJXMiICUgKGZlYXR1cmUsIHZhbGlkX3R1bmVzW2ZlYXR1cmVdKSkKICAgICAgICBl
bHNlOgogICAgICAgICAgICB0dW5lX2Vycm9ycy5hcHBlbmQoIkZlYXR1cmUgJyVzJyBpcyBub3Qg
ZGVmaW5lZC4iICUgZmVhdHVyZSkKICAgIHdoaXRlbGlzdCA9IGxvY2FsZGF0YS5nZXRWYXIoIlRV
TkVBQklfV0hJVEVMSVNUIikKICAgIGlmIHdoaXRlbGlzdDoKICAgICAgICB0dW5lYWJpID0gbG9j
YWxkYXRhLmdldFZhcigiVFVORUFCSV90dW5lLSVzIiAlIHR1bmUpCiAgICAgICAgaWYgbm90IHR1
bmVhYmk6CiAgICAgICAgICAgIHR1bmVhYmkgPSB0dW5lCiAgICAgICAgaWYgVHJ1ZSBub3QgaW4g
W3ggaW4gd2hpdGVsaXN0LnNwbGl0KCkgZm9yIHggaW4gdHVuZWFiaS5zcGxpdCgpXToKICAgICAg
ICAgICAgdHVuZV9lcnJvcnMuYXBwZW5kKCJUdW5pbmcgJyVzJyAoJXMpIGNhbm5vdCBiZSB1c2Vk
IHdpdGggYW55IHN1cHBvcnRlZCB0dW5pbmcvQUJJLiIgJQogICAgICAgICAgICAgICAgKHR1bmUs
IHR1bmVhYmkpKQogICAgICAgIGVsc2U6CiAgICAgICAgICAgIGlmIG5vdCBjaGVja190b29sY2hh
aW5fdHVuZV9hcmdzKGxvY2FsZGF0YSwgdHVuZWFiaSwgbXVsdGlsaWIsIHR1bmVfZXJyb3JzKToK
ICAgICAgICAgICAgICAgIGJiLmRlYnVnKDIsICJTYW5pdHkgY2hlY2s6IENvbXBpbGVyIGFyZ3Mg
T0sgZm9yICVzLiIgJSB0dW5lKQogICAgaWYgdHVuZV9lcnJvcnM6CiAgICAgICAgcmV0dXJuICJU
dW5pbmcgJyVzJyBoYXMgdGhlIGZvbGxvd2luZyBlcnJvcnM6XG4iICUgdHVuZSArICdcbicuam9p
bih0dW5lX2Vycm9ycykKfQoKCnB5dGhvbiBjaGVja190b29sY2hhaW5fdHVuZV9hcmdzICgpIHsK
ZGVmIGNoZWNrX3Rvb2xjaGFpbl90dW5lX2FyZ3MoZGF0YSwgdHVuZSwgbXVsdGlsaWIsIGVycnMp
OgogICAgZm91bmRfZXJyb3JzID0gRmFsc2UKICAgIGlmIGNoZWNrX3Rvb2xjaGFpbl9hcmdzX3By
ZXNlbnQoZGF0YSwgdHVuZSwgbXVsdGlsaWIsIGVycnMsICdDQ0FSR1MnKToKICAgICAgICBmb3Vu
ZF9lcnJvcnMgPSBUcnVlCiAgICBpZiBjaGVja190b29sY2hhaW5fYXJnc19wcmVzZW50KGRhdGEs
IHR1bmUsIG11bHRpbGliLCBlcnJzLCAnQVNBUkdTJyk6CiAgICAgICAgZm91bmRfZXJyb3JzID0g
VHJ1ZQogICAgaWYgY2hlY2tfdG9vbGNoYWluX2FyZ3NfcHJlc2VudChkYXRhLCB0dW5lLCBtdWx0
aWxpYiwgZXJycywgJ0xEQVJHUycpOgogICAgICAgIGZvdW5kX2Vycm9ycyA9IFRydWUKCiAgICBy
ZXR1cm4gZm91bmRfZXJyb3JzCn0KCgpweXRob24gY2hlY2tidWlsZHBhdGggKCkgewpkZWYgY2hl
Y2tidWlsZHBhdGgoZmlsZSwgZCk6CiAgICB0bXBkaXIgPSBkLmdldFZhcignVE1QRElSJykKICAg
IHdpdGggb3BlbihmaWxlKSBhcyBmOgogICAgICAgIGZpbGVfY29udGVudCA9IGYucmVhZCgpCiAg
ICAgICAgaWYgdG1wZGlyIGluIGZpbGVfY29udGVudDoKICAgICAgICAgICAgcmV0dXJuIFRydWUK
CiAgICByZXR1cm4gRmFsc2UKfQoKCnB5dGhvbiBjbGVhbl9yZWNpcGVfc3lzcm9vdCAoKSB7CiAg
ICByZXR1cm4KfQoKCnB5dGhvbiBjb25maWdfcmVwYXJzZV9ldmVudGhhbmRsZXIgKCkgewogICAg
c2FuaXR5X2NoZWNrX2NvbmZmaWxlcyhlLmRhdGEpCn0KCgpweXRob24gY29weV9kYXRhICgpIHsK
ZGVmIGNvcHlfZGF0YShlKToKICAgIHNhbml0eV9kYXRhID0gYmIuZGF0YS5jcmVhdGVDb3B5KGUu
ZGF0YSkKICAgIHNhbml0eV9kYXRhLmZpbmFsaXplKCkKICAgIHJldHVybiBzYW5pdHlfZGF0YQp9
CgoKcHl0aG9uIGNvcHlfbGljZW5zZV9maWxlcyAoKSB7CmRlZiBjb3B5X2xpY2Vuc2VfZmlsZXMo
bGljX2ZpbGVzX3BhdGhzLCBkZXN0ZGlyKToKICAgIGltcG9ydCBzaHV0aWwKICAgIGltcG9ydCBl
cnJubwoKICAgIGJiLnV0aWxzLm1rZGlyaGllcihkZXN0ZGlyKQogICAgZm9yIChiYXNlbmFtZSwg
cGF0aCwgYmVnaW5saW5lLCBlbmRsaW5lKSBpbiBsaWNfZmlsZXNfcGF0aHM6CiAgICAgICAgdHJ5
OgogICAgICAgICAgICBzcmMgPSBwYXRoCiAgICAgICAgICAgIGRzdCA9IG9zLnBhdGguam9pbihk
ZXN0ZGlyLCBiYXNlbmFtZSkKICAgICAgICAgICAgaWYgb3MucGF0aC5leGlzdHMoZHN0KToKICAg
ICAgICAgICAgICAgIG9zLnJlbW92ZShkc3QpCiAgICAgICAgICAgIGlmIG9zLnBhdGguaXNsaW5r
KHNyYyk6CiAgICAgICAgICAgICAgICBzcmMgPSBvcy5wYXRoLnJlYWxwYXRoKHNyYykKICAgICAg
ICAgICAgY2FubGluayA9IG9zLmFjY2VzcyhzcmMsIG9zLldfT0spIGFuZCAob3Muc3RhdChzcmMp
LnN0X2RldiA9PSBvcy5zdGF0KGRlc3RkaXIpLnN0X2RldikgYW5kIGJlZ2lubGluZSBpcyBOb25l
IGFuZCBlbmRsaW5lIGlzIE5vbmUKICAgICAgICAgICAgaWYgY2FubGluazoKICAgICAgICAgICAg
ICAgIHRyeToKICAgICAgICAgICAgICAgICAgICBvcy5saW5rKHNyYywgZHN0KQogICAgICAgICAg
ICAgICAgZXhjZXB0IE9TRXJyb3IgYXMgZXJyOgogICAgICAgICAgICAgICAgICAgIGlmIGVyci5l
cnJubyA9PSBlcnJuby5FWERFVjoKICAgICAgICAgICAgICAgICAgICAgICAgIyBDb3B5IGxpY2Vu
c2UgZmlsZXMgaWYgaGFyZC1saW5rIGlzIG5vdCBwb3NzaWJsZSBldmVuIGlmIHN0X2RldiBpcyB0
aGUKICAgICAgICAgICAgICAgICAgICAgICAgIyBzYW1lIG9uIHNvdXJjZSBhbmQgZGVzdGluYXRp
b24gKGRvY2tlciBjb250YWluZXIgd2l0aCBkZXZpY2UtbWFwcGVyPykKICAgICAgICAgICAgICAg
ICAgICAgICAgY2FubGluayA9IEZhbHNlCiAgICAgICAgICAgICAgICAgICAgZWxzZToKICAgICAg
ICAgICAgICAgICAgICAgICAgcmFpc2UKICAgICAgICAgICAgICAgICMgT25seSBjaG93biBpZiB3
ZSBkaWQgaGFyZGxpbmcsIGFuZCwgd2UncmUgcnVubmluZyB1bmRlciBwc2V1ZG8KICAgICAgICAg
ICAgICAgIGlmIGNhbmxpbmsgYW5kIG9zLmVudmlyb24uZ2V0KCdQU0VVRE9fRElTQUJMRUQnKSA9
PSAnMCc6CiAgICAgICAgICAgICAgICAgICAgb3MuY2hvd24oZHN0LDAsMCkKICAgICAgICAgICAg
aWYgbm90IGNhbmxpbms6CiAgICAgICAgICAgICAgICBiZWdpbl9pZHggPSBpbnQoYmVnaW5saW5l
KS0xIGlmIGJlZ2lubGluZSBpcyBub3QgTm9uZSBlbHNlIE5vbmUKICAgICAgICAgICAgICAgIGVu
ZF9pZHggPSBpbnQoZW5kbGluZSkgaWYgZW5kbGluZSBpcyBub3QgTm9uZSBlbHNlIE5vbmUKICAg
ICAgICAgICAgICAgIGlmIGJlZ2luX2lkeCBpcyBOb25lIGFuZCBlbmRfaWR4IGlzIE5vbmU6CiAg
ICAgICAgICAgICAgICAgICAgc2h1dGlsLmNvcHlmaWxlKHNyYywgZHN0KQogICAgICAgICAgICAg
ICAgZWxzZToKICAgICAgICAgICAgICAgICAgICB3aXRoIG9wZW4oc3JjLCAncmInKSBhcyBzcmNf
ZjoKICAgICAgICAgICAgICAgICAgICAgICAgd2l0aCBvcGVuKGRzdCwgJ3diJykgYXMgZHN0X2Y6
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkc3RfZi53cml0ZShiJycuam9pbihzcmNfZi5y
ZWFkbGluZXMoKVtiZWdpbl9pZHg6ZW5kX2lkeF0pKQoKICAgICAgICBleGNlcHQgRXhjZXB0aW9u
IGFzIGU6CiAgICAgICAgICAgIGJiLndhcm4oIkNvdWxkIG5vdCBjb3B5IGxpY2Vuc2UgZmlsZSAl
cyB0byAlczogJXMiICUgKHNyYywgZHN0LCBlKSkKfQoKCnB5dGhvbiBjb3B5ZGVidWdzb3VyY2Vz
ICgpIHsKZGVmIGNvcHlkZWJ1Z3NvdXJjZXMoZGVidWdzcmNkaXIsIGQpOgogICAgIyBUaGUgZGVi
dWcgc3JjIGluZm9ybWF0aW9uIHdyaXR0ZW4gb3V0IHRvIHNvdXJjZWZpbGUgaXMgZnVydGhlciBw
cm9jZWNlc3NlZAogICAgIyBhbmQgY29waWVkIHRvIHRoZSBkZXN0aW5hdGlvbiBoZXJlLgoKICAg
IGltcG9ydCBzdGF0CgogICAgc291cmNlZmlsZSA9IGQuZXhwYW5kKCIke1dPUktESVJ9L2RlYnVn
c291cmNlcy5saXN0IikKICAgIGlmIGRlYnVnc3JjZGlyIGFuZCBvcy5wYXRoLmlzZmlsZShzb3Vy
Y2VmaWxlKToKICAgICAgICBkdmFyID0gZC5nZXRWYXIoJ1BLR0QnKQogICAgICAgIHN0cmlwID0g
ZC5nZXRWYXIoIlNUUklQIikKICAgICAgICBvYmpjb3B5ID0gZC5nZXRWYXIoIk9CSkNPUFkiKQog
ICAgICAgIGRlYnVnZWRpdCA9IGQuZXhwYW5kKCIke1NUQUdJTkdfTElCRElSX05BVElWRX0vcnBt
L2Jpbi9kZWJ1Z2VkaXQiKQogICAgICAgIHdvcmtkaXIgPSBkLmdldFZhcigiV09SS0RJUiIpCiAg
ICAgICAgd29ya3BhcmVudGRpciA9IG9zLnBhdGguZGlybmFtZShvcy5wYXRoLmRpcm5hbWUod29y
a2RpcikpCiAgICAgICAgd29ya2Jhc2VkaXIgPSBvcy5wYXRoLmJhc2VuYW1lKG9zLnBhdGguZGly
bmFtZSh3b3JrZGlyKSkgKyAiLyIgKyBvcy5wYXRoLmJhc2VuYW1lKHdvcmtkaXIpCgogICAgICAg
ICMgSWYgYnVpbGQgcGF0aCBleGlzdHMgaW4gc291cmNlZmlsZSwgaXQgbWVhbnMgdG9vbGNoYWlu
IGRpZCBub3QgdXNlCiAgICAgICAgIyAtZmRlYnVnLXByZWZpeC1tYXAgdG8gY29tcGlsZQogICAg
ICAgIGlmIGNoZWNrYnVpbGRwYXRoKHNvdXJjZWZpbGUsIGQpOgogICAgICAgICAgICBsb2NhbHNy
Y19wcmVmaXggPSB3b3JrcGFyZW50ZGlyICsgIi8iCiAgICAgICAgZWxzZToKICAgICAgICAgICAg
bG9jYWxzcmNfcHJlZml4ID0gIi91c3Ivc3JjL2RlYnVnLyIKCiAgICAgICAgbm9zdWNoZGlyID0g
W10KICAgICAgICBiYXNlcGF0aCA9IGR2YXIKICAgICAgICBmb3IgcCBpbiBkZWJ1Z3NyY2Rpci5z
cGxpdCgiLyIpOgogICAgICAgICAgICBiYXNlcGF0aCA9IGJhc2VwYXRoICsgIi8iICsgcAogICAg
ICAgICAgICBpZiBub3QgY3BhdGguZXhpc3RzKGJhc2VwYXRoKToKICAgICAgICAgICAgICAgIG5v
c3VjaGRpci5hcHBlbmQoYmFzZXBhdGgpCiAgICAgICAgYmIudXRpbHMubWtkaXJoaWVyKGJhc2Vw
YXRoKQogICAgICAgIGNwYXRoLnVwZGF0ZWNhY2hlKGJhc2VwYXRoKQoKICAgICAgICAjIElnbm9y
ZSBmaWxlcyBmcm9tIHRoZSByZWNpcGUgc3lzcm9vdHMgKHRhcmdldCBhbmQgbmF0aXZlKQogICAg
ICAgIHByb2Nlc3NkZWJ1Z3NyYyA9ICAiTENfQUxMPUMgOyBzb3J0IC16IC11ICclcycgfCBlZ3Jl
cCAtdiAteiAnKCg8aW50ZXJuYWw+fDxidWlsdC1pbj4pJHwvLipyZWNpcGUtc3lzcm9vdC4qLykn
IHwgIgogICAgICAgICMgV2UgbmVlZCB0byBpZ25vcmUgZmlsZXMgdGhhdCBhcmUgbm90IGFjdHVh
bGx5IG91cnMKICAgICAgICAjIHdlIGRvIHRoaXMgYnkgb25seSBwYXlpbmcgYXR0ZW50aW9uIHRv
IGl0ZW1zIGZyb20gdGhpcyBwYWNrYWdlCiAgICAgICAgcHJvY2Vzc2RlYnVnc3JjICs9ICJmZ3Jl
cCAtencgJyVzJyB8ICIKICAgICAgICAjIFJlbW92ZSBwcmVmaXggaW4gdGhlIHNvdXJjZSBwYXRo
cwogICAgICAgIHByb2Nlc3NkZWJ1Z3NyYyArPSAic2VkICdzIyVzIyNnJyB8ICIKICAgICAgICBw
cm9jZXNzZGVidWdzcmMgKz0gIihjZCAnJXMnIDsgY3BpbyAtcGQwbWxMIC0tbm8tcHJlc2VydmUt
b3duZXIgJyVzJXMnIDI+L2Rldi9udWxsKSIKCiAgICAgICAgY21kID0gcHJvY2Vzc2RlYnVnc3Jj
ICUgKHNvdXJjZWZpbGUsIHdvcmtiYXNlZGlyLCBsb2NhbHNyY19wcmVmaXgsIHdvcmtwYXJlbnRk
aXIsIGR2YXIsIGRlYnVnc3JjZGlyKQogICAgICAgIChyZXR2YWwsIG91dHB1dCkgPSBvZS51dGls
cy5nZXRzdGF0dXNvdXRwdXQoY21kKQogICAgICAgICMgQ2FuICJmYWlsIiBpZiBpbnRlcm5hbCBo
ZWFkZXJzL3RyYW5zaWVudCBzb3VyY2VzIGFyZSBhdHRlbXB0ZWQKICAgICAgICAjaWYgcmV0dmFs
OgogICAgICAgICMgICAgYmIuZmF0YWwoImRlYnVnIHNvdXJjZSBjb3B5IGZhaWxlZCB3aXRoIGV4
aXQgY29kZSAlcyAoY21kIHdhcyAlcykiICUgKHJldHZhbCwgY21kKSkKCiAgICAgICAgIyBjcGlv
IHNlZW1zIHRvIGhhdmUgYSBidWcgd2l0aCAtbEwgdG9nZXRoZXIgYW5kIHN5bWJvbGljIGxpbmtz
IGFyZSBqdXN0IGNvcGllZCwgbm90IGRlcmVmZXJlbmNlZC4KICAgICAgICAjIFdvcmsgYXJvdW5k
IHRoaXMgYnkgbWFudWFsbHkgZmluZGluZyBhbmQgY29weWluZyBhbnkgc3ltYm9saWMgbGlua3Mg
dGhhdCBtYWRlIGl0IHRocm91Z2guCiAgICAgICAgY21kID0gImZpbmQgJXMlcyAtdHlwZSBsIC1w
cmludDAgLWRlbGV0ZSB8IHNlZCBzIyVzJXMvIyNnIHwgKGNkICclcycgOyBjcGlvIC1wZDBtTCAt
LW5vLXByZXNlcnZlLW93bmVyICclcyVzJyAyPi9kZXYvbnVsbCkiICUgKGR2YXIsIGRlYnVnc3Jj
ZGlyLCBkdmFyLCBkZWJ1Z3NyY2Rpciwgd29ya3BhcmVudGRpciwgZHZhciwgZGVidWdzcmNkaXIp
CiAgICAgICAgKHJldHZhbCwgb3V0cHV0KSA9IG9lLnV0aWxzLmdldHN0YXR1c291dHB1dChjbWQp
CiAgICAgICAgaWYgcmV0dmFsOgogICAgICAgICAgICBiYi5mYXRhbCgiZGVidWdzcmMgc3ltbGlu
ayBmaXh1cCBmYWlsZWQgd2l0aCBleGl0IGNvZGUgJXMgKGNtZCB3YXMgJXMpIiAlIChyZXR2YWws
IGNtZCkpCgogICAgICAgICMgVGhlIGNvcHkgYnkgY3BpbyBtYXkgaGF2ZSByZXN1bHRlZCBpbiBz
b21lIGVtcHR5IGRpcmVjdG9yaWVzISAgUmVtb3ZlIHRoZXNlCiAgICAgICAgY21kID0gImZpbmQg
JXMlcyAtZW1wdHkgLXR5cGUgZCAtZGVsZXRlIiAlIChkdmFyLCBkZWJ1Z3NyY2RpcikKICAgICAg
ICAocmV0dmFsLCBvdXRwdXQpID0gb2UudXRpbHMuZ2V0c3RhdHVzb3V0cHV0KGNtZCkKICAgICAg
ICBpZiByZXR2YWw6CiAgICAgICAgICAgIGJiLmZhdGFsKCJlbXB0eSBkaXJlY3RvcnkgcmVtb3Zh
bCBmYWlsZWQgd2l0aCBleGl0IGNvZGUgJXMgKGNtZCB3YXMgJXMpJXMiICUgKHJldHZhbCwgY21k
LCAiOlxuJXMiICUgb3V0cHV0IGlmIG91dHB1dCBlbHNlICIiKSkKCiAgICAgICAgIyBBbHNvIHJl
bW92ZSBkZWJ1Z3NyY2RpciBpZiBpdHMgZW1wdHkKICAgICAgICBmb3IgcCBpbiBub3N1Y2hkaXJb
OjotMV06CiAgICAgICAgICAgIGlmIG9zLnBhdGguZXhpc3RzKHApIGFuZCBub3Qgb3MubGlzdGRp
cihwKToKICAgICAgICAgICAgICAgIG9zLnJtZGlyKHApCn0KCgpweXRob24gZGViaWFuX3BhY2th
Z2VfbmFtZV9ob29rICgpIHsKICAgIGltcG9ydCBnbG9iLCBjb3B5LCBzdGF0LCBlcnJubywgcmUK
CiAgICBwa2dkZXN0ID0gZC5nZXRWYXIoJ1BLR0RFU1QnKQogICAgcGFja2FnZXMgPSBkLmdldFZh
cignUEFDS0FHRVMnKQogICAgYmluX3JlID0gcmUuY29tcGlsZSgiLiovcz8iICsgb3MucGF0aC5i
YXNlbmFtZShkLmdldFZhcigiYmluZGlyIikpICsgIiQiKQogICAgbGliX3JlID0gcmUuY29tcGls
ZSgiLiovIiArIG9zLnBhdGguYmFzZW5hbWUoZC5nZXRWYXIoImxpYmRpciIpKSArICIkIikKICAg
IHNvX3JlID0gcmUuY29tcGlsZSgibGliLipcLnNvIikKCiAgICBkZWYgc29jcnVuY2gocyk6CiAg
ICAgICAgcyA9IHMubG93ZXIoKS5yZXBsYWNlKCdfJywgJy0nKQogICAgICAgIG0gPSByZS5tYXRj
aCgiXiguKikoLilcLnNvXC4oLiopJCIsIHMpCiAgICAgICAgaWYgbSBpcyBOb25lOgogICAgICAg
ICAgICByZXR1cm4gTm9uZQogICAgICAgIGlmIG0uZ3JvdXAoMikgaW4gJzAxMjM0NTY3ODknOgog
ICAgICAgICAgICBiaW4gPSAnJXMlcy0lcycgJSAobS5ncm91cCgxKSwgbS5ncm91cCgyKSwgbS5n
cm91cCgzKSkKICAgICAgICBlbHNlOgogICAgICAgICAgICBiaW4gPSBtLmdyb3VwKDEpICsgbS5n
cm91cCgyKSArIG0uZ3JvdXAoMykKICAgICAgICBkZXYgPSBtLmdyb3VwKDEpICsgbS5ncm91cCgy
KQogICAgICAgIHJldHVybiAoYmluLCBkZXYpCgogICAgZGVmIGlzZXhlYyhwYXRoKToKICAgICAg
ICB0cnk6CiAgICAgICAgICAgIHMgPSBvcy5zdGF0KHBhdGgpCiAgICAgICAgZXhjZXB0IChvcy5l
cnJvciwgQXR0cmlidXRlRXJyb3IpOgogICAgICAgICAgICByZXR1cm4gMAogICAgICAgIHJldHVy
biAoc1tzdGF0LlNUX01PREVdICYgc3RhdC5TX0lFWEVDKQoKICAgIGRlZiBhZGRfcnByb3ZpZGVz
KHBrZywgZCk6CiAgICAgICAgbmV3cGtnID0gZC5nZXRWYXIoJ1BLR18nICsgcGtnKQogICAgICAg
IGlmIG5ld3BrZyBhbmQgbmV3cGtnICE9IHBrZzoKICAgICAgICAgICAgcHJvdnMgPSAoZC5nZXRW
YXIoJ1JQUk9WSURFU18nICsgcGtnKSBvciAiIikuc3BsaXQoKQogICAgICAgICAgICBpZiBwa2cg
bm90IGluIHByb3ZzOgogICAgICAgICAgICAgICAgZC5hcHBlbmRWYXIoJ1JQUk9WSURFU18nICsg
cGtnLCAiICIgKyBwa2cgKyAiICg9IiArIGQuZ2V0VmFyKCJQS0dWIikgKyAiKSIpCgogICAgZGVm
IGF1dG9fbGlibmFtZShwYWNrYWdlcywgb3JpZ19wa2cpOgogICAgICAgIHNvbmFtZXMgPSBbXQog
ICAgICAgIGhhc19iaW5zID0gMAogICAgICAgIGhhc19saWJzID0gMAogICAgICAgIGZvciBmaWxl
IGluIHBrZ2ZpbGVzW29yaWdfcGtnXToKICAgICAgICAgICAgcm9vdCA9IG9zLnBhdGguZGlybmFt
ZShmaWxlKQogICAgICAgICAgICBpZiBiaW5fcmUubWF0Y2gocm9vdCk6CiAgICAgICAgICAgICAg
ICBoYXNfYmlucyA9IDEKICAgICAgICAgICAgaWYgbGliX3JlLm1hdGNoKHJvb3QpOgogICAgICAg
ICAgICAgICAgaGFzX2xpYnMgPSAxCiAgICAgICAgICAgICAgICBpZiBzb19yZS5tYXRjaChvcy5w
YXRoLmJhc2VuYW1lKGZpbGUpKToKICAgICAgICAgICAgICAgICAgICBjbWQgPSAoZC5nZXRWYXIo
J1RBUkdFVF9QUkVGSVgnKSBvciAiIikgKyAib2JqZHVtcCAtcCAiICsgZmlsZSArICIgMj4vZGV2
L251bGwiCiAgICAgICAgICAgICAgICAgICAgZmQgPSBvcy5wb3BlbihjbWQpCiAgICAgICAgICAg
ICAgICAgICAgbGluZXMgPSBmZC5yZWFkbGluZXMoKQogICAgICAgICAgICAgICAgICAgIGZkLmNs
b3NlKCkKICAgICAgICAgICAgICAgICAgICBmb3IgbCBpbiBsaW5lczoKICAgICAgICAgICAgICAg
ICAgICAgICAgbSA9IHJlLm1hdGNoKCJccytTT05BTUVccysoW15cc10qKSIsIGwpCiAgICAgICAg
ICAgICAgICAgICAgICAgIGlmIG0gYW5kIG5vdCBtLmdyb3VwKDEpIGluIHNvbmFtZXM6CiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBzb25hbWVzLmFwcGVuZChtLmdyb3VwKDEpKQoKICAgICAg
ICBiYi5kZWJ1ZygxLCAnTElCTkFNRVM6IHBrZyAlcyBsaWJzICVkIGJpbnMgJWQgc29uYW1lcyAl
cycgJSAob3JpZ19wa2csIGhhc19saWJzLCBoYXNfYmlucywgc29uYW1lcykpCiAgICAgICAgc29u
YW1lID0gTm9uZQogICAgICAgIGlmIGxlbihzb25hbWVzKSA9PSAxOgogICAgICAgICAgICBzb25h
bWUgPSBzb25hbWVzWzBdCiAgICAgICAgZWxpZiBsZW4oc29uYW1lcykgPiAxOgogICAgICAgICAg
ICBsZWFkID0gZC5nZXRWYXIoJ0xFQURfU09OQU1FJykKICAgICAgICAgICAgaWYgbGVhZDoKICAg
ICAgICAgICAgICAgIHIgPSByZS5jb21waWxlKGxlYWQpCiAgICAgICAgICAgICAgICBmaWx0ZXJl
ZCA9IFtdCiAgICAgICAgICAgICAgICBmb3IgcyBpbiBzb25hbWVzOgogICAgICAgICAgICAgICAg
ICAgIGlmIHIubWF0Y2gocyk6CiAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRlcmVkLmFwcGVu
ZChzKQogICAgICAgICAgICAgICAgaWYgbGVuKGZpbHRlcmVkKSA9PSAxOgogICAgICAgICAgICAg
ICAgICAgIHNvbmFtZSA9IGZpbHRlcmVkWzBdCiAgICAgICAgICAgICAgICBlbGlmIGxlbihmaWx0
ZXJlZCkgPiAxOgogICAgICAgICAgICAgICAgICAgIGJiLm5vdGUoIk11bHRpcGxlIG1hdGNoZXMg
KCVzKSBmb3IgTEVBRF9TT05BTUUgJyVzJyIgJSAoIiwgIi5qb2luKGZpbHRlcmVkKSwgbGVhZCkp
CiAgICAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgICAgIGJiLm5vdGUoIk11bHRp
cGxlIGxpYnJhcmllcyAoJXMpIGZvdW5kLCBidXQgTEVBRF9TT05BTUUgJyVzJyBkb2Vzbid0IG1h
dGNoIGFueSBvZiB0aGVtIiAlICgiLCAiLmpvaW4oc29uYW1lcyksIGxlYWQpKQogICAgICAgICAg
ICBlbHNlOgogICAgICAgICAgICAgICAgYmIubm90ZSgiTXVsdGlwbGUgbGlicmFyaWVzICglcykg
Zm91bmQgYW5kIExFQURfU09OQU1FIG5vdCBkZWZpbmVkIiAlICIsICIuam9pbihzb25hbWVzKSkK
CiAgICAgICAgaWYgaGFzX2xpYnMgYW5kIG5vdCBoYXNfYmlucyBhbmQgc29uYW1lOgogICAgICAg
ICAgICBzb25hbWVfcmVzdWx0ID0gc29jcnVuY2goc29uYW1lKQogICAgICAgICAgICBpZiBzb25h
bWVfcmVzdWx0OgogICAgICAgICAgICAgICAgKHBrZ25hbWUsIGRldm5hbWUpID0gc29uYW1lX3Jl
c3VsdAogICAgICAgICAgICAgICAgZm9yIHBrZyBpbiBwYWNrYWdlcy5zcGxpdCgpOgogICAgICAg
ICAgICAgICAgICAgIGlmIChkLmdldFZhcignUEtHXycgKyBwa2csIEZhbHNlKSBvciBkLmdldFZh
cignREVCSUFOX05PQVVUT05BTUVfJyArIHBrZywgRmFsc2UpKToKICAgICAgICAgICAgICAgICAg
ICAgICAgYWRkX3Jwcm92aWRlcyhwa2csIGQpCiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRp
bnVlCiAgICAgICAgICAgICAgICAgICAgZGViaWFuX3BuID0gZC5nZXRWYXIoJ0RFQklBTk5BTUVf
JyArIHBrZywgRmFsc2UpCiAgICAgICAgICAgICAgICAgICAgaWYgZGViaWFuX3BuOgogICAgICAg
ICAgICAgICAgICAgICAgICBuZXdwa2cgPSBkZWJpYW5fcG4KICAgICAgICAgICAgICAgICAgICBl
bGlmIHBrZyA9PSBvcmlnX3BrZzoKICAgICAgICAgICAgICAgICAgICAgICAgbmV3cGtnID0gcGtn
bmFtZQogICAgICAgICAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgICAgICAgIG5l
d3BrZyA9IHBrZy5yZXBsYWNlKG9yaWdfcGtnLCBkZXZuYW1lLCAxKQogICAgICAgICAgICAgICAg
ICAgIG1scHJlPWQuZ2V0VmFyKCdNTFBSRUZJWCcpCiAgICAgICAgICAgICAgICAgICAgaWYgbWxw
cmU6CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIG5vdCBuZXdwa2cuZmluZChtbHByZSkgPT0g
MDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ld3BrZyA9IG1scHJlICsgbmV3cGtnCiAg
ICAgICAgICAgICAgICAgICAgaWYgbmV3cGtnICE9IHBrZzoKICAgICAgICAgICAgICAgICAgICAg
ICAgZC5zZXRWYXIoJ1BLR18nICsgcGtnLCBuZXdwa2cpCiAgICAgICAgICAgICAgICAgICAgICAg
IGFkZF9ycHJvdmlkZXMocGtnLCBkKQogICAgICAgIGVsc2U6CiAgICAgICAgICAgIGFkZF9ycHJv
dmlkZXMob3JpZ19wa2csIGQpCgogICAgIyByZXZlcnNlZCBzb3J0IGlzIG5lZWRlZCB3aGVuIHNv
bWUgcGFja2FnZSBpcyBzdWJzdHJpbmcgb2YgYW5vdGhlcgogICAgIyBpZSBpbiBuY3Vyc2VzIHdl
IGdldCB3aXRob3V0IHJldmVyc2Ugc29ydDoKICAgICMgREVCVUc6IExJQk5BTUVTOiBwa2duYW1l
IGxpYnRpYzUgZGV2bmFtZSBsaWJ0aWMgcGtnIG5jdXJzZXMtbGlidGljIG9yaWdfcGtnIG5jdXJz
ZXMtbGlidGljIGRlYmlhbl9wbiBOb25lIG5ld3BrZyBsaWJ0aWM1CiAgICAjIGFuZCBsYXRlcgog
ICAgIyBERUJVRzogTElCTkFNRVM6IHBrZ25hbWUgbGlidGljNSBkZXZuYW1lIGxpYnRpYyBwa2cg
bmN1cnNlcy1saWJ0aWN3IG9yaWdfcGtnIG5jdXJzZXMtbGlidGljIGRlYmlhbl9wbiBOb25lIG5l
d3BrZyBsaWJ0aWN3CiAgICAjIHNvIHdlIG5lZWQgdG8gaGFuZGxlIG5jdXJzZXMtbGlidGljdy0+
bGlidGljdzUgYmVmb3JlIG5jdXJzZXMtbGlidGljLT5saWJ0aWM1CiAgICBmb3IgcGtnIGluIHNv
cnRlZCgoZC5nZXRWYXIoJ0FVVE9fTElCTkFNRV9QS0dTJykgb3IgIiIpLnNwbGl0KCksIHJldmVy
c2U9VHJ1ZSk6CiAgICAgICAgYXV0b19saWJuYW1lKHBhY2thZ2VzLCBwa2cpCn0KCgpweXRob24g
ZGV2cHlzaGVsbCAoKSB7CmRlZiBkZXZweXNoZWxsKGQpOgoKICAgIGltcG9ydCBjb2RlCiAgICBp
bXBvcnQgc2VsZWN0CiAgICBpbXBvcnQgc2lnbmFsCiAgICBpbXBvcnQgdGVybWlvcwoKICAgIG0s
IHMgPSBvcy5vcGVucHR5KCkKICAgIHNuYW1lID0gb3MudHR5bmFtZShzKQoKICAgIGRlZiBub2Vj
aG9pY2Fub24oZmQpOgogICAgICAgIG9sZCA9IHRlcm1pb3MudGNnZXRhdHRyKGZkKQogICAgICAg
IG9sZFszXSA9IG9sZFszXSAmfiB0ZXJtaW9zLkVDSE8gJn4gdGVybWlvcy5JQ0FOT04KICAgICAg
ICAjICZ+IHRlcm1pb3MuSVNJRwogICAgICAgIHRlcm1pb3MudGNzZXRhdHRyKGZkLCB0ZXJtaW9z
LlRDU0FEUkFJTiwgb2xkKQoKICAgICMgTm8gZWNobyBvciBidWZmZXJpbmcgb3ZlciB0aGUgcHR5
CiAgICBub2VjaG9pY2Fub24ocykKCiAgICBwaWQgPSBvcy5mb3JrKCkKICAgIGlmIHBpZDoKICAg
ICAgICBvcy5jbG9zZShtKQogICAgICAgIG9lX3Rlcm1pbmFsKCJvZXB5ZGV2c2hlbGwtaW50ZXJu
YWwucHkgJXMgJWQiICUgKHNuYW1lLCBwaWQpLCAnT3BlbkVtYmVkZGVkIERldmVsb3BlciBQeVNo
ZWxsJywgZCkKICAgICAgICBvcy5fZXhpdCgwKQogICAgZWxzZToKICAgICAgICBvcy5jbG9zZShz
KQoKICAgICAgICBvcy5kdXAyKG0sIHN5cy5zdGRpbi5maWxlbm8oKSkKICAgICAgICBvcy5kdXAy
KG0sIHN5cy5zdGRvdXQuZmlsZW5vKCkpCiAgICAgICAgb3MuZHVwMihtLCBzeXMuc3RkZXJyLmZp
bGVubygpKQoKICAgICAgICBiYi51dGlscy5ub25ibG9ja2luZ2ZkKHN5cy5zdGRvdXQpCiAgICAg
ICAgYmIudXRpbHMubm9uYmxvY2tpbmdmZChzeXMuc3RkZXJyKQogICAgICAgIGJiLnV0aWxzLm5v
bmJsb2NraW5nZmQoc3lzLnN0ZGluKQoKICAgICAgICBfY29udGV4dCA9IHsKICAgICAgICAgICAg
Im9zIjogb3MsCiAgICAgICAgICAgICJiYiI6IGJiLAogICAgICAgICAgICAidGltZSI6IHRpbWUs
CiAgICAgICAgICAgICJkIjogZCwKICAgICAgICB9CgogICAgICAgIHBzMSA9ICJweWRldnNoZWxs
PiAiCiAgICAgICAgcHMyID0gIi4uLiAiCiAgICAgICAgYnVmID0gW10KICAgICAgICBtb3JlID0g
RmFsc2UKCiAgICAgICAgaSA9IGNvZGUuSW50ZXJhY3RpdmVJbnRlcnByZXRlcihsb2NhbHM9X2Nv
bnRleHQpCiAgICAgICAgcHJpbnQoIk9FIFB5U2hlbGwgKFBOID0gJXMpXG4iICUgZC5nZXRWYXIo
IlBOIikpCgogICAgICAgIGRlZiBwcm9tcHQobW9yZSk6CiAgICAgICAgICAgIGlmIG1vcmU6CiAg
ICAgICAgICAgICAgICBwcm9tcHQgPSBwczIKICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAg
ICAgIHByb21wdCA9IHBzMQogICAgICAgICAgICBzeXMuc3Rkb3V0LndyaXRlKHByb21wdCkKICAg
ICAgICAgICAgc3lzLnN0ZG91dC5mbHVzaCgpCgogICAgICAgICMgUmVzdG9yZSBDdHJsK0Mgc2lu
Y2UgYml0YmFrZSBtYXNrcyB0aGlzCiAgICAgICAgZGVmIHNpZ25hbF9oYW5kbGVyKHNpZ25hbCwg
ZnJhbWUpOgogICAgICAgICAgICByYWlzZSBLZXlib2FyZEludGVycnVwdAogICAgICAgIHNpZ25h
bC5zaWduYWwoc2lnbmFsLlNJR0lOVCwgc2lnbmFsX2hhbmRsZXIpCgogICAgICAgIGNoaWxkID0g
Tm9uZQoKICAgICAgICBwcm9tcHQobW9yZSkKICAgICAgICB3aGlsZSBUcnVlOgogICAgICAgICAg
ICB0cnk6CiAgICAgICAgICAgICAgICB0cnk6CiAgICAgICAgICAgICAgICAgICAgKHIsIF8sIF8p
ID0gc2VsZWN0LnNlbGVjdChbc3lzLnN0ZGluXSwgW10sIFtdLCAxKQogICAgICAgICAgICAgICAg
ICAgIGlmIG5vdCByOgogICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZQogICAgICAgICAg
ICAgICAgICAgIGxpbmUgPSBzeXMuc3RkaW4ucmVhZGxpbmUoKS5zdHJpcCgpCiAgICAgICAgICAg
ICAgICAgICAgaWYgbm90IGxpbmU6CiAgICAgICAgICAgICAgICAgICAgICAgIHByb21wdChtb3Jl
KQogICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZQogICAgICAgICAgICAgICAgZXhjZXB0
IEVPRkVycm9yIGFzIGU6CiAgICAgICAgICAgICAgICAgICAgc3lzLnN0ZG91dC53cml0ZSgiXG4i
KQogICAgICAgICAgICAgICAgICAgIHN5cy5zdGRvdXQuZmx1c2goKQogICAgICAgICAgICAgICAg
ZXhjZXB0IChPU0Vycm9yLCBJT0Vycm9yKSBhcyBlOgogICAgICAgICAgICAgICAgICAgIGlmIGUu
ZXJybm8gPT0gMTE6CiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCiAgICAgICAgICAg
ICAgICAgICAgaWYgZS5lcnJubyA9PSA1OgogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4K
ICAgICAgICAgICAgICAgICAgICByYWlzZQogICAgICAgICAgICAgICAgZWxzZToKICAgICAgICAg
ICAgICAgICAgICBpZiBub3QgY2hpbGQ6CiAgICAgICAgICAgICAgICAgICAgICAgIGNoaWxkID0g
aW50KGxpbmUpCiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCiAgICAgICAgICAgICAg
ICAgICAgYnVmLmFwcGVuZChsaW5lKQogICAgICAgICAgICAgICAgICAgIHNvdXJjZSA9ICJcbiIu
am9pbihidWYpCiAgICAgICAgICAgICAgICAgICAgbW9yZSA9IGkucnVuc291cmNlKHNvdXJjZSwg
IjxweXNoZWxsPiIpCiAgICAgICAgICAgICAgICAgICAgaWYgbm90IG1vcmU6CiAgICAgICAgICAg
ICAgICAgICAgICAgIGJ1ZiA9IFtdCiAgICAgICAgICAgICAgICAgICAgcHJvbXB0KG1vcmUpCiAg
ICAgICAgICAgIGV4Y2VwdCBLZXlib2FyZEludGVycnVwdDoKICAgICAgICAgICAgICAgIGkud3Jp
dGUoIlxuS2V5Ym9hcmRJbnRlcnJ1cHRcbiIpCiAgICAgICAgICAgICAgICBidWYgPSBbXQogICAg
ICAgICAgICAgICAgbW9yZSA9IEZhbHNlCiAgICAgICAgICAgICAgICBwcm9tcHQobW9yZSkKICAg
ICAgICAgICAgZXhjZXB0IFN5c3RlbUV4aXQ6CiAgICAgICAgICAgICAgICAjIEVhc2llc3Qgd2F5
IHRvIGVuc3VyZSBldmVyeXRoaW5nIGV4aXRzCiAgICAgICAgICAgICAgICBvcy5raWxsKGNoaWxk
LCBzaWduYWwuU0lHVEVSTSkKICAgICAgICAgICAgICAgIGJyZWFrCn0KCgpweXRob24gZG9fY2hl
Y2t1cmkgKCkgewogICAgc3JjX3VyaSA9IChkLmdldFZhcignU1JDX1VSSScpIG9yICIiKS5zcGxp
dCgpCiAgICBpZiBsZW4oc3JjX3VyaSkgPT0gMDoKICAgICAgICByZXR1cm4KCiAgICB0cnk6CiAg
ICAgICAgZmV0Y2hlciA9IGJiLmZldGNoMi5GZXRjaChzcmNfdXJpLCBkKQogICAgICAgIGZldGNo
ZXIuY2hlY2tzdGF0dXMoKQogICAgZXhjZXB0IGJiLmZldGNoMi5CQkZldGNoRXhjZXB0aW9uIGFz
IGU6CiAgICAgICAgYmIuZmF0YWwoc3RyKGUpKQp9CgoKcHl0aG9uIGRvX2NsZWFuICgpIHsKICAg
ICIiImNsZWFyIHRoZSBidWlsZCBhbmQgdGVtcCBkaXJlY3RvcmllcyIiIgogICAgZGlyID0gZC5l
eHBhbmQoIiR7V09SS0RJUn0iKQogICAgYmIubm90ZSgiUmVtb3ZpbmcgIiArIGRpcikKICAgIG9l
LnBhdGgucmVtb3ZlKGRpcikKCiAgICBkaXIgPSAiJXMuKiIgJSBkLmdldFZhcignU1RBTVAnKQog
ICAgYmIubm90ZSgiUmVtb3ZpbmcgIiArIGRpcikKICAgIG9lLnBhdGgucmVtb3ZlKGRpcikKCiAg
ICBmb3IgZiBpbiAoZC5nZXRWYXIoJ0NMRUFORlVOQ1MnKSBvciAnJykuc3BsaXQoKToKICAgICAg
ICBiYi5idWlsZC5leGVjX2Z1bmMoZiwgZCkKfQoKCnB5dGhvbiBkb19jbGVhbmFsbCAoKSB7CiAg
ICBzcmNfdXJpID0gKGQuZ2V0VmFyKCdTUkNfVVJJJykgb3IgIiIpLnNwbGl0KCkKICAgIGlmIGxl
bihzcmNfdXJpKSA9PSAwOgogICAgICAgIHJldHVybgoKICAgIHRyeToKICAgICAgICBmZXRjaGVy
ID0gYmIuZmV0Y2gyLkZldGNoKHNyY191cmksIGQpCiAgICAgICAgZmV0Y2hlci5jbGVhbigpCiAg
ICBleGNlcHQgYmIuZmV0Y2gyLkJCRmV0Y2hFeGNlcHRpb24gYXMgZToKICAgICAgICBiYi5mYXRh
bChzdHIoZSkpCn0KCgpweXRob24gZG9fY2xlYW5zc3RhdGUgKCkgewogICAgICAgIHNzdGF0ZV9j
bGVhbl9jYWNoZWZpbGVzKGQpCn0KCgpweXRob24gZG9fZGV2cHlzaGVsbCAoKSB7CiAgICBpbXBv
cnQgc2lnbmFsCgogICAgdHJ5OgogICAgICAgIGRldnB5c2hlbGwoZCkKICAgIGV4Y2VwdCBTeXN0
ZW1FeGl0OgogICAgICAgICMgU3RvcCB0aGUgU0lHVEVSTSBhYm92ZSBjYXVzaW5nIGFuIGVycm9y
IGV4aXQgY29kZQogICAgICAgIHJldHVybgogICAgZmluYWxseToKICAgICAgICByZXR1cm4KfQoK
CnB5dGhvbiBkb19kZXZzaGVsbCAoKSB7CiAgICBpZiBkLmdldFZhckZsYWcoImRvX2RldnNoZWxs
IiwgIm1hbnVhbGZha2Vyb290Iik6CiAgICAgICBkLnByZXBlbmRWYXIoIkRFVlNIRUxMIiwgInBz
ZXVkbyAiKQogICAgICAgZmFrZWVudiA9IGQuZ2V0VmFyKCJGQUtFUk9PVEVOViIpLnNwbGl0KCkK
ICAgICAgIGZvciBmIGluIGZha2VlbnY6CiAgICAgICAgICAgIGsgPSBmLnNwbGl0KCI9IikKICAg
ICAgICAgICAgZC5zZXRWYXIoa1swXSwga1sxXSkKICAgICAgICAgICAgZC5hcHBlbmRWYXIoIk9F
X1RFUk1JTkFMX0VYUE9SVFMiLCAiICIgKyBrWzBdKQogICAgICAgZC5kZWxWYXJGbGFnKCJkb19k
ZXZzaGVsbCIsICJmYWtlcm9vdCIpCgogICAgb2VfdGVybWluYWwoZC5nZXRWYXIoJ0RFVlNIRUxM
JyksICdPcGVuRW1iZWRkZWQgRGV2ZWxvcGVyIFNoZWxsJywgZCkKfQoKCnB5dGhvbiBkb19mZXRj
aCAoKSB7CiAgICBiYi5idWlsZC5leGVjX2Z1bmMoJ2Jhc2VfZG9fZmV0Y2gnLCBkKQp9CgoKcHl0
aG9uIGRvX2xpc3R0YXNrcyAoKSB7CiAgICB0YXNrZGVzY3MgPSB7fQogICAgbWF4bGVuID0gMAog
ICAgZm9yIGUgaW4gZC5rZXlzKCk6CiAgICAgICAgaWYgZC5nZXRWYXJGbGFnKGUsICd0YXNrJyk6
CiAgICAgICAgICAgIG1heGxlbiA9IG1heChtYXhsZW4sIGxlbihlKSkKICAgICAgICAgICAgaWYg
ZS5lbmRzd2l0aCgnX3NldHNjZW5lJyk6CiAgICAgICAgICAgICAgICBkZXNjID0gIiVzIChzZXRz
Y2VuZSB2ZXJzaW9uKSIgJSAoZC5nZXRWYXJGbGFnKGVbOi05XSwgJ2RvYycpIG9yICcnKQogICAg
ICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgZGVzYyA9IGQuZ2V0VmFyRmxhZyhlLCAnZG9j
Jykgb3IgJycKICAgICAgICAgICAgdGFza2Rlc2NzW2VdID0gZGVzYwoKICAgIHRhc2tzID0gc29y
dGVkKHRhc2tkZXNjcy5rZXlzKCkpCiAgICBmb3IgdGFza25hbWUgaW4gdGFza3M6CiAgICAgICAg
YmIucGxhaW4oIiVzICAlcyIgJSAodGFza25hbWUubGp1c3QobWF4bGVuKSwgdGFza2Rlc2NzW3Rh
c2tuYW1lXSkpCn0KCgpweXRob24gZG9fcGFja2FnZSAoKSB7CiAgICBpZiBub3Qgb3MucGF0aC5l
eGlzdHMob3MucGF0aC5qb2luKGQuZ2V0VmFyKCdEJyksIGQuZ2V0VmFyKCdub25hcmNoX2Jhc2Vf
bGliZGlyJylbMTpdLCAnbW9kdWxlcycpKToKICAgICAgICBiYi53YXJuKCIlczogbm8gbW9kdWxl
cyB3ZXJlIGNyZWF0ZWQ7IHRoaXMgbWF5IGJlIGR1ZSB0byBDT05GSUdfVFJBQ0VQT0lOVFMgbm90
IGJlaW5nIGVuYWJsZWQgaW4geW91ciBrZXJuZWwuIiAlIGQuZ2V0VmFyKCdQTicpKQogICAgIyBD
aGFuZ2UgdGhlIGZvbGxvd2luZyB2ZXJzaW9uIHRvIGNhdXNlIHNzdGF0ZSB0byBpbnZhbGlkYXRl
IHRoZSBwYWNrYWdlCiAgICAjIGNhY2hlLiAgVGhpcyBpcyB1c2VmdWwgaWYgYW4gaXRlbSB0aGlz
IGNsYXNzIGRlcGVuZHMgb24gY2hhbmdlcyBpbiBhCiAgICAjIHdheSB0aGF0IHRoZSBvdXRwdXQg
b2YgdGhpcyBjbGFzcyBjaGFuZ2VzLiAgcnBtZGVwcyBpcyBhIGdvb2QgZXhhbXBsZQogICAgIyBh
cyBhbnkgY2hhbmdlIHRvIHJwbWRlcHMgcmVxdWlyZXMgdGhpcyB0byBiZSByZXJ1bi4KICAgICMg
UEFDS0FHRV9CQkNMQVNTX1ZFUlNJT04gPSAiMSIKCiAgICAjIEluaXQgY2FjaGVkcGF0aAogICAg
Z2xvYmFsIGNwYXRoCiAgICBjcGF0aCA9IG9lLmNhY2hlZHBhdGguQ2FjaGVkUGF0aCgpCgogICAg
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjCiAgICAjIFNhbml0eSB0ZXN0IHRoZSBzZXR1cAogICAgIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjCgogICAgcGFja2FnZXMgPSAoZC5nZXRWYXIoJ1BBQ0tBR0VTJykgb3IgIiIp
LnNwbGl0KCkKICAgIGlmIGxlbihwYWNrYWdlcykgPCAxOgogICAgICAgIGJiLmRlYnVnKDEsICJO
byBwYWNrYWdlcyB0byBidWlsZCwgc2tpcHBpbmcgZG9fcGFja2FnZSIpCiAgICAgICAgcmV0dXJu
CgogICAgd29ya2RpciA9IGQuZ2V0VmFyKCdXT1JLRElSJykKICAgIG91dGRpciA9IGQuZ2V0VmFy
KCdERVBMT1lfRElSJykKICAgIGRlc3QgPSBkLmdldFZhcignRCcpCiAgICBkdmFyID0gZC5nZXRW
YXIoJ1BLR0QnKQogICAgcG4gPSBkLmdldFZhcignUE4nKQoKICAgIGlmIG5vdCB3b3JrZGlyIG9y
IG5vdCBvdXRkaXIgb3Igbm90IGRlc3Qgb3Igbm90IGR2YXIgb3Igbm90IHBuOgogICAgICAgIG1z
ZyA9ICJXT1JLRElSLCBERVBMT1lfRElSLCBELCBQTiBhbmQgUEtHRCBhbGwgbXVzdCBiZSBkZWZp
bmVkLCB1bmFibGUgdG8gcGFja2FnZSIKICAgICAgICBwYWNrYWdlX3FhX2hhbmRsZV9lcnJvcigi
dmFyLXVuZGVmaW5lZCIsIG1zZywgZCkKICAgICAgICByZXR1cm4KCiAgICBiYi5idWlsZC5leGVj
X2Z1bmMoInBhY2thZ2VfZ2V0X2F1dG9fcHIiLCBkKQoKICAgICMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwog
ICAgIyBPcHRpbWlzYXRpb25zCiAgICAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKCiAgICAjIENvbnRpbnVh
bGx5IGV4cGFuZGluZyBjb21wbGV4IGV4cHJlc3Npb25zIGlzIGluZWZmaWNpZW50LCBwYXJ0aWN1
bGFybHkKICAgICMgd2hlbiB3ZSB3cml0ZSB0byB0aGUgZGF0YXN0b3JlIGFuZCBpbnZhbGlkYXRl
IHRoZSBleHBhbnNpb24gY2FjaGUuIFRoaXMKICAgICMgY29kZSBwcmUtZXhwYW5kcyBzb21lIGZy
ZXF1ZW50bHkgdXNlZCB2YXJpYWJsZXMKCiAgICBkZWYgZXhwYW5kVmFyKHgsIGQpOgogICAgICAg
IGQuc2V0VmFyKHgsIGQuZ2V0VmFyKHgpKQoKICAgIGZvciB4IGluICdQTicsICdQVicsICdCUE4n
LCAnVEFSR0VUX1NZUycsICdFWFRFTkRQUkFVVE8nOgogICAgICAgIGV4cGFuZFZhcih4LCBkKQoK
ICAgICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogICAgIyBTZXR1cCBQS0dEIChmcm9tIEQpCiAgICAjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMKCiAgICBmb3IgZiBpbiAoZC5nZXRWYXIoJ1BBQ0tBR0VCVUlMRFBLR0Qn
KSBvciAnJykuc3BsaXQoKToKICAgICAgICBiYi5idWlsZC5leGVjX2Z1bmMoZiwgZCkKCiAgICAj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMKICAgICMgU3BsaXQgdXAgUEtHRCBpbnRvIFBLR0RFU1QKICAgICMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIwoKICAgIGNwYXRoID0gb2UuY2FjaGVkcGF0aC5DYWNoZWRQYXRoKCkK
CiAgICBmb3IgZiBpbiAoZC5nZXRWYXIoJ1BBQ0tBR0VTUExJVEZVTkNTJykgb3IgJycpLnNwbGl0
KCk6CiAgICAgICAgYmIuYnVpbGQuZXhlY19mdW5jKGYsIGQpCgogICAgIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjCiAgICAjIFByb2Nlc3MgUEtHREVTVAogICAgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgogICAgIyBC
dWlsZCBnbG9iYWwgbGlzdCBvZiBmaWxlcyBpbiBlYWNoIHNwbGl0IHBhY2thZ2UKICAgIGdsb2Jh
bCBwa2dmaWxlcwogICAgcGtnZmlsZXMgPSB7fQogICAgcGFja2FnZXMgPSBkLmdldFZhcignUEFD
S0FHRVMnKS5zcGxpdCgpCiAgICBwa2dkZXN0ID0gZC5nZXRWYXIoJ1BLR0RFU1QnKQogICAgZm9y
IHBrZyBpbiBwYWNrYWdlczoKICAgICAgICBwa2dmaWxlc1twa2ddID0gW10KICAgICAgICBmb3Ig
d2Fsa3Jvb3QsIGRpcnMsIGZpbGVzIGluIGNwYXRoLndhbGsocGtnZGVzdCArICIvIiArIHBrZyk6
CiAgICAgICAgICAgIGZvciBmaWxlIGluIGZpbGVzOgogICAgICAgICAgICAgICAgcGtnZmlsZXNb
cGtnXS5hcHBlbmQod2Fsa3Jvb3QgKyBvcy5zZXAgKyBmaWxlKQoKICAgIGZvciBmIGluIChkLmdl
dFZhcignUEFDS0FHRUZVTkNTJykgb3IgJycpLnNwbGl0KCk6CiAgICAgICAgYmIuYnVpbGQuZXhl
Y19mdW5jKGYsIGQpCgogICAgcWFfc2FuZSA9IGQuZ2V0VmFyKCJRQV9TQU5FIikKICAgIGlmIG5v
dCBxYV9zYW5lOgogICAgICAgIGJiLmZhdGFsKCJGYXRhbCBRQSBlcnJvcnMgZm91bmQsIGZhaWxp
bmcgdGFzay4iKQp9CgoKcHl0aG9uIGRvX3BhY2thZ2VfcHJlcGVuZCAoKSB7Ck5vbmV9CgoKcHl0
aG9uIGRvX3BhY2thZ2VfcWEgKCkgewogICAgaW1wb3J0IHN1YnByb2Nlc3MKICAgIGltcG9ydCBv
ZS5wYWNrYWdlZGF0YQoKICAgIGJiLm5vdGUoIkRPIFBBQ0tBR0UgUUEiKQoKICAgIGJiLmJ1aWxk
LmV4ZWNfZnVuYygicmVhZF9zdWJwYWNrYWdlX21ldGFkYXRhIiwgZCkKCiAgICAjIENoZWNrIG5v
biBVVEYtOCBjaGFyYWN0ZXJzIG9uIHJlY2lwZSdzIG1ldGFkYXRhCiAgICBwYWNrYWdlX3FhX2No
ZWNrX2VuY29kaW5nKFsnREVTQ1JJUFRJT04nLCAnU1VNTUFSWScsICdMSUNFTlNFJywgJ1NFQ1RJ
T04nXSwgJ3V0Zi04JywgZCkKCiAgICBsb2dkaXIgPSBkLmdldFZhcignVCcpCiAgICBwa2cgPSBk
LmdldFZhcignUE4nKQoKICAgICMgQ2hlY2sgdGhlIGNvbXBpbGUgbG9nIGZvciBob3N0IGNvbnRh
bWluYXRpb24KICAgIGNvbXBpbGVsb2cgPSBvcy5wYXRoLmpvaW4obG9nZGlyLCJsb2cuZG9fY29t
cGlsZSIpCgogICAgaWYgb3MucGF0aC5leGlzdHMoY29tcGlsZWxvZyk6CiAgICAgICAgc3RhdGVt
ZW50ID0gImdyZXAgLWUgJ0NST1NTIENPTVBJTEUgQmFkbmVzczonIC1lICdpcyB1bnNhZmUgZm9y
IGNyb3NzLWNvbXBpbGF0aW9uJyAlcyA+IC9kZXYvbnVsbCIgJSBjb21waWxlbG9nCiAgICAgICAg
aWYgc3VicHJvY2Vzcy5jYWxsKHN0YXRlbWVudCwgc2hlbGw9VHJ1ZSkgPT0gMDoKICAgICAgICAg
ICAgbXNnID0gIiVzOiBUaGUgY29tcGlsZSBsb2cgaW5kaWNhdGVzIHRoYXQgaG9zdCBpbmNsdWRl
IGFuZC9vciBsaWJyYXJ5IHBhdGhzIHdlcmUgdXNlZC5cbiBcCiAgICAgICAgUGxlYXNlIGNoZWNr
IHRoZSBsb2cgJyVzJyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4iICUgKHBrZywgY29tcGlsZWxvZykK
ICAgICAgICAgICAgcGFja2FnZV9xYV9oYW5kbGVfZXJyb3IoImNvbXBpbGUtaG9zdC1wYXRoIiwg
bXNnLCBkKQoKICAgICMgQ2hlY2sgdGhlIGluc3RhbGwgbG9nIGZvciBob3N0IGNvbnRhbWluYXRp
b24KICAgIGluc3RhbGxsb2cgPSBvcy5wYXRoLmpvaW4obG9nZGlyLCJsb2cuZG9faW5zdGFsbCIp
CgogICAgaWYgb3MucGF0aC5leGlzdHMoaW5zdGFsbGxvZyk6CiAgICAgICAgc3RhdGVtZW50ID0g
ImdyZXAgLWUgJ0NST1NTIENPTVBJTEUgQmFkbmVzczonIC1lICdpcyB1bnNhZmUgZm9yIGNyb3Nz
LWNvbXBpbGF0aW9uJyAlcyA+IC9kZXYvbnVsbCIgJSBpbnN0YWxsbG9nCiAgICAgICAgaWYgc3Vi
cHJvY2Vzcy5jYWxsKHN0YXRlbWVudCwgc2hlbGw9VHJ1ZSkgPT0gMDoKICAgICAgICAgICAgbXNn
ID0gIiVzOiBUaGUgaW5zdGFsbCBsb2cgaW5kaWNhdGVzIHRoYXQgaG9zdCBpbmNsdWRlIGFuZC9v
ciBsaWJyYXJ5IHBhdGhzIHdlcmUgdXNlZC5cbiBcCiAgICAgICAgUGxlYXNlIGNoZWNrIHRoZSBs
b2cgJyVzJyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4iICUgKHBrZywgaW5zdGFsbGxvZykKICAgICAg
ICAgICAgcGFja2FnZV9xYV9oYW5kbGVfZXJyb3IoImluc3RhbGwtaG9zdC1wYXRoIiwgbXNnLCBk
KQoKICAgICMgU2NhbiB0aGUgcGFja2FnZXMuLi4KICAgIHBrZ2Rlc3QgPSBkLmdldFZhcignUEtH
REVTVCcpCiAgICBwYWNrYWdlcyA9IHNldCgoZC5nZXRWYXIoJ1BBQ0tBR0VTJykgb3IgJycpLnNw
bGl0KCkpCgogICAgY3BhdGggPSBvZS5jYWNoZWRwYXRoLkNhY2hlZFBhdGgoKQogICAgZ2xvYmFs
IHBrZ2ZpbGVzCiAgICBwa2dmaWxlcyA9IHt9CiAgICBmb3IgcGtnIGluIHBhY2thZ2VzOgogICAg
ICAgIHBrZ2ZpbGVzW3BrZ10gPSBbXQogICAgICAgIGZvciB3YWxrcm9vdCwgZGlycywgZmlsZXMg
aW4gY3BhdGgud2Fsayhwa2dkZXN0ICsgIi8iICsgcGtnKToKICAgICAgICAgICAgZm9yIGZpbGUg
aW4gZmlsZXM6CiAgICAgICAgICAgICAgICBwa2dmaWxlc1twa2ddLmFwcGVuZCh3YWxrcm9vdCAr
IG9zLnNlcCArIGZpbGUpCgogICAgIyBubyBwYWNrYWdlcyBzaG91bGQgYmUgc2Nhbm5lZAogICAg
aWYgbm90IHBhY2thZ2VzOgogICAgICAgIHJldHVybgoKICAgIGltcG9ydCByZQogICAgIyBUaGUg
cGFja2FnZSBuYW1lIG1hdGNoZXMgdGhlIFthLXowLTkuKy1dKyByZWd1bGFyIGV4cHJlc3Npb24K
ICAgIHBrZ25hbWVfcGF0dGVybiA9IHJlLmNvbXBpbGUoIl5bYS16MC05ListXSskIikKCiAgICB0
YXNrZGVwZGF0YSA9IGQuZ2V0VmFyKCJCQl9UQVNLREVQREFUQSIsIEZhbHNlKQogICAgdGFza2Rl
cHMgPSBzZXQoKQogICAgZm9yIGRlcCBpbiB0YXNrZGVwZGF0YToKICAgICAgICB0YXNrZGVwcy5h
ZGQodGFza2RlcGRhdGFbZGVwXVswXSkKCiAgICBmb3IgcGFja2FnZSBpbiBwYWNrYWdlczoKICAg
ICAgICBkZWYgcGFyc2VfdGVzdF9tYXRyaXgobWF0cml4X25hbWUpOgogICAgICAgICAgICB0ZXN0
bWF0cml4ID0gZC5nZXRWYXJGbGFncyhtYXRyaXhfbmFtZSkgb3Ige30KICAgICAgICAgICAgZyA9
IGdsb2JhbHMoKQogICAgICAgICAgICB3YXJuY2hlY2tzID0gW10KICAgICAgICAgICAgZm9yIHcg
aW4gKGQuZ2V0VmFyKCJXQVJOX1FBIikgb3IgIiIpLnNwbGl0KCk6CiAgICAgICAgICAgICAgICBp
ZiB3IGluIHNraXA6CiAgICAgICAgICAgICAgICAgICBjb250aW51ZQogICAgICAgICAgICAgICAg
aWYgdyBpbiB0ZXN0bWF0cml4IGFuZCB0ZXN0bWF0cml4W3ddIGluIGc6CiAgICAgICAgICAgICAg
ICAgICAgd2FybmNoZWNrcy5hcHBlbmQoZ1t0ZXN0bWF0cml4W3ddXSkKICAgICAgICAgICAgICAg
IGlmIHcgPT0gJ3Vuc2FmZS1yZWZlcmVuY2VzLWluLWJpbmFyaWVzJzoKICAgICAgICAgICAgICAg
ICAgICBvZS51dGlscy53cml0ZV9sZF9zb19jb25mKGQpCgogICAgICAgICAgICBlcnJvcmNoZWNr
cyA9IFtdCiAgICAgICAgICAgIGZvciBlIGluIChkLmdldFZhcigiRVJST1JfUUEiKSBvciAiIiku
c3BsaXQoKToKICAgICAgICAgICAgICAgIGlmIGUgaW4gc2tpcDoKICAgICAgICAgICAgICAgICAg
IGNvbnRpbnVlCiAgICAgICAgICAgICAgICBpZiBlIGluIHRlc3RtYXRyaXggYW5kIHRlc3RtYXRy
aXhbZV0gaW4gZzoKICAgICAgICAgICAgICAgICAgICBlcnJvcmNoZWNrcy5hcHBlbmQoZ1t0ZXN0
bWF0cml4W2VdXSkKICAgICAgICAgICAgICAgIGlmIGUgPT0gJ3Vuc2FmZS1yZWZlcmVuY2VzLWlu
LWJpbmFyaWVzJzoKICAgICAgICAgICAgICAgICAgICBvZS51dGlscy53cml0ZV9sZF9zb19jb25m
KGQpCiAgICAgICAgICAgIHJldHVybiB3YXJuY2hlY2tzLCBlcnJvcmNoZWNrcwoKICAgICAgICBz
a2lwID0gKGQuZ2V0VmFyKCdJTlNBTkVfU0tJUF8nICsgcGFja2FnZSkgb3IgIiIpLnNwbGl0KCkK
ICAgICAgICBpZiBza2lwOgogICAgICAgICAgICBiYi5ub3RlKCJQYWNrYWdlICVzIHNraXBwaW5n
IFFBIHRlc3RzOiAlcyIgJSAocGFja2FnZSwgc3RyKHNraXApKSkKCgogICAgICAgIGJiLm5vdGUo
IkNoZWNraW5nIFBhY2thZ2U6ICVzIiAlIHBhY2thZ2UpCiAgICAgICAgIyBDaGVjayBwYWNrYWdl
IG5hbWUKICAgICAgICBpZiBub3QgcGtnbmFtZV9wYXR0ZXJuLm1hdGNoKHBhY2thZ2UpOgogICAg
ICAgICAgICBwYWNrYWdlX3FhX2hhbmRsZV9lcnJvcigicGtnbmFtZSIsCiAgICAgICAgICAgICAg
ICAgICAgIiVzIGRvZXNuJ3QgbWF0Y2ggdGhlIFthLXowLTkuKy1dKyByZWdleCIgJSBwYWNrYWdl
LCBkKQoKICAgICAgICB3YXJuX2NoZWNrcywgZXJyb3JfY2hlY2tzID0gcGFyc2VfdGVzdF9tYXRy
aXgoIlFBUEFUSFRFU1QiKQogICAgICAgIHBhY2thZ2VfcWFfd2Fsayh3YXJuX2NoZWNrcywgZXJy
b3JfY2hlY2tzLCBza2lwLCBwYWNrYWdlLCBkKQoKICAgICAgICB3YXJuX2NoZWNrcywgZXJyb3Jf
Y2hlY2tzID0gcGFyc2VfdGVzdF9tYXRyaXgoIlFBUEtHVEVTVCIpCiAgICAgICAgcGFja2FnZV9x
YV9wYWNrYWdlKHdhcm5fY2hlY2tzLCBlcnJvcl9jaGVja3MsIHNraXAsIHBhY2thZ2UsIGQpCgog
ICAgICAgIHBhY2thZ2VfcWFfY2hlY2tfcmRlcGVuZHMocGFja2FnZSwgcGtnZGVzdCwgc2tpcCwg
dGFza2RlcHMsIHBhY2thZ2VzLCBkKQogICAgICAgIHBhY2thZ2VfcWFfY2hlY2tfZGVwcyhwYWNr
YWdlLCBwa2dkZXN0LCBza2lwLCBkKQoKICAgIGlmICdsaWJkaXInIGluIGQuZ2V0VmFyKCJBTExf
UUEiKS5zcGxpdCgpOgogICAgICAgIHBhY2thZ2VfcWFfY2hlY2tfbGliZGlyKGQpCgogICAgcWFf
c2FuZSA9IGQuZ2V0VmFyKCJRQV9TQU5FIikKICAgIGlmIG5vdCBxYV9zYW5lOgogICAgICAgIGJi
LmZhdGFsKCJRQSBydW4gZm91bmQgZmF0YWwgZXJyb3JzLiBQbGVhc2UgY29uc2lkZXIgZml4aW5n
IHRoZW0uIikKICAgIGJiLm5vdGUoIkRPTkUgd2l0aCBQQUNLQUdFIFFBIikKfQoKCnB5dGhvbiBk
b19wYWNrYWdlX3FhX3NldHNjZW5lICgpIHsKICAgIHNzdGF0ZV9zZXRzY2VuZShkKQp9CgoKcHl0
aG9uIGRvX3BhY2thZ2VfcnBtICgpIHsKICAgIHdvcmtkaXIgPSBkLmdldFZhcignV09SS0RJUicp
CiAgICB0bXBkaXIgPSBkLmdldFZhcignVE1QRElSJykKICAgIHBrZ2QgPSBkLmdldFZhcignUEtH
RCcpCiAgICBwa2dkZXN0ID0gZC5nZXRWYXIoJ1BLR0RFU1QnKQogICAgaWYgbm90IHdvcmtkaXIg
b3Igbm90IHBrZ2Qgb3Igbm90IHRtcGRpcjoKICAgICAgICBiYi5lcnJvcigiVmFyaWFibGVzIGlu
Y29ycmVjdGx5IHNldCwgdW5hYmxlIHRvIHBhY2thZ2UiKQogICAgICAgIHJldHVybgoKICAgIHBh
Y2thZ2VzID0gZC5nZXRWYXIoJ1BBQ0tBR0VTJykKICAgIGlmIG5vdCBwYWNrYWdlcyBvciBwYWNr
YWdlcyA9PSAnJzoKICAgICAgICBiYi5kZWJ1ZygxLCAiTm8gcGFja2FnZXM7IG5vdGhpbmcgdG8g
ZG8iKQogICAgICAgIHJldHVybgoKICAgICMgQ29uc3RydWN0IHRoZSBzcGVjIGZpbGUuLi4KICAg
ICMgSWYgdGhlIHNwZWMgZmlsZSBhbHJlYWR5IGV4aXN0LCBhbmQgaGFzIG5vdCBiZWVuIHN0b3Jl
ZCBpbnRvCiAgICAjIHBzZXVkbydzIGZpbGVzLmRiLCBpdCBtYXliZSBjYXVzZSBycG1idWlsZCBz
cmMucnBtIGZhaWwsCiAgICAjIHNvIHJlbW92ZSBpdCBiZWZvcmUgZG9pbmcgcnBtYnVpbGQgc3Jj
LnJwbS4KICAgIHNyY25hbWUgICAgPSBkLmdldFZhcignUE4nKQogICAgb3V0c3BlY2ZpbGUgPSB3
b3JrZGlyICsgIi8iICsgc3JjbmFtZSArICIuc3BlYyIKICAgIGlmIG9zLnBhdGguaXNmaWxlKG91
dHNwZWNmaWxlKToKICAgICAgICBvcy5yZW1vdmUob3V0c3BlY2ZpbGUpCiAgICBkLnNldFZhcign
T1VUU1BFQ0ZJTEUnLCBvdXRzcGVjZmlsZSkKICAgIGJiLmJ1aWxkLmV4ZWNfZnVuYygnd3JpdGVf
c3BlY2ZpbGUnLCBkKQoKICAgIHBlcmZpbGVkZXBzID0gKGQuZ2V0VmFyKCJNRVJHRVBFUkZJTEVE
RVBTIikgb3IgIjAiKSA9PSAiMCIKICAgIGlmIHBlcmZpbGVkZXBzOgogICAgICAgIG91dGRlcGVu
ZHMsIG91dHByb3ZpZGVzID0gd3JpdGVfcnBtX3BlcmZpbGVkYXRhKHNyY25hbWUsIGQpCgogICAg
IyBTZXR1cCB0aGUgcnBtYnVpbGQgYXJndW1lbnRzLi4uCiAgICBycG1idWlsZCA9IGQuZ2V0VmFy
KCdSUE1CVUlMRCcpCiAgICB0YXJnZXRzeXMgPSBkLmdldFZhcignVEFSR0VUX1NZUycpCiAgICB0
YXJnZXR2ZW5kb3IgPSBkLmdldFZhcignSE9TVF9WRU5ET1InKQogICAgIyBUb28gbWFueSBwbGFj
ZXMgaW4gZG5mIHN0YWNrIGFzc3VtZSB0aGF0IGFyY2gtaW5kZXBlbmRlbnQgcGFja2FnZXMgYXJl
ICJub2FyY2giLgogICAgIyBMZXQncyBub3QgZmlnaHQgYWdhaW5zdCB0aGlzLgogICAgcGFja2Fn
ZV9hcmNoID0gKGQuZ2V0VmFyKCdQQUNLQUdFX0FSQ0gnKSBvciAiIikucmVwbGFjZSgiLSIsICJf
IikucmVwbGFjZSgiYWxsIiwgIm5vYXJjaCIpCiAgICBzZGtwa2dzdWZmaXggPSAoZC5nZXRWYXIo
J1NES1BLR1NVRkZJWCcpIG9yICJuYXRpdmVzZGsiKS5yZXBsYWNlKCItIiwgIl8iKQogICAgZC5z
ZXRWYXIoJ1BBQ0tBR0VfQVJDSF9FWFRFTkQnLCBwYWNrYWdlX2FyY2gpCiAgICBwa2d3cml0ZWRp
ciA9IGQuZXhwYW5kKCcke1BLR1dSSVRFRElSUlBNfS8ke1BBQ0tBR0VfQVJDSF9FWFRFTkR9JykK
ICAgIGQuc2V0VmFyKCdSUE1fUEtHV1JJVEVESVInLCBwa2d3cml0ZWRpcikKICAgIGJiLmRlYnVn
KDEsICdQS0dXUklURURJUjogJXMnICUgZC5nZXRWYXIoJ1JQTV9QS0dXUklURURJUicpKQogICAg
cGtnYXJjaCA9IGQuZXhwYW5kKCcke1BBQ0tBR0VfQVJDSF9FWFRFTkR9JHtIT1NUX1ZFTkRPUn0t
bGludXgnKQogICAgYmIudXRpbHMubWtkaXJoaWVyKHBrZ3dyaXRlZGlyKQogICAgb3MuY2htb2Qo
cGtnd3JpdGVkaXIsIDBvNzU1KQoKICAgIGNtZCA9IHJwbWJ1aWxkCiAgICBjbWQgPSBjbWQgKyAi
IC0tbm9jbGVhbiAtLW5vZGVwcyAtLXNob3J0LWNpcmN1aXQgLS10YXJnZXQgIiArIHBrZ2FyY2gg
KyAiIC0tYnVpbGRyb290ICIgKyBwa2dkCiAgICBjbWQgPSBjbWQgKyAiIC0tZGVmaW5lICdfdG9w
ZGlyICIgKyB3b3JrZGlyICsgIicgLS1kZWZpbmUgJ19ycG1kaXIgIiArIHBrZ3dyaXRlZGlyICsg
IiciCiAgICBjbWQgPSBjbWQgKyAiIC0tZGVmaW5lICdfYnVpbGRkaXIgIiArIGQuZ2V0VmFyKCdT
JykgKyAiJyIKICAgIGNtZCA9IGNtZCArICIgLS1kZWZpbmUgJ19idWlsZF9uYW1lX2ZtdCAlJXtO
QU1FfS0lJXtWRVJTSU9OfS0lJXtSRUxFQVNFfS4lJXtBUkNIfS5ycG0nIgogICAgY21kID0gY21k
ICsgIiAtLWRlZmluZSAnX3VzZV9pbnRlcm5hbF9kZXBlbmRlbmN5X2dlbmVyYXRvciAwJyIKICAg
IGNtZCA9IGNtZCArICIgLS1kZWZpbmUgJ19iaW5hcmllc19pbl9ub2FyY2hfcGFja2FnZXNfdGVy
bWluYXRlX2J1aWxkIDAnIgogICAgY21kID0gY21kICsgIiAtLWRlZmluZSAnX2J1aWxkX2lkX2xp
bmtzIG5vbmUnIgogICAgY21kID0gY21kICsgIiAtLWRlZmluZSAnX2JpbmFyeV9wYXlsb2FkIHc2
VC54emRpbyciCiAgICBjbWQgPSBjbWQgKyAiIC0tZGVmaW5lICdfc291cmNlX3BheWxvYWQgdzZU
Lnh6ZGlvJyIKICAgIGlmIHBlcmZpbGVkZXBzOgogICAgICAgIGNtZCA9IGNtZCArICIgLS1kZWZp
bmUgJ19fZmluZF9yZXF1aXJlcyAiICsgb3V0ZGVwZW5kcyArICInIgogICAgICAgIGNtZCA9IGNt
ZCArICIgLS1kZWZpbmUgJ19fZmluZF9wcm92aWRlcyAiICsgb3V0cHJvdmlkZXMgKyAiJyIKICAg
IGVsc2U6CiAgICAgICAgY21kID0gY21kICsgIiAtLWRlZmluZSAnX19maW5kX3JlcXVpcmVzICV7
bmlsfSciCiAgICAgICAgY21kID0gY21kICsgIiAtLWRlZmluZSAnX19maW5kX3Byb3ZpZGVzICV7
bmlsfSciCiAgICBjbWQgPSBjbWQgKyAiIC0tZGVmaW5lICdfdW5wYWNrYWdlZF9maWxlc190ZXJt
aW5hdGVfYnVpbGQgMCciCiAgICBjbWQgPSBjbWQgKyAiIC0tZGVmaW5lICdkZWJ1Z19wYWNrYWdl
ICV7bmlsfSciCiAgICBjbWQgPSBjbWQgKyAiIC0tZGVmaW5lICdfdG1wcGF0aCAiICsgd29ya2Rp
ciArICInIgogICAgaWYgZC5nZXRWYXJGbGFnKCdBUkNISVZFUl9NT0RFJywgJ3NycG0nKSA9PSAn
MScgYW5kIGJiLmRhdGEuaW5oZXJpdHNfY2xhc3MoJ2FyY2hpdmVyJywgZCk6CiAgICAgICAgY21k
ID0gY21kICsgIiAtLWRlZmluZSAnX3NvdXJjZWRpciAiICsgZC5nZXRWYXIoJ0FSQ0hJVkVSX09V
VERJUicpICsgIiciCiAgICAgICAgY21kc3JwbSA9IGNtZCArICIgLS1kZWZpbmUgJ19zcmNycG1k
aXIgIiArIGQuZ2V0VmFyKCdBUkNISVZFUl9PVVRESVInKSArICInIgogICAgICAgIGNtZHNycG0g
PSBjbWRzcnBtICsgIiAtYnMgIiArIG91dHNwZWNmaWxlCiAgICAgICAgIyBCdWlsZCB0aGUgLnNy
Yy5ycG0KICAgICAgICBkLnNldFZhcignU0JVSUxEU1BFQycsIGNtZHNycG0gKyAiXG4iKQogICAg
ICAgIGQuc2V0VmFyRmxhZygnU0JVSUxEU1BFQycsICdmdW5jJywgJzEnKQogICAgICAgIGJiLmJ1
aWxkLmV4ZWNfZnVuYygnU0JVSUxEU1BFQycsIGQpCiAgICBjbWQgPSBjbWQgKyAiIC1iYiAiICsg
b3V0c3BlY2ZpbGUKCiAgICAjIHJwbSA0IGNyZWF0ZXMgdmFyaW91cyBlbXB0eSBkaXJlY3Rvcmll
cyBpbiBfdG9wZGlyLCBsZXQncyBjbGVhbiB0aGVtIHVwCiAgICBjbGVhbnVwY21kID0gInJtIC1y
ZiAlcy9CVUlMRFJPT1QgJXMvU09VUkNFUyAlcy9TUEVDUyAlcy9TUlBNUyIgJSAod29ya2Rpciwg
d29ya2Rpciwgd29ya2Rpciwgd29ya2RpcikKCiAgICAjIEJ1aWxkIHRoZSBycG0gcGFja2FnZSEK
ICAgIGQuc2V0VmFyKCdCVUlMRFNQRUMnLCBjbWQgKyAiXG4iICsgY2xlYW51cGNtZCArICJcbiIp
CiAgICBkLnNldFZhckZsYWcoJ0JVSUxEU1BFQycsICdmdW5jJywgJzEnKQogICAgYmIuYnVpbGQu
ZXhlY19mdW5jKCdCVUlMRFNQRUMnLCBkKQoKICAgIGlmIGQuZ2V0VmFyKCdSUE1fU0lHTl9QQUNL
QUdFUycpID09ICcxJzoKICAgICAgICBiYi5idWlsZC5leGVjX2Z1bmMoInNpZ25fcnBtIiwgZCkK
fQoKCnB5dGhvbiBkb19wYWNrYWdlX3NldHNjZW5lICgpIHsKICAgIHNzdGF0ZV9zZXRzY2VuZShk
KQp9CgoKcHl0aG9uIGRvX3BhY2thZ2Vfd3JpdGVfcnBtICgpIHsKICAgIGJiLmJ1aWxkLmV4ZWNf
ZnVuYygicmVhZF9zdWJwYWNrYWdlX21ldGFkYXRhIiwgZCkKICAgIGJiLmJ1aWxkLmV4ZWNfZnVu
YygiZG9fcGFja2FnZV9ycG0iLCBkKQp9CgoKcHl0aG9uIGRvX3BhY2thZ2Vfd3JpdGVfcnBtX3Nl
dHNjZW5lICgpIHsKICAgIHNzdGF0ZV9zZXRzY2VuZShkKQp9CgoKcHl0aG9uIGRvX3BhY2thZ2Vk
YXRhX3NldHNjZW5lICgpIHsKICAgIHNzdGF0ZV9zZXRzY2VuZShkKQp9CgoKcHl0aG9uIGRvX3Bh
dGNoICgpIHsKICAgIGJiLmJ1aWxkLmV4ZWNfZnVuYygncGF0Y2hfZG9fcGF0Y2gnLCBkKQp9CgoK
cHl0aG9uIGRvX3BvcHVsYXRlX2xpYyAoKSB7CiAgICAiIiIKICAgIFBvcHVsYXRlIExJQ0VOU0Vf
RElSRUNUT1JZIHdpdGggbGljZW5zZXMuCiAgICAiIiIKICAgIGxpY19maWxlc19wYXRocyA9IGZp
bmRfbGljZW5zZV9maWxlcyhkKQoKICAgICMgVGhlIGJhc2UgZGlyZWN0b3J5IHdlIHdyYW5nbGUg
bGljZW5zZXMgdG8KICAgIGRlc3RkaXIgPSBvcy5wYXRoLmpvaW4oZC5nZXRWYXIoJ0xJQ1NTVEFU
RURJUicpLCBkLmdldFZhcignUE4nKSkKICAgIGNvcHlfbGljZW5zZV9maWxlcyhsaWNfZmlsZXNf
cGF0aHMsIGRlc3RkaXIpCiAgICBpbmZvID0gZ2V0X3JlY2lwZV9pbmZvKGQpCiAgICB3aXRoIG9w
ZW4ob3MucGF0aC5qb2luKGRlc3RkaXIsICJyZWNpcGVpbmZvIiksICJ3IikgYXMgZjoKICAgICAg
ICBmb3Iga2V5IGluIHNvcnRlZChpbmZvLmtleXMoKSk6CiAgICAgICAgICAgIGYud3JpdGUoIiVz
OiAlc1xuIiAlIChrZXksIGluZm9ba2V5XSkpCn0KCgpweXRob24gZG9fcG9wdWxhdGVfbGljX3Nl
dHNjZW5lICgpIHsKICAgIHNzdGF0ZV9zZXRzY2VuZShkKQp9CgoKcHl0aG9uIGRvX3BvcHVsYXRl
X3N5c3Jvb3QgKCkgewogICAgYmIuYnVpbGQuZXhlY19mdW5jKCJzeXNyb290X3N0YWdlX2FsbCIs
IGQpCiAgICBiYi5idWlsZC5leGVjX2Z1bmMoInN5c3Jvb3Rfc3RyaXAiLCBkKQogICAgZm9yIGYg
aW4gKGQuZ2V0VmFyKCdTWVNST09UX1BSRVBST0NFU1NfRlVOQ1MnKSBvciAnJykuc3BsaXQoKToK
ICAgICAgICBiYi5idWlsZC5leGVjX2Z1bmMoZiwgZCkKICAgIHBuID0gZC5nZXRWYXIoIlBOIikK
ICAgIG11bHRpcHJvdiA9IGQuZ2V0VmFyKCJNVUxUSV9QUk9WSURFUl9XSElURUxJU1QiKS5zcGxp
dCgpCiAgICBwcm92ZGlyID0gZC5leHBhbmQoIiR7U1lTUk9PVF9ERVNURElSfSR7YmFzZV9wcmVm
aXh9L3N5c3Jvb3QtcHJvdmlkZXJzLyIpCiAgICBiYi51dGlscy5ta2RpcmhpZXIocHJvdmRpcikK
ICAgIGZvciBwIGluIGQuZ2V0VmFyKCJQUk9WSURFUyIpLnNwbGl0KCk6CiAgICAgICAgaWYgcCBp
biBtdWx0aXByb3Y6CiAgICAgICAgICAgIGNvbnRpbnVlCiAgICAgICAgcCA9IHAucmVwbGFjZSgi
LyIsICJfIikKICAgICAgICB3aXRoIG9wZW4ocHJvdmRpciArIHAsICJ3IikgYXMgZjoKICAgICAg
ICAgICAgZi53cml0ZShwbikKfQoKCnB5dGhvbiBkb19wb3B1bGF0ZV9zeXNyb290X3NldHNjZW5l
ICgpIHsKICAgIHNzdGF0ZV9zZXRzY2VuZShkKQp9CgoKcHl0aG9uIGRvX3ByZXBhcmVfcmVjaXBl
X3N5c3Jvb3QgKCkgewogICAgYmIuYnVpbGQuZXhlY19mdW5jKCJleHRlbmRfcmVjaXBlX3N5c3Jv
b3QiLCBkKQp9CgoKcHl0aG9uIGRvX3FhX2NvbmZpZ3VyZSAoKSB7CiAgICBpbXBvcnQgc3VicHJv
Y2VzcwoKICAgICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogICAgIyBDaGVjayBjb25maWcubG9nIGZvciBj
cm9zcyBjb21waWxlIGlzc3VlcwogICAgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgogICAgY29uZmlncyA9
IFtdCiAgICB3b3JrZGlyID0gZC5nZXRWYXIoJ1dPUktESVInKQoKICAgIGlmIGJiLmRhdGEuaW5o
ZXJpdHNfY2xhc3MoJ2F1dG90b29scycsIGQpOgogICAgICAgIGJiLm5vdGUoIkNoZWNraW5nIGF1
dG90b29scyBlbnZpcm9ubWVudCBmb3IgY29tbW9uIG1pc2NvbmZpZ3VyYXRpb24iKQogICAgICAg
IGZvciByb290LCBkaXJzLCBmaWxlcyBpbiBvcy53YWxrKHdvcmtkaXIpOgogICAgICAgICAgICBz
dGF0ZW1lbnQgPSAiZ3JlcCAtcSAtRiAtZSAnQ1JPU1MgQ09NUElMRSBCYWRuZXNzOicgLWUgJ2lz
IHVuc2FmZSBmb3IgY3Jvc3MtY29tcGlsYXRpb24nICVzIiAlIFwKICAgICAgICAgICAgICAgICAg
ICAgICAgb3MucGF0aC5qb2luKHJvb3QsImNvbmZpZy5sb2ciKQogICAgICAgICAgICBpZiAiY29u
ZmlnLmxvZyIgaW4gZmlsZXM6CiAgICAgICAgICAgICAgICBpZiBzdWJwcm9jZXNzLmNhbGwoc3Rh
dGVtZW50LCBzaGVsbD1UcnVlKSA9PSAwOgogICAgICAgICAgICAgICAgICAgIGJiLmZhdGFsKCIi
IlRoaXMgYXV0b2NvbmYgbG9nIGluZGljYXRlcyBlcnJvcnMsIGl0IGxvb2tlZCBhdCBob3N0IGlu
Y2x1ZGUgYW5kL29yIGxpYnJhcnkgcGF0aHMgd2hpbGUgZGV0ZXJtaW5pbmcgc3lzdGVtIGNhcGFi
aWxpdGllcy4KUmVydW4gY29uZmlndXJlIHRhc2sgYWZ0ZXIgZml4aW5nIHRoaXMuIiIiKQoKICAg
ICAgICAgICAgaWYgImNvbmZpZ3VyZS5hYyIgaW4gZmlsZXM6CiAgICAgICAgICAgICAgICBjb25m
aWdzLmFwcGVuZChvcy5wYXRoLmpvaW4ocm9vdCwiY29uZmlndXJlLmFjIikpCiAgICAgICAgICAg
IGlmICJjb25maWd1cmUuaW4iIGluIGZpbGVzOgogICAgICAgICAgICAgICAgY29uZmlncy5hcHBl
bmQob3MucGF0aC5qb2luKHJvb3QsICJjb25maWd1cmUuaW4iKSkKCiAgICAjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMKICAgICMgQ2hlY2sgZ2V0dGV4dCBjb25maWd1cmF0aW9uIGFuZCBkZXBlbmRlbmNpZXMg
YXJlIGNvcnJlY3QKICAgICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoKICAgIGNuZiA9IGQuZ2V0VmFyKCdF
WFRSQV9PRUNPTkYnKSBvciAiIgogICAgaWYgImdldHRleHQiIG5vdCBpbiBkLmdldFZhcignUCcp
IGFuZCAiZ2NjLXJ1bnRpbWUiIG5vdCBpbiBkLmdldFZhcignUCcpIGFuZCAiLS1kaXNhYmxlLW5s
cyIgbm90IGluIGNuZjoKICAgICAgICBtbCA9IGQuZ2V0VmFyKCJNTFBSRUZJWCIpIG9yICIiCiAg
ICAgICAgaWYgYmIuZGF0YS5pbmhlcml0c19jbGFzcygnbmF0aXZlJywgZCkgb3IgYmIuZGF0YS5p
bmhlcml0c19jbGFzcygnY3Jvc3MnLCBkKSBvciBiYi5kYXRhLmluaGVyaXRzX2NsYXNzKCdjcm9z
c3NkaycsIGQpIG9yIGJiLmRhdGEuaW5oZXJpdHNfY2xhc3MoJ25hdGl2ZXNkaycsIGQpOgogICAg
ICAgICAgICBndCA9ICJnZXR0ZXh0LW5hdGl2ZSIKICAgICAgICBlbGlmIGJiLmRhdGEuaW5oZXJp
dHNfY2xhc3MoJ2Nyb3NzLWNhbmFkaWFuJywgZCk6CiAgICAgICAgICAgIGd0ID0gIm5hdGl2ZXNk
ay1nZXR0ZXh0IgogICAgICAgIGVsc2U6CiAgICAgICAgICAgIGd0ID0gInZpcnR1YWwvIiArIG1s
ICsgImdldHRleHQiCiAgICAgICAgZGVwcyA9IGJiLnV0aWxzLmV4cGxvZGVfZGVwcyhkLmdldFZh
cignREVQRU5EUycpIG9yICIiKQogICAgICAgIGlmIGd0IG5vdCBpbiBkZXBzOgogICAgICAgICAg
ICBmb3IgY29uZmlnIGluIGNvbmZpZ3M6CiAgICAgICAgICAgICAgICBnbnUgPSAiZ3JlcCBcIl5b
WzpzcGFjZTpdXSpBTV9HTlVfR0VUVEVYVFwiICVzID4vZGV2L251bGwiICUgY29uZmlnCiAgICAg
ICAgICAgICAgICBpZiBzdWJwcm9jZXNzLmNhbGwoZ251LCBzaGVsbD1UcnVlKSA9PSAwOgogICAg
ICAgICAgICAgICAgICAgIGJiLmZhdGFsKCIiIiVzIHJlcXVpcmVkIGJ1dCBub3QgaW4gREVQRU5E
UyBmb3IgZmlsZSAlcy4KTWlzc2luZyBpbmhlcml0IGdldHRleHQ/IiIiICUgKGd0LCBjb25maWcp
KQoKICAgICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogICAgIyBDaGVjayB1bnJlY29nbmlzZWQgY29uZmln
dXJlIG9wdGlvbnMgKHdpdGggYSB3aGl0ZSBsaXN0KQogICAgIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAg
ICBpZiBiYi5kYXRhLmluaGVyaXRzX2NsYXNzKCJhdXRvdG9vbHMiLCBkKToKICAgICAgICBiYi5u
b3RlKCJDaGVja2luZyBjb25maWd1cmUgb3V0cHV0IGZvciB1bnJlY29nbmlzZWQgb3B0aW9ucyIp
CiAgICAgICAgdHJ5OgogICAgICAgICAgICBmbGFnID0gIldBUk5JTkc6IHVucmVjb2duaXplZCBv
cHRpb25zOiIKICAgICAgICAgICAgbG9nID0gb3MucGF0aC5qb2luKGQuZ2V0VmFyKCdCJyksICdj
b25maWcubG9nJykKICAgICAgICAgICAgb3V0cHV0ID0gc3VicHJvY2Vzcy5jaGVja19vdXRwdXQo
WydncmVwJywgJy1GJywgZmxhZywgbG9nXSkuZGVjb2RlKCJ1dGYtOCIpLnJlcGxhY2UoJywgJywg
JyAnKQogICAgICAgICAgICBvcHRpb25zID0gc2V0KCkKICAgICAgICAgICAgZm9yIGxpbmUgaW4g
b3V0cHV0LnNwbGl0bGluZXMoKToKICAgICAgICAgICAgICAgIG9wdGlvbnMgfD0gc2V0KGxpbmUu
cGFydGl0aW9uKGZsYWcpWzJdLnNwbGl0KCkpCiAgICAgICAgICAgIHdoaXRlbGlzdCA9IHNldChk
LmdldFZhcigiVU5LTk9XTl9DT05GSUdVUkVfV0hJVEVMSVNUIikuc3BsaXQoKSkKICAgICAgICAg
ICAgb3B0aW9ucyAtPSB3aGl0ZWxpc3QKICAgICAgICAgICAgaWYgb3B0aW9uczoKICAgICAgICAg
ICAgICAgIHBuID0gZC5nZXRWYXIoJ1BOJykKICAgICAgICAgICAgICAgIGVycm9yX21zZyA9IHBu
ICsgIjogY29uZmlndXJlIHdhcyBwYXNzZWQgdW5yZWNvZ25pc2VkIG9wdGlvbnM6ICIgKyAiICIu
am9pbihvcHRpb25zKQogICAgICAgICAgICAgICAgcGFja2FnZV9xYV9oYW5kbGVfZXJyb3IoInVu
a25vd24tY29uZmlndXJlLW9wdGlvbiIsIGVycm9yX21zZywgZCkKICAgICAgICBleGNlcHQgc3Vi
cHJvY2Vzcy5DYWxsZWRQcm9jZXNzRXJyb3I6CiAgICAgICAgICAgIHBhc3MKCiAgICAjIENoZWNr
IGludmFsaWQgUEFDS0FHRUNPTkZJRwogICAgcGtnY29uZmlnID0gKGQuZ2V0VmFyKCJQQUNLQUdF
Q09ORklHIikgb3IgIiIpLnNwbGl0KCkKICAgIGlmIHBrZ2NvbmZpZzoKICAgICAgICBwa2djb25m
aWdmbGFncyA9IGQuZ2V0VmFyRmxhZ3MoIlBBQ0tBR0VDT05GSUciKSBvciB7fQogICAgICAgIGZv
ciBwY29uZmlnIGluIHBrZ2NvbmZpZzoKICAgICAgICAgICAgaWYgcGNvbmZpZyBub3QgaW4gcGtn
Y29uZmlnZmxhZ3M6CiAgICAgICAgICAgICAgICBwbiA9IGQuZ2V0VmFyKCdQTicpCiAgICAgICAg
ICAgICAgICBlcnJvcl9tc2cgPSAiJXM6IGludmFsaWQgUEFDS0FHRUNPTkZJRzogJXMiICUgKHBu
LCBwY29uZmlnKQogICAgICAgICAgICAgICAgcGFja2FnZV9xYV9oYW5kbGVfZXJyb3IoImludmFs
aWQtcGFja2FnZWNvbmZpZyIsIGVycm9yX21zZywgZCkKCiAgICBxYV9zYW5lID0gZC5nZXRWYXIo
IlFBX1NBTkUiKQogICAgaWYgbm90IHFhX3NhbmU6CiAgICAgICAgYmIuZmF0YWwoIkZhdGFsIFFB
IGVycm9ycyBmb3VuZCwgZmFpbGluZyB0YXNrLiIpCn0KCgpweXRob24gZG9fcWFfc3RhZ2luZyAo
KSB7CiAgICBiYi5ub3RlKCJRQSBjaGVja2luZyBzdGFnaW5nIikKCiAgICBpZiBub3QgcGFja2Fn
ZV9xYV9jaGVja19zdGFnZWQoZC5leHBhbmQoJyR7U1lTUk9PVF9ERVNURElSfSR7bGliZGlyfScp
LCBkKToKICAgICAgICBiYi5mYXRhbCgiUUEgc3RhZ2luZyB3YXMgYnJva2VuIGJ5IHRoZSBwYWNr
YWdlIGJ1aWx0IGFib3ZlIikKfQoKCnB5dGhvbiBkb19xYV91bnBhY2sgKCkgewogICAgc3JjX3Vy
aSA9IGQuZ2V0VmFyKCdTUkNfVVJJJykKICAgIHNfZGlyID0gZC5nZXRWYXIoJ1MnKQogICAgaWYg
c3JjX3VyaSBhbmQgbm90IG9zLnBhdGguZXhpc3RzKHNfZGlyKToKICAgICAgICBiYi53YXJuKCcl
czogdGhlIGRpcmVjdG9yeSAlcyAoJXMpIHBvaW50ZWQgdG8gYnkgdGhlIFMgdmFyaWFibGUgZG9l
c25cJ3QgZXhpc3QgLSBwbGVhc2Ugc2V0IFMgd2l0aGluIHRoZSByZWNpcGUgdG8gcG9pbnQgdG8g
d2hlcmUgdGhlIHNvdXJjZSBoYXMgYmVlbiB1bnBhY2tlZCB0bycgJSAoZC5nZXRWYXIoJ1BOJyks
IGQuZ2V0VmFyKCdTJywgRmFsc2UpLCBzX2RpcikpCn0KCgpweXRob24gZG9fc3BsaXRfcGFja2Fn
ZXMgKCkgewpkZWYgZG9fc3BsaXRfcGFja2FnZXMoZCwgcm9vdCwgZmlsZV9yZWdleCwgb3V0cHV0
X3BhdHRlcm4sIGRlc2NyaXB0aW9uLCBwb3N0aW5zdD1Ob25lLCByZWN1cnNpdmU9RmFsc2UsIGhv
b2s9Tm9uZSwgZXh0cmFfZGVwZW5kcz1Ob25lLCBhdXhfZmlsZXNfcGF0dGVybj1Ob25lLCBwb3N0
cm09Tm9uZSwgYWxsb3dfZGlycz1GYWxzZSwgcHJlcGVuZD1GYWxzZSwgbWF0Y2hfcGF0aD1GYWxz
ZSwgYXV4X2ZpbGVzX3BhdHRlcm5fdmVyYmF0aW09Tm9uZSwgYWxsb3dfbGlua3M9RmFsc2UsIHN1
bW1hcnk9Tm9uZSk6CiAgICAiIiIKICAgIFVzZWQgaW4gLmJiIGZpbGVzIHRvIHNwbGl0IHVwIGR5
bmFtaWNhbGx5IGdlbmVyYXRlZCBzdWJwYWNrYWdlcyBvZiBhCiAgICBnaXZlbiBwYWNrYWdlLCB1
c3VhbGx5IHBsdWdpbnMgb3IgbW9kdWxlcy4KCiAgICBBcmd1bWVudHM6CiAgICByb290ICAgICAg
ICAgICAtLSB0aGUgcGF0aCBpbiB3aGljaCB0byBzZWFyY2gKICAgIGZpbGVfcmVnZXggICAgIC0t
IHJlZ3VsYXIgZXhwcmVzc2lvbiB0byBtYXRjaCBzZWFyY2hlZCBmaWxlcy4gVXNlCiAgICAgICAg
ICAgICAgICAgICAgICBwYXJlbnRoZXNlcyAoKSB0byBtYXJrIHRoZSBwYXJ0IG9mIHRoaXMgZXhw
cmVzc2lvbgogICAgICAgICAgICAgICAgICAgICAgdGhhdCBzaG91bGQgYmUgdXNlZCB0byBkZXJp
dmUgdGhlIG1vZHVsZSBuYW1lICh0byBiZQogICAgICAgICAgICAgICAgICAgICAgc3Vic3RpdHV0
ZWQgd2hlcmUgJXMgaXMgdXNlZCBpbiBvdGhlciBmdW5jdGlvbgogICAgICAgICAgICAgICAgICAg
ICAgYXJndW1lbnRzIGFzIG5vdGVkIGJlbG93KQogICAgb3V0cHV0X3BhdHRlcm4gLS0gcGF0dGVy
biB0byB1c2UgZm9yIHRoZSBwYWNrYWdlIG5hbWVzLiBNdXN0IGluY2x1ZGUgJXMuCiAgICBkZXNj
cmlwdGlvbiAgICAtLSBkZXNjcmlwdGlvbiB0byBzZXQgZm9yIGVhY2ggcGFja2FnZS4gTXVzdCBp
bmNsdWRlICVzLgogICAgcG9zdGluc3QgICAgICAgLS0gcG9zdGluc3RhbGwgc2NyaXB0IHRvIHVz
ZSBmb3IgYWxsIHBhY2thZ2VzIChhcyBhCiAgICAgICAgICAgICAgICAgICAgICBzdHJpbmcpCiAg
ICByZWN1cnNpdmUgICAgICAtLSBUcnVlIHRvIHBlcmZvcm0gYSByZWN1cnNpdmUgc2VhcmNoIC0g
ZGVmYXVsdCBGYWxzZQogICAgaG9vayAgICAgICAgICAgLS0gYSBob29rIGZ1bmN0aW9uIHRvIGJl
IGNhbGxlZCBmb3IgZXZlcnkgbWF0Y2guIFRoZQogICAgICAgICAgICAgICAgICAgICAgZnVuY3Rp
b24gd2lsbCBiZSBjYWxsZWQgd2l0aCB0aGUgZm9sbG93aW5nIGFyZ3VtZW50cwogICAgICAgICAg
ICAgICAgICAgICAgKGluIHRoZSBvcmRlciBsaXN0ZWQpOgogICAgICAgICAgICAgICAgICAgICAg
ICBmOiBmdWxsIHBhdGggdG8gdGhlIGZpbGUvZGlyZWN0b3J5IG1hdGNoCiAgICAgICAgICAgICAg
ICAgICAgICAgIHBrZzogdGhlIHBhY2thZ2UgbmFtZQogICAgICAgICAgICAgICAgICAgICAgICBm
aWxlX3JlZ2V4OiBhcyBhYm92ZQogICAgICAgICAgICAgICAgICAgICAgICBvdXRwdXRfcGF0dGVy
bjogYXMgYWJvdmUKICAgICAgICAgICAgICAgICAgICAgICAgbW9kdWxlbmFtZTogdGhlIG1vZHVs
ZSBuYW1lIGRlcml2ZWQgdXNpbmcgZmlsZV9yZWdleAogICAgZXh0cmFfZGVwZW5kcyAgLS0gZXh0
cmEgcnVudGltZSBkZXBlbmRlbmNpZXMgKFJERVBFTkRTKSB0byBiZSBzZXQgZm9yCiAgICAgICAg
ICAgICAgICAgICAgICBhbGwgcGFja2FnZXMuIFRoZSBkZWZhdWx0IHZhbHVlIG9mIE5vbmUgY2F1
c2VzIGEKICAgICAgICAgICAgICAgICAgICAgIGRlcGVuZGVuY3kgb24gdGhlIG1haW4gcGFja2Fn
ZSAoJHtQTn0pIC0gaWYgeW91IGRvCiAgICAgICAgICAgICAgICAgICAgICBub3Qgd2FudCB0aGlz
LCBwYXNzICcnIGZvciB0aGlzIHBhcmFtZXRlci4KICAgIGF1eF9maWxlc19wYXR0ZXJuIC0tIGV4
dHJhIGl0ZW0ocykgdG8gYmUgYWRkZWQgdG8gRklMRVMgZm9yIGVhY2gKICAgICAgICAgICAgICAg
ICAgICAgIHBhY2thZ2UuIENhbiBiZSBhIHNpbmdsZSBzdHJpbmcgaXRlbSBvciBhIGxpc3Qgb2YK
ICAgICAgICAgICAgICAgICAgICAgIHN0cmluZ3MgZm9yIG11bHRpcGxlIGl0ZW1zLiAgTXVzdCBp
bmNsdWRlICVzLgogICAgcG9zdHJtICAgICAgICAgLS0gcG9zdHJtIHNjcmlwdCB0byB1c2UgZm9y
IGFsbCBwYWNrYWdlcyAoYXMgYSBzdHJpbmcpCiAgICBhbGxvd19kaXJzICAgICAtLSBUcnVlIGFs
bG93IGRpcmVjdG9yaWVzIHRvIGJlIG1hdGNoZWQgLSBkZWZhdWx0IEZhbHNlCiAgICBwcmVwZW5k
ICAgICAgICAtLSBpZiBUcnVlLCBwcmVwZW5kIGNyZWF0ZWQgcGFja2FnZXMgdG8gUEFDS0FHRVMg
aW5zdGVhZAogICAgICAgICAgICAgICAgICAgICAgb2YgdGhlIGRlZmF1bHQgRmFsc2Ugd2hpY2gg
YXBwZW5kcyB0aGVtCiAgICBtYXRjaF9wYXRoICAgICAtLSBtYXRjaCBmaWxlX3JlZ2V4IG9uIHRo
ZSB3aG9sZSByZWxhdGl2ZSBwYXRoIHRvIHRoZQogICAgICAgICAgICAgICAgICAgICAgcm9vdCBy
YXRoZXIgdGhhbiBqdXN0IHRoZSBmaWxlIG5hbWUKICAgIGF1eF9maWxlc19wYXR0ZXJuX3ZlcmJh
dGltIC0tIGV4dHJhIGl0ZW0ocykgdG8gYmUgYWRkZWQgdG8gRklMRVMgZm9yCiAgICAgICAgICAg
ICAgICAgICAgICBlYWNoIHBhY2thZ2UsIHVzaW5nIHRoZSBhY3R1YWwgZGVyaXZlZCBtb2R1bGUg
bmFtZQogICAgICAgICAgICAgICAgICAgICAgcmF0aGVyIHRoYW4gY29udmVydGluZyBpdCB0byBz
b21ldGhpbmcgbGVnYWwgZm9yIGEKICAgICAgICAgICAgICAgICAgICAgIHBhY2thZ2UgbmFtZS4g
Q2FuIGJlIGEgc2luZ2xlIHN0cmluZyBpdGVtIG9yIGEgbGlzdAogICAgICAgICAgICAgICAgICAg
ICAgb2Ygc3RyaW5ncyBmb3IgbXVsdGlwbGUgaXRlbXMuIE11c3QgaW5jbHVkZSAlcy4KICAgIGFs
bG93X2xpbmtzICAgIC0tIFRydWUgdG8gYWxsb3cgc3ltbGlua3MgdG8gYmUgbWF0Y2hlZCAtIGRl
ZmF1bHQgRmFsc2UKICAgIHN1bW1hcnkgICAgICAgIC0tIFN1bW1hcnkgdG8gc2V0IGZvciBlYWNo
IHBhY2thZ2UuIE11c3QgaW5jbHVkZSAlczsKICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHRz
IHRvIGRlc2NyaXB0aW9uIGlmIG5vdCBzZXQuCgogICAgIiIiCgogICAgZHZhciA9IGQuZ2V0VmFy
KCdQS0dEJykKICAgIHJvb3QgPSBkLmV4cGFuZChyb290KQogICAgb3V0cHV0X3BhdHRlcm4gPSBk
LmV4cGFuZChvdXRwdXRfcGF0dGVybikKICAgIGV4dHJhX2RlcGVuZHMgPSBkLmV4cGFuZChleHRy
YV9kZXBlbmRzKQoKICAgICMgSWYgdGhlIHJvb3QgZGlyZWN0b3J5IGRvZXNuJ3QgZXhpc3QsIGRv
bid0IGVycm9yIG91dCBsYXRlciBidXQgc2lsZW50bHkgZG8KICAgICMgbm8gc3BsaXR0aW5nLgog
ICAgaWYgbm90IG9zLnBhdGguZXhpc3RzKGR2YXIgKyByb290KToKICAgICAgICByZXR1cm4gW10K
CiAgICBtbCA9IGQuZ2V0VmFyKCJNTFBSRUZJWCIpCiAgICBpZiBtbDoKICAgICAgICBpZiBub3Qg
b3V0cHV0X3BhdHRlcm4uc3RhcnRzd2l0aChtbCk6CiAgICAgICAgICAgIG91dHB1dF9wYXR0ZXJu
ID0gbWwgKyBvdXRwdXRfcGF0dGVybgoKICAgICAgICBuZXdkZXBzID0gW10KICAgICAgICBmb3Ig
ZGVwIGluIChleHRyYV9kZXBlbmRzIG9yICIiKS5zcGxpdCgpOgogICAgICAgICAgICBpZiBkZXAu
c3RhcnRzd2l0aChtbCk6CiAgICAgICAgICAgICAgICBuZXdkZXBzLmFwcGVuZChkZXApCiAgICAg
ICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICBuZXdkZXBzLmFwcGVuZChtbCArIGRlcCkKICAg
ICAgICBpZiBuZXdkZXBzOgogICAgICAgICAgICBleHRyYV9kZXBlbmRzID0gIiAiLmpvaW4obmV3
ZGVwcykKCgogICAgcGFja2FnZXMgPSBkLmdldFZhcignUEFDS0FHRVMnKS5zcGxpdCgpCiAgICBz
cGxpdF9wYWNrYWdlcyA9IHNldCgpCgogICAgaWYgcG9zdGluc3Q6CiAgICAgICAgcG9zdGluc3Qg
PSAnIyEvYmluL3NoXG4nICsgcG9zdGluc3QgKyAnXG4nCiAgICBpZiBwb3N0cm06CiAgICAgICAg
cG9zdHJtID0gJyMhL2Jpbi9zaFxuJyArIHBvc3RybSArICdcbicKICAgIGlmIG5vdCByZWN1cnNp
dmU6CiAgICAgICAgb2JqcyA9IG9zLmxpc3RkaXIoZHZhciArIHJvb3QpCiAgICBlbHNlOgogICAg
ICAgIG9ianMgPSBbXQogICAgICAgIGZvciB3YWxrcm9vdCwgZGlycywgZmlsZXMgaW4gb3Mud2Fs
ayhkdmFyICsgcm9vdCk6CiAgICAgICAgICAgIGZvciBmaWxlIGluIGZpbGVzOgogICAgICAgICAg
ICAgICAgcmVscGF0aCA9IG9zLnBhdGguam9pbih3YWxrcm9vdCwgZmlsZSkucmVwbGFjZShkdmFy
ICsgcm9vdCArICcvJywgJycsIDEpCiAgICAgICAgICAgICAgICBpZiByZWxwYXRoOgogICAgICAg
ICAgICAgICAgICAgIG9ianMuYXBwZW5kKHJlbHBhdGgpCgogICAgaWYgZXh0cmFfZGVwZW5kcyA9
PSBOb25lOgogICAgICAgIGV4dHJhX2RlcGVuZHMgPSBkLmdldFZhcigiUE4iKQoKICAgIGlmIG5v
dCBzdW1tYXJ5OgogICAgICAgIHN1bW1hcnkgPSBkZXNjcmlwdGlvbgoKICAgIGZvciBvIGluIHNv
cnRlZChvYmpzKToKICAgICAgICBpbXBvcnQgcmUsIHN0YXQKICAgICAgICBpZiBtYXRjaF9wYXRo
OgogICAgICAgICAgICBtID0gcmUubWF0Y2goZmlsZV9yZWdleCwgbykKICAgICAgICBlbHNlOgog
ICAgICAgICAgICBtID0gcmUubWF0Y2goZmlsZV9yZWdleCwgb3MucGF0aC5iYXNlbmFtZShvKSkK
CiAgICAgICAgaWYgbm90IG06CiAgICAgICAgICAgIGNvbnRpbnVlCiAgICAgICAgZiA9IG9zLnBh
dGguam9pbihkdmFyICsgcm9vdCwgbykKICAgICAgICBtb2RlID0gb3MubHN0YXQoZikuc3RfbW9k
ZQogICAgICAgIGlmIG5vdCAoc3RhdC5TX0lTUkVHKG1vZGUpIG9yIChhbGxvd19saW5rcyBhbmQg
c3RhdC5TX0lTTE5LKG1vZGUpKSBvciAoYWxsb3dfZGlycyBhbmQgc3RhdC5TX0lTRElSKG1vZGUp
KSk6CiAgICAgICAgICAgIGNvbnRpbnVlCiAgICAgICAgb24gPSBsZWdpdGltaXplX3BhY2thZ2Vf
bmFtZShtLmdyb3VwKDEpKQogICAgICAgIHBrZyA9IG91dHB1dF9wYXR0ZXJuICUgb24KICAgICAg
ICBzcGxpdF9wYWNrYWdlcy5hZGQocGtnKQogICAgICAgIGlmIG5vdCBwa2cgaW4gcGFja2FnZXM6
CiAgICAgICAgICAgIGlmIHByZXBlbmQ6CiAgICAgICAgICAgICAgICBwYWNrYWdlcyA9IFtwa2dd
ICsgcGFja2FnZXMKICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgIHBhY2thZ2VzLmFw
cGVuZChwa2cpCiAgICAgICAgb2xkZmlsZXMgPSBkLmdldFZhcignRklMRVNfJyArIHBrZykKICAg
ICAgICBuZXdmaWxlID0gb3MucGF0aC5qb2luKHJvb3QsIG8pCiAgICAgICAgIyBUaGVzZSBuYW1l
cyB3aWxsIGJlIHBhc3NlZCB0aHJvdWdoIGdsb2IoKSBzbyBpZiB0aGUgZmlsZW5hbWUgYWN0dWFs
bHkKICAgICAgICAjIGNvbnRhaW5zICogb3IgPyAocmFyZSwgYnV0IHBvc3NpYmxlKSB3ZSBuZWVk
IHRvIGhhbmRsZSB0aGF0IHNwZWNpYWxseQogICAgICAgIG5ld2ZpbGUgPSBuZXdmaWxlLnJlcGxh
Y2UoJyonLCAnWypdJykKICAgICAgICBuZXdmaWxlID0gbmV3ZmlsZS5yZXBsYWNlKCc/JywgJ1s/
XScpCiAgICAgICAgaWYgbm90IG9sZGZpbGVzOgogICAgICAgICAgICB0aGVfZmlsZXMgPSBbbmV3
ZmlsZV0KICAgICAgICAgICAgaWYgYXV4X2ZpbGVzX3BhdHRlcm46CiAgICAgICAgICAgICAgICBp
ZiB0eXBlKGF1eF9maWxlc19wYXR0ZXJuKSBpcyBsaXN0OgogICAgICAgICAgICAgICAgICAgIGZv
ciBmcCBpbiBhdXhfZmlsZXNfcGF0dGVybjoKICAgICAgICAgICAgICAgICAgICAgICAgdGhlX2Zp
bGVzLmFwcGVuZChmcCAlIG9uKQogICAgICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAg
ICAgICB0aGVfZmlsZXMuYXBwZW5kKGF1eF9maWxlc19wYXR0ZXJuICUgb24pCiAgICAgICAgICAg
IGlmIGF1eF9maWxlc19wYXR0ZXJuX3ZlcmJhdGltOgogICAgICAgICAgICAgICAgaWYgdHlwZShh
dXhfZmlsZXNfcGF0dGVybl92ZXJiYXRpbSkgaXMgbGlzdDoKICAgICAgICAgICAgICAgICAgICBm
b3IgZnAgaW4gYXV4X2ZpbGVzX3BhdHRlcm5fdmVyYmF0aW06CiAgICAgICAgICAgICAgICAgICAg
ICAgIHRoZV9maWxlcy5hcHBlbmQoZnAgJSBtLmdyb3VwKDEpKQogICAgICAgICAgICAgICAgZWxz
ZToKICAgICAgICAgICAgICAgICAgICB0aGVfZmlsZXMuYXBwZW5kKGF1eF9maWxlc19wYXR0ZXJu
X3ZlcmJhdGltICUgbS5ncm91cCgxKSkKICAgICAgICAgICAgZC5zZXRWYXIoJ0ZJTEVTXycgKyBw
a2csICIgIi5qb2luKHRoZV9maWxlcykpCiAgICAgICAgZWxzZToKICAgICAgICAgICAgZC5zZXRW
YXIoJ0ZJTEVTXycgKyBwa2csIG9sZGZpbGVzICsgIiAiICsgbmV3ZmlsZSkKICAgICAgICBpZiBl
eHRyYV9kZXBlbmRzICE9ICcnOgogICAgICAgICAgICBkLmFwcGVuZFZhcignUkRFUEVORFNfJyAr
IHBrZywgJyAnICsgZXh0cmFfZGVwZW5kcykKICAgICAgICBpZiBub3QgZC5nZXRWYXIoJ0RFU0NS
SVBUSU9OXycgKyBwa2cpOgogICAgICAgICAgICBkLnNldFZhcignREVTQ1JJUFRJT05fJyArIHBr
ZywgZGVzY3JpcHRpb24gJSBvbikKICAgICAgICBpZiBub3QgZC5nZXRWYXIoJ1NVTU1BUllfJyAr
IHBrZyk6CiAgICAgICAgICAgIGQuc2V0VmFyKCdTVU1NQVJZXycgKyBwa2csIHN1bW1hcnkgJSBv
bikKICAgICAgICBpZiBwb3N0aW5zdDoKICAgICAgICAgICAgZC5zZXRWYXIoJ3BrZ19wb3N0aW5z
dF8nICsgcGtnLCBwb3N0aW5zdCkKICAgICAgICBpZiBwb3N0cm06CiAgICAgICAgICAgIGQuc2V0
VmFyKCdwa2dfcG9zdHJtXycgKyBwa2csIHBvc3RybSkKICAgICAgICBpZiBjYWxsYWJsZShob29r
KToKICAgICAgICAgICAgaG9vayhmLCBwa2csIGZpbGVfcmVnZXgsIG91dHB1dF9wYXR0ZXJuLCBt
Lmdyb3VwKDEpKQoKICAgIGQuc2V0VmFyKCdQQUNLQUdFUycsICcgJy5qb2luKHBhY2thZ2VzKSkK
ICAgIHJldHVybiBsaXN0KHNwbGl0X3BhY2thZ2VzKQp9CgoKcHl0aG9uIGRvX3VucGFjayAoKSB7
CiAgICBiYi5idWlsZC5leGVjX2Z1bmMoJ2Jhc2VfZG9fdW5wYWNrJywgZCkKfQoKCnB5dGhvbiBl
bWl0X3BrZ2RhdGEgKCkgewogICAgZnJvbSBnbG9iIGltcG9ydCBnbG9iCiAgICBpbXBvcnQganNv
bgoKICAgIGRlZiB3cml0ZV9pZl9leGlzdHMoZiwgcGtnLCB2YXIpOgogICAgICAgIGRlZiBlbmNv
ZGUoc3RyKToKICAgICAgICAgICAgaW1wb3J0IGNvZGVjcwogICAgICAgICAgICBjID0gY29kZWNz
LmdldGVuY29kZXIoInVuaWNvZGVfZXNjYXBlIikKICAgICAgICAgICAgcmV0dXJuIGMoc3RyKVsw
XS5kZWNvZGUoImxhdGluMSIpCgogICAgICAgIHZhbCA9IGQuZ2V0VmFyKCclc18lcycgJSAodmFy
LCBwa2cpKQogICAgICAgIGlmIHZhbDoKICAgICAgICAgICAgZi53cml0ZSgnJXNfJXM6ICVzXG4n
ICUgKHZhciwgcGtnLCBlbmNvZGUodmFsKSkpCiAgICAgICAgICAgIHJldHVybiB2YWwKICAgICAg
ICB2YWwgPSBkLmdldFZhcignJXMnICUgKHZhcikpCiAgICAgICAgaWYgdmFsOgogICAgICAgICAg
ICBmLndyaXRlKCclczogJXNcbicgJSAodmFyLCBlbmNvZGUodmFsKSkpCiAgICAgICAgcmV0dXJu
IHZhbAoKICAgIGRlZiB3cml0ZV9leHRyYV9wa2dzKHZhcmlhbnRzLCBwbiwgcGFja2FnZXMsIHBr
Z2RhdGFkaXIpOgogICAgICAgIGZvciB2YXJpYW50IGluIHZhcmlhbnRzOgogICAgICAgICAgICB3
aXRoIG9wZW4oIiVzLyVzLSVzIiAlIChwa2dkYXRhZGlyLCB2YXJpYW50LCBwbiksICd3JykgYXMg
ZmQ6CiAgICAgICAgICAgICAgICBmZC53cml0ZSgiUEFDS0FHRVM6ICVzXG4iICUgJyAnLmpvaW4o
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXAobGFtYmRhIHBrZzogJyVzLSVzJyAlICh2
YXJpYW50LCBwa2cpLCBwYWNrYWdlcy5zcGxpdCgpKSkpCgogICAgZGVmIHdyaXRlX2V4dHJhX3J1
bnRpbWVfcGtncyh2YXJpYW50cywgcGFja2FnZXMsIHBrZ2RhdGFkaXIpOgogICAgICAgIGZvciB2
YXJpYW50IGluIHZhcmlhbnRzOgogICAgICAgICAgICBmb3IgcGtnIGluIHBhY2thZ2VzLnNwbGl0
KCk6CiAgICAgICAgICAgICAgICBtbF9wa2cgPSAiJXMtJXMiICUgKHZhcmlhbnQsIHBrZykKICAg
ICAgICAgICAgICAgIHN1YmRhdGFfZmlsZSA9ICIlcy9ydW50aW1lLyVzIiAlIChwa2dkYXRhZGly
LCBtbF9wa2cpCiAgICAgICAgICAgICAgICB3aXRoIG9wZW4oc3ViZGF0YV9maWxlLCAndycpIGFz
IGZkOgogICAgICAgICAgICAgICAgICAgIGZkLndyaXRlKCJQS0dfJXM6ICVzIiAlIChtbF9wa2cs
IHBrZykpCgogICAgcGFja2FnZXMgPSBkLmdldFZhcignUEFDS0FHRVMnKQogICAgcGtnZGVzdCA9
IGQuZ2V0VmFyKCdQS0dERVNUJykKICAgIHBrZ2RhdGFkaXIgPSBkLmdldFZhcignUEtHREVTVFdP
UksnKQoKICAgICMgVGFrZSBzaGFyZWQgbG9jayBzaW5jZSB3ZSdyZSBvbmx5IHJlYWRpbmcsIG5v
dCB3cml0aW5nCiAgICBsZiA9IGJiLnV0aWxzLmxvY2tmaWxlKGQuZXhwYW5kKCIke1BBQ0tBR0VM
T0NLfSIpLCBUcnVlKQoKICAgIGRhdGFfZmlsZSA9IHBrZ2RhdGFkaXIgKyBkLmV4cGFuZCgiLyR7
UE59IiApCiAgICBmID0gb3BlbihkYXRhX2ZpbGUsICd3JykKICAgIGYud3JpdGUoIlBBQ0tBR0VT
OiAlc1xuIiAlIHBhY2thZ2VzKQogICAgZi5jbG9zZSgpCgogICAgcG4gPSBkLmdldFZhcignUE4n
KQogICAgZ2xvYmFsX3ZhcmlhbnRzID0gKGQuZ2V0VmFyKCdNVUxUSUxJQl9HTE9CQUxfVkFSSUFO
VFMnKSBvciAiIikuc3BsaXQoKQogICAgdmFyaWFudHMgPSAoZC5nZXRWYXIoJ01VTFRJTElCX1ZB
UklBTlRTJykgb3IgIiIpLnNwbGl0KCkKCiAgICBpZiBiYi5kYXRhLmluaGVyaXRzX2NsYXNzKCdr
ZXJuZWwnLCBkKSBvciBiYi5kYXRhLmluaGVyaXRzX2NsYXNzKCdtb2R1bGUtYmFzZScsIGQpOgog
ICAgICAgIHdyaXRlX2V4dHJhX3BrZ3ModmFyaWFudHMsIHBuLCBwYWNrYWdlcywgcGtnZGF0YWRp
cikKCiAgICBpZiAoYmIuZGF0YS5pbmhlcml0c19jbGFzcygnYWxsYXJjaCcsIGQpIGFuZCBub3Qg
YmIuZGF0YS5pbmhlcml0c19jbGFzcygncGFja2FnZWdyb3VwJywgZCkpOgogICAgICAgIHdyaXRl
X2V4dHJhX3BrZ3MoZ2xvYmFsX3ZhcmlhbnRzLCBwbiwgcGFja2FnZXMsIHBrZ2RhdGFkaXIpCgog
ICAgd29ya2RpciA9IGQuZ2V0VmFyKCdXT1JLRElSJykKCiAgICBmb3IgcGtnIGluIHBhY2thZ2Vz
LnNwbGl0KCk6CiAgICAgICAgcGtndmFsID0gZC5nZXRWYXIoJ1BLR18lcycgJSBwa2cpCiAgICAg
ICAgaWYgcGtndmFsIGlzIE5vbmU6CiAgICAgICAgICAgIHBrZ3ZhbCA9IHBrZwogICAgICAgICAg
ICBkLnNldFZhcignUEtHXyVzJyAlIHBrZywgcGtnKQoKICAgICAgICBwa2dkZXN0cGtnID0gb3Mu
cGF0aC5qb2luKHBrZ2Rlc3QsIHBrZykKICAgICAgICBmaWxlcyA9IHt9CiAgICAgICAgdG90YWxf
c2l6ZSA9IDAKICAgICAgICBzZWVuID0gc2V0KCkKICAgICAgICBmb3IgZiBpbiBwa2dmaWxlc1tw
a2ddOgogICAgICAgICAgICByZWxwdGggPSBvcy5wYXRoLnJlbHBhdGgoZiwgcGtnZGVzdHBrZykK
ICAgICAgICAgICAgZnN0YXQgPSBvcy5sc3RhdChmKQogICAgICAgICAgICBmaWxlc1tvcy5zZXAg
KyByZWxwdGhdID0gZnN0YXQuc3Rfc2l6ZQogICAgICAgICAgICBpZiBmc3RhdC5zdF9pbm8gbm90
IGluIHNlZW46CiAgICAgICAgICAgICAgICBzZWVuLmFkZChmc3RhdC5zdF9pbm8pCiAgICAgICAg
ICAgICAgICB0b3RhbF9zaXplICs9IGZzdGF0LnN0X3NpemUKICAgICAgICBkLnNldFZhcignRklM
RVNfSU5GTycsIGpzb24uZHVtcHMoZmlsZXMpKQoKICAgICAgICBzdWJkYXRhX2ZpbGUgPSBwa2dk
YXRhZGlyICsgIi9ydW50aW1lLyVzIiAlIHBrZwogICAgICAgIHNmID0gb3BlbihzdWJkYXRhX2Zp
bGUsICd3JykKICAgICAgICB3cml0ZV9pZl9leGlzdHMoc2YsIHBrZywgJ1BOJykKICAgICAgICB3
cml0ZV9pZl9leGlzdHMoc2YsIHBrZywgJ1BFJykKICAgICAgICB3cml0ZV9pZl9leGlzdHMoc2Ys
IHBrZywgJ1BWJykKICAgICAgICB3cml0ZV9pZl9leGlzdHMoc2YsIHBrZywgJ1BSJykKICAgICAg
ICB3cml0ZV9pZl9leGlzdHMoc2YsIHBrZywgJ1BLR0UnKQogICAgICAgIHdyaXRlX2lmX2V4aXN0
cyhzZiwgcGtnLCAnUEtHVicpCiAgICAgICAgd3JpdGVfaWZfZXhpc3RzKHNmLCBwa2csICdQS0dS
JykKICAgICAgICB3cml0ZV9pZl9leGlzdHMoc2YsIHBrZywgJ0xJQ0VOU0UnKQogICAgICAgIHdy
aXRlX2lmX2V4aXN0cyhzZiwgcGtnLCAnREVTQ1JJUFRJT04nKQogICAgICAgIHdyaXRlX2lmX2V4
aXN0cyhzZiwgcGtnLCAnU1VNTUFSWScpCiAgICAgICAgd3JpdGVfaWZfZXhpc3RzKHNmLCBwa2cs
ICdSREVQRU5EUycpCiAgICAgICAgcnByb3YgPSB3cml0ZV9pZl9leGlzdHMoc2YsIHBrZywgJ1JQ
Uk9WSURFUycpCiAgICAgICAgd3JpdGVfaWZfZXhpc3RzKHNmLCBwa2csICdSUkVDT01NRU5EUycp
CiAgICAgICAgd3JpdGVfaWZfZXhpc3RzKHNmLCBwa2csICdSU1VHR0VTVFMnKQogICAgICAgIHdy
aXRlX2lmX2V4aXN0cyhzZiwgcGtnLCAnUlJFUExBQ0VTJykKICAgICAgICB3cml0ZV9pZl9leGlz
dHMoc2YsIHBrZywgJ1JDT05GTElDVFMnKQogICAgICAgIHdyaXRlX2lmX2V4aXN0cyhzZiwgcGtn
LCAnU0VDVElPTicpCiAgICAgICAgd3JpdGVfaWZfZXhpc3RzKHNmLCBwa2csICdQS0cnKQogICAg
ICAgIHdyaXRlX2lmX2V4aXN0cyhzZiwgcGtnLCAnQUxMT1dfRU1QVFknKQogICAgICAgIHdyaXRl
X2lmX2V4aXN0cyhzZiwgcGtnLCAnRklMRVMnKQogICAgICAgIHdyaXRlX2lmX2V4aXN0cyhzZiwg
cGtnLCAnQ09ORkZJTEVTJykKICAgICAgICB3cml0ZV9pZl9leGlzdHMoc2YsIHBrZywgJ3BrZ19w
b3N0aW5zdCcpCiAgICAgICAgd3JpdGVfaWZfZXhpc3RzKHNmLCBwa2csICdwa2dfcG9zdHJtJykK
ICAgICAgICB3cml0ZV9pZl9leGlzdHMoc2YsIHBrZywgJ3BrZ19wcmVpbnN0JykKICAgICAgICB3
cml0ZV9pZl9leGlzdHMoc2YsIHBrZywgJ3BrZ19wcmVybScpCiAgICAgICAgd3JpdGVfaWZfZXhp
c3RzKHNmLCBwa2csICdGSUxFUlBST1ZJREVTRkxJU1QnKQogICAgICAgIHdyaXRlX2lmX2V4aXN0
cyhzZiwgcGtnLCAnRklMRVNfSU5GTycpCiAgICAgICAgZm9yIGRmaWxlIGluIChkLmdldFZhcign
RklMRVJQUk9WSURFU0ZMSVNUXycgKyBwa2cpIG9yICIiKS5zcGxpdCgpOgogICAgICAgICAgICB3
cml0ZV9pZl9leGlzdHMoc2YsIHBrZywgJ0ZJTEVSUFJPVklERVNfJyArIGRmaWxlKQoKICAgICAg
ICB3cml0ZV9pZl9leGlzdHMoc2YsIHBrZywgJ0ZJTEVSREVQRU5EU0ZMSVNUJykKICAgICAgICBm
b3IgZGZpbGUgaW4gKGQuZ2V0VmFyKCdGSUxFUkRFUEVORFNGTElTVF8nICsgcGtnKSBvciAiIiku
c3BsaXQoKToKICAgICAgICAgICAgd3JpdGVfaWZfZXhpc3RzKHNmLCBwa2csICdGSUxFUkRFUEVO
RFNfJyArIGRmaWxlKQoKICAgICAgICBzZi53cml0ZSgnJXNfJXM6ICVkXG4nICUgKCdQS0dTSVpF
JywgcGtnLCB0b3RhbF9zaXplKSkKICAgICAgICBzZi5jbG9zZSgpCgogICAgICAgICMgU3ltbGlu
a3MgbmVlZGVkIGZvciBycHJvdmlkZXMgbG9va3VwCiAgICAgICAgaWYgcnByb3Y6CiAgICAgICAg
ICAgIGZvciBwIGluIHJwcm92LnN0cmlwKCkuc3BsaXQoKToKICAgICAgICAgICAgICAgIHN1YmRh
dGFfc3ltID0gcGtnZGF0YWRpciArICIvcnVudGltZS1ycHJvdmlkZXMvJXMvJXMiICUgKHAsIHBr
ZykKICAgICAgICAgICAgICAgIGJiLnV0aWxzLm1rZGlyaGllcihvcy5wYXRoLmRpcm5hbWUoc3Vi
ZGF0YV9zeW0pKQogICAgICAgICAgICAgICAgb2UucGF0aC5zeW1saW5rKCIuLi8uLi9ydW50aW1l
LyVzIiAlIHBrZywgc3ViZGF0YV9zeW0sIFRydWUpCgogICAgICAgIGFsbG93X2VtcHR5ID0gZC5n
ZXRWYXIoJ0FMTE9XX0VNUFRZXyVzJyAlIHBrZykKICAgICAgICBpZiBub3QgYWxsb3dfZW1wdHk6
CiAgICAgICAgICAgIGFsbG93X2VtcHR5ID0gZC5nZXRWYXIoJ0FMTE9XX0VNUFRZJykKICAgICAg
ICByb290ID0gIiVzLyVzIiAlIChwa2dkZXN0LCBwa2cpCiAgICAgICAgb3MuY2hkaXIocm9vdCkK
ICAgICAgICBnID0gZ2xvYignKicpCiAgICAgICAgaWYgZyBvciBhbGxvd19lbXB0eSA9PSAiMSI6
CiAgICAgICAgICAgICMgU3ltbGlua3MgbmVlZGVkIGZvciByZXZlcnNlIGxvb2t1cHMgKGZyb20g
dGhlIGZpbmFsIHBhY2thZ2UgbmFtZSkKICAgICAgICAgICAgc3ViZGF0YV9zeW0gPSBwa2dkYXRh
ZGlyICsgIi9ydW50aW1lLXJldmVyc2UvJXMiICUgcGtndmFsCiAgICAgICAgICAgIG9lLnBhdGgu
c3ltbGluaygiLi4vcnVudGltZS8lcyIgJSBwa2csIHN1YmRhdGFfc3ltLCBUcnVlKQoKICAgICAg
ICAgICAgcGFja2FnZWRmaWxlID0gcGtnZGF0YWRpciArICcvcnVudGltZS8lcy5wYWNrYWdlZCcg
JSBwa2cKICAgICAgICAgICAgb3BlbihwYWNrYWdlZGZpbGUsICd3JykuY2xvc2UoKQoKICAgIGlm
IGJiLmRhdGEuaW5oZXJpdHNfY2xhc3MoJ2tlcm5lbCcsIGQpIG9yIGJiLmRhdGEuaW5oZXJpdHNf
Y2xhc3MoJ21vZHVsZS1iYXNlJywgZCk6CiAgICAgICAgd3JpdGVfZXh0cmFfcnVudGltZV9wa2dz
KHZhcmlhbnRzLCBwYWNrYWdlcywgcGtnZGF0YWRpcikKCiAgICBpZiBiYi5kYXRhLmluaGVyaXRz
X2NsYXNzKCdhbGxhcmNoJywgZCkgYW5kIG5vdCBiYi5kYXRhLmluaGVyaXRzX2NsYXNzKCdwYWNr
YWdlZ3JvdXAnLCBkKToKICAgICAgICB3cml0ZV9leHRyYV9ydW50aW1lX3BrZ3MoZ2xvYmFsX3Zh
cmlhbnRzLCBwYWNrYWdlcywgcGtnZGF0YWRpcikKCiAgICBiYi51dGlscy51bmxvY2tmaWxlKGxm
KQp9CgoKcHl0aG9uIGVtaXRfdGVybWluYWxfZnVuYyAoKSB7CmRlZiBlbWl0X3Rlcm1pbmFsX2Z1
bmMoY29tbWFuZCwgZW52ZGF0YSwgZCk6CiAgICBjbWRfZnVuYyA9ICdkb190ZXJtaW5hbCcKCiAg
ICBlbnZkYXRhLnNldFZhcihjbWRfZnVuYywgJ2V4ZWMgJyArIGNvbW1hbmQpCiAgICBlbnZkYXRh
LnNldFZhckZsYWcoY21kX2Z1bmMsICdmdW5jJywgJzEnKQoKICAgIHJ1bmZtdCA9IGQuZ2V0VmFy
KCdCQl9SVU5GTVQnKSBvciAicnVuLntmdW5jfS57cGlkfSIKICAgIHJ1bmZpbGUgPSBydW5mbXQu
Zm9ybWF0KGZ1bmM9Y21kX2Z1bmMsIHRhc2s9Y21kX2Z1bmMsIHRhc2tmdW5jPWNtZF9mdW5jLCBw
aWQ9b3MuZ2V0cGlkKCkpCiAgICBydW5maWxlID0gb3MucGF0aC5qb2luKGQuZ2V0VmFyKCdUJyks
IHJ1bmZpbGUpCiAgICBiYi51dGlscy5ta2RpcmhpZXIob3MucGF0aC5kaXJuYW1lKHJ1bmZpbGUp
KQoKICAgIHdpdGggb3BlbihydW5maWxlLCAndycpIGFzIHNjcmlwdDoKICAgICAgICBzY3JpcHQu
d3JpdGUoJyMhL2Jpbi9zaCAtZVxuJykKICAgICAgICBiYi5kYXRhLmVtaXRfZnVuYyhjbWRfZnVu
Yywgc2NyaXB0LCBlbnZkYXRhKQogICAgICAgIHNjcmlwdC53cml0ZShjbWRfZnVuYykKICAgICAg
ICBzY3JpcHQud3JpdGUoIlxuIikKICAgIG9zLmNobW9kKHJ1bmZpbGUsIDBvNzU1KQoKICAgIHJl
dHVybiBydW5maWxlCn0KCgpweXRob24gZW5hYmxlX3VuaW5hdGl2ZSAoKSB7CmRlZiBlbmFibGVf
dW5pbmF0aXZlKGQpOgogICAgbG9hZGVyID0gZC5nZXRWYXIoIlVOSU5BVElWRV9MT0FERVIiKQog
ICAgaWYgb3MucGF0aC5leGlzdHMobG9hZGVyKToKICAgICAgICBiYi5kZWJ1ZygyLCAiRW5hYmxp
bmcgdW5pbmF0aXZlIikKICAgICAgICBkLnNldFZhcigiTkFUSVZFTFNCU1RSSU5HIiwgInVuaXZl
cnNhbCVzIiAlIG9lLnV0aWxzLmhvc3RfZ2NjX3ZlcnNpb24oZCkpCiAgICAgICAgZC5hcHBlbmRW
YXIoIlNTVEFURVBPU1RVTlBBQ0tGVU5DUyIsICIgdW5pbmF0aXZlX2NoYW5nZWludGVycCIpCiAg
ICAgICAgZC5hcHBlbmRWYXJGbGFnKCJTU1RBVEVQT1NUVU5QQUNLRlVOQ1MiLCAidmFyZGVwdmFs
dWVleGNsdWRlIiwgInwgdW5pbmF0aXZlX2NoYW5nZWludGVycCIpCiAgICAgICAgZC5wcmVwZW5k
VmFyKCJQQVRIIiwgIiR7U1RBR0lOR19ESVJ9LXVuaW5hdGl2ZS8ke0JVSUxEX0FSQ0h9LWxpbnV4
JHtiaW5kaXJfbmF0aXZlfToiKQp9CgoKcHl0aG9uIGV4cGFuZF93aWxkY2FyZF9saWNlbnNlcyAo
KSB7CmRlZiBleHBhbmRfd2lsZGNhcmRfbGljZW5zZXMoZCwgd2lsZGNhcmRfbGljZW5zZXMpOgog
ICAgIiIiCiAgICBSZXR1cm4gYWN0dWFsIHNwZHggZm9ybWF0IGxpY2Vuc2UgbmFtZXMgaWYgd2ls
ZGNhcmQgdXNlZC4gV2UgZXhwYW5kCiAgICB3aWxkY2FyZHMgZnJvbSBTUERYTElDRU5TRU1BUCBm
bGFncyBhbmQgU1JDX0RJU1RSSUJVVEVfTElDRU5TRVMgdmFsdWVzLgogICAgIiIiCiAgICBpbXBv
cnQgZm5tYXRjaAogICAgbGljZW5zZXMgPSBbXQogICAgc3BkeG1hcGtleXMgPSBkLmdldFZhckZs
YWdzKCdTUERYTElDRU5TRU1BUCcpLmtleXMoKQogICAgZm9yIHdsZF9saWMgaW4gd2lsZGNhcmRf
bGljZW5zZXM6CiAgICAgICAgc3BkeGZsYWdzID0gZm5tYXRjaC5maWx0ZXIoc3BkeG1hcGtleXMs
IHdsZF9saWMpCiAgICAgICAgbGljZW5zZXMgKz0gW2QuZ2V0VmFyRmxhZygnU1BEWExJQ0VOU0VN
QVAnLCBmbGFnKSBmb3IgZmxhZyBpbiBzcGR4ZmxhZ3NdCgogICAgc3BkeF9saWNzID0gKGQuZ2V0
VmFyKCdTUkNfRElTVFJJQlVURV9MSUNFTlNFUycsIEZhbHNlKSBvciAnJykuc3BsaXQoKQogICAg
Zm9yIHdsZF9saWMgaW4gd2lsZGNhcmRfbGljZW5zZXM6CiAgICAgICAgbGljZW5zZXMgKz0gZm5t
YXRjaC5maWx0ZXIoc3BkeF9saWNzLCB3bGRfbGljKQoKICAgIGxpY2Vuc2VzID0gbGlzdChzZXQo
bGljZW5zZXMpKQogICAgcmV0dXJuIGxpY2Vuc2VzCn0KCgpweXRob24gZXhwbG9kZV9kZXBzICgp
IHsKZGVmIGV4cGxvZGVfZGVwcyhzKToKICAgIHJldHVybiBiYi51dGlscy5leHBsb2RlX2RlcHMo
cykKfQoKCnB5dGhvbiBleHRlbmRfcmVjaXBlX3N5c3Jvb3QgKCkgewogICAgaW1wb3J0IGNvcHkK
ICAgIGltcG9ydCBzdWJwcm9jZXNzCiAgICBpbXBvcnQgZXJybm8KICAgIGltcG9ydCBjb2xsZWN0
aW9ucwogICAgaW1wb3J0IGdsb2IKCiAgICB0YXNrZGVwZGF0YSA9IGQuZ2V0VmFyKCJCQl9UQVNL
REVQREFUQSIsIEZhbHNlKQogICAgbXl0YXNrbmFtZSA9IGQuZ2V0VmFyKCJCQl9SVU5UQVNLIikK
ICAgIGlmIG15dGFza25hbWUuZW5kc3dpdGgoIl9zZXRzY2VuZSIpOgogICAgICAgIG15dGFza25h
bWUgPSBteXRhc2tuYW1lLnJlcGxhY2UoIl9zZXRzY2VuZSIsICIiKQogICAgd29ya2RpciA9IGQu
Z2V0VmFyKCJXT1JLRElSIikKICAgICNiYi53YXJuKHN0cih0YXNrZGVwZGF0YSkpCiAgICBwbiA9
IGQuZ2V0VmFyKCJQTiIpCgogICAgc3RhZ2luZ2RpciA9IGQuZ2V0VmFyKCJTVEFHSU5HX0RJUiIp
CiAgICBzaGFyZWRtYW5pZmVzdHMgPSBkLmdldFZhcigiQ09NUE9ORU5UU19ESVIiKSArICIvbWFu
aWZlc3RzIgogICAgcmVjaXBlc3lzcm9vdCA9IGQuZ2V0VmFyKCJSRUNJUEVfU1lTUk9PVCIpCiAg
ICByZWNpcGVzeXNyb290bmF0aXZlID0gZC5nZXRWYXIoIlJFQ0lQRV9TWVNST09UX05BVElWRSIp
CiAgICBjdXJyZW50X3ZhcmlhbnQgPSBkLmdldFZhcigiQkJFWFRFTkRWQVJJQU5UIikKCiAgICAj
IERldGVjdCBiaXRiYWtlIC1iIHVzYWdlCiAgICBub2RlcHMgPSBkLmdldFZhcigiQkJfTElNSVRF
RERFUFMiKSBvciBGYWxzZQogICAgaWYgbm9kZXBzOgogICAgICAgIGxvY2sgPSBiYi51dGlscy5s
b2NrZmlsZShyZWNpcGVzeXNyb290ICsgIi9zeXNyb290LmxvY2siKQogICAgICAgIHN0YWdpbmdf
cG9wdWxhdGVfc3lzcm9vdF9kaXIocmVjaXBlc3lzcm9vdCwgcmVjaXBlc3lzcm9vdG5hdGl2ZSwg
VHJ1ZSwgZCkKICAgICAgICBzdGFnaW5nX3BvcHVsYXRlX3N5c3Jvb3RfZGlyKHJlY2lwZXN5c3Jv
b3QsIHJlY2lwZXN5c3Jvb3RuYXRpdmUsIEZhbHNlLCBkKQogICAgICAgIGJiLnV0aWxzLnVubG9j
a2ZpbGUobG9jaykKICAgICAgICByZXR1cm4KCiAgICBzdGFydCA9IE5vbmUKICAgIGNvbmZpZ3Vy
ZWRlcHMgPSBbXQogICAgZm9yIGRlcCBpbiB0YXNrZGVwZGF0YToKICAgICAgICBkYXRhID0gdGFz
a2RlcGRhdGFbZGVwXQogICAgICAgIGlmIGRhdGFbMV0gPT0gbXl0YXNrbmFtZSBhbmQgZGF0YVsw
XSA9PSBwbjoKICAgICAgICAgICAgc3RhcnQgPSBkZXAKICAgICAgICAgICAgYnJlYWsKICAgIGlm
IHN0YXJ0IGlzIE5vbmU6CiAgICAgICAgYmIuZmF0YWwoIkNvdWxkbid0IGZpbmQgb3Vyc2VsZiBp
biBCQl9UQVNLREVQREFUQT8iKQoKICAgICMgV2UgbmVlZCB0byBmaWd1cmUgb3V0IHdoaWNoIHN5
c3Jvb3QgZmlsZXMgd2UgbmVlZCB0byBleHBvc2UgdG8gdGhpcyB0YXNrLgogICAgIyBUaGlzIG5l
ZWRzIHRvIG1hdGNoIHdoYXQgd291bGQgZ2V0IHJlc3RvcmVkIGZyb20gc3N0YXRlLCB3aGljaCBp
cyBjb250cm9sbGVkCiAgICAjIHVsdGltYXRlbHkgYnkgY2FsbHMgZnJvbSBiaXRiYWtlIHRvIHNl
dHNjZW5lX2RlcHZhbGlkKCkuCiAgICAjIFRoYXQgZnVuY3Rpb24gZXhwZWN0cyBhIHNldHNjZW5l
IGRlcGVuZGVuY3kgdHJlZS4gV2UgYnVpbGQgYSBkZXBlbmRlbmN5IHRyZWUKICAgICMgY29uZGVu
c2VkIHRvIGludGVyLXNzdGF0ZSB0YXNrIGRlcGVuZGVuY2llcywgc2ltaWxhciB0byB0aGF0IHVz
ZWQgYnkgc2V0c2NlbmUKICAgICMgdGFza3MuIFdlIGNhbiB0aGVuIGNhbGwgaW50byBzZXRzY2Vu
ZV9kZXB2YWxpZCgpIGFuZCBkZWNpZGUKICAgICMgd2hpY2ggZGVwZW5kZW5jaWVzIHdlIGNhbiAi
c2VlIiBhbmQgc2hvdWxkIGV4cG9zZSBpbiB0aGUgcmVjaXBlIHNwZWNpZmljIHN5c3Jvb3QuCiAg
ICBzZXRzY2VuZWRlcHMgPSBjb3B5LmRlZXBjb3B5KHRhc2tkZXBkYXRhKQoKICAgIHN0YXJ0ID0g
c2V0KFtzdGFydF0pCgogICAgc3N0YXRldGFza3MgPSBkLmdldFZhcigiU1NUQVRFVEFTS1MiKS5z
cGxpdCgpCgogICAgZGVmIHByaW50X2RlcF90cmVlKGRlcHRyZWUpOgogICAgICAgIGRhdGEgPSAi
IgogICAgICAgIGZvciBkZXAgaW4gZGVwdHJlZToKICAgICAgICAgICAgZGVwcyA9ICIgICAgIiAr
ICJcbiAgICAiLmpvaW4oZGVwdHJlZVtkZXBdWzNdKSArICJcbiIKICAgICAgICAgICAgZGF0YSA9
ICIlczpcbiAgJXNcbiAgJXNcbiVzICAlc1xuICAlc1xuIiAlIChkZXB0cmVlW2RlcF1bMF0sIGRl
cHRyZWVbZGVwXVsxXSwgZGVwdHJlZVtkZXBdWzJdLCBkZXBzLCBkZXB0cmVlW2RlcF1bNF0sIGRl
cHRyZWVbZGVwXVs1XSkKICAgICAgICByZXR1cm4gZGF0YQoKICAgICNiYi5ub3RlKCJGdWxsIGRl
cCB0cmVlIGlzOlxuJXMiICUgcHJpbnRfZGVwX3RyZWUodGFza2RlcGRhdGEpKQoKICAgICNiYi5u
b3RlKCIgc3RhcnQyIGlzICVzIiAlIHN0cihzdGFydCkpCgogICAgIyBJZiBzdGFydCBpcyBhbiBz
c3RhdGUgdGFzayAobGlrZSBkb19wYWNrYWdlKSB3ZSBuZWVkIHRvIGFkZCBpbiBpdHMgZGlyZWN0
IGRlcGVuZGVuY2llcwogICAgIyBlbHNlIHRoZSBjb2RlIGJlbG93IHdvbid0IHJlY3Vyc2UgaW50
byB0aGVtLgogICAgZm9yIGRlcCBpbiBzZXQoc3RhcnQpOgogICAgICAgIGZvciBkZXAyIGluIHNl
dHNjZW5lZGVwc1tkZXBdWzNdOgogICAgICAgICAgICBzdGFydC5hZGQoZGVwMikKICAgICAgICBz
dGFydC5yZW1vdmUoZGVwKQoKICAgICNiYi5ub3RlKCIgc3RhcnQzIGlzICVzIiAlIHN0cihzdGFy
dCkpCgogICAgIyBDcmVhdGUgY29sbGFwc2VkIGRvX3BvcHVsYXRlX3N5c3Jvb3QgLT4gZG9fcG9w
dWxhdGVfc3lzcm9vdCB0cmVlCiAgICBmb3IgZGVwIGluIHRhc2tkZXBkYXRhOgogICAgICAgIGRh
dGEgPSBzZXRzY2VuZWRlcHNbZGVwXQogICAgICAgIGlmIGRhdGFbMV0gbm90IGluIHNzdGF0ZXRh
c2tzOgogICAgICAgICAgICBmb3IgZGVwMiBpbiBzZXRzY2VuZWRlcHM6CiAgICAgICAgICAgICAg
ICBkYXRhMiA9IHNldHNjZW5lZGVwc1tkZXAyXQogICAgICAgICAgICAgICAgaWYgZGVwIGluIGRh
dGEyWzNdOgogICAgICAgICAgICAgICAgICAgIGRhdGEyWzNdLnVwZGF0ZShzZXRzY2VuZWRlcHNb
ZGVwXVszXSkKICAgICAgICAgICAgICAgICAgICBkYXRhMlszXS5yZW1vdmUoZGVwKQogICAgICAg
ICAgICBpZiBkZXAgaW4gc3RhcnQ6CiAgICAgICAgICAgICAgICBzdGFydC51cGRhdGUoc2V0c2Nl
bmVkZXBzW2RlcF1bM10pCiAgICAgICAgICAgICAgICBzdGFydC5yZW1vdmUoZGVwKQogICAgICAg
ICAgICBkZWwgc2V0c2NlbmVkZXBzW2RlcF0KCiAgICAjIFJlbW92ZSBjaXJjdWxhciByZWZlcmVu
Y2VzCiAgICBmb3IgZGVwIGluIHNldHNjZW5lZGVwczoKICAgICAgICBpZiBkZXAgaW4gc2V0c2Nl
bmVkZXBzW2RlcF1bM106CiAgICAgICAgICAgIHNldHNjZW5lZGVwc1tkZXBdWzNdLnJlbW92ZShk
ZXApCgogICAgI2JiLm5vdGUoIkNvbXB1dGVkIGRlcCB0cmVlIGlzOlxuJXMiICUgcHJpbnRfZGVw
X3RyZWUoc2V0c2NlbmVkZXBzKSkKICAgICNiYi5ub3RlKCIgc3RhcnQgaXMgJXMiICUgc3RyKHN0
YXJ0KSkKCiAgICAjIERpcmVjdCBkZXBlbmRlbmNpZXMgc2hvdWxkIGJlIHByZXNlbnQgYW5kIGNh
biBiZSBkZXBlbmRlZCB1cG9uCiAgICBmb3IgZGVwIGluIHNldChzdGFydCk6CiAgICAgICAgaWYg
c2V0c2NlbmVkZXBzW2RlcF1bMV0gPT0gImRvX3BvcHVsYXRlX3N5c3Jvb3QiOgogICAgICAgICAg
ICBpZiBkZXAgbm90IGluIGNvbmZpZ3VyZWRlcHM6CiAgICAgICAgICAgICAgICBjb25maWd1cmVk
ZXBzLmFwcGVuZChkZXApCiAgICBiYi5ub3RlKCJEaXJlY3QgZGVwZW5kZW5jaWVzIGFyZSAlcyIg
JSBzdHIoY29uZmlndXJlZGVwcykpCiAgICAjYmIubm90ZSgiIG9yICVzIiAlIHN0cihzdGFydCkp
CgogICAgbXNnYnVmID0gW10KICAgICMgQ2FsbCBpbnRvIHNldHNjZW5lX2RlcHZhbGlkIGZvciBl
YWNoIHN1Yi1kZXBlbmRlbmN5IGFuZCBvbmx5IGNvcHkgc3lzcm9vdCBmaWxlcwogICAgIyBmb3Ig
b25lcyB0aGF0IHdvdWxkIGJlIHJlc3RvcmVkIGZyb20gc3N0YXRlLgogICAgZG9uZSA9IGxpc3Qo
c3RhcnQpCiAgICBuZXh0ID0gbGlzdChzdGFydCkKICAgIHdoaWxlIG5leHQ6CiAgICAgICAgbmV3
ID0gW10KICAgICAgICBmb3IgZGVwIGluIG5leHQ6CiAgICAgICAgICAgIGRhdGEgPSBzZXRzY2Vu
ZWRlcHNbZGVwXQogICAgICAgICAgICBmb3IgZGF0YWRlcCBpbiBkYXRhWzNdOgogICAgICAgICAg
ICAgICAgaWYgZGF0YWRlcCBpbiBkb25lOgogICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCiAg
ICAgICAgICAgICAgICB0YXNrZGVwcyA9IHt9CiAgICAgICAgICAgICAgICB0YXNrZGVwc1tkZXBd
ID0gc2V0c2NlbmVkZXBzW2RlcF1bOjJdCiAgICAgICAgICAgICAgICB0YXNrZGVwc1tkYXRhZGVw
XSA9IHNldHNjZW5lZGVwc1tkYXRhZGVwXVs6Ml0KICAgICAgICAgICAgICAgIHJldHZhbCA9IHNl
dHNjZW5lX2RlcHZhbGlkKGRhdGFkZXAsIHRhc2tkZXBzLCBbXSwgZCwgbXNnYnVmKQogICAgICAg
ICAgICAgICAgaWYgcmV0dmFsOgogICAgICAgICAgICAgICAgICAgIG1zZ2J1Zi5hcHBlbmQoIlNr
aXBwaW5nIHNldHNjZW5lIGRlcGVuZGVuY3kgJXMgZm9yIGluc3RhbGxhdGlvbiBpbnRvIHRoZSBz
eXNyb290IiAlIGRhdGFkZXApCiAgICAgICAgICAgICAgICAgICAgY29udGludWUKICAgICAgICAg
ICAgICAgIGRvbmUuYXBwZW5kKGRhdGFkZXApCiAgICAgICAgICAgICAgICBuZXcuYXBwZW5kKGRh
dGFkZXApCiAgICAgICAgICAgICAgICBpZiBkYXRhZGVwIG5vdCBpbiBjb25maWd1cmVkZXBzIGFu
ZCBzZXRzY2VuZWRlcHNbZGF0YWRlcF1bMV0gPT0gImRvX3BvcHVsYXRlX3N5c3Jvb3QiOgogICAg
ICAgICAgICAgICAgICAgIGNvbmZpZ3VyZWRlcHMuYXBwZW5kKGRhdGFkZXApCiAgICAgICAgICAg
ICAgICAgICAgbXNnYnVmLmFwcGVuZCgiQWRkaW5nIGRlcGVuZGVuY3kgb24gJXMiICUgc2V0c2Nl
bmVkZXBzW2RhdGFkZXBdWzBdKQogICAgICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAg
ICAgICBtc2didWYuYXBwZW5kKCJGb2xsb3dpbmcgZGVwZW5kZW5jeSBvbiAlcyIgJSBzZXRzY2Vu
ZWRlcHNbZGF0YWRlcF1bMF0pCiAgICAgICAgbmV4dCA9IG5ldwoKICAgIGJiLm5vdGUoIlxuIi5q
b2luKG1zZ2J1ZikpCgogICAgZGVwZGlyID0gcmVjaXBlc3lzcm9vdG5hdGl2ZSArICIvaW5zdGFs
bGVkZGVwcyIKICAgIGJiLnV0aWxzLm1rZGlyaGllcihkZXBkaXIpCiAgICBiYi51dGlscy5ta2Rp
cmhpZXIoc2hhcmVkbWFuaWZlc3RzKQoKICAgIGxvY2sgPSBiYi51dGlscy5sb2NrZmlsZShyZWNp
cGVzeXNyb290ICsgIi9zeXNyb290LmxvY2siKQoKICAgIGZpeG1lID0ge30KICAgIGZpeG1lWycn
XSA9IFtdCiAgICBmaXhtZVsnbmF0aXZlJ10gPSBbXQogICAgc2VlbmRpcnMgPSBzZXQoKQogICAg
cG9zdGluc3RzID0gW10KICAgIG11bHRpbGlicyA9IHt9CiAgICBtYW5pZmVzdHMgPSB7fQoKICAg
IGZvciBmIGluIG9zLmxpc3RkaXIoZGVwZGlyKToKICAgICAgICBpZiBub3QgZi5lbmRzd2l0aCgi
LmNvbXBsZXRlIik6CiAgICAgICAgICAgIGNvbnRpbnVlCiAgICAgICAgZiA9IGRlcGRpciArICIv
IiArIGYKICAgICAgICBpZiBvcy5wYXRoLmlzbGluayhmKSBhbmQgbm90IG9zLnBhdGguZXhpc3Rz
KGYpOgogICAgICAgICAgICBiYi5ub3RlKCIlcyBubyBsb25nZXIgZXhpc3RzLCByZW1vdmluZyBm
cm9tIHN5c3Jvb3QiICUgZikKICAgICAgICAgICAgbG5rID0gb3MucmVhZGxpbmsoZi5yZXBsYWNl
KCIuY29tcGxldGUiLCAiIikpCiAgICAgICAgICAgIHNzdGF0ZV9jbGVhbl9tYW5pZmVzdChkZXBk
aXIgKyAiLyIgKyBsbmssIGQsIHdvcmtkaXIpCiAgICAgICAgICAgIG9zLnVubGluayhmKQogICAg
ICAgICAgICBvcy51bmxpbmsoZi5yZXBsYWNlKCIuY29tcGxldGUiLCAiIikpCgogICAgaW5zdGFs
bGVkID0gW10KICAgIGZvciBkZXAgaW4gY29uZmlndXJlZGVwczoKICAgICAgICBjID0gc2V0c2Nl
bmVkZXBzW2RlcF1bMF0KICAgICAgICBpZiBteXRhc2tuYW1lIGluIFsiZG9fc2RrX2RlcGVuZHMi
LCAiZG9fcG9wdWxhdGVfc2RrX2V4dCJdIGFuZCBjLmVuZHN3aXRoKCItaW5pdGlhbCIpOgogICAg
ICAgICAgICBiYi5ub3RlKCJTa2lwcGluZyBpbml0aWFsIHNldHNjZW5lIGRlcGVuZGVuY3kgJXMg
Zm9yIGluc3RhbGxhdGlvbiBpbnRvIHRoZSBzeXNyb290IiAlIGMpCiAgICAgICAgICAgIGNvbnRp
bnVlCiAgICAgICAgaW5zdGFsbGVkLmFwcGVuZChjKQoKICAgICMgV2Ugd2FudCB0byByZW1vdmUg
YW55dGhpbmcgd2hpY2ggdGhpcyB0YXNrIHByZXZpb3VzbHkgaW5zdGFsbGVkIGJ1dCBpcyBubyBs
b25nZXIgYSBkZXBlbmRlbmN5CiAgICB0YXNraW5kZXggPSBkZXBkaXIgKyAiLyIgKyAiaW5kZXgu
IiArIG15dGFza25hbWUKICAgIGlmIG9zLnBhdGguZXhpc3RzKHRhc2tpbmRleCk6CiAgICAgICAg
cG90ZW50aWFsID0gW10KICAgICAgICB3aXRoIG9wZW4odGFza2luZGV4LCAiciIpIGFzIGY6CiAg
ICAgICAgICAgIGZvciBsIGluIGY6CiAgICAgICAgICAgICAgICBsID0gbC5zdHJpcCgpCiAgICAg
ICAgICAgICAgICBpZiBsIG5vdCBpbiBpbnN0YWxsZWQ6CiAgICAgICAgICAgICAgICAgICAgZmwg
PSBkZXBkaXIgKyAiLyIgKyBsCiAgICAgICAgICAgICAgICAgICAgaWYgbm90IG9zLnBhdGguZXhp
c3RzKGZsKToKICAgICAgICAgICAgICAgICAgICAgICAgIyBXYXMgbGlrZWx5IGFscmVhZHkgdW5p
bnN0YWxsZWQKICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWUKICAgICAgICAgICAgICAg
ICAgICBwb3RlbnRpYWwuYXBwZW5kKGwpCiAgICAgICAgIyBXZSBuZWVkIHRvIGVuc3VyZSBub3Qg
b3RoZXIgdGFzayBuZWVkcyB0aGlzIGRlcGVuZGVuY3kuIFdlIGhvbGQgdGhlIHN5c3Jvb3QKICAg
ICAgICAjIGxvY2sgc28gd2UgY2Egc2VhcmNoIHRoZSBpbmRleGVzIHRvIGNoZWNrCiAgICAgICAg
aWYgcG90ZW50aWFsOgogICAgICAgICAgICBmb3IgaSBpbiBnbG9iLmdsb2IoZGVwZGlyICsgIi9p
bmRleC4qIik6CiAgICAgICAgICAgICAgICBpZiBpLmVuZHN3aXRoKCIuIiArIG15dGFza25hbWUp
OgogICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCiAgICAgICAgICAgICAgICB3aXRoIG9wZW4o
aSwgInIiKSBhcyBmOgogICAgICAgICAgICAgICAgICAgIGZvciBsIGluIGY6CiAgICAgICAgICAg
ICAgICAgICAgICAgIGwgPSBsLnN0cmlwKCkKICAgICAgICAgICAgICAgICAgICAgICAgaWYgbCBp
biBwb3RlbnRpYWw6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3RlbnRpYWwucmVtb3Zl
KGwpCiAgICAgICAgZm9yIGwgaW4gcG90ZW50aWFsOgogICAgICAgICAgICBmbCA9IGRlcGRpciAr
ICIvIiArIGwKICAgICAgICAgICAgYmIubm90ZSgiVGFzayAlcyBubyBsb25nZXIgZGVwZW5kcyBv
biAlcywgcmVtb3ZpbmcgZnJvbSBzeXNyb290IiAlIChteXRhc2tuYW1lLCBsKSkKICAgICAgICAg
ICAgbG5rID0gb3MucmVhZGxpbmsoZmwpCiAgICAgICAgICAgIHNzdGF0ZV9jbGVhbl9tYW5pZmVz
dChkZXBkaXIgKyAiLyIgKyBsbmssIGQsIHdvcmtkaXIpCiAgICAgICAgICAgIG9zLnVubGluayhm
bCkKICAgICAgICAgICAgb3MudW5saW5rKGZsICsgIi5jb21wbGV0ZSIpCgogICAgZm9yIGRlcCBp
biBjb25maWd1cmVkZXBzOgogICAgICAgIGMgPSBzZXRzY2VuZWRlcHNbZGVwXVswXQogICAgICAg
IGlmIGMgbm90IGluIGluc3RhbGxlZDoKICAgICAgICAgICAgY29udGludWUKICAgICAgICB0YXNr
aGFzaCA9IHNldHNjZW5lZGVwc1tkZXBdWzVdCiAgICAgICAgdGFza21hbmlmZXN0ID0gZGVwZGly
ICsgIi8iICsgYyArICIuIiArIHRhc2toYXNoCgogICAgICAgIGlmIG9zLnBhdGguZXhpc3RzKGRl
cGRpciArICIvIiArIGMpOgogICAgICAgICAgICBsbmsgPSBvcy5yZWFkbGluayhkZXBkaXIgKyAi
LyIgKyBjKQogICAgICAgICAgICBpZiBsbmsgPT0gYyArICIuIiArIHRhc2toYXNoIGFuZCBvcy5w
YXRoLmV4aXN0cyhkZXBkaXIgKyAiLyIgKyBjICsgIi5jb21wbGV0ZSIpOgogICAgICAgICAgICAg
ICAgYmIubm90ZSgiJXMgZXhpc3RzIGluIHN5c3Jvb3QsIHNraXBwaW5nIiAlIGMpCiAgICAgICAg
ICAgICAgICBjb250aW51ZQogICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgYmIubm90
ZSgiJXMgZXhpc3RzIGluIHN5c3Jvb3QsIGJ1dCBpcyBzdGFsZSAoJXMgdnMuICVzKSwgcmVtb3Zp
bmcuIiAlIChjLCBsbmssIGMgKyAiLiIgKyB0YXNraGFzaCkpCiAgICAgICAgICAgICAgICBzc3Rh
dGVfY2xlYW5fbWFuaWZlc3QoZGVwZGlyICsgIi8iICsgbG5rLCBkLCB3b3JrZGlyKQogICAgICAg
ICAgICAgICAgb3MudW5saW5rKGRlcGRpciArICIvIiArIGMpCiAgICAgICAgICAgICAgICBpZiBv
cy5wYXRoLmxleGlzdHMoZGVwZGlyICsgIi8iICsgYyArICIuY29tcGxldGUiKToKICAgICAgICAg
ICAgICAgICAgICBvcy51bmxpbmsoZGVwZGlyICsgIi8iICsgYyArICIuY29tcGxldGUiKQogICAg
ICAgIGVsaWYgb3MucGF0aC5sZXhpc3RzKGRlcGRpciArICIvIiArIGMpOgogICAgICAgICAgICBv
cy51bmxpbmsoZGVwZGlyICsgIi8iICsgYykKCiAgICAgICAgb3Muc3ltbGluayhjICsgIi4iICsg
dGFza2hhc2gsIGRlcGRpciArICIvIiArIGMpCgogICAgICAgIGQyID0gZAogICAgICAgIGRlc3Rz
eXNyb290ID0gcmVjaXBlc3lzcm9vdAogICAgICAgIHZhcmlhbnQgPSAnJwogICAgICAgIGlmIHNl
dHNjZW5lZGVwc1tkZXBdWzJdLnN0YXJ0c3dpdGgoInZpcnR1YWw6bXVsdGlsaWIiKToKICAgICAg
ICAgICAgdmFyaWFudCA9IHNldHNjZW5lZGVwc1tkZXBdWzJdLnNwbGl0KCI6IilbMl0KICAgICAg
ICAgICAgaWYgdmFyaWFudCAhPSBjdXJyZW50X3ZhcmlhbnQ6CiAgICAgICAgICAgICAgICBpZiB2
YXJpYW50IG5vdCBpbiBtdWx0aWxpYnM6CiAgICAgICAgICAgICAgICAgICAgbXVsdGlsaWJzW3Zh
cmlhbnRdID0gZ2V0X211bHRpbGliX2RhdGFzdG9yZSh2YXJpYW50LCBkKQogICAgICAgICAgICAg
ICAgZDIgPSBtdWx0aWxpYnNbdmFyaWFudF0KICAgICAgICAgICAgICAgIGRlc3RzeXNyb290ID0g
ZDIuZ2V0VmFyKCJSRUNJUEVfU1lTUk9PVCIpCgogICAgICAgIG5hdGl2ZSA9IEZhbHNlCiAgICAg
ICAgaWYgYy5lbmRzd2l0aCgiLW5hdGl2ZSIpOgogICAgICAgICAgICBtYW5pZmVzdCA9IGQyLmV4
cGFuZCgiJHtTU1RBVEVfTUFOSUZFU1RTfS9tYW5pZmVzdC0ke0JVSUxEX0FSQ0h9LSVzLnBvcHVs
YXRlX3N5c3Jvb3QiICUgYykKICAgICAgICAgICAgbmF0aXZlID0gVHJ1ZQogICAgICAgIGVsaWYg
Yy5zdGFydHN3aXRoKCJuYXRpdmVzZGstIik6CiAgICAgICAgICAgIG1hbmlmZXN0ID0gZDIuZXhw
YW5kKCIke1NTVEFURV9NQU5JRkVTVFN9L21hbmlmZXN0LSR7U0RLX0FSQ0h9XyR7U0RLX09TfS0l
cy5wb3B1bGF0ZV9zeXNyb290IiAlIGMpCiAgICAgICAgZWxpZiAiLWNyb3NzLSIgaW4gYzoKICAg
ICAgICAgICAgbWFuaWZlc3QgPSBkMi5leHBhbmQoIiR7U1NUQVRFX01BTklGRVNUU30vbWFuaWZl
c3QtJHtCVUlMRF9BUkNIfV8ke1RBUkdFVF9BUkNIfS0lcy5wb3B1bGF0ZV9zeXNyb290IiAlIGMp
CiAgICAgICAgICAgIG5hdGl2ZSA9IFRydWUKICAgICAgICBlbGlmICItY3Jvc3NzZGsiIGluIGM6
CiAgICAgICAgICAgIG1hbmlmZXN0ID0gZDIuZXhwYW5kKCIke1NTVEFURV9NQU5JRkVTVFN9L21h
bmlmZXN0LSR7QlVJTERfQVJDSH1fJHtTREtfQVJDSH1fJHtTREtfT1N9LSVzLnBvcHVsYXRlX3N5
c3Jvb3QiICUgYykKICAgICAgICAgICAgbmF0aXZlID0gVHJ1ZQogICAgICAgIGVsc2U6CiAgICAg
ICAgICAgIHBrZ2FyY2hzID0gWycke01BQ0hJTkVfQVJDSH0nXQogICAgICAgICAgICBwa2dhcmNo
cyA9IHBrZ2FyY2hzICsgbGlzdChyZXZlcnNlZChkMi5nZXRWYXIoIlBBQ0tBR0VfRVhUUkFfQVJD
SFMiKS5zcGxpdCgpKSkKICAgICAgICAgICAgcGtnYXJjaHMuYXBwZW5kKCdhbGxhcmNoJykKICAg
ICAgICAgICAgZm9yIHBrZ2FyY2ggaW4gcGtnYXJjaHM6CiAgICAgICAgICAgICAgICBtYW5pZmVz
dCA9IGQyLmV4cGFuZCgiJHtTU1RBVEVfTUFOSUZFU1RTfS9tYW5pZmVzdC0lcy0lcy5wb3B1bGF0
ZV9zeXNyb290IiAlIChwa2dhcmNoLCBjKSkKICAgICAgICAgICAgICAgIGlmIG9zLnBhdGguZXhp
c3RzKG1hbmlmZXN0KToKICAgICAgICAgICAgICAgICAgICBicmVhawogICAgICAgIGlmIG5vdCBv
cy5wYXRoLmV4aXN0cyhtYW5pZmVzdCk6CiAgICAgICAgICAgIGJiLndhcm4oIk1hbmlmZXN0ICVz
IG5vdCBmb3VuZD8iICUgbWFuaWZlc3QpCiAgICAgICAgZWxzZToKICAgICAgICAgICAgbmV3bWFu
aWZlc3QgPSBjb2xsZWN0aW9ucy5PcmRlcmVkRGljdCgpCiAgICAgICAgICAgIGlmIG5hdGl2ZToK
ICAgICAgICAgICAgICAgIGZtID0gZml4bWVbJ25hdGl2ZSddCiAgICAgICAgICAgICAgICB0YXJn
ZXRkaXIgPSByZWNpcGVzeXNyb290bmF0aXZlCiAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAg
ICAgICBmbSA9IGZpeG1lWycnXQogICAgICAgICAgICAgICAgdGFyZ2V0ZGlyID0gZGVzdHN5c3Jv
b3QKICAgICAgICAgICAgd2l0aCBvcGVuKG1hbmlmZXN0LCAiciIpIGFzIGY6CiAgICAgICAgICAg
ICAgICBtYW5pZmVzdHNbZGVwXSA9IG1hbmlmZXN0CiAgICAgICAgICAgICAgICBmb3IgbCBpbiBm
OgogICAgICAgICAgICAgICAgICAgIGwgPSBsLnN0cmlwKCkKICAgICAgICAgICAgICAgICAgICBp
ZiBsLmVuZHN3aXRoKCIvZml4bWVwYXRoIik6CiAgICAgICAgICAgICAgICAgICAgICAgIGZtLmFw
cGVuZChsKQogICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZQogICAgICAgICAgICAgICAg
ICAgIGlmIGwuZW5kc3dpdGgoIi9maXhtZXBhdGguY21kIik6CiAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnRpbnVlCiAgICAgICAgICAgICAgICAgICAgZGVzdCA9IGwucmVwbGFjZShzdGFnaW5n
ZGlyLCAiIikKICAgICAgICAgICAgICAgICAgICBkZXN0ID0gdGFyZ2V0ZGlyICsgIi8iICsgIi8i
LmpvaW4oZGVzdC5zcGxpdCgiLyIpWzM6XSkKICAgICAgICAgICAgICAgICAgICBuZXdtYW5pZmVz
dFtsXSA9IGRlc3QKICAgICAgICAgICAgIyBIYXZpbmcgbXVsdGlwbGUgaWRlbnRpY2FsIG1hbmlm
ZXN0cyBpbiBlYWNoIHN5c3Jvb3QgZWF0cyBkaXNrc3BhY2Ugc28KICAgICAgICAgICAgIyBjcmVh
dGUgYSBzaGFyZWQgcG9vbCBvZiB0aGVtIGFuZCBoYXJkbGluayBpZiB3ZSBjYW4uCiAgICAgICAg
ICAgICMgV2UgY3JlYXRlIHRoZSBtYW5pZmVzdCBpbiBhZHZhbmNlIHNvIHRoYXQgaWYgc29tZXRo
aW5nIGZhaWxzIGR1cmluZyBpbnN0YWxsYXRpb24sCiAgICAgICAgICAgICMgb3IgdGhlIGJ1aWxk
IGlzIGludGVycnVwdGVkLCBzdWJzZXF1ZW50IGV4ZXVjdGlvbiBjYW4gY2xlYW51cC4KICAgICAg
ICAgICAgc2hhcmVkbSA9IHNoYXJlZG1hbmlmZXN0cyArICIvIiArIG9zLnBhdGguYmFzZW5hbWUo
dGFza21hbmlmZXN0KQogICAgICAgICAgICBpZiBub3Qgb3MucGF0aC5leGlzdHMoc2hhcmVkbSk6
CiAgICAgICAgICAgICAgICBzbWxvY2sgPSBiYi51dGlscy5sb2NrZmlsZShzaGFyZWRtICsgIi5s
b2NrIikKICAgICAgICAgICAgICAgICMgQ2FuIHJhY2UgaGVyZS4gWW91J2QgdGhpbmsgaXQganVz
dCBtZWFucyB3ZSBtYXkgbm90IGVuZCB1cCB3aXRoIGFsbCBjb3BpZXMgaGFyZGxpbmtlZCB0byBl
YWNoIG90aGVyCiAgICAgICAgICAgICAgICAjIGJ1dCBweXRob24gY2FuIGxvc2UgZmlsZSBoYW5k
bGVzIHNvIHdlIG5lZWQgdG8gZG8gdGhpcyB1bmRlciBhIGxvY2suCiAgICAgICAgICAgICAgICBp
ZiBub3Qgb3MucGF0aC5leGlzdHMoc2hhcmVkbSk6CiAgICAgICAgICAgICAgICAgICAgd2l0aCBv
cGVuKHNoYXJlZG0sICd3JykgYXMgbToKICAgICAgICAgICAgICAgICAgICAgICBmb3IgbCBpbiBu
ZXdtYW5pZmVzdDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzdCA9IG5ld21hbmlmZXN0
W2xdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIG0ud3JpdGUoZGVzdC5yZXBsYWNlKHdvcmtk
aXIgKyAiLyIsICIiKSArICJcbiIpCiAgICAgICAgICAgICAgICBiYi51dGlscy51bmxvY2tmaWxl
KHNtbG9jaykKICAgICAgICAgICAgdHJ5OgogICAgICAgICAgICAgICAgb3MubGluayhzaGFyZWRt
LCB0YXNrbWFuaWZlc3QpCiAgICAgICAgICAgIGV4Y2VwdCBPU0Vycm9yIGFzIGVycjoKICAgICAg
ICAgICAgICAgIGlmIGVyci5lcnJubyA9PSBlcnJuby5FWERFVjoKICAgICAgICAgICAgICAgICAg
ICBiYi51dGlscy5jb3B5ZmlsZShzaGFyZWRtLCB0YXNrbWFuaWZlc3QpCiAgICAgICAgICAgICAg
ICBlbHNlOgogICAgICAgICAgICAgICAgICAgIHJhaXNlCiAgICAgICAgICAgICMgRmluYWxseSBh
Y3R1YWxseSBpbnN0YWxsIHRoZSBmaWxlcwogICAgICAgICAgICBmb3IgbCBpbiBuZXdtYW5pZmVz
dDoKICAgICAgICAgICAgICAgICAgICBkZXN0ID0gbmV3bWFuaWZlc3RbbF0KICAgICAgICAgICAg
ICAgICAgICBpZiBsLmVuZHN3aXRoKCIvIik6CiAgICAgICAgICAgICAgICAgICAgICAgIHN0YWdp
bmdfY29weWRpcihsLCB0YXJnZXRkaXIsIGRlc3QsIHNlZW5kaXJzKQogICAgICAgICAgICAgICAg
ICAgICAgICBjb250aW51ZQogICAgICAgICAgICAgICAgICAgIHN0YWdpbmdfY29weWZpbGUobCwg
dGFyZ2V0ZGlyLCBkZXN0LCBwb3N0aW5zdHMsIHNlZW5kaXJzKQoKICAgIGZvciBmIGluIGZpeG1l
OgogICAgICAgIGlmIGYgPT0gJyc6CiAgICAgICAgICAgIHN0YWdpbmdfcHJvY2Vzc2ZpeG1lKGZp
eG1lW2ZdLCByZWNpcGVzeXNyb290LCByZWNpcGVzeXNyb290LCByZWNpcGVzeXNyb290bmF0aXZl
LCBkKQogICAgICAgIGVsaWYgZiA9PSAnbmF0aXZlJzoKICAgICAgICAgICAgc3RhZ2luZ19wcm9j
ZXNzZml4bWUoZml4bWVbZl0sIHJlY2lwZXN5c3Jvb3RuYXRpdmUsIHJlY2lwZXN5c3Jvb3QsIHJl
Y2lwZXN5c3Jvb3RuYXRpdmUsIGQpCiAgICAgICAgZWxzZToKICAgICAgICAgICAgc3RhZ2luZ19w
cm9jZXNzZml4bWUoZml4bWVbZl0sIG11bHRpbGlic1tmXS5nZXRWYXIoIlJFQ0lQRV9TWVNST09U
IiksIHJlY2lwZXN5c3Jvb3QsIHJlY2lwZXN5c3Jvb3RuYXRpdmUsIGQpCgogICAgZm9yIHAgaW4g
cG9zdGluc3RzOgogICAgICAgIHN1YnByb2Nlc3MuY2hlY2tfb3V0cHV0KHAsIHNoZWxsPVRydWUp
CgogICAgZm9yIGRlcCBpbiBtYW5pZmVzdHM6CiAgICAgICAgYyA9IHNldHNjZW5lZGVwc1tkZXBd
WzBdCiAgICAgICAgb3Muc3ltbGluayhtYW5pZmVzdHNbZGVwXSwgZGVwZGlyICsgIi8iICsgYyAr
ICIuY29tcGxldGUiKQoKICAgIHdpdGggb3Blbih0YXNraW5kZXgsICJ3IikgYXMgZjoKICAgICAg
ICBmb3IgbCBpbiBzb3J0ZWQoaW5zdGFsbGVkKToKICAgICAgICAgICAgZi53cml0ZShsICsgIlxu
IikKCiAgICBiYi51dGlscy51bmxvY2tmaWxlKGxvY2spCn0KCgpweXRob24gZXh0ZW5kX3Zhcmlh
bnRzICgpIHsKZGVmIGV4dGVuZF92YXJpYW50cyhkLCB2YXIsIGV4dGVuZCwgZGVsaW09JzonKToK
ICAgICIiIlJldHVybiBhIHN0cmluZyBvZiBhbGwgYmIgY2xhc3MgZXh0ZW5kIHZhcmlhbnRzIGZv
ciB0aGUgZ2l2ZW4gZXh0ZW5kIiIiCiAgICB2YXJpYW50cyA9IFtdCiAgICB3aG9sZSA9IGQuZ2V0
VmFyKHZhcikgb3IgIiIKICAgIGZvciBleHQgaW4gd2hvbGUuc3BsaXQoKToKICAgICAgICBlZXh0
ID0gZXh0LnNwbGl0KGRlbGltKQogICAgICAgIGlmIGxlbihlZXh0KSA+IDEgYW5kIGVleHRbMF0g
PT0gZXh0ZW5kOgogICAgICAgICAgICB2YXJpYW50cy5hcHBlbmQoZWV4dFsxXSkKICAgIHJldHVy
biAiICIuam9pbih2YXJpYW50cykKfQoKCnB5dGhvbiBleHRyYV9wYXRoX2VsZW1lbnRzICgpIHsK
ZGVmIGV4dHJhX3BhdGhfZWxlbWVudHMoZCk6CiAgICBwYXRoID0gIiIKICAgIGVsZW1lbnRzID0g
KGQuZ2V0VmFyKCdFWFRSQU5BVElWRVBBVEgnKSBvciAiIikuc3BsaXQoKQogICAgZm9yIGUgaW4g
ZWxlbWVudHM6CiAgICAgICAgcGF0aCA9IHBhdGggKyAiJHtTVEFHSU5HX0JJTkRJUl9OQVRJVkV9
LyIgKyBlICsgIjoiCiAgICByZXR1cm4gcGF0aAp9CgoKcHl0aG9uIGZpbGVzX2Zyb21fZmlsZXZh
cnMgKCkgewpkZWYgZmlsZXNfZnJvbV9maWxldmFycyhmaWxldmFycyk6CiAgICBpbXBvcnQgb3Ms
Z2xvYgogICAgY3BhdGggPSBvZS5jYWNoZWRwYXRoLkNhY2hlZFBhdGgoKQogICAgZmlsZXMgPSBb
XQogICAgZm9yIGYgaW4gZmlsZXZhcnM6CiAgICAgICAgaWYgb3MucGF0aC5pc2FicyhmKToKICAg
ICAgICAgICAgZiA9ICcuJyArIGYKICAgICAgICBpZiBub3QgZi5zdGFydHN3aXRoKCIuLyIpOgog
ICAgICAgICAgICBmID0gJy4vJyArIGYKICAgICAgICBnbG9iYmVkID0gZ2xvYi5nbG9iKGYpCiAg
ICAgICAgaWYgZ2xvYmJlZDoKICAgICAgICAgICAgaWYgWyBmIF0gIT0gZ2xvYmJlZDoKICAgICAg
ICAgICAgICAgIGZpbGVzICs9IGdsb2JiZWQKICAgICAgICAgICAgICAgIGNvbnRpbnVlCiAgICAg
ICAgZmlsZXMuYXBwZW5kKGYpCgogICAgc3ltbGlua19wYXRocyA9IFtdCiAgICBmb3IgaW5kLCBm
IGluIGVudW1lcmF0ZShmaWxlcyk6CiAgICAgICAgIyBIYW5kbGUgZGlyZWN0b3J5IHN5bWxpbmtz
LiBUcnVuY2F0ZSBwYXRoIHRvIHRoZSBsb3dlc3QgbGV2ZWwgc3ltbGluawogICAgICAgIHBhcmVu
dCA9ICcnCiAgICAgICAgZm9yIGRpcm5hbWUgaW4gZi5zcGxpdCgnLycpWzotMV06CiAgICAgICAg
ICAgIHBhcmVudCA9IG9zLnBhdGguam9pbihwYXJlbnQsIGRpcm5hbWUpCiAgICAgICAgICAgIGlm
IGRpcm5hbWUgPT0gJy4nOgogICAgICAgICAgICAgICAgY29udGludWUKICAgICAgICAgICAgaWYg
Y3BhdGguaXNsaW5rKHBhcmVudCk6CiAgICAgICAgICAgICAgICBiYi53YXJuKCJGSUxFUyBjb250
YWlucyBmaWxlICclcycgd2hpY2ggcmVzaWRlcyB1bmRlciBhICIKICAgICAgICAgICAgICAgICAg
ICAgICAgImRpcmVjdG9yeSBzeW1saW5rLiBQbGVhc2UgZml4IHRoZSByZWNpcGUgYW5kIHVzZSB0
aGUgIgogICAgICAgICAgICAgICAgICAgICAgICAicmVhbCBwYXRoIGZvciB0aGUgZmlsZS4iICUg
ZlsxOl0pCiAgICAgICAgICAgICAgICBzeW1saW5rX3BhdGhzLmFwcGVuZChmKQogICAgICAgICAg
ICAgICAgZmlsZXNbaW5kXSA9IHBhcmVudAogICAgICAgICAgICAgICAgZiA9IHBhcmVudAogICAg
ICAgICAgICAgICAgYnJlYWsKCiAgICAgICAgaWYgbm90IGNwYXRoLmlzbGluayhmKToKICAgICAg
ICAgICAgaWYgY3BhdGguaXNkaXIoZik6CiAgICAgICAgICAgICAgICBuZXdmaWxlcyA9IFsgb3Mu
cGF0aC5qb2luKGYseCkgZm9yIHggaW4gb3MubGlzdGRpcihmKSBdCiAgICAgICAgICAgICAgICBp
ZiBuZXdmaWxlczoKICAgICAgICAgICAgICAgICAgICBmaWxlcyArPSBuZXdmaWxlcwoKICAgIHJl
dHVybiBmaWxlcywgc3ltbGlua19wYXRocwp9CgoKcHl0aG9uIGZpbHRlcl9kZXBzICgpIHsKZGVm
IGZpbHRlcl9kZXBzKHZhciwgZik6CiAgICBpbXBvcnQgY29sbGVjdGlvbnMKCiAgICBkZXBlbmRz
X2RpY3QgPSBiYi51dGlscy5leHBsb2RlX2RlcF92ZXJzaW9uczIodmFyKQogICAgbmV3ZGVwc19k
aWN0ID0gY29sbGVjdGlvbnMuT3JkZXJlZERpY3QoKQogICAgZm9yIGRlcCBpbiBkZXBlbmRzX2Rp
Y3Q6CiAgICAgICAgaWYgZihkZXApOgogICAgICAgICAgICBuZXdkZXBzX2RpY3RbZGVwXSA9IGRl
cGVuZHNfZGljdFtkZXBdCiAgICByZXR1cm4gYmIudXRpbHMuam9pbl9kZXBzKG5ld2RlcHNfZGlj
dCwgY29tbWFzZXA9RmFsc2UpCn0KCgpweXRob24gZmlsdGVyX25hdGl2ZXNka19kZXBzICgpIHsK
ZGVmIGZpbHRlcl9uYXRpdmVzZGtfZGVwcyhzcmNuYW1lLCB2YXIpOgogICAgaWYgdmFyIGFuZCBz
cmNuYW1lLnN0YXJ0c3dpdGgoIm5hdGl2ZXNkay0iKToKICAgICAgICB2YXIgPSBmaWx0ZXJfZGVw
cyh2YXIsIGxhbWJkYSBkZXA6IG5vdCBkZXAuc3RhcnRzd2l0aCgnLycpIGFuZCBkZXAgIT0gJ3Bl
cmwnIGFuZCBub3QgZGVwLnN0YXJ0c3dpdGgoJ3BlcmwoJykpCiAgICByZXR1cm4gdmFyCn0KCgpw
eXRob24gZmluZF9saWNlbnNlX2ZpbGVzICgpIHsKZGVmIGZpbmRfbGljZW5zZV9maWxlcyhkKToK
ICAgICIiIgogICAgQ3JlYXRlcyBsaXN0IG9mIGZpbGVzIHVzZWQgaW4gTElDX0ZJTEVTX0NIS1NV
TSBhbmQgZ2VuZXJpYyBMSUNFTlNFIGZpbGVzLgogICAgIiIiCiAgICBpbXBvcnQgc2h1dGlsCiAg
ICBpbXBvcnQgb2UubGljZW5zZQogICAgZnJvbSBjb2xsZWN0aW9ucyBpbXBvcnQgZGVmYXVsdGRp
Y3QsIE9yZGVyZWREaWN0CgogICAgIyBBbGwgdGhlIGxpY2Vuc2UgZmlsZXMgZm9yIHRoZSBwYWNr
YWdlCiAgICBsaWNfZmlsZXMgPSBkLmdldFZhcignTElDX0ZJTEVTX0NIS1NVTScpIG9yICIiCiAg
ICBwbiA9IGQuZ2V0VmFyKCdQTicpCiAgICAjIFRoZSBsaWNlbnNlIGZpbGVzIGFyZSBsb2NhdGVk
IGluIFMvTElDX0ZJTEVfQ0hFQ0tTVU0uCiAgICBzcmNkaXIgPSBkLmdldFZhcignUycpCiAgICAj
IERpcmVjdG9yeSB3ZSBzdG9yZSB0aGUgZ2VuZXJpYyBsaWNlbnNlcyBhcyBzZXQgaW4gdGhlIGRp
c3RybyBjb25maWd1cmF0aW9uCiAgICBnZW5lcmljX2RpcmVjdG9yeSA9IGQuZ2V0VmFyKCdDT01N
T05fTElDRU5TRV9ESVInKQogICAgIyBMaXN0IG9mIGJhc2VuYW1lLCBwYXRoIHR1cGxlcwogICAg
bGljX2ZpbGVzX3BhdGhzID0gW10KICAgICMgaGFzaCBmb3Iga2VlcCB0cmFjayBnZW5lcmljIGxp
Y3MgbWFwcGluZ3MKICAgIG5vbl9nZW5lcmljX2xpY3MgPSB7fQogICAgIyBFbnRyaWVzIGZyb20g
TElDX0ZJTEVTX0NIS1NVTQogICAgbGljX2Noa3N1bXMgPSB7fQogICAgbGljZW5zZV9zb3VyY2Vf
ZGlycyA9IFtdCiAgICBsaWNlbnNlX3NvdXJjZV9kaXJzLmFwcGVuZChnZW5lcmljX2RpcmVjdG9y
eSkKICAgIHRyeToKICAgICAgICBhZGRpdGlvbmFsX2xpY19kaXJzID0gZC5nZXRWYXIoJ0xJQ0VO
U0VfUEFUSCcpLnNwbGl0KCkKICAgICAgICBmb3IgbGljX2RpciBpbiBhZGRpdGlvbmFsX2xpY19k
aXJzOgogICAgICAgICAgICBsaWNlbnNlX3NvdXJjZV9kaXJzLmFwcGVuZChsaWNfZGlyKQogICAg
ZXhjZXB0OgogICAgICAgIHBhc3MKCiAgICBjbGFzcyBGaW5kVmlzaXRvcihvZS5saWNlbnNlLkxp
Y2Vuc2VWaXNpdG9yKToKICAgICAgICBkZWYgdmlzaXRfU3RyKHNlbGYsIG5vZGUpOgogICAgICAg
ICAgICAjCiAgICAgICAgICAgICMgVW50aWwgSSBmaWd1cmUgb3V0IHdoYXQgdG8gZG8gd2l0aAog
ICAgICAgICAgICAjIHRoZSB0d28gbW9kaWZpZXJzIEkgc3VwcG9ydCAob3IgZ3JlYXRlciA9ICsK
ICAgICAgICAgICAgIyBhbmQgIndpdGggZXhjZXB0aW9ucyIgYmVpbmcgKgogICAgICAgICAgICAj
IHdlJ2xsIGp1c3Qgc3RyaXAgb3V0IHRoZSBtb2RpZmllciBhbmQgcHV0CiAgICAgICAgICAgICMg
dGhlIGJhc2UgbGljZW5zZS4KICAgICAgICAgICAgZmluZF9saWNlbnNlKG5vZGUucy5yZXBsYWNl
KCIrIiwgIiIpLnJlcGxhY2UoIioiLCAiIikpCiAgICAgICAgICAgIHNlbGYuZ2VuZXJpY192aXNp
dChub2RlKQoKICAgIGRlZiBmaW5kX2xpY2Vuc2UobGljZW5zZV90eXBlKToKICAgICAgICB0cnk6
CiAgICAgICAgICAgIGJiLnV0aWxzLm1rZGlyaGllcihnZW5fbGljX2Rlc3QpCiAgICAgICAgZXhj
ZXB0OgogICAgICAgICAgICBwYXNzCiAgICAgICAgc3BkeF9nZW5lcmljID0gTm9uZQogICAgICAg
IGxpY2Vuc2Vfc291cmNlID0gTm9uZQogICAgICAgICMgSWYgdGhlIGdlbmVyaWMgZG9lcyBub3Qg
ZXhpc3Qgd2UgbmVlZCB0byBjaGVjayB0byBzZWUgaWYgdGhlcmUgaXMgYW4gU1BEWCBtYXBwaW5n
IHRvIGl0LAogICAgICAgICMgdW5sZXNzIE5PX0dFTkVSSUNfTElDRU5TRSBpcyBzZXQuCiAgICAg
ICAgZm9yIGxpY19kaXIgaW4gbGljZW5zZV9zb3VyY2VfZGlyczoKICAgICAgICAgICAgaWYgbm90
IG9zLnBhdGguaXNmaWxlKG9zLnBhdGguam9pbihsaWNfZGlyLCBsaWNlbnNlX3R5cGUpKToKICAg
ICAgICAgICAgICAgIGlmIGQuZ2V0VmFyRmxhZygnU1BEWExJQ0VOU0VNQVAnLCBsaWNlbnNlX3R5
cGUpICE9IE5vbmU6CiAgICAgICAgICAgICAgICAgICAgIyBHcmVhdCwgdGhlcmUgaXMgYW4gU1BE
WExJQ0VOU0VNQVAuIFdlIGNhbiBjb3B5IQogICAgICAgICAgICAgICAgICAgIGJiLmRlYnVnKDEs
ICJXZSBuZWVkIHRvIHVzZSBhIFNQRFhMSUNFTlNFTUFQIGZvciAlcyIgJSAobGljZW5zZV90eXBl
KSkKICAgICAgICAgICAgICAgICAgICBzcGR4X2dlbmVyaWMgPSBkLmdldFZhckZsYWcoJ1NQRFhM
SUNFTlNFTUFQJywgbGljZW5zZV90eXBlKQogICAgICAgICAgICAgICAgICAgIGxpY2Vuc2Vfc291
cmNlID0gbGljX2RpcgogICAgICAgICAgICAgICAgICAgIGJyZWFrCiAgICAgICAgICAgIGVsaWYg
b3MucGF0aC5pc2ZpbGUob3MucGF0aC5qb2luKGxpY19kaXIsIGxpY2Vuc2VfdHlwZSkpOgogICAg
ICAgICAgICAgICAgc3BkeF9nZW5lcmljID0gbGljZW5zZV90eXBlCiAgICAgICAgICAgICAgICBs
aWNlbnNlX3NvdXJjZSA9IGxpY19kaXIKICAgICAgICAgICAgICAgIGJyZWFrCgogICAgICAgIG5v
bl9nZW5lcmljX2xpYyA9IGQuZ2V0VmFyRmxhZygnTk9fR0VORVJJQ19MSUNFTlNFJywgbGljZW5z
ZV90eXBlKQogICAgICAgIGlmIHNwZHhfZ2VuZXJpYyBhbmQgbGljZW5zZV9zb3VyY2U6CiAgICAg
ICAgICAgICMgd2UgcmVhbGx5IHNob3VsZCBjb3B5IHRvIGdlbmVyaWNfICsgc3BkeF9nZW5lcmlj
LCBob3dldmVyLCB0aGF0IGVuZHMgdXAgbWVzc2luZyB0aGUgbWFuaWZlc3QKICAgICAgICAgICAg
IyBhdWRpdCB1cC4gVGhpcyBzaG91bGQgYmUgZml4ZWQgaW4gZW1pdF9wa2dkYXRhIChvciwgd2Ug
YWN0dWFsbHkgZ290IGFuZCBmaXggYWxsIHRoZSByZWNpcGVzKQoKICAgICAgICAgICAgbGljX2Zp
bGVzX3BhdGhzLmFwcGVuZCgoImdlbmVyaWNfIiArIGxpY2Vuc2VfdHlwZSwgb3MucGF0aC5qb2lu
KGxpY2Vuc2Vfc291cmNlLCBzcGR4X2dlbmVyaWMpLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBOb25lLCBOb25lKSkKCiAgICAgICAgICAgICMgVGhlIHVzZXIgbWF5IGF0dGVt
cHQgdG8gdXNlIE5PX0dFTkVSSUNfTElDRU5TRSBmb3IgYSBnZW5lcmljIGxpY2Vuc2Ugd2hpY2gg
ZG9lc24ndCBtYWtlIHNlbnNlCiAgICAgICAgICAgICMgYW5kIHNob3VsZCBub3QgYmUgYWxsb3dl
ZCwgd2FybiB0aGUgdXNlciBpbiB0aGlzIGNhc2UuCiAgICAgICAgICAgIGlmIGQuZ2V0VmFyRmxh
ZygnTk9fR0VORVJJQ19MSUNFTlNFJywgbGljZW5zZV90eXBlKToKICAgICAgICAgICAgICAgIGJi
Lndhcm4oIiVzOiAlcyBpcyBhIGdlbmVyaWMgbGljZW5zZSwgcGxlYXNlIGRvbid0IHVzZSBOT19H
RU5FUklDX0xJQ0VOU0UgZm9yIGl0LiIgJSAocG4sIGxpY2Vuc2VfdHlwZSkpCgogICAgICAgIGVs
aWYgbm9uX2dlbmVyaWNfbGljIGFuZCBub25fZ2VuZXJpY19saWMgaW4gbGljX2Noa3N1bXM6CiAg
ICAgICAgICAgICMgaWYgTk9fR0VORVJJQ19MSUNFTlNFIGlzIHNldCwgd2UgY29weSB0aGUgbGlj
ZW5zZSBmaWxlcyBmcm9tIHRoZSBmZXRjaGVkIHNvdXJjZQogICAgICAgICAgICAjIG9mIHRoZSBw
YWNrYWdlIHJhdGhlciB0aGFuIHRoZSBsaWNlbnNlX3NvdXJjZV9kaXJzLgogICAgICAgICAgICBs
aWNfZmlsZXNfcGF0aHMuYXBwZW5kKCgiZ2VuZXJpY18iICsgbGljZW5zZV90eXBlLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcy5wYXRoLmpvaW4oc3JjZGlyLCBub25fZ2Vu
ZXJpY19saWMpLCBOb25lLCBOb25lKSkKICAgICAgICAgICAgbm9uX2dlbmVyaWNfbGljc1tub25f
Z2VuZXJpY19saWNdID0gbGljZW5zZV90eXBlCiAgICAgICAgZWxzZToKICAgICAgICAgICAgIyBB
ZGQgZXhwbGljaXR5IGF2b2lkIG9mIENMT1NFRCBsaWNlbnNlIGJlY2F1c2UgdGhpcyBpc24ndCBn
ZW5lcmljCiAgICAgICAgICAgIGlmIGxpY2Vuc2VfdHlwZSAhPSAnQ0xPU0VEJzoKICAgICAgICAg
ICAgICAgICMgQW5kIGhlcmUgaXMgd2hlcmUgd2Ugd2FybiBwZW9wbGUgdGhhdCB0aGVpciBsaWNl
bnNlcyBhcmUgbG91c3kKICAgICAgICAgICAgICAgIGJiLndhcm4oIiVzOiBObyBnZW5lcmljIGxp
Y2Vuc2UgZmlsZSBleGlzdHMgZm9yOiAlcyBpbiBhbnkgcHJvdmlkZXIiICUgKHBuLCBsaWNlbnNl
X3R5cGUpKQogICAgICAgICAgICBwYXNzCgogICAgaWYgbm90IGdlbmVyaWNfZGlyZWN0b3J5Ogog
ICAgICAgIGJiLmZhdGFsKCJDT01NT05fTElDRU5TRV9ESVIgaXMgdW5zZXQuIFBsZWFzZSBzZXQg
dGhpcyBpbiB5b3VyIGRpc3RybyBjb25maWciKQoKICAgIGZvciB1cmwgaW4gbGljX2ZpbGVzLnNw
bGl0KCk6CiAgICAgICAgdHJ5OgogICAgICAgICAgICAodHlwZSwgaG9zdCwgcGF0aCwgdXNlciwg
cHN3ZCwgcGFybSkgPSBiYi5mZXRjaC5kZWNvZGV1cmwodXJsKQogICAgICAgIGV4Y2VwdCBiYi5m
ZXRjaC5NYWxmb3JtZWRVcmw6CiAgICAgICAgICAgIGJiLmZhdGFsKCIlczogTElDX0ZJTEVTX0NI
S1NVTSBjb250YWlucyBhbiBpbnZhbGlkIFVSTDogICVzIiAlIChkLmdldFZhcignUEYnKSwgdXJs
KSkKICAgICAgICAjIFdlIHdhbnQgdGhlIGxpY2Vuc2UgZmlsZW5hbWUgYW5kIHBhdGgKICAgICAg
ICBjaGtzdW0gPSBwYXJtLmdldCgnbWQ1JywgTm9uZSkKICAgICAgICBiZWdpbmxpbmUgPSBwYXJt
LmdldCgnYmVnaW5saW5lJykKICAgICAgICBlbmRsaW5lID0gcGFybS5nZXQoJ2VuZGxpbmUnKQog
ICAgICAgIGxpY19jaGtzdW1zW3BhdGhdID0gKGNoa3N1bSwgYmVnaW5saW5lLCBlbmRsaW5lKQoK
ICAgIHYgPSBGaW5kVmlzaXRvcigpCiAgICB0cnk6CiAgICAgICAgdi52aXNpdF9zdHJpbmcoZC5n
ZXRWYXIoJ0xJQ0VOU0UnKSkKICAgIGV4Y2VwdCBvZS5saWNlbnNlLkludmFsaWRMaWNlbnNlIGFz
IGV4YzoKICAgICAgICBiYi5mYXRhbCgnJXM6ICVzJyAlIChkLmdldFZhcignUEYnKSwgZXhjKSkK
ICAgIGV4Y2VwdCBTeW50YXhFcnJvcjoKICAgICAgICBiYi53YXJuKCIlczogRmFpbGVkIHRvIHBh
cnNlIGl0J3MgTElDRU5TRSBmaWVsZC4iICUgKGQuZ2V0VmFyKCdQRicpKSkKICAgICMgQWRkIGZp
bGVzIGZyb20gTElDX0ZJTEVTX0NIS1NVTSB0byBsaXN0IG9mIGxpY2Vuc2UgZmlsZXMKICAgIGxp
Y19jaGtzdW1fcGF0aHMgPSBkZWZhdWx0ZGljdChPcmRlcmVkRGljdCkKICAgIGZvciBwYXRoLCBk
YXRhIGluIHNvcnRlZChsaWNfY2hrc3Vtcy5pdGVtcygpKToKICAgICAgICBsaWNfY2hrc3VtX3Bh
dGhzW29zLnBhdGguYmFzZW5hbWUocGF0aCldW2RhdGFdID0gKG9zLnBhdGguam9pbihzcmNkaXIs
IHBhdGgpLCBkYXRhWzFdLCBkYXRhWzJdKQogICAgZm9yIGJhc2VuYW1lLCBmaWxlcyBpbiBsaWNf
Y2hrc3VtX3BhdGhzLml0ZW1zKCk6CiAgICAgICAgaWYgbGVuKGZpbGVzKSA9PSAxOgogICAgICAg
ICAgICAjIERvbid0IGNvcHkgYWdhaW4gYSBMSUNFTlNFIGFscmVhZHkgaGFuZGxlZCBhcyBub24t
Z2VuZXJpYwogICAgICAgICAgICBpZiBiYXNlbmFtZSBpbiBub25fZ2VuZXJpY19saWNzOgogICAg
ICAgICAgICAgICAgY29udGludWUKICAgICAgICAgICAgZGF0YSA9IGxpc3QoZmlsZXMudmFsdWVz
KCkpWzBdCiAgICAgICAgICAgIGxpY19maWxlc19wYXRocy5hcHBlbmQodHVwbGUoW2Jhc2VuYW1l
XSArIGxpc3QoZGF0YSkpKQogICAgICAgIGVsc2U6CiAgICAgICAgICAgICMgSWYgdGhlcmUgYXJl
IG11bHRpcGxlIGRpZmZlcmVudCBsaWNlbnNlIGZpbGVzIHdpdGggaWRlbnRpY2FsCiAgICAgICAg
ICAgICMgYmFzZW5hbWVzIHdlIHJlbmFtZSB0aGVtIHRvIDxmaWxlPi4wLCA8ZmlsZT4uMSwgLi4u
CiAgICAgICAgICAgIGZvciBpLCBkYXRhIGluIGVudW1lcmF0ZShmaWxlcy52YWx1ZXMoKSk6CiAg
ICAgICAgICAgICAgICBsaWNfZmlsZXNfcGF0aHMuYXBwZW5kKHR1cGxlKFsiJXMuJWQiICUgKGJh
c2VuYW1lLCBpKV0gKyBsaXN0KGRhdGEpKSkKCiAgICByZXR1cm4gbGljX2ZpbGVzX3BhdGhzCn0K
CgpweXRob24gZml4dXBfcGVybXMgKCkgewogICAgaW1wb3J0IHB3ZCwgZ3JwCgogICAgIyBpbml0
IHVzaW5nIGEgc3RyaW5nIHdpdGggdGhlIHNhbWUgZm9ybWF0IGFzIGEgbGluZSBhcyBkb2N1bWVu
dGVkIGluCiAgICAjIHRoZSBmcy1wZXJtcy50eHQgZmlsZQogICAgIyA8cGF0aD4gPG1vZGU+IDx1
aWQ+IDxnaWQ+IDx3YWxrPiA8Zm1vZGU+IDxmdWlkPiA8ZmdpZD4KICAgICMgPHBhdGg+IGxpbmsg
PGxpbmsgdGFyZ2V0PgogICAgIwogICAgIyBfX3N0cl9fIGNhbiBiZSB1c2VkIHRvIHByaW50IG91
dCBhbiBlbnRyeSBpbiB0aGUgaW5wdXQgZm9ybWF0CiAgICAjCiAgICAjIGlmIGZzX3Blcm1zX2Vu
dHJ5LnBhdGggaXMgTm9uZToKICAgICMgICAgYW4gZXJyb3Igb2NjdXJlZAogICAgIyBpZiBmc19w
ZXJtc19lbnRyeS5saW5rLCB5b3UgY2FuIHJldHJpZXZlOgogICAgIyAgICBmc19wZXJtc19lbnRy
eS5wYXRoID0gcGF0aAogICAgIyAgICBmc19wZXJtc19lbnRyeS5saW5rID0gdGFyZ2V0IG9mIGxp
bmsKICAgICMgaWYgbm90IGZzX3Blcm1zX2VudHJ5LmxpbmssIHlvdSBjYW4gcmV0cmlldmU6CiAg
ICAjICAgIGZzX3Blcm1zX2VudHJ5LnBhdGggPSBwYXRoCiAgICAjICAgIGZzX3Blcm1zX2VudHJ5
Lm1vZGUgPSBleHBlY3RlZCBkaXIgbW9kZSBvciBOb25lCiAgICAjICAgIGZzX3Blcm1zX2VudHJ5
LnVpZCA9IGV4cGVjdGVkIHVpZCBvciAtMQogICAgIyAgICBmc19wZXJtc19lbnRyeS5naWQgPSBl
eHBlY3RlZCBnaWQgb3IgLTEKICAgICMgICAgZnNfcGVybXNfZW50cnkud2FsayA9ICd0cnVlJyBv
ciBzb21ldGhpbmcgZWxzZQogICAgIyAgICBmc19wZXJtc19lbnRyeS5mbW9kZSA9IGV4cGVjdGVk
IGZpbGUgbW9kZSBvciBOb25lCiAgICAjICAgIGZzX3Blcm1zX2VudHJ5LmZ1aWQgPSBleHBlY3Rl
ZCBmaWxlIHVpZCBvciAtMQogICAgIyAgICBmc19wZXJtc19lbnRyeV9mZ2lkID0gZXhwZWN0ZWQg
ZmlsZSBnaWQgb3IgLTEKICAgIGNsYXNzIGZzX3Blcm1zX2VudHJ5KCk6CiAgICAgICAgZGVmIF9f
aW5pdF9fKHNlbGYsIGxpbmUpOgogICAgICAgICAgICBsc3BsaXQgPSBsaW5lLnNwbGl0KCkKICAg
ICAgICAgICAgaWYgbGVuKGxzcGxpdCkgPT0gMyBhbmQgbHNwbGl0WzFdLmxvd2VyKCkgPT0gImxp
bmsiOgogICAgICAgICAgICAgICAgc2VsZi5fc2V0bGluayhsc3BsaXRbMF0sIGxzcGxpdFsyXSkK
ICAgICAgICAgICAgZWxpZiBsZW4obHNwbGl0KSA9PSA4OgogICAgICAgICAgICAgICAgc2VsZi5f
c2V0ZGlyKGxzcGxpdFswXSwgbHNwbGl0WzFdLCBsc3BsaXRbMl0sIGxzcGxpdFszXSwgbHNwbGl0
WzRdLCBsc3BsaXRbNV0sIGxzcGxpdFs2XSwgbHNwbGl0WzddKQogICAgICAgICAgICBlbHNlOgog
ICAgICAgICAgICAgICAgbXNnID0gIkZpeHVwIFBlcm1zOiBpbnZhbGlkIGNvbmZpZyBsaW5lICVz
IiAlIGxpbmUKICAgICAgICAgICAgICAgIHBhY2thZ2VfcWFfaGFuZGxlX2Vycm9yKCJwZXJtLWNv
bmZpZyIsIG1zZywgZCkKICAgICAgICAgICAgICAgIHNlbGYucGF0aCA9IE5vbmUKICAgICAgICAg
ICAgICAgIHNlbGYubGluayA9IE5vbmUKCiAgICAgICAgZGVmIF9zZXRkaXIoc2VsZiwgcGF0aCwg
bW9kZSwgdWlkLCBnaWQsIHdhbGssIGZtb2RlLCBmdWlkLCBmZ2lkKToKICAgICAgICAgICAgc2Vs
Zi5wYXRoID0gb3MucGF0aC5ub3JtcGF0aChwYXRoKQogICAgICAgICAgICBzZWxmLmxpbmsgPSBO
b25lCiAgICAgICAgICAgIHNlbGYubW9kZSA9IHNlbGYuX3Byb2Ntb2RlKG1vZGUpCiAgICAgICAg
ICAgIHNlbGYudWlkICA9IHNlbGYuX3Byb2N1aWQodWlkKQogICAgICAgICAgICBzZWxmLmdpZCAg
PSBzZWxmLl9wcm9jZ2lkKGdpZCkKICAgICAgICAgICAgc2VsZi53YWxrID0gd2Fsay5sb3dlcigp
CiAgICAgICAgICAgIHNlbGYuZm1vZGUgPSBzZWxmLl9wcm9jbW9kZShmbW9kZSkKICAgICAgICAg
ICAgc2VsZi5mdWlkID0gc2VsZi5fcHJvY3VpZChmdWlkKQogICAgICAgICAgICBzZWxmLmZnaWQg
PSBzZWxmLl9wcm9jZ2lkKGZnaWQpCgogICAgICAgIGRlZiBfc2V0bGluayhzZWxmLCBwYXRoLCBs
aW5rKToKICAgICAgICAgICAgc2VsZi5wYXRoID0gb3MucGF0aC5ub3JtcGF0aChwYXRoKQogICAg
ICAgICAgICBzZWxmLmxpbmsgPSBsaW5rCgogICAgICAgIGRlZiBfcHJvY21vZGUoc2VsZiwgbW9k
ZSk6CiAgICAgICAgICAgIGlmIG5vdCBtb2RlIG9yIChtb2RlIGFuZCBtb2RlID09ICItIik6CiAg
ICAgICAgICAgICAgICByZXR1cm4gTm9uZQogICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAg
ICAgcmV0dXJuIGludChtb2RlLDgpCgogICAgICAgICMgTm90ZSB1aWQvZ2lkIC0xIGhhcyBzcGVj
aWFsIHNpZ25pZmljYW5jZSBpbiBvcy5sY2hvd24KICAgICAgICBkZWYgX3Byb2N1aWQoc2VsZiwg
dWlkKToKICAgICAgICAgICAgaWYgdWlkIGlzIE5vbmUgb3IgdWlkID09ICItIjoKICAgICAgICAg
ICAgICAgIHJldHVybiAtMQogICAgICAgICAgICBlbGlmIHVpZC5pc2RpZ2l0KCk6CiAgICAgICAg
ICAgICAgICByZXR1cm4gaW50KHVpZCkKICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAg
IHJldHVybiBwd2QuZ2V0cHduYW0odWlkKS5wd191aWQKCiAgICAgICAgZGVmIF9wcm9jZ2lkKHNl
bGYsIGdpZCk6CiAgICAgICAgICAgIGlmIGdpZCBpcyBOb25lIG9yIGdpZCA9PSAiLSI6CiAgICAg
ICAgICAgICAgICByZXR1cm4gLTEKICAgICAgICAgICAgZWxpZiBnaWQuaXNkaWdpdCgpOgogICAg
ICAgICAgICAgICAgcmV0dXJuIGludChnaWQpCiAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAg
ICAgICByZXR1cm4gZ3JwLmdldGdybmFtKGdpZCkuZ3JfZ2lkCgogICAgICAgICMgVXNlIGZvciBk
ZWJ1Z2dpbmcgdGhlIGVudHJpZXMKICAgICAgICBkZWYgX19zdHJfXyhzZWxmKToKICAgICAgICAg
ICAgaWYgc2VsZi5saW5rOgogICAgICAgICAgICAgICAgcmV0dXJuICIlcyBsaW5rICVzIiAlIChz
ZWxmLnBhdGgsIHNlbGYubGluaykKICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgIG1v
ZGUgPSAiLSIKICAgICAgICAgICAgICAgIGlmIHNlbGYubW9kZToKICAgICAgICAgICAgICAgICAg
ICBtb2RlID0gIjAlbyIgJSBzZWxmLm1vZGUKICAgICAgICAgICAgICAgIGZtb2RlID0gIi0iCiAg
ICAgICAgICAgICAgICBpZiBzZWxmLmZtb2RlOgogICAgICAgICAgICAgICAgICAgIGZtb2RlID0g
IjAlbyIgJSBzZWxmLmZtb2RlCiAgICAgICAgICAgICAgICB1aWQgPSBzZWxmLl9tYXB1Z2lkKHNl
bGYudWlkKQogICAgICAgICAgICAgICAgZ2lkID0gc2VsZi5fbWFwdWdpZChzZWxmLmdpZCkKICAg
ICAgICAgICAgICAgIGZ1aWQgPSBzZWxmLl9tYXB1Z2lkKHNlbGYuZnVpZCkKICAgICAgICAgICAg
ICAgIGZnaWQgPSBzZWxmLl9tYXB1Z2lkKHNlbGYuZmdpZCkKICAgICAgICAgICAgICAgIHJldHVy
biAiJXMgJXMgJXMgJXMgJXMgJXMgJXMgJXMiICUgKHNlbGYucGF0aCwgbW9kZSwgdWlkLCBnaWQs
IHNlbGYud2FsaywgZm1vZGUsIGZ1aWQsIGZnaWQpCgogICAgICAgIGRlZiBfbWFwdWdpZChzZWxm
LCBpZCk6CiAgICAgICAgICAgIGlmIGlkIGlzIE5vbmUgb3IgaWQgPT0gLTE6CiAgICAgICAgICAg
ICAgICByZXR1cm4gIi0iCiAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICByZXR1cm4g
IiVkIiAlIGlkCgogICAgIyBGaXggdGhlIHBlcm1pc3Npb24sIG93bmVyIGFuZCBncm91cCBvZiBw
YXRoCiAgICBkZWYgZml4X3Blcm1zKHBhdGgsIG1vZGUsIHVpZCwgZ2lkLCBkaXIpOgogICAgICAg
IGlmIG1vZGUgYW5kIG5vdCBvcy5wYXRoLmlzbGluayhwYXRoKToKICAgICAgICAgICAgI2JiLm5v
dGUoIkZpeHVwIFBlcm1zOiBjaG1vZCAwJW8gJXMiICUgKG1vZGUsIGRpcikpCiAgICAgICAgICAg
IG9zLmNobW9kKHBhdGgsIG1vZGUpCiAgICAgICAgIyAtMSBpcyBhIHNwZWNpYWwgdmFsdWUgdGhh
dCBtZWFucyBkb24ndCBjaGFuZ2UgdGhlIHVpZC9naWQKICAgICAgICAjIGlmIHRoZXkgYXJlIEJP
VEggLTEsIGRvbid0IGJvdGhlciB0byBsY2hvd24KICAgICAgICBpZiBub3QgKHVpZCA9PSAtMSBh
bmQgZ2lkID09IC0xKToKICAgICAgICAgICAgI2JiLm5vdGUoIkZpeHVwIFBlcm1zOiBsY2hvd24g
JWQ6JWQgJXMiICUgKHVpZCwgZ2lkLCBkaXIpKQogICAgICAgICAgICBvcy5sY2hvd24ocGF0aCwg
dWlkLCBnaWQpCgogICAgIyBSZXR1cm4gYSBsaXN0IG9mIGNvbmZpZ3VyYXRpb24gZmlsZXMgYmFz
ZWQgb24gZWl0aGVyIHRoZSBkZWZhdWx0CiAgICAjIGZpbGVzL2ZzLXBlcm1zLnR4dCBvciB0aGUg
Y29udGVudHMgb2YgRklMRVNZU1RFTV9QRVJNU19UQUJMRVMKICAgICMgcGF0aHMgYXJlIHJlc29s
dmVkIHZpYSBCQlBBVEgKICAgIGRlZiBnZXRfZnNfcGVybXNfbGlzdChkKToKICAgICAgICBzdHIg
PSAiIgogICAgICAgIGJicGF0aCA9IGQuZ2V0VmFyKCdCQlBBVEgnKQogICAgICAgIGZzX3Blcm1z
X3RhYmxlcyA9IGQuZ2V0VmFyKCdGSUxFU1lTVEVNX1BFUk1TX1RBQkxFUycpCiAgICAgICAgaWYg
bm90IGZzX3Blcm1zX3RhYmxlczoKICAgICAgICAgICAgZnNfcGVybXNfdGFibGVzID0gJ2ZpbGVz
L2ZzLXBlcm1zLnR4dCcKICAgICAgICBmb3IgY29uZl9maWxlIGluIGZzX3Blcm1zX3RhYmxlcy5z
cGxpdCgpOgogICAgICAgICAgICBzdHIgKz0gIiAlcyIgJSBiYi51dGlscy53aGljaChiYnBhdGgs
IGNvbmZfZmlsZSkKICAgICAgICByZXR1cm4gc3RyCgoKCiAgICBkdmFyID0gZC5nZXRWYXIoJ1BL
R0QnKQoKICAgIGZzX3Blcm1zX3RhYmxlID0ge30KICAgIGZzX2xpbmtfdGFibGUgPSB7fQoKICAg
ICMgQnkgZGVmYXVsdCBhbGwgb2YgdGhlIHN0YW5kYXJkIGRpcmVjdG9yaWVzIHNwZWNpZmllZCBp
bgogICAgIyBiaXRiYWtlLmNvbmYgd2lsbCBnZXQgMDc1NSByb290OnJvb3QuCiAgICB0YXJnZXRf
cGF0aF92YXJzID0gWyAgICAnYmFzZV9wcmVmaXgnLAogICAgICAgICAgICAgICAgJ3ByZWZpeCcs
CiAgICAgICAgICAgICAgICAnZXhlY19wcmVmaXgnLAogICAgICAgICAgICAgICAgJ2Jhc2VfYmlu
ZGlyJywKICAgICAgICAgICAgICAgICdiYXNlX3NiaW5kaXInLAogICAgICAgICAgICAgICAgJ2Jh
c2VfbGliZGlyJywKICAgICAgICAgICAgICAgICdkYXRhZGlyJywKICAgICAgICAgICAgICAgICdz
eXNjb25mZGlyJywKICAgICAgICAgICAgICAgICdzZXJ2aWNlZGlyJywKICAgICAgICAgICAgICAg
ICdzaGFyZWRzdGF0ZWRpcicsCiAgICAgICAgICAgICAgICAnbG9jYWxzdGF0ZWRpcicsCiAgICAg
ICAgICAgICAgICAnaW5mb2RpcicsCiAgICAgICAgICAgICAgICAnbWFuZGlyJywKICAgICAgICAg
ICAgICAgICdkb2NkaXInLAogICAgICAgICAgICAgICAgJ2JpbmRpcicsCiAgICAgICAgICAgICAg
ICAnc2JpbmRpcicsCiAgICAgICAgICAgICAgICAnbGliZXhlY2RpcicsCiAgICAgICAgICAgICAg
ICAnbGliZGlyJywKICAgICAgICAgICAgICAgICdpbmNsdWRlZGlyJywKICAgICAgICAgICAgICAg
ICdvbGRpbmNsdWRlZGlyJyBdCgogICAgZm9yIHBhdGggaW4gdGFyZ2V0X3BhdGhfdmFyczoKICAg
ICAgICBkaXIgPSBkLmdldFZhcihwYXRoKSBvciAiIgogICAgICAgIGlmIGRpciA9PSAiIjoKICAg
ICAgICAgICAgY29udGludWUKICAgICAgICBmc19wZXJtc190YWJsZVtkaXJdID0gZnNfcGVybXNf
ZW50cnkoZC5leHBhbmQoIiVzIDA3NTUgcm9vdCByb290IGZhbHNlIC0gLSAtIiAlIChkaXIpKSkK
CiAgICAjIE5vdyB3ZSBhY3R1YWxseSBsb2FkIGZyb20gdGhlIGNvbmZpZ3VyYXRpb24gZmlsZXMK
ICAgIGZvciBjb25mIGluIGdldF9mc19wZXJtc19saXN0KGQpLnNwbGl0KCk6CiAgICAgICAgaWYg
b3MucGF0aC5leGlzdHMoY29uZik6CiAgICAgICAgICAgIGYgPSBvcGVuKGNvbmYpCiAgICAgICAg
ICAgIGZvciBsaW5lIGluIGY6CiAgICAgICAgICAgICAgICBpZiBsaW5lLnN0YXJ0c3dpdGgoJyMn
KToKICAgICAgICAgICAgICAgICAgICBjb250aW51ZQogICAgICAgICAgICAgICAgbHNwbGl0ID0g
bGluZS5zcGxpdCgpCiAgICAgICAgICAgICAgICBpZiBsZW4obHNwbGl0KSA9PSAwOgogICAgICAg
ICAgICAgICAgICAgIGNvbnRpbnVlCiAgICAgICAgICAgICAgICBpZiBsZW4obHNwbGl0KSAhPSA4
IGFuZCBub3QgKGxlbihsc3BsaXQpID09IDMgYW5kIGxzcGxpdFsxXS5sb3dlcigpID09ICJsaW5r
Iik6CiAgICAgICAgICAgICAgICAgICAgbXNnID0gIkZpeHVwIHBlcm1zOiAlcyBpbnZhbGlkIGxp
bmU6ICVzIiAlIChjb25mLCBsaW5lKQogICAgICAgICAgICAgICAgICAgIHBhY2thZ2VfcWFfaGFu
ZGxlX2Vycm9yKCJwZXJtLWxpbmUiLCBtc2csIGQpCiAgICAgICAgICAgICAgICAgICAgY29udGlu
dWUKICAgICAgICAgICAgICAgIGVudHJ5ID0gZnNfcGVybXNfZW50cnkoZC5leHBhbmQobGluZSkp
CiAgICAgICAgICAgICAgICBpZiBlbnRyeSBhbmQgZW50cnkucGF0aDoKICAgICAgICAgICAgICAg
ICAgICBpZiBlbnRyeS5saW5rOgogICAgICAgICAgICAgICAgICAgICAgICBmc19saW5rX3RhYmxl
W2VudHJ5LnBhdGhdID0gZW50cnkKICAgICAgICAgICAgICAgICAgICAgICAgaWYgZW50cnkucGF0
aCBpbiBmc19wZXJtc190YWJsZToKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZzX3Blcm1z
X3RhYmxlLnBvcChlbnRyeS5wYXRoKQogICAgICAgICAgICAgICAgICAgIGVsc2U6CiAgICAgICAg
ICAgICAgICAgICAgICAgIGZzX3Blcm1zX3RhYmxlW2VudHJ5LnBhdGhdID0gZW50cnkKICAgICAg
ICAgICAgICAgICAgICAgICAgaWYgZW50cnkucGF0aCBpbiBmc19saW5rX3RhYmxlOgogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgZnNfbGlua190YWJsZS5wb3AoZW50cnkucGF0aCkKICAgICAg
ICAgICAgZi5jbG9zZSgpCgogICAgIyBEZWJ1ZyAtLSBsaXN0IG91dCBpbi1tZW1vcnkgdGFibGUK
ICAgICNmb3IgZGlyIGluIGZzX3Blcm1zX3RhYmxlOgogICAgIyAgICBiYi5ub3RlKCJGaXh1cCBQ
ZXJtczogJXM6ICVzIiAlIChkaXIsIHN0cihmc19wZXJtc190YWJsZVtkaXJdKSkpCiAgICAjZm9y
IGxpbmsgaW4gZnNfbGlua190YWJsZToKICAgICMgICAgYmIubm90ZSgiRml4dXAgUGVybXM6ICVz
OiAlcyIgJSAobGluaywgc3RyKGZzX2xpbmtfdGFibGVbbGlua10pKSkKCiAgICAjIFdlIHByb2Nl
c3MgbGlua3MgZmlyc3QsIHNvIHdlIGNhbiBnbyBiYWNrIGFuZCBmaXh1cCBkaXJlY3Rvcnkgb3du
ZXJzaGlwCiAgICAjIGZvciBhbnkgbmV3bHkgY3JlYXRlZCBkaXJlY3RvcmllcwogICAgIyBQcm9j
ZXNzIGluIHNvcnRlZCBvcmRlciBzbyAvcnVuIGdldHMgY3JlYXRlZCBiZWZvcmUgL3J1bi9sb2Nr
LCBldGMuCiAgICBmb3IgZW50cnkgaW4gc29ydGVkKGZzX2xpbmtfdGFibGUudmFsdWVzKCksIGtl
eT1sYW1iZGEgeDogeC5saW5rKToKICAgICAgICBsaW5rID0gZW50cnkubGluawogICAgICAgIGRp
ciA9IGVudHJ5LnBhdGgKICAgICAgICBvcmlnaW4gPSBkdmFyICsgZGlyCiAgICAgICAgaWYgbm90
IChjcGF0aC5leGlzdHMob3JpZ2luKSBhbmQgY3BhdGguaXNkaXIob3JpZ2luKSBhbmQgbm90IGNw
YXRoLmlzbGluayhvcmlnaW4pKToKICAgICAgICAgICAgY29udGludWUKCiAgICAgICAgaWYgbGlu
a1swXSA9PSAiLyI6CiAgICAgICAgICAgIHRhcmdldCA9IGR2YXIgKyBsaW5rCiAgICAgICAgICAg
IHB0YXJnZXQgPSBsaW5rCiAgICAgICAgZWxzZToKICAgICAgICAgICAgdGFyZ2V0ID0gb3MucGF0
aC5qb2luKG9zLnBhdGguZGlybmFtZShvcmlnaW4pLCBsaW5rKQogICAgICAgICAgICBwdGFyZ2V0
ID0gb3MucGF0aC5qb2luKG9zLnBhdGguZGlybmFtZShkaXIpLCBsaW5rKQogICAgICAgIGlmIG9z
LnBhdGguZXhpc3RzKHRhcmdldCk6CiAgICAgICAgICAgIG1zZyA9ICJGaXh1cCBQZXJtczogVW5h
YmxlIHRvIGNvcnJlY3QgZGlyZWN0b3J5IGxpbmssIHRhcmdldCBhbHJlYWR5IGV4aXN0czogJXMg
LT4gJXMiICUgKGRpciwgcHRhcmdldCkKICAgICAgICAgICAgcGFja2FnZV9xYV9oYW5kbGVfZXJy
b3IoInBlcm0tbGluayIsIG1zZywgZCkKICAgICAgICAgICAgY29udGludWUKCiAgICAgICAgIyBD
cmVhdGUgcGF0aCB0byBtb3ZlIGRpcmVjdG9yeSB0bywgbW92ZSBpdCwgYW5kIHRoZW4gc2V0dXAg
dGhlIHN5bWxpbmsKICAgICAgICBiYi51dGlscy5ta2RpcmhpZXIob3MucGF0aC5kaXJuYW1lKHRh
cmdldCkpCiAgICAgICAgI2JiLm5vdGUoIkZpeHVwIFBlcm1zOiBSZW5hbWUgJXMgLT4gJXMiICUg
KGRpciwgcHRhcmdldCkpCiAgICAgICAgb3MucmVuYW1lKG9yaWdpbiwgdGFyZ2V0KQogICAgICAg
ICNiYi5ub3RlKCJGaXh1cCBQZXJtczogTGluayAlcyAtPiAlcyIgJSAoZGlyLCBsaW5rKSkKICAg
ICAgICBvcy5zeW1saW5rKGxpbmssIG9yaWdpbikKCiAgICBmb3IgZGlyIGluIGZzX3Blcm1zX3Rh
YmxlOgogICAgICAgIG9yaWdpbiA9IGR2YXIgKyBkaXIKICAgICAgICBpZiBub3QgKGNwYXRoLmV4
aXN0cyhvcmlnaW4pIGFuZCBjcGF0aC5pc2RpcihvcmlnaW4pKToKICAgICAgICAgICAgY29udGlu
dWUKCiAgICAgICAgZml4X3Blcm1zKG9yaWdpbiwgZnNfcGVybXNfdGFibGVbZGlyXS5tb2RlLCBm
c19wZXJtc190YWJsZVtkaXJdLnVpZCwgZnNfcGVybXNfdGFibGVbZGlyXS5naWQsIGRpcikKCiAg
ICAgICAgaWYgZnNfcGVybXNfdGFibGVbZGlyXS53YWxrID09ICd0cnVlJzoKICAgICAgICAgICAg
Zm9yIHJvb3QsIGRpcnMsIGZpbGVzIGluIG9zLndhbGsob3JpZ2luKToKICAgICAgICAgICAgICAg
IGZvciBkciBpbiBkaXJzOgogICAgICAgICAgICAgICAgICAgIGVhY2hfZGlyID0gb3MucGF0aC5q
b2luKHJvb3QsIGRyKQogICAgICAgICAgICAgICAgICAgIGZpeF9wZXJtcyhlYWNoX2RpciwgZnNf
cGVybXNfdGFibGVbZGlyXS5tb2RlLCBmc19wZXJtc190YWJsZVtkaXJdLnVpZCwgZnNfcGVybXNf
dGFibGVbZGlyXS5naWQsIGRpcikKICAgICAgICAgICAgICAgIGZvciBmIGluIGZpbGVzOgogICAg
ICAgICAgICAgICAgICAgIGVhY2hfZmlsZSA9IG9zLnBhdGguam9pbihyb290LCBmKQogICAgICAg
ICAgICAgICAgICAgIGZpeF9wZXJtcyhlYWNoX2ZpbGUsIGZzX3Blcm1zX3RhYmxlW2Rpcl0uZm1v
ZGUsIGZzX3Blcm1zX3RhYmxlW2Rpcl0uZnVpZCwgZnNfcGVybXNfdGFibGVbZGlyXS5mZ2lkLCBk
aXIpCn0KCgpweXRob24gZ2VuX3BhY2thZ2V2YXIgKCkgewpkZWYgZ2VuX3BhY2thZ2V2YXIoZCk6
CiAgICByZXQgPSBbXQogICAgcGtncyA9IChkLmdldFZhcigiUEFDS0FHRVMiKSBvciAiIikuc3Bs
aXQoKQogICAgdmFycyA9IChkLmdldFZhcigiUEFDS0FHRVZBUlMiKSBvciAiIikuc3BsaXQoKQog
ICAgZm9yIHAgaW4gcGtnczoKICAgICAgICBmb3IgdiBpbiB2YXJzOgogICAgICAgICAgICByZXQu
YXBwZW5kKHYgKyAiXyIgKyBwKQoKICAgICAgICAjIEVuc3VyZSB0aGF0IGNoYW5nZXMgdG8gSU5D
T01QQVRJQkxFX0xJQ0VOU0UgcmUtcnVuIGRvX3BhY2thZ2UgZm9yCiAgICAgICAgIyBhZmZlY3Rl
ZCByZWNpcGVzLgogICAgICAgIHJldC5hcHBlbmQoJ0xJQ0VOU0VfRVhDTFVTSU9OLSVzJyAlIHAp
CiAgICByZXR1cm4gIiAiLmpvaW4ocmV0KQp9CgoKcHl0aG9uIGdlbmVyYXRlX3NzdGF0ZWZuICgp
IHsKZGVmIGdlbmVyYXRlX3NzdGF0ZWZuKHNwZWMsIGhhc2gsIGQpOgogICAgaWYgbm90IGhhc2g6
CiAgICAgICAgaGFzaCA9ICJJTlZBTElEIgogICAgcmV0dXJuIGhhc2hbOjJdICsgIi8iICsgc3Bl
YyArIGhhc2gKfQoKCnB5dGhvbiBnZXRfYm9vdF9kZXBlbmRlbmNpZXMgKCkgewpkZWYgZ2V0X2Jv
b3RfZGVwZW5kZW5jaWVzKGQpOgogICAgIiIiCiAgICBSZXR1cm4gdGhlIGRlcGVuZGVuY2llcyBm
cm9tIGJvb3QgdGFza3MKICAgICIiIgoKICAgIGRlcGVuZHMgPSBbXQogICAgYm9vdF9kZXBlbmRz
X3N0cmluZyA9ICIiCiAgICB0YXNrZGVwZGF0YSA9IGQuZ2V0VmFyKCJCQl9UQVNLREVQREFUQSIs
IEZhbHNlKQogICAgIyBPbmx5IGJvb3RpbWcgYW5kIGJvb3RkaXJlY3RkaXNrIGluY2x1ZGUgdGhl
IGRlcGVuZHMgZmxhZwogICAgYm9vdF90YXNrcyA9IFsiZG9fYm9vdGltZyIsICJkb19ib290ZGly
ZWN0ZGlzayIsXQoKICAgIGZvciB0YXNrIGluIGJvb3RfdGFza3M6CiAgICAgICAgYm9vdF9kZXBl
bmRzX3N0cmluZyA9ICIlcyAlcyIgJSAoYm9vdF9kZXBlbmRzX3N0cmluZywKICAgICAgICAgICAg
ICAgIGQuZ2V0VmFyRmxhZyh0YXNrLCAiZGVwZW5kcyIpIG9yICIiKQogICAgYm9vdF9kZXBlbmRz
ID0gW2RlcC5zcGxpdCgiOiIpWzBdIGZvciBkZXAKICAgICAgICAgICAgICAgIGluIGJvb3RfZGVw
ZW5kc19zdHJpbmcuc3BsaXQoKQogICAgICAgICAgICAgICAgaWYgbm90IGRlcC5zcGxpdCgiOiIp
WzBdLmVuZHN3aXRoKCItbmF0aXZlIildCiAgICBmb3IgZGVwIGluIGJvb3RfZGVwZW5kczoKICAg
ICAgICBpbmZvX2ZpbGUgPSBvcy5wYXRoLmpvaW4oZC5nZXRWYXIoIkxJQ0VOU0VfRElSRUNUT1JZ
IiksCiAgICAgICAgICAgICAgICBkZXAsICJyZWNpcGVpbmZvIikKICAgICAgICAjIElmIHRoZSBy
ZWNpcGUgYW5kIGRlcGVuZGVuY3kgbmFtZSBpcyB0aGUgc2FtZQogICAgICAgIGlmIG9zLnBhdGgu
ZXhpc3RzKGluZm9fZmlsZSk6CiAgICAgICAgICAgIGRlcGVuZHMuYXBwZW5kKGRlcCkKICAgICAg
ICAjIFdlIG5lZWQgdG8gc2VhcmNoIGZvciB0aGUgcHJvdmlkZXIgb2YgdGhlIGRlcGVuZGVuY3kK
ICAgICAgICBlbHNlOgogICAgICAgICAgICBmb3IgdGFza2RlcCBpbiB0YXNrZGVwZGF0YS52YWx1
ZXMoKToKICAgICAgICAgICAgICAgICMgVGhlIGZpZnRoIGZpZWxkIGNvbnRhaW5zIHdoYXQgdGhl
IHRhc2sgcHJvdmlkZXMKICAgICAgICAgICAgICAgIGlmIGRlcCBpbiB0YXNrZGVwWzRdOgogICAg
ICAgICAgICAgICAgICAgIGluZm9fZmlsZSA9IG9zLnBhdGguam9pbigKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGQuZ2V0VmFyKCJMSUNFTlNFX0RJUkVDVE9SWSIpLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdGFza2RlcFswXSwgInJlY2lwZWluZm8iKQogICAgICAgICAgICAgICAg
ICAgIGlmIG9zLnBhdGguZXhpc3RzKGluZm9fZmlsZSk6CiAgICAgICAgICAgICAgICAgICAgICAg
IGRlcGVuZHMuYXBwZW5kKHRhc2tkZXBbMF0pCiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFr
CiAgICByZXR1cm4gZGVwZW5kc30KCgpweXRob24gZ2V0X2J1aWxkcHJvY2Vzc19jcHV0aW1lICgp
IHsKZGVmIGdldF9idWlsZHByb2Nlc3NfY3B1dGltZShwaWQpOgogICAgd2l0aCBvcGVuKCIvcHJv
Yy8lZC9zdGF0IiAlIHBpZCwgInIiKSBhcyBmOgogICAgICAgIGZpZWxkcyA9IGYucmVhZGxpbmUo
KS5yc3RyaXAoKS5zcGxpdCgpCiAgICAjIDEzOiB1dGltZSwgMTQ6IHN0aW1lLCAxNTogY3V0aW1l
LCAxNjogY3N0aW1lCiAgICByZXR1cm4gc3VtKGludChmaWVsZCkgZm9yIGZpZWxkIGluIGZpZWxk
c1sxMzoxNl0pCn0KCgpweXRob24gZ2V0X2J1aWxkdGltZWRhdGEgKCkgewpkZWYgZ2V0X2J1aWxk
dGltZWRhdGEodmFyLCBkKToKICAgIGltcG9ydCB0aW1lCiAgICB0aW1lZGF0YSA9IGQuZ2V0VmFy
KHZhciwgRmFsc2UpCiAgICBpZiB0aW1lZGF0YSBpcyBOb25lOgogICAgICAgIHJldHVybgogICAg
b2xkdGltZSwgb2xkY3B1LCBvbGRwcm9jID0gdGltZWRhdGEKICAgIHByb2NkaWZmID0gZ2V0X2J1
aWxkcHJvY2Vzc19jcHV0aW1lKG9zLmdldHBpZCgpKSAtIG9sZHByb2MKICAgIGNwdWRpZmYgPSBn
ZXRfY3B1dGltZSgpIC0gb2xkY3B1CiAgICBlbmRfdGltZSA9IHRpbWUudGltZSgpCiAgICB0aW1l
ZGlmZiA9IGVuZF90aW1lIC0gb2xkdGltZQogICAgaWYgY3B1ZGlmZiA+IDA6CiAgICAgICAgY3B1
cGVyYyA9IGZsb2F0KHByb2NkaWZmKSAqIDEwMCAvIGNwdWRpZmYKICAgIGVsc2U6CiAgICAgICAg
Y3B1cGVyYyA9IE5vbmUKICAgIHJldHVybiB0aW1lZGlmZiwgY3B1cGVyYwp9CgoKcHl0aG9uIGdl
dF9jb25mZmlsZXMgKCkgewpkZWYgZ2V0X2NvbmZmaWxlcyhwa2csIGQpOgogICAgcGtnZGVzdCA9
IGQuZ2V0VmFyKCdQS0dERVNUJykKICAgIHJvb3QgPSBvcy5wYXRoLmpvaW4ocGtnZGVzdCwgcGtn
KQogICAgY3dkID0gb3MuZ2V0Y3dkKCkKICAgIG9zLmNoZGlyKHJvb3QpCgogICAgY29uZmZpbGVz
ID0gZC5nZXRWYXIoJ0NPTkZGSUxFU18lcycgJSBwa2cpOwogICAgaWYgY29uZmZpbGVzID09IE5v
bmU6CiAgICAgICAgY29uZmZpbGVzID0gZC5nZXRWYXIoJ0NPTkZGSUxFUycpCiAgICBpZiBjb25m
ZmlsZXMgPT0gTm9uZToKICAgICAgICBjb25mZmlsZXMgPSAiIgogICAgY29uZmZpbGVzID0gY29u
ZmZpbGVzLnNwbGl0KCkKICAgIGNvbmZfb3JpZ19saXN0ID0gZmlsZXNfZnJvbV9maWxldmFycyhj
b25mZmlsZXMpWzBdCgogICAgIyBSZW1vdmUgbGlua3MgYW5kIGRpcmVjdG9yaWVzIGZyb20gY29u
Zl9vcmlnX2xpc3QgdG8gZ2V0IGNvbmZfbGlzdCB3aGljaCBvbmx5IGNvbnRhaW5zIG5vcm1hbCBm
aWxlcwogICAgY29uZl9saXN0ID0gW10KICAgIGZvciBmIGluIGNvbmZfb3JpZ19saXN0OgogICAg
ICAgIGlmIG9zLnBhdGguaXNkaXIoZik6CiAgICAgICAgICAgIGNvbnRpbnVlCiAgICAgICAgaWYg
b3MucGF0aC5pc2xpbmsoZik6CiAgICAgICAgICAgIGNvbnRpbnVlCiAgICAgICAgaWYgbm90IG9z
LnBhdGguZXhpc3RzKGYpOgogICAgICAgICAgICBjb250aW51ZQogICAgICAgIGNvbmZfbGlzdC5h
cHBlbmQoZikKCiAgICAjIFJlbW92ZSB0aGUgbGVhZGluZyAnLi8nCiAgICBmb3IgaSBpbiByYW5n
ZSgwLCBsZW4oY29uZl9saXN0KSk6CiAgICAgICAgY29uZl9saXN0W2ldID0gY29uZl9saXN0W2ld
WzE6XQoKICAgIG9zLmNoZGlyKGN3ZCkKICAgIHJldHVybiBjb25mX2xpc3QKfQoKCnB5dGhvbiBn
ZXRfY3B1dGltZSAoKSB7CmRlZiBnZXRfY3B1dGltZSgpOgogICAgd2l0aCBvcGVuKCIvcHJvYy9z
dGF0IiwgInIiKSBhcyBmOgogICAgICAgIGZpZWxkcyA9IGYucmVhZGxpbmUoKS5yc3RyaXAoKS5z
cGxpdCgpWzE6XQogICAgcmV0dXJuIHN1bShpbnQoZmllbGQpIGZvciBmaWVsZCBpbiBmaWVsZHMp
Cn0KCgpweXRob24gZ2V0X2RlcGxveWVkX2RlcGVuZGVuY2llcyAoKSB7CmRlZiBnZXRfZGVwbG95
ZWRfZGVwZW5kZW5jaWVzKGQpOgogICAgIiIiCiAgICBHZXQgYWxsIHRoZSBkZXBsb3llZCBkZXBl
bmRlbmNpZXMgb2YgYW4gaW1hZ2UKICAgICIiIgoKICAgIGRlcGxveSA9IHt9CiAgICAjIEdldCBh
bGwgdGhlIGRlcGVuZGVuY2llcyBmb3IgdGhlIGN1cnJlbnQgdGFzayAocm9vdGZzKS4KICAgICMg
QWxzbyBnZXQgRVhUUkFfSU1BR0VERVBFTkRTIGJlY2F1c2UgdGhlIGJvb3Rsb2FkZXIgaXMKICAg
ICMgdXN1YWxseSBpbiB0aGlzIHZhciBhbmQgbm90IGxpc3RlZCBpbiByb290ZnMuCiAgICAjIEF0
IGxhc3QsIGdldCB0aGUgZGVwZW5kZW5jaWVzIGZyb20gYm9vdCBjbGFzc2VzIGJlY2F1c2UKICAg
ICMgaXQgbWlnaHQgY29udGFpbiB0aGUgYm9vdGxvYWRlci4KICAgIHRhc2tkYXRhID0gZC5nZXRW
YXIoIkJCX1RBU0tERVBEQVRBIiwgRmFsc2UpCiAgICBkZXBlbmRzID0gbGlzdChzZXQoW2RlcFsw
XSBmb3IgZGVwCiAgICAgICAgICAgICAgICAgICAgaW4gbGlzdCh0YXNrZGF0YS52YWx1ZXMoKSkK
ICAgICAgICAgICAgICAgICAgICBpZiBub3QgZGVwWzBdLmVuZHN3aXRoKCItbmF0aXZlIildKSkK
ICAgIGV4dHJhX2RlcGVuZHMgPSBkLmdldFZhcigiRVhUUkFfSU1BR0VERVBFTkRTIikKICAgIGJv
b3RfZGVwZW5kcyA9IGdldF9ib290X2RlcGVuZGVuY2llcyhkKQogICAgZGVwZW5kcy5leHRlbmQo
ZXh0cmFfZGVwZW5kcy5zcGxpdCgpKQogICAgZGVwZW5kcy5leHRlbmQoYm9vdF9kZXBlbmRzKQog
ICAgZGVwZW5kcyA9IGxpc3Qoc2V0KGRlcGVuZHMpKQoKICAgICMgVG8gdmVyaWZ5IHdoYXQgd2Fz
IGRlcGxveWVkIGl0IGNoZWNrcyB0aGUgcm9vdGZzIGRlcGVuZGVuY2llcyBhZ2FpbnN0CiAgICAj
IHRoZSBTU1RBVEVfTUFOSUZFU1RTIGZvciAiZGVwbG95IiB0YXNrLgogICAgIyBUaGUgbWFuaWZl
c3QgZmlsZSBuYW1lIGNvbnRhaW5zIHRoZSBhcmNoLiBCZWNhdXNlIHdlIGFyZSBub3QgcnVubmlu
ZwogICAgIyBpbiB0aGUgcmVjaXBlIGNvbnRleHQgaXQgaXMgbmVjZXNzYXJ5IHRvIGNoZWNrIGV2
ZXJ5IGFyY2ggdXNlZC4KICAgIHNzdGF0ZV9tYW5pZmVzdF9kaXIgPSBkLmdldFZhcigiU1NUQVRF
X01BTklGRVNUUyIpCiAgICBzc3RhdGVfYXJjaHMgPSBkLmdldFZhcigiU1NUQVRFX0FSQ0hTIikK
ICAgIGV4dHJhX2FyY2hzID0gZC5nZXRWYXIoIlBBQ0tBR0VfRVhUUkFfQVJDSFMiKQogICAgYXJj
aHMgPSBsaXN0KHNldCgoIiVzICVzIiAlIChzc3RhdGVfYXJjaHMsIGV4dHJhX2FyY2hzKSkuc3Bs
aXQoKSkpCiAgICBmb3IgZGVwIGluIGRlcGVuZHM6CiAgICAgICAgIyBTb21lIHJlY2lwZXMgaGF2
ZSBhbiBhcmNoIG9uIHRoZWlyIG93biwgc28gd2UgdHJ5IHRoYXQgZmlyc3QuCiAgICAgICAgc3Bl
Y2lhbF9hcmNoID0gZC5nZXRWYXIoIlBBQ0tBR0VfQVJDSF9wbi0lcyIgJSBkZXApCiAgICAgICAg
aWYgc3BlY2lhbF9hcmNoOgogICAgICAgICAgICBzc3RhdGVfbWFuaWZlc3RfZmlsZSA9IG9zLnBh
dGguam9pbihzc3RhdGVfbWFuaWZlc3RfZGlyLAogICAgICAgICAgICAgICAgICAgICJtYW5pZmVz
dC0lcy0lcy5kZXBsb3kiICUgKHNwZWNpYWxfYXJjaCwgZGVwKSkKICAgICAgICAgICAgaWYgb3Mu
cGF0aC5leGlzdHMoc3N0YXRlX21hbmlmZXN0X2ZpbGUpOgogICAgICAgICAgICAgICAgZGVwbG95
W2RlcF0gPSBzc3RhdGVfbWFuaWZlc3RfZmlsZQogICAgICAgICAgICAgICAgY29udGludWUKCiAg
ICAgICAgZm9yIGFyY2ggaW4gYXJjaHM6CiAgICAgICAgICAgIHNzdGF0ZV9tYW5pZmVzdF9maWxl
ID0gb3MucGF0aC5qb2luKHNzdGF0ZV9tYW5pZmVzdF9kaXIsCiAgICAgICAgICAgICAgICAgICAg
Im1hbmlmZXN0LSVzLSVzLmRlcGxveSIgJSAoYXJjaCwgZGVwKSkKICAgICAgICAgICAgaWYgb3Mu
cGF0aC5leGlzdHMoc3N0YXRlX21hbmlmZXN0X2ZpbGUpOgogICAgICAgICAgICAgICAgZGVwbG95
W2RlcF0gPSBzc3RhdGVfbWFuaWZlc3RfZmlsZQogICAgICAgICAgICAgICAgYnJlYWsKCiAgICBy
ZXR1cm4gZGVwbG95fQoKCnB5dGhvbiBnZXRfZGVwbG95ZWRfZmlsZXMgKCkgewpkZWYgZ2V0X2Rl
cGxveWVkX2ZpbGVzKG1hbl9maWxlKToKICAgICIiIgogICAgR2V0IHRoZSBmaWxlcyBkZXBsb3ll
ZCBmcm9tIHRoZSBzc3RhdGUgbWFuaWZlc3QKICAgICIiIgoKICAgIGRlcF9maWxlcyA9IFtdCiAg
ICBleGNsdWRlZF9maWxlcyA9IFtdCiAgICB3aXRoIG9wZW4obWFuX2ZpbGUsICJyIikgYXMgbWFu
aWZlc3Q6CiAgICAgICAgYWxsX2ZpbGVzID0gbWFuaWZlc3QucmVhZCgpCiAgICBmb3IgZiBpbiBh
bGxfZmlsZXMuc3BsaXRsaW5lcygpOgogICAgICAgIGlmICgobm90IChvcy5wYXRoLmlzbGluayhm
KSBvciBvcy5wYXRoLmlzZGlyKGYpKSkgYW5kCiAgICAgICAgICAgICAgICBub3Qgb3MucGF0aC5i
YXNlbmFtZShmKSBpbiBleGNsdWRlZF9maWxlcyk6CiAgICAgICAgICAgIGRlcF9maWxlcy5hcHBl
bmQob3MucGF0aC5iYXNlbmFtZShmKSkKICAgIHJldHVybiBkZXBfZmlsZXMKfQoKCnB5dGhvbiBn
ZXRfZmlsZXN5c3RlbV9pZCAoKSB7CmRlZiBnZXRfZmlsZXN5c3RlbV9pZChwYXRoKToKICAgIHN0
YXR1cywgcmVzdWx0ID0gb2UudXRpbHMuZ2V0c3RhdHVzb3V0cHV0KCJzdGF0IC1mIC1jICclcycg
JXMiICUgKCIldCIsIHBhdGgpKQogICAgaWYgc3RhdHVzID09IDA6CiAgICAgICAgcmV0dXJuIHJl
c3VsdAogICAgZWxzZToKICAgICAgICBiYi53YXJuKCJDYW4ndCBnZXQgdGhlIGZpbGVzeXN0ZW0g
aWQgb2Y6ICVzIiAlIHBhdGgpCiAgICAgICAgcmV0dXJuIE5vbmUKfQoKCnB5dGhvbiBnZXRfbGF5
ZXJzX2JyYW5jaF9yZXYgKCkgewpkZWYgZ2V0X2xheWVyc19icmFuY2hfcmV2KGQpOgogICAgbGF5
ZXJzID0gKGQuZ2V0VmFyKCJCQkxBWUVSUyIpIG9yICIiKS5zcGxpdCgpCiAgICBsYXllcnNfYnJh
bmNoX3JldiA9IFsiJS0xN3MgPSBcIiVzOiVzXCIiICUgKG9zLnBhdGguYmFzZW5hbWUoaSksIFwK
ICAgICAgICBiYXNlX2dldF9tZXRhZGF0YV9naXRfYnJhbmNoKGksIE5vbmUpLnN0cmlwKCksIFwK
ICAgICAgICBiYXNlX2dldF9tZXRhZGF0YV9naXRfcmV2aXNpb24oaSwgTm9uZSkpIFwKICAgICAg
ICAgICAgZm9yIGkgaW4gbGF5ZXJzXQogICAgaSA9IGxlbihsYXllcnNfYnJhbmNoX3JldiktMQog
ICAgcDEgPSBsYXllcnNfYnJhbmNoX3JldltpXS5maW5kKCI9IikKICAgIHMxID0gbGF5ZXJzX2Jy
YW5jaF9yZXZbaV1bcDE6XQogICAgd2hpbGUgaSA+IDA6CiAgICAgICAgcDIgPSBsYXllcnNfYnJh
bmNoX3JldltpLTFdLmZpbmQoIj0iKQogICAgICAgIHMyPSBsYXllcnNfYnJhbmNoX3JldltpLTFd
W3AyOl0KICAgICAgICBpZiBzMSA9PSBzMjoKICAgICAgICAgICAgbGF5ZXJzX2JyYW5jaF9yZXZb
aS0xXSA9IGxheWVyc19icmFuY2hfcmV2W2ktMV1bMDpwMl0KICAgICAgICAgICAgaSAtPSAxCiAg
ICAgICAgZWxzZToKICAgICAgICAgICAgaSAtPSAxCiAgICAgICAgICAgIHAxID0gbGF5ZXJzX2Jy
YW5jaF9yZXZbaV0uZmluZCgiPSIpCiAgICAgICAgICAgIHMxPSBsYXllcnNfYnJhbmNoX3Jldltp
XVtwMTpdCiAgICByZXR1cm4gbGF5ZXJzX2JyYW5jaF9yZXYKCn0KCgpweXRob24gZ2V0X2xpYmNf
bG9jYWxlc19kZXBlbmRlbmNpZXMgKCkgewpkZWYgZ2V0X2xpYmNfbG9jYWxlc19kZXBlbmRlbmNp
ZXMoZCk6CiAgICBpZiAnbGliYy1sb2NhbGVzJyBpbiAoZC5nZXRWYXIoJ0RJU1RST19GRUFUVVJF
UycpIG9yICcnKS5zcGxpdCgpIDoKICAgICAgICByZXR1cm4gZC5nZXRWYXIoJ0xJQkNfTE9DQUxF
X0RFUEVOREVOQ0lFUycpIG9yICcnCiAgICBlbHNlOgogICAgICAgIHJldHVybiAnJ30KCgpweXRo
b24gZ2V0X2xpY19jaGVja3N1bV9maWxlX2xpc3QgKCkgewpkZWYgZ2V0X2xpY19jaGVja3N1bV9m
aWxlX2xpc3QoZCk6CiAgICBmaWxlbGlzdCA9IFtdCiAgICBsaWNfZmlsZXMgPSBkLmdldFZhcigi
TElDX0ZJTEVTX0NIS1NVTSIpIG9yICcnCiAgICB0bXBkaXIgPSBkLmdldFZhcigiVE1QRElSIikK
ICAgIHMgPSBkLmdldFZhcigiUyIpCiAgICBiID0gZC5nZXRWYXIoIkIiKQogICAgd29ya2RpciA9
IGQuZ2V0VmFyKCJXT1JLRElSIikKCiAgICB1cmxzID0gbGljX2ZpbGVzLnNwbGl0KCkKICAgIGZv
ciB1cmwgaW4gdXJsczoKICAgICAgICAjIFdlIG9ubHkgY2FyZSBhYm91dCBpdGVtcyB0aGF0IGFy
ZSBhYnNvbHV0ZSBwYXRocyBzaW5jZQogICAgICAgICMgYW55IG90aGVycyBzaG91bGQgYmUgY292
ZXJlZCBieSBTUkNfVVJJLgogICAgICAgIHRyeToKICAgICAgICAgICAgcGF0aCA9IGJiLmZldGNo
LmRlY29kZXVybCh1cmwpWzJdCiAgICAgICAgICAgIGlmIG5vdCBwYXRoOgogICAgICAgICAgICAg
ICAgcmFpc2UgYmIuZmV0Y2guTWFsZm9ybWVkVXJsKHVybCkKCiAgICAgICAgICAgIGlmIHBhdGhb
MF0gPT0gJy8nOgogICAgICAgICAgICAgICAgaWYgcGF0aC5zdGFydHN3aXRoKCh0bXBkaXIsIHMs
IGIsIHdvcmtkaXIpKToKICAgICAgICAgICAgICAgICAgICBjb250aW51ZQogICAgICAgICAgICAg
ICAgZmlsZWxpc3QuYXBwZW5kKHBhdGggKyAiOiIgKyBzdHIob3MucGF0aC5leGlzdHMocGF0aCkp
KQogICAgICAgIGV4Y2VwdCBiYi5mZXRjaC5NYWxmb3JtZWRVcmw6CiAgICAgICAgICAgIGJiLmZh
dGFsKGQuZ2V0VmFyKCdQTicpICsgIjogTElDX0ZJTEVTX0NIS1NVTSBjb250YWlucyBhbiBpbnZh
bGlkIFVSTDogIiArIHVybCkKICAgIHJldHVybiAiICIuam9pbihmaWxlbGlzdCkKfQoKCnB5dGhv
biBnZXRfbXVsdGlsaWJfZGF0YXN0b3JlICgpIHsKZGVmIGdldF9tdWx0aWxpYl9kYXRhc3RvcmUo
dmFyaWFudCwgZCk6CiAgICBsb2NhbGRhdGEgPSBiYi5kYXRhLmNyZWF0ZUNvcHkoZCkKICAgIG92
ZXJyaWRlcyA9IGxvY2FsZGF0YS5nZXRWYXIoIk9WRVJSSURFUyIsIEZhbHNlKSArICI6dmlydGNs
YXNzLW11bHRpbGliLSIgKyB2YXJpYW50CiAgICBsb2NhbGRhdGEuc2V0VmFyKCJPVkVSUklERVMi
LCBvdmVycmlkZXMpCiAgICBsb2NhbGRhdGEuc2V0VmFyKCJNTFBSRUZJWCIsIHZhcmlhbnQgKyAi
LSIpCiAgICByZXR1cm4gbG9jYWxkYXRhCn0KCgpweXRob24gZ2V0X3BhY2thZ2VfYWRkaXRpb25h
bF9tZXRhZGF0YSAoKSB7CmRlZiBnZXRfcGFja2FnZV9hZGRpdGlvbmFsX21ldGFkYXRhIChwa2df
dHlwZSwgZCk6CiAgICBiYXNlX2tleSA9ICJQQUNLQUdFX0FERF9NRVRBREFUQSIKICAgIGZvciBr
ZXkgaW4gKCIlc18lcyIgJSAoYmFzZV9rZXksIHBrZ190eXBlLnVwcGVyKCkpLCBiYXNlX2tleSk6
CiAgICAgICAgaWYgZC5nZXRWYXIoa2V5LCBGYWxzZSkgaXMgTm9uZToKICAgICAgICAgICAgY29u
dGludWUKICAgICAgICBkLnNldFZhckZsYWcoa2V5LCAidHlwZSIsICJsaXN0IikKICAgICAgICBp
ZiBkLmdldFZhckZsYWcoa2V5LCAic2VwYXJhdG9yIikgaXMgTm9uZToKICAgICAgICAgICAgZC5z
ZXRWYXJGbGFnKGtleSwgInNlcGFyYXRvciIsICJcXG4iKQogICAgICAgIG1ldGFkYXRhX2ZpZWxk
cyA9IFtmaWVsZC5zdHJpcCgpIGZvciBmaWVsZCBpbiBvZS5kYXRhLnR5cGVkX3ZhbHVlKGtleSwg
ZCldCiAgICAgICAgcmV0dXJuICJcbiIuam9pbihtZXRhZGF0YV9maWVsZHMpLnN0cmlwKCkKfQoK
CnB5dGhvbiBnZXRfcGFja2FnZV9tYXBwaW5nICgpIHsKZGVmIGdldF9wYWNrYWdlX21hcHBpbmcg
KHBrZywgYmFzZXBrZywgZCk6CiAgICBpbXBvcnQgb2UucGFja2FnZWRhdGEKCiAgICBkYXRhID0g
b2UucGFja2FnZWRhdGEucmVhZF9zdWJwa2dkYXRhKHBrZywgZCkKICAgIGtleSA9ICJQS0dfJXMi
ICUgcGtnCgogICAgaWYga2V5IGluIGRhdGE6CiAgICAgICAgIyBIYXZlIHRvIGF2b2lkIHVuZG9p
bmcgdGhlIHdyaXRlX2V4dHJhX3BrZ3MoZ2xvYmFsX3ZhcmlhbnRzLi4uKQogICAgICAgIGlmIGJi
LmRhdGEuaW5oZXJpdHNfY2xhc3MoJ2FsbGFyY2gnLCBkKSBhbmQgZGF0YVtrZXldID09IGJhc2Vw
a2c6CiAgICAgICAgICAgIHJldHVybiBwa2cKICAgICAgICByZXR1cm4gZGF0YVtrZXldCgogICAg
cmV0dXJuIHBrZwp9CgoKcHl0aG9uIGdldF9wcm9jZXNzX2NwdXRpbWUgKCkgewpkZWYgZ2V0X3By
b2Nlc3NfY3B1dGltZShwaWQpOgogICAgaW1wb3J0IHJlc291cmNlCiAgICB3aXRoIG9wZW4oIi9w
cm9jLyVkL3N0YXQiICUgcGlkLCAiciIpIGFzIGY6CiAgICAgICAgZmllbGRzID0gZi5yZWFkbGlu
ZSgpLnJzdHJpcCgpLnNwbGl0KCkKICAgIHN0YXRzID0gewogICAgICAgICd1dGltZScgIDogZmll
bGRzWzEzXSwKICAgICAgICAnc3RpbWUnICA6IGZpZWxkc1sxNF0sCiAgICAgICAgJ2N1dGltZScg
OiBmaWVsZHNbMTVdLAogICAgICAgICdjc3RpbWUnIDogZmllbGRzWzE2XSwKICAgIH0KICAgIGlv
c3RhdHMgPSB7fQogICAgaWYgb3MucGF0aC5pc2ZpbGUoIi9wcm9jLyVkL2lvIiAlIHBpZCk6CiAg
ICAgICAgd2l0aCBvcGVuKCIvcHJvYy8lZC9pbyIgJSBwaWQsICJyIikgYXMgZjoKICAgICAgICAg
ICAgd2hpbGUgVHJ1ZToKICAgICAgICAgICAgICAgIGkgPSBmLnJlYWRsaW5lKCkuc3RyaXAoKQog
ICAgICAgICAgICAgICAgaWYgbm90IGk6CiAgICAgICAgICAgICAgICAgICAgYnJlYWsKICAgICAg
ICAgICAgICAgIGlmIG5vdCAiOiIgaW4gaToKICAgICAgICAgICAgICAgICAgICAjIG9uZSBtb3Jl
IGV4dHJhIGxpbmUgaXMgYXBwZW5kZWQgKGVtcHR5IG9yIGNvbnRhaW5pbmcgIjAiKQogICAgICAg
ICAgICAgICAgICAgICMgbW9zdCBwcm9iYWJseSBkdWUgdG8gcmFjZSBjb25kaXRpb24gaW4ga2Vy
bmVsIHdoaWxlCiAgICAgICAgICAgICAgICAgICAgIyB1cGRhdGluZyBJTyBzdGF0cwogICAgICAg
ICAgICAgICAgICAgIGJyZWFrCiAgICAgICAgICAgICAgICBpID0gaS5zcGxpdCgiOiAiKQogICAg
ICAgICAgICAgICAgaW9zdGF0c1tpWzBdXSA9IGlbMV0KICAgIHJlc291cmNlcyA9IHJlc291cmNl
LmdldHJ1c2FnZShyZXNvdXJjZS5SVVNBR0VfU0VMRikKICAgIGNoaWxkcmVzID0gcmVzb3VyY2Uu
Z2V0cnVzYWdlKHJlc291cmNlLlJVU0FHRV9DSElMRFJFTikKICAgIHJldHVybiBzdGF0cywgaW9z
dGF0cywgcmVzb3VyY2VzLCBjaGlsZHJlcwp9CgoKcHl0aG9uIGdldF9yZWNpcGVfaW5mbyAoKSB7
CmRlZiBnZXRfcmVjaXBlX2luZm8oZCk6CiAgICBpbmZvID0ge30KICAgIGluZm9bIlBWIl0gPSBk
LmdldFZhcigiUFYiKQogICAgaW5mb1siUFIiXSA9IGQuZ2V0VmFyKCJQUiIpCiAgICBpbmZvWyJM
SUNFTlNFIl0gPSBkLmdldFZhcigiTElDRU5TRSIpCiAgICByZXR1cm4gaW5mbwp9CgoKcHl0aG9u
IGdldF90aW1lZGF0YSAoKSB7CmRlZiBnZXRfdGltZWRhdGEodmFyLCBkLCBlbmRfdGltZSk6CiAg
ICBvbGR0aW1lID0gZC5nZXRWYXIodmFyLCBGYWxzZSkKICAgIGlmIG9sZHRpbWUgaXMgTm9uZToK
ICAgICAgICByZXR1cm4KICAgIHJldHVybiBlbmRfdGltZSAtIG9sZHRpbWUKfQoKCnB5dGhvbiBp
bmNvbXBhdGlibGVfbGljZW5zZSAoKSB7CmRlZiBpbmNvbXBhdGlibGVfbGljZW5zZShkLCBkb250
X3dhbnRfbGljZW5zZXMsIHBhY2thZ2U9Tm9uZSk6CiAgICAiIiIKICAgIFRoaXMgZnVuY3Rpb24g
Y2hlY2tzIGlmIGEgcmVjaXBlIGhhcyBvbmx5IGluY29tcGF0aWJsZSBsaWNlbnNlcy4gSXQgYWxz
bwogICAgdGFrZSBpbnRvIGNvbnNpZGVyYXRpb24gJ29yJyBvcGVyYW5kLiAgZG9udF93YW50X2xp
Y2Vuc2VzIHNob3VsZCBiZSBwYXNzZWQKICAgIGFzIGNhbm9uaWNhbCAoU1BEWCkgbmFtZXMuCiAg
ICAiIiIKICAgIGltcG9ydCBvZS5saWNlbnNlCiAgICBsaWNlbnNlID0gZC5nZXRWYXIoIkxJQ0VO
U0VfJXMiICUgcGFja2FnZSkgaWYgcGFja2FnZSBlbHNlIE5vbmUKICAgIGlmIG5vdCBsaWNlbnNl
OgogICAgICAgIGxpY2Vuc2UgPSBkLmdldFZhcignTElDRU5TRScpCgogICAgIyBIYW5kbGVzIGFu
ICJvciIgb3IgdHdvIGxpY2Vuc2Ugc2V0cyBwcm92aWRlZCBieQogICAgIyBmbGF0dGVuZWRfbGlj
ZW5zZXMoKSwgcGljayBvbmUgdGhhdCB3b3JrcyBpZiBwb3NzaWJsZS4KICAgIGRlZiBjaG9vc2Vf
bGljX3NldChhLCBiKToKICAgICAgICByZXR1cm4gYSBpZiBhbGwob2UubGljZW5zZS5saWNlbnNl
X29rKGNhbm9uaWNhbF9saWNlbnNlKGQsIGxpYyksCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBkb250X3dhbnRfbGljZW5zZXMpIGZvciBsaWMgaW4gYSkgZWxzZSBiCgogICAgdHJ5OgogICAg
ICAgIGxpY2Vuc2VzID0gb2UubGljZW5zZS5mbGF0dGVuZWRfbGljZW5zZXMobGljZW5zZSwgY2hv
b3NlX2xpY19zZXQpCiAgICBleGNlcHQgb2UubGljZW5zZS5MaWNlbnNlRXJyb3IgYXMgZXhjOgog
ICAgICAgIGJiLmZhdGFsKCclczogJXMnICUgKGQuZ2V0VmFyKCdQJyksIGV4YykpCiAgICByZXR1
cm4gYW55KG5vdCBvZS5saWNlbnNlLmxpY2Vuc2Vfb2soY2Fub25pY2FsX2xpY2Vuc2UoZCwgbCks
IFwKCQlkb250X3dhbnRfbGljZW5zZXMpIGZvciBsIGluIGxpY2Vuc2VzKQp9CgoKcHl0aG9uIGlu
Y29tcGF0aWJsZV9saWNlbnNlX2NvbnRhaW5zICgpIHsKZGVmIGluY29tcGF0aWJsZV9saWNlbnNl
X2NvbnRhaW5zKGxpY2Vuc2UsIHRydWV2YWx1ZSwgZmFsc2V2YWx1ZSwgZCk6CiAgICBsaWNlbnNl
ID0gY2Fub25pY2FsX2xpY2Vuc2UoZCwgbGljZW5zZSkKICAgIGJhZF9saWNlbnNlcyA9IChkLmdl
dFZhcignSU5DT01QQVRJQkxFX0xJQ0VOU0UnKSBvciAiIikuc3BsaXQoKQogICAgYmFkX2xpY2Vu
c2VzID0gZXhwYW5kX3dpbGRjYXJkX2xpY2Vuc2VzKGQsIGJhZF9saWNlbnNlcykKICAgIHJldHVy
biB0cnVldmFsdWUgaWYgbGljZW5zZSBpbiBiYWRfbGljZW5zZXMgZWxzZSBmYWxzZXZhbHVlCn0K
CgpweXRob24gaXNfbWFjaGluZV9zcGVjaWZpYyAoKSB7CmRlZiBpc19tYWNoaW5lX3NwZWNpZmlj
KGQpOgogICAgIiIiRGV0ZXJtaW5lIHdoZXRoZXIgdGhlIGN1cnJlbnQgcmVjaXBlIGlzIG1hY2hp
bmUgc3BlY2lmaWMiIiIKICAgIG1hY2hpbmVwYXRocyA9IHNldChtYWNoaW5lX3BhdGhzKGQpKQog
ICAgc3JjdXJpID0gZC5nZXRWYXIoIlNSQ19VUkkiKS5zcGxpdCgpCiAgICBmb3IgdXJsIGluIHNy
Y3VyaToKICAgICAgICBmZXRjaGVyID0gYmIuZmV0Y2gyLkZldGNoKFtzcmN1cmldLCBkKQogICAg
ICAgIGlmIHVybC5zdGFydHN3aXRoKCJmaWxlOi8vIik6CiAgICAgICAgICAgIGlmIGFueShmZXRj
aGVyLmxvY2FscGF0aCh1cmwpLnN0YXJ0c3dpdGgobXAgKyAiLyIpIGZvciBtcCBpbiBtYWNoaW5l
cGF0aHMpOgogICAgICAgICAgICAgICAgcmV0dXJuIFRydWUKfQoKCnB5dGhvbiBsZWdpdGltaXpl
X3BhY2thZ2VfbmFtZSAoKSB7CmRlZiBsZWdpdGltaXplX3BhY2thZ2VfbmFtZShzKToKICAgICIi
IgogICAgTWFrZSBzdXJlIHBhY2thZ2UgbmFtZXMgYXJlIGxlZ2l0aW1hdGUgc3RyaW5ncwogICAg
IiIiCiAgICBpbXBvcnQgcmUKCiAgICBkZWYgZml4dXRmKG0pOgogICAgICAgIGNwID0gbS5ncm91
cCgxKQogICAgICAgIGlmIGNwOgogICAgICAgICAgICByZXR1cm4gKCdcXHUlcycgJSBjcCkuZW5j
b2RlKCdsYXRpbi0xJykuZGVjb2RlKCd1bmljb2RlX2VzY2FwZScpCgogICAgIyBIYW5kbGUgdW5p
Y29kZSBjb2RlcG9pbnRzIGVuY29kZWQgYXMgPFUwMTIzPiwgYXMgaW4gZ2xpYmMgbG9jYWxlIGZp
bGVzLgogICAgcyA9IHJlLnN1YignPFUoWzAtOUEtRmEtZl17MSw0fSk+JywgZml4dXRmLCBzKQoK
ICAgICMgUmVtYWluaW5nIHBhY2thZ2UgbmFtZSB2YWxpZGl0eSBmaXhlcwogICAgcmV0dXJuIHMu
bG93ZXIoKS5yZXBsYWNlKCdfJywgJy0nKS5yZXBsYWNlKCdAJywgJysnKS5yZXBsYWNlKCcsJywg
JysnKS5yZXBsYWNlKCcvJywgJy0nKQp9CgoKcHl0aG9uIGxpY2Vuc2VfY3JlYXRlX21hbmlmZXN0
ICgpIHsKICAgIGltcG9ydCBvZS5wYWNrYWdlZGF0YQogICAgZnJvbSBvZS5yb290ZnMgaW1wb3J0
IGltYWdlX2xpc3RfaW5zdGFsbGVkX3BhY2thZ2VzCgogICAgYnVpbGRfaW1hZ2VzX2Zyb21fZmVl
ZHMgPSBkLmdldFZhcignQlVJTERfSU1BR0VTX0ZST01fRkVFRFMnKQogICAgaWYgYnVpbGRfaW1h
Z2VzX2Zyb21fZmVlZHMgPT0gIjEiOgogICAgICAgIHJldHVybiAwCgogICAgcGtnX2RpYyA9IHt9
CiAgICBmb3IgcGtnIGluIHNvcnRlZChpbWFnZV9saXN0X2luc3RhbGxlZF9wYWNrYWdlcyhkKSk6
CiAgICAgICAgcGtnX2luZm8gPSBvcy5wYXRoLmpvaW4oZC5nZXRWYXIoJ1BLR0RBVEFfRElSJyks
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3J1bnRpbWUtcmV2ZXJzZScsIHBrZykK
ICAgICAgICBwa2dfbmFtZSA9IG9zLnBhdGguYmFzZW5hbWUob3MucmVhZGxpbmsocGtnX2luZm8p
KQoKICAgICAgICBwa2dfZGljW3BrZ19uYW1lXSA9IG9lLnBhY2thZ2VkYXRhLnJlYWRfcGtnZGF0
YWZpbGUocGtnX2luZm8pCiAgICAgICAgaWYgbm90ICJMSUNFTlNFIiBpbiBwa2dfZGljW3BrZ19u
YW1lXS5rZXlzKCk6CiAgICAgICAgICAgIHBrZ19saWNfbmFtZSA9ICJMSUNFTlNFXyIgKyBwa2df
bmFtZQogICAgICAgICAgICBwa2dfZGljW3BrZ19uYW1lXVsiTElDRU5TRSJdID0gcGtnX2RpY1tw
a2dfbmFtZV1bcGtnX2xpY19uYW1lXQoKICAgIHJvb3Rmc19saWNlbnNlX21hbmlmZXN0ID0gb3Mu
cGF0aC5qb2luKGQuZ2V0VmFyKCdMSUNFTlNFX0RJUkVDVE9SWScpLAogICAgICAgICAgICAgICAg
ICAgICAgICBkLmdldFZhcignSU1BR0VfTkFNRScpLCAnbGljZW5zZS5tYW5pZmVzdCcpCiAgICB3
cml0ZV9saWNlbnNlX2ZpbGVzKGQsIHJvb3Rmc19saWNlbnNlX21hbmlmZXN0LCBwa2dfZGljKQp9
CgoKcHl0aG9uIGxpY2Vuc2VfZGVwbG95ZWRfbWFuaWZlc3QgKCkgewpkZWYgbGljZW5zZV9kZXBs
b3llZF9tYW5pZmVzdChkKToKICAgICIiIgogICAgV3JpdGUgdGhlIGxpY2Vuc2UgbWFuaWZlc3Qg
Zm9yIHRoZSBkZXBsb3llZCByZWNpcGVzLgogICAgVGhlIGRlcGxveWVkIHJlY2lwZXMgdXN1YWxs
eSBpbmNsdWRlcyB0aGUgYm9vdGxvYWRlcgogICAgYW5kIGV4dHJhIGZpbGVzIHRvIGJvb3QgdGhl
IHRhcmdldC4KICAgICIiIgoKICAgIGRlcF9kaWMgPSB7fQogICAgbWFuX2RpYyA9IHt9CiAgICBs
aWNfZGlyID0gZC5nZXRWYXIoIkxJQ0VOU0VfRElSRUNUT1JZIikKCiAgICBkZXBfZGljID0gZ2V0
X2RlcGxveWVkX2RlcGVuZGVuY2llcyhkKQogICAgZm9yIGRlcCBpbiBkZXBfZGljLmtleXMoKToK
ICAgICAgICBtYW5fZGljW2RlcF0gPSB7fQogICAgICAgICMgSXQgaXMgbmVjZXNzYXJ5IHRvIG1h
cmsgdGhpcyB3aWxsIGJlIHVzZWQgZm9yIGltYWdlIG1hbmlmZXN0CiAgICAgICAgbWFuX2RpY1tk
ZXBdWyJJTUFHRV9NQU5JRkVTVCJdID0gVHJ1ZQogICAgICAgIG1hbl9kaWNbZGVwXVsiUE4iXSA9
IGRlcAogICAgICAgIG1hbl9kaWNbZGVwXVsiRklMRVMiXSA9IFwKICAgICAgICAgICAgIiAiLmpv
aW4oZ2V0X2RlcGxveWVkX2ZpbGVzKGRlcF9kaWNbZGVwXSkpCiAgICAgICAgd2l0aCBvcGVuKG9z
LnBhdGguam9pbihsaWNfZGlyLCBkZXAsICJyZWNpcGVpbmZvIiksICJyIikgYXMgZjoKICAgICAg
ICAgICAgZm9yIGxpbmUgaW4gZi5yZWFkbGluZXMoKToKICAgICAgICAgICAgICAgIGtleSx2YWwg
PSBsaW5lLnNwbGl0KCI6ICIsIDEpCiAgICAgICAgICAgICAgICBtYW5fZGljW2RlcF1ba2V5XSA9
IHZhbFs6LTFdCgogICAgbGljX21hbmlmZXN0X2RpciA9IG9zLnBhdGguam9pbihkLmdldFZhcign
TElDRU5TRV9ESVJFQ1RPUlknKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ZC5nZXRWYXIoJ0lNQUdFX05BTUUnKSkKICAgIGJiLnV0aWxzLm1rZGlyaGllcihsaWNfbWFuaWZl
c3RfZGlyKQogICAgaW1hZ2VfbGljZW5zZV9tYW5pZmVzdCA9IG9zLnBhdGguam9pbihsaWNfbWFu
aWZlc3RfZGlyLCAnaW1hZ2VfbGljZW5zZS5tYW5pZmVzdCcpCiAgICB3cml0ZV9saWNlbnNlX2Zp
bGVzKGQsIGltYWdlX2xpY2Vuc2VfbWFuaWZlc3QsIG1hbl9kaWMpCn0KCgpweXRob24gbHNiX2Rp
c3Ryb19pZGVudGlmaWVyICgpIHsKZGVmIGxzYl9kaXN0cm9faWRlbnRpZmllcihkKToKICAgIGFk
anVzdCA9IGQuZ2V0VmFyKCdMU0JfRElTVFJPX0FESlVTVCcpCiAgICBhZGp1c3RfZnVuYyA9IE5v
bmUKICAgIGlmIGFkanVzdDoKICAgICAgICB0cnk6CiAgICAgICAgICAgIGFkanVzdF9mdW5jID0g
Z2xvYmFscygpW2FkanVzdF0KICAgICAgICBleGNlcHQgS2V5RXJyb3I6CiAgICAgICAgICAgIHBh
c3MKICAgIHJldHVybiBvZS5sc2IuZGlzdHJvX2lkZW50aWZpZXIoYWRqdXN0X2Z1bmMpCn0KCgpw
eXRob24gbWFjaGluZV9wYXRocyAoKSB7CmRlZiBtYWNoaW5lX3BhdGhzKGQpOgogICAgIiIiTGlz
dCBhbnkgZXhpc3RpbmcgbWFjaGluZSBzcGVjaWZpYyBmaWxlc3BhdGggZGlyZWN0b3JpZXMiIiIK
ICAgIG1hY2hpbmUgPSBkLmdldFZhcigiTUFDSElORSIpCiAgICBmaWxlc3BhdGhwa2cgPSBkLmdl
dFZhcigiRklMRVNQQVRIUEtHIikuc3BsaXQoIjoiKQogICAgZm9yIGJhc2VwYXRoIGluIGQuZ2V0
VmFyKCJGSUxFU1BBVEhCQVNFIikuc3BsaXQoIjoiKToKICAgICAgICBmb3IgcGtncGF0aCBpbiBm
aWxlc3BhdGhwa2c6CiAgICAgICAgICAgIG1hY2hpbmVwYXRoID0gb3MucGF0aC5qb2luKGJhc2Vw
YXRoLCBwa2dwYXRoLCBtYWNoaW5lKQogICAgICAgICAgICBpZiBvcy5wYXRoLmlzZGlyKG1hY2hp
bmVwYXRoKToKICAgICAgICAgICAgICAgIHlpZWxkIG1hY2hpbmVwYXRoCn0KCgpweXRob24gbWFw
X2tlcm5lbF9hcmNoICgpIHsKZGVmIG1hcF9rZXJuZWxfYXJjaChhLCBkKToKICAgIGltcG9ydCBy
ZQoKICAgIHZhbGlkX2FyY2hzID0gZC5nZXRWYXIoJ3ZhbGlkX2FyY2hzJykuc3BsaXQoKQoKICAg
IGlmICAgcmUubWF0Y2goJyhpLjg2fGF0aGxvbnx4ODYuNjQpJCcsIGEpOiAgcmV0dXJuICd4ODYn
CiAgICBlbGlmIHJlLm1hdGNoKCdhcm1lYiQnLCBhKTogICAgICAgICAgICAgICAgIHJldHVybiAn
YXJtJwogICAgZWxpZiByZS5tYXRjaCgnYWFyY2g2NCQnLCBhKTogICAgICAgICAgICAgICByZXR1
cm4gJ2FybTY0JwogICAgZWxpZiByZS5tYXRjaCgnYWFyY2g2NF9iZSQnLCBhKTogICAgICAgICAg
ICByZXR1cm4gJ2FybTY0JwogICAgZWxpZiByZS5tYXRjaCgnbWlwcyhpc2F8KSgzMnw2NHwpKHI2
fCkoZWx8KSQnLCBhKTogICAgICByZXR1cm4gJ21pcHMnCiAgICBlbGlmIHJlLm1hdGNoKCdwKHBj
fG93ZXJwYykofDY0KScsIGEpOiAgICAgIHJldHVybiAncG93ZXJwYycKICAgIGVsaWYgcmUubWF0
Y2goJ3NoKDN8NCkkJywgYSk6ICAgICAgICAgICAgICAgcmV0dXJuICdzaCcKICAgIGVsaWYgcmUu
bWF0Y2goJ2JmaW4nLCBhKTogICAgICAgICAgICAgICAgICAgcmV0dXJuICdibGFja2ZpbicKICAg
IGVsaWYgcmUubWF0Y2goJ21pY3JvYmxhemVlW2JsXScsIGEpOiAgICAgICAgcmV0dXJuICdtaWNy
b2JsYXplJwogICAgZWxpZiBhIGluIHZhbGlkX2FyY2hzOiAgICAgICAgICAgICAgICAgICAgICBy
ZXR1cm4gYQogICAgZWxzZToKICAgICAgICBpZiBub3QgZC5nZXRWYXIoIlRBUkdFVF9PUyIpLnN0
YXJ0c3dpdGgoImxpbnV4Iik6CiAgICAgICAgICAgIHJldHVybiBhCiAgICAgICAgYmIuZXJyb3Io
ImNhbm5vdCBtYXAgJyVzJyB0byBhIGxpbnV4IGtlcm5lbCBhcmNoaXRlY3R1cmUiICUgYSkKfQoK
CnB5dGhvbiBtYXBfdWJvb3RfYXJjaCAoKSB7CmRlZiBtYXBfdWJvb3RfYXJjaChhLCBkKToKICAg
IGltcG9ydCByZQoKICAgIGlmICAgcmUubWF0Y2goJ3AocGN8b3dlcnBjKSh8NjQpJywgYSk6IHJl
dHVybiAncHBjJwogICAgZWxpZiByZS5tYXRjaCgnaS44NiQnLCBhKTogcmV0dXJuICd4ODYnCiAg
ICByZXR1cm4gYQp9CgoKcHl0aG9uIG1hcHBpbmdfcmVuYW1lX2hvb2sgKCkgewpkZWYgbWFwcGlu
Z19yZW5hbWVfaG9vayhkKToKICAgICIiIgogICAgUmV3cml0ZSB2YXJpYWJsZXMgdG8gYWNjb3Vu
dCBmb3IgcGFja2FnZSByZW5hbWluZyBpbiB0aGluZ3MKICAgIGxpa2UgZGViaWFuLmJiY2xhc3Mg
b3IgbWFudWFsIFBLRyB2YXJpYWJsZSBuYW1lIGNoYW5nZXMKICAgICIiIgogICAgcGtnID0gZC5n
ZXRWYXIoIlBLRyIpCiAgICBydW50aW1lX21hcHBpbmdfcmVuYW1lKCJSREVQRU5EUyIsIHBrZywg
ZCkKICAgIHJ1bnRpbWVfbWFwcGluZ19yZW5hbWUoIlJSRUNPTU1FTkRTIiwgcGtnLCBkKQogICAg
cnVudGltZV9tYXBwaW5nX3JlbmFtZSgiUlNVR0dFU1RTIiwgcGtnLCBkKX0KCgpweXRob24gbXVs
dGlsaWJfcGtnX2V4dGVuZCAoKSB7CmRlZiBtdWx0aWxpYl9wa2dfZXh0ZW5kKGQsIHBrZyk6CiAg
ICB2YXJpYW50cyA9IChkLmdldFZhcigiTVVMVElMSUJfVkFSSUFOVFMiKSBvciAiIikuc3BsaXQo
KQogICAgaWYgbm90IHZhcmlhbnRzOgogICAgICAgIHJldHVybiBwa2cKICAgIHBrZ3MgPSBwa2cK
ICAgIGZvciB2IGluIHZhcmlhbnRzOgogICAgICAgIHBrZ3MgPSBwa2dzICsgIiAiICsgdiArICIt
IiArIHBrZwogICAgcmV0dXJuIHBrZ3MKfQoKCnB5dGhvbiBvZV9maWx0ZXIgKCkgewpkZWYgb2Vf
ZmlsdGVyKGYsIHN0ciwgZCk6CiAgICByZXR1cm4gb2UudXRpbHMuc3RyX2ZpbHRlcihmLCBzdHIs
IGQpCn0KCgpweXRob24gb2VfZmlsdGVyX291dCAoKSB7CmRlZiBvZV9maWx0ZXJfb3V0KGYsIHN0
ciwgZCk6CiAgICByZXR1cm4gb2UudXRpbHMuc3RyX2ZpbHRlcl9vdXQoZiwgc3RyLCBkKQp9CgoK
cHl0aG9uIG9lX2ltcG9ydCAoKSB7CmRlZiBvZV9pbXBvcnQoZCk6CiAgICBpbXBvcnQgc3lzCgog
ICAgYmJwYXRoID0gZC5nZXRWYXIoIkJCUEFUSCIpLnNwbGl0KCI6IikKICAgIHN5cy5wYXRoWzA6
MF0gPSBbb3MucGF0aC5qb2luKGRpciwgImxpYiIpIGZvciBkaXIgaW4gYmJwYXRoXQoKICAgIGRl
ZiBpbmplY3QobmFtZSwgdmFsdWUpOgogICAgICAgICIiIk1ha2UgYSBweXRob24gb2JqZWN0IGFj
Y2Vzc2libGUgZnJvbSB0aGUgbWV0YWRhdGEiIiIKICAgICAgICBpZiBoYXNhdHRyKGJiLnV0aWxz
LCAiX2NvbnRleHQiKToKICAgICAgICAgICAgYmIudXRpbHMuX2NvbnRleHRbbmFtZV0gPSB2YWx1
ZQogICAgICAgIGVsc2U6CiAgICAgICAgICAgIF9fYnVpbHRpbnNfX1tuYW1lXSA9IHZhbHVlCgog
ICAgaW1wb3J0IG9lLmRhdGEKICAgIGZvciB0b2ltcG9ydCBpbiBvZS5kYXRhLnR5cGVkX3ZhbHVl
KCJPRV9JTVBPUlRTIiwgZCk6CiAgICAgICAgaW1wb3J0ZWQgPSBfX2ltcG9ydF9fKHRvaW1wb3J0
KQogICAgICAgIGluamVjdCh0b2ltcG9ydC5zcGxpdCgiLiIsIDEpWzBdLCBpbXBvcnRlZCkKCiAg
ICByZXR1cm4gIiIKfQoKCnB5dGhvbiBvZV90ZXJtaW5hbCAoKSB7CmRlZiBvZV90ZXJtaW5hbChj
b21tYW5kLCB0aXRsZSwgZCk6CiAgICBpbXBvcnQgb2UuZGF0YQogICAgaW1wb3J0IG9lLnRlcm1p
bmFsCgogICAgZW52ZGF0YSA9IGJiLmRhdGEuaW5pdCgpCgogICAgZm9yIHYgaW4gb3MuZW52aXJv
bjoKICAgICAgICBlbnZkYXRhLnNldFZhcih2LCBvcy5lbnZpcm9uW3ZdKQogICAgICAgIGVudmRh
dGEuc2V0VmFyRmxhZyh2LCAnZXhwb3J0JywgJzEnKQoKICAgIGZvciBleHBvcnQgaW4gb2UuZGF0
YS50eXBlZF92YWx1ZSgnT0VfVEVSTUlOQUxfRVhQT1JUUycsIGQpOgogICAgICAgIHZhbHVlID0g
ZC5nZXRWYXIoZXhwb3J0KQogICAgICAgIGlmIHZhbHVlIGlzIG5vdCBOb25lOgogICAgICAgICAg
ICBvcy5lbnZpcm9uW2V4cG9ydF0gPSBzdHIodmFsdWUpCiAgICAgICAgICAgIGVudmRhdGEuc2V0
VmFyKGV4cG9ydCwgc3RyKHZhbHVlKSkKICAgICAgICAgICAgZW52ZGF0YS5zZXRWYXJGbGFnKGV4
cG9ydCwgJ2V4cG9ydCcsICcxJykKICAgICAgICBpZiBleHBvcnQgPT0gIlBTRVVET19ESVNBQkxF
RCI6CiAgICAgICAgICAgIGlmICJQU0VVRE9fVU5MT0FEIiBpbiBvcy5lbnZpcm9uOgogICAgICAg
ICAgICAgICAgZGVsIG9zLmVudmlyb25bIlBTRVVET19VTkxPQUQiXQogICAgICAgICAgICBlbnZk
YXRhLmRlbFZhcigiUFNFVURPX1VOTE9BRCIpCgogICAgIyBBZGQgaW4gYWxsIHZhcmlhYmxlcyBm
cm9tIHRoZSB1c2VyJ3Mgb3JpZ2luYWwgZW52aXJvbm1lbnQgd2hpY2gKICAgICMgaGF2ZW4ndCBz
dWJzZXF1bnRseSBiZWVuIHNldC9jaGFuZ2VkCiAgICBvcmlnYmJlbnYgPSBkLmdldFZhcigiQkJf
T1JJR0VOViIsIEZhbHNlKSBvciB7fQogICAgZm9yIGtleSBpbiBvcmlnYmJlbnY6CiAgICAgICAg
aWYga2V5IGluIGVudmRhdGE6CiAgICAgICAgICAgIGNvbnRpbnVlCiAgICAgICAgdmFsdWUgPSBv
cmlnYmJlbnYuZ2V0VmFyKGtleSkKICAgICAgICBpZiB2YWx1ZSBpcyBub3QgTm9uZToKICAgICAg
ICAgICAgb3MuZW52aXJvbltrZXldID0gc3RyKHZhbHVlKQogICAgICAgICAgICBlbnZkYXRhLnNl
dFZhcihrZXksIHN0cih2YWx1ZSkpCiAgICAgICAgICAgIGVudmRhdGEuc2V0VmFyRmxhZyhrZXks
ICdleHBvcnQnLCAnMScpCgogICAgIyBVc2Ugb3JpZ2luYWwgUEFUSCBhcyBhIGZhbGxiYWNrCiAg
ICBwYXRoID0gZC5nZXRWYXIoJ1BBVEgnKSArICI6IiArIG9yaWdiYmVudi5nZXRWYXIoJ1BBVEgn
KQogICAgb3MuZW52aXJvblsnUEFUSCddID0gcGF0aAogICAgZW52ZGF0YS5zZXRWYXIoJ1BBVEgn
LCBwYXRoKQoKICAgICMgQSBjb21wbGV4IFBTMSBtaWdodCBuZWVkIG1vcmUgZXNjYXBpbmcgb2Yg
Y2hhcnMuCiAgICAjIExldHMgbm90IGV4cG9ydCBQUzEgaW5zdGVhZC4KICAgIGVudmRhdGEuZGVs
VmFyKCJQUzEiKQoKICAgICMgUmVwbGFjZSBjb21tYW5kIHdpdGggYW4gZXhlY3V0YWJsZSB3cmFw
cGVyIHNjcmlwdAogICAgY29tbWFuZCA9IGVtaXRfdGVybWluYWxfZnVuYyhjb21tYW5kLCBlbnZk
YXRhLCBkKQoKICAgIHRlcm1pbmFsID0gb2UuZGF0YS50eXBlZF92YWx1ZSgnT0VfVEVSTUlOQUwn
LCBkKS5sb3dlcigpCiAgICBpZiB0ZXJtaW5hbCA9PSAnbm9uZSc6CiAgICAgICAgYmIuZmF0YWwo
J0RldnNoZWxsIHVzYWdlIGRpc2FibGVkIHdpdGggT0VfVEVSTUlOQUwnKQogICAgZWxpZiB0ZXJt
aW5hbCAhPSAnYXV0byc6CiAgICAgICAgdHJ5OgogICAgICAgICAgICBvZS50ZXJtaW5hbC5zcGF3
bih0ZXJtaW5hbCwgY29tbWFuZCwgdGl0bGUsIE5vbmUsIGQpCiAgICAgICAgICAgIHJldHVybgog
ICAgICAgIGV4Y2VwdCBvZS50ZXJtaW5hbC5VbnN1cHBvcnRlZFRlcm1pbmFsOgogICAgICAgICAg
ICBiYi53YXJuKCdVbnN1cHBvcnRlZCB0ZXJtaW5hbCAiJXMiLCBkZWZhdWx0aW5nIHRvICJhdXRv
IicgJQogICAgICAgICAgICAgICAgICAgIHRlcm1pbmFsKQogICAgICAgIGV4Y2VwdCBvZS50ZXJt
aW5hbC5FeGVjdXRpb25FcnJvciBhcyBleGM6CiAgICAgICAgICAgIGJiLmZhdGFsKCdVbmFibGUg
dG8gc3Bhd24gdGVybWluYWwgJXM6ICVzJyAlICh0ZXJtaW5hbCwgZXhjKSkKCiAgICB0cnk6CiAg
ICAgICAgb2UudGVybWluYWwuc3Bhd25fcHJlZmVycmVkKGNvbW1hbmQsIHRpdGxlLCBOb25lLCBk
KQogICAgZXhjZXB0IG9lLnRlcm1pbmFsLk5vU3VwcG9ydGVkVGVybWluYWxzIGFzIG5vc3VwOgog
ICAgICAgIG5vc3VwLnRlcm1zLnJlbW92ZSgiZmFsc2UiKQogICAgICAgIGNtZHMgPSAnXG5cdCcu
am9pbihub3N1cC50ZXJtcykucmVwbGFjZSgie2NvbW1hbmR9IiwKICAgICAgICAgICAgICAgICAg
ICAiZG9fdGVybWluYWwiKS5yZXBsYWNlKCJ7dGl0bGV9IiwgdGl0bGUpCiAgICAgICAgYmIuZmF0
YWwoJ05vIHZhbGlkIHRlcm1pbmFsIGZvdW5kLCB1bmFibGUgdG8gb3BlbiBkZXZzaGVsbC5cbicg
KwogICAgICAgICAgICAgICAgJ1RyaWVkIHRoZSBmb2xsb3dpbmcgY29tbWFuZHM6XG5cdCVzJyAl
IGNtZHMpCiAgICBleGNlcHQgb2UudGVybWluYWwuRXhlY3V0aW9uRXJyb3IgYXMgZXhjOgogICAg
ICAgIGJiLmZhdGFsKCdVbmFibGUgdG8gc3Bhd24gdGVybWluYWwgJXM6ICVzJyAlICh0ZXJtaW5h
bCwgZXhjKSkKfQoKCnB5dGhvbiBvZV90ZXJtaW5hbF9wcmlvcml0aXplZCAoKSB7CmRlZiBvZV90
ZXJtaW5hbF9wcmlvcml0aXplZCgpOgogICAgaW1wb3J0IG9lLnRlcm1pbmFsCiAgICByZXR1cm4g
IiAiLmpvaW4oby5uYW1lIGZvciBvIGluIG9lLnRlcm1pbmFsLnByaW9yaXRpemVkKCkpCn0KCgpw
eXRob24gb2Vjb3JlX3VwZGF0ZV9iYmxheWVycyAoKSB7CiAgICAjIGJibGF5ZXJzLmNvbmYgaXMg
b3V0IG9mIGRhdGUsIHNvIHNlZSBpZiB3ZSBjYW4gcmVzb2x2ZSB0aGF0CgogICAgY3VycmVudF9s
Y29uZiA9IGludChkLmdldFZhcignTENPTkZfVkVSU0lPTicpKQogICAgbGNvbmZfdmVyc2lvbiA9
IGludChkLmdldFZhcignTEFZRVJfQ09ORl9WRVJTSU9OJykpCgogICAgZmFpbG1zZyA9ICIiIllv
dXIgdmVyc2lvbiBvZiBiYmxheWVycy5jb25mIGhhcyB0aGUgd3JvbmcgTENPTkZfVkVSU0lPTiAo
aGFzICR7TENPTkZfVkVSU0lPTn0sIGV4cGVjdGluZyAke0xBWUVSX0NPTkZfVkVSU0lPTn0pLgpQ
bGVhc2UgY29tcGFyZSB5b3VyIGZpbGUgYWdhaW5zdCBiYmxheWVycy5jb25mLnNhbXBsZSBhbmQg
bWVyZ2UgYW55IGNoYW5nZXMgYmVmb3JlIGNvbnRpbnVpbmcuCiIke1NBTklUWV9ESUZGX1RPT0x9
IGNvbmYvYmJsYXllcnMuY29uZiAke1NBTklUWV9CQkxBWUVSQ09ORl9TQU1QTEV9IgoKaXMgYSBn
b29kIHdheSB0byB2aXN1YWxpc2UgdGhlIGNoYW5nZXMuIiIiCiAgICBmYWlsbXNnID0gZC5leHBh
bmQoZmFpbG1zZykKCiAgICBpZiBub3QgY3VycmVudF9sY29uZjoKICAgICAgICByYWlzZSBOb3RJ
bXBsZW1lbnRlZEVycm9yKGZhaWxtc2cpCgogICAgbGluZXMgPSBbXQoKICAgIGlmIGN1cnJlbnRf
bGNvbmYgPCA0OgogICAgICAgIHJhaXNlIE5vdEltcGxlbWVudGVkRXJyb3IoZmFpbG1zZykKCiAg
ICBiYmxheWVyc19mbiA9IGJibGF5ZXJzX2NvbmZfZmlsZShkKQogICAgbGluZXMgPSBzYW5pdHlf
Y29uZl9yZWFkKGJibGF5ZXJzX2ZuKQoKICAgIGlmIGN1cnJlbnRfbGNvbmYgPT0gNCBhbmQgbGNv
bmZfdmVyc2lvbiA+IDQ6CiAgICAgICAgdG9wZGlyX3ZhciA9ICckJyArICd7VE9QRElSfScKICAg
ICAgICBpbmRleCwgYmJwYXRoX2xpbmUgPSBzYW5pdHlfY29uZl9maW5kX2xpbmUoJ0JCUEFUSCcs
IGxpbmVzKQogICAgICAgIGlmIGJicGF0aF9saW5lOgogICAgICAgICAgICBzdGFydCA9IGJicGF0
aF9saW5lLmZpbmQoJyInKQogICAgICAgICAgICBpZiBzdGFydCAhPSAtMSBhbmQgKGxlbihiYnBh
dGhfbGluZSkgIT0gKHN0YXJ0ICsgMSkpOgogICAgICAgICAgICAgICAgaWYgYmJwYXRoX2xpbmVb
c3RhcnQgKyAxXSA9PSAnIic6CiAgICAgICAgICAgICAgICAgICAgbGluZXNbaW5kZXhdID0gKGJi
cGF0aF9saW5lWzpzdGFydCArIDFdICsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdG9wZGlyX3ZhciArIGJicGF0aF9saW5lW3N0YXJ0ICsgMTpdKQogICAgICAgICAgICAgICAg
ZWxzZToKICAgICAgICAgICAgICAgICAgICBpZiBub3QgdG9wZGlyX3ZhciBpbiBiYnBhdGhfbGlu
ZToKICAgICAgICAgICAgICAgICAgICAgICAgbGluZXNbaW5kZXhdID0gKGJicGF0aF9saW5lWzpz
dGFydCArIDFdICsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9wZGlyX3Zh
ciArICc6JyArIGJicGF0aF9saW5lW3N0YXJ0ICsgMTpdKQogICAgICAgICAgICBlbHNlOgogICAg
ICAgICAgICAgICAgcmFpc2UgTm90SW1wbGVtZW50ZWRFcnJvcihmYWlsbXNnKQogICAgICAgIGVs
c2U6CiAgICAgICAgICAgIGluZGV4LCBiYmZpbGVzX2xpbmUgPSBzYW5pdHlfY29uZl9maW5kX2xp
bmUoJ0JCRklMRVMnLCBsaW5lcykKICAgICAgICAgICAgaWYgYmJmaWxlc19saW5lOgogICAgICAg
ICAgICAgICAgbGluZXMuaW5zZXJ0KGluZGV4LCAnQkJQQVRIID0gIicgKyB0b3BkaXJfdmFyICsg
JyJcbicpCiAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICByYWlzZSBOb3RJbXBsZW1l
bnRlZEVycm9yKGZhaWxtc2cpCgogICAgICAgIGN1cnJlbnRfbGNvbmYgKz0gMQogICAgICAgIHNh
bml0eV9jb25mX3VwZGF0ZShiYmxheWVyc19mbiwgbGluZXMsICdMQ09ORl9WRVJTSU9OJywgY3Vy
cmVudF9sY29uZikKICAgICAgICBiYi5ub3RlKCJZb3VyIGNvbmYvYmJsYXllcnMuY29uZiBoYXMg
YmVlbiBhdXRvbWF0aWNhbGx5IHVwZGF0ZWQuIikKICAgICAgICByZXR1cm4KCiAgICBlbGlmIGN1
cnJlbnRfbGNvbmYgPT0gNSBhbmQgbGNvbmZfdmVyc2lvbiA+IDU6CiAgICAgICAgIyBOdWxsIHVw
ZGF0ZSwgdG8gYXZvaWQgaXNzdWVzIHdpdGggcGVvcGxlIHN3aXRjaGluZyBiZXR3ZWVuIHBva3kg
YW5kIG90aGVyIGRpc3Ryb3MKICAgICAgICBjdXJyZW50X2xjb25mID0gNgogICAgICAgIHNhbml0
eV9jb25mX3VwZGF0ZShiYmxheWVyc19mbiwgbGluZXMsICdMQ09ORl9WRVJTSU9OJywgY3VycmVu
dF9sY29uZikKICAgICAgICBiYi5ub3RlKCJZb3VyIGNvbmYvYmJsYXllcnMuY29uZiBoYXMgYmVl
biBhdXRvbWF0aWNhbGx5IHVwZGF0ZWQuIikKICAgICAgICByZXR1cm4KCiAgICAgICAgc3RhdHVz
LmFkZHJlc3VsdCgpCgogICAgZWxpZiBjdXJyZW50X2xjb25mID09IDYgYW5kIGxjb25mX3ZlcnNp
b24gPiA2OgogICAgICAgICMgSGFuZGxlIHJlbmFtZSBvZiBtZXRhLXlvY3RvIC0+IG1ldGEtcG9r
eQogICAgICAgICMgVGhpcyBtYXJrcyB0aGUgc3RhcnQgb2Ygc2VwYXJhdGUgdmVyc2lvbiBudW1i
ZXJzIGJ1dCBjb2RlIGlzIG5lZWRlZCBpbiBPRS1Db3JlCiAgICAgICAgIyBmb3IgdGhlIG1pZ3Jh
dGlvbiwgb25lIGxhc3QgdGltZS4KICAgICAgICBsYXllcnMgPSBkLmdldFZhcignQkJMQVlFUlMn
KS5zcGxpdCgpCiAgICAgICAgbGF5ZXJzID0gWyBvcy5wYXRoLmJhc2VuYW1lKHBhdGgpIGZvciBw
YXRoIGluIGxheWVycyBdCiAgICAgICAgaWYgJ21ldGEteW9jdG8nIGluIGxheWVyczoKICAgICAg
ICAgICAgZm91bmQgPSBGYWxzZQogICAgICAgICAgICB3aGlsZSBUcnVlOgogICAgICAgICAgICAg
ICAgaW5kZXgsIG1ldGFfeW9jdG9fbGluZSA9IHNhbml0eV9jb25mX2ZpbmRfbGluZShyJy4qbWV0
YS15b2N0b1tcJyJcc1xuXScsIGxpbmVzKQogICAgICAgICAgICAgICAgaWYgbWV0YV95b2N0b19s
aW5lOgogICAgICAgICAgICAgICAgICAgIGxpbmVzW2luZGV4XSA9IG1ldGFfeW9jdG9fbGluZS5y
ZXBsYWNlKCdtZXRhLXlvY3RvJywgJ21ldGEtcG9reScpCiAgICAgICAgICAgICAgICAgICAgZm91
bmQgPSBUcnVlCiAgICAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgICAgIGJyZWFr
CiAgICAgICAgICAgIGlmIG5vdCBmb3VuZDoKICAgICAgICAgICAgICAgIHJhaXNlIE5vdEltcGxl
bWVudGVkRXJyb3IoZmFpbG1zZykKICAgICAgICAgICAgaW5kZXgsIG1ldGFfeW9jdG9fbGluZSA9
IHNhbml0eV9jb25mX2ZpbmRfbGluZSgnTENPTkZfVkVSU0lPTi4qXG4nLCBsaW5lcykKICAgICAg
ICAgICAgaWYgbWV0YV95b2N0b19saW5lOgogICAgICAgICAgICAgICAgbGluZXNbaW5kZXhdID0g
J1BPS1lfQkJMQVlFUlNfQ09ORl9WRVJTSU9OID0gIjEiXG4nCiAgICAgICAgICAgIGVsc2U6CiAg
ICAgICAgICAgICAgICByYWlzZSBOb3RJbXBsZW1lbnRlZEVycm9yKGZhaWxtc2cpCiAgICAgICAg
ICAgIHdpdGggb3BlbihiYmxheWVyc19mbiwgInciKSBhcyBmOgogICAgICAgICAgICAgICAgZi53
cml0ZSgnJy5qb2luKGxpbmVzKSkKICAgICAgICAgICAgYmIubm90ZSgiWW91ciBjb25mL2JibGF5
ZXJzLmNvbmYgaGFzIGJlZW4gYXV0b21hdGljYWxseSB1cGRhdGVkLiIpCiAgICAgICAgICAgIHJl
dHVybgogICAgICAgIGN1cnJlbnRfbGNvbmYgKz0gMQogICAgICAgIHNhbml0eV9jb25mX3VwZGF0
ZShiYmxheWVyc19mbiwgbGluZXMsICdMQ09ORl9WRVJTSU9OJywgY3VycmVudF9sY29uZikKICAg
ICAgICBiYi5ub3RlKCJZb3VyIGNvbmYvYmJsYXllcnMuY29uZiBoYXMgYmVlbiBhdXRvbWF0aWNh
bGx5IHVwZGF0ZWQuIikKICAgICAgICByZXR1cm4KCiAgICByYWlzZSBOb3RJbXBsZW1lbnRlZEVy
cm9yKGZhaWxtc2cpCn0KCgpweXRob24gb2Vjb3JlX3VwZGF0ZV9sb2NhbGNvbmYgKCkgewogICAg
IyBDaGVjayB3ZSBhcmUgdXNpbmcgYSB2YWxpZCBsb2NhbC5jb25mCiAgICBjdXJyZW50X2NvbmYg
ID0gZC5nZXRWYXIoJ0NPTkZfVkVSU0lPTicpCiAgICBjb25mX3ZlcnNpb24gPSAgZC5nZXRWYXIo
J0xPQ0FMQ09ORl9WRVJTSU9OJykKCiAgICBmYWlsbXNnID0gIiIiWW91ciB2ZXJzaW9uIG9mIGxv
Y2FsLmNvbmYgd2FzIGdlbmVyYXRlZCBmcm9tIGFuIG9sZGVyL25ld2VyIHZlcnNpb24gb2YKbG9j
YWwuY29uZi5zYW1wbGUgYW5kIHRoZXJlIGhhdmUgYmVlbiB1cGRhdGVzIG1hZGUgdG8gdGhpcyBm
aWxlLiBQbGVhc2UgY29tcGFyZSB0aGUgdHdvCmZpbGVzIGFuZCBtZXJnZSBhbnkgY2hhbmdlcyBi
ZWZvcmUgY29udGludWluZy4KCk1hdGNoaW5nIHRoZSB2ZXJzaW9uIG51bWJlcnMgd2lsbCByZW1v
dmUgdGhpcyBtZXNzYWdlLgoKXCIke1NBTklUWV9ESUZGX1RPT0x9IGNvbmYvbG9jYWwuY29uZiAk
e1NBTklUWV9MT0NBTENPTkZfU0FNUExFfVwiCgppcyBhIGdvb2Qgd2F5IHRvIHZpc3VhbGlzZSB0
aGUgY2hhbmdlcy4iIiIKICAgIGZhaWxtc2cgPSBkLmV4cGFuZChmYWlsbXNnKQoKICAgIHJhaXNl
IE5vdEltcGxlbWVudGVkRXJyb3IoZmFpbG1zZykKfQoKCnB5dGhvbiBvZWNvcmVfdXBkYXRlX3Np
dGVjb25mICgpIHsKICAgICMgSWYgd2UgaGF2ZSBhIHNpdGUuY29uZiwgY2hlY2sgaXQncyB2YWxp
ZAogICAgY3VycmVudF9zY29uZiA9IGQuZ2V0VmFyKCdTQ09ORl9WRVJTSU9OJykKICAgIHNjb25m
X3ZlcnNpb24gPSBkLmdldFZhcignU0lURV9DT05GX1ZFUlNJT04nKQoKICAgIGZhaWxtc2cgPSAi
IiJZb3VyIHZlcnNpb24gb2Ygc2l0ZS5jb25mIHdhcyBnZW5lcmF0ZWQgZnJvbSBhbiBvbGRlciB2
ZXJzaW9uIG9mCnNpdGUuY29uZi5zYW1wbGUgYW5kIHRoZXJlIGhhdmUgYmVlbiB1cGRhdGVzIG1h
ZGUgdG8gdGhpcyBmaWxlLiBQbGVhc2UgY29tcGFyZSB0aGUgdHdvCmZpbGVzIGFuZCBtZXJnZSBh
bnkgY2hhbmdlcyBiZWZvcmUgY29udGludWluZy4KCk1hdGNoaW5nIHRoZSB2ZXJzaW9uIG51bWJl
cnMgd2lsbCByZW1vdmUgdGhpcyBtZXNzYWdlLgoKXCIke1NBTklUWV9ESUZGX1RPT0x9IGNvbmYv
c2l0ZS5jb25mICR7U0FOSVRZX1NJVEVDT05GX1NBTVBMRX1cIgoKaXMgYSBnb29kIHdheSB0byB2
aXN1YWxpc2UgdGhlIGNoYW5nZXMuIiIiCiAgICBmYWlsbXNnID0gZC5leHBhbmQoZmFpbG1zZykK
CiAgICByYWlzZSBOb3RJbXBsZW1lbnRlZEVycm9yKGZhaWxtc2cpCn0KCgpweXRob24gcGFja2Fn
ZV9kZXBjaGFpbnMgKCkgewogICAgIiIiCiAgICBGb3IgYSBnaXZlbiBzZXQgb2YgcHJlZml4IGFu
ZCBwb3N0Zml4IG1vZGlmaWVycywgbWFrZSB0aG9zZSBwYWNrYWdlcwogICAgUlJFQ09NTUVORFMg
b24gdGhlIGNvcnJlc3BvbmRpbmcgcGFja2FnZXMgZm9yIGl0cyBSREVQRU5EUy4KCiAgICBFeGFt
cGxlOiAgSWYgcGFja2FnZSBBIGRlcGVuZHMgdXBvbiBwYWNrYWdlIEIsIGFuZCBBJ3MgLmJiIGVt
aXRzIGFuCiAgICBBLWRldiBwYWNrYWdlLCB0aGlzIHdvdWxkIG1ha2UgQS1kZXYgUmVjb21tZW5k
czogQi1kZXYuCgogICAgSWYgb25seSBvbmUgb2YgYSBnaXZlbiBzdWZmaXggaXMgc3BlY2lmaWVk
LCBpdCB3aWxsIHRha2UgdGhlIFJSRUNPTU1FTkRTCiAgICBiYXNlZCBvbiB0aGUgUkRFUEVORFMg
b2YgKmFsbCogb3RoZXIgcGFja2FnZXMuIElmIG1vcmUgdGhhbiBvbmUgb2YgYSBnaXZlbgogICAg
c3VmZml4IGlzIHNwZWNpZmllZCwgaXRzIHdpbGwgb25seSB1c2UgdGhlIFJERVBFTkRTIG9mIHRo
ZSBzaW5nbGUgcGFyZW50CiAgICBwYWNrYWdlLgogICAgIiIiCgogICAgcGFja2FnZXMgID0gZC5n
ZXRWYXIoJ1BBQ0tBR0VTJykKICAgIHBvc3RmaXhlcyA9IChkLmdldFZhcignREVQQ0hBSU5fUE9T
VCcpIG9yICcnKS5zcGxpdCgpCiAgICBwcmVmaXhlcyAgPSAoZC5nZXRWYXIoJ0RFUENIQUlOX1BS
RScpIG9yICcnKS5zcGxpdCgpCgogICAgZGVmIHBrZ19hZGRkZXBycmVjcyhwa2csIGJhc2UsIHN1
ZmZpeCwgZ2V0bmFtZSwgZGVwZW5kcywgZCk6CgogICAgICAgICNiYi5ub3RlKCdkZXBlbmRzIGZv
ciAlcyBpcyAlcycgJSAoYmFzZSwgZGVwZW5kcykpCiAgICAgICAgcnJlY2xpc3QgPSBiYi51dGls
cy5leHBsb2RlX2RlcF92ZXJzaW9uczIoZC5nZXRWYXIoJ1JSRUNPTU1FTkRTXycgKyBwa2cpIG9y
ICIiKQoKICAgICAgICBmb3IgZGVwZW5kIGluIGRlcGVuZHM6CiAgICAgICAgICAgIGlmIGRlcGVu
ZC5maW5kKCctbmF0aXZlJykgIT0gLTEgb3IgZGVwZW5kLmZpbmQoJy1jcm9zcycpICE9IC0xIG9y
IGRlcGVuZC5zdGFydHN3aXRoKCd2aXJ0dWFsLycpOgogICAgICAgICAgICAgICAgI2JiLm5vdGUo
IlNraXBwaW5nICVzIiAlIGRlcGVuZCkKICAgICAgICAgICAgICAgIGNvbnRpbnVlCiAgICAgICAg
ICAgIGlmIGRlcGVuZC5lbmRzd2l0aCgnLWRldicpOgogICAgICAgICAgICAgICAgZGVwZW5kID0g
ZGVwZW5kWzotNF0KICAgICAgICAgICAgaWYgZGVwZW5kLmVuZHN3aXRoKCctZGJnJyk6CiAgICAg
ICAgICAgICAgICBkZXBlbmQgPSBkZXBlbmRbOi00XQogICAgICAgICAgICBwa2duYW1lID0gZ2V0
bmFtZShkZXBlbmQsIHN1ZmZpeCkKICAgICAgICAgICAgI2JiLm5vdGUoIkFkZGluZyAlcyBmb3Ig
JXMiICUgKHBrZ25hbWUsIGRlcGVuZCkpCiAgICAgICAgICAgIGlmIHBrZ25hbWUgbm90IGluIHJy
ZWNsaXN0IGFuZCBwa2duYW1lICE9IHBrZzoKICAgICAgICAgICAgICAgIHJyZWNsaXN0W3BrZ25h
bWVdID0gW10KCiAgICAgICAgI2JiLm5vdGUoJ3NldHRpbmc6IFJSRUNPTU1FTkRTXyVzPSVzJyAl
IChwa2csICcgJy5qb2luKHJyZWNsaXN0KSkpCiAgICAgICAgZC5zZXRWYXIoJ1JSRUNPTU1FTkRT
XyVzJyAlIHBrZywgYmIudXRpbHMuam9pbl9kZXBzKHJyZWNsaXN0LCBjb21tYXNlcD1GYWxzZSkp
CgogICAgZGVmIHBrZ19hZGRycmVjcyhwa2csIGJhc2UsIHN1ZmZpeCwgZ2V0bmFtZSwgcmRlcGVu
ZHMsIGQpOgoKICAgICAgICAjYmIubm90ZSgncmRlcGVuZHMgZm9yICVzIGlzICVzJyAlIChiYXNl
LCByZGVwZW5kcykpCiAgICAgICAgcnJlY2xpc3QgPSBiYi51dGlscy5leHBsb2RlX2RlcF92ZXJz
aW9uczIoZC5nZXRWYXIoJ1JSRUNPTU1FTkRTXycgKyBwa2cpIG9yICIiKQoKICAgICAgICBmb3Ig
ZGVwZW5kIGluIHJkZXBlbmRzOgogICAgICAgICAgICBpZiBkZXBlbmQuZmluZCgndmlydHVhbC1s
b2NhbGUtJykgIT0gLTE6CiAgICAgICAgICAgICAgICAjYmIubm90ZSgiU2tpcHBpbmcgJXMiICUg
ZGVwZW5kKQogICAgICAgICAgICAgICAgY29udGludWUKICAgICAgICAgICAgaWYgZGVwZW5kLmVu
ZHN3aXRoKCctZGV2Jyk6CiAgICAgICAgICAgICAgICBkZXBlbmQgPSBkZXBlbmRbOi00XQogICAg
ICAgICAgICBpZiBkZXBlbmQuZW5kc3dpdGgoJy1kYmcnKToKICAgICAgICAgICAgICAgIGRlcGVu
ZCA9IGRlcGVuZFs6LTRdCiAgICAgICAgICAgIHBrZ25hbWUgPSBnZXRuYW1lKGRlcGVuZCwgc3Vm
Zml4KQogICAgICAgICAgICAjYmIubm90ZSgiQWRkaW5nICVzIGZvciAlcyIgJSAocGtnbmFtZSwg
ZGVwZW5kKSkKICAgICAgICAgICAgaWYgcGtnbmFtZSBub3QgaW4gcnJlY2xpc3QgYW5kIHBrZ25h
bWUgIT0gcGtnOgogICAgICAgICAgICAgICAgcnJlY2xpc3RbcGtnbmFtZV0gPSBbXQoKICAgICAg
ICAjYmIubm90ZSgnc2V0dGluZzogUlJFQ09NTUVORFNfJXM9JXMnICUgKHBrZywgJyAnLmpvaW4o
cnJlY2xpc3QpKSkKICAgICAgICBkLnNldFZhcignUlJFQ09NTUVORFNfJXMnICUgcGtnLCBiYi51
dGlscy5qb2luX2RlcHMocnJlY2xpc3QsIGNvbW1hc2VwPUZhbHNlKSkKCiAgICBkZWYgYWRkX2Rl
cChsaXN0LCBkZXApOgogICAgICAgIGlmIGRlcCBub3QgaW4gbGlzdDoKICAgICAgICAgICAgbGlz
dC5hcHBlbmQoZGVwKQoKICAgIGRlcGVuZHMgPSBbXQogICAgZm9yIGRlcCBpbiBiYi51dGlscy5l
eHBsb2RlX2RlcHMoZC5nZXRWYXIoJ0RFUEVORFMnKSBvciAiIik6CiAgICAgICAgYWRkX2RlcChk
ZXBlbmRzLCBkZXApCgogICAgcmRlcGVuZHMgPSBbXQogICAgZm9yIHBrZyBpbiBwYWNrYWdlcy5z
cGxpdCgpOgogICAgICAgIGZvciBkZXAgaW4gYmIudXRpbHMuZXhwbG9kZV9kZXBzKGQuZ2V0VmFy
KCdSREVQRU5EU18nICsgcGtnKSBvciAiIik6CiAgICAgICAgICAgIGFkZF9kZXAocmRlcGVuZHMs
IGRlcCkKCiAgICAjYmIubm90ZSgncmRlcGVuZHMgaXMgJXMnICUgcmRlcGVuZHMpCgogICAgZGVm
IHBvc3RfZ2V0bmFtZShuYW1lLCBzdWZmaXgpOgogICAgICAgIHJldHVybiAnJXMlcycgJSAobmFt
ZSwgc3VmZml4KQogICAgZGVmIHByZV9nZXRuYW1lKG5hbWUsIHN1ZmZpeCk6CiAgICAgICAgcmV0
dXJuICclcyVzJyAlIChzdWZmaXgsIG5hbWUpCgogICAgcGtncyA9IHt9CiAgICBmb3IgcGtnIGlu
IHBhY2thZ2VzLnNwbGl0KCk6CiAgICAgICAgZm9yIHBvc3RmaXggaW4gcG9zdGZpeGVzOgogICAg
ICAgICAgICBpZiBwa2cuZW5kc3dpdGgocG9zdGZpeCk6CiAgICAgICAgICAgICAgICBpZiBub3Qg
cG9zdGZpeCBpbiBwa2dzOgogICAgICAgICAgICAgICAgICAgIHBrZ3NbcG9zdGZpeF0gPSB7fQog
ICAgICAgICAgICAgICAgcGtnc1twb3N0Zml4XVtwa2ddID0gKHBrZ1s6LWxlbihwb3N0Zml4KV0s
IHBvc3RfZ2V0bmFtZSkKCiAgICAgICAgZm9yIHByZWZpeCBpbiBwcmVmaXhlczoKICAgICAgICAg
ICAgaWYgcGtnLnN0YXJ0c3dpdGgocHJlZml4KToKICAgICAgICAgICAgICAgIGlmIG5vdCBwcmVm
aXggaW4gcGtnczoKICAgICAgICAgICAgICAgICAgICBwa2dzW3ByZWZpeF0gPSB7fQogICAgICAg
ICAgICAgICAgcGtnc1twcmVmaXhdW3BrZ10gPSAocGtnWzotbGVuKHByZWZpeCldLCBwcmVfZ2V0
bmFtZSkKCiAgICBpZiAiLWRiZyIgaW4gcGtnczoKICAgICAgICBwa2dsaWJkZXBzID0gcmVhZF9s
aWJkZXBfZmlsZXMoZCkKICAgICAgICBwa2dsaWJkZXBsaXN0ID0gW10KICAgICAgICBmb3IgcGtn
IGluIHBrZ2xpYmRlcHM6CiAgICAgICAgICAgIGZvciBrIGluIHBrZ2xpYmRlcHNbcGtnXToKICAg
ICAgICAgICAgICAgIGFkZF9kZXAocGtnbGliZGVwbGlzdCwgaykKICAgICAgICBkYmdkZWZhdWx0
ZGVwcyA9ICgoZC5nZXRWYXIoJ0RFUENIQUlOX0RCR0RFRkFVTFRERVBTJykgPT0gJzEnKSBvciAo
YmIuZGF0YS5pbmhlcml0c19jbGFzcygncGFja2FnZWdyb3VwJywgZCkpKQoKICAgIGZvciBzdWZm
aXggaW4gcGtnczoKICAgICAgICBmb3IgcGtnIGluIHBrZ3Nbc3VmZml4XToKICAgICAgICAgICAg
aWYgZC5nZXRWYXJGbGFnKCdSUkVDT01NRU5EU18nICsgcGtnLCAnbm9kZXBycmVjcycpOgogICAg
ICAgICAgICAgICAgY29udGludWUKICAgICAgICAgICAgKGJhc2UsIGZ1bmMpID0gcGtnc1tzdWZm
aXhdW3BrZ10KICAgICAgICAgICAgaWYgc3VmZml4ID09ICItZGV2IjoKICAgICAgICAgICAgICAg
IHBrZ19hZGRkZXBycmVjcyhwa2csIGJhc2UsIHN1ZmZpeCwgZnVuYywgZGVwZW5kcywgZCkKICAg
ICAgICAgICAgZWxpZiBzdWZmaXggPT0gIi1kYmciOgogICAgICAgICAgICAgICAgaWYgbm90IGRi
Z2RlZmF1bHRkZXBzOgogICAgICAgICAgICAgICAgICAgIHBrZ19hZGRycmVjcyhwa2csIGJhc2Us
IHN1ZmZpeCwgZnVuYywgcGtnbGliZGVwbGlzdCwgZCkKICAgICAgICAgICAgICAgICAgICBjb250
aW51ZQogICAgICAgICAgICBpZiBsZW4ocGtnc1tzdWZmaXhdKSA9PSAxOgogICAgICAgICAgICAg
ICAgcGtnX2FkZHJyZWNzKHBrZywgYmFzZSwgc3VmZml4LCBmdW5jLCByZGVwZW5kcywgZCkKICAg
ICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgIHJkZXBzID0gW10KICAgICAgICAgICAgICAg
IGZvciBkZXAgaW4gYmIudXRpbHMuZXhwbG9kZV9kZXBzKGQuZ2V0VmFyKCdSREVQRU5EU18nICsg
YmFzZSkgb3IgIiIpOgogICAgICAgICAgICAgICAgICAgIGFkZF9kZXAocmRlcHMsIGRlcCkKICAg
ICAgICAgICAgICAgIHBrZ19hZGRycmVjcyhwa2csIGJhc2UsIHN1ZmZpeCwgZnVuYywgcmRlcHMs
IGQpCn0KCgpweXRob24gcGFja2FnZV9kb19maWxlZGVwcyAoKSB7CiAgICBpZiBkLmdldFZhcign
U0tJUF9GSUxFREVQUycpID09ICcxJzoKICAgICAgICByZXR1cm4KCiAgICBwa2dkZXN0ID0gZC5n
ZXRWYXIoJ1BLR0RFU1QnKQogICAgcGFja2FnZXMgPSBkLmdldFZhcignUEFDS0FHRVMnKQogICAg
cnBtZGVwcyA9IGQuZ2V0VmFyKCdSUE1ERVBTJykKCiAgICBkZWYgY2h1bmtzKGZpbGVzLCBuKToK
ICAgICAgICByZXR1cm4gW2ZpbGVzW2k6aStuXSBmb3IgaSBpbiByYW5nZSgwLCBsZW4oZmlsZXMp
LCBuKV0KCiAgICBwa2dsaXN0ID0gW10KICAgIGZvciBwa2cgaW4gcGFja2FnZXMuc3BsaXQoKToK
ICAgICAgICBpZiBkLmdldFZhcignU0tJUF9GSUxFREVQU18nICsgcGtnKSA9PSAnMSc6CiAgICAg
ICAgICAgIGNvbnRpbnVlCiAgICAgICAgaWYgcGtnLmVuZHN3aXRoKCctZGJnJykgb3IgcGtnLmVu
ZHN3aXRoKCctZG9jJykgb3IgcGtnLmZpbmQoJy1sb2NhbGUtJykgIT0gLTEgb3IgcGtnLmZpbmQo
Jy1sb2NhbGVkYXRhLScpICE9IC0xIG9yIHBrZy5maW5kKCctZ2NvbnYtJykgIT0gLTEgb3IgcGtn
LmZpbmQoJy1jaGFybWFwLScpICE9IC0xIG9yIHBrZy5zdGFydHN3aXRoKCdrZXJuZWwtbW9kdWxl
LScpOgogICAgICAgICAgICBjb250aW51ZQogICAgICAgIGZvciBmaWxlcyBpbiBjaHVua3MocGtn
ZmlsZXNbcGtnXSwgMTAwKToKICAgICAgICAgICAgcGtnbGlzdC5hcHBlbmQoKHBrZywgZmlsZXMs
IHJwbWRlcHMsIHBrZ2Rlc3QpKQoKICAgIHByb2Nlc3NlZCA9IG9lLnV0aWxzLm11bHRpcHJvY2Vz
c19leGVjKCBwa2dsaXN0LCBvZS5wYWNrYWdlLmZpbGVkZXBydW5uZXIpCgogICAgcHJvdmlkZXNf
ZmlsZXMgPSB7fQogICAgcmVxdWlyZXNfZmlsZXMgPSB7fQoKICAgIGZvciByZXN1bHQgaW4gcHJv
Y2Vzc2VkOgogICAgICAgIChwa2csIHByb3ZpZGVzLCByZXF1aXJlcykgPSByZXN1bHQKCiAgICAg
ICAgaWYgcGtnIG5vdCBpbiBwcm92aWRlc19maWxlczoKICAgICAgICAgICAgcHJvdmlkZXNfZmls
ZXNbcGtnXSA9IFtdCiAgICAgICAgaWYgcGtnIG5vdCBpbiByZXF1aXJlc19maWxlczoKICAgICAg
ICAgICAgcmVxdWlyZXNfZmlsZXNbcGtnXSA9IFtdCgogICAgICAgIGZvciBmaWxlIGluIHByb3Zp
ZGVzOgogICAgICAgICAgICBwcm92aWRlc19maWxlc1twa2ddLmFwcGVuZChmaWxlKQogICAgICAg
ICAgICBrZXkgPSAiRklMRVJQUk9WSURFU18iICsgZmlsZSArICJfIiArIHBrZwogICAgICAgICAg
ICBkLnNldFZhcihrZXksICIgIi5qb2luKHByb3ZpZGVzW2ZpbGVdKSkKCiAgICAgICAgZm9yIGZp
bGUgaW4gcmVxdWlyZXM6CiAgICAgICAgICAgIHJlcXVpcmVzX2ZpbGVzW3BrZ10uYXBwZW5kKGZp
bGUpCiAgICAgICAgICAgIGtleSA9ICJGSUxFUkRFUEVORFNfIiArIGZpbGUgKyAiXyIgKyBwa2cK
ICAgICAgICAgICAgZC5zZXRWYXIoa2V5LCAiICIuam9pbihyZXF1aXJlc1tmaWxlXSkpCgogICAg
Zm9yIHBrZyBpbiByZXF1aXJlc19maWxlczoKICAgICAgICBkLnNldFZhcigiRklMRVJERVBFTkRT
RkxJU1RfIiArIHBrZywgIiAiLmpvaW4ocmVxdWlyZXNfZmlsZXNbcGtnXSkpCiAgICBmb3IgcGtn
IGluIHByb3ZpZGVzX2ZpbGVzOgogICAgICAgIGQuc2V0VmFyKCJGSUxFUlBST1ZJREVTRkxJU1Rf
IiArIHBrZywgIiAiLmpvaW4ocHJvdmlkZXNfZmlsZXNbcGtnXSkpCn0KCgpweXRob24gcGFja2Fn
ZV9kb19wa2djb25maWcgKCkgewogICAgaW1wb3J0IHJlCgogICAgcGFja2FnZXMgPSBkLmdldFZh
cignUEFDS0FHRVMnKQogICAgd29ya2RpciA9IGQuZ2V0VmFyKCdXT1JLRElSJykKICAgIHBrZ2Rl
c3QgPSBkLmdldFZhcignUEtHREVTVCcpCgogICAgc2hsaWJzX2RpcnMgPSBkLmdldFZhcignU0hM
SUJTRElSUycpLnNwbGl0KCkKICAgIHNobGlic3dvcmtfZGlyID0gZC5nZXRWYXIoJ1NITElCU1dP
UktESVInKQoKICAgIHBjX3JlID0gcmUuY29tcGlsZSgnKC4qKVwucGMkJykKICAgIHZhcl9yZSA9
IHJlLmNvbXBpbGUoJyguKik9KC4qKScpCiAgICBmaWVsZF9yZSA9IHJlLmNvbXBpbGUoJyguKik6
ICguKiknKQoKICAgIHBrZ2NvbmZpZ19wcm92aWRlZCA9IHt9CiAgICBwa2djb25maWdfbmVlZGVk
ID0ge30KICAgIGZvciBwa2cgaW4gcGFja2FnZXMuc3BsaXQoKToKICAgICAgICBwa2djb25maWdf
cHJvdmlkZWRbcGtnXSA9IFtdCiAgICAgICAgcGtnY29uZmlnX25lZWRlZFtwa2ddID0gW10KICAg
ICAgICBmb3IgZmlsZSBpbiBwa2dmaWxlc1twa2ddOgogICAgICAgICAgICAgICAgbSA9IHBjX3Jl
Lm1hdGNoKGZpbGUpCiAgICAgICAgICAgICAgICBpZiBtOgogICAgICAgICAgICAgICAgICAgIHBk
ID0gYmIuZGF0YS5pbml0KCkKICAgICAgICAgICAgICAgICAgICBuYW1lID0gbS5ncm91cCgxKQog
ICAgICAgICAgICAgICAgICAgIHBrZ2NvbmZpZ19wcm92aWRlZFtwa2ddLmFwcGVuZChuYW1lKQog
ICAgICAgICAgICAgICAgICAgIGlmIG5vdCBvcy5hY2Nlc3MoZmlsZSwgb3MuUl9PSyk6CiAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCiAgICAgICAgICAgICAgICAgICAgZiA9IG9wZW4o
ZmlsZSwgJ3InKQogICAgICAgICAgICAgICAgICAgIGxpbmVzID0gZi5yZWFkbGluZXMoKQogICAg
ICAgICAgICAgICAgICAgIGYuY2xvc2UoKQogICAgICAgICAgICAgICAgICAgIGZvciBsIGluIGxp
bmVzOgogICAgICAgICAgICAgICAgICAgICAgICBtID0gdmFyX3JlLm1hdGNoKGwpCiAgICAgICAg
ICAgICAgICAgICAgICAgIGlmIG06CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lID0g
bS5ncm91cCgxKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsID0gbS5ncm91cCgyKQog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgcGQuc2V0VmFyKG5hbWUsIHBkLmV4cGFuZCh2YWwp
KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWUKICAgICAgICAgICAgICAgICAg
ICAgICAgbSA9IGZpZWxkX3JlLm1hdGNoKGwpCiAgICAgICAgICAgICAgICAgICAgICAgIGlmIG06
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZHIgPSBtLmdyb3VwKDEpCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBleHAgPSBwZC5leHBhbmQobS5ncm91cCgyKSkKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGlmIGhkciA9PSAnUmVxdWlyZXMnOgogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHBrZ2NvbmZpZ19uZWVkZWRbcGtnXSArPSBleHAucmVwbGFjZSgnLCcsICcg
Jykuc3BsaXQoKQoKICAgICMgVGFrZSBzaGFyZWQgbG9jayBzaW5jZSB3ZSdyZSBvbmx5IHJlYWRp
bmcsIG5vdCB3cml0aW5nCiAgICBsZiA9IGJiLnV0aWxzLmxvY2tmaWxlKGQuZXhwYW5kKCIke1BB
Q0tBR0VMT0NLfSIpKQoKICAgIGZvciBwa2cgaW4gcGFja2FnZXMuc3BsaXQoKToKICAgICAgICBw
a2dzX2ZpbGUgPSBvcy5wYXRoLmpvaW4oc2hsaWJzd29ya19kaXIsIHBrZyArICIucGNsaXN0IikK
ICAgICAgICBpZiBwa2djb25maWdfcHJvdmlkZWRbcGtnXSAhPSBbXToKICAgICAgICAgICAgZiA9
IG9wZW4ocGtnc19maWxlLCAndycpCiAgICAgICAgICAgIGZvciBwIGluIHBrZ2NvbmZpZ19wcm92
aWRlZFtwa2ddOgogICAgICAgICAgICAgICAgZi53cml0ZSgnJXNcbicgJSBwKQogICAgICAgICAg
ICBmLmNsb3NlKCkKCiAgICAjIEdvIGZyb20gbGVhc3QgdG8gbW9zdCBzcGVjaWZpYyBzaW5jZSB0
aGUgbGFzdCBvbmUgZm91bmQgd2lucwogICAgZm9yIGRpciBpbiByZXZlcnNlZChzaGxpYnNfZGly
cyk6CiAgICAgICAgaWYgbm90IG9zLnBhdGguZXhpc3RzKGRpcik6CiAgICAgICAgICAgIGNvbnRp
bnVlCiAgICAgICAgZm9yIGZpbGUgaW4gb3MubGlzdGRpcihkaXIpOgogICAgICAgICAgICBtID0g
cmUubWF0Y2goJ14oLiopXC5wY2xpc3QkJywgZmlsZSkKICAgICAgICAgICAgaWYgbToKICAgICAg
ICAgICAgICAgIHBrZyA9IG0uZ3JvdXAoMSkKICAgICAgICAgICAgICAgIGZkID0gb3Blbihvcy5w
YXRoLmpvaW4oZGlyLCBmaWxlKSkKICAgICAgICAgICAgICAgIGxpbmVzID0gZmQucmVhZGxpbmVz
KCkKICAgICAgICAgICAgICAgIGZkLmNsb3NlKCkKICAgICAgICAgICAgICAgIHBrZ2NvbmZpZ19w
cm92aWRlZFtwa2ddID0gW10KICAgICAgICAgICAgICAgIGZvciBsIGluIGxpbmVzOgogICAgICAg
ICAgICAgICAgICAgIHBrZ2NvbmZpZ19wcm92aWRlZFtwa2ddLmFwcGVuZChsLnJzdHJpcCgpKQoK
ICAgIGZvciBwa2cgaW4gcGFja2FnZXMuc3BsaXQoKToKICAgICAgICBkZXBzID0gW10KICAgICAg
ICBmb3IgbiBpbiBwa2djb25maWdfbmVlZGVkW3BrZ106CiAgICAgICAgICAgIGZvdW5kID0gRmFs
c2UKICAgICAgICAgICAgZm9yIGsgaW4gcGtnY29uZmlnX3Byb3ZpZGVkLmtleXMoKToKICAgICAg
ICAgICAgICAgIGlmIG4gaW4gcGtnY29uZmlnX3Byb3ZpZGVkW2tdOgogICAgICAgICAgICAgICAg
ICAgIGlmIGsgIT0gcGtnIGFuZCBub3QgKGsgaW4gZGVwcyk6CiAgICAgICAgICAgICAgICAgICAg
ICAgIGRlcHMuYXBwZW5kKGspCiAgICAgICAgICAgICAgICAgICAgZm91bmQgPSBUcnVlCiAgICAg
ICAgICAgIGlmIGZvdW5kID09IEZhbHNlOgogICAgICAgICAgICAgICAgYmIubm90ZSgiY291bGRu
J3QgZmluZCBwa2djb25maWcgbW9kdWxlICclcycgaW4gYW55IHBhY2thZ2UiICUgbikKICAgICAg
ICBkZXBzX2ZpbGUgPSBvcy5wYXRoLmpvaW4ocGtnZGVzdCwgcGtnICsgIi5wY2RlcHMiKQogICAg
ICAgIGlmIGxlbihkZXBzKToKICAgICAgICAgICAgZmQgPSBvcGVuKGRlcHNfZmlsZSwgJ3cnKQog
ICAgICAgICAgICBmb3IgZGVwIGluIGRlcHM6CiAgICAgICAgICAgICAgICBmZC53cml0ZShkZXAg
KyAnXG4nKQogICAgICAgICAgICBmZC5jbG9zZSgpCgogICAgYmIudXRpbHMudW5sb2NrZmlsZShs
ZikKfQoKCnB5dGhvbiBwYWNrYWdlX2RvX3NobGlicyAoKSB7CiAgICBpbXBvcnQgcmUsIHBpcGVz
CiAgICBpbXBvcnQgc3VicHJvY2VzcyBhcyBzdWIKCiAgICBleGNsdWRlX3NobGlicyA9IGQuZ2V0
VmFyKCdFWENMVURFX0ZST01fU0hMSUJTJywgRmFsc2UpCiAgICBpZiBleGNsdWRlX3NobGliczoK
ICAgICAgICBiYi5ub3RlKCJub3QgZ2VuZXJhdGluZyBzaGxpYnMiKQogICAgICAgIHJldHVybgoK
ICAgIGxpYl9yZSA9IHJlLmNvbXBpbGUoIl4uKlwuc28iKQogICAgbGliZGlyX3JlID0gcmUuY29t
cGlsZSgiLiovJXMkIiAlIGQuZ2V0VmFyKCdiYXNlbGliJykpCgogICAgcGFja2FnZXMgPSBkLmdl
dFZhcignUEFDS0FHRVMnKQogICAgdGFyZ2V0b3MgPSBkLmdldFZhcignVEFSR0VUX09TJykKCiAg
ICB3b3JrZGlyID0gZC5nZXRWYXIoJ1dPUktESVInKQoKICAgIHZlciA9IGQuZ2V0VmFyKCdQS0dW
JykKICAgIGlmIG5vdCB2ZXI6CiAgICAgICAgbXNnID0gIlBLR1Ygbm90IGRlZmluZWQiCiAgICAg
ICAgcGFja2FnZV9xYV9oYW5kbGVfZXJyb3IoInBrZ3YtdW5kZWZpbmVkIiwgbXNnLCBkKQogICAg
ICAgIHJldHVybgoKICAgIHBrZ2Rlc3QgPSBkLmdldFZhcignUEtHREVTVCcpCgogICAgc2hsaWJz
d29ya19kaXIgPSBkLmdldFZhcignU0hMSUJTV09SS0RJUicpCgogICAgIyBUYWtlIHNoYXJlZCBs
b2NrIHNpbmNlIHdlJ3JlIG9ubHkgcmVhZGluZywgbm90IHdyaXRpbmcKICAgIGxmID0gYmIudXRp
bHMubG9ja2ZpbGUoZC5leHBhbmQoIiR7UEFDS0FHRUxPQ0t9IikpCgogICAgZGVmIGxpbnV4X3Nv
KGZpbGUsIG5lZWRlZCwgc29uYW1lcywgcmVuYW1lcywgcGtndmVyKToKICAgICAgICBuZWVkc19s
ZGNvbmZpZyA9IEZhbHNlCiAgICAgICAgbGRpciA9IG9zLnBhdGguZGlybmFtZShmaWxlKS5yZXBs
YWNlKHBrZ2Rlc3QgKyAiLyIgKyBwa2csICcnKQogICAgICAgIGNtZCA9IGQuZ2V0VmFyKCdPQkpE
VU1QJykgKyAiIC1wICIgKyBwaXBlcy5xdW90ZShmaWxlKSArICIgMj4vZGV2L251bGwiCiAgICAg
ICAgZmQgPSBvcy5wb3BlbihjbWQpCiAgICAgICAgbGluZXMgPSBmZC5yZWFkbGluZXMoKQogICAg
ICAgIGZkLmNsb3NlKCkKICAgICAgICBycGF0aCA9IFtdCiAgICAgICAgZm9yIGwgaW4gbGluZXM6
CiAgICAgICAgICAgIG0gPSByZS5tYXRjaCgiXHMrUlBBVEhccysoW15cc10qKSIsIGwpCiAgICAg
ICAgICAgIGlmIG06CiAgICAgICAgICAgICAgICBycGF0aHMgPSBtLmdyb3VwKDEpLnJlcGxhY2Uo
IiRPUklHSU4iLCBsZGlyKS5zcGxpdCgiOiIpCiAgICAgICAgICAgICAgICBycGF0aCA9IGxpc3Qo
bWFwKG9zLnBhdGgubm9ybXBhdGgsIHJwYXRocykpCiAgICAgICAgZm9yIGwgaW4gbGluZXM6CiAg
ICAgICAgICAgIG0gPSByZS5tYXRjaCgiXHMrTkVFREVEXHMrKFteXHNdKikiLCBsKQogICAgICAg
ICAgICBpZiBtOgogICAgICAgICAgICAgICAgZGVwID0gbS5ncm91cCgxKQogICAgICAgICAgICAg
ICAgaWYgZGVwIG5vdCBpbiBuZWVkZWRbcGtnXToKICAgICAgICAgICAgICAgICAgICBuZWVkZWRb
cGtnXS5hcHBlbmQoKGRlcCwgZmlsZSwgcnBhdGgpKQogICAgICAgICAgICBtID0gcmUubWF0Y2go
IlxzK1NPTkFNRVxzKyhbXlxzXSopIiwgbCkKICAgICAgICAgICAgaWYgbToKICAgICAgICAgICAg
ICAgIHRoaXNfc29uYW1lID0gbS5ncm91cCgxKQogICAgICAgICAgICAgICAgcHJvdiA9ICh0aGlz
X3NvbmFtZSwgbGRpciwgcGtndmVyKQogICAgICAgICAgICAgICAgaWYgbm90IHByb3YgaW4gc29u
YW1lczoKICAgICAgICAgICAgICAgICAgICAjIGlmIGxpYnJhcnkgaXMgcHJpdmF0ZSAob25seSB1
c2VkIGJ5IHBhY2thZ2UpIHRoZW4gZG8gbm90IGJ1aWxkIHNobGliIGZvciBpdAogICAgICAgICAg
ICAgICAgICAgIGlmIG5vdCBwcml2YXRlX2xpYnMgb3IgdGhpc19zb25hbWUgbm90IGluIHByaXZh
dGVfbGliczoKICAgICAgICAgICAgICAgICAgICAgICAgc29uYW1lcy5hcHBlbmQocHJvdikKICAg
ICAgICAgICAgICAgIGlmIGxpYmRpcl9yZS5tYXRjaChvcy5wYXRoLmRpcm5hbWUoZmlsZSkpOgog
ICAgICAgICAgICAgICAgICAgIG5lZWRzX2xkY29uZmlnID0gVHJ1ZQogICAgICAgICAgICAgICAg
aWYgc25hcF9zeW1saW5rcyBhbmQgKG9zLnBhdGguYmFzZW5hbWUoZmlsZSkgIT0gdGhpc19zb25h
bWUpOgogICAgICAgICAgICAgICAgICAgIHJlbmFtZXMuYXBwZW5kKChmaWxlLCBvcy5wYXRoLmpv
aW4ob3MucGF0aC5kaXJuYW1lKGZpbGUpLCB0aGlzX3NvbmFtZSkpKQogICAgICAgIHJldHVybiBu
ZWVkc19sZGNvbmZpZwoKICAgIGRlZiBkYXJ3aW5fc28oZmlsZSwgbmVlZGVkLCBzb25hbWVzLCBy
ZW5hbWVzLCBwa2d2ZXIpOgogICAgICAgIGlmIG5vdCBvcy5wYXRoLmV4aXN0cyhmaWxlKToKICAg
ICAgICAgICAgcmV0dXJuCiAgICAgICAgbGRpciA9IG9zLnBhdGguZGlybmFtZShmaWxlKS5yZXBs
YWNlKHBrZ2Rlc3QgKyAiLyIgKyBwa2csICcnKQoKICAgICAgICBkZWYgZ2V0X2NvbWJpbmF0aW9u
cyhiYXNlKToKICAgICAgICAgICAgIwogICAgICAgICAgICAjIEdpdmVuIGEgYmFzZSBsaWJyYXJ5
IG5hbWUsIGZpbmQgYWxsIGNvbWJpbmF0aW9ucyBvZiB0aGlzIHNwbGl0IGJ5ICIuIiBhbmQgIi0i
CiAgICAgICAgICAgICMKICAgICAgICAgICAgY29tYm9zID0gW10KICAgICAgICAgICAgb3B0aW9u
cyA9IGJhc2Uuc3BsaXQoIi4iKQogICAgICAgICAgICBmb3IgaSBpbiByYW5nZSgxLCBsZW4ob3B0
aW9ucykgKyAxKToKICAgICAgICAgICAgICAgIGNvbWJvcy5hcHBlbmQoIi4iLmpvaW4ob3B0aW9u
c1swOmldKSkKICAgICAgICAgICAgb3B0aW9ucyA9IGJhc2Uuc3BsaXQoIi0iKQogICAgICAgICAg
ICBmb3IgaSBpbiByYW5nZSgxLCBsZW4ob3B0aW9ucykgKyAxKToKICAgICAgICAgICAgICAgIGNv
bWJvcy5hcHBlbmQoIi0iLmpvaW4ob3B0aW9uc1swOmldKSkKICAgICAgICAgICAgcmV0dXJuIGNv
bWJvcwoKICAgICAgICBpZiAoZmlsZS5lbmRzd2l0aCgnLmR5bGliJykgb3IgZmlsZS5lbmRzd2l0
aCgnLnNvJykpIGFuZCBub3QgcGtnLmVuZHN3aXRoKCctZGV2JykgYW5kIG5vdCBwa2cuZW5kc3dp
dGgoJy1kYmcnKToKICAgICAgICAgICAgIyBEcm9wIHN1ZmZpeAogICAgICAgICAgICBuYW1lID0g
b3MucGF0aC5iYXNlbmFtZShmaWxlKS5yc3BsaXQoIi4iLDEpWzBdCiAgICAgICAgICAgICMgRmlu
ZCBhbGwgY29tYmluYXRpb25zCiAgICAgICAgICAgIGNvbWJvcyA9IGdldF9jb21iaW5hdGlvbnMo
bmFtZSkKICAgICAgICAgICAgZm9yIGNvbWJvIGluIGNvbWJvczoKICAgICAgICAgICAgICAgIGlm
IG5vdCBjb21ibyBpbiBzb25hbWVzOgogICAgICAgICAgICAgICAgICAgIHByb3YgPSAoY29tYm8s
IGxkaXIsIHBrZ3ZlcikKICAgICAgICAgICAgICAgICAgICBzb25hbWVzLmFwcGVuZChwcm92KQog
ICAgICAgIGlmIGZpbGUuZW5kc3dpdGgoJy5keWxpYicpIG9yIGZpbGUuZW5kc3dpdGgoJy5zbycp
OgogICAgICAgICAgICBycGF0aCA9IFtdCiAgICAgICAgICAgIHAgPSBzdWIuUG9wZW4oW2QuZXhw
YW5kKCIke0hPU1RfUFJFRklYfW90b29sIiksICctbCcsIGZpbGVdLHN0ZG91dD1zdWIuUElQRSxz
dGRlcnI9c3ViLlBJUEUpCiAgICAgICAgICAgIG91dCwgZXJyID0gcC5jb21tdW5pY2F0ZSgpCiAg
ICAgICAgICAgICMgSWYgcmV0dXJuZWQgc3VjY2Vzc2Z1bGx5LCBwcm9jZXNzIHN0ZG91dCBmb3Ig
cmVzdWx0cwogICAgICAgICAgICBpZiBwLnJldHVybmNvZGUgPT0gMDoKICAgICAgICAgICAgICAg
IGZvciBsIGluIG91dC5zcGxpdCgiXG4iKToKICAgICAgICAgICAgICAgICAgICBsID0gbC5zdHJp
cCgpCiAgICAgICAgICAgICAgICAgICAgaWYgbC5zdGFydHN3aXRoKCdwYXRoICcpOgogICAgICAg
ICAgICAgICAgICAgICAgICBycGF0aC5hcHBlbmQobC5zcGxpdCgpWzFdKQoKICAgICAgICBwID0g
c3ViLlBvcGVuKFtkLmV4cGFuZCgiJHtIT1NUX1BSRUZJWH1vdG9vbCIpLCAnLUwnLCBmaWxlXSxz
dGRvdXQ9c3ViLlBJUEUsc3RkZXJyPXN1Yi5QSVBFKQogICAgICAgIG91dCwgZXJyID0gcC5jb21t
dW5pY2F0ZSgpCiAgICAgICAgIyBJZiByZXR1cm5lZCBzdWNjZXNzZnVsbHksIHByb2Nlc3Mgc3Rk
b3V0IGZvciByZXN1bHRzCiAgICAgICAgaWYgcC5yZXR1cm5jb2RlID09IDA6CiAgICAgICAgICAg
IGZvciBsIGluIG91dC5zcGxpdCgiXG4iKToKICAgICAgICAgICAgICAgIGwgPSBsLnN0cmlwKCkK
ICAgICAgICAgICAgICAgIGlmIG5vdCBsIG9yIGwuZW5kc3dpdGgoIjoiKToKICAgICAgICAgICAg
ICAgICAgICBjb250aW51ZQogICAgICAgICAgICAgICAgaWYgImlzIG5vdCBhbiBvYmplY3QgZmls
ZSIgaW4gbDoKICAgICAgICAgICAgICAgICAgICBjb250aW51ZQogICAgICAgICAgICAgICAgbmFt
ZSA9IG9zLnBhdGguYmFzZW5hbWUobC5zcGxpdCgpWzBdKS5yc3BsaXQoIi4iLCAxKVswXQogICAg
ICAgICAgICAgICAgaWYgbmFtZSBhbmQgbmFtZSBub3QgaW4gbmVlZGVkW3BrZ106CiAgICAgICAg
ICAgICAgICAgICAgIG5lZWRlZFtwa2ddLmFwcGVuZCgobmFtZSwgZmlsZSwgW10pKQoKICAgIGRl
ZiBtaW5nd19kbGwoZmlsZSwgbmVlZGVkLCBzb25hbWVzLCByZW5hbWVzLCBwa2d2ZXIpOgogICAg
ICAgIGlmIG5vdCBvcy5wYXRoLmV4aXN0cyhmaWxlKToKICAgICAgICAgICAgcmV0dXJuCgogICAg
ICAgIGlmIGZpbGUuZW5kc3dpdGgoIi5kbGwiKToKICAgICAgICAgICAgIyBhc3N1bWUgYWxsIGRs
bHMgYXJlIHNoYXJlZCBvYmplY3RzIHByb3ZpZGVkIGJ5IHRoZSBwYWNrYWdlCiAgICAgICAgICAg
IHNvbmFtZXMuYXBwZW5kKChvcy5wYXRoLmJhc2VuYW1lKGZpbGUpLCBvcy5wYXRoLmRpcm5hbWUo
ZmlsZSkucmVwbGFjZShwa2dkZXN0ICsgIi8iICsgcGtnLCAnJyksIHBrZ3ZlcikpCgogICAgICAg
IGlmIChmaWxlLmVuZHN3aXRoKCIuZGxsIikgb3IgZmlsZS5lbmRzd2l0aCgiLmV4ZSIpKToKICAg
ICAgICAgICAgIyB1c2Ugb2JqZHVtcCB0byBzZWFyY2ggZm9yICJETEwgTmFtZTogLipcLmRsbCIK
ICAgICAgICAgICAgcCA9IHN1Yi5Qb3BlbihbZC5leHBhbmQoIiR7SE9TVF9QUkVGSVh9b2JqZHVt
cCIpLCAiLXAiLCBmaWxlXSwgc3Rkb3V0ID0gc3ViLlBJUEUsIHN0ZGVycj0gc3ViLlBJUEUpCiAg
ICAgICAgICAgIG91dCwgZXJyID0gcC5jb21tdW5pY2F0ZSgpCiAgICAgICAgICAgICMgcHJvY2Vz
cyB0aGUgb3V0cHV0LCBncmFiYmluZyBhbGwgLmRsbCBuYW1lcwogICAgICAgICAgICBpZiBwLnJl
dHVybmNvZGUgPT0gMDoKICAgICAgICAgICAgICAgIGZvciBtIGluIHJlLmZpbmRpdGVyKCJETEwg
TmFtZTogKC4qP1wuZGxsKSQiLCBvdXQuZGVjb2RlKCksIHJlLk1VTFRJTElORSB8IHJlLklHTk9S
RUNBU0UpOgogICAgICAgICAgICAgICAgICAgIGRsbG5hbWUgPSBtLmdyb3VwKDEpCiAgICAgICAg
ICAgICAgICAgICAgaWYgZGxsbmFtZToKICAgICAgICAgICAgICAgICAgICAgICAgbmVlZGVkW3Br
Z10uYXBwZW5kKChkbGxuYW1lLCBmaWxlLCBbXSkpCgogICAgaWYgZC5nZXRWYXIoJ1BBQ0tBR0Vf
U05BUF9MSUJfU1lNTElOS1MnKSA9PSAiMSI6CiAgICAgICAgc25hcF9zeW1saW5rcyA9IFRydWUK
ICAgIGVsc2U6CiAgICAgICAgc25hcF9zeW1saW5rcyA9IEZhbHNlCgogICAgdXNlX2xkY29uZmln
ID0gYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdsZGNvbmZpZycsIFRydWUs
IEZhbHNlLCBkKQoKICAgIG5lZWRlZCA9IHt9CiAgICBzaGxpYl9wcm92aWRlciA9IG9lLnBhY2th
Z2UucmVhZF9zaGxpYl9wcm92aWRlcnMoZCkKCiAgICBmb3IgcGtnIGluIHBhY2thZ2VzLnNwbGl0
KCk6CiAgICAgICAgcHJpdmF0ZV9saWJzID0gZC5nZXRWYXIoJ1BSSVZBVEVfTElCU18nICsgcGtn
KSBvciBkLmdldFZhcignUFJJVkFURV9MSUJTJykgb3IgIiIKICAgICAgICBwcml2YXRlX2xpYnMg
PSBwcml2YXRlX2xpYnMuc3BsaXQoKQogICAgICAgIG5lZWRzX2xkY29uZmlnID0gRmFsc2UKICAg
ICAgICBiYi5kZWJ1ZygyLCAiY2FsY3VsYXRpbmcgc2hsaWIgcHJvdmlkZXMgZm9yICVzIiAlIHBr
ZykKCiAgICAgICAgcGtndmVyID0gZC5nZXRWYXIoJ1BLR1ZfJyArIHBrZykKICAgICAgICBpZiBu
b3QgcGtndmVyOgogICAgICAgICAgICBwa2d2ZXIgPSBkLmdldFZhcignUFZfJyArIHBrZykKICAg
ICAgICBpZiBub3QgcGtndmVyOgogICAgICAgICAgICBwa2d2ZXIgPSB2ZXIKCiAgICAgICAgbmVl
ZGVkW3BrZ10gPSBbXQogICAgICAgIHNvbmFtZXMgPSBsaXN0KCkKICAgICAgICByZW5hbWVzID0g
bGlzdCgpCiAgICAgICAgZm9yIGZpbGUgaW4gcGtnZmlsZXNbcGtnXToKICAgICAgICAgICAgICAg
IHNvbmFtZSA9IE5vbmUKICAgICAgICAgICAgICAgIGlmIGNwYXRoLmlzbGluayhmaWxlKToKICAg
ICAgICAgICAgICAgICAgICBjb250aW51ZQogICAgICAgICAgICAgICAgaWYgdGFyZ2V0b3MgPT0g
ImRhcndpbiIgb3IgdGFyZ2V0b3MgPT0gImRhcndpbjgiOgogICAgICAgICAgICAgICAgICAgIGRh
cndpbl9zbyhmaWxlLCBuZWVkZWQsIHNvbmFtZXMsIHJlbmFtZXMsIHBrZ3ZlcikKICAgICAgICAg
ICAgICAgIGVsaWYgdGFyZ2V0b3Muc3RhcnRzd2l0aCgibWluZ3ciKToKICAgICAgICAgICAgICAg
ICAgICBtaW5nd19kbGwoZmlsZSwgbmVlZGVkLCBzb25hbWVzLCByZW5hbWVzLCBwa2d2ZXIpCiAg
ICAgICAgICAgICAgICBlbGlmIG9zLmFjY2VzcyhmaWxlLCBvcy5YX09LKSBvciBsaWJfcmUubWF0
Y2goZmlsZSk6CiAgICAgICAgICAgICAgICAgICAgbGRjb25maWcgPSBsaW51eF9zbyhmaWxlLCBu
ZWVkZWQsIHNvbmFtZXMsIHJlbmFtZXMsIHBrZ3ZlcikKICAgICAgICAgICAgICAgICAgICBuZWVk
c19sZGNvbmZpZyA9IG5lZWRzX2xkY29uZmlnIG9yIGxkY29uZmlnCiAgICAgICAgZm9yIChvbGQs
IG5ldykgaW4gcmVuYW1lczoKICAgICAgICAgICAgYmIubm90ZSgiUmVuYW1pbmcgJXMgdG8gJXMi
ICUgKG9sZCwgbmV3KSkKICAgICAgICAgICAgb3MucmVuYW1lKG9sZCwgbmV3KQogICAgICAgICAg
ICBwa2dmaWxlc1twa2ddLnJlbW92ZShvbGQpCgogICAgICAgIHNobGlic19maWxlID0gb3MucGF0
aC5qb2luKHNobGlic3dvcmtfZGlyLCBwa2cgKyAiLmxpc3QiKQogICAgICAgIGlmIGxlbihzb25h
bWVzKToKICAgICAgICAgICAgZmQgPSBvcGVuKHNobGlic19maWxlLCAndycpCiAgICAgICAgICAg
IGZvciBzIGluIHNvbmFtZXM6CiAgICAgICAgICAgICAgICBpZiBzWzBdIGluIHNobGliX3Byb3Zp
ZGVyIGFuZCBzWzFdIGluIHNobGliX3Byb3ZpZGVyW3NbMF1dOgogICAgICAgICAgICAgICAgICAg
IChvbGRfcGtnLCBvbGRfcGtndmVyKSA9IHNobGliX3Byb3ZpZGVyW3NbMF1dW3NbMV1dCiAgICAg
ICAgICAgICAgICAgICAgaWYgb2xkX3BrZyAhPSBwa2c6CiAgICAgICAgICAgICAgICAgICAgICAg
IGJiLndhcm4oJyVzLSVzIHdhcyByZWdpc3RlcmVkIGFzIHNobGliIHByb3ZpZGVyIGZvciAlcywg
Y2hhbmdpbmcgaXQgdG8gJXMtJXMgYmVjYXVzZSBpdCB3YXMgYnVpbHQgbGF0ZXInICUgKG9sZF9w
a2csIG9sZF9wa2d2ZXIsIHNbMF0sIHBrZywgcGtndmVyKSkKICAgICAgICAgICAgICAgIGJiLmRl
YnVnKDEsICdyZWdpc3RlcmluZyAlcy0lcyBhcyBzaGxpYiBwcm92aWRlciBmb3IgJXMnICUgKHBr
ZywgcGtndmVyLCBzWzBdKSkKICAgICAgICAgICAgICAgIGZkLndyaXRlKHNbMF0gKyAnOicgKyBz
WzFdICsgJzonICsgc1syXSArICdcbicpCiAgICAgICAgICAgICAgICBpZiBzWzBdIG5vdCBpbiBz
aGxpYl9wcm92aWRlcjoKICAgICAgICAgICAgICAgICAgICBzaGxpYl9wcm92aWRlcltzWzBdXSA9
IHt9CiAgICAgICAgICAgICAgICBzaGxpYl9wcm92aWRlcltzWzBdXVtzWzFdXSA9IChwa2csIHBr
Z3ZlcikKICAgICAgICAgICAgZmQuY2xvc2UoKQogICAgICAgIGlmIG5lZWRzX2xkY29uZmlnIGFu
ZCB1c2VfbGRjb25maWc6CiAgICAgICAgICAgIGJiLmRlYnVnKDEsICdhZGRpbmcgbGRjb25maWcg
Y2FsbCB0byBwb3N0aW5zdCBmb3IgJXMnICUgcGtnKQogICAgICAgICAgICBwb3N0aW5zdCA9IGQu
Z2V0VmFyKCdwa2dfcG9zdGluc3RfJXMnICUgcGtnKQogICAgICAgICAgICBpZiBub3QgcG9zdGlu
c3Q6CiAgICAgICAgICAgICAgICBwb3N0aW5zdCA9ICcjIS9iaW4vc2hcbicKICAgICAgICAgICAg
cG9zdGluc3QgKz0gZC5nZXRWYXIoJ2xkY29uZmlnX3Bvc3RpbnN0X2ZyYWdtZW50JykKICAgICAg
ICAgICAgZC5zZXRWYXIoJ3BrZ19wb3N0aW5zdF8lcycgJSBwa2csIHBvc3RpbnN0KQogICAgICAg
IGJiLmRlYnVnKDEsICdMSUJOQU1FUzogcGtnICVzIHNvbmFtZXMgJXMnICUgKHBrZywgc29uYW1l
cykpCgogICAgYmIudXRpbHMudW5sb2NrZmlsZShsZikKCiAgICBhc3N1bWVkX2xpYnMgPSBkLmdl
dFZhcignQVNTVU1FX1NITElCUycpCiAgICBpZiBhc3N1bWVkX2xpYnM6CiAgICAgICAgbGliZGly
ID0gZC5nZXRWYXIoImxpYmRpciIpCiAgICAgICAgZm9yIGUgaW4gYXNzdW1lZF9saWJzLnNwbGl0
KCk6CiAgICAgICAgICAgIGwsIGRlcF9wa2cgPSBlLnNwbGl0KCI6IikKICAgICAgICAgICAgbGli
X3ZlciA9IE5vbmUKICAgICAgICAgICAgZGVwX3BrZyA9IGRlcF9wa2cucnNwbGl0KCJfIiwgMSkK
ICAgICAgICAgICAgaWYgbGVuKGRlcF9wa2cpID09IDI6CiAgICAgICAgICAgICAgICBsaWJfdmVy
ID0gZGVwX3BrZ1sxXQogICAgICAgICAgICBkZXBfcGtnID0gZGVwX3BrZ1swXQogICAgICAgICAg
ICBpZiBsIG5vdCBpbiBzaGxpYl9wcm92aWRlcjoKICAgICAgICAgICAgICAgIHNobGliX3Byb3Zp
ZGVyW2xdID0ge30KICAgICAgICAgICAgc2hsaWJfcHJvdmlkZXJbbF1bbGliZGlyXSA9IChkZXBf
cGtnLCBsaWJfdmVyKQoKICAgIGxpYnNlYXJjaHBhdGggPSBbZC5nZXRWYXIoJ2xpYmRpcicpLCBk
LmdldFZhcignYmFzZV9saWJkaXInKV0KCiAgICBmb3IgcGtnIGluIHBhY2thZ2VzLnNwbGl0KCk6
CiAgICAgICAgYmIuZGVidWcoMiwgImNhbGN1bGF0aW5nIHNobGliIHJlcXVpcmVtZW50cyBmb3Ig
JXMiICUgcGtnKQoKICAgICAgICBkZXBzID0gbGlzdCgpCiAgICAgICAgZm9yIG4gaW4gbmVlZGVk
W3BrZ106CiAgICAgICAgICAgICMgaWYgbiBpcyBpbiBwcml2YXRlIGxpYnJhcmllcywgZG9uJ3Qg
dHJ5IHRvIHNlYXJjaCBwcm92aWRlciBmb3IgaXQKICAgICAgICAgICAgIyB0aGlzIGNvdWxkIGNh
dXNlIHByb2JsZW0gaW4gY2FzZSBzb21lIGFiYy5iYiBwcm92aWRlcyBwcml2YXRlCiAgICAgICAg
ICAgICMgL29wdC9hYmMvbGliL2xpYmZvby5zby4xIGFuZCBjb250YWlucyAvdXNyL2Jpbi9hYmMg
ZGVwZW5kaW5nIG9uIHN5c3RlbSBsaWJyYXJ5IGxpYmZvby5zby4xCiAgICAgICAgICAgICMgYnV0
IHNraXBwaW5nIGl0IGlzIHN0aWxsIGJldHRlciBhbHRlcm5hdGl2ZSB0aGFuIHByb3ZpZGluZyBv
d24KICAgICAgICAgICAgIyB2ZXJzaW9uIGFuZCB0aGVuIGFkZGluZyBydW50aW1lIGRlcGVuZGVu
Y3kgZm9yIHRoZSBzYW1lIHN5c3RlbSBsaWJyYXJ5CiAgICAgICAgICAgIGlmIHByaXZhdGVfbGli
cyBhbmQgblswXSBpbiBwcml2YXRlX2xpYnM6CiAgICAgICAgICAgICAgICBiYi5kZWJ1ZygyLCAn
JXM6IERlcGVuZGVuY3kgJXMgY292ZXJlZCBieSBQUklWQVRFX0xJQlMnICUgKHBrZywgblswXSkp
CiAgICAgICAgICAgICAgICBjb250aW51ZQogICAgICAgICAgICBpZiBuWzBdIGluIHNobGliX3By
b3ZpZGVyLmtleXMoKToKICAgICAgICAgICAgICAgIHNobGliX3Byb3ZpZGVyX3BhdGggPSBbXQog
ICAgICAgICAgICAgICAgZm9yIGsgaW4gc2hsaWJfcHJvdmlkZXJbblswXV0ua2V5cygpOgogICAg
ICAgICAgICAgICAgICAgIHNobGliX3Byb3ZpZGVyX3BhdGguYXBwZW5kKGspCiAgICAgICAgICAg
ICAgICBtYXRjaCA9IE5vbmUKICAgICAgICAgICAgICAgIGZvciBwIGluIG5bMl0gKyBzaGxpYl9w
cm92aWRlcl9wYXRoICsgbGlic2VhcmNocGF0aDoKICAgICAgICAgICAgICAgICAgICBpZiBwIGlu
IHNobGliX3Byb3ZpZGVyW25bMF1dOgogICAgICAgICAgICAgICAgICAgICAgICBtYXRjaCA9IHAK
ICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWsKICAgICAgICAgICAgICAgIGlmIG1hdGNoOgog
ICAgICAgICAgICAgICAgICAgIChkZXBfcGtnLCB2ZXJfbmVlZGVkKSA9IHNobGliX3Byb3ZpZGVy
W25bMF1dW21hdGNoXQoKICAgICAgICAgICAgICAgICAgICBiYi5kZWJ1ZygyLCAnJXM6IERlcGVu
ZGVuY3kgJXMgcmVxdWlyZXMgcGFja2FnZSAlcyAodXNlZCBieSBmaWxlczogJXMpJyAlIChwa2cs
IG5bMF0sIGRlcF9wa2csIG5bMV0pKQoKICAgICAgICAgICAgICAgICAgICBpZiBkZXBfcGtnID09
IHBrZzoKICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWUKCiAgICAgICAgICAgICAgICAg
ICAgaWYgdmVyX25lZWRlZDoKICAgICAgICAgICAgICAgICAgICAgICAgZGVwID0gIiVzICg+PSAl
cykiICUgKGRlcF9wa2csIHZlcl9uZWVkZWQpCiAgICAgICAgICAgICAgICAgICAgZWxzZToKICAg
ICAgICAgICAgICAgICAgICAgICAgZGVwID0gZGVwX3BrZwogICAgICAgICAgICAgICAgICAgIGlm
IG5vdCBkZXAgaW4gZGVwczoKICAgICAgICAgICAgICAgICAgICAgICAgZGVwcy5hcHBlbmQoZGVw
KQogICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCiAgICAgICAgICAgIGJiLm5vdGUoIkNvdWxk
bid0IGZpbmQgc2hhcmVkIGxpYnJhcnkgcHJvdmlkZXIgZm9yICVzLCB1c2VkIGJ5IGZpbGVzOiAl
cyIgJSAoblswXSwgblsxXSkpCgogICAgICAgIGRlcHNfZmlsZSA9IG9zLnBhdGguam9pbihwa2dk
ZXN0LCBwa2cgKyAiLnNobGliZGVwcyIpCiAgICAgICAgaWYgb3MucGF0aC5leGlzdHMoZGVwc19m
aWxlKToKICAgICAgICAgICAgb3MucmVtb3ZlKGRlcHNfZmlsZSkKICAgICAgICBpZiBsZW4oZGVw
cyk6CiAgICAgICAgICAgIGZkID0gb3BlbihkZXBzX2ZpbGUsICd3JykKICAgICAgICAgICAgZm9y
IGRlcCBpbiBkZXBzOgogICAgICAgICAgICAgICAgZmQud3JpdGUoZGVwICsgJ1xuJykKICAgICAg
ICAgICAgZmQuY2xvc2UoKQp9CgoKcHl0aG9uIHBhY2thZ2VfZG9fc3BsaXRfbG9jYWxlcyAoKSB7
CiAgICBpZiAoZC5nZXRWYXIoJ1BBQ0tBR0VfTk9fTE9DQUxFJykgPT0gJzEnKToKICAgICAgICBi
Yi5kZWJ1ZygxLCAicGFja2FnZSByZXF1ZXN0ZWQgbm90IHNwbGl0dGluZyBsb2NhbGVzIikKICAg
ICAgICByZXR1cm4KCiAgICBwYWNrYWdlcyA9IChkLmdldFZhcignUEFDS0FHRVMnKSBvciAiIiku
c3BsaXQoKQoKICAgIGRhdGFkaXIgPSBkLmdldFZhcignZGF0YWRpcicpCiAgICBpZiBub3QgZGF0
YWRpcjoKICAgICAgICBiYi5ub3RlKCJkYXRhZGlyIG5vdCBkZWZpbmVkIikKICAgICAgICByZXR1
cm4KCiAgICBkdmFyID0gZC5nZXRWYXIoJ1BLR0QnKQogICAgcG4gPSBkLmdldFZhcignTE9DQUxF
QkFTRVBOJykKCiAgICBpZiBwbiArICctbG9jYWxlJyBpbiBwYWNrYWdlczoKICAgICAgICBwYWNr
YWdlcy5yZW1vdmUocG4gKyAnLWxvY2FsZScpCgogICAgbG9jYWxlZGlyID0gb3MucGF0aC5qb2lu
KGR2YXIgKyBkYXRhZGlyLCAnbG9jYWxlJykKCiAgICBpZiBub3QgY3BhdGguaXNkaXIobG9jYWxl
ZGlyKToKICAgICAgICBiYi5kZWJ1ZygxLCAiTm8gbG9jYWxlIGZpbGVzIGluIHRoaXMgcGFja2Fn
ZSIpCiAgICAgICAgcmV0dXJuCgogICAgbG9jYWxlcyA9IG9zLmxpc3RkaXIobG9jYWxlZGlyKQoK
ICAgIHN1bW1hcnkgPSBkLmdldFZhcignU1VNTUFSWScpIG9yIHBuCiAgICBkZXNjcmlwdGlvbiA9
IGQuZ2V0VmFyKCdERVNDUklQVElPTicpIG9yICIiCiAgICBsb2NhbGVfc2VjdGlvbiA9IGQuZ2V0
VmFyKCdMT0NBTEVfU0VDVElPTicpCiAgICBtbHByZWZpeCA9IGQuZ2V0VmFyKCdNTFBSRUZJWCcp
IG9yICIiCiAgICBmb3IgbCBpbiBzb3J0ZWQobG9jYWxlcyk6CiAgICAgICAgbG4gPSBsZWdpdGlt
aXplX3BhY2thZ2VfbmFtZShsKQogICAgICAgIHBrZyA9IHBuICsgJy1sb2NhbGUtJyArIGxuCiAg
ICAgICAgcGFja2FnZXMuYXBwZW5kKHBrZykKICAgICAgICBkLnNldFZhcignRklMRVNfJyArIHBr
Zywgb3MucGF0aC5qb2luKGRhdGFkaXIsICdsb2NhbGUnLCBsKSkKICAgICAgICBkLnNldFZhcign
UlJFQ09NTUVORFNfJyArIHBrZywgJyVzdmlydHVhbC1sb2NhbGUtJXMnICUgKG1scHJlZml4LCBs
bikpCiAgICAgICAgZC5zZXRWYXIoJ1JQUk9WSURFU18nICsgcGtnLCAnJXMtbG9jYWxlICVzJXMt
dHJhbnNsYXRpb24nICUgKHBuLCBtbHByZWZpeCwgbG4pKQogICAgICAgIGQuc2V0VmFyKCdTVU1N
QVJZXycgKyBwa2csICclcyAtICVzIHRyYW5zbGF0aW9ucycgJSAoc3VtbWFyeSwgbCkpCiAgICAg
ICAgZC5zZXRWYXIoJ0RFU0NSSVBUSU9OXycgKyBwa2csICclcyAgVGhpcyBwYWNrYWdlIGNvbnRh
aW5zIGxhbmd1YWdlIHRyYW5zbGF0aW9uIGZpbGVzIGZvciB0aGUgJXMgbG9jYWxlLicgJSAoZGVz
Y3JpcHRpb24sIGwpKQogICAgICAgIGlmIGxvY2FsZV9zZWN0aW9uOgogICAgICAgICAgICBkLnNl
dFZhcignU0VDVElPTl8nICsgcGtnLCBsb2NhbGVfc2VjdGlvbikKCiAgICBkLnNldFZhcignUEFD
S0FHRVMnLCAnICcuam9pbihwYWNrYWdlcykpCgogICAgIyBEaXNhYmxlZCBieSBSUCAxOC8wNi8w
NwogICAgIyBXaWxkY2FyZHMgYXJlbid0IHN1cHBvcnRlZCBpbiBkZWJpYW4KICAgICMgVGhleSBi
cmVhayB3aXRoIGlwa2cgc2luY2UgZ2xpYmMtbG9jYWxlKiB3aWxsIG1lYW4gdGhhdAogICAgIyBn
bGliYy1sb2NhbGVkYXRhLXRyYW5zbGl0KiB3b24ndCBpbnN0YWxsIGFzIGEgZGVwZW5kZW5jeQog
ICAgIyBmb3Igc29tZSBvdGhlciBwYWNrYWdlIHdoaWNoIGJyZWFrcyBtZXRhLXRvb2xjaGFpbgog
ICAgIyBQcm9iYWJseSBicmVha3Mgc2luY2UgdmlydHVhbC1sb2NhbGUtIGlzbid0IHByb3ZpZGVk
IGFueXdoZXJlCiAgICAjcmRlcCA9IChkLmdldFZhcignUkRFUEVORFNfJXMnICUgcG4pIG9yICIi
KS5zcGxpdCgpCiAgICAjcmRlcC5hcHBlbmQoJyVzLWxvY2FsZSonICUgcG4pCiAgICAjZC5zZXRW
YXIoJ1JERVBFTkRTXyVzJyAlIHBuLCAnICcuam9pbihyZGVwKSkKfQoKCnB5dGhvbiBwYWNrYWdl
X2ZpeHN5bWxpbmtzICgpIHsKICAgIGltcG9ydCBlcnJubwogICAgcGtnZGVzdCA9IGQuZ2V0VmFy
KCdQS0dERVNUJykKICAgIHBhY2thZ2VzID0gZC5nZXRWYXIoIlBBQ0tBR0VTIiwgRmFsc2UpLnNw
bGl0KCkKCiAgICBkYW5nbGluZ19saW5rcyA9IHt9CiAgICBwa2dfZmlsZXMgPSB7fQogICAgZm9y
IHBrZyBpbiBwYWNrYWdlczoKICAgICAgICBkYW5nbGluZ19saW5rc1twa2ddID0gW10KICAgICAg
ICBwa2dfZmlsZXNbcGtnXSA9IFtdCiAgICAgICAgaW5zdF9yb290ID0gb3MucGF0aC5qb2luKHBr
Z2Rlc3QsIHBrZykKICAgICAgICBmb3IgcGF0aCBpbiBwa2dmaWxlc1twa2ddOgogICAgICAgICAg
ICAgICAgcnBhdGggPSBwYXRoW2xlbihpbnN0X3Jvb3QpOl0KICAgICAgICAgICAgICAgIHBrZ19m
aWxlc1twa2ddLmFwcGVuZChycGF0aCkKICAgICAgICAgICAgICAgIHJ0YXJnZXQgPSBjcGF0aC5y
ZWFscGF0aChwYXRoLCBpbnN0X3Jvb3QsIFRydWUsIGFzc3VtZV9kaXIgPSBUcnVlKQogICAgICAg
ICAgICAgICAgaWYgbm90IGNwYXRoLmxleGlzdHMocnRhcmdldCk6CiAgICAgICAgICAgICAgICAg
ICAgZGFuZ2xpbmdfbGlua3NbcGtnXS5hcHBlbmQob3MucGF0aC5ub3JtcGF0aChydGFyZ2V0W2xl
bihpbnN0X3Jvb3QpOl0pKQoKICAgIG5ld3JkZXBlbmRzID0ge30KICAgIGZvciBwa2cgaW4gZGFu
Z2xpbmdfbGlua3M6CiAgICAgICAgZm9yIGwgaW4gZGFuZ2xpbmdfbGlua3NbcGtnXToKICAgICAg
ICAgICAgZm91bmQgPSBGYWxzZQogICAgICAgICAgICBiYi5kZWJ1ZygxLCAiJXMgY29udGFpbnMg
ZGFuZ2xpbmcgbGluayAlcyIgJSAocGtnLCBsKSkKICAgICAgICAgICAgZm9yIHAgaW4gcGFja2Fn
ZXM6CiAgICAgICAgICAgICAgICBpZiBsIGluIHBrZ19maWxlc1twXToKICAgICAgICAgICAgICAg
ICAgICAgICAgZm91bmQgPSBUcnVlCiAgICAgICAgICAgICAgICAgICAgICAgIGJiLmRlYnVnKDEs
ICJ0YXJnZXQgZm91bmQgaW4gJXMiICUgcCkKICAgICAgICAgICAgICAgICAgICAgICAgaWYgcCA9
PSBwa2c6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhawogICAgICAgICAgICAgICAg
ICAgICAgICBpZiBwa2cgbm90IGluIG5ld3JkZXBlbmRzOgogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgbmV3cmRlcGVuZHNbcGtnXSA9IFtdCiAgICAgICAgICAgICAgICAgICAgICAgIG5ld3Jk
ZXBlbmRzW3BrZ10uYXBwZW5kKHApCiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrCiAgICAg
ICAgICAgIGlmIGZvdW5kID09IEZhbHNlOgogICAgICAgICAgICAgICAgYmIubm90ZSgiJXMgY29u
dGFpbnMgZGFuZ2xpbmcgc3ltbGluayB0byAlcyIgJSAocGtnLCBsKSkKCiAgICBmb3IgcGtnIGlu
IG5ld3JkZXBlbmRzOgogICAgICAgIHJkZXBlbmRzID0gYmIudXRpbHMuZXhwbG9kZV9kZXBfdmVy
c2lvbnMyKGQuZ2V0VmFyKCdSREVQRU5EU18nICsgcGtnKSBvciAiIikKICAgICAgICBmb3IgcCBp
biBuZXdyZGVwZW5kc1twa2ddOgogICAgICAgICAgICBpZiBwIG5vdCBpbiByZGVwZW5kczoKICAg
ICAgICAgICAgICAgIHJkZXBlbmRzW3BdID0gW10KICAgICAgICBkLnNldFZhcignUkRFUEVORFNf
JyArIHBrZywgYmIudXRpbHMuam9pbl9kZXBzKHJkZXBlbmRzLCBjb21tYXNlcD1GYWxzZSkpCn0K
CgpweXRob24gcGFja2FnZV9nZXRfYXV0b19wciAoKSB7CiAgICBpbXBvcnQgb2UucHJzZXJ2aWNl
CiAgICBpbXBvcnQgcmUKCiAgICAjIFN1cHBvcnQgcGVyIHJlY2lwZSBQUlNFUlZfSE9TVAogICAg
cG4gPSBkLmdldFZhcignUE4nKQogICAgaG9zdCA9IGQuZ2V0VmFyKCJQUlNFUlZfSE9TVF8iICsg
cG4pCiAgICBpZiBub3QgKGhvc3QgaXMgTm9uZSk6CiAgICAgICAgZC5zZXRWYXIoIlBSU0VSVl9I
T1NUIiwgaG9zdCkKCiAgICBwa2d2ID0gZC5nZXRWYXIoIlBLR1YiKQoKICAgICMgUFIgU2VydmVy
IG5vdCBhY3RpdmUsIGhhbmRsZSBBVVRPSU5DCiAgICBpZiBub3QgZC5nZXRWYXIoJ1BSU0VSVl9I
T1NUJyk6CiAgICAgICAgaWYgJ0FVVE9JTkMnIGluIHBrZ3Y6CiAgICAgICAgICAgIGQuc2V0VmFy
KCJQS0dWIiwgcGtndi5yZXBsYWNlKCJBVVRPSU5DIiwgIjAiKSkKICAgICAgICByZXR1cm4KCiAg
ICBhdXRvX3ByID0gTm9uZQogICAgcHYgPSBkLmdldFZhcigiUFYiKQogICAgdmVyc2lvbiA9IGQu
Z2V0VmFyKCJQUkFVVE9JTlgiKQogICAgcGtnYXJjaCA9IGQuZ2V0VmFyKCJQQUNLQUdFX0FSQ0gi
KQogICAgY2hlY2tzdW0gPSBkLmdldFZhcigiQkJfVEFTS0hBU0giKQoKICAgIGlmIGQuZ2V0VmFy
KCdQUlNFUlZfTE9DS0RPV04nKToKICAgICAgICBhdXRvX3ByID0gZC5nZXRWYXIoJ1BSQVVUT18n
ICsgdmVyc2lvbiArICdfJyArIHBrZ2FyY2gpIG9yIGQuZ2V0VmFyKCdQUkFVVE9fJyArIHZlcnNp
b24pIG9yIE5vbmUKICAgICAgICBpZiBhdXRvX3ByIGlzIE5vbmU6CiAgICAgICAgICAgIGJiLmZh
dGFsKCJDYW4gTk9UIGdldCBQUkFVVE8gZnJvbSBsb2NrZG93biBleHBvcnRlZCBmaWxlIikKICAg
ICAgICBkLnNldFZhcignUFJBVVRPJyxzdHIoYXV0b19wcikpCiAgICAgICAgcmV0dXJuCgogICAg
dHJ5OgogICAgICAgIGNvbm4gPSBkLmdldFZhcigiX19QUlNFUlZfQ09OTiIpCiAgICAgICAgaWYg
Y29ubiBpcyBOb25lOgogICAgICAgICAgICBjb25uID0gb2UucHJzZXJ2aWNlLnByc2Vydl9tYWtl
X2Nvbm4oZCkKICAgICAgICBpZiBjb25uIGlzIG5vdCBOb25lOgogICAgICAgICAgICBpZiAiQVVU
T0lOQyIgaW4gcGtndjoKICAgICAgICAgICAgICAgIHNyY3B2ID0gYmIuZmV0Y2gyLmdldF9zcmNy
ZXYoZCkKICAgICAgICAgICAgICAgIGJhc2VfdmVyID0gIkFVVE9JTkMtJXMiICUgdmVyc2lvbls6
dmVyc2lvbi5maW5kKHNyY3B2KV0KICAgICAgICAgICAgICAgIHZhbHVlID0gY29ubi5nZXRQUihi
YXNlX3ZlciwgcGtnYXJjaCwgc3JjcHYpCiAgICAgICAgICAgICAgICBkLnNldFZhcigiUEtHViIs
IHBrZ3YucmVwbGFjZSgiQVVUT0lOQyIsIHN0cih2YWx1ZSkpKQoKICAgICAgICAgICAgYXV0b19w
ciA9IGNvbm4uZ2V0UFIodmVyc2lvbiwgcGtnYXJjaCwgY2hlY2tzdW0pCiAgICBleGNlcHQgRXhj
ZXB0aW9uIGFzIGU6CiAgICAgICAgYmIuZmF0YWwoIkNhbiBOT1QgZ2V0IFBSQVVUTywgZXhjZXB0
aW9uICVzIiAlICBzdHIoZSkpCiAgICBpZiBhdXRvX3ByIGlzIE5vbmU6CiAgICAgICAgYmIuZmF0
YWwoIkNhbiBOT1QgZ2V0IFBSQVVUTyBmcm9tIHJlbW90ZSBQUiBzZXJ2aWNlIikKICAgIGQuc2V0
VmFyKCdQUkFVVE8nLHN0cihhdXRvX3ByKSkKfQoKCnB5dGhvbiBwYWNrYWdlX25hbWVfaG9vayAo
KSB7CiAgICBiYi5idWlsZC5leGVjX2Z1bmMoJ2RlYmlhbl9wYWNrYWdlX25hbWVfaG9vaycsIGQp
Cn0KCgpweXRob24gcGFja2FnZV9wYWNrYWdlX25hbWVfaG9vayAoKSB7CiAgICAiIiIKICAgIEEg
cGFja2FnZV9uYW1lX2hvb2sgZnVuY3Rpb24gY2FuIGJlIHVzZWQgdG8gcmV3cml0ZSB0aGUgcGFj
a2FnZSBuYW1lcyBieQogICAgY2hhbmdpbmcgUEtHLiAgRm9yIGFuIGV4YW1wbGUsIHNlZSBkZWJp
YW4uYmJjbGFzcy4KICAgICIiIgogICAgcGFzcwp9CgoKcHl0aG9uIHBhY2thZ2VfcWFfYWRkX21l
c3NhZ2UgKCkgewpkZWYgcGFja2FnZV9xYV9hZGRfbWVzc2FnZShtZXNzYWdlcywgc2VjdGlvbiwg
bmV3X21zZyk6CiAgICBpZiBzZWN0aW9uIG5vdCBpbiBtZXNzYWdlczoKICAgICAgICBtZXNzYWdl
c1tzZWN0aW9uXSA9IG5ld19tc2cKICAgIGVsc2U6CiAgICAgICAgbWVzc2FnZXNbc2VjdGlvbl0g
PSBtZXNzYWdlc1tzZWN0aW9uXSArICJcbiIgKyBuZXdfbXNnCn0KCgpweXRob24gcGFja2FnZV9x
YV9jaGVja19hcmNoICgpIHsKZGVmIHBhY2thZ2VfcWFfY2hlY2tfYXJjaChwYXRoLG5hbWUsZCwg
ZWxmLCBtZXNzYWdlcyk6CiAgICAiIiIKICAgIENoZWNrIGlmIGFyY2hzIGFyZSBjb21wYXRpYmxl
CiAgICAiIiIKICAgIGltcG9ydCByZQoKICAgIGlmIG5vdCBlbGY6CiAgICAgICAgcmV0dXJuCgog
ICAgdGFyZ2V0X29zICAgPSBkLmdldFZhcignVEFSR0VUX09TJykKICAgIHRhcmdldF9hcmNoID0g
ZC5nZXRWYXIoJ1RBUkdFVF9BUkNIJykKICAgIHByb3ZpZGVzID0gZC5nZXRWYXIoJ1BST1ZJREVT
JykKICAgIGJwbiA9IGQuZ2V0VmFyKCdCUE4nKQoKICAgIGlmIHRhcmdldF9hcmNoID09ICJhbGxh
cmNoIjoKICAgICAgICBwbiA9IGQuZ2V0VmFyKCdQTicpCiAgICAgICAgcGFja2FnZV9xYV9hZGRf
bWVzc2FnZShtZXNzYWdlcywgImFyY2giLCBwbiArICI6IFJlY2lwZSBpbmhlcml0cyB0aGUgYWxs
YXJjaCBjbGFzcywgYnV0IGhhcyBwYWNrYWdlZCBhcmNoaXRlY3R1cmUtc3BlY2lmaWMgYmluYXJp
ZXMiKQogICAgICAgIHJldHVybgoKICAgICMgRklYTUU6IENyb3NzIHBhY2thZ2UgY29uZnVzZSB0
aGlzIGNoZWNrLCBzbyBqdXN0IHNraXAgdGhlbQogICAgZm9yIHMgaW4gWydjcm9zcycsICduYXRp
dmVzZGsnLCAnY3Jvc3MtY2FuYWRpYW4nXToKICAgICAgICBpZiBiYi5kYXRhLmluaGVyaXRzX2Ns
YXNzKHMsIGQpOgogICAgICAgICAgICByZXR1cm4KCiAgICAjIGF2b2lkIGZvbGxvd2luZyBsaW5r
cyB0byAvdXNyL2JpbiAoZS5nLiBvbiB1ZGV2IGJ1aWxkcykKICAgICMgd2Ugd2lsbCBjaGVjayB0
aGUgZmlsZXMgcG9pbnRlZCB0byBhbnl3YXkuLi4KICAgIGlmIG9zLnBhdGguaXNsaW5rKHBhdGgp
OgogICAgICAgIHJldHVybgoKICAgICNpZiB0aGlzIHdpbGwgdGhyb3cgYW4gZXhjZXB0aW9uLCB0
aGVuIGZpeCB0aGUgZGljdCBhYm92ZQogICAgKG1hY2hpbmUsIG9zYWJpLCBhYml2ZXJzaW9uLCBs
aXR0bGVlbmRpYW4sIGJpdHMpIFwKICAgICAgICA9IHBhY2thZ2VfcWFfZ2V0X21hY2hpbmVfZGlj
dChkKVt0YXJnZXRfb3NdW3RhcmdldF9hcmNoXQoKICAgICMgQ2hlY2sgdGhlIGFyY2hpdGVjdHVy
ZSBhbmQgZW5kaWFubmVzIG9mIHRoZSBiaW5hcnkKICAgIGlzXzMyID0gKCgidmlydHVhbC9rZXJu
ZWwiIGluIHByb3ZpZGVzKSBvciBiYi5kYXRhLmluaGVyaXRzX2NsYXNzKCJtb2R1bGUiLCBkKSkg
YW5kIFwKICAgICAgICAgICAgKHRhcmdldF9vcyA9PSAibGludXgtZ251eDMyIiBvciByZS5tYXRj
aCgnbWlwczY0LiozMicsIGQuZ2V0VmFyKCdERUZBVUxUVFVORScpKSkKICAgIGlmIG5vdCAoKG1h
Y2hpbmUgPT0gZWxmLm1hY2hpbmUoKSkgb3IgaXNfMzIpOgogICAgICAgIHBhY2thZ2VfcWFfYWRk
X21lc3NhZ2UobWVzc2FnZXMsICJhcmNoIiwgIkFyY2hpdGVjdHVyZSBkaWQgbm90IG1hdGNoICgl
cywgZXhwZWN0ZWQgJXMpIG9uICVzIiAlIFwKICAgICAgICAgICAgICAgICAob2UucWEuZWxmX21h
Y2hpbmVfdG9fc3RyaW5nKGVsZi5tYWNoaW5lKCkpLCBvZS5xYS5lbGZfbWFjaGluZV90b19zdHJp
bmcobWFjaGluZSksIHBhY2thZ2VfcWFfY2xlYW5fcGF0aChwYXRoLGQpKSkKICAgIGVsaWYgbm90
ICgoYml0cyA9PSBlbGYuYWJpU2l6ZSgpKSBvciBpc18zMik6CiAgICAgICAgcGFja2FnZV9xYV9h
ZGRfbWVzc2FnZShtZXNzYWdlcywgImFyY2giLCAiQml0IHNpemUgZGlkIG5vdCBtYXRjaCAoJWQg
dG8gJWQpICVzIG9uICVzIiAlIFwKICAgICAgICAgICAgICAgICAoYml0cywgZWxmLmFiaVNpemUo
KSwgYnBuLCBwYWNrYWdlX3FhX2NsZWFuX3BhdGgocGF0aCxkKSkpCiAgICBlbGlmIG5vdCBsaXR0
bGVlbmRpYW4gPT0gZWxmLmlzTGl0dGxlRW5kaWFuKCk6CiAgICAgICAgcGFja2FnZV9xYV9hZGRf
bWVzc2FnZShtZXNzYWdlcywgImFyY2giLCAiRW5kaWFubmVzIGRpZCBub3QgbWF0Y2ggKCVkIHRv
ICVkKSBvbiAlcyIgJSBcCiAgICAgICAgICAgICAgICAgKGxpdHRsZWVuZGlhbiwgZWxmLmlzTGl0
dGxlRW5kaWFuKCksIHBhY2thZ2VfcWFfY2xlYW5fcGF0aChwYXRoLGQpKSkKfQoKCnB5dGhvbiBw
YWNrYWdlX3FhX2NoZWNrX2J1aWxkcGF0aHMgKCkgewpkZWYgcGFja2FnZV9xYV9jaGVja19idWls
ZHBhdGhzKHBhdGgsIG5hbWUsIGQsIGVsZiwgbWVzc2FnZXMpOgogICAgIiIiCiAgICBDaGVjayBm
b3IgYnVpbGQgcGF0aHMgaW5zaWRlIHRhcmdldCBmaWxlcyBhbmQgZXJyb3IgaWYgbm90IGZvdW5k
IGluIHRoZSB3aGl0ZWxpc3QKICAgICIiIgogICAgIyBJZ25vcmUgLmRlYnVnIGZpbGVzLCBub3Qg
aW50ZXJlc3RpbmcKICAgIGlmIHBhdGguZmluZCgiLmRlYnVnIikgIT0gLTE6CiAgICAgICAgcmV0
dXJuCgogICAgIyBJZ25vcmUgc3ltbGlua3MKICAgIGlmIG9zLnBhdGguaXNsaW5rKHBhdGgpOgog
ICAgICAgIHJldHVybgoKICAgICMgSWdub3JlIGlwayBhbmQgZGViJ3MgQ09OVFJPTCBkaXIKICAg
IGlmIHBhdGguZmluZChuYW1lICsgIi9DT05UUk9MLyIpICE9IC0xIG9yIHBhdGguZmluZChuYW1l
ICsgIi9ERUJJQU4vIikgIT0gLTE6CiAgICAgICAgcmV0dXJuCgogICAgdG1wZGlyID0gZC5nZXRW
YXIoJ1RNUERJUicpCiAgICB3aXRoIG9wZW4ocGF0aCwgJ3JiJykgYXMgZjoKICAgICAgICBmaWxl
X2NvbnRlbnQgPSBmLnJlYWQoKS5kZWNvZGUoJ3V0Zi04JywgZXJyb3JzPSdpZ25vcmUnKQogICAg
ICAgIGlmIHRtcGRpciBpbiBmaWxlX2NvbnRlbnQ6CiAgICAgICAgICAgIHBhY2thZ2VfcWFfYWRk
X21lc3NhZ2UobWVzc2FnZXMsICJidWlsZHBhdGhzIiwgIkZpbGUgJXMgaW4gcGFja2FnZSBjb250
YWluZWQgcmVmZXJlbmNlIHRvIHRtcGRpciIgJSBwYWNrYWdlX3FhX2NsZWFuX3BhdGgocGF0aCxk
KSkKCn0KCgpweXRob24gcGFja2FnZV9xYV9jaGVja19kYmcgKCkgewpkZWYgcGFja2FnZV9xYV9j
aGVja19kYmcocGF0aCwgbmFtZSwgZCwgZWxmLCBtZXNzYWdlcyk6CiAgICAiIiIKICAgIENoZWNr
IGZvciAiLmRlYnVnIiBmaWxlcyBvciBkaXJlY3RvcmllcyBvdXRzaWRlIG9mIHRoZSBkYmcgcGFj
a2FnZQogICAgIiIiCgogICAgaWYgbm90ICItZGJnIiBpbiBuYW1lIGFuZCBub3QgIi1wdGVzdCIg
aW4gbmFtZToKICAgICAgICBpZiAnLmRlYnVnJyBpbiBwYXRoLnNwbGl0KG9zLnBhdGguc2VwKToK
ICAgICAgICAgICAgcGFja2FnZV9xYV9hZGRfbWVzc2FnZShtZXNzYWdlcywgImRlYnVnLWZpbGVz
IiwgIm5vbiBkZWJ1ZyBwYWNrYWdlIGNvbnRhaW5zIC5kZWJ1ZyBkaXJlY3Rvcnk6ICVzIHBhdGgg
JXMiICUgXAogICAgICAgICAgICAgICAgICAgICAobmFtZSwgcGFja2FnZV9xYV9jbGVhbl9wYXRo
KHBhdGgsZCkpKQp9CgoKcHl0aG9uIHBhY2thZ2VfcWFfY2hlY2tfZGVwcyAoKSB7CmRlZiBwYWNr
YWdlX3FhX2NoZWNrX2RlcHMocGtnLCBwa2dkZXN0LCBza2lwLCBkKToKCiAgICBsb2NhbGRhdGEg
PSBiYi5kYXRhLmNyZWF0ZUNvcHkoZCkKICAgIGxvY2FsZGF0YS5zZXRWYXIoJ09WRVJSSURFUycs
IHBrZykKCiAgICBkZWYgY2hlY2tfdmFsaWRfZGVwcyh2YXIpOgogICAgICAgIHRyeToKICAgICAg
ICAgICAgcnZhciA9IGJiLnV0aWxzLmV4cGxvZGVfZGVwX3ZlcnNpb25zMihsb2NhbGRhdGEuZ2V0
VmFyKHZhcikgb3IgIiIpCiAgICAgICAgZXhjZXB0IFZhbHVlRXJyb3IgYXMgZToKICAgICAgICAg
ICAgYmIuZmF0YWwoIiVzXyVzOiAlcyIgJSAodmFyLCBwa2csIGUpKQogICAgICAgIGZvciBkZXAg
aW4gcnZhcjoKICAgICAgICAgICAgZm9yIHYgaW4gcnZhcltkZXBdOgogICAgICAgICAgICAgICAg
aWYgdiBhbmQgbm90IHYuc3RhcnRzd2l0aCgoJzwgJywgJz0gJywgJz4gJywgJzw9ICcsICc+PScp
KToKICAgICAgICAgICAgICAgICAgICBlcnJvcl9tc2cgPSAiJXNfJXMgaXMgaW52YWxpZDogJXMg
KCVzKSAgIG9ubHkgY29tcGFyaXNvbnMgPCwgPSwgPiwgPD0sIGFuZCA+PSBhcmUgYWxsb3dlZCIg
JSAodmFyLCBwa2csIGRlcCwgdikKICAgICAgICAgICAgICAgICAgICBwYWNrYWdlX3FhX2hhbmRs
ZV9lcnJvcigiZGVwLWNtcCIsIGVycm9yX21zZywgZCkKCiAgICBjaGVja192YWxpZF9kZXBzKCdS
REVQRU5EUycpCiAgICBjaGVja192YWxpZF9kZXBzKCdSUkVDT01NRU5EUycpCiAgICBjaGVja192
YWxpZF9kZXBzKCdSU1VHR0VTVFMnKQogICAgY2hlY2tfdmFsaWRfZGVwcygnUlBST1ZJREVTJykK
ICAgIGNoZWNrX3ZhbGlkX2RlcHMoJ1JSRVBMQUNFUycpCiAgICBjaGVja192YWxpZF9kZXBzKCdS
Q09ORkxJQ1RTJykKfQoKCnB5dGhvbiBwYWNrYWdlX3FhX2NoZWNrX2Rlc2t0b3AgKCkgewpkZWYg
cGFja2FnZV9xYV9jaGVja19kZXNrdG9wKHBhdGgsIG5hbWUsIGQsIGVsZiwgbWVzc2FnZXMpOgog
ICAgIiIiCiAgICBSdW4gYWxsIGRlc2t0b3AgZmlsZXMgdGhyb3VnaCBkZXNrdG9wLWZpbGUtdmFs
aWRhdGUuCiAgICAiIiIKICAgIGlmIHBhdGguZW5kc3dpdGgoIi5kZXNrdG9wIik6CiAgICAgICAg
ZGVza3RvcF9maWxlX3ZhbGlkYXRlID0gb3MucGF0aC5qb2luKGQuZ2V0VmFyKCdTVEFHSU5HX0JJ
TkRJUl9OQVRJVkUnKSwnZGVza3RvcC1maWxlLXZhbGlkYXRlJykKICAgICAgICBvdXRwdXQgPSBv
cy5wb3BlbigiJXMgJXMiICUgKGRlc2t0b3BfZmlsZV92YWxpZGF0ZSwgcGF0aCkpCiAgICAgICAg
IyBUaGlzIG9ubHkgcHJvZHVjZXMgb3V0cHV0IG9uIGVycm9ycwogICAgICAgIGZvciBsIGluIG91
dHB1dDoKICAgICAgICAgICAgcGFja2FnZV9xYV9hZGRfbWVzc2FnZShtZXNzYWdlcywgImRlc2t0
b3AiLCAiRGVza3RvcCBmaWxlIGlzc3VlOiAiICsgbC5zdHJpcCgpKQp9CgoKcHl0aG9uIHBhY2th
Z2VfcWFfY2hlY2tfZGV2ICgpIHsKZGVmIHBhY2thZ2VfcWFfY2hlY2tfZGV2KHBhdGgsIG5hbWUs
IGQsIGVsZiwgbWVzc2FnZXMpOgogICAgIiIiCiAgICBDaGVjayBmb3IgIi5zbyIgbGlicmFyeSBz
eW1saW5rcyBpbiBub24tZGV2IHBhY2thZ2VzCiAgICAiIiIKCiAgICBpZiBub3QgbmFtZS5lbmRz
d2l0aCgiLWRldiIpIGFuZCBub3QgbmFtZS5lbmRzd2l0aCgiLWRiZyIpIGFuZCBub3QgbmFtZS5l
bmRzd2l0aCgiLXB0ZXN0IikgYW5kIG5vdCBuYW1lLnN0YXJ0c3dpdGgoIm5hdGl2ZXNkay0iKSBh
bmQgcGF0aC5lbmRzd2l0aCgiLnNvIikgYW5kIG9zLnBhdGguaXNsaW5rKHBhdGgpOgogICAgICAg
IHBhY2thZ2VfcWFfYWRkX21lc3NhZ2UobWVzc2FnZXMsICJkZXYtc28iLCAibm9uIC1kZXYvLWRi
Zy9uYXRpdmVzZGstIHBhY2thZ2UgY29udGFpbnMgc3ltbGluayAuc286ICVzIHBhdGggJyVzJyIg
JSBcCiAgICAgICAgICAgICAgICAgKG5hbWUsIHBhY2thZ2VfcWFfY2xlYW5fcGF0aChwYXRoLGQp
KSkKfQoKCnB5dGhvbiBwYWNrYWdlX3FhX2NoZWNrX2Rldl9lbGYgKCkgewpkZWYgcGFja2FnZV9x
YV9jaGVja19kZXZfZWxmKHBhdGgsIG5hbWUsIGQsIGVsZiwgbWVzc2FnZXMpOgogICAgIiIiCiAg
ICBDaGVjayB0aGF0IC1kZXYgZG9lc24ndCBjb250YWluIHJlYWwgc2hhcmVkIGxpYnJhcmllcy4g
IFRoZSB0ZXN0IGhhcyB0bwogICAgY2hlY2sgdGhhdCB0aGUgZmlsZSBpcyBub3QgYSBsaW5rIGFu
ZCBpcyBhbiBFTEYgb2JqZWN0IGFzIHNvbWUgcmVjaXBlcwogICAgaW5zdGFsbCBsaW5rLXRpbWUg
LnNvIGZpbGVzIHRoYXQgYXJlIGxpbmtlciBzY3JpcHRzLgogICAgIiIiCiAgICBpZiBuYW1lLmVu
ZHN3aXRoKCItZGV2IikgYW5kIHBhdGguZW5kc3dpdGgoIi5zbyIpIGFuZCBub3Qgb3MucGF0aC5p
c2xpbmsocGF0aCkgYW5kIGVsZjoKICAgICAgICBwYWNrYWdlX3FhX2FkZF9tZXNzYWdlKG1lc3Nh
Z2VzLCAiZGV2LWVsZiIsICItZGV2IHBhY2thZ2UgY29udGFpbnMgbm9uLXN5bWxpbmsgLnNvOiAl
cyBwYXRoICclcyciICUgXAogICAgICAgICAgICAgICAgIChuYW1lLCBwYWNrYWdlX3FhX2NsZWFu
X3BhdGgocGF0aCxkKSkpCn0KCgpweXRob24gcGFja2FnZV9xYV9jaGVja19lbmNvZGluZyAoKSB7
CmRlZiBwYWNrYWdlX3FhX2NoZWNrX2VuY29kaW5nKGtleXMsIGVuY29kZSwgZCk6CiAgICBkZWYg
Y2hlY2tfZW5jb2Rpbmcoa2V5LCBlbmMpOgogICAgICAgIHNhbmUgPSBUcnVlCiAgICAgICAgdmFs
dWUgPSBkLmdldFZhcihrZXkpCiAgICAgICAgaWYgdmFsdWU6CiAgICAgICAgICAgIHRyeToKICAg
ICAgICAgICAgICAgIHMgPSB2YWx1ZS5lbmNvZGUoZW5jKQogICAgICAgICAgICBleGNlcHQgVW5p
Y29kZURlY29kZUVycm9yIGFzIGU6CiAgICAgICAgICAgICAgICBlcnJvcl9tc2cgPSAiJXMgaGFz
IG5vbiAlcyBjaGFyYWN0ZXJzIiAlIChrZXksZW5jKQogICAgICAgICAgICAgICAgc2FuZSA9IEZh
bHNlCiAgICAgICAgICAgICAgICBwYWNrYWdlX3FhX2hhbmRsZV9lcnJvcigiaW52YWxpZC1jaGFy
cyIsIGVycm9yX21zZywgZCkKICAgICAgICByZXR1cm4gc2FuZQoKICAgIGZvciBrZXkgaW4ga2V5
czoKICAgICAgICBzYW5lID0gY2hlY2tfZW5jb2Rpbmcoa2V5LCBlbmNvZGUpCiAgICAgICAgaWYg
bm90IHNhbmU6CiAgICAgICAgICAgIGJyZWFrCn0KCgpweXRob24gcGFja2FnZV9xYV9jaGVja19l
eHBhbmRlZF9kICgpIHsKZGVmIHBhY2thZ2VfcWFfY2hlY2tfZXhwYW5kZWRfZChwYWNrYWdlLCBk
LCBtZXNzYWdlcyk6CiAgICAiIiIKICAgIENoZWNrIGZvciB0aGUgZXhwYW5kZWQgRCAoJHtEfSkg
dmFsdWUgaW4gcGtnXyogYW5kIEZJTEVTCiAgICB2YXJpYWJsZXMsIHdhcm4gdGhlIHVzZXIgdG8g
dXNlIGl0IGNvcnJlY3RseS4KICAgICIiIgogICAgc2FuZSA9IFRydWUKICAgIGV4cGFuZGVkX2Qg
PSBkLmdldFZhcignRCcpCgogICAgZm9yIHZhciBpbiAnRklMRVMnLCdwa2dfcHJlaW5zdCcsICdw
a2dfcG9zdGluc3QnLCAncGtnX3ByZXJtJywgJ3BrZ19wb3N0cm0nOgogICAgICAgIGJidmFyID0g
ZC5nZXRWYXIodmFyICsgIl8iICsgcGFja2FnZSkgb3IgIiIKICAgICAgICBpZiBleHBhbmRlZF9k
IGluIGJidmFyOgogICAgICAgICAgICBpZiB2YXIgPT0gJ0ZJTEVTJzoKICAgICAgICAgICAgICAg
IHBhY2thZ2VfcWFfYWRkX21lc3NhZ2UobWVzc2FnZXMsICJleHBhbmRlZC1kIiwgIkZJTEVTIGlu
ICVzIHJlY2lwZSBzaG91bGQgbm90IGNvbnRhaW4gdGhlICR7RH0gdmFyaWFibGUgYXMgaXQgcmVm
ZXJlbmNlcyB0aGUgbG9jYWwgYnVpbGQgZGlyZWN0b3J5IG5vdCB0aGUgdGFyZ2V0IGZpbGVzeXN0
ZW0sIGJlc3Qgc29sdXRpb24gaXMgdG8gcmVtb3ZlIHRoZSAke0R9IHJlZmVyZW5jZSIgJSBwYWNr
YWdlKQogICAgICAgICAgICAgICAgc2FuZSA9IEZhbHNlCiAgICAgICAgICAgIGVsc2U6CiAgICAg
ICAgICAgICAgICBwYWNrYWdlX3FhX2FkZF9tZXNzYWdlKG1lc3NhZ2VzLCAiZXhwYW5kZWQtZCIs
ICIlcyBpbiAlcyByZWNpcGUgY29udGFpbnMgJHtEfSwgaXQgc2hvdWxkIGJlIHJlcGxhY2VkIGJ5
ICREIGluc3RlYWQiICUgKHZhciwgcGFja2FnZSkpCiAgICAgICAgICAgICAgICBzYW5lID0gRmFs
c2UKICAgIHJldHVybiBzYW5lCn0KCgpweXRob24gcGFja2FnZV9xYV9jaGVja19ob3N0X3VzZXIg
KCkgewpkZWYgcGFja2FnZV9xYV9jaGVja19ob3N0X3VzZXIocGF0aCwgbmFtZSwgZCwgZWxmLCBt
ZXNzYWdlcyk6CiAgICAiIiJDaGVjayBmb3IgcGF0aHMgb3V0c2lkZSBvZiAvaG9tZSB3aGljaCBh
cmUgb3duZWQgYnkgdGhlIHVzZXIgcnVubmluZyBiaXRiYWtlLiIiIgoKICAgIGlmIG5vdCBvcy5w
YXRoLmxleGlzdHMocGF0aCk6CiAgICAgICAgcmV0dXJuCgogICAgZGVzdCA9IGQuZ2V0VmFyKCdQ
S0dERVNUJykKICAgIHBuID0gZC5nZXRWYXIoJ1BOJykKICAgIGhvbWUgPSBvcy5wYXRoLmpvaW4o
ZGVzdCwgJ2hvbWUnKQogICAgaWYgcGF0aCA9PSBob21lIG9yIHBhdGguc3RhcnRzd2l0aChob21l
ICsgb3Muc2VwKToKICAgICAgICByZXR1cm4KCiAgICB0cnk6CiAgICAgICAgc3RhdCA9IG9zLmxz
dGF0KHBhdGgpCiAgICBleGNlcHQgT1NFcnJvciBhcyBleGM6CiAgICAgICAgaW1wb3J0IGVycm5v
CiAgICAgICAgaWYgZXhjLmVycm5vICE9IGVycm5vLkVOT0VOVDoKICAgICAgICAgICAgcmFpc2UK
ICAgIGVsc2U6CiAgICAgICAgcm9vdGZzX3BhdGggPSBwYXRoW2xlbihkZXN0KTpdCiAgICAgICAg
Y2hlY2tfdWlkID0gaW50KGQuZ2V0VmFyKCdIT1NUX1VTRVJfVUlEJykpCiAgICAgICAgaWYgc3Rh
dC5zdF91aWQgPT0gY2hlY2tfdWlkOgogICAgICAgICAgICBwYWNrYWdlX3FhX2FkZF9tZXNzYWdl
KG1lc3NhZ2VzLCAiaG9zdC11c2VyLWNvbnRhbWluYXRlZCIsICIlczogJXMgaXMgb3duZWQgYnkg
dWlkICVkLCB3aGljaCBpcyB0aGUgc2FtZSBhcyB0aGUgdXNlciBydW5uaW5nIGJpdGJha2UuIFRo
aXMgbWF5IGJlIGR1ZSB0byBob3N0IGNvbnRhbWluYXRpb24iICUgKHBuLCByb290ZnNfcGF0aCwg
Y2hlY2tfdWlkKSkKICAgICAgICAgICAgcmV0dXJuIEZhbHNlCgogICAgICAgIGNoZWNrX2dpZCA9
IGludChkLmdldFZhcignSE9TVF9VU0VSX0dJRCcpKQogICAgICAgIGlmIHN0YXQuc3RfZ2lkID09
IGNoZWNrX2dpZDoKICAgICAgICAgICAgcGFja2FnZV9xYV9hZGRfbWVzc2FnZShtZXNzYWdlcywg
Imhvc3QtdXNlci1jb250YW1pbmF0ZWQiLCAiJXM6ICVzIGlzIG93bmVkIGJ5IGdpZCAlZCwgd2hp
Y2ggaXMgdGhlIHNhbWUgYXMgdGhlIHVzZXIgcnVubmluZyBiaXRiYWtlLiBUaGlzIG1heSBiZSBk
dWUgdG8gaG9zdCBjb250YW1pbmF0aW9uIiAlIChwbiwgcm9vdGZzX3BhdGgsIGNoZWNrX2dpZCkp
CiAgICAgICAgICAgIHJldHVybiBGYWxzZQogICAgcmV0dXJuIFRydWUKfQoKCnB5dGhvbiBwYWNr
YWdlX3FhX2NoZWNrX2luZm9kaXIgKCkgewpkZWYgcGFja2FnZV9xYV9jaGVja19pbmZvZGlyKHBh
dGgsIG5hbWUsIGQsIGVsZiwgbWVzc2FnZXMpOgogICAgIiIiCiAgICBDaGVjayB0aGF0IC91c3Iv
c2hhcmUvaW5mby9kaXIgaXNuJ3Qgc2hpcHBlZCBpbiBhIHBhcnRpY3VsYXIgcGFja2FnZQogICAg
IiIiCiAgICBpbmZvZGlyID0gZC5leHBhbmQoIiR7aW5mb2Rpcn0vZGlyIikKCiAgICBpZiBpbmZv
ZGlyIGluIHBhdGg6CiAgICAgICAgcGFja2FnZV9xYV9hZGRfbWVzc2FnZShtZXNzYWdlcywgImlu
Zm9kaXIiLCAiVGhlIC91c3Ivc2hhcmUvaW5mby9kaXIgZmlsZSBpcyBub3QgbWVhbnQgdG8gYmUg
c2hpcHBlZCBpbiBhIHBhcnRpY3VsYXIgcGFja2FnZS4iKQp9CgoKcHl0aG9uIHBhY2thZ2VfcWFf
Y2hlY2tfbGliZGlyICgpIHsKZGVmIHBhY2thZ2VfcWFfY2hlY2tfbGliZGlyKGQpOgogICAgIiIi
CiAgICBDaGVjayBmb3Igd3JvbmcgbGlicmFyeSBpbnN0YWxsYXRpb24gcGF0aHMuIEZvciBpbnN0
YW5jZSwgY2F0Y2gKICAgIHJlY2lwZXMgaW5zdGFsbGluZyAvbGliL2Jhci5zbyB3aGVuICR7YmFz
ZV9saWJkaXJ9PSJsaWIzMiIgb3IKICAgIGluc3RhbGxpbmcgaW4gL3Vzci9saWI2NCB3aGVuICR7
bGliZGlyfT0iL3Vzci9saWIiCiAgICAiIiIKICAgIGltcG9ydCByZQoKICAgIHBrZ2Rlc3QgPSBk
LmdldFZhcignUEtHREVTVCcpCiAgICBiYXNlX2xpYmRpciA9IGQuZ2V0VmFyKCJiYXNlX2xpYmRp
ciIpICsgb3Muc2VwCiAgICBsaWJkaXIgPSBkLmdldFZhcigibGliZGlyIikgKyBvcy5zZXAKICAg
IGxpYmV4ZWNkaXIgPSBkLmdldFZhcigibGliZXhlY2RpciIpICsgb3Muc2VwCiAgICBleGVjX3By
ZWZpeCA9IGQuZ2V0VmFyKCJleGVjX3ByZWZpeCIpICsgb3Muc2VwCgogICAgbWVzc2FnZXMgPSBb
XQoKICAgICMgVGhlIHJlJ3MgYXJlIHB1cnBvc2VseSBmdXp6eSwgYXMgc29tZSB0aGVyZSBhcmUg
c29tZSAuc28ueC55LnogZmlsZXMKICAgICMgdGhhdCBkb24ndCBmb2xsb3cgdGhlIHN0YW5kYXJk
IG5hbWluZyBjb252ZW50aW9uLiBJdCBjaGVja3MgbGF0ZXIKICAgICMgdGhhdCB0aGV5IGFyZSBh
Y3R1YWwgRUxGIGZpbGVzCiAgICBsaWJfcmUgPSByZS5jb21waWxlKCJeL2xpYi4rXC5zbyhcLi4r
KT8kIikKICAgIGV4ZWNfcmUgPSByZS5jb21waWxlKCJeJXMuKi9saWIuK1wuc28oXC4uKyk/JCIg
JSBleGVjX3ByZWZpeCkKCiAgICBmb3Igcm9vdCwgZGlycywgZmlsZXMgaW4gb3Mud2Fsayhwa2dk
ZXN0KToKICAgICAgICBpZiByb290ID09IHBrZ2Rlc3Q6CiAgICAgICAgICAgICMgU2tpcCBzdWJk
aXJlY3RvcmllcyBmb3IgYW55IHBhY2thZ2VzIHdpdGggbGliZGlyIGluIElOU0FORV9TS0lQCiAg
ICAgICAgICAgIHNraXBwYWNrYWdlcyA9IFtdCiAgICAgICAgICAgIGZvciBwYWNrYWdlIGluIGRp
cnM6CiAgICAgICAgICAgICAgICBpZiAnbGliZGlyJyBpbiAoZC5nZXRWYXIoJ0lOU0FORV9TS0lQ
XycgKyBwYWNrYWdlKSBvciAiIikuc3BsaXQoKToKICAgICAgICAgICAgICAgICAgICBiYi5ub3Rl
KCJQYWNrYWdlICVzIHNraXBwaW5nIGxpYmRpciBRQSB0ZXN0IiAlIChwYWNrYWdlKSkKICAgICAg
ICAgICAgICAgICAgICBza2lwcGFja2FnZXMuYXBwZW5kKHBhY2thZ2UpCiAgICAgICAgICAgICAg
ICBlbGlmIGQuZ2V0VmFyKCdQQUNLQUdFX0RFQlVHX1NQTElUX1NUWUxFJykgPT0gJ2RlYnVnLWZp
bGUtZGlyZWN0b3J5JyBhbmQgcGFja2FnZS5lbmRzd2l0aCgiLWRiZyIpOgogICAgICAgICAgICAg
ICAgICAgIGJiLm5vdGUoIlBhY2thZ2UgJXMgc2tpcHBpbmcgbGliZGlyIFFBIHRlc3QgZm9yIFBB
Q0tBR0VfREVCVUdfU1BMSVRfU1RZTEUgZXF1YWxzIGRlYnVnLWZpbGUtZGlyZWN0b3J5IiAlIChw
YWNrYWdlKSkKICAgICAgICAgICAgICAgICAgICBza2lwcGFja2FnZXMuYXBwZW5kKHBhY2thZ2Up
CiAgICAgICAgICAgIGZvciBwYWNrYWdlIGluIHNraXBwYWNrYWdlczoKICAgICAgICAgICAgICAg
IGRpcnMucmVtb3ZlKHBhY2thZ2UpCiAgICAgICAgZm9yIGZpbGUgaW4gZmlsZXM6CiAgICAgICAg
ICAgIGZ1bGxfcGF0aCA9IG9zLnBhdGguam9pbihyb290LCBmaWxlKQogICAgICAgICAgICByZWxf
cGF0aCA9IG9zLnBhdGgucmVscGF0aChmdWxsX3BhdGgsIHBrZ2Rlc3QpCiAgICAgICAgICAgIGlm
IG9zLnNlcCBpbiByZWxfcGF0aDoKICAgICAgICAgICAgICAgIHBhY2thZ2UsIHJlbF9wYXRoID0g
cmVsX3BhdGguc3BsaXQob3Muc2VwLCAxKQogICAgICAgICAgICAgICAgcmVsX3BhdGggPSBvcy5z
ZXAgKyByZWxfcGF0aAogICAgICAgICAgICAgICAgaWYgbGliX3JlLm1hdGNoKHJlbF9wYXRoKToK
ICAgICAgICAgICAgICAgICAgICBpZiBiYXNlX2xpYmRpciBub3QgaW4gcmVsX3BhdGg6CiAgICAg
ICAgICAgICAgICAgICAgICAgICMgbWFrZSBzdXJlIGl0J3MgYW4gYWN0dWFsIEVMRiBmaWxlCiAg
ICAgICAgICAgICAgICAgICAgICAgIGVsZiA9IG9lLnFhLkVMRkZpbGUoZnVsbF9wYXRoKQogICAg
ICAgICAgICAgICAgICAgICAgICB0cnk6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbGYu
b3BlbigpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZXNzYWdlcy5hcHBlbmQoIiVzOiBm
b3VuZCBsaWJyYXJ5IGluIHdyb25nIGxvY2F0aW9uOiAlcyIgJSAocGFja2FnZSwgcmVsX3BhdGgp
KQogICAgICAgICAgICAgICAgICAgICAgICBleGNlcHQgKG9lLnFhLk5vdEVMRkZpbGVFcnJvcik6
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXNzCiAgICAgICAgICAgICAgICBpZiBleGVj
X3JlLm1hdGNoKHJlbF9wYXRoKToKICAgICAgICAgICAgICAgICAgICBpZiBsaWJkaXIgbm90IGlu
IHJlbF9wYXRoIGFuZCBsaWJleGVjZGlyIG5vdCBpbiByZWxfcGF0aDoKICAgICAgICAgICAgICAg
ICAgICAgICAgIyBtYWtlIHN1cmUgaXQncyBhbiBhY3R1YWwgRUxGIGZpbGUKICAgICAgICAgICAg
ICAgICAgICAgICAgZWxmID0gb2UucWEuRUxGRmlsZShmdWxsX3BhdGgpCiAgICAgICAgICAgICAg
ICAgICAgICAgIHRyeToKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsZi5vcGVuKCkKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2VzLmFwcGVuZCgiJXM6IGZvdW5kIGxpYnJh
cnkgaW4gd3JvbmcgbG9jYXRpb246ICVzIiAlIChwYWNrYWdlLCByZWxfcGF0aCkpCiAgICAgICAg
ICAgICAgICAgICAgICAgIGV4Y2VwdCAob2UucWEuTm90RUxGRmlsZUVycm9yKToKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHBhc3MKCiAgICBpZiBtZXNzYWdlczoKICAgICAgICBwYWNrYWdl
X3FhX2hhbmRsZV9lcnJvcigibGliZGlyIiwgIlxuIi5qb2luKG1lc3NhZ2VzKSwgZCkKfQoKCnB5
dGhvbiBwYWNrYWdlX3FhX2NoZWNrX2xpYmV4ZWMgKCkgewpkZWYgcGFja2FnZV9xYV9jaGVja19s
aWJleGVjKHBhdGgsbmFtZSwgZCwgZWxmLCBtZXNzYWdlcyk6CgogICAgIyBTa2lwIHRoZSBjYXNl
IHdoZXJlIHRoZSBkZWZhdWx0IGlzIGV4cGxpY2l0bHkgL3Vzci9saWJleGVjCiAgICBsaWJleGVj
ID0gZC5nZXRWYXIoJ2xpYmV4ZWNkaXInKQogICAgaWYgbGliZXhlYyA9PSAiL3Vzci9saWJleGVj
IjoKICAgICAgICByZXR1cm4gVHJ1ZQoKICAgIGlmICdsaWJleGVjJyBpbiBwYXRoLnNwbGl0KG9z
LnBhdGguc2VwKToKICAgICAgICBwYWNrYWdlX3FhX2FkZF9tZXNzYWdlKG1lc3NhZ2VzLCAibGli
ZXhlYyIsICIlczogJXMgaXMgdXNpbmcgbGliZXhlYyBwbGVhc2UgcmVsb2NhdGUgdG8gJXMiICUg
KG5hbWUsIHBhY2thZ2VfcWFfY2xlYW5fcGF0aChwYXRoLCBkKSwgbGliZXhlYykpCiAgICAgICAg
cmV0dXJuIEZhbHNlCgogICAgcmV0dXJuIFRydWUKfQoKCnB5dGhvbiBwYWNrYWdlX3FhX2NoZWNr
X3Blcm0gKCkgewpkZWYgcGFja2FnZV9xYV9jaGVja19wZXJtKHBhdGgsbmFtZSxkLCBlbGYsIG1l
c3NhZ2VzKToKICAgICIiIgogICAgQ2hlY2sgdGhlIHBlcm1pc3Npb24gb2YgZmlsZXMKICAgICIi
IgogICAgcmV0dXJuCn0KCgpweXRob24gcGFja2FnZV9xYV9jaGVja19yZGVwZW5kcyAoKSB7CmRl
ZiBwYWNrYWdlX3FhX2NoZWNrX3JkZXBlbmRzKHBrZywgcGtnZGVzdCwgc2tpcCwgdGFza2RlcHMs
IHBhY2thZ2VzLCBkKToKICAgICMgRG9uJ3QgZG8gdGhpcyBjaGVjayBmb3Iga2VybmVsL21vZHVs
ZSByZWNpcGVzLCB0aGVyZSBhcmVuJ3QgdG9vIG1hbnkgZGVidWcvZGV2ZWxvcG1lbnQKICAgICMg
cGFja2FnZXMgYW5kIHlvdSBjYW4gZ2V0IGZhbHNlIHBvc2l0aXZlcyBlLmcuIG9uIGtlcm5lbC1t
b2R1bGUtbGlyYy1kZXYKICAgIGlmIGJiLmRhdGEuaW5oZXJpdHNfY2xhc3MoImtlcm5lbCIsIGQp
IG9yIGJiLmRhdGEuaW5oZXJpdHNfY2xhc3MoIm1vZHVsZS1iYXNlIiwgZCk6CiAgICAgICAgcmV0
dXJuCgogICAgaWYgbm90ICItZGJnIiBpbiBwa2cgYW5kIG5vdCAicGFja2FnZWdyb3VwLSIgaW4g
cGtnIGFuZCBub3QgIi1pbWFnZSIgaW4gcGtnOgogICAgICAgIGxvY2FsZGF0YSA9IGJiLmRhdGEu
Y3JlYXRlQ29weShkKQogICAgICAgIGxvY2FsZGF0YS5zZXRWYXIoJ09WRVJSSURFUycsIGxvY2Fs
ZGF0YS5nZXRWYXIoJ09WRVJSSURFUycpICsgJzonICsgcGtnKQoKICAgICAgICAjIE5vdyBjaGVj
ayB0aGUgUkRFUEVORFMKICAgICAgICByZGVwZW5kcyA9IGJiLnV0aWxzLmV4cGxvZGVfZGVwcyhs
b2NhbGRhdGEuZ2V0VmFyKCdSREVQRU5EUycpIG9yICIiKQoKICAgICAgICAjIE5vdyBkbyB0aGUg
c2FuaXR5IGNoZWNrISEhCiAgICAgICAgaWYgImJ1aWxkLWRlcHMiIG5vdCBpbiBza2lwOgogICAg
ICAgICAgICBmb3IgcmRlcGVuZCBpbiByZGVwZW5kczoKICAgICAgICAgICAgICAgIGlmICItZGJn
IiBpbiByZGVwZW5kIGFuZCAiZGVidWctZGVwcyIgbm90IGluIHNraXA6CiAgICAgICAgICAgICAg
ICAgICAgZXJyb3JfbXNnID0gIiVzIHJkZXBlbmRzIG9uICVzIiAlIChwa2cscmRlcGVuZCkKICAg
ICAgICAgICAgICAgICAgICBwYWNrYWdlX3FhX2hhbmRsZV9lcnJvcigiZGVidWctZGVwcyIsIGVy
cm9yX21zZywgZCkKICAgICAgICAgICAgICAgIGlmIChub3QgIi1kZXYiIGluIHBrZyBhbmQgbm90
ICItc3RhdGljZGV2IiBpbiBwa2cpIGFuZCByZGVwZW5kLmVuZHN3aXRoKCItZGV2IikgYW5kICJk
ZXYtZGVwcyIgbm90IGluIHNraXA6CiAgICAgICAgICAgICAgICAgICAgZXJyb3JfbXNnID0gIiVz
IHJkZXBlbmRzIG9uICVzIiAlIChwa2csIHJkZXBlbmQpCiAgICAgICAgICAgICAgICAgICAgcGFj
a2FnZV9xYV9oYW5kbGVfZXJyb3IoImRldi1kZXBzIiwgZXJyb3JfbXNnLCBkKQogICAgICAgICAg
ICAgICAgaWYgcmRlcGVuZCBub3QgaW4gcGFja2FnZXM6CiAgICAgICAgICAgICAgICAgICAgcmRl
cF9kYXRhID0gb2UucGFja2FnZWRhdGEucmVhZF9zdWJwa2dkYXRhKHJkZXBlbmQsIGQpCiAgICAg
ICAgICAgICAgICAgICAgaWYgcmRlcF9kYXRhIGFuZCAnUE4nIGluIHJkZXBfZGF0YSBhbmQgcmRl
cF9kYXRhWydQTiddIGluIHRhc2tkZXBzOgogICAgICAgICAgICAgICAgICAgICAgICBjb250aW51
ZQogICAgICAgICAgICAgICAgICAgIGlmIG5vdCByZGVwX2RhdGEgb3Igbm90ICdQTicgaW4gcmRl
cF9kYXRhOgogICAgICAgICAgICAgICAgICAgICAgICBwa2dkYXRhX2RpciA9IGQuZ2V0VmFyKCJQ
S0dEQVRBX0RJUiIpCiAgICAgICAgICAgICAgICAgICAgICAgIHRyeToKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHBvc3NpYmxlcyA9IG9zLmxpc3RkaXIoIiVzL3J1bnRpbWUtcnByb3ZpZGVz
LyVzLyIgJSAocGtnZGF0YV9kaXIsIHJkZXBlbmQpKQogICAgICAgICAgICAgICAgICAgICAgICBl
eGNlcHQgT1NFcnJvcjoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc3NpYmxlcyA9IFtd
CiAgICAgICAgICAgICAgICAgICAgICAgIGZvciBwIGluIHBvc3NpYmxlczoKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHJkZXBfZGF0YSA9IG9lLnBhY2thZ2VkYXRhLnJlYWRfc3VicGtnZGF0
YShwLCBkKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgcmRlcF9kYXRhIGFuZCAnUE4n
IGluIHJkZXBfZGF0YSBhbmQgcmRlcF9kYXRhWydQTiddIGluIHRhc2tkZXBzOgogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGJyZWFrCiAgICAgICAgICAgICAgICAgICAgaWYgcmRlcF9k
YXRhIGFuZCAnUE4nIGluIHJkZXBfZGF0YSBhbmQgcmRlcF9kYXRhWydQTiddIGluIHRhc2tkZXBz
OgogICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZQogICAgICAgICAgICAgICAgICAgIGlm
IHJkZXBfZGF0YSBhbmQgJ1BOJyBpbiByZGVwX2RhdGE6CiAgICAgICAgICAgICAgICAgICAgICAg
IGVycm9yX21zZyA9ICIlcyByZGVwZW5kcyBvbiAlcywgYnV0IGl0IGlzbid0IGEgYnVpbGQgZGVw
ZW5kZW5jeSwgbWlzc2luZyAlcyBpbiBERVBFTkRTIG9yIFBBQ0tBR0VDT05GSUc/IiAlIChwa2cs
IHJkZXBlbmQsIHJkZXBfZGF0YVsnUE4nXSkKICAgICAgICAgICAgICAgICAgICBlbHNlOgogICAg
ICAgICAgICAgICAgICAgICAgICBlcnJvcl9tc2cgPSAiJXMgcmRlcGVuZHMgb24gJXMsIGJ1dCBp
dCBpc24ndCBhIGJ1aWxkIGRlcGVuZGVuY3k/IiAlIChwa2csIHJkZXBlbmQpCiAgICAgICAgICAg
ICAgICAgICAgcGFja2FnZV9xYV9oYW5kbGVfZXJyb3IoImJ1aWxkLWRlcHMiLCBlcnJvcl9tc2cs
IGQpCgogICAgICAgIGlmICJmaWxlLXJkZXBzIiBub3QgaW4gc2tpcDoKICAgICAgICAgICAgaWdu
b3JlZF9maWxlX3JkZXBzID0gc2V0KFsnL2Jpbi9zaCcsICcvdXNyL2Jpbi9lbnYnLCAncnRsZChH
TlVfSEFTSCknXSkKICAgICAgICAgICAgaWYgYmIuZGF0YS5pbmhlcml0c19jbGFzcygnbmF0aXZl
c2RrJywgZCk6CiAgICAgICAgICAgICAgICBpZ25vcmVkX2ZpbGVfcmRlcHMgfD0gc2V0KFsnL2Jp
bi9iYXNoJywgJy91c3IvYmluL3BlcmwnLCAncGVybCddKQogICAgICAgICAgICAjIEZvciBTYXZp
bmcgdGhlIEZJTEVSREVQRU5EUwogICAgICAgICAgICBmaWxlcmRlcGVuZHMgPSB7fQogICAgICAg
ICAgICByZGVwX2RhdGEgPSBvZS5wYWNrYWdlZGF0YS5yZWFkX3N1YnBrZ2RhdGEocGtnLCBkKQog
ICAgICAgICAgICBmb3Iga2V5IGluIHJkZXBfZGF0YToKICAgICAgICAgICAgICAgIGlmIGtleS5z
dGFydHN3aXRoKCJGSUxFUkRFUEVORFNfIik6CiAgICAgICAgICAgICAgICAgICAgZm9yIHN1Ymtl
eSBpbiBiYi51dGlscy5leHBsb2RlX2RlcHMocmRlcF9kYXRhW2tleV0pOgogICAgICAgICAgICAg
ICAgICAgICAgICBpZiBzdWJrZXkgbm90IGluIGlnbm9yZWRfZmlsZV9yZGVwcyBhbmQgXAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vdCBzdWJrZXkuc3RhcnRzd2l0aCgncGVybCgn
KToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgV2UgYWxyZWFkeSBrbm93IGl0IHN0YXJ0
cyB3aXRoIEZJTEVSREVQRU5EU18KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGVyZGVw
ZW5kc1tzdWJrZXldID0ga2V5WzEzOl0KCiAgICAgICAgICAgIGlmIGZpbGVyZGVwZW5kczoKICAg
ICAgICAgICAgICAgIG5leHQgPSByZGVwZW5kcwogICAgICAgICAgICAgICAgZG9uZSA9IHJkZXBl
bmRzWzpdCiAgICAgICAgICAgICAgICAjIEZpbmQgYWxsIHRoZSByZGVwZW5kcyBvbiB0aGUgZGVw
ZW5kZW5jeSBjaGFpbgogICAgICAgICAgICAgICAgd2hpbGUgbmV4dDoKICAgICAgICAgICAgICAg
ICAgICBuZXcgPSBbXQogICAgICAgICAgICAgICAgICAgIGZvciByZGVwIGluIG5leHQ6CiAgICAg
ICAgICAgICAgICAgICAgICAgIHJkZXBfZGF0YSA9IG9lLnBhY2thZ2VkYXRhLnJlYWRfc3VicGtn
ZGF0YShyZGVwLCBkKQogICAgICAgICAgICAgICAgICAgICAgICBzdWJfcmRlcHMgPSByZGVwX2Rh
dGEuZ2V0KCJSREVQRU5EU18iICsgcmRlcCkKICAgICAgICAgICAgICAgICAgICAgICAgaWYgbm90
IHN1Yl9yZGVwczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCiAgICAgICAg
ICAgICAgICAgICAgICAgIGZvciBzdWJfcmRlcCBpbiBiYi51dGlscy5leHBsb2RlX2RlcHMoc3Vi
X3JkZXBzKToKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIHN1Yl9yZGVwIGluIGRvbmU6
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWUKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGlmIG9lLnBhY2thZ2VkYXRhLmhhc19zdWJwa2dkYXRhKHN1Yl9yZGVwLCBk
KToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIEl0J3MgYSBuZXcgcmRlcAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvbmUuYXBwZW5kKHN1Yl9yZGVwKQogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIG5ldy5hcHBlbmQoc3ViX3JkZXApCiAgICAgICAgICAg
ICAgICAgICAgbmV4dCA9IG5ldwoKICAgICAgICAgICAgICAgICMgQWRkIHRoZSBycHJvdmlkZXMg
b2YgaXRzZWxmCiAgICAgICAgICAgICAgICBpZiBwa2cgbm90IGluIGRvbmU6CiAgICAgICAgICAg
ICAgICAgICAgZG9uZS5pbnNlcnQoMCwgcGtnKQoKICAgICAgICAgICAgICAgICMgVGhlIHB5dGhv
biBpcyBub3QgYSBwYWNrYWdlLCBidXQgcHl0aG9uLWNvcmUgcHJvdmlkZXMgaXQsIHNvCiAgICAg
ICAgICAgICAgICAjIHNraXAgY2hlY2tpbmcgL3Vzci9iaW4vcHl0aG9uIGlmIHB5dGhvbiBpcyBp
biB0aGUgcmRlcHMsIGluCiAgICAgICAgICAgICAgICAjIGNhc2UgdGhlcmUgaXMgYSBSREVQRU5E
U19wa2cgPSAicHl0aG9uIiBpbiB0aGUgcmVjaXBlLgogICAgICAgICAgICAgICAgZm9yIHB5IGlu
IFsgZC5nZXRWYXIoJ01MUFJFRklYJykgKyAicHl0aG9uIiwgInB5dGhvbiIgXToKICAgICAgICAg
ICAgICAgICAgICBpZiBweSBpbiBkb25lOgogICAgICAgICAgICAgICAgICAgICAgICBmaWxlcmRl
cGVuZHMucG9wKCIvdXNyL2Jpbi9weXRob24iLE5vbmUpCiAgICAgICAgICAgICAgICAgICAgICAg
IGRvbmUucmVtb3ZlKHB5KQogICAgICAgICAgICAgICAgZm9yIHJkZXAgaW4gZG9uZToKICAgICAg
ICAgICAgICAgICAgICAjIFRoZSBmaWxlIGRlcGVuZGVuY2llcyBtYXkgY29udGFpbiBwYWNrYWdl
IG5hbWVzLCBlLmcuLAogICAgICAgICAgICAgICAgICAgICMgcGVybAogICAgICAgICAgICAgICAg
ICAgIGZpbGVyZGVwZW5kcy5wb3AocmRlcCxOb25lKQoKICAgICAgICAgICAgICAgICAgICAjIEZv
ciBTYXZpbmcgdGhlIEZJTEVSUFJPVklERVMsIFJQUk9WSURFUyBhbmQgRklMRVNfSU5GTwogICAg
ICAgICAgICAgICAgICAgIHJkZXBfZGF0YSA9IG9lLnBhY2thZ2VkYXRhLnJlYWRfc3VicGtnZGF0
YShyZGVwLCBkKQogICAgICAgICAgICAgICAgICAgIGZvciBrZXkgaW4gcmRlcF9kYXRhOgogICAg
ICAgICAgICAgICAgICAgICAgICBpZiBrZXkuc3RhcnRzd2l0aCgiRklMRVJQUk9WSURFU18iKSBv
ciBrZXkuc3RhcnRzd2l0aCgiUlBST1ZJREVTXyIpOgogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgZm9yIHN1YmtleSBpbiBiYi51dGlscy5leHBsb2RlX2RlcHMocmRlcF9kYXRhW2tleV0pOgog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGVyZGVwZW5kcy5wb3Aoc3Via2V5LE5v
bmUpCiAgICAgICAgICAgICAgICAgICAgICAgICMgQWRkIHRoZSBmaWxlcyBsaXN0IHRvIHRoZSBy
cHJvdmlkZXMKICAgICAgICAgICAgICAgICAgICAgICAgaWYga2V5ID09ICJGSUxFU19JTkZPIjoK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgVXNlIGV2YWwoKSB0byBtYWtlIGl0IGFzIGEg
ZGljdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIHN1YmtleSBpbiBldmFsKHJkZXBf
ZGF0YVtrZXldKToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxlcmRlcGVuZHMu
cG9wKHN1YmtleSxOb25lKQogICAgICAgICAgICAgICAgICAgIGlmIG5vdCBmaWxlcmRlcGVuZHM6
CiAgICAgICAgICAgICAgICAgICAgICAgICMgQnJlYWsgaWYgYWxsIHRoZSBmaWxlIHJkZXBlbmRz
IGFyZSBtZXQKICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWsKICAgICAgICAgICAgaWYgZmls
ZXJkZXBlbmRzOgogICAgICAgICAgICAgICAgZm9yIGtleSBpbiBmaWxlcmRlcGVuZHM6CiAgICAg
ICAgICAgICAgICAgICAgZXJyb3JfbXNnID0gIiVzIGNvbnRhaW5lZCBpbiBwYWNrYWdlICVzIHJl
cXVpcmVzICVzLCBidXQgbm8gcHJvdmlkZXJzIGZvdW5kIGluIFJERVBFTkRTXyVzPyIgJSBcCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAoZmlsZXJkZXBlbmRzW2tleV0ucmVwbGFjZSgiXyVz
IiAlIHBrZywgIiIpLnJlcGxhY2UoIkB1bmRlcnNjb3JlQCIsICJfIiksIHBrZywga2V5LCBwa2cp
CiAgICAgICAgICAgICAgICAgICAgcGFja2FnZV9xYV9oYW5kbGVfZXJyb3IoImZpbGUtcmRlcHMi
LCBlcnJvcl9tc2csIGQpCn0KCgpweXRob24gcGFja2FnZV9xYV9jaGVja19ycGF0aCAoKSB7CmRl
ZiBwYWNrYWdlX3FhX2NoZWNrX3JwYXRoKGZpbGUsbmFtZSwgZCwgZWxmLCBtZXNzYWdlcyk6CiAg
ICAiIiIKICAgIENoZWNrIGZvciBkYW5nZXJvdXMgUlBBVEhzCiAgICAiIiIKICAgIGlmIG5vdCBl
bGY6CiAgICAgICAgcmV0dXJuCgogICAgaWYgb3MucGF0aC5pc2xpbmsoZmlsZSk6CiAgICAgICAg
cmV0dXJuCgogICAgYmFkX2RpcnMgPSBbZC5nZXRWYXIoJ0JBU0VfV09SS0RJUicpLCBkLmdldFZh
cignU1RBR0lOR19ESVJfVEFSR0VUJyldCgogICAgcGhkcnMgPSBlbGYucnVuX29iamR1bXAoIi1w
IiwgZCkKCiAgICBpbXBvcnQgcmUKICAgIHJwYXRoX3JlID0gcmUuY29tcGlsZSgiXHMrUlBBVEhc
cysoLiopIikKICAgIGZvciBsaW5lIGluIHBoZHJzLnNwbGl0KCJcbiIpOgogICAgICAgIG0gPSBy
cGF0aF9yZS5tYXRjaChsaW5lKQogICAgICAgIGlmIG06CiAgICAgICAgICAgIHJwYXRoID0gbS5n
cm91cCgxKQogICAgICAgICAgICBmb3IgZGlyIGluIGJhZF9kaXJzOgogICAgICAgICAgICAgICAg
aWYgZGlyIGluIHJwYXRoOgogICAgICAgICAgICAgICAgICAgIHBhY2thZ2VfcWFfYWRkX21lc3Nh
Z2UobWVzc2FnZXMsICJycGF0aHMiLCAicGFja2FnZSAlcyBjb250YWlucyBiYWQgUlBBVEggJXMg
aW4gZmlsZSAlcyIgJSAobmFtZSwgcnBhdGgsIGZpbGUpKQp9CgoKcHl0aG9uIHBhY2thZ2VfcWFf
Y2hlY2tfc3RhZ2VkICgpIHsKZGVmIHBhY2thZ2VfcWFfY2hlY2tfc3RhZ2VkKHBhdGgsZCk6CiAg
ICAiIiIKICAgIENoZWNrIHN0YWdlZCBsYSBhbmQgcGMgZmlsZXMgZm9yIGNvbW1vbiBwcm9ibGVt
cyBsaWtlIHJlZmVyZW5jZXMgdG8gdGhlIHdvcmsKICAgIGRpcmVjdG9yeS4KCiAgICBBcyB0aGlz
IGlzIHJ1biBhZnRlciBldmVyeSBzdGFnZSB3ZSBzaG91bGQgYmUgYWJsZSB0byBmaW5kIHRoZSBv
bmUKICAgIHJlc3BvbnNpYmxlIGZvciB0aGUgZXJyb3JzIGVhc2lseSBldmVuIGlmIHdlIGxvb2sg
YXQgZXZlcnkgLnBjIGFuZCAubGEgZmlsZS4KICAgICIiIgoKICAgIHNhbmUgPSBUcnVlCiAgICB0
bXBkaXIgPSBkLmdldFZhcignVE1QRElSJykKICAgIHdvcmtkaXIgPSBvcy5wYXRoLmpvaW4odG1w
ZGlyLCAid29yayIpCiAgICByZWNpcGVzeXNyb290ID0gZC5nZXRWYXIoIlJFQ0lQRV9TWVNST09U
IikKCiAgICBpZiBiYi5kYXRhLmluaGVyaXRzX2NsYXNzKCJuYXRpdmUiLCBkKSBvciBiYi5kYXRh
LmluaGVyaXRzX2NsYXNzKCJjcm9zcyIsIGQpOgogICAgICAgIHBrZ2NvbmZpZ2NoZWNrID0gd29y
a2RpcgogICAgZWxzZToKICAgICAgICBwa2djb25maWdjaGVjayA9IHRtcGRpcgoKICAgICMgZmlu
ZCBhbGwgLmxhIGFuZCAucGMgZmlsZXMKICAgICMgcmVhZCB0aGUgY29udGVudAogICAgIyBhbmQg
Y2hlY2sgZm9yIHN0dWZmIHRoYXQgbG9va3Mgd3JvbmcKICAgIGZvciByb290LCBkaXJzLCBmaWxl
cyBpbiBvcy53YWxrKHBhdGgpOgogICAgICAgIGZvciBmaWxlIGluIGZpbGVzOgogICAgICAgICAg
ICBwYXRoID0gb3MucGF0aC5qb2luKHJvb3QsZmlsZSkKICAgICAgICAgICAgaWYgZmlsZS5lbmRz
d2l0aCgiLmxhIik6CiAgICAgICAgICAgICAgICB3aXRoIG9wZW4ocGF0aCkgYXMgZjoKICAgICAg
ICAgICAgICAgICAgICBmaWxlX2NvbnRlbnQgPSBmLnJlYWQoKQogICAgICAgICAgICAgICAgICAg
IGZpbGVfY29udGVudCA9IGZpbGVfY29udGVudC5yZXBsYWNlKHJlY2lwZXN5c3Jvb3QsICIiKQog
ICAgICAgICAgICAgICAgICAgIGlmIHdvcmtkaXIgaW4gZmlsZV9jb250ZW50OgogICAgICAgICAg
ICAgICAgICAgICAgICBlcnJvcl9tc2cgPSAiJXMgZmFpbGVkIHNhbml0eSB0ZXN0ICh3b3JrZGly
KSBpbiBwYXRoICVzIiAlIChmaWxlLHJvb3QpCiAgICAgICAgICAgICAgICAgICAgICAgIHNhbmUg
PSBwYWNrYWdlX3FhX2hhbmRsZV9lcnJvcigibGEiLCBlcnJvcl9tc2csIGQpCiAgICAgICAgICAg
IGVsaWYgZmlsZS5lbmRzd2l0aCgiLnBjIik6CiAgICAgICAgICAgICAgICB3aXRoIG9wZW4ocGF0
aCkgYXMgZjoKICAgICAgICAgICAgICAgICAgICBmaWxlX2NvbnRlbnQgPSBmLnJlYWQoKQogICAg
ICAgICAgICAgICAgICAgIGZpbGVfY29udGVudCA9IGZpbGVfY29udGVudC5yZXBsYWNlKHJlY2lw
ZXN5c3Jvb3QsICIiKQogICAgICAgICAgICAgICAgICAgIGlmIHBrZ2NvbmZpZ2NoZWNrIGluIGZp
bGVfY29udGVudDoKICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3JfbXNnID0gIiVzIGZhaWxl
ZCBzYW5pdHkgdGVzdCAodG1wZGlyKSBpbiBwYXRoICVzIiAlIChmaWxlLHJvb3QpCiAgICAgICAg
ICAgICAgICAgICAgICAgIHNhbmUgPSBwYWNrYWdlX3FhX2hhbmRsZV9lcnJvcigicGtnY29uZmln
IiwgZXJyb3JfbXNnLCBkKQoKICAgIHJldHVybiBzYW5lCn0KCgpweXRob24gcGFja2FnZV9xYV9j
aGVja19zdGF0aWNkZXYgKCkgewpkZWYgcGFja2FnZV9xYV9jaGVja19zdGF0aWNkZXYocGF0aCwg
bmFtZSwgZCwgZWxmLCBtZXNzYWdlcyk6CiAgICAiIiIKICAgIENoZWNrIGZvciAiLmEiIGxpYnJh
cnkgaW4gbm9uLXN0YXRpY2RldiBwYWNrYWdlcwogICAgVGhlcmUgYXJlIGEgbnVtYmVyIG9mIGV4
Y2VwdGlvbnMgdG8gdGhpcyBydWxlLCAtcGljIHBhY2thZ2VzIGNhbiBjb250YWluCiAgICBzdGF0
aWMgbGlicmFyaWVzLCB0aGUgX25vbnNoYXJlZC5hIGJlbG9uZyB3aXRoIHRoZWlyIC1kZXYgcGFj
a2FnZXMgYW5kCiAgICBsaWJnY2MuYSwgbGliZ2Nvdi5hIHdpbGwgYmUgc2tpcHBlZCBpbiB0aGVp
ciBwYWNrYWdlcwogICAgIiIiCgogICAgaWYgbm90IG5hbWUuZW5kc3dpdGgoIi1waWMiKSBhbmQg
bm90IG5hbWUuZW5kc3dpdGgoIi1zdGF0aWNkZXYiKSBhbmQgbm90IG5hbWUuZW5kc3dpdGgoIi1w
dGVzdCIpIGFuZCBwYXRoLmVuZHN3aXRoKCIuYSIpIGFuZCBub3QgcGF0aC5lbmRzd2l0aCgiX25v
bnNoYXJlZC5hIik6CiAgICAgICAgcGFja2FnZV9xYV9hZGRfbWVzc2FnZShtZXNzYWdlcywgInN0
YXRpY2RldiIsICJub24gLXN0YXRpY2RldiBwYWNrYWdlIGNvbnRhaW5zIHN0YXRpYyAuYSBsaWJy
YXJ5OiAlcyBwYXRoICclcyciICUgXAogICAgICAgICAgICAgICAgIChuYW1lLCBwYWNrYWdlX3Fh
X2NsZWFuX3BhdGgocGF0aCxkKSkpCn0KCgpweXRob24gcGFja2FnZV9xYV9jaGVja19zeW1saW5r
X3RvX3N5c3Jvb3QgKCkgewpkZWYgcGFja2FnZV9xYV9jaGVja19zeW1saW5rX3RvX3N5c3Jvb3Qo
cGF0aCwgbmFtZSwgZCwgZWxmLCBtZXNzYWdlcyk6CiAgICAiIiIKICAgIENoZWNrIHRoYXQgdGhl
IHBhY2thZ2UgZG9lc24ndCBjb250YWluIGFueSBhYnNvbHV0ZSBzeW1saW5rcyB0byB0aGUgc3lz
cm9vdC4KICAgICIiIgogICAgaWYgb3MucGF0aC5pc2xpbmsocGF0aCk6CiAgICAgICAgdGFyZ2V0
ID0gb3MucmVhZGxpbmsocGF0aCkKICAgICAgICBpZiBvcy5wYXRoLmlzYWJzKHRhcmdldCk6CiAg
ICAgICAgICAgIHRtcGRpciA9IGQuZ2V0VmFyKCdUTVBESVInKQogICAgICAgICAgICBpZiB0YXJn
ZXQuc3RhcnRzd2l0aCh0bXBkaXIpOgogICAgICAgICAgICAgICAgdHJpbW1lZCA9IHBhdGgucmVw
bGFjZShvcy5wYXRoLmpvaW4gKGQuZ2V0VmFyKCJQS0dERVNUIiksIG5hbWUpLCAiIikKICAgICAg
ICAgICAgICAgIHBhY2thZ2VfcWFfYWRkX21lc3NhZ2UobWVzc2FnZXMsICJzeW1saW5rLXRvLXN5
c3Jvb3QiLCAiU3ltbGluayAlcyBpbiAlcyBwb2ludHMgdG8gVE1QRElSIiAlICh0cmltbWVkLCBu
YW1lKSkKfQoKCnB5dGhvbiBwYWNrYWdlX3FhX2NoZWNrX3Vuc2FmZV9yZWZlcmVuY2VzX2luX3Nj
cmlwdHMgKCkgewpkZWYgcGFja2FnZV9xYV9jaGVja191bnNhZmVfcmVmZXJlbmNlc19pbl9zY3Jp
cHRzKHBhdGgsIG5hbWUsIGQsIGVsZiwgbWVzc2FnZXMpOgogICAgIiIiCiAgICBXYXJuIGlmIHNj
cmlwdHMgaW4gYmFzZV9bYmluZGlyfHNiaW5kaXJ8bGliZGlyXSByZWZlcmVuY2UgZmlsZXMgdW5k
ZXIgZXhlY19wcmVmaXgKICAgICIiIgogICAgaWYgdW5zYWZlX3JlZmVyZW5jZXNfc2tpcHBhYmxl
KHBhdGgsIG5hbWUsIGQpOgogICAgICAgIHJldHVybgoKICAgIGlmIG5vdCBlbGY6CiAgICAgICAg
aW1wb3J0IHN0YXQKICAgICAgICBpbXBvcnQgc3VicHJvY2VzcwogICAgICAgIHBuID0gZC5nZXRW
YXIoJ1BOJykKCiAgICAgICAgIyBFbnN1cmUgd2UncmUgY2hlY2tpbmcgYW4gZXhlY3V0YWJsZSBz
Y3JpcHQKICAgICAgICBzdGF0aW5mbyA9IG9zLnN0YXQocGF0aCkKICAgICAgICBpZiBib29sKHN0
YXRpbmZvLnN0X21vZGUgJiBzdGF0LlNfSVhVU1IpOgogICAgICAgICAgICAjIGdyZXAgc2hlbGwg
c2NyaXB0cyBmb3IgcG9zc2libGUgcmVmZXJlbmNlcyB0byAvZXhlY19wcmVmaXgvCiAgICAgICAg
ICAgIGV4ZWNfcHJlZml4ID0gZC5nZXRWYXIoJ2V4ZWNfcHJlZml4JykKICAgICAgICAgICAgc3Rh
dGVtZW50ID0gImdyZXAgLWUgJyVzL1teIDpdXHsxLFx9L1teIDpdXHsxLFx9JyAlcyA+IC9kZXYv
bnVsbCIgJSAoZXhlY19wcmVmaXgsIHBhdGgpCiAgICAgICAgICAgIGlmIHN1YnByb2Nlc3MuY2Fs
bChzdGF0ZW1lbnQsIHNoZWxsPVRydWUpID09IDA6CiAgICAgICAgICAgICAgICBlcnJvcl9tc2cg
PSBwbiArICI6IEZvdW5kIGEgcmVmZXJlbmNlIHRvICVzLyBpbiAlcyIgJSAoZXhlY19wcmVmaXgs
IHBhdGgpCiAgICAgICAgICAgICAgICBwYWNrYWdlX3FhX2hhbmRsZV9lcnJvcigidW5zYWZlLXJl
ZmVyZW5jZXMtaW4tc2NyaXB0cyIsIGVycm9yX21zZywgZCkKICAgICAgICAgICAgICAgIGVycm9y
X21zZyA9ICJTaGVsbCBzY3JpcHRzIGluIGJhc2VfYmluZGlyIGFuZCBiYXNlX3NiaW5kaXIgc2hv
dWxkIG5vdCByZWZlcmVuY2UgYW55dGhpbmcgaW4gZXhlY19wcmVmaXgiCiAgICAgICAgICAgICAg
ICBwYWNrYWdlX3FhX2hhbmRsZV9lcnJvcigidW5zYWZlLXJlZmVyZW5jZXMtaW4tc2NyaXB0cyIs
IGVycm9yX21zZywgZCkKfQoKCnB5dGhvbiBwYWNrYWdlX3FhX2NoZWNrX3VzZWxlc3NfcnBhdGhz
ICgpIHsKZGVmIHBhY2thZ2VfcWFfY2hlY2tfdXNlbGVzc19ycGF0aHMoZmlsZSwgbmFtZSwgZCwg
ZWxmLCBtZXNzYWdlcyk6CiAgICAiIiIKICAgIENoZWNrIGZvciBSUEFUSHMgdGhhdCBhcmUgdXNl
bGVzcyBidXQgbm90IGRhbmdlcm91cwogICAgIiIiCiAgICBkZWYgcnBhdGhfZXEoYSwgYik6CiAg
ICAgICAgcmV0dXJuIG9zLnBhdGgubm9ybXBhdGgoYSkgPT0gb3MucGF0aC5ub3JtcGF0aChiKQoK
ICAgIGlmIG5vdCBlbGY6CiAgICAgICAgcmV0dXJuCgogICAgaWYgb3MucGF0aC5pc2xpbmsoZmls
ZSk6CiAgICAgICAgcmV0dXJuCgogICAgbGliZGlyID0gZC5nZXRWYXIoImxpYmRpciIpCiAgICBi
YXNlX2xpYmRpciA9IGQuZ2V0VmFyKCJiYXNlX2xpYmRpciIpCgogICAgcGhkcnMgPSBlbGYucnVu
X29iamR1bXAoIi1wIiwgZCkKCiAgICBpbXBvcnQgcmUKICAgIHJwYXRoX3JlID0gcmUuY29tcGls
ZSgiXHMrUlBBVEhccysoLiopIikKICAgIGZvciBsaW5lIGluIHBoZHJzLnNwbGl0KCJcbiIpOgog
ICAgICAgIG0gPSBycGF0aF9yZS5tYXRjaChsaW5lKQogICAgICAgIGlmIG06CiAgICAgICAgICAg
IHJwYXRoID0gbS5ncm91cCgxKQogICAgICAgICAgICBpZiBycGF0aF9lcShycGF0aCwgbGliZGly
KSBvciBycGF0aF9lcShycGF0aCwgYmFzZV9saWJkaXIpOgogICAgICAgICAgICAgICAgIyBUaGUg
ZHluYW1pYyBsaW5rZXIgc2VhcmNoZXMgYm90aCB0aGVzZSBwbGFjZXMgYW55d2F5LiAgVGhlcmUg
aXMgbm8gcG9pbnQgaW4KICAgICAgICAgICAgICAgICMgbG9va2luZyB0aGVyZSBhZ2Fpbi4KICAg
ICAgICAgICAgICAgIHBhY2thZ2VfcWFfYWRkX21lc3NhZ2UobWVzc2FnZXMsICJ1c2VsZXNzLXJw
YXRocyIsICIlczogJXMgY29udGFpbnMgcHJvYmFibHktcmVkdW5kYW50IFJQQVRIICVzIiAlIChu
YW1lLCBwYWNrYWdlX3FhX2NsZWFuX3BhdGgoZmlsZSwgZCksIHJwYXRoKSkKfQoKCnB5dGhvbiBw
YWNrYWdlX3FhX2NoZWNrX3hvcmdfZHJpdmVyX2FiaSAoKSB7CmRlZiBwYWNrYWdlX3FhX2NoZWNr
X3hvcmdfZHJpdmVyX2FiaShwYXRoLCBuYW1lLCBkLCBlbGYsIG1lc3NhZ2VzKToKICAgICIiIgog
ICAgQ2hlY2sgdGhhdCBhbGwgcGFja2FnZXMgY29udGFpbmluZyBYb3JnIGRyaXZlcnMgaGF2ZSBB
QkkgZGVwZW5kZW5jaWVzCiAgICAiIiIKCiAgICAjIFNraXAgZGV2LCBkYmcgb3IgbmF0aXZlc2Rr
IHBhY2thZ2VzCiAgICBpZiBuYW1lLmVuZHN3aXRoKCItZGV2Iikgb3IgbmFtZS5lbmRzd2l0aCgi
LWRiZyIpIG9yIG5hbWUuc3RhcnRzd2l0aCgibmF0aXZlc2RrLSIpOgogICAgICAgIHJldHVybgoK
ICAgIGRyaXZlcmRpciA9IGQuZXhwYW5kKCIke2xpYmRpcn0veG9yZy9tb2R1bGVzL2RyaXZlcnMv
IikKICAgIGlmIGRyaXZlcmRpciBpbiBwYXRoIGFuZCBwYXRoLmVuZHN3aXRoKCIuc28iKToKICAg
ICAgICBtbHByZWZpeCA9IGQuZ2V0VmFyKCdNTFBSRUZJWCcpIG9yICcnCiAgICAgICAgZm9yIHJk
ZXAgaW4gYmIudXRpbHMuZXhwbG9kZV9kZXBzKGQuZ2V0VmFyKCdSREVQRU5EU18nICsgbmFtZSkg
b3IgIiIpOgogICAgICAgICAgICBpZiByZGVwLnN0YXJ0c3dpdGgoIiVzeG9yZy1hYmktIiAlIG1s
cHJlZml4KToKICAgICAgICAgICAgICAgIHJldHVybgogICAgICAgIHBhY2thZ2VfcWFfYWRkX21l
c3NhZ2UobWVzc2FnZXMsICJ4b3JnLWRyaXZlci1hYmkiLCAiUGFja2FnZSAlcyBjb250YWlucyBY
b3JnIGRyaXZlciAoJXMpIGJ1dCBubyB4b3JnLWFiaS0gZGVwZW5kZW5jaWVzIiAlIChuYW1lLCBv
cy5wYXRoLmJhc2VuYW1lKHBhdGgpKSkKfQoKCnB5dGhvbiBwYWNrYWdlX3FhX2NsZWFuX3BhdGgg
KCkgewpkZWYgcGFja2FnZV9xYV9jbGVhbl9wYXRoKHBhdGgsIGQsIHBrZz1Ob25lKToKICAgICIi
IgogICAgUmVtb3ZlIHJlZHVuZGFudCBwYXRocyBmcm9tIHRoZSBwYXRoIGZvciBkaXNwbGF5LiAg
SWYgcGtnIGlzbid0IHNldCB0aGVuCiAgICBUTVBESVIgaXMgc3RyaXBwZWQsIG90aGVyd2lzZSBQ
S0dERVNUL3BrZyBpcyBzdHJpcHBlZC4KICAgICIiIgogICAgaWYgcGtnOgogICAgICAgIHBhdGgg
PSBwYXRoLnJlcGxhY2Uob3MucGF0aC5qb2luKGQuZ2V0VmFyKCJQS0dERVNUIiksIHBrZyksICIv
IikKICAgIHJldHVybiBwYXRoLnJlcGxhY2UoZC5nZXRWYXIoIlRNUERJUiIpLCAiLyIpLnJlcGxh
Y2UoIi8vIiwgIi8iKQp9CgoKcHl0aG9uIHBhY2thZ2VfcWFfZ2V0X21hY2hpbmVfZGljdCAoKSB7
CmRlZiBwYWNrYWdlX3FhX2dldF9tYWNoaW5lX2RpY3QoZCk6CiAgICBtYWNoZGF0YSA9IHsKICAg
ICAgICAgICAgImRhcndpbjkiIDogewogICAgICAgICAgICAgICAgICAgICAgICAiYXJtIiA6ICAg
ICAgICg0MCwgICAgIDAsICAgIDAsICAgICAgICAgIFRydWUsICAgICAgICAgIDMyKSwKICAgICAg
ICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJlYWJpIiA6IHsKICAgICAgICAgICAgICAg
ICAgICAgICAgImFybSIgOiAgICAgICAoNDAsICAgICAwLCAgICAwLCAgICAgICAgICBUcnVlLCAg
ICAgICAgICAzMiksCiAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAiZWxmIiA6
IHsKICAgICAgICAgICAgICAgICAgICAgICAgImFhcmNoNjQiIDogICAoMTgzLCAgICAwLCAgICAw
LCAgICAgICAgICBUcnVlLCAgICAgICAgICA2NCksCiAgICAgICAgICAgICAgICAgICAgICAgICJh
YXJjaDY0X2JlIiA6KDE4MywgICAgMCwgICAgMCwgICAgICAgICAgRmFsc2UsICAgICAgICAgNjQp
LAogICAgICAgICAgICAgICAgICAgICAgICAiaTU4NiIgOiAgICAgICgzLCAgICAgIDAsICAgIDAs
ICAgICAgICAgIFRydWUsICAgICAgICAgIDMyKSwKICAgICAgICAgICAgICAgICAgICAgICAgIng4
Nl82NCI6ICAgICAoNjIsICAgICAwLCAgICAwLCAgICAgICAgICBUcnVlLCAgICAgICAgICA2NCks
CiAgICAgICAgICAgICAgICAgICAgICAgICJlcGlwaGFueSI6ICAgKDQ2NDMsICAgMCwgICAgMCwg
ICAgICAgICAgVHJ1ZSwgICAgICAgICAgMzIpLAogICAgICAgICAgICAgICAgICAgICAgICAibWlw
cyI6ICAgICAgICggOCwgICAgIDAsICAgIDAsICAgICAgICAgIEZhbHNlLCAgICAgICAgIDMyKSwK
ICAgICAgICAgICAgICAgICAgICAgICAgIm1pcHNlbCI6ICAgICAoIDgsICAgICAwLCAgICAwLCAg
ICAgICAgICBUcnVlLCAgICAgICAgICAzMiksCiAgICAgICAgICAgICAgICAgICAgICB9LAogICAg
ICAgICAgICAibGludXgiIDogewogICAgICAgICAgICAgICAgICAgICAgICAiYWFyY2g2NCIgOiAg
ICgxODMsICAgIDAsICAgIDAsICAgICAgICAgIFRydWUsICAgICAgICAgIDY0KSwKICAgICAgICAg
ICAgICAgICAgICAgICAgImFhcmNoNjRfYmUiIDooMTgzLCAgICAwLCAgICAwLCAgICAgICAgICBG
YWxzZSwgICAgICAgICA2NCksCiAgICAgICAgICAgICAgICAgICAgICAgICJhcm0iIDogICAgICAg
KDQwLCAgICA5NywgICAgMCwgICAgICAgICAgVHJ1ZSwgICAgICAgICAgMzIpLAogICAgICAgICAg
ICAgICAgICAgICAgICAiYXJtZWIiOiAgICAgICg0MCwgICAgOTcsICAgIDAsICAgICAgICAgIEZh
bHNlLCAgICAgICAgIDMyKSwKICAgICAgICAgICAgICAgICAgICAgICAgInBvd2VycGMiOiAgICAo
MjAsICAgICAwLCAgICAwLCAgICAgICAgICBGYWxzZSwgICAgICAgICAzMiksCiAgICAgICAgICAg
ICAgICAgICAgICAgICJwb3dlcnBjNjQiOiAgKDIxLCAgICAgMCwgICAgMCwgICAgICAgICAgRmFs
c2UsICAgICAgICAgNjQpLAogICAgICAgICAgICAgICAgICAgICAgICAiaTM4NiI6ICAgICAgICgg
MywgICAgIDAsICAgIDAsICAgICAgICAgIFRydWUsICAgICAgICAgIDMyKSwKICAgICAgICAgICAg
ICAgICAgICAgICAgImk0ODYiOiAgICAgICAoIDMsICAgICAwLCAgICAwLCAgICAgICAgICBUcnVl
LCAgICAgICAgICAzMiksCiAgICAgICAgICAgICAgICAgICAgICAgICJpNTg2IjogICAgICAgKCAz
LCAgICAgMCwgICAgMCwgICAgICAgICAgVHJ1ZSwgICAgICAgICAgMzIpLAogICAgICAgICAgICAg
ICAgICAgICAgICAiaTY4NiI6ICAgICAgICggMywgICAgIDAsICAgIDAsICAgICAgICAgIFRydWUs
ICAgICAgICAgIDMyKSwKICAgICAgICAgICAgICAgICAgICAgICAgIng4Nl82NCI6ICAgICAoNjIs
ICAgICAwLCAgICAwLCAgICAgICAgICBUcnVlLCAgICAgICAgICA2NCksCiAgICAgICAgICAgICAg
ICAgICAgICAgICJpYTY0IjogICAgICAgKDUwLCAgICAgMCwgICAgMCwgICAgICAgICAgVHJ1ZSwg
ICAgICAgICAgNjQpLAogICAgICAgICAgICAgICAgICAgICAgICAiYWxwaGEiOiAgICAgICgzNjkw
MiwgIDAsICAgIDAsICAgICAgICAgIFRydWUsICAgICAgICAgIDY0KSwKICAgICAgICAgICAgICAg
ICAgICAgICAgImhwcGEiOiAgICAgICAoMTUsICAgICAzLCAgICAwLCAgICAgICAgICBGYWxzZSwg
ICAgICAgICAzMiksCiAgICAgICAgICAgICAgICAgICAgICAgICJtNjhrIjogICAgICAgKCA0LCAg
ICAgMCwgICAgMCwgICAgICAgICAgRmFsc2UsICAgICAgICAgMzIpLAogICAgICAgICAgICAgICAg
ICAgICAgICAibWlwcyI6ICAgICAgICggOCwgICAgIDAsICAgIDAsICAgICAgICAgIEZhbHNlLCAg
ICAgICAgIDMyKSwKICAgICAgICAgICAgICAgICAgICAgICAgIm1pcHNlbCI6ICAgICAoIDgsICAg
ICAwLCAgICAwLCAgICAgICAgICBUcnVlLCAgICAgICAgICAzMiksCiAgICAgICAgICAgICAgICAg
ICAgICAgICJtaXBzNjQiOiAgICAgKCA4LCAgICAgMCwgICAgMCwgICAgICAgICAgRmFsc2UsICAg
ICAgICAgNjQpLAogICAgICAgICAgICAgICAgICAgICAgICAibWlwczY0ZWwiOiAgICggOCwgICAg
IDAsICAgIDAsICAgICAgICAgIFRydWUsICAgICAgICAgIDY0KSwKICAgICAgICAgICAgICAgICAg
ICAgICAgIm1pcHNpc2EzMnI2IjogICAoIDgsICAwLCAgICAwLCAgICAgICAgICBGYWxzZSwgICAg
ICAgICAzMiksCiAgICAgICAgICAgICAgICAgICAgICAgICJtaXBzaXNhMzJyNmVsIjogKCA4LCAg
MCwgICAgMCwgICAgICAgICAgVHJ1ZSwgICAgICAgICAgMzIpLAogICAgICAgICAgICAgICAgICAg
ICAgICAibWlwc2lzYTY0cjYiOiAgICggOCwgIDAsICAgIDAsICAgICAgICAgIEZhbHNlLCAgICAg
ICAgIDY0KSwKICAgICAgICAgICAgICAgICAgICAgICAgIm1pcHNpc2E2NHI2ZWwiOiAoIDgsICAw
LCAgICAwLCAgICAgICAgICBUcnVlLCAgICAgICAgICA2NCksCiAgICAgICAgICAgICAgICAgICAg
ICAgICJuaW9zMiI6ICAgICAgKDExMywgICAgMCwgICAgMCwgICAgICAgICAgVHJ1ZSwgICAgICAg
ICAgMzIpLAogICAgICAgICAgICAgICAgICAgICAgICAiczM5MCI6ICAgICAgICgyMiwgICAgIDAs
ICAgIDAsICAgICAgICAgIEZhbHNlLCAgICAgICAgIDMyKSwKICAgICAgICAgICAgICAgICAgICAg
ICAgInNoNCI6ICAgICAgICAoNDIsICAgICAwLCAgICAwLCAgICAgICAgICBUcnVlLCAgICAgICAg
ICAzMiksCiAgICAgICAgICAgICAgICAgICAgICAgICJzcGFyYyI6ICAgICAgKCAyLCAgICAgMCwg
ICAgMCwgICAgICAgICAgRmFsc2UsICAgICAgICAgMzIpLAogICAgICAgICAgICAgICAgICAgICAg
ICAibWljcm9ibGF6ZSI6ICAoMTg5LCAgIDAsICAgIDAsICAgICAgICAgIEZhbHNlLCAgICAgICAg
IDMyKSwKICAgICAgICAgICAgICAgICAgICAgICAgIm1pY3JvYmxhemVlYiI6KDE4OSwgICAwLCAg
ICAwLCAgICAgICAgICBGYWxzZSwgICAgICAgICAzMiksCiAgICAgICAgICAgICAgICAgICAgICAg
ICJtaWNyb2JsYXplZWwiOigxODksICAgMCwgICAgMCwgICAgICAgICAgVHJ1ZSwgICAgICAgICAg
MzIpLAogICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgImxpbnV4LXVjbGliYyIg
OiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJhcm0iIDogICAgICAgKCAgNDAsICAgIDk3LCAg
ICAwLCAgICAgICAgICBUcnVlLCAgICAgICAgICAzMiksCiAgICAgICAgICAgICAgICAgICAgICAg
ICJhcm1lYiI6ICAgICAgKCAgNDAsICAgIDk3LCAgICAwLCAgICAgICAgICBGYWxzZSwgICAgICAg
ICAzMiksCiAgICAgICAgICAgICAgICAgICAgICAgICJwb3dlcnBjIjogICAgKCAgMjAsICAgICAw
LCAgICAwLCAgICAgICAgICBGYWxzZSwgICAgICAgICAzMiksCiAgICAgICAgICAgICAgICAgICAg
ICAgICJpMzg2IjogICAgICAgKCAgIDMsICAgICAwLCAgICAwLCAgICAgICAgICBUcnVlLCAgICAg
ICAgICAzMiksCiAgICAgICAgICAgICAgICAgICAgICAgICJpNDg2IjogICAgICAgKCAgIDMsICAg
ICAwLCAgICAwLCAgICAgICAgICBUcnVlLCAgICAgICAgICAzMiksCiAgICAgICAgICAgICAgICAg
ICAgICAgICJpNTg2IjogICAgICAgKCAgIDMsICAgICAwLCAgICAwLCAgICAgICAgICBUcnVlLCAg
ICAgICAgICAzMiksCiAgICAgICAgICAgICAgICAgICAgICAgICJpNjg2IjogICAgICAgKCAgIDMs
ICAgICAwLCAgICAwLCAgICAgICAgICBUcnVlLCAgICAgICAgICAzMiksCiAgICAgICAgICAgICAg
ICAgICAgICAgICJ4ODZfNjQiOiAgICAgKCAgNjIsICAgICAwLCAgICAwLCAgICAgICAgICBUcnVl
LCAgICAgICAgICA2NCksCiAgICAgICAgICAgICAgICAgICAgICAgICJtaXBzIjogICAgICAgKCAg
IDgsICAgICAwLCAgICAwLCAgICAgICAgICBGYWxzZSwgICAgICAgICAzMiksCiAgICAgICAgICAg
ICAgICAgICAgICAgICJtaXBzZWwiOiAgICAgKCAgIDgsICAgICAwLCAgICAwLCAgICAgICAgICBU
cnVlLCAgICAgICAgICAzMiksCiAgICAgICAgICAgICAgICAgICAgICAgICJtaXBzNjQiOiAgICAg
KCAgIDgsICAgICAwLCAgICAwLCAgICAgICAgICBGYWxzZSwgICAgICAgICA2NCksCiAgICAgICAg
ICAgICAgICAgICAgICAgICJtaXBzNjRlbCI6ICAgKCAgIDgsICAgICAwLCAgICAwLCAgICAgICAg
ICBUcnVlLCAgICAgICAgICA2NCksCiAgICAgICAgICAgICAgICAgICAgICAgICJhdnIzMiI6ICAg
ICAgKDYzMTcsICAgICAwLCAgICAwLCAgICAgICAgICBGYWxzZSwgICAgICAgICAzMiksCiAgICAg
ICAgICAgICAgICAgICAgICAgICJzaDQiOiAgICAgICAgKDQyLCAgICAgICAwLCAgICAwLCAgICAg
ICAgICBUcnVlLCAgICAgICAgICAzMiksCgogICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAg
ICAgICAgImxpbnV4LW11c2wiIDogewogICAgICAgICAgICAgICAgICAgICAgICAiYWFyY2g2NCIg
OiAgICgxODMsICAgIDAsICAgIDAsICAgICAgICAgICAgVHJ1ZSwgICAgICAgICAgNjQpLAogICAg
ICAgICAgICAgICAgICAgICAgICAiYWFyY2g2NF9iZSIgOigxODMsICAgIDAsICAgIDAsICAgICAg
ICAgICAgRmFsc2UsICAgICAgICAgNjQpLAogICAgICAgICAgICAgICAgICAgICAgICAiYXJtIiA6
ICAgICAgICggIDQwLCAgICA5NywgICAgMCwgICAgICAgICAgVHJ1ZSwgICAgICAgICAgMzIpLAog
ICAgICAgICAgICAgICAgICAgICAgICAiYXJtZWIiOiAgICAgICggIDQwLCAgICA5NywgICAgMCwg
ICAgICAgICAgRmFsc2UsICAgICAgICAgMzIpLAogICAgICAgICAgICAgICAgICAgICAgICAicG93
ZXJwYyI6ICAgICggIDIwLCAgICAgMCwgICAgMCwgICAgICAgICAgRmFsc2UsICAgICAgICAgMzIp
LAogICAgICAgICAgICAgICAgICAgICAgICAiaTM4NiI6ICAgICAgICggICAzLCAgICAgMCwgICAg
MCwgICAgICAgICAgVHJ1ZSwgICAgICAgICAgMzIpLAogICAgICAgICAgICAgICAgICAgICAgICAi
aTQ4NiI6ICAgICAgICggICAzLCAgICAgMCwgICAgMCwgICAgICAgICAgVHJ1ZSwgICAgICAgICAg
MzIpLAogICAgICAgICAgICAgICAgICAgICAgICAiaTU4NiI6ICAgICAgICggICAzLCAgICAgMCwg
ICAgMCwgICAgICAgICAgVHJ1ZSwgICAgICAgICAgMzIpLAogICAgICAgICAgICAgICAgICAgICAg
ICAiaTY4NiI6ICAgICAgICggICAzLCAgICAgMCwgICAgMCwgICAgICAgICAgVHJ1ZSwgICAgICAg
ICAgMzIpLAogICAgICAgICAgICAgICAgICAgICAgICAieDg2XzY0IjogICAgICggIDYyLCAgICAg
MCwgICAgMCwgICAgICAgICAgVHJ1ZSwgICAgICAgICAgNjQpLAogICAgICAgICAgICAgICAgICAg
ICAgICAibWlwcyI6ICAgICAgICggICA4LCAgICAgMCwgICAgMCwgICAgICAgICAgRmFsc2UsICAg
ICAgICAgMzIpLAogICAgICAgICAgICAgICAgICAgICAgICAibWlwc2VsIjogICAgICggICA4LCAg
ICAgMCwgICAgMCwgICAgICAgICAgVHJ1ZSwgICAgICAgICAgMzIpLAogICAgICAgICAgICAgICAg
ICAgICAgICAibWlwczY0IjogICAgICggICA4LCAgICAgMCwgICAgMCwgICAgICAgICAgRmFsc2Us
ICAgICAgICAgNjQpLAogICAgICAgICAgICAgICAgICAgICAgICAibWlwczY0ZWwiOiAgICggICA4
LCAgICAgMCwgICAgMCwgICAgICAgICAgVHJ1ZSwgICAgICAgICAgNjQpLAogICAgICAgICAgICAg
ICAgICAgICAgICAibWljcm9ibGF6ZSI6ICAoMTg5LCAgICAgMCwgICAgMCwgICAgICAgICAgRmFs
c2UsICAgICAgICAgMzIpLAogICAgICAgICAgICAgICAgICAgICAgICAibWljcm9ibGF6ZWViIjoo
MTg5LCAgICAgMCwgICAgMCwgICAgICAgICAgRmFsc2UsICAgICAgICAgMzIpLAogICAgICAgICAg
ICAgICAgICAgICAgICAibWljcm9ibGF6ZWVsIjooMTg5LCAgICAgMCwgICAgMCwgICAgICAgICAg
VHJ1ZSwgICAgICAgICAgMzIpLAogICAgICAgICAgICAgICAgICAgICAgICAic2g0IjogICAgICAg
ICggIDQyLCAgICAgMCwgICAgMCwgICAgICAgICAgVHJ1ZSwgICAgICAgICAgMzIpLAogICAgICAg
ICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgInVjbGludXgtdWNsaWJjIiA6IHsKICAgICAg
ICAgICAgICAgICAgICAgICAgImJmaW4iOiAgICAgICAoIDEwNiwgICAgIDAsICAgIDAsICAgICAg
ICAgIFRydWUsICAgICAgICAgMzIpLAogICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAg
ICAgImxpbnV4LWdudWVhYmkiIDogewogICAgICAgICAgICAgICAgICAgICAgICAiYXJtIiA6ICAg
ICAgICg0MCwgICAgIDAsICAgIDAsICAgICAgICAgIFRydWUsICAgICAgICAgIDMyKSwKICAgICAg
ICAgICAgICAgICAgICAgICAgImFybWViIiA6ICAgICAoNDAsICAgICAwLCAgICAwLCAgICAgICAg
ICBGYWxzZSwgICAgICAgICAzMiksCiAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAg
ICAibGludXgtbXVzbGVhYmkiIDogewogICAgICAgICAgICAgICAgICAgICAgICAiYXJtIiA6ICAg
ICAgICg0MCwgICAgIDAsICAgIDAsICAgICAgICAgIFRydWUsICAgICAgICAgIDMyKSwKICAgICAg
ICAgICAgICAgICAgICAgICAgImFybWViIiA6ICAgICAoNDAsICAgICAwLCAgICAwLCAgICAgICAg
ICBGYWxzZSwgICAgICAgICAzMiksCiAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAg
ICAibGludXgtdWNsaWJjZWFiaSIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJhcm0iIDog
ICAgICAgKDQwLCAgICAgMCwgICAgMCwgICAgICAgICAgVHJ1ZSwgICAgICAgICAgMzIpLAogICAg
ICAgICAgICAgICAgICAgICAgICAiYXJtZWIiIDogICAgICg0MCwgICAgIDAsICAgIDAsICAgICAg
ICAgIEZhbHNlLCAgICAgICAgIDMyKSwKICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAg
ICAgICJsaW51eC1nbnVzcGUiIDogewogICAgICAgICAgICAgICAgICAgICAgICAicG93ZXJwYyI6
ICAgICgyMCwgICAgIDAsICAgIDAsICAgICAgICAgIEZhbHNlLCAgICAgICAgIDMyKSwKICAgICAg
ICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJsaW51eC1tdXNsc3BlIiA6IHsKICAgICAg
ICAgICAgICAgICAgICAgICAgInBvd2VycGMiOiAgICAoMjAsICAgICAwLCAgICAwLCAgICAgICAg
ICBGYWxzZSwgICAgICAgICAzMiksCiAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAg
ICAibGludXgtdWNsaWJjc3BlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgInBvd2VycGMi
OiAgICAoMjAsICAgICAwLCAgICAwLCAgICAgICAgICBGYWxzZSwgICAgICAgICAzMiksCiAgICAg
ICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAibGludXgtZ251IiA6ICAgICAgIHsKICAg
ICAgICAgICAgICAgICAgICAgICAgInBvd2VycGMiOiAgICAoMjAsICAgICAwLCAgICAwLCAgICAg
ICAgICBGYWxzZSwgICAgICAgICAzMiksCiAgICAgICAgICAgICAgICAgICAgICAgICJzaDQiOiAg
ICAgICAgKDQyLCAgICAgMCwgICAgMCwgICAgICAgICAgVHJ1ZSwgICAgICAgICAgMzIpLAogICAg
ICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgImxpbnV4LWdudXgzMiIgOiAgICAgICB7
CiAgICAgICAgICAgICAgICAgICAgICAgICJ4ODZfNjQiOiAgICAgKDYyLCAgICAgMCwgICAgMCwg
ICAgICAgICAgVHJ1ZSwgICAgICAgICAgMzIpLAogICAgICAgICAgICAgICAgICAgICAgfSwKICAg
ICAgICAgICAgImxpbnV4LWdudW4zMiIgOiAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAg
ICJtaXBzNjQiOiAgICAgICAoIDgsICAgICAwLCAgICAwLCAgICAgICAgICBGYWxzZSwgICAgICAg
ICAzMiksCiAgICAgICAgICAgICAgICAgICAgICAgICJtaXBzNjRlbCI6ICAgICAoIDgsICAgICAw
LCAgICAwLCAgICAgICAgICBUcnVlLCAgICAgICAgICAzMiksCiAgICAgICAgICAgICAgICAgICAg
ICAgICJtaXBzaXNhNjRyNiI6ICAoIDgsICAgICAwLCAgICAwLCAgICAgICAgICBGYWxzZSwgICAg
ICAgICAzMiksCiAgICAgICAgICAgICAgICAgICAgICAgICJtaXBzaXNhNjRyNmVsIjooIDgsICAg
ICAwLCAgICAwLCAgICAgICAgICBUcnVlLCAgICAgICAgICAzMiksCiAgICAgICAgICAgICAgICAg
ICAgICB9LAogICAgICAgIH0KCiAgICAjIEFkZCBpbiBhbnkgZXh0cmEgdXNlciBzdXBwbGllZCBk
YXRhIHdoaWNoIG1heSBjb21lIGZyb20gYSBCU1AgbGF5ZXIsIHJlbW92aW5nIHRoZQogICAgIyBu
ZWVkIHRvIGFsd2F5cyBjaGFuZ2UgdGhpcyBjbGFzcyBkaXJlY3RseQogICAgZXh0cmFfbWFjaGRh
dGEgPSAoZC5nZXRWYXIoIlBBQ0tBR0VRQV9FWFRSQV9NQUNIREVGRlVOQ1MiKSBvciAiIikuc3Bs
aXQoKQogICAgZm9yIG0gaW4gZXh0cmFfbWFjaGRhdGE6CiAgICAgICAgY2FsbCA9IG0gKyAiKG1h
Y2hkYXRhLCBkKSIKICAgICAgICBsb2NzID0geyAibWFjaGRhdGEiIDogbWFjaGRhdGEsICJkIiA6
IGR9CiAgICAgICAgbWFjaGRhdGEgPSBiYi51dGlscy5iZXR0ZXJfZXZhbChjYWxsLCBsb2NzKQoK
ICAgIHJldHVybiBtYWNoZGF0YQoKfQoKCnB5dGhvbiBwYWNrYWdlX3FhX2hhbmRsZV9lcnJvciAo
KSB7CmRlZiBwYWNrYWdlX3FhX2hhbmRsZV9lcnJvcihlcnJvcl9jbGFzcywgZXJyb3JfbXNnLCBk
KToKICAgIHBhY2thZ2VfcWFfd3JpdGVfZXJyb3IoZXJyb3JfY2xhc3MsIGVycm9yX21zZywgZCkK
ICAgIGlmIGVycm9yX2NsYXNzIGluIChkLmdldFZhcigiRVJST1JfUUEiKSBvciAiIikuc3BsaXQo
KToKICAgICAgICBiYi5lcnJvcigiUUEgSXNzdWU6ICVzIFslc10iICUgKGVycm9yX21zZywgZXJy
b3JfY2xhc3MpKQogICAgICAgIGQuc2V0VmFyKCJRQV9TQU5FIiwgRmFsc2UpCiAgICAgICAgcmV0
dXJuIEZhbHNlCiAgICBlbGlmIGVycm9yX2NsYXNzIGluIChkLmdldFZhcigiV0FSTl9RQSIpIG9y
ICIiKS5zcGxpdCgpOgogICAgICAgIGJiLndhcm4oIlFBIElzc3VlOiAlcyBbJXNdIiAlIChlcnJv
cl9tc2csIGVycm9yX2NsYXNzKSkKICAgIGVsc2U6CiAgICAgICAgYmIubm90ZSgiUUEgSXNzdWU6
ICVzIFslc10iICUgKGVycm9yX21zZywgZXJyb3JfY2xhc3MpKQogICAgcmV0dXJuIFRydWUKfQoK
CnB5dGhvbiBwYWNrYWdlX3FhX2hhc2hfc3R5bGUgKCkgewpkZWYgcGFja2FnZV9xYV9oYXNoX3N0
eWxlKHBhdGgsIG5hbWUsIGQsIGVsZiwgbWVzc2FnZXMpOgogICAgIiIiCiAgICBDaGVjayBpZiB0
aGUgYmluYXJ5IGhhcyB0aGUgcmlnaHQgaGFzaCBzdHlsZS4uLgogICAgIiIiCgogICAgaWYgbm90
IGVsZjoKICAgICAgICByZXR1cm4KCiAgICBpZiBvcy5wYXRoLmlzbGluayhwYXRoKToKICAgICAg
ICByZXR1cm4KCiAgICBnbnVfaGFzaCA9ICItLWhhc2gtc3R5bGU9Z251IiBpbiBkLmdldFZhcign
TERGTEFHUycpCiAgICBpZiBub3QgZ251X2hhc2g6CiAgICAgICAgZ251X2hhc2ggPSAiLS1oYXNo
LXN0eWxlPWJvdGgiIGluIGQuZ2V0VmFyKCdMREZMQUdTJykKICAgIGlmIG5vdCBnbnVfaGFzaDoK
ICAgICAgICByZXR1cm4KCiAgICBzYW5lID0gRmFsc2UKICAgIGhhc19zeW1zID0gRmFsc2UKCiAg
ICBwaGRycyA9IGVsZi5ydW5fb2JqZHVtcCgiLXAiLCBkKQoKICAgICMgSWYgdGhpcyBiaW5hcnkg
aGFzIHN5bWJvbHMsIHdlIGV4cGVjdCBpdCB0byBoYXZlIEdOVV9IQVNIIHRvby4KICAgIGZvciBs
aW5lIGluIHBoZHJzLnNwbGl0KCJcbiIpOgogICAgICAgIGlmICJTWU1UQUIiIGluIGxpbmU6CiAg
ICAgICAgICAgIGhhc19zeW1zID0gVHJ1ZQogICAgICAgIGlmICJHTlVfSEFTSCIgaW4gbGluZToK
ICAgICAgICAgICAgc2FuZSA9IFRydWUKICAgICAgICBpZiAiW21pcHMzMl0iIGluIGxpbmUgb3Ig
IlttaXBzNjRdIiBpbiBsaW5lOgogICAgICAgICAgICBzYW5lID0gVHJ1ZQoKICAgIGlmIGhhc19z
eW1zIGFuZCBub3Qgc2FuZToKICAgICAgICBwYWNrYWdlX3FhX2FkZF9tZXNzYWdlKG1lc3NhZ2Vz
LCAibGRmbGFncyIsICJObyBHTlVfSEFTSCBpbiB0aGUgZWxmIGJpbmFyeTogJyVzJyIgJSBwYXRo
KQoKfQoKCnB5dGhvbiBwYWNrYWdlX3FhX3BhY2thZ2UgKCkgewpkZWYgcGFja2FnZV9xYV9wYWNr
YWdlKHdhcm5mdW5jcywgZXJyb3JmdW5jcywgc2tpcCwgcGFja2FnZSwgZCk6CiAgICB3YXJuaW5n
cyA9IHt9CiAgICBlcnJvcnMgPSB7fQoKICAgIGZvciBmdW5jIGluIHdhcm5mdW5jczoKICAgICAg
ICBmdW5jKHBhY2thZ2UsIGQsIHdhcm5pbmdzKQogICAgZm9yIGZ1bmMgaW4gZXJyb3JmdW5jczoK
ICAgICAgICBmdW5jKHBhY2thZ2UsIGQsIGVycm9ycykKCiAgICBmb3IgdyBpbiB3YXJuaW5nczoK
ICAgICAgICBwYWNrYWdlX3FhX2hhbmRsZV9lcnJvcih3LCB3YXJuaW5nc1t3XSwgZCkKICAgIGZv
ciBlIGluIGVycm9yczoKICAgICAgICBwYWNrYWdlX3FhX2hhbmRsZV9lcnJvcihlLCBlcnJvcnNb
ZV0sIGQpCgogICAgcmV0dXJuIGxlbihlcnJvcnMpID09IDAKfQoKCnB5dGhvbiBwYWNrYWdlX3Fh
X3RleHRyZWwgKCkgewpkZWYgcGFja2FnZV9xYV90ZXh0cmVsKHBhdGgsIG5hbWUsIGQsIGVsZiwg
bWVzc2FnZXMpOgogICAgIiIiCiAgICBDaGVjayBpZiB0aGUgYmluYXJ5IGNvbnRhaW5zIHJlbG9j
YXRpb25zIGluIC50ZXh0CiAgICAiIiIKCiAgICBpZiBub3QgZWxmOgogICAgICAgIHJldHVybgoK
ICAgIGlmIG9zLnBhdGguaXNsaW5rKHBhdGgpOgogICAgICAgIHJldHVybgoKICAgIHBoZHJzID0g
ZWxmLnJ1bl9vYmpkdW1wKCItcCIsIGQpCiAgICBzYW5lID0gVHJ1ZQoKICAgIGltcG9ydCByZQog
ICAgdGV4dHJlbF9yZSA9IHJlLmNvbXBpbGUoIlxzK1RFWFRSRUxccysiKQogICAgZm9yIGxpbmUg
aW4gcGhkcnMuc3BsaXQoIlxuIik6CiAgICAgICAgaWYgdGV4dHJlbF9yZS5tYXRjaChsaW5lKToK
ICAgICAgICAgICAgc2FuZSA9IEZhbHNlCgogICAgaWYgbm90IHNhbmU6CiAgICAgICAgcGFja2Fn
ZV9xYV9hZGRfbWVzc2FnZShtZXNzYWdlcywgInRleHRyZWwiLCAiRUxGIGJpbmFyeSAnJXMnIGhh
cyByZWxvY2F0aW9ucyBpbiAudGV4dCIgJSBwYXRoKQp9CgoKcHl0aG9uIHBhY2thZ2VfcWFfd2Fs
ayAoKSB7CmRlZiBwYWNrYWdlX3FhX3dhbGsod2FybmZ1bmNzLCBlcnJvcmZ1bmNzLCBza2lwLCBw
YWNrYWdlLCBkKToKICAgIGltcG9ydCBvZS5xYQoKICAgICNpZiB0aGlzIHdpbGwgdGhyb3cgYW4g
ZXhjZXB0aW9uLCB0aGVuIGZpeCB0aGUgZGljdCBhYm92ZQogICAgdGFyZ2V0X29zICAgPSBkLmdl
dFZhcignVEFSR0VUX09TJykKICAgIHRhcmdldF9hcmNoID0gZC5nZXRWYXIoJ1RBUkdFVF9BUkNI
JykKCiAgICB3YXJuaW5ncyA9IHt9CiAgICBlcnJvcnMgPSB7fQogICAgZm9yIHBhdGggaW4gcGtn
ZmlsZXNbcGFja2FnZV06CiAgICAgICAgICAgIGVsZiA9IG9lLnFhLkVMRkZpbGUocGF0aCkKICAg
ICAgICAgICAgdHJ5OgogICAgICAgICAgICAgICAgZWxmLm9wZW4oKQogICAgICAgICAgICBleGNl
cHQgKElPRXJyb3IsIG9lLnFhLk5vdEVMRkZpbGVFcnJvcik6CiAgICAgICAgICAgICAgICAjIElP
RXJyb3IgY2FuIGhhcHBlbiBpZiB0aGUgcGFja2FnaW5nIGNvbnRyb2wgZmlsZXMgZGlzYXBwZWFy
LAogICAgICAgICAgICAgICAgZWxmID0gTm9uZQogICAgICAgICAgICBmb3IgZnVuYyBpbiB3YXJu
ZnVuY3M6CiAgICAgICAgICAgICAgICBmdW5jKHBhdGgsIHBhY2thZ2UsIGQsIGVsZiwgd2Fybmlu
Z3MpCiAgICAgICAgICAgIGZvciBmdW5jIGluIGVycm9yZnVuY3M6CiAgICAgICAgICAgICAgICBm
dW5jKHBhdGgsIHBhY2thZ2UsIGQsIGVsZiwgZXJyb3JzKQoKICAgIGZvciB3IGluIHdhcm5pbmdz
OgogICAgICAgIHBhY2thZ2VfcWFfaGFuZGxlX2Vycm9yKHcsIHdhcm5pbmdzW3ddLCBkKQogICAg
Zm9yIGUgaW4gZXJyb3JzOgogICAgICAgIHBhY2thZ2VfcWFfaGFuZGxlX2Vycm9yKGUsIGVycm9y
c1tlXSwgZCkKfQoKCnB5dGhvbiBwYWNrYWdlX3FhX3dyaXRlX2Vycm9yICgpIHsKZGVmIHBhY2th
Z2VfcWFfd3JpdGVfZXJyb3IodHlwZSwgZXJyb3IsIGQpOgogICAgbG9nZmlsZSA9IGQuZ2V0VmFy
KCdRQV9MT0dGSUxFJykKICAgIGlmIGxvZ2ZpbGU6CiAgICAgICAgcCA9IGQuZ2V0VmFyKCdQJykK
ICAgICAgICB3aXRoIG9wZW4obG9nZmlsZSwgImErIikgYXMgZjoKICAgICAgICAgICAgZi53cml0
ZSgiJXM6ICVzIFslc11cbiIgJSAocCwgZXJyb3IsIHR5cGUpKQp9CgoKcHl0aG9uIHBhdGNoX2Rv
X3BhdGNoICgpIHsKICAgIGltcG9ydCBvZS5wYXRjaAoKICAgIHBhdGNoc2V0bWFwID0gewogICAg
ICAgICJwYXRjaCI6IG9lLnBhdGNoLlBhdGNoVHJlZSwKICAgICAgICAicXVpbHQiOiBvZS5wYXRj
aC5RdWlsdFRyZWUsCiAgICAgICAgImdpdCI6IG9lLnBhdGNoLkdpdEFwcGx5VHJlZSwKICAgIH0K
CiAgICBjbHMgPSBwYXRjaHNldG1hcFtkLmdldFZhcignUEFUQ0hUT09MJykgb3IgJ3F1aWx0J10K
CiAgICByZXNvbHZlcm1hcCA9IHsKICAgICAgICAibm9vcCI6IG9lLnBhdGNoLk5PT1BSZXNvbHZl
ciwKICAgICAgICAidXNlciI6IG9lLnBhdGNoLlVzZXJSZXNvbHZlciwKICAgIH0KCiAgICByY2xz
ID0gcmVzb2x2ZXJtYXBbZC5nZXRWYXIoJ1BBVENIUkVTT0xWRScpIG9yICd1c2VyJ10KCiAgICBj
bGFzc2VzID0ge30KCiAgICBzID0gZC5nZXRWYXIoJ1MnKQoKICAgIG9zLnB1dGVudignUEFUSCcs
IGQuZ2V0VmFyKCdQQVRIJykpCgogICAgIyBXZSBtdXN0IHVzZSBvbmUgVE1QRElSIHBlciBwcm9j
ZXNzIHNvIHRoYXQgdGhlICJwYXRjaCIgcHJvY2Vzc2VzCiAgICAjIGRvbid0IGdlbmVyYXRlIHRo
ZSBzYW1lIHRlbXAgZmlsZSBuYW1lLgoKICAgIGltcG9ydCB0ZW1wZmlsZQogICAgcHJvY2Vzc190
bXBkaXIgPSB0ZW1wZmlsZS5ta2R0ZW1wKCkKICAgIG9zLmVudmlyb25bJ1RNUERJUiddID0gcHJv
Y2Vzc190bXBkaXIKCiAgICBmb3IgcGF0Y2ggaW4gc3JjX3BhdGNoZXMoZCk6CiAgICAgICAgXywg
XywgbG9jYWwsIF8sIF8sIHBhcm0gPSBiYi5mZXRjaC5kZWNvZGV1cmwocGF0Y2gpCgogICAgICAg
IGlmICJwYXRjaGRpciIgaW4gcGFybToKICAgICAgICAgICAgcGF0Y2hkaXIgPSBwYXJtWyJwYXRj
aGRpciJdCiAgICAgICAgICAgIGlmIG5vdCBvcy5wYXRoLmlzYWJzKHBhdGNoZGlyKToKICAgICAg
ICAgICAgICAgIHBhdGNoZGlyID0gb3MucGF0aC5qb2luKHMsIHBhdGNoZGlyKQogICAgICAgIGVs
c2U6CiAgICAgICAgICAgIHBhdGNoZGlyID0gcwoKICAgICAgICBpZiBub3QgcGF0Y2hkaXIgaW4g
Y2xhc3NlczoKICAgICAgICAgICAgcGF0Y2hzZXQgPSBjbHMocGF0Y2hkaXIsIGQpCiAgICAgICAg
ICAgIHJlc29sdmVyID0gcmNscyhwYXRjaHNldCwgb2VfdGVybWluYWwpCiAgICAgICAgICAgIGNs
YXNzZXNbcGF0Y2hkaXJdID0gKHBhdGNoc2V0LCByZXNvbHZlcikKICAgICAgICAgICAgcGF0Y2hz
ZXQuQ2xlYW4oKQogICAgICAgIGVsc2U6CiAgICAgICAgICAgIHBhdGNoc2V0LCByZXNvbHZlciA9
IGNsYXNzZXNbcGF0Y2hkaXJdCgogICAgICAgIGJiLm5vdGUoIkFwcGx5aW5nIHBhdGNoICclcycg
KCVzKSIgJSAocGFybVsncGF0Y2huYW1lJ10sIG9lLnBhdGguZm9ybWF0X2Rpc3BsYXkobG9jYWws
IGQpKSkKICAgICAgICB0cnk6CiAgICAgICAgICAgIHBhdGNoc2V0LkltcG9ydCh7ImZpbGUiOmxv
Y2FsLCAic3RyaXBwYXRoIjogcGFybVsnc3RyaXBsZXZlbCddfSwgVHJ1ZSkKICAgICAgICBleGNl
cHQgRXhjZXB0aW9uIGFzIGV4YzoKICAgICAgICAgICAgYmIudXRpbHMucmVtb3ZlKHByb2Nlc3Nf
dG1wZGlyLCBUcnVlKQogICAgICAgICAgICBiYi5mYXRhbChzdHIoZXhjKSkKICAgICAgICB0cnk6
CiAgICAgICAgICAgIHJlc29sdmVyLlJlc29sdmUoKQogICAgICAgIGV4Y2VwdCBiYi5CQkhhbmRs
ZWRFeGNlcHRpb24gYXMgZToKICAgICAgICAgICAgYmIudXRpbHMucmVtb3ZlKHByb2Nlc3NfdG1w
ZGlyLCBUcnVlKQogICAgICAgICAgICBiYi5mYXRhbChzdHIoZSkpCgogICAgYmIudXRpbHMucmVt
b3ZlKHByb2Nlc3NfdG1wZGlyLCBUcnVlKQogICAgZGVsIG9zLmVudmlyb25bJ1RNUERJUiddCn0K
CgpweXRob24gcGF0Y2hfdGFza19wYXRjaF9wcmVmdW5jICgpIHsKICAgICMgUHJlZnVuYyBmb3Ig
ZG9fcGF0Y2gKICAgIGZ1bmMgPSBkLmdldFZhcignQkJfUlVOVEFTSycpCiAgICBzcmNzdWJkaXIg
PSBkLmdldFZhcignUycpCgogICAgcGF0Y2hkaXIgPSBvcy5wYXRoLmpvaW4oc3Jjc3ViZGlyLCAn
cGF0Y2hlcycpCiAgICBpZiBvcy5wYXRoLmV4aXN0cyhwYXRjaGRpcik6CiAgICAgICAgaWYgb3Mu
bGlzdGRpcihwYXRjaGRpcik6CiAgICAgICAgICAgIGQuc2V0VmFyKCdQQVRDSF9IQVNfUEFUQ0hF
U19ESVInLCAnMScpCiAgICAgICAgZWxzZToKICAgICAgICAgICAgb3Mucm1kaXIocGF0Y2hkaXIp
Cn0KCgpweXRob24gcGF0Y2hfdGFza19wb3N0ZnVuYyAoKSB7CiAgICAjIFByZWZ1bmMgZm9yIHRh
c2sgZnVuY3Rpb25zIGJldHdlZW4gZG9fdW5wYWNrIGFuZCBkb19wYXRjaAogICAgaW1wb3J0IG9l
LnBhdGNoCiAgICBpbXBvcnQgc2h1dGlsCiAgICBmdW5jID0gZC5nZXRWYXIoJ0JCX1JVTlRBU0sn
KQogICAgc3Jjc3ViZGlyID0gZC5nZXRWYXIoJ1MnKQoKICAgIGlmIG9zLnBhdGguZXhpc3RzKHNy
Y3N1YmRpcik6CiAgICAgICAgaWYgZnVuYyA9PSAnZG9fcGF0Y2gnOgogICAgICAgICAgICBoYXNw
YXRjaGVzID0gKGQuZ2V0VmFyKCdQQVRDSF9IQVNfUEFUQ0hFU19ESVInKSA9PSAnMScpCiAgICAg
ICAgICAgIHBhdGNoZGlyID0gb3MucGF0aC5qb2luKHNyY3N1YmRpciwgJ3BhdGNoZXMnKQogICAg
ICAgICAgICBpZiBvcy5wYXRoLmV4aXN0cyhwYXRjaGRpcik6CiAgICAgICAgICAgICAgICBzaHV0
aWwucm10cmVlKHBhdGNoZGlyKQogICAgICAgICAgICAgICAgaWYgaGFzcGF0Y2hlczoKICAgICAg
ICAgICAgICAgICAgICBzdGRvdXQsIF8gPSBiYi5wcm9jZXNzLnJ1bignZ2l0IHN0YXR1cyAtLXBv
cmNlbGFpbiBwYXRjaGVzJywgY3dkPXNyY3N1YmRpcikKICAgICAgICAgICAgICAgICAgICBpZiBz
dGRvdXQ6CiAgICAgICAgICAgICAgICAgICAgICAgIGJiLnByb2Nlc3MucnVuKCdnaXQgY2hlY2tv
dXQgcGF0Y2hlcycsIGN3ZD1zcmNzdWJkaXIpCiAgICAgICAgc3Rkb3V0LCBfID0gYmIucHJvY2Vz
cy5ydW4oJ2dpdCBzdGF0dXMgLS1wb3JjZWxhaW4gLicsIGN3ZD1zcmNzdWJkaXIpCiAgICAgICAg
aWYgc3Rkb3V0OgogICAgICAgICAgICB1c2Vyb3B0aW9ucyA9IFtdCiAgICAgICAgICAgIG9lLnBh
dGNoLkdpdEFwcGx5VHJlZS5naXRDb21tYW5kVXNlck9wdGlvbnModXNlcm9wdGlvbnMsIGQ9ZCkK
ICAgICAgICAgICAgYmIucHJvY2Vzcy5ydW4oJ2dpdCBhZGQgLjsgZ2l0ICVzIGNvbW1pdCAtYSAt
bSAiQ29tbWl0dGluZyBjaGFuZ2VzIGZyb20gJXNcblxuJXMiJyAlICgnICcuam9pbih1c2Vyb3B0
aW9ucyksIGZ1bmMsIG9lLnBhdGNoLkdpdEFwcGx5VHJlZS5pZ25vcmVfY29tbWl0X3ByZWZpeCAr
ICcgLSBmcm9tICVzJyAlIGZ1bmMpLCBjd2Q9c3Jjc3ViZGlyKQp9CgoKcHl0aG9uIHBlcmZvcm1f
cGFja2FnZWNvcHkgKCkgewogICAgZW5hYmxlZCA9IG9lLmRhdGEudHlwZWRfdmFsdWUoJ0xJQ0VO
U0VfQ1JFQVRFX1BBQ0tBR0UnLCBkKQogICAgaWYgZC5nZXRWYXIoJ0NMQVNTT1ZFUlJJREUnKSA9
PSAnY2xhc3MtdGFyZ2V0JyBhbmQgZW5hYmxlZDoKICAgICAgICBsaWNfZmlsZXNfcGF0aHMgPSBm
aW5kX2xpY2Vuc2VfZmlsZXMoZCkKCiAgICAgICAgIyBMSUNFTlNFX0ZJTEVTX0RJUkVDVE9SWSBz
dGFydHMgd2l0aCAnLycgc28gb3MucGF0aC5qb2luIGNhbm5vdCBiZSB1c2VkIHRvIGpvaW4gRCBh
bmQgTElDRU5TRV9GSUxFU19ESVJFQ1RPUlkKICAgICAgICBkZXN0ZGlyID0gZC5nZXRWYXIoJ0Qn
KSArIG9zLnBhdGguam9pbihkLmdldFZhcignTElDRU5TRV9GSUxFU19ESVJFQ1RPUlknKSwgZC5n
ZXRWYXIoJ1BOJykpCiAgICAgICAgY29weV9saWNlbnNlX2ZpbGVzKGxpY19maWxlc19wYXRocywg
ZGVzdGRpcikKICAgICAgICBhZGRfcGFja2FnZV9hbmRfZmlsZXMoZCkKICAgIGRlc3QgPSBkLmdl
dFZhcignRCcpCiAgICBkdmFyID0gZC5nZXRWYXIoJ1BLR0QnKQoKICAgICMgU3RhcnQgYnkgcGFj
a2FnZSBwb3B1bGF0aW9uIGJ5IHRha2luZyBhIGNvcHkgb2YgdGhlIGluc3RhbGxlZAogICAgIyBm
aWxlcyB0byBvcGVyYXRlIG9uCiAgICAjIFByZXNlcnZlIHNwYXJzZSBmaWxlcyBhbmQgaGFyZCBs
aW5rcwogICAgY21kID0gJ3RhciAtY2YgLSAtQyAlcyAtcCAuIHwgdGFyIC14ZiAtIC1DICVzJyAl
IChkZXN0LCBkdmFyKQogICAgKHJldHZhbCwgb3V0cHV0KSA9IG9lLnV0aWxzLmdldHN0YXR1c291
dHB1dChjbWQpCiAgICBpZiByZXR2YWw6CiAgICAgICAgYmIuZmF0YWwoImZpbGUgY29weSBmYWls
ZWQgd2l0aCBleGl0IGNvZGUgJXMgKGNtZCB3YXMgJXMpJXMiICUgKHJldHZhbCwgY21kLCAiOlxu
JXMiICUgb3V0cHV0IGlmIG91dHB1dCBlbHNlICIiKSkKCiAgICAjIHJlcGxhY2UgUlBBVEhzIGZv
ciB0aGUgbmF0aXZlc2RrIGJpbmFyaWVzLCB0byBtYWtlIHRoZW0gcmVsb2NhdGFibGUKICAgIGlm
IGJiLmRhdGEuaW5oZXJpdHNfY2xhc3MoJ25hdGl2ZXNkaycsIGQpIG9yIGJiLmRhdGEuaW5oZXJp
dHNfY2xhc3MoJ2Nyb3NzLWNhbmFkaWFuJywgZCk6CiAgICAgICAgcnBhdGhfcmVwbGFjZSAoZHZh
ciwgZCkKfQoKCnB5dGhvbiBwZXJmb3JtX3BhY2thZ2Vjb3B5X3ByZXBlbmQgKCkgewpOb25lfQoK
CnB5dGhvbiBwa2dhcmNoX21hcHBpbmcgKCkgewpkZWYgcGtnYXJjaF9tYXBwaW5nKGQpOgogICAg
IyBDb21wYXRpYmlsaXR5IG1hcHBpbmdzIG9mIFRVTkVfUEtHQVJDSCAob3B0IGluKQogICAgaWYg
ZC5nZXRWYXIoIlBLR0FSQ0hDT01QQVRfQVJNVjdBIik6CiAgICAgICAgaWYgZC5nZXRWYXIoIlRV
TkVfUEtHQVJDSCIpID09ICJhcm12N2EtdmZwLW5lb24iOgogICAgICAgICAgICBkLnNldFZhcigi
VFVORV9QS0dBUkNIIiwgImFybXY3YSIpCn0KCgpweXRob24gcG9reV91cGRhdGVfYmJsYXllcnNj
b25mICgpIHsKICAgIGN1cnJlbnRfdmVyc2lvbiA9IGludChkLmdldFZhcignUE9LWV9CQkxBWUVS
U19DT05GX1ZFUlNJT04nLCBUcnVlKSBvciAtMSkKICAgIGxhdGVzdF92ZXJzaW9uID0gaW50KGQu
Z2V0VmFyKCdSRVFVSVJFRF9QT0tZX0JCTEFZRVJTX0NPTkZfVkVSU0lPTicsIFRydWUpIG9yIC0x
KQogICAgaWYgY3VycmVudF92ZXJzaW9uID09IC0xIG9yIGxhdGVzdF92ZXJzaW9uID09IC0xOgog
ICAgICAgICMgb25lIG9yIHRoZSBvdGhlciBtaXNzaW5nID0+IG1hbGZvcm1lZCBjb25maWd1cmF0
aW9uCiAgICAgICAgcmFpc2UgTm90SW1wbGVtZW50ZWRFcnJvcigiWW91IG5lZWQgdG8gdXBkYXRl
IGJibGF5ZXJzLmNvbmYgbWFudWFsbHkgZm9yIHRoaXMgdmVyc2lvbiB0cmFuc2l0aW9uIikKCiAg
ICBzdWNjZXNzID0gVHJ1ZQoKICAgICMgY2hlY2sgZm9yIG91dCBvZiBkYXRlIHRlbXBsYXRlY29u
Zi5jZmcgZmlsZQogICAgbGluZXMgPSBbXQogICAgZm4gPSBvcy5wYXRoLmpvaW4oZC5nZXRWYXIo
J1RPUERJUicsIFRydWUpLCAnY29uZi90ZW1wbGF0ZWNvbmYuY2ZnJykKCiAgICBsaW5lcyA9IHNh
bml0eV9jb25mX3JlYWQoZm4pCiAgICBpbmRleCwgbWV0YV95b2N0b19saW5lID0gc2FuaXR5X2Nv
bmZfZmluZF9saW5lKHInXm1ldGEteW9jdG8vJywgbGluZXMpCiAgICBpZiBtZXRhX3lvY3RvX2xp
bmU6CiAgICAgICAgbGluZXNbaW5kZXhdID0gbWV0YV95b2N0b19saW5lLnJlcGxhY2UoJ21ldGEt
eW9jdG8nLCAnbWV0YS1wb2t5JykKICAgICAgICB3aXRoIG9wZW4oZm4sICJ3IikgYXMgZjoKICAg
ICAgICAgICAgZi53cml0ZSgnJy5qb2luKGxpbmVzKSkKICAgICAgICBiYi5ub3RlKCJZb3VyIGNv
bmYvdGVtcGxhdGVjb25mLmNmZyBmaWxlIHdhcyB1cGRhdGVkIGZyb20gbWV0YS15b2N0byB0byBt
ZXRhLXBva3kiKQoKICAgICMgYWRkIGFueSBhZGRpdGlvbmFsIGxheWVyIGNoZWNrcy9jaGFuZ2Vz
IGhlcmUKCiAgICBpZiBzdWNjZXNzOgogICAgICAgIGN1cnJlbnRfdmVyc2lvbiA9IGxhdGVzdF92
ZXJzaW9uCiAgICAgICAgYmJsYXllcnNfZm4gPSBiYmxheWVyc19jb25mX2ZpbGUoZCkKICAgICAg
ICBsaW5lcyA9IHNhbml0eV9jb25mX3JlYWQoYmJsYXllcnNfZm4pCiAgICAgICAgIyBzYW5pdHlf
Y29uZl91cGRhdGUoKSB3aWxsIGVycm9uZW91c2x5IGZpbmQgYSBtYXRjaCB3aGVuIHRoZSB2YXIg
bmFtZQogICAgICAgICMgaXMgdXNlZCBpbiBhIGNvbW1lbnQsIHNvIGRvIG91ciBvd24gaGVyZS4g
VGhlIGNvZGUgYmVsb3cgY2FuIGJlCiAgICAgICAgIyByZW1vdmVkIHdoZW4gc2FuaXR5X2NvbmZf
dXBkYXRlKCkgaXMgZml4ZWQgaW4gT0UtQ29yZS4KICAgICAgICAjc2FuaXR5X2NvbmZfdXBkYXRl
KGJibGF5ZXJzX2ZuLCBsaW5lcywgJ1BPS1lfQkJMQVlFUlNfQ09ORl9WRVJTSU9OJywgY3VycmVu
dF92ZXJzaW9uKQogICAgICAgIGluZGV4LCBsaW5lID0gc2FuaXR5X2NvbmZfZmluZF9saW5lKHIn
XlBPS1lfQkJMQVlFUlNfQ09ORl9WRVJTSU9OJywgbGluZXMpCiAgICAgICAgbGluZXNbaW5kZXhd
ID0gJ1BPS1lfQkJMQVlFUlNfQ09ORl9WRVJTSU9OID0gIiVkIlxuJyAlIGN1cnJlbnRfdmVyc2lv
bgogICAgICAgIHdpdGggb3BlbihiYmxheWVyc19mbiwgInciKSBhcyBmOgogICAgICAgICAgICBm
LndyaXRlKCcnLmpvaW4obGluZXMpKQogICAgICAgIGJiLm5vdGUoIllvdXIgY29uZi9iYmxheWVy
cy5jb25mIGhhcyBiZWVuIGF1dG9tYXRpY2FsbHkgdXBkYXRlZC4iKQogICAgaWYgc3VjY2VzczoK
ICAgICAgICByZXR1cm4KCiAgICByYWlzZSBOb3RJbXBsZW1lbnRlZEVycm9yKCJZb3UgbmVlZCB0
byB1cGRhdGUgYmJsYXllcnMuY29uZiBtYW51YWxseSBmb3IgdGhpcyB2ZXJzaW9uIHRyYW5zaXRp
b24iKQp9CgoKcHl0aG9uIHBvcHVsYXRlX2xpY19xYV9jaGVja3N1bSAoKSB7CiAgICAiIiIKICAg
IENoZWNrIGZvciBjaGFuZ2VzIGluIHRoZSBsaWNlbnNlIGZpbGVzLgogICAgIiIiCiAgICBpbXBv
cnQgdGVtcGZpbGUKICAgIHNhbmUgPSBUcnVlCgogICAgbGljX2ZpbGVzID0gZC5nZXRWYXIoJ0xJ
Q19GSUxFU19DSEtTVU0nKSBvciAnJwogICAgbGljID0gZC5nZXRWYXIoJ0xJQ0VOU0UnKQogICAg
cG4gPSBkLmdldFZhcignUE4nKQoKICAgIGlmIGxpYyA9PSAiQ0xPU0VEIjoKICAgICAgICByZXR1
cm4KCiAgICBpZiBub3QgbGljX2ZpbGVzIGFuZCBkLmdldFZhcignU1JDX1VSSScpOgogICAgICAg
IHNhbmUgPSBwYWNrYWdlX3FhX2hhbmRsZV9lcnJvcigibGljZW5zZS1jaGVja3N1bSIsIHBuICsg
IjogUmVjaXBlIGZpbGUgZmV0Y2hlcyBmaWxlcyBhbmQgZG9lcyBub3QgaGF2ZSBsaWNlbnNlIGZp
bGUgaW5mb3JtYXRpb24gKExJQ19GSUxFU19DSEtTVU0pIiwgZCkKCiAgICBzcmNkaXIgPSBkLmdl
dFZhcignUycpCgogICAgZm9yIHVybCBpbiBsaWNfZmlsZXMuc3BsaXQoKToKICAgICAgICB0cnk6
CiAgICAgICAgICAgICh0eXBlLCBob3N0LCBwYXRoLCB1c2VyLCBwc3dkLCBwYXJtKSA9IGJiLmZl
dGNoLmRlY29kZXVybCh1cmwpCiAgICAgICAgZXhjZXB0IGJiLmZldGNoLk1hbGZvcm1lZFVybDoK
ICAgICAgICAgICAgc2FuZSA9IHBhY2thZ2VfcWFfaGFuZGxlX2Vycm9yKCJsaWNlbnNlLWNoZWNr
c3VtIiwgcG4gKyAiOiBMSUNfRklMRVNfQ0hLU1VNIGNvbnRhaW5zIGFuIGludmFsaWQgVVJMOiAi
ICsgdXJsLCBkKQogICAgICAgICAgICBjb250aW51ZQogICAgICAgIHNyY2xpY2ZpbGUgPSBvcy5w
YXRoLmpvaW4oc3JjZGlyLCBwYXRoKQogICAgICAgIGlmIG5vdCBvcy5wYXRoLmlzZmlsZShzcmNs
aWNmaWxlKToKICAgICAgICAgICAgcGFja2FnZV9xYV9oYW5kbGVfZXJyb3IoImxpY2Vuc2UtY2hl
Y2tzdW0iLCBwbiArICI6IExJQ19GSUxFU19DSEtTVU0gcG9pbnRzIHRvIGFuIGludmFsaWQgZmls
ZTogIiArIHNyY2xpY2ZpbGUsIGQpCiAgICAgICAgICAgIGNvbnRpbnVlCgogICAgICAgIHJlY2lw
ZW1kNSA9IHBhcm0uZ2V0KCdtZDUnLCAnJykKICAgICAgICBiZWdpbmxpbmUsIGVuZGxpbmUgPSAw
LCAwCiAgICAgICAgaWYgJ2JlZ2lubGluZScgaW4gcGFybToKICAgICAgICAgICAgYmVnaW5saW5l
ID0gaW50KHBhcm1bJ2JlZ2lubGluZSddKQogICAgICAgIGlmICdlbmRsaW5lJyBpbiBwYXJtOgog
ICAgICAgICAgICBlbmRsaW5lID0gaW50KHBhcm1bJ2VuZGxpbmUnXSkKCiAgICAgICAgaWYgKG5v
dCBiZWdpbmxpbmUpIGFuZCAobm90IGVuZGxpbmUpOgogICAgICAgICAgICBtZDVjaGtzdW0gPSBi
Yi51dGlscy5tZDVfZmlsZShzcmNsaWNmaWxlKQogICAgICAgICAgICB3aXRoIG9wZW4oc3JjbGlj
ZmlsZSwgJ3JiJykgYXMgZjoKICAgICAgICAgICAgICAgIGxpY2Vuc2UgPSBmLnJlYWQoKQogICAg
ICAgIGVsc2U6CiAgICAgICAgICAgIGZpID0gb3BlbihzcmNsaWNmaWxlLCAncmInKQogICAgICAg
ICAgICBmbyA9IHRlbXBmaWxlLk5hbWVkVGVtcG9yYXJ5RmlsZShtb2RlPSd3YicsIHByZWZpeD0n
cG9reS4nLCBzdWZmaXg9Jy50bXAnLCBkZWxldGU9RmFsc2UpCiAgICAgICAgICAgIHRtcGxpY2Zp
bGUgPSBmby5uYW1lOwogICAgICAgICAgICBsaW5lbm8gPSAwCiAgICAgICAgICAgIGxpbmVzb3V0
ID0gMAogICAgICAgICAgICBsaWNlbnNlID0gW10KICAgICAgICAgICAgZm9yIGxpbmUgaW4gZmk6
CiAgICAgICAgICAgICAgICBsaW5lbm8gKz0gMQogICAgICAgICAgICAgICAgaWYgKGxpbmVubyA+
PSBiZWdpbmxpbmUpOgogICAgICAgICAgICAgICAgICAgIGlmICgobGluZW5vIDw9IGVuZGxpbmUp
IG9yIG5vdCBlbmRsaW5lKToKICAgICAgICAgICAgICAgICAgICAgICAgZm8ud3JpdGUobGluZSkK
ICAgICAgICAgICAgICAgICAgICAgICAgbGljZW5zZS5hcHBlbmQobGluZSkKICAgICAgICAgICAg
ICAgICAgICAgICAgbGluZXNvdXQgKz0gMQogICAgICAgICAgICAgICAgICAgIGVsc2U6CiAgICAg
ICAgICAgICAgICAgICAgICAgIGJyZWFrCiAgICAgICAgICAgIGZvLmZsdXNoKCkKICAgICAgICAg
ICAgZm8uY2xvc2UoKQogICAgICAgICAgICBmaS5jbG9zZSgpCiAgICAgICAgICAgIG1kNWNoa3N1
bSA9IGJiLnV0aWxzLm1kNV9maWxlKHRtcGxpY2ZpbGUpCiAgICAgICAgICAgIGxpY2Vuc2UgPSBi
Jycuam9pbihsaWNlbnNlKQogICAgICAgICAgICBvcy51bmxpbmsodG1wbGljZmlsZSkKCiAgICAg
ICAgaWYgcmVjaXBlbWQ1ID09IG1kNWNoa3N1bToKICAgICAgICAgICAgYmIubm90ZSAocG4gKyAi
OiBtZDUgY2hlY2tzdW0gbWF0Y2hlZCBmb3IgIiwgdXJsKQogICAgICAgIGVsc2U6CiAgICAgICAg
ICAgIGlmIHJlY2lwZW1kNToKICAgICAgICAgICAgICAgIG1zZyA9IHBuICsgIjogVGhlIExJQ19G
SUxFU19DSEtTVU0gZG9lcyBub3QgbWF0Y2ggZm9yICIgKyB1cmwKICAgICAgICAgICAgICAgIG1z
ZyA9IG1zZyArICJcbiIgKyBwbiArICI6IFRoZSBuZXcgbWQ1IGNoZWNrc3VtIGlzICIgKyBtZDVj
aGtzdW0KICAgICAgICAgICAgICAgIHRyeToKICAgICAgICAgICAgICAgICAgICBsaWNlbnNlX2xp
bmVzID0gbGljZW5zZS5kZWNvZGUoJ3V0Zi04Jykuc3BsaXQoJ1xuJykKICAgICAgICAgICAgICAg
IGV4Y2VwdDoKICAgICAgICAgICAgICAgICAgICAjIExpY2Vuc2UgdGV4dCBtaWdodCBub3QgYmUg
dmFsaWQgVVRGLTgsIGluIHdoaWNoCiAgICAgICAgICAgICAgICAgICAgIyBjYXNlIHdlIGRvbid0
IGtub3cgaG93IHRvIGluY2x1ZGUgaXQgaW4gb3VyIG91dHB1dAogICAgICAgICAgICAgICAgICAg
ICMgYW5kIGhhdmUgdG8gc2tpcCBpdC4KICAgICAgICAgICAgICAgICAgICBwYXNzCiAgICAgICAg
ICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgICAgIG1heF9saW5lcyA9IGludChkLmdldFZh
cignUUFfTUFYX0xJQ0VOU0VfTElORVMnKSBvciAyMCkKICAgICAgICAgICAgICAgICAgICBpZiBu
b3QgbGljZW5zZV9saW5lcyBvciBsaWNlbnNlX2xpbmVzWy0xXSAhPSAnJzoKICAgICAgICAgICAg
ICAgICAgICAgICAgIyBFbnN1cmUgdGhhdCBvdXIgbGljZW5zZSB0ZXh0IGVuZHMgd2l0aCBhIGxp
bmUgYnJlYWsKICAgICAgICAgICAgICAgICAgICAgICAgIyAod2lsbCBiZSBhZGRlZCB3aXRoIGpv
aW4oKSBiZWxvdykuCiAgICAgICAgICAgICAgICAgICAgICAgIGxpY2Vuc2VfbGluZXMuYXBwZW5k
KCcnKQogICAgICAgICAgICAgICAgICAgIHJlbW92ZSA9IGxlbihsaWNlbnNlX2xpbmVzKSAtIG1h
eF9saW5lcwogICAgICAgICAgICAgICAgICAgIGlmIHJlbW92ZSA+IDA6CiAgICAgICAgICAgICAg
ICAgICAgICAgIHN0YXJ0ID0gbWF4X2xpbmVzIC8vIDIKICAgICAgICAgICAgICAgICAgICAgICAg
ZW5kID0gc3RhcnQgKyByZW1vdmUgLSAxCiAgICAgICAgICAgICAgICAgICAgICAgIGRlbCBsaWNl
bnNlX2xpbmVzW3N0YXJ0OmVuZF0KICAgICAgICAgICAgICAgICAgICAgICAgbGljZW5zZV9saW5l
cy5pbnNlcnQoc3RhcnQsICcuLi4nKQogICAgICAgICAgICAgICAgICAgIG1zZyA9IG1zZyArICJc
biIgKyBwbiArICI6IEhlcmUgaXMgdGhlIHNlbGVjdGVkIGxpY2Vuc2UgdGV4dDoiICsgXAogICAg
ICAgICAgICAgICAgICAgICAgICAgICJcbiIgKyBcCiAgICAgICAgICAgICAgICAgICAgICAgICAg
Ins6dl43MH0iLmZvcm1hdCgiIGJlZ2lubGluZT0lZCAiICUgYmVnaW5saW5lIGlmIGJlZ2lubGlu
ZSBlbHNlICIiKSArIFwKICAgICAgICAgICAgICAgICAgICAgICAgICAiXG4iICsgIlxuIi5qb2lu
KGxpY2Vuc2VfbGluZXMpICsgXAogICAgICAgICAgICAgICAgICAgICAgICAgICJ7Ol5eNzB9Ii5m
b3JtYXQoIiBlbmRsaW5lPSVkICIgJSBlbmRsaW5lIGlmIGVuZGxpbmUgZWxzZSAiIikKICAgICAg
ICAgICAgICAgIGlmIGJlZ2lubGluZToKICAgICAgICAgICAgICAgICAgICBpZiBlbmRsaW5lOgog
ICAgICAgICAgICAgICAgICAgICAgICBzcmNmaWxlZGVzYyA9ICIlcyAobGluZXMgJWQgdGhyb3Vn
aCB0byAlZCkiICUgKHNyY2xpY2ZpbGUsIGJlZ2lubGluZSwgZW5kbGluZSkKICAgICAgICAgICAg
ICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgICAgICAgICBzcmNmaWxlZGVzYyA9ICIlcyAo
YmVnaW5uaW5nIG9uIGxpbmUgJWQpIiAlIChzcmNsaWNmaWxlLCBiZWdpbmxpbmUpCiAgICAgICAg
ICAgICAgICBlbGlmIGVuZGxpbmU6CiAgICAgICAgICAgICAgICAgICAgc3JjZmlsZWRlc2MgPSAi
JXMgKGVuZGluZyBvbiBsaW5lICVkKSIgJSAoc3JjbGljZmlsZSwgZW5kbGluZSkKICAgICAgICAg
ICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgICAgc3JjZmlsZWRlc2MgPSBzcmNsaWNmaWxl
CiAgICAgICAgICAgICAgICBtc2cgPSBtc2cgKyAiXG4iICsgcG4gKyAiOiBDaGVjayBpZiB0aGUg
bGljZW5zZSBpbmZvcm1hdGlvbiBoYXMgY2hhbmdlZCBpbiAlcyB0byB2ZXJpZnkgdGhhdCB0aGUg
TElDRU5TRSB2YWx1ZSBcIiVzXCIgcmVtYWlucyB2YWxpZCIgJSAoc3JjZmlsZWRlc2MsIGxpYykK
CiAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICBtc2cgPSBwbiArICI6IExJQ19GSUxF
U19DSEtTVU0gaXMgbm90IHNwZWNpZmllZCBmb3IgIiArICB1cmwKICAgICAgICAgICAgICAgIG1z
ZyA9IG1zZyArICJcbiIgKyBwbiArICI6IFRoZSBtZDUgY2hlY2tzdW0gaXMgIiArIG1kNWNoa3N1
bQogICAgICAgICAgICBzYW5lID0gcGFja2FnZV9xYV9oYW5kbGVfZXJyb3IoImxpY2Vuc2UtY2hl
Y2tzdW0iLCBtc2csIGQpCgogICAgaWYgbm90IHNhbmU6CiAgICAgICAgYmIuZmF0YWwoIkZhdGFs
IFFBIGVycm9ycyBmb3VuZCwgZmFpbGluZyB0YXNrLiIpCn0KCgpweXRob24gcG9wdWxhdGVfcGFj
a2FnZXMgKCkgewogICAgaW1wb3J0IGdsb2IsIHJlCgogICAgd29ya2RpciA9IGQuZ2V0VmFyKCdX
T1JLRElSJykKICAgIG91dGRpciA9IGQuZ2V0VmFyKCdERVBMT1lfRElSJykKICAgIGR2YXIgPSBk
LmdldFZhcignUEtHRCcpCiAgICBwYWNrYWdlcyA9IGQuZ2V0VmFyKCdQQUNLQUdFUycpCiAgICBw
biA9IGQuZ2V0VmFyKCdQTicpCgogICAgYmIudXRpbHMubWtkaXJoaWVyKG91dGRpcikKICAgIG9z
LmNoZGlyKGR2YXIpCgogICAgYXV0b2RlYnVnID0gbm90IChkLmdldFZhcigiTk9BVVRPUEFDS0FH
RURFQlVHIikgb3IgRmFsc2UpCgogICAgIyBTYW5pdHkgY2hlY2sgUEFDS0FHRVMgZm9yIGR1cGxp
Y2F0ZXMKICAgICMgU2FuaXR5IHNob3VsZCBiZSBtb3ZlZCB0byBzYW5pdHkuYmJjbGFzcyBvbmNl
IHdlIGhhdmUgdGhlIGluZnJhc3R1Y3R1cmUKICAgIHBhY2thZ2VfbGlzdCA9IFtdCgogICAgZm9y
IHBrZyBpbiBwYWNrYWdlcy5zcGxpdCgpOgogICAgICAgIGlmIHBrZyBpbiBwYWNrYWdlX2xpc3Q6
CiAgICAgICAgICAgIG1zZyA9ICIlcyBpcyBsaXN0ZWQgaW4gUEFDS0FHRVMgbXVsdGlwbGUgdGlt
ZXMsIHRoaXMgbGVhZHMgdG8gcGFja2FnaW5nIGVycm9ycy4iICUgcGtnCiAgICAgICAgICAgIHBh
Y2thZ2VfcWFfaGFuZGxlX2Vycm9yKCJwYWNrYWdlcy1saXN0IiwgbXNnLCBkKQogICAgICAgIGVs
aWYgYXV0b2RlYnVnIGFuZCBwa2cuZW5kc3dpdGgoIi1kYmciKToKICAgICAgICAgICAgcGFja2Fn
ZV9saXN0Lmluc2VydCgwLCBwa2cpCiAgICAgICAgZWxzZToKICAgICAgICAgICAgcGFja2FnZV9s
aXN0LmFwcGVuZChwa2cpCiAgICBkLnNldFZhcignUEFDS0FHRVMnLCAnICcuam9pbihwYWNrYWdl
X2xpc3QpKQogICAgcGtnZGVzdCA9IGQuZ2V0VmFyKCdQS0dERVNUJykKCiAgICBzZWVuID0gW10K
CiAgICAjIG9zLm1rZGlyIG1hc2tzIHRoZSBwZXJtaXNzaW9ucyB3aXRoIHVtYXNrIHNvIHdlIGhh
dmUgdG8gdW5zZXQgaXQgZmlyc3QKICAgIG9sZHVtYXNrID0gb3MudW1hc2soMCkKCiAgICBkZWJ1
ZyA9IFtdCiAgICBmb3Igcm9vdCwgZGlycywgZmlsZXMgaW4gY3BhdGgud2FsayhkdmFyKToKICAg
ICAgICBkaXIgPSByb290W2xlbihkdmFyKTpdCiAgICAgICAgaWYgbm90IGRpcjoKICAgICAgICAg
ICAgZGlyID0gb3Muc2VwCiAgICAgICAgZm9yIGYgaW4gKGZpbGVzICsgZGlycyk6CiAgICAgICAg
ICAgIHBhdGggPSAiLiIgKyBvcy5wYXRoLmpvaW4oZGlyLCBmKQogICAgICAgICAgICBpZiAiLy5k
ZWJ1Zy8iIGluIHBhdGggb3IgcGF0aC5lbmRzd2l0aCgiLy5kZWJ1ZyIpOgogICAgICAgICAgICAg
ICAgZGVidWcuYXBwZW5kKHBhdGgpCgogICAgZm9yIHBrZyBpbiBwYWNrYWdlX2xpc3Q6CiAgICAg
ICAgcm9vdCA9IG9zLnBhdGguam9pbihwa2dkZXN0LCBwa2cpCiAgICAgICAgYmIudXRpbHMubWtk
aXJoaWVyKHJvb3QpCgogICAgICAgIGZpbGVzdmFyID0gZC5nZXRWYXIoJ0ZJTEVTXyVzJyAlIHBr
Zykgb3IgIiIKICAgICAgICBpZiAiLy8iIGluIGZpbGVzdmFyOgogICAgICAgICAgICBtc2cgPSAi
RklMRVMgdmFyaWFibGUgZm9yIHBhY2thZ2UgJXMgY29udGFpbnMgJy8vJyB3aGljaCBpcyBpbnZh
bGlkLiBBdHRlbXB0aW5nIHRvIGZpeCB0aGlzIGJ1dCB5b3Ugc2hvdWxkIGNvcnJlY3QgdGhlIG1l
dGFkYXRhLlxuIiAlIHBrZwogICAgICAgICAgICBwYWNrYWdlX3FhX2hhbmRsZV9lcnJvcigiZmls
ZXMtaW52YWxpZCIsIG1zZywgZCkKICAgICAgICAgICAgZmlsZXN2YXIucmVwbGFjZSgiLy8iLCAi
LyIpCgogICAgICAgIG9yaWdmaWxlcyA9IGZpbGVzdmFyLnNwbGl0KCkKICAgICAgICBmaWxlcywg
c3ltbGlua19wYXRocyA9IGZpbGVzX2Zyb21fZmlsZXZhcnMob3JpZ2ZpbGVzKQoKICAgICAgICBp
ZiBhdXRvZGVidWcgYW5kIHBrZy5lbmRzd2l0aCgiLWRiZyIpOgogICAgICAgICAgICBmaWxlcy5l
eHRlbmQoZGVidWcpCgogICAgICAgIGZvciBmaWxlIGluIGZpbGVzOgogICAgICAgICAgICBpZiAo
bm90IGNwYXRoLmlzbGluayhmaWxlKSkgYW5kIChub3QgY3BhdGguZXhpc3RzKGZpbGUpKToKICAg
ICAgICAgICAgICAgIGNvbnRpbnVlCiAgICAgICAgICAgIGlmIGZpbGUgaW4gc2VlbjoKICAgICAg
ICAgICAgICAgIGNvbnRpbnVlCiAgICAgICAgICAgIHNlZW4uYXBwZW5kKGZpbGUpCgogICAgICAg
ICAgICBkZWYgbWtkaXIoc3JjLCBkZXN0LCBwKToKICAgICAgICAgICAgICAgIHNyYyA9IG9zLnBh
dGguam9pbihzcmMsIHApCiAgICAgICAgICAgICAgICBkZXN0ID0gb3MucGF0aC5qb2luKGRlc3Qs
IHApCiAgICAgICAgICAgICAgICBmc3RhdCA9IGNwYXRoLnN0YXQoc3JjKQogICAgICAgICAgICAg
ICAgb3MubWtkaXIoZGVzdCwgZnN0YXQuc3RfbW9kZSkKICAgICAgICAgICAgICAgIG9zLmNob3du
KGRlc3QsIGZzdGF0LnN0X3VpZCwgZnN0YXQuc3RfZ2lkKQogICAgICAgICAgICAgICAgaWYgcCBu
b3QgaW4gc2VlbjoKICAgICAgICAgICAgICAgICAgICBzZWVuLmFwcGVuZChwKQogICAgICAgICAg
ICAgICAgY3BhdGgudXBkYXRlY2FjaGUoZGVzdCkKCiAgICAgICAgICAgIGRlZiBta2Rpcl9yZWN1
cnNlKHNyYywgZGVzdCwgcGF0aHMpOgogICAgICAgICAgICAgICAgaWYgY3BhdGguZXhpc3RzKGRl
c3QgKyAnLycgKyBwYXRocyk6CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuCiAgICAgICAgICAg
ICAgICB3aGlsZSBwYXRocy5zdGFydHN3aXRoKCIuLyIpOgogICAgICAgICAgICAgICAgICAgIHBh
dGhzID0gcGF0aHNbMjpdCiAgICAgICAgICAgICAgICBwID0gIi4iCiAgICAgICAgICAgICAgICBm
b3IgYyBpbiBwYXRocy5zcGxpdCgiLyIpOgogICAgICAgICAgICAgICAgICAgIHAgPSBvcy5wYXRo
LmpvaW4ocCwgYykKICAgICAgICAgICAgICAgICAgICBpZiBub3QgY3BhdGguZXhpc3RzKG9zLnBh
dGguam9pbihkZXN0LCBwKSk6CiAgICAgICAgICAgICAgICAgICAgICAgIG1rZGlyKHNyYywgZGVz
dCwgcCkKCiAgICAgICAgICAgIGlmIGNwYXRoLmlzZGlyKGZpbGUpIGFuZCBub3QgY3BhdGguaXNs
aW5rKGZpbGUpOgogICAgICAgICAgICAgICAgbWtkaXJfcmVjdXJzZShkdmFyLCByb290LCBmaWxl
KQogICAgICAgICAgICAgICAgY29udGludWUKCiAgICAgICAgICAgIG1rZGlyX3JlY3Vyc2UoZHZh
ciwgcm9vdCwgb3MucGF0aC5kaXJuYW1lKGZpbGUpKQogICAgICAgICAgICBmcGF0aCA9IG9zLnBh
dGguam9pbihyb290LGZpbGUpCiAgICAgICAgICAgIGlmIG5vdCBjcGF0aC5pc2xpbmsoZmlsZSk6
CiAgICAgICAgICAgICAgICBvcy5saW5rKGZpbGUsIGZwYXRoKQogICAgICAgICAgICAgICAgY29u
dGludWUKICAgICAgICAgICAgcmV0ID0gYmIudXRpbHMuY29weWZpbGUoZmlsZSwgZnBhdGgpCiAg
ICAgICAgICAgIGlmIHJldCBpcyBGYWxzZSBvciByZXQgPT0gMDoKICAgICAgICAgICAgICAgIGJi
LmZhdGFsKCJGaWxlIHBvcHVsYXRpb24gZmFpbGVkIikKCiAgICAgICAgIyBDaGVjayBpZiBzeW1s
aW5rIHBhdGhzIGV4aXN0CiAgICAgICAgZm9yIGZpbGUgaW4gc3ltbGlua19wYXRoczoKICAgICAg
ICAgICAgaWYgbm90IG9zLnBhdGguZXhpc3RzKG9zLnBhdGguam9pbihyb290LGZpbGUpKToKICAg
ICAgICAgICAgICAgIGJiLmZhdGFsKCJGaWxlICclcycgY2Fubm90IGJlIHBhY2thZ2VkIGludG8g
JyVzJyBiZWNhdXNlIGl0cyAiCiAgICAgICAgICAgICAgICAgICAgICAgICAicGFyZW50IGRpcmVj
dG9yeSBzdHJ1Y3R1cmUgZG9lcyBub3QgZXhpc3QuIE9uZSBvZiAiCiAgICAgICAgICAgICAgICAg
ICAgICAgICAiaXRzIHBhcmVudCBkaXJlY3RvcmllcyBpcyBhIHN5bWxpbmsgd2hvc2UgdGFyZ2V0
ICIKICAgICAgICAgICAgICAgICAgICAgICAgICJkaXJlY3RvcnkgaXMgbm90IGluY2x1ZGVkIGlu
IHRoZSBwYWNrYWdlLiIgJQogICAgICAgICAgICAgICAgICAgICAgICAgKGZpbGUsIHBrZykpCgog
ICAgb3MudW1hc2sob2xkdW1hc2spCiAgICBvcy5jaGRpcih3b3JrZGlyKQoKICAgICMgSGFuZGxl
IExJQ0VOU0VfRVhDTFVTSU9OCiAgICBwYWNrYWdlX2xpc3QgPSBbXQogICAgZm9yIHBrZyBpbiBw
YWNrYWdlcy5zcGxpdCgpOgogICAgICAgIGlmIGQuZ2V0VmFyKCdMSUNFTlNFX0VYQ0xVU0lPTi0n
ICsgcGtnKToKICAgICAgICAgICAgbXNnID0gIiVzIGhhcyBhbiBpbmNvbXBhdGlibGUgbGljZW5z
ZS4gRXhjbHVkaW5nIGZyb20gcGFja2FnaW5nLiIgJSBwa2cKICAgICAgICAgICAgcGFja2FnZV9x
YV9oYW5kbGVfZXJyb3IoImluY29tcGF0aWJsZS1saWNlbnNlIiwgbXNnLCBkKQogICAgICAgIGVs
c2U6CiAgICAgICAgICAgIHBhY2thZ2VfbGlzdC5hcHBlbmQocGtnKQogICAgZC5zZXRWYXIoJ1BB
Q0tBR0VTJywgJyAnLmpvaW4ocGFja2FnZV9saXN0KSkKCiAgICB1bnNoaXBwZWQgPSBbXQogICAg
Zm9yIHJvb3QsIGRpcnMsIGZpbGVzIGluIGNwYXRoLndhbGsoZHZhcik6CiAgICAgICAgZGlyID0g
cm9vdFtsZW4oZHZhcik6XQogICAgICAgIGlmIG5vdCBkaXI6CiAgICAgICAgICAgIGRpciA9IG9z
LnNlcAogICAgICAgIGZvciBmIGluIChmaWxlcyArIGRpcnMpOgogICAgICAgICAgICBwYXRoID0g
b3MucGF0aC5qb2luKGRpciwgZikKICAgICAgICAgICAgaWYgKCcuJyArIHBhdGgpIG5vdCBpbiBz
ZWVuOgogICAgICAgICAgICAgICAgdW5zaGlwcGVkLmFwcGVuZChwYXRoKQoKICAgIGlmIHVuc2hp
cHBlZCAhPSBbXToKICAgICAgICBtc2cgPSBwbiArICI6IEZpbGVzL2RpcmVjdG9yaWVzIHdlcmUg
aW5zdGFsbGVkIGJ1dCBub3Qgc2hpcHBlZCBpbiBhbnkgcGFja2FnZToiCiAgICAgICAgaWYgImlu
c3RhbGxlZC12cy1zaGlwcGVkIiBpbiAoZC5nZXRWYXIoJ0lOU0FORV9TS0lQXycgKyBwbikgb3Ig
IiIpLnNwbGl0KCk6CiAgICAgICAgICAgIGJiLm5vdGUoIlBhY2thZ2UgJXMgc2tpcHBpbmcgUUEg
dGVzdHM6IGluc3RhbGxlZC12cy1zaGlwcGVkIiAlIHBuKQogICAgICAgIGVsc2U6CiAgICAgICAg
ICAgIGZvciBmIGluIHVuc2hpcHBlZDoKICAgICAgICAgICAgICAgIG1zZyA9IG1zZyArICJcbiAg
IiArIGYKICAgICAgICAgICAgbXNnID0gbXNnICsgIlxuUGxlYXNlIHNldCBGSUxFUyBzdWNoIHRo
YXQgdGhlc2UgaXRlbXMgYXJlIHBhY2thZ2VkLiBBbHRlcm5hdGl2ZWx5IGlmIHRoZXkgYXJlIHVu
bmVlZGVkLCBhdm9pZCBpbnN0YWxsaW5nIHRoZW0gb3IgZGVsZXRlIHRoZW0gd2l0aGluIGRvX2lu
c3RhbGwuXG4iCiAgICAgICAgICAgIG1zZyA9IG1zZyArICIlczogJWQgaW5zdGFsbGVkIGFuZCBu
b3Qgc2hpcHBlZCBmaWxlcy4iICUgKHBuLCBsZW4odW5zaGlwcGVkKSkKICAgICAgICAgICAgcGFj
a2FnZV9xYV9oYW5kbGVfZXJyb3IoImluc3RhbGxlZC12cy1zaGlwcGVkIiwgbXNnLCBkKQp9CgoK
cHl0aG9uIHByZWxpbmtfc2V0dXAgKCkgewogICAgb2UudXRpbHMud3JpdGVfbGRfc29fY29uZihk
KQp9CgoKcHl0aG9uIHByb2Nlc3NfZGlyICgpIHsKZGVmIHByb2Nlc3NfZGlyIChyb290ZGlyLCBk
aXJlY3RvcnksIGQpOgogICAgaW1wb3J0IHN0YXQKCiAgICByb290ZGlyID0gb3MucGF0aC5ub3Jt
cGF0aChyb290ZGlyKQogICAgY21kID0gZC5leHBhbmQoJyR7Q0hSUEFUSF9CSU59JykKICAgIHRt
cGRpciA9IG9zLnBhdGgubm9ybXBhdGgoZC5nZXRWYXIoJ1RNUERJUicsIEZhbHNlKSkKICAgIGJh
c2VwcmVmaXggPSBvcy5wYXRoLm5vcm1wYXRoKGQuZXhwYW5kKCcke2Jhc2VfcHJlZml4fScpKQog
ICAgaG9zdG9zID0gZC5nZXRWYXIoIkhPU1RfT1MiKQoKICAgICNiYi5kZWJ1ZygiQ2hlY2tpbmcg
JXMgZm9yIGJpbmFyaWVzIHRvIHByb2Nlc3MiICUgZGlyZWN0b3J5KQogICAgaWYgbm90IG9zLnBh
dGguZXhpc3RzKGRpcmVjdG9yeSk6CiAgICAgICAgcmV0dXJuCgogICAgaWYgImxpbnV4IiBpbiBo
b3N0b3M6CiAgICAgICAgcHJvY2Vzc19maWxlID0gcHJvY2Vzc19maWxlX2xpbnV4CiAgICBlbGlm
ICJkYXJ3aW4iIGluIGhvc3RvczoKICAgICAgICBwcm9jZXNzX2ZpbGUgPSBwcm9jZXNzX2ZpbGVf
ZGFyd2luCiAgICBlbHNlOgogICAgICAgICMgUmVsb2NhdGlvbnMgbm90IHN1cHBvcnRlZAogICAg
ICAgIHJldHVybgoKICAgIGRpcnMgPSBvcy5saXN0ZGlyKGRpcmVjdG9yeSkKICAgIGZvciBmaWxl
IGluIGRpcnM6CiAgICAgICAgZnBhdGggPSBkaXJlY3RvcnkgKyAiLyIgKyBmaWxlCiAgICAgICAg
ZnBhdGggPSBvcy5wYXRoLm5vcm1wYXRoKGZwYXRoKQogICAgICAgIGlmIG9zLnBhdGguaXNsaW5r
KGZwYXRoKToKICAgICAgICAgICAgIyBTa2lwIHN5bWxpbmtzCiAgICAgICAgICAgIGNvbnRpbnVl
CgogICAgICAgIGlmIG9zLnBhdGguaXNkaXIoZnBhdGgpOgogICAgICAgICAgICBwcm9jZXNzX2Rp
cihyb290ZGlyLCBmcGF0aCwgZCkKICAgICAgICBlbHNlOgogICAgICAgICAgICAjYmIubm90ZSgi
VGVzdGluZyAlcyBmb3IgcmVsb2NhdGFiaWxpdHkiICUgZnBhdGgpCgogICAgICAgICAgICAjIFdl
IG5lZWQgcmVhZCBhbmQgd3JpdGUgcGVybWlzc2lvbnMgZm9yIGNocnBhdGgsIGlmIHdlIGRvbid0
IGhhdmUKICAgICAgICAgICAgIyB0aGVtIHRoZW4gc2V0IHRoZW0gdGVtcG9yYXJpbHkuIFRha2Ug
YSBjb3B5IG9mIHRoZSBmaWxlcwogICAgICAgICAgICAjIHBlcm1pc3Npb25zIHNvIHRoYXQgd2Ug
Y2FuIHJlc3RvcmUgdGhlbSBhZnRlcndhcmRzLgogICAgICAgICAgICBwZXJtcyA9IG9zLnN0YXQo
ZnBhdGgpW3N0YXQuU1RfTU9ERV0KICAgICAgICAgICAgaWYgb3MuYWNjZXNzKGZwYXRoLCBvcy5X
X09LfG9zLlJfT0spOgogICAgICAgICAgICAgICAgcGVybXMgPSBOb25lCiAgICAgICAgICAgIGVs
c2U6CiAgICAgICAgICAgICAgICAjIFRlbXBvcmFyaWx5IG1ha2UgdGhlIGZpbGUgd3JpdGVhYmxl
IHNvIHdlIGNhbiBjaHJwYXRoIGl0CiAgICAgICAgICAgICAgICBvcy5jaG1vZChmcGF0aCwgcGVy
bXN8c3RhdC5TX0lSV1hVKQogICAgICAgICAgICBwcm9jZXNzX2ZpbGUoY21kLCBmcGF0aCwgcm9v
dGRpciwgYmFzZXByZWZpeCwgdG1wZGlyLCBkKQoKICAgICAgICAgICAgaWYgcGVybXM6CiAgICAg
ICAgICAgICAgICBvcy5jaG1vZChmcGF0aCwgcGVybXMpCn0KCgpweXRob24gcHJvY2Vzc19maWxl
X2RhcndpbiAoKSB7CmRlZiBwcm9jZXNzX2ZpbGVfZGFyd2luKGNtZCwgZnBhdGgsIHJvb3RkaXIs
IGJhc2VwcmVmaXgsIHRtcGRpciwgZCk6CiAgICBpbXBvcnQgc3VicHJvY2VzcyBhcyBzdWIKCiAg
ICBwID0gc3ViLlBvcGVuKFtkLmV4cGFuZCgiJHtIT1NUX1BSRUZJWH1vdG9vbCIpLCAnLUwnLCBm
cGF0aF0sc3Rkb3V0PXN1Yi5QSVBFLHN0ZGVycj1zdWIuUElQRSkKICAgIG91dCwgZXJyID0gcC5j
b21tdW5pY2F0ZSgpCiAgICAjIElmIHJldHVybmVkIHN1Y2Nlc3NmdWxseSwgcHJvY2VzcyBzdGRv
dXQgZm9yIHJlc3VsdHMKICAgIGlmIHAucmV0dXJuY29kZSAhPSAwOgogICAgICAgIHJldHVybgog
ICAgZm9yIGwgaW4gb3V0LnNwbGl0KCJcbiIpOgogICAgICAgIGlmICIoY29tcGF0aWJpbGl0eSIg
bm90IGluIGw6CiAgICAgICAgICAgIGNvbnRpbnVlCiAgICAgICAgcnBhdGggPSBsLnBhcnRpdGlv
bigiKGNvbXBhdGliaWxpdHkiKVswXS5zdHJpcCgpCiAgICAgICAgaWYgYmFzZXByZWZpeCBub3Qg
aW4gcnBhdGg6CiAgICAgICAgICAgIGNvbnRpbnVlCgogICAgICAgIG5ld3BhdGggPSAiQGxvYWRl
cl9wYXRoLyIgKyBvcy5wYXRoLnJlbHBhdGgocnBhdGgsIG9zLnBhdGguZGlybmFtZShmcGF0aC5y
ZXBsYWNlKHJvb3RkaXIsICIvIikpKQogICAgICAgIHAgPSBzdWIuUG9wZW4oW2QuZXhwYW5kKCIk
e0hPU1RfUFJFRklYfWluc3RhbGxfbmFtZV90b29sIiksICctY2hhbmdlJywgcnBhdGgsIG5ld3Bh
dGgsIGZwYXRoXSxzdGRvdXQ9c3ViLlBJUEUsc3RkZXJyPXN1Yi5QSVBFKQogICAgICAgIG91dCwg
ZXJyID0gcC5jb21tdW5pY2F0ZSgpCn0KCgpweXRob24gcHJvY2Vzc19maWxlX2xpbnV4ICgpIHsK
ZGVmIHByb2Nlc3NfZmlsZV9saW51eChjbWQsIGZwYXRoLCByb290ZGlyLCBiYXNlcHJlZml4LCB0
bXBkaXIsIGQpOgogICAgaW1wb3J0IHN1YnByb2Nlc3MgYXMgc3ViCgogICAgcCA9IHN1Yi5Qb3Bl
bihbY21kLCAnLWwnLCBmcGF0aF0sc3Rkb3V0PXN1Yi5QSVBFLHN0ZGVycj1zdWIuUElQRSkKICAg
IG91dCwgZXJyID0gcC5jb21tdW5pY2F0ZSgpCiAgICAjIElmIHJldHVybmVkIHN1Y2Nlc3NmdWxs
eSwgcHJvY2VzcyBzdGRvdXQgZm9yIHJlc3VsdHMKICAgIGlmIHAucmV0dXJuY29kZSAhPSAwOgog
ICAgICAgIHJldHVybgoKICAgIG91dCA9IG91dC5kZWNvZGUoJ3V0Zi04JykKCiAgICAjIEhhbmRs
ZSBSVU5QQVRIIGFzIHdlbGwgYXMgUlBBVEgKICAgIG91dCA9IG91dC5yZXBsYWNlKCJSVU5QQVRI
PSIsIlJQQVRIPSIpCiAgICAjIFRocm93IGF3YXkgZXZlcnl0aGluZyBvdGhlciB0aGFuIHRoZSBy
cGF0aCBsaXN0CiAgICBjdXJyX3JwYXRoID0gb3V0LnBhcnRpdGlvbigiUlBBVEg9IilbMl0KICAg
ICNiYi5ub3RlKCJDdXJyZW50IHJwYXRoIGZvciAlcyBpcyAlcyIgJSAoZnBhdGgsIGN1cnJfcnBh
dGguc3RyaXAoKSkpCiAgICBycGF0aHMgPSBjdXJyX3JwYXRoLnN0cmlwKCkuc3BsaXQoIjoiKQog
ICAgbmV3X3JwYXRocyA9IFtdCiAgICBtb2RpZmllZCA9IEZhbHNlCiAgICBmb3IgcnBhdGggaW4g
cnBhdGhzOgogICAgICAgICMgSWYgcnBhdGggaXMgYWxyZWFkeSBkeW5hbWljIGNvcHkgaXQgdG8g
bmV3X3JwYXRoIGFuZCBjb250aW51ZQogICAgICAgIGlmIHJwYXRoLmZpbmQoIiRPUklHSU4iKSAh
PSAtMToKICAgICAgICAgICAgbmV3X3JwYXRocy5hcHBlbmQocnBhdGgpCiAgICAgICAgICAgIGNv
bnRpbnVlCiAgICAgICAgcnBhdGggPSAgb3MucGF0aC5ub3JtcGF0aChycGF0aCkKICAgICAgICBp
ZiBiYXNlcHJlZml4IG5vdCBpbiBycGF0aCBhbmQgdG1wZGlyIG5vdCBpbiBycGF0aDoKICAgICAg
ICAgICAgIyBTa2lwIHN0YW5kYXJkIHNlYXJjaCBwYXRocwogICAgICAgICAgICBpZiBycGF0aCBp
biBbJy9saWInLCAnL3Vzci9saWInLCAnL2xpYjY0LycsICcvdXNyL2xpYjY0J106CiAgICAgICAg
ICAgICAgICBiYi53YXJuKCJTa2lwcGluZyBSUEFUSCAlcyBhcyBpcyBhIHN0YW5kYXJkIHNlYXJj
aCBwYXRoIGZvciAlcyIgJSAocnBhdGgsIGZwYXRoKSkKICAgICAgICAgICAgICAgIG1vZGlmaWVk
ID0gVHJ1ZQogICAgICAgICAgICAgICAgY29udGludWUKICAgICAgICAgICAgbmV3X3JwYXRocy5h
cHBlbmQocnBhdGgpCiAgICAgICAgICAgIGNvbnRpbnVlCiAgICAgICAgbmV3X3JwYXRocy5hcHBl
bmQoIiRPUklHSU4vIiArIG9zLnBhdGgucmVscGF0aChycGF0aCwgb3MucGF0aC5kaXJuYW1lKGZw
YXRoLnJlcGxhY2Uocm9vdGRpciwgIi8iKSkpKQogICAgICAgIG1vZGlmaWVkID0gVHJ1ZQoKICAg
ICMgaWYgd2UgaGF2ZSBtb2RpZmllZCBzb21lIHJwYXRocyBjYWxsIGNocnBhdGggdG8gdXBkYXRl
IHRoZSBiaW5hcnkKICAgIGlmIG1vZGlmaWVkOgogICAgICAgIGFyZ3MgPSAiOiIuam9pbihuZXdf
cnBhdGhzKQogICAgICAgICNiYi5ub3RlKCJTZXR0aW5nIHJwYXRoIGZvciAlcyB0byAlcyIgJShm
cGF0aCwgYXJncykpCiAgICAgICAgcCA9IHN1Yi5Qb3BlbihbY21kLCAnLXInLCBhcmdzLCBmcGF0
aF0sc3Rkb3V0PXN1Yi5QSVBFLHN0ZGVycj1zdWIuUElQRSkKICAgICAgICBvdXQsIGVyciA9IHAu
Y29tbXVuaWNhdGUoKQogICAgICAgIGlmIHAucmV0dXJuY29kZSAhPSAwOgogICAgICAgICAgICBi
Yi5mYXRhbCgiJXM6IGNocnBhdGggY29tbWFuZCBmYWlsZWQgd2l0aCBleGl0IGNvZGUgJWQ6XG4l
cyVzIiAlIChkLmdldFZhcignUE4nKSwgcC5yZXR1cm5jb2RlLCBvdXQsIGVycikpCn0KCgpweXRo
b24gcHN0YWdpbmdfZmV0Y2ggKCkgewpkZWYgcHN0YWdpbmdfZmV0Y2goc3N0YXRlZmV0Y2gsIHNz
dGF0ZXBrZywgZCk6CiAgICBpbXBvcnQgYmIuZmV0Y2gyCgogICAgIyBPbmx5IHRyeSBhbmQgZmV0
Y2ggaWYgdGhlIHVzZXIgaGFzIGNvbmZpZ3VyZWQgYSBtaXJyb3IKICAgIG1pcnJvcnMgPSBkLmdl
dFZhcignU1NUQVRFX01JUlJPUlMnKQogICAgaWYgbm90IG1pcnJvcnM6CiAgICAgICAgcmV0dXJu
CgogICAgIyBDb3B5IHRoZSBkYXRhIG9iamVjdCBhbmQgb3ZlcnJpZGUgRExfRElSIGFuZCBTUkNf
VVJJCiAgICBsb2NhbGRhdGEgPSBiYi5kYXRhLmNyZWF0ZUNvcHkoZCkKCiAgICBkbGRpciA9IGxv
Y2FsZGF0YS5leHBhbmQoIiR7U1NUQVRFX0RJUn0iKQogICAgYmIudXRpbHMubWtkaXJoaWVyKGRs
ZGlyKQoKICAgIGxvY2FsZGF0YS5kZWxWYXIoJ01JUlJPUlMnKQogICAgbG9jYWxkYXRhLnNldFZh
cignRklMRVNQQVRIJywgZGxkaXIpCiAgICBsb2NhbGRhdGEuc2V0VmFyKCdETF9ESVInLCBkbGRp
cikKICAgIGxvY2FsZGF0YS5zZXRWYXIoJ1BSRU1JUlJPUlMnLCBtaXJyb3JzKQoKICAgICMgaWYg
QkJfTk9fTkVUV09SSyBpcyBzZXQgYnV0IHdlIGFsc28gaGF2ZSBTU1RBVEVfTUlSUk9SX0FMTE9X
X05FVFdPUkssCiAgICAjIHdlJ2xsIHdhbnQgdG8gYWxsb3cgbmV0d29yayBhY2Nlc3MgZm9yIHRo
ZSBjdXJyZW50IHNldCBvZiBmZXRjaGVzLgogICAgaWYgbG9jYWxkYXRhLmdldFZhcignQkJfTk9f
TkVUV09SSycpID09ICIxIiBhbmQgbG9jYWxkYXRhLmdldFZhcignU1NUQVRFX01JUlJPUl9BTExP
V19ORVRXT1JLJykgPT0gIjEiOgogICAgICAgIGxvY2FsZGF0YS5kZWxWYXIoJ0JCX05PX05FVFdP
UksnKQoKICAgICMgVHJ5IGEgZmV0Y2ggZnJvbSB0aGUgc3N0YXRlIG1pcnJvciwgaWYgaXQgZmFp
bHMganVzdCByZXR1cm4gYW5kCiAgICAjIHdlIHdpbGwgYnVpbGQgdGhlIHBhY2thZ2UKICAgIHVy
aXMgPSBbJ2ZpbGU6Ly97MH07ZG93bmxvYWRmaWxlbmFtZT17MH0nLmZvcm1hdChzc3RhdGVmZXRj
aCksCiAgICAgICAgICAgICdmaWxlOi8vezB9LnNpZ2luZm87ZG93bmxvYWRmaWxlbmFtZT17MH0u
c2lnaW5mbycuZm9ybWF0KHNzdGF0ZWZldGNoKV0KICAgIGlmIGJiLnV0aWxzLnRvX2Jvb2xlYW4o
ZC5nZXRWYXIoIlNTVEFURV9WRVJJRllfU0lHIiksIEZhbHNlKToKICAgICAgICB1cmlzICs9IFsn
ZmlsZTovL3swfS5zaWc7ZG93bmxvYWRmaWxlbmFtZT17MH0uc2lnJy5mb3JtYXQoc3N0YXRlZmV0
Y2gpXQoKICAgIGZvciBzcmN1cmkgaW4gdXJpczoKICAgICAgICBsb2NhbGRhdGEuc2V0VmFyKCdT
UkNfVVJJJywgc3JjdXJpKQogICAgICAgIHRyeToKICAgICAgICAgICAgZmV0Y2hlciA9IGJiLmZl
dGNoMi5GZXRjaChbc3JjdXJpXSwgbG9jYWxkYXRhLCBjYWNoZT1GYWxzZSkKICAgICAgICAgICAg
ZmV0Y2hlci5kb3dubG9hZCgpCgogICAgICAgIGV4Y2VwdCBiYi5mZXRjaDIuQkJGZXRjaEV4Y2Vw
dGlvbjoKICAgICAgICAgICAgYnJlYWsKfQoKCnB5dGhvbiByYWlzZV9zYW5pdHlfZXJyb3IgKCkg
ewpkZWYgcmFpc2Vfc2FuaXR5X2Vycm9yKG1zZywgZCwgbmV0d29ya19lcnJvcj1GYWxzZSk6CiAg
ICBpZiBkLmdldFZhcigiU0FOSVRZX1VTRV9FVkVOVFMiKSA9PSAiMSI6CiAgICAgICAgdHJ5Ogog
ICAgICAgICAgICBiYi5ldmVudC5maXJlKGJiLmV2ZW50LlNhbml0eUNoZWNrRmFpbGVkKG1zZywg
bmV0d29ya19lcnJvciksIGQpCiAgICAgICAgZXhjZXB0IFR5cGVFcnJvcjoKICAgICAgICAgICAg
YmIuZXZlbnQuZmlyZShiYi5ldmVudC5TYW5pdHlDaGVja0ZhaWxlZChtc2cpLCBkKQogICAgICAg
IHJldHVybgoKICAgIGJiLmZhdGFsKCIiIiBPRS1jb3JlJ3MgY29uZmlnIHNhbml0eSBjaGVja2Vy
IGRldGVjdGVkIGEgcG90ZW50aWFsIG1pc2NvbmZpZ3VyYXRpb24uCiAgICBFaXRoZXIgZml4IHRo
ZSBjYXVzZSBvZiB0aGlzIGVycm9yIG9yIGF0IHlvdXIgb3duIHJpc2sgZGlzYWJsZSB0aGUgY2hl
Y2tlciAoc2VlIHNhbml0eS5jb25mKS4KICAgIEZvbGxvd2luZyBpcyB0aGUgbGlzdCBvZiBwb3Rl
bnRpYWwgcHJvYmxlbXMgLyBhZHZpc29yaWVzOgoKICAgICVzIiIiICUgbXNnKQp9CgoKcHl0aG9u
IHJlYWRfbGliZGVwX2ZpbGVzICgpIHsKZGVmIHJlYWRfbGliZGVwX2ZpbGVzKGQpOgogICAgcGtn
bGliZGVwcyA9IHt9CiAgICBwYWNrYWdlcyA9IGQuZ2V0VmFyKCdQQUNLQUdFUycpLnNwbGl0KCkK
ICAgIGZvciBwa2cgaW4gcGFja2FnZXM6CiAgICAgICAgcGtnbGliZGVwc1twa2ddID0ge30KICAg
ICAgICBmb3IgZXh0ZW5zaW9uIGluICIuc2hsaWJkZXBzIiwgIi5wY2RlcHMiLCAiLmNsaWxpYmRl
cHMiOgogICAgICAgICAgICBkZXBzZmlsZSA9IGQuZXhwYW5kKCIke1BLR0RFU1R9LyIgKyBwa2cg
KyBleHRlbnNpb24pCiAgICAgICAgICAgIGlmIG9zLmFjY2VzcyhkZXBzZmlsZSwgb3MuUl9PSyk6
CiAgICAgICAgICAgICAgICBmZCA9IG9wZW4oZGVwc2ZpbGUpCiAgICAgICAgICAgICAgICBsaW5l
cyA9IGZkLnJlYWRsaW5lcygpCiAgICAgICAgICAgICAgICBmZC5jbG9zZSgpCiAgICAgICAgICAg
ICAgICBmb3IgbCBpbiBsaW5lczoKICAgICAgICAgICAgICAgICAgICBsLnJzdHJpcCgpCiAgICAg
ICAgICAgICAgICAgICAgZGVwcyA9IGJiLnV0aWxzLmV4cGxvZGVfZGVwX3ZlcnNpb25zMihsKQog
ICAgICAgICAgICAgICAgICAgIGZvciBkZXAgaW4gZGVwczoKICAgICAgICAgICAgICAgICAgICAg
ICAgaWYgbm90IGRlcCBpbiBwa2dsaWJkZXBzW3BrZ106CiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBwa2dsaWJkZXBzW3BrZ11bZGVwXSA9IGRlcHNbZGVwXQogICAgcmV0dXJuIHBrZ2xpYmRl
cHMKfQoKCnB5dGhvbiByZWFkX3NobGliZGVwcyAoKSB7CiAgICBwa2dsaWJkZXBzID0gcmVhZF9s
aWJkZXBfZmlsZXMoZCkKCiAgICBwYWNrYWdlcyA9IGQuZ2V0VmFyKCdQQUNLQUdFUycpLnNwbGl0
KCkKICAgIGZvciBwa2cgaW4gcGFja2FnZXM6CiAgICAgICAgcmRlcGVuZHMgPSBiYi51dGlscy5l
eHBsb2RlX2RlcF92ZXJzaW9uczIoZC5nZXRWYXIoJ1JERVBFTkRTXycgKyBwa2cpIG9yICIiKQog
ICAgICAgIGZvciBkZXAgaW4gcGtnbGliZGVwc1twa2ddOgogICAgICAgICAgICAjIEFkZCB0aGUg
ZGVwIGlmIGl0J3Mgbm90IGFscmVhZHkgdGhlcmUsIG9yIGlmIG5vIGNvbXBhcmlzb24gaXMgc2V0
CiAgICAgICAgICAgIGlmIGRlcCBub3QgaW4gcmRlcGVuZHM6CiAgICAgICAgICAgICAgICByZGVw
ZW5kc1tkZXBdID0gW10KICAgICAgICAgICAgZm9yIHYgaW4gcGtnbGliZGVwc1twa2ddW2RlcF06
CiAgICAgICAgICAgICAgICBpZiB2IG5vdCBpbiByZGVwZW5kc1tkZXBdOgogICAgICAgICAgICAg
ICAgICAgIHJkZXBlbmRzW2RlcF0uYXBwZW5kKHYpCiAgICAgICAgZC5zZXRWYXIoJ1JERVBFTkRT
XycgKyBwa2csIGJiLnV0aWxzLmpvaW5fZGVwcyhyZGVwZW5kcywgY29tbWFzZXA9RmFsc2UpKQp9
CgoKcHl0aG9uIHJlYWRfc3VicGFja2FnZV9tZXRhZGF0YSAoKSB7CiAgICBpbXBvcnQgb2UucGFj
a2FnZWRhdGEKCiAgICB2YXJzID0gewogICAgICAgICJQTiIgOiBkLmdldFZhcignUE4nKSwKICAg
ICAgICAiUEUiIDogZC5nZXRWYXIoJ1BFJyksCiAgICAgICAgIlBWIiA6IGQuZ2V0VmFyKCdQVicp
LAogICAgICAgICJQUiIgOiBkLmdldFZhcignUFInKSwKICAgIH0KCiAgICBkYXRhID0gb2UucGFj
a2FnZWRhdGEucmVhZF9wa2dkYXRhKHZhcnNbIlBOIl0sIGQpCgogICAgZm9yIGtleSBpbiBkYXRh
LmtleXMoKToKICAgICAgICBkLnNldFZhcihrZXksIGRhdGFba2V5XSkKCiAgICBmb3IgcGtnIGlu
IGQuZ2V0VmFyKCdQQUNLQUdFUycpLnNwbGl0KCk6CiAgICAgICAgc2RhdGEgPSBvZS5wYWNrYWdl
ZGF0YS5yZWFkX3N1YnBrZ2RhdGEocGtnLCBkKQogICAgICAgIGZvciBrZXkgaW4gc2RhdGEua2V5
cygpOgogICAgICAgICAgICBpZiBrZXkgaW4gdmFyczoKICAgICAgICAgICAgICAgIGlmIHNkYXRh
W2tleV0gIT0gdmFyc1trZXldOgogICAgICAgICAgICAgICAgICAgIGlmIGtleSA9PSAiUE4iOgog
ICAgICAgICAgICAgICAgICAgICAgICBiYi5mYXRhbCgiUmVjaXBlICVzIGlzIHRyeWluZyB0byBj
cmVhdGUgcGFja2FnZSAlcyB3aGljaCB3YXMgYWxyZWFkeSB3cml0dGVuIGJ5IHJlY2lwZSAlcy4g
VGhpcyB3aWxsIGNhdXNlIGNvcnJ1cHRpb24sIHBsZWFzZSByZXNvbHZlIHRoaXMgYW5kIG9ubHkg
cHJvdmlkZSB0aGUgcGFja2FnZSBmcm9tIG9uZSByZWNpcGUgb3IgdGhlIG90aGVyIG9yIG9ubHkg
YnVpbGQgb25lIG9mIHRoZSByZWNpcGVzLiIgJSAodmFyc1trZXldLCBwa2csIHNkYXRhW2tleV0p
KQogICAgICAgICAgICAgICAgICAgIGJiLmZhdGFsKCJSZWNpcGUgJXMgaXMgdHJ5aW5nIHRvIGNo
YW5nZSAlcyBmcm9tICclcycgdG8gJyVzJy4gVGhpcyB3aWxsIGNhdXNlIGRvX3BhY2thZ2Vfd3Jp
dGVfKiBmYWlsdXJlcyBzaW5jZSB0aGUgaW5jb3JyZWN0IGRhdGEgd2lsbCBiZSB1c2VkIGFuZCB0
aGV5IHdpbGwgYmUgdW5hYmxlIHRvIGZpbmQgdGhlIHJpZ2h0IHdvcmtkaXIuIiAlICh2YXJzWyJQ
TiJdLCBrZXksIHZhcnNba2V5XSwgc2RhdGFba2V5XSkpCiAgICAgICAgICAgICAgICBjb250aW51
ZQogICAgICAgICAgICAjCiAgICAgICAgICAgICMgSWYgd2Ugc2V0IHVuc3VmZml4ZWQgdmFyaWFi
bGVzIGhlcmUgdGhlcmUgaXMgYSBjaGFuY2UgdGhleSBjb3VsZCBjbG9iYmVyIG92ZXJyaWRlIHZl
cnNpb25zCiAgICAgICAgICAgICMgb2YgdGhhdCB2YXJpYWJsZSwgZS5nLiBERVNDUklQVElPTiBj
b3VsZCBjbG9iYmVyIERFU0NSSVBUSU9OXzxwa2duYW1lPgogICAgICAgICAgICAjIFdlIHRoZXJl
Zm9yZSBkb24ndCBjbG9iYmVyIGZvciB0aGUgdW5zdWZmaXhlZCB2YXJpYWJsZSB2ZXJzaW9ucwog
ICAgICAgICAgICAjCiAgICAgICAgICAgIGlmIGtleS5lbmRzd2l0aCgiXyIgKyBwa2cpOgogICAg
ICAgICAgICAgICAgZC5zZXRWYXIoa2V5LCBzZGF0YVtrZXldKQogICAgICAgICAgICBlbHNlOgog
ICAgICAgICAgICAgICAgZC5zZXRWYXIoa2V5LCBzZGF0YVtrZXldLCBwYXJzaW5nPVRydWUpCn0K
CgpweXRob24gcmV0dXJuX3NwZHggKCkgewpkZWYgcmV0dXJuX3NwZHgoZCwgbGljZW5zZSk6CiAg
ICAiIiIKICAgIFRoaXMgZnVuY3Rpb24gcmV0dXJucyB0aGUgc3BkeCBtYXBwaW5nIG9mIGEgbGlj
ZW5zZSBpZiBpdCBleGlzdHMuCiAgICAgIiIiCiAgICByZXR1cm4gZC5nZXRWYXJGbGFnKCdTUERY
TElDRU5TRU1BUCcsIGxpY2Vuc2UpCn0KCgpweXRob24gcnBhdGhfcmVwbGFjZSAoKSB7CmRlZiBy
cGF0aF9yZXBsYWNlIChwYXRoLCBkKToKICAgIGJpbmRpcnMgPSBkLmV4cGFuZCgiJHtiaW5kaXJ9
ICR7c2JpbmRpcn0gJHtiYXNlX3NiaW5kaXJ9ICR7YmFzZV9iaW5kaXJ9ICR7bGliZGlyfSAke2Jh
c2VfbGliZGlyfSAke2xpYmV4ZWNkaXJ9ICR7UFJFUFJPQ0VTU19SRUxPQ0FURV9ESVJTfSIpLnNw
bGl0KCkKCiAgICBmb3IgYmluZGlyIGluIGJpbmRpcnM6CiAgICAgICAgI2JiLm5vdGUgKCJQcm9j
ZXNzaW5nIGRpcmVjdG9yeSAiICsgYmluZGlyKQogICAgICAgIGRpcmVjdG9yeSA9IHBhdGggKyAi
LyIgKyBiaW5kaXIKICAgICAgICBwcm9jZXNzX2RpciAocGF0aCwgZGlyZWN0b3J5LCBkKQp9CgoK
cHl0aG9uIHJ1bl9idWlsZHN0YXRzICgpIHsKICAgIGltcG9ydCBiYi5idWlsZAogICAgaW1wb3J0
IGJiLmV2ZW50CiAgICBpbXBvcnQgdGltZSwgc3VicHJvY2VzcywgcGxhdGZvcm0KCiAgICBibiA9
IGQuZ2V0VmFyKCdCVUlMRE5BTUUnKQogICAgYnNkaXIgPSBvcy5wYXRoLmpvaW4oZC5nZXRWYXIo
J0JVSUxEU1RBVFNfQkFTRScpLCBibikKICAgIHRhc2tkaXIgPSBvcy5wYXRoLmpvaW4oYnNkaXIs
IGQuZ2V0VmFyKCdQRicpKQoKICAgIGlmIGlzaW5zdGFuY2UoZSwgYmIuZXZlbnQuQnVpbGRTdGFy
dGVkKToKICAgICAgICAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKICAgICAgICAjIElmIHRoZSBrZXJuZWwgd2Fz
IG5vdCBjb25maWd1cmVkIHRvIHByb3ZpZGUgSS9PIHN0YXRpc3RpY3MsIGlzc3VlCiAgICAgICAg
IyBhIG9uZSB0aW1lIHdhcm5pbmcuCiAgICAgICAgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAgICAgICAgaWYg
bm90IG9zLnBhdGguaXNmaWxlKCIvcHJvYy8lZC9pbyIgJSBvcy5nZXRwaWQoKSk6CiAgICAgICAg
ICAgIGJiLndhcm4oIlRoZSBMaW51eCBrZXJuZWwgb24geW91ciBidWlsZCBob3N0IHdhcyBub3Qg
Y29uZmlndXJlZCB0byBwcm92aWRlIHByb2Nlc3MgSS9PIHN0YXRpc3RpY3MuIChDT05GSUdfVEFT
S19JT19BQ0NPVU5USU5HIGlzIG5vdCBzZXQpIikKCiAgICAgICAgIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAg
ICAgICAgIyBhdCBmaXJzdCBwYXNzIG1ha2UgdGhlIGJ1aWxkc3RhdHMgaGllcmFyY2h5IGFuZCB0
aGVuCiAgICAgICAgIyBzZXQgdGhlIGJ1aWxkbmFtZQogICAgICAgICMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwog
ICAgICAgIGJiLnV0aWxzLm1rZGlyaGllcihic2RpcikKICAgICAgICBzZXRfYnVpbGR0aW1lZGF0
YSgiX190aW1lZGF0YV9idWlsZCIsIGQpCiAgICAgICAgYnVpbGRfdGltZSA9IG9zLnBhdGguam9p
bihic2RpciwgImJ1aWxkX3N0YXRzIikKICAgICAgICAjIHdyaXRlIHN0YXJ0IG9mIGJ1aWxkIGlu
dG8gYnVpbGRfdGltZQogICAgICAgIHdpdGggb3BlbihidWlsZF90aW1lLCAiYSIpIGFzIGY6CiAg
ICAgICAgICAgIGhvc3RfaW5mbyA9IHBsYXRmb3JtLnVuYW1lKCkKICAgICAgICAgICAgZi53cml0
ZSgiSG9zdCBJbmZvOiAiKQogICAgICAgICAgICBmb3IgeCBpbiBob3N0X2luZm86CiAgICAgICAg
ICAgICAgICBpZiB4OgogICAgICAgICAgICAgICAgICAgIGYud3JpdGUoeCArICIgIikKICAgICAg
ICAgICAgZi53cml0ZSgiXG4iKQogICAgICAgICAgICBmLndyaXRlKCJCdWlsZCBTdGFydGVkOiAl
MC4yZiBcbiIgJSB0aW1lLnRpbWUoKSkKCiAgICBlbGlmIGlzaW5zdGFuY2UoZSwgYmIuZXZlbnQu
QnVpbGRDb21wbGV0ZWQpOgogICAgICAgIGJ1aWxkX3RpbWUgPSBvcy5wYXRoLmpvaW4oYnNkaXIs
ICJidWlsZF9zdGF0cyIpCiAgICAgICAgd2l0aCBvcGVuKGJ1aWxkX3RpbWUsICJhIikgYXMgZjoK
ICAgICAgICAgICAgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAgICAgICAgICAgICMgV3JpdGUgYnVpbGQgc3Rh
dGlzdGljcyBmb3IgdGhlIGJ1aWxkCiAgICAgICAgICAgICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogICAgICAg
ICAgICB0aW1lZGF0YSA9IGdldF9idWlsZHRpbWVkYXRhKCJfX3RpbWVkYXRhX2J1aWxkIiwgZCkK
ICAgICAgICAgICAgaWYgdGltZWRhdGE6CiAgICAgICAgICAgICAgICB0aW1lLCBjcHUgPSB0aW1l
ZGF0YQogICAgICAgICAgICAgICAgIyB3cml0ZSBlbmQgb2YgYnVpbGQgYW5kIGNwdSB1c2VkIGlu
dG8gYnVpbGRfdGltZQogICAgICAgICAgICAgICAgZi53cml0ZSgiRWxhcHNlZCB0aW1lOiAlMC4y
ZiBzZWNvbmRzIFxuIiAlICh0aW1lKSkKICAgICAgICAgICAgICAgIGlmIGNwdToKICAgICAgICAg
ICAgICAgICAgICBmLndyaXRlKCJDUFUgdXNhZ2U6ICUwLjFmJSUgXG4iICUgY3B1KQoKICAgIGlm
IGlzaW5zdGFuY2UoZSwgYmIuYnVpbGQuVGFza1N0YXJ0ZWQpOgogICAgICAgIHNldF90aW1lZGF0
YSgiX190aW1lZGF0YV90YXNrIiwgZCwgZS50aW1lKQogICAgICAgIGJiLnV0aWxzLm1rZGlyaGll
cih0YXNrZGlyKQogICAgICAgICMgd3JpdGUgaW50byB0aGUgdGFzayBldmVudCBmaWxlIHRoZSBu
YW1lIGFuZCBzdGFydCB0aW1lCiAgICAgICAgd2l0aCBvcGVuKG9zLnBhdGguam9pbih0YXNrZGly
LCBlLnRhc2spLCAiYSIpIGFzIGY6CiAgICAgICAgICAgIGYud3JpdGUoIkV2ZW50OiAlcyBcbiIg
JSBiYi5ldmVudC5nZXROYW1lKGUpKQogICAgICAgICAgICBmLndyaXRlKCJTdGFydGVkOiAlMC4y
ZiBcbiIgJSBlLnRpbWUpCgogICAgZWxpZiBpc2luc3RhbmNlKGUsIGJiLmJ1aWxkLlRhc2tTdWNj
ZWVkZWQpOgogICAgICAgIHdyaXRlX3Rhc2tfZGF0YSgicGFzc2VkIiwgb3MucGF0aC5qb2luKHRh
c2tkaXIsIGUudGFzayksIGUsIGQpCiAgICAgICAgaWYgZS50YXNrID09ICJkb19yb290ZnMiOgog
ICAgICAgICAgICBicyA9IG9zLnBhdGguam9pbihic2RpciwgImJ1aWxkX3N0YXRzIikKICAgICAg
ICAgICAgd2l0aCBvcGVuKGJzLCAiYSIpIGFzIGY6CiAgICAgICAgICAgICAgICByb290ZnMgPSBk
LmdldFZhcignSU1BR0VfUk9PVEZTJykKICAgICAgICAgICAgICAgIGlmIG9zLnBhdGguaXNkaXIo
cm9vdGZzKToKICAgICAgICAgICAgICAgICAgICB0cnk6CiAgICAgICAgICAgICAgICAgICAgICAg
IHJvb3Rmc19zaXplID0gc3VicHJvY2Vzcy5jaGVja19vdXRwdXQoWyJkdSIsICItc2giLCByb290
ZnNdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0ZGVycj1zdWJwcm9jZXNzLlNU
RE9VVCkuZGVjb2RlKCd1dGYtOCcpCiAgICAgICAgICAgICAgICAgICAgICAgIGYud3JpdGUoIlVu
Y29tcHJlc3NlZCBSb290ZnMgc2l6ZTogJXMiICUgcm9vdGZzX3NpemUpCiAgICAgICAgICAgICAg
ICAgICAgZXhjZXB0IHN1YnByb2Nlc3MuQ2FsbGVkUHJvY2Vzc0Vycm9yIGFzIGVycjoKICAgICAg
ICAgICAgICAgICAgICAgICAgYmIud2FybigiRmFpbGVkIHRvIGdldCByb290ZnMgc2l6ZTogJXMi
ICUgZXJyLm91dHB1dC5kZWNvZGUoJ3V0Zi04JykpCgogICAgZWxpZiBpc2luc3RhbmNlKGUsIGJi
LmJ1aWxkLlRhc2tGYWlsZWQpOgogICAgICAgICMgQ2FuIGhhdmUgYSBmYWlsdXJlIGJlZm9yZSBU
YXNrU3RhcnRlZCBzbyBuZWVkIHRvIG1rZGlyIGhlcmUgdG9vCiAgICAgICAgYmIudXRpbHMubWtk
aXJoaWVyKHRhc2tkaXIpCiAgICAgICAgd3JpdGVfdGFza19kYXRhKCJmYWlsZWQiLCBvcy5wYXRo
LmpvaW4odGFza2RpciwgZS50YXNrKSwgZSwgZCkKICAgICAgICAjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKICAg
ICAgICAjIExldHMgbWFrZSB0aGluZ3MgZWFzaWVyIGFuZCB0ZWxsIHBlb3BsZSB3aGVyZSB0aGUg
YnVpbGQgZmFpbGVkIGluCiAgICAgICAgIyBidWlsZF9zdGF0dXMuIFdlIGRvIHRoaXMgaGVyZSBi
ZWNhdXNlIEJ1aWxkQ29tcGxldGVkIHRyaWdnZXJzIG5vCiAgICAgICAgIyBtYXR0ZXIgd2hhdCB0
aGUgc3RhdHVzIG9mIHRoZSBidWlsZCBhY3R1YWxseSBpcwogICAgICAgICMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IwogICAgICAgIGJ1aWxkX3N0YXR1cyA9IG9zLnBhdGguam9pbihic2RpciwgImJ1aWxkX3N0YXRz
IikKICAgICAgICB3aXRoIG9wZW4oYnVpbGRfc3RhdHVzLCAiYSIpIGFzIGY6CiAgICAgICAgICAg
IGYud3JpdGUoZC5leHBhbmQoIkZhaWxlZCBhdDogJHtQRn0gYXQgdGFzazogJXMgXG4iICUgZS50
YXNrKSkKfQoKCnB5dGhvbiBydW5xdWV1ZV9zdGF0cyAoKSB7CiAgICBpbXBvcnQgYnVpbGRzdGF0
cwogICAgZnJvbSBiYiBpbXBvcnQgZXZlbnQsIHJ1bnF1ZXVlCiAgICAjIFdlIHNob3VsZCBub3Qg
cmVjb3JkIGFueSBzYW1wbGVzIGJlZm9yZSB0aGUgZmlyc3QgdGFzayBoYXMgc3RhcnRlZCwKICAg
ICMgYmVjYXVzZSB0aGF0J3MgdGhlIGZpcnN0IGFjdGl2aXR5IHNob3duIGluIHRoZSBwcm9jZXNz
IGNoYXJ0LgogICAgIyBCZXNpZGVzLCBhdCB0aGF0IHBvaW50IHdlIGFyZSBzdXJlIHRoYXQgdGhl
IGJ1aWxkIHZhcmlhYmxlcwogICAgIyBhcmUgYXZhaWxhYmxlIHRoYXQgd2UgbmVlZCB0byBmaW5k
IHRoZSBvdXRwdXQgZGlyZWN0b3J5LgogICAgIyBUaGUgcGVyc2lzdGVudCBTeXN0ZW1TdGF0cyBp
cyBzdG9yZWQgaW4gdGhlIGRhdGFzdG9yZSBhbmQKICAgICMgY2xvc2VkIHdoZW4gdGhlIGJ1aWxk
IGlzIGRvbmUuCiAgICBzeXN0ZW1fc3RhdHMgPSBkLmdldFZhcignX2J1aWxkc3RhdHNfc3lzdGVt
X3N0YXRzJywgRmFsc2UpCiAgICBpZiBub3Qgc3lzdGVtX3N0YXRzIGFuZCBpc2luc3RhbmNlKGUs
IChiYi5ydW5xdWV1ZS5zY2VuZVF1ZXVlVGFza1N0YXJ0ZWQsIGJiLnJ1bnF1ZXVlLnJ1blF1ZXVl
VGFza1N0YXJ0ZWQpKToKICAgICAgICBzeXN0ZW1fc3RhdHMgPSBidWlsZHN0YXRzLlN5c3RlbVN0
YXRzKGQpCiAgICAgICAgZC5zZXRWYXIoJ19idWlsZHN0YXRzX3N5c3RlbV9zdGF0cycsIHN5c3Rl
bV9zdGF0cykKICAgIGlmIHN5c3RlbV9zdGF0czoKICAgICAgICAjIEVuc3VyZSB0aGF0IHdlIHNh
bXBsZSBhdCBpbXBvcnRhbnQgZXZlbnRzLgogICAgICAgIGRvbmUgPSBpc2luc3RhbmNlKGUsIGJi
LmV2ZW50LkJ1aWxkQ29tcGxldGVkKQogICAgICAgIHN5c3RlbV9zdGF0cy5zYW1wbGUoZSwgZm9y
Y2U9ZG9uZSkKICAgICAgICBpZiBkb25lOgogICAgICAgICAgICBzeXN0ZW1fc3RhdHMuY2xvc2Uo
KQogICAgICAgICAgICBkLmRlbFZhcignX2J1aWxkc3RhdHNfc3lzdGVtX3N0YXRzJykKfQoKCnB5
dGhvbiBydW50aW1lX21hcHBpbmdfcmVuYW1lICgpIHsKZGVmIHJ1bnRpbWVfbWFwcGluZ19yZW5h
bWUgKHZhcm5hbWUsIHBrZywgZCk6CiAgICAjYmIubm90ZSgiJXMgYmVmb3JlOiAlcyIgJSAodmFy
bmFtZSwgZC5nZXRWYXIodmFybmFtZSkpKQoKICAgIG5ld19kZXBlbmRzID0ge30KICAgIGRlcHMg
PSBiYi51dGlscy5leHBsb2RlX2RlcF92ZXJzaW9uczIoZC5nZXRWYXIodmFybmFtZSkgb3IgIiIp
CiAgICBmb3IgZGVwZW5kIGluIGRlcHM6CiAgICAgICAgbmV3X2RlcGVuZCA9IGdldF9wYWNrYWdl
X21hcHBpbmcoZGVwZW5kLCBwa2csIGQpCiAgICAgICAgbmV3X2RlcGVuZHNbbmV3X2RlcGVuZF0g
PSBkZXBzW2RlcGVuZF0KCiAgICBkLnNldFZhcih2YXJuYW1lLCBiYi51dGlscy5qb2luX2RlcHMo
bmV3X2RlcGVuZHMsIGNvbW1hc2VwPUZhbHNlKSkKCiAgICAjYmIubm90ZSgiJXMgYWZ0ZXI6ICVz
IiAlICh2YXJuYW1lLCBkLmdldFZhcih2YXJuYW1lKSkpCn0KCgpweXRob24gc2FuaXR5X2NoZWNr
X2NvbmZmaWxlcyAoKSB7CmRlZiBzYW5pdHlfY2hlY2tfY29uZmZpbGVzKGQpOgogICAgZnVuY3Mg
PSBkLmdldFZhcignQkJMQVlFUlNfQ09ORl9VUERBVEVfRlVOQ1MnKS5zcGxpdCgpCiAgICBmb3Ig
ZnVuYyBpbiBmdW5jczoKICAgICAgICBjb25mZmlsZSwgY3VycmVudF92ZXJzaW9uLCByZXF1aXJl
ZF92ZXJzaW9uLCBmdW5jID0gZnVuYy5zcGxpdCgiOiIpCiAgICAgICAgaWYgY2hlY2tfY29uZl9l
eGlzdHMoY29uZmZpbGUsIGQpIGFuZCBkLmdldFZhcihjdXJyZW50X3ZlcnNpb24pIGlzIG5vdCBO
b25lIGFuZCBcCiAgICAgICAgICAgICAgICBkLmdldFZhcihjdXJyZW50X3ZlcnNpb24pICE9IGQu
Z2V0VmFyKHJlcXVpcmVkX3ZlcnNpb24pOgogICAgICAgICAgICB0cnk6CiAgICAgICAgICAgICAg
ICBiYi5idWlsZC5leGVjX2Z1bmMoZnVuYywgZCwgcHl0aG9uZXhjZXB0aW9uPVRydWUpCiAgICAg
ICAgICAgIGV4Y2VwdCBOb3RJbXBsZW1lbnRlZEVycm9yIGFzIGU6CiAgICAgICAgICAgICAgICBi
Yi5mYXRhbChzdHIoZSkpCiAgICAgICAgICAgIGQuc2V0VmFyKCJCQl9JTlZBTElEQ09ORiIsIFRy
dWUpCn0KCgpweXRob24gc2FuaXR5X2NoZWNrX2xvY2FsZSAoKSB7CmRlZiBzYW5pdHlfY2hlY2tf
bG9jYWxlKGQpOgogICAgIiIiCiAgICBDdXJyZW50bHkgYml0YmFrZSBzd2l0Y2hlcyBsb2NhbGUg
dG8gZW5fVVMuVVRGLTggc28gY2hlY2sgdGhhdCB0aGlzIGxvY2FsZSBhY3R1YWxseSBleGlzdHMu
CiAgICAiIiIKICAgIGltcG9ydCBsb2NhbGUKICAgIHRyeToKICAgICAgICBsb2NhbGUuc2V0bG9j
YWxlKGxvY2FsZS5MQ19BTEwsICJlbl9VUy5VVEYtOCIpCiAgICBleGNlcHQgbG9jYWxlLkVycm9y
OgogICAgICAgIHJhaXNlX3Nhbml0eV9lcnJvcigiWW91IHN5c3RlbSBuZWVkcyB0byBzdXBwb3J0
IHRoZSBlbl9VUy5VVEYtOCBsb2NhbGUuIiwgZCkKfQoKCnB5dGhvbiBzYW5pdHlfY29uZl9maW5k
X2xpbmUgKCkgewpkZWYgc2FuaXR5X2NvbmZfZmluZF9saW5lKHBhdHRlcm4sIGxpbmVzKToKICAg
IGltcG9ydCByZQogICAgcmV0dXJuIG5leHQoKChpbmRleCwgbGluZSkKICAgICAgICBmb3IgaW5k
ZXgsIGxpbmUgaW4gZW51bWVyYXRlKGxpbmVzKQogICAgICAgIGlmIHJlLnNlYXJjaChwYXR0ZXJu
LCBsaW5lKSksIChOb25lLCBOb25lKSkKfQoKCnB5dGhvbiBzYW5pdHlfY29uZl9yZWFkICgpIHsK
ZGVmIHNhbml0eV9jb25mX3JlYWQoZm4pOgogICAgd2l0aCBvcGVuKGZuLCAncicpIGFzIGY6CiAg
ICAgICAgbGluZXMgPSBmLnJlYWRsaW5lcygpCiAgICByZXR1cm4gbGluZXMKfQoKCnB5dGhvbiBz
YW5pdHlfY29uZl91cGRhdGUgKCkgewpkZWYgc2FuaXR5X2NvbmZfdXBkYXRlKGZuLCBsaW5lcywg
dmVyc2lvbl92YXJfbmFtZSwgbmV3X3ZlcnNpb24pOgogICAgaW5kZXgsIGxpbmUgPSBzYW5pdHlf
Y29uZl9maW5kX2xpbmUociJeJXMiICUgdmVyc2lvbl92YXJfbmFtZSwgbGluZXMpCiAgICBsaW5l
c1tpbmRleF0gPSAnJXMgPSAiJWQiXG4nICUgKHZlcnNpb25fdmFyX25hbWUsIG5ld192ZXJzaW9u
KQogICAgd2l0aCBvcGVuKGZuLCAidyIpIGFzIGY6CiAgICAgICAgZi53cml0ZSgnJy5qb2luKGxp
bmVzKSkKfQoKCnB5dGhvbiBzYW5pdHlfaGFuZGxlX2FiaWNoYW5nZXMgKCkgewpkZWYgc2FuaXR5
X2hhbmRsZV9hYmljaGFuZ2VzKHN0YXR1cywgZCk6CiAgICAjCiAgICAjIENoZWNrIHRoZSAnQUJJ
JyBvZiBUTVBESVIKICAgICMKICAgIGltcG9ydCBzdWJwcm9jZXNzCgogICAgY3VycmVudF9hYmkg
PSBkLmdldFZhcignT0VMQVlPVVRfQUJJJykKICAgIGFiaWZpbGUgPSBkLmdldFZhcignU0FOSVRZ
X0FCSUZJTEUnKQogICAgaWYgb3MucGF0aC5leGlzdHMoYWJpZmlsZSk6CiAgICAgICAgd2l0aCBv
cGVuKGFiaWZpbGUsICJyIikgYXMgZjoKICAgICAgICAgICAgYWJpID0gZi5yZWFkKCkuc3RyaXAo
KQogICAgICAgIGlmIG5vdCBhYmkuaXNkaWdpdCgpOgogICAgICAgICAgICB3aXRoIG9wZW4oYWJp
ZmlsZSwgInciKSBhcyBmOgogICAgICAgICAgICAgICAgZi53cml0ZShjdXJyZW50X2FiaSkKICAg
ICAgICBlbGlmIGludChhYmkpIDw9IDExIGFuZCBjdXJyZW50X2FiaSA9PSAiMTIiOgogICAgICAg
ICAgICBzdGF0dXMuYWRkcmVzdWx0KCJUaGUgbGF5b3V0IG9mIFRNUERJUiBjaGFuZ2VkIGZvciBS
ZWNpcGUgU3BlY2lmaWMgU3lzcm9vdHMuXG5Db252ZXJzaW9uIGRvZXNuJ3QgbWFrZSBzZW5zZSBh
bmQgdGhpcyBjaGFuZ2Ugd2lsbCByZWJ1aWxkIGV2ZXJ5dGhpbmcgc28gcGxlYXNlIGRlbGV0ZSBU
TVBESVIgKCVzKS5cbiIgJSBkLmdldFZhcigiVE1QRElSIikpCiAgICAgICAgZWxpZiAoYWJpICE9
IGN1cnJlbnRfYWJpKToKICAgICAgICAgICAgIyBDb2RlIHRvIGNvbnZlcnQgZnJvbSBvbmUgQUJJ
IHRvIGFub3RoZXIgY291bGQgZ28gaGVyZSBpZiBwb3NzaWJsZS4KICAgICAgICAgICAgc3RhdHVz
LmFkZHJlc3VsdCgiRXJyb3IsIFRNUERJUiBoYXMgY2hhbmdlZCBpdHMgbGF5b3V0IHZlcnNpb24g
bnVtYmVyICglcyB0byAlcykgYW5kIHlvdSBuZWVkIHRvIGVpdGhlciByZWJ1aWxkLCByZXZlcnQg
b3IgYWRqdXN0IGl0IGF0IHlvdXIgb3duIHJpc2suXG4iICUgKGFiaSwgY3VycmVudF9hYmkpKQog
ICAgZWxzZToKICAgICAgICB3aXRoIG9wZW4oYWJpZmlsZSwgInciKSBhcyBmOgogICAgICAgICAg
ICBmLndyaXRlKGN1cnJlbnRfYWJpKQp9CgoKcHl0aG9uIHNldF9idWlsZHRpbWVkYXRhICgpIHsK
ZGVmIHNldF9idWlsZHRpbWVkYXRhKHZhciwgZCk6CiAgICBpbXBvcnQgdGltZQogICAgdGltZSA9
IHRpbWUudGltZSgpCiAgICBjcHV0aW1lID0gZ2V0X2NwdXRpbWUoKQogICAgcHJvY3RpbWUgPSBn
ZXRfYnVpbGRwcm9jZXNzX2NwdXRpbWUob3MuZ2V0cGlkKCkpCiAgICBkLnNldFZhcih2YXIsICh0
aW1lLCBjcHV0aW1lLCBwcm9jdGltZSkpCn0KCgpweXRob24gc2V0X3BhY2thZ2V0cmlwbGV0ICgp
IHsKZGVmIHNldF9wYWNrYWdldHJpcGxldChkKToKICAgIGFyY2hzID0gW10KICAgIHRvcyA9IFtd
CiAgICB0dnMgPSBbXQoKICAgIGFyY2hzLmFwcGVuZChkLmdldFZhcigiUEFDS0FHRV9BUkNIUyIp
LnNwbGl0KCkpCiAgICB0b3MuYXBwZW5kKGQuZ2V0VmFyKCJUQVJHRVRfT1MiKSkKICAgIHR2cy5h
cHBlbmQoZC5nZXRWYXIoIlRBUkdFVF9WRU5ET1IiKSkKCiAgICBkZWYgc2V0dHJpcGxldChkLCB2
YXJuYW1lLCBhcmNocywgdG9zLCB0dnMpOgogICAgICAgIHRyaXBsZXRzID0gW10KICAgICAgICBm
b3IgaSBpbiByYW5nZShsZW4oYXJjaHMpKToKICAgICAgICAgICAgZm9yIGFyY2ggaW4gYXJjaHNb
aV06CiAgICAgICAgICAgICAgICB0cmlwbGV0cy5hcHBlbmQoYXJjaCArIHR2c1tpXSArICItIiAr
IHRvc1tpXSkKICAgICAgICB0cmlwbGV0cy5yZXZlcnNlKCkKICAgICAgICBkLnNldFZhcih2YXJu
YW1lLCAiICIuam9pbih0cmlwbGV0cykpCgogICAgc2V0dHJpcGxldChkLCAiUEtHVFJJUExFVFMi
LCBhcmNocywgdG9zLCB0dnMpCgogICAgdmFyaWFudHMgPSBkLmdldFZhcigiTVVMVElMSUJfVkFS
SUFOVFMiKSBvciAiIgogICAgZm9yIGl0ZW0gaW4gdmFyaWFudHMuc3BsaXQoKToKICAgICAgICBs
b2NhbGRhdGEgPSBiYi5kYXRhLmNyZWF0ZUNvcHkoZCkKICAgICAgICBvdmVycmlkZXMgPSBsb2Nh
bGRhdGEuZ2V0VmFyKCJPVkVSUklERVMiLCBGYWxzZSkgKyAiOnZpcnRjbGFzcy1tdWx0aWxpYi0i
ICsgaXRlbQogICAgICAgIGxvY2FsZGF0YS5zZXRWYXIoIk9WRVJSSURFUyIsIG92ZXJyaWRlcykK
CiAgICAgICAgYXJjaHMuYXBwZW5kKGxvY2FsZGF0YS5nZXRWYXIoIlBBQ0tBR0VfQVJDSFMiKS5z
cGxpdCgpKQogICAgICAgIHRvcy5hcHBlbmQobG9jYWxkYXRhLmdldFZhcigiVEFSR0VUX09TIikp
CiAgICAgICAgdHZzLmFwcGVuZChsb2NhbGRhdGEuZ2V0VmFyKCJUQVJHRVRfVkVORE9SIikpCgog
ICAgc2V0dHJpcGxldChkLCAiUEtHTUxUUklQTEVUUyIsIGFyY2hzLCB0b3MsIHR2cykKfQoKCnB5
dGhvbiBzZXRfdGltZWRhdGEgKCkgewpkZWYgc2V0X3RpbWVkYXRhKHZhciwgZCwgc2VydmVyX3Rp
bWUpOgogICAgZC5zZXRWYXIodmFyLCBzZXJ2ZXJfdGltZSkKfQoKCnB5dGhvbiBzZXRzY2VuZV9k
ZXB2YWxpZCAoKSB7CmRlZiBzZXRzY2VuZV9kZXB2YWxpZCh0YXNrLCB0YXNrZGVwZW5kZWVzLCBu
b3RuZWVkZWQsIGQsIGxvZz1Ob25lKToKICAgICMgdGFza2RlcGVuZGVlcyBpcyBhIGRpY3Qgb2Yg
dGFza3Mgd2hpY2ggZGVwZW5kIG9uIHRhc2ssIGVhY2ggYmVpbmcgYSAzIGl0ZW0gbGlzdCBvZiBb
UE4sIFRBU0tOQU1FLCBGSUxFTkFNRV0KICAgICMgdGFzayBpcyBpbmNsdWRlZCBpbiB0YXNrZGVw
ZW5kZWVzIHRvbwogICAgIyBSZXR1cm4gLSBGYWxzZSAtIFdlIG5lZWQgdGhpcyBkZXBlbmRlbmN5
CiAgICAjICAgICAgICAtIFRydWUgLSBXZSBjYW4gc2tpcCB0aGlzIGRlcGVuZGVuY3kKCiAgICBk
ZWYgbG9naXQobXNnLCBsb2cpOgogICAgICAgIGlmIGxvZyBpcyBub3QgTm9uZToKICAgICAgICAg
ICAgbG9nLmFwcGVuZChtc2cpCiAgICAgICAgZWxzZToKICAgICAgICAgICAgYmIuZGVidWcoMiwg
bXNnKQoKICAgIGxvZ2l0KCJDb25zaWRlcmluZyBzZXRzY2VuZSB0YXNrOiAlcyIgJSAoc3RyKHRh
c2tkZXBlbmRlZXNbdGFza10pKSwgbG9nKQoKICAgIGRlZiBpc05hdGl2ZUNyb3NzKHgpOgogICAg
ICAgIHJldHVybiB4LmVuZHN3aXRoKCItbmF0aXZlIikgb3IgIi1jcm9zcy0iIGluIHggb3IgIi1j
cm9zc3NkayIgaW4geCBvciB4LmVuZHN3aXRoKCItY3Jvc3MiKQoKICAgICMgV2Ugb25seSBuZWVk
IHRvIHRyaWdnZXIgcG9wdWxhdGVfbGljIHRocm91Z2ggZGlyZWN0IGRlcGVuZGVuY2llcwogICAg
aWYgdGFza2RlcGVuZGVlc1t0YXNrXVsxXSA9PSAiZG9fcG9wdWxhdGVfbGljIjoKICAgICAgICBy
ZXR1cm4gVHJ1ZQoKICAgICMgc3Rhc2hfbG9jYWxlIGFuZCBnY2Nfc3Rhc2hfYnVpbGRkaXIgYXJl
IG5ldmVyIG5lZWRlZCBhcyBhIGRlcGVuZGVuY3kgZm9yIGJ1aWx0IG9iamVjdHMKICAgIGlmIHRh
c2tkZXBlbmRlZXNbdGFza11bMV0gPT0gImRvX3N0YXNoX2xvY2FsZSIgb3IgdGFza2RlcGVuZGVl
c1t0YXNrXVsxXSA9PSAiZG9fZ2NjX3N0YXNoX2J1aWxkZGlyIjoKICAgICAgICByZXR1cm4gVHJ1
ZQoKICAgICMgV2Ugb25seSBuZWVkIHRvIHRyaWdnZXIgcGFja2FnZWRhdGEgdGhyb3VnaCBkaXJl
Y3QgZGVwZW5kZW5jaWVzCiAgICAjIGJ1dCBuZWVkIHRvIHByZXNlcnZlIHBhY2thZ2VkYXRhIG9u
IHBhY2thZ2VkYXRhIGxpbmtzCiAgICBpZiB0YXNrZGVwZW5kZWVzW3Rhc2tdWzFdID09ICJkb19w
YWNrYWdlZGF0YSI6CiAgICAgICAgZm9yIGRlcCBpbiB0YXNrZGVwZW5kZWVzOgogICAgICAgICAg
ICBpZiB0YXNrZGVwZW5kZWVzW2RlcF1bMV0gPT0gImRvX3BhY2thZ2VkYXRhIjoKICAgICAgICAg
ICAgICAgIHJldHVybiBGYWxzZQogICAgICAgIHJldHVybiBUcnVlCgogICAgZm9yIGRlcCBpbiB0
YXNrZGVwZW5kZWVzOgogICAgICAgIGxvZ2l0KCIgIGNvbnNpZGVyaW5nIGRlcGVuZGVuY3k6ICVz
IiAlIChzdHIodGFza2RlcGVuZGVlc1tkZXBdKSksIGxvZykKICAgICAgICBpZiB0YXNrID09IGRl
cDoKICAgICAgICAgICAgY29udGludWUKICAgICAgICBpZiBkZXAgaW4gbm90bmVlZGVkOgogICAg
ICAgICAgICBjb250aW51ZQogICAgICAgICMgZG9fcGFja2FnZV93cml0ZV8qIGFuZCBkb19wYWNr
YWdlIGRvZXNuJ3QgbmVlZCBkb19wYWNrYWdlCiAgICAgICAgaWYgdGFza2RlcGVuZGVlc1t0YXNr
XVsxXSA9PSAiZG9fcGFja2FnZSIgYW5kIHRhc2tkZXBlbmRlZXNbZGVwXVsxXSBpbiBbJ2RvX3Bh
Y2thZ2UnLCAnZG9fcGFja2FnZV93cml0ZV9kZWInLCAnZG9fcGFja2FnZV93cml0ZV9pcGsnLCAn
ZG9fcGFja2FnZV93cml0ZV9ycG0nLCAnZG9fcGFja2FnZWRhdGEnLCAnZG9fcGFja2FnZV9xYSdd
OgogICAgICAgICAgICBjb250aW51ZQogICAgICAgICMgZG9fcGFja2FnZV93cml0ZV8qIG5lZWQg
ZG9fcG9wdWxhdGVfc3lzcm9vdCBhcyB0aGV5J3JlIG1haW5seSBwb3N0aW5zdGFsbCBkZXBlbmRl
bmNpZXMKICAgICAgICBpZiB0YXNrZGVwZW5kZWVzW3Rhc2tdWzFdID09ICJkb19wb3B1bGF0ZV9z
eXNyb290IiBhbmQgdGFza2RlcGVuZGVlc1tkZXBdWzFdIGluIFsnZG9fcGFja2FnZV93cml0ZV9k
ZWInLCAnZG9fcGFja2FnZV93cml0ZV9pcGsnLCAnZG9fcGFja2FnZV93cml0ZV9ycG0nXToKICAg
ICAgICAgICAgcmV0dXJuIEZhbHNlCiAgICAgICAgIyBkb19wYWNrYWdlL3BhY2thZ2VkYXRhL3Bh
Y2thZ2VfcWEgZG9uJ3QgbmVlZCBkb19wb3B1bGF0ZV9zeXNyb290CiAgICAgICAgaWYgdGFza2Rl
cGVuZGVlc1t0YXNrXVsxXSA9PSAiZG9fcG9wdWxhdGVfc3lzcm9vdCIgYW5kIHRhc2tkZXBlbmRl
ZXNbZGVwXVsxXSBpbiBbJ2RvX3BhY2thZ2UnLCAnZG9fcGFja2FnZWRhdGEnLCAnZG9fcGFja2Fn
ZV9xYSddOgogICAgICAgICAgICBjb250aW51ZQogICAgICAgICMgTmF0aXZlL0Nyb3NzIHBhY2th
Z2VzIGRvbid0IGV4aXN0IGFuZCBhcmUgbm9leGVjIGFueXdheQogICAgICAgIGlmIGlzTmF0aXZl
Q3Jvc3ModGFza2RlcGVuZGVlc1tkZXBdWzBdKSBhbmQgdGFza2RlcGVuZGVlc1tkZXBdWzFdIGlu
IFsnZG9fcGFja2FnZV93cml0ZV9kZWInLCAnZG9fcGFja2FnZV93cml0ZV9pcGsnLCAnZG9fcGFj
a2FnZV93cml0ZV9ycG0nLCAnZG9fcGFja2FnZWRhdGEnLCAnZG9fcGFja2FnZScsICdkb19wYWNr
YWdlX3FhJ106CiAgICAgICAgICAgIGNvbnRpbnVlCgogICAgICAgICMgVGhpcyBpcyBkdWUgdG8g
dGhlIFtkZXBlbmRzXSBpbiB1c2VyYWRkLmJiY2xhc3MgY29tcGxpY2F0aW5nIG1hdHRlcnMKICAg
ICAgICAjIFRoZSBsb2dpYyAqaXMqIHJldmVyc2VkIGhlcmUgZHVlIHRvIHRoZSB3YXkgaGFyZCBz
ZXRzY2VuZSBkZXBlbmRlbmNpZXMgYXJlIGluamVjdGVkCiAgICAgICAgaWYgKHRhc2tkZXBlbmRl
ZXNbdGFza11bMV0gPT0gJ2RvX3BhY2thZ2UnIG9yIHRhc2tkZXBlbmRlZXNbdGFza11bMV0gPT0g
J2RvX3BvcHVsYXRlX3N5c3Jvb3QnKSBhbmQgdGFza2RlcGVuZGVlc1tkZXBdWzBdLmVuZHN3aXRo
KCgnc2hhZG93LW5hdGl2ZScsICdzaGFkb3ctc3lzcm9vdCcsICdiYXNlLXBhc3N3ZCcsICdwc2V1
ZG8tbmF0aXZlJykpIGFuZCB0YXNrZGVwZW5kZWVzW2RlcF1bMV0gPT0gJ2RvX3BvcHVsYXRlX3N5
c3Jvb3QnOgogICAgICAgICAgICBjb250aW51ZQoKICAgICAgICAjIENvbnNpZGVyIHN5c3Jvb3Qg
ZGVwZW5kaW5nIG9uIHN5c3Jvb3QgdGFza3MKICAgICAgICBpZiB0YXNrZGVwZW5kZWVzW3Rhc2td
WzFdID09ICdkb19wb3B1bGF0ZV9zeXNyb290JyBhbmQgdGFza2RlcGVuZGVlc1tkZXBdWzFdID09
ICdkb19wb3B1bGF0ZV9zeXNyb290JzoKICAgICAgICAgICAgIyBiYXNlLXBhc3N3ZC9zaGFkb3ct
c3lzcm9vdCBkb24ndCBuZWVkIHRoZWlyIGRlcGVuZGVuY2llcwogICAgICAgICAgICBpZiB0YXNr
ZGVwZW5kZWVzW2RlcF1bMF0uZW5kc3dpdGgoKCJiYXNlLXBhc3N3ZCIsICJzaGFkb3ctc3lzcm9v
dCIpKToKICAgICAgICAgICAgICAgIGNvbnRpbnVlCiAgICAgICAgICAgICMgTm90aGluZyBuZWVk
IGRlcGVuZCBvbiBsaWJjLWluaXRpYWwvZ2NjLWNyb3NzLWluaXRpYWwKICAgICAgICAgICAgaWYg
Ii1pbml0aWFsIiBpbiB0YXNrZGVwZW5kZWVzW3Rhc2tdWzBdOgogICAgICAgICAgICAgICAgY29u
dGludWUKICAgICAgICAgICAgIyBGb3IgbWV0YS1leHRzZGstdG9vbGNoYWluIHdlIHdhbnQgYWxs
IHN5c3Jvb3QgZGVwZW5kZW5jaWVzCiAgICAgICAgICAgIGlmIHRhc2tkZXBlbmRlZXNbZGVwXVsw
XSA9PSAnbWV0YS1leHRzZGstdG9vbGNoYWluJzoKICAgICAgICAgICAgICAgIHJldHVybiBGYWxz
ZQogICAgICAgICAgICAjIE5hdGl2ZS9Dcm9zcyBwb3B1bGF0ZV9zeXNyb290IG5lZWQgdGhlaXIg
ZGVwZW5kZW5jaWVzCiAgICAgICAgICAgIGlmIGlzTmF0aXZlQ3Jvc3ModGFza2RlcGVuZGVlc1t0
YXNrXVswXSkgYW5kIGlzTmF0aXZlQ3Jvc3ModGFza2RlcGVuZGVlc1tkZXBdWzBdKToKICAgICAg
ICAgICAgICAgIHJldHVybiBGYWxzZQogICAgICAgICAgICAjIFRhcmdldCBwb3B1bGF0ZV9zeXNy
b290IGRlcGVuZGVkIG9uIGJ5IGNyb3NzIHRvb2xzIG5lZWQgdG8gYmUgaW5zdGFsbGVkCiAgICAg
ICAgICAgIGlmIGlzTmF0aXZlQ3Jvc3ModGFza2RlcGVuZGVlc1tkZXBdWzBdKToKICAgICAgICAg
ICAgICAgIHJldHVybiBGYWxzZQogICAgICAgICAgICAjIE5hdGl2ZS9jcm9zcyB0b29scyBkZXBl
bmRlZCB1cG9uIGJ5IHRhcmdldCBzeXNyb290IGFyZSBub3QgbmVlZGVkCiAgICAgICAgICAgIGlm
IGlzTmF0aXZlQ3Jvc3ModGFza2RlcGVuZGVlc1t0YXNrXVswXSk6CiAgICAgICAgICAgICAgICBj
b250aW51ZQogICAgICAgICAgICAjIFRhcmdldCBwb3B1bGF0ZV9zeXNyb290IG5lZWQgdGhlaXIg
ZGVwZW5kZW5jaWVzCiAgICAgICAgICAgIHJldHVybiBGYWxzZQoKICAgICAgICBpZiB0YXNrZGVw
ZW5kZWVzW3Rhc2tdWzFdID09ICdkb19zaGFyZWRfd29ya2Rpcic6CiAgICAgICAgICAgIGNvbnRp
bnVlCgogICAgICAgIGlmIHRhc2tkZXBlbmRlZXNbZGVwXVsxXSA9PSAiZG9fcG9wdWxhdGVfbGlj
IjoKICAgICAgICAgICAgY29udGludWUKCgogICAgICAgICMgU2FmZSBmYWxsdGhyb3VnaCBkZWZh
dWx0CiAgICAgICAgbG9naXQoIiBEZWZhdWx0IHNldHNjZW5lIGRlcGVuZGVuY3kgZmFsbCB0aHJv
dWdoIGR1ZSB0byBkZXBlbmRlbmN5OiAlcyIgJSAoc3RyKHRhc2tkZXBlbmRlZXNbZGVwXSkpLCBs
b2cpCiAgICAgICAgcmV0dXJuIEZhbHNlCiAgICByZXR1cm4gVHJ1ZQp9CgoKcHl0aG9uIHNldHVw
X2hvc3R0b29sc19kaXIgKCkgewpkZWYgc2V0dXBfaG9zdHRvb2xzX2RpcihkZXN0LCB0b29sc3Zh
ciwgZCwgZmF0YWw9VHJ1ZSk6CiAgICB0b29scyA9IGQuZ2V0VmFyKHRvb2xzdmFyKS5zcGxpdCgp
CiAgICBvcmlnYmJlbnYgPSBkLmdldFZhcigiQkJfT1JJR0VOViIsIEZhbHNlKQogICAgcGF0aCA9
IG9yaWdiYmVudi5nZXRWYXIoIlBBVEgiKQogICAgYmIudXRpbHMubWtkaXJoaWVyKGRlc3QpCiAg
ICBub3Rmb3VuZCA9IFtdCiAgICBmb3IgdG9vbCBpbiB0b29sczoKICAgICAgICBkZXN0dG9vbCA9
IG9zLnBhdGguam9pbihkZXN0LCB0b29sKQogICAgICAgIGlmIG5vdCBvcy5wYXRoLmV4aXN0cyhk
ZXN0dG9vbCk6CiAgICAgICAgICAgIHNyY3Rvb2wgPSBiYi51dGlscy53aGljaChwYXRoLCB0b29s
LCBleGVjdXRhYmxlPVRydWUpCiAgICAgICAgICAgIGlmICJjY2FjaGUiIGluIHNyY3Rvb2w6CiAg
ICAgICAgICAgICAgICBzcmN0b29sID0gYmIudXRpbHMud2hpY2gocGF0aCwgdG9vbCwgZXhlY3V0
YWJsZT1UcnVlLCBkaXJlY3Rpb249MSkKICAgICAgICAgICAgaWYgc3JjdG9vbDoKICAgICAgICAg
ICAgICAgIG9zLnN5bWxpbmsoc3JjdG9vbCwgZGVzdHRvb2wpCiAgICAgICAgICAgIGVsc2U6CiAg
ICAgICAgICAgICAgICBub3Rmb3VuZC5hcHBlbmQodG9vbCkKICAgIGlmIG5vdGZvdW5kIGFuZCBm
YXRhbDoKICAgICAgICBiYi5mYXRhbCgiVGhlIGZvbGxvd2luZyByZXF1aXJlZCB0b29scyAoYXMg
c3BlY2lmaWVkIGJ5IEhPU1RUT09MUykgYXBwZWFyIHRvIGJlIHVuYXZhaWxhYmxlIGluIFBBVEgs
IHBsZWFzZSBpbnN0YWxsIHRoZW0gaW4gb3JkZXIgdG8gcHJvY2VlZDpcbiAgJXMiICUgIiAiLmpv
aW4obm90Zm91bmQpKQp9CgoKcHl0aG9uIHNob3VsZF9hcHBseSAoKSB7CmRlZiBzaG91bGRfYXBw
bHkocGFybSwgZCk6CiAgICAiIiJEZXRlcm1pbmUgaWYgd2Ugc2hvdWxkIGFwcGx5IHRoZSBnaXZl
biBwYXRjaCIiIgogICAgaW1wb3J0IG9lLnBhdGNoCiAgICByZXR1cm4gb2UucGF0Y2guc2hvdWxk
X2FwcGx5KHBhcm0sIGQpCn0KCgpweXRob24gc3BsaXRfYW5kX3N0cmlwX2ZpbGVzICgpIHsKICAg
IGltcG9ydCBzdGF0LCBlcnJubwoKICAgIGR2YXIgPSBkLmdldFZhcignUEtHRCcpCiAgICBwbiA9
IGQuZ2V0VmFyKCdQTicpCgogICAgb2xkY3dkID0gb3MuZ2V0Y3dkKCkKICAgIG9zLmNoZGlyKGR2
YXIpCgogICAgIyBXZSBkZWZhdWx0IHRvICcuZGVidWcnIHN0eWxlCiAgICBpZiBkLmdldFZhcign
UEFDS0FHRV9ERUJVR19TUExJVF9TVFlMRScpID09ICdkZWJ1Zy1maWxlLWRpcmVjdG9yeSc6CiAg
ICAgICAgIyBTaW5nbGUgZGVidWctZmlsZS1kaXJlY3Rvcnkgc3R5bGUgZGVidWcgaW5mbwogICAg
ICAgIGRlYnVnYXBwZW5kID0gIi5kZWJ1ZyIKICAgICAgICBkZWJ1Z2RpciA9ICIiCiAgICAgICAg
ZGVidWdsaWJkaXIgPSAiL3Vzci9saWIvZGVidWciCiAgICAgICAgZGVidWdzcmNkaXIgPSAiL3Vz
ci9zcmMvZGVidWciCiAgICBlbGlmIGQuZ2V0VmFyKCdQQUNLQUdFX0RFQlVHX1NQTElUX1NUWUxF
JykgPT0gJ2RlYnVnLXdpdGhvdXQtc3JjJzoKICAgICAgICAjIE9yaWdpbmFsIE9FLWNvcmUsIGEu
ay5hLiAiLmRlYnVnIiwgc3R5bGUgZGVidWcgaW5mbywgYnV0IHdpdGhvdXQgc291cmNlcyBpbiAv
dXNyL3NyYy9kZWJ1ZwogICAgICAgIGRlYnVnYXBwZW5kID0gIiIKICAgICAgICBkZWJ1Z2RpciA9
ICIvLmRlYnVnIgogICAgICAgIGRlYnVnbGliZGlyID0gIiIKICAgICAgICBkZWJ1Z3NyY2RpciA9
ICIiCiAgICBlbHNlOgogICAgICAgICMgT3JpZ2luYWwgT0UtY29yZSwgYS5rLmEuICIuZGVidWci
LCBzdHlsZSBkZWJ1ZyBpbmZvCiAgICAgICAgZGVidWdhcHBlbmQgPSAiIgogICAgICAgIGRlYnVn
ZGlyID0gIi8uZGVidWciCiAgICAgICAgZGVidWdsaWJkaXIgPSAiIgogICAgICAgIGRlYnVnc3Jj
ZGlyID0gIi91c3Ivc3JjL2RlYnVnIgoKICAgIHNvdXJjZWZpbGUgPSBkLmV4cGFuZCgiJHtXT1JL
RElSfS9kZWJ1Z3NvdXJjZXMubGlzdCIpCiAgICBiYi51dGlscy5yZW1vdmUoc291cmNlZmlsZSkK
CiAgICAjIFJldHVybiB0eXBlIChiaXRzKToKICAgICMgMCAtIG5vdCBlbGYKICAgICMgMSAtIEVM
RgogICAgIyAyIC0gc3RyaXBwZWQKICAgICMgNCAtIGV4ZWN1dGFibGUKICAgICMgOCAtIHNoYXJl
ZCBsaWJyYXJ5CiAgICAjIDE2IC0ga2VybmVsIG1vZHVsZQogICAgZGVmIGlzRUxGKHBhdGgpOgog
ICAgICAgIHR5cGUgPSAwCiAgICAgICAgcmV0LCByZXN1bHQgPSBvZS51dGlscy5nZXRzdGF0dXNv
dXRwdXQoImZpbGUgXCIlc1wiIiAlIHBhdGgucmVwbGFjZSgiXCIiLCAiXFxcIiIpKQoKICAgICAg
ICBpZiByZXQ6CiAgICAgICAgICAgIG1zZyA9ICJzcGxpdF9hbmRfc3RyaXBfZmlsZXM6ICdmaWxl
ICVzJyBmYWlsZWQiICUgcGF0aAogICAgICAgICAgICBwYWNrYWdlX3FhX2hhbmRsZV9lcnJvcigi
c3BsaXQtc3RyaXAiLCBtc2csIGQpCiAgICAgICAgICAgIHJldHVybiB0eXBlCgogICAgICAgICMg
Tm90IHN0cmlwcGVkCiAgICAgICAgaWYgIkVMRiIgaW4gcmVzdWx0OgogICAgICAgICAgICB0eXBl
IHw9IDEKICAgICAgICAgICAgaWYgIm5vdCBzdHJpcHBlZCIgbm90IGluIHJlc3VsdDoKICAgICAg
ICAgICAgICAgIHR5cGUgfD0gMgogICAgICAgICAgICBpZiAiZXhlY3V0YWJsZSIgaW4gcmVzdWx0
OgogICAgICAgICAgICAgICAgdHlwZSB8PSA0CiAgICAgICAgICAgIGlmICJzaGFyZWQiIGluIHJl
c3VsdDoKICAgICAgICAgICAgICAgIHR5cGUgfD0gOAogICAgICAgIHJldHVybiB0eXBlCgoKICAg
ICMKICAgICMgRmlyc3QgbGV0cyBmaWd1cmUgb3V0IGFsbCBvZiB0aGUgZmlsZXMgd2UgbWF5IGhh
dmUgdG8gcHJvY2VzcyAuLi4gZG8gdGhpcyBvbmx5IG9uY2UhCiAgICAjCiAgICBlbGZmaWxlcyA9
IHt9CiAgICBzeW1saW5rcyA9IHt9CiAgICBrZXJubW9kcyA9IFtdCiAgICBpbm9kZXMgPSB7fQog
ICAgbGliZGlyID0gb3MucGF0aC5hYnNwYXRoKGR2YXIgKyBvcy5zZXAgKyBkLmdldFZhcigibGli
ZGlyIikpCiAgICBiYXNlbGliZGlyID0gb3MucGF0aC5hYnNwYXRoKGR2YXIgKyBvcy5zZXAgKyBk
LmdldFZhcigiYmFzZV9saWJkaXIiKSkKICAgIGlmIChkLmdldFZhcignSU5ISUJJVF9QQUNLQUdF
X1NUUklQJykgIT0gJzEnIG9yIFwKICAgICAgICAgICAgZC5nZXRWYXIoJ0lOSElCSVRfUEFDS0FH
RV9ERUJVR19TUExJVCcpICE9ICcxJyk6CiAgICAgICAgZm9yIHJvb3QsIGRpcnMsIGZpbGVzIGlu
IGNwYXRoLndhbGsoZHZhcik6CiAgICAgICAgICAgIGZvciBmIGluIGZpbGVzOgogICAgICAgICAg
ICAgICAgZmlsZSA9IG9zLnBhdGguam9pbihyb290LCBmKQogICAgICAgICAgICAgICAgaWYgZmls
ZS5lbmRzd2l0aCgiLmtvIikgYW5kIGZpbGUuZmluZCgiL2xpYi9tb2R1bGVzLyIpICE9IC0xOgog
ICAgICAgICAgICAgICAgICAgIGtlcm5tb2RzLmFwcGVuZChmaWxlKQogICAgICAgICAgICAgICAg
ICAgIGNvbnRpbnVlCgogICAgICAgICAgICAgICAgIyBTa2lwIGRlYnVnIGZpbGVzCiAgICAgICAg
ICAgICAgICBpZiBkZWJ1Z2FwcGVuZCBhbmQgZmlsZS5lbmRzd2l0aChkZWJ1Z2FwcGVuZCk6CiAg
ICAgICAgICAgICAgICAgICAgY29udGludWUKICAgICAgICAgICAgICAgIGlmIGRlYnVnZGlyIGFu
ZCBkZWJ1Z2RpciBpbiBvcy5wYXRoLmRpcm5hbWUoZmlsZVtsZW4oZHZhcik6XSk6CiAgICAgICAg
ICAgICAgICAgICAgY29udGludWUKCiAgICAgICAgICAgICAgICB0cnk6CiAgICAgICAgICAgICAg
ICAgICAgbHRhcmdldCA9IGNwYXRoLnJlYWxwYXRoKGZpbGUsIGR2YXIsIEZhbHNlKQogICAgICAg
ICAgICAgICAgICAgIHMgPSBjcGF0aC5sc3RhdChsdGFyZ2V0KQogICAgICAgICAgICAgICAgZXhj
ZXB0IE9TRXJyb3IgYXMgZToKICAgICAgICAgICAgICAgICAgICAoZXJyLCBzdHJlcnJvcikgPSBl
LmFyZ3MKICAgICAgICAgICAgICAgICAgICBpZiBlcnIgIT0gZXJybm8uRU5PRU5UOgogICAgICAg
ICAgICAgICAgICAgICAgICByYWlzZQogICAgICAgICAgICAgICAgICAgICMgU2tpcCBicm9rZW4g
c3ltbGlua3MKICAgICAgICAgICAgICAgICAgICBjb250aW51ZQogICAgICAgICAgICAgICAgaWYg
bm90IHM6CiAgICAgICAgICAgICAgICAgICAgY29udGludWUKICAgICAgICAgICAgICAgICMgQ2hl
Y2sgaXRzIGFuIGV4Y3V0YWJsZQogICAgICAgICAgICAgICAgaWYgKHNbc3RhdC5TVF9NT0RFXSAm
IHN0YXQuU19JWFVTUikgb3IgKHNbc3RhdC5TVF9NT0RFXSAmIHN0YXQuU19JWEdSUCkgb3IgKHNb
c3RhdC5TVF9NT0RFXSAmIHN0YXQuU19JWE9USCkgXAogICAgICAgICAgICAgICAgICAgICAgICBv
ciAoKGZpbGUuc3RhcnRzd2l0aChsaWJkaXIpIG9yIGZpbGUuc3RhcnRzd2l0aChiYXNlbGliZGly
KSkgYW5kICgiLnNvIiBpbiBmIG9yICIubm9kZSIgaW4gZikpOgogICAgICAgICAgICAgICAgICAg
ICMgSWYgaXQncyBhIHN5bWxpbmssIGFuZCBwb2ludHMgdG8gYW4gRUxGIGZpbGUsIHdlIGNhcHR1
cmUgdGhlIHJlYWRsaW5rIHRhcmdldAogICAgICAgICAgICAgICAgICAgIGlmIGNwYXRoLmlzbGlu
ayhmaWxlKToKICAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0ID0gb3MucmVhZGxpbmsoZmls
ZSkKICAgICAgICAgICAgICAgICAgICAgICAgaWYgaXNFTEYobHRhcmdldCk6CiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAjYmIubm90ZSgiU3ltOiAlcyAoJWQpIiAlIChsdGFyZ2V0LCBpc0VM
RihsdGFyZ2V0KSkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzeW1saW5rc1tmaWxlXSA9
IHRhcmdldAogICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZQoKICAgICAgICAgICAgICAg
ICAgICAjIEl0J3MgYSBmaWxlIChvciBoYXJkbGluayksIG5vdCBhIGxpbmsKICAgICAgICAgICAg
ICAgICAgICAjIC4uLmJ1dCBpcyBpdCBFTEYsIGFuZCBpcyBpdCBhbHJlYWR5IHN0cmlwcGVkPwog
ICAgICAgICAgICAgICAgICAgIGVsZl9maWxlID0gaXNFTEYoZmlsZSkKICAgICAgICAgICAgICAg
ICAgICBpZiBlbGZfZmlsZSAmIDE6CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIGVsZl9maWxl
ICYgMjoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICdhbHJlYWR5LXN0cmlwcGVkJyBp
biAoZC5nZXRWYXIoJ0lOU0FORV9TS0lQXycgKyBwbikgb3IgIiIpLnNwbGl0KCk6CiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgYmIubm90ZSgiU2tpcHBpbmcgZmlsZSAlcyBmcm9tICVz
IGZvciBhbHJlYWR5LXN0cmlwcGVkIFFBIHRlc3QiICUgKGZpbGVbbGVuKGR2YXIpOl0sIHBuKSkK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgbXNnID0gIkZpbGUgJyVzJyBmcm9tICVzIHdhcyBhbHJlYWR5IHN0cmlwcGVkLCB0
aGlzIHdpbGwgcHJldmVudCBmdXR1cmUgZGVidWdnaW5nISIgJSAoZmlsZVtsZW4oZHZhcik6XSwg
cG4pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFja2FnZV9xYV9oYW5kbGVfZXJy
b3IoImFscmVhZHktc3RyaXBwZWQiLCBtc2csIGQpCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb250aW51ZQoKICAgICAgICAgICAgICAgICAgICAgICAgIyBBdCB0aGlzIHBvaW50IHdlIGhh
dmUgYW4gdW5zdHJpcHBlZCBlbGYgZmlsZS4gV2UgbmVlZCB0bzoKICAgICAgICAgICAgICAgICAg
ICAgICAgIyAgYSkgTWFrZSBzdXJlIGFueSBmaWxlIHdlIHN0cmlwIGlzIG5vdCBoYXJkbGlua2Vk
IHRvIGFueXRoaW5nIGVsc2Ugb3V0c2lkZSB0aGlzIHRyZWUKICAgICAgICAgICAgICAgICAgICAg
ICAgIyAgYikgT25seSBzdHJpcCBhbnkgaGFyZGxpbmtlZCBmaWxlIG9uY2UgKG5vIHJhY2VzKQog
ICAgICAgICAgICAgICAgICAgICAgICAjICBjKSBUcmFjayBhbnkgaGFyZGxpbmtzIGJldHdlZW4g
ZmlsZXMgc28gdGhhdCB3ZSBjYW4gcmVjb25zdHJ1Y3QgbWF0Y2hpbmcgZGVidWcgZmlsZSBoYXJk
bGlua3MKCiAgICAgICAgICAgICAgICAgICAgICAgICMgVXNlIGEgcmVmZXJlbmNlIG9mIGRldmlj
ZSBJRCBhbmQgaW5vZGUgbnVtYmVyIHRvIGluZGVudGlmeSBmaWxlcwogICAgICAgICAgICAgICAg
ICAgICAgICBmaWxlX3JlZmVyZW5jZSA9ICIlZF8lZCIgJSAocy5zdF9kZXYsIHMuc3RfaW5vKQog
ICAgICAgICAgICAgICAgICAgICAgICBpZiBmaWxlX3JlZmVyZW5jZSBpbiBpbm9kZXM6CiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBvcy51bmxpbmsoZmlsZSkKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIG9zLmxpbmsoaW5vZGVzW2ZpbGVfcmVmZXJlbmNlXVswXSwgZmlsZSkKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGlub2Rlc1tmaWxlX3JlZmVyZW5jZV0uYXBwZW5kKGZpbGUp
CiAgICAgICAgICAgICAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbm9kZXNbZmlsZV9yZWZlcmVuY2VdID0gW2ZpbGVdCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAjIGJyZWFrIGhhcmRsaW5rCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYi51dGls
cy5jb3B5ZmlsZShmaWxlLCBmaWxlKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxmZmls
ZXNbZmlsZV0gPSBlbGZfZmlsZQogICAgICAgICAgICAgICAgICAgICAgICAjIE1vZGlmaWVkIHRo
ZSBmaWxlIHNvIGNsZWFyIHRoZSBjYWNoZQogICAgICAgICAgICAgICAgICAgICAgICBjcGF0aC51
cGRhdGVjYWNoZShmaWxlKQoKICAgICMKICAgICMgRmlyc3QgbGV0cyBwcm9jZXNzIGRlYnVnIHNw
bGl0dGluZwogICAgIwogICAgaWYgKGQuZ2V0VmFyKCdJTkhJQklUX1BBQ0tBR0VfREVCVUdfU1BM
SVQnKSAhPSAnMScpOgogICAgICAgIGZvciBmaWxlIGluIGVsZmZpbGVzOgogICAgICAgICAgICBz
cmMgPSBmaWxlW2xlbihkdmFyKTpdCiAgICAgICAgICAgIGRlc3QgPSBkZWJ1Z2xpYmRpciArIG9z
LnBhdGguZGlybmFtZShzcmMpICsgZGVidWdkaXIgKyAiLyIgKyBvcy5wYXRoLmJhc2VuYW1lKHNy
YykgKyBkZWJ1Z2FwcGVuZAogICAgICAgICAgICBmcGF0aCA9IGR2YXIgKyBkZXN0CgogICAgICAg
ICAgICAjIFNwbGl0IHRoZSBmaWxlLi4uCiAgICAgICAgICAgIGJiLnV0aWxzLm1rZGlyaGllcihv
cy5wYXRoLmRpcm5hbWUoZnBhdGgpKQogICAgICAgICAgICAjYmIubm90ZSgiU3BsaXQgJXMgLT4g
JXMiICUgKGZpbGUsIGZwYXRoKSkKICAgICAgICAgICAgIyBPbmx5IHN0b3JlIG9mZiB0aGUgaGFy
ZCBsaW5rIHJlZmVyZW5jZSBpZiB3ZSBzdWNjZXNzZnVsbHkgc3BsaXQhCiAgICAgICAgICAgIHNw
bGl0ZGVidWdpbmZvKGZpbGUsIGZwYXRoLCBkZWJ1Z3NyY2Rpciwgc291cmNlZmlsZSwgZCkKCiAg
ICAgICAgIyBIYXJkbGluayBvdXIgZGVidWcgc3ltYm9scyB0byB0aGUgb3RoZXIgaGFyZGxpbmsg
Y29waWVzCiAgICAgICAgZm9yIHJlZiBpbiBpbm9kZXM6CiAgICAgICAgICAgIGlmIGxlbihpbm9k
ZXNbcmVmXSkgPT0gMToKICAgICAgICAgICAgICAgIGNvbnRpbnVlCiAgICAgICAgICAgIGZvciBm
aWxlIGluIGlub2Rlc1tyZWZdWzE6XToKICAgICAgICAgICAgICAgIHNyYyA9IGZpbGVbbGVuKGR2
YXIpOl0KICAgICAgICAgICAgICAgIGRlc3QgPSBkZWJ1Z2xpYmRpciArIG9zLnBhdGguZGlybmFt
ZShzcmMpICsgZGVidWdkaXIgKyAiLyIgKyBvcy5wYXRoLmJhc2VuYW1lKHNyYykgKyBkZWJ1Z2Fw
cGVuZAogICAgICAgICAgICAgICAgZnBhdGggPSBkdmFyICsgZGVzdAogICAgICAgICAgICAgICAg
dGFyZ2V0ID0gaW5vZGVzW3JlZl1bMF1bbGVuKGR2YXIpOl0KICAgICAgICAgICAgICAgIGZ0YXJn
ZXQgPSBkdmFyICsgZGVidWdsaWJkaXIgKyBvcy5wYXRoLmRpcm5hbWUodGFyZ2V0KSArIGRlYnVn
ZGlyICsgIi8iICsgb3MucGF0aC5iYXNlbmFtZSh0YXJnZXQpICsgZGVidWdhcHBlbmQKICAgICAg
ICAgICAgICAgIGJiLnV0aWxzLm1rZGlyaGllcihvcy5wYXRoLmRpcm5hbWUoZnBhdGgpKQogICAg
ICAgICAgICAgICAgI2JiLm5vdGUoIkxpbmsgJXMgLT4gJXMiICUgKGZwYXRoLCBmdGFyZ2V0KSkK
ICAgICAgICAgICAgICAgIG9zLmxpbmsoZnRhcmdldCwgZnBhdGgpCgogICAgICAgICMgQ3JlYXRl
IHN5bWxpbmtzIGZvciBhbGwgY2FzZXMgd2Ugd2VyZSBhYmxlIHRvIHNwbGl0IHN5bWJvbHMKICAg
ICAgICBmb3IgZmlsZSBpbiBzeW1saW5rczoKICAgICAgICAgICAgc3JjID0gZmlsZVtsZW4oZHZh
cik6XQogICAgICAgICAgICBkZXN0ID0gZGVidWdsaWJkaXIgKyBvcy5wYXRoLmRpcm5hbWUoc3Jj
KSArIGRlYnVnZGlyICsgIi8iICsgb3MucGF0aC5iYXNlbmFtZShzcmMpICsgZGVidWdhcHBlbmQK
ICAgICAgICAgICAgZnBhdGggPSBkdmFyICsgZGVzdAogICAgICAgICAgICAjIFNraXAgaXQgaWYg
dGhlIHRhcmdldCBkb2Vzbid0IGV4aXN0CiAgICAgICAgICAgIHRyeToKICAgICAgICAgICAgICAg
IHMgPSBvcy5zdGF0KGZwYXRoKQogICAgICAgICAgICBleGNlcHQgT1NFcnJvciBhcyBlOgogICAg
ICAgICAgICAgICAgKGVyciwgc3RyZXJyb3IpID0gZS5hcmdzCiAgICAgICAgICAgICAgICBpZiBl
cnIgIT0gZXJybm8uRU5PRU5UOgogICAgICAgICAgICAgICAgICAgIHJhaXNlCiAgICAgICAgICAg
ICAgICBjb250aW51ZQoKICAgICAgICAgICAgbHRhcmdldCA9IHN5bWxpbmtzW2ZpbGVdCiAgICAg
ICAgICAgIGxwYXRoID0gb3MucGF0aC5kaXJuYW1lKGx0YXJnZXQpCiAgICAgICAgICAgIGxiYXNl
ID0gb3MucGF0aC5iYXNlbmFtZShsdGFyZ2V0KQogICAgICAgICAgICBmdGFyZ2V0ID0gIiIKICAg
ICAgICAgICAgaWYgbHBhdGggYW5kIGxwYXRoICE9ICIuIjoKICAgICAgICAgICAgICAgIGZ0YXJn
ZXQgKz0gbHBhdGggKyBkZWJ1Z2RpciArICIvIgogICAgICAgICAgICBmdGFyZ2V0ICs9IGxiYXNl
ICsgZGVidWdhcHBlbmQKICAgICAgICAgICAgaWYgbHBhdGguc3RhcnRzd2l0aCgiLi4iKToKICAg
ICAgICAgICAgICAgIGZ0YXJnZXQgPSBvcy5wYXRoLmpvaW4oIi4uIiwgZnRhcmdldCkKICAgICAg
ICAgICAgYmIudXRpbHMubWtkaXJoaWVyKG9zLnBhdGguZGlybmFtZShmcGF0aCkpCiAgICAgICAg
ICAgICNiYi5ub3RlKCJTeW1saW5rICVzIC0+ICVzIiAlIChmcGF0aCwgZnRhcmdldCkpCiAgICAg
ICAgICAgIG9zLnN5bWxpbmsoZnRhcmdldCwgZnBhdGgpCgogICAgICAgICMgUHJvY2VzcyB0aGUg
ZGVidWdzcmNkaXIgaWYgcmVxdWVzdGVkLi4uCiAgICAgICAgIyBUaGlzIGNvcGllcyBhbmQgcGxh
Y2VzIHRoZSByZWZlcmVuY2VkIHNvdXJjZXMgZm9yIGxhdGVyIGRlYnVnZ2luZy4uLgogICAgICAg
IGNvcHlkZWJ1Z3NvdXJjZXMoZGVidWdzcmNkaXIsIGQpCiAgICAjCiAgICAjIEVuZCBvZiBkZWJ1
ZyBzcGxpdHRpbmcKICAgICMKCiAgICAjCiAgICAjIE5vdyBsZXRzIGdvIGJhY2sgb3ZlciB0aGlu
Z3MgYW5kIHN0cmlwIHRoZW0KICAgICMKICAgIGlmIChkLmdldFZhcignSU5ISUJJVF9QQUNLQUdF
X1NUUklQJykgIT0gJzEnKToKICAgICAgICBzdHJpcCA9IGQuZ2V0VmFyKCJTVFJJUCIpCiAgICAg
ICAgc2ZpbGVzID0gW10KICAgICAgICBmb3IgZmlsZSBpbiBlbGZmaWxlczoKICAgICAgICAgICAg
ZWxmX2ZpbGUgPSBpbnQoZWxmZmlsZXNbZmlsZV0pCiAgICAgICAgICAgICNiYi5ub3RlKCJTdHJp
cCAlcyIgJSBmaWxlKQogICAgICAgICAgICBzZmlsZXMuYXBwZW5kKChmaWxlLCBlbGZfZmlsZSwg
c3RyaXApKQogICAgICAgIGZvciBmIGluIGtlcm5tb2RzOgogICAgICAgICAgICBzZmlsZXMuYXBw
ZW5kKChmLCAxNiwgc3RyaXApKQoKICAgICAgICBvZS51dGlscy5tdWx0aXByb2Nlc3NfZXhlYyhz
ZmlsZXMsIG9lLnBhY2thZ2UucnVuc3RyaXApCgogICAgIwogICAgIyBFbmQgb2Ygc3RyaXAKICAg
ICMKICAgIG9zLmNoZGlyKG9sZGN3ZCkKfQoKCnB5dGhvbiBzcGxpdF9rZXJuZWxfbW9kdWxlX3Bh
Y2thZ2VzICgpIHsKICAgIGltcG9ydCByZQoKICAgIG1vZGluZm9leHAgPSByZS5jb21waWxlKCIo
W149XSspPSguKikiKQoKICAgIGRlZiBleHRyYWN0X21vZGluZm8oZmlsZSk6CiAgICAgICAgaW1w
b3J0IHRlbXBmaWxlLCBzdWJwcm9jZXNzCiAgICAgICAgdGVtcGZpbGUudGVtcGRpciA9IGQuZ2V0
VmFyKCJXT1JLRElSIikKICAgICAgICB0ZiA9IHRlbXBmaWxlLm1rc3RlbXAoKQogICAgICAgIHRt
cGZpbGUgPSB0ZlsxXQogICAgICAgIGNtZCA9ICIlc29iamNvcHkgLWogLm1vZGluZm8gLU8gYmlu
YXJ5ICVzICVzIiAlIChkLmdldFZhcigiSE9TVF9QUkVGSVgiKSBvciAiIiwgZmlsZSwgdG1wZmls
ZSkKICAgICAgICBzdWJwcm9jZXNzLmNhbGwoY21kLCBzaGVsbD1UcnVlKQogICAgICAgIGYgPSBv
cGVuKHRtcGZpbGUpCiAgICAgICAgbCA9IGYucmVhZCgpLnNwbGl0KCJcMDAwIikKICAgICAgICBm
LmNsb3NlKCkKICAgICAgICBvcy5jbG9zZSh0ZlswXSkKICAgICAgICBvcy51bmxpbmsodG1wZmls
ZSkKICAgICAgICB2YWxzID0ge30KICAgICAgICBmb3IgaSBpbiBsOgogICAgICAgICAgICBtID0g
bW9kaW5mb2V4cC5tYXRjaChpKQogICAgICAgICAgICBpZiBub3QgbToKICAgICAgICAgICAgICAg
IGNvbnRpbnVlCiAgICAgICAgICAgIHZhbHNbbS5ncm91cCgxKV0gPSBtLmdyb3VwKDIpCiAgICAg
ICAgcmV0dXJuIHZhbHMKCiAgICBkZWYgZnJvYl9tZXRhZGF0YShmaWxlLCBwa2csIHBhdHRlcm4s
IGZvcm1hdCwgYmFzZW5hbWUpOgogICAgICAgIHZhbHMgPSBleHRyYWN0X21vZGluZm8oZmlsZSkK
CiAgICAgICAgZHZhciA9IGQuZ2V0VmFyKCdQS0dEJykKCiAgICAgICAgIyBJZiBhdXRvbG9hZGlu
ZyBpcyByZXF1ZXN0ZWQsIG91dHB1dCAvZXRjL21vZHVsZXMtbG9hZC5kLzxuYW1lPi5jb25mIGFu
ZCBhcHBlbmQKICAgICAgICAjIGFwcHJvcHJpYXRlIG1vZHByb2JlIGNvbW1hbmRzIHRvIHRoZSBw
b3N0aW5zdAogICAgICAgIGF1dG9sb2FkbGlzdCA9IChkLmdldFZhcigiS0VSTkVMX01PRFVMRV9B
VVRPTE9BRCIpIG9yICIiKS5zcGxpdCgpCiAgICAgICAgYXV0b2xvYWQgPSBkLmdldFZhcignbW9k
dWxlX2F1dG9sb2FkXyVzJyAlIGJhc2VuYW1lKQogICAgICAgIGlmIGF1dG9sb2FkIGFuZCBhdXRv
bG9hZCA9PSBiYXNlbmFtZToKICAgICAgICAgICAgYmIud2FybigibW9kdWxlX2F1dG9sb2FkXyVz
IHdhcyByZXBsYWNlZCBieSBLRVJORUxfTU9EVUxFX0FVVE9MT0FEIGZvciBjYXNlcyB3aGVyZSBi
YXNlbmFtZSA9PSBtb2R1bGUgbmFtZSwgcGxlYXNlIGRyb3AgaXQiICUgYmFzZW5hbWUpCiAgICAg
ICAgaWYgYXV0b2xvYWQgYW5kIGJhc2VuYW1lIG5vdCBpbiBhdXRvbG9hZGxpc3Q6CiAgICAgICAg
ICAgIGJiLndhcm4oIm1vZHVsZV9hdXRvbG9hZF8lcyBpcyBkZWZpbmVkIGJ1dCAnJXMnIGlzbid0
IGluY2x1ZGVkIGluIEtFUk5FTF9NT0RVTEVfQVVUT0xPQUQsIHBsZWFzZSBhZGQgaXQgdGhlcmUi
ICUgKGJhc2VuYW1lLCBiYXNlbmFtZSkpCiAgICAgICAgaWYgYmFzZW5hbWUgaW4gYXV0b2xvYWRs
aXN0OgogICAgICAgICAgICBuYW1lID0gJyVzL2V0Yy9tb2R1bGVzLWxvYWQuZC8lcy5jb25mJyAl
IChkdmFyLCBiYXNlbmFtZSkKICAgICAgICAgICAgZiA9IG9wZW4obmFtZSwgJ3cnKQogICAgICAg
ICAgICBpZiBhdXRvbG9hZDoKICAgICAgICAgICAgICAgIGZvciBtIGluIGF1dG9sb2FkLnNwbGl0
KCk6CiAgICAgICAgICAgICAgICAgICAgZi53cml0ZSgnJXNcbicgJSBtKQogICAgICAgICAgICBl
bHNlOgogICAgICAgICAgICAgICAgZi53cml0ZSgnJXNcbicgJSBiYXNlbmFtZSkKICAgICAgICAg
ICAgZi5jbG9zZSgpCiAgICAgICAgICAgIHBvc3RpbnN0ID0gZC5nZXRWYXIoJ3BrZ19wb3N0aW5z
dF8lcycgJSBwa2cpCiAgICAgICAgICAgIGlmIG5vdCBwb3N0aW5zdDoKICAgICAgICAgICAgICAg
IGJiLmZhdGFsKCJwa2dfcG9zdGluc3RfJXMgbm90IGRlZmluZWQiICUgcGtnKQogICAgICAgICAg
ICBwb3N0aW5zdCArPSBkLmdldFZhcignYXV0b2xvYWRfcG9zdGluc3RfZnJhZ21lbnQnKSAlIChh
dXRvbG9hZCBvciBiYXNlbmFtZSkKICAgICAgICAgICAgZC5zZXRWYXIoJ3BrZ19wb3N0aW5zdF8l
cycgJSBwa2csIHBvc3RpbnN0KQoKICAgICAgICAjIFdyaXRlIG91dCBhbnkgbW9kY29uZiBmcmFn
bWVudAogICAgICAgIG1vZGNvbmZsaXN0ID0gKGQuZ2V0VmFyKCJLRVJORUxfTU9EVUxFX1BST0JF
Q09ORiIpIG9yICIiKS5zcGxpdCgpCiAgICAgICAgbW9kY29uZiA9IGQuZ2V0VmFyKCdtb2R1bGVf
Y29uZl8lcycgJSBiYXNlbmFtZSkKICAgICAgICBpZiBtb2Rjb25mIGFuZCBiYXNlbmFtZSBpbiBt
b2Rjb25mbGlzdDoKICAgICAgICAgICAgbmFtZSA9ICclcy9ldGMvbW9kcHJvYmUuZC8lcy5jb25m
JyAlIChkdmFyLCBiYXNlbmFtZSkKICAgICAgICAgICAgZiA9IG9wZW4obmFtZSwgJ3cnKQogICAg
ICAgICAgICBmLndyaXRlKCIlc1xuIiAlIG1vZGNvbmYpCiAgICAgICAgICAgIGYuY2xvc2UoKQog
ICAgICAgIGVsaWYgbW9kY29uZjoKICAgICAgICAgICAgYmIuZXJyb3IoIlBsZWFzZSBlbnN1cmUg
bW9kdWxlICVzIGlzIGxpc3RlZCBpbiBLRVJORUxfTU9EVUxFX1BST0JFQ09ORiBzaW5jZSBtb2R1
bGVfY29uZl8lcyBpcyBzZXQiICUgKGJhc2VuYW1lLCBiYXNlbmFtZSkpCgogICAgICAgIGZpbGVz
ID0gZC5nZXRWYXIoJ0ZJTEVTXyVzJyAlIHBrZykKICAgICAgICBmaWxlcyA9ICIlcyAvZXRjL21v
ZHVsZXMtbG9hZC5kLyVzLmNvbmYgL2V0Yy9tb2Rwcm9iZS5kLyVzLmNvbmYiICUgKGZpbGVzLCBi
YXNlbmFtZSwgYmFzZW5hbWUpCiAgICAgICAgZC5zZXRWYXIoJ0ZJTEVTXyVzJyAlIHBrZywgZmls
ZXMpCgogICAgICAgIGlmICJkZXNjcmlwdGlvbiIgaW4gdmFsczoKICAgICAgICAgICAgb2xkX2Rl
c2MgPSBkLmdldFZhcignREVTQ1JJUFRJT05fJyArIHBrZykgb3IgIiIKICAgICAgICAgICAgZC5z
ZXRWYXIoJ0RFU0NSSVBUSU9OXycgKyBwa2csIG9sZF9kZXNjICsgIjsgIiArIHZhbHNbImRlc2Ny
aXB0aW9uIl0pCgogICAgICAgIHJkZXBlbmRzID0gYmIudXRpbHMuZXhwbG9kZV9kZXBfdmVyc2lv
bnMyKGQuZ2V0VmFyKCdSREVQRU5EU18nICsgcGtnKSBvciAiIikKICAgICAgICBtb2RpbmZvX2Rl
cHMgPSBbXQogICAgICAgIGlmICJkZXBlbmRzIiBpbiB2YWxzIGFuZCB2YWxzWyJkZXBlbmRzIl0g
IT0gIiI6CiAgICAgICAgICAgIGZvciBkZXAgaW4gdmFsc1siZGVwZW5kcyJdLnNwbGl0KCIsIik6
CiAgICAgICAgICAgICAgICBvbiA9IGxlZ2l0aW1pemVfcGFja2FnZV9uYW1lKGRlcCkKICAgICAg
ICAgICAgICAgIGRlcGVuZGVuY3lfcGtnID0gZm9ybWF0ICUgb24KICAgICAgICAgICAgICAgIG1v
ZGluZm9fZGVwcy5hcHBlbmQoZGVwZW5kZW5jeV9wa2cpCiAgICAgICAgZm9yIGRlcCBpbiBtb2Rp
bmZvX2RlcHM6CiAgICAgICAgICAgIGlmIG5vdCBkZXAgaW4gcmRlcGVuZHM6CiAgICAgICAgICAg
ICAgICByZGVwZW5kc1tkZXBdID0gW10KICAgICAgICBkLnNldFZhcignUkRFUEVORFNfJyArIHBr
ZywgYmIudXRpbHMuam9pbl9kZXBzKHJkZXBlbmRzLCBjb21tYXNlcD1GYWxzZSkpCgogICAgICAg
ICMgQXZvaWQgYXV0b21hdGljIC1kZXYgcmVjb21tZW5kYXRpb25zIGZvciBtb2R1bGVzIGVuZGlu
ZyB3aXRoIC1kZXYuCiAgICAgICAgZC5zZXRWYXJGbGFnKCdSUkVDT01NRU5EU18nICsgcGtnLCAn
bm9kZXBycmVjcycsIDEpCgogICAgICAgICMgUHJvdmlkZSB2aXJ0dWFsIHBhY2thZ2Ugd2l0aG91
dCBwb3N0Zml4CiAgICAgICAgcHJvdmlkZXZpcnQgPSBkLmdldFZhcignS0VSTkVMX01PRFVMRV9Q
Uk9WSURFX1ZJUlRVQUwnKQogICAgICAgIGlmIHByb3ZpZGV2aXJ0ID09ICIxIjoKICAgICAgICAg
ICBwb3N0Zml4ID0gZm9ybWF0LnNwbGl0KCclcycpWzFdCiAgICAgICAgICAgZC5zZXRWYXIoJ1JQ
Uk9WSURFU18nICsgcGtnLCBwa2cucmVwbGFjZShwb3N0Zml4LCAnJykpCgogICAgbW9kdWxlX3Jl
Z2V4ID0gJ14oLiopXC5rP28kJwoKICAgIG1vZHVsZV9wYXR0ZXJuX3ByZWZpeCA9IGQuZ2V0VmFy
KCdLRVJORUxfTU9EVUxFX1BBQ0tBR0VfUFJFRklYJykKICAgIG1vZHVsZV9wYXR0ZXJuX3N1ZmZp
eCA9IGQuZ2V0VmFyKCdLRVJORUxfTU9EVUxFX1BBQ0tBR0VfU1VGRklYJykKICAgIG1vZHVsZV9w
YXR0ZXJuID0gbW9kdWxlX3BhdHRlcm5fcHJlZml4ICsgJ2tlcm5lbC1tb2R1bGUtJXMnICsgbW9k
dWxlX3BhdHRlcm5fc3VmZml4CgogICAgcG9zdGluc3QgPSBkLmdldFZhcigncGtnX3Bvc3RpbnN0
X21vZHVsZXMnKQogICAgcG9zdHJtID0gZC5nZXRWYXIoJ3BrZ19wb3N0cm1fbW9kdWxlcycpCgog
ICAgbW9kdWxlcyA9IGRvX3NwbGl0X3BhY2thZ2VzKGQsIHJvb3Q9JyR7bm9uYXJjaF9iYXNlX2xp
YmRpcn0vbW9kdWxlcycsIGZpbGVfcmVnZXg9bW9kdWxlX3JlZ2V4LCBvdXRwdXRfcGF0dGVybj1t
b2R1bGVfcGF0dGVybiwgZGVzY3JpcHRpb249JyVzIGtlcm5lbCBtb2R1bGUnLCBwb3N0aW5zdD1w
b3N0aW5zdCwgcG9zdHJtPXBvc3RybSwgcmVjdXJzaXZlPVRydWUsIGhvb2s9ZnJvYl9tZXRhZGF0
YSwgZXh0cmFfZGVwZW5kcz0na2VybmVsLSVzJyAlIChkLmdldFZhcigiS0VSTkVMX1ZFUlNJT04i
KSkpCiAgICBpZiBtb2R1bGVzOgogICAgICAgIG1ldGFwa2cgPSBkLmdldFZhcignS0VSTkVMX01P
RFVMRVNfTUVUQV9QQUNLQUdFJykKICAgICAgICBkLmFwcGVuZFZhcignUkRFUEVORFNfJyArIG1l
dGFwa2csICcgJysnICcuam9pbihtb2R1bGVzKSkKCiAgICAjIElmIG1vZHVsZXMtbG9hZC5kIGFu
ZCBtb2Rwcm9iZS5kIGFyZSBlbXB0eSBhdCB0aGlzIHBvaW50LCByZW1vdmUgdGhlbSB0bwogICAg
IyBhdm9pZCB3YXJuaW5ncy4gcmVtb3ZlZGlycyBvbmx5IHJhaXNlcyBhbiBPU0Vycm9yIGlmIGFu
IGVtcHR5CiAgICAjIGRpcmVjdG9yeSBjYW5ub3QgYmUgcmVtb3ZlZC4KICAgIGR2YXIgPSBkLmdl
dFZhcignUEtHRCcpCiAgICBmb3IgZGlyIGluIFsiJXMvZXRjL21vZHByb2JlLmQiICUgKGR2YXIp
LCAiJXMvZXRjL21vZHVsZXMtbG9hZC5kIiAlIChkdmFyKSwgIiVzL2V0YyIgJSAoZHZhcildOgog
ICAgICAgIGlmIGxlbihvcy5saXN0ZGlyKGRpcikpID09IDA6CiAgICAgICAgICAgIG9zLnJtZGly
KGRpcikKfQoKCnB5dGhvbiBzcGxpdGRlYnVnaW5mbyAoKSB7CmRlZiBzcGxpdGRlYnVnaW5mbyhm
aWxlLCBkZWJ1Z2ZpbGUsIGRlYnVnc3JjZGlyLCBzb3VyY2VmaWxlLCBkKToKICAgICMgRnVuY3Rp
b24gdG8gc3BsaXQgYSBzaW5nbGUgZmlsZSBpbnRvIHR3byBjb21wb25lbnRzLCBvbmUgaXMgdGhl
IHN0cmlwcGVkCiAgICAjIHRhcmdldCBzeXN0ZW0gYmluYXJ5LCB0aGUgb3RoZXIgY29udGFpbnMg
YW55IGRlYnVnZ2luZyBpbmZvcm1hdGlvbi4gVGhlCiAgICAjIHR3byBmaWxlcyBhcmUgbGlua2Vk
IHRvIHJlZmVyZW5jZSBlYWNoIG90aGVyLgogICAgIwogICAgIyBzb3VyY2VmaWxlIGlzIGFsc28g
Z2VuZXJhdGVkIGNvbnRhaW5pbmcgYSBsaXN0IG9mIGRlYnVnc291cmNlcwoKICAgIGltcG9ydCBz
dGF0CgogICAgZHZhciA9IGQuZ2V0VmFyKCdQS0dEJykKICAgIG9iamNvcHkgPSBkLmdldFZhcigi
T0JKQ09QWSIpCiAgICBkZWJ1Z2VkaXQgPSBkLmV4cGFuZCgiJHtTVEFHSU5HX0xJQkRJUl9OQVRJ
VkV9L3JwbS9kZWJ1Z2VkaXQiKQoKICAgICMgV2UgaWdub3JlIGtlcm5lbCBtb2R1bGVzLCB3ZSBk
b24ndCBnZW5lcmF0ZSBkZWJ1ZyBpbmZvIGZpbGVzLgogICAgaWYgZmlsZS5maW5kKCIvbGliL21v
ZHVsZXMvIikgIT0gLTEgYW5kIGZpbGUuZW5kc3dpdGgoIi5rbyIpOgogICAgICAgIHJldHVybiAx
CgogICAgbmV3bW9kZSA9IE5vbmUKICAgIGlmIG5vdCBvcy5hY2Nlc3MoZmlsZSwgb3MuV19PSykg
b3Igb3MuYWNjZXNzKGZpbGUsIG9zLlJfT0spOgogICAgICAgIG9yaWdtb2RlID0gb3Muc3RhdChm
aWxlKVtzdGF0LlNUX01PREVdCiAgICAgICAgbmV3bW9kZSA9IG9yaWdtb2RlIHwgc3RhdC5TX0lX
UklURSB8IHN0YXQuU19JUkVBRAogICAgICAgIG9zLmNobW9kKGZpbGUsIG5ld21vZGUpCgogICAg
IyBXZSBuZWVkIHRvIGV4dHJhY3QgdGhlIGRlYnVnIHNyYyBpbmZvcm1hdGlvbiBoZXJlLi4uCiAg
ICBpZiBkZWJ1Z3NyY2RpcjoKICAgICAgICBjbWQgPSAiJyVzJyAtaSAtbCAnJXMnICclcyciICUg
KGRlYnVnZWRpdCwgc291cmNlZmlsZSwgZmlsZSkKICAgICAgICAocmV0dmFsLCBvdXRwdXQpID0g
b2UudXRpbHMuZ2V0c3RhdHVzb3V0cHV0KGNtZCkKICAgICAgICBpZiByZXR2YWw6CiAgICAgICAg
ICAgIGJiLmZhdGFsKCJkZWJ1Z2VkaXQgZmFpbGVkIHdpdGggZXhpdCBjb2RlICVzIChjbWQgd2Fz
ICVzKSVzIiAlIChyZXR2YWwsIGNtZCwgIjpcbiVzIiAlIG91dHB1dCBpZiBvdXRwdXQgZWxzZSAi
IikpCgogICAgYmIudXRpbHMubWtkaXJoaWVyKG9zLnBhdGguZGlybmFtZShkZWJ1Z2ZpbGUpKQoK
ICAgIGNtZCA9ICInJXMnIC0tb25seS1rZWVwLWRlYnVnICclcycgJyVzJyIgJSAob2JqY29weSwg
ZmlsZSwgZGVidWdmaWxlKQogICAgKHJldHZhbCwgb3V0cHV0KSA9IG9lLnV0aWxzLmdldHN0YXR1
c291dHB1dChjbWQpCiAgICBpZiByZXR2YWw6CiAgICAgICAgYmIuZmF0YWwoIm9iamNvcHkgZmFp
bGVkIHdpdGggZXhpdCBjb2RlICVzIChjbWQgd2FzICVzKSVzIiAlIChyZXR2YWwsIGNtZCwgIjpc
biVzIiAlIG91dHB1dCBpZiBvdXRwdXQgZWxzZSAiIikpCgogICAgIyBTZXQgdGhlIGRlYnVnbGlu
ayB0byBoYXZlIHRoZSB2aWV3IG9mIHRoZSBmaWxlIHBhdGggb24gdGhlIHRhcmdldAogICAgY21k
ID0gIiclcycgLS1hZGQtZ251LWRlYnVnbGluaz0nJXMnICclcyciICUgKG9iamNvcHksIGRlYnVn
ZmlsZSwgZmlsZSkKICAgIChyZXR2YWwsIG91dHB1dCkgPSBvZS51dGlscy5nZXRzdGF0dXNvdXRw
dXQoY21kKQogICAgaWYgcmV0dmFsOgogICAgICAgIGJiLmZhdGFsKCJvYmpjb3B5IGZhaWxlZCB3
aXRoIGV4aXQgY29kZSAlcyAoY21kIHdhcyAlcyklcyIgJSAocmV0dmFsLCBjbWQsICI6XG4lcyIg
JSBvdXRwdXQgaWYgb3V0cHV0IGVsc2UgIiIpKQoKICAgIGlmIG5ld21vZGU6CiAgICAgICAgb3Mu
Y2htb2QoZmlsZSwgb3JpZ21vZGUpCgogICAgcmV0dXJuIDAKfQoKCnB5dGhvbiBzcmNfcGF0Y2hl
cyAoKSB7CmRlZiBzcmNfcGF0Y2hlcyhkLCBhbGw9RmFsc2UsIGV4cGFuZD1UcnVlKToKICAgIGlt
cG9ydCBvZS5wYXRjaAogICAgcmV0dXJuIG9lLnBhdGNoLnNyY19wYXRjaGVzKGQsIGFsbCwgZXhw
YW5kKQp9CgoKcHl0aG9uIHNzdGF0ZV9hZGQgKCkgewpkZWYgc3N0YXRlX2FkZChzcywgc291cmNl
LCBkZXN0LCBkKToKICAgIGlmIG5vdCBzb3VyY2UuZW5kc3dpdGgoIi8iKToKICAgICAgICAgc291
cmNlID0gc291cmNlICsgIi8iCiAgICBpZiBub3QgZGVzdC5lbmRzd2l0aCgiLyIpOgogICAgICAg
ICBkZXN0ID0gZGVzdCArICIvIgogICAgc291cmNlID0gb3MucGF0aC5ub3JtcGF0aChzb3VyY2Up
CiAgICBkZXN0ID0gb3MucGF0aC5ub3JtcGF0aChkZXN0KQogICAgc3JjYmFzZSA9IG9zLnBhdGgu
YmFzZW5hbWUoc291cmNlKQogICAgc3NbJ2RpcnMnXS5hcHBlbmQoW3NyY2Jhc2UsIHNvdXJjZSwg
ZGVzdF0pCiAgICByZXR1cm4gc3MKfQoKCnB5dGhvbiBzc3RhdGVfY2hlY2toYXNoZXMgKCkgewpk
ZWYgc3N0YXRlX2NoZWNraGFzaGVzKHNxX2ZuLCBzcV90YXNrLCBzcV9oYXNoLCBzcV9oYXNoZm4s
IGQsIHNpZ2luZm89RmFsc2UpOgoKICAgIHJldCA9IFtdCiAgICBtaXNzZWQgPSBbXQogICAgZXh0
ZW5zaW9uID0gIi50Z3oiCiAgICBpZiBzaWdpbmZvOgogICAgICAgIGV4dGVuc2lvbiA9IGV4dGVu
c2lvbiArICIuc2lnaW5mbyIKCiAgICBkZWYgZ2V0cGF0aGNvbXBvbmVudHModGFzaywgZCk6CiAg
ICAgICAgIyBNYWdpYyBkYXRhIGZyb20gQkJfSEFTSEZJTEVOQU1FCiAgICAgICAgc3BsaXRoYXNo
Zm4gPSBzcV9oYXNoZm5bdGFza10uc3BsaXQoIiAiKQogICAgICAgIHNwZWMgPSBzcGxpdGhhc2hm
blsxXQogICAgICAgIGlmIHNwbGl0aGFzaGZuWzBdID09ICJUcnVlIjoKICAgICAgICAgICAgZXh0
cmFwYXRoID0gZC5nZXRWYXIoIk5BVElWRUxTQlNUUklORyIpICsgIi8iCiAgICAgICAgZWxzZToK
ICAgICAgICAgICAgZXh0cmFwYXRoID0gIiIKCiAgICAgICAgdG5hbWUgPSBzcV90YXNrW3Rhc2td
WzM6XQoKICAgICAgICBpZiB0bmFtZSBpbiBbImZldGNoIiwgInVucGFjayIsICJwYXRjaCIsICJw
b3B1bGF0ZV9saWMiLCAicHJlY29uZmlndXJlIl0gYW5kIHNwbGl0aGFzaGZuWzJdOgogICAgICAg
ICAgICBzcGVjID0gc3BsaXRoYXNoZm5bMl0KICAgICAgICAgICAgZXh0cmFwYXRoID0gIiIKCiAg
ICAgICAgcmV0dXJuIHNwZWMsIGV4dHJhcGF0aCwgdG5hbWUKCgogICAgZm9yIHRhc2sgaW4gcmFu
Z2UobGVuKHNxX2ZuKSk6CgogICAgICAgIHNwZWMsIGV4dHJhcGF0aCwgdG5hbWUgPSBnZXRwYXRo
Y29tcG9uZW50cyh0YXNrLCBkKQoKICAgICAgICBzc3RhdGVmaWxlID0gZC5leHBhbmQoIiR7U1NU
QVRFX0RJUn0vIiArIGV4dHJhcGF0aCArIGdlbmVyYXRlX3NzdGF0ZWZuKHNwZWMsIHNxX2hhc2hb
dGFza10sIGQpICsgIl8iICsgdG5hbWUgKyBleHRlbnNpb24pCgogICAgICAgIGlmIG9zLnBhdGgu
ZXhpc3RzKHNzdGF0ZWZpbGUpOgogICAgICAgICAgICBiYi5kZWJ1ZygyLCAiU1N0YXRlOiBGb3Vu
ZCB2YWxpZCBzc3RhdGUgZmlsZSAlcyIgJSBzc3RhdGVmaWxlKQogICAgICAgICAgICByZXQuYXBw
ZW5kKHRhc2spCiAgICAgICAgICAgIGNvbnRpbnVlCiAgICAgICAgZWxzZToKICAgICAgICAgICAg
bWlzc2VkLmFwcGVuZCh0YXNrKQogICAgICAgICAgICBiYi5kZWJ1ZygyLCAiU1N0YXRlOiBMb29r
ZWQgZm9yIGJ1dCBkaWRuJ3QgZmluZCBmaWxlICVzIiAlIHNzdGF0ZWZpbGUpCgogICAgbWlycm9y
cyA9IGQuZ2V0VmFyKCJTU1RBVEVfTUlSUk9SUyIpCiAgICBpZiBtaXJyb3JzOgogICAgICAgICMg
Q29weSB0aGUgZGF0YSBvYmplY3QgYW5kIG92ZXJyaWRlIERMX0RJUiBhbmQgU1JDX1VSSQogICAg
ICAgIGxvY2FsZGF0YSA9IGJiLmRhdGEuY3JlYXRlQ29weShkKQoKICAgICAgICBkbGRpciA9IGxv
Y2FsZGF0YS5leHBhbmQoIiR7U1NUQVRFX0RJUn0iKQogICAgICAgIGxvY2FsZGF0YS5kZWxWYXIo
J01JUlJPUlMnKQogICAgICAgIGxvY2FsZGF0YS5zZXRWYXIoJ0ZJTEVTUEFUSCcsIGRsZGlyKQog
ICAgICAgIGxvY2FsZGF0YS5zZXRWYXIoJ0RMX0RJUicsIGRsZGlyKQogICAgICAgIGxvY2FsZGF0
YS5zZXRWYXIoJ1BSRU1JUlJPUlMnLCBtaXJyb3JzKQoKICAgICAgICBiYi5kZWJ1ZygyLCAiU1N0
YXRlIHVzaW5nIHByZW1pcnJvciBvZjogJXMiICUgbWlycm9ycykKCiAgICAgICAgIyBpZiBCQl9O
T19ORVRXT1JLIGlzIHNldCBidXQgd2UgYWxzbyBoYXZlIFNTVEFURV9NSVJST1JfQUxMT1dfTkVU
V09SSywKICAgICAgICAjIHdlJ2xsIHdhbnQgdG8gYWxsb3cgbmV0d29yayBhY2Nlc3MgZm9yIHRo
ZSBjdXJyZW50IHNldCBvZiBmZXRjaGVzLgogICAgICAgIGlmIGxvY2FsZGF0YS5nZXRWYXIoJ0JC
X05PX05FVFdPUksnKSA9PSAiMSIgYW5kIGxvY2FsZGF0YS5nZXRWYXIoJ1NTVEFURV9NSVJST1Jf
QUxMT1dfTkVUV09SSycpID09ICIxIjoKICAgICAgICAgICAgbG9jYWxkYXRhLmRlbFZhcignQkJf
Tk9fTkVUV09SSycpCgogICAgICAgIGZyb20gYmIuZmV0Y2gyIGltcG9ydCBGZXRjaENvbm5lY3Rp
b25DYWNoZQogICAgICAgIGRlZiBjaGVja3N0YXR1c19pbml0KHRocmVhZF93b3JrZXIpOgogICAg
ICAgICAgICB0aHJlYWRfd29ya2VyLmNvbm5lY3Rpb25fY2FjaGUgPSBGZXRjaENvbm5lY3Rpb25D
YWNoZSgpCgogICAgICAgIGRlZiBjaGVja3N0YXR1c19lbmQodGhyZWFkX3dvcmtlcik6CiAgICAg
ICAgICAgIHRocmVhZF93b3JrZXIuY29ubmVjdGlvbl9jYWNoZS5jbG9zZV9jb25uZWN0aW9ucygp
CgogICAgICAgIGRlZiBjaGVja3N0YXR1cyh0aHJlYWRfd29ya2VyLCBhcmcpOgogICAgICAgICAg
ICAodGFzaywgc3N0YXRlZmlsZSkgPSBhcmcKCiAgICAgICAgICAgIGxvY2FsZGF0YTIgPSBiYi5k
YXRhLmNyZWF0ZUNvcHkobG9jYWxkYXRhKQogICAgICAgICAgICBzcmN1cmkgPSAiZmlsZTovLyIg
KyBzc3RhdGVmaWxlCiAgICAgICAgICAgIGxvY2FsZGF0YS5zZXRWYXIoJ1NSQ19VUkknLCBzcmN1
cmkpCiAgICAgICAgICAgIGJiLmRlYnVnKDIsICJTU3RhdGU6IEF0dGVtcHRpbmcgdG8gZmV0Y2gg
JXMiICUgc3JjdXJpKQoKICAgICAgICAgICAgdHJ5OgogICAgICAgICAgICAgICAgZmV0Y2hlciA9
IGJiLmZldGNoMi5GZXRjaChzcmN1cmkuc3BsaXQoKSwgbG9jYWxkYXRhMiwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbm5lY3Rpb25fY2FjaGU9dGhyZWFkX3dvcmtlci5jb25uZWN0aW9u
X2NhY2hlKQogICAgICAgICAgICAgICAgZmV0Y2hlci5jaGVja3N0YXR1cygpCiAgICAgICAgICAg
ICAgICBiYi5kZWJ1ZygyLCAiU1N0YXRlOiBTdWNjZXNzZnVsIGZldGNoIHRlc3QgZm9yICVzIiAl
IHNyY3VyaSkKICAgICAgICAgICAgICAgIHJldC5hcHBlbmQodGFzaykKICAgICAgICAgICAgICAg
IGlmIHRhc2sgaW4gbWlzc2VkOgogICAgICAgICAgICAgICAgICAgIG1pc3NlZC5yZW1vdmUodGFz
aykKICAgICAgICAgICAgZXhjZXB0OgogICAgICAgICAgICAgICAgbWlzc2VkLmFwcGVuZCh0YXNr
KQogICAgICAgICAgICAgICAgYmIuZGVidWcoMiwgIlNTdGF0ZTogVW5zdWNjZXNzZnVsIGZldGNo
IHRlc3QgZm9yICVzIiAlIHNyY3VyaSkKICAgICAgICAgICAgICAgIHBhc3MKICAgICAgICAgICAg
YmIuZXZlbnQuZmlyZShiYi5ldmVudC5Qcm9jZXNzUHJvZ3Jlc3MoIkNoZWNraW5nIHNzdGF0ZSBt
aXJyb3Igb2JqZWN0IGF2YWlsYWJpbGl0eSIsIGxlbih0YXNrbGlzdCkgLSB0aHJlYWRfd29ya2Vy
LnRhc2tzLnFzaXplKCkpLCBkKQoKICAgICAgICB0YXNrbGlzdCA9IFtdCiAgICAgICAgZm9yIHRh
c2sgaW4gcmFuZ2UobGVuKHNxX2ZuKSk6CiAgICAgICAgICAgIGlmIHRhc2sgaW4gcmV0OgogICAg
ICAgICAgICAgICAgY29udGludWUKICAgICAgICAgICAgc3BlYywgZXh0cmFwYXRoLCB0bmFtZSA9
IGdldHBhdGhjb21wb25lbnRzKHRhc2ssIGQpCiAgICAgICAgICAgIHNzdGF0ZWZpbGUgPSBkLmV4
cGFuZChleHRyYXBhdGggKyBnZW5lcmF0ZV9zc3RhdGVmbihzcGVjLCBzcV9oYXNoW3Rhc2tdLCBk
KSArICJfIiArIHRuYW1lICsgZXh0ZW5zaW9uKQogICAgICAgICAgICB0YXNrbGlzdC5hcHBlbmQo
KHRhc2ssIHNzdGF0ZWZpbGUpKQoKICAgICAgICBpZiB0YXNrbGlzdDoKICAgICAgICAgICAgYmIu
ZXZlbnQuZmlyZShiYi5ldmVudC5Qcm9jZXNzU3RhcnRlZCgiQ2hlY2tpbmcgc3N0YXRlIG1pcnJv
ciBvYmplY3QgYXZhaWxhYmlsaXR5IiwgbGVuKHRhc2tsaXN0KSksIGQpCgogICAgICAgICAgICBp
bXBvcnQgbXVsdGlwcm9jZXNzaW5nCiAgICAgICAgICAgIG5wcm9jID0gbWluKG11bHRpcHJvY2Vz
c2luZy5jcHVfY291bnQoKSwgbGVuKHRhc2tsaXN0KSkKCiAgICAgICAgICAgIGJiLmV2ZW50LmVu
YWJsZV90aHJlYWRsb2NrKCkKICAgICAgICAgICAgcG9vbCA9IG9lLnV0aWxzLlRocmVhZGVkUG9v
bChucHJvYywgbGVuKHRhc2tsaXN0KSwKICAgICAgICAgICAgICAgICAgICB3b3JrZXJfaW5pdD1j
aGVja3N0YXR1c19pbml0LCB3b3JrZXJfZW5kPWNoZWNrc3RhdHVzX2VuZCkKICAgICAgICAgICAg
Zm9yIHQgaW4gdGFza2xpc3Q6CiAgICAgICAgICAgICAgICBwb29sLmFkZF90YXNrKGNoZWNrc3Rh
dHVzLCB0KQogICAgICAgICAgICBwb29sLnN0YXJ0KCkKICAgICAgICAgICAgcG9vbC53YWl0X2Nv
bXBsZXRpb24oKQogICAgICAgICAgICBiYi5ldmVudC5kaXNhYmxlX3RocmVhZGxvY2soKQoKICAg
ICAgICAgICAgYmIuZXZlbnQuZmlyZShiYi5ldmVudC5Qcm9jZXNzRmluaXNoZWQoIkNoZWNraW5n
IHNzdGF0ZSBtaXJyb3Igb2JqZWN0IGF2YWlsYWJpbGl0eSIpLCBkKQoKICAgIGluaGVyaXRsaXN0
ID0gZC5nZXRWYXIoIklOSEVSSVQiKQogICAgaWYgInRvYXN0ZXIiIGluIGluaGVyaXRsaXN0Ogog
ICAgICAgIGV2ZGF0YSA9IHsnbWlzc2VkJzogW10sICdmb3VuZCc6IFtdfTsKICAgICAgICBmb3Ig
dGFzayBpbiBtaXNzZWQ6CiAgICAgICAgICAgIHNwZWMsIGV4dHJhcGF0aCwgdG5hbWUgPSBnZXRw
YXRoY29tcG9uZW50cyh0YXNrLCBkKQogICAgICAgICAgICBzc3RhdGVmaWxlID0gZC5leHBhbmQo
ZXh0cmFwYXRoICsgZ2VuZXJhdGVfc3N0YXRlZm4oc3BlYywgc3FfaGFzaFt0YXNrXSwgZCkgKyAi
XyIgKyB0bmFtZSArICIudGd6IikKICAgICAgICAgICAgZXZkYXRhWydtaXNzZWQnXS5hcHBlbmQo
IChzcV9mblt0YXNrXSwgc3FfdGFza1t0YXNrXSwgc3FfaGFzaFt0YXNrXSwgc3N0YXRlZmlsZSAp
ICkKICAgICAgICBmb3IgdGFzayBpbiByZXQ6CiAgICAgICAgICAgIHNwZWMsIGV4dHJhcGF0aCwg
dG5hbWUgPSBnZXRwYXRoY29tcG9uZW50cyh0YXNrLCBkKQogICAgICAgICAgICBzc3RhdGVmaWxl
ID0gZC5leHBhbmQoZXh0cmFwYXRoICsgZ2VuZXJhdGVfc3N0YXRlZm4oc3BlYywgc3FfaGFzaFt0
YXNrXSwgZCkgKyAiXyIgKyB0bmFtZSArICIudGd6IikKICAgICAgICAgICAgZXZkYXRhWydmb3Vu
ZCddLmFwcGVuZCggKHNxX2ZuW3Rhc2tdLCBzcV90YXNrW3Rhc2tdLCBzcV9oYXNoW3Rhc2tdLCBz
c3RhdGVmaWxlICkgKQogICAgICAgIGJiLmV2ZW50LmZpcmUoYmIuZXZlbnQuTWV0YWRhdGFFdmVu
dCgiTWlzc2VkU3N0YXRlIiwgZXZkYXRhKSwgZCkKCiAgICBpZiBoYXNhdHRyKGJiLnBhcnNlLnNp
Z2dlbiwgImNoZWNraGFzaGVzIik6CiAgICAgICAgYmIucGFyc2Uuc2lnZ2VuLmNoZWNraGFzaGVz
KG1pc3NlZCwgcmV0LCBzcV9mbiwgc3FfdGFzaywgc3FfaGFzaCwgc3FfaGFzaGZuLCBkKQoKICAg
IHJldHVybiByZXQKfQoKCnB5dGhvbiBzc3RhdGVfY2xlYW4gKCkgewpkZWYgc3N0YXRlX2NsZWFu
KHNzLCBkKToKICAgIGltcG9ydCBvZS5wYXRoCiAgICBpbXBvcnQgZ2xvYgoKICAgIGQyID0gZC5j
cmVhdGVDb3B5KCkKICAgIHN0YW1wX2NsZWFuID0gZC5nZXRWYXIoIlNUQU1QQ0xFQU4iKQogICAg
ZXh0cmFpbmYgPSBkLmdldFZhckZsYWcoImRvXyIgKyBzc1sndGFzayddLCAnc3RhbXAtZXh0cmEt
aW5mbycpCiAgICBpZiBleHRyYWluZjoKICAgICAgICBkMi5zZXRWYXIoIlNTVEFURV9NQU5NQUNI
IiwgZXh0cmFpbmYpCiAgICAgICAgd2lsZGNhcmRfc3RmaWxlID0gIiVzLmRvXyVzKi4lcyIgJSAo
c3RhbXBfY2xlYW4sIHNzWyd0YXNrJ10sIGV4dHJhaW5mKQogICAgZWxzZToKICAgICAgICB3aWxk
Y2FyZF9zdGZpbGUgPSAiJXMuZG9fJXMqIiAlIChzdGFtcF9jbGVhbiwgc3NbJ3Rhc2snXSkKCiAg
ICBtYW5pZmVzdCA9IGQyLmV4cGFuZCgiJHtTU1RBVEVfTUFORklMRVBSRUZJWH0uJXMiICUgc3Nb
J3Rhc2snXSkKCiAgICBpZiBvcy5wYXRoLmV4aXN0cyhtYW5pZmVzdCk6CiAgICAgICAgbG9ja3Mg
PSBbXQogICAgICAgIGZvciBsb2NrIGluIHNzWydsb2NrZmlsZXMtc2hhcmVkJ106CiAgICAgICAg
ICAgIGxvY2tzLmFwcGVuZChiYi51dGlscy5sb2NrZmlsZShsb2NrKSkKICAgICAgICBmb3IgbG9j
ayBpbiBzc1snbG9ja2ZpbGVzJ106CiAgICAgICAgICAgIGxvY2tzLmFwcGVuZChiYi51dGlscy5s
b2NrZmlsZShsb2NrKSkKCiAgICAgICAgc3N0YXRlX2NsZWFuX21hbmlmZXN0KG1hbmlmZXN0LCBk
KQoKICAgICAgICBmb3IgbG9jayBpbiBsb2NrczoKICAgICAgICAgICAgYmIudXRpbHMudW5sb2Nr
ZmlsZShsb2NrKQoKICAgICMgUmVtb3ZlIHRoZSBjdXJyZW50IGFuZCBwcmV2aW91cyBzdGFtcHMs
IGJ1dCBrZWVwIHRoZSBzaWdkYXRhLgogICAgIwogICAgIyBUaGUgZ2xvYigpIG1hdGNoZXMgZG9f
dGFzayogd2hpY2ggbWF5IG1hdGNoIG11bHRpcGxlIHRhc2tzLCBmb3IKICAgICMgZXhhbXBsZTog
ZG9fcGFja2FnZSBhbmQgZG9fcGFja2FnZV93cml0ZV9pcGssIHNvIHdlIG5lZWQgdG8KICAgICMg
ZXhhY3RseSBtYXRjaCAqLmRvX3Rhc2suKiBhbmQgKi5kb190YXNrX3NldHNjZW5lLioKICAgIHJt
X3N0YW1wID0gJy5kb18lcy4nICUgc3NbJ3Rhc2snXQogICAgcm1fc2V0c2NlbmUgPSAnLmRvXyVz
X3NldHNjZW5lLicgJSBzc1sndGFzayddCiAgICAjIEZvciBCQl9TSUdOQVRVUkVfSEFORExFUiA9
ICJub29wIgogICAgcm1fbm9oYXNoID0gIi5kb18lcyIgJSBzc1sndGFzayddCiAgICBmb3Igc3Rm
aWxlIGluIGdsb2IuZ2xvYih3aWxkY2FyZF9zdGZpbGUpOgogICAgICAgICMgS2VlcCB0aGUgc2ln
ZGF0YQogICAgICAgIGlmICIuc2lnZGF0YS4iIGluIHN0ZmlsZSBvciAiLnNpZ2Jhc2VkYXRhLiIg
aW4gc3RmaWxlOgogICAgICAgICAgICBjb250aW51ZQogICAgICAgICMgUHJlc2VydmUgdGFpbnQg
ZmlsZXMgaW4gdGhlIHN0YW1wcyBkaXJlY3RvcnkKICAgICAgICBpZiBzdGZpbGUuZW5kc3dpdGgo
Jy50YWludCcpOgogICAgICAgICAgICBjb250aW51ZQogICAgICAgIGlmIHJtX3N0YW1wIGluIHN0
ZmlsZSBvciBybV9zZXRzY2VuZSBpbiBzdGZpbGUgb3IgXAogICAgICAgICAgICAgICAgc3RmaWxl
LmVuZHN3aXRoKHJtX25vaGFzaCk6CiAgICAgICAgICAgIG9lLnBhdGgucmVtb3ZlKHN0ZmlsZSkK
CiAgICAjIFJlbW92ZXMgdGhlIHVzZXJzL2dyb3VwcyBjcmVhdGVkIGJ5IHRoZSBwYWNrYWdlCiAg
ICBmb3IgY2xlYW5mdW5jIGluIChkLmdldFZhcignU1NUQVRFQ0xFQU5GVU5DUycpIG9yICcnKS5z
cGxpdCgpOgogICAgICAgIGJiLmJ1aWxkLmV4ZWNfZnVuYyhjbGVhbmZ1bmMsIGQpCn0KCgpweXRo
b24gc3N0YXRlX2NsZWFuX2NhY2hlZmlsZSAoKSB7CmRlZiBzc3RhdGVfY2xlYW5fY2FjaGVmaWxl
KHNzLCBkKToKICAgIGltcG9ydCBvZS5wYXRoCgogICAgc3N0YXRlcGtnZmlsZSA9IGQuZ2V0VmFy
KCdTU1RBVEVfUEFUSFNQRUMnKSArICIqXyIgKyBzc1sndGFzayddICsgIi50Z3oqIgogICAgYmIu
bm90ZSgiUmVtb3ZpbmcgJXMiICUgc3N0YXRlcGtnZmlsZSkKICAgIG9lLnBhdGgucmVtb3ZlKHNz
dGF0ZXBrZ2ZpbGUpCn0KCgpweXRob24gc3N0YXRlX2NsZWFuX2NhY2hlZmlsZXMgKCkgewpkZWYg
c3N0YXRlX2NsZWFuX2NhY2hlZmlsZXMoZCk6CiAgICBmb3IgdGFzayBpbiAoZC5nZXRWYXIoJ1NT
VEFURVRBU0tTJykgb3IgIiIpLnNwbGl0KCk6CiAgICAgICAgbGQgPSBkLmNyZWF0ZUNvcHkoKQog
ICAgICAgIHNzID0gc3N0YXRlX3N0YXRlX2Zyb212YXJzKGxkLCB0YXNrKQogICAgICAgIHNzdGF0
ZV9jbGVhbl9jYWNoZWZpbGUoc3MsIGxkKQp9CgoKcHl0aG9uIHNzdGF0ZV9jbGVhbl9tYW5pZmVz
dCAoKSB7CmRlZiBzc3RhdGVfY2xlYW5fbWFuaWZlc3QobWFuaWZlc3QsIGQsIHByZWZpeD1Ob25l
KToKICAgIGltcG9ydCBvZS5wYXRoCgogICAgbWZpbGUgPSBvcGVuKG1hbmlmZXN0KQogICAgZW50
cmllcyA9IG1maWxlLnJlYWRsaW5lcygpCiAgICBtZmlsZS5jbG9zZSgpCgogICAgZm9yIGVudHJ5
IGluIGVudHJpZXM6CiAgICAgICAgZW50cnkgPSBlbnRyeS5zdHJpcCgpCiAgICAgICAgaWYgcHJl
Zml4IGFuZCBub3QgZW50cnkuc3RhcnRzd2l0aCgiLyIpOgogICAgICAgICAgICBlbnRyeSA9IHBy
ZWZpeCArICIvIiArIGVudHJ5CiAgICAgICAgYmIuZGVidWcoMiwgIlJlbW92aW5nIG1hbmlmZXN0
OiAlcyIgJSBlbnRyeSkKICAgICAgICAjIFdlIGNhbiByYWNlIGFnYWluc3QgYW5vdGhlciBwYWNr
YWdlIHBvcHVsYXRpbmcgZGlyZWN0b3JpZXMgYXMgd2UncmUgcmVtb3ZpbmcgdGhlbQogICAgICAg
ICMgc28gd2UgaWdub3JlIGVycm9ycyBoZXJlLgogICAgICAgIHRyeToKICAgICAgICAgICAgaWYg
ZW50cnkuZW5kc3dpdGgoIi8iKToKICAgICAgICAgICAgICAgIGlmIG9zLnBhdGguaXNsaW5rKGVu
dHJ5WzotMV0pOgogICAgICAgICAgICAgICAgICAgIG9zLnJlbW92ZShlbnRyeVs6LTFdKQogICAg
ICAgICAgICAgICAgZWxpZiBvcy5wYXRoLmV4aXN0cyhlbnRyeSkgYW5kIGxlbihvcy5saXN0ZGly
KGVudHJ5KSkgPT0gMDoKICAgICAgICAgICAgICAgICAgICBvcy5ybWRpcihlbnRyeVs6LTFdKQog
ICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgb3MucmVtb3ZlKGVudHJ5KQogICAgICAg
IGV4Y2VwdCBPU0Vycm9yOgogICAgICAgICAgICBwYXNzCgogICAgcG9zdHJtID0gbWFuaWZlc3Qg
KyAiLnBvc3RybSIKICAgIGlmIG9zLnBhdGguZXhpc3RzKG1hbmlmZXN0ICsgIi5wb3N0cm0iKToK
ICAgICAgICBpbXBvcnQgc3VicHJvY2VzcwogICAgICAgIG9zLmNobW9kKHBvc3RybSwgMG83NTUp
CiAgICAgICAgc3VicHJvY2Vzcy5jYWxsKHBvc3RybSwgc2hlbGw9VHJ1ZSkKICAgICAgICBvZS5w
YXRoLnJlbW92ZShwb3N0cm0pCgogICAgb2UucGF0aC5yZW1vdmUobWFuaWZlc3QpCn0KCgpweXRo
b24gc3N0YXRlX2NsZWFuYWxsICgpIHsKICAgIGJiLm5vdGUoIlJlbW92aW5nIHNoYXJlZCBzdGF0
ZSBmb3IgcGFja2FnZSAlcyIgJSBkLmdldFZhcignUE4nKSkKCiAgICBtYW5pZmVzdF9kaXIgPSBk
LmdldFZhcignU1NUQVRFX01BTklGRVNUUycpCiAgICBpZiBub3Qgb3MucGF0aC5leGlzdHMobWFu
aWZlc3RfZGlyKToKICAgICAgICByZXR1cm4KCiAgICB0YXNrcyA9IGQuZ2V0VmFyKCdTU1RBVEVU
QVNLUycpLnNwbGl0KCkKICAgIGZvciBuYW1lIGluIHRhc2tzOgogICAgICAgIGxkID0gZC5jcmVh
dGVDb3B5KCkKICAgICAgICBzaGFyZWRfc3RhdGUgPSBzc3RhdGVfc3RhdGVfZnJvbXZhcnMobGQs
IG5hbWUpCiAgICAgICAgc3N0YXRlX2NsZWFuKHNoYXJlZF9zdGF0ZSwgbGQpCn0KCgpweXRob24g
c3N0YXRlX2V2ZW50aGFuZGxlciAoKSB7CiAgICBkID0gZS5kYXRhCiAgICAjIFdoZW4gd2Ugd3Jp
dGUgYW4gc3N0YXRlIHBhY2thZ2Ugd2UgcmV3cml0ZSB0aGUgU1NUQVRFX1BLRwogICAgc3BrZyA9
IGQuZ2V0VmFyKCdTU1RBVEVfUEtHJykKICAgIGlmIG5vdCBzcGtnLmVuZHN3aXRoKCIudGd6Iik6
CiAgICAgICAgdGFza25hbWUgPSBkLmdldFZhcigiQkJfUlVOVEFTSyIpWzM6XQogICAgICAgIHNw
ZWMgPSBkLmdldFZhcignU1NUQVRFX1BLR1NQRUMnKQogICAgICAgIHN3c3BlYyA9IGQuZ2V0VmFy
KCdTU1RBVEVfU1dTUEVDJykKICAgICAgICBpZiB0YXNrbmFtZSBpbiBbImZldGNoIiwgInVucGFj
ayIsICJwYXRjaCIsICJwb3B1bGF0ZV9saWMiLCAicHJlY29uZmlndXJlIl0gYW5kIHN3c3BlYzoK
ICAgICAgICAgICAgZC5zZXRWYXIoIlNTVEFURV9QS0dTUEVDIiwgIiR7U1NUQVRFX1NXU1BFQ30i
KQogICAgICAgICAgICBkLnNldFZhcigiU1NUQVRFX0VYVFJBUEFUSCIsICIiKQogICAgICAgIHNz
dGF0ZXBrZyA9IGQuZ2V0VmFyKCdTU1RBVEVfUEtHJykKICAgICAgICBiYi5zaWdnZW4uZHVtcF90
aGlzX3Rhc2soc3N0YXRlcGtnICsgJ18nICsgdGFza25hbWUgKyAiLnRneiIgIi5zaWdpbmZvIiwg
ZCkKfQoKCnB5dGhvbiBzc3RhdGVfZXZlbnRoYW5kbGVyMiAoKSB7CiAgICBpbXBvcnQgZ2xvYgog
ICAgZCA9IGUuZGF0YQogICAgc3RhbXBzID0gZS5zdGFtcHMudmFsdWVzKCkKICAgIHJlbW92ZXdv
cmtkaXIgPSAoZC5nZXRWYXIoIlNTVEFURV9QUlVORV9PQlNPTEVURVdPUktESVIiLCBGYWxzZSkg
PT0gIjEiKQogICAgc2VlbiA9IFtdCiAgICBmb3IgYSBpbiBkLmdldFZhcigiU1NUQVRFX0FSQ0hT
Iikuc3BsaXQoKToKICAgICAgICB0b3JlbW92ZSA9IFtdCiAgICAgICAgaSA9IGQuZXhwYW5kKCIk
e1NTVEFURV9NQU5JRkVTVFN9L2luZGV4LSIgKyBhKQogICAgICAgIGlmIG5vdCBvcy5wYXRoLmV4
aXN0cyhpKToKICAgICAgICAgICAgY29udGludWUKICAgICAgICB3aXRoIG9wZW4oaSwgInIiKSBh
cyBmOgogICAgICAgICAgICBsaW5lcyA9IGYucmVhZGxpbmVzKCkKICAgICAgICAgICAgZm9yIGwg
aW4gbGluZXM6CiAgICAgICAgICAgICAgICAoc3RhbXAsIG1hbmlmZXN0LCB3b3JrZGlyKSA9IGwu
c3BsaXQoKQogICAgICAgICAgICAgICAgaWYgc3RhbXAgbm90IGluIHN0YW1wczoKICAgICAgICAg
ICAgICAgICAgICB0b3JlbW92ZS5hcHBlbmQobCkKICAgICAgICAgICAgICAgICAgICBpZiBzdGFt
cCBub3QgaW4gc2VlbjoKICAgICAgICAgICAgICAgICAgICAgICAgYmIuZGVidWcoMiwgIlN0YW1w
ICVzIGlzIG5vdCByZWFjaGFibGUsIHJlbW92aW5nIHJlbGF0ZWQgbWFuaWZlc3RzIiAlIHN0YW1w
KQogICAgICAgICAgICAgICAgICAgICAgICBzZWVuLmFwcGVuZChzdGFtcCkKCiAgICAgICAgaWYg
dG9yZW1vdmU6CiAgICAgICAgICAgIGJiLm5vdGUoIlRoZXJlIGFyZSAlZCByZWNpcGVzIHRvIGJl
IHJlbW92ZWQgZnJvbSBzeXNyb290ICVzLCByZW1vdmluZy4uLiIgJSAobGVuKHRvcmVtb3ZlKSwg
YSkpCgogICAgICAgIGZvciByIGluIHRvcmVtb3ZlOgogICAgICAgICAgICAoc3RhbXAsIG1hbmlm
ZXN0LCB3b3JrZGlyKSA9IHIuc3BsaXQoKQogICAgICAgICAgICBmb3IgbSBpbiBnbG9iLmdsb2Io
bWFuaWZlc3QgKyAiLioiKToKICAgICAgICAgICAgICAgIGlmIG0uZW5kc3dpdGgoIi5wb3N0cm0i
KToKICAgICAgICAgICAgICAgICAgICBjb250aW51ZQogICAgICAgICAgICAgICAgc3N0YXRlX2Ns
ZWFuX21hbmlmZXN0KG0sIGQpCiAgICAgICAgICAgIGJiLnV0aWxzLnJlbW92ZShzdGFtcCArICIq
IikKICAgICAgICAgICAgaWYgcmVtb3Zld29ya2RpcjoKICAgICAgICAgICAgICAgIGJiLnV0aWxz
LnJlbW92ZSh3b3JrZGlyLCByZWN1cnNlID0gVHJ1ZSkKICAgICAgICAgICAgbGluZXMucmVtb3Zl
KHIpCiAgICAgICAgd2l0aCBvcGVuKGksICJ3IikgYXMgZjoKICAgICAgICAgICAgZm9yIGwgaW4g
bGluZXM6CiAgICAgICAgICAgICAgICBmLndyaXRlKGwpCn0KCgpweXRob24gc3N0YXRlX2hhcmRj
b2RlX3BhdGggKCkgewogICAgaW1wb3J0IHN1YnByb2Nlc3MsIHBsYXRmb3JtCgogICAgIyBOZWVk
IHRvIHJlbW92ZSBoYXJkY29kZWQgcGF0aHMgYW5kIGZpeCB0aGVzZSB3aGVuIHdlIGluc3RhbGwg
dGhlCiAgICAjIHN0YWdpbmcgcGFja2FnZXMuCiAgICAjCiAgICAjIE5vdGU6IHRoZSBsb2dpYyBp
biB0aGlzIGZ1bmN0aW9uIG5lZWRzIHRvIG1hdGNoIHRoZSByZXZlcnNlIGxvZ2ljCiAgICAjIGlu
IHNzdGF0ZV9pbnN0YWxscGtnKHNzLCBkKQoKICAgIHN0YWdpbmdfdGFyZ2V0ID0gZC5nZXRWYXIo
J1JFQ0lQRV9TWVNST09UJykKICAgIHN0YWdpbmdfaG9zdCA9IGQuZ2V0VmFyKCdSRUNJUEVfU1lT
Uk9PVF9OQVRJVkUnKQogICAgc3N0YXRlX2J1aWxkZGlyID0gZC5nZXRWYXIoJ1NTVEFURV9CVUlM
RERJUicpCgogICAgaWYgYmIuZGF0YS5pbmhlcml0c19jbGFzcygnbmF0aXZlJywgZCkgb3IgYmIu
ZGF0YS5pbmhlcml0c19jbGFzcygnY3Jvc3MtY2FuYWRpYW4nLCBkKToKICAgICAgICBzc3RhdGVf
Z3JlcF9jbWQgPSAiZ3JlcCAtbCAtZSAnJXMnIiAlIChzdGFnaW5nX2hvc3QpCiAgICAgICAgc3N0
YXRlX3NlZF9jbWQgPSAic2VkIC1pIC1lICdzOiVzOkZJWE1FU1RBR0lOR0RJUkhPU1Q6ZyciICUg
KHN0YWdpbmdfaG9zdCkKICAgIGVsaWYgYmIuZGF0YS5pbmhlcml0c19jbGFzcygnY3Jvc3MnLCBk
KSBvciBiYi5kYXRhLmluaGVyaXRzX2NsYXNzKCdjcm9zc3NkaycsIGQpOgogICAgICAgIHNzdGF0
ZV9ncmVwX2NtZCA9ICJncmVwIC1sIC1lICclcycgLWUgJyVzJyIgJSAoc3RhZ2luZ190YXJnZXQs
IHN0YWdpbmdfaG9zdCkKICAgICAgICBzc3RhdGVfc2VkX2NtZCA9ICJzZWQgLWkgLWUgJ3M6JXM6
RklYTUVTVEFHSU5HRElSVEFSR0VUOmc7IHM6JXM6RklYTUVTVEFHSU5HRElSSE9TVDpnJyIgJSAo
c3RhZ2luZ190YXJnZXQsIHN0YWdpbmdfaG9zdCkKICAgIGVsc2U6CiAgICAgICAgc3N0YXRlX2dy
ZXBfY21kID0gImdyZXAgLWwgLWUgJyVzJyIgJSAoc3RhZ2luZ190YXJnZXQpCiAgICAgICAgc3N0
YXRlX3NlZF9jbWQgPSAic2VkIC1pIC1lICdzOiVzOkZJWE1FU1RBR0lOR0RJUlRBUkdFVDpnJyIg
JSAoc3RhZ2luZ190YXJnZXQpCgogICAgZXh0cmFfc3RhZ2luZ19maXhtZXMgPSBkLmdldFZhcign
RVhUUkFfU1RBR0lOR19GSVhNRVMnKSBvciAnJwogICAgZm9yIGZpeG1ldmFyIGluIGV4dHJhX3N0
YWdpbmdfZml4bWVzLnNwbGl0KCk6CiAgICAgICAgZml4bWVfcGF0aCA9IGQuZ2V0VmFyKGZpeG1l
dmFyKQogICAgICAgIHNzdGF0ZV9zZWRfY21kICs9ICIgLWUgJ3M6JXM6RklYTUVfJXM6ZyciICUg
KGZpeG1lX3BhdGgsIGZpeG1ldmFyKQogICAgICAgIHNzdGF0ZV9ncmVwX2NtZCArPSAiIC1lICcl
cyciICUgKGZpeG1lX3BhdGgpCgogICAgZml4bWVmbiA9ICBzc3RhdGVfYnVpbGRkaXIgKyAiZml4
bWVwYXRoIgoKICAgIHNzdGF0ZV9zY2FuX2NtZCA9IGQuZ2V0VmFyKCdTU1RBVEVfU0NBTl9DTUQn
KQogICAgc3N0YXRlX2ZpbGVsaXN0X2NtZCA9ICJ0ZWUgJXMiICUgKGZpeG1lZm4pCgogICAgIyBm
aXhtZXBhdGggZmlsZSBuZWVkcyByZWxhdGl2ZSBwYXRocywgZHJvcCBzc3RhdGVfYnVpbGRkaXIg
cHJlZml4CiAgICBzc3RhdGVfZmlsZWxpc3RfcmVsYXRpdmVfY21kID0gInNlZCAtaSAtZSAnczpe
JXM6OmcnICVzIiAlIChzc3RhdGVfYnVpbGRkaXIsIGZpeG1lZm4pCgogICAgeGFyZ3Nfbm9fZW1w
dHlfcnVuX2NtZCA9ICctLW5vLXJ1bi1pZi1lbXB0eScKICAgIGlmIHBsYXRmb3JtLnN5c3RlbSgp
ID09ICdEYXJ3aW4nOgogICAgICAgIHhhcmdzX25vX2VtcHR5X3J1bl9jbWQgPSAnJwoKICAgICMg
TGltaXQgdGhlIGZpeHBhdGhzIGFuZCBzZWQgb3BlcmF0aW9ucyBiYXNlZCBvbiB0aGUgaW5pdGlh
bCBncmVwIHNlYXJjaAogICAgIyBUaGlzIGhhcyB0aGUgc2lkZSBlZmZlY3Qgb2YgbWFraW5nIHN1
cmUgdGhlIHZmcyBjYWNoZSBpcyBob3QKICAgIHNzdGF0ZV9oYXJkY29kZV9jbWQgPSAiJXMgfCB4
YXJncyAlcyB8ICVzIHwgeGFyZ3MgJXMgJXMiICUgKHNzdGF0ZV9zY2FuX2NtZCwgc3N0YXRlX2dy
ZXBfY21kLCBzc3RhdGVfZmlsZWxpc3RfY21kLCB4YXJnc19ub19lbXB0eV9ydW5fY21kLCBzc3Rh
dGVfc2VkX2NtZCkKCiAgICBiYi5ub3RlKCJSZW1vdmluZyBoYXJkY29kZWQgcGF0aHMgZnJvbSBz
c3RhdGUgcGFja2FnZTogJyVzJyIgJSAoc3N0YXRlX2hhcmRjb2RlX2NtZCkpCiAgICBzdWJwcm9j
ZXNzLmNoZWNrX291dHB1dChzc3RhdGVfaGFyZGNvZGVfY21kLCBzaGVsbD1UcnVlLCBjd2Q9c3N0
YXRlX2J1aWxkZGlyKQoKICAgICAgICAjIElmIHRoZSBmaXhtZWZuIGlzIGVtcHR5LCByZW1vdmUg
aXQuLgogICAgaWYgb3Muc3RhdChmaXhtZWZuKS5zdF9zaXplID09IDA6CiAgICAgICAgb3MucmVt
b3ZlKGZpeG1lZm4pCiAgICBlbHNlOgogICAgICAgIGJiLm5vdGUoIlJlcGxhY2luZyBhYnNvbHV0
ZSBwYXRocyBpbiBmaXhtZXBhdGggZmlsZTogJyVzJyIgJSAoc3N0YXRlX2ZpbGVsaXN0X3JlbGF0
aXZlX2NtZCkpCiAgICAgICAgc3VicHJvY2Vzcy5jaGVja19vdXRwdXQoc3N0YXRlX2ZpbGVsaXN0
X3JlbGF0aXZlX2NtZCwgc2hlbGw9VHJ1ZSkKfQoKCnB5dGhvbiBzc3RhdGVfaGFyZGNvZGVfcGF0
aF91bnBhY2sgKCkgewogICAgIyBGaXh1cCBoYXJkY29kZWQgcGF0aHMKICAgICMKICAgICMgTm90
ZTogVGhlIGxvZ2ljIGJlbG93IG11c3QgbWF0Y2ggdGhlIHJldmVyc2UgbG9naWMgaW4KICAgICMg
c3N0YXRlX2hhcmRjb2RlX3BhdGgoZCkKICAgIGltcG9ydCBzdWJwcm9jZXNzCgogICAgc3N0YXRl
aW5zdCA9IGQuZ2V0VmFyKCdTU1RBVEVfSU5TVERJUicpCiAgICBzc3RhdGVmaXhtZWRpciA9IGQu
Z2V0VmFyKCdTU1RBVEVfRklYTUVESVInKQogICAgZml4bWVmbiA9IHNzdGF0ZWluc3QgKyAiZml4
bWVwYXRoIgogICAgaWYgb3MucGF0aC5pc2ZpbGUoZml4bWVmbik6CiAgICAgICAgc3RhZ2luZ190
YXJnZXQgPSBkLmdldFZhcignUkVDSVBFX1NZU1JPT1QnKQogICAgICAgIHN0YWdpbmdfaG9zdCA9
IGQuZ2V0VmFyKCdSRUNJUEVfU1lTUk9PVF9OQVRJVkUnKQoKICAgICAgICBpZiBiYi5kYXRhLmlu
aGVyaXRzX2NsYXNzKCduYXRpdmUnLCBkKSBvciBiYi5kYXRhLmluaGVyaXRzX2NsYXNzKCdjcm9z
cy1jYW5hZGlhbicsIGQpOgogICAgICAgICAgICBzc3RhdGVfc2VkX2NtZCA9ICJzZWQgLWkgLWUg
J3M6RklYTUVTVEFHSU5HRElSSE9TVDolczpnJyIgJSAoc3RhZ2luZ19ob3N0KQogICAgICAgIGVs
aWYgYmIuZGF0YS5pbmhlcml0c19jbGFzcygnY3Jvc3MnLCBkKSBvciBiYi5kYXRhLmluaGVyaXRz
X2NsYXNzKCdjcm9zc3NkaycsIGQpOgogICAgICAgICAgICBzc3RhdGVfc2VkX2NtZCA9ICJzZWQg
LWkgLWUgJ3M6RklYTUVTVEFHSU5HRElSVEFSR0VUOiVzOmc7IHM6RklYTUVTVEFHSU5HRElSSE9T
VDolczpnJyIgJSAoc3RhZ2luZ190YXJnZXQsIHN0YWdpbmdfaG9zdCkKICAgICAgICBlbHNlOgog
ICAgICAgICAgICBzc3RhdGVfc2VkX2NtZCA9ICJzZWQgLWkgLWUgJ3M6RklYTUVTVEFHSU5HRElS
VEFSR0VUOiVzOmcnIiAlIChzdGFnaW5nX3RhcmdldCkKCiAgICAgICAgZXh0cmFfc3RhZ2luZ19m
aXhtZXMgPSBkLmdldFZhcignRVhUUkFfU1RBR0lOR19GSVhNRVMnKSBvciAnJwogICAgICAgIGZv
ciBmaXhtZXZhciBpbiBleHRyYV9zdGFnaW5nX2ZpeG1lcy5zcGxpdCgpOgogICAgICAgICAgICBm
aXhtZV9wYXRoID0gZC5nZXRWYXIoZml4bWV2YXIpCiAgICAgICAgICAgIHNzdGF0ZV9zZWRfY21k
ICs9ICIgLWUgJ3M6RklYTUVfJXM6JXM6ZyciICUgKGZpeG1ldmFyLCBmaXhtZV9wYXRoKQoKICAg
ICAgICAjIEFkZCBzc3RhdGVpbnN0IHRvIGVhY2ggZmlsZW5hbWUgaW4gZml4bWVwYXRoLCB1c2Ug
eGFyZ3MgdG8gZWZmaWNpZW50bHkgY2FsbCBzZWQKICAgICAgICBzc3RhdGVfaGFyZGNvZGVfY21k
ID0gInNlZCAtZSAnczpeOiVzOmcnICVzIHwgeGFyZ3MgJXMiICUgKHNzdGF0ZWluc3QsIGZpeG1l
Zm4sIHNzdGF0ZV9zZWRfY21kKQoKICAgICAgICAjIERlZmVyIGRvX3BvcHVsYXRlX3N5c3Jvb3Qg
cmVsb2NhdGlvbiBjb21tYW5kCiAgICAgICAgaWYgc3N0YXRlZml4bWVkaXI6CiAgICAgICAgICAg
IGJiLnV0aWxzLm1rZGlyaGllcihzc3RhdGVmaXhtZWRpcikKICAgICAgICAgICAgd2l0aCBvcGVu
KHNzdGF0ZWZpeG1lZGlyICsgIi9maXhtZXBhdGguY21kIiwgInciKSBhcyBmOgogICAgICAgICAg
ICAgICAgc3N0YXRlX2hhcmRjb2RlX2NtZCA9IHNzdGF0ZV9oYXJkY29kZV9jbWQucmVwbGFjZShm
aXhtZWZuLCBzc3RhdGVmaXhtZWRpciArICIvZml4bWVwYXRoIikKICAgICAgICAgICAgICAgIHNz
dGF0ZV9oYXJkY29kZV9jbWQgPSBzc3RhdGVfaGFyZGNvZGVfY21kLnJlcGxhY2Uoc3N0YXRlaW5z
dCwgIkZJWE1FRklOQUxTU1RBVEVJTlNUIikKICAgICAgICAgICAgICAgIHNzdGF0ZV9oYXJkY29k
ZV9jbWQgPSBzc3RhdGVfaGFyZGNvZGVfY21kLnJlcGxhY2Uoc3RhZ2luZ19ob3N0LCAiRklYTUVG
SU5BTFNTVEFURUhPU1QiKQogICAgICAgICAgICAgICAgc3N0YXRlX2hhcmRjb2RlX2NtZCA9IHNz
dGF0ZV9oYXJkY29kZV9jbWQucmVwbGFjZShzdGFnaW5nX3RhcmdldCwgIkZJWE1FRklOQUxTU1RB
VEVUQVJHRVQiKQogICAgICAgICAgICAgICAgZi53cml0ZShzc3RhdGVfaGFyZGNvZGVfY21kKQog
ICAgICAgICAgICBiYi51dGlscy5jb3B5ZmlsZShmaXhtZWZuLCBzc3RhdGVmaXhtZWRpciArICIv
Zml4bWVwYXRoIikKICAgICAgICAgICAgcmV0dXJuCgogICAgICAgIGJiLm5vdGUoIlJlcGxhY2lu
ZyBmaXhtZSBwYXRocyBpbiBzc3RhdGUgcGFja2FnZTogJXMiICUgKHNzdGF0ZV9oYXJkY29kZV9j
bWQpKQogICAgICAgIHN1YnByb2Nlc3MuY2FsbChzc3RhdGVfaGFyZGNvZGVfY21kLCBzaGVsbD1U
cnVlKQoKICAgICAgICAjIE5lZWQgdG8gcmVtb3ZlIHRoaXMgb3Igd2UnZCBjb3B5IGl0IGludG8g
dGhlIHRhcmdldCBkaXJlY3RvcnkgYW5kIG1heQogICAgICAgICMgY29uZmxpY3Qgd2l0aCBhbm90
aGVyIHdyaXRlcgogICAgICAgIG9zLnJlbW92ZShmaXhtZWZuKQp9CgoKcHl0aG9uIHNzdGF0ZV9p
bml0ICgpIHsKZGVmIHNzdGF0ZV9pbml0KHRhc2ssIGQpOgogICAgc3MgPSB7fQogICAgc3NbJ3Rh
c2snXSA9IHRhc2sKICAgIHNzWydkaXJzJ10gPSBbXQogICAgc3NbJ3BsYWluZGlycyddID0gW10K
ICAgIHNzWydsb2NrZmlsZXMnXSA9IFtdCiAgICBzc1snbG9ja2ZpbGVzLXNoYXJlZCddID0gW10K
ICAgIHJldHVybiBzcwp9CgoKcHl0aG9uIHNzdGF0ZV9pbnN0YWxsICgpIHsKZGVmIHNzdGF0ZV9p
bnN0YWxsKHNzLCBkKToKICAgIGltcG9ydCBvZS5wYXRoCiAgICBpbXBvcnQgb2Uuc3N0YXRlc2ln
CiAgICBpbXBvcnQgc3VicHJvY2VzcwoKICAgIHNoYXJlZGZpbGVzID0gW10KICAgIHNoYXJlZGRp
cnMgPSBbXQogICAgYmIudXRpbHMubWtkaXJoaWVyKGQuZXhwYW5kKCIke1NTVEFURV9NQU5JRkVT
VFN9IikpCgogICAgc3N0YXRlaW5zdCA9IGQuZXhwYW5kKCIke1dPUktESVJ9L3NzdGF0ZS1pbnN0
YWxsLSVzLyIgJSBzc1sndGFzayddKQoKICAgIG1hbmlmZXN0LCBkMiA9IG9lLnNzdGF0ZXNpZy5z
c3RhdGVfZ2V0X21hbmlmZXN0X2ZpbGVuYW1lKHNzWyd0YXNrJ10sIGQpCgogICAgaWYgb3MuYWNj
ZXNzKG1hbmlmZXN0LCBvcy5SX09LKToKICAgICAgICBiYi5mYXRhbCgiUGFja2FnZSBhbHJlYWR5
IHN0YWdlZCAoJXMpPyEiICUgbWFuaWZlc3QpCgogICAgZC5zZXRWYXIoIlNTVEFURV9JTlNUX1BP
U1RSTSIsIG1hbmlmZXN0ICsgIi5wb3N0cm0iKQoKICAgIGxvY2tzID0gW10KICAgIGZvciBsb2Nr
IGluIHNzWydsb2NrZmlsZXMtc2hhcmVkJ106CiAgICAgICAgbG9ja3MuYXBwZW5kKGJiLnV0aWxz
LmxvY2tmaWxlKGxvY2ssIFRydWUpKQogICAgZm9yIGxvY2sgaW4gc3NbJ2xvY2tmaWxlcyddOgog
ICAgICAgIGxvY2tzLmFwcGVuZChiYi51dGlscy5sb2NrZmlsZShsb2NrKSkKCiAgICBmb3Igc3Rh
dGUgaW4gc3NbJ2RpcnMnXToKICAgICAgICBiYi5kZWJ1ZygyLCAiU3RhZ2luZyBmaWxlcyBmcm9t
ICVzIHRvICVzIiAlIChzdGF0ZVsxXSwgc3RhdGVbMl0pKQogICAgICAgIGZvciB3YWxrcm9vdCwg
ZGlycywgZmlsZXMgaW4gb3Mud2FsayhzdGF0ZVsxXSk6CiAgICAgICAgICAgIGZvciBmaWxlIGlu
IGZpbGVzOgogICAgICAgICAgICAgICAgc3JjcGF0aCA9IG9zLnBhdGguam9pbih3YWxrcm9vdCwg
ZmlsZSkKICAgICAgICAgICAgICAgIGRzdHBhdGggPSBzcmNwYXRoLnJlcGxhY2Uoc3RhdGVbMV0s
IHN0YXRlWzJdKQogICAgICAgICAgICAgICAgI2JiLmRlYnVnKDIsICJTdGFnaW5nICVzIHRvICVz
IiAlIChzcmNwYXRoLCBkc3RwYXRoKSkKICAgICAgICAgICAgICAgIHNoYXJlZGZpbGVzLmFwcGVu
ZChkc3RwYXRoKQogICAgICAgICAgICBmb3IgZGlyIGluIGRpcnM6CiAgICAgICAgICAgICAgICBz
cmNkaXIgPSBvcy5wYXRoLmpvaW4od2Fsa3Jvb3QsIGRpcikKICAgICAgICAgICAgICAgIGRzdGRp
ciA9IHNyY2Rpci5yZXBsYWNlKHN0YXRlWzFdLCBzdGF0ZVsyXSkKICAgICAgICAgICAgICAgICNi
Yi5kZWJ1ZygyLCAiU3RhZ2luZyAlcyB0byAlcyIgJSAoc3JjZGlyLCBkc3RkaXIpKQogICAgICAg
ICAgICAgICAgaWYgb3MucGF0aC5pc2xpbmsoc3JjZGlyKToKICAgICAgICAgICAgICAgICAgICBz
aGFyZWRmaWxlcy5hcHBlbmQoZHN0ZGlyKQogICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCiAg
ICAgICAgICAgICAgICBpZiBub3QgZHN0ZGlyLmVuZHN3aXRoKCIvIik6CiAgICAgICAgICAgICAg
ICAgICAgZHN0ZGlyID0gZHN0ZGlyICsgIi8iCiAgICAgICAgICAgICAgICBzaGFyZWRkaXJzLmFw
cGVuZChkc3RkaXIpCgogICAgIyBDaGVjayB0aGUgZmlsZSBsaXN0IGZvciBjb25mbGljdHMgYWdh
aW5zdCBmaWxlcyB3aGljaCBhbHJlYWR5IGV4aXN0CiAgICB3aGl0ZWxpc3QgPSAoZC5nZXRWYXIo
IlNTVEFURV9EVVBXSElURUxJU1QiKSBvciAiIikuc3BsaXQoKQogICAgbWF0Y2ggPSBbXQogICAg
Zm9yIGYgaW4gc2hhcmVkZmlsZXM6CiAgICAgICAgaWYgb3MucGF0aC5leGlzdHMoZikgYW5kIG5v
dCBvcy5wYXRoLmlzbGluayhmKToKICAgICAgICAgICAgZiA9IG9zLnBhdGgubm9ybXBhdGgoZikK
ICAgICAgICAgICAgcmVhbG1hdGNoID0gVHJ1ZQogICAgICAgICAgICBmb3IgdyBpbiB3aGl0ZWxp
c3Q6CiAgICAgICAgICAgICAgICB3ID0gb3MucGF0aC5ub3JtcGF0aCh3KQogICAgICAgICAgICAg
ICAgaWYgZi5zdGFydHN3aXRoKHcpOgogICAgICAgICAgICAgICAgICAgIHJlYWxtYXRjaCA9IEZh
bHNlCiAgICAgICAgICAgICAgICAgICAgYnJlYWsKICAgICAgICAgICAgaWYgcmVhbG1hdGNoOgog
ICAgICAgICAgICAgICAgbWF0Y2guYXBwZW5kKGYpCiAgICAgICAgICAgICAgICBzc3RhdGVfc2Vh
cmNoX2NtZCA9ICJncmVwIC1ybEYgJyVzJyAlcyAtLWV4Y2x1ZGU9bWFzdGVyLmxpc3QgfCBzZWQg
LWUgJ3M6Xi4qLzo6JyIgJSAoZiwgZC5leHBhbmQoIiR7U1NUQVRFX01BTklGRVNUU30iKSkKICAg
ICAgICAgICAgICAgIHNlYXJjaF9vdXRwdXQgPSBzdWJwcm9jZXNzLlBvcGVuKHNzdGF0ZV9zZWFy
Y2hfY21kLCBzaGVsbD1UcnVlLCBzdGRvdXQ9c3VicHJvY2Vzcy5QSVBFKS5jb21tdW5pY2F0ZSgp
WzBdCiAgICAgICAgICAgICAgICBpZiBzZWFyY2hfb3V0cHV0OgogICAgICAgICAgICAgICAgICAg
IG1hdGNoLmFwcGVuZCgiICAobWF0Y2hlZCBpbiAlcykiICUgc2VhcmNoX291dHB1dC5kZWNvZGUo
J3V0Zi04JykucnN0cmlwKCkpCiAgICAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAg
ICAgIG1hdGNoLmFwcGVuZCgiICAobm90IG1hdGNoZWQgdG8gYW55IHRhc2spIikKICAgIGlmIG1h
dGNoOgogICAgICAgIGJiLmVycm9yKCJUaGUgcmVjaXBlICVzIGlzIHRyeWluZyB0byBpbnN0YWxs
IGZpbGVzIGludG8gYSBzaGFyZWQgIiBcCiAgICAgICAgICAiYXJlYSB3aGVuIHRob3NlIGZpbGVz
IGFscmVhZHkgZXhpc3QuIFRob3NlIGZpbGVzIGFuZCB0aGVpciBtYW5pZmVzdCAiIFwKICAgICAg
ICAgICJsb2NhdGlvbiBhcmU6XG4gICVzXG5QbGVhc2UgdmVyaWZ5IHdoaWNoIHJlY2lwZSBzaG91
bGQgcHJvdmlkZSB0aGUgIiBcCiAgICAgICAgICAiYWJvdmUgZmlsZXMuXG5cblRoZSBidWlsZCBo
YXMgc3RvcHBlZCwgYXMgY29udGludWluZyBpbiB0aGlzIHNjZW5hcmlvIFdJTEwgIiBcCiAgICAg
ICAgICAiYnJlYWsgdGhpbmdzIC0gaWYgbm90IG5vdywgcG9zc2libHkgaW4gdGhlIGZ1dHVyZSAo
d2UndmUgc2VlbiBidWlsZHMgZmFpbCAiIFwKICAgICAgICAgICJzZXZlcmFsIG1vbnRocyBsYXRl
cikuIElmIHRoZSBzeXN0ZW0ga25ldyBob3cgdG8gcmVjb3ZlciBmcm9tIHRoaXMgIiBcCiAgICAg
ICAgICAiYXV0b21hdGljYWxseSBpdCB3b3VsZCwgaG93ZXZlciB0aGVyZSBhcmUgc2V2ZXJhbCBk
aWZmZXJlbnQgc2NlbmFyaW9zICIgXAogICAgICAgICAgIndoaWNoIGNhbiByZXN1bHQgaW4gdGhp
cyBhbmQgd2UgZG9uJ3Qga25vdyB3aGljaCBvbmUgdGhpcyBpcy4gSXQgbWF5IGJlICIgXAogICAg
ICAgICAgInlvdSBoYXZlIHN3aXRjaGVkIHByb3ZpZGVycyBvZiBzb21ldGhpbmcgbGlrZSB2aXJ0
dWFsL2tlcm5lbCAoZS5nLiBmcm9tICIgXAogICAgICAgICAgImxpbnV4LXlvY3RvIHRvIGxpbnV4
LXlvY3RvLWRldiksIGluIHRoYXQgY2FzZSB5b3UgbmVlZCB0byBleGVjdXRlIHRoZSAiIFwKICAg
ICAgICAgICJjbGVhbiB0YXNrIGZvciBib3RoIHJlY2lwZXMgYW5kIGl0IHdpbGwgcmVzb2x2ZSB0
aGlzIGVycm9yLiBJdCBtYXkgYmUgIiBcCiAgICAgICAgICAieW91IGNoYW5nZWQgRElTVFJPX0ZF
QVRVUkVTIGZyb20gc3lzdGVtZCB0byB1ZGV2IG9yIHZpY2UgdmVyc2EuIENsZWFuaW5nICIgXAog
ICAgICAgICAgInRob3NlIHJlY2lwZXMgc2hvdWxkIGFnYWluIHJlc29sdmUgdGhpcyBlcnJvciwg
aG93ZXZlciBzd2l0Y2hpbmcgIiBcCiAgICAgICAgICAiRElTVFJPX0ZFQVRVUkVTIG9uIGFuIGV4
aXN0aW5nIGJ1aWxkIGRpcmVjdG9yeSBpcyBub3Qgc3VwcG9ydGVkIC0geW91ICIgXAogICAgICAg
ICAgInNob3VsZCByZWFsbHkgY2xlYW4gb3V0IHRtcCBhbmQgcmVidWlsZCAocmV1c2luZyBzc3Rh
dGUgc2hvdWxkIGJlIHNhZmUpLiAiIFwKICAgICAgICAgICJJdCBjb3VsZCBiZSB0aGUgb3Zlcmxh
cHBpbmcgZmlsZXMgZGV0ZWN0ZWQgYXJlIGhhcm1sZXNzIGluIHdoaWNoIGNhc2UgIiBcCiAgICAg
ICAgICAiYWRkaW5nIHRoZW0gdG8gU1NUQVRFX0RVUFdISVRFTElTVCBtYXkgYmUgdGhlIGNvcnJl
Y3Qgc29sdXRpb24uIEl0IGNvdWxkICIgXAogICAgICAgICAgImFsc28gYmUgeW91ciBidWlsZCBp
cyBpbmNsdWRpbmcgdHdvIGRpZmZlcmVudCBjb25mbGljdGluZyB2ZXJzaW9ucyBvZiAiIFwKICAg
ICAgICAgICJ0aGluZ3MgKGUuZy4gYmx1ZXogNCBhbmQgYmx1ZXogNSBhbmQgdGhlIGNvcnJlY3Qg
c29sdXRpb24gZm9yIHRoYXQgd291bGQgIiBcCiAgICAgICAgICAiYmUgdG8gcmVzb2x2ZSB0aGUg
Y29uZmxpY3QuIElmIGluIGRvdWJ0LCBwbGVhc2UgYXNrIG9uIHRoZSBtYWlsaW5nIGxpc3QsICIg
XAogICAgICAgICAgInNoYXJpbmcgdGhlIGVycm9yIGFuZCBmaWxlbGlzdCBhYm92ZS4iICUgXAog
ICAgICAgICAgKGQuZ2V0VmFyKCdQTicpLCAiXG4gICIuam9pbihtYXRjaCkpKQogICAgICAgIGJi
LmZhdGFsKCJJZiB0aGUgYWJvdmUgbWVzc2FnZSBpcyB0b28gbXVjaCwgdGhlIHNpbXBsZXIgdmVy
c2lvbiBpcyB5b3UncmUgYWR2aXNlZCB0byB3aXBlIG91dCB0bXAgYW5kIHJlYnVpbGQgKHJldXNp
bmcgc3N0YXRlIGlzIGZpbmUpLiBUaGF0IHdpbGwgbGlrZWx5IGZpeCB0aGluZ3MgaW4gbW9zdCAo
YnV0IG5vdCBhbGwpIGNhc2VzLiIpCgogICAgaWYgc3NbJ2ZpeG1lZGlyJ10gYW5kIG9zLnBhdGgu
ZXhpc3RzKHNzWydmaXhtZWRpciddICsgIi9maXhtZXBhdGguY21kIik6CiAgICAgICAgc2hhcmVk
ZmlsZXMuYXBwZW5kKHNzWydmaXhtZWRpciddICsgIi9maXhtZXBhdGguY21kIikKICAgICAgICBz
aGFyZWRmaWxlcy5hcHBlbmQoc3NbJ2ZpeG1lZGlyJ10gKyAiL2ZpeG1lcGF0aCIpCgogICAgIyBX
cml0ZSBvdXQgdGhlIG1hbmlmZXN0CiAgICBmID0gb3BlbihtYW5pZmVzdCwgInciKQogICAgZm9y
IGZpbGUgaW4gc2hhcmVkZmlsZXM6CiAgICAgICAgZi53cml0ZShmaWxlICsgIlxuIikKCiAgICAj
IFdlIHdhbnQgdG8gZW5zdXJlIHRoYXQgZGlyZWN0b3JpZXMgYXBwZWFyIGF0IHRoZSBlbmQgb2Yg
dGhlIG1hbmlmZXN0CiAgICAjIHNvIHRoYXQgd2hlbiB3ZSB0ZXN0IHRvIHNlZSBpZiB0aGV5IHNo
b3VsZCBiZSBkZWxldGVkIGFueSBjb250ZW50cwogICAgIyBhZGRlZCBieSB0aGUgdGFzayB3aWxs
IGhhdmUgYmVlbiByZW1vdmVkIGZpcnN0LgogICAgZGlycyA9IHNvcnRlZChzaGFyZWRkaXJzLCBr
ZXk9bGVuKQogICAgIyBNdXN0IHJlbW92ZSBjaGlsZHJlbiBmaXJzdCwgd2hpY2ggd2lsbCBoYXZl
IGEgbG9uZ2VyIHBhdGggdGhhbiB0aGUgcGFyZW50CiAgICBmb3IgZGkgaW4gcmV2ZXJzZWQoZGly
cyk6CiAgICAgICAgZi53cml0ZShkaSArICJcbiIpCiAgICBmLmNsb3NlKCkKCiAgICAjIEFwcGVu
ZCB0byB0aGUgbGlzdCBvZiBtYW5pZmVzdHMgZm9yIHRoaXMgUEFDS0FHRV9BUkNICgogICAgaSA9
IGQyLmV4cGFuZCgiJHtTU1RBVEVfTUFOSUZFU1RTfS9pbmRleC0ke1NTVEFURV9NQU5NQUNIfSIp
CiAgICBsID0gYmIudXRpbHMubG9ja2ZpbGUoaSArICIubG9jayIpCiAgICBmaWxlZGF0YSA9IGQu
Z2V0VmFyKCJTVEFNUCIpICsgIiAiICsgZDIuZ2V0VmFyKCJTU1RBVEVfTUFORklMRVBSRUZJWCIp
ICsgIiAiICsgZC5nZXRWYXIoIldPUktESVIiKSArICJcbiIKICAgIG1hbmlmZXN0cyA9IFtdCiAg
ICBpZiBvcy5wYXRoLmV4aXN0cyhpKToKICAgICAgICB3aXRoIG9wZW4oaSwgInIiKSBhcyBmOgog
ICAgICAgICAgICBtYW5pZmVzdHMgPSBmLnJlYWRsaW5lcygpCiAgICBpZiBmaWxlZGF0YSBub3Qg
aW4gbWFuaWZlc3RzOgogICAgICAgIHdpdGggb3BlbihpLCAiYSsiKSBhcyBmOgogICAgICAgICAg
ICBmLndyaXRlKGZpbGVkYXRhKQogICAgYmIudXRpbHMudW5sb2NrZmlsZShsKQoKICAgICMgUnVu
IHRoZSBhY3R1YWwgZmlsZSBpbnN0YWxsCiAgICBmb3Igc3RhdGUgaW4gc3NbJ2RpcnMnXToKICAg
ICAgICBpZiBvcy5wYXRoLmV4aXN0cyhzdGF0ZVsxXSk6CiAgICAgICAgICAgIG9lLnBhdGguY29w
eWhhcmRsaW5rdHJlZShzdGF0ZVsxXSwgc3RhdGVbMl0pCgogICAgZm9yIHBvc3RpbnN0IGluIChk
LmdldFZhcignU1NUQVRFUE9TVElOU1RGVU5DUycpIG9yICcnKS5zcGxpdCgpOgogICAgICAgICMg
QWxsIGhvb2tzIHNob3VsZCBydW4gaW4gdGhlIFNTVEFURV9JTlNURElSCiAgICAgICAgYmIuYnVp
bGQuZXhlY19mdW5jKHBvc3RpbnN0LCBkLCAoc3N0YXRlaW5zdCwpKQoKICAgIGZvciBsb2NrIGlu
IGxvY2tzOgogICAgICAgIGJiLnV0aWxzLnVubG9ja2ZpbGUobG9jaykKfQoKCnB5dGhvbiBzc3Rh
dGVfaW5zdGFsbHBrZyAoKSB7CmRlZiBzc3RhdGVfaW5zdGFsbHBrZyhzcywgZCk6CiAgICBmcm9t
IG9lLmdwZ19zaWduIGltcG9ydCBnZXRfc2lnbmVyCgogICAgc3N0YXRlaW5zdCA9IGQuZXhwYW5k
KCIke1dPUktESVJ9L3NzdGF0ZS1pbnN0YWxsLSVzLyIgJSBzc1sndGFzayddKQogICAgc3N0YXRl
ZmV0Y2ggPSBkLmdldFZhcignU1NUQVRFX1BLR05BTUUnKSArICdfJyArIHNzWyd0YXNrJ10gKyAi
LnRneiIKICAgIHNzdGF0ZXBrZyA9IGQuZ2V0VmFyKCdTU1RBVEVfUEtHJykgKyAnXycgKyBzc1sn
dGFzayddICsgIi50Z3oiCgogICAgaWYgbm90IG9zLnBhdGguZXhpc3RzKHNzdGF0ZXBrZyk6CiAg
ICAgICAgcHN0YWdpbmdfZmV0Y2goc3N0YXRlZmV0Y2gsIHNzdGF0ZXBrZywgZCkKCiAgICBpZiBu
b3Qgb3MucGF0aC5pc2ZpbGUoc3N0YXRlcGtnKToKICAgICAgICBiYi5ub3RlKCJTdGFnaW5nIHBh
Y2thZ2UgJXMgZG9lcyBub3QgZXhpc3QiICUgc3N0YXRlcGtnKQogICAgICAgIHJldHVybiBGYWxz
ZQoKICAgIHNzdGF0ZV9jbGVhbihzcywgZCkKCiAgICBkLnNldFZhcignU1NUQVRFX0lOU1RESVIn
LCBzc3RhdGVpbnN0KQogICAgZC5zZXRWYXIoJ1NTVEFURV9QS0cnLCBzc3RhdGVwa2cpCgogICAg
aWYgYmIudXRpbHMudG9fYm9vbGVhbihkLmdldFZhcigiU1NUQVRFX1ZFUklGWV9TSUciKSwgRmFs
c2UpOgogICAgICAgIHNpZ25lciA9IGdldF9zaWduZXIoZCwgJ2xvY2FsJykKICAgICAgICBpZiBu
b3Qgc2lnbmVyLnZlcmlmeShzc3RhdGVwa2cgKyAnLnNpZycpOgogICAgICAgICAgICBiYi53YXJu
KCJDYW5ub3QgdmVyaWZ5IHNpZ25hdHVyZSBvbiBzc3RhdGUgcGFja2FnZSAlcyIgJSBzc3RhdGVw
a2cpCgogICAgIyBFbXB0eSBzc3RhdGVpbnN0IGRpcmVjdG9yeSwgZW5zdXJlIGl0cyBjbGVhbgog
ICAgaWYgb3MucGF0aC5leGlzdHMoc3N0YXRlaW5zdCk6CiAgICAgICAgb2UucGF0aC5yZW1vdmUo
c3N0YXRlaW5zdCkKICAgIGJiLnV0aWxzLm1rZGlyaGllcihzc3RhdGVpbnN0KQoKICAgIHNzdGF0
ZWluc3QgPSBkLmdldFZhcigiU1NUQVRFX0lOU1RESVIiKQogICAgZC5zZXRWYXIoJ1NTVEFURV9G
SVhNRURJUicsIHNzWydmaXhtZWRpciddKQoKICAgIGZvciBmIGluIChkLmdldFZhcignU1NUQVRF
UFJFSU5TVEZVTkNTJykgb3IgJycpLnNwbGl0KCkgKyBbJ3NzdGF0ZV91bnBhY2tfcGFja2FnZSdd
OgogICAgICAgICMgQWxsIGhvb2tzIHNob3VsZCBydW4gaW4gdGhlIFNTVEFURV9JTlNURElSCiAg
ICAgICAgYmIuYnVpbGQuZXhlY19mdW5jKGYsIGQsIChzc3RhdGVpbnN0LCkpCgogICAgcmV0dXJu
IHNzdGF0ZV9pbnN0YWxscGtnZGlyKHNzLCBkKQp9CgoKcHl0aG9uIHNzdGF0ZV9pbnN0YWxscGtn
ZGlyICgpIHsKZGVmIHNzdGF0ZV9pbnN0YWxscGtnZGlyKHNzLCBkKToKICAgIGltcG9ydCBvZS5w
YXRoCiAgICBpbXBvcnQgc3VicHJvY2VzcwoKICAgIHNzdGF0ZWluc3QgPSBkLmdldFZhcigiU1NU
QVRFX0lOU1RESVIiKQogICAgZC5zZXRWYXIoJ1NTVEFURV9GSVhNRURJUicsIHNzWydmaXhtZWRp
ciddKQoKICAgIGZvciBmIGluIChkLmdldFZhcignU1NUQVRFUE9TVFVOUEFDS0ZVTkNTJykgb3Ig
JycpLnNwbGl0KCk6CiAgICAgICAgIyBBbGwgaG9va3Mgc2hvdWxkIHJ1biBpbiB0aGUgU1NUQVRF
X0lOU1RESVIKICAgICAgICBiYi5idWlsZC5leGVjX2Z1bmMoZiwgZCwgKHNzdGF0ZWluc3QsKSkK
CiAgICBkZWYgcHJlcGRpcihkaXIpOgogICAgICAgICMgcmVtb3ZlIGRpciBpZiBpdCBleGlzdHMs
IGVuc3VyZSBhbnkgcGFyZW50IGRpcmVjdG9yaWVzIGRvIGV4aXN0CiAgICAgICAgaWYgb3MucGF0
aC5leGlzdHMoZGlyKToKICAgICAgICAgICAgb2UucGF0aC5yZW1vdmUoZGlyKQogICAgICAgIGJi
LnV0aWxzLm1rZGlyaGllcihkaXIpCiAgICAgICAgb2UucGF0aC5yZW1vdmUoZGlyKQoKICAgIGZv
ciBzdGF0ZSBpbiBzc1snZGlycyddOgogICAgICAgIGlmIGQuZ2V0VmFyKCdTU1RBVEVfU0tJUF9D
UkVBVElPTicpID09ICcxJzoKICAgICAgICAgICAgY29udGludWUKICAgICAgICBwcmVwZGlyKHN0
YXRlWzFdKQogICAgICAgIG9zLnJlbmFtZShzc3RhdGVpbnN0ICsgc3RhdGVbMF0sIHN0YXRlWzFd
KQogICAgc3N0YXRlX2luc3RhbGwoc3MsIGQpCgogICAgZm9yIHBsYWluIGluIHNzWydwbGFpbmRp
cnMnXToKICAgICAgICB3b3JrZGlyID0gZC5nZXRWYXIoJ1dPUktESVInKQogICAgICAgIHNyYyA9
IHNzdGF0ZWluc3QgKyAiLyIgKyBwbGFpbi5yZXBsYWNlKHdvcmtkaXIsICcnKQogICAgICAgIGRl
c3QgPSBwbGFpbgogICAgICAgIGJiLnV0aWxzLm1rZGlyaGllcihzcmMpCiAgICAgICAgcHJlcGRp
cihkZXN0KQogICAgICAgIG9zLnJlbmFtZShzcmMsIGRlc3QpCgogICAgcmV0dXJuIFRydWUKfQoK
CnB5dGhvbiBzc3RhdGVfcGFja2FnZSAoKSB7CmRlZiBzc3RhdGVfcGFja2FnZShzcywgZCk6CiAg
ICBpbXBvcnQgb2UucGF0aAoKICAgIHRtcGRpciA9IGQuZ2V0VmFyKCdUTVBESVInKQoKICAgIHNz
dGF0ZWJ1aWxkID0gZC5leHBhbmQoIiR7V09SS0RJUn0vc3N0YXRlLWJ1aWxkLSVzLyIgJSBzc1sn
dGFzayddKQogICAgc3N0YXRlcGtnID0gZC5nZXRWYXIoJ1NTVEFURV9QS0cnKSArICdfJysgc3Nb
J3Rhc2snXSArICIudGd6IgogICAgYmIudXRpbHMucmVtb3ZlKHNzdGF0ZWJ1aWxkLCByZWN1cnNl
PVRydWUpCiAgICBiYi51dGlscy5ta2RpcmhpZXIoc3N0YXRlYnVpbGQpCiAgICBiYi51dGlscy5t
a2RpcmhpZXIob3MucGF0aC5kaXJuYW1lKHNzdGF0ZXBrZykpCiAgICBmb3Igc3RhdGUgaW4gc3Nb
J2RpcnMnXToKICAgICAgICBpZiBub3Qgb3MucGF0aC5leGlzdHMoc3RhdGVbMV0pOgogICAgICAg
ICAgICBjb250aW51ZQogICAgICAgIGlmIGQuZ2V0VmFyKCdTU1RBVEVfU0tJUF9DUkVBVElPTicp
ID09ICcxJzoKICAgICAgICAgICAgY29udGludWUKICAgICAgICBzcmNiYXNlID0gc3RhdGVbMF0u
cnN0cmlwKCIvIikucnNwbGl0KCcvJywgMSlbMF0KICAgICAgICAjIEZpbmQgYW5kIGVycm9yIGZv
ciBhYnNvbHV0ZSBzeW1saW5rcy4gV2UgY291bGQgYXR0ZW1wdCB0byByZWxvY2F0ZSBidXQgaXRz
IG5vdAogICAgICAgICMgY2xlYXIgd2hlcmUgdGhlIHN5bWxpbmsgaXMgcmVsYXRpdmUgdG8gaW4g
dGhpcyBjb250ZXh0LiBXZSBjb3VsZCBhZGQgdGhhdCBtYXJrdXAKICAgICAgICAjIHRvIHNzdGF0
ZSB0YXNrcyBidXQgdGhlcmUgYXJlbid0IG1hbnkgb2YgdGhlc2Ugc28gYmV0dGVyIGp1c3QgYXZv
aWQgdGhlbSBlbnRpcmVseS4KICAgICAgICBmb3Igd2Fsa3Jvb3QsIGRpcnMsIGZpbGVzIGluIG9z
LndhbGsoc3RhdGVbMV0pOgogICAgICAgICAgICBmb3IgZmlsZSBpbiBmaWxlcyArIGRpcnM6CiAg
ICAgICAgICAgICAgICBzcmNwYXRoID0gb3MucGF0aC5qb2luKHdhbGtyb290LCBmaWxlKQogICAg
ICAgICAgICAgICAgaWYgbm90IG9zLnBhdGguaXNsaW5rKHNyY3BhdGgpOgogICAgICAgICAgICAg
ICAgICAgIGNvbnRpbnVlCiAgICAgICAgICAgICAgICBsaW5rID0gb3MucmVhZGxpbmsoc3JjcGF0
aCkKICAgICAgICAgICAgICAgIGlmIG5vdCBvcy5wYXRoLmlzYWJzKGxpbmspOgogICAgICAgICAg
ICAgICAgICAgIGNvbnRpbnVlCiAgICAgICAgICAgICAgICBpZiBub3QgbGluay5zdGFydHN3aXRo
KHRtcGRpcik6CiAgICAgICAgICAgICAgICAgICAgY29udGludWUKICAgICAgICAgICAgICAgIGJi
LmVycm9yKCJzc3RhdGUgZm91bmQgYW4gYWJzb2x1dGUgcGF0aCBzeW1saW5rICVzIHBvaW50aW5n
IGF0ICVzLiBQbGVhc2UgcmVwbGFjZSB0aGlzIHdpdGggYSByZWxhdGl2ZSBsaW5rLiIgJSAoc3Jj
cGF0aCwgbGluaykpCiAgICAgICAgYmIuZGVidWcoMiwgIlByZXBhcmluZyB0cmVlICVzIGZvciBw
YWNrYWdpbmcgYXQgJXMiICUgKHN0YXRlWzFdLCBzc3RhdGVidWlsZCArIHN0YXRlWzBdKSkKICAg
ICAgICBvcy5yZW5hbWUoc3RhdGVbMV0sIHNzdGF0ZWJ1aWxkICsgc3RhdGVbMF0pCgogICAgd29y
a2RpciA9IGQuZ2V0VmFyKCdXT1JLRElSJykKICAgIGZvciBwbGFpbiBpbiBzc1sncGxhaW5kaXJz
J106CiAgICAgICAgcGRpciA9IHBsYWluLnJlcGxhY2Uod29ya2Rpciwgc3N0YXRlYnVpbGQpCiAg
ICAgICAgYmIudXRpbHMubWtkaXJoaWVyKHBsYWluKQogICAgICAgIGJiLnV0aWxzLm1rZGlyaGll
cihwZGlyKQogICAgICAgIG9zLnJlbmFtZShwbGFpbiwgcGRpcikKCiAgICBkLnNldFZhcignU1NU
QVRFX0JVSUxERElSJywgc3N0YXRlYnVpbGQpCiAgICBkLnNldFZhcignU1NUQVRFX1BLRycsIHNz
dGF0ZXBrZykKCiAgICBmb3IgZiBpbiAoZC5nZXRWYXIoJ1NTVEFURUNSRUFURUZVTkNTJykgb3Ig
JycpLnNwbGl0KCkgKyBcCiAgICAgICAgICAgICBbJ3NzdGF0ZV9jcmVhdGVfcGFja2FnZScsICdz
c3RhdGVfc2lnbl9wYWNrYWdlJ10gKyBcCiAgICAgICAgICAgICAoZC5nZXRWYXIoJ1NTVEFURVBP
U1RDUkVBVEVGVU5DUycpIG9yICcnKS5zcGxpdCgpOgogICAgICAgICMgQWxsIGhvb2tzIHNob3Vs
ZCBydW4gaW4gU1NUQVRFX0JVSUxERElSLgogICAgICAgIGJiLmJ1aWxkLmV4ZWNfZnVuYyhmLCBk
LCAoc3N0YXRlYnVpbGQsKSkKCiAgICBiYi5zaWdnZW4uZHVtcF90aGlzX3Rhc2soc3N0YXRlcGtn
ICsgIi5zaWdpbmZvIiwgZCkKCiAgICBkLnNldFZhcignU1NUQVRFX0lOU1RESVInLCBzc3RhdGVi
dWlsZCkKCiAgICByZXR1cm4KfQoKCnB5dGhvbiBzc3RhdGVfc2V0c2NlbmUgKCkgewpkZWYgc3N0
YXRlX3NldHNjZW5lKGQpOgogICAgc2hhcmVkX3N0YXRlID0gc3N0YXRlX3N0YXRlX2Zyb212YXJz
KGQpCiAgICBhY2NlbGVyYXRlID0gc3N0YXRlX2luc3RhbGxwa2coc2hhcmVkX3N0YXRlLCBkKQog
ICAgaWYgbm90IGFjY2VsZXJhdGU6CiAgICAgICAgYmIuZmF0YWwoIk5vIHN1aXRhYmxlIHN0YWdp
bmcgcGFja2FnZSBmb3VuZCIpCn0KCgpweXRob24gc3N0YXRlX3NpZ25fcGFja2FnZSAoKSB7CiAg
ICBmcm9tIG9lLmdwZ19zaWduIGltcG9ydCBnZXRfc2lnbmVyCgogICAgaWYgZC5nZXRWYXIoJ1NT
VEFURV9TSUdfS0VZJyk6CiAgICAgICAgc2lnbmVyID0gZ2V0X3NpZ25lcihkLCAnbG9jYWwnKQog
ICAgICAgIHNzdGF0ZV9wa2cgPSBkLmdldFZhcignU1NUQVRFX1BLRycpCiAgICAgICAgaWYgb3Mu
cGF0aC5leGlzdHMoc3N0YXRlX3BrZyArICcuc2lnJyk6CiAgICAgICAgICAgIG9zLnVubGluayhz
c3RhdGVfcGtnICsgJy5zaWcnKQogICAgICAgIHNpZ25lci5kZXRhY2hfc2lnbihzc3RhdGVfcGtn
LCBkLmdldFZhcignU1NUQVRFX1NJR19LRVknLCBGYWxzZSksIE5vbmUsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGQuZ2V0VmFyKCdTU1RBVEVfU0lHX1BBU1NQSFJBU0UnKSwgYXJtb3I9RmFs
c2UpCn0KCgpweXRob24gc3N0YXRlX3N0YXRlX2Zyb212YXJzICgpIHsKZGVmIHNzdGF0ZV9zdGF0
ZV9mcm9tdmFycyhkLCB0YXNrID0gTm9uZSk6CiAgICBpZiB0YXNrIGlzIE5vbmU6CiAgICAgICAg
dGFzayA9IGQuZ2V0VmFyKCdCQl9DVVJSRU5UVEFTSycpCiAgICAgICAgaWYgbm90IHRhc2s6CiAg
ICAgICAgICAgIGJiLmZhdGFsKCJzc3RhdGUgY29kZSBydW5uaW5nIHdpdGhvdXQgdGFzayBjb250
ZXh0PyEiKQogICAgICAgIHRhc2sgPSB0YXNrLnJlcGxhY2UoIl9zZXRzY2VuZSIsICIiKQoKICAg
IGlmIHRhc2suc3RhcnRzd2l0aCgiZG9fIik6CiAgICAgICAgdGFzayA9IHRhc2tbMzpdCiAgICBp
bnB1dHMgPSAoZC5nZXRWYXJGbGFnKCJkb18iICsgdGFzaywgJ3NzdGF0ZS1pbnB1dGRpcnMnKSBv
ciAiIikuc3BsaXQoKQogICAgb3V0cHV0cyA9IChkLmdldFZhckZsYWcoImRvXyIgKyB0YXNrLCAn
c3N0YXRlLW91dHB1dGRpcnMnKSBvciAiIikuc3BsaXQoKQogICAgcGxhaW5kaXJzID0gKGQuZ2V0
VmFyRmxhZygiZG9fIiArIHRhc2ssICdzc3RhdGUtcGxhaW5kaXJzJykgb3IgIiIpLnNwbGl0KCkK
ICAgIGxvY2tmaWxlcyA9IChkLmdldFZhckZsYWcoImRvXyIgKyB0YXNrLCAnc3N0YXRlLWxvY2tm
aWxlJykgb3IgIiIpLnNwbGl0KCkKICAgIGxvY2tmaWxlc3NoYXJlZCA9IChkLmdldFZhckZsYWco
ImRvXyIgKyB0YXNrLCAnc3N0YXRlLWxvY2tmaWxlLXNoYXJlZCcpIG9yICIiKS5zcGxpdCgpCiAg
ICBpbnRlcmNlcHRmdW5jcyA9IChkLmdldFZhckZsYWcoImRvXyIgKyB0YXNrLCAnc3N0YXRlLWlu
dGVyY2VwdGZ1bmNzJykgb3IgIiIpLnNwbGl0KCkKICAgIGZpeG1lZGlyID0gZC5nZXRWYXJGbGFn
KCJkb18iICsgdGFzaywgJ3NzdGF0ZS1maXhtZWRpcicpIG9yICIiCiAgICBpZiBub3QgdGFzayBv
ciBsZW4oaW5wdXRzKSAhPSBsZW4ob3V0cHV0cyk6CiAgICAgICAgYmIuZmF0YWwoInNzdGF0ZSB2
YXJpYWJsZXMgbm90IHNldHVwIGNvcnJlY3RseT8hIikKCiAgICBpZiB0YXNrID09ICJwb3B1bGF0
ZV9saWMiOgogICAgICAgIGQuc2V0VmFyKCJTU1RBVEVfUEtHU1BFQyIsICIke1NTVEFURV9TV1NQ
RUN9IikKICAgICAgICBkLnNldFZhcigiU1NUQVRFX0VYVFJBUEFUSCIsICIiKQogICAgICAgIGQu
c2V0VmFyKCdTU1RBVEVfRVhUUkFQQVRIV0lMRENBUkQnLCAiIikKCiAgICBzcyA9IHNzdGF0ZV9p
bml0KHRhc2ssIGQpCiAgICBmb3IgaSBpbiByYW5nZShsZW4oaW5wdXRzKSk6CiAgICAgICAgc3N0
YXRlX2FkZChzcywgaW5wdXRzW2ldLCBvdXRwdXRzW2ldLCBkKQogICAgc3NbJ2xvY2tmaWxlcydd
ID0gbG9ja2ZpbGVzCiAgICBzc1snbG9ja2ZpbGVzLXNoYXJlZCddID0gbG9ja2ZpbGVzc2hhcmVk
CiAgICBzc1sncGxhaW5kaXJzJ10gPSBwbGFpbmRpcnMKICAgIHNzWydpbnRlcmNlcHRmdW5jcydd
ID0gaW50ZXJjZXB0ZnVuY3MKICAgIHNzWydmaXhtZWRpciddID0gZml4bWVkaXIKICAgIHJldHVy
biBzcwp9CgoKcHl0aG9uIHNzdGF0ZV90YXNrX3Bvc3RmdW5jICgpIHsKICAgIHNoYXJlZF9zdGF0
ZSA9IHNzdGF0ZV9zdGF0ZV9mcm9tdmFycyhkKQoKICAgIGZvciBpbnRlcmNlcHQgaW4gc2hhcmVk
X3N0YXRlWydpbnRlcmNlcHRmdW5jcyddOgogICAgICAgIGJiLmJ1aWxkLmV4ZWNfZnVuYyhpbnRl
cmNlcHQsIGQsIChkLmdldFZhcigiV09SS0RJUiIpLCkpCgogICAgb21hc2sgPSBvcy51bWFzaygw
bzAwMikKICAgIGlmIG9tYXNrICE9IDBvMDAyOgogICAgICAgYmIubm90ZSgiVXNpbmcgdW1hc2sg
MG8wMDIgKG5vdCAlMG8pIGZvciBzc3RhdGUgcGFja2FnaW5nIiAlIG9tYXNrKQogICAgc3N0YXRl
X3BhY2thZ2Uoc2hhcmVkX3N0YXRlLCBkKQogICAgb3MudW1hc2sob21hc2spCgogICAgc3N0YXRl
aW5zdCA9IGQuZ2V0VmFyKCJTU1RBVEVfSU5TVERJUiIpCiAgICBkLnNldFZhcignU1NUQVRFX0ZJ
WE1FRElSJywgc2hhcmVkX3N0YXRlWydmaXhtZWRpciddKQoKICAgIHNzdGF0ZV9pbnN0YWxscGtn
ZGlyKHNoYXJlZF9zdGF0ZSwgZCkKCiAgICBiYi51dGlscy5yZW1vdmUoZC5nZXRWYXIoIlNTVEFU
RV9CVUlMRERJUiIpLCByZWN1cnNlPVRydWUpCn0KCgpweXRob24gc3N0YXRlX3Rhc2tfcHJlZnVu
YyAoKSB7CiAgICBzaGFyZWRfc3RhdGUgPSBzc3RhdGVfc3RhdGVfZnJvbXZhcnMoZCkKICAgIHNz
dGF0ZV9jbGVhbihzaGFyZWRfc3RhdGUsIGQpCn0KCgpweXRob24gc3RhZ2luZ19jb3B5ZGlyICgp
IHsKZGVmIHN0YWdpbmdfY29weWRpcihjLCB0YXJnZXQsIGRlc3QsIHNlZW5kaXJzKToKICAgIGlm
IGRlc3Qgbm90IGluIHNlZW5kaXJzOgogICAgICAgIGJiLnV0aWxzLm1rZGlyaGllcihkZXN0KQog
ICAgICAgIHNlZW5kaXJzLmFkZChkZXN0KQp9CgoKcHl0aG9uIHN0YWdpbmdfY29weWZpbGUgKCkg
ewpkZWYgc3RhZ2luZ19jb3B5ZmlsZShjLCB0YXJnZXQsIGRlc3QsIHBvc3RpbnN0cywgc2VlbmRp
cnMpOgogICAgaW1wb3J0IGVycm5vCgogICAgZGVzdGRpciA9IG9zLnBhdGguZGlybmFtZShkZXN0
KQogICAgaWYgZGVzdGRpciBub3QgaW4gc2VlbmRpcnM6CiAgICAgICAgYmIudXRpbHMubWtkaXJo
aWVyKGRlc3RkaXIpCiAgICAgICAgc2VlbmRpcnMuYWRkKGRlc3RkaXIpCiAgICBpZiAiL3Vzci9i
aW4vcG9zdGluc3QtIiBpbiBjOgogICAgICAgIHBvc3RpbnN0cy5hcHBlbmQoZGVzdCkKICAgIGlm
IG9zLnBhdGguaXNsaW5rKGMpOgogICAgICAgIGxpbmt0byA9IG9zLnJlYWRsaW5rKGMpCiAgICAg
ICAgaWYgb3MucGF0aC5sZXhpc3RzKGRlc3QpOgogICAgICAgICAgICBpZiBub3Qgb3MucGF0aC5p
c2xpbmsoZGVzdCk6CiAgICAgICAgICAgICAgICByYWlzZSBPU0Vycm9yKGVycm5vLkVFWElTVCwg
IkxpbmsgJXMgYWxyZWFkeSBleGlzdHMgYXMgYSBmaWxlIiAlIGRlc3QsIGRlc3QpCiAgICAgICAg
ICAgIGlmIG9zLnJlYWRsaW5rKGRlc3QpID09IGxpbmt0bzoKICAgICAgICAgICAgICAgIHJldHVy
biBkZXN0CiAgICAgICAgICAgIHJhaXNlIE9TRXJyb3IoZXJybm8uRUVYSVNULCAiTGluayAlcyBh
bHJlYWR5IGV4aXN0cyB0byBhIGRpZmZlcmVudCBsb2NhdGlvbj8gKCVzIHZzICVzKSIgJSAoZGVz
dCwgb3MucmVhZGxpbmsoZGVzdCksIGxpbmt0byksIGRlc3QpCiAgICAgICAgb3Muc3ltbGluayhs
aW5rdG8sIGRlc3QpCiAgICAgICAgI2JiLndhcm4oYykKICAgIGVsc2U6CiAgICAgICAgdHJ5Ogog
ICAgICAgICAgICBvcy5saW5rKGMsIGRlc3QpCiAgICAgICAgZXhjZXB0IE9TRXJyb3IgYXMgZXJy
OgogICAgICAgICAgICBpZiBlcnIuZXJybm8gPT0gZXJybm8uRVhERVY6CiAgICAgICAgICAgICAg
ICBiYi51dGlscy5jb3B5ZmlsZShjLCBkZXN0KQogICAgICAgICAgICBlbHNlOgogICAgICAgICAg
ICAgICAgcmFpc2UKICAgIHJldHVybiBkZXN0Cn0KCgpweXRob24gc3RhZ2luZ19wb3B1bGF0ZV9z
eXNyb290X2RpciAoKSB7CmRlZiBzdGFnaW5nX3BvcHVsYXRlX3N5c3Jvb3RfZGlyKHRhcmdldHN5
c3Jvb3QsIG5hdGl2ZXN5c3Jvb3QsIG5hdGl2ZSwgZCk6CiAgICBpbXBvcnQgZ2xvYgogICAgaW1w
b3J0IHN1YnByb2Nlc3MKCiAgICBmaXhtZSA9IFtdCiAgICBwb3N0aW5zdHMgPSBbXQogICAgc2Vl
bmRpcnMgPSBzZXQoKQogICAgc3RhZ2luZ2RpciA9IGQuZ2V0VmFyKCJTVEFHSU5HX0RJUiIpCiAg
ICBpZiBuYXRpdmU6CiAgICAgICAgcGtnYXJjaHMgPSBbJyR7QlVJTERfQVJDSH0nLCAnJHtCVUlM
RF9BUkNIfV8qJ10KICAgICAgICB0YXJnZXRkaXIgPSBuYXRpdmVzeXNyb290CiAgICBlbHNlOgog
ICAgICAgIHBrZ2FyY2hzID0gWycke01BQ0hJTkVfQVJDSH0nXQogICAgICAgIHBrZ2FyY2hzID0g
cGtnYXJjaHMgKyBsaXN0KHJldmVyc2VkKGQuZ2V0VmFyKCJQQUNLQUdFX0VYVFJBX0FSQ0hTIiku
c3BsaXQoKSkpCiAgICAgICAgcGtnYXJjaHMuYXBwZW5kKCdhbGxhcmNoJykKICAgICAgICB0YXJn
ZXRkaXIgPSB0YXJnZXRzeXNyb290CgogICAgYmIudXRpbHMubWtkaXJoaWVyKHRhcmdldGRpcikK
ICAgIGZvciBwa2dhcmNoIGluIHBrZ2FyY2hzOgogICAgICAgIGZvciBtYW5pZmVzdCBpbiBnbG9i
Lmdsb2IoZC5leHBhbmQoIiR7U1NUQVRFX01BTklGRVNUU30vbWFuaWZlc3QtJXMtKi5wb3B1bGF0
ZV9zeXNyb290IiAlIHBrZ2FyY2gpKToKICAgICAgICAgICAgaWYgbWFuaWZlc3QuZW5kc3dpdGgo
Ii1pbml0aWFsLnBvcHVsYXRlX3N5c3Jvb3QiKToKICAgICAgICAgICAgICAgICMgc2tpcCBnbGli
Yy1pbml0aWFsIGFuZCBsaWJnY2MtaW5pdGlhbCBkdWUgdG8gZmlsZSBvdmVybGFwCiAgICAgICAg
ICAgICAgICBjb250aW51ZQogICAgICAgICAgICB0bWFuaWZlc3QgPSB0YXJnZXRkaXIgKyAiLyIg
KyBvcy5wYXRoLmJhc2VuYW1lKG1hbmlmZXN0KQogICAgICAgICAgICBpZiBvcy5wYXRoLmV4aXN0
cyh0bWFuaWZlc3QpOgogICAgICAgICAgICAgICAgY29udGludWUKICAgICAgICAgICAgdHJ5Ogog
ICAgICAgICAgICAgICAgb3MubGluayhtYW5pZmVzdCwgdG1hbmlmZXN0KQogICAgICAgICAgICBl
eGNlcHQgT1NFcnJvciBhcyBlcnI6CiAgICAgICAgICAgICAgICBpZiBlcnIuZXJybm8gPT0gZXJy
bm8uRVhERVY6CiAgICAgICAgICAgICAgICAgICAgYmIudXRpbHMuY29weWZpbGUobWFuaWZlc3Qs
IHRtYW5pZmVzdCkKICAgICAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgICAgcmFp
c2UKICAgICAgICAgICAgd2l0aCBvcGVuKG1hbmlmZXN0LCAiciIpIGFzIGY6CiAgICAgICAgICAg
ICAgICBmb3IgbCBpbiBmOgogICAgICAgICAgICAgICAgICAgIGwgPSBsLnN0cmlwKCkKICAgICAg
ICAgICAgICAgICAgICBpZiBsLmVuZHN3aXRoKCIvZml4bWVwYXRoIik6CiAgICAgICAgICAgICAg
ICAgICAgICAgIGZpeG1lLmFwcGVuZChsKQogICAgICAgICAgICAgICAgICAgICAgICBjb250aW51
ZQogICAgICAgICAgICAgICAgICAgIGlmIGwuZW5kc3dpdGgoIi9maXhtZXBhdGguY21kIik6CiAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCiAgICAgICAgICAgICAgICAgICAgZGVzdCA9
IGwucmVwbGFjZShzdGFnaW5nZGlyLCAiIikKICAgICAgICAgICAgICAgICAgICBkZXN0ID0gdGFy
Z2V0ZGlyICsgIi8iICsgIi8iLmpvaW4oZGVzdC5zcGxpdCgiLyIpWzM6XSkKICAgICAgICAgICAg
ICAgICAgICBpZiBsLmVuZHN3aXRoKCIvIik6CiAgICAgICAgICAgICAgICAgICAgICAgIHN0YWdp
bmdfY29weWRpcihsLCB0YXJnZXRkaXIsIGRlc3QsIHNlZW5kaXJzKQogICAgICAgICAgICAgICAg
ICAgICAgICBjb250aW51ZQogICAgICAgICAgICAgICAgICAgIHRyeToKICAgICAgICAgICAgICAg
ICAgICAgICAgc3RhZ2luZ19jb3B5ZmlsZShsLCB0YXJnZXRkaXIsIGRlc3QsIHBvc3RpbnN0cywg
c2VlbmRpcnMpCiAgICAgICAgICAgICAgICAgICAgZXhjZXB0IEZpbGVFeGlzdHNFcnJvcjoKICAg
ICAgICAgICAgICAgICAgICAgICAgY29udGludWUKCiAgICBzdGFnaW5nX3Byb2Nlc3NmaXhtZShm
aXhtZSwgdGFyZ2V0ZGlyLCB0YXJnZXRzeXNyb290LCBuYXRpdmVzeXNyb290LCBkKQogICAgZm9y
IHAgaW4gcG9zdGluc3RzOgogICAgICAgIHN1YnByb2Nlc3MuY2hlY2tfb3V0cHV0KHAsIHNoZWxs
PVRydWUpCn0KCgpweXRob24gc3RhZ2luZ19wcm9jZXNzZml4bWUgKCkgewpkZWYgc3RhZ2luZ19w
cm9jZXNzZml4bWUoZml4bWUsIHRhcmdldCwgcmVjaXBlc3lzcm9vdCwgcmVjaXBlc3lzcm9vdG5h
dGl2ZSwgZCk6CiAgICBpbXBvcnQgc3VicHJvY2VzcwoKICAgIGlmIG5vdCBmaXhtZToKICAgICAg
ICByZXR1cm4KICAgIGNtZCA9ICJzZWQgLWUgJ3M6XlteL10qLzolcy86ZycgJXMgfCB4YXJncyBz
ZWQgLWkgLWUgJ3M6RklYTUVTVEFHSU5HRElSVEFSR0VUOiVzOmc7IHM6RklYTUVTVEFHSU5HRElS
SE9TVDolczpnJyIgJSAodGFyZ2V0LCAiICIuam9pbihmaXhtZSksIHJlY2lwZXN5c3Jvb3QsIHJl
Y2lwZXN5c3Jvb3RuYXRpdmUpCiAgICBmb3IgZml4bWV2YXIgaW4gWydDT01QT05FTlRTX0RJUics
ICdIT1NUVE9PTFNfRElSJywgJ1BLR0RBVEFfRElSJ106CiAgICAgICAgZml4bWVfcGF0aCA9IGQu
Z2V0VmFyKGZpeG1ldmFyKQogICAgICAgIGNtZCArPSAiIC1lICdzOkZJWE1FXyVzOiVzOmcnIiAl
IChmaXhtZXZhciwgZml4bWVfcGF0aCkKICAgIGJiLmRlYnVnKDIsIGNtZCkKICAgIHN1YnByb2Nl
c3MuY2hlY2tfb3V0cHV0KGNtZCwgc2hlbGw9VHJ1ZSkKCn0KCgpweXRob24gc3RhZ2luZ190YXNr
aGFuZGxlciAoKSB7CiAgICBiYnRhc2tzID0gZS50YXNrbGlzdAogICAgZm9yIHRhc2sgaW4gYmJ0
YXNrczoKICAgICAgICBkZXBzID0gZC5nZXRWYXJGbGFnKHRhc2ssICJkZXBlbmRzIikKICAgICAg
ICBpZiBkZXBzIGFuZCAicG9wdWxhdGVfc3lzcm9vdCIgaW4gZGVwczoKICAgICAgICAgICAgZC5h
cHBlbmRWYXJGbGFnKHRhc2ssICJwcmVmdW5jcyIsICIgZXh0ZW5kX3JlY2lwZV9zeXNyb290IikK
fQoKCnB5dGhvbiBzeXNyb290X3N0cmlwICgpIHsKICAgIGltcG9ydCBzdGF0LCBlcnJubwoKICAg
IGR2YXIgPSBkLmdldFZhcignU1lTUk9PVF9ERVNURElSJykKICAgIHBuID0gZC5nZXRWYXIoJ1BO
JykKCiAgICBvcy5jaGRpcihkdmFyKQoKICAgICMgUmV0dXJuIHR5cGUgKGJpdHMpOgogICAgIyAw
IC0gbm90IGVsZgogICAgIyAxIC0gRUxGCiAgICAjIDIgLSBzdHJpcHBlZAogICAgIyA0IC0gZXhl
Y3V0YWJsZQogICAgIyA4IC0gc2hhcmVkIGxpYnJhcnkKICAgICMgMTYgLSBrZXJuZWwgbW9kdWxl
CiAgICBkZWYgaXNFTEYocGF0aCk6CiAgICAgICAgdHlwZSA9IDAKICAgICAgICByZXQsIHJlc3Vs
dCA9IG9lLnV0aWxzLmdldHN0YXR1c291dHB1dCgiZmlsZSBcIiVzXCIiICUgcGF0aC5yZXBsYWNl
KCJcIiIsICJcXFwiIikpCgogICAgICAgIGlmIHJldDoKICAgICAgICAgICAgYmIuZXJyb3IoInNw
bGl0X2FuZF9zdHJpcF9maWxlczogJ2ZpbGUgJXMnIGZhaWxlZCIgJSBwYXRoKQogICAgICAgICAg
ICByZXR1cm4gdHlwZQoKICAgICAgICAjIE5vdCBzdHJpcHBlZAogICAgICAgIGlmICJFTEYiIGlu
IHJlc3VsdDoKICAgICAgICAgICAgdHlwZSB8PSAxCiAgICAgICAgICAgIGlmICJub3Qgc3RyaXBw
ZWQiIG5vdCBpbiByZXN1bHQ6CiAgICAgICAgICAgICAgICB0eXBlIHw9IDIKICAgICAgICAgICAg
aWYgImV4ZWN1dGFibGUiIGluIHJlc3VsdDoKICAgICAgICAgICAgICAgIHR5cGUgfD0gNAogICAg
ICAgICAgICBpZiAic2hhcmVkIiBpbiByZXN1bHQ6CiAgICAgICAgICAgICAgICB0eXBlIHw9IDgK
ICAgICAgICByZXR1cm4gdHlwZQoKCiAgICBlbGZmaWxlcyA9IHt9CiAgICBpbm9kZXMgPSB7fQog
ICAgbGliZGlyID0gb3MucGF0aC5hYnNwYXRoKGR2YXIgKyBvcy5zZXAgKyBkLmdldFZhcigibGli
ZGlyIikpCiAgICBiYXNlbGliZGlyID0gb3MucGF0aC5hYnNwYXRoKGR2YXIgKyBvcy5zZXAgKyBk
LmdldFZhcigiYmFzZV9saWJkaXIiKSkKICAgIGlmIChkLmdldFZhcignSU5ISUJJVF9TWVNST09U
X1NUUklQJykgIT0gJzEnKToKICAgICAgICAjCiAgICAgICAgIyBGaXJzdCBsZXRzIGZpZ3VyZSBv
dXQgYWxsIG9mIHRoZSBmaWxlcyB3ZSBtYXkgaGF2ZSB0byBwcm9jZXNzCiAgICAgICAgIwogICAg
ICAgIGZvciByb290LCBkaXJzLCBmaWxlcyBpbiBvcy53YWxrKGR2YXIpOgogICAgICAgICAgICBm
b3IgZiBpbiBmaWxlczoKICAgICAgICAgICAgICAgIGZpbGUgPSBvcy5wYXRoLmpvaW4ocm9vdCwg
ZikKCiAgICAgICAgICAgICAgICB0cnk6CiAgICAgICAgICAgICAgICAgICAgbHRhcmdldCA9IG9l
LnBhdGgucmVhbHBhdGgoZmlsZSwgZHZhciwgRmFsc2UpCiAgICAgICAgICAgICAgICAgICAgcyA9
IG9zLmxzdGF0KGx0YXJnZXQpCiAgICAgICAgICAgICAgICBleGNlcHQgT1NFcnJvciBhcyBlOgog
ICAgICAgICAgICAgICAgICAgIChlcnIsIHN0cmVycm9yKSA9IGUuYXJncwogICAgICAgICAgICAg
ICAgICAgIGlmIGVyciAhPSBlcnJuby5FTk9FTlQ6CiAgICAgICAgICAgICAgICAgICAgICAgIHJh
aXNlCiAgICAgICAgICAgICAgICAgICAgIyBTa2lwIGJyb2tlbiBzeW1saW5rcwogICAgICAgICAg
ICAgICAgICAgIGNvbnRpbnVlCiAgICAgICAgICAgICAgICBpZiBub3QgczoKICAgICAgICAgICAg
ICAgICAgICBjb250aW51ZQogICAgICAgICAgICAgICAgIyBDaGVjayBpdHMgYW4gZXhjdXRhYmxl
CiAgICAgICAgICAgICAgICBpZiAoc1tzdGF0LlNUX01PREVdICYgc3RhdC5TX0lYVVNSKSBvciAo
c1tzdGF0LlNUX01PREVdICYgc3RhdC5TX0lYR1JQKSBvciAoc1tzdGF0LlNUX01PREVdICYgc3Rh
dC5TX0lYT1RIKSBcCiAgICAgICAgICAgICAgICAgICAgICAgIG9yICgoZmlsZS5zdGFydHN3aXRo
KGxpYmRpcikgb3IgZmlsZS5zdGFydHN3aXRoKGJhc2VsaWJkaXIpKSBhbmQgIi5zbyIgaW4gZik6
CiAgICAgICAgICAgICAgICAgICAgIyBJZiBpdCdzIGEgc3ltbGluaywgYW5kIHBvaW50cyB0byBh
biBFTEYgZmlsZSwgd2UgY2FwdHVyZSB0aGUgcmVhZGxpbmsgdGFyZ2V0CiAgICAgICAgICAgICAg
ICAgICAgaWYgb3MucGF0aC5pc2xpbmsoZmlsZSk6CiAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnRpbnVlCgogICAgICAgICAgICAgICAgICAgICMgSXQncyBhIGZpbGUgKG9yIGhhcmRsaW5rKSwg
bm90IGEgbGluawogICAgICAgICAgICAgICAgICAgICMgLi4uYnV0IGlzIGl0IEVMRiwgYW5kIGlz
IGl0IGFscmVhZHkgc3RyaXBwZWQ/CiAgICAgICAgICAgICAgICAgICAgZWxmX2ZpbGUgPSBpc0VM
RihmaWxlKQogICAgICAgICAgICAgICAgICAgIGlmIGVsZl9maWxlICYgMToKICAgICAgICAgICAg
ICAgICAgICAgICAgaWYgZWxmX2ZpbGUgJiAyOgogICAgICAgICAgICAgICAgICAgICAgICAgICAg
aWYgJ2FscmVhZHktc3RyaXBwZWQnIGluIChkLmdldFZhcignSU5TQU5FX1NLSVBfJyArIHBuKSBv
ciAiIikuc3BsaXQoKToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYi5ub3RlKCJT
a2lwcGluZyBmaWxlICVzIGZyb20gJXMgZm9yIGFscmVhZHktc3RyaXBwZWQgUUEgdGVzdCIgJSAo
ZmlsZVtsZW4oZHZhcik6XSwgcG4pKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZToK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYi53YXJuKCJGaWxlICclcycgZnJvbSAl
cyB3YXMgYWxyZWFkeSBzdHJpcHBlZCwgdGhpcyB3aWxsIHByZXZlbnQgZnV0dXJlIGRlYnVnZ2lu
ZyEiICUgKGZpbGVbbGVuKGR2YXIpOl0sIHBuKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnRpbnVlCgogICAgICAgICAgICAgICAgICAgICAgICBpZiBzLnN0X2lubyBpbiBpbm9kZXM6
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcy51bmxpbmsoZmlsZSkKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIG9zLmxpbmsoaW5vZGVzW3Muc3RfaW5vXSwgZmlsZSkKICAgICAgICAg
ICAgICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlub2Rlc1tz
LnN0X2lub10gPSBmaWxlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIGJyZWFrIGhhcmRs
aW5rCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYi51dGlscy5jb3B5ZmlsZShmaWxlLCBm
aWxlKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxmZmlsZXNbZmlsZV0gPSBlbGZfZmls
ZQoKICAgICAgICAjCiAgICAgICAgIyBOb3cgc3RyaXAgdGhlbSAoaW4gcGFyYWxsZWwpCiAgICAg
ICAgIwogICAgICAgIHN0cmlwID0gZC5nZXRWYXIoIlNUUklQIikKICAgICAgICBzZmlsZXMgPSBb
XQogICAgICAgIGZvciBmaWxlIGluIGVsZmZpbGVzOgogICAgICAgICAgICBlbGZfZmlsZSA9IGlu
dChlbGZmaWxlc1tmaWxlXSkKICAgICAgICAgICAgI2JiLm5vdGUoIlN0cmlwICVzIiAlIGZpbGUp
CiAgICAgICAgICAgIHNmaWxlcy5hcHBlbmQoKGZpbGUsIGVsZl9maWxlLCBzdHJpcCkpCgogICAg
ICAgIG9lLnV0aWxzLm11bHRpcHJvY2Vzc19leGVjKHNmaWxlcywgb2UucGFja2FnZS5ydW5zdHJp
cCkKfQoKCnB5dGhvbiB1bmluYXRpdmVfY2hhbmdlaW50ZXJwICgpIHsKICAgIGltcG9ydCBzdWJw
cm9jZXNzCiAgICBpbXBvcnQgc3RhdAogICAgaW1wb3J0IG9lLnFhCgogICAgaWYgbm90IChiYi5k
YXRhLmluaGVyaXRzX2NsYXNzKCduYXRpdmUnLCBkKSBvciBiYi5kYXRhLmluaGVyaXRzX2NsYXNz
KCdjcm9zc3NkaycsIGQpIG9yIGJiLmRhdGEuaW5oZXJpdHNfY2xhc3MoJ2Nyb3NzJywgZCkpOgog
ICAgICAgIHJldHVybgoKICAgIHNzdGF0ZWluc3QgPSBkLmdldFZhcignU1NUQVRFX0lOU1RESVIn
KQogICAgZm9yIHdhbGtyb290LCBkaXJzLCBmaWxlcyBpbiBvcy53YWxrKHNzdGF0ZWluc3QpOgog
ICAgICAgIGZvciBmaWxlIGluIGZpbGVzOgogICAgICAgICAgICBpZiBmaWxlLmVuZHN3aXRoKCIu
c28iKSBvciAiLnNvLiIgaW4gZmlsZToKICAgICAgICAgICAgICAgIGNvbnRpbnVlCiAgICAgICAg
ICAgIGYgPSBvcy5wYXRoLmpvaW4od2Fsa3Jvb3QsIGZpbGUpCiAgICAgICAgICAgIGlmIG9zLnBh
dGguaXNsaW5rKGYpOgogICAgICAgICAgICAgICAgY29udGludWUKICAgICAgICAgICAgcyA9IG9z
LnN0YXQoZikKICAgICAgICAgICAgaWYgbm90ICgoc1tzdGF0LlNUX01PREVdICYgc3RhdC5TX0lY
VVNSKSBvciAoc1tzdGF0LlNUX01PREVdICYgc3RhdC5TX0lYR1JQKSBvciAoc1tzdGF0LlNUX01P
REVdICYgc3RhdC5TX0lYT1RIKSk6CiAgICAgICAgICAgICAgICBjb250aW51ZQogICAgICAgICAg
ICBlbGYgPSBvZS5xYS5FTEZGaWxlKGYpCiAgICAgICAgICAgIHRyeToKICAgICAgICAgICAgICAg
IGVsZi5vcGVuKCkKICAgICAgICAgICAgZXhjZXB0IG9lLnFhLk5vdEVMRkZpbGVFcnJvcjoKICAg
ICAgICAgICAgICAgIGNvbnRpbnVlCiAgICAgICAgICAgIGlmIG5vdCBlbGYuaXNEeW5hbWljKCk6
CiAgICAgICAgICAgICAgICBjb250aW51ZQoKICAgICAgICAgICAgc3VicHJvY2Vzcy5jaGVja19v
dXRwdXQoKCJwYXRjaGVsZi11bmluYXRpdmUiLCAiLS1zZXQtaW50ZXJwcmV0ZXIiLCBkLmdldFZh
cigiVU5JTkFUSVZFX0xPQURFUiIpLCBmKSwgc3RkZXJyPXN1YnByb2Nlc3MuU1RET1VUKQp9CgoK
cHl0aG9uIHVuaW5hdGl2ZV9ldmVudF9lbmFibGUgKCkgewogICAgIiIiCiAgICBUaGlzIGV2ZW50
IGhhbmRsZXIgaXMgY2FsbGVkIGluIHRoZSB3b3JrZXJzIGFuZCBpcyByZXNwb25zaWJsZSBmb3Ig
c2V0dGluZwogICAgdXAgdW5pbmF0aXZlIGlmIGEgbG9hZGVyIGlzIGZvdW5kLgogICAgIiIiCiAg
ICBlbmFibGVfdW5pbmF0aXZlKGQpCn0KCgpweXRob24gdW5pbmF0aXZlX2V2ZW50X2ZldGNobG9h
ZGVyICgpIHsKICAgICIiIgogICAgVGhpcyBldmVudCBmaXJlcyBvbiB0aGUgcGFyZW50IGFuZCB3
aWxsIHRyeSB0byBmZXRjaCB0aGUgdGFyYmFsbCBpZiB0aGUKICAgIGxvYWRlciBpc24ndCBhbHJl
YWR5IHByZXNlbnQuCiAgICAiIiIKCiAgICBjaGtzdW0gPSBkLmdldFZhckZsYWcoIlVOSU5BVElW
RV9DSEVDS1NVTSIsIGQuZ2V0VmFyKCJCVUlMRF9BUkNIIikpCiAgICBpZiBub3QgY2hrc3VtOgog
ICAgICAgIGJiLmZhdGFsKCJVbmluYXRpdmUgc2VsZWN0ZWQgYnV0IG5vdCBjb25maWd1cmVkIGNv
cnJlY3RseSwgcGxlYXNlIHNldCBVTklOQVRJVkVfQ0hFQ0tTVU1bJXNdIiAlIGQuZ2V0VmFyKCJC
VUlMRF9BUkNIIikpCgogICAgbG9hZGVyID0gZC5nZXRWYXIoIlVOSU5BVElWRV9MT0FERVIiKQog
ICAgbG9hZGVyY2hrc3VtID0gbG9hZGVyICsgIi5jaGtzdW0iCiAgICBpZiBvcy5wYXRoLmV4aXN0
cyhsb2FkZXIpIGFuZCBvcy5wYXRoLmV4aXN0cyhsb2FkZXJjaGtzdW0pOgogICAgICAgIHdpdGgg
b3Blbihsb2FkZXJjaGtzdW0sICJyIikgYXMgZjoKICAgICAgICAgICAgcmVhZGNoa3N1bSA9IGYu
cmVhZCgpLnN0cmlwKCkKICAgICAgICBpZiByZWFkY2hrc3VtID09IGNoa3N1bToKICAgICAgICAg
ICAgcmV0dXJuCgogICAgaW1wb3J0IHN1YnByb2Nlc3MKICAgIHRyeToKICAgICAgICAjIFNhdmUg
YW5kIHJlc3RvcmUgY3dkIGFzIEZldGNoLmRvd25sb2FkKCkgZG9lcyBhIGNoZGlyKCkKICAgICAg
ICBvbGRkaXIgPSBvcy5nZXRjd2QoKQoKICAgICAgICB0YXJiYWxsID0gZC5nZXRWYXIoIlVOSU5B
VElWRV9UQVJCQUxMIikKICAgICAgICB0YXJiYWxsZGlyID0gb3MucGF0aC5qb2luKGQuZ2V0VmFy
KCJVTklOQVRJVkVfRExESVIiKSwgY2hrc3VtKQogICAgICAgIHRhcmJhbGxwYXRoID0gb3MucGF0
aC5qb2luKHRhcmJhbGxkaXIsIHRhcmJhbGwpCgogICAgICAgIGlmIG5vdCBvcy5wYXRoLmV4aXN0
cyh0YXJiYWxscGF0aCk6CiAgICAgICAgICAgIGJiLnV0aWxzLm1rZGlyaGllcih0YXJiYWxsZGly
KQogICAgICAgICAgICBpZiBkLmdldFZhcigiVU5JTkFUSVZFX1VSTCIpID09ICJ1bnNldCI6CiAg
ICAgICAgICAgICAgICBiYi5mYXRhbCgiVW5pbmF0aXZlIHNlbGVjdGVkIGJ1dCBub3QgY29uZmln
dXJlZCwgcGxlYXNlIHNldCBVTklOQVRJVkVfVVJMIikKCiAgICAgICAgICAgIGxvY2FsZGF0YSA9
IGJiLmRhdGEuY3JlYXRlQ29weShkKQogICAgICAgICAgICBsb2NhbGRhdGEuc2V0VmFyKCdGSUxF
U1BBVEgnLCAiIikKICAgICAgICAgICAgbG9jYWxkYXRhLnNldFZhcignRExfRElSJywgdGFyYmFs
bGRpcikKCiAgICAgICAgICAgIHNyY3VyaSA9IGQuZXhwYW5kKCIke1VOSU5BVElWRV9VUkx9JHtV
TklOQVRJVkVfVEFSQkFMTH07c2hhMjU2c3VtPSVzIiAlIGNoa3N1bSkKICAgICAgICAgICAgYmIu
bm90ZSgiRmV0Y2hpbmcgdW5pbmF0aXZlIGJpbmFyeSBzaGltIGZyb20gJXMiICUgc3JjdXJpKQoK
ICAgICAgICAgICAgZmV0Y2hlciA9IGJiLmZldGNoMi5GZXRjaChbc3JjdXJpXSwgbG9jYWxkYXRh
LCBjYWNoZT1GYWxzZSkKICAgICAgICAgICAgZmV0Y2hlci5kb3dubG9hZCgpCiAgICAgICAgICAg
IGxvY2FscGF0aCA9IGZldGNoZXIubG9jYWxwYXRoKHNyY3VyaSkKICAgICAgICAgICAgaWYgbG9j
YWxwYXRoICE9IHRhcmJhbGxwYXRoIGFuZCBvcy5wYXRoLmV4aXN0cyhsb2NhbHBhdGgpIGFuZCBu
b3Qgb3MucGF0aC5leGlzdHModGFyYmFsbHBhdGgpOgogICAgICAgICAgICAgICAgICAgIG9zLnN5
bWxpbmsobG9jYWxwYXRoLCB0YXJiYWxscGF0aCkKCiAgICAgICAgY21kID0gZC5leHBhbmQoIlwK
bWtkaXIgLXAgJHtVTklOQVRJVkVfU1RBR0lOR19ESVJ9LXVuaW5hdGl2ZTsgXApjZCAke1VOSU5B
VElWRV9TVEFHSU5HX0RJUn0tdW5pbmF0aXZlOyBcCnRhciAteGpmICR7VU5JTkFUSVZFX0RMRElS
fS8lcy8ke1VOSU5BVElWRV9UQVJCQUxMfTsgXAoke1VOSU5BVElWRV9TVEFHSU5HX0RJUn0tdW5p
bmF0aXZlL3JlbG9jYXRlX3Nkay5weSBcCiAgJHtVTklOQVRJVkVfU1RBR0lOR19ESVJ9LXVuaW5h
dGl2ZS8ke0JVSUxEX0FSQ0h9LWxpbnV4IFwKICAke1VOSU5BVElWRV9MT0FERVJ9IFwKICAke1VO
SU5BVElWRV9MT0FERVJ9IFwKICAke1VOSU5BVElWRV9TVEFHSU5HX0RJUn0tdW5pbmF0aXZlLyR7
QlVJTERfQVJDSH0tbGludXgvJHtiaW5kaXJfbmF0aXZlfS9wYXRjaGVsZi11bmluYXRpdmUgXAog
ICR7VU5JTkFUSVZFX1NUQUdJTkdfRElSfS11bmluYXRpdmUvJHtCVUlMRF9BUkNIfS1saW51eCR7
YmFzZV9saWJkaXJfbmF0aXZlfS9saWJjKi5zbyIgJSBjaGtzdW0pCiAgICAgICAgc3VicHJvY2Vz
cy5jaGVja19vdXRwdXQoY21kLCBzaGVsbD1UcnVlKQoKICAgICAgICB3aXRoIG9wZW4obG9hZGVy
Y2hrc3VtLCAidyIpIGFzIGY6CiAgICAgICAgICAgIGYud3JpdGUoY2hrc3VtKQoKICAgICAgICBl
bmFibGVfdW5pbmF0aXZlKGQpCgogICAgZXhjZXB0IGJiLmZldGNoMi5CQkZldGNoRXhjZXB0aW9u
IGFzIGV4YzoKICAgICAgICBiYi53YXJuKCJEaXNhYmxpbmcgdW5pbmF0aXZlIGFzIHVuYWJsZSB0
byBmZXRjaCB1bmluYXRpdmUgdGFyYmFsbDogJXMiICUgc3RyKGV4YykpCiAgICAgICAgYmIud2Fy
bigiVG8gYnVpbGQgeW91ciBvd24gdW5pbmF0aXZlIGxvYWRlciwgcGxlYXNlIGJpdGJha2UgdW5p
bmF0aXZlLXRhcmJhbGwgYW5kIHNldCBVTklOQVRJVkVfVEFSQkFMTCBhcHByb3ByaWF0ZWx5LiIp
CiAgICBleGNlcHQgc3VicHJvY2Vzcy5DYWxsZWRQcm9jZXNzRXJyb3IgYXMgZXhjOgogICAgICAg
IGJiLndhcm4oIkRpc2FibGluZyB1bmluYXRpdmUgYXMgdW5hYmxlIHRvIGluc3RhbGwgdW5pbmF0
aXZlIHRhcmJhbGw6ICVzIiAlIHN0cihleGMpKQogICAgICAgIGJiLndhcm4oIlRvIGJ1aWxkIHlv
dXIgb3duIHVuaW5hdGl2ZSBsb2FkZXIsIHBsZWFzZSBiaXRiYWtlIHVuaW5hdGl2ZS10YXJiYWxs
IGFuZCBzZXQgVU5JTkFUSVZFX1RBUkJBTEwgYXBwcm9wcmlhdGVseS4iKQogICAgZmluYWxseToK
ICAgICAgICBvcy5jaGRpcihvbGRkaXIpCn0KCgpweXRob24gdW5zYWZlX3JlZmVyZW5jZXNfc2tp
cHBhYmxlICgpIHsKZGVmIHVuc2FmZV9yZWZlcmVuY2VzX3NraXBwYWJsZShwYXRoLCBuYW1lLCBk
KToKICAgIGlmIGJiLmRhdGEuaW5oZXJpdHNfY2xhc3MoJ25hdGl2ZScsIGQpIG9yIGJiLmRhdGEu
aW5oZXJpdHNfY2xhc3MoJ25hdGl2ZXNkaycsIGQpOgogICAgICAgIHJldHVybiBUcnVlCgogICAg
aWYgIi1kYmciIGluIG5hbWUgb3IgIi1kZXYiIGluIG5hbWU6CiAgICAgICAgcmV0dXJuIFRydWUK
CiAgICAjIE90aGVyIHBhY2thZ2UgbmFtZXMgdG8gc2tpcDoKICAgIGlmIG5hbWUuc3RhcnRzd2l0
aCgia2VybmVsLW1vZHVsZS0iKToKICAgICAgICByZXR1cm4gVHJ1ZQoKICAgICMgU2tpcCBzeW1s
aW5rcwogICAgaWYgb3MucGF0aC5pc2xpbmsocGF0aCk6CiAgICAgICAgcmV0dXJuIFRydWUKCiAg
ICAjIFNraXAgdW51c3VhbCByb290ZnMgbGF5b3V0cyB3aGljaCBtYWtlIHRoZXNlIHRlc3RzIGly
cmVsZXZhbnQKICAgIGV4ZWNfcHJlZml4ID0gZC5nZXRWYXIoJ2V4ZWNfcHJlZml4JykKICAgIGlm
IGV4ZWNfcHJlZml4ID09ICIiOgogICAgICAgIHJldHVybiBUcnVlCgogICAgcGtnZGVzdCA9IGQu
Z2V0VmFyKCdQS0dERVNUJykKICAgIHBrZ2Rlc3QgPSBwa2dkZXN0ICsgIi8iICsgbmFtZQogICAg
cGtnZGVzdCA9IG9zLnBhdGguYWJzcGF0aChwa2dkZXN0KQogICAgYmFzZV9iaW5kaXIgPSBwa2dk
ZXN0ICsgZC5nZXRWYXIoJ2Jhc2VfYmluZGlyJykKICAgIGJhc2Vfc2JpbmRpciA9IHBrZ2Rlc3Qg
KyBkLmdldFZhcignYmFzZV9zYmluZGlyJykKICAgIGJhc2VfbGliZGlyID0gcGtnZGVzdCArIGQu
Z2V0VmFyKCdiYXNlX2xpYmRpcicpCiAgICBiaW5kaXIgPSBwa2dkZXN0ICsgZC5nZXRWYXIoJ2Jp
bmRpcicpCiAgICBzYmluZGlyID0gcGtnZGVzdCArIGQuZ2V0VmFyKCdzYmluZGlyJykKICAgIGxp
YmRpciA9IHBrZ2Rlc3QgKyBkLmdldFZhcignbGliZGlyJykKCiAgICBpZiBiYXNlX2JpbmRpciA9
PSBiaW5kaXIgYW5kIGJhc2Vfc2JpbmRpciA9PSBzYmluZGlyIGFuZCBiYXNlX2xpYmRpciA9PSBs
aWJkaXI6CiAgICAgICAgcmV0dXJuIFRydWUKCiAgICAjIFNraXAgZmlsZXMgbm90IGluIGJhc2Vf
W2JpbmRpcnxzYmluZGlyfGxpYmRpcl0KICAgIHBhdGggPSBvcy5wYXRoLmFic3BhdGgocGF0aCkK
ICAgIGlmIG5vdCAoYmFzZV9iaW5kaXIgaW4gcGF0aCBvciBiYXNlX3NiaW5kaXIgaW4gcGF0aCBv
ciBiYXNlX2xpYmRpciBpbiBwYXRoKToKICAgICAgICByZXR1cm4gVHJ1ZQoKICAgIHJldHVybiBG
YWxzZQp9CgoKcHl0aG9uIHdyaXRlX2RlcGxveV9tYW5pZmVzdCAoKSB7CiAgICBsaWNlbnNlX2Rl
cGxveWVkX21hbmlmZXN0KGQpCn0KCgpweXRob24gd3JpdGVfbGljZW5zZV9maWxlcyAoKSB7CmRl
ZiB3cml0ZV9saWNlbnNlX2ZpbGVzKGQsIGxpY2Vuc2VfbWFuaWZlc3QsIHBrZ19kaWMpOgogICAg
aW1wb3J0IHJlCgogICAgYmFkX2xpY2Vuc2VzID0gKGQuZ2V0VmFyKCJJTkNPTVBBVElCTEVfTElD
RU5TRSIpIG9yICIiKS5zcGxpdCgpCiAgICBiYWRfbGljZW5zZXMgPSBtYXAobGFtYmRhIGw6IGNh
bm9uaWNhbF9saWNlbnNlKGQsIGwpLCBiYWRfbGljZW5zZXMpCiAgICBiYWRfbGljZW5zZXMgPSBl
eHBhbmRfd2lsZGNhcmRfbGljZW5zZXMoZCwgYmFkX2xpY2Vuc2VzKQoKICAgIHdpdGggb3Blbihs
aWNlbnNlX21hbmlmZXN0LCAidyIpIGFzIGxpY2Vuc2VfZmlsZToKICAgICAgICBmb3IgcGtnIGlu
IHNvcnRlZChwa2dfZGljKToKICAgICAgICAgICAgaWYgYmFkX2xpY2Vuc2VzOgogICAgICAgICAg
ICAgICAgdHJ5OgogICAgICAgICAgICAgICAgICAgIChwa2dfZGljW3BrZ11bIkxJQ0VOU0UiXSwg
cGtnX2RpY1twa2ddWyJMSUNFTlNFUyJdKSA9IFwKICAgICAgICAgICAgICAgICAgICAgICAgb2Uu
bGljZW5zZS5tYW5pZmVzdF9saWNlbnNlcyhwa2dfZGljW3BrZ11bIkxJQ0VOU0UiXSwKICAgICAg
ICAgICAgICAgICAgICAgICAgYmFkX2xpY2Vuc2VzLCBjYW5vbmljYWxfbGljZW5zZSwgZCkKICAg
ICAgICAgICAgICAgIGV4Y2VwdCBvZS5saWNlbnNlLkxpY2Vuc2VFcnJvciBhcyBleGM6CiAgICAg
ICAgICAgICAgICAgICAgYmIuZmF0YWwoJyVzOiAlcycgJSAoZC5nZXRWYXIoJ1AnKSwgZXhjKSkK
ICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgIHBrZ19kaWNbcGtnXVsiTElDRU5TRVMi
XSA9IHJlLnN1YignW3wmKCkqXScsICcgJywgcGtnX2RpY1twa2ddWyJMSUNFTlNFIl0pCiAgICAg
ICAgICAgICAgICBwa2dfZGljW3BrZ11bIkxJQ0VOU0VTIl0gPSByZS5zdWIoJyAgKicsICcgJywg
cGtnX2RpY1twa2ddWyJMSUNFTlNFUyJdKQogICAgICAgICAgICAgICAgcGtnX2RpY1twa2ddWyJM
SUNFTlNFUyJdID0gcGtnX2RpY1twa2ddWyJMSUNFTlNFUyJdLnNwbGl0KCkKCiAgICAgICAgICAg
IGlmIG5vdCAiSU1BR0VfTUFOSUZFU1QiIGluIHBrZ19kaWNbcGtnXToKICAgICAgICAgICAgICAg
ICMgUm9vdGZzIG1hbmlmZXN0CiAgICAgICAgICAgICAgICBsaWNlbnNlX2ZpbGUud3JpdGUoIlBB
Q0tBR0UgTkFNRTogJXNcbiIgJSBwa2cpCiAgICAgICAgICAgICAgICBsaWNlbnNlX2ZpbGUud3Jp
dGUoIlBBQ0tBR0UgVkVSU0lPTjogJXNcbiIgJSBwa2dfZGljW3BrZ11bIlBWIl0pCiAgICAgICAg
ICAgICAgICBsaWNlbnNlX2ZpbGUud3JpdGUoIlJFQ0lQRSBOQU1FOiAlc1xuIiAlIHBrZ19kaWNb
cGtnXVsiUE4iXSkKICAgICAgICAgICAgICAgIGxpY2Vuc2VfZmlsZS53cml0ZSgiTElDRU5TRTog
JXNcblxuIiAlIHBrZ19kaWNbcGtnXVsiTElDRU5TRSJdKQoKICAgICAgICAgICAgICAgICMgSWYg
dGhlIHBhY2thZ2UgZG9lc24ndCBjb250YWluIGFueSBmaWxlLCB0aGF0IGlzLCBpdHMgc2l6ZSBp
cyAwLCB0aGUgbGljZW5zZQogICAgICAgICAgICAgICAgIyBpc24ndCByZWxldmFudCBhcyBmYXIg
YXMgdGhlIGZpbmFsIGltYWdlIGlzIGNvbmNlcm5lZC4gU28gZG9pbmcgbGljZW5zZSBjaGVjawog
ICAgICAgICAgICAgICAgIyBkb2Vzbid0IG1ha2UgbXVjaCBzZW5zZSwgc2tpcCBpdC4KICAgICAg
ICAgICAgICAgIGlmIHBrZ19kaWNbcGtnXVsiUEtHU0laRV8lcyIgJSBwa2ddID09ICIwIjoKICAg
ICAgICAgICAgICAgICAgICBjb250aW51ZQogICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAg
ICAgIyBJbWFnZSBtYW5pZmVzdAogICAgICAgICAgICAgICAgbGljZW5zZV9maWxlLndyaXRlKCJS
RUNJUEUgTkFNRTogJXNcbiIgJSBwa2dfZGljW3BrZ11bIlBOIl0pCiAgICAgICAgICAgICAgICBs
aWNlbnNlX2ZpbGUud3JpdGUoIlZFUlNJT046ICVzXG4iICUgcGtnX2RpY1twa2ddWyJQViJdKQog
ICAgICAgICAgICAgICAgbGljZW5zZV9maWxlLndyaXRlKCJMSUNFTlNFOiAlc1xuIiAlIHBrZ19k
aWNbcGtnXVsiTElDRU5TRSJdKQogICAgICAgICAgICAgICAgbGljZW5zZV9maWxlLndyaXRlKCJG
SUxFUzogJXNcblxuIiAlIHBrZ19kaWNbcGtnXVsiRklMRVMiXSkKCiAgICAgICAgICAgIGZvciBs
aWMgaW4gcGtnX2RpY1twa2ddWyJMSUNFTlNFUyJdOgogICAgICAgICAgICAgICAgbGljX2ZpbGUg
PSBvcy5wYXRoLmpvaW4oZC5nZXRWYXIoJ0xJQ0VOU0VfRElSRUNUT1JZJyksCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwa2dfZGljW3BrZ11bIlBOIl0sICJnZW5lcmlj
XyVzIiAlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZS5zdWIoJ1wr
JywgJycsIGxpYykpCiAgICAgICAgICAgICAgICAjIGFkZCBleHBsaWNpdHkgYXZvaWQgb2YgQ0xP
U0VEIGxpY2Vuc2UgYmVjYXVzZSBpc24ndCBnZW5lcmljCiAgICAgICAgICAgICAgICBpZiBsaWMg
PT0gIkNMT1NFRCI6CiAgICAgICAgICAgICAgICAgICBjb250aW51ZQoKICAgICAgICAgICAgICAg
IGlmIG5vdCBvcy5wYXRoLmV4aXN0cyhsaWNfZmlsZSk6CiAgICAgICAgICAgICAgICAgICBiYi53
YXJuKCJUaGUgbGljZW5zZSBsaXN0ZWQgJXMgd2FzIG5vdCBpbiB0aGUgIlwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICJsaWNlbnNlcyBjb2xsZWN0ZWQgZm9yIHJlY2lwZSAlcyIKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICUgKGxpYywgcGtnX2RpY1twa2ddWyJQTiJdKSkKCiAgICAj
IFR3byBvcHRpb25zIGhlcmU6CiAgICAjIC0gSnVzdCBjb3B5IHRoZSBtYW5pZmVzdAogICAgIyAt
IENvcHkgdGhlIG1hbmlmZXN0IGFuZCB0aGUgbGljZW5zZSBkaXJlY3RvcmllcwogICAgIyBXaXRo
IGJvdGggb3B0aW9ucyBzZXQgd2Ugc2VlIGEgLjUgTSBpbmNyZWFzZSBpbiBjb3JlLWltYWdlLW1p
bmltYWwKICAgIGNvcHlfbGljX21hbmlmZXN0ID0gZC5nZXRWYXIoJ0NPUFlfTElDX01BTklGRVNU
JykKICAgIGNvcHlfbGljX2RpcnMgPSBkLmdldFZhcignQ09QWV9MSUNfRElSUycpCiAgICBpZiBj
b3B5X2xpY19tYW5pZmVzdCA9PSAiMSI6CiAgICAgICAgcm9vdGZzX2xpY2Vuc2VfZGlyID0gb3Mu
cGF0aC5qb2luKGQuZ2V0VmFyKCdJTUFHRV9ST09URlMnKSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAndXNyJywgJ3NoYXJlJywgJ2NvbW1vbi1saWNlbnNlcycpCiAgICAgICAgYmIu
dXRpbHMubWtkaXJoaWVyKHJvb3Rmc19saWNlbnNlX2RpcikKICAgICAgICByb290ZnNfbGljZW5z
ZV9tYW5pZmVzdCA9IG9zLnBhdGguam9pbihyb290ZnNfbGljZW5zZV9kaXIsCiAgICAgICAgICAg
ICAgICBvcy5wYXRoLnNwbGl0KGxpY2Vuc2VfbWFuaWZlc3QpWzFdKQogICAgICAgIGlmIG5vdCBv
cy5wYXRoLmV4aXN0cyhyb290ZnNfbGljZW5zZV9tYW5pZmVzdCk6CiAgICAgICAgICAgIG9zLmxp
bmsobGljZW5zZV9tYW5pZmVzdCwgcm9vdGZzX2xpY2Vuc2VfbWFuaWZlc3QpCgogICAgICAgIGlm
IGNvcHlfbGljX2RpcnMgPT0gIjEiOgogICAgICAgICAgICBmb3IgcGtnIGluIHNvcnRlZChwa2df
ZGljKToKICAgICAgICAgICAgICAgIHBrZ19yb290ZnNfbGljZW5zZV9kaXIgPSBvcy5wYXRoLmpv
aW4ocm9vdGZzX2xpY2Vuc2VfZGlyLCBwa2cpCiAgICAgICAgICAgICAgICBiYi51dGlscy5ta2Rp
cmhpZXIocGtnX3Jvb3Rmc19saWNlbnNlX2RpcikKICAgICAgICAgICAgICAgIHBrZ19saWNlbnNl
X2RpciA9IG9zLnBhdGguam9pbihkLmdldFZhcignTElDRU5TRV9ESVJFQ1RPUlknKSwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwa2dfZGljW3BrZ11bIlBOIl0p
CgogICAgICAgICAgICAgICAgcGtnX21hbmlmZXN0X2xpY2Vuc2VzID0gW2Nhbm9uaWNhbF9saWNl
bnNlKGQsIGxpYykgXAogICAgICAgICAgICAgICAgICAgICAgICBmb3IgbGljIGluIHBrZ19kaWNb
cGtnXVsiTElDRU5TRVMiXV0KCiAgICAgICAgICAgICAgICBsaWNlbnNlcyA9IG9zLmxpc3RkaXIo
cGtnX2xpY2Vuc2VfZGlyKQogICAgICAgICAgICAgICAgZm9yIGxpYyBpbiBsaWNlbnNlczoKICAg
ICAgICAgICAgICAgICAgICByb290ZnNfbGljZW5zZSA9IG9zLnBhdGguam9pbihyb290ZnNfbGlj
ZW5zZV9kaXIsIGxpYykKICAgICAgICAgICAgICAgICAgICBwa2dfbGljZW5zZSA9IG9zLnBhdGgu
am9pbihwa2dfbGljZW5zZV9kaXIsIGxpYykKICAgICAgICAgICAgICAgICAgICBwa2dfcm9vdGZz
X2xpY2Vuc2UgPSBvcy5wYXRoLmpvaW4ocGtnX3Jvb3Rmc19saWNlbnNlX2RpciwgbGljKQoKICAg
ICAgICAgICAgICAgICAgICBpZiByZS5tYXRjaCgiXmdlbmVyaWNfLiokIiwgbGljKToKICAgICAg
ICAgICAgICAgICAgICAgICAgZ2VuZXJpY19saWMgPSBjYW5vbmljYWxfbGljZW5zZShkLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlLnNlYXJjaCgiXmdlbmVyaWNfKC4qKSQiLCBs
aWMpLmdyb3VwKDEpKQoKICAgICAgICAgICAgICAgICAgICAgICAgIyBEbyBub3QgY29weSBnZW5l
cmljIGxpY2Vuc2UgaW50byBwYWNrYWdlIGlmIGlzbid0CiAgICAgICAgICAgICAgICAgICAgICAg
ICMgZGVjbGFyZWQgaW50byBMSUNFTlNFUyBvZiB0aGUgcGFja2FnZS4KICAgICAgICAgICAgICAg
ICAgICAgICAgaWYgbm90IHJlLnN1YignXCskJywgJycsIGdlbmVyaWNfbGljKSBpbiBcCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JlLnN1YignXCsnLCAnJywgbGljKSBmb3IgbGlj
IGluIFwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGtnX21hbmlmZXN0X2xpY2Vu
c2VzXToKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCgogICAgICAgICAgICAg
ICAgICAgICAgICBpZiBvZS5saWNlbnNlLmxpY2Vuc2Vfb2soZ2VuZXJpY19saWMsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgYmFkX2xpY2Vuc2VzKSA9PSBGYWxzZToKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCgogICAgICAgICAgICAgICAgICAgICAgICBpZiBu
b3Qgb3MucGF0aC5leGlzdHMocm9vdGZzX2xpY2Vuc2UpOgogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgb3MubGluayhwa2dfbGljZW5zZSwgcm9vdGZzX2xpY2Vuc2UpCgogICAgICAgICAgICAg
ICAgICAgICAgICBpZiBub3Qgb3MucGF0aC5leGlzdHMocGtnX3Jvb3Rmc19saWNlbnNlKToKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIG9zLnN5bWxpbmsob3MucGF0aC5qb2luKCcuLicsIGxp
YyksIHBrZ19yb290ZnNfbGljZW5zZSkKICAgICAgICAgICAgICAgICAgICBlbHNlOgogICAgICAg
ICAgICAgICAgICAgICAgICBpZiAob2UubGljZW5zZS5saWNlbnNlX29rKGNhbm9uaWNhbF9saWNl
bnNlKGQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGljKSwgYmFkX2xpY2Vuc2Vz
KSA9PSBGYWxzZSBvcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9zLnBhdGguZXhp
c3RzKHBrZ19yb290ZnNfbGljZW5zZSkpOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
dGludWUKCiAgICAgICAgICAgICAgICAgICAgICAgIG9zLmxpbmsocGtnX2xpY2Vuc2UsIHBrZ19y
b290ZnNfbGljZW5zZSkKCn0KCgpweXRob24gd3JpdGVfcGFja2FnZV9tYW5pZmVzdCAoKSB7CiAg
ICAjIEdldCBsaXN0IG9mIGluc3RhbGxlZCBwYWNrYWdlcwogICAgbGljZW5zZV9pbWFnZV9kaXIg
PSBkLmV4cGFuZCgnJHtMSUNFTlNFX0RJUkVDVE9SWX0vJHtJTUFHRV9OQU1FfScpCiAgICBiYi51
dGlscy5ta2RpcmhpZXIobGljZW5zZV9pbWFnZV9kaXIpCiAgICBmcm9tIG9lLnJvb3RmcyBpbXBv
cnQgaW1hZ2VfbGlzdF9pbnN0YWxsZWRfcGFja2FnZXMKICAgIGZyb20gb2UudXRpbHMgaW1wb3J0
IGZvcm1hdF9wa2dfbGlzdAoKICAgIHBrZ3MgPSBpbWFnZV9saXN0X2luc3RhbGxlZF9wYWNrYWdl
cyhkKQogICAgb3V0cHV0ID0gZm9ybWF0X3BrZ19saXN0KHBrZ3MpCiAgICBvcGVuKG9zLnBhdGgu
am9pbihsaWNlbnNlX2ltYWdlX2RpciwgJ3BhY2thZ2UubWFuaWZlc3QnKSwKICAgICAgICAndysn
KS53cml0ZShvdXRwdXQpCn0KCgpweXRob24gd3JpdGVfcnBtX3BlcmZpbGVkYXRhICgpIHsKZGVm
IHdyaXRlX3JwbV9wZXJmaWxlZGF0YShzcmNuYW1lLCBkKToKICAgIHdvcmtkaXIgPSBkLmdldFZh
cignV09SS0RJUicpCiAgICBwYWNrYWdlcyA9IGQuZ2V0VmFyKCdQQUNLQUdFUycpCiAgICBwa2dk
ID0gZC5nZXRWYXIoJ1BLR0QnKQoKICAgIGRlZiBkdW1wX2ZpbGVyZGVwcyh2YXJuYW1lLCBvdXRm
aWxlLCBkKToKICAgICAgICBvdXRmaWxlLndyaXRlKCIjIS91c3IvYmluL2VudiBweXRob25cblxu
IikKICAgICAgICBvdXRmaWxlLndyaXRlKCIjIERlcGVuZGVuY3kgdGFibGVcbiIpCiAgICAgICAg
b3V0ZmlsZS53cml0ZSgnZGVwcyA9IHtcbicpCiAgICAgICAgZm9yIHBrZyBpbiBwYWNrYWdlcy5z
cGxpdCgpOgogICAgICAgICAgICBkZXBlbmRzZmxpc3Rfa2V5ID0gJ0ZJTEUnICsgdmFybmFtZSAr
ICdGTElTVCcgKyAiXyIgKyBwa2cKICAgICAgICAgICAgZGVwZW5kc2ZsaXN0ID0gKGQuZ2V0VmFy
KGRlcGVuZHNmbGlzdF9rZXkpIG9yICIiKQogICAgICAgICAgICBmb3IgZGZpbGUgaW4gZGVwZW5k
c2ZsaXN0LnNwbGl0KCk6CiAgICAgICAgICAgICAgICBrZXkgPSAiRklMRSIgKyB2YXJuYW1lICsg
Il8iICsgZGZpbGUgKyAiXyIgKyBwa2cKICAgICAgICAgICAgICAgIGRlcHMgPSBmaWx0ZXJfbmF0
aXZlc2RrX2RlcHMoc3JjbmFtZSwgZC5nZXRWYXIoa2V5KSBvciAiIikKICAgICAgICAgICAgICAg
IGRlcGVuZHNfZGljdCA9IGJiLnV0aWxzLmV4cGxvZGVfZGVwX3ZlcnNpb25zKGRlcHMpCiAgICAg
ICAgICAgICAgICBmaWxlID0gZGZpbGUucmVwbGFjZSgiQHVuZGVyc2NvcmVAIiwgIl8iKQogICAg
ICAgICAgICAgICAgZmlsZSA9IGZpbGUucmVwbGFjZSgiQGNsb3NlYnJhY2VAIiwgIl0iKQogICAg
ICAgICAgICAgICAgZmlsZSA9IGZpbGUucmVwbGFjZSgiQG9wZW5icmFjZUAiLCAiWyIpCiAgICAg
ICAgICAgICAgICBmaWxlID0gZmlsZS5yZXBsYWNlKCJAdGFiQCIsICJcdCIpCiAgICAgICAgICAg
ICAgICBmaWxlID0gZmlsZS5yZXBsYWNlKCJAc3BhY2VAIiwgIiAiKQogICAgICAgICAgICAgICAg
ZmlsZSA9IGZpbGUucmVwbGFjZSgiQGF0QCIsICJAIikKICAgICAgICAgICAgICAgIG91dGZpbGUu
d3JpdGUoJyInICsgcGtnZCArIGZpbGUgKyAnIiA6ICInKQogICAgICAgICAgICAgICAgZm9yIGRl
cCBpbiBkZXBlbmRzX2RpY3Q6CiAgICAgICAgICAgICAgICAgICAgdmVyID0gZGVwZW5kc19kaWN0
W2RlcF0KICAgICAgICAgICAgICAgICAgICBpZiBkZXAgYW5kIHZlcjoKICAgICAgICAgICAgICAg
ICAgICAgICAgdmVyID0gdmVyLnJlcGxhY2UoIigiLCIiKQogICAgICAgICAgICAgICAgICAgICAg
ICB2ZXIgPSB2ZXIucmVwbGFjZSgiKSIsIiIpCiAgICAgICAgICAgICAgICAgICAgICAgIG91dGZp
bGUud3JpdGUoZGVwICsgIiAiICsgdmVyICsgIiAiKQogICAgICAgICAgICAgICAgICAgIGVsc2U6
CiAgICAgICAgICAgICAgICAgICAgICAgIG91dGZpbGUud3JpdGUoZGVwICsgIiAiKQogICAgICAg
ICAgICAgICAgb3V0ZmlsZS53cml0ZSgnIixcbicpCiAgICAgICAgb3V0ZmlsZS53cml0ZSgnfVxu
XG4nKQogICAgICAgIG91dGZpbGUud3JpdGUoImltcG9ydCBzeXNcbiIpCiAgICAgICAgb3V0Zmls
ZS53cml0ZSgid2hpbGUgMTpcbiIpCiAgICAgICAgb3V0ZmlsZS53cml0ZSgiXHRsaW5lID0gc3lz
LnN0ZGluLnJlYWRsaW5lKCkuc3RyaXAoKVxuIikKICAgICAgICBvdXRmaWxlLndyaXRlKCJcdGlm
IG5vdCBsaW5lOlxuIikKICAgICAgICBvdXRmaWxlLndyaXRlKCJcdFx0c3lzLmV4aXQoMClcbiIp
CiAgICAgICAgb3V0ZmlsZS53cml0ZSgiXHRpZiBsaW5lIGluIGRlcHM6XG4iKQogICAgICAgIG91
dGZpbGUud3JpdGUoIlx0XHRwcmludChkZXBzW2xpbmVdICsgJ1xcbicpXG4iKQoKICAgICMgT0Ut
Y29yZSBkZXBlbmRlbmNpZXMgYS5rLmEuIFJQTSByZXF1aXJlcwogICAgb3V0ZGVwZW5kcyA9IHdv
cmtkaXIgKyAiLyIgKyBzcmNuYW1lICsgIi5yZXF1aXJlcyIKCiAgICBkZXBlbmRzZmlsZSA9IG9w
ZW4ob3V0ZGVwZW5kcywgJ3cnKQoKICAgIGR1bXBfZmlsZXJkZXBzKCdSREVQRU5EUycsIGRlcGVu
ZHNmaWxlLCBkKQoKICAgIGRlcGVuZHNmaWxlLmNsb3NlKCkKICAgIG9zLmNobW9kKG91dGRlcGVu
ZHMsIDBvNzU1KQoKICAgICMgT0UtY29yZSAvIFJQTSBQcm92aWRlcwogICAgb3V0cHJvdmlkZXMg
PSB3b3JrZGlyICsgIi8iICsgc3JjbmFtZSArICIucHJvdmlkZXMiCgogICAgcHJvdmlkZXNmaWxl
ID0gb3BlbihvdXRwcm92aWRlcywgJ3cnKQoKICAgIGR1bXBfZmlsZXJkZXBzKCdSUFJPVklERVMn
LCBwcm92aWRlc2ZpbGUsIGQpCgogICAgcHJvdmlkZXNmaWxlLmNsb3NlKCkKICAgIG9zLmNobW9k
KG91dHByb3ZpZGVzLCAwbzc1NSkKCiAgICByZXR1cm4gKG91dGRlcGVuZHMsIG91dHByb3ZpZGVz
KQoKfQoKCnB5dGhvbiB3cml0ZV9zcGVjZmlsZSAoKSB7CiAgICBpbXBvcnQgb2UucGFja2FnZWRh
dGEKCiAgICAjIGFwcGVuZCBpbmZvcm1hdGlvbiBmb3IgbG9ncyBhbmQgcGF0Y2hlcyB0byAlcHJl
cAogICAgZGVmIGFkZF9wcmVwKGQsc3BlY19maWxlc19ib3R0b20pOgogICAgICAgIGlmIGQuZ2V0
VmFyRmxhZygnQVJDSElWRVJfTU9ERScsICdzcnBtJykgPT0gJzEnIGFuZCBiYi5kYXRhLmluaGVy
aXRzX2NsYXNzKCdhcmNoaXZlcicsIGQpOgogICAgICAgICAgICBzcGVjX2ZpbGVzX2JvdHRvbS5h
cHBlbmQoJyUlcHJlcCAtbiAlcycgJSBkLmdldFZhcignUE4nKSApCiAgICAgICAgICAgIHNwZWNf
ZmlsZXNfYm90dG9tLmFwcGVuZCgnJXMnICUgImVjaG8gXCJpbmNsdWRlIGxvZ3MgYW5kIHBhdGNo
ZXMsIFBsZWFzZSBjaGVjayB0aGVtIGluIFNPVVJDRVNcIiIpCiAgICAgICAgICAgIHNwZWNfZmls
ZXNfYm90dG9tLmFwcGVuZCgnJykKCiAgICAjIGFwcGVuZCB0aGUgbmFtZSBvZiB0YXJiYWxsIHRv
IGtleSB3b3JkICdTT1VSQ0UnIGluIHh4eC5zcGVjLgogICAgZGVmIHRhaWxfc291cmNlKGQpOgog
ICAgICAgIGlmIGQuZ2V0VmFyRmxhZygnQVJDSElWRVJfTU9ERScsICdzcnBtJykgPT0gJzEnIGFu
ZCBiYi5kYXRhLmluaGVyaXRzX2NsYXNzKCdhcmNoaXZlcicsIGQpOgogICAgICAgICAgICBhcl9v
dXRkaXIgPSBkLmdldFZhcignQVJDSElWRVJfT1VURElSJykKICAgICAgICAgICAgaWYgbm90IG9z
LnBhdGguZXhpc3RzKGFyX291dGRpcik6CiAgICAgICAgICAgICAgICByZXR1cm4KICAgICAgICAg
ICAgc291cmNlX2xpc3QgPSBvcy5saXN0ZGlyKGFyX291dGRpcikKICAgICAgICAgICAgc291cmNl
X251bWJlciA9IDAKICAgICAgICAgICAgZm9yIHNvdXJjZSBpbiBzb3VyY2VfbGlzdDoKICAgICAg
ICAgICAgICAgICMgVGhlIHJwbWJ1aWxkIGRvZXNuJ3QgbmVlZCB0aGUgcm9vdCBwZXJtaXNzaW9u
LCBidXQgaXQgbmVlZHMKICAgICAgICAgICAgICAgICMgdG8ga25vdyB0aGUgZmlsZSdzIHVzZXIg
YW5kIGdyb3VwIG5hbWUsIHRoZSBvbmx5IHVzZXIgYW5kCiAgICAgICAgICAgICAgICAjIGdyb3Vw
IGluIGZha2Vyb290IGlzICJyb290IiB3aGVuIHdvcmtpbmcgaW4gZmFrZXJvb3QuCiAgICAgICAg
ICAgICAgICBmID0gb3MucGF0aC5qb2luKGFyX291dGRpciwgc291cmNlKQogICAgICAgICAgICAg
ICAgb3MuY2hvd24oZiwgMCwgMCkKICAgICAgICAgICAgICAgIHNwZWNfcHJlYW1ibGVfdG9wLmFw
cGVuZCgnU291cmNlJXM6ICVzJyAlIChzb3VyY2VfbnVtYmVyLCBzb3VyY2UpKQogICAgICAgICAg
ICAgICAgc291cmNlX251bWJlciArPSAxCgogICAgIyBJbiBSUE0sIGRlcGVuZGVuY2llcyBhcmUg
b2YgdGhlIGZvcm1hdDogcGtnIDw+PSBFcG9jaDpWZXJzaW9uLVJlbGVhc2UKICAgICMgVGhpcyBm
b3JtYXQgaXMgc2ltaWxhciB0byBPRSwgaG93ZXZlciB0aGVyZSBhcmUgcmVzdHJpY3Rpb25zIG9u
IHRoZQogICAgIyBjaGFyYWN0ZXJzIHRoYXQgY2FuIGJlIGluIGEgZmllbGQuICBJbiB0aGUgVmVy
c2lvbiBmaWVsZCwgIi0iCiAgICAjIGNoYXJhY3RlcnMgYXJlIG5vdCBhbGxvd2VkLiAgIi0iIGlz
IGFsbG93ZWQgaW4gdGhlIFJlbGVhc2UgZmllbGQuCiAgICAjCiAgICAjIFdlIHRyYW5zbGF0ZSB0
aGUgIi0iIGluIHRoZSB2ZXJzaW9uIHRvIGEgIisiLCBieSBsb2FkaW5nIHRoZSBQS0dWCiAgICAj
IGZyb20gdGhlIGRlcGVuZGVudCByZWNpcGUsIHJlcGxhY2luZyB0aGUgLSB3aXRoIGEgKywgYW5k
IHRoZW4gdXNpbmcKICAgICMgdGhhdCB2YWx1ZSB0byBkbyBhIHJlcGxhY2UgaW5zaWRlIG9mIHRo
aXMgcmVjaXBlJ3MgZGVwZW5kZW5jaWVzLgogICAgIyBUaGlzIHByZXNlcnZlcyB0aGUgIi0iIHNl
cGFyYXRvciBiZXR3ZWVuIHRoZSB2ZXJzaW9uIGFuZCByZWxlYXNlLCBhcwogICAgIyB3ZWxsIGFz
IGFueSAiLSIgY2hhcmFjdGVycyBpbnNpZGUgb2YgdGhlIHJlbGVhc2UgZmllbGQuCiAgICAjCiAg
ICAjIEFsbCBvZiB0aGlzIGhhcyB0byBoYXBwZW4gQkVGT1JFIHRoZSBtYXBwaW5nX3JlbmFtZV9o
b29rIGFzCiAgICAjIGFmdGVyIHJlbmFtaW5nIHdlIGNhbm5vdCBsb29rIHVwIHRoZSBkZXBlbmRl
bmNpZXMgaW4gdGhlIHBhY2thZ2VkYXRhCiAgICAjIHN0b3JlLgogICAgZGVmIHRyYW5zbGF0ZV92
ZXJzKHZhcm5hbWUsIGQpOgogICAgICAgIGRlcGVuZHMgPSBkLmdldFZhcih2YXJuYW1lKQogICAg
ICAgIGlmIGRlcGVuZHM6CiAgICAgICAgICAgIGRlcGVuZHNfZGljdCA9IGJiLnV0aWxzLmV4cGxv
ZGVfZGVwX3ZlcnNpb25zMihkZXBlbmRzKQogICAgICAgICAgICBuZXdkZXBzX2RpY3QgPSB7fQog
ICAgICAgICAgICBmb3IgZGVwIGluIGRlcGVuZHNfZGljdDoKICAgICAgICAgICAgICAgIHZlcmxp
c3QgPSBbXQogICAgICAgICAgICAgICAgZm9yIHZlciBpbiBkZXBlbmRzX2RpY3RbZGVwXToKICAg
ICAgICAgICAgICAgICAgICBpZiAnLScgaW4gdmVyOgogICAgICAgICAgICAgICAgICAgICAgICBz
dWJkID0gb2UucGFja2FnZWRhdGEucmVhZF9zdWJwa2dkYXRhX2RpY3QoZGVwLCBkKQogICAgICAg
ICAgICAgICAgICAgICAgICBpZiAnUEtHVicgaW4gc3ViZDoKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHB2ID0gc3ViZFsnUFYnXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgcGtndiA9
IHN1YmRbJ1BLR1YnXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVwcHYgPSBwa2d2LnJl
cGxhY2UoJy0nLCAnKycpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2ZXIgPSB2ZXIucmVw
bGFjZShwdiwgcmVwcHYpLnJlcGxhY2UocGtndiwgcmVwcHYpCiAgICAgICAgICAgICAgICAgICAg
ICAgIGlmICdQS0dSJyBpbiBzdWJkOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBNYWtl
IHN1cmUgUEtHUiByYXRoZXIgdGhhbiBQUiBpbiB2ZXIKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHByID0gJy0nICsgc3ViZFsnUFInXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgcGtn
ciA9ICctJyArIHN1YmRbJ1BLR1InXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgcGtn
ciBub3QgaW4gdmVyOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZlciA9IHZlci5y
ZXBsYWNlKHByLCBwa2dyKQogICAgICAgICAgICAgICAgICAgICAgICB2ZXJsaXN0LmFwcGVuZCh2
ZXIpCiAgICAgICAgICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICAgICAgICAgdmVy
bGlzdC5hcHBlbmQodmVyKQogICAgICAgICAgICAgICAgbmV3ZGVwc19kaWN0W2RlcF0gPSB2ZXJs
aXN0CiAgICAgICAgICAgIGRlcGVuZHMgPSBiYi51dGlscy5qb2luX2RlcHMobmV3ZGVwc19kaWN0
KQogICAgICAgICAgICBkLnNldFZhcih2YXJuYW1lLCBkZXBlbmRzLnN0cmlwKCkpCgogICAgIyBX
ZSBuZWVkIHRvIGNoYW5nZSB0aGUgc3R5bGUgdGhlIGRlcGVuZGVuY3kgZnJvbSBCQiB0byBSUE0K
ICAgICMgVGhpcyBuZWVkcyB0byBoYXBwZW4gQUZURVIgdGhlIG1hcHBpbmdfcmVuYW1lX2hvb2sK
ICAgIGRlZiBwcmludF9kZXBzKHZhcmlhYmxlLCB0YWcsIGFycmF5LCBkKToKICAgICAgICBkZXBl
bmRzID0gdmFyaWFibGUKICAgICAgICBpZiBkZXBlbmRzOgogICAgICAgICAgICBkZXBlbmRzX2Rp
Y3QgPSBiYi51dGlscy5leHBsb2RlX2RlcF92ZXJzaW9uczIoZGVwZW5kcykKICAgICAgICAgICAg
Zm9yIGRlcCBpbiBkZXBlbmRzX2RpY3Q6CiAgICAgICAgICAgICAgICBmb3IgdmVyIGluIGRlcGVu
ZHNfZGljdFtkZXBdOgogICAgICAgICAgICAgICAgICAgIHZlciA9IHZlci5yZXBsYWNlKCcoJywg
JycpCiAgICAgICAgICAgICAgICAgICAgdmVyID0gdmVyLnJlcGxhY2UoJyknLCAnJykKICAgICAg
ICAgICAgICAgICAgICBhcnJheS5hcHBlbmQoIiVzOiAlcyAlcyIgJSAodGFnLCBkZXAsIHZlcikp
CiAgICAgICAgICAgICAgICBpZiBub3QgbGVuKGRlcGVuZHNfZGljdFtkZXBdKToKICAgICAgICAg
ICAgICAgICAgICBhcnJheS5hcHBlbmQoIiVzOiAlcyIgJSAodGFnLCBkZXApKQoKICAgIGRlZiB3
YWxrX2ZpbGVzKHdhbGtwYXRoLCB0YXJnZXQsIGNvbmZmaWxlcywgZGlyZmlsZXMpOgogICAgICAg
ICMgV2UgY2FuIHJhY2UgYWdhaW5zdCB0aGUgaXBrL2RlYiBiYWNrZW5kcyB3aGljaCBjcmVhdGUg
Q09OVFJPTCBvciBERUJJQU4gZGlyZWN0b3JpZXMKICAgICAgICAjIHdoZW4gcGFja2FnaW5nLiBX
ZSBqdXN0IGlnbm9yZSB0aGVzZSBmaWxlcyB3aGljaCBhcmUgY3JlYXRlZCBpbgogICAgICAgICMg
cGFja2FnZXMtc3BsaXQvIGFuZCBub3QgcGFja2FnZS8KICAgICAgICAjIFdlIGhhdmUgdGhlIG9k
ZCBzaXR1YXRpb24gd2hlcmUgdGhlIENPTlRST0wvREVCSUFOIGRpcmVjdG9yeSBjYW4gYmUgcmVt
b3ZlZCBpbiB0aGUgbWlkZGxlIG9mCiAgICAgICAgIyBvZiB0aGUgd2FsaywgdGhlIGlzZGlyKCkg
dGVzdCB3b3VsZCB0aGVuIGZhaWwgYW5kIHRoZSB3YWxrIGNvZGUgd291bGQgYXNzdW1lIGl0cyBh
IGZpbGUKICAgICAgICAjIGhlbmNlIHdlIGNoZWNrIGZvciB0aGUgbmFtZXMgaW4gZmlsZXMgdG9v
LgogICAgICAgIGZvciByb290cGF0aCwgZGlycywgZmlsZXMgaW4gb3Mud2Fsayh3YWxrcGF0aCk6
CiAgICAgICAgICAgIHBhdGggPSByb290cGF0aC5yZXBsYWNlKHdhbGtwYXRoLCAiIikKICAgICAg
ICAgICAgaWYgcGF0aC5lbmRzd2l0aCgiREVCSUFOIikgb3IgcGF0aC5lbmRzd2l0aCgiQ09OVFJP
TCIpOgogICAgICAgICAgICAgICAgY29udGludWUKICAgICAgICAgICAgcGF0aCA9IHBhdGgucmVw
bGFjZSgiJSIsICIlJSUlJSUlJSIpCiAgICAgICAgICAgIHBhdGggPSBwYXRoLnJlcGxhY2UoIlsi
LCAiPyIpCiAgICAgICAgICAgIHBhdGggPSBwYXRoLnJlcGxhY2UoIl0iLCAiPyIpCgogICAgICAg
ICAgICAjIFRyZWF0IGFsbCBzeW1saW5rcyB0byBkaXJlY3RvcmllcyBhcyBub3JtYWwgZmlsZXMu
CiAgICAgICAgICAgICMgb3Mud2FsaygpIGxpc3RzIHRoZW0gYXMgZGlyZWN0b3JpZXMuCiAgICAg
ICAgICAgIGRlZiBtb3ZlX3RvX2ZpbGVzKGRpcik6CiAgICAgICAgICAgICAgICBpZiBvcy5wYXRo
LmlzbGluayhvcy5wYXRoLmpvaW4ocm9vdHBhdGgsIGRpcikpOgogICAgICAgICAgICAgICAgICAg
IGZpbGVzLmFwcGVuZChkaXIpCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFRydWUKICAgICAg
ICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEZhbHNlCiAgICAgICAg
ICAgIGRpcnNbOl0gPSBbZGlyIGZvciBkaXIgaW4gZGlycyBpZiBub3QgbW92ZV90b19maWxlcyhk
aXIpXQoKICAgICAgICAgICAgIyBEaXJlY3RvcnkgaGFuZGxpbmcgY2FuIGhhcHBlbiBpbiB0d28g
d2F5cywgZWl0aGVyIERJUkZJTEVTIGlzIG5vdCBzZXQgYXQgYWxsCiAgICAgICAgICAgICMgaW4g
d2hpY2ggY2FzZSB3ZSBmYWxsIGJhY2sgdG8gdGhlIG9sZGVyIGJlaGF2aW91ciBvZiBwYWNrYWdl
cyBvd25pbmcgYWxsIHRoZWlyCiAgICAgICAgICAgICMgZGlyZWN0b3JpZXMKICAgICAgICAgICAg
aWYgZGlyZmlsZXMgaXMgTm9uZToKICAgICAgICAgICAgICAgIGZvciBkaXIgaW4gZGlyczoKICAg
ICAgICAgICAgICAgICAgICBpZiBkaXIgPT0gIkNPTlRST0wiIG9yIGRpciA9PSAiREVCSUFOIjoK
ICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWUKICAgICAgICAgICAgICAgICAgICBkaXIg
PSBkaXIucmVwbGFjZSgiJSIsICIlJSUlJSUlJSIpCiAgICAgICAgICAgICAgICAgICAgZGlyID0g
ZGlyLnJlcGxhY2UoIlsiLCAiPyIpCiAgICAgICAgICAgICAgICAgICAgZGlyID0gZGlyLnJlcGxh
Y2UoIl0iLCAiPyIpCiAgICAgICAgICAgICAgICAgICAgIyBBbGwgcGFja2FnZXMgb3duIHRoZSBk
aXJlY3RvcmllcyB0aGVpciBmaWxlcyBhcmUgaW4uLi4KICAgICAgICAgICAgICAgICAgICB0YXJn
ZXQuYXBwZW5kKCclZGlyICInICsgcGF0aCArICcvJyArIGRpciArICciJykKICAgICAgICAgICAg
ZWxzZToKICAgICAgICAgICAgICAgICMgcGFja2FnZXMgb3duIG9ubHkgZW1wdHkgZGlyZWN0b3Jp
ZXMgb3IgZXhwbGljdCBkaXJlY3RvcnkuCiAgICAgICAgICAgICAgICAjIFRoaXMgd2lsbCBwcmV2
ZW50IHRoZSBvdmVybGFwcGluZyBvZiBzZWN1cml0eSBwZXJtaXNzaW9uLgogICAgICAgICAgICAg
ICAgaWYgcGF0aCBhbmQgbm90IGZpbGVzIGFuZCBub3QgZGlyczoKICAgICAgICAgICAgICAgICAg
ICB0YXJnZXQuYXBwZW5kKCclZGlyICInICsgcGF0aCArICciJykKICAgICAgICAgICAgICAgIGVs
aWYgcGF0aCBhbmQgcGF0aCBpbiBkaXJmaWxlczoKICAgICAgICAgICAgICAgICAgICB0YXJnZXQu
YXBwZW5kKCclZGlyICInICsgcGF0aCArICciJykKCiAgICAgICAgICAgIGZvciBmaWxlIGluIGZp
bGVzOgogICAgICAgICAgICAgICAgaWYgZmlsZSA9PSAiQ09OVFJPTCIgb3IgZmlsZSA9PSAiREVC
SUFOIjoKICAgICAgICAgICAgICAgICAgICBjb250aW51ZQogICAgICAgICAgICAgICAgZmlsZSA9
IGZpbGUucmVwbGFjZSgiJSIsICIlJSUlJSUlJSIpCiAgICAgICAgICAgICAgICBmaWxlID0gZmls
ZS5yZXBsYWNlKCJbIiwgIj8iKQogICAgICAgICAgICAgICAgZmlsZSA9IGZpbGUucmVwbGFjZSgi
XSIsICI/IikKICAgICAgICAgICAgICAgIGlmIGNvbmZmaWxlcy5jb3VudChwYXRoICsgJy8nICsg
ZmlsZSk6CiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0LmFwcGVuZCgnJWNvbmZpZyAiJyArIHBh
dGggKyAnLycgKyBmaWxlICsgJyInKQogICAgICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAg
ICAgICAgICB0YXJnZXQuYXBwZW5kKCciJyArIHBhdGggKyAnLycgKyBmaWxlICsgJyInKQoKICAg
ICMgUHJldmVudCB0aGUgcHJlcm0vcG9zdHJtIHNjcmlwdHMgZnJvbSBiZWluZyBydW4gZHVyaW5n
IGFuIHVwZ3JhZGUKICAgIGRlZiB3cmFwX3VuaW5zdGFsbChzY3JpcHR2YXIpOgogICAgICAgIHNj
ciA9IHNjcmlwdHZhci5zdHJpcCgpCiAgICAgICAgaWYgc2NyLnN0YXJ0c3dpdGgoIiMhIik6CiAg
ICAgICAgICAgIHBvcyA9IHNjci5maW5kKCJcbiIpICsgMQogICAgICAgIGVsc2U6CiAgICAgICAg
ICAgIHBvcyA9IDAKICAgICAgICBzY3IgPSBzY3JbOnBvc10gKyAnaWYgWyAiJDEiID0gIjAiIF0g
OyB0aGVuXG4nICsgc2NyW3BvczpdICsgJ1xuZmknCiAgICAgICAgcmV0dXJuIHNjcgoKICAgIGRl
ZiBnZXRfcGVyZmlsZSh2YXJuYW1lLCBwa2csIGQpOgogICAgICAgIGRlcHMgPSBbXQogICAgICAg
IGRlcGVuZHNmbGlzdF9rZXkgPSAnRklMRScgKyB2YXJuYW1lICsgJ0ZMSVNUJyArICJfIiArIHBr
ZwogICAgICAgIGRlcGVuZHNmbGlzdCA9IChkLmdldFZhcihkZXBlbmRzZmxpc3Rfa2V5KSBvciAi
IikKICAgICAgICBmb3IgZGZpbGUgaW4gZGVwZW5kc2ZsaXN0LnNwbGl0KCk6CiAgICAgICAgICAg
IGtleSA9ICJGSUxFIiArIHZhcm5hbWUgKyAiXyIgKyBkZmlsZSArICJfIiArIHBrZwogICAgICAg
ICAgICBkZXBlbmRzID0gZC5nZXRWYXIoa2V5KQogICAgICAgICAgICBpZiBkZXBlbmRzOgogICAg
ICAgICAgICAgICAgZGVwcy5hcHBlbmQoZGVwZW5kcykKICAgICAgICByZXR1cm4gIiAiLmpvaW4o
ZGVwcykKCiAgICBkZWYgYXBwZW5kX2Rlc2NyaXB0aW9uKHNwZWNfcHJlYW1ibGUsIHRleHQpOgog
ICAgICAgICIiIgogICAgICAgIEFkZCB0aGUgZGVzY3JpcHRpb24gdG8gdGhlIHNwZWMgZmlsZS4K
ICAgICAgICAiIiIKICAgICAgICBpbXBvcnQgdGV4dHdyYXAKICAgICAgICBkZWRlbnRfdGV4dCA9
IHRleHR3cmFwLmRlZGVudCh0ZXh0KS5zdHJpcCgpCiAgICAgICAgIyBCaXRiYWtlIHNhdmVzICJc
biIgYXMgIlxcbiIKICAgICAgICBpZiAnXFxuJyBpbiBkZWRlbnRfdGV4dDoKICAgICAgICAgICAg
Zm9yIHQgaW4gZGVkZW50X3RleHQuc3BsaXQoJ1xcbicpOgogICAgICAgICAgICAgICAgc3BlY19w
cmVhbWJsZS5hcHBlbmQodC5zdHJpcCgpKQogICAgICAgIGVsc2U6CiAgICAgICAgICAgIHNwZWNf
cHJlYW1ibGUuYXBwZW5kKCclcycgJSB0ZXh0d3JhcC5maWxsKGRlZGVudF90ZXh0LCB3aWR0aD03
NSkpCgogICAgcGFja2FnZXMgPSBkLmdldFZhcignUEFDS0FHRVMnKQogICAgaWYgbm90IHBhY2th
Z2VzIG9yIHBhY2thZ2VzID09ICcnOgogICAgICAgIGJiLmRlYnVnKDEsICJObyBwYWNrYWdlczsg
bm90aGluZyB0byBkbyIpCiAgICAgICAgcmV0dXJuCgogICAgcGtnZGVzdCA9IGQuZ2V0VmFyKCdQ
S0dERVNUJykKICAgIGlmIG5vdCBwa2dkZXN0OgogICAgICAgIGJiLmZhdGFsKCJObyBQS0dERVNU
IikKCiAgICBvdXRzcGVjZmlsZSA9IGQuZ2V0VmFyKCdPVVRTUEVDRklMRScpCiAgICBpZiBub3Qg
b3V0c3BlY2ZpbGU6CiAgICAgICAgYmIuZmF0YWwoIk5vIE9VVFNQRUNGSUxFIikKCiAgICAjIENv
bnN0cnVjdCB0aGUgU1BFQyBmaWxlLi4uCiAgICBzcmNuYW1lICAgID0gZC5nZXRWYXIoJ1BOJykK
ICAgIHNyY3N1bW1hcnkgPSAoZC5nZXRWYXIoJ1NVTU1BUlknKSBvciBkLmdldFZhcignREVTQ1JJ
UFRJT04nKSBvciAiLiIpCiAgICBzcmN2ZXJzaW9uID0gZC5nZXRWYXIoJ1BLR1YnKS5yZXBsYWNl
KCctJywgJysnKQogICAgc3JjcmVsZWFzZSA9IGQuZ2V0VmFyKCdQS0dSJykKICAgIHNyY2Vwb2No
ICAgPSAoZC5nZXRWYXIoJ1BLR0UnKSBvciAiIikKICAgIHNyY2xpY2Vuc2UgPSBkLmdldFZhcign
TElDRU5TRScpCiAgICBzcmNzZWN0aW9uID0gZC5nZXRWYXIoJ1NFQ1RJT04nKQogICAgc3JjbWFp
bnRhaW5lciAgPSBkLmdldFZhcignTUFJTlRBSU5FUicpCiAgICBzcmNob21lcGFnZSAgICA9IGQu
Z2V0VmFyKCdIT01FUEFHRScpCiAgICBzcmNkZXNjcmlwdGlvbiA9IGQuZ2V0VmFyKCdERVNDUklQ
VElPTicpIG9yICIuIgogICAgc3JjY3VzdG9tdGFnc2NodW5rID0gZ2V0X3BhY2thZ2VfYWRkaXRp
b25hbF9tZXRhZGF0YSgicnBtIiwgZCkKCiAgICBzcmNkZXBlbmRzICAgICA9IGQuZ2V0VmFyKCdE
RVBFTkRTJykKICAgIHNyY3JkZXBlbmRzICAgID0gW10KICAgIHNyY3JyZWNvbW1lbmRzID0gW10K
ICAgIHNyY3JzdWdnZXN0cyAgID0gW10KICAgIHNyY3Jwcm92aWRlcyAgID0gW10KICAgIHNyY3Jy
ZXBsYWNlcyAgID0gW10KICAgIHNyY3Jjb25mbGljdHMgID0gW10KICAgIHNyY3JvYnNvbGV0ZXMg
ID0gW10KCiAgICBzcmNycHJlaW5zdCAgPSBbXQogICAgc3JjcnBvc3RpbnN0ID0gW10KICAgIHNy
Y3JwcmVybSAgICA9IFtdCiAgICBzcmNycG9zdHJtICAgPSBbXQoKICAgIHNwZWNfcHJlYW1ibGVf
dG9wID0gW10KICAgIHNwZWNfcHJlYW1ibGVfYm90dG9tID0gW10KCiAgICBzcGVjX3NjcmlwdGxl
dHNfdG9wID0gW10KICAgIHNwZWNfc2NyaXB0bGV0c19ib3R0b20gPSBbXQoKICAgIHNwZWNfZmls
ZXNfdG9wID0gW10KICAgIHNwZWNfZmlsZXNfYm90dG9tID0gW10KCiAgICBwZXJmaWxlZGVwcyA9
IChkLmdldFZhcigiTUVSR0VQRVJGSUxFREVQUyIpIG9yICIwIikgPT0gIjAiCiAgICBleHRyYV9w
a2dkYXRhID0gKGQuZ2V0VmFyKCJSUE1fRVhUUkFfUEtHREFUQSIpIG9yICIwIikgPT0gIjEiCgog
ICAgZm9yIHBrZyBpbiBwYWNrYWdlcy5zcGxpdCgpOgogICAgICAgIGxvY2FsZGF0YSA9IGJiLmRh
dGEuY3JlYXRlQ29weShkKQoKICAgICAgICByb290ID0gIiVzLyVzIiAlIChwa2dkZXN0LCBwa2cp
CgogICAgICAgIGxvY2FsZGF0YS5zZXRWYXIoJ1JPT1QnLCAnJykKICAgICAgICBsb2NhbGRhdGEu
c2V0VmFyKCdST09UXyVzJyAlIHBrZywgcm9vdCkKICAgICAgICBwa2duYW1lID0gbG9jYWxkYXRh
LmdldFZhcignUEtHXyVzJyAlIHBrZykKICAgICAgICBpZiBub3QgcGtnbmFtZToKICAgICAgICAg
ICAgcGtnbmFtZSA9IHBrZwogICAgICAgIGxvY2FsZGF0YS5zZXRWYXIoJ1BLRycsIHBrZ25hbWUp
CgogICAgICAgIGxvY2FsZGF0YS5zZXRWYXIoJ09WRVJSSURFUycsIGQuZ2V0VmFyKCJPVkVSUklE
RVMiLCBGYWxzZSkgKyAiOiIgKyBwa2cpCgogICAgICAgIGNvbmZmaWxlcyA9IGdldF9jb25mZmls
ZXMocGtnLCBkKQogICAgICAgIGRpcmZpbGVzID0gbG9jYWxkYXRhLmdldFZhcignRElSRklMRVMn
KQogICAgICAgIGlmIGRpcmZpbGVzIGlzIG5vdCBOb25lOgogICAgICAgICAgICBkaXJmaWxlcyA9
IGRpcmZpbGVzLnNwbGl0KCkKCiAgICAgICAgc3BsaXRuYW1lICAgID0gcGtnbmFtZQoKICAgICAg
ICBzcGxpdHN1bW1hcnkgPSAobG9jYWxkYXRhLmdldFZhcignU1VNTUFSWScpIG9yIGxvY2FsZGF0
YS5nZXRWYXIoJ0RFU0NSSVBUSU9OJykgb3IgIi4iKQogICAgICAgIHNwbGl0dmVyc2lvbiA9IChs
b2NhbGRhdGEuZ2V0VmFyKCdQS0dWJykgb3IgIiIpLnJlcGxhY2UoJy0nLCAnKycpCiAgICAgICAg
c3BsaXRyZWxlYXNlID0gKGxvY2FsZGF0YS5nZXRWYXIoJ1BLR1InKSBvciAiIikKICAgICAgICBz
cGxpdGVwb2NoICAgPSAobG9jYWxkYXRhLmdldFZhcignUEtHRScpIG9yICIiKQogICAgICAgIHNw
bGl0bGljZW5zZSA9IChsb2NhbGRhdGEuZ2V0VmFyKCdMSUNFTlNFJykgb3IgIiIpCiAgICAgICAg
c3BsaXRzZWN0aW9uID0gKGxvY2FsZGF0YS5nZXRWYXIoJ1NFQ1RJT04nKSBvciAiIikKICAgICAg
ICBzcGxpdGRlc2NyaXB0aW9uID0gKGxvY2FsZGF0YS5nZXRWYXIoJ0RFU0NSSVBUSU9OJykgb3Ig
Ii4iKQogICAgICAgIHNwbGl0Y3VzdG9tdGFnc2NodW5rID0gZ2V0X3BhY2thZ2VfYWRkaXRpb25h
bF9tZXRhZGF0YSgicnBtIiwgbG9jYWxkYXRhKQoKICAgICAgICB0cmFuc2xhdGVfdmVycygnUkRF
UEVORFMnLCBsb2NhbGRhdGEpCiAgICAgICAgdHJhbnNsYXRlX3ZlcnMoJ1JSRUNPTU1FTkRTJywg
bG9jYWxkYXRhKQogICAgICAgIHRyYW5zbGF0ZV92ZXJzKCdSU1VHR0VTVFMnLCBsb2NhbGRhdGEp
CiAgICAgICAgdHJhbnNsYXRlX3ZlcnMoJ1JQUk9WSURFUycsIGxvY2FsZGF0YSkKICAgICAgICB0
cmFuc2xhdGVfdmVycygnUlJFUExBQ0VTJywgbG9jYWxkYXRhKQogICAgICAgIHRyYW5zbGF0ZV92
ZXJzKCdSQ09ORkxJQ1RTJywgbG9jYWxkYXRhKQoKICAgICAgICAjIE1hcCB0aGUgZGVwZW5kZW5j
aWVzIGludG8gdGhlaXIgZmluYWwgZm9ybQogICAgICAgIG1hcHBpbmdfcmVuYW1lX2hvb2sobG9j
YWxkYXRhKQoKICAgICAgICBzcGxpdHJkZXBlbmRzICAgID0gbG9jYWxkYXRhLmdldFZhcignUkRF
UEVORFMnKQogICAgICAgIHNwbGl0cnJlY29tbWVuZHMgPSBsb2NhbGRhdGEuZ2V0VmFyKCdSUkVD
T01NRU5EUycpCiAgICAgICAgc3BsaXRyc3VnZ2VzdHMgICA9IGxvY2FsZGF0YS5nZXRWYXIoJ1JT
VUdHRVNUUycpCiAgICAgICAgc3BsaXRycHJvdmlkZXMgICA9IGxvY2FsZGF0YS5nZXRWYXIoJ1JQ
Uk9WSURFUycpCiAgICAgICAgc3BsaXRycmVwbGFjZXMgICA9IGxvY2FsZGF0YS5nZXRWYXIoJ1JS
RVBMQUNFUycpCiAgICAgICAgc3BsaXRyY29uZmxpY3RzICA9IGxvY2FsZGF0YS5nZXRWYXIoJ1JD
T05GTElDVFMnKQogICAgICAgIHNwbGl0cm9ic29sZXRlcyAgPSBbXQoKICAgICAgICBzcGxpdHJw
cmVpbnN0ICA9IGxvY2FsZGF0YS5nZXRWYXIoJ3BrZ19wcmVpbnN0JykKICAgICAgICBzcGxpdHJw
b3N0aW5zdCA9IGxvY2FsZGF0YS5nZXRWYXIoJ3BrZ19wb3N0aW5zdCcpCiAgICAgICAgc3BsaXRy
cHJlcm0gICAgPSBsb2NhbGRhdGEuZ2V0VmFyKCdwa2dfcHJlcm0nKQogICAgICAgIHNwbGl0cnBv
c3RybSAgID0gbG9jYWxkYXRhLmdldFZhcigncGtnX3Bvc3RybScpCgoKICAgICAgICBpZiBub3Qg
cGVyZmlsZWRlcHM6CiAgICAgICAgICAgICMgQWRkIGluIHN1bW1hcnkgb2YgcGVyIGZpbGUgZGVw
ZW5kZW5jaWVzCiAgICAgICAgICAgIHNwbGl0cmRlcGVuZHMgPSBzcGxpdHJkZXBlbmRzICsgIiAi
ICsgZ2V0X3BlcmZpbGUoJ1JERVBFTkRTJywgcGtnLCBkKQogICAgICAgICAgICBzcGxpdHJwcm92
aWRlcyA9IHNwbGl0cnByb3ZpZGVzICsgIiAiICsgZ2V0X3BlcmZpbGUoJ1JQUk9WSURFUycsIHBr
ZywgZCkKCiAgICAgICAgc3BsaXRyZGVwZW5kcyA9IGZpbHRlcl9uYXRpdmVzZGtfZGVwcyhzcmNu
YW1lLCBzcGxpdHJkZXBlbmRzKQoKICAgICAgICAjIEdhdGhlciBzcGVjaWFsIHNyYy9maXJzdCBw
YWNrYWdlIGRhdGEKICAgICAgICBpZiBzcmNuYW1lID09IHNwbGl0bmFtZToKICAgICAgICAgICAg
c3JjcmRlcGVuZHMgICAgPSBzcGxpdHJkZXBlbmRzCiAgICAgICAgICAgIHNyY3JyZWNvbW1lbmRz
ID0gc3BsaXRycmVjb21tZW5kcwogICAgICAgICAgICBzcmNyc3VnZ2VzdHMgICA9IHNwbGl0cnN1
Z2dlc3RzCiAgICAgICAgICAgIHNyY3Jwcm92aWRlcyAgID0gc3BsaXRycHJvdmlkZXMKICAgICAg
ICAgICAgc3JjcnJlcGxhY2VzICAgPSBzcGxpdHJyZXBsYWNlcwogICAgICAgICAgICBzcmNyY29u
ZmxpY3RzICA9IHNwbGl0cmNvbmZsaWN0cwoKICAgICAgICAgICAgc3JjcnByZWluc3QgICAgPSBz
cGxpdHJwcmVpbnN0CiAgICAgICAgICAgIHNyY3Jwb3N0aW5zdCAgID0gc3BsaXRycG9zdGluc3QK
ICAgICAgICAgICAgc3JjcnByZXJtICAgICAgPSBzcGxpdHJwcmVybQogICAgICAgICAgICBzcmNy
cG9zdHJtICAgICA9IHNwbGl0cnBvc3RybQoKICAgICAgICAgICAgZmlsZV9saXN0ID0gW10KICAg
ICAgICAgICAgd2Fsa19maWxlcyhyb290LCBmaWxlX2xpc3QsIGNvbmZmaWxlcywgZGlyZmlsZXMp
CiAgICAgICAgICAgIGlmIG5vdCBmaWxlX2xpc3QgYW5kIGxvY2FsZGF0YS5nZXRWYXIoJ0FMTE9X
X0VNUFRZJywgRmFsc2UpICE9ICIxIjoKICAgICAgICAgICAgICAgIGJiLm5vdGUoIk5vdCBjcmVh
dGluZyBlbXB0eSBSUE0gcGFja2FnZSBmb3IgJXMiICUgc3BsaXRuYW1lKQogICAgICAgICAgICBl
bHNlOgogICAgICAgICAgICAgICAgYmIubm90ZSgiQ3JlYXRpbmcgUlBNIHBhY2thZ2UgZm9yICVz
IiAlIHNwbGl0bmFtZSkKICAgICAgICAgICAgICAgIHNwZWNfZmlsZXNfdG9wLmFwcGVuZCgnJWZp
bGVzJykKICAgICAgICAgICAgICAgIGlmIGV4dHJhX3BrZ2RhdGE6CiAgICAgICAgICAgICAgICAg
ICAgcGFja2FnZV9ycG1fZXh0cmFfcGtnZGF0YShzcGxpdG5hbWUsIHNwZWNfZmlsZXNfdG9wLCBs
b2NhbGRhdGEpCiAgICAgICAgICAgICAgICBzcGVjX2ZpbGVzX3RvcC5hcHBlbmQoJyVkZWZhdHRy
KC0sLSwtLC0pJykKICAgICAgICAgICAgICAgIGlmIGZpbGVfbGlzdDoKICAgICAgICAgICAgICAg
ICAgICBiYi5ub3RlKCJDcmVhdGluZyBSUE0gcGFja2FnZSBmb3IgJXMiICUgc3BsaXRuYW1lKQog
ICAgICAgICAgICAgICAgICAgIHNwZWNfZmlsZXNfdG9wLmV4dGVuZChmaWxlX2xpc3QpCiAgICAg
ICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgICAgIGJiLm5vdGUoIkNyZWF0aW5nIEVN
UFRZIFJQTSBQYWNrYWdlIGZvciAlcyIgJSBzcGxpdG5hbWUpCiAgICAgICAgICAgICAgICBzcGVj
X2ZpbGVzX3RvcC5hcHBlbmQoJycpCiAgICAgICAgICAgIGNvbnRpbnVlCgogICAgICAgICMgUHJv
Y2VzcyBzdWJwYWNrYWdlIGRhdGEKICAgICAgICBzcGVjX3ByZWFtYmxlX2JvdHRvbS5hcHBlbmQo
JyUlcGFja2FnZSAtbiAlcycgJSBzcGxpdG5hbWUpCiAgICAgICAgc3BlY19wcmVhbWJsZV9ib3R0
b20uYXBwZW5kKCdTdW1tYXJ5OiAlcycgJSBzcGxpdHN1bW1hcnkpCiAgICAgICAgaWYgc3JjdmVy
c2lvbiAhPSBzcGxpdHZlcnNpb246CiAgICAgICAgICAgIHNwZWNfcHJlYW1ibGVfYm90dG9tLmFw
cGVuZCgnVmVyc2lvbjogJXMnICUgc3BsaXR2ZXJzaW9uKQogICAgICAgIGlmIHNyY3JlbGVhc2Ug
IT0gc3BsaXRyZWxlYXNlOgogICAgICAgICAgICBzcGVjX3ByZWFtYmxlX2JvdHRvbS5hcHBlbmQo
J1JlbGVhc2U6ICVzJyAlIHNwbGl0cmVsZWFzZSkKICAgICAgICBpZiBzcmNlcG9jaCAhPSBzcGxp
dGVwb2NoOgogICAgICAgICAgICBzcGVjX3ByZWFtYmxlX2JvdHRvbS5hcHBlbmQoJ0Vwb2NoOiAl
cycgJSBzcGxpdGVwb2NoKQogICAgICAgIGlmIHNyY2xpY2Vuc2UgIT0gc3BsaXRsaWNlbnNlOgog
ICAgICAgICAgICBzcGVjX3ByZWFtYmxlX2JvdHRvbS5hcHBlbmQoJ0xpY2Vuc2U6ICVzJyAlIHNw
bGl0bGljZW5zZSkKICAgICAgICBzcGVjX3ByZWFtYmxlX2JvdHRvbS5hcHBlbmQoJ0dyb3VwOiAl
cycgJSBzcGxpdHNlY3Rpb24pCgogICAgICAgIGlmIHNyY2N1c3RvbXRhZ3NjaHVuayAhPSBzcGxp
dGN1c3RvbXRhZ3NjaHVuazoKICAgICAgICAgICAgc3BlY19wcmVhbWJsZV9ib3R0b20uYXBwZW5k
KHNwbGl0Y3VzdG9tdGFnc2NodW5rKQoKICAgICAgICAjIFJlcGxhY2VzID09IE9ic29sZXRlcyAm
JiBQcm92aWRlcwogICAgICAgIHJvYnNvbGV0ZXMgPSBiYi51dGlscy5leHBsb2RlX2RlcF92ZXJz
aW9uczIoc3BsaXRyb2Jzb2xldGVzIG9yICIiKQogICAgICAgIHJwcm92aWRlcyA9IGJiLnV0aWxz
LmV4cGxvZGVfZGVwX3ZlcnNpb25zMihzcGxpdHJwcm92aWRlcyBvciAiIikKICAgICAgICBycmVw
bGFjZXMgPSBiYi51dGlscy5leHBsb2RlX2RlcF92ZXJzaW9uczIoc3BsaXRycmVwbGFjZXMgb3Ig
IiIpCiAgICAgICAgZm9yIGRlcCBpbiBycmVwbGFjZXM6CiAgICAgICAgICAgIGlmIG5vdCBkZXAg
aW4gcm9ic29sZXRlczoKICAgICAgICAgICAgICAgIHJvYnNvbGV0ZXNbZGVwXSA9IHJyZXBsYWNl
c1tkZXBdCiAgICAgICAgICAgIGlmIG5vdCBkZXAgaW4gcnByb3ZpZGVzOgogICAgICAgICAgICAg
ICAgcnByb3ZpZGVzW2RlcF0gPSBycmVwbGFjZXNbZGVwXQogICAgICAgIHNwbGl0cm9ic29sZXRl
cyA9IGJiLnV0aWxzLmpvaW5fZGVwcyhyb2Jzb2xldGVzLCBjb21tYXNlcD1GYWxzZSkKICAgICAg
ICBzcGxpdHJwcm92aWRlcyA9IGJiLnV0aWxzLmpvaW5fZGVwcyhycHJvdmlkZXMsIGNvbW1hc2Vw
PUZhbHNlKQoKICAgICAgICBwcmludF9kZXBzKHNwbGl0cmRlcGVuZHMsICJSZXF1aXJlcyIsIHNw
ZWNfcHJlYW1ibGVfYm90dG9tLCBkKQogICAgICAgIGlmIHNwbGl0cnByZWluc3Q6CiAgICAgICAg
ICAgIHByaW50X2RlcHMoc3BsaXRyZGVwZW5kcywgIlJlcXVpcmVzKHByZSkiLCBzcGVjX3ByZWFt
YmxlX2JvdHRvbSwgZCkKICAgICAgICBpZiBzcGxpdHJwb3N0aW5zdDoKICAgICAgICAgICAgcHJp
bnRfZGVwcyhzcGxpdHJkZXBlbmRzLCAiUmVxdWlyZXMocG9zdCkiLCBzcGVjX3ByZWFtYmxlX2Jv
dHRvbSwgZCkKICAgICAgICBpZiBzcGxpdHJwcmVybToKICAgICAgICAgICAgcHJpbnRfZGVwcyhz
cGxpdHJkZXBlbmRzLCAiUmVxdWlyZXMocHJldW4pIiwgc3BlY19wcmVhbWJsZV9ib3R0b20sIGQp
CiAgICAgICAgaWYgc3BsaXRycG9zdHJtOgogICAgICAgICAgICBwcmludF9kZXBzKHNwbGl0cmRl
cGVuZHMsICJSZXF1aXJlcyhwb3N0dW4pIiwgc3BlY19wcmVhbWJsZV9ib3R0b20sIGQpCgogICAg
ICAgIHByaW50X2RlcHMoc3BsaXRycmVjb21tZW5kcywgIlJlY29tbWVuZHMiLCBzcGVjX3ByZWFt
YmxlX2JvdHRvbSwgZCkKICAgICAgICBwcmludF9kZXBzKHNwbGl0cnN1Z2dlc3RzLCAgIlN1Z2dl
c3RzIiwgc3BlY19wcmVhbWJsZV9ib3R0b20sIGQpCiAgICAgICAgcHJpbnRfZGVwcyhzcGxpdHJw
cm92aWRlcywgICJQcm92aWRlcyIsIHNwZWNfcHJlYW1ibGVfYm90dG9tLCBkKQogICAgICAgIHBy
aW50X2RlcHMoc3BsaXRyb2Jzb2xldGVzLCAiT2Jzb2xldGVzIiwgc3BlY19wcmVhbWJsZV9ib3R0
b20sIGQpCiAgICAgICAgcHJpbnRfZGVwcyhzcGxpdHJjb25mbGljdHMsICAiQ29uZmxpY3RzIiwg
c3BlY19wcmVhbWJsZV9ib3R0b20sIGQpCgogICAgICAgIHNwZWNfcHJlYW1ibGVfYm90dG9tLmFw
cGVuZCgnJykKCiAgICAgICAgc3BlY19wcmVhbWJsZV9ib3R0b20uYXBwZW5kKCclJWRlc2NyaXB0
aW9uIC1uICVzJyAlIHNwbGl0bmFtZSkKICAgICAgICBhcHBlbmRfZGVzY3JpcHRpb24oc3BlY19w
cmVhbWJsZV9ib3R0b20sIHNwbGl0ZGVzY3JpcHRpb24pCgogICAgICAgIHNwZWNfcHJlYW1ibGVf
Ym90dG9tLmFwcGVuZCgnJykKCiAgICAgICAgIyBOb3cgcHJvY2VzcyBzY3JpcHRsZXRzCiAgICAg
ICAgaWYgc3BsaXRycHJlaW5zdDoKICAgICAgICAgICAgc3BlY19zY3JpcHRsZXRzX2JvdHRvbS5h
cHBlbmQoJyUlcHJlIC1uICVzJyAlIHNwbGl0bmFtZSkKICAgICAgICAgICAgc3BlY19zY3JpcHRs
ZXRzX2JvdHRvbS5hcHBlbmQoJyMgJXMgLSBwcmVpbnN0JyAlIHNwbGl0bmFtZSkKICAgICAgICAg
ICAgc3BlY19zY3JpcHRsZXRzX2JvdHRvbS5hcHBlbmQoc3BsaXRycHJlaW5zdCkKICAgICAgICAg
ICAgc3BlY19zY3JpcHRsZXRzX2JvdHRvbS5hcHBlbmQoJycpCiAgICAgICAgaWYgc3BsaXRycG9z
dGluc3Q6CiAgICAgICAgICAgIHNwZWNfc2NyaXB0bGV0c19ib3R0b20uYXBwZW5kKCclJXBvc3Qg
LW4gJXMnICUgc3BsaXRuYW1lKQogICAgICAgICAgICBzcGVjX3NjcmlwdGxldHNfYm90dG9tLmFw
cGVuZCgnIyAlcyAtIHBvc3RpbnN0JyAlIHNwbGl0bmFtZSkKICAgICAgICAgICAgc3BlY19zY3Jp
cHRsZXRzX2JvdHRvbS5hcHBlbmQoc3BsaXRycG9zdGluc3QpCiAgICAgICAgICAgIHNwZWNfc2Ny
aXB0bGV0c19ib3R0b20uYXBwZW5kKCcnKQogICAgICAgIGlmIHNwbGl0cnByZXJtOgogICAgICAg
ICAgICBzcGVjX3NjcmlwdGxldHNfYm90dG9tLmFwcGVuZCgnJSVwcmV1biAtbiAlcycgJSBzcGxp
dG5hbWUpCiAgICAgICAgICAgIHNwZWNfc2NyaXB0bGV0c19ib3R0b20uYXBwZW5kKCcjICVzIC0g
cHJlcm0nICUgc3BsaXRuYW1lKQogICAgICAgICAgICBzY3JpcHR2YXIgPSB3cmFwX3VuaW5zdGFs
bChzcGxpdHJwcmVybSkKICAgICAgICAgICAgc3BlY19zY3JpcHRsZXRzX2JvdHRvbS5hcHBlbmQo
c2NyaXB0dmFyKQogICAgICAgICAgICBzcGVjX3NjcmlwdGxldHNfYm90dG9tLmFwcGVuZCgnJykK
ICAgICAgICBpZiBzcGxpdHJwb3N0cm06CiAgICAgICAgICAgIHNwZWNfc2NyaXB0bGV0c19ib3R0
b20uYXBwZW5kKCclJXBvc3R1biAtbiAlcycgJSBzcGxpdG5hbWUpCiAgICAgICAgICAgIHNwZWNf
c2NyaXB0bGV0c19ib3R0b20uYXBwZW5kKCcjICVzIC0gcG9zdHJtJyAlIHNwbGl0bmFtZSkKICAg
ICAgICAgICAgc2NyaXB0dmFyID0gd3JhcF91bmluc3RhbGwoc3BsaXRycG9zdHJtKQogICAgICAg
ICAgICBzcGVjX3NjcmlwdGxldHNfYm90dG9tLmFwcGVuZChzY3JpcHR2YXIpCiAgICAgICAgICAg
IHNwZWNfc2NyaXB0bGV0c19ib3R0b20uYXBwZW5kKCcnKQoKICAgICAgICAjIE5vdyBwcm9jZXNz
IGZpbGVzCiAgICAgICAgZmlsZV9saXN0ID0gW10KICAgICAgICB3YWxrX2ZpbGVzKHJvb3QsIGZp
bGVfbGlzdCwgY29uZmZpbGVzLCBkaXJmaWxlcykKICAgICAgICBpZiBub3QgZmlsZV9saXN0IGFu
ZCBsb2NhbGRhdGEuZ2V0VmFyKCdBTExPV19FTVBUWScsIEZhbHNlKSAhPSAiMSI6CiAgICAgICAg
ICAgIGJiLm5vdGUoIk5vdCBjcmVhdGluZyBlbXB0eSBSUE0gcGFja2FnZSBmb3IgJXMiICUgc3Bs
aXRuYW1lKQogICAgICAgIGVsc2U6CiAgICAgICAgICAgIHNwZWNfZmlsZXNfYm90dG9tLmFwcGVu
ZCgnJSVmaWxlcyAtbiAlcycgJSBzcGxpdG5hbWUpCiAgICAgICAgICAgIGlmIGV4dHJhX3BrZ2Rh
dGE6CiAgICAgICAgICAgICAgICBwYWNrYWdlX3JwbV9leHRyYV9wa2dkYXRhKHNwbGl0bmFtZSwg
c3BlY19maWxlc19ib3R0b20sIGxvY2FsZGF0YSkKICAgICAgICAgICAgc3BlY19maWxlc19ib3R0
b20uYXBwZW5kKCclZGVmYXR0cigtLC0sLSwtKScpCiAgICAgICAgICAgIGlmIGZpbGVfbGlzdDoK
ICAgICAgICAgICAgICAgIGJiLm5vdGUoIkNyZWF0aW5nIFJQTSBwYWNrYWdlIGZvciAlcyIgJSBz
cGxpdG5hbWUpCiAgICAgICAgICAgICAgICBzcGVjX2ZpbGVzX2JvdHRvbS5leHRlbmQoZmlsZV9s
aXN0KQogICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgYmIubm90ZSgiQ3JlYXRpbmcg
RU1QVFkgUlBNIFBhY2thZ2UgZm9yICVzIiAlIHNwbGl0bmFtZSkKICAgICAgICAgICAgc3BlY19m
aWxlc19ib3R0b20uYXBwZW5kKCcnKQoKICAgICAgICBkZWwgbG9jYWxkYXRhCgogICAgYWRkX3By
ZXAoZCxzcGVjX2ZpbGVzX2JvdHRvbSkKICAgIHNwZWNfcHJlYW1ibGVfdG9wLmFwcGVuZCgnU3Vt
bWFyeTogJXMnICUgc3Jjc3VtbWFyeSkKICAgIHNwZWNfcHJlYW1ibGVfdG9wLmFwcGVuZCgnTmFt
ZTogJXMnICUgc3JjbmFtZSkKICAgIHNwZWNfcHJlYW1ibGVfdG9wLmFwcGVuZCgnVmVyc2lvbjog
JXMnICUgc3JjdmVyc2lvbikKICAgIHNwZWNfcHJlYW1ibGVfdG9wLmFwcGVuZCgnUmVsZWFzZTog
JXMnICUgc3JjcmVsZWFzZSkKICAgIGlmIHNyY2Vwb2NoIGFuZCBzcmNlcG9jaC5zdHJpcCgpICE9
ICIiOgogICAgICAgIHNwZWNfcHJlYW1ibGVfdG9wLmFwcGVuZCgnRXBvY2g6ICVzJyAlIHNyY2Vw
b2NoKQogICAgc3BlY19wcmVhbWJsZV90b3AuYXBwZW5kKCdMaWNlbnNlOiAlcycgJSBzcmNsaWNl
bnNlKQogICAgc3BlY19wcmVhbWJsZV90b3AuYXBwZW5kKCdHcm91cDogJXMnICUgc3Jjc2VjdGlv
bikKICAgIHNwZWNfcHJlYW1ibGVfdG9wLmFwcGVuZCgnUGFja2FnZXI6ICVzJyAlIHNyY21haW50
YWluZXIpCiAgICBpZiBzcmNob21lcGFnZToKICAgICAgICBzcGVjX3ByZWFtYmxlX3RvcC5hcHBl
bmQoJ1VSTDogJXMnICUgc3JjaG9tZXBhZ2UpCiAgICBpZiBzcmNjdXN0b210YWdzY2h1bms6CiAg
ICAgICAgc3BlY19wcmVhbWJsZV90b3AuYXBwZW5kKHNyY2N1c3RvbXRhZ3NjaHVuaykKICAgIHRh
aWxfc291cmNlKGQpCgogICAgIyBSZXBsYWNlcyA9PSBPYnNvbGV0ZXMgJiYgUHJvdmlkZXMKICAg
IHJvYnNvbGV0ZXMgPSBiYi51dGlscy5leHBsb2RlX2RlcF92ZXJzaW9uczIoc3Jjcm9ic29sZXRl
cyBvciAiIikKICAgIHJwcm92aWRlcyA9IGJiLnV0aWxzLmV4cGxvZGVfZGVwX3ZlcnNpb25zMihz
cmNycHJvdmlkZXMgb3IgIiIpCiAgICBycmVwbGFjZXMgPSBiYi51dGlscy5leHBsb2RlX2RlcF92
ZXJzaW9uczIoc3JjcnJlcGxhY2VzIG9yICIiKQogICAgZm9yIGRlcCBpbiBycmVwbGFjZXM6CiAg
ICAgICAgaWYgbm90IGRlcCBpbiByb2Jzb2xldGVzOgogICAgICAgICAgICByb2Jzb2xldGVzW2Rl
cF0gPSBycmVwbGFjZXNbZGVwXQogICAgICAgIGlmIG5vdCBkZXAgaW4gcnByb3ZpZGVzOgogICAg
ICAgICAgICBycHJvdmlkZXNbZGVwXSA9IHJyZXBsYWNlc1tkZXBdCiAgICBzcmNyb2Jzb2xldGVz
ID0gYmIudXRpbHMuam9pbl9kZXBzKHJvYnNvbGV0ZXMsIGNvbW1hc2VwPUZhbHNlKQogICAgc3Jj
cnByb3ZpZGVzID0gYmIudXRpbHMuam9pbl9kZXBzKHJwcm92aWRlcywgY29tbWFzZXA9RmFsc2Up
CgogICAgcHJpbnRfZGVwcyhzcmNkZXBlbmRzLCAiQnVpbGRSZXF1aXJlcyIsIHNwZWNfcHJlYW1i
bGVfdG9wLCBkKQogICAgcHJpbnRfZGVwcyhzcmNyZGVwZW5kcywgIlJlcXVpcmVzIiwgc3BlY19w
cmVhbWJsZV90b3AsIGQpCiAgICBpZiBzcmNycHJlaW5zdDoKICAgICAgICBwcmludF9kZXBzKHNy
Y3JkZXBlbmRzLCAiUmVxdWlyZXMocHJlKSIsIHNwZWNfcHJlYW1ibGVfdG9wLCBkKQogICAgaWYg
c3JjcnBvc3RpbnN0OgogICAgICAgIHByaW50X2RlcHMoc3JjcmRlcGVuZHMsICJSZXF1aXJlcyhw
b3N0KSIsIHNwZWNfcHJlYW1ibGVfdG9wLCBkKQogICAgaWYgc3JjcnByZXJtOgogICAgICAgIHBy
aW50X2RlcHMoc3JjcmRlcGVuZHMsICJSZXF1aXJlcyhwcmV1bikiLCBzcGVjX3ByZWFtYmxlX3Rv
cCwgZCkKICAgIGlmIHNyY3Jwb3N0cm06CiAgICAgICAgcHJpbnRfZGVwcyhzcmNyZGVwZW5kcywg
IlJlcXVpcmVzKHBvc3R1bikiLCBzcGVjX3ByZWFtYmxlX3RvcCwgZCkKCiAgICBwcmludF9kZXBz
KHNyY3JyZWNvbW1lbmRzLCAiUmVjb21tZW5kcyIsIHNwZWNfcHJlYW1ibGVfdG9wLCBkKQogICAg
cHJpbnRfZGVwcyhzcmNyc3VnZ2VzdHMsICJTdWdnZXN0cyIsIHNwZWNfcHJlYW1ibGVfdG9wLCBk
KQogICAgcHJpbnRfZGVwcyhzcmNycHJvdmlkZXMgKyAoIiAvYmluL3NoIiBpZiBzcmNuYW1lLnN0
YXJ0c3dpdGgoIm5hdGl2ZXNkay0iKSBlbHNlICIiKSwgIlByb3ZpZGVzIiwgc3BlY19wcmVhbWJs
ZV90b3AsIGQpCiAgICBwcmludF9kZXBzKHNyY3JvYnNvbGV0ZXMsICJPYnNvbGV0ZXMiLCBzcGVj
X3ByZWFtYmxlX3RvcCwgZCkKICAgIHByaW50X2RlcHMoc3JjcmNvbmZsaWN0cywgIkNvbmZsaWN0
cyIsIHNwZWNfcHJlYW1ibGVfdG9wLCBkKQoKICAgIHNwZWNfcHJlYW1ibGVfdG9wLmFwcGVuZCgn
JykKCiAgICBzcGVjX3ByZWFtYmxlX3RvcC5hcHBlbmQoJyVkZXNjcmlwdGlvbicpCiAgICBhcHBl
bmRfZGVzY3JpcHRpb24oc3BlY19wcmVhbWJsZV90b3AsIHNyY2Rlc2NyaXB0aW9uKQoKICAgIHNw
ZWNfcHJlYW1ibGVfdG9wLmFwcGVuZCgnJykKCiAgICBpZiBzcmNycHJlaW5zdDoKICAgICAgICBz
cGVjX3NjcmlwdGxldHNfdG9wLmFwcGVuZCgnJXByZScpCiAgICAgICAgc3BlY19zY3JpcHRsZXRz
X3RvcC5hcHBlbmQoJyMgJXMgLSBwcmVpbnN0JyAlIHNyY25hbWUpCiAgICAgICAgc3BlY19zY3Jp
cHRsZXRzX3RvcC5hcHBlbmQoc3JjcnByZWluc3QpCiAgICAgICAgc3BlY19zY3JpcHRsZXRzX3Rv
cC5hcHBlbmQoJycpCiAgICBpZiBzcmNycG9zdGluc3Q6CiAgICAgICAgc3BlY19zY3JpcHRsZXRz
X3RvcC5hcHBlbmQoJyVwb3N0JykKICAgICAgICBzcGVjX3NjcmlwdGxldHNfdG9wLmFwcGVuZCgn
IyAlcyAtIHBvc3RpbnN0JyAlIHNyY25hbWUpCiAgICAgICAgc3BlY19zY3JpcHRsZXRzX3RvcC5h
cHBlbmQoc3JjcnBvc3RpbnN0KQogICAgICAgIHNwZWNfc2NyaXB0bGV0c190b3AuYXBwZW5kKCcn
KQogICAgaWYgc3JjcnByZXJtOgogICAgICAgIHNwZWNfc2NyaXB0bGV0c190b3AuYXBwZW5kKCcl
cHJldW4nKQogICAgICAgIHNwZWNfc2NyaXB0bGV0c190b3AuYXBwZW5kKCcjICVzIC0gcHJlcm0n
ICUgc3JjbmFtZSkKICAgICAgICBzY3JpcHR2YXIgPSB3cmFwX3VuaW5zdGFsbChzcmNycHJlcm0p
CiAgICAgICAgc3BlY19zY3JpcHRsZXRzX3RvcC5hcHBlbmQoc2NyaXB0dmFyKQogICAgICAgIHNw
ZWNfc2NyaXB0bGV0c190b3AuYXBwZW5kKCcnKQogICAgaWYgc3JjcnBvc3RybToKICAgICAgICBz
cGVjX3NjcmlwdGxldHNfdG9wLmFwcGVuZCgnJXBvc3R1bicpCiAgICAgICAgc3BlY19zY3JpcHRs
ZXRzX3RvcC5hcHBlbmQoJyMgJXMgLSBwb3N0cm0nICUgc3JjbmFtZSkKICAgICAgICBzY3JpcHR2
YXIgPSB3cmFwX3VuaW5zdGFsbChzcmNycG9zdHJtKQogICAgICAgIHNwZWNfc2NyaXB0bGV0c190
b3AuYXBwZW5kKHNjcmlwdHZhcikKICAgICAgICBzcGVjX3NjcmlwdGxldHNfdG9wLmFwcGVuZCgn
JykKCiAgICAjIFdyaXRlIHRoZSBTUEVDIGZpbGUKICAgIHNwZWNmaWxlID0gb3BlbihvdXRzcGVj
ZmlsZSwgJ3cnKQoKICAgICMgUlBNU1BFQ19QUkVBTUJMRSBpcyBhIHdheSB0byBhZGQgYXJiaXRy
YXJ5IHRleHQgdG8gdGhlIHRvcAogICAgIyBvZiB0aGUgZ2VuZXJhdGVkIHNwZWMgZmlsZQogICAg
ZXh0ZXJuYWxfcHJlYW1ibGUgPSBkLmdldFZhcigiUlBNU1BFQ19QUkVBTUJMRSIpCiAgICBpZiBl
eHRlcm5hbF9wcmVhbWJsZToKICAgICAgICBzcGVjZmlsZS53cml0ZShleHRlcm5hbF9wcmVhbWJs
ZSArICJcbiIpCgogICAgZm9yIGxpbmUgaW4gc3BlY19wcmVhbWJsZV90b3A6CiAgICAgICAgc3Bl
Y2ZpbGUud3JpdGUobGluZSArICJcbiIpCgogICAgZm9yIGxpbmUgaW4gc3BlY19wcmVhbWJsZV9i
b3R0b206CiAgICAgICAgc3BlY2ZpbGUud3JpdGUobGluZSArICJcbiIpCgogICAgZm9yIGxpbmUg
aW4gc3BlY19zY3JpcHRsZXRzX3RvcDoKICAgICAgICBzcGVjZmlsZS53cml0ZShsaW5lICsgIlxu
IikKCiAgICBmb3IgbGluZSBpbiBzcGVjX3NjcmlwdGxldHNfYm90dG9tOgogICAgICAgIHNwZWNm
aWxlLndyaXRlKGxpbmUgKyAiXG4iKQoKICAgIGZvciBsaW5lIGluIHNwZWNfZmlsZXNfdG9wOgog
ICAgICAgIHNwZWNmaWxlLndyaXRlKGxpbmUgKyAiXG4iKQoKICAgIGZvciBsaW5lIGluIHNwZWNf
ZmlsZXNfYm90dG9tOgogICAgICAgIHNwZWNmaWxlLndyaXRlKGxpbmUgKyAiXG4iKQoKICAgIHNw
ZWNmaWxlLmNsb3NlKCkKfQoKCnB5dGhvbiB3cml0ZV90YXNrX2RhdGEgKCkgewpkZWYgd3JpdGVf
dGFza19kYXRhKHN0YXR1cywgbG9nZmlsZSwgZSwgZCk6CiAgICBibiA9IGQuZ2V0VmFyKCdCVUlM
RE5BTUUnKQogICAgYnNkaXIgPSBvcy5wYXRoLmpvaW4oZC5nZXRWYXIoJ0JVSUxEU1RBVFNfQkFT
RScpLCBibikKICAgIHdpdGggb3Blbihvcy5wYXRoLmpvaW4obG9nZmlsZSksICJhIikgYXMgZjoK
ICAgICAgICBlbGFwc2VkdGltZSA9IGdldF90aW1lZGF0YSgiX190aW1lZGF0YV90YXNrIiwgZCwg
ZS50aW1lKQogICAgICAgIGlmIGVsYXBzZWR0aW1lOgogICAgICAgICAgICBmLndyaXRlKGQuZXhw
YW5kKCIke1BGfTogJXNcbiIgJSBlLnRhc2spKQogICAgICAgICAgICBmLndyaXRlKGQuZXhwYW5k
KCJFbGFwc2VkIHRpbWU6ICUwLjJmIHNlY29uZHNcbiIgJSBlbGFwc2VkdGltZSkpCiAgICAgICAg
ICAgIGNwdSwgaW9zdGF0cywgcmVzb3VyY2VzLCBjaGlsZHJlcyA9IGdldF9wcm9jZXNzX2NwdXRp
bWUob3MuZ2V0cGlkKCkpCiAgICAgICAgICAgIGlmIGNwdToKICAgICAgICAgICAgICAgIGYud3Jp
dGUoInV0aW1lOiAlc1xuIiAlIGNwdVsndXRpbWUnXSkKICAgICAgICAgICAgICAgIGYud3JpdGUo
InN0aW1lOiAlc1xuIiAlIGNwdVsnc3RpbWUnXSkKICAgICAgICAgICAgICAgIGYud3JpdGUoImN1
dGltZTogJXNcbiIgJSBjcHVbJ2N1dGltZSddKQogICAgICAgICAgICAgICAgZi53cml0ZSgiY3N0
aW1lOiAlc1xuIiAlIGNwdVsnY3N0aW1lJ10pCiAgICAgICAgICAgIGZvciBpIGluIGlvc3RhdHM6
CiAgICAgICAgICAgICAgICBmLndyaXRlKCJJTyAlczogJXNcbiIgJSAoaSwgaW9zdGF0c1tpXSkp
CiAgICAgICAgICAgIHJ1c2FnZXMgPSBbInJ1X3V0aW1lIiwgInJ1X3N0aW1lIiwgInJ1X21heHJz
cyIsICJydV9taW5mbHQiLCAicnVfbWFqZmx0IiwgInJ1X2luYmxvY2siLCAicnVfb3VibG9jayIs
ICJydV9udmNzdyIsICJydV9uaXZjc3ciXQogICAgICAgICAgICBmb3IgaSBpbiBydXNhZ2VzOgog
ICAgICAgICAgICAgICAgZi53cml0ZSgicnVzYWdlICVzOiAlc1xuIiAlIChpLCBnZXRhdHRyKHJl
c291cmNlcywgaSkpKQogICAgICAgICAgICBmb3IgaSBpbiBydXNhZ2VzOgogICAgICAgICAgICAg
ICAgZi53cml0ZSgiQ2hpbGQgcnVzYWdlICVzOiAlc1xuIiAlIChpLCBnZXRhdHRyKGNoaWxkcmVz
LCBpKSkpCiAgICAgICAgaWYgc3RhdHVzIGlzICJwYXNzZWQiOgogICAgICAgICAgICBmLndyaXRl
KCJTdGF0dXM6IFBBU1NFRCBcbiIpCiAgICAgICAgZWxzZToKICAgICAgICAgICAgZi53cml0ZSgi
U3RhdHVzOiBGQUlMRUQgXG4iKQogICAgICAgIGYud3JpdGUoIkVuZGVkOiAlMC4yZiBcbiIgJSBl
LnRpbWUpCn0KCgpTdW1tYXJ5OiBUaGVyZSB3YXMgMSBXQVJOSU5HIG1lc3NhZ2Ugc2hvd24uCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>4106</attachid>
            <date>2017-10-27 03:31:31 +0000</date>
            <delta_ts>2017-10-27 03:31:31 +0000</delta_ts>
            <desc>lttng fetch env</desc>
            <filename>lttng-fetch.env</filename>
            <type>application/octet-stream</type>
            <size>879652</size>
            <attacher name="Rebecca Chang">rebecca.swee.fun.chang</attacher>
            
              <data encoding="base64">TG9hZGluZyBjYWNoZS4uLmRvbmUuCkxvYWRlZCAxMzI4IGVudHJpZXMgZnJvbSBkZXBlbmRlbmN5
IGNhY2hlLgpOT1RFOiBSZXNvbHZpbmcgYW55IG1pc3NpbmcgdGFzayBxdWV1ZSBkZXBlbmRlbmNp
ZXMKTG9hZGluZyBjYWNoZS4uLmRvbmUuCkxvYWRlZCAxMzI4IGVudHJpZXMgZnJvbSBkZXBlbmRl
bmN5IGNhY2hlLgojCiMgSU5DTFVERSBISVNUT1JZOgojCiMgL21lZGlhL3JlYmVjY2FzL3lvY3Rv
L2x0dG5nL2NvbmYvYmJsYXllcnMuY29uZgojIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21l
dGEvY29uZi9sYXllci5jb25mCiMgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5
L2NvbmYvbGF5ZXIuY29uZgojIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEteW9jdG8t
YnNwL2NvbmYvbGF5ZXIuY29uZgojIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9tZXRhLWludGVsLWNv
bnRyaWIvY29uZi9sYXllci5jb25mIGluY2x1ZGVzOgojICAgL21lZGlhL3JlYmVjY2FzL3lvY3Rv
L21ldGEtaW50ZWwtY29udHJpYi9jb25mL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jCiMgY29uZi9i
aXRiYWtlLmNvbmYgaW5jbHVkZXM6CiMgICAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRh
L2NvbmYvYWJpX3ZlcnNpb24uY29uZgojICAgL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL2Nv
bmYvc2l0ZS5jb25mCiMgICBjb25mL2F1dG8uY29uZgojICAgL21lZGlhL3JlYmVjY2FzL3lvY3Rv
L2x0dG5nL2NvbmYvbG9jYWwuY29uZgojICAgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0
YS9jb25mL211bHRpY29uZmlnL2RlZmF1bHQuY29uZgojICAgY29uZi9idWlsZC94ODZfNjQtbGlu
dXguY29uZgojICAgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL21hY2hpbmUv
cWVtdXg4Ni5jb25mIGluY2x1ZGVzOgojICAgICAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9t
ZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3FlbXUuaW5jCiMgICAgIC9tZWRpYS9yZWJlY2Nhcy95
b2N0by9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvdHVuZS1pNTg2LmluYyBpbmNsdWRl
czoKIyAgICAgICAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvbWFjaGluZS9p
bmNsdWRlL3g4Ni9hcmNoLXg4Ni5pbmMKIyAgICAgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kv
bWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS9xZW11Ym9vdC14ODYuaW5jCiMgICAvbWVkaWEvcmVi
ZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvbWFjaGluZS1zZGsveDg2XzY0LmNvbmYKIyAgIGNv
bmYvdGFyZ2V0L2k1ODYtb2UtbGludXguY29uZgojICAgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bv
a3kvbWV0YS1wb2t5L2NvbmYvZGlzdHJvL3Bva3kuY29uZiBpbmNsdWRlczoKIyAgICAgL21lZGlh
L3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5L2NvbmYvZGlzdHJvL2luY2x1ZGUvcG9reS13
b3JsZC1leGNsdWRlLmluYwojICAgICAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2Nv
bmYvZGlzdHJvL2luY2x1ZGUvbm8tc3RhdGljLWxpYnMuaW5jCiMgICAgIC9tZWRpYS9yZWJlY2Nh
cy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS95b2N0by11bmluYXRpdmUuaW5j
CiMgICAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2RlZmF1bHRz
ZXR1cC5jb25mIGluY2x1ZGVzOgojICAgICAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRh
L2NvbmYvZGlzdHJvL2luY2x1ZGUvZGVmYXVsdC1wcm92aWRlcnMuaW5jCiMgICAgIC9tZWRpYS9y
ZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9kZWZhdWx0LXZlcnNp
b25zLmluYwojICAgICAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJv
L2luY2x1ZGUvZGVmYXVsdC1kaXN0cm92YXJzLmluYwojICAgICAvbWVkaWEvcmViZWNjYXMveW9j
dG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvd29ybGQtYnJva2VuLmluYwojICAgICAv
bWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvdGNtb2Rl
LWRlZmF1bHQuaW5jIGluY2x1ZGVzOgojICAgICAgIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5
L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9hcy1uZWVkZWQuaW5jCiMgICAgIC9tZWRpYS9yZWJl
Y2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS90Y2xpYmMtZ2xpYmMuaW5j
CiMgICAgIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVk
ZS91bmluYXRpdmUtZmxhZ3MuaW5jCiMgICAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRh
L2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mCiMgICAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9t
ZXRhL2NvbmYvbGljZW5zZXMuY29uZgojICAgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0
YS9jb25mL3Nhbml0eS5jb25mCiMgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFz
c2VzL2Jhc2UuYmJjbGFzcyBpbmNsdWRlczoKIyAgIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5
L21ldGEvY2xhc3Nlcy9wYXRjaC5iYmNsYXNzIGluY2x1ZGVzOgojICAgICAvbWVkaWEvcmViZWNj
YXMveW9jdG8vcG9reS9tZXRhL2NsYXNzZXMvdGVybWluYWwuYmJjbGFzcwojICAgL21lZGlhL3Jl
YmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL3N0YWdpbmcuYmJjbGFzcwojICAgL21lZGlh
L3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL21pcnJvcnMuYmJjbGFzcwojICAgL21l
ZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL3V0aWxzLmJiY2xhc3MKIyAgIC9t
ZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY2xhc3Nlcy91dGlsaXR5LXRhc2tzLmJiY2xh
c3MKIyAgIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY2xhc3Nlcy9tZXRhZGF0YV9z
Y20uYmJjbGFzcwojICAgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL2xv
Z2dpbmcuYmJjbGFzcwojIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEtcG9reS9jbGFz
c2VzL3Bva3ktc2FuaXR5LmJiY2xhc3MKIyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRh
L2NsYXNzZXMvdW5pbmF0aXZlLmJiY2xhc3MKIyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9t
ZXRhL2NsYXNzZXMvcGFja2FnZV9ycG0uYmJjbGFzcyBpbmNsdWRlczoKIyAgIC9tZWRpYS9yZWJl
Y2Nhcy95b2N0by9wb2t5L21ldGEvY2xhc3Nlcy9wYWNrYWdlLmJiY2xhc3MgaW5jbHVkZXM6CiMg
ICAgIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY2xhc3Nlcy9wYWNrYWdlZGF0YS5i
YmNsYXNzCiMgICAgIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY2xhc3Nlcy9jaHJw
YXRoLmJiY2xhc3MKIyAgICAgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2Vz
L2luc2FuZS5iYmNsYXNzCiMgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2Vz
L2J1aWxkc3RhdHMuYmJjbGFzcwojIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY2xh
c3Nlcy9pbWFnZS1ta2xpYnMuYmJjbGFzcyBpbmNsdWRlczoKIyAgIC9tZWRpYS9yZWJlY2Nhcy95
b2N0by9wb2t5L21ldGEvY2xhc3Nlcy9saW51eGxvYWRlci5iYmNsYXNzCiMgL21lZGlhL3JlYmVj
Y2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL2ltYWdlLXByZWxpbmsuYmJjbGFzcwojIC9tZWRp
YS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY2xhc3Nlcy9kZWJpYW4uYmJjbGFzcwojIC9tZWRp
YS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY2xhc3Nlcy9kZXZzaGVsbC5iYmNsYXNzCiMgL21l
ZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL3NzdGF0ZS5iYmNsYXNzCiMgL21l
ZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL2xpY2Vuc2UuYmJjbGFzcwojIC9t
ZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY2xhc3Nlcy9yZW1vdmUtbGlidG9vbC5iYmNs
YXNzCiMgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL2JsYWNrbGlzdC5i
YmNsYXNzCiMgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL3Nhbml0eS5i
YmNsYXNzCiMKIyAkQUJJRVhURU5TSU9OIFszIG9wZXJhdGlvbnNdCiMgICBzZXQgL21lZGlhL3Jl
YmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjoxMTkKIyAgICAgW19kZWZh
dWx0dmFsXSAiIgojICAgcG9zdGRvdCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2Nv
bmYvbWFjaGluZS9pbmNsdWRlL3g4Ni9hcmNoLXg4Ni5pbmM6MjMKIyAgICAgIiR7QGJiLnV0aWxz
LmNvbnRhaW5zKCdUVU5FX0ZFQVRVUkVTJywgJ214MzInLCAneDMyJywgJycgLGQpfSIKIyAgIG92
ZXJyaWRlW2NsYXNzLW5hdGl2ZXNka106c2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21l
dGEvY29uZi9tYWNoaW5lLXNkay94ODZfNjQuY29uZjoyCiMgICAgICIiCiMgcHJlLWV4cGFuc2lv
biB2YWx1ZToKIyAgICIke0BiYi51dGlscy5jb250YWlucygnVFVORV9GRUFUVVJFUycsICdteDMy
JywgJ3gzMicsICcnICxkKX0iCkFCSUVYVEVOU0lPTj0iIgojCiMgJEFCSUVYVEVOU0lPTl9jbGFz
cy1uYXRpdmVzZGsKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYv
bWFjaGluZS1zZGsveDg2XzY0LmNvbmY6MgojICAgICAiIgpBQklFWFRFTlNJT05fY2xhc3MtbmF0
aXZlc2RrPSIiCiMKIyAkQUxMT1dfRU1QVFkgWzQgb3BlcmF0aW9uc10KIyAgIHNldCAvbWVkaWEv
cmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjY1CiMgICAg
IFtkb2NdICJTcGVjaWZpZXMgaWYgYW4gb3V0cHV0IHBhY2thZ2Ugc2hvdWxkIHN0aWxsIGJlIHBy
b2R1Y2VkIGlmIGl0IGlzIGVtcHR5LiIKIyAgIG92ZXJyaWRlW2x0dG5nLW1vZHVsZXNdOnJlbmFt
ZSBmcm9tIEFMTE9XX0VNUFRZXyR7UE59IGRhdGEucHk6MTE2IFtleHBhbmRLZXlzXQojICAgICAi
MSIKIyAgIG92ZXJyaWRlW2x0dG5nLW1vZHVsZXMtZGJnXTpyZW5hbWUgZnJvbSBBTExPV19FTVBU
WV8ke1BOfS1kYmcgZGF0YS5weToxMTYgW2V4cGFuZEtleXNdCiMgICAgICIxIgojICAgb3ZlcnJp
ZGVbbHR0bmctbW9kdWxlcy1kZXZdOnJlbmFtZSBmcm9tIEFMTE9XX0VNUFRZXyR7UE59LWRldiBk
YXRhLnB5OjExNiBbZXhwYW5kS2V5c10KIyAgICAgIjEiCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToK
IyAgICJOb25lIgojCiMgJEFMTE9XX0VNUFRZX2x0dG5nLW1vZHVsZXMKIyAgIHJlbmFtZSBmcm9t
IEFMTE9XX0VNUFRZXyR7UE59IGRhdGEucHk6MTE2IFtleHBhbmRLZXlzXQojICAgICAiMSIKQUxM
T1dfRU1QVFlfbHR0bmctbW9kdWxlcz0iMSIKIwojICRBTExPV19FTVBUWV9sdHRuZy1tb2R1bGVz
LWRiZwojICAgcmVuYW1lIGZyb20gQUxMT1dfRU1QVFlfJHtQTn0tZGJnIGRhdGEucHk6MTE2IFtl
eHBhbmRLZXlzXQojICAgICAiMSIKQUxMT1dfRU1QVFlfbHR0bmctbW9kdWxlcy1kYmc9IjEiCiMK
IyAkQUxMT1dfRU1QVFlfbHR0bmctbW9kdWxlcy1kZXYKIyAgIHJlbmFtZSBmcm9tIEFMTE9XX0VN
UFRZXyR7UE59LWRldiBkYXRhLnB5OjExNiBbZXhwYW5kS2V5c10KIyAgICAgIjEiCkFMTE9XX0VN
UFRZX2x0dG5nLW1vZHVsZXMtZGV2PSIxIgojCiMgJEFMTF9NVUxUSUxJQl9QQUNLQUdFX0FSQ0hT
CiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL3BhY2thZ2Uu
YmJjbGFzczo1MgojICAgICAiJHtAYWxsX211bHRpbGliX3R1bmVfdmFsdWVzKGQsICdQQUNLQUdF
X0FSQ0hTJyl9IgpBTExfTVVMVElMSUJfUEFDS0FHRV9BUkNIUz0iYWxsIGFueSBub2FyY2ggeDg2
IGk1ODYgcWVtdXg4NiIKIwojICRBTExfUFJPWFkKIyAgIGZyb20gZW52IGRhdGEucHk6MTI0IFtp
bmhlcml0RnJvbU9TXQojICAgICAic29ja3M6Ly9odHRwOi8vcHJveHktcG5nLmludGVsLmNvbTox
MDgwLyIKQUxMX1BST1hZPSJzb2NrczovL2h0dHA6Ly9wcm94eS1wbmcuaW50ZWwuY29tOjEwODAv
IgojCiMgJEFMTF9RQQojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY2xh
c3Nlcy9pbnNhbmUuYmJjbGFzczo0NwojICAgICAiJHtXQVJOX1FBfSAke0VSUk9SX1FBfSIKQUxM
X1FBPSJsaWJkaXIgeG9yZy1kcml2ZXItYWJpIHRleHRyZWwgaW5jb21wYXRpYmxlLWxpY2Vuc2Ug
ZmlsZXMtaW52YWxpZCBpbmZvZGlyIGJ1aWxkLWRlcHMgdW5rbm93bi1jb25maWd1cmUtb3B0aW9u
IHN5bWxpbmstdG8tc3lzcm9vdCBtdWx0aWxpYiBpbnZhbGlkLXBhY2thZ2Vjb25maWcgaG9zdC11
c2VyLWNvbnRhbWluYXRlZCBkZXYtc28gZGVidWctZGVwcyBkZXYtZGVwcyBkZWJ1Zy1maWxlcyBh
cmNoIHBrZ2NvbmZpZyBsYSAgICAgICAgICAgICBwZXJtcyBkZXAtY21wIHBrZ3ZhcmNoZWNrIHBl
cm0tY29uZmlnIHBlcm0tbGluZSBwZXJtLWxpbmsgICAgICAgICAgICAgc3BsaXQtc3RyaXAgcGFj
a2FnZXMtbGlzdCBwa2d2LXVuZGVmaW5lZCB2YXItdW5kZWZpbmVkICAgICAgICAgICAgIHZlcnNp
b24tZ29pbmctYmFja3dhcmRzIGV4cGFuZGVkLWQgaW52YWxpZC1jaGFycyAgICAgICAgICAgICBs
aWNlbnNlLWNoZWNrc3VtIGRldi1lbGYgZmlsZS1yZGVwcyAgICAgICAgICAgICAgYWxyZWFkeS1z
dHJpcHBlZCBjb21waWxlLWhvc3QtcGF0aCBpbnN0YWxsLWhvc3QtcGF0aCBpbnN0YWxsZWQtdnMt
c2hpcHBlZCBsZGZsYWdzIHBuLW92ZXJyaWRlcyBycGF0aHMgc3RhdGljZGV2IHVzZWxlc3MtcnBh
dGhzIgojCiMgJEFMVEVSTkFUSVZFCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kv
bWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjo2NgojICAgICBbZG9jXSAiTGlzdHMgY29tbWFu
ZHMgaW4gYSBwYWNrYWdlIHRoYXQgbmVlZCBhbiBhbHRlcm5hdGl2ZSBiaW5hcnkgbmFtaW5nIHNj
aGVtZS4iCiMKIyAkQUxURVJOQVRJVkVfTElOS19OQU1FCiMgICBzZXQgL21lZGlhL3JlYmVjY2Fz
L3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjo2NwojICAgICBbZG9jXSAi
VXNlZCBieSB0aGUgYWx0ZXJuYXRpdmVzIHN5c3RlbSB0byBtYXAgZHVwbGljYXRlZCBjb21tYW5k
cyB0byBhY3R1YWwgbG9jYXRpb25zLiIKIwojICRBTFRFUk5BVElWRV9QUklPUklUWQojICAgc2V0
IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6
NjgKIyAgICAgW2RvY10gIlVzZWQgYnkgdGhlIGFsdGVybmF0aXZlcyBzeXN0ZW0gdG8gY3JlYXRl
IGRlZmF1bHQgcHJpb3JpdGllcyBmb3IgZHVwbGljYXRlZCBjb21tYW5kcy4iCiMKIyAkQUxURVJO
QVRJVkVfVEFSR0VUCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25m
L2RvY3VtZW50YXRpb24uY29uZjo2OQojICAgICBbZG9jXSAiVXNlZCBieSB0aGUgYWx0ZXJuYXRp
dmVzIHN5c3RlbSB0byBjcmVhdGUgZGVmYXVsdCBsaW5rIGxvY2F0aW9ucyBmb3IgZHVwbGljYXRl
ZCBjb21tYW5kcy4iCiMKIyAkQVBBQ0hFX01JUlJPUgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95
b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6NjA2CiMgICAgICJodHRwOi8vYXJjaGl2
ZS5hcGFjaGUub3JnL2Rpc3QiCkFQQUNIRV9NSVJST1I9Imh0dHA6Ly9hcmNoaXZlLmFwYWNoZS5v
cmcvZGlzdCIKIwojICRBUiBbMiBvcGVyYXRpb25zXQojICAgZXhwb3J0ZWQgL21lZGlhL3JlYmVj
Y2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo1MDAKIyAgICAgW2V4cG9ydF0g
IjEiCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2Uu
Y29uZjo1MDAKIyAgICAgIiR7SE9TVF9QUkVGSVh9YXIiCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToK
IyAgICIke0hPU1RfUFJFRklYfWFyIgpleHBvcnQgQVI9Imk1ODYtcG9reS1saW51eC1hciIKIwoj
ICRBUkNIIFsyIG9wZXJhdGlvbnNdCiMgICBleHBvcnRlZCAvbWVkaWEvcmViZWNjYXMveW9jdG8v
cG9reS9tZXRhL2NsYXNzZXMva2VybmVsLWFyY2guYmJjbGFzczozOQojICAgICBbZXhwb3J0XSAi
MSIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NsYXNzZXMva2VybmVs
LWFyY2guYmJjbGFzczozOQojICAgICAiJHtAbWFwX2tlcm5lbF9hcmNoKGQuZ2V0VmFyKCdUQVJH
RVRfQVJDSCcpLCBkKX0iCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICIke0BtYXBfa2VybmVs
X2FyY2goZC5nZXRWYXIoJ1RBUkdFVF9BUkNIJyksIGQpfSIKZXhwb3J0IEFSQ0g9Ing4NiIKIwoj
ICRBUyBbMiBvcGVyYXRpb25zXQojICAgZXhwb3J0ZWQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bv
a3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo1MDEKIyAgICAgW2V4cG9ydF0gIjEiCiMgICBzZXQg
L21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo1MDEKIyAg
ICAgIiR7SE9TVF9QUkVGSVh9YXMgJHtIT1NUX0FTX0FSQ0h9IgojIHByZS1leHBhbnNpb24gdmFs
dWU6CiMgICAiJHtIT1NUX1BSRUZJWH1hcyAke0hPU1RfQVNfQVJDSH0iCmV4cG9ydCBBUz0iaTU4
Ni1wb2t5LWxpbnV4LWFzICAiCiMKIyAkQVNORUVERUQgWzEwIG9wZXJhdGlvbnNdCiMgICBzZXQg
L21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL2FzLW5l
ZWRlZC5pbmM6MgojICAgICAiLVdsLC0tYXMtbmVlZGVkIgojICAgb3ZlcnJpZGVbcG4tYmFiZWx0
cmFjZV06c2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5j
bHVkZS9hcy1uZWVkZWQuaW5jOjQKIyAgICAgIiIKIyAgIG92ZXJyaWRlW3BuLWNvbnNvbGUtdG9v
bHNdOnNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1
ZGUvYXMtbmVlZGVkLmluYzo1CiMgICAgICIiCiMgICBvdmVycmlkZVtwbi1kaXN0Y2NdOnNldCAv
bWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvYXMtbmVl
ZGVkLmluYzo2CiMgICAgICIiCiMgICBvdmVycmlkZVtwbi1vcGVub2JleF06c2V0IC9tZWRpYS9y
ZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9hcy1uZWVkZWQuaW5j
OjcKIyAgICAgIiIKIyAgIG92ZXJyaWRlW3BuLWljdV06c2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0
by9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9hcy1uZWVkZWQuaW5jOjgKIyAgICAgIiIK
IyAgIG92ZXJyaWRlW3BuLXBjaXV0aWxzXTpzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kv
bWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL2FzLW5lZWRlZC5pbmM6OQojICAgICAiIgojICAgb3Zl
cnJpZGVbcG4tcHV6emxlc106c2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29u
Zi9kaXN0cm8vaW5jbHVkZS9hcy1uZWVkZWQuaW5jOjEwCiMgICAgICIiCiMgICBvdmVycmlkZVtw
bi1wdWxzZWF1ZGlvXTpzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rp
c3Ryby9pbmNsdWRlL2FzLW5lZWRlZC5pbmM6MTEKIyAgICAgIiIKIyAgIG92ZXJyaWRlW3BuLXJw
bV06c2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVk
ZS9hcy1uZWVkZWQuaW5jOjEyCiMgICAgICIiCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICIt
V2wsLS1hcy1uZWVkZWQiCkFTTkVFREVEPSItV2wsLS1hcy1uZWVkZWQiCiMKIyAkQVNORUVERURf
cG4tYmFiZWx0cmFjZQojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29u
Zi9kaXN0cm8vaW5jbHVkZS9hcy1uZWVkZWQuaW5jOjQKIyAgICAgIiIKQVNORUVERURfcG4tYmFi
ZWx0cmFjZT0iIgojCiMgJEFTTkVFREVEX3BuLWNvbnNvbGUtdG9vbHMKIyAgIHNldCAvbWVkaWEv
cmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvYXMtbmVlZGVkLmlu
Yzo1CiMgICAgICIiCkFTTkVFREVEX3BuLWNvbnNvbGUtdG9vbHM9IiIKIwojICRBU05FRURFRF9w
bi1kaXN0Y2MKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlz
dHJvL2luY2x1ZGUvYXMtbmVlZGVkLmluYzo2CiMgICAgICIiCkFTTkVFREVEX3BuLWRpc3RjYz0i
IgojCiMgJEFTTkVFREVEX3BuLWljdQojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5
L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9hcy1uZWVkZWQuaW5jOjgKIyAgICAgIiIKQVNORUVE
RURfcG4taWN1PSIiCiMKIyAkQVNORUVERURfcG4tb3Blbm9iZXgKIyAgIHNldCAvbWVkaWEvcmVi
ZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvYXMtbmVlZGVkLmluYzo3
CiMgICAgICIiCkFTTkVFREVEX3BuLW9wZW5vYmV4PSIiCiMKIyAkQVNORUVERURfcG4tcGNpdXRp
bHMKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2lu
Y2x1ZGUvYXMtbmVlZGVkLmluYzo5CiMgICAgICIiCkFTTkVFREVEX3BuLXBjaXV0aWxzPSIiCiMK
IyAkQVNORUVERURfcG4tcHVsc2VhdWRpbwojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9w
b2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9hcy1uZWVkZWQuaW5jOjExCiMgICAgICIiCkFT
TkVFREVEX3BuLXB1bHNlYXVkaW89IiIKIwojICRBU05FRURFRF9wbi1wdXp6bGVzCiMgICBzZXQg
L21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL2FzLW5l
ZWRlZC5pbmM6MTAKIyAgICAgIiIKQVNORUVERURfcG4tcHV6emxlcz0iIgojCiMgJEFTTkVFREVE
X3BuLXJwbQojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0
cm8vaW5jbHVkZS9hcy1uZWVkZWQuaW5jOjEyCiMgICAgICIiCkFTTkVFREVEX3BuLXJwbT0iIgoj
CiMgJEFTU1VNRV9QUk9WSURFRCBbMiBvcGVyYXRpb25zXQojICAgc2V0IC9tZWRpYS9yZWJlY2Nh
cy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6MTg3CiMgICAgICJiemlwMi1uYXRp
dmUgY2hycGF0aC1uYXRpdmUgZmlsZS1uYXRpdmUgZmluZHV0aWxzLW5hdGl2ZSBnaXQtbmF0aXZl
IGdyZXAtbmF0aXZlIGRpZmZzdGF0LW5hdGl2ZSBwYXRjaC1uYXRpdmUgbGliZ2NjLW5hdGl2ZSBo
b3N0cGVybC1ydW50aW1lLW5hdGl2ZSBob3N0cHl0aG9uLXJ1bnRpbWUtbmF0aXZlIHRhci1uYXRp
dmUgdmlydHVhbC9saWJpbnRsLW5hdGl2ZSB2aXJ0dWFsL2xpYmljb252LW5hdGl2ZSB0ZXhpbmZv
LW5hdGl2ZSBiYXNoLW5hdGl2ZSBzZWQtbmF0aXZlIHdnZXQtbmF0aXZlICIKIyAgIHNldCAvbWVk
aWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjcwCiMg
ICAgIFtkb2NdICJMaXN0IG9mIHBhY2thZ2VzIChyZWNpcGVzIGFjdHVhbGx5KSB0aGF0IGFyZSBh
c3N1bWVkIHRvIGJlIGltcGxpY2l0bHkgYXZhaWxhYmxlLiBCaXRCYWtlIGRvZXMgbm90IGJ1aWxk
IHRoZXNlIHBhY2thZ2VzLiIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgImJ6aXAyLW5hdGl2
ZSBjaHJwYXRoLW5hdGl2ZSBmaWxlLW5hdGl2ZSBmaW5kdXRpbHMtbmF0aXZlIGdpdC1uYXRpdmUg
Z3JlcC1uYXRpdmUgZGlmZnN0YXQtbmF0aXZlIHBhdGNoLW5hdGl2ZSBsaWJnY2MtbmF0aXZlIGhv
c3RwZXJsLXJ1bnRpbWUtbmF0aXZlIGhvc3RweXRob24tcnVudGltZS1uYXRpdmUgdGFyLW5hdGl2
ZSB2aXJ0dWFsL2xpYmludGwtbmF0aXZlIHZpcnR1YWwvbGliaWNvbnYtbmF0aXZlIHRleGluZm8t
bmF0aXZlIGJhc2gtbmF0aXZlIHNlZC1uYXRpdmUgd2dldC1uYXRpdmUgIgpBU1NVTUVfUFJPVklE
RUQ9ImJ6aXAyLW5hdGl2ZSBjaHJwYXRoLW5hdGl2ZSBmaWxlLW5hdGl2ZSBmaW5kdXRpbHMtbmF0
aXZlIGdpdC1uYXRpdmUgZ3JlcC1uYXRpdmUgZGlmZnN0YXQtbmF0aXZlIHBhdGNoLW5hdGl2ZSBs
aWJnY2MtbmF0aXZlIGhvc3RwZXJsLXJ1bnRpbWUtbmF0aXZlIGhvc3RweXRob24tcnVudGltZS1u
YXRpdmUgdGFyLW5hdGl2ZSB2aXJ0dWFsL2xpYmludGwtbmF0aXZlIHZpcnR1YWwvbGliaWNvbnYt
bmF0aXZlIHRleGluZm8tbmF0aXZlIGJhc2gtbmF0aXZlIHNlZC1uYXRpdmUgd2dldC1uYXRpdmUg
IgojCiMgJEFTU1VNRV9TSExJQlMKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9t
ZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjcxCiMgICAgIFtkb2NdICJMaXN0IG9mIHNobGli
OnBhY2thZ2VbX3ZlcnNpb25dIG1hcHBpbmdzLiBVc2VmdWwgZm9yIGxpYiBwYWNrYWdlcyBpbiBB
U1NVTUVfUFJPVklERUQsIGZvciB3aGljaCBhdXRvbWF0aWMgc2hsaWIgZGVwZW5kZW5jeSB0cmFj
a2luZyBkb2VzIG5vdCB3b3JrLiIKIwojICRBVVRIT1IKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMv
eW9jdG8vcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjcyCiMgICAgIFtkb2NdICJF
bWFpbCBhZGRyZXNzIHVzZWQgdG8gY29udGFjdCB0aGUgb3JpZ2luYWwgYXV0aG9yKHMpIGluIG9y
ZGVyIHRvIHNlbmQgcGF0Y2hlcyBhbmQgZm9yd2FyZCBidWdzLiIKIwojICRBVVRPUkVWIFsyIG9w
ZXJhdGlvbnNdCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Jp
dGJha2UuY29uZjo2NTIKIyAgICAgIiR7QGJiLmZldGNoMi5nZXRfYXV0b3JldihkKX0iCiMgICBz
ZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29u
Zjo3NAojICAgICBbZG9jXSAiV2hlbiBTUkNSRVYgaXMgc2V0IHRvIHRoZSB2YWx1ZSBvZiB0aGlz
IHZhcmlhYmxlLCBpdCBzcGVjaWZpZXMgdG8gdXNlIHRoZSBsYXRlc3Qgc291cmNlIHJldmlzaW9u
IGluIHRoZSByZXBvc2l0b3J5LiIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIiR7QGJiLmZl
dGNoMi5nZXRfYXV0b3JldihkKX0iCkFVVE9SRVY9IkFVVE9JTkMiCiMKIyAkQVVUT19MSUJOQU1F
X1BLR1MKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NsYXNzZXMvZGVi
aWFuLmJiY2xhc3M6MTIKIyAgICAgIiR7UEFDS0FHRVN9IgpBVVRPX0xJQk5BTUVfUEtHUz0ibHR0
bmctbW9kdWxlcy1kYmcgbHR0bmctbW9kdWxlcy1zdGF0aWNkZXYgbHR0bmctbW9kdWxlcy1kZXYg
bHR0bmctbW9kdWxlcy1kb2MgbHR0bmctbW9kdWxlcy1sb2NhbGUgIGx0dG5nLW1vZHVsZXMiCiMK
IyAkQVVUT19TWVNMSU5VWE1FTlUKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9t
ZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjczCiMgICAgIFtkb2NdICJFbmFibGVzIGNyZWF0
aW5nIGFuIGF1dG9tYXRpYyBtZW51IGZvciB0aGUgc3lzbGludXggYm9vdGxvYWRlci4iCiMKIyAk
QVZBSUxUVU5FUyBbNCBvcGVyYXRpb25zXQojICAgYXBwZW5kIC9tZWRpYS9yZWJlY2Nhcy95b2N0
by9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUveDg2L2FyY2gteDg2LmluYzozNwojICAg
ICAieDg2IgojICAgYXBwZW5kIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9t
YWNoaW5lL2luY2x1ZGUveDg2L2FyY2gteDg2LmluYzo0MwojICAgICAieDg2LTY0IgojICAgYXBw
ZW5kIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUv
eDg2L2FyY2gteDg2LmluYzo0OQojICAgICAieDg2LTY0LXgzMiIKIyAgIGFwcGVuZCAvbWVkaWEv
cmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3R1bmUtaTU4Ni5p
bmM6MTAKIyAgICAgImk1ODYiCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICIgeDg2IHg4Ni02
NCB4ODYtNjQteDMyIGk1ODYiCkFWQUlMVFVORVM9IiB4ODYgeDg2LTY0IHg4Ni02NC14MzIgaTU4
NiIKIwojICRCIFsyIG9wZXJhdGlvbnNdCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bv
a3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjozNTEKIyAgICAgIiR7U30iCiMgICBzZXQgL21lZGlh
L3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjo3OAojICAg
ICBbZG9jXSAiVGhlIEJ1aWxkIERpcmVjdG9yeS4gVGhlIE9wZW5FbWJlZGRlZCBidWlsZCBzeXN0
ZW0gcGxhY2VzIGdlbmVyYXRlZCBvYmplY3RzIGludG8gdGhlIEJ1aWxkIERpcmVjdG9yeSBkdXJp
bmcgYSByZWNpcGUncyBidWlsZCBwcm9jZXNzLiIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAg
IiR7U30iCkI9Ii9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy90bXAvd29yay9xZW11eDg2LXBv
a3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9sdHRuZy1tb2R1bGVzLTIuOS4xIgojCiMg
JEJBRF9SRUNPTU1FTkRBVElPTlMgWzIgb3BlcmF0aW9uc10KIyAgIHNldCAvbWVkaWEvcmViZWNj
YXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjc5CiMgICAgIFtkb2Nd
ICJBIGxpc3Qgb2YgcGFja2FnZXMgbm90IHRvIGluc3RhbGwgZGVzcGl0ZSBiZWluZyByZWNvbW1l
bmRlZCBieSBhIHJlY2lwZS4gU3VwcG9ydCBmb3IgdGhpcyB2YXJpYWJsZSBleGlzdHMgb25seSB3
aGVuIHVzaW5nIHRoZSBJUEsgb3IgUlBNIHBhY2thZ2luZyBiYWNrZW5kcy4iCiMgICBzZXQ/IC9t
ZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6ODE5CiMgICAg
ICIiCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICIiCkJBRF9SRUNPTU1FTkRBVElPTlM9IiIK
IwojICRCQVNFREVQRU5EUwojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEv
Y2xhc3Nlcy9iYXNlLmJiY2xhc3M6NzkKIyAgICAgIiR7QGJhc2VfZGVwX3ByZXBlbmQoZCl9IgpC
QVNFREVQRU5EUz0iIHZpcnR1YWwvaTU4Ni1wb2t5LWxpbnV4LWdjYyB2aXJ0dWFsL2k1ODYtcG9r
eS1saW51eC1jb21waWxlcmxpYnMgdmlydHVhbC9saWJjICIKIwojICRCQVNFTElCIFsyIG9wZXJh
dGlvbnNdCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJh
a2UuY29uZjoxMgojICAgICAibGliIgojICAgb3ZlcnJpZGVbcG93ZXJwYzY0XTpzZXQgL21lZGlh
L3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjoxMwojICAgICAibGli
NjQiCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICJsaWIiCkJBU0VMSUI9ImxpYiIKIwojICRC
QVNFTElCX3Bvd2VycGM2NAojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEv
Y29uZi9iaXRiYWtlLmNvbmY6MTMKIyAgICAgImxpYjY0IgpCQVNFTElCX3Bvd2VycGM2ND0ibGli
NjQiCiMKIyAkQkFTRV9MSUJfdHVuZS1pNTg2CiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3Rv
L3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS90dW5lLWk1ODYuaW5jOjEyCiMgICAgICJs
aWIiCkJBU0VfTElCX3R1bmUtaTU4Nj0ibGliIgojCiMgJEJBU0VfTElCX3R1bmUteDg2CiMgICBz
ZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS94
ODYvYXJjaC14ODYuaW5jOjM5CiMgICAgICJsaWIiCkJBU0VfTElCX3R1bmUteDg2PSJsaWIiCiMK
IyAkQkFTRV9MSUJfdHVuZS14ODYtNjQKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9r
eS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3g4Ni9hcmNoLXg4Ni5pbmM6NDUKIyAgICAgImxp
YjY0IgpCQVNFX0xJQl90dW5lLXg4Ni02ND0ibGliNjQiCiMKIyAkQkFTRV9MSUJfdHVuZS14ODYt
NjQteDMyCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL21hY2hp
bmUvaW5jbHVkZS94ODYvYXJjaC14ODYuaW5jOjUxCiMgICAgICJsaWJ4MzIiCkJBU0VfTElCX3R1
bmUteDg2LTY0LXgzMj0ibGlieDMyIgojCiMgJEJBU0VfV09SS0RJUgojICAgc2V0PyAvbWVkaWEv
cmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjM0NgojICAgICAiJHtU
TVBESVJ9L3dvcmsiCkJBU0VfV09SS0RJUj0iL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL3Rt
cC93b3JrIgojCiMgJEJCQ0xBU1NFWFRFTkQKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8v
cG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjg1CiMgICAgIFtkb2NdICJBbGxvd3Mg
eW91IHRvIGV4dGVuZCBhIHJlY2lwZSBzbyB0aGF0IGl0IGJ1aWxkcyB2YXJpYW50cyBvZiB0aGUg
c29mdHdhcmUuIENvbW1vbiB2YXJpYW50cyBmb3IgcmVjaXBlcyBhcmUgJ25hdGl2ZScsICdjcm9z
cycsICduYXRpdmVzZGsnIGFuZCBtdWx0aWxpYnMuIgojCiMgJEJCRklMRVMgWzExIG9wZXJhdGlv
bnNdCiMgICBzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy9jb25mL2JibGF5ZXJzLmNv
bmY6NgojICAgICAiIgojICAgYXBwZW5kIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEv
Y29uZi9sYXllci5jb25mOjQKIyAgICAgIiR7TEFZRVJESVJ9L3JlY2lwZXMtKi8qLyouYmIiCiMg
ICBzZXQgZGF0YV9zbWFydC5weTo5MzggW2V4cGFuZFZhcnJlZl0KIyAgICAgIiAvbWVkaWEvcmVi
ZWNjYXMveW9jdG8vcG9reS9tZXRhL3JlY2lwZXMtKi8qLyouYmIiCiMgICBhcHBlbmQgL21lZGlh
L3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5L2NvbmYvbGF5ZXIuY29uZjo2CiMgICAgICIk
e0xBWUVSRElSfS9yZWNpcGVzLSovKi8qLmJiICR7TEFZRVJESVJ9L3JlY2lwZXMtKi8qLyouYmJh
cHBlbmQiCiMgICBzZXQgZGF0YV9zbWFydC5weTo5MzggW2V4cGFuZFZhcnJlZl0KIyAgICAgIiAv
bWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL3JlY2lwZXMtKi8qLyouYmIgL21lZGlhL3Jl
YmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5L3JlY2lwZXMtKi8qLyouYmIgL21lZGlhL3JlYmVj
Y2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5L3JlY2lwZXMtKi8qLyouYmJhcHBlbmQiCiMgICBhcHBl
bmQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS15b2N0by1ic3AvY29uZi9sYXllci5j
b25mOjYKIyAgICAgIiR7TEFZRVJESVJ9L3JlY2lwZXMtKi8qLyouYmIgJHtMQVlFUkRJUn0vcmVj
aXBlcy0qLyovKi5iYmFwcGVuZCIKIyAgIHNldCBkYXRhX3NtYXJ0LnB5OjkzOCBbZXhwYW5kVmFy
cmVmXQojICAgICAiIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvcmVjaXBlcy0qLyov
Ki5iYiAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXBva3kvcmVjaXBlcy0qLyovKi5i
YiAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXBva3kvcmVjaXBlcy0qLyovKi5iYmFw
cGVuZCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXlvY3RvLWJzcC9yZWNpcGVzLSov
Ki8qLmJiIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEteW9jdG8tYnNwL3JlY2lwZXMt
Ki8qLyouYmJhcHBlbmQiCiMgICBhcHBlbmQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL21ldGEtaW50
ZWwtY29udHJpYi9jb25mL2xheWVyLmNvbmY6NgojICAgICAiJHtMQVlFUkRJUn0vY29tbW9uL3Jl
Y2lwZXMtKi8qLyouYmIgJHtMQVlFUkRJUn0vY29tbW9uL3JlY2lwZXMtKi8qLyouYmJhcHBlbmQi
CiMgICBzZXQgZGF0YV9zbWFydC5weTo5MzggW2V4cGFuZFZhcnJlZl0KIyAgICAgIiAvbWVkaWEv
cmViZWNjYXMveW9jdG8vcG9reS9tZXRhL3JlY2lwZXMtKi8qLyouYmIgL21lZGlhL3JlYmVjY2Fz
L3lvY3RvL3Bva3kvbWV0YS1wb2t5L3JlY2lwZXMtKi8qLyouYmIgL21lZGlhL3JlYmVjY2FzL3lv
Y3RvL3Bva3kvbWV0YS1wb2t5L3JlY2lwZXMtKi8qLyouYmJhcHBlbmQgL21lZGlhL3JlYmVjY2Fz
L3lvY3RvL3Bva3kvbWV0YS15b2N0by1ic3AvcmVjaXBlcy0qLyovKi5iYiAvbWVkaWEvcmViZWNj
YXMveW9jdG8vcG9reS9tZXRhLXlvY3RvLWJzcC9yZWNpcGVzLSovKi8qLmJiYXBwZW5kIC9tZWRp
YS9yZWJlY2Nhcy95b2N0by9tZXRhLWludGVsLWNvbnRyaWIvY29tbW9uL3JlY2lwZXMtKi8qLyou
YmIgL21lZGlhL3JlYmVjY2FzL3lvY3RvL21ldGEtaW50ZWwtY29udHJpYi9jb21tb24vcmVjaXBl
cy0qLyovKi5iYmFwcGVuZCIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRh
L2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjg5CiMgICAgIFtkb2NdICJMaXN0IG9mIHJlY2lwZSBm
aWxlcyB1c2VkIGJ5IEJpdEJha2UgdG8gYnVpbGQgc29mdHdhcmUuIgojICAgc2V0IGNvb2tlci5w
eToxODc5IFtjb2xsZWN0X2JiZmlsZXNdCiMgICAgICIvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9r
eS9tZXRhL3JlY2lwZXMtKi8qLyouYmIgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1w
b2t5L3JlY2lwZXMtKi8qLyouYmIgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5
L3JlY2lwZXMtKi8qLyouYmJhcHBlbmQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS15
b2N0by1ic3AvcmVjaXBlcy0qLyovKi5iYiAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRh
LXlvY3RvLWJzcC9yZWNpcGVzLSovKi8qLmJiYXBwZW5kIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9t
ZXRhLWludGVsLWNvbnRyaWIvY29tbW9uL3JlY2lwZXMtKi8qLyouYmIgL21lZGlhL3JlYmVjY2Fz
L3lvY3RvL21ldGEtaW50ZWwtY29udHJpYi9jb21tb24vcmVjaXBlcy0qLyovKi5iYmFwcGVuZCIK
IyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIi9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21l
dGEvcmVjaXBlcy0qLyovKi5iYiAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXBva3kv
cmVjaXBlcy0qLyovKi5iYiAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXBva3kvcmVj
aXBlcy0qLyovKi5iYmFwcGVuZCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXlvY3Rv
LWJzcC9yZWNpcGVzLSovKi8qLmJiIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEteW9j
dG8tYnNwL3JlY2lwZXMtKi8qLyouYmJhcHBlbmQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL21ldGEt
aW50ZWwtY29udHJpYi9jb21tb24vcmVjaXBlcy0qLyovKi5iYiAvbWVkaWEvcmViZWNjYXMveW9j
dG8vbWV0YS1pbnRlbC1jb250cmliL2NvbW1vbi9yZWNpcGVzLSovKi8qLmJiYXBwZW5kIgpCQkZJ
TEVTPSIvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL3JlY2lwZXMtKi8qLyouYmIgL21l
ZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5L3JlY2lwZXMtKi8qLyouYmIgL21lZGlh
L3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5L3JlY2lwZXMtKi8qLyouYmJhcHBlbmQgL21l
ZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS15b2N0by1ic3AvcmVjaXBlcy0qLyovKi5iYiAv
bWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXlvY3RvLWJzcC9yZWNpcGVzLSovKi8qLmJi
YXBwZW5kIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9tZXRhLWludGVsLWNvbnRyaWIvY29tbW9uL3Jl
Y2lwZXMtKi8qLyouYmIgL21lZGlhL3JlYmVjY2FzL3lvY3RvL21ldGEtaW50ZWwtY29udHJpYi9j
b21tb24vcmVjaXBlcy0qLyovKi5iYmFwcGVuZCIKIwojICRCQkZJTEVfQ09MTEVDVElPTlMgWzUg
b3BlcmF0aW9uc10KIyAgIGFwcGVuZCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2Nv
bmYvbGF5ZXIuY29uZjo2CiMgICAgICJjb3JlIgojICAgYXBwZW5kIC9tZWRpYS9yZWJlY2Nhcy95
b2N0by9wb2t5L21ldGEtcG9reS9jb25mL2xheWVyLmNvbmY6OAojICAgICAieW9jdG8iCiMgICBh
cHBlbmQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS15b2N0by1ic3AvY29uZi9sYXll
ci5jb25mOjgKIyAgICAgInlvY3RvYnNwIgojICAgYXBwZW5kIC9tZWRpYS9yZWJlY2Nhcy95b2N0
by9tZXRhLWludGVsLWNvbnRyaWIvY29uZi9sYXllci5jb25mOjgKIyAgICAgImludGVsIgojICAg
c2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNv
bmY6ODYKIyAgICAgW2RvY10gIkxpc3RzIHRoZSBuYW1lcyBvZiBjb25maWd1cmVkIGxheWVycy4g
VGhlc2UgbmFtZXMgYXJlIHVzZWQgdG8gZmluZCB0aGUgb3RoZXIgQkJGSUxFXyogdmFyaWFibGVz
LiIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIiBjb3JlIHlvY3RvIHlvY3RvYnNwIGludGVs
IgpCQkZJTEVfQ09MTEVDVElPTlM9IiBjb3JlIHlvY3RvIHlvY3RvYnNwIGludGVsIgojCiMgJEJC
RklMRV9QQVRURVJOIFs4IG9wZXJhdGlvbnNdCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3Rv
L3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjo4NwojICAgICBbZG9jXSAiVmFyaWFi
bGUgdGhhdCBleHBhbmRzIHRvIG1hdGNoIGZpbGVzIGZyb20gQkJGSUxFUyBpbiBhIHBhcnRpY3Vs
YXIgbGF5ZXIuIFRoaXMgdmFyaWFibGUgaXMgdXNlZCBpbiB0aGUgbGF5ZXIuY29uZiBmaWxlIGFu
ZCBtdXN0IGJlIHN1ZmZpeGVkIHdpdGggdGhlIG5hbWUgb2YgYSBsYXllci4iCiMgICBvdmVycmlk
ZVtjb3JlXTpzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2xheWVyLmNv
bmY6NwojICAgICAiXiR7TEFZRVJESVJ9LyIKIyAgIG92ZXJyaWRlW2NvcmVdOnNldCBkYXRhX3Nt
YXJ0LnB5OjkzOCBbZXhwYW5kVmFycmVmXQojICAgICAiXi9tZWRpYS9yZWJlY2Nhcy95b2N0by9w
b2t5L21ldGEvIgojICAgb3ZlcnJpZGVbeW9jdG9dOnNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8v
cG9reS9tZXRhLXBva3kvY29uZi9sYXllci5jb25mOjkKIyAgICAgIl4ke0xBWUVSRElSfS8iCiMg
ICBvdmVycmlkZVt5b2N0b106c2V0IGRhdGFfc21hcnQucHk6OTM4IFtleHBhbmRWYXJyZWZdCiMg
ICAgICJeL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5LyIKIyAgIG92ZXJyaWRl
W3lvY3RvYnNwXTpzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS15b2N0by1ic3Av
Y29uZi9sYXllci5jb25mOjkKIyAgICAgIl4ke0xBWUVSRElSfS8iCiMgICBvdmVycmlkZVt5b2N0
b2JzcF06c2V0IGRhdGFfc21hcnQucHk6OTM4IFtleHBhbmRWYXJyZWZdCiMgICAgICJeL21lZGlh
L3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS15b2N0by1ic3AvIgojICAgb3ZlcnJpZGVbaW50ZWxd
OmltbWVkaWF0ZSAvbWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1jb250cmliL2NvbmYv
bGF5ZXIuY29uZjo5CiMgICAgICJeJHtMQVlFUkRJUn0vY29tbW9uLyIKIyBwcmUtZXhwYW5zaW9u
IHZhbHVlOgojICAgIk5vbmUiCiMKIyAkQkJGSUxFX1BBVFRFUk5fY29yZSBbMiBvcGVyYXRpb25z
XQojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9sYXllci5jb25m
OjcKIyAgICAgIl4ke0xBWUVSRElSfS8iCiMgICBzZXQgZGF0YV9zbWFydC5weTo5MzggW2V4cGFu
ZFZhcnJlZl0KIyAgICAgIl4vbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhLyIKIyBwcmUt
ZXhwYW5zaW9uIHZhbHVlOgojICAgIl4vbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhLyIK
QkJGSUxFX1BBVFRFUk5fY29yZT0iXi9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvIgoj
CiMgJEJCRklMRV9QQVRURVJOX2ludGVsCiMgICBpbW1lZGlhdGUgL21lZGlhL3JlYmVjY2FzL3lv
Y3RvL21ldGEtaW50ZWwtY29udHJpYi9jb25mL2xheWVyLmNvbmY6OQojICAgICAiXiR7TEFZRVJE
SVJ9L2NvbW1vbi8iCkJCRklMRV9QQVRURVJOX2ludGVsPSJeL21lZGlhL3JlYmVjY2FzL3lvY3Rv
L21ldGEtaW50ZWwtY29udHJpYi9jb21tb24vIgojCiMgJEJCRklMRV9QQVRURVJOX3lvY3RvIFsy
IG9wZXJhdGlvbnNdCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5
L2NvbmYvbGF5ZXIuY29uZjo5CiMgICAgICJeJHtMQVlFUkRJUn0vIgojICAgc2V0IGRhdGFfc21h
cnQucHk6OTM4IFtleHBhbmRWYXJyZWZdCiMgICAgICJeL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bv
a3kvbWV0YS1wb2t5LyIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIl4vbWVkaWEvcmViZWNj
YXMveW9jdG8vcG9reS9tZXRhLXBva3kvIgpCQkZJTEVfUEFUVEVSTl95b2N0bz0iXi9tZWRpYS9y
ZWJlY2Nhcy95b2N0by9wb2t5L21ldGEtcG9reS8iCiMKIyAkQkJGSUxFX1BBVFRFUk5feW9jdG9i
c3AgWzIgb3BlcmF0aW9uc10KIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRh
LXlvY3RvLWJzcC9jb25mL2xheWVyLmNvbmY6OQojICAgICAiXiR7TEFZRVJESVJ9LyIKIyAgIHNl
dCBkYXRhX3NtYXJ0LnB5OjkzOCBbZXhwYW5kVmFycmVmXQojICAgICAiXi9tZWRpYS9yZWJlY2Nh
cy95b2N0by9wb2t5L21ldGEteW9jdG8tYnNwLyIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAg
Il4vbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXlvY3RvLWJzcC8iCkJCRklMRV9QQVRU
RVJOX3lvY3RvYnNwPSJeL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS15b2N0by1ic3Av
IgojCiMgJEJCRklMRV9QUklPUklUWSBbNSBvcGVyYXRpb25zXQojICAgc2V0IC9tZWRpYS9yZWJl
Y2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6ODgKIyAgICAgW2Rv
Y10gIkFzc2lnbnMgdGhlIHByaW9yaXR5IGZvciByZWNpcGUgZmlsZXMgaW4gZWFjaCBsYXllci4g
U2V0dGluZyB0aGlzIHZhcmlhYmxlIGFsbG93cyB5b3UgdG8gcHJpb3JpdGl6ZSBhIGxheWVyIGFn
YWluc3Qgb3RoZXIgbGF5ZXJzIHRoYXQgY29udGFpbiB0aGUgc2FtZSByZWNpcGUuIgojICAgb3Zl
cnJpZGVbY29yZV06c2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9sYXll
ci5jb25mOjgKIyAgICAgIjUiCiMgICBvdmVycmlkZVt5b2N0b106c2V0IC9tZWRpYS9yZWJlY2Nh
cy95b2N0by9wb2t5L21ldGEtcG9reS9jb25mL2xheWVyLmNvbmY6MTAKIyAgICAgIjUiCiMgICBv
dmVycmlkZVt5b2N0b2JzcF06c2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEteW9j
dG8tYnNwL2NvbmYvbGF5ZXIuY29uZjoxMAojICAgICAiNSIKIyAgIG92ZXJyaWRlW2ludGVsXTpz
ZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL21ldGEtaW50ZWwtY29udHJpYi9jb25mL2xheWVyLmNv
bmY6MTAKIyAgICAgIjUiCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICJOb25lIgojCiMgJEJC
RklMRV9QUklPUklUWV9jb3JlCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0
YS9jb25mL2xheWVyLmNvbmY6OAojICAgICAiNSIKQkJGSUxFX1BSSU9SSVRZX2NvcmU9IjUiCiMK
IyAkQkJGSUxFX1BSSU9SSVRZX2ludGVsCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL21l
dGEtaW50ZWwtY29udHJpYi9jb25mL2xheWVyLmNvbmY6MTAKIyAgICAgIjUiCkJCRklMRV9QUklP
UklUWV9pbnRlbD0iNSIKIwojICRCQkZJTEVfUFJJT1JJVFlfeW9jdG8KIyAgIHNldCAvbWVkaWEv
cmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXBva3kvY29uZi9sYXllci5jb25mOjEwCiMgICAgICI1
IgpCQkZJTEVfUFJJT1JJVFlfeW9jdG89IjUiCiMKIyAkQkJGSUxFX1BSSU9SSVRZX3lvY3RvYnNw
CiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS15b2N0by1ic3AvY29uZi9s
YXllci5jb25mOjEwCiMgICAgICI1IgpCQkZJTEVfUFJJT1JJVFlfeW9jdG9ic3A9IjUiCiMKIyAk
QkJJTkNMVURFRCBbMiBvcGVyYXRpb25zXQojICAgc2V0IGNvb2tlcmRhdGEucHk6Mzc4IFtwYXJz
ZUNvbmZpZ3VyYXRpb25GaWxlc10KIyAgICAgIi9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy9j
b25mL2JibGF5ZXJzLmNvbmYgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2xh
eWVyLmNvbmYgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5L2NvbmYvbGF5ZXIu
Y29uZiAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXlvY3RvLWJzcC9jb25mL2xheWVy
LmNvbmYgL21lZGlhL3JlYmVjY2FzL3lvY3RvL21ldGEtaW50ZWwtY29udHJpYi9jb25mL2xheWVy
LmNvbmYgL21lZGlhL3JlYmVjY2FzL3lvY3RvL21ldGEtaW50ZWwtY29udHJpYi9jb25mL2luY2x1
ZGUvbWFpbnRhaW5lcnMuaW5jIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEtcG9reS9j
b25mL2JpdGJha2UuY29uZiAvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvY29uZi9iaXRiYWtl
LmNvbmYgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZiAv
bWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvY29uZi9hYmlfdmVyc2lvbi5jb25m
IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEtcG9reS9jb25mL2FiaV92ZXJzaW9uLmNv
bmYgL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL2NvbmYvYWJpX3ZlcnNpb24uY29uZiAvbWVk
aWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYWJpX3ZlcnNpb24uY29uZiAvbWVkaWEv
cmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvY29uZi9zaXRlLmNvbmYgL21lZGlhL3JlYmVj
Y2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5L2NvbmYvc2l0ZS5jb25mIC9tZWRpYS9yZWJlY2Nhcy95
b2N0by9sdHRuZy9jb25mL3NpdGUuY29uZiAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRh
L2NvbmYvY29uZi9hdXRvLmNvbmYgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5
L2NvbmYvYXV0by5jb25mIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy9jb25mL2F1dG8uY29u
ZiAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYXV0by5jb25mIC9tZWRpYS9y
ZWJlY2Nhcy95b2N0by9wb2t5L21ldGEteW9jdG8tYnNwL2NvbmYvYXV0by5jb25mIC9tZWRpYS9y
ZWJlY2Nhcy95b2N0by9tZXRhLWludGVsLWNvbnRyaWIvY29uZi9hdXRvLmNvbmYgL21lZGlhL3Jl
YmVjY2FzL3lvY3RvL21ldGEtaW50ZWwtY29udHJpYi9jb21tb24vY29uZi9hdXRvLmNvbmYgL21l
ZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2NvbmYvbG9jYWwuY29uZiAvbWVkaWEv
cmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXBva3kvY29uZi9sb2NhbC5jb25mIC9tZWRpYS9yZWJl
Y2Nhcy95b2N0by9sdHRuZy9jb25mL2xvY2FsLmNvbmYgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bv
a3kvbWV0YS9jb25mL2NvbmYvbXVsdGljb25maWcvZGVmYXVsdC5jb25mIC9tZWRpYS9yZWJlY2Nh
cy95b2N0by9wb2t5L21ldGEtcG9reS9jb25mL211bHRpY29uZmlnL2RlZmF1bHQuY29uZiAvbWVk
aWEvcmViZWNjYXMveW9jdG8vbHR0bmcvY29uZi9tdWx0aWNvbmZpZy9kZWZhdWx0LmNvbmYgL21l
ZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL211bHRpY29uZmlnL2RlZmF1bHQuY29u
ZiAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvY29uZi9idWlsZC94ODZfNjQt
bGludXguY29uZiAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXBva3kvY29uZi9idWls
ZC94ODZfNjQtbGludXguY29uZiAvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvY29uZi9idWls
ZC94ODZfNjQtbGludXguY29uZiAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYv
YnVpbGQveDg2XzY0LWxpbnV4LmNvbmYgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS15
b2N0by1ic3AvY29uZi9idWlsZC94ODZfNjQtbGludXguY29uZiAvbWVkaWEvcmViZWNjYXMveW9j
dG8vbWV0YS1pbnRlbC1jb250cmliL2NvbmYvYnVpbGQveDg2XzY0LWxpbnV4LmNvbmYgL21lZGlh
L3JlYmVjY2FzL3lvY3RvL21ldGEtaW50ZWwtY29udHJpYi9jb21tb24vY29uZi9idWlsZC94ODZf
NjQtbGludXguY29uZiAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvY29uZi9t
YWNoaW5lL3FlbXV4ODYuY29uZiAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXBva3kv
Y29uZi9tYWNoaW5lL3FlbXV4ODYuY29uZiAvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvY29u
Zi9tYWNoaW5lL3FlbXV4ODYuY29uZiAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2Nv
bmYvbWFjaGluZS9xZW11eDg2LmNvbmYgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9j
b25mL21hY2hpbmUvY29uZi9tYWNoaW5lL2luY2x1ZGUvcWVtdS5pbmMgL21lZGlhL3JlYmVjY2Fz
L3lvY3RvL3Bva3kvbWV0YS1wb2t5L2NvbmYvbWFjaGluZS9pbmNsdWRlL3FlbXUuaW5jIC9tZWRp
YS9yZWJlY2Nhcy95b2N0by9sdHRuZy9jb25mL21hY2hpbmUvaW5jbHVkZS9xZW11LmluYyAvbWVk
aWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3FlbXUuaW5j
IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2NvbmYvbWFjaGlu
ZS9pbmNsdWRlL3R1bmUtaTU4Ni5pbmMgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1w
b2t5L2NvbmYvbWFjaGluZS9pbmNsdWRlL3R1bmUtaTU4Ni5pbmMgL21lZGlhL3JlYmVjY2FzL3lv
Y3RvL2x0dG5nL2NvbmYvbWFjaGluZS9pbmNsdWRlL3R1bmUtaTU4Ni5pbmMgL21lZGlhL3JlYmVj
Y2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS90dW5lLWk1ODYuaW5jIC9t
ZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvY29uZi9t
YWNoaW5lL2luY2x1ZGUveDg2L2FyY2gteDg2LmluYyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9r
eS9tZXRhLXBva3kvY29uZi9tYWNoaW5lL2luY2x1ZGUveDg2L2FyY2gteDg2LmluYyAvbWVkaWEv
cmViZWNjYXMveW9jdG8vbHR0bmcvY29uZi9tYWNoaW5lL2luY2x1ZGUveDg2L2FyY2gteDg2Lmlu
YyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3g4
Ni9hcmNoLXg4Ni5pbmMgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL21hY2hp
bmUvY29uZi9tYWNoaW5lL2luY2x1ZGUvcWVtdWJvb3QteDg2LmluYyAvbWVkaWEvcmViZWNjYXMv
eW9jdG8vcG9reS9tZXRhLXBva3kvY29uZi9tYWNoaW5lL2luY2x1ZGUvcWVtdWJvb3QteDg2Lmlu
YyAvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvY29uZi9tYWNoaW5lL2luY2x1ZGUvcWVtdWJv
b3QteDg2LmluYyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvbWFjaGluZS9p
bmNsdWRlL3FlbXVib290LXg4Ni5pbmMgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9j
b25mL2NvbmYvbWFjaGluZS1zZGsveDg2XzY0LmNvbmYgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bv
a3kvbWV0YS1wb2t5L2NvbmYvbWFjaGluZS1zZGsveDg2XzY0LmNvbmYgL21lZGlhL3JlYmVjY2Fz
L3lvY3RvL2x0dG5nL2NvbmYvbWFjaGluZS1zZGsveDg2XzY0LmNvbmYgL21lZGlhL3JlYmVjY2Fz
L3lvY3RvL3Bva3kvbWV0YS9jb25mL21hY2hpbmUtc2RrL3g4Nl82NC5jb25mIC9tZWRpYS9yZWJl
Y2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9jb25mL3RhcmdldC9pNTg2LW9lLWxpbnV4LmNvbmYg
L21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5L2NvbmYvdGFyZ2V0L2k1ODYtb2Ut
bGludXguY29uZiAvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvY29uZi90YXJnZXQvaTU4Ni1v
ZS1saW51eC5jb25mIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi90YXJnZXQv
aTU4Ni1vZS1saW51eC5jb25mIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEteW9jdG8t
YnNwL2NvbmYvdGFyZ2V0L2k1ODYtb2UtbGludXguY29uZiAvbWVkaWEvcmViZWNjYXMveW9jdG8v
bWV0YS1pbnRlbC1jb250cmliL2NvbmYvdGFyZ2V0L2k1ODYtb2UtbGludXguY29uZiAvbWVkaWEv
cmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1jb250cmliL2NvbW1vbi9jb25mL3RhcmdldC9pNTg2
LW9lLWxpbnV4LmNvbmYgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2NvbmYv
ZGlzdHJvL3Bva3kuY29uZiAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXBva3kvY29u
Zi9kaXN0cm8vcG9reS5jb25mIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEtcG9reS9j
b25mL2Rpc3Ryby9jb25mL2Rpc3Ryby9pbmNsdWRlL3Bva3ktd29ybGQtZXhjbHVkZS5pbmMgL21l
ZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5L2NvbmYvZGlzdHJvL2luY2x1ZGUvcG9r
eS13b3JsZC1leGNsdWRlLmluYyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXBva3kv
Y29uZi9kaXN0cm8vY29uZi9kaXN0cm8vaW5jbHVkZS9uby1zdGF0aWMtbGlicy5pbmMgL21lZGlh
L3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5L2NvbmYvZGlzdHJvL2luY2x1ZGUvbm8tc3Rh
dGljLWxpYnMuaW5jIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy9jb25mL2Rpc3Ryby9pbmNs
dWRlL25vLXN0YXRpYy1saWJzLmluYyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2Nv
bmYvZGlzdHJvL2luY2x1ZGUvbm8tc3RhdGljLWxpYnMuaW5jIC9tZWRpYS9yZWJlY2Nhcy95b2N0
by9wb2t5L21ldGEtcG9reS9jb25mL2Rpc3Ryby9jb25mL2Rpc3Ryby9pbmNsdWRlL3lvY3RvLXVu
aW5hdGl2ZS5pbmMgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5L2NvbmYvZGlz
dHJvL2luY2x1ZGUveW9jdG8tdW5pbmF0aXZlLmluYyAvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0
bmcvY29uZi9kaXN0cm8vaW5jbHVkZS95b2N0by11bmluYXRpdmUuaW5jIC9tZWRpYS9yZWJlY2Nh
cy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS95b2N0by11bmluYXRpdmUuaW5j
IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9jb25mL2Rpc3Ryby9kZWZhdWx0
c2V0dXAuY29uZiAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXBva3kvY29uZi9kaXN0
cm8vZGVmYXVsdHNldHVwLmNvbmYgL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL2NvbmYvZGlz
dHJvL2RlZmF1bHRzZXR1cC5jb25mIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29u
Zi9kaXN0cm8vZGVmYXVsdHNldHVwLmNvbmYgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0
YS9jb25mL2Rpc3Ryby9jb25mL2Rpc3Ryby9pbmNsdWRlL2RlZmF1bHQtcHJvdmlkZXJzLmluYyAv
bWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXBva3kvY29uZi9kaXN0cm8vaW5jbHVkZS9k
ZWZhdWx0LXByb3ZpZGVycy5pbmMgL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL2NvbmYvZGlz
dHJvL2luY2x1ZGUvZGVmYXVsdC1wcm92aWRlcnMuaW5jIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9w
b2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9kZWZhdWx0LXByb3ZpZGVycy5pbmMgL21lZGlh
L3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9jb25mL2Rpc3Ryby9pbmNsdWRl
L2RlZmF1bHQtdmVyc2lvbnMuaW5jIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEtcG9r
eS9jb25mL2Rpc3Ryby9pbmNsdWRlL2RlZmF1bHQtdmVyc2lvbnMuaW5jIC9tZWRpYS9yZWJlY2Nh
cy95b2N0by9sdHRuZy9jb25mL2Rpc3Ryby9pbmNsdWRlL2RlZmF1bHQtdmVyc2lvbnMuaW5jIC9t
ZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9kZWZhdWx0
LXZlcnNpb25zLmluYyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJv
L2NvbmYvZGlzdHJvL2luY2x1ZGUvZGVmYXVsdC1kaXN0cm92YXJzLmluYyAvbWVkaWEvcmViZWNj
YXMveW9jdG8vcG9reS9tZXRhLXBva3kvY29uZi9kaXN0cm8vaW5jbHVkZS9kZWZhdWx0LWRpc3Ry
b3ZhcnMuaW5jIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy9jb25mL2Rpc3Ryby9pbmNsdWRl
L2RlZmF1bHQtZGlzdHJvdmFycy5pbmMgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9j
b25mL2Rpc3Ryby9pbmNsdWRlL2RlZmF1bHQtZGlzdHJvdmFycy5pbmMgL21lZGlhL3JlYmVjY2Fz
L3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9jb25mL2Rpc3Ryby9pbmNsdWRlL3dvcmxkLWJy
b2tlbi5pbmMgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5L2NvbmYvZGlzdHJv
L2luY2x1ZGUvd29ybGQtYnJva2VuLmluYyAvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvY29u
Zi9kaXN0cm8vaW5jbHVkZS93b3JsZC1icm9rZW4uaW5jIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9w
b2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS93b3JsZC1icm9rZW4uaW5jIC9tZWRpYS9yZWJl
Y2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8vY29uZi9kaXN0cm8vaW5jbHVkZS90Y21v
ZGUtZGVmYXVsdC5pbmMgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5L2NvbmYv
ZGlzdHJvL2luY2x1ZGUvdGNtb2RlLWRlZmF1bHQuaW5jIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9s
dHRuZy9jb25mL2Rpc3Ryby9pbmNsdWRlL3RjbW9kZS1kZWZhdWx0LmluYyAvbWVkaWEvcmViZWNj
YXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvdGNtb2RlLWRlZmF1bHQuaW5j
IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9jb25m
L2Rpc3Ryby9pbmNsdWRlL2FzLW5lZWRlZC5pbmMgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kv
bWV0YS1wb2t5L2NvbmYvZGlzdHJvL2luY2x1ZGUvYXMtbmVlZGVkLmluYyAvbWVkaWEvcmViZWNj
YXMveW9jdG8vbHR0bmcvY29uZi9kaXN0cm8vaW5jbHVkZS9hcy1uZWVkZWQuaW5jIC9tZWRpYS9y
ZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9hcy1uZWVkZWQuaW5j
IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8vY29uZi9kaXN0cm8v
aW5jbHVkZS90Y2xpYmMtZ2xpYmMuaW5jIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEt
cG9reS9jb25mL2Rpc3Ryby9pbmNsdWRlL3RjbGliYy1nbGliYy5pbmMgL21lZGlhL3JlYmVjY2Fz
L3lvY3RvL2x0dG5nL2NvbmYvZGlzdHJvL2luY2x1ZGUvdGNsaWJjLWdsaWJjLmluYyAvbWVkaWEv
cmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvdGNsaWJjLWdsaWJj
LmluYyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2NvbmYvZGlz
dHJvL2luY2x1ZGUvdW5pbmF0aXZlLWZsYWdzLmluYyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9r
eS9tZXRhLXBva3kvY29uZi9kaXN0cm8vaW5jbHVkZS91bmluYXRpdmUtZmxhZ3MuaW5jIC9tZWRp
YS9yZWJlY2Nhcy95b2N0by9sdHRuZy9jb25mL2Rpc3Ryby9pbmNsdWRlL3VuaW5hdGl2ZS1mbGFn
cy5pbmMgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRl
L3VuaW5hdGl2ZS1mbGFncy5pbmMgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25m
L2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEt
cG9reS9jb25mL2RvY3VtZW50YXRpb24uY29uZiAvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcv
Y29uZi9kb2N1bWVudGF0aW9uLmNvbmYgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9j
b25mL2RvY3VtZW50YXRpb24uY29uZiAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2Nv
bmYvY29uZi9saWNlbnNlcy5jb25mIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEtcG9r
eS9jb25mL2xpY2Vuc2VzLmNvbmYgL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL2NvbmYvbGlj
ZW5zZXMuY29uZiAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvbGljZW5zZXMu
Y29uZiAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvY29uZi9zYW5pdHkuY29u
ZiAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXBva3kvY29uZi9zYW5pdHkuY29uZiAv
bWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvY29uZi9zYW5pdHkuY29uZiAvbWVkaWEvcmViZWNj
YXMveW9jdG8vcG9reS9tZXRhL2NvbmYvc2FuaXR5LmNvbmYgL21lZGlhL3JlYmVjY2FzL3lvY3Rv
L3Bva3kvbWV0YS1wb2t5L2NsYXNzZXMvYmFzZS5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0
by9sdHRuZy9jbGFzc2VzL2Jhc2UuYmJjbGFzcyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9t
ZXRhL2NsYXNzZXMvYmFzZS5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEt
cG9reS9jbGFzc2VzL3BhdGNoLmJiY2xhc3MgL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL2Ns
YXNzZXMvcGF0Y2guYmJjbGFzcyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NsYXNz
ZXMvcGF0Y2guYmJjbGFzcyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXBva3kvY2xh
c3Nlcy90ZXJtaW5hbC5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy9jbGFzc2Vz
L3Rlcm1pbmFsLmJiY2xhc3MgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2Vz
L3Rlcm1pbmFsLmJiY2xhc3MgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5L2Ns
YXNzZXMvc3RhZ2luZy5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy9jbGFzc2Vz
L3N0YWdpbmcuYmJjbGFzcyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NsYXNzZXMv
c3RhZ2luZy5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEtcG9reS9jbGFz
c2VzL21pcnJvcnMuYmJjbGFzcyAvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvY2xhc3Nlcy9t
aXJyb3JzLmJiY2xhc3MgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL21p
cnJvcnMuYmJjbGFzcyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXBva3kvY2xhc3Nl
cy91dGlscy5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy9jbGFzc2VzL3V0aWxz
LmJiY2xhc3MgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL3V0aWxzLmJi
Y2xhc3MgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5L2NsYXNzZXMvdXRpbGl0
eS10YXNrcy5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy9jbGFzc2VzL3V0aWxp
dHktdGFza3MuYmJjbGFzcyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NsYXNzZXMv
dXRpbGl0eS10YXNrcy5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEtcG9r
eS9jbGFzc2VzL21ldGFkYXRhX3NjbS5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRu
Zy9jbGFzc2VzL21ldGFkYXRhX3NjbS5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5
L21ldGEvY2xhc3Nlcy9tZXRhZGF0YV9zY20uYmJjbGFzcyAvbWVkaWEvcmViZWNjYXMveW9jdG8v
cG9reS9tZXRhLXBva3kvY2xhc3Nlcy9sb2dnaW5nLmJiY2xhc3MgL21lZGlhL3JlYmVjY2FzL3lv
Y3RvL2x0dG5nL2NsYXNzZXMvbG9nZ2luZy5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9w
b2t5L21ldGEvY2xhc3Nlcy9sb2dnaW5nLmJiY2xhc3MgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bv
a3kvbWV0YS1wb2t5L2NsYXNzZXMvcG9reS1zYW5pdHkuYmJjbGFzcyAvbWVkaWEvcmViZWNjYXMv
eW9jdG8vcG9reS9tZXRhLXBva3kvY2xhc3Nlcy91bmluYXRpdmUuYmJjbGFzcyAvbWVkaWEvcmVi
ZWNjYXMveW9jdG8vbHR0bmcvY2xhc3Nlcy91bmluYXRpdmUuYmJjbGFzcyAvbWVkaWEvcmViZWNj
YXMveW9jdG8vcG9reS9tZXRhL2NsYXNzZXMvdW5pbmF0aXZlLmJiY2xhc3MgL21lZGlhL3JlYmVj
Y2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5L2NsYXNzZXMvcGFja2FnZV9ycG0uYmJjbGFzcyAvbWVk
aWEvcmViZWNjYXMveW9jdG8vbHR0bmcvY2xhc3Nlcy9wYWNrYWdlX3JwbS5iYmNsYXNzIC9tZWRp
YS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY2xhc3Nlcy9wYWNrYWdlX3JwbS5iYmNsYXNzIC9t
ZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEtcG9reS9jbGFzc2VzL3BhY2thZ2UuYmJjbGFz
cyAvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvY2xhc3Nlcy9wYWNrYWdlLmJiY2xhc3MgL21l
ZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL3BhY2thZ2UuYmJjbGFzcyAvbWVk
aWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXBva3kvY2xhc3Nlcy9wYWNrYWdlZGF0YS5iYmNs
YXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy9jbGFzc2VzL3BhY2thZ2VkYXRhLmJiY2xh
c3MgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL3BhY2thZ2VkYXRhLmJi
Y2xhc3MgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5L2NsYXNzZXMvY2hycGF0
aC5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy9jbGFzc2VzL2NocnBhdGguYmJj
bGFzcyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NsYXNzZXMvY2hycGF0aC5iYmNs
YXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEtcG9reS9jbGFzc2VzL2luc2FuZS5i
YmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy9jbGFzc2VzL2luc2FuZS5iYmNsYXNz
IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY2xhc3Nlcy9pbnNhbmUuYmJjbGFzcyAv
bWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXBva3kvY2xhc3Nlcy9idWlsZHN0YXRzLmJi
Y2xhc3MgL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL2NsYXNzZXMvYnVpbGRzdGF0cy5iYmNs
YXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY2xhc3Nlcy9idWlsZHN0YXRzLmJi
Y2xhc3MgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5L2NsYXNzZXMvaW1hZ2Ut
bWtsaWJzLmJiY2xhc3MgL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL2NsYXNzZXMvaW1hZ2Ut
bWtsaWJzLmJiY2xhc3MgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL2lt
YWdlLW1rbGlicy5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEtcG9reS9j
bGFzc2VzL2xpbnV4bG9hZGVyLmJiY2xhc3MgL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL2Ns
YXNzZXMvbGludXhsb2FkZXIuYmJjbGFzcyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRh
L2NsYXNzZXMvbGludXhsb2FkZXIuYmJjbGFzcyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9t
ZXRhLXBva3kvY2xhc3Nlcy9pbWFnZS1wcmVsaW5rLmJiY2xhc3MgL21lZGlhL3JlYmVjY2FzL3lv
Y3RvL2x0dG5nL2NsYXNzZXMvaW1hZ2UtcHJlbGluay5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95
b2N0by9wb2t5L21ldGEvY2xhc3Nlcy9pbWFnZS1wcmVsaW5rLmJiY2xhc3MgL21lZGlhL3JlYmVj
Y2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5L2NsYXNzZXMvZGViaWFuLmJiY2xhc3MgL21lZGlhL3Jl
YmVjY2FzL3lvY3RvL2x0dG5nL2NsYXNzZXMvZGViaWFuLmJiY2xhc3MgL21lZGlhL3JlYmVjY2Fz
L3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL2RlYmlhbi5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95
b2N0by9wb2t5L21ldGEtcG9reS9jbGFzc2VzL2RldnNoZWxsLmJiY2xhc3MgL21lZGlhL3JlYmVj
Y2FzL3lvY3RvL2x0dG5nL2NsYXNzZXMvZGV2c2hlbGwuYmJjbGFzcyAvbWVkaWEvcmViZWNjYXMv
eW9jdG8vcG9reS9tZXRhL2NsYXNzZXMvZGV2c2hlbGwuYmJjbGFzcyAvbWVkaWEvcmViZWNjYXMv
eW9jdG8vcG9reS9tZXRhLXBva3kvY2xhc3Nlcy9zc3RhdGUuYmJjbGFzcyAvbWVkaWEvcmViZWNj
YXMveW9jdG8vbHR0bmcvY2xhc3Nlcy9zc3RhdGUuYmJjbGFzcyAvbWVkaWEvcmViZWNjYXMveW9j
dG8vcG9reS9tZXRhL2NsYXNzZXMvc3N0YXRlLmJiY2xhc3MgL21lZGlhL3JlYmVjY2FzL3lvY3Rv
L3Bva3kvbWV0YS1wb2t5L2NsYXNzZXMvbGljZW5zZS5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95
b2N0by9sdHRuZy9jbGFzc2VzL2xpY2Vuc2UuYmJjbGFzcyAvbWVkaWEvcmViZWNjYXMveW9jdG8v
cG9reS9tZXRhL2NsYXNzZXMvbGljZW5zZS5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9w
b2t5L21ldGEtcG9reS9jbGFzc2VzL3JlbW92ZS1saWJ0b29sLmJiY2xhc3MgL21lZGlhL3JlYmVj
Y2FzL3lvY3RvL2x0dG5nL2NsYXNzZXMvcmVtb3ZlLWxpYnRvb2wuYmJjbGFzcyAvbWVkaWEvcmVi
ZWNjYXMveW9jdG8vcG9reS9tZXRhL2NsYXNzZXMvcmVtb3ZlLWxpYnRvb2wuYmJjbGFzcyAvbWVk
aWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXBva3kvY2xhc3Nlcy9ibGFja2xpc3QuYmJjbGFz
cyAvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvY2xhc3Nlcy9ibGFja2xpc3QuYmJjbGFzcyAv
bWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NsYXNzZXMvYmxhY2tsaXN0LmJiY2xhc3Mg
L21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5L2NsYXNzZXMvc2FuaXR5LmJiY2xh
c3MgL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL2NsYXNzZXMvc2FuaXR5LmJiY2xhc3MgL21l
ZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL3Nhbml0eS5iYmNsYXNzIgojICAg
c2V0IGFzdC5weTozNjMgW2ZpbmFsaXplXQojICAgICAiL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0
dG5nL2NvbmYvYmJsYXllcnMuY29uZiAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2Nv
bmYvbGF5ZXIuY29uZiAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXBva3kvY29uZi9s
YXllci5jb25mIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEteW9jdG8tYnNwL2NvbmYv
bGF5ZXIuY29uZiAvbWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1jb250cmliL2NvbmYv
bGF5ZXIuY29uZiAvbWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1jb250cmliL2NvbmYv
aW5jbHVkZS9tYWludGFpbmVycy5pbmMgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1w
b2t5L2NvbmYvYml0YmFrZS5jb25mIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy9jb25mL2Jp
dGJha2UuY29uZiAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5j
b25mIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9jb25mL2FiaV92ZXJzaW9u
LmNvbmYgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5L2NvbmYvYWJpX3ZlcnNp
b24uY29uZiAvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvY29uZi9hYmlfdmVyc2lvbi5jb25m
IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9hYmlfdmVyc2lvbi5jb25mIC9t
ZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9jb25mL3NpdGUuY29uZiAvbWVkaWEv
cmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXBva3kvY29uZi9zaXRlLmNvbmYgL21lZGlhL3JlYmVj
Y2FzL3lvY3RvL2x0dG5nL2NvbmYvc2l0ZS5jb25mIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5
L21ldGEvY29uZi9jb25mL2F1dG8uY29uZiAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRh
LXBva3kvY29uZi9hdXRvLmNvbmYgL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL2NvbmYvYXV0
by5jb25mIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9hdXRvLmNvbmYgL21l
ZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS15b2N0by1ic3AvY29uZi9hdXRvLmNvbmYgL21l
ZGlhL3JlYmVjY2FzL3lvY3RvL21ldGEtaW50ZWwtY29udHJpYi9jb25mL2F1dG8uY29uZiAvbWVk
aWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1jb250cmliL2NvbW1vbi9jb25mL2F1dG8uY29u
ZiAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvY29uZi9sb2NhbC5jb25mIC9t
ZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEtcG9reS9jb25mL2xvY2FsLmNvbmYgL21lZGlh
L3JlYmVjY2FzL3lvY3RvL2x0dG5nL2NvbmYvbG9jYWwuY29uZiAvbWVkaWEvcmViZWNjYXMveW9j
dG8vcG9reS9tZXRhL2NvbmYvY29uZi9tdWx0aWNvbmZpZy9kZWZhdWx0LmNvbmYgL21lZGlhL3Jl
YmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5L2NvbmYvbXVsdGljb25maWcvZGVmYXVsdC5jb25m
IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy9jb25mL211bHRpY29uZmlnL2RlZmF1bHQuY29u
ZiAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvbXVsdGljb25maWcvZGVmYXVs
dC5jb25mIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9jb25mL2J1aWxkL3g4
Nl82NC1saW51eC5jb25mIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEtcG9reS9jb25m
L2J1aWxkL3g4Nl82NC1saW51eC5jb25mIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy9jb25m
L2J1aWxkL3g4Nl82NC1saW51eC5jb25mIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEv
Y29uZi9idWlsZC94ODZfNjQtbGludXguY29uZiAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9t
ZXRhLXlvY3RvLWJzcC9jb25mL2J1aWxkL3g4Nl82NC1saW51eC5jb25mIC9tZWRpYS9yZWJlY2Nh
cy95b2N0by9tZXRhLWludGVsLWNvbnRyaWIvY29uZi9idWlsZC94ODZfNjQtbGludXguY29uZiAv
bWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1jb250cmliL2NvbW1vbi9jb25mL2J1aWxk
L3g4Nl82NC1saW51eC5jb25mIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9j
b25mL21hY2hpbmUvcWVtdXg4Ni5jb25mIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEt
cG9reS9jb25mL21hY2hpbmUvcWVtdXg4Ni5jb25mIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRu
Zy9jb25mL21hY2hpbmUvcWVtdXg4Ni5jb25mIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21l
dGEvY29uZi9tYWNoaW5lL3FlbXV4ODYuY29uZiAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9t
ZXRhL2NvbmYvbWFjaGluZS9jb25mL21hY2hpbmUvaW5jbHVkZS9xZW11LmluYyAvbWVkaWEvcmVi
ZWNjYXMveW9jdG8vcG9reS9tZXRhLXBva3kvY29uZi9tYWNoaW5lL2luY2x1ZGUvcWVtdS5pbmMg
L21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL2NvbmYvbWFjaGluZS9pbmNsdWRlL3FlbXUuaW5j
IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvcWVt
dS5pbmMgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvY29uZi9t
YWNoaW5lL2luY2x1ZGUvdHVuZS1pNTg2LmluYyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9t
ZXRhLXBva3kvY29uZi9tYWNoaW5lL2luY2x1ZGUvdHVuZS1pNTg2LmluYyAvbWVkaWEvcmViZWNj
YXMveW9jdG8vbHR0bmcvY29uZi9tYWNoaW5lL2luY2x1ZGUvdHVuZS1pNTg2LmluYyAvbWVkaWEv
cmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3R1bmUtaTU4Ni5p
bmMgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS9j
b25mL21hY2hpbmUvaW5jbHVkZS94ODYvYXJjaC14ODYuaW5jIC9tZWRpYS9yZWJlY2Nhcy95b2N0
by9wb2t5L21ldGEtcG9reS9jb25mL21hY2hpbmUvaW5jbHVkZS94ODYvYXJjaC14ODYuaW5jIC9t
ZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy9jb25mL21hY2hpbmUvaW5jbHVkZS94ODYvYXJjaC14
ODYuaW5jIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1
ZGUveDg2L2FyY2gteDg2LmluYyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYv
bWFjaGluZS9jb25mL21hY2hpbmUvaW5jbHVkZS9xZW11Ym9vdC14ODYuaW5jIC9tZWRpYS9yZWJl
Y2Nhcy95b2N0by9wb2t5L21ldGEtcG9reS9jb25mL21hY2hpbmUvaW5jbHVkZS9xZW11Ym9vdC14
ODYuaW5jIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy9jb25mL21hY2hpbmUvaW5jbHVkZS9x
ZW11Ym9vdC14ODYuaW5jIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9tYWNo
aW5lL2luY2x1ZGUvcWVtdWJvb3QteDg2LmluYyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9t
ZXRhL2NvbmYvY29uZi9tYWNoaW5lLXNkay94ODZfNjQuY29uZiAvbWVkaWEvcmViZWNjYXMveW9j
dG8vcG9reS9tZXRhLXBva3kvY29uZi9tYWNoaW5lLXNkay94ODZfNjQuY29uZiAvbWVkaWEvcmVi
ZWNjYXMveW9jdG8vbHR0bmcvY29uZi9tYWNoaW5lLXNkay94ODZfNjQuY29uZiAvbWVkaWEvcmVi
ZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvbWFjaGluZS1zZGsveDg2XzY0LmNvbmYgL21lZGlh
L3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2NvbmYvdGFyZ2V0L2k1ODYtb2UtbGludXgu
Y29uZiAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXBva3kvY29uZi90YXJnZXQvaTU4
Ni1vZS1saW51eC5jb25mIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy9jb25mL3RhcmdldC9p
NTg2LW9lLWxpbnV4LmNvbmYgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL3Rh
cmdldC9pNTg2LW9lLWxpbnV4LmNvbmYgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS15
b2N0by1ic3AvY29uZi90YXJnZXQvaTU4Ni1vZS1saW51eC5jb25mIC9tZWRpYS9yZWJlY2Nhcy95
b2N0by9tZXRhLWludGVsLWNvbnRyaWIvY29uZi90YXJnZXQvaTU4Ni1vZS1saW51eC5jb25mIC9t
ZWRpYS9yZWJlY2Nhcy95b2N0by9tZXRhLWludGVsLWNvbnRyaWIvY29tbW9uL2NvbmYvdGFyZ2V0
L2k1ODYtb2UtbGludXguY29uZiAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYv
Y29uZi9kaXN0cm8vcG9reS5jb25mIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEtcG9r
eS9jb25mL2Rpc3Ryby9wb2t5LmNvbmYgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1w
b2t5L2NvbmYvZGlzdHJvL2NvbmYvZGlzdHJvL2luY2x1ZGUvcG9reS13b3JsZC1leGNsdWRlLmlu
YyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXBva3kvY29uZi9kaXN0cm8vaW5jbHVk
ZS9wb2t5LXdvcmxkLWV4Y2x1ZGUuaW5jIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEt
cG9reS9jb25mL2Rpc3Ryby9jb25mL2Rpc3Ryby9pbmNsdWRlL25vLXN0YXRpYy1saWJzLmluYyAv
bWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXBva3kvY29uZi9kaXN0cm8vaW5jbHVkZS9u
by1zdGF0aWMtbGlicy5pbmMgL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL2NvbmYvZGlzdHJv
L2luY2x1ZGUvbm8tc3RhdGljLWxpYnMuaW5jIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21l
dGEvY29uZi9kaXN0cm8vaW5jbHVkZS9uby1zdGF0aWMtbGlicy5pbmMgL21lZGlhL3JlYmVjY2Fz
L3lvY3RvL3Bva3kvbWV0YS1wb2t5L2NvbmYvZGlzdHJvL2NvbmYvZGlzdHJvL2luY2x1ZGUveW9j
dG8tdW5pbmF0aXZlLmluYyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXBva3kvY29u
Zi9kaXN0cm8vaW5jbHVkZS95b2N0by11bmluYXRpdmUuaW5jIC9tZWRpYS9yZWJlY2Nhcy95b2N0
by9sdHRuZy9jb25mL2Rpc3Ryby9pbmNsdWRlL3lvY3RvLXVuaW5hdGl2ZS5pbmMgL21lZGlhL3Jl
YmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL3lvY3RvLXVuaW5hdGl2
ZS5pbmMgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2NvbmYvZGlzdHJvL2Rl
ZmF1bHRzZXR1cC5jb25mIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEtcG9reS9jb25m
L2Rpc3Ryby9kZWZhdWx0c2V0dXAuY29uZiAvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvY29u
Zi9kaXN0cm8vZGVmYXVsdHNldHVwLmNvbmYgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0
YS9jb25mL2Rpc3Ryby9kZWZhdWx0c2V0dXAuY29uZiAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9r
eS9tZXRhL2NvbmYvZGlzdHJvL2NvbmYvZGlzdHJvL2luY2x1ZGUvZGVmYXVsdC1wcm92aWRlcnMu
aW5jIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEtcG9reS9jb25mL2Rpc3Ryby9pbmNs
dWRlL2RlZmF1bHQtcHJvdmlkZXJzLmluYyAvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvY29u
Zi9kaXN0cm8vaW5jbHVkZS9kZWZhdWx0LXByb3ZpZGVycy5pbmMgL21lZGlhL3JlYmVjY2FzL3lv
Y3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL2RlZmF1bHQtcHJvdmlkZXJzLmluYyAv
bWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2NvbmYvZGlzdHJvL2lu
Y2x1ZGUvZGVmYXVsdC12ZXJzaW9ucy5pbmMgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0
YS1wb2t5L2NvbmYvZGlzdHJvL2luY2x1ZGUvZGVmYXVsdC12ZXJzaW9ucy5pbmMgL21lZGlhL3Jl
YmVjY2FzL3lvY3RvL2x0dG5nL2NvbmYvZGlzdHJvL2luY2x1ZGUvZGVmYXVsdC12ZXJzaW9ucy5p
bmMgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL2Rl
ZmF1bHQtdmVyc2lvbnMuaW5jIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9k
aXN0cm8vY29uZi9kaXN0cm8vaW5jbHVkZS9kZWZhdWx0LWRpc3Ryb3ZhcnMuaW5jIC9tZWRpYS9y
ZWJlY2Nhcy95b2N0by9wb2t5L21ldGEtcG9reS9jb25mL2Rpc3Ryby9pbmNsdWRlL2RlZmF1bHQt
ZGlzdHJvdmFycy5pbmMgL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL2NvbmYvZGlzdHJvL2lu
Y2x1ZGUvZGVmYXVsdC1kaXN0cm92YXJzLmluYyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9t
ZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvZGVmYXVsdC1kaXN0cm92YXJzLmluYyAvbWVkaWEvcmVi
ZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2NvbmYvZGlzdHJvL2luY2x1ZGUvd29y
bGQtYnJva2VuLmluYyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXBva3kvY29uZi9k
aXN0cm8vaW5jbHVkZS93b3JsZC1icm9rZW4uaW5jIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRu
Zy9jb25mL2Rpc3Ryby9pbmNsdWRlL3dvcmxkLWJyb2tlbi5pbmMgL21lZGlhL3JlYmVjY2FzL3lv
Y3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL3dvcmxkLWJyb2tlbi5pbmMgL21lZGlh
L3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9jb25mL2Rpc3Ryby9pbmNsdWRl
L3RjbW9kZS1kZWZhdWx0LmluYyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXBva3kv
Y29uZi9kaXN0cm8vaW5jbHVkZS90Y21vZGUtZGVmYXVsdC5pbmMgL21lZGlhL3JlYmVjY2FzL3lv
Y3RvL2x0dG5nL2NvbmYvZGlzdHJvL2luY2x1ZGUvdGNtb2RlLWRlZmF1bHQuaW5jIC9tZWRpYS9y
ZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS90Y21vZGUtZGVmYXVs
dC5pbmMgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRl
L2NvbmYvZGlzdHJvL2luY2x1ZGUvYXMtbmVlZGVkLmluYyAvbWVkaWEvcmViZWNjYXMveW9jdG8v
cG9reS9tZXRhLXBva3kvY29uZi9kaXN0cm8vaW5jbHVkZS9hcy1uZWVkZWQuaW5jIC9tZWRpYS9y
ZWJlY2Nhcy95b2N0by9sdHRuZy9jb25mL2Rpc3Ryby9pbmNsdWRlL2FzLW5lZWRlZC5pbmMgL21l
ZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL2FzLW5lZWRl
ZC5pbmMgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9jb25mL2Rp
c3Ryby9pbmNsdWRlL3RjbGliYy1nbGliYy5pbmMgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kv
bWV0YS1wb2t5L2NvbmYvZGlzdHJvL2luY2x1ZGUvdGNsaWJjLWdsaWJjLmluYyAvbWVkaWEvcmVi
ZWNjYXMveW9jdG8vbHR0bmcvY29uZi9kaXN0cm8vaW5jbHVkZS90Y2xpYmMtZ2xpYmMuaW5jIC9t
ZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS90Y2xpYmMt
Z2xpYmMuaW5jIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8vY29u
Zi9kaXN0cm8vaW5jbHVkZS91bmluYXRpdmUtZmxhZ3MuaW5jIC9tZWRpYS9yZWJlY2Nhcy95b2N0
by9wb2t5L21ldGEtcG9reS9jb25mL2Rpc3Ryby9pbmNsdWRlL3VuaW5hdGl2ZS1mbGFncy5pbmMg
L21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL2NvbmYvZGlzdHJvL2luY2x1ZGUvdW5pbmF0aXZl
LWZsYWdzLmluYyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2lu
Y2x1ZGUvdW5pbmF0aXZlLWZsYWdzLmluYyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRh
L2NvbmYvY29uZi9kb2N1bWVudGF0aW9uLmNvbmYgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kv
bWV0YS1wb2t5L2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9s
dHRuZy9jb25mL2RvY3VtZW50YXRpb24uY29uZiAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9t
ZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21l
dGEvY29uZi9jb25mL2xpY2Vuc2VzLmNvbmYgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0
YS1wb2t5L2NvbmYvbGljZW5zZXMuY29uZiAvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvY29u
Zi9saWNlbnNlcy5jb25mIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9saWNl
bnNlcy5jb25mIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9jb25mL3Nhbml0
eS5jb25mIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEtcG9reS9jb25mL3Nhbml0eS5j
b25mIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy9jb25mL3Nhbml0eS5jb25mIC9tZWRpYS9y
ZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9zYW5pdHkuY29uZiAvbWVkaWEvcmViZWNjYXMv
eW9jdG8vcG9reS9tZXRhLXBva3kvY2xhc3Nlcy9iYXNlLmJiY2xhc3MgL21lZGlhL3JlYmVjY2Fz
L3lvY3RvL2x0dG5nL2NsYXNzZXMvYmFzZS5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9w
b2t5L21ldGEvY2xhc3Nlcy9iYXNlLmJiY2xhc3MgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kv
bWV0YS1wb2t5L2NsYXNzZXMvcGF0Y2guYmJjbGFzcyAvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0
bmcvY2xhc3Nlcy9wYXRjaC5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEv
Y2xhc3Nlcy9wYXRjaC5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEtcG9r
eS9jbGFzc2VzL3Rlcm1pbmFsLmJiY2xhc3MgL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL2Ns
YXNzZXMvdGVybWluYWwuYmJjbGFzcyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2Ns
YXNzZXMvdGVybWluYWwuYmJjbGFzcyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXBv
a3kvY2xhc3Nlcy9zdGFnaW5nLmJiY2xhc3MgL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL2Ns
YXNzZXMvc3RhZ2luZy5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY2xh
c3Nlcy9zdGFnaW5nLmJiY2xhc3MgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5
L2NsYXNzZXMvbWlycm9ycy5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy9jbGFz
c2VzL21pcnJvcnMuYmJjbGFzcyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NsYXNz
ZXMvbWlycm9ycy5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEtcG9reS9j
bGFzc2VzL3V0aWxzLmJiY2xhc3MgL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL2NsYXNzZXMv
dXRpbHMuYmJjbGFzcyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NsYXNzZXMvdXRp
bHMuYmJjbGFzcyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXBva3kvY2xhc3Nlcy91
dGlsaXR5LXRhc2tzLmJiY2xhc3MgL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL2NsYXNzZXMv
dXRpbGl0eS10YXNrcy5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY2xh
c3Nlcy91dGlsaXR5LXRhc2tzLmJiY2xhc3MgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0
YS1wb2t5L2NsYXNzZXMvbWV0YWRhdGFfc2NtLmJiY2xhc3MgL21lZGlhL3JlYmVjY2FzL3lvY3Rv
L2x0dG5nL2NsYXNzZXMvbWV0YWRhdGFfc2NtLmJiY2xhc3MgL21lZGlhL3JlYmVjY2FzL3lvY3Rv
L3Bva3kvbWV0YS9jbGFzc2VzL21ldGFkYXRhX3NjbS5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95
b2N0by9wb2t5L21ldGEtcG9reS9jbGFzc2VzL2xvZ2dpbmcuYmJjbGFzcyAvbWVkaWEvcmViZWNj
YXMveW9jdG8vbHR0bmcvY2xhc3Nlcy9sb2dnaW5nLmJiY2xhc3MgL21lZGlhL3JlYmVjY2FzL3lv
Y3RvL3Bva3kvbWV0YS9jbGFzc2VzL2xvZ2dpbmcuYmJjbGFzcyAvbWVkaWEvcmViZWNjYXMveW9j
dG8vcG9reS9tZXRhLXBva3kvY2xhc3Nlcy9wb2t5LXNhbml0eS5iYmNsYXNzIC9tZWRpYS9yZWJl
Y2Nhcy95b2N0by9wb2t5L21ldGEtcG9reS9jbGFzc2VzL3VuaW5hdGl2ZS5iYmNsYXNzIC9tZWRp
YS9yZWJlY2Nhcy95b2N0by9sdHRuZy9jbGFzc2VzL3VuaW5hdGl2ZS5iYmNsYXNzIC9tZWRpYS9y
ZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY2xhc3Nlcy91bmluYXRpdmUuYmJjbGFzcyAvbWVkaWEv
cmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXBva3kvY2xhc3Nlcy9wYWNrYWdlX3JwbS5iYmNsYXNz
IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy9jbGFzc2VzL3BhY2thZ2VfcnBtLmJiY2xhc3Mg
L21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL3BhY2thZ2VfcnBtLmJiY2xh
c3MgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5L2NsYXNzZXMvcGFja2FnZS5i
YmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy9jbGFzc2VzL3BhY2thZ2UuYmJjbGFz
cyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NsYXNzZXMvcGFja2FnZS5iYmNsYXNz
IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEtcG9reS9jbGFzc2VzL3BhY2thZ2VkYXRh
LmJiY2xhc3MgL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL2NsYXNzZXMvcGFja2FnZWRhdGEu
YmJjbGFzcyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NsYXNzZXMvcGFja2FnZWRh
dGEuYmJjbGFzcyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXBva3kvY2xhc3Nlcy9j
aHJwYXRoLmJiY2xhc3MgL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL2NsYXNzZXMvY2hycGF0
aC5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY2xhc3Nlcy9jaHJwYXRo
LmJiY2xhc3MgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5L2NsYXNzZXMvaW5z
YW5lLmJiY2xhc3MgL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL2NsYXNzZXMvaW5zYW5lLmJi
Y2xhc3MgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL2luc2FuZS5iYmNs
YXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEtcG9reS9jbGFzc2VzL2J1aWxkc3Rh
dHMuYmJjbGFzcyAvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvY2xhc3Nlcy9idWlsZHN0YXRz
LmJiY2xhc3MgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL2J1aWxkc3Rh
dHMuYmJjbGFzcyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXBva3kvY2xhc3Nlcy9p
bWFnZS1ta2xpYnMuYmJjbGFzcyAvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvY2xhc3Nlcy9p
bWFnZS1ta2xpYnMuYmJjbGFzcyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NsYXNz
ZXMvaW1hZ2UtbWtsaWJzLmJiY2xhc3MgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1w
b2t5L2NsYXNzZXMvbGludXhsb2FkZXIuYmJjbGFzcyAvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0
bmcvY2xhc3Nlcy9saW51eGxvYWRlci5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5
L21ldGEvY2xhc3Nlcy9saW51eGxvYWRlci5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9w
b2t5L21ldGEtcG9reS9jbGFzc2VzL2ltYWdlLXByZWxpbmsuYmJjbGFzcyAvbWVkaWEvcmViZWNj
YXMveW9jdG8vbHR0bmcvY2xhc3Nlcy9pbWFnZS1wcmVsaW5rLmJiY2xhc3MgL21lZGlhL3JlYmVj
Y2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL2ltYWdlLXByZWxpbmsuYmJjbGFzcyAvbWVkaWEv
cmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXBva3kvY2xhc3Nlcy9kZWJpYW4uYmJjbGFzcyAvbWVk
aWEvcmViZWNjYXMveW9jdG8vbHR0bmcvY2xhc3Nlcy9kZWJpYW4uYmJjbGFzcyAvbWVkaWEvcmVi
ZWNjYXMveW9jdG8vcG9reS9tZXRhL2NsYXNzZXMvZGViaWFuLmJiY2xhc3MgL21lZGlhL3JlYmVj
Y2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5L2NsYXNzZXMvZGV2c2hlbGwuYmJjbGFzcyAvbWVkaWEv
cmViZWNjYXMveW9jdG8vbHR0bmcvY2xhc3Nlcy9kZXZzaGVsbC5iYmNsYXNzIC9tZWRpYS9yZWJl
Y2Nhcy95b2N0by9wb2t5L21ldGEvY2xhc3Nlcy9kZXZzaGVsbC5iYmNsYXNzIC9tZWRpYS9yZWJl
Y2Nhcy95b2N0by9wb2t5L21ldGEtcG9reS9jbGFzc2VzL3NzdGF0ZS5iYmNsYXNzIC9tZWRpYS9y
ZWJlY2Nhcy95b2N0by9sdHRuZy9jbGFzc2VzL3NzdGF0ZS5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nh
cy95b2N0by9wb2t5L21ldGEvY2xhc3Nlcy9zc3RhdGUuYmJjbGFzcyAvbWVkaWEvcmViZWNjYXMv
eW9jdG8vcG9reS9tZXRhLXBva3kvY2xhc3Nlcy9saWNlbnNlLmJiY2xhc3MgL21lZGlhL3JlYmVj
Y2FzL3lvY3RvL2x0dG5nL2NsYXNzZXMvbGljZW5zZS5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95
b2N0by9wb2t5L21ldGEvY2xhc3Nlcy9saWNlbnNlLmJiY2xhc3MgL21lZGlhL3JlYmVjY2FzL3lv
Y3RvL3Bva3kvbWV0YS1wb2t5L2NsYXNzZXMvcmVtb3ZlLWxpYnRvb2wuYmJjbGFzcyAvbWVkaWEv
cmViZWNjYXMveW9jdG8vbHR0bmcvY2xhc3Nlcy9yZW1vdmUtbGlidG9vbC5iYmNsYXNzIC9tZWRp
YS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY2xhc3Nlcy9yZW1vdmUtbGlidG9vbC5iYmNsYXNz
IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEtcG9reS9jbGFzc2VzL2JsYWNrbGlzdC5i
YmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy9jbGFzc2VzL2JsYWNrbGlzdC5iYmNs
YXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY2xhc3Nlcy9ibGFja2xpc3QuYmJj
bGFzcyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXBva3kvY2xhc3Nlcy9zYW5pdHku
YmJjbGFzcyAvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvY2xhc3Nlcy9zYW5pdHkuYmJjbGFz
cyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NsYXNzZXMvc2FuaXR5LmJiY2xhc3Mg
L21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9sdHRuZy9sdHRu
Zy1tb2R1bGVzXzIuOS4xLmJiIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEtcG9reS9j
bGFzc2VzL21vZHVsZS5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy9jbGFzc2Vz
L21vZHVsZS5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY2xhc3Nlcy9t
b2R1bGUuYmJjbGFzcyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXBva3kvY2xhc3Nl
cy9tb2R1bGUtYmFzZS5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy9jbGFzc2Vz
L21vZHVsZS1iYXNlLmJiY2xhc3MgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFz
c2VzL21vZHVsZS1iYXNlLmJiY2xhc3MgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1w
b2t5L2NsYXNzZXMva2VybmVsLWFyY2guYmJjbGFzcyAvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0
bmcvY2xhc3Nlcy9rZXJuZWwtYXJjaC5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5
L21ldGEvY2xhc3Nlcy9rZXJuZWwtYXJjaC5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9w
b2t5L21ldGEtcG9reS9jbGFzc2VzL2tlcm5lbC1tb2R1bGUtc3BsaXQuYmJjbGFzcyAvbWVkaWEv
cmViZWNjYXMveW9jdG8vbHR0bmcvY2xhc3Nlcy9rZXJuZWwtbW9kdWxlLXNwbGl0LmJiY2xhc3Mg
L21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL2tlcm5lbC1tb2R1bGUtc3Bs
aXQuYmJjbGFzcyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXBva3kvY2xhc3Nlcy9w
a2djb25maWcuYmJjbGFzcyAvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvY2xhc3Nlcy9wa2dj
b25maWcuYmJjbGFzcyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NsYXNzZXMvcGtn
Y29uZmlnLmJiY2xhc3MgL21lZGlhL3JlYmVjY2FzL3lvY3RvL21ldGEtaW50ZWwtY29udHJpYi9j
b21tb24vcmVjaXBlcy1rZXJuZWwvbHR0bmcvbHR0bmctbW9kdWxlc18lLmJiYXBwZW5kIgojIHBy
ZS1leHBhbnNpb24gdmFsdWU6CiMgICAiL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL2NvbmYv
YmJsYXllcnMuY29uZiAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvbGF5ZXIu
Y29uZiAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXBva3kvY29uZi9sYXllci5jb25m
IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEteW9jdG8tYnNwL2NvbmYvbGF5ZXIuY29u
ZiAvbWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1jb250cmliL2NvbmYvbGF5ZXIuY29u
ZiAvbWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1jb250cmliL2NvbmYvaW5jbHVkZS9t
YWludGFpbmVycy5pbmMgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5L2NvbmYv
Yml0YmFrZS5jb25mIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy9jb25mL2JpdGJha2UuY29u
ZiAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mIC9tZWRp
YS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9jb25mL2FiaV92ZXJzaW9uLmNvbmYgL21l
ZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5L2NvbmYvYWJpX3ZlcnNpb24uY29uZiAv
bWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvY29uZi9hYmlfdmVyc2lvbi5jb25mIC9tZWRpYS9y
ZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9hYmlfdmVyc2lvbi5jb25mIC9tZWRpYS9yZWJl
Y2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9jb25mL3NpdGUuY29uZiAvbWVkaWEvcmViZWNjYXMv
eW9jdG8vcG9reS9tZXRhLXBva3kvY29uZi9zaXRlLmNvbmYgL21lZGlhL3JlYmVjY2FzL3lvY3Rv
L2x0dG5nL2NvbmYvc2l0ZS5jb25mIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29u
Zi9jb25mL2F1dG8uY29uZiAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXBva3kvY29u
Zi9hdXRvLmNvbmYgL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL2NvbmYvYXV0by5jb25mIC9t
ZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9hdXRvLmNvbmYgL21lZGlhL3JlYmVj
Y2FzL3lvY3RvL3Bva3kvbWV0YS15b2N0by1ic3AvY29uZi9hdXRvLmNvbmYgL21lZGlhL3JlYmVj
Y2FzL3lvY3RvL21ldGEtaW50ZWwtY29udHJpYi9jb25mL2F1dG8uY29uZiAvbWVkaWEvcmViZWNj
YXMveW9jdG8vbWV0YS1pbnRlbC1jb250cmliL2NvbW1vbi9jb25mL2F1dG8uY29uZiAvbWVkaWEv
cmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvY29uZi9sb2NhbC5jb25mIC9tZWRpYS9yZWJl
Y2Nhcy95b2N0by9wb2t5L21ldGEtcG9reS9jb25mL2xvY2FsLmNvbmYgL21lZGlhL3JlYmVjY2Fz
L3lvY3RvL2x0dG5nL2NvbmYvbG9jYWwuY29uZiAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9t
ZXRhL2NvbmYvY29uZi9tdWx0aWNvbmZpZy9kZWZhdWx0LmNvbmYgL21lZGlhL3JlYmVjY2FzL3lv
Y3RvL3Bva3kvbWV0YS1wb2t5L2NvbmYvbXVsdGljb25maWcvZGVmYXVsdC5jb25mIC9tZWRpYS9y
ZWJlY2Nhcy95b2N0by9sdHRuZy9jb25mL211bHRpY29uZmlnL2RlZmF1bHQuY29uZiAvbWVkaWEv
cmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvbXVsdGljb25maWcvZGVmYXVsdC5jb25mIC9t
ZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9jb25mL2J1aWxkL3g4Nl82NC1saW51
eC5jb25mIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEtcG9reS9jb25mL2J1aWxkL3g4
Nl82NC1saW51eC5jb25mIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy9jb25mL2J1aWxkL3g4
Nl82NC1saW51eC5jb25mIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9idWls
ZC94ODZfNjQtbGludXguY29uZiAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXlvY3Rv
LWJzcC9jb25mL2J1aWxkL3g4Nl82NC1saW51eC5jb25mIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9t
ZXRhLWludGVsLWNvbnRyaWIvY29uZi9idWlsZC94ODZfNjQtbGludXguY29uZiAvbWVkaWEvcmVi
ZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1jb250cmliL2NvbW1vbi9jb25mL2J1aWxkL3g4Nl82NC1s
aW51eC5jb25mIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9jb25mL21hY2hp
bmUvcWVtdXg4Ni5jb25mIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEtcG9reS9jb25m
L21hY2hpbmUvcWVtdXg4Ni5jb25mIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy9jb25mL21h
Y2hpbmUvcWVtdXg4Ni5jb25mIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9t
YWNoaW5lL3FlbXV4ODYuY29uZiAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYv
bWFjaGluZS9jb25mL21hY2hpbmUvaW5jbHVkZS9xZW11LmluYyAvbWVkaWEvcmViZWNjYXMveW9j
dG8vcG9reS9tZXRhLXBva3kvY29uZi9tYWNoaW5lL2luY2x1ZGUvcWVtdS5pbmMgL21lZGlhL3Jl
YmVjY2FzL3lvY3RvL2x0dG5nL2NvbmYvbWFjaGluZS9pbmNsdWRlL3FlbXUuaW5jIC9tZWRpYS9y
ZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvcWVtdS5pbmMgL21l
ZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvY29uZi9tYWNoaW5lL2lu
Y2x1ZGUvdHVuZS1pNTg2LmluYyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXBva3kv
Y29uZi9tYWNoaW5lL2luY2x1ZGUvdHVuZS1pNTg2LmluYyAvbWVkaWEvcmViZWNjYXMveW9jdG8v
bHR0bmcvY29uZi9tYWNoaW5lL2luY2x1ZGUvdHVuZS1pNTg2LmluYyAvbWVkaWEvcmViZWNjYXMv
eW9jdG8vcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3R1bmUtaTU4Ni5pbmMgL21lZGlh
L3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS9jb25mL21hY2hp
bmUvaW5jbHVkZS94ODYvYXJjaC14ODYuaW5jIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21l
dGEtcG9reS9jb25mL21hY2hpbmUvaW5jbHVkZS94ODYvYXJjaC14ODYuaW5jIC9tZWRpYS9yZWJl
Y2Nhcy95b2N0by9sdHRuZy9jb25mL21hY2hpbmUvaW5jbHVkZS94ODYvYXJjaC14ODYuaW5jIC9t
ZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUveDg2L2Fy
Y2gteDg2LmluYyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvbWFjaGluZS9j
b25mL21hY2hpbmUvaW5jbHVkZS9xZW11Ym9vdC14ODYuaW5jIC9tZWRpYS9yZWJlY2Nhcy95b2N0
by9wb2t5L21ldGEtcG9reS9jb25mL21hY2hpbmUvaW5jbHVkZS9xZW11Ym9vdC14ODYuaW5jIC9t
ZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy9jb25mL21hY2hpbmUvaW5jbHVkZS9xZW11Ym9vdC14
ODYuaW5jIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1
ZGUvcWVtdWJvb3QteDg2LmluYyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYv
Y29uZi9tYWNoaW5lLXNkay94ODZfNjQuY29uZiAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9t
ZXRhLXBva3kvY29uZi9tYWNoaW5lLXNkay94ODZfNjQuY29uZiAvbWVkaWEvcmViZWNjYXMveW9j
dG8vbHR0bmcvY29uZi9tYWNoaW5lLXNkay94ODZfNjQuY29uZiAvbWVkaWEvcmViZWNjYXMveW9j
dG8vcG9reS9tZXRhL2NvbmYvbWFjaGluZS1zZGsveDg2XzY0LmNvbmYgL21lZGlhL3JlYmVjY2Fz
L3lvY3RvL3Bva3kvbWV0YS9jb25mL2NvbmYvdGFyZ2V0L2k1ODYtb2UtbGludXguY29uZiAvbWVk
aWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXBva3kvY29uZi90YXJnZXQvaTU4Ni1vZS1saW51
eC5jb25mIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy9jb25mL3RhcmdldC9pNTg2LW9lLWxp
bnV4LmNvbmYgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL3RhcmdldC9pNTg2
LW9lLWxpbnV4LmNvbmYgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS15b2N0by1ic3Av
Y29uZi90YXJnZXQvaTU4Ni1vZS1saW51eC5jb25mIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9tZXRh
LWludGVsLWNvbnRyaWIvY29uZi90YXJnZXQvaTU4Ni1vZS1saW51eC5jb25mIC9tZWRpYS9yZWJl
Y2Nhcy95b2N0by9tZXRhLWludGVsLWNvbnRyaWIvY29tbW9uL2NvbmYvdGFyZ2V0L2k1ODYtb2Ut
bGludXguY29uZiAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvY29uZi9kaXN0
cm8vcG9reS5jb25mIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEtcG9reS9jb25mL2Rp
c3Ryby9wb2t5LmNvbmYgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5L2NvbmYv
ZGlzdHJvL2NvbmYvZGlzdHJvL2luY2x1ZGUvcG9reS13b3JsZC1leGNsdWRlLmluYyAvbWVkaWEv
cmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXBva3kvY29uZi9kaXN0cm8vaW5jbHVkZS9wb2t5LXdv
cmxkLWV4Y2x1ZGUuaW5jIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEtcG9reS9jb25m
L2Rpc3Ryby9jb25mL2Rpc3Ryby9pbmNsdWRlL25vLXN0YXRpYy1saWJzLmluYyAvbWVkaWEvcmVi
ZWNjYXMveW9jdG8vcG9reS9tZXRhLXBva3kvY29uZi9kaXN0cm8vaW5jbHVkZS9uby1zdGF0aWMt
bGlicy5pbmMgL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL2NvbmYvZGlzdHJvL2luY2x1ZGUv
bm8tc3RhdGljLWxpYnMuaW5jIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9k
aXN0cm8vaW5jbHVkZS9uby1zdGF0aWMtbGlicy5pbmMgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bv
a3kvbWV0YS1wb2t5L2NvbmYvZGlzdHJvL2NvbmYvZGlzdHJvL2luY2x1ZGUveW9jdG8tdW5pbmF0
aXZlLmluYyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXBva3kvY29uZi9kaXN0cm8v
aW5jbHVkZS95b2N0by11bmluYXRpdmUuaW5jIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy9j
b25mL2Rpc3Ryby9pbmNsdWRlL3lvY3RvLXVuaW5hdGl2ZS5pbmMgL21lZGlhL3JlYmVjY2FzL3lv
Y3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL3lvY3RvLXVuaW5hdGl2ZS5pbmMgL21l
ZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2NvbmYvZGlzdHJvL2RlZmF1bHRzZXR1
cC5jb25mIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEtcG9reS9jb25mL2Rpc3Ryby9k
ZWZhdWx0c2V0dXAuY29uZiAvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvY29uZi9kaXN0cm8v
ZGVmYXVsdHNldHVwLmNvbmYgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rp
c3Ryby9kZWZhdWx0c2V0dXAuY29uZiAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2Nv
bmYvZGlzdHJvL2NvbmYvZGlzdHJvL2luY2x1ZGUvZGVmYXVsdC1wcm92aWRlcnMuaW5jIC9tZWRp
YS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEtcG9reS9jb25mL2Rpc3Ryby9pbmNsdWRlL2RlZmF1
bHQtcHJvdmlkZXJzLmluYyAvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvY29uZi9kaXN0cm8v
aW5jbHVkZS9kZWZhdWx0LXByb3ZpZGVycy5pbmMgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kv
bWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL2RlZmF1bHQtcHJvdmlkZXJzLmluYyAvbWVkaWEvcmVi
ZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2NvbmYvZGlzdHJvL2luY2x1ZGUvZGVm
YXVsdC12ZXJzaW9ucy5pbmMgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5L2Nv
bmYvZGlzdHJvL2luY2x1ZGUvZGVmYXVsdC12ZXJzaW9ucy5pbmMgL21lZGlhL3JlYmVjY2FzL3lv
Y3RvL2x0dG5nL2NvbmYvZGlzdHJvL2luY2x1ZGUvZGVmYXVsdC12ZXJzaW9ucy5pbmMgL21lZGlh
L3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL2RlZmF1bHQtdmVy
c2lvbnMuaW5jIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8vY29u
Zi9kaXN0cm8vaW5jbHVkZS9kZWZhdWx0LWRpc3Ryb3ZhcnMuaW5jIC9tZWRpYS9yZWJlY2Nhcy95
b2N0by9wb2t5L21ldGEtcG9reS9jb25mL2Rpc3Ryby9pbmNsdWRlL2RlZmF1bHQtZGlzdHJvdmFy
cy5pbmMgL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL2NvbmYvZGlzdHJvL2luY2x1ZGUvZGVm
YXVsdC1kaXN0cm92YXJzLmluYyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYv
ZGlzdHJvL2luY2x1ZGUvZGVmYXVsdC1kaXN0cm92YXJzLmluYyAvbWVkaWEvcmViZWNjYXMveW9j
dG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2NvbmYvZGlzdHJvL2luY2x1ZGUvd29ybGQtYnJva2Vu
LmluYyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXBva3kvY29uZi9kaXN0cm8vaW5j
bHVkZS93b3JsZC1icm9rZW4uaW5jIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy9jb25mL2Rp
c3Ryby9pbmNsdWRlL3dvcmxkLWJyb2tlbi5pbmMgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kv
bWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL3dvcmxkLWJyb2tlbi5pbmMgL21lZGlhL3JlYmVjY2Fz
L3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9jb25mL2Rpc3Ryby9pbmNsdWRlL3RjbW9kZS1k
ZWZhdWx0LmluYyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXBva3kvY29uZi9kaXN0
cm8vaW5jbHVkZS90Y21vZGUtZGVmYXVsdC5pbmMgL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5n
L2NvbmYvZGlzdHJvL2luY2x1ZGUvdGNtb2RlLWRlZmF1bHQuaW5jIC9tZWRpYS9yZWJlY2Nhcy95
b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS90Y21vZGUtZGVmYXVsdC5pbmMgL21l
ZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL2NvbmYvZGlz
dHJvL2luY2x1ZGUvYXMtbmVlZGVkLmluYyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRh
LXBva3kvY29uZi9kaXN0cm8vaW5jbHVkZS9hcy1uZWVkZWQuaW5jIC9tZWRpYS9yZWJlY2Nhcy95
b2N0by9sdHRuZy9jb25mL2Rpc3Ryby9pbmNsdWRlL2FzLW5lZWRlZC5pbmMgL21lZGlhL3JlYmVj
Y2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL2FzLW5lZWRlZC5pbmMgL21l
ZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9jb25mL2Rpc3Ryby9pbmNs
dWRlL3RjbGliYy1nbGliYy5pbmMgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5
L2NvbmYvZGlzdHJvL2luY2x1ZGUvdGNsaWJjLWdsaWJjLmluYyAvbWVkaWEvcmViZWNjYXMveW9j
dG8vbHR0bmcvY29uZi9kaXN0cm8vaW5jbHVkZS90Y2xpYmMtZ2xpYmMuaW5jIC9tZWRpYS9yZWJl
Y2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS90Y2xpYmMtZ2xpYmMuaW5j
IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8vY29uZi9kaXN0cm8v
aW5jbHVkZS91bmluYXRpdmUtZmxhZ3MuaW5jIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21l
dGEtcG9reS9jb25mL2Rpc3Ryby9pbmNsdWRlL3VuaW5hdGl2ZS1mbGFncy5pbmMgL21lZGlhL3Jl
YmVjY2FzL3lvY3RvL2x0dG5nL2NvbmYvZGlzdHJvL2luY2x1ZGUvdW5pbmF0aXZlLWZsYWdzLmlu
YyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvdW5p
bmF0aXZlLWZsYWdzLmluYyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvY29u
Zi9kb2N1bWVudGF0aW9uLmNvbmYgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5
L2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy9jb25m
L2RvY3VtZW50YXRpb24uY29uZiAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYv
ZG9jdW1lbnRhdGlvbi5jb25mIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9j
b25mL2xpY2Vuc2VzLmNvbmYgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5L2Nv
bmYvbGljZW5zZXMuY29uZiAvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvY29uZi9saWNlbnNl
cy5jb25mIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9saWNlbnNlcy5jb25m
IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9jb25mL3Nhbml0eS5jb25mIC9t
ZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEtcG9reS9jb25mL3Nhbml0eS5jb25mIC9tZWRp
YS9yZWJlY2Nhcy95b2N0by9sdHRuZy9jb25mL3Nhbml0eS5jb25mIC9tZWRpYS9yZWJlY2Nhcy95
b2N0by9wb2t5L21ldGEvY29uZi9zYW5pdHkuY29uZiAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9r
eS9tZXRhLXBva3kvY2xhc3Nlcy9iYXNlLmJiY2xhc3MgL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0
dG5nL2NsYXNzZXMvYmFzZS5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEv
Y2xhc3Nlcy9iYXNlLmJiY2xhc3MgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5
L2NsYXNzZXMvcGF0Y2guYmJjbGFzcyAvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvY2xhc3Nl
cy9wYXRjaC5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY2xhc3Nlcy9w
YXRjaC5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEtcG9reS9jbGFzc2Vz
L3Rlcm1pbmFsLmJiY2xhc3MgL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL2NsYXNzZXMvdGVy
bWluYWwuYmJjbGFzcyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NsYXNzZXMvdGVy
bWluYWwuYmJjbGFzcyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXBva3kvY2xhc3Nl
cy9zdGFnaW5nLmJiY2xhc3MgL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL2NsYXNzZXMvc3Rh
Z2luZy5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY2xhc3Nlcy9zdGFn
aW5nLmJiY2xhc3MgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5L2NsYXNzZXMv
bWlycm9ycy5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy9jbGFzc2VzL21pcnJv
cnMuYmJjbGFzcyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NsYXNzZXMvbWlycm9y
cy5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEtcG9reS9jbGFzc2VzL3V0
aWxzLmJiY2xhc3MgL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL2NsYXNzZXMvdXRpbHMuYmJj
bGFzcyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NsYXNzZXMvdXRpbHMuYmJjbGFz
cyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXBva3kvY2xhc3Nlcy91dGlsaXR5LXRh
c2tzLmJiY2xhc3MgL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL2NsYXNzZXMvdXRpbGl0eS10
YXNrcy5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY2xhc3Nlcy91dGls
aXR5LXRhc2tzLmJiY2xhc3MgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5L2Ns
YXNzZXMvbWV0YWRhdGFfc2NtLmJiY2xhc3MgL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL2Ns
YXNzZXMvbWV0YWRhdGFfc2NtLmJiY2xhc3MgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0
YS9jbGFzc2VzL21ldGFkYXRhX3NjbS5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5
L21ldGEtcG9reS9jbGFzc2VzL2xvZ2dpbmcuYmJjbGFzcyAvbWVkaWEvcmViZWNjYXMveW9jdG8v
bHR0bmcvY2xhc3Nlcy9sb2dnaW5nLmJiY2xhc3MgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kv
bWV0YS9jbGFzc2VzL2xvZ2dpbmcuYmJjbGFzcyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9t
ZXRhLXBva3kvY2xhc3Nlcy9wb2t5LXNhbml0eS5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0
by9wb2t5L21ldGEtcG9reS9jbGFzc2VzL3VuaW5hdGl2ZS5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nh
cy95b2N0by9sdHRuZy9jbGFzc2VzL3VuaW5hdGl2ZS5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95
b2N0by9wb2t5L21ldGEvY2xhc3Nlcy91bmluYXRpdmUuYmJjbGFzcyAvbWVkaWEvcmViZWNjYXMv
eW9jdG8vcG9reS9tZXRhLXBva3kvY2xhc3Nlcy9wYWNrYWdlX3JwbS5iYmNsYXNzIC9tZWRpYS9y
ZWJlY2Nhcy95b2N0by9sdHRuZy9jbGFzc2VzL3BhY2thZ2VfcnBtLmJiY2xhc3MgL21lZGlhL3Jl
YmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL3BhY2thZ2VfcnBtLmJiY2xhc3MgL21lZGlh
L3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5L2NsYXNzZXMvcGFja2FnZS5iYmNsYXNzIC9t
ZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy9jbGFzc2VzL3BhY2thZ2UuYmJjbGFzcyAvbWVkaWEv
cmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NsYXNzZXMvcGFja2FnZS5iYmNsYXNzIC9tZWRpYS9y
ZWJlY2Nhcy95b2N0by9wb2t5L21ldGEtcG9reS9jbGFzc2VzL3BhY2thZ2VkYXRhLmJiY2xhc3Mg
L21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL2NsYXNzZXMvcGFja2FnZWRhdGEuYmJjbGFzcyAv
bWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NsYXNzZXMvcGFja2FnZWRhdGEuYmJjbGFz
cyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXBva3kvY2xhc3Nlcy9jaHJwYXRoLmJi
Y2xhc3MgL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL2NsYXNzZXMvY2hycGF0aC5iYmNsYXNz
IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY2xhc3Nlcy9jaHJwYXRoLmJiY2xhc3Mg
L21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5L2NsYXNzZXMvaW5zYW5lLmJiY2xh
c3MgL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL2NsYXNzZXMvaW5zYW5lLmJiY2xhc3MgL21l
ZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL2luc2FuZS5iYmNsYXNzIC9tZWRp
YS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEtcG9reS9jbGFzc2VzL2J1aWxkc3RhdHMuYmJjbGFz
cyAvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvY2xhc3Nlcy9idWlsZHN0YXRzLmJiY2xhc3Mg
L21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL2J1aWxkc3RhdHMuYmJjbGFz
cyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXBva3kvY2xhc3Nlcy9pbWFnZS1ta2xp
YnMuYmJjbGFzcyAvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvY2xhc3Nlcy9pbWFnZS1ta2xp
YnMuYmJjbGFzcyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NsYXNzZXMvaW1hZ2Ut
bWtsaWJzLmJiY2xhc3MgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5L2NsYXNz
ZXMvbGludXhsb2FkZXIuYmJjbGFzcyAvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvY2xhc3Nl
cy9saW51eGxvYWRlci5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY2xh
c3Nlcy9saW51eGxvYWRlci5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEt
cG9reS9jbGFzc2VzL2ltYWdlLXByZWxpbmsuYmJjbGFzcyAvbWVkaWEvcmViZWNjYXMveW9jdG8v
bHR0bmcvY2xhc3Nlcy9pbWFnZS1wcmVsaW5rLmJiY2xhc3MgL21lZGlhL3JlYmVjY2FzL3lvY3Rv
L3Bva3kvbWV0YS9jbGFzc2VzL2ltYWdlLXByZWxpbmsuYmJjbGFzcyAvbWVkaWEvcmViZWNjYXMv
eW9jdG8vcG9reS9tZXRhLXBva3kvY2xhc3Nlcy9kZWJpYW4uYmJjbGFzcyAvbWVkaWEvcmViZWNj
YXMveW9jdG8vbHR0bmcvY2xhc3Nlcy9kZWJpYW4uYmJjbGFzcyAvbWVkaWEvcmViZWNjYXMveW9j
dG8vcG9reS9tZXRhL2NsYXNzZXMvZGViaWFuLmJiY2xhc3MgL21lZGlhL3JlYmVjY2FzL3lvY3Rv
L3Bva3kvbWV0YS1wb2t5L2NsYXNzZXMvZGV2c2hlbGwuYmJjbGFzcyAvbWVkaWEvcmViZWNjYXMv
eW9jdG8vbHR0bmcvY2xhc3Nlcy9kZXZzaGVsbC5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0
by9wb2t5L21ldGEvY2xhc3Nlcy9kZXZzaGVsbC5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0
by9wb2t5L21ldGEtcG9reS9jbGFzc2VzL3NzdGF0ZS5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95
b2N0by9sdHRuZy9jbGFzc2VzL3NzdGF0ZS5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9w
b2t5L21ldGEvY2xhc3Nlcy9zc3RhdGUuYmJjbGFzcyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9r
eS9tZXRhLXBva3kvY2xhc3Nlcy9saWNlbnNlLmJiY2xhc3MgL21lZGlhL3JlYmVjY2FzL3lvY3Rv
L2x0dG5nL2NsYXNzZXMvbGljZW5zZS5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5
L21ldGEvY2xhc3Nlcy9saWNlbnNlLmJiY2xhc3MgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kv
bWV0YS1wb2t5L2NsYXNzZXMvcmVtb3ZlLWxpYnRvb2wuYmJjbGFzcyAvbWVkaWEvcmViZWNjYXMv
eW9jdG8vbHR0bmcvY2xhc3Nlcy9yZW1vdmUtbGlidG9vbC5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nh
cy95b2N0by9wb2t5L21ldGEvY2xhc3Nlcy9yZW1vdmUtbGlidG9vbC5iYmNsYXNzIC9tZWRpYS9y
ZWJlY2Nhcy95b2N0by9wb2t5L21ldGEtcG9reS9jbGFzc2VzL2JsYWNrbGlzdC5iYmNsYXNzIC9t
ZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy9jbGFzc2VzL2JsYWNrbGlzdC5iYmNsYXNzIC9tZWRp
YS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY2xhc3Nlcy9ibGFja2xpc3QuYmJjbGFzcyAvbWVk
aWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXBva3kvY2xhc3Nlcy9zYW5pdHkuYmJjbGFzcyAv
bWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvY2xhc3Nlcy9zYW5pdHkuYmJjbGFzcyAvbWVkaWEv
cmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NsYXNzZXMvc2FuaXR5LmJiY2xhc3MgL21lZGlhL3Jl
YmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9sdHRuZy9sdHRuZy1tb2R1bGVz
XzIuOS4xLmJiIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEtcG9reS9jbGFzc2VzL21v
ZHVsZS5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy9jbGFzc2VzL21vZHVsZS5i
YmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY2xhc3Nlcy9tb2R1bGUuYmJj
bGFzcyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXBva3kvY2xhc3Nlcy9tb2R1bGUt
YmFzZS5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy9jbGFzc2VzL21vZHVsZS1i
YXNlLmJiY2xhc3MgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL21vZHVs
ZS1iYXNlLmJiY2xhc3MgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5L2NsYXNz
ZXMva2VybmVsLWFyY2guYmJjbGFzcyAvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvY2xhc3Nl
cy9rZXJuZWwtYXJjaC5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY2xh
c3Nlcy9rZXJuZWwtYXJjaC5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEt
cG9reS9jbGFzc2VzL2tlcm5lbC1tb2R1bGUtc3BsaXQuYmJjbGFzcyAvbWVkaWEvcmViZWNjYXMv
eW9jdG8vbHR0bmcvY2xhc3Nlcy9rZXJuZWwtbW9kdWxlLXNwbGl0LmJiY2xhc3MgL21lZGlhL3Jl
YmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL2tlcm5lbC1tb2R1bGUtc3BsaXQuYmJjbGFz
cyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXBva3kvY2xhc3Nlcy9wa2djb25maWcu
YmJjbGFzcyAvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvY2xhc3Nlcy9wa2djb25maWcuYmJj
bGFzcyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NsYXNzZXMvcGtnY29uZmlnLmJi
Y2xhc3MgL21lZGlhL3JlYmVjY2FzL3lvY3RvL21ldGEtaW50ZWwtY29udHJpYi9jb21tb24vcmVj
aXBlcy1rZXJuZWwvbHR0bmcvbHR0bmctbW9kdWxlc18lLmJiYXBwZW5kIgpCQklOQ0xVREVEPSIv
bWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvY29uZi9iYmxheWVycy5jb25mIC9tZWRpYS9yZWJl
Y2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9sYXllci5jb25mIC9tZWRpYS9yZWJlY2Nhcy95b2N0
by9wb2t5L21ldGEtcG9reS9jb25mL2xheWVyLmNvbmYgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bv
a3kvbWV0YS15b2N0by1ic3AvY29uZi9sYXllci5jb25mIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9t
ZXRhLWludGVsLWNvbnRyaWIvY29uZi9sYXllci5jb25mIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9t
ZXRhLWludGVsLWNvbnRyaWIvY29uZi9pbmNsdWRlL21haW50YWluZXJzLmluYyAvbWVkaWEvcmVi
ZWNjYXMveW9jdG8vcG9reS9tZXRhLXBva3kvY29uZi9iaXRiYWtlLmNvbmYgL21lZGlhL3JlYmVj
Y2FzL3lvY3RvL2x0dG5nL2NvbmYvYml0YmFrZS5jb25mIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9w
b2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmYgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0
YS9jb25mL2NvbmYvYWJpX3ZlcnNpb24uY29uZiAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9t
ZXRhLXBva3kvY29uZi9hYmlfdmVyc2lvbi5jb25mIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRu
Zy9jb25mL2FiaV92ZXJzaW9uLmNvbmYgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9j
b25mL2FiaV92ZXJzaW9uLmNvbmYgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25m
L2NvbmYvc2l0ZS5jb25mIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEtcG9reS9jb25m
L3NpdGUuY29uZiAvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvY29uZi9zaXRlLmNvbmYgL21l
ZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2NvbmYvYXV0by5jb25mIC9tZWRpYS9y
ZWJlY2Nhcy95b2N0by9wb2t5L21ldGEtcG9reS9jb25mL2F1dG8uY29uZiAvbWVkaWEvcmViZWNj
YXMveW9jdG8vbHR0bmcvY29uZi9hdXRvLmNvbmYgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kv
bWV0YS9jb25mL2F1dG8uY29uZiAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXlvY3Rv
LWJzcC9jb25mL2F1dG8uY29uZiAvbWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1jb250
cmliL2NvbmYvYXV0by5jb25mIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9tZXRhLWludGVsLWNvbnRy
aWIvY29tbW9uL2NvbmYvYXV0by5jb25mIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEv
Y29uZi9jb25mL2xvY2FsLmNvbmYgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5
L2NvbmYvbG9jYWwuY29uZiAvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvY29uZi9sb2NhbC5j
b25mIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9jb25mL211bHRpY29uZmln
L2RlZmF1bHQuY29uZiAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXBva3kvY29uZi9t
dWx0aWNvbmZpZy9kZWZhdWx0LmNvbmYgL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL2NvbmYv
bXVsdGljb25maWcvZGVmYXVsdC5jb25mIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEv
Y29uZi9tdWx0aWNvbmZpZy9kZWZhdWx0LmNvbmYgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kv
bWV0YS9jb25mL2NvbmYvYnVpbGQveDg2XzY0LWxpbnV4LmNvbmYgL21lZGlhL3JlYmVjY2FzL3lv
Y3RvL3Bva3kvbWV0YS1wb2t5L2NvbmYvYnVpbGQveDg2XzY0LWxpbnV4LmNvbmYgL21lZGlhL3Jl
YmVjY2FzL3lvY3RvL2x0dG5nL2NvbmYvYnVpbGQveDg2XzY0LWxpbnV4LmNvbmYgL21lZGlhL3Jl
YmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2J1aWxkL3g4Nl82NC1saW51eC5jb25mIC9tZWRp
YS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEteW9jdG8tYnNwL2NvbmYvYnVpbGQveDg2XzY0LWxp
bnV4LmNvbmYgL21lZGlhL3JlYmVjY2FzL3lvY3RvL21ldGEtaW50ZWwtY29udHJpYi9jb25mL2J1
aWxkL3g4Nl82NC1saW51eC5jb25mIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9tZXRhLWludGVsLWNv
bnRyaWIvY29tbW9uL2NvbmYvYnVpbGQveDg2XzY0LWxpbnV4LmNvbmYgL21lZGlhL3JlYmVjY2Fz
L3lvY3RvL3Bva3kvbWV0YS9jb25mL2NvbmYvbWFjaGluZS9xZW11eDg2LmNvbmYgL21lZGlhL3Jl
YmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5L2NvbmYvbWFjaGluZS9xZW11eDg2LmNvbmYgL21l
ZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL2NvbmYvbWFjaGluZS9xZW11eDg2LmNvbmYgL21lZGlh
L3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvcWVtdXg4Ni5jb25mIC9tZWRp
YS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2NvbmYvbWFjaGluZS9pbmNs
dWRlL3FlbXUuaW5jIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEtcG9reS9jb25mL21h
Y2hpbmUvaW5jbHVkZS9xZW11LmluYyAvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvY29uZi9t
YWNoaW5lL2luY2x1ZGUvcWVtdS5pbmMgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9j
b25mL21hY2hpbmUvaW5jbHVkZS9xZW11LmluYyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9t
ZXRhL2NvbmYvbWFjaGluZS9jb25mL21hY2hpbmUvaW5jbHVkZS90dW5lLWk1ODYuaW5jIC9tZWRp
YS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEtcG9reS9jb25mL21hY2hpbmUvaW5jbHVkZS90dW5l
LWk1ODYuaW5jIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy9jb25mL21hY2hpbmUvaW5jbHVk
ZS90dW5lLWk1ODYuaW5jIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9tYWNo
aW5lL2luY2x1ZGUvdHVuZS1pNTg2LmluYyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRh
L2NvbmYvbWFjaGluZS9pbmNsdWRlL2NvbmYvbWFjaGluZS9pbmNsdWRlL3g4Ni9hcmNoLXg4Ni5p
bmMgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5L2NvbmYvbWFjaGluZS9pbmNs
dWRlL3g4Ni9hcmNoLXg4Ni5pbmMgL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL2NvbmYvbWFj
aGluZS9pbmNsdWRlL3g4Ni9hcmNoLXg4Ni5pbmMgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kv
bWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS94ODYvYXJjaC14ODYuaW5jIC9tZWRpYS9yZWJlY2Nh
cy95b2N0by9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2NvbmYvbWFjaGluZS9pbmNsdWRlL3FlbXVi
b290LXg4Ni5pbmMgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5L2NvbmYvbWFj
aGluZS9pbmNsdWRlL3FlbXVib290LXg4Ni5pbmMgL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5n
L2NvbmYvbWFjaGluZS9pbmNsdWRlL3FlbXVib290LXg4Ni5pbmMgL21lZGlhL3JlYmVjY2FzL3lv
Y3RvL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS9xZW11Ym9vdC14ODYuaW5jIC9tZWRp
YS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9jb25mL21hY2hpbmUtc2RrL3g4Nl82NC5j
b25mIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEtcG9reS9jb25mL21hY2hpbmUtc2Rr
L3g4Nl82NC5jb25mIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy9jb25mL21hY2hpbmUtc2Rr
L3g4Nl82NC5jb25mIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9tYWNoaW5l
LXNkay94ODZfNjQuY29uZiAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvY29u
Zi90YXJnZXQvaTU4Ni1vZS1saW51eC5jb25mIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21l
dGEtcG9reS9jb25mL3RhcmdldC9pNTg2LW9lLWxpbnV4LmNvbmYgL21lZGlhL3JlYmVjY2FzL3lv
Y3RvL2x0dG5nL2NvbmYvdGFyZ2V0L2k1ODYtb2UtbGludXguY29uZiAvbWVkaWEvcmViZWNjYXMv
eW9jdG8vcG9reS9tZXRhL2NvbmYvdGFyZ2V0L2k1ODYtb2UtbGludXguY29uZiAvbWVkaWEvcmVi
ZWNjYXMveW9jdG8vcG9reS9tZXRhLXlvY3RvLWJzcC9jb25mL3RhcmdldC9pNTg2LW9lLWxpbnV4
LmNvbmYgL21lZGlhL3JlYmVjY2FzL3lvY3RvL21ldGEtaW50ZWwtY29udHJpYi9jb25mL3Rhcmdl
dC9pNTg2LW9lLWxpbnV4LmNvbmYgL21lZGlhL3JlYmVjY2FzL3lvY3RvL21ldGEtaW50ZWwtY29u
dHJpYi9jb21tb24vY29uZi90YXJnZXQvaTU4Ni1vZS1saW51eC5jb25mIC9tZWRpYS9yZWJlY2Nh
cy95b2N0by9wb2t5L21ldGEvY29uZi9jb25mL2Rpc3Ryby9wb2t5LmNvbmYgL21lZGlhL3JlYmVj
Y2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5L2NvbmYvZGlzdHJvL3Bva3kuY29uZiAvbWVkaWEvcmVi
ZWNjYXMveW9jdG8vcG9reS9tZXRhLXBva3kvY29uZi9kaXN0cm8vY29uZi9kaXN0cm8vaW5jbHVk
ZS9wb2t5LXdvcmxkLWV4Y2x1ZGUuaW5jIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEt
cG9reS9jb25mL2Rpc3Ryby9pbmNsdWRlL3Bva3ktd29ybGQtZXhjbHVkZS5pbmMgL21lZGlhL3Jl
YmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5L2NvbmYvZGlzdHJvL2NvbmYvZGlzdHJvL2luY2x1
ZGUvbm8tc3RhdGljLWxpYnMuaW5jIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEtcG9r
eS9jb25mL2Rpc3Ryby9pbmNsdWRlL25vLXN0YXRpYy1saWJzLmluYyAvbWVkaWEvcmViZWNjYXMv
eW9jdG8vbHR0bmcvY29uZi9kaXN0cm8vaW5jbHVkZS9uby1zdGF0aWMtbGlicy5pbmMgL21lZGlh
L3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL25vLXN0YXRpYy1s
aWJzLmluYyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXBva3kvY29uZi9kaXN0cm8v
Y29uZi9kaXN0cm8vaW5jbHVkZS95b2N0by11bmluYXRpdmUuaW5jIC9tZWRpYS9yZWJlY2Nhcy95
b2N0by9wb2t5L21ldGEtcG9reS9jb25mL2Rpc3Ryby9pbmNsdWRlL3lvY3RvLXVuaW5hdGl2ZS5p
bmMgL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL2NvbmYvZGlzdHJvL2luY2x1ZGUveW9jdG8t
dW5pbmF0aXZlLmluYyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJv
L2luY2x1ZGUveW9jdG8tdW5pbmF0aXZlLmluYyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9t
ZXRhL2NvbmYvY29uZi9kaXN0cm8vZGVmYXVsdHNldHVwLmNvbmYgL21lZGlhL3JlYmVjY2FzL3lv
Y3RvL3Bva3kvbWV0YS1wb2t5L2NvbmYvZGlzdHJvL2RlZmF1bHRzZXR1cC5jb25mIC9tZWRpYS9y
ZWJlY2Nhcy95b2N0by9sdHRuZy9jb25mL2Rpc3Ryby9kZWZhdWx0c2V0dXAuY29uZiAvbWVkaWEv
cmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2RlZmF1bHRzZXR1cC5jb25mIC9t
ZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8vY29uZi9kaXN0cm8vaW5j
bHVkZS9kZWZhdWx0LXByb3ZpZGVycy5pbmMgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0
YS1wb2t5L2NvbmYvZGlzdHJvL2luY2x1ZGUvZGVmYXVsdC1wcm92aWRlcnMuaW5jIC9tZWRpYS9y
ZWJlY2Nhcy95b2N0by9sdHRuZy9jb25mL2Rpc3Ryby9pbmNsdWRlL2RlZmF1bHQtcHJvdmlkZXJz
LmluYyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUv
ZGVmYXVsdC1wcm92aWRlcnMuaW5jIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29u
Zi9kaXN0cm8vY29uZi9kaXN0cm8vaW5jbHVkZS9kZWZhdWx0LXZlcnNpb25zLmluYyAvbWVkaWEv
cmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXBva3kvY29uZi9kaXN0cm8vaW5jbHVkZS9kZWZhdWx0
LXZlcnNpb25zLmluYyAvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvY29uZi9kaXN0cm8vaW5j
bHVkZS9kZWZhdWx0LXZlcnNpb25zLmluYyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRh
L2NvbmYvZGlzdHJvL2luY2x1ZGUvZGVmYXVsdC12ZXJzaW9ucy5pbmMgL21lZGlhL3JlYmVjY2Fz
L3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9jb25mL2Rpc3Ryby9pbmNsdWRlL2RlZmF1bHQt
ZGlzdHJvdmFycy5pbmMgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5L2NvbmYv
ZGlzdHJvL2luY2x1ZGUvZGVmYXVsdC1kaXN0cm92YXJzLmluYyAvbWVkaWEvcmViZWNjYXMveW9j
dG8vbHR0bmcvY29uZi9kaXN0cm8vaW5jbHVkZS9kZWZhdWx0LWRpc3Ryb3ZhcnMuaW5jIC9tZWRp
YS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9kZWZhdWx0LWRp
c3Ryb3ZhcnMuaW5jIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8v
Y29uZi9kaXN0cm8vaW5jbHVkZS93b3JsZC1icm9rZW4uaW5jIC9tZWRpYS9yZWJlY2Nhcy95b2N0
by9wb2t5L21ldGEtcG9reS9jb25mL2Rpc3Ryby9pbmNsdWRlL3dvcmxkLWJyb2tlbi5pbmMgL21l
ZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL2NvbmYvZGlzdHJvL2luY2x1ZGUvd29ybGQtYnJva2Vu
LmluYyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUv
d29ybGQtYnJva2VuLmluYyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlz
dHJvL2NvbmYvZGlzdHJvL2luY2x1ZGUvdGNtb2RlLWRlZmF1bHQuaW5jIC9tZWRpYS9yZWJlY2Nh
cy95b2N0by9wb2t5L21ldGEtcG9reS9jb25mL2Rpc3Ryby9pbmNsdWRlL3RjbW9kZS1kZWZhdWx0
LmluYyAvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvY29uZi9kaXN0cm8vaW5jbHVkZS90Y21v
ZGUtZGVmYXVsdC5pbmMgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ry
by9pbmNsdWRlL3RjbW9kZS1kZWZhdWx0LmluYyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9t
ZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvY29uZi9kaXN0cm8vaW5jbHVkZS9hcy1uZWVkZWQuaW5j
IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEtcG9reS9jb25mL2Rpc3Ryby9pbmNsdWRl
L2FzLW5lZWRlZC5pbmMgL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL2NvbmYvZGlzdHJvL2lu
Y2x1ZGUvYXMtbmVlZGVkLmluYyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYv
ZGlzdHJvL2luY2x1ZGUvYXMtbmVlZGVkLmluYyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9t
ZXRhL2NvbmYvZGlzdHJvL2NvbmYvZGlzdHJvL2luY2x1ZGUvdGNsaWJjLWdsaWJjLmluYyAvbWVk
aWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXBva3kvY29uZi9kaXN0cm8vaW5jbHVkZS90Y2xp
YmMtZ2xpYmMuaW5jIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy9jb25mL2Rpc3Ryby9pbmNs
dWRlL3RjbGliYy1nbGliYy5pbmMgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25m
L2Rpc3Ryby9pbmNsdWRlL3RjbGliYy1nbGliYy5pbmMgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bv
a3kvbWV0YS9jb25mL2Rpc3Ryby9jb25mL2Rpc3Ryby9pbmNsdWRlL3VuaW5hdGl2ZS1mbGFncy5p
bmMgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5L2NvbmYvZGlzdHJvL2luY2x1
ZGUvdW5pbmF0aXZlLWZsYWdzLmluYyAvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvY29uZi9k
aXN0cm8vaW5jbHVkZS91bmluYXRpdmUtZmxhZ3MuaW5jIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9w
b2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS91bmluYXRpdmUtZmxhZ3MuaW5jIC9tZWRpYS9y
ZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9jb25mL2RvY3VtZW50YXRpb24uY29uZiAvbWVk
aWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXBva3kvY29uZi9kb2N1bWVudGF0aW9uLmNvbmYg
L21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mIC9tZWRp
YS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmYgL21lZGlh
L3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2NvbmYvbGljZW5zZXMuY29uZiAvbWVkaWEv
cmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXBva3kvY29uZi9saWNlbnNlcy5jb25mIC9tZWRpYS9y
ZWJlY2Nhcy95b2N0by9sdHRuZy9jb25mL2xpY2Vuc2VzLmNvbmYgL21lZGlhL3JlYmVjY2FzL3lv
Y3RvL3Bva3kvbWV0YS9jb25mL2xpY2Vuc2VzLmNvbmYgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bv
a3kvbWV0YS9jb25mL2NvbmYvc2FuaXR5LmNvbmYgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kv
bWV0YS1wb2t5L2NvbmYvc2FuaXR5LmNvbmYgL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL2Nv
bmYvc2FuaXR5LmNvbmYgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL3Nhbml0
eS5jb25mIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEtcG9reS9jbGFzc2VzL2Jhc2Uu
YmJjbGFzcyAvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvY2xhc3Nlcy9iYXNlLmJiY2xhc3Mg
L21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL2Jhc2UuYmJjbGFzcyAvbWVk
aWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXBva3kvY2xhc3Nlcy9wYXRjaC5iYmNsYXNzIC9t
ZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy9jbGFzc2VzL3BhdGNoLmJiY2xhc3MgL21lZGlhL3Jl
YmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL3BhdGNoLmJiY2xhc3MgL21lZGlhL3JlYmVj
Y2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5L2NsYXNzZXMvdGVybWluYWwuYmJjbGFzcyAvbWVkaWEv
cmViZWNjYXMveW9jdG8vbHR0bmcvY2xhc3Nlcy90ZXJtaW5hbC5iYmNsYXNzIC9tZWRpYS9yZWJl
Y2Nhcy95b2N0by9wb2t5L21ldGEvY2xhc3Nlcy90ZXJtaW5hbC5iYmNsYXNzIC9tZWRpYS9yZWJl
Y2Nhcy95b2N0by9wb2t5L21ldGEtcG9reS9jbGFzc2VzL3N0YWdpbmcuYmJjbGFzcyAvbWVkaWEv
cmViZWNjYXMveW9jdG8vbHR0bmcvY2xhc3Nlcy9zdGFnaW5nLmJiY2xhc3MgL21lZGlhL3JlYmVj
Y2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL3N0YWdpbmcuYmJjbGFzcyAvbWVkaWEvcmViZWNj
YXMveW9jdG8vcG9reS9tZXRhLXBva3kvY2xhc3Nlcy9taXJyb3JzLmJiY2xhc3MgL21lZGlhL3Jl
YmVjY2FzL3lvY3RvL2x0dG5nL2NsYXNzZXMvbWlycm9ycy5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nh
cy95b2N0by9wb2t5L21ldGEvY2xhc3Nlcy9taXJyb3JzLmJiY2xhc3MgL21lZGlhL3JlYmVjY2Fz
L3lvY3RvL3Bva3kvbWV0YS1wb2t5L2NsYXNzZXMvdXRpbHMuYmJjbGFzcyAvbWVkaWEvcmViZWNj
YXMveW9jdG8vbHR0bmcvY2xhc3Nlcy91dGlscy5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0
by9wb2t5L21ldGEvY2xhc3Nlcy91dGlscy5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9w
b2t5L21ldGEtcG9reS9jbGFzc2VzL3V0aWxpdHktdGFza3MuYmJjbGFzcyAvbWVkaWEvcmViZWNj
YXMveW9jdG8vbHR0bmcvY2xhc3Nlcy91dGlsaXR5LXRhc2tzLmJiY2xhc3MgL21lZGlhL3JlYmVj
Y2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL3V0aWxpdHktdGFza3MuYmJjbGFzcyAvbWVkaWEv
cmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXBva3kvY2xhc3Nlcy9tZXRhZGF0YV9zY20uYmJjbGFz
cyAvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvY2xhc3Nlcy9tZXRhZGF0YV9zY20uYmJjbGFz
cyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NsYXNzZXMvbWV0YWRhdGFfc2NtLmJi
Y2xhc3MgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5L2NsYXNzZXMvbG9nZ2lu
Zy5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy9jbGFzc2VzL2xvZ2dpbmcuYmJj
bGFzcyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NsYXNzZXMvbG9nZ2luZy5iYmNs
YXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEtcG9reS9jbGFzc2VzL3Bva3ktc2Fu
aXR5LmJiY2xhc3MgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5L2NsYXNzZXMv
dW5pbmF0aXZlLmJiY2xhc3MgL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL2NsYXNzZXMvdW5p
bmF0aXZlLmJiY2xhc3MgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL3Vu
aW5hdGl2ZS5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEtcG9reS9jbGFz
c2VzL3BhY2thZ2VfcnBtLmJiY2xhc3MgL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL2NsYXNz
ZXMvcGFja2FnZV9ycG0uYmJjbGFzcyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2Ns
YXNzZXMvcGFja2FnZV9ycG0uYmJjbGFzcyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRh
LXBva3kvY2xhc3Nlcy9wYWNrYWdlLmJiY2xhc3MgL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5n
L2NsYXNzZXMvcGFja2FnZS5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEv
Y2xhc3Nlcy9wYWNrYWdlLmJiY2xhc3MgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1w
b2t5L2NsYXNzZXMvcGFja2FnZWRhdGEuYmJjbGFzcyAvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0
bmcvY2xhc3Nlcy9wYWNrYWdlZGF0YS5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5
L21ldGEvY2xhc3Nlcy9wYWNrYWdlZGF0YS5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9w
b2t5L21ldGEtcG9reS9jbGFzc2VzL2NocnBhdGguYmJjbGFzcyAvbWVkaWEvcmViZWNjYXMveW9j
dG8vbHR0bmcvY2xhc3Nlcy9jaHJwYXRoLmJiY2xhc3MgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bv
a3kvbWV0YS9jbGFzc2VzL2NocnBhdGguYmJjbGFzcyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9r
eS9tZXRhLXBva3kvY2xhc3Nlcy9pbnNhbmUuYmJjbGFzcyAvbWVkaWEvcmViZWNjYXMveW9jdG8v
bHR0bmcvY2xhc3Nlcy9pbnNhbmUuYmJjbGFzcyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9t
ZXRhL2NsYXNzZXMvaW5zYW5lLmJiY2xhc3MgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0
YS1wb2t5L2NsYXNzZXMvYnVpbGRzdGF0cy5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9s
dHRuZy9jbGFzc2VzL2J1aWxkc3RhdHMuYmJjbGFzcyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9r
eS9tZXRhL2NsYXNzZXMvYnVpbGRzdGF0cy5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9w
b2t5L21ldGEtcG9reS9jbGFzc2VzL2ltYWdlLW1rbGlicy5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nh
cy95b2N0by9sdHRuZy9jbGFzc2VzL2ltYWdlLW1rbGlicy5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nh
cy95b2N0by9wb2t5L21ldGEvY2xhc3Nlcy9pbWFnZS1ta2xpYnMuYmJjbGFzcyAvbWVkaWEvcmVi
ZWNjYXMveW9jdG8vcG9reS9tZXRhLXBva3kvY2xhc3Nlcy9saW51eGxvYWRlci5iYmNsYXNzIC9t
ZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy9jbGFzc2VzL2xpbnV4bG9hZGVyLmJiY2xhc3MgL21l
ZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL2xpbnV4bG9hZGVyLmJiY2xhc3Mg
L21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5L2NsYXNzZXMvaW1hZ2UtcHJlbGlu
ay5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy9jbGFzc2VzL2ltYWdlLXByZWxp
bmsuYmJjbGFzcyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NsYXNzZXMvaW1hZ2Ut
cHJlbGluay5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEtcG9reS9jbGFz
c2VzL2RlYmlhbi5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy9jbGFzc2VzL2Rl
Ymlhbi5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY2xhc3Nlcy9kZWJp
YW4uYmJjbGFzcyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXBva3kvY2xhc3Nlcy9k
ZXZzaGVsbC5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy9jbGFzc2VzL2RldnNo
ZWxsLmJiY2xhc3MgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL2RldnNo
ZWxsLmJiY2xhc3MgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5L2NsYXNzZXMv
c3N0YXRlLmJiY2xhc3MgL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL2NsYXNzZXMvc3N0YXRl
LmJiY2xhc3MgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL3NzdGF0ZS5i
YmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEtcG9reS9jbGFzc2VzL2xpY2Vu
c2UuYmJjbGFzcyAvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvY2xhc3Nlcy9saWNlbnNlLmJi
Y2xhc3MgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL2xpY2Vuc2UuYmJj
bGFzcyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXBva3kvY2xhc3Nlcy9yZW1vdmUt
bGlidG9vbC5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy9jbGFzc2VzL3JlbW92
ZS1saWJ0b29sLmJiY2xhc3MgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2Vz
L3JlbW92ZS1saWJ0b29sLmJiY2xhc3MgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1w
b2t5L2NsYXNzZXMvYmxhY2tsaXN0LmJiY2xhc3MgL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5n
L2NsYXNzZXMvYmxhY2tsaXN0LmJiY2xhc3MgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0
YS9jbGFzc2VzL2JsYWNrbGlzdC5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21l
dGEtcG9reS9jbGFzc2VzL3Nhbml0eS5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRu
Zy9jbGFzc2VzL3Nhbml0eS5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEv
Y2xhc3Nlcy9zYW5pdHkuYmJjbGFzcyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL3Jl
Y2lwZXMta2VybmVsL2x0dG5nL2x0dG5nLW1vZHVsZXNfMi45LjEuYmIgL21lZGlhL3JlYmVjY2Fz
L3lvY3RvL3Bva3kvbWV0YS1wb2t5L2NsYXNzZXMvbW9kdWxlLmJiY2xhc3MgL21lZGlhL3JlYmVj
Y2FzL3lvY3RvL2x0dG5nL2NsYXNzZXMvbW9kdWxlLmJiY2xhc3MgL21lZGlhL3JlYmVjY2FzL3lv
Y3RvL3Bva3kvbWV0YS9jbGFzc2VzL21vZHVsZS5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0
by9wb2t5L21ldGEtcG9reS9jbGFzc2VzL21vZHVsZS1iYXNlLmJiY2xhc3MgL21lZGlhL3JlYmVj
Y2FzL3lvY3RvL2x0dG5nL2NsYXNzZXMvbW9kdWxlLWJhc2UuYmJjbGFzcyAvbWVkaWEvcmViZWNj
YXMveW9jdG8vcG9reS9tZXRhL2NsYXNzZXMvbW9kdWxlLWJhc2UuYmJjbGFzcyAvbWVkaWEvcmVi
ZWNjYXMveW9jdG8vcG9reS9tZXRhLXBva3kvY2xhc3Nlcy9rZXJuZWwtYXJjaC5iYmNsYXNzIC9t
ZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy9jbGFzc2VzL2tlcm5lbC1hcmNoLmJiY2xhc3MgL21l
ZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL2tlcm5lbC1hcmNoLmJiY2xhc3Mg
L21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5L2NsYXNzZXMva2VybmVsLW1vZHVs
ZS1zcGxpdC5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy9jbGFzc2VzL2tlcm5l
bC1tb2R1bGUtc3BsaXQuYmJjbGFzcyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2Ns
YXNzZXMva2VybmVsLW1vZHVsZS1zcGxpdC5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9w
b2t5L21ldGEtcG9reS9jbGFzc2VzL3BrZ2NvbmZpZy5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95
b2N0by9sdHRuZy9jbGFzc2VzL3BrZ2NvbmZpZy5iYmNsYXNzIC9tZWRpYS9yZWJlY2Nhcy95b2N0
by9wb2t5L21ldGEvY2xhc3Nlcy9wa2djb25maWcuYmJjbGFzcyAvbWVkaWEvcmViZWNjYXMveW9j
dG8vbWV0YS1pbnRlbC1jb250cmliL2NvbW1vbi9yZWNpcGVzLWtlcm5lbC9sdHRuZy9sdHRuZy1t
b2R1bGVzXyUuYmJhcHBlbmQiCiMKIyAkQkJJTkNMVURFTE9HUyBbMiBvcGVyYXRpb25zXQojICAg
c2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9k
ZWZhdWx0LWRpc3Ryb3ZhcnMuaW5jOjQwCiMgICAgIFtfZGVmYXVsdHZhbF0gInllcyIKIyAgIHNl
dCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25m
OjkwCiMgICAgIFtkb2NdICJWYXJpYWJsZSB0aGF0IGNvbnRyb2xzIGhvdyBCaXRCYWtlIGRpc3Bs
YXlzIGxvZ3Mgb24gYnVpbGQgZmFpbHVyZS4iCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICJ5
ZXMiCkJCSU5DTFVERUxPR1M9InllcyIKIwojICRCQklOQ0xVREVMT0dTX0xJTkVTCiMgICBzZXQg
L21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjo5
MQojICAgICBbZG9jXSAiQW1vdW50IG9mIGxvZyBsaW5lcyBwcmludGVkIG9uIGZhaWx1cmUuIgoj
CiMgJEJCTEFZRVJTIFsyIG9wZXJhdGlvbnNdCiMgICBzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95b2N0
by9sdHRuZy9jb25mL2JibGF5ZXJzLmNvbmY6MTMKIyAgICAgIiAvbWVkaWEvcmViZWNjYXMveW9j
dG8vcG9reS9tZXRhIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEtcG9reSAvbWVkaWEv
cmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXlvY3RvLWJzcCAvbWVkaWEvcmViZWNjYXMveW9jdG8v
bWV0YS1pbnRlbC1jb250cmliICIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9t
ZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjkyCiMgICAgIFtkb2NdICJMaXN0cyB0aGUgbGF5
ZXJzIHRvIGVuYWJsZSBkdXJpbmcgdGhlIGJ1aWxkLiBUaGlzIHZhcmlhYmxlIGlzIGRlZmluZWQg
aW4gdGhlIGJibGF5ZXJzLmNvbmYgY29uZmlndXJhdGlvbiBmaWxlLiIKIyBwcmUtZXhwYW5zaW9u
IHZhbHVlOgojICAgIiAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhIC9tZWRpYS9yZWJl
Y2Nhcy95b2N0by9wb2t5L21ldGEtcG9reSAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRh
LXlvY3RvLWJzcCAvbWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1jb250cmliICIKQkJM
QVlFUlM9IiAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhIC9tZWRpYS9yZWJlY2Nhcy95
b2N0by9wb2t5L21ldGEtcG9reSAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXlvY3Rv
LWJzcCAvbWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1jb250cmliICIKIwojICRCQkxB
WUVSU19DT05GX1VQREFURV9GVU5DUyBbMiBvcGVyYXRpb25zXQojICAgYXBwZW5kIC9tZWRpYS9y
ZWJlY2Nhcy95b2N0by9wb2t5L21ldGEtcG9reS9jbGFzc2VzL3Bva3ktc2FuaXR5LmJiY2xhc3M6
NDYKIyAgICAgImNvbmYvYmJsYXllcnMuY29uZjpQT0tZX0JCTEFZRVJTX0NPTkZfVkVSU0lPTjpS
RVFVSVJFRF9QT0tZX0JCTEFZRVJTX0NPTkZfVkVSU0lPTjpwb2t5X3VwZGF0ZV9iYmxheWVyc2Nv
bmYiCiMgICBhcHBlbmQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL3Nh
bml0eS5iYmNsYXNzOjM1CiMgICAgICIgICAgIGNvbmYvYmJsYXllcnMuY29uZjpMQ09ORl9WRVJT
SU9OOkxBWUVSX0NPTkZfVkVSU0lPTjpvZWNvcmVfdXBkYXRlX2JibGF5ZXJzICAgICBjb25mL2xv
Y2FsLmNvbmY6Q09ORl9WRVJTSU9OOkxPQ0FMQ09ORl9WRVJTSU9OOm9lY29yZV91cGRhdGVfbG9j
YWxjb25mICAgICBjb25mL3NpdGUuY29uZjpTQ09ORl9WRVJTSU9OOlNJVEVfQ09ORl9WRVJTSU9O
Om9lY29yZV91cGRhdGVfc2l0ZWNvbmYgIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiIGNv
bmYvYmJsYXllcnMuY29uZjpQT0tZX0JCTEFZRVJTX0NPTkZfVkVSU0lPTjpSRVFVSVJFRF9QT0tZ
X0JCTEFZRVJTX0NPTkZfVkVSU0lPTjpwb2t5X3VwZGF0ZV9iYmxheWVyc2NvbmYgICAgICBjb25m
L2JibGF5ZXJzLmNvbmY6TENPTkZfVkVSU0lPTjpMQVlFUl9DT05GX1ZFUlNJT046b2Vjb3JlX3Vw
ZGF0ZV9iYmxheWVycyAgICAgY29uZi9sb2NhbC5jb25mOkNPTkZfVkVSU0lPTjpMT0NBTENPTkZf
VkVSU0lPTjpvZWNvcmVfdXBkYXRlX2xvY2FsY29uZiAgICAgY29uZi9zaXRlLmNvbmY6U0NPTkZf
VkVSU0lPTjpTSVRFX0NPTkZfVkVSU0lPTjpvZWNvcmVfdXBkYXRlX3NpdGVjb25mICIKQkJMQVlF
UlNfQ09ORl9VUERBVEVfRlVOQ1M9IiBjb25mL2JibGF5ZXJzLmNvbmY6UE9LWV9CQkxBWUVSU19D
T05GX1ZFUlNJT046UkVRVUlSRURfUE9LWV9CQkxBWUVSU19DT05GX1ZFUlNJT046cG9reV91cGRh
dGVfYmJsYXllcnNjb25mICAgICAgY29uZi9iYmxheWVycy5jb25mOkxDT05GX1ZFUlNJT046TEFZ
RVJfQ09ORl9WRVJTSU9OOm9lY29yZV91cGRhdGVfYmJsYXllcnMgICAgIGNvbmYvbG9jYWwuY29u
ZjpDT05GX1ZFUlNJT046TE9DQUxDT05GX1ZFUlNJT046b2Vjb3JlX3VwZGF0ZV9sb2NhbGNvbmYg
ICAgIGNvbmYvc2l0ZS5jb25mOlNDT05GX1ZFUlNJT046U0lURV9DT05GX1ZFUlNJT046b2Vjb3Jl
X3VwZGF0ZV9zaXRlY29uZiAiCiMKIyAkQkJMQVlFUlNfRkVUQ0hfRElSCiMgICBzZXQgL21lZGlh
L3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo2MDAKIyAgICAgW19k
ZWZhdWx0dmFsXSAiJHtDT1JFQkFTRX0iCkJCTEFZRVJTX0ZFVENIX0RJUj0iL21lZGlhL3JlYmVj
Y2FzL3lvY3RvL3Bva3kiCiMKIyAkQkJMQVlFUlNfTEFZRVJJTkRFWF9OQU1FX2NvcmUKIyAgIHNl
dCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvbGF5ZXIuY29uZjoxNAojICAg
ICAib3BlbmVtYmVkZGVkLWNvcmUiCkJCTEFZRVJTX0xBWUVSSU5ERVhfTkFNRV9jb3JlPSJvcGVu
ZW1iZWRkZWQtY29yZSIKIwojICRCQkxBWUVSU19MQVlFUklOREVYX1VSTAojICAgc2V0IC9tZWRp
YS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6NTk5CiMgICAgIFtf
ZGVmYXVsdHZhbF0gImh0dHA6Ly9sYXllcnMub3BlbmVtYmVkZGVkLm9yZy9sYXllcmluZGV4LyIK
QkJMQVlFUlNfTEFZRVJJTkRFWF9VUkw9Imh0dHA6Ly9sYXllcnMub3BlbmVtYmVkZGVkLm9yZy9s
YXllcmluZGV4LyIKIwojICRCQk1BU0sKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9r
eS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjkzCiMgICAgIFtkb2NdICJQcmV2ZW50cyBC
aXRCYWtlIGZyb20gcHJvY2Vzc2luZyBzcGVjaWZpYyByZWNpcGVzIG9yIHJlY2lwZSBhcHBlbmQg
ZmlsZXMuIgojCiMgJEJCUEFUSCBbMTAgb3BlcmF0aW9uc10KIyAgIHNldCAvbWVkaWEvcmViZWNj
YXMveW9jdG8vbHR0bmcvY29uZi9iYmxheWVycy5jb25mOjUKIyAgICAgIiR7VE9QRElSfSIKIyAg
IHBvc3Rkb3QgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2xheWVyLmNvbmY6
MgojICAgICAiOiR7TEFZRVJESVJ9IgojICAgc2V0IGRhdGFfc21hcnQucHk6OTM4IFtleHBhbmRW
YXJyZWZdCiMgICAgICIke1RPUERJUn06L21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YSIK
IyAgIHByZWRvdCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXBva3kvY29uZi9sYXll
ci5jb25mOjIKIyAgICAgIiR7TEFZRVJESVJ9OiIKIyAgIHNldCBkYXRhX3NtYXJ0LnB5OjkzOCBb
ZXhwYW5kVmFycmVmXQojICAgICAiL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5
OiR7VE9QRElSfTovbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhIgojICAgcG9zdGRvdCAv
bWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXlvY3RvLWJzcC9jb25mL2xheWVyLmNvbmY6
MgojICAgICAiOiR7TEFZRVJESVJ9IgojICAgc2V0IGRhdGFfc21hcnQucHk6OTM4IFtleHBhbmRW
YXJyZWZdCiMgICAgICIvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXBva3k6JHtUT1BE
SVJ9Oi9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGE6L21lZGlhL3JlYmVjY2FzL3lvY3Rv
L3Bva3kvbWV0YS15b2N0by1ic3AiCiMgICBwb3N0ZG90IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9t
ZXRhLWludGVsLWNvbnRyaWIvY29uZi9sYXllci5jb25mOjIKIyAgICAgIjoke0xBWUVSRElSfTok
e0xBWUVSRElSfS9jb21tb24iCiMgICBzZXQgZGF0YV9zbWFydC5weTo5MzggW2V4cGFuZFZhcnJl
Zl0KIyAgICAgIi9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEtcG9reToke1RPUERJUn06
L21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YTovbWVkaWEvcmViZWNjYXMveW9jdG8vcG9r
eS9tZXRhLXlvY3RvLWJzcDovbWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1jb250cmli
Oi9tZWRpYS9yZWJlY2Nhcy95b2N0by9tZXRhLWludGVsLWNvbnRyaWIvY29tbW9uIgojICAgc2V0
IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6
OTQKIyAgICAgW2RvY10gIlVzZWQgYnkgQml0QmFrZSB0byBsb2NhdGUgLmJiY2xhc3MgYW5kIGNv
bmZpZ3VyYXRpb24gZmlsZXMuIFRoaXMgdmFyaWFibGUgaXMgYW5hbG9nb3VzIHRvIHRoZSBQQVRI
IHZhcmlhYmxlLiIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIi9tZWRpYS9yZWJlY2Nhcy95
b2N0by9wb2t5L21ldGEtcG9reToke1RPUERJUn06L21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kv
bWV0YTovbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXlvY3RvLWJzcDovbWVkaWEvcmVi
ZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1jb250cmliOi9tZWRpYS9yZWJlY2Nhcy95b2N0by9tZXRh
LWludGVsLWNvbnRyaWIvY29tbW9uIgpCQlBBVEg9Ii9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5
L21ldGEtcG9reTovbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmc6L21lZGlhL3JlYmVjY2FzL3lv
Y3RvL3Bva3kvbWV0YTovbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXlvY3RvLWJzcDov
bWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1jb250cmliOi9tZWRpYS9yZWJlY2Nhcy95
b2N0by9tZXRhLWludGVsLWNvbnRyaWIvY29tbW9uIgojCiMgJEJCU0VSVkVSCiMgICBzZXQgL21l
ZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjo5NQoj
ICAgICBbZG9jXSAiUG9pbnRzIHRvIHRoZSBzZXJ2ZXIgdGhhdCBydW5zIG1lbW9yeS1yZXNpZGVu
dCBCaXRCYWtlLiIKIwojICRCQl9CQVNFSEFTSF90YXNrLWRvX2J1aWxkCiMgICBzZXQgc2lnZ2Vu
LnB5OjE3MSBbZmluYWxpc2VdCiMgICAgICI4MTJkMTU4N2Q0OWNlZmQzMjE1NmI5ZDhiYzRiN2M0
NiIKQkJfQkFTRUhBU0hfdGFzay1kb19idWlsZD0iODEyZDE1ODdkNDljZWZkMzIxNTZiOWQ4YmM0
YjdjNDYiCiMKIyAkQkJfQkFTRUhBU0hfdGFzay1kb19jaGVja3VyaQojICAgc2V0IHNpZ2dlbi5w
eToxNzEgW2ZpbmFsaXNlXQojICAgICAiMWEwZDI5YmJjYjhjNzE3MDA1MjI1ZTM4ZTc2MjRiNGEi
CkJCX0JBU0VIQVNIX3Rhc2stZG9fY2hlY2t1cmk9IjFhMGQyOWJiY2I4YzcxNzAwNTIyNWUzOGU3
NjI0YjRhIgojCiMgJEJCX0JBU0VIQVNIX3Rhc2stZG9fY2hlY2t1cmlhbGwKIyAgIHNldCBzaWdn
ZW4ucHk6MTcxIFtmaW5hbGlzZV0KIyAgICAgImViOWViNjA1ZjBkNjMxMDVkZWU5NjY5Yjg4ZjQw
NjdjIgpCQl9CQVNFSEFTSF90YXNrLWRvX2NoZWNrdXJpYWxsPSJlYjllYjYwNWYwZDYzMTA1ZGVl
OTY2OWI4OGY0MDY3YyIKIwojICRCQl9CQVNFSEFTSF90YXNrLWRvX2NsZWFuCiMgICBzZXQgc2ln
Z2VuLnB5OjE3MSBbZmluYWxpc2VdCiMgICAgICI0ZjEwOTIyMTcwZDhmZTFhOTdiNDZlMzJlZDc4
OGYyNyIKQkJfQkFTRUhBU0hfdGFzay1kb19jbGVhbj0iNGYxMDkyMjE3MGQ4ZmUxYTk3YjQ2ZTMy
ZWQ3ODhmMjciCiMKIyAkQkJfQkFTRUhBU0hfdGFzay1kb19jbGVhbmFsbAojICAgc2V0IHNpZ2dl
bi5weToxNzEgW2ZpbmFsaXNlXQojICAgICAiYzE2NGU0YjY0ZTc1ZWFkMDFiNmJhZjRlZGE3ZjZk
NDMiCkJCX0JBU0VIQVNIX3Rhc2stZG9fY2xlYW5hbGw9ImMxNjRlNGI2NGU3NWVhZDAxYjZiYWY0
ZWRhN2Y2ZDQzIgojCiMgJEJCX0JBU0VIQVNIX3Rhc2stZG9fY2xlYW5zc3RhdGUKIyAgIHNldCBz
aWdnZW4ucHk6MTcxIFtmaW5hbGlzZV0KIyAgICAgIjE2ODZiZTE1YTA3ZjFhOWM2OTY1ZTZlZjRj
MDJlNDM3IgpCQl9CQVNFSEFTSF90YXNrLWRvX2NsZWFuc3N0YXRlPSIxNjg2YmUxNWEwN2YxYTlj
Njk2NWU2ZWY0YzAyZTQzNyIKIwojICRCQl9CQVNFSEFTSF90YXNrLWRvX2NvbXBpbGUKIyAgIHNl
dCBzaWdnZW4ucHk6MTcxIFtmaW5hbGlzZV0KIyAgICAgIjE1MTNiOTc5YjA0MmI5YWVkYzEwMmY1
NTFiMTc3MTUzIgpCQl9CQVNFSEFTSF90YXNrLWRvX2NvbXBpbGU9IjE1MTNiOTc5YjA0MmI5YWVk
YzEwMmY1NTFiMTc3MTUzIgojCiMgJEJCX0JBU0VIQVNIX3Rhc2stZG9fY29uZmlndXJlCiMgICBz
ZXQgc2lnZ2VuLnB5OjE3MSBbZmluYWxpc2VdCiMgICAgICIwM2M3ZDNhOWU5ZWY5YTczMTkwNTc2
NDVjYjdhZGFlNiIKQkJfQkFTRUhBU0hfdGFzay1kb19jb25maWd1cmU9IjAzYzdkM2E5ZTllZjlh
NzMxOTA1NzY0NWNiN2FkYWU2IgojCiMgJEJCX0JBU0VIQVNIX3Rhc2stZG9fZGV2cHlzaGVsbAoj
ICAgc2V0IHNpZ2dlbi5weToxNzEgW2ZpbmFsaXNlXQojICAgICAiMzk3M2UyYTg2ZGI2MDNjMmUz
NTNhYTRkMGZkYTU4YjUiCkJCX0JBU0VIQVNIX3Rhc2stZG9fZGV2cHlzaGVsbD0iMzk3M2UyYTg2
ZGI2MDNjMmUzNTNhYTRkMGZkYTU4YjUiCiMKIyAkQkJfQkFTRUhBU0hfdGFzay1kb19kZXZzaGVs
bAojICAgc2V0IHNpZ2dlbi5weToxNzEgW2ZpbmFsaXNlXQojICAgICAiN2FhNDVmYWUxZjA5MzEz
NzFmYTI4OTU0NDYzODM1ZWUiCkJCX0JBU0VIQVNIX3Rhc2stZG9fZGV2c2hlbGw9IjdhYTQ1ZmFl
MWYwOTMxMzcxZmEyODk1NDQ2MzgzNWVlIgojCiMgJEJCX0JBU0VIQVNIX3Rhc2stZG9fZmV0Y2gK
IyAgIHNldCBzaWdnZW4ucHk6MTcxIFtmaW5hbGlzZV0KIyAgICAgIjc5Yjc4M2RjM2E5OTA1NDMy
NmFmNjQxYTE5ZWY1NWYxIgpCQl9CQVNFSEFTSF90YXNrLWRvX2ZldGNoPSI3OWI3ODNkYzNhOTkw
NTQzMjZhZjY0MWExOWVmNTVmMSIKIwojICRCQl9CQVNFSEFTSF90YXNrLWRvX2ZldGNoYWxsCiMg
ICBzZXQgc2lnZ2VuLnB5OjE3MSBbZmluYWxpc2VdCiMgICAgICIwYWIwZTdmMWRmODY3MzIzYTU4
N2FjMzhhNWE5YmEwYSIKQkJfQkFTRUhBU0hfdGFzay1kb19mZXRjaGFsbD0iMGFiMGU3ZjFkZjg2
NzMyM2E1ODdhYzM4YTVhOWJhMGEiCiMKIyAkQkJfQkFTRUhBU0hfdGFzay1kb19pbnN0YWxsCiMg
ICBzZXQgc2lnZ2VuLnB5OjE3MSBbZmluYWxpc2VdCiMgICAgICJlYjI2NTAxZGZjMjMwMjVlNzYz
NjhjYTE5MjIyYWIxYyIKQkJfQkFTRUhBU0hfdGFzay1kb19pbnN0YWxsPSJlYjI2NTAxZGZjMjMw
MjVlNzYzNjhjYTE5MjIyYWIxYyIKIwojICRCQl9CQVNFSEFTSF90YXNrLWRvX2xpc3R0YXNrcwoj
ICAgc2V0IHNpZ2dlbi5weToxNzEgW2ZpbmFsaXNlXQojICAgICAiN2JiMWU5N2VlYmI3OWViODYw
MDg1Y2VjZjk0N2Y4NjciCkJCX0JBU0VIQVNIX3Rhc2stZG9fbGlzdHRhc2tzPSI3YmIxZTk3ZWVi
Yjc5ZWI4NjAwODVjZWNmOTQ3Zjg2NyIKIwojICRCQl9CQVNFSEFTSF90YXNrLWRvX21ha2Vfc2Ny
aXB0cwojICAgc2V0IHNpZ2dlbi5weToxNzEgW2ZpbmFsaXNlXQojICAgICAiNzUxMTk4NTZiYTA4
MGVmODE4ZGY4NmNmYTdlOWI3OWIiCkJCX0JBU0VIQVNIX3Rhc2stZG9fbWFrZV9zY3JpcHRzPSI3
NTExOTg1NmJhMDgwZWY4MThkZjg2Y2ZhN2U5Yjc5YiIKIwojICRCQl9CQVNFSEFTSF90YXNrLWRv
X3BhY2thZ2UgWzQgb3BlcmF0aW9uc10KIyAgIHNldCBzaWdnZW4ucHk6MTcxIFtmaW5hbGlzZV0K
IyAgICAgIjA2YWIwNGVkNmQwYzBlZmJjYWRlOTQzMDg5YjM5OTViIgojICAgb3ZlcnJpZGVbd3Jp
dGVfcnBtX3NldHNjZW5lXTpzZXQgc2lnZ2VuLnB5OjE3MSBbZmluYWxpc2VdCiMgICAgICIzZmU1
ZmFhNGYwZWUzMTRmM2M4NmUzZDFlZTAyNTM2YSIKIyAgIG92ZXJyaWRlW3FhX3NldHNjZW5lXTpz
ZXQgc2lnZ2VuLnB5OjE3MSBbZmluYWxpc2VdCiMgICAgICIzZmU1ZmFhNGYwZWUzMTRmM2M4NmUz
ZDFlZTAyNTM2YSIKIyAgIG92ZXJyaWRlW3NldHNjZW5lXTpzZXQgc2lnZ2VuLnB5OjE3MSBbZmlu
YWxpc2VdCiMgICAgICI2NGU1YWFlOGQ5MTRjMjg5MTI0OTM4N2U1NTZhODhiYSIKIyBwcmUtZXhw
YW5zaW9uIHZhbHVlOgojICAgIjA2YWIwNGVkNmQwYzBlZmJjYWRlOTQzMDg5YjM5OTViIgpCQl9C
QVNFSEFTSF90YXNrLWRvX3BhY2thZ2U9IjA2YWIwNGVkNmQwYzBlZmJjYWRlOTQzMDg5YjM5OTVi
IgojCiMgJEJCX0JBU0VIQVNIX3Rhc2stZG9fcGFja2FnZV9xYSBbMiBvcGVyYXRpb25zXQojICAg
c2V0IHNpZ2dlbi5weToxNzEgW2ZpbmFsaXNlXQojICAgICAiZGM0MDdmZWJhZmE5M2NkZDM5NTgw
NmYzYjdlMmZhOTkiCiMgICBvdmVycmlkZVtzZXRzY2VuZV06c2V0IHNpZ2dlbi5weToxNzEgW2Zp
bmFsaXNlXQojICAgICAiM2ZlNWZhYTRmMGVlMzE0ZjNjODZlM2QxZWUwMjUzNmEiCiMgcHJlLWV4
cGFuc2lvbiB2YWx1ZToKIyAgICJkYzQwN2ZlYmFmYTkzY2RkMzk1ODA2ZjNiN2UyZmE5OSIKQkJf
QkFTRUhBU0hfdGFzay1kb19wYWNrYWdlX3FhPSJkYzQwN2ZlYmFmYTkzY2RkMzk1ODA2ZjNiN2Uy
ZmE5OSIKIwojICRCQl9CQVNFSEFTSF90YXNrLWRvX3BhY2thZ2VfcWFfc2V0c2NlbmUKIyAgIHNl
dCBzaWdnZW4ucHk6MTcxIFtmaW5hbGlzZV0KIyAgICAgIjNmZTVmYWE0ZjBlZTMxNGYzYzg2ZTNk
MWVlMDI1MzZhIgpCQl9CQVNFSEFTSF90YXNrLWRvX3BhY2thZ2VfcWFfc2V0c2NlbmU9IjNmZTVm
YWE0ZjBlZTMxNGYzYzg2ZTNkMWVlMDI1MzZhIgojCiMgJEJCX0JBU0VIQVNIX3Rhc2stZG9fcGFj
a2FnZV9zZXRzY2VuZQojICAgc2V0IHNpZ2dlbi5weToxNzEgW2ZpbmFsaXNlXQojICAgICAiNjRl
NWFhZThkOTE0YzI4OTEyNDkzODdlNTU2YTg4YmEiCkJCX0JBU0VIQVNIX3Rhc2stZG9fcGFja2Fn
ZV9zZXRzY2VuZT0iNjRlNWFhZThkOTE0YzI4OTEyNDkzODdlNTU2YTg4YmEiCiMKIyAkQkJfQkFT
RUhBU0hfdGFzay1kb19wYWNrYWdlX3dyaXRlX3JwbSBbMiBvcGVyYXRpb25zXQojICAgc2V0IHNp
Z2dlbi5weToxNzEgW2ZpbmFsaXNlXQojICAgICAiYmJhMjhiODJhZmY1ZGJjMGJmMGY4YTUxMjM4
YmVjNTEiCiMgICBvdmVycmlkZVtzZXRzY2VuZV06c2V0IHNpZ2dlbi5weToxNzEgW2ZpbmFsaXNl
XQojICAgICAiM2ZlNWZhYTRmMGVlMzE0ZjNjODZlM2QxZWUwMjUzNmEiCiMgcHJlLWV4cGFuc2lv
biB2YWx1ZToKIyAgICJiYmEyOGI4MmFmZjVkYmMwYmYwZjhhNTEyMzhiZWM1MSIKQkJfQkFTRUhB
U0hfdGFzay1kb19wYWNrYWdlX3dyaXRlX3JwbT0iYmJhMjhiODJhZmY1ZGJjMGJmMGY4YTUxMjM4
YmVjNTEiCiMKIyAkQkJfQkFTRUhBU0hfdGFzay1kb19wYWNrYWdlX3dyaXRlX3JwbV9zZXRzY2Vu
ZQojICAgc2V0IHNpZ2dlbi5weToxNzEgW2ZpbmFsaXNlXQojICAgICAiM2ZlNWZhYTRmMGVlMzE0
ZjNjODZlM2QxZWUwMjUzNmEiCkJCX0JBU0VIQVNIX3Rhc2stZG9fcGFja2FnZV93cml0ZV9ycG1f
c2V0c2NlbmU9IjNmZTVmYWE0ZjBlZTMxNGYzYzg2ZTNkMWVlMDI1MzZhIgojCiMgJEJCX0JBU0VI
QVNIX3Rhc2stZG9fcGFja2FnZWRhdGEKIyAgIHNldCBzaWdnZW4ucHk6MTcxIFtmaW5hbGlzZV0K
IyAgICAgIjIxYTkzY2M0MDViOGIwZmMwYTZkZDM4NzRmNGMwMWMwIgpCQl9CQVNFSEFTSF90YXNr
LWRvX3BhY2thZ2VkYXRhPSIyMWE5M2NjNDA1YjhiMGZjMGE2ZGQzODc0ZjRjMDFjMCIKIwojICRC
Ql9CQVNFSEFTSF90YXNrLWRvX3BhY2thZ2VkYXRhX3NldHNjZW5lCiMgICBzZXQgc2lnZ2VuLnB5
OjE3MSBbZmluYWxpc2VdCiMgICAgICIzZmU1ZmFhNGYwZWUzMTRmM2M4NmUzZDFlZTAyNTM2YSIK
QkJfQkFTRUhBU0hfdGFzay1kb19wYWNrYWdlZGF0YV9zZXRzY2VuZT0iM2ZlNWZhYTRmMGVlMzE0
ZjNjODZlM2QxZWUwMjUzNmEiCiMKIyAkQkJfQkFTRUhBU0hfdGFzay1kb19wYXRjaAojICAgc2V0
IHNpZ2dlbi5weToxNzEgW2ZpbmFsaXNlXQojICAgICAiY2FjMWE0YTdmODJlMjBhZDMyYzhmZmRk
ODcyZWVmYTEiCkJCX0JBU0VIQVNIX3Rhc2stZG9fcGF0Y2g9ImNhYzFhNGE3ZjgyZTIwYWQzMmM4
ZmZkZDg3MmVlZmExIgojCiMgJEJCX0JBU0VIQVNIX3Rhc2stZG9fcG9wdWxhdGVfbGljIFsyIG9w
ZXJhdGlvbnNdCiMgICBzZXQgc2lnZ2VuLnB5OjE3MSBbZmluYWxpc2VdCiMgICAgICJkMzA1ZmI0
OGViODJjYjAwZTBhMjM4NjMyZGEwYzIxMCIKIyAgIG92ZXJyaWRlW3NldHNjZW5lXTpzZXQgc2ln
Z2VuLnB5OjE3MSBbZmluYWxpc2VdCiMgICAgICIzZmU1ZmFhNGYwZWUzMTRmM2M4NmUzZDFlZTAy
NTM2YSIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgImQzMDVmYjQ4ZWI4MmNiMDBlMGEyMzg2
MzJkYTBjMjEwIgpCQl9CQVNFSEFTSF90YXNrLWRvX3BvcHVsYXRlX2xpYz0iZDMwNWZiNDhlYjgy
Y2IwMGUwYTIzODYzMmRhMGMyMTAiCiMKIyAkQkJfQkFTRUhBU0hfdGFzay1kb19wb3B1bGF0ZV9s
aWNfc2V0c2NlbmUKIyAgIHNldCBzaWdnZW4ucHk6MTcxIFtmaW5hbGlzZV0KIyAgICAgIjNmZTVm
YWE0ZjBlZTMxNGYzYzg2ZTNkMWVlMDI1MzZhIgpCQl9CQVNFSEFTSF90YXNrLWRvX3BvcHVsYXRl
X2xpY19zZXRzY2VuZT0iM2ZlNWZhYTRmMGVlMzE0ZjNjODZlM2QxZWUwMjUzNmEiCiMKIyAkQkJf
QkFTRUhBU0hfdGFzay1kb19wb3B1bGF0ZV9zeXNyb290IFsyIG9wZXJhdGlvbnNdCiMgICBzZXQg
c2lnZ2VuLnB5OjE3MSBbZmluYWxpc2VdCiMgICAgICI0MjkyY2IzOGU1OGQwMDE0M2JiZjVjNGMz
YTA2ZGE5NCIKIyAgIG92ZXJyaWRlW3NldHNjZW5lXTpzZXQgc2lnZ2VuLnB5OjE3MSBbZmluYWxp
c2VdCiMgICAgICIzZmU1ZmFhNGYwZWUzMTRmM2M4NmUzZDFlZTAyNTM2YSIKIyBwcmUtZXhwYW5z
aW9uIHZhbHVlOgojICAgIjQyOTJjYjM4ZTU4ZDAwMTQzYmJmNWM0YzNhMDZkYTk0IgpCQl9CQVNF
SEFTSF90YXNrLWRvX3BvcHVsYXRlX3N5c3Jvb3Q9IjQyOTJjYjM4ZTU4ZDAwMTQzYmJmNWM0YzNh
MDZkYTk0IgojCiMgJEJCX0JBU0VIQVNIX3Rhc2stZG9fcG9wdWxhdGVfc3lzcm9vdF9zZXRzY2Vu
ZQojICAgc2V0IHNpZ2dlbi5weToxNzEgW2ZpbmFsaXNlXQojICAgICAiM2ZlNWZhYTRmMGVlMzE0
ZjNjODZlM2QxZWUwMjUzNmEiCkJCX0JBU0VIQVNIX3Rhc2stZG9fcG9wdWxhdGVfc3lzcm9vdF9z
ZXRzY2VuZT0iM2ZlNWZhYTRmMGVlMzE0ZjNjODZlM2QxZWUwMjUzNmEiCiMKIyAkQkJfQkFTRUhB
U0hfdGFzay1kb19wcmVwYXJlX3JlY2lwZV9zeXNyb290CiMgICBzZXQgc2lnZ2VuLnB5OjE3MSBb
ZmluYWxpc2VdCiMgICAgICI1MmQ4MTA1ZDk3YWQwZDg3YWMzODY3ZGNiZGY5OTk4MiIKQkJfQkFT
RUhBU0hfdGFzay1kb19wcmVwYXJlX3JlY2lwZV9zeXNyb290PSI1MmQ4MTA1ZDk3YWQwZDg3YWMz
ODY3ZGNiZGY5OTk4MiIKIwojICRCQl9CQVNFSEFTSF90YXNrLWRvX3VucGFjawojICAgc2V0IHNp
Z2dlbi5weToxNzEgW2ZpbmFsaXNlXQojICAgICAiNDQyZDQwM2RhYjYyYmRiOTYwMzZlYWYwNDhj
NmU1YjIiCkJCX0JBU0VIQVNIX3Rhc2stZG9fdW5wYWNrPSI0NDJkNDAzZGFiNjJiZGI5NjAzNmVh
ZjA0OGM2ZTViMiIKIwojICRCQl9DTURMSU5FCiMgICBzZXQgY29va2VyLnB5OjM3MSBbaW5pdENv
bmZpZ3VyYXRpb25EYXRhXQojICAgICAiWycvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9iaXRi
YWtlL2Jpbi9iaXRiYWtlJywgJy1lJywgJ2x0dG5nLW1vZHVsZXMnXSIKQkJfQ01ETElORT0iWycv
bWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9iaXRiYWtlL2Jpbi9iaXRiYWtlJywgJy1lJywgJ2x0
dG5nLW1vZHVsZXMnXSIKIwojICRCQl9DT05TT0xFTE9HIFsyIG9wZXJhdGlvbnNdCiMgICBzZXQ/
IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6ODQzCiMg
ICAgICIke0xPR19ESVJ9L2Nvb2tlci8ke01BQ0hJTkV9LyR7REFURVRJTUV9LmxvZyIKIyAgIHNl
dCBjb29rZXIucHk6MzY5IFtpbml0Q29uZmlndXJhdGlvbkRhdGFdCiMgICAgICIvbWVkaWEvcmVi
ZWNjYXMveW9jdG8vbHR0bmcvdG1wL2xvZy9jb29rZXIvcWVtdXg4Ni8yMDE3MTAyNzAzMzEzMy5s
b2ciCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICIvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0
bmcvdG1wL2xvZy9jb29rZXIvcWVtdXg4Ni8yMDE3MTAyNzAzMzEzMy5sb2ciCkJCX0NPTlNPTEVM
T0c9Ii9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy90bXAvbG9nL2Nvb2tlci9xZW11eDg2LzIw
MTcxMDI3MDMzMTMzLmxvZyIKIwojICRCQl9DVVJSRU5UX01DCiMgICBzZXQgY29va2VyZGF0YS5w
eTozMTIgW3BhcnNlQ29uZmlndXJhdGlvbkZpbGVzXQojICAgICAiZGVmYXVsdCIKQkJfQ1VSUkVO
VF9NQz0iZGVmYXVsdCIKIwojICRCQl9EQU5HTElOR0FQUEVORFNfV0FSTk9OTFkKIyAgIHNldCAv
bWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjgw
CiMgICAgIFtkb2NdICJEZWZpbmVzIGhvdyBCaXRCYWtlIGhhbmRsZXMgc2l0dWF0aW9ucyB3aGVy
ZSBhbiBhcHBlbmQgZmlsZSAoLmJiYXBwZW5kKSBoYXMgbm8gY29ycmVzcG9uZGluZyByZWNpcGUg
ZmlsZSAoLmJiKS4iCiMKIyAkQkJfREVGQVVMVF9UQVNLCiMgICBzZXQ/IC9tZWRpYS9yZWJlY2Nh
cy95b2N0by9wb2t5L21ldGEvY2xhc3Nlcy9iYXNlLmJiY2xhc3M6MQojICAgICAiYnVpbGQiCkJC
X0RFRkFVTFRfVEFTSz0iYnVpbGQiCiMKIyAkQkJfRElTS01PTl9ESVJTIFsyIG9wZXJhdGlvbnNd
CiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL2NvbmYvbG9jYWwuY29uZjoyMDIK
IyAgICAgIlNUT1BUQVNLUywke1RNUERJUn0sMUcsMTAwSyBTVE9QVEFTS1MsJHtETF9ESVJ9LDFH
LDEwMEsgU1RPUFRBU0tTLCR7U1NUQVRFX0RJUn0sMUcsMTAwSyBTVE9QVEFTS1MsL3RtcCwxMDBN
LDEwMEsgQUJPUlQsJHtUTVBESVJ9LDEwME0sMUsgQUJPUlQsJHtETF9ESVJ9LDEwME0sMUsgQUJP
UlQsJHtTU1RBVEVfRElSfSwxMDBNLDFLIEFCT1JULC90bXAsMTBNLDFLIgojICAgc2V0IC9tZWRp
YS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6ODEKIyAg
ICAgW2RvY10gIk1vbml0b3JzIGRpc2sgc3BhY2UgYW5kIGF2YWlsYWJsZSBpbm9kZXMgZHVyaW5n
IHRoZSBidWlsZCBhbmQgYWxsb3dzIHlvdSB0byBjb250cm9sIHRoZSBidWlsZCBiYXNlZCBvbiB0
aGVzZSBwYXJhbWV0ZXJzLiIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIlNUT1BUQVNLUywk
e1RNUERJUn0sMUcsMTAwSyBTVE9QVEFTS1MsJHtETF9ESVJ9LDFHLDEwMEsgU1RPUFRBU0tTLCR7
U1NUQVRFX0RJUn0sMUcsMTAwSyBTVE9QVEFTS1MsL3RtcCwxMDBNLDEwMEsgQUJPUlQsJHtUTVBE
SVJ9LDEwME0sMUsgQUJPUlQsJHtETF9ESVJ9LDEwME0sMUsgQUJPUlQsJHtTU1RBVEVfRElSfSwx
MDBNLDFLIEFCT1JULC90bXAsMTBNLDFLIgpCQl9ESVNLTU9OX0RJUlM9IlNUT1BUQVNLUywvbWVk
aWEvcmViZWNjYXMveW9jdG8vbHR0bmcvdG1wLDFHLDEwMEsgU1RPUFRBU0tTLC9tZWRpYS9yZWJl
Y2Nhcy9idWlsZC9kb3dubG9hZHMsMUcsMTAwSyBTVE9QVEFTS1MsL21lZGlhL3JlYmVjY2FzL2J1
aWxkL3NzdGF0ZS1jYWNoZSwxRywxMDBLIFNUT1BUQVNLUywvdG1wLDEwME0sMTAwSyBBQk9SVCwv
bWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvdG1wLDEwME0sMUsgQUJPUlQsL21lZGlhL3JlYmVj
Y2FzL2J1aWxkL2Rvd25sb2FkcywxMDBNLDFLIEFCT1JULC9tZWRpYS9yZWJlY2Nhcy9idWlsZC9z
c3RhdGUtY2FjaGUsMTAwTSwxSyBBQk9SVCwvdG1wLDEwTSwxSyIKIwojICRCQl9ESVNLTU9OX1dB
Uk5JTlRFUlZBTAojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9k
b2N1bWVudGF0aW9uLmNvbmY6ODIKIyAgICAgW2RvY10gIkRlZmluZXMgdGhlIGRpc2sgc3BhY2Ug
YW5kIGZyZWUgaW5vZGUgd2FybmluZyBpbnRlcnZhbHMuIFRvIHNldCB0aGVzZSBpbnRlcnZhbHMs
IGRlZmluZSB0aGUgdmFyaWFibGUgaW4gdGhlIGNvbmYvbG9jYWwuY29uZiBmaWxlIGluIHRoZSBC
dWlsZCBEaXJlY3RvcnkuIgojCiMgJEJCX0VOVl9FWFRSQVdISVRFCiMgICBmcm9tIGVudiBkYXRh
LnB5OjEyNCBbaW5oZXJpdEZyb21PU10KIyAgICAgIkFMTF9QUk9YWSBCQlBBVEhfRVhUUkEgQkJf
Tk9fTkVUV09SSyBCQl9OVU1CRVJfVEhSRUFEUyBCQl9TRVRTQ0VORV9FTkZPUkNFIEJCX1NSQ1JF
Vl9QT0xJQ1kgRElTVFJPIEZUUFNfUFJPWFkgRlRQX1BST1hZIEdJVF9QUk9YWV9DT01NQU5EIEhU
VFBTX1BST1hZIEhUVFBfUFJPWFkgTUFDSElORSBOT19QUk9YWSBQQVJBTExFTF9NQUtFIFNDUkVF
TkRJUiBTREtNQUNISU5FIFNPQ0tTNV9QQVNTV0QgU09DS1M1X1VTRVIgU1NIX0FHRU5UX1BJRCBT
U0hfQVVUSF9TT0NLIFNUQU1QU19ESVIgVENMSUJDIFRDTU9ERSBhbGxfcHJveHkgZnRwX3Byb3h5
IGZ0cHNfcHJveHkgaHR0cF9wcm94eSBodHRwc19wcm94eSBub19wcm94eSAiCkJCX0VOVl9FWFRS
QVdISVRFPSJBTExfUFJPWFkgQkJQQVRIX0VYVFJBIEJCX05PX05FVFdPUksgQkJfTlVNQkVSX1RI
UkVBRFMgQkJfU0VUU0NFTkVfRU5GT1JDRSBCQl9TUkNSRVZfUE9MSUNZIERJU1RSTyBGVFBTX1BS
T1hZIEZUUF9QUk9YWSBHSVRfUFJPWFlfQ09NTUFORCBIVFRQU19QUk9YWSBIVFRQX1BST1hZIE1B
Q0hJTkUgTk9fUFJPWFkgUEFSQUxMRUxfTUFLRSBTQ1JFRU5ESVIgU0RLTUFDSElORSBTT0NLUzVf
UEFTU1dEIFNPQ0tTNV9VU0VSIFNTSF9BR0VOVF9QSUQgU1NIX0FVVEhfU09DSyBTVEFNUFNfRElS
IFRDTElCQyBUQ01PREUgYWxsX3Byb3h5IGZ0cF9wcm94eSBmdHBzX3Byb3h5IGh0dHBfcHJveHkg
aHR0cHNfcHJveHkgbm9fcHJveHkgIgojCiMgJEJCX0dFTkVSQVRFX01JUlJPUl9UQVJCQUxMUyBb
MiBvcGVyYXRpb25zXQojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29u
Zi9kaXN0cm8vaW5jbHVkZS9kZWZhdWx0LWRpc3Ryb3ZhcnMuaW5jOjM1CiMgICAgIFtfZGVmYXVs
dHZhbF0gIjAiCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rv
Y3VtZW50YXRpb24uY29uZjo4MwojICAgICBbZG9jXSAiQ2F1c2VzIHRhcmJhbGxzIG9mIHRoZSBH
aXQgcmVwb3NpdG9yaWVzIHRvIGJlIHBsYWNlZCBpbiB0aGUgRExfRElSIGRpcmVjdG9yeS4iCiMg
cHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICIwIgpCQl9HRU5FUkFURV9NSVJST1JfVEFSQkFMTFM9
IjAiCiMKIyAkQkJfSEFTSEJBU0VfV0hJVEVMSVNUCiMgICBzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95
b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6ODUzCiMgICAgICJUTVBESVIgRklMRSBQ
QVRIIFBXRCBCQl9UQVNLSEFTSCBCQlBBVEggQkJTRVJWRVIgRExfRElSIFNTVEFURV9ESVIgVEhJ
U0RJUiBGSUxFU0VYVFJBUEFUSFMgRklMRV9ESVJOQU1FIEhPTUUgTE9HTkFNRSBTSEVMTCBURVJN
IFVTRVIgRklMRVNQQVRIIFNUQUdJTkdfRElSX0hPU1QgU1RBR0lOR19ESVJfVEFSR0VUIENPUkVC
QVNFIFBSU0VSVl9IT1NUIFBSU0VSVl9EVU1QRElSIFBSU0VSVl9EVU1QRklMRSBQUlNFUlZfTE9D
S0RPV04gUEFSQUxMRUxfTUFLRSBDQ0FDSEVfRElSIEVYVEVSTkFMX1RPT0xDSEFJTiBDQ0FDSEUg
Q0NBQ0hFX0RJU0FCTEUgTElDRU5TRV9QQVRIIFNES1BLR1NVRkZJWCBXQVJOX1FBIEVSUk9SX1FB
IFdPUktESVIgU1RBTVBDTEVBTiBQS0dEQVRBX0RJUiBCVUlMRF9BUkNIIFNTVEFURV9QS0dBUkNI
IEJCX1dPUktFUkNPTlRFWFQgQkJfTElNSVRFRERFUFMgZXh0ZW5kX3JlY2lwZV9zeXNyb290IERF
UExPWV9ESVIiCkJCX0hBU0hCQVNFX1dISVRFTElTVD0iVE1QRElSIEZJTEUgUEFUSCBQV0QgQkJf
VEFTS0hBU0ggQkJQQVRIIEJCU0VSVkVSIERMX0RJUiBTU1RBVEVfRElSIFRISVNESVIgRklMRVNF
WFRSQVBBVEhTIEZJTEVfRElSTkFNRSBIT01FIExPR05BTUUgU0hFTEwgVEVSTSBVU0VSIEZJTEVT
UEFUSCBTVEFHSU5HX0RJUl9IT1NUIFNUQUdJTkdfRElSX1RBUkdFVCBDT1JFQkFTRSBQUlNFUlZf
SE9TVCBQUlNFUlZfRFVNUERJUiBQUlNFUlZfRFVNUEZJTEUgUFJTRVJWX0xPQ0tET1dOIFBBUkFM
TEVMX01BS0UgQ0NBQ0hFX0RJUiBFWFRFUk5BTF9UT09MQ0hBSU4gQ0NBQ0hFIENDQUNIRV9ESVNB
QkxFIExJQ0VOU0VfUEFUSCBTREtQS0dTVUZGSVggV0FSTl9RQSBFUlJPUl9RQSBXT1JLRElSIFNU
QU1QQ0xFQU4gUEtHREFUQV9ESVIgQlVJTERfQVJDSCBTU1RBVEVfUEtHQVJDSCBCQl9XT1JLRVJD
T05URVhUIEJCX0xJTUlURURERVBTIGV4dGVuZF9yZWNpcGVfc3lzcm9vdCBERVBMT1lfRElSIgoj
CiMgJEJCX0hBU0hDSEVDS19GVU5DVElPTgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9w
b2t5L21ldGEvY2xhc3Nlcy9zc3RhdGUuYmJjbGFzczo3NjMKIyAgICAgInNzdGF0ZV9jaGVja2hh
c2hlcyIKQkJfSEFTSENIRUNLX0ZVTkNUSU9OPSJzc3RhdGVfY2hlY2toYXNoZXMiCiMKIyAkQkJf
SEFTSENPTkZJR19XSElURUxJU1QKIyAgIHNldD8gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kv
bWV0YS9jb25mL2JpdGJha2UuY29uZjo4NTkKIyAgICAgIiR7QkJfSEFTSEJBU0VfV0hJVEVMSVNU
fSBEQVRFIFRJTUUgU1NIX0FHRU5UX1BJRCBTU0hfQVVUSF9TT0NLIFBTRVVET19CVUlMRCBCQl9F
TlZfRVhUUkFXSElURSBESVNBQkxFX1NBTklUWV9DSEVDS1MgUEFSQUxMRUxfTUFLRSBCQl9OVU1C
RVJfVEhSRUFEUyBCQl9PUklHRU5WIEJCX0lOVkFMSURDT05GIEJCSU5DTFVERUQgR0lUX1BST1hZ
X0NPTU1BTkQgQUxMX1BST1hZIGFsbF9wcm94eSBOT19QUk9YWSBub19wcm94eSBGVFBfUFJPWFkg
ZnRwX3Byb3h5IEhUVFBfUFJPWFkgaHR0cF9wcm94eSBIVFRQU19QUk9YWSBodHRwc19wcm94eSBT
T0NLUzVfVVNFUiBTT0NLUzVfUEFTU1dEIEJCX1NFVFNDRU5FX0VORk9SQ0UiCkJCX0hBU0hDT05G
SUdfV0hJVEVMSVNUPSJUTVBESVIgRklMRSBQQVRIIFBXRCBCQl9UQVNLSEFTSCBCQlBBVEggQkJT
RVJWRVIgRExfRElSIFNTVEFURV9ESVIgVEhJU0RJUiBGSUxFU0VYVFJBUEFUSFMgRklMRV9ESVJO
QU1FIEhPTUUgTE9HTkFNRSBTSEVMTCBURVJNIFVTRVIgRklMRVNQQVRIIFNUQUdJTkdfRElSX0hP
U1QgU1RBR0lOR19ESVJfVEFSR0VUIENPUkVCQVNFIFBSU0VSVl9IT1NUIFBSU0VSVl9EVU1QRElS
IFBSU0VSVl9EVU1QRklMRSBQUlNFUlZfTE9DS0RPV04gUEFSQUxMRUxfTUFLRSBDQ0FDSEVfRElS
IEVYVEVSTkFMX1RPT0xDSEFJTiBDQ0FDSEUgQ0NBQ0hFX0RJU0FCTEUgTElDRU5TRV9QQVRIIFNE
S1BLR1NVRkZJWCBXQVJOX1FBIEVSUk9SX1FBIFdPUktESVIgU1RBTVBDTEVBTiBQS0dEQVRBX0RJ
UiBCVUlMRF9BUkNIIFNTVEFURV9QS0dBUkNIIEJCX1dPUktFUkNPTlRFWFQgQkJfTElNSVRFRERF
UFMgZXh0ZW5kX3JlY2lwZV9zeXNyb290IERFUExPWV9ESVIgREFURSBUSU1FIFNTSF9BR0VOVF9Q
SUQgU1NIX0FVVEhfU09DSyBQU0VVRE9fQlVJTEQgQkJfRU5WX0VYVFJBV0hJVEUgRElTQUJMRV9T
QU5JVFlfQ0hFQ0tTIFBBUkFMTEVMX01BS0UgQkJfTlVNQkVSX1RIUkVBRFMgQkJfT1JJR0VOViBC
Ql9JTlZBTElEQ09ORiBCQklOQ0xVREVEIEdJVF9QUk9YWV9DT01NQU5EIEFMTF9QUk9YWSBhbGxf
cHJveHkgTk9fUFJPWFkgbm9fcHJveHkgRlRQX1BST1hZIGZ0cF9wcm94eSBIVFRQX1BST1hZIGh0
dHBfcHJveHkgSFRUUFNfUFJPWFkgaHR0cHNfcHJveHkgU09DS1M1X1VTRVIgU09DS1M1X1BBU1NX
RCBCQl9TRVRTQ0VORV9FTkZPUkNFIgojCiMgJEJCX0hBU0hGSUxFTkFNRQojICAgc2V0IC9tZWRp
YS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY2xhc3Nlcy9zc3RhdGUuYmJjbGFzczozOAojICAg
ICAiRmFsc2UgJHtTU1RBVEVfUEtHU1BFQ30gJHtTU1RBVEVfU1dTUEVDfSIKQkJfSEFTSEZJTEVO
QU1FPSJGYWxzZSBzc3RhdGU6bHR0bmctbW9kdWxlczpxZW11eDg2LXBva3ktbGludXg6Mi45LjE6
cjA6cWVtdXg4NjozOiBzc3RhdGU6bHR0bmctbW9kdWxlczo6Mi45LjE6cjA6OjM6IgojCiMgJEJC
X01JTl9WRVJTSU9OCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25m
L3Nhbml0eS5jb25mOjYKIyAgICAgIjEuMzMuNCIKQkJfTUlOX1ZFUlNJT049IjEuMzMuNCIKIwoj
ICRCQl9OVU1CRVJfVEhSRUFEUyBbMiBvcGVyYXRpb25zXQojICAgc2V0IC9tZWRpYS9yZWJlY2Nh
cy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6ODQKIyAgICAgW2RvY10g
IlRoZSBtYXhpbXVtIG51bWJlciBvZiB0YXNrcyBCaXRCYWtlIHNob3VsZCBydW4gaW4gcGFyYWxs
ZWwgYXQgYW55IG9uZSB0aW1lLiBBIGdvb2QgcnVsZSBvZiB0aHVtYiBpcyB0byBzZXQgdGhpcyB2
YXJpYWJsZSB0byB0d2ljZSB0aGUgbnVtYmVyIG9mIGNvcmVzLiIKIyAgIHNldD8gL21lZGlhL3Jl
YmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo3NzIKIyAgICAgIiR7QG9l
LnV0aWxzLmNwdV9jb3VudCgpfSIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIiR7QG9lLnV0
aWxzLmNwdV9jb3VudCgpfSIKQkJfTlVNQkVSX1RIUkVBRFM9IjQwIgojCiMgJEJCX09SSUdFTlYK
IyAgIHNldCBjb29rZXJkYXRhLnB5OjI1NyBbX19pbml0X19dCiMgICAgICI8YmIuZGF0YV9zbWFy
dC5EYXRhU21hcnQgb2JqZWN0IGF0IDB4N2ZmYWJlNTMzZDY4PiIKQkJfT1JJR0VOVj0iPGJiLmRh
dGFfc21hcnQuRGF0YVNtYXJ0IG9iamVjdCBhdCAweDdmZmFiNWVhNThkMD4iCiMKIyAkQkJfU0VU
U0NFTkVfREVQVkFMSUQKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2Ns
YXNzZXMvc3N0YXRlLmJiY2xhc3M6ODk1CiMgICAgICJzZXRzY2VuZV9kZXB2YWxpZCIKQkJfU0VU
U0NFTkVfREVQVkFMSUQ9InNldHNjZW5lX2RlcHZhbGlkIgojCiMgJEJCX1NJR05BVFVSRV9FWENM
VURFX0ZMQUdTCiMgICBzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9i
aXRiYWtlLmNvbmY6ODY1CiMgICAgICJkb2MgZGVwcyBkZXBlbmRzIGxvY2tmaWxlcyB0eXBlIHZh
cmRlcHNleGNsdWRlIHZhcmRlcHMgdmFyZGVwdmFsdWUgdmFyZGVwdmFsdWVleGNsdWRlIGZpbGUt
Y2hlY2tzdW1zIHB5dGhvbiBmdW5jIHRhc2sgZXhwb3J0IHVuZXhwb3J0IG5vZXhlYyBub3N0YW1w
IGRpcnMgY2xlYW5kaXJzIHNzdGF0ZS1sb2NrZmlsZS1zaGFyZWQgcHJlZnVuY3MgcG9zdGZ1bmNz
IGV4cG9ydF9mdW5jIGRlcHRhc2sgcmRlcHRhc2sgcmVjcmRlcHRhc2sgbm9kZXBycmVjcyBzdGFt
cC1leHRyYS1pbmZvIHNzdGF0ZS1vdXRwdXRkaXJzIGZpbGVuYW1lIGxpbmVubyBwcm9ncmVzcyIK
QkJfU0lHTkFUVVJFX0VYQ0xVREVfRkxBR1M9ImRvYyBkZXBzIGRlcGVuZHMgbG9ja2ZpbGVzIHR5
cGUgdmFyZGVwc2V4Y2x1ZGUgdmFyZGVwcyB2YXJkZXB2YWx1ZSB2YXJkZXB2YWx1ZWV4Y2x1ZGUg
ZmlsZS1jaGVja3N1bXMgcHl0aG9uIGZ1bmMgdGFzayBleHBvcnQgdW5leHBvcnQgbm9leGVjIG5v
c3RhbXAgZGlycyBjbGVhbmRpcnMgc3N0YXRlLWxvY2tmaWxlLXNoYXJlZCBwcmVmdW5jcyBwb3N0
ZnVuY3MgZXhwb3J0X2Z1bmMgZGVwdGFzayByZGVwdGFzayByZWNyZGVwdGFzayBub2RlcHJyZWNz
IHN0YW1wLWV4dHJhLWluZm8gc3N0YXRlLW91dHB1dGRpcnMgZmlsZW5hbWUgbGluZW5vIHByb2dy
ZXNzIgojCiMgJEJCX1NJR05BVFVSRV9IQU5ETEVSCiMgICBzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95
b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6ODQ2CiMgICAgICJPRUJhc2ljSGFzaCIK
QkJfU0lHTkFUVVJFX0hBTkRMRVI9Ik9FQmFzaWNIYXNoIgojCiMgJEJCX1NUUklDVF9DSEVDS1NV
TQojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5j
bHVkZS9kZWZhdWx0LWRpc3Ryb3ZhcnMuaW5jOjQ1CiMgICAgICIxIgpCQl9TVFJJQ1RfQ0hFQ0tT
VU09IjEiCiMKIyAkQkJfVkVSU0lPTgojICAgc2V0IGJhc2UuYmJjbGFzczoyMzcgW2Jhc2VfZXZl
bnRoYW5kbGVyXQojICAgICAiMS4zNC4wIgpCQl9WRVJTSU9OPSIxLjM0LjAiCiMKIyAkQklOQ09O
RklHX0dMT0IKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZG9j
dW1lbnRhdGlvbi5jb25mOjk2CiMgICAgIFtkb2NdICJXaGVuIGluaGVyaXRpbmcgYmluY29uZmln
LmJiY2xhc3MgZnJvbSBhIHJlY2lwZSwgdGhpcyB2YXJpYWJsZSBzcGVjaWZpZXMgYSB3aWxkY2Fy
ZCBmb3IgY29uZmlndXJhdGlvbiBzY3JpcHRzIHRoYXQgbmVlZCBlZGl0aW5nLiIKIwojICRCSU5V
VkVSU0lPTgojICAgc2V0PyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlz
dHJvL2luY2x1ZGUvdGNtb2RlLWRlZmF1bHQuaW5jOjI3CiMgICAgICIyLjI4JSIKQklOVVZFUlNJ
T049IjIuMjglIgojCiMgJEJQIFsyIG9wZXJhdGlvbnNdCiMgICBzZXQgL21lZGlhL3JlYmVjY2Fz
L3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjoyMTcKIyAgICAgIiR7QlBOfS0ke1BW
fSIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRh
dGlvbi5jb25mOjk3CiMgICAgIFtkb2NdICJUaGUgYmFzZSByZWNpcGUgbmFtZSBhbmQgdmVyc2lv
biBidXQgd2l0aG91dCBhbnkgc3BlY2lhbCByZWNpcGUgbmFtZSBzdWZmaXggKGkuZS4gLW5hdGl2
ZSwgbGliNjQtLCBhbmQgc28gZm9ydGgpLiBCUCBpcyBjb21wcmlzZWQgb2YgJHtCUE59LSR7UFZ9
IgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiJHtCUE59LSR7UFZ9IgpCUD0ibHR0bmctbW9k
dWxlcy0yLjkuMSIKIwojICRCUE4gWzIgb3BlcmF0aW9uc10KIyAgIHNldCAvbWVkaWEvcmViZWNj
YXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjIxNgojICAgICAiJHtAYmFzZV9w
cnVuZV9zdWZmaXgoZC5nZXRWYXIoJ1BOJyksIGQuZ2V0VmFyKCdTUEVDSUFMX1BLR1NVRkZJWCcp
LnNwbGl0KCksIGQpfSIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2Nv
bmYvZG9jdW1lbnRhdGlvbi5jb25mOjk4CiMgICAgIFtkb2NdICJUaGUgYmFyZSBuYW1lIG9mIHRo
ZSByZWNpcGUuIFRoaXMgdmFyaWFibGUgaXMgYSB2ZXJzaW9uIG9mIHRoZSBQTiB2YXJpYWJsZSBi
dXQgcmVtb3ZlcyBjb21tb24gc3VmZml4ZXMgYW5kIHByZWZpeGVzLiIKIyBwcmUtZXhwYW5zaW9u
IHZhbHVlOgojICAgIiR7QGJhc2VfcHJ1bmVfc3VmZml4KGQuZ2V0VmFyKCdQTicpLCBkLmdldFZh
cignU1BFQ0lBTF9QS0dTVUZGSVgnKS5zcGxpdCgpLCBkKX0iCkJQTj0ibHR0bmctbW9kdWxlcyIK
IwojICRCVUdUUkFDS0VSCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9j
b25mL2RvY3VtZW50YXRpb24uY29uZjo5OQojICAgICBbZG9jXSAiU3BlY2lmaWVzIGEgVVJMIGZv
ciBhbiB1cHN0cmVhbSBidWcgdHJhY2tpbmcgd2Vic2l0ZSBmb3IgYSByZWNpcGUuIgojCiMgJEJV
SUxEQ0ZHX0ZVTkNTIFsyIG9wZXJhdGlvbnNdCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3Rv
L3Bva3kvbWV0YS9jbGFzc2VzL2Jhc2UuYmJjbGFzczoyMDgKIyAgICAgW19kZWZhdWx0dmFsXSAi
YnVpbGRjZmdfdmFycyBnZXRfbGF5ZXJzX2JyYW5jaF9yZXYgYnVpbGRjZmdfbmVlZGVkdmFycyIK
IyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NsYXNzZXMvYmFzZS5iYmNs
YXNzOjIwOQojICAgICBbdHlwZV0gImxpc3QiCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICJi
dWlsZGNmZ192YXJzIGdldF9sYXllcnNfYnJhbmNoX3JldiBidWlsZGNmZ19uZWVkZWR2YXJzIgpC
VUlMRENGR19GVU5DUz0iYnVpbGRjZmdfdmFycyBnZXRfbGF5ZXJzX2JyYW5jaF9yZXYgYnVpbGRj
ZmdfbmVlZGVkdmFycyIKIwojICRCVUlMRENGR19IRUFERVIKIyAgIHNldCAvbWVkaWEvcmViZWNj
YXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjY3OQojICAgICAiQnVpbGQgQ29u
ZmlndXJhdGlvbjoiCkJVSUxEQ0ZHX0hFQURFUj0iQnVpbGQgQ29uZmlndXJhdGlvbjoiCiMKIyAk
QlVJTERDRkdfTkVFREVEVkFSUyBbMiBvcGVyYXRpb25zXQojICAgc2V0IC9tZWRpYS9yZWJlY2Nh
cy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6NjgyCiMgICAgICJUQVJHRVRfQVJD
SCBUQVJHRVRfT1MiCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25m
L2JpdGJha2UuY29uZjo2ODMKIyAgICAgW3R5cGVdICJsaXN0IgojIHByZS1leHBhbnNpb24gdmFs
dWU6CiMgICAiVEFSR0VUX0FSQ0ggVEFSR0VUX09TIgpCVUlMRENGR19ORUVERURWQVJTPSJUQVJH
RVRfQVJDSCBUQVJHRVRfT1MiCiMKIyAkQlVJTERDRkdfVkFSUyBbMiBvcGVyYXRpb25zXQojICAg
c2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6Njgw
CiMgICAgICJCQl9WRVJTSU9OIEJVSUxEX1NZUyBOQVRJVkVMU0JTVFJJTkcgVEFSR0VUX1NZUyBN
QUNISU5FIERJU1RSTyBESVNUUk9fVkVSU0lPTiBUVU5FX0ZFQVRVUkVTIFRBUkdFVF9GUFUiCiMg
ICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo2
ODEKIyAgICAgW3R5cGVdICJsaXN0IgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiQkJfVkVS
U0lPTiBCVUlMRF9TWVMgTkFUSVZFTFNCU1RSSU5HIFRBUkdFVF9TWVMgTUFDSElORSBESVNUUk8g
RElTVFJPX1ZFUlNJT04gVFVORV9GRUFUVVJFUyBUQVJHRVRfRlBVIgpCVUlMRENGR19WQVJTPSJC
Ql9WRVJTSU9OIEJVSUxEX1NZUyBOQVRJVkVMU0JTVFJJTkcgVEFSR0VUX1NZUyBNQUNISU5FIERJ
U1RSTyBESVNUUk9fVkVSU0lPTiBUVU5FX0ZFQVRVUkVTIFRBUkdFVF9GUFUiCiMKIyAkQlVJTERE
SVIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRh
dGlvbi5jb25mOjEwMgojICAgICBbZG9jXSAiUG9pbnRzIHRvIHRoZSBsb2NhdGlvbiBvZiB0aGUg
QnVpbGQgRGlyZWN0b3J5LiIKIwojICRCVUlMRFNES19DRkxBR1MKIyAgIHNldCAvbWVkaWEvcmVi
ZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjU0NAojICAgICAiJHtCVUlM
RFNES19DUFBGTEFHU30gJHtCVUlMRF9PUFRJTUlaQVRJT059IgpCVUlMRFNES19DRkxBR1M9IiAt
TzIgLXBpcGUiCiMKIyAkQlVJTERTREtfQ1BQRkxBR1MKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMv
eW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjUzOQojICAgICAiIgpCVUlMRFNES19D
UFBGTEFHUz0iIgojCiMgJEJVSUxEU0RLX0xERkxBR1MKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMv
eW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjU2MAojICAgICAiLVdsLC1PMSIKQlVJ
TERTREtfTERGTEFHUz0iLVdsLC1PMSIKIwojICRCVUlMRFNUQVRTX0JBU0UgWzIgb3BlcmF0aW9u
c10KIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRh
dGlvbi5jb25mOjEwMwojICAgICBbZG9jXSAiUG9pbnRzIHRvIHRoZSBsb2NhdGlvbiBvZiB0aGUg
ZGlyZWN0b3J5IHRoYXQgaG9sZHMgYnVpbGQgc3RhdGlzdGljcyB3aGVuIHlvdSB1c2UgYW5kIGVu
YWJsZSB0aGUgYnVpbGRzdGF0cyBjbGFzcy4iCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3Rv
L3Bva3kvbWV0YS9jbGFzc2VzL2J1aWxkc3RhdHMuYmJjbGFzczoxCiMgICAgICIke1RNUERJUn0v
YnVpbGRzdGF0cy8iCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICIke1RNUERJUn0vYnVpbGRz
dGF0cy8iCkJVSUxEU1RBVFNfQkFTRT0iL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL3RtcC9i
dWlsZHN0YXRzLyIKIwojICRCVUlMRF9BUiBbMiBvcGVyYXRpb25zXQojICAgZXhwb3J0ZWQgL21l
ZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo1MTcKIyAgICAg
W2V4cG9ydF0gIjEiCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25m
L2JpdGJha2UuY29uZjo1MTcKIyAgICAgIiR7QlVJTERfUFJFRklYfWFyIgojIHByZS1leHBhbnNp
b24gdmFsdWU6CiMgICAiJHtCVUlMRF9QUkVGSVh9YXIiCmV4cG9ydCBCVUlMRF9BUj0iYXIiCiMK
IyAkQlVJTERfQVJDSCBbMiBvcGVyYXRpb25zXQojICAgaW1tZWRpYXRlIC9tZWRpYS9yZWJlY2Nh
cy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6OTIKIyAgICAgIiR7QG9zLnVuYW1l
KClbNF19IgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1
bWVudGF0aW9uLmNvbmY6MTAwCiMgICAgIFtkb2NdICJUaGUgbmFtZSBvZiB0aGUgYnVpbGRpbmcg
YXJjaGl0ZWN0dXJlIChlLmcuIGk2ODYpLiIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIng4
Nl82NCIKQlVJTERfQVJDSD0ieDg2XzY0IgojCiMgJEJVSUxEX0FTIFsyIG9wZXJhdGlvbnNdCiMg
ICBleHBvcnRlZCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5j
b25mOjUxOAojICAgICBbZXhwb3J0XSAiMSIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8v
cG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjUxOAojICAgICAiJHtCVUlMRF9QUkVGSVh9YXMg
JHtCVUlMRF9BU19BUkNIfSIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIiR7QlVJTERfUFJF
RklYfWFzICR7QlVJTERfQVNfQVJDSH0iCmV4cG9ydCBCVUlMRF9BUz0iYXMgIgojCiMgJEJVSUxE
X0FTX0FSQ0gKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0
YmFrZS5jb25mOjk5CiMgICAgICIiCkJVSUxEX0FTX0FSQ0g9IiIKIwojICRCVUlMRF9DQyBbMiBv
cGVyYXRpb25zXQojICAgZXhwb3J0ZWQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9j
b25mL2JpdGJha2UuY29uZjo1MTEKIyAgICAgW2V4cG9ydF0gIjEiCiMgICBzZXQgL21lZGlhL3Jl
YmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo1MTEKIyAgICAgIiR7Q0NB
Q0hFfSR7QlVJTERfUFJFRklYfWdjYyAke0JVSUxEX0NDX0FSQ0h9IgojIHByZS1leHBhbnNpb24g
dmFsdWU6CiMgICAiJHtDQ0FDSEV9JHtCVUlMRF9QUkVGSVh9Z2NjICR7QlVJTERfQ0NfQVJDSH0i
CmV4cG9ydCBCVUlMRF9DQz0iZ2NjICIKIwojICRCVUlMRF9DQ0xEIFsyIG9wZXJhdGlvbnNdCiMg
ICBleHBvcnRlZCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5j
b25mOjUxNgojICAgICBbZXhwb3J0XSAiMSIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8v
cG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjUxNgojICAgICAiJHtCVUlMRF9QUkVGSVh9Z2Nj
ICR7QlVJTERfQ0NfQVJDSH0iCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICIke0JVSUxEX1BS
RUZJWH1nY2MgJHtCVUlMRF9DQ19BUkNIfSIKZXhwb3J0IEJVSUxEX0NDTEQ9ImdjYyAiCiMKIyAk
QlVJTERfQ0NfQVJDSAojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29u
Zi9iaXRiYWtlLmNvbmY6OTcKIyAgICAgIiIKQlVJTERfQ0NfQVJDSD0iIgojCiMgJEJVSUxEX0NG
TEFHUyBbMyBvcGVyYXRpb25zXQojICAgZXhwb3J0ZWQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bv
a3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo1NDMKIyAgICAgW2V4cG9ydF0gIjEiCiMgICBzZXQg
L21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo1NDMKIyAg
ICAgIiR7QlVJTERfQ1BQRkxBR1N9ICR7QlVJTERfT1BUSU1JWkFUSU9OfSIKIyAgIF9hcHBlbmRb
cG4tYmludXRpbHMtbmF0aXZlXSAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYv
ZGlzdHJvL2luY2x1ZGUvdW5pbmF0aXZlLWZsYWdzLmluYzoxNwojICAgICAiIC1waWUgLWZwaWUi
CiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICIke0JVSUxEX0NQUEZMQUdTfSAke0JVSUxEX09Q
VElNSVpBVElPTn0iCmV4cG9ydCBCVUlMRF9DRkxBR1M9Ii1pc3lzdGVtL21lZGlhL3JlYmVjY2Fz
L3lvY3RvL2x0dG5nL3RtcC93b3JrL3FlbXV4ODYtcG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIu
OS4xLXIwL3JlY2lwZS1zeXNyb290LW5hdGl2ZS91c3IvaW5jbHVkZSAtTzIgLXBpcGUiCiMKIyAk
QlVJTERfQ1BQIFsyIG9wZXJhdGlvbnNdCiMgICBleHBvcnRlZCAvbWVkaWEvcmViZWNjYXMveW9j
dG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjUxNAojICAgICBbZXhwb3J0XSAiMSIKIyAg
IHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjUx
NAojICAgICAiJHtCVUlMRF9QUkVGSVh9Z2NjICR7QlVJTERfQ0NfQVJDSH0gLUUiCiMgcHJlLWV4
cGFuc2lvbiB2YWx1ZToKIyAgICIke0JVSUxEX1BSRUZJWH1nY2MgJHtCVUlMRF9DQ19BUkNIfSAt
RSIKZXhwb3J0IEJVSUxEX0NQUD0iZ2NjICAtRSIKIwojICRCVUlMRF9DUFBGTEFHUyBbMiBvcGVy
YXRpb25zXQojICAgZXhwb3J0ZWQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25m
L2JpdGJha2UuY29uZjo1MzgKIyAgICAgW2V4cG9ydF0gIjEiCiMgICBzZXQgL21lZGlhL3JlYmVj
Y2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo1MzgKIyAgICAgIi1pc3lzdGVt
JHtTVEFHSU5HX0lOQ0RJUl9OQVRJVkV9IgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiLWlz
eXN0ZW0ke1NUQUdJTkdfSU5DRElSX05BVElWRX0iCmV4cG9ydCBCVUlMRF9DUFBGTEFHUz0iLWlz
eXN0ZW0vbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvdG1wL3dvcmsvcWVtdXg4Ni1wb2t5LWxp
bnV4L2x0dG5nLW1vZHVsZXMvMi45LjEtcjAvcmVjaXBlLXN5c3Jvb3QtbmF0aXZlL3Vzci9pbmNs
dWRlIgojCiMgJEJVSUxEX0NYWCBbMiBvcGVyYXRpb25zXQojICAgZXhwb3J0ZWQgL21lZGlhL3Jl
YmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo1MTIKIyAgICAgW2V4cG9y
dF0gIjEiCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJh
a2UuY29uZjo1MTIKIyAgICAgIiR7Q0NBQ0hFfSR7QlVJTERfUFJFRklYfWcrKyAke0JVSUxEX0ND
X0FSQ0h9IgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiJHtDQ0FDSEV9JHtCVUlMRF9QUkVG
SVh9ZysrICR7QlVJTERfQ0NfQVJDSH0iCmV4cG9ydCBCVUlMRF9DWFg9ImcrKyAiCiMKIyAkQlVJ
TERfQ1hYRkxBR1MgWzQgb3BlcmF0aW9uc10KIyAgIGV4cG9ydGVkIC9tZWRpYS9yZWJlY2Nhcy95
b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6NTQ4CiMgICAgIFtleHBvcnRdICIxIgoj
ICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6
NTQ4CiMgICAgICIke0JVSUxEX0NGTEFHU30iCiMgICBfYXBwZW5kIC9tZWRpYS9yZWJlY2Nhcy95
b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS91bmluYXRpdmUtZmxhZ3MuaW5jOjUK
IyAgICAgIiAtRF9HTElCQ1hYX1VTRV9DWFgxMV9BQkk9MCIKIyAgIF9hcHBlbmRbcG4taWN1LW5h
dGl2ZV0gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRl
L3VuaW5hdGl2ZS1mbGFncy5pbmM6OQojICAgICAiIC1zdGQ9YysrOTgiCiMgcHJlLWV4cGFuc2lv
biB2YWx1ZToKIyAgICIke0JVSUxEX0NGTEFHU30gLURfR0xJQkNYWF9VU0VfQ1hYMTFfQUJJPTAi
CmV4cG9ydCBCVUlMRF9DWFhGTEFHUz0iLWlzeXN0ZW0vbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0
bmcvdG1wL3dvcmsvcWVtdXg4Ni1wb2t5LWxpbnV4L2x0dG5nLW1vZHVsZXMvMi45LjEtcjAvcmVj
aXBlLXN5c3Jvb3QtbmF0aXZlL3Vzci9pbmNsdWRlIC1PMiAtcGlwZSAtRF9HTElCQ1hYX1VTRV9D
WFgxMV9BQkk9MCIKIwojICRCVUlMRF9FWEVFWFQKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9j
dG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjEwMAojICAgICAiIgpCVUlMRF9FWEVFWFQ9
IiIKIwojICRCVUlMRF9GQyBbMiBvcGVyYXRpb25zXQojICAgZXhwb3J0ZWQgL21lZGlhL3JlYmVj
Y2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo1MTMKIyAgICAgW2V4cG9ydF0g
IjEiCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2Uu
Y29uZjo1MTMKIyAgICAgIiR7Q0NBQ0hFfSR7QlVJTERfUFJFRklYfWdmb3J0cmFuICR7QlVJTERf
Q0NfQVJDSH0iCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICIke0NDQUNIRX0ke0JVSUxEX1BS
RUZJWH1nZm9ydHJhbiAke0JVSUxEX0NDX0FSQ0h9IgpleHBvcnQgQlVJTERfRkM9Imdmb3J0cmFu
ICIKIwojICRCVUlMRF9MRCBbMiBvcGVyYXRpb25zXQojICAgZXhwb3J0ZWQgL21lZGlhL3JlYmVj
Y2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo1MTUKIyAgICAgW2V4cG9ydF0g
IjEiCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2Uu
Y29uZjo1MTUKIyAgICAgIiR7QlVJTERfUFJFRklYfWxkICR7QlVJTERfTERfQVJDSH0iCiMgcHJl
LWV4cGFuc2lvbiB2YWx1ZToKIyAgICIke0JVSUxEX1BSRUZJWH1sZCAke0JVSUxEX0xEX0FSQ0h9
IgpleHBvcnQgQlVJTERfTEQ9ImxkICIKIwojICRCVUlMRF9MREZMQUdTIFsyIG9wZXJhdGlvbnNd
CiMgICBleHBvcnRlZCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFr
ZS5jb25mOjU1OAojICAgICBbZXhwb3J0XSAiMSIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9j
dG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjU1OAojICAgICAiLUwke1NUQUdJTkdfTElC
RElSX05BVElWRX0gLUwke1NUQUdJTkdfQkFTRV9MSUJESVJfTkFUSVZFfSAtV2wsLXJwYXRoLWxp
bmssJHtTVEFHSU5HX0xJQkRJUl9OQVRJVkV9IC1XbCwtcnBhdGgtbGluaywke1NUQUdJTkdfQkFT
RV9MSUJESVJfTkFUSVZFfSAtV2wsLXJwYXRoLCR7U1RBR0lOR19MSUJESVJfTkFUSVZFfSAtV2ws
LXJwYXRoLCR7U1RBR0lOR19CQVNFX0xJQkRJUl9OQVRJVkV9IC1XbCwtTzEiCiMgcHJlLWV4cGFu
c2lvbiB2YWx1ZToKIyAgICItTCR7U1RBR0lOR19MSUJESVJfTkFUSVZFfSAtTCR7U1RBR0lOR19C
QVNFX0xJQkRJUl9OQVRJVkV9IC1XbCwtcnBhdGgtbGluaywke1NUQUdJTkdfTElCRElSX05BVElW
RX0gLVdsLC1ycGF0aC1saW5rLCR7U1RBR0lOR19CQVNFX0xJQkRJUl9OQVRJVkV9IC1XbCwtcnBh
dGgsJHtTVEFHSU5HX0xJQkRJUl9OQVRJVkV9IC1XbCwtcnBhdGgsJHtTVEFHSU5HX0JBU0VfTElC
RElSX05BVElWRX0gLVdsLC1PMSIKZXhwb3J0IEJVSUxEX0xERkxBR1M9Ii1ML21lZGlhL3JlYmVj
Y2FzL3lvY3RvL2x0dG5nL3RtcC93b3JrL3FlbXV4ODYtcG9reS1saW51eC9sdHRuZy1tb2R1bGVz
LzIuOS4xLXIwL3JlY2lwZS1zeXNyb290LW5hdGl2ZS91c3IvbGliIC1ML21lZGlhL3JlYmVjY2Fz
L3lvY3RvL2x0dG5nL3RtcC93b3JrL3FlbXV4ODYtcG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIu
OS4xLXIwL3JlY2lwZS1zeXNyb290LW5hdGl2ZS9saWIgLVdsLC1ycGF0aC1saW5rLC9tZWRpYS9y
ZWJlY2Nhcy95b2N0by9sdHRuZy90bXAvd29yay9xZW11eDg2LXBva3ktbGludXgvbHR0bmctbW9k
dWxlcy8yLjkuMS1yMC9yZWNpcGUtc3lzcm9vdC1uYXRpdmUvdXNyL2xpYiAtV2wsLXJwYXRoLWxp
bmssL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL3RtcC93b3JrL3FlbXV4ODYtcG9reS1saW51
eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL3JlY2lwZS1zeXNyb290LW5hdGl2ZS9saWIgLVdsLC1y
cGF0aCwvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvdG1wL3dvcmsvcWVtdXg4Ni1wb2t5LWxp
bnV4L2x0dG5nLW1vZHVsZXMvMi45LjEtcjAvcmVjaXBlLXN5c3Jvb3QtbmF0aXZlL3Vzci9saWIg
LVdsLC1ycGF0aCwvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvdG1wL3dvcmsvcWVtdXg4Ni1w
b2t5LWxpbnV4L2x0dG5nLW1vZHVsZXMvMi45LjEtcjAvcmVjaXBlLXN5c3Jvb3QtbmF0aXZlL2xp
YiAtV2wsLU8xIgojCiMgJEJVSUxEX0xEX0FSQ0gKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9j
dG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjk4CiMgICAgICIiCkJVSUxEX0xEX0FSQ0g9
IiIKIwojICRCVUlMRF9OTSBbMiBvcGVyYXRpb25zXQojICAgZXhwb3J0ZWQgL21lZGlhL3JlYmVj
Y2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo1MjEKIyAgICAgW2V4cG9ydF0g
IjEiCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2Uu
Y29uZjo1MjEKIyAgICAgIiR7QlVJTERfUFJFRklYfW5tIgojIHByZS1leHBhbnNpb24gdmFsdWU6
CiMgICAiJHtCVUlMRF9QUkVGSVh9bm0iCmV4cG9ydCBCVUlMRF9OTT0ibm0iCiMKIyAkQlVJTERf
T1BUSU1JWkFUSU9OCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25m
L2JpdGJha2UuY29uZjo1OTQKIyAgICAgIi1PMiAtcGlwZSIKQlVJTERfT1BUSU1JWkFUSU9OPSIt
TzIgLXBpcGUiCiMKIyAkQlVJTERfT1MgWzIgb3BlcmF0aW9uc10KIyAgIGltbWVkaWF0ZSAvbWVk
aWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjkzCiMgICAgICIk
e0Bvcy51bmFtZSgpWzBdLmxvd2VyKCl9IgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9w
b2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6MTAxCiMgICAgIFtkb2NdICJUaGUgb3Bl
cmF0aW5nIHN5c3RlbSAoaW4gbG93ZXIgY2FzZSkgb2YgdGhlIGJ1aWxkaW5nIGFyY2hpdGVjdHVy
ZSAoZS5nLiBsaW51eCkuIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAibGludXgiCkJVSUxE
X09TPSJsaW51eCIKIwojICRCVUlMRF9QUkVGSVgKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9j
dG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjk2CiMgICAgICIiCkJVSUxEX1BSRUZJWD0i
IgojCiMgJEJVSUxEX1JBTkxJQiBbMiBvcGVyYXRpb25zXQojICAgZXhwb3J0ZWQgL21lZGlhL3Jl
YmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo1MTkKIyAgICAgW2V4cG9y
dF0gIjEiCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJh
a2UuY29uZjo1MTkKIyAgICAgIiR7QlVJTERfUFJFRklYfXJhbmxpYiIKIyBwcmUtZXhwYW5zaW9u
IHZhbHVlOgojICAgIiR7QlVJTERfUFJFRklYfXJhbmxpYiIKZXhwb3J0IEJVSUxEX1JBTkxJQj0i
cmFubGliIgojCiMgJEJVSUxEX1NUUklQIFsyIG9wZXJhdGlvbnNdCiMgICBleHBvcnRlZCAvbWVk
aWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjUyMAojICAgICBb
ZXhwb3J0XSAiMSIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYv
Yml0YmFrZS5jb25mOjUyMAojICAgICAiJHtCVUlMRF9QUkVGSVh9c3RyaXAiCiMgcHJlLWV4cGFu
c2lvbiB2YWx1ZToKIyAgICIke0JVSUxEX1BSRUZJWH1zdHJpcCIKZXhwb3J0IEJVSUxEX1NUUklQ
PSJzdHJpcCIKIwojICRCVUlMRF9TWVMKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9r
eS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjk1CiMgICAgICIke0JVSUxEX0FSQ0h9JHtCVUlMRF9W
RU5ET1J9LSR7QlVJTERfT1N9IgpCVUlMRF9TWVM9Ing4Nl82NC1saW51eCIKIwojICRCVUlMRF9W
RU5ET1IKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFr
ZS5jb25mOjk0CiMgICAgICIiCkJVSUxEX1ZFTkRPUj0iIgojCiMgJEJVU1lCT1hfU1BMSVRfU1VJ
RAojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0
aW9uLmNvbmY6MTA0CiMgICAgIFtkb2NdICJGb3IgdGhlIEJ1c3lCb3ggcmVjaXBlLCBzcGVjaWZp
ZXMgd2hldGhlciB0byBzcGxpdCB0aGUgb3V0cHV0IGV4ZWN1dGFibGUgZmlsZSBpbnRvIHR3byBw
YXJ0czogb25lIGZvciBmZWF0dXJlcyB0aGF0IHJlcXVpcmUgc2V0dWlkIHJvb3QsIGFuZCBvbmUg
Zm9yIHRoZSByZW1haW5pbmcgZmVhdHVyZXMuIgojCiMgJEJaUkRJUgojICAgc2V0IC9tZWRpYS9y
ZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6MzQwCiMgICAgICIke0NP
X0RJUn0vYnpyIgpCWlJESVI9Ii9tZWRpYS9yZWJlY2Nhcy9idWlsZC9kb3dubG9hZHMvYnpyIgoj
CiMgJENBQ0hFIFs0IG9wZXJhdGlvbnNdCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bv
a3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjozMzIKIyAgICAgIiR7VE1QRElSfS9jYWNoZSR7QFsn
JywgJy8nICsgc3RyKGQuZ2V0VmFyKCdNQUNISU5FJykpXVtib29sKGQuZ2V0VmFyKCdNQUNISU5F
JykpXX0ke0BbJycsICcvJyArIHN0cihkLmdldFZhcignU0RLTUFDSElORScpKV1bYm9vbChkLmdl
dFZhcignU0RLTUFDSElORScpKV19IgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5
L21ldGEvY29uZi9kaXN0cm8vZGVmYXVsdHNldHVwLmNvbmY6MTgKIyAgICAgIiR7VE1QRElSfS9j
YWNoZS8ke1RDTU9ERX0tJHtUQ0xJQkN9JHtAWycnLCAnLycgKyBzdHIoZC5nZXRWYXIoJ01BQ0hJ
TkUnKSldW2Jvb2woZC5nZXRWYXIoJ01BQ0hJTkUnKSldfSR7QFsnJywgJy8nICsgc3RyKGQuZ2V0
VmFyKCdTREtNQUNISU5FJykpXVtib29sKGQuZ2V0VmFyKCdTREtNQUNISU5FJykpXX0iCiMgICBz
ZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29u
ZjoxMDgKIyAgICAgW2RvY10gIlRoZSBkaXJlY3RvcnkgaG9sZGluZyB0aGUgY2FjaGUgb2YgdGhl
IG1ldGFkYXRhLiIKIyAgIGltbWVkaWF0ZSAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRh
L2NvbmYvYml0YmFrZS5jb25mOjc2OQojICAgICAiJHtDQUNIRX0iCiMgcHJlLWV4cGFuc2lvbiB2
YWx1ZToKIyAgICIvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvdG1wL2NhY2hlL2RlZmF1bHQt
Z2xpYmMvcWVtdXg4Ni94ODZfNjQiCkNBQ0hFPSIvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcv
dG1wL2NhY2hlL2RlZmF1bHQtZ2xpYmMvcWVtdXg4Ni94ODZfNjQiCiMKIyAkQ0MgWzIgb3BlcmF0
aW9uc10KIyAgIGV4cG9ydGVkIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9i
aXRiYWtlLmNvbmY6NDk0CiMgICAgIFtleHBvcnRdICIxIgojICAgc2V0IC9tZWRpYS9yZWJlY2Nh
cy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6NDk0CiMgICAgICIke0NDQUNIRX0k
e0hPU1RfUFJFRklYfWdjYyAke0hPU1RfQ0NfQVJDSH0ke1RPT0xDSEFJTl9PUFRJT05TfSIKIyBw
cmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIiR7Q0NBQ0hFfSR7SE9TVF9QUkVGSVh9Z2NjICR7SE9T
VF9DQ19BUkNIfSR7VE9PTENIQUlOX09QVElPTlN9IgpleHBvcnQgQ0M9Imk1ODYtcG9reS1saW51
eC1nY2MgIC1tMzIgLW1hcmNoPWk1ODYgLS1zeXNyb290PS9tZWRpYS9yZWJlY2Nhcy95b2N0by9s
dHRuZy90bXAvd29yay9xZW11eDg2LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9y
ZWNpcGUtc3lzcm9vdCIKIwojICRDQ0FDSEUKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8v
cG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjQ4MwojICAgICBbX2RlZmF1bHR2YWxdICIiCkND
QUNIRT0iIgojCiMgJENDQUNIRV9ESVIgWzIgb3BlcmF0aW9uc10KIyAgIGV4cG9ydGVkIC9tZWRp
YS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6NDkwCiMgICAgIFtl
eHBvcnRdICIxIgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9i
aXRiYWtlLmNvbmY6NDkwCiMgICAgIFtfZGVmYXVsdHZhbF0gIiR7QG9zLmdldGVudignSE9NRScp
fS8uY2NhY2hlIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiJHtAb3MuZ2V0ZW52KCdIT01F
Jyl9Ly5jY2FjaGUiCmV4cG9ydCBDQ0FDSEVfRElSPSIvaG9tZS9yZWJlY2Nhcy8uY2NhY2hlIgoj
CiMgJENDQUNIRV9ESVNBQkxFIFsyIG9wZXJhdGlvbnNdCiMgICBleHBvcnRlZCAvbWVkaWEvcmVi
ZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjQ4NgojICAgICBbZXhwb3J0
XSAiMSIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFr
ZS5jb25mOjQ4NgojICAgICBbX2RlZmF1bHR2YWxdICIke0BbMCwxXVtkLmdldFZhcignQ0NBQ0hF
JykgPT0gJyddfSIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIiR7QFswLDFdW2QuZ2V0VmFy
KCdDQ0FDSEUnKSA9PSAnJ119IgpleHBvcnQgQ0NBQ0hFX0RJU0FCTEU9IjEiCiMKIyAkQ0NMRCBb
MiBvcGVyYXRpb25zXQojICAgZXhwb3J0ZWQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0
YS9jb25mL2JpdGJha2UuY29uZjo0OTkKIyAgICAgW2V4cG9ydF0gIjEiCiMgICBzZXQgL21lZGlh
L3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo0OTkKIyAgICAgIiR7
Q0N9IgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiJHtDQ30iCmV4cG9ydCBDQ0xEPSJpNTg2
LXBva3ktbGludXgtZ2NjICAtbTMyIC1tYXJjaD1pNTg2IC0tc3lzcm9vdD0vbWVkaWEvcmViZWNj
YXMveW9jdG8vbHR0bmcvdG1wL3dvcmsvcWVtdXg4Ni1wb2t5LWxpbnV4L2x0dG5nLW1vZHVsZXMv
Mi45LjEtcjAvcmVjaXBlLXN5c3Jvb3QiCiMKIyAkQ0ZMQUdTIFszIG9wZXJhdGlvbnNdCiMgICBl
eHBvcnRlZCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25m
OjU0NQojICAgICBbZXhwb3J0XSAiMSIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9r
eS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjU0NQojICAgICAiJHtUQVJHRVRfQ0ZMQUdTfSIKIyAg
IHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5j
b25mOjEwOQojICAgICBbZG9jXSAiRmxhZ3MgcGFzc2VkIHRvIHRoZSBDIGNvbXBpbGVyIGZvciB0
aGUgdGFyZ2V0IHN5c3RlbS4gVGhpcyB2YXJpYWJsZSBldmFsdWF0ZXMgdG8gdGhlIHNhbWUgYXMg
VEFSR0VUX0NGTEFHUy4iCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICIke1RBUkdFVF9DRkxB
R1N9IgpleHBvcnQgQ0ZMQUdTPSIgLU8yIC1waXBlIC1nIC1mZWxpbWluYXRlLXVudXNlZC1kZWJ1
Zy10eXBlcyAtZmRlYnVnLXByZWZpeC1tYXA9L21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL3Rt
cC93b3JrL3FlbXV4ODYtcG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwPS91c3Ivc3Jj
L2RlYnVnL2x0dG5nLW1vZHVsZXMvMi45LjEtcjAgLWZkZWJ1Zy1wcmVmaXgtbWFwPS9tZWRpYS9y
ZWJlY2Nhcy95b2N0by9sdHRuZy90bXAvd29yay9xZW11eDg2LXBva3ktbGludXgvbHR0bmctbW9k
dWxlcy8yLjkuMS1yMC9yZWNpcGUtc3lzcm9vdC1uYXRpdmU9IC1mZGVidWctcHJlZml4LW1hcD0v
bWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvdG1wL3dvcmsvcWVtdXg4Ni1wb2t5LWxpbnV4L2x0
dG5nLW1vZHVsZXMvMi45LjEtcjAvcmVjaXBlLXN5c3Jvb3Q9ICIKIwojICRDSFJQQVRIX0JJTgoj
ICAgc2V0PyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NsYXNzZXMvY2hycGF0aC5i
YmNsYXNzOjEKIyAgICAgImNocnBhdGgiCkNIUlBBVEhfQklOPSJjaHJwYXRoIgojCiMgJENMQVNT
T1ZFUlJJREUgWzMgb3BlcmF0aW9uc10KIyAgIHNldD8gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bv
a3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo3MTgKIyAgICAgImNsYXNzLXRhcmdldCIKIyAgIHNl
dCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25m
OjExMAojICAgICBbZG9jXSAiQW4gaW50ZXJuYWwgdmFyaWFibGUgc3BlY2lmeWluZyB0aGUgc3Bl
Y2lhbCBjbGFzcyBvdmVycmlkZSB0aGF0IHNob3VsZCBjdXJyZW50bHkgYXBwbHkgKGUuZy4gImNs
YXNzLXRhcmdldCIsICJjbGFzcy1uYXRpdmUiLCBhbmQgc28gZm9ydGgpLiIKIyAgIHNldD8gL21l
ZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL2Jhc2UuYmJjbGFzczoyCiMgICAg
ICJjbGFzcy10YXJnZXQiCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICJjbGFzcy10YXJnZXQi
CkNMQVNTT1ZFUlJJREU9ImNsYXNzLXRhcmdldCIKIwojICRDTEVBTkJST0tFTiBbMiBvcGVyYXRp
b25zXQojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVu
dGF0aW9uLmNvbmY6MTExCiMgICAgIFtkb2NdICJTcGVjaWZpZXMgaWYgJ21ha2UgY2xlYW4nIGRv
ZXMgbm90IHdvcmsgZm9yIGEgcmVjaXBlIChhbmQgdGhlcmVmb3JlIHRoZSBidWlsZCBzeXN0ZW0g
c2hvdWxkIG5vdCB0cnkgdG8gdXNlIGl0IGR1cmluZyBkb19jb25maWd1cmUpIgojICAgc2V0IC9t
ZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY2xhc3Nlcy9iYXNlLmJiY2xhc3M6MzA0CiMg
ICAgICIwIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiMCIKQ0xFQU5CUk9LRU49IjAiCiMK
IyAkQ0xFQU5GVU5DUyBbMiBvcGVyYXRpb25zXQojICAgc2V0PyAvbWVkaWEvcmViZWNjYXMveW9j
dG8vcG9reS9tZXRhL2NsYXNzZXMvdXRpbGl0eS10YXNrcy5iYmNsYXNzOjIwCiMgICAgICIiCiMg
ICBhcHBlbmQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL3NzdGF0ZS5i
YmNsYXNzOjUxNAojICAgICAic3N0YXRlX2NsZWFuYWxsIgojIHByZS1leHBhbnNpb24gdmFsdWU6
CiMgICAiIHNzdGF0ZV9jbGVhbmFsbCIKQ0xFQU5GVU5DUz0iIHNzdGF0ZV9jbGVhbmFsbCIKIwoj
ICRDT01CSU5FRF9GRUFUVVJFUyBbMyBvcGVyYXRpb25zXQojICAgc2V0IC9tZWRpYS9yZWJlY2Nh
cy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6MTEyCiMgICAgIFtkb2Nd
ICJBIHNldCBvZiBmZWF0dXJlcyBjb21tb24gYmV0d2VlbiBNQUNISU5FX0ZFQVRVUkVTIGFuZCBE
SVNUUk9fRkVBVFVSRVMuIgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEv
Y29uZi9iaXRiYWtlLmNvbmY6ODEyCiMgICAgICIke0BvZS51dGlscy5zZXRfaW50ZXJzZWN0KCdE
SVNUUk9fRkVBVFVSRVMnLCAnTUFDSElORV9GRUFUVVJFUycsIGQpfSIKIyAgIGFwcGVuZCAvbWVk
aWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjgxMwojICAgICBb
dmFyZGVwc10gIkRJU1RST19GRUFUVVJFUyBNQUNISU5FX0ZFQVRVUkVTIgojIHByZS1leHBhbnNp
b24gdmFsdWU6CiMgICAiJHtAb2UudXRpbHMuc2V0X2ludGVyc2VjdCgnRElTVFJPX0ZFQVRVUkVT
JywgJ01BQ0hJTkVfRkVBVFVSRVMnLCBkKX0iCkNPTUJJTkVEX0ZFQVRVUkVTPSJhbHNhIHVzYmdh
ZGdldCBibHVldG9vdGgiCiMKIyAkQ09NTUVSQ0lBTF9BVURJT19QTFVHSU5TCiMgICBzZXQ/IC9t
ZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9kZWZhdWx0
LWRpc3Ryb3ZhcnMuaW5jOjI4CiMgICAgICIiCkNPTU1FUkNJQUxfQVVESU9fUExVR0lOUz0iIgoj
CiMgJENPTU1FUkNJQUxfVklERU9fUExVR0lOUwojICAgc2V0PyAvbWVkaWEvcmViZWNjYXMveW9j
dG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvZGVmYXVsdC1kaXN0cm92YXJzLmluYzoz
MAojICAgICAiIgpDT01NRVJDSUFMX1ZJREVPX1BMVUdJTlM9IiIKIwojICRDT01NT05fTElDRU5T
RV9ESVIgWzIgb3BlcmF0aW9uc10KIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9t
ZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvZGVmYXVsdC1kaXN0cm92YXJzLmluYzozMwojICAgICBb
X2RlZmF1bHR2YWxdICIke0NPUkVCQVNFfS9tZXRhL2ZpbGVzL2NvbW1vbi1saWNlbnNlcyIKIyAg
IHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5j
b25mOjExMwojICAgICBbZG9jXSAiUG9pbnRzIHRvIG1ldGEvZmlsZXMvY29tbW9uLWxpY2Vuc2Vz
IGluIHRoZSBTb3VyY2UgRGlyZWN0b3J5LCB3aGljaCBpcyB3aGVyZSBnZW5lcmljIGxpY2Vuc2Ug
ZmlsZXMgcmVzaWRlLiIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIiR7Q09SRUJBU0V9L21l
dGEvZmlsZXMvY29tbW9uLWxpY2Vuc2VzIgpDT01NT05fTElDRU5TRV9ESVI9Ii9tZWRpYS9yZWJl
Y2Nhcy95b2N0by9wb2t5L21ldGEvZmlsZXMvY29tbW9uLWxpY2Vuc2VzIgojCiMgJENPTVBBVElC
TEVfSE9TVCBbMiBvcGVyYXRpb25zXQojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5
L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6MTE0CiMgICAgIFtkb2NdICJBIHJlZ3VsYXIg
ZXhwcmVzc2lvbiB0aGF0IHJlc29sdmVzIHRvIG9uZSBvciBtb3JlIGhvc3RzICh3aGVuIHRoZSBy
ZWNpcGUgaXMgbmF0aXZlKSBvciBvbmUgb3IgbW9yZSB0YXJnZXRzICh3aGVuIHRoZSByZWNpcGUg
aXMgbm9uLW5hdGl2ZSkgd2l0aCB3aGljaCBhIHJlY2lwZSBpcyBjb21wYXRpYmxlLiIKIyAgIHNl
dCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2x0dG5nL2x0
dG5nLW1vZHVsZXNfMi45LjEuYmI6MTEKIyAgICAgIih4ODZfNjR8aS44Nnxwb3dlcnBjfGFhcmNo
NjR8bWlwc3xuaW9zMnxhcm0pLiotbGludXgiCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICIo
eDg2XzY0fGkuODZ8cG93ZXJwY3xhYXJjaDY0fG1pcHN8bmlvczJ8YXJtKS4qLWxpbnV4IgpDT01Q
QVRJQkxFX0hPU1Q9Iih4ODZfNjR8aS44Nnxwb3dlcnBjfGFhcmNoNjR8bWlwc3xuaW9zMnxhcm0p
LiotbGludXgiCiMKIyAkQ09NUEFUSUJMRV9NQUNISU5FCiMgICBzZXQgL21lZGlhL3JlYmVjY2Fz
L3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjoxMTUKIyAgICAgW2RvY10g
IkEgcmVndWxhciBleHByZXNzaW9uIHRoYXQgcmVzb2x2ZXMgdG8gb25lIG9yIG1vcmUgdGFyZ2V0
IG1hY2hpbmVzIHdpdGggd2hpY2ggYSByZWNpcGUgaXMgY29tcGF0aWJsZS4iCiMKIyAkQ09NUExF
TUVOVEFSWV9HTE9CCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25m
L2RvY3VtZW50YXRpb24uY29uZjoxMTYKIyAgICAgW2RvY10gIkRlZmluZXMgd2lsZGNhcmRzIHRv
IG1hdGNoIHdoZW4gaW5zdGFsbGluZyBhIGxpc3Qgb2YgY29tcGxlbWVudGFyeSBwYWNrYWdlcyBm
b3IgYWxsIHRoZSBwYWNrYWdlcyBpbnN0YWxsZWQgaW4gYW4gaW1hZ2UuIgojCiMgJENPTVBPTkVO
VFNfRElSCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJh
a2UuY29uZjozNTQKIyAgICAgIiR7U1RBR0lOR19ESVJ9LWNvbXBvbmVudHMiCkNPTVBPTkVOVFNf
RElSPSIvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvdG1wL3N5c3Jvb3RzLWNvbXBvbmVudHMi
CiMKIyAkQ09ORkZJTEVTCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9j
b25mL2RvY3VtZW50YXRpb24uY29uZjoxMTcKIyAgICAgW2RvY10gIklkZW50aWZpZXMgZWRpdGFi
bGUgb3IgY29uZmlndXJhYmxlIGZpbGVzIHRoYXQgYXJlIHBhcnQgb2YgYSBwYWNrYWdlLiIKIwoj
ICRDT05GSUdVUkVTVEFNUEZJTEUKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9t
ZXRhL2NsYXNzZXMvYmFzZS5iYmNsYXNzOjMwMwojICAgICAiJHtXT1JLRElSfS9jb25maWd1cmUu
c3N0YXRlIgpDT05GSUdVUkVTVEFNUEZJTEU9Ii9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy90
bXAvd29yay9xZW11eDg2LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9jb25maWd1
cmUuc3N0YXRlIgojCiMgJENPTkZJR19TSVRFCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3Rv
L3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjoxMTgKIyAgICAgW2RvY10gIkEgbGlz
dCBvZiBmaWxlcyB0aGF0IGNvbnRhaW5zIGF1dG9jb25mIHRlc3QgcmVzdWx0cyByZWxldmFudCB0
byB0aGUgY3VycmVudCBidWlsZC4gVGhpcyB2YXJpYWJsZSBpcyB1c2VkIGJ5IHRoZSBBdXRvdG9v
bHMgdXRpbGl0aWVzIHdoZW4gcnVubmluZyBjb25maWd1cmUuIgojCiMgJENPTkZMSUNUX0RJU1RS
T19GRUFUVVJFUwojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9k
b2N1bWVudGF0aW9uLmNvbmY6MTE5CiMgICAgIFtkb2NdICJXaGVuIGEgcmVjaXBlIGluaGVyaXRz
IHRoZSBkaXN0cm9fZmVhdHVyZXNfY2hlY2sgY2xhc3MsIHRoaXMgdmFyaWFibGUgaWRlbnRpZmll
cyBkaXN0cmlidXRpb24gZmVhdHVyZXMgdGhhdCB3b3VsZCBiZSBpbiBjb25mbGljdCBzaG91bGQg
dGhlIHJlY2lwZSBiZSBidWlsdC4iCiMKIyAkQ09ORl9WRVJTSU9OIFsyIG9wZXJhdGlvbnNdCiMg
ICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL2NvbmYvbG9jYWwuY29uZjoyMzcKIyAg
ICAgIjEiCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3Vt
ZW50YXRpb24uY29uZjoxMjIKIyAgICAgW2RvY10gIlRyYWNrcyB0aGUgdmVyc2lvbiBvZiBsb2Nh
bC5jb25mLiAgSW5jcmVhc2VkIGVhY2ggdGltZSBidWlsZC9jb25mLyBjaGFuZ2VzIGluY29tcGF0
aWJseS4iCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICIxIgpDT05GX1ZFUlNJT049IjEiCiMK
IyAkQ09OTkVDVElWSVRZX0NIRUNLX1VSSVMKIyAgIHNldD8gL21lZGlhL3JlYmVjY2FzL3lvY3Rv
L3Bva3kvbWV0YS1wb2t5L2NvbmYvZGlzdHJvL3Bva3kuY29uZjo3MAojICAgICAiaHR0cHM6Ly93
d3cuZXhhbXBsZS5jb20vIgpDT05ORUNUSVZJVFlfQ0hFQ0tfVVJJUz0iaHR0cHM6Ly93d3cuZXhh
bXBsZS5jb20vIgojCiMgJENPUkVCQVNFIFszIG9wZXJhdGlvbnNdCiMgICBzZXQgL21lZGlhL3Jl
YmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2xheWVyLmNvbmY6MTcKIyAgICAgIiR7QG9zLnBh
dGgubm9ybXBhdGgoIiR7TEFZRVJESVJ9Ly4uLyIpfSIKIyAgIHNldCBkYXRhX3NtYXJ0LnB5Ojkz
OCBbZXhwYW5kVmFycmVmXQojICAgICAiJHtAb3MucGF0aC5ub3JtcGF0aCgiL21lZGlhL3JlYmVj
Y2FzL3lvY3RvL3Bva3kvbWV0YS8uLi8iKX0iCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3Rv
L3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjoxMjEKIyAgICAgW2RvY10gIlNwZWNp
ZmllcyB0aGUgcGFyZW50IGRpcmVjdG9yeSBvZiB0aGUgT3BlbkVtYmVkZGVkIENvcmUgTWV0YWRh
dGEgbGF5ZXIgKGkuZS4gbWV0YSkuIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiJHtAb3Mu
cGF0aC5ub3JtcGF0aCgiL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS8uLi8iKX0iCkNP
UkVCQVNFPSIvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reSIKIwojICRDT1JFX0lNQUdFX0VYVFJB
X0lOU1RBTEwKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZG9j
dW1lbnRhdGlvbi5jb25mOjEyMAojICAgICBbZG9jXSAiU3BlY2lmaWVzIHRoZSBsaXN0IG9mIHBh
Y2thZ2VzIHRvIGJlIGFkZGVkIHRvIHRoZSBpbWFnZS4gWW91IHNob3VsZCBvbmx5IHNldCB0aGlz
IHZhcmlhYmxlIGluIHRoZSBjb25mL2xvY2FsLmNvbmYgZmlsZSBpbiB0aGUgQnVpbGQgRGlyZWN0
b3J5LiIKIwojICRDT19ESVIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRh
L2NvbmYvYml0YmFrZS5jb25mOjMzNgojICAgICAiJHtETF9ESVJ9IgpDT19ESVI9Ii9tZWRpYS9y
ZWJlY2Nhcy9idWlsZC9kb3dubG9hZHMiCiMKIyAkQ1BBTl9NSVJST1IKIyAgIHNldCAvbWVkaWEv
cmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjYyMAojICAgICAiaHR0
cDovL3NlYXJjaC5jcGFuLm9yZy9DUEFOIgpDUEFOX01JUlJPUj0iaHR0cDovL3NlYXJjaC5jcGFu
Lm9yZy9DUEFOIgojCiMgJENQUCBbMiBvcGVyYXRpb25zXQojICAgZXhwb3J0ZWQgL21lZGlhL3Jl
YmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo0OTcKIyAgICAgW2V4cG9y
dF0gIjEiCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJh
a2UuY29uZjo0OTcKIyAgICAgIiR7SE9TVF9QUkVGSVh9Z2NjIC1FJHtUT09MQ0hBSU5fT1BUSU9O
U30gJHtIT1NUX0NDX0FSQ0h9IgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiJHtIT1NUX1BS
RUZJWH1nY2MgLUUke1RPT0xDSEFJTl9PUFRJT05TfSAke0hPU1RfQ0NfQVJDSH0iCmV4cG9ydCBD
UFA9Imk1ODYtcG9reS1saW51eC1nY2MgLUUgLS1zeXNyb290PS9tZWRpYS9yZWJlY2Nhcy95b2N0
by9sdHRuZy90bXAvd29yay9xZW11eDg2LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1y
MC9yZWNpcGUtc3lzcm9vdCAgLW0zMiAtbWFyY2g9aTU4NiIKIwojICRDUFBGTEFHUyBbMiBvcGVy
YXRpb25zXQojICAgZXhwb3J0ZWQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25m
L2JpdGJha2UuY29uZjo1NDAKIyAgICAgW2V4cG9ydF0gIjEiCiMgICBzZXQgL21lZGlhL3JlYmVj
Y2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo1NDAKIyAgICAgIiR7VEFSR0VU
X0NQUEZMQUdTfSIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIiR7VEFSR0VUX0NQUEZMQUdT
fSIKZXhwb3J0IENQUEZMQUdTPSIiCiMKIyAkQ1JPU1NfQ09NUElMRSBbMiBvcGVyYXRpb25zXQoj
ICAgZXhwb3J0ZWQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL21vZHVs
ZS1iYXNlLmJiY2xhc3M6NwojICAgICBbZXhwb3J0XSAiMSIKIyAgIHNldCAvbWVkaWEvcmViZWNj
YXMveW9jdG8vcG9reS9tZXRhL2NsYXNzZXMvbW9kdWxlLWJhc2UuYmJjbGFzczo3CiMgICAgICIk
e1RBUkdFVF9QUkVGSVh9IgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiJHtUQVJHRVRfUFJF
RklYfSIKZXhwb3J0IENST1NTX0NPTVBJTEU9Imk1ODYtcG9reS1saW51eC0iCiMKIyAkQ1ZTRElS
IFsyIG9wZXJhdGlvbnNdCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9j
b25mL2JpdGJha2UuY29uZjozMzcKIyAgICAgIiR7Q09fRElSfS9jdnMiCiMgICBzZXQgL21lZGlh
L3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjoxMjMKIyAg
ICAgW2RvY10gIlRoZSBkaXJlY3Rvcnkgd2hlcmUgY3ZzIGNoZWNrb3V0cyB3aWxsIGJlIHN0b3Jl
ZCBpbi4iCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICIke0NPX0RJUn0vY3ZzIgpDVlNESVI9
Ii9tZWRpYS9yZWJlY2Nhcy9idWlsZC9kb3dubG9hZHMvY3ZzIgojCiMgJENYWCBbMiBvcGVyYXRp
b25zXQojICAgZXhwb3J0ZWQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Jp
dGJha2UuY29uZjo0OTUKIyAgICAgW2V4cG9ydF0gIjEiCiMgICBzZXQgL21lZGlhL3JlYmVjY2Fz
L3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo0OTUKIyAgICAgIiR7Q0NBQ0hFfSR7
SE9TVF9QUkVGSVh9ZysrICR7SE9TVF9DQ19BUkNIfSR7VE9PTENIQUlOX09QVElPTlN9IgojIHBy
ZS1leHBhbnNpb24gdmFsdWU6CiMgICAiJHtDQ0FDSEV9JHtIT1NUX1BSRUZJWH1nKysgJHtIT1NU
X0NDX0FSQ0h9JHtUT09MQ0hBSU5fT1BUSU9OU30iCmV4cG9ydCBDWFg9Imk1ODYtcG9reS1saW51
eC1nKysgIC1tMzIgLW1hcmNoPWk1ODYgLS1zeXNyb290PS9tZWRpYS9yZWJlY2Nhcy95b2N0by9s
dHRuZy90bXAvd29yay9xZW11eDg2LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9y
ZWNpcGUtc3lzcm9vdCIKIwojICRDWFhGTEFHUyBbMyBvcGVyYXRpb25zXQojICAgZXhwb3J0ZWQg
L21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo1NDkKIyAg
ICAgW2V4cG9ydF0gIjEiCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9j
b25mL2JpdGJha2UuY29uZjo1NDkKIyAgICAgIiR7VEFSR0VUX0NYWEZMQUdTfSIKIyAgIGFwcGVu
ZCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvdGNs
aWJjLWdsaWJjLmluYzoxOQojICAgICAiLWZ2aXNpYmlsaXR5LWlubGluZXMtaGlkZGVuIgojIHBy
ZS1leHBhbnNpb24gdmFsdWU6CiMgICAiJHtUQVJHRVRfQ1hYRkxBR1N9IC1mdmlzaWJpbGl0eS1p
bmxpbmVzLWhpZGRlbiIKZXhwb3J0IENYWEZMQUdTPSIgLU8yIC1waXBlIC1nIC1mZWxpbWluYXRl
LXVudXNlZC1kZWJ1Zy10eXBlcyAtZmRlYnVnLXByZWZpeC1tYXA9L21lZGlhL3JlYmVjY2FzL3lv
Y3RvL2x0dG5nL3RtcC93b3JrL3FlbXV4ODYtcG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4x
LXIwPS91c3Ivc3JjL2RlYnVnL2x0dG5nLW1vZHVsZXMvMi45LjEtcjAgLWZkZWJ1Zy1wcmVmaXgt
bWFwPS9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy90bXAvd29yay9xZW11eDg2LXBva3ktbGlu
dXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9yZWNpcGUtc3lzcm9vdC1uYXRpdmU9IC1mZGVidWct
cHJlZml4LW1hcD0vbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvdG1wL3dvcmsvcWVtdXg4Ni1w
b2t5LWxpbnV4L2x0dG5nLW1vZHVsZXMvMi45LjEtcjAvcmVjaXBlLXN5c3Jvb3Q9ICAtZnZpc2li
aWxpdHktaW5saW5lcy1oaWRkZW4iCiMKIyAkRCBbMiBvcGVyYXRpb25zXQojICAgc2V0IC9tZWRp
YS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6MzQ5CiMgICAgICIk
e1dPUktESVJ9L2ltYWdlIgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEv
Y29uZi9kb2N1bWVudGF0aW9uLmNvbmY6MTI3CiMgICAgIFtkb2NdICJUaGUgZGVzdGluYXRpb24g
ZGlyZWN0b3J5LiIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIiR7V09SS0RJUn0vaW1hZ2Ui
CkQ9Ii9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy90bXAvd29yay9xZW11eDg2LXBva3ktbGlu
dXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9pbWFnZSIKIwojICREQVRBX0xJQ0VOU0UKIyAgIHNl
dCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvbGljZW5zZXMuY29uZjoxMzAK
IyAgICAgIkNDMC0xLjAiCkRBVEFfTElDRU5TRT0iQ0MwLTEuMCIKIwojICREQVRFIFsyIG9wZXJh
dGlvbnNdCiMgICBpbW1lZGlhdGUgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25m
L2JpdGJha2UuY29uZjoxNTgKIyAgICAgIiR7QHRpbWUuc3RyZnRpbWUoJyVZJW0lZCcsdGltZS5n
bXRpbWUoKSl9IgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9k
b2N1bWVudGF0aW9uLmNvbmY6MTI4CiMgICAgIFtkb2NdICJUaGUgZGF0ZSB0aGUgYnVpbGQgd2Fz
IHN0YXJ0ZWQgdXNpbmcgWU1EIGZvcm1hdC4iCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICIy
MDE3MTAyNyIKREFURT0iMjAxNzEwMjciCiMKIyAkREFURVRJTUUgWzIgb3BlcmF0aW9uc10KIyAg
IHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjE2
MAojICAgICAiJHtEQVRFfSR7VElNRX0iCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bv
a3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjoxMjkKIyAgICAgW2RvY10gIlRoZSBkYXRl
IGFuZCB0aW1lIHRoZSBidWlsZCB3YXMgc3RhcnRlZC4iCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToK
IyAgICIke0RBVEV9JHtUSU1FfSIKREFURVRJTUU9IjIwMTcxMDI3MDMzMTMzIgojCiMgJERFQklB
TlJERVAKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NsYXNzZXMvZGVi
aWFuLmJiY2xhc3M6MTYKIyAgICAgImRvX3BhY2thZ2VkYXRhIgpERUJJQU5SREVQPSJkb19wYWNr
YWdlZGF0YSIKIwojICRERUJJQU5fTUlSUk9SCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3Rv
L3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo2MDcKIyAgICAgImh0dHA6Ly9mdHAuZGViaWFu
Lm9yZy9kZWJpYW4vcG9vbCIKREVCSUFOX01JUlJPUj0iaHR0cDovL2Z0cC5kZWJpYW4ub3JnL2Rl
Ymlhbi9wb29sIgojCiMgJERFQklBTl9OQU1FUwojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0
by9wb2t5L21ldGEvY2xhc3Nlcy9kZWJpYW4uYmJjbGFzczoxNDAKIyAgICAgIjEiCkRFQklBTl9O
QU1FUz0iMSIKIwojICRERUJVR19CVUlMRAojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9w
b2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6MTMwCiMgICAgIFtkb2NdICJTcGVjaWZp
ZXMgdG8gYnVpbGQgcGFja2FnZXMgd2l0aCBkZWJ1Z2dpbmcgaW5mb3JtYXRpb24uIFRoaXMgaW5m
bHVlbmNlcyB0aGUgdmFsdWUgb2YgdGhlIFNFTEVDVEVEX09QVElNSVpBVElPTiB2YXJpYWJsZS4i
CiMKIyAkREVCVUdfRkxBR1MKIyAgIHNldD8gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0
YS9jb25mL2JpdGJha2UuY29uZjo1ODcKIyAgICAgIi1nIC1mZWxpbWluYXRlLXVudXNlZC1kZWJ1
Zy10eXBlcyAke0RFQlVHX1BSRUZJWF9NQVB9IgpERUJVR19GTEFHUz0iLWcgLWZlbGltaW5hdGUt
dW51c2VkLWRlYnVnLXR5cGVzIC1mZGVidWctcHJlZml4LW1hcD0vbWVkaWEvcmViZWNjYXMveW9j
dG8vbHR0bmcvdG1wL3dvcmsvcWVtdXg4Ni1wb2t5LWxpbnV4L2x0dG5nLW1vZHVsZXMvMi45LjEt
cjA9L3Vzci9zcmMvZGVidWcvbHR0bmctbW9kdWxlcy8yLjkuMS1yMCAtZmRlYnVnLXByZWZpeC1t
YXA9L21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL3RtcC93b3JrL3FlbXV4ODYtcG9reS1saW51
eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL3JlY2lwZS1zeXNyb290LW5hdGl2ZT0gLWZkZWJ1Zy1w
cmVmaXgtbWFwPS9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy90bXAvd29yay9xZW11eDg2LXBv
a3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9yZWNpcGUtc3lzcm9vdD0gIgojCiMgJERF
QlVHX09QVElNSVpBVElPTiBbMiBvcGVyYXRpb25zXQojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95
b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6NTkxCiMgICAgICItTyAtZm5vLW9taXQt
ZnJhbWUtcG9pbnRlciAke0RFQlVHX0ZMQUdTfSAtcGlwZSIKIyAgIHNldCAvbWVkaWEvcmViZWNj
YXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjEzMQojICAgICBbZG9j
XSAiVGhlIG9wdGlvbnMgdG8gcGFzcyBpbiBUQVJHRVRfQ0ZMQUdTIGFuZCBDRkxBR1Mgd2hlbiBj
b21waWxpbmcgYSBzeXN0ZW0gZm9yIGRlYnVnZ2luZy4gVGhpcyB2YXJpYWJsZSBkZWZhdWx0cyB0
byAnLU8gLWZuby1vbWl0LWZyYW1lLXBvaW50ZXIgJHtERUJVR19GTEFHU30gLXBpcGUnLiIKIyBw
cmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIi1PIC1mbm8tb21pdC1mcmFtZS1wb2ludGVyICR7REVC
VUdfRkxBR1N9IC1waXBlIgpERUJVR19PUFRJTUlaQVRJT049Ii1PIC1mbm8tb21pdC1mcmFtZS1w
b2ludGVyIC1nIC1mZWxpbWluYXRlLXVudXNlZC1kZWJ1Zy10eXBlcyAtZmRlYnVnLXByZWZpeC1t
YXA9L21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL3RtcC93b3JrL3FlbXV4ODYtcG9reS1saW51
eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwPS91c3Ivc3JjL2RlYnVnL2x0dG5nLW1vZHVsZXMvMi45
LjEtcjAgLWZkZWJ1Zy1wcmVmaXgtbWFwPS9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy90bXAv
d29yay9xZW11eDg2LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9yZWNpcGUtc3lz
cm9vdC1uYXRpdmU9IC1mZGVidWctcHJlZml4LW1hcD0vbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0
bmcvdG1wL3dvcmsvcWVtdXg4Ni1wb2t5LWxpbnV4L2x0dG5nLW1vZHVsZXMvMi45LjEtcjAvcmVj
aXBlLXN5c3Jvb3Q9ICAtcGlwZSIKIwojICRERUJVR19QUkVGSVhfTUFQCiMgICBzZXQ/IC9tZWRp
YS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6NTg2CiMgICAgICIt
ZmRlYnVnLXByZWZpeC1tYXA9JHtXT1JLRElSfT0vdXNyL3NyYy9kZWJ1Zy8ke1BOfS8ke0VYVEVO
RFBFfSR7UFZ9LSR7UFJ9IC1mZGVidWctcHJlZml4LW1hcD0ke1NUQUdJTkdfRElSX05BVElWRX09
IC1mZGVidWctcHJlZml4LW1hcD0ke1NUQUdJTkdfRElSX0hPU1R9PSAiCkRFQlVHX1BSRUZJWF9N
QVA9Ii1mZGVidWctcHJlZml4LW1hcD0vbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvdG1wL3dv
cmsvcWVtdXg4Ni1wb2t5LWxpbnV4L2x0dG5nLW1vZHVsZXMvMi45LjEtcjA9L3Vzci9zcmMvZGVi
dWcvbHR0bmctbW9kdWxlcy8yLjkuMS1yMCAtZmRlYnVnLXByZWZpeC1tYXA9L21lZGlhL3JlYmVj
Y2FzL3lvY3RvL2x0dG5nL3RtcC93b3JrL3FlbXV4ODYtcG9reS1saW51eC9sdHRuZy1tb2R1bGVz
LzIuOS4xLXIwL3JlY2lwZS1zeXNyb290LW5hdGl2ZT0gLWZkZWJ1Zy1wcmVmaXgtbWFwPS9tZWRp
YS9yZWJlY2Nhcy95b2N0by9sdHRuZy90bXAvd29yay9xZW11eDg2LXBva3ktbGludXgvbHR0bmct
bW9kdWxlcy8yLjkuMS1yMC9yZWNpcGUtc3lzcm9vdD0gIgojCiMgJERFRkFVTFRUVU5FIFsyIG9w
ZXJhdGlvbnNdCiMgICBzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9t
YWNoaW5lL2luY2x1ZGUvdHVuZS1pNTg2LmluYzoxCiMgICAgICJpNTg2IgojICAgc2V0PyAvbWVk
aWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3g4Ni9hcmNo
LXg4Ni5pbmM6NQojICAgICAieDg2IgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiaTU4NiIK
REVGQVVMVFRVTkU9Imk1ODYiCiMKIyAkREVGQVVMVF9QUkVGRVJFTkNFCiMgICBzZXQgL21lZGlh
L3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjoxMzIKIyAg
ICAgW2RvY10gIlNwZWNpZmllcyBhIHdlYWsgYmlhcyBmb3IgcmVjaXBlIHNlbGVjdGlvbiBwcmlv
cml0eS4iCiMKIyAkREVGQVVMVF9UQVNLX1BST1ZJREVSCiMgICBzZXQ/IC9tZWRpYS9yZWJlY2Nh
cy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6NzU5CiMgICAgICJwYWNrYWdlZ3Jv
dXAtYmFzZSIKREVGQVVMVF9UQVNLX1BST1ZJREVSPSJwYWNrYWdlZ3JvdXAtYmFzZSIKIwojICRE
RVBDSEFJTl9QT1NUCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25m
L2JpdGJha2UuY29uZjoyNTgKIyAgICAgIi1kZXYgLWRiZyIKREVQQ0hBSU5fUE9TVD0iLWRldiAt
ZGJnIgojCiMgJERFUENIQUlOX1BSRQojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5
L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6MjU3CiMgICAgICIiCkRFUENIQUlOX1BSRT0iIgojCiMg
JERFUEVORFMgWzQgb3BlcmF0aW9uc10KIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9r
eS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjI2MAojICAgICAiIgojICAgc2V0IC9tZWRpYS9yZWJl
Y2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6MTMzCiMgICAgIFtk
b2NdICJMaXN0cyBhIHJlY2lwZSdzIGJ1aWxkLXRpbWUgZGVwZW5kZW5jaWVzIChpLmUuIG90aGVy
IHJlY2lwZSBmaWxlcykuIgojICAgX3ByZXBlbmQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kv
bWV0YS9jbGFzc2VzL2Jhc2UuYmJjbGFzczo4MQojICAgICAiJHtCQVNFREVQRU5EU30gIgojICAg
X3ByZXBlbmQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL3BrZ2NvbmZp
Zy5iYmNsYXNzOjEKIyAgICAgInBrZ2NvbmZpZy1uYXRpdmUgIgojIHByZS1leHBhbnNpb24gdmFs
dWU6CiMgICAicGtnY29uZmlnLW5hdGl2ZSAke0JBU0VERVBFTkRTfSAiCkRFUEVORFM9InBrZ2Nv
bmZpZy1uYXRpdmUgIHZpcnR1YWwvaTU4Ni1wb2t5LWxpbnV4LWdjYyB2aXJ0dWFsL2k1ODYtcG9r
eS1saW51eC1jb21waWxlcmxpYnMgdmlydHVhbC9saWJjICAiCiMKIyAkREVQTE9ZRElSCiMgICBz
ZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29u
ZjoxMzYKIyAgICAgW2RvY10gIkZvciByZWNpcGVzIHRoYXQgaW5oZXJpdCB0aGUgZGVwbG95IGNs
YXNzLCB0aGUgREVQTE9ZRElSIHBvaW50cyB0byBhIHRlbXBvcmFyeSB3b3JrIGFyZWEgZm9yIGRl
cGxveWVkIGZpbGVzLiIKIwojICRERVBMT1lfRElSIFsyIG9wZXJhdGlvbnNdCiMgICBzZXQ/IC9t
ZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6Mzg1CiMgICAg
ICIke1RNUERJUn0vZGVwbG95IgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21l
dGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6MTM0CiMgICAgIFtkb2NdICJQb2ludHMgdG8gdGhl
IGdlbmVyYWwgYXJlYSB0aGF0IHRoZSBPcGVuRW1iZWRkZWQgYnVpbGQgc3lzdGVtIHVzZXMgdG8g
cGxhY2UgaW1hZ2VzLCBwYWNrYWdlcywgU0RLcyBhbmQgb3RoZXIgb3V0cHV0IGZpbGVzIHRoYXQg
YXJlIHJlYWR5IHRvIGJlIHVzZWQgb3V0c2lkZSBvZiB0aGUgYnVpbGQgc3lzdGVtLiIKIyBwcmUt
ZXhwYW5zaW9uIHZhbHVlOgojICAgIiR7VE1QRElSfS9kZXBsb3kiCkRFUExPWV9ESVI9Ii9tZWRp
YS9yZWJlY2Nhcy95b2N0by9sdHRuZy90bXAvZGVwbG95IgojCiMgJERFUExPWV9ESVJfREVCCiMg
ICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjoz
ODkKIyAgICAgIiR7REVQTE9ZX0RJUn0vZGViIgpERVBMT1lfRElSX0RFQj0iL21lZGlhL3JlYmVj
Y2FzL3lvY3RvL2x0dG5nL3RtcC9kZXBsb3kvZGViIgojCiMgJERFUExPWV9ESVJfSU1BR0UgWzIg
b3BlcmF0aW9uc10KIyAgIHNldD8gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25m
L2JpdGJha2UuY29uZjozOTAKIyAgICAgIiR7REVQTE9ZX0RJUn0vaW1hZ2VzLyR7TUFDSElORX0i
CiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRp
b24uY29uZjoxMzUKIyAgICAgW2RvY10gIlBvaW50cyB0byB0aGUgYXJlYSB0aGF0IHRoZSBPcGVu
RW1iZWRkZWQgYnVpbGQgc3lzdGVtIHVzZXMgdG8gcGxhY2UgaW1hZ2VzIGFuZCBvdGhlciBhc3Nv
Y2lhdGVkIG91dHB1dCBmaWxlcyB0aGF0IGFyZSByZWFkeSB0byBiZSBkZXBsb3llZCBvbnRvIHRo
ZSB0YXJnZXQgbWFjaGluZS4iCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICIke0RFUExPWV9E
SVJ9L2ltYWdlcy8ke01BQ0hJTkV9IgpERVBMT1lfRElSX0lNQUdFPSIvbWVkaWEvcmViZWNjYXMv
eW9jdG8vbHR0bmcvdG1wL2RlcGxveS9pbWFnZXMvcWVtdXg4NiIKIwojICRERVBMT1lfRElSX0lQ
SwojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNv
bmY6Mzg3CiMgICAgICIke0RFUExPWV9ESVJ9L2lwayIKREVQTE9ZX0RJUl9JUEs9Ii9tZWRpYS9y
ZWJlY2Nhcy95b2N0by9sdHRuZy90bXAvZGVwbG95L2lwayIKIwojICRERVBMT1lfRElSX1JQTQoj
ICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6
Mzg4CiMgICAgICIke0RFUExPWV9ESVJ9L3JwbSIKREVQTE9ZX0RJUl9SUE09Ii9tZWRpYS9yZWJl
Y2Nhcy95b2N0by9sdHRuZy90bXAvZGVwbG95L3JwbSIKIwojICRERVBMT1lfRElSX1RBUgojICAg
c2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6Mzg2
CiMgICAgICIke0RFUExPWV9ESVJ9L3RhciIKREVQTE9ZX0RJUl9UQVI9Ii9tZWRpYS9yZWJlY2Nh
cy95b2N0by9sdHRuZy90bXAvZGVwbG95L3RhciIKIwojICRERVBMT1lfRElSX1RPT0xTCiMgICBz
ZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjozOTEK
IyAgICAgIiR7REVQTE9ZX0RJUn0vdG9vbHMiCkRFUExPWV9ESVJfVE9PTFM9Ii9tZWRpYS9yZWJl
Y2Nhcy95b2N0by9sdHRuZy90bXAvZGVwbG95L3Rvb2xzIgojCiMgJERFU0NSSVBUSU9OIFs3IG9w
ZXJhdGlvbnNdCiMgICBzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9i
aXRiYWtlLmNvbmY6MjI0CiMgICAgICIke1NVTU1BUll9LiIKIyAgIHNldCAvbWVkaWEvcmViZWNj
YXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjEzNwojICAgICBbZG9j
XSAiVGhlIHBhY2thZ2UgZGVzY3JpcHRpb24gdXNlZCBieSBwYWNrYWdlIG1hbmFnZXJzLiBJZiBu
b3Qgc2V0LCBERVNDUklQVElPTiB0YWtlcyB0aGUgdmFsdWUgb2YgdGhlIFNVTU1BUlkgdmFyaWFi
bGUuIgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvcmVjaXBlcy1rZXJu
ZWwvbHR0bmcvbHR0bmctbW9kdWxlc18yLjkuMS5iYjozCiMgICAgICJUaGUgbHR0bmctbW9kdWxl
cyAyLjAgcGFja2FnZSBjb250YWlucyB0aGUga2VybmVsIHRyYWNlciBtb2R1bGVzIgojICAgb3Zl
cnJpZGVbbHR0bmctbW9kdWxlcy1kYmddOnJlbmFtZSBmcm9tIERFU0NSSVBUSU9OXyR7UE59LWRi
ZyBkYXRhLnB5OjExNiBbZXhwYW5kS2V5c10KIyAgICAgIiR7REVTQ1JJUFRJT059ICBUaGlzIHBh
Y2thZ2UgY29udGFpbnMgRUxGIHN5bWJvbHMgYW5kIHJlbGF0ZWQgc291cmNlcyBmb3IgZGVidWdn
aW5nIHB1cnBvc2VzLiIKIyAgIG92ZXJyaWRlW2x0dG5nLW1vZHVsZXMtZGV2XTpyZW5hbWUgZnJv
bSBERVNDUklQVElPTl8ke1BOfS1kZXYgZGF0YS5weToxMTYgW2V4cGFuZEtleXNdCiMgICAgICIk
e0RFU0NSSVBUSU9OfSAgVGhpcyBwYWNrYWdlIGNvbnRhaW5zIHN5bWJvbGljIGxpbmtzLCBoZWFk
ZXIgZmlsZXMsIGFuZCByZWxhdGVkIGl0ZW1zIG5lY2Vzc2FyeSBmb3Igc29mdHdhcmUgZGV2ZWxv
cG1lbnQuIgojICAgb3ZlcnJpZGVbbHR0bmctbW9kdWxlcy1kb2NdOnJlbmFtZSBmcm9tIERFU0NS
SVBUSU9OXyR7UE59LWRvYyBkYXRhLnB5OjExNiBbZXhwYW5kS2V5c10KIyAgICAgIiR7REVTQ1JJ
UFRJT059ICBUaGlzIHBhY2thZ2UgY29udGFpbnMgZG9jdW1lbnRhdGlvbi4iCiMgICBvdmVycmlk
ZVtsdHRuZy1tb2R1bGVzLXN0YXRpY2Rldl06cmVuYW1lIGZyb20gREVTQ1JJUFRJT05fJHtQTn0t
c3RhdGljZGV2IGRhdGEucHk6MTE2IFtleHBhbmRLZXlzXQojICAgICAiJHtERVNDUklQVElPTn0g
IFRoaXMgcGFja2FnZSBjb250YWlucyBzdGF0aWMgbGlicmFyaWVzIGZvciBzb2Z0d2FyZSBkZXZl
bG9wbWVudC4iCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICJUaGUgbHR0bmctbW9kdWxlcyAy
LjAgcGFja2FnZSBjb250YWlucyB0aGUga2VybmVsIHRyYWNlciBtb2R1bGVzIgpERVNDUklQVElP
Tj0iVGhlIGx0dG5nLW1vZHVsZXMgMi4wIHBhY2thZ2UgY29udGFpbnMgdGhlIGtlcm5lbCB0cmFj
ZXIgbW9kdWxlcyIKIwojICRERVNDUklQVElPTl9sdHRuZy1tb2R1bGVzLWRiZwojICAgcmVuYW1l
IGZyb20gREVTQ1JJUFRJT05fJHtQTn0tZGJnIGRhdGEucHk6MTE2IFtleHBhbmRLZXlzXQojICAg
ICAiJHtERVNDUklQVElPTn0gIFRoaXMgcGFja2FnZSBjb250YWlucyBFTEYgc3ltYm9scyBhbmQg
cmVsYXRlZCBzb3VyY2VzIGZvciBkZWJ1Z2dpbmcgcHVycG9zZXMuIgpERVNDUklQVElPTl9sdHRu
Zy1tb2R1bGVzLWRiZz0iVGhlIGx0dG5nLW1vZHVsZXMgMi4wIHBhY2thZ2UgY29udGFpbnMgdGhl
IGtlcm5lbCB0cmFjZXIgbW9kdWxlcyAgVGhpcyBwYWNrYWdlIGNvbnRhaW5zIEVMRiBzeW1ib2xz
IGFuZCByZWxhdGVkIHNvdXJjZXMgZm9yIGRlYnVnZ2luZyBwdXJwb3Nlcy4iCiMKIyAkREVTQ1JJ
UFRJT05fbHR0bmctbW9kdWxlcy1kZXYKIyAgIHJlbmFtZSBmcm9tIERFU0NSSVBUSU9OXyR7UE59
LWRldiBkYXRhLnB5OjExNiBbZXhwYW5kS2V5c10KIyAgICAgIiR7REVTQ1JJUFRJT059ICBUaGlz
IHBhY2thZ2UgY29udGFpbnMgc3ltYm9saWMgbGlua3MsIGhlYWRlciBmaWxlcywgYW5kIHJlbGF0
ZWQgaXRlbXMgbmVjZXNzYXJ5IGZvciBzb2Z0d2FyZSBkZXZlbG9wbWVudC4iCkRFU0NSSVBUSU9O
X2x0dG5nLW1vZHVsZXMtZGV2PSJUaGUgbHR0bmctbW9kdWxlcyAyLjAgcGFja2FnZSBjb250YWlu
cyB0aGUga2VybmVsIHRyYWNlciBtb2R1bGVzICBUaGlzIHBhY2thZ2UgY29udGFpbnMgc3ltYm9s
aWMgbGlua3MsIGhlYWRlciBmaWxlcywgYW5kIHJlbGF0ZWQgaXRlbXMgbmVjZXNzYXJ5IGZvciBz
b2Z0d2FyZSBkZXZlbG9wbWVudC4iCiMKIyAkREVTQ1JJUFRJT05fbHR0bmctbW9kdWxlcy1kb2MK
IyAgIHJlbmFtZSBmcm9tIERFU0NSSVBUSU9OXyR7UE59LWRvYyBkYXRhLnB5OjExNiBbZXhwYW5k
S2V5c10KIyAgICAgIiR7REVTQ1JJUFRJT059ICBUaGlzIHBhY2thZ2UgY29udGFpbnMgZG9jdW1l
bnRhdGlvbi4iCkRFU0NSSVBUSU9OX2x0dG5nLW1vZHVsZXMtZG9jPSJUaGUgbHR0bmctbW9kdWxl
cyAyLjAgcGFja2FnZSBjb250YWlucyB0aGUga2VybmVsIHRyYWNlciBtb2R1bGVzICBUaGlzIHBh
Y2thZ2UgY29udGFpbnMgZG9jdW1lbnRhdGlvbi4iCiMKIyAkREVTQ1JJUFRJT05fbHR0bmctbW9k
dWxlcy1zdGF0aWNkZXYKIyAgIHJlbmFtZSBmcm9tIERFU0NSSVBUSU9OXyR7UE59LXN0YXRpY2Rl
diBkYXRhLnB5OjExNiBbZXhwYW5kS2V5c10KIyAgICAgIiR7REVTQ1JJUFRJT059ICBUaGlzIHBh
Y2thZ2UgY29udGFpbnMgc3RhdGljIGxpYnJhcmllcyBmb3Igc29mdHdhcmUgZGV2ZWxvcG1lbnQu
IgpERVNDUklQVElPTl9sdHRuZy1tb2R1bGVzLXN0YXRpY2Rldj0iVGhlIGx0dG5nLW1vZHVsZXMg
Mi4wIHBhY2thZ2UgY29udGFpbnMgdGhlIGtlcm5lbCB0cmFjZXIgbW9kdWxlcyAgVGhpcyBwYWNr
YWdlIGNvbnRhaW5zIHN0YXRpYyBsaWJyYXJpZXMgZm9yIHNvZnR3YXJlIGRldmVsb3BtZW50LiIK
IwojICRERVZTSEVMTAojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY2xh
c3Nlcy9kZXZzaGVsbC5iYmNsYXNzOjMKIyAgICAgIiR7U0hFTEx9IgpERVZTSEVMTD0iL2Jpbi9i
YXNoIgojCiMgJERFVlNIRUxMX1NUQVJURElSCiMgICBzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95b2N0
by9wb2t5L21ldGEvY2xhc3Nlcy9kZXZzaGVsbC5iYmNsYXNzOjIxCiMgICAgICIke1N9IgpERVZT
SEVMTF9TVEFSVERJUj0iL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL3RtcC93b3JrL3FlbXV4
ODYtcG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL2x0dG5nLW1vZHVsZXMtMi45LjEi
CiMKIyAkRElTQUJMRV9TVEFUSUMgWzIwIG9wZXJhdGlvbnNdCiMgICBzZXQgL21lZGlhL3JlYmVj
Y2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL25vLXN0YXRpYy1saWJzLmlu
YzoxCiMgICAgICIgLS1kaXNhYmxlLXN0YXRpYyIKIyAgIG92ZXJyaWRlW3BuLXFlbXVdOnNldCAv
bWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbm8tc3Rh
dGljLWxpYnMuaW5jOjQKIyAgICAgIiIKIyAgIG92ZXJyaWRlW3BuLXFlbXUtbmF0aXZlXTpzZXQg
L21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL25vLXN0
YXRpYy1saWJzLmluYzo1CiMgICAgICIiCiMgICBvdmVycmlkZVtwbi1uYXRpdmVzZGstcWVtdV06
c2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9u
by1zdGF0aWMtbGlicy5pbmM6NgojICAgICAiIgojICAgb3ZlcnJpZGVbcG4tcGNpdXRpbHNdOnNl
dCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbm8t
c3RhdGljLWxpYnMuaW5jOjgKIyAgICAgIiIKIyAgIG92ZXJyaWRlW3BuLWxpYmNhcF06c2V0IC9t
ZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9uby1zdGF0
aWMtbGlicy5pbmM6MTAKIyAgICAgIiIKIyAgIG92ZXJyaWRlW3BuLWxpYmNhcC1uYXRpdmVdOnNl
dCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbm8t
c3RhdGljLWxpYnMuaW5jOjExCiMgICAgICIiCiMgICBvdmVycmlkZVtwbi1uYXRpdmVzZGstbGli
Y2FwXTpzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNs
dWRlL25vLXN0YXRpYy1saWJzLmluYzoxMgojICAgICAiIgojICAgb3ZlcnJpZGVbcG4tbGlicGNh
cF06c2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVk
ZS9uby1zdGF0aWMtbGlicy5pbmM6MTQKIyAgICAgIiIKIyAgIG92ZXJyaWRlW3BuLXJlYWRsaW5l
XTpzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRl
L25vLXN0YXRpYy1saWJzLmluYzoxNgojICAgICAiIgojICAgb3ZlcnJpZGVbcG4tc3FsaXRlM106
c2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9u
by1zdGF0aWMtbGlicy5pbmM6MTgKIyAgICAgIiIKIyAgIG92ZXJyaWRlW3BuLXNxbGl0ZTMtbmF0
aXZlXTpzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNs
dWRlL25vLXN0YXRpYy1saWJzLmluYzoxOQojICAgICAiIgojICAgb3ZlcnJpZGVbcG4tbmF0aXZl
c2RrLXNxbGl0ZTNdOnNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlz
dHJvL2luY2x1ZGUvbm8tc3RhdGljLWxpYnMuaW5jOjIwCiMgICAgICIiCiMgICBvdmVycmlkZVtw
bi1zZ21sLWNvbW1vbi1uYXRpdmVdOnNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRh
L2NvbmYvZGlzdHJvL2luY2x1ZGUvbm8tc3RhdGljLWxpYnMuaW5jOjIyCiMgICAgICIiCiMgICBv
dmVycmlkZVtwbi1vcGVuamFkZS1uYXRpdmVdOnNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9r
eS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbm8tc3RhdGljLWxpYnMuaW5jOjIzCiMgICAgICIi
CiMgICBvdmVycmlkZVtwbi1vcGVuc3NsXTpzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kv
bWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL25vLXN0YXRpYy1saWJzLmluYzoyNQojICAgICAiIgoj
ICAgb3ZlcnJpZGVbcG4tb3BlbnNzbC1uYXRpdmVdOnNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8v
cG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbm8tc3RhdGljLWxpYnMuaW5jOjI2CiMgICAg
ICIiCiMgICBvdmVycmlkZVtwbi1uYXRpdmVzZGstb3BlbnNzbF06c2V0IC9tZWRpYS9yZWJlY2Nh
cy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9uby1zdGF0aWMtbGlicy5pbmM6
MjcKIyAgICAgIiIKIyAgIG92ZXJyaWRlW3BuLWdjYy1ydW50aW1lXTpzZXQgL21lZGlhL3JlYmVj
Y2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL25vLXN0YXRpYy1saWJzLmlu
YzoyOQojICAgICAiIgojICAgb3ZlcnJpZGVbcG4tbGlidXNiMS1uYXRpdmVdOnNldCAvbWVkaWEv
cmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbm8tc3RhdGljLWxp
YnMuaW5jOjMxCiMgICAgICIiCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICIgLS1kaXNhYmxl
LXN0YXRpYyIKRElTQUJMRV9TVEFUSUM9IiAtLWRpc2FibGUtc3RhdGljIgojCiMgJERJU0FCTEVf
U1RBVElDX3BuLWdjYy1ydW50aW1lCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kv
bWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL25vLXN0YXRpYy1saWJzLmluYzoyOQojICAgICAiIgpE
SVNBQkxFX1NUQVRJQ19wbi1nY2MtcnVudGltZT0iIgojCiMgJERJU0FCTEVfU1RBVElDX3BuLWxp
YmNhcAojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8v
aW5jbHVkZS9uby1zdGF0aWMtbGlicy5pbmM6MTAKIyAgICAgIiIKRElTQUJMRV9TVEFUSUNfcG4t
bGliY2FwPSIiCiMKIyAkRElTQUJMRV9TVEFUSUNfcG4tbGliY2FwLW5hdGl2ZQojICAgc2V0IC9t
ZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9uby1zdGF0
aWMtbGlicy5pbmM6MTEKIyAgICAgIiIKRElTQUJMRV9TVEFUSUNfcG4tbGliY2FwLW5hdGl2ZT0i
IgojCiMgJERJU0FCTEVfU1RBVElDX3BuLWxpYnBjYXAKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMv
eW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbm8tc3RhdGljLWxpYnMuaW5jOjE0
CiMgICAgICIiCkRJU0FCTEVfU1RBVElDX3BuLWxpYnBjYXA9IiIKIwojICRESVNBQkxFX1NUQVRJ
Q19wbi1saWJ1c2IxLW5hdGl2ZQojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21l
dGEvY29uZi9kaXN0cm8vaW5jbHVkZS9uby1zdGF0aWMtbGlicy5pbmM6MzEKIyAgICAgIiIKRElT
QUJMRV9TVEFUSUNfcG4tbGlidXNiMS1uYXRpdmU9IiIKIwojICRESVNBQkxFX1NUQVRJQ19wbi1u
YXRpdmVzZGstbGliY2FwCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9j
b25mL2Rpc3Ryby9pbmNsdWRlL25vLXN0YXRpYy1saWJzLmluYzoxMgojICAgICAiIgpESVNBQkxF
X1NUQVRJQ19wbi1uYXRpdmVzZGstbGliY2FwPSIiCiMKIyAkRElTQUJMRV9TVEFUSUNfcG4tbmF0
aXZlc2RrLW9wZW5zc2wKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2Nv
bmYvZGlzdHJvL2luY2x1ZGUvbm8tc3RhdGljLWxpYnMuaW5jOjI3CiMgICAgICIiCkRJU0FCTEVf
U1RBVElDX3BuLW5hdGl2ZXNkay1vcGVuc3NsPSIiCiMKIyAkRElTQUJMRV9TVEFUSUNfcG4tbmF0
aXZlc2RrLXFlbXUKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYv
ZGlzdHJvL2luY2x1ZGUvbm8tc3RhdGljLWxpYnMuaW5jOjYKIyAgICAgIiIKRElTQUJMRV9TVEFU
SUNfcG4tbmF0aXZlc2RrLXFlbXU9IiIKIwojICRESVNBQkxFX1NUQVRJQ19wbi1uYXRpdmVzZGst
c3FsaXRlMwojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0
cm8vaW5jbHVkZS9uby1zdGF0aWMtbGlicy5pbmM6MjAKIyAgICAgIiIKRElTQUJMRV9TVEFUSUNf
cG4tbmF0aXZlc2RrLXNxbGl0ZTM9IiIKIwojICRESVNBQkxFX1NUQVRJQ19wbi1vcGVuamFkZS1u
YXRpdmUKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJv
L2luY2x1ZGUvbm8tc3RhdGljLWxpYnMuaW5jOjIzCiMgICAgICIiCkRJU0FCTEVfU1RBVElDX3Bu
LW9wZW5qYWRlLW5hdGl2ZT0iIgojCiMgJERJU0FCTEVfU1RBVElDX3BuLW9wZW5zc2wKIyAgIHNl
dCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbm8t
c3RhdGljLWxpYnMuaW5jOjI1CiMgICAgICIiCkRJU0FCTEVfU1RBVElDX3BuLW9wZW5zc2w9IiIK
IwojICRESVNBQkxFX1NUQVRJQ19wbi1vcGVuc3NsLW5hdGl2ZQojICAgc2V0IC9tZWRpYS9yZWJl
Y2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9uby1zdGF0aWMtbGlicy5p
bmM6MjYKIyAgICAgIiIKRElTQUJMRV9TVEFUSUNfcG4tb3BlbnNzbC1uYXRpdmU9IiIKIwojICRE
SVNBQkxFX1NUQVRJQ19wbi1wY2l1dGlscwojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9w
b2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9uby1zdGF0aWMtbGlicy5pbmM6OAojICAgICAi
IgpESVNBQkxFX1NUQVRJQ19wbi1wY2l1dGlscz0iIgojCiMgJERJU0FCTEVfU1RBVElDX3BuLXFl
bXUKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2lu
Y2x1ZGUvbm8tc3RhdGljLWxpYnMuaW5jOjQKIyAgICAgIiIKRElTQUJMRV9TVEFUSUNfcG4tcWVt
dT0iIgojCiMgJERJU0FCTEVfU1RBVElDX3BuLXFlbXUtbmF0aXZlCiMgICBzZXQgL21lZGlhL3Jl
YmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL25vLXN0YXRpYy1saWJz
LmluYzo1CiMgICAgICIiCkRJU0FCTEVfU1RBVElDX3BuLXFlbXUtbmF0aXZlPSIiCiMKIyAkRElT
QUJMRV9TVEFUSUNfcG4tcmVhZGxpbmUKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9r
eS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbm8tc3RhdGljLWxpYnMuaW5jOjE2CiMgICAgICIi
CkRJU0FCTEVfU1RBVElDX3BuLXJlYWRsaW5lPSIiCiMKIyAkRElTQUJMRV9TVEFUSUNfcG4tc2dt
bC1jb21tb24tbmF0aXZlCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9j
b25mL2Rpc3Ryby9pbmNsdWRlL25vLXN0YXRpYy1saWJzLmluYzoyMgojICAgICAiIgpESVNBQkxF
X1NUQVRJQ19wbi1zZ21sLWNvbW1vbi1uYXRpdmU9IiIKIwojICRESVNBQkxFX1NUQVRJQ19wbi1z
cWxpdGUzCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ry
by9pbmNsdWRlL25vLXN0YXRpYy1saWJzLmluYzoxOAojICAgICAiIgpESVNBQkxFX1NUQVRJQ19w
bi1zcWxpdGUzPSIiCiMKIyAkRElTQUJMRV9TVEFUSUNfcG4tc3FsaXRlMy1uYXRpdmUKIyAgIHNl
dCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbm8t
c3RhdGljLWxpYnMuaW5jOjE5CiMgICAgICIiCkRJU0FCTEVfU1RBVElDX3BuLXNxbGl0ZTMtbmF0
aXZlPSIiCiMKIyAkRElTVFJPIFs1IG9wZXJhdGlvbnNdCiMgICBzZXQgL21lZGlhL3JlYmVjY2Fz
L3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo3MDEKIyAgICAgW19kZWZhdWx0dmFs
XSAibm9kaXN0cm8iCiMgICBzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy9jb25mL2xv
Y2FsLmNvbmY6ODkKIyAgICAgInBva3kiCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bv
a3kvbWV0YS1wb2t5L2NvbmYvZGlzdHJvL3Bva3kuY29uZjoxCiMgICAgICJwb2t5IgojICAgc2V0
IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6
MTM4CiMgICAgIFtkb2NdICJUaGUgc2hvcnQgbmFtZSBvZiB0aGUgZGlzdHJpYnV0aW9uLiBJZiB0
aGUgdmFyaWFibGUgaXMgYmxhbmssIG1ldGEvY29uZi9kaXN0cm8vZGVmYXVsdHNldHVwLmNvbmYg
d2lsbCBiZSB1c2VkLiIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2Nv
bmYvYml0YmFrZS5jb25mOjgzMgojICAgICBbdW5leHBvcnRdICIxIgojIHByZS1leHBhbnNpb24g
dmFsdWU6CiMgICAicG9reSIKdW5zZXQgRElTVFJPCiMKIyAkRElTVFJPT1ZFUlJJREVTIFsyIG9w
ZXJhdGlvbnNdCiMgICBzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9i
aXRiYWtlLmNvbmY6NzE5CiMgICAgICIke0BkLmdldFZhcignRElTVFJPJykgb3IgJyd9IgojICAg
c2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNv
bmY6MTQ3CiMgICAgIFtkb2NdICJMaXN0cyBvdmVycmlkZXMgc3BlY2lmaWMgdG8gdGhlIGN1cnJl
bnQgZGlzdHJpYnV0aW9uLiBCeSBkZWZhdWx0LCB0aGUgdmFyaWFibGUgbGlzdCBpbmNsdWRlcyB0
aGUgdmFsdWUgb2YgdGhlIERJU1RSTyB2YXJpYWJsZS4iCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToK
IyAgICIke0BkLmdldFZhcignRElTVFJPJykgb3IgJyd9IgpESVNUUk9PVkVSUklERVM9InBva3ki
CiMKIyAkRElTVFJPX0NPREVOQU1FCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kv
bWV0YS1wb2t5L2NvbmYvZGlzdHJvL3Bva3kuY29uZjo0CiMgICAgICJweXJvIgpESVNUUk9fQ09E
RU5BTUU9InB5cm8iCiMKIyAkRElTVFJPX0VYVFJBX1JERVBFTkRTIFs5IG9wZXJhdGlvbnNdCiMg
ICBhcHBlbmQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5L2NvbmYvZGlzdHJv
L3Bva3kuY29uZjozNQojICAgICAiICR7UE9LWV9ERUZBVUxUX0VYVFJBX1JERVBFTkRTfSIKIyAg
IF9hcHBlbmRbcWVtdWFybV0gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5L2Nv
bmYvZGlzdHJvL3Bva3kuY29uZjozOQojICAgICAiICR7UE9LWVFFTVVERVBTfSIKIyAgIF9hcHBl
bmRbcWVtdWFybTY0XSAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXBva3kvY29uZi9k
aXN0cm8vcG9reS5jb25mOjQwCiMgICAgICIgJHtQT0tZUUVNVURFUFN9IgojICAgX2FwcGVuZFtx
ZW11bWlwc10gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5L2NvbmYvZGlzdHJv
L3Bva3kuY29uZjo0MQojICAgICAiICR7UE9LWVFFTVVERVBTfSIKIyAgIF9hcHBlbmRbcWVtdXBw
Y10gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5L2NvbmYvZGlzdHJvL3Bva3ku
Y29uZjo0MgojICAgICAiICR7UE9LWVFFTVVERVBTfSIKIyAgIF9hcHBlbmRbcWVtdXg4Nl0gL21l
ZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5L2NvbmYvZGlzdHJvL3Bva3kuY29uZjo0
MwojICAgICAiICR7UE9LWVFFTVVERVBTfSIKIyAgIF9hcHBlbmRbcWVtdXg4Ni02NF0gL21lZGlh
L3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5L2NvbmYvZGlzdHJvL3Bva3kuY29uZjo0NAoj
ICAgICAiICR7UE9LWVFFTVVERVBTfSIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9r
eS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjEzOQojICAgICBbZG9jXSAiU3BlY2lmaWVz
IGEgbGlzdCBvZiBkaXN0cm8tc3BlY2lmaWMgcGFja2FnZXMgdG8gYWRkIHRvIGFsbCBpbWFnZXMu
IFRoZSB2YXJpYWJsZSBvbmx5IGFwcGxpZXMgdG8gdGhlIGltYWdlcyB0aGF0IGluY2x1ZGUgcGFj
a2FnZWdyb3VwLWJhc2UuIgojICAgc2V0PyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRh
L2NvbmYvYml0YmFrZS5jb25mOjc4OQojICAgICAiIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMg
ICAiICAke1BPS1lfREVGQVVMVF9FWFRSQV9SREVQRU5EU30gJHtQT0tZUUVNVURFUFN9IgpESVNU
Uk9fRVhUUkFfUkRFUEVORFM9IiAgcGFja2FnZWdyb3VwLWNvcmUtYm9vdCBwYWNrYWdlZ3JvdXAt
Y29yZS1kZXZpY2UtZGV2ZWwiCiMKIyAkRElTVFJPX0VYVFJBX1JSRUNPTU1FTkRTIFszIG9wZXJh
dGlvbnNdCiMgICBhcHBlbmQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5L2Nv
bmYvZGlzdHJvL3Bva3kuY29uZjozNgojICAgICAiICR7UE9LWV9ERUZBVUxUX0VYVFJBX1JSRUNP
TU1FTkRTfSIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZG9j
dW1lbnRhdGlvbi5jb25mOjE0MAojICAgICBbZG9jXSAiU3BlY2lmaWVzIGEgbGlzdCBvZiBkaXN0
cm8tc3BlY2lmaWMgcGFja2FnZXMgdG8gYWRkIHRvIGFsbCBpbWFnZXMgaWYgdGhlIHBhY2thZ2Vz
IGV4aXN0LiBUaGUgbGlzdCBvZiBwYWNrYWdlcyBhcmUgYXV0b21hdGljYWxseSBpbnN0YWxsZWQg
YnV0IHlvdSBjYW4gcmVtb3ZlIHRoZW0uIgojICAgc2V0PyAvbWVkaWEvcmViZWNjYXMveW9jdG8v
cG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjc5MAojICAgICAiIgojIHByZS1leHBhbnNpb24g
dmFsdWU6CiMgICAiICAke1BPS1lfREVGQVVMVF9FWFRSQV9SUkVDT01NRU5EU30iCkRJU1RST19F
WFRSQV9SUkVDT01NRU5EUz0iICBrZXJuZWwtbW9kdWxlLWFmLXBhY2tldCIKIwojICRESVNUUk9f
RkVBVFVSRVMgWzUgb3BlcmF0aW9uc10KIyAgIHNldD8gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bv
a3kvbWV0YS1wb2t5L2NvbmYvZGlzdHJvL3Bva3kuY29uZjoyMgojICAgICAiJHtESVNUUk9fRkVB
VFVSRVNfREVGQVVMVH0gJHtESVNUUk9fRkVBVFVSRVNfTElCQ30gJHtQT0tZX0RFRkFVTFRfRElT
VFJPX0ZFQVRVUkVTfSIKIyAgIHNldD8gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9j
b25mL2Rpc3Ryby9pbmNsdWRlL2RlZmF1bHQtZGlzdHJvdmFycy5pbmM6MjEKIyAgICAgIiR7RElT
VFJPX0ZFQVRVUkVTX0RFRkFVTFR9ICR7RElTVFJPX0ZFQVRVUkVTX0xJQkN9IgojICAgc2V0IC9t
ZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6MTQx
CiMgICAgIFtkb2NdICJUaGUgZmVhdHVyZXMgZW5hYmxlZCBmb3IgdGhlIGRpc3RyaWJ1dGlvbi4i
CiMgICBzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNv
bmY6Nzg3CiMgICAgICIiCiMgICBhcHBlbmQgdXRpbHMucHk6MTI3IFtmZWF0dXJlc19iYWNrZmls
bF0KIyAgICAgIiBwdWxzZWF1ZGlvIHN5c3Zpbml0IGJsdWV6NSBnb2JqZWN0LWludHJvc3BlY3Rp
b24tZGF0YSBsZGNvbmZpZyIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIiR7RElTVFJPX0ZF
QVRVUkVTX0RFRkFVTFR9ICR7RElTVFJPX0ZFQVRVUkVTX0xJQkN9ICR7UE9LWV9ERUZBVUxUX0RJ
U1RST19GRUFUVVJFU30gcHVsc2VhdWRpbyBzeXN2aW5pdCBibHVlejUgZ29iamVjdC1pbnRyb3Nw
ZWN0aW9uLWRhdGEgbGRjb25maWciCkRJU1RST19GRUFUVVJFUz0iYWNsIGFsc2EgYXJncCBibHVl
dG9vdGggZXh0MiBpcmRhIGxhcmdlZmlsZSBwY21jaWEgdXNiZ2FkZ2V0IHVzYmhvc3Qgd2lmaSB4
YXR0ciBuZnMgemVyb2NvbmYgcGNpIDNnIG5mYyB4MTEgaXB2NCBpcHY2IGxpYmMtYmFja3RyYWNl
IGxpYmMtYmlnLW1hY3JvcyBsaWJjLWJzZCBsaWJjLWN4eC10ZXN0cyBsaWJjLWNhdGdldHMgbGli
Yy1jaGFyc2V0cyBsaWJjLWNyeXB0IAkJCQkJbGliYy1jcnlwdC11ZmMgbGliYy1kYi1hbGlhc2Vz
IGxpYmMtZW52eiBsaWJjLWZjdnQgbGliYy1mbXRtc2cgbGliYy1mc3RhYiBsaWJjLWZ0cmF2ZXJz
ZSAJCQkJCWxpYmMtZ2V0bG9naW4gbGliYy1pZG4gbGliYy1pbmV0LWFubCBsaWJjLWxpYm0gbGli
Yy1sb2NhbGVzIGxpYmMtbG9jYWxlLWNvZGUgCQkJCQlsaWJjLW1lbXVzYWdlIGxpYmMtbmlzIGxp
YmMtbnNzd2l0Y2ggbGliYy1yY21kIGxpYmMtcnRsZC1kZWJ1ZyBsaWJjLXNwYXduIGxpYmMtc3Ry
ZWFtcyBsaWJjLXN1bnJwYyAJCQkJCWxpYmMtdXRtcCBsaWJjLXV0bXB4IGxpYmMtd29yZGV4cCBs
aWJjLXBvc2l4LWNsYW5nLXdjaGFyIGxpYmMtcG9zaXgtcmVnZXhwIGxpYmMtcG9zaXgtcmVnZXhw
LWdsaWJjIAkJCQkJbGliYy1wb3NpeC13Y2hhci1pbyBsYXJnZWZpbGUgb3BlbmdsIHB0ZXN0IG11
bHRpYXJjaCB3YXlsYW5kIHB1bHNlYXVkaW8gc3lzdmluaXQgYmx1ZXo1IGdvYmplY3QtaW50cm9z
cGVjdGlvbi1kYXRhIGxkY29uZmlnIgojCiMgJERJU1RST19GRUFUVVJFU19CQUNLRklMTCBbMiBv
cGVyYXRpb25zXQojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9k
b2N1bWVudGF0aW9uLmNvbmY6MTQyCiMgICAgIFtkb2NdICJGZWF0dXJlcyB0byBiZSBhZGRlZCB0
byBESVNUUk9fRkVBVFVSRVMgaWYgbm90IGFsc28gcHJlc2VudCBpbiBESVNUUk9fRkVBVFVSRVNf
QkFDS0ZJTExfQ09OU0lERVJFRC4gVGhpcyB2YXJpYWJsZSBpcyBzZXQgaW4gdGhlIG1ldGEvY29u
Zi9iaXRiYWtlLmNvbmYgZmlsZSBhbmQgaXQgaXMgbm90IGludGVuZGVkIHRvIGJlIHVzZXItY29u
ZmlndXJhYmxlLiIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYv
Yml0YmFrZS5jb25mOjgwOQojICAgICAicHVsc2VhdWRpbyBzeXN2aW5pdCBibHVlejUgZ29iamVj
dC1pbnRyb3NwZWN0aW9uLWRhdGEgbGRjb25maWciCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAg
ICJwdWxzZWF1ZGlvIHN5c3Zpbml0IGJsdWV6NSBnb2JqZWN0LWludHJvc3BlY3Rpb24tZGF0YSBs
ZGNvbmZpZyIKRElTVFJPX0ZFQVRVUkVTX0JBQ0tGSUxMPSJwdWxzZWF1ZGlvIHN5c3Zpbml0IGJs
dWV6NSBnb2JqZWN0LWludHJvc3BlY3Rpb24tZGF0YSBsZGNvbmZpZyIKIwojICRESVNUUk9fRkVB
VFVSRVNfQkFDS0ZJTExfQ09OU0lERVJFRAojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9w
b2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6MTQzCiMgICAgIFtkb2NdICJGZWF0dXJl
cyBmcm9tIERJU1RST19GRUFUVVJFU19CQUNLRklMTCB0aGF0IHNob3VsZCBub3QgYmUgYmFja2Zp
bGxlZCAoaS5lLiBhZGRlZCB0byBESVNUUk9fRkVBVFVSRVMpIGR1cmluZyB0aGUgYnVpbGQuIgoj
CiMgJERJU1RST19GRUFUVVJFU19ERUZBVUxUCiMgICBzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95b2N0
by9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9kZWZhdWx0LWRpc3Ryb3ZhcnMuaW5jOjEy
CiMgICAgICJhY2wgYWxzYSBhcmdwIGJsdWV0b290aCBleHQyIGlyZGEgbGFyZ2VmaWxlIHBjbWNp
YSB1c2JnYWRnZXQgdXNiaG9zdCB3aWZpIHhhdHRyIG5mcyB6ZXJvY29uZiBwY2kgM2cgbmZjIHgx
MSIKRElTVFJPX0ZFQVRVUkVTX0RFRkFVTFQ9ImFjbCBhbHNhIGFyZ3AgYmx1ZXRvb3RoIGV4dDIg
aXJkYSBsYXJnZWZpbGUgcGNtY2lhIHVzYmdhZGdldCB1c2Job3N0IHdpZmkgeGF0dHIgbmZzIHpl
cm9jb25mIHBjaSAzZyBuZmMgeDExIgojCiMgJERJU1RST19GRUFUVVJFU19GSUxURVJfTkFUSVZF
CiMgICBzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNv
bmY6ODA2CiMgICAgICJhcGktZG9jdW1lbnRhdGlvbiIKRElTVFJPX0ZFQVRVUkVTX0ZJTFRFUl9O
QVRJVkU9ImFwaS1kb2N1bWVudGF0aW9uIgojCiMgJERJU1RST19GRUFUVVJFU19GSUxURVJfTkFU
SVZFU0RLCiMgICBzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRi
YWtlLmNvbmY6ODA3CiMgICAgICJhcGktZG9jdW1lbnRhdGlvbiIKRElTVFJPX0ZFQVRVUkVTX0ZJ
TFRFUl9OQVRJVkVTREs9ImFwaS1kb2N1bWVudGF0aW9uIgojCiMgJERJU1RST19GRUFUVVJFU19M
SUJDIFsyIG9wZXJhdGlvbnNdCiMgICBzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21l
dGEvY29uZi9kaXN0cm8vaW5jbHVkZS9kZWZhdWx0LWRpc3Ryb3ZhcnMuaW5jOjE5CiMgICAgICIk
e0RJU1RST19GRUFUVVJFU19MSUJDX0RFRkFVTFR9IgojICAgb3ZlcnJpZGVbY2xhc3MtbmF0aXZl
c2RrXTpzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNs
dWRlL2RlZmF1bHQtZGlzdHJvdmFycy5pbmM6MjAKIyAgICAgIiR7RElTVFJPX0ZFQVRVUkVTX0xJ
QkNfREVGQVVMVH0iCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICIke0RJU1RST19GRUFUVVJF
U19MSUJDX0RFRkFVTFR9IgpESVNUUk9fRkVBVFVSRVNfTElCQz0iaXB2NCBpcHY2IGxpYmMtYmFj
a3RyYWNlIGxpYmMtYmlnLW1hY3JvcyBsaWJjLWJzZCBsaWJjLWN4eC10ZXN0cyBsaWJjLWNhdGdl
dHMgbGliYy1jaGFyc2V0cyBsaWJjLWNyeXB0IAkJCQkJbGliYy1jcnlwdC11ZmMgbGliYy1kYi1h
bGlhc2VzIGxpYmMtZW52eiBsaWJjLWZjdnQgbGliYy1mbXRtc2cgbGliYy1mc3RhYiBsaWJjLWZ0
cmF2ZXJzZSAJCQkJCWxpYmMtZ2V0bG9naW4gbGliYy1pZG4gbGliYy1pbmV0LWFubCBsaWJjLWxp
Ym0gbGliYy1sb2NhbGVzIGxpYmMtbG9jYWxlLWNvZGUgCQkJCQlsaWJjLW1lbXVzYWdlIGxpYmMt
bmlzIGxpYmMtbnNzd2l0Y2ggbGliYy1yY21kIGxpYmMtcnRsZC1kZWJ1ZyBsaWJjLXNwYXduIGxp
YmMtc3RyZWFtcyBsaWJjLXN1bnJwYyAJCQkJCWxpYmMtdXRtcCBsaWJjLXV0bXB4IGxpYmMtd29y
ZGV4cCBsaWJjLXBvc2l4LWNsYW5nLXdjaGFyIGxpYmMtcG9zaXgtcmVnZXhwIGxpYmMtcG9zaXgt
cmVnZXhwLWdsaWJjIAkJCQkJbGliYy1wb3NpeC13Y2hhci1pbyIKIwojICRESVNUUk9fRkVBVFVS
RVNfTElCQ19ERUZBVUxUCiMgICBzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEv
Y29uZi9kaXN0cm8vaW5jbHVkZS9kZWZhdWx0LWRpc3Ryb3ZhcnMuaW5jOjE4CiMgICAgICJpcHY0
IGlwdjYgbGliYy1iYWNrdHJhY2UgbGliYy1iaWctbWFjcm9zIGxpYmMtYnNkIGxpYmMtY3h4LXRl
c3RzIGxpYmMtY2F0Z2V0cyBsaWJjLWNoYXJzZXRzIGxpYmMtY3J5cHQgCQkJCQlsaWJjLWNyeXB0
LXVmYyBsaWJjLWRiLWFsaWFzZXMgbGliYy1lbnZ6IGxpYmMtZmN2dCBsaWJjLWZtdG1zZyBsaWJj
LWZzdGFiIGxpYmMtZnRyYXZlcnNlIAkJCQkJbGliYy1nZXRsb2dpbiBsaWJjLWlkbiBsaWJjLWlu
ZXQtYW5sIGxpYmMtbGlibSBsaWJjLWxvY2FsZXMgbGliYy1sb2NhbGUtY29kZSAJCQkJCWxpYmMt
bWVtdXNhZ2UgbGliYy1uaXMgbGliYy1uc3N3aXRjaCBsaWJjLXJjbWQgbGliYy1ydGxkLWRlYnVn
IGxpYmMtc3Bhd24gbGliYy1zdHJlYW1zIGxpYmMtc3VucnBjIAkJCQkJbGliYy11dG1wIGxpYmMt
dXRtcHggbGliYy13b3JkZXhwIGxpYmMtcG9zaXgtY2xhbmctd2NoYXIgbGliYy1wb3NpeC1yZWdl
eHAgbGliYy1wb3NpeC1yZWdleHAtZ2xpYmMgCQkJCQlsaWJjLXBvc2l4LXdjaGFyLWlvIgpESVNU
Uk9fRkVBVFVSRVNfTElCQ19ERUZBVUxUPSJpcHY0IGlwdjYgbGliYy1iYWNrdHJhY2UgbGliYy1i
aWctbWFjcm9zIGxpYmMtYnNkIGxpYmMtY3h4LXRlc3RzIGxpYmMtY2F0Z2V0cyBsaWJjLWNoYXJz
ZXRzIGxpYmMtY3J5cHQgCQkJCQlsaWJjLWNyeXB0LXVmYyBsaWJjLWRiLWFsaWFzZXMgbGliYy1l
bnZ6IGxpYmMtZmN2dCBsaWJjLWZtdG1zZyBsaWJjLWZzdGFiIGxpYmMtZnRyYXZlcnNlIAkJCQkJ
bGliYy1nZXRsb2dpbiBsaWJjLWlkbiBsaWJjLWluZXQtYW5sIGxpYmMtbGlibSBsaWJjLWxvY2Fs
ZXMgbGliYy1sb2NhbGUtY29kZSAJCQkJCWxpYmMtbWVtdXNhZ2UgbGliYy1uaXMgbGliYy1uc3N3
aXRjaCBsaWJjLXJjbWQgbGliYy1ydGxkLWRlYnVnIGxpYmMtc3Bhd24gbGliYy1zdHJlYW1zIGxp
YmMtc3VucnBjIAkJCQkJbGliYy11dG1wIGxpYmMtdXRtcHggbGliYy13b3JkZXhwIGxpYmMtcG9z
aXgtY2xhbmctd2NoYXIgbGliYy1wb3NpeC1yZWdleHAgbGliYy1wb3NpeC1yZWdleHAtZ2xpYmMg
CQkJCQlsaWJjLXBvc2l4LXdjaGFyLWlvIgojCiMgJERJU1RST19GRUFUVVJFU19MSUJDX2NsYXNz
LW5hdGl2ZXNkawojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9k
aXN0cm8vaW5jbHVkZS9kZWZhdWx0LWRpc3Ryb3ZhcnMuaW5jOjIwCiMgICAgICIke0RJU1RST19G
RUFUVVJFU19MSUJDX0RFRkFVTFR9IgpESVNUUk9fRkVBVFVSRVNfTElCQ19jbGFzcy1uYXRpdmVz
ZGs9ImlwdjQgaXB2NiBsaWJjLWJhY2t0cmFjZSBsaWJjLWJpZy1tYWNyb3MgbGliYy1ic2QgbGli
Yy1jeHgtdGVzdHMgbGliYy1jYXRnZXRzIGxpYmMtY2hhcnNldHMgbGliYy1jcnlwdCAJCQkJCWxp
YmMtY3J5cHQtdWZjIGxpYmMtZGItYWxpYXNlcyBsaWJjLWVudnogbGliYy1mY3Z0IGxpYmMtZm10
bXNnIGxpYmMtZnN0YWIgbGliYy1mdHJhdmVyc2UgCQkJCQlsaWJjLWdldGxvZ2luIGxpYmMtaWRu
IGxpYmMtaW5ldC1hbmwgbGliYy1saWJtIGxpYmMtbG9jYWxlcyBsaWJjLWxvY2FsZS1jb2RlIAkJ
CQkJbGliYy1tZW11c2FnZSBsaWJjLW5pcyBsaWJjLW5zc3dpdGNoIGxpYmMtcmNtZCBsaWJjLXJ0
bGQtZGVidWcgbGliYy1zcGF3biBsaWJjLXN0cmVhbXMgbGliYy1zdW5ycGMgCQkJCQlsaWJjLXV0
bXAgbGliYy11dG1weCBsaWJjLXdvcmRleHAgbGliYy1wb3NpeC1jbGFuZy13Y2hhciBsaWJjLXBv
c2l4LXJlZ2V4cCBsaWJjLXBvc2l4LXJlZ2V4cC1nbGliYyAJCQkJCWxpYmMtcG9zaXgtd2NoYXIt
aW8iCiMKIyAkRElTVFJPX0ZFQVRVUkVTX05BVElWRQojICAgc2V0PyAvbWVkaWEvcmViZWNjYXMv
eW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjgwMQojICAgICAieDExIgpESVNUUk9f
RkVBVFVSRVNfTkFUSVZFPSJ4MTEiCiMKIyAkRElTVFJPX0ZFQVRVUkVTX05BVElWRVNESwojICAg
c2V0PyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjgw
MgojICAgICAieDExIGxpYmMtY2hhcnNldHMgbGliYy1sb2NhbGVzIGxpYmMtbG9jYWxlLWNvZGUi
CkRJU1RST19GRUFUVVJFU19OQVRJVkVTREs9IngxMSBsaWJjLWNoYXJzZXRzIGxpYmMtbG9jYWxl
cyBsaWJjLWxvY2FsZS1jb2RlIgojCiMgJERJU1RST19OQU1FIFszIG9wZXJhdGlvbnNdCiMgICBz
ZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo3MDIK
IyAgICAgW19kZWZhdWx0dmFsXSAiT3BlbkVtYmVkZGVkIgojICAgc2V0IC9tZWRpYS9yZWJlY2Nh
cy95b2N0by9wb2t5L21ldGEtcG9reS9jb25mL2Rpc3Ryby9wb2t5LmNvbmY6MgojICAgICAiUG9r
eSAoWW9jdG8gUHJvamVjdCBSZWZlcmVuY2UgRGlzdHJvKSIKIyAgIHNldCAvbWVkaWEvcmViZWNj
YXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjE0NAojICAgICBbZG9j
XSAiVGhlIGxvbmcgbmFtZSBvZiB0aGUgZGlzdHJpYnV0aW9uLiIKIyBwcmUtZXhwYW5zaW9uIHZh
bHVlOgojICAgIlBva3kgKFlvY3RvIFByb2plY3QgUmVmZXJlbmNlIERpc3RybykiCkRJU1RST19O
QU1FPSJQb2t5IChZb2N0byBQcm9qZWN0IFJlZmVyZW5jZSBEaXN0cm8pIgojCiMgJERJU1RST19Q
Tl9BTElBUwojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1
bWVudGF0aW9uLmNvbmY6MTQ1CiMgICAgIFtkb2NdICJBbGlhcyBuYW1lcyB1c2VkIGZvciB0aGUg
cmVjaXBlIGluIHZhcmlvdXMgTGludXggZGlzdHJpYnV0aW9ucy4iCiMKIyAkRElTVFJPX1ZFUlNJ
T04gWzQgb3BlcmF0aW9uc10KIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRh
LXBva3kvY29uZi9kaXN0cm8vcG9reS5jb25mOjMKIyAgICAgIjIuMy4yIgojICAgc2V0IC9tZWRp
YS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEtcG9reS9jb25mL2Rpc3Ryby9wb2t5LmNvbmY6MTQK
IyAgICAgW3ZhcmRlcHNleGNsdWRlXSAiREFURSIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9j
dG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvZGVmYXVsdC1kaXN0cm92YXJzLmluYzo0
MgojICAgICBbX2RlZmF1bHR2YWxdICJub2Rpc3Ryby4wIgojICAgc2V0IC9tZWRpYS9yZWJlY2Nh
cy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6MTQ2CiMgICAgIFtkb2Nd
ICJUaGUgdmVyc2lvbiBvZiB0aGUgZGlzdHJpYnV0aW9uLiIKIyBwcmUtZXhwYW5zaW9uIHZhbHVl
OgojICAgIjIuMy4yIgpESVNUUk9fVkVSU0lPTj0iMi4zLjIiCiMKIyAkRExfRElSIFszIG9wZXJh
dGlvbnNdCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL2NvbmYvc2l0ZS5jb25m
OjYKIyAgICAgIi9tZWRpYS9yZWJlY2Nhcy9idWlsZC9kb3dubG9hZHMiCiMgICBzZXQgL21lZGlh
L3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjoxNDgKIyAg
ICAgW2RvY10gIlRoZSBjZW50cmFsIGRvd25sb2FkIGRpcmVjdG9yeSB1c2VkIGJ5IHRoZSBidWls
ZCBwcm9jZXNzIHRvIHN0b3JlIGRvd25sb2Fkcy4gQnkgZGVmYXVsdCwgdGhlIGRpcmVjdG9yeSBp
cyAnZG93bmxvYWRzJyBpbiB0aGUgQnVpbGQgRGlyZWN0b3J5LiIKIyAgIHNldD8gL21lZGlhL3Jl
YmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo3NDgKIyAgICAgIiR7VE9Q
RElSfS9kb3dubG9hZHMiCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICIvbWVkaWEvcmViZWNj
YXMvYnVpbGQvZG93bmxvYWRzIgpETF9ESVI9Ii9tZWRpYS9yZWJlY2Nhcy9idWlsZC9kb3dubG9h
ZHMiCiMKIyAkRU5BQkxFX0JJTkFSWV9MT0NBTEVfR0VORVJBVElPTiBbMiBvcGVyYXRpb25zXQoj
ICAgc2V0PyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1
ZGUvZGVmYXVsdC1kaXN0cm92YXJzLmluYzo4CiMgICAgICIxIgojICAgc2V0IC9tZWRpYS9yZWJl
Y2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6MTUyCiMgICAgIFtk
b2NdICJDb250cm9scyB3aGljaCBsb2NhbGVzIGZvciBnbGliYyBhcmUgZ2VuZXJhdGVkIGR1cmlu
ZyB0aGUgYnVpbGQuIFRoZSB2YXJpYWJsZSBpcyB1c2VmdWwgaWYgdGhlIHRhcmdldCBkZXZpY2Ug
aGFzIDY0TWJ5dGVzIG9mIFJBTSBvciBsZXNzLiIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAg
IjEiCkVOQUJMRV9CSU5BUllfTE9DQUxFX0dFTkVSQVRJT049IjEiCiMKIyAkRU5BQkxFX1JQTV9G
SUxFREVQU19GT1JfUFlSTwojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEv
Y2xhc3Nlcy9wYWNrYWdlLmJiY2xhc3M6MTQ0MgojICAgICBbX2RlZmF1bHR2YWxdICIwIgpFTkFC
TEVfUlBNX0ZJTEVERVBTX0ZPUl9QWVJPPSIwIgojCiMgJEVSUk9SX1FBIFszIG9wZXJhdGlvbnNd
CiMgICBfYXBwZW5kIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEtcG9reS9jb25mL2Rp
c3Ryby9wb2t5LmNvbmY6MTAxCiMgICAgICIgJHtXQVJOX1RPX0VSUk9SX1FBfSIKIyAgIHNldCAv
bWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjE1
MwojICAgICBbZG9jXSAiU3BlY2lmaWVzIHRoZSBxdWFsaXR5IGFzc3VyYW5jZSBjaGVja3Mgd2hv
c2UgZmFpbHVyZXMgYXJlIHJlcG9ydGVkIGFzIGVycm9ycyBieSB0aGUgT3BlbkVtYmVkZGVkIGJ1
aWxkIHN5c3RlbS4iCiMgICBzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY2xh
c3Nlcy9pbnNhbmUuYmJjbGFzczo0MgojICAgICAiZGV2LXNvIGRlYnVnLWRlcHMgZGV2LWRlcHMg
ZGVidWctZmlsZXMgYXJjaCBwa2djb25maWcgbGEgICAgICAgICAgICAgcGVybXMgZGVwLWNtcCBw
a2d2YXJjaGVjayBwZXJtLWNvbmZpZyBwZXJtLWxpbmUgcGVybS1saW5rICAgICAgICAgICAgIHNw
bGl0LXN0cmlwIHBhY2thZ2VzLWxpc3QgcGtndi11bmRlZmluZWQgdmFyLXVuZGVmaW5lZCAgICAg
ICAgICAgICB2ZXJzaW9uLWdvaW5nLWJhY2t3YXJkcyBleHBhbmRlZC1kIGludmFsaWQtY2hhcnMg
ICAgICAgICAgICAgbGljZW5zZS1jaGVja3N1bSBkZXYtZWxmIGZpbGUtcmRlcHMgICAgICAgICAg
ICAgIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiZGV2LXNvIGRlYnVnLWRlcHMgZGV2LWRl
cHMgZGVidWctZmlsZXMgYXJjaCBwa2djb25maWcgbGEgICAgICAgICAgICAgcGVybXMgZGVwLWNt
cCBwa2d2YXJjaGVjayBwZXJtLWNvbmZpZyBwZXJtLWxpbmUgcGVybS1saW5rICAgICAgICAgICAg
IHNwbGl0LXN0cmlwIHBhY2thZ2VzLWxpc3QgcGtndi11bmRlZmluZWQgdmFyLXVuZGVmaW5lZCAg
ICAgICAgICAgICB2ZXJzaW9uLWdvaW5nLWJhY2t3YXJkcyBleHBhbmRlZC1kIGludmFsaWQtY2hh
cnMgICAgICAgICAgICAgbGljZW5zZS1jaGVja3N1bSBkZXYtZWxmIGZpbGUtcmRlcHMgICAgICAg
ICAgICAgICR7V0FSTl9UT19FUlJPUl9RQX0iCkVSUk9SX1FBPSJkZXYtc28gZGVidWctZGVwcyBk
ZXYtZGVwcyBkZWJ1Zy1maWxlcyBhcmNoIHBrZ2NvbmZpZyBsYSAgICAgICAgICAgICBwZXJtcyBk
ZXAtY21wIHBrZ3ZhcmNoZWNrIHBlcm0tY29uZmlnIHBlcm0tbGluZSBwZXJtLWxpbmsgICAgICAg
ICAgICAgc3BsaXQtc3RyaXAgcGFja2FnZXMtbGlzdCBwa2d2LXVuZGVmaW5lZCB2YXItdW5kZWZp
bmVkICAgICAgICAgICAgIHZlcnNpb24tZ29pbmctYmFja3dhcmRzIGV4cGFuZGVkLWQgaW52YWxp
ZC1jaGFycyAgICAgICAgICAgICBsaWNlbnNlLWNoZWNrc3VtIGRldi1lbGYgZmlsZS1yZGVwcyAg
ICAgICAgICAgICAgYWxyZWFkeS1zdHJpcHBlZCBjb21waWxlLWhvc3QtcGF0aCBpbnN0YWxsLWhv
c3QtcGF0aCBpbnN0YWxsZWQtdnMtc2hpcHBlZCBsZGZsYWdzIHBuLW92ZXJyaWRlcyBycGF0aHMg
c3RhdGljZGV2IHVzZWxlc3MtcnBhdGhzIgojCiMgJEVYQ0xVREVfRlJPTV9XT1JMRCBbMjAgb3Bl
cmF0aW9uc10KIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZG9j
dW1lbnRhdGlvbi5jb25mOjE1NAojICAgICBbZG9jXSAiRGlyZWN0cyBCaXRCYWtlIHRvIGV4Y2x1
ZGUgYSByZWNpcGUgZnJvbSB3b3JsZCBidWlsZHMgKGkuZS4gYml0YmFrZSB3b3JsZCkuIgojICAg
b3ZlcnJpZGVbcG4tcXd0XTpzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5
L2NvbmYvZGlzdHJvL2luY2x1ZGUvcG9reS13b3JsZC1leGNsdWRlLmluYzo2CiMgICAgICIxIgoj
ICAgb3ZlcnJpZGVbcG4tcHl0aG9uLXB5cXRdOnNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9r
eS9tZXRhLXBva3kvY29uZi9kaXN0cm8vaW5jbHVkZS9wb2t5LXdvcmxkLWV4Y2x1ZGUuaW5jOjgK
IyAgICAgIjEiCiMgICBvdmVycmlkZVtwbi1ydC10ZXN0c19saWJjLW11c2xdOnNldCAvbWVkaWEv
cmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvd29ybGQtYnJva2Vu
LmluYzo2CiMgICAgICIxIgojICAgb3ZlcnJpZGVbcG4tcG9ydG1hcF9saWJjLW11c2xdOnNldCAv
bWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvd29ybGQt
YnJva2VuLmluYzoxMAojICAgICAiMSIKIyAgIG92ZXJyaWRlW3BuLXVuZnMzX2xpYmMtbXVzbF06
c2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS93
b3JsZC1icm9rZW4uaW5jOjExCiMgICAgICIxIgojICAgb3ZlcnJpZGVbcG4tcHNldWRvX2xpYmMt
bXVzbF06c2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5j
bHVkZS93b3JsZC1icm9rZW4uaW5jOjE0CiMgICAgICIxIgojICAgb3ZlcnJpZGVbcG4tbGlic29s
dl9saWJjLW11c2xdOnNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlz
dHJvL2luY2x1ZGUvd29ybGQtYnJva2VuLmluYzoxNwojICAgICAiMSIKIyAgIG92ZXJyaWRlW3Bu
LWJ0cmZzLXRvb2xzX2xpYmMtbXVzbF06c2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21l
dGEvY29uZi9kaXN0cm8vaW5jbHVkZS93b3JsZC1icm9rZW4uaW5jOjIwCiMgICAgICIxIgojICAg
b3ZlcnJpZGVbcG4tcHJlbGlua19saWJjLW11c2xdOnNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8v
cG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvd29ybGQtYnJva2VuLmluYzoyMwojICAgICAi
MSIKIyAgIG92ZXJyaWRlW3BuLWxpYmJzZF9saWJjLW11c2xdOnNldCAvbWVkaWEvcmViZWNjYXMv
eW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvd29ybGQtYnJva2VuLmluYzoyNgoj
ICAgICAiMSIKIyAgIG92ZXJyaWRlW3BuLWx0dG5nLXVzdF9saWJjLW11c2xdOnNldCAvbWVkaWEv
cmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvd29ybGQtYnJva2Vu
LmluYzoyOQojICAgICAiMSIKIyAgIG92ZXJyaWRlW3BuLWx0dG5nLXRvb2xzX2xpYmMtbXVzbF06
c2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS93
b3JsZC1icm9rZW4uaW5jOjMwCiMgICAgICIxIgojICAgb3ZlcnJpZGVbcG4tc3lzdGVtdGFwX2xp
YmMtbXVzbF06c2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8v
aW5jbHVkZS93b3JsZC1icm9rZW4uaW5jOjMzCiMgICAgICIxIgojICAgb3ZlcnJpZGVbcG4tc3lz
dGVtdGFwLXVwcm9iZXNfbGliYy1tdXNsXTpzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kv
bWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL3dvcmxkLWJyb2tlbi5pbmM6MzQKIyAgICAgIjEiCiMg
ICBvdmVycmlkZVtwbi1xZW11X2xpYmMtbXVzbF06c2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9w
b2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS93b3JsZC1icm9rZW4uaW5jOjM4CiMgICAgICIx
IgojICAgb3ZlcnJpZGVbcG4tdmFsZ3JpbmRfbGliYy1tdXNsXTpzZXQgL21lZGlhL3JlYmVjY2Fz
L3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL3dvcmxkLWJyb2tlbi5pbmM6NDIK
IyAgICAgIjEiCiMgICBvdmVycmlkZVtwbi1wZXJmX2xpYmMtbXVzbF06c2V0IC9tZWRpYS9yZWJl
Y2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS93b3JsZC1icm9rZW4uaW5j
OjQ2CiMgICAgICIxIgojICAgb3ZlcnJpZGVbcG4tZ2NjLXNhbml0aXplcnNfbGliYy1tdXNsXTpz
ZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL3dv
cmxkLWJyb2tlbi5pbmM6NDkKIyAgICAgIjEiCiMgICBvdmVycmlkZVtwbi1saWJ1bndpbmRfbGli
Yy1tdXNsX2FybV06c2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0
cm8vaW5jbHVkZS93b3JsZC1icm9rZW4uaW5jOjU2CiMgICAgICIxIgojIHByZS1leHBhbnNpb24g
dmFsdWU6CiMgICAiTm9uZSIKIwojICRFWENMVURFX0ZST01fV09STERfcG4tYnRyZnMtdG9vbHNf
bGliYy1tdXNsCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rp
c3Ryby9pbmNsdWRlL3dvcmxkLWJyb2tlbi5pbmM6MjAKIyAgICAgIjEiCkVYQ0xVREVfRlJPTV9X
T1JMRF9wbi1idHJmcy10b29sc19saWJjLW11c2w9IjEiCiMKIyAkRVhDTFVERV9GUk9NX1dPUkxE
X3BuLWdjYy1zYW5pdGl6ZXJzX2xpYmMtbXVzbAojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0
by9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS93b3JsZC1icm9rZW4uaW5jOjQ5CiMgICAg
ICIxIgpFWENMVURFX0ZST01fV09STERfcG4tZ2NjLXNhbml0aXplcnNfbGliYy1tdXNsPSIxIgoj
CiMgJEVYQ0xVREVfRlJPTV9XT1JMRF9wbi1saWJic2RfbGliYy1tdXNsCiMgICBzZXQgL21lZGlh
L3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL3dvcmxkLWJyb2tl
bi5pbmM6MjYKIyAgICAgIjEiCkVYQ0xVREVfRlJPTV9XT1JMRF9wbi1saWJic2RfbGliYy1tdXNs
PSIxIgojCiMgJEVYQ0xVREVfRlJPTV9XT1JMRF9wbi1saWJzb2x2X2xpYmMtbXVzbAojICAgc2V0
IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS93b3Js
ZC1icm9rZW4uaW5jOjE3CiMgICAgICIxIgpFWENMVURFX0ZST01fV09STERfcG4tbGlic29sdl9s
aWJjLW11c2w9IjEiCiMKIyAkRVhDTFVERV9GUk9NX1dPUkxEX3BuLWxpYnVud2luZF9saWJjLW11
c2xfYXJtCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ry
by9pbmNsdWRlL3dvcmxkLWJyb2tlbi5pbmM6NTYKIyAgICAgIjEiCkVYQ0xVREVfRlJPTV9XT1JM
RF9wbi1saWJ1bndpbmRfbGliYy1tdXNsX2FybT0iMSIKIwojICRFWENMVURFX0ZST01fV09STERf
cG4tbHR0bmctdG9vbHNfbGliYy1tdXNsCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bv
a3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL3dvcmxkLWJyb2tlbi5pbmM6MzAKIyAgICAgIjEi
CkVYQ0xVREVfRlJPTV9XT1JMRF9wbi1sdHRuZy10b29sc19saWJjLW11c2w9IjEiCiMKIyAkRVhD
TFVERV9GUk9NX1dPUkxEX3BuLWx0dG5nLXVzdF9saWJjLW11c2wKIyAgIHNldCAvbWVkaWEvcmVi
ZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvd29ybGQtYnJva2VuLmlu
YzoyOQojICAgICAiMSIKRVhDTFVERV9GUk9NX1dPUkxEX3BuLWx0dG5nLXVzdF9saWJjLW11c2w9
IjEiCiMKIyAkRVhDTFVERV9GUk9NX1dPUkxEX3BuLXBlcmZfbGliYy1tdXNsCiMgICBzZXQgL21l
ZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL3dvcmxkLWJy
b2tlbi5pbmM6NDYKIyAgICAgIjEiCkVYQ0xVREVfRlJPTV9XT1JMRF9wbi1wZXJmX2xpYmMtbXVz
bD0iMSIKIwojICRFWENMVURFX0ZST01fV09STERfcG4tcG9ydG1hcF9saWJjLW11c2wKIyAgIHNl
dCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvd29y
bGQtYnJva2VuLmluYzoxMAojICAgICAiMSIKRVhDTFVERV9GUk9NX1dPUkxEX3BuLXBvcnRtYXBf
bGliYy1tdXNsPSIxIgojCiMgJEVYQ0xVREVfRlJPTV9XT1JMRF9wbi1wcmVsaW5rX2xpYmMtbXVz
bAojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5j
bHVkZS93b3JsZC1icm9rZW4uaW5jOjIzCiMgICAgICIxIgpFWENMVURFX0ZST01fV09STERfcG4t
cHJlbGlua19saWJjLW11c2w9IjEiCiMKIyAkRVhDTFVERV9GUk9NX1dPUkxEX3BuLXBzZXVkb19s
aWJjLW11c2wKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlz
dHJvL2luY2x1ZGUvd29ybGQtYnJva2VuLmluYzoxNAojICAgICAiMSIKRVhDTFVERV9GUk9NX1dP
UkxEX3BuLXBzZXVkb19saWJjLW11c2w9IjEiCiMKIyAkRVhDTFVERV9GUk9NX1dPUkxEX3BuLXB5
dGhvbi1weXF0CiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5L2Nv
bmYvZGlzdHJvL2luY2x1ZGUvcG9reS13b3JsZC1leGNsdWRlLmluYzo4CiMgICAgICIxIgpFWENM
VURFX0ZST01fV09STERfcG4tcHl0aG9uLXB5cXQ9IjEiCiMKIyAkRVhDTFVERV9GUk9NX1dPUkxE
X3BuLXFlbXVfbGliYy1tdXNsCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0
YS9jb25mL2Rpc3Ryby9pbmNsdWRlL3dvcmxkLWJyb2tlbi5pbmM6MzgKIyAgICAgIjEiCkVYQ0xV
REVfRlJPTV9XT1JMRF9wbi1xZW11X2xpYmMtbXVzbD0iMSIKIwojICRFWENMVURFX0ZST01fV09S
TERfcG4tcXd0CiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5L2Nv
bmYvZGlzdHJvL2luY2x1ZGUvcG9reS13b3JsZC1leGNsdWRlLmluYzo2CiMgICAgICIxIgpFWENM
VURFX0ZST01fV09STERfcG4tcXd0PSIxIgojCiMgJEVYQ0xVREVfRlJPTV9XT1JMRF9wbi1ydC10
ZXN0c19saWJjLW11c2wKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2Nv
bmYvZGlzdHJvL2luY2x1ZGUvd29ybGQtYnJva2VuLmluYzo2CiMgICAgICIxIgpFWENMVURFX0ZS
T01fV09STERfcG4tcnQtdGVzdHNfbGliYy1tdXNsPSIxIgojCiMgJEVYQ0xVREVfRlJPTV9XT1JM
RF9wbi1zeXN0ZW10YXAtdXByb2Jlc19saWJjLW11c2wKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMv
eW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvd29ybGQtYnJva2VuLmluYzozNAoj
ICAgICAiMSIKRVhDTFVERV9GUk9NX1dPUkxEX3BuLXN5c3RlbXRhcC11cHJvYmVzX2xpYmMtbXVz
bD0iMSIKIwojICRFWENMVURFX0ZST01fV09STERfcG4tc3lzdGVtdGFwX2xpYmMtbXVzbAojICAg
c2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS93
b3JsZC1icm9rZW4uaW5jOjMzCiMgICAgICIxIgpFWENMVURFX0ZST01fV09STERfcG4tc3lzdGVt
dGFwX2xpYmMtbXVzbD0iMSIKIwojICRFWENMVURFX0ZST01fV09STERfcG4tdW5mczNfbGliYy1t
dXNsCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9p
bmNsdWRlL3dvcmxkLWJyb2tlbi5pbmM6MTEKIyAgICAgIjEiCkVYQ0xVREVfRlJPTV9XT1JMRF9w
bi11bmZzM19saWJjLW11c2w9IjEiCiMKIyAkRVhDTFVERV9GUk9NX1dPUkxEX3BuLXZhbGdyaW5k
X2xpYmMtbXVzbAojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9k
aXN0cm8vaW5jbHVkZS93b3JsZC1icm9rZW4uaW5jOjQyCiMgICAgICIxIgpFWENMVURFX0ZST01f
V09STERfcG4tdmFsZ3JpbmRfbGliYy1tdXNsPSIxIgojCiMgJEVYQ09ORklHX0FSR1MgWzMgb3Bl
cmF0aW9uc10KIyAgIF9hcHBlbmRbcG4tbmN1cnNlc10gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bv
a3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL25vLXN0YXRpYy1saWJzLmluYzozNwojICAgICAi
IC0td2l0aG91dC1ub3JtYWwiCiMgICBfYXBwZW5kW3BuLW5jdXJzZXMtbmF0aXZlXSAvbWVkaWEv
cmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbm8tc3RhdGljLWxp
YnMuaW5jOjM4CiMgICAgICIgLS13aXRob3V0LW5vcm1hbCIKIyAgIF9hcHBlbmRbcG4tbmF0aXZl
c2RrLW5jdXJzZXNdIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8v
aW5jbHVkZS9uby1zdGF0aWMtbGlicy5pbmM6MzkKIyAgICAgIiAtLXdpdGhvdXQtbm9ybWFsIgoj
IHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiIgpFWENPTkZJR19BUkdTPSIiCiMKIyAkRVhURU5E
UEUgWzIgb3BlcmF0aW9uc10KIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRh
L2NvbmYvYml0YmFrZS5jb25mOjE5OQojICAgICAiJHtAWycnLCcke1BFfV8nXVtpbnQoZC5nZXRW
YXIoJ1BFJykgb3IgMCkgPiAwXX0iCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kv
bWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjoxNTUKIyAgICAgW2RvY10gIlVzZWQgd2l0aCBm
aWxlIGFuZCBwYXRobmFtZXMgdG8gY3JlYXRlIGEgcHJlZml4IGZvciBhIHJlY2lwZSdzIHZlcnNp
b24gYmFzZWQgb24gdGhlIHJlY2lwZSdzIFBFIHZhbHVlLiBJZiBQRSBpcyBzZXQgYW5kIGdyZWF0
ZXIgdGhhbiB6ZXJvIGZvciBhIHJlY2lwZSwgRVhURU5EUEUgYmVjb21lcyB0aGF0IHZhbHVlLiIK
IyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIiR7QFsnJywnJHtQRX1fJ11baW50KGQuZ2V0VmFy
KCdQRScpIG9yIDApID4gMF19IgpFWFRFTkRQRT0iIgojCiMgJEVYVEVORFBLR0VWRVIKIyAgIHNl
dCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjIwOQoj
ICAgICAiJHtAWycnLCcke1BLR0V9OiddW2QuZ2V0VmFyKCdQS0dFJykuc3RyaXAoKSAhPSAnJ119
IgpFWFRFTkRQS0dFVkVSPSIiCiMKIyAkRVhURU5EUEtHViBbMiBvcGVyYXRpb25zXQojICAgc2V0
PyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjIxMAoj
ICAgICAiJHtFWFRFTkRQS0dFVkVSfSR7UEtHVn0tJHtQS0dSfSIKIyAgIHNldCAvbWVkaWEvcmVi
ZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjE1NgojICAgICBb
ZG9jXSAiVGhlIGZ1bGwgcGFja2FnZSB2ZXJzaW9uIHNwZWNpZmljYXRpb24gYXMgaXQgYXBwZWFy
cyBvbiB0aGUgZmluYWwgcGFja2FnZXMgcHJvZHVjZWQgYnkgYSByZWNpcGUuIgojIHByZS1leHBh
bnNpb24gdmFsdWU6CiMgICAiJHtFWFRFTkRQS0dFVkVSfSR7UEtHVn0tJHtQS0dSfSIKRVhURU5E
UEtHVj0iMi45LjEtcjAiCiMKIyAkRVhURU5EUFJBVVRPCiMgICBzZXQgL21lZGlhL3JlYmVjY2Fz
L3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjoyMDMKIyAgICAgIiR7QFsnLiR7UFJB
VVRPfScsICcnXVtub3QgZC5nZXRWYXIoJ1BSQVVUTycpXX0iCkVYVEVORFBSQVVUTz0iIgojCiMg
JEVYVEVSTkFMU1JDCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25m
L2RvY3VtZW50YXRpb24uY29uZjoxNTcKIyAgICAgW2RvY10gIklmIGV4dGVybmFsc3JjLmJiY2xh
c3MgaXMgaW5oZXJpdGVkLCB0aGlzIHZhcmlhYmxlIHBvaW50cyB0byB0aGUgc291cmNlIHRyZWUs
IHdoaWNoIGlzIG91dHNpZGUgb2YgdGhlIE9wZW5FbWJlZGRlZCBidWlsZCBzeXN0ZW0uIgojCiMg
JEVYVEVSTkFMU1JDX0JVSUxECiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0
YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjoxNTgKIyAgICAgW2RvY10gIklmIGV4dGVybmFsc3Jj
LmJiY2xhc3MgaXMgaW5oZXJpdGVkLCB0aGlzIHZhcmlhYmxlIHBvaW50cyB0byB0aGUgZGlyZWN0
b3J5IGluIHdoaWNoIHRoZSByZWNpcGUncyBzb3VyY2UgY29kZSBpcyBidWlsdCwgd2hpY2ggaXMg
b3V0c2lkZSBvZiB0aGUgT3BlbkVtYmVkZGVkIGJ1aWxkIHN5c3RlbS4iCiMKIyAkRVhUUkFfSU1B
R0VERVBFTkRTIFszIG9wZXJhdGlvbnNdCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bv
a3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo0NDMKIyAgICAgIiIKIyAgIGFwcGVuZCAvbWVkaWEv
cmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3FlbXUuaW5jOjI0
CiMgICAgICJxZW11LW5hdGl2ZSBxZW11LWhlbHBlci1uYXRpdmUiCiMgICBzZXQgL21lZGlhL3Jl
YmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjoxNjAKIyAgICAg
W2RvY10gIkEgbGlzdCBvZiByZWNpcGVzIHRvIGJ1aWxkIHRoYXQgZG8gbm90IHByb3ZpZGUgcGFj
a2FnZXMgZm9yIGluc3RhbGxpbmcgaW50byB0aGUgcm9vdCBmaWxlc3lzdGVtLiBVc2UgdGhpcyB2
YXJpYWJsZSB0byBsaXN0IHJlY2lwZXMgdGhhdCBhcmUgcmVxdWlyZWQgdG8gYnVpbGQgdGhlIGZp
bmFsIGltYWdlLCBidXQgbm90IG5lZWRlZCBpbiB0aGUgcm9vdCBmaWxlc3lzdGVtLiIKIyBwcmUt
ZXhwYW5zaW9uIHZhbHVlOgojICAgIiBxZW11LW5hdGl2ZSBxZW11LWhlbHBlci1uYXRpdmUiCkVY
VFJBX0lNQUdFREVQRU5EUz0iIHFlbXUtbmF0aXZlIHFlbXUtaGVscGVyLW5hdGl2ZSIKIwojICRF
WFRSQV9JTUFHRV9GRUFUVVJFUyBbNSBvcGVyYXRpb25zXQojICAgc2V0IC9tZWRpYS9yZWJlY2Nh
cy95b2N0by9sdHRuZy9jb25mL3NpdGUuY29uZjoxNwojICAgICAiZGVidWctdHdlYWtzIgojICAg
YXBwZW5kIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy9jb25mL3NpdGUuY29uZjoyNAojICAg
ICAidG9vbHMtcHJvZmlsZSIKIyAgIHNldD8gL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL2Nv
bmYvbG9jYWwuY29uZjoxNDEKIyAgICAgImRlYnVnLXR3ZWFrcyIKIyAgIHNldCAvbWVkaWEvcmVi
ZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjE1OQojICAgICBb
ZG9jXSAiVGhlIGxpc3Qgb2YgYWRkaXRpb25hbCBmZWF0dXJlcyB0byBpbmNsdWRlIGluIGFuIGlt
YWdlLiBDb25maWd1cmUgdGhpcyB2YXJpYWJsZSBpbiB0aGUgY29uZi9sb2NhbC5jb25mIGZpbGUg
aW4gdGhlIEJ1aWxkIERpcmVjdG9yeS4iCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bv
a3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo3OTYKIyAgICAgW19kZWZhdWx0dmFsXSAiIgojIHBy
ZS1leHBhbnNpb24gdmFsdWU6CiMgICAiZGVidWctdHdlYWtzIHRvb2xzLXByb2ZpbGUiCkVYVFJB
X0lNQUdFX0ZFQVRVUkVTPSJkZWJ1Zy10d2Vha3MgdG9vbHMtcHJvZmlsZSIKIwojICRFWFRSQV9P
RUNNQUtFIFsyIG9wZXJhdGlvbnNdCiMgICBfYXBwZW5kW3BuLWxpYmljYWxdIC9tZWRpYS9yZWJl
Y2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9uby1zdGF0aWMtbGlicy5p
bmM6MzUKIyAgICAgIiAtRFNIQVJFRF9PTkxZPVRydWUiCiMgICBzZXQgL21lZGlhL3JlYmVjY2Fz
L3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjoxNjEKIyAgICAgW2RvY10g
IkFkZGl0aW9uYWwgY21ha2Ugb3B0aW9ucy4iCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICIi
CkVYVFJBX09FQ01BS0U9IiIKIwojICRFWFRSQV9PRUNPTkYgWzMgb3BlcmF0aW9uc10KIyAgIHNl
dCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjUyNQoj
ICAgICAiIgojICAgX2FwcGVuZCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYv
ZGlzdHJvL2luY2x1ZGUvbm8tc3RhdGljLWxpYnMuaW5jOjMzCiMgICAgICIke0RJU0FCTEVfU1RB
VElDfSIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZG9jdW1l
bnRhdGlvbi5jb25mOjE2MgojICAgICBbZG9jXSAiQWRkaXRpb25hbCBjb25maWd1cmUgc2NyaXB0
IG9wdGlvbnMuIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiJHtESVNBQkxFX1NUQVRJQ30i
CkVYVFJBX09FQ09ORj0iIC0tZGlzYWJsZS1zdGF0aWMiCiMKIyAkRVhUUkFfT0VNQUtFIFs2IG9w
ZXJhdGlvbnNdCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Jp
dGJha2UuY29uZjo1MjQKIyAgICAgIiIKIyAgIF9wcmVwZW5kW3Rhc2stY29tcGlsZV0gL21lZGlh
L3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo1NzUKIyAgICAgIiR7
UEFSQUxMRUxfTUFLRX0gIgojICAgX3ByZXBlbmRbdGFzay1pbnN0YWxsXSAvbWVkaWEvcmViZWNj
YXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjU3OAojICAgICAiJHtQQVJBTExF
TF9NQUtFSU5TVH0gIgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29u
Zi9kb2N1bWVudGF0aW9uLmNvbmY6MTYzCiMgICAgIFtkb2NdICJBZGRpdGlvbmFsIEdOVSBtYWtl
IG9wdGlvbnMuIgojICAgYXBwZW5kIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY2xh
c3Nlcy9tb2R1bGUuYmJjbGFzczo3CiMgICAgICJLRVJORUxfU1JDPSR7U1RBR0lOR19LRVJORUxf
RElSfSIKIyAgIGFwcGVuZCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL3JlY2lwZXMt
a2VybmVsL2x0dG5nL2x0dG5nLW1vZHVsZXNfMi45LjEuYmI6MjEKIyAgICAgIktFUk5FTERJUj0n
JHtTVEFHSU5HX0tFUk5FTF9ESVJ9JyIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIiBLRVJO
RUxfU1JDPSR7U1RBR0lOR19LRVJORUxfRElSfSBLRVJORUxESVI9JyR7U1RBR0lOR19LRVJORUxf
RElSfSciCkVYVFJBX09FTUFLRT0iIEtFUk5FTF9TUkM9L21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0
dG5nL3RtcC93b3JrLXNoYXJlZC9xZW11eDg2L2tlcm5lbC1zb3VyY2UgS0VSTkVMRElSPScvbWVk
aWEvcmViZWNjYXMveW9jdG8vbHR0bmcvdG1wL3dvcmstc2hhcmVkL3FlbXV4ODYva2VybmVsLXNv
dXJjZSciCiMKIyAkRVhUUkFfT0VTQ09OUwojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9w
b2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6MTY0CiMgICAgIFtkb2NdICJXaGVuIGEg
cmVjaXBlIGluaGVyaXRzIHRoZSBzY29ucyBjbGFzcywgdGhpcyB2YXJpYWJsZSBzcGVjaWZpZXMg
YWRkaXRpb25hbCBjb25maWd1cmF0aW9uIG9wdGlvbnMgeW91IHdhbnQgdG8gcGFzcyB0byB0aGUg
c2NvbnMgY29tbWFuZCBsaW5lLiIKIwojICRFWFRSQV9RTUFLRVZBUlNfUE9TVAojICAgc2V0IC9t
ZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6MTY1
CiMgICAgIFtkb2NdICJDb25maWd1cmF0aW9uIHZhcmlhYmxlcyBvciBvcHRpb25zIHlvdSB3YW50
IHRvIHBhc3MgdG8gcW1ha2Ugd2hlbiB0aGUgYXJndW1lbnRzIG5lZWQgdG8gYmUgYWZ0ZXIgdGhl
IC5wcm8gZmlsZSBsaXN0IG9uIHRoZSBjb21tYW5kIGxpbmUuIgojCiMgJEVYVFJBX1FNQUtFVkFS
U19QUkUKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZG9jdW1l
bnRhdGlvbi5jb25mOjE2NgojICAgICBbZG9jXSAiQ29uZmlndXJhdGlvbiB2YXJpYWJsZXMgb3Ig
b3B0aW9ucyB5b3Ugd2FudCB0byBwYXNzIHRvIHFtYWtlIHdoZW4gdGhlIGFyZ3VtZW50cyBuZWVk
IHRvIGJlIGJlZm9yZSB0aGUgLnBybyBmaWxlIGxpc3Qgb24gdGhlIGNvbW1hbmQgbGluZS4iCiMK
IyAkRVhUUkFfU1RBR0lOR19GSVhNRVMKIyAgIHNldD8gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bv
a3kvbWV0YS9jbGFzc2VzL3NzdGF0ZS5iYmNsYXNzOjU3CiMgICAgICJIT1NUVE9PTFNfRElSIgpF
WFRSQV9TVEFHSU5HX0ZJWE1FUz0iSE9TVFRPT0xTX0RJUiIKIwojICRFWFRSQV9VU0VSU19QQVJB
TVMKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRh
dGlvbi5jb25mOjE2NwojICAgICBbZG9jXSAiV2hlbiBhIHJlY2lwZSBpbmhlcml0cyB0aGUgZXh0
cmF1c2VycyBjbGFzcywgdGhpcyB2YXJpYWJsZSBwcm92aWRlcyBpbWFnZSBsZXZlbCB1c2VyIGFu
ZCBncm91cCBvcGVyYXRpb25zLiIKIwojICRGQUtFUk9PVEJBU0VFTlYKIyAgIHNldCAvbWVkaWEv
cmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjY2NwojICAgICAiUFNF
VURPX0JJTkRJUj0ke1BTRVVET19TWVNST09UfSR7YmluZGlyX25hdGl2ZX0gUFNFVURPX0xJQkRJ
Uj0ke1BTRVVET19TWVNST09UfSR7cHJlZml4X25hdGl2ZX0vbGliL3BzZXVkby9saWIgUFNFVURP
X1BSRUZJWD0ke1BTRVVET19TWVNST09UfSR7cHJlZml4X25hdGl2ZX0gUFNFVURPX0RJU0FCTEVE
PTEiCkZBS0VST09UQkFTRUVOVj0iUFNFVURPX0JJTkRJUj0vbWVkaWEvcmViZWNjYXMveW9jdG8v
bHR0bmcvdG1wL3N5c3Jvb3RzLWNvbXBvbmVudHMveDg2XzY0L3BzZXVkby1uYXRpdmUvdXNyL2Jp
biBQU0VVRE9fTElCRElSPS9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy90bXAvc3lzcm9vdHMt
Y29tcG9uZW50cy94ODZfNjQvcHNldWRvLW5hdGl2ZS91c3IvbGliL3BzZXVkby9saWIgUFNFVURP
X1BSRUZJWD0vbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvdG1wL3N5c3Jvb3RzLWNvbXBvbmVu
dHMveDg2XzY0L3BzZXVkby1uYXRpdmUvdXNyIFBTRVVET19ESVNBQkxFRD0xIgojCiMgJEZBS0VS
T09UQ01ECiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJh
a2UuY29uZjo2NjgKIyAgICAgIiR7UFNFVURPX1NZU1JPT1R9JHtiaW5kaXJfbmF0aXZlfS9wc2V1
ZG8iCkZBS0VST09UQ01EPSIvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvdG1wL3N5c3Jvb3Rz
LWNvbXBvbmVudHMveDg2XzY0L3BzZXVkby1uYXRpdmUvdXNyL2Jpbi9wc2V1ZG8iCiMKIyAkRkFL
RVJPT1RESVJTCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Jp
dGJha2UuY29uZjo2NzEKIyAgICAgIiR7UFNFVURPX0xPQ0FMU1RBVEVESVJ9IgpGQUtFUk9PVERJ
UlM9Ii9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy90bXAvd29yay9xZW11eDg2LXBva3ktbGlu
dXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9wc2V1ZG8vIgojCiMgJEZBS0VST09URU5WCiMgICBz
ZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo2NjkK
IyAgICAgIlBTRVVET19QUkVGSVg9JHtQU0VVRE9fU1lTUk9PVH0ke3ByZWZpeF9uYXRpdmV9IFBT
RVVET19MT0NBTFNUQVRFRElSPSR7UFNFVURPX0xPQ0FMU1RBVEVESVJ9IFBTRVVET19QQVNTV0Q9
JHtQU0VVRE9fUEFTU1dEfSBQU0VVRE9fTk9TWU1MSU5LRVhQPTEgUFNFVURPX0RJU0FCTEVEPTAi
CkZBS0VST09URU5WPSJQU0VVRE9fUFJFRklYPS9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy90
bXAvc3lzcm9vdHMtY29tcG9uZW50cy94ODZfNjQvcHNldWRvLW5hdGl2ZS91c3IgUFNFVURPX0xP
Q0FMU1RBVEVESVI9L21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL3RtcC93b3JrL3FlbXV4ODYt
cG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL3BzZXVkby8gUFNFVURPX1BBU1NXRD0v
bWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvdG1wL3dvcmsvcWVtdXg4Ni1wb2t5LWxpbnV4L2x0
dG5nLW1vZHVsZXMvMi45LjEtcjAvcmVjaXBlLXN5c3Jvb3Q6L21lZGlhL3JlYmVjY2FzL3lvY3Rv
L2x0dG5nL3RtcC9zeXNyb290cy1jb21wb25lbnRzL3g4Nl82NC9wc2V1ZG8tbmF0aXZlIFBTRVVE
T19OT1NZTUxJTktFWFA9MSBQU0VVRE9fRElTQUJMRUQ9MCIKIwojICRGQUtFUk9PVE5PRU5WCiMg
ICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo2
NzAKIyAgICAgIlBTRVVET19VTkxPQUQ9MSIKRkFLRVJPT1ROT0VOVj0iUFNFVURPX1VOTE9BRD0x
IgojCiMgJEZBS0VST09UX1FBIFsyIG9wZXJhdGlvbnNdCiMgICBzZXQgL21lZGlhL3JlYmVjY2Fz
L3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL2luc2FuZS5iYmNsYXNzOjQzCiMgICAgICJob3N0LXVz
ZXItY29udGFtaW5hdGVkIgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEv
Y2xhc3Nlcy9pbnNhbmUuYmJjbGFzczo0NQojICAgICBbZG9jXSAiUUEgdGVzdHMgd2hpY2ggbmVl
ZCB0byBydW4gdW5kZXIgZmFrZXJvb3QuIElmIGFueSBlbmFibGVkIHRlc3RzIGFyZSBsaXN0ZWQg
aGVyZSwgdGhlIGRvX3BhY2thZ2VfcWEgdGFzayB3aWxsIHJ1biB1bmRlciBmYWtlcm9vdC4iCiMg
cHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICJob3N0LXVzZXItY29udGFtaW5hdGVkIgpGQUtFUk9P
VF9RQT0iaG9zdC11c2VyLWNvbnRhbWluYXRlZCIKIwojICRGQyBbMiBvcGVyYXRpb25zXQojICAg
ZXhwb3J0ZWQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29u
Zjo0OTYKIyAgICAgW2V4cG9ydF0gIjEiCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bv
a3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo0OTYKIyAgICAgIiR7Q0NBQ0hFfSR7SE9TVF9QUkVG
SVh9Z2ZvcnRyYW4gJHtIT1NUX0NDX0FSQ0h9JHtUT09MQ0hBSU5fT1BUSU9OU30iCiMgcHJlLWV4
cGFuc2lvbiB2YWx1ZToKIyAgICIke0NDQUNIRX0ke0hPU1RfUFJFRklYfWdmb3J0cmFuICR7SE9T
VF9DQ19BUkNIfSR7VE9PTENIQUlOX09QVElPTlN9IgpleHBvcnQgRkM9Imk1ODYtcG9reS1saW51
eC1nZm9ydHJhbiAgLW0zMiAtbWFyY2g9aTU4NiAtLXN5c3Jvb3Q9L21lZGlhL3JlYmVjY2FzL3lv
Y3RvL2x0dG5nL3RtcC93b3JrL3FlbXV4ODYtcG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4x
LXIwL3JlY2lwZS1zeXNyb290IgojCiMgJEZFRURfREVQTE9ZRElSX0JBU0VfVVJJCiMgICBzZXQg
L21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjox
NzEKIyAgICAgW2RvY10gIkFsbG93IHRvIHNlcnZlIGlwayBkZXBsb3kgZGlyZWN0b3J5IGFzIGFu
IGFkIGhvYyBmZWVkIChib2dvZmVlZCkuIFNldCB0byBiYXNlIFVSTCBvZiB0aGUgZGlyZWN0b3J5
IGFzIGV4cG9ydGVkIGJ5IEhUVFAuIFNldCBvZiBhZCBob2MgZmVlZCBjb25maWdzIHdpbGwgYmUg
Z2VuZXJhdGVkIGluIHRoZSBpbWFnZS4iCiMKIyAkRkVUQ0hDTURfYnpyCiMgICBzZXQgL21lZGlh
L3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo2NDcKIyAgICAgIi91
c3IvYmluL2VudiBienIiCkZFVENIQ01EX2J6cj0iL3Vzci9iaW4vZW52IGJ6ciIKIwojICRGRVRD
SENNRF9jdnMKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0
YmFrZS5jb25mOjY0NQojICAgICAiL3Vzci9iaW4vZW52IGN2cyIKRkVUQ0hDTURfY3ZzPSIvdXNy
L2Jpbi9lbnYgY3ZzIgojCiMgJEZFVENIQ01EX2hnCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lv
Y3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo2NDgKIyAgICAgIi91c3IvYmluL2VudiBo
ZyIKRkVUQ0hDTURfaGc9Ii91c3IvYmluL2VudiBoZyIKIwojICRGRVRDSENNRF9zdm4KIyAgIHNl
dCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjY0NAoj
ICAgICAiL3Vzci9iaW4vZW52IHN2biAtLW5vbi1pbnRlcmFjdGl2ZSAtLXRydXN0LXNlcnZlci1j
ZXJ0IgpGRVRDSENNRF9zdm49Ii91c3IvYmluL2VudiBzdm4gLS1ub24taW50ZXJhY3RpdmUgLS10
cnVzdC1zZXJ2ZXItY2VydCIKIwojICRGRVRDSENNRF93Z2V0CiMgICBzZXQgL21lZGlhL3JlYmVj
Y2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo2NDYKIyAgICAgIi91c3IvYmlu
L2VudiB3Z2V0IC10IDIgLVQgMzAgLW52IC0tcGFzc2l2ZS1mdHAgLS1uby1jaGVjay1jZXJ0aWZp
Y2F0ZSIKRkVUQ0hDTURfd2dldD0iL3Vzci9iaW4vZW52IHdnZXQgLXQgMiAtVCAzMCAtbnYgLS1w
YXNzaXZlLWZ0cCAtLW5vLWNoZWNrLWNlcnRpZmljYXRlIgojCiMgJEZJTEUgWzY4IG9wZXJhdGlv
bnNdCiMgICBzZXQgQ29uZkhhbmRsZXIucHk6MTU2IFtoYW5kbGVdCiMgICAgICIvbWVkaWEvcmVi
ZWNjYXMveW9jdG8vbHR0bmcvY29uZi9iYmxheWVycy5jb25mIgojICAgc2V0IENvbmZIYW5kbGVy
LnB5OjE1NiBbaGFuZGxlXQojICAgICAiL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9j
b25mL2xheWVyLmNvbmYiCiMgICBzZXQgQ29uZkhhbmRsZXIucHk6MTU5IFtoYW5kbGVdCiMgICAg
ICIvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvY29uZi9iYmxheWVycy5jb25mIgojICAgc2V0
IENvbmZIYW5kbGVyLnB5OjE1NiBbaGFuZGxlXQojICAgICAiL21lZGlhL3JlYmVjY2FzL3lvY3Rv
L3Bva3kvbWV0YS1wb2t5L2NvbmYvbGF5ZXIuY29uZiIKIyAgIHNldCBDb25mSGFuZGxlci5weTox
NTkgW2hhbmRsZV0KIyAgICAgIi9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy9jb25mL2JibGF5
ZXJzLmNvbmYiCiMgICBzZXQgQ29uZkhhbmRsZXIucHk6MTU2IFtoYW5kbGVdCiMgICAgICIvbWVk
aWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXlvY3RvLWJzcC9jb25mL2xheWVyLmNvbmYiCiMg
ICBzZXQgQ29uZkhhbmRsZXIucHk6MTU5IFtoYW5kbGVdCiMgICAgICIvbWVkaWEvcmViZWNjYXMv
eW9jdG8vbHR0bmcvY29uZi9iYmxheWVycy5jb25mIgojICAgc2V0IENvbmZIYW5kbGVyLnB5OjE1
NiBbaGFuZGxlXQojICAgICAiL21lZGlhL3JlYmVjY2FzL3lvY3RvL21ldGEtaW50ZWwtY29udHJp
Yi9jb25mL2xheWVyLmNvbmYiCiMgICBzZXQgQkJIYW5kbGVyLnB5OjE0MiBbaGFuZGxlXQojICAg
ICAiL21lZGlhL3JlYmVjY2FzL3lvY3RvL21ldGEtaW50ZWwtY29udHJpYi9jb25mL2luY2x1ZGUv
bWFpbnRhaW5lcnMuaW5jIgojICAgc2V0IEJCSGFuZGxlci5weToxNjAgW2hhbmRsZV0KIyAgICAg
Ii9tZWRpYS9yZWJlY2Nhcy95b2N0by9tZXRhLWludGVsLWNvbnRyaWIvY29uZi9sYXllci5jb25m
IgojICAgc2V0IENvbmZIYW5kbGVyLnB5OjE1OSBbaGFuZGxlXQojICAgICAiL21lZGlhL3JlYmVj
Y2FzL3lvY3RvL2x0dG5nL2NvbmYvYmJsYXllcnMuY29uZiIKIyAgIHNldCBDb25mSGFuZGxlci5w
eToxNTYgW2hhbmRsZV0KIyAgICAgIi9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29u
Zi9iaXRiYWtlLmNvbmYiCiMgICBzZXQgQ29uZkhhbmRsZXIucHk6MTU2IFtoYW5kbGVdCiMgICAg
ICIvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYWJpX3ZlcnNpb24uY29uZiIK
IyAgIHNldCBDb25mSGFuZGxlci5weToxNTkgW2hhbmRsZV0KIyAgICAgIi9tZWRpYS9yZWJlY2Nh
cy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmYiCiMgICBzZXQgQ29uZkhhbmRsZXIu
cHk6MTU2IFtoYW5kbGVdCiMgICAgICIvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvY29uZi9z
aXRlLmNvbmYiCiMgICBzZXQgQ29uZkhhbmRsZXIucHk6MTU5IFtoYW5kbGVdCiMgICAgICIvbWVk
aWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mIgojICAgc2V0IENv
bmZIYW5kbGVyLnB5OjE1NiBbaGFuZGxlXQojICAgICAiL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0
dG5nL2NvbmYvbG9jYWwuY29uZiIKIyAgIHNldCBDb25mSGFuZGxlci5weToxNTkgW2hhbmRsZV0K
IyAgICAgIi9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmYi
CiMgICBzZXQgQ29uZkhhbmRsZXIucHk6MTU2IFtoYW5kbGVdCiMgICAgICIvbWVkaWEvcmViZWNj
YXMveW9jdG8vcG9reS9tZXRhL2NvbmYvbXVsdGljb25maWcvZGVmYXVsdC5jb25mIgojICAgc2V0
IENvbmZIYW5kbGVyLnB5OjE1OSBbaGFuZGxlXQojICAgICAiL21lZGlhL3JlYmVjY2FzL3lvY3Rv
L3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZiIKIyAgIHNldCBDb25mSGFuZGxlci5weToxNTYg
W2hhbmRsZV0KIyAgICAgIi9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9tYWNo
aW5lL3FlbXV4ODYuY29uZiIKIyAgIHNldCBCQkhhbmRsZXIucHk6MTQyIFtoYW5kbGVdCiMgICAg
ICIvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3Fl
bXUuaW5jIgojICAgc2V0IEJCSGFuZGxlci5weToxNjAgW2hhbmRsZV0KIyAgICAgIi9tZWRpYS9y
ZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9tYWNoaW5lL3FlbXV4ODYuY29uZiIKIyAgIHNl
dCBCQkhhbmRsZXIucHk6MTQyIFtoYW5kbGVdCiMgICAgICIvbWVkaWEvcmViZWNjYXMveW9jdG8v
cG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3R1bmUtaTU4Ni5pbmMiCiMgICBzZXQgQkJI
YW5kbGVyLnB5OjE0MiBbaGFuZGxlXQojICAgICAiL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kv
bWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS94ODYvYXJjaC14ODYuaW5jIgojICAgc2V0IEJCSGFu
ZGxlci5weToxNjAgW2hhbmRsZV0KIyAgICAgIi9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21l
dGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvdHVuZS1pNTg2LmluYyIKIyAgIHNldCBCQkhhbmRsZXIu
cHk6MTYwIFtoYW5kbGVdCiMgICAgICIvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2Nv
bmYvbWFjaGluZS9xZW11eDg2LmNvbmYiCiMgICBzZXQgQkJIYW5kbGVyLnB5OjE0MiBbaGFuZGxl
XQojICAgICAiL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5j
bHVkZS9xZW11Ym9vdC14ODYuaW5jIgojICAgc2V0IEJCSGFuZGxlci5weToxNjAgW2hhbmRsZV0K
IyAgICAgIi9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9tYWNoaW5lL3FlbXV4
ODYuY29uZiIKIyAgIHNldCBDb25mSGFuZGxlci5weToxNTkgW2hhbmRsZV0KIyAgICAgIi9tZWRp
YS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmYiCiMgICBzZXQgQ29u
ZkhhbmRsZXIucHk6MTU2IFtoYW5kbGVdCiMgICAgICIvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9r
eS9tZXRhL2NvbmYvbWFjaGluZS1zZGsveDg2XzY0LmNvbmYiCiMgICBzZXQgQ29uZkhhbmRsZXIu
cHk6MTU5IFtoYW5kbGVdCiMgICAgICIvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2Nv
bmYvYml0YmFrZS5jb25mIgojICAgc2V0IENvbmZIYW5kbGVyLnB5OjE1NiBbaGFuZGxlXQojICAg
ICAiL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5L2NvbmYvZGlzdHJvL3Bva3ku
Y29uZiIKIyAgIHNldCBCQkhhbmRsZXIucHk6MTQyIFtoYW5kbGVdCiMgICAgICIvbWVkaWEvcmVi
ZWNjYXMveW9jdG8vcG9reS9tZXRhLXBva3kvY29uZi9kaXN0cm8vaW5jbHVkZS9wb2t5LXdvcmxk
LWV4Y2x1ZGUuaW5jIgojICAgc2V0IEJCSGFuZGxlci5weToxNjAgW2hhbmRsZV0KIyAgICAgIi9t
ZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEtcG9reS9jb25mL2Rpc3Ryby9wb2t5LmNvbmYi
CiMgICBzZXQgQkJIYW5kbGVyLnB5OjE0MiBbaGFuZGxlXQojICAgICAiL21lZGlhL3JlYmVjY2Fz
L3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL25vLXN0YXRpYy1saWJzLmluYyIK
IyAgIHNldCBCQkhhbmRsZXIucHk6MTYwIFtoYW5kbGVdCiMgICAgICIvbWVkaWEvcmViZWNjYXMv
eW9jdG8vcG9reS9tZXRhLXBva3kvY29uZi9kaXN0cm8vcG9reS5jb25mIgojICAgc2V0IEJCSGFu
ZGxlci5weToxNDIgW2hhbmRsZV0KIyAgICAgIi9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21l
dGEvY29uZi9kaXN0cm8vaW5jbHVkZS95b2N0by11bmluYXRpdmUuaW5jIgojICAgc2V0IEJCSGFu
ZGxlci5weToxNjAgW2hhbmRsZV0KIyAgICAgIi9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21l
dGEtcG9reS9jb25mL2Rpc3Ryby9wb2t5LmNvbmYiCiMgICBzZXQgQ29uZkhhbmRsZXIucHk6MTU5
IFtoYW5kbGVdCiMgICAgICIvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0
YmFrZS5jb25mIgojICAgc2V0IENvbmZIYW5kbGVyLnB5OjE1NiBbaGFuZGxlXQojICAgICAiL21l
ZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9kZWZhdWx0c2V0dXAuY29u
ZiIKIyAgIHNldCBCQkhhbmRsZXIucHk6MTQyIFtoYW5kbGVdCiMgICAgICIvbWVkaWEvcmViZWNj
YXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvZGVmYXVsdC1wcm92aWRlcnMu
aW5jIgojICAgc2V0IEJCSGFuZGxlci5weToxNjAgW2hhbmRsZV0KIyAgICAgIi9tZWRpYS9yZWJl
Y2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8vZGVmYXVsdHNldHVwLmNvbmYiCiMgICBz
ZXQgQkJIYW5kbGVyLnB5OjE0MiBbaGFuZGxlXQojICAgICAiL21lZGlhL3JlYmVjY2FzL3lvY3Rv
L3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL2RlZmF1bHQtdmVyc2lvbnMuaW5jIgojICAg
c2V0IEJCSGFuZGxlci5weToxNjAgW2hhbmRsZV0KIyAgICAgIi9tZWRpYS9yZWJlY2Nhcy95b2N0
by9wb2t5L21ldGEvY29uZi9kaXN0cm8vZGVmYXVsdHNldHVwLmNvbmYiCiMgICBzZXQgQkJIYW5k
bGVyLnB5OjE0MiBbaGFuZGxlXQojICAgICAiL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0
YS9jb25mL2Rpc3Ryby9pbmNsdWRlL2RlZmF1bHQtZGlzdHJvdmFycy5pbmMiCiMgICBzZXQgQkJI
YW5kbGVyLnB5OjE2MCBbaGFuZGxlXQojICAgICAiL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kv
bWV0YS9jb25mL2Rpc3Ryby9kZWZhdWx0c2V0dXAuY29uZiIKIyAgIHNldCBCQkhhbmRsZXIucHk6
MTQyIFtoYW5kbGVdCiMgICAgICIvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYv
ZGlzdHJvL2luY2x1ZGUvd29ybGQtYnJva2VuLmluYyIKIyAgIHNldCBCQkhhbmRsZXIucHk6MTYw
IFtoYW5kbGVdCiMgICAgICIvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlz
dHJvL2RlZmF1bHRzZXR1cC5jb25mIgojICAgc2V0IEJCSGFuZGxlci5weToxNDIgW2hhbmRsZV0K
IyAgICAgIi9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVk
ZS90Y21vZGUtZGVmYXVsdC5pbmMiCiMgICBzZXQgQkJIYW5kbGVyLnB5OjE0MiBbaGFuZGxlXQoj
ICAgICAiL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRl
L2FzLW5lZWRlZC5pbmMiCiMgICBzZXQgQkJIYW5kbGVyLnB5OjE2MCBbaGFuZGxlXQojICAgICAi
L21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL3RjbW9k
ZS1kZWZhdWx0LmluYyIKIyAgIHNldCBCQkhhbmRsZXIucHk6MTYwIFtoYW5kbGVdCiMgICAgICIv
bWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2RlZmF1bHRzZXR1cC5j
b25mIgojICAgc2V0IEJCSGFuZGxlci5weToxNDIgW2hhbmRsZV0KIyAgICAgIi9tZWRpYS9yZWJl
Y2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS90Y2xpYmMtZ2xpYmMuaW5j
IgojICAgc2V0IEJCSGFuZGxlci5weToxNjAgW2hhbmRsZV0KIyAgICAgIi9tZWRpYS9yZWJlY2Nh
cy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8vZGVmYXVsdHNldHVwLmNvbmYiCiMgICBzZXQg
QkJIYW5kbGVyLnB5OjE0MiBbaGFuZGxlXQojICAgICAiL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bv
a3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL3VuaW5hdGl2ZS1mbGFncy5pbmMiCiMgICBzZXQg
QkJIYW5kbGVyLnB5OjE2MCBbaGFuZGxlXQojICAgICAiL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bv
a3kvbWV0YS9jb25mL2Rpc3Ryby9kZWZhdWx0c2V0dXAuY29uZiIKIyAgIHNldCBDb25mSGFuZGxl
ci5weToxNTkgW2hhbmRsZV0KIyAgICAgIi9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEv
Y29uZi9iaXRiYWtlLmNvbmYiCiMgICBzZXQgQ29uZkhhbmRsZXIucHk6MTU2IFtoYW5kbGVdCiMg
ICAgICIvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5j
b25mIgojICAgc2V0IENvbmZIYW5kbGVyLnB5OjE1OSBbaGFuZGxlXQojICAgICAiL21lZGlhL3Jl
YmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZiIKIyAgIHNldCBDb25mSGFu
ZGxlci5weToxNTYgW2hhbmRsZV0KIyAgICAgIi9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21l
dGEvY29uZi9saWNlbnNlcy5jb25mIgojICAgc2V0IENvbmZIYW5kbGVyLnB5OjE1OSBbaGFuZGxl
XQojICAgICAiL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29u
ZiIKIyAgIHNldCBDb25mSGFuZGxlci5weToxNTYgW2hhbmRsZV0KIyAgICAgIi9tZWRpYS9yZWJl
Y2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9zYW5pdHkuY29uZiIKIyAgIHNldCBDb25mSGFuZGxl
ci5weToxNTkgW2hhbmRsZV0KIyAgICAgIi9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEv
Y29uZi9iaXRiYWtlLmNvbmYiCiMgICBzZXQgQ29uZkhhbmRsZXIucHk6MTU5IFtoYW5kbGVdCiMg
ICAgICIvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvY29uZi9iYmxheWVycy5jb25mIgojICAg
c2V0IEJCSGFuZGxlci5weToxNDIgW2hhbmRsZV0KIyAgICAgIi9tZWRpYS9yZWJlY2Nhcy95b2N0
by9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbHR0bmcvbHR0bmctbW9kdWxlc18yLjkuMS5iYiIK
IyAgIHNldCBCQkhhbmRsZXIucHk6MTQyIFtoYW5kbGVdCiMgICAgICIvbWVkaWEvcmViZWNjYXMv
eW9jdG8vbWV0YS1pbnRlbC1jb250cmliL2NvbW1vbi9yZWNpcGVzLWtlcm5lbC9sdHRuZy9sdHRu
Zy1tb2R1bGVzXyUuYmJhcHBlbmQiCiMgICBzZXQgQkJIYW5kbGVyLnB5OjE2MCBbaGFuZGxlXQoj
ICAgICAiL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9sdHRu
Zy9sdHRuZy1tb2R1bGVzXzIuOS4xLmJiIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiL21l
ZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9sdHRuZy9sdHRuZy1t
b2R1bGVzXzIuOS4xLmJiIgpGSUxFPSIvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL3Jl
Y2lwZXMta2VybmVsL2x0dG5nL2x0dG5nLW1vZHVsZXNfMi45LjEuYmIiCiMKIyAkRklMRVMgWzkg
b3BlcmF0aW9uc10KIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYv
Yml0YmFrZS5jb25mOjI4MAojICAgICAiIgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9w
b2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6MTcyCiMgICAgIFtkb2NdICJUaGUgbGlz
dCBvZiBkaXJlY3RvcmllcyBvciBmaWxlcyB0aGF0IGFyZSBwbGFjZWQgaW4gcGFja2FnZXMuIgoj
ICAgb3ZlcnJpZGVbbHR0bmctbW9kdWxlc106cmVuYW1lIGZyb20gRklMRVNfJHtQTn0gZGF0YS5w
eToxMTYgW2V4cGFuZEtleXNdCiMgICAgICIiCiMgICBvdmVycmlkZVtsdHRuZy1tb2R1bGVzLWJp
bl06cmVuYW1lIGZyb20gRklMRVNfJHtQTn0tYmluIGRhdGEucHk6MTE2IFtleHBhbmRLZXlzXQoj
ICAgICAiJHtiaW5kaXJ9LyogJHtzYmluZGlyfS8qIgojICAgb3ZlcnJpZGVbbHR0bmctbW9kdWxl
cy1kYmddOnJlbmFtZSBmcm9tIEZJTEVTXyR7UE59LWRiZyBkYXRhLnB5OjExNiBbZXhwYW5kS2V5
c10KIyAgICAgIi91c3IvbGliL2RlYnVnIC91c3Ivc3JjL2RlYnVnIgojICAgb3ZlcnJpZGVbbHR0
bmctbW9kdWxlcy1kZXZdOnJlbmFtZSBmcm9tIEZJTEVTXyR7UE59LWRldiBkYXRhLnB5OjExNiBb
ZXhwYW5kS2V5c10KIyAgICAgIiR7aW5jbHVkZWRpcn0gJHtGSUxFU19TT0xJQlNERVZ9ICR7bGli
ZGlyfS8qLmxhICR7bGliZGlyfS8qLm8gJHtsaWJkaXJ9L3BrZ2NvbmZpZyAke2RhdGFkaXJ9L3Br
Z2NvbmZpZyAke2RhdGFkaXJ9L2FjbG9jYWwgJHtiYXNlX2xpYmRpcn0vKi5vICR7bGliZGlyfS8k
e0JQTn0vKi5sYSAke2Jhc2VfbGliZGlyfS8qLmxhIgojICAgb3ZlcnJpZGVbbHR0bmctbW9kdWxl
cy1kb2NdOnJlbmFtZSBmcm9tIEZJTEVTXyR7UE59LWRvYyBkYXRhLnB5OjExNiBbZXhwYW5kS2V5
c10KIyAgICAgIiR7ZG9jZGlyfSAke21hbmRpcn0gJHtpbmZvZGlyfSAke2RhdGFkaXJ9L2d0ay1k
b2MgJHtkYXRhZGlyfS9nbm9tZS9oZWxwIgojICAgb3ZlcnJpZGVbbHR0bmctbW9kdWxlcy1sb2Nh
bGVdOnJlbmFtZSBmcm9tIEZJTEVTXyR7UE59LWxvY2FsZSBkYXRhLnB5OjExNiBbZXhwYW5kS2V5
c10KIyAgICAgIiR7ZGF0YWRpcn0vbG9jYWxlIgojICAgb3ZlcnJpZGVbbHR0bmctbW9kdWxlcy1z
dGF0aWNkZXZdOnJlbmFtZSBmcm9tIEZJTEVTXyR7UE59LXN0YXRpY2RldiBkYXRhLnB5OjExNiBb
ZXhwYW5kS2V5c10KIyAgICAgIiR7bGliZGlyfS8qLmEgJHtiYXNlX2xpYmRpcn0vKi5hICR7bGli
ZGlyfS8ke0JQTn0vKi5hIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiIgpGSUxFUz0iIgoj
CiMgJEZJTEVTRVhUUkFQQVRIUyBbMyBvcGVyYXRpb25zXQojICAgc2V0PyAvbWVkaWEvcmViZWNj
YXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjMyNQojICAgICAiX19kZWZhdWx0
OiIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRh
dGlvbi5jb25mOjE3MwojICAgICBbZG9jXSAiRXh0ZW5kcyB0aGUgc2VhcmNoIHBhdGggdGhlIE9w
ZW5FbWJlZGRlZCBidWlsZCBzeXN0ZW0gdXNlcyB3aGVuIGxvb2tpbmcgZm9yIGZpbGVzIGFuZCBw
YXRjaGVzIGFzIGl0IHByb2Nlc3NlcyByZWNpcGVzIGFuZCBhcHBlbmQgZmlsZXMuIgojICAgX3By
ZXBlbmRbaW50ZWwteDg2LWNvbW1vbl0gL21lZGlhL3JlYmVjY2FzL3lvY3RvL21ldGEtaW50ZWwt
Y29udHJpYi9jb21tb24vcmVjaXBlcy1rZXJuZWwvbHR0bmcvbHR0bmctbW9kdWxlc18lLmJiYXBw
ZW5kOjEKIyAgICAgIi9tZWRpYS9yZWJlY2Nhcy95b2N0by9tZXRhLWludGVsLWNvbnRyaWIvY29t
bW9uL3JlY2lwZXMta2VybmVsL2x0dG5nL2x0dG5nLW1vZHVsZXM6IgojIHByZS1leHBhbnNpb24g
dmFsdWU6CiMgICAiX19kZWZhdWx0OiIKRklMRVNFWFRSQVBBVEhTPSJfX2RlZmF1bHQ6IgojCiMg
JEZJTEVTT1ZFUlJJREVTIFsyIG9wZXJhdGlvbnNdCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lv
Y3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo3MjMKIyAgICAgIiR7VFJBTlNMQVRFRF9U
QVJHRVRfQVJDSH06JHtNQUNISU5FT1ZFUlJJREVTfToke0RJU1RST09WRVJSSURFU30iCiMgICBz
ZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29u
ZjoxNzQKIyAgICAgW2RvY10gIkEgc3Vic2V0IG9mIE9WRVJSSURFUyB1c2VkIGJ5IHRoZSBPcGVu
RW1iZWRkZWQgYnVpbGQgc3lzdGVtIGZvciBjcmVhdGluZyBGSUxFU1BBVEguIgojIHByZS1leHBh
bnNpb24gdmFsdWU6CiMgICAiJHtUUkFOU0xBVEVEX1RBUkdFVF9BUkNIfToke01BQ0hJTkVPVkVS
UklERVN9OiR7RElTVFJPT1ZFUlJJREVTfSIKRklMRVNPVkVSUklERVM9Imk1ODY6eDg2OnFlbXVh
bGw6cWVtdXg4Njpwb2t5IgojCiMgJEZJTEVTUEFUSCBbMiBvcGVyYXRpb25zXQojICAgc2V0IC9t
ZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6MTc1
CiMgICAgIFtkb2NdICJUaGUgZGVmYXVsdCBzZXQgb2YgZGlyZWN0b3JpZXMgdGhlIE9wZW5FbWJl
ZGRlZCBidWlsZCBzeXN0ZW0gdXNlcyB3aGVuIHNlYXJjaGluZyBmb3IgcGF0Y2hlcyBhbmQgZmls
ZXMuIEl0IGlzIGRlZmluZWQgaW4gdGhlIGJhc2UuYmJjbGFzcyBjbGFzcyBmb3VuZCBpbiBtZXRh
L2NsYXNzZXMgaW4gdGhlIFNvdXJjZSBEaXJlY3RvcnkuIERvIG5vdCBoYW5kLWVkaXQgdGhlIEZJ
TEVTUEFUSCB2YXJpYWJsZS4iCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0
YS9jbGFzc2VzL2Jhc2UuYmJjbGFzczo4MwojICAgICAiJHtAYmFzZV9zZXRfZmlsZXNwYXRoKFsi
JHtGSUxFX0RJUk5BTUV9LyR7QlB9IiwgIiR7RklMRV9ESVJOQU1FfS8ke0JQTn0iLCAiJHtGSUxF
X0RJUk5BTUV9L2ZpbGVzIl0sIGQpfSIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIiR7QGJh
c2Vfc2V0X2ZpbGVzcGF0aChbIiR7RklMRV9ESVJOQU1FfS8ke0JQfSIsICIke0ZJTEVfRElSTkFN
RX0vJHtCUE59IiwgIiR7RklMRV9ESVJOQU1FfS9maWxlcyJdLCBkKX0iCkZJTEVTUEFUSD0iL21l
ZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9sdHRuZy9sdHRuZy1t
b2R1bGVzLTIuOS4xL3Bva3k6L21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9yZWNpcGVz
LWtlcm5lbC9sdHRuZy9sdHRuZy1tb2R1bGVzL3Bva3k6L21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bv
a3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9sdHRuZy9maWxlcy9wb2t5Oi9tZWRpYS9yZWJlY2Nhcy95
b2N0by9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbHR0bmcvbHR0bmctbW9kdWxlcy0yLjkuMS9x
ZW11eDg2Oi9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbHR0
bmcvbHR0bmctbW9kdWxlcy9xZW11eDg2Oi9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEv
cmVjaXBlcy1rZXJuZWwvbHR0bmcvZmlsZXMvcWVtdXg4NjovbWVkaWEvcmViZWNjYXMveW9jdG8v
cG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2x0dG5nL2x0dG5nLW1vZHVsZXMtMi45LjEvcWVtdWFs
bDovbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2x0dG5nL2x0
dG5nLW1vZHVsZXMvcWVtdWFsbDovbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL3JlY2lw
ZXMta2VybmVsL2x0dG5nL2ZpbGVzL3FlbXVhbGw6L21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kv
bWV0YS9yZWNpcGVzLWtlcm5lbC9sdHRuZy9sdHRuZy1tb2R1bGVzLTIuOS4xL3g4NjovbWVkaWEv
cmViZWNjYXMveW9jdG8vcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2x0dG5nL2x0dG5nLW1vZHVs
ZXMveDg2Oi9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbHR0
bmcvZmlsZXMveDg2Oi9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvcmVjaXBlcy1rZXJu
ZWwvbHR0bmcvbHR0bmctbW9kdWxlcy0yLjkuMS9pNTg2Oi9tZWRpYS9yZWJlY2Nhcy95b2N0by9w
b2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbHR0bmcvbHR0bmctbW9kdWxlcy9pNTg2Oi9tZWRpYS9y
ZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbHR0bmcvZmlsZXMvaTU4Njov
bWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2x0dG5nL2x0dG5n
LW1vZHVsZXMtMi45LjEvOi9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvcmVjaXBlcy1r
ZXJuZWwvbHR0bmcvbHR0bmctbW9kdWxlcy86L21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0
YS9yZWNpcGVzLWtlcm5lbC9sdHRuZy9maWxlcy8iCiMKIyAkRklMRVNZU1RFTV9QRVJNU19UQUJM
RVMKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRh
dGlvbi5jb25mOjE3NgojICAgICBbZG9jXSAiQWxsb3dzIHlvdSB0byBkZWZpbmUgeW91ciBvd24g
ZmlsZSBwZXJtaXNzaW9ucyBzZXR0aW5ncyB0YWJsZSBhcyBwYXJ0IG9mIHlvdXIgY29uZmlndXJh
dGlvbiBmb3IgdGhlIHBhY2thZ2luZyBwcm9jZXNzLiIKIwojICRGSUxFU19TT0xJQlNERVYKIyAg
IHNldD8gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjoy
OTkKIyAgICAgIiR7YmFzZV9saWJkaXJ9L2xpYioke1NPTElCU0RFVn0gJHtsaWJkaXJ9L2xpYiok
e1NPTElCU0RFVn0iCkZJTEVTX1NPTElCU0RFVj0iL2xpYi9saWIqLnNvIC91c3IvbGliL2xpYiou
c28iCiMKIyAkRklMRVNfbHR0bmctbW9kdWxlcwojICAgcmVuYW1lIGZyb20gRklMRVNfJHtQTn0g
ZGF0YS5weToxMTYgW2V4cGFuZEtleXNdCiMgICAgICIiCkZJTEVTX2x0dG5nLW1vZHVsZXM9IiIK
IwojICRGSUxFU19sdHRuZy1tb2R1bGVzLWJpbgojICAgcmVuYW1lIGZyb20gRklMRVNfJHtQTn0t
YmluIGRhdGEucHk6MTE2IFtleHBhbmRLZXlzXQojICAgICAiJHtiaW5kaXJ9LyogJHtzYmluZGly
fS8qIgpGSUxFU19sdHRuZy1tb2R1bGVzLWJpbj0iL3Vzci9iaW4vKiAvdXNyL3NiaW4vKiIKIwoj
ICRGSUxFU19sdHRuZy1tb2R1bGVzLWRiZwojICAgcmVuYW1lIGZyb20gRklMRVNfJHtQTn0tZGJn
IGRhdGEucHk6MTE2IFtleHBhbmRLZXlzXQojICAgICAiL3Vzci9saWIvZGVidWcgL3Vzci9zcmMv
ZGVidWciCkZJTEVTX2x0dG5nLW1vZHVsZXMtZGJnPSIvdXNyL2xpYi9kZWJ1ZyAvdXNyL3NyYy9k
ZWJ1ZyIKIwojICRGSUxFU19sdHRuZy1tb2R1bGVzLWRldgojICAgcmVuYW1lIGZyb20gRklMRVNf
JHtQTn0tZGV2IGRhdGEucHk6MTE2IFtleHBhbmRLZXlzXQojICAgICAiJHtpbmNsdWRlZGlyfSAk
e0ZJTEVTX1NPTElCU0RFVn0gJHtsaWJkaXJ9LyoubGEgJHtsaWJkaXJ9LyoubyAke2xpYmRpcn0v
cGtnY29uZmlnICR7ZGF0YWRpcn0vcGtnY29uZmlnICR7ZGF0YWRpcn0vYWNsb2NhbCAke2Jhc2Vf
bGliZGlyfS8qLm8gJHtsaWJkaXJ9LyR7QlBOfS8qLmxhICR7YmFzZV9saWJkaXJ9LyoubGEiCkZJ
TEVTX2x0dG5nLW1vZHVsZXMtZGV2PSIvdXNyL2luY2x1ZGUgL2xpYi9saWIqLnNvIC91c3IvbGli
L2xpYiouc28gL3Vzci9saWIvKi5sYSAvdXNyL2xpYi8qLm8gL3Vzci9saWIvcGtnY29uZmlnIC91
c3Ivc2hhcmUvcGtnY29uZmlnIC91c3Ivc2hhcmUvYWNsb2NhbCAvbGliLyoubyAvdXNyL2xpYi9s
dHRuZy1tb2R1bGVzLyoubGEgL2xpYi8qLmxhIgojCiMgJEZJTEVTX2x0dG5nLW1vZHVsZXMtZG9j
CiMgICByZW5hbWUgZnJvbSBGSUxFU18ke1BOfS1kb2MgZGF0YS5weToxMTYgW2V4cGFuZEtleXNd
CiMgICAgICIke2RvY2Rpcn0gJHttYW5kaXJ9ICR7aW5mb2Rpcn0gJHtkYXRhZGlyfS9ndGstZG9j
ICR7ZGF0YWRpcn0vZ25vbWUvaGVscCIKRklMRVNfbHR0bmctbW9kdWxlcy1kb2M9Ii91c3Ivc2hh
cmUvZG9jIC91c3Ivc2hhcmUvbWFuIC91c3Ivc2hhcmUvaW5mbyAvdXNyL3NoYXJlL2d0ay1kb2Mg
L3Vzci9zaGFyZS9nbm9tZS9oZWxwIgojCiMgJEZJTEVTX2x0dG5nLW1vZHVsZXMtbG9jYWxlCiMg
ICByZW5hbWUgZnJvbSBGSUxFU18ke1BOfS1sb2NhbGUgZGF0YS5weToxMTYgW2V4cGFuZEtleXNd
CiMgICAgICIke2RhdGFkaXJ9L2xvY2FsZSIKRklMRVNfbHR0bmctbW9kdWxlcy1sb2NhbGU9Ii91
c3Ivc2hhcmUvbG9jYWxlIgojCiMgJEZJTEVTX2x0dG5nLW1vZHVsZXMtc3RhdGljZGV2CiMgICBy
ZW5hbWUgZnJvbSBGSUxFU18ke1BOfS1zdGF0aWNkZXYgZGF0YS5weToxMTYgW2V4cGFuZEtleXNd
CiMgICAgICIke2xpYmRpcn0vKi5hICR7YmFzZV9saWJkaXJ9LyouYSAke2xpYmRpcn0vJHtCUE59
LyouYSIKRklMRVNfbHR0bmctbW9kdWxlcy1zdGF0aWNkZXY9Ii91c3IvbGliLyouYSAvbGliLyou
YSAvdXNyL2xpYi9sdHRuZy1tb2R1bGVzLyouYSIKIwojICRGSUxFX0RJUk5BTUUKIyAgIHNldCAv
bWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjMyMQojICAg
ICAiJHtAb3MucGF0aC5kaXJuYW1lKGQuZ2V0VmFyKCdGSUxFJywgRmFsc2UpKX0iCkZJTEVfRElS
TkFNRT0iL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9sdHRu
ZyIKIwojICRGT05UX0VYVFJBX1JERVBFTkRTCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3Rv
L3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjoxNzcKIyAgICAgW2RvY10gIldoZW4g
YSByZWNpcGUgaW5oZXJpdHMgdGhlIGZvbnRjYWNoZSBjbGFzcywgdGhpcyB2YXJpYWJsZSBzcGVj
aWZpZXMgcnVudGltZSBkZXBlbmRlbmNpZXMgZm9yIGZvbnQgcGFja2FnZXMuIFRoaXMgdmFyaWFi
bGUgZGVmYXVsdHMgdG8gJ2ZvbnRjb25maWctdXRpbHMnLiIKIwojICRGT05UX1BBQ0tBR0VTCiMg
ICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24u
Y29uZjoxNzgKIyAgICAgW2RvY10gIldoZW4gYSByZWNpcGUgaW5oZXJpdHMgdGhlIGZvbnRjYWNo
ZSBjbGFzcywgdGhpcyB2YXJpYWJsZSBpZGVudGlmaWVzIHBhY2thZ2VzIGNvbnRhaW5pbmcgZm9u
dCBmaWxlcyB0aGF0IG5lZWQgdG8gYmUgY2FjaGVkIGJ5IEZvbnRjb25maWcuIgojCiMgJEZPU1Nf
QkFTRV9VUkwKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvbGlj
ZW5zZXMuY29uZjoxODMKIyAgICAgImh0dHA6Ly9sb2NhbGhvc3QvcmVwby8/bW9kPXNwZHhfbGlj
ZW5zZV9vbmNlIgpGT1NTX0JBU0VfVVJMPSJodHRwOi8vbG9jYWxob3N0L3JlcG8vP21vZD1zcGR4
X2xpY2Vuc2Vfb25jZSIKIwojICRGT1NTX0ZVTExfU1BEWAojICAgc2V0IC9tZWRpYS9yZWJlY2Nh
cy95b2N0by9wb2t5L21ldGEvY29uZi9saWNlbnNlcy5jb25mOjE3NAojICAgICAidHJ1ZSIKRk9T
U19GVUxMX1NQRFg9InRydWUiCiMKIyAkRk9TU19OT19DT1BZUklHSFQKIyAgIHNldCAvbWVkaWEv
cmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvbGljZW5zZXMuY29uZjoxNDUKIyAgICAgInRy
dWUiCkZPU1NfTk9fQ09QWVJJR0hUPSJ0cnVlIgojCiMgJEZPU1NfUkVDVVJTSVZFX1VOUEFDSwoj
ICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9saWNlbnNlcy5jb25m
OjE1OQojICAgICAiZmFsc2UiCkZPU1NfUkVDVVJTSVZFX1VOUEFDSz0iZmFsc2UiCiMKIyAkRk9T
U19TRVJWRVIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvbGlj
ZW5zZXMuY29uZjoxODQKIyAgICAgIiR7Rk9TU19CQVNFX1VSTH0mZnVsbFNQRFhGbGFnPSR7Rk9T
U19GVUxMX1NQRFh9Jm5vQ29weXJpZ2h0PSR7Rk9TU19OT19DT1BZUklHSFR9JnJlY3Vyc2l2ZVVu
cGFjaz0ke0ZPU1NfUkVDVVJTSVZFX1VOUEFDS30iCkZPU1NfU0VSVkVSPSJodHRwOi8vbG9jYWxo
b3N0L3JlcG8vP21vZD1zcGR4X2xpY2Vuc2Vfb25jZSZmdWxsU1BEWEZsYWc9dHJ1ZSZub0NvcHly
aWdodD10cnVlJnJlY3Vyc2l2ZVVucGFjaz1mYWxzZSIKIwojICRGT1NTX1dHRVRfRkxBR1MKIyAg
IHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvbGljZW5zZXMuY29uZjox
ODYKIyAgICAgIi1xTyAtIC0tbm8tY2hlY2stY2VydGlmaWNhdGUgLS10aW1lb3V0PTAiCkZPU1Nf
V0dFVF9GTEFHUz0iLXFPIC0gLS1uby1jaGVjay1jZXJ0aWZpY2F0ZSAtLXRpbWVvdXQ9MCIKIwoj
ICRGVFBfUFJPWFkKIyAgIGZyb20gZW52IGRhdGEucHk6MTI0IFtpbmhlcml0RnJvbU9TXQojICAg
ICAiaHR0cDovL3Byb3h5LXBuZy5pbnRlbC5jb206OTExIgpGVFBfUFJPWFk9Imh0dHA6Ly9wcm94
eS1wbmcuaW50ZWwuY29tOjkxMSIKIwojICRGVUxMX09QVElNSVpBVElPTiBbMiBvcGVyYXRpb25z
XQojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNv
bmY6NTkwCiMgICAgICItTzIgLXBpcGUgJHtERUJVR19GTEFHU30iCiMgICBzZXQgL21lZGlhL3Jl
YmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjoxNzkKIyAgICAg
W2RvY10gIlRoZSBvcHRpb25zIHRvIHBhc3MgaW4gVEFSR0VUX0NGTEFHUyBhbmQgQ0ZMQUdTIHdo
ZW4gY29tcGlsaW5nIGFuIG9wdGltaXplZCBzeXN0ZW0uIFRoaXMgdmFyaWFibGUgZGVmYXVsdHMg
dG8gJy1PMiAtcGlwZSAke0RFQlVHX0ZMQUdTfScuIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMg
ICAiLU8yIC1waXBlICR7REVCVUdfRkxBR1N9IgpGVUxMX09QVElNSVpBVElPTj0iLU8yIC1waXBl
IC1nIC1mZWxpbWluYXRlLXVudXNlZC1kZWJ1Zy10eXBlcyAtZmRlYnVnLXByZWZpeC1tYXA9L21l
ZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL3RtcC93b3JrL3FlbXV4ODYtcG9reS1saW51eC9sdHRu
Zy1tb2R1bGVzLzIuOS4xLXIwPS91c3Ivc3JjL2RlYnVnL2x0dG5nLW1vZHVsZXMvMi45LjEtcjAg
LWZkZWJ1Zy1wcmVmaXgtbWFwPS9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy90bXAvd29yay9x
ZW11eDg2LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9yZWNpcGUtc3lzcm9vdC1u
YXRpdmU9IC1mZGVidWctcHJlZml4LW1hcD0vbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvdG1w
L3dvcmsvcWVtdXg4Ni1wb2t5LWxpbnV4L2x0dG5nLW1vZHVsZXMvMi45LjEtcjAvcmVjaXBlLXN5
c3Jvb3Q9ICIKIwojICRHQ0NWRVJTSU9OCiMgICBzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9w
b2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS90Y21vZGUtZGVmYXVsdC5pbmM6MjUKIyAgICAg
IjYuMyUiCkdDQ1ZFUlNJT049IjYuMyUiCiMKIyAkR0RCVkVSU0lPTgojICAgc2V0PyAvbWVkaWEv
cmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvdGNtb2RlLWRlZmF1
bHQuaW5jOjI4CiMgICAgICI3LjEyJSIKR0RCVkVSU0lPTj0iNy4xMiUiCiMKIyAkR0VOVE9PX01J
UlJPUgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtl
LmNvbmY6NjA4CiMgICAgICJodHRwOi8vZGlzdGZpbGVzLmdlbnRvby5vcmcvZGlzdGZpbGVzIgpH
RU5UT09fTUlSUk9SPSJodHRwOi8vZGlzdGZpbGVzLmdlbnRvby5vcmcvZGlzdGZpbGVzIgojCiMg
JEdJVERJUiBbMiBvcGVyYXRpb25zXQojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5
L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6MzM5CiMgICAgICIke0NPX0RJUn0vZ2l0MiIKIyAgIHNl
dCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25m
OjE4MwojICAgICBbZG9jXSAiVGhlIGRpcmVjdG9yeSB3aGVyZSBHaXQgY2xvbmVzIHdpbGwgYmUg
c3RvcmVkLiIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIiR7Q09fRElSfS9naXQyIgpHSVRE
SVI9Ii9tZWRpYS9yZWJlY2Nhcy9idWlsZC9kb3dubG9hZHMvZ2l0MiIKIwojICRHTElCQ1ZFUlNJ
T04KIyAgIHNldD8gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9p
bmNsdWRlL3RjbW9kZS1kZWZhdWx0LmluYzoyOQojICAgICAiMi4yNSIKR0xJQkNWRVJTSU9OPSIy
LjI1IgojCiMgJEdOT01FX0dJVAojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21l
dGEvY29uZi9iaXRiYWtlLmNvbmY6NjA5CiMgICAgICJnaXQ6Ly9naXQuZ25vbWUub3JnIgpHTk9N
RV9HSVQ9ImdpdDovL2dpdC5nbm9tZS5vcmciCiMKIyAkR05PTUVfTUlSUk9SCiMgICBzZXQgL21l
ZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo2MTAKIyAgICAg
Imh0dHA6Ly9mdHAuZ25vbWUub3JnL3B1Yi9HTk9NRS9zb3VyY2VzIgpHTk9NRV9NSVJST1I9Imh0
dHA6Ly9mdHAuZ25vbWUub3JnL3B1Yi9HTk9NRS9zb3VyY2VzIgojCiMgJEdOVVBHX01JUlJPUgoj
ICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6
NjEyCiMgICAgICJodHRwczovL3d3dy5nbnVwZy5vcmcvZnRwL2djcnlwdCIKR05VUEdfTUlSUk9S
PSJodHRwczovL3d3dy5nbnVwZy5vcmcvZnRwL2djcnlwdCIKIwojICRHTlVfTUlSUk9SCiMgICBz
ZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo2MTEK
IyAgICAgImh0dHA6Ly9mdHAuZ251Lm9yZy9nbnUiCkdOVV9NSVJST1I9Imh0dHA6Ly9mdHAuZ251
Lm9yZy9nbnUiCiMKIyAkR1BFX01JUlJPUgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9w
b2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6NjEzCiMgICAgICJodHRwOi8vZ3BlLmxpbnV4dG9n
by5vcmcvZG93bmxvYWQvc291cmNlIgpHUEVfTUlSUk9SPSJodHRwOi8vZ3BlLmxpbnV4dG9nby5v
cmcvZG93bmxvYWQvc291cmNlIgojCiMgJEdST1VQQUREX1BBUkFNCiMgICBzZXQgL21lZGlhL3Jl
YmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjoxODQKIyAgICAg
W2RvY10gIldoZW4gYSByZWNpcGUgaW5oZXJpdHMgdGhlIHVzZXJhZGQgY2xhc3MsIHRoaXMgdmFy
aWFibGUgc3BlY2lmaWVzIGZvciBhIHBhY2thZ2Ugd2hhdCBwYXJhbWV0ZXJzIHNob3VsZCBiZSBw
YXNzZWQgdG8gdGhlIGdyb3VwYWRkIGNvbW1hbmQgaWYgeW91IHdpc2ggdG8gYWRkIGEgZ3JvdXAg
dG8gdGhlIHN5c3RlbSB3aGVuIHRoZSBwYWNrYWdlIGlzIGluc3RhbGxlZC4iCiMKIyAkR1JPVVBN
RU1TX1BBUkFNCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rv
Y3VtZW50YXRpb24uY29uZjoxODUKIyAgICAgW2RvY10gIldoZW4gYSByZWNpcGUgaW5oZXJpdHMg
dGhlIHVzZXJhZGQgY2xhc3MsIHRoaXMgdmFyaWFibGUgc3BlY2lmaWVzIGZvciBhIHBhY2thZ2Ug
d2hhdCBwYXJhbWV0ZXJzIHNob3VsZCBiZSBwYXNzZWQgdG8gdGhlIGdyb3VwbWVtcyBjb21tYW5k
IGlmIHlvdSB3aXNoIHRvIG1vZGlmeSB0aGUgbWVtYmVycyBvZiBhIGdyb3VwIHdoZW4gdGhlIHBh
Y2thZ2UgaXMgaW5zdGFsbGVkLiIKIwojICRHUlVCX0dGWFNFUklBTAojICAgc2V0IC9tZWRpYS9y
ZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6MTg2CiMgICAg
IFtkb2NdICJDb25maWd1cmVzIHRoZSBHTlUgR1JhbmQgVW5pZmllZCBCb290bG9hZGVyIChHUlVC
KSB0byBoYXZlIGdyYXBoaWNzIGFuZCBzZXJpYWwgaW4gdGhlIGJvb3QgbWVudS4iCiMKIyAkR1JV
Ql9PUFRTCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3Vt
ZW50YXRpb24uY29uZjoxODcKIyAgICAgW2RvY10gIkFkZGl0aW9uYWwgb3B0aW9ucyB0byBhZGQg
dG8gdGhlIEdOVSBHUmFuZCBVbmlmaWVkIEJvb3Rsb2FkZXIgKEdSVUIpIGNvbmZpZ3VyYXRpb24u
IgojCiMgJEdSVUJfVElNRU9VVAojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21l
dGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6MTg4CiMgICAgIFtkb2NdICJTcGVjaWZpZXMgdGhl
IHRpbWVvdXQgYmVmb3JlIGV4ZWN1dGluZyB0aGUgZGVmYXVsdCBMQUJFTCBpbiB0aGUgR05VIEdS
YW5kIFVuaWZpZWQgQm9vdGxvYWRlciAoR1JVQikuIgojCiMgJEdUSzJESVNUUk9GRUFUVVJFUwoj
ICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVk
ZS9kZWZhdWx0LWRpc3Ryb3ZhcnMuaW5jOjQ3CiMgICAgICJkaXJlY3RmYiB4MTEiCkdUSzJESVNU
Uk9GRUFUVVJFUz0iZGlyZWN0ZmIgeDExIgojCiMgJEdUSzNESVNUUk9GRUFUVVJFUwojICAgc2V0
IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9kZWZh
dWx0LWRpc3Ryb3ZhcnMuaW5jOjQ4CiMgICAgICJ4MTEgd2F5bGFuZCIKR1RLM0RJU1RST0ZFQVRV
UkVTPSJ4MTEgd2F5bGFuZCIKIwojICRHVEtJTU1PRFVMRVNfUEFDS0FHRVMKIyAgIHNldCAvbWVk
aWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjE4OQoj
ICAgICBbZG9jXSAiRm9yIHJlY2lwZXMgdGhhdCBpbmhlcml0IHRoZSBndGstaW1tb2R1bGVzLWNh
Y2hlIGNsYXNzLCB0aGlzIHZhcmlhYmxlIHNwZWNpZmllcyB0aGUgcGFja2FnZXMgdGhhdCBjb250
YWluIHRoZSBHVEsrIGlucHV0IG1ldGhvZCBtb2R1bGVzIGJlaW5nIGluc3RhbGxlZCB3aGVuIHRo
ZSBtb2R1bGVzIGFyZSBpbiBwYWNrYWdlcyBvdGhlciB0aGFuIHRoZSBtYWluIHBhY2thZ2UuIgoj
CiMgJEhHRElSCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Jp
dGJha2UuY29uZjozNDEKIyAgICAgIiR7Q09fRElSfS9oZyIKSEdESVI9Ii9tZWRpYS9yZWJlY2Nh
cy9idWlsZC9kb3dubG9hZHMvaGciCiMKIyAkSE9NRSBbMiBvcGVyYXRpb25zXQojICAgZnJvbSBl
bnYgZGF0YS5weToxMjQgW2luaGVyaXRGcm9tT1NdCiMgICAgICIvaG9tZS9yZWJlY2NhcyIKIyAg
IGF1dG8gZW52IGV4cG9ydCBkYXRhLnB5OjEyNiBbaW5oZXJpdEZyb21PU10KIyAgICAgW2V4cG9y
dF0gIlRydWUiCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICIvaG9tZS9yZWJlY2NhcyIKZXhw
b3J0IEhPTUU9Ii9ob21lL3JlYmVjY2FzIgojCiMgJEhPTUVQQUdFIFsyIG9wZXJhdGlvbnNdCiMg
ICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjoy
NTEKIyAgICAgIiIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYv
ZG9jdW1lbnRhdGlvbi5jb25mOjE5MwojICAgICBbZG9jXSAiV2Vic2l0ZSB3aGVyZSBtb3JlIGlu
Zm9ybWF0aW9uIGFib3V0IHRoZSBzb2Z0d2FyZSB0aGUgcmVjaXBlIGlzIGJ1aWxkaW5nIGNhbiBi
ZSBmb3VuZC4iCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICIiCkhPTUVQQUdFPSIiCiMKIyAk
SE9TVFRPT0xTIFsyIG9wZXJhdGlvbnNdCiMgICBhcHBlbmQgL21lZGlhL3JlYmVjY2FzL3lvY3Rv
L3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo0NjkKIyAgICAgIiBbIGFyIGFzIGF3ayBiYXNl
bmFtZSBiYXNoIGJ6aXAyIGNhdCBjaGdycCBjaG1vZCBjaG93biBjaHJwYXRoIGNtcCBjcCBjcGlv
IGNwcCBjdXQgZGF0ZSBkZCBkaWZmIGRpZmZzdGF0IGRpcm5hbWUgZHUgZWNobyBlZ3JlcCBlbnYg
ZXhwYW5kIGV4cHIgZmFsc2UgZmdyZXAgZmlsZSBmaW5kIGZsb2NrIGcrKyBnYXdrIGdjYyBnZXRj
b25mIGdldG9wdCBnaXQgZ3JlcCBndW56aXAgZ3ppcCBoZWFkIGhvc3RuYW1lIGluc3RhbGwgbGQg
bGRkIGxuIGxzIG1ha2UgbWFrZWluZm8gbWQ1c3VtIG1rZGlyIG1rbm9kIG1rdGVtcCBtdiBubSBv
Ympjb3B5IG9iamR1bXAgb2QgcGF0Y2ggcGVybCBwb2QybWFuIHByIHByaW50ZiBwd2QgcHl0aG9u
IHB5dGhvbjIgcHl0aG9uMi43IHB5dGhvbjMgcmFubGliIHJlYWRlbGYgcmVhZGxpbmsgcm0gcm1k
aXIgcnBjZ2VuIHNlZCBzaCBzaGEyNTZzdW0gc2xlZXAgc29ydCBzcGxpdCBzdGF0IHN0cmluZ3Mg
c3RyaXAgdGFpbCB0YXIgdGVlIHRlc3QgdG91Y2ggdHIgdHJ1ZSB1bmFtZSB1bmlxIHdjIHdnZXQg
d2hpY2ggeGFyZ3MgIgojICAgYXBwZW5kIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEv
Y29uZi9iaXRiYWtlLmNvbmY6NDcyCiMgICAgICJpcCBwaW5nIHBzIHNjcCBzc2ggc3R0eSIKIyBw
cmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIiAgWyBhciBhcyBhd2sgYmFzZW5hbWUgYmFzaCBiemlw
MiBjYXQgY2hncnAgY2htb2QgY2hvd24gY2hycGF0aCBjbXAgY3AgY3BpbyBjcHAgY3V0IGRhdGUg
ZGQgZGlmZiBkaWZmc3RhdCBkaXJuYW1lIGR1IGVjaG8gZWdyZXAgZW52IGV4cGFuZCBleHByIGZh
bHNlIGZncmVwIGZpbGUgZmluZCBmbG9jayBnKysgZ2F3ayBnY2MgZ2V0Y29uZiBnZXRvcHQgZ2l0
IGdyZXAgZ3VuemlwIGd6aXAgaGVhZCBob3N0bmFtZSBpbnN0YWxsIGxkIGxkZCBsbiBscyBtYWtl
IG1ha2VpbmZvIG1kNXN1bSBta2RpciBta25vZCBta3RlbXAgbXYgbm0gb2JqY29weSBvYmpkdW1w
IG9kIHBhdGNoIHBlcmwgcG9kMm1hbiBwciBwcmludGYgcHdkIHB5dGhvbiBweXRob24yIHB5dGhv
bjIuNyBweXRob24zIHJhbmxpYiByZWFkZWxmIHJlYWRsaW5rIHJtIHJtZGlyIHJwY2dlbiBzZWQg
c2ggc2hhMjU2c3VtIHNsZWVwIHNvcnQgc3BsaXQgc3RhdCBzdHJpbmdzIHN0cmlwIHRhaWwgdGFy
IHRlZSB0ZXN0IHRvdWNoIHRyIHRydWUgdW5hbWUgdW5pcSB3YyB3Z2V0IHdoaWNoIHhhcmdzICBp
cCBwaW5nIHBzIHNjcCBzc2ggc3R0eSIKSE9TVFRPT0xTPSIgIFsgYXIgYXMgYXdrIGJhc2VuYW1l
IGJhc2ggYnppcDIgY2F0IGNoZ3JwIGNobW9kIGNob3duIGNocnBhdGggY21wIGNwIGNwaW8gY3Bw
IGN1dCBkYXRlIGRkIGRpZmYgZGlmZnN0YXQgZGlybmFtZSBkdSBlY2hvIGVncmVwIGVudiBleHBh
bmQgZXhwciBmYWxzZSBmZ3JlcCBmaWxlIGZpbmQgZmxvY2sgZysrIGdhd2sgZ2NjIGdldGNvbmYg
Z2V0b3B0IGdpdCBncmVwIGd1bnppcCBnemlwIGhlYWQgaG9zdG5hbWUgaW5zdGFsbCBsZCBsZGQg
bG4gbHMgbWFrZSBtYWtlaW5mbyBtZDVzdW0gbWtkaXIgbWtub2QgbWt0ZW1wIG12IG5tIG9iamNv
cHkgb2JqZHVtcCBvZCBwYXRjaCBwZXJsIHBvZDJtYW4gcHIgcHJpbnRmIHB3ZCBweXRob24gcHl0
aG9uMiBweXRob24yLjcgcHl0aG9uMyByYW5saWIgcmVhZGVsZiByZWFkbGluayBybSBybWRpciBy
cGNnZW4gc2VkIHNoIHNoYTI1NnN1bSBzbGVlcCBzb3J0IHNwbGl0IHN0YXQgc3RyaW5ncyBzdHJp
cCB0YWlsIHRhciB0ZWUgdGVzdCB0b3VjaCB0ciB0cnVlIHVuYW1lIHVuaXEgd2Mgd2dldCB3aGlj
aCB4YXJncyAgaXAgcGluZyBwcyBzY3Agc3NoIHN0dHkiCiMKIyAkSE9TVFRPT0xTX0RJUgojICAg
c2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6NDU3
CiMgICAgICIke1RNUERJUn0vaG9zdHRvb2xzIgpIT1NUVE9PTFNfRElSPSIvbWVkaWEvcmViZWNj
YXMveW9jdG8vbHR0bmcvdG1wL2hvc3R0b29scyIKIwojICRIT1NUVE9PTFNfTk9ORkFUQUwgWzMg
b3BlcmF0aW9uc10KIyAgIGFwcGVuZCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2Nv
bmYvYml0YmFrZS5jb25mOjQ3NQojICAgICAiYXdzIGNjYWNoZSBnY2MtYXIgZ3BnIGxkLmJmZCBs
ZC5nb2xkIG5jIHNmdHAgc29jYXQgc3VkbyIKIyAgIGFwcGVuZCAvbWVkaWEvcmViZWNjYXMveW9j
dG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjQ3OAojICAgICAiam9pbiBubCBzaXplIHll
cyB6Y2F0IgojICAgYXBwZW5kIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9i
aXRiYWtlLmNvbmY6NDgxCiMgICAgICJienIiCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICIg
YXdzIGNjYWNoZSBnY2MtYXIgZ3BnIGxkLmJmZCBsZC5nb2xkIG5jIHNmdHAgc29jYXQgc3VkbyBq
b2luIG5sIHNpemUgeWVzIHpjYXQgYnpyIgpIT1NUVE9PTFNfTk9ORkFUQUw9IiBhd3MgY2NhY2hl
IGdjYy1hciBncGcgbGQuYmZkIGxkLmdvbGQgbmMgc2Z0cCBzb2NhdCBzdWRvIGpvaW4gbmwgc2l6
ZSB5ZXMgemNhdCBienIiCiMKIyAkSE9TVF9BUkNIIFsyIG9wZXJhdGlvbnNdCiMgICBzZXQgL21l
ZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjoxMDIKIyAgICAg
IiR7VEFSR0VUX0FSQ0h9IgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEv
Y29uZi9kb2N1bWVudGF0aW9uLmNvbmY6MTk0CiMgICAgIFtkb2NdICJUaGUgbmFtZSBvZiB0aGUg
dGFyZ2V0IGFyY2hpdGVjdHVyZS4gTm9ybWFsbHkgc2FtZSBhcyB0aGUgVEFSR0VUX0FSQ0guIgoj
IHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiJHtUQVJHRVRfQVJDSH0iCkhPU1RfQVJDSD0iaTU4
NiIKIwojICRIT1NUX0FSX0tFUk5FTF9BUkNICiMgICBzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95b2N0
by9wb2t5L21ldGEvY2xhc3Nlcy9rZXJuZWwtYXJjaC5iYmNsYXNzOjU3CiMgICAgICIke1RBUkdF
VF9BUl9LRVJORUxfQVJDSH0iCkhPU1RfQVJfS0VSTkVMX0FSQ0g9IiIKIwojICRIT1NUX0FTX0FS
Q0gKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5j
b25mOjEwOQojICAgICAiJHtUQVJHRVRfQVNfQVJDSH0iCkhPU1RfQVNfQVJDSD0iICIKIwojICRI
T1NUX0NDX0FSQ0ggWzIgb3BlcmF0aW9uc10KIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8v
cG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjEwNwojICAgICAiJHtUQVJHRVRfQ0NfQVJDSH0i
CiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRp
b24uY29uZjoxOTUKIyAgICAgW2RvY10gIlRoZSBuYW1lIG9mIHRoZSBob3N0IGFyY2hpdGVjdHVy
ZS4gTm9ybWFsbHkgc2FtZSBhcyB0aGUgVEFSR0VUX0NDX0FSQ0guIgojIHByZS1leHBhbnNpb24g
dmFsdWU6CiMgICAiJHtUQVJHRVRfQ0NfQVJDSH0iCkhPU1RfQ0NfQVJDSD0iIC1tMzIgLW1hcmNo
PWk1ODYiCiMKIyAkSE9TVF9DQ19LRVJORUxfQVJDSAojICAgc2V0PyAvbWVkaWEvcmViZWNjYXMv
eW9jdG8vcG9reS9tZXRhL2NsYXNzZXMva2VybmVsLWFyY2guYmJjbGFzczo1MwojICAgICAiJHtU
QVJHRVRfQ0NfS0VSTkVMX0FSQ0h9IgpIT1NUX0NDX0tFUk5FTF9BUkNIPSIiCiMKIyAkSE9TVF9F
WEVFWFQKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFr
ZS5jb25mOjExMAojICAgICAiIgpIT1NUX0VYRUVYVD0iIgojCiMgJEhPU1RfTERfQVJDSAojICAg
c2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6MTA4
CiMgICAgICIke1RBUkdFVF9MRF9BUkNIfSIKSE9TVF9MRF9BUkNIPSIgIgojCiMgJEhPU1RfTERf
S0VSTkVMX0FSQ0gKIyAgIHNldD8gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFz
c2VzL2tlcm5lbC1hcmNoLmJiY2xhc3M6NTUKIyAgICAgIiR7VEFSR0VUX0xEX0tFUk5FTF9BUkNI
fSIKSE9TVF9MRF9LRVJORUxfQVJDSD0iIgojCiMgJEhPU1RfT1MgWzIgb3BlcmF0aW9uc10KIyAg
IHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjEw
MwojICAgICAiJHtUQVJHRVRfT1N9IgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5
L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6MTk2CiMgICAgIFtkb2NdICJUaGUgbmFtZSBv
ZiB0aGUgdGFyZ2V0IG9wZXJhdGluZyBzeXN0ZW0uIE5vcm1hbGx5IHRoZSBzYW1lIGFzIHRoZSBU
QVJHRVRfT1MuIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiJHtUQVJHRVRfT1N9IgpIT1NU
X09TPSJsaW51eCIKIwojICRIT1NUX1BSRUZJWCBbMiBvcGVyYXRpb25zXQojICAgc2V0IC9tZWRp
YS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6MTA2CiMgICAgICIk
e1RBUkdFVF9QUkVGSVh9IgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEv
Y29uZi9kb2N1bWVudGF0aW9uLmNvbmY6MTk3CiMgICAgIFtkb2NdICJUaGUgcHJlZml4IGZvciB0
aGUgY3Jvc3MgY29tcGlsZSB0b29sY2hhaW4uIE5vcm1hbGx5IHNhbWUgYXMgdGhlIFRBUkdFVF9Q
UkVGSVguIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiJHtUQVJHRVRfUFJFRklYfSIKSE9T
VF9QUkVGSVg9Imk1ODYtcG9reS1saW51eC0iCiMKIyAkSE9TVF9TWVMgWzIgb3BlcmF0aW9uc10K
IyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25m
OjEwNQojICAgICAiJHtIT1NUX0FSQ0h9JHtIT1NUX1ZFTkRPUn0tJHtIT1NUX09TfSIKIyAgIHNl
dCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25m
OjE5OAojICAgICBbZG9jXSAiU3BlY2lmaWVzIHRoZSBzeXN0ZW0sIGluY2x1ZGluZyB0aGUgYXJj
aGl0ZWN0dXJlIGFuZCB0aGUgb3BlcmF0aW5nIHN5c3RlbSwgZm9yIHdpdGggdGhlIGJ1aWxkIGlz
IG9jY3VycmluZyBpbiB0aGUgY29udGV4dCBvZiB0aGUgY3VycmVudCByZWNpcGUuIgojIHByZS1l
eHBhbnNpb24gdmFsdWU6CiMgICAiJHtIT1NUX0FSQ0h9JHtIT1NUX1ZFTkRPUn0tJHtIT1NUX09T
fSIKSE9TVF9TWVM9Imk1ODYtcG9reS1saW51eCIKIwojICRIT1NUX1VTRVJfR0lECiMgICBpbW1l
ZGlhdGUgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL2luc2FuZS5iYmNs
YXNzOjEwMzkKIyAgICAgIiR7QG9zLmdldGdpZCgpfSIKSE9TVF9VU0VSX0dJRD0iMTAwMCIKIwoj
ICRIT1NUX1VTRVJfVUlECiMgICBpbW1lZGlhdGUgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kv
bWV0YS9jbGFzc2VzL2luc2FuZS5iYmNsYXNzOjEwMzgKIyAgICAgIiR7QG9zLmdldHVpZCgpfSIK
SE9TVF9VU0VSX1VJRD0iMTAwMCIKIwojICRIT1NUX1ZFTkRPUiBbMiBvcGVyYXRpb25zXQojICAg
c2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6MTA0
CiMgICAgICIke1RBUkdFVF9WRU5ET1J9IgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9w
b2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6MTk5CiMgICAgIFtkb2NdICJUaGUgbmFt
ZSBvZiB0aGUgdmVuZG9yLiBOb3JtYWxseSBzYW1lIGFzIHRoZSBUQVJHRVRfVkVORE9SLiIKIyBw
cmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIiR7VEFSR0VUX1ZFTkRPUn0iCkhPU1RfVkVORE9SPSIt
cG9reSIKIwojICRIVFRQU19QUk9YWQojICAgZnJvbSBlbnYgZGF0YS5weToxMjQgW2luaGVyaXRG
cm9tT1NdCiMgICAgICJodHRwOi8vcHJveHktcG5nLmludGVsLmNvbTo5MTEiCkhUVFBTX1BST1hZ
PSJodHRwOi8vcHJveHktcG5nLmludGVsLmNvbTo5MTEiCiMKIyAkSFRUUF9QUk9YWQojICAgZnJv
bSBlbnYgZGF0YS5weToxMjQgW2luaGVyaXRGcm9tT1NdCiMgICAgICJodHRwOi8vcHJveHktcG5n
LmludGVsLmNvbTo5MTEiCkhUVFBfUFJPWFk9Imh0dHA6Ly9wcm94eS1wbmcuaW50ZWwuY29tOjkx
MSIKIwojICRJQ0VDQ19FTlZfRVhFQwojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5
L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6MjAzCiMgICAgIFtkb2NdICJQb2ludHMgdG8g
dGhlIGljZWNjLWNyZWF0ZS1lbnYgc2NyaXB0IHRoYXQgeW91IHByb3ZpZGUuIgojCiMgJElDRUND
X1BBVEgKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZG9jdW1l
bnRhdGlvbi5jb25mOjIwNAojICAgICBbZG9jXSAiVGhlIGxvY2F0aW9uIG9mIHRoZSBpY2VjYyBi
aW5hcnkuIgojCiMgJElDRUNDX1VTRVJfQ0xBU1NfQkwKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMv
eW9jdG8vcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjIwNQojICAgICBbZG9jXSAi
SWRlbnRpZmllcyB1c2VyIGNsYXNzZXMgdGhhdCB5b3UgZG8gbm90IHdhbnQgdGhlIEljZWNyZWFt
IGRpc3RyaWJ1dGVkIGNvbXBpbGUgc3VwcG9ydCB0byBjb25zaWRlci4iCiMKIyAkSUNFQ0NfVVNF
Ul9QQUNLQUdFX0JMCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25m
L2RvY3VtZW50YXRpb24uY29uZjoyMDYKIyAgICAgW2RvY10gIklkZW50aWZpZXMgdXNlciByZWNp
cGVzIHRoYXQgeW91IGRvIG5vdCB3YW50IHRoZSBJY2VjcmVhbSBkaXN0cmlidXRlZCBjb21waWxl
IHN1cHBvcnQgdG8gY29uc2lkZXIuIgojCiMgJElDRUNDX1VTRVJfUEFDS0FHRV9XTAojICAgc2V0
IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6
MjA3CiMgICAgIFtkb2NdICJJZGVudGlmaWVzIHVzZXIgcmVjaXBlcyB0aGF0IHVzZSBhbiBlbXB0
eSBQQVJBTExFTF9NQUtFIHZhcmlhYmxlIHRoYXQgeW91IHdhbnQgdG8gZm9yY2UgcmVtb3RlIGRp
c3RyaWJ1dGVkIGNvbXBpbGF0aW9uIG9uIHVzaW5nIHRoZSBJY2VjcmVhbSBkaXN0cmlidXRlZCBj
b21waWxlIHN1cHBvcnQuIgojCiMgJElNQUdFX0JBU0VOQU1FIFsyIG9wZXJhdGlvbnNdCiMgICBz
ZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo0MjkK
IyAgICAgIiR7UE59IgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29u
Zi9kb2N1bWVudGF0aW9uLmNvbmY6MjA4CiMgICAgIFtkb2NdICJUaGUgYmFzZSBuYW1lIG9mIGlt
YWdlIG91dHB1dCBmaWxlcy4iCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICIke1BOfSIKSU1B
R0VfQkFTRU5BTUU9Imx0dG5nLW1vZHVsZXMiCiMKIyAkSU1BR0VfQk9PVF9GSUxFUwojICAgc2V0
IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6
MjA5CiMgICAgIFtkb2NdICJXaGl0ZXNwYWNlIHNlcGFyYXRlZCBsaXN0IG9mIGZpbGVzIGZyb20g
JHtERVBMT1lfRElSX0lNQUdFfSB0byBwbGFjZSBpbiBib290IHBhcnRpdGlvbi4gRW50cmllcyB3
aWxsIGJlIGluc3RhbGxlZCB1bmRlciBhIHNhbWUgbmFtZSBhcyB0aGUgc291cmNlIGZpbGUuIFRv
IGNoYW5nZSB0aGUgZGVzdGluYXRpb24gZmlsZSBuYW1lLCBwYXNzIGEgZGVzaXJlZCBuYW1lIGFm
dGVyIGEgc2VtaWNvbG9uIChlZy4gdS1ib290LmltZzt1Ym9vdCkuIgojCiMgJElNQUdFX0NMQVNT
RVMgWzMgb3BlcmF0aW9uc10KIyAgIGFwcGVuZCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9t
ZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3FlbXUuaW5jOjMxCiMgICAgICJxZW11Ym9vdCIKIyAg
IGFwcGVuZCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNs
dWRlL3FlbXVib290LXg4Ni5pbmM6MgojICAgICAicWVtdWJvb3QiCiMgICBzZXQgL21lZGlhL3Jl
YmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjoyMTAKIyAgICAg
W2RvY10gIkEgbGlzdCBvZiBjbGFzc2VzIHRoYXQgYWxsIGltYWdlcyBzaG91bGQgaW5oZXJpdC4i
CiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICIgcWVtdWJvb3QgcWVtdWJvb3QiCklNQUdFX0NM
QVNTRVM9IiBxZW11Ym9vdCBxZW11Ym9vdCIKIwojICRJTUFHRV9GRUFUVVJFUyBbMyBvcGVyYXRp
b25zXQojICAgc2V0PyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJv
L2luY2x1ZGUvZGVmYXVsdC1kaXN0cm92YXJzLmluYzoyMwojICAgICAiIgojICAgc2V0IC9tZWRp
YS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6MjExCiMg
ICAgIFtkb2NdICJUaGUgcHJpbWFyeSBsaXN0IG9mIGZlYXR1cmVzIHRvIGluY2x1ZGUgaW4gYW4g
aW1hZ2UuIENvbmZpZ3VyZSB0aGlzIHZhcmlhYmxlIGluIGFuIGltYWdlIHJlY2lwZS4iCiMgICBh
cHBlbmQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo3
OTcKIyAgICAgIiR7RVhUUkFfSU1BR0VfRkVBVFVSRVN9IgojIHByZS1leHBhbnNpb24gdmFsdWU6
CiMgICAiICR7RVhUUkFfSU1BR0VfRkVBVFVSRVN9IgpJTUFHRV9GRUFUVVJFUz0iIGRlYnVnLXR3
ZWFrcyB0b29scy1wcm9maWxlIgojCiMgJElNQUdFX0ZTVFlQRVMgWzMgb3BlcmF0aW9uc10KIyAg
IGFwcGVuZCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNs
dWRlL3FlbXUuaW5jOjE2CiMgICAgICJ0YXIuYnoyIGV4dDQiCiMgICBzZXQgL21lZGlhL3JlYmVj
Y2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjoyMTIKIyAgICAgW2Rv
Y10gIkZvcm1hdHMgb2Ygcm9vdCBmaWxlc3lzdGVtIGltYWdlcyB0aGF0IHlvdSB3YW50IHRvIGhh
dmUgY3JlYXRlZC4iCiMgICBzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29u
Zi9iaXRiYWtlLmNvbmY6NzUwCiMgICAgICJ0YXIuZ3oiCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToK
IyAgICIgdGFyLmJ6MiBleHQ0IgpJTUFHRV9GU1RZUEVTPSIgdGFyLmJ6MiBleHQ0IgojCiMgJElN
QUdFX0ZTVFlQRVNfREVCVUdGUyBbMiBvcGVyYXRpb25zXQojICAgc2V0IC9tZWRpYS9yZWJlY2Nh
cy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6MjEzCiMgICAgIFtkb2Nd
ICJGb3JtYXRzIG9mIHRoZSBkZWJ1ZyByb290IGZpbGVzeXN0ZW0gaW1hZ2VzIHRoYXQgeW91IHdh
bnQgdG8gaGF2ZSBjcmVhdGVkLiIKIyAgIHNldD8gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kv
bWV0YS9jb25mL2JpdGJha2UuY29uZjo3NTEKIyAgICAgIiR7SU1BR0VfRlNUWVBFU30iCiMgcHJl
LWV4cGFuc2lvbiB2YWx1ZToKIyAgICIke0lNQUdFX0ZTVFlQRVN9IgpJTUFHRV9GU1RZUEVTX0RF
QlVHRlM9IiB0YXIuYnoyIGV4dDQiCiMKIyAkSU1BR0VfR0VOX0RFQlVHRlMKIyAgIHNldCAvbWVk
aWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjIxNAoj
ICAgICBbZG9jXSAiV2hlbiBzZXQgdG8gJzEnLCBnZW5lcmF0ZSBhIGNvbXBhbmlvbiBkZWJ1ZyBv
YmplY3Qvc291cmNlIGZpbGVzeXN0ZW0gaW1hZ2UuIgojCiMgJElNQUdFX0lOU1RBTEwKIyAgIHNl
dCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25m
OjIxNQojICAgICBbZG9jXSAiU3BlY2lmaWVzIHRoZSBwYWNrYWdlcyB0byBpbnN0YWxsIGludG8g
YW4gaW1hZ2UuIEltYWdlIHJlY2lwZXMgc2V0IElNQUdFX0lOU1RBTEwgdG8gc3BlY2lmeSB0aGUg
cGFja2FnZXMgdG8gaW5zdGFsbCBpbnRvIGFuIGltYWdlIHRocm91Z2ggaW1hZ2UuYmJjbGFzcy4i
CiMKIyAkSU1BR0VfTElOR1VBUyBbMiBvcGVyYXRpb25zXQojICAgc2V0PyAvbWVkaWEvcmViZWNj
YXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvZGVmYXVsdC1kaXN0cm92YXJz
LmluYzo3CiMgICAgICJlbi11cyBlbi1nYiIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8v
cG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjIxNgojICAgICBbZG9jXSAiU3BlY2lm
aWVzIHRoZSBsaXN0IG9mIGxvY2FsZXMgdG8gaW5zdGFsbCBpbnRvIHRoZSBpbWFnZSBkdXJpbmcg
dGhlIHJvb3QgZmlsZXN5c3RlbSBjb25zdHJ1Y3Rpb24gcHJvY2Vzcy4iCiMgcHJlLWV4cGFuc2lv
biB2YWx1ZToKIyAgICJlbi11cyBlbi1nYiIKSU1BR0VfTElOR1VBUz0iZW4tdXMgZW4tZ2IiCiMK
IyAkSU1BR0VfTElOS19OQU1FCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0
YS9jb25mL2JpdGJha2UuY29uZjo0MzIKIyAgICAgIiR7SU1BR0VfQkFTRU5BTUV9LSR7TUFDSElO
RX0iCklNQUdFX0xJTktfTkFNRT0ibHR0bmctbW9kdWxlcy1xZW11eDg2IgojCiMgJElNQUdFX05B
TUUgWzMgb3BlcmF0aW9uc10KIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRh
L2NvbmYvYml0YmFrZS5jb25mOjQzMAojICAgICAiJHtJTUFHRV9CQVNFTkFNRX0tJHtNQUNISU5F
fS0ke0RBVEVUSU1FfSIKIyAgIGFwcGVuZCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRh
L2NvbmYvYml0YmFrZS5jb25mOjQzMQojICAgICBbdmFyZGVwc2V4Y2x1ZGVdICJEQVRFVElNRSIK
IyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlv
bi5jb25mOjIxNwojICAgICBbZG9jXSAiVGhlIG5hbWUgb2YgdGhlIG91dHB1dCBpbWFnZSBmaWxl
cyBtaW51cyB0aGUgZXh0ZW5zaW9uLiIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIiR7SU1B
R0VfQkFTRU5BTUV9LSR7TUFDSElORX0tJHtEQVRFVElNRX0iCklNQUdFX05BTUU9Imx0dG5nLW1v
ZHVsZXMtcWVtdXg4Ni0yMDE3MTAyNzAzMzEzMyIKIwojICRJTUFHRV9PVkVSSEVBRF9GQUNUT1Ig
WzIgb3BlcmF0aW9uc10KIyAgIHNldD8gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9j
b25mL2JpdGJha2UuY29uZjo0MzYKIyAgICAgIjEuMyIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMv
eW9jdG8vcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjIxOAojICAgICBbZG9jXSAi
RGVmaW5lcyBhIG11bHRpcGxpZXIgdGhhdCB0aGUgYnVpbGQgc3lzdGVtIGFwcGxpZXMgdG8gdGhl
IGluaXRpYWwgaW1hZ2Ugc2l6ZSBmb3IgY2FzZXMgd2hlbiB0aGUgbXVsdGlwbGllciB0aW1lcyB0
aGUgcmV0dXJuZWQgZGlzayB1c2FnZSB2YWx1ZSBmb3IgdGhlIGltYWdlIGlzIGdyZWF0ZXIgdGhh
biB0aGUgc3VtIG9mIElNQUdFX1JPT1RGU19TSVpFIGFuZCBJTUFHRV9ST09URlNfRVhUUkFfU1BB
Q0UuIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiMS4zIgpJTUFHRV9PVkVSSEVBRF9GQUNU
T1I9IjEuMyIKIwojICRJTUFHRV9QS0dUWVBFIFsyIG9wZXJhdGlvbnNdCiMgICBzZXQgL21lZGlh
L3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjoyMTkKIyAg
ICAgW2RvY10gIkRlZmluZXMgdGhlIHBhY2thZ2UgdHlwZSAoREVCLCBSUE0sIElQSywgb3IgVEFS
KSB1c2VkIGJ5IHRoZSBPcGVuRW1iZWRkZWQgYnVpbGQgc3lzdGVtLiIKIyAgIHNldD8gL21lZGlh
L3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL3BhY2thZ2VfcnBtLmJiY2xhc3M6Mwoj
ICAgICAicnBtIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAicnBtIgpJTUFHRV9QS0dUWVBF
PSJycG0iCiMKIyAkSU1BR0VfUE9TVFBST0NFU1NfQ09NTUFORCBbMiBvcGVyYXRpb25zXQojICAg
c2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNv
bmY6MjIwCiMgICAgIFtkb2NdICJBZGRlZCBieSBjbGFzc2VzIHRvIHJ1biBwb3N0IHByb2Nlc3Np
bmcgY29tbWFuZHMgb25jZSB0aGUgT3BlbkVtYmVkZGVkIGJ1aWxkIHN5c3RlbSBoYXMgY3JlYXRl
ZCB0aGUgaW1hZ2UuIgojICAgX3ByZXBlbmQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0
YS9jbGFzc2VzL2xpY2Vuc2UuYmJjbGFzczo2ODUKIyAgICAgIndyaXRlX2RlcGxveV9tYW5pZmVz
dDsgIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAid3JpdGVfZGVwbG95X21hbmlmZXN0OyAi
CklNQUdFX1BPU1RQUk9DRVNTX0NPTU1BTkQ9IndyaXRlX2RlcGxveV9tYW5pZmVzdDsgIgojCiMg
JElNQUdFX1BSRVBST0NFU1NfQ09NTUFORCBbMiBvcGVyYXRpb25zXQojICAgYXBwZW5kIC9tZWRp
YS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY2xhc3Nlcy9pbWFnZS1ta2xpYnMuYmJjbGFzczoz
CiMgICAgICJta2xpYnNfb3B0aW1pemVfaW1hZ2U7ICIKIyAgIGFwcGVuZCAvbWVkaWEvcmViZWNj
YXMveW9jdG8vcG9reS9tZXRhL2NsYXNzZXMvaW1hZ2UtcHJlbGluay5iYmNsYXNzOjMKIyAgICAg
InByZWxpbmtfc2V0dXA7IHByZWxpbmtfaW1hZ2U7ICIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgoj
ICAgIiBta2xpYnNfb3B0aW1pemVfaW1hZ2U7ICBwcmVsaW5rX3NldHVwOyBwcmVsaW5rX2ltYWdl
OyAiCklNQUdFX1BSRVBST0NFU1NfQ09NTUFORD0iIG1rbGlic19vcHRpbWl6ZV9pbWFnZTsgIHBy
ZWxpbmtfc2V0dXA7IHByZWxpbmtfaW1hZ2U7ICIKIwojICRJTUFHRV9ST09URlMgWzIgb3BlcmF0
aW9uc10KIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFr
ZS5jb25mOjQyOAojICAgICAiJHtXT1JLRElSfS9yb290ZnMiCiMgICBzZXQgL21lZGlhL3JlYmVj
Y2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjoyMjEKIyAgICAgW2Rv
Y10gIlRoZSBsb2NhdGlvbiBvZiB0aGUgcm9vdCBmaWxlc3lzdGVtIHdoaWxlIGl0IGlzIHVuZGVy
IGNvbnN0cnVjdGlvbiAoaS5lLiBkdXJpbmcgZG9fcm9vdGZzKS4iCiMgcHJlLWV4cGFuc2lvbiB2
YWx1ZToKIyAgICIke1dPUktESVJ9L3Jvb3RmcyIKSU1BR0VfUk9PVEZTPSIvbWVkaWEvcmViZWNj
YXMveW9jdG8vbHR0bmcvdG1wL3dvcmsvcWVtdXg4Ni1wb2t5LWxpbnV4L2x0dG5nLW1vZHVsZXMv
Mi45LjEtcjAvcm9vdGZzIgojCiMgJElNQUdFX1JPT1RGU19FWFRSQV9TUEFDRSBbMiBvcGVyYXRp
b25zXQojICAgc2V0PyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFr
ZS5jb25mOjQ0MQojICAgICAiMCIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9t
ZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjIyMgojICAgICBbZG9jXSAiRGVmaW5lcyBhZGRp
dGlvbmFsIGZyZWUgZGlzayBzcGFjZSBjcmVhdGVkIGluIHRoZSBpbWFnZSBpbiBLYnl0ZXMuIEJ5
IGRlZmF1bHQsIHRoaXMgdmFyaWFibGUgaXMgc2V0IHRvICcwJy4iCiMgcHJlLWV4cGFuc2lvbiB2
YWx1ZToKIyAgICIwIgpJTUFHRV9ST09URlNfRVhUUkFfU1BBQ0U9IjAiCiMKIyAkSU1BR0VfUk9P
VEZTX1NJWkUgWzIgb3BlcmF0aW9uc10KIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9r
eS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjIyMwojICAgICBbZG9jXSAiRGVmaW5lcyB0
aGUgc2l6ZSBpbiBLYnl0ZXMgZm9yIHRoZSBnZW5lcmF0ZWQgaW1hZ2UuIgojICAgc2V0IC9tZWRp
YS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6NzY1CiMgICAgIFtf
ZGVmYXVsdHZhbF0gIjY1NTM2IgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiNjU1MzYiCklN
QUdFX1JPT1RGU19TSVpFPSI2NTUzNiIKIwojICRJTUFHRV9UWVBFUwojICAgc2V0IC9tZWRpYS9y
ZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6MjI0CiMgICAg
IFtkb2NdICJTcGVjaWZpZXMgdGhlIGNvbXBsZXRlIGxpc3Qgb2Ygc3VwcG9ydGVkIGltYWdlIHR5
cGVzIGJ5IGRlZmF1bHQuIgojCiMgJElOQ09NUEFUSUJMRV9MSUNFTlNFCiMgICBzZXQgL21lZGlh
L3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjoyMjYKIyAg
ICAgW2RvY10gIlNwZWNpZmllcyBhIHNwYWNlLXNlcGFyYXRlZCBsaXN0IG9mIGxpY2Vuc2UgbmFt
ZXMgKGFzIHRoZXkgd291bGQgYXBwZWFyIGluIExJQ0VOU0UpIHRoYXQgc2hvdWxkIGJlIGV4Y2x1
ZGVkIGZyb20gdGhlIGJ1aWxkLiBXaWxkY2FyZCBpcyBzdXBwb3J0ZWQsIHN1Y2ggYXMgJypHUEx2
MyciCiMKIyAkSU5DX1BSCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9j
b25mL2RvY3VtZW50YXRpb24uY29uZjoyMjUKIyAgICAgW2RvY10gIkhlbHBzIGRlZmluZSB0aGUg
cmVjaXBlIHJldmlzaW9uIGZvciByZWNpcGVzIHRoYXQgc2hhcmUgYSBjb21tb24gaW5jbHVkZSBm
aWxlLiIKIwojICRJTkhFUklUIFs1IG9wZXJhdGlvbnNdCiMgICBhcHBlbmQgL21lZGlhL3JlYmVj
Y2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5L2NvbmYvZGlzdHJvL3Bva3kuY29uZjo5NAojICAgICAi
cG9reS1zYW5pdHkiCiMgICBhcHBlbmQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1w
b2t5L2NvbmYvZGlzdHJvL3Bva3kuY29uZjoxMDYKIyAgICAgInVuaW5hdGl2ZSIKIyAgIGFwcGVu
ZCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2RlZmF1bHRzZXR1
cC5jb25mOjI0CiMgICAgICIke1BBQ0tBR0VfQ0xBU1NFU30gJHtVU0VSX0NMQVNTRVN9ICR7SU5I
RVJJVF9ESVNUUk99ICR7SU5IRVJJVF9CTEFDS0xJU1R9IgojICAgc2V0IC9tZWRpYS9yZWJlY2Nh
cy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6MjI5CiMgICAgIFtkb2Nd
ICJDYXVzZXMgdGhlIG5hbWVkIGNsYXNzIHRvIGJlIGluaGVyaXRlZCBhdCB0aGlzIHBvaW50IGR1
cmluZyBwYXJzaW5nLiBUaGUgdmFyaWFibGUgaXMgb25seSB2YWxpZCBpbiBjb25maWd1cmF0aW9u
IGZpbGVzLiIKIyAgIGFwcGVuZCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYv
c2FuaXR5LmNvbmY6MTUKIyAgICAgInNhbml0eSIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAg
IiBwb2t5LXNhbml0eSB1bmluYXRpdmUgJHtQQUNLQUdFX0NMQVNTRVN9ICR7VVNFUl9DTEFTU0VT
fSAke0lOSEVSSVRfRElTVFJPfSAke0lOSEVSSVRfQkxBQ0tMSVNUfSBzYW5pdHkiCklOSEVSSVQ9
IiBwb2t5LXNhbml0eSB1bmluYXRpdmUgcGFja2FnZV9ycG0gYnVpbGRzdGF0cyBpbWFnZS1ta2xp
YnMgaW1hZ2UtcHJlbGluayBkZWJpYW4gZGV2c2hlbGwgc3N0YXRlIGxpY2Vuc2UgcmVtb3ZlLWxp
YnRvb2wgYmxhY2tsaXN0IHNhbml0eSIKIwojICRJTkhFUklUX0JMQUNLTElTVAojICAgc2V0IC9t
ZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8vZGVmYXVsdHNldHVwLmNv
bmY6MjIKIyAgICAgImJsYWNrbGlzdCIKSU5IRVJJVF9CTEFDS0xJU1Q9ImJsYWNrbGlzdCIKIwoj
ICRJTkhFUklUX0RJU1RSTyBbMiBvcGVyYXRpb25zXQojICAgc2V0PyAvbWVkaWEvcmViZWNjYXMv
eW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2RlZmF1bHRzZXR1cC5jb25mOjIzCiMgICAgICJk
ZWJpYW4gZGV2c2hlbGwgc3N0YXRlIGxpY2Vuc2UgcmVtb3ZlLWxpYnRvb2wiCiMgICBzZXQgL21l
ZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjoyMzAK
IyAgICAgW2RvY10gIkxpc3RzIGNsYXNzZXMgdGhhdCB3aWxsIGJlIGluaGVyaXRlZCBhdCB0aGUg
ZGlzdHJpYnV0aW9uIGxldmVsLiBJdCBpcyB1bmxpa2VseSB0aGF0IHlvdSB3YW50IHRvIGVkaXQg
dGhpcyB2YXJpYWJsZS4iCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICJkZWJpYW4gZGV2c2hl
bGwgc3N0YXRlIGxpY2Vuc2UgcmVtb3ZlLWxpYnRvb2wiCklOSEVSSVRfRElTVFJPPSJkZWJpYW4g
ZGV2c2hlbGwgc3N0YXRlIGxpY2Vuc2UgcmVtb3ZlLWxpYnRvb2wiCiMKIyAkSU5ISUJJVF9ERUZB
VUxUX0RFUFMKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZG9j
dW1lbnRhdGlvbi5jb25mOjIyNwojICAgICBbZG9jXSAiUHJldmVudHMgdGhlIGRlZmF1bHQgZGVw
ZW5kZW5jaWVzLCBuYW1lbHkgdGhlIEMgY29tcGlsZXIgYW5kIHN0YW5kYXJkIEMgbGlicmFyeSAo
bGliYyksIGZyb20gYmVpbmcgYWRkZWQgdG8gREVQRU5EUy4iCiMKIyAkSU5ISUJJVF9QQUNLQUdF
X1NUUklQCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3Vt
ZW50YXRpb24uY29uZjoyMjgKIyAgICAgW2RvY10gIklmIHNldCB0byAiMSIsIGNhdXNlcyB0aGUg
YnVpbGQgdG8gbm90IHN0cmlwIGJpbmFyaWVzIGluIHJlc3VsdGluZyBwYWNrYWdlcy4iCiMKIyAk
SU5JVFJBTUZTX0ZTVFlQRVMgWzIgb3BlcmF0aW9uc10KIyAgIHNldCAvbWVkaWEvcmViZWNjYXMv
eW9jdG8vcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjIzMQojICAgICBbZG9jXSAi
RGVmaW5lcyB0aGUgZm9ybWF0IGZvciB0aGUgb3V0cHV0IGltYWdlIG9mIGFuIGluaXRpYWwgUkFN
IGRpc2sgKGluaXRyYW1mcyksIHdoaWNoIGlzIHVzZWQgZHVyaW5nIGJvb3QuIgojICAgc2V0PyAv
bWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjc1MwojICAg
ICAiY3Bpby5neiIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgImNwaW8uZ3oiCklOSVRSQU1G
U19GU1RZUEVTPSJjcGlvLmd6IgojCiMgJElOSVRSQU1GU19NQVhTSVpFCiMgICBzZXQgL21lZGlh
L3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo3NTcKIyAgICAgW19k
ZWZhdWx0dmFsXSAiMTMxMDcyIgpJTklUUkFNRlNfTUFYU0laRT0iMTMxMDcyIgojCiMgJElOSVRS
RAojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0
aW9uLmNvbmY6MjMyCiMgICAgIFtkb2NdICJJbmRpY2F0ZXMgYSBsaXN0IG9mIGZpbGVzeXN0ZW0g
aW1hZ2VzIHRvIGNvbmNhdGVuYXRlIGFuZCB1c2UgYXMgYW4gaW5pdGlhbCBSQU0gZGlzayAoaW5p
dHJkKS4iCiMKIyAkSU5JVFNDUklQVF9OQU1FCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3Rv
L3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjoyMzMKIyAgICAgW2RvY10gIlRoZSBm
aWxlbmFtZSBvZiB0aGUgaW5pdGlhbGl6YXRpb24gc2NyaXB0IGFzIGluc3RhbGxlZCB0byAke3N5
c2NvbmZkaXJ9L2luaXQuZC4iCiMKIyAkSU5JVFNDUklQVF9QQUNLQUdFUwojICAgc2V0IC9tZWRp
YS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6MjM0CiMg
ICAgIFtkb2NdICJBIGxpc3Qgb2YgdGhlIHBhY2thZ2VzIHRoYXQgY29udGFpbiBpbml0c2NyaXB0
cy4gVGhpcyB2YXJpYWJsZSBpcyB1c2VkIGluIHJlY2lwZXMgd2hlbiB1c2luZyB1cGRhdGUtcmMu
ZC5iYmNsYXNzLiBUaGUgdmFyaWFibGUgaXMgb3B0aW9uYWwgYW5kIGRlZmF1bHRzIHRvIHRoZSBQ
TiB2YXJpYWJsZS4iCiMKIyAkSU5JVFNDUklQVF9QQVJBTVMKIyAgIHNldCAvbWVkaWEvcmViZWNj
YXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjIzNQojICAgICBbZG9j
XSAiU3BlY2lmaWVzIHRoZSBvcHRpb25zIHRvIHBhc3MgdG8gdXBkYXRlLXJjLmQuIFRoZSB2YXJp
YWJsZSBpcyBtYW5kYXRvcnkgYW5kIGlzIHVzZWQgaW4gcmVjaXBlcyB3aGVuIHVzaW5nIHVwZGF0
ZS1yYy5kLmJiY2xhc3MuIgojCiMgJElOU0FORV9TS0lQCiMgICBzZXQgL21lZGlhL3JlYmVjY2Fz
L3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjoyMzYKIyAgICAgW2RvY10g
IlNwZWNpZmllcyB0aGUgUUEgY2hlY2tzIHRvIHNraXAgZm9yIGEgc3BlY2lmaWMgcGFja2FnZSB3
aXRoaW4gYSByZWNpcGUuIgojCiMgJElOU1RBTExfTU9EX0RJUiBbMiBvcGVyYXRpb25zXQojICAg
ZXhwb3J0ZWQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9s
dHRuZy9sdHRuZy1tb2R1bGVzXzIuOS4xLmJiOjE5CiMgICAgIFtleHBvcnRdICIxIgojICAgc2V0
IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbHR0bmcvbHR0
bmctbW9kdWxlc18yLjkuMS5iYjoxOQojICAgICAia2VybmVsL2x0dG5nLW1vZHVsZXMiCiMgcHJl
LWV4cGFuc2lvbiB2YWx1ZToKIyAgICJrZXJuZWwvbHR0bmctbW9kdWxlcyIKZXhwb3J0IElOU1RB
TExfTU9EX0RJUj0ia2VybmVsL2x0dG5nLW1vZHVsZXMiCiMKIyAkSVBLX0ZFRURfVVJJUwojICAg
c2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNv
bmY6MjM3CiMgICAgIFtkb2NdICJMaXN0IG9mIGlwa2cgZmVlZCByZWNvcmRzIHRvIHB1dCBpbnRv
IGdlbmVyYXRlZCBpbWFnZS4iCiMKIyAkS0FSQ0gKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9j
dG8vcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjI0MQojICAgICBbZG9jXSAiRGVm
aW5lcyB0aGUga2VybmVsIGFyY2hpdGVjdHVyZSB1c2VkIHdoZW4gYXNzZW1ibGluZyB0aGUgY29u
ZmlndXJhdGlvbi4gWW91IGRlZmluZSB0aGUgS0FSQ0ggdmFyaWFibGUgaW4gdGhlIEJTUCBEZXNj
cmlwdGlvbnMuIgojCiMgJEtCUkFOQ0gKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9r
eS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjI0MgojICAgICBbZG9jXSAiQSByZWd1bGFy
IGV4cHJlc3Npb24gdXNlZCBieSB0aGUgYnVpbGQgcHJvY2VzcyB0byBleHBsaWNpdGx5IGlkZW50
aWZ5IHRoZSBrZXJuZWwgYnJhbmNoIHRoYXQgaXMgdmFsaWRhdGVkLCBwYXRjaGVkIGFuZCBjb25m
aWd1cmVkIGR1cmluZyBhIGJ1aWxkLiIKIwojICRLQlJBTkNIX0RFRkFVTFQKIyAgIHNldCAvbWVk
aWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjI0Mwoj
ICAgICBbZG9jXSAiRGVmaW5lcyB0aGUgTGludXgga2VybmVsIHNvdXJjZSByZXBvc2l0b3J5J3Mg
ZGVmYXVsdCBicmFuY2ggdXNlZCB0byBidWlsZCB0aGUgTGludXgga2VybmVsLiBVbmxlc3MgeW91
IHNwZWNpZnkgb3RoZXJ3aXNlLCB0aGUgdmFyaWFibGUgaW5pdGlhbGl6ZXMgdG8gJ21hc3Rlcicu
IgojCiMgJEtCVUlMRF9FWFRSQV9TWU1CT0xTCiMgICBzZXQgbW9kdWxlLmJiY2xhc3M6MTkgW19f
YW5vbl8xOV9fbWVkaWFfcmViZWNjYXNfeW9jdG9fcG9reV9tZXRhX2NsYXNzZXNfbW9kdWxlX2Ji
Y2xhc3NdCiMgICAgICIiCktCVUlMRF9FWFRSQV9TWU1CT0xTPSIiCiMKIyAkS0JVSUxEX09VVFBV
VCBbMiBvcGVyYXRpb25zXQojICAgZXhwb3J0ZWQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kv
bWV0YS9jbGFzc2VzL21vZHVsZS1iYXNlLmJiY2xhc3M6MTMKIyAgICAgW2V4cG9ydF0gIjEiCiMg
ICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL21vZHVsZS1iYXNl
LmJiY2xhc3M6MTMKIyAgICAgIiR7U1RBR0lOR19LRVJORUxfQlVJTERESVJ9IgojIHByZS1leHBh
bnNpb24gdmFsdWU6CiMgICAiJHtTVEFHSU5HX0tFUk5FTF9CVUlMRERJUn0iCmV4cG9ydCBLQlVJ
TERfT1VUUFVUPSIvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvdG1wL3dvcmstc2hhcmVkL3Fl
bXV4ODYva2VybmVsLWJ1aWxkLWFydGlmYWN0cyIKIwojICRLRUVQVUlNQUdFCiMgICBzZXQgL21l
ZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL2RlZmF1bHQt
ZGlzdHJvdmFycy5pbmM6NQojICAgICBbX2RlZmF1bHR2YWxdICJ5ZXMiCktFRVBVSU1BR0U9Inll
cyIKIwojICRLRVJORUxPUkdfTUlSUk9SCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bv
a3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo2MTQKIyAgICAgImh0dHA6Ly9jZG4ua2VybmVsLm9y
Zy9wdWIiCktFUk5FTE9SR19NSVJST1I9Imh0dHA6Ly9jZG4ua2VybmVsLm9yZy9wdWIiCiMKIyAk
S0VSTkVMX0FSCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2Vz
L2tlcm5lbC1hcmNoLmJiY2xhc3M6NjEKIyAgICAgIiR7Q0NBQ0hFfSR7SE9TVF9QUkVGSVh9YXIg
JHtIT1NUX0FSX0tFUk5FTF9BUkNIfSIKS0VSTkVMX0FSPSJpNTg2LXBva3ktbGludXgtYXIgIgoj
CiMgJEtFUk5FTF9DQwojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY2xh
c3Nlcy9rZXJuZWwtYXJjaC5iYmNsYXNzOjU5CiMgICAgICIke0NDQUNIRX0ke0hPU1RfUFJFRklY
fWdjYyAke0hPU1RfQ0NfS0VSTkVMX0FSQ0h9IC1mdXNlLWxkPWJmZCIKS0VSTkVMX0NDPSJpNTg2
LXBva3ktbGludXgtZ2NjICAtZnVzZS1sZD1iZmQiCiMKIyAkS0VSTkVMX0NMQVNTRVMKIyAgIHNl
dCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25m
OjI0NAojICAgICBbZG9jXSAiQSBsaXN0IG9mIGNsYXNzZXMgZGVmaW5pbmcga2VybmVsIGltYWdl
IHR5cGVzIHRoYXQga2VybmVsIGNsYXNzIHNob3VsZCBpbmhlcml0LiIKIwojICRLRVJORUxfQ09O
U09MRQojICAgc2V0PyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJv
L2luY2x1ZGUvZGVmYXVsdC1kaXN0cm92YXJzLmluYzo0CiMgICAgICJ0dHlTMCIKS0VSTkVMX0NP
TlNPTEU9InR0eVMwIgojCiMgJEtFUk5FTF9FWFRSQV9BUkdTCiMgICBzZXQgL21lZGlhL3JlYmVj
Y2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjoyNDUKIyAgICAgW2Rv
Y10gIlNwZWNpZmllcyBhZGRpdGlvbmFsIG1ha2UgY29tbWFuZC1saW5lIGFyZ3VtZW50cyB0aGUg
T3BlbkVtYmVkZGVkIGJ1aWxkIHN5c3RlbSBwYXNzZXMgb24gd2hlbiBjb21waWxpbmcgdGhlIGtl
cm5lbC4iCiMKIyAkS0VSTkVMX0ZFQVRVUkVTIFsyIG9wZXJhdGlvbnNdCiMgICBfYXBwZW5kW3Bu
LWxpbnV4LXlvY3RvXSAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvbWFjaGlu
ZS9pbmNsdWRlL3FlbXUuaW5jOjI3CiMgICAgICIgZmVhdHVyZXMvbmZzZC9uZnNkLWVuYWJsZS5z
Y2MiCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50
YXRpb24uY29uZjoyNDYKIyAgICAgW2RvY10gIkluY2x1ZGVzIGFkZGl0aW9uYWwgbWV0YWRhdGEg
ZnJvbSB0aGUgWW9jdG8gUHJvamVjdCBrZXJuZWwgR2l0IHJlcG9zaXRvcnkuIFRoZSBtZXRhZGF0
YSB5b3UgYWRkIHRocm91Z2ggdGhpcyB2YXJpYWJsZSBpbmNsdWRlcyBjb25maWcgZnJhZ21lbnRz
IGFuZCBmZWF0dXJlcyBkZXNjcmlwdGlvbnMuIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAi
IgpLRVJORUxfRkVBVFVSRVM9IiIKIwojICRLRVJORUxfSU1BR0VUWVBFIFsyIG9wZXJhdGlvbnNd
CiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvcWVt
dXg4Ni5jb25mOjE0CiMgICAgICJiekltYWdlIgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0
by9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6MjQ3CiMgICAgIFtkb2NdICJUaGUg
dHlwZSBvZiBrZXJuZWwgdG8gYnVpbGQgZm9yIGEgZGV2aWNlLCB1c3VhbGx5IHNldCBieSB0aGUg
bWFjaGluZSBjb25maWd1cmF0aW9uIGZpbGVzIGFuZCBkZWZhdWx0cyB0byAnekltYWdlJy4iCiMg
cHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICJiekltYWdlIgpLRVJORUxfSU1BR0VUWVBFPSJieklt
YWdlIgojCiMgJEtFUk5FTF9JTUFHRVRZUEVTCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3Rv
L3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjoyNDgKIyAgICAgW2RvY10gIlRoZSBs
aXN0IG9mIHR5cGVzIG9mIGtlcm5lbCB0byBidWlsZCBmb3IgYSBkZXZpY2UsIHVzdWFsbHkgc2V0
IGJ5IHRoZSBtYWNoaW5lIGNvbmZpZ3VyYXRpb24gZmlsZXMgYW5kIGRlZmF1bHRzIHRvIEtFUk5F
TF9JTUFHRVRZUEUuIgojCiMgJEtFUk5FTF9MRAojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0
by9wb2t5L21ldGEvY2xhc3Nlcy9rZXJuZWwtYXJjaC5iYmNsYXNzOjYwCiMgICAgICIke0NDQUNI
RX0ke0hPU1RfUFJFRklYfWxkLmJmZCAke0hPU1RfTERfS0VSTkVMX0FSQ0h9IgpLRVJORUxfTEQ9
Imk1ODYtcG9reS1saW51eC1sZC5iZmQgIgojCiMgJEtFUk5FTF9NT0RVTEVTX01FVEFfUEFDS0FH
RSBbMiBvcGVyYXRpb25zXQojICAgc2V0PyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRh
L2NsYXNzZXMva2VybmVsLW1vZHVsZS1zcGxpdC5iYmNsYXNzOjMzCiMgICAgICJrZXJuZWwtbW9k
dWxlcyIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NsYXNzZXMvbW9k
dWxlLmJiY2xhc3M6NTUKIyAgICAgIiR7UE59IgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAi
JHtQTn0iCktFUk5FTF9NT0RVTEVTX01FVEFfUEFDS0FHRT0ibHR0bmctbW9kdWxlcyIKIwojICRL
RVJORUxfTU9EVUxFX0FVVE9MT0FEIFsyIG9wZXJhdGlvbnNdCiMgICBhcHBlbmQgL21lZGlhL3Jl
YmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS9xZW11Ym9vdC14ODYu
aW5jOjE3CiMgICAgICJ1dmVzYWZiIgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5
L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6MjQ5CiMgICAgIFtkb2NdICJMaXN0cyBrZXJu
ZWwgbW9kdWxlcyB0aGF0IG5lZWQgdG8gYmUgYXV0by1sb2FkZWQgZHVyaW5nIGJvb3QiCiMgcHJl
LWV4cGFuc2lvbiB2YWx1ZToKIyAgICIgdXZlc2FmYiIKS0VSTkVMX01PRFVMRV9BVVRPTE9BRD0i
IHV2ZXNhZmIiCiMKIyAkS0VSTkVMX01PRFVMRV9QQUNLQUdFX1BSRUZJWAojICAgc2V0PyAvbWVk
aWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NsYXNzZXMva2VybmVsLW1vZHVsZS1zcGxpdC5i
YmNsYXNzOjM1CiMgICAgICIiCktFUk5FTF9NT0RVTEVfUEFDS0FHRV9QUkVGSVg9IiIKIwojICRL
RVJORUxfTU9EVUxFX1BBQ0tBR0VfU1VGRklYCiMgICBzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95b2N0
by9wb2t5L21ldGEvY2xhc3Nlcy9rZXJuZWwtbW9kdWxlLXNwbGl0LmJiY2xhc3M6MzYKIyAgICAg
Ii0ke0tFUk5FTF9WRVJTSU9OfSIKS0VSTkVMX01PRFVMRV9QQUNLQUdFX1NVRkZJWD0iLTQuMTIu
MTIteW9jdG8tc3RhbmRhcmQiCiMKIyAkS0VSTkVMX01PRFVMRV9QUk9CRUNPTkYgWzIgb3BlcmF0
aW9uc10KIyAgIGFwcGVuZCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvbWFj
aGluZS9pbmNsdWRlL3FlbXVib290LXg4Ni5pbmM6MTgKIyAgICAgInV2ZXNhZmIiCiMgICBzZXQg
L21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjoy
NTAKIyAgICAgW2RvY10gIkxpc3RzIGtlcm5lbCBtb2R1bGVzIGZvciB3aGljaCB0aGUgYnVpbGQg
c3lzdGVtIGV4cGVjdHMgdG8gZmluZCBtb2R1bGVfY29uZl8qIHZhbHVlcyB0aGF0IHNwZWNpZnkg
Y29uZmlndXJhdGlvbiBmb3IgZWFjaCBvZiB0aGUgbW9kdWxlcyIKIyBwcmUtZXhwYW5zaW9uIHZh
bHVlOgojICAgIiB1dmVzYWZiIgpLRVJORUxfTU9EVUxFX1BST0JFQ09ORj0iIHV2ZXNhZmIiCiMK
IyAkS0VSTkVMX01PRFVMRV9QUk9WSURFX1ZJUlRVQUwKIyAgIHNldD8gL21lZGlhL3JlYmVjY2Fz
L3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL2tlcm5lbC1tb2R1bGUtc3BsaXQuYmJjbGFzczozNwoj
ICAgICAiMSIKS0VSTkVMX01PRFVMRV9QUk9WSURFX1ZJUlRVQUw9IjEiCiMKIyAkS0VSTkVMX09C
SkVDVF9TVUZGSVgKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NsYXNz
ZXMvbW9kdWxlLWJhc2UuYmJjbGFzczoxNgojICAgICAiLmtvIgpLRVJORUxfT0JKRUNUX1NVRkZJ
WD0iLmtvIgojCiMgJEtFUk5FTF9QQVRICiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bv
a3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjoyNTEKIyAgICAgW2RvY10gIlRoZSBsb2Nh
dGlvbiBvZiB0aGUga2VybmVsIHNvdXJjZXMuIFRoaXMgdmFyaWFibGUgaXMgc2V0IHRvIHRoZSB2
YWx1ZSBvZiB0aGUgU1RBR0lOR19LRVJORUxfRElSIHdpdGhpbiB0aGUgbW9kdWxlIGNsYXNzICht
b2R1bGUuYmJjbGFzcykuIgojCiMgJEtFUk5FTF9TUkMKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMv
eW9jdG8vcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjI1MgojICAgICBbZG9jXSAi
VGhlIGxvY2F0aW9uIG9mIHRoZSBrZXJuZWwgc291cmNlcy4gVGhpcyB2YXJpYWJsZSBpcyBzZXQg
dG8gdGhlIHZhbHVlIG9mIHRoZSBTVEFHSU5HX0tFUk5FTF9ESVIgd2l0aGluIHRoZSBtb2R1bGUg
Y2xhc3MgKG1vZHVsZS5iYmNsYXNzKS4iCiMKIyAkS0VSTkVMX1NSQ19QQVRICiMgICBzZXQgL21l
ZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo0MTkKIyAgICAg
Ii91c3Ivc3JjL2tlcm5lbCIKS0VSTkVMX1NSQ19QQVRIPSIvdXNyL3NyYy9rZXJuZWwiCiMKIyAk
S0VSTkVMX1ZFUlNJT04gWzIgb3BlcmF0aW9uc10KIyAgIGV4cG9ydGVkIC9tZWRpYS9yZWJlY2Nh
cy95b2N0by9wb2t5L21ldGEvY2xhc3Nlcy9tb2R1bGUtYmFzZS5iYmNsYXNzOjE1CiMgICAgIFtl
eHBvcnRdICIxIgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY2xhc3Nl
cy9tb2R1bGUtYmFzZS5iYmNsYXNzOjE1CiMgICAgICIke0BiYXNlX3JlYWRfZmlsZSgnJHtTVEFH
SU5HX0tFUk5FTF9CVUlMRERJUn0va2VybmVsLWFiaXZlcnNpb24nKX0iCiMgcHJlLWV4cGFuc2lv
biB2YWx1ZToKIyAgICIke0BiYXNlX3JlYWRfZmlsZSgnJHtTVEFHSU5HX0tFUk5FTF9CVUlMRERJ
Un0va2VybmVsLWFiaXZlcnNpb24nKX0iCmV4cG9ydCBLRVJORUxfVkVSU0lPTj0iNC4xMi4xMi15
b2N0by1zdGFuZGFyZCIKIwojICRLRkVBVFVSRV9ERVNDUklQVElPTgojICAgc2V0IC9tZWRpYS9y
ZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6MjUzCiMgICAg
IFtkb2NdICJQcm92aWRlcyBhIHNob3J0IGRlc2NyaXB0aW9uIG9mIGEgY29uZmlndXJhdGlvbiBm
cmFnbWVudC4gWW91IHVzZSB0aGlzIHZhcmlhYmxlIGluIHRoZSAuc2NjIGZpbGUgdGhhdCBkZXNj
cmliZXMgYSBjb25maWd1cmF0aW9uIGZyYWdtZW50IGZpbGUuIgojCiMgJEtNQUNISU5FCiMgICBz
ZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29u
ZjoyNTQKIyAgICAgW2RvY10gIlRoZSBtYWNoaW5lIGFzIGtub3duIGJ5IHRoZSBrZXJuZWwuIgoj
CiMgJEtUWVBFCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rv
Y3VtZW50YXRpb24uY29uZjoyNTUKIyAgICAgW2RvY10gIkRlZmluZXMgdGhlIGtlcm5lbCB0eXBl
IHRvIGJlIHVzZWQgaW4gYXNzZW1ibGluZyB0aGUgY29uZmlndXJhdGlvbi4iCiMKIyAkTEFZRVJE
RVBFTkRTIFsyIG9wZXJhdGlvbnNdCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kv
bWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjoyNTkKIyAgICAgW2RvY10gIkxpc3RzIHRoZSBs
YXllcnMsIHNlcGFyYXRlZCBieSBzcGFjZXMsIHVwb24gd2hpY2ggdGhpcyByZWNpcGUgZGVwZW5k
cy4gVGhpcyB2YXJpYWJsZSBpcyB1c2VkIGluIHRoZSBjb25mL2xheWVyLmNvbmYgZmlsZSBhbmQg
bXVzdCBiZSBzdWZmaXhlZCB3aXRoIHRoZSBuYW1lIG9mIHRoZSBzcGVjaWZpYyBsYXllci4iCiMg
ICBvdmVycmlkZVt5b2N0b106c2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEtcG9r
eS9jb25mL2xheWVyLmNvbmY6MTYKIyAgICAgImNvcmUiCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToK
IyAgICJOb25lIgojCiMgJExBWUVSREVQRU5EU195b2N0bwojICAgc2V0IC9tZWRpYS9yZWJlY2Nh
cy95b2N0by9wb2t5L21ldGEtcG9reS9jb25mL2xheWVyLmNvbmY6MTYKIyAgICAgImNvcmUiCkxB
WUVSREVQRU5EU195b2N0bz0iY29yZSIKIwojICRMQVlFUkRJUiBbNiBvcGVyYXRpb25zXQojICAg
c2V0IGNvb2tlcmRhdGEucHk6MzQwIFtwYXJzZUNvbmZpZ3VyYXRpb25GaWxlc10KIyAgICAgIi9t
ZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEiCiMgICBzZXQgY29va2VyZGF0YS5weTozNDAg
W3BhcnNlQ29uZmlndXJhdGlvbkZpbGVzXQojICAgICAiL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bv
a3kvbWV0YS1wb2t5IgojICAgc2V0IGNvb2tlcmRhdGEucHk6MzQwIFtwYXJzZUNvbmZpZ3VyYXRp
b25GaWxlc10KIyAgICAgIi9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEteW9jdG8tYnNw
IgojICAgc2V0IGNvb2tlcmRhdGEucHk6MzQwIFtwYXJzZUNvbmZpZ3VyYXRpb25GaWxlc10KIyAg
ICAgIi9tZWRpYS9yZWJlY2Nhcy95b2N0by9tZXRhLWludGVsLWNvbnRyaWIiCiMgICBkZWwgY29v
a2VyZGF0YS5weTozNDcgW3BhcnNlQ29uZmlndXJhdGlvbkZpbGVzXQojICAgICAiIgojICAgc2V0
IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6
MjYwCiMgICAgIFtkb2NdICJXaGVuIHVzZWQgaW5zaWRlIHRoZSBsYXllci5jb25mIGNvbmZpZ3Vy
YXRpb24gZmlsZSwgdGhpcyB2YXJpYWJsZSBwcm92aWRlcyB0aGUgcGF0aCBvZiB0aGUgY3VycmVu
dCBsYXllci4iCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICJOb25lIgojCiMgJExBWUVSVkVS
U0lPTiBbNSBvcGVyYXRpb25zXQojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21l
dGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6MjYxCiMgICAgIFtkb2NdICJPcHRpb25hbGx5IHNw
ZWNpZmllcyB0aGUgdmVyc2lvbiBvZiBhIGxheWVyIGFzIGEgc2luZ2xlIG51bWJlci4gVGhpcyB2
YXJpYWJsZSBpcyB1c2VkIGluIHRoZSBjb25mL2xheWVyLmNvbmYgZmlsZSBhbmQgbXVzdCBiZSBz
dWZmaXhlZCB3aXRoIHRoZSBuYW1lIG9mIHRoZSBzcGVjaWZpYyBsYXllci4iCiMgICBvdmVycmlk
ZVtjb3JlXTpzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2xheWVyLmNv
bmY6MTIKIyAgICAgIjEwIgojICAgb3ZlcnJpZGVbeW9jdG9dOnNldCAvbWVkaWEvcmViZWNjYXMv
eW9jdG8vcG9reS9tZXRhLXBva3kvY29uZi9sYXllci5jb25mOjE0CiMgICAgICIzIgojICAgb3Zl
cnJpZGVbeW9jdG9ic3BdOnNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXlvY3Rv
LWJzcC9jb25mL2xheWVyLmNvbmY6MTEKIyAgICAgIjMiCiMgICBvdmVycmlkZVtpbnRlbF06c2V0
IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9tZXRhLWludGVsLWNvbnRyaWIvY29uZi9sYXllci5jb25m
OjE3CiMgICAgICIzIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiTm9uZSIKIwojICRMQVlF
UlZFUlNJT05fY29yZQojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29u
Zi9sYXllci5jb25mOjEyCiMgICAgICIxMCIKTEFZRVJWRVJTSU9OX2NvcmU9IjEwIgojCiMgJExB
WUVSVkVSU0lPTl9pbnRlbAojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9tZXRhLWludGVs
LWNvbnRyaWIvY29uZi9sYXllci5jb25mOjE3CiMgICAgICIzIgpMQVlFUlZFUlNJT05faW50ZWw9
IjMiCiMKIyAkTEFZRVJWRVJTSU9OX3lvY3RvCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3Rv
L3Bva3kvbWV0YS1wb2t5L2NvbmYvbGF5ZXIuY29uZjoxNAojICAgICAiMyIKTEFZRVJWRVJTSU9O
X3lvY3RvPSIzIgojCiMgJExBWUVSVkVSU0lPTl95b2N0b2JzcAojICAgc2V0IC9tZWRpYS9yZWJl
Y2Nhcy95b2N0by9wb2t5L21ldGEteW9jdG8tYnNwL2NvbmYvbGF5ZXIuY29uZjoxMQojICAgICAi
MyIKTEFZRVJWRVJTSU9OX3lvY3RvYnNwPSIzIgojCiMgJExBWUVSX0NPTkZfVkVSU0lPTgojICAg
c2V0PyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvc2FuaXR5LmNvbmY6MTIK
IyAgICAgIjciCkxBWUVSX0NPTkZfVkVSU0lPTj0iNyIKIwojICRMQ19BTEwgWzQgb3BlcmF0aW9u
c10KIyAgIGZyb20gZW52IGRhdGEucHk6MTI0IFtpbmhlcml0RnJvbU9TXQojICAgICAiZW5fVVMu
VVRGLTgiCiMgICBhdXRvIGVudiBleHBvcnQgZGF0YS5weToxMjYgW2luaGVyaXRGcm9tT1NdCiMg
ICAgIFtleHBvcnRdICJUcnVlIgojICAgZXhwb3J0ZWQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bv
a3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo1MjYKIyAgICAgW2V4cG9ydF0gIjEiCiMgICBzZXQg
L21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo1MjYKIyAg
ICAgImVuX1VTLlVURi04IgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiZW5fVVMuVVRGLTgi
CmV4cG9ydCBMQ19BTEw9ImVuX1VTLlVURi04IgojCiMgJExEIFsyIG9wZXJhdGlvbnNdCiMgICBl
eHBvcnRlZCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25m
OjQ5OAojICAgICBbZXhwb3J0XSAiMSIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9r
eS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjQ5OAojICAgICAiJHtIT1NUX1BSRUZJWH1sZCR7VE9P
TENIQUlOX09QVElPTlN9ICR7SE9TVF9MRF9BUkNIfSIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgoj
ICAgIiR7SE9TVF9QUkVGSVh9bGQke1RPT0xDSEFJTl9PUFRJT05TfSAke0hPU1RfTERfQVJDSH0i
CmV4cG9ydCBMRD0iaTU4Ni1wb2t5LWxpbnV4LWxkIC0tc3lzcm9vdD0vbWVkaWEvcmViZWNjYXMv
eW9jdG8vbHR0bmcvdG1wL3dvcmsvcWVtdXg4Ni1wb2t5LWxpbnV4L2x0dG5nLW1vZHVsZXMvMi45
LjEtcjAvcmVjaXBlLXN5c3Jvb3QgICIKIwojICRMREZMQUdTIFsyIG9wZXJhdGlvbnNdCiMgICBl
eHBvcnRlZCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25m
OjU2OAojICAgICBbZXhwb3J0XSAiMSIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9r
eS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjU2OAojICAgICAiJHtUQVJHRVRfTERGTEFHU30iCiMg
cHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICIke1RBUkdFVF9MREZMQUdTfSIKZXhwb3J0IExERkxB
R1M9Ii1XbCwtTzEgLVdsLC0taGFzaC1zdHlsZT1nbnUgLVdsLC0tYXMtbmVlZGVkIgojCiMgJExF
QURfU09OQU1FCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rv
Y3VtZW50YXRpb24uY29uZjoyNjIKIyAgICAgW2RvY10gIlNwZWNpZmllcyB0aGUgbGVhZCAob3Ig
cHJpbWFyeSkgY29tcGlsZWQgbGlicmFyeSBmaWxlICguc28pIHRoYXQgdGhlIGRlYmlhbiBjbGFz
cyBhcHBsaWVzIGl0cyBuYW1pbmcgcG9saWN5IHRvIGdpdmVuIGEgcmVjaXBlIHRoYXQgcGFja2Fn
ZXMgbXVsdGlwbGUgbGlicmFyaWVzLiIKIwojICRMR1BMdjJfV0hJVEVMSVNUX0dQTC0zLjAKIyAg
IHNldD8gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRl
L2RlZmF1bHQtZGlzdHJvdmFycy5pbmM6MjYKIyAgICAgIiIKTEdQTHYyX1dISVRFTElTVF9HUEwt
My4wPSIiCiMKIyAkTElCQ0VYVEVOU0lPTiBbMiBvcGVyYXRpb25zXQojICAgc2V0IC9tZWRpYS9y
ZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6MTE4CiMgICAgIFtfZGVm
YXVsdHZhbF0gIiIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYv
ZGlzdHJvL2luY2x1ZGUvdGNsaWJjLWdsaWJjLmluYzo1CiMgICAgICIke0BbJycsICctZ251J11b
KGQuZ2V0VmFyKCdBQklFWFRFTlNJT04nKSBvciAnJykgIT0gJyddfSIKIyBwcmUtZXhwYW5zaW9u
IHZhbHVlOgojICAgIiR7QFsnJywgJy1nbnUnXVsoZC5nZXRWYXIoJ0FCSUVYVEVOU0lPTicpIG9y
ICcnKSAhPSAnJ119IgpMSUJDRVhURU5TSU9OPSIiCiMKIyAkTElCQ09WRVJSSURFCiMgICBzZXQg
L21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL3RjbGli
Yy1nbGliYy5pbmM6OAojICAgICAiOmxpYmMtZ2xpYmMiCkxJQkNPVkVSUklERT0iOmxpYmMtZ2xp
YmMiCiMKIyAkTElCQ19ERVBFTkRFTkNJRVMKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8v
cG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvdGNsaWJjLWdsaWJjLmluYzoyNwojICAgICAi
bGlic2VnZmF1bHQgCQkgICAgIGdsaWJjIAkJICAgICBnbGliYy1kYmcgCQkgICAgIGdsaWJjLWRl
diAJCSAgICAgZ2xpYmMtdXRpbHMgCQkgICAgIGdsaWJjLXRocmVhZC1kYiAJCSAgICAgJHtAZ2V0
X2xpYmNfbG9jYWxlc19kZXBlbmRlbmNpZXMoZCl9IgpMSUJDX0RFUEVOREVOQ0lFUz0ibGlic2Vn
ZmF1bHQgCQkgICAgIGdsaWJjIAkJICAgICBnbGliYy1kYmcgCQkgICAgIGdsaWJjLWRldiAJCSAg
ICAgZ2xpYmMtdXRpbHMgCQkgICAgIGdsaWJjLXRocmVhZC1kYiAJCSAgICAgCWdsaWJjLWxvY2Fs
ZWRhdGEtaTE4biAJZ2xpYmMtZ2NvbnYtaWJtODUwIAlnbGliYy1nY29udi1jcDEyNTIgCWdsaWJj
LWdjb252LWlzbzg4NTktMSAJZ2xpYmMtZ2NvbnYtaXNvODg1OS0xNSIKIwojICRMSUJDX0xPQ0FM
RV9ERVBFTkRFTkNJRVMKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2Nv
bmYvZGlzdHJvL2luY2x1ZGUvdGNsaWJjLWdsaWJjLmluYzozNAojICAgICAiCWdsaWJjLWxvY2Fs
ZWRhdGEtaTE4biAJZ2xpYmMtZ2NvbnYtaWJtODUwIAlnbGliYy1nY29udi1jcDEyNTIgCWdsaWJj
LWdjb252LWlzbzg4NTktMSAJZ2xpYmMtZ2NvbnYtaXNvODg1OS0xNSIKTElCQ19MT0NBTEVfREVQ
RU5ERU5DSUVTPSIJZ2xpYmMtbG9jYWxlZGF0YS1pMThuIAlnbGliYy1nY29udi1pYm04NTAgCWds
aWJjLWdjb252LWNwMTI1MiAJZ2xpYmMtZ2NvbnYtaXNvODg1OS0xIAlnbGliYy1nY29udi1pc284
ODU5LTE1IgojCiMgJExJQ0VOU0UgWzMgb3BlcmF0aW9uc10KIyAgIHNldCAvbWVkaWEvcmViZWNj
YXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjI0OQojICAgICBbX2RlZmF1bHR2
YWxdICJJTlZBTElEIgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29u
Zi9kb2N1bWVudGF0aW9uLmNvbmY6MjY0CiMgICAgIFtkb2NdICJUaGUgbGlzdCBvZiBzb3VyY2Ug
bGljZW5zZXMgZm9yIHRoZSByZWNpcGUuIExvZ2ljYWwgb3BlcmF0b3JzICcmJyBvciAnfCcgYW5k
IHBhcmVudGhlc2VzIGNhbiBiZSB1c2VkLiIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8v
cG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2x0dG5nL2x0dG5nLW1vZHVsZXNfMi45LjEuYmI6NAoj
ICAgICAiTEdQTHYyLjEgJiBHUEx2MiAmIE1JVCIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAg
IkxHUEx2Mi4xICYgR1BMdjIgJiBNSVQiCkxJQ0VOU0U9IkxHUEx2Mi4xICYgR1BMdjIgJiBNSVQi
CiMKIyAkTElDRU5TRV9DUkVBVEVfUEFDS0FHRSBbMiBvcGVyYXRpb25zXQojICAgc2V0IC9tZWRp
YS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY2xhc3Nlcy9saWNlbnNlLmJiY2xhc3M6MTAKIyAg
ICAgW3R5cGVdICJib29sZWFuIgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21l
dGEvY2xhc3Nlcy9saWNlbnNlLmJiY2xhc3M6MTEKIyAgICAgW19kZWZhdWx0dmFsXSAiMCIKIyBw
cmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIjAiCkxJQ0VOU0VfQ1JFQVRFX1BBQ0tBR0U9IjAiCiMK
IyAkTElDRU5TRV9ESVJFQ1RPUlkKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9t
ZXRhL2NsYXNzZXMvbGljZW5zZS5iYmNsYXNzOjYKIyAgICAgW19kZWZhdWx0dmFsXSAiJHtERVBM
T1lfRElSfS9saWNlbnNlcyIKTElDRU5TRV9ESVJFQ1RPUlk9Ii9tZWRpYS9yZWJlY2Nhcy95b2N0
by9sdHRuZy90bXAvZGVwbG95L2xpY2Vuc2VzIgojCiMgJExJQ0VOU0VfRklMRVNfRElSRUNUT1JZ
CiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL2xpY2Vuc2Uu
YmJjbGFzczoxMwojICAgICBbX2RlZmF1bHR2YWxdICIke2RhdGFkaXJ9L2xpY2Vuc2VzLyIKTElD
RU5TRV9GSUxFU19ESVJFQ1RPUlk9Ii91c3Ivc2hhcmUvbGljZW5zZXMvIgojCiMgJExJQ0VOU0Vf
UEFDS0FHRV9TVUZGSVgKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2Ns
YXNzZXMvbGljZW5zZS5iYmNsYXNzOjEyCiMgICAgIFtfZGVmYXVsdHZhbF0gIi1saWMiCkxJQ0VO
U0VfUEFDS0FHRV9TVUZGSVg9Ii1saWMiCiMKIyAkTElDRU5TRV9QQVRIIFszIG9wZXJhdGlvbnNd
CiMgICBhcHBlbmQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL21ldGEtaW50ZWwtY29udHJpYi9jb25m
L2xheWVyLmNvbmY6MTMKIyAgICAgIiR7TEFZRVJESVJ9L2NvbW1vbi9jdXN0b20tbGljZW5zZXMi
CiMgICBzZXQgZGF0YV9zbWFydC5weTo5MzggW2V4cGFuZFZhcnJlZl0KIyAgICAgIiAvbWVkaWEv
cmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1jb250cmliL2NvbW1vbi9jdXN0b20tbGljZW5zZXMi
CiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRp
b24uY29uZjoyNjUKIyAgICAgW2RvY10gIlBhdGggdG8gYWRkaXRpb25hbCBsaWNlbnNlcyB1c2Vk
IGR1cmluZyB0aGUgYnVpbGQuIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiIC9tZWRpYS9y
ZWJlY2Nhcy95b2N0by9tZXRhLWludGVsLWNvbnRyaWIvY29tbW9uL2N1c3RvbS1saWNlbnNlcyIK
TElDRU5TRV9QQVRIPSIgL21lZGlhL3JlYmVjY2FzL3lvY3RvL21ldGEtaW50ZWwtY29udHJpYi9j
b21tb24vY3VzdG9tLWxpY2Vuc2VzIgojCiMgJExJQ1NTVEFURURJUgojICAgc2V0IC9tZWRpYS9y
ZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY2xhc3Nlcy9saWNlbnNlLmJiY2xhc3M6NwojICAgICAi
JHtXT1JLRElSfS9saWNlbnNlLWRlc3RkaXIvIgpMSUNTU1RBVEVESVI9Ii9tZWRpYS9yZWJlY2Nh
cy95b2N0by9sdHRuZy90bXAvd29yay9xZW11eDg2LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8y
LjkuMS1yMC9saWNlbnNlLWRlc3RkaXIvIgojCiMgJExJQ19GSUxFU19DSEtTVU0gWzIgb3BlcmF0
aW9uc10KIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZG9jdW1l
bnRhdGlvbi5jb25mOjI2MwojICAgICBbZG9jXSAiQ2hlY2tzdW1zIG9mIHRoZSBsaWNlbnNlIHRl
eHQgaW4gdGhlIHJlY2lwZSBzb3VyY2UgY29kZS4iCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lv
Y3RvL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9sdHRuZy9sdHRuZy1tb2R1bGVzXzIuOS4xLmJi
OjcKIyAgICAgImZpbGU6Ly9MSUNFTlNFO21kNT0zNjI4NDQ2MzNhMDg3NTNiZDk2YWIzMjJhNmM3
ZjlmNiAgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9ncGwtMi4wLnR4dDttZDU9NzUxNDE5MjYw
YWE5NTQ0OTlmN2FiYWFiYWE4ODJiYmUgICAgICAgICAgICAgICAgICAgICBmaWxlOi8vbGdwbC0y
LjEudHh0O21kNT0yNDNiNzI1ZDcxYmI1ZGY0YTFlNTkyMGIzNDRiODZhZCIKIyBwcmUtZXhwYW5z
aW9uIHZhbHVlOgojICAgImZpbGU6Ly9MSUNFTlNFO21kNT0zNjI4NDQ2MzNhMDg3NTNiZDk2YWIz
MjJhNmM3ZjlmNiAgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9ncGwtMi4wLnR4dDttZDU9NzUx
NDE5MjYwYWE5NTQ0OTlmN2FiYWFiYWE4ODJiYmUgICAgICAgICAgICAgICAgICAgICBmaWxlOi8v
bGdwbC0yLjEudHh0O21kNT0yNDNiNzI1ZDcxYmI1ZGY0YTFlNTkyMGIzNDRiODZhZCIKTElDX0ZJ
TEVTX0NIS1NVTT0iZmlsZTovL0xJQ0VOU0U7bWQ1PTM2Mjg0NDYzM2EwODc1M2JkOTZhYjMyMmE2
YzdmOWY2ICAgICAgICAgICAgICAgICAgICAgZmlsZTovL2dwbC0yLjAudHh0O21kNT03NTE0MTky
NjBhYTk1NDQ5OWY3YWJhYWJhYTg4MmJiZSAgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9sZ3Bs
LTIuMS50eHQ7bWQ1PTI0M2I3MjVkNzFiYjVkZjRhMWU1OTIwYjM0NGI4NmFkIgojCiMgJExJTktF
Ul9IQVNIX1NUWUxFIFsyIG9wZXJhdGlvbnNdCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3Rv
L3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo1NjIKIyAgICAgW19kZWZhdWx0dmFsXSAiZ251
IgojICAgb3ZlcnJpZGVbbWlwc2FyY2hdOnNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9t
ZXRhL2NvbmYvYml0YmFrZS5jb25mOjU2NAojICAgICAic3lzdiIKIyBwcmUtZXhwYW5zaW9uIHZh
bHVlOgojICAgImdudSIKTElOS0VSX0hBU0hfU1RZTEU9ImdudSIKIwojICRMSU5LRVJfSEFTSF9T
VFlMRV9taXBzYXJjaAojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29u
Zi9iaXRiYWtlLmNvbmY6NTY0CiMgICAgICJzeXN2IgpMSU5LRVJfSEFTSF9TVFlMRV9taXBzYXJj
aD0ic3lzdiIKIwojICRMSU5VWExJQkNWRVJTSU9OCiMgICBzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95
b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS90Y21vZGUtZGVmYXVsdC5pbmM6MzEK
IyAgICAgIjQuMTAlIgpMSU5VWExJQkNWRVJTSU9OPSI0LjEwJSIKIwojICRMSU5VWF9LRVJORUxf
VFlQRQojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVu
dGF0aW9uLmNvbmY6MjY2CiMgICAgIFtkb2NdICJEZWZpbmVzIHRoZSBrZXJuZWwgdHlwZSB0byBi
ZSB1c2VkIGluIGFzc2VtYmxpbmcgdGhlIGNvbmZpZ3VyYXRpb24uIgojCiMgJExJTlVYX1ZFUlNJ
T04KIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRh
dGlvbi5jb25mOjI2NwojICAgICBbZG9jXSAiVGhlIExpbnV4IHZlcnNpb24gZnJvbSBrZXJuZWwu
b3JnIG9uIHdoaWNoIHRoZSBMaW51eCBrZXJuZWwgaW1hZ2UgYmVpbmcgYnVpbHQgdXNpbmcgdGhl
IE9wZW5FbWJlZGRlZCBidWlsZCBzeXN0ZW0gaXMgYmFzZWQuIFlvdSBkZWZpbmUgdGhpcyB2YXJp
YWJsZSBpbiB0aGUga2VybmVsIHJlY2lwZS4iCiMKIyAkTElOVVhfVkVSU0lPTl9FWFRFTlNJT04K
IyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlv
bi5jb25mOjI2OAojICAgICBbZG9jXSAiQSBzdHJpbmcgZXh0ZW5zaW9uIGNvbXBpbGVkIGludG8g
dGhlIHZlcnNpb24gc3RyaW5nIG9mIHRoZSBMaW51eCBrZXJuZWwgYnVpbHQgd2l0aCB0aGUgT3Bl
bkVtYmVkZGVkIGJ1aWxkIHN5c3RlbS4gWW91IGRlZmluZSB0aGlzIHZhcmlhYmxlIGluIHRoZSBr
ZXJuZWwgcmVjaXBlLiIKIwojICRMT0NBTENPTkZfVkVSU0lPTiBbMiBvcGVyYXRpb25zXQojICAg
c2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEtcG9reS9jb25mL2Rpc3Ryby9wb2t5
LmNvbmY6MTIKIyAgICAgIjEiCiMgICBzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21l
dGEvY29uZi9zYW5pdHkuY29uZjoxMQojICAgICAiMSIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgoj
ICAgIjEiCkxPQ0FMQ09ORl9WRVJTSU9OPSIxIgojCiMgJExPQ0FMRUJBU0VQTgojICAgc2V0IC9t
ZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY2xhc3Nlcy9wYWNrYWdlLmJiY2xhc3M6NTQ2
CiMgICAgIFtfZGVmYXVsdHZhbF0gIiR7UE59IgpMT0NBTEVCQVNFUE49Imx0dG5nLW1vZHVsZXMi
CiMKIyAkTE9DQUxFX1NFQ1RJT04KIyAgIHNldD8gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kv
bWV0YS9jbGFzc2VzL3BhY2thZ2UuYmJjbGFzczo1MAojICAgICAiIgpMT0NBTEVfU0VDVElPTj0i
IgojCiMgJExPQ0FMRV9VVEY4X0lTX0RFRkFVTFQgWzIgb3BlcmF0aW9uc10KIyAgIHNldD8gL21l
ZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL2RlZmF1bHQt
ZGlzdHJvdmFycy5pbmM6MTAKIyAgICAgIjEiCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3Rv
L3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjoyNjkKIyAgICAgW2RvY10gIklmIHNl
dCwgbG9jYWxlIG5hbWVzIGFyZSByZW5hbWVkIHN1Y2ggdGhhdCB0aG9zZSBsYWNraW5nIGFuIGV4
cGxpY2l0IGVuY29kaW5nIChlLmcuIGVuX1VTKSB3aWxsIGFsd2F5cyBiZSBVVEYtOCwgYW5kIG5v
bi1VVEYtOCBlbmNvZGluZ3MgYXJlIHJlbmFtZWQgdG8sIGUuZy4sIGVuX1VTLklTTy04ODU5LTEu
IE90aGVyd2lzZSwgdGhlIGVuY29kaW5nIGlzIHNwZWNpZmllZCBieSBnbGliYydzIFNVUFBPUlRF
RCBmaWxlLiBOb3Qgc3VwcG9ydGVkIGZvciBwcmVjb21waWxlZCBsb2NhbGVzLiIKIyBwcmUtZXhw
YW5zaW9uIHZhbHVlOgojICAgIjEiCkxPQ0FMRV9VVEY4X0lTX0RFRkFVTFQ9IjEiCiMKIyAkTE9D
QUxFX1VURjhfT05MWQojICAgc2V0PyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2Nv
bmYvZGlzdHJvL2luY2x1ZGUvZGVmYXVsdC1kaXN0cm92YXJzLmluYzo5CiMgICAgICIwIgpMT0NB
TEVfVVRGOF9PTkxZPSIwIgojCiMgJExPR0ZJRk8KIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9j
dG8vcG9reS9tZXRhL2NsYXNzZXMvbG9nZ2luZy5iYmNsYXNzOjYKIyAgICAgIiR7VH0vZmlmby4k
e0Bvcy5nZXRwaWQoKX0iCkxPR0ZJRk89Ii9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy90bXAv
d29yay9xZW11eDg2LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC90ZW1wL2ZpZm8u
MTA1NDg2IgojCiMgJExPR05BTUUgWzIgb3BlcmF0aW9uc10KIyAgIGZyb20gZW52IGRhdGEucHk6
MTI0IFtpbmhlcml0RnJvbU9TXQojICAgICAicmViZWNjYXMiCiMgICBhdXRvIGVudiBleHBvcnQg
ZGF0YS5weToxMjYgW2luaGVyaXRGcm9tT1NdCiMgICAgIFtleHBvcnRdICJUcnVlIgojIHByZS1l
eHBhbnNpb24gdmFsdWU6CiMgICAicmViZWNjYXMiCmV4cG9ydCBMT0dOQU1FPSJyZWJlY2NhcyIK
IwojICRMT0dfRElSIFsyIG9wZXJhdGlvbnNdCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3Rv
L3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjozMzUKIyAgICAgIiR7VE1QRElSfS9sb2ciCiMg
ICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24u
Y29uZjoyNzAKIyAgICAgW2RvY10gIlNwZWNpZmllcyB0aGUgZGlyZWN0b3J5IHRvIHdoaWNoIHRo
ZSBPcGVuRW1iZWRkZWQgYnVpbGQgc3lzdGVtIHdyaXRlcyBvdmVyYWxsIGxvZyBmaWxlcy4gVGhl
IGRlZmF1bHQgZGlyZWN0b3J5IGlzICR7VE1QRElSfS9sb2ciCiMgcHJlLWV4cGFuc2lvbiB2YWx1
ZToKIyAgICIke1RNUERJUn0vbG9nIgpMT0dfRElSPSIvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0
bmcvdG1wL2xvZyIKIwojICRMVFROR19QQVRDSCBbMiBvcGVyYXRpb25zXQojICAgc2V0IC9tZWRp
YS9yZWJlY2Nhcy95b2N0by9tZXRhLWludGVsLWNvbnRyaWIvY29tbW9uL3JlY2lwZXMta2VybmVs
L2x0dG5nL2x0dG5nLW1vZHVsZXNfJS5iYmFwcGVuZDo0CiMgICAgICIke0BiYi51dGlscy5jb250
YWluc19hbnkoJ1BSRUZFUlJFRF9QUk9WSURFUl92aXJ0dWFsL2tlcm5lbCcsJ2xpbnV4LWludGVs
IGxpbnV4LWludGVsLXJ0JywnZmlsZTovLzAwMDItbHR0bmctbW9kdWxlcy1QS1QtNC45LXlvY3Rv
LWJ1aWxkLWZhaWxlZC5wYXRjaCcsJycsZCl9IgojICAgYXBwZW5kIC9tZWRpYS9yZWJlY2Nhcy95
b2N0by9tZXRhLWludGVsLWNvbnRyaWIvY29tbW9uL3JlY2lwZXMta2VybmVsL2x0dG5nL2x0dG5n
LW1vZHVsZXNfJS5iYmFwcGVuZDo2CiMgICAgICIke0BiYi51dGlscy5jb250YWluc19hbnkoJ1BS
RUZFUlJFRF9QUk9WSURFUl92aXJ0dWFsL2tlcm5lbCcsJ2xpbnV4LWludGVsLXJ0JywnZmlsZTov
LzAwMDItc2NoZWRfcGlfc2V0cHJpby10cmFjaW5nLWZ1bmN0aW9uLWZhaWxlZC10by1jb21waWxl
LS5wYXRjaCcsJycsZCl9IgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiJHtAYmIudXRpbHMu
Y29udGFpbnNfYW55KCdQUkVGRVJSRURfUFJPVklERVJfdmlydHVhbC9rZXJuZWwnLCdsaW51eC1p
bnRlbCBsaW51eC1pbnRlbC1ydCcsJ2ZpbGU6Ly8wMDAyLWx0dG5nLW1vZHVsZXMtUEtULTQuOS15
b2N0by1idWlsZC1mYWlsZWQucGF0Y2gnLCcnLGQpfSAke0BiYi51dGlscy5jb250YWluc19hbnko
J1BSRUZFUlJFRF9QUk9WSURFUl92aXJ0dWFsL2tlcm5lbCcsJ2xpbnV4LWludGVsLXJ0JywnZmls
ZTovLzAwMDItc2NoZWRfcGlfc2V0cHJpby10cmFjaW5nLWZ1bmN0aW9uLWZhaWxlZC10by1jb21w
aWxlLS5wYXRjaCcsJycsZCl9IgpMVFROR19QQVRDSD0iZmlsZTovLzAwMDItbHR0bmctbW9kdWxl
cy1QS1QtNC45LXlvY3RvLWJ1aWxkLWZhaWxlZC5wYXRjaCBmaWxlOi8vMDAwMi1zY2hlZF9waV9z
ZXRwcmlvLXRyYWNpbmctZnVuY3Rpb24tZmFpbGVkLXRvLWNvbXBpbGUtLnBhdGNoIgojCiMgJE1B
Q0hJTkUgWzMgb3BlcmF0aW9uc10KIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcv
Y29uZi9sb2NhbC5jb25mOjM4CiMgICAgIFtfZGVmYXVsdHZhbF0gInFlbXV4ODYiCiMgICBzZXQg
L21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjoy
NzQKIyAgICAgW2RvY10gIlNwZWNpZmllcyB0aGUgdGFyZ2V0IGRldmljZSBmb3Igd2hpY2ggdGhl
IGltYWdlIGlzIGJ1aWx0LiBZb3UgZGVmaW5lIE1BQ0hJTkUgaW4gdGhlIGNvbmYvbG9jYWwuY29u
ZiBmaWxlIGluIHRoZSBCdWlsZCBEaXJlY3RvcnkuIgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95
b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6ODIzCiMgICAgIFt1bmV4cG9ydF0gIjEi
CiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICJxZW11eDg2Igp1bnNldCBNQUNISU5FCiMKIyAk
TUFDSElORU9WRVJSSURFUyBbNSBvcGVyYXRpb25zXQojICAgc2V0PyAvbWVkaWEvcmViZWNjYXMv
eW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjcyMAojICAgICAiJHtNQUNISU5FfSIK
IyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25m
OjcyMQojICAgICBbdmFyZGVwc2V4Y2x1ZGVdICJNQUNISU5FIgojICAgcHJlZG90IC9tZWRpYS9y
ZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvcWVtdS5pbmM6MTQK
IyAgICAgInFlbXVhbGw6IgojICAgcHJlZG90IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21l
dGEvY29uZi9tYWNoaW5lL2luY2x1ZGUveDg2L2FyY2gteDg2LmluYzoxNwojICAgICAiJHtAYmIu
dXRpbHMuY29udGFpbnMoJ1RVTkVfRkVBVFVSRVMnLCAnbTMyJywgJ3g4NjonLCAnJyAsZCl9Igoj
ICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9u
LmNvbmY6MjgyCiMgICAgIFtkb2NdICJMaXN0cyBvdmVycmlkZXMgc3BlY2lmaWMgdG8gdGhlIGN1
cnJlbnQgbWFjaGluZS4gQnkgZGVmYXVsdCwgdGhpcyBsaXN0IGluY2x1ZGVzIHRoZSB2YWx1ZSBv
ZiBNQUNISU5FLiIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIiR7QGJiLnV0aWxzLmNvbnRh
aW5zKCdUVU5FX0ZFQVRVUkVTJywgJ20zMicsICd4ODY6JywgJycgLGQpfXFlbXVhbGw6JHtNQUNI
SU5FfSIKTUFDSElORU9WRVJSSURFUz0ieDg2OnFlbXVhbGw6cWVtdXg4NiIKIwojICRNQUNISU5F
X0FSQ0gKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFr
ZS5jb25mOjE0NQojICAgICAiJHtAW2QuZ2V0VmFyKCdUVU5FX1BLR0FSQ0gnKSwgZC5nZXRWYXIo
J01BQ0hJTkUnKV1bYm9vbChkLmdldFZhcignTUFDSElORScpKV0ucmVwbGFjZSgnLScsICdfJyl9
IgpNQUNISU5FX0FSQ0g9InFlbXV4ODYiCiMKIyAkTUFDSElORV9FU1NFTlRJQUxfRVhUUkFfUkRF
UEVORFMgWzMgb3BlcmF0aW9uc10KIyAgIGFwcGVuZCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9r
eS9tZXRhL2NvbmYvbWFjaGluZS9xZW11eDg2LmNvbmY6MjkKIyAgICAgInY4NmQiCiMgICBzZXQg
L21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjoy
NzUKIyAgICAgW2RvY10gIkEgbGlzdCBvZiByZXF1aXJlZCBtYWNoaW5lLXNwZWNpZmljIHBhY2th
Z2VzIHRvIGluc3RhbGwgYXMgcGFydCBvZiB0aGUgaW1hZ2UgYmVpbmcgYnVpbHQuIEJlY2F1c2Ug
dGhpcyBpcyBhICdtYWNoaW5lIGVzc2VudGlhbCcgdmFyaWFibGUsIHRoZSBsaXN0IG9mIHBhY2th
Z2VzIGFyZSBlc3NlbnRpYWwgZm9yIHRoZSBtYWNoaW5lIHRvIGJvb3QuIgojICAgc2V0PyAvbWVk
aWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjc5MwojICAgICAi
IgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiIHY4NmQiCk1BQ0hJTkVfRVNTRU5USUFMX0VY
VFJBX1JERVBFTkRTPSIgdjg2ZCIKIwojICRNQUNISU5FX0VTU0VOVElBTF9FWFRSQV9SUkVDT01N
RU5EUyBbMiBvcGVyYXRpb25zXQojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21l
dGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6Mjc2CiMgICAgIFtkb2NdICJBIGxpc3Qgb2YgcmVj
b21tZW5kZWQgbWFjaGluZS1zcGVjaWZpYyBwYWNrYWdlcyB0byBpbnN0YWxsIGFzIHBhcnQgb2Yg
dGhlIGltYWdlIGJlaW5nIGJ1aWx0LiBCZWNhdXNlIHRoaXMgaXMgYSAnbWFjaGluZSBlc3NlbnRp
YWwnIHZhcmlhYmxlLCB0aGUgbGlzdCBvZiBwYWNrYWdlcyBhcmUgZXNzZW50aWFsIGZvciB0aGUg
bWFjaGluZSB0byBib290LiIKIyAgIHNldD8gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0
YS9jb25mL2JpdGJha2UuY29uZjo3OTQKIyAgICAgIiIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgoj
ICAgIiIKTUFDSElORV9FU1NFTlRJQUxfRVhUUkFfUlJFQ09NTUVORFM9IiIKIwojICRNQUNISU5F
X0VYVFJBX1JERVBFTkRTIFsyIG9wZXJhdGlvbnNdCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lv
Y3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjoyNzcKIyAgICAgW2RvY10gIkEg
bGlzdCBvZiBtYWNoaW5lLXNwZWNpZmljIHBhY2thZ2VzIHRvIGluc3RhbGwgYXMgcGFydCBvZiB0
aGUgaW1hZ2UgYmVpbmcgYnVpbHQgdGhhdCBhcmUgbm90IGVzc2VudGlhbCBmb3IgdGhlIG1hY2hp
bmUgdG8gYm9vdC4gSG93ZXZlciwgdGhlIGJ1aWxkIHByb2Nlc3MgZm9yIG1vcmUgZnVsbHktZmVh
dHVyZWQgaW1hZ2VzIGRlcGVuZHMgb24gdGhlIHBhY2thZ2VzIGJlaW5nIHByZXNlbnQuIgojICAg
c2V0PyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjc5
MQojICAgICAiIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiIgpNQUNISU5FX0VYVFJBX1JE
RVBFTkRTPSIiCiMKIyAkTUFDSElORV9FWFRSQV9SUkVDT01NRU5EUyBbMyBvcGVyYXRpb25zXQoj
ICAgYXBwZW5kIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2lu
Y2x1ZGUvcWVtdS5pbmM6MjkKIyAgICAgInJuZy10b29scyIKIyAgIHNldCAvbWVkaWEvcmViZWNj
YXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjI3OAojICAgICBbZG9j
XSAiQSBsaXN0IG9mIG1hY2hpbmUtc3BlY2lmaWMgcGFja2FnZXMgdG8gaW5zdGFsbCBhcyBwYXJ0
IG9mIHRoZSBpbWFnZSBiZWluZyBidWlsdCB0aGF0IGFyZSBub3QgZXNzZW50aWFsIGZvciBib290
aW5nIHRoZSBtYWNoaW5lLiBUaGUgaW1hZ2UgYmVpbmcgYnVpbHQgaGFzIG5vIGJ1aWxkIGRlcGVu
ZGVuY2llcyBvbiB0aGUgcGFja2FnZXMgaW4gdGhpcyBsaXN0LiIKIyAgIHNldD8gL21lZGlhL3Jl
YmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo3OTIKIyAgICAgIiIKIyBw
cmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIiBybmctdG9vbHMiCk1BQ0hJTkVfRVhUUkFfUlJFQ09N
TUVORFM9IiBybmctdG9vbHMiCiMKIyAkTUFDSElORV9GRUFUVVJFUyBbNSBvcGVyYXRpb25zXQoj
ICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1
ZGUvcWVtdS5pbmM6MTIKIyAgICAgImFsc2EgYmx1ZXRvb3RoIHVzYmdhZGdldCBzY3JlZW4iCiMg
ICBhcHBlbmQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvcWVt
dXg4Ni5jb25mOjI3CiMgICAgICJ4ODYiCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bv
a3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjoyNzkKIyAgICAgW2RvY10gIlNwZWNpZmll
cyB0aGUgbGlzdCBvZiBoYXJkd2FyZSBmZWF0dXJlcyB0aGUgTUFDSElORSBzdXBwb3J0cy4iCiMg
ICBzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6
Nzg2CiMgICAgICIiCiMgICBhcHBlbmQgdXRpbHMucHk6MTI3IFtmZWF0dXJlc19iYWNrZmlsbF0K
IyAgICAgIiBydGMgcWVtdS11c2VybW9kZSIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgImFs
c2EgYmx1ZXRvb3RoIHVzYmdhZGdldCBzY3JlZW4geDg2IHJ0YyBxZW11LXVzZXJtb2RlIgpNQUNI
SU5FX0ZFQVRVUkVTPSJhbHNhIGJsdWV0b290aCB1c2JnYWRnZXQgc2NyZWVuIHg4NiBydGMgcWVt
dS11c2VybW9kZSIKIwojICRNQUNISU5FX0ZFQVRVUkVTX0JBQ0tGSUxMIFsyIG9wZXJhdGlvbnNd
CiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRp
b24uY29uZjoyODAKIyAgICAgW2RvY10gIkZlYXR1cmVzIHRvIGJlIGFkZGVkIHRvIE1BQ0hJTkVf
RkVBVFVSRVMgaWYgbm90IGFsc28gcHJlc2VudCBpbiBNQUNISU5FX0ZFQVRVUkVTX0JBQ0tGSUxM
X0NPTlNJREVSRUQuIFRoaXMgdmFyaWFibGUgaXMgc2V0IGluIHRoZSBtZXRhL2NvbmYvYml0YmFr
ZS5jb25mIGZpbGUgYW5kIGlzIG5vdCBpbnRlbmRlZCB0byBiZSB1c2VyLWNvbmZpZ3VyYWJsZS4i
CiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29u
Zjo4MTAKIyAgICAgInJ0YyBxZW11LXVzZXJtb2RlIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMg
ICAicnRjIHFlbXUtdXNlcm1vZGUiCk1BQ0hJTkVfRkVBVFVSRVNfQkFDS0ZJTEw9InJ0YyBxZW11
LXVzZXJtb2RlIgojCiMgJE1BQ0hJTkVfRkVBVFVSRVNfQkFDS0ZJTExfQ09OU0lERVJFRCBbMiBv
cGVyYXRpb25zXQojICAgX2FwcGVuZCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2Nv
bmYvbWFjaGluZS9pbmNsdWRlL3g4Ni9hcmNoLXg4Ni5pbmM6MjgKIyAgICAgIiAke0BiYi51dGls
cy5jb250YWlucygnVFVORV9GRUFUVVJFUycsICdteDMyJywgJ3FlbXUtdXNlcm1vZGUnLCAnJywg
ZCl9IgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVu
dGF0aW9uLmNvbmY6MjgxCiMgICAgIFtkb2NdICJGZWF0dXJlcyBmcm9tIE1BQ0hJTkVfRkVBVFVS
RVNfQkFDS0ZJTEwgdGhhdCBzaG91bGQgbm90IGJlIGJhY2tmaWxsZWQgKGkuZS4gYWRkZWQgdG8g
TUFDSElORV9GRUFUVVJFUykgZHVyaW5nIHRoZSBidWlsZC4iCiMgcHJlLWV4cGFuc2lvbiB2YWx1
ZToKIyAgICIgJHtAYmIudXRpbHMuY29udGFpbnMoJ1RVTkVfRkVBVFVSRVMnLCAnbXgzMicsICdx
ZW11LXVzZXJtb2RlJywgJycsIGQpfSIKTUFDSElORV9GRUFUVVJFU19CQUNLRklMTF9DT05TSURF
UkVEPSIgIgojCiMgJE1BQ0hJTkVfVEFTS19QUk9WSURFUgojICAgc2V0PyAvbWVkaWEvcmViZWNj
YXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjc2MAojICAgICAiJHtERUZBVUxU
X1RBU0tfUFJPVklERVJ9IgpNQUNISU5FX1RBU0tfUFJPVklERVI9InBhY2thZ2Vncm91cC1iYXNl
IgojCiMgJE1BSU5UQUlORVIgWzMgb3BlcmF0aW9uc10KIyAgIHNldCAvbWVkaWEvcmViZWNjYXMv
eW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjI1MAojICAgICAiT0UtQ29yZSBEZXZl
bG9wZXJzIDxvcGVuZW1iZWRkZWQtY29yZUBsaXN0cy5vcGVuZW1iZWRkZWQub3JnPiIKIyAgIHNl
dCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXBva3kvY29uZi9kaXN0cm8vcG9reS5j
b25mOjgKIyAgICAgIlBva3kgPHBva3lAeW9jdG9wcm9qZWN0Lm9yZz4iCiMgICBzZXQgL21lZGlh
L3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjoyODMKIyAg
ICAgW2RvY10gIlRoZSBlbWFpbCBhZGRyZXNzIG9mIHRoZSBkaXN0cmlidXRpb24gbWFpbnRhaW5l
ci4iCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICJQb2t5IDxwb2t5QHlvY3RvcHJvamVjdC5v
cmc+IgpNQUlOVEFJTkVSPSJQb2t5IDxwb2t5QHlvY3RvcHJvamVjdC5vcmc+IgojCiMgJE1BS0Ug
WzIgb3BlcmF0aW9uc10KIyAgIGV4cG9ydGVkIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21l
dGEvY29uZi9iaXRiYWtlLmNvbmY6NTIzCiMgICAgIFtleHBvcnRdICIxIgojICAgc2V0IC9tZWRp
YS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6NTIzCiMgICAgICJt
YWtlIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAibWFrZSIKZXhwb3J0IE1BS0U9Im1ha2Ui
CiMKIyAkTUVSR0VQRVJGSUxFREVQUwojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5
L21ldGEvY2xhc3Nlcy9wYWNrYWdlX3JwbS5iYmNsYXNzOjEyCiMgICAgICIxIgpNRVJHRVBFUkZJ
TEVERVBTPSIxIgojCiMgJE1FVEFEQVRBX0JSQU5DSAojICAgc2V0PyAvbWVkaWEvcmViZWNjYXMv
eW9jdG8vcG9reS9tZXRhL2NsYXNzZXMvbWV0YWRhdGFfc2NtLmJiY2xhc3M6MQojICAgICAiJHtA
YmFzZV9kZXRlY3RfYnJhbmNoKGQpfSIKTUVUQURBVEFfQlJBTkNIPSJweXJvIgojCiMgJE1FVEFE
QVRBX1JFVklTSU9OCiMgICBzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY2xh
c3Nlcy9tZXRhZGF0YV9zY20uYmJjbGFzczoyCiMgICAgICIke0BiYXNlX2RldGVjdF9yZXZpc2lv
bihkKX0iCk1FVEFEQVRBX1JFVklTSU9OPSI1MGNjMTUzMzVlYmNkZmEyYTJmYzUyYzExZmEwMTY5
NWRmZGI5ZTI2IgojCiMgJE1JUlJPUlMgWzQgb3BlcmF0aW9uc10KIyAgIHByZXBlbmQgL21lZGlh
L3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5L2NvbmYvZGlzdHJvL3Bva3kuY29uZjo2NAoj
ICAgICAiZnRwOi8vLiovLiogICAgICBodHRwOi8vZG93bmxvYWRzLnlvY3RvcHJvamVjdC5vcmcv
bWlycm9yL3NvdXJjZXMvIFxuIGh0dHA6Ly8uKi8uKiAgICAgaHR0cDovL2Rvd25sb2Fkcy55b2N0
b3Byb2plY3Qub3JnL21pcnJvci9zb3VyY2VzLyBcbiBodHRwczovLy4qLy4qICAgIGh0dHA6Ly9k
b3dubG9hZHMueW9jdG9wcm9qZWN0Lm9yZy9taXJyb3Ivc291cmNlcy8gXG4iCiMgICBzZXQgL21l
ZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjoyODQK
IyAgICAgW2RvY10gIlNwZWNpZmllcyBhZGRpdGlvbmFsIHBhdGhzIGZyb20gd2hpY2ggdGhlIE9w
ZW5FbWJlZGRlZCBidWlsZCBzeXN0ZW0gZ2V0cyBzb3VyY2UgY29kZS4iCiMgICBhcHBlbmQgL21l
ZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL21pcnJvcnMuYmJjbGFzczo3MAoj
ICAgICAiJHtERUJJQU5fTUlSUk9SfQlodHRwOi8vc25hcHNob3QuZGViaWFuLm9yZy9hcmNoaXZl
L2RlYmlhbi1hcmNoaXZlLzIwMTIwMzI4VDA5Mjc1MlovZGViaWFuL3Bvb2wgXG4gJHtERUJJQU5f
TUlSUk9SfQlodHRwOi8vc25hcHNob3QuZGViaWFuLm9yZy9hcmNoaXZlL2RlYmlhbi1hcmNoaXZl
LzIwMTEwMTI3VDA4NDI1N1ovZGViaWFuL3Bvb2wgXG4gJHtERUJJQU5fTUlSUk9SfQlodHRwOi8v
c25hcHNob3QuZGViaWFuLm9yZy9hcmNoaXZlL2RlYmlhbi1hcmNoaXZlLzIwMDkwODAyVDAwNDE1
M1ovZGViaWFuL3Bvb2wgXG4gJHtERUJJQU5fTUlSUk9SfQlodHRwOi8vZnRwLmRlLmRlYmlhbi5v
cmcvZGViaWFuL3Bvb2wgXG4gJHtERUJJQU5fTUlSUk9SfQlodHRwOi8vZnRwLmF1LmRlYmlhbi5v
cmcvZGViaWFuL3Bvb2wgXG4gJHtERUJJQU5fTUlSUk9SfQlodHRwOi8vZnRwLmNsLmRlYmlhbi5v
cmcvZGViaWFuL3Bvb2wgXG4gJHtERUJJQU5fTUlSUk9SfQlodHRwOi8vZnRwLmhyLmRlYmlhbi5v
cmcvZGViaWFuL3Bvb2wgXG4gJHtERUJJQU5fTUlSUk9SfQlodHRwOi8vZnRwLmZpLmRlYmlhbi5v
cmcvZGViaWFuL3Bvb2wgXG4gJHtERUJJQU5fTUlSUk9SfQlodHRwOi8vZnRwLmhrLmRlYmlhbi5v
cmcvZGViaWFuL3Bvb2wgXG4gJHtERUJJQU5fTUlSUk9SfQlodHRwOi8vZnRwLmh1LmRlYmlhbi5v
cmcvZGViaWFuL3Bvb2wgXG4gJHtERUJJQU5fTUlSUk9SfQlodHRwOi8vZnRwLmllLmRlYmlhbi5v
cmcvZGViaWFuL3Bvb2wgXG4gJHtERUJJQU5fTUlSUk9SfQlodHRwOi8vZnRwLml0LmRlYmlhbi5v
cmcvZGViaWFuL3Bvb2wgXG4gJHtERUJJQU5fTUlSUk9SfQlodHRwOi8vZnRwLmpwLmRlYmlhbi5v
cmcvZGViaWFuL3Bvb2wgXG4gJHtERUJJQU5fTUlSUk9SfQlodHRwOi8vZnRwLm5vLmRlYmlhbi5v
cmcvZGViaWFuL3Bvb2wgXG4gJHtERUJJQU5fTUlSUk9SfQlodHRwOi8vZnRwLnBsLmRlYmlhbi5v
cmcvZGViaWFuL3Bvb2wgXG4gJHtERUJJQU5fTUlSUk9SfQlodHRwOi8vZnRwLnJvLmRlYmlhbi5v
cmcvZGViaWFuL3Bvb2wgXG4gJHtERUJJQU5fTUlSUk9SfQlodHRwOi8vZnRwLnNpLmRlYmlhbi5v
cmcvZGViaWFuL3Bvb2wgXG4gJHtERUJJQU5fTUlSUk9SfQlodHRwOi8vZnRwLmVzLmRlYmlhbi5v
cmcvZGViaWFuL3Bvb2wgXG4gJHtERUJJQU5fTUlSUk9SfQlodHRwOi8vZnRwLnNlLmRlYmlhbi5v
cmcvZGViaWFuL3Bvb2wgXG4gJHtERUJJQU5fTUlSUk9SfQlodHRwOi8vZnRwLnRyLmRlYmlhbi5v
cmcvZGViaWFuL3Bvb2wgXG4gJHtHTlVfTUlSUk9SfQlodHRwczovL21pcnJvcnMua2VybmVsLm9y
Zy9nbnUgXG4gJHtLRVJORUxPUkdfTUlSUk9SfQlodHRwOi8vd3d3Lmtlcm5lbC5vcmcvcHViIFxu
ICR7R05VUEdfTUlSUk9SfQlmdHA6Ly9mdHAuZ251cGcub3JnL2djcnlwdCBcbiAke0dOVVBHX01J
UlJPUn0JZnRwOi8vZnRwLmZyYW5rZW4uZGUvcHViL2NyeXB0L21pcnJvci9mdHAuZ251cGcub3Jn
L2djcnlwdCBcbiAke0dOVVBHX01JUlJPUn0JZnRwOi8vbWlycm9ycy5kb3RzcmMub3JnL2djcnlw
dCBcbiBmdHA6Ly9kYW50ZS5jdGFuLm9yZy90ZXgtYXJjaGl2ZSBmdHA6Ly9mdHAuZnUtYmVybGlu
LmRlL3RleC9DVEFOIFxuIGZ0cDovL2RhbnRlLmN0YW4ub3JnL3RleC1hcmNoaXZlIGh0dHA6Ly9z
dW5zaXRlLnN1dC5hYy5qcC9wdWIvYXJjaGl2ZXMvY3Rhbi8gXG4gZnRwOi8vZGFudGUuY3Rhbi5v
cmcvdGV4LWFyY2hpdmUgaHR0cDovL2N0YW4udW5zdy5lZHUuYXUvIFxuIGZ0cDovL2Z0cC5nbnV0
bHMub3JnL2djcnlwdC9nbnV0bHMgJHtHTlVQR19NSVJST1J9L2dudXRscyBcbiBodHRwOi8vZnRw
LmluZm8temlwLm9yZy9wdWIvaW5mb3ppcC9zcmMvIGh0dHA6Ly9taXJyb3Iuc3dpdGNoLmNoL2Z0
cC9taXJyb3IvaW5mb3ppcC9zcmMvIFxuIGh0dHA6Ly9mdHAuaW5mby16aXAub3JnL3B1Yi9pbmZv
emlwL3NyYy8gZnRwOi8vc3Vuc2l0ZS5pY20uZWR1LnBsL3B1Yi91bml4L2FyY2hpdmluZy9pbmZv
LXppcC9zcmMvIFxuIGZ0cDovL2xzb2YuaXRhcC5wdXJkdWUuZWR1L3B1Yi90b29scy91bml4L2xz
b2YvICBmdHA6Ly9mdHAuY2VyaWFzLnB1cmR1ZS5lZHUvcHViL3Rvb2xzL3VuaXgvc3lzdXRpbHMv
bHNvZi8gXG4gZnRwOi8vbHNvZi5pdGFwLnB1cmR1ZS5lZHUvcHViL3Rvb2xzL3VuaXgvbHNvZi8g
IGZ0cDovL2Z0cC50YXUuYWMuaWwvcHViL3VuaXgvYWRtaW4vIFxuIGZ0cDovL2xzb2YuaXRhcC5w
dXJkdWUuZWR1L3B1Yi90b29scy91bml4L2xzb2YvICBmdHA6Ly9mdHAuY2VydC5kZm4uZGUvcHVi
L3Rvb2xzL2FkbWluL2xzb2YvIFxuIGZ0cDovL2xzb2YuaXRhcC5wdXJkdWUuZWR1L3B1Yi90b29s
cy91bml4L2xzb2YvICBmdHA6Ly9mdHAuZnUtYmVybGluLmRlL3B1Yi91bml4L3Rvb2xzL2xzb2Yv
IFxuIGZ0cDovL2xzb2YuaXRhcC5wdXJkdWUuZWR1L3B1Yi90b29scy91bml4L2xzb2YvICBmdHA6
Ly9mdHAua2Fpem8ub3JnL3B1Yi9sc29mLyBcbiBmdHA6Ly9sc29mLml0YXAucHVyZHVlLmVkdS9w
dWIvdG9vbHMvdW5peC9sc29mLyAgZnRwOi8vZnRwLnR1LWRhcm1zdGFkdC5kZS9wdWIvc3lzYWRt
aW4vbHNvZi8gXG4gZnRwOi8vbHNvZi5pdGFwLnB1cmR1ZS5lZHUvcHViL3Rvb2xzL3VuaXgvbHNv
Zi8gIGZ0cDovL2Z0cC50dXgub3JnL3B1Yi9zaXRlcy92aWMuY2MucHVyZHVlLmVkdS90b29scy91
bml4L2xzb2YvIFxuIGZ0cDovL2xzb2YuaXRhcC5wdXJkdWUuZWR1L3B1Yi90b29scy91bml4L2xz
b2YvICBmdHA6Ly9nZC50dXdpZW4uYWMuYXQvdXRpbHMvYWRtaW4tdG9vbHMvbHNvZi8gXG4gZnRw
Oi8vbHNvZi5pdGFwLnB1cmR1ZS5lZHUvcHViL3Rvb2xzL3VuaXgvbHNvZi8gIGZ0cDovL3N1bnNp
dGUudWFsYmVydGEuY2EvcHViL01pcnJvci9sc29mLyBcbiBmdHA6Ly9sc29mLml0YXAucHVyZHVl
LmVkdS9wdWIvdG9vbHMvdW5peC9sc29mLyAgZnRwOi8vdGhlLndpcmV0YXBwZWQubmV0L3B1Yi9z
ZWN1cml0eS9ob3N0LXNlY3VyaXR5L2xzb2YvIFxuICR7QVBBQ0hFX01JUlJPUn0gIGh0dHA6Ly93
d3cudXMuYXBhY2hlLm9yZy9kaXN0IFxuICR7QVBBQ0hFX01JUlJPUn0gIGh0dHA6Ly9hcmNoaXZl
LmFwYWNoZS5vcmcvZGlzdCBcbiBodHRwOi8vZG93bmxvYWRzLnNvdXJjZWZvcmdlLm5ldC93YXRj
aGRvZy8gaHR0cDovL2Zvc3NpZXMub3JnL2xpbnV4L21pc2MvIFxuICR7U0FWQU5OQUhfR05VX01J
UlJPUn0gaHR0cDovL2Rvd25sb2FkLW1pcnJvci5zYXZhbm5haC5nbnUub3JnL3JlbGVhc2VzIFxu
ICR7U0FWQU5OQUhfTk9OR05VX01JUlJPUn0gaHR0cDovL2Rvd25sb2FkLW1pcnJvci5zYXZhbm5h
aC5ub25nbnUub3JnL3JlbGVhc2VzIFxuIGN2czovLy4qLy4qICAgICBodHRwOi8vZG93bmxvYWRz
LnlvY3RvcHJvamVjdC5vcmcvbWlycm9yL3NvdXJjZXMvIFxuIHN2bjovLy4qLy4qICAgICBodHRw
Oi8vZG93bmxvYWRzLnlvY3RvcHJvamVjdC5vcmcvbWlycm9yL3NvdXJjZXMvIFxuIGdpdDovLy4q
Ly4qICAgICBodHRwOi8vZG93bmxvYWRzLnlvY3RvcHJvamVjdC5vcmcvbWlycm9yL3NvdXJjZXMv
IFxuIGhnOi8vLiovLiogICAgICBodHRwOi8vZG93bmxvYWRzLnlvY3RvcHJvamVjdC5vcmcvbWly
cm9yL3NvdXJjZXMvIFxuIGJ6cjovLy4qLy4qICAgICBodHRwOi8vZG93bmxvYWRzLnlvY3RvcHJv
amVjdC5vcmcvbWlycm9yL3NvdXJjZXMvIFxuIHA0Oi8vLiovLiogICAgICBodHRwOi8vZG93bmxv
YWRzLnlvY3RvcHJvamVjdC5vcmcvbWlycm9yL3NvdXJjZXMvIFxuIG9zYzovLy4qLy4qICAgICBo
dHRwOi8vZG93bmxvYWRzLnlvY3RvcHJvamVjdC5vcmcvbWlycm9yL3NvdXJjZXMvIFxuIGh0dHBz
PyQ6Ly8uKi8uKiBodHRwOi8vZG93bmxvYWRzLnlvY3RvcHJvamVjdC5vcmcvbWlycm9yL3NvdXJj
ZXMvIFxuIGZ0cDovLy4qLy4qICAgICBodHRwOi8vZG93bmxvYWRzLnlvY3RvcHJvamVjdC5vcmcv
bWlycm9yL3NvdXJjZXMvIFxuIG5wbTovLy4qLz8uKiAgICBodHRwOi8vZG93bmxvYWRzLnlvY3Rv
cHJvamVjdC5vcmcvbWlycm9yL3NvdXJjZXMvIFxuIGN2czovLy4qLy4qICAgICBodHRwOi8vc291
cmNlcy5vcGVuZW1iZWRkZWQub3JnLyBcbiBzdm46Ly8uKi8uKiAgICAgaHR0cDovL3NvdXJjZXMu
b3BlbmVtYmVkZGVkLm9yZy8gXG4gZ2l0Oi8vLiovLiogICAgIGh0dHA6Ly9zb3VyY2VzLm9wZW5l
bWJlZGRlZC5vcmcvIFxuIGhnOi8vLiovLiogICAgICBodHRwOi8vc291cmNlcy5vcGVuZW1iZWRk
ZWQub3JnLyBcbiBienI6Ly8uKi8uKiAgICAgaHR0cDovL3NvdXJjZXMub3BlbmVtYmVkZGVkLm9y
Zy8gXG4gcDQ6Ly8uKi8uKiAgICAgIGh0dHA6Ly9zb3VyY2VzLm9wZW5lbWJlZGRlZC5vcmcvIFxu
IG9zYzovLy4qLy4qICAgICBodHRwOi8vc291cmNlcy5vcGVuZW1iZWRkZWQub3JnLyBcbiBodHRw
cz8kOi8vLiovLiogaHR0cDovL3NvdXJjZXMub3BlbmVtYmVkZGVkLm9yZy8gXG4gZnRwOi8vLiov
LiogICAgIGh0dHA6Ly9zb3VyY2VzLm9wZW5lbWJlZGRlZC5vcmcvIFxuIG5wbTovLy4qLz8uKiAg
ICBodHRwOi8vc291cmNlcy5vcGVuZW1iZWRkZWQub3JnLyBcbiAke0NQQU5fTUlSUk9SfSAgaHR0
cDovL2NwYW4ubWV0YWNwYW4ub3JnLyBcbiAke0NQQU5fTUlSUk9SfSAgaHR0cDovL3NlYXJjaC5j
cGFuLm9yZy9DUEFOLyBcbiAiCiMgICBhcHBlbmQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kv
bWV0YS9jbGFzc2VzL21pcnJvcnMuYmJjbGFzczo4MQojICAgICAiZ2l0Oi8vYW5vbnNjbS5kZWJp
YW4ub3JnLy4qICAgZ2l0Oi8vYW5vbnNjbS5kZWJpYW4ub3JnL2dpdC9QQVRIO3Byb3RvY29sPWh0
dHBzIFxuIGdpdDovL2dpdC5nbm9tZS5vcmcvLiogICAgICAgIGdpdDovL2dpdC5nbm9tZS5vcmcv
YnJvd3NlL1BBVEg7cHJvdG9jb2w9aHR0cHMgXG4gZ2l0Oi8vZ2l0LnNhdmFubmFoLmdudS5vcmcv
LiogZ2l0Oi8vZ2l0LnNhdmFubmFoLmdudS5vcmcvZ2l0L1BBVEg7cHJvdG9jb2w9aHR0cHMgXG4g
Z2l0Oi8vZ2l0LnlvY3RvcHJvamVjdC5vcmcvLiogZ2l0Oi8vZ2l0LnlvY3RvcHJvamVjdC5vcmcv
Z2l0L1BBVEg7cHJvdG9jb2w9aHR0cHMgXG4gZ2l0Oi8vLiovLiogICAgICAgICAgICAgICAgICAg
Z2l0Oi8vSE9TVC9QQVRIO3Byb3RvY29sPWh0dHBzIFxuICIKIyBwcmUtZXhwYW5zaW9uIHZhbHVl
OgojICAgImZ0cDovLy4qLy4qICAgICAgaHR0cDovL2Rvd25sb2Fkcy55b2N0b3Byb2plY3Qub3Jn
L21pcnJvci9zb3VyY2VzLyBcbiBodHRwOi8vLiovLiogICAgIGh0dHA6Ly9kb3dubG9hZHMueW9j
dG9wcm9qZWN0Lm9yZy9taXJyb3Ivc291cmNlcy8gXG4gaHR0cHM6Ly8uKi8uKiAgICBodHRwOi8v
ZG93bmxvYWRzLnlvY3RvcHJvamVjdC5vcmcvbWlycm9yL3NvdXJjZXMvIFxuICAke0RFQklBTl9N
SVJST1J9CWh0dHA6Ly9zbmFwc2hvdC5kZWJpYW4ub3JnL2FyY2hpdmUvZGViaWFuLWFyY2hpdmUv
MjAxMjAzMjhUMDkyNzUyWi9kZWJpYW4vcG9vbCBcbiAke0RFQklBTl9NSVJST1J9CWh0dHA6Ly9z
bmFwc2hvdC5kZWJpYW4ub3JnL2FyY2hpdmUvZGViaWFuLWFyY2hpdmUvMjAxMTAxMjdUMDg0MjU3
Wi9kZWJpYW4vcG9vbCBcbiAke0RFQklBTl9NSVJST1J9CWh0dHA6Ly9zbmFwc2hvdC5kZWJpYW4u
b3JnL2FyY2hpdmUvZGViaWFuLWFyY2hpdmUvMjAwOTA4MDJUMDA0MTUzWi9kZWJpYW4vcG9vbCBc
biAke0RFQklBTl9NSVJST1J9CWh0dHA6Ly9mdHAuZGUuZGViaWFuLm9yZy9kZWJpYW4vcG9vbCBc
biAke0RFQklBTl9NSVJST1J9CWh0dHA6Ly9mdHAuYXUuZGViaWFuLm9yZy9kZWJpYW4vcG9vbCBc
biAke0RFQklBTl9NSVJST1J9CWh0dHA6Ly9mdHAuY2wuZGViaWFuLm9yZy9kZWJpYW4vcG9vbCBc
biAke0RFQklBTl9NSVJST1J9CWh0dHA6Ly9mdHAuaHIuZGViaWFuLm9yZy9kZWJpYW4vcG9vbCBc
biAke0RFQklBTl9NSVJST1J9CWh0dHA6Ly9mdHAuZmkuZGViaWFuLm9yZy9kZWJpYW4vcG9vbCBc
biAke0RFQklBTl9NSVJST1J9CWh0dHA6Ly9mdHAuaGsuZGViaWFuLm9yZy9kZWJpYW4vcG9vbCBc
biAke0RFQklBTl9NSVJST1J9CWh0dHA6Ly9mdHAuaHUuZGViaWFuLm9yZy9kZWJpYW4vcG9vbCBc
biAke0RFQklBTl9NSVJST1J9CWh0dHA6Ly9mdHAuaWUuZGViaWFuLm9yZy9kZWJpYW4vcG9vbCBc
biAke0RFQklBTl9NSVJST1J9CWh0dHA6Ly9mdHAuaXQuZGViaWFuLm9yZy9kZWJpYW4vcG9vbCBc
biAke0RFQklBTl9NSVJST1J9CWh0dHA6Ly9mdHAuanAuZGViaWFuLm9yZy9kZWJpYW4vcG9vbCBc
biAke0RFQklBTl9NSVJST1J9CWh0dHA6Ly9mdHAubm8uZGViaWFuLm9yZy9kZWJpYW4vcG9vbCBc
biAke0RFQklBTl9NSVJST1J9CWh0dHA6Ly9mdHAucGwuZGViaWFuLm9yZy9kZWJpYW4vcG9vbCBc
biAke0RFQklBTl9NSVJST1J9CWh0dHA6Ly9mdHAucm8uZGViaWFuLm9yZy9kZWJpYW4vcG9vbCBc
biAke0RFQklBTl9NSVJST1J9CWh0dHA6Ly9mdHAuc2kuZGViaWFuLm9yZy9kZWJpYW4vcG9vbCBc
biAke0RFQklBTl9NSVJST1J9CWh0dHA6Ly9mdHAuZXMuZGViaWFuLm9yZy9kZWJpYW4vcG9vbCBc
biAke0RFQklBTl9NSVJST1J9CWh0dHA6Ly9mdHAuc2UuZGViaWFuLm9yZy9kZWJpYW4vcG9vbCBc
biAke0RFQklBTl9NSVJST1J9CWh0dHA6Ly9mdHAudHIuZGViaWFuLm9yZy9kZWJpYW4vcG9vbCBc
biAke0dOVV9NSVJST1J9CWh0dHBzOi8vbWlycm9ycy5rZXJuZWwub3JnL2dudSBcbiAke0tFUk5F
TE9SR19NSVJST1J9CWh0dHA6Ly93d3cua2VybmVsLm9yZy9wdWIgXG4gJHtHTlVQR19NSVJST1J9
CWZ0cDovL2Z0cC5nbnVwZy5vcmcvZ2NyeXB0IFxuICR7R05VUEdfTUlSUk9SfQlmdHA6Ly9mdHAu
ZnJhbmtlbi5kZS9wdWIvY3J5cHQvbWlycm9yL2Z0cC5nbnVwZy5vcmcvZ2NyeXB0IFxuICR7R05V
UEdfTUlSUk9SfQlmdHA6Ly9taXJyb3JzLmRvdHNyYy5vcmcvZ2NyeXB0IFxuIGZ0cDovL2RhbnRl
LmN0YW4ub3JnL3RleC1hcmNoaXZlIGZ0cDovL2Z0cC5mdS1iZXJsaW4uZGUvdGV4L0NUQU4gXG4g
ZnRwOi8vZGFudGUuY3Rhbi5vcmcvdGV4LWFyY2hpdmUgaHR0cDovL3N1bnNpdGUuc3V0LmFjLmpw
L3B1Yi9hcmNoaXZlcy9jdGFuLyBcbiBmdHA6Ly9kYW50ZS5jdGFuLm9yZy90ZXgtYXJjaGl2ZSBo
dHRwOi8vY3Rhbi51bnN3LmVkdS5hdS8gXG4gZnRwOi8vZnRwLmdudXRscy5vcmcvZ2NyeXB0L2du
dXRscyAke0dOVVBHX01JUlJPUn0vZ251dGxzIFxuIGh0dHA6Ly9mdHAuaW5mby16aXAub3JnL3B1
Yi9pbmZvemlwL3NyYy8gaHR0cDovL21pcnJvci5zd2l0Y2guY2gvZnRwL21pcnJvci9pbmZvemlw
L3NyYy8gXG4gaHR0cDovL2Z0cC5pbmZvLXppcC5vcmcvcHViL2luZm96aXAvc3JjLyBmdHA6Ly9z
dW5zaXRlLmljbS5lZHUucGwvcHViL3VuaXgvYXJjaGl2aW5nL2luZm8temlwL3NyYy8gXG4gZnRw
Oi8vbHNvZi5pdGFwLnB1cmR1ZS5lZHUvcHViL3Rvb2xzL3VuaXgvbHNvZi8gIGZ0cDovL2Z0cC5j
ZXJpYXMucHVyZHVlLmVkdS9wdWIvdG9vbHMvdW5peC9zeXN1dGlscy9sc29mLyBcbiBmdHA6Ly9s
c29mLml0YXAucHVyZHVlLmVkdS9wdWIvdG9vbHMvdW5peC9sc29mLyAgZnRwOi8vZnRwLnRhdS5h
Yy5pbC9wdWIvdW5peC9hZG1pbi8gXG4gZnRwOi8vbHNvZi5pdGFwLnB1cmR1ZS5lZHUvcHViL3Rv
b2xzL3VuaXgvbHNvZi8gIGZ0cDovL2Z0cC5jZXJ0LmRmbi5kZS9wdWIvdG9vbHMvYWRtaW4vbHNv
Zi8gXG4gZnRwOi8vbHNvZi5pdGFwLnB1cmR1ZS5lZHUvcHViL3Rvb2xzL3VuaXgvbHNvZi8gIGZ0
cDovL2Z0cC5mdS1iZXJsaW4uZGUvcHViL3VuaXgvdG9vbHMvbHNvZi8gXG4gZnRwOi8vbHNvZi5p
dGFwLnB1cmR1ZS5lZHUvcHViL3Rvb2xzL3VuaXgvbHNvZi8gIGZ0cDovL2Z0cC5rYWl6by5vcmcv
cHViL2xzb2YvIFxuIGZ0cDovL2xzb2YuaXRhcC5wdXJkdWUuZWR1L3B1Yi90b29scy91bml4L2xz
b2YvICBmdHA6Ly9mdHAudHUtZGFybXN0YWR0LmRlL3B1Yi9zeXNhZG1pbi9sc29mLyBcbiBmdHA6
Ly9sc29mLml0YXAucHVyZHVlLmVkdS9wdWIvdG9vbHMvdW5peC9sc29mLyAgZnRwOi8vZnRwLnR1
eC5vcmcvcHViL3NpdGVzL3ZpYy5jYy5wdXJkdWUuZWR1L3Rvb2xzL3VuaXgvbHNvZi8gXG4gZnRw
Oi8vbHNvZi5pdGFwLnB1cmR1ZS5lZHUvcHViL3Rvb2xzL3VuaXgvbHNvZi8gIGZ0cDovL2dkLnR1
d2llbi5hYy5hdC91dGlscy9hZG1pbi10b29scy9sc29mLyBcbiBmdHA6Ly9sc29mLml0YXAucHVy
ZHVlLmVkdS9wdWIvdG9vbHMvdW5peC9sc29mLyAgZnRwOi8vc3Vuc2l0ZS51YWxiZXJ0YS5jYS9w
dWIvTWlycm9yL2xzb2YvIFxuIGZ0cDovL2xzb2YuaXRhcC5wdXJkdWUuZWR1L3B1Yi90b29scy91
bml4L2xzb2YvICBmdHA6Ly90aGUud2lyZXRhcHBlZC5uZXQvcHViL3NlY3VyaXR5L2hvc3Qtc2Vj
dXJpdHkvbHNvZi8gXG4gJHtBUEFDSEVfTUlSUk9SfSAgaHR0cDovL3d3dy51cy5hcGFjaGUub3Jn
L2Rpc3QgXG4gJHtBUEFDSEVfTUlSUk9SfSAgaHR0cDovL2FyY2hpdmUuYXBhY2hlLm9yZy9kaXN0
IFxuIGh0dHA6Ly9kb3dubG9hZHMuc291cmNlZm9yZ2UubmV0L3dhdGNoZG9nLyBodHRwOi8vZm9z
c2llcy5vcmcvbGludXgvbWlzYy8gXG4gJHtTQVZBTk5BSF9HTlVfTUlSUk9SfSBodHRwOi8vZG93
bmxvYWQtbWlycm9yLnNhdmFubmFoLmdudS5vcmcvcmVsZWFzZXMgXG4gJHtTQVZBTk5BSF9OT05H
TlVfTUlSUk9SfSBodHRwOi8vZG93bmxvYWQtbWlycm9yLnNhdmFubmFoLm5vbmdudS5vcmcvcmVs
ZWFzZXMgXG4gY3ZzOi8vLiovLiogICAgIGh0dHA6Ly9kb3dubG9hZHMueW9jdG9wcm9qZWN0Lm9y
Zy9taXJyb3Ivc291cmNlcy8gXG4gc3ZuOi8vLiovLiogICAgIGh0dHA6Ly9kb3dubG9hZHMueW9j
dG9wcm9qZWN0Lm9yZy9taXJyb3Ivc291cmNlcy8gXG4gZ2l0Oi8vLiovLiogICAgIGh0dHA6Ly9k
b3dubG9hZHMueW9jdG9wcm9qZWN0Lm9yZy9taXJyb3Ivc291cmNlcy8gXG4gaGc6Ly8uKi8uKiAg
ICAgIGh0dHA6Ly9kb3dubG9hZHMueW9jdG9wcm9qZWN0Lm9yZy9taXJyb3Ivc291cmNlcy8gXG4g
YnpyOi8vLiovLiogICAgIGh0dHA6Ly9kb3dubG9hZHMueW9jdG9wcm9qZWN0Lm9yZy9taXJyb3Iv
c291cmNlcy8gXG4gcDQ6Ly8uKi8uKiAgICAgIGh0dHA6Ly9kb3dubG9hZHMueW9jdG9wcm9qZWN0
Lm9yZy9taXJyb3Ivc291cmNlcy8gXG4gb3NjOi8vLiovLiogICAgIGh0dHA6Ly9kb3dubG9hZHMu
eW9jdG9wcm9qZWN0Lm9yZy9taXJyb3Ivc291cmNlcy8gXG4gaHR0cHM/JDovLy4qLy4qIGh0dHA6
Ly9kb3dubG9hZHMueW9jdG9wcm9qZWN0Lm9yZy9taXJyb3Ivc291cmNlcy8gXG4gZnRwOi8vLiov
LiogICAgIGh0dHA6Ly9kb3dubG9hZHMueW9jdG9wcm9qZWN0Lm9yZy9taXJyb3Ivc291cmNlcy8g
XG4gbnBtOi8vLiovPy4qICAgIGh0dHA6Ly9kb3dubG9hZHMueW9jdG9wcm9qZWN0Lm9yZy9taXJy
b3Ivc291cmNlcy8gXG4gY3ZzOi8vLiovLiogICAgIGh0dHA6Ly9zb3VyY2VzLm9wZW5lbWJlZGRl
ZC5vcmcvIFxuIHN2bjovLy4qLy4qICAgICBodHRwOi8vc291cmNlcy5vcGVuZW1iZWRkZWQub3Jn
LyBcbiBnaXQ6Ly8uKi8uKiAgICAgaHR0cDovL3NvdXJjZXMub3BlbmVtYmVkZGVkLm9yZy8gXG4g
aGc6Ly8uKi8uKiAgICAgIGh0dHA6Ly9zb3VyY2VzLm9wZW5lbWJlZGRlZC5vcmcvIFxuIGJ6cjov
Ly4qLy4qICAgICBodHRwOi8vc291cmNlcy5vcGVuZW1iZWRkZWQub3JnLyBcbiBwNDovLy4qLy4q
ICAgICAgaHR0cDovL3NvdXJjZXMub3BlbmVtYmVkZGVkLm9yZy8gXG4gb3NjOi8vLiovLiogICAg
IGh0dHA6Ly9zb3VyY2VzLm9wZW5lbWJlZGRlZC5vcmcvIFxuIGh0dHBzPyQ6Ly8uKi8uKiBodHRw
Oi8vc291cmNlcy5vcGVuZW1iZWRkZWQub3JnLyBcbiBmdHA6Ly8uKi8uKiAgICAgaHR0cDovL3Nv
dXJjZXMub3BlbmVtYmVkZGVkLm9yZy8gXG4gbnBtOi8vLiovPy4qICAgIGh0dHA6Ly9zb3VyY2Vz
Lm9wZW5lbWJlZGRlZC5vcmcvIFxuICR7Q1BBTl9NSVJST1J9ICBodHRwOi8vY3Bhbi5tZXRhY3Bh
bi5vcmcvIFxuICR7Q1BBTl9NSVJST1J9ICBodHRwOi8vc2VhcmNoLmNwYW4ub3JnL0NQQU4vIFxu
ICBnaXQ6Ly9hbm9uc2NtLmRlYmlhbi5vcmcvLiogICBnaXQ6Ly9hbm9uc2NtLmRlYmlhbi5vcmcv
Z2l0L1BBVEg7cHJvdG9jb2w9aHR0cHMgXG4gZ2l0Oi8vZ2l0Lmdub21lLm9yZy8uKiAgICAgICAg
Z2l0Oi8vZ2l0Lmdub21lLm9yZy9icm93c2UvUEFUSDtwcm90b2NvbD1odHRwcyBcbiBnaXQ6Ly9n
aXQuc2F2YW5uYWguZ251Lm9yZy8uKiBnaXQ6Ly9naXQuc2F2YW5uYWguZ251Lm9yZy9naXQvUEFU
SDtwcm90b2NvbD1odHRwcyBcbiBnaXQ6Ly9naXQueW9jdG9wcm9qZWN0Lm9yZy8uKiBnaXQ6Ly9n
aXQueW9jdG9wcm9qZWN0Lm9yZy9naXQvUEFUSDtwcm90b2NvbD1odHRwcyBcbiBnaXQ6Ly8uKi8u
KiAgICAgICAgICAgICAgICAgICBnaXQ6Ly9IT1NUL1BBVEg7cHJvdG9jb2w9aHR0cHMgXG4gIgpN
SVJST1JTPSJmdHA6Ly8uKi8uKiAgICAgIGh0dHA6Ly9kb3dubG9hZHMueW9jdG9wcm9qZWN0Lm9y
Zy9taXJyb3Ivc291cmNlcy8gXG4gaHR0cDovLy4qLy4qICAgICBodHRwOi8vZG93bmxvYWRzLnlv
Y3RvcHJvamVjdC5vcmcvbWlycm9yL3NvdXJjZXMvIFxuIGh0dHBzOi8vLiovLiogICAgaHR0cDov
L2Rvd25sb2Fkcy55b2N0b3Byb2plY3Qub3JnL21pcnJvci9zb3VyY2VzLyBcbiAgaHR0cDovL2Z0
cC5kZWJpYW4ub3JnL2RlYmlhbi9wb29sCWh0dHA6Ly9zbmFwc2hvdC5kZWJpYW4ub3JnL2FyY2hp
dmUvZGViaWFuLWFyY2hpdmUvMjAxMjAzMjhUMDkyNzUyWi9kZWJpYW4vcG9vbCBcbiBodHRwOi8v
ZnRwLmRlYmlhbi5vcmcvZGViaWFuL3Bvb2wJaHR0cDovL3NuYXBzaG90LmRlYmlhbi5vcmcvYXJj
aGl2ZS9kZWJpYW4tYXJjaGl2ZS8yMDExMDEyN1QwODQyNTdaL2RlYmlhbi9wb29sIFxuIGh0dHA6
Ly9mdHAuZGViaWFuLm9yZy9kZWJpYW4vcG9vbAlodHRwOi8vc25hcHNob3QuZGViaWFuLm9yZy9h
cmNoaXZlL2RlYmlhbi1hcmNoaXZlLzIwMDkwODAyVDAwNDE1M1ovZGViaWFuL3Bvb2wgXG4gaHR0
cDovL2Z0cC5kZWJpYW4ub3JnL2RlYmlhbi9wb29sCWh0dHA6Ly9mdHAuZGUuZGViaWFuLm9yZy9k
ZWJpYW4vcG9vbCBcbiBodHRwOi8vZnRwLmRlYmlhbi5vcmcvZGViaWFuL3Bvb2wJaHR0cDovL2Z0
cC5hdS5kZWJpYW4ub3JnL2RlYmlhbi9wb29sIFxuIGh0dHA6Ly9mdHAuZGViaWFuLm9yZy9kZWJp
YW4vcG9vbAlodHRwOi8vZnRwLmNsLmRlYmlhbi5vcmcvZGViaWFuL3Bvb2wgXG4gaHR0cDovL2Z0
cC5kZWJpYW4ub3JnL2RlYmlhbi9wb29sCWh0dHA6Ly9mdHAuaHIuZGViaWFuLm9yZy9kZWJpYW4v
cG9vbCBcbiBodHRwOi8vZnRwLmRlYmlhbi5vcmcvZGViaWFuL3Bvb2wJaHR0cDovL2Z0cC5maS5k
ZWJpYW4ub3JnL2RlYmlhbi9wb29sIFxuIGh0dHA6Ly9mdHAuZGViaWFuLm9yZy9kZWJpYW4vcG9v
bAlodHRwOi8vZnRwLmhrLmRlYmlhbi5vcmcvZGViaWFuL3Bvb2wgXG4gaHR0cDovL2Z0cC5kZWJp
YW4ub3JnL2RlYmlhbi9wb29sCWh0dHA6Ly9mdHAuaHUuZGViaWFuLm9yZy9kZWJpYW4vcG9vbCBc
biBodHRwOi8vZnRwLmRlYmlhbi5vcmcvZGViaWFuL3Bvb2wJaHR0cDovL2Z0cC5pZS5kZWJpYW4u
b3JnL2RlYmlhbi9wb29sIFxuIGh0dHA6Ly9mdHAuZGViaWFuLm9yZy9kZWJpYW4vcG9vbAlodHRw
Oi8vZnRwLml0LmRlYmlhbi5vcmcvZGViaWFuL3Bvb2wgXG4gaHR0cDovL2Z0cC5kZWJpYW4ub3Jn
L2RlYmlhbi9wb29sCWh0dHA6Ly9mdHAuanAuZGViaWFuLm9yZy9kZWJpYW4vcG9vbCBcbiBodHRw
Oi8vZnRwLmRlYmlhbi5vcmcvZGViaWFuL3Bvb2wJaHR0cDovL2Z0cC5uby5kZWJpYW4ub3JnL2Rl
Ymlhbi9wb29sIFxuIGh0dHA6Ly9mdHAuZGViaWFuLm9yZy9kZWJpYW4vcG9vbAlodHRwOi8vZnRw
LnBsLmRlYmlhbi5vcmcvZGViaWFuL3Bvb2wgXG4gaHR0cDovL2Z0cC5kZWJpYW4ub3JnL2RlYmlh
bi9wb29sCWh0dHA6Ly9mdHAucm8uZGViaWFuLm9yZy9kZWJpYW4vcG9vbCBcbiBodHRwOi8vZnRw
LmRlYmlhbi5vcmcvZGViaWFuL3Bvb2wJaHR0cDovL2Z0cC5zaS5kZWJpYW4ub3JnL2RlYmlhbi9w
b29sIFxuIGh0dHA6Ly9mdHAuZGViaWFuLm9yZy9kZWJpYW4vcG9vbAlodHRwOi8vZnRwLmVzLmRl
Ymlhbi5vcmcvZGViaWFuL3Bvb2wgXG4gaHR0cDovL2Z0cC5kZWJpYW4ub3JnL2RlYmlhbi9wb29s
CWh0dHA6Ly9mdHAuc2UuZGViaWFuLm9yZy9kZWJpYW4vcG9vbCBcbiBodHRwOi8vZnRwLmRlYmlh
bi5vcmcvZGViaWFuL3Bvb2wJaHR0cDovL2Z0cC50ci5kZWJpYW4ub3JnL2RlYmlhbi9wb29sIFxu
IGh0dHA6Ly9mdHAuZ251Lm9yZy9nbnUJaHR0cHM6Ly9taXJyb3JzLmtlcm5lbC5vcmcvZ251IFxu
IGh0dHA6Ly9jZG4ua2VybmVsLm9yZy9wdWIJaHR0cDovL3d3dy5rZXJuZWwub3JnL3B1YiBcbiBo
dHRwczovL3d3dy5nbnVwZy5vcmcvZnRwL2djcnlwdAlmdHA6Ly9mdHAuZ251cGcub3JnL2djcnlw
dCBcbiBodHRwczovL3d3dy5nbnVwZy5vcmcvZnRwL2djcnlwdAlmdHA6Ly9mdHAuZnJhbmtlbi5k
ZS9wdWIvY3J5cHQvbWlycm9yL2Z0cC5nbnVwZy5vcmcvZ2NyeXB0IFxuIGh0dHBzOi8vd3d3Lmdu
dXBnLm9yZy9mdHAvZ2NyeXB0CWZ0cDovL21pcnJvcnMuZG90c3JjLm9yZy9nY3J5cHQgXG4gZnRw
Oi8vZGFudGUuY3Rhbi5vcmcvdGV4LWFyY2hpdmUgZnRwOi8vZnRwLmZ1LWJlcmxpbi5kZS90ZXgv
Q1RBTiBcbiBmdHA6Ly9kYW50ZS5jdGFuLm9yZy90ZXgtYXJjaGl2ZSBodHRwOi8vc3Vuc2l0ZS5z
dXQuYWMuanAvcHViL2FyY2hpdmVzL2N0YW4vIFxuIGZ0cDovL2RhbnRlLmN0YW4ub3JnL3RleC1h
cmNoaXZlIGh0dHA6Ly9jdGFuLnVuc3cuZWR1LmF1LyBcbiBmdHA6Ly9mdHAuZ251dGxzLm9yZy9n
Y3J5cHQvZ251dGxzIGh0dHBzOi8vd3d3LmdudXBnLm9yZy9mdHAvZ2NyeXB0L2dudXRscyBcbiBo
dHRwOi8vZnRwLmluZm8temlwLm9yZy9wdWIvaW5mb3ppcC9zcmMvIGh0dHA6Ly9taXJyb3Iuc3dp
dGNoLmNoL2Z0cC9taXJyb3IvaW5mb3ppcC9zcmMvIFxuIGh0dHA6Ly9mdHAuaW5mby16aXAub3Jn
L3B1Yi9pbmZvemlwL3NyYy8gZnRwOi8vc3Vuc2l0ZS5pY20uZWR1LnBsL3B1Yi91bml4L2FyY2hp
dmluZy9pbmZvLXppcC9zcmMvIFxuIGZ0cDovL2xzb2YuaXRhcC5wdXJkdWUuZWR1L3B1Yi90b29s
cy91bml4L2xzb2YvICBmdHA6Ly9mdHAuY2VyaWFzLnB1cmR1ZS5lZHUvcHViL3Rvb2xzL3VuaXgv
c3lzdXRpbHMvbHNvZi8gXG4gZnRwOi8vbHNvZi5pdGFwLnB1cmR1ZS5lZHUvcHViL3Rvb2xzL3Vu
aXgvbHNvZi8gIGZ0cDovL2Z0cC50YXUuYWMuaWwvcHViL3VuaXgvYWRtaW4vIFxuIGZ0cDovL2xz
b2YuaXRhcC5wdXJkdWUuZWR1L3B1Yi90b29scy91bml4L2xzb2YvICBmdHA6Ly9mdHAuY2VydC5k
Zm4uZGUvcHViL3Rvb2xzL2FkbWluL2xzb2YvIFxuIGZ0cDovL2xzb2YuaXRhcC5wdXJkdWUuZWR1
L3B1Yi90b29scy91bml4L2xzb2YvICBmdHA6Ly9mdHAuZnUtYmVybGluLmRlL3B1Yi91bml4L3Rv
b2xzL2xzb2YvIFxuIGZ0cDovL2xzb2YuaXRhcC5wdXJkdWUuZWR1L3B1Yi90b29scy91bml4L2xz
b2YvICBmdHA6Ly9mdHAua2Fpem8ub3JnL3B1Yi9sc29mLyBcbiBmdHA6Ly9sc29mLml0YXAucHVy
ZHVlLmVkdS9wdWIvdG9vbHMvdW5peC9sc29mLyAgZnRwOi8vZnRwLnR1LWRhcm1zdGFkdC5kZS9w
dWIvc3lzYWRtaW4vbHNvZi8gXG4gZnRwOi8vbHNvZi5pdGFwLnB1cmR1ZS5lZHUvcHViL3Rvb2xz
L3VuaXgvbHNvZi8gIGZ0cDovL2Z0cC50dXgub3JnL3B1Yi9zaXRlcy92aWMuY2MucHVyZHVlLmVk
dS90b29scy91bml4L2xzb2YvIFxuIGZ0cDovL2xzb2YuaXRhcC5wdXJkdWUuZWR1L3B1Yi90b29s
cy91bml4L2xzb2YvICBmdHA6Ly9nZC50dXdpZW4uYWMuYXQvdXRpbHMvYWRtaW4tdG9vbHMvbHNv
Zi8gXG4gZnRwOi8vbHNvZi5pdGFwLnB1cmR1ZS5lZHUvcHViL3Rvb2xzL3VuaXgvbHNvZi8gIGZ0
cDovL3N1bnNpdGUudWFsYmVydGEuY2EvcHViL01pcnJvci9sc29mLyBcbiBmdHA6Ly9sc29mLml0
YXAucHVyZHVlLmVkdS9wdWIvdG9vbHMvdW5peC9sc29mLyAgZnRwOi8vdGhlLndpcmV0YXBwZWQu
bmV0L3B1Yi9zZWN1cml0eS9ob3N0LXNlY3VyaXR5L2xzb2YvIFxuIGh0dHA6Ly9hcmNoaXZlLmFw
YWNoZS5vcmcvZGlzdCAgaHR0cDovL3d3dy51cy5hcGFjaGUub3JnL2Rpc3QgXG4gaHR0cDovL2Fy
Y2hpdmUuYXBhY2hlLm9yZy9kaXN0ICBodHRwOi8vYXJjaGl2ZS5hcGFjaGUub3JnL2Rpc3QgXG4g
aHR0cDovL2Rvd25sb2Fkcy5zb3VyY2Vmb3JnZS5uZXQvd2F0Y2hkb2cvIGh0dHA6Ly9mb3NzaWVz
Lm9yZy9saW51eC9taXNjLyBcbiBodHRwOi8vZG93bmxvYWQuc2F2YW5uYWguZ251Lm9yZy9yZWxl
YXNlcyBodHRwOi8vZG93bmxvYWQtbWlycm9yLnNhdmFubmFoLmdudS5vcmcvcmVsZWFzZXMgXG4g
aHR0cDovL2Rvd25sb2FkLnNhdmFubmFoLm5vbmdudS5vcmcvcmVsZWFzZXMgaHR0cDovL2Rvd25s
b2FkLW1pcnJvci5zYXZhbm5haC5ub25nbnUub3JnL3JlbGVhc2VzIFxuIGN2czovLy4qLy4qICAg
ICBodHRwOi8vZG93bmxvYWRzLnlvY3RvcHJvamVjdC5vcmcvbWlycm9yL3NvdXJjZXMvIFxuIHN2
bjovLy4qLy4qICAgICBodHRwOi8vZG93bmxvYWRzLnlvY3RvcHJvamVjdC5vcmcvbWlycm9yL3Nv
dXJjZXMvIFxuIGdpdDovLy4qLy4qICAgICBodHRwOi8vZG93bmxvYWRzLnlvY3RvcHJvamVjdC5v
cmcvbWlycm9yL3NvdXJjZXMvIFxuIGhnOi8vLiovLiogICAgICBodHRwOi8vZG93bmxvYWRzLnlv
Y3RvcHJvamVjdC5vcmcvbWlycm9yL3NvdXJjZXMvIFxuIGJ6cjovLy4qLy4qICAgICBodHRwOi8v
ZG93bmxvYWRzLnlvY3RvcHJvamVjdC5vcmcvbWlycm9yL3NvdXJjZXMvIFxuIHA0Oi8vLiovLiog
ICAgICBodHRwOi8vZG93bmxvYWRzLnlvY3RvcHJvamVjdC5vcmcvbWlycm9yL3NvdXJjZXMvIFxu
IG9zYzovLy4qLy4qICAgICBodHRwOi8vZG93bmxvYWRzLnlvY3RvcHJvamVjdC5vcmcvbWlycm9y
L3NvdXJjZXMvIFxuIGh0dHBzP1wkOi8vLiovLiogaHR0cDovL2Rvd25sb2Fkcy55b2N0b3Byb2pl
Y3Qub3JnL21pcnJvci9zb3VyY2VzLyBcbiBmdHA6Ly8uKi8uKiAgICAgaHR0cDovL2Rvd25sb2Fk
cy55b2N0b3Byb2plY3Qub3JnL21pcnJvci9zb3VyY2VzLyBcbiBucG06Ly8uKi8/LiogICAgaHR0
cDovL2Rvd25sb2Fkcy55b2N0b3Byb2plY3Qub3JnL21pcnJvci9zb3VyY2VzLyBcbiBjdnM6Ly8u
Ki8uKiAgICAgaHR0cDovL3NvdXJjZXMub3BlbmVtYmVkZGVkLm9yZy8gXG4gc3ZuOi8vLiovLiog
ICAgIGh0dHA6Ly9zb3VyY2VzLm9wZW5lbWJlZGRlZC5vcmcvIFxuIGdpdDovLy4qLy4qICAgICBo
dHRwOi8vc291cmNlcy5vcGVuZW1iZWRkZWQub3JnLyBcbiBoZzovLy4qLy4qICAgICAgaHR0cDov
L3NvdXJjZXMub3BlbmVtYmVkZGVkLm9yZy8gXG4gYnpyOi8vLiovLiogICAgIGh0dHA6Ly9zb3Vy
Y2VzLm9wZW5lbWJlZGRlZC5vcmcvIFxuIHA0Oi8vLiovLiogICAgICBodHRwOi8vc291cmNlcy5v
cGVuZW1iZWRkZWQub3JnLyBcbiBvc2M6Ly8uKi8uKiAgICAgaHR0cDovL3NvdXJjZXMub3BlbmVt
YmVkZGVkLm9yZy8gXG4gaHR0cHM/XCQ6Ly8uKi8uKiBodHRwOi8vc291cmNlcy5vcGVuZW1iZWRk
ZWQub3JnLyBcbiBmdHA6Ly8uKi8uKiAgICAgaHR0cDovL3NvdXJjZXMub3BlbmVtYmVkZGVkLm9y
Zy8gXG4gbnBtOi8vLiovPy4qICAgIGh0dHA6Ly9zb3VyY2VzLm9wZW5lbWJlZGRlZC5vcmcvIFxu
IGh0dHA6Ly9zZWFyY2guY3Bhbi5vcmcvQ1BBTiAgaHR0cDovL2NwYW4ubWV0YWNwYW4ub3JnLyBc
biBodHRwOi8vc2VhcmNoLmNwYW4ub3JnL0NQQU4gIGh0dHA6Ly9zZWFyY2guY3Bhbi5vcmcvQ1BB
Ti8gXG4gIGdpdDovL2Fub25zY20uZGViaWFuLm9yZy8uKiAgIGdpdDovL2Fub25zY20uZGViaWFu
Lm9yZy9naXQvUEFUSDtwcm90b2NvbD1odHRwcyBcbiBnaXQ6Ly9naXQuZ25vbWUub3JnLy4qICAg
ICAgICBnaXQ6Ly9naXQuZ25vbWUub3JnL2Jyb3dzZS9QQVRIO3Byb3RvY29sPWh0dHBzIFxuIGdp
dDovL2dpdC5zYXZhbm5haC5nbnUub3JnLy4qIGdpdDovL2dpdC5zYXZhbm5haC5nbnUub3JnL2dp
dC9QQVRIO3Byb3RvY29sPWh0dHBzIFxuIGdpdDovL2dpdC55b2N0b3Byb2plY3Qub3JnLy4qIGdp
dDovL2dpdC55b2N0b3Byb2plY3Qub3JnL2dpdC9QQVRIO3Byb3RvY29sPWh0dHBzIFxuIGdpdDov
Ly4qLy4qICAgICAgICAgICAgICAgICAgIGdpdDovL0hPU1QvUEFUSDtwcm90b2NvbD1odHRwcyBc
biAiCiMKIyAkTUxQUkVGSVggWzIgb3BlcmF0aW9uc10KIyAgIHNldCAvbWVkaWEvcmViZWNjYXMv
eW9jdG8vcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjI4NQojICAgICBbZG9jXSAi
U3BlY2lmaWVzIGEgcHJlZml4IGhhcyBiZWVuIGFkZGVkIHRvIFBOIHRvIGNyZWF0ZSBhIHNwZWNp
YWwgdmVyc2lvbiBvZiBhIHJlY2lwZSBvciBwYWNrYWdlLCBzdWNoIGFzIGEgTXVsdGlsaWIgdmVy
c2lvbi4iCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJh
a2UuY29uZjo4NjcKIyAgICAgW19kZWZhdWx0dmFsXSAiIgojIHByZS1leHBhbnNpb24gdmFsdWU6
CiMgICAiIgpNTFBSRUZJWD0iIgojCiMgJE1PRFVMRVNfSU5TVEFMTF9UQVJHRVQKIyAgIHNldD8g
L21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL21vZHVsZS5iYmNsYXNzOjkK
IyAgICAgIm1vZHVsZXNfaW5zdGFsbCIKTU9EVUxFU19JTlNUQUxMX1RBUkdFVD0ibW9kdWxlc19p
bnN0YWxsIgojCiMgJE1PRFVMRVNfTU9EVUxFX1NZTVZFUlNfTE9DQVRJT04KIyAgIHNldD8gL21l
ZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL21vZHVsZS5iYmNsYXNzOjEwCiMg
ICAgICIiCk1PRFVMRVNfTU9EVUxFX1NZTVZFUlNfTE9DQVRJT049IiIKIwojICRNT0RVTEVfVEFS
QkFMTF9ERVBMT1kKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYv
ZG9jdW1lbnRhdGlvbi5jb25mOjI4NgojICAgICBbZG9jXSAiQ29udHJvbHMgY3JlYXRpb24gb2Yg
dGhlIG1vZHVsZXMtKi50Z3ogZmlsZS4gU2V0IHRoaXMgdmFyaWFibGUgdG8gIjAiIHRvIGRpc2Fi
bGUgY3JlYXRpb24gb2YgdGhpcyBmaWxlLCB3aGljaCBjb250YWlucyBhbGwgb2YgdGhlIGtlcm5l
bCBtb2R1bGVzIHJlc3VsdGluZyBmcm9tIGEga2VybmVsIGJ1aWxkLiIKIwojICRNVUxUSUxJQl9W
QVJJQU5UUwojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRi
YWtlLmNvbmY6ODY4CiMgICAgIFtfZGVmYXVsdHZhbF0gIiIKTVVMVElMSUJfVkFSSUFOVFM9IiIK
IwojICRNVUxUSU1BQ0hfVEFSR0VUX1NZUyBbMiBvcGVyYXRpb25zXQojICAgc2V0IC9tZWRpYS9y
ZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6MTUyCiMgICAgICIke1BB
Q0tBR0VfQVJDSH0ke1RBUkdFVF9WRU5ET1J9LSR7VEFSR0VUX09TfSIKIyAgIHNldCAvbWVkaWEv
cmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjI4NwojICAg
ICBbZG9jXSAiU2VwYXJhdGVzIGZpbGVzIGZvciBkaWZmZXJlbnQgbWFjaGluZXMgc3VjaCB0aGF0
IHlvdSBjYW4gYnVpbGQgZm9yIG11bHRpcGxlIHRhcmdldCBtYWNoaW5lcyB1c2luZyB0aGUgc2Ft
ZSBvdXRwdXQgZGlyZWN0b3JpZXMuIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiJHtQQUNL
QUdFX0FSQ0h9JHtUQVJHRVRfVkVORE9SfS0ke1RBUkdFVF9PU30iCk1VTFRJTUFDSF9UQVJHRVRf
U1lTPSJxZW11eDg2LXBva3ktbGludXgiCiMKIyAkTVVMVElfUFJPVklERVJfV0hJVEVMSVNUCiMg
ICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjoy
NjYKIyAgICAgInZpcnR1YWwvbGliaW50bCB2aXJ0dWFsL2xpYmludGwtbmF0aXZlIHZpcnR1YWwv
bmF0aXZlc2RrLWxpYmludGwgdmlydHVhbC94c2VydmVyIHZpcnR1YWwvdXBkYXRlLWFsdGVybmF0
aXZlcy1uYXRpdmUgdmlydHVhbC91cGRhdGUtYWx0ZXJuYXRpdmVzIgpNVUxUSV9QUk9WSURFUl9X
SElURUxJU1Q9InZpcnR1YWwvbGliaW50bCB2aXJ0dWFsL2xpYmludGwtbmF0aXZlIHZpcnR1YWwv
bmF0aXZlc2RrLWxpYmludGwgdmlydHVhbC94c2VydmVyIHZpcnR1YWwvdXBkYXRlLWFsdGVybmF0
aXZlcy1uYXRpdmUgdmlydHVhbC91cGRhdGUtYWx0ZXJuYXRpdmVzIgojCiMgJE5BVElWRUxTQlNU
UklORyBbMyBvcGVyYXRpb25zXQojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21l
dGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6MjkxCiMgICAgIFtkb2NdICJBIHN0cmluZyBpZGVu
dGlmeWluZyB0aGUgaG9zdCBkaXN0cmlidXRpb24uIgojICAgc2V0IGJhc2UuYmJjbGFzczoyMzYg
W2Jhc2VfZXZlbnRoYW5kbGVyXQojICAgICAidWJ1bnR1LTE2LjA0IgojICAgc2V0IHVuaW5hdGl2
ZS5iYmNsYXNzOjEwMSBbZW5hYmxlX3VuaW5hdGl2ZV0KIyAgICAgInVuaXZlcnNhbCIKIyBwcmUt
ZXhwYW5zaW9uIHZhbHVlOgojICAgInVuaXZlcnNhbCIKTkFUSVZFTFNCU1RSSU5HPSJ1bml2ZXJz
YWwiCiMKIyAkTk0gWzIgb3BlcmF0aW9uc10KIyAgIGV4cG9ydGVkIC9tZWRpYS9yZWJlY2Nhcy95
b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6NTA3CiMgICAgIFtleHBvcnRdICIxIgoj
ICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6
NTA3CiMgICAgICIke0hPU1RfUFJFRklYfW5tIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAi
JHtIT1NUX1BSRUZJWH1ubSIKZXhwb3J0IE5NPSJpNTg2LXBva3ktbGludXgtbm0iCiMKIyAkTk8z
MkxJQlMKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJv
L2luY2x1ZGUvZGVmYXVsdC1kaXN0cm92YXJzLmluYzozNwojICAgICBbX2RlZmF1bHR2YWxdICIx
IgpOTzMyTElCUz0iMSIKIwojICROT0hERAojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9w
b2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6MjkzCiMgICAgIFtkb2NdICJDYXVzZXMg
dGhlIE9wZW5FbWJlZGRlZCBidWlsZCBzeXN0ZW0gdG8gc2tpcCBidWlsZGluZyB0aGUgLmhkZGlt
ZyBpbWFnZS4iCiMKIyAkTk9JU08KIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9t
ZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjI5NAojICAgICBbZG9jXSAiQ2F1c2VzIHRoZSBP
cGVuRW1iZWRkZWQgYnVpbGQgc3lzdGVtIHRvIHNraXAgYnVpbGRpbmcgdGhlIElTTyBpbWFnZS4i
CiMKIyAkTk9fUFJPWFkKIyAgIGZyb20gZW52IGRhdGEucHk6MTI0IFtpbmhlcml0RnJvbU9TXQoj
ICAgICAibG9jYWxob3N0LDEyNy4wLjAuMC8xLGludGVsLmNvbSwxNzIuMC4wLjAvMSwxMC4wLjAu
MC8xLGdpdC1nYXItMS5kZXZ0b29scy5pbnRlbC5jb20sZ2l0LWdlci02LmRldnRvb2xzLmludGVs
LmNvbSxnaXQtYW1yLTIuZGV2dG9vbHMuaW50ZWwuY29tLGdpdC1hbXItMy5kZXZ0b29scy5pbnRl
bC5jb20iCk5PX1BST1hZPSJsb2NhbGhvc3QsMTI3LjAuMC4wLzEsaW50ZWwuY29tLDE3Mi4wLjAu
MC8xLDEwLjAuMC4wLzEsZ2l0LWdhci0xLmRldnRvb2xzLmludGVsLmNvbSxnaXQtZ2VyLTYuZGV2
dG9vbHMuaW50ZWwuY29tLGdpdC1hbXItMi5kZXZ0b29scy5pbnRlbC5jb20sZ2l0LWFtci0zLmRl
dnRvb2xzLmludGVsLmNvbSIKIwojICROT19SRUNPTU1FTkRBVElPTlMgWzIgb3BlcmF0aW9uc10K
IyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlv
bi5jb25mOjI5MgojICAgICBbZG9jXSAiV2hlbiBzZXQgdG8gJzEnLCBubyByZWNvbW1lbmRlZCBw
YWNrYWdlcyB3aWxsIGJlIGluc3RhbGxlZC4gUmVhbGl6ZSB0aGF0IHNvbWUgcmVjb21tZW5kZWQg
cGFja2FnZXMgbWlnaHQgYmUgcmVxdWlyZWQgZm9yIGNlcnRhaW4gc3lzdGVtIGZ1bmN0aW9uYWxp
dHksIHN1Y2ggYXMga2VybmVsLW1vZHVsZXMuIEl0IGlzIHVwIHRvIHRoZSB1c2VyIHRvIGFkZCBw
YWNrYWdlcyB0byBJTUFHRV9JTlNUQUxMIGFzIG5lZWRlZC4iCiMgICBzZXQ/IC9tZWRpYS9yZWJl
Y2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6ODE4CiMgICAgICIiCiMgcHJl
LWV4cGFuc2lvbiB2YWx1ZToKIyAgICIiCk5PX1JFQ09NTUVOREFUSU9OUz0iIgojCiMgJE9CSkNP
UFkgWzIgb3BlcmF0aW9uc10KIyAgIGV4cG9ydGVkIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5
L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6NTA0CiMgICAgIFtleHBvcnRdICIxIgojICAgc2V0IC9t
ZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6NTA0CiMgICAg
ICIke0hPU1RfUFJFRklYfW9iamNvcHkiCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICIke0hP
U1RfUFJFRklYfW9iamNvcHkiCmV4cG9ydCBPQkpDT1BZPSJpNTg2LXBva3ktbGludXgtb2JqY29w
eSIKIwojICRPQkpEVU1QIFsyIG9wZXJhdGlvbnNdCiMgICBleHBvcnRlZCAvbWVkaWEvcmViZWNj
YXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjUwNQojICAgICBbZXhwb3J0XSAi
MSIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5j
b25mOjUwNQojICAgICAiJHtIT1NUX1BSRUZJWH1vYmpkdW1wIgojIHByZS1leHBhbnNpb24gdmFs
dWU6CiMgICAiJHtIT1NUX1BSRUZJWH1vYmpkdW1wIgpleHBvcnQgT0JKRFVNUD0iaTU4Ni1wb2t5
LWxpbnV4LW9iamR1bXAiCiMKIyAkT0VJTkNMVURFTE9HUwojICAgc2V0PyAvbWVkaWEvcmViZWNj
YXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvZGVmYXVsdC1kaXN0cm92YXJz
LmluYzozCiMgICAgICJ5ZXMiCk9FSU5DTFVERUxPR1M9InllcyIKIwojICRPRUxBWU9VVF9BQkkg
WzIgb3BlcmF0aW9uc10KIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2Nv
bmYvYWJpX3ZlcnNpb24uY29uZjo3CiMgICAgICIxMiIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMv
eW9jdG8vcG9reS9tZXRhLXBva3kvY29uZi9kaXN0cm8vcG9reS5jb25mOjkxCiMgICAgICIxMiIK
IyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIjEyIgpPRUxBWU9VVF9BQkk9IjEyIgojCiMgJE9F
Uk9PVAojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVu
dGF0aW9uLmNvbmY6MzAxCiMgICAgIFtkb2NdICJUaGUgZGlyZWN0b3J5IGZyb20gd2hpY2ggdGhl
IHRvcC1sZXZlbCBidWlsZCBlbnZpcm9ubWVudCBzZXR1cCBzY3JpcHQgaXMgc291cmNlZC4iCiMK
IyAkT0VTX0JJVEJBS0VfQ09ORgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21l
dGEvY29uZi9iaXRiYWtlLmNvbmY6NzgwCiMgICAgICIxIgpPRVNfQklUQkFLRV9DT05GPSIxIgoj
CiMgJE9FX0JJTkNPTkZJR19FWFRSQV9NQU5HTEUKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9j
dG8vcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjI5OAojICAgICBbZG9jXSAiV2hl
biBhIHJlY2lwZSBpbmhlcml0cyB0aGUgYmluY29uZmlnLmJiY2xhc3MgY2xhc3MsIHRoaXMgdmFy
aWFibGUgc3BlY2lmaWVzIGFkZGl0aW9uYWwgYXJndW1lbnRzIHBhc3NlZCB0byB0aGUgInNlZCIg
Y29tbWFuZC4iCiMKIyAkT0VfSU1QT1JURUQKIyAgIGltbWVkaWF0ZSAvbWVkaWEvcmViZWNjYXMv
eW9jdG8vcG9reS9tZXRhL2NsYXNzZXMvYmFzZS5iYmNsYXNzOjM3CiMgICAgICIke0BvZV9pbXBv
cnQoZCl9IgpPRV9JTVBPUlRFRD0iIgojCiMgJE9FX0lNUE9SVFMgWzMgb3BlcmF0aW9uc10KIyAg
IHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5j
b25mOjI5OQojICAgICBbZG9jXSAiQW4gaW50ZXJuYWwgdmFyaWFibGUgdXNlZCB0byB0ZWxsIHRo
ZSBPcGVuRW1iZWRkZWQgYnVpbGQgc3lzdGVtIHdoYXQgUHl0aG9uIG1vZHVsZXMgdG8gaW1wb3J0
IGZvciBldmVyeSBQeXRob24gZnVuY3Rpb24gcnVuIGJ5IHRoZSBzeXN0ZW0uIgojICAgYXBwZW5k
IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY2xhc3Nlcy9iYXNlLmJiY2xhc3M6MTMK
IyAgICAgIm9zIHN5cyB0aW1lIG9lLnBhdGggb2UudXRpbHMgb2UudHlwZXMgb2UucGFja2FnZSBv
ZS5wYWNrYWdlZ3JvdXAgb2Uuc3N0YXRlc2lnIG9lLmxzYiBvZS5jYWNoZWRwYXRoIG9lLmxpY2Vu
c2UiCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL2Jhc2Uu
YmJjbGFzczoxNAojICAgICBbdHlwZV0gImxpc3QiCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAg
ICIgb3Mgc3lzIHRpbWUgb2UucGF0aCBvZS51dGlscyBvZS50eXBlcyBvZS5wYWNrYWdlIG9lLnBh
Y2thZ2Vncm91cCBvZS5zc3RhdGVzaWcgb2UubHNiIG9lLmNhY2hlZHBhdGggb2UubGljZW5zZSIK
T0VfSU1QT1JUUz0iIG9zIHN5cyB0aW1lIG9lLnBhdGggb2UudXRpbHMgb2UudHlwZXMgb2UucGFj
a2FnZSBvZS5wYWNrYWdlZ3JvdXAgb2Uuc3N0YXRlc2lnIG9lLmxzYiBvZS5jYWNoZWRwYXRoIG9l
LmxpY2Vuc2UiCiMKIyAkT0VfVEVSTUlOQUwgWzQgb3BlcmF0aW9uc10KIyAgIHNldCAvbWVkaWEv
cmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjMwMAojICAg
ICBbZG9jXSAiQ29udHJvbHMgaG93IHRoZSBPcGVuRW1iZWRkZWQgYnVpbGQgc3lzdGVtIHNwYXdu
cyBpbnRlcmFjdGl2ZSB0ZXJtaW5hbHMgb24gdGhlIGhvc3QgZGV2ZWxvcG1lbnQgc3lzdGVtLiIK
IyAgIHNldD8gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL3Rlcm1pbmFs
LmJiY2xhc3M6MQojICAgICAiYXV0byIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9r
eS9tZXRhL2NsYXNzZXMvdGVybWluYWwuYmJjbGFzczoyCiMgICAgIFt0eXBlXSAiY2hvaWNlIgoj
ICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY2xhc3Nlcy90ZXJtaW5hbC5i
YmNsYXNzOjQKIyAgICAgW2Nob2ljZXNdICJhdXRvIG5vbmUgICAgICAgICAgICAgICAgICAgICAg
ICAgJHtAb2VfdGVybWluYWxfcHJpb3JpdGl6ZWQoKX0iCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToK
IyAgICJhdXRvIgpPRV9URVJNSU5BTD0iYXV0byIKIwojICRPRV9URVJNSU5BTF9FWFBPUlRTIFsy
IG9wZXJhdGlvbnNdCiMgICBhcHBlbmQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9j
bGFzc2VzL3Rlcm1pbmFsLmJiY2xhc3M6NgojICAgICAiRVhUUkFfT0VNQUtFIENBQ0hFRF9DT05G
SUdVUkVWQVJTIENPTkZJR1VSRU9QVFMgRVhUUkFfT0VDT05GIgojICAgc2V0IC9tZWRpYS9yZWJl
Y2Nhcy95b2N0by9wb2t5L21ldGEvY2xhc3Nlcy90ZXJtaW5hbC5iYmNsYXNzOjcKIyAgICAgW3R5
cGVdICJsaXN0IgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiIEVYVFJBX09FTUFLRSBDQUNI
RURfQ09ORklHVVJFVkFSUyBDT05GSUdVUkVPUFRTIEVYVFJBX09FQ09ORiIKT0VfVEVSTUlOQUxf
RVhQT1JUUz0iIEVYVFJBX09FTUFLRSBDQUNIRURfQ09ORklHVVJFVkFSUyBDT05GSUdVUkVPUFRT
IEVYVFJBX09FQ09ORiIKIwojICRPTERFU1RfS0VSTkVMIFs0IG9wZXJhdGlvbnNdCiMgICBzZXQg
L21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo0MDgKIyAg
ICAgIjMuMi4wIgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9k
b2N1bWVudGF0aW9uLmNvbmY6MzAyCiMgICAgIFtkb2NdICJEZWNsYXJlcyB0aGUgb2xkZXN0IHZl
cnNpb24gb2YgdGhlIExpbnV4IGtlcm5lbCB0aGF0IHRoZSBwcm9kdWNlZCBiaW5hcmllcyBtdXN0
IHN1cHBvcnQuIgojICAgb3ZlcnJpZGVbYWFyY2g2NF06c2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0
by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6NDA5CiMgICAgICIzLjE0IgojICAgb3ZlcnJp
ZGVbbmlvczJdOnNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFr
ZS5jb25mOjQxMAojICAgICAiMy4xOSIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIjMuMi4w
IgpPTERFU1RfS0VSTkVMPSIzLjIuMCIKIwojICRPTERFU1RfS0VSTkVMX2FhcmNoNjQKIyAgIHNl
dCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjQwOQoj
ICAgICAiMy4xNCIKT0xERVNUX0tFUk5FTF9hYXJjaDY0PSIzLjE0IgojCiMgJE9MREVTVF9LRVJO
RUxfbmlvczIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0
YmFrZS5jb25mOjQxMAojICAgICAiMy4xOSIKT0xERVNUX0tFUk5FTF9uaW9zMj0iMy4xOSIKIwoj
ICRPUyBbMiBvcGVyYXRpb25zXQojICAgZXhwb3J0ZWQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bv
a3kvbWV0YS9jbGFzc2VzL21vZHVsZS1iYXNlLmJiY2xhc3M6NgojICAgICBbZXhwb3J0XSAiMSIK
IyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NsYXNzZXMvbW9kdWxlLWJh
c2UuYmJjbGFzczo2CiMgICAgICIke1RBUkdFVF9PU30iCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToK
IyAgICIke1RBUkdFVF9PU30iCmV4cG9ydCBPUz0ibGludXgiCiMKIyAkT1ZFUlJJREVTIFs0IG9w
ZXJhdGlvbnNdCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Jp
dGJha2UuY29uZjo3MTYKIyAgICAgIiR7VEFSR0VUX09TfToke1RSQU5TTEFURURfVEFSR0VUX0FS
Q0h9OmJ1aWxkLSR7QlVJTERfT1N9OnBuLSR7UE59OiR7TUFDSElORU9WRVJSSURFU306JHtESVNU
Uk9PVkVSUklERVN9OiR7Q0xBU1NPVkVSUklERX06Zm9yY2V2YXJpYWJsZSIKIyAgIHNldCAvbWVk
aWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjcxNwojICAgICBb
dmFyZGVwc2V4Y2x1ZGVdICJNQUNISU5FT1ZFUlJJREVTIgojICAgcG9zdGRvdCAvbWVkaWEvcmVi
ZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvdGNsaWJjLWdsaWJjLmlu
Yzo5CiMgICAgICIke0xJQkNPVkVSUklERX0iCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3Rv
L3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjozMDMKIyAgICAgW2RvY10gIkJpdEJh
a2UgdXNlcyBPVkVSUklERVMgdG8gY29udHJvbCB3aGF0IHZhcmlhYmxlcyBhcmUgb3ZlcnJpZGRl
biBhZnRlciBCaXRCYWtlIHBhcnNlcyByZWNpcGVzIGFuZCBjb25maWd1cmF0aW9uIGZpbGVzLiIK
IyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIiR7VEFSR0VUX09TfToke1RSQU5TTEFURURfVEFS
R0VUX0FSQ0h9OmJ1aWxkLSR7QlVJTERfT1N9OnBuLSR7UE59OiR7TUFDSElORU9WRVJSSURFU306
JHtESVNUUk9PVkVSUklERVN9OiR7Q0xBU1NPVkVSUklERX06Zm9yY2V2YXJpYWJsZSR7TElCQ09W
RVJSSURFfSIKT1ZFUlJJREVTPSJsaW51eDppNTg2OmJ1aWxkLWxpbnV4OnBuLWx0dG5nLW1vZHVs
ZXM6eDg2OnFlbXVhbGw6cWVtdXg4Njpwb2t5OmNsYXNzLXRhcmdldDpmb3JjZXZhcmlhYmxlOmxp
YmMtZ2xpYmMiCiMKIyAkUCBbMiBvcGVyYXRpb25zXQojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95
b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6MjAwCiMgICAgICIke1BOfS0ke1BWfSIK
IyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlv
bi5jb25mOjMwNwojICAgICBbZG9jXSAiVGhlIHJlY2lwZSBuYW1lIGFuZCB2ZXJzaW9uLiBQIGlz
IGNvbXByaXNlZCBvZiAke1BOfS0ke1BWfS4iCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICIk
e1BOfS0ke1BWfSIKUD0ibHR0bmctbW9kdWxlcy0yLjkuMSIKIwojICRQQUNLQUdFQlVJTERQS0dE
CiMgICBzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY2xhc3Nlcy9wYWNrYWdl
LmJiY2xhc3M6MjA0MgojICAgICAiICAgICAgICAgICAgICAgICBwZXJmb3JtX3BhY2thZ2Vjb3B5
ICAgICAgICAgICAgICAgICAke1BBQ0tBR0VfUFJFUFJPQ0VTU19GVU5DU30gICAgICAgICAgICAg
ICAgIHNwbGl0X2FuZF9zdHJpcF9maWxlcyAgICAgICAgICAgICAgICAgZml4dXBfcGVybXMgICAg
ICAgICAgICAgICAgICIKUEFDS0FHRUJVSUxEUEtHRD0iICAgICAgICAgICAgICAgICBwZXJmb3Jt
X3BhY2thZ2Vjb3B5ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNwbGl0X2FuZF9z
dHJpcF9maWxlcyAgICAgICAgICAgICAgICAgZml4dXBfcGVybXMgICAgICAgICAgICAgICAgICIK
IwojICRQQUNLQUdFQ09ORklHIFszIG9wZXJhdGlvbnNdCiMgICBfYXBwZW5kW3BuLXFlbXUtbmF0
aXZlXSAvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvY29uZi9sb2NhbC5jb25mOjIzMAojICAg
ICAiIHNkbCIKIyAgIF9hcHBlbmRbcG4tbmF0aXZlc2RrLXFlbXVdIC9tZWRpYS9yZWJlY2Nhcy95
b2N0by9sdHRuZy9jb25mL2xvY2FsLmNvbmY6MjMxCiMgICAgICIgc2RsIgojICAgc2V0IC9tZWRp
YS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6MzE3CiMg
ICAgIFtkb2NdICJUaGlzIHZhcmlhYmxlIHByb3ZpZGVzIGEgbWVhbnMgb2YgZW5hYmxpbmcgb3Ig
ZGlzYWJsaW5nIGZlYXR1cmVzIG9mIGEgcmVjaXBlIG9uIGEgcGVyLXJlY2lwZSBiYXNpcy4iCiMg
cHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICIiClBBQ0tBR0VDT05GSUc9IiIKIwojICRQQUNLQUdF
RlVOQ1MKIyAgIGFwcGVuZCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NsYXNzZXMv
cGFja2FnZS5iYmNsYXNzOjIwNTYKIyAgICAgIiAgICAgICAgICAgICAgICAgcGFja2FnZV9maXhz
eW1saW5rcyAgICAgICAgICAgICAgICAgcGFja2FnZV9uYW1lX2hvb2sgICAgICAgICAgICAgICAg
IHBhY2thZ2VfZG9fZmlsZWRlcHMgICAgICAgICAgICAgICAgIHBhY2thZ2VfZG9fc2hsaWJzICAg
ICAgICAgICAgICAgICBwYWNrYWdlX2RvX3BrZ2NvbmZpZyAgICAgICAgICAgICAgICAgcmVhZF9z
aGxpYmRlcHMgICAgICAgICAgICAgICAgIHBhY2thZ2VfZGVwY2hhaW5zICAgICAgICAgICAgICAg
ICBlbWl0X3BrZ2RhdGEiClBBQ0tBR0VGVU5DUz0iICAgICAgICAgICAgICAgICAgcGFja2FnZV9m
aXhzeW1saW5rcyAgICAgICAgICAgICAgICAgcGFja2FnZV9uYW1lX2hvb2sgICAgICAgICAgICAg
ICAgIHBhY2thZ2VfZG9fZmlsZWRlcHMgICAgICAgICAgICAgICAgIHBhY2thZ2VfZG9fc2hsaWJz
ICAgICAgICAgICAgICAgICBwYWNrYWdlX2RvX3BrZ2NvbmZpZyAgICAgICAgICAgICAgICAgcmVh
ZF9zaGxpYmRlcHMgICAgICAgICAgICAgICAgIHBhY2thZ2VfZGVwY2hhaW5zICAgICAgICAgICAg
ICAgICBlbWl0X3BrZ2RhdGEiCiMKIyAkUEFDS0FHRUlOREVYREVQUyBbMiBvcGVyYXRpb25zXQoj
ICAgYXBwZW5kIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY2xhc3Nlcy9wYWNrYWdl
X3JwbS5iYmNsYXNzOjczMgojICAgICAicnBtLW5hdGl2ZTpkb19wb3B1bGF0ZV9zeXNyb290Igoj
ICAgYXBwZW5kIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY2xhc3Nlcy9wYWNrYWdl
X3JwbS5iYmNsYXNzOjczMwojICAgICAiY3JlYXRlcmVwby1jLW5hdGl2ZTpkb19wb3B1bGF0ZV9z
eXNyb290IgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiIHJwbS1uYXRpdmU6ZG9fcG9wdWxh
dGVfc3lzcm9vdCBjcmVhdGVyZXBvLWMtbmF0aXZlOmRvX3BvcHVsYXRlX3N5c3Jvb3QiClBBQ0tB
R0VJTkRFWERFUFM9IiBycG0tbmF0aXZlOmRvX3BvcHVsYXRlX3N5c3Jvb3QgY3JlYXRlcmVwby1j
LW5hdGl2ZTpkb19wb3B1bGF0ZV9zeXNyb290IgojCiMgJFBBQ0tBR0VMT0NLCiMgICBzZXQgL21l
ZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL3BhY2thZ2UuYmJjbGFzczoyMTQ4
CiMgICAgICIke1NUQUdJTkdfRElSfS9wYWNrYWdlLW91dHB1dC5sb2NrIgpQQUNLQUdFTE9DSz0i
L21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL3RtcC9zeXNyb290cy9wYWNrYWdlLW91dHB1dC5s
b2NrIgojCiMgJFBBQ0tBR0VTIFsyIG9wZXJhdGlvbnNdCiMgICBzZXQgL21lZGlhL3JlYmVjY2Fz
L3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjoyNzgKIyAgICAgIiR7UE59LWRiZyAk
e1BOfS1zdGF0aWNkZXYgJHtQTn0tZGV2ICR7UE59LWRvYyAke1BOfS1sb2NhbGUgJHtQQUNLQUdF
X0JFRk9SRV9QTn0gJHtQTn0iCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0
YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjozMTgKIyAgICAgW2RvY10gIlRoZSBsaXN0IG9mIHBh
Y2thZ2VzIHRvIGJlIGNyZWF0ZWQgZnJvbSB0aGUgcmVjaXBlLiIKIyBwcmUtZXhwYW5zaW9uIHZh
bHVlOgojICAgIiR7UE59LWRiZyAke1BOfS1zdGF0aWNkZXYgJHtQTn0tZGV2ICR7UE59LWRvYyAk
e1BOfS1sb2NhbGUgJHtQQUNLQUdFX0JFRk9SRV9QTn0gJHtQTn0iClBBQ0tBR0VTPSJsdHRuZy1t
b2R1bGVzLWRiZyBsdHRuZy1tb2R1bGVzLXN0YXRpY2RldiBsdHRuZy1tb2R1bGVzLWRldiBsdHRu
Zy1tb2R1bGVzLWRvYyBsdHRuZy1tb2R1bGVzLWxvY2FsZSAgbHR0bmctbW9kdWxlcyIKIwojICRQ
QUNLQUdFU1BMSVRGVU5DUyBbMiBvcGVyYXRpb25zXQojICAgc2V0PyAvbWVkaWEvcmViZWNjYXMv
eW9jdG8vcG9reS9tZXRhL2NsYXNzZXMvcGFja2FnZS5iYmNsYXNzOjIwNDYKIyAgICAgIiAgICAg
ICAgICAgICAgICAgcGFja2FnZV9kb19zcGxpdF9sb2NhbGVzICAgICAgICAgICAgICAgICBwb3B1
bGF0ZV9wYWNrYWdlcyIKIyAgIF9wcmVwZW5kIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21l
dGEvY2xhc3Nlcy9rZXJuZWwtbW9kdWxlLXNwbGl0LmJiY2xhc3M6MzEKIyAgICAgInNwbGl0X2tl
cm5lbF9tb2R1bGVfcGFja2FnZXMgIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAic3BsaXRf
a2VybmVsX21vZHVsZV9wYWNrYWdlcyAgICAgICAgICAgICAgICAgIHBhY2thZ2VfZG9fc3BsaXRf
bG9jYWxlcyAgICAgICAgICAgICAgICAgcG9wdWxhdGVfcGFja2FnZXMiClBBQ0tBR0VTUExJVEZV
TkNTPSJzcGxpdF9rZXJuZWxfbW9kdWxlX3BhY2thZ2VzICAgICAgICAgICAgICAgICAgcGFja2Fn
ZV9kb19zcGxpdF9sb2NhbGVzICAgICAgICAgICAgICAgICBwb3B1bGF0ZV9wYWNrYWdlcyIKIwoj
ICRQQUNLQUdFU19EWU5BTUlDIFsyIG9wZXJhdGlvbnNdCiMgICBzZXQgL21lZGlhL3JlYmVjY2Fz
L3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjoyNzkKIyAgICAgIl4ke1BOfS1sb2Nh
bGUtLioiCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3Vt
ZW50YXRpb24uY29uZjozMTkKIyAgICAgW2RvY10gIkEgcHJvbWlzZSB0aGF0IHlvdXIgcmVjaXBl
IHNhdGlzZmllcyBydW50aW1lIGRlcGVuZGVuY2llcyBmb3Igb3B0aW9uYWwgbW9kdWxlcyB0aGF0
IGFyZSBmb3VuZCBpbiBvdGhlciByZWNpcGVzLiIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAg
Il4ke1BOfS1sb2NhbGUtLioiClBBQ0tBR0VTX0RZTkFNSUM9Il5sdHRuZy1tb2R1bGVzLWxvY2Fs
ZS0uKiIKIwojICRQQUNLQUdFVkFSUwojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5
L21ldGEvY2xhc3Nlcy9wYWNrYWdlLmJiY2xhc3M6MjAyMAojICAgICAiRklMRVMgUkRFUEVORFMg
UlJFQ09NTUVORFMgU1VNTUFSWSBERVNDUklQVElPTiBSU1VHR0VTVFMgUlBST1ZJREVTIFJDT05G
TElDVFMgUEtHIEFMTE9XX0VNUFRZIHBrZ19wb3N0aW5zdCBwa2dfcG9zdHJtIElOSVRTQ1JJUFRf
TkFNRSBJTklUU0NSSVBUX1BBUkFNUyBERUJJQU5fTk9BVVRPTkFNRSBBTFRFUk5BVElWRSBQS0dF
IFBLR1YgUEtHUiBVU0VSQUREX1BBUkFNIEdST1VQQUREX1BBUkFNIENPTkZGSUxFUyBTWVNURU1E
X1NFUlZJQ0UgTElDRU5TRSBTRUNUSU9OIHBrZ19wcmVpbnN0IHBrZ19wcmVybSBSUkVQTEFDRVMg
R1JPVVBNRU1TX1BBUkFNIFNZU1RFTURfQVVUT19FTkFCTEUgU0tJUF9GSUxFREVQUyBQUklWQVRF
X0xJQlMiClBBQ0tBR0VWQVJTPSJGSUxFUyBSREVQRU5EUyBSUkVDT01NRU5EUyBTVU1NQVJZIERF
U0NSSVBUSU9OIFJTVUdHRVNUUyBSUFJPVklERVMgUkNPTkZMSUNUUyBQS0cgQUxMT1dfRU1QVFkg
cGtnX3Bvc3RpbnN0IHBrZ19wb3N0cm0gSU5JVFNDUklQVF9OQU1FIElOSVRTQ1JJUFRfUEFSQU1T
IERFQklBTl9OT0FVVE9OQU1FIEFMVEVSTkFUSVZFIFBLR0UgUEtHViBQS0dSIFVTRVJBRERfUEFS
QU0gR1JPVVBBRERfUEFSQU0gQ09ORkZJTEVTIFNZU1RFTURfU0VSVklDRSBMSUNFTlNFIFNFQ1RJ
T04gcGtnX3ByZWluc3QgcGtnX3ByZXJtIFJSRVBMQUNFUyBHUk9VUE1FTVNfUEFSQU0gU1lTVEVN
RF9BVVRPX0VOQUJMRSBTS0lQX0ZJTEVERVBTIFBSSVZBVEVfTElCUyIKIwojICRQQUNLQUdFX0FS
Q0ggWzMgb3BlcmF0aW9uc10KIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRh
L2NvbmYvYml0YmFrZS5jb25mOjE0NAojICAgICBbX2RlZmF1bHR2YWxdICIke1RVTkVfUEtHQVJD
SH0iCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50
YXRpb24uY29uZjozMDgKIyAgICAgW2RvY10gIlRoZSBhcmNoaXRlY3R1cmUgb2YgdGhlIHJlc3Vs
dGluZyBwYWNrYWdlIG9yIHBhY2thZ2VzLiIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8v
cG9reS9tZXRhL2NsYXNzZXMvbW9kdWxlLWJhc2UuYmJjbGFzczoxOQojICAgICAiJHtNQUNISU5F
X0FSQ0h9IgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiJHtNQUNISU5FX0FSQ0h9IgpQQUNL
QUdFX0FSQ0g9InFlbXV4ODYiCiMKIyAkUEFDS0FHRV9BUkNIUyBbMyBvcGVyYXRpb25zXQojICAg
c2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6MTQ3
CiMgICAgICJhbGwgYW55IG5vYXJjaCAke1BBQ0tBR0VfRVhUUkFfQVJDSFN9ICR7TUFDSElORV9B
UkNIfSIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFr
ZS5jb25mOjE1MAojICAgICBbdmFyZGVwc2V4Y2x1ZGVdICJNQUNISU5FX0FSQ0giCiMgICBzZXQg
L21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjoz
MDkKIyAgICAgW2RvY10gIkEgbGlzdCBvZiBhcmNoaXRlY3R1cmVzIGNvbXBhdGlibGUgd2l0aCB0
aGUgZ2l2ZW4gdGFyZ2V0IGluIG9yZGVyIG9mIHByaW9yaXR5LiIKIyBwcmUtZXhwYW5zaW9uIHZh
bHVlOgojICAgImFsbCBhbnkgbm9hcmNoICR7UEFDS0FHRV9FWFRSQV9BUkNIU30gJHtNQUNISU5F
X0FSQ0h9IgpQQUNLQUdFX0FSQ0hTPSJhbGwgYW55IG5vYXJjaCB4ODYgaTU4NiBxZW11eDg2Igoj
CiMgJFBBQ0tBR0VfQkVGT1JFX1BOIFsyIG9wZXJhdGlvbnNdCiMgICBzZXQ/IC9tZWRpYS9yZWJl
Y2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6Mjc3CiMgICAgICIiCiMgICBz
ZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29u
ZjozMTAKIyAgICAgW2RvY10gIkVuYWJsZXMgZWFzaWx5IGFkZGluZyBwYWNrYWdlcyB0byBQQUNL
QUdFUyBiZWZvcmUgJHtQTn0gc28gdGhhdCB0aGUgcGFja2FnZXMgY2FuIHBpY2sgdXAgZmlsZXMg
dGhhdCB3b3VsZCBub3JtYWxseSBiZSBpbmNsdWRlZCBpbiB0aGUgZGVmYXVsdCBwYWNrYWdlLiIK
IyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIiIKUEFDS0FHRV9CRUZPUkVfUE49IiIKIwojICRQ
QUNLQUdFX0NMQVNTRVMgWzMgb3BlcmF0aW9uc10KIyAgIHNldD8gL21lZGlhL3JlYmVjY2FzL3lv
Y3RvL2x0dG5nL2NvbmYvbG9jYWwuY29uZjoxMDgKIyAgICAgInBhY2thZ2VfcnBtIgojICAgc2V0
PyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2RlZmF1bHRzZXR1
cC5jb25mOjIxCiMgICAgICJwYWNrYWdlX2lwayIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9j
dG8vcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjMxMQojICAgICBbZG9jXSAiVGhp
cyB2YXJpYWJsZSBzcGVjaWZpZXMgdGhlIHBhY2thZ2UgbWFuYWdlciB0byB1c2Ugd2hlbiBwYWNr
YWdpbmcgZGF0YS4gSXQgaXMgc2V0IGluIHRoZSBjb25mL2xvY2FsLmNvbmYgZmlsZSBpbiB0aGUg
QnVpbGQgRGlyZWN0b3J5LiIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgInBhY2thZ2VfcnBt
IgpQQUNLQUdFX0NMQVNTRVM9InBhY2thZ2VfcnBtIgojCiMgJFBBQ0tBR0VfREVQRU5EUyBbMiBv
cGVyYXRpb25zXQojICAgYXBwZW5kIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY2xh
c3Nlcy9wYWNrYWdlLmJiY2xhc3M6NTUKIyAgICAgInJwbS1uYXRpdmUiCiMgICBhcHBlbmQgL21l
ZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL3BhY2thZ2UuYmJjbGFzczoyMzkK
IyAgICAgImZpbGUtbmF0aXZlIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiIHJwbS1uYXRp
dmUgZmlsZS1uYXRpdmUiClBBQ0tBR0VfREVQRU5EUz0iIHJwbS1uYXRpdmUgZmlsZS1uYXRpdmUi
CiMKIyAkUEFDS0FHRV9FWENMVURFCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kv
bWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjozMTIKIyAgICAgW2RvY10gIlBhY2thZ2VzIHRv
IGV4Y2x1ZGUgZnJvbSB0aGUgaW5zdGFsbGF0aW9uLiBJZiBhIGxpc3RlZCBwYWNrYWdlIGlzIHJl
cXVpcmVkLCBhbiBlcnJvciBpcyBnZW5lcmF0ZWQuIgojCiMgJFBBQ0tBR0VfRVhUUkFfQVJDSFMg
WzYgb3BlcmF0aW9uc10KIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2Nv
bmYvYml0YmFrZS5jb25mOjE0NgojICAgICBbX2RlZmF1bHR2YWxdICIke1BBQ0tBR0VfRVhUUkFf
QVJDSFNfdHVuZS0ke0RFRkFVTFRUVU5FfX0iCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3Rv
L3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjozMTMKIyAgICAgW2RvY10gIlNwZWNp
ZmllcyB0aGUgbGlzdCBvZiBhcmNoaXRlY3R1cmVzIGNvbXBhdGlibGUgd2l0aCB0aGUgZGV2aWNl
IENQVS4gVGhpcyB2YXJpYWJsZSBpcyB1c2VmdWwgd2hlbiB5b3UgYnVpbGQgZm9yIHNldmVyYWwg
ZGlmZmVyZW50IGRldmljZXMgdGhhdCB1c2UgbWlzY2VsbGFuZW91cyBwcm9jZXNzb3JzLiIKIyAg
IG92ZXJyaWRlW3R1bmUteDg2XTpzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9j
b25mL21hY2hpbmUvaW5jbHVkZS94ODYvYXJjaC14ODYuaW5jOjQxCiMgICAgICIke1RVTkVfUEtH
QVJDSF90dW5lLXg4Nn0iCiMgICBvdmVycmlkZVt0dW5lLXg4Ni02NF06c2V0IC9tZWRpYS9yZWJl
Y2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUveDg2L2FyY2gteDg2Lmlu
Yzo0NwojICAgICAiJHtUVU5FX1BLR0FSQ0hfdHVuZS14ODYtNjR9IgojICAgb3ZlcnJpZGVbdHVu
ZS14ODYtNjQteDMyXTpzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL21h
Y2hpbmUvaW5jbHVkZS94ODYvYXJjaC14ODYuaW5jOjUzCiMgICAgICIke1RVTkVfUEtHQVJDSF90
dW5lLXg4Ni02NC14MzJ9IgojICAgb3ZlcnJpZGVbdHVuZS1pNTg2XTpzZXQgL21lZGlhL3JlYmVj
Y2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS90dW5lLWk1ODYuaW5jOjE0
CiMgICAgICIke1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS14ODZ9IGk1ODYiCiMgcHJlLWV4cGFu
c2lvbiB2YWx1ZToKIyAgICIke1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS0ke0RFRkFVTFRUVU5F
fX0iClBBQ0tBR0VfRVhUUkFfQVJDSFM9Ing4NiBpNTg2IgojCiMgJFBBQ0tBR0VfRVhUUkFfQVJD
SFNfdHVuZS1pNTg2CiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25m
L21hY2hpbmUvaW5jbHVkZS90dW5lLWk1ODYuaW5jOjE0CiMgICAgICIke1BBQ0tBR0VfRVhUUkFf
QVJDSFNfdHVuZS14ODZ9IGk1ODYiClBBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1pNTg2PSJ4ODYg
aTU4NiIKIwojICRQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUteDg2CiMgICBzZXQgL21lZGlhL3Jl
YmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS94ODYvYXJjaC14ODYu
aW5jOjQxCiMgICAgICIke1RVTkVfUEtHQVJDSF90dW5lLXg4Nn0iClBBQ0tBR0VfRVhUUkFfQVJD
SFNfdHVuZS14ODY9Ing4NiIKIwojICRQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUteDg2LTY0CiMg
ICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVk
ZS94ODYvYXJjaC14ODYuaW5jOjQ3CiMgICAgICIke1RVTkVfUEtHQVJDSF90dW5lLXg4Ni02NH0i
ClBBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS14ODYtNjQ9Ing4Nl82NCIKIwojICRQQUNLQUdFX0VY
VFJBX0FSQ0hTX3R1bmUteDg2LTY0LXgzMgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9w
b2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUveDg2L2FyY2gteDg2LmluYzo1MwojICAgICAi
JHtUVU5FX1BLR0FSQ0hfdHVuZS14ODYtNjQteDMyfSIKUEFDS0FHRV9FWFRSQV9BUkNIU190dW5l
LXg4Ni02NC14MzI9Ing4Nl82NF94MzIiCiMKIyAkUEFDS0FHRV9HUk9VUAojICAgc2V0IC9tZWRp
YS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6MzE0CiMg
ICAgIFtkb2NdICJEZWZpbmVzIG9uZSBvciBtb3JlIHBhY2thZ2VzIHRvIGluY2x1ZGUgaW4gYW4g
aW1hZ2Ugd2hlbiBhIHNwZWNpZmljIGl0ZW0gaXMgaW5jbHVkZWQgaW4gSU1BR0VfRkVBVFVSRVMu
IgojCiMgJFBBQ0tBR0VfSU5TVEFMTAojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5
L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6MzE1CiMgICAgIFtkb2NdICJMaXN0IG9mIHRo
ZSBwYWNrYWdlcyB0byBiZSBpbnN0YWxsZWQgaW50byB0aGUgaW1hZ2UuIFRoZSB2YXJpYWJsZSBp
cyBnZW5lcmFsbHkgbm90IHVzZXItZGVmaW5lZCBhbmQgdXNlcyBJTUFHRV9JTlNUQUxMIGFzIHBh
cnQgb2YgdGhlIGxpc3QuIgojCiMgJFBBQ0tBR0VfSU5TVEFMTF9BVFRFTVBUT05MWQojICAgc2V0
IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6
MzE2CiMgICAgIFtkb2NdICJMaXN0IG9mIHBhY2thZ2VzIGF0dGVtcHRlZCB0byBiZSBpbnN0YWxs
ZWQuIElmIGEgbGlzdGVkIHBhY2thZ2UgZmFpbHMgdG8gaW5zdGFsbCwgdGhlIGJ1aWxkIHN5c3Rl
bSBkb2VzIG5vdCBnZW5lcmF0ZSBhbiBlcnJvci4gVGhpcyB2YXJpYWJsZSBpcyBnZW5lcmFsbHkg
bm90IHVzZXItZGVmaW5lZC4iCiMKIyAkUEFDS0FHRV9QUkVQUk9DRVNTX0ZVTkNTCiMgICBzZXQ/
IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY2xhc3Nlcy9wYWNrYWdlLmJiY2xhc3M6
MjAzNQojICAgICAiIgpQQUNLQUdFX1BSRVBST0NFU1NfRlVOQ1M9IiIKIwojICRQQUNLQUdFX1dS
SVRFX0RFUFMgWzIgb3BlcmF0aW9uc10KIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9r
eS9tZXRhL2NsYXNzZXMvcGFja2FnZS5iYmNsYXNzOjYzCiMgICAgIFtfZGVmYXVsdHZhbF0gIiIK
IyAgIGFwcGVuZCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NsYXNzZXMva2VybmVs
LW1vZHVsZS1zcGxpdC5iYmNsYXNzOjI1CiMgICAgICJrbW9kLW5hdGl2ZSBkZXBtb2R3cmFwcGVy
LWNyb3NzIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiIGttb2QtbmF0aXZlIGRlcG1vZHdy
YXBwZXItY3Jvc3MiClBBQ0tBR0VfV1JJVEVfREVQUz0iIGttb2QtbmF0aXZlIGRlcG1vZHdyYXBw
ZXItY3Jvc3MiCiMKIyAkUEFSQUxMRUxfTUFLRSBbMiBvcGVyYXRpb25zXQojICAgc2V0IC9tZWRp
YS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6MzIwCiMg
ICAgIFtkb2NdICJTcGVjaWZpZXMgZXh0cmEgb3B0aW9ucyB0aGF0IGFyZSBwYXNzZWQgdG8gdGhl
IG1ha2UgY29tbWFuZCBkdXJpbmcgdGhlIGNvbXBpbGUgdGFza3MuIFRoaXMgdmFyaWFibGUgaXMg
dXN1YWxseSBpbiB0aGUgZm9ybSAtaiA0LCB3aGVyZSB0aGUgbnVtYmVyIHJlcHJlc2VudHMgdGhl
IG1heGltdW0gbnVtYmVyIG9mIHBhcmFsbGVsIHRocmVhZHMgbWFrZSBjYW4gcnVuLiIKIyAgIHNl
dD8gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo3NzUK
IyAgICAgIi1qICR7QG9lLnV0aWxzLmNwdV9jb3VudCgpfSIKIyBwcmUtZXhwYW5zaW9uIHZhbHVl
OgojICAgIi1qICR7QG9lLnV0aWxzLmNwdV9jb3VudCgpfSIKUEFSQUxMRUxfTUFLRT0iLWogNDAi
CiMKIyAkUEFSQUxMRUxfTUFLRUlOU1QgWzIgb3BlcmF0aW9uc10KIyAgIHNldCAvbWVkaWEvcmVi
ZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjU3NgojICAgICBbX2RlZmF1
bHR2YWxdICIke1BBUkFMTEVMX01BS0V9IgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9w
b2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6MzIxCiMgICAgIFtkb2NdICJFeHRyYSBv
cHRpb25zIHBhc3NlZCB0byB0aGUgbWFrZSBpbnN0YWxsIGNvbW1hbmQgZHVyaW5nIHRoZSBkb19p
bnN0YWxsIHRhc2sgaW4gb3JkZXIgdG8gc3BlY2lmeSBwYXJhbGxlbCBpbnN0YWxsYXRpb24uIgoj
IHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiJHtQQVJBTExFTF9NQUtFfSIKUEFSQUxMRUxfTUFL
RUlOU1Q9Ii1qIDQwIgojCiMgJFBBVENIREVQRU5ERU5DWQojICAgc2V0IC9tZWRpYS9yZWJlY2Nh
cy95b2N0by9wb2t5L21ldGEvY2xhc3Nlcy9wYXRjaC5iYmNsYXNzOjYKIyAgICAgIiR7UEFUQ0hU
T09MfS1uYXRpdmU6ZG9fcG9wdWxhdGVfc3lzcm9vdCIKUEFUQ0hERVBFTkRFTkNZPSJxdWlsdC1u
YXRpdmU6ZG9fcG9wdWxhdGVfc3lzcm9vdCIKIwojICRQQVRDSFJFU09MVkUgWzMgb3BlcmF0aW9u
c10KIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5j
b25mOjUzMgojICAgICAibm9vcCIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcv
Y29uZi9sb2NhbC5jb25mOjE4MgojICAgICAibm9vcCIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMv
eW9jdG8vcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjMyMgojICAgICBbZG9jXSAi
RW5hYmxlIG9yIGRpc2FibGUgaW50ZXJhY3RpdmUgcGF0Y2ggcmVzb2x1dGlvbi4iCiMgcHJlLWV4
cGFuc2lvbiB2YWx1ZToKIyAgICJub29wIgpQQVRDSFJFU09MVkU9Im5vb3AiCiMKIyAkUEFUQ0hU
T09MIFsyIG9wZXJhdGlvbnNdCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0
YS9jb25mL2JpdGJha2UuY29uZjo1MzEKIyAgICAgInF1aWx0IgojICAgc2V0IC9tZWRpYS9yZWJl
Y2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6MzIzCiMgICAgIFtk
b2NdICJTcGVjaWZpZXMgdGhlIHV0aWxpdHkgdXNlZCB0byBhcHBseSBwYXRjaGVzIGZvciBhIHJl
Y2lwZSBkdXJpbmcgZG9fcGF0Y2guIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAicXVpbHQi
ClBBVENIVE9PTD0icXVpbHQiCiMKIyAkUEFUQ0hfR0lUX1VTRVJfRU1BSUwKIyAgIHNldD8gL21l
ZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL3BhdGNoLmJiY2xhc3M6OQojICAg
ICAib2UucGF0Y2hAb2UiClBBVENIX0dJVF9VU0VSX0VNQUlMPSJvZS5wYXRjaEBvZSIKIwojICRQ
QVRDSF9HSVRfVVNFUl9OQU1FCiMgICBzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21l
dGEvY2xhc3Nlcy9wYXRjaC5iYmNsYXNzOjgKIyAgICAgIk9wZW5FbWJlZGRlZCIKUEFUQ0hfR0lU
X1VTRVJfTkFNRT0iT3BlbkVtYmVkZGVkIgojCiMgJFBBVEggWzcgb3BlcmF0aW9uc10KIyAgIGZy
b20gZW52IGRhdGEucHk6MTI0IFtpbmhlcml0RnJvbU9TXQojICAgICAiL21lZGlhL3JlYmVjY2Fz
L3lvY3RvL3Bva3kvc2NyaXB0czovbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9iaXRiYWtlL2Jp
bjovbWVkaWEvcmViZWNjYXMveW9jdG8vMTIxNzcvdG1wL2RlcGxveS9zZGsvcG9reV9zZGsvc3lz
cm9vdHMveDg2XzY0LXBva3lzZGstbGludXgvdXNyL2JpbjovbWVkaWEvcmViZWNjYXMveW9jdG8v
MTIxNzcvdG1wL2RlcGxveS9zZGsvcG9reV9zZGsvYnVpbGR0b29scy9zeXNyb290cy94ODZfNjQt
cG9reXNkay1saW51eC91c3IvYmluOi9tZWRpYS9yZWJlY2Nhcy95b2N0by8xMjE3Ny90bXAvZGVw
bG95L3Nkay9wb2t5X3Nkay90bXAvc3lzcm9vdHMveDg2XzY0L3Vzci9iaW46L21lZGlhL3JlYmVj
Y2FzL3lvY3RvLzEyMTc3L3RtcC9kZXBsb3kvc2RrL3Bva3lfc2RrL3RtcC9zeXNyb290cy94ODZf
NjQvdXNyL3NiaW46L21lZGlhL3JlYmVjY2FzL3lvY3RvLzEyMTc3L3RtcC9kZXBsb3kvc2RrL3Bv
a3lfc2RrL3RtcC9zeXNyb290cy94ODZfNjQvYmluOi9tZWRpYS9yZWJlY2Nhcy95b2N0by8xMjE3
Ny90bXAvZGVwbG95L3Nkay9wb2t5X3Nkay90bXAvc3lzcm9vdHMveDg2XzY0L3NiaW46L21lZGlh
L3JlYmVjY2FzL3lvY3RvLzEyMTc3L3RtcC9kZXBsb3kvc2RrL3Bva3lfc2RrL3RtcC9zeXNyb290
cy94ODZfNjQvdXNyL2Jpbi8uLi94ODZfNjQtcG9reXNkay1saW51eC9iaW46L21lZGlhL3JlYmVj
Y2FzL3lvY3RvLzEyMTc3L3RtcC9kZXBsb3kvc2RrL3Bva3lfc2RrL3RtcC9zeXNyb290cy94ODZf
NjQvdXNyL2Jpbi9pNTg2LXBva3ktbGludXg6L21lZGlhL3JlYmVjY2FzL3lvY3RvLzEyMTc3L3Rt
cC9kZXBsb3kvc2RrL3Bva3lfc2RrL3RtcC9zeXNyb290cy94ODZfNjQvdXNyL2Jpbi9pNTg2LXBv
a3ktbGludXgtbXVzbDovb3B0L2JsYWNrZHVjay9wcm90ZXhJUC9iaW46L3Vzci9sb2NhbC9zYmlu
Oi91c3IvbG9jYWwvYmluOi91c3Ivc2JpbjovdXNyL2Jpbjovc2JpbjovYmluOi91c3IvZ2FtZXM6
L3Vzci9sb2NhbC9nYW1lczovaG9tZS9yZWJlY2Nhcy9iaW46L3NuYXAvYmluIgojICAgYXV0byBl
bnYgZXhwb3J0IGRhdGEucHk6MTI2IFtpbmhlcml0RnJvbU9TXQojICAgICBbZXhwb3J0XSAiVHJ1
ZSIKIyAgIGltbWVkaWF0ZSAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvbGF5
ZXIuY29uZjo2MwojICAgICAiJHtAb3MucGF0aC5kaXJuYW1lKGJiLnV0aWxzLndoaWNoKGQuZ2V0
VmFyKCdQQVRIJyksJ2JpdGJha2UnKSl9OiR7SE9TVFRPT0xTX0RJUn0iCiMgICBfcHJlcGVuZCAv
bWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjQ0OQojICAg
ICAiJHtDT1JFQkFTRX0vc2NyaXB0czoke1NUQUdJTkdfQklORElSX1RPT0xDSEFJTn06JHtTVEFH
SU5HX0JJTkRJUl9DUk9TU306JHtTVEFHSU5HX0RJUl9OQVRJVkV9JHtzYmluZGlyX25hdGl2ZX06
JHtTVEFHSU5HX0JJTkRJUl9OQVRJVkV9OiR7U1RBR0lOR19ESVJfTkFUSVZFfSR7YmFzZV9zYmlu
ZGlyX25hdGl2ZX06JHtTVEFHSU5HX0RJUl9OQVRJVkV9JHtiYXNlX2JpbmRpcl9uYXRpdmV9OiIK
IyAgIGV4cG9ydGVkIGFzdC5weTo2OCBbZXZhbF0KIyAgICAgW2V4cG9ydF0gIjEiCiMgICBfcHJl
cGVuZCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NsYXNzZXMvYmFzZS5iYmNsYXNz
Ojk1CiMgICAgICIke0BleHRyYV9wYXRoX2VsZW1lbnRzKGQpfSIKIyAgIHByZXBlbmQgdW5pbmF0
aXZlLmJiY2xhc3M6MTA0IFtlbmFibGVfdW5pbmF0aXZlXQojICAgICAiJHtTVEFHSU5HX0RJUn0t
dW5pbmF0aXZlLyR7QlVJTERfQVJDSH0tbGludXgke2JpbmRpcl9uYXRpdmV9OiIKIyBwcmUtZXhw
YW5zaW9uIHZhbHVlOgojICAgIiR7U1RBR0lOR19ESVJ9LXVuaW5hdGl2ZS8ke0JVSUxEX0FSQ0h9
LWxpbnV4JHtiaW5kaXJfbmF0aXZlfToke0BleHRyYV9wYXRoX2VsZW1lbnRzKGQpfSR7Q09SRUJB
U0V9L3NjcmlwdHM6JHtTVEFHSU5HX0JJTkRJUl9UT09MQ0hBSU59OiR7U1RBR0lOR19CSU5ESVJf
Q1JPU1N9OiR7U1RBR0lOR19ESVJfTkFUSVZFfSR7c2JpbmRpcl9uYXRpdmV9OiR7U1RBR0lOR19C
SU5ESVJfTkFUSVZFfToke1NUQUdJTkdfRElSX05BVElWRX0ke2Jhc2Vfc2JpbmRpcl9uYXRpdmV9
OiR7U1RBR0lOR19ESVJfTkFUSVZFfSR7YmFzZV9iaW5kaXJfbmF0aXZlfTovbWVkaWEvcmViZWNj
YXMveW9jdG8vcG9reS9iaXRiYWtlL2Jpbjoke0hPU1RUT09MU19ESVJ9IgpleHBvcnQgUEFUSD0i
L21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL3RtcC9zeXNyb290cy11bmluYXRpdmUveDg2XzY0
LWxpbnV4L3Vzci9iaW46L21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvc2NyaXB0czovbWVkaWEv
cmViZWNjYXMveW9jdG8vbHR0bmcvdG1wL3dvcmsvcWVtdXg4Ni1wb2t5LWxpbnV4L2x0dG5nLW1v
ZHVsZXMvMi45LjEtcjAvcmVjaXBlLXN5c3Jvb3QtbmF0aXZlL3Vzci9iaW4vaTU4Ni1wb2t5LWxp
bnV4Oi9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy90bXAvd29yay9xZW11eDg2LXBva3ktbGlu
dXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9yZWNpcGUtc3lzcm9vdC91c3IvYmluL2Nyb3Nzc2Ny
aXB0czovbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvdG1wL3dvcmsvcWVtdXg4Ni1wb2t5LWxp
bnV4L2x0dG5nLW1vZHVsZXMvMi45LjEtcjAvcmVjaXBlLXN5c3Jvb3QtbmF0aXZlL3Vzci9zYmlu
Oi9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy90bXAvd29yay9xZW11eDg2LXBva3ktbGludXgv
bHR0bmctbW9kdWxlcy8yLjkuMS1yMC9yZWNpcGUtc3lzcm9vdC1uYXRpdmUvdXNyL2JpbjovbWVk
aWEvcmViZWNjYXMveW9jdG8vbHR0bmcvdG1wL3dvcmsvcWVtdXg4Ni1wb2t5LWxpbnV4L2x0dG5n
LW1vZHVsZXMvMi45LjEtcjAvcmVjaXBlLXN5c3Jvb3QtbmF0aXZlL3NiaW46L21lZGlhL3JlYmVj
Y2FzL3lvY3RvL2x0dG5nL3RtcC93b3JrL3FlbXV4ODYtcG9reS1saW51eC9sdHRuZy1tb2R1bGVz
LzIuOS4xLXIwL3JlY2lwZS1zeXNyb290LW5hdGl2ZS9iaW46L21lZGlhL3JlYmVjY2FzL3lvY3Rv
L3Bva3kvYml0YmFrZS9iaW46L21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL3RtcC9ob3N0dG9v
bHMiCiMKIyAkUEUgWzIgb3BlcmF0aW9uc10KIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8v
cG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjE5NwojICAgICAiIgojICAgc2V0IC9tZWRpYS9y
ZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6MzI0CiMgICAg
IFtkb2NdICJUaGUgZXBvY2ggb2YgdGhlIHJlY2lwZS4gVGhlIGRlZmF1bHQgdmFsdWUgaXMgJzAn
LiBUaGUgZmllbGQgaXMgdXNlZCB0byBtYWtlIHVwZ3JhZGVzIHBvc3NpYmxlIHdoZW4gdGhlIHZl
cnNpb25pbmcgc2NoZW1lIGNoYW5nZXMgaW4gc29tZSBiYWNrd2FyZHMgaW5jb21wYXRpYmxlIHdh
eS4iCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICIiClBFPSIiCiMKIyAkUEVSU0lTVEVOVF9E
SVIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5j
b25mOjMzNAojICAgICAiJHtUT1BESVJ9L2NhY2hlIgpQRVJTSVNURU5UX0RJUj0iL21lZGlhL3Jl
YmVjY2FzL3lvY3RvL2x0dG5nL2NhY2hlIgojCiMgJFBGIFsyIG9wZXJhdGlvbnNdCiMgICBzZXQg
L21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjoxOTgKIyAg
ICAgIiR7UE59LSR7RVhURU5EUEV9JHtQVn0tJHtQUn0iCiMgICBzZXQgL21lZGlhL3JlYmVjY2Fz
L3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjozMjUKIyAgICAgW2RvY10g
IlNwZWNpZmllcyB0aGUgcmVjaXBlIG9yIHBhY2thZ2UgbmFtZSBhbmQgaW5jbHVkZXMgYWxsIHZl
cnNpb24gYW5kIHJldmlzaW9uIG51bWJlcnMuIFRoaXMgdmFyaWFibGUgaXMgY29tcHJpc2VkIG9m
ICR7UE59LSR7RVhURU5EUEV9JHtQVn0tJHtQUn0uIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMg
ICAiJHtQTn0tJHtFWFRFTkRQRX0ke1BWfS0ke1BSfSIKUEY9Imx0dG5nLW1vZHVsZXMtMi45LjEt
cjAiCiMKIyAkUElYQlVGX1BBQ0tBR0VTCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bv
a3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjozMjYKIyAgICAgW2RvY10gIldoZW4gYSBy
ZWNpcGUgaW5oZXJpdHMgdGhlIHBpeGJ1ZmNhY2hlIGNsYXNzLCB0aGlzIHZhcmlhYmxlIGlkZW50
aWZpZXMgcGFja2FnZXMgdGhhdCBjb250YWluIHRoZSBwaXhidWYgbG9hZGVycyB1c2VkIHdpdGgg
Z2RrLXBpeGJ1Zi4iCiMKIyAkUEtHRCBbMiBvcGVyYXRpb25zXQojICAgc2V0IC9tZWRpYS9yZWJl
Y2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6MzI3CiMgICAgIFtk
b2NdICJQb2ludHMgdG8gdGhlIGRlc3RpbmF0aW9uIGRpcmVjdG9yeSBmb3IgZmlsZXMgdG8gYmUg
cGFja2FnZWQgYmVmb3JlIHRoZXkgYXJlIHNwbGl0IGludG8gaW5kaXZpZHVhbCBwYWNrYWdlcy4i
CiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL3BhY2thZ2Uu
YmJjbGFzczo0NwojICAgICAiJHtXT1JLRElSfS9wYWNrYWdlIgojIHByZS1leHBhbnNpb24gdmFs
dWU6CiMgICAiJHtXT1JLRElSfS9wYWNrYWdlIgpQS0dEPSIvbWVkaWEvcmViZWNjYXMveW9jdG8v
bHR0bmcvdG1wL3dvcmsvcWVtdXg4Ni1wb2t5LWxpbnV4L2x0dG5nLW1vZHVsZXMvMi45LjEtcjAv
cGFja2FnZSIKIwojICRQS0dEQVRBX0RJUiBbMiBvcGVyYXRpb25zXQojICAgc2V0IC9tZWRpYS9y
ZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6MzkzCiMgICAgICIke1RN
UERJUn0vcGtnZGF0YS8ke01BQ0hJTkV9IgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9w
b2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6MzI4CiMgICAgIFtkb2NdICJQb2ludHMg
dG8gYSBzaGFyZWQsIGdsb2JhbC1zdGF0ZSBkaXJlY3RvcnkgdGhhdCBob2xkcyBkYXRhIGdlbmVy
YXRlZCBkdXJpbmcgdGhlIHBhY2thZ2luZyBwcm9jZXNzLiIKIyBwcmUtZXhwYW5zaW9uIHZhbHVl
OgojICAgIiR7VE1QRElSfS9wa2dkYXRhLyR7TUFDSElORX0iClBLR0RBVEFfRElSPSIvbWVkaWEv
cmViZWNjYXMveW9jdG8vbHR0bmcvdG1wL3BrZ2RhdGEvcWVtdXg4NiIKIwojICRQS0dERVNUIFsy
IG9wZXJhdGlvbnNdCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25m
L2RvY3VtZW50YXRpb24uY29uZjozMjkKIyAgICAgW2RvY10gIlBvaW50cyB0byB0aGUgcGFyZW50
IGRpcmVjdG9yeSBmb3IgZmlsZXMgdG8gYmUgcGFja2FnZWQgYWZ0ZXIgdGhleSBoYXZlIGJlZW4g
c3BsaXQgaW50byBpbmRpdmlkdWFsIHBhY2thZ2VzLiIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMv
eW9jdG8vcG9reS9tZXRhL2NsYXNzZXMvcGFja2FnZS5iYmNsYXNzOjQ4CiMgICAgICIke1dPUktE
SVJ9L3BhY2thZ2VzLXNwbGl0IgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiJHtXT1JLRElS
fS9wYWNrYWdlcy1zcGxpdCIKUEtHREVTVD0iL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL3Rt
cC93b3JrL3FlbXV4ODYtcG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL3BhY2thZ2Vz
LXNwbGl0IgojCiMgJFBLR0RFU1RXT1JLIFsyIG9wZXJhdGlvbnNdCiMgICBzZXQgL21lZGlhL3Jl
YmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjozMzAKIyAgICAg
W2RvY10gIlBvaW50cyB0byBhIHRlbXBvcmFyeSB3b3JrIGFyZWEgdXNlZCBieSB0aGUgZG9fcGFj
a2FnZSB0YXNrIHRvIHdyaXRlIG91dHB1dCBmcm9tIHRoZSBkb19wYWNrYWdlZGF0YSB0YXNrLiIK
IyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NsYXNzZXMvcGFja2FnZS5i
YmNsYXNzOjEyODMKIyAgICAgIiR7V09SS0RJUn0vcGtnZGF0YSIKIyBwcmUtZXhwYW5zaW9uIHZh
bHVlOgojICAgIiR7V09SS0RJUn0vcGtnZGF0YSIKUEtHREVTVFdPUks9Ii9tZWRpYS9yZWJlY2Nh
cy95b2N0by9sdHRuZy90bXAvd29yay9xZW11eDg2LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8y
LjkuMS1yMC9wa2dkYXRhIgojCiMgJFBLR0UKIyAgIHNldD8gL21lZGlhL3JlYmVjY2FzL3lvY3Rv
L3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjoyMDgKIyAgICAgIiR7QFsnJywnJHtQRX0nXVtp
bnQoZC5nZXRWYXIoJ1BFJykgb3IgMCkgPiAwXX0iClBLR0U9IiIKIwojICRQS0dNTFRSSVBMRVRT
CiMgICBzZXQgYmFzZS5iYmNsYXNzOjM3MCBbc2V0dHJpcGxldF0KIyAgICAgInFlbXV4ODYtcG9r
eS1saW51eCBpNTg2LXBva3ktbGludXggeDg2LXBva3ktbGludXggbm9hcmNoLXBva3ktbGludXgg
YW55LXBva3ktbGludXggYWxsLXBva3ktbGludXgiClBLR01MVFJJUExFVFM9InFlbXV4ODYtcG9r
eS1saW51eCBpNTg2LXBva3ktbGludXggeDg2LXBva3ktbGludXggbm9hcmNoLXBva3ktbGludXgg
YW55LXBva3ktbGludXggYWxsLXBva3ktbGludXgiCiMKIyAkUEtHUgojICAgc2V0PyAvbWVkaWEv
cmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjIwNwojICAgICAiJHtQ
Un0ke0VYVEVORFBSQVVUT30iClBLR1I9InIwIgojCiMgJFBLR1RSSVBMRVRTCiMgICBzZXQgYmFz
ZS5iYmNsYXNzOjM3MCBbc2V0dHJpcGxldF0KIyAgICAgInFlbXV4ODYtcG9reS1saW51eCBpNTg2
LXBva3ktbGludXggeDg2LXBva3ktbGludXggbm9hcmNoLXBva3ktbGludXggYW55LXBva3ktbGlu
dXggYWxsLXBva3ktbGludXgiClBLR1RSSVBMRVRTPSJxZW11eDg2LXBva3ktbGludXggaTU4Ni1w
b2t5LWxpbnV4IHg4Ni1wb2t5LWxpbnV4IG5vYXJjaC1wb2t5LWxpbnV4IGFueS1wb2t5LWxpbnV4
IGFsbC1wb2t5LWxpbnV4IgojCiMgJFBLR1YKIyAgIHNldD8gL21lZGlhL3JlYmVjY2FzL3lvY3Rv
L3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjoyMDYKIyAgICAgIiR7UFZ9IgpQS0dWPSIyLjku
MSIKIwojICRQS0dXUklURURJUlJQTQojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5
L21ldGEvY2xhc3Nlcy9wYWNrYWdlX3JwbS5iYmNsYXNzOjgKIyAgICAgIiR7V09SS0RJUn0vZGVw
bG95LXJwbXMiClBLR1dSSVRFRElSUlBNPSIvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvdG1w
L3dvcmsvcWVtdXg4Ni1wb2t5LWxpbnV4L2x0dG5nLW1vZHVsZXMvMi45LjEtcjAvZGVwbG95LXJw
bXMiCiMKIyAkUEtHX0NPTkZJR19ESVIgWzIgb3BlcmF0aW9uc10KIyAgIGV4cG9ydGVkIC9tZWRp
YS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6Njg3CiMgICAgIFtl
eHBvcnRdICIxIgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9i
aXRiYWtlLmNvbmY6Njg3CiMgICAgICIke1NUQUdJTkdfRElSX0hPU1R9JHtsaWJkaXJ9L3BrZ2Nv
bmZpZyIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIiR7U1RBR0lOR19ESVJfSE9TVH0ke2xp
YmRpcn0vcGtnY29uZmlnIgpleHBvcnQgUEtHX0NPTkZJR19ESVI9Ii9tZWRpYS9yZWJlY2Nhcy95
b2N0by9sdHRuZy90bXAvd29yay9xZW11eDg2LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjku
MS1yMC9yZWNpcGUtc3lzcm9vdC91c3IvbGliL3BrZ2NvbmZpZyIKIwojICRQS0dfQ09ORklHX0RJ
U0FCTEVfVU5JTlNUQUxMRUQgWzIgb3BlcmF0aW9uc10KIyAgIGV4cG9ydGVkIC9tZWRpYS9yZWJl
Y2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6NjkxCiMgICAgIFtleHBvcnRd
ICIxIgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtl
LmNvbmY6NjkxCiMgICAgICJ5ZXMiCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICJ5ZXMiCmV4
cG9ydCBQS0dfQ09ORklHX0RJU0FCTEVfVU5JTlNUQUxMRUQ9InllcyIKIwojICRQS0dfQ09ORklH
X0xJQkRJUiBbMiBvcGVyYXRpb25zXQojICAgZXhwb3J0ZWQgL21lZGlhL3JlYmVjY2FzL3lvY3Rv
L3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo2ODkKIyAgICAgW2V4cG9ydF0gIjEiCiMgICBz
ZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo2ODkK
IyAgICAgIiR7UEtHX0NPTkZJR19ESVJ9IgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiJHtQ
S0dfQ09ORklHX0RJUn0iCmV4cG9ydCBQS0dfQ09ORklHX0xJQkRJUj0iL21lZGlhL3JlYmVjY2Fz
L3lvY3RvL2x0dG5nL3RtcC93b3JrL3FlbXV4ODYtcG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIu
OS4xLXIwL3JlY2lwZS1zeXNyb290L3Vzci9saWIvcGtnY29uZmlnIgojCiMgJFBLR19DT05GSUdf
UEFUSCBbMiBvcGVyYXRpb25zXQojICAgZXhwb3J0ZWQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bv
a3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo2ODgKIyAgICAgW2V4cG9ydF0gIjEiCiMgICBzZXQg
L21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo2ODgKIyAg
ICAgIiR7UEtHX0NPTkZJR19ESVJ9OiR7U1RBR0lOR19EQVRBRElSfS9wa2djb25maWciCiMgcHJl
LWV4cGFuc2lvbiB2YWx1ZToKIyAgICIke1BLR19DT05GSUdfRElSfToke1NUQUdJTkdfREFUQURJ
Un0vcGtnY29uZmlnIgpleHBvcnQgUEtHX0NPTkZJR19QQVRIPSIvbWVkaWEvcmViZWNjYXMveW9j
dG8vbHR0bmcvdG1wL3dvcmsvcWVtdXg4Ni1wb2t5LWxpbnV4L2x0dG5nLW1vZHVsZXMvMi45LjEt
cjAvcmVjaXBlLXN5c3Jvb3QvdXNyL2xpYi9wa2djb25maWc6L21lZGlhL3JlYmVjY2FzL3lvY3Rv
L2x0dG5nL3RtcC93b3JrL3FlbXV4ODYtcG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIw
L3JlY2lwZS1zeXNyb290L3Vzci9zaGFyZS9wa2djb25maWciCiMKIyAkUEtHX0NPTkZJR19TWVNS
T09UX0RJUiBbMiBvcGVyYXRpb25zXQojICAgZXhwb3J0ZWQgL21lZGlhL3JlYmVjY2FzL3lvY3Rv
L3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo2OTAKIyAgICAgW2V4cG9ydF0gIjEiCiMgICBz
ZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo2OTAK
IyAgICAgIiR7U1RBR0lOR19ESVJfSE9TVH0iCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICIk
e1NUQUdJTkdfRElSX0hPU1R9IgpleHBvcnQgUEtHX0NPTkZJR19TWVNST09UX0RJUj0iL21lZGlh
L3JlYmVjY2FzL3lvY3RvL2x0dG5nL3RtcC93b3JrL3FlbXV4ODYtcG9reS1saW51eC9sdHRuZy1t
b2R1bGVzLzIuOS4xLXIwL3JlY2lwZS1zeXNyb290IgojCiMgJFBLR19DT05GSUdfU1lTVEVNX0lO
Q0xVREVfUEFUSCBbMiBvcGVyYXRpb25zXQojICAgZXhwb3J0ZWQgL21lZGlhL3JlYmVjY2FzL3lv
Y3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo2OTMKIyAgICAgW2V4cG9ydF0gIjEiCiMg
ICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo2
OTMKIyAgICAgIiR7aW5jbHVkZWRpcn0iCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICIke2lu
Y2x1ZGVkaXJ9IgpleHBvcnQgUEtHX0NPTkZJR19TWVNURU1fSU5DTFVERV9QQVRIPSIvdXNyL2lu
Y2x1ZGUiCiMKIyAkUEtHX0NPTkZJR19TWVNURU1fTElCUkFSWV9QQVRIIFsyIG9wZXJhdGlvbnNd
CiMgICBleHBvcnRlZCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFr
ZS5jb25mOjY5MgojICAgICBbZXhwb3J0XSAiMSIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9j
dG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjY5MgojICAgICAiJHtiYXNlX2xpYmRpcn06
JHtsaWJkaXJ9IgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiJHtiYXNlX2xpYmRpcn06JHts
aWJkaXJ9IgpleHBvcnQgUEtHX0NPTkZJR19TWVNURU1fTElCUkFSWV9QQVRIPSIvbGliOi91c3Iv
bGliIgojCiMgJFBOIFsyIG9wZXJhdGlvbnNdCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3Rv
L3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjoxOTQKIyAgICAgIiR7QGJiLnBhcnNlLkJCSGFu
ZGxlci52YXJzX2Zyb21fZmlsZShkLmdldFZhcignRklMRScsIEZhbHNlKSxkKVswXSBvciAnZGVm
YXVsdHBrZ25hbWUnfSIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2Nv
bmYvZG9jdW1lbnRhdGlvbi5jb25mOjMzMQojICAgICBbZG9jXSAiUE4gcmVmZXJzIHRvIGEgcmVj
aXBlIG5hbWUgaW4gdGhlIGNvbnRleHQgb2YgYSBmaWxlIHVzZWQgYnkgdGhlIE9wZW5FbWJlZGRl
ZCBidWlsZCBzeXN0ZW0gYXMgaW5wdXQgdG8gY3JlYXRlIGEgcGFja2FnZS4gSXQgcmVmZXJzIHRv
IGEgcGFja2FnZSBuYW1lIGluIHRoZSBjb250ZXh0IG9mIGEgZmlsZSBjcmVhdGVkIG9yIHByb2R1
Y2VkIGJ5IHRoZSBPcGVuRW1iZWRkZWQgYnVpbGQgc3lzdGVtLiIKIyBwcmUtZXhwYW5zaW9uIHZh
bHVlOgojICAgIiR7QGJiLnBhcnNlLkJCSGFuZGxlci52YXJzX2Zyb21fZmlsZShkLmdldFZhcign
RklMRScsIEZhbHNlKSxkKVswXSBvciAnZGVmYXVsdHBrZ25hbWUnfSIKUE49Imx0dG5nLW1vZHVs
ZXMiCiMKIyAkUE5CTEFDS0xJU1QKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9t
ZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjMzMgojICAgICBbZG9jXSAiTGlzdHMgcmVjaXBl
cyB5b3UgZG8gbm90IHdhbnQgdGhlIE9wZW5FbWJlZGRlZCBidWlsZCBzeXN0ZW0gdG8gYnVpbGQu
IgojCiMgJFBPS1lRRU1VREVQUwojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21l
dGEtcG9reS9jb25mL2Rpc3Ryby9wb2t5LmNvbmY6MzgKIyAgICAgIiR7QGJiLnV0aWxzLmNvbnRh
aW5zKCJJTkNPTVBBVElCTEVfTElDRU5TRSIsICJHUEwtMy4wIiwgIiIsICJwYWNrYWdlZ3JvdXAt
Y29yZS1kZXZpY2UtZGV2ZWwiLGQpfSIKUE9LWVFFTVVERVBTPSJwYWNrYWdlZ3JvdXAtY29yZS1k
ZXZpY2UtZGV2ZWwiCiMKIyAkUE9LWV9CQkxBWUVSU19DT05GX1ZFUlNJT04KIyAgIHNldCAvbWVk
aWEvcmViZWNjYXMveW9jdG8vbHR0bmcvY29uZi9iYmxheWVycy5jb25mOjMKIyAgICAgIjIiClBP
S1lfQkJMQVlFUlNfQ09ORl9WRVJTSU9OPSIyIgojCiMgJFBPS1lfREVGQVVMVF9ESVNUUk9fRkVB
VFVSRVMKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXBva3kvY29uZi9k
aXN0cm8vcG9reS5jb25mOjE4CiMgICAgICJsYXJnZWZpbGUgb3BlbmdsIHB0ZXN0IG11bHRpYXJj
aCB3YXlsYW5kIgpQT0tZX0RFRkFVTFRfRElTVFJPX0ZFQVRVUkVTPSJsYXJnZWZpbGUgb3Blbmds
IHB0ZXN0IG11bHRpYXJjaCB3YXlsYW5kIgojCiMgJFBPS1lfREVGQVVMVF9FWFRSQV9SREVQRU5E
UwojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEtcG9reS9jb25mL2Rpc3Ry
by9wb2t5LmNvbmY6MTkKIyAgICAgInBhY2thZ2Vncm91cC1jb3JlLWJvb3QiClBPS1lfREVGQVVM
VF9FWFRSQV9SREVQRU5EUz0icGFja2FnZWdyb3VwLWNvcmUtYm9vdCIKIwojICRQT0tZX0RFRkFV
TFRfRVhUUkFfUlJFQ09NTUVORFMKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9t
ZXRhLXBva3kvY29uZi9kaXN0cm8vcG9reS5jb25mOjIwCiMgICAgICJrZXJuZWwtbW9kdWxlLWFm
LXBhY2tldCIKUE9LWV9ERUZBVUxUX0VYVFJBX1JSRUNPTU1FTkRTPSJrZXJuZWwtbW9kdWxlLWFm
LXBhY2tldCIKIwojICRQT1BVTEFURVNZU1JPT1RERVBTIFszIG9wZXJhdGlvbnNdCiMgICBzZXQg
L21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL3N0YWdpbmcuYmJjbGFzczox
OTYKIyAgICAgIiIKIyAgIG92ZXJyaWRlW2NsYXNzLXRhcmdldF06c2V0IC9tZWRpYS9yZWJlY2Nh
cy95b2N0by9wb2t5L21ldGEvY2xhc3Nlcy9zdGFnaW5nLmJiY2xhc3M6MTk3CiMgICAgICJ2aXJ0
dWFsLyR7TUxQUkVGSVh9JHtUQVJHRVRfUFJFRklYfWJpbnV0aWxzOmRvX3BvcHVsYXRlX3N5c3Jv
b3QiCiMgICBvdmVycmlkZVtjbGFzcy1uYXRpdmVzZGtdOnNldCAvbWVkaWEvcmViZWNjYXMveW9j
dG8vcG9reS9tZXRhL2NsYXNzZXMvc3RhZ2luZy5iYmNsYXNzOjE5OAojICAgICAidmlydHVhbC8k
e1RBUkdFVF9QUkVGSVh9YmludXRpbHMtY3Jvc3NzZGs6ZG9fcG9wdWxhdGVfc3lzcm9vdCIKIyBw
cmUtZXhwYW5zaW9uIHZhbHVlOgojICAgInZpcnR1YWwvJHtNTFBSRUZJWH0ke1RBUkdFVF9QUkVG
SVh9YmludXRpbHM6ZG9fcG9wdWxhdGVfc3lzcm9vdCIKUE9QVUxBVEVTWVNST09UREVQUz0idmly
dHVhbC9pNTg2LXBva3ktbGludXgtYmludXRpbHM6ZG9fcG9wdWxhdGVfc3lzcm9vdCIKIwojICRQ
T1BVTEFURVNZU1JPT1RERVBTX2NsYXNzLW5hdGl2ZXNkawojICAgc2V0IC9tZWRpYS9yZWJlY2Nh
cy95b2N0by9wb2t5L21ldGEvY2xhc3Nlcy9zdGFnaW5nLmJiY2xhc3M6MTk4CiMgICAgICJ2aXJ0
dWFsLyR7VEFSR0VUX1BSRUZJWH1iaW51dGlscy1jcm9zc3Nkazpkb19wb3B1bGF0ZV9zeXNyb290
IgpQT1BVTEFURVNZU1JPT1RERVBTX2NsYXNzLW5hdGl2ZXNkaz0idmlydHVhbC9pNTg2LXBva3kt
bGludXgtYmludXRpbHMtY3Jvc3NzZGs6ZG9fcG9wdWxhdGVfc3lzcm9vdCIKIwojICRQT1BVTEFU
RVNZU1JPT1RERVBTX2NsYXNzLXRhcmdldAojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9w
b2t5L21ldGEvY2xhc3Nlcy9zdGFnaW5nLmJiY2xhc3M6MTk3CiMgICAgICJ2aXJ0dWFsLyR7TUxQ
UkVGSVh9JHtUQVJHRVRfUFJFRklYfWJpbnV0aWxzOmRvX3BvcHVsYXRlX3N5c3Jvb3QiClBPUFVM
QVRFU1lTUk9PVERFUFNfY2xhc3MtdGFyZ2V0PSJ2aXJ0dWFsL2k1ODYtcG9reS1saW51eC1iaW51
dGlsczpkb19wb3B1bGF0ZV9zeXNyb290IgojCiMgJFBSIFsyIG9wZXJhdGlvbnNdCiMgICBzZXQg
L21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjoxOTYKIyAg
ICAgIiR7QGJiLnBhcnNlLkJCSGFuZGxlci52YXJzX2Zyb21fZmlsZShkLmdldFZhcignRklMRScs
IEZhbHNlKSxkKVsyXSBvciAncjAnfSIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9r
eS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjMzMwojICAgICBbZG9jXSAiVGhlIHJldmlz
aW9uIG9mIHRoZSByZWNpcGUuIFRoZSBkZWZhdWx0IHZhbHVlIGZvciB0aGlzIHZhcmlhYmxlIGlz
ICdyMCcuIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiJHtAYmIucGFyc2UuQkJIYW5kbGVy
LnZhcnNfZnJvbV9maWxlKGQuZ2V0VmFyKCdGSUxFJywgRmFsc2UpLGQpWzJdIG9yICdyMCd9IgpQ
Uj0icjAiCiMKIyAkUFJBVVRPCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0
YS9jb25mL2JpdGJha2UuY29uZjoyMDIKIyAgICAgIiIKUFJBVVRPPSIiCiMKIyAkUFJBVVRPSU5Y
CiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29u
ZjoyMDQKIyAgICAgIiR7UEZ9IgpQUkFVVE9JTlg9Imx0dG5nLW1vZHVsZXMtMi45LjEtcjAiCiMK
IyAkUFJFRkVSUkVEX1BST1ZJREVSIFs3MSBvcGVyYXRpb25zXQojICAgc2V0IC9tZWRpYS9yZWJl
Y2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6MzM0CiMgICAgIFtk
b2NdICJJZiBtdWx0aXBsZSByZWNpcGVzIHByb3ZpZGUgYW4gaXRlbSwgdGhpcyB2YXJpYWJsZSBk
ZXRlcm1pbmVzIHdoaWNoIHJlY2lwZSBzaG91bGQgYmUgZ2l2ZW4gcHJlZmVyZW5jZS4iCiMgICBv
dmVycmlkZVt2aXJ0dWFsL2Zha2Vyb290LW5hdGl2ZV06c2V0PyAvbWVkaWEvcmViZWNjYXMveW9j
dG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjY3MgojICAgICAicHNldWRvLW5hdGl2ZSIK
IyAgIG92ZXJyaWRlW3ZpcnR1YWwva2VybmVsXTpzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9s
dHRuZy9jb25mL2xvY2FsLmNvbmY6MjM5CiMgICAgICJsaW51eC1pbnRlbC1ydCIKIyAgIG92ZXJy
aWRlW3ZpcnR1YWwva2VybmVsXTpzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEv
Y29uZi9tYWNoaW5lL2luY2x1ZGUvcWVtdS5pbmM6MjIKIyAgICAgImxpbnV4LXlvY3RvIgojICAg
b3ZlcnJpZGVbdmlydHVhbC94c2VydmVyXTpzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5
L21ldGEvY29uZi9tYWNoaW5lL3FlbXV4ODYuY29uZjo1CiMgICAgICJ4c2VydmVyLXhvcmciCiMg
ICBvdmVycmlkZVt2aXJ0dWFsL3hzZXJ2ZXJdOnNldD8gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bv
a3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS9xZW11LmluYzoxCiMgICAgICJ4c2VydmVyLXhv
cmciCiMgICBvdmVycmlkZVt2aXJ0dWFsL3hzZXJ2ZXJdOnNldD8gL21lZGlhL3JlYmVjY2FzL3lv
Y3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL2RlZmF1bHQtcHJvdmlkZXJzLmluYzo2
CiMgICAgICJ4c2VydmVyLXhvcmciCiMgICBvdmVycmlkZVt2aXJ0dWFsL2xpYmdsXTpzZXQ/IC9t
ZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9tYWNoaW5lL3FlbXV4ODYuY29uZjo2
CiMgICAgICJtZXNhIgojICAgb3ZlcnJpZGVbdmlydHVhbC9saWJnbF06c2V0PyAvbWVkaWEvcmVi
ZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3FlbXUuaW5jOjMKIyAg
ICAgIm1lc2EiCiMgICBvdmVycmlkZVt2aXJ0dWFsL2xpYmdsXTpzZXQ/IC9tZWRpYS9yZWJlY2Nh
cy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9kZWZhdWx0LXByb3ZpZGVycy5p
bmM6OQojICAgICAibWVzYSIKIyAgIG92ZXJyaWRlW3ZpcnR1YWwvbGliZ2xlczFdOnNldD8gL21l
ZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvcWVtdXg4Ni5jb25mOjcK
IyAgICAgIm1lc2EiCiMgICBvdmVycmlkZVt2aXJ0dWFsL2xpYmdsZXMxXTpzZXQ/IC9tZWRpYS9y
ZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvcWVtdS5pbmM6NAoj
ICAgICAibWVzYSIKIyAgIG92ZXJyaWRlW3ZpcnR1YWwvbGliZ2xlczFdOnNldD8gL21lZGlhL3Jl
YmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL2RlZmF1bHQtcHJvdmlk
ZXJzLmluYzoxMAojICAgICAibWVzYSIKIyAgIG92ZXJyaWRlW3ZpcnR1YWwvbGliZ2xlczJdOnNl
dD8gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvcWVtdXg4Ni5j
b25mOjgKIyAgICAgIm1lc2EiCiMgICBvdmVycmlkZVt2aXJ0dWFsL2xpYmdsZXMyXTpzZXQ/IC9t
ZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvcWVtdS5p
bmM6NQojICAgICAibWVzYSIKIyAgIG92ZXJyaWRlW3ZpcnR1YWwvbGliZ2xlczJdOnNldD8gL21l
ZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL2RlZmF1bHQt
cHJvdmlkZXJzLmluYzoxMQojICAgICAibWVzYSIKIyAgIG92ZXJyaWRlW3ZpcnR1YWwvZWdsXTpz
ZXQ/IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUv
cWVtdS5pbmM6MgojICAgICAibWVzYSIKIyAgIG92ZXJyaWRlW3ZpcnR1YWwvZWdsXTpzZXQ/IC9t
ZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9kZWZhdWx0
LXByb3ZpZGVycy5pbmM6OAojICAgICAibWVzYSIKIyAgIG92ZXJyaWRlW3ZpcnR1YWwvZGJdOnNl
dD8gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL2Rl
ZmF1bHQtcHJvdmlkZXJzLmluYzo0CiMgICAgICJkYiIKIyAgIG92ZXJyaWRlW3ZpcnR1YWwvZGIt
bmF0aXZlXTpzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8v
aW5jbHVkZS9kZWZhdWx0LXByb3ZpZGVycy5pbmM6NQojICAgICAiZGItbmF0aXZlIgojICAgb3Zl
cnJpZGVbdmlydHVhbC94c2VydmVyLXhmODZdOnNldD8gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bv
a3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL2RlZmF1bHQtcHJvdmlkZXJzLmluYzo3CiMgICAg
ICJ4c2VydmVyLXhvcmciCiMgICBvdmVycmlkZVt2aXJ0dWFsL21lc2FdOnNldD8gL21lZGlhL3Jl
YmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL2RlZmF1bHQtcHJvdmlk
ZXJzLmluYzoxMgojICAgICAibWVzYSIKIyAgIG92ZXJyaWRlW3ZpcnR1YWwvdXBkYXRlLWFsdGVy
bmF0aXZlc106c2V0PyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJv
L2luY2x1ZGUvZGVmYXVsdC1wcm92aWRlcnMuaW5jOjEzCiMgICAgICJvcGtnLXV0aWxzIgojICAg
b3ZlcnJpZGVbdmlydHVhbC91cGRhdGUtYWx0ZXJuYXRpdmVzLW5hdGl2ZV06c2V0PyAvbWVkaWEv
cmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvZGVmYXVsdC1wcm92
aWRlcnMuaW5jOjE0CiMgICAgICJvcGtnLXV0aWxzLW5hdGl2ZSIKIyAgIG92ZXJyaWRlW3ZpcnR1
YWwvbGlieDExXTpzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0
cm8vaW5jbHVkZS9kZWZhdWx0LXByb3ZpZGVycy5pbmM6MTUKIyAgICAgImxpYngxMSIKIyAgIG92
ZXJyaWRlW3ZpcnR1YWwvYmFzZS11dGlsc106c2V0PyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9r
eS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvZGVmYXVsdC1wcm92aWRlcnMuaW5jOjE2CiMgICAg
ICJidXN5Ym94IgojICAgb3ZlcnJpZGVbeGY4Ni12aWRlby1pbnRlbF06c2V0PyAvbWVkaWEvcmVi
ZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvZGVmYXVsdC1wcm92aWRl
cnMuaW5jOjE3CiMgICAgICJ4Zjg2LXZpZGVvLWludGVsIgojICAgb3ZlcnJpZGVbdmlydHVhbC9t
YWtlXTpzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5j
bHVkZS9kZWZhdWx0LXByb3ZpZGVycy5pbmM6MTgKIyAgICAgIm1ha2UiCiMgICBvdmVycmlkZVt2
aXJ0dWFsL21ha2UtbmF0aXZlXTpzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEv
Y29uZi9kaXN0cm8vaW5jbHVkZS9kZWZhdWx0LXByb3ZpZGVycy5pbmM6MTkKIyAgICAgIm1ha2Ut
bmF0aXZlIgojICAgb3ZlcnJpZGVbZGJ1cy1nbGliXTpzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95b2N0
by9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9kZWZhdWx0LXByb3ZpZGVycy5pbmM6MzUK
IyAgICAgImRidXMtZ2xpYiIKIyAgIG92ZXJyaWRlW2RidXMtZ2xpYi1uYXRpdmVdOnNldD8gL21l
ZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL2RlZmF1bHQt
cHJvdmlkZXJzLmluYzozNgojICAgICAiZGJ1cy1nbGliLW5hdGl2ZSIKIyAgIG92ZXJyaWRlW2dk
ay1waXhidWZdOnNldD8gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ry
by9pbmNsdWRlL2RlZmF1bHQtcHJvdmlkZXJzLmluYzozNwojICAgICAiZ2RrLXBpeGJ1ZiIKIyAg
IG92ZXJyaWRlW2xpYmdjY106c2V0PyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2Nv
bmYvZGlzdHJvL2luY2x1ZGUvZGVmYXVsdC1wcm92aWRlcnMuaW5jOjM4CiMgICAgICJsaWJnY2Mi
CiMgICBvdmVycmlkZVtuYXRpdmVzZGstbGliZ2NjXTpzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95b2N0
by9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9kZWZhdWx0LXByb3ZpZGVycy5pbmM6MzkK
IyAgICAgIm5hdGl2ZXNkay1saWJnY2MiCiMgICBvdmVycmlkZVtsaW51eC1saWJjLWhlYWRlcnNd
OnNldD8gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRl
L2RlZmF1bHQtcHJvdmlkZXJzLmluYzo0MAojICAgICAibGludXgtbGliYy1oZWFkZXJzIgojICAg
b3ZlcnJpZGVbbmF0aXZlc2RrLWxpbnV4LWxpYmMtaGVhZGVyc106c2V0PyAvbWVkaWEvcmViZWNj
YXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvZGVmYXVsdC1wcm92aWRlcnMu
aW5jOjQxCiMgICAgICJuYXRpdmVzZGstbGludXgtbGliYy1oZWFkZXJzIgojICAgb3ZlcnJpZGVb
bWF0Y2hib3gtcGFuZWxdOnNldD8gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25m
L2Rpc3Ryby9pbmNsdWRlL2RlZmF1bHQtcHJvdmlkZXJzLmluYzo0MgojICAgICAibWF0Y2hib3gt
cGFuZWwtMiIKIyAgIG92ZXJyaWRlW29wa2ddOnNldD8gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bv
a3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL2RlZmF1bHQtcHJvdmlkZXJzLmluYzo0MwojICAg
ICAib3BrZyIKIyAgIG92ZXJyaWRlW29wa2ctbmF0aXZlXTpzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95
b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9kZWZhdWx0LXByb3ZpZGVycy5pbmM6
NDQKIyAgICAgIm9wa2ctbmF0aXZlIgojICAgb3ZlcnJpZGVbbmF0aXZlc2RrLW9wa2ddOnNldD8g
L21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL2RlZmF1
bHQtcHJvdmlkZXJzLmluYzo0NQojICAgICAibmF0aXZlc2RrLW9wa2ciCiMgICBvdmVycmlkZVtj
b25zb2xlLXRvb2xzXTpzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9k
aXN0cm8vaW5jbHVkZS9kZWZhdWx0LXByb3ZpZGVycy5pbmM6NDYKIyAgICAgImtiZCIKIyAgIG92
ZXJyaWRlW2d6aXAtbmF0aXZlXTpzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEv
Y29uZi9kaXN0cm8vaW5jbHVkZS9kZWZhdWx0LXByb3ZpZGVycy5pbmM6NDcKIyAgICAgInBpZ3ot
bmF0aXZlIgojICAgb3ZlcnJpZGVbdWRldl06c2V0PyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9r
eS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvZGVmYXVsdC1wcm92aWRlcnMuaW5jOjQ4CiMgICAg
ICIke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywnc3lzdGVtZCcsJ3N5c3Rl
bWQnLCdldWRldicsZCl9IgojICAgb3ZlcnJpZGVbbHRwXTpzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95
b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9kZWZhdWx0LXByb3ZpZGVycy5pbmM6
NTIKIyAgICAgImx0cCIKIyAgIG92ZXJyaWRlW2dldG9wdF06c2V0PyAvbWVkaWEvcmViZWNjYXMv
eW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvZGVmYXVsdC1wcm92aWRlcnMuaW5j
OjUzCiMgICAgICJ1dGlsLWxpbnV4LWdldG9wdCIKIyAgIG92ZXJyaWRlW29wZW5zc2xdOnNldD8g
L21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL2RlZmF1
bHQtcHJvdmlkZXJzLmluYzo1NAojICAgICAib3BlbnNzbCIKIyAgIG92ZXJyaWRlW29wZW5zc2wt
bmF0aXZlXTpzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8v
aW5jbHVkZS9kZWZhdWx0LXByb3ZpZGVycy5pbmM6NTUKIyAgICAgIm9wZW5zc2wtbmF0aXZlIgoj
ICAgb3ZlcnJpZGVbbmF0aXZlc2RrLW9wZW5zc2xdOnNldD8gL21lZGlhL3JlYmVjY2FzL3lvY3Rv
L3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL2RlZmF1bHQtcHJvdmlkZXJzLmluYzo1Ngoj
ICAgICAibmF0aXZlc2RrLW9wZW5zc2wiCiMgICBvdmVycmlkZVtnZGJdOnNldCAvbWVkaWEvcmVi
ZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvdGNtb2RlLWRlZmF1bHQu
aW5jOjEwCiMgICAgICJnZGIiCiMgICBvdmVycmlkZVt2aXJ0dWFsL2dldHRleHRdOnNldCAvbWVk
aWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvdGNtb2RlLWRl
ZmF1bHQuaW5jOjIzCiMgICAgIFtfZGVmYXVsdHZhbF0gImdldHRleHQiCiMgICBvdmVycmlkZVt2
aXJ0dWFsL2xpYmljb252XTpzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29u
Zi9kaXN0cm8vaW5jbHVkZS90Y2xpYmMtZ2xpYmMuaW5jOjExCiMgICAgICJnbGliYyIKIyAgIG92
ZXJyaWRlW3ZpcnR1YWwvbmF0aXZlc2RrLWxpYmljb252XTpzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95
b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS90Y2xpYmMtZ2xpYmMuaW5jOjEyCiMg
ICAgICJuYXRpdmVzZGstZ2xpYmMiCiMgICBvdmVycmlkZVt2aXJ0dWFsL25hdGl2ZXNkay1saWJp
bnRsXTpzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5j
bHVkZS90Y2xpYmMtZ2xpYmMuaW5jOjEzCiMgICAgICJuYXRpdmVzZGstZ2xpYmMiCiMgICBvdmVy
cmlkZVt2aXJ0dWFsL2xpYmludGxdOnNldD8gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0
YS9jb25mL2Rpc3Ryby9pbmNsdWRlL3RjbGliYy1nbGliYy5pbmM6MTQKIyAgICAgImdsaWJjIgoj
ICAgb3ZlcnJpZGVbdmlydHVhbC9saWJjXTpzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5
L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS90Y2xpYmMtZ2xpYmMuaW5jOjE1CiMgICAgICJnbGli
YyIKIyAgIG92ZXJyaWRlW3ZpcnR1YWwvbmF0aXZlc2RrLWxpYmNdOnNldD8gL21lZGlhL3JlYmVj
Y2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL3RjbGliYy1nbGliYy5pbmM6
MTYKIyAgICAgIm5hdGl2ZXNkay1nbGliYyIKIyAgIG92ZXJyaWRlW3ZpcnR1YWwvbGliYy1sb2Nh
bGVdOnNldD8gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNs
dWRlL3RjbGliYy1nbGliYy5pbmM6MTcKIyAgICAgImdsaWJjLWxvY2FsZSIKIyAgIG92ZXJyaWRl
W3ZpcnR1YWwveDg2XzY0LXBva3lzZGstbGludXgtYmludXRpbHMtY3Jvc3NzZGtdOnJlbmFtZSBm
cm9tIFBSRUZFUlJFRF9QUk9WSURFUl92aXJ0dWFsLyR7U0RLX1BSRUZJWH1iaW51dGlscy1jcm9z
c3NkayBkYXRhLnB5OjExNiBbZXhwYW5kS2V5c10KIyAgICAgImJpbnV0aWxzLWNyb3Nzc2RrLSR7
U0RLX1NZU30iCiMgICBvdmVycmlkZVt2aXJ0dWFsL3g4Nl82NC1wb2t5c2RrLWxpbnV4LWNvbXBp
bGVybGlic106cmVuYW1lIGZyb20gUFJFRkVSUkVEX1BST1ZJREVSX3ZpcnR1YWwvJHtTREtfUFJF
RklYfWNvbXBpbGVybGlicyBkYXRhLnB5OjExNiBbZXhwYW5kS2V5c10KIyAgICAgIm5hdGl2ZXNk
ay1nY2MtcnVudGltZSIKIyAgIG92ZXJyaWRlW3ZpcnR1YWwveDg2XzY0LXBva3lzZGstbGludXgt
ZysrXTpyZW5hbWUgZnJvbSBQUkVGRVJSRURfUFJPVklERVJfdmlydHVhbC8ke1NES19QUkVGSVh9
ZysrIGRhdGEucHk6MTE2IFtleHBhbmRLZXlzXQojICAgICAiZ2NjLWNyb3Nzc2RrLSR7U0RLX1NZ
U30iCiMgICBvdmVycmlkZVt2aXJ0dWFsL3g4Nl82NC1wb2t5c2RrLWxpbnV4LWdjY106cmVuYW1l
IGZyb20gUFJFRkVSUkVEX1BST1ZJREVSX3ZpcnR1YWwvJHtTREtfUFJFRklYfWdjYyBkYXRhLnB5
OjExNiBbZXhwYW5kS2V5c10KIyAgICAgImdjYy1jcm9zc3Nkay0ke1NES19TWVN9IgojICAgb3Zl
cnJpZGVbdmlydHVhbC94ODZfNjQtcG9reXNkay1saW51eC1nY2MtaW5pdGlhbF06cmVuYW1lIGZy
b20gUFJFRkVSUkVEX1BST1ZJREVSX3ZpcnR1YWwvJHtTREtfUFJFRklYfWdjYy1pbml0aWFsIGRh
dGEucHk6MTE2IFtleHBhbmRLZXlzXQojICAgICAiZ2NjLWNyb3Nzc2RrLWluaXRpYWwtJHtTREtf
U1lTfSIKIyAgIG92ZXJyaWRlW3ZpcnR1YWwvaTU4Ni1wb2t5LWxpbnV4LWJpbnV0aWxzXTpyZW5h
bWUgZnJvbSBQUkVGRVJSRURfUFJPVklERVJfdmlydHVhbC8ke1RBUkdFVF9QUkVGSVh9YmludXRp
bHMgZGF0YS5weToxMTYgW2V4cGFuZEtleXNdCiMgICAgICJiaW51dGlscy1jcm9zcy0ke1RBUkdF
VF9BUkNIfSIKIyAgIG92ZXJyaWRlW3ZpcnR1YWwvaTU4Ni1wb2t5LWxpbnV4LWNvbXBpbGVybGli
c106cmVuYW1lIGZyb20gUFJFRkVSUkVEX1BST1ZJREVSX3ZpcnR1YWwvJHtUQVJHRVRfUFJFRklY
fWNvbXBpbGVybGlicyBkYXRhLnB5OjExNiBbZXhwYW5kS2V5c10KIyAgICAgImdjYy1ydW50aW1l
IgojICAgb3ZlcnJpZGVbdmlydHVhbC9pNTg2LXBva3ktbGludXgtZysrXTpyZW5hbWUgZnJvbSBQ
UkVGRVJSRURfUFJPVklERVJfdmlydHVhbC8ke1RBUkdFVF9QUkVGSVh9ZysrIGRhdGEucHk6MTE2
IFtleHBhbmRLZXlzXQojICAgICAiZ2NjLWNyb3NzLSR7VEFSR0VUX0FSQ0h9IgojICAgb3ZlcnJp
ZGVbdmlydHVhbC9pNTg2LXBva3ktbGludXgtZ2NjXTpyZW5hbWUgZnJvbSBQUkVGRVJSRURfUFJP
VklERVJfdmlydHVhbC8ke1RBUkdFVF9QUkVGSVh9Z2NjIGRhdGEucHk6MTE2IFtleHBhbmRLZXlz
XQojICAgICAiZ2NjLWNyb3NzLSR7VEFSR0VUX0FSQ0h9IgojICAgb3ZlcnJpZGVbdmlydHVhbC9p
NTg2LXBva3ktbGludXgtZ2NjLWluaXRpYWxdOnJlbmFtZSBmcm9tIFBSRUZFUlJFRF9QUk9WSURF
Ul92aXJ0dWFsLyR7VEFSR0VUX1BSRUZJWH1nY2MtaW5pdGlhbCBkYXRhLnB5OjExNiBbZXhwYW5k
S2V5c10KIyAgICAgImdjYy1jcm9zcy1pbml0aWFsLSR7VEFSR0VUX0FSQ0h9IgojICAgb3ZlcnJp
ZGVbdmlydHVhbC9pNTg2LXBva3ktbGludXgtbGliYy1mb3ItZ2NjXTpyZW5hbWUgZnJvbSBQUkVG
RVJSRURfUFJPVklERVJfdmlydHVhbC8ke1RBUkdFVF9QUkVGSVh9bGliYy1mb3ItZ2NjIGRhdGEu
cHk6MTE2IFtleHBhbmRLZXlzXQojICAgICAiJHtUQ0xJQkN9IgojICAgb3ZlcnJpZGVbdmlydHVh
bC9pNTg2LXBva3ktbGludXgtbGliYy1pbml0aWFsXTpyZW5hbWUgZnJvbSBQUkVGRVJSRURfUFJP
VklERVJfdmlydHVhbC8ke1RBUkdFVF9QUkVGSVh9bGliYy1pbml0aWFsIGRhdGEucHk6MTE2IFtl
eHBhbmRLZXlzXQojICAgICAiJHtUQ0xJQkN9LWluaXRpYWwiCiMgICBvdmVycmlkZVt2aXJ0dWFs
L25hdGl2ZXNkay14ODZfNjQtcG9reXNkay1saW51eC1saWJjLWZvci1nY2NdOnJlbmFtZSBmcm9t
IFBSRUZFUlJFRF9QUk9WSURFUl92aXJ0dWFsL25hdGl2ZXNkay0ke1NES19QUkVGSVh9bGliYy1m
b3ItZ2NjIGRhdGEucHk6MTE2IFtleHBhbmRLZXlzXQojICAgICAibmF0aXZlc2RrLWdsaWJjIgoj
ICAgb3ZlcnJpZGVbdmlydHVhbC9uYXRpdmVzZGsteDg2XzY0LXBva3lzZGstbGludXgtbGliYy1p
bml0aWFsXTpyZW5hbWUgZnJvbSBQUkVGRVJSRURfUFJPVklERVJfdmlydHVhbC9uYXRpdmVzZGst
JHtTREtfUFJFRklYfWxpYmMtaW5pdGlhbCBkYXRhLnB5OjExNiBbZXhwYW5kS2V5c10KIyAgICAg
Im5hdGl2ZXNkay1nbGliYy1pbml0aWFsIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiTm9u
ZSIKIwojICRQUkVGRVJSRURfUFJPVklERVJfY29uc29sZS10b29scwojICAgc2V0PyAvbWVkaWEv
cmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvZGVmYXVsdC1wcm92
aWRlcnMuaW5jOjQ2CiMgICAgICJrYmQiClBSRUZFUlJFRF9QUk9WSURFUl9jb25zb2xlLXRvb2xz
PSJrYmQiCiMKIyAkUFJFRkVSUkVEX1BST1ZJREVSX2RidXMtZ2xpYgojICAgc2V0PyAvbWVkaWEv
cmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvZGVmYXVsdC1wcm92
aWRlcnMuaW5jOjM1CiMgICAgICJkYnVzLWdsaWIiClBSRUZFUlJFRF9QUk9WSURFUl9kYnVzLWds
aWI9ImRidXMtZ2xpYiIKIwojICRQUkVGRVJSRURfUFJPVklERVJfZGJ1cy1nbGliLW5hdGl2ZQoj
ICAgc2V0PyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1
ZGUvZGVmYXVsdC1wcm92aWRlcnMuaW5jOjM2CiMgICAgICJkYnVzLWdsaWItbmF0aXZlIgpQUkVG
RVJSRURfUFJPVklERVJfZGJ1cy1nbGliLW5hdGl2ZT0iZGJ1cy1nbGliLW5hdGl2ZSIKIwojICRQ
UkVGRVJSRURfUFJPVklERVJfZ2RiCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kv
bWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL3RjbW9kZS1kZWZhdWx0LmluYzoxMAojICAgICAiZ2Ri
IgpQUkVGRVJSRURfUFJPVklERVJfZ2RiPSJnZGIiCiMKIyAkUFJFRkVSUkVEX1BST1ZJREVSX2dk
ay1waXhidWYKIyAgIHNldD8gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rp
c3Ryby9pbmNsdWRlL2RlZmF1bHQtcHJvdmlkZXJzLmluYzozNwojICAgICAiZ2RrLXBpeGJ1ZiIK
UFJFRkVSUkVEX1BST1ZJREVSX2dkay1waXhidWY9Imdkay1waXhidWYiCiMKIyAkUFJFRkVSUkVE
X1BST1ZJREVSX2dldG9wdAojICAgc2V0PyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRh
L2NvbmYvZGlzdHJvL2luY2x1ZGUvZGVmYXVsdC1wcm92aWRlcnMuaW5jOjUzCiMgICAgICJ1dGls
LWxpbnV4LWdldG9wdCIKUFJFRkVSUkVEX1BST1ZJREVSX2dldG9wdD0idXRpbC1saW51eC1nZXRv
cHQiCiMKIyAkUFJFRkVSUkVEX1BST1ZJREVSX2d6aXAtbmF0aXZlCiMgICBzZXQ/IC9tZWRpYS9y
ZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9kZWZhdWx0LXByb3Zp
ZGVycy5pbmM6NDcKIyAgICAgInBpZ3otbmF0aXZlIgpQUkVGRVJSRURfUFJPVklERVJfZ3ppcC1u
YXRpdmU9InBpZ3otbmF0aXZlIgojCiMgJFBSRUZFUlJFRF9QUk9WSURFUl9saWJnY2MKIyAgIHNl
dD8gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL2Rl
ZmF1bHQtcHJvdmlkZXJzLmluYzozOAojICAgICAibGliZ2NjIgpQUkVGRVJSRURfUFJPVklERVJf
bGliZ2NjPSJsaWJnY2MiCiMKIyAkUFJFRkVSUkVEX1BST1ZJREVSX2xpbnV4LWxpYmMtaGVhZGVy
cwojICAgc2V0PyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2lu
Y2x1ZGUvZGVmYXVsdC1wcm92aWRlcnMuaW5jOjQwCiMgICAgICJsaW51eC1saWJjLWhlYWRlcnMi
ClBSRUZFUlJFRF9QUk9WSURFUl9saW51eC1saWJjLWhlYWRlcnM9ImxpbnV4LWxpYmMtaGVhZGVy
cyIKIwojICRQUkVGRVJSRURfUFJPVklERVJfbHRwCiMgICBzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95
b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9kZWZhdWx0LXByb3ZpZGVycy5pbmM6
NTIKIyAgICAgImx0cCIKUFJFRkVSUkVEX1BST1ZJREVSX2x0cD0ibHRwIgojCiMgJFBSRUZFUlJF
RF9QUk9WSURFUl9tYXRjaGJveC1wYW5lbAojICAgc2V0PyAvbWVkaWEvcmViZWNjYXMveW9jdG8v
cG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvZGVmYXVsdC1wcm92aWRlcnMuaW5jOjQyCiMg
ICAgICJtYXRjaGJveC1wYW5lbC0yIgpQUkVGRVJSRURfUFJPVklERVJfbWF0Y2hib3gtcGFuZWw9
Im1hdGNoYm94LXBhbmVsLTIiCiMKIyAkUFJFRkVSUkVEX1BST1ZJREVSX25hdGl2ZXNkay1saWJn
Y2MKIyAgIHNldD8gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9p
bmNsdWRlL2RlZmF1bHQtcHJvdmlkZXJzLmluYzozOQojICAgICAibmF0aXZlc2RrLWxpYmdjYyIK
UFJFRkVSUkVEX1BST1ZJREVSX25hdGl2ZXNkay1saWJnY2M9Im5hdGl2ZXNkay1saWJnY2MiCiMK
IyAkUFJFRkVSUkVEX1BST1ZJREVSX25hdGl2ZXNkay1saW51eC1saWJjLWhlYWRlcnMKIyAgIHNl
dD8gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL2Rl
ZmF1bHQtcHJvdmlkZXJzLmluYzo0MQojICAgICAibmF0aXZlc2RrLWxpbnV4LWxpYmMtaGVhZGVy
cyIKUFJFRkVSUkVEX1BST1ZJREVSX25hdGl2ZXNkay1saW51eC1saWJjLWhlYWRlcnM9Im5hdGl2
ZXNkay1saW51eC1saWJjLWhlYWRlcnMiCiMKIyAkUFJFRkVSUkVEX1BST1ZJREVSX25hdGl2ZXNk
ay1vcGVuc3NsCiMgICBzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9k
aXN0cm8vaW5jbHVkZS9kZWZhdWx0LXByb3ZpZGVycy5pbmM6NTYKIyAgICAgIm5hdGl2ZXNkay1v
cGVuc3NsIgpQUkVGRVJSRURfUFJPVklERVJfbmF0aXZlc2RrLW9wZW5zc2w9Im5hdGl2ZXNkay1v
cGVuc3NsIgojCiMgJFBSRUZFUlJFRF9QUk9WSURFUl9uYXRpdmVzZGstb3BrZwojICAgc2V0PyAv
bWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvZGVmYXVs
dC1wcm92aWRlcnMuaW5jOjQ1CiMgICAgICJuYXRpdmVzZGstb3BrZyIKUFJFRkVSUkVEX1BST1ZJ
REVSX25hdGl2ZXNkay1vcGtnPSJuYXRpdmVzZGstb3BrZyIKIwojICRQUkVGRVJSRURfUFJPVklE
RVJfb3BlbnNzbAojICAgc2V0PyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYv
ZGlzdHJvL2luY2x1ZGUvZGVmYXVsdC1wcm92aWRlcnMuaW5jOjU0CiMgICAgICJvcGVuc3NsIgpQ
UkVGRVJSRURfUFJPVklERVJfb3BlbnNzbD0ib3BlbnNzbCIKIwojICRQUkVGRVJSRURfUFJPVklE
RVJfb3BlbnNzbC1uYXRpdmUKIyAgIHNldD8gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0
YS9jb25mL2Rpc3Ryby9pbmNsdWRlL2RlZmF1bHQtcHJvdmlkZXJzLmluYzo1NQojICAgICAib3Bl
bnNzbC1uYXRpdmUiClBSRUZFUlJFRF9QUk9WSURFUl9vcGVuc3NsLW5hdGl2ZT0ib3BlbnNzbC1u
YXRpdmUiCiMKIyAkUFJFRkVSUkVEX1BST1ZJREVSX29wa2cKIyAgIHNldD8gL21lZGlhL3JlYmVj
Y2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL2RlZmF1bHQtcHJvdmlkZXJz
LmluYzo0MwojICAgICAib3BrZyIKUFJFRkVSUkVEX1BST1ZJREVSX29wa2c9Im9wa2ciCiMKIyAk
UFJFRkVSUkVEX1BST1ZJREVSX29wa2ctbmF0aXZlCiMgICBzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95
b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9kZWZhdWx0LXByb3ZpZGVycy5pbmM6
NDQKIyAgICAgIm9wa2ctbmF0aXZlIgpQUkVGRVJSRURfUFJPVklERVJfb3BrZy1uYXRpdmU9Im9w
a2ctbmF0aXZlIgojCiMgJFBSRUZFUlJFRF9QUk9WSURFUl91ZGV2CiMgICBzZXQ/IC9tZWRpYS9y
ZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9kZWZhdWx0LXByb3Zp
ZGVycy5pbmM6NDgKIyAgICAgIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMn
LCdzeXN0ZW1kJywnc3lzdGVtZCcsJ2V1ZGV2JyxkKX0iClBSRUZFUlJFRF9QUk9WSURFUl91ZGV2
PSJldWRldiIKIwojICRQUkVGRVJSRURfUFJPVklERVJfdmlydHVhbC9iYXNlLXV0aWxzCiMgICBz
ZXQ/IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9k
ZWZhdWx0LXByb3ZpZGVycy5pbmM6MTYKIyAgICAgImJ1c3lib3giClBSRUZFUlJFRF9QUk9WSURF
Ul92aXJ0dWFsL2Jhc2UtdXRpbHM9ImJ1c3lib3giCiMKIyAkUFJFRkVSUkVEX1BST1ZJREVSX3Zp
cnR1YWwvZGIKIyAgIHNldD8gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rp
c3Ryby9pbmNsdWRlL2RlZmF1bHQtcHJvdmlkZXJzLmluYzo0CiMgICAgICJkYiIKUFJFRkVSUkVE
X1BST1ZJREVSX3ZpcnR1YWwvZGI9ImRiIgojCiMgJFBSRUZFUlJFRF9QUk9WSURFUl92aXJ0dWFs
L2RiLW5hdGl2ZQojICAgc2V0PyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYv
ZGlzdHJvL2luY2x1ZGUvZGVmYXVsdC1wcm92aWRlcnMuaW5jOjUKIyAgICAgImRiLW5hdGl2ZSIK
UFJFRkVSUkVEX1BST1ZJREVSX3ZpcnR1YWwvZGItbmF0aXZlPSJkYi1uYXRpdmUiCiMKIyAkUFJF
RkVSUkVEX1BST1ZJREVSX3ZpcnR1YWwvZWdsIFsyIG9wZXJhdGlvbnNdCiMgICBzZXQ/IC9tZWRp
YS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvcWVtdS5pbmM6
MgojICAgICAibWVzYSIKIyAgIHNldD8gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9j
b25mL2Rpc3Ryby9pbmNsdWRlL2RlZmF1bHQtcHJvdmlkZXJzLmluYzo4CiMgICAgICJtZXNhIgoj
IHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAibWVzYSIKUFJFRkVSUkVEX1BST1ZJREVSX3ZpcnR1
YWwvZWdsPSJtZXNhIgojCiMgJFBSRUZFUlJFRF9QUk9WSURFUl92aXJ0dWFsL2Zha2Vyb290LW5h
dGl2ZQojICAgc2V0PyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFr
ZS5jb25mOjY3MgojICAgICAicHNldWRvLW5hdGl2ZSIKUFJFRkVSUkVEX1BST1ZJREVSX3ZpcnR1
YWwvZmFrZXJvb3QtbmF0aXZlPSJwc2V1ZG8tbmF0aXZlIgojCiMgJFBSRUZFUlJFRF9QUk9WSURF
Ul92aXJ0dWFsL2dldHRleHQKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRh
L2NvbmYvZGlzdHJvL2luY2x1ZGUvdGNtb2RlLWRlZmF1bHQuaW5jOjIzCiMgICAgIFtfZGVmYXVs
dHZhbF0gImdldHRleHQiClBSRUZFUlJFRF9QUk9WSURFUl92aXJ0dWFsL2dldHRleHQ9ImdldHRl
eHQiCiMKIyAkUFJFRkVSUkVEX1BST1ZJREVSX3ZpcnR1YWwvaTU4Ni1wb2t5LWxpbnV4LWJpbnV0
aWxzCiMgICByZW5hbWUgZnJvbSBQUkVGRVJSRURfUFJPVklERVJfdmlydHVhbC8ke1RBUkdFVF9Q
UkVGSVh9YmludXRpbHMgZGF0YS5weToxMTYgW2V4cGFuZEtleXNdCiMgICAgICJiaW51dGlscy1j
cm9zcy0ke1RBUkdFVF9BUkNIfSIKUFJFRkVSUkVEX1BST1ZJREVSX3ZpcnR1YWwvaTU4Ni1wb2t5
LWxpbnV4LWJpbnV0aWxzPSJiaW51dGlscy1jcm9zcy1pNTg2IgojCiMgJFBSRUZFUlJFRF9QUk9W
SURFUl92aXJ0dWFsL2k1ODYtcG9reS1saW51eC1jb21waWxlcmxpYnMKIyAgIHJlbmFtZSBmcm9t
IFBSRUZFUlJFRF9QUk9WSURFUl92aXJ0dWFsLyR7VEFSR0VUX1BSRUZJWH1jb21waWxlcmxpYnMg
ZGF0YS5weToxMTYgW2V4cGFuZEtleXNdCiMgICAgICJnY2MtcnVudGltZSIKUFJFRkVSUkVEX1BS
T1ZJREVSX3ZpcnR1YWwvaTU4Ni1wb2t5LWxpbnV4LWNvbXBpbGVybGlicz0iZ2NjLXJ1bnRpbWUi
CiMKIyAkUFJFRkVSUkVEX1BST1ZJREVSX3ZpcnR1YWwvaTU4Ni1wb2t5LWxpbnV4LWcrKwojICAg
cmVuYW1lIGZyb20gUFJFRkVSUkVEX1BST1ZJREVSX3ZpcnR1YWwvJHtUQVJHRVRfUFJFRklYfWcr
KyBkYXRhLnB5OjExNiBbZXhwYW5kS2V5c10KIyAgICAgImdjYy1jcm9zcy0ke1RBUkdFVF9BUkNI
fSIKUFJFRkVSUkVEX1BST1ZJREVSX3ZpcnR1YWwvaTU4Ni1wb2t5LWxpbnV4LWcrKz0iZ2NjLWNy
b3NzLWk1ODYiCiMKIyAkUFJFRkVSUkVEX1BST1ZJREVSX3ZpcnR1YWwvaTU4Ni1wb2t5LWxpbnV4
LWdjYwojICAgcmVuYW1lIGZyb20gUFJFRkVSUkVEX1BST1ZJREVSX3ZpcnR1YWwvJHtUQVJHRVRf
UFJFRklYfWdjYyBkYXRhLnB5OjExNiBbZXhwYW5kS2V5c10KIyAgICAgImdjYy1jcm9zcy0ke1RB
UkdFVF9BUkNIfSIKUFJFRkVSUkVEX1BST1ZJREVSX3ZpcnR1YWwvaTU4Ni1wb2t5LWxpbnV4LWdj
Yz0iZ2NjLWNyb3NzLWk1ODYiCiMKIyAkUFJFRkVSUkVEX1BST1ZJREVSX3ZpcnR1YWwvaTU4Ni1w
b2t5LWxpbnV4LWdjYy1pbml0aWFsCiMgICByZW5hbWUgZnJvbSBQUkVGRVJSRURfUFJPVklERVJf
dmlydHVhbC8ke1RBUkdFVF9QUkVGSVh9Z2NjLWluaXRpYWwgZGF0YS5weToxMTYgW2V4cGFuZEtl
eXNdCiMgICAgICJnY2MtY3Jvc3MtaW5pdGlhbC0ke1RBUkdFVF9BUkNIfSIKUFJFRkVSUkVEX1BS
T1ZJREVSX3ZpcnR1YWwvaTU4Ni1wb2t5LWxpbnV4LWdjYy1pbml0aWFsPSJnY2MtY3Jvc3MtaW5p
dGlhbC1pNTg2IgojCiMgJFBSRUZFUlJFRF9QUk9WSURFUl92aXJ0dWFsL2k1ODYtcG9reS1saW51
eC1saWJjLWZvci1nY2MKIyAgIHJlbmFtZSBmcm9tIFBSRUZFUlJFRF9QUk9WSURFUl92aXJ0dWFs
LyR7VEFSR0VUX1BSRUZJWH1saWJjLWZvci1nY2MgZGF0YS5weToxMTYgW2V4cGFuZEtleXNdCiMg
ICAgICIke1RDTElCQ30iClBSRUZFUlJFRF9QUk9WSURFUl92aXJ0dWFsL2k1ODYtcG9reS1saW51
eC1saWJjLWZvci1nY2M9ImdsaWJjIgojCiMgJFBSRUZFUlJFRF9QUk9WSURFUl92aXJ0dWFsL2k1
ODYtcG9reS1saW51eC1saWJjLWluaXRpYWwKIyAgIHJlbmFtZSBmcm9tIFBSRUZFUlJFRF9QUk9W
SURFUl92aXJ0dWFsLyR7VEFSR0VUX1BSRUZJWH1saWJjLWluaXRpYWwgZGF0YS5weToxMTYgW2V4
cGFuZEtleXNdCiMgICAgICIke1RDTElCQ30taW5pdGlhbCIKUFJFRkVSUkVEX1BST1ZJREVSX3Zp
cnR1YWwvaTU4Ni1wb2t5LWxpbnV4LWxpYmMtaW5pdGlhbD0iZ2xpYmMtaW5pdGlhbCIKIwojICRQ
UkVGRVJSRURfUFJPVklERVJfdmlydHVhbC9rZXJuZWwgWzIgb3BlcmF0aW9uc10KIyAgIHNldD8g
L21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL2NvbmYvbG9jYWwuY29uZjoyMzkKIyAgICAgImxp
bnV4LWludGVsLXJ0IgojICAgc2V0PyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2Nv
bmYvbWFjaGluZS9pbmNsdWRlL3FlbXUuaW5jOjIyCiMgICAgICJsaW51eC15b2N0byIKIyBwcmUt
ZXhwYW5zaW9uIHZhbHVlOgojICAgImxpbnV4LWludGVsLXJ0IgpQUkVGRVJSRURfUFJPVklERVJf
dmlydHVhbC9rZXJuZWw9ImxpbnV4LWludGVsLXJ0IgojCiMgJFBSRUZFUlJFRF9QUk9WSURFUl92
aXJ0dWFsL2xpYmMKIyAgIHNldD8gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25m
L2Rpc3Ryby9pbmNsdWRlL3RjbGliYy1nbGliYy5pbmM6MTUKIyAgICAgImdsaWJjIgpQUkVGRVJS
RURfUFJPVklERVJfdmlydHVhbC9saWJjPSJnbGliYyIKIwojICRQUkVGRVJSRURfUFJPVklERVJf
dmlydHVhbC9saWJjLWxvY2FsZQojICAgc2V0PyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9t
ZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvdGNsaWJjLWdsaWJjLmluYzoxNwojICAgICAiZ2xpYmMt
bG9jYWxlIgpQUkVGRVJSRURfUFJPVklERVJfdmlydHVhbC9saWJjLWxvY2FsZT0iZ2xpYmMtbG9j
YWxlIgojCiMgJFBSRUZFUlJFRF9QUk9WSURFUl92aXJ0dWFsL2xpYmdsIFszIG9wZXJhdGlvbnNd
CiMgICBzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9tYWNoaW5lL3Fl
bXV4ODYuY29uZjo2CiMgICAgICJtZXNhIgojICAgc2V0PyAvbWVkaWEvcmViZWNjYXMveW9jdG8v
cG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3FlbXUuaW5jOjMKIyAgICAgIm1lc2EiCiMg
ICBzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVk
ZS9kZWZhdWx0LXByb3ZpZGVycy5pbmM6OQojICAgICAibWVzYSIKIyBwcmUtZXhwYW5zaW9uIHZh
bHVlOgojICAgIm1lc2EiClBSRUZFUlJFRF9QUk9WSURFUl92aXJ0dWFsL2xpYmdsPSJtZXNhIgoj
CiMgJFBSRUZFUlJFRF9QUk9WSURFUl92aXJ0dWFsL2xpYmdsZXMxIFszIG9wZXJhdGlvbnNdCiMg
ICBzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9tYWNoaW5lL3FlbXV4
ODYuY29uZjo3CiMgICAgICJtZXNhIgojICAgc2V0PyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9r
eS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3FlbXUuaW5jOjQKIyAgICAgIm1lc2EiCiMgICBz
ZXQ/IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9k
ZWZhdWx0LXByb3ZpZGVycy5pbmM6MTAKIyAgICAgIm1lc2EiCiMgcHJlLWV4cGFuc2lvbiB2YWx1
ZToKIyAgICJtZXNhIgpQUkVGRVJSRURfUFJPVklERVJfdmlydHVhbC9saWJnbGVzMT0ibWVzYSIK
IwojICRQUkVGRVJSRURfUFJPVklERVJfdmlydHVhbC9saWJnbGVzMiBbMyBvcGVyYXRpb25zXQoj
ICAgc2V0PyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvbWFjaGluZS9xZW11
eDg2LmNvbmY6OAojICAgICAibWVzYSIKIyAgIHNldD8gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bv
a3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS9xZW11LmluYzo1CiMgICAgICJtZXNhIgojICAg
c2V0PyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUv
ZGVmYXVsdC1wcm92aWRlcnMuaW5jOjExCiMgICAgICJtZXNhIgojIHByZS1leHBhbnNpb24gdmFs
dWU6CiMgICAibWVzYSIKUFJFRkVSUkVEX1BST1ZJREVSX3ZpcnR1YWwvbGliZ2xlczI9Im1lc2Ei
CiMKIyAkUFJFRkVSUkVEX1BST1ZJREVSX3ZpcnR1YWwvbGliaWNvbnYKIyAgIHNldD8gL21lZGlh
L3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL3RjbGliYy1nbGli
Yy5pbmM6MTEKIyAgICAgImdsaWJjIgpQUkVGRVJSRURfUFJPVklERVJfdmlydHVhbC9saWJpY29u
dj0iZ2xpYmMiCiMKIyAkUFJFRkVSUkVEX1BST1ZJREVSX3ZpcnR1YWwvbGliaW50bAojICAgc2V0
PyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvdGNs
aWJjLWdsaWJjLmluYzoxNAojICAgICAiZ2xpYmMiClBSRUZFUlJFRF9QUk9WSURFUl92aXJ0dWFs
L2xpYmludGw9ImdsaWJjIgojCiMgJFBSRUZFUlJFRF9QUk9WSURFUl92aXJ0dWFsL2xpYngxMQoj
ICAgc2V0PyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1
ZGUvZGVmYXVsdC1wcm92aWRlcnMuaW5jOjE1CiMgICAgICJsaWJ4MTEiClBSRUZFUlJFRF9QUk9W
SURFUl92aXJ0dWFsL2xpYngxMT0ibGlieDExIgojCiMgJFBSRUZFUlJFRF9QUk9WSURFUl92aXJ0
dWFsL21ha2UKIyAgIHNldD8gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rp
c3Ryby9pbmNsdWRlL2RlZmF1bHQtcHJvdmlkZXJzLmluYzoxOAojICAgICAibWFrZSIKUFJFRkVS
UkVEX1BST1ZJREVSX3ZpcnR1YWwvbWFrZT0ibWFrZSIKIwojICRQUkVGRVJSRURfUFJPVklERVJf
dmlydHVhbC9tYWtlLW5hdGl2ZQojICAgc2V0PyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9t
ZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvZGVmYXVsdC1wcm92aWRlcnMuaW5jOjE5CiMgICAgICJt
YWtlLW5hdGl2ZSIKUFJFRkVSUkVEX1BST1ZJREVSX3ZpcnR1YWwvbWFrZS1uYXRpdmU9Im1ha2Ut
bmF0aXZlIgojCiMgJFBSRUZFUlJFRF9QUk9WSURFUl92aXJ0dWFsL21lc2EKIyAgIHNldD8gL21l
ZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL2RlZmF1bHQt
cHJvdmlkZXJzLmluYzoxMgojICAgICAibWVzYSIKUFJFRkVSUkVEX1BST1ZJREVSX3ZpcnR1YWwv
bWVzYT0ibWVzYSIKIwojICRQUkVGRVJSRURfUFJPVklERVJfdmlydHVhbC9uYXRpdmVzZGstbGli
YwojICAgc2V0PyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2lu
Y2x1ZGUvdGNsaWJjLWdsaWJjLmluYzoxNgojICAgICAibmF0aXZlc2RrLWdsaWJjIgpQUkVGRVJS
RURfUFJPVklERVJfdmlydHVhbC9uYXRpdmVzZGstbGliYz0ibmF0aXZlc2RrLWdsaWJjIgojCiMg
JFBSRUZFUlJFRF9QUk9WSURFUl92aXJ0dWFsL25hdGl2ZXNkay1saWJpY29udgojICAgc2V0PyAv
bWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvdGNsaWJj
LWdsaWJjLmluYzoxMgojICAgICAibmF0aXZlc2RrLWdsaWJjIgpQUkVGRVJSRURfUFJPVklERVJf
dmlydHVhbC9uYXRpdmVzZGstbGliaWNvbnY9Im5hdGl2ZXNkay1nbGliYyIKIwojICRQUkVGRVJS
RURfUFJPVklERVJfdmlydHVhbC9uYXRpdmVzZGstbGliaW50bAojICAgc2V0PyAvbWVkaWEvcmVi
ZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvdGNsaWJjLWdsaWJjLmlu
YzoxMwojICAgICAibmF0aXZlc2RrLWdsaWJjIgpQUkVGRVJSRURfUFJPVklERVJfdmlydHVhbC9u
YXRpdmVzZGstbGliaW50bD0ibmF0aXZlc2RrLWdsaWJjIgojCiMgJFBSRUZFUlJFRF9QUk9WSURF
Ul92aXJ0dWFsL25hdGl2ZXNkay14ODZfNjQtcG9reXNkay1saW51eC1saWJjLWZvci1nY2MKIyAg
IHJlbmFtZSBmcm9tIFBSRUZFUlJFRF9QUk9WSURFUl92aXJ0dWFsL25hdGl2ZXNkay0ke1NES19Q
UkVGSVh9bGliYy1mb3ItZ2NjIGRhdGEucHk6MTE2IFtleHBhbmRLZXlzXQojICAgICAibmF0aXZl
c2RrLWdsaWJjIgpQUkVGRVJSRURfUFJPVklERVJfdmlydHVhbC9uYXRpdmVzZGsteDg2XzY0LXBv
a3lzZGstbGludXgtbGliYy1mb3ItZ2NjPSJuYXRpdmVzZGstZ2xpYmMiCiMKIyAkUFJFRkVSUkVE
X1BST1ZJREVSX3ZpcnR1YWwvbmF0aXZlc2RrLXg4Nl82NC1wb2t5c2RrLWxpbnV4LWxpYmMtaW5p
dGlhbAojICAgcmVuYW1lIGZyb20gUFJFRkVSUkVEX1BST1ZJREVSX3ZpcnR1YWwvbmF0aXZlc2Rr
LSR7U0RLX1BSRUZJWH1saWJjLWluaXRpYWwgZGF0YS5weToxMTYgW2V4cGFuZEtleXNdCiMgICAg
ICJuYXRpdmVzZGstZ2xpYmMtaW5pdGlhbCIKUFJFRkVSUkVEX1BST1ZJREVSX3ZpcnR1YWwvbmF0
aXZlc2RrLXg4Nl82NC1wb2t5c2RrLWxpbnV4LWxpYmMtaW5pdGlhbD0ibmF0aXZlc2RrLWdsaWJj
LWluaXRpYWwiCiMKIyAkUFJFRkVSUkVEX1BST1ZJREVSX3ZpcnR1YWwvdXBkYXRlLWFsdGVybmF0
aXZlcwojICAgc2V0PyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJv
L2luY2x1ZGUvZGVmYXVsdC1wcm92aWRlcnMuaW5jOjEzCiMgICAgICJvcGtnLXV0aWxzIgpQUkVG
RVJSRURfUFJPVklERVJfdmlydHVhbC91cGRhdGUtYWx0ZXJuYXRpdmVzPSJvcGtnLXV0aWxzIgoj
CiMgJFBSRUZFUlJFRF9QUk9WSURFUl92aXJ0dWFsL3VwZGF0ZS1hbHRlcm5hdGl2ZXMtbmF0aXZl
CiMgICBzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5j
bHVkZS9kZWZhdWx0LXByb3ZpZGVycy5pbmM6MTQKIyAgICAgIm9wa2ctdXRpbHMtbmF0aXZlIgpQ
UkVGRVJSRURfUFJPVklERVJfdmlydHVhbC91cGRhdGUtYWx0ZXJuYXRpdmVzLW5hdGl2ZT0ib3Br
Zy11dGlscy1uYXRpdmUiCiMKIyAkUFJFRkVSUkVEX1BST1ZJREVSX3ZpcnR1YWwveDg2XzY0LXBv
a3lzZGstbGludXgtYmludXRpbHMtY3Jvc3NzZGsKIyAgIHJlbmFtZSBmcm9tIFBSRUZFUlJFRF9Q
Uk9WSURFUl92aXJ0dWFsLyR7U0RLX1BSRUZJWH1iaW51dGlscy1jcm9zc3NkayBkYXRhLnB5OjEx
NiBbZXhwYW5kS2V5c10KIyAgICAgImJpbnV0aWxzLWNyb3Nzc2RrLSR7U0RLX1NZU30iClBSRUZF
UlJFRF9QUk9WSURFUl92aXJ0dWFsL3g4Nl82NC1wb2t5c2RrLWxpbnV4LWJpbnV0aWxzLWNyb3Nz
c2RrPSJiaW51dGlscy1jcm9zc3Nkay14ODZfNjQtcG9reXNkay1saW51eCIKIwojICRQUkVGRVJS
RURfUFJPVklERVJfdmlydHVhbC94ODZfNjQtcG9reXNkay1saW51eC1jb21waWxlcmxpYnMKIyAg
IHJlbmFtZSBmcm9tIFBSRUZFUlJFRF9QUk9WSURFUl92aXJ0dWFsLyR7U0RLX1BSRUZJWH1jb21w
aWxlcmxpYnMgZGF0YS5weToxMTYgW2V4cGFuZEtleXNdCiMgICAgICJuYXRpdmVzZGstZ2NjLXJ1
bnRpbWUiClBSRUZFUlJFRF9QUk9WSURFUl92aXJ0dWFsL3g4Nl82NC1wb2t5c2RrLWxpbnV4LWNv
bXBpbGVybGlicz0ibmF0aXZlc2RrLWdjYy1ydW50aW1lIgojCiMgJFBSRUZFUlJFRF9QUk9WSURF
Ul92aXJ0dWFsL3g4Nl82NC1wb2t5c2RrLWxpbnV4LWcrKwojICAgcmVuYW1lIGZyb20gUFJFRkVS
UkVEX1BST1ZJREVSX3ZpcnR1YWwvJHtTREtfUFJFRklYfWcrKyBkYXRhLnB5OjExNiBbZXhwYW5k
S2V5c10KIyAgICAgImdjYy1jcm9zc3Nkay0ke1NES19TWVN9IgpQUkVGRVJSRURfUFJPVklERVJf
dmlydHVhbC94ODZfNjQtcG9reXNkay1saW51eC1nKys9ImdjYy1jcm9zc3Nkay14ODZfNjQtcG9r
eXNkay1saW51eCIKIwojICRQUkVGRVJSRURfUFJPVklERVJfdmlydHVhbC94ODZfNjQtcG9reXNk
ay1saW51eC1nY2MKIyAgIHJlbmFtZSBmcm9tIFBSRUZFUlJFRF9QUk9WSURFUl92aXJ0dWFsLyR7
U0RLX1BSRUZJWH1nY2MgZGF0YS5weToxMTYgW2V4cGFuZEtleXNdCiMgICAgICJnY2MtY3Jvc3Nz
ZGstJHtTREtfU1lTfSIKUFJFRkVSUkVEX1BST1ZJREVSX3ZpcnR1YWwveDg2XzY0LXBva3lzZGst
bGludXgtZ2NjPSJnY2MtY3Jvc3NzZGsteDg2XzY0LXBva3lzZGstbGludXgiCiMKIyAkUFJFRkVS
UkVEX1BST1ZJREVSX3ZpcnR1YWwveDg2XzY0LXBva3lzZGstbGludXgtZ2NjLWluaXRpYWwKIyAg
IHJlbmFtZSBmcm9tIFBSRUZFUlJFRF9QUk9WSURFUl92aXJ0dWFsLyR7U0RLX1BSRUZJWH1nY2Mt
aW5pdGlhbCBkYXRhLnB5OjExNiBbZXhwYW5kS2V5c10KIyAgICAgImdjYy1jcm9zc3Nkay1pbml0
aWFsLSR7U0RLX1NZU30iClBSRUZFUlJFRF9QUk9WSURFUl92aXJ0dWFsL3g4Nl82NC1wb2t5c2Rr
LWxpbnV4LWdjYy1pbml0aWFsPSJnY2MtY3Jvc3NzZGstaW5pdGlhbC14ODZfNjQtcG9reXNkay1s
aW51eCIKIwojICRQUkVGRVJSRURfUFJPVklERVJfdmlydHVhbC94c2VydmVyIFszIG9wZXJhdGlv
bnNdCiMgICBzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9tYWNoaW5l
L3FlbXV4ODYuY29uZjo1CiMgICAgICJ4c2VydmVyLXhvcmciCiMgICBzZXQ/IC9tZWRpYS9yZWJl
Y2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvcWVtdS5pbmM6MQojICAg
ICAieHNlcnZlci14b3JnIgojICAgc2V0PyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRh
L2NvbmYvZGlzdHJvL2luY2x1ZGUvZGVmYXVsdC1wcm92aWRlcnMuaW5jOjYKIyAgICAgInhzZXJ2
ZXIteG9yZyIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgInhzZXJ2ZXIteG9yZyIKUFJFRkVS
UkVEX1BST1ZJREVSX3ZpcnR1YWwveHNlcnZlcj0ieHNlcnZlci14b3JnIgojCiMgJFBSRUZFUlJF
RF9QUk9WSURFUl92aXJ0dWFsL3hzZXJ2ZXIteGY4NgojICAgc2V0PyAvbWVkaWEvcmViZWNjYXMv
eW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvZGVmYXVsdC1wcm92aWRlcnMuaW5j
OjcKIyAgICAgInhzZXJ2ZXIteG9yZyIKUFJFRkVSUkVEX1BST1ZJREVSX3ZpcnR1YWwveHNlcnZl
ci14Zjg2PSJ4c2VydmVyLXhvcmciCiMKIyAkUFJFRkVSUkVEX1BST1ZJREVSX3hmODYtdmlkZW8t
aW50ZWwKIyAgIHNldD8gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ry
by9pbmNsdWRlL2RlZmF1bHQtcHJvdmlkZXJzLmluYzoxNwojICAgICAieGY4Ni12aWRlby1pbnRl
bCIKUFJFRkVSUkVEX1BST1ZJREVSX3hmODYtdmlkZW8taW50ZWw9InhmODYtdmlkZW8taW50ZWwi
CiMKIyAkUFJFRkVSUkVEX1JQUk9WSURFUl9ibHVlei1oY2lkdW1wCiMgICBzZXQ/IC9tZWRpYS9y
ZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9kZWZhdWx0LXByb3Zp
ZGVycy5pbmM6NTAKIyAgICAgIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMn
LCdibHVldG9vdGggYmx1ZXo1JywnYmx1ZXo1JywnYmx1ZXotaGNpZHVtcCcsZCl9IgpQUkVGRVJS
RURfUlBST1ZJREVSX2JsdWV6LWhjaWR1bXA9ImJsdWV6NSIKIwojICRQUkVGRVJSRURfUlBST1ZJ
REVSX2xpYmFzb3VuZC1tb2R1bGUtYmx1ZXoKIyAgIHNldD8gL21lZGlhL3JlYmVjY2FzL3lvY3Rv
L3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL2RlZmF1bHQtcHJvdmlkZXJzLmluYzo0OQoj
ICAgICAiJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsJ2JsdWV0b290aCBi
bHVlejUnLCdibHVlejUnLCdibHVlejQnLGQpfSIKUFJFRkVSUkVEX1JQUk9WSURFUl9saWJhc291
bmQtbW9kdWxlLWJsdWV6PSJibHVlejUiCiMKIyAkUFJFRkVSUkVEX1ZFUlNJT04gWzQ0IG9wZXJh
dGlvbnNdCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3Vt
ZW50YXRpb24uY29uZjozMzUKIyAgICAgW2RvY10gIklmIHRoZXJlIGFyZSBtdWx0aXBsZSB2ZXJz
aW9ucyBvZiByZWNpcGVzIGF2YWlsYWJsZSwgdGhpcyB2YXJpYWJsZSBkZXRlcm1pbmVzIHdoaWNo
IHJlY2lwZSBzaG91bGQgYmUgZ2l2ZW4gcHJlZmVyZW5jZS4iCiMgICBvdmVycmlkZVtsaW51eC15
b2N0b106c2V0PyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXBva3kvY29uZi9kaXN0
cm8vcG9reS5jb25mOjI0CiMgICAgICI0LjEwJSIKIyAgIG92ZXJyaWRlW2xpbnV4LXlvY3RvX3Fl
bXV4ODZdOnNldD8gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5L2NvbmYvZGlz
dHJvL3Bva3kuY29uZjoyNQojICAgICAiNC4xMCUiCiMgICBvdmVycmlkZVtsaW51eC15b2N0b19x
ZW11eDg2LTY0XTpzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEtcG9reS9jb25m
L2Rpc3Ryby9wb2t5LmNvbmY6MjYKIyAgICAgIjQuMTAlIgojICAgb3ZlcnJpZGVbbGludXgteW9j
dG9fcWVtdWFybV06c2V0PyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXBva3kvY29u
Zi9kaXN0cm8vcG9reS5jb25mOjI3CiMgICAgICI0LjEwJSIKIyAgIG92ZXJyaWRlW2xpbnV4LXlv
Y3RvX3FlbXVtaXBzXTpzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEtcG9reS9j
b25mL2Rpc3Ryby9wb2t5LmNvbmY6MjgKIyAgICAgIjQuMTAlIgojICAgb3ZlcnJpZGVbbGludXgt
eW9jdG9fcWVtdW1pcHM2NF06c2V0PyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXBv
a3kvY29uZi9kaXN0cm8vcG9reS5jb25mOjI5CiMgICAgICI0LjEwJSIKIyAgIG92ZXJyaWRlW2xp
bnV4LXlvY3RvX3FlbXVwcGNdOnNldD8gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1w
b2t5L2NvbmYvZGlzdHJvL3Bva3kuY29uZjozMAojICAgICAiNC4xMCUiCiMgICBvdmVycmlkZVts
aWJlcmF0aW9uLWZvbnRzXTpzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29u
Zi9kaXN0cm8vaW5jbHVkZS9kZWZhdWx0LXZlcnNpb25zLmluYzo2CiMgICAgICIxLjA0IgojICAg
b3ZlcnJpZGVbZ2NjXTpzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9k
aXN0cm8vaW5jbHVkZS90Y21vZGUtZGVmYXVsdC5pbmM6MzMKIyAgICAgIiR7R0NDVkVSU0lPTn0i
CiMgICBvdmVycmlkZVtnY2MtcnVudGltZV06c2V0PyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9r
eS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvdGNtb2RlLWRlZmF1bHQuaW5jOjM5CiMgICAgICIk
e0dDQ1ZFUlNJT059IgojICAgb3ZlcnJpZGVbZ2NjLXNhbml0aXplcnNdOnNldD8gL21lZGlhL3Jl
YmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL3RjbW9kZS1kZWZhdWx0
LmluYzo0MAojICAgICAiJHtHQ0NWRVJTSU9OfSIKIyAgIG92ZXJyaWRlW25hdGl2ZXNkay1nY2Mt
cnVudGltZV06c2V0PyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJv
L2luY2x1ZGUvdGNtb2RlLWRlZmF1bHQuaW5jOjQxCiMgICAgICIke1NES0dDQ1ZFUlNJT059Igoj
ICAgb3ZlcnJpZGVbbmF0aXZlc2RrLWdjYy1zYW5pdGl6ZXJzXTpzZXQ/IC9tZWRpYS9yZWJlY2Nh
cy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS90Y21vZGUtZGVmYXVsdC5pbmM6
NDIKIyAgICAgIiR7U0RLR0NDVkVSU0lPTn0iCiMgICBvdmVycmlkZVtsaWJnY2NdOnNldD8gL21l
ZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL3RjbW9kZS1k
ZWZhdWx0LmluYzo0MwojICAgICAiJHtHQ0NWRVJTSU9OfSIKIyAgIG92ZXJyaWRlW2xpYmdjYy1p
bml0aWFsXTpzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8v
aW5jbHVkZS90Y21vZGUtZGVmYXVsdC5pbmM6NDQKIyAgICAgIiR7R0NDVkVSU0lPTn0iCiMgICBv
dmVycmlkZVtuYXRpdmVzZGstZ2NjXTpzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21l
dGEvY29uZi9kaXN0cm8vaW5jbHVkZS90Y21vZGUtZGVmYXVsdC5pbmM6NDUKIyAgICAgIiR7U0RL
R0NDVkVSU0lPTn0iCiMgICBvdmVycmlkZVtuYXRpdmVzZGstbGliZ2NjXTpzZXQ/IC9tZWRpYS9y
ZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS90Y21vZGUtZGVmYXVs
dC5pbmM6NDYKIyAgICAgIiR7U0RLR0NDVkVSU0lPTn0iCiMgICBvdmVycmlkZVtuYXRpdmVzZGst
bGliZ2NjLWluaXRpYWxdOnNldD8gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25m
L2Rpc3Ryby9pbmNsdWRlL3RjbW9kZS1kZWZhdWx0LmluYzo0NwojICAgICAiJHtTREtHQ0NWRVJT
SU9OfSIKIyAgIG92ZXJyaWRlW2JpbnV0aWxzXTpzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9w
b2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS90Y21vZGUtZGVmYXVsdC5pbmM6NDgKIyAgICAg
IiR7QklOVVZFUlNJT059IgojICAgb3ZlcnJpZGVbYmludXRpbHMtbmF0aXZlXTpzZXQ/IC9tZWRp
YS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS90Y21vZGUtZGVm
YXVsdC5pbmM6NDkKIyAgICAgIiR7QklOVVZFUlNJT059IgojICAgb3ZlcnJpZGVbZ2RiXTpzZXQ/
IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS90Y21v
ZGUtZGVmYXVsdC5pbmM6NTMKIyAgICAgIiR7R0RCVkVSU0lPTn0iCiMgICBvdmVycmlkZVtsaW51
eC1saWJjLWhlYWRlcnNdOnNldD8gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25m
L2Rpc3Ryby9pbmNsdWRlL3RjbW9kZS1kZWZhdWx0LmluYzo1NwojICAgICAiJHtMSU5VWExJQkNW
RVJTSU9OfSIKIyAgIG92ZXJyaWRlW25hdGl2ZXNkay1saW51eC1saWJjLWhlYWRlcnNdOnNldD8g
L21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL3RjbW9k
ZS1kZWZhdWx0LmluYzo1OAojICAgICAiJHtMSU5VWExJQkNWRVJTSU9OfSIKIyAgIG92ZXJyaWRl
W2dsaWJjXTpzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8v
aW5jbHVkZS90Y21vZGUtZGVmYXVsdC5pbmM6NTkKIyAgICAgIiR7R0xJQkNWRVJTSU9OfSIKIyAg
IG92ZXJyaWRlW2dsaWJjLWxvY2FsZV06c2V0PyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9t
ZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvdGNtb2RlLWRlZmF1bHQuaW5jOjYwCiMgICAgICIke0dM
SUJDVkVSU0lPTn0iCiMgICBvdmVycmlkZVtnbGliYy1tdHJhY2VdOnNldD8gL21lZGlhL3JlYmVj
Y2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL3RjbW9kZS1kZWZhdWx0Lmlu
Yzo2MQojICAgICAiJHtHTElCQ1ZFUlNJT059IgojICAgb3ZlcnJpZGVbZ2xpYmMtc2NyaXB0c106
c2V0PyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUv
dGNtb2RlLWRlZmF1bHQuaW5jOjYyCiMgICAgICIke0dMSUJDVkVSU0lPTn0iCiMgICBvdmVycmlk
ZVtuYXRpdmVzZGstZ2xpYmNdOnNldD8gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9j
b25mL2Rpc3Ryby9pbmNsdWRlL3RjbW9kZS1kZWZhdWx0LmluYzo2MwojICAgICAiJHtHTElCQ1ZF
UlNJT059IgojICAgb3ZlcnJpZGVbZ2xpYmMtaW5pdGlhbF06c2V0PyAvbWVkaWEvcmViZWNjYXMv
eW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvdGNtb2RlLWRlZmF1bHQuaW5jOjY0
CiMgICAgICIke0dMSUJDVkVSU0lPTn0iCiMgICBvdmVycmlkZVtuYXRpdmVzZGstZ2xpYmMtaW5p
dGlhbF06c2V0PyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2lu
Y2x1ZGUvdGNtb2RlLWRlZmF1bHQuaW5jOjY1CiMgICAgICIke0dMSUJDVkVSU0lPTn0iCiMgICBv
dmVycmlkZVtjcm9zcy1sb2NhbGVkZWYtbmF0aXZlXTpzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95b2N0
by9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS90Y21vZGUtZGVmYXVsdC5pbmM6NjYKIyAg
ICAgIiR7R0xJQkNWRVJTSU9OfSIKIyAgIG92ZXJyaWRlW3VjbGliY106c2V0PyAvbWVkaWEvcmVi
ZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvdGNtb2RlLWRlZmF1bHQu
aW5jOjY3CiMgICAgICIke1VDTElCQ1ZFUlNJT059IgojICAgb3ZlcnJpZGVbdWNsaWJjLWluaXRp
YWxdOnNldD8gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNs
dWRlL3RjbW9kZS1kZWZhdWx0LmluYzo2OAojICAgICAiJHtVQ0xJQkNWRVJTSU9OfSIKIyAgIG92
ZXJyaWRlW2d6aXAtbmF0aXZlXTpzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEv
Y29uZi9kaXN0cm8vaW5jbHVkZS90Y21vZGUtZGVmYXVsdC5pbmM6NzEKIyAgICAgIjEuOCIKIyAg
IG92ZXJyaWRlW2JpbnV0aWxzLWNyb3NzLWk1ODZdOnJlbmFtZSBmcm9tIFBSRUZFUlJFRF9WRVJT
SU9OX2JpbnV0aWxzLWNyb3NzLSR7VEFSR0VUX0FSQ0h9IGRhdGEucHk6MTE2IFtleHBhbmRLZXlz
XQojICAgICAiJHtCSU5VVkVSU0lPTn0iCiMgICBvdmVycmlkZVtiaW51dGlscy1jcm9zcy1jYW5h
ZGlhbi1pNTg2XTpyZW5hbWUgZnJvbSBQUkVGRVJSRURfVkVSU0lPTl9iaW51dGlscy1jcm9zcy1j
YW5hZGlhbi0ke1RSQU5TTEFURURfVEFSR0VUX0FSQ0h9IGRhdGEucHk6MTE2IFtleHBhbmRLZXlz
XQojICAgICAiJHtCSU5VVkVSU0lPTn0iCiMgICBvdmVycmlkZVtnY2MtY3Jvc3MtaTU4Nl06cmVu
YW1lIGZyb20gUFJFRkVSUkVEX1ZFUlNJT05fZ2NjLWNyb3NzLSR7VEFSR0VUX0FSQ0h9IGRhdGEu
cHk6MTE2IFtleHBhbmRLZXlzXQojICAgICAiJHtHQ0NWRVJTSU9OfSIKIyAgIG92ZXJyaWRlW2dj
Yy1jcm9zcy1jYW5hZGlhbi1pNTg2XTpyZW5hbWUgZnJvbSBQUkVGRVJSRURfVkVSU0lPTl9nY2Mt
Y3Jvc3MtY2FuYWRpYW4tJHtUUkFOU0xBVEVEX1RBUkdFVF9BUkNIfSBkYXRhLnB5OjExNiBbZXhw
YW5kS2V5c10KIyAgICAgIiR7R0NDVkVSU0lPTn0iCiMgICBvdmVycmlkZVtnY2MtY3Jvc3MtaW5p
dGlhbC1pNTg2XTpyZW5hbWUgZnJvbSBQUkVGRVJSRURfVkVSU0lPTl9nY2MtY3Jvc3MtaW5pdGlh
bC0ke1RBUkdFVF9BUkNIfSBkYXRhLnB5OjExNiBbZXhwYW5kS2V5c10KIyAgICAgIiR7R0NDVkVS
U0lPTn0iCiMgICBvdmVycmlkZVtnY2MtY3Jvc3NzZGsteDg2XzY0LXBva3lzZGstbGludXhdOnJl
bmFtZSBmcm9tIFBSRUZFUlJFRF9WRVJTSU9OX2djYy1jcm9zc3Nkay0ke1NES19TWVN9IGRhdGEu
cHk6MTE2IFtleHBhbmRLZXlzXQojICAgICAiJHtTREtHQ0NWRVJTSU9OfSIKIyAgIG92ZXJyaWRl
W2djYy1jcm9zc3Nkay1pbml0aWFsLXg4Nl82NC1wb2t5c2RrLWxpbnV4XTpyZW5hbWUgZnJvbSBQ
UkVGRVJSRURfVkVSU0lPTl9nY2MtY3Jvc3NzZGstaW5pdGlhbC0ke1NES19TWVN9IGRhdGEucHk6
MTE2IFtleHBhbmRLZXlzXQojICAgICAiJHtTREtHQ0NWRVJTSU9OfSIKIyAgIG92ZXJyaWRlW2dk
Yi1jcm9zcy1pNTg2XTpyZW5hbWUgZnJvbSBQUkVGRVJSRURfVkVSU0lPTl9nZGItY3Jvc3MtJHtU
QVJHRVRfQVJDSH0gZGF0YS5weToxMTYgW2V4cGFuZEtleXNdCiMgICAgICIke0dEQlZFUlNJT059
IgojICAgb3ZlcnJpZGVbZ2RiLWNyb3NzLWNhbmFkaWFuLWk1ODZdOnJlbmFtZSBmcm9tIFBSRUZF
UlJFRF9WRVJTSU9OX2dkYi1jcm9zcy1jYW5hZGlhbi0ke1RSQU5TTEFURURfVEFSR0VUX0FSQ0h9
IGRhdGEucHk6MTE2IFtleHBhbmRLZXlzXQojICAgICAiJHtHREJWRVJTSU9OfSIKIyBwcmUtZXhw
YW5zaW9uIHZhbHVlOgojICAgIk5vbmUiCiMKIyAkUFJFRkVSUkVEX1ZFUlNJT05fYmludXRpbHMK
IyAgIHNldD8gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNs
dWRlL3RjbW9kZS1kZWZhdWx0LmluYzo0OAojICAgICAiJHtCSU5VVkVSU0lPTn0iClBSRUZFUlJF
RF9WRVJTSU9OX2JpbnV0aWxzPSIyLjI4JSIKIwojICRQUkVGRVJSRURfVkVSU0lPTl9iaW51dGls
cy1jcm9zcy1jYW5hZGlhbi1pNTg2CiMgICByZW5hbWUgZnJvbSBQUkVGRVJSRURfVkVSU0lPTl9i
aW51dGlscy1jcm9zcy1jYW5hZGlhbi0ke1RSQU5TTEFURURfVEFSR0VUX0FSQ0h9IGRhdGEucHk6
MTE2IFtleHBhbmRLZXlzXQojICAgICAiJHtCSU5VVkVSU0lPTn0iClBSRUZFUlJFRF9WRVJTSU9O
X2JpbnV0aWxzLWNyb3NzLWNhbmFkaWFuLWk1ODY9IjIuMjglIgojCiMgJFBSRUZFUlJFRF9WRVJT
SU9OX2JpbnV0aWxzLWNyb3NzLWk1ODYKIyAgIHJlbmFtZSBmcm9tIFBSRUZFUlJFRF9WRVJTSU9O
X2JpbnV0aWxzLWNyb3NzLSR7VEFSR0VUX0FSQ0h9IGRhdGEucHk6MTE2IFtleHBhbmRLZXlzXQoj
ICAgICAiJHtCSU5VVkVSU0lPTn0iClBSRUZFUlJFRF9WRVJTSU9OX2JpbnV0aWxzLWNyb3NzLWk1
ODY9IjIuMjglIgojCiMgJFBSRUZFUlJFRF9WRVJTSU9OX2JpbnV0aWxzLWNyb3Nzc2RrLXg4Nl82
NAojICAgcmVuYW1lIGZyb20gUFJFRkVSUkVEX1ZFUlNJT05fYmludXRpbHMtY3Jvc3NzZGstJHtT
REtfQVJDSH0gZGF0YS5weToxMTYgW2V4cGFuZEtleXNdCiMgICAgICIke0JJTlVWRVJTSU9OfSIK
UFJFRkVSUkVEX1ZFUlNJT05fYmludXRpbHMtY3Jvc3NzZGsteDg2XzY0PSIyLjI4JSIKIwojICRQ
UkVGRVJSRURfVkVSU0lPTl9iaW51dGlscy1uYXRpdmUKIyAgIHNldD8gL21lZGlhL3JlYmVjY2Fz
L3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL3RjbW9kZS1kZWZhdWx0LmluYzo0
OQojICAgICAiJHtCSU5VVkVSU0lPTn0iClBSRUZFUlJFRF9WRVJTSU9OX2JpbnV0aWxzLW5hdGl2
ZT0iMi4yOCUiCiMKIyAkUFJFRkVSUkVEX1ZFUlNJT05fY3Jvc3MtbG9jYWxlZGVmLW5hdGl2ZQoj
ICAgc2V0PyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1
ZGUvdGNtb2RlLWRlZmF1bHQuaW5jOjY2CiMgICAgICIke0dMSUJDVkVSU0lPTn0iClBSRUZFUlJF
RF9WRVJTSU9OX2Nyb3NzLWxvY2FsZWRlZi1uYXRpdmU9IjIuMjUiCiMKIyAkUFJFRkVSUkVEX1ZF
UlNJT05fZ2NjCiMgICBzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9k
aXN0cm8vaW5jbHVkZS90Y21vZGUtZGVmYXVsdC5pbmM6MzMKIyAgICAgIiR7R0NDVkVSU0lPTn0i
ClBSRUZFUlJFRF9WRVJTSU9OX2djYz0iNi4zJSIKIwojICRQUkVGRVJSRURfVkVSU0lPTl9nY2Mt
Y3Jvc3MtY2FuYWRpYW4taTU4NgojICAgcmVuYW1lIGZyb20gUFJFRkVSUkVEX1ZFUlNJT05fZ2Nj
LWNyb3NzLWNhbmFkaWFuLSR7VFJBTlNMQVRFRF9UQVJHRVRfQVJDSH0gZGF0YS5weToxMTYgW2V4
cGFuZEtleXNdCiMgICAgICIke0dDQ1ZFUlNJT059IgpQUkVGRVJSRURfVkVSU0lPTl9nY2MtY3Jv
c3MtY2FuYWRpYW4taTU4Nj0iNi4zJSIKIwojICRQUkVGRVJSRURfVkVSU0lPTl9nY2MtY3Jvc3Mt
aTU4NgojICAgcmVuYW1lIGZyb20gUFJFRkVSUkVEX1ZFUlNJT05fZ2NjLWNyb3NzLSR7VEFSR0VU
X0FSQ0h9IGRhdGEucHk6MTE2IFtleHBhbmRLZXlzXQojICAgICAiJHtHQ0NWRVJTSU9OfSIKUFJF
RkVSUkVEX1ZFUlNJT05fZ2NjLWNyb3NzLWk1ODY9IjYuMyUiCiMKIyAkUFJFRkVSUkVEX1ZFUlNJ
T05fZ2NjLWNyb3NzLWluaXRpYWwtaTU4NgojICAgcmVuYW1lIGZyb20gUFJFRkVSUkVEX1ZFUlNJ
T05fZ2NjLWNyb3NzLWluaXRpYWwtJHtUQVJHRVRfQVJDSH0gZGF0YS5weToxMTYgW2V4cGFuZEtl
eXNdCiMgICAgICIke0dDQ1ZFUlNJT059IgpQUkVGRVJSRURfVkVSU0lPTl9nY2MtY3Jvc3MtaW5p
dGlhbC1pNTg2PSI2LjMlIgojCiMgJFBSRUZFUlJFRF9WRVJTSU9OX2djYy1jcm9zc3Nkay1pbml0
aWFsLXg4Nl82NC1wb2t5c2RrLWxpbnV4CiMgICByZW5hbWUgZnJvbSBQUkVGRVJSRURfVkVSU0lP
Tl9nY2MtY3Jvc3NzZGstaW5pdGlhbC0ke1NES19TWVN9IGRhdGEucHk6MTE2IFtleHBhbmRLZXlz
XQojICAgICAiJHtTREtHQ0NWRVJTSU9OfSIKUFJFRkVSUkVEX1ZFUlNJT05fZ2NjLWNyb3Nzc2Rr
LWluaXRpYWwteDg2XzY0LXBva3lzZGstbGludXg9IjYuMyUiCiMKIyAkUFJFRkVSUkVEX1ZFUlNJ
T05fZ2NjLWNyb3Nzc2RrLXg4Nl82NC1wb2t5c2RrLWxpbnV4CiMgICByZW5hbWUgZnJvbSBQUkVG
RVJSRURfVkVSU0lPTl9nY2MtY3Jvc3NzZGstJHtTREtfU1lTfSBkYXRhLnB5OjExNiBbZXhwYW5k
S2V5c10KIyAgICAgIiR7U0RLR0NDVkVSU0lPTn0iClBSRUZFUlJFRF9WRVJTSU9OX2djYy1jcm9z
c3Nkay14ODZfNjQtcG9reXNkay1saW51eD0iNi4zJSIKIwojICRQUkVGRVJSRURfVkVSU0lPTl9n
Y2MtcnVudGltZQojICAgc2V0PyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYv
ZGlzdHJvL2luY2x1ZGUvdGNtb2RlLWRlZmF1bHQuaW5jOjM5CiMgICAgICIke0dDQ1ZFUlNJT059
IgpQUkVGRVJSRURfVkVSU0lPTl9nY2MtcnVudGltZT0iNi4zJSIKIwojICRQUkVGRVJSRURfVkVS
U0lPTl9nY2Mtc2FuaXRpemVycwojICAgc2V0PyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9t
ZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvdGNtb2RlLWRlZmF1bHQuaW5jOjQwCiMgICAgICIke0dD
Q1ZFUlNJT059IgpQUkVGRVJSRURfVkVSU0lPTl9nY2Mtc2FuaXRpemVycz0iNi4zJSIKIwojICRQ
UkVGRVJSRURfVkVSU0lPTl9nZGIKIyAgIHNldD8gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kv
bWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL3RjbW9kZS1kZWZhdWx0LmluYzo1MwojICAgICAiJHtH
REJWRVJTSU9OfSIKUFJFRkVSUkVEX1ZFUlNJT05fZ2RiPSI3LjEyJSIKIwojICRQUkVGRVJSRURf
VkVSU0lPTl9nZGItY3Jvc3MtY2FuYWRpYW4taTU4NgojICAgcmVuYW1lIGZyb20gUFJFRkVSUkVE
X1ZFUlNJT05fZ2RiLWNyb3NzLWNhbmFkaWFuLSR7VFJBTlNMQVRFRF9UQVJHRVRfQVJDSH0gZGF0
YS5weToxMTYgW2V4cGFuZEtleXNdCiMgICAgICIke0dEQlZFUlNJT059IgpQUkVGRVJSRURfVkVS
U0lPTl9nZGItY3Jvc3MtY2FuYWRpYW4taTU4Nj0iNy4xMiUiCiMKIyAkUFJFRkVSUkVEX1ZFUlNJ
T05fZ2RiLWNyb3NzLWk1ODYKIyAgIHJlbmFtZSBmcm9tIFBSRUZFUlJFRF9WRVJTSU9OX2dkYi1j
cm9zcy0ke1RBUkdFVF9BUkNIfSBkYXRhLnB5OjExNiBbZXhwYW5kS2V5c10KIyAgICAgIiR7R0RC
VkVSU0lPTn0iClBSRUZFUlJFRF9WRVJTSU9OX2dkYi1jcm9zcy1pNTg2PSI3LjEyJSIKIwojICRQ
UkVGRVJSRURfVkVSU0lPTl9nbGliYwojICAgc2V0PyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9r
eS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvdGNtb2RlLWRlZmF1bHQuaW5jOjU5CiMgICAgICIk
e0dMSUJDVkVSU0lPTn0iClBSRUZFUlJFRF9WRVJTSU9OX2dsaWJjPSIyLjI1IgojCiMgJFBSRUZF
UlJFRF9WRVJTSU9OX2dsaWJjLWluaXRpYWwKIyAgIHNldD8gL21lZGlhL3JlYmVjY2FzL3lvY3Rv
L3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL3RjbW9kZS1kZWZhdWx0LmluYzo2NAojICAg
ICAiJHtHTElCQ1ZFUlNJT059IgpQUkVGRVJSRURfVkVSU0lPTl9nbGliYy1pbml0aWFsPSIyLjI1
IgojCiMgJFBSRUZFUlJFRF9WRVJTSU9OX2dsaWJjLWxvY2FsZQojICAgc2V0PyAvbWVkaWEvcmVi
ZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvdGNtb2RlLWRlZmF1bHQu
aW5jOjYwCiMgICAgICIke0dMSUJDVkVSU0lPTn0iClBSRUZFUlJFRF9WRVJTSU9OX2dsaWJjLWxv
Y2FsZT0iMi4yNSIKIwojICRQUkVGRVJSRURfVkVSU0lPTl9nbGliYy1tdHJhY2UKIyAgIHNldD8g
L21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL3RjbW9k
ZS1kZWZhdWx0LmluYzo2MQojICAgICAiJHtHTElCQ1ZFUlNJT059IgpQUkVGRVJSRURfVkVSU0lP
Tl9nbGliYy1tdHJhY2U9IjIuMjUiCiMKIyAkUFJFRkVSUkVEX1ZFUlNJT05fZ2xpYmMtc2NyaXB0
cwojICAgc2V0PyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2lu
Y2x1ZGUvdGNtb2RlLWRlZmF1bHQuaW5jOjYyCiMgICAgICIke0dMSUJDVkVSU0lPTn0iClBSRUZF
UlJFRF9WRVJTSU9OX2dsaWJjLXNjcmlwdHM9IjIuMjUiCiMKIyAkUFJFRkVSUkVEX1ZFUlNJT05f
Z3ppcC1uYXRpdmUKIyAgIHNldD8gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25m
L2Rpc3Ryby9pbmNsdWRlL3RjbW9kZS1kZWZhdWx0LmluYzo3MQojICAgICAiMS44IgpQUkVGRVJS
RURfVkVSU0lPTl9nemlwLW5hdGl2ZT0iMS44IgojCiMgJFBSRUZFUlJFRF9WRVJTSU9OX2xpYmVy
YXRpb24tZm9udHMKIyAgIHNldD8gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25m
L2Rpc3Ryby9pbmNsdWRlL2RlZmF1bHQtdmVyc2lvbnMuaW5jOjYKIyAgICAgIjEuMDQiClBSRUZF
UlJFRF9WRVJTSU9OX2xpYmVyYXRpb24tZm9udHM9IjEuMDQiCiMKIyAkUFJFRkVSUkVEX1ZFUlNJ
T05fbGliZ2NjCiMgICBzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9k
aXN0cm8vaW5jbHVkZS90Y21vZGUtZGVmYXVsdC5pbmM6NDMKIyAgICAgIiR7R0NDVkVSU0lPTn0i
ClBSRUZFUlJFRF9WRVJTSU9OX2xpYmdjYz0iNi4zJSIKIwojICRQUkVGRVJSRURfVkVSU0lPTl9s
aWJnY2MtaW5pdGlhbAojICAgc2V0PyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2Nv
bmYvZGlzdHJvL2luY2x1ZGUvdGNtb2RlLWRlZmF1bHQuaW5jOjQ0CiMgICAgICIke0dDQ1ZFUlNJ
T059IgpQUkVGRVJSRURfVkVSU0lPTl9saWJnY2MtaW5pdGlhbD0iNi4zJSIKIwojICRQUkVGRVJS
RURfVkVSU0lPTl9saW51eC1saWJjLWhlYWRlcnMKIyAgIHNldD8gL21lZGlhL3JlYmVjY2FzL3lv
Y3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL3RjbW9kZS1kZWZhdWx0LmluYzo1Nwoj
ICAgICAiJHtMSU5VWExJQkNWRVJTSU9OfSIKUFJFRkVSUkVEX1ZFUlNJT05fbGludXgtbGliYy1o
ZWFkZXJzPSI0LjEwJSIKIwojICRQUkVGRVJSRURfVkVSU0lPTl9saW51eC15b2N0byBbNyBvcGVy
YXRpb25zXQojICAgc2V0PyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXBva3kvY29u
Zi9kaXN0cm8vcG9reS5jb25mOjI0CiMgICAgICI0LjEwJSIKIyAgIG92ZXJyaWRlW3FlbXV4ODZd
OnNldD8gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5L2NvbmYvZGlzdHJvL3Bv
a3kuY29uZjoyNQojICAgICAiNC4xMCUiCiMgICBvdmVycmlkZVtxZW11eDg2LTY0XTpzZXQ/IC9t
ZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEtcG9reS9jb25mL2Rpc3Ryby9wb2t5LmNvbmY6
MjYKIyAgICAgIjQuMTAlIgojICAgb3ZlcnJpZGVbcWVtdWFybV06c2V0PyAvbWVkaWEvcmViZWNj
YXMveW9jdG8vcG9reS9tZXRhLXBva3kvY29uZi9kaXN0cm8vcG9reS5jb25mOjI3CiMgICAgICI0
LjEwJSIKIyAgIG92ZXJyaWRlW3FlbXVtaXBzXTpzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9w
b2t5L21ldGEtcG9reS9jb25mL2Rpc3Ryby9wb2t5LmNvbmY6MjgKIyAgICAgIjQuMTAlIgojICAg
b3ZlcnJpZGVbcWVtdW1pcHM2NF06c2V0PyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRh
LXBva3kvY29uZi9kaXN0cm8vcG9reS5jb25mOjI5CiMgICAgICI0LjEwJSIKIyAgIG92ZXJyaWRl
W3FlbXVwcGNdOnNldD8gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5L2NvbmYv
ZGlzdHJvL3Bva3kuY29uZjozMAojICAgICAiNC4xMCUiCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToK
IyAgICI0LjEwJSIKUFJFRkVSUkVEX1ZFUlNJT05fbGludXgteW9jdG89IjQuMTAlIgojCiMgJFBS
RUZFUlJFRF9WRVJTSU9OX2xpbnV4LXlvY3RvX3FlbXVhcm0KIyAgIHNldD8gL21lZGlhL3JlYmVj
Y2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5L2NvbmYvZGlzdHJvL3Bva3kuY29uZjoyNwojICAgICAi
NC4xMCUiClBSRUZFUlJFRF9WRVJTSU9OX2xpbnV4LXlvY3RvX3FlbXVhcm09IjQuMTAlIgojCiMg
JFBSRUZFUlJFRF9WRVJTSU9OX2xpbnV4LXlvY3RvX3FlbXVtaXBzCiMgICBzZXQ/IC9tZWRpYS9y
ZWJlY2Nhcy95b2N0by9wb2t5L21ldGEtcG9reS9jb25mL2Rpc3Ryby9wb2t5LmNvbmY6MjgKIyAg
ICAgIjQuMTAlIgpQUkVGRVJSRURfVkVSU0lPTl9saW51eC15b2N0b19xZW11bWlwcz0iNC4xMCUi
CiMKIyAkUFJFRkVSUkVEX1ZFUlNJT05fbGludXgteW9jdG9fcWVtdW1pcHM2NAojICAgc2V0PyAv
bWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXBva3kvY29uZi9kaXN0cm8vcG9reS5jb25m
OjI5CiMgICAgICI0LjEwJSIKUFJFRkVSUkVEX1ZFUlNJT05fbGludXgteW9jdG9fcWVtdW1pcHM2
ND0iNC4xMCUiCiMKIyAkUFJFRkVSUkVEX1ZFUlNJT05fbGludXgteW9jdG9fcWVtdXBwYwojICAg
c2V0PyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXBva3kvY29uZi9kaXN0cm8vcG9r
eS5jb25mOjMwCiMgICAgICI0LjEwJSIKUFJFRkVSUkVEX1ZFUlNJT05fbGludXgteW9jdG9fcWVt
dXBwYz0iNC4xMCUiCiMKIyAkUFJFRkVSUkVEX1ZFUlNJT05fbGludXgteW9jdG9fcWVtdXg4Ngoj
ICAgc2V0PyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXBva3kvY29uZi9kaXN0cm8v
cG9reS5jb25mOjI1CiMgICAgICI0LjEwJSIKUFJFRkVSUkVEX1ZFUlNJT05fbGludXgteW9jdG9f
cWVtdXg4Nj0iNC4xMCUiCiMKIyAkUFJFRkVSUkVEX1ZFUlNJT05fbGludXgteW9jdG9fcWVtdXg4
Ni02NAojICAgc2V0PyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXBva3kvY29uZi9k
aXN0cm8vcG9reS5jb25mOjI2CiMgICAgICI0LjEwJSIKUFJFRkVSUkVEX1ZFUlNJT05fbGludXgt
eW9jdG9fcWVtdXg4Ni02ND0iNC4xMCUiCiMKIyAkUFJFRkVSUkVEX1ZFUlNJT05fbmF0aXZlc2Rr
LWdjYwojICAgc2V0PyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJv
L2luY2x1ZGUvdGNtb2RlLWRlZmF1bHQuaW5jOjQ1CiMgICAgICIke1NES0dDQ1ZFUlNJT059IgpQ
UkVGRVJSRURfVkVSU0lPTl9uYXRpdmVzZGstZ2NjPSI2LjMlIgojCiMgJFBSRUZFUlJFRF9WRVJT
SU9OX25hdGl2ZXNkay1nY2MtcnVudGltZQojICAgc2V0PyAvbWVkaWEvcmViZWNjYXMveW9jdG8v
cG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvdGNtb2RlLWRlZmF1bHQuaW5jOjQxCiMgICAg
ICIke1NES0dDQ1ZFUlNJT059IgpQUkVGRVJSRURfVkVSU0lPTl9uYXRpdmVzZGstZ2NjLXJ1bnRp
bWU9IjYuMyUiCiMKIyAkUFJFRkVSUkVEX1ZFUlNJT05fbmF0aXZlc2RrLWdjYy1zYW5pdGl6ZXJz
CiMgICBzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5j
bHVkZS90Y21vZGUtZGVmYXVsdC5pbmM6NDIKIyAgICAgIiR7U0RLR0NDVkVSU0lPTn0iClBSRUZF
UlJFRF9WRVJTSU9OX25hdGl2ZXNkay1nY2Mtc2FuaXRpemVycz0iNi4zJSIKIwojICRQUkVGRVJS
RURfVkVSU0lPTl9uYXRpdmVzZGstZ2xpYmMKIyAgIHNldD8gL21lZGlhL3JlYmVjY2FzL3lvY3Rv
L3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL3RjbW9kZS1kZWZhdWx0LmluYzo2MwojICAg
ICAiJHtHTElCQ1ZFUlNJT059IgpQUkVGRVJSRURfVkVSU0lPTl9uYXRpdmVzZGstZ2xpYmM9IjIu
MjUiCiMKIyAkUFJFRkVSUkVEX1ZFUlNJT05fbmF0aXZlc2RrLWdsaWJjLWluaXRpYWwKIyAgIHNl
dD8gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL3Rj
bW9kZS1kZWZhdWx0LmluYzo2NQojICAgICAiJHtHTElCQ1ZFUlNJT059IgpQUkVGRVJSRURfVkVS
U0lPTl9uYXRpdmVzZGstZ2xpYmMtaW5pdGlhbD0iMi4yNSIKIwojICRQUkVGRVJSRURfVkVSU0lP
Tl9uYXRpdmVzZGstbGliZ2NjCiMgICBzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21l
dGEvY29uZi9kaXN0cm8vaW5jbHVkZS90Y21vZGUtZGVmYXVsdC5pbmM6NDYKIyAgICAgIiR7U0RL
R0NDVkVSU0lPTn0iClBSRUZFUlJFRF9WRVJTSU9OX25hdGl2ZXNkay1saWJnY2M9IjYuMyUiCiMK
IyAkUFJFRkVSUkVEX1ZFUlNJT05fbmF0aXZlc2RrLWxpYmdjYy1pbml0aWFsCiMgICBzZXQ/IC9t
ZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS90Y21vZGUt
ZGVmYXVsdC5pbmM6NDcKIyAgICAgIiR7U0RLR0NDVkVSU0lPTn0iClBSRUZFUlJFRF9WRVJTSU9O
X25hdGl2ZXNkay1saWJnY2MtaW5pdGlhbD0iNi4zJSIKIwojICRQUkVGRVJSRURfVkVSU0lPTl9u
YXRpdmVzZGstbGludXgtbGliYy1oZWFkZXJzCiMgICBzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95b2N0
by9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS90Y21vZGUtZGVmYXVsdC5pbmM6NTgKIyAg
ICAgIiR7TElOVVhMSUJDVkVSU0lPTn0iClBSRUZFUlJFRF9WRVJTSU9OX25hdGl2ZXNkay1saW51
eC1saWJjLWhlYWRlcnM9IjQuMTAlIgojCiMgJFBSRUZFUlJFRF9WRVJTSU9OX3VjbGliYwojICAg
c2V0PyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUv
dGNtb2RlLWRlZmF1bHQuaW5jOjY3CiMgICAgICIke1VDTElCQ1ZFUlNJT059IgpQUkVGRVJSRURf
VkVSU0lPTl91Y2xpYmM9IjEuMCUiCiMKIyAkUFJFRkVSUkVEX1ZFUlNJT05fdWNsaWJjLWluaXRp
YWwKIyAgIHNldD8gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9p
bmNsdWRlL3RjbW9kZS1kZWZhdWx0LmluYzo2OAojICAgICAiJHtVQ0xJQkNWRVJTSU9OfSIKUFJF
RkVSUkVEX1ZFUlNJT05fdWNsaWJjLWluaXRpYWw9IjEuMCUiCiMKIyAkUFJFTUlSUk9SUyBbMiBv
cGVyYXRpb25zXQojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEtcG9reS9j
b25mL2Rpc3Ryby9wb2t5LmNvbmY6NTkKIyAgICAgW19kZWZhdWx0dmFsXSAiYnpyOi8vLiovLiog
ICBodHRwOi8vZG93bmxvYWRzLnlvY3RvcHJvamVjdC5vcmcvbWlycm9yL3NvdXJjZXMvIFxuIGN2
czovLy4qLy4qICAgaHR0cDovL2Rvd25sb2Fkcy55b2N0b3Byb2plY3Qub3JnL21pcnJvci9zb3Vy
Y2VzLyBcbiBnaXQ6Ly8uKi8uKiAgIGh0dHA6Ly9kb3dubG9hZHMueW9jdG9wcm9qZWN0Lm9yZy9t
aXJyb3Ivc291cmNlcy8gXG4gZ2l0c206Ly8uKi8uKiBodHRwOi8vZG93bmxvYWRzLnlvY3RvcHJv
amVjdC5vcmcvbWlycm9yL3NvdXJjZXMvIFxuIGhnOi8vLiovLiogICAgaHR0cDovL2Rvd25sb2Fk
cy55b2N0b3Byb2plY3Qub3JnL21pcnJvci9zb3VyY2VzLyBcbiBvc2M6Ly8uKi8uKiAgIGh0dHA6
Ly9kb3dubG9hZHMueW9jdG9wcm9qZWN0Lm9yZy9taXJyb3Ivc291cmNlcy8gXG4gcDQ6Ly8uKi8u
KiAgICBodHRwOi8vZG93bmxvYWRzLnlvY3RvcHJvamVjdC5vcmcvbWlycm9yL3NvdXJjZXMvIFxu
IHN2bjovLy4qLy4qICAgaHR0cDovL2Rvd25sb2Fkcy55b2N0b3Byb2plY3Qub3JnL21pcnJvci9z
b3VyY2VzLyBcbiIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYv
ZG9jdW1lbnRhdGlvbi5jb25mOjMzNgojICAgICBbZG9jXSAiU3BlY2lmaWVzIGFkZGl0aW9uYWwg
cGF0aHMgZnJvbSB3aGljaCB0aGUgT3BlbkVtYmVkZGVkIGJ1aWxkIHN5c3RlbSBnZXRzIHNvdXJj
ZSBjb2RlLiIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgImJ6cjovLy4qLy4qICAgaHR0cDov
L2Rvd25sb2Fkcy55b2N0b3Byb2plY3Qub3JnL21pcnJvci9zb3VyY2VzLyBcbiBjdnM6Ly8uKi8u
KiAgIGh0dHA6Ly9kb3dubG9hZHMueW9jdG9wcm9qZWN0Lm9yZy9taXJyb3Ivc291cmNlcy8gXG4g
Z2l0Oi8vLiovLiogICBodHRwOi8vZG93bmxvYWRzLnlvY3RvcHJvamVjdC5vcmcvbWlycm9yL3Nv
dXJjZXMvIFxuIGdpdHNtOi8vLiovLiogaHR0cDovL2Rvd25sb2Fkcy55b2N0b3Byb2plY3Qub3Jn
L21pcnJvci9zb3VyY2VzLyBcbiBoZzovLy4qLy4qICAgIGh0dHA6Ly9kb3dubG9hZHMueW9jdG9w
cm9qZWN0Lm9yZy9taXJyb3Ivc291cmNlcy8gXG4gb3NjOi8vLiovLiogICBodHRwOi8vZG93bmxv
YWRzLnlvY3RvcHJvamVjdC5vcmcvbWlycm9yL3NvdXJjZXMvIFxuIHA0Oi8vLiovLiogICAgaHR0
cDovL2Rvd25sb2Fkcy55b2N0b3Byb2plY3Qub3JnL21pcnJvci9zb3VyY2VzLyBcbiBzdm46Ly8u
Ki8uKiAgIGh0dHA6Ly9kb3dubG9hZHMueW9jdG9wcm9qZWN0Lm9yZy9taXJyb3Ivc291cmNlcy8g
XG4iClBSRU1JUlJPUlM9ImJ6cjovLy4qLy4qICAgaHR0cDovL2Rvd25sb2Fkcy55b2N0b3Byb2pl
Y3Qub3JnL21pcnJvci9zb3VyY2VzLyBcbiBjdnM6Ly8uKi8uKiAgIGh0dHA6Ly9kb3dubG9hZHMu
eW9jdG9wcm9qZWN0Lm9yZy9taXJyb3Ivc291cmNlcy8gXG4gZ2l0Oi8vLiovLiogICBodHRwOi8v
ZG93bmxvYWRzLnlvY3RvcHJvamVjdC5vcmcvbWlycm9yL3NvdXJjZXMvIFxuIGdpdHNtOi8vLiov
LiogaHR0cDovL2Rvd25sb2Fkcy55b2N0b3Byb2plY3Qub3JnL21pcnJvci9zb3VyY2VzLyBcbiBo
ZzovLy4qLy4qICAgIGh0dHA6Ly9kb3dubG9hZHMueW9jdG9wcm9qZWN0Lm9yZy9taXJyb3Ivc291
cmNlcy8gXG4gb3NjOi8vLiovLiogICBodHRwOi8vZG93bmxvYWRzLnlvY3RvcHJvamVjdC5vcmcv
bWlycm9yL3NvdXJjZXMvIFxuIHA0Oi8vLiovLiogICAgaHR0cDovL2Rvd25sb2Fkcy55b2N0b3By
b2plY3Qub3JnL21pcnJvci9zb3VyY2VzLyBcbiBzdm46Ly8uKi8uKiAgIGh0dHA6Ly9kb3dubG9h
ZHMueW9jdG9wcm9qZWN0Lm9yZy9taXJyb3Ivc291cmNlcy8gXG4iCiMKIyAkUFJFUFJPQ0VTU19S
RUxPQ0FURV9ESVJTCiMgICBzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY2xh
c3Nlcy9jaHJwYXRoLmJiY2xhc3M6MgojICAgICAiIgpQUkVQUk9DRVNTX1JFTE9DQVRFX0RJUlM9
IiIKIwojICRQUklOQwojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29u
Zi9kb2N1bWVudGF0aW9uLmNvbmY6MzM3CiMgICAgIFtkb2NdICJDYXVzZXMgdGhlIFBSIHZhcmlh
YmxlIG9mIC5iYmFwcGVuZCBmaWxlcyB0byBkeW5hbWljYWxseSBpbmNyZW1lbnQuIFRoaXMgaW5j
cmVtZW50IG1pbmltaXplcyB0aGUgaW1wYWN0IG9mIGxheWVyIG9yZGVyaW5nLiBUaGlzIHZhcmlh
YmxlIGRlZmF1bHRzIHRvICcwJy4iCiMKIyAkUFJJT1JJVFkgWzIgb3BlcmF0aW9uc10KIyAgIHNl
dCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjIyMgoj
ICAgICAib3B0aW9uYWwiCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9j
b25mL2RvY3VtZW50YXRpb24uY29uZjozMzgKIyAgICAgW2RvY10gIkluZGljYXRlcyB0aGUgaW1w
b3J0YW5jZSBvZiBhIHBhY2thZ2UuICBUaGUgZGVmYXVsdCB2YWx1ZSBpcyAnb3B0aW9uYWwnLiAg
T3RoZXIgc3RhbmRhcmQgdmFsdWVzIGFyZSAncmVxdWlyZWQnLCAnc3RhbmRhcmQnIGFuZCAnZXh0
cmEnLiIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIm9wdGlvbmFsIgpQUklPUklUWT0ib3B0
aW9uYWwiCiMKIyAkUFJPVklERVMgWzMgb3BlcmF0aW9uc10KIyAgIHNldCAvbWVkaWEvcmViZWNj
YXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjI2MgojICAgICAiIgojICAgX3By
ZXBlbmQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjoy
NjMKIyAgICAgIiR7UE59ICIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRh
L2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjMzOQojICAgICBbZG9jXSAiQSBsaXN0IG9mIGFsaWFz
ZXMgdGhhdCBhIHJlY2lwZSBhbHNvIHByb3ZpZGVzLiBUaGVzZSBhbGlhc2VzIGFyZSB1c2VmdWwg
Zm9yIHNhdGlzZnlpbmcgZGVwZW5kZW5jaWVzIG9mIG90aGVyIHJlY2lwZXMgZHVyaW5nIHRoZSBi
dWlsZCBhcyBzcGVjaWZpZWQgYnkgREVQRU5EUy4iCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAg
ICIke1BOfSAiClBST1ZJREVTPSJsdHRuZy1tb2R1bGVzICIKIwojICRQUlNFUlZfSE9TVAojICAg
c2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNv
bmY6MzQwCiMgICAgIFtkb2NdICJUaGUgbmV0d29yayBiYXNlZCBQUiBzZXJ2aWNlIGhvc3QgYW5k
IHBvcnQuIgojCiMgJFBTRVVET19ESVNBQkxFRCBbMiBvcGVyYXRpb25zXQojICAgZXhwb3J0ZWQg
L21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo2NjMKIyAg
ICAgW2V4cG9ydF0gIjEiCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9j
b25mL2JpdGJha2UuY29uZjo2NjMKIyAgICAgIjEiCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAg
ICIxIgpleHBvcnQgUFNFVURPX0RJU0FCTEVEPSIxIgojCiMgJFBTRVVET19MT0NBTFNUQVRFRElS
CiMgICBzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNv
bmY6NjYwCiMgICAgICIke1dPUktESVJ9L3BzZXVkby8iClBTRVVET19MT0NBTFNUQVRFRElSPSIv
bWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvdG1wL3dvcmsvcWVtdXg4Ni1wb2t5LWxpbnV4L2x0
dG5nLW1vZHVsZXMvMi45LjEtcjAvcHNldWRvLyIKIwojICRQU0VVRE9fUEFTU1dECiMgICBzZXQ/
IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6NjYxCiMg
ICAgICIke1NUQUdJTkdfRElSX1RBUkdFVH06JHtQU0VVRE9fU1lTUk9PVH0iClBTRVVET19QQVNT
V0Q9Ii9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy90bXAvd29yay9xZW11eDg2LXBva3ktbGlu
dXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9yZWNpcGUtc3lzcm9vdDovbWVkaWEvcmViZWNjYXMv
eW9jdG8vbHR0bmcvdG1wL3N5c3Jvb3RzLWNvbXBvbmVudHMveDg2XzY0L3BzZXVkby1uYXRpdmUi
CiMKIyAkUFNFVURPX1NZU1JPT1QKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9t
ZXRhL2NvbmYvYml0YmFrZS5jb25mOjY2MgojICAgICAiJHtDT01QT05FTlRTX0RJUn0vJHtCVUlM
RF9BUkNIfS9wc2V1ZG8tbmF0aXZlIgpQU0VVRE9fU1lTUk9PVD0iL21lZGlhL3JlYmVjY2FzL3lv
Y3RvL2x0dG5nL3RtcC9zeXNyb290cy1jb21wb25lbnRzL3g4Nl82NC9wc2V1ZG8tbmF0aXZlIgoj
CiMgJFBWIFszIG9wZXJhdGlvbnNdCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kv
bWV0YS9jb25mL2JpdGJha2UuY29uZjoxOTUKIyAgICAgIiR7QGJiLnBhcnNlLkJCSGFuZGxlci52
YXJzX2Zyb21fZmlsZShkLmdldFZhcignRklMRScsIEZhbHNlKSxkKVsxXSBvciAnMS4wJ30iCiMg
ICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24u
Y29uZjozNDEKIyAgICAgW2RvY10gIlRoZSB2ZXJzaW9uIG9mIHRoZSByZWNpcGUuIFRoZSB2ZXJz
aW9uIGlzIG5vcm1hbGx5IGV4dHJhY3RlZCBmcm9tIHRoZSByZWNpcGUgZmlsZW5hbWUuIgojICAg
c2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY2xhc3Nlcy9zc3RhdGUuYmJjbGFz
czoyMQojICAgICBbdmFyZGVwdmFsdWVdICIke1BWfSIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgoj
ICAgIiR7QGJiLnBhcnNlLkJCSGFuZGxlci52YXJzX2Zyb21fZmlsZShkLmdldFZhcignRklMRScs
IEZhbHNlKSxkKVsxXSBvciAnMS4wJ30iClBWPSIyLjkuMSIKIwojICRQV0QgWzIgb3BlcmF0aW9u
c10KIyAgIGZyb20gZW52IGRhdGEucHk6MTI0IFtpbmhlcml0RnJvbU9TXQojICAgICAiL21lZGlh
L3JlYmVjY2FzL3lvY3RvL2x0dG5nIgojICAgYXV0byBlbnYgZXhwb3J0IGRhdGEucHk6MTI2IFtp
bmhlcml0RnJvbU9TXQojICAgICBbZXhwb3J0XSAiVHJ1ZSIKIyBwcmUtZXhwYW5zaW9uIHZhbHVl
OgojICAgIi9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZyIKZXhwb3J0IFBXRD0iL21lZGlhL3Jl
YmVjY2FzL3lvY3RvL2x0dG5nIgojCiMgJFBZVEhPTgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95
b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6NTA5CiMgICAgICIke0BzeXMuZXhlY3V0
YWJsZX0iClBZVEhPTj0iL3Vzci9iaW4vcHl0aG9uMyIKIwojICRRQURFUEVORFMgWzMgb3BlcmF0
aW9uc10KIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NsYXNzZXMvaW5z
YW5lLmJiY2xhc3M6MjMKIyAgICAgInByZWxpbmstbmF0aXZlIgojICAgb3ZlcnJpZGVbY2xhc3Mt
bmF0aXZlXTpzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL2luc2Fu
ZS5iYmNsYXNzOjI0CiMgICAgICIiCiMgICBvdmVycmlkZVtjbGFzcy1uYXRpdmVzZGtdOnNldCAv
bWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NsYXNzZXMvaW5zYW5lLmJiY2xhc3M6MjUK
IyAgICAgIiIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgInByZWxpbmstbmF0aXZlIgpRQURF
UEVORFM9InByZWxpbmstbmF0aXZlIgojCiMgJFFBREVQRU5EU19jbGFzcy1uYXRpdmUKIyAgIHNl
dCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NsYXNzZXMvaW5zYW5lLmJiY2xhc3M6
MjQKIyAgICAgIiIKUUFERVBFTkRTX2NsYXNzLW5hdGl2ZT0iIgojCiMgJFFBREVQRU5EU19jbGFz
cy1uYXRpdmVzZGsKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NsYXNz
ZXMvaW5zYW5lLmJiY2xhc3M6MjUKIyAgICAgIiIKUUFERVBFTkRTX2NsYXNzLW5hdGl2ZXNkaz0i
IgojCiMgJFFBUEFUSFRFU1QgWzE4IG9wZXJhdGlvbnNdCiMgICBzZXQgL21lZGlhL3JlYmVjY2Fz
L3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL2luc2FuZS5iYmNsYXNzOjIyNwojICAgICBbbGliZXhl
Y10gInBhY2thZ2VfcWFfY2hlY2tfbGliZXhlYyIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9j
dG8vcG9reS9tZXRhL2NsYXNzZXMvaW5zYW5lLmJiY2xhc3M6MjQxCiMgICAgIFtycGF0aHNdICJw
YWNrYWdlX3FhX2NoZWNrX3JwYXRoIgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5
L21ldGEvY2xhc3Nlcy9pbnNhbmUuYmJjbGFzczoyNjYKIyAgICAgW3VzZWxlc3MtcnBhdGhzXSAi
cGFja2FnZV9xYV9jaGVja191c2VsZXNzX3JwYXRocyIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMv
eW9jdG8vcG9reS9tZXRhL2NsYXNzZXMvaW5zYW5lLmJiY2xhc3M6Mjk2CiMgICAgIFtkZXYtc29d
ICJwYWNrYWdlX3FhX2NoZWNrX2RldiIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9r
eS9tZXRhL2NsYXNzZXMvaW5zYW5lLmJiY2xhc3M6MzA2CiMgICAgIFtkZXYtZWxmXSAicGFja2Fn
ZV9xYV9jaGVja19kZXZfZWxmIgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21l
dGEvY2xhc3Nlcy9pbnNhbmUuYmJjbGFzczozMTcKIyAgICAgW3N0YXRpY2Rldl0gInBhY2thZ2Vf
cWFfY2hlY2tfc3RhdGljZGV2IgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21l
dGEvY2xhc3Nlcy9pbnNhbmUuYmJjbGFzczozOTMKIyAgICAgW2RlYnVnLWZpbGVzXSAicGFja2Fn
ZV9xYV9jaGVja19kYmciCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9j
bGFzc2VzL2luc2FuZS5iYmNsYXNzOjQwNAojICAgICBbcGVybXNdICJwYWNrYWdlX3FhX2NoZWNr
X3Blcm0iCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL2lu
c2FuZS5iYmNsYXNzOjQxMQojICAgICBbdW5zYWZlLXJlZmVyZW5jZXMtaW4tc2NyaXB0c10gInBh
Y2thZ2VfcWFfY2hlY2tfdW5zYWZlX3JlZmVyZW5jZXNfaW5fc2NyaXB0cyIKIyAgIHNldCAvbWVk
aWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NsYXNzZXMvaW5zYW5lLmJiY2xhc3M6NDc2CiMg
ICAgIFthcmNoXSAicGFja2FnZV9xYV9jaGVja19hcmNoIgojICAgc2V0IC9tZWRpYS9yZWJlY2Nh
cy95b2N0by9wb2t5L21ldGEvY2xhc3Nlcy9pbnNhbmUuYmJjbGFzczo1MjMKIyAgICAgW2Rlc2t0
b3BdICJwYWNrYWdlX3FhX2NoZWNrX2Rlc2t0b3AiCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lv
Y3RvL3Bva3kvbWV0YS9jbGFzc2VzL2luc2FuZS5iYmNsYXNzOjUzNQojICAgICBbdGV4dHJlbF0g
InBhY2thZ2VfcWFfdGV4dHJlbCIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9t
ZXRhL2NsYXNzZXMvaW5zYW5lLmJiY2xhc3M6NTU5CiMgICAgIFtsZGZsYWdzXSAicGFja2FnZV9x
YV9oYXNoX3N0eWxlIgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY2xh
c3Nlcy9pbnNhbmUuYmJjbGFzczo1OTUKIyAgICAgW2J1aWxkcGF0aHNdICJwYWNrYWdlX3FhX2No
ZWNrX2J1aWxkcGF0aHMiCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9j
bGFzc2VzL2luc2FuZS5iYmNsYXNzOjYxOQojICAgICBbeG9yZy1kcml2ZXItYWJpXSAicGFja2Fn
ZV9xYV9jaGVja194b3JnX2RyaXZlcl9hYmkiCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3Rv
L3Bva3kvbWV0YS9jbGFzc2VzL2luc2FuZS5iYmNsYXNzOjYzNwojICAgICBbaW5mb2Rpcl0gInBh
Y2thZ2VfcWFfY2hlY2tfaW5mb2RpciIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9r
eS9tZXRhL2NsYXNzZXMvaW5zYW5lLmJiY2xhc3M6NjQ3CiMgICAgIFtzeW1saW5rLXRvLXN5c3Jv
b3RdICJwYWNrYWdlX3FhX2NoZWNrX3N5bWxpbmtfdG9fc3lzcm9vdCIKIyAgIHNldCAvbWVkaWEv
cmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NsYXNzZXMvaW5zYW5lLmJiY2xhc3M6MTA0MQojICAg
ICBbaG9zdC11c2VyLWNvbnRhbWluYXRlZF0gInBhY2thZ2VfcWFfY2hlY2tfaG9zdF91c2VyIgoj
IHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiTm9uZSIKIwojICRRQVBLR1RFU1QKIyAgIHNldCAv
bWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NsYXNzZXMvaW5zYW5lLmJiY2xhc3M6MTAw
MAojICAgICBbZXhwYW5kZWQtZF0gInBhY2thZ2VfcWFfY2hlY2tfZXhwYW5kZWRfZCIKIwojICRR
QV9MT0dGSUxFCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rp
c3Ryby9pbmNsdWRlL2RlZmF1bHQtZGlzdHJvdmFycy5pbmM6MQojICAgICAiJHtUTVBESVJ9L3Fh
LmxvZyIKUUFfTE9HRklMRT0iL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL3RtcC9xYS5sb2ci
CiMKIyAkUUFfU0FORQojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY2xh
c3Nlcy9pbnNhbmUuYmJjbGFzczoyNgojICAgICAiVHJ1ZSIKUUFfU0FORT0iVHJ1ZSIKIwojICRR
Ql9BVURJT19EUlYKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYv
bWFjaGluZS9pbmNsdWRlL3FlbXVib290LXg4Ni5pbmM6MTEKIyAgICAgImFsc2EiClFCX0FVRElP
X0RSVj0iYWxzYSIKIwojICRRQl9BVURJT19PUFQKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9j
dG8vcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3FlbXVib290LXg4Ni5pbmM6MTIKIyAg
ICAgIi1zb3VuZGh3IGFjOTcsZXMxMzcwIgpRQl9BVURJT19PUFQ9Ii1zb3VuZGh3IGFjOTcsZXMx
MzcwIgojCiMgJFFCX0NQVSBbMiBvcGVyYXRpb25zXQojICAgb3ZlcnJpZGVbeDg2XTpzZXQgL21l
ZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS9xZW11Ym9v
dC14ODYuaW5jOjQKIyAgICAgIi1jcHUgcGVudGl1bTIiCiMgICBvdmVycmlkZVt4ODYtNjRdOnNl
dCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3Fl
bXVib290LXg4Ni5pbmM6OAojICAgICAiLWNwdSBjb3JlMmR1byIKIyBwcmUtZXhwYW5zaW9uIHZh
bHVlOgojICAgIi1jcHUgcGVudGl1bTIiClFCX0NQVT0iLWNwdSBwZW50aXVtMiIKIwojICRRQl9D
UFVfS1ZNIFsyIG9wZXJhdGlvbnNdCiMgICBvdmVycmlkZVt4ODZdOnNldCAvbWVkaWEvcmViZWNj
YXMveW9jdG8vcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3FlbXVib290LXg4Ni5pbmM6
NQojICAgICAiLWNwdSBwZW50aXVtMiIKIyAgIG92ZXJyaWRlW3g4Ni02NF06c2V0IC9tZWRpYS9y
ZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvcWVtdWJvb3QteDg2
LmluYzo5CiMgICAgICItY3B1IGNvcmUyZHVvIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAi
LWNwdSBwZW50aXVtMiIKUUJfQ1BVX0tWTT0iLWNwdSBwZW50aXVtMiIKIwojICRRQl9DUFVfS1ZN
X3g4NgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9tYWNoaW5l
L2luY2x1ZGUvcWVtdWJvb3QteDg2LmluYzo1CiMgICAgICItY3B1IHBlbnRpdW0yIgpRQl9DUFVf
S1ZNX3g4Nj0iLWNwdSBwZW50aXVtMiIKIwojICRRQl9DUFVfS1ZNX3g4Ni02NAojICAgc2V0IC9t
ZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvcWVtdWJv
b3QteDg2LmluYzo5CiMgICAgICItY3B1IGNvcmUyZHVvIgpRQl9DUFVfS1ZNX3g4Ni02ND0iLWNw
dSBjb3JlMmR1byIKIwojICRRQl9DUFVfeDg2CiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3Rv
L3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS9xZW11Ym9vdC14ODYuaW5jOjQKIyAgICAg
Ii1jcHUgcGVudGl1bTIiClFCX0NQVV94ODY9Ii1jcHUgcGVudGl1bTIiCiMKIyAkUUJfQ1BVX3g4
Ni02NAojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9tYWNoaW5l
L2luY2x1ZGUvcWVtdWJvb3QteDg2LmluYzo4CiMgICAgICItY3B1IGNvcmUyZHVvIgpRQl9DUFVf
eDg2LTY0PSItY3B1IGNvcmUyZHVvIgojCiMgJFFCX0tFUk5FTF9DTURMSU5FX0FQUEVORAojICAg
c2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUv
cWVtdWJvb3QteDg2LmluYzoxMwojICAgICAidmdhPTAgdXZlc2FmYi5tb2RlX29wdGlvbj0ke1VW
RVNBX01PREV9IG9wcm9maWxlLnRpbWVyPTEgdXZlc2FmYi50YXNrX3RpbWVvdXQ9LTEiClFCX0tF
Uk5FTF9DTURMSU5FX0FQUEVORD0idmdhPTAgdXZlc2FmYi5tb2RlX29wdGlvbj02NDB4NDgwLTMy
IG9wcm9maWxlLnRpbWVyPTEgdXZlc2FmYi50YXNrX3RpbWVvdXQ9LTEiCiMKIyAkUUJfT1BUX0FQ
UEVORAojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9tYWNoaW5l
L2luY2x1ZGUvcWVtdWJvb3QteDg2LmluYzoxNQojICAgICAiLXZnYSB2bXdhcmUgLXNob3ctY3Vy
c29yIC11c2IgLXVzYmRldmljZSB0YWJsZXQgLWRldmljZSB2aXJ0aW8tcm5nLXBjaSIKUUJfT1BU
X0FQUEVORD0iLXZnYSB2bXdhcmUgLXNob3ctY3Vyc29yIC11c2IgLXVzYmRldmljZSB0YWJsZXQg
LWRldmljZSB2aXJ0aW8tcm5nLXBjaSIKIwojICRRQl9TWVNURU1fTkFNRSBbMiBvcGVyYXRpb25z
XQojICAgb3ZlcnJpZGVbeDg2XTpzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9j
b25mL21hY2hpbmUvaW5jbHVkZS9xZW11Ym9vdC14ODYuaW5jOjMKIyAgICAgInFlbXUtc3lzdGVt
LWkzODYiCiMgICBvdmVycmlkZVt4ODYtNjRdOnNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9r
eS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3FlbXVib290LXg4Ni5pbmM6NwojICAgICAicWVt
dS1zeXN0ZW0teDg2XzY0IgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAicWVtdS1zeXN0ZW0t
aTM4NiIKUUJfU1lTVEVNX05BTUU9InFlbXUtc3lzdGVtLWkzODYiCiMKIyAkUUJfU1lTVEVNX05B
TUVfeDg2CiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL21hY2hp
bmUvaW5jbHVkZS9xZW11Ym9vdC14ODYuaW5jOjMKIyAgICAgInFlbXUtc3lzdGVtLWkzODYiClFC
X1NZU1RFTV9OQU1FX3g4Nj0icWVtdS1zeXN0ZW0taTM4NiIKIwojICRRQl9TWVNURU1fTkFNRV94
ODYtNjQKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvbWFjaGlu
ZS9pbmNsdWRlL3FlbXVib290LXg4Ni5pbmM6NwojICAgICAicWVtdS1zeXN0ZW0teDg2XzY0IgpR
Ql9TWVNURU1fTkFNRV94ODYtNjQ9InFlbXUtc3lzdGVtLXg4Nl82NCIKIwojICRRRU1VX1RBUkdF
VFMKIyAgIHNldD8gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5L2NvbmYvZGlz
dHJvL3Bva3kuY29uZjo0OAojICAgICAiYXJtIGFhcmNoNjQgaTM4NiBtaXBzIG1pcHNlbCBtaXBz
NjQgbWlwczY0ZWwgcHBjIHg4Nl82NCIKUUVNVV9UQVJHRVRTPSJhcm0gYWFyY2g2NCBpMzg2IG1p
cHMgbWlwc2VsIG1pcHM2NCBtaXBzNjRlbCBwcGMgeDg2XzY0IgojCiMgJFFNQUtFX1BST0ZJTEVT
CiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRp
b24uY29uZjozNDUKIyAgICAgW2RvY10gIlNwZWNpZmllcyB5b3VyIG93biBzdWJzZXQgb2YgLnBy
byBmaWxlcyB0byBiZSBidWlsdCBmb3IgdXNlIHdpdGggcW1ha2UuIgojCiMgJFFVSUxUUkNGSUxF
CiMgICBzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY2xhc3Nlcy9wYXRjaC5i
YmNsYXNzOjQKIyAgICAgIiR7U1RBR0lOR19FVENESVJfTkFUSVZFfS9xdWlsdHJjIgpRVUlMVFJD
RklMRT0iL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL3RtcC93b3JrL3FlbXV4ODYtcG9reS1s
aW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL3JlY2lwZS1zeXNyb290LW5hdGl2ZS9ldGMvcXVp
bHRyYyIKIwojICRSQU5MSUIgWzIgb3BlcmF0aW9uc10KIyAgIGV4cG9ydGVkIC9tZWRpYS9yZWJl
Y2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6NTAyCiMgICAgIFtleHBvcnRd
ICIxIgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtl
LmNvbmY6NTAyCiMgICAgICIke0hPU1RfUFJFRklYfXJhbmxpYiIKIyBwcmUtZXhwYW5zaW9uIHZh
bHVlOgojICAgIiR7SE9TVF9QUkVGSVh9cmFubGliIgpleHBvcnQgUkFOTElCPSJpNTg2LXBva3kt
bGludXgtcmFubGliIgojCiMgJFJDT05GTElDVFMKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9j
dG8vcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjM0OQojICAgICBbZG9jXSAiVGhl
IGxpc3Qgb2YgcGFja2FnZXMgdGhhdCBjb25mbGljdCB3aXRoIGFub3RoZXIgcGFja2FnZS4gTm90
ZSB0aGF0IHRoZSBwYWNrYWdlIHdpbGwgbm90IGJlIGluc3RhbGxlZCBpZiB0aGUgY29uZmxpY3Rp
bmcgcGFja2FnZXMgYXJlIG5vdCBmaXJzdCByZW1vdmVkLiIKIwojICRSREVQRU5EUyBbNSBvcGVy
YXRpb25zXQojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRi
YWtlLmNvbmY6MjYxCiMgICAgICIiCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kv
bWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjozNTAKIyAgICAgW2RvY10gIkxpc3RzIGEgcGFj
a2FnZSdzIHJ1bnRpbWUgZGVwZW5kZW5jaWVzIChpLmUuIG90aGVyIHBhY2thZ2VzKSB0aGF0IG11
c3QgYmUgaW5zdGFsbGVkIGZvciB0aGUgcGFja2FnZSB0byBiZSBidWlsdC4gVGhleSBtdXN0IGJl
IHRoZSBuYW1lcyBvZiBvdGhlciBwYWNrYWdlcyBhcyBsaXN0ZWQgaW4gdGhlIFBBQ0tBR0VTIHZh
cmlhYmxlLCBub3QgcmVjaXBlIG5hbWVzIChQTikuIgojICAgb3ZlcnJpZGVba2VybmVsLWJhc2Vd
OnNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRl
L3FlbXUuaW5jOjE5CiMgICAgICIiCiMgICBvdmVycmlkZVtsdHRuZy1tb2R1bGVzLWRldl06cmVu
YW1lIGZyb20gUkRFUEVORFNfJHtQTn0tZGV2IGRhdGEucHk6MTE2IFtleHBhbmRLZXlzXQojICAg
ICAiJHtQTn0gKD0gJHtFWFRFTkRQS0dWfSkiCiMgICBvdmVycmlkZVtsdHRuZy1tb2R1bGVzLXN0
YXRpY2Rldl06cmVuYW1lIGZyb20gUkRFUEVORFNfJHtQTn0tc3RhdGljZGV2IGRhdGEucHk6MTE2
IFtleHBhbmRLZXlzXQojICAgICAiJHtQTn0tZGV2ICg9ICR7RVhURU5EUEtHVn0pIgojIHByZS1l
eHBhbnNpb24gdmFsdWU6CiMgICAiIgpSREVQRU5EUz0iIgojCiMgJFJERVBFTkRTX2tlcm5lbC1i
YXNlCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL21hY2hpbmUv
aW5jbHVkZS9xZW11LmluYzoxOQojICAgICAiIgpSREVQRU5EU19rZXJuZWwtYmFzZT0iIgojCiMg
JFJERVBFTkRTX2x0dG5nLW1vZHVsZXMtZGV2CiMgICByZW5hbWUgZnJvbSBSREVQRU5EU18ke1BO
fS1kZXYgZGF0YS5weToxMTYgW2V4cGFuZEtleXNdCiMgICAgICIke1BOfSAoPSAke0VYVEVORFBL
R1Z9KSIKUkRFUEVORFNfbHR0bmctbW9kdWxlcy1kZXY9Imx0dG5nLW1vZHVsZXMgKD0gMi45LjEt
cjApIgojCiMgJFJERVBFTkRTX2x0dG5nLW1vZHVsZXMtc3RhdGljZGV2CiMgICByZW5hbWUgZnJv
bSBSREVQRU5EU18ke1BOfS1zdGF0aWNkZXYgZGF0YS5weToxMTYgW2V4cGFuZEtleXNdCiMgICAg
ICIke1BOfS1kZXYgKD0gJHtFWFRFTkRQS0dWfSkiClJERVBFTkRTX2x0dG5nLW1vZHVsZXMtc3Rh
dGljZGV2PSJsdHRuZy1tb2R1bGVzLWRldiAoPSAyLjkuMS1yMCkiCiMKIyAkUkVBREVMRiBbMiBv
cGVyYXRpb25zXQojICAgZXhwb3J0ZWQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9j
b25mL2JpdGJha2UuY29uZjo1MDgKIyAgICAgW2V4cG9ydF0gIjEiCiMgICBzZXQgL21lZGlhL3Jl
YmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo1MDgKIyAgICAgIiR7SE9T
VF9QUkVGSVh9cmVhZGVsZiIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIiR7SE9TVF9QUkVG
SVh9cmVhZGVsZiIKZXhwb3J0IFJFQURFTEY9Imk1ODYtcG9reS1saW51eC1yZWFkZWxmIgojCiMg
JFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWNvcmUtaW1hZ2UtcnQKIyAgIHNldCAvbWVkaWEvcmViZWNj
YXMveW9jdG8vbWV0YS1pbnRlbC1jb250cmliL2NvbmYvaW5jbHVkZS9tYWludGFpbmVycy5pbmM6
MwojICAgICAiU3dlZSBBdW4gS2hvciA8c3dlZS5hdW4ua2hvckBpbnRlbC5jb20+IgpSRUNJUEVf
TUFJTlRBSU5FUl9wbi1jb3JlLWltYWdlLXJ0PSJTd2VlIEF1biBLaG9yIDxzd2VlLmF1bi5raG9y
QGludGVsLmNvbT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4tY29yZS1pbWFnZS1ydC1zZGsK
IyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1jb250cmliL2NvbmYvaW5j
bHVkZS9tYWludGFpbmVycy5pbmM6NAojICAgICAiU3dlZSBBdW4gS2hvciA8c3dlZS5hdW4ua2hv
ckBpbnRlbC5jb20+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi1jb3JlLWltYWdlLXJ0LXNkaz0iU3dl
ZSBBdW4gS2hvciA8c3dlZS5hdW4ua2hvckBpbnRlbC5jb20+IgojCiMgJFJFQ0lQRV9NQUlOVEFJ
TkVSX3BuLWRwZGsKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1jb250
cmliL2NvbmYvaW5jbHVkZS9tYWludGFpbmVycy5pbmM6NQojICAgICAiVEJEIERQREsgRmxleCBU
ZWFtIgpSRUNJUEVfTUFJTlRBSU5FUl9wbi1kcGRrPSJUQkQgRFBESyBGbGV4IFRlYW0iCiMKIyAk
UkVDSVBFX01BSU5UQUlORVJfcG4tZHBkay1kZXYtbGliaWJ2ZXJicwojICAgc2V0IC9tZWRpYS9y
ZWJlY2Nhcy95b2N0by9tZXRhLWludGVsLWNvbnRyaWIvY29uZi9pbmNsdWRlL21haW50YWluZXJz
LmluYzo2CiMgICAgICJUQkQgRFBESyBGbGV4IFRlYW0iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLWRw
ZGstZGV2LWxpYmlidmVyYnM9IlRCRCBEUERLIEZsZXggVGVhbSIKIwojICRSRUNJUEVfTUFJTlRB
SU5FUl9wbi1lZmlsaW51eAojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9tZXRhLWludGVs
LWNvbnRyaWIvY29uZi9pbmNsdWRlL21haW50YWluZXJzLmluYzo3CiMgICAgICJTd2VlIEF1biBL
aG9yIDxzd2VlLmF1bi5raG9yQGludGVsLmNvbT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLWVmaWxp
bnV4PSJTd2VlIEF1biBLaG9yIDxzd2VlLmF1bi5raG9yQGludGVsLmNvbT4iCiMKIyAkUkVDSVBF
X01BSU5UQUlORVJfcG4tZ21hNTAwLWdmeC1jaGVjawojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95
b2N0by9tZXRhLWludGVsLWNvbnRyaWIvY29uZi9pbmNsdWRlL21haW50YWluZXJzLmluYzo4CiMg
ICAgICJXZWkgVGVlIE5nIDx3ZWkudGVlLm5nQGludGVsLmNvbT4iClJFQ0lQRV9NQUlOVEFJTkVS
X3BuLWdtYTUwMC1nZngtY2hlY2s9IldlaSBUZWUgTmcgPHdlaS50ZWUubmdAaW50ZWwuY29tPiIK
IwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1pbnRlbC1ncHUtdG9vbHMKIyAgIHNldCAvbWVkaWEv
cmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1jb250cmliL2NvbmYvaW5jbHVkZS9tYWludGFpbmVy
cy5pbmM6OQojICAgICAiV2VpIFRlZSBOZyA8d2VpLnRlZS5uZ0BpbnRlbC5jb20+IgpSRUNJUEVf
TUFJTlRBSU5FUl9wbi1pbnRlbC1ncHUtdG9vbHM9IldlaSBUZWUgTmcgPHdlaS50ZWUubmdAaW50
ZWwuY29tPiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1pbnRlbC1taWNyb2NvZGUKIyAgIHNl
dCAvbWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1jb250cmliL2NvbmYvaW5jbHVkZS9t
YWludGFpbmVycy5pbmM6MTAKIyAgICAgIlN3ZWUgQXVuIEtob3IgPHN3ZWUuYXVuLmtob3JAaW50
ZWwuY29tPiIKUkVDSVBFX01BSU5UQUlORVJfcG4taW50ZWwtbWljcm9jb2RlPSJTd2VlIEF1biBL
aG9yIDxzd2VlLmF1bi5raG9yQGludGVsLmNvbT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4t
aW50ZWwtbWluaW1hbC1pbml0cmFtZnMKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vbWV0
YS1pbnRlbC1jb250cmliL2NvbmYvaW5jbHVkZS9tYWludGFpbmVycy5pbmM6MTEKIyAgICAgIlN3
ZWUgQXVuIEtob3IgPHN3ZWUuYXVuLmtob3JAaW50ZWwuY29tPiIKUkVDSVBFX01BSU5UQUlORVJf
cG4taW50ZWwtbWluaW1hbC1pbml0cmFtZnM9IlN3ZWUgQXVuIEtob3IgPHN3ZWUuYXVuLmtob3JA
aW50ZWwuY29tPiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1pdWNvZGUtdG9vbAojICAgc2V0
IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9tZXRhLWludGVsLWNvbnRyaWIvY29uZi9pbmNsdWRlL21h
aW50YWluZXJzLmluYzoxMgojICAgICAiU3dlZSBBdW4gS2hvciA8c3dlZS5hdW4ua2hvckBpbnRl
bC5jb20+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi1pdWNvZGUtdG9vbD0iU3dlZSBBdW4gS2hvciA8
c3dlZS5hdW4ua2hvckBpbnRlbC5jb20+IgojCiMgJFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWxpYnZh
LWludGVsLWRyaXZlcgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9tZXRhLWludGVsLWNv
bnRyaWIvY29uZi9pbmNsdWRlL21haW50YWluZXJzLmluYzoxMwojICAgICAiV2VpIFRlZSBOZyA8
d2VpLnRlZS5uZ0BpbnRlbC5jb20+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi1saWJ2YS1pbnRlbC1k
cml2ZXI9IldlaSBUZWUgTmcgPHdlaS50ZWUubmdAaW50ZWwuY29tPiIKIwojICRSRUNJUEVfTUFJ
TlRBSU5FUl9wbi1saWJ5YW1pCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL21ldGEtaW50
ZWwtY29udHJpYi9jb25mL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjE0CiMgICAgICJXZWkgVGVl
IE5nIDx3ZWkudGVlLm5nQGludGVsLmNvbT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLWxpYnlhbWk9
IldlaSBUZWUgTmcgPHdlaS50ZWUubmdAaW50ZWwuY29tPiIKIwojICRSRUNJUEVfTUFJTlRBSU5F
Ul9wbi1saWJ5YW1pLXV0aWxzCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL21ldGEtaW50
ZWwtY29udHJpYi9jb25mL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjE1CiMgICAgICJXZWkgVGVl
IE5nIDx3ZWkudGVlLm5nQGludGVsLmNvbT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLWxpYnlhbWkt
dXRpbHM9IldlaSBUZWUgTmcgPHdlaS50ZWUubmdAaW50ZWwuY29tPiIKIwojICRSRUNJUEVfTUFJ
TlRBSU5FUl9wbi1saW51eC1pbnRlbAojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9tZXRh
LWludGVsLWNvbnRyaWIvY29uZi9pbmNsdWRlL21haW50YWluZXJzLmluYzoxNgojICAgICAiU3dl
ZSBBdW4gS2hvciA8c3dlZS5hdW4ua2hvckBpbnRlbC5jb20+IgpSRUNJUEVfTUFJTlRBSU5FUl9w
bi1saW51eC1pbnRlbD0iU3dlZSBBdW4gS2hvciA8c3dlZS5hdW4ua2hvckBpbnRlbC5jb20+Igoj
CiMgJFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWxpbnV4LWludGVsLXJ0CiMgICBzZXQgL21lZGlhL3Jl
YmVjY2FzL3lvY3RvL21ldGEtaW50ZWwtY29udHJpYi9jb25mL2luY2x1ZGUvbWFpbnRhaW5lcnMu
aW5jOjE3CiMgICAgICJTd2VlIEF1biBLaG9yIDxzd2VlLmF1bi5raG9yQGludGVsLmNvbT4iClJF
Q0lQRV9NQUlOVEFJTkVSX3BuLWxpbnV4LWludGVsLXJ0PSJTd2VlIEF1biBLaG9yIDxzd2VlLmF1
bi5raG9yQGludGVsLmNvbT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4tbG1zNwojICAgc2V0
IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9tZXRhLWludGVsLWNvbnRyaWIvY29uZi9pbmNsdWRlL21h
aW50YWluZXJzLmluYzoxOAojICAgICAiVEJEIgpSRUNJUEVfTUFJTlRBSU5FUl9wbi1sbXM3PSJU
QkQiCiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4tbG1zOAojICAgc2V0IC9tZWRpYS9yZWJlY2Nh
cy95b2N0by9tZXRhLWludGVsLWNvbnRyaWIvY29uZi9pbmNsdWRlL21haW50YWluZXJzLmluYzox
OQojICAgICAiVEJEIgpSRUNJUEVfTUFJTlRBSU5FUl9wbi1sbXM4PSJUQkQiCiMKIyAkUkVDSVBF
X01BSU5UQUlORVJfcG4tb3BlbnNzbC1xYXQKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8v
bWV0YS1pbnRlbC1jb250cmliL2NvbmYvaW5jbHVkZS9tYWludGFpbmVycy5pbmM6MjAKIyAgICAg
IlRCRCBEUERLIEZsZXggVGVhbSIKUkVDSVBFX01BSU5UQUlORVJfcG4tb3BlbnNzbC1xYXQ9IlRC
RCBEUERLIEZsZXggVGVhbSIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1xYXQxNiBbMiBvcGVy
YXRpb25zXQojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9tZXRhLWludGVsLWNvbnRyaWIv
Y29uZi9pbmNsdWRlL21haW50YWluZXJzLmluYzoyMQojICAgICAiVEJEIERQREsgRmxleCBUZWFt
IgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9tZXRhLWludGVsLWNvbnRyaWIvY29uZi9p
bmNsdWRlL21haW50YWluZXJzLmluYzoyMgojICAgICAiVEJEIERQREsgRmxleCBUZWFtIgojIHBy
ZS1leHBhbnNpb24gdmFsdWU6CiMgICAiVEJEIERQREsgRmxleCBUZWFtIgpSRUNJUEVfTUFJTlRB
SU5FUl9wbi1xYXQxNj0iVEJEIERQREsgRmxleCBUZWFtIgojCiMgJFJFQ0lQRV9NQUlOVEFJTkVS
X3BuLXJtYwojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9tZXRhLWludGVsLWNvbnRyaWIv
Y29uZi9pbmNsdWRlL21haW50YWluZXJzLmluYzoyMwojICAgICAiV2VpIFRlZSBOZyA8d2VpLnRl
ZS5uZ0BpbnRlbC5jb20+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi1ybWM9IldlaSBUZWUgTmcgPHdl
aS50ZWUubmdAaW50ZWwuY29tPiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1ybWMtZGIKIyAg
IHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1jb250cmliL2NvbmYvaW5jbHVk
ZS9tYWludGFpbmVycy5pbmM6MjQKIyAgICAgIldlaSBUZWUgTmcgPHdlaS50ZWUubmdAaW50ZWwu
Y29tPiIKUkVDSVBFX01BSU5UQUlORVJfcG4tcm1jLWRiPSJXZWkgVGVlIE5nIDx3ZWkudGVlLm5n
QGludGVsLmNvbT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4tdGhlcm1hbGQKIyAgIHNldCAv
bWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1jb250cmliL2NvbmYvaW5jbHVkZS9tYWlu
dGFpbmVycy5pbmM6MjUKIyAgICAgIlN3ZWUgQXVuIEtob3IgPHN3ZWUuYXVuLmtob3JAaW50ZWwu
Y29tPiIKUkVDSVBFX01BSU5UQUlORVJfcG4tdGhlcm1hbGQ9IlN3ZWUgQXVuIEtob3IgPHN3ZWUu
YXVuLmtob3JAaW50ZWwuY29tPiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi12YS1pbnRlbAoj
ICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9tZXRhLWludGVsLWNvbnRyaWIvY29uZi9pbmNs
dWRlL21haW50YWluZXJzLmluYzoyNgojICAgICAiV2VpIFRlZSBOZyA8d2VpLnRlZS5uZ0BpbnRl
bC5jb20+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi12YS1pbnRlbD0iV2VpIFRlZSBOZyA8d2VpLnRl
ZS5uZ0BpbnRlbC5jb20+IgojCiMgJFJFQ0lQRV9NQUlOVEFJTkVSX3BuLXhmODYtdmlkZW8tYXN0
CiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL21ldGEtaW50ZWwtY29udHJpYi9jb25mL2lu
Y2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjI3CiMgICAgICJXZWkgVGVlIE5nIDx3ZWkudGVlLm5nQGlu
dGVsLmNvbT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLXhmODYtdmlkZW8tYXN0PSJXZWkgVGVlIE5n
IDx3ZWkudGVlLm5nQGludGVsLmNvbT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4teGY4Ni12
aWRlby1tZ2EKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1jb250cmli
L2NvbmYvaW5jbHVkZS9tYWludGFpbmVycy5pbmM6MjgKIyAgICAgIldlaSBUZWUgTmcgPHdlaS50
ZWUubmdAaW50ZWwuY29tPiIKUkVDSVBFX01BSU5UQUlORVJfcG4teGY4Ni12aWRlby1tZ2E9Ildl
aSBUZWUgTmcgPHdlaS50ZWUubmdAaW50ZWwuY29tPiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9w
bi16bGliLXFhdAojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9tZXRhLWludGVsLWNvbnRy
aWIvY29uZi9pbmNsdWRlL21haW50YWluZXJzLmluYzoyOQojICAgICAiVEJEIERQREsgRmxleCBU
ZWFtIgpSRUNJUEVfTUFJTlRBSU5FUl9wbi16bGliLXFhdD0iVEJEIERQREsgRmxleCBUZWFtIgoj
CiMgJFJFQ0lQRV9TWVNST09UCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0
YS9jb25mL2JpdGJha2UuY29uZjozNTUKIyAgICAgIiR7V09SS0RJUn0vcmVjaXBlLXN5c3Jvb3Qi
ClJFQ0lQRV9TWVNST09UPSIvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvdG1wL3dvcmsvcWVt
dXg4Ni1wb2t5LWxpbnV4L2x0dG5nLW1vZHVsZXMvMi45LjEtcjAvcmVjaXBlLXN5c3Jvb3QiCiMK
IyAkUkVDSVBFX1NZU1JPT1RfTkFUSVZFCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bv
a3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjozNTYKIyAgICAgIiR7V09SS0RJUn0vcmVjaXBlLXN5
c3Jvb3QtbmF0aXZlIgpSRUNJUEVfU1lTUk9PVF9OQVRJVkU9Ii9tZWRpYS9yZWJlY2Nhcy95b2N0
by9sdHRuZy90bXAvd29yay9xZW11eDg2LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1y
MC9yZWNpcGUtc3lzcm9vdC1uYXRpdmUiCiMKIyAkUkVNT1ZFX0xJQlRPT0xfTEEKIyAgIHNldD8g
L21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL3JlbW92ZS1saWJ0b29sLmJi
Y2xhc3M6MwojICAgICAiMSIKUkVNT1ZFX0xJQlRPT0xfTEE9IjEiCiMKIyAkUkVRVUlSRURfRElT
VFJPX0ZFQVRVUkVTCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25m
L2RvY3VtZW50YXRpb24uY29uZjozNTEKIyAgICAgW2RvY10gIldoZW4gYSByZWNpcGUgaW5oZXJp
dHMgdGhlIGRpc3Ryb19mZWF0dXJlc19jaGVjayBjbGFzcywgdGhpcyB2YXJpYWJsZSBpZGVudGlm
aWVzIGRpc3RyaWJ1dGlvbiBmZWF0dXJlcyB0aGF0IG11c3QgZXhpc3QgaW4gdGhlIGN1cnJlbnQg
Y29uZmlndXJhdGlvbiBpbiBvcmRlciBmb3IgdGhlIE9wZW5FbWJlZGRlZCBidWlsZCBzeXN0ZW0g
dG8gYnVpbGQgdGhlIHJlY2lwZS4iCiMKIyAkUkVRVUlSRURfUE9LWV9CQkxBWUVSU19DT05GX1ZF
UlNJT04KIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXBva3kvY29uZi9s
YXllci5jb25mOjE4CiMgICAgICIyIgpSRVFVSVJFRF9QT0tZX0JCTEFZRVJTX0NPTkZfVkVSU0lP
Tj0iMiIKIwojICRSTV9PTERfSU1BR0UKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0
bmcvY29uZi9zaXRlLmNvbmY6OQojICAgICAiMSIKUk1fT0xEX0lNQUdFPSIxIgojCiMgJFJNX1dP
UktfRVhDTFVERQojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9k
b2N1bWVudGF0aW9uLmNvbmY6MzUyCiMgICAgIFtkb2NdICJXaXRoIHJtX3dvcmsgZW5hYmxlZCwg
dGhpcyB2YXJpYWJsZSBzcGVjaWZpZXMgYSBsaXN0IG9mIHBhY2thZ2VzIHdob3NlIHdvcmsgZGly
ZWN0b3JpZXMgc2hvdWxkIG5vdCBiZSByZW1vdmVkLiIKIwojICRST09URlMKIyAgIHNldCAvbWVk
aWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjM1Mwoj
ICAgICBbZG9jXSAiSW5kaWNhdGVzIGEgZmlsZXN5c3RlbSBpbWFnZSB0byBpbmNsdWRlIGFzIHRo
ZSByb290IGZpbGVzeXN0ZW0uIgojCiMgJFJPT1RGU19QT1NUUFJPQ0VTU19DT01NQU5EIFsyIG9w
ZXJhdGlvbnNdCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rv
Y3VtZW50YXRpb24uY29uZjozNTQKIyAgICAgW2RvY10gIkFkZGVkIGJ5IGNsYXNzZXMgdG8gcnVu
IHBvc3QgcHJvY2Vzc2luZyBjb21tYW5kcyBvbmNlIHRoZSBPcGVuRW1iZWRkZWQgYnVpbGQgc3lz
dGVtIGhhcyBjcmVhdGVkIHRoZSByb290IGZpbGVzeXN0ZW0uIgojICAgX3ByZXBlbmQgL21lZGlh
L3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL2xpY2Vuc2UuYmJjbGFzczo2ODIKIyAg
ICAgIndyaXRlX3BhY2thZ2VfbWFuaWZlc3Q7IGxpY2Vuc2VfY3JlYXRlX21hbmlmZXN0OyAiCiMg
cHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICJ3cml0ZV9wYWNrYWdlX21hbmlmZXN0OyBsaWNlbnNl
X2NyZWF0ZV9tYW5pZmVzdDsgIgpST09URlNfUE9TVFBST0NFU1NfQ09NTUFORD0id3JpdGVfcGFj
a2FnZV9tYW5pZmVzdDsgbGljZW5zZV9jcmVhdGVfbWFuaWZlc3Q7ICIKIwojICRST09UX0hPTUUK
IyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25m
Ojg0CiMgICAgIFtfZGVmYXVsdHZhbF0gIi9ob21lL3Jvb3QiClJPT1RfSE9NRT0iL2hvbWUvcm9v
dCIKIwojICRSUE0KIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NsYXNz
ZXMvcGFja2FnZV9ycG0uYmJjbGFzczo1CiMgICAgICJycG0iClJQTT0icnBtIgojCiMgJFJQTUJV
SUxECiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL3BhY2th
Z2VfcnBtLmJiY2xhc3M6NgojICAgICAicnBtYnVpbGQiClJQTUJVSUxEPSJycG1idWlsZCIKIwoj
ICRSUE1ERVBTCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2Vz
L3BhY2thZ2UuYmJjbGFzczoxNDQzCiMgICAgICIke1NUQUdJTkdfTElCRElSX05BVElWRX0vcnBt
L3JwbWRlcHMke0AnIC0tYWxsZGVwcycgaWYgZC5nZXRWYXIoJ0VOQUJMRV9SUE1fRklMRURFUFNf
Rk9SX1BZUk8nKSA9PSAnMScgZWxzZSAnJ30iClJQTURFUFM9Ii9tZWRpYS9yZWJlY2Nhcy95b2N0
by9sdHRuZy90bXAvd29yay9xZW11eDg2LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1y
MC9yZWNpcGUtc3lzcm9vdC1uYXRpdmUvdXNyL2xpYi9ycG0vcnBtZGVwcyIKIwojICRSUFJPVklE
RVMgWzIgb3BlcmF0aW9uc10KIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRh
L2NvbmYvYml0YmFrZS5jb25mOjI2NAojICAgICAiIgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95
b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6MzU1CiMgICAgIFtkb2NdICJB
IGxpc3Qgb2YgcGFja2FnZSBuYW1lIGFsaWFzZXMgdGhhdCBhIHBhY2thZ2UgYWxzbyBwcm92aWRl
cy4gVGhlc2UgYWxpYXNlcyBhcmUgdXNlZnVsIGZvciBzYXRpc2Z5aW5nIHJ1bnRpbWUgZGVwZW5k
ZW5jaWVzIG9mIG90aGVyIHBhY2thZ2VzIGJvdGggZHVyaW5nIHRoZSBidWlsZCBhbmQgb24gdGhl
IHRhcmdldC4iCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICIiClJQUk9WSURFUz0iIgojCiMg
JFJSRUNPTU1FTkRTCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25m
L2RvY3VtZW50YXRpb24uY29uZjozNTYKIyAgICAgW2RvY10gIkEgbGlzdCBvZiBwYWNrYWdlcyB0
aGF0IGV4dGVuZHMgdGhlIHVzYWJpbGl0eSBvZiBhIHBhY2thZ2UgYmVpbmcgYnVpbHQuIFRoZSBw
YWNrYWdlIGJlaW5nIGJ1aWx0IGRvZXMgbm90IGRlcGVuZCBvbiB0aGlzIGxpc3Qgb2YgcGFja2Fn
ZXMgaW4gb3JkZXIgdG8gc3VjY2Vzc2Z1bGx5IGJ1aWxkLCBidXQgbmVlZHMgdGhlbSBmb3IgdGhl
IGV4dGVuZGVkIHVzYWJpbGl0eS4iCiMKIyAkUlJFUExBQ0VTCiMgICBzZXQgL21lZGlhL3JlYmVj
Y2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjozNTcKIyAgICAgW2Rv
Y10gIkEgbGlzdCBvZiBwYWNrYWdlcyByZXBsYWNlZCBieSBhIHBhY2thZ2UuIFRoZSBwYWNrYWdl
IG1hbmFnZXIgdXNlcyB0aGlzIHZhcmlhYmxlIHRvIGRldGVybWluZSB3aGljaCBwYWNrYWdlIHNo
b3VsZCBiZSBpbnN0YWxsZWQgdG8gcmVwbGFjZSBvdGhlciBwYWNrYWdlKHMpIGR1cmluZyBhbiB1
cGdyYWRlLiIKIwojICRSU1VHR0VTVFMKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9r
eS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjM1OAojICAgICBbZG9jXSAiQSBsaXN0IG9m
IGFkZGl0aW9uYWwgcGFja2FnZXMgdGhhdCB5b3UgY2FuIHN1Z2dlc3QgZm9yIGluc3RhbGxhdGlv
biBieSB0aGUgcGFja2FnZSBtYW5hZ2VyIGF0IHRoZSB0aW1lIGEgcGFja2FnZSBpcyBpbnN0YWxs
ZWQuIE5vdCBhbGwgcGFja2FnZSBtYW5hZ2VycyBzdXBwb3J0IHRoaXMgZnVuY3Rpb25hbGl0eS4i
CiMKIyAkUyBbMiBvcGVyYXRpb25zXQojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5
L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6MzUwCiMgICAgICIke1dPUktESVJ9LyR7QlB9IgojICAg
c2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNv
bmY6MzYyCiMgICAgIFtkb2NdICJUaGUgbG9jYXRpb24gaW4gdGhlIEJ1aWxkIERpcmVjdG9yeSB3
aGVyZSB1bnBhY2tlZCBwYWNrYWdlIHNvdXJjZSBjb2RlIHJlc2lkZXMuIgojIHByZS1leHBhbnNp
b24gdmFsdWU6CiMgICAiJHtXT1JLRElSfS8ke0JQfSIKUz0iL21lZGlhL3JlYmVjY2FzL3lvY3Rv
L2x0dG5nL3RtcC93b3JrL3FlbXV4ODYtcG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIw
L2x0dG5nLW1vZHVsZXMtMi45LjEiCiMKIyAkU0FOSVRZX0FCSUZJTEUKIyAgIHNldCAvbWVkaWEv
cmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvc2FuaXR5LmNvbmY6OAojICAgICAiJHtUTVBE
SVJ9L2FiaV92ZXJzaW9uIgpTQU5JVFlfQUJJRklMRT0iL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0
dG5nL3RtcC9hYmlfdmVyc2lvbiIKIwojICRTQU5JVFlfQkJMQVlFUkNPTkZfU0FNUExFCiMgICBz
ZXQ/IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY2xhc3Nlcy9zYW5pdHkuYmJjbGFz
czo3OQojICAgICAiJHtDT1JFQkFTRX0vbWV0YSovY29uZi9iYmxheWVycy5jb25mLnNhbXBsZSIK
U0FOSVRZX0JCTEFZRVJDT05GX1NBTVBMRT0iL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0
YSovY29uZi9iYmxheWVycy5jb25mLnNhbXBsZSIKIwojICRTQU5JVFlfRElGRl9UT09MCiMgICBz
ZXQ/IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY2xhc3Nlcy9zYW5pdHkuYmJjbGFz
czozNwojICAgICAibWVsZCIKU0FOSVRZX0RJRkZfVE9PTD0ibWVsZCIKIwojICRTQU5JVFlfTE9D
QUxDT05GX1NBTVBMRQojICAgc2V0PyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2Ns
YXNzZXMvc2FuaXR5LmJiY2xhc3M6MzkKIyAgICAgIiR7Q09SRUJBU0V9L21ldGEqL2NvbmYvbG9j
YWwuY29uZi5zYW1wbGUiClNBTklUWV9MT0NBTENPTkZfU0FNUExFPSIvbWVkaWEvcmViZWNjYXMv
eW9jdG8vcG9reS9tZXRhKi9jb25mL2xvY2FsLmNvbmYuc2FtcGxlIgojCiMgJFNBTklUWV9SRVFV
SVJFRF9VVElMSVRJRVMKIyAgIHNldD8gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9j
bGFzc2VzL3Nhbml0eS5iYmNsYXNzOjYKIyAgICAgInBhdGNoIGRpZmZzdGF0IG1ha2VpbmZvIGdp
dCBiemlwMiB0YXIgICAgIGd6aXAgZ2F3ayBjaHJwYXRoIHdnZXQgY3BpbyBwZXJsIGZpbGUgd2hp
Y2giClNBTklUWV9SRVFVSVJFRF9VVElMSVRJRVM9InBhdGNoIGRpZmZzdGF0IG1ha2VpbmZvIGdp
dCBiemlwMiB0YXIgICAgIGd6aXAgZ2F3ayBjaHJwYXRoIHdnZXQgY3BpbyBwZXJsIGZpbGUgd2hp
Y2giCiMKIyAkU0FOSVRZX1NJVEVDT05GX1NBTVBMRQojICAgc2V0PyAvbWVkaWEvcmViZWNjYXMv
eW9jdG8vcG9reS9tZXRhL2NsYXNzZXMvc2FuaXR5LmJiY2xhc3M6NTkKIyAgICAgIiR7Q09SRUJB
U0V9L21ldGEqL2NvbmYvc2l0ZS5jb25mLnNhbXBsZSIKU0FOSVRZX1NJVEVDT05GX1NBTVBMRT0i
L21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YSovY29uZi9zaXRlLmNvbmYuc2FtcGxlIgoj
CiMgJFNBTklUWV9URVNURURfRElTVFJPUyBbMiBvcGVyYXRpb25zXQojICAgc2V0PyAvbWVkaWEv
cmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXBva3kvY29uZi9kaXN0cm8vcG9reS5jb25mOjg0CiMg
ICAgICIgcG9reS0yLjIgXG4gcG9reS0yLjMgXG4gdWJ1bnR1LTE1LjA0IFxuIHVidW50dS0xNi4w
NCBcbiB1YnVudHUtMTYuMTAgXG4gZmVkb3JhLTI0IFxuIGZlZG9yYS0yNSBcbiBjZW50b3MtNyBc
biBkZWJpYW4tOCBcbiBvcGVuc3VzZS00Mi4xIFxuIG9wZW5zdXNlLTQyLjIgXG4gIgojICAgc2V0
IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6
MzYzCiMgICAgIFtkb2NdICJBIGxpc3Qgb2YgdGhlIGhvc3QgZGlzdHJpYnV0aW9uIGlkZW50aWZp
ZXJzIHRoYXQgdGhlIGJ1aWxkIHN5c3RlbSBoYXMgYmVlbiB0ZXN0ZWQgYWdhaW5zdC4iCiMgcHJl
LWV4cGFuc2lvbiB2YWx1ZToKIyAgICIgcG9reS0yLjIgXG4gcG9reS0yLjMgXG4gdWJ1bnR1LTE1
LjA0IFxuIHVidW50dS0xNi4wNCBcbiB1YnVudHUtMTYuMTAgXG4gZmVkb3JhLTI0IFxuIGZlZG9y
YS0yNSBcbiBjZW50b3MtNyBcbiBkZWJpYW4tOCBcbiBvcGVuc3VzZS00Mi4xIFxuIG9wZW5zdXNl
LTQyLjIgXG4gIgpTQU5JVFlfVEVTVEVEX0RJU1RST1M9IiBwb2t5LTIuMiBcbiBwb2t5LTIuMyBc
biB1YnVudHUtMTUuMDQgXG4gdWJ1bnR1LTE2LjA0IFxuIHVidW50dS0xNi4xMCBcbiBmZWRvcmEt
MjQgXG4gZmVkb3JhLTI1IFxuIGNlbnRvcy03IFxuIGRlYmlhbi04IFxuIG9wZW5zdXNlLTQyLjEg
XG4gb3BlbnN1c2UtNDIuMiBcbiAiCiMKIyAkU0FOSVRZX1ZFUlNJT04KIyAgIHNldD8gL21lZGlh
L3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL3Nhbml0eS5jb25mOjEwCiMgICAgICIxIgpT
QU5JVFlfVkVSU0lPTj0iMSIKIwojICRTQVZBTk5BSF9HTlVfTUlSUk9SCiMgICBzZXQgL21lZGlh
L3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo2MTgKIyAgICAgImh0
dHA6Ly9kb3dubG9hZC5zYXZhbm5haC5nbnUub3JnL3JlbGVhc2VzIgpTQVZBTk5BSF9HTlVfTUlS
Uk9SPSJodHRwOi8vZG93bmxvYWQuc2F2YW5uYWguZ251Lm9yZy9yZWxlYXNlcyIKIwojICRTQVZB
Tk5BSF9OT05HTlVfTUlSUk9SCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0
YS9jb25mL2JpdGJha2UuY29uZjo2MTkKIyAgICAgImh0dHA6Ly9kb3dubG9hZC5zYXZhbm5haC5u
b25nbnUub3JnL3JlbGVhc2VzIgpTQVZBTk5BSF9OT05HTlVfTUlSUk9SPSJodHRwOi8vZG93bmxv
YWQuc2F2YW5uYWgubm9uZ251Lm9yZy9yZWxlYXNlcyIKIwojICRTREtHQ0NWRVJTSU9OCiMgICBz
ZXQ/IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS90
Y21vZGUtZGVmYXVsdC5pbmM6MjYKIyAgICAgIiR7R0NDVkVSU0lPTn0iClNES0dDQ1ZFUlNJT049
IjYuMyUiCiMKIyAkU0RLSU1BR0VfRkVBVFVSRVMKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9j
dG8vcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjM2OQojICAgICBbZG9jXSAiRXF1
aXZhbGVudCB0byBJTUFHRV9GRUFUVVJFUy4gSG93ZXZlciwgdGhpcyB2YXJpYWJsZSBhcHBsaWVz
IHRvIHRoZSBTREsgZ2VuZXJhdGVkIGZyb20gYW4gaW1hZ2UgdXNpbmcgdGhlIGNvbW1hbmQgJ2Jp
dGJha2UgLWMgcG9wdWxhdGVfc2RrIGltYWdlbmFtZScuIgojCiMgJFNES01BQ0hJTkUgWzIgb3Bl
cmF0aW9uc10KIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0
YmFrZS5jb25mOjEzMgojICAgICBbX2RlZmF1bHR2YWxdICJ4ODZfNjQiCiMgICBzZXQgL21lZGlh
L3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjozNzAKIyAg
ICAgW2RvY10gIlNwZWNpZmllcyB0aGUgYXJjaGl0ZWN0dXJlIChpLmUuIGk2ODYgb3IgeDg2XzY0
KSBmb3Igd2hpY2ggdG8gYnVpbGQgU0RLIGFuZCBBRFQgaXRlbXMuIgojIHByZS1leHBhbnNpb24g
dmFsdWU6CiMgICAieDg2XzY0IgpTREtNQUNISU5FPSJ4ODZfNjQiCiMKIyAkU0RLUEFUSCBbMiBv
cGVyYXRpb25zXQojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9i
aXRiYWtlLmNvbmY6NDAxCiMgICAgICIvdXNyL2xvY2FsLyR7U0RLX05BTUVfUFJFRklYfS0ke1NE
S19BUkNIfSIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXBva3kvY29u
Zi9kaXN0cm8vcG9reS5jb25mOjMzCiMgICAgICIvb3B0LyR7RElTVFJPfS8ke1NES19WRVJTSU9O
fSIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIi9vcHQvJHtESVNUUk99LyR7U0RLX1ZFUlNJ
T059IgpTREtQQVRIPSIvb3B0L3Bva3kvMi4zLjIiCiMKIyAkU0RLUEFUSE5BVElWRQojICAgc2V0
IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6NDAyCiMg
ICAgICIke1NES1BBVEh9L3N5c3Jvb3RzLyR7U0RLX1NZU30iClNES1BBVEhOQVRJVkU9Ii9vcHQv
cG9reS8yLjMuMi9zeXNyb290cy94ODZfNjQtcG9reXNkay1saW51eCIKIwojICRTREtQS0dTVUZG
SVgKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5j
b25mOjEzOAojICAgICAibmF0aXZlc2RrIgpTREtQS0dTVUZGSVg9Im5hdGl2ZXNkayIKIwojICRT
REtVU0VfTkxTCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Jp
dGJha2UuY29uZjoxMjEKIyAgICAgW19kZWZhdWx0dmFsXSAieWVzIgpTREtVU0VfTkxTPSJ5ZXMi
CiMKIyAkU0RLX0FSQ0ggWzIgb3BlcmF0aW9uc10KIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9j
dG8vcG9reS9tZXRhL2NvbmYvbWFjaGluZS1zZGsveDg2XzY0LmNvbmY6MQojICAgICAieDg2XzY0
IgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0
aW9uLmNvbmY6MzY0CiMgICAgIFtkb2NdICJUaGUgdGFyZ2V0IGFyY2hpdGVjdHVyZSBmb3IgdGhl
IFNESy4iCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICJ4ODZfNjQiClNES19BUkNIPSJ4ODZf
NjQiCiMKIyAkU0RLX0FTX0FSQ0gKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9t
ZXRhL2NvbmYvYml0YmFrZS5jb25mOjE0MQojICAgICAiJHtCVUlMRF9BU19BUkNIfSIKU0RLX0FT
X0FSQ0g9IiIKIwojICRTREtfQ0NfQVJDSAojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9w
b2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6MTM3CiMgICAgICIke0JVSUxEX0NDX0FSQ0h9IgpT
REtfQ0NfQVJDSD0iIgojCiMgJFNES19ERVBMT1kKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9j
dG8vcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjM2NQojICAgICBbZG9jXSAiVGhl
IGRpcmVjdG9yeSBzZXQgdXAgYW5kIHVzZWQgYnkgdGhlIHBvcHVsYXRlX3Nka19iYXNlIHRvIHdo
aWNoIHRoZSBTREsgaXMgZGVwbG95ZWQuIgojCiMgJFNES19ESVIKIyAgIHNldCAvbWVkaWEvcmVi
ZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjM2NgojICAgICBb
ZG9jXSAiVGhlIHBhcmVudCBkaXJlY3RvcnkgdXNlZCBieSB0aGUgT3BlbkVtYmVkZGVkIGJ1aWxk
IHN5c3RlbSB3aGVuIGNyZWF0aW5nIFNESyBvdXRwdXQuIgojCiMgJFNES19MRF9BUkNICiMgICBz
ZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjoxNDAK
IyAgICAgIiR7QlVJTERfTERfQVJDSH0iClNES19MRF9BUkNIPSIiCiMKIyAkU0RLX05BTUUgWzMg
b3BlcmF0aW9uc10KIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYv
Yml0YmFrZS5jb25mOjQwMAojICAgICAiJHtTREtfTkFNRV9QUkVGSVh9LSR7U0RLX0FSQ0h9LSR7
VFVORV9QS0dBUkNIfSIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhLXBv
a3kvY29uZi9kaXN0cm8vcG9reS5jb25mOjMyCiMgICAgICIke0RJU1RST30tJHtUQ0xJQkN9LSR7
U0RLX0FSQ0h9LSR7SU1BR0VfQkFTRU5BTUV9LSR7VFVORV9QS0dBUkNIfSIKIyAgIHNldCAvbWVk
aWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjM2Nwoj
ICAgICBbZG9jXSAiVGhlIGJhc2UgbmFtZSBmb3IgU0RLIG91dHB1dCBmaWxlcy4iCiMgcHJlLWV4
cGFuc2lvbiB2YWx1ZToKIyAgICIke0RJU1RST30tJHtUQ0xJQkN9LSR7U0RLX0FSQ0h9LSR7SU1B
R0VfQkFTRU5BTUV9LSR7VFVORV9QS0dBUkNIfSIKU0RLX05BTUU9InBva3ktZ2xpYmMteDg2XzY0
LWx0dG5nLW1vZHVsZXMtaTU4NiIKIwojICRTREtfTkFNRV9QUkVGSVgKIyAgIHNldD8gL21lZGlh
L3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjozOTkKIyAgICAgIm9l
Y29yZSIKU0RLX05BTUVfUFJFRklYPSJvZWNvcmUiCiMKIyAkU0RLX09MREVTVF9LRVJORUwgWzIg
b3BlcmF0aW9uc10KIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYv
Yml0YmFrZS5jb25mOjQxNQojICAgICAiMy4yLjAiCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lv
Y3RvL3Bva3kvbWV0YS9jb25mL21hY2hpbmUtc2RrL3g4Nl82NC5jb25mOjMKIyAgICAgIjIuNi4z
MiIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIjIuNi4zMiIKU0RLX09MREVTVF9LRVJORUw9
IjIuNi4zMiIKIwojICRTREtfT1MKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9t
ZXRhL2NvbmYvYml0YmFrZS5jb25mOjEzMwojICAgICAiJHtCVUlMRF9PU30iClNES19PUz0ibGlu
dXgiCiMKIyAkU0RLX09VVFBVVAojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21l
dGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6MzY4CiMgICAgIFtkb2NdICJUaGUgbG9jYXRpb24g
dXNlZCBieSB0aGUgT3BlbkVtYmVkZGVkIGJ1aWxkIHN5c3RlbSB3aGVuIGNyZWF0aW5nIFNESyBv
dXRwdXQuIgojCiMgJFNES19QQUNLQUdFX0FSQ0hTCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lv
Y3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjoxMzkKIyAgICAgImFsbCBhbnkgbm9hcmNo
ICR7U0RLX0FSQ0h9LSR7U0RLUEtHU1VGRklYfSIKU0RLX1BBQ0tBR0VfQVJDSFM9ImFsbCBhbnkg
bm9hcmNoIHg4Nl82NC1uYXRpdmVzZGsiCiMKIyAkU0RLX1BSRUZJWAojICAgc2V0IC9tZWRpYS9y
ZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6MTM2CiMgICAgICIke1NE
S19TWVN9LSIKU0RLX1BSRUZJWD0ieDg2XzY0LXBva3lzZGstbGludXgtIgojCiMgJFNES19TWVMK
IyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25m
OjEzNQojICAgICAiJHtTREtfQVJDSH0ke1NES19WRU5ET1J9JHtAWyctJyArIGQuZ2V0VmFyKCdT
REtfT1MnKSwgJyddW2QuZ2V0VmFyKCdTREtfT1MnKSA9PSAoJycgb3IgJ2N1c3RvbScpXX0iClNE
S19TWVM9Ing4Nl82NC1wb2t5c2RrLWxpbnV4IgojCiMgJFNES19WRU5ET1IgWzIgb3BlcmF0aW9u
c10KIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5j
b25mOjEzNAojICAgICAiLW9lc2RrIgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5
L21ldGEtcG9reS9jb25mL2Rpc3Ryby9wb2t5LmNvbmY6NQojICAgICAiLXBva3lzZGsiCiMgcHJl
LWV4cGFuc2lvbiB2YWx1ZToKIyAgICItcG9reXNkayIKU0RLX1ZFTkRPUj0iLXBva3lzZGsiCiMK
IyAkU0RLX1ZFUlNJT04gWzMgb3BlcmF0aW9uc10KIyAgIGltbWVkaWF0ZSAvbWVkaWEvcmViZWNj
YXMveW9jdG8vcG9reS9tZXRhLXBva3kvY29uZi9kaXN0cm8vcG9reS5jb25mOjYKIyAgICAgIiR7
QCcke0RJU1RST19WRVJTSU9OfScucmVwbGFjZSgnc25hcHNob3QtJHtEQVRFfScsJ3NuYXBzaG90
Jyl9IgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEtcG9reS9jb25mL2Rp
c3Ryby9wb2t5LmNvbmY6MTUKIyAgICAgW3ZhcmRlcHNleGNsdWRlXSAiREFURSIKIyAgIHNldCAv
bWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvZGVmYXVs
dC1kaXN0cm92YXJzLmluYzo0MQojICAgICBbX2RlZmF1bHR2YWxdICJub2Rpc3Ryby4wIgojIHBy
ZS1leHBhbnNpb24gdmFsdWU6CiMgICAiMi4zLjIiClNES19WRVJTSU9OPSIyLjMuMiIKIwojICRT
RUNUSU9OIFs3IG9wZXJhdGlvbnNdCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kv
bWV0YS9jb25mL2JpdGJha2UuY29uZjoyMjEKIyAgICAgImJhc2UiCiMgICBzZXQgL21lZGlhL3Jl
YmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjozNzEKIyAgICAg
W2RvY10gIlRoZSBzZWN0aW9uIGluIHdoaWNoIHBhY2thZ2VzIHNob3VsZCBiZSBjYXRlZ29yaXpl
ZC4gUGFja2FnZSBtYW5hZ2VtZW50IHV0aWxpdGllcyBjYW4gbWFrZSB1c2Ugb2YgdGhpcyB2YXJp
YWJsZS4iCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9yZWNpcGVzLWtl
cm5lbC9sdHRuZy9sdHRuZy1tb2R1bGVzXzIuOS4xLmJiOjEKIyAgICAgImRldmVsIgojICAgb3Zl
cnJpZGVbbHR0bmctbW9kdWxlcy1kYmddOnJlbmFtZSBmcm9tIFNFQ1RJT05fJHtQTn0tZGJnIGRh
dGEucHk6MTE2IFtleHBhbmRLZXlzXQojICAgICAiZGV2ZWwiCiMgICBvdmVycmlkZVtsdHRuZy1t
b2R1bGVzLWRldl06cmVuYW1lIGZyb20gU0VDVElPTl8ke1BOfS1kZXYgZGF0YS5weToxMTYgW2V4
cGFuZEtleXNdCiMgICAgICJkZXZlbCIKIyAgIG92ZXJyaWRlW2x0dG5nLW1vZHVsZXMtZG9jXTpy
ZW5hbWUgZnJvbSBTRUNUSU9OXyR7UE59LWRvYyBkYXRhLnB5OjExNiBbZXhwYW5kS2V5c10KIyAg
ICAgImRvYyIKIyAgIG92ZXJyaWRlW2x0dG5nLW1vZHVsZXMtc3RhdGljZGV2XTpyZW5hbWUgZnJv
bSBTRUNUSU9OXyR7UE59LXN0YXRpY2RldiBkYXRhLnB5OjExNiBbZXhwYW5kS2V5c10KIyAgICAg
ImRldmVsIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiZGV2ZWwiClNFQ1RJT049ImRldmVs
IgojCiMgJFNFQ1RJT05fbHR0bmctbW9kdWxlcy1kYmcKIyAgIHJlbmFtZSBmcm9tIFNFQ1RJT05f
JHtQTn0tZGJnIGRhdGEucHk6MTE2IFtleHBhbmRLZXlzXQojICAgICAiZGV2ZWwiClNFQ1RJT05f
bHR0bmctbW9kdWxlcy1kYmc9ImRldmVsIgojCiMgJFNFQ1RJT05fbHR0bmctbW9kdWxlcy1kZXYK
IyAgIHJlbmFtZSBmcm9tIFNFQ1RJT05fJHtQTn0tZGV2IGRhdGEucHk6MTE2IFtleHBhbmRLZXlz
XQojICAgICAiZGV2ZWwiClNFQ1RJT05fbHR0bmctbW9kdWxlcy1kZXY9ImRldmVsIgojCiMgJFNF
Q1RJT05fbHR0bmctbW9kdWxlcy1kb2MKIyAgIHJlbmFtZSBmcm9tIFNFQ1RJT05fJHtQTn0tZG9j
IGRhdGEucHk6MTE2IFtleHBhbmRLZXlzXQojICAgICAiZG9jIgpTRUNUSU9OX2x0dG5nLW1vZHVs
ZXMtZG9jPSJkb2MiCiMKIyAkU0VDVElPTl9sdHRuZy1tb2R1bGVzLXN0YXRpY2RldgojICAgcmVu
YW1lIGZyb20gU0VDVElPTl8ke1BOfS1zdGF0aWNkZXYgZGF0YS5weToxMTYgW2V4cGFuZEtleXNd
CiMgICAgICJkZXZlbCIKU0VDVElPTl9sdHRuZy1tb2R1bGVzLXN0YXRpY2Rldj0iZGV2ZWwiCiMK
IyAkU0VMRUNURURfT1BUSU1JWkFUSU9OIFszIG9wZXJhdGlvbnNdCiMgICBzZXQgL21lZGlhL3Jl
YmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo1OTIKIyAgICAgIiR7QGQu
Z2V0VmFyKFsnRlVMTF9PUFRJTUlaQVRJT04nLCAnREVCVUdfT1BUSU1JWkFUSU9OJ11bZC5nZXRW
YXIoJ0RFQlVHX0JVSUxEJykgPT0gJzEnXSl9IgojICAgYXBwZW5kIC9tZWRpYS9yZWJlY2Nhcy95
b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6NTkzCiMgICAgIFt2YXJkZXBzXSAiRlVM
TF9PUFRJTUlaQVRJT04gREVCVUdfT1BUSU1JWkFUSU9OIgojICAgc2V0IC9tZWRpYS9yZWJlY2Nh
cy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6MzcyCiMgICAgIFtkb2Nd
ICJUaGUgdmFyaWFibGUgdGFrZXMgdGhlIHZhbHVlIG9mIEZVTExfT1BUSU1JWkFUSU9OIHVubGVz
cyBERUJVR19CVUlMRCA9ICcxJy4gSW4gdGhpcyBjYXNlLCB0aGUgdmFsdWUgb2YgREVCVUdfT1BU
SU1JWkFUSU9OIGlzIHVzZWQuIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiJHtAZC5nZXRW
YXIoWydGVUxMX09QVElNSVpBVElPTicsICdERUJVR19PUFRJTUlaQVRJT04nXVtkLmdldFZhcign
REVCVUdfQlVJTEQnKSA9PSAnMSddKX0iClNFTEVDVEVEX09QVElNSVpBVElPTj0iLU8yIC1waXBl
IC1nIC1mZWxpbWluYXRlLXVudXNlZC1kZWJ1Zy10eXBlcyAtZmRlYnVnLXByZWZpeC1tYXA9L21l
ZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL3RtcC93b3JrL3FlbXV4ODYtcG9reS1saW51eC9sdHRu
Zy1tb2R1bGVzLzIuOS4xLXIwPS91c3Ivc3JjL2RlYnVnL2x0dG5nLW1vZHVsZXMvMi45LjEtcjAg
LWZkZWJ1Zy1wcmVmaXgtbWFwPS9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy90bXAvd29yay9x
ZW11eDg2LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9yZWNpcGUtc3lzcm9vdC1u
YXRpdmU9IC1mZGVidWctcHJlZml4LW1hcD0vbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvdG1w
L3dvcmsvcWVtdXg4Ni1wb2t5LWxpbnV4L2x0dG5nLW1vZHVsZXMvMi45LjEtcjAvcmVjaXBlLXN5
c3Jvb3Q9ICIKIwojICRTRVJJQUxfQ09OU09MRSBbMiBvcGVyYXRpb25zXQojICAgc2V0IC9tZWRp
YS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6MzczCiMg
ICAgIFtkb2NdICJUaGUgc3BlZWQgYW5kIGRldmljZSBmb3IgdGhlIHNlcmlhbCBwb3J0IHVzZWQg
dG8gYXR0YWNoIHRoZSBzZXJpYWwgY29uc29sZS4gVGhpcyB2YXJpYWJsZSBpcyBnaXZlbiB0byB0
aGUga2VybmVsIGFzIHRoZSAnY29uc29sZScgcGFyYW1ldGVyLiBBZnRlciBib290aW5nIG9jY3Vy
cywgZ2V0dHkgaXMgc3RhcnRlZCBvbiB0aGF0IHBvcnQgc28gcmVtb3RlIGxvZ2luIGlzIHBvc3Np
YmxlLiIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFr
ZS5jb25mOjgxNQojICAgICBbX2RlZmF1bHR2YWxdICIiCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToK
IyAgICIiClNFUklBTF9DT05TT0xFPSIiCiMKIyAkU0VSSUFMX0NPTlNPTEVTIFszIG9wZXJhdGlv
bnNdCiMgICBzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9tYWNoaW5l
L3FlbXV4ODYuY29uZjoxNgojICAgICAiMTE1MjAwO3R0eVMwIDExNTIwMDt0dHlTMSIKIyAgIHNl
dCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25m
OjM3NAojICAgICBbZG9jXSAiRGVmaW5lcyB0aGUgc2VyaWFsIGNvbnNvbGVzIChUVFlzKSB0byBl
bmFibGUgdXNpbmcgZ2V0dHkuIgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21l
dGEvY29uZi9iaXRiYWtlLmNvbmY6ODE2CiMgICAgIFtfZGVmYXVsdHZhbF0gIiR7QGQuZ2V0VmFy
KCdTRVJJQUxfQ09OU09MRScpLnJlcGxhY2UoJyAnLCAnOycpfSIKIyBwcmUtZXhwYW5zaW9uIHZh
bHVlOgojICAgIjExNTIwMDt0dHlTMCAxMTUyMDA7dHR5UzEiClNFUklBTF9DT05TT0xFUz0iMTE1
MjAwO3R0eVMwIDExNTIwMDt0dHlTMSIKIwojICRTRVJJQUxfQ09OU09MRVNfQ0hFQ0sKIyAgIHNl
dCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25m
OjM3NQojICAgICBbZG9jXSAiU2ltaWxhciB0byBTRVJJQUxfQ09OU09MRVMgZXhjZXB0IHRoZSBk
ZXZpY2UgaXMgY2hlY2tlZCBmb3IgZXhpc3RlbmNlIGJlZm9yZSBhdHRlbXB0aW5nIHRvIGVuYWJs
ZSBpdC4gU3VwcG9ydGVkIG9ubHkgYnkgU3lzVmluaXQuIgojCiMgJFNIRUxMIFs0IG9wZXJhdGlv
bnNdCiMgICBmcm9tIGVudiBkYXRhLnB5OjEyNCBbaW5oZXJpdEZyb21PU10KIyAgICAgIi9iaW4v
YmFzaCIKIyAgIGF1dG8gZW52IGV4cG9ydCBkYXRhLnB5OjEyNiBbaW5oZXJpdEZyb21PU10KIyAg
ICAgW2V4cG9ydF0gIlRydWUiCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0
YS9jb25mL2JpdGJha2UuY29uZjo4MzcKIyAgICAgW3VuZXhwb3J0XSAiMSIKIyAgIHNldD8gL21l
ZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL3Rlcm1pbmFsLmJiY2xhc3M6MTAK
IyAgICAgImJhc2giCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICIvYmluL2Jhc2giCnVuc2V0
IFNIRUxMCiMKIyAkU0hMSUJTRElSUwojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5
L21ldGEvY2xhc3Nlcy9wYWNrYWdlLmJiY2xhc3M6MTUwMgojICAgICAiJHtQS0dEQVRBX0RJUn0v
JHtNTFBSRUZJWH1zaGxpYnMyIgpTSExJQlNESVJTPSIvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0
bmcvdG1wL3BrZ2RhdGEvcWVtdXg4Ni9zaGxpYnMyIgojCiMgJFNITElCU1dPUktESVIKIyAgIHNl
dCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NsYXNzZXMvcGFja2FnZS5iYmNsYXNz
OjE1MDMKIyAgICAgIiR7UEtHREVTVFdPUkt9LyR7TUxQUkVGSVh9c2hsaWJzMiIKU0hMSUJTV09S
S0RJUj0iL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL3RtcC93b3JrL3FlbXV4ODYtcG9reS1s
aW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL3BrZ2RhdGEvc2hsaWJzMiIKIwojICRTSUdHRU5f
RVhDTFVERVJFQ0lQRVNfQUJJU0FGRSBbMiBvcGVyYXRpb25zXQojICAgYXBwZW5kIC9tZWRpYS9y
ZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9sYXllci5jb25mOjQxCiMgICAgICIgc3lzdmlu
aXQtaW5pdHRhYiBzaGFkb3ctc2VjdXJldHR5IG9wa2ctYXJjaC1jb25maWcgbmV0YmFzZSBpbml0
LWlmdXBkb3duIGNvbm5tYW4tY29uZiBmb3JtZmFjdG9yIHhzZXJ2ZXIteGY4Ni1jb25maWcgcG9p
bnRlcmNhbC14aW5wdXQgYmFzZS1maWxlcyBrZXltYXBzIHVkZXYtZXh0cmFjb25mIHBhY2thZ2Vn
cm91cC14MTEteHNlcnZlciBzeXN0ZW1kLXNlcmlhbGdldHR5IGluaXRzY3JpcHRzIHNoYWRvdyBz
aGFkb3ctc3lzcm9vdCBiYXNlLXBhc3N3ZCBvcGtnLXV0aWxzIGdzdHJlYW1lcjEuMC1tZXRhLWJh
c2UgIgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVu
dGF0aW9uLmNvbmY6Mzc3CiMgICAgIFtkb2NdICJBIGxpc3Qgb2YgcmVjaXBlcyB0aGF0IGFyZSBj
b21wbGV0ZWx5IHN0YWJsZSBhbmQgd2lsbCBuZXZlciBjaGFuZ2UuIgojIHByZS1leHBhbnNpb24g
dmFsdWU6CiMgICAiICBzeXN2aW5pdC1pbml0dGFiIHNoYWRvdy1zZWN1cmV0dHkgb3BrZy1hcmNo
LWNvbmZpZyBuZXRiYXNlIGluaXQtaWZ1cGRvd24gY29ubm1hbi1jb25mIGZvcm1mYWN0b3IgeHNl
cnZlci14Zjg2LWNvbmZpZyBwb2ludGVyY2FsLXhpbnB1dCBiYXNlLWZpbGVzIGtleW1hcHMgdWRl
di1leHRyYWNvbmYgcGFja2FnZWdyb3VwLXgxMS14c2VydmVyIHN5c3RlbWQtc2VyaWFsZ2V0dHkg
aW5pdHNjcmlwdHMgc2hhZG93IHNoYWRvdy1zeXNyb290IGJhc2UtcGFzc3dkIG9wa2ctdXRpbHMg
Z3N0cmVhbWVyMS4wLW1ldGEtYmFzZSAiClNJR0dFTl9FWENMVURFUkVDSVBFU19BQklTQUZFPSIg
IHN5c3Zpbml0LWluaXR0YWIgc2hhZG93LXNlY3VyZXR0eSBvcGtnLWFyY2gtY29uZmlnIG5ldGJh
c2UgaW5pdC1pZnVwZG93biBjb25ubWFuLWNvbmYgZm9ybWZhY3RvciB4c2VydmVyLXhmODYtY29u
ZmlnIHBvaW50ZXJjYWwteGlucHV0IGJhc2UtZmlsZXMga2V5bWFwcyB1ZGV2LWV4dHJhY29uZiBw
YWNrYWdlZ3JvdXAteDExLXhzZXJ2ZXIgc3lzdGVtZC1zZXJpYWxnZXR0eSBpbml0c2NyaXB0cyBz
aGFkb3cgc2hhZG93LXN5c3Jvb3QgYmFzZS1wYXNzd2Qgb3BrZy11dGlscyBnc3RyZWFtZXIxLjAt
bWV0YS1iYXNlICIKIwojICRTSUdHRU5fRVhDTFVERV9TQUZFX1JFQ0lQRV9ERVBTIFsyIG9wZXJh
dGlvbnNdCiMgICBhcHBlbmQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2xh
eWVyLmNvbmY6NjAKIyAgICAgIiBnY2MtY3Jvc3MtJHtUQVJHRVRfQVJDSH0tPnZpcnR1YWwvJHtU
QVJHRVRfUFJFRklYfWxpYmMtZm9yLWdjYyBnY2MtY3Jvc3MtJHtUQVJHRVRfQVJDSH0tPmxpbnV4
LWxpYmMtaGVhZGVycyBwcHAtZGlhbGluLT5wcHAgcmVzb2x2Y29uZi0+YmFzaCBkb2Nib29rLXhz
bC1zdHlsZXNoZWV0cy0+cGVybCBjYS1jZXJ0aWZpY2F0ZXMtPm9wZW5zc2wgaW5pdHJhbWZzLWZy
YW1ld29yay0+JHtWSVJUVUFMLVJVTlRJTUVfYmFzZS11dGlsc30gaW5pdHJhbWZzLWZyYW1ld29y
ay0+c3lzdGVtZCBpbml0cmFtZnMtZnJhbWV3b3JrLT5ldWRldiBsaWJlcmF0aW9uLWZvbnRzLT5m
b250Y29uZmlnIGNhbnRhcmVsbC1mb250cy0+Zm9udGNvbmZpZyBnbm9tZS1pY29uLXRoZW1lLT5s
aWJyc3ZnIGZvbnQtYWxpYXMtPmZvbnQtdXRpbCB3ZXN0b24taW5pdC0+d2VzdG9uIHdlc3Rvbi1p
bml0LT5rYmQgb3Byb2ZpbGUtPnZpcnR1YWwva2VybmVsICIKIyAgIHNldCAvbWVkaWEvcmViZWNj
YXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjM3NgojICAgICBbZG9j
XSAiQSBsaXN0IG9mIHJlY2lwZSBkZXBlbmRlbmNpZXMgdGhhdCBzaG91bGQgbm90IGJlIHVzZWQg
dG8gZGV0ZXJtaW5lIHNpZ25hdHVyZXMgb2YgdGFza3MgZnJvbSBvbmUgcmVjaXBlIHdoZW4gdGhl
eSBkZXBlbmQgb24gdGFza3MgZnJvbSBhbm90aGVyIHJlY2lwZS4iCiMgcHJlLWV4cGFuc2lvbiB2
YWx1ZToKIyAgICIgIGdjYy1jcm9zcy0ke1RBUkdFVF9BUkNIfS0+dmlydHVhbC8ke1RBUkdFVF9Q
UkVGSVh9bGliYy1mb3ItZ2NjIGdjYy1jcm9zcy0ke1RBUkdFVF9BUkNIfS0+bGludXgtbGliYy1o
ZWFkZXJzIHBwcC1kaWFsaW4tPnBwcCByZXNvbHZjb25mLT5iYXNoIGRvY2Jvb2steHNsLXN0eWxl
c2hlZXRzLT5wZXJsIGNhLWNlcnRpZmljYXRlcy0+b3BlbnNzbCBpbml0cmFtZnMtZnJhbWV3b3Jr
LT4ke1ZJUlRVQUwtUlVOVElNRV9iYXNlLXV0aWxzfSBpbml0cmFtZnMtZnJhbWV3b3JrLT5zeXN0
ZW1kIGluaXRyYW1mcy1mcmFtZXdvcmstPmV1ZGV2IGxpYmVyYXRpb24tZm9udHMtPmZvbnRjb25m
aWcgY2FudGFyZWxsLWZvbnRzLT5mb250Y29uZmlnIGdub21lLWljb24tdGhlbWUtPmxpYnJzdmcg
Zm9udC1hbGlhcy0+Zm9udC11dGlsIHdlc3Rvbi1pbml0LT53ZXN0b24gd2VzdG9uLWluaXQtPmti
ZCBvcHJvZmlsZS0+dmlydHVhbC9rZXJuZWwgIgpTSUdHRU5fRVhDTFVERV9TQUZFX1JFQ0lQRV9E
RVBTPSIgIGdjYy1jcm9zcy1pNTg2LT52aXJ0dWFsL2k1ODYtcG9reS1saW51eC1saWJjLWZvci1n
Y2MgZ2NjLWNyb3NzLWk1ODYtPmxpbnV4LWxpYmMtaGVhZGVycyBwcHAtZGlhbGluLT5wcHAgcmVz
b2x2Y29uZi0+YmFzaCBkb2Nib29rLXhzbC1zdHlsZXNoZWV0cy0+cGVybCBjYS1jZXJ0aWZpY2F0
ZXMtPm9wZW5zc2wgaW5pdHJhbWZzLWZyYW1ld29yay0+YnVzeWJveCBpbml0cmFtZnMtZnJhbWV3
b3JrLT5zeXN0ZW1kIGluaXRyYW1mcy1mcmFtZXdvcmstPmV1ZGV2IGxpYmVyYXRpb24tZm9udHMt
PmZvbnRjb25maWcgY2FudGFyZWxsLWZvbnRzLT5mb250Y29uZmlnIGdub21lLWljb24tdGhlbWUt
PmxpYnJzdmcgZm9udC1hbGlhcy0+Zm9udC11dGlsIHdlc3Rvbi1pbml0LT53ZXN0b24gd2VzdG9u
LWluaXQtPmtiZCBvcHJvZmlsZS0+dmlydHVhbC9rZXJuZWwgIgojCiMgJFNJR0dFTl9MT0NLRURT
SUdTX1NTVEFURV9FWElTVFNfQ0hFQ0sKIyAgIHNldD8gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bv
a3kvbWV0YS9jbGFzc2VzL3NzdGF0ZS5iYmNsYXNzOjYyCiMgICAgICJlcnJvciIKU0lHR0VOX0xP
Q0tFRFNJR1NfU1NUQVRFX0VYSVNUU19DSEVDSz0iZXJyb3IiCiMKIyAkU0lHR0VOX0xPQ0tFRFNJ
R1NfVEFTS1NJR19DSEVDSwojICAgc2V0PyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRh
L2NsYXNzZXMvc3N0YXRlLmJiY2xhc3M6NjYKIyAgICAgImVycm9yIgpTSUdHRU5fTE9DS0VEU0lH
U19UQVNLU0lHX0NIRUNLPSJlcnJvciIKIwojICRTSVRFSU5GT19CSVRTCiMgICBzZXQgL21lZGlh
L3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjozNzgKIyAg
ICAgW2RvY10gIlNwZWNpZmllcyB0aGUgbnVtYmVyIG9mIGJpdHMgZm9yIHRoZSB0YXJnZXQgc3lz
dGVtIENQVS4iCiMKIyAkU0lURUlORk9fRU5ESUFOTkVTUwojICAgc2V0IC9tZWRpYS9yZWJlY2Nh
cy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6Mzc5CiMgICAgIFtkb2Nd
ICJTcGVjaWZpZXMgdGhlIGVuZGlhbiBieXRlIG9yZGVyIG9mIHRoZSB0YXJnZXQgc3lzdGVtLiBU
aGUgdmFsdWUgc2hvdWxkIGJlIGVpdGhlciAnbGUnIGZvciAnbGl0dGxlLWVuZGlhbicgb3IgJ2Jl
JyBmb3IgJ2JpZy1lbmRpYW4nLiIKIwojICRTSVRFX0NPTkZfVkVSU0lPTgojICAgc2V0PyAvbWVk
aWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvc2FuaXR5LmNvbmY6MTMKIyAgICAgIjEi
ClNJVEVfQ09ORl9WRVJTSU9OPSIxIgojCiMgJFNPQ19GQU1JTFkKIyAgIHNldCAvbWVkaWEvcmVi
ZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjM4MAojICAgICBb
ZG9jXSAiR3JvdXBzIHRvZ2V0aGVyIG1hY2hpbmVzIGJhc2VkIHVwb24gdGhlIHNhbWUgZmFtaWx5
IG9mIFNPQyAoU3lzdGVtIE9uIENoaXApLiBZb3UgdHlwaWNhbGx5IHNldCB0aGlzIHZhcmlhYmxl
IGluIGEgY29tbW9uIC5pbmMgZmlsZSB0aGF0IHlvdSBpbmNsdWRlIGluIHRoZSBjb25maWd1cmF0
aW9uIGZpbGVzIG9mIGFsbCB0aGUgbWFjaGluZXMuIgojCiMgJFNPTElCUyBbMyBvcGVyYXRpb25z
XQojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNv
bmY6MjY4CiMgICAgICIuc28uKiIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9t
ZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjM4MQojICAgICBbZG9jXSAiRGVmaW5lcyB0aGUg
c3VmZml4IGZvciBzaGFyZWQgbGlicmFyaWVzIHVzZWQgb24gdGhlIHRhcmdldCBwbGF0Zm9ybS4i
CiMgICBvdmVycmlkZVtkYXJ3aW5dOnNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRh
L2NvbmYvYml0YmFrZS5jb25mOjI2OQojICAgICAiLmR5bGliIgojIHByZS1leHBhbnNpb24gdmFs
dWU6CiMgICAiLnNvLioiClNPTElCUz0iLnNvLioiCiMKIyAkU09MSUJTREVWIFszIG9wZXJhdGlv
bnNdCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2Uu
Y29uZjoyNzEKIyAgICAgIi5zbyIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9t
ZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjM4MgojICAgICBbZG9jXSAiRGVmaW5lcyB0aGUg
c3VmZml4IGZvciB0aGUgZGV2ZWxvcG1lbnQgc3ltYm9saWMgbGluayAoc3ltbGluaykgZm9yIHNo
YXJlZCBsaWJyYXJpZXMgb24gdGhlIHRhcmdldCBwbGF0Zm9ybS4iCiMgICBvdmVycmlkZVtkYXJ3
aW5dOnNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25m
OjI3NQojICAgICAiLmR5bGliYnJva2VuIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiLnNv
IgpTT0xJQlNERVY9Ii5zbyIKIwojICRTT0xJQlNERVZfZGFyd2luCiMgICBzZXQgL21lZGlhL3Jl
YmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjoyNzUKIyAgICAgIi5keWxp
YmJyb2tlbiIKU09MSUJTREVWX2Rhcndpbj0iLmR5bGliYnJva2VuIgojCiMgJFNPTElCU19kYXJ3
aW4KIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5j
b25mOjI2OQojICAgICAiLmR5bGliIgpTT0xJQlNfZGFyd2luPSIuZHlsaWIiCiMKIyAkU09VUkNF
Rk9SR0VfTUlSUk9SCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25m
L2JpdGJha2UuY29uZjo2MTUKIyAgICAgImh0dHA6Ly9kb3dubG9hZHMuc291cmNlZm9yZ2UubmV0
IgpTT1VSQ0VGT1JHRV9NSVJST1I9Imh0dHA6Ly9kb3dubG9hZHMuc291cmNlZm9yZ2UubmV0Igoj
CiMgJFNPVVJDRV9NSVJST1JfRkVUQ0gKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9r
eS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjM4MwojICAgICBbZG9jXSAiU3dpdGNoIG1h
cmtpbmcgYnVpbGQgYXMgc291cmNlIGZldGNoZXIuIFVzZWQgdG8gc2tpcCBDT01QQVRJQkxFXyog
Y2hlY2tpbmcuIgojCiMgJFNPVVJDRV9NSVJST1JfVVJMCiMgICBzZXQgL21lZGlhL3JlYmVjY2Fz
L3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjozODQKIyAgICAgW2RvY10g
IlVSTCB0byBzb3VyY2UgbWlycm9yIHRoYXQgd2lsbCBiZSB1c2VkIGJlZm9yZSBmZXRjaGluZyBm
cm9tIG9yaWdpbmFsIFNSQ19VUkkuIgojCiMgJFNQRFhMSUNFTlNFTUFQIFszNyBvcGVyYXRpb25z
XQojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9saWNlbnNlcy5j
b25mOjU0CiMgICAgIFtBR1BMLTNdICJBR1BMLTMuMCIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMv
eW9jdG8vcG9reS9tZXRhL2NvbmYvbGljZW5zZXMuY29uZjo1NQojICAgICBbQUdQTHYzXSAiQUdQ
TC0zLjAiCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2xpY2Vu
c2VzLmNvbmY6NTYKIyAgICAgW0FHUEx2My4wXSAiQUdQTC0zLjAiCiMgICBzZXQgL21lZGlhL3Jl
YmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2xpY2Vuc2VzLmNvbmY6NTkKIyAgICAgW0dQTC0x
XSAiR1BMLTEuMCIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYv
bGljZW5zZXMuY29uZjo2MAojICAgICBbR1BMdjFdICJHUEwtMS4wIgojICAgc2V0IC9tZWRpYS9y
ZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9saWNlbnNlcy5jb25mOjYxCiMgICAgIFtHUEx2
MS4wXSAiR1BMLTEuMCIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2Nv
bmYvbGljZW5zZXMuY29uZjo2MgojICAgICBbR1BMLTJdICJHUEwtMi4wIgojICAgc2V0IC9tZWRp
YS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9saWNlbnNlcy5jb25mOjYzCiMgICAgIFtH
UEx2Ml0gIkdQTC0yLjAiCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9j
b25mL2xpY2Vuc2VzLmNvbmY6NjQKIyAgICAgW0dQTHYyLjBdICJHUEwtMi4wIgojICAgc2V0IC9t
ZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9saWNlbnNlcy5jb25mOjY1CiMgICAg
IFtHUEwtM10gIkdQTC0zLjAiCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0
YS9jb25mL2xpY2Vuc2VzLmNvbmY6NjYKIyAgICAgW0dQTHYzXSAiR1BMLTMuMCIKIyAgIHNldCAv
bWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvbGljZW5zZXMuY29uZjo2NwojICAg
ICBbR1BMdjMuMF0gIkdQTC0zLjAiCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kv
bWV0YS9jb25mL2xpY2Vuc2VzLmNvbmY6NzAKIyAgICAgW0xHUEx2Ml0gIkxHUEwtMi4wIgojICAg
c2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9saWNlbnNlcy5jb25mOjcx
CiMgICAgIFtMR1BMdjIuMF0gIkxHUEwtMi4wIgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0
by9wb2t5L21ldGEvY29uZi9saWNlbnNlcy5jb25mOjcyCiMgICAgIFtMR1BMMi4xXSAiTEdQTC0y
LjEiCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2xpY2Vuc2Vz
LmNvbmY6NzMKIyAgICAgW0xHUEx2Mi4xXSAiTEdQTC0yLjEiCiMgICBzZXQgL21lZGlhL3JlYmVj
Y2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2xpY2Vuc2VzLmNvbmY6NzQKIyAgICAgW0xHUEx2M10g
IkxHUEwtMy4wIgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9s
aWNlbnNlcy5jb25mOjc3CiMgICAgIFtNUEwtMV0gIk1QTC0xLjAiCiMgICBzZXQgL21lZGlhL3Jl
YmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2xpY2Vuc2VzLmNvbmY6NzgKIyAgICAgW01QTHYx
XSAiTVBMLTEuMCIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYv
bGljZW5zZXMuY29uZjo3OQojICAgICBbTVBMdjEuMV0gIk1QTC0xLjEiCiMgICBzZXQgL21lZGlh
L3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2xpY2Vuc2VzLmNvbmY6ODAKIyAgICAgW01Q
THYyXSAiTVBMLTIuMCIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2Nv
bmYvbGljZW5zZXMuY29uZjo4MwojICAgICBbTUlULVhdICJNSVQiCiMgICBzZXQgL21lZGlhL3Jl
YmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2xpY2Vuc2VzLmNvbmY6ODQKIyAgICAgW01JVC1z
dHlsZV0gIk1JVCIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYv
bGljZW5zZXMuY29uZjo4NwojICAgICBbb3BlbnNzbF0gIk9wZW5TU0wiCiMgICBzZXQgL21lZGlh
L3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2xpY2Vuc2VzLmNvbmY6OTAKIyAgICAgW1BT
Rl0gIlB5dGhvbi0yLjAiCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9j
b25mL2xpY2Vuc2VzLmNvbmY6OTEKIyAgICAgW1BTRnYyXSAiUHl0aG9uLTIuMCIKIyAgIHNldCAv
bWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvbGljZW5zZXMuY29uZjo5MgojICAg
ICBbUHl0aG9uLTJdICJQeXRob24tMi4wIgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9w
b2t5L21ldGEvY29uZi9saWNlbnNlcy5jb25mOjk1CiMgICAgIFtBcGFjaGV2Ml0gIkFwYWNoZS0y
LjAiCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2xpY2Vuc2Vz
LmNvbmY6OTYKIyAgICAgW0FwYWNoZS0yXSAiQXBhY2hlLTIuMCIKIyAgIHNldCAvbWVkaWEvcmVi
ZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvbGljZW5zZXMuY29uZjo5OQojICAgICBbQXJ0aXN0
aWN2MV0gIkFydGlzdGljLTEuMCIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9t
ZXRhL2NvbmYvbGljZW5zZXMuY29uZjoxMDAKIyAgICAgW0FydGlzdGljLTFdICJBcnRpc3RpYy0x
LjAiCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2xpY2Vuc2Vz
LmNvbmY6MTAzCiMgICAgIFtBRkwtMl0gIkFGTC0yLjAiCiMgICBzZXQgL21lZGlhL3JlYmVjY2Fz
L3lvY3RvL3Bva3kvbWV0YS9jb25mL2xpY2Vuc2VzLmNvbmY6MTA0CiMgICAgIFtBRkwtMV0gIkFG
TC0xLjIiCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2xpY2Vu
c2VzLmNvbmY6MTA1CiMgICAgIFtBRkx2Ml0gIkFGTC0yLjAiCiMgICBzZXQgL21lZGlhL3JlYmVj
Y2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2xpY2Vuc2VzLmNvbmY6MTA2CiMgICAgIFtBRkx2MV0g
IkFGTC0xLjIiCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2xp
Y2Vuc2VzLmNvbmY6MTA5CiMgICAgIFtFUEx2MS4wXSAiRVBMLTEuMCIKIyAgIHNldCAvbWVkaWEv
cmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvbGljZW5zZXMuY29uZjoxMTIKIyAgICAgW1NH
SXYxXSAiU0dJLTEiCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICJOb25lIgojCiMgJFNQRFhf
TUFOSUZFU1RfRElSCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25m
L2xpY2Vuc2VzLmNvbmY6MTI2CiMgICAgICIvaG9tZS95b2N0by9mb3Nzb2xvZ3lfc2NhbnMiClNQ
RFhfTUFOSUZFU1RfRElSPSIvaG9tZS95b2N0by9mb3Nzb2xvZ3lfc2NhbnMiCiMKIyAkU1BEWF9U
RU1QX0RJUgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9saWNl
bnNlcy5jb25mOjEyNQojICAgICAiJHtXT1JLRElSfS9zcGR4X3RlbXAiClNQRFhfVEVNUF9ESVI9
Ii9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy90bXAvd29yay9xZW11eDg2LXBva3ktbGludXgv
bHR0bmctbW9kdWxlcy8yLjkuMS1yMC9zcGR4X3RlbXAiCiMKIyAkU1BEWF9WRVJTSU9OCiMgICBz
ZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2xpY2Vuc2VzLmNvbmY6MTI5
CiMgICAgICJTUERYLTEuMSIKU1BEWF9WRVJTSU9OPSJTUERYLTEuMSIKIwojICRTUEVDSUFMX1BL
R1NVRkZJWCBbMiBvcGVyYXRpb25zXQojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5
L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6MjE1CiMgICAgICItbmF0aXZlIC1jcm9zcyAtaW5pdGlh
bCAtaW50ZXJtZWRpYXRlIC1jcm9zc3NkayAtY3Jvc3MtY2FuYWRpYW4iCiMgICBzZXQgL21lZGlh
L3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjozODUKIyAg
ICAgW2RvY10gIkEgbGlzdCBvZiBwcmVmaXhlcyBmb3IgUE4gdXNlZCBieSB0aGUgT3BlbkVtYmVk
ZGVkIGJ1aWxkIHN5c3RlbSB0byBjcmVhdGUgdmFyaWFudHMgb2YgcmVjaXBlcyBvciBwYWNrYWdl
cy4gVGhlIGxpc3Qgc3BlY2lmaWVzIHRoZSBwcmVmaXhlcyB0byBzdHJpcCBvZmYgZHVyaW5nIGNl
cnRhaW4gY2lyY3Vtc3RhbmNlcyBzdWNoIGFzIHRoZSBnZW5lcmF0aW9uIG9mIHRoZSBCUE4gdmFy
aWFibGUuIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiLW5hdGl2ZSAtY3Jvc3MgLWluaXRp
YWwgLWludGVybWVkaWF0ZSAtY3Jvc3NzZGsgLWNyb3NzLWNhbmFkaWFuIgpTUEVDSUFMX1BLR1NV
RkZJWD0iLW5hdGl2ZSAtY3Jvc3MgLWluaXRpYWwgLWludGVybWVkaWF0ZSAtY3Jvc3NzZGsgLWNy
b3NzLWNhbmFkaWFuIgojCiMgJFNSQ0RBVEUgWzIgb3BlcmF0aW9uc10KIyAgIHNldCAvbWVkaWEv
cmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjY1MAojICAgICAiJHtE
QVRFfSIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZG9jdW1l
bnRhdGlvbi5jb25mOjM4OAojICAgICBbZG9jXSAiVGhlIGRhdGUgb2YgdGhlIHNvdXJjZSBjb2Rl
IHVzZWQgdG8gYnVpbGQgdGhlIHBhY2thZ2UuIFRoaXMgdmFyaWFibGUgYXBwbGllcyBvbmx5IGlm
IHRoZSBzb3VyY2Ugd2FzIGZldGNoZWQgZnJvbSBhIFNvdXJjZSBDb2RlIE1hbmFnZXIgKFNDTSku
IgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiJHtEQVRFfSIKU1JDREFURT0iMjAxNzEwMjci
CiMKIyAkU1JDUFYgWzIgb3BlcmF0aW9uc10KIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8v
cG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjY1NQojICAgICBbdmFyZGVwdmFsdWVdICIke1NS
Q1BWfSIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZG9jdW1l
bnRhdGlvbi5jb25mOjM4OQojICAgICBbZG9jXSAiUmV0dXJucyB0aGUgdmVyc2lvbiBzdHJpbmcg
b2YgdGhlIGN1cnJlbnQgcGFja2FnZS4gVGhpcyBzdHJpbmcgaXMgdXNlZCB0byBoZWxwIGRlZmlu
ZSB0aGUgdmFsdWUgb2YgUFYuIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiTm9uZSIKIwoj
ICRTUkNSRVYgWzIgb3BlcmF0aW9uc10KIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9r
eS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjY1MQojICAgICBbX2RlZmF1bHR2YWxdICJJTlZBTElE
IgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0
aW9uLmNvbmY6MzkwCiMgICAgIFtkb2NdICJUaGUgcmV2aXNpb24gb2YgdGhlIHNvdXJjZSBjb2Rl
IHVzZWQgdG8gYnVpbGQgdGhlIHBhY2thZ2UuIFRoaXMgdmFyaWFibGUgYXBwbGllcyB0byBTdWJ2
ZXJzaW9uLCBHaXQsIE1lcmN1cmlhbCBhbmQgQmF6YWFyIG9ubHkuIgojIHByZS1leHBhbnNpb24g
dmFsdWU6CiMgICAiSU5WQUxJRCIKU1JDUkVWPSJJTlZBTElEIgojCiMgJFNSQ19ESVNUUklCVVRF
X0xJQ0VOU0VTIFszNyBvcGVyYXRpb25zXQojICAgYXBwZW5kIC9tZWRpYS9yZWJlY2Nhcy95b2N0
by9wb2t5L21ldGEvY29uZi9saWNlbnNlcy5jb25mOjQKIyAgICAgIkFBTCBBZG9iZSBBRkwtMS4y
IEFGTC0yLjAgQUZMLTIuMSBBRkwtMy4wIgojICAgYXBwZW5kIC9tZWRpYS9yZWJlY2Nhcy95b2N0
by9wb2t5L21ldGEvY29uZi9saWNlbnNlcy5jb25mOjUKIyAgICAgIkFHUEwtMy4wIEFOVExSLVBE
IEFwYWNoZS0xLjAgQXBhY2hlLTEuMSBBcGFjaGUtMi4wIgojICAgYXBwZW5kIC9tZWRpYS9yZWJl
Y2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9saWNlbnNlcy5jb25mOjYKIyAgICAgIkFQTC0xLjAg
QVBTTC0xLjAgQVBTTC0xLjEgQVBTTC0xLjIgQVBTTC0yLjAiCiMgICBhcHBlbmQgL21lZGlhL3Jl
YmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2xpY2Vuc2VzLmNvbmY6NwojICAgICAiQXJ0aXN0
aWMtMS4wIEFydGlzdGljLTIuMCBCaXRzdHJlYW1WZXJhIEJTRCIKIyAgIGFwcGVuZCAvbWVkaWEv
cmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvbGljZW5zZXMuY29uZjo4CiMgICAgICJCU0Qt
Mi1DbGF1c2UgQlNELTMtQ2xhdXNlIEJTRC00LUNsYXVzZSBCU0wtMS4wIgojICAgYXBwZW5kIC9t
ZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9saWNlbnNlcy5jb25mOjkKIyAgICAg
IkNBVE9TTC0xLjEgQ0MwLTEuMCBDQy1CWS0xLjAgQ0MtQlktMi4wIENDLUJZLTIuNSIKIyAgIGFw
cGVuZCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvbGljZW5zZXMuY29uZjox
MAojICAgICAiQ0MtQlktMy4wIENDLUJZLU5DLTEuMCBDQy1CWS1OQy0yLjAgQ0MtQlktTkMtMi41
IgojICAgYXBwZW5kIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9saWNlbnNl
cy5jb25mOjExCiMgICAgICJDQy1CWS1OQy0zLjAgQ0MtQlktTkMtTkQtMS4wIENDLUJZLU5DLU5E
LTIuMCIKIyAgIGFwcGVuZCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvbGlj
ZW5zZXMuY29uZjoxMgojICAgICAiQ0MtQlktTkMtTkQtMi41IENDLUJZLU5DLU5ELTMuMCBDQy1C
WS1OQy1TQS0xLjAiCiMgICBhcHBlbmQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9j
b25mL2xpY2Vuc2VzLmNvbmY6MTMKIyAgICAgIkNDLUJZLU5DLVNBLTIuMCBDQy1CWS1OQy1TQS0y
LjUgQ0MtQlktTkMtU0EtMy4wIgojICAgYXBwZW5kIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5
L21ldGEvY29uZi9saWNlbnNlcy5jb25mOjE0CiMgICAgICJDQy1CWS1ORC0xLjAgQ0MtQlktTkQt
Mi4wIENDLUJZLU5ELTIuNSBDQy1CWS1ORC0zLjAiCiMgICBhcHBlbmQgL21lZGlhL3JlYmVjY2Fz
L3lvY3RvL3Bva3kvbWV0YS9jb25mL2xpY2Vuc2VzLmNvbmY6MTUKIyAgICAgIkNDLUJZLVNBLTEu
MCBDQy1CWS1TQS0yLjAgQ0MtQlktU0EtMi41IENDLUJZLVNBLTMuMCIKIyAgIGFwcGVuZCAvbWVk
aWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvbGljZW5zZXMuY29uZjoxNgojICAgICAi
Q0RETC0xLjAgQ0VDSUxMLTEuMCBDRUNJTEwtMi4wIENFQ0lMTC1CIENFQ0lMTC1DIgojICAgYXBw
ZW5kIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9saWNlbnNlcy5jb25mOjE3
CiMgICAgICJDbEFydGlzdGljIENQQUwtMS4wIENQTC0xLjAgQ1VBLU9QTC0xLjAgRFNTU0wiCiMg
ICBhcHBlbmQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2xpY2Vuc2VzLmNv
bmY6MTgKIyAgICAgIkVDTC0xLjAgRUNMLTIuMCBlQ29zLTIuMCBFREwtMS4wIEVGTC0xLjAgRUZM
LTIuMCIKIyAgIGFwcGVuZCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvbGlj
ZW5zZXMuY29uZjoxOQojICAgICAiRWxmdXRpbHMtRXhjZXB0aW9uIEVudGVzc2EgRVBMLTEuMCBF
cmxQTC0xLjEiCiMgICBhcHBlbmQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25m
L2xpY2Vuc2VzLmNvbmY6MjAKIyAgICAgIkVVRGF0YWdyaWQgRVVQTC0xLjAgRVVQTC0xLjEgRmFp
ciBGcmFtZXdvcngtMS4wIgojICAgYXBwZW5kIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21l
dGEvY29uZi9saWNlbnNlcy5jb25mOjIxCiMgICAgICJGcmVlVHlwZSBHRkRMLTEuMSBHRkRMLTEu
MiBHRkRMLTEuMyBHUEwtMS4wIgojICAgYXBwZW5kIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5
L21ldGEvY29uZi9saWNlbnNlcy5jb25mOjIyCiMgICAgICJHUEwtMi4wIEdQTC0yLjAtd2l0aC1h
dXRvY29uZi1leGNlcHRpb24iCiMgICBhcHBlbmQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kv
bWV0YS9jb25mL2xpY2Vuc2VzLmNvbmY6MjMKIyAgICAgIkdQTC0yLjAtd2l0aC1jbGFzc3BhdGgt
ZXhjZXB0aW9uIgojICAgYXBwZW5kIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29u
Zi9saWNlbnNlcy5jb25mOjI0CiMgICAgICJHUEwtMi4wLXdpdGgtZm9udC1leGNlcHRpb24iCiMg
ICBhcHBlbmQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2xpY2Vuc2VzLmNv
bmY6MjUKIyAgICAgIkdQTC0yLjAtd2l0aC1HQ0MtZXhjZXB0aW9uIgojICAgYXBwZW5kIC9tZWRp
YS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9saWNlbnNlcy5jb25mOjI2CiMgICAgICJH
UEwtMi13aXRoLWJpc29uLWV4Y2VwdGlvbiBHUEwtMy4wIgojICAgYXBwZW5kIC9tZWRpYS9yZWJl
Y2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9saWNlbnNlcy5jb25mOjI3CiMgICAgICJHUEwtMy4w
LXdpdGgtYXV0b2NvbmYtZXhjZXB0aW9uIgojICAgYXBwZW5kIC9tZWRpYS9yZWJlY2Nhcy95b2N0
by9wb2t5L21ldGEvY29uZi9saWNlbnNlcy5jb25mOjI4CiMgICAgICJHUEwtMy4wLXdpdGgtR0ND
LWV4Y2VwdGlvbiIKIyAgIGFwcGVuZCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2Nv
bmYvbGljZW5zZXMuY29uZjoyOQojICAgICAiZ1NPQVAtMSBnU09BUC0xLjNiIEhQTkQgSVBBIElQ
TC0xLjAgSVNDIExHUEwtMi4wIgojICAgYXBwZW5kIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5
L21ldGEvY29uZi9saWNlbnNlcy5jb25mOjMwCiMgICAgICJMR1BMLTIuMSBMR1BMLTMuMCBMaWJw
bmcgTFBMLTEuMDIgTFBQTC0xLjAgTFBQTC0xLjEiCiMgICBhcHBlbmQgL21lZGlhL3JlYmVjY2Fz
L3lvY3RvL3Bva3kvbWV0YS9jb25mL2xpY2Vuc2VzLmNvbmY6MzEKIyAgICAgIkxQUEwtMS4yIExQ
UEwtMS4zYyBNaXJPUyBNSVQgTW90b3NvdG8gTVBMLTEuMCIKIyAgIGFwcGVuZCAvbWVkaWEvcmVi
ZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvbGljZW5zZXMuY29uZjozMgojICAgICAiTVBMLTEu
MSBNUy1QTCBNUy1STCBNdWx0aWNzIE5BU0EtMS4zIE5hdW1hbiBOQ1NBIgojICAgYXBwZW5kIC9t
ZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9saWNlbnNlcy5jb25mOjMzCiMgICAg
ICJOR1BMIE5va2lhIE5QT1NMLTMuMCBOVFAgT0FTSVMgT0NMQy0yLjAgT0RiTC0xLjAiCiMgICBh
cHBlbmQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2xpY2Vuc2VzLmNvbmY6
MzQKIyAgICAgIk9GTC0xLjEgT0dUU0wgT0xEQVAtMi44IE9wZW5TU0wgT1NMLTEuMCBPU0wtMi4w
IgojICAgYXBwZW5kIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9saWNlbnNl
cy5jb25mOjM1CiMgICAgICJPU0wtMy4wIFBEIFBIUC0zLjAgUG9zdGdyZVNRTCBQcm9wcmlldGFy
eSIKIyAgIGFwcGVuZCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvbGljZW5z
ZXMuY29uZjozNgojICAgICAiUHl0aG9uLTIuMCBRUEwtMS4wIFJIZUNvcy0xIFJIZUNvcy0xLjEg
UlBMLTEuNSIKIyAgIGFwcGVuZCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYv
bGljZW5zZXMuY29uZjozNwojICAgICAiUlBTTC0xLjAgUlNDUEwgUnVieSBTQVgtUEQgU0dJLTEg
U2ltcGxlLTIuMCBTbGVlcHljYXQiCiMgICBhcHBlbmQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bv
a3kvbWV0YS9jb25mL2xpY2Vuc2VzLmNvbmY6MzgKIyAgICAgIlNQTC0xLjAgU3VnYXJDUk0tMSBT
dWdhckNSTS0xLjEuMyBVQ0IgVlNMLTEuMCBXM0MiCiMgICBhcHBlbmQgL21lZGlhL3JlYmVjY2Fz
L3lvY3RvL3Bva3kvbWV0YS9jb25mL2xpY2Vuc2VzLmNvbmY6MzkKIyAgICAgIldhdGNvbS0xLjAg
V1h3aW5kb3dzIFhGcmVlODYtMS4wIFhGcmVlODYtMS4xIFhuZXQgWFNMIFlQTC0xLjEiCiMgICBh
cHBlbmQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2xpY2Vuc2VzLmNvbmY6
NDAKIyAgICAgIlppbWJyYS0xLjMgWmxpYiBaUEwtMS4xIFpQTC0yLjAgWlBMLTIuMSIKIyBwcmUt
ZXhwYW5zaW9uIHZhbHVlOgojICAgIiBBQUwgQWRvYmUgQUZMLTEuMiBBRkwtMi4wIEFGTC0yLjEg
QUZMLTMuMCBBR1BMLTMuMCBBTlRMUi1QRCBBcGFjaGUtMS4wIEFwYWNoZS0xLjEgQXBhY2hlLTIu
MCBBUEwtMS4wIEFQU0wtMS4wIEFQU0wtMS4xIEFQU0wtMS4yIEFQU0wtMi4wIEFydGlzdGljLTEu
MCBBcnRpc3RpYy0yLjAgQml0c3RyZWFtVmVyYSBCU0QgQlNELTItQ2xhdXNlIEJTRC0zLUNsYXVz
ZSBCU0QtNC1DbGF1c2UgQlNMLTEuMCBDQVRPU0wtMS4xIENDMC0xLjAgQ0MtQlktMS4wIENDLUJZ
LTIuMCBDQy1CWS0yLjUgQ0MtQlktMy4wIENDLUJZLU5DLTEuMCBDQy1CWS1OQy0yLjAgQ0MtQlkt
TkMtMi41IENDLUJZLU5DLTMuMCBDQy1CWS1OQy1ORC0xLjAgQ0MtQlktTkMtTkQtMi4wIENDLUJZ
LU5DLU5ELTIuNSBDQy1CWS1OQy1ORC0zLjAgQ0MtQlktTkMtU0EtMS4wIENDLUJZLU5DLVNBLTIu
MCBDQy1CWS1OQy1TQS0yLjUgQ0MtQlktTkMtU0EtMy4wIENDLUJZLU5ELTEuMCBDQy1CWS1ORC0y
LjAgQ0MtQlktTkQtMi41IENDLUJZLU5ELTMuMCBDQy1CWS1TQS0xLjAgQ0MtQlktU0EtMi4wIEND
LUJZLVNBLTIuNSBDQy1CWS1TQS0zLjAgQ0RETC0xLjAgQ0VDSUxMLTEuMCBDRUNJTEwtMi4wIENF
Q0lMTC1CIENFQ0lMTC1DIENsQXJ0aXN0aWMgQ1BBTC0xLjAgQ1BMLTEuMCBDVUEtT1BMLTEuMCBE
U1NTTCBFQ0wtMS4wIEVDTC0yLjAgZUNvcy0yLjAgRURMLTEuMCBFRkwtMS4wIEVGTC0yLjAgRWxm
dXRpbHMtRXhjZXB0aW9uIEVudGVzc2EgRVBMLTEuMCBFcmxQTC0xLjEgRVVEYXRhZ3JpZCBFVVBM
LTEuMCBFVVBMLTEuMSBGYWlyIEZyYW1ld29yeC0xLjAgRnJlZVR5cGUgR0ZETC0xLjEgR0ZETC0x
LjIgR0ZETC0xLjMgR1BMLTEuMCBHUEwtMi4wIEdQTC0yLjAtd2l0aC1hdXRvY29uZi1leGNlcHRp
b24gR1BMLTIuMC13aXRoLWNsYXNzcGF0aC1leGNlcHRpb24gR1BMLTIuMC13aXRoLWZvbnQtZXhj
ZXB0aW9uIEdQTC0yLjAtd2l0aC1HQ0MtZXhjZXB0aW9uIEdQTC0yLXdpdGgtYmlzb24tZXhjZXB0
aW9uIEdQTC0zLjAgR1BMLTMuMC13aXRoLWF1dG9jb25mLWV4Y2VwdGlvbiBHUEwtMy4wLXdpdGgt
R0NDLWV4Y2VwdGlvbiBnU09BUC0xIGdTT0FQLTEuM2IgSFBORCBJUEEgSVBMLTEuMCBJU0MgTEdQ
TC0yLjAgTEdQTC0yLjEgTEdQTC0zLjAgTGlicG5nIExQTC0xLjAyIExQUEwtMS4wIExQUEwtMS4x
IExQUEwtMS4yIExQUEwtMS4zYyBNaXJPUyBNSVQgTW90b3NvdG8gTVBMLTEuMCBNUEwtMS4xIE1T
LVBMIE1TLVJMIE11bHRpY3MgTkFTQS0xLjMgTmF1bWFuIE5DU0EgTkdQTCBOb2tpYSBOUE9TTC0z
LjAgTlRQIE9BU0lTIE9DTEMtMi4wIE9EYkwtMS4wIE9GTC0xLjEgT0dUU0wgT0xEQVAtMi44IE9w
ZW5TU0wgT1NMLTEuMCBPU0wtMi4wIE9TTC0zLjAgUEQgUEhQLTMuMCBQb3N0Z3JlU1FMIFByb3By
aWV0YXJ5IFB5dGhvbi0yLjAgUVBMLTEuMCBSSGVDb3MtMSBSSGVDb3MtMS4xIFJQTC0xLjUgUlBT
TC0xLjAgUlNDUEwgUnVieSBTQVgtUEQgU0dJLTEgU2ltcGxlLTIuMCBTbGVlcHljYXQgU1BMLTEu
MCBTdWdhckNSTS0xIFN1Z2FyQ1JNLTEuMS4zIFVDQiBWU0wtMS4wIFczQyBXYXRjb20tMS4wIFdY
d2luZG93cyBYRnJlZTg2LTEuMCBYRnJlZTg2LTEuMSBYbmV0IFhTTCBZUEwtMS4xIFppbWJyYS0x
LjMgWmxpYiBaUEwtMS4xIFpQTC0yLjAgWlBMLTIuMSIKU1JDX0RJU1RSSUJVVEVfTElDRU5TRVM9
IiBBQUwgQWRvYmUgQUZMLTEuMiBBRkwtMi4wIEFGTC0yLjEgQUZMLTMuMCBBR1BMLTMuMCBBTlRM
Ui1QRCBBcGFjaGUtMS4wIEFwYWNoZS0xLjEgQXBhY2hlLTIuMCBBUEwtMS4wIEFQU0wtMS4wIEFQ
U0wtMS4xIEFQU0wtMS4yIEFQU0wtMi4wIEFydGlzdGljLTEuMCBBcnRpc3RpYy0yLjAgQml0c3Ry
ZWFtVmVyYSBCU0QgQlNELTItQ2xhdXNlIEJTRC0zLUNsYXVzZSBCU0QtNC1DbGF1c2UgQlNMLTEu
MCBDQVRPU0wtMS4xIENDMC0xLjAgQ0MtQlktMS4wIENDLUJZLTIuMCBDQy1CWS0yLjUgQ0MtQlkt
My4wIENDLUJZLU5DLTEuMCBDQy1CWS1OQy0yLjAgQ0MtQlktTkMtMi41IENDLUJZLU5DLTMuMCBD
Qy1CWS1OQy1ORC0xLjAgQ0MtQlktTkMtTkQtMi4wIENDLUJZLU5DLU5ELTIuNSBDQy1CWS1OQy1O
RC0zLjAgQ0MtQlktTkMtU0EtMS4wIENDLUJZLU5DLVNBLTIuMCBDQy1CWS1OQy1TQS0yLjUgQ0Mt
QlktTkMtU0EtMy4wIENDLUJZLU5ELTEuMCBDQy1CWS1ORC0yLjAgQ0MtQlktTkQtMi41IENDLUJZ
LU5ELTMuMCBDQy1CWS1TQS0xLjAgQ0MtQlktU0EtMi4wIENDLUJZLVNBLTIuNSBDQy1CWS1TQS0z
LjAgQ0RETC0xLjAgQ0VDSUxMLTEuMCBDRUNJTEwtMi4wIENFQ0lMTC1CIENFQ0lMTC1DIENsQXJ0
aXN0aWMgQ1BBTC0xLjAgQ1BMLTEuMCBDVUEtT1BMLTEuMCBEU1NTTCBFQ0wtMS4wIEVDTC0yLjAg
ZUNvcy0yLjAgRURMLTEuMCBFRkwtMS4wIEVGTC0yLjAgRWxmdXRpbHMtRXhjZXB0aW9uIEVudGVz
c2EgRVBMLTEuMCBFcmxQTC0xLjEgRVVEYXRhZ3JpZCBFVVBMLTEuMCBFVVBMLTEuMSBGYWlyIEZy
YW1ld29yeC0xLjAgRnJlZVR5cGUgR0ZETC0xLjEgR0ZETC0xLjIgR0ZETC0xLjMgR1BMLTEuMCBH
UEwtMi4wIEdQTC0yLjAtd2l0aC1hdXRvY29uZi1leGNlcHRpb24gR1BMLTIuMC13aXRoLWNsYXNz
cGF0aC1leGNlcHRpb24gR1BMLTIuMC13aXRoLWZvbnQtZXhjZXB0aW9uIEdQTC0yLjAtd2l0aC1H
Q0MtZXhjZXB0aW9uIEdQTC0yLXdpdGgtYmlzb24tZXhjZXB0aW9uIEdQTC0zLjAgR1BMLTMuMC13
aXRoLWF1dG9jb25mLWV4Y2VwdGlvbiBHUEwtMy4wLXdpdGgtR0NDLWV4Y2VwdGlvbiBnU09BUC0x
IGdTT0FQLTEuM2IgSFBORCBJUEEgSVBMLTEuMCBJU0MgTEdQTC0yLjAgTEdQTC0yLjEgTEdQTC0z
LjAgTGlicG5nIExQTC0xLjAyIExQUEwtMS4wIExQUEwtMS4xIExQUEwtMS4yIExQUEwtMS4zYyBN
aXJPUyBNSVQgTW90b3NvdG8gTVBMLTEuMCBNUEwtMS4xIE1TLVBMIE1TLVJMIE11bHRpY3MgTkFT
QS0xLjMgTmF1bWFuIE5DU0EgTkdQTCBOb2tpYSBOUE9TTC0zLjAgTlRQIE9BU0lTIE9DTEMtMi4w
IE9EYkwtMS4wIE9GTC0xLjEgT0dUU0wgT0xEQVAtMi44IE9wZW5TU0wgT1NMLTEuMCBPU0wtMi4w
IE9TTC0zLjAgUEQgUEhQLTMuMCBQb3N0Z3JlU1FMIFByb3ByaWV0YXJ5IFB5dGhvbi0yLjAgUVBM
LTEuMCBSSGVDb3MtMSBSSGVDb3MtMS4xIFJQTC0xLjUgUlBTTC0xLjAgUlNDUEwgUnVieSBTQVgt
UEQgU0dJLTEgU2ltcGxlLTIuMCBTbGVlcHljYXQgU1BMLTEuMCBTdWdhckNSTS0xIFN1Z2FyQ1JN
LTEuMS4zIFVDQiBWU0wtMS4wIFczQyBXYXRjb20tMS4wIFdYd2luZG93cyBYRnJlZTg2LTEuMCBY
RnJlZTg2LTEuMSBYbmV0IFhTTCBZUEwtMS4xIFppbWJyYS0xLjMgWmxpYiBaUEwtMS4xIFpQTC0y
LjAgWlBMLTIuMSIKIwojICRTUkNfVVJJIFs3IG9wZXJhdGlvbnNdCiMgICBhcHBlbmQgL21lZGlh
L3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo2MzgKIyAgICAgW3Zh
cmRlcHNleGNsdWRlXSAiQVBBQ0hFX01JUlJPUiBDUEFOX01JUlJPUiBERUJJQU5fTUlSUk9SIEdF
TlRPT19NSVJST1IgR05PTUVfR0lUIEdOT01FX01JUlJPUiBHTlVfTUlSUk9SIEdOVVBHX01JUlJP
UiBHUEVfTUlSUk9SIEtFUk5FTE9SR19NSVJST1IgU0FWQU5OQUhfR05VX01JUlJPUiBTQVZBTk5B
SF9OT05HTlVfTUlSUk9SIFNPVVJDRUZPUkdFX01JUlJPUiBYTElCU19NSVJST1IgWE9SR19NSVJS
T1IgIgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtl
LmNvbmY6NjU3CiMgICAgICIiCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0
YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjozODYKIyAgICAgW2RvY10gIlRoZSBsaXN0IG9mIHNv
dXJjZSBmaWxlcyAtIGxvY2FsIG9yIHJlbW90ZS4gVGhpcyB2YXJpYWJsZSB0ZWxscyB0aGUgT3Bl
bkVtYmVkZGVkIGJ1aWxkIHN5c3RlbSB3aGF0IGJpdHMgdG8gcHVsbCBpbiBmb3IgdGhlIGJ1aWxk
IGFuZCBob3cgdG8gcHVsbCB0aGVtIGluLiIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8v
cG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2x0dG5nL2x0dG5nLW1vZHVsZXNfMi45LjEuYmI6MTQK
IyAgICAgImh0dHBzOi8vbHR0bmcub3JnL2ZpbGVzLyR7QlBOfS8ke0JQTn0tJHtQVn0udGFyLmJ6
MiAgICAgICAgICAgIGZpbGU6Ly9NYWtlZmlsZS1Eby1ub3QtZmFpbC1pZi1DT05GSUdfVFJBQ0VQ
T0lOVFMtaXMtbm90LWVuLnBhdGNoIgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5
L21ldGEvcmVjaXBlcy1rZXJuZWwvbHR0bmcvbHR0bmctbW9kdWxlc18yLjkuMS5iYjoxNgojICAg
ICBbbWQ1c3VtXSAiNWExNmJjYTUyMjMzY2MyYmRmZjU3MmIxMTIwYTg4ZjYiCiMgICBzZXQgL21l
ZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9sdHRuZy9sdHRuZy1t
b2R1bGVzXzIuOS4xLmJiOjE3CiMgICAgIFtzaGEyNTZzdW1dICI2MjA3OGZlMzI1NGNhNjU5Njlk
YjRiNzJlNTkwNDJjZDc5N2RiZjI3NDA4NDhmOGY4MjM4NDg3N2FlNDYwZDU0IgojICAgX2FwcGVu
ZCAvbWVkaWEvcmViZWNjYXMveW9jdG8vbWV0YS1pbnRlbC1jb250cmliL2NvbW1vbi9yZWNpcGVz
LWtlcm5lbC9sdHRuZy9sdHRuZy1tb2R1bGVzXyUuYmJhcHBlbmQ6OAojICAgICAiICR7TFRUTkdf
UEFUQ0h9IgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiaHR0cHM6Ly9sdHRuZy5vcmcvZmls
ZXMvJHtCUE59LyR7QlBOfS0ke1BWfS50YXIuYnoyICAgICAgICAgICAgZmlsZTovL01ha2VmaWxl
LURvLW5vdC1mYWlsLWlmLUNPTkZJR19UUkFDRVBPSU5UUy1pcy1ub3QtZW4ucGF0Y2ggJHtMVFRO
R19QQVRDSH0iClNSQ19VUkk9Imh0dHBzOi8vbHR0bmcub3JnL2ZpbGVzL2x0dG5nLW1vZHVsZXMv
bHR0bmctbW9kdWxlcy0yLjkuMS50YXIuYnoyICAgICAgICAgICAgZmlsZTovL01ha2VmaWxlLURv
LW5vdC1mYWlsLWlmLUNPTkZJR19UUkFDRVBPSU5UUy1pcy1ub3QtZW4ucGF0Y2ggZmlsZTovLzAw
MDItbHR0bmctbW9kdWxlcy1QS1QtNC45LXlvY3RvLWJ1aWxkLWZhaWxlZC5wYXRjaCBmaWxlOi8v
MDAwMi1zY2hlZF9waV9zZXRwcmlvLXRyYWNpbmctZnVuY3Rpb24tZmFpbGVkLXRvLWNvbXBpbGUt
LnBhdGNoIgojCiMgJFNSQ19VUklfT1ZFUlJJREVTX1BBQ0tBR0VfQVJDSAojICAgc2V0IC9tZWRp
YS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6Mzg3CiMg
ICAgIFtkb2NdICJCeSBkZWZhdWx0LCB0aGUgT3BlbkVtYmVkZGVkIGJ1aWxkIHN5c3RlbSBhdXRv
bWF0aWNhbGx5IGRldGVjdHMgd2hldGhlciBTUkNfVVJJIGNvbnRhaW5zIGZpbGVzIHRoYXQgYXJl
IG1hY2hpbmUtc3BlY2lmaWMuIElmIHNvLCB0aGUgYnVpbGQgc3lzdGVtIGF1dG9tYXRpY2FsbHkg
Y2hhbmdlcyBQQUNLQUdFX0FSQ0guIFNldHRpbmcgdGhpcyB2YXJpYWJsZSB0byAnMCcgZGlzYWJs
ZXMgdGhpcyBiZWhhdmlvci4iCiMKIyAkU1NIX0FHRU5UX1BJRAojICAgZnJvbSBlbnYgZGF0YS5w
eToxMjQgW2luaGVyaXRGcm9tT1NdCiMgICAgICIzMjE2IgpTU0hfQUdFTlRfUElEPSIzMjE2Igoj
CiMgJFNTSF9BVVRIX1NPQ0sKIyAgIGZyb20gZW52IGRhdGEucHk6MTI0IFtpbmhlcml0RnJvbU9T
XQojICAgICAiL3J1bi91c2VyLzEwMDAva2V5cmluZy9zc2giClNTSF9BVVRIX1NPQ0s9Ii9ydW4v
dXNlci8xMDAwL2tleXJpbmcvc3NoIgojCiMgJFNTVEFURUNMRUFORlVOQ1MKIyAgIHNldCAvbWVk
aWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NsYXNzZXMvc3N0YXRlLmJiY2xhc3M6NTgKIyAg
ICAgIiIKU1NUQVRFQ0xFQU5GVU5DUz0iIgojCiMgJFNTVEFURUNSRUFURUZVTkNTCiMgICBzZXQg
L21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL3NzdGF0ZS5iYmNsYXNzOjUy
CiMgICAgICJzc3RhdGVfaGFyZGNvZGVfcGF0aCIKU1NUQVRFQ1JFQVRFRlVOQ1M9InNzdGF0ZV9o
YXJkY29kZV9wYXRoIgojCiMgJFNTVEFURVBPU1RDUkVBVEVGVU5DUwojICAgc2V0IC9tZWRpYS9y
ZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY2xhc3Nlcy9zc3RhdGUuYmJjbGFzczo1MwojICAgICAi
IgpTU1RBVEVQT1NUQ1JFQVRFRlVOQ1M9IiIKIwojICRTU1RBVEVQT1NUSU5TVEZVTkNTCiMgICBz
ZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL3NzdGF0ZS5iYmNsYXNz
OjU2CiMgICAgICIiClNTVEFURVBPU1RJTlNURlVOQ1M9IiIKIwojICRTU1RBVEVQT1NUVU5QQUNL
RlVOQ1MgWzMgb3BlcmF0aW9uc10KIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9t
ZXRhL2NsYXNzZXMvc3N0YXRlLmJiY2xhc3M6NTUKIyAgICAgInNzdGF0ZV9oYXJkY29kZV9wYXRo
X3VucGFjayIKIyAgIGFwcGVuZCB1bmluYXRpdmUuYmJjbGFzczoxMDIgW2VuYWJsZV91bmluYXRp
dmVdCiMgICAgICIgdW5pbmF0aXZlX2NoYW5nZWludGVycCIKIyAgIGFwcGVuZCB1bmluYXRpdmUu
YmJjbGFzczoxMDMgW2VuYWJsZV91bmluYXRpdmVdCiMgICAgIFt2YXJkZXB2YWx1ZWV4Y2x1ZGVd
ICJ8IHVuaW5hdGl2ZV9jaGFuZ2VpbnRlcnAiCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICJz
c3RhdGVfaGFyZGNvZGVfcGF0aF91bnBhY2sgdW5pbmF0aXZlX2NoYW5nZWludGVycCIKU1NUQVRF
UE9TVFVOUEFDS0ZVTkNTPSJzc3RhdGVfaGFyZGNvZGVfcGF0aF91bnBhY2sgdW5pbmF0aXZlX2No
YW5nZWludGVycCIKIwojICRTU1RBVEVQUkVJTlNURlVOQ1MKIyAgIHNldCAvbWVkaWEvcmViZWNj
YXMveW9jdG8vcG9reS9tZXRhL2NsYXNzZXMvc3N0YXRlLmJiY2xhc3M6NTQKIyAgICAgIiIKU1NU
QVRFUFJFSU5TVEZVTkNTPSIiCiMKIyAkU1NUQVRFVEFTS1MgWzcgb3BlcmF0aW9uc10KIyAgIGFw
cGVuZCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NsYXNzZXMvc3RhZ2luZy5iYmNs
YXNzOjIwMQojICAgICAiZG9fcG9wdWxhdGVfc3lzcm9vdCIKIyAgIGFwcGVuZCAvbWVkaWEvcmVi
ZWNjYXMveW9jdG8vcG9reS9tZXRhL2NsYXNzZXMvaW5zYW5lLmJiY2xhc3M6MTE5MwojICAgICAi
ZG9fcGFja2FnZV9xYSIKIyAgIGFwcGVuZCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRh
L2NsYXNzZXMvcGFja2FnZS5iYmNsYXNzOjIxNDkKIyAgICAgImRvX3BhY2thZ2UiCiMgICBhcHBl
bmQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL3BhY2thZ2UuYmJjbGFz
czoyMTY2CiMgICAgICJkb19wYWNrYWdlZGF0YSIKIyAgIGFwcGVuZCAvbWVkaWEvcmViZWNjYXMv
eW9jdG8vcG9reS9tZXRhL2NsYXNzZXMvcGFja2FnZV9ycG0uYmJjbGFzczo3MDkKIyAgICAgImRv
X3BhY2thZ2Vfd3JpdGVfcnBtIgojICAgYXBwZW5kIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5
L21ldGEvY2xhc3Nlcy9saWNlbnNlLmJiY2xhc3M6Njc4CiMgICAgICJkb19wb3B1bGF0ZV9saWMi
CiMgICBzZXQgc3N0YXRlLmJiY2xhc3M6OTggW19fYW5vbl8xMDFfX21lZGlhX3JlYmVjY2FzX3lv
Y3RvX3Bva3lfbWV0YV9jbGFzc2VzX3NzdGF0ZV9iYmNsYXNzXQojICAgICAiZG9fcGFja2FnZSBk
b19wYWNrYWdlX3FhIGRvX3BhY2thZ2Vfd3JpdGVfcnBtIGRvX3BhY2thZ2VkYXRhIGRvX3BvcHVs
YXRlX2xpYyBkb19wb3B1bGF0ZV9zeXNyb290IgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAi
ZG9fcGFja2FnZSBkb19wYWNrYWdlX3FhIGRvX3BhY2thZ2Vfd3JpdGVfcnBtIGRvX3BhY2thZ2Vk
YXRhIGRvX3BvcHVsYXRlX2xpYyBkb19wb3B1bGF0ZV9zeXNyb290IgpTU1RBVEVUQVNLUz0iZG9f
cGFja2FnZSBkb19wYWNrYWdlX3FhIGRvX3BhY2thZ2Vfd3JpdGVfcnBtIGRvX3BhY2thZ2VkYXRh
IGRvX3BvcHVsYXRlX2xpYyBkb19wb3B1bGF0ZV9zeXNyb290IgojCiMgJFNTVEFURV9BUkNIUwoj
ICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY2xhc3Nlcy9zc3RhdGUuYmJj
bGFzczo0OAojICAgICAiICAgICAke0JVSUxEX0FSQ0h9ICAgICAke0JVSUxEX0FSQ0h9XyR7U0RL
X0FSQ0h9XyR7U0RLX09TfSAgICAgJHtCVUlMRF9BUkNIfV8ke1RBUkdFVF9BUkNIfSAgICAgJHtT
REtfQVJDSH1fJHtTREtfT1N9ICAgICAke1NES19BUkNIfV8ke1BBQ0tBR0VfQVJDSH0gICAgIGFs
bGFyY2ggICAgICR7UEFDS0FHRV9BUkNIfSAgICAgJHtNQUNISU5FfSIKU1NUQVRFX0FSQ0hTPSIg
ICAgIHg4Nl82NCAgICAgeDg2XzY0X3g4Nl82NF9saW51eCAgICAgeDg2XzY0X2k1ODYgICAgIHg4
Nl82NF9saW51eCAgICAgeDg2XzY0X3FlbXV4ODYgICAgIGFsbGFyY2ggICAgIHFlbXV4ODYgICAg
IHFlbXV4ODYiCiMKIyAkU1NUQVRFX0RJUiBbMyBvcGVyYXRpb25zXQojICAgc2V0IC9tZWRpYS9y
ZWJlY2Nhcy95b2N0by9sdHRuZy9jb25mL3NpdGUuY29uZjo3CiMgICAgICIvbWVkaWEvcmViZWNj
YXMvYnVpbGQvc3N0YXRlLWNhY2hlIgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5
L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6MzkxCiMgICAgIFtkb2NdICJUaGUgZGlyZWN0
b3J5IGZvciB0aGUgc2hhcmVkIHN0YXRlIGNhY2hlLiIKIyAgIHNldD8gL21lZGlhL3JlYmVjY2Fz
L3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo3NDkKIyAgICAgIiR7VE9QRElSfS9z
c3RhdGUtY2FjaGUiCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICIvbWVkaWEvcmViZWNjYXMv
YnVpbGQvc3N0YXRlLWNhY2hlIgpTU1RBVEVfRElSPSIvbWVkaWEvcmViZWNjYXMvYnVpbGQvc3N0
YXRlLWNhY2hlIgojCiMgJFNTVEFURV9EVVBXSElURUxJU1QgWzMgb3BlcmF0aW9uc10KIyAgIHNl
dCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NsYXNzZXMvc3N0YXRlLmJiY2xhc3M6
MjgKIyAgICAgIiR7REVQTE9ZX0RJUl9JTUFHRX0vICR7REVQTE9ZX0RJUn0vbGljZW5zZXMvICR7
REVQTE9ZX0RJUl9SUE19L25vYXJjaC8iCiMgICBhcHBlbmQgL21lZGlhL3JlYmVjY2FzL3lvY3Rv
L3Bva3kvbWV0YS9jbGFzc2VzL3NzdGF0ZS5iYmNsYXNzOjMwCiMgICAgICIke1NUQUdJTkdfRVRD
RElSX05BVElWRX0vc2dtbCAke1NUQUdJTkdfREFUQURJUl9OQVRJVkV9L3NnbWwiCiMgICBhcHBl
bmQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL3NzdGF0ZS5iYmNsYXNz
OjMyCiMgICAgICIke0RFUExPWV9ESVJfU1JDfSIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAg
IiR7REVQTE9ZX0RJUl9JTUFHRX0vICR7REVQTE9ZX0RJUn0vbGljZW5zZXMvICR7REVQTE9ZX0RJ
Ul9SUE19L25vYXJjaC8gJHtTVEFHSU5HX0VUQ0RJUl9OQVRJVkV9L3NnbWwgJHtTVEFHSU5HX0RB
VEFESVJfTkFUSVZFfS9zZ21sICR7REVQTE9ZX0RJUl9TUkN9IgpTU1RBVEVfRFVQV0hJVEVMSVNU
PSIvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvdG1wL2RlcGxveS9pbWFnZXMvcWVtdXg4Ni8g
L21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL3RtcC9kZXBsb3kvbGljZW5zZXMvIC9tZWRpYS9y
ZWJlY2Nhcy95b2N0by9sdHRuZy90bXAvZGVwbG95L3JwbS9ub2FyY2gvIC9tZWRpYS9yZWJlY2Nh
cy95b2N0by9sdHRuZy90bXAvd29yay9xZW11eDg2LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8y
LjkuMS1yMC9yZWNpcGUtc3lzcm9vdC1uYXRpdmUvZXRjL3NnbWwgL21lZGlhL3JlYmVjY2FzL3lv
Y3RvL2x0dG5nL3RtcC93b3JrL3FlbXV4ODYtcG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4x
LXIwL3JlY2lwZS1zeXNyb290LW5hdGl2ZS91c3Ivc2hhcmUvc2dtbCBcJHtERVBMT1lfRElSX1NS
Q30iCiMKIyAkU1NUQVRFX0VYVFJBUEFUSCBbMiBvcGVyYXRpb25zXQojICAgc2V0IC9tZWRpYS9y
ZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY2xhc3Nlcy9zc3RhdGUuYmJjbGFzczoxNgojICAgICAi
IgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY2xhc3Nlcy9zc3RhdGUu
YmJjbGFzczoyNQojICAgICBbdmFyZGVwdmFsdWVdICIiCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToK
IyAgICIiClNTVEFURV9FWFRSQVBBVEg9IiIKIwojICRTU1RBVEVfRVhUUkFQQVRIV0lMRENBUkQK
IyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NsYXNzZXMvc3N0YXRlLmJi
Y2xhc3M6MTcKIyAgICAgIiIKU1NUQVRFX0VYVFJBUEFUSFdJTERDQVJEPSIiCiMKIyAkU1NUQVRF
X01BTkZJTEVQUkVGSVgKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2Ns
YXNzZXMvc3N0YXRlLmJiY2xhc3M6NAojICAgICAiJHtTU1RBVEVfTUFOSUZFU1RTfS9tYW5pZmVz
dC0ke1NTVEFURV9NQU5NQUNIfS0ke1BOfSIKU1NUQVRFX01BTkZJTEVQUkVGSVg9Ii9tZWRpYS9y
ZWJlY2Nhcy95b2N0by9sdHRuZy90bXAvc3N0YXRlLWNvbnRyb2wvbWFuaWZlc3QtcWVtdXg4Ni1s
dHRuZy1tb2R1bGVzIgojCiMgJFNTVEFURV9NQU5JRkVTVFMKIyAgIHNldD8gL21lZGlhL3JlYmVj
Y2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL3NzdGF0ZS5iYmNsYXNzOjMKIyAgICAgIiR7VE1Q
RElSfS9zc3RhdGUtY29udHJvbCIKU1NUQVRFX01BTklGRVNUUz0iL21lZGlhL3JlYmVjY2FzL3lv
Y3RvL2x0dG5nL3RtcC9zc3RhdGUtY29udHJvbCIKIwojICRTU1RBVEVfTUFOTUFDSCBbMiBvcGVy
YXRpb25zXQojICAgc2V0PyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NsYXNzZXMv
c3N0YXRlLmJiY2xhc3M6NTAKIyAgICAgIiR7U1NUQVRFX1BLR0FSQ0h9IgojICAgc2V0IHNzdGF0
ZS5iYmNsYXNzOjkwIFtfX2Fub25fMTAxX19tZWRpYV9yZWJlY2Nhc195b2N0b19wb2t5X21ldGFf
Y2xhc3Nlc19zc3RhdGVfYmJjbGFzc10KIyAgICAgInFlbXV4ODYiCiMgcHJlLWV4cGFuc2lvbiB2
YWx1ZToKIyAgICJxZW11eDg2IgpTU1RBVEVfTUFOTUFDSD0icWVtdXg4NiIKIwojICRTU1RBVEVf
TUlSUk9SUwojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1
bWVudGF0aW9uLmNvbmY6MzkyCiMgICAgIFtkb2NdICJDb25maWd1cmVzIHRoZSBPcGVuRW1iZWRk
ZWQgYnVpbGQgc3lzdGVtIHRvIHNlYXJjaCBvdGhlciBtaXJyb3IgbG9jYXRpb25zIGZvciBwcmVi
dWlsdCBjYWNoZSBkYXRhIG9iamVjdHMgYmVmb3JlIGJ1aWxkaW5nIG91dCB0aGUgZGF0YS4gWW91
IGNhbiBzcGVjaWZ5IGEgZmlsZXN5c3RlbSBkaXJlY3Rvcnkgb3IgYSByZW1vdGUgVVJMIHN1Y2gg
YXMgSFRUUCBvciBGVFAuIgojCiMgJFNTVEFURV9QQVRIU1BFQwojICAgc2V0IC9tZWRpYS9yZWJl
Y2Nhcy95b2N0by9wb2t5L21ldGEvY2xhc3Nlcy9zc3RhdGUuYmJjbGFzczoxOAojICAgICAiJHtT
U1RBVEVfRElSfS8ke1NTVEFURV9FWFRSQVBBVEhXSUxEQ0FSRH0qLyR7U1NUQVRFX1BLR1NQRUN9
IgpTU1RBVEVfUEFUSFNQRUM9Ii9tZWRpYS9yZWJlY2Nhcy9idWlsZC9zc3RhdGUtY2FjaGUvKi9z
c3RhdGU6bHR0bmctbW9kdWxlczpxZW11eDg2LXBva3ktbGludXg6Mi45LjE6cjA6cWVtdXg4Njoz
OiIKIwojICRTU1RBVEVfUEtHCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0
YS9jbGFzc2VzL3NzdGF0ZS5iYmNsYXNzOjE1CiMgICAgICIke1NTVEFURV9ESVJ9LyR7U1NUQVRF
X1BLR05BTUV9IgpTU1RBVEVfUEtHPSIvbWVkaWEvcmViZWNjYXMvYnVpbGQvc3N0YXRlLWNhY2hl
L0lOL3NzdGF0ZTpsdHRuZy1tb2R1bGVzOnFlbXV4ODYtcG9reS1saW51eDoyLjkuMTpyMDpxZW11
eDg2OjM6SU5WQUxJRCIKIwojICRTU1RBVEVfUEtHQVJDSAojICAgc2V0IC9tZWRpYS9yZWJlY2Nh
cy95b2N0by9wb2t5L21ldGEvY2xhc3Nlcy9zc3RhdGUuYmJjbGFzczoxMQojICAgICAiJHtQQUNL
QUdFX0FSQ0h9IgpTU1RBVEVfUEtHQVJDSD0icWVtdXg4NiIKIwojICRTU1RBVEVfUEtHTkFNRQoj
ICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY2xhc3Nlcy9zc3RhdGUuYmJj
bGFzczoxNAojICAgICAiJHtTU1RBVEVfRVhUUkFQQVRIfSR7QGdlbmVyYXRlX3NzdGF0ZWZuKGQu
Z2V0VmFyKCdTU1RBVEVfUEtHU1BFQycpLCBkLmdldFZhcignQkJfVEFTS0hBU0gnKSwgZCl9IgpT
U1RBVEVfUEtHTkFNRT0iSU4vc3N0YXRlOmx0dG5nLW1vZHVsZXM6cWVtdXg4Ni1wb2t5LWxpbnV4
OjIuOS4xOnIwOnFlbXV4ODY6MzpJTlZBTElEIgojCiMgJFNTVEFURV9QS0dTUEVDCiMgICBzZXQg
L21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL3NzdGF0ZS5iYmNsYXNzOjEy
CiMgICAgICJzc3RhdGU6JHtQTn06JHtQQUNLQUdFX0FSQ0h9JHtUQVJHRVRfVkVORE9SfS0ke1RB
UkdFVF9PU306JHtQVn06JHtQUn06JHtTU1RBVEVfUEtHQVJDSH06JHtTU1RBVEVfVkVSU0lPTn06
IgpTU1RBVEVfUEtHU1BFQz0ic3N0YXRlOmx0dG5nLW1vZHVsZXM6cWVtdXg4Ni1wb2t5LWxpbnV4
OjIuOS4xOnIwOnFlbXV4ODY6MzoiCiMKIyAkU1NUQVRFX1BSVU5FX09CU09MRVRFV09SS0RJUgoj
ICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY2xhc3Nlcy9zc3RhdGUuYmJj
bGFzczoxMDA2CiMgICAgICIxIgpTU1RBVEVfUFJVTkVfT0JTT0xFVEVXT1JLRElSPSIxIgojCiMg
JFNTVEFURV9TQ0FOX0NNRAojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEv
Y2xhc3Nlcy9zc3RhdGUuYmJjbGFzczozNQojICAgICBbX2RlZmF1bHR2YWxdICJmaW5kICR7U1NU
QVRFX0JVSUxERElSfSBcKCAtbmFtZSAiJHtAIlwiIC1vIC1uYW1lIFwiIi5qb2luKGQuZ2V0VmFy
KCJTU1RBVEVfU0NBTl9GSUxFUyIpLnNwbGl0KCkpfSIgXCkgLXR5cGUgZiIKU1NUQVRFX1NDQU5f
Q01EPSJmaW5kIFwke1NTVEFURV9CVUlMRERJUn0gXCggLW5hbWUgXCIqLmxhXCIgLW8gLW5hbWUg
XCIqLWNvbmZpZ1wiIC1vIC1uYW1lIFwiKl9jb25maWdcIiAtbyAtbmFtZSBcInBvc3RpbnN0LSpc
IiBcKSAtdHlwZSBmIgojCiMgJFNTVEFURV9TQ0FOX0NNRF9OQVRJVkUKIyAgIHNldCAvbWVkaWEv
cmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NsYXNzZXMvc3N0YXRlLmJiY2xhc3M6MzYKIyAgICAg
W19kZWZhdWx0dmFsXSAiZ3JlcCAtSXJsIC1lICR7UkVDSVBFX1NZU1JPT1R9IC1lICR7UkVDSVBF
X1NZU1JPT1RfTkFUSVZFfSAtZSAke0hPU1RUT09MU19ESVJ9ICR7U1NUQVRFX0JVSUxERElSfSIK
U1NUQVRFX1NDQU5fQ01EX05BVElWRT0iZ3JlcCAtSXJsIC1lIC9tZWRpYS9yZWJlY2Nhcy95b2N0
by9sdHRuZy90bXAvd29yay9xZW11eDg2LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1y
MC9yZWNpcGUtc3lzcm9vdCAtZSAvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvdG1wL3dvcmsv
cWVtdXg4Ni1wb2t5LWxpbnV4L2x0dG5nLW1vZHVsZXMvMi45LjEtcjAvcmVjaXBlLXN5c3Jvb3Qt
bmF0aXZlIC1lIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy90bXAvaG9zdHRvb2xzIFwke1NT
VEFURV9CVUlMRERJUn0iCiMKIyAkU1NUQVRFX1NDQU5fRklMRVMKIyAgIHNldD8gL21lZGlhL3Jl
YmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL3NzdGF0ZS5iYmNsYXNzOjM0CiMgICAgICIq
LmxhICotY29uZmlnICpfY29uZmlnIHBvc3RpbnN0LSoiClNTVEFURV9TQ0FOX0ZJTEVTPSIqLmxh
ICotY29uZmlnICpfY29uZmlnIHBvc3RpbnN0LSoiCiMKIyAkU1NUQVRFX1NJR19LRVkKIyAgIHNl
dD8gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL3NzdGF0ZS5iYmNsYXNz
OjcwCiMgICAgICIiClNTVEFURV9TSUdfS0VZPSIiCiMKIyAkU1NUQVRFX1NJR19QQVNTUEhSQVNF
CiMgICBzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY2xhc3Nlcy9zc3RhdGUu
YmJjbGFzczo3MQojICAgICAiIgpTU1RBVEVfU0lHX1BBU1NQSFJBU0U9IiIKIwojICRTU1RBVEVf
U1dTUEVDCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL3Nz
dGF0ZS5iYmNsYXNzOjEzCiMgICAgICJzc3RhdGU6JHtQTn06OiR7UFZ9OiR7UFJ9Ojoke1NTVEFU
RV9WRVJTSU9OfToiClNTVEFURV9TV1NQRUM9InNzdGF0ZTpsdHRuZy1tb2R1bGVzOjoyLjkuMTpy
MDo6MzoiCiMKIyAkU1NUQVRFX1ZFUklGWV9TSUcKIyAgIHNldD8gL21lZGlhL3JlYmVjY2FzL3lv
Y3RvL3Bva3kvbWV0YS9jbGFzc2VzL3NzdGF0ZS5iYmNsYXNzOjczCiMgICAgICIwIgpTU1RBVEVf
VkVSSUZZX1NJRz0iMCIKIwojICRTU1RBVEVfVkVSU0lPTgojICAgc2V0IC9tZWRpYS9yZWJlY2Nh
cy95b2N0by9wb2t5L21ldGEvY2xhc3Nlcy9zc3RhdGUuYmJjbGFzczoxCiMgICAgICIzIgpTU1RB
VEVfVkVSU0lPTj0iMyIKIwojICRTVEFHSU5HX0JBU0VMSUJESVIKIyAgIHNldCAvbWVkaWEvcmVi
ZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjM3NAojICAgICAiJHtTVEFH
SU5HX0RJUl9IT1NUfSR7YmFzZV9saWJkaXJ9IgpTVEFHSU5HX0JBU0VMSUJESVI9Ii9tZWRpYS9y
ZWJlY2Nhcy95b2N0by9sdHRuZy90bXAvd29yay9xZW11eDg2LXBva3ktbGludXgvbHR0bmctbW9k
dWxlcy8yLjkuMS1yMC9yZWNpcGUtc3lzcm9vdC9saWIiCiMKIyAkU1RBR0lOR19CQVNFX0xJQkRJ
Ul9OQVRJVkUKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0
YmFrZS5jb25mOjM2NAojICAgICAiJHtTVEFHSU5HX0RJUl9OQVRJVkV9JHtiYXNlX2xpYmRpcl9u
YXRpdmV9IgpTVEFHSU5HX0JBU0VfTElCRElSX05BVElWRT0iL21lZGlhL3JlYmVjY2FzL3lvY3Rv
L2x0dG5nL3RtcC93b3JrL3FlbXV4ODYtcG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIw
L3JlY2lwZS1zeXNyb290LW5hdGl2ZS9saWIiCiMKIyAkU1RBR0lOR19CSU5ESVIKIyAgIHNldCAv
bWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjM3MQojICAg
ICAiJHtTVEFHSU5HX0RJUl9IT1NUfSR7YmluZGlyfSIKU1RBR0lOR19CSU5ESVI9Ii9tZWRpYS9y
ZWJlY2Nhcy95b2N0by9sdHRuZy90bXAvd29yay9xZW11eDg2LXBva3ktbGludXgvbHR0bmctbW9k
dWxlcy8yLjkuMS1yMC9yZWNpcGUtc3lzcm9vdC91c3IvYmluIgojCiMgJFNUQUdJTkdfQklORElS
X0NST1NTCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJh
a2UuY29uZjozNjAKIyAgICAgIiR7U1RBR0lOR19CSU5ESVJ9L2Nyb3Nzc2NyaXB0cyIKU1RBR0lO
R19CSU5ESVJfQ1JPU1M9Ii9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy90bXAvd29yay9xZW11
eDg2LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9yZWNpcGUtc3lzcm9vdC91c3Iv
YmluL2Nyb3Nzc2NyaXB0cyIKIwojICRTVEFHSU5HX0JJTkRJUl9OQVRJVkUKIyAgIHNldCAvbWVk
aWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjM1OQojICAgICAi
JHtTVEFHSU5HX0RJUl9OQVRJVkV9JHtiaW5kaXJfbmF0aXZlfSIKU1RBR0lOR19CSU5ESVJfTkFU
SVZFPSIvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvdG1wL3dvcmsvcWVtdXg4Ni1wb2t5LWxp
bnV4L2x0dG5nLW1vZHVsZXMvMi45LjEtcjAvcmVjaXBlLXN5c3Jvb3QtbmF0aXZlL3Vzci9iaW4i
CiMKIyAkU1RBR0lOR19CSU5ESVJfVE9PTENIQUlOCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lv
Y3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjozNjEKIyAgICAgIiR7U1RBR0lOR19ESVJf
TkFUSVZFfSR7YmluZGlyX25hdGl2ZX0vJHtUQVJHRVRfQVJDSH0ke1RBUkdFVF9WRU5ET1J9LSR7
VEFSR0VUX09TfSIKU1RBR0lOR19CSU5ESVJfVE9PTENIQUlOPSIvbWVkaWEvcmViZWNjYXMveW9j
dG8vbHR0bmcvdG1wL3dvcmsvcWVtdXg4Ni1wb2t5LWxpbnV4L2x0dG5nLW1vZHVsZXMvMi45LjEt
cjAvcmVjaXBlLXN5c3Jvb3QtbmF0aXZlL3Vzci9iaW4vaTU4Ni1wb2t5LWxpbnV4IgojCiMgJFNU
QUdJTkdfREFUQURJUgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29u
Zi9iaXRiYWtlLmNvbmY6Mzc2CiMgICAgICIke1NUQUdJTkdfRElSX0hPU1R9JHtkYXRhZGlyfSIK
U1RBR0lOR19EQVRBRElSPSIvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvdG1wL3dvcmsvcWVt
dXg4Ni1wb2t5LWxpbnV4L2x0dG5nLW1vZHVsZXMvMi45LjEtcjAvcmVjaXBlLXN5c3Jvb3QvdXNy
L3NoYXJlIgojCiMgJFNUQUdJTkdfREFUQURJUl9OQVRJVkUKIyAgIHNldCAvbWVkaWEvcmViZWNj
YXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjM2OAojICAgICAiJHtTVEFHSU5H
X0RJUl9OQVRJVkV9JHtkYXRhZGlyX25hdGl2ZX0iClNUQUdJTkdfREFUQURJUl9OQVRJVkU9Ii9t
ZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy90bXAvd29yay9xZW11eDg2LXBva3ktbGludXgvbHR0
bmctbW9kdWxlcy8yLjkuMS1yMC9yZWNpcGUtc3lzcm9vdC1uYXRpdmUvdXNyL3NoYXJlIgojCiMg
JFNUQUdJTkdfRElSCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25m
L2JpdGJha2UuY29uZjozNTMKIyAgICAgIiR7VE1QRElSfS9zeXNyb290cyIKU1RBR0lOR19ESVI9
Ii9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy90bXAvc3lzcm9vdHMiCiMKIyAkU1RBR0lOR19E
SVJfSE9TVAojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRi
YWtlLmNvbmY6MzcwCiMgICAgICIke1JFQ0lQRV9TWVNST09UfSIKU1RBR0lOR19ESVJfSE9TVD0i
L21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL3RtcC93b3JrL3FlbXV4ODYtcG9reS1saW51eC9s
dHRuZy1tb2R1bGVzLzIuOS4xLXIwL3JlY2lwZS1zeXNyb290IgojCiMgJFNUQUdJTkdfRElSX05B
VElWRQojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtl
LmNvbmY6MzU4CiMgICAgICIke1JFQ0lQRV9TWVNST09UX05BVElWRX0iClNUQUdJTkdfRElSX05B
VElWRT0iL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL3RtcC93b3JrL3FlbXV4ODYtcG9reS1s
aW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL3JlY2lwZS1zeXNyb290LW5hdGl2ZSIKIwojICRT
VEFHSU5HX0RJUl9UQVJHRVQKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRh
L2NvbmYvYml0YmFrZS5jb25mOjM4MQojICAgICAiJHtSRUNJUEVfU1lTUk9PVH0iClNUQUdJTkdf
RElSX1RBUkdFVD0iL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL3RtcC93b3JrL3FlbXV4ODYt
cG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL3JlY2lwZS1zeXNyb290IgojCiMgJFNU
QUdJTkdfRVRDRElSX05BVElWRQojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21l
dGEvY29uZi9iaXRiYWtlLmNvbmY6MzY3CiMgICAgICIke1NUQUdJTkdfRElSX05BVElWRX0ke3N5
c2NvbmZkaXJfbmF0aXZlfSIKU1RBR0lOR19FVENESVJfTkFUSVZFPSIvbWVkaWEvcmViZWNjYXMv
eW9jdG8vbHR0bmcvdG1wL3dvcmsvcWVtdXg4Ni1wb2t5LWxpbnV4L2x0dG5nLW1vZHVsZXMvMi45
LjEtcjAvcmVjaXBlLXN5c3Jvb3QtbmF0aXZlL2V0YyIKIwojICRTVEFHSU5HX0VYRUNQUkVGSVhE
SVIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5j
b25mOjM3NwojICAgICAiJHtTVEFHSU5HX0RJUl9IT1NUfSR7ZXhlY19wcmVmaXh9IgpTVEFHSU5H
X0VYRUNQUkVGSVhESVI9Ii9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy90bXAvd29yay9xZW11
eDg2LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9yZWNpcGUtc3lzcm9vdC91c3Ii
CiMKIyAkU1RBR0lOR19GSVJNV0FSRV9ESVIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8v
cG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjM3OQojICAgICAiJHtTVEFHSU5HX0RJUl9IT1NU
fS9maXJtd2FyZSIKU1RBR0lOR19GSVJNV0FSRV9ESVI9Ii9tZWRpYS9yZWJlY2Nhcy95b2N0by9s
dHRuZy90bXAvd29yay9xZW11eDg2LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9y
ZWNpcGUtc3lzcm9vdC9maXJtd2FyZSIKIwojICRTVEFHSU5HX0lOQ0RJUgojICAgc2V0IC9tZWRp
YS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6Mzc1CiMgICAgICIk
e1NUQUdJTkdfRElSX0hPU1R9JHtpbmNsdWRlZGlyfSIKU1RBR0lOR19JTkNESVI9Ii9tZWRpYS9y
ZWJlY2Nhcy95b2N0by9sdHRuZy90bXAvd29yay9xZW11eDg2LXBva3ktbGludXgvbHR0bmctbW9k
dWxlcy8yLjkuMS1yMC9yZWNpcGUtc3lzcm9vdC91c3IvaW5jbHVkZSIKIwojICRTVEFHSU5HX0lO
Q0RJUl9OQVRJVkUKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYv
Yml0YmFrZS5jb25mOjM2NgojICAgICAiJHtTVEFHSU5HX0RJUl9OQVRJVkV9JHtpbmNsdWRlZGly
X25hdGl2ZX0iClNUQUdJTkdfSU5DRElSX05BVElWRT0iL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0
dG5nL3RtcC93b3JrL3FlbXV4ODYtcG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL3Jl
Y2lwZS1zeXNyb290LW5hdGl2ZS91c3IvaW5jbHVkZSIKIwojICRTVEFHSU5HX0tFUk5FTF9CVUlM
RERJUgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtl
LmNvbmY6NDIyCiMgICAgICIke1RNUERJUn0vd29yay1zaGFyZWQvJHtNQUNISU5FfS9rZXJuZWwt
YnVpbGQtYXJ0aWZhY3RzIgpTVEFHSU5HX0tFUk5FTF9CVUlMRERJUj0iL21lZGlhL3JlYmVjY2Fz
L3lvY3RvL2x0dG5nL3RtcC93b3JrLXNoYXJlZC9xZW11eDg2L2tlcm5lbC1idWlsZC1hcnRpZmFj
dHMiCiMKIyAkU1RBR0lOR19LRVJORUxfRElSIFsyIG9wZXJhdGlvbnNdCiMgICBzZXQgL21lZGlh
L3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo0MjEKIyAgICAgIiR7
VE1QRElSfS93b3JrLXNoYXJlZC8ke01BQ0hJTkV9L2tlcm5lbC1zb3VyY2UiCiMgICBzZXQgL21l
ZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjozOTMK
IyAgICAgW2RvY10gIlRoZSBkaXJlY3Rvcnkgd2l0aCBrZXJuZWwgaGVhZGVycyB0aGF0IGFyZSBy
ZXF1aXJlZCB0byBidWlsZCBvdXQtb2YtdHJlZSBtb2R1bGVzLiIKIyBwcmUtZXhwYW5zaW9uIHZh
bHVlOgojICAgIiR7VE1QRElSfS93b3JrLXNoYXJlZC8ke01BQ0hJTkV9L2tlcm5lbC1zb3VyY2Ui
ClNUQUdJTkdfS0VSTkVMX0RJUj0iL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL3RtcC93b3Jr
LXNoYXJlZC9xZW11eDg2L2tlcm5lbC1zb3VyY2UiCiMKIyAkU1RBR0lOR19MSUJESVIKIyAgIHNl
dCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjM3Mgoj
ICAgICAiJHtTVEFHSU5HX0RJUl9IT1NUfSR7bGliZGlyfSIKU1RBR0lOR19MSUJESVI9Ii9tZWRp
YS9yZWJlY2Nhcy95b2N0by9sdHRuZy90bXAvd29yay9xZW11eDg2LXBva3ktbGludXgvbHR0bmct
bW9kdWxlcy8yLjkuMS1yMC9yZWNpcGUtc3lzcm9vdC91c3IvbGliIgojCiMgJFNUQUdJTkdfTElC
RElSX05BVElWRQojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9i
aXRiYWtlLmNvbmY6MzYyCiMgICAgICIke1NUQUdJTkdfRElSX05BVElWRX0ke2xpYmRpcl9uYXRp
dmV9IgpTVEFHSU5HX0xJQkRJUl9OQVRJVkU9Ii9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy90
bXAvd29yay9xZW11eDg2LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9yZWNpcGUt
c3lzcm9vdC1uYXRpdmUvdXNyL2xpYiIKIwojICRTVEFHSU5HX0xJQkVYRUNESVIKIyAgIHNldCAv
bWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjM3MwojICAg
ICAiJHtTVEFHSU5HX0RJUl9IT1NUfSR7bGliZXhlY2Rpcn0iClNUQUdJTkdfTElCRVhFQ0RJUj0i
L21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL3RtcC93b3JrL3FlbXV4ODYtcG9reS1saW51eC9s
dHRuZy1tb2R1bGVzLzIuOS4xLXIwL3JlY2lwZS1zeXNyb290L3Vzci9saWJleGVjIgojCiMgJFNU
QUdJTkdfTElCRVhFQ0RJUl9OQVRJVkUKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9r
eS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjM2MwojICAgICAiJHtTVEFHSU5HX0RJUl9OQVRJVkV9
JHtsaWJleGVjZGlyX25hdGl2ZX0iClNUQUdJTkdfTElCRVhFQ0RJUl9OQVRJVkU9Ii9tZWRpYS9y
ZWJlY2Nhcy95b2N0by9sdHRuZy90bXAvd29yay9xZW11eDg2LXBva3ktbGludXgvbHR0bmctbW9k
dWxlcy8yLjkuMS1yMC9yZWNpcGUtc3lzcm9vdC1uYXRpdmUvdXNyL2xpYmV4ZWMiCiMKIyAkU1RB
R0lOR19MT0FERVJfRElSCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9j
b25mL2JpdGJha2UuY29uZjozNzgKIyAgICAgIiR7U1RBR0lOR19ESVJfSE9TVH0vbG9hZGVyIgpT
VEFHSU5HX0xPQURFUl9ESVI9Ii9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy90bXAvd29yay9x
ZW11eDg2LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9yZWNpcGUtc3lzcm9vdC9s
b2FkZXIiCiMKIyAkU1RBR0lOR19TQklORElSX05BVElWRQojICAgc2V0IC9tZWRpYS9yZWJlY2Nh
cy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6MzY1CiMgICAgICIke1NUQUdJTkdf
RElSX05BVElWRX0ke3NiaW5kaXJfbmF0aXZlfSIKU1RBR0lOR19TQklORElSX05BVElWRT0iL21l
ZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL3RtcC93b3JrL3FlbXV4ODYtcG9reS1saW51eC9sdHRu
Zy1tb2R1bGVzLzIuOS4xLXIwL3JlY2lwZS1zeXNyb290LW5hdGl2ZS91c3Ivc2JpbiIKIwojICRT
VEFNUCBbMiBvcGVyYXRpb25zXQojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21l
dGEvY29uZi9iaXRiYWtlLmNvbmY6MzQ0CiMgICAgICIke1NUQU1QU19ESVJ9LyR7TVVMVElNQUNI
X1RBUkdFVF9TWVN9LyR7UE59LyR7RVhURU5EUEV9JHtQVn0tJHtQUn0iCiMgICBzZXQgL21lZGlh
L3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjozOTQKIyAg
ICAgW2RvY10gIlNwZWNpZmllcyB0aGUgYmFzZSBwYXRoIHVzZWQgdG8gY3JlYXRlIHJlY2lwZSBz
dGFtcCBmaWxlcy4gVGhlIHBhdGggdG8gYW4gYWN0dWFsIHN0YW1wIGZpbGUgaXMgY29uc3RydWN0
ZWQgYnkgZXZhbHVhdGluZyB0aGlzIHN0cmluZyBhbmQgdGhlbiBhcHBlbmRpbmcgYWRkaXRpb25h
bCBpbmZvcm1hdGlvbi4iCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICIke1NUQU1QU19ESVJ9
LyR7TVVMVElNQUNIX1RBUkdFVF9TWVN9LyR7UE59LyR7RVhURU5EUEV9JHtQVn0tJHtQUn0iClNU
QU1QPSIvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvdG1wL3N0YW1wcy9xZW11eDg2LXBva3kt
bGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMCIKIwojICRTVEFNUENMRUFOCiMgICBzZXQgL21l
ZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjozNDUKIyAgICAg
IiR7U1RBTVBTX0RJUn0vJHtNVUxUSU1BQ0hfVEFSR0VUX1NZU30vJHtQTn0vKi0qIgpTVEFNUENM
RUFOPSIvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvdG1wL3N0YW1wcy9xZW11eDg2LXBva3kt
bGludXgvbHR0bmctbW9kdWxlcy8qLSoiCiMKIyAkU1RBTVBTX0RJUiBbMiBvcGVyYXRpb25zXQoj
ICAgc2V0PyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25m
OjM0MwojICAgICAiJHtUTVBESVJ9L3N0YW1wcyIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9j
dG8vcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjM5NQojICAgICBbZG9jXSAiU3Bl
Y2lmaWVzIHRoZSBiYXNlIGRpcmVjdG9yeSBpbiB3aGljaCB0aGUgT3BlbkVtYmVkZGVkIGJ1aWxk
IHN5c3RlbSBwbGFjZXMgc3RhbXBzLiIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIiR7VE1Q
RElSfS9zdGFtcHMiClNUQU1QU19ESVI9Ii9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy90bXAv
c3RhbXBzIgojCiMgJFNUUklOR1MgWzIgb3BlcmF0aW9uc10KIyAgIGV4cG9ydGVkIC9tZWRpYS9y
ZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6NTA2CiMgICAgIFtleHBv
cnRdICIxIgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRi
YWtlLmNvbmY6NTA2CiMgICAgICIke0hPU1RfUFJFRklYfXN0cmluZ3MiCiMgcHJlLWV4cGFuc2lv
biB2YWx1ZToKIyAgICIke0hPU1RfUFJFRklYfXN0cmluZ3MiCmV4cG9ydCBTVFJJTkdTPSJpNTg2
LXBva3ktbGludXgtc3RyaW5ncyIKIwojICRTVFJJUCBbMiBvcGVyYXRpb25zXQojICAgZXhwb3J0
ZWQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo1MDMK
IyAgICAgW2V4cG9ydF0gIjEiCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0
YS9jb25mL2JpdGJha2UuY29uZjo1MDMKIyAgICAgIiR7SE9TVF9QUkVGSVh9c3RyaXAiCiMgcHJl
LWV4cGFuc2lvbiB2YWx1ZToKIyAgICIke0hPU1RfUFJFRklYfXN0cmlwIgpleHBvcnQgU1RSSVA9
Imk1ODYtcG9reS1saW51eC1zdHJpcCIKIwojICRTVU1NQVJZIFs3IG9wZXJhdGlvbnNdCiMgICBz
ZXQ/IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6MjIz
CiMgICAgICIke1BOfSB2ZXJzaW9uICR7UFZ9LSR7UFJ9IgojICAgc2V0IC9tZWRpYS9yZWJlY2Nh
cy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6Mzk2CiMgICAgIFtkb2Nd
ICJUaGUgc2hvcnQgKDgwIGNoYXJhY3RlcnMgb3IgbGVzcykgc3VtbWFyeSBvZiB0aGUgYmluYXJ5
IHBhY2thZ2UgZm9yIHBhY2thZ2luZyBzeXN0ZW1zIHN1Y2ggYXMgb3BrZywgcnBtIG9yIGRwa2cu
IEJ5IGRlZmF1bHQsIFNVTU1BUlkgaXMgdXNlZCB0byBkZWZpbmUgdGhlIERFU0NSSVBUSU9OIHZh
cmlhYmxlIGlmIERFU0NSSVBUSU9OIGlzIG5vdCBzZXQgaW4gdGhlIHJlY2lwZS4iCiMgICBzZXQg
L21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9sdHRuZy9sdHRu
Zy1tb2R1bGVzXzIuOS4xLmJiOjIKIyAgICAgIkxpbnV4IFRyYWNlIFRvb2xraXQgS0VSTkVMIE1P
RFVMRSIKIyAgIG92ZXJyaWRlW2x0dG5nLW1vZHVsZXMtZGJnXTpyZW5hbWUgZnJvbSBTVU1NQVJZ
XyR7UE59LWRiZyBkYXRhLnB5OjExNiBbZXhwYW5kS2V5c10KIyAgICAgIiR7U1VNTUFSWX0gLSBE
ZWJ1Z2dpbmcgZmlsZXMiCiMgICBvdmVycmlkZVtsdHRuZy1tb2R1bGVzLWRldl06cmVuYW1lIGZy
b20gU1VNTUFSWV8ke1BOfS1kZXYgZGF0YS5weToxMTYgW2V4cGFuZEtleXNdCiMgICAgICIke1NV
TU1BUll9IC0gRGV2ZWxvcG1lbnQgZmlsZXMiCiMgICBvdmVycmlkZVtsdHRuZy1tb2R1bGVzLWRv
Y106cmVuYW1lIGZyb20gU1VNTUFSWV8ke1BOfS1kb2MgZGF0YS5weToxMTYgW2V4cGFuZEtleXNd
CiMgICAgICIke1NVTU1BUll9IC0gRG9jdW1lbnRhdGlvbiBmaWxlcyIKIyAgIG92ZXJyaWRlW2x0
dG5nLW1vZHVsZXMtc3RhdGljZGV2XTpyZW5hbWUgZnJvbSBTVU1NQVJZXyR7UE59LXN0YXRpY2Rl
diBkYXRhLnB5OjExNiBbZXhwYW5kS2V5c10KIyAgICAgIiR7U1VNTUFSWX0gLSBEZXZlbG9wbWVu
dCBmaWxlcyAoU3RhdGljIExpYnJhcmllcykiCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICJM
aW51eCBUcmFjZSBUb29sa2l0IEtFUk5FTCBNT0RVTEUiClNVTU1BUlk9IkxpbnV4IFRyYWNlIFRv
b2xraXQgS0VSTkVMIE1PRFVMRSIKIwojICRTVU1NQVJZX2x0dG5nLW1vZHVsZXMtZGJnCiMgICBy
ZW5hbWUgZnJvbSBTVU1NQVJZXyR7UE59LWRiZyBkYXRhLnB5OjExNiBbZXhwYW5kS2V5c10KIyAg
ICAgIiR7U1VNTUFSWX0gLSBEZWJ1Z2dpbmcgZmlsZXMiClNVTU1BUllfbHR0bmctbW9kdWxlcy1k
Ymc9IkxpbnV4IFRyYWNlIFRvb2xraXQgS0VSTkVMIE1PRFVMRSAtIERlYnVnZ2luZyBmaWxlcyIK
IwojICRTVU1NQVJZX2x0dG5nLW1vZHVsZXMtZGV2CiMgICByZW5hbWUgZnJvbSBTVU1NQVJZXyR7
UE59LWRldiBkYXRhLnB5OjExNiBbZXhwYW5kS2V5c10KIyAgICAgIiR7U1VNTUFSWX0gLSBEZXZl
bG9wbWVudCBmaWxlcyIKU1VNTUFSWV9sdHRuZy1tb2R1bGVzLWRldj0iTGludXggVHJhY2UgVG9v
bGtpdCBLRVJORUwgTU9EVUxFIC0gRGV2ZWxvcG1lbnQgZmlsZXMiCiMKIyAkU1VNTUFSWV9sdHRu
Zy1tb2R1bGVzLWRvYwojICAgcmVuYW1lIGZyb20gU1VNTUFSWV8ke1BOfS1kb2MgZGF0YS5weTox
MTYgW2V4cGFuZEtleXNdCiMgICAgICIke1NVTU1BUll9IC0gRG9jdW1lbnRhdGlvbiBmaWxlcyIK
U1VNTUFSWV9sdHRuZy1tb2R1bGVzLWRvYz0iTGludXggVHJhY2UgVG9vbGtpdCBLRVJORUwgTU9E
VUxFIC0gRG9jdW1lbnRhdGlvbiBmaWxlcyIKIwojICRTVU1NQVJZX2x0dG5nLW1vZHVsZXMtc3Rh
dGljZGV2CiMgICByZW5hbWUgZnJvbSBTVU1NQVJZXyR7UE59LXN0YXRpY2RldiBkYXRhLnB5OjEx
NiBbZXhwYW5kS2V5c10KIyAgICAgIiR7U1VNTUFSWX0gLSBEZXZlbG9wbWVudCBmaWxlcyAoU3Rh
dGljIExpYnJhcmllcykiClNVTU1BUllfbHR0bmctbW9kdWxlcy1zdGF0aWNkZXY9IkxpbnV4IFRy
YWNlIFRvb2xraXQgS0VSTkVMIE1PRFVMRSAtIERldmVsb3BtZW50IGZpbGVzIChTdGF0aWMgTGli
cmFyaWVzKSIKIwojICRTVk5ESVIgWzIgb3BlcmF0aW9uc10KIyAgIHNldCAvbWVkaWEvcmViZWNj
YXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjMzOAojICAgICAiJHtDT19ESVJ9
L3N2biIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZG9jdW1l
bnRhdGlvbi5jb25mOjM5NwojICAgICBbZG9jXSAiVGhlIGRpcmVjdG9yeSB3aGVyZSBTdWJ2ZXJz
aW9uIGNoZWNrb3V0cyB3aWxsIGJlIHN0b3JlZC4iCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAg
ICIke0NPX0RJUn0vc3ZuIgpTVk5ESVI9Ii9tZWRpYS9yZWJlY2Nhcy9idWlsZC9kb3dubG9hZHMv
c3ZuIgojCiMgJFNZU0xJTlVYX0RFRkFVTFRfQ09OU09MRQojICAgc2V0IC9tZWRpYS9yZWJlY2Nh
cy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6Mzk4CiMgICAgIFtkb2Nd
ICJTcGVjaWZpZXMgdGhlIGtlcm5lbCBib290IGRlZmF1bHQgY29uc29sZS4iCiMKIyAkU1lTTElO
VVhfT1BUUwojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1
bWVudGF0aW9uLmNvbmY6Mzk5CiMgICAgIFtkb2NdICJMaXN0cyBhZGRpdGlvbmFsIG9wdGlvbnMg
dG8gYWRkIHRvIHRoZSBzeXNsaW51eCBmaWxlLiIKIwojICRTWVNMSU5VWF9TRVJJQUwKIyAgIHNl
dCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25m
OjQwMAojICAgICBbZG9jXSAiU3BlY2lmaWVzIHRoZSBhbHRlcm5hdGUgc2VyaWFsIHBvcnQgb3Ig
dHVybnMgaXQgb2ZmLiIKIwojICRTWVNMSU5VWF9TRVJJQUxfVFRZCiMgICBzZXQgL21lZGlhL3Jl
YmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjo0MDIKIyAgICAg
W2RvY10gIlNwZWNpZmllcyB0aGUgYWx0ZXJuYXRlIGNvbnNvbGU9dHR5Li4uIGtlcm5lbCBib290
IGFyZ3VtZW50LiIKIwojICRTWVNMSU5VWF9TUExBU0gKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMv
eW9jdG8vcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjQwMQojICAgICBbZG9jXSAi
QW4gLkxTUyBmaWxlIHVzZWQgYXMgdGhlIGJhY2tncm91bmQgZm9yIHRoZSBWR0EgYm9vdCBtZW51
IHdoZW4geW91IGFyZSB1c2luZyB0aGUgYm9vdCBtZW51LiIKIwojICRTWVNST09UX0RFU1RESVIK
IyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NsYXNzZXMvc3RhZ2luZy5i
YmNsYXNzOjE3NAojICAgICAiJHtXT1JLRElSfS9zeXNyb290LWRlc3RkaXIiClNZU1JPT1RfREVT
VERJUj0iL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL3RtcC93b3JrL3FlbXV4ODYtcG9reS1s
aW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL3N5c3Jvb3QtZGVzdGRpciIKIwojICRTWVNST09U
X0RJUlMgWzQgb3BlcmF0aW9uc10KIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9t
ZXRhL2NsYXNzZXMvc3RhZ2luZy5iYmNsYXNzOjgKIyAgICAgIiAgICAgJHtpbmNsdWRlZGlyfSAg
ICAgJHtsaWJkaXJ9ICAgICAke2Jhc2VfbGliZGlyfSAgICAgJHtub25hcmNoX2Jhc2VfbGliZGly
fSAgICAgJHtkYXRhZGlyfSAiCiMgICBfYXBwZW5kW2NsYXNzLW5hdGl2ZV0gL21lZGlhL3JlYmVj
Y2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL3N0YWdpbmcuYmJjbGFzczoyMQojICAgICAiICR7
U1lTUk9PVF9ESVJTX05BVElWRX0iCiMgICBfYXBwZW5kW2NsYXNzLWNyb3NzXSAvbWVkaWEvcmVi
ZWNjYXMveW9jdG8vcG9reS9tZXRhL2NsYXNzZXMvc3RhZ2luZy5iYmNsYXNzOjIyCiMgICAgICIg
JHtTWVNST09UX0RJUlNfTkFUSVZFfSIKIyAgIF9hcHBlbmRbY2xhc3MtY3Jvc3NzZGtdIC9tZWRp
YS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY2xhc3Nlcy9zdGFnaW5nLmJiY2xhc3M6MjMKIyAg
ICAgIiAke1NZU1JPT1RfRElSU19OQVRJVkV9IgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAi
ICAgICAke2luY2x1ZGVkaXJ9ICAgICAke2xpYmRpcn0gICAgICR7YmFzZV9saWJkaXJ9ICAgICAk
e25vbmFyY2hfYmFzZV9saWJkaXJ9ICAgICAke2RhdGFkaXJ9ICIKU1lTUk9PVF9ESVJTPSIgICAg
IC91c3IvaW5jbHVkZSAgICAgL3Vzci9saWIgICAgIC9saWIgICAgIC9saWIgICAgIC91c3Ivc2hh
cmUgIgojCiMgJFNZU1JPT1RfRElSU19CTEFDS0xJU1QKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMv
eW9jdG8vcG9reS9tZXRhL2NsYXNzZXMvc3RhZ2luZy5iYmNsYXNzOjM1CiMgICAgICIgICAgICR7
bWFuZGlyfSAgICAgJHtkb2NkaXJ9ICAgICAke2luZm9kaXJ9ICAgICAke2RhdGFkaXJ9L2xvY2Fs
ZSAgICAgJHtkYXRhZGlyfS9hcHBsaWNhdGlvbnMgICAgICR7ZGF0YWRpcn0vZm9udHMgICAgICR7
ZGF0YWRpcn0vcGl4bWFwcyAgICAgJHtsaWJkaXJ9LyR7UE59L3B0ZXN0ICIKU1lTUk9PVF9ESVJT
X0JMQUNLTElTVD0iICAgICAvdXNyL3NoYXJlL21hbiAgICAgL3Vzci9zaGFyZS9kb2MgICAgIC91
c3Ivc2hhcmUvaW5mbyAgICAgL3Vzci9zaGFyZS9sb2NhbGUgICAgIC91c3Ivc2hhcmUvYXBwbGlj
YXRpb25zICAgICAvdXNyL3NoYXJlL2ZvbnRzICAgICAvdXNyL3NoYXJlL3BpeG1hcHMgICAgIC91
c3IvbGliL2x0dG5nLW1vZHVsZXMvcHRlc3QgIgojCiMgJFNZU1JPT1RfRElSU19OQVRJVkUKIyAg
IHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NsYXNzZXMvc3RhZ2luZy5iYmNs
YXNzOjIwCiMgICAgICIgICAgICR7YmluZGlyfSAgICAgJHtzYmluZGlyfSAgICAgJHtiYXNlX2Jp
bmRpcn0gICAgICR7YmFzZV9zYmluZGlyfSAgICAgJHtsaWJleGVjZGlyfSAgICAgJHtzeXNjb25m
ZGlyfSAgICAgJHtsb2NhbHN0YXRlZGlyfSAiClNZU1JPT1RfRElSU19OQVRJVkU9IiAgICAgL3Vz
ci9iaW4gICAgIC91c3Ivc2JpbiAgICAgL2JpbiAgICAgL3NiaW4gICAgIC91c3IvbGliZXhlYyAg
ICAgL2V0YyAgICAgL3ZhciAiCiMKIyAkU1lTUk9PVF9QUkVQUk9DRVNTX0ZVTkNTIFsyIG9wZXJh
dGlvbnNdCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3Vt
ZW50YXRpb24uY29uZjo0MDMKIyAgICAgW2RvY10gIkEgbGlzdCBvZiBmdW5jdGlvbnMgdG8gZXhl
Y3V0ZSBhZnRlciBmaWxlcyBhcmUgc3RhZ2VkIGludG8gdGhlIHN5c3Jvb3QuIFRoZXNlIGZ1bmN0
aW9ucyBhcmUgdXN1YWxseSB1c2VkIHRvIGFwcGx5IGFkZGl0aW9uYWwgcHJvY2Vzc2luZyBvbiB0
aGUgc3RhZ2VkIGZpbGVzLCBvciB0byBzdGFnZSBhZGRpdGlvbmFsIGZpbGVzLiIKIyAgIHNldD8g
L21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL3N0YWdpbmcuYmJjbGFzczox
NzMKIyAgICAgIiIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIiIKU1lTUk9PVF9QUkVQUk9D
RVNTX0ZVTkNTPSIiCiMKIyAkU1lTVEVNRF9BVVRPX0VOQUJMRQojICAgc2V0IC9tZWRpYS9yZWJl
Y2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6NDA0CiMgICAgIFtk
b2NdICJGb3IgcmVjaXBlcyB0aGF0IGluaGVyaXQgdGhlIHN5c3RlbWQgY2xhc3MsIHRoaXMgdmFy
aWFibGUgc3BlY2lmaWVzIHdoZXRoZXIgdGhlIHNlcnZpY2UgeW91IGhhdmUgc3BlY2lmaWVkIGlu
IFNZU1RFTURfU0VSVklDRSBzaG91bGQgYmUgc3RhcnRlZCBhdXRvbWF0aWNhbGx5IG9yIG5vdC4i
CiMKIyAkU1lTVEVNRF9QQUNLQUdFUwojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5
L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6NDA1CiMgICAgIFtkb2NdICJGb3IgcmVjaXBl
cyB0aGF0IGluaGVyaXQgdGhlIHN5c3RlbWQgY2xhc3MsIHRoaXMgdmFyaWFibGUgbG9jYXRlcyB0
aGUgc3lzdGVtZCB1bml0IGZpbGVzIHdoZW4gdGhleSBhcmUgbm90IGZvdW5kIGluIHRoZSBtYWlu
IHJlY2lwZSdzIHBhY2thZ2UuIgojCiMgJFNZU1RFTURfU0VSVklDRQojICAgc2V0IC9tZWRpYS9y
ZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6NDA2CiMgICAg
IFtkb2NdICJGb3IgcmVjaXBlcyB0aGF0IGluaGVyaXQgdGhlIHN5c3RlbWQgY2xhc3MsIHRoaXMg
dmFyaWFibGUgc3BlY2lmaWVzIHRoZSBzeXN0ZW1kIHNlcnZpY2UgbmFtZSBmb3IgYSBwYWNrYWdl
LiIKIwojICRTWVNWSU5JVF9FTkFCTEVEX0dFVFRZUwojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95
b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6NDA3CiMgICAgIFtkb2NdICJT
cGVjaWZpZXMgd2hpY2ggdmlydHVhbCB0ZXJtaW5hbHMgc2hvdWxkIGJlIHJ1bm5pbmcgYSBnZXR0
eSwgdGhlIGRlZmF1bHQgaXMgJzEnLiIKIwojICRUIFszIG9wZXJhdGlvbnNdCiMgICBzZXQgL21l
ZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjozNDgKIyAgICAg
IiR7V09SS0RJUn0vdGVtcCIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRh
L2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjQxMQojICAgICBbZG9jXSAiVGhpcyB2YXJpYWJsZSBw
b2ludHMgdG8gYSBkaXJlY3Rvcnkgd2VyZSBCaXRCYWtlIHBsYWNlcyB0ZW1wb3JhcnkgZmlsZXMs
IHdoaWNoIGNvbnNpc3QgbW9zdGx5IG9mIHRhc2sgbG9ncyBhbmQgc2NyaXB0cywgd2hlbiBidWls
ZGluZyBhIHBhcnRpY3VsYXIgcmVjaXBlLiIKIyAgIG92ZXJyaWRlW3Rhc2stY2xlYW5dOnNldCAv
bWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NsYXNzZXMvdXRpbGl0eS10YXNrcy5iYmNs
YXNzOjIyCiMgICAgICIke0xPR19ESVJ9L2NsZWFubG9ncy8ke1BOfSIKIyBwcmUtZXhwYW5zaW9u
IHZhbHVlOgojICAgIiR7V09SS0RJUn0vdGVtcCIKVD0iL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0
dG5nL3RtcC93b3JrL3FlbXV4ODYtcG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL3Rl
bXAiCiMKIyAkVEFSR0VUX0FSQ0ggWzMgb3BlcmF0aW9uc10KIyAgIHNldCAvbWVkaWEvcmViZWNj
YXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjEyMwojICAgICAiJHtUVU5FX0FS
Q0h9IgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVu
dGF0aW9uLmNvbmY6NDEyCiMgICAgIFtkb2NdICJUaGUgYXJjaGl0ZWN0dXJlIG9mIHRoZSBkZXZp
Y2UgYmVpbmcgYnVpbHQuIFRoZSBPcGVuRW1iZWRkZWQgYnVpbGQgc3lzdGVtIHN1cHBvcnRzIHRo
ZSBmb2xsb3dpbmcgYXJjaGl0ZWN0dXJlczogYXJtLCBtaXBzLCBwcGMsIHg4NiwgeDg2LTY0LiIK
IyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25m
OjgyOAojICAgICBbdW5leHBvcnRdICIxIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiJHtU
VU5FX0FSQ0h9Igp1bnNldCBUQVJHRVRfQVJDSAojCiMgJFRBUkdFVF9BUl9LRVJORUxfQVJDSAoj
ICAgc2V0PyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NsYXNzZXMva2VybmVsLWFy
Y2guYmJjbGFzczo1NgojICAgICAiIgpUQVJHRVRfQVJfS0VSTkVMX0FSQ0g9IiIKIwojICRUQVJH
RVRfQVNfQVJDSAojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9i
aXRiYWtlLmNvbmY6MTMwCiMgICAgICIke1RVTkVfQVNBUkdTfSIKVEFSR0VUX0FTX0FSQ0g9IiAi
CiMKIyAkVEFSR0VUX0NDX0FSQ0gKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9t
ZXRhL2NvbmYvYml0YmFrZS5jb25mOjEyOAojICAgICAiJHtUVU5FX0NDQVJHU30iClRBUkdFVF9D
Q19BUkNIPSIgLW0zMiAtbWFyY2g9aTU4NiIKIwojICRUQVJHRVRfQ0NfS0VSTkVMX0FSQ0gKIyAg
IHNldD8gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL2tlcm5lbC1hcmNo
LmJiY2xhc3M6NTIKIyAgICAgIiIKVEFSR0VUX0NDX0tFUk5FTF9BUkNIPSIiCiMKIyAkVEFSR0VU
X0NGTEFHUyBbMyBvcGVyYXRpb25zXQojICAgZXhwb3J0ZWQgL21lZGlhL3JlYmVjY2FzL3lvY3Rv
L3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo1NDYKIyAgICAgW2V4cG9ydF0gIjEiCiMgICBz
ZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo1NDYK
IyAgICAgIiR7VEFSR0VUX0NQUEZMQUdTfSAke1NFTEVDVEVEX09QVElNSVpBVElPTn0iCiMgICBz
ZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29u
Zjo0MTMKIyAgICAgW2RvY10gIkZsYWdzIHBhc3NlZCB0byB0aGUgQyBjb21waWxlciBmb3IgdGhl
IHRhcmdldCBzeXN0ZW0uIFRoaXMgdmFyaWFibGUgZXZhbHVhdGVzIHRvIHRoZSBzYW1lIGFzIENG
TEFHUy4iCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICIke1RBUkdFVF9DUFBGTEFHU30gJHtT
RUxFQ1RFRF9PUFRJTUlaQVRJT059IgpleHBvcnQgVEFSR0VUX0NGTEFHUz0iIC1PMiAtcGlwZSAt
ZyAtZmVsaW1pbmF0ZS11bnVzZWQtZGVidWctdHlwZXMgLWZkZWJ1Zy1wcmVmaXgtbWFwPS9tZWRp
YS9yZWJlY2Nhcy95b2N0by9sdHRuZy90bXAvd29yay9xZW11eDg2LXBva3ktbGludXgvbHR0bmct
bW9kdWxlcy8yLjkuMS1yMD0vdXNyL3NyYy9kZWJ1Zy9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwIC1m
ZGVidWctcHJlZml4LW1hcD0vbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvdG1wL3dvcmsvcWVt
dXg4Ni1wb2t5LWxpbnV4L2x0dG5nLW1vZHVsZXMvMi45LjEtcjAvcmVjaXBlLXN5c3Jvb3QtbmF0
aXZlPSAtZmRlYnVnLXByZWZpeC1tYXA9L21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL3RtcC93
b3JrL3FlbXV4ODYtcG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL3JlY2lwZS1zeXNy
b290PSAiCiMKIyAkVEFSR0VUX0NQUEZMQUdTIFsyIG9wZXJhdGlvbnNdCiMgICBleHBvcnRlZCAv
bWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjU0MQojICAg
ICBbZXhwb3J0XSAiMSIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2Nv
bmYvYml0YmFrZS5jb25mOjU0MQojICAgICAiIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAi
IgpleHBvcnQgVEFSR0VUX0NQUEZMQUdTPSIiCiMKIyAkVEFSR0VUX0NYWEZMQUdTIFsyIG9wZXJh
dGlvbnNdCiMgICBleHBvcnRlZCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYv
Yml0YmFrZS5jb25mOjU1MAojICAgICBbZXhwb3J0XSAiMSIKIyAgIHNldCAvbWVkaWEvcmViZWNj
YXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjU1MAojICAgICAiJHtUQVJHRVRf
Q0ZMQUdTfSIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIiR7VEFSR0VUX0NGTEFHU30iCmV4
cG9ydCBUQVJHRVRfQ1hYRkxBR1M9IiAtTzIgLXBpcGUgLWcgLWZlbGltaW5hdGUtdW51c2VkLWRl
YnVnLXR5cGVzIC1mZGVidWctcHJlZml4LW1hcD0vbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcv
dG1wL3dvcmsvcWVtdXg4Ni1wb2t5LWxpbnV4L2x0dG5nLW1vZHVsZXMvMi45LjEtcjA9L3Vzci9z
cmMvZGVidWcvbHR0bmctbW9kdWxlcy8yLjkuMS1yMCAtZmRlYnVnLXByZWZpeC1tYXA9L21lZGlh
L3JlYmVjY2FzL3lvY3RvL2x0dG5nL3RtcC93b3JrL3FlbXV4ODYtcG9reS1saW51eC9sdHRuZy1t
b2R1bGVzLzIuOS4xLXIwL3JlY2lwZS1zeXNyb290LW5hdGl2ZT0gLWZkZWJ1Zy1wcmVmaXgtbWFw
PS9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy90bXAvd29yay9xZW11eDg2LXBva3ktbGludXgv
bHR0bmctbW9kdWxlcy8yLjkuMS1yMC9yZWNpcGUtc3lzcm9vdD0gIgojCiMgJFRBUkdFVF9GUFUg
WzIgb3BlcmF0aW9uc10KIyAgIHNldD8gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9j
b25mL21hY2hpbmUvaW5jbHVkZS94ODYvYXJjaC14ODYuaW5jOjYKIyAgICAgIiIKIyAgIHNldCAv
bWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjQx
NAojICAgICBbZG9jXSAiU3BlY2lmaWVzIHRoZSBtZXRob2QgZm9yIGhhbmRsaW5nIEZQVSBjb2Rl
LiBGb3IgRlBVLWxlc3MgdGFyZ2V0cywgd2hpY2ggaW5jbHVkZSBtb3N0IEFSTSBDUFVzLCB0aGUg
dmFyaWFibGUgbXVzdCBiZSBzZXQgdG8gJ3NvZnQnLiBJZiBub3QsIHRoZSBrZXJuZWwgZW11bGF0
aW9uIGdldHMgdXNlZCwgd2hpY2ggcmVzdWx0cyBpbiBhIHBlcmZvcm1hbmNlIHBlbmFsdHkuIgoj
IHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiIgpUQVJHRVRfRlBVPSIiCiMKIyAkVEFSR0VUX0xE
RkxBR1MgWzMgb3BlcmF0aW9uc10KIyAgIGV4cG9ydGVkIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9w
b2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6NTY5CiMgICAgIFtleHBvcnRdICIxIgojICAgc2V0
IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6NTY5CiMg
ICAgICItV2wsLU8xICR7VEFSR0VUX0xJTktfSEFTSF9TVFlMRX0iCiMgICBhcHBlbmQgL21lZGlh
L3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL2FzLW5lZWRlZC5p
bmM6MTQKIyAgICAgIiR7QVNORUVERUR9IgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiLVds
LC1PMSAke1RBUkdFVF9MSU5LX0hBU0hfU1RZTEV9ICR7QVNORUVERUR9IgpleHBvcnQgVEFSR0VU
X0xERkxBR1M9Ii1XbCwtTzEgLVdsLC0taGFzaC1zdHlsZT1nbnUgLVdsLC0tYXMtbmVlZGVkIgoj
CiMgJFRBUkdFVF9MRF9BUkNICiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0
YS9jb25mL2JpdGJha2UuY29uZjoxMjkKIyAgICAgIiR7VFVORV9MREFSR1N9IgpUQVJHRVRfTERf
QVJDSD0iICIKIwojICRUQVJHRVRfTERfS0VSTkVMX0FSQ0gKIyAgIHNldD8gL21lZGlhL3JlYmVj
Y2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL2tlcm5lbC1hcmNoLmJiY2xhc3M6NTQKIyAgICAg
IiIKVEFSR0VUX0xEX0tFUk5FTF9BUkNIPSIiCiMKIyAkVEFSR0VUX0xJTktfSEFTSF9TVFlMRQoj
ICAgc2V0PyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25m
OjU2NgojICAgICAiJHtAWyctV2wsLS1oYXNoLXN0eWxlPWdudScsJyddW2QuZ2V0VmFyKCdMSU5L
RVJfSEFTSF9TVFlMRScpICE9ICdnbnUnXX0iClRBUkdFVF9MSU5LX0hBU0hfU1RZTEU9Ii1XbCwt
LWhhc2gtc3R5bGU9Z251IgojCiMgJFRBUkdFVF9PUyBbMiBvcGVyYXRpb25zXQojICAgc2V0IC9t
ZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6MTI0CiMgICAg
ICJsaW51eCR7TElCQ0VYVEVOU0lPTn0ke0FCSUVYVEVOU0lPTn0iCiMgICBzZXQgL21lZGlhL3Jl
YmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjo0MTUKIyAgICAg
W2RvY10gIlNwZWNpZmllcyB0aGUgdGFyZ2V0J3Mgb3BlcmF0aW5nIHN5c3RlbS4iCiMgcHJlLWV4
cGFuc2lvbiB2YWx1ZToKIyAgICJsaW51eCR7TElCQ0VYVEVOU0lPTn0ke0FCSUVYVEVOU0lPTn0i
ClRBUkdFVF9PUz0ibGludXgiCiMKIyAkVEFSR0VUX1BSRUZJWCBbMiBvcGVyYXRpb25zXQojICAg
c2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6MTI3
CiMgICAgICIke1RBUkdFVF9TWVN9LSIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9r
eS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjQxNgojICAgICBbZG9jXSAiVGhlIHByZWZp
eCBmb3IgdGhlIGNyb3NzLWNvbXBpbGUgdG9vbGNoYWluIChlLmcuIGFybS1saW51eC0pLiIKIyBw
cmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIiR7VEFSR0VUX1NZU30tIgpUQVJHRVRfUFJFRklYPSJp
NTg2LXBva3ktbGludXgtIgojCiMgJFRBUkdFVF9TWVMgWzIgb3BlcmF0aW9uc10KIyAgIHNldCAv
bWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjEyNgojICAg
ICAiJHtUQVJHRVRfQVJDSH0ke1RBUkdFVF9WRU5ET1J9JHtAWyctJyArIGQuZ2V0VmFyKCdUQVJH
RVRfT1MnKSwgJyddW2QuZ2V0VmFyKCdUQVJHRVRfT1MnKSA9PSAoJycgb3IgJ2N1c3RvbScpXX0i
CiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRp
b24uY29uZjo0MTcKIyAgICAgW2RvY10gIlRoZSB0YXJnZXQgc3lzdGVtIGlzIGNvbXByaXNlZCBv
ZiBUQVJHRVRfQVJDSCxUQVJHRVRfVkVORE9SIGFuZCBUQVJHRVRfT1MuIgojIHByZS1leHBhbnNp
b24gdmFsdWU6CiMgICAiJHtUQVJHRVRfQVJDSH0ke1RBUkdFVF9WRU5ET1J9JHtAWyctJyArIGQu
Z2V0VmFyKCdUQVJHRVRfT1MnKSwgJyddW2QuZ2V0VmFyKCdUQVJHRVRfT1MnKSA9PSAoJycgb3Ig
J2N1c3RvbScpXX0iClRBUkdFVF9TWVM9Imk1ODYtcG9reS1saW51eCIKIwojICRUQVJHRVRfVkVO
RE9SIFsyIG9wZXJhdGlvbnNdCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0
YS9jb25mL2JpdGJha2UuY29uZjoxMjUKIyAgICAgIi1vZSIKIyAgIHNldCAvbWVkaWEvcmViZWNj
YXMveW9jdG8vcG9reS9tZXRhLXBva3kvY29uZi9kaXN0cm8vcG9reS5jb25mOjEwCiMgICAgICIt
cG9reSIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIi1wb2t5IgpUQVJHRVRfVkVORE9SPSIt
cG9reSIKIwojICRUQ0xJQkMgWzIgb3BlcmF0aW9uc10KIyAgIHNldD8gL21lZGlhL3JlYmVjY2Fz
L3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9kZWZhdWx0c2V0dXAuY29uZjo5CiMgICAgICJn
bGliYyIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZG9jdW1l
bnRhdGlvbi5jb25mOjQxOAojICAgICBbZG9jXSAiU3BlY2lmaWVzIEMgbGlicmFyeSAobGliYykg
dmFyaWFudCB0byB1c2UgZHVyaW5nIHRoZSBidWlsZCBwcm9jZXNzLiBZb3UgY2FuIHNlbGVjdCAn
YmFyZW1ldGFsJywgJ2dsaWJjJyBvciAnbXVzbCcuIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMg
ICAiZ2xpYmMiClRDTElCQz0iZ2xpYmMiCiMKIyAkVENMSUJDQVBQRU5EIFsyIG9wZXJhdGlvbnNd
CiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1wb2t5L2NvbmYvZGlzdHJv
L3Bva3kuY29uZjo0NgojICAgICAiIgojICAgc2V0PyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9r
eS9tZXRhL2NvbmYvZGlzdHJvL2RlZmF1bHRzZXR1cC5jb25mOjE1CiMgICAgICItJHtUQ0xJQkN9
IgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiIgpUQ0xJQkNBUFBFTkQ9IiIKIwojICRUQ01P
REUgWzIgb3BlcmF0aW9uc10KIyAgIHNldD8gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0
YS9jb25mL2Rpc3Ryby9kZWZhdWx0c2V0dXAuY29uZjo2CiMgICAgICJkZWZhdWx0IgojICAgc2V0
IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6
NDE5CiMgICAgIFtkb2NdICJFbmFibGVzIGFuIGV4dGVybmFsIHRvb2xjaGFpbiAod2hlcmUgcHJv
dmlkZWQgYnkgYW4gYWRkaXRpb25hbCBsYXllcikgaWYgc2V0IHRvIGEgdmFsdWUgb3RoZXIgdGhh
biAnZGVmYXVsdCcuIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiZGVmYXVsdCIKVENNT0RF
PSJkZWZhdWx0IgojCiMgJFRFUk0gWzIgb3BlcmF0aW9uc10KIyAgIGZyb20gZW52IGRhdGEucHk6
MTI0IFtpbmhlcml0RnJvbU9TXQojICAgICAieHRlcm0tMjU2Y29sb3IiCiMgICBhdXRvIGVudiBl
eHBvcnQgZGF0YS5weToxMjYgW2luaGVyaXRGcm9tT1NdCiMgICAgIFtleHBvcnRdICJUcnVlIgoj
IHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAieHRlcm0tMjU2Y29sb3IiCmV4cG9ydCBURVJNPSJ4
dGVybS0yNTZjb2xvciIKIwojICRURVNUX0lNQUdFCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lv
Y3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjo0MjAKIyAgICAgW2RvY10gIkVu
YWJsZXMgdGVzdCBib290aW5nIG9mIHZpcnR1YWwgbWFjaGluZSBpbWFnZXMgdW5kZXIgdGhlIFFF
TVUgZW11bGF0b3IgYWZ0ZXIgYW55IHJvb3QgZmlsZXN5c3RlbXMgYXJlIGNyZWF0ZWQgYW5kIHJ1
bnMgdGVzdHMgYWdhaW5zdCB0aG9zZSBpbWFnZXMuIgojCiMgJFRFU1RfUE9XRVJDT05UUk9MX0NN
RAojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0
aW9uLmNvbmY6NDIzCiMgICAgIFtkb2NdICJGb3IgYXV0b21hdGVkIGhhcmR3YXJlIHRlc3Rpbmcs
IHNwZWNpZmllcyB0aGUgY29tbWFuZCB0byB1c2UgdG8gY29udHJvbCB0aGUgcG93ZXIgb2YgdGhl
IHRhcmdldCBtYWNoaW5lIHVuZGVyIHRlc3QiCiMKIyAkVEVTVF9QT1dFUkNPTlRST0xfRVhUUkFf
QVJHUwojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVu
dGF0aW9uLmNvbmY6NDI0CiMgICAgIFtkb2NdICJGb3IgYXV0b21hdGVkIGhhcmR3YXJlIHRlc3Rp
bmcsIHNwZWNpZmllcyBhZGRpdGlvbmFsIGFyZ3VtZW50cyB0byBwYXNzIHRocm91Z2ggdG8gdGhl
IGNvbW1hbmQgc3BlY2lmaWVkIGluIFRFU1RfUE9XRVJDT05UUk9MX0NNRCIKIwojICRURVNUX1FF
TVVCT09UX1RJTUVPVVQKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2Nv
bmYvZG9jdW1lbnRhdGlvbi5jb25mOjQyMQojICAgICBbZG9jXSAiVGhlIHRpbWUgaW4gc2Vjb25k
cyBhbGxvd2VkIGZvciBhbiBpbWFnZSB0byBib290IGJlZm9yZSBhdXRvbWF0ZWQgcnVudGltZSB0
ZXN0cyBiZWdpbiB0byBydW4gYWdhaW5zdCBhbiBpbWFnZS4iCiMKIyAkVEVTVF9TRVJJQUxDT05U
Uk9MX0NNRAojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1
bWVudGF0aW9uLmNvbmY6NDI1CiMgICAgIFtkb2NdICJGb3IgYXV0b21hdGVkIGhhcmR3YXJlIHRl
c3RpbmcsIHNwZWNpZmllcyB0aGUgY29tbWFuZCB0byB1c2UgdG8gY29ubmVjdCB0byB0aGUgc2Vy
aWFsIGNvbnNvbGUgb2YgdGhlIHRhcmdldCBtYWNoaW5lIHVuZGVyIHRlc3QiCiMKIyAkVEVTVF9T
RVJJQUxDT05UUk9MX0VYVFJBX0FSR1MKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9r
eS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjQyNgojICAgICBbZG9jXSAiRm9yIGF1dG9t
YXRlZCBoYXJkd2FyZSB0ZXN0aW5nLCBzcGVjaWZpZXMgYWRkaXRpb25hbCBhcmd1bWVudHMgdG8g
cGFzcyB0aHJvdWdoIHRvIHRoZSBjb21tYW5kIHNwZWNpZmllZCBpbiBURVNUX1NFUklBTENPTlRS
T0xfQ01EIgojCiMgJFRFU1RfU1VJVEVTCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bv
a3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjo0MjIKIyAgICAgW2RvY10gIkFuIG9yZGVy
ZWQgbGlzdCBvZiB0ZXN0cyAobW9kdWxlcykgdG8gcnVuIGFnYWluc3QgYW4gaW1hZ2Ugd2hlbiBw
ZXJmb3JtaW5nIGF1dG9tYXRlZCBydW50aW1lIHRlc3RpbmcuIgojCiMgJFRFU1RfVEFSR0VUCiMg
ICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24u
Y29uZjo0MjcKIyAgICAgW2RvY10gIkZvciBhdXRvbWF0ZWQgcnVudGltZSB0ZXN0aW5nLCBzcGVj
aWZpZXMgdGhlIG1ldGhvZCBvZiBkZXBsb3lpbmcgdGhlIGltYWdlIGFuZCBydW5uaW5nIHRlc3Rz
IG9uIHRoZSB0YXJnZXQgbWFjaGluZSIKIwojICRUSElTRElSIFsyIG9wZXJhdGlvbnNdCiMgICBz
ZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29u
Zjo0MjgKIyAgICAgW2RvY10gIlRoZSBkaXJlY3RvcnkgaW4gd2hpY2ggdGhlIGZpbGUgQml0QmFr
ZSBpcyBjdXJyZW50bHkgcGFyc2luZyBpcyBsb2NhdGVkLiIKIyAgIHNldCAvbWVkaWEvcmViZWNj
YXMveW9jdG8vcG9reS9tZXRhL2NsYXNzZXMvYmFzZS5iYmNsYXNzOjg2CiMgICAgICIke0Bvcy5w
YXRoLmRpcm5hbWUoZC5nZXRWYXIoJ0ZJTEUnKSl9IgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMg
ICAiJHtAb3MucGF0aC5kaXJuYW1lKGQuZ2V0VmFyKCdGSUxFJykpfSIKVEhJU0RJUj0iL21lZGlh
L3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9sdHRuZyIKIwojICRUSU1F
IFsyIG9wZXJhdGlvbnNdCiMgICBpbW1lZGlhdGUgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kv
bWV0YS9jb25mL2JpdGJha2UuY29uZjoxNTkKIyAgICAgIiR7QHRpbWUuc3RyZnRpbWUoJyVIJU0l
UycsdGltZS5nbXRpbWUoKSl9IgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21l
dGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6NDI5CiMgICAgIFtkb2NdICJUaGUgdGltZSB0aGUg
YnVpbGQgd2FzIHN0YXJ0ZWQgdXNpbmcgSE1TIGZvcm1hdC4iCiMgcHJlLWV4cGFuc2lvbiB2YWx1
ZToKIyAgICIwMzMxMzMiClRJTUU9IjAzMzEzMyIKIwojICRUTVBESVIgWzQgb3BlcmF0aW9uc10K
IyAgIHNldD8gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29u
ZjozMzEKIyAgICAgIiR7VE9QRElSfS90bXAiCiMgICBwb3N0ZG90IC9tZWRpYS9yZWJlY2Nhcy95
b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8vZGVmYXVsdHNldHVwLmNvbmY6MTYKIyAgICAgIiR7
VENMSUJDQVBQRU5EfSIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2Nv
bmYvZG9jdW1lbnRhdGlvbi5jb25mOjQzMAojICAgICBbZG9jXSAiVGhlIHRlbXBvcmFyeSBkaXJl
Y3RvcnkgdGhlIE9wZW5FbWJlZGRlZCBidWlsZCBzeXN0ZW0gdXNlcyB3aGVuIGl0IGRvZXMgaXRz
IHdvcmsgYnVpbGRpbmcgaW1hZ2VzLiBCeSBkZWZhdWx0LCB0aGUgVE1QRElSIHZhcmlhYmxlIGlz
IG5hbWVkIHRtcCB3aXRoaW4gdGhlIEJ1aWxkIERpcmVjdG9yeS4iCiMgICBzZXQgY2FjaGUucHk6
Mjk5IFtwYXJzZV9yZWNpcGVdCiMgICAgICIvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvdG1w
IgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5n
L3RtcCIKVE1QRElSPSIvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvdG1wIgojCiMgJFRPT0xD
SEFJTgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY2xhc3Nlcy9rZXJu
ZWwtYXJjaC5iYmNsYXNzOjYyCiMgICAgICJnY2MiClRPT0xDSEFJTj0iZ2NjIgojCiMgJFRPT0xD
SEFJTl9IT1NUX1RBU0sKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2Nv
bmYvZG9jdW1lbnRhdGlvbi5jb25mOjQzMQojICAgICBbZG9jXSAiVGhpcyB2YXJpYWJsZSBsaXN0
cyBwYWNrYWdlcyB0aGUgT3BlbkVtYmVkZGVkIGJ1aWxkIHN5c3RlbSB1c2VzIHdoZW4gYnVpbGRp
bmcgYW4gU0RLLCB3aGljaCBjb250YWlucyBhIGNyb3NzLWRldmVsb3BtZW50IGVudmlyb25tZW50
LiIKIwojICRUT09MQ0hBSU5fT1BUSU9OUwojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9w
b2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6NDkyCiMgICAgICIgLS1zeXNyb290PSR7U1RBR0lO
R19ESVJfVEFSR0VUfSIKVE9PTENIQUlOX09QVElPTlM9IiAtLXN5c3Jvb3Q9L21lZGlhL3JlYmVj
Y2FzL3lvY3RvL2x0dG5nL3RtcC93b3JrL3FlbXV4ODYtcG9reS1saW51eC9sdHRuZy1tb2R1bGVz
LzIuOS4xLXIwL3JlY2lwZS1zeXNyb290IgojCiMgJFRPT0xDSEFJTl9UQVJHRVRfVEFTSwojICAg
c2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNv
bmY6NDMyCiMgICAgIFtkb2NdICJUaGlzIHZhcmlhYmxlIGxpc3RzIHBhY2thZ2VzIHRoZSBPcGVu
RW1iZWRkZWQgYnVpbGQgc3lzdGVtIHVzZXMgd2hlbiBpdCBjcmVhdGVzIHRoZSB0YXJnZXQgcGFy
dCBvZiBhbiBTREssIHdoaWNoIGluY2x1ZGVzIGxpYnJhcmllcyBhbmQgaGVhZGVycy4iCiMKIyAk
VE9QRElSIFsyIG9wZXJhdGlvbnNdCiMgICBzZXQgY29va2VyZGF0YS5weTozMjMgW3BhcnNlQ29u
ZmlndXJhdGlvbkZpbGVzXQojICAgICAiL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nIgojICAg
c2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNv
bmY6NDMzCiMgICAgIFtkb2NdICJUaGUgQnVpbGQgRGlyZWN0b3J5LiBCaXRCYWtlIGF1dG9tYXRp
Y2FsbHkgc2V0cyB0aGlzIHZhcmlhYmxlLiBUaGUgT3BlbkVtYmVkZGVkIGJ1aWxkIHN5c3RlbSB1
c2VzIHRoZSBCdWlsZCBEaXJlY3Rvcnkgd2hlbiBidWlsZGluZyBpbWFnZXMuIgojIHByZS1leHBh
bnNpb24gdmFsdWU6CiMgICAiL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nIgpUT1BESVI9Ii9t
ZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZyIKIwojICRUUkFOU0xBVEVEX1RBUkdFVF9BUkNIIFsy
IG9wZXJhdGlvbnNdCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25m
L2RvY3VtZW50YXRpb24uY29uZjo0MzQKIyAgICAgW2RvY10gIkEgc2FuaXRpemVkIHZlcnNpb24g
b2YgVEFSR0VUX0FSQ0guIFRoaXMgdmFyaWFibGUgaXMgdXNlZCB3aGVyZSB0aGUgYXJjaGl0ZWN0
dXJlIGlzIG5lZWRlZCBpbiBhIHZhbHVlIHdoZXJlIHVuZGVyc2NvcmVzIGFyZSBub3QgYWxsb3dl
ZC4iCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2Uu
Y29uZjo4NDAKIyAgICAgW19kZWZhdWx0dmFsXSAiJHtAZC5nZXRWYXIoJ1RBUkdFVF9BUkNIJyku
cmVwbGFjZSgiXyIsICItIil9IgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiJHtAZC5nZXRW
YXIoJ1RBUkdFVF9BUkNIJykucmVwbGFjZSgiXyIsICItIil9IgpUUkFOU0xBVEVEX1RBUkdFVF9B
UkNIPSJpNTg2IgojCiMgJFRVTkVBQkkKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9r
eS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjQzNgojICAgICBbZG9jXSAiQW4gdW5kZXJs
eWluZyBBQkkgdXNlZCBieSBhIHBhcnRpY3VsYXIgdHVuaW5nIGluIGEgZ2l2ZW4gdG9vbGNoYWlu
IGxheWVyLiBUaGlzIGZlYXR1cmUgYWxsb3dzIHByb3ZpZGVycyB1c2luZyBwcmVidWlsdCBsaWJy
YXJpZXMgdG8gY2hlY2sgY29tcGF0aWJpbGl0eSBvZiBhIHR1bmluZyBhZ2FpbnN0IHRoZWlyIHNl
bGVjdGlvbiBvZiBsaWJyYXJpZXMuIgojCiMgJFRVTkVBQklfT1ZFUlJJREUKIyAgIHNldCAvbWVk
aWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjQzNwoj
ICAgICBbZG9jXSAiSWYgc2V0LCBpZ25vcmVzIFRVTkVBQklfV0hJVEVMSVNULiIKIwojICRUVU5F
QUJJX1dISVRFTElTVAojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29u
Zi9kb2N1bWVudGF0aW9uLmNvbmY6NDM4CiMgICAgIFtkb2NdICJBIHdoaXRlbGlzdCBvZiBwZXJt
aXNzaWJsZSBUVU5FQUJJIHZhbHVlcy4gIElmIHRoZSB2YXJpYWJsZSBpcyBub3Qgc2V0LCBhbGwg
dmFsdWVzIGFyZSBhbGxvd2VkLiIKIwojICRUVU5FQ09ORkxJQ1RTIFs0IG9wZXJhdGlvbnNdCiMg
ICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVk
ZS94ODYvYXJjaC14ODYuaW5jOjE0CiMgICAgIFttMzJdICJtNjQgbXgzMiIKIyAgIHNldCAvbWVk
aWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3g4Ni9hcmNo
LXg4Ni5pbmM6MjEKIyAgICAgW214MzJdICJtNjQgbTMyIgojICAgc2V0IC9tZWRpYS9yZWJlY2Nh
cy95b2N0by9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUveDg2L2FyY2gteDg2LmluYzoz
MgojICAgICBbbTY0XSAibTMyIG14MzIiCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bv
a3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjo0MzkKIyAgICAgW2RvY10gIkxpc3Qgb2Yg
Y29uZmxpY3RpbmcgZmVhdHVyZXMgZm9yIGEgZ2l2ZW4gZmVhdHVyZS4iCiMgcHJlLWV4cGFuc2lv
biB2YWx1ZToKIyAgICJOb25lIgojCiMgJFRVTkVWQUxJRCBbNSBvcGVyYXRpb25zXQojICAgc2V0
IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUveDg2
L2FyY2gteDg2LmluYzoxMwojICAgICBbbTMyXSAiSUEzMiBFTEYzMiBzdGFuZGFyZCBBQkkiCiMg
ICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVk
ZS94ODYvYXJjaC14ODYuaW5jOjIwCiMgICAgIFtteDMyXSAiSUEzMmUgKHg4Nl82NCkgRUxGMzIg
c3RhbmRhcmQgQUJJIgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29u
Zi9tYWNoaW5lL2luY2x1ZGUveDg2L2FyY2gteDg2LmluYzozMQojICAgICBbbTY0XSAiSUEzMmUg
KHg4Nl82NCkgRUxGNjQgc3RhbmRhcmQgQUJJIgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0
by9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvdHVuZS1pNTg2LmluYzo2CiMgICAgIFtp
NTg2XSAiRW5hYmxlIGk1ODYgc3BlY2lmaWMgcHJvY2Vzc29yIG9wdGltaXphdGlvbnMiCiMgICBz
ZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29u
Zjo0NDAKIyAgICAgW2RvY10gIkRlc2NyaXB0aW9ucywgc3RvcmVkIGFzIGZsYWdzLCBvZiB2YWxp
ZCB0dW5pbmcgZmVhdHVyZXMuIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiTm9uZSIKIwoj
ICRUVU5FX0FSQ0ggWzQgb3BlcmF0aW9uc10KIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8v
cG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjExMgojICAgICBbX2RlZmF1bHR2YWxdICJJTlZB
TElEIgojICAgcG9zdGRvdCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvbWFj
aGluZS9pbmNsdWRlL3g4Ni9hcmNoLXg4Ni5pbmM6MTUKIyAgICAgIiR7QGJiLnV0aWxzLmNvbnRh
aW5zKCdUVU5FX0ZFQVRVUkVTJywgJ20zMicsICcke1g4NkFSQ0gzMn0nLCAnJyAsZCl9IgojICAg
cG9zdGRvdCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNs
dWRlL3g4Ni9hcmNoLXg4Ni5pbmM6MjIKIyAgICAgIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdUVU5F
X0ZFQVRVUkVTJywgJ214MzInLCAnJHtYODZBUkNINjR9JywgJycgLGQpfSIKIyAgIHBvc3Rkb3Qg
L21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS94ODYv
YXJjaC14ODYuaW5jOjMzCiMgICAgICIke0BiYi51dGlscy5jb250YWlucygnVFVORV9GRUFUVVJF
UycsICdtNjQnLCAnJHtYODZBUkNINjR9JywgJycgLGQpfSIKIyBwcmUtZXhwYW5zaW9uIHZhbHVl
OgojICAgIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdUVU5FX0ZFQVRVUkVTJywgJ20zMicsICcke1g4
NkFSQ0gzMn0nLCAnJyAsZCl9JHtAYmIudXRpbHMuY29udGFpbnMoJ1RVTkVfRkVBVFVSRVMnLCAn
bXgzMicsICcke1g4NkFSQ0g2NH0nLCAnJyAsZCl9JHtAYmIudXRpbHMuY29udGFpbnMoJ1RVTkVf
RkVBVFVSRVMnLCAnbTY0JywgJyR7WDg2QVJDSDY0fScsICcnICxkKX0iClRVTkVfQVJDSD0iaTU4
NiIKIwojICRUVU5FX0FTQVJHUyBbMiBvcGVyYXRpb25zXQojICAgc2V0IC9tZWRpYS9yZWJlY2Nh
cy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6MTE2CiMgICAgIFtfZGVmYXVsdHZh
bF0gIiIKIyAgIGFwcGVuZCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvbWFj
aGluZS9pbmNsdWRlL3g4Ni9hcmNoLXg4Ni5pbmM6MjYKIyAgICAgIiR7QGJiLnV0aWxzLmNvbnRh
aW5zKCdUVU5FX0ZFQVRVUkVTJywgJ214MzInLCAnLXgzMicsICcnLCBkKX0iCiMgcHJlLWV4cGFu
c2lvbiB2YWx1ZToKIyAgICIgJHtAYmIudXRpbHMuY29udGFpbnMoJ1RVTkVfRkVBVFVSRVMnLCAn
bXgzMicsICcteDMyJywgJycsIGQpfSIKVFVORV9BU0FSR1M9IiAiCiMKIyAkVFVORV9DQ0FSR1Mg
WzYgb3BlcmF0aW9uc10KIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2Nv
bmYvYml0YmFrZS5jb25mOjExMwojICAgICBbX2RlZmF1bHR2YWxdICIiCiMgICBzZXQgL21lZGlh
L3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjoxMTQKIyAgICAgW3Zh
cmRlcHZhbHVlXSAiJHtUVU5FX0NDQVJHU30iCiMgICBwb3N0ZG90IC9tZWRpYS9yZWJlY2Nhcy95
b2N0by9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUveDg2L2FyY2gteDg2LmluYzoxNgoj
ICAgICAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1RVTkVfRkVBVFVSRVMnLCAnbTMyJywgJyAtbTMy
JywgJycsIGQpfSIKIyAgIHBvc3Rkb3QgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9j
b25mL21hY2hpbmUvaW5jbHVkZS94ODYvYXJjaC14ODYuaW5jOjI0CiMgICAgICIke0BiYi51dGls
cy5jb250YWlucygnVFVORV9GRUFUVVJFUycsICdteDMyJywgJyAtbXgzMicsICcnLCBkKX0iCiMg
ICBwb3N0ZG90IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2lu
Y2x1ZGUveDg2L2FyY2gteDg2LmluYzozNAojICAgICAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1RV
TkVfRkVBVFVSRVMnLCAnbTY0JywgJyAtbTY0JywgJycsIGQpfSIKIyAgIHBvc3Rkb3QgL21lZGlh
L3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS90dW5lLWk1ODYu
aW5jOjcKIyAgICAgIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdUVU5FX0ZFQVRVUkVTJywgJ2k1ODYn
LCAnIC1tYXJjaD1pNTg2JywgJycsIGQpfSIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIiR7
QGJiLnV0aWxzLmNvbnRhaW5zKCdUVU5FX0ZFQVRVUkVTJywgJ20zMicsICcgLW0zMicsICcnLCBk
KX0ke0BiYi51dGlscy5jb250YWlucygnVFVORV9GRUFUVVJFUycsICdteDMyJywgJyAtbXgzMics
ICcnLCBkKX0ke0BiYi51dGlscy5jb250YWlucygnVFVORV9GRUFUVVJFUycsICdtNjQnLCAnIC1t
NjQnLCAnJywgZCl9JHtAYmIudXRpbHMuY29udGFpbnMoJ1RVTkVfRkVBVFVSRVMnLCAnaTU4Nics
ICcgLW1hcmNoPWk1ODYnLCAnJywgZCl9IgpUVU5FX0NDQVJHUz0iIC1tMzIgLW1hcmNoPWk1ODYi
CiMKIyAkVFVORV9GRUFUVVJFUyBbNSBvcGVyYXRpb25zXQojICAgc2V0IC9tZWRpYS9yZWJlY2Nh
cy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6MTE3CiMgICAgIFtfZGVmYXVsdHZh
bF0gIiR7VFVORV9GRUFUVVJFU190dW5lLSR7REVGQVVMVFRVTkV9fSIKIyAgIG92ZXJyaWRlW3R1
bmUteDg2XTpzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL21hY2hpbmUv
aW5jbHVkZS94ODYvYXJjaC14ODYuaW5jOjM4CiMgICAgICJtMzIiCiMgICBvdmVycmlkZVt0dW5l
LXg4Ni02NF06c2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9tYWNoaW5l
L2luY2x1ZGUveDg2L2FyY2gteDg2LmluYzo0NAojICAgICAibTY0IgojICAgb3ZlcnJpZGVbdHVu
ZS14ODYtNjQteDMyXTpzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL21h
Y2hpbmUvaW5jbHVkZS94ODYvYXJjaC14ODYuaW5jOjUwCiMgICAgICJteDMyIgojICAgb3ZlcnJp
ZGVbdHVuZS1pNTg2XTpzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL21h
Y2hpbmUvaW5jbHVkZS90dW5lLWk1ODYuaW5jOjExCiMgICAgICIke1RVTkVfRkVBVFVSRVNfdHVu
ZS14ODZ9IGk1ODYiCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICIke1RVTkVfRkVBVFVSRVNf
dHVuZS0ke0RFRkFVTFRUVU5FfX0iClRVTkVfRkVBVFVSRVM9Im0zMiBpNTg2IgojCiMgJFRVTkVf
RkVBVFVSRVNfdHVuZS1pNTg2CiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0
YS9jb25mL21hY2hpbmUvaW5jbHVkZS90dW5lLWk1ODYuaW5jOjExCiMgICAgICIke1RVTkVfRkVB
VFVSRVNfdHVuZS14ODZ9IGk1ODYiClRVTkVfRkVBVFVSRVNfdHVuZS1pNTg2PSJtMzIgaTU4NiIK
IwojICRUVU5FX0ZFQVRVUkVTX3R1bmUteDg2CiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3Rv
L3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS94ODYvYXJjaC14ODYuaW5jOjM4CiMgICAg
ICJtMzIiClRVTkVfRkVBVFVSRVNfdHVuZS14ODY9Im0zMiIKIwojICRUVU5FX0ZFQVRVUkVTX3R1
bmUteDg2LTY0CiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL21h
Y2hpbmUvaW5jbHVkZS94ODYvYXJjaC14ODYuaW5jOjQ0CiMgICAgICJtNjQiClRVTkVfRkVBVFVS
RVNfdHVuZS14ODYtNjQ9Im02NCIKIwojICRUVU5FX0ZFQVRVUkVTX3R1bmUteDg2LTY0LXgzMgoj
ICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1
ZGUveDg2L2FyY2gteDg2LmluYzo1MAojICAgICAibXgzMiIKVFVORV9GRUFUVVJFU190dW5lLXg4
Ni02NC14MzI9Im14MzIiCiMKIyAkVFVORV9MREFSR1MgWzIgb3BlcmF0aW9uc10KIyAgIHNldCAv
bWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjExNQojICAg
ICBbX2RlZmF1bHR2YWxdICIiCiMgICBhcHBlbmQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kv
bWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS94ODYvYXJjaC14ODYuaW5jOjI1CiMgICAgICIke0Bi
Yi51dGlscy5jb250YWlucygnVFVORV9GRUFUVVJFUycsICdteDMyJywgJy1tIGVsZjMyX3g4Nl82
NCcsICcnLCBkKX0iCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICIgJHtAYmIudXRpbHMuY29u
dGFpbnMoJ1RVTkVfRkVBVFVSRVMnLCAnbXgzMicsICctbSBlbGYzMl94ODZfNjQnLCAnJywgZCl9
IgpUVU5FX0xEQVJHUz0iICIKIwojICRUVU5FX1BLR0FSQ0ggWzcgb3BlcmF0aW9uc10KIyAgIHNl
dCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjE0Mwoj
ICAgICBbX2RlZmF1bHR2YWxdICIiCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kv
bWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS94ODYvYXJjaC14ODYuaW5jOjEwCiMgICAgICIke1RV
TkVfUEtHQVJDSF90dW5lLSR7REVGQVVMVFRVTkV9fSIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMv
eW9jdG8vcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjQzNQojICAgICBbZG9jXSAi
VGhlIHBhY2thZ2UgYXJjaGl0ZWN0dXJlIHVuZGVyc3Rvb2QgYnkgdGhlIHBhY2thZ2luZyBzeXN0
ZW0gdG8gZGVmaW5lIHRoZSBhcmNoaXRlY3R1cmUsIEFCSSwgYW5kIHR1bmluZyBvZiBvdXRwdXQg
cGFja2FnZXMuIgojICAgb3ZlcnJpZGVbdHVuZS14ODZdOnNldCAvbWVkaWEvcmViZWNjYXMveW9j
dG8vcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3g4Ni9hcmNoLXg4Ni5pbmM6NDAKIyAg
ICAgIng4NiIKIyAgIG92ZXJyaWRlW3R1bmUteDg2LTY0XTpzZXQgL21lZGlhL3JlYmVjY2FzL3lv
Y3RvL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS94ODYvYXJjaC14ODYuaW5jOjQ2CiMg
ICAgICJ4ODZfNjQiCiMgICBvdmVycmlkZVt0dW5lLXg4Ni02NC14MzJdOnNldCAvbWVkaWEvcmVi
ZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3g4Ni9hcmNoLXg4Ni5p
bmM6NTIKIyAgICAgIng4Nl82NF94MzIiCiMgICBvdmVycmlkZVt0dW5lLWk1ODZdOnNldCAvbWVk
aWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3R1bmUtaTU4
Ni5pbmM6MTMKIyAgICAgImk1ODYiCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICIke1RVTkVf
UEtHQVJDSF90dW5lLSR7REVGQVVMVFRVTkV9fSIKVFVORV9QS0dBUkNIPSJpNTg2IgojCiMgJFRV
TkVfUEtHQVJDSF90dW5lLWk1ODYKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9t
ZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3R1bmUtaTU4Ni5pbmM6MTMKIyAgICAgImk1ODYiClRV
TkVfUEtHQVJDSF90dW5lLWk1ODY9Imk1ODYiCiMKIyAkVFVORV9QS0dBUkNIX3R1bmUteDg2CiMg
ICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVk
ZS94ODYvYXJjaC14ODYuaW5jOjQwCiMgICAgICJ4ODYiClRVTkVfUEtHQVJDSF90dW5lLXg4Nj0i
eDg2IgojCiMgJFRVTkVfUEtHQVJDSF90dW5lLXg4Ni02NAojICAgc2V0IC9tZWRpYS9yZWJlY2Nh
cy95b2N0by9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUveDg2L2FyY2gteDg2LmluYzo0
NgojICAgICAieDg2XzY0IgpUVU5FX1BLR0FSQ0hfdHVuZS14ODYtNjQ9Ing4Nl82NCIKIwojICRU
VU5FX1BLR0FSQ0hfdHVuZS14ODYtNjQteDMyCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3Rv
L3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS94ODYvYXJjaC14ODYuaW5jOjUyCiMgICAg
ICJ4ODZfNjRfeDMyIgpUVU5FX1BLR0FSQ0hfdHVuZS14ODYtNjQteDMyPSJ4ODZfNjRfeDMyIgoj
CiMgJFRfdGFzay1jbGVhbgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEv
Y2xhc3Nlcy91dGlsaXR5LXRhc2tzLmJiY2xhc3M6MjIKIyAgICAgIiR7TE9HX0RJUn0vY2xlYW5s
b2dzLyR7UE59IgpUX3Rhc2stY2xlYW49Ii9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy90bXAv
bG9nL2NsZWFubG9ncy9sdHRuZy1tb2R1bGVzIgojCiMgJFVCT09UX0FSQ0ggWzIgb3BlcmF0aW9u
c10KIyAgIGV4cG9ydGVkIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY2xhc3Nlcy9r
ZXJuZWwtYXJjaC5iYmNsYXNzOjQ4CiMgICAgIFtleHBvcnRdICIxIgojICAgc2V0IC9tZWRpYS9y
ZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY2xhc3Nlcy9rZXJuZWwtYXJjaC5iYmNsYXNzOjQ4CiMg
ICAgICIke0BtYXBfdWJvb3RfYXJjaChkLmdldFZhcignQVJDSCcpLCBkKX0iCiMgcHJlLWV4cGFu
c2lvbiB2YWx1ZToKIyAgICIke0BtYXBfdWJvb3RfYXJjaChkLmdldFZhcignQVJDSCcpLCBkKX0i
CmV4cG9ydCBVQk9PVF9BUkNIPSJ4ODYiCiMKIyAkVUJPT1RfQ09ORklHCiMgICBzZXQgL21lZGlh
L3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjo0NDQKIyAg
ICAgW2RvY10gIkNvbmZpZ3VyZXMgdGhlIFVCT09UX01BQ0hJTkUgYW5kIGNhbiBhbHNvIGRlZmlu
ZSBJTUFHRV9GU1RZUEVTIGZvciBpbmRpdmlkdWFsIGNhc2VzLiIKIwojICRVQk9PVF9FTlRSWVBP
SU5UCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50
YXRpb24uY29uZjo0NDUKIyAgICAgW2RvY10gIlNwZWNpZmllcyB0aGUgZW50cnkgcG9pbnQgZm9y
IHRoZSBVLUJvb3QgaW1hZ2UuIgojCiMgJFVCT09UX0xPQURBRERSRVNTCiMgICBzZXQgL21lZGlh
L3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjo0NDYKIyAg
ICAgW2RvY10gIlNwZWNpZmllcyB0aGUgbG9hZCBhZGRyZXNzIGZvciB0aGUgVS1Cb290IGltYWdl
LiIKIwojICRVQk9PVF9MT0NBTFZFUlNJT04KIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8v
cG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjQ0NwojICAgICBbZG9jXSAiQXBwZW5k
cyBhIHN0cmluZyB0byB0aGUgbmFtZSBvZiB0aGUgbG9jYWwgdmVyc2lvbiBvZiB0aGUgVS1Cb290
IGltYWdlLiIKIwojICRVQk9PVF9NQUNISU5FCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3Rv
L3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjo0NDgKIyAgICAgW2RvY10gIlNwZWNp
ZmllcyB0aGUgdmFsdWUgcGFzc2VkIG9uIHRoZSBtYWtlIGNvbW1hbmQgbGluZSB3aGVuIGJ1aWxk
aW5nIGEgVS1Cb290IGltYWdlLiIKIwojICRVQk9PVF9NQUtFX1RBUkdFVAojICAgc2V0IC9tZWRp
YS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6NDQ5CiMg
ICAgIFtkb2NdICJTcGVjaWZpZXMgdGhlIHRhcmdldCBjYWxsZWQgaW4gdGhlIE1ha2VmaWxlLiIK
IwojICRVQk9PVF9TVUZGSVgKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRh
L2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjQ1MAojICAgICBbZG9jXSAiUG9pbnRzIHRvIHRoZSBn
ZW5lcmF0ZWQgVS1Cb290IGV4dGVuc2lvbi4iCiMKIyAkVUJPT1RfVEFSR0VUCiMgICBzZXQgL21l
ZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjo0NTEK
IyAgICAgW2RvY10gIlNwZWNpZmllcyB0aGUgdGFyZ2V0IHVzZWQgZm9yIGJ1aWxkaW5nIFUtQm9v
dC4iCiMKIyAkVUNMSUJDVkVSU0lPTgojICAgc2V0PyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9r
eS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvdGNtb2RlLWRlZmF1bHQuaW5jOjMwCiMgICAgICIx
LjAlIgpVQ0xJQkNWRVJTSU9OPSIxLjAlIgojCiMgJFVOSU5BVElWRV9DSEVDS1NVTSBbMiBvcGVy
YXRpb25zXQojICAgc2V0PyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlz
dHJvL2luY2x1ZGUveW9jdG8tdW5pbmF0aXZlLmluYzoxMAojICAgICBbaTY4Nl0gImQ3YzM0MTQ2
MDAzNTkzNmMxOWQ2M2ZlMDJmMzU0ZWYxYmM5OTNjNjJkNjk0YWUzYTMxNDU4ZDFjNjk5N2YwYzUi
CiMgICBzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5j
bHVkZS95b2N0by11bmluYXRpdmUuaW5jOjExCiMgICAgIFt4ODZfNjRdICJlZDAzM2M4NjhiODc4
NTJiMDc5NTdhNDQwMGYzYjc0NGMwMGFlZjVkNjQ3MDM0NmVhMWE1OWI2ZDNlMDMwNzVlIgojIHBy
ZS1leHBhbnNpb24gdmFsdWU6CiMgICAiTm9uZSIKIwojICRVTklOQVRJVkVfRExESVIKIyAgIHNl
dD8gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL3VuaW5hdGl2ZS5iYmNs
YXNzOjkKIyAgICAgIiR7RExfRElSfS91bmluYXRpdmUvIgpVTklOQVRJVkVfRExESVI9Ii9tZWRp
YS9yZWJlY2Nhcy9idWlsZC9kb3dubG9hZHMvdW5pbmF0aXZlLyIKIwojICRVTklOQVRJVkVfTE9B
REVSCiMgICBzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY2xhc3Nlcy91bmlu
YXRpdmUuYmJjbGFzczoxCiMgICAgICIke1VOSU5BVElWRV9TVEFHSU5HX0RJUn0tdW5pbmF0aXZl
LyR7QlVJTERfQVJDSH0tbGludXgvbGliLyR7QGJiLnV0aWxzLmNvbnRhaW5zKCdCVUlMRF9BUkNI
JywgJ3g4Nl82NCcsICdsZC1saW51eC14ODYtNjQuc28uMicsICdsZC1saW51eC5zby4yJywgZCl9
IgpVTklOQVRJVkVfTE9BREVSPSIvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvdG1wL3N5c3Jv
b3RzLXVuaW5hdGl2ZS94ODZfNjQtbGludXgvbGliL2xkLWxpbnV4LXg4Ni02NC5zby4yIgojCiMg
JFVOSU5BVElWRV9TVEFHSU5HX0RJUgojICAgc2V0PyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9r
eS9tZXRhL2NsYXNzZXMvdW5pbmF0aXZlLmJiY2xhc3M6MgojICAgICAiJHtTVEFHSU5HX0RJUn0i
ClVOSU5BVElWRV9TVEFHSU5HX0RJUj0iL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL3RtcC9z
eXNyb290cyIKIwojICRVTklOQVRJVkVfVEFSQkFMTAojICAgc2V0PyAvbWVkaWEvcmViZWNjYXMv
eW9jdG8vcG9reS9tZXRhL2NsYXNzZXMvdW5pbmF0aXZlLmJiY2xhc3M6NQojICAgICAiJHtCVUlM
RF9BUkNIfS1uYXRpdmVzZGstbGliYy50YXIuYnoyIgpVTklOQVRJVkVfVEFSQkFMTD0ieDg2XzY0
LW5hdGl2ZXNkay1saWJjLnRhci5iejIiCiMKIyAkVU5JTkFUSVZFX1VSTCBbMiBvcGVyYXRpb25z
XQojICAgc2V0PyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2lu
Y2x1ZGUveW9jdG8tdW5pbmF0aXZlLmluYzo5CiMgICAgICJodHRwOi8vZG93bmxvYWRzLnlvY3Rv
cHJvamVjdC5vcmcvcmVsZWFzZXMvdW5pbmF0aXZlLzEuNy8iCiMgICBzZXQ/IC9tZWRpYS9yZWJl
Y2Nhcy95b2N0by9wb2t5L21ldGEvY2xhc3Nlcy91bmluYXRpdmUuYmJjbGFzczo0CiMgICAgICJ1
bnNldCIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgImh0dHA6Ly9kb3dubG9hZHMueW9jdG9w
cm9qZWN0Lm9yZy9yZWxlYXNlcy91bmluYXRpdmUvMS43LyIKVU5JTkFUSVZFX1VSTD0iaHR0cDov
L2Rvd25sb2Fkcy55b2N0b3Byb2plY3Qub3JnL3JlbGVhc2VzL3VuaW5hdGl2ZS8xLjcvIgojCiMg
JFVOS05PV05fQ09ORklHVVJFX1dISVRFTElTVAojICAgc2V0PyAvbWVkaWEvcmViZWNjYXMveW9j
dG8vcG9reS9tZXRhL2NsYXNzZXMvaW5zYW5lLmJiY2xhc3M6NDkKIyAgICAgIi0tZW5hYmxlLW5s
cyAtLWRpc2FibGUtbmxzIC0tZGlzYWJsZS1zaWxlbnQtcnVsZXMgLS1kaXNhYmxlLWRlcGVuZGVu
Y3ktdHJhY2tpbmcgLS13aXRoLWxpYnRvb2wtc3lzcm9vdCAtLWRpc2FibGUtc3RhdGljIgpVTktO
T1dOX0NPTkZJR1VSRV9XSElURUxJU1Q9Ii0tZW5hYmxlLW5scyAtLWRpc2FibGUtbmxzIC0tZGlz
YWJsZS1zaWxlbnQtcnVsZXMgLS1kaXNhYmxlLWRlcGVuZGVuY3ktdHJhY2tpbmcgLS13aXRoLWxp
YnRvb2wtc3lzcm9vdCAtLWRpc2FibGUtc3RhdGljIgojCiMgJFVTRVIgWzIgb3BlcmF0aW9uc10K
IyAgIGZyb20gZW52IGRhdGEucHk6MTI0IFtpbmhlcml0RnJvbU9TXQojICAgICAicmViZWNjYXMi
CiMgICBhdXRvIGVudiBleHBvcnQgZGF0YS5weToxMjYgW2luaGVyaXRGcm9tT1NdCiMgICAgIFtl
eHBvcnRdICJUcnVlIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAicmViZWNjYXMiCmV4cG9y
dCBVU0VSPSJyZWJlY2NhcyIKIwojICRVU0VSQURERVhURU5TSU9OCiMgICBzZXQgL21lZGlhL3Jl
YmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjo0NTkKIyAgICAg
W2RvY10gIldoZW4gc2V0IHRvICd1c2VyYWRkLXN0YXRpY2lkcycsIGNhdXNlcyB0aGUgT3BlbkVt
YmVkZGVkIGJ1aWxkIHN5c3RlbSB0byBiYXNlIGFsbCB1c2VyIGFuZCBncm91cCBhZGRpdGlvbnMg
b24gZmlsZXMgbGlzdGVkIGluIFVTRVJBRERfVUlEX1RBQkxFUyBhbmQgVVNFUkFERF9HSURfVEFC
TEVTLiIKIwojICRVU0VSQUREX0VSUk9SX0RZTkFNSUMKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMv
eW9jdG8vcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjQ1NAojICAgICBbZG9jXSAi
SWYgc2V0IHRvICdlcnJvcicsIGZvcmNlcyB0aGUgT3BlbkVtYmVkZGVkIGJ1aWxkIHN5c3RlbSB0
byBwcm9kdWNlIGFuIGVycm9yIGlmIHRoZSB1c2VyIGlkZW50aWZpY2F0aW9uICh1aWQpIGFuZCBn
cm91cCBpZGVudGlmaWNhdGlvbiAoZ2lkKSB2YWx1ZXMgYXJlIG5vdCBkZWZpbmVkIGluIGFueSBv
ZiB0aGUgZmlsZXMgbGlzdGVkIGluIFVTRVJBRERfVUlEX1RBQkxFUyBhbmQgVVNFUkFERF9HSURf
VEFCTEVTLiBJZiBzZXQgdG8gJ3dhcm4nLCBhIHdhcm5pbmcgd2lsbCBiZSBpc3N1ZWQgaW5zdGVh
ZC4iCiMKIyAkVVNFUkFERF9HSURfVEFCTEVTCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3Rv
L3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjo0NTUKIyAgICAgW2RvY10gIlNwZWNp
ZmllcyBhIHBhc3N3b3JkIGZpbGUgdG8gdXNlIGZvciBvYnRhaW5pbmcgc3RhdGljIGdyb3VwIGlk
ZW50aWZpY2F0aW9uIChnaWQpIHZhbHVlcyB3aGVuIHRoZSBPcGVuRW1iZWRkZWQgYnVpbGQgc3lz
dGVtIGFkZHMgYSBncm91cCB0byB0aGUgc3lzdGVtIGR1cmluZyBwYWNrYWdlIGluc3RhbGxhdGlv
bi4iCiMKIyAkVVNFUkFERF9QQUNLQUdFUwojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9w
b2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6NDU2CiMgICAgIFtkb2NdICJXaGVuIGEg
cmVjaXBlIGluaGVyaXRzIHRoZSB1c2VyYWRkIGNsYXNzLCB0aGlzIHZhcmlhYmxlIHNwZWNpZmll
cyB0aGUgaW5kaXZpZHVhbCBwYWNrYWdlcyB3aXRoaW4gdGhlIHJlY2lwZSB0aGF0IHJlcXVpcmUg
dXNlcnMgYW5kL29yIGdyb3VwcyB0byBiZSBhZGRlZC4iCiMKIyAkVVNFUkFERF9QQVJBTQojICAg
c2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNv
bmY6NDU3CiMgICAgIFtkb2NdICJXaGVuIGEgcmVjaXBlIGluaGVyaXRzIHRoZSB1c2VyYWRkIGNs
YXNzLCB0aGlzIHZhcmlhYmxlIHNwZWNpZmllcyBmb3IgYSBwYWNrYWdlIHdoYXQgcGFyYW1ldGVy
cyBzaG91bGQgYmUgcGFzc2VkIHRvIHRoZSB1c2VyYWRkIGNvbW1hbmQgaWYgeW91IHdpc2ggdG8g
YWRkIGEgdXNlciB0byB0aGUgc3lzdGVtIHdoZW4gdGhlIHBhY2thZ2UgaXMgaW5zdGFsbGVkLiIK
IwojICRVU0VSQUREX1VJRF9UQUJMRVMKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9r
eS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjQ1OAojICAgICBbZG9jXSAiU3BlY2lmaWVz
IGEgcGFzc3dvcmQgZmlsZSB0byB1c2UgZm9yIG9idGFpbmluZyBzdGF0aWMgdXNlciBpZGVudGlm
aWNhdGlvbiAodWlkKSB2YWx1ZXMgd2hlbiB0aGUgT3BlbkVtYmVkZGVkIGJ1aWxkIHN5c3RlbSBh
ZGRzIGEgdXNlciB0byB0aGUgc3lzdGVtIGR1cmluZyBwYWNrYWdlIGluc3RhbGxhdGlvbi4iCiMK
IyAkVVNFUl9DTEFTU0VTIFszIG9wZXJhdGlvbnNdCiMgICBzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95
b2N0by9sdHRuZy9jb25mL2xvY2FsLmNvbmY6MTU1CiMgICAgICJidWlsZHN0YXRzIGltYWdlLW1r
bGlicyBpbWFnZS1wcmVsaW5rIgojICAgc2V0PyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9t
ZXRhL2NvbmYvZGlzdHJvL2RlZmF1bHRzZXR1cC5jb25mOjIwCiMgICAgICIiCiMgICBzZXQgL21l
ZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjo0NTMK
IyAgICAgW2RvY10gIkxpc3Qgb2YgYWRkaXRpb25hbCBjbGFzc2VzIHRvIHVzZSB3aGVuIGJ1aWxk
aW5nIGltYWdlcyB0aGF0IGVuYWJsZSBleHRyYSBmZWF0dXJlcy4iCiMgcHJlLWV4cGFuc2lvbiB2
YWx1ZToKIyAgICJidWlsZHN0YXRzIGltYWdlLW1rbGlicyBpbWFnZS1wcmVsaW5rIgpVU0VSX0NM
QVNTRVM9ImJ1aWxkc3RhdHMgaW1hZ2UtbWtsaWJzIGltYWdlLXByZWxpbmsiCiMKIyAkVVNFX0RF
VkZTCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50
YXRpb24uY29uZjo0NTIKIyAgICAgW2RvY10gIldoZW4gYnVpbGRpbmcgaW1hZ2VzLCBzcGVjaWZp
ZXMgdG8gcG9wdWxhdGUgb3Igbm90IC9kZXYuIFRoaXMgdmFyaWFibGUgZGVmYXVsdHMgdG8gJzEn
IChsZWF2ZSBkaXJlY3RvcnkgZW1wdHksIHN1cmVseSBiZWNhdXNlIGRldnRtcGZzIGRvIHRoZSBq
b2IpLiBTZXQgaXQgdG8gJzAnIHRvIHVzZSBtYWtlZGV2cyAob3IgY29uc2lkZXIgdXNpbmcgYSBj
dXN0b20gZmlsZSB3aXRoIElNQUdFX0RFVklDRV9UQUJMRVMpLiIKIwojICRVU0VfTkxTCiMgICBz
ZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjoxMjAK
IyAgICAgW19kZWZhdWx0dmFsXSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJF
UycsICdsaWJjLWxvY2FsZS1jb2RlJywgJ3llcycsICdubycsIGQpfSIKVVNFX05MUz0ieWVzIgoj
CiMgJFVTUkJJTlBBVEggWzMgb3BlcmF0aW9uc10KIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9j
dG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjc5CiMgICAgICIke2JpbmRpcn0iCiMgICBv
dmVycmlkZVtjbGFzcy1uYXRpdmVdOnNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRh
L2NvbmYvYml0YmFrZS5jb25mOjgwCiMgICAgICIvdXNyL2JpbiIKIyAgIG92ZXJyaWRlW2NsYXNz
LW5hdGl2ZXNka106c2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRi
YWtlLmNvbmY6ODEKIyAgICAgIi91c3IvYmluIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAi
JHtiaW5kaXJ9IgpVU1JCSU5QQVRIPSIvdXNyL2JpbiIKIwojICRVU1JCSU5QQVRIX2NsYXNzLW5h
dGl2ZQojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtl
LmNvbmY6ODAKIyAgICAgIi91c3IvYmluIgpVU1JCSU5QQVRIX2NsYXNzLW5hdGl2ZT0iL3Vzci9i
aW4iCiMKIyAkVVNSQklOUEFUSF9jbGFzcy1uYXRpdmVzZGsKIyAgIHNldCAvbWVkaWEvcmViZWNj
YXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjgxCiMgICAgICIvdXNyL2JpbiIK
VVNSQklOUEFUSF9jbGFzcy1uYXRpdmVzZGs9Ii91c3IvYmluIgojCiMgJFVWRVNBX01PREUKIyAg
IHNldD8gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVk
ZS9xZW11Ym9vdC14ODYuaW5jOjE5CiMgICAgICI2NDB4NDgwLTMyIgpVVkVTQV9NT0RFPSI2NDB4
NDgwLTMyIgojCiMgJFZJUlRVQUwtUlVOVElNRV9hbHNhLXN0YXRlCiMgICBzZXQ/IC9tZWRpYS9y
ZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9kZWZhdWx0LXByb3Zp
ZGVycy5pbmM6MjYKIyAgICAgImFsc2Etc3RhdGUiClZJUlRVQUwtUlVOVElNRV9hbHNhLXN0YXRl
PSJhbHNhLXN0YXRlIgojCiMgJFZJUlRVQUwtUlVOVElNRV9hcG0KIyAgIHNldD8gL21lZGlhL3Jl
YmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL2RlZmF1bHQtcHJvdmlk
ZXJzLmluYzoyNQojICAgICAiYXBtIgpWSVJUVUFMLVJVTlRJTUVfYXBtPSJhcG0iCiMKIyAkVklS
VFVBTC1SVU5USU1FX2Jhc2UtdXRpbHMKIyAgIHNldD8gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bv
a3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL2RlZmF1bHQtcHJvdmlkZXJzLmluYzoyOQojICAg
ICAiYnVzeWJveCIKVklSVFVBTC1SVU5USU1FX2Jhc2UtdXRpbHM9ImJ1c3lib3giCiMKIyAkVklS
VFVBTC1SVU5USU1FX2Jhc2UtdXRpbHMtaHdjbG9jawojICAgc2V0PyAvbWVkaWEvcmViZWNjYXMv
eW9jdG8vcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvZGVmYXVsdC1wcm92aWRlcnMuaW5j
OjMwCiMgICAgICJidXN5Ym94LWh3Y2xvY2siClZJUlRVQUwtUlVOVElNRV9iYXNlLXV0aWxzLWh3
Y2xvY2s9ImJ1c3lib3gtaHdjbG9jayIKIwojICRWSVJUVUFMLVJVTlRJTUVfZ2V0b3B0CiMgICBz
ZXQ/IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9k
ZWZhdWx0LXByb3ZpZGVycy5pbmM6MjcKIyAgICAgInV0aWwtbGludXgtZ2V0b3B0IgpWSVJUVUFM
LVJVTlRJTUVfZ2V0b3B0PSJ1dGlsLWxpbnV4LWdldG9wdCIKIwojICRWSVJUVUFMLVJVTlRJTUVf
dXBkYXRlLWFsdGVybmF0aXZlcwojICAgc2V0PyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9t
ZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvZGVmYXVsdC1wcm92aWRlcnMuaW5jOjI0CiMgICAgICJ1
cGRhdGUtYWx0ZXJuYXRpdmVzLW9wa2ciClZJUlRVQUwtUlVOVElNRV91cGRhdGUtYWx0ZXJuYXRp
dmVzPSJ1cGRhdGUtYWx0ZXJuYXRpdmVzLW9wa2ciCiMKIyAkVklSVFVBTC1SVU5USU1FX3dpcmVs
ZXNzLXRvb2xzCiMgICBzZXQ/IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9k
aXN0cm8vaW5jbHVkZS9kZWZhdWx0LXByb3ZpZGVycy5pbmM6MjgKIyAgICAgIml3IHdpcmVsZXNz
LXRvb2xzIgpWSVJUVUFMLVJVTlRJTUVfd2lyZWxlc3MtdG9vbHM9Iml3IHdpcmVsZXNzLXRvb2xz
IgojCiMgJFdBUk5fUUEgWzMgb3BlcmF0aW9uc10KIyAgIF9yZW1vdmUgL21lZGlhL3JlYmVjY2Fz
L3lvY3RvL3Bva3kvbWV0YS1wb2t5L2NvbmYvZGlzdHJvL3Bva3kuY29uZjoxMDAKIyAgICAgIiR7
V0FSTl9UT19FUlJPUl9RQX0iCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0
YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjo0NjMKIyAgICAgW2RvY10gIlNwZWNpZmllcyB0aGUg
cXVhbGl0eSBhc3N1cmFuY2UgY2hlY2tzIHdob3NlIGZhaWx1cmVzIGFyZSByZXBvcnRlZCBhcyB3
YXJuaW5ncyBieSB0aGUgT3BlbkVtYmVkZGVkIGJ1aWxkIHN5c3RlbS4iCiMgICBzZXQ/IC9tZWRp
YS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY2xhc3Nlcy9pbnNhbmUuYmJjbGFzczozNgojICAg
ICAibGRmbGFncyB1c2VsZXNzLXJwYXRocyBycGF0aHMgc3RhdGljZGV2IGxpYmRpciB4b3JnLWRy
aXZlci1hYmkgICAgICAgICAgICAgdGV4dHJlbCBhbHJlYWR5LXN0cmlwcGVkIGluY29tcGF0aWJs
ZS1saWNlbnNlIGZpbGVzLWludmFsaWQgICAgICAgICAgICAgaW5zdGFsbGVkLXZzLXNoaXBwZWQg
Y29tcGlsZS1ob3N0LXBhdGggaW5zdGFsbC1ob3N0LXBhdGggICAgICAgICAgICAgcG4tb3ZlcnJp
ZGVzIGluZm9kaXIgYnVpbGQtZGVwcyAgICAgICAgICAgICB1bmtub3duLWNvbmZpZ3VyZS1vcHRp
b24gc3ltbGluay10by1zeXNyb290IG11bHRpbGliICAgICAgICAgICAgIGludmFsaWQtcGFja2Fn
ZWNvbmZpZyBob3N0LXVzZXItY29udGFtaW5hdGVkICAgICAgICAgICAgICIKIyBwcmUtZXhwYW5z
aW9uIHZhbHVlOgojICAgImxpYmRpciB4b3JnLWRyaXZlci1hYmkgdGV4dHJlbCBpbmNvbXBhdGli
bGUtbGljZW5zZSBmaWxlcy1pbnZhbGlkIGluZm9kaXIgYnVpbGQtZGVwcyB1bmtub3duLWNvbmZp
Z3VyZS1vcHRpb24gc3ltbGluay10by1zeXNyb290IG11bHRpbGliIGludmFsaWQtcGFja2FnZWNv
bmZpZyBob3N0LXVzZXItY29udGFtaW5hdGVkIgpXQVJOX1FBPSJsaWJkaXIgeG9yZy1kcml2ZXIt
YWJpIHRleHRyZWwgaW5jb21wYXRpYmxlLWxpY2Vuc2UgZmlsZXMtaW52YWxpZCBpbmZvZGlyIGJ1
aWxkLWRlcHMgdW5rbm93bi1jb25maWd1cmUtb3B0aW9uIHN5bWxpbmstdG8tc3lzcm9vdCBtdWx0
aWxpYiBpbnZhbGlkLXBhY2thZ2Vjb25maWcgaG9zdC11c2VyLWNvbnRhbWluYXRlZCIKIwojICRX
QVJOX1RPX0VSUk9SX1FBCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS1w
b2t5L2NvbmYvZGlzdHJvL3Bva3kuY29uZjo5OQojICAgICAiYWxyZWFkeS1zdHJpcHBlZCBjb21w
aWxlLWhvc3QtcGF0aCBpbnN0YWxsLWhvc3QtcGF0aCBpbnN0YWxsZWQtdnMtc2hpcHBlZCBsZGZs
YWdzIHBuLW92ZXJyaWRlcyBycGF0aHMgc3RhdGljZGV2IHVzZWxlc3MtcnBhdGhzIgpXQVJOX1RP
X0VSUk9SX1FBPSJhbHJlYWR5LXN0cmlwcGVkIGNvbXBpbGUtaG9zdC1wYXRoIGluc3RhbGwtaG9z
dC1wYXRoIGluc3RhbGxlZC12cy1zaGlwcGVkIGxkZmxhZ3MgcG4tb3ZlcnJpZGVzIHJwYXRocyBz
dGF0aWNkZXYgdXNlbGVzcy1ycGF0aHMiCiMKIyAkV0hJVEVMSVNUX0dQTC0zLjAKIyAgIHNldD8g
L21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL2RlZmF1
bHQtZGlzdHJvdmFycy5pbmM6MjUKIyAgICAgIiIKV0hJVEVMSVNUX0dQTC0zLjA9IiIKIwojICRX
S1NfRklMRQojICAgc2V0PyAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvbWFj
aGluZS9xZW11eDg2LmNvbmY6MzEKIyAgICAgImRpcmVjdGRpc2sud2tzIgpXS1NfRklMRT0iZGly
ZWN0ZGlzay53a3MiCiMKIyAkV09SS0RJUiBbMiBvcGVyYXRpb25zXQojICAgc2V0IC9tZWRpYS9y
ZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6MzQ3CiMgICAgICIke0JB
U0VfV09SS0RJUn0vJHtNVUxUSU1BQ0hfVEFSR0VUX1NZU30vJHtQTn0vJHtFWFRFTkRQRX0ke1BW
fS0ke1BSfSIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZG9j
dW1lbnRhdGlvbi5jb25mOjQ2NAojICAgICBbZG9jXSAiVGhlIHBhdGhuYW1lIG9mIHRoZSB3b3Jr
aW5nIGRpcmVjdG9yeSBpbiB3aGljaCB0aGUgT3BlbkVtYmVkZGVkIGJ1aWxkIHN5c3RlbSBidWls
ZHMgYSByZWNpcGUuIFRoaXMgZGlyZWN0b3J5IGlzIGxvY2F0ZWQgd2l0aGluIHRoZSBUTVBESVIg
ZGlyZWN0b3J5IHN0cnVjdHVyZSBhbmQgY2hhbmdlcyBhcyBkaWZmZXJlbnQgcGFja2FnZXMgYXJl
IGJ1aWx0LiIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIiR7QkFTRV9XT1JLRElSfS8ke01V
TFRJTUFDSF9UQVJHRVRfU1lTfS8ke1BOfS8ke0VYVEVORFBFfSR7UFZ9LSR7UFJ9IgpXT1JLRElS
PSIvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvdG1wL3dvcmsvcWVtdXg4Ni1wb2t5LWxpbnV4
L2x0dG5nLW1vZHVsZXMvMi45LjEtcjAiCiMKIyAkWDg2QVJDSDMyCiMgICBzZXQ/IC9tZWRpYS9y
ZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUveDg2L2FyY2gteDg2
LmluYzo3CiMgICAgICJpNTg2IgpYODZBUkNIMzI9Imk1ODYiCiMKIyAkWDg2QVJDSDY0CiMgICBz
ZXQ/IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUv
eDg2L2FyY2gteDg2LmluYzo4CiMgICAgICJ4ODZfNjQiClg4NkFSQ0g2ND0ieDg2XzY0IgojCiMg
JFhBVVRIT1JJVFkKIyAgIHNldD8gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFz
c2VzL3Rlcm1pbmFsLmJiY2xhc3M6OQojICAgICAiJHtIT01FfS8uWGF1dGhvcml0eSIKWEFVVEhP
UklUWT0iL2hvbWUvcmViZWNjYXMvLlhhdXRob3JpdHkiCiMKIyAkWExJQlNfTUlSUk9SCiMgICBz
ZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo2MTYK
IyAgICAgImh0dHA6Ly94bGlicy5mcmVlZGVza3RvcC5vcmcvcmVsZWFzZSIKWExJQlNfTUlSUk9S
PSJodHRwOi8veGxpYnMuZnJlZWRlc2t0b3Aub3JnL3JlbGVhc2UiCiMKIyAkWE9SR19NSVJST1IK
IyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25m
OjYxNwojICAgICAiaHR0cDovL3hvcmcuZnJlZWRlc2t0b3Aub3JnL3JlbGVhc2VzIgpYT1JHX01J
UlJPUj0iaHR0cDovL3hvcmcuZnJlZWRlc2t0b3Aub3JnL3JlbGVhc2VzIgojCiMgJFhTRVJWRVIg
WzIgb3BlcmF0aW9uc10KIyAgIHNldD8gL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9j
b25mL21hY2hpbmUvaW5jbHVkZS9xZW11LmluYzoxMAojICAgICAieHNlcnZlci14b3JnICAgICAg
ICAgICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnb3BlbmdsJywg
J21lc2EtZHJpdmVyLXN3cmFzdCB4c2VydmVyLXhvcmctZXh0ZW5zaW9uLWdseCcsICcnLCBkKX0g
ICAgICAgICAgICAgeGY4Ni12aWRlby1mYmRldiAgICAgICAgICAgICAiCiMgICBzZXQgL21lZGlh
L3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvcWVtdXg4Ni5jb25mOjI1CiMg
ICAgICJ4c2VydmVyLXhvcmcgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycs
ICdvcGVuZ2wnLCAnbWVzYS1kcml2ZXItc3dyYXN0IHhzZXJ2ZXIteG9yZy1leHRlbnNpb24tZ2x4
JywgJycsIGQpfSB4Zjg2LXZpZGVvLWNpcnJ1cyB4Zjg2LXZpZGVvLWZiZGV2IHhmODYtdmlkZW8t
dm13YXJlIHhmODYtdmlkZW8tbW9kZXNldHRpbmcgeHNlcnZlci14b3JnLW1vZHVsZS1saWJpbnQx
MCAiCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICJ4c2VydmVyLXhvcmcgJHtAYmIudXRpbHMu
Y29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdvcGVuZ2wnLCAnbWVzYS1kcml2ZXItc3dyYXN0
IHhzZXJ2ZXIteG9yZy1leHRlbnNpb24tZ2x4JywgJycsIGQpfSB4Zjg2LXZpZGVvLWNpcnJ1cyB4
Zjg2LXZpZGVvLWZiZGV2IHhmODYtdmlkZW8tdm13YXJlIHhmODYtdmlkZW8tbW9kZXNldHRpbmcg
eHNlcnZlci14b3JnLW1vZHVsZS1saWJpbnQxMCAiClhTRVJWRVI9InhzZXJ2ZXIteG9yZyBtZXNh
LWRyaXZlci1zd3Jhc3QgeHNlcnZlci14b3JnLWV4dGVuc2lvbi1nbHggeGY4Ni12aWRlby1jaXJy
dXMgeGY4Ni12aWRlby1mYmRldiB4Zjg2LXZpZGVvLXZtd2FyZSB4Zjg2LXZpZGVvLW1vZGVzZXR0
aW5nIHhzZXJ2ZXIteG9yZy1tb2R1bGUtbGliaW50MTAgIgojCiMgJF90YXNrX2RlcHMKIyAgIHNl
dCBidWlsZC5weTo4MjMgW2FkZF90YXNrc10KIyAgICAgInsncmVjaWRlcHRhc2snOiB7J2RvX2Zl
dGNoYWxsJzogJ2RvX2J1aWxkJywgJ2RvX2NoZWNrdXJpYWxsJzogJ2RvX2J1aWxkJ30sICdub2V4
ZWMnOiB7J2RvX2J1aWxkJzogJzEnfSwgJ2RlcGVuZHMnOiB7J2RvX3BhY2thZ2VfcWEnOiAnIHZp
cnR1YWwvaTU4Ni1wb2t5LWxpbnV4LWJpbnV0aWxzOmRvX3BvcHVsYXRlX3N5c3Jvb3QgcHJlbGlu
ay1uYXRpdmU6ZG9fcG9wdWxhdGVfc3lzcm9vdCB2aXJ0dWFsL2Zha2Vyb290LW5hdGl2ZTpkb19w
b3B1bGF0ZV9zeXNyb290JywgJ2RvX3BhdGNoJzogJ3F1aWx0LW5hdGl2ZTpkb19wb3B1bGF0ZV9z
eXNyb290JywgJ2RvX3BhY2thZ2Vfd3JpdGVfcnBtJzogJyBrbW9kLW5hdGl2ZTpkb19wb3B1bGF0
ZV9zeXNyb290IGRlcG1vZHdyYXBwZXItY3Jvc3M6ZG9fcG9wdWxhdGVfc3lzcm9vdCBycG0tbmF0
aXZlOmRvX3BvcHVsYXRlX3N5c3Jvb3QgdmlydHVhbC9mYWtlcm9vdC1uYXRpdmU6ZG9fcG9wdWxh
dGVfc3lzcm9vdCcsICdkb19jb25maWd1cmUnOiAnIHZpcnR1YWwva2VybmVsOmRvX2NvbXBpbGVf
a2VybmVsbW9kdWxlcycsICdkb19wb3B1bGF0ZV9zeXNyb290JzogJyB2aXJ0dWFsL2k1ODYtcG9r
eS1saW51eC1iaW51dGlsczpkb19wb3B1bGF0ZV9zeXNyb290JywgJ2RvX3BhY2thZ2Vfc2V0c2Nl
bmUnOiAnIHZpcnR1YWwvZmFrZXJvb3QtbmF0aXZlOmRvX3BvcHVsYXRlX3N5c3Jvb3QnLCAnZG9f
ZGV2c2hlbGwnOiAnIHZpcnR1YWwvZmFrZXJvb3QtbmF0aXZlOmRvX3BvcHVsYXRlX3N5c3Jvb3Qn
LCAnZG9fZmV0Y2gnOiAnIHdnZXQtbmF0aXZlOmRvX3BvcHVsYXRlX3N5c3Jvb3QnLCAnZG9fbWFr
ZV9zY3JpcHRzJzogJyB2aXJ0dWFsL2tlcm5lbDpkb19zaGFyZWRfd29ya2RpcicsICdkb19pbnN0
YWxsJzogJyB2aXJ0dWFsL2Zha2Vyb290LW5hdGl2ZTpkb19wb3B1bGF0ZV9zeXNyb290JywgJ2Rv
X3BhY2thZ2UnOiAnIHZpcnR1YWwvZmFrZXJvb3QtbmF0aXZlOmRvX3BvcHVsYXRlX3N5c3Jvb3Qg
cnBtLW5hdGl2ZTpkb19wb3B1bGF0ZV9zeXNyb290IGZpbGUtbmF0aXZlOmRvX3BvcHVsYXRlX3N5
c3Jvb3QnfSwgJ3BhcmVudHMnOiB7J2RvX3BhY2thZ2VfcWEnOiBbJ2RvX3BhY2thZ2VkYXRhJywg
J2RvX3BhY2thZ2UnXSwgJ2RvX3BhY2thZ2VkYXRhX3NldHNjZW5lJzogW10sICdkb19jbGVhbnNz
dGF0ZSc6IFsnZG9fY2xlYW4nXSwgJ2RvX2NvbXBpbGUnOiBbJ2RvX21ha2Vfc2NyaXB0cycsICdk
b19jb25maWd1cmUnXSwgJ2RvX2NoZWNrdXJpJzogW10sICdkb19jbGVhbic6IFtdLCAnZG9fcG9w
dWxhdGVfbGljJzogWydkb19wYXRjaCddLCAnZG9fZGV2cHlzaGVsbCc6IFsnZG9fcGF0Y2gnXSwg
J2RvX3BhdGNoJzogWydkb191bnBhY2snXSwgJ2RvX2J1aWxkJzogWydkb19wb3B1bGF0ZV9saWMn
LCAnZG9fcGFja2FnZWRhdGEnLCAnZG9fcGFja2FnZV9xYScsICdkb19wb3B1bGF0ZV9zeXNyb290
J10sICdkb19jb25maWd1cmUnOiBbJ2RvX3ByZXBhcmVfcmVjaXBlX3N5c3Jvb3QnLCAnZG9fcGF0
Y2gnXSwgJ2RvX3BvcHVsYXRlX3N5c3Jvb3QnOiBbJ2RvX2luc3RhbGwnXSwgJ2RvX3VucGFjayc6
IFsnZG9fZmV0Y2gnXSwgJ2RvX3BhY2thZ2Vfd3JpdGVfcnBtJzogWydkb19wYWNrYWdlZGF0YScs
ICdkb19wYWNrYWdlJ10sICdkb19wYWNrYWdlJzogWydkb19pbnN0YWxsJ10sICdkb19wYWNrYWdl
ZGF0YSc6IFsnZG9fcGFja2FnZSddLCAnZG9faW5zdGFsbCc6IFsnZG9fY29tcGlsZSddLCAnZG9f
ZmV0Y2hhbGwnOiBbJ2RvX2ZldGNoJ10sICdkb19saXN0dGFza3MnOiBbXSwgJ2RvX2ZldGNoJzog
W10sICdkb19tYWtlX3NjcmlwdHMnOiBbJ2RvX3ByZXBhcmVfcmVjaXBlX3N5c3Jvb3QnXSwgJ2Rv
X3ByZXBhcmVfcmVjaXBlX3N5c3Jvb3QnOiBbJ2RvX2ZldGNoJ10sICdkb19wYWNrYWdlX3dyaXRl
X3JwbV9zZXRzY2VuZSc6IFtdLCAnZG9fcG9wdWxhdGVfc3lzcm9vdF9zZXRzY2VuZSc6IFtdLCAn
ZG9fY2xlYW5hbGwnOiBbJ2RvX2NsZWFuc3N0YXRlJ10sICdkb19jaGVja3VyaWFsbCc6IFsnZG9f
Y2hlY2t1cmknXSwgJ2RvX2RldnNoZWxsJzogWydkb19wYXRjaCddLCAnZG9fcG9wdWxhdGVfbGlj
X3NldHNjZW5lJzogW10sICdkb19wYWNrYWdlX3FhX3NldHNjZW5lJzogW10sICdkb19wYWNrYWdl
X3NldHNjZW5lJzogW119LCAncmRlcGVuZHMnOiB7fSwgJ2RlcHRhc2snOiB7J2RvX3ByZXBhcmVf
cmVjaXBlX3N5c3Jvb3QnOiAnZG9fcG9wdWxhdGVfc3lzcm9vdCcsICdkb19wYWNrYWdlJzogJyBk
b19wYWNrYWdlZGF0YSd9LCAndGFza3MnOiBbJ2RvX3BhdGNoJywgJ2RvX3BvcHVsYXRlX3N5c3Jv
b3QnLCAnZG9fcG9wdWxhdGVfc3lzcm9vdF9zZXRzY2VuZScsICdkb19wcmVwYXJlX3JlY2lwZV9z
eXNyb290JywgJ2RvX2xpc3R0YXNrcycsICdkb19jbGVhbicsICdkb19jaGVja3VyaScsICdkb19j
aGVja3VyaWFsbCcsICdkb19mZXRjaGFsbCcsICdkb19mZXRjaCcsICdkb191bnBhY2snLCAnZG9f
Y29uZmlndXJlJywgJ2RvX2NvbXBpbGUnLCAnZG9faW5zdGFsbCcsICdkb19idWlsZCcsICdkb19j
bGVhbnNzdGF0ZScsICdkb19jbGVhbmFsbCcsICdkb19wYWNrYWdlX3FhJywgJ2RvX3BhY2thZ2Vf
cWFfc2V0c2NlbmUnLCAnZG9fcGFja2FnZScsICdkb19wYWNrYWdlX3NldHNjZW5lJywgJ2RvX3Bh
Y2thZ2VkYXRhJywgJ2RvX3BhY2thZ2VkYXRhX3NldHNjZW5lJywgJ2RvX3BhY2thZ2Vfd3JpdGVf
cnBtX3NldHNjZW5lJywgJ2RvX3BhY2thZ2Vfd3JpdGVfcnBtJywgJ2RvX2RldnNoZWxsJywgJ2Rv
X2RldnB5c2hlbGwnLCAnZG9fcG9wdWxhdGVfbGljJywgJ2RvX3BvcHVsYXRlX2xpY19zZXRzY2Vu
ZScsICdkb19tYWtlX3NjcmlwdHMnXSwgJ3VtYXNrJzogeydkb19pbnN0YWxsJzogJzAyMicsICdk
b19jb25maWd1cmUnOiAnMDIyJywgJ2RvX3BvcHVsYXRlX3N5c3Jvb3QnOiAnMDIyJywgJ2RvX3Vu
cGFjayc6ICcwMjInLCAnZG9fcGFja2FnZV93cml0ZV9ycG0nOiAnMDIyJywgJ2RvX2NvbXBpbGUn
OiAnMDIyJywgJ2RvX3BhY2thZ2UnOiAnMDIyJ30sICdmYWtlcm9vdCc6IHsnZG9fcGFja2FnZV9x
YSc6ICcxJywgJ2RvX2luc3RhbGwnOiAnMScsICdkb19wYWNrYWdlX3dyaXRlX3JwbSc6ICcxJywg
J2RvX3BhY2thZ2UnOiAnMScsICdkb19wYWNrYWdlX3NldHNjZW5lJzogJzEnfSwgJ3JkZXB0YXNr
Jzogeydkb19wYWNrYWdlX3FhJzogJ2RvX3BhY2thZ2VkYXRhJywgJ2RvX3BhY2thZ2Vfd3JpdGVf
cnBtJzogJ2RvX3BhY2thZ2VkYXRhJ30sICdyZWNyZGVwdGFzayc6IHsnZG9fZmV0Y2hhbGwnOiAn
ZG9fZmV0Y2hhbGwgZG9fZmV0Y2gnLCAnZG9fYnVpbGQnOiAnIGRvX2RlcGxveSBkb19wYWNrYWdl
X3dyaXRlX3JwbScsICdkb19jaGVja3VyaWFsbCc6ICdkb19jaGVja3VyaWFsbCBkb19jaGVja3Vy
aSd9LCAnbm9zdGFtcCc6IHsnZG9fY2xlYW5hbGwnOiAnMScsICdkb19jaGVja3VyaWFsbCc6ICcx
JywgJ2RvX2NsZWFuc3N0YXRlJzogJzEnLCAnZG9fZGV2cHlzaGVsbCc6ICcxJywgJ2RvX2xpc3R0
YXNrcyc6ICcxJywgJ2RvX2RldnNoZWxsJzogJzEnLCAnZG9fY2hlY2t1cmknOiAnMScsICdkb19j
bGVhbic6ICcxJ319IgpfdGFza19kZXBzPSJ7J3JlY2lkZXB0YXNrJzogeydkb19mZXRjaGFsbCc6
ICdkb19idWlsZCcsICdkb19jaGVja3VyaWFsbCc6ICdkb19idWlsZCd9LCAnbm9leGVjJzogeydk
b19idWlsZCc6ICcxJ30sICdkZXBlbmRzJzogeydkb19wYWNrYWdlX3FhJzogJyB2aXJ0dWFsL2k1
ODYtcG9reS1saW51eC1iaW51dGlsczpkb19wb3B1bGF0ZV9zeXNyb290IHByZWxpbmstbmF0aXZl
OmRvX3BvcHVsYXRlX3N5c3Jvb3QgdmlydHVhbC9mYWtlcm9vdC1uYXRpdmU6ZG9fcG9wdWxhdGVf
c3lzcm9vdCcsICdkb19wYXRjaCc6ICdxdWlsdC1uYXRpdmU6ZG9fcG9wdWxhdGVfc3lzcm9vdCcs
ICdkb19wYWNrYWdlX3dyaXRlX3JwbSc6ICcga21vZC1uYXRpdmU6ZG9fcG9wdWxhdGVfc3lzcm9v
dCBkZXBtb2R3cmFwcGVyLWNyb3NzOmRvX3BvcHVsYXRlX3N5c3Jvb3QgcnBtLW5hdGl2ZTpkb19w
b3B1bGF0ZV9zeXNyb290IHZpcnR1YWwvZmFrZXJvb3QtbmF0aXZlOmRvX3BvcHVsYXRlX3N5c3Jv
b3QnLCAnZG9fY29uZmlndXJlJzogJyB2aXJ0dWFsL2tlcm5lbDpkb19jb21waWxlX2tlcm5lbG1v
ZHVsZXMnLCAnZG9fcG9wdWxhdGVfc3lzcm9vdCc6ICcgdmlydHVhbC9pNTg2LXBva3ktbGludXgt
YmludXRpbHM6ZG9fcG9wdWxhdGVfc3lzcm9vdCcsICdkb19wYWNrYWdlX3NldHNjZW5lJzogJyB2
aXJ0dWFsL2Zha2Vyb290LW5hdGl2ZTpkb19wb3B1bGF0ZV9zeXNyb290JywgJ2RvX2RldnNoZWxs
JzogJyB2aXJ0dWFsL2Zha2Vyb290LW5hdGl2ZTpkb19wb3B1bGF0ZV9zeXNyb290JywgJ2RvX2Zl
dGNoJzogJyB3Z2V0LW5hdGl2ZTpkb19wb3B1bGF0ZV9zeXNyb290JywgJ2RvX21ha2Vfc2NyaXB0
cyc6ICcgdmlydHVhbC9rZXJuZWw6ZG9fc2hhcmVkX3dvcmtkaXInLCAnZG9faW5zdGFsbCc6ICcg
dmlydHVhbC9mYWtlcm9vdC1uYXRpdmU6ZG9fcG9wdWxhdGVfc3lzcm9vdCcsICdkb19wYWNrYWdl
JzogJyB2aXJ0dWFsL2Zha2Vyb290LW5hdGl2ZTpkb19wb3B1bGF0ZV9zeXNyb290IHJwbS1uYXRp
dmU6ZG9fcG9wdWxhdGVfc3lzcm9vdCBmaWxlLW5hdGl2ZTpkb19wb3B1bGF0ZV9zeXNyb290J30s
ICdwYXJlbnRzJzogeydkb19wYWNrYWdlX3FhJzogWydkb19wYWNrYWdlZGF0YScsICdkb19wYWNr
YWdlJ10sICdkb19wYWNrYWdlZGF0YV9zZXRzY2VuZSc6IFtdLCAnZG9fY2xlYW5zc3RhdGUnOiBb
J2RvX2NsZWFuJ10sICdkb19jb21waWxlJzogWydkb19tYWtlX3NjcmlwdHMnLCAnZG9fY29uZmln
dXJlJ10sICdkb19jaGVja3VyaSc6IFtdLCAnZG9fY2xlYW4nOiBbXSwgJ2RvX3BvcHVsYXRlX2xp
Yyc6IFsnZG9fcGF0Y2gnXSwgJ2RvX2RldnB5c2hlbGwnOiBbJ2RvX3BhdGNoJ10sICdkb19wYXRj
aCc6IFsnZG9fdW5wYWNrJ10sICdkb19idWlsZCc6IFsnZG9fcG9wdWxhdGVfbGljJywgJ2RvX3Bh
Y2thZ2VkYXRhJywgJ2RvX3BhY2thZ2VfcWEnLCAnZG9fcG9wdWxhdGVfc3lzcm9vdCddLCAnZG9f
Y29uZmlndXJlJzogWydkb19wcmVwYXJlX3JlY2lwZV9zeXNyb290JywgJ2RvX3BhdGNoJ10sICdk
b19wb3B1bGF0ZV9zeXNyb290JzogWydkb19pbnN0YWxsJ10sICdkb191bnBhY2snOiBbJ2RvX2Zl
dGNoJ10sICdkb19wYWNrYWdlX3dyaXRlX3JwbSc6IFsnZG9fcGFja2FnZWRhdGEnLCAnZG9fcGFj
a2FnZSddLCAnZG9fcGFja2FnZSc6IFsnZG9faW5zdGFsbCddLCAnZG9fcGFja2FnZWRhdGEnOiBb
J2RvX3BhY2thZ2UnXSwgJ2RvX2luc3RhbGwnOiBbJ2RvX2NvbXBpbGUnXSwgJ2RvX2ZldGNoYWxs
JzogWydkb19mZXRjaCddLCAnZG9fbGlzdHRhc2tzJzogW10sICdkb19mZXRjaCc6IFtdLCAnZG9f
bWFrZV9zY3JpcHRzJzogWydkb19wcmVwYXJlX3JlY2lwZV9zeXNyb290J10sICdkb19wcmVwYXJl
X3JlY2lwZV9zeXNyb290JzogWydkb19mZXRjaCddLCAnZG9fcGFja2FnZV93cml0ZV9ycG1fc2V0
c2NlbmUnOiBbXSwgJ2RvX3BvcHVsYXRlX3N5c3Jvb3Rfc2V0c2NlbmUnOiBbXSwgJ2RvX2NsZWFu
YWxsJzogWydkb19jbGVhbnNzdGF0ZSddLCAnZG9fY2hlY2t1cmlhbGwnOiBbJ2RvX2NoZWNrdXJp
J10sICdkb19kZXZzaGVsbCc6IFsnZG9fcGF0Y2gnXSwgJ2RvX3BvcHVsYXRlX2xpY19zZXRzY2Vu
ZSc6IFtdLCAnZG9fcGFja2FnZV9xYV9zZXRzY2VuZSc6IFtdLCAnZG9fcGFja2FnZV9zZXRzY2Vu
ZSc6IFtdfSwgJ3JkZXBlbmRzJzoge30sICdyZWNyZGVwdGFzayc6IHsnZG9fZmV0Y2hhbGwnOiAn
ZG9fZmV0Y2hhbGwgZG9fZmV0Y2gnLCAnZG9fYnVpbGQnOiAnIGRvX2RlcGxveSBkb19wYWNrYWdl
X3dyaXRlX3JwbScsICdkb19jaGVja3VyaWFsbCc6ICdkb19jaGVja3VyaWFsbCBkb19jaGVja3Vy
aSd9LCAndGFza3MnOiBbJ2RvX3BhdGNoJywgJ2RvX3BvcHVsYXRlX3N5c3Jvb3QnLCAnZG9fcG9w
dWxhdGVfc3lzcm9vdF9zZXRzY2VuZScsICdkb19wcmVwYXJlX3JlY2lwZV9zeXNyb290JywgJ2Rv
X2xpc3R0YXNrcycsICdkb19jbGVhbicsICdkb19jaGVja3VyaScsICdkb19jaGVja3VyaWFsbCcs
ICdkb19mZXRjaGFsbCcsICdkb19mZXRjaCcsICdkb191bnBhY2snLCAnZG9fY29uZmlndXJlJywg
J2RvX2NvbXBpbGUnLCAnZG9faW5zdGFsbCcsICdkb19idWlsZCcsICdkb19jbGVhbnNzdGF0ZScs
ICdkb19jbGVhbmFsbCcsICdkb19wYWNrYWdlX3FhJywgJ2RvX3BhY2thZ2VfcWFfc2V0c2NlbmUn
LCAnZG9fcGFja2FnZScsICdkb19wYWNrYWdlX3NldHNjZW5lJywgJ2RvX3BhY2thZ2VkYXRhJywg
J2RvX3BhY2thZ2VkYXRhX3NldHNjZW5lJywgJ2RvX3BhY2thZ2Vfd3JpdGVfcnBtX3NldHNjZW5l
JywgJ2RvX3BhY2thZ2Vfd3JpdGVfcnBtJywgJ2RvX2RldnNoZWxsJywgJ2RvX2RldnB5c2hlbGwn
LCAnZG9fcG9wdWxhdGVfbGljJywgJ2RvX3BvcHVsYXRlX2xpY19zZXRzY2VuZScsICdkb19tYWtl
X3NjcmlwdHMnXSwgJ3VtYXNrJzogeydkb19pbnN0YWxsJzogJzAyMicsICdkb19jb25maWd1cmUn
OiAnMDIyJywgJ2RvX3BvcHVsYXRlX3N5c3Jvb3QnOiAnMDIyJywgJ2RvX3VucGFjayc6ICcwMjIn
LCAnZG9fcGFja2FnZV93cml0ZV9ycG0nOiAnMDIyJywgJ2RvX2NvbXBpbGUnOiAnMDIyJywgJ2Rv
X3BhY2thZ2UnOiAnMDIyJ30sICdmYWtlcm9vdCc6IHsnZG9fcGFja2FnZV9xYSc6ICcxJywgJ2Rv
X2luc3RhbGwnOiAnMScsICdkb19wYWNrYWdlX3dyaXRlX3JwbSc6ICcxJywgJ2RvX3BhY2thZ2Un
OiAnMScsICdkb19wYWNrYWdlX3NldHNjZW5lJzogJzEnfSwgJ3JkZXB0YXNrJzogeydkb19wYWNr
YWdlX3FhJzogJ2RvX3BhY2thZ2VkYXRhJywgJ2RvX3BhY2thZ2Vfd3JpdGVfcnBtJzogJ2RvX3Bh
Y2thZ2VkYXRhJ30sICdkZXB0YXNrJzogeydkb19wcmVwYXJlX3JlY2lwZV9zeXNyb290JzogJ2Rv
X3BvcHVsYXRlX3N5c3Jvb3QnLCAnZG9fcGFja2FnZSc6ICcgZG9fcGFja2FnZWRhdGEnfSwgJ25v
c3RhbXAnOiB7J2RvX2NsZWFuYWxsJzogJzEnLCAnZG9fY2hlY2t1cmlhbGwnOiAnMScsICdkb19j
bGVhbnNzdGF0ZSc6ICcxJywgJ2RvX2RldnB5c2hlbGwnOiAnMScsICdkb19saXN0dGFza3MnOiAn
MScsICdkb19kZXZzaGVsbCc6ICcxJywgJ2RvX2NoZWNrdXJpJzogJzEnLCAnZG9fY2xlYW4nOiAn
MSd9fSIKIwojICRhbGxfcHJveHkKIyAgIGZyb20gZW52IGRhdGEucHk6MTI0IFtpbmhlcml0RnJv
bU9TXQojICAgICAic29ja3M6Ly9odHRwOi8vcHJveHktcG5nLmludGVsLmNvbToxMDgwLyIKYWxs
X3Byb3h5PSJzb2NrczovL2h0dHA6Ly9wcm94eS1wbmcuaW50ZWwuY29tOjEwODAvIgojCiMgJGJh
c2VfYmluZGlyIFs0IG9wZXJhdGlvbnNdCiMgICBleHBvcnRlZCAvbWVkaWEvcmViZWNjYXMveW9j
dG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjIxCiMgICAgIFtleHBvcnRdICIxIgojICAg
c2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6MjEK
IyAgICAgIiR7YmFzZV9wcmVmaXh9L2JpbiIKIyAgIG92ZXJyaWRlW25hdGl2ZV06c2V0IC9tZWRp
YS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6NTAKIyAgICAgIi9i
aW4iCiMgICBvdmVycmlkZVtuYXRpdmVzZGtdOnNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9r
eS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjY2CiMgICAgICIvYmluIgojIHByZS1leHBhbnNpb24g
dmFsdWU6CiMgICAiJHtiYXNlX3ByZWZpeH0vYmluIgpleHBvcnQgYmFzZV9iaW5kaXI9Ii9iaW4i
CiMKIyAkYmFzZV9iaW5kaXJfbmF0aXZlCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bv
a3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo1MAojICAgICAiL2JpbiIKYmFzZV9iaW5kaXJfbmF0
aXZlPSIvYmluIgojCiMgJGJhc2VfYmluZGlyX25hdGl2ZXNkawojICAgc2V0IC9tZWRpYS9yZWJl
Y2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6NjYKIyAgICAgIi9iaW4iCmJh
c2VfYmluZGlyX25hdGl2ZXNkaz0iL2JpbiIKIwojICRiYXNlX2RlcAojICAgX3ByZXBlbmQgYXN0
LnB5OjIxNCBbZXZhbF0KIyAgICAgImRlZiBiYXNlX2RlcF9wcmVwZW5kKGQpOgojICAgICAgICAg
IwojICAgICAgICAgIyBJZGVhbGx5IHRoaXMgd2lsbCBjaGVjayBhIGZsYWcgc28gd2Ugd2lsbCBv
cGVyYXRlIHByb3Blcmx5IGluCiMgICAgICAgICAjIHRoZSBjYXNlIHdoZXJlIGhvc3QgPT0gYnVp
bGQgPT0gdGFyZ2V0LCBmb3Igbm93IHdlIGRvbid0IHdvcmsgaW4KIyAgICAgICAgICMgdGhhdCBj
YXNlIHRob3VnaC4KIyAgICAgICAgICMKIyAgICAgCiMgICAgICAgICBkZXBzID0gIiIKIyAgICAg
ICAgICMgSU5ISUJJVF9ERUZBVUxUX0RFUFMgZG9lc24ndCBhcHBseSB0byB0aGUgcGF0Y2ggY29t
bWFuZC4gIFdoZXRoZXIgb3IgIG5vdAojICAgICAgICAgIyB3ZSBuZWVkIHRoYXQgYnVpbHQgaXMg
dGhlIHJlc3BvbnNpYmlsaXR5IG9mIHRoZSBwYXRjaCBmdW5jdGlvbiAvIGNsYXNzLCBub3QKIyAg
ICAgICAgICMgdGhlIGFwcGxpY2F0aW9uLgojICAgICAgICAgaWYgbm90IGQuZ2V0VmFyKCdJTkhJ
QklUX0RFRkFVTFRfREVQUycsIEZhbHNlKToKIyAgICAgICAgICAgICBpZiAoZC5nZXRWYXIoJ0hP
U1RfU1lTJykgIT0gZC5nZXRWYXIoJ0JVSUxEX1NZUycpKToKIyAgICAgICAgICAgICAgICAgZGVw
cyArPSAiIHZpcnR1YWwvJHtUQVJHRVRfUFJFRklYfWdjYyB2aXJ0dWFsLyR7VEFSR0VUX1BSRUZJ
WH1jb21waWxlcmxpYnMgdmlydHVhbC9saWJjICIKIyAgICAgICAgIHJldHVybiBkZXBzCiMgICAg
ICIKYmFzZV9kZXA9ImRlZiBiYXNlX2RlcF9wcmVwZW5kKGQpOiBcCiAgICAjIFwKICAgICMgSWRl
YWxseSB0aGlzIHdpbGwgY2hlY2sgYSBmbGFnIHNvIHdlIHdpbGwgb3BlcmF0ZSBwcm9wZXJseSBp
biBcCiAgICAjIHRoZSBjYXNlIHdoZXJlIGhvc3QgPT0gYnVpbGQgPT0gdGFyZ2V0LCBmb3Igbm93
IHdlIGRvbid0IHdvcmsgaW4gXAogICAgIyB0aGF0IGNhc2UgdGhvdWdoLiBcCiAgICAjIFwKIFwK
ICAgIGRlcHMgPSBcIlwiIFwKICAgICMgSU5ISUJJVF9ERUZBVUxUX0RFUFMgZG9lc24ndCBhcHBs
eSB0byB0aGUgcGF0Y2ggY29tbWFuZC4gIFdoZXRoZXIgb3IgIG5vdCBcCiAgICAjIHdlIG5lZWQg
dGhhdCBidWlsdCBpcyB0aGUgcmVzcG9uc2liaWxpdHkgb2YgdGhlIHBhdGNoIGZ1bmN0aW9uIC8g
Y2xhc3MsIG5vdCBcCiAgICAjIHRoZSBhcHBsaWNhdGlvbi4gXAogICAgaWYgbm90IGQuZ2V0VmFy
KCdJTkhJQklUX0RFRkFVTFRfREVQUycsIEZhbHNlKTogXAogICAgICAgIGlmIChkLmdldFZhcign
SE9TVF9TWVMnKSAhPSBkLmdldFZhcignQlVJTERfU1lTJykpOiBcCiAgICAgICAgICAgIGRlcHMg
Kz0gXCIgdmlydHVhbC9pNTg2LXBva3ktbGludXgtZ2NjIHZpcnR1YWwvaTU4Ni1wb2t5LWxpbnV4
LWNvbXBpbGVybGlicyB2aXJ0dWFsL2xpYmMgXCIgXAogICAgcmV0dXJuIGRlcHMgXAoiCiMKIyAk
YmFzZV9saWJkaXIgWzQgb3BlcmF0aW9uc10KIyAgIGV4cG9ydGVkIC9tZWRpYS9yZWJlY2Nhcy95
b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6MjMKIyAgICAgW2V4cG9ydF0gIjEiCiMg
ICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjoy
MwojICAgICAiJHtiYXNlX3ByZWZpeH0vJHtiYXNlbGlifSIKIyAgIG92ZXJyaWRlW25hdGl2ZV06
c2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6NTkK
IyAgICAgIi9saWIiCiMgICBvdmVycmlkZVtuYXRpdmVzZGtdOnNldCAvbWVkaWEvcmViZWNjYXMv
eW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjcwCiMgICAgICIvbGliIgojIHByZS1l
eHBhbnNpb24gdmFsdWU6CiMgICAiJHtiYXNlX3ByZWZpeH0vJHtiYXNlbGlifSIKZXhwb3J0IGJh
c2VfbGliZGlyPSIvbGliIgojCiMgJGJhc2VfbGliZGlyX25hdGl2ZQojICAgc2V0IC9tZWRpYS9y
ZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6NTkKIyAgICAgIi9saWIi
CmJhc2VfbGliZGlyX25hdGl2ZT0iL2xpYiIKIwojICRiYXNlX2xpYmRpcl9uYXRpdmVzZGsKIyAg
IHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjcw
CiMgICAgICIvbGliIgpiYXNlX2xpYmRpcl9uYXRpdmVzZGs9Ii9saWIiCiMKIyAkYmFzZV9wcmVm
aXggWzIgb3BlcmF0aW9uc10KIyAgIGV4cG9ydGVkIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5
L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6MTYKIyAgICAgW2V4cG9ydF0gIjEiCiMgICBzZXQgL21l
ZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjoxNgojICAgICAi
IgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiIgpleHBvcnQgYmFzZV9wcmVmaXg9IiIKIwoj
ICRiYXNlX3NiaW5kaXIgWzQgb3BlcmF0aW9uc10KIyAgIGV4cG9ydGVkIC9tZWRpYS9yZWJlY2Nh
cy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6MjIKIyAgICAgW2V4cG9ydF0gIjEi
CiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29u
ZjoyMgojICAgICAiJHtiYXNlX3ByZWZpeH0vc2JpbiIKIyAgIG92ZXJyaWRlW25hdGl2ZV06c2V0
IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6NTEKIyAg
ICAgIi9zYmluIgojICAgb3ZlcnJpZGVbbmF0aXZlc2RrXTpzZXQgL21lZGlhL3JlYmVjY2FzL3lv
Y3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo2NwojICAgICAiL3NiaW4iCiMgcHJlLWV4
cGFuc2lvbiB2YWx1ZToKIyAgICIke2Jhc2VfcHJlZml4fS9zYmluIgpleHBvcnQgYmFzZV9zYmlu
ZGlyPSIvc2JpbiIKIwojICRiYXNlX3NiaW5kaXJfbmF0aXZlCiMgICBzZXQgL21lZGlhL3JlYmVj
Y2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo1MQojICAgICAiL3NiaW4iCmJh
c2Vfc2JpbmRpcl9uYXRpdmU9Ii9zYmluIgojCiMgJGJhc2Vfc2JpbmRpcl9uYXRpdmVzZGsKIyAg
IHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjY3
CiMgICAgICIvc2JpbiIKYmFzZV9zYmluZGlyX25hdGl2ZXNkaz0iL3NiaW4iCiMKIyAkYmFzZWxp
YiBbMiBvcGVyYXRpb25zXQojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEv
Y29uZi9iaXRiYWtlLmNvbmY6MTAKIyAgICAgIiR7QkFTRUxJQn0iCiMgICBzZXQgL21lZGlhL3Jl
YmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjoxMQojICAgICBbdmFyZGVw
dmFsdWVdICIke2Jhc2VsaWJ9IgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiJHtCQVNFTElC
fSIKYmFzZWxpYj0ibGliIgojCiMgJGJpbmRpciBbNiBvcGVyYXRpb25zXQojICAgZXhwb3J0ZWQg
L21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo0MQojICAg
ICBbZXhwb3J0XSAiMSIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2Nv
bmYvYml0YmFrZS5jb25mOjQxCiMgICAgICIke2V4ZWNfcHJlZml4fS9iaW4iCiMgICBvdmVycmlk
ZVtuYXRpdmVdOnNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFr
ZS5jb25mOjU0CiMgICAgICIke3ByZWZpeF9uYXRpdmV9L2JpbiIKIyAgIG92ZXJyaWRlW2Nyb3Nz
XTpzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo2
MQojICAgICAiL2JpbiIKIyAgIG92ZXJyaWRlW2Nyb3Nzc2NyaXB0c106c2V0IC9tZWRpYS9yZWJl
Y2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6NjIKIyAgICAgIiR7YmluZGly
fS9jcm9zc3NjcmlwdHMiCiMgICBvdmVycmlkZVtuYXRpdmVzZGtdOnNldCAvbWVkaWEvcmViZWNj
YXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjY0CiMgICAgICIke3ByZWZpeF9u
YXRpdmVzZGt9L2JpbiIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIiR7ZXhlY19wcmVmaXh9
L2JpbiIKZXhwb3J0IGJpbmRpcj0iL3Vzci9iaW4iCiMKIyAkYmluZGlyX2Nyb3NzCiMgICBzZXQg
L21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo2MQojICAg
ICAiL2JpbiIKYmluZGlyX2Nyb3NzPSIvYmluIgojCiMgJGJpbmRpcl9jcm9zc3NjcmlwdHMKIyAg
IHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjYy
CiMgICAgICIke2JpbmRpcn0vY3Jvc3NzY3JpcHRzIgpiaW5kaXJfY3Jvc3NzY3JpcHRzPSIvdXNy
L2Jpbi9jcm9zc3NjcmlwdHMiCiMKIyAkYmluZGlyX25hdGl2ZQojICAgc2V0IC9tZWRpYS9yZWJl
Y2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6NTQKIyAgICAgIiR7cHJlZml4
X25hdGl2ZX0vYmluIgpiaW5kaXJfbmF0aXZlPSIvdXNyL2JpbiIKIwojICRiaW5kaXJfbmF0aXZl
c2RrCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2Uu
Y29uZjo2NAojICAgICAiJHtwcmVmaXhfbmF0aXZlc2RrfS9iaW4iCmJpbmRpcl9uYXRpdmVzZGs9
Ii91c3IvYmluIgojCiMgJGRhdGFkaXIgWzMgb3BlcmF0aW9uc10KIyAgIGV4cG9ydGVkIC9tZWRp
YS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6MzEKIyAgICAgW2V4
cG9ydF0gIjEiCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2Jp
dGJha2UuY29uZjozMQojICAgICAiJHtwcmVmaXh9L3NoYXJlIgojICAgb3ZlcnJpZGVbbmF0aXZl
XTpzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo2
MAojICAgICAiJHtwcmVmaXhfbmF0aXZlfS9zaGFyZSIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgoj
ICAgIiR7cHJlZml4fS9zaGFyZSIKZXhwb3J0IGRhdGFkaXI9Ii91c3Ivc2hhcmUiCiMKIyAkZGF0
YWRpcl9uYXRpdmUKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYv
Yml0YmFrZS5jb25mOjYwCiMgICAgICIke3ByZWZpeF9uYXRpdmV9L3NoYXJlIgpkYXRhZGlyX25h
dGl2ZT0iL3Vzci9zaGFyZSIKIwojICRkb19ib290aW1nCiMgICBzZXQgL21lZGlhL3JlYmVjY2Fz
L3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjo3CiMgICAgIFtkb2NdICJD
cmVhdGVzIGEgYm9vdGFibGUgbGl2ZSBpbWFnZSIKIwojICRkb19idW5kbGVfaW5pdHJhbWZzCiMg
ICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24u
Y29uZjo5CiMgICAgIFtkb2NdICJDb21iaW5lcyBhbiBpbml0aWFsIHJhbWRpc2sgaW1hZ2UgYW5k
IGtlcm5lbCB0b2dldGhlciB0byBmb3JtIGEgc2luZ2xlIGltYWdlIgojCiMgJGRvX2NvbXBpbGVf
a2VybmVsbW9kdWxlcwojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29u
Zi9kb2N1bWVudGF0aW9uLmNvbmY6MTYKIyAgICAgW2RvY10gIkNvbXBpbGVzIGxvYWRhYmxlIG1v
ZHVsZXMgZm9yIHRoZSBMaW51eCBrZXJuZWwiCiMKIyAkZG9fY29tcGlsZV9wdGVzdF9iYXNlCiMg
ICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24u
Y29uZjoxNwojICAgICBbZG9jXSAiQ29tcGlsZXMgdGhlIHJ1bnRpbWUgdGVzdCBzdWl0ZSBpbmNs
dWRlZCBpbiB0aGUgc29mdHdhcmUgYmVpbmcgYnVpbHQiCiMKIyAkZG9fY29uZmlndXJlX3B0ZXN0
X2Jhc2UKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZG9jdW1l
bnRhdGlvbi5jb25mOjE5CiMgICAgIFtkb2NdICJDb25maWd1cmVzIHRoZSBydW50aW1lIHRlc3Qg
c3VpdGUgaW5jbHVkZWQgaW4gdGhlIHNvZnR3YXJlIGJlaW5nIGJ1aWx0IgojCiMgJGRvX2RlcGxv
eQojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0
aW9uLmNvbmY6MjAKIyAgICAgW2RvY10gIldyaXRlcyBkZXBsb3lhYmxlIG91dHB1dCBmaWxlcyB0
byB0aGUgZGVwbG95IGRpcmVjdG9yeSIKIwojICRkb19kaWZmY29uZmlnCiMgICBzZXQgL21lZGlh
L3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjoyMwojICAg
ICBbZG9jXSAiQ29tcGFyZXMgdGhlIG9sZCBhbmQgbmV3IGNvbmZpZyBmaWxlcyBhZnRlciBydW5u
aW5nIGRvX21lbnVjb25maWcgZm9yIHRoZSBrZXJuZWwiCiMKIyAkZG9faW1hZ2UKIyAgIGFwcGVu
ZCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NsYXNzZXMvbGljZW5zZS5iYmNsYXNz
OjY4NgojICAgICBbcmVjcmRlcHRhc2tdICJkb19wb3B1bGF0ZV9saWMiCiMKIyAkZG9faW1hZ2Vf
d2ljCiMgICBhcHBlbmQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL21hY2hp
bmUvcWVtdXg4Ni5jb25mOjMyCiMgICAgIFtkZXBlbmRzXSAic3lzbGludXg6ZG9fcG9wdWxhdGVf
c3lzcm9vdCBzeXNsaW51eC1uYXRpdmU6ZG9fcG9wdWxhdGVfc3lzcm9vdCBtdG9vbHMtbmF0aXZl
OmRvX3BvcHVsYXRlX3N5c3Jvb3QgZG9zZnN0b29scy1uYXRpdmU6ZG9fcG9wdWxhdGVfc3lzcm9v
dCIKIwojICRkb19pbnN0YWxsX3B0ZXN0X2Jhc2UKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9j
dG8vcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjI3CiMgICAgIFtkb2NdICJDb3Bp
ZXMgdGhlIHJ1bnRpbWUgdGVzdCBzdWl0ZSBmaWxlcyBmcm9tIHRoZSBjb21waWxhdGlvbiBkaXJl
Y3RvcnkgdG8gYSBob2xkaW5nIGFyZWEiCiMKIyAkZG9fa2VybmVsX2NoZWNrb3V0CiMgICBzZXQg
L21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjoy
OAojICAgICBbZG9jXSAiQ2hlY2tzIG91dCBzb3VyY2UvbWV0YSBicmFuY2hlcyBmb3IgYSBsaW51
eC15b2N0byBzdHlsZSBrZXJuZWwiCiMKIyAkZG9fa2VybmVsX2NvbmZpZ2NoZWNrCiMgICBzZXQg
L21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjoy
OQojICAgICBbZG9jXSAiVmFsaWRhdGVzIHRoZSBrZXJuZWwgY29uZmlndXJhdGlvbiBmb3IgYSBs
aW51eC15b2N0byBzdHlsZSBrZXJuZWwiCiMKIyAkZG9fa2VybmVsX2NvbmZpZ21lCiMgICBzZXQg
L21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjoz
MAojICAgICBbZG9jXSAiQXNzZW1ibGVzIHRoZSBrZXJuZWwgY29uZmlndXJhdGlvbiBmb3IgYSBs
aW51eC15b2N0byBzdHlsZSBrZXJuZWwiCiMKIyAkZG9fa2VybmVsX2xpbmtfaW1hZ2VzCiMgICBz
ZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29u
ZjozMQojICAgICBbZG9jXSAiQ3JlYXRlcyBhIHN5bWJvbGljIGxpbmsgaW4gYXJjaC8kYXJjaC9i
b290IGZvciB2bWxpbnV4IGFuZCB2bWxpbnV6IGtlcm5lbCBpbWFnZXMiCiMKIyAkZG9fbWVudWNv
bmZpZwojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVu
dGF0aW9uLmNvbmY6MzMKIyAgICAgW2RvY10gIlJ1bnMgJ21ha2UgbWVudWNvbmZpZycgZm9yIHRo
ZSBrZXJuZWwiCiMKIyAkZG9fcGFja2FnZV9pbmRleAojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95
b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6MzUKIyAgICAgW2RvY10gIkNy
ZWF0ZXMgb3IgdXBkYXRlcyB0aGUgaW5kZXggaW4gdGhlIFBhY2thZ2UgRmVlZCBhcmVhIgojCiMg
JGRvX3BhY2thZ2Vfd3JpdGVfZGViIFsyIG9wZXJhdGlvbnNdCiMgICBzZXQgL21lZGlhL3JlYmVj
Y2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjozNwojICAgICBbZG9j
XSAiQ3JlYXRlcyB0aGUgYWN0dWFsIERFQiBwYWNrYWdlcyBhbmQgcGxhY2VzIHRoZW0gaW4gdGhl
IFBhY2thZ2UgRmVlZCBhcmVhIgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21l
dGEvY2xhc3Nlcy9kZWJpYW4uYmJjbGFzczoxOAojICAgICBbcmRlcHRhc2tdICIke0RFQklBTlJE
RVB9IgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiTm9uZSIKIwojICRkb19wYWNrYWdlX3dy
aXRlX2lwayBbMiBvcGVyYXRpb25zXQojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5
L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6MzgKIyAgICAgW2RvY10gIkNyZWF0ZXMgdGhl
IGFjdHVhbCBJUEsgcGFja2FnZXMgYW5kIHBsYWNlcyB0aGVtIGluIHRoZSBQYWNrYWdlIEZlZWQg
YXJlYSIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NsYXNzZXMvZGVi
aWFuLmJiY2xhc3M6MTcKIyAgICAgW3JkZXB0YXNrXSAiJHtERUJJQU5SREVQfSIKIyBwcmUtZXhw
YW5zaW9uIHZhbHVlOgojICAgIk5vbmUiCiMKIyAkZG9fcGFja2FnZV93cml0ZV90YXIgWzIgb3Bl
cmF0aW9uc10KIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZG9j
dW1lbnRhdGlvbi5jb25mOjQwCiMgICAgIFtkb2NdICJDcmVhdGVzIHRhciBhcmNoaXZlcyBmb3Ig
cGFja2FnZXMgYW5kIHBsYWNlcyB0aGVtIGluIHRoZSBQYWNrYWdlIEZlZWQgYXJlYSIKIyAgIHNl
dCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NsYXNzZXMvZGViaWFuLmJiY2xhc3M6
MTkKIyAgICAgW3JkZXB0YXNrXSAiJHtERUJJQU5SREVQfSIKIyBwcmUtZXhwYW5zaW9uIHZhbHVl
OgojICAgIk5vbmUiCiMKIyAkZG9fcG9wdWxhdGVfc2RrCiMgICBzZXQgL21lZGlhL3JlYmVjY2Fz
L3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjo0NAojICAgICBbZG9jXSAi
Q3JlYXRlcyB0aGUgZmlsZSBhbmQgZGlyZWN0b3J5IHN0cnVjdHVyZSBmb3IgYW4gaW5zdGFsbGFi
bGUgU0RLIgojCiMgJGRvX3JtX3dvcmsKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9r
eS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjQ2CiMgICAgIFtkb2NdICJSZW1vdmVzIHdv
cmsgZmlsZXMgYWZ0ZXIgdGhlIGJ1aWxkIHN5c3RlbSBoYXMgZmluaXNoZWQgd2l0aCB0aGVtIgoj
CiMgJGRvX3JtX3dvcmtfYWxsCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0
YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjo0NwojICAgICBbZG9jXSAiVG9wLWxldmVsIHRhc2sg
Zm9yIHJlbW92aW5nIHdvcmsgZmlsZXMgYWZ0ZXIgdGhlIGJ1aWxkIHN5c3RlbSBoYXMgZmluaXNo
ZWQgd2l0aCB0aGVtIgojCiMgJGRvX3Jvb3RmcyBbNCBvcGVyYXRpb25zXQojICAgc2V0IC9tZWRp
YS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6NDgKIyAg
ICAgW2RvY10gIkNyZWF0ZXMgdGhlIHJvb3QgZmlsZXN5c3RlbSAoZmlsZSBhbmQgZGlyZWN0b3J5
IHN0cnVjdHVyZSkgZm9yIGFuIGltYWdlIgojICAgYXBwZW5kIC9tZWRpYS9yZWJlY2Nhcy95b2N0
by9wb2t5L21ldGEvY2xhc3Nlcy9pbWFnZS1ta2xpYnMuYmJjbGFzczoxCiMgICAgIFtkZXBlbmRz
XSAibWtsaWJzLW5hdGl2ZTpkb19wb3B1bGF0ZV9zeXNyb290IgojICAgYXBwZW5kIC9tZWRpYS9y
ZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY2xhc3Nlcy9pbWFnZS1wcmVsaW5rLmJiY2xhc3M6MQoj
ICAgICBbZGVwZW5kc10gInByZWxpbmstbmF0aXZlOmRvX3BvcHVsYXRlX3N5c3Jvb3QiCiMgICBh
cHBlbmQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jbGFzc2VzL2xpY2Vuc2UuYmJj
bGFzczo2ODMKIyAgICAgW3JlY3JkZXB0YXNrXSAiZG9fcG9wdWxhdGVfbGljIgojIHByZS1leHBh
bnNpb24gdmFsdWU6CiMgICAiTm9uZSIKIwojICRkb19zYXZlZGVmY29uZmlnCiMgICBzZXQgL21l
ZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjo0OQoj
ICAgICBbZG9jXSAiQ3JlYXRlcyBhIG1pbmltYWwgTGludXgga2VybmVsIGNvbmZpZ3VyYXRpb24g
ZmlsZSIKIwojICRkb19zaXplY2hlY2sKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9r
eS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjUwCiMgICAgIFtkb2NdICJDaGVja3MgdGhl
IHNpemUgb2YgdGhlIGtlcm5lbCBpbWFnZSBhZ2FpbnN0IEtFUk5FTF9JTUFHRV9NQVhTSVpFIChp
ZiBzZXQpIgojCiMgJGRvX3NwZHgKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9t
ZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjUxCiMgICAgIFtkb2NdICJBIGJ1aWxkIHN0YWdl
IHRoYXQgdGFrZXMgdGhlIHNvdXJjZSBjb2RlIGFuZCBzY2FucyBpdCBvbiBhIHJlbW90ZSBGT1NT
T0xPR1kgc2VydmVyIGluIG9yZGVyIHRvIHByb2R1Y2UgYW4gU1BEWCBkb2N1bWVudCIKIwojICRk
b19zdHJpcAojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1
bWVudGF0aW9uLmNvbmY6NTIKIyAgICAgW2RvY10gIlN0cmlwcyB1bm5lZWRlZCBzZWN0aW9ucyBv
dXQgb2YgdGhlIExpbnV4IGtlcm5lbCBpbWFnZSIKIwojICRkb190ZXN0aW1hZ2UKIyAgIHNldCAv
bWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjUz
CiMgICAgIFtkb2NdICJCb290cyBhbiBpbWFnZSBhbmQgcGVyZm9ybXMgcnVudGltZSB0ZXN0cyB3
aXRoaW4gdGhlIGltYWdlIgojCiMgJGRvX3Rlc3RpbWFnZV9hdXRvCiMgICBzZXQgL21lZGlhL3Jl
YmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjo1NAojICAgICBb
ZG9jXSAiQm9vdHMgYW4gaW1hZ2UgYW5kIHBlcmZvcm1zIHJ1bnRpbWUgdGVzdHMgd2l0aGluIHRo
ZSBpbWFnZSBpbW1lZGlhdGVseSBhZnRlciBpdCBoYXMgYmVlbiBidWlsdCIKIwojICRkb190ZXN0
c2RrCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50
YXRpb24uY29uZjo1NQojICAgICBbZG9jXSAiSW5zdGFsbHMgYW4gU0RLIGFuZCBwZXJmb3JtcyBy
dW50aW1lIHRlc3RzIG9uIHRoZSB0b29scyBpbnN0YWxsZWQgYnkgaXQiCiMKIyAkZG9fdWJvb3Rf
bWtpbWFnZQojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1
bWVudGF0aW9uLmNvbmY6NTYKIyAgICAgW2RvY10gIkNyZWF0ZXMgYSB1SW1hZ2UgZmlsZSBmcm9t
IHRoZSBrZXJuZWwgZm9yIHRoZSBVLUJvb3QgYm9vdGxvYWRlciIKIwojICRkb192YWxpZGF0ZV9i
cmFuY2hlcwojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9kb2N1
bWVudGF0aW9uLmNvbmY6NTgKIyAgICAgW2RvY10gIkVuc3VyZXMgdGhhdCB0aGUgc291cmNlL21l
dGEgYnJhbmNoZXMgYXJlIG9uIHRoZSBsb2NhdGlvbnMgc3BlY2lmaWVkIGJ5IHRoZWlyIFNSQ1JF
ViB2YWx1ZXMgZm9yIGEgbGludXgteW9jdG8gc3R5bGUga2VybmVsIgojCiMgJGRvX3ZtaW1nCiMg
ICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24u
Y29uZjo1OQojICAgICBbZG9jXSAiQ3JlYXRlcyBhbiBpbWFnZSBmb3IgdXNlIHdpdGggVk13YXJl
IG9yIFZpcnR1YWxCb3ggY29tcGF0aWJsZSB2aXJ0dWFsIG1hY2hpbmUgaG9zdHMgKGJhc2VkIG9u
IElNQUdFX0ZTVFlQRVMgZWl0aGVyIC52bWRrIG9yIC52ZGkpIgojCiMgJGRvY2RpciBbMiBvcGVy
YXRpb25zXQojICAgZXhwb3J0ZWQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25m
L2JpdGJha2UuY29uZjozNAojICAgICBbZXhwb3J0XSAiMSIKIyAgIHNldCAvbWVkaWEvcmViZWNj
YXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjM0CiMgICAgICIke2RhdGFkaXJ9
L2RvYyIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIiR7ZGF0YWRpcn0vZG9jIgpleHBvcnQg
ZG9jZGlyPSIvdXNyL3NoYXJlL2RvYyIKIwojICRleGVjX3ByZWZpeCBbMiBvcGVyYXRpb25zXQoj
ICAgZXhwb3J0ZWQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2Uu
Y29uZjoxOAojICAgICBbZXhwb3J0XSAiMSIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8v
cG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjE4CiMgICAgICIke3ByZWZpeH0iCiMgcHJlLWV4
cGFuc2lvbiB2YWx1ZToKIyAgICIke3ByZWZpeH0iCmV4cG9ydCBleGVjX3ByZWZpeD0iL3VzciIK
IwojICRmdHBfcHJveHkKIyAgIGZyb20gZW52IGRhdGEucHk6MTI0IFtpbmhlcml0RnJvbU9TXQoj
ICAgICAiaHR0cDovL3Byb3h5LXBuZy5pbnRlbC5jb206OTExIgpmdHBfcHJveHk9Imh0dHA6Ly9w
cm94eS1wbmcuaW50ZWwuY29tOjkxMSIKIwojICRodHRwX3Byb3h5CiMgICBmcm9tIGVudiBkYXRh
LnB5OjEyNCBbaW5oZXJpdEZyb21PU10KIyAgICAgImh0dHA6Ly9wcm94eS1wbmcuaW50ZWwuY29t
OjkxMSIKaHR0cF9wcm94eT0iaHR0cDovL3Byb3h5LXBuZy5pbnRlbC5jb206OTExIgojCiMgJGh0
dHBzX3Byb3h5CiMgICBmcm9tIGVudiBkYXRhLnB5OjEyNCBbaW5oZXJpdEZyb21PU10KIyAgICAg
Imh0dHA6Ly9wcm94eS1wbmcuaW50ZWwuY29tOjkxMSIKaHR0cHNfcHJveHk9Imh0dHA6Ly9wcm94
eS1wbmcuaW50ZWwuY29tOjkxMSIKIwojICRpbmNsdWRlZGlyIFs0IG9wZXJhdGlvbnNdCiMgICBl
eHBvcnRlZCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25m
OjQ1CiMgICAgIFtleHBvcnRdICIxIgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5
L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6NDUKIyAgICAgIiR7ZXhlY19wcmVmaXh9L2luY2x1ZGUi
CiMgICBvdmVycmlkZVtuYXRpdmVdOnNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRh
L2NvbmYvYml0YmFrZS5jb25mOjU2CiMgICAgICIke3ByZWZpeF9uYXRpdmV9L2luY2x1ZGUiCiMg
ICBvdmVycmlkZVtuYXRpdmVzZGtdOnNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRh
L2NvbmYvYml0YmFrZS5jb25mOjY4CiMgICAgICIke3ByZWZpeF9uYXRpdmVzZGt9L2luY2x1ZGUi
CiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICIke2V4ZWNfcHJlZml4fS9pbmNsdWRlIgpleHBv
cnQgaW5jbHVkZWRpcj0iL3Vzci9pbmNsdWRlIgojCiMgJGluY2x1ZGVkaXJfbmF0aXZlCiMgICBz
ZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo1Ngoj
ICAgICAiJHtwcmVmaXhfbmF0aXZlfS9pbmNsdWRlIgppbmNsdWRlZGlyX25hdGl2ZT0iL3Vzci9p
bmNsdWRlIgojCiMgJGluY2x1ZGVkaXJfbmF0aXZlc2RrCiMgICBzZXQgL21lZGlhL3JlYmVjY2Fz
L3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo2OAojICAgICAiJHtwcmVmaXhfbmF0
aXZlc2RrfS9pbmNsdWRlIgppbmNsdWRlZGlyX25hdGl2ZXNkaz0iL3Vzci9pbmNsdWRlIgojCiMg
JGluZm9kaXIgWzIgb3BlcmF0aW9uc10KIyAgIGV4cG9ydGVkIC9tZWRpYS9yZWJlY2Nhcy95b2N0
by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6MzIKIyAgICAgW2V4cG9ydF0gIjEiCiMgICBz
ZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjozMgoj
ICAgICAiJHtkYXRhZGlyfS9pbmZvIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiJHtkYXRh
ZGlyfS9pbmZvIgpleHBvcnQgaW5mb2Rpcj0iL3Vzci9zaGFyZS9pbmZvIgojCiMgJGxpYmRpciBb
NCBvcGVyYXRpb25zXQojICAgZXhwb3J0ZWQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0
YS9jb25mL2JpdGJha2UuY29uZjo0MwojICAgICBbZXhwb3J0XSAiMSIKIyAgIHNldCAvbWVkaWEv
cmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjQzCiMgICAgICIke2V4
ZWNfcHJlZml4fS8ke2Jhc2VsaWJ9IgojICAgb3ZlcnJpZGVbbmF0aXZlXTpzZXQgL21lZGlhL3Jl
YmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo1NwojICAgICAiJHtwcmVm
aXhfbmF0aXZlfS9saWIiCiMgICBvdmVycmlkZVtuYXRpdmVzZGtdOnNldCAvbWVkaWEvcmViZWNj
YXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjY5CiMgICAgICIke3ByZWZpeF9u
YXRpdmVzZGt9L2xpYiIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIiR7ZXhlY19wcmVmaXh9
LyR7YmFzZWxpYn0iCmV4cG9ydCBsaWJkaXI9Ii91c3IvbGliIgojCiMgJGxpYmRpcl9uYXRpdmUK
IyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25m
OjU3CiMgICAgICIke3ByZWZpeF9uYXRpdmV9L2xpYiIKbGliZGlyX25hdGl2ZT0iL3Vzci9saWIi
CiMKIyAkbGliZGlyX25hdGl2ZXNkawojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5
L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6NjkKIyAgICAgIiR7cHJlZml4X25hdGl2ZXNka30vbGli
IgpsaWJkaXJfbmF0aXZlc2RrPSIvdXNyL2xpYiIKIwojICRsaWJleGVjZGlyIFszIG9wZXJhdGlv
bnNdCiMgICBleHBvcnRlZCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0
YmFrZS5jb25mOjQ0CiMgICAgIFtleHBvcnRdICIxIgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95
b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6NDQKIyAgICAgIiR7ZXhlY19wcmVmaXh9
L2xpYmV4ZWMiCiMgICBvdmVycmlkZVtuYXRpdmVdOnNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8v
cG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjU4CiMgICAgICIke3ByZWZpeF9uYXRpdmV9L2xp
YmV4ZWMiCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICIke2V4ZWNfcHJlZml4fS9saWJleGVj
IgpleHBvcnQgbGliZXhlY2Rpcj0iL3Vzci9saWJleGVjIgojCiMgJGxpYmV4ZWNkaXJfbmF0aXZl
CiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29u
Zjo1OAojICAgICAiJHtwcmVmaXhfbmF0aXZlfS9saWJleGVjIgpsaWJleGVjZGlyX25hdGl2ZT0i
L3Vzci9saWJleGVjIgojCiMgJGxvY2FsZWRpcgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0
by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6NDcKIyAgICAgIiR7bGliZGlyfS9sb2NhbGUi
CmxvY2FsZWRpcj0iL3Vzci9saWIvbG9jYWxlIgojCiMgJGxvY2Fsc3RhdGVkaXIgWzMgb3BlcmF0
aW9uc10KIyAgIGV4cG9ydGVkIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9i
aXRiYWtlLmNvbmY6MzAKIyAgICAgW2V4cG9ydF0gIjEiCiMgICBzZXQgL21lZGlhL3JlYmVjY2Fz
L3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjozMAojICAgICAiJHtiYXNlX3ByZWZp
eH0vdmFyIgojICAgb3ZlcnJpZGVbbmF0aXZlc2RrXTpzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3Rv
L3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo3MQojICAgICAiL3ZhciIKIyBwcmUtZXhwYW5z
aW9uIHZhbHVlOgojICAgIiR7YmFzZV9wcmVmaXh9L3ZhciIKZXhwb3J0IGxvY2Fsc3RhdGVkaXI9
Ii92YXIiCiMKIyAkbG9jYWxzdGF0ZWRpcl9uYXRpdmVzZGsKIyAgIHNldCAvbWVkaWEvcmViZWNj
YXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjcxCiMgICAgICIvdmFyIgpsb2Nh
bHN0YXRlZGlyX25hdGl2ZXNkaz0iL3ZhciIKIwojICRtYW5kaXIgWzIgb3BlcmF0aW9uc10KIyAg
IGV4cG9ydGVkIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNv
bmY6MzMKIyAgICAgW2V4cG9ydF0gIjEiCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bv
a3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjozMwojICAgICAiJHtkYXRhZGlyfS9tYW4iCiMgcHJl
LWV4cGFuc2lvbiB2YWx1ZToKIyAgICIke2RhdGFkaXJ9L21hbiIKZXhwb3J0IG1hbmRpcj0iL3Vz
ci9zaGFyZS9tYW4iCiMKIyAkbW9kdWxlX2NvbmZfdXZlc2FmYgojICAgc2V0IC9tZWRpYS9yZWJl
Y2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvcWVtdWJvb3QteDg2Lmlu
YzoyMAojICAgICAib3B0aW9ucyB1dmVzYWZiIG1vZGVfb3B0aW9uPSR7VVZFU0FfTU9ERX0iCm1v
ZHVsZV9jb25mX3V2ZXNhZmI9Im9wdGlvbnMgdXZlc2FmYiBtb2RlX29wdGlvbj02NDB4NDgwLTMy
IgojCiMgJG5vX3Byb3h5CiMgICBmcm9tIGVudiBkYXRhLnB5OjEyNCBbaW5oZXJpdEZyb21PU10K
IyAgICAgImxvY2FsaG9zdCwxMjcuMC4wLjAvMSxpbnRlbC5jb20sMTcyLjAuMC4wLzEsMTAuMC4w
LjAvMSxnaXQtZ2FyLTEuZGV2dG9vbHMuaW50ZWwuY29tLGdpdC1nZXItNi5kZXZ0b29scy5pbnRl
bC5jb20sZ2l0LWFtci0yLmRldnRvb2xzLmludGVsLmNvbSxnaXQtYW1yLTMuZGV2dG9vbHMuaW50
ZWwuY29tIgpub19wcm94eT0ibG9jYWxob3N0LDEyNy4wLjAuMC8xLGludGVsLmNvbSwxNzIuMC4w
LjAvMSwxMC4wLjAuMC8xLGdpdC1nYXItMS5kZXZ0b29scy5pbnRlbC5jb20sZ2l0LWdlci02LmRl
dnRvb2xzLmludGVsLmNvbSxnaXQtYW1yLTIuZGV2dG9vbHMuaW50ZWwuY29tLGdpdC1hbXItMy5k
ZXZ0b29scy5pbnRlbC5jb20iCiMKIyAkbm9uYXJjaF9iYXNlX2xpYmRpciBbMiBvcGVyYXRpb25z
XQojICAgZXhwb3J0ZWQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJh
a2UuY29uZjoyNAojICAgICBbZXhwb3J0XSAiMSIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9j
dG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjI0CiMgICAgICIke2Jhc2VfcHJlZml4fS9s
aWIiCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICIke2Jhc2VfcHJlZml4fS9saWIiCmV4cG9y
dCBub25hcmNoX2Jhc2VfbGliZGlyPSIvbGliIgojCiMgJG5vbmFyY2hfbGliZGlyIFsyIG9wZXJh
dGlvbnNdCiMgICBleHBvcnRlZCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYv
Yml0YmFrZS5jb25mOjM3CiMgICAgIFtleHBvcnRdICIxIgojICAgc2V0IC9tZWRpYS9yZWJlY2Nh
cy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6MzcKIyAgICAgIiR7ZXhlY19wcmVm
aXh9L2xpYiIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIiR7ZXhlY19wcmVmaXh9L2xpYiIK
ZXhwb3J0IG5vbmFyY2hfbGliZGlyPSIvdXNyL2xpYiIKIwojICRvbGRpbmNsdWRlZGlyIFsyIG9w
ZXJhdGlvbnNdCiMgICBleHBvcnRlZCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2Nv
bmYvYml0YmFrZS5jb25mOjQ2CiMgICAgIFtleHBvcnRdICIxIgojICAgc2V0IC9tZWRpYS9yZWJl
Y2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6NDYKIyAgICAgIiR7ZXhlY19w
cmVmaXh9L2luY2x1ZGUiCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICIke2V4ZWNfcHJlZml4
fS9pbmNsdWRlIgpleHBvcnQgb2xkaW5jbHVkZWRpcj0iL3Vzci9pbmNsdWRlIgojCiMgJHByZWZp
eCBbNCBvcGVyYXRpb25zXQojICAgZXhwb3J0ZWQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kv
bWV0YS9jb25mL2JpdGJha2UuY29uZjoxNwojICAgICBbZXhwb3J0XSAiMSIKIyAgIHNldCAvbWVk
aWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjE3CiMgICAgICIv
dXNyIgojICAgb3ZlcnJpZGVbbmF0aXZlXTpzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kv
bWV0YS9jb25mL2JpdGJha2UuY29uZjo1MwojICAgICAiL3VzciIKIyAgIG92ZXJyaWRlW25hdGl2
ZXNka106c2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNv
bmY6NjMKIyAgICAgIi91c3IiCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICIvdXNyIgpleHBv
cnQgcHJlZml4PSIvdXNyIgojCiMgJHByZWZpeF9uYXRpdmUKIyAgIHNldCAvbWVkaWEvcmViZWNj
YXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjUzCiMgICAgICIvdXNyIgpwcmVm
aXhfbmF0aXZlPSIvdXNyIgojCiMgJHByZWZpeF9uYXRpdmVzZGsKIyAgIHNldCAvbWVkaWEvcmVi
ZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjYzCiMgICAgICIvdXNyIgpw
cmVmaXhfbmF0aXZlc2RrPSIvdXNyIgojCiMgJHByb2Nlc3NfZmlsZSBbMiBvcGVyYXRpb25zXQoj
ICAgb3ZlcnJpZGVbbGludXhdOnNldCBhc3QucHk6MjE0IFtldmFsXQojICAgICAiZGVmIHByb2Nl
c3NfZmlsZV9saW51eChjbWQsIGZwYXRoLCByb290ZGlyLCBiYXNlcHJlZml4LCB0bXBkaXIsIGQp
OgojICAgICAgICAgaW1wb3J0IHN1YnByb2Nlc3MgYXMgc3ViCiMgICAgIAojICAgICAgICAgcCA9
IHN1Yi5Qb3BlbihbY21kLCAnLWwnLCBmcGF0aF0sc3Rkb3V0PXN1Yi5QSVBFLHN0ZGVycj1zdWIu
UElQRSkKIyAgICAgICAgIG91dCwgZXJyID0gcC5jb21tdW5pY2F0ZSgpCiMgICAgICAgICAjIElm
IHJldHVybmVkIHN1Y2Nlc3NmdWxseSwgcHJvY2VzcyBzdGRvdXQgZm9yIHJlc3VsdHMKIyAgICAg
ICAgIGlmIHAucmV0dXJuY29kZSAhPSAwOgojICAgICAgICAgICAgIHJldHVybgojICAgICAKIyAg
ICAgICAgIG91dCA9IG91dC5kZWNvZGUoJ3V0Zi04JykKIyAgICAgCiMgICAgICAgICAjIEhhbmRs
ZSBSVU5QQVRIIGFzIHdlbGwgYXMgUlBBVEgKIyAgICAgICAgIG91dCA9IG91dC5yZXBsYWNlKCJS
VU5QQVRIPSIsIlJQQVRIPSIpCiMgICAgICAgICAjIFRocm93IGF3YXkgZXZlcnl0aGluZyBvdGhl
ciB0aGFuIHRoZSBycGF0aCBsaXN0CiMgICAgICAgICBjdXJyX3JwYXRoID0gb3V0LnBhcnRpdGlv
bigiUlBBVEg9IilbMl0KIyAgICAgICAgICNiYi5ub3RlKCJDdXJyZW50IHJwYXRoIGZvciAlcyBp
cyAlcyIgJSAoZnBhdGgsIGN1cnJfcnBhdGguc3RyaXAoKSkpCiMgICAgICAgICBycGF0aHMgPSBj
dXJyX3JwYXRoLnN0cmlwKCkuc3BsaXQoIjoiKQojICAgICAgICAgbmV3X3JwYXRocyA9IFtdCiMg
ICAgICAgICBtb2RpZmllZCA9IEZhbHNlCiMgICAgICAgICBmb3IgcnBhdGggaW4gcnBhdGhzOgoj
ICAgICAgICAgICAgICMgSWYgcnBhdGggaXMgYWxyZWFkeSBkeW5hbWljIGNvcHkgaXQgdG8gbmV3
X3JwYXRoIGFuZCBjb250aW51ZQojICAgICAgICAgICAgIGlmIHJwYXRoLmZpbmQoIiRPUklHSU4i
KSAhPSAtMToKIyAgICAgICAgICAgICAgICAgbmV3X3JwYXRocy5hcHBlbmQocnBhdGgpCiMgICAg
ICAgICAgICAgICAgIGNvbnRpbnVlCiMgICAgICAgICAgICAgcnBhdGggPSAgb3MucGF0aC5ub3Jt
cGF0aChycGF0aCkKIyAgICAgICAgICAgICBpZiBiYXNlcHJlZml4IG5vdCBpbiBycGF0aCBhbmQg
dG1wZGlyIG5vdCBpbiBycGF0aDoKIyAgICAgICAgICAgICAgICAgIyBTa2lwIHN0YW5kYXJkIHNl
YXJjaCBwYXRocwojICAgICAgICAgICAgICAgICBpZiBycGF0aCBpbiBbJy9saWInLCAnL3Vzci9s
aWInLCAnL2xpYjY0LycsICcvdXNyL2xpYjY0J106CiMgICAgICAgICAgICAgICAgICAgICBiYi53
YXJuKCJTa2lwcGluZyBSUEFUSCAlcyBhcyBpcyBhIHN0YW5kYXJkIHNlYXJjaCBwYXRoIGZvciAl
cyIgJSAocnBhdGgsIGZwYXRoKSkKIyAgICAgICAgICAgICAgICAgICAgIG1vZGlmaWVkID0gVHJ1
ZQojICAgICAgICAgICAgICAgICAgICAgY29udGludWUKIyAgICAgICAgICAgICAgICAgbmV3X3Jw
YXRocy5hcHBlbmQocnBhdGgpCiMgICAgICAgICAgICAgICAgIGNvbnRpbnVlCiMgICAgICAgICAg
ICAgbmV3X3JwYXRocy5hcHBlbmQoIiRPUklHSU4vIiArIG9zLnBhdGgucmVscGF0aChycGF0aCwg
b3MucGF0aC5kaXJuYW1lKGZwYXRoLnJlcGxhY2Uocm9vdGRpciwgIi8iKSkpKQojICAgICAgICAg
ICAgIG1vZGlmaWVkID0gVHJ1ZQojICAgICAKIyAgICAgICAgICMgaWYgd2UgaGF2ZSBtb2RpZmll
ZCBzb21lIHJwYXRocyBjYWxsIGNocnBhdGggdG8gdXBkYXRlIHRoZSBiaW5hcnkKIyAgICAgICAg
IGlmIG1vZGlmaWVkOgojICAgICAgICAgICAgIGFyZ3MgPSAiOiIuam9pbihuZXdfcnBhdGhzKQoj
ICAgICAgICAgICAgICNiYi5ub3RlKCJTZXR0aW5nIHJwYXRoIGZvciAlcyB0byAlcyIgJShmcGF0
aCwgYXJncykpCiMgICAgICAgICAgICAgcCA9IHN1Yi5Qb3BlbihbY21kLCAnLXInLCBhcmdzLCBm
cGF0aF0sc3Rkb3V0PXN1Yi5QSVBFLHN0ZGVycj1zdWIuUElQRSkKIyAgICAgICAgICAgICBvdXQs
IGVyciA9IHAuY29tbXVuaWNhdGUoKQojICAgICAgICAgICAgIGlmIHAucmV0dXJuY29kZSAhPSAw
OgojICAgICAgICAgICAgICAgICBiYi5mYXRhbCgiJXM6IGNocnBhdGggY29tbWFuZCBmYWlsZWQg
d2l0aCBleGl0IGNvZGUgJWQ6XG4lcyVzIiAlIChkLmdldFZhcignUE4nKSwgcC5yZXR1cm5jb2Rl
LCBvdXQsIGVycikpCiMgICAgICIKIyAgIG92ZXJyaWRlW2Rhcndpbl06c2V0IGFzdC5weToyMTQg
W2V2YWxdCiMgICAgICJkZWYgcHJvY2Vzc19maWxlX2RhcndpbihjbWQsIGZwYXRoLCByb290ZGly
LCBiYXNlcHJlZml4LCB0bXBkaXIsIGQpOgojICAgICAgICAgaW1wb3J0IHN1YnByb2Nlc3MgYXMg
c3ViCiMgICAgIAojICAgICAgICAgcCA9IHN1Yi5Qb3BlbihbZC5leHBhbmQoIiR7SE9TVF9QUkVG
SVh9b3Rvb2wiKSwgJy1MJywgZnBhdGhdLHN0ZG91dD1zdWIuUElQRSxzdGRlcnI9c3ViLlBJUEUp
CiMgICAgICAgICBvdXQsIGVyciA9IHAuY29tbXVuaWNhdGUoKQojICAgICAgICAgIyBJZiByZXR1
cm5lZCBzdWNjZXNzZnVsbHksIHByb2Nlc3Mgc3Rkb3V0IGZvciByZXN1bHRzCiMgICAgICAgICBp
ZiBwLnJldHVybmNvZGUgIT0gMDoKIyAgICAgICAgICAgICByZXR1cm4KIyAgICAgICAgIGZvciBs
IGluIG91dC5zcGxpdCgiXG4iKToKIyAgICAgICAgICAgICBpZiAiKGNvbXBhdGliaWxpdHkiIG5v
dCBpbiBsOgojICAgICAgICAgICAgICAgICBjb250aW51ZQojICAgICAgICAgICAgIHJwYXRoID0g
bC5wYXJ0aXRpb24oIihjb21wYXRpYmlsaXR5IilbMF0uc3RyaXAoKQojICAgICAgICAgICAgIGlm
IGJhc2VwcmVmaXggbm90IGluIHJwYXRoOgojICAgICAgICAgICAgICAgICBjb250aW51ZQojICAg
ICAKIyAgICAgICAgICAgICBuZXdwYXRoID0gIkBsb2FkZXJfcGF0aC8iICsgb3MucGF0aC5yZWxw
YXRoKHJwYXRoLCBvcy5wYXRoLmRpcm5hbWUoZnBhdGgucmVwbGFjZShyb290ZGlyLCAiLyIpKSkK
IyAgICAgICAgICAgICBwID0gc3ViLlBvcGVuKFtkLmV4cGFuZCgiJHtIT1NUX1BSRUZJWH1pbnN0
YWxsX25hbWVfdG9vbCIpLCAnLWNoYW5nZScsIHJwYXRoLCBuZXdwYXRoLCBmcGF0aF0sc3Rkb3V0
PXN1Yi5QSVBFLHN0ZGVycj1zdWIuUElQRSkKIyAgICAgICAgICAgICBvdXQsIGVyciA9IHAuY29t
bXVuaWNhdGUoKQojICAgICAiCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICJkZWYgcHJvY2Vz
c19maWxlX2xpbnV4KGNtZCwgZnBhdGgsIHJvb3RkaXIsIGJhc2VwcmVmaXgsIHRtcGRpciwgZCk6
CiMgICAgaW1wb3J0IHN1YnByb2Nlc3MgYXMgc3ViCiMKIyAgICBwID0gc3ViLlBvcGVuKFtjbWQs
ICctbCcsIGZwYXRoXSxzdGRvdXQ9c3ViLlBJUEUsc3RkZXJyPXN1Yi5QSVBFKQojICAgIG91dCwg
ZXJyID0gcC5jb21tdW5pY2F0ZSgpCiMgICAgIyBJZiByZXR1cm5lZCBzdWNjZXNzZnVsbHksIHBy
b2Nlc3Mgc3Rkb3V0IGZvciByZXN1bHRzCiMgICAgaWYgcC5yZXR1cm5jb2RlICE9IDA6CiMgICAg
ICAgIHJldHVybgojCiMgICAgb3V0ID0gb3V0LmRlY29kZSgndXRmLTgnKQojCiMgICAgIyBIYW5k
bGUgUlVOUEFUSCBhcyB3ZWxsIGFzIFJQQVRICiMgICAgb3V0ID0gb3V0LnJlcGxhY2UoIlJVTlBB
VEg9IiwiUlBBVEg9IikKIyAgICAjIFRocm93IGF3YXkgZXZlcnl0aGluZyBvdGhlciB0aGFuIHRo
ZSBycGF0aCBsaXN0CiMgICAgY3Vycl9ycGF0aCA9IG91dC5wYXJ0aXRpb24oIlJQQVRIPSIpWzJd
CiMgICAgI2JiLm5vdGUoIkN1cnJlbnQgcnBhdGggZm9yICVzIGlzICVzIiAlIChmcGF0aCwgY3Vy
cl9ycGF0aC5zdHJpcCgpKSkKIyAgICBycGF0aHMgPSBjdXJyX3JwYXRoLnN0cmlwKCkuc3BsaXQo
IjoiKQojICAgIG5ld19ycGF0aHMgPSBbXQojICAgIG1vZGlmaWVkID0gRmFsc2UKIyAgICBmb3Ig
cnBhdGggaW4gcnBhdGhzOgojICAgICAgICAjIElmIHJwYXRoIGlzIGFscmVhZHkgZHluYW1pYyBj
b3B5IGl0IHRvIG5ld19ycGF0aCBhbmQgY29udGludWUKIyAgICAgICAgaWYgcnBhdGguZmluZCgi
JE9SSUdJTiIpICE9IC0xOgojICAgICAgICAgICAgbmV3X3JwYXRocy5hcHBlbmQocnBhdGgpCiMg
ICAgICAgICAgICBjb250aW51ZQojICAgICAgICBycGF0aCA9ICBvcy5wYXRoLm5vcm1wYXRoKHJw
YXRoKQojICAgICAgICBpZiBiYXNlcHJlZml4IG5vdCBpbiBycGF0aCBhbmQgdG1wZGlyIG5vdCBp
biBycGF0aDoKIyAgICAgICAgICAgICMgU2tpcCBzdGFuZGFyZCBzZWFyY2ggcGF0aHMKIyAgICAg
ICAgICAgIGlmIHJwYXRoIGluIFsnL2xpYicsICcvdXNyL2xpYicsICcvbGliNjQvJywgJy91c3Iv
bGliNjQnXToKIyAgICAgICAgICAgICAgICBiYi53YXJuKCJTa2lwcGluZyBSUEFUSCAlcyBhcyBp
cyBhIHN0YW5kYXJkIHNlYXJjaCBwYXRoIGZvciAlcyIgJSAocnBhdGgsIGZwYXRoKSkKIyAgICAg
ICAgICAgICAgICBtb2RpZmllZCA9IFRydWUKIyAgICAgICAgICAgICAgICBjb250aW51ZQojICAg
ICAgICAgICAgbmV3X3JwYXRocy5hcHBlbmQocnBhdGgpCiMgICAgICAgICAgICBjb250aW51ZQoj
ICAgICAgICBuZXdfcnBhdGhzLmFwcGVuZCgiJE9SSUdJTi8iICsgb3MucGF0aC5yZWxwYXRoKHJw
YXRoLCBvcy5wYXRoLmRpcm5hbWUoZnBhdGgucmVwbGFjZShyb290ZGlyLCAiLyIpKSkpCiMgICAg
ICAgIG1vZGlmaWVkID0gVHJ1ZQojCiMgICAgIyBpZiB3ZSBoYXZlIG1vZGlmaWVkIHNvbWUgcnBh
dGhzIGNhbGwgY2hycGF0aCB0byB1cGRhdGUgdGhlIGJpbmFyeQojICAgIGlmIG1vZGlmaWVkOgoj
ICAgICAgICBhcmdzID0gIjoiLmpvaW4obmV3X3JwYXRocykKIyAgICAgICAgI2JiLm5vdGUoIlNl
dHRpbmcgcnBhdGggZm9yICVzIHRvICVzIiAlKGZwYXRoLCBhcmdzKSkKIyAgICAgICAgcCA9IHN1
Yi5Qb3BlbihbY21kLCAnLXInLCBhcmdzLCBmcGF0aF0sc3Rkb3V0PXN1Yi5QSVBFLHN0ZGVycj1z
dWIuUElQRSkKIyAgICAgICAgb3V0LCBlcnIgPSBwLmNvbW11bmljYXRlKCkKIyAgICAgICAgaWYg
cC5yZXR1cm5jb2RlICE9IDA6CiMgICAgICAgICAgICBiYi5mYXRhbCgiJXM6IGNocnBhdGggY29t
bWFuZCBmYWlsZWQgd2l0aCBleGl0IGNvZGUgJWQ6XG4lcyVzIiAlIChkLmdldFZhcignUE4nKSwg
cC5yZXR1cm5jb2RlLCBvdXQsIGVycikpCiMiCnByb2Nlc3NfZmlsZT0iZGVmIHByb2Nlc3NfZmls
ZV9saW51eChjbWQsIGZwYXRoLCByb290ZGlyLCBiYXNlcHJlZml4LCB0bXBkaXIsIGQpOiBcCiAg
ICBpbXBvcnQgc3VicHJvY2VzcyBhcyBzdWIgXAogXAogICAgcCA9IHN1Yi5Qb3BlbihbY21kLCAn
LWwnLCBmcGF0aF0sc3Rkb3V0PXN1Yi5QSVBFLHN0ZGVycj1zdWIuUElQRSkgXAogICAgb3V0LCBl
cnIgPSBwLmNvbW11bmljYXRlKCkgXAogICAgIyBJZiByZXR1cm5lZCBzdWNjZXNzZnVsbHksIHBy
b2Nlc3Mgc3Rkb3V0IGZvciByZXN1bHRzIFwKICAgIGlmIHAucmV0dXJuY29kZSAhPSAwOiBcCiAg
ICAgICAgcmV0dXJuIFwKIFwKICAgIG91dCA9IG91dC5kZWNvZGUoJ3V0Zi04JykgXAogXAogICAg
IyBIYW5kbGUgUlVOUEFUSCBhcyB3ZWxsIGFzIFJQQVRIIFwKICAgIG91dCA9IG91dC5yZXBsYWNl
KFwiUlVOUEFUSD1cIixcIlJQQVRIPVwiKSBcCiAgICAjIFRocm93IGF3YXkgZXZlcnl0aGluZyBv
dGhlciB0aGFuIHRoZSBycGF0aCBsaXN0IFwKICAgIGN1cnJfcnBhdGggPSBvdXQucGFydGl0aW9u
KFwiUlBBVEg9XCIpWzJdIFwKICAgICNiYi5ub3RlKFwiQ3VycmVudCBycGF0aCBmb3IgJXMgaXMg
JXNcIiAlIChmcGF0aCwgY3Vycl9ycGF0aC5zdHJpcCgpKSkgXAogICAgcnBhdGhzID0gY3Vycl9y
cGF0aC5zdHJpcCgpLnNwbGl0KFwiOlwiKSBcCiAgICBuZXdfcnBhdGhzID0gW10gXAogICAgbW9k
aWZpZWQgPSBGYWxzZSBcCiAgICBmb3IgcnBhdGggaW4gcnBhdGhzOiBcCiAgICAgICAgIyBJZiBy
cGF0aCBpcyBhbHJlYWR5IGR5bmFtaWMgY29weSBpdCB0byBuZXdfcnBhdGggYW5kIGNvbnRpbnVl
IFwKICAgICAgICBpZiBycGF0aC5maW5kKFwiXCRPUklHSU5cIikgIT0gLTE6IFwKICAgICAgICAg
ICAgbmV3X3JwYXRocy5hcHBlbmQocnBhdGgpIFwKICAgICAgICAgICAgY29udGludWUgXAogICAg
ICAgIHJwYXRoID0gIG9zLnBhdGgubm9ybXBhdGgocnBhdGgpIFwKICAgICAgICBpZiBiYXNlcHJl
Zml4IG5vdCBpbiBycGF0aCBhbmQgdG1wZGlyIG5vdCBpbiBycGF0aDogXAogICAgICAgICAgICAj
IFNraXAgc3RhbmRhcmQgc2VhcmNoIHBhdGhzIFwKICAgICAgICAgICAgaWYgcnBhdGggaW4gWycv
bGliJywgJy91c3IvbGliJywgJy9saWI2NC8nLCAnL3Vzci9saWI2NCddOiBcCiAgICAgICAgICAg
ICAgICBiYi53YXJuKFwiU2tpcHBpbmcgUlBBVEggJXMgYXMgaXMgYSBzdGFuZGFyZCBzZWFyY2gg
cGF0aCBmb3IgJXNcIiAlIChycGF0aCwgZnBhdGgpKSBcCiAgICAgICAgICAgICAgICBtb2RpZmll
ZCA9IFRydWUgXAogICAgICAgICAgICAgICAgY29udGludWUgXAogICAgICAgICAgICBuZXdfcnBh
dGhzLmFwcGVuZChycGF0aCkgXAogICAgICAgICAgICBjb250aW51ZSBcCiAgICAgICAgbmV3X3Jw
YXRocy5hcHBlbmQoXCJcJE9SSUdJTi9cIiArIG9zLnBhdGgucmVscGF0aChycGF0aCwgb3MucGF0
aC5kaXJuYW1lKGZwYXRoLnJlcGxhY2Uocm9vdGRpciwgXCIvXCIpKSkpIFwKICAgICAgICBtb2Rp
ZmllZCA9IFRydWUgXAogXAogICAgIyBpZiB3ZSBoYXZlIG1vZGlmaWVkIHNvbWUgcnBhdGhzIGNh
bGwgY2hycGF0aCB0byB1cGRhdGUgdGhlIGJpbmFyeSBcCiAgICBpZiBtb2RpZmllZDogXAogICAg
ICAgIGFyZ3MgPSBcIjpcIi5qb2luKG5ld19ycGF0aHMpIFwKICAgICAgICAjYmIubm90ZShcIlNl
dHRpbmcgcnBhdGggZm9yICVzIHRvICVzXCIgJShmcGF0aCwgYXJncykpIFwKICAgICAgICBwID0g
c3ViLlBvcGVuKFtjbWQsICctcicsIGFyZ3MsIGZwYXRoXSxzdGRvdXQ9c3ViLlBJUEUsc3RkZXJy
PXN1Yi5QSVBFKSBcCiAgICAgICAgb3V0LCBlcnIgPSBwLmNvbW11bmljYXRlKCkgXAogICAgICAg
IGlmIHAucmV0dXJuY29kZSAhPSAwOiBcCiAgICAgICAgICAgIGJiLmZhdGFsKFwiJXM6IGNocnBh
dGggY29tbWFuZCBmYWlsZWQgd2l0aCBleGl0IGNvZGUgJWQ6XG4lcyVzXCIgJSAoZC5nZXRWYXIo
J1BOJyksIHAucmV0dXJuY29kZSwgb3V0LCBlcnIpKSBcCiIKIwojICRzYmluZGlyIFs0IG9wZXJh
dGlvbnNdCiMgICBleHBvcnRlZCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYv
Yml0YmFrZS5jb25mOjQyCiMgICAgIFtleHBvcnRdICIxIgojICAgc2V0IC9tZWRpYS9yZWJlY2Nh
cy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6NDIKIyAgICAgIiR7ZXhlY19wcmVm
aXh9L3NiaW4iCiMgICBvdmVycmlkZVtuYXRpdmVdOnNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8v
cG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjU1CiMgICAgICIke3ByZWZpeF9uYXRpdmV9L3Ni
aW4iCiMgICBvdmVycmlkZVtuYXRpdmVzZGtdOnNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9r
eS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjY1CiMgICAgICIke3ByZWZpeF9uYXRpdmVzZGt9L3Ni
aW4iCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICIke2V4ZWNfcHJlZml4fS9zYmluIgpleHBv
cnQgc2JpbmRpcj0iL3Vzci9zYmluIgojCiMgJHNiaW5kaXJfbmF0aXZlCiMgICBzZXQgL21lZGlh
L3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo1NQojICAgICAiJHtw
cmVmaXhfbmF0aXZlfS9zYmluIgpzYmluZGlyX25hdGl2ZT0iL3Vzci9zYmluIgojCiMgJHNiaW5k
aXJfbmF0aXZlc2RrCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25m
L2JpdGJha2UuY29uZjo2NQojICAgICAiJHtwcmVmaXhfbmF0aXZlc2RrfS9zYmluIgpzYmluZGly
X25hdGl2ZXNkaz0iL3Vzci9zYmluIgojCiMgJHNlcnZpY2VkaXIgWzIgb3BlcmF0aW9uc10KIyAg
IGV4cG9ydGVkIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNv
bmY6MjgKIyAgICAgW2V4cG9ydF0gIjEiCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bv
a3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjoyOAojICAgICAiJHtiYXNlX3ByZWZpeH0vc3J2Igoj
IHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiJHtiYXNlX3ByZWZpeH0vc3J2IgpleHBvcnQgc2Vy
dmljZWRpcj0iL3NydiIKIwojICRzaGFyZWRzdGF0ZWRpciBbMiBvcGVyYXRpb25zXQojICAgZXhw
b3J0ZWQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjoy
OQojICAgICBbZXhwb3J0XSAiMSIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9t
ZXRhL2NvbmYvYml0YmFrZS5jb25mOjI5CiMgICAgICIke2Jhc2VfcHJlZml4fS9jb20iCiMgcHJl
LWV4cGFuc2lvbiB2YWx1ZToKIyAgICIke2Jhc2VfcHJlZml4fS9jb20iCmV4cG9ydCBzaGFyZWRz
dGF0ZWRpcj0iL2NvbSIKIwojICRzeXNjb25mZGlyIFszIG9wZXJhdGlvbnNdCiMgICBleHBvcnRl
ZCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjI3CiMg
ICAgIFtleHBvcnRdICIxIgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEv
Y29uZi9iaXRiYWtlLmNvbmY6MjcKIyAgICAgIiR7YmFzZV9wcmVmaXh9L2V0YyIKIyAgIG92ZXJy
aWRlW25hdGl2ZV06c2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRi
YWtlLmNvbmY6NTIKIyAgICAgIi9ldGMiCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICIke2Jh
c2VfcHJlZml4fS9ldGMiCmV4cG9ydCBzeXNjb25mZGlyPSIvZXRjIgojCiMgJHN5c2NvbmZkaXJf
bmF0aXZlCiMgICBzZXQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJh
a2UuY29uZjo1MgojICAgICAiL2V0YyIKc3lzY29uZmRpcl9uYXRpdmU9Ii9ldGMiCiMKIyAkc3lz
dGVtZF9zeXN0ZW1fdW5pdGRpciBbMiBvcGVyYXRpb25zXQojICAgZXhwb3J0ZWQgL21lZGlhL3Jl
YmVjY2FzL3lvY3RvL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjozNgojICAgICBbZXhwb3J0
XSAiMSIKIyAgIHNldCAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFr
ZS5jb25mOjM2CiMgICAgICIke25vbmFyY2hfYmFzZV9saWJkaXJ9L3N5c3RlbWQvc3lzdGVtIgoj
IHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiJHtub25hcmNoX2Jhc2VfbGliZGlyfS9zeXN0ZW1k
L3N5c3RlbSIKZXhwb3J0IHN5c3RlbWRfc3lzdGVtX3VuaXRkaXI9Ii9saWIvc3lzdGVtZC9zeXN0
ZW0iCiMKIyAkc3lzdGVtZF91bml0ZGlyIFsyIG9wZXJhdGlvbnNdCiMgICBleHBvcnRlZCAvbWVk
aWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjM1CiMgICAgIFtl
eHBvcnRdICIxIgojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9i
aXRiYWtlLmNvbmY6MzUKIyAgICAgIiR7bm9uYXJjaF9iYXNlX2xpYmRpcn0vc3lzdGVtZCIKIyBw
cmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIiR7bm9uYXJjaF9iYXNlX2xpYmRpcn0vc3lzdGVtZCIK
ZXhwb3J0IHN5c3RlbWRfdW5pdGRpcj0iL2xpYi9zeXN0ZW1kIgojCiMgJHN5c3RlbWRfdXNlcl91
bml0ZGlyIFsyIG9wZXJhdGlvbnNdCiMgICBleHBvcnRlZCAvbWVkaWEvcmViZWNjYXMveW9jdG8v
cG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjM4CiMgICAgIFtleHBvcnRdICIxIgojICAgc2V0
IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6MzgKIyAg
ICAgIiR7bm9uYXJjaF9saWJkaXJ9L3N5c3RlbWQvdXNlciIKIyBwcmUtZXhwYW5zaW9uIHZhbHVl
OgojICAgIiR7bm9uYXJjaF9saWJkaXJ9L3N5c3RlbWQvdXNlciIKZXhwb3J0IHN5c3RlbWRfdXNl
cl91bml0ZGlyPSIvdXNyL2xpYi9zeXN0ZW1kL3VzZXIiCiMKIyAkdGFyZ2V0X2RhdGFkaXIKIyAg
IGltbWVkaWF0ZSAvbWVkaWEvcmViZWNjYXMveW9jdG8vcG9reS9tZXRhL2NvbmYvYml0YmFrZS5j
b25mOjc3CiMgICAgICIke2RhdGFkaXJ9Igp0YXJnZXRfZGF0YWRpcj0iL3Vzci9zaGFyZSIKIwoj
ICR2YWxpZF9hcmNocwojICAgc2V0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9wb2t5L21ldGEvY2xh
c3Nlcy9rZXJuZWwtYXJjaC5iYmNsYXNzOjE3CiMgICAgICJhbHBoYSBjcmlzIGlhNjQgICAgICAg
ICAgICAgICAgaTM4NiB4ODYgICAgICAgICAgICAgICAgbTY4a25vbW11IG02OGsgcHBjIHBvd2Vy
cGMgcG93ZXJwYzY0IHBwYzY0ICAgICAgICAgICAgICAgICBzcGFyYyBzcGFyYzY0ICAgICAgICAg
ICAgICAgIGFybSBhYXJjaDY0ICAgICAgICAgICAgICAgIG0zMnIgbWlwcyAgICAgICAgICAgICAg
ICBzaCBzaDY0IHVtIGg4MzAwICAgICAgICAgICAgICAgICAgcGFyaXNjIHMzOTAgIHY4NTAgICAg
ICAgICAgICAgICAgYXZyMzIgYmxhY2tmaW4gICAgICAgICAgICAgICAgbWljcm9ibGF6ZSAgICAg
ICAgICAgICAgICBuaW9zMiBhcmMgeHRlbnNhIgp2YWxpZF9hcmNocz0iYWxwaGEgY3JpcyBpYTY0
ICAgICAgICAgICAgICAgIGkzODYgeDg2ICAgICAgICAgICAgICAgIG02OGtub21tdSBtNjhrIHBw
YyBwb3dlcnBjIHBvd2VycGM2NCBwcGM2NCAgICAgICAgICAgICAgICAgc3BhcmMgc3BhcmM2NCAg
ICAgICAgICAgICAgICBhcm0gYWFyY2g2NCAgICAgICAgICAgICAgICBtMzJyIG1pcHMgICAgICAg
ICAgICAgICAgc2ggc2g2NCB1bSBoODMwMCAgICAgICAgICAgICAgICAgIHBhcmlzYyBzMzkwICB2
ODUwICAgICAgICAgICAgICAgIGF2cjMyIGJsYWNrZmluICAgICAgICAgICAgICAgIG1pY3JvYmxh
emUgICAgICAgICAgICAgICAgbmlvczIgYXJjIHh0ZW5zYSIKYXV0b2xvYWRfcG9zdGluc3RfZnJh
Z21lbnQoKSB7CmlmIFsgeCIkRCIgPSAieCIgXTsgdGhlbgoJbW9kcHJvYmUgJXMgfHwgdHJ1ZQpm
aQp9CgpiYXNlX2RvX2NvbXBpbGUoKSB7CglpZiBbIC1lIE1ha2VmaWxlIC1vIC1lIG1ha2VmaWxl
IC1vIC1lIEdOVW1ha2VmaWxlIF07IHRoZW4KCQlvZV9ydW5tYWtlIHx8IGRpZSAibWFrZSBmYWls
ZWQiCgllbHNlCgkJYmJub3RlICJub3RoaW5nIHRvIGNvbXBpbGUiCglmaQp9CgpiYXNlX2RvX2Nv
bmZpZ3VyZSgpIHsKCWlmIFsgLW4gIi9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy90bXAvd29y
ay9xZW11eDg2LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9jb25maWd1cmUuc3N0
YXRlIiAtYSAtZSAiL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL3RtcC93b3JrL3FlbXV4ODYt
cG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL2NvbmZpZ3VyZS5zc3RhdGUiIF07IHRo
ZW4KCQlpZiBbICJgY2F0IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy90bXAvd29yay9xZW11
eDg2LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9jb25maWd1cmUuc3N0YXRlYCIg
IT0gIiR7QkJfVEFTS0hBU0h9IiBdOyB0aGVuCgkJCWNkIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9s
dHRuZy90bXAvd29yay9xZW11eDg2LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9s
dHRuZy1tb2R1bGVzLTIuOS4xCgkJCWlmIFsgIjAiICE9ICIxIiAtYSBcKCAtZSBNYWtlZmlsZSAt
byAtZSBtYWtlZmlsZSAtbyAtZSBHTlVtYWtlZmlsZSBcKSBdOyB0aGVuCgkJCQlvZV9ydW5tYWtl
IGNsZWFuCgkJCWZpCgkJCWZpbmQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL3RtcC93b3Jr
L3FlbXV4ODYtcG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL2x0dG5nLW1vZHVsZXMt
Mi45LjEgLWlnbm9yZV9yZWFkZGlyX3JhY2UgLW5hbWUgXCoubGEgLWRlbGV0ZQoJCWZpCglmaQoJ
aWYgWyAtbiAiL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL3RtcC93b3JrL3FlbXV4ODYtcG9r
eS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL2NvbmZpZ3VyZS5zc3RhdGUiIF07IHRoZW4K
CQlta2RpciAtcCBgZGlybmFtZSAvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvdG1wL3dvcmsv
cWVtdXg4Ni1wb2t5LWxpbnV4L2x0dG5nLW1vZHVsZXMvMi45LjEtcjAvY29uZmlndXJlLnNzdGF0
ZWAKCQllY2hvICR7QkJfVEFTS0hBU0h9ID4gL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL3Rt
cC93b3JrL3FlbXV4ODYtcG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL2NvbmZpZ3Vy
ZS5zc3RhdGUKCWZpCn0KCmJhc2VfZG9faW5zdGFsbCgpIHsKCToKfQoKYmFzZV9kb19wYWNrYWdl
KCkgewoJOgp9CgpiYmRlYnVnKCkgewoJVVNBR0U9J1VzYWdlOiBiYmRlYnVnIFsxMjNdICJtZXNz
YWdlIicKCWlmIFsgJCMgLWx0IDIgXTsgdGhlbgoJCWJiZmF0YWwgIiRVU0FHRSIKCWZpCgoJIyBT
dHJpcCBvZmYgdGhlIGRlYnVnIGxldmVsIGFuZCBlbnN1cmUgaXQgaXMgYW4gaW50ZWdlcgoJREJH
TFZMPSQxOyBzaGlmdAoJTk9ORElHSVRTPSQoZWNobyAiJERCR0xWTCIgfCB0ciAtZCBbOmRpZ2l0
Ol0pCglpZiBbICIkTk9ORElHSVRTIiBdOyB0aGVuCgkJYmJmYXRhbCAiJFVTQUdFIgoJZmkKCgkj
IEFsbCBkZWJ1ZyBvdXRwdXQgaXMgcHJpbnRlZCB0byB0aGUgbG9ncwoJaWYgWyAtcCAvbWVkaWEv
cmViZWNjYXMveW9jdG8vbHR0bmcvdG1wL3dvcmsvcWVtdXg4Ni1wb2t5LWxpbnV4L2x0dG5nLW1v
ZHVsZXMvMi45LjEtcjAvdGVtcC9maWZvLjEwNTQ4NiBdIDsgdGhlbgoJCXByaW50ZiAiJWJcMCIg
ImJiZGVidWcgJERCR0xWTCAkKiIgPiAvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvdG1wL3dv
cmsvcWVtdXg4Ni1wb2t5LWxpbnV4L2x0dG5nLW1vZHVsZXMvMi45LjEtcjAvdGVtcC9maWZvLjEw
NTQ4NgoJZWxzZQoJCWVjaG8gIkRFQlVHOiAkKiIKCWZpCn0KCmJiZXJyb3IoKSB7CglpZiBbIC1w
IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy90bXAvd29yay9xZW11eDg2LXBva3ktbGludXgv
bHR0bmctbW9kdWxlcy8yLjkuMS1yMC90ZW1wL2ZpZm8uMTA1NDg2IF0gOyB0aGVuCgkJcHJpbnRm
ICIlYlwwIiAiYmJlcnJvciAkKiIgPiAvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvdG1wL3dv
cmsvcWVtdXg4Ni1wb2t5LWxpbnV4L2x0dG5nLW1vZHVsZXMvMi45LjEtcjAvdGVtcC9maWZvLjEw
NTQ4NgoJZWxzZQoJCWVjaG8gIkVSUk9SOiAkKiIKCWZpCn0KCmJiZmF0YWwoKSB7CglpZiBbIC1w
IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy90bXAvd29yay9xZW11eDg2LXBva3ktbGludXgv
bHR0bmctbW9kdWxlcy8yLjkuMS1yMC90ZW1wL2ZpZm8uMTA1NDg2IF0gOyB0aGVuCgkJcHJpbnRm
ICIlYlwwIiAiYmJmYXRhbCAkKiIgPiAvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvdG1wL3dv
cmsvcWVtdXg4Ni1wb2t5LWxpbnV4L2x0dG5nLW1vZHVsZXMvMi45LjEtcjAvdGVtcC9maWZvLjEw
NTQ4NgoJZWxzZQoJCWVjaG8gIkVSUk9SOiAkKiIKCWZpCglleGl0IDEKfQoKYmJmYXRhbF9sb2co
KSB7CglpZiBbIC1wIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy90bXAvd29yay9xZW11eDg2
LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC90ZW1wL2ZpZm8uMTA1NDg2IF0gOyB0
aGVuCgkJcHJpbnRmICIlYlwwIiAiYmJmYXRhbF9sb2cgJCoiID4gL21lZGlhL3JlYmVjY2FzL3lv
Y3RvL2x0dG5nL3RtcC93b3JrL3FlbXV4ODYtcG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4x
LXIwL3RlbXAvZmlmby4xMDU0ODYKCWVsc2UKCQllY2hvICJFUlJPUjogJCoiCglmaQoJZXhpdCAx
Cn0KCmJibm90ZSgpIHsKCWlmIFsgLXAgL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL3RtcC93
b3JrL3FlbXV4ODYtcG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL3RlbXAvZmlmby4x
MDU0ODYgXSA7IHRoZW4KCQlwcmludGYgIiViXDAiICJiYm5vdGUgJCoiID4gL21lZGlhL3JlYmVj
Y2FzL3lvY3RvL2x0dG5nL3RtcC93b3JrL3FlbXV4ODYtcG9reS1saW51eC9sdHRuZy1tb2R1bGVz
LzIuOS4xLXIwL3RlbXAvZmlmby4xMDU0ODYKCWVsc2UKCQllY2hvICJOT1RFOiAkKiIKCWZpCn0K
CmJicGxhaW4oKSB7CglpZiBbIC1wIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy90bXAvd29y
ay9xZW11eDg2LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC90ZW1wL2ZpZm8uMTA1
NDg2IF0gOyB0aGVuCgkJcHJpbnRmICIlYlwwIiAiYmJwbGFpbiAkKiIgPiAvbWVkaWEvcmViZWNj
YXMveW9jdG8vbHR0bmcvdG1wL3dvcmsvcWVtdXg4Ni1wb2t5LWxpbnV4L2x0dG5nLW1vZHVsZXMv
Mi45LjEtcjAvdGVtcC9maWZvLjEwNTQ4NgoJZWxzZQoJCWVjaG8gIiQqIgoJZmkKfQoKYmJ3YXJu
KCkgewoJaWYgWyAtcCAvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvdG1wL3dvcmsvcWVtdXg4
Ni1wb2t5LWxpbnV4L2x0dG5nLW1vZHVsZXMvMi45LjEtcjAvdGVtcC9maWZvLjEwNTQ4NiBdIDsg
dGhlbgoJCXByaW50ZiAiJWJcMCIgImJid2FybiAkKiIgPiAvbWVkaWEvcmViZWNjYXMveW9jdG8v
bHR0bmcvdG1wL3dvcmsvcWVtdXg4Ni1wb2t5LWxpbnV4L2x0dG5nLW1vZHVsZXMvMi45LjEtcjAv
dGVtcC9maWZvLjEwNTQ4NgoJZWxzZQoJCWVjaG8gIldBUk5JTkc6ICQqIgoJZmkKfQoKY2hlY2tf
Z2l0X2NvbmZpZygpIHsKCWlmICEgZ2l0IGNvbmZpZyB1c2VyLmVtYWlsID4gL2Rldi9udWxsIDsg
dGhlbgoJCWdpdCBjb25maWcgLS1sb2NhbCB1c2VyLmVtYWlsICJvZS5wYXRjaEBvZSIKCWZpCglp
ZiAhIGdpdCBjb25maWcgdXNlci5uYW1lID4gL2Rldi9udWxsIDsgdGhlbgoJCWdpdCBjb25maWcg
LS1sb2NhbCB1c2VyLm5hbWUgIk9wZW5FbWJlZGRlZCIKCWZpCn0KCmNyZWF0ZV9jbWRsaW5lX3dy
YXBwZXIoKSB7CgkjIENyZWF0ZSBhIHdyYXBwZXIgc2NyaXB0IHdoZXJlIGNvbW1hbmRsaW5lIG9w
dGlvbnMgYXJlIG5lZWRlZAoJIwoJIyBUaGVzZSBhcmUgdXNlZnVsIHRvIHdvcmsgYXJvdW5kIHJl
bG9jYXRpb24gaXNzdWVzLCBieSBwYXNzaW5nIGV4dHJhIG9wdGlvbnMKCSMgdG8gYSBwcm9ncmFt
CgkjCgkjIFVzYWdlOiBjcmVhdGVfY21kbGluZV93cmFwcGVyIEZJTEVOQU1FIDxleHRyYS1vcHRp
b25zPgoKCWNtZD0kMQoJc2hpZnQKCgllY2hvICJHZW5lcmF0aW5nIHdyYXBwZXIgc2NyaXB0IGZv
ciAkY21kIgoKCW12ICRjbWQgJGNtZC5yZWFsCgljbWRuYW1lPWBiYXNlbmFtZSAkY21kYAoJZGly
bmFtZT1gZGlybmFtZSAkY21kYAoJY21kb3B0aW9ucz0kQAoJaWYgWyAiIiAhPSAiIiBdOyB0aGVu
CgkJcmVscGF0aD1gcHl0aG9uMyAtYyAiaW1wb3J0IG9zOyBwcmludChvcy5wYXRoLnJlbHBhdGgo
Jy9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy90bXAvd29yay9xZW11eDg2LXBva3ktbGludXgv
bHR0bmctbW9kdWxlcy8yLjkuMS1yMC9pbWFnZScsICckZGlybmFtZScpKSJgCgkJY21kb3B0aW9u
cz1gZWNobyAkQCB8IHNlZCAtZSAiczo6XFwkcmVhbGRpci8kcmVscGF0aDpnImAKCWZpCgljYXQg
PDxFTkQgPiRjbWQKIyEvYmluL2Jhc2gKcmVhbHBhdGg9XGByZWFkbGluayAtZm4gXCQwXGAKcmVh
bGRpcj1cYGRpcm5hbWUgXCRyZWFscGF0aFxgCmV4ZWMgLWEgXGBkaXJuYW1lIFwkcmVhbHBhdGhc
YC8kY21kbmFtZSBcYGRpcm5hbWUgXCRyZWFscGF0aFxgLyRjbWRuYW1lLnJlYWwgJGNtZG9wdGlv
bnMgIlwkQCIKRU5ECgljaG1vZCAreCAkY21kCn0KCmNyZWF0ZV93cmFwcGVyKCkgewoJIyBDcmVh
dGUgYSB3cmFwcGVyIHNjcmlwdCB3aGVyZSBleHRyYSBlbnZpcm9ubWVudCB2YXJpYWJsZXMgYXJl
IG5lZWRlZAoJIwoJIyBUaGVzZSBhcmUgdXNlZnVsIHRvIHdvcmsgYXJvdW5kIHJlbG9jYXRpb24g
aXNzdWVzLCBieSBzZXR0aW5nIGVudmlyb25tZW50CgkjIHZhcmlhYmxlcyB3aGljaCBwb2ludCB0
byBwYXRocyBpbiB0aGUgZmlsZXN5c3RlbS4KCSMKCSMgVXNhZ2U6IGNyZWF0ZV93cmFwcGVyIEZJ
TEVOQU1FIFtbVkFSPVZBTFVFXS4uXQoKCWNtZD0kMQoJc2hpZnQKCgllY2hvICJHZW5lcmF0aW5n
IHdyYXBwZXIgc2NyaXB0IGZvciAkY21kIgoKCW12ICRjbWQgJGNtZC5yZWFsCgljbWRuYW1lPWBi
YXNlbmFtZSAkY21kYAoJZGlybmFtZT1gZGlybmFtZSAkY21kYAoJZXhwb3J0c3RyaW5nPSRACglp
ZiBbICIiICE9ICIiIF07IHRoZW4KCQlyZWxwYXRoPWBweXRob24zIC1jICJpbXBvcnQgb3M7IHBy
aW50KG9zLnBhdGgucmVscGF0aCgnL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL3RtcC93b3Jr
L3FlbXV4ODYtcG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL2ltYWdlJywgJyRkaXJu
YW1lJykpImAKCQlleHBvcnRzdHJpbmc9YGVjaG8gJEAgfCBzZWQgLWUgInM6OlxcJHJlYWxkaXIv
JHJlbHBhdGg6ZyJgCglmaQoJY2F0IDw8RU5EID4kY21kCiMhL2Jpbi9iYXNoCnJlYWxwYXRoPVxg
cmVhZGxpbmsgLWZuIFwkMFxgCnJlYWxkaXI9XGBkaXJuYW1lIFwkcmVhbHBhdGhcYApleHBvcnQg
JGV4cG9ydHN0cmluZwpleGVjIC1hIFxgZGlybmFtZSBcJHJlYWxwYXRoXGAvJGNtZG5hbWUgXGBk
aXJuYW1lIFwkcmVhbHBhdGhcYC8kY21kbmFtZS5yZWFsICJcJEAiCkVORAoJY2htb2QgK3ggJGNt
ZAp9CgpkaWUoKSB7CgliYmZhdGFsX2xvZyAiJCoiCn0KCmRvX2J1aWxkKCkgewoJOgp9Cgpkb19j
aGVja3VyaWFsbCgpIHsKCToKfQoKZG9fY29tcGlsZSgpIHsKICAgIG1vZHVsZV9kb19jb21waWxl
Cn0KCmRvX2NvbmZpZ3VyZSgpIHsKICAgIGJhc2VfZG9fY29uZmlndXJlCn0KCmRvX2ZldGNoYWxs
KCkgewoJOgp9Cgpkb19pbnN0YWxsKCkgewogICAgbW9kdWxlX2RvX2luc3RhbGwKCWluc3RhbGwg
LWQgL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL3RtcC93b3JrL3FlbXV4ODYtcG9reS1saW51
eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL2ltYWdlL2V0Yy9tb2R1bGVzLWxvYWQuZC8gL21lZGlh
L3JlYmVjY2FzL3lvY3RvL2x0dG5nL3RtcC93b3JrL3FlbXV4ODYtcG9reS1saW51eC9sdHRuZy1t
b2R1bGVzLzIuOS4xLXIwL2ltYWdlL2V0Yy9tb2Rwcm9iZS5kLwoJIyBEZWxldGUgZW1wdHkgZGly
ZWN0b3JpZXMgdG8gYXZvaWQgUUEgZmFpbHVyZXMgaWYgbm8gbW9kdWxlcyB3ZXJlIGJ1aWx0Cglm
aW5kIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy90bXAvd29yay9xZW11eDg2LXBva3ktbGlu
dXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9pbWFnZS8vbGliIC1kZXB0aCAtdHlwZSBkIC1lbXB0
eSAtZXhlYyBybWRpciB7fSBcOwp9Cgpkb19tYWtlX3NjcmlwdHMoKSB7Cgl1bnNldCBDRkxBR1Mg
Q1BQRkxBR1MgQ1hYRkxBR1MgTERGTEFHUwoJbWFrZSBDQz0iaTU4Ni1wb2t5LWxpbnV4LWdjYyAg
LWZ1c2UtbGQ9YmZkIiBMRD0iaTU4Ni1wb2t5LWxpbnV4LWxkLmJmZCAiIEFSPSJpNTg2LXBva3kt
bGludXgtYXIgIiBcCgkgICAgICAgICAgIC1DIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy90
bXAvd29yay1zaGFyZWQvcWVtdXg4Ni9rZXJuZWwtc291cmNlIE89L21lZGlhL3JlYmVjY2FzL3lv
Y3RvL2x0dG5nL3RtcC93b3JrLXNoYXJlZC9xZW11eDg2L2tlcm5lbC1idWlsZC1hcnRpZmFjdHMg
c2NyaXB0cwp9Cgpkb19wYWNrYWdlZGF0YSgpIHsKCToKfQoKaGFyZGxpbmtkaXIoKSB7Cglmcm9t
PSQxCgl0bz0kMgoJKGNkICRmcm9tOyBmaW5kIC4gLXByaW50MCB8IGNwaW8gLS1udWxsIC1wZGx1
ICR0bykKfQoKbGRjb25maWdfcG9zdGluc3RfZnJhZ21lbnQoKSB7CmlmIFsgeCIkRCIgPSAieCIg
XTsgdGhlbgoJaWYgWyAteCAvc2Jpbi9sZGNvbmZpZyBdOyB0aGVuIC9zYmluL2xkY29uZmlnIDsg
ZmkKZmkKfQoKbGludXhsb2FkZXIoKSB7CgljYXNlIGk1ODYgaW4KCQlwb3dlcnBjIHwgbWljcm9i
bGF6ZSApCgkJCWR5bmFtaWNfbG9hZGVyPSIvbGliL2xkLnNvLjEiCgkJCTs7CgkJbWlwc2lzYTMy
cjZlbCB8IG1pcHNpc2EzMnI2IHwgbWlwc2lzYTY0cjZlbCB8IG1pcHNpc2E2NHI2KQoJCQlkeW5h
bWljX2xvYWRlcj0iL2xpYi9sZC1saW51eC1taXBzbjguc28uMSIKCQkJOzsKCQltaXBzKiApCgkJ
CWR5bmFtaWNfbG9hZGVyPSIvbGliL2xkLnNvLjEiCgkJCTs7CgkJcG93ZXJwYzY0KQoJCQlkeW5h
bWljX2xvYWRlcj0iL2xpYi9sZDY0LnNvLjEiCgkJCTs7CgkJeDg2XzY0KQoJCQlkeW5hbWljX2xv
YWRlcj0iL2xpYi9sZC1saW51eC14ODYtNjQuc28uMiIKCQkJOzsKCQlpKjg2ICkKCQkJZHluYW1p
Y19sb2FkZXI9Ii9saWIvbGQtbGludXguc28uMiIKCQkJOzsKCQlhcm0gKQoJCQlkeW5hbWljX2xv
YWRlcj0iL2xpYi9sZC1saW51eC5zby4zIgoJCQk7OwoJCSogKQoJCQlkeW5hbWljX2xvYWRlcj0i
L3Vua25vd25fZHluYW1pY19saW5rZXIiCgkJCTs7Cgllc2FjCgllY2hvICRkeW5hbWljX2xvYWRl
cgp9Cgpta2xpYnNfb3B0aW1pemVfaW1hZ2UoKSB7Cglmb3IgaW1nIGluICR7TUtMSUJTX09QVElN
SVpFRF9JTUFHRVN9CglkbwoJCWlmIFsgIiR7aW1nfSIgPSAibHR0bmctbW9kdWxlcyIgXSB8fCBb
ICIke2ltZ30iID0gImFsbCIgXQoJCXRoZW4KCQkJbWtsaWJzX29wdGltaXplX2ltYWdlX2RvaXQK
CQkJYnJlYWsKCQlmaQoJZG9uZQp9Cgpta2xpYnNfb3B0aW1pemVfaW1hZ2VfZG9pdCgpIHsKCXJt
IC1yZiAvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvdG1wL3dvcmsvcWVtdXg4Ni1wb2t5LWxp
bnV4L2x0dG5nLW1vZHVsZXMvMi45LjEtcjAvbWtsaWJzCglta2RpciAtcCAvbWVkaWEvcmViZWNj
YXMveW9jdG8vbHR0bmcvdG1wL3dvcmsvcWVtdXg4Ni1wb2t5LWxpbnV4L2x0dG5nLW1vZHVsZXMv
Mi45LjEtcjAvbWtsaWJzL2Rlc3QKCWNkIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy90bXAv
d29yay9xZW11eDg2LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9yb290ZnMKCWR1
IC1icyA+IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy90bXAvd29yay9xZW11eDg2LXBva3kt
bGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9ta2xpYnMvZHUuYmVmb3JlLm1rbGlicy50eHQK
CgkjIEJ1aWxkIGEgbGlzdCBvZiBkeW5hbWljYWxseSBsaW5rZWQgZXhlY3V0YWJsZSBFTEYgZmls
ZXMuCgkjIE9taXQgbGliYy9saWJwdGhyZWFkIGFzIGEgc3BlY2lhbCBjYXNlIGJlY2F1c2UgaXQg
aGFzIGFuIGludGVycHJldGVyCgkjIGJ1dCBpcyBwcmltYXJpbHkgd2hhdCB3ZSBpbnRlbmQgdG8g
c3RyaXAgZG93bi4KCWZvciBpIGluIGBmaW5kIC4gLXR5cGUgZiAtZXhlY3V0YWJsZSAhIC1uYW1l
ICdsaWJjLSonICEgLW5hbWUgJ2xpYnB0aHJlYWQtKidgOyBkbwoJCWZpbGUgJGkgfCBncmVwIC1x
IEVMRiB8fCBjb250aW51ZQoJCWk1ODYtcG9reS1saW51eC1yZWFkZWxmIC1sICRpIHwgZ3JlcCAt
cSBJTlRFUlAgfHwgY29udGludWUKCQllY2hvICRpCglkb25lID4gL21lZGlhL3JlYmVjY2FzL3lv
Y3RvL2x0dG5nL3RtcC93b3JrL3FlbXV4ODYtcG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4x
LXIwL21rbGlicy9leGVjdXRhYmxlcy5saXN0CgoJZHluYW1pY19sb2FkZXI9JChsaW51eGxvYWRl
cikKCglta2xpYnMgLXYgXAoJCS0tbGRsaWIgJHtkeW5hbWljX2xvYWRlcn0gXAoJCS0tbGliZGly
IGxpYiBcCgkJLS1zeXNyb290IC9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy90bXAvd29yay9x
ZW11eDg2LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9yZWNpcGUtc3lzcm9vdCBc
CgkJLS1nY2Mtb3B0aW9ucyAiLS1zeXNyb290PS9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy90
bXAvd29yay9xZW11eDg2LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9yZWNpcGUt
c3lzcm9vdCIgXAoJCS0tcm9vdCAvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvdG1wL3dvcmsv
cWVtdXg4Ni1wb2t5LWxpbnV4L2x0dG5nLW1vZHVsZXMvMi45LjEtcjAvcm9vdGZzIFwKCQktLXRh
cmdldCBgZWNobyBpNTg2LXBva3ktbGludXgtIHwgc2VkICdzLy0kLy8nIGAgXAoJCS1kIC9tZWRp
YS9yZWJlY2Nhcy95b2N0by9sdHRuZy90bXAvd29yay9xZW11eDg2LXBva3ktbGludXgvbHR0bmct
bW9kdWxlcy8yLjkuMS1yMC9ta2xpYnMvZGVzdCBcCgkJYGNhdCAvbWVkaWEvcmViZWNjYXMveW9j
dG8vbHR0bmcvdG1wL3dvcmsvcWVtdXg4Ni1wb2t5LWxpbnV4L2x0dG5nLW1vZHVsZXMvMi45LjEt
cjAvbWtsaWJzL2V4ZWN1dGFibGVzLmxpc3RgCgoJY2QgL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0
dG5nL3RtcC93b3JrL3FlbXV4ODYtcG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL21r
bGlicy9kZXN0Cglmb3IgaSBpbiAqCglkbwoJCWNwICRpIGBmaW5kIC9tZWRpYS9yZWJlY2Nhcy95
b2N0by9sdHRuZy90bXAvd29yay9xZW11eDg2LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjku
MS1yMC9yb290ZnMgLW5hbWUgJGlgCglkb25lCgoJY2QgL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0
dG5nL3RtcC93b3JrL3FlbXV4ODYtcG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL3Jv
b3RmcwoJZHUgLWJzID4gL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL3RtcC93b3JrL3FlbXV4
ODYtcG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL21rbGlicy9kdS5hZnRlci5ta2xp
YnMudHh0CgoJZWNobyByb290ZnMgc2l6ZSBiZWZvcmUgbWtsaWJzIG9wdGltaXphdGlvbjogYGNh
dCAvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvdG1wL3dvcmsvcWVtdXg4Ni1wb2t5LWxpbnV4
L2x0dG5nLW1vZHVsZXMvMi45LjEtcjAvbWtsaWJzL2R1LmJlZm9yZS5ta2xpYnMudHh0YAoJZWNo
byByb290ZnMgc2l6ZSBhZnRlciBta2xpYnMgb3B0aW1pemF0aW9uOiBgY2F0IC9tZWRpYS9yZWJl
Y2Nhcy95b2N0by9sdHRuZy90bXAvd29yay9xZW11eDg2LXBva3ktbGludXgvbHR0bmctbW9kdWxl
cy8yLjkuMS1yMC9ta2xpYnMvZHUuYWZ0ZXIubWtsaWJzLnR4dGAKfQoKbW9kdWxlX2RvX2NvbXBp
bGUoKSB7Cgl1bnNldCBDRkxBR1MgQ1BQRkxBR1MgQ1hYRkxBR1MgTERGTEFHUwoJb2VfcnVubWFr
ZSBLRVJORUxfUEFUSD0vbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvdG1wL3dvcmstc2hhcmVk
L3FlbXV4ODYva2VybmVsLXNvdXJjZSAgIFwKCQkgICBLRVJORUxfVkVSU0lPTj00LjEyLjEyLXlv
Y3RvLXN0YW5kYXJkICAgIFwKCQkgICBDQz0iaTU4Ni1wb2t5LWxpbnV4LWdjYyAgLWZ1c2UtbGQ9
YmZkIiBMRD0iaTU4Ni1wb2t5LWxpbnV4LWxkLmJmZCAiIFwKCQkgICBBUj0iaTU4Ni1wb2t5LWxp
bnV4LWFyICIgXAoJICAgICAgICAgICBPPS9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy90bXAv
d29yay1zaGFyZWQvcWVtdXg4Ni9rZXJuZWwtYnVpbGQtYXJ0aWZhY3RzIFwKCQkgICBLQlVJTERf
RVhUUkFfU1lNQk9MUz0iIiBcCgkJICAgJHtNQUtFX1RBUkdFVFN9Cn0KCm1vZHVsZV9kb19pbnN0
YWxsKCkgewoJdW5zZXQgQ0ZMQUdTIENQUEZMQUdTIENYWEZMQUdTIExERkxBR1MKCW9lX3J1bm1h
a2UgREVQTU9EPWVjaG8gTU9ETElCPSIvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvdG1wL3dv
cmsvcWVtdXg4Ni1wb2t5LWxpbnV4L2x0dG5nLW1vZHVsZXMvMi45LjEtcjAvaW1hZ2UvbGliL21v
ZHVsZXMvNC4xMi4xMi15b2N0by1zdGFuZGFyZCIgXAoJICAgICAgICAgICBDQz0iaTU4Ni1wb2t5
LWxpbnV4LWdjYyAgLWZ1c2UtbGQ9YmZkIiBMRD0iaTU4Ni1wb2t5LWxpbnV4LWxkLmJmZCAiIFwK
CSAgICAgICAgICAgTz0vbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvdG1wL3dvcmstc2hhcmVk
L3FlbXV4ODYva2VybmVsLWJ1aWxkLWFydGlmYWN0cyBcCgkgICAgICAgICAgIG1vZHVsZXNfaW5z
dGFsbAoKCWlmIFsgISAtZSAiL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL3RtcC93b3JrL3Fl
bXV4ODYtcG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL2x0dG5nLW1vZHVsZXMtMi45
LjEvL01vZHVsZS5zeW12ZXJzIiBdIDsgdGhlbgoJCWJid2FybiAiTW9kdWxlLnN5bXZlcnMgbm90
IGZvdW5kIGluIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy90bXAvd29yay9xZW11eDg2LXBv
a3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9sdHRuZy1tb2R1bGVzLTIuOS4xLyIKCQli
Yndhcm4gIlBsZWFzZSBjb25zaWRlciBzZXR0aW5nIE1PRFVMRVNfTU9EVUxFX1NZTVZFUlNfTE9D
QVRJT04gdG8gYSIKCQliYndhcm4gImRpcmVjdG9yeSBiZWxvdyBCIHRvIGdldCBjb3JyZWN0IGlu
dGVyLW1vZHVsZSBkZXBlbmRlbmNpZXMiCgllbHNlCgkJaW5zdGFsbCAtRG0wNjQ0ICIvbWVkaWEv
cmViZWNjYXMveW9jdG8vbHR0bmcvdG1wL3dvcmsvcWVtdXg4Ni1wb2t5LWxpbnV4L2x0dG5nLW1v
ZHVsZXMvMi45LjEtcjAvbHR0bmctbW9kdWxlcy0yLjkuMS8iL01vZHVsZS5zeW12ZXJzIC9tZWRp
YS9yZWJlY2Nhcy95b2N0by9sdHRuZy90bXAvd29yay9xZW11eDg2LXBva3ktbGludXgvbHR0bmct
bW9kdWxlcy8yLjkuMS1yMC9pbWFnZS91c3IvaW5jbHVkZS9sdHRuZy1tb2R1bGVzL01vZHVsZS5z
eW12ZXJzCgkJIyBNb2R1bGUuc3ltdmVycyBjb250YWlucyBhYnNvbHV0ZSBwYXRoIHRvIHRoZSBi
dWlsZCBkaXJlY3RvcnkuCgkJIyBXaGlsZSBpdCBkb2Vzbid0IGFjdHVhbGx5IHNlZW0gdG8gbWF0
dGVyIHdoaWNoIHBhdGggaXMgc3BlY2lmaWVkLAoJCSMgY2xlYXIgdGhlbSBvdXQgdG8gYXZvaWQg
Y29uZnVzaW9uCgkJc2VkIC1lICdzOi9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy90bXAvd29y
ay9xZW11eDg2LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9sdHRuZy1tb2R1bGVz
LTIuOS4xLzo6ZycgLWkgL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL3RtcC93b3JrL3FlbXV4
ODYtcG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL2ltYWdlL3Vzci9pbmNsdWRlL2x0
dG5nLW1vZHVsZXMvTW9kdWxlLnN5bXZlcnMKCWZpCn0KCm9lX2xpYmluc3RhbGwoKSB7CgkjIFB1
cnBvc2U6IEluc3RhbGwgYSBsaWJyYXJ5LCBpbiBhbGwgaXRzIGZvcm1zCgkjIEV4YW1wbGUKCSMK
CSMgb2VfbGliaW5zdGFsbCBsaWJsdGRsIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy90bXAv
d29yay9xZW11eDg2LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9yZWNpcGUtc3lz
cm9vdC91c3IvbGliLwoJIyBvZV9saWJpbnN0YWxsIC1DIHNyYy9saWJibGFoIGxpYmJsYWggL21l
ZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL3RtcC93b3JrL3FlbXV4ODYtcG9reS1saW51eC9sdHRu
Zy1tb2R1bGVzLzIuOS4xLXIwL2ltYWdlLy91c3IvbGliLwoJZGlyPSIiCglsaWJ0b29sPSIiCglz
aWxlbnQ9IiIKCXJlcXVpcmVfc3RhdGljPSIiCglyZXF1aXJlX3NoYXJlZD0iIgoJc3RhZ2luZ19p
bnN0YWxsPSIiCgl3aGlsZSBbICIkIyIgLWd0IDAgXTsgZG8KCQljYXNlICIkMSIgaW4KCQktQykK
CQkJc2hpZnQKCQkJZGlyPSIkMSIKCQkJOzsKCQktcykKCQkJc2lsZW50PTEKCQkJOzsKCQktYSkK
CQkJcmVxdWlyZV9zdGF0aWM9MQoJCQk7OwoJCS1zbykKCQkJcmVxdWlyZV9zaGFyZWQ9MQoJCQk7
OwoJCS0qKQoJCQliYmZhdGFsICJvZV9saWJpbnN0YWxsOiB1bmtub3duIG9wdGlvbjogJDEiCgkJ
CTs7CgkJKikKCQkJYnJlYWs7CgkJCTs7CgkJZXNhYwoJCXNoaWZ0Cglkb25lCgoJbGlibmFtZT0i
JDEiCglzaGlmdAoJZGVzdHBhdGg9IiQxIgoJaWYgWyAteiAiJGRlc3RwYXRoIiBdOyB0aGVuCgkJ
YmJmYXRhbCAib2VfbGliaW5zdGFsbDogbm8gZGVzdGluYXRpb24gcGF0aCBzcGVjaWZpZWQiCglm
aQoJaWYgZWNobyAiJGRlc3RwYXRoLyIgfCBlZ3JlcCAnXi9tZWRpYS9yZWJlY2Nhcy95b2N0by9s
dHRuZy90bXAvd29yay9xZW11eDg2LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9y
ZWNpcGUtc3lzcm9vdC91c3IvbGliLycgPi9kZXYvbnVsbAoJdGhlbgoJCXN0YWdpbmdfaW5zdGFs
bD0xCglmaQoKCV9fcnVuY21kICgpIHsKCQlpZiBbIC16ICIkc2lsZW50IiBdOyB0aGVuCgkJCWVj
aG8gPiYyICJvZV9saWJpbnN0YWxsOiAkKiIKCQlmaQoJCSQqCgl9CgoJaWYgWyAteiAiJGRpciIg
XTsgdGhlbgoJCWRpcj1gcHdkYAoJZmkKCglkb3RsYWk9JGxpYm5hbWUubGFpCgoJIyBTYW5pdHkg
Y2hlY2sgdGhhdCB0aGUgbGlibmFtZS5sYWkgaXMgdW5pcXVlCgludW1iZXJfb2ZfZmlsZXM9YChj
ZCAkZGlyOyBmaW5kIC4gLW5hbWUgIiRkb3RsYWkiKSB8IHdjIC1sYAoJaWYgWyAkbnVtYmVyX29m
X2ZpbGVzIC1ndCAxIF07IHRoZW4KCQliYmZhdGFsICJvZV9saWJpbnN0YWxsOiAkZG90bGFpIGlz
IG5vdCB1bmlxdWUgaW4gJGRpciIKCWZpCgoKCWRpcj0kZGlyYChjZCAkZGlyO2ZpbmQgLiAtbmFt
ZSAiJGRvdGxhaSIpIHwgc2VkICJzL15cLi8vO3MvXC8kZG90bGFpXCQvLztxImAKCW9sZGRpcj1g
cHdkYAoJX19ydW5jbWQgY2QgJGRpcgoKCWxhZmlsZT0kbGlibmFtZS5sYQoKCSMgSWYgc3VjaCBm
aWxlIGRvZXNuJ3QgZXhpc3QsIHRyeSB0byBjdXQgdmVyc2lvbiBzdWZmaXgKCWlmIFsgISAtZiAi
JGxhZmlsZSIgXTsgdGhlbgoJCWxpYm5hbWUxPWBlY2hvICIkbGlibmFtZSIgfCBzZWQgJ3MvLVsw
LTkuXSokLy8nYAoJCWxhZmlsZTE9JGxpYm5hbWUubGEKCQlpZiBbIC1mICIkbGFmaWxlMSIgXTsg
dGhlbgoJCQlsaWJuYW1lPSRsaWJuYW1lMQoJCQlsYWZpbGU9JGxhZmlsZTEKCQlmaQoJZmkKCglp
ZiBbIC1mICIkbGFmaWxlIiBdOyB0aGVuCgkJIyBsaWJ0b29sIGFyY2hpdmUKCQlldmFsIGBjYXQg
JGxhZmlsZXxncmVwICJebGlicmFyeV9uYW1lcz0iYAoJCWxpYnRvb2w9MQoJZWxzZQoJCWxpYnJh
cnlfbmFtZXM9IiRsaWJuYW1lLnNvKiAkbGlibmFtZS5kbGwuYSAkbGlibmFtZS4qLmR5bGliIgoJ
ZmkKCglfX3J1bmNtZCBpbnN0YWxsIC1kICRkZXN0cGF0aC8KCWRvdGE9JGxpYm5hbWUuYQoJaWYg
WyAtZiAiJGRvdGEiIC1vIC1uICIkcmVxdWlyZV9zdGF0aWMiIF07IHRoZW4KCQlybSAtZiAkZGVz
dHBhdGgvJGRvdGEKCQlfX3J1bmNtZCBpbnN0YWxsIC1tIDA2NDQgJGRvdGEgJGRlc3RwYXRoLwoJ
ZmkKCWlmIFsgLWYgIiRkb3RsYWkiIC1hIC1uICIkbGlidG9vbCIgXTsgdGhlbgoJCXJtIC1mICRk
ZXN0cGF0aC8kbGlibmFtZS5sYQoJCV9fcnVuY21kIGluc3RhbGwgLW0gMDY0NCAkZG90bGFpICRk
ZXN0cGF0aC8kbGlibmFtZS5sYQoJZmkKCglmb3IgbmFtZSBpbiAkbGlicmFyeV9uYW1lczsgZG8K
CQlmaWxlcz1gZXZhbCBlY2hvICRuYW1lYAoJCWZvciBmIGluICRmaWxlczsgZG8KCQkJaWYgWyAh
IC1lICIkZiIgXTsgdGhlbgoJCQkJaWYgWyAtbiAiJGxpYnRvb2wiIF07IHRoZW4KCQkJCQliYmZh
dGFsICJvZV9saWJpbnN0YWxsOiAkZGlyLyRmIG5vdCBmb3VuZC4iCgkJCQlmaQoJCQllbGlmIFsg
LUwgIiRmIiBdOyB0aGVuCgkJCQlfX3J1bmNtZCBjcCAtUCAiJGYiICRkZXN0cGF0aC8KCQkJZWxp
ZiBbICEgLUwgIiRmIiBdOyB0aGVuCgkJCQlsaWJmaWxlPSIkZiIKCQkJCXJtIC1mICRkZXN0cGF0
aC8kbGliZmlsZQoJCQkJX19ydW5jbWQgaW5zdGFsbCAtbSAwNzU1ICRsaWJmaWxlICRkZXN0cGF0
aC8KCQkJZmkKCQlkb25lCglkb25lCgoJaWYgWyAteiAiJGxpYmZpbGUiIF07IHRoZW4KCQlpZiAg
WyAtbiAiJHJlcXVpcmVfc2hhcmVkIiBdOyB0aGVuCgkJCWJiZmF0YWwgIm9lX2xpYmluc3RhbGw6
IHVuYWJsZSB0byBsb2NhdGUgc2hhcmVkIGxpYnJhcnkiCgkJZmkKCWVsaWYgWyAteiAiJGxpYnRv
b2wiIF07IHRoZW4KCQkjIHNwZWNpYWwgY2FzZSBoYWNrIGZvciBub24tbGlidG9vbCAuc28uIy4j
LiMgbGlua3MKCQliYXNlbGliZmlsZT1gYmFzZW5hbWUgIiRsaWJmaWxlImAKCQlpZiAoZWNobyAk
YmFzZWxpYmZpbGUgfCBncmVwIC1xRSAnXmxpYi4qXC5zb1wuWzAtOS5dKiQnKTsgdGhlbgoJCQlz
b25hbWVsaW5rPWBpNTg2LXBva3ktbGludXgtcmVhZGVsZiAtZCAkbGliZmlsZSB8Z3JlcCAnTGli
cmFyeSBzb25hbWU6JyB8c2VkIC1lICdzLy4qXFtcKC4qXClcXS4qL1wxLydgCgkJCXNvbGluaz1g
ZWNobyAkYmFzZWxpYmZpbGUgfCBzZWQgLWUgJ3MvXC5zb1wuLiovLnNvLydgCgkJCWlmIFsgLW4g
IiRzb25hbWVsaW5rIiAtYSB4IiRiYXNlbGliZmlsZSIgIT0geCIkc29uYW1lbGluayIgXTsgdGhl
bgoJCQkJX19ydW5jbWQgbG4gLXNmICRiYXNlbGliZmlsZSAkZGVzdHBhdGgvJHNvbmFtZWxpbmsK
CQkJZmkKCQkJX19ydW5jbWQgbG4gLXNmICRiYXNlbGliZmlsZSAkZGVzdHBhdGgvJHNvbGluawoJ
CWZpCglmaQoKCV9fcnVuY21kIGNkICIkb2xkZGlyIgp9CgpvZV9tYWNoaW5zdGFsbCgpIHsKCSMg
UHVycG9zZTogSW5zdGFsbCBtYWNoaW5lIGRlcGVuZGVudCBmaWxlcywgaWYgYXZhaWxhYmxlCgkj
ICAgICAgICAgIElmIG5vdCBhdmFpbGFibGUsIGNoZWNrIGlmIHRoZXJlIGlzIGEgZGVmYXVsdAoJ
IyAgICAgICAgICBJZiBubyBkZWZhdWx0LCBqdXN0IHRvdWNoIHRoZSBkZXN0aW5hdGlvbgoJIyBF
eGFtcGxlOgoJIyAgICAgICAgICAgICAgICAkMSAgJDIgICAkMyAgICAgICAgICQ0CgkjIG9lX21h
Y2hpbnN0YWxsIC1tIDA2NDQgZnN0YWIgL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL3RtcC93
b3JrL3FlbXV4ODYtcG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL2ltYWdlL2V0Yy9m
c3RhYgoJIwoJIyBUT0RPOiBDaGVjayBhcmd1bWVudCBudW1iZXI/CgkjCglmaWxlbmFtZT1gYmFz
ZW5hbWUgJDNgCglkaXJuYW1lPWBkaXJuYW1lICQzYAoKCWZvciBvIGluIGBlY2hvIGxpbnV4Omk1
ODY6YnVpbGQtbGludXg6cG4tbHR0bmctbW9kdWxlczp4ODY6cWVtdWFsbDpxZW11eDg2OnBva3k6
Y2xhc3MtdGFyZ2V0OmZvcmNldmFyaWFibGU6bGliYy1nbGliYyB8IHRyICc6JyAnICdgOyBkbwoJ
CWlmIFsgLWUgJGRpcm5hbWUvJG8vJGZpbGVuYW1lIF07IHRoZW4KCQkJYmJub3RlICRkaXJuYW1l
LyRvLyRmaWxlbmFtZSBwcmVzZW50LCBpbnN0YWxsaW5nIHRvICQ0CgkJCWluc3RhbGwgJDEgJDIg
JGRpcm5hbWUvJG8vJGZpbGVuYW1lICQ0CgkJCXJldHVybgoJCWZpCglkb25lCiMJYmJub3RlIG92
ZXJyaWRlcyBzcGVjaWZpYyBmaWxlIE5PVCBwcmVzZW50LCB0cnlpbmcgZGVmYXVsdD0kMy4uLgoJ
aWYgWyAtZSAkMyBdOyB0aGVuCgkJYmJub3RlICQzIHByZXNlbnQsIGluc3RhbGxpbmcgdG8gJDQK
CQlpbnN0YWxsICQxICQyICQzICQ0CgllbHNlCgkJYmJub3RlICQzIE5PVCBwcmVzZW50LCB0b3Vj
aGluZyBlbXB0eSAkNAoJCXRvdWNoICQ0CglmaQp9CgpvZV9ydW5tYWtlKCkgewoJb2VfcnVubWFr
ZV9jYWxsICIkQCIgfHwgZGllICJvZV9ydW5tYWtlIGZhaWxlZCIKfQoKb2VfcnVubWFrZV9jYWxs
KCkgewoJYmJub3RlIG1ha2UgIEtFUk5FTF9TUkM9L21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5n
L3RtcC93b3JrLXNoYXJlZC9xZW11eDg2L2tlcm5lbC1zb3VyY2UgS0VSTkVMRElSPScvbWVkaWEv
cmViZWNjYXMveW9jdG8vbHR0bmcvdG1wL3dvcmstc2hhcmVkL3FlbXV4ODYva2VybmVsLXNvdXJj
ZScgIiRAIgoJbWFrZSAgS0VSTkVMX1NSQz0vbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvdG1w
L3dvcmstc2hhcmVkL3FlbXV4ODYva2VybmVsLXNvdXJjZSBLRVJORUxESVI9Jy9tZWRpYS9yZWJl
Y2Nhcy95b2N0by9sdHRuZy90bXAvd29yay1zaGFyZWQvcWVtdXg4Ni9rZXJuZWwtc291cmNlJyAi
JEAiCn0KCm9lX3NvaW5zdGFsbCgpIHsKCSMgUHVycG9zZTogSW5zdGFsbCBzaGFyZWQgbGlicmFy
eSBmaWxlIGFuZAoJIyAgICAgICAgICBjcmVhdGUgdGhlIG5lY2Vzc2FyeSBsaW5rcwoJIyBFeGFt
cGxlOiBvZV9zb2luc3RhbGwgbGliZm9vLnNvLjEuMi4zIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9s
dHRuZy90bXAvd29yay9xZW11eDg2LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9p
bWFnZS91c3IvbGliCglsaWJuYW1lPWBiYXNlbmFtZSAkMWAKCWNhc2UgIiRsaWJuYW1lIiBpbgoJ
ICAgICouc28pCgkgICAgICAgIGJiZmF0YWwgIm9lX3NvaW5zdGFsbDogU2hhcmVkIGxpYnJhcnkg
bXVzdCBoYXZlZCB2ZXJzaW9uZWQgZmlsZW5hbWUgKGUuZy4gbGliZm9vLnNvLjEuMi4zKSIKCSAg
ICAgICAgOzsKCWVzYWMKCWluc3RhbGwgLW0gNzU1ICQxICQyLyRsaWJuYW1lCglzb25hbWVsaW5r
PWBpNTg2LXBva3ktbGludXgtcmVhZGVsZiAtZCAkMSB8Z3JlcCAnTGlicmFyeSBzb25hbWU6JyB8
c2VkIC1lICdzLy4qXFtcKC4qXClcXS4qL1wxLydgCglpZiBbIC16ICRzb25hbWVsaW5rIF07IHRo
ZW4KCQliYmZhdGFsICJvZV9zb2luc3RhbGw6ICRsaWJuYW1lIGlzIG1pc3NpbmcgRUxGIHRhZyAn
U09OQU1FJy4iCglmaQoJc29saW5rPWBlY2hvICRsaWJuYW1lIHwgc2VkIC1lICdzL1wuc29cLi4q
Ly5zby8nYAoJbG4gLXNmICRsaWJuYW1lICQyLyRzb25hbWVsaW5rCglsbiAtc2YgJGxpYm5hbWUg
JDIvJHNvbGluawp9Cgpwa2dfcG9zdGluc3RfbW9kdWxlcygpIHsKaWYgWyAteiAiJEQiIF07IHRo
ZW4KCWRlcG1vZCAtYSA0LjEyLjEyLXlvY3RvLXN0YW5kYXJkCmVsc2UKCSMgaW1hZ2UuYmJjbGFz
cyB3aWxsIGNhbGwgZGVwbW9kd3JhcHBlciBhZnRlciBldmVyeXRoaW5nIGlzIGluc3RhbGxlZCwK
CSMgbm8gbmVlZCB0byBkbyBpdCBoZXJlIGFzIHdlbGwKCToKZmkKfQoKcGtnX3Bvc3RybV9tb2R1
bGVzKCkgewppZiBbIC16ICIkRCIgXTsgdGhlbgoJZGVwbW9kIC1hIDQuMTIuMTIteW9jdG8tc3Rh
bmRhcmQKZWxzZQoJZGVwbW9kd3JhcHBlciAtYSAtYiAkRCA0LjEyLjEyLXlvY3RvLXN0YW5kYXJk
CmZpCn0KCnByZWxpbmtfaW1hZ2UoKSB7CiMJZXhwb3J0IFBTRVVET19ERUJVRz00CiMJL2Jpbi9l
bnYgfCAvYmluL2dyZXAgUFNFVURPCiMJZWNobyAiTERfTElCUkFSWV9QQVRIPSRMRF9MSUJSQVJZ
X1BBVEgiCiMJZWNobyAiTERfUFJFTE9BRD0kTERfUFJFTE9BRCIKCglwcmVfcHJlbGlua19zaXpl
PWBkdSAta3MgL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0dG5nL3RtcC93b3JrL3FlbXV4ODYtcG9r
eS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL3Jvb3RmcyB8IGF3ayAne3NpemUgPSAkMSA7
IHByaW50IHNpemUgfSdgCgllY2hvICJTaXplIGJlZm9yZSBwcmVsaW5raW5nICRwcmVfcHJlbGlu
a19zaXplLiIKCgkjIFdlIG5lZWQgYSBwcmVsaW5rIGNvbmYgb24gdGhlIGZpbGVzeXN0ZW0sIGFk
ZCBvbmUgaWYgaXQncyBtaXNzaW5nCglpZiBbICEgLWUgL21lZGlhL3JlYmVjY2FzL3lvY3RvL2x0
dG5nL3RtcC93b3JrL3FlbXV4ODYtcG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIwL3Jv
b3Rmcy9ldGMvcHJlbGluay5jb25mIF07IHRoZW4KCQljcCAvbWVkaWEvcmViZWNjYXMveW9jdG8v
bHR0bmcvdG1wL3dvcmsvcWVtdXg4Ni1wb2t5LWxpbnV4L2x0dG5nLW1vZHVsZXMvMi45LjEtcjAv
cmVjaXBlLXN5c3Jvb3QtbmF0aXZlL2V0Yy9wcmVsaW5rLmNvbmYgXAoJCQkvbWVkaWEvcmViZWNj
YXMveW9jdG8vbHR0bmcvdG1wL3dvcmsvcWVtdXg4Ni1wb2t5LWxpbnV4L2x0dG5nLW1vZHVsZXMv
Mi45LjEtcjAvcm9vdGZzL2V0Yy9wcmVsaW5rLmNvbmYKCQlkdW1teV9wcmVsaW5rX2NvbmY9dHJ1
ZTsKCWVsc2UKCQlkdW1teV9wcmVsaW5rX2NvbmY9ZmFsc2U7CglmaQoKCSMgV2UgbmVlZCBhIGxk
LnNvLmNvbmYgd2l0aCBwYXRobmFtZXMgaW4scHJlbGluayBjb25mIG9uIHRoZSBmaWxlc3lzdGVt
LCBhZGQgb25lIGlmIGl0J3MgbWlzc2luZwoJbGRzb2NvbmY9L21lZGlhL3JlYmVjY2FzL3lvY3Rv
L2x0dG5nL3RtcC93b3JrL3FlbXV4ODYtcG9reS1saW51eC9sdHRuZy1tb2R1bGVzLzIuOS4xLXIw
L3Jvb3Rmcy9ldGMvbGQuc28uY29uZgoJaWYgWyAtZSAkbGRzb2NvbmYgXTsgdGhlbgoJCWNwICRs
ZHNvY29uZiAkbGRzb2NvbmYucHJlbGluawoJZmkKCWNhdCAvbWVkaWEvcmViZWNjYXMveW9jdG8v
bHR0bmcvdG1wL3dvcmsvcWVtdXg4Ni1wb2t5LWxpbnV4L2x0dG5nLW1vZHVsZXMvMi45LjEtcjAv
cmVjaXBlLXN5c3Jvb3QvZXRjL2xkLnNvLmNvbmYgPj4gJGxkc29jb25mCgoJZHluYW1pY19sb2Fk
ZXI9JChsaW51eGxvYWRlcikKCgkjIHByZWxpbmshCgkvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0
bmcvdG1wL3dvcmsvcWVtdXg4Ni1wb2t5LWxpbnV4L2x0dG5nLW1vZHVsZXMvMi45LjEtcjAvcmVj
aXBlLXN5c3Jvb3QtbmF0aXZlL3Vzci9zYmluL3ByZWxpbmsgLS1yb290IC9tZWRpYS9yZWJlY2Nh
cy95b2N0by9sdHRuZy90bXAvd29yay9xZW11eDg2LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8y
LjkuMS1yMC9yb290ZnMgLWFtUiAtTiAtYyAvZXRjL3ByZWxpbmsuY29uZiAtLWR5bmFtaWMtbGlu
a2VyICRkeW5hbWljX2xvYWRlcgoKCSMgUmVtb3ZlIHRoZSBwcmVsaW5rLmNvbmYgaWYgd2UgaGFk
IHRvIGFkZCBpdC4KCWlmIFsgIiRkdW1teV9wcmVsaW5rX2NvbmYiID0gInRydWUiIF07IHRoZW4K
CQlybSAtZiAvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvdG1wL3dvcmsvcWVtdXg4Ni1wb2t5
LWxpbnV4L2x0dG5nLW1vZHVsZXMvMi45LjEtcjAvcm9vdGZzL2V0Yy9wcmVsaW5rLmNvbmYKCWZp
CgoJaWYgWyAtZSAkbGRzb2NvbmYucHJlbGluayBdOyB0aGVuCgkJbXYgJGxkc29jb25mLnByZWxp
bmsgJGxkc29jb25mCgllbHNlCgkJcm0gJGxkc29jb25mCglmaQoKCXByZV9wcmVsaW5rX3NpemU9
YGR1IC1rcyAvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvdG1wL3dvcmsvcWVtdXg4Ni1wb2t5
LWxpbnV4L2x0dG5nLW1vZHVsZXMvMi45LjEtcjAvcm9vdGZzIHwgYXdrICd7c2l6ZSA9ICQxIDsg
cHJpbnQgc2l6ZSB9J2AKCWVjaG8gIlNpemUgYWZ0ZXIgcHJlbGlua2luZyAkcHJlX3ByZWxpbmtf
c2l6ZS4iCn0KCnJlbW92ZV9saWJ0b29sX2xhKCkgewoJaWYgWyAiMSIgIT0gIjAiIF07IHRoZW4K
CQlmaW5kICIvbWVkaWEvcmViZWNjYXMveW9jdG8vbHR0bmcvdG1wL3dvcmsvcWVtdXg4Ni1wb2t5
LWxpbnV4L2x0dG5nLW1vZHVsZXMvMi45LjEtcjAvaW1hZ2UiIC1pZ25vcmVfcmVhZGRpcl9yYWNl
IC1uYW1lICIqLmxhIiAtZGVsZXRlCglmaQp9Cgpzc3RhdGVfY3JlYXRlX3BhY2thZ2UoKSB7CglU
RklMRT1gbWt0ZW1wIC9tZWRpYS9yZWJlY2Nhcy9idWlsZC9zc3RhdGUtY2FjaGUvSU4vc3N0YXRl
Omx0dG5nLW1vZHVsZXM6cWVtdXg4Ni1wb2t5LWxpbnV4OjIuOS4xOnIwOnFlbXV4ODY6MzpJTlZB
TElELlhYWFhYWFhYYAoJIyBOZWVkIHRvIGhhbmRsZSBlbXB0eSBkaXJlY3RvcmllcwoJaWYgWyAi
JChscyAtQSkiIF07IHRoZW4KCQlzZXQgK2UKCQl0YXIgLWN6ZiAkVEZJTEUgKgoJCXJldD0kPwoJ
CWlmIFsgJHJldCAtbmUgMCBdICYmIFsgJHJldCAtbmUgMSBdOyB0aGVuCgkJCWV4aXQgMQoJCWZp
CgkJc2V0IC1lCgllbHNlCgkJdGFyIC1jeiAtLWZpbGU9JFRGSUxFIC0tZmlsZXMtZnJvbT0vZGV2
L251bGwKCWZpCgljaG1vZCAwNjY0ICRURklMRQoJbXYgLWYgJFRGSUxFIC9tZWRpYS9yZWJlY2Nh
cy9idWlsZC9zc3RhdGUtY2FjaGUvSU4vc3N0YXRlOmx0dG5nLW1vZHVsZXM6cWVtdXg4Ni1wb2t5
LWxpbnV4OjIuOS4xOnIwOnFlbXV4ODY6MzpJTlZBTElECn0KCnNzdGF0ZV91bnBhY2tfcGFja2Fn
ZSgpIHsKCXRhciAteHZ6ZiAvbWVkaWEvcmViZWNjYXMvYnVpbGQvc3N0YXRlLWNhY2hlL0lOL3Nz
dGF0ZTpsdHRuZy1tb2R1bGVzOnFlbXV4ODYtcG9reS1saW51eDoyLjkuMTpyMDpxZW11eDg2OjM6
SU5WQUxJRAoJIyB1cGRhdGUgLnNpZ2luZm8gYXRpbWUgb24gbG9jYWwvTkZTIG1pcnJvcgoJWyAt
dyAvbWVkaWEvcmViZWNjYXMvYnVpbGQvc3N0YXRlLWNhY2hlL0lOL3NzdGF0ZTpsdHRuZy1tb2R1
bGVzOnFlbXV4ODYtcG9reS1saW51eDoyLjkuMTpyMDpxZW11eDg2OjM6SU5WQUxJRC5zaWdpbmZv
IF0gJiYgWyAtaCAvbWVkaWEvcmViZWNjYXMvYnVpbGQvc3N0YXRlLWNhY2hlL0lOL3NzdGF0ZTps
dHRuZy1tb2R1bGVzOnFlbXV4ODYtcG9reS1saW51eDoyLjkuMTpyMDpxZW11eDg2OjM6SU5WQUxJ
RC5zaWdpbmZvIF0gJiYgdG91Y2ggLWEgL21lZGlhL3JlYmVjY2FzL2J1aWxkL3NzdGF0ZS1jYWNo
ZS9JTi9zc3RhdGU6bHR0bmctbW9kdWxlczpxZW11eDg2LXBva3ktbGludXg6Mi45LjE6cjA6cWVt
dXg4NjozOklOVkFMSUQuc2lnaW5mbwoJIyBVc2UgIiEgLXcgfHwiIHRvIHJldHVybiB0cnVlIGZv
ciByZWFkIG9ubHkgZmlsZXMKCVsgISAtdyAvbWVkaWEvcmViZWNjYXMvYnVpbGQvc3N0YXRlLWNh
Y2hlL0lOL3NzdGF0ZTpsdHRuZy1tb2R1bGVzOnFlbXV4ODYtcG9reS1saW51eDoyLjkuMTpyMDpx
ZW11eDg2OjM6SU5WQUxJRCBdIHx8IHRvdWNoIC0tbm8tZGVyZWZlcmVuY2UgL21lZGlhL3JlYmVj
Y2FzL2J1aWxkL3NzdGF0ZS1jYWNoZS9JTi9zc3RhdGU6bHR0bmctbW9kdWxlczpxZW11eDg2LXBv
a3ktbGludXg6Mi45LjE6cjA6cWVtdXg4NjozOklOVkFMSUQKCVsgISAtdyAvbWVkaWEvcmViZWNj
YXMvYnVpbGQvc3N0YXRlLWNhY2hlL0lOL3NzdGF0ZTpsdHRuZy1tb2R1bGVzOnFlbXV4ODYtcG9r
eS1saW51eDoyLjkuMTpyMDpxZW11eDg2OjM6SU5WQUxJRC5zaWcgXSB8fCBbICEgLWUgL21lZGlh
L3JlYmVjY2FzL2J1aWxkL3NzdGF0ZS1jYWNoZS9JTi9zc3RhdGU6bHR0bmctbW9kdWxlczpxZW11
eDg2LXBva3ktbGludXg6Mi45LjE6cjA6cWVtdXg4NjozOklOVkFMSUQuc2lnIF0gfHwgdG91Y2gg
LS1uby1kZXJlZmVyZW5jZSAvbWVkaWEvcmViZWNjYXMvYnVpbGQvc3N0YXRlLWNhY2hlL0lOL3Nz
dGF0ZTpsdHRuZy1tb2R1bGVzOnFlbXV4ODYtcG9reS1saW51eDoyLjkuMTpyMDpxZW11eDg2OjM6
SU5WQUxJRC5zaWcKCVsgISAtdyAvbWVkaWEvcmViZWNjYXMvYnVpbGQvc3N0YXRlLWNhY2hlL0lO
L3NzdGF0ZTpsdHRuZy1tb2R1bGVzOnFlbXV4ODYtcG9reS1saW51eDoyLjkuMTpyMDpxZW11eDg2
OjM6SU5WQUxJRC5zaWdpbmZvIF0gfHwgWyAhIC1lIC9tZWRpYS9yZWJlY2Nhcy9idWlsZC9zc3Rh
dGUtY2FjaGUvSU4vc3N0YXRlOmx0dG5nLW1vZHVsZXM6cWVtdXg4Ni1wb2t5LWxpbnV4OjIuOS4x
OnIwOnFlbXV4ODY6MzpJTlZBTElELnNpZ2luZm8gXSB8fCB0b3VjaCAtLW5vLWRlcmVmZXJlbmNl
IC9tZWRpYS9yZWJlY2Nhcy9idWlsZC9zc3RhdGUtY2FjaGUvSU4vc3N0YXRlOmx0dG5nLW1vZHVs
ZXM6cWVtdXg4Ni1wb2t5LWxpbnV4OjIuOS4xOnIwOnFlbXV4ODY6MzpJTlZBTElELnNpZ2luZm8K
fQoKc3lzcm9vdF9zdGFnZV9hbGwoKSB7CglzeXNyb290X3N0YWdlX2RpcnMgL21lZGlhL3JlYmVj
Y2FzL3lvY3RvL2x0dG5nL3RtcC93b3JrL3FlbXV4ODYtcG9reS1saW51eC9sdHRuZy1tb2R1bGVz
LzIuOS4xLXIwL2ltYWdlIC9tZWRpYS9yZWJlY2Nhcy95b2N0by9sdHRuZy90bXAvd29yay9xZW11
eDg2LXBva3ktbGludXgvbHR0bmctbW9kdWxlcy8yLjkuMS1yMC9zeXNyb290LWRlc3RkaXIKfQoK
c3lzcm9vdF9zdGFnZV9kaXIoKSB7CglzcmM9IiQxIgoJZGVzdD0iJDIiCgkjIGlmIHRoZSBzcmMg
ZG9lc24ndCBleGlzdCBkb24ndCBkbyBhbnl0aGluZwoJaWYgWyAhIC1kICIkc3JjIiBdOyB0aGVu
CgkJIHJldHVybgoJZmkKCglta2RpciAtcCAiJGRlc3QiCgkoCgkJY2QgJHNyYwoJCWZpbmQgLiAt
cHJpbnQwIHwgY3BpbyAtLW51bGwgLXBkbHUgJGRlc3QKCSkKfQoKc3lzcm9vdF9zdGFnZV9kaXJz
KCkgewoJZnJvbT0iJDEiCgl0bz0iJDIiCgoJZm9yIGRpciBpbiAgICAgIC91c3IvaW5jbHVkZSAg
ICAgL3Vzci9saWIgICAgIC9saWIgICAgIC9saWIgICAgIC91c3Ivc2hhcmUgOyBkbwoJCXN5c3Jv
b3Rfc3RhZ2VfZGlyICIkZnJvbSRkaXIiICIkdG8kZGlyIgoJZG9uZQoKCSMgUmVtb3ZlIGRpcmVj
dG9yaWVzIHdlIGRvIG5vdCBjYXJlIGFib3V0Cglmb3IgZGlyIGluICAgICAgL3Vzci9zaGFyZS9t
YW4gICAgIC91c3Ivc2hhcmUvZG9jICAgICAvdXNyL3NoYXJlL2luZm8gICAgIC91c3Ivc2hhcmUv
bG9jYWxlICAgICAvdXNyL3NoYXJlL2FwcGxpY2F0aW9ucyAgICAgL3Vzci9zaGFyZS9mb250cyAg
ICAgL3Vzci9zaGFyZS9waXhtYXBzICAgICAvdXNyL2xpYi9sdHRuZy1tb2R1bGVzL3B0ZXN0IDsg
ZG8KCQlybSAtcmYgIiR0byRkaXIiCglkb25lCn0KCgoKcHl0aG9uIF9fYW5vbl8xMDFfX21lZGlh
X3JlYmVjY2FzX3lvY3RvX3Bva3lfbWV0YV9jbGFzc2VzX3NzdGF0ZV9iYmNsYXNzICgpIHsKZGVm
IF9fYW5vbl8xMDFfX21lZGlhX3JlYmVjY2FzX3lvY3RvX3Bva3lfbWV0YV9jbGFzc2VzX3NzdGF0
ZV9iYmNsYXNzKGQpOgogICAgaWYgYmIuZGF0YS5pbmhlcml0c19jbGFzcygnbmF0aXZlJywgZCk6
CiAgICAgICAgZC5zZXRWYXIoJ1NTVEFURV9QS0dBUkNIJywgZC5nZXRWYXIoJ0JVSUxEX0FSQ0gn
LCBGYWxzZSkpCiAgICBlbGlmIGJiLmRhdGEuaW5oZXJpdHNfY2xhc3MoJ2Nyb3Nzc2RrJywgZCk6
CiAgICAgICAgZC5zZXRWYXIoJ1NTVEFURV9QS0dBUkNIJywgZC5leHBhbmQoIiR7QlVJTERfQVJD
SH1fJHtTREtfQVJDSH1fJHtTREtfT1N9IikpCiAgICBlbGlmIGJiLmRhdGEuaW5oZXJpdHNfY2xh
c3MoJ2Nyb3NzJywgZCk6CiAgICAgICAgZC5zZXRWYXIoJ1NTVEFURV9QS0dBUkNIJywgZC5leHBh
bmQoIiR7QlVJTERfQVJDSH1fJHtUQVJHRVRfQVJDSH0iKSkKICAgIGVsaWYgYmIuZGF0YS5pbmhl
cml0c19jbGFzcygnbmF0aXZlc2RrJywgZCk6CiAgICAgICAgZC5zZXRWYXIoJ1NTVEFURV9QS0dB
UkNIJywgZC5leHBhbmQoIiR7U0RLX0FSQ0h9XyR7U0RLX09TfSIpKQogICAgZWxpZiBiYi5kYXRh
LmluaGVyaXRzX2NsYXNzKCdjcm9zcy1jYW5hZGlhbicsIGQpOgogICAgICAgIGQuc2V0VmFyKCdT
U1RBVEVfUEtHQVJDSCcsIGQuZXhwYW5kKCIke1NES19BUkNIfV8ke1BBQ0tBR0VfQVJDSH0iKSkK
ICAgIGVsaWYgYmIuZGF0YS5pbmhlcml0c19jbGFzcygnYWxsYXJjaCcsIGQpIGFuZCBkLmdldFZh
cigiUEFDS0FHRV9BUkNIIikgPT0gImFsbCI6CiAgICAgICAgZC5zZXRWYXIoJ1NTVEFURV9QS0dB
UkNIJywgImFsbGFyY2giKQogICAgZWxzZToKICAgICAgICBkLnNldFZhcignU1NUQVRFX01BTk1B
Q0gnLCBkLmV4cGFuZCgiJHtQQUNLQUdFX0FSQ0h9IikpCgogICAgaWYgYmIuZGF0YS5pbmhlcml0
c19jbGFzcygnbmF0aXZlJywgZCkgb3IgYmIuZGF0YS5pbmhlcml0c19jbGFzcygnY3Jvc3NzZGsn
LCBkKSBvciBiYi5kYXRhLmluaGVyaXRzX2NsYXNzKCdjcm9zcycsIGQpOgogICAgICAgIGQuc2V0
VmFyKCdTU1RBVEVfRVhUUkFQQVRIJywgIiR7TkFUSVZFTFNCU1RSSU5HfS8iKQogICAgICAgIGQu
c2V0VmFyKCdCQl9IQVNIRklMRU5BTUUnLCAiVHJ1ZSAke1NTVEFURV9QS0dTUEVDfSAke1NTVEFU
RV9TV1NQRUN9IikKICAgICAgICBkLnNldFZhcignU1NUQVRFX0VYVFJBUEFUSFdJTERDQVJEJywg
IiovIikKCiAgICB1bmlxdWVfdGFza3MgPSBzb3J0ZWQoc2V0KChkLmdldFZhcignU1NUQVRFVEFT
S1MnKSBvciAiIikuc3BsaXQoKSkpCiAgICBkLnNldFZhcignU1NUQVRFVEFTS1MnLCAiICIuam9p
bih1bmlxdWVfdGFza3MpKQogICAgZm9yIHRhc2sgaW4gdW5pcXVlX3Rhc2tzOgogICAgICAgIGQu
cHJlcGVuZFZhckZsYWcodGFzaywgJ3ByZWZ1bmNzJywgInNzdGF0ZV90YXNrX3ByZWZ1bmMgIikK
ICAgICAgICBkLmFwcGVuZFZhckZsYWcodGFzaywgJ3Bvc3RmdW5jcycsICIgc3N0YXRlX3Rhc2tf
cG9zdGZ1bmMiKQp9CgoKcHl0aG9uIF9fYW5vbl8xMzU2X19tZWRpYV9yZWJlY2Nhc195b2N0b19w
b2t5X21ldGFfY2xhc3Nlc19pbnNhbmVfYmJjbGFzcyAoKSB7CmRlZiBfX2Fub25fMTM1Nl9fbWVk
aWFfcmViZWNjYXNfeW9jdG9fcG9reV9tZXRhX2NsYXNzZXNfaW5zYW5lX2JiY2xhc3MoZCk6CiAg
ICB0ZXN0cyA9IGQuZ2V0VmFyKCdBTExfUUEnKS5zcGxpdCgpCiAgICBpZiAiZGVza3RvcCIgaW4g
dGVzdHM6CiAgICAgICAgZC5hcHBlbmRWYXIoIlBBQ0tBR0VfREVQRU5EUyIsICIgZGVza3RvcC1m
aWxlLXV0aWxzLW5hdGl2ZSIpCgogICAgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAgICAjIENoZWNrIHZh
cmlvdXMgdmFyaWFibGVzCiAgICAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKCiAgICAjIENoZWNraW5nICR7
RklMRVNFWFRSQVBBVEhTfQogICAgZXh0cmFwYXRocyA9IChkLmdldFZhcigiRklMRVNFWFRSQVBB
VEhTIikgb3IgIiIpCiAgICBpZiAnX19kZWZhdWx0JyBub3QgaW4gZXh0cmFwYXRocy5zcGxpdCgi
OiIpOgogICAgICAgIG1zZyA9ICJGSUxFU0VYVFJBUEFUSFMtdmFyaWFibGUsIG11c3QgYWx3YXlz
IHVzZSBfcHJlcGVuZCAob3IgX2FwcGVuZClcbiIKICAgICAgICBtc2cgKz0gInR5cGUgb2YgYXNz
aWdubWVudCwgYW5kIGRvbid0IGZvcmdldCB0aGUgY29sb24uXG4iCiAgICAgICAgbXNnICs9ICJQ
bGVhc2UgYXNzaWduIGl0IHdpdGggdGhlIGZvcm1hdCBvZjpcbiIKICAgICAgICBtc2cgKz0gIiAg
RklMRVNFWFRSQVBBVEhTX2FwcGVuZCA6PSBcIjoke1RISVNESVJ9L1lvdXJfRmlsZXNfUGF0aFwi
IG9yXG4iCiAgICAgICAgbXNnICs9ICIgIEZJTEVTRVhUUkFQQVRIU19wcmVwZW5kIDo9IFwiJHtU
SElTRElSfS9Zb3VyX0ZpbGVzX1BhdGg6XCJcbiIKICAgICAgICBtc2cgKz0gImluIHlvdXIgYmJh
cHBlbmQgZmlsZVxuXG4iCiAgICAgICAgbXNnICs9ICJZb3VyIGluY29ycmVjdCBhc3NpZ25tZW50
IGlzOlxuIgogICAgICAgIG1zZyArPSAiJXNcbiIgJSBleHRyYXBhdGhzCiAgICAgICAgYmIud2Fy
bihtc2cpCgogICAgb3ZlcnJpZGVzID0gZC5nZXRWYXIoJ09WRVJSSURFUycpLnNwbGl0KCc6JykK
ICAgIHBuID0gZC5nZXRWYXIoJ1BOJykKICAgIGlmIHBuIGluIG92ZXJyaWRlczoKICAgICAgICBt
c2cgPSAnUmVjaXBlICVzIGhhcyBQTiBvZiAiJXMiIHdoaWNoIGlzIGluIE9WRVJSSURFUywgdGhp
cyBjYW4gcmVzdWx0IGluIHVuZXhwZWN0ZWQgYmVoYXZpb3VyLicgJSAoZC5nZXRWYXIoIkZJTEUi
KSwgcG4pCiAgICAgICAgcGFja2FnZV9xYV9oYW5kbGVfZXJyb3IoInBuLW92ZXJyaWRlcyIsIG1z
ZywgZCkKCiAgICBpc3N1ZXMgPSBbXQogICAgaWYgKGQuZ2V0VmFyKCdQQUNLQUdFUycpIG9yICIi
KS5zcGxpdCgpOgogICAgICAgIGZvciBkZXAgaW4gKGQuZ2V0VmFyKCdRQURFUEVORFMnKSBvciAi
Iikuc3BsaXQoKToKICAgICAgICAgICAgZC5hcHBlbmRWYXJGbGFnKCdkb19wYWNrYWdlX3FhJywg
J2RlcGVuZHMnLCAiICVzOmRvX3BvcHVsYXRlX3N5c3Jvb3QiICUgZGVwKQogICAgICAgIGZvciB2
YXIgaW4gJ1JERVBFTkRTJywgJ1JSRUNPTU1FTkRTJywgJ1JTVUdHRVNUUycsICdSQ09ORkxJQ1RT
JywgJ1JQUk9WSURFUycsICdSUkVQTEFDRVMnLCAnRklMRVMnLCAncGtnX3ByZWluc3QnLCAncGtn
X3Bvc3RpbnN0JywgJ3BrZ19wcmVybScsICdwa2dfcG9zdHJtJywgJ0FMTE9XX0VNUFRZJzoKICAg
ICAgICAgICAgaWYgZC5nZXRWYXIodmFyLCBGYWxzZSk6CiAgICAgICAgICAgICAgICBpc3N1ZXMu
YXBwZW5kKHZhcikKCiAgICAgICAgZmFrZXJvb3RfdGVzdHMgPSBkLmdldFZhcignRkFLRVJPT1Rf
UUEnKS5zcGxpdCgpCiAgICAgICAgaWYgc2V0KHRlc3RzKSAmIHNldChmYWtlcm9vdF90ZXN0cyk6
CiAgICAgICAgICAgIGQuc2V0VmFyRmxhZygnZG9fcGFja2FnZV9xYScsICdmYWtlcm9vdCcsICcx
JykKICAgICAgICAgICAgZC5hcHBlbmRWYXJGbGFnKCdkb19wYWNrYWdlX3FhJywgJ2RlcGVuZHMn
LCAnIHZpcnR1YWwvZmFrZXJvb3QtbmF0aXZlOmRvX3BvcHVsYXRlX3N5c3Jvb3QnKQogICAgZWxz
ZToKICAgICAgICBkLnNldFZhckZsYWcoJ2RvX3BhY2thZ2VfcWEnLCAncmRlcHRhc2snLCAnJykK
ICAgIGZvciBpIGluIGlzc3VlczoKICAgICAgICBwYWNrYWdlX3FhX2hhbmRsZV9lcnJvcigicGtn
dmFyY2hlY2siLCAiJXM6IFZhcmlhYmxlICVzIGlzIHNldCBhcyBub3QgYmVpbmcgcGFja2FnZSBz
cGVjaWZpYywgcGxlYXNlIGZpeCB0aGlzLiIgJSAoZC5nZXRWYXIoIkZJTEUiKSwgaSksIGQpCiAg
ICBxYV9zYW5lID0gZC5nZXRWYXIoIlFBX1NBTkUiKQogICAgaWYgbm90IHFhX3NhbmU6CiAgICAg
ICAgYmIuZmF0YWwoIkZhdGFsIFFBIGVycm9ycyBmb3VuZCwgZmFpbGluZyB0YXNrLiIpCn0KCgpw
eXRob24gX19hbm9uXzE2N19fbWVkaWFfcmViZWNjYXNfeW9jdG9fcG9reV9tZXRhX2NsYXNzZXNf
YmFzZV9iYmNsYXNzICgpIHsKZGVmIF9fYW5vbl8xNjdfX21lZGlhX3JlYmVjY2FzX3lvY3RvX3Bv
a3lfbWV0YV9jbGFzc2VzX2Jhc2VfYmJjbGFzcyhkKToKICAgIGlmIGQuZ2V0VmFyKCdTJykgIT0g
ZC5nZXRWYXIoJ1dPUktESVInKToKICAgICAgICBkLnNldFZhckZsYWcoJ2RvX3VucGFjaycsICdj
bGVhbmRpcnMnLCAnJHtTfScpCiAgICBlbHNlOgogICAgICAgIGQuc2V0VmFyRmxhZygnZG9fdW5w
YWNrJywgJ2NsZWFuZGlycycsIG9zLnBhdGguam9pbignJHtTfScsICdwYXRjaGVzJykpCn0KCgpw
eXRob24gX19hbm9uXzE5X19tZWRpYV9yZWJlY2Nhc195b2N0b19wb2t5X21ldGFfY2xhc3Nlc19t
b2R1bGVfYmJjbGFzcyAoKSB7CmRlZiBfX2Fub25fMTlfX21lZGlhX3JlYmVjY2FzX3lvY3RvX3Bv
a3lfbWV0YV9jbGFzc2VzX21vZHVsZV9iYmNsYXNzKGQpOgogICAgZGVwZW5kcyA9IGQuZ2V0VmFy
KCdERVBFTkRTJykKICAgIGV4dHJhX3N5bWJvbHMgPSBbXQogICAgZm9yIGRlcCBpbiBkZXBlbmRz
LnNwbGl0KCk6CiAgICAgICAgaWYgZGVwLnN0YXJ0c3dpdGgoImtlcm5lbC1tb2R1bGUtIik6CiAg
ICAgICAgICAgIGV4dHJhX3N5bWJvbHMuYXBwZW5kKCIke1NUQUdJTkdfSU5DRElSfS8iICsgZGVw
ICsgIi9Nb2R1bGUuc3ltdmVycyIpCiAgICBkLnNldFZhcignS0JVSUxEX0VYVFJBX1NZTUJPTFMn
LCAiICIuam9pbihleHRyYV9zeW1ib2xzKSkKfQoKCnB5dGhvbiBfX2Fub25fMjBfX21lZGlhX3Jl
YmVjY2FzX3lvY3RvX3Bva3lfbWV0YV9jbGFzc2VzX2JsYWNrbGlzdF9iYmNsYXNzICgpIHsKZGVm
IF9fYW5vbl8yMF9fbWVkaWFfcmViZWNjYXNfeW9jdG9fcG9reV9tZXRhX2NsYXNzZXNfYmxhY2ts
aXN0X2JiY2xhc3MoZCk6CiAgICBibGFja2xpc3QgPSBkLmdldFZhckZsYWcoJ1BOQkxBQ0tMSVNU
JywgZC5nZXRWYXIoJ1BOJykpCgogICAgaWYgYmxhY2tsaXN0OgogICAgICAgIHJhaXNlIGJiLnBh
cnNlLlNraXBQYWNrYWdlKCJSZWNpcGUgaXMgYmxhY2tsaXN0ZWQ6ICVzIiAlIChibGFja2xpc3Qp
KQp9CgoKcHl0aG9uIF9fYW5vbl8yNTBfX21lZGlhX3JlYmVjY2FzX3lvY3RvX3Bva3lfbWV0YV9j
bGFzc2VzX3BhY2thZ2VfYmJjbGFzcyAoKSB7CmRlZiBfX2Fub25fMjUwX19tZWRpYV9yZWJlY2Nh
c195b2N0b19wb2t5X21ldGFfY2xhc3Nlc19wYWNrYWdlX2JiY2xhc3MoZCk6CiAgICBpZiBkLmdl
dFZhcignUEFDS0FHRVMnKSAhPSAnJzoKICAgICAgICBkZXBzID0gIiIKICAgICAgICBmb3IgZGVw
IGluIChkLmdldFZhcignUEFDS0FHRV9ERVBFTkRTJykgb3IgIiIpLnNwbGl0KCk6CiAgICAgICAg
ICAgIGRlcHMgKz0gIiAlczpkb19wb3B1bGF0ZV9zeXNyb290IiAlIGRlcAogICAgICAgIGQuYXBw
ZW5kVmFyRmxhZygnZG9fcGFja2FnZScsICdkZXBlbmRzJywgZGVwcykKCiAgICAgICAgIyBzaGxp
YnMgcmVxdWlyZXMgYW55IERFUEVORFMgdG8gaGF2ZSBhbHJlYWR5IHBhY2thZ2VkIGZvciB0aGUg
Ki5saXN0IGZpbGVzCiAgICAgICAgZC5hcHBlbmRWYXJGbGFnKCdkb19wYWNrYWdlJywgJ2RlcHRh
c2snLCAiIGRvX3BhY2thZ2VkYXRhIikKfQoKCnB5dGhvbiBfX2Fub25fMjVfX21lZGlhX3JlYmVj
Y2FzX3lvY3RvX3Bva3lfbWV0YV9jbGFzc2VzX2RlYmlhbl9iYmNsYXNzICgpIHsKZGVmIF9fYW5v
bl8yNV9fbWVkaWFfcmViZWNjYXNfeW9jdG9fcG9reV9tZXRhX2NsYXNzZXNfZGViaWFuX2JiY2xh
c3MoZCk6CiAgICBpZiBub3QgZC5nZXRWYXIoIlBBQ0tBR0VTIik6CiAgICAgICAgZC5zZXRWYXIo
IkRFQklBTlJERVAiLCAiIikKfQoKCnB5dGhvbiBfX2Fub25fMjVfX21lZGlhX3JlYmVjY2FzX3lv
Y3RvX3Bva3lfbWV0YV9jbGFzc2VzX3BhdGNoX2JiY2xhc3MgKCkgewpkZWYgX19hbm9uXzI1X19t
ZWRpYV9yZWJlY2Nhc195b2N0b19wb2t5X21ldGFfY2xhc3Nlc19wYXRjaF9iYmNsYXNzKGQpOgog
ICAgaWYgZC5nZXRWYXIoJ1BBVENIVE9PTCcpID09ICdnaXQnIGFuZCBkLmdldFZhcignUEFUQ0hf
Q09NTUlUX0ZVTkNUSU9OUycpID09ICcxJzoKICAgICAgICBleHRyYXRhc2tzID0gYmIuYnVpbGQu
dGFza3NiZXR3ZWVuKCdkb191bnBhY2snLCAnZG9fcGF0Y2gnLCBkKQogICAgICAgIHRyeToKICAg
ICAgICAgICAgZXh0cmF0YXNrcy5yZW1vdmUoJ2RvX3VucGFjaycpCiAgICAgICAgZXhjZXB0IFZh
bHVlRXJyb3I6CiAgICAgICAgICAgICMgRm9yIHNvbWUgcmVjaXBlcyBkb191bnBhY2sgZG9lc24n
dCBleGlzdCwgaWdub3JlIGl0CiAgICAgICAgICAgIHBhc3MKCiAgICAgICAgZC5hcHBlbmRWYXJG
bGFnKCdkb19wYXRjaCcsICdwcmVmdW5jcycsICcgcGF0Y2hfdGFza19wYXRjaF9wcmVmdW5jJykK
ICAgICAgICBmb3IgdGFzayBpbiBleHRyYXRhc2tzOgogICAgICAgICAgICBkLmFwcGVuZFZhckZs
YWcodGFzaywgJ3Bvc3RmdW5jcycsICcgcGF0Y2hfdGFza19wb3N0ZnVuYycpCn0KCgpweXRob24g
X19hbm9uXzM1X19tZWRpYV9yZWJlY2Nhc195b2N0b19wb2t5X21ldGFfY2xhc3Nlc19kZXZzaGVs
bF9iYmNsYXNzICgpIHsKZGVmIF9fYW5vbl8zNV9fbWVkaWFfcmViZWNjYXNfeW9jdG9fcG9reV9t
ZXRhX2NsYXNzZXNfZGV2c2hlbGxfYmJjbGFzcyhkKToKICAgIGlmIGQuZ2V0VmFyRmxhZygiZG9f
ZGV2c2hlbGwiLCAiZmFrZXJvb3QiKToKICAgICAgICMgV2UgbmVlZCB0byBzaWduYWwgb3VyIGNv
ZGUgdGhhdCB3ZSB3YW50IGZha2Vyb290IGhvd2V2ZXIgd2UKICAgICAgICMgY2FuJ3QgbWFuaXB1
bGF0ZSB0aGUgZW52aXJvbm1lbnQgYW5kIHZhcmlhYmxlcyBoZXJlIHlldCAoc2VlIFlPQ1RPICM0
Nzk1KQogICAgICAgZC5zZXRWYXJGbGFnKCJkb19kZXZzaGVsbCIsICJtYW51YWxmYWtlcm9vdCIs
ICIxIikKICAgICAgIGQuZGVsVmFyRmxhZygiZG9fZGV2c2hlbGwiLCAiZmFrZXJvb3QiKQp9CgoK
cHl0aG9uIF9fYW5vbl82NzlfX21lZGlhX3JlYmVjY2FzX3lvY3RvX3Bva3lfbWV0YV9jbGFzc2Vz
X2Jhc2VfYmJjbGFzcyAoKSB7CmRlZiBfX2Fub25fNjc5X19tZWRpYV9yZWJlY2Nhc195b2N0b19w
b2t5X21ldGFfY2xhc3Nlc19iYXNlX2JiY2xhc3MoZCk6CiAgICBpbXBvcnQgc3RyaW5nLCByZQoK
ICAgICMgSGFuZGxlIFBBQ0tBR0VDT05GSUcKICAgICMKICAgICMgVGhlc2UgdGFrZSB0aGUgZm9y
bToKICAgICMKICAgICMgUEFDS0FHRUNPTkZJRyA/Pz0gIjxkZWZhdWx0IG9wdGlvbnM+IgogICAg
IyBQQUNLQUdFQ09ORklHW2Zvb10gPSAiLS1lbmFibGUtZm9vLC0tZGlzYWJsZS1mb28sZm9vX2Rl
cGVuZHMsZm9vX3J1bnRpbWVfZGVwZW5kcyIKICAgIHBrZ2NvbmZpZ2ZsYWdzID0gZC5nZXRWYXJG
bGFncygiUEFDS0FHRUNPTkZJRyIpIG9yIHt9CiAgICBpZiBwa2djb25maWdmbGFnczoKICAgICAg
ICBwa2djb25maWcgPSAoZC5nZXRWYXIoJ1BBQ0tBR0VDT05GSUcnKSBvciAiIikuc3BsaXQoKQog
ICAgICAgIHBuID0gZC5nZXRWYXIoIlBOIikKCiAgICAgICAgbWxwcmVmaXggPSBkLmdldFZhcigi
TUxQUkVGSVgiKQoKICAgICAgICBkZWYgZXhwYW5kRmlsdGVyKGFwcGVuZHMsIGV4dGVuc2lvbiwg
cHJlZml4KToKICAgICAgICAgICAgYXBwZW5kcyA9IGJiLnV0aWxzLmV4cGxvZGVfZGVwcyhkLmV4
cGFuZCgiICIuam9pbihhcHBlbmRzKSkpCiAgICAgICAgICAgIG5ld2FwcGVuZHMgPSBbXQogICAg
ICAgICAgICBmb3IgYSBpbiBhcHBlbmRzOgogICAgICAgICAgICAgICAgaWYgYS5lbmRzd2l0aCgi
LW5hdGl2ZSIpIG9yICgiLWNyb3NzLSIgaW4gYSk6CiAgICAgICAgICAgICAgICAgICAgbmV3YXBw
ZW5kcy5hcHBlbmQoYSkKICAgICAgICAgICAgICAgIGVsaWYgYS5zdGFydHN3aXRoKCJ2aXJ0dWFs
LyIpOgogICAgICAgICAgICAgICAgICAgIHN1YnMgPSBhLnNwbGl0KCIvIiwgMSlbMV0KICAgICAg
ICAgICAgICAgICAgICBpZiBzdWJzLnN0YXJ0c3dpdGgocHJlZml4KToKICAgICAgICAgICAgICAg
ICAgICAgICAgbmV3YXBwZW5kcy5hcHBlbmQoYSArIGV4dGVuc2lvbikKICAgICAgICAgICAgICAg
ICAgICBlbHNlOgogICAgICAgICAgICAgICAgICAgICAgICBuZXdhcHBlbmRzLmFwcGVuZCgidmly
dHVhbC8iICsgcHJlZml4ICsgc3VicyArIGV4dGVuc2lvbikKICAgICAgICAgICAgICAgIGVsc2U6
CiAgICAgICAgICAgICAgICAgICAgaWYgYS5zdGFydHN3aXRoKHByZWZpeCk6CiAgICAgICAgICAg
ICAgICAgICAgICAgIG5ld2FwcGVuZHMuYXBwZW5kKGEgKyBleHRlbnNpb24pCiAgICAgICAgICAg
ICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICAgICAgICAgbmV3YXBwZW5kcy5hcHBlbmQo
cHJlZml4ICsgYSArIGV4dGVuc2lvbikKICAgICAgICAgICAgcmV0dXJuIG5ld2FwcGVuZHMKCiAg
ICAgICAgZGVmIGFwcGVuZFZhcih2YXJuYW1lLCBhcHBlbmRzKToKICAgICAgICAgICAgaWYgbm90
IGFwcGVuZHM6CiAgICAgICAgICAgICAgICByZXR1cm4KICAgICAgICAgICAgaWYgdmFybmFtZS5m
aW5kKCJERVBFTkRTIikgIT0gLTE6CiAgICAgICAgICAgICAgICBpZiBiYi5kYXRhLmluaGVyaXRz
X2NsYXNzKCduYXRpdmVzZGsnLCBkKSBvciBiYi5kYXRhLmluaGVyaXRzX2NsYXNzKCdjcm9zcy1j
YW5hZGlhbicsIGQpIDoKICAgICAgICAgICAgICAgICAgICBhcHBlbmRzID0gZXhwYW5kRmlsdGVy
KGFwcGVuZHMsICIiLCAibmF0aXZlc2RrLSIpCiAgICAgICAgICAgICAgICBlbGlmIGJiLmRhdGEu
aW5oZXJpdHNfY2xhc3MoJ25hdGl2ZScsIGQpOgogICAgICAgICAgICAgICAgICAgIGFwcGVuZHMg
PSBleHBhbmRGaWx0ZXIoYXBwZW5kcywgIi1uYXRpdmUiLCAiIikKICAgICAgICAgICAgICAgIGVs
aWYgbWxwcmVmaXg6CiAgICAgICAgICAgICAgICAgICAgYXBwZW5kcyA9IGV4cGFuZEZpbHRlcihh
cHBlbmRzLCAiIiwgbWxwcmVmaXgpCiAgICAgICAgICAgIHZhcm5hbWUgPSBkLmV4cGFuZCh2YXJu
YW1lKQogICAgICAgICAgICBkLmFwcGVuZFZhcih2YXJuYW1lLCAiICIgKyAiICIuam9pbihhcHBl
bmRzKSkKCiAgICAgICAgZXh0cmFkZXBzID0gW10KICAgICAgICBleHRyYXJkZXBzID0gW10KICAg
ICAgICBleHRyYWNvbmYgPSBbXQogICAgICAgIGZvciBmbGFnLCBmbGFndmFsIGluIHNvcnRlZChw
a2djb25maWdmbGFncy5pdGVtcygpKToKICAgICAgICAgICAgaXRlbXMgPSBmbGFndmFsLnNwbGl0
KCIsIikKICAgICAgICAgICAgbnVtID0gbGVuKGl0ZW1zKQogICAgICAgICAgICBpZiBudW0gPiA0
OgogICAgICAgICAgICAgICAgYmIuZXJyb3IoIiVzOiBQQUNLQUdFQ09ORklHWyVzXSBPbmx5IGVu
YWJsZSxkaXNhYmxlLGRlcGVuZCxyZGVwZW5kIGNhbiBiZSBzcGVjaWZpZWQhIgogICAgICAgICAg
ICAgICAgICAgICUgKGQuZ2V0VmFyKCdQTicpLCBmbGFnKSkKCiAgICAgICAgICAgIGlmIGZsYWcg
aW4gcGtnY29uZmlnOgogICAgICAgICAgICAgICAgaWYgbnVtID49IDMgYW5kIGl0ZW1zWzJdOgog
ICAgICAgICAgICAgICAgICAgIGV4dHJhZGVwcy5hcHBlbmQoaXRlbXNbMl0pCiAgICAgICAgICAg
ICAgICBpZiBudW0gPj0gNCBhbmQgaXRlbXNbM106CiAgICAgICAgICAgICAgICAgICAgZXh0cmFy
ZGVwcy5hcHBlbmQoaXRlbXNbM10pCiAgICAgICAgICAgICAgICBpZiBudW0gPj0gMSBhbmQgaXRl
bXNbMF06CiAgICAgICAgICAgICAgICAgICAgZXh0cmFjb25mLmFwcGVuZChpdGVtc1swXSkKICAg
ICAgICAgICAgZWxpZiBudW0gPj0gMiBhbmQgaXRlbXNbMV06CiAgICAgICAgICAgICAgICAgICAg
ZXh0cmFjb25mLmFwcGVuZChpdGVtc1sxXSkKICAgICAgICBhcHBlbmRWYXIoJ0RFUEVORFMnLCBl
eHRyYWRlcHMpCiAgICAgICAgYXBwZW5kVmFyKCdSREVQRU5EU18ke1BOfScsIGV4dHJhcmRlcHMp
CiAgICAgICAgYXBwZW5kVmFyKCdQQUNLQUdFQ09ORklHX0NPTkZBUkdTJywgZXh0cmFjb25mKQoK
ICAgIHBuID0gZC5nZXRWYXIoJ1BOJykKICAgIGxpY2Vuc2UgPSBkLmdldFZhcignTElDRU5TRScp
CiAgICBpZiBsaWNlbnNlID09ICJJTlZBTElEIjoKICAgICAgICBiYi5mYXRhbCgnVGhpcyByZWNp
cGUgZG9lcyBub3QgaGF2ZSB0aGUgTElDRU5TRSBmaWVsZCBzZXQgKCVzKScgJSBwbikKCiAgICBp
ZiBiYi5kYXRhLmluaGVyaXRzX2NsYXNzKCdsaWNlbnNlJywgZCk6CiAgICAgICAgY2hlY2tfbGlj
ZW5zZV9mb3JtYXQoZCkKICAgICAgICB1bm1hdGNoZWRfbGljZW5zZV9mbGFnID0gY2hlY2tfbGlj
ZW5zZV9mbGFncyhkKQogICAgICAgIGlmIHVubWF0Y2hlZF9saWNlbnNlX2ZsYWc6CiAgICAgICAg
ICAgIGJiLmRlYnVnKDEsICJTa2lwcGluZyAlcyBiZWNhdXNlIGl0IGhhcyBhIHJlc3RyaWN0ZWQg
bGljZW5zZSBub3QiCiAgICAgICAgICAgICAgICAgIiB3aGl0ZWxpc3RlZCBpbiBMSUNFTlNFX0ZM
QUdTX1dISVRFTElTVCIgJSBwbikKICAgICAgICAgICAgcmFpc2UgYmIucGFyc2UuU2tpcFBhY2th
Z2UoImJlY2F1c2UgaXQgaGFzIGEgcmVzdHJpY3RlZCBsaWNlbnNlIG5vdCIKICAgICAgICAgICAg
ICAgICAiIHdoaXRlbGlzdGVkIGluIExJQ0VOU0VfRkxBR1NfV0hJVEVMSVNUIikKCiAgICAjIElm
IHdlJ3JlIGJ1aWxkaW5nIGEgdGFyZ2V0IHBhY2thZ2Ugd2UgbmVlZCB0byB1c2UgZmFrZXJvb3Qg
KHBzZXVkbykKICAgICMgaW4gb3JkZXIgdG8gY2FwdHVyZSBwZXJtaXNzaW9ucywgb3duZXJzLCBn
cm91cHMgYW5kIHNwZWNpYWwgZmlsZXMKICAgIGlmIG5vdCBiYi5kYXRhLmluaGVyaXRzX2NsYXNz
KCduYXRpdmUnLCBkKSBhbmQgbm90IGJiLmRhdGEuaW5oZXJpdHNfY2xhc3MoJ2Nyb3NzJywgZCk6
CiAgICAgICAgZC5zZXRWYXJGbGFnKCdkb191bnBhY2snLCAndW1hc2snLCAnMDIyJykKICAgICAg
ICBkLnNldFZhckZsYWcoJ2RvX2NvbmZpZ3VyZScsICd1bWFzaycsICcwMjInKQogICAgICAgIGQu
c2V0VmFyRmxhZygnZG9fY29tcGlsZScsICd1bWFzaycsICcwMjInKQogICAgICAgIGQuYXBwZW5k
VmFyRmxhZygnZG9faW5zdGFsbCcsICdkZXBlbmRzJywgJyB2aXJ0dWFsL2Zha2Vyb290LW5hdGl2
ZTpkb19wb3B1bGF0ZV9zeXNyb290JykKICAgICAgICBkLnNldFZhckZsYWcoJ2RvX2luc3RhbGwn
LCAnZmFrZXJvb3QnLCAnMScpCiAgICAgICAgZC5zZXRWYXJGbGFnKCdkb19pbnN0YWxsJywgJ3Vt
YXNrJywgJzAyMicpCiAgICAgICAgZC5hcHBlbmRWYXJGbGFnKCdkb19wYWNrYWdlJywgJ2RlcGVu
ZHMnLCAnIHZpcnR1YWwvZmFrZXJvb3QtbmF0aXZlOmRvX3BvcHVsYXRlX3N5c3Jvb3QnKQogICAg
ICAgIGQuc2V0VmFyRmxhZygnZG9fcGFja2FnZScsICdmYWtlcm9vdCcsICcxJykKICAgICAgICBk
LnNldFZhckZsYWcoJ2RvX3BhY2thZ2UnLCAndW1hc2snLCAnMDIyJykKICAgICAgICBkLnNldFZh
ckZsYWcoJ2RvX3BhY2thZ2Vfc2V0c2NlbmUnLCAnZmFrZXJvb3QnLCAnMScpCiAgICAgICAgZC5h
cHBlbmRWYXJGbGFnKCdkb19wYWNrYWdlX3NldHNjZW5lJywgJ2RlcGVuZHMnLCAnIHZpcnR1YWwv
ZmFrZXJvb3QtbmF0aXZlOmRvX3BvcHVsYXRlX3N5c3Jvb3QnKQogICAgICAgIGQuc2V0VmFyRmxh
ZygnZG9fZGV2c2hlbGwnLCAnZmFrZXJvb3QnLCAnMScpCiAgICAgICAgZC5hcHBlbmRWYXJGbGFn
KCdkb19kZXZzaGVsbCcsICdkZXBlbmRzJywgJyB2aXJ0dWFsL2Zha2Vyb290LW5hdGl2ZTpkb19w
b3B1bGF0ZV9zeXNyb290JykKCiAgICBuZWVkX21hY2hpbmUgPSBkLmdldFZhcignQ09NUEFUSUJM
RV9NQUNISU5FJykKICAgIGlmIG5lZWRfbWFjaGluZToKICAgICAgICBpbXBvcnQgcmUKICAgICAg
ICBjb21wYXRfbWFjaGluZXMgPSAoZC5nZXRWYXIoJ01BQ0hJTkVPVkVSUklERVMnKSBvciAiIiku
c3BsaXQoIjoiKQogICAgICAgIGZvciBtIGluIGNvbXBhdF9tYWNoaW5lczoKICAgICAgICAgICAg
aWYgcmUubWF0Y2gobmVlZF9tYWNoaW5lLCBtKToKICAgICAgICAgICAgICAgIGJyZWFrCiAgICAg
ICAgZWxzZToKICAgICAgICAgICAgcmFpc2UgYmIucGFyc2UuU2tpcFBhY2thZ2UoImluY29tcGF0
aWJsZSB3aXRoIG1hY2hpbmUgJXMgKG5vdCBpbiBDT01QQVRJQkxFX01BQ0hJTkUpIiAlIGQuZ2V0
VmFyKCdNQUNISU5FJykpCgogICAgc291cmNlX21pcnJvcl9mZXRjaCA9IGQuZ2V0VmFyKCdTT1VS
Q0VfTUlSUk9SX0ZFVENIJywgRmFsc2UpCiAgICBpZiBub3Qgc291cmNlX21pcnJvcl9mZXRjaDoK
ICAgICAgICBuZWVkX2hvc3QgPSBkLmdldFZhcignQ09NUEFUSUJMRV9IT1NUJykKICAgICAgICBp
ZiBuZWVkX2hvc3Q6CiAgICAgICAgICAgIGltcG9ydCByZQogICAgICAgICAgICB0aGlzX2hvc3Qg
PSBkLmdldFZhcignSE9TVF9TWVMnKQogICAgICAgICAgICBpZiBub3QgcmUubWF0Y2gobmVlZF9o
b3N0LCB0aGlzX2hvc3QpOgogICAgICAgICAgICAgICAgcmFpc2UgYmIucGFyc2UuU2tpcFBhY2th
Z2UoImluY29tcGF0aWJsZSB3aXRoIGhvc3QgJXMgKG5vdCBpbiBDT01QQVRJQkxFX0hPU1QpIiAl
IHRoaXNfaG9zdCkKCiAgICAgICAgYmFkX2xpY2Vuc2VzID0gKGQuZ2V0VmFyKCdJTkNPTVBBVElC
TEVfTElDRU5TRScpIG9yICIiKS5zcGxpdCgpCgogICAgICAgIGNoZWNrX2xpY2Vuc2UgPSBGYWxz
ZSBpZiBwbi5zdGFydHN3aXRoKCJuYXRpdmVzZGstIikgZWxzZSBUcnVlCiAgICAgICAgZm9yIHQg
aW4gWyItbmF0aXZlIiwgIi1jcm9zcy0ke1RBUkdFVF9BUkNIfSIsICItY3Jvc3MtaW5pdGlhbC0k
e1RBUkdFVF9BUkNIfSIsCiAgICAgICAgICAgICAgIi1jcm9zc3Nkay0ke1NES19TWVN9IiwgIi1j
cm9zc3Nkay1pbml0aWFsLSR7U0RLX1NZU30iLAogICAgICAgICAgICAgICItY3Jvc3MtY2FuYWRp
YW4tJHtUUkFOU0xBVEVEX1RBUkdFVF9BUkNIfSJdOgogICAgICAgICAgICBpZiBwbi5lbmRzd2l0
aChkLmV4cGFuZCh0KSk6CiAgICAgICAgICAgICAgICBjaGVja19saWNlbnNlID0gRmFsc2UKICAg
ICAgICBpZiBwbi5zdGFydHN3aXRoKCJnY2Mtc291cmNlLSIpOgogICAgICAgICAgICBjaGVja19s
aWNlbnNlID0gRmFsc2UKCiAgICAgICAgaWYgY2hlY2tfbGljZW5zZSBhbmQgYmFkX2xpY2Vuc2Vz
OgogICAgICAgICAgICBiYWRfbGljZW5zZXMgPSBleHBhbmRfd2lsZGNhcmRfbGljZW5zZXMoZCwg
YmFkX2xpY2Vuc2VzKQoKICAgICAgICAgICAgd2hpdGVsaXN0ID0gW10KICAgICAgICAgICAgaW5j
b21wYXR3bCA9IFtdCiAgICAgICAgICAgIGZvciBsaWMgaW4gYmFkX2xpY2Vuc2VzOgogICAgICAg
ICAgICAgICAgc3BkeF9saWNlbnNlID0gcmV0dXJuX3NwZHgoZCwgbGljKQogICAgICAgICAgICAg
ICAgZm9yIHcgaW4gWyJMR1BMdjJfV0hJVEVMSVNUXyIsICJXSElURUxJU1RfIl06CiAgICAgICAg
ICAgICAgICAgICAgd2hpdGVsaXN0LmV4dGVuZCgoZC5nZXRWYXIodyArIGxpYykgb3IgIiIpLnNw
bGl0KCkpCiAgICAgICAgICAgICAgICAgICAgaWYgc3BkeF9saWNlbnNlOgogICAgICAgICAgICAg
ICAgICAgICAgICB3aGl0ZWxpc3QuZXh0ZW5kKChkLmdldFZhcih3ICsgc3BkeF9saWNlbnNlKSBv
ciAiIikuc3BsaXQoKSkKICAgICAgICAgICAgICAgICAgICAnJycKICAgICAgICAgICAgICAgICAg
ICBXZSBuZWVkIHRvIHRyYWNrIHdoYXQgd2UgYXJlIHdoaXRlbGlzdGluZyBhbmQgd2h5LiBJZiBw
biBpcwogICAgICAgICAgICAgICAgICAgIGluY29tcGF0aWJsZSB3ZSBuZWVkIHRvIGJlIGFibGUg
dG8gbm90ZSB0aGF0IHRoZSBpbWFnZSB0aGF0CiAgICAgICAgICAgICAgICAgICAgaXMgY3JlYXRl
ZCBtYXkgaW5mYWN0IGNvbnRhaW4gaW5jb21wYXRpYmxlIGxpY2Vuc2VzIGRlc3BpdGUKICAgICAg
ICAgICAgICAgICAgICBJTkNPTVBBVElCTEVfTElDRU5TRSBiZWluZyBzZXQuCiAgICAgICAgICAg
ICAgICAgICAgJycnCiAgICAgICAgICAgICAgICAgICAgaW5jb21wYXR3bC5leHRlbmQoKGQuZ2V0
VmFyKHcgKyBsaWMpIG9yICIiKS5zcGxpdCgpKQogICAgICAgICAgICAgICAgICAgIGlmIHNwZHhf
bGljZW5zZToKICAgICAgICAgICAgICAgICAgICAgICAgaW5jb21wYXR3bC5leHRlbmQoKGQuZ2V0
VmFyKHcgKyBzcGR4X2xpY2Vuc2UpIG9yICIiKS5zcGxpdCgpKQoKICAgICAgICAgICAgaWYgbm90
IHBuIGluIHdoaXRlbGlzdDoKICAgICAgICAgICAgICAgIHBrZ3MgPSBkLmdldFZhcignUEFDS0FH
RVMnKS5zcGxpdCgpCiAgICAgICAgICAgICAgICBza2lwcGVkX3BrZ3MgPSBbXQogICAgICAgICAg
ICAgICAgdW5za2lwcGVkX3BrZ3MgPSBbXQogICAgICAgICAgICAgICAgZm9yIHBrZyBpbiBwa2dz
OgogICAgICAgICAgICAgICAgICAgIGlmIGluY29tcGF0aWJsZV9saWNlbnNlKGQsIGJhZF9saWNl
bnNlcywgcGtnKToKICAgICAgICAgICAgICAgICAgICAgICAgc2tpcHBlZF9wa2dzLmFwcGVuZChw
a2cpCiAgICAgICAgICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICAgICAgICAgdW5z
a2lwcGVkX3BrZ3MuYXBwZW5kKHBrZykKICAgICAgICAgICAgICAgIGFsbF9za2lwcGVkID0gc2tp
cHBlZF9wa2dzIGFuZCBub3QgdW5za2lwcGVkX3BrZ3MKICAgICAgICAgICAgICAgIGlmIHVuc2tp
cHBlZF9wa2dzOgogICAgICAgICAgICAgICAgICAgIGZvciBwa2cgaW4gc2tpcHBlZF9wa2dzOgog
ICAgICAgICAgICAgICAgICAgICAgICBiYi5kZWJ1ZygxLCAiU0tJUFBJTkcgdGhlIHBhY2thZ2Ug
IiArIHBrZyArICIgYXQgZG9fcm9vdGZzIGJlY2F1c2UgaXQncyAiICsgbGljZW5zZSkKICAgICAg
ICAgICAgICAgICAgICAgICAgbWxwcmVmaXggPSBkLmdldFZhcignTUxQUkVGSVgnKQogICAgICAg
ICAgICAgICAgICAgICAgICBkLnNldFZhcignTElDRU5TRV9FWENMVVNJT04tJyArIG1scHJlZml4
ICsgcGtnLCAxKQogICAgICAgICAgICAgICAgICAgIGZvciBwa2cgaW4gdW5za2lwcGVkX3BrZ3M6
CiAgICAgICAgICAgICAgICAgICAgICAgIGJiLmRlYnVnKDEsICJJTkNMVURJTkcgdGhlIHBhY2th
Z2UgIiArIHBrZykKICAgICAgICAgICAgICAgIGVsaWYgYWxsX3NraXBwZWQgb3IgaW5jb21wYXRp
YmxlX2xpY2Vuc2UoZCwgYmFkX2xpY2Vuc2VzKToKICAgICAgICAgICAgICAgICAgICBiYi5kZWJ1
ZygxLCAiU0tJUFBJTkcgcmVjaXBlICVzIGJlY2F1c2UgaXQncyAlcyIgJSAocG4sIGxpY2Vuc2Up
KQogICAgICAgICAgICAgICAgICAgIHJhaXNlIGJiLnBhcnNlLlNraXBQYWNrYWdlKCJpdCBoYXMg
YW4gaW5jb21wYXRpYmxlIGxpY2Vuc2U6ICVzIiAlIGxpY2Vuc2UpCiAgICAgICAgICAgIGVsaWYg
cG4gaW4gd2hpdGVsaXN0OgogICAgICAgICAgICAgICAgaWYgcG4gaW4gaW5jb21wYXR3bDoKICAg
ICAgICAgICAgICAgICAgICBiYi5ub3RlKCJJTkNMVURJTkcgIiArIHBuICsgIiBhcyBidWlsZGFi
bGUgZGVzcGl0ZSBJTkNPTVBBVElCTEVfTElDRU5TRSBiZWNhdXNlIGl0IGhhcyBiZWVuIHdoaXRl
bGlzdGVkIikKCiAgICAgICAgIyBUcnkgdG8gdmVyaWZ5IHBlci1wYWNrYWdlIChMSUNFTlNFXzxw
a2c+KSB2YWx1ZXMuIExJQ0VOU0Ugc2hvdWxkIGJlIGEKICAgICAgICAjIHN1cGVyc2V0IG9mIGFs
bCBwZXItcGFja2FnZSBsaWNlbnNlcy4gV2UgZG8gbm90IGRvIGFkdmFuY2VkIChwYXR0ZXJuKQog
ICAgICAgICMgbWF0Y2hpbmcgb2YgbGljZW5zZSBleHByZXNzaW9ucyAtIGp1c3QgY2hlY2sgdGhh
dCBhbGwgbGljZW5zZSBzdHJpbmdzCiAgICAgICAgIyBpbiBMSUNFTlNFXzxwa2c+IGFyZSBmb3Vu
ZCBpbiBMSUNFTlNFLgogICAgICAgIGxpY2Vuc2Vfc2V0ID0gb2UubGljZW5zZS5saXN0X2xpY2Vu
c2VzKGxpY2Vuc2UpCiAgICAgICAgZm9yIHBrZyBpbiBkLmdldFZhcignUEFDS0FHRVMnKS5zcGxp
dCgpOgogICAgICAgICAgICBwa2dfbGljZW5zZSA9IGQuZ2V0VmFyKCdMSUNFTlNFXycgKyBwa2cp
CiAgICAgICAgICAgIGlmIHBrZ19saWNlbnNlOgogICAgICAgICAgICAgICAgdW5saXN0ZWQgPSBv
ZS5saWNlbnNlLmxpc3RfbGljZW5zZXMocGtnX2xpY2Vuc2UpIC0gbGljZW5zZV9zZXQKICAgICAg
ICAgICAgICAgIGlmIHVubGlzdGVkOgogICAgICAgICAgICAgICAgICAgIGJiLndhcm4oIkxJQ0VO
U0VfJXMgaW5jbHVkZXMgbGljZW5zZXMgKCVzKSB0aGF0IGFyZSBub3QgIgogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgImxpc3RlZCBpbiBMSUNFTlNFIiAlIChwa2csICcgJy5qb2luKHVubGlz
dGVkKSkpCgogICAgbmVlZHNyY3JldiA9IEZhbHNlCiAgICBzcmN1cmkgPSBkLmdldFZhcignU1JD
X1VSSScpCiAgICBmb3IgdXJpIGluIHNyY3VyaS5zcGxpdCgpOgogICAgICAgIChzY2hlbWUsIF8g
LCBwYXRoKSA9IGJiLmZldGNoLmRlY29kZXVybCh1cmkpWzozXQoKICAgICAgICAjIEhUVFAvRlRQ
IHVzZSB0aGUgd2dldCBmZXRjaGVyCiAgICAgICAgaWYgc2NoZW1lIGluICgiaHR0cCIsICJodHRw
cyIsICJmdHAiKToKICAgICAgICAgICAgZC5hcHBlbmRWYXJGbGFnKCdkb19mZXRjaCcsICdkZXBl
bmRzJywgJyB3Z2V0LW5hdGl2ZTpkb19wb3B1bGF0ZV9zeXNyb290JykKCiAgICAgICAgIyBTdm4g
cGFja2FnZXMgc2hvdWxkIERFUEVORCBvbiBzdWJ2ZXJzaW9uLW5hdGl2ZQogICAgICAgIGlmIHNj
aGVtZSA9PSAic3ZuIjoKICAgICAgICAgICAgbmVlZHNyY3JldiA9IFRydWUKICAgICAgICAgICAg
ZC5hcHBlbmRWYXJGbGFnKCdkb19mZXRjaCcsICdkZXBlbmRzJywgJyBzdWJ2ZXJzaW9uLW5hdGl2
ZTpkb19wb3B1bGF0ZV9zeXNyb290JykKCiAgICAgICAgIyBHaXQgcGFja2FnZXMgc2hvdWxkIERF
UEVORCBvbiBnaXQtbmF0aXZlCiAgICAgICAgZWxpZiBzY2hlbWUgaW4gKCJnaXQiLCAiZ2l0c20i
KToKICAgICAgICAgICAgbmVlZHNyY3JldiA9IFRydWUKICAgICAgICAgICAgZC5hcHBlbmRWYXJG
bGFnKCdkb19mZXRjaCcsICdkZXBlbmRzJywgJyBnaXQtbmF0aXZlOmRvX3BvcHVsYXRlX3N5c3Jv
b3QnKQoKICAgICAgICAjIE1lcmN1cmlhbCBwYWNrYWdlcyBzaG91bGQgREVQRU5EIG9uIG1lcmN1
cmlhbC1uYXRpdmUKICAgICAgICBlbGlmIHNjaGVtZSA9PSAiaGciOgogICAgICAgICAgICBuZWVk
c3JjcmV2ID0gVHJ1ZQogICAgICAgICAgICBkLmFwcGVuZFZhckZsYWcoJ2RvX2ZldGNoJywgJ2Rl
cGVuZHMnLCAnIG1lcmN1cmlhbC1uYXRpdmU6ZG9fcG9wdWxhdGVfc3lzcm9vdCcpCgogICAgICAg
ICMgUGVyZm9yY2UgcGFja2FnZXMgc3VwcG9ydCBTUkNSRVYgPSAiJHtBVVRPUkVWfSIKICAgICAg
ICBlbGlmIHNjaGVtZSA9PSAicDQiOgogICAgICAgICAgICBuZWVkc3JjcmV2ID0gVHJ1ZQoKICAg
ICAgICAjIE9TQyBwYWNrYWdlcyBzaG91bGQgREVQRU5EIG9uIG9zYy1uYXRpdmUKICAgICAgICBl
bGlmIHNjaGVtZSA9PSAib3NjIjoKICAgICAgICAgICAgZC5hcHBlbmRWYXJGbGFnKCdkb19mZXRj
aCcsICdkZXBlbmRzJywgJyBvc2MtbmF0aXZlOmRvX3BvcHVsYXRlX3N5c3Jvb3QnKQoKICAgICAg
ICBlbGlmIHNjaGVtZSA9PSAibnBtIjoKICAgICAgICAgICAgZC5hcHBlbmRWYXJGbGFnKCdkb19m
ZXRjaCcsICdkZXBlbmRzJywgJyBub2RlanMtbmF0aXZlOmRvX3BvcHVsYXRlX3N5c3Jvb3QnKQoK
ICAgICAgICAjICoubHo0IHNob3VsZCBERVBFTkQgb24gbHo0LW5hdGl2ZSBmb3IgdW5wYWNraW5n
CiAgICAgICAgaWYgcGF0aC5lbmRzd2l0aCgnLmx6NCcpOgogICAgICAgICAgICBkLmFwcGVuZFZh
ckZsYWcoJ2RvX3VucGFjaycsICdkZXBlbmRzJywgJyBsejQtbmF0aXZlOmRvX3BvcHVsYXRlX3N5
c3Jvb3QnKQoKICAgICAgICAjICoubHogc2hvdWxkIERFUEVORCBvbiBsemlwLW5hdGl2ZSBmb3Ig
dW5wYWNraW5nCiAgICAgICAgZWxpZiBwYXRoLmVuZHN3aXRoKCcubHonKToKICAgICAgICAgICAg
ZC5hcHBlbmRWYXJGbGFnKCdkb191bnBhY2snLCAnZGVwZW5kcycsICcgbHppcC1uYXRpdmU6ZG9f
cG9wdWxhdGVfc3lzcm9vdCcpCgogICAgICAgICMgKi54eiBzaG91bGQgREVQRU5EIG9uIHh6LW5h
dGl2ZSBmb3IgdW5wYWNraW5nCiAgICAgICAgZWxpZiBwYXRoLmVuZHN3aXRoKCcueHonKToKICAg
ICAgICAgICAgZC5hcHBlbmRWYXJGbGFnKCdkb191bnBhY2snLCAnZGVwZW5kcycsICcgeHotbmF0
aXZlOmRvX3BvcHVsYXRlX3N5c3Jvb3QnKQoKICAgICAgICAjIC56aXAgc2hvdWxkIERFUEVORCBv
biB1bnppcC1uYXRpdmUgZm9yIHVucGFja2luZwogICAgICAgIGVsaWYgcGF0aC5lbmRzd2l0aCgn
LnppcCcpOgogICAgICAgICAgICBkLmFwcGVuZFZhckZsYWcoJ2RvX3VucGFjaycsICdkZXBlbmRz
JywgJyB1bnppcC1uYXRpdmU6ZG9fcG9wdWxhdGVfc3lzcm9vdCcpCgogICAgICAgICMgZmlsZSBp
cyBuZWVkZWQgYnkgcnBtMmNwaW8uc2gKICAgICAgICBlbGlmIHBhdGguZW5kc3dpdGgoJy5zcmMu
cnBtJyk6CiAgICAgICAgICAgIGQuYXBwZW5kVmFyRmxhZygnZG9fdW5wYWNrJywgJ2RlcGVuZHMn
LCAnIGZpbGUtbmF0aXZlOmRvX3BvcHVsYXRlX3N5c3Jvb3QnKQoKICAgIGlmIG5lZWRzcmNyZXY6
CiAgICAgICAgZC5zZXRWYXIoIlNSQ1BWIiwgIiR7QGJiLmZldGNoMi5nZXRfc3JjcmV2KGQpfSIp
CgogICAgc2V0X3BhY2thZ2V0cmlwbGV0KGQpCgogICAgIyAnbXVsdGltYWNoaW5lJyBoYW5kbGlu
ZwogICAgbWFjaF9hcmNoID0gZC5nZXRWYXIoJ01BQ0hJTkVfQVJDSCcpCiAgICBwa2dfYXJjaCA9
IGQuZ2V0VmFyKCdQQUNLQUdFX0FSQ0gnKQoKICAgIGlmIChwa2dfYXJjaCA9PSBtYWNoX2FyY2gp
OgogICAgICAgICMgQWxyZWFkeSBtYWNoaW5lIHNwZWNpZmljIC0gbm90aGluZyBmdXJ0aGVyIHRv
IGRvCiAgICAgICAgcmV0dXJuCgogICAgIwogICAgIyBXZSBhbHdheXMgdHJ5IHRvIHNjYW4gU1JD
X1VSSSBmb3IgdXJscyB3aXRoIG1hY2hpbmUgb3ZlcnJpZGVzCiAgICAjIHVubGVzcyB0aGUgcGFj
a2FnZSBzZXRzIFNSQ19VUklfT1ZFUlJJREVTX1BBQ0tBR0VfQVJDSD0wCiAgICAjCiAgICBvdmVy
cmlkZSA9IGQuZ2V0VmFyKCdTUkNfVVJJX09WRVJSSURFU19QQUNLQUdFX0FSQ0gnKQogICAgaWYg
b3ZlcnJpZGUgIT0gJzAnOgogICAgICAgIHBhdGhzID0gW10KICAgICAgICBmcGF0aHMgPSAoZC5n
ZXRWYXIoJ0ZJTEVTUEFUSCcpIG9yICcnKS5zcGxpdCgnOicpCiAgICAgICAgbWFjaGluZSA9IGQu
Z2V0VmFyKCdNQUNISU5FJykKICAgICAgICBmb3IgcCBpbiBmcGF0aHM6CiAgICAgICAgICAgIGlm
IG9zLnBhdGguYmFzZW5hbWUocCkgPT0gbWFjaGluZSBhbmQgb3MucGF0aC5pc2RpcihwKToKICAg
ICAgICAgICAgICAgIHBhdGhzLmFwcGVuZChwKQoKICAgICAgICBpZiBsZW4ocGF0aHMpICE9IDA6
CiAgICAgICAgICAgIGZvciBzIGluIHNyY3VyaS5zcGxpdCgpOgogICAgICAgICAgICAgICAgaWYg
bm90IHMuc3RhcnRzd2l0aCgiZmlsZTovLyIpOgogICAgICAgICAgICAgICAgICAgIGNvbnRpbnVl
CiAgICAgICAgICAgICAgICBmZXRjaGVyID0gYmIuZmV0Y2gyLkZldGNoKFtzXSwgZCkKICAgICAg
ICAgICAgICAgIGxvY2FsID0gZmV0Y2hlci5sb2NhbHBhdGgocykKICAgICAgICAgICAgICAgIGZv
ciBtcCBpbiBwYXRoczoKICAgICAgICAgICAgICAgICAgICBpZiBsb2NhbC5zdGFydHN3aXRoKG1w
KToKICAgICAgICAgICAgICAgICAgICAgICAgI2JiLm5vdGUoIm92ZXJyaWRpbmcgUEFDS0FHRV9B
UkNIIGZyb20gJXMgdG8gJXMgZm9yICVzIiAlIChwa2dfYXJjaCwgbWFjaF9hcmNoLCBwbikpCiAg
ICAgICAgICAgICAgICAgICAgICAgIGQuc2V0VmFyKCdQQUNLQUdFX0FSQ0gnLCAiJHtNQUNISU5F
X0FSQ0h9IikKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuCgogICAgcGFja2FnZXMgPSBk
LmdldFZhcignUEFDS0FHRVMnKS5zcGxpdCgpCiAgICBmb3IgcGtnIGluIHBhY2thZ2VzOgogICAg
ICAgIHBrZ2FyY2ggPSBkLmdldFZhcigiUEFDS0FHRV9BUkNIXyVzIiAlIHBrZykKCiAgICAgICAg
IyBXZSBjb3VsZCBsb29rIGZvciAhPSBQQUNLQUdFX0FSQ0ggaGVyZSBidXQgaG93IHRvIGNob29z
ZQogICAgICAgICMgaWYgbXVsdGlwbGUgZGlmZmVyZW5jZXMgYXJlIHByZXNlbnQ/CiAgICAgICAg
IyBMb29rIHRocm91Z2ggUEFDS0FHRV9BUkNIUyBmb3IgdGhlIHByaW9yaXR5IG9yZGVyPwogICAg
ICAgIGlmIHBrZ2FyY2ggYW5kIHBrZ2FyY2ggPT0gbWFjaF9hcmNoOgogICAgICAgICAgICBkLnNl
dFZhcignUEFDS0FHRV9BUkNIJywgIiR7TUFDSElORV9BUkNIfSIpCiAgICAgICAgICAgIGJiLndh
cm4oIlJlY2lwZSAlcyBpcyBtYXJrZWQgYXMgb25seSBiZWluZyBhcmNoaXRlY3R1cmUgc3BlY2lm
aWMgYnV0IHNlZW1zIHRvIGhhdmUgbWFjaGluZSBzcGVjaWZpYyBwYWNrYWdlcz8hIFRoZSByZWNp
cGUgbWF5IGFzIHdlbGwgbWFyayBpdHNlbGYgYXMgbWFjaGluZSBzcGVjaWZpYyBkaXJlY3RseS4i
ICUgZC5nZXRWYXIoIlBOIikpCn0KCgpweXRob24gX19hbm9uXzcwN19fbWVkaWFfcmViZWNjYXNf
eW9jdG9fcG9reV9tZXRhX2NsYXNzZXNfcGFja2FnZV9ycG1fYmJjbGFzcyAoKSB7CmRlZiBfX2Fu
b25fNzA3X19tZWRpYV9yZWJlY2Nhc195b2N0b19wb2t5X21ldGFfY2xhc3Nlc19wYWNrYWdlX3Jw
bV9iYmNsYXNzKGQpOgogICAgaWYgZC5nZXRWYXIoJ1BBQ0tBR0VTJykgIT0gJyc6CiAgICAgICAg
ZGVwcyA9ICcgcnBtLW5hdGl2ZTpkb19wb3B1bGF0ZV9zeXNyb290IHZpcnR1YWwvZmFrZXJvb3Qt
bmF0aXZlOmRvX3BvcHVsYXRlX3N5c3Jvb3QnCiAgICAgICAgZC5hcHBlbmRWYXJGbGFnKCdkb19w
YWNrYWdlX3dyaXRlX3JwbScsICdkZXBlbmRzJywgZGVwcykKICAgICAgICBkLnNldFZhckZsYWco
J2RvX3BhY2thZ2Vfd3JpdGVfcnBtJywgJ2Zha2Vyb290JywgJzEnKQp9CgoKcHl0aG9uIGFkZF9w
YWNrYWdlX2FuZF9maWxlcyAoKSB7CmRlZiBhZGRfcGFja2FnZV9hbmRfZmlsZXMoZCk6CiAgICBw
YWNrYWdlcyA9IGQuZ2V0VmFyKCdQQUNLQUdFUycpCiAgICBmaWxlcyA9IGQuZ2V0VmFyKCdMSUNF
TlNFX0ZJTEVTX0RJUkVDVE9SWScpCiAgICBwbiA9IGQuZ2V0VmFyKCdQTicpCiAgICBwbl9saWMg
PSAiJXMlcyIgJSAocG4sIGQuZ2V0VmFyKCdMSUNFTlNFX1BBQ0tBR0VfU1VGRklYJywgRmFsc2Up
KQogICAgaWYgcG5fbGljIGluIHBhY2thZ2VzOgogICAgICAgIGJiLndhcm4oIiVzIHBhY2thZ2Ug
YWxyZWFkeSBleGlzdGVkIGluICVzLiIgJSAocG5fbGljLCBwbikpCiAgICBlbHNlOgogICAgICAg
ICMgZmlyc3QgaW4gUEFDS0FHRVMgdG8gYmUgc3VyZSB0aGF0IG5vdGhpbmcgZWxzZSBnZXRzIExJ
Q0VOU0VfRklMRVNfRElSRUNUT1JZCiAgICAgICAgZC5zZXRWYXIoJ1BBQ0tBR0VTJywgIiVzICVz
IiAlIChwbl9saWMsIHBhY2thZ2VzKSkKICAgICAgICBkLnNldFZhcignRklMRVNfJyArIHBuX2xp
YywgZmlsZXMpCiAgICAgICAgcnJlY29tbWVuZHNfcG4gPSBkLmdldFZhcignUlJFQ09NTUVORFNf
JyArIHBuKQogICAgICAgIGlmIHJyZWNvbW1lbmRzX3BuOgogICAgICAgICAgICBkLnNldFZhcign
UlJFQ09NTUVORFNfJyArIHBuLCAiJXMgJXMiICUgKHBuX2xpYywgcnJlY29tbWVuZHNfcG4pKQog
ICAgICAgIGVsc2U6CiAgICAgICAgICAgIGQuc2V0VmFyKCdSUkVDT01NRU5EU18nICsgcG4sICIl
cyIgJSAocG5fbGljKSkKfQoKCnB5dGhvbiBhbGxfbXVsdGlsaWJfdHVuZV9saXN0ICgpIHsKZGVm
IGFsbF9tdWx0aWxpYl90dW5lX2xpc3QodmFycywgZCk6CiAgICAiIiIKICAgIFJldHVybiBhIGxp
c3Qgb2YgJHtWQVJ9IGZvciBlYWNoIHZhcmlhYmxlIFZBUiBpbiB2YXJzIGZyb20gZWFjaAogICAg
bXVsdGlsaWIgdHVuZSBjb25maWd1cmF0aW9uLgogICAgSXMgc2FmZSB0byBiZSBjYWxsZWQgZnJv
bSBhIG11bHRpbGliIHJlY2lwZS9jb250ZXh0IGFzIGl0IGNhbgogICAgZmlndXJlIG91dCB0aGUg
b3JpZ2luYWwgdHVuZSBhbmQgcmVtb3ZlIHRoZSBtdWx0aWxpYiBvdmVycmlkZXMuCiAgICAiIiIK
ICAgIHZhbHVlcyA9IHt9CiAgICBmb3IgdiBpbiB2YXJzOgogICAgICAgIHZhbHVlc1t2XSA9IFtd
CgogICAgbG9jYWxkYXRhID0gYmIuZGF0YS5jcmVhdGVDb3B5KGQpCiAgICBvdmVycmlkZXMgPSBs
b2NhbGRhdGEuZ2V0VmFyKCJPVkVSUklERVMiLCBGYWxzZSkuc3BsaXQoIjoiKQogICAgbmV3b3Zl
cnJpZGVzID0gW10KICAgIGZvciBvIGluIG92ZXJyaWRlczoKICAgICAgICBpZiBub3Qgby5zdGFy
dHN3aXRoKCJ2aXJ0Y2xhc3MtbXVsdGlsaWItIik6CiAgICAgICAgICAgIG5ld292ZXJyaWRlcy5h
cHBlbmQobykKICAgIGxvY2FsZGF0YS5zZXRWYXIoIk9WRVJSSURFUyIsICI6Ii5qb2luKG5ld292
ZXJyaWRlcykpCiAgICBsb2NhbGRhdGEuc2V0VmFyKCJNTFBSRUZJWCIsICIiKQogICAgb3JpZ2Rl
ZmF1bHQgPSBsb2NhbGRhdGEuZ2V0VmFyKCJERUZBVUxUVFVORV9NVUxUSUxJQl9PUklHSU5BTCIp
CiAgICBpZiBvcmlnZGVmYXVsdDoKICAgICAgICBsb2NhbGRhdGEuc2V0VmFyKCJERUZBVUxUVFVO
RSIsIG9yaWdkZWZhdWx0KQogICAgdmFsdWVzWydtbCddID0gWycnXQogICAgZm9yIHYgaW4gdmFy
czoKICAgICAgICB2YWx1ZXNbdl0uYXBwZW5kKGxvY2FsZGF0YS5nZXRWYXIodikpCiAgICB2YXJp
YW50cyA9IGQuZ2V0VmFyKCJNVUxUSUxJQl9WQVJJQU5UUyIpIG9yICIiCiAgICBmb3IgaXRlbSBp
biB2YXJpYW50cy5zcGxpdCgpOgogICAgICAgIGxvY2FsZGF0YSA9IGdldF9tdWx0aWxpYl9kYXRh
c3RvcmUoaXRlbSwgZCkKICAgICAgICB2YWx1ZXNbdl0uYXBwZW5kKGxvY2FsZGF0YS5nZXRWYXIo
dikpCiAgICAgICAgdmFsdWVzWydtbCddLmFwcGVuZChpdGVtKQogICAgcmV0dXJuIHZhbHVlcwp9
CgoKcHl0aG9uIGFsbF9tdWx0aWxpYl90dW5lX3ZhbHVlcyAoKSB7CmRlZiBhbGxfbXVsdGlsaWJf
dHVuZV92YWx1ZXMoZCwgdmFyLCB1bmlxdWUgPSBUcnVlLCBuZWVkX3NwbGl0ID0gVHJ1ZSwgZGVs
aW0gPSAnICcpOgogICAgIiIiUmV0dXJuIGEgc3RyaW5nIG9mIGFsbCAke3Zhcn0gaW4gYWxsIG11
bHRpbGliIHR1bmUgY29uZmlndXJhdGlvbiIiIgogICAgdmFsdWVzID0gW10KICAgIHZhbHVlID0g
ZC5nZXRWYXIodmFyKSBvciAiIgogICAgaWYgdmFsdWUgIT0gIiI6CiAgICAgICAgaWYgbmVlZF9z
cGxpdDoKICAgICAgICAgICAgZm9yIGl0ZW0gaW4gdmFsdWUuc3BsaXQoZGVsaW0pOgogICAgICAg
ICAgICAgICAgdmFsdWVzLmFwcGVuZChpdGVtKQogICAgICAgIGVsc2U6CiAgICAgICAgICAgIHZh
bHVlcy5hcHBlbmQodmFsdWUpCiAgICB2YXJpYW50cyA9IGQuZ2V0VmFyKCJNVUxUSUxJQl9WQVJJ
QU5UUyIpIG9yICIiCiAgICBmb3IgaXRlbSBpbiB2YXJpYW50cy5zcGxpdCgpOgogICAgICAgIGxv
Y2FsZGF0YSA9IGdldF9tdWx0aWxpYl9kYXRhc3RvcmUoaXRlbSwgZCkKICAgICAgICB2YWx1ZSA9
IGxvY2FsZGF0YS5nZXRWYXIodmFyKSBvciAiIgogICAgICAgIGlmIHZhbHVlICE9ICIiOgogICAg
ICAgICAgICBpZiBuZWVkX3NwbGl0OgogICAgICAgICAgICAgICAgZm9yIGl0ZW0gaW4gdmFsdWUu
c3BsaXQoZGVsaW0pOgogICAgICAgICAgICAgICAgICAgIHZhbHVlcy5hcHBlbmQoaXRlbSkKICAg
ICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgIHZhbHVlcy5hcHBlbmQodmFsdWUpCiAgICBp
ZiB1bmlxdWU6CiAgICAgICAgI3dlIGRvIHRoaXMgdG8ga2VlcCBvcmRlciBhcyBtdWNoIGFzIHBv
c3NpYmxlCiAgICAgICAgcmV0ID0gW10KICAgICAgICBmb3IgdmFsdWUgaW4gdmFsdWVzOgogICAg
ICAgICAgICBpZiBub3QgdmFsdWUgaW4gcmV0OgogICAgICAgICAgICAgICAgcmV0LmFwcGVuZCh2
YWx1ZSkKICAgIGVsc2U6CiAgICAgICAgcmV0ID0gdmFsdWVzCiAgICByZXR1cm4gIiAiLmpvaW4o
cmV0KQp9CgoKcHl0aG9uIGJhc2VfYm90aF9jb250YWluICgpIHsKZGVmIGJhc2VfYm90aF9jb250
YWluKHZhcmlhYmxlMSwgdmFyaWFibGUyLCBjaGVja3ZhbHVlLCBkKToKICAgIHJldHVybiBvZS51
dGlscy5ib3RoX2NvbnRhaW4odmFyaWFibGUxLCB2YXJpYWJsZTIsIGNoZWNrdmFsdWUsIGQpCn0K
CgpweXRob24gYmFzZV9jb25kaXRpb25hbCAoKSB7CmRlZiBiYXNlX2NvbmRpdGlvbmFsKHZhcmlh
YmxlLCBjaGVja3ZhbHVlLCB0cnVldmFsdWUsIGZhbHNldmFsdWUsIGQpOgogICAgcmV0dXJuIG9l
LnV0aWxzLmNvbmRpdGlvbmFsKHZhcmlhYmxlLCBjaGVja3ZhbHVlLCB0cnVldmFsdWUsIGZhbHNl
dmFsdWUsIGQpCn0KCgpweXRob24gYmFzZV9jb250YWlucyAoKSB7CmRlZiBiYXNlX2NvbnRhaW5z
KHZhcmlhYmxlLCBjaGVja3ZhbHVlcywgdHJ1ZXZhbHVlLCBmYWxzZXZhbHVlLCBkKToKICAgIGJi
Lm5vdGUoJ2Jhc2VfY29udGFpbnMgaXMgZGVwcmVjYXRlZCwgcGxlYXNlIHVzZSBiYi51dGlscy5j
b250YWlucyBpbnN0ZWFkLicpCiAgICByZXR1cm4gYmIudXRpbHMuY29udGFpbnModmFyaWFibGUs
IGNoZWNrdmFsdWVzLCB0cnVldmFsdWUsIGZhbHNldmFsdWUsIGQpCn0KCgpweXRob24gYmFzZV9k
ZXBfcHJlcGVuZCAoKSB7Ck5vbmV9CgoKcHl0aG9uIGJhc2VfZGV0ZWN0X2JyYW5jaCAoKSB7CmRl
ZiBiYXNlX2RldGVjdF9icmFuY2goZCk6CiAgICBwYXRoID0gYmFzZV9nZXRfc2NtYmFzZXBhdGgo
ZCkKCiAgICBzY21zID0gW2Jhc2VfZ2V0X21ldGFkYXRhX2dpdF9icmFuY2hdCgogICAgZm9yIHNj
bSBpbiBzY21zOgogICAgICAgIHJldiA9IHNjbShwYXRoLCBkKQogICAgICAgIGlmIHJldiAhPSAi
PHVua25vd24+IjoKICAgICAgICAgICAgcmV0dXJuIHJldi5zdHJpcCgpCgogICAgcmV0dXJuICI8
dW5rbm93bj4iCn0KCgpweXRob24gYmFzZV9kZXRlY3RfcmV2aXNpb24gKCkgewpkZWYgYmFzZV9k
ZXRlY3RfcmV2aXNpb24oZCk6CiAgICBwYXRoID0gYmFzZV9nZXRfc2NtYmFzZXBhdGgoZCkKCiAg
ICBzY21zID0gW2Jhc2VfZ2V0X21ldGFkYXRhX2dpdF9yZXZpc2lvbl0KCiAgICBmb3Igc2NtIGlu
IHNjbXM6CiAgICAgICAgcmV2ID0gc2NtKHBhdGgsIGQpCiAgICAgICAgaWYgcmV2ICE9ICI8dW5r
bm93bj4iOgogICAgICAgICAgICByZXR1cm4gcmV2CgogICAgcmV0dXJuICI8dW5rbm93bj4iCn0K
CgpweXRob24gYmFzZV9kb19mZXRjaCAoKSB7CgogICAgc3JjX3VyaSA9IChkLmdldFZhcignU1JD
X1VSSScpIG9yICIiKS5zcGxpdCgpCiAgICBpZiBsZW4oc3JjX3VyaSkgPT0gMDoKICAgICAgICBy
ZXR1cm4KCiAgICB0cnk6CiAgICAgICAgZmV0Y2hlciA9IGJiLmZldGNoMi5GZXRjaChzcmNfdXJp
LCBkKQogICAgICAgIGZldGNoZXIuZG93bmxvYWQoKQogICAgZXhjZXB0IGJiLmZldGNoMi5CQkZl
dGNoRXhjZXB0aW9uIGFzIGU6CiAgICAgICAgYmIuZmF0YWwoc3RyKGUpKQp9CgoKcHl0aG9uIGJh
c2VfZG9fdW5wYWNrICgpIHsKICAgIHNyY191cmkgPSAoZC5nZXRWYXIoJ1NSQ19VUkknKSBvciAi
Iikuc3BsaXQoKQogICAgaWYgbGVuKHNyY191cmkpID09IDA6CiAgICAgICAgcmV0dXJuCgogICAg
dHJ5OgogICAgICAgIGZldGNoZXIgPSBiYi5mZXRjaDIuRmV0Y2goc3JjX3VyaSwgZCkKICAgICAg
ICBmZXRjaGVyLnVucGFjayhkLmdldFZhcignV09SS0RJUicpKQogICAgZXhjZXB0IGJiLmZldGNo
Mi5CQkZldGNoRXhjZXB0aW9uIGFzIGU6CiAgICAgICAgYmIuZmF0YWwoc3RyKGUpKQp9CgoKcHl0
aG9uIGJhc2VfZXZlbnRoYW5kbGVyICgpIHsKICAgIGltcG9ydCBiYi5ydW5xdWV1ZQoKICAgIGlm
IGlzaW5zdGFuY2UoZSwgYmIuZXZlbnQuQ29uZmlnUGFyc2VkKToKICAgICAgICBpZiBub3QgZS5k
YXRhLmdldFZhcigiTkFUSVZFTFNCU1RSSU5HIiwgRmFsc2UpOgogICAgICAgICAgICBlLmRhdGEu
c2V0VmFyKCJOQVRJVkVMU0JTVFJJTkciLCBsc2JfZGlzdHJvX2lkZW50aWZpZXIoZS5kYXRhKSkK
ICAgICAgICBlLmRhdGEuc2V0VmFyKCdCQl9WRVJTSU9OJywgYmIuX192ZXJzaW9uX18pCiAgICAg
ICAgcGtnYXJjaF9tYXBwaW5nKGUuZGF0YSkKICAgICAgICBvZS51dGlscy5mZWF0dXJlc19iYWNr
ZmlsbCgiRElTVFJPX0ZFQVRVUkVTIiwgZS5kYXRhKQogICAgICAgIG9lLnV0aWxzLmZlYXR1cmVz
X2JhY2tmaWxsKCJNQUNISU5FX0ZFQVRVUkVTIiwgZS5kYXRhKQogICAgICAgICMgV29ya3Mgd2l0
aCB0aGUgbGluZSBpbiBsYXllci5jb25mIHdoaWNoIGNoYW5nZXMgUEFUSCB0byBwb2ludCBoZXJl
CiAgICAgICAgc2V0dXBfaG9zdHRvb2xzX2RpcihkLmdldFZhcignSE9TVFRPT0xTX0RJUicpLCAn
SE9TVFRPT0xTJywgZCkKICAgICAgICBzZXR1cF9ob3N0dG9vbHNfZGlyKGQuZ2V0VmFyKCdIT1NU
VE9PTFNfRElSJyksICdIT1NUVE9PTFNfTk9ORkFUQUwnLCBkLCBmYXRhbD1GYWxzZSkKCiAgICBp
ZiBpc2luc3RhbmNlKGUsIGJiLmV2ZW50LkJ1aWxkU3RhcnRlZCk6CiAgICAgICAgbG9jYWxkYXRh
ID0gYmIuZGF0YS5jcmVhdGVDb3B5KGUuZGF0YSkKICAgICAgICBzdGF0dXNsaW5lcyA9IFtdCiAg
ICAgICAgZm9yIGZ1bmMgaW4gb2UuZGF0YS50eXBlZF92YWx1ZSgnQlVJTERDRkdfRlVOQ1MnLCBs
b2NhbGRhdGEpOgogICAgICAgICAgICBnID0gZ2xvYmFscygpCiAgICAgICAgICAgIGlmIGZ1bmMg
bm90IGluIGc6CiAgICAgICAgICAgICAgICBiYi53YXJuKCJCdWlsZCBjb25maWd1cmF0aW9uIGZ1
bmN0aW9uICclcycgZG9lcyBub3QgZXhpc3QiICUgZnVuYykKICAgICAgICAgICAgZWxzZToKICAg
ICAgICAgICAgICAgIGZsaW5lcyA9IGdbZnVuY10obG9jYWxkYXRhKQogICAgICAgICAgICAgICAg
aWYgZmxpbmVzOgogICAgICAgICAgICAgICAgICAgIHN0YXR1c2xpbmVzLmV4dGVuZChmbGluZXMp
CgogICAgICAgIHN0YXR1c2hlYWRlciA9IGUuZGF0YS5nZXRWYXIoJ0JVSUxEQ0ZHX0hFQURFUicp
CiAgICAgICAgaWYgc3RhdHVzaGVhZGVyOgogICAgICAgICAgICBiYi5wbGFpbignXG4lc1xuJXNc
bicgJSAoc3RhdHVzaGVhZGVyLCAnXG4nLmpvaW4oc3RhdHVzbGluZXMpKSkKCiAgICAjIFRoaXMg
Y29kZSBpcyB0byBzaWxlbmNlIHdhcm5pbmdzIHdoZXJlIHRoZSBTREsgdmFyaWFibGVzIG92ZXJ3
cml0ZSB0aGUKICAgICMgdGFyZ2V0IG9uZXMgYW5kIHdlJ2Qgc2VlIGR1bHBpY2F0ZSBrZXkgbmFt
ZXMgb3ZlcndyaXRpbmcgZWFjaCBvdGhlcgogICAgIyBmb3IgdmFyaW91cyBQUkVGRVJSRURfUFJP
VklERVJTCiAgICBpZiBpc2luc3RhbmNlKGUsIGJiLmV2ZW50LlJlY2lwZVByZUZpbmFsaXNlKToK
ICAgICAgICBpZiBlLmRhdGEuZ2V0VmFyKCJUQVJHRVRfUFJFRklYIikgPT0gZS5kYXRhLmdldFZh
cigiU0RLX1BSRUZJWCIpOgogICAgICAgICAgICBlLmRhdGEuZGVsVmFyKCJQUkVGRVJSRURfUFJP
VklERVJfdmlydHVhbC8ke1RBUkdFVF9QUkVGSVh9YmludXRpbHMiKQogICAgICAgICAgICBlLmRh
dGEuZGVsVmFyKCJQUkVGRVJSRURfUFJPVklERVJfdmlydHVhbC8ke1RBUkdFVF9QUkVGSVh9Z2Nj
LWluaXRpYWwiKQogICAgICAgICAgICBlLmRhdGEuZGVsVmFyKCJQUkVGRVJSRURfUFJPVklERVJf
dmlydHVhbC8ke1RBUkdFVF9QUkVGSVh9Z2NjIikKICAgICAgICAgICAgZS5kYXRhLmRlbFZhcigi
UFJFRkVSUkVEX1BST1ZJREVSX3ZpcnR1YWwvJHtUQVJHRVRfUFJFRklYfWcrKyIpCiAgICAgICAg
ICAgIGUuZGF0YS5kZWxWYXIoIlBSRUZFUlJFRF9QUk9WSURFUl92aXJ0dWFsLyR7VEFSR0VUX1BS
RUZJWH1jb21waWxlcmxpYnMiKQoKICAgIGlmIGlzaW5zdGFuY2UoZSwgYmIucnVucXVldWUuc2Nl
bmVRdWV1ZUNvbXBsZXRlKToKICAgICAgICBjb21wbGV0aW9ucyA9IGUuZGF0YS5leHBhbmQoIiR7
U1RBR0lOR19ESVJ9L3NzdGF0ZWNvbXBsZXRpb25zIikKICAgICAgICBpZiBvcy5wYXRoLmV4aXN0
cyhjb21wbGV0aW9ucyk6CiAgICAgICAgICAgIGNtZHMgPSBzZXQoKQogICAgICAgICAgICB3aXRo
IG9wZW4oY29tcGxldGlvbnMsICJyIikgYXMgZjoKICAgICAgICAgICAgICAgIGNtZHMgPSBzZXQo
ZikKICAgICAgICAgICAgZS5kYXRhLnNldFZhcigiY29tcGxldGlvbl9mdW5jdGlvbiIsICJcbiIu
am9pbihjbWRzKSkKICAgICAgICAgICAgZS5kYXRhLnNldFZhckZsYWcoImNvbXBsZXRpb25fZnVu
Y3Rpb24iLCAiZnVuYyIsICIxIikKICAgICAgICAgICAgYmIuZGVidWcoMSwgIkV4ZWN1dGluZyBT
Y2VuZVF1ZXVlIENvbXBsZXRpb24gY29tbWFuZHM6ICVzIiAlICJcbiIuam9pbihjbWRzKSkKICAg
ICAgICAgICAgYmIuYnVpbGQuZXhlY19mdW5jKCJjb21wbGV0aW9uX2Z1bmN0aW9uIiwgZS5kYXRh
KQogICAgICAgICAgICBvcy5yZW1vdmUoY29tcGxldGlvbnMpCgogICAgaWYgaXNpbnN0YW5jZShl
LCBiYi5ldmVudC5SZWNpcGVQYXJzZWQpOgogICAgICAgICMKICAgICAgICAjIElmIHdlIGhhdmUg
bXVsdGlwbGUgcHJvdmlkZXJzIG9mIHZpcnR1YWwvWCBhbmQgYSBQUkVGRVJSRURfUFJPVklERVJf
dmlydHVhbC9YIGlzIHNldAogICAgICAgICMgc2tpcCBwYXJzaW5nIGZvciBhbGwgdGhlIG90aGVy
IHByb3ZpZGVycyB3aGljaCB3aWxsIG1lYW4gdGhleSBnZXQgdW5pbnN0YWxsZWQgZnJvbSB0aGUK
ICAgICAgICAjIHN5c3Jvb3Qgc2luY2UgdGhleSdyZSBub3cgInVucmVhY2hhYmxlIi4gVGhpcyBt
YWtlcyBzd2l0Y2hpbmcgdmlydHVhbC9rZXJuZWwgd29yayBpbgogICAgICAgICMgcGFydGljdWxh
ci4KICAgICAgICAjCiAgICAgICAgcG4gPSBkLmdldFZhcignUE4nKQogICAgICAgIHNvdXJjZV9t
aXJyb3JfZmV0Y2ggPSBkLmdldFZhcignU09VUkNFX01JUlJPUl9GRVRDSCcsIEZhbHNlKQogICAg
ICAgIGlmIG5vdCBzb3VyY2VfbWlycm9yX2ZldGNoOgogICAgICAgICAgICBwcm92cyA9IChkLmdl
dFZhcigiUFJPVklERVMiKSBvciAiIikuc3BsaXQoKQogICAgICAgICAgICBtdWx0aXdoaXRlbGlz
dCA9IChkLmdldFZhcigiTVVMVElfUFJPVklERVJfV0hJVEVMSVNUIikgb3IgIiIpLnNwbGl0KCkK
ICAgICAgICAgICAgZm9yIHAgaW4gcHJvdnM6CiAgICAgICAgICAgICAgICBpZiBwLnN0YXJ0c3dp
dGgoInZpcnR1YWwvIikgYW5kIHAgbm90IGluIG11bHRpd2hpdGVsaXN0OgogICAgICAgICAgICAg
ICAgICAgIHByb2Zwcm92ID0gZC5nZXRWYXIoIlBSRUZFUlJFRF9QUk9WSURFUl8iICsgcCkKICAg
ICAgICAgICAgICAgICAgICBpZiBwcm9mcHJvdiBhbmQgcG4gIT0gcHJvZnByb3Y6CiAgICAgICAg
ICAgICAgICAgICAgICAgIHJhaXNlIGJiLnBhcnNlLlNraXBQYWNrYWdlKCJQUkVGRVJSRURfUFJP
VklERVJfJXMgc2V0IHRvICVzLCBub3QgJXMiICUgKHAsIHByb2Zwcm92LCBwbikpCn0KCgpweXRo
b24gYmFzZV9nZXRfbWV0YWRhdGFfZ2l0X2JyYW5jaCAoKSB7CmRlZiBiYXNlX2dldF9tZXRhZGF0
YV9naXRfYnJhbmNoKHBhdGgsIGQpOgogICAgaW1wb3J0IGJiLnByb2Nlc3MKCiAgICB0cnk6CiAg
ICAgICAgcmV2LCBfID0gYmIucHJvY2Vzcy5ydW4oJ2dpdCByZXYtcGFyc2UgLS1hYmJyZXYtcmVm
IEhFQUQnLCBjd2Q9cGF0aCkKICAgIGV4Y2VwdCBiYi5wcm9jZXNzLkV4ZWN1dGlvbkVycm9yOgog
ICAgICAgIHJldiA9ICc8dW5rbm93bj4nCiAgICByZXR1cm4gcmV2LnN0cmlwKCkKfQoKCnB5dGhv
biBiYXNlX2dldF9tZXRhZGF0YV9naXRfcmV2aXNpb24gKCkgewpkZWYgYmFzZV9nZXRfbWV0YWRh
dGFfZ2l0X3JldmlzaW9uKHBhdGgsIGQpOgogICAgaW1wb3J0IGJiLnByb2Nlc3MKCiAgICB0cnk6
CiAgICAgICAgcmV2LCBfID0gYmIucHJvY2Vzcy5ydW4oJ2dpdCByZXYtcGFyc2UgSEVBRCcsIGN3
ZD1wYXRoKQogICAgZXhjZXB0IGJiLnByb2Nlc3MuRXhlY3V0aW9uRXJyb3I6CiAgICAgICAgcmV2
ID0gJzx1bmtub3duPicKICAgIHJldHVybiByZXYuc3RyaXAoKX0KCgpweXRob24gYmFzZV9nZXRf
bWV0YWRhdGFfbW9ub3RvbmVfYnJhbmNoICgpIHsKZGVmIGJhc2VfZ2V0X21ldGFkYXRhX21vbm90
b25lX2JyYW5jaChwYXRoLCBkKToKICAgIG1vbm90b25lX2JyYW5jaCA9ICI8dW5rbm93bj4iCiAg
ICB0cnk6CiAgICAgICAgd2l0aCBvcGVuKCIlcy9fTVROL29wdGlvbnMiICUgcGF0aCkgYXMgZjoK
ICAgICAgICAgICAgbW9ub3RvbmVfYnJhbmNoID0gZi5yZWFkKCkuc3RyaXAoKQogICAgICAgICAg
ICBpZiBtb25vdG9uZV9icmFuY2guc3RhcnRzd2l0aCggImRhdGFiYXNlIiApOgogICAgICAgICAg
ICAgICAgbW9ub3RvbmVfYnJhbmNoX3dvcmRzID0gbW9ub3RvbmVfYnJhbmNoLnNwbGl0KCkKICAg
ICAgICAgICAgICAgIG1vbm90b25lX2JyYW5jaCA9IG1vbm90b25lX2JyYW5jaF93b3Jkc1sgbW9u
b3RvbmVfYnJhbmNoX3dvcmRzLmluZGV4KCAiYnJhbmNoIiApKzFdWzE6LTFdCiAgICBleGNlcHQ6
CiAgICAgICAgcGFzcwogICAgcmV0dXJuIG1vbm90b25lX2JyYW5jaAp9CgoKcHl0aG9uIGJhc2Vf
Z2V0X21ldGFkYXRhX21vbm90b25lX3JldmlzaW9uICgpIHsKZGVmIGJhc2VfZ2V0X21ldGFkYXRh
X21vbm90b25lX3JldmlzaW9uKHBhdGgsIGQpOgogICAgbW9ub3RvbmVfcmV2aXNpb24gPSAiPHVu
a25vd24+IgogICAgdHJ5OgogICAgICAgIHdpdGggb3BlbigiJXMvX01UTi9yZXZpc2lvbiIgJSBw
YXRoKSBhcyBmOgogICAgICAgICAgICBtb25vdG9uZV9yZXZpc2lvbiA9IGYucmVhZCgpLnN0cmlw
KCkKICAgICAgICAgICAgaWYgbW9ub3RvbmVfcmV2aXNpb24uc3RhcnRzd2l0aCggImZvcm1hdF92
ZXJzaW9uIiApOgogICAgICAgICAgICAgICAgbW9ub3RvbmVfcmV2aXNpb25fd29yZHMgPSBtb25v
dG9uZV9yZXZpc2lvbi5zcGxpdCgpCiAgICAgICAgICAgICAgICBtb25vdG9uZV9yZXZpc2lvbiA9
IG1vbm90b25lX3JldmlzaW9uX3dvcmRzWyBtb25vdG9uZV9yZXZpc2lvbl93b3Jkcy5pbmRleCgg
Im9sZF9yZXZpc2lvbiIgKSsxXVsxOi0xXQogICAgZXhjZXB0IElPRXJyb3I6CiAgICAgICAgcGFz
cwogICAgcmV0dXJuIG1vbm90b25lX3JldmlzaW9uCn0KCgpweXRob24gYmFzZV9nZXRfbWV0YWRh
dGFfc3ZuX3JldmlzaW9uICgpIHsKZGVmIGJhc2VfZ2V0X21ldGFkYXRhX3N2bl9yZXZpc2lvbihw
YXRoLCBkKToKICAgICMgVGhpcyBvbmx5IHdvcmtzIHdpdGggb2xkZXIgc3VidmVyc2lvbi4gRm9y
IG5ld2VyIHZlcnNpb25zCiAgICAjIHRoaXMgZnVuY3Rpb24gd2lsbCBuZWVkIHRvIGJlIGZpeGVk
IGJ5IHNvbWVvbmUgaW50ZXJlc3RlZAogICAgcmV2aXNpb24gPSAiPHVua25vd24+IgogICAgdHJ5
OgogICAgICAgIHdpdGggb3BlbigiJXMvLnN2bi9lbnRyaWVzIiAlIHBhdGgpIGFzIGY6CiAgICAg
ICAgICAgIHJldmlzaW9uID0gZi5yZWFkbGluZXMoKVszXS5zdHJpcCgpCiAgICBleGNlcHQgKElP
RXJyb3IsIEluZGV4RXJyb3IpOgogICAgICAgIHBhc3MKICAgIHJldHVybiByZXZpc2lvbgp9CgoK
cHl0aG9uIGJhc2VfZ2V0X3NjbWJhc2VwYXRoICgpIHsKZGVmIGJhc2VfZ2V0X3NjbWJhc2VwYXRo
KGQpOgogICAgcmV0dXJuIG9zLnBhdGguam9pbihkLmdldFZhcignQ09SRUJBU0UnKSwgJ21ldGEn
KQp9CgoKcHl0aG9uIGJhc2VfaWZlbHNlICgpIHsKZGVmIGJhc2VfaWZlbHNlKGNvbmRpdGlvbiwg
aWZ0cnVlID0gVHJ1ZSwgaWZmYWxzZSA9IEZhbHNlKToKICAgIHJldHVybiBvZS51dGlscy5pZmVs
c2UoY29uZGl0aW9uLCBpZnRydWUsIGlmZmFsc2UpCn0KCgpweXRob24gYmFzZV9sZXNzX29yX2Vx
dWFsICgpIHsKZGVmIGJhc2VfbGVzc19vcl9lcXVhbCh2YXJpYWJsZSwgY2hlY2t2YWx1ZSwgdHJ1
ZXZhbHVlLCBmYWxzZXZhbHVlLCBkKToKICAgIHJldHVybiBvZS51dGlscy5sZXNzX29yX2VxdWFs
KHZhcmlhYmxlLCBjaGVja3ZhbHVlLCB0cnVldmFsdWUsIGZhbHNldmFsdWUsIGQpCn0KCgpweXRo
b24gYmFzZV9wYXRoX2pvaW4gKCkgewpkZWYgYmFzZV9wYXRoX2pvaW4oYSwgKnApOgogICAgcmV0
dXJuIG9lLnBhdGguam9pbihhLCAqcCkKfQoKCnB5dGhvbiBiYXNlX3BhdGhfb3V0ICgpIHsKZGVm
IGJhc2VfcGF0aF9vdXQocGF0aCwgZCk6CiAgICByZXR1cm4gb2UucGF0aC5mb3JtYXRfZGlzcGxh
eShwYXRoLCBkKQp9CgoKcHl0aG9uIGJhc2VfcGF0aF9yZWxhdGl2ZSAoKSB7CmRlZiBiYXNlX3Bh
dGhfcmVsYXRpdmUoc3JjLCBkZXN0KToKICAgIHJldHVybiBvZS5wYXRoLnJlbGF0aXZlKHNyYywg
ZGVzdCkKfQoKCnB5dGhvbiBiYXNlX3BydW5lX3N1ZmZpeCAoKSB7CmRlZiBiYXNlX3BydW5lX3N1
ZmZpeCh2YXIsIHN1ZmZpeGVzLCBkKToKICAgIHJldHVybiBvZS51dGlscy5wcnVuZV9zdWZmaXgo
dmFyLCBzdWZmaXhlcywgZCkKfQoKCnB5dGhvbiBiYXNlX3JlYWRfZmlsZSAoKSB7CmRlZiBiYXNl
X3JlYWRfZmlsZShmaWxlbmFtZSk6CiAgICByZXR1cm4gb2UudXRpbHMucmVhZF9maWxlKGZpbGVu
YW1lKQp9CgoKcHl0aG9uIGJhc2Vfc2V0X2ZpbGVzcGF0aCAoKSB7CmRlZiBiYXNlX3NldF9maWxl
c3BhdGgocGF0aCwgZCk6CiAgICBmaWxlc3BhdGggPSBbXQogICAgZXh0cmFwYXRocyA9IChkLmdl
dFZhcigiRklMRVNFWFRSQVBBVEhTIikgb3IgIiIpCiAgICAjIFJlbW92ZSBkZWZhdWx0IGZsYWcg
d2hpY2ggd2FzIHVzZWQgZm9yIGNoZWNraW5nCiAgICBleHRyYXBhdGhzID0gZXh0cmFwYXRocy5y
ZXBsYWNlKCJfX2RlZmF1bHQ6IiwgIiIpCiAgICAjIERvbid0IHByZXBlbmQgZW1wdHkgc3RyaW5n
cyB0byB0aGUgcGF0aCBsaXN0CiAgICBpZiBleHRyYXBhdGhzICE9ICIiOgogICAgICAgIHBhdGgg
PSBleHRyYXBhdGhzLnNwbGl0KCI6IikgKyBwYXRoCiAgICAjIFRoZSAiOiIgZW5zdXJlcyB3ZSBo
YXZlIGFuICdlbXB0eScgb3ZlcnJpZGUKICAgIG92ZXJyaWRlcyA9ICgiOiIgKyAoZC5nZXRWYXIo
IkZJTEVTT1ZFUlJJREVTIikgb3IgIiIpKS5zcGxpdCgiOiIpCiAgICBvdmVycmlkZXMucmV2ZXJz
ZSgpCiAgICBmb3IgbyBpbiBvdmVycmlkZXM6CiAgICAgICAgZm9yIHAgaW4gcGF0aDoKICAgICAg
ICAgICAgaWYgcCAhPSAiIjoKICAgICAgICAgICAgICAgIGZpbGVzcGF0aC5hcHBlbmQob3MucGF0
aC5qb2luKHAsIG8pKQogICAgcmV0dXJuICI6Ii5qb2luKGZpbGVzcGF0aCkKfQoKCnB5dGhvbiBi
YXNlX3ZlcnNpb25fbGVzc19vcl9lcXVhbCAoKSB7CmRlZiBiYXNlX3ZlcnNpb25fbGVzc19vcl9l
cXVhbCh2YXJpYWJsZSwgY2hlY2t2YWx1ZSwgdHJ1ZXZhbHVlLCBmYWxzZXZhbHVlLCBkKToKICAg
IHJldHVybiBvZS51dGlscy52ZXJzaW9uX2xlc3Nfb3JfZXF1YWwodmFyaWFibGUsIGNoZWNrdmFs
dWUsIHRydWV2YWx1ZSwgZmFsc2V2YWx1ZSwgZCkKfQoKCnB5dGhvbiBiYmxheWVyc19jb25mX2Zp
bGUgKCkgewpkZWYgYmJsYXllcnNfY29uZl9maWxlKGQpOgogICAgcmV0dXJuIG9zLnBhdGguam9p
bihkLmdldFZhcignVE9QRElSJyksICdjb25mL2JibGF5ZXJzLmNvbmYnKQp9CgoKcHl0aG9uIGJ1
aWxkY2ZnX25lZWRlZHZhcnMgKCkgewpkZWYgYnVpbGRjZmdfbmVlZGVkdmFycyhkKToKICAgIG5l
ZWRlZF92YXJzID0gb2UuZGF0YS50eXBlZF92YWx1ZSgiQlVJTERDRkdfTkVFREVEVkFSUyIsIGQp
CiAgICBwZXN0ZXJ1c2VyID0gW10KICAgIGZvciB2IGluIG5lZWRlZF92YXJzOgogICAgICAgIHZh
bCA9IGQuZ2V0VmFyKHYpCiAgICAgICAgaWYgbm90IHZhbCBvciB2YWwgPT0gJ0lOVkFMSUQnOgog
ICAgICAgICAgICBwZXN0ZXJ1c2VyLmFwcGVuZCh2KQoKICAgIGlmIHBlc3RlcnVzZXI6CiAgICAg
ICAgYmIuZmF0YWwoJ1RoZSBmb2xsb3dpbmcgdmFyaWFibGUocykgd2VyZSBub3Qgc2V0OiAlc1xu
UGxlYXNlIHNldCB0aGVtIGRpcmVjdGx5LCBvciBjaG9vc2UgYSBNQUNISU5FIG9yIERJU1RSTyB0
aGF0IHNldHMgdGhlbS4nICUgJywgJy5qb2luKHBlc3RlcnVzZXIpKQp9CgoKcHl0aG9uIGJ1aWxk
Y2ZnX3ZhcnMgKCkgewpkZWYgYnVpbGRjZmdfdmFycyhkKToKICAgIHN0YXR1c3ZhcnMgPSBvZS5k
YXRhLnR5cGVkX3ZhbHVlKCdCVUlMRENGR19WQVJTJywgZCkKICAgIGZvciB2YXIgaW4gc3RhdHVz
dmFyczoKICAgICAgICB2YWx1ZSA9IGQuZ2V0VmFyKHZhcikKICAgICAgICBpZiB2YWx1ZSBpcyBu
b3QgTm9uZToKICAgICAgICAgICAgeWllbGQgJyUtMTdzID0gIiVzIicgJSAodmFyLCB2YWx1ZSkK
fQoKCnB5dGhvbiBjYW5vbmljYWxfbGljZW5zZSAoKSB7CmRlZiBjYW5vbmljYWxfbGljZW5zZShk
LCBsaWNlbnNlKToKICAgICIiIgogICAgUmV0dXJuIHRoZSBjYW5vbmljYWwgKFNQRFgpIGZvcm0g
b2YgdGhlIGxpY2Vuc2UgaWYgYXZhaWxhYmxlIChzbyBHUEx2MwogICAgYmVjb21lcyBHUEwtMy4w
KSwgZm9yIHRoZSBsaWNlbnNlIG5hbWVkICdYKycsIHJldHVybiBjYW5vbmljYWwgZm9ybSBvZgog
ICAgJ1gnIGlmIGF2YWlsYWJlbCBhbmQgdGhlIHRhaWxpbmcgJysnIChzbyBHUEx2MysgYmVjb21l
cyBHUEwtMy4wKyksCiAgICBvciB0aGUgcGFzc2VkIGxpY2Vuc2UgaWYgdGhlcmUgaXMgbm8gY2Fu
b25pY2FsIGZvcm0uCiAgICAiIiIKICAgIGxpYyA9IGQuZ2V0VmFyRmxhZygnU1BEWExJQ0VOU0VN
QVAnLCBsaWNlbnNlKSBvciAiIgogICAgaWYgbm90IGxpYyBhbmQgbGljZW5zZS5lbmRzd2l0aCgn
KycpOgogICAgICAgIGxpYyA9IGQuZ2V0VmFyRmxhZygnU1BEWExJQ0VOU0VNQVAnLCBsaWNlbnNl
LnJzdHJpcCgnKycpKQogICAgICAgIGlmIGxpYzoKICAgICAgICAgICAgbGljICs9ICcrJwogICAg
cmV0dXJuIGxpYyBvciBsaWNlbnNlCn0KCgpweXRob24gY2hlY2tfYXBwX2V4aXN0cyAoKSB7CmRl
ZiBjaGVja19hcHBfZXhpc3RzKGFwcCwgZCk6CiAgICBhcHAgPSBkLmV4cGFuZChhcHApLnN0cmlw
KCkKICAgIHBhdGggPSBkLmdldFZhcignUEFUSCcpCiAgICByZXR1cm4gYm9vbChiYi51dGlscy53
aGljaChwYXRoLCBhcHApKQp9CgoKcHl0aG9uIGNoZWNrX2NvbmZfZXhpc3RzICgpIHsKZGVmIGNo
ZWNrX2NvbmZfZXhpc3RzKGZuLCBkYXRhKToKICAgIGJicGF0aCA9IFtdCiAgICBmbiA9IGRhdGEu
ZXhwYW5kKGZuKQogICAgdmJicGF0aCA9IGRhdGEuZ2V0VmFyKCJCQlBBVEgiLCBGYWxzZSkKICAg
IGlmIHZiYnBhdGg6CiAgICAgICAgYmJwYXRoICs9IHZiYnBhdGguc3BsaXQoIjoiKQogICAgZm9y
IHAgaW4gYmJwYXRoOgogICAgICAgIGN1cnJuYW1lID0gb3MucGF0aC5qb2luKGRhdGEuZXhwYW5k
KHApLCBmbikKICAgICAgICBpZiBvcy5hY2Nlc3MoY3Vycm5hbWUsIG9zLlJfT0spOgogICAgICAg
ICAgICByZXR1cm4gVHJ1ZQogICAgcmV0dXJuIEZhbHNlCn0KCgpweXRob24gY2hlY2tfY29ubmVj
dGl2aXR5ICgpIHsKZGVmIGNoZWNrX2Nvbm5lY3Rpdml0eShkKToKICAgICMgVVJJJ3MgdG8gY2hl
Y2sgY2FuIGJlIHNldCBpbiB0aGUgQ09OTkVDVElWSVRZX0NIRUNLX1VSSVMgdmFyaWFibGUKICAg
ICMgdXNpbmcgdGhlIHNhbWUgc3ludGF4IGFzIGZvciBTUkNfVVJJLiBJZiB0aGUgdmFyaWFibGUg
aXMgbm90IHNldAogICAgIyB0aGUgY2hlY2sgaXMgc2tpcHBlZAogICAgdGVzdF91cmlzID0gKGQu
Z2V0VmFyKCdDT05ORUNUSVZJVFlfQ0hFQ0tfVVJJUycpIG9yICIiKS5zcGxpdCgpCiAgICByZXR2
YWwgPSAiIgoKICAgIGJibiA9IGQuZ2V0VmFyKCdCQl9OT19ORVRXT1JLJykKICAgIGlmIGJibiBu
b3QgaW4gKE5vbmUsICcwJywgJzEnKToKICAgICAgICByZXR1cm4gJ0JCX05PX05FVFdPUksgc2hv
dWxkIGJlICIwIiBvciAiMSIsIGJ1dCBpdCBpcyAiJXMiJyAlIGJibgoKICAgICMgT25seSBjaGVj
ayBjb25uZWN0aXZpdHkgaWYgbmV0d29yayBlbmFibGVkIGFuZCB0aGUKICAgICMgQ09OTkVDVElW
SVRZX0NIRUNLX1VSSVMgYXJlIHNldAogICAgbmV0d29ya19lbmFibGVkID0gbm90IChiYm4gPT0g
JzEnKQogICAgY2hlY2tfZW5hYmxlZCA9IGxlbih0ZXN0X3VyaXMpCiAgICBpZiBjaGVja19lbmFi
bGVkIGFuZCBuZXR3b3JrX2VuYWJsZWQ6CiAgICAgICAgIyBUYWtlIGEgY29weSBvZiB0aGUgZGF0
YSBzdG9yZSBhbmQgdW5zZXQgTUlSUk9SUyBhbmQgUFJFTUlSUk9SUwogICAgICAgIGRhdGEgPSBi
Yi5kYXRhLmNyZWF0ZUNvcHkoZCkKICAgICAgICBkYXRhLmRlbFZhcignUFJFTUlSUk9SUycpCiAg
ICAgICAgZGF0YS5kZWxWYXIoJ01JUlJPUlMnKQogICAgICAgIHRyeToKICAgICAgICAgICAgZmV0
Y2hlciA9IGJiLmZldGNoMi5GZXRjaCh0ZXN0X3VyaXMsIGRhdGEpCiAgICAgICAgICAgIGZldGNo
ZXIuY2hlY2tzdGF0dXMoKQogICAgICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZXJyOgogICAgICAg
ICAgICAjIEFsbG93IHRoZSBtZXNzYWdlIHRvIGJlIGNvbmZpZ3VyZWQgc28gdGhhdCB1c2VycyBj
YW4gYmUKICAgICAgICAgICAgIyBwb2ludGVkIHRvIGEgc3VwcG9ydCBtZWNoYW5pc20uCiAgICAg
ICAgICAgIG1zZyA9IGRhdGEuZ2V0VmFyKCdDT05ORUNUSVZJVFlfQ0hFQ0tfTVNHJykgb3IgIiIK
ICAgICAgICAgICAgaWYgbGVuKG1zZykgPT0gMDoKICAgICAgICAgICAgICAgIG1zZyA9ICIlcy5c
biIgJSBlcnIKICAgICAgICAgICAgICAgIG1zZyArPSAiICAgIFBsZWFzZSBlbnN1cmUgeW91ciBo
b3N0J3MgbmV0d29yayBpcyBjb25maWd1cmVkIGNvcnJlY3RseSxcbiIKICAgICAgICAgICAgICAg
IG1zZyArPSAiICAgIG9yIHNldCBCQl9OT19ORVRXT1JLID0gXCIxXCIgdG8gZGlzYWJsZSBuZXR3
b3JrIGFjY2VzcyBpZlxuIgogICAgICAgICAgICAgICAgbXNnICs9ICIgICAgYWxsIHJlcXVpcmVk
IHNvdXJjZXMgYXJlIG9uIGxvY2FsIGRpc2suXG4iCiAgICAgICAgICAgIHJldHZhbCA9IG1zZwoK
ICAgIHJldHVybiByZXR2YWwKfQoKCnB5dGhvbiBjaGVja19jcmVhdGVfbG9uZ19maWxlbmFtZSAo
KSB7CmRlZiBjaGVja19jcmVhdGVfbG9uZ19maWxlbmFtZShmaWxlcGF0aCwgcGF0aG5hbWUpOgog
ICAgaW1wb3J0IHN0cmluZywgcmFuZG9tCiAgICB0ZXN0ZmlsZSA9IG9zLnBhdGguam9pbihmaWxl
cGF0aCwgJycuam9pbihyYW5kb20uY2hvaWNlKHN0cmluZy5hc2NpaV9sZXR0ZXJzKSBmb3IgeCBp
biByYW5nZSgyMDApKSkKICAgIHRyeToKICAgICAgICBpZiBub3Qgb3MucGF0aC5leGlzdHMoZmls
ZXBhdGgpOgogICAgICAgICAgICBiYi51dGlscy5ta2RpcmhpZXIoZmlsZXBhdGgpCiAgICAgICAg
ZiA9IG9wZW4odGVzdGZpbGUsICJ3IikKICAgICAgICBmLmNsb3NlKCkKICAgICAgICBvcy5yZW1v
dmUodGVzdGZpbGUpCiAgICBleGNlcHQgSU9FcnJvciBhcyBlOgogICAgICAgIGltcG9ydCBlcnJu
bwogICAgICAgIGVyciwgc3RyZXJyb3IgPSBlLmFyZ3MKICAgICAgICBpZiBlcnIgPT0gZXJybm8u
RU5BTUVUT09MT05HOgogICAgICAgICAgICByZXR1cm4gIkZhaWxlZCB0byBjcmVhdGUgYSBmaWxl
IHdpdGggYSBsb25nIG5hbWUgaW4gJXMuIFBsZWFzZSB1c2UgYSBmaWxlc3lzdGVtIHRoYXQgZG9l
cyBub3QgdW5yZWFzb25hYmx5IGxpbWl0IGZpbGVuYW1lIGxlbmd0aC5cbiIgJSBwYXRobmFtZQog
ICAgICAgIGVsc2U6CiAgICAgICAgICAgIHJldHVybiAiRmFpbGVkIHRvIGNyZWF0ZSBhIGZpbGUg
aW4gJXM6ICVzLlxuIiAlIChwYXRobmFtZSwgc3RyZXJyb3IpCiAgICBleGNlcHQgT1NFcnJvciBh
cyBlOgogICAgICAgIGVycm5vLCBzdHJlcnJvciA9IGUuYXJncwogICAgICAgIHJldHVybiAiRmFp
bGVkIHRvIGNyZWF0ZSAlcyBkaXJlY3RvcnkgaW4gd2hpY2ggdG8gcnVuIGxvbmcgbmFtZSBzYW5p
dHkgY2hlY2s6ICVzLlxuIiAlIChwYXRobmFtZSwgc3RyZXJyb3IpCiAgICByZXR1cm4gIiIKfQoK
CnB5dGhvbiBjaGVja19nY2NfbWFyY2ggKCkgewpkZWYgY2hlY2tfZ2NjX21hcmNoKHNhbml0eV9k
YXRhKToKICAgIHJlc3VsdCA9IFRydWUKICAgIG1lc3NhZ2UgPSAiIgoKICAgICMgQ2hlY2sgaWYg
LW1hcmNoIG5vdCBpbiBCVUlMRF9DRkxBR1MKICAgIGlmIHNhbml0eV9kYXRhLmdldFZhcigiQlVJ
TERfQ0ZMQUdTIikuZmluZCgiLW1hcmNoIikgPCAwOgogICAgICAgIHJlc3VsdCA9IEZhbHNlCgog
ICAgICAgICMgQ29uc3RydWN0IGEgdGVzdCBmaWxlCiAgICAgICAgZiA9IG9wZW4oImdjY190ZXN0
LmMiLCAidyIpCiAgICAgICAgZi53cml0ZSgiaW50IG1haW4gKCl7IHZvbGF0aWxlIGludCBhdG9t
aWMgPSAyOyBfX3N5bmNfYm9vbF9jb21wYXJlX2FuZF9zd2FwICgmYXRvbWljLCAyLCAzKTsgcmV0
dXJuIDA7IH1cbiIpCiAgICAgICAgZi5jbG9zZSgpCgogICAgICAgICMgQ2hlY2sgaWYgR0NDIGNv
dWxkIHdvcmsgd2l0aG91dCBtYXJjaAogICAgICAgIGlmIG5vdCByZXN1bHQ6CiAgICAgICAgICAg
IHN0YXR1cyxyZXMgPSBvZS51dGlscy5nZXRzdGF0dXNvdXRwdXQoc2FuaXR5X2RhdGEuZXhwYW5k
KCIke0JVSUxEX0NDfSBnY2NfdGVzdC5jIC1vIGdjY190ZXN0IikpCiAgICAgICAgICAgIGlmIHN0
YXR1cyA9PSAwOgogICAgICAgICAgICAgICAgcmVzdWx0ID0gVHJ1ZTsKCiAgICAgICAgaWYgbm90
IHJlc3VsdDoKICAgICAgICAgICAgc3RhdHVzLHJlcyA9IG9lLnV0aWxzLmdldHN0YXR1c291dHB1
dChzYW5pdHlfZGF0YS5leHBhbmQoIiR7QlVJTERfQ0N9IC1tYXJjaD1uYXRpdmUgZ2NjX3Rlc3Qu
YyAtbyBnY2NfdGVzdCIpKQogICAgICAgICAgICBpZiBzdGF0dXMgPT0gMDoKICAgICAgICAgICAg
ICAgIG1lc3NhZ2UgPSAiQlVJTERfQ0ZMQUdTX2FwcGVuZCA9IFwiIC1tYXJjaD1uYXRpdmVcIiIK
ICAgICAgICAgICAgICAgIHJlc3VsdCA9IFRydWU7CgogICAgICAgIGlmIG5vdCByZXN1bHQ6CiAg
ICAgICAgICAgIGJ1aWxkX2FyY2ggPSBzYW5pdHlfZGF0YS5nZXRWYXIoJ0JVSUxEX0FSQ0gnKQog
ICAgICAgICAgICBzdGF0dXMscmVzID0gb2UudXRpbHMuZ2V0c3RhdHVzb3V0cHV0KHNhbml0eV9k
YXRhLmV4cGFuZCgiJHtCVUlMRF9DQ30gLW1hcmNoPSVzIGdjY190ZXN0LmMgLW8gZ2NjX3Rlc3Qi
ICUgYnVpbGRfYXJjaCkpCiAgICAgICAgICAgIGlmIHN0YXR1cyA9PSAwOgogICAgICAgICAgICAg
ICAgbWVzc2FnZSA9ICJCVUlMRF9DRkxBR1NfYXBwZW5kID0gXCIgLW1hcmNoPSVzXCIiICUgYnVp
bGRfYXJjaAogICAgICAgICAgICAgICAgcmVzdWx0ID0gVHJ1ZTsKCiAgICAgICAgb3MucmVtb3Zl
KCJnY2NfdGVzdC5jIikKICAgICAgICBpZiBvcy5wYXRoLmV4aXN0cygiZ2NjX3Rlc3QiKToKICAg
ICAgICAgICAgb3MucmVtb3ZlKCJnY2NfdGVzdCIpCgogICAgcmV0dXJuIChyZXN1bHQsIG1lc3Nh
Z2UpCn0KCgpweXRob24gY2hlY2tfZ2l0X3ZlcnNpb24gKCkgewpkZWYgY2hlY2tfZ2l0X3ZlcnNp
b24oc2FuaXR5X2RhdGEpOgogICAgZnJvbSBkaXN0dXRpbHMudmVyc2lvbiBpbXBvcnQgTG9vc2VW
ZXJzaW9uCiAgICBzdGF0dXMsIHJlc3VsdCA9IG9lLnV0aWxzLmdldHN0YXR1c291dHB1dCgiZ2l0
IC0tdmVyc2lvbiAyPiAvZGV2L251bGwiKQogICAgaWYgc3RhdHVzICE9IDA6CiAgICAgICAgcmV0
dXJuICJVbmFibGUgdG8gZXhlY3V0ZSBnaXQgLS12ZXJzaW9uLCBleGl0IGNvZGUgJXNcbiIgJSBz
dGF0dXMKICAgIHZlcnNpb24gPSByZXN1bHQuc3BsaXQoKVsyXQogICAgaWYgTG9vc2VWZXJzaW9u
KHZlcnNpb24pIDwgTG9vc2VWZXJzaW9uKCIxLjguMy4xIik6CiAgICAgICAgcmV0dXJuICJZb3Vy
IHZlcnNpb24gb2YgZ2l0IGlzIG9sZGVyIHRoYW4gMS44LjMuMSBhbmQgaGFzIGJ1Z3Mgd2hpY2gg
d2lsbCBicmVhayBidWlsZHMuIFBsZWFzZSBpbnN0YWxsIGEgbmV3ZXIgdmVyc2lvbiBvZiBnaXQu
XG4iCiAgICByZXR1cm4gTm9uZQp9CgoKcHl0aG9uIGNoZWNrX2xpY2Vuc2VfZmxhZ3MgKCkgewpk
ZWYgY2hlY2tfbGljZW5zZV9mbGFncyhkKToKICAgICIiIgogICAgVGhpcyBmdW5jdGlvbiBjaGVj
a3MgaWYgYSByZWNpcGUgaGFzIGFueSBMSUNFTlNFX0ZMQUdTIHRoYXQKICAgIGFyZW4ndCB3aGl0
ZWxpc3RlZC4KCiAgICBJZiBpdCBkb2VzLCBpdCByZXR1cm5zIHRoZSBmaXJzdCBMSUNFTlNFX0ZM
QUdTIGl0ZW0gbWlzc2luZyBmcm9tIHRoZQogICAgd2hpdGVsaXN0LCBvciBhbGwgb2YgdGhlIExJ
Q0VOU0VfRkxBR1MgaWYgdGhlcmUgaXMgbm8gd2hpdGVsaXN0LgoKICAgIElmIGV2ZXJ5dGhpbmcg
aXMgaXMgcHJvcGVybHkgd2hpdGVsaXN0ZWQsIGl0IHJldHVybnMgTm9uZS4KICAgICIiIgoKICAg
IGRlZiBsaWNlbnNlX2ZsYWdfbWF0Y2hlcyhmbGFnLCB3aGl0ZWxpc3QsIHBuKToKICAgICAgICAi
IiIKICAgICAgICBSZXR1cm4gVHJ1ZSBpZiBmbGFnIG1hdGNoZXMgc29tZXRoaW5nIGluIHdoaXRl
bGlzdCwgTm9uZSBpZiBub3QuCgogICAgICAgIEJlZm9yZSB3ZSB0ZXN0IGEgZmxhZyBhZ2FpbnN0
IHRoZSB3aGl0ZWxpc3QsIHdlIGFwcGVuZCBfJHtQTn0KICAgICAgICB0byBpdC4gIFdlIHRoZW4g
dHJ5IHRvIG1hdGNoIHRoYXQgc3RyaW5nIGFnYWluc3QgdGhlCiAgICAgICAgd2hpdGVsaXN0LiAg
VGhpcyBjb3ZlcnMgdGhlIG5vcm1hbCBjYXNlLCB3aGVyZSB3ZSBleHBlY3QKICAgICAgICBMSUNF
TlNFX0ZMQUdTIHRvIGJlIGEgc2ltcGxlIHN0cmluZyBsaWtlICdjb21tZXJjaWFsJywgd2hpY2gK
ICAgICAgICB0aGUgdXNlciB0eXBpY2FsbHkgbWF0Y2hlcyBleGFjdGx5IGluIHRoZSB3aGl0ZWxp
c3QgYnkKICAgICAgICBleHBsaWNpdGx5IGFwcGVuZGluZyB0aGUgcGFja2FnZSBuYW1lIGUuZyAn
Y29tbWVyY2lhbF9mb28nLgogICAgICAgIElmIHdlIGZhaWwgdGhlIG1hdGNoIGhvd2V2ZXIsIHdl
IHRoZW4gc3BsaXQgdGhlIGZsYWcgYWNyb3NzCiAgICAgICAgJ18nIGFuZCBhcHBlbmQgZWFjaCBm
cmFnbWVudCBhbmQgdGVzdCB1bnRpbCB3ZSBlaXRoZXIgbWF0Y2ggb3IKICAgICAgICBydW4gb3V0
IG9mIGZyYWdtZW50cy4KICAgICAgICAiIiIKICAgICAgICBmbGFnX3BuID0gKCIlc18lcyIgJSAo
ZmxhZywgcG4pKQogICAgICAgIGZvciBjYW5kaWRhdGUgaW4gd2hpdGVsaXN0OgogICAgICAgICAg
ICBpZiBmbGFnX3BuID09IGNhbmRpZGF0ZToKICAgICAgICAgICAgICAgICAgICByZXR1cm4gVHJ1
ZQoKICAgICAgICBmbGFnX2N1ciA9ICIiCiAgICAgICAgZmxhZ21lbnRzID0gZmxhZ19wbi5zcGxp
dCgiXyIpCiAgICAgICAgZmxhZ21lbnRzLnBvcCgpICMgd2UndmUgYWxyZWFkeSB0ZXN0ZWQgdGhl
IGZ1bGwgc3RyaW5nCiAgICAgICAgZm9yIGZsYWdtZW50IGluIGZsYWdtZW50czoKICAgICAgICAg
ICAgaWYgZmxhZ19jdXI6CiAgICAgICAgICAgICAgICBmbGFnX2N1ciArPSAiXyIKICAgICAgICAg
ICAgZmxhZ19jdXIgKz0gZmxhZ21lbnQKICAgICAgICAgICAgZm9yIGNhbmRpZGF0ZSBpbiB3aGl0
ZWxpc3Q6CiAgICAgICAgICAgICAgICBpZiBmbGFnX2N1ciA9PSBjYW5kaWRhdGU6CiAgICAgICAg
ICAgICAgICAgICAgcmV0dXJuIFRydWUKICAgICAgICByZXR1cm4gRmFsc2UKCiAgICBkZWYgYWxs
X2xpY2Vuc2VfZmxhZ3NfbWF0Y2gobGljZW5zZV9mbGFncywgd2hpdGVsaXN0KToKICAgICAgICAi
IiIgUmV0dXJuIGZpcnN0IHVubWF0Y2hlZCBmbGFnLCBOb25lIGlmIGFsbCBmbGFncyBtYXRjaCAi
IiIKICAgICAgICBwbiA9IGQuZ2V0VmFyKCdQTicpCiAgICAgICAgc3BsaXRfd2hpdGVsaXN0ID0g
d2hpdGVsaXN0LnNwbGl0KCkKICAgICAgICBmb3IgZmxhZyBpbiBsaWNlbnNlX2ZsYWdzLnNwbGl0
KCk6CiAgICAgICAgICAgIGlmIG5vdCBsaWNlbnNlX2ZsYWdfbWF0Y2hlcyhmbGFnLCBzcGxpdF93
aGl0ZWxpc3QsIHBuKToKICAgICAgICAgICAgICAgIHJldHVybiBmbGFnCiAgICAgICAgcmV0dXJu
IE5vbmUKCiAgICBsaWNlbnNlX2ZsYWdzID0gZC5nZXRWYXIoJ0xJQ0VOU0VfRkxBR1MnKQogICAg
aWYgbGljZW5zZV9mbGFnczoKICAgICAgICB3aGl0ZWxpc3QgPSBkLmdldFZhcignTElDRU5TRV9G
TEFHU19XSElURUxJU1QnKQogICAgICAgIGlmIG5vdCB3aGl0ZWxpc3Q6CiAgICAgICAgICAgIHJl
dHVybiBsaWNlbnNlX2ZsYWdzCiAgICAgICAgdW5tYXRjaGVkX2ZsYWcgPSBhbGxfbGljZW5zZV9m
bGFnc19tYXRjaChsaWNlbnNlX2ZsYWdzLCB3aGl0ZWxpc3QpCiAgICAgICAgaWYgdW5tYXRjaGVk
X2ZsYWc6CiAgICAgICAgICAgIHJldHVybiB1bm1hdGNoZWRfZmxhZwogICAgcmV0dXJuIE5vbmUK
fQoKCnB5dGhvbiBjaGVja19saWNlbnNlX2Zvcm1hdCAoKSB7CmRlZiBjaGVja19saWNlbnNlX2Zv
cm1hdChkKToKICAgICIiIgogICAgVGhpcyBmdW5jdGlvbiBjaGVja3MgaWYgTElDRU5TRSBpcyB3
ZWxsIGRlZmluZWQsCiAgICAgICAgVmFsaWRhdGUgb3BlcmF0b3JzIGluIExJQ0VOU0VTLgogICAg
ICAgIE5vIHNwYWNlcyBhcmUgYWxsb3dlZCBiZXR3ZWVuIExJQ0VOU0VTLgogICAgIiIiCiAgICBw
biA9IGQuZ2V0VmFyKCdQTicpCiAgICBsaWNlbnNlcyA9IGQuZ2V0VmFyKCdMSUNFTlNFJykKICAg
IGZyb20gb2UubGljZW5zZSBpbXBvcnQgbGljZW5zZV9vcGVyYXRvciwgbGljZW5zZV9vcGVyYXRv
cl9jaGFycywgbGljZW5zZV9wYXR0ZXJuCgogICAgZWxlbWVudHMgPSBsaXN0KGZpbHRlcihsYW1i
ZGEgeDogeC5zdHJpcCgpLCBsaWNlbnNlX29wZXJhdG9yLnNwbGl0KGxpY2Vuc2VzKSkpCiAgICBm
b3IgcG9zLCBlbGVtZW50IGluIGVudW1lcmF0ZShlbGVtZW50cyk6CiAgICAgICAgaWYgbGljZW5z
ZV9wYXR0ZXJuLm1hdGNoKGVsZW1lbnQpOgogICAgICAgICAgICBpZiBwb3MgPiAwIGFuZCBsaWNl
bnNlX3BhdHRlcm4ubWF0Y2goZWxlbWVudHNbcG9zIC0gMV0pOgogICAgICAgICAgICAgICAgYmIu
d2FybignJXM6IExJQ0VOU0UgdmFsdWUgIiVzIiBoYXMgYW4gaW52YWxpZCBmb3JtYXQgLSBsaWNl
bnNlIG5hbWVzICcgXAogICAgICAgICAgICAgICAgICAgICAgICAnbXVzdCBiZSBzZXBhcmF0ZWQg
YnkgdGhlIGZvbGxvd2luZyBjaGFyYWN0ZXJzIHRvIGluZGljYXRlICcgXAogICAgICAgICAgICAg
ICAgICAgICAgICAndGhlIGxpY2Vuc2Ugc2VsZWN0aW9uOiAlcycgJQogICAgICAgICAgICAgICAg
ICAgICAgICAocG4sIGxpY2Vuc2VzLCBsaWNlbnNlX29wZXJhdG9yX2NoYXJzKSkKICAgICAgICBl
bGlmIG5vdCBsaWNlbnNlX29wZXJhdG9yLm1hdGNoKGVsZW1lbnQpOgogICAgICAgICAgICBiYi53
YXJuKCclczogTElDRU5TRSB2YWx1ZSAiJXMiIGhhcyBhbiBpbnZhbGlkIHNlcGFyYXRvciAiJXMi
IHRoYXQgaXMgbm90ICcgXAogICAgICAgICAgICAgICAgICAgICdpbiB0aGUgdmFsaWQgbGlzdCBv
ZiBzZXBhcmF0b3JzICglcyknICUKICAgICAgICAgICAgICAgICAgICAocG4sIGxpY2Vuc2VzLCBl
bGVtZW50LCBsaWNlbnNlX29wZXJhdG9yX2NoYXJzKSkKfQoKCnB5dGhvbiBjaGVja19tYWtlX3Zl
cnNpb24gKCkgewpkZWYgY2hlY2tfbWFrZV92ZXJzaW9uKHNhbml0eV9kYXRhKToKICAgIGZyb20g
ZGlzdHV0aWxzLnZlcnNpb24gaW1wb3J0IExvb3NlVmVyc2lvbgogICAgc3RhdHVzLCByZXN1bHQg
PSBvZS51dGlscy5nZXRzdGF0dXNvdXRwdXQoIm1ha2UgLS12ZXJzaW9uIikKICAgIGlmIHN0YXR1
cyAhPSAwOgogICAgICAgIHJldHVybiAiVW5hYmxlIHRvIGV4ZWN1dGUgbWFrZSAtLXZlcnNpb24s
IGV4aXQgY29kZSAlc1xuIiAlIHN0YXR1cwogICAgdmVyc2lvbiA9IHJlc3VsdC5zcGxpdCgpWzJd
CiAgICBpZiBMb29zZVZlcnNpb24odmVyc2lvbikgPT0gTG9vc2VWZXJzaW9uKCIzLjgyIik6CiAg
ICAgICAgIyBDb25zdHJ1Y3QgYSB0ZXN0IGZpbGUKICAgICAgICBmID0gb3BlbigibWFrZWZpbGVf
dGVzdCIsICJ3IikKICAgICAgICBmLndyaXRlKCJtYWtlZmlsZV90ZXN0LmE6IG1ha2VmaWxlX3Rl
c3RfYS5jIG1ha2VmaWxlX3Rlc3RfYi5jIG1ha2VmaWxlX3Rlc3QuYSggbWFrZWZpbGVfdGVzdF9h
LmMgbWFrZWZpbGVfdGVzdF9iLmMpXG4iKQogICAgICAgIGYud3JpdGUoIlxuIikKICAgICAgICBm
LndyaXRlKCJtYWtlZmlsZV90ZXN0X2EuYzpcbiIpCiAgICAgICAgZi53cml0ZSgiCXRvdWNoICRA
XG4iKQogICAgICAgIGYud3JpdGUoIlxuIikKICAgICAgICBmLndyaXRlKCJtYWtlZmlsZV90ZXN0
X2IuYzpcbiIpCiAgICAgICAgZi53cml0ZSgiCXRvdWNoICRAXG4iKQogICAgICAgIGYuY2xvc2Uo
KQoKICAgICAgICAjIENoZWNrIGlmIG1ha2UgMy44MiBoYXMgYmVlbiBwYXRjaGVkCiAgICAgICAg
c3RhdHVzLHJlc3VsdCA9IG9lLnV0aWxzLmdldHN0YXR1c291dHB1dCgibWFrZSAtZiBtYWtlZmls
ZV90ZXN0IikKCiAgICAgICAgb3MucmVtb3ZlKCJtYWtlZmlsZV90ZXN0IikKICAgICAgICBpZiBv
cy5wYXRoLmV4aXN0cygibWFrZWZpbGVfdGVzdF9hLmMiKToKICAgICAgICAgICAgb3MucmVtb3Zl
KCJtYWtlZmlsZV90ZXN0X2EuYyIpCiAgICAgICAgaWYgb3MucGF0aC5leGlzdHMoIm1ha2VmaWxl
X3Rlc3RfYi5jIik6CiAgICAgICAgICAgIG9zLnJlbW92ZSgibWFrZWZpbGVfdGVzdF9iLmMiKQog
ICAgICAgIGlmIG9zLnBhdGguZXhpc3RzKCJtYWtlZmlsZV90ZXN0LmEiKToKICAgICAgICAgICAg
b3MucmVtb3ZlKCJtYWtlZmlsZV90ZXN0LmEiKQoKICAgICAgICBpZiBzdGF0dXMgIT0gMDoKICAg
ICAgICAgICAgcmV0dXJuICJZb3VyIHZlcnNpb24gb2YgbWFrZSAzLjgyIGlzIGJyb2tlbi4gUGxl
YXNlIHJldmVydCB0byAzLjgxIG9yIGluc3RhbGwgYSBwYXRjaGVkIHZlcnNpb24uXG4iCiAgICBy
ZXR1cm4gTm9uZQoKfQoKCnB5dGhvbiBjaGVja19ub3RfbmZzICgpIHsKZGVmIGNoZWNrX25vdF9u
ZnMocGF0aCwgbmFtZSk6CiAgICAjIFRoZSBuZnMnIGZpbGVzeXN0ZW0gaWQgaXMgNjk2OQogICAg
aWYgZ2V0X2ZpbGVzeXN0ZW1faWQocGF0aCkgPT0gIjY5NjkiOgogICAgICAgIHJldHVybiAiVGhl
ICVzOiAlcyBjYW4ndCBiZSBsb2NhdGVkIG9uIG5mcy5cbiIgJSAobmFtZSwgcGF0aCkKICAgIHJl
dHVybiAiIgp9CgoKcHl0aG9uIGNoZWNrX3BhdGhfbGVuZ3RoICgpIHsKZGVmIGNoZWNrX3BhdGhf
bGVuZ3RoKGZpbGVwYXRoLCBwYXRobmFtZSwgbGltaXQpOgogICAgaWYgbGVuKGZpbGVwYXRoKSA+
IGxpbWl0OgogICAgICAgIHJldHVybiAiVGhlIGxlbmd0aCBvZiAlcyBpcyBsb25nZXIgdGhhbiAl
cywgdGhpcyB3b3VsZCBjYXVzZSB1bmV4cGVjdGVkIGVycm9ycywgcGxlYXNlIHVzZSBhIHNob3J0
ZXIgcGF0aC5cbiIgJSAocGF0aG5hbWUsIGxpbWl0KQogICAgcmV0dXJuICIiCn0KCgpweXRob24g
Y2hlY2tfcGVybF9tb2R1bGVzICgpIHsKZGVmIGNoZWNrX3BlcmxfbW9kdWxlcyhzYW5pdHlfZGF0
YSk6CiAgICByZXQgPSAiIgogICAgbW9kdWxlcyA9ICggIlRleHQ6OlBhcnNlV29yZHMiLCAiVGhy
ZWFkOjpRdWV1ZSIsICJEYXRhOjpEdW1wZXIiICkKICAgIGVycnJlc3VsdCA9ICcnCiAgICBmb3Ig
bSBpbiBtb2R1bGVzOgogICAgICAgIHN0YXR1cywgcmVzdWx0ID0gb2UudXRpbHMuZ2V0c3RhdHVz
b3V0cHV0KCJwZXJsIC1lICd1c2UgJXMnIiAlIG0pCiAgICAgICAgaWYgc3RhdHVzICE9IDA6CiAg
ICAgICAgICAgIGVycnJlc3VsdCArPSByZXN1bHQKICAgICAgICAgICAgcmV0ICs9ICIlcyAiICUg
bQogICAgaWYgcmV0OgogICAgICAgIHJldHVybiAiUmVxdWlyZWQgcGVybCBtb2R1bGUocykgbm90
IGZvdW5kOiAlc1xuXG4lc1xuIiAlIChyZXQsIGVycnJlc3VsdCkKICAgIHJldHVybiBOb25lCn0K
CgpweXRob24gY2hlY2tfc2FuaXR5ICgpIHsKZGVmIGNoZWNrX3Nhbml0eShzYW5pdHlfZGF0YSk6
CiAgICBjbGFzcyBTYW5pdHlTdGF0dXMob2JqZWN0KToKICAgICAgICBkZWYgX19pbml0X18oc2Vs
Zik6CiAgICAgICAgICAgIHNlbGYubWVzc2FnZXMgPSAiIgogICAgICAgICAgICBzZWxmLm5ldHdv
cmtfZXJyb3IgPSBGYWxzZQoKICAgICAgICBkZWYgYWRkcmVzdWx0KHNlbGYsIG1lc3NhZ2UpOgog
ICAgICAgICAgICBpZiBtZXNzYWdlOgogICAgICAgICAgICAgICAgc2VsZi5tZXNzYWdlcyA9IHNl
bGYubWVzc2FnZXMgKyBtZXNzYWdlCgogICAgc3RhdHVzID0gU2FuaXR5U3RhdHVzKCkKCiAgICB0
bXBkaXIgPSBzYW5pdHlfZGF0YS5nZXRWYXIoJ1RNUERJUicpCiAgICBzc3RhdGVfZGlyID0gc2Fu
aXR5X2RhdGEuZ2V0VmFyKCdTU1RBVEVfRElSJykKCiAgICBjaGVja19zeW1saW5rKHNzdGF0ZV9k
aXIsIHNhbml0eV9kYXRhKQoKICAgICMgQ2hlY2sgc2F2ZWQgc2FuaXR5IGluZm8KICAgIGxhc3Rf
c2FuaXR5X3ZlcnNpb24gPSAwCiAgICBsYXN0X3RtcGRpciA9ICIiCiAgICBsYXN0X3NzdGF0ZV9k
aXIgPSAiIgogICAgbGFzdF9uYXRpdmVsc2JzdHIgPSAiIgogICAgc2FuaXR5dmVyZmlsZSA9IHNh
bml0eV9kYXRhLmV4cGFuZCgiJHtUT1BESVJ9L2NvbmYvc2FuaXR5X2luZm8iKQogICAgaWYgb3Mu
cGF0aC5leGlzdHMoc2FuaXR5dmVyZmlsZSk6CiAgICAgICAgd2l0aCBvcGVuKHNhbml0eXZlcmZp
bGUsICdyJykgYXMgZjoKICAgICAgICAgICAgZm9yIGxpbmUgaW4gZjoKICAgICAgICAgICAgICAg
IGlmIGxpbmUuc3RhcnRzd2l0aCgnU0FOSVRZX1ZFUlNJT04nKToKICAgICAgICAgICAgICAgICAg
ICBsYXN0X3Nhbml0eV92ZXJzaW9uID0gaW50KGxpbmUuc3BsaXQoKVsxXSkKICAgICAgICAgICAg
ICAgIGlmIGxpbmUuc3RhcnRzd2l0aCgnVE1QRElSJyk6CiAgICAgICAgICAgICAgICAgICAgbGFz
dF90bXBkaXIgPSBsaW5lLnNwbGl0KClbMV0KICAgICAgICAgICAgICAgIGlmIGxpbmUuc3RhcnRz
d2l0aCgnU1NUQVRFX0RJUicpOgogICAgICAgICAgICAgICAgICAgIGxhc3Rfc3N0YXRlX2RpciA9
IGxpbmUuc3BsaXQoKVsxXQogICAgICAgICAgICAgICAgaWYgbGluZS5zdGFydHN3aXRoKCdOQVRJ
VkVMU0JTVFJJTkcnKToKICAgICAgICAgICAgICAgICAgICBsYXN0X25hdGl2ZWxzYnN0ciA9IGxp
bmUuc3BsaXQoKVsxXQoKICAgIGNoZWNrX3Nhbml0eV9ldmVyeWJ1aWxkKHN0YXR1cywgc2FuaXR5
X2RhdGEpCgogICAgc2FuaXR5X3ZlcnNpb24gPSBpbnQoc2FuaXR5X2RhdGEuZ2V0VmFyKCdTQU5J
VFlfVkVSU0lPTicpIG9yIDEpCiAgICBuZXR3b3JrX2Vycm9yID0gRmFsc2UKICAgICMgTkFUSVZF
TFNCU1RSSU5HIHZhciBtYXkgaGF2ZSBiZWVuIG92ZXJyaWRkZW4gd2l0aCAidW5pdmVyc2FsIiwg
c28KICAgICMgZ2V0IGFjdHVhbCBob3N0IGRpc3RyaWJ1dGlvbiBpZCBhbmQgdmVyc2lvbgogICAg
bmF0aXZlbHNic3RyID0gbHNiX2Rpc3Ryb19pZGVudGlmaWVyKHNhbml0eV9kYXRhKQogICAgaWYg
bGFzdF9zYW5pdHlfdmVyc2lvbiA8IHNhbml0eV92ZXJzaW9uIG9yIGxhc3RfbmF0aXZlbHNic3Ry
ICE9IG5hdGl2ZWxzYnN0cjoKICAgICAgICBjaGVja19zYW5pdHlfdmVyc2lvbl9jaGFuZ2Uoc3Rh
dHVzLCBzYW5pdHlfZGF0YSkKICAgICAgICBzdGF0dXMuYWRkcmVzdWx0KGNoZWNrX3Nhbml0eV9z
c3RhdGVfZGlyX2NoYW5nZShzc3RhdGVfZGlyLCBzYW5pdHlfZGF0YSkpCiAgICBlbHNlOgogICAg
ICAgIGlmIGxhc3Rfc3N0YXRlX2RpciAhPSBzc3RhdGVfZGlyOgogICAgICAgICAgICBzdGF0dXMu
YWRkcmVzdWx0KGNoZWNrX3Nhbml0eV9zc3RhdGVfZGlyX2NoYW5nZShzc3RhdGVfZGlyLCBzYW5p
dHlfZGF0YSkpCgogICAgaWYgb3MucGF0aC5leGlzdHMob3MucGF0aC5kaXJuYW1lKHNhbml0eXZl
cmZpbGUpKSBhbmQgbm90IHN0YXR1cy5tZXNzYWdlczoKICAgICAgICB3aXRoIG9wZW4oc2FuaXR5
dmVyZmlsZSwgJ3cnKSBhcyBmOgogICAgICAgICAgICBmLndyaXRlKCJTQU5JVFlfVkVSU0lPTiAl
c1xuIiAlIHNhbml0eV92ZXJzaW9uKQogICAgICAgICAgICBmLndyaXRlKCJUTVBESVIgJXNcbiIg
JSB0bXBkaXIpCiAgICAgICAgICAgIGYud3JpdGUoIlNTVEFURV9ESVIgJXNcbiIgJSBzc3RhdGVf
ZGlyKQogICAgICAgICAgICBmLndyaXRlKCJOQVRJVkVMU0JTVFJJTkcgJXNcbiIgJSBuYXRpdmVs
c2JzdHIpCgogICAgc2FuaXR5X2hhbmRsZV9hYmljaGFuZ2VzKHN0YXR1cywgc2FuaXR5X2RhdGEp
CgogICAgaWYgc3RhdHVzLm1lc3NhZ2VzICE9ICIiOgogICAgICAgIHJhaXNlX3Nhbml0eV9lcnJv
cihzYW5pdHlfZGF0YS5leHBhbmQoc3RhdHVzLm1lc3NhZ2VzKSwgc2FuaXR5X2RhdGEsIHN0YXR1
cy5uZXR3b3JrX2Vycm9yKQp9CgoKcHl0aG9uIGNoZWNrX3Nhbml0eV9ldmVudGhhbmRsZXIgKCkg
ewogICAgaWYgYmIuZXZlbnQuZ2V0TmFtZShlKSA9PSAiU2FuaXR5Q2hlY2siOgogICAgICAgIHNh
bml0eV9kYXRhID0gY29weV9kYXRhKGUpCiAgICAgICAgY2hlY2tfc2FuaXR5KHNhbml0eV9kYXRh
KQogICAgICAgIGlmIGUuZ2VuZXJhdGVldmVudHM6CiAgICAgICAgICAgIHNhbml0eV9kYXRhLnNl
dFZhcigiU0FOSVRZX1VTRV9FVkVOVFMiLCAiMSIpCiAgICAgICAgYmIuZXZlbnQuZmlyZShiYi5l
dmVudC5TYW5pdHlDaGVja1Bhc3NlZCgpLCBlLmRhdGEpCiAgICBlbGlmIGJiLmV2ZW50LmdldE5h
bWUoZSkgPT0gIk5ldHdvcmtUZXN0IjoKICAgICAgICBzYW5pdHlfZGF0YSA9IGNvcHlfZGF0YShl
KQogICAgICAgIGlmIGUuZ2VuZXJhdGVldmVudHM6CiAgICAgICAgICAgIHNhbml0eV9kYXRhLnNl
dFZhcigiU0FOSVRZX1VTRV9FVkVOVFMiLCAiMSIpCiAgICAgICAgYmIuZXZlbnQuZmlyZShiYi5l
dmVudC5OZXR3b3JrVGVzdEZhaWxlZCgpIGlmIGNoZWNrX2Nvbm5lY3Rpdml0eShzYW5pdHlfZGF0
YSkgZWxzZSBiYi5ldmVudC5OZXR3b3JrVGVzdFBhc3NlZCgpLCBlLmRhdGEpCgogICAgcmV0dXJu
Cn0KCgpweXRob24gY2hlY2tfc2FuaXR5X2V2ZXJ5YnVpbGQgKCkgewpkZWYgY2hlY2tfc2FuaXR5
X2V2ZXJ5YnVpbGQoc3RhdHVzLCBkKToKICAgIGltcG9ydCBvcywgc3RhdAogICAgIyBTYW5pdHkg
dGVzdHMgd2hpY2ggdGVzdCB0aGUgdXNlcnMgZW52aXJvbm1lbnQgc28gbmVlZCB0byBydW4gYXQg
ZWFjaCBidWlsZCAob3IgYXJlIHNvIGNoZWFwCiAgICAjIGl0IG1ha2VzIHNlbnNlIHRvIGFsd2F5
cyBydW4gdGhlbS4KCiAgICBpZiAwID09IG9zLmdldHVpZCgpOgogICAgICAgIHJhaXNlX3Nhbml0
eV9lcnJvcigiRG8gbm90IHVzZSBCaXRiYWtlIGFzIHJvb3QuIiwgZCkKCiAgICAjIENoZWNrIHRo
ZSBQeXRob24gdmVyc2lvbiwgd2Ugbm93IGhhdmUgYSBtaW5pbXVtIG9mIFB5dGhvbiAyLjcuMwog
ICAgaW1wb3J0IHN5cwogICAgaWYgc3lzLmhleHZlcnNpb24gPCAweDAyMDcwM0YwOgogICAgICAg
IHN0YXR1cy5hZGRyZXN1bHQoJ1RoZSBzeXN0ZW0gcmVxdWlyZXMgYXQgbGVhc3QgUHl0aG9uIDIu
Ny4zIHRvIHJ1bi4gUGxlYXNlIHVwZGF0ZSB5b3VyIFB5dGhvbiBpbnRlcnByZXRlci5cbicpCgog
ICAgIyBDaGVjayB0aGUgYml0YmFrZSB2ZXJzaW9uIG1lZXRzIG1pbmltdW0gcmVxdWlyZW1lbnRz
CiAgICBmcm9tIGRpc3R1dGlscy52ZXJzaW9uIGltcG9ydCBMb29zZVZlcnNpb24KICAgIG1pbnZl
cnNpb24gPSBkLmdldFZhcignQkJfTUlOX1ZFUlNJT04nKQogICAgaWYgKExvb3NlVmVyc2lvbihi
Yi5fX3ZlcnNpb25fXykgPCBMb29zZVZlcnNpb24obWludmVyc2lvbikpOgogICAgICAgIHN0YXR1
cy5hZGRyZXN1bHQoJ0JpdGJha2UgdmVyc2lvbiAlcyBpcyByZXF1aXJlZCBhbmQgdmVyc2lvbiAl
cyB3YXMgZm91bmRcbicgJSAobWludmVyc2lvbiwgYmIuX192ZXJzaW9uX18pKQoKICAgIHNhbml0
eV9jaGVja19sb2NhbGUoZCkKCiAgICBwYXRocyA9IGQuZ2V0VmFyKCdQQVRIJykuc3BsaXQoIjoi
KQogICAgaWYgIi4iIGluIHBhdGhzIG9yICIuLyIgaW4gcGF0aHMgb3IgIiIgaW4gcGF0aHM6CiAg
ICAgICAgc3RhdHVzLmFkZHJlc3VsdCgiUEFUSCBjb250YWlucyAnLicsICcuLycgb3IgJycgKGVt
cHR5IGVsZW1lbnQpLCB3aGljaCB3aWxsIGJyZWFrIHRoZSBidWlsZCwgcGxlYXNlIHJlbW92ZSB0
aGlzLlxuUGFyc2VkIFBBVEggaXMgIiArIHN0cihwYXRocykgKyAiXG4iKQoKICAgICMgQ2hlY2sg
dGhhdCB0aGUgRElTVFJPIGlzIHZhbGlkLCBpZiBzZXQKICAgICMgbmVlZCB0byB0YWtlIGludG8g
YWNjb3VudCBESVNUUk8gcmVuYW1pbmcgRElTVFJPCiAgICBkaXN0cm8gPSBkLmdldFZhcignRElT
VFJPJykKICAgIGlmIGRpc3RybyBhbmQgZGlzdHJvICE9ICJub2Rpc3RybyI6CiAgICAgICAgaWYg
bm90ICggY2hlY2tfY29uZl9leGlzdHMoImNvbmYvZGlzdHJvLyR7RElTVFJPfS5jb25mIiwgZCkg
b3IgY2hlY2tfY29uZl9leGlzdHMoImNvbmYvZGlzdHJvL2luY2x1ZGUvJHtESVNUUk99LmluYyIs
IGQpICk6CiAgICAgICAgICAgIHN0YXR1cy5hZGRyZXN1bHQoIkRJU1RSTyAnJXMnIG5vdCBmb3Vu
ZC4gUGxlYXNlIHNldCBhIHZhbGlkIERJU1RSTyBpbiB5b3VyIGxvY2FsLmNvbmZcbiIgJSBkLmdl
dFZhcigiRElTVFJPIikpCgogICAgIyBDaGVjayB0aGF0IERMX0RJUiBpcyBzZXQsIGV4aXN0cyBh
bmQgaXMgd3JpdGFibGUuIEluIHRoZW9yeSwgd2Ugc2hvdWxkIG5ldmVyIGV2ZW4gaGl0IHRoZSBj
aGVjayBpZiBETF9ESVIgaXNuJ3QKICAgICMgc2V0LCBzaW5jZSBzbyBtdWNoIHJlbGllcyBvbiBp
dCBiZWluZyBzZXQuCiAgICBkbGRpciA9IGQuZ2V0VmFyKCdETF9ESVInKQogICAgaWYgbm90IGRs
ZGlyOgogICAgICAgIHN0YXR1cy5hZGRyZXN1bHQoIkRMX0RJUiBpcyBub3Qgc2V0LiBZb3VyIGVu
dmlyb25tZW50IGlzIG1pc2NvbmZpZ3VyZWQsIGNoZWNrIHRoYXQgRExfRElSIGlzIHNldCwgYW5k
IGlmIHRoZSBkaXJlY3RvcnkgZXhpc3RzLCB0aGF0IGl0IGlzIHdyaXRhYmxlLiBcbiIpCiAgICBp
ZiBvcy5wYXRoLmV4aXN0cyhkbGRpcikgYW5kIG5vdCBvcy5hY2Nlc3MoZGxkaXIsIG9zLldfT0sp
OgogICAgICAgIHN0YXR1cy5hZGRyZXN1bHQoIkRMX0RJUjogJXMgZXhpc3RzIGJ1dCB5b3UgZG8g
bm90IGFwcGVhciB0byBoYXZlIHdyaXRlIGFjY2VzcyB0byBpdC4gXG4iICUgZGxkaXIpCiAgICBj
aGVja19zeW1saW5rKGRsZGlyLCBkKQoKICAgICMgQ2hlY2sgdGhhdCB0aGUgTUFDSElORSBpcyB2
YWxpZCwgaWYgaXQgaXMgc2V0CiAgICBtYWNoaW5ldmFsaWQgPSBUcnVlCiAgICBpZiBkLmdldFZh
cignTUFDSElORScpOgogICAgICAgIGlmIG5vdCBjaGVja19jb25mX2V4aXN0cygiY29uZi9tYWNo
aW5lLyR7TUFDSElORX0uY29uZiIsIGQpOgogICAgICAgICAgICBzdGF0dXMuYWRkcmVzdWx0KCdN
QUNISU5FPSVzIGlzIGludmFsaWQuIFBsZWFzZSBzZXQgYSB2YWxpZCBNQUNISU5FIGluIHlvdXIg
bG9jYWwuY29uZiwgZW52aXJvbm1lbnQgb3Igb3RoZXIgY29uZmlndXJhdGlvbiBmaWxlLlxuJyAl
IChkLmdldFZhcignTUFDSElORScpKSkKICAgICAgICAgICAgbWFjaGluZXZhbGlkID0gRmFsc2UK
ICAgICAgICBlbHNlOgogICAgICAgICAgICBzdGF0dXMuYWRkcmVzdWx0KGNoZWNrX3Nhbml0eV92
YWxpZG1hY2hpbmUoZCkpCiAgICBlbHNlOgogICAgICAgIHN0YXR1cy5hZGRyZXN1bHQoJ1BsZWFz
ZSBzZXQgYSBNQUNISU5FIGluIHlvdXIgbG9jYWwuY29uZiBvciBlbnZpcm9ubWVudFxuJykKICAg
ICAgICBtYWNoaW5ldmFsaWQgPSBGYWxzZQogICAgaWYgbWFjaGluZXZhbGlkOgogICAgICAgIHN0
YXR1cy5hZGRyZXN1bHQoY2hlY2tfdG9vbGNoYWluKGQpKQoKICAgICMgQ2hlY2sgdGhhdCB0aGUg
U0RLTUFDSElORSBpcyB2YWxpZCwgaWYgaXQgaXMgc2V0CiAgICBpZiBkLmdldFZhcignU0RLTUFD
SElORScpOgogICAgICAgIGlmIG5vdCBjaGVja19jb25mX2V4aXN0cygiY29uZi9tYWNoaW5lLXNk
ay8ke1NES01BQ0hJTkV9LmNvbmYiLCBkKToKICAgICAgICAgICAgc3RhdHVzLmFkZHJlc3VsdCgn
U3BlY2lmaWVkIFNES01BQ0hJTkUgdmFsdWUgaXMgbm90IHZhbGlkXG4nKQogICAgICAgIGVsaWYg
ZC5nZXRWYXIoJ1NES19BUkNIJywgRmFsc2UpID09ICIke0JVSUxEX0FSQ0h9IjoKICAgICAgICAg
ICAgc3RhdHVzLmFkZHJlc3VsdCgnU0RLTUFDSElORSBpcyBzZXQsIGJ1dCBTREtfQVJDSCBoYXMg
bm90IGJlZW4gY2hhbmdlZCBhcyBhIHJlc3VsdCAtIFNES01BQ0hJTkUgbWF5IGhhdmUgYmVlbiBz
ZXQgdG9vIGxhdGUgKGUuZy4gaW4gdGhlIGRpc3RybyBjb25maWd1cmF0aW9uKVxuJykKCiAgICBj
aGVja19zdXBwb3J0ZWRfZGlzdHJvKGQpCgogICAgb21hc2sgPSBvcy51bWFzaygwbzAyMikKICAg
IGlmIG9tYXNrICYgMG83NTU6CiAgICAgICAgc3RhdHVzLmFkZHJlc3VsdCgiUGxlYXNlIHVzZSBh
IHVtYXNrIHdoaWNoIGFsbG93cyBhK3J4IGFuZCB1K3J3eFxuIikKICAgIG9zLnVtYXNrKG9tYXNr
KQoKICAgIGlmIGQuZ2V0VmFyKCdUQVJHRVRfQVJDSCcpID09ICJhcm0iOgogICAgICAgICMgVGhp
cyBwYXRoIGlzIG5vIGxvbmdlciB1c2VyLXJlYWRhYmxlIGluIG1vZGVybiAodmVyeSByZWNlbnQp
IExpbnV4CiAgICAgICAgdHJ5OgogICAgICAgICAgICBpZiBvcy5wYXRoLmV4aXN0cygiL3Byb2Mv
c3lzL3ZtL21tYXBfbWluX2FkZHIiKToKICAgICAgICAgICAgICAgIGYgPSBvcGVuKCIvcHJvYy9z
eXMvdm0vbW1hcF9taW5fYWRkciIsICJyIikKICAgICAgICAgICAgICAgIHRyeToKICAgICAgICAg
ICAgICAgICAgICBpZiAoaW50KGYucmVhZCgpLnN0cmlwKCkpID4gNjU1MzYpOgogICAgICAgICAg
ICAgICAgICAgICAgICBzdGF0dXMuYWRkcmVzdWx0KCIvcHJvYy9zeXMvdm0vbW1hcF9taW5fYWRk
ciBpcyBub3QgPD0gNjU1MzYuIFRoaXMgd2lsbCBjYXVzZSBwcm9ibGVtcyB3aXRoIHFlbXUgc28g
cGxlYXNlIGZpeCB0aGUgdmFsdWUgKGFzIHJvb3QpLlxuXG5UbyBmaXggdGhpcyBpbiBsYXRlciBy
ZWJvb3RzLCBzZXQgdm0ubW1hcF9taW5fYWRkciA9IDY1NTM2IGluIC9ldGMvc3lzY3RsLmNvbmYu
XG4iKQogICAgICAgICAgICAgICAgZmluYWxseToKICAgICAgICAgICAgICAgICAgICBmLmNsb3Nl
KCkKICAgICAgICBleGNlcHQ6CiAgICAgICAgICAgIHBhc3MKCiAgICBvZXJvb3QgPSBkLmdldFZh
cignQ09SRUJBU0UnKQogICAgaWYgb2Vyb290LmZpbmQoJysnKSAhPSAtMToKICAgICAgICBzdGF0
dXMuYWRkcmVzdWx0KCJFcnJvciwgeW91IGhhdmUgYW4gaW52YWxpZCBjaGFyYWN0ZXIgKCspIGlu
IHlvdXIgQ09SRUJBU0UgZGlyZWN0b3J5IHBhdGguIFBsZWFzZSBtb3ZlIHRoZSBpbnN0YWxsYXRp
b24gdG8gYSBkaXJlY3Rvcnkgd2hpY2ggZG9lc24ndCBpbmNsdWRlIGFueSArIGNoYXJhY3RlcnMu
IikKICAgIGlmIG9lcm9vdC5maW5kKCdAJykgIT0gLTE6CiAgICAgICAgc3RhdHVzLmFkZHJlc3Vs
dCgiRXJyb3IsIHlvdSBoYXZlIGFuIGludmFsaWQgY2hhcmFjdGVyIChAKSBpbiB5b3VyIENPUkVC
QVNFIGRpcmVjdG9yeSBwYXRoLiBQbGVhc2UgbW92ZSB0aGUgaW5zdGFsbGF0aW9uIHRvIGEgZGly
ZWN0b3J5IHdoaWNoIGRvZXNuJ3QgaW5jbHVkZSBhbnkgQCBjaGFyYWN0ZXJzLiIpCiAgICBpZiBv
ZXJvb3QuZmluZCgnICcpICE9IC0xOgogICAgICAgIHN0YXR1cy5hZGRyZXN1bHQoIkVycm9yLCB5
b3UgaGF2ZSBhIHNwYWNlIGluIHlvdXIgQ09SRUJBU0UgZGlyZWN0b3J5IHBhdGguIFBsZWFzZSBt
b3ZlIHRoZSBpbnN0YWxsYXRpb24gdG8gYSBkaXJlY3Rvcnkgd2hpY2ggZG9lc24ndCBpbmNsdWRl
IGEgc3BhY2Ugc2luY2UgYXV0b3Rvb2xzIGRvZXNuJ3Qgc3VwcG9ydCB0aGlzLiIpCgogICAgIyBD
aGVjayB0aGUgZm9ybWF0IG9mIE1JUlJPUlMsIFBSRU1JUlJPUlMgYW5kIFNTVEFURV9NSVJST1JT
CiAgICBpbXBvcnQgcmUKICAgIG1pcnJvcl92YXJzID0gWydNSVJST1JTJywgJ1BSRU1JUlJPUlMn
LCAnU1NUQVRFX01JUlJPUlMnXQogICAgcHJvdG9jb2xzID0gWydodHRwJywgJ2Z0cCcsICdmaWxl
JywgJ2h0dHBzJywgXAogICAgICAgICAgICAgICAgICdnaXQnLCAnZ2l0c20nLCAnaGcnLCAnb3Nj
JywgJ3A0JywgJ3N2bicsIFwKICAgICAgICAgICAgICAgICAnYnpyJywgJ2N2cycsICducG0nLCAn
c2Z0cCcsICdzc2gnLCAnczMnIF0KICAgIGZvciBtaXJyb3JfdmFyIGluIG1pcnJvcl92YXJzOgog
ICAgICAgIG1pcnJvcnMgPSAoZC5nZXRWYXIobWlycm9yX3Zhcikgb3IgJycpLnJlcGxhY2UoJ1xc
bicsICcgJykuc3BsaXQoKQoKICAgICAgICAjIFNwbGl0IGludG8gcGFpcnMKICAgICAgICBpZiBs
ZW4obWlycm9ycykgJSAyICE9IDA6CiAgICAgICAgICAgIGJiLndhcm4oJ0ludmFsaWQgbWlycm9y
IHZhcmlhYmxlIHZhbHVlIGZvciAlczogJXMsIHNob3VsZCBjb250YWluIHBhaXJlZCBtZW1iZXJz
LicgJSAobWlycm9yX3ZhciwgbWlycm9ycy5zdHJpcCgpKSkKICAgICAgICAgICAgY29udGludWUK
ICAgICAgICBtaXJyb3JzID0gbGlzdCh6aXAoKltpdGVyKG1pcnJvcnMpXSoyKSkKCiAgICAgICAg
Zm9yIG1pcnJvcl9lbnRyeSBpbiBtaXJyb3JzOgogICAgICAgICAgICBwYXR0ZXJuLCBtaXJyb3Ig
PSBtaXJyb3JfZW50cnkKCiAgICAgICAgICAgIGRlY29kZWQgPSBiYi5mZXRjaDIuZGVjb2RldXJs
KHBhdHRlcm4pCiAgICAgICAgICAgIHRyeToKICAgICAgICAgICAgICAgIHBhdHRlcm5fc2NoZW1l
ID0gcmUuY29tcGlsZShkZWNvZGVkWzBdKQogICAgICAgICAgICBleGNlcHQgcmUuZXJyb3IgYXMg
ZXhjOgogICAgICAgICAgICAgICAgYmIud2FybignSW52YWxpZCBzY2hlbWUgcmVnZXggKCVzKSBp
biAlczsgJXMnICUgKHBhdHRlcm4sIG1pcnJvcl92YXIsIG1pcnJvcl9lbnRyeSkpCiAgICAgICAg
ICAgICAgICBjb250aW51ZQoKICAgICAgICAgICAgaWYgbm90IGFueShwYXR0ZXJuX3NjaGVtZS5t
YXRjaChwcm90b2NvbCkgZm9yIHByb3RvY29sIGluIHByb3RvY29scyk6CiAgICAgICAgICAgICAg
ICBiYi53YXJuKCdJbnZhbGlkIHByb3RvY29sICglcykgaW4gJXM6ICVzJyAlIChkZWNvZGVkWzBd
LCBtaXJyb3JfdmFyLCBtaXJyb3JfZW50cnkpKQogICAgICAgICAgICAgICAgY29udGludWUKCiAg
ICAgICAgICAgIGlmIG5vdCBhbnkobWlycm9yLnN0YXJ0c3dpdGgocHJvdG9jb2wgKyAnOi8vJykg
Zm9yIHByb3RvY29sIGluIHByb3RvY29scyk6CiAgICAgICAgICAgICAgICBiYi53YXJuKCdJbnZh
bGlkIHByb3RvY29sIGluICVzOiAlcycgJSAobWlycm9yX3ZhciwgbWlycm9yX2VudHJ5KSkKICAg
ICAgICAgICAgICAgIGNvbnRpbnVlCgogICAgICAgICAgICBpZiBtaXJyb3Iuc3RhcnRzd2l0aCgn
ZmlsZTovLycpOgogICAgICAgICAgICAgICAgaW1wb3J0IHVybGxpYgogICAgICAgICAgICAgICAg
Y2hlY2tfc3ltbGluayh1cmxsaWIucGFyc2UudXJscGFyc2UobWlycm9yKS5wYXRoLCBkKQogICAg
ICAgICAgICAgICAgIyBTU1RBVEVfTUlSUk9SIGVuZHMgd2l0aCBhIC9QQVRIIHN0cmluZwogICAg
ICAgICAgICAgICAgaWYgbWlycm9yLmVuZHN3aXRoKCcvUEFUSCcpOgogICAgICAgICAgICAgICAg
ICAgICMgcmVtb3ZlIC9QQVRIJCBmcm9tIFNTVEFURV9NSVJST1IgdG8gZ2V0IGEgd29ya2luZwog
ICAgICAgICAgICAgICAgICAgICMgYmFzZSBkaXJlY3RvcnkgcGF0aAogICAgICAgICAgICAgICAg
ICAgIG1pcnJvcl9iYXNlID0gdXJsbGliLnBhcnNlLnVybHBhcnNlKG1pcnJvcls6LTEqbGVuKCcv
UEFUSCcpXSkucGF0aAogICAgICAgICAgICAgICAgICAgIGNoZWNrX3N5bWxpbmsobWlycm9yX2Jh
c2UsIGQpCgogICAgIyBDaGVjayB0aGF0IFRNUERJUiBoYXNuJ3QgY2hhbmdlZCBsb2NhdGlvbiBz
aW5jZSB0aGUgbGFzdCB0aW1lIHdlIHdlcmUgcnVuCiAgICB0bXBkaXIgPSBkLmdldFZhcignVE1Q
RElSJykKICAgIGNoZWNrZmlsZSA9IG9zLnBhdGguam9pbih0bXBkaXIsICJzYXZlZF90bXBkaXIi
KQogICAgaWYgb3MucGF0aC5leGlzdHMoY2hlY2tmaWxlKToKICAgICAgICB3aXRoIG9wZW4oY2hl
Y2tmaWxlLCAiciIpIGFzIGY6CiAgICAgICAgICAgIHNhdmVkX3RtcGRpciA9IGYucmVhZCgpLnN0
cmlwKCkKICAgICAgICAgICAgaWYgKHNhdmVkX3RtcGRpciAhPSB0bXBkaXIpOgogICAgICAgICAg
ICAgICAgc3RhdHVzLmFkZHJlc3VsdCgiRXJyb3IsIFRNUERJUiBoYXMgY2hhbmdlZCBsb2NhdGlv
bi4gWW91IG5lZWQgdG8gZWl0aGVyIG1vdmUgaXQgYmFjayB0byAlcyBvciByZWJ1aWxkXG4iICUg
c2F2ZWRfdG1wZGlyKQogICAgZWxzZToKICAgICAgICBiYi51dGlscy5ta2RpcmhpZXIodG1wZGly
KQogICAgICAgICMgUmVtb3ZlIHNldHVpZCwgc2V0Z2lkIGFuZCBzdGlja3kgYml0cyBmcm9tIFRN
UERJUgogICAgICAgIHRyeToKICAgICAgICAgICAgb3MuY2htb2QodG1wZGlyLCBvcy5zdGF0KHRt
cGRpcikuc3RfbW9kZSAmIH4gc3RhdC5TX0lTVUlEKQogICAgICAgICAgICBvcy5jaG1vZCh0bXBk
aXIsIG9zLnN0YXQodG1wZGlyKS5zdF9tb2RlICYgfiBzdGF0LlNfSVNHSUQpCiAgICAgICAgICAg
IG9zLmNobW9kKHRtcGRpciwgb3Muc3RhdCh0bXBkaXIpLnN0X21vZGUgJiB+IHN0YXQuU19JU1ZU
WCkKICAgICAgICBleGNlcHQgT1NFcnJvciBhcyBleGM6CiAgICAgICAgICAgIGJiLndhcm4oIlVu
YWJsZSB0byBjaG1vZCBUTVBESVI6ICVzIiAlIGV4YykKICAgICAgICB3aXRoIG9wZW4oY2hlY2tm
aWxlLCAidyIpIGFzIGY6CiAgICAgICAgICAgIGYud3JpdGUodG1wZGlyKQoKICAgICMgSWYgL2Jp
bi9zaCBpcyBhIHN5bWxpbmssIGNoZWNrIHRoYXQgaXQgcG9pbnRzIHRvIGRhc2ggb3IgYmFzaAog
ICAgaWYgb3MucGF0aC5pc2xpbmsoJy9iaW4vc2gnKToKICAgICAgICByZWFsX3NoID0gb3MucGF0
aC5yZWFscGF0aCgnL2Jpbi9zaCcpCiAgICAgICAgIyBEdWUgdG8gdXBkYXRlLWFsdGVybmF0aXZl
cywgdGhlIHNoZWxsIG5hbWUgbWF5IHRha2UgdmFyaW91cwogICAgICAgICMgZm9ybXMsIHN1Y2gg
YXMgL2Jpbi9kYXNoLCBiaW4vYmFzaCwgL2Jpbi9iYXNoLmJhc2ggLi4uCiAgICAgICAgaWYgJy9k
YXNoJyBub3QgaW4gcmVhbF9zaCBhbmQgJy9iYXNoJyBub3QgaW4gcmVhbF9zaDoKICAgICAgICAg
ICAgc3RhdHVzLmFkZHJlc3VsdCgiRXJyb3IsIC9iaW4vc2ggbGlua3MgdG8gJXMsIG11c3QgYmUg
ZGFzaCBvciBiYXNoXG4iICUgcmVhbF9zaCkKfQoKCnB5dGhvbiBjaGVja19zYW5pdHlfc3N0YXRl
X2Rpcl9jaGFuZ2UgKCkgewpkZWYgY2hlY2tfc2FuaXR5X3NzdGF0ZV9kaXJfY2hhbmdlKHNzdGF0
ZV9kaXIsIGRhdGEpOgogICAgIyBTYW5pdHkgY2hlY2tzIHRvIGJlIGRvbmUgd2hlbiB0aGUgdmFs
dWUgb2YgU1NUQVRFX0RJUiBjaGFuZ2VzCgogICAgIyBDaGVjayB0aGF0IFNTVEFURV9ESVIgaXNu
J3Qgb24gYSBmaWxlc3lzdGVtIHdpdGggbGltaXRlZCBmaWxlbmFtZSBsZW5ndGggKGVnLiBlQ3J5
cHRGUykKICAgIHRlc3Rtc2cgPSAiIgogICAgaWYgc3N0YXRlX2RpciAhPSAiIjoKICAgICAgICB0
ZXN0bXNnID0gY2hlY2tfY3JlYXRlX2xvbmdfZmlsZW5hbWUoc3N0YXRlX2RpciwgIlNTVEFURV9E
SVIiKQogICAgICAgICMgSWYgd2UgZG9uJ3QgaGF2ZSBwZXJtaXNzaW9ucyB0byBTU1RBVEVfRElS
LCBzdWdnZXN0IHRoZSB1c2VyIHNldCBpdCBhcyBhbiBTU1RBVEVfTUlSUk9SUwogICAgICAgIHRy
eToKICAgICAgICAgICAgZXJyID0gdGVzdG1zZy5zcGxpdCgnOiAnKVsxXS5zdHJpcCgpCiAgICAg
ICAgICAgIGlmIGVyciA9PSAiUGVybWlzc2lvbiBkZW5pZWQuIjoKICAgICAgICAgICAgICAgIHRl
c3Rtc2cgPSB0ZXN0bXNnICsgIllvdSBjb3VsZCB0cnkgdXNpbmcgJXMgaW4gU1NUQVRFX01JUlJP
UlMgcmF0aGVyIHRoYW4gYXMgYW4gU1NUQVRFX0NBQ0hFLlxuIiAlIChzc3RhdGVfZGlyKQogICAg
ICAgIGV4Y2VwdCBJbmRleEVycm9yOgogICAgICAgICAgICBwYXNzCiAgICByZXR1cm4gdGVzdG1z
Zwp9CgoKcHl0aG9uIGNoZWNrX3Nhbml0eV92YWxpZG1hY2hpbmUgKCkgewpkZWYgY2hlY2tfc2Fu
aXR5X3ZhbGlkbWFjaGluZShzYW5pdHlfZGF0YSk6CiAgICBtZXNzYWdlcyA9ICIiCgogICAgIyBD
aGVjayBUVU5FX0FSQ0ggaXMgc2V0CiAgICBpZiBzYW5pdHlfZGF0YS5nZXRWYXIoJ1RVTkVfQVJD
SCcpID09ICdJTlZBTElEJzoKICAgICAgICBtZXNzYWdlcyA9IG1lc3NhZ2VzICsgJ1RVTkVfQVJD
SCBpcyB1bnNldC4gUGxlYXNlIGVuc3VyZSB5b3VyIE1BQ0hJTkUgY29uZmlndXJhdGlvbiBpbmNs
dWRlcyBhIHZhbGlkIHR1bmUgY29uZmlndXJhdGlvbiBmaWxlIHdoaWNoIHdpbGwgc2V0IHRoaXMg
Y29ycmVjdGx5LlxuJwoKICAgICMgQ2hlY2sgVEFSR0VUX09TIGlzIHNldAogICAgaWYgc2FuaXR5
X2RhdGEuZ2V0VmFyKCdUQVJHRVRfT1MnKSA9PSAnSU5WQUxJRCc6CiAgICAgICAgbWVzc2FnZXMg
PSBtZXNzYWdlcyArICdQbGVhc2Ugc2V0IFRBUkdFVF9PUyBkaXJlY3RseSwgb3IgY2hvb3NlIGEg
TUFDSElORSBvciBESVNUUk8gdGhhdCBkb2VzIHNvLlxuJwoKICAgICMgQ2hlY2sgdGhhdCB3ZSBk
b24ndCBoYXZlIGR1cGxpY2F0ZSBlbnRyaWVzIGluIFBBQ0tBR0VfQVJDSFMgJiB0aGF0IFRVTkVf
UEtHQVJDSCBpcyBpbiBQQUNLQUdFX0FSQ0hTCiAgICBwa2dhcmNocyA9IHNhbml0eV9kYXRhLmdl
dFZhcignUEFDS0FHRV9BUkNIUycpCiAgICB0dW5lcGtnID0gc2FuaXR5X2RhdGEuZ2V0VmFyKCdU
VU5FX1BLR0FSQ0gnKQogICAgZGVmYXVsdHR1bmUgPSBzYW5pdHlfZGF0YS5nZXRWYXIoJ0RFRkFV
TFRUVU5FJykKICAgIHR1bmVmb3VuZCA9IEZhbHNlCiAgICBzZWVuID0ge30KICAgIGR1cHMgPSBb
XQoKICAgIGZvciBwYSBpbiBwa2dhcmNocy5zcGxpdCgpOgogICAgICAgIGlmIHNlZW4uZ2V0KHBh
LCAwKSA9PSAxOgogICAgICAgICAgICBkdXBzLmFwcGVuZChwYSkKICAgICAgICBlbHNlOgogICAg
ICAgICAgICBzZWVuW3BhXSA9IDEKICAgICAgICBpZiBwYSA9PSB0dW5lcGtnOgogICAgICAgICAg
ICB0dW5lZm91bmQgPSBUcnVlCgogICAgaWYgbGVuKGR1cHMpOgogICAgICAgIG1lc3NhZ2VzID0g
bWVzc2FnZXMgKyAiRXJyb3IsIHRoZSBQQUNLQUdFX0FSQ0hTIHZhcmlhYmxlIGNvbnRhaW5zIGR1
cGxpY2F0ZXMuIFRoZSBmb2xsb3dpbmcgYXJjaHMgYXJlIGxpc3RlZCBtb3JlIHRoYW4gb25jZTog
JXMiICUgIiAiLmpvaW4oZHVwcykKCiAgICBpZiB0dW5lZm91bmQgPT0gRmFsc2U6CiAgICAgICAg
bWVzc2FnZXMgPSBtZXNzYWdlcyArICJFcnJvciwgdGhlIFBBQ0tBR0VfQVJDSFMgdmFyaWFibGUg
KCVzKSBmb3IgREVGQVVMVFRVTkUgKCVzKSBkb2VzIG5vdCBjb250YWluIFRVTkVfUEtHQVJDSCAo
JXMpLiIgJSAocGtnYXJjaHMsIGRlZmF1bHR0dW5lLCB0dW5lcGtnKQoKICAgIHJldHVybiBtZXNz
YWdlcwp9CgoKcHl0aG9uIGNoZWNrX3Nhbml0eV92ZXJzaW9uX2NoYW5nZSAoKSB7CmRlZiBjaGVj
a19zYW5pdHlfdmVyc2lvbl9jaGFuZ2Uoc3RhdHVzLCBkKToKICAgICMgU2FuaXR5IGNoZWNrcyB0
byBiZSBkb25lIHdoZW4gU0FOSVRZX1ZFUlNJT04gb3IgTkFUSVZFTFNCU1RSSU5HIGNoYW5nZXMK
ICAgICMgSW4gb3RoZXIgd29yZHMsIHRoZXNlIHRlc3RzIHJ1biBvbmNlIGluIGEgZ2l2ZW4gYnVp
bGQgZGlyZWN0b3J5IGFuZCB0aGVuCiAgICAjIG5ldmVyIGFnYWluIHVudGlsIHRoZSBzYW5pdHkg
dmVyc2lvbiBvciBob3N0IGRpc3RydWJ1dGlvbiBpZC92ZXJzaW9uIGNoYW5nZXMuCgogICAgIyBD
aGVjayB0aGUgcHl0aG9uIGluc3RhbGwgaXMgY29tcGxldGUuIGdsaWItMi4wLW5hdGl2ZXMgcmVx
dXJpZXMKICAgICMgeG1sLnBhcnNlcnMuZXhwYXQKICAgIHRyeToKICAgICAgICBpbXBvcnQgeG1s
LnBhcnNlcnMuZXhwYXQKICAgIGV4Y2VwdCBJbXBvcnRFcnJvcjoKICAgICAgICBzdGF0dXMuYWRk
cmVzdWx0KCdZb3VyIHB5dGhvbiBpcyBub3QgYSBmdWxsIGluc3RhbGwuIFBsZWFzZSBpbnN0YWxs
IHRoZSBtb2R1bGUgeG1sLnBhcnNlcnMuZXhwYXQgKHB5dGhvbi14bWwgb24gb3BlblNVU0UgYW5k
IFNVU0UgTGludXgpLlxuJykKICAgIGltcG9ydCBzdGF0CgogICAgc3RhdHVzLmFkZHJlc3VsdChj
aGVja19tYWtlX3ZlcnNpb24oZCkpCiAgICBzdGF0dXMuYWRkcmVzdWx0KGNoZWNrX3Rhcl92ZXJz
aW9uKGQpKQogICAgc3RhdHVzLmFkZHJlc3VsdChjaGVja19naXRfdmVyc2lvbihkKSkKICAgIHN0
YXR1cy5hZGRyZXN1bHQoY2hlY2tfcGVybF9tb2R1bGVzKGQpKQoKICAgIG1pc3NpbmcgPSAiIgoK
ICAgIGlmIG5vdCBjaGVja19hcHBfZXhpc3RzKCIke01BS0V9IiwgZCk6CiAgICAgICAgbWlzc2lu
ZyA9IG1pc3NpbmcgKyAiR05VIG1ha2UsIgoKICAgIGlmIG5vdCBjaGVja19hcHBfZXhpc3RzKCck
e0JVSUxEX0NDfScsIGQpOgogICAgICAgIG1pc3NpbmcgPSBtaXNzaW5nICsgIkMgQ29tcGlsZXIg
KCVzKSwiICUgZC5nZXRWYXIoIkJVSUxEX0NDIikKCiAgICBpZiBub3QgY2hlY2tfYXBwX2V4aXN0
cygnJHtCVUlMRF9DWFh9JywgZCk6CiAgICAgICAgbWlzc2luZyA9IG1pc3NpbmcgKyAiQysrIENv
bXBpbGVyICglcyksIiAlIGQuZ2V0VmFyKCJCVUlMRF9DWFgiKQoKICAgIHJlcXVpcmVkX3V0aWxp
dGllcyA9IGQuZ2V0VmFyKCdTQU5JVFlfUkVRVUlSRURfVVRJTElUSUVTJykKCiAgICBmb3IgdXRp
bCBpbiByZXF1aXJlZF91dGlsaXRpZXMuc3BsaXQoKToKICAgICAgICBpZiBub3QgY2hlY2tfYXBw
X2V4aXN0cyh1dGlsLCBkKToKICAgICAgICAgICAgbWlzc2luZyA9IG1pc3NpbmcgKyAiJXMsIiAl
IHV0aWwKCiAgICBpZiBtaXNzaW5nOgogICAgICAgIG1pc3NpbmcgPSBtaXNzaW5nLnJzdHJpcCgn
LCcpCiAgICAgICAgc3RhdHVzLmFkZHJlc3VsdCgiUGxlYXNlIGluc3RhbGwgdGhlIGZvbGxvd2lu
ZyBtaXNzaW5nIHV0aWxpdGllczogJXNcbiIgJSBtaXNzaW5nKQoKICAgIGFzc3VtZV9wcm92aWRl
ZCA9IGQuZ2V0VmFyKCdBU1NVTUVfUFJPVklERUQnKS5zcGxpdCgpCiAgICAjIENoZWNrIHVzZXIg
ZG9lc24ndCBoYXZlIEFTU1VNRV9QUk9WSURFRCA9IGluc3RlYWQgb2YgKz0gaW4gbG9jYWwuY29u
ZgogICAgaWYgImRpZmZzdGF0LW5hdGl2ZSIgbm90IGluIGFzc3VtZV9wcm92aWRlZDoKICAgICAg
ICBzdGF0dXMuYWRkcmVzdWx0KCdQbGVhc2UgdXNlIEFTU1VNRV9QUk9WSURFRCArPSwgbm90IEFT
U1VNRV9QUk9WSURFRCA9IGluIHlvdXIgbG9jYWwuY29uZlxuJykKCiAgICBpZiAicWVtdS1uYXRp
dmUiIGluIGFzc3VtZV9wcm92aWRlZDoKICAgICAgICBpZiBub3QgY2hlY2tfYXBwX2V4aXN0cygi
cWVtdS1hcm0iLCBkKToKICAgICAgICAgICAgc3RhdHVzLmFkZHJlc3VsdCgicWVtdS1uYXRpdmUg
d2FzIGluIEFTU1VNRV9QUk9WSURFRCBidXQgdGhlIFFFTVUgYmluYXJpZXMgKHFlbXUtYXJtKSBj
YW4ndCBiZSBmb3VuZCBpbiBQQVRIIikKCiAgICBpZiAibGlic2RsLW5hdGl2ZSIgaW4gYXNzdW1l
X3Byb3ZpZGVkOgogICAgICAgIGlmIG5vdCBjaGVja19hcHBfZXhpc3RzKCJzZGwtY29uZmlnIiwg
ZCk6CiAgICAgICAgICAgIHN0YXR1cy5hZGRyZXN1bHQoImxpYnNkbC1uYXRpdmUgaXMgc2V0IHRv
IGJlIEFTU1VNRV9QUk9WSURFRCBidXQgc2RsLWNvbmZpZyBjYW4ndCBiZSBmb3VuZCBpbiBQQVRI
LiBQbGVhc2UgZWl0aGVyIGluc3RhbGwgaXQsIG9yIGNvbmZpZ3VyZSBxZW11IG5vdCB0byByZXF1
aXJlIHNkbC4iKQoKICAgIChyZXN1bHQsIG1lc3NhZ2UpID0gY2hlY2tfZ2NjX21hcmNoKGQpCiAg
ICBpZiByZXN1bHQgYW5kIG1lc3NhZ2U6CiAgICAgICAgc3RhdHVzLmFkZHJlc3VsdCgiWW91ciBn
Y2MgdmVyc2lvbiBpcyBvbGRlciB0aGFuIDQuNSwgcGxlYXNlIGFkZCB0aGUgZm9sbG93aW5nIHBh
cmFtIHRvIGxvY2FsLmNvbmZcbiBcCiAgICAgICAgJXNcbiIgJSBtZXNzYWdlKQogICAgaWYgbm90
IHJlc3VsdDoKICAgICAgICBzdGF0dXMuYWRkcmVzdWx0KCJZb3VyIGdjYyB2ZXJzaW9uIGlzIG9s
ZGVyIHRoYW4gNC41IG9yIGlzIG5vdCB3b3JraW5nIHByb3Blcmx5LiAgUGxlYXNlIHZlcmlmeSB5
b3UgY2FuIGJ1aWxkIikKICAgICAgICBzdGF0dXMuYWRkcmVzdWx0KCIgYW5kIGxpbmsgc29tZXRo
aW5nIHRoYXQgdXNlcyBhdG9taWMgb3BlcmF0aW9ucywgc3VjaCBhczogXG4iKQogICAgICAgIHN0
YXR1cy5hZGRyZXN1bHQoIiAgICAgICAgX19zeW5jX2Jvb2xfY29tcGFyZV9hbmRfc3dhcCAoJmF0
b21pYywgMiwgMyk7XG4iKQoKICAgICMgQ2hlY2sgdGhhdCBUTVBESVIgaXNuJ3Qgb24gYSBmaWxl
c3lzdGVtIHdpdGggbGltaXRlZCBmaWxlbmFtZSBsZW5ndGggKGVnLiBlQ3J5cHRGUykKICAgIHRt
cGRpciA9IGQuZ2V0VmFyKCdUTVBESVInKQogICAgc3RhdHVzLmFkZHJlc3VsdChjaGVja19jcmVh
dGVfbG9uZ19maWxlbmFtZSh0bXBkaXIsICJUTVBESVIiKSkKICAgIHRtcGRpcm1vZGUgPSBvcy5z
dGF0KHRtcGRpcikuc3RfbW9kZQogICAgaWYgKHRtcGRpcm1vZGUgJiBzdGF0LlNfSVNHSUQpOgog
ICAgICAgIHN0YXR1cy5hZGRyZXN1bHQoIlRNUERJUiBpcyBzZXRnaWQsIHBsZWFzZSBkb24ndCBi
dWlsZCBpbiBhIHNldGdpZCBkaXJlY3RvcnkiKQogICAgaWYgKHRtcGRpcm1vZGUgJiBzdGF0LlNf
SVNVSUQpOgogICAgICAgIHN0YXR1cy5hZGRyZXN1bHQoIlRNUERJUiBpcyBzZXR1aWQsIHBsZWFz
ZSBkb24ndCBidWlsZCBpbiBhIHNldHVpZCBkaXJlY3RvcnkiKQoKICAgICMgU29tZSB0aGlyZC1w
YXJ0eSBzb2Z0d2FyZSBhcHBhcmVudGx5IHJlbGllcyBvbiBjaG1vZCBldGMuIGJlaW5nIHN1aWQg
cm9vdCAoISEpCiAgICBpbXBvcnQgc3RhdAogICAgc3VpZF9jaGVja19iaW5zID0gImNob3duIGNo
bW9kIG1rbm9kIi5zcGxpdCgpCiAgICBmb3IgYmluX2NtZCBpbiBzdWlkX2NoZWNrX2JpbnM6CiAg
ICAgICAgYmluX3BhdGggPSBiYi51dGlscy53aGljaChvcy5lbnZpcm9uWyJQQVRIIl0sIGJpbl9j
bWQpCiAgICAgICAgaWYgYmluX3BhdGg6CiAgICAgICAgICAgIGJpbl9zdGF0ID0gb3Muc3RhdChi
aW5fcGF0aCkKICAgICAgICAgICAgaWYgYmluX3N0YXQuc3RfdWlkID09IDAgYW5kIGJpbl9zdGF0
LnN0X21vZGUgJiBzdGF0LlNfSVNVSUQ6CiAgICAgICAgICAgICAgICBzdGF0dXMuYWRkcmVzdWx0
KCclcyBoYXMgdGhlIHNldHVpZCBiaXQgc2V0LiBUaGlzIGludGVyZmVyZXMgd2l0aCBwc2V1ZG8g
YW5kIG1heSBjYXVzZSBvdGhlciBpc3N1ZXMgdGhhdCBicmVhayB0aGUgYnVpbGQgcHJvY2Vzcy5c
bicgJSBiaW5fcGF0aCkKCiAgICAjIENoZWNrIHRoYXQgd2UgY2FuIGZldGNoIGZyb20gdmFyaW91
cyBuZXR3b3JrIHRyYW5zcG9ydHMKICAgIG5ldGNoZWNrID0gY2hlY2tfY29ubmVjdGl2aXR5KGQp
CiAgICBzdGF0dXMuYWRkcmVzdWx0KG5ldGNoZWNrKQogICAgaWYgbmV0Y2hlY2s6CiAgICAgICAg
c3RhdHVzLm5ldHdvcmtfZXJyb3IgPSBUcnVlCgogICAgbm9saWJzID0gZC5nZXRWYXIoJ05PMzJM
SUJTJykKICAgIGlmIG5vdCBub2xpYnM6CiAgICAgICAgbGliMzJwYXRoID0gJy9saWInCiAgICAg
ICAgaWYgb3MucGF0aC5leGlzdHMoJy9saWI2NCcpIGFuZCAoIG9zLnBhdGguaXNsaW5rKCcvbGli
NjQnKSBvciBvcy5wYXRoLmlzbGluaygnL2xpYicpICk6CiAgICAgICAgICAgbGliMzJwYXRoID0g
Jy9saWIzMicKCiAgICAgICAgaWYgb3MucGF0aC5leGlzdHMoJyVzL2xpYmMuc28uNicgJSBsaWIz
MnBhdGgpIGFuZCBub3Qgb3MucGF0aC5leGlzdHMoJy91c3IvaW5jbHVkZS9nbnUvc3R1YnMtMzIu
aCcpOgogICAgICAgICAgICBzdGF0dXMuYWRkcmVzdWx0KCJZb3UgaGF2ZSBhIDMyLWJpdCBsaWJj
LCBidXQgbm8gMzItYml0IGhlYWRlcnMuICBZb3UgbXVzdCBpbnN0YWxsIHRoZSAzMi1iaXQgbGli
YyBoZWFkZXJzLlxuIikKCiAgICBiYnBhdGhzID0gZC5nZXRWYXIoJ0JCUEFUSCcpLnNwbGl0KCI6
IikKICAgIGlmICgiLiIgaW4gYmJwYXRocyBvciAiLi8iIGluIGJicGF0aHMgb3IgIiIgaW4gYmJw
YXRocyk6CiAgICAgICAgc3RhdHVzLmFkZHJlc3VsdCgiQkJQQVRIIHJlZmVyZW5jZXMgdGhlIGN1
cnJlbnQgZGlyZWN0b3J5LCBlaXRoZXIgdGhyb3VnaCAiICAgIFwKICAgICAgICAgICAgICAgICJh
biBlbXB0eSBlbnRyeSwgYSAnLi8nIG9yIGEgJy4nLlxuXHQgVGhpcyBpcyB1bnNhZmUgYW5kIG1l
YW5zIHlvdXIgIlwKICAgICAgICAgICAgICAgICJsYXllciBjb25maWd1cmF0aW9uIGlzIGFkZGlu
ZyBlbXB0eSBlbGVtZW50cyB0byBCQlBBVEguXG5cdCAiXAogICAgICAgICAgICAgICAgIlBsZWFz
ZSBjaGVjayB5b3VyIGxheWVyLmNvbmYgZmlsZXMgYW5kIG90aGVyIEJCUEFUSCAiICAgICAgICBc
CiAgICAgICAgICAgICAgICAic2V0dGluZ3MgdG8gcmVtb3ZlIHRoZSBjdXJyZW50IHdvcmtpbmcg
ZGlyZWN0b3J5ICIgICAgICAgICAgIFwKICAgICAgICAgICAgICAgICJyZWZlcmVuY2VzLlxuIiBc
CiAgICAgICAgICAgICAgICAiUGFyc2VkIEJCUEFUSCBpcyIgKyBzdHIoYmJwYXRocykpOwoKICAg
IG9lc19iYl9jb25mID0gZC5nZXRWYXIoICdPRVNfQklUQkFLRV9DT05GJykKICAgIGlmIG5vdCBv
ZXNfYmJfY29uZjoKICAgICAgICBzdGF0dXMuYWRkcmVzdWx0KCdZb3UgYXJlIG5vdCB1c2luZyB0
aGUgT3BlbkVtYmVkZGVkIHZlcnNpb24gb2YgY29uZi9iaXRiYWtlLmNvbmYuIFRoaXMgbWVhbnMg
eW91ciBlbnZpcm9ubWVudCBpcyBtaXNjb25maWd1cmVkLCBpbiBwYXJ0aWN1bGFyIGNoZWNrIEJC
UEFUSC5cbicpCgogICAgIyBUaGUgbGVuZ3RoIG9mIFRNUERJUiBjYW4ndCBiZSBsb25nZXIgdGhh
biA0MTAKICAgIHN0YXR1cy5hZGRyZXN1bHQoY2hlY2tfcGF0aF9sZW5ndGgodG1wZGlyLCAiVE1Q
RElSIiwgNDEwKSkKCiAgICAjIENoZWNrIHRoYXQgVE1QRElSIGlzbid0IGxvY2F0ZWQgb24gbmZz
CiAgICBzdGF0dXMuYWRkcmVzdWx0KGNoZWNrX25vdF9uZnModG1wZGlyLCAiVE1QRElSIikpCn0K
CgpweXRob24gY2hlY2tfc3VwcG9ydGVkX2Rpc3RybyAoKSB7CmRlZiBjaGVja19zdXBwb3J0ZWRf
ZGlzdHJvKHNhbml0eV9kYXRhKToKICAgIGZyb20gZm5tYXRjaCBpbXBvcnQgZm5tYXRjaAoKICAg
IHRlc3RlZF9kaXN0cm9zID0gc2FuaXR5X2RhdGEuZ2V0VmFyKCdTQU5JVFlfVEVTVEVEX0RJU1RS
T1MnKQogICAgaWYgbm90IHRlc3RlZF9kaXN0cm9zOgogICAgICAgIHJldHVybgoKICAgIHRyeToK
ICAgICAgICBkaXN0cm8gPSBvZS5sc2IuZGlzdHJvX2lkZW50aWZpZXIoKQogICAgZXhjZXB0IEV4
Y2VwdGlvbjoKICAgICAgICBkaXN0cm8gPSBOb25lCgogICAgaWYgbm90IGRpc3RybzoKICAgICAg
ICBiYi53YXJuKCdIb3N0IGRpc3RyaWJ1dGlvbiBjb3VsZCBub3QgYmUgZGV0ZXJtaW5lZDsgeW91
IG1heSBwb3NzaWJseSBleHBlcmllbmNlIHVuZXhwZWN0ZWQgZmFpbHVyZXMuIEl0IGlzIHJlY29t
bWVuZGVkIHRoYXQgeW91IHVzZSBhIHRlc3RlZCBkaXN0cmlidXRpb24uJykKCiAgICBmb3Igc3Vw
cG9ydGVkIGluIFt4LnN0cmlwKCkgZm9yIHggaW4gdGVzdGVkX2Rpc3Ryb3Muc3BsaXQoJ1xcbicp
XToKICAgICAgICBpZiBmbm1hdGNoKGRpc3Rybywgc3VwcG9ydGVkKToKICAgICAgICAgICAgcmV0
dXJuCgogICAgYmIud2FybignSG9zdCBkaXN0cmlidXRpb24gIiVzIiBoYXMgbm90IGJlZW4gdmFs
aWRhdGVkIHdpdGggdGhpcyB2ZXJzaW9uIG9mIHRoZSBidWlsZCBzeXN0ZW07IHlvdSBtYXkgcG9z
c2libHkgZXhwZXJpZW5jZSB1bmV4cGVjdGVkIGZhaWx1cmVzLiBJdCBpcyByZWNvbW1lbmRlZCB0
aGF0IHlvdSB1c2UgYSB0ZXN0ZWQgZGlzdHJpYnV0aW9uLicgJSBkaXN0cm8pCn0KCgpweXRob24g
Y2hlY2tfc3ltbGluayAoKSB7CmRlZiBjaGVja19zeW1saW5rKGxuaywgZGF0YSk6CiAgICBpZiBv
cy5wYXRoLmlzbGluayhsbmspIGFuZCBub3Qgb3MucGF0aC5leGlzdHMobG5rKToKICAgICAgICBy
YWlzZV9zYW5pdHlfZXJyb3IoIiVzIGlzIGEgYnJva2VuIHN5bWxpbmsuIiAlIGxuaywgZGF0YSkK
fQoKCnB5dGhvbiBjaGVja190YXJfdmVyc2lvbiAoKSB7CmRlZiBjaGVja190YXJfdmVyc2lvbihz
YW5pdHlfZGF0YSk6CiAgICBmcm9tIGRpc3R1dGlscy52ZXJzaW9uIGltcG9ydCBMb29zZVZlcnNp
b24KICAgIHN0YXR1cywgcmVzdWx0ID0gb2UudXRpbHMuZ2V0c3RhdHVzb3V0cHV0KCJ0YXIgLS12
ZXJzaW9uIikKICAgIGlmIHN0YXR1cyAhPSAwOgogICAgICAgIHJldHVybiAiVW5hYmxlIHRvIGV4
ZWN1dGUgdGFyIC0tdmVyc2lvbiwgZXhpdCBjb2RlICVzXG4iICUgc3RhdHVzCiAgICB2ZXJzaW9u
ID0gcmVzdWx0LnNwbGl0KClbM10KICAgIGlmIExvb3NlVmVyc2lvbih2ZXJzaW9uKSA8IExvb3Nl
VmVyc2lvbigiMS4yNCIpOgogICAgICAgIHJldHVybiAiWW91ciB2ZXJzaW9uIG9mIHRhciBpcyBv
bGRlciB0aGFuIDEuMjQgYW5kIGhhcyBidWdzIHdoaWNoIHdpbGwgYnJlYWsgYnVpbGRzLiBQbGVh
c2UgaW5zdGFsbCBhIG5ld2VyIHZlcnNpb24gb2YgdGFyLlxuIgogICAgcmV0dXJuIE5vbmUKfQoK
CnB5dGhvbiBjaGVja190b29sY2hhaW4gKCkgewpkZWYgY2hlY2tfdG9vbGNoYWluKGRhdGEpOgog
ICAgdHVuZV9lcnJvcl9zZXQgPSBbXQogICAgZGVmdHVuZSA9IGRhdGEuZ2V0VmFyKCJERUZBVUxU
VFVORSIpCiAgICB0dW5lX2Vycm9ycyA9IGNoZWNrX3Rvb2xjaGFpbl90dW5lKGRhdGEsIGRlZnR1
bmUsICdkZWZhdWx0JykKICAgIGlmIHR1bmVfZXJyb3JzOgogICAgICAgIHR1bmVfZXJyb3Jfc2V0
LmFwcGVuZCh0dW5lX2Vycm9ycykKCiAgICBtdWx0aWxpYnMgPSAoZGF0YS5nZXRWYXIoIk1VTFRJ
TElCX1ZBUklBTlRTIikgb3IgIiIpLnNwbGl0KCkKICAgIGdsb2JhbF9tdWx0aWxpYnMgPSAoZGF0
YS5nZXRWYXIoIk1VTFRJTElCX0dMT0JBTF9WQVJJQU5UUyIpIG9yICIiKS5zcGxpdCgpCgogICAg
aWYgbXVsdGlsaWJzOgogICAgICAgIHNlZW5fbGlicyA9IFtdCiAgICAgICAgc2Vlbl90dW5lcyA9
IFtdCiAgICAgICAgZm9yIGxpYiBpbiBtdWx0aWxpYnM6CiAgICAgICAgICAgIGlmIGxpYiBpbiBz
ZWVuX2xpYnM6CiAgICAgICAgICAgICAgICB0dW5lX2Vycm9yX3NldC5hcHBlbmQoIlRoZSBtdWx0
aWxpYiAnJXMnIGFwcGVhcnMgbW9yZSB0aGFuIG9uY2UuIiAlIGxpYikKICAgICAgICAgICAgZWxz
ZToKICAgICAgICAgICAgICAgIHNlZW5fbGlicy5hcHBlbmQobGliKQogICAgICAgICAgICBpZiBu
b3QgbGliIGluIGdsb2JhbF9tdWx0aWxpYnM6CiAgICAgICAgICAgICAgICB0dW5lX2Vycm9yX3Nl
dC5hcHBlbmQoIk11bHRpbGliICVzIGlzIG5vdCBwcmVzZW50IGluIE1VTFRJTElCX0dMT0JBTF9W
QVJJQU5UUyIgJSBsaWIpCiAgICAgICAgICAgIHR1bmUgPSBkYXRhLmdldFZhcigiREVGQVVMVFRV
TkVfdmlydGNsYXNzLW11bHRpbGliLSVzIiAlIGxpYikKICAgICAgICAgICAgaWYgdHVuZSBpbiBz
ZWVuX3R1bmVzOgogICAgICAgICAgICAgICAgdHVuZV9lcnJvcl9zZXQuYXBwZW5kKCJUaGUgdHVu
aW5nICclcycgYXBwZWFycyBpbiBtb3JlIHRoYW4gb25lIG11bHRpbGliLiIgJSB0dW5lKQogICAg
ICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgc2Vlbl9saWJzLmFwcGVuZCh0dW5lKQogICAg
ICAgICAgICBpZiB0dW5lID09IGRlZnR1bmU6CiAgICAgICAgICAgICAgICB0dW5lX2Vycm9yX3Nl
dC5hcHBlbmQoIk11bHRpbGliICclcycgKCVzKSBpcyBhbHNvIHRoZSBkZWZhdWx0IHR1bmluZy4i
ICUgKGxpYiwgZGVmdHVuZSkpCiAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICB0dW5l
X2Vycm9ycyA9IGNoZWNrX3Rvb2xjaGFpbl90dW5lKGRhdGEsIHR1bmUsIGxpYikKICAgICAgICAg
ICAgaWYgdHVuZV9lcnJvcnM6CiAgICAgICAgICAgICAgICB0dW5lX2Vycm9yX3NldC5hcHBlbmQo
dHVuZV9lcnJvcnMpCiAgICBpZiB0dW5lX2Vycm9yX3NldDoKICAgICAgICByZXR1cm4gIlRvb2xj
aGFpbiB0dW5pbmdzIGludmFsaWQ6XG4iICsgJ1xuJy5qb2luKHR1bmVfZXJyb3Jfc2V0KSArICJc
biIKCiAgICByZXR1cm4gIiIKfQoKCnB5dGhvbiBjaGVja190b29sY2hhaW5fYXJnc19wcmVzZW50
ICgpIHsKZGVmIGNoZWNrX3Rvb2xjaGFpbl9hcmdzX3ByZXNlbnQoZGF0YSwgdHVuZSwgbXVsdGls
aWIsIHR1bmVfZXJyb3JzLCB3aGljaCk6CiAgICBhcmdzX3NldCA9IChkYXRhLmdldFZhcigiVFVO
RV8lcyIgJSB3aGljaCkgb3IgIiIpLnNwbGl0KCkKICAgIGFyZ3Nfd2FudGVkID0gKGRhdGEuZ2V0
VmFyKCJUVU5FQUJJX1JFUVVJUkVEXyVzX3R1bmUtJXMiICUgKHdoaWNoLCB0dW5lKSkgb3IgIiIp
LnNwbGl0KCkKICAgIGFyZ3NfbWlzc2luZyA9IFtdCgogICAgIyBJZiBubyBhcmdzIGFyZSBsaXN0
ZWQvcmVxdWlyZWQsIHdlIGFyZSBkb25lLgogICAgaWYgbm90IGFyZ3Nfd2FudGVkOgogICAgICAg
IHJldHVybgogICAgZm9yIGFyZyBpbiBhcmdzX3dhbnRlZDoKICAgICAgICBpZiBhcmcgbm90IGlu
IGFyZ3Nfc2V0OgogICAgICAgICAgICBhcmdzX21pc3NpbmcuYXBwZW5kKGFyZykKCiAgICBmb3Vu
ZF9lcnJvcnMgPSBGYWxzZQogICAgaWYgYXJnc19taXNzaW5nOgogICAgICAgIGZvdW5kX2Vycm9y
cyA9IFRydWUKICAgICAgICB0dW5lX2Vycm9ycy5hcHBlbmQoIlRVTkVBQkkgZm9yICVzIHJlcXVp
cmVzICclcycgaW4gVFVORV8lcyAoJXMpLiIgJQogICAgICAgICAgICAgICAgICAgICAgICh0dW5l
LCAnICcuam9pbihhcmdzX21pc3NpbmcpLCB3aGljaCwgJyAnLmpvaW4oYXJnc19zZXQpKSkKICAg
IHJldHVybiBmb3VuZF9lcnJvcnMKfQoKCnB5dGhvbiBjaGVja190b29sY2hhaW5fdHVuZSAoKSB7
CmRlZiBjaGVja190b29sY2hhaW5fdHVuZShkYXRhLCB0dW5lLCBtdWx0aWxpYik6CiAgICB0dW5l
X2Vycm9ycyA9IFtdCiAgICBpZiBub3QgdHVuZToKICAgICAgICByZXR1cm4gIk5vIHR1bmluZyBm
b3VuZCBmb3IgJXMgbXVsdGlsaWIuIiAlIG11bHRpbGliCiAgICBsb2NhbGRhdGEgPSBiYi5kYXRh
LmNyZWF0ZUNvcHkoZGF0YSkKICAgIGlmIG11bHRpbGliICE9ICJkZWZhdWx0IjoKICAgICAgICAj
IEFwcGx5IHRoZSBvdmVycmlkZXMgc28gd2UgY2FuIGxvb2sgYXQgdGhlIGRldGFpbHMuCiAgICAg
ICAgb3ZlcnJpZGVzID0gbG9jYWxkYXRhLmdldFZhcigiT1ZFUlJJREVTIiwgRmFsc2UpICsgIjp2
aXJ0Y2xhc3MtbXVsdGlsaWItIiArIG11bHRpbGliCiAgICAgICAgbG9jYWxkYXRhLnNldFZhcigi
T1ZFUlJJREVTIiwgb3ZlcnJpZGVzKQogICAgYmIuZGVidWcoMiwgIlNhbml0eS1jaGVja2luZyB0
dW5pbmcgJyVzJyAoJXMpIGZlYXR1cmVzOiIgJSAodHVuZSwgbXVsdGlsaWIpKQogICAgZmVhdHVy
ZXMgPSAobG9jYWxkYXRhLmdldFZhcigiVFVORV9GRUFUVVJFU190dW5lLSVzIiAlIHR1bmUpIG9y
ICIiKS5zcGxpdCgpCiAgICBpZiBub3QgZmVhdHVyZXM6CiAgICAgICAgcmV0dXJuICJUdW5pbmcg
JyVzJyBoYXMgbm8gZGVmaW5lZCBmZWF0dXJlcywgYW5kIGNhbm5vdCBiZSB1c2VkLiIgJSB0dW5l
CiAgICB2YWxpZF90dW5lcyA9IGxvY2FsZGF0YS5nZXRWYXJGbGFncygnVFVORVZBTElEJykgb3Ig
e30KICAgIGNvbmZsaWN0cyA9IGxvY2FsZGF0YS5nZXRWYXJGbGFncygnVFVORUNPTkZMSUNUUycp
IG9yIHt9CiAgICAjIFtkb2NdIGlzIHRoZSBkb2N1bWVudGF0aW9uIGZvciB0aGUgdmFyaWFibGUs
IG5vdCBhIHJlYWwgZmVhdHVyZQogICAgaWYgJ2RvYycgaW4gdmFsaWRfdHVuZXM6CiAgICAgICAg
ZGVsIHZhbGlkX3R1bmVzWydkb2MnXQogICAgaWYgJ2RvYycgaW4gY29uZmxpY3RzOgogICAgICAg
IGRlbCBjb25mbGljdHNbJ2RvYyddCiAgICBmb3IgZmVhdHVyZSBpbiBmZWF0dXJlczoKICAgICAg
ICBpZiBmZWF0dXJlIGluIGNvbmZsaWN0czoKICAgICAgICAgICAgZm9yIGNvbmZsaWN0IGluIGNv
bmZsaWN0c1tmZWF0dXJlXS5zcGxpdCgpOgogICAgICAgICAgICAgICAgaWYgY29uZmxpY3QgaW4g
ZmVhdHVyZXM6CiAgICAgICAgICAgICAgICAgICAgdHVuZV9lcnJvcnMuYXBwZW5kKCJGZWF0dXJl
ICclcycgY29uZmxpY3RzIHdpdGggJyVzJy4iICUKICAgICAgICAgICAgICAgICAgICAgICAgKGZl
YXR1cmUsIGNvbmZsaWN0KSkKICAgICAgICBpZiBmZWF0dXJlIGluIHZhbGlkX3R1bmVzOgogICAg
ICAgICAgICBiYi5kZWJ1ZygyLCAiICAlczogJXMiICUgKGZlYXR1cmUsIHZhbGlkX3R1bmVzW2Zl
YXR1cmVdKSkKICAgICAgICBlbHNlOgogICAgICAgICAgICB0dW5lX2Vycm9ycy5hcHBlbmQoIkZl
YXR1cmUgJyVzJyBpcyBub3QgZGVmaW5lZC4iICUgZmVhdHVyZSkKICAgIHdoaXRlbGlzdCA9IGxv
Y2FsZGF0YS5nZXRWYXIoIlRVTkVBQklfV0hJVEVMSVNUIikKICAgIGlmIHdoaXRlbGlzdDoKICAg
ICAgICB0dW5lYWJpID0gbG9jYWxkYXRhLmdldFZhcigiVFVORUFCSV90dW5lLSVzIiAlIHR1bmUp
CiAgICAgICAgaWYgbm90IHR1bmVhYmk6CiAgICAgICAgICAgIHR1bmVhYmkgPSB0dW5lCiAgICAg
ICAgaWYgVHJ1ZSBub3QgaW4gW3ggaW4gd2hpdGVsaXN0LnNwbGl0KCkgZm9yIHggaW4gdHVuZWFi
aS5zcGxpdCgpXToKICAgICAgICAgICAgdHVuZV9lcnJvcnMuYXBwZW5kKCJUdW5pbmcgJyVzJyAo
JXMpIGNhbm5vdCBiZSB1c2VkIHdpdGggYW55IHN1cHBvcnRlZCB0dW5pbmcvQUJJLiIgJQogICAg
ICAgICAgICAgICAgKHR1bmUsIHR1bmVhYmkpKQogICAgICAgIGVsc2U6CiAgICAgICAgICAgIGlm
IG5vdCBjaGVja190b29sY2hhaW5fdHVuZV9hcmdzKGxvY2FsZGF0YSwgdHVuZWFiaSwgbXVsdGls
aWIsIHR1bmVfZXJyb3JzKToKICAgICAgICAgICAgICAgIGJiLmRlYnVnKDIsICJTYW5pdHkgY2hl
Y2s6IENvbXBpbGVyIGFyZ3MgT0sgZm9yICVzLiIgJSB0dW5lKQogICAgaWYgdHVuZV9lcnJvcnM6
CiAgICAgICAgcmV0dXJuICJUdW5pbmcgJyVzJyBoYXMgdGhlIGZvbGxvd2luZyBlcnJvcnM6XG4i
ICUgdHVuZSArICdcbicuam9pbih0dW5lX2Vycm9ycykKfQoKCnB5dGhvbiBjaGVja190b29sY2hh
aW5fdHVuZV9hcmdzICgpIHsKZGVmIGNoZWNrX3Rvb2xjaGFpbl90dW5lX2FyZ3MoZGF0YSwgdHVu
ZSwgbXVsdGlsaWIsIGVycnMpOgogICAgZm91bmRfZXJyb3JzID0gRmFsc2UKICAgIGlmIGNoZWNr
X3Rvb2xjaGFpbl9hcmdzX3ByZXNlbnQoZGF0YSwgdHVuZSwgbXVsdGlsaWIsIGVycnMsICdDQ0FS
R1MnKToKICAgICAgICBmb3VuZF9lcnJvcnMgPSBUcnVlCiAgICBpZiBjaGVja190b29sY2hhaW5f
YXJnc19wcmVzZW50KGRhdGEsIHR1bmUsIG11bHRpbGliLCBlcnJzLCAnQVNBUkdTJyk6CiAgICAg
ICAgZm91bmRfZXJyb3JzID0gVHJ1ZQogICAgaWYgY2hlY2tfdG9vbGNoYWluX2FyZ3NfcHJlc2Vu
dChkYXRhLCB0dW5lLCBtdWx0aWxpYiwgZXJycywgJ0xEQVJHUycpOgogICAgICAgIGZvdW5kX2Vy
cm9ycyA9IFRydWUKCiAgICByZXR1cm4gZm91bmRfZXJyb3JzCn0KCgpweXRob24gY2hlY2tidWls
ZHBhdGggKCkgewpkZWYgY2hlY2tidWlsZHBhdGgoZmlsZSwgZCk6CiAgICB0bXBkaXIgPSBkLmdl
dFZhcignVE1QRElSJykKICAgIHdpdGggb3BlbihmaWxlKSBhcyBmOgogICAgICAgIGZpbGVfY29u
dGVudCA9IGYucmVhZCgpCiAgICAgICAgaWYgdG1wZGlyIGluIGZpbGVfY29udGVudDoKICAgICAg
ICAgICAgcmV0dXJuIFRydWUKCiAgICByZXR1cm4gRmFsc2UKfQoKCnB5dGhvbiBjbGVhbl9yZWNp
cGVfc3lzcm9vdCAoKSB7CiAgICByZXR1cm4KfQoKCnB5dGhvbiBjb25maWdfcmVwYXJzZV9ldmVu
dGhhbmRsZXIgKCkgewogICAgc2FuaXR5X2NoZWNrX2NvbmZmaWxlcyhlLmRhdGEpCn0KCgpweXRo
b24gY29weV9kYXRhICgpIHsKZGVmIGNvcHlfZGF0YShlKToKICAgIHNhbml0eV9kYXRhID0gYmIu
ZGF0YS5jcmVhdGVDb3B5KGUuZGF0YSkKICAgIHNhbml0eV9kYXRhLmZpbmFsaXplKCkKICAgIHJl
dHVybiBzYW5pdHlfZGF0YQp9CgoKcHl0aG9uIGNvcHlfbGljZW5zZV9maWxlcyAoKSB7CmRlZiBj
b3B5X2xpY2Vuc2VfZmlsZXMobGljX2ZpbGVzX3BhdGhzLCBkZXN0ZGlyKToKICAgIGltcG9ydCBz
aHV0aWwKICAgIGltcG9ydCBlcnJubwoKICAgIGJiLnV0aWxzLm1rZGlyaGllcihkZXN0ZGlyKQog
ICAgZm9yIChiYXNlbmFtZSwgcGF0aCwgYmVnaW5saW5lLCBlbmRsaW5lKSBpbiBsaWNfZmlsZXNf
cGF0aHM6CiAgICAgICAgdHJ5OgogICAgICAgICAgICBzcmMgPSBwYXRoCiAgICAgICAgICAgIGRz
dCA9IG9zLnBhdGguam9pbihkZXN0ZGlyLCBiYXNlbmFtZSkKICAgICAgICAgICAgaWYgb3MucGF0
aC5leGlzdHMoZHN0KToKICAgICAgICAgICAgICAgIG9zLnJlbW92ZShkc3QpCiAgICAgICAgICAg
IGlmIG9zLnBhdGguaXNsaW5rKHNyYyk6CiAgICAgICAgICAgICAgICBzcmMgPSBvcy5wYXRoLnJl
YWxwYXRoKHNyYykKICAgICAgICAgICAgY2FubGluayA9IG9zLmFjY2VzcyhzcmMsIG9zLldfT0sp
IGFuZCAob3Muc3RhdChzcmMpLnN0X2RldiA9PSBvcy5zdGF0KGRlc3RkaXIpLnN0X2RldikgYW5k
IGJlZ2lubGluZSBpcyBOb25lIGFuZCBlbmRsaW5lIGlzIE5vbmUKICAgICAgICAgICAgaWYgY2Fu
bGluazoKICAgICAgICAgICAgICAgIHRyeToKICAgICAgICAgICAgICAgICAgICBvcy5saW5rKHNy
YywgZHN0KQogICAgICAgICAgICAgICAgZXhjZXB0IE9TRXJyb3IgYXMgZXJyOgogICAgICAgICAg
ICAgICAgICAgIGlmIGVyci5lcnJubyA9PSBlcnJuby5FWERFVjoKICAgICAgICAgICAgICAgICAg
ICAgICAgIyBDb3B5IGxpY2Vuc2UgZmlsZXMgaWYgaGFyZC1saW5rIGlzIG5vdCBwb3NzaWJsZSBl
dmVuIGlmIHN0X2RldiBpcyB0aGUKICAgICAgICAgICAgICAgICAgICAgICAgIyBzYW1lIG9uIHNv
dXJjZSBhbmQgZGVzdGluYXRpb24gKGRvY2tlciBjb250YWluZXIgd2l0aCBkZXZpY2UtbWFwcGVy
PykKICAgICAgICAgICAgICAgICAgICAgICAgY2FubGluayA9IEZhbHNlCiAgICAgICAgICAgICAg
ICAgICAgZWxzZToKICAgICAgICAgICAgICAgICAgICAgICAgcmFpc2UKICAgICAgICAgICAgICAg
ICMgT25seSBjaG93biBpZiB3ZSBkaWQgaGFyZGxpbmcsIGFuZCwgd2UncmUgcnVubmluZyB1bmRl
ciBwc2V1ZG8KICAgICAgICAgICAgICAgIGlmIGNhbmxpbmsgYW5kIG9zLmVudmlyb24uZ2V0KCdQ
U0VVRE9fRElTQUJMRUQnKSA9PSAnMCc6CiAgICAgICAgICAgICAgICAgICAgb3MuY2hvd24oZHN0
LDAsMCkKICAgICAgICAgICAgaWYgbm90IGNhbmxpbms6CiAgICAgICAgICAgICAgICBiZWdpbl9p
ZHggPSBpbnQoYmVnaW5saW5lKS0xIGlmIGJlZ2lubGluZSBpcyBub3QgTm9uZSBlbHNlIE5vbmUK
ICAgICAgICAgICAgICAgIGVuZF9pZHggPSBpbnQoZW5kbGluZSkgaWYgZW5kbGluZSBpcyBub3Qg
Tm9uZSBlbHNlIE5vbmUKICAgICAgICAgICAgICAgIGlmIGJlZ2luX2lkeCBpcyBOb25lIGFuZCBl
bmRfaWR4IGlzIE5vbmU6CiAgICAgICAgICAgICAgICAgICAgc2h1dGlsLmNvcHlmaWxlKHNyYywg
ZHN0KQogICAgICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICAgICB3aXRoIG9wZW4o
c3JjLCAncmInKSBhcyBzcmNfZjoKICAgICAgICAgICAgICAgICAgICAgICAgd2l0aCBvcGVuKGRz
dCwgJ3diJykgYXMgZHN0X2Y6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkc3RfZi53cml0
ZShiJycuam9pbihzcmNfZi5yZWFkbGluZXMoKVtiZWdpbl9pZHg6ZW5kX2lkeF0pKQoKICAgICAg
ICBleGNlcHQgRXhjZXB0aW9uIGFzIGU6CiAgICAgICAgICAgIGJiLndhcm4oIkNvdWxkIG5vdCBj
b3B5IGxpY2Vuc2UgZmlsZSAlcyB0byAlczogJXMiICUgKHNyYywgZHN0LCBlKSkKfQoKCnB5dGhv
biBjb3B5ZGVidWdzb3VyY2VzICgpIHsKZGVmIGNvcHlkZWJ1Z3NvdXJjZXMoZGVidWdzcmNkaXIs
IGQpOgogICAgIyBUaGUgZGVidWcgc3JjIGluZm9ybWF0aW9uIHdyaXR0ZW4gb3V0IHRvIHNvdXJj
ZWZpbGUgaXMgZnVydGhlciBwcm9jZWNlc3NlZAogICAgIyBhbmQgY29waWVkIHRvIHRoZSBkZXN0
aW5hdGlvbiBoZXJlLgoKICAgIGltcG9ydCBzdGF0CgogICAgc291cmNlZmlsZSA9IGQuZXhwYW5k
KCIke1dPUktESVJ9L2RlYnVnc291cmNlcy5saXN0IikKICAgIGlmIGRlYnVnc3JjZGlyIGFuZCBv
cy5wYXRoLmlzZmlsZShzb3VyY2VmaWxlKToKICAgICAgICBkdmFyID0gZC5nZXRWYXIoJ1BLR0Qn
KQogICAgICAgIHN0cmlwID0gZC5nZXRWYXIoIlNUUklQIikKICAgICAgICBvYmpjb3B5ID0gZC5n
ZXRWYXIoIk9CSkNPUFkiKQogICAgICAgIGRlYnVnZWRpdCA9IGQuZXhwYW5kKCIke1NUQUdJTkdf
TElCRElSX05BVElWRX0vcnBtL2Jpbi9kZWJ1Z2VkaXQiKQogICAgICAgIHdvcmtkaXIgPSBkLmdl
dFZhcigiV09SS0RJUiIpCiAgICAgICAgd29ya3BhcmVudGRpciA9IG9zLnBhdGguZGlybmFtZShv
cy5wYXRoLmRpcm5hbWUod29ya2RpcikpCiAgICAgICAgd29ya2Jhc2VkaXIgPSBvcy5wYXRoLmJh
c2VuYW1lKG9zLnBhdGguZGlybmFtZSh3b3JrZGlyKSkgKyAiLyIgKyBvcy5wYXRoLmJhc2VuYW1l
KHdvcmtkaXIpCgogICAgICAgICMgSWYgYnVpbGQgcGF0aCBleGlzdHMgaW4gc291cmNlZmlsZSwg
aXQgbWVhbnMgdG9vbGNoYWluIGRpZCBub3QgdXNlCiAgICAgICAgIyAtZmRlYnVnLXByZWZpeC1t
YXAgdG8gY29tcGlsZQogICAgICAgIGlmIGNoZWNrYnVpbGRwYXRoKHNvdXJjZWZpbGUsIGQpOgog
ICAgICAgICAgICBsb2NhbHNyY19wcmVmaXggPSB3b3JrcGFyZW50ZGlyICsgIi8iCiAgICAgICAg
ZWxzZToKICAgICAgICAgICAgbG9jYWxzcmNfcHJlZml4ID0gIi91c3Ivc3JjL2RlYnVnLyIKCiAg
ICAgICAgbm9zdWNoZGlyID0gW10KICAgICAgICBiYXNlcGF0aCA9IGR2YXIKICAgICAgICBmb3Ig
cCBpbiBkZWJ1Z3NyY2Rpci5zcGxpdCgiLyIpOgogICAgICAgICAgICBiYXNlcGF0aCA9IGJhc2Vw
YXRoICsgIi8iICsgcAogICAgICAgICAgICBpZiBub3QgY3BhdGguZXhpc3RzKGJhc2VwYXRoKToK
ICAgICAgICAgICAgICAgIG5vc3VjaGRpci5hcHBlbmQoYmFzZXBhdGgpCiAgICAgICAgYmIudXRp
bHMubWtkaXJoaWVyKGJhc2VwYXRoKQogICAgICAgIGNwYXRoLnVwZGF0ZWNhY2hlKGJhc2VwYXRo
KQoKICAgICAgICAjIElnbm9yZSBmaWxlcyBmcm9tIHRoZSByZWNpcGUgc3lzcm9vdHMgKHRhcmdl
dCBhbmQgbmF0aXZlKQogICAgICAgIHByb2Nlc3NkZWJ1Z3NyYyA9ICAiTENfQUxMPUMgOyBzb3J0
IC16IC11ICclcycgfCBlZ3JlcCAtdiAteiAnKCg8aW50ZXJuYWw+fDxidWlsdC1pbj4pJHwvLipy
ZWNpcGUtc3lzcm9vdC4qLyknIHwgIgogICAgICAgICMgV2UgbmVlZCB0byBpZ25vcmUgZmlsZXMg
dGhhdCBhcmUgbm90IGFjdHVhbGx5IG91cnMKICAgICAgICAjIHdlIGRvIHRoaXMgYnkgb25seSBw
YXlpbmcgYXR0ZW50aW9uIHRvIGl0ZW1zIGZyb20gdGhpcyBwYWNrYWdlCiAgICAgICAgcHJvY2Vz
c2RlYnVnc3JjICs9ICJmZ3JlcCAtencgJyVzJyB8ICIKICAgICAgICAjIFJlbW92ZSBwcmVmaXgg
aW4gdGhlIHNvdXJjZSBwYXRocwogICAgICAgIHByb2Nlc3NkZWJ1Z3NyYyArPSAic2VkICdzIyVz
IyNnJyB8ICIKICAgICAgICBwcm9jZXNzZGVidWdzcmMgKz0gIihjZCAnJXMnIDsgY3BpbyAtcGQw
bWxMIC0tbm8tcHJlc2VydmUtb3duZXIgJyVzJXMnIDI+L2Rldi9udWxsKSIKCiAgICAgICAgY21k
ID0gcHJvY2Vzc2RlYnVnc3JjICUgKHNvdXJjZWZpbGUsIHdvcmtiYXNlZGlyLCBsb2NhbHNyY19w
cmVmaXgsIHdvcmtwYXJlbnRkaXIsIGR2YXIsIGRlYnVnc3JjZGlyKQogICAgICAgIChyZXR2YWws
IG91dHB1dCkgPSBvZS51dGlscy5nZXRzdGF0dXNvdXRwdXQoY21kKQogICAgICAgICMgQ2FuICJm
YWlsIiBpZiBpbnRlcm5hbCBoZWFkZXJzL3RyYW5zaWVudCBzb3VyY2VzIGFyZSBhdHRlbXB0ZWQK
ICAgICAgICAjaWYgcmV0dmFsOgogICAgICAgICMgICAgYmIuZmF0YWwoImRlYnVnIHNvdXJjZSBj
b3B5IGZhaWxlZCB3aXRoIGV4aXQgY29kZSAlcyAoY21kIHdhcyAlcykiICUgKHJldHZhbCwgY21k
KSkKCiAgICAgICAgIyBjcGlvIHNlZW1zIHRvIGhhdmUgYSBidWcgd2l0aCAtbEwgdG9nZXRoZXIg
YW5kIHN5bWJvbGljIGxpbmtzIGFyZSBqdXN0IGNvcGllZCwgbm90IGRlcmVmZXJlbmNlZC4KICAg
ICAgICAjIFdvcmsgYXJvdW5kIHRoaXMgYnkgbWFudWFsbHkgZmluZGluZyBhbmQgY29weWluZyBh
bnkgc3ltYm9saWMgbGlua3MgdGhhdCBtYWRlIGl0IHRocm91Z2guCiAgICAgICAgY21kID0gImZp
bmQgJXMlcyAtdHlwZSBsIC1wcmludDAgLWRlbGV0ZSB8IHNlZCBzIyVzJXMvIyNnIHwgKGNkICcl
cycgOyBjcGlvIC1wZDBtTCAtLW5vLXByZXNlcnZlLW93bmVyICclcyVzJyAyPi9kZXYvbnVsbCki
ICUgKGR2YXIsIGRlYnVnc3JjZGlyLCBkdmFyLCBkZWJ1Z3NyY2Rpciwgd29ya3BhcmVudGRpciwg
ZHZhciwgZGVidWdzcmNkaXIpCiAgICAgICAgKHJldHZhbCwgb3V0cHV0KSA9IG9lLnV0aWxzLmdl
dHN0YXR1c291dHB1dChjbWQpCiAgICAgICAgaWYgcmV0dmFsOgogICAgICAgICAgICBiYi5mYXRh
bCgiZGVidWdzcmMgc3ltbGluayBmaXh1cCBmYWlsZWQgd2l0aCBleGl0IGNvZGUgJXMgKGNtZCB3
YXMgJXMpIiAlIChyZXR2YWwsIGNtZCkpCgogICAgICAgICMgVGhlIGNvcHkgYnkgY3BpbyBtYXkg
aGF2ZSByZXN1bHRlZCBpbiBzb21lIGVtcHR5IGRpcmVjdG9yaWVzISAgUmVtb3ZlIHRoZXNlCiAg
ICAgICAgY21kID0gImZpbmQgJXMlcyAtZW1wdHkgLXR5cGUgZCAtZGVsZXRlIiAlIChkdmFyLCBk
ZWJ1Z3NyY2RpcikKICAgICAgICAocmV0dmFsLCBvdXRwdXQpID0gb2UudXRpbHMuZ2V0c3RhdHVz
b3V0cHV0KGNtZCkKICAgICAgICBpZiByZXR2YWw6CiAgICAgICAgICAgIGJiLmZhdGFsKCJlbXB0
eSBkaXJlY3RvcnkgcmVtb3ZhbCBmYWlsZWQgd2l0aCBleGl0IGNvZGUgJXMgKGNtZCB3YXMgJXMp
JXMiICUgKHJldHZhbCwgY21kLCAiOlxuJXMiICUgb3V0cHV0IGlmIG91dHB1dCBlbHNlICIiKSkK
CiAgICAgICAgIyBBbHNvIHJlbW92ZSBkZWJ1Z3NyY2RpciBpZiBpdHMgZW1wdHkKICAgICAgICBm
b3IgcCBpbiBub3N1Y2hkaXJbOjotMV06CiAgICAgICAgICAgIGlmIG9zLnBhdGguZXhpc3RzKHAp
IGFuZCBub3Qgb3MubGlzdGRpcihwKToKICAgICAgICAgICAgICAgIG9zLnJtZGlyKHApCn0KCgpw
eXRob24gZGViaWFuX3BhY2thZ2VfbmFtZV9ob29rICgpIHsKICAgIGltcG9ydCBnbG9iLCBjb3B5
LCBzdGF0LCBlcnJubywgcmUKCiAgICBwa2dkZXN0ID0gZC5nZXRWYXIoJ1BLR0RFU1QnKQogICAg
cGFja2FnZXMgPSBkLmdldFZhcignUEFDS0FHRVMnKQogICAgYmluX3JlID0gcmUuY29tcGlsZSgi
Liovcz8iICsgb3MucGF0aC5iYXNlbmFtZShkLmdldFZhcigiYmluZGlyIikpICsgIiQiKQogICAg
bGliX3JlID0gcmUuY29tcGlsZSgiLiovIiArIG9zLnBhdGguYmFzZW5hbWUoZC5nZXRWYXIoImxp
YmRpciIpKSArICIkIikKICAgIHNvX3JlID0gcmUuY29tcGlsZSgibGliLipcLnNvIikKCiAgICBk
ZWYgc29jcnVuY2gocyk6CiAgICAgICAgcyA9IHMubG93ZXIoKS5yZXBsYWNlKCdfJywgJy0nKQog
ICAgICAgIG0gPSByZS5tYXRjaCgiXiguKikoLilcLnNvXC4oLiopJCIsIHMpCiAgICAgICAgaWYg
bSBpcyBOb25lOgogICAgICAgICAgICByZXR1cm4gTm9uZQogICAgICAgIGlmIG0uZ3JvdXAoMikg
aW4gJzAxMjM0NTY3ODknOgogICAgICAgICAgICBiaW4gPSAnJXMlcy0lcycgJSAobS5ncm91cCgx
KSwgbS5ncm91cCgyKSwgbS5ncm91cCgzKSkKICAgICAgICBlbHNlOgogICAgICAgICAgICBiaW4g
PSBtLmdyb3VwKDEpICsgbS5ncm91cCgyKSArIG0uZ3JvdXAoMykKICAgICAgICBkZXYgPSBtLmdy
b3VwKDEpICsgbS5ncm91cCgyKQogICAgICAgIHJldHVybiAoYmluLCBkZXYpCgogICAgZGVmIGlz
ZXhlYyhwYXRoKToKICAgICAgICB0cnk6CiAgICAgICAgICAgIHMgPSBvcy5zdGF0KHBhdGgpCiAg
ICAgICAgZXhjZXB0IChvcy5lcnJvciwgQXR0cmlidXRlRXJyb3IpOgogICAgICAgICAgICByZXR1
cm4gMAogICAgICAgIHJldHVybiAoc1tzdGF0LlNUX01PREVdICYgc3RhdC5TX0lFWEVDKQoKICAg
IGRlZiBhZGRfcnByb3ZpZGVzKHBrZywgZCk6CiAgICAgICAgbmV3cGtnID0gZC5nZXRWYXIoJ1BL
R18nICsgcGtnKQogICAgICAgIGlmIG5ld3BrZyBhbmQgbmV3cGtnICE9IHBrZzoKICAgICAgICAg
ICAgcHJvdnMgPSAoZC5nZXRWYXIoJ1JQUk9WSURFU18nICsgcGtnKSBvciAiIikuc3BsaXQoKQog
ICAgICAgICAgICBpZiBwa2cgbm90IGluIHByb3ZzOgogICAgICAgICAgICAgICAgZC5hcHBlbmRW
YXIoJ1JQUk9WSURFU18nICsgcGtnLCAiICIgKyBwa2cgKyAiICg9IiArIGQuZ2V0VmFyKCJQS0dW
IikgKyAiKSIpCgogICAgZGVmIGF1dG9fbGlibmFtZShwYWNrYWdlcywgb3JpZ19wa2cpOgogICAg
ICAgIHNvbmFtZXMgPSBbXQogICAgICAgIGhhc19iaW5zID0gMAogICAgICAgIGhhc19saWJzID0g
MAogICAgICAgIGZvciBmaWxlIGluIHBrZ2ZpbGVzW29yaWdfcGtnXToKICAgICAgICAgICAgcm9v
dCA9IG9zLnBhdGguZGlybmFtZShmaWxlKQogICAgICAgICAgICBpZiBiaW5fcmUubWF0Y2gocm9v
dCk6CiAgICAgICAgICAgICAgICBoYXNfYmlucyA9IDEKICAgICAgICAgICAgaWYgbGliX3JlLm1h
dGNoKHJvb3QpOgogICAgICAgICAgICAgICAgaGFzX2xpYnMgPSAxCiAgICAgICAgICAgICAgICBp
ZiBzb19yZS5tYXRjaChvcy5wYXRoLmJhc2VuYW1lKGZpbGUpKToKICAgICAgICAgICAgICAgICAg
ICBjbWQgPSAoZC5nZXRWYXIoJ1RBUkdFVF9QUkVGSVgnKSBvciAiIikgKyAib2JqZHVtcCAtcCAi
ICsgZmlsZSArICIgMj4vZGV2L251bGwiCiAgICAgICAgICAgICAgICAgICAgZmQgPSBvcy5wb3Bl
bihjbWQpCiAgICAgICAgICAgICAgICAgICAgbGluZXMgPSBmZC5yZWFkbGluZXMoKQogICAgICAg
ICAgICAgICAgICAgIGZkLmNsb3NlKCkKICAgICAgICAgICAgICAgICAgICBmb3IgbCBpbiBsaW5l
czoKICAgICAgICAgICAgICAgICAgICAgICAgbSA9IHJlLm1hdGNoKCJccytTT05BTUVccysoW15c
c10qKSIsIGwpCiAgICAgICAgICAgICAgICAgICAgICAgIGlmIG0gYW5kIG5vdCBtLmdyb3VwKDEp
IGluIHNvbmFtZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzb25hbWVzLmFwcGVuZCht
Lmdyb3VwKDEpKQoKICAgICAgICBiYi5kZWJ1ZygxLCAnTElCTkFNRVM6IHBrZyAlcyBsaWJzICVk
IGJpbnMgJWQgc29uYW1lcyAlcycgJSAob3JpZ19wa2csIGhhc19saWJzLCBoYXNfYmlucywgc29u
YW1lcykpCiAgICAgICAgc29uYW1lID0gTm9uZQogICAgICAgIGlmIGxlbihzb25hbWVzKSA9PSAx
OgogICAgICAgICAgICBzb25hbWUgPSBzb25hbWVzWzBdCiAgICAgICAgZWxpZiBsZW4oc29uYW1l
cykgPiAxOgogICAgICAgICAgICBsZWFkID0gZC5nZXRWYXIoJ0xFQURfU09OQU1FJykKICAgICAg
ICAgICAgaWYgbGVhZDoKICAgICAgICAgICAgICAgIHIgPSByZS5jb21waWxlKGxlYWQpCiAgICAg
ICAgICAgICAgICBmaWx0ZXJlZCA9IFtdCiAgICAgICAgICAgICAgICBmb3IgcyBpbiBzb25hbWVz
OgogICAgICAgICAgICAgICAgICAgIGlmIHIubWF0Y2gocyk6CiAgICAgICAgICAgICAgICAgICAg
ICAgIGZpbHRlcmVkLmFwcGVuZChzKQogICAgICAgICAgICAgICAgaWYgbGVuKGZpbHRlcmVkKSA9
PSAxOgogICAgICAgICAgICAgICAgICAgIHNvbmFtZSA9IGZpbHRlcmVkWzBdCiAgICAgICAgICAg
ICAgICBlbGlmIGxlbihmaWx0ZXJlZCkgPiAxOgogICAgICAgICAgICAgICAgICAgIGJiLm5vdGUo
Ik11bHRpcGxlIG1hdGNoZXMgKCVzKSBmb3IgTEVBRF9TT05BTUUgJyVzJyIgJSAoIiwgIi5qb2lu
KGZpbHRlcmVkKSwgbGVhZCkpCiAgICAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAg
ICAgIGJiLm5vdGUoIk11bHRpcGxlIGxpYnJhcmllcyAoJXMpIGZvdW5kLCBidXQgTEVBRF9TT05B
TUUgJyVzJyBkb2Vzbid0IG1hdGNoIGFueSBvZiB0aGVtIiAlICgiLCAiLmpvaW4oc29uYW1lcyks
IGxlYWQpKQogICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgYmIubm90ZSgiTXVsdGlw
bGUgbGlicmFyaWVzICglcykgZm91bmQgYW5kIExFQURfU09OQU1FIG5vdCBkZWZpbmVkIiAlICIs
ICIuam9pbihzb25hbWVzKSkKCiAgICAgICAgaWYgaGFzX2xpYnMgYW5kIG5vdCBoYXNfYmlucyBh
bmQgc29uYW1lOgogICAgICAgICAgICBzb25hbWVfcmVzdWx0ID0gc29jcnVuY2goc29uYW1lKQog
ICAgICAgICAgICBpZiBzb25hbWVfcmVzdWx0OgogICAgICAgICAgICAgICAgKHBrZ25hbWUsIGRl
dm5hbWUpID0gc29uYW1lX3Jlc3VsdAogICAgICAgICAgICAgICAgZm9yIHBrZyBpbiBwYWNrYWdl
cy5zcGxpdCgpOgogICAgICAgICAgICAgICAgICAgIGlmIChkLmdldFZhcignUEtHXycgKyBwa2cs
IEZhbHNlKSBvciBkLmdldFZhcignREVCSUFOX05PQVVUT05BTUVfJyArIHBrZywgRmFsc2UpKToK
ICAgICAgICAgICAgICAgICAgICAgICAgYWRkX3Jwcm92aWRlcyhwa2csIGQpCiAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnRpbnVlCiAgICAgICAgICAgICAgICAgICAgZGViaWFuX3BuID0gZC5n
ZXRWYXIoJ0RFQklBTk5BTUVfJyArIHBrZywgRmFsc2UpCiAgICAgICAgICAgICAgICAgICAgaWYg
ZGViaWFuX3BuOgogICAgICAgICAgICAgICAgICAgICAgICBuZXdwa2cgPSBkZWJpYW5fcG4KICAg
ICAgICAgICAgICAgICAgICBlbGlmIHBrZyA9PSBvcmlnX3BrZzoKICAgICAgICAgICAgICAgICAg
ICAgICAgbmV3cGtnID0gcGtnbmFtZQogICAgICAgICAgICAgICAgICAgIGVsc2U6CiAgICAgICAg
ICAgICAgICAgICAgICAgIG5ld3BrZyA9IHBrZy5yZXBsYWNlKG9yaWdfcGtnLCBkZXZuYW1lLCAx
KQogICAgICAgICAgICAgICAgICAgIG1scHJlPWQuZ2V0VmFyKCdNTFBSRUZJWCcpCiAgICAgICAg
ICAgICAgICAgICAgaWYgbWxwcmU6CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIG5vdCBuZXdw
a2cuZmluZChtbHByZSkgPT0gMDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ld3BrZyA9
IG1scHJlICsgbmV3cGtnCiAgICAgICAgICAgICAgICAgICAgaWYgbmV3cGtnICE9IHBrZzoKICAg
ICAgICAgICAgICAgICAgICAgICAgZC5zZXRWYXIoJ1BLR18nICsgcGtnLCBuZXdwa2cpCiAgICAg
ICAgICAgICAgICAgICAgICAgIGFkZF9ycHJvdmlkZXMocGtnLCBkKQogICAgICAgIGVsc2U6CiAg
ICAgICAgICAgIGFkZF9ycHJvdmlkZXMob3JpZ19wa2csIGQpCgogICAgIyByZXZlcnNlZCBzb3J0
IGlzIG5lZWRlZCB3aGVuIHNvbWUgcGFja2FnZSBpcyBzdWJzdHJpbmcgb2YgYW5vdGhlcgogICAg
IyBpZSBpbiBuY3Vyc2VzIHdlIGdldCB3aXRob3V0IHJldmVyc2Ugc29ydDoKICAgICMgREVCVUc6
IExJQk5BTUVTOiBwa2duYW1lIGxpYnRpYzUgZGV2bmFtZSBsaWJ0aWMgcGtnIG5jdXJzZXMtbGli
dGljIG9yaWdfcGtnIG5jdXJzZXMtbGlidGljIGRlYmlhbl9wbiBOb25lIG5ld3BrZyBsaWJ0aWM1
CiAgICAjIGFuZCBsYXRlcgogICAgIyBERUJVRzogTElCTkFNRVM6IHBrZ25hbWUgbGlidGljNSBk
ZXZuYW1lIGxpYnRpYyBwa2cgbmN1cnNlcy1saWJ0aWN3IG9yaWdfcGtnIG5jdXJzZXMtbGlidGlj
IGRlYmlhbl9wbiBOb25lIG5ld3BrZyBsaWJ0aWN3CiAgICAjIHNvIHdlIG5lZWQgdG8gaGFuZGxl
IG5jdXJzZXMtbGlidGljdy0+bGlidGljdzUgYmVmb3JlIG5jdXJzZXMtbGlidGljLT5saWJ0aWM1
CiAgICBmb3IgcGtnIGluIHNvcnRlZCgoZC5nZXRWYXIoJ0FVVE9fTElCTkFNRV9QS0dTJykgb3Ig
IiIpLnNwbGl0KCksIHJldmVyc2U9VHJ1ZSk6CiAgICAgICAgYXV0b19saWJuYW1lKHBhY2thZ2Vz
LCBwa2cpCn0KCgpweXRob24gZGV2cHlzaGVsbCAoKSB7CmRlZiBkZXZweXNoZWxsKGQpOgoKICAg
IGltcG9ydCBjb2RlCiAgICBpbXBvcnQgc2VsZWN0CiAgICBpbXBvcnQgc2lnbmFsCiAgICBpbXBv
cnQgdGVybWlvcwoKICAgIG0sIHMgPSBvcy5vcGVucHR5KCkKICAgIHNuYW1lID0gb3MudHR5bmFt
ZShzKQoKICAgIGRlZiBub2VjaG9pY2Fub24oZmQpOgogICAgICAgIG9sZCA9IHRlcm1pb3MudGNn
ZXRhdHRyKGZkKQogICAgICAgIG9sZFszXSA9IG9sZFszXSAmfiB0ZXJtaW9zLkVDSE8gJn4gdGVy
bWlvcy5JQ0FOT04KICAgICAgICAjICZ+IHRlcm1pb3MuSVNJRwogICAgICAgIHRlcm1pb3MudGNz
ZXRhdHRyKGZkLCB0ZXJtaW9zLlRDU0FEUkFJTiwgb2xkKQoKICAgICMgTm8gZWNobyBvciBidWZm
ZXJpbmcgb3ZlciB0aGUgcHR5CiAgICBub2VjaG9pY2Fub24ocykKCiAgICBwaWQgPSBvcy5mb3Jr
KCkKICAgIGlmIHBpZDoKICAgICAgICBvcy5jbG9zZShtKQogICAgICAgIG9lX3Rlcm1pbmFsKCJv
ZXB5ZGV2c2hlbGwtaW50ZXJuYWwucHkgJXMgJWQiICUgKHNuYW1lLCBwaWQpLCAnT3BlbkVtYmVk
ZGVkIERldmVsb3BlciBQeVNoZWxsJywgZCkKICAgICAgICBvcy5fZXhpdCgwKQogICAgZWxzZToK
ICAgICAgICBvcy5jbG9zZShzKQoKICAgICAgICBvcy5kdXAyKG0sIHN5cy5zdGRpbi5maWxlbm8o
KSkKICAgICAgICBvcy5kdXAyKG0sIHN5cy5zdGRvdXQuZmlsZW5vKCkpCiAgICAgICAgb3MuZHVw
MihtLCBzeXMuc3RkZXJyLmZpbGVubygpKQoKICAgICAgICBiYi51dGlscy5ub25ibG9ja2luZ2Zk
KHN5cy5zdGRvdXQpCiAgICAgICAgYmIudXRpbHMubm9uYmxvY2tpbmdmZChzeXMuc3RkZXJyKQog
ICAgICAgIGJiLnV0aWxzLm5vbmJsb2NraW5nZmQoc3lzLnN0ZGluKQoKICAgICAgICBfY29udGV4
dCA9IHsKICAgICAgICAgICAgIm9zIjogb3MsCiAgICAgICAgICAgICJiYiI6IGJiLAogICAgICAg
ICAgICAidGltZSI6IHRpbWUsCiAgICAgICAgICAgICJkIjogZCwKICAgICAgICB9CgogICAgICAg
IHBzMSA9ICJweWRldnNoZWxsPiAiCiAgICAgICAgcHMyID0gIi4uLiAiCiAgICAgICAgYnVmID0g
W10KICAgICAgICBtb3JlID0gRmFsc2UKCiAgICAgICAgaSA9IGNvZGUuSW50ZXJhY3RpdmVJbnRl
cnByZXRlcihsb2NhbHM9X2NvbnRleHQpCiAgICAgICAgcHJpbnQoIk9FIFB5U2hlbGwgKFBOID0g
JXMpXG4iICUgZC5nZXRWYXIoIlBOIikpCgogICAgICAgIGRlZiBwcm9tcHQobW9yZSk6CiAgICAg
ICAgICAgIGlmIG1vcmU6CiAgICAgICAgICAgICAgICBwcm9tcHQgPSBwczIKICAgICAgICAgICAg
ZWxzZToKICAgICAgICAgICAgICAgIHByb21wdCA9IHBzMQogICAgICAgICAgICBzeXMuc3Rkb3V0
LndyaXRlKHByb21wdCkKICAgICAgICAgICAgc3lzLnN0ZG91dC5mbHVzaCgpCgogICAgICAgICMg
UmVzdG9yZSBDdHJsK0Mgc2luY2UgYml0YmFrZSBtYXNrcyB0aGlzCiAgICAgICAgZGVmIHNpZ25h
bF9oYW5kbGVyKHNpZ25hbCwgZnJhbWUpOgogICAgICAgICAgICByYWlzZSBLZXlib2FyZEludGVy
cnVwdAogICAgICAgIHNpZ25hbC5zaWduYWwoc2lnbmFsLlNJR0lOVCwgc2lnbmFsX2hhbmRsZXIp
CgogICAgICAgIGNoaWxkID0gTm9uZQoKICAgICAgICBwcm9tcHQobW9yZSkKICAgICAgICB3aGls
ZSBUcnVlOgogICAgICAgICAgICB0cnk6CiAgICAgICAgICAgICAgICB0cnk6CiAgICAgICAgICAg
ICAgICAgICAgKHIsIF8sIF8pID0gc2VsZWN0LnNlbGVjdChbc3lzLnN0ZGluXSwgW10sIFtdLCAx
KQogICAgICAgICAgICAgICAgICAgIGlmIG5vdCByOgogICAgICAgICAgICAgICAgICAgICAgICBj
b250aW51ZQogICAgICAgICAgICAgICAgICAgIGxpbmUgPSBzeXMuc3RkaW4ucmVhZGxpbmUoKS5z
dHJpcCgpCiAgICAgICAgICAgICAgICAgICAgaWYgbm90IGxpbmU6CiAgICAgICAgICAgICAgICAg
ICAgICAgIHByb21wdChtb3JlKQogICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZQogICAg
ICAgICAgICAgICAgZXhjZXB0IEVPRkVycm9yIGFzIGU6CiAgICAgICAgICAgICAgICAgICAgc3lz
LnN0ZG91dC53cml0ZSgiXG4iKQogICAgICAgICAgICAgICAgICAgIHN5cy5zdGRvdXQuZmx1c2go
KQogICAgICAgICAgICAgICAgZXhjZXB0IChPU0Vycm9yLCBJT0Vycm9yKSBhcyBlOgogICAgICAg
ICAgICAgICAgICAgIGlmIGUuZXJybm8gPT0gMTE6CiAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnRpbnVlCiAgICAgICAgICAgICAgICAgICAgaWYgZS5lcnJubyA9PSA1OgogICAgICAgICAgICAg
ICAgICAgICAgICByZXR1cm4KICAgICAgICAgICAgICAgICAgICByYWlzZQogICAgICAgICAgICAg
ICAgZWxzZToKICAgICAgICAgICAgICAgICAgICBpZiBub3QgY2hpbGQ6CiAgICAgICAgICAgICAg
ICAgICAgICAgIGNoaWxkID0gaW50KGxpbmUpCiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRp
bnVlCiAgICAgICAgICAgICAgICAgICAgYnVmLmFwcGVuZChsaW5lKQogICAgICAgICAgICAgICAg
ICAgIHNvdXJjZSA9ICJcbiIuam9pbihidWYpCiAgICAgICAgICAgICAgICAgICAgbW9yZSA9IGku
cnVuc291cmNlKHNvdXJjZSwgIjxweXNoZWxsPiIpCiAgICAgICAgICAgICAgICAgICAgaWYgbm90
IG1vcmU6CiAgICAgICAgICAgICAgICAgICAgICAgIGJ1ZiA9IFtdCiAgICAgICAgICAgICAgICAg
ICAgcHJvbXB0KG1vcmUpCiAgICAgICAgICAgIGV4Y2VwdCBLZXlib2FyZEludGVycnVwdDoKICAg
ICAgICAgICAgICAgIGkud3JpdGUoIlxuS2V5Ym9hcmRJbnRlcnJ1cHRcbiIpCiAgICAgICAgICAg
ICAgICBidWYgPSBbXQogICAgICAgICAgICAgICAgbW9yZSA9IEZhbHNlCiAgICAgICAgICAgICAg
ICBwcm9tcHQobW9yZSkKICAgICAgICAgICAgZXhjZXB0IFN5c3RlbUV4aXQ6CiAgICAgICAgICAg
ICAgICAjIEVhc2llc3Qgd2F5IHRvIGVuc3VyZSBldmVyeXRoaW5nIGV4aXRzCiAgICAgICAgICAg
ICAgICBvcy5raWxsKGNoaWxkLCBzaWduYWwuU0lHVEVSTSkKICAgICAgICAgICAgICAgIGJyZWFr
Cn0KCgpweXRob24gZG9fY2hlY2t1cmkgKCkgewogICAgc3JjX3VyaSA9IChkLmdldFZhcignU1JD
X1VSSScpIG9yICIiKS5zcGxpdCgpCiAgICBpZiBsZW4oc3JjX3VyaSkgPT0gMDoKICAgICAgICBy
ZXR1cm4KCiAgICB0cnk6CiAgICAgICAgZmV0Y2hlciA9IGJiLmZldGNoMi5GZXRjaChzcmNfdXJp
LCBkKQogICAgICAgIGZldGNoZXIuY2hlY2tzdGF0dXMoKQogICAgZXhjZXB0IGJiLmZldGNoMi5C
QkZldGNoRXhjZXB0aW9uIGFzIGU6CiAgICAgICAgYmIuZmF0YWwoc3RyKGUpKQp9CgoKcHl0aG9u
IGRvX2NsZWFuICgpIHsKICAgICIiImNsZWFyIHRoZSBidWlsZCBhbmQgdGVtcCBkaXJlY3Rvcmll
cyIiIgogICAgZGlyID0gZC5leHBhbmQoIiR7V09SS0RJUn0iKQogICAgYmIubm90ZSgiUmVtb3Zp
bmcgIiArIGRpcikKICAgIG9lLnBhdGgucmVtb3ZlKGRpcikKCiAgICBkaXIgPSAiJXMuKiIgJSBk
LmdldFZhcignU1RBTVAnKQogICAgYmIubm90ZSgiUmVtb3ZpbmcgIiArIGRpcikKICAgIG9lLnBh
dGgucmVtb3ZlKGRpcikKCiAgICBmb3IgZiBpbiAoZC5nZXRWYXIoJ0NMRUFORlVOQ1MnKSBvciAn
Jykuc3BsaXQoKToKICAgICAgICBiYi5idWlsZC5leGVjX2Z1bmMoZiwgZCkKfQoKCnB5dGhvbiBk
b19jbGVhbmFsbCAoKSB7CiAgICBzcmNfdXJpID0gKGQuZ2V0VmFyKCdTUkNfVVJJJykgb3IgIiIp
LnNwbGl0KCkKICAgIGlmIGxlbihzcmNfdXJpKSA9PSAwOgogICAgICAgIHJldHVybgoKICAgIHRy
eToKICAgICAgICBmZXRjaGVyID0gYmIuZmV0Y2gyLkZldGNoKHNyY191cmksIGQpCiAgICAgICAg
ZmV0Y2hlci5jbGVhbigpCiAgICBleGNlcHQgYmIuZmV0Y2gyLkJCRmV0Y2hFeGNlcHRpb24gYXMg
ZToKICAgICAgICBiYi5mYXRhbChzdHIoZSkpCn0KCgpweXRob24gZG9fY2xlYW5zc3RhdGUgKCkg
ewogICAgICAgIHNzdGF0ZV9jbGVhbl9jYWNoZWZpbGVzKGQpCn0KCgpweXRob24gZG9fZGV2cHlz
aGVsbCAoKSB7CiAgICBpbXBvcnQgc2lnbmFsCgogICAgdHJ5OgogICAgICAgIGRldnB5c2hlbGwo
ZCkKICAgIGV4Y2VwdCBTeXN0ZW1FeGl0OgogICAgICAgICMgU3RvcCB0aGUgU0lHVEVSTSBhYm92
ZSBjYXVzaW5nIGFuIGVycm9yIGV4aXQgY29kZQogICAgICAgIHJldHVybgogICAgZmluYWxseToK
ICAgICAgICByZXR1cm4KfQoKCnB5dGhvbiBkb19kZXZzaGVsbCAoKSB7CiAgICBpZiBkLmdldFZh
ckZsYWcoImRvX2RldnNoZWxsIiwgIm1hbnVhbGZha2Vyb290Iik6CiAgICAgICBkLnByZXBlbmRW
YXIoIkRFVlNIRUxMIiwgInBzZXVkbyAiKQogICAgICAgZmFrZWVudiA9IGQuZ2V0VmFyKCJGQUtF
Uk9PVEVOViIpLnNwbGl0KCkKICAgICAgIGZvciBmIGluIGZha2VlbnY6CiAgICAgICAgICAgIGsg
PSBmLnNwbGl0KCI9IikKICAgICAgICAgICAgZC5zZXRWYXIoa1swXSwga1sxXSkKICAgICAgICAg
ICAgZC5hcHBlbmRWYXIoIk9FX1RFUk1JTkFMX0VYUE9SVFMiLCAiICIgKyBrWzBdKQogICAgICAg
ZC5kZWxWYXJGbGFnKCJkb19kZXZzaGVsbCIsICJmYWtlcm9vdCIpCgogICAgb2VfdGVybWluYWwo
ZC5nZXRWYXIoJ0RFVlNIRUxMJyksICdPcGVuRW1iZWRkZWQgRGV2ZWxvcGVyIFNoZWxsJywgZCkK
fQoKCnB5dGhvbiBkb19mZXRjaCAoKSB7CiAgICBiYi5idWlsZC5leGVjX2Z1bmMoJ2Jhc2VfZG9f
ZmV0Y2gnLCBkKQp9CgoKcHl0aG9uIGRvX2xpc3R0YXNrcyAoKSB7CiAgICB0YXNrZGVzY3MgPSB7
fQogICAgbWF4bGVuID0gMAogICAgZm9yIGUgaW4gZC5rZXlzKCk6CiAgICAgICAgaWYgZC5nZXRW
YXJGbGFnKGUsICd0YXNrJyk6CiAgICAgICAgICAgIG1heGxlbiA9IG1heChtYXhsZW4sIGxlbihl
KSkKICAgICAgICAgICAgaWYgZS5lbmRzd2l0aCgnX3NldHNjZW5lJyk6CiAgICAgICAgICAgICAg
ICBkZXNjID0gIiVzIChzZXRzY2VuZSB2ZXJzaW9uKSIgJSAoZC5nZXRWYXJGbGFnKGVbOi05XSwg
J2RvYycpIG9yICcnKQogICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgZGVzYyA9IGQu
Z2V0VmFyRmxhZyhlLCAnZG9jJykgb3IgJycKICAgICAgICAgICAgdGFza2Rlc2NzW2VdID0gZGVz
YwoKICAgIHRhc2tzID0gc29ydGVkKHRhc2tkZXNjcy5rZXlzKCkpCiAgICBmb3IgdGFza25hbWUg
aW4gdGFza3M6CiAgICAgICAgYmIucGxhaW4oIiVzICAlcyIgJSAodGFza25hbWUubGp1c3QobWF4
bGVuKSwgdGFza2Rlc2NzW3Rhc2tuYW1lXSkpCn0KCgpweXRob24gZG9fcGFja2FnZSAoKSB7CiAg
ICBpZiBub3Qgb3MucGF0aC5leGlzdHMob3MucGF0aC5qb2luKGQuZ2V0VmFyKCdEJyksIGQuZ2V0
VmFyKCdub25hcmNoX2Jhc2VfbGliZGlyJylbMTpdLCAnbW9kdWxlcycpKToKICAgICAgICBiYi53
YXJuKCIlczogbm8gbW9kdWxlcyB3ZXJlIGNyZWF0ZWQ7IHRoaXMgbWF5IGJlIGR1ZSB0byBDT05G
SUdfVFJBQ0VQT0lOVFMgbm90IGJlaW5nIGVuYWJsZWQgaW4geW91ciBrZXJuZWwuIiAlIGQuZ2V0
VmFyKCdQTicpKQogICAgIyBDaGFuZ2UgdGhlIGZvbGxvd2luZyB2ZXJzaW9uIHRvIGNhdXNlIHNz
dGF0ZSB0byBpbnZhbGlkYXRlIHRoZSBwYWNrYWdlCiAgICAjIGNhY2hlLiAgVGhpcyBpcyB1c2Vm
dWwgaWYgYW4gaXRlbSB0aGlzIGNsYXNzIGRlcGVuZHMgb24gY2hhbmdlcyBpbiBhCiAgICAjIHdh
eSB0aGF0IHRoZSBvdXRwdXQgb2YgdGhpcyBjbGFzcyBjaGFuZ2VzLiAgcnBtZGVwcyBpcyBhIGdv
b2QgZXhhbXBsZQogICAgIyBhcyBhbnkgY2hhbmdlIHRvIHJwbWRlcHMgcmVxdWlyZXMgdGhpcyB0
byBiZSByZXJ1bi4KICAgICMgUEFDS0FHRV9CQkNMQVNTX1ZFUlNJT04gPSAiMSIKCiAgICAjIElu
aXQgY2FjaGVkcGF0aAogICAgZ2xvYmFsIGNwYXRoCiAgICBjcGF0aCA9IG9lLmNhY2hlZHBhdGgu
Q2FjaGVkUGF0aCgpCgogICAgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAgICAjIFNhbml0eSB0ZXN0IHRo
ZSBzZXR1cAogICAgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgogICAgcGFja2FnZXMgPSAoZC5nZXRWYXIo
J1BBQ0tBR0VTJykgb3IgIiIpLnNwbGl0KCkKICAgIGlmIGxlbihwYWNrYWdlcykgPCAxOgogICAg
ICAgIGJiLmRlYnVnKDEsICJObyBwYWNrYWdlcyB0byBidWlsZCwgc2tpcHBpbmcgZG9fcGFja2Fn
ZSIpCiAgICAgICAgcmV0dXJuCgogICAgd29ya2RpciA9IGQuZ2V0VmFyKCdXT1JLRElSJykKICAg
IG91dGRpciA9IGQuZ2V0VmFyKCdERVBMT1lfRElSJykKICAgIGRlc3QgPSBkLmdldFZhcignRCcp
CiAgICBkdmFyID0gZC5nZXRWYXIoJ1BLR0QnKQogICAgcG4gPSBkLmdldFZhcignUE4nKQoKICAg
IGlmIG5vdCB3b3JrZGlyIG9yIG5vdCBvdXRkaXIgb3Igbm90IGRlc3Qgb3Igbm90IGR2YXIgb3Ig
bm90IHBuOgogICAgICAgIG1zZyA9ICJXT1JLRElSLCBERVBMT1lfRElSLCBELCBQTiBhbmQgUEtH
RCBhbGwgbXVzdCBiZSBkZWZpbmVkLCB1bmFibGUgdG8gcGFja2FnZSIKICAgICAgICBwYWNrYWdl
X3FhX2hhbmRsZV9lcnJvcigidmFyLXVuZGVmaW5lZCIsIG1zZywgZCkKICAgICAgICByZXR1cm4K
CiAgICBiYi5idWlsZC5leGVjX2Z1bmMoInBhY2thZ2VfZ2V0X2F1dG9fcHIiLCBkKQoKICAgICMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIwogICAgIyBPcHRpbWlzYXRpb25zCiAgICAjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMKCiAgICAjIENvbnRpbnVhbGx5IGV4cGFuZGluZyBjb21wbGV4IGV4cHJlc3Npb25zIGlzIGlu
ZWZmaWNpZW50LCBwYXJ0aWN1bGFybHkKICAgICMgd2hlbiB3ZSB3cml0ZSB0byB0aGUgZGF0YXN0
b3JlIGFuZCBpbnZhbGlkYXRlIHRoZSBleHBhbnNpb24gY2FjaGUuIFRoaXMKICAgICMgY29kZSBw
cmUtZXhwYW5kcyBzb21lIGZyZXF1ZW50bHkgdXNlZCB2YXJpYWJsZXMKCiAgICBkZWYgZXhwYW5k
VmFyKHgsIGQpOgogICAgICAgIGQuc2V0VmFyKHgsIGQuZ2V0VmFyKHgpKQoKICAgIGZvciB4IGlu
ICdQTicsICdQVicsICdCUE4nLCAnVEFSR0VUX1NZUycsICdFWFRFTkRQUkFVVE8nOgogICAgICAg
IGV4cGFuZFZhcih4LCBkKQoKICAgICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogICAgIyBTZXR1cCBQS0dE
IChmcm9tIEQpCiAgICAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKCiAgICBmb3IgZiBpbiAoZC5nZXRWYXIo
J1BBQ0tBR0VCVUlMRFBLR0QnKSBvciAnJykuc3BsaXQoKToKICAgICAgICBiYi5idWlsZC5leGVj
X2Z1bmMoZiwgZCkKCiAgICAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKICAgICMgU3BsaXQgdXAgUEtHRCBp
bnRvIFBLR0RFU1QKICAgICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoKICAgIGNwYXRoID0gb2UuY2FjaGVk
cGF0aC5DYWNoZWRQYXRoKCkKCiAgICBmb3IgZiBpbiAoZC5nZXRWYXIoJ1BBQ0tBR0VTUExJVEZV
TkNTJykgb3IgJycpLnNwbGl0KCk6CiAgICAgICAgYmIuYnVpbGQuZXhlY19mdW5jKGYsIGQpCgog
ICAgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAgICAjIFByb2Nlc3MgUEtHREVTVAogICAgIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjCgogICAgIyBCdWlsZCBnbG9iYWwgbGlzdCBvZiBmaWxlcyBpbiBlYWNoIHNwbGl0
IHBhY2thZ2UKICAgIGdsb2JhbCBwa2dmaWxlcwogICAgcGtnZmlsZXMgPSB7fQogICAgcGFja2Fn
ZXMgPSBkLmdldFZhcignUEFDS0FHRVMnKS5zcGxpdCgpCiAgICBwa2dkZXN0ID0gZC5nZXRWYXIo
J1BLR0RFU1QnKQogICAgZm9yIHBrZyBpbiBwYWNrYWdlczoKICAgICAgICBwa2dmaWxlc1twa2dd
ID0gW10KICAgICAgICBmb3Igd2Fsa3Jvb3QsIGRpcnMsIGZpbGVzIGluIGNwYXRoLndhbGsocGtn
ZGVzdCArICIvIiArIHBrZyk6CiAgICAgICAgICAgIGZvciBmaWxlIGluIGZpbGVzOgogICAgICAg
ICAgICAgICAgcGtnZmlsZXNbcGtnXS5hcHBlbmQod2Fsa3Jvb3QgKyBvcy5zZXAgKyBmaWxlKQoK
ICAgIGZvciBmIGluIChkLmdldFZhcignUEFDS0FHRUZVTkNTJykgb3IgJycpLnNwbGl0KCk6CiAg
ICAgICAgYmIuYnVpbGQuZXhlY19mdW5jKGYsIGQpCgogICAgcWFfc2FuZSA9IGQuZ2V0VmFyKCJR
QV9TQU5FIikKICAgIGlmIG5vdCBxYV9zYW5lOgogICAgICAgIGJiLmZhdGFsKCJGYXRhbCBRQSBl
cnJvcnMgZm91bmQsIGZhaWxpbmcgdGFzay4iKQp9CgoKcHl0aG9uIGRvX3BhY2thZ2VfcHJlcGVu
ZCAoKSB7Ck5vbmV9CgoKcHl0aG9uIGRvX3BhY2thZ2VfcWEgKCkgewogICAgaW1wb3J0IHN1YnBy
b2Nlc3MKICAgIGltcG9ydCBvZS5wYWNrYWdlZGF0YQoKICAgIGJiLm5vdGUoIkRPIFBBQ0tBR0Ug
UUEiKQoKICAgIGJiLmJ1aWxkLmV4ZWNfZnVuYygicmVhZF9zdWJwYWNrYWdlX21ldGFkYXRhIiwg
ZCkKCiAgICAjIENoZWNrIG5vbiBVVEYtOCBjaGFyYWN0ZXJzIG9uIHJlY2lwZSdzIG1ldGFkYXRh
CiAgICBwYWNrYWdlX3FhX2NoZWNrX2VuY29kaW5nKFsnREVTQ1JJUFRJT04nLCAnU1VNTUFSWScs
ICdMSUNFTlNFJywgJ1NFQ1RJT04nXSwgJ3V0Zi04JywgZCkKCiAgICBsb2dkaXIgPSBkLmdldFZh
cignVCcpCiAgICBwa2cgPSBkLmdldFZhcignUE4nKQoKICAgICMgQ2hlY2sgdGhlIGNvbXBpbGUg
bG9nIGZvciBob3N0IGNvbnRhbWluYXRpb24KICAgIGNvbXBpbGVsb2cgPSBvcy5wYXRoLmpvaW4o
bG9nZGlyLCJsb2cuZG9fY29tcGlsZSIpCgogICAgaWYgb3MucGF0aC5leGlzdHMoY29tcGlsZWxv
Zyk6CiAgICAgICAgc3RhdGVtZW50ID0gImdyZXAgLWUgJ0NST1NTIENPTVBJTEUgQmFkbmVzczon
IC1lICdpcyB1bnNhZmUgZm9yIGNyb3NzLWNvbXBpbGF0aW9uJyAlcyA+IC9kZXYvbnVsbCIgJSBj
b21waWxlbG9nCiAgICAgICAgaWYgc3VicHJvY2Vzcy5jYWxsKHN0YXRlbWVudCwgc2hlbGw9VHJ1
ZSkgPT0gMDoKICAgICAgICAgICAgbXNnID0gIiVzOiBUaGUgY29tcGlsZSBsb2cgaW5kaWNhdGVz
IHRoYXQgaG9zdCBpbmNsdWRlIGFuZC9vciBsaWJyYXJ5IHBhdGhzIHdlcmUgdXNlZC5cbiBcCiAg
ICAgICAgUGxlYXNlIGNoZWNrIHRoZSBsb2cgJyVzJyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4iICUg
KHBrZywgY29tcGlsZWxvZykKICAgICAgICAgICAgcGFja2FnZV9xYV9oYW5kbGVfZXJyb3IoImNv
bXBpbGUtaG9zdC1wYXRoIiwgbXNnLCBkKQoKICAgICMgQ2hlY2sgdGhlIGluc3RhbGwgbG9nIGZv
ciBob3N0IGNvbnRhbWluYXRpb24KICAgIGluc3RhbGxsb2cgPSBvcy5wYXRoLmpvaW4obG9nZGly
LCJsb2cuZG9faW5zdGFsbCIpCgogICAgaWYgb3MucGF0aC5leGlzdHMoaW5zdGFsbGxvZyk6CiAg
ICAgICAgc3RhdGVtZW50ID0gImdyZXAgLWUgJ0NST1NTIENPTVBJTEUgQmFkbmVzczonIC1lICdp
cyB1bnNhZmUgZm9yIGNyb3NzLWNvbXBpbGF0aW9uJyAlcyA+IC9kZXYvbnVsbCIgJSBpbnN0YWxs
bG9nCiAgICAgICAgaWYgc3VicHJvY2Vzcy5jYWxsKHN0YXRlbWVudCwgc2hlbGw9VHJ1ZSkgPT0g
MDoKICAgICAgICAgICAgbXNnID0gIiVzOiBUaGUgaW5zdGFsbCBsb2cgaW5kaWNhdGVzIHRoYXQg
aG9zdCBpbmNsdWRlIGFuZC9vciBsaWJyYXJ5IHBhdGhzIHdlcmUgdXNlZC5cbiBcCiAgICAgICAg
UGxlYXNlIGNoZWNrIHRoZSBsb2cgJyVzJyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4iICUgKHBrZywg
aW5zdGFsbGxvZykKICAgICAgICAgICAgcGFja2FnZV9xYV9oYW5kbGVfZXJyb3IoImluc3RhbGwt
aG9zdC1wYXRoIiwgbXNnLCBkKQoKICAgICMgU2NhbiB0aGUgcGFja2FnZXMuLi4KICAgIHBrZ2Rl
c3QgPSBkLmdldFZhcignUEtHREVTVCcpCiAgICBwYWNrYWdlcyA9IHNldCgoZC5nZXRWYXIoJ1BB
Q0tBR0VTJykgb3IgJycpLnNwbGl0KCkpCgogICAgY3BhdGggPSBvZS5jYWNoZWRwYXRoLkNhY2hl
ZFBhdGgoKQogICAgZ2xvYmFsIHBrZ2ZpbGVzCiAgICBwa2dmaWxlcyA9IHt9CiAgICBmb3IgcGtn
IGluIHBhY2thZ2VzOgogICAgICAgIHBrZ2ZpbGVzW3BrZ10gPSBbXQogICAgICAgIGZvciB3YWxr
cm9vdCwgZGlycywgZmlsZXMgaW4gY3BhdGgud2Fsayhwa2dkZXN0ICsgIi8iICsgcGtnKToKICAg
ICAgICAgICAgZm9yIGZpbGUgaW4gZmlsZXM6CiAgICAgICAgICAgICAgICBwa2dmaWxlc1twa2dd
LmFwcGVuZCh3YWxrcm9vdCArIG9zLnNlcCArIGZpbGUpCgogICAgIyBubyBwYWNrYWdlcyBzaG91
bGQgYmUgc2Nhbm5lZAogICAgaWYgbm90IHBhY2thZ2VzOgogICAgICAgIHJldHVybgoKICAgIGlt
cG9ydCByZQogICAgIyBUaGUgcGFja2FnZSBuYW1lIG1hdGNoZXMgdGhlIFthLXowLTkuKy1dKyBy
ZWd1bGFyIGV4cHJlc3Npb24KICAgIHBrZ25hbWVfcGF0dGVybiA9IHJlLmNvbXBpbGUoIl5bYS16
MC05ListXSskIikKCiAgICB0YXNrZGVwZGF0YSA9IGQuZ2V0VmFyKCJCQl9UQVNLREVQREFUQSIs
IEZhbHNlKQogICAgdGFza2RlcHMgPSBzZXQoKQogICAgZm9yIGRlcCBpbiB0YXNrZGVwZGF0YToK
ICAgICAgICB0YXNrZGVwcy5hZGQodGFza2RlcGRhdGFbZGVwXVswXSkKCiAgICBmb3IgcGFja2Fn
ZSBpbiBwYWNrYWdlczoKICAgICAgICBkZWYgcGFyc2VfdGVzdF9tYXRyaXgobWF0cml4X25hbWUp
OgogICAgICAgICAgICB0ZXN0bWF0cml4ID0gZC5nZXRWYXJGbGFncyhtYXRyaXhfbmFtZSkgb3Ig
e30KICAgICAgICAgICAgZyA9IGdsb2JhbHMoKQogICAgICAgICAgICB3YXJuY2hlY2tzID0gW10K
ICAgICAgICAgICAgZm9yIHcgaW4gKGQuZ2V0VmFyKCJXQVJOX1FBIikgb3IgIiIpLnNwbGl0KCk6
CiAgICAgICAgICAgICAgICBpZiB3IGluIHNraXA6CiAgICAgICAgICAgICAgICAgICBjb250aW51
ZQogICAgICAgICAgICAgICAgaWYgdyBpbiB0ZXN0bWF0cml4IGFuZCB0ZXN0bWF0cml4W3ddIGlu
IGc6CiAgICAgICAgICAgICAgICAgICAgd2FybmNoZWNrcy5hcHBlbmQoZ1t0ZXN0bWF0cml4W3dd
XSkKICAgICAgICAgICAgICAgIGlmIHcgPT0gJ3Vuc2FmZS1yZWZlcmVuY2VzLWluLWJpbmFyaWVz
JzoKICAgICAgICAgICAgICAgICAgICBvZS51dGlscy53cml0ZV9sZF9zb19jb25mKGQpCgogICAg
ICAgICAgICBlcnJvcmNoZWNrcyA9IFtdCiAgICAgICAgICAgIGZvciBlIGluIChkLmdldFZhcigi
RVJST1JfUUEiKSBvciAiIikuc3BsaXQoKToKICAgICAgICAgICAgICAgIGlmIGUgaW4gc2tpcDoK
ICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCiAgICAgICAgICAgICAgICBpZiBlIGluIHRlc3Rt
YXRyaXggYW5kIHRlc3RtYXRyaXhbZV0gaW4gZzoKICAgICAgICAgICAgICAgICAgICBlcnJvcmNo
ZWNrcy5hcHBlbmQoZ1t0ZXN0bWF0cml4W2VdXSkKICAgICAgICAgICAgICAgIGlmIGUgPT0gJ3Vu
c2FmZS1yZWZlcmVuY2VzLWluLWJpbmFyaWVzJzoKICAgICAgICAgICAgICAgICAgICBvZS51dGls
cy53cml0ZV9sZF9zb19jb25mKGQpCiAgICAgICAgICAgIHJldHVybiB3YXJuY2hlY2tzLCBlcnJv
cmNoZWNrcwoKICAgICAgICBza2lwID0gKGQuZ2V0VmFyKCdJTlNBTkVfU0tJUF8nICsgcGFja2Fn
ZSkgb3IgIiIpLnNwbGl0KCkKICAgICAgICBpZiBza2lwOgogICAgICAgICAgICBiYi5ub3RlKCJQ
YWNrYWdlICVzIHNraXBwaW5nIFFBIHRlc3RzOiAlcyIgJSAocGFja2FnZSwgc3RyKHNraXApKSkK
CgogICAgICAgIGJiLm5vdGUoIkNoZWNraW5nIFBhY2thZ2U6ICVzIiAlIHBhY2thZ2UpCiAgICAg
ICAgIyBDaGVjayBwYWNrYWdlIG5hbWUKICAgICAgICBpZiBub3QgcGtnbmFtZV9wYXR0ZXJuLm1h
dGNoKHBhY2thZ2UpOgogICAgICAgICAgICBwYWNrYWdlX3FhX2hhbmRsZV9lcnJvcigicGtnbmFt
ZSIsCiAgICAgICAgICAgICAgICAgICAgIiVzIGRvZXNuJ3QgbWF0Y2ggdGhlIFthLXowLTkuKy1d
KyByZWdleCIgJSBwYWNrYWdlLCBkKQoKICAgICAgICB3YXJuX2NoZWNrcywgZXJyb3JfY2hlY2tz
ID0gcGFyc2VfdGVzdF9tYXRyaXgoIlFBUEFUSFRFU1QiKQogICAgICAgIHBhY2thZ2VfcWFfd2Fs
ayh3YXJuX2NoZWNrcywgZXJyb3JfY2hlY2tzLCBza2lwLCBwYWNrYWdlLCBkKQoKICAgICAgICB3
YXJuX2NoZWNrcywgZXJyb3JfY2hlY2tzID0gcGFyc2VfdGVzdF9tYXRyaXgoIlFBUEtHVEVTVCIp
CiAgICAgICAgcGFja2FnZV9xYV9wYWNrYWdlKHdhcm5fY2hlY2tzLCBlcnJvcl9jaGVja3MsIHNr
aXAsIHBhY2thZ2UsIGQpCgogICAgICAgIHBhY2thZ2VfcWFfY2hlY2tfcmRlcGVuZHMocGFja2Fn
ZSwgcGtnZGVzdCwgc2tpcCwgdGFza2RlcHMsIHBhY2thZ2VzLCBkKQogICAgICAgIHBhY2thZ2Vf
cWFfY2hlY2tfZGVwcyhwYWNrYWdlLCBwa2dkZXN0LCBza2lwLCBkKQoKICAgIGlmICdsaWJkaXIn
IGluIGQuZ2V0VmFyKCJBTExfUUEiKS5zcGxpdCgpOgogICAgICAgIHBhY2thZ2VfcWFfY2hlY2tf
bGliZGlyKGQpCgogICAgcWFfc2FuZSA9IGQuZ2V0VmFyKCJRQV9TQU5FIikKICAgIGlmIG5vdCBx
YV9zYW5lOgogICAgICAgIGJiLmZhdGFsKCJRQSBydW4gZm91bmQgZmF0YWwgZXJyb3JzLiBQbGVh
c2UgY29uc2lkZXIgZml4aW5nIHRoZW0uIikKICAgIGJiLm5vdGUoIkRPTkUgd2l0aCBQQUNLQUdF
IFFBIikKfQoKCnB5dGhvbiBkb19wYWNrYWdlX3FhX3NldHNjZW5lICgpIHsKICAgIHNzdGF0ZV9z
ZXRzY2VuZShkKQp9CgoKcHl0aG9uIGRvX3BhY2thZ2VfcnBtICgpIHsKICAgIHdvcmtkaXIgPSBk
LmdldFZhcignV09SS0RJUicpCiAgICB0bXBkaXIgPSBkLmdldFZhcignVE1QRElSJykKICAgIHBr
Z2QgPSBkLmdldFZhcignUEtHRCcpCiAgICBwa2dkZXN0ID0gZC5nZXRWYXIoJ1BLR0RFU1QnKQog
ICAgaWYgbm90IHdvcmtkaXIgb3Igbm90IHBrZ2Qgb3Igbm90IHRtcGRpcjoKICAgICAgICBiYi5l
cnJvcigiVmFyaWFibGVzIGluY29ycmVjdGx5IHNldCwgdW5hYmxlIHRvIHBhY2thZ2UiKQogICAg
ICAgIHJldHVybgoKICAgIHBhY2thZ2VzID0gZC5nZXRWYXIoJ1BBQ0tBR0VTJykKICAgIGlmIG5v
dCBwYWNrYWdlcyBvciBwYWNrYWdlcyA9PSAnJzoKICAgICAgICBiYi5kZWJ1ZygxLCAiTm8gcGFj
a2FnZXM7IG5vdGhpbmcgdG8gZG8iKQogICAgICAgIHJldHVybgoKICAgICMgQ29uc3RydWN0IHRo
ZSBzcGVjIGZpbGUuLi4KICAgICMgSWYgdGhlIHNwZWMgZmlsZSBhbHJlYWR5IGV4aXN0LCBhbmQg
aGFzIG5vdCBiZWVuIHN0b3JlZCBpbnRvCiAgICAjIHBzZXVkbydzIGZpbGVzLmRiLCBpdCBtYXli
ZSBjYXVzZSBycG1idWlsZCBzcmMucnBtIGZhaWwsCiAgICAjIHNvIHJlbW92ZSBpdCBiZWZvcmUg
ZG9pbmcgcnBtYnVpbGQgc3JjLnJwbS4KICAgIHNyY25hbWUgICAgPSBkLmdldFZhcignUE4nKQog
ICAgb3V0c3BlY2ZpbGUgPSB3b3JrZGlyICsgIi8iICsgc3JjbmFtZSArICIuc3BlYyIKICAgIGlm
IG9zLnBhdGguaXNmaWxlKG91dHNwZWNmaWxlKToKICAgICAgICBvcy5yZW1vdmUob3V0c3BlY2Zp
bGUpCiAgICBkLnNldFZhcignT1VUU1BFQ0ZJTEUnLCBvdXRzcGVjZmlsZSkKICAgIGJiLmJ1aWxk
LmV4ZWNfZnVuYygnd3JpdGVfc3BlY2ZpbGUnLCBkKQoKICAgIHBlcmZpbGVkZXBzID0gKGQuZ2V0
VmFyKCJNRVJHRVBFUkZJTEVERVBTIikgb3IgIjAiKSA9PSAiMCIKICAgIGlmIHBlcmZpbGVkZXBz
OgogICAgICAgIG91dGRlcGVuZHMsIG91dHByb3ZpZGVzID0gd3JpdGVfcnBtX3BlcmZpbGVkYXRh
KHNyY25hbWUsIGQpCgogICAgIyBTZXR1cCB0aGUgcnBtYnVpbGQgYXJndW1lbnRzLi4uCiAgICBy
cG1idWlsZCA9IGQuZ2V0VmFyKCdSUE1CVUlMRCcpCiAgICB0YXJnZXRzeXMgPSBkLmdldFZhcign
VEFSR0VUX1NZUycpCiAgICB0YXJnZXR2ZW5kb3IgPSBkLmdldFZhcignSE9TVF9WRU5ET1InKQog
ICAgIyBUb28gbWFueSBwbGFjZXMgaW4gZG5mIHN0YWNrIGFzc3VtZSB0aGF0IGFyY2gtaW5kZXBl
bmRlbnQgcGFja2FnZXMgYXJlICJub2FyY2giLgogICAgIyBMZXQncyBub3QgZmlnaHQgYWdhaW5z
dCB0aGlzLgogICAgcGFja2FnZV9hcmNoID0gKGQuZ2V0VmFyKCdQQUNLQUdFX0FSQ0gnKSBvciAi
IikucmVwbGFjZSgiLSIsICJfIikucmVwbGFjZSgiYWxsIiwgIm5vYXJjaCIpCiAgICBzZGtwa2dz
dWZmaXggPSAoZC5nZXRWYXIoJ1NES1BLR1NVRkZJWCcpIG9yICJuYXRpdmVzZGsiKS5yZXBsYWNl
KCItIiwgIl8iKQogICAgZC5zZXRWYXIoJ1BBQ0tBR0VfQVJDSF9FWFRFTkQnLCBwYWNrYWdlX2Fy
Y2gpCiAgICBwa2d3cml0ZWRpciA9IGQuZXhwYW5kKCcke1BLR1dSSVRFRElSUlBNfS8ke1BBQ0tB
R0VfQVJDSF9FWFRFTkR9JykKICAgIGQuc2V0VmFyKCdSUE1fUEtHV1JJVEVESVInLCBwa2d3cml0
ZWRpcikKICAgIGJiLmRlYnVnKDEsICdQS0dXUklURURJUjogJXMnICUgZC5nZXRWYXIoJ1JQTV9Q
S0dXUklURURJUicpKQogICAgcGtnYXJjaCA9IGQuZXhwYW5kKCcke1BBQ0tBR0VfQVJDSF9FWFRF
TkR9JHtIT1NUX1ZFTkRPUn0tbGludXgnKQogICAgYmIudXRpbHMubWtkaXJoaWVyKHBrZ3dyaXRl
ZGlyKQogICAgb3MuY2htb2QocGtnd3JpdGVkaXIsIDBvNzU1KQoKICAgIGNtZCA9IHJwbWJ1aWxk
CiAgICBjbWQgPSBjbWQgKyAiIC0tbm9jbGVhbiAtLW5vZGVwcyAtLXNob3J0LWNpcmN1aXQgLS10
YXJnZXQgIiArIHBrZ2FyY2ggKyAiIC0tYnVpbGRyb290ICIgKyBwa2dkCiAgICBjbWQgPSBjbWQg
KyAiIC0tZGVmaW5lICdfdG9wZGlyICIgKyB3b3JrZGlyICsgIicgLS1kZWZpbmUgJ19ycG1kaXIg
IiArIHBrZ3dyaXRlZGlyICsgIiciCiAgICBjbWQgPSBjbWQgKyAiIC0tZGVmaW5lICdfYnVpbGRk
aXIgIiArIGQuZ2V0VmFyKCdTJykgKyAiJyIKICAgIGNtZCA9IGNtZCArICIgLS1kZWZpbmUgJ19i
dWlsZF9uYW1lX2ZtdCAlJXtOQU1FfS0lJXtWRVJTSU9OfS0lJXtSRUxFQVNFfS4lJXtBUkNIfS5y
cG0nIgogICAgY21kID0gY21kICsgIiAtLWRlZmluZSAnX3VzZV9pbnRlcm5hbF9kZXBlbmRlbmN5
X2dlbmVyYXRvciAwJyIKICAgIGNtZCA9IGNtZCArICIgLS1kZWZpbmUgJ19iaW5hcmllc19pbl9u
b2FyY2hfcGFja2FnZXNfdGVybWluYXRlX2J1aWxkIDAnIgogICAgY21kID0gY21kICsgIiAtLWRl
ZmluZSAnX2J1aWxkX2lkX2xpbmtzIG5vbmUnIgogICAgY21kID0gY21kICsgIiAtLWRlZmluZSAn
X2JpbmFyeV9wYXlsb2FkIHc2VC54emRpbyciCiAgICBjbWQgPSBjbWQgKyAiIC0tZGVmaW5lICdf
c291cmNlX3BheWxvYWQgdzZULnh6ZGlvJyIKICAgIGlmIHBlcmZpbGVkZXBzOgogICAgICAgIGNt
ZCA9IGNtZCArICIgLS1kZWZpbmUgJ19fZmluZF9yZXF1aXJlcyAiICsgb3V0ZGVwZW5kcyArICIn
IgogICAgICAgIGNtZCA9IGNtZCArICIgLS1kZWZpbmUgJ19fZmluZF9wcm92aWRlcyAiICsgb3V0
cHJvdmlkZXMgKyAiJyIKICAgIGVsc2U6CiAgICAgICAgY21kID0gY21kICsgIiAtLWRlZmluZSAn
X19maW5kX3JlcXVpcmVzICV7bmlsfSciCiAgICAgICAgY21kID0gY21kICsgIiAtLWRlZmluZSAn
X19maW5kX3Byb3ZpZGVzICV7bmlsfSciCiAgICBjbWQgPSBjbWQgKyAiIC0tZGVmaW5lICdfdW5w
YWNrYWdlZF9maWxlc190ZXJtaW5hdGVfYnVpbGQgMCciCiAgICBjbWQgPSBjbWQgKyAiIC0tZGVm
aW5lICdkZWJ1Z19wYWNrYWdlICV7bmlsfSciCiAgICBjbWQgPSBjbWQgKyAiIC0tZGVmaW5lICdf
dG1wcGF0aCAiICsgd29ya2RpciArICInIgogICAgaWYgZC5nZXRWYXJGbGFnKCdBUkNISVZFUl9N
T0RFJywgJ3NycG0nKSA9PSAnMScgYW5kIGJiLmRhdGEuaW5oZXJpdHNfY2xhc3MoJ2FyY2hpdmVy
JywgZCk6CiAgICAgICAgY21kID0gY21kICsgIiAtLWRlZmluZSAnX3NvdXJjZWRpciAiICsgZC5n
ZXRWYXIoJ0FSQ0hJVkVSX09VVERJUicpICsgIiciCiAgICAgICAgY21kc3JwbSA9IGNtZCArICIg
LS1kZWZpbmUgJ19zcmNycG1kaXIgIiArIGQuZ2V0VmFyKCdBUkNISVZFUl9PVVRESVInKSArICIn
IgogICAgICAgIGNtZHNycG0gPSBjbWRzcnBtICsgIiAtYnMgIiArIG91dHNwZWNmaWxlCiAgICAg
ICAgIyBCdWlsZCB0aGUgLnNyYy5ycG0KICAgICAgICBkLnNldFZhcignU0JVSUxEU1BFQycsIGNt
ZHNycG0gKyAiXG4iKQogICAgICAgIGQuc2V0VmFyRmxhZygnU0JVSUxEU1BFQycsICdmdW5jJywg
JzEnKQogICAgICAgIGJiLmJ1aWxkLmV4ZWNfZnVuYygnU0JVSUxEU1BFQycsIGQpCiAgICBjbWQg
PSBjbWQgKyAiIC1iYiAiICsgb3V0c3BlY2ZpbGUKCiAgICAjIHJwbSA0IGNyZWF0ZXMgdmFyaW91
cyBlbXB0eSBkaXJlY3RvcmllcyBpbiBfdG9wZGlyLCBsZXQncyBjbGVhbiB0aGVtIHVwCiAgICBj
bGVhbnVwY21kID0gInJtIC1yZiAlcy9CVUlMRFJPT1QgJXMvU09VUkNFUyAlcy9TUEVDUyAlcy9T
UlBNUyIgJSAod29ya2Rpciwgd29ya2Rpciwgd29ya2Rpciwgd29ya2RpcikKCiAgICAjIEJ1aWxk
IHRoZSBycG0gcGFja2FnZSEKICAgIGQuc2V0VmFyKCdCVUlMRFNQRUMnLCBjbWQgKyAiXG4iICsg
Y2xlYW51cGNtZCArICJcbiIpCiAgICBkLnNldFZhckZsYWcoJ0JVSUxEU1BFQycsICdmdW5jJywg
JzEnKQogICAgYmIuYnVpbGQuZXhlY19mdW5jKCdCVUlMRFNQRUMnLCBkKQoKICAgIGlmIGQuZ2V0
VmFyKCdSUE1fU0lHTl9QQUNLQUdFUycpID09ICcxJzoKICAgICAgICBiYi5idWlsZC5leGVjX2Z1
bmMoInNpZ25fcnBtIiwgZCkKfQoKCnB5dGhvbiBkb19wYWNrYWdlX3NldHNjZW5lICgpIHsKICAg
IHNzdGF0ZV9zZXRzY2VuZShkKQp9CgoKcHl0aG9uIGRvX3BhY2thZ2Vfd3JpdGVfcnBtICgpIHsK
ICAgIGJiLmJ1aWxkLmV4ZWNfZnVuYygicmVhZF9zdWJwYWNrYWdlX21ldGFkYXRhIiwgZCkKICAg
IGJiLmJ1aWxkLmV4ZWNfZnVuYygiZG9fcGFja2FnZV9ycG0iLCBkKQp9CgoKcHl0aG9uIGRvX3Bh
Y2thZ2Vfd3JpdGVfcnBtX3NldHNjZW5lICgpIHsKICAgIHNzdGF0ZV9zZXRzY2VuZShkKQp9CgoK
cHl0aG9uIGRvX3BhY2thZ2VkYXRhX3NldHNjZW5lICgpIHsKICAgIHNzdGF0ZV9zZXRzY2VuZShk
KQp9CgoKcHl0aG9uIGRvX3BhdGNoICgpIHsKICAgIGJiLmJ1aWxkLmV4ZWNfZnVuYygncGF0Y2hf
ZG9fcGF0Y2gnLCBkKQp9CgoKcHl0aG9uIGRvX3BvcHVsYXRlX2xpYyAoKSB7CiAgICAiIiIKICAg
IFBvcHVsYXRlIExJQ0VOU0VfRElSRUNUT1JZIHdpdGggbGljZW5zZXMuCiAgICAiIiIKICAgIGxp
Y19maWxlc19wYXRocyA9IGZpbmRfbGljZW5zZV9maWxlcyhkKQoKICAgICMgVGhlIGJhc2UgZGly
ZWN0b3J5IHdlIHdyYW5nbGUgbGljZW5zZXMgdG8KICAgIGRlc3RkaXIgPSBvcy5wYXRoLmpvaW4o
ZC5nZXRWYXIoJ0xJQ1NTVEFURURJUicpLCBkLmdldFZhcignUE4nKSkKICAgIGNvcHlfbGljZW5z
ZV9maWxlcyhsaWNfZmlsZXNfcGF0aHMsIGRlc3RkaXIpCiAgICBpbmZvID0gZ2V0X3JlY2lwZV9p
bmZvKGQpCiAgICB3aXRoIG9wZW4ob3MucGF0aC5qb2luKGRlc3RkaXIsICJyZWNpcGVpbmZvIiks
ICJ3IikgYXMgZjoKICAgICAgICBmb3Iga2V5IGluIHNvcnRlZChpbmZvLmtleXMoKSk6CiAgICAg
ICAgICAgIGYud3JpdGUoIiVzOiAlc1xuIiAlIChrZXksIGluZm9ba2V5XSkpCn0KCgpweXRob24g
ZG9fcG9wdWxhdGVfbGljX3NldHNjZW5lICgpIHsKICAgIHNzdGF0ZV9zZXRzY2VuZShkKQp9CgoK
cHl0aG9uIGRvX3BvcHVsYXRlX3N5c3Jvb3QgKCkgewogICAgYmIuYnVpbGQuZXhlY19mdW5jKCJz
eXNyb290X3N0YWdlX2FsbCIsIGQpCiAgICBiYi5idWlsZC5leGVjX2Z1bmMoInN5c3Jvb3Rfc3Ry
aXAiLCBkKQogICAgZm9yIGYgaW4gKGQuZ2V0VmFyKCdTWVNST09UX1BSRVBST0NFU1NfRlVOQ1Mn
KSBvciAnJykuc3BsaXQoKToKICAgICAgICBiYi5idWlsZC5leGVjX2Z1bmMoZiwgZCkKICAgIHBu
ID0gZC5nZXRWYXIoIlBOIikKICAgIG11bHRpcHJvdiA9IGQuZ2V0VmFyKCJNVUxUSV9QUk9WSURF
Ul9XSElURUxJU1QiKS5zcGxpdCgpCiAgICBwcm92ZGlyID0gZC5leHBhbmQoIiR7U1lTUk9PVF9E
RVNURElSfSR7YmFzZV9wcmVmaXh9L3N5c3Jvb3QtcHJvdmlkZXJzLyIpCiAgICBiYi51dGlscy5t
a2RpcmhpZXIocHJvdmRpcikKICAgIGZvciBwIGluIGQuZ2V0VmFyKCJQUk9WSURFUyIpLnNwbGl0
KCk6CiAgICAgICAgaWYgcCBpbiBtdWx0aXByb3Y6CiAgICAgICAgICAgIGNvbnRpbnVlCiAgICAg
ICAgcCA9IHAucmVwbGFjZSgiLyIsICJfIikKICAgICAgICB3aXRoIG9wZW4ocHJvdmRpciArIHAs
ICJ3IikgYXMgZjoKICAgICAgICAgICAgZi53cml0ZShwbikKfQoKCnB5dGhvbiBkb19wb3B1bGF0
ZV9zeXNyb290X3NldHNjZW5lICgpIHsKICAgIHNzdGF0ZV9zZXRzY2VuZShkKQp9CgoKcHl0aG9u
IGRvX3ByZXBhcmVfcmVjaXBlX3N5c3Jvb3QgKCkgewogICAgYmIuYnVpbGQuZXhlY19mdW5jKCJl
eHRlbmRfcmVjaXBlX3N5c3Jvb3QiLCBkKQp9CgoKcHl0aG9uIGRvX3FhX2NvbmZpZ3VyZSAoKSB7
CiAgICBpbXBvcnQgc3VicHJvY2VzcwoKICAgICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogICAgIyBDaGVj
ayBjb25maWcubG9nIGZvciBjcm9zcyBjb21waWxlIGlzc3VlcwogICAgIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjCgogICAgY29uZmlncyA9IFtdCiAgICB3b3JrZGlyID0gZC5nZXRWYXIoJ1dPUktESVInKQoK
ICAgIGlmIGJiLmRhdGEuaW5oZXJpdHNfY2xhc3MoJ2F1dG90b29scycsIGQpOgogICAgICAgIGJi
Lm5vdGUoIkNoZWNraW5nIGF1dG90b29scyBlbnZpcm9ubWVudCBmb3IgY29tbW9uIG1pc2NvbmZp
Z3VyYXRpb24iKQogICAgICAgIGZvciByb290LCBkaXJzLCBmaWxlcyBpbiBvcy53YWxrKHdvcmtk
aXIpOgogICAgICAgICAgICBzdGF0ZW1lbnQgPSAiZ3JlcCAtcSAtRiAtZSAnQ1JPU1MgQ09NUElM
RSBCYWRuZXNzOicgLWUgJ2lzIHVuc2FmZSBmb3IgY3Jvc3MtY29tcGlsYXRpb24nICVzIiAlIFwK
ICAgICAgICAgICAgICAgICAgICAgICAgb3MucGF0aC5qb2luKHJvb3QsImNvbmZpZy5sb2ciKQog
ICAgICAgICAgICBpZiAiY29uZmlnLmxvZyIgaW4gZmlsZXM6CiAgICAgICAgICAgICAgICBpZiBz
dWJwcm9jZXNzLmNhbGwoc3RhdGVtZW50LCBzaGVsbD1UcnVlKSA9PSAwOgogICAgICAgICAgICAg
ICAgICAgIGJiLmZhdGFsKCIiIlRoaXMgYXV0b2NvbmYgbG9nIGluZGljYXRlcyBlcnJvcnMsIGl0
IGxvb2tlZCBhdCBob3N0IGluY2x1ZGUgYW5kL29yIGxpYnJhcnkgcGF0aHMgd2hpbGUgZGV0ZXJt
aW5pbmcgc3lzdGVtIGNhcGFiaWxpdGllcy4KUmVydW4gY29uZmlndXJlIHRhc2sgYWZ0ZXIgZml4
aW5nIHRoaXMuIiIiKQoKICAgICAgICAgICAgaWYgImNvbmZpZ3VyZS5hYyIgaW4gZmlsZXM6CiAg
ICAgICAgICAgICAgICBjb25maWdzLmFwcGVuZChvcy5wYXRoLmpvaW4ocm9vdCwiY29uZmlndXJl
LmFjIikpCiAgICAgICAgICAgIGlmICJjb25maWd1cmUuaW4iIGluIGZpbGVzOgogICAgICAgICAg
ICAgICAgY29uZmlncy5hcHBlbmQob3MucGF0aC5qb2luKHJvb3QsICJjb25maWd1cmUuaW4iKSkK
CiAgICAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKICAgICMgQ2hlY2sgZ2V0dGV4dCBjb25maWd1cmF0aW9u
IGFuZCBkZXBlbmRlbmNpZXMgYXJlIGNvcnJlY3QKICAgICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoKICAg
IGNuZiA9IGQuZ2V0VmFyKCdFWFRSQV9PRUNPTkYnKSBvciAiIgogICAgaWYgImdldHRleHQiIG5v
dCBpbiBkLmdldFZhcignUCcpIGFuZCAiZ2NjLXJ1bnRpbWUiIG5vdCBpbiBkLmdldFZhcignUCcp
IGFuZCAiLS1kaXNhYmxlLW5scyIgbm90IGluIGNuZjoKICAgICAgICBtbCA9IGQuZ2V0VmFyKCJN
TFBSRUZJWCIpIG9yICIiCiAgICAgICAgaWYgYmIuZGF0YS5pbmhlcml0c19jbGFzcygnbmF0aXZl
JywgZCkgb3IgYmIuZGF0YS5pbmhlcml0c19jbGFzcygnY3Jvc3MnLCBkKSBvciBiYi5kYXRhLmlu
aGVyaXRzX2NsYXNzKCdjcm9zc3NkaycsIGQpIG9yIGJiLmRhdGEuaW5oZXJpdHNfY2xhc3MoJ25h
dGl2ZXNkaycsIGQpOgogICAgICAgICAgICBndCA9ICJnZXR0ZXh0LW5hdGl2ZSIKICAgICAgICBl
bGlmIGJiLmRhdGEuaW5oZXJpdHNfY2xhc3MoJ2Nyb3NzLWNhbmFkaWFuJywgZCk6CiAgICAgICAg
ICAgIGd0ID0gIm5hdGl2ZXNkay1nZXR0ZXh0IgogICAgICAgIGVsc2U6CiAgICAgICAgICAgIGd0
ID0gInZpcnR1YWwvIiArIG1sICsgImdldHRleHQiCiAgICAgICAgZGVwcyA9IGJiLnV0aWxzLmV4
cGxvZGVfZGVwcyhkLmdldFZhcignREVQRU5EUycpIG9yICIiKQogICAgICAgIGlmIGd0IG5vdCBp
biBkZXBzOgogICAgICAgICAgICBmb3IgY29uZmlnIGluIGNvbmZpZ3M6CiAgICAgICAgICAgICAg
ICBnbnUgPSAiZ3JlcCBcIl5bWzpzcGFjZTpdXSpBTV9HTlVfR0VUVEVYVFwiICVzID4vZGV2L251
bGwiICUgY29uZmlnCiAgICAgICAgICAgICAgICBpZiBzdWJwcm9jZXNzLmNhbGwoZ251LCBzaGVs
bD1UcnVlKSA9PSAwOgogICAgICAgICAgICAgICAgICAgIGJiLmZhdGFsKCIiIiVzIHJlcXVpcmVk
IGJ1dCBub3QgaW4gREVQRU5EUyBmb3IgZmlsZSAlcy4KTWlzc2luZyBpbmhlcml0IGdldHRleHQ/
IiIiICUgKGd0LCBjb25maWcpKQoKICAgICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogICAgIyBDaGVjayB1
bnJlY29nbmlzZWQgY29uZmlndXJlIG9wdGlvbnMgKHdpdGggYSB3aGl0ZSBsaXN0KQogICAgIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjCiAgICBpZiBiYi5kYXRhLmluaGVyaXRzX2NsYXNzKCJhdXRvdG9vbHMi
LCBkKToKICAgICAgICBiYi5ub3RlKCJDaGVja2luZyBjb25maWd1cmUgb3V0cHV0IGZvciB1bnJl
Y29nbmlzZWQgb3B0aW9ucyIpCiAgICAgICAgdHJ5OgogICAgICAgICAgICBmbGFnID0gIldBUk5J
Tkc6IHVucmVjb2duaXplZCBvcHRpb25zOiIKICAgICAgICAgICAgbG9nID0gb3MucGF0aC5qb2lu
KGQuZ2V0VmFyKCdCJyksICdjb25maWcubG9nJykKICAgICAgICAgICAgb3V0cHV0ID0gc3VicHJv
Y2Vzcy5jaGVja19vdXRwdXQoWydncmVwJywgJy1GJywgZmxhZywgbG9nXSkuZGVjb2RlKCJ1dGYt
OCIpLnJlcGxhY2UoJywgJywgJyAnKQogICAgICAgICAgICBvcHRpb25zID0gc2V0KCkKICAgICAg
ICAgICAgZm9yIGxpbmUgaW4gb3V0cHV0LnNwbGl0bGluZXMoKToKICAgICAgICAgICAgICAgIG9w
dGlvbnMgfD0gc2V0KGxpbmUucGFydGl0aW9uKGZsYWcpWzJdLnNwbGl0KCkpCiAgICAgICAgICAg
IHdoaXRlbGlzdCA9IHNldChkLmdldFZhcigiVU5LTk9XTl9DT05GSUdVUkVfV0hJVEVMSVNUIiku
c3BsaXQoKSkKICAgICAgICAgICAgb3B0aW9ucyAtPSB3aGl0ZWxpc3QKICAgICAgICAgICAgaWYg
b3B0aW9uczoKICAgICAgICAgICAgICAgIHBuID0gZC5nZXRWYXIoJ1BOJykKICAgICAgICAgICAg
ICAgIGVycm9yX21zZyA9IHBuICsgIjogY29uZmlndXJlIHdhcyBwYXNzZWQgdW5yZWNvZ25pc2Vk
IG9wdGlvbnM6ICIgKyAiICIuam9pbihvcHRpb25zKQogICAgICAgICAgICAgICAgcGFja2FnZV9x
YV9oYW5kbGVfZXJyb3IoInVua25vd24tY29uZmlndXJlLW9wdGlvbiIsIGVycm9yX21zZywgZCkK
ICAgICAgICBleGNlcHQgc3VicHJvY2Vzcy5DYWxsZWRQcm9jZXNzRXJyb3I6CiAgICAgICAgICAg
IHBhc3MKCiAgICAjIENoZWNrIGludmFsaWQgUEFDS0FHRUNPTkZJRwogICAgcGtnY29uZmlnID0g
KGQuZ2V0VmFyKCJQQUNLQUdFQ09ORklHIikgb3IgIiIpLnNwbGl0KCkKICAgIGlmIHBrZ2NvbmZp
ZzoKICAgICAgICBwa2djb25maWdmbGFncyA9IGQuZ2V0VmFyRmxhZ3MoIlBBQ0tBR0VDT05GSUci
KSBvciB7fQogICAgICAgIGZvciBwY29uZmlnIGluIHBrZ2NvbmZpZzoKICAgICAgICAgICAgaWYg
cGNvbmZpZyBub3QgaW4gcGtnY29uZmlnZmxhZ3M6CiAgICAgICAgICAgICAgICBwbiA9IGQuZ2V0
VmFyKCdQTicpCiAgICAgICAgICAgICAgICBlcnJvcl9tc2cgPSAiJXM6IGludmFsaWQgUEFDS0FH
RUNPTkZJRzogJXMiICUgKHBuLCBwY29uZmlnKQogICAgICAgICAgICAgICAgcGFja2FnZV9xYV9o
YW5kbGVfZXJyb3IoImludmFsaWQtcGFja2FnZWNvbmZpZyIsIGVycm9yX21zZywgZCkKCiAgICBx
YV9zYW5lID0gZC5nZXRWYXIoIlFBX1NBTkUiKQogICAgaWYgbm90IHFhX3NhbmU6CiAgICAgICAg
YmIuZmF0YWwoIkZhdGFsIFFBIGVycm9ycyBmb3VuZCwgZmFpbGluZyB0YXNrLiIpCn0KCgpweXRo
b24gZG9fcWFfc3RhZ2luZyAoKSB7CiAgICBiYi5ub3RlKCJRQSBjaGVja2luZyBzdGFnaW5nIikK
CiAgICBpZiBub3QgcGFja2FnZV9xYV9jaGVja19zdGFnZWQoZC5leHBhbmQoJyR7U1lTUk9PVF9E
RVNURElSfSR7bGliZGlyfScpLCBkKToKICAgICAgICBiYi5mYXRhbCgiUUEgc3RhZ2luZyB3YXMg
YnJva2VuIGJ5IHRoZSBwYWNrYWdlIGJ1aWx0IGFib3ZlIikKfQoKCnB5dGhvbiBkb19xYV91bnBh
Y2sgKCkgewogICAgc3JjX3VyaSA9IGQuZ2V0VmFyKCdTUkNfVVJJJykKICAgIHNfZGlyID0gZC5n
ZXRWYXIoJ1MnKQogICAgaWYgc3JjX3VyaSBhbmQgbm90IG9zLnBhdGguZXhpc3RzKHNfZGlyKToK
ICAgICAgICBiYi53YXJuKCclczogdGhlIGRpcmVjdG9yeSAlcyAoJXMpIHBvaW50ZWQgdG8gYnkg
dGhlIFMgdmFyaWFibGUgZG9lc25cJ3QgZXhpc3QgLSBwbGVhc2Ugc2V0IFMgd2l0aGluIHRoZSBy
ZWNpcGUgdG8gcG9pbnQgdG8gd2hlcmUgdGhlIHNvdXJjZSBoYXMgYmVlbiB1bnBhY2tlZCB0bycg
JSAoZC5nZXRWYXIoJ1BOJyksIGQuZ2V0VmFyKCdTJywgRmFsc2UpLCBzX2RpcikpCn0KCgpweXRo
b24gZG9fc3BsaXRfcGFja2FnZXMgKCkgewpkZWYgZG9fc3BsaXRfcGFja2FnZXMoZCwgcm9vdCwg
ZmlsZV9yZWdleCwgb3V0cHV0X3BhdHRlcm4sIGRlc2NyaXB0aW9uLCBwb3N0aW5zdD1Ob25lLCBy
ZWN1cnNpdmU9RmFsc2UsIGhvb2s9Tm9uZSwgZXh0cmFfZGVwZW5kcz1Ob25lLCBhdXhfZmlsZXNf
cGF0dGVybj1Ob25lLCBwb3N0cm09Tm9uZSwgYWxsb3dfZGlycz1GYWxzZSwgcHJlcGVuZD1GYWxz
ZSwgbWF0Y2hfcGF0aD1GYWxzZSwgYXV4X2ZpbGVzX3BhdHRlcm5fdmVyYmF0aW09Tm9uZSwgYWxs
b3dfbGlua3M9RmFsc2UsIHN1bW1hcnk9Tm9uZSk6CiAgICAiIiIKICAgIFVzZWQgaW4gLmJiIGZp
bGVzIHRvIHNwbGl0IHVwIGR5bmFtaWNhbGx5IGdlbmVyYXRlZCBzdWJwYWNrYWdlcyBvZiBhCiAg
ICBnaXZlbiBwYWNrYWdlLCB1c3VhbGx5IHBsdWdpbnMgb3IgbW9kdWxlcy4KCiAgICBBcmd1bWVu
dHM6CiAgICByb290ICAgICAgICAgICAtLSB0aGUgcGF0aCBpbiB3aGljaCB0byBzZWFyY2gKICAg
IGZpbGVfcmVnZXggICAgIC0tIHJlZ3VsYXIgZXhwcmVzc2lvbiB0byBtYXRjaCBzZWFyY2hlZCBm
aWxlcy4gVXNlCiAgICAgICAgICAgICAgICAgICAgICBwYXJlbnRoZXNlcyAoKSB0byBtYXJrIHRo
ZSBwYXJ0IG9mIHRoaXMgZXhwcmVzc2lvbgogICAgICAgICAgICAgICAgICAgICAgdGhhdCBzaG91
bGQgYmUgdXNlZCB0byBkZXJpdmUgdGhlIG1vZHVsZSBuYW1lICh0byBiZQogICAgICAgICAgICAg
ICAgICAgICAgc3Vic3RpdHV0ZWQgd2hlcmUgJXMgaXMgdXNlZCBpbiBvdGhlciBmdW5jdGlvbgog
ICAgICAgICAgICAgICAgICAgICAgYXJndW1lbnRzIGFzIG5vdGVkIGJlbG93KQogICAgb3V0cHV0
X3BhdHRlcm4gLS0gcGF0dGVybiB0byB1c2UgZm9yIHRoZSBwYWNrYWdlIG5hbWVzLiBNdXN0IGlu
Y2x1ZGUgJXMuCiAgICBkZXNjcmlwdGlvbiAgICAtLSBkZXNjcmlwdGlvbiB0byBzZXQgZm9yIGVh
Y2ggcGFja2FnZS4gTXVzdCBpbmNsdWRlICVzLgogICAgcG9zdGluc3QgICAgICAgLS0gcG9zdGlu
c3RhbGwgc2NyaXB0IHRvIHVzZSBmb3IgYWxsIHBhY2thZ2VzIChhcyBhCiAgICAgICAgICAgICAg
ICAgICAgICBzdHJpbmcpCiAgICByZWN1cnNpdmUgICAgICAtLSBUcnVlIHRvIHBlcmZvcm0gYSBy
ZWN1cnNpdmUgc2VhcmNoIC0gZGVmYXVsdCBGYWxzZQogICAgaG9vayAgICAgICAgICAgLS0gYSBo
b29rIGZ1bmN0aW9uIHRvIGJlIGNhbGxlZCBmb3IgZXZlcnkgbWF0Y2guIFRoZQogICAgICAgICAg
ICAgICAgICAgICAgZnVuY3Rpb24gd2lsbCBiZSBjYWxsZWQgd2l0aCB0aGUgZm9sbG93aW5nIGFy
Z3VtZW50cwogICAgICAgICAgICAgICAgICAgICAgKGluIHRoZSBvcmRlciBsaXN0ZWQpOgogICAg
ICAgICAgICAgICAgICAgICAgICBmOiBmdWxsIHBhdGggdG8gdGhlIGZpbGUvZGlyZWN0b3J5IG1h
dGNoCiAgICAgICAgICAgICAgICAgICAgICAgIHBrZzogdGhlIHBhY2thZ2UgbmFtZQogICAgICAg
ICAgICAgICAgICAgICAgICBmaWxlX3JlZ2V4OiBhcyBhYm92ZQogICAgICAgICAgICAgICAgICAg
ICAgICBvdXRwdXRfcGF0dGVybjogYXMgYWJvdmUKICAgICAgICAgICAgICAgICAgICAgICAgbW9k
dWxlbmFtZTogdGhlIG1vZHVsZSBuYW1lIGRlcml2ZWQgdXNpbmcgZmlsZV9yZWdleAogICAgZXh0
cmFfZGVwZW5kcyAgLS0gZXh0cmEgcnVudGltZSBkZXBlbmRlbmNpZXMgKFJERVBFTkRTKSB0byBi
ZSBzZXQgZm9yCiAgICAgICAgICAgICAgICAgICAgICBhbGwgcGFja2FnZXMuIFRoZSBkZWZhdWx0
IHZhbHVlIG9mIE5vbmUgY2F1c2VzIGEKICAgICAgICAgICAgICAgICAgICAgIGRlcGVuZGVuY3kg
b24gdGhlIG1haW4gcGFja2FnZSAoJHtQTn0pIC0gaWYgeW91IGRvCiAgICAgICAgICAgICAgICAg
ICAgICBub3Qgd2FudCB0aGlzLCBwYXNzICcnIGZvciB0aGlzIHBhcmFtZXRlci4KICAgIGF1eF9m
aWxlc19wYXR0ZXJuIC0tIGV4dHJhIGl0ZW0ocykgdG8gYmUgYWRkZWQgdG8gRklMRVMgZm9yIGVh
Y2gKICAgICAgICAgICAgICAgICAgICAgIHBhY2thZ2UuIENhbiBiZSBhIHNpbmdsZSBzdHJpbmcg
aXRlbSBvciBhIGxpc3Qgb2YKICAgICAgICAgICAgICAgICAgICAgIHN0cmluZ3MgZm9yIG11bHRp
cGxlIGl0ZW1zLiAgTXVzdCBpbmNsdWRlICVzLgogICAgcG9zdHJtICAgICAgICAgLS0gcG9zdHJt
IHNjcmlwdCB0byB1c2UgZm9yIGFsbCBwYWNrYWdlcyAoYXMgYSBzdHJpbmcpCiAgICBhbGxvd19k
aXJzICAgICAtLSBUcnVlIGFsbG93IGRpcmVjdG9yaWVzIHRvIGJlIG1hdGNoZWQgLSBkZWZhdWx0
IEZhbHNlCiAgICBwcmVwZW5kICAgICAgICAtLSBpZiBUcnVlLCBwcmVwZW5kIGNyZWF0ZWQgcGFj
a2FnZXMgdG8gUEFDS0FHRVMgaW5zdGVhZAogICAgICAgICAgICAgICAgICAgICAgb2YgdGhlIGRl
ZmF1bHQgRmFsc2Ugd2hpY2ggYXBwZW5kcyB0aGVtCiAgICBtYXRjaF9wYXRoICAgICAtLSBtYXRj
aCBmaWxlX3JlZ2V4IG9uIHRoZSB3aG9sZSByZWxhdGl2ZSBwYXRoIHRvIHRoZQogICAgICAgICAg
ICAgICAgICAgICAgcm9vdCByYXRoZXIgdGhhbiBqdXN0IHRoZSBmaWxlIG5hbWUKICAgIGF1eF9m
aWxlc19wYXR0ZXJuX3ZlcmJhdGltIC0tIGV4dHJhIGl0ZW0ocykgdG8gYmUgYWRkZWQgdG8gRklM
RVMgZm9yCiAgICAgICAgICAgICAgICAgICAgICBlYWNoIHBhY2thZ2UsIHVzaW5nIHRoZSBhY3R1
YWwgZGVyaXZlZCBtb2R1bGUgbmFtZQogICAgICAgICAgICAgICAgICAgICAgcmF0aGVyIHRoYW4g
Y29udmVydGluZyBpdCB0byBzb21ldGhpbmcgbGVnYWwgZm9yIGEKICAgICAgICAgICAgICAgICAg
ICAgIHBhY2thZ2UgbmFtZS4gQ2FuIGJlIGEgc2luZ2xlIHN0cmluZyBpdGVtIG9yIGEgbGlzdAog
ICAgICAgICAgICAgICAgICAgICAgb2Ygc3RyaW5ncyBmb3IgbXVsdGlwbGUgaXRlbXMuIE11c3Qg
aW5jbHVkZSAlcy4KICAgIGFsbG93X2xpbmtzICAgIC0tIFRydWUgdG8gYWxsb3cgc3ltbGlua3Mg
dG8gYmUgbWF0Y2hlZCAtIGRlZmF1bHQgRmFsc2UKICAgIHN1bW1hcnkgICAgICAgIC0tIFN1bW1h
cnkgdG8gc2V0IGZvciBlYWNoIHBhY2thZ2UuIE11c3QgaW5jbHVkZSAlczsKICAgICAgICAgICAg
ICAgICAgICAgIGRlZmF1bHRzIHRvIGRlc2NyaXB0aW9uIGlmIG5vdCBzZXQuCgogICAgIiIiCgog
ICAgZHZhciA9IGQuZ2V0VmFyKCdQS0dEJykKICAgIHJvb3QgPSBkLmV4cGFuZChyb290KQogICAg
b3V0cHV0X3BhdHRlcm4gPSBkLmV4cGFuZChvdXRwdXRfcGF0dGVybikKICAgIGV4dHJhX2RlcGVu
ZHMgPSBkLmV4cGFuZChleHRyYV9kZXBlbmRzKQoKICAgICMgSWYgdGhlIHJvb3QgZGlyZWN0b3J5
IGRvZXNuJ3QgZXhpc3QsIGRvbid0IGVycm9yIG91dCBsYXRlciBidXQgc2lsZW50bHkgZG8KICAg
ICMgbm8gc3BsaXR0aW5nLgogICAgaWYgbm90IG9zLnBhdGguZXhpc3RzKGR2YXIgKyByb290KToK
ICAgICAgICByZXR1cm4gW10KCiAgICBtbCA9IGQuZ2V0VmFyKCJNTFBSRUZJWCIpCiAgICBpZiBt
bDoKICAgICAgICBpZiBub3Qgb3V0cHV0X3BhdHRlcm4uc3RhcnRzd2l0aChtbCk6CiAgICAgICAg
ICAgIG91dHB1dF9wYXR0ZXJuID0gbWwgKyBvdXRwdXRfcGF0dGVybgoKICAgICAgICBuZXdkZXBz
ID0gW10KICAgICAgICBmb3IgZGVwIGluIChleHRyYV9kZXBlbmRzIG9yICIiKS5zcGxpdCgpOgog
ICAgICAgICAgICBpZiBkZXAuc3RhcnRzd2l0aChtbCk6CiAgICAgICAgICAgICAgICBuZXdkZXBz
LmFwcGVuZChkZXApCiAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICBuZXdkZXBzLmFw
cGVuZChtbCArIGRlcCkKICAgICAgICBpZiBuZXdkZXBzOgogICAgICAgICAgICBleHRyYV9kZXBl
bmRzID0gIiAiLmpvaW4obmV3ZGVwcykKCgogICAgcGFja2FnZXMgPSBkLmdldFZhcignUEFDS0FH
RVMnKS5zcGxpdCgpCiAgICBzcGxpdF9wYWNrYWdlcyA9IHNldCgpCgogICAgaWYgcG9zdGluc3Q6
CiAgICAgICAgcG9zdGluc3QgPSAnIyEvYmluL3NoXG4nICsgcG9zdGluc3QgKyAnXG4nCiAgICBp
ZiBwb3N0cm06CiAgICAgICAgcG9zdHJtID0gJyMhL2Jpbi9zaFxuJyArIHBvc3RybSArICdcbicK
ICAgIGlmIG5vdCByZWN1cnNpdmU6CiAgICAgICAgb2JqcyA9IG9zLmxpc3RkaXIoZHZhciArIHJv
b3QpCiAgICBlbHNlOgogICAgICAgIG9ianMgPSBbXQogICAgICAgIGZvciB3YWxrcm9vdCwgZGly
cywgZmlsZXMgaW4gb3Mud2FsayhkdmFyICsgcm9vdCk6CiAgICAgICAgICAgIGZvciBmaWxlIGlu
IGZpbGVzOgogICAgICAgICAgICAgICAgcmVscGF0aCA9IG9zLnBhdGguam9pbih3YWxrcm9vdCwg
ZmlsZSkucmVwbGFjZShkdmFyICsgcm9vdCArICcvJywgJycsIDEpCiAgICAgICAgICAgICAgICBp
ZiByZWxwYXRoOgogICAgICAgICAgICAgICAgICAgIG9ianMuYXBwZW5kKHJlbHBhdGgpCgogICAg
aWYgZXh0cmFfZGVwZW5kcyA9PSBOb25lOgogICAgICAgIGV4dHJhX2RlcGVuZHMgPSBkLmdldFZh
cigiUE4iKQoKICAgIGlmIG5vdCBzdW1tYXJ5OgogICAgICAgIHN1bW1hcnkgPSBkZXNjcmlwdGlv
bgoKICAgIGZvciBvIGluIHNvcnRlZChvYmpzKToKICAgICAgICBpbXBvcnQgcmUsIHN0YXQKICAg
ICAgICBpZiBtYXRjaF9wYXRoOgogICAgICAgICAgICBtID0gcmUubWF0Y2goZmlsZV9yZWdleCwg
bykKICAgICAgICBlbHNlOgogICAgICAgICAgICBtID0gcmUubWF0Y2goZmlsZV9yZWdleCwgb3Mu
cGF0aC5iYXNlbmFtZShvKSkKCiAgICAgICAgaWYgbm90IG06CiAgICAgICAgICAgIGNvbnRpbnVl
CiAgICAgICAgZiA9IG9zLnBhdGguam9pbihkdmFyICsgcm9vdCwgbykKICAgICAgICBtb2RlID0g
b3MubHN0YXQoZikuc3RfbW9kZQogICAgICAgIGlmIG5vdCAoc3RhdC5TX0lTUkVHKG1vZGUpIG9y
IChhbGxvd19saW5rcyBhbmQgc3RhdC5TX0lTTE5LKG1vZGUpKSBvciAoYWxsb3dfZGlycyBhbmQg
c3RhdC5TX0lTRElSKG1vZGUpKSk6CiAgICAgICAgICAgIGNvbnRpbnVlCiAgICAgICAgb24gPSBs
ZWdpdGltaXplX3BhY2thZ2VfbmFtZShtLmdyb3VwKDEpKQogICAgICAgIHBrZyA9IG91dHB1dF9w
YXR0ZXJuICUgb24KICAgICAgICBzcGxpdF9wYWNrYWdlcy5hZGQocGtnKQogICAgICAgIGlmIG5v
dCBwa2cgaW4gcGFja2FnZXM6CiAgICAgICAgICAgIGlmIHByZXBlbmQ6CiAgICAgICAgICAgICAg
ICBwYWNrYWdlcyA9IFtwa2ddICsgcGFja2FnZXMKICAgICAgICAgICAgZWxzZToKICAgICAgICAg
ICAgICAgIHBhY2thZ2VzLmFwcGVuZChwa2cpCiAgICAgICAgb2xkZmlsZXMgPSBkLmdldFZhcign
RklMRVNfJyArIHBrZykKICAgICAgICBuZXdmaWxlID0gb3MucGF0aC5qb2luKHJvb3QsIG8pCiAg
ICAgICAgIyBUaGVzZSBuYW1lcyB3aWxsIGJlIHBhc3NlZCB0aHJvdWdoIGdsb2IoKSBzbyBpZiB0
aGUgZmlsZW5hbWUgYWN0dWFsbHkKICAgICAgICAjIGNvbnRhaW5zICogb3IgPyAocmFyZSwgYnV0
IHBvc3NpYmxlKSB3ZSBuZWVkIHRvIGhhbmRsZSB0aGF0IHNwZWNpYWxseQogICAgICAgIG5ld2Zp
bGUgPSBuZXdmaWxlLnJlcGxhY2UoJyonLCAnWypdJykKICAgICAgICBuZXdmaWxlID0gbmV3Zmls
ZS5yZXBsYWNlKCc/JywgJ1s/XScpCiAgICAgICAgaWYgbm90IG9sZGZpbGVzOgogICAgICAgICAg
ICB0aGVfZmlsZXMgPSBbbmV3ZmlsZV0KICAgICAgICAgICAgaWYgYXV4X2ZpbGVzX3BhdHRlcm46
CiAgICAgICAgICAgICAgICBpZiB0eXBlKGF1eF9maWxlc19wYXR0ZXJuKSBpcyBsaXN0OgogICAg
ICAgICAgICAgICAgICAgIGZvciBmcCBpbiBhdXhfZmlsZXNfcGF0dGVybjoKICAgICAgICAgICAg
ICAgICAgICAgICAgdGhlX2ZpbGVzLmFwcGVuZChmcCAlIG9uKQogICAgICAgICAgICAgICAgZWxz
ZToKICAgICAgICAgICAgICAgICAgICB0aGVfZmlsZXMuYXBwZW5kKGF1eF9maWxlc19wYXR0ZXJu
ICUgb24pCiAgICAgICAgICAgIGlmIGF1eF9maWxlc19wYXR0ZXJuX3ZlcmJhdGltOgogICAgICAg
ICAgICAgICAgaWYgdHlwZShhdXhfZmlsZXNfcGF0dGVybl92ZXJiYXRpbSkgaXMgbGlzdDoKICAg
ICAgICAgICAgICAgICAgICBmb3IgZnAgaW4gYXV4X2ZpbGVzX3BhdHRlcm5fdmVyYmF0aW06CiAg
ICAgICAgICAgICAgICAgICAgICAgIHRoZV9maWxlcy5hcHBlbmQoZnAgJSBtLmdyb3VwKDEpKQog
ICAgICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICAgICB0aGVfZmlsZXMuYXBwZW5k
KGF1eF9maWxlc19wYXR0ZXJuX3ZlcmJhdGltICUgbS5ncm91cCgxKSkKICAgICAgICAgICAgZC5z
ZXRWYXIoJ0ZJTEVTXycgKyBwa2csICIgIi5qb2luKHRoZV9maWxlcykpCiAgICAgICAgZWxzZToK
ICAgICAgICAgICAgZC5zZXRWYXIoJ0ZJTEVTXycgKyBwa2csIG9sZGZpbGVzICsgIiAiICsgbmV3
ZmlsZSkKICAgICAgICBpZiBleHRyYV9kZXBlbmRzICE9ICcnOgogICAgICAgICAgICBkLmFwcGVu
ZFZhcignUkRFUEVORFNfJyArIHBrZywgJyAnICsgZXh0cmFfZGVwZW5kcykKICAgICAgICBpZiBu
b3QgZC5nZXRWYXIoJ0RFU0NSSVBUSU9OXycgKyBwa2cpOgogICAgICAgICAgICBkLnNldFZhcign
REVTQ1JJUFRJT05fJyArIHBrZywgZGVzY3JpcHRpb24gJSBvbikKICAgICAgICBpZiBub3QgZC5n
ZXRWYXIoJ1NVTU1BUllfJyArIHBrZyk6CiAgICAgICAgICAgIGQuc2V0VmFyKCdTVU1NQVJZXycg
KyBwa2csIHN1bW1hcnkgJSBvbikKICAgICAgICBpZiBwb3N0aW5zdDoKICAgICAgICAgICAgZC5z
ZXRWYXIoJ3BrZ19wb3N0aW5zdF8nICsgcGtnLCBwb3N0aW5zdCkKICAgICAgICBpZiBwb3N0cm06
CiAgICAgICAgICAgIGQuc2V0VmFyKCdwa2dfcG9zdHJtXycgKyBwa2csIHBvc3RybSkKICAgICAg
ICBpZiBjYWxsYWJsZShob29rKToKICAgICAgICAgICAgaG9vayhmLCBwa2csIGZpbGVfcmVnZXgs
IG91dHB1dF9wYXR0ZXJuLCBtLmdyb3VwKDEpKQoKICAgIGQuc2V0VmFyKCdQQUNLQUdFUycsICcg
Jy5qb2luKHBhY2thZ2VzKSkKICAgIHJldHVybiBsaXN0KHNwbGl0X3BhY2thZ2VzKQp9CgoKcHl0
aG9uIGRvX3VucGFjayAoKSB7CiAgICBiYi5idWlsZC5leGVjX2Z1bmMoJ2Jhc2VfZG9fdW5wYWNr
JywgZCkKfQoKCnB5dGhvbiBlbWl0X3BrZ2RhdGEgKCkgewogICAgZnJvbSBnbG9iIGltcG9ydCBn
bG9iCiAgICBpbXBvcnQganNvbgoKICAgIGRlZiB3cml0ZV9pZl9leGlzdHMoZiwgcGtnLCB2YXIp
OgogICAgICAgIGRlZiBlbmNvZGUoc3RyKToKICAgICAgICAgICAgaW1wb3J0IGNvZGVjcwogICAg
ICAgICAgICBjID0gY29kZWNzLmdldGVuY29kZXIoInVuaWNvZGVfZXNjYXBlIikKICAgICAgICAg
ICAgcmV0dXJuIGMoc3RyKVswXS5kZWNvZGUoImxhdGluMSIpCgogICAgICAgIHZhbCA9IGQuZ2V0
VmFyKCclc18lcycgJSAodmFyLCBwa2cpKQogICAgICAgIGlmIHZhbDoKICAgICAgICAgICAgZi53
cml0ZSgnJXNfJXM6ICVzXG4nICUgKHZhciwgcGtnLCBlbmNvZGUodmFsKSkpCiAgICAgICAgICAg
IHJldHVybiB2YWwKICAgICAgICB2YWwgPSBkLmdldFZhcignJXMnICUgKHZhcikpCiAgICAgICAg
aWYgdmFsOgogICAgICAgICAgICBmLndyaXRlKCclczogJXNcbicgJSAodmFyLCBlbmNvZGUodmFs
KSkpCiAgICAgICAgcmV0dXJuIHZhbAoKICAgIGRlZiB3cml0ZV9leHRyYV9wa2dzKHZhcmlhbnRz
LCBwbiwgcGFja2FnZXMsIHBrZ2RhdGFkaXIpOgogICAgICAgIGZvciB2YXJpYW50IGluIHZhcmlh
bnRzOgogICAgICAgICAgICB3aXRoIG9wZW4oIiVzLyVzLSVzIiAlIChwa2dkYXRhZGlyLCB2YXJp
YW50LCBwbiksICd3JykgYXMgZmQ6CiAgICAgICAgICAgICAgICBmZC53cml0ZSgiUEFDS0FHRVM6
ICVzXG4iICUgJyAnLmpvaW4oCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXAobGFtYmRh
IHBrZzogJyVzLSVzJyAlICh2YXJpYW50LCBwa2cpLCBwYWNrYWdlcy5zcGxpdCgpKSkpCgogICAg
ZGVmIHdyaXRlX2V4dHJhX3J1bnRpbWVfcGtncyh2YXJpYW50cywgcGFja2FnZXMsIHBrZ2RhdGFk
aXIpOgogICAgICAgIGZvciB2YXJpYW50IGluIHZhcmlhbnRzOgogICAgICAgICAgICBmb3IgcGtn
IGluIHBhY2thZ2VzLnNwbGl0KCk6CiAgICAgICAgICAgICAgICBtbF9wa2cgPSAiJXMtJXMiICUg
KHZhcmlhbnQsIHBrZykKICAgICAgICAgICAgICAgIHN1YmRhdGFfZmlsZSA9ICIlcy9ydW50aW1l
LyVzIiAlIChwa2dkYXRhZGlyLCBtbF9wa2cpCiAgICAgICAgICAgICAgICB3aXRoIG9wZW4oc3Vi
ZGF0YV9maWxlLCAndycpIGFzIGZkOgogICAgICAgICAgICAgICAgICAgIGZkLndyaXRlKCJQS0df
JXM6ICVzIiAlIChtbF9wa2csIHBrZykpCgogICAgcGFja2FnZXMgPSBkLmdldFZhcignUEFDS0FH
RVMnKQogICAgcGtnZGVzdCA9IGQuZ2V0VmFyKCdQS0dERVNUJykKICAgIHBrZ2RhdGFkaXIgPSBk
LmdldFZhcignUEtHREVTVFdPUksnKQoKICAgICMgVGFrZSBzaGFyZWQgbG9jayBzaW5jZSB3ZSdy
ZSBvbmx5IHJlYWRpbmcsIG5vdCB3cml0aW5nCiAgICBsZiA9IGJiLnV0aWxzLmxvY2tmaWxlKGQu
ZXhwYW5kKCIke1BBQ0tBR0VMT0NLfSIpLCBUcnVlKQoKICAgIGRhdGFfZmlsZSA9IHBrZ2RhdGFk
aXIgKyBkLmV4cGFuZCgiLyR7UE59IiApCiAgICBmID0gb3BlbihkYXRhX2ZpbGUsICd3JykKICAg
IGYud3JpdGUoIlBBQ0tBR0VTOiAlc1xuIiAlIHBhY2thZ2VzKQogICAgZi5jbG9zZSgpCgogICAg
cG4gPSBkLmdldFZhcignUE4nKQogICAgZ2xvYmFsX3ZhcmlhbnRzID0gKGQuZ2V0VmFyKCdNVUxU
SUxJQl9HTE9CQUxfVkFSSUFOVFMnKSBvciAiIikuc3BsaXQoKQogICAgdmFyaWFudHMgPSAoZC5n
ZXRWYXIoJ01VTFRJTElCX1ZBUklBTlRTJykgb3IgIiIpLnNwbGl0KCkKCiAgICBpZiBiYi5kYXRh
LmluaGVyaXRzX2NsYXNzKCdrZXJuZWwnLCBkKSBvciBiYi5kYXRhLmluaGVyaXRzX2NsYXNzKCdt
b2R1bGUtYmFzZScsIGQpOgogICAgICAgIHdyaXRlX2V4dHJhX3BrZ3ModmFyaWFudHMsIHBuLCBw
YWNrYWdlcywgcGtnZGF0YWRpcikKCiAgICBpZiAoYmIuZGF0YS5pbmhlcml0c19jbGFzcygnYWxs
YXJjaCcsIGQpIGFuZCBub3QgYmIuZGF0YS5pbmhlcml0c19jbGFzcygncGFja2FnZWdyb3VwJywg
ZCkpOgogICAgICAgIHdyaXRlX2V4dHJhX3BrZ3MoZ2xvYmFsX3ZhcmlhbnRzLCBwbiwgcGFja2Fn
ZXMsIHBrZ2RhdGFkaXIpCgogICAgd29ya2RpciA9IGQuZ2V0VmFyKCdXT1JLRElSJykKCiAgICBm
b3IgcGtnIGluIHBhY2thZ2VzLnNwbGl0KCk6CiAgICAgICAgcGtndmFsID0gZC5nZXRWYXIoJ1BL
R18lcycgJSBwa2cpCiAgICAgICAgaWYgcGtndmFsIGlzIE5vbmU6CiAgICAgICAgICAgIHBrZ3Zh
bCA9IHBrZwogICAgICAgICAgICBkLnNldFZhcignUEtHXyVzJyAlIHBrZywgcGtnKQoKICAgICAg
ICBwa2dkZXN0cGtnID0gb3MucGF0aC5qb2luKHBrZ2Rlc3QsIHBrZykKICAgICAgICBmaWxlcyA9
IHt9CiAgICAgICAgdG90YWxfc2l6ZSA9IDAKICAgICAgICBzZWVuID0gc2V0KCkKICAgICAgICBm
b3IgZiBpbiBwa2dmaWxlc1twa2ddOgogICAgICAgICAgICByZWxwdGggPSBvcy5wYXRoLnJlbHBh
dGgoZiwgcGtnZGVzdHBrZykKICAgICAgICAgICAgZnN0YXQgPSBvcy5sc3RhdChmKQogICAgICAg
ICAgICBmaWxlc1tvcy5zZXAgKyByZWxwdGhdID0gZnN0YXQuc3Rfc2l6ZQogICAgICAgICAgICBp
ZiBmc3RhdC5zdF9pbm8gbm90IGluIHNlZW46CiAgICAgICAgICAgICAgICBzZWVuLmFkZChmc3Rh
dC5zdF9pbm8pCiAgICAgICAgICAgICAgICB0b3RhbF9zaXplICs9IGZzdGF0LnN0X3NpemUKICAg
ICAgICBkLnNldFZhcignRklMRVNfSU5GTycsIGpzb24uZHVtcHMoZmlsZXMpKQoKICAgICAgICBz
dWJkYXRhX2ZpbGUgPSBwa2dkYXRhZGlyICsgIi9ydW50aW1lLyVzIiAlIHBrZwogICAgICAgIHNm
ID0gb3BlbihzdWJkYXRhX2ZpbGUsICd3JykKICAgICAgICB3cml0ZV9pZl9leGlzdHMoc2YsIHBr
ZywgJ1BOJykKICAgICAgICB3cml0ZV9pZl9leGlzdHMoc2YsIHBrZywgJ1BFJykKICAgICAgICB3
cml0ZV9pZl9leGlzdHMoc2YsIHBrZywgJ1BWJykKICAgICAgICB3cml0ZV9pZl9leGlzdHMoc2Ys
IHBrZywgJ1BSJykKICAgICAgICB3cml0ZV9pZl9leGlzdHMoc2YsIHBrZywgJ1BLR0UnKQogICAg
ICAgIHdyaXRlX2lmX2V4aXN0cyhzZiwgcGtnLCAnUEtHVicpCiAgICAgICAgd3JpdGVfaWZfZXhp
c3RzKHNmLCBwa2csICdQS0dSJykKICAgICAgICB3cml0ZV9pZl9leGlzdHMoc2YsIHBrZywgJ0xJ
Q0VOU0UnKQogICAgICAgIHdyaXRlX2lmX2V4aXN0cyhzZiwgcGtnLCAnREVTQ1JJUFRJT04nKQog
ICAgICAgIHdyaXRlX2lmX2V4aXN0cyhzZiwgcGtnLCAnU1VNTUFSWScpCiAgICAgICAgd3JpdGVf
aWZfZXhpc3RzKHNmLCBwa2csICdSREVQRU5EUycpCiAgICAgICAgcnByb3YgPSB3cml0ZV9pZl9l
eGlzdHMoc2YsIHBrZywgJ1JQUk9WSURFUycpCiAgICAgICAgd3JpdGVfaWZfZXhpc3RzKHNmLCBw
a2csICdSUkVDT01NRU5EUycpCiAgICAgICAgd3JpdGVfaWZfZXhpc3RzKHNmLCBwa2csICdSU1VH
R0VTVFMnKQogICAgICAgIHdyaXRlX2lmX2V4aXN0cyhzZiwgcGtnLCAnUlJFUExBQ0VTJykKICAg
ICAgICB3cml0ZV9pZl9leGlzdHMoc2YsIHBrZywgJ1JDT05GTElDVFMnKQogICAgICAgIHdyaXRl
X2lmX2V4aXN0cyhzZiwgcGtnLCAnU0VDVElPTicpCiAgICAgICAgd3JpdGVfaWZfZXhpc3RzKHNm
LCBwa2csICdQS0cnKQogICAgICAgIHdyaXRlX2lmX2V4aXN0cyhzZiwgcGtnLCAnQUxMT1dfRU1Q
VFknKQogICAgICAgIHdyaXRlX2lmX2V4aXN0cyhzZiwgcGtnLCAnRklMRVMnKQogICAgICAgIHdy
aXRlX2lmX2V4aXN0cyhzZiwgcGtnLCAnQ09ORkZJTEVTJykKICAgICAgICB3cml0ZV9pZl9leGlz
dHMoc2YsIHBrZywgJ3BrZ19wb3N0aW5zdCcpCiAgICAgICAgd3JpdGVfaWZfZXhpc3RzKHNmLCBw
a2csICdwa2dfcG9zdHJtJykKICAgICAgICB3cml0ZV9pZl9leGlzdHMoc2YsIHBrZywgJ3BrZ19w
cmVpbnN0JykKICAgICAgICB3cml0ZV9pZl9leGlzdHMoc2YsIHBrZywgJ3BrZ19wcmVybScpCiAg
ICAgICAgd3JpdGVfaWZfZXhpc3RzKHNmLCBwa2csICdGSUxFUlBST1ZJREVTRkxJU1QnKQogICAg
ICAgIHdyaXRlX2lmX2V4aXN0cyhzZiwgcGtnLCAnRklMRVNfSU5GTycpCiAgICAgICAgZm9yIGRm
aWxlIGluIChkLmdldFZhcignRklMRVJQUk9WSURFU0ZMSVNUXycgKyBwa2cpIG9yICIiKS5zcGxp
dCgpOgogICAgICAgICAgICB3cml0ZV9pZl9leGlzdHMoc2YsIHBrZywgJ0ZJTEVSUFJPVklERVNf
JyArIGRmaWxlKQoKICAgICAgICB3cml0ZV9pZl9leGlzdHMoc2YsIHBrZywgJ0ZJTEVSREVQRU5E
U0ZMSVNUJykKICAgICAgICBmb3IgZGZpbGUgaW4gKGQuZ2V0VmFyKCdGSUxFUkRFUEVORFNGTElT
VF8nICsgcGtnKSBvciAiIikuc3BsaXQoKToKICAgICAgICAgICAgd3JpdGVfaWZfZXhpc3RzKHNm
LCBwa2csICdGSUxFUkRFUEVORFNfJyArIGRmaWxlKQoKICAgICAgICBzZi53cml0ZSgnJXNfJXM6
ICVkXG4nICUgKCdQS0dTSVpFJywgcGtnLCB0b3RhbF9zaXplKSkKICAgICAgICBzZi5jbG9zZSgp
CgogICAgICAgICMgU3ltbGlua3MgbmVlZGVkIGZvciBycHJvdmlkZXMgbG9va3VwCiAgICAgICAg
aWYgcnByb3Y6CiAgICAgICAgICAgIGZvciBwIGluIHJwcm92LnN0cmlwKCkuc3BsaXQoKToKICAg
ICAgICAgICAgICAgIHN1YmRhdGFfc3ltID0gcGtnZGF0YWRpciArICIvcnVudGltZS1ycHJvdmlk
ZXMvJXMvJXMiICUgKHAsIHBrZykKICAgICAgICAgICAgICAgIGJiLnV0aWxzLm1rZGlyaGllcihv
cy5wYXRoLmRpcm5hbWUoc3ViZGF0YV9zeW0pKQogICAgICAgICAgICAgICAgb2UucGF0aC5zeW1s
aW5rKCIuLi8uLi9ydW50aW1lLyVzIiAlIHBrZywgc3ViZGF0YV9zeW0sIFRydWUpCgogICAgICAg
IGFsbG93X2VtcHR5ID0gZC5nZXRWYXIoJ0FMTE9XX0VNUFRZXyVzJyAlIHBrZykKICAgICAgICBp
ZiBub3QgYWxsb3dfZW1wdHk6CiAgICAgICAgICAgIGFsbG93X2VtcHR5ID0gZC5nZXRWYXIoJ0FM
TE9XX0VNUFRZJykKICAgICAgICByb290ID0gIiVzLyVzIiAlIChwa2dkZXN0LCBwa2cpCiAgICAg
ICAgb3MuY2hkaXIocm9vdCkKICAgICAgICBnID0gZ2xvYignKicpCiAgICAgICAgaWYgZyBvciBh
bGxvd19lbXB0eSA9PSAiMSI6CiAgICAgICAgICAgICMgU3ltbGlua3MgbmVlZGVkIGZvciByZXZl
cnNlIGxvb2t1cHMgKGZyb20gdGhlIGZpbmFsIHBhY2thZ2UgbmFtZSkKICAgICAgICAgICAgc3Vi
ZGF0YV9zeW0gPSBwa2dkYXRhZGlyICsgIi9ydW50aW1lLXJldmVyc2UvJXMiICUgcGtndmFsCiAg
ICAgICAgICAgIG9lLnBhdGguc3ltbGluaygiLi4vcnVudGltZS8lcyIgJSBwa2csIHN1YmRhdGFf
c3ltLCBUcnVlKQoKICAgICAgICAgICAgcGFja2FnZWRmaWxlID0gcGtnZGF0YWRpciArICcvcnVu
dGltZS8lcy5wYWNrYWdlZCcgJSBwa2cKICAgICAgICAgICAgb3BlbihwYWNrYWdlZGZpbGUsICd3
JykuY2xvc2UoKQoKICAgIGlmIGJiLmRhdGEuaW5oZXJpdHNfY2xhc3MoJ2tlcm5lbCcsIGQpIG9y
IGJiLmRhdGEuaW5oZXJpdHNfY2xhc3MoJ21vZHVsZS1iYXNlJywgZCk6CiAgICAgICAgd3JpdGVf
ZXh0cmFfcnVudGltZV9wa2dzKHZhcmlhbnRzLCBwYWNrYWdlcywgcGtnZGF0YWRpcikKCiAgICBp
ZiBiYi5kYXRhLmluaGVyaXRzX2NsYXNzKCdhbGxhcmNoJywgZCkgYW5kIG5vdCBiYi5kYXRhLmlu
aGVyaXRzX2NsYXNzKCdwYWNrYWdlZ3JvdXAnLCBkKToKICAgICAgICB3cml0ZV9leHRyYV9ydW50
aW1lX3BrZ3MoZ2xvYmFsX3ZhcmlhbnRzLCBwYWNrYWdlcywgcGtnZGF0YWRpcikKCiAgICBiYi51
dGlscy51bmxvY2tmaWxlKGxmKQp9CgoKcHl0aG9uIGVtaXRfdGVybWluYWxfZnVuYyAoKSB7CmRl
ZiBlbWl0X3Rlcm1pbmFsX2Z1bmMoY29tbWFuZCwgZW52ZGF0YSwgZCk6CiAgICBjbWRfZnVuYyA9
ICdkb190ZXJtaW5hbCcKCiAgICBlbnZkYXRhLnNldFZhcihjbWRfZnVuYywgJ2V4ZWMgJyArIGNv
bW1hbmQpCiAgICBlbnZkYXRhLnNldFZhckZsYWcoY21kX2Z1bmMsICdmdW5jJywgJzEnKQoKICAg
IHJ1bmZtdCA9IGQuZ2V0VmFyKCdCQl9SVU5GTVQnKSBvciAicnVuLntmdW5jfS57cGlkfSIKICAg
IHJ1bmZpbGUgPSBydW5mbXQuZm9ybWF0KGZ1bmM9Y21kX2Z1bmMsIHRhc2s9Y21kX2Z1bmMsIHRh
c2tmdW5jPWNtZF9mdW5jLCBwaWQ9b3MuZ2V0cGlkKCkpCiAgICBydW5maWxlID0gb3MucGF0aC5q
b2luKGQuZ2V0VmFyKCdUJyksIHJ1bmZpbGUpCiAgICBiYi51dGlscy5ta2RpcmhpZXIob3MucGF0
aC5kaXJuYW1lKHJ1bmZpbGUpKQoKICAgIHdpdGggb3BlbihydW5maWxlLCAndycpIGFzIHNjcmlw
dDoKICAgICAgICBzY3JpcHQud3JpdGUoJyMhL2Jpbi9zaCAtZVxuJykKICAgICAgICBiYi5kYXRh
LmVtaXRfZnVuYyhjbWRfZnVuYywgc2NyaXB0LCBlbnZkYXRhKQogICAgICAgIHNjcmlwdC53cml0
ZShjbWRfZnVuYykKICAgICAgICBzY3JpcHQud3JpdGUoIlxuIikKICAgIG9zLmNobW9kKHJ1bmZp
bGUsIDBvNzU1KQoKICAgIHJldHVybiBydW5maWxlCn0KCgpweXRob24gZW5hYmxlX3VuaW5hdGl2
ZSAoKSB7CmRlZiBlbmFibGVfdW5pbmF0aXZlKGQpOgogICAgbG9hZGVyID0gZC5nZXRWYXIoIlVO
SU5BVElWRV9MT0FERVIiKQogICAgaWYgb3MucGF0aC5leGlzdHMobG9hZGVyKToKICAgICAgICBi
Yi5kZWJ1ZygyLCAiRW5hYmxpbmcgdW5pbmF0aXZlIikKICAgICAgICBkLnNldFZhcigiTkFUSVZF
TFNCU1RSSU5HIiwgInVuaXZlcnNhbCVzIiAlIG9lLnV0aWxzLmhvc3RfZ2NjX3ZlcnNpb24oZCkp
CiAgICAgICAgZC5hcHBlbmRWYXIoIlNTVEFURVBPU1RVTlBBQ0tGVU5DUyIsICIgdW5pbmF0aXZl
X2NoYW5nZWludGVycCIpCiAgICAgICAgZC5hcHBlbmRWYXJGbGFnKCJTU1RBVEVQT1NUVU5QQUNL
RlVOQ1MiLCAidmFyZGVwdmFsdWVleGNsdWRlIiwgInwgdW5pbmF0aXZlX2NoYW5nZWludGVycCIp
CiAgICAgICAgZC5wcmVwZW5kVmFyKCJQQVRIIiwgIiR7U1RBR0lOR19ESVJ9LXVuaW5hdGl2ZS8k
e0JVSUxEX0FSQ0h9LWxpbnV4JHtiaW5kaXJfbmF0aXZlfToiKQp9CgoKcHl0aG9uIGV4cGFuZF93
aWxkY2FyZF9saWNlbnNlcyAoKSB7CmRlZiBleHBhbmRfd2lsZGNhcmRfbGljZW5zZXMoZCwgd2ls
ZGNhcmRfbGljZW5zZXMpOgogICAgIiIiCiAgICBSZXR1cm4gYWN0dWFsIHNwZHggZm9ybWF0IGxp
Y2Vuc2UgbmFtZXMgaWYgd2lsZGNhcmQgdXNlZC4gV2UgZXhwYW5kCiAgICB3aWxkY2FyZHMgZnJv
bSBTUERYTElDRU5TRU1BUCBmbGFncyBhbmQgU1JDX0RJU1RSSUJVVEVfTElDRU5TRVMgdmFsdWVz
LgogICAgIiIiCiAgICBpbXBvcnQgZm5tYXRjaAogICAgbGljZW5zZXMgPSBbXQogICAgc3BkeG1h
cGtleXMgPSBkLmdldFZhckZsYWdzKCdTUERYTElDRU5TRU1BUCcpLmtleXMoKQogICAgZm9yIHds
ZF9saWMgaW4gd2lsZGNhcmRfbGljZW5zZXM6CiAgICAgICAgc3BkeGZsYWdzID0gZm5tYXRjaC5m
aWx0ZXIoc3BkeG1hcGtleXMsIHdsZF9saWMpCiAgICAgICAgbGljZW5zZXMgKz0gW2QuZ2V0VmFy
RmxhZygnU1BEWExJQ0VOU0VNQVAnLCBmbGFnKSBmb3IgZmxhZyBpbiBzcGR4ZmxhZ3NdCgogICAg
c3BkeF9saWNzID0gKGQuZ2V0VmFyKCdTUkNfRElTVFJJQlVURV9MSUNFTlNFUycsIEZhbHNlKSBv
ciAnJykuc3BsaXQoKQogICAgZm9yIHdsZF9saWMgaW4gd2lsZGNhcmRfbGljZW5zZXM6CiAgICAg
ICAgbGljZW5zZXMgKz0gZm5tYXRjaC5maWx0ZXIoc3BkeF9saWNzLCB3bGRfbGljKQoKICAgIGxp
Y2Vuc2VzID0gbGlzdChzZXQobGljZW5zZXMpKQogICAgcmV0dXJuIGxpY2Vuc2VzCn0KCgpweXRo
b24gZXhwbG9kZV9kZXBzICgpIHsKZGVmIGV4cGxvZGVfZGVwcyhzKToKICAgIHJldHVybiBiYi51
dGlscy5leHBsb2RlX2RlcHMocykKfQoKCnB5dGhvbiBleHRlbmRfcmVjaXBlX3N5c3Jvb3QgKCkg
ewogICAgaW1wb3J0IGNvcHkKICAgIGltcG9ydCBzdWJwcm9jZXNzCiAgICBpbXBvcnQgZXJybm8K
ICAgIGltcG9ydCBjb2xsZWN0aW9ucwogICAgaW1wb3J0IGdsb2IKCiAgICB0YXNrZGVwZGF0YSA9
IGQuZ2V0VmFyKCJCQl9UQVNLREVQREFUQSIsIEZhbHNlKQogICAgbXl0YXNrbmFtZSA9IGQuZ2V0
VmFyKCJCQl9SVU5UQVNLIikKICAgIGlmIG15dGFza25hbWUuZW5kc3dpdGgoIl9zZXRzY2VuZSIp
OgogICAgICAgIG15dGFza25hbWUgPSBteXRhc2tuYW1lLnJlcGxhY2UoIl9zZXRzY2VuZSIsICIi
KQogICAgd29ya2RpciA9IGQuZ2V0VmFyKCJXT1JLRElSIikKICAgICNiYi53YXJuKHN0cih0YXNr
ZGVwZGF0YSkpCiAgICBwbiA9IGQuZ2V0VmFyKCJQTiIpCgogICAgc3RhZ2luZ2RpciA9IGQuZ2V0
VmFyKCJTVEFHSU5HX0RJUiIpCiAgICBzaGFyZWRtYW5pZmVzdHMgPSBkLmdldFZhcigiQ09NUE9O
RU5UU19ESVIiKSArICIvbWFuaWZlc3RzIgogICAgcmVjaXBlc3lzcm9vdCA9IGQuZ2V0VmFyKCJS
RUNJUEVfU1lTUk9PVCIpCiAgICByZWNpcGVzeXNyb290bmF0aXZlID0gZC5nZXRWYXIoIlJFQ0lQ
RV9TWVNST09UX05BVElWRSIpCiAgICBjdXJyZW50X3ZhcmlhbnQgPSBkLmdldFZhcigiQkJFWFRF
TkRWQVJJQU5UIikKCiAgICAjIERldGVjdCBiaXRiYWtlIC1iIHVzYWdlCiAgICBub2RlcHMgPSBk
LmdldFZhcigiQkJfTElNSVRFRERFUFMiKSBvciBGYWxzZQogICAgaWYgbm9kZXBzOgogICAgICAg
IGxvY2sgPSBiYi51dGlscy5sb2NrZmlsZShyZWNpcGVzeXNyb290ICsgIi9zeXNyb290LmxvY2si
KQogICAgICAgIHN0YWdpbmdfcG9wdWxhdGVfc3lzcm9vdF9kaXIocmVjaXBlc3lzcm9vdCwgcmVj
aXBlc3lzcm9vdG5hdGl2ZSwgVHJ1ZSwgZCkKICAgICAgICBzdGFnaW5nX3BvcHVsYXRlX3N5c3Jv
b3RfZGlyKHJlY2lwZXN5c3Jvb3QsIHJlY2lwZXN5c3Jvb3RuYXRpdmUsIEZhbHNlLCBkKQogICAg
ICAgIGJiLnV0aWxzLnVubG9ja2ZpbGUobG9jaykKICAgICAgICByZXR1cm4KCiAgICBzdGFydCA9
IE5vbmUKICAgIGNvbmZpZ3VyZWRlcHMgPSBbXQogICAgZm9yIGRlcCBpbiB0YXNrZGVwZGF0YToK
ICAgICAgICBkYXRhID0gdGFza2RlcGRhdGFbZGVwXQogICAgICAgIGlmIGRhdGFbMV0gPT0gbXl0
YXNrbmFtZSBhbmQgZGF0YVswXSA9PSBwbjoKICAgICAgICAgICAgc3RhcnQgPSBkZXAKICAgICAg
ICAgICAgYnJlYWsKICAgIGlmIHN0YXJ0IGlzIE5vbmU6CiAgICAgICAgYmIuZmF0YWwoIkNvdWxk
bid0IGZpbmQgb3Vyc2VsZiBpbiBCQl9UQVNLREVQREFUQT8iKQoKICAgICMgV2UgbmVlZCB0byBm
aWd1cmUgb3V0IHdoaWNoIHN5c3Jvb3QgZmlsZXMgd2UgbmVlZCB0byBleHBvc2UgdG8gdGhpcyB0
YXNrLgogICAgIyBUaGlzIG5lZWRzIHRvIG1hdGNoIHdoYXQgd291bGQgZ2V0IHJlc3RvcmVkIGZy
b20gc3N0YXRlLCB3aGljaCBpcyBjb250cm9sbGVkCiAgICAjIHVsdGltYXRlbHkgYnkgY2FsbHMg
ZnJvbSBiaXRiYWtlIHRvIHNldHNjZW5lX2RlcHZhbGlkKCkuCiAgICAjIFRoYXQgZnVuY3Rpb24g
ZXhwZWN0cyBhIHNldHNjZW5lIGRlcGVuZGVuY3kgdHJlZS4gV2UgYnVpbGQgYSBkZXBlbmRlbmN5
IHRyZWUKICAgICMgY29uZGVuc2VkIHRvIGludGVyLXNzdGF0ZSB0YXNrIGRlcGVuZGVuY2llcywg
c2ltaWxhciB0byB0aGF0IHVzZWQgYnkgc2V0c2NlbmUKICAgICMgdGFza3MuIFdlIGNhbiB0aGVu
IGNhbGwgaW50byBzZXRzY2VuZV9kZXB2YWxpZCgpIGFuZCBkZWNpZGUKICAgICMgd2hpY2ggZGVw
ZW5kZW5jaWVzIHdlIGNhbiAic2VlIiBhbmQgc2hvdWxkIGV4cG9zZSBpbiB0aGUgcmVjaXBlIHNw
ZWNpZmljIHN5c3Jvb3QuCiAgICBzZXRzY2VuZWRlcHMgPSBjb3B5LmRlZXBjb3B5KHRhc2tkZXBk
YXRhKQoKICAgIHN0YXJ0ID0gc2V0KFtzdGFydF0pCgogICAgc3N0YXRldGFza3MgPSBkLmdldFZh
cigiU1NUQVRFVEFTS1MiKS5zcGxpdCgpCgogICAgZGVmIHByaW50X2RlcF90cmVlKGRlcHRyZWUp
OgogICAgICAgIGRhdGEgPSAiIgogICAgICAgIGZvciBkZXAgaW4gZGVwdHJlZToKICAgICAgICAg
ICAgZGVwcyA9ICIgICAgIiArICJcbiAgICAiLmpvaW4oZGVwdHJlZVtkZXBdWzNdKSArICJcbiIK
ICAgICAgICAgICAgZGF0YSA9ICIlczpcbiAgJXNcbiAgJXNcbiVzICAlc1xuICAlc1xuIiAlIChk
ZXB0cmVlW2RlcF1bMF0sIGRlcHRyZWVbZGVwXVsxXSwgZGVwdHJlZVtkZXBdWzJdLCBkZXBzLCBk
ZXB0cmVlW2RlcF1bNF0sIGRlcHRyZWVbZGVwXVs1XSkKICAgICAgICByZXR1cm4gZGF0YQoKICAg
ICNiYi5ub3RlKCJGdWxsIGRlcCB0cmVlIGlzOlxuJXMiICUgcHJpbnRfZGVwX3RyZWUodGFza2Rl
cGRhdGEpKQoKICAgICNiYi5ub3RlKCIgc3RhcnQyIGlzICVzIiAlIHN0cihzdGFydCkpCgogICAg
IyBJZiBzdGFydCBpcyBhbiBzc3RhdGUgdGFzayAobGlrZSBkb19wYWNrYWdlKSB3ZSBuZWVkIHRv
IGFkZCBpbiBpdHMgZGlyZWN0IGRlcGVuZGVuY2llcwogICAgIyBlbHNlIHRoZSBjb2RlIGJlbG93
IHdvbid0IHJlY3Vyc2UgaW50byB0aGVtLgogICAgZm9yIGRlcCBpbiBzZXQoc3RhcnQpOgogICAg
ICAgIGZvciBkZXAyIGluIHNldHNjZW5lZGVwc1tkZXBdWzNdOgogICAgICAgICAgICBzdGFydC5h
ZGQoZGVwMikKICAgICAgICBzdGFydC5yZW1vdmUoZGVwKQoKICAgICNiYi5ub3RlKCIgc3RhcnQz
IGlzICVzIiAlIHN0cihzdGFydCkpCgogICAgIyBDcmVhdGUgY29sbGFwc2VkIGRvX3BvcHVsYXRl
X3N5c3Jvb3QgLT4gZG9fcG9wdWxhdGVfc3lzcm9vdCB0cmVlCiAgICBmb3IgZGVwIGluIHRhc2tk
ZXBkYXRhOgogICAgICAgIGRhdGEgPSBzZXRzY2VuZWRlcHNbZGVwXQogICAgICAgIGlmIGRhdGFb
MV0gbm90IGluIHNzdGF0ZXRhc2tzOgogICAgICAgICAgICBmb3IgZGVwMiBpbiBzZXRzY2VuZWRl
cHM6CiAgICAgICAgICAgICAgICBkYXRhMiA9IHNldHNjZW5lZGVwc1tkZXAyXQogICAgICAgICAg
ICAgICAgaWYgZGVwIGluIGRhdGEyWzNdOgogICAgICAgICAgICAgICAgICAgIGRhdGEyWzNdLnVw
ZGF0ZShzZXRzY2VuZWRlcHNbZGVwXVszXSkKICAgICAgICAgICAgICAgICAgICBkYXRhMlszXS5y
ZW1vdmUoZGVwKQogICAgICAgICAgICBpZiBkZXAgaW4gc3RhcnQ6CiAgICAgICAgICAgICAgICBz
dGFydC51cGRhdGUoc2V0c2NlbmVkZXBzW2RlcF1bM10pCiAgICAgICAgICAgICAgICBzdGFydC5y
ZW1vdmUoZGVwKQogICAgICAgICAgICBkZWwgc2V0c2NlbmVkZXBzW2RlcF0KCiAgICAjIFJlbW92
ZSBjaXJjdWxhciByZWZlcmVuY2VzCiAgICBmb3IgZGVwIGluIHNldHNjZW5lZGVwczoKICAgICAg
ICBpZiBkZXAgaW4gc2V0c2NlbmVkZXBzW2RlcF1bM106CiAgICAgICAgICAgIHNldHNjZW5lZGVw
c1tkZXBdWzNdLnJlbW92ZShkZXApCgogICAgI2JiLm5vdGUoIkNvbXB1dGVkIGRlcCB0cmVlIGlz
OlxuJXMiICUgcHJpbnRfZGVwX3RyZWUoc2V0c2NlbmVkZXBzKSkKICAgICNiYi5ub3RlKCIgc3Rh
cnQgaXMgJXMiICUgc3RyKHN0YXJ0KSkKCiAgICAjIERpcmVjdCBkZXBlbmRlbmNpZXMgc2hvdWxk
IGJlIHByZXNlbnQgYW5kIGNhbiBiZSBkZXBlbmRlZCB1cG9uCiAgICBmb3IgZGVwIGluIHNldChz
dGFydCk6CiAgICAgICAgaWYgc2V0c2NlbmVkZXBzW2RlcF1bMV0gPT0gImRvX3BvcHVsYXRlX3N5
c3Jvb3QiOgogICAgICAgICAgICBpZiBkZXAgbm90IGluIGNvbmZpZ3VyZWRlcHM6CiAgICAgICAg
ICAgICAgICBjb25maWd1cmVkZXBzLmFwcGVuZChkZXApCiAgICBiYi5ub3RlKCJEaXJlY3QgZGVw
ZW5kZW5jaWVzIGFyZSAlcyIgJSBzdHIoY29uZmlndXJlZGVwcykpCiAgICAjYmIubm90ZSgiIG9y
ICVzIiAlIHN0cihzdGFydCkpCgogICAgbXNnYnVmID0gW10KICAgICMgQ2FsbCBpbnRvIHNldHNj
ZW5lX2RlcHZhbGlkIGZvciBlYWNoIHN1Yi1kZXBlbmRlbmN5IGFuZCBvbmx5IGNvcHkgc3lzcm9v
dCBmaWxlcwogICAgIyBmb3Igb25lcyB0aGF0IHdvdWxkIGJlIHJlc3RvcmVkIGZyb20gc3N0YXRl
LgogICAgZG9uZSA9IGxpc3Qoc3RhcnQpCiAgICBuZXh0ID0gbGlzdChzdGFydCkKICAgIHdoaWxl
IG5leHQ6CiAgICAgICAgbmV3ID0gW10KICAgICAgICBmb3IgZGVwIGluIG5leHQ6CiAgICAgICAg
ICAgIGRhdGEgPSBzZXRzY2VuZWRlcHNbZGVwXQogICAgICAgICAgICBmb3IgZGF0YWRlcCBpbiBk
YXRhWzNdOgogICAgICAgICAgICAgICAgaWYgZGF0YWRlcCBpbiBkb25lOgogICAgICAgICAgICAg
ICAgICAgIGNvbnRpbnVlCiAgICAgICAgICAgICAgICB0YXNrZGVwcyA9IHt9CiAgICAgICAgICAg
ICAgICB0YXNrZGVwc1tkZXBdID0gc2V0c2NlbmVkZXBzW2RlcF1bOjJdCiAgICAgICAgICAgICAg
ICB0YXNrZGVwc1tkYXRhZGVwXSA9IHNldHNjZW5lZGVwc1tkYXRhZGVwXVs6Ml0KICAgICAgICAg
ICAgICAgIHJldHZhbCA9IHNldHNjZW5lX2RlcHZhbGlkKGRhdGFkZXAsIHRhc2tkZXBzLCBbXSwg
ZCwgbXNnYnVmKQogICAgICAgICAgICAgICAgaWYgcmV0dmFsOgogICAgICAgICAgICAgICAgICAg
IG1zZ2J1Zi5hcHBlbmQoIlNraXBwaW5nIHNldHNjZW5lIGRlcGVuZGVuY3kgJXMgZm9yIGluc3Rh
bGxhdGlvbiBpbnRvIHRoZSBzeXNyb290IiAlIGRhdGFkZXApCiAgICAgICAgICAgICAgICAgICAg
Y29udGludWUKICAgICAgICAgICAgICAgIGRvbmUuYXBwZW5kKGRhdGFkZXApCiAgICAgICAgICAg
ICAgICBuZXcuYXBwZW5kKGRhdGFkZXApCiAgICAgICAgICAgICAgICBpZiBkYXRhZGVwIG5vdCBp
biBjb25maWd1cmVkZXBzIGFuZCBzZXRzY2VuZWRlcHNbZGF0YWRlcF1bMV0gPT0gImRvX3BvcHVs
YXRlX3N5c3Jvb3QiOgogICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyZWRlcHMuYXBwZW5kKGRh
dGFkZXApCiAgICAgICAgICAgICAgICAgICAgbXNnYnVmLmFwcGVuZCgiQWRkaW5nIGRlcGVuZGVu
Y3kgb24gJXMiICUgc2V0c2NlbmVkZXBzW2RhdGFkZXBdWzBdKQogICAgICAgICAgICAgICAgZWxz
ZToKICAgICAgICAgICAgICAgICAgICBtc2didWYuYXBwZW5kKCJGb2xsb3dpbmcgZGVwZW5kZW5j
eSBvbiAlcyIgJSBzZXRzY2VuZWRlcHNbZGF0YWRlcF1bMF0pCiAgICAgICAgbmV4dCA9IG5ldwoK
ICAgIGJiLm5vdGUoIlxuIi5qb2luKG1zZ2J1ZikpCgogICAgZGVwZGlyID0gcmVjaXBlc3lzcm9v
dG5hdGl2ZSArICIvaW5zdGFsbGVkZGVwcyIKICAgIGJiLnV0aWxzLm1rZGlyaGllcihkZXBkaXIp
CiAgICBiYi51dGlscy5ta2RpcmhpZXIoc2hhcmVkbWFuaWZlc3RzKQoKICAgIGxvY2sgPSBiYi51
dGlscy5sb2NrZmlsZShyZWNpcGVzeXNyb290ICsgIi9zeXNyb290LmxvY2siKQoKICAgIGZpeG1l
ID0ge30KICAgIGZpeG1lWycnXSA9IFtdCiAgICBmaXhtZVsnbmF0aXZlJ10gPSBbXQogICAgc2Vl
bmRpcnMgPSBzZXQoKQogICAgcG9zdGluc3RzID0gW10KICAgIG11bHRpbGlicyA9IHt9CiAgICBt
YW5pZmVzdHMgPSB7fQoKICAgIGZvciBmIGluIG9zLmxpc3RkaXIoZGVwZGlyKToKICAgICAgICBp
ZiBub3QgZi5lbmRzd2l0aCgiLmNvbXBsZXRlIik6CiAgICAgICAgICAgIGNvbnRpbnVlCiAgICAg
ICAgZiA9IGRlcGRpciArICIvIiArIGYKICAgICAgICBpZiBvcy5wYXRoLmlzbGluayhmKSBhbmQg
bm90IG9zLnBhdGguZXhpc3RzKGYpOgogICAgICAgICAgICBiYi5ub3RlKCIlcyBubyBsb25nZXIg
ZXhpc3RzLCByZW1vdmluZyBmcm9tIHN5c3Jvb3QiICUgZikKICAgICAgICAgICAgbG5rID0gb3Mu
cmVhZGxpbmsoZi5yZXBsYWNlKCIuY29tcGxldGUiLCAiIikpCiAgICAgICAgICAgIHNzdGF0ZV9j
bGVhbl9tYW5pZmVzdChkZXBkaXIgKyAiLyIgKyBsbmssIGQsIHdvcmtkaXIpCiAgICAgICAgICAg
IG9zLnVubGluayhmKQogICAgICAgICAgICBvcy51bmxpbmsoZi5yZXBsYWNlKCIuY29tcGxldGUi
LCAiIikpCgogICAgaW5zdGFsbGVkID0gW10KICAgIGZvciBkZXAgaW4gY29uZmlndXJlZGVwczoK
ICAgICAgICBjID0gc2V0c2NlbmVkZXBzW2RlcF1bMF0KICAgICAgICBpZiBteXRhc2tuYW1lIGlu
IFsiZG9fc2RrX2RlcGVuZHMiLCAiZG9fcG9wdWxhdGVfc2RrX2V4dCJdIGFuZCBjLmVuZHN3aXRo
KCItaW5pdGlhbCIpOgogICAgICAgICAgICBiYi5ub3RlKCJTa2lwcGluZyBpbml0aWFsIHNldHNj
ZW5lIGRlcGVuZGVuY3kgJXMgZm9yIGluc3RhbGxhdGlvbiBpbnRvIHRoZSBzeXNyb290IiAlIGMp
CiAgICAgICAgICAgIGNvbnRpbnVlCiAgICAgICAgaW5zdGFsbGVkLmFwcGVuZChjKQoKICAgICMg
V2Ugd2FudCB0byByZW1vdmUgYW55dGhpbmcgd2hpY2ggdGhpcyB0YXNrIHByZXZpb3VzbHkgaW5z
dGFsbGVkIGJ1dCBpcyBubyBsb25nZXIgYSBkZXBlbmRlbmN5CiAgICB0YXNraW5kZXggPSBkZXBk
aXIgKyAiLyIgKyAiaW5kZXguIiArIG15dGFza25hbWUKICAgIGlmIG9zLnBhdGguZXhpc3RzKHRh
c2tpbmRleCk6CiAgICAgICAgcG90ZW50aWFsID0gW10KICAgICAgICB3aXRoIG9wZW4odGFza2lu
ZGV4LCAiciIpIGFzIGY6CiAgICAgICAgICAgIGZvciBsIGluIGY6CiAgICAgICAgICAgICAgICBs
ID0gbC5zdHJpcCgpCiAgICAgICAgICAgICAgICBpZiBsIG5vdCBpbiBpbnN0YWxsZWQ6CiAgICAg
ICAgICAgICAgICAgICAgZmwgPSBkZXBkaXIgKyAiLyIgKyBsCiAgICAgICAgICAgICAgICAgICAg
aWYgbm90IG9zLnBhdGguZXhpc3RzKGZsKToKICAgICAgICAgICAgICAgICAgICAgICAgIyBXYXMg
bGlrZWx5IGFscmVhZHkgdW5pbnN0YWxsZWQKICAgICAgICAgICAgICAgICAgICAgICAgY29udGlu
dWUKICAgICAgICAgICAgICAgICAgICBwb3RlbnRpYWwuYXBwZW5kKGwpCiAgICAgICAgIyBXZSBu
ZWVkIHRvIGVuc3VyZSBub3Qgb3RoZXIgdGFzayBuZWVkcyB0aGlzIGRlcGVuZGVuY3kuIFdlIGhv
bGQgdGhlIHN5c3Jvb3QKICAgICAgICAjIGxvY2sgc28gd2UgY2Egc2VhcmNoIHRoZSBpbmRleGVz
IHRvIGNoZWNrCiAgICAgICAgaWYgcG90ZW50aWFsOgogICAgICAgICAgICBmb3IgaSBpbiBnbG9i
Lmdsb2IoZGVwZGlyICsgIi9pbmRleC4qIik6CiAgICAgICAgICAgICAgICBpZiBpLmVuZHN3aXRo
KCIuIiArIG15dGFza25hbWUpOgogICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCiAgICAgICAg
ICAgICAgICB3aXRoIG9wZW4oaSwgInIiKSBhcyBmOgogICAgICAgICAgICAgICAgICAgIGZvciBs
IGluIGY6CiAgICAgICAgICAgICAgICAgICAgICAgIGwgPSBsLnN0cmlwKCkKICAgICAgICAgICAg
ICAgICAgICAgICAgaWYgbCBpbiBwb3RlbnRpYWw6CiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBwb3RlbnRpYWwucmVtb3ZlKGwpCiAgICAgICAgZm9yIGwgaW4gcG90ZW50aWFsOgogICAgICAg
ICAgICBmbCA9IGRlcGRpciArICIvIiArIGwKICAgICAgICAgICAgYmIubm90ZSgiVGFzayAlcyBu
byBsb25nZXIgZGVwZW5kcyBvbiAlcywgcmVtb3ZpbmcgZnJvbSBzeXNyb290IiAlIChteXRhc2tu
YW1lLCBsKSkKICAgICAgICAgICAgbG5rID0gb3MucmVhZGxpbmsoZmwpCiAgICAgICAgICAgIHNz
dGF0ZV9jbGVhbl9tYW5pZmVzdChkZXBkaXIgKyAiLyIgKyBsbmssIGQsIHdvcmtkaXIpCiAgICAg
ICAgICAgIG9zLnVubGluayhmbCkKICAgICAgICAgICAgb3MudW5saW5rKGZsICsgIi5jb21wbGV0
ZSIpCgogICAgZm9yIGRlcCBpbiBjb25maWd1cmVkZXBzOgogICAgICAgIGMgPSBzZXRzY2VuZWRl
cHNbZGVwXVswXQogICAgICAgIGlmIGMgbm90IGluIGluc3RhbGxlZDoKICAgICAgICAgICAgY29u
dGludWUKICAgICAgICB0YXNraGFzaCA9IHNldHNjZW5lZGVwc1tkZXBdWzVdCiAgICAgICAgdGFz
a21hbmlmZXN0ID0gZGVwZGlyICsgIi8iICsgYyArICIuIiArIHRhc2toYXNoCgogICAgICAgIGlm
IG9zLnBhdGguZXhpc3RzKGRlcGRpciArICIvIiArIGMpOgogICAgICAgICAgICBsbmsgPSBvcy5y
ZWFkbGluayhkZXBkaXIgKyAiLyIgKyBjKQogICAgICAgICAgICBpZiBsbmsgPT0gYyArICIuIiAr
IHRhc2toYXNoIGFuZCBvcy5wYXRoLmV4aXN0cyhkZXBkaXIgKyAiLyIgKyBjICsgIi5jb21wbGV0
ZSIpOgogICAgICAgICAgICAgICAgYmIubm90ZSgiJXMgZXhpc3RzIGluIHN5c3Jvb3QsIHNraXBw
aW5nIiAlIGMpCiAgICAgICAgICAgICAgICBjb250aW51ZQogICAgICAgICAgICBlbHNlOgogICAg
ICAgICAgICAgICAgYmIubm90ZSgiJXMgZXhpc3RzIGluIHN5c3Jvb3QsIGJ1dCBpcyBzdGFsZSAo
JXMgdnMuICVzKSwgcmVtb3ZpbmcuIiAlIChjLCBsbmssIGMgKyAiLiIgKyB0YXNraGFzaCkpCiAg
ICAgICAgICAgICAgICBzc3RhdGVfY2xlYW5fbWFuaWZlc3QoZGVwZGlyICsgIi8iICsgbG5rLCBk
LCB3b3JrZGlyKQogICAgICAgICAgICAgICAgb3MudW5saW5rKGRlcGRpciArICIvIiArIGMpCiAg
ICAgICAgICAgICAgICBpZiBvcy5wYXRoLmxleGlzdHMoZGVwZGlyICsgIi8iICsgYyArICIuY29t
cGxldGUiKToKICAgICAgICAgICAgICAgICAgICBvcy51bmxpbmsoZGVwZGlyICsgIi8iICsgYyAr
ICIuY29tcGxldGUiKQogICAgICAgIGVsaWYgb3MucGF0aC5sZXhpc3RzKGRlcGRpciArICIvIiAr
IGMpOgogICAgICAgICAgICBvcy51bmxpbmsoZGVwZGlyICsgIi8iICsgYykKCiAgICAgICAgb3Mu
c3ltbGluayhjICsgIi4iICsgdGFza2hhc2gsIGRlcGRpciArICIvIiArIGMpCgogICAgICAgIGQy
ID0gZAogICAgICAgIGRlc3RzeXNyb290ID0gcmVjaXBlc3lzcm9vdAogICAgICAgIHZhcmlhbnQg
PSAnJwogICAgICAgIGlmIHNldHNjZW5lZGVwc1tkZXBdWzJdLnN0YXJ0c3dpdGgoInZpcnR1YWw6
bXVsdGlsaWIiKToKICAgICAgICAgICAgdmFyaWFudCA9IHNldHNjZW5lZGVwc1tkZXBdWzJdLnNw
bGl0KCI6IilbMl0KICAgICAgICAgICAgaWYgdmFyaWFudCAhPSBjdXJyZW50X3ZhcmlhbnQ6CiAg
ICAgICAgICAgICAgICBpZiB2YXJpYW50IG5vdCBpbiBtdWx0aWxpYnM6CiAgICAgICAgICAgICAg
ICAgICAgbXVsdGlsaWJzW3ZhcmlhbnRdID0gZ2V0X211bHRpbGliX2RhdGFzdG9yZSh2YXJpYW50
LCBkKQogICAgICAgICAgICAgICAgZDIgPSBtdWx0aWxpYnNbdmFyaWFudF0KICAgICAgICAgICAg
ICAgIGRlc3RzeXNyb290ID0gZDIuZ2V0VmFyKCJSRUNJUEVfU1lTUk9PVCIpCgogICAgICAgIG5h
dGl2ZSA9IEZhbHNlCiAgICAgICAgaWYgYy5lbmRzd2l0aCgiLW5hdGl2ZSIpOgogICAgICAgICAg
ICBtYW5pZmVzdCA9IGQyLmV4cGFuZCgiJHtTU1RBVEVfTUFOSUZFU1RTfS9tYW5pZmVzdC0ke0JV
SUxEX0FSQ0h9LSVzLnBvcHVsYXRlX3N5c3Jvb3QiICUgYykKICAgICAgICAgICAgbmF0aXZlID0g
VHJ1ZQogICAgICAgIGVsaWYgYy5zdGFydHN3aXRoKCJuYXRpdmVzZGstIik6CiAgICAgICAgICAg
IG1hbmlmZXN0ID0gZDIuZXhwYW5kKCIke1NTVEFURV9NQU5JRkVTVFN9L21hbmlmZXN0LSR7U0RL
X0FSQ0h9XyR7U0RLX09TfS0lcy5wb3B1bGF0ZV9zeXNyb290IiAlIGMpCiAgICAgICAgZWxpZiAi
LWNyb3NzLSIgaW4gYzoKICAgICAgICAgICAgbWFuaWZlc3QgPSBkMi5leHBhbmQoIiR7U1NUQVRF
X01BTklGRVNUU30vbWFuaWZlc3QtJHtCVUlMRF9BUkNIfV8ke1RBUkdFVF9BUkNIfS0lcy5wb3B1
bGF0ZV9zeXNyb290IiAlIGMpCiAgICAgICAgICAgIG5hdGl2ZSA9IFRydWUKICAgICAgICBlbGlm
ICItY3Jvc3NzZGsiIGluIGM6CiAgICAgICAgICAgIG1hbmlmZXN0ID0gZDIuZXhwYW5kKCIke1NT
VEFURV9NQU5JRkVTVFN9L21hbmlmZXN0LSR7QlVJTERfQVJDSH1fJHtTREtfQVJDSH1fJHtTREtf
T1N9LSVzLnBvcHVsYXRlX3N5c3Jvb3QiICUgYykKICAgICAgICAgICAgbmF0aXZlID0gVHJ1ZQog
ICAgICAgIGVsc2U6CiAgICAgICAgICAgIHBrZ2FyY2hzID0gWycke01BQ0hJTkVfQVJDSH0nXQog
ICAgICAgICAgICBwa2dhcmNocyA9IHBrZ2FyY2hzICsgbGlzdChyZXZlcnNlZChkMi5nZXRWYXIo
IlBBQ0tBR0VfRVhUUkFfQVJDSFMiKS5zcGxpdCgpKSkKICAgICAgICAgICAgcGtnYXJjaHMuYXBw
ZW5kKCdhbGxhcmNoJykKICAgICAgICAgICAgZm9yIHBrZ2FyY2ggaW4gcGtnYXJjaHM6CiAgICAg
ICAgICAgICAgICBtYW5pZmVzdCA9IGQyLmV4cGFuZCgiJHtTU1RBVEVfTUFOSUZFU1RTfS9tYW5p
ZmVzdC0lcy0lcy5wb3B1bGF0ZV9zeXNyb290IiAlIChwa2dhcmNoLCBjKSkKICAgICAgICAgICAg
ICAgIGlmIG9zLnBhdGguZXhpc3RzKG1hbmlmZXN0KToKICAgICAgICAgICAgICAgICAgICBicmVh
awogICAgICAgIGlmIG5vdCBvcy5wYXRoLmV4aXN0cyhtYW5pZmVzdCk6CiAgICAgICAgICAgIGJi
Lndhcm4oIk1hbmlmZXN0ICVzIG5vdCBmb3VuZD8iICUgbWFuaWZlc3QpCiAgICAgICAgZWxzZToK
ICAgICAgICAgICAgbmV3bWFuaWZlc3QgPSBjb2xsZWN0aW9ucy5PcmRlcmVkRGljdCgpCiAgICAg
ICAgICAgIGlmIG5hdGl2ZToKICAgICAgICAgICAgICAgIGZtID0gZml4bWVbJ25hdGl2ZSddCiAg
ICAgICAgICAgICAgICB0YXJnZXRkaXIgPSByZWNpcGVzeXNyb290bmF0aXZlCiAgICAgICAgICAg
IGVsc2U6CiAgICAgICAgICAgICAgICBmbSA9IGZpeG1lWycnXQogICAgICAgICAgICAgICAgdGFy
Z2V0ZGlyID0gZGVzdHN5c3Jvb3QKICAgICAgICAgICAgd2l0aCBvcGVuKG1hbmlmZXN0LCAiciIp
IGFzIGY6CiAgICAgICAgICAgICAgICBtYW5pZmVzdHNbZGVwXSA9IG1hbmlmZXN0CiAgICAgICAg
ICAgICAgICBmb3IgbCBpbiBmOgogICAgICAgICAgICAgICAgICAgIGwgPSBsLnN0cmlwKCkKICAg
ICAgICAgICAgICAgICAgICBpZiBsLmVuZHN3aXRoKCIvZml4bWVwYXRoIik6CiAgICAgICAgICAg
ICAgICAgICAgICAgIGZtLmFwcGVuZChsKQogICAgICAgICAgICAgICAgICAgICAgICBjb250aW51
ZQogICAgICAgICAgICAgICAgICAgIGlmIGwuZW5kc3dpdGgoIi9maXhtZXBhdGguY21kIik6CiAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCiAgICAgICAgICAgICAgICAgICAgZGVzdCA9
IGwucmVwbGFjZShzdGFnaW5nZGlyLCAiIikKICAgICAgICAgICAgICAgICAgICBkZXN0ID0gdGFy
Z2V0ZGlyICsgIi8iICsgIi8iLmpvaW4oZGVzdC5zcGxpdCgiLyIpWzM6XSkKICAgICAgICAgICAg
ICAgICAgICBuZXdtYW5pZmVzdFtsXSA9IGRlc3QKICAgICAgICAgICAgIyBIYXZpbmcgbXVsdGlw
bGUgaWRlbnRpY2FsIG1hbmlmZXN0cyBpbiBlYWNoIHN5c3Jvb3QgZWF0cyBkaXNrc3BhY2Ugc28K
ICAgICAgICAgICAgIyBjcmVhdGUgYSBzaGFyZWQgcG9vbCBvZiB0aGVtIGFuZCBoYXJkbGluayBp
ZiB3ZSBjYW4uCiAgICAgICAgICAgICMgV2UgY3JlYXRlIHRoZSBtYW5pZmVzdCBpbiBhZHZhbmNl
IHNvIHRoYXQgaWYgc29tZXRoaW5nIGZhaWxzIGR1cmluZyBpbnN0YWxsYXRpb24sCiAgICAgICAg
ICAgICMgb3IgdGhlIGJ1aWxkIGlzIGludGVycnVwdGVkLCBzdWJzZXF1ZW50IGV4ZXVjdGlvbiBj
YW4gY2xlYW51cC4KICAgICAgICAgICAgc2hhcmVkbSA9IHNoYXJlZG1hbmlmZXN0cyArICIvIiAr
IG9zLnBhdGguYmFzZW5hbWUodGFza21hbmlmZXN0KQogICAgICAgICAgICBpZiBub3Qgb3MucGF0
aC5leGlzdHMoc2hhcmVkbSk6CiAgICAgICAgICAgICAgICBzbWxvY2sgPSBiYi51dGlscy5sb2Nr
ZmlsZShzaGFyZWRtICsgIi5sb2NrIikKICAgICAgICAgICAgICAgICMgQ2FuIHJhY2UgaGVyZS4g
WW91J2QgdGhpbmsgaXQganVzdCBtZWFucyB3ZSBtYXkgbm90IGVuZCB1cCB3aXRoIGFsbCBjb3Bp
ZXMgaGFyZGxpbmtlZCB0byBlYWNoIG90aGVyCiAgICAgICAgICAgICAgICAjIGJ1dCBweXRob24g
Y2FuIGxvc2UgZmlsZSBoYW5kbGVzIHNvIHdlIG5lZWQgdG8gZG8gdGhpcyB1bmRlciBhIGxvY2su
CiAgICAgICAgICAgICAgICBpZiBub3Qgb3MucGF0aC5leGlzdHMoc2hhcmVkbSk6CiAgICAgICAg
ICAgICAgICAgICAgd2l0aCBvcGVuKHNoYXJlZG0sICd3JykgYXMgbToKICAgICAgICAgICAgICAg
ICAgICAgICBmb3IgbCBpbiBuZXdtYW5pZmVzdDoKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ZGVzdCA9IG5ld21hbmlmZXN0W2xdCiAgICAgICAgICAgICAgICAgICAgICAgICAgIG0ud3JpdGUo
ZGVzdC5yZXBsYWNlKHdvcmtkaXIgKyAiLyIsICIiKSArICJcbiIpCiAgICAgICAgICAgICAgICBi
Yi51dGlscy51bmxvY2tmaWxlKHNtbG9jaykKICAgICAgICAgICAgdHJ5OgogICAgICAgICAgICAg
ICAgb3MubGluayhzaGFyZWRtLCB0YXNrbWFuaWZlc3QpCiAgICAgICAgICAgIGV4Y2VwdCBPU0Vy
cm9yIGFzIGVycjoKICAgICAgICAgICAgICAgIGlmIGVyci5lcnJubyA9PSBlcnJuby5FWERFVjoK
ICAgICAgICAgICAgICAgICAgICBiYi51dGlscy5jb3B5ZmlsZShzaGFyZWRtLCB0YXNrbWFuaWZl
c3QpCiAgICAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgICAgIHJhaXNlCiAgICAg
ICAgICAgICMgRmluYWxseSBhY3R1YWxseSBpbnN0YWxsIHRoZSBmaWxlcwogICAgICAgICAgICBm
b3IgbCBpbiBuZXdtYW5pZmVzdDoKICAgICAgICAgICAgICAgICAgICBkZXN0ID0gbmV3bWFuaWZl
c3RbbF0KICAgICAgICAgICAgICAgICAgICBpZiBsLmVuZHN3aXRoKCIvIik6CiAgICAgICAgICAg
ICAgICAgICAgICAgIHN0YWdpbmdfY29weWRpcihsLCB0YXJnZXRkaXIsIGRlc3QsIHNlZW5kaXJz
KQogICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZQogICAgICAgICAgICAgICAgICAgIHN0
YWdpbmdfY29weWZpbGUobCwgdGFyZ2V0ZGlyLCBkZXN0LCBwb3N0aW5zdHMsIHNlZW5kaXJzKQoK
ICAgIGZvciBmIGluIGZpeG1lOgogICAgICAgIGlmIGYgPT0gJyc6CiAgICAgICAgICAgIHN0YWdp
bmdfcHJvY2Vzc2ZpeG1lKGZpeG1lW2ZdLCByZWNpcGVzeXNyb290LCByZWNpcGVzeXNyb290LCBy
ZWNpcGVzeXNyb290bmF0aXZlLCBkKQogICAgICAgIGVsaWYgZiA9PSAnbmF0aXZlJzoKICAgICAg
ICAgICAgc3RhZ2luZ19wcm9jZXNzZml4bWUoZml4bWVbZl0sIHJlY2lwZXN5c3Jvb3RuYXRpdmUs
IHJlY2lwZXN5c3Jvb3QsIHJlY2lwZXN5c3Jvb3RuYXRpdmUsIGQpCiAgICAgICAgZWxzZToKICAg
ICAgICAgICAgc3RhZ2luZ19wcm9jZXNzZml4bWUoZml4bWVbZl0sIG11bHRpbGlic1tmXS5nZXRW
YXIoIlJFQ0lQRV9TWVNST09UIiksIHJlY2lwZXN5c3Jvb3QsIHJlY2lwZXN5c3Jvb3RuYXRpdmUs
IGQpCgogICAgZm9yIHAgaW4gcG9zdGluc3RzOgogICAgICAgIHN1YnByb2Nlc3MuY2hlY2tfb3V0
cHV0KHAsIHNoZWxsPVRydWUpCgogICAgZm9yIGRlcCBpbiBtYW5pZmVzdHM6CiAgICAgICAgYyA9
IHNldHNjZW5lZGVwc1tkZXBdWzBdCiAgICAgICAgb3Muc3ltbGluayhtYW5pZmVzdHNbZGVwXSwg
ZGVwZGlyICsgIi8iICsgYyArICIuY29tcGxldGUiKQoKICAgIHdpdGggb3Blbih0YXNraW5kZXgs
ICJ3IikgYXMgZjoKICAgICAgICBmb3IgbCBpbiBzb3J0ZWQoaW5zdGFsbGVkKToKICAgICAgICAg
ICAgZi53cml0ZShsICsgIlxuIikKCiAgICBiYi51dGlscy51bmxvY2tmaWxlKGxvY2spCn0KCgpw
eXRob24gZXh0ZW5kX3ZhcmlhbnRzICgpIHsKZGVmIGV4dGVuZF92YXJpYW50cyhkLCB2YXIsIGV4
dGVuZCwgZGVsaW09JzonKToKICAgICIiIlJldHVybiBhIHN0cmluZyBvZiBhbGwgYmIgY2xhc3Mg
ZXh0ZW5kIHZhcmlhbnRzIGZvciB0aGUgZ2l2ZW4gZXh0ZW5kIiIiCiAgICB2YXJpYW50cyA9IFtd
CiAgICB3aG9sZSA9IGQuZ2V0VmFyKHZhcikgb3IgIiIKICAgIGZvciBleHQgaW4gd2hvbGUuc3Bs
aXQoKToKICAgICAgICBlZXh0ID0gZXh0LnNwbGl0KGRlbGltKQogICAgICAgIGlmIGxlbihlZXh0
KSA+IDEgYW5kIGVleHRbMF0gPT0gZXh0ZW5kOgogICAgICAgICAgICB2YXJpYW50cy5hcHBlbmQo
ZWV4dFsxXSkKICAgIHJldHVybiAiICIuam9pbih2YXJpYW50cykKfQoKCnB5dGhvbiBleHRyYV9w
YXRoX2VsZW1lbnRzICgpIHsKZGVmIGV4dHJhX3BhdGhfZWxlbWVudHMoZCk6CiAgICBwYXRoID0g
IiIKICAgIGVsZW1lbnRzID0gKGQuZ2V0VmFyKCdFWFRSQU5BVElWRVBBVEgnKSBvciAiIikuc3Bs
aXQoKQogICAgZm9yIGUgaW4gZWxlbWVudHM6CiAgICAgICAgcGF0aCA9IHBhdGggKyAiJHtTVEFH
SU5HX0JJTkRJUl9OQVRJVkV9LyIgKyBlICsgIjoiCiAgICByZXR1cm4gcGF0aAp9CgoKcHl0aG9u
IGZpbGVzX2Zyb21fZmlsZXZhcnMgKCkgewpkZWYgZmlsZXNfZnJvbV9maWxldmFycyhmaWxldmFy
cyk6CiAgICBpbXBvcnQgb3MsZ2xvYgogICAgY3BhdGggPSBvZS5jYWNoZWRwYXRoLkNhY2hlZFBh
dGgoKQogICAgZmlsZXMgPSBbXQogICAgZm9yIGYgaW4gZmlsZXZhcnM6CiAgICAgICAgaWYgb3Mu
cGF0aC5pc2FicyhmKToKICAgICAgICAgICAgZiA9ICcuJyArIGYKICAgICAgICBpZiBub3QgZi5z
dGFydHN3aXRoKCIuLyIpOgogICAgICAgICAgICBmID0gJy4vJyArIGYKICAgICAgICBnbG9iYmVk
ID0gZ2xvYi5nbG9iKGYpCiAgICAgICAgaWYgZ2xvYmJlZDoKICAgICAgICAgICAgaWYgWyBmIF0g
IT0gZ2xvYmJlZDoKICAgICAgICAgICAgICAgIGZpbGVzICs9IGdsb2JiZWQKICAgICAgICAgICAg
ICAgIGNvbnRpbnVlCiAgICAgICAgZmlsZXMuYXBwZW5kKGYpCgogICAgc3ltbGlua19wYXRocyA9
IFtdCiAgICBmb3IgaW5kLCBmIGluIGVudW1lcmF0ZShmaWxlcyk6CiAgICAgICAgIyBIYW5kbGUg
ZGlyZWN0b3J5IHN5bWxpbmtzLiBUcnVuY2F0ZSBwYXRoIHRvIHRoZSBsb3dlc3QgbGV2ZWwgc3lt
bGluawogICAgICAgIHBhcmVudCA9ICcnCiAgICAgICAgZm9yIGRpcm5hbWUgaW4gZi5zcGxpdCgn
LycpWzotMV06CiAgICAgICAgICAgIHBhcmVudCA9IG9zLnBhdGguam9pbihwYXJlbnQsIGRpcm5h
bWUpCiAgICAgICAgICAgIGlmIGRpcm5hbWUgPT0gJy4nOgogICAgICAgICAgICAgICAgY29udGlu
dWUKICAgICAgICAgICAgaWYgY3BhdGguaXNsaW5rKHBhcmVudCk6CiAgICAgICAgICAgICAgICBi
Yi53YXJuKCJGSUxFUyBjb250YWlucyBmaWxlICclcycgd2hpY2ggcmVzaWRlcyB1bmRlciBhICIK
ICAgICAgICAgICAgICAgICAgICAgICAgImRpcmVjdG9yeSBzeW1saW5rLiBQbGVhc2UgZml4IHRo
ZSByZWNpcGUgYW5kIHVzZSB0aGUgIgogICAgICAgICAgICAgICAgICAgICAgICAicmVhbCBwYXRo
IGZvciB0aGUgZmlsZS4iICUgZlsxOl0pCiAgICAgICAgICAgICAgICBzeW1saW5rX3BhdGhzLmFw
cGVuZChmKQogICAgICAgICAgICAgICAgZmlsZXNbaW5kXSA9IHBhcmVudAogICAgICAgICAgICAg
ICAgZiA9IHBhcmVudAogICAgICAgICAgICAgICAgYnJlYWsKCiAgICAgICAgaWYgbm90IGNwYXRo
LmlzbGluayhmKToKICAgICAgICAgICAgaWYgY3BhdGguaXNkaXIoZik6CiAgICAgICAgICAgICAg
ICBuZXdmaWxlcyA9IFsgb3MucGF0aC5qb2luKGYseCkgZm9yIHggaW4gb3MubGlzdGRpcihmKSBd
CiAgICAgICAgICAgICAgICBpZiBuZXdmaWxlczoKICAgICAgICAgICAgICAgICAgICBmaWxlcyAr
PSBuZXdmaWxlcwoKICAgIHJldHVybiBmaWxlcywgc3ltbGlua19wYXRocwp9CgoKcHl0aG9uIGZp
bHRlcl9kZXBzICgpIHsKZGVmIGZpbHRlcl9kZXBzKHZhciwgZik6CiAgICBpbXBvcnQgY29sbGVj
dGlvbnMKCiAgICBkZXBlbmRzX2RpY3QgPSBiYi51dGlscy5leHBsb2RlX2RlcF92ZXJzaW9uczIo
dmFyKQogICAgbmV3ZGVwc19kaWN0ID0gY29sbGVjdGlvbnMuT3JkZXJlZERpY3QoKQogICAgZm9y
IGRlcCBpbiBkZXBlbmRzX2RpY3Q6CiAgICAgICAgaWYgZihkZXApOgogICAgICAgICAgICBuZXdk
ZXBzX2RpY3RbZGVwXSA9IGRlcGVuZHNfZGljdFtkZXBdCiAgICByZXR1cm4gYmIudXRpbHMuam9p
bl9kZXBzKG5ld2RlcHNfZGljdCwgY29tbWFzZXA9RmFsc2UpCn0KCgpweXRob24gZmlsdGVyX25h
dGl2ZXNka19kZXBzICgpIHsKZGVmIGZpbHRlcl9uYXRpdmVzZGtfZGVwcyhzcmNuYW1lLCB2YXIp
OgogICAgaWYgdmFyIGFuZCBzcmNuYW1lLnN0YXJ0c3dpdGgoIm5hdGl2ZXNkay0iKToKICAgICAg
ICB2YXIgPSBmaWx0ZXJfZGVwcyh2YXIsIGxhbWJkYSBkZXA6IG5vdCBkZXAuc3RhcnRzd2l0aCgn
LycpIGFuZCBkZXAgIT0gJ3BlcmwnIGFuZCBub3QgZGVwLnN0YXJ0c3dpdGgoJ3BlcmwoJykpCiAg
ICByZXR1cm4gdmFyCn0KCgpweXRob24gZmluZF9saWNlbnNlX2ZpbGVzICgpIHsKZGVmIGZpbmRf
bGljZW5zZV9maWxlcyhkKToKICAgICIiIgogICAgQ3JlYXRlcyBsaXN0IG9mIGZpbGVzIHVzZWQg
aW4gTElDX0ZJTEVTX0NIS1NVTSBhbmQgZ2VuZXJpYyBMSUNFTlNFIGZpbGVzLgogICAgIiIiCiAg
ICBpbXBvcnQgc2h1dGlsCiAgICBpbXBvcnQgb2UubGljZW5zZQogICAgZnJvbSBjb2xsZWN0aW9u
cyBpbXBvcnQgZGVmYXVsdGRpY3QsIE9yZGVyZWREaWN0CgogICAgIyBBbGwgdGhlIGxpY2Vuc2Ug
ZmlsZXMgZm9yIHRoZSBwYWNrYWdlCiAgICBsaWNfZmlsZXMgPSBkLmdldFZhcignTElDX0ZJTEVT
X0NIS1NVTScpIG9yICIiCiAgICBwbiA9IGQuZ2V0VmFyKCdQTicpCiAgICAjIFRoZSBsaWNlbnNl
IGZpbGVzIGFyZSBsb2NhdGVkIGluIFMvTElDX0ZJTEVfQ0hFQ0tTVU0uCiAgICBzcmNkaXIgPSBk
LmdldFZhcignUycpCiAgICAjIERpcmVjdG9yeSB3ZSBzdG9yZSB0aGUgZ2VuZXJpYyBsaWNlbnNl
cyBhcyBzZXQgaW4gdGhlIGRpc3RybyBjb25maWd1cmF0aW9uCiAgICBnZW5lcmljX2RpcmVjdG9y
eSA9IGQuZ2V0VmFyKCdDT01NT05fTElDRU5TRV9ESVInKQogICAgIyBMaXN0IG9mIGJhc2VuYW1l
LCBwYXRoIHR1cGxlcwogICAgbGljX2ZpbGVzX3BhdGhzID0gW10KICAgICMgaGFzaCBmb3Iga2Vl
cCB0cmFjayBnZW5lcmljIGxpY3MgbWFwcGluZ3MKICAgIG5vbl9nZW5lcmljX2xpY3MgPSB7fQog
ICAgIyBFbnRyaWVzIGZyb20gTElDX0ZJTEVTX0NIS1NVTQogICAgbGljX2Noa3N1bXMgPSB7fQog
ICAgbGljZW5zZV9zb3VyY2VfZGlycyA9IFtdCiAgICBsaWNlbnNlX3NvdXJjZV9kaXJzLmFwcGVu
ZChnZW5lcmljX2RpcmVjdG9yeSkKICAgIHRyeToKICAgICAgICBhZGRpdGlvbmFsX2xpY19kaXJz
ID0gZC5nZXRWYXIoJ0xJQ0VOU0VfUEFUSCcpLnNwbGl0KCkKICAgICAgICBmb3IgbGljX2RpciBp
biBhZGRpdGlvbmFsX2xpY19kaXJzOgogICAgICAgICAgICBsaWNlbnNlX3NvdXJjZV9kaXJzLmFw
cGVuZChsaWNfZGlyKQogICAgZXhjZXB0OgogICAgICAgIHBhc3MKCiAgICBjbGFzcyBGaW5kVmlz
aXRvcihvZS5saWNlbnNlLkxpY2Vuc2VWaXNpdG9yKToKICAgICAgICBkZWYgdmlzaXRfU3RyKHNl
bGYsIG5vZGUpOgogICAgICAgICAgICAjCiAgICAgICAgICAgICMgVW50aWwgSSBmaWd1cmUgb3V0
IHdoYXQgdG8gZG8gd2l0aAogICAgICAgICAgICAjIHRoZSB0d28gbW9kaWZpZXJzIEkgc3VwcG9y
dCAob3IgZ3JlYXRlciA9ICsKICAgICAgICAgICAgIyBhbmQgIndpdGggZXhjZXB0aW9ucyIgYmVp
bmcgKgogICAgICAgICAgICAjIHdlJ2xsIGp1c3Qgc3RyaXAgb3V0IHRoZSBtb2RpZmllciBhbmQg
cHV0CiAgICAgICAgICAgICMgdGhlIGJhc2UgbGljZW5zZS4KICAgICAgICAgICAgZmluZF9saWNl
bnNlKG5vZGUucy5yZXBsYWNlKCIrIiwgIiIpLnJlcGxhY2UoIioiLCAiIikpCiAgICAgICAgICAg
IHNlbGYuZ2VuZXJpY192aXNpdChub2RlKQoKICAgIGRlZiBmaW5kX2xpY2Vuc2UobGljZW5zZV90
eXBlKToKICAgICAgICB0cnk6CiAgICAgICAgICAgIGJiLnV0aWxzLm1rZGlyaGllcihnZW5fbGlj
X2Rlc3QpCiAgICAgICAgZXhjZXB0OgogICAgICAgICAgICBwYXNzCiAgICAgICAgc3BkeF9nZW5l
cmljID0gTm9uZQogICAgICAgIGxpY2Vuc2Vfc291cmNlID0gTm9uZQogICAgICAgICMgSWYgdGhl
IGdlbmVyaWMgZG9lcyBub3QgZXhpc3Qgd2UgbmVlZCB0byBjaGVjayB0byBzZWUgaWYgdGhlcmUg
aXMgYW4gU1BEWCBtYXBwaW5nIHRvIGl0LAogICAgICAgICMgdW5sZXNzIE5PX0dFTkVSSUNfTElD
RU5TRSBpcyBzZXQuCiAgICAgICAgZm9yIGxpY19kaXIgaW4gbGljZW5zZV9zb3VyY2VfZGlyczoK
ICAgICAgICAgICAgaWYgbm90IG9zLnBhdGguaXNmaWxlKG9zLnBhdGguam9pbihsaWNfZGlyLCBs
aWNlbnNlX3R5cGUpKToKICAgICAgICAgICAgICAgIGlmIGQuZ2V0VmFyRmxhZygnU1BEWExJQ0VO
U0VNQVAnLCBsaWNlbnNlX3R5cGUpICE9IE5vbmU6CiAgICAgICAgICAgICAgICAgICAgIyBHcmVh
dCwgdGhlcmUgaXMgYW4gU1BEWExJQ0VOU0VNQVAuIFdlIGNhbiBjb3B5IQogICAgICAgICAgICAg
ICAgICAgIGJiLmRlYnVnKDEsICJXZSBuZWVkIHRvIHVzZSBhIFNQRFhMSUNFTlNFTUFQIGZvciAl
cyIgJSAobGljZW5zZV90eXBlKSkKICAgICAgICAgICAgICAgICAgICBzcGR4X2dlbmVyaWMgPSBk
LmdldFZhckZsYWcoJ1NQRFhMSUNFTlNFTUFQJywgbGljZW5zZV90eXBlKQogICAgICAgICAgICAg
ICAgICAgIGxpY2Vuc2Vfc291cmNlID0gbGljX2RpcgogICAgICAgICAgICAgICAgICAgIGJyZWFr
CiAgICAgICAgICAgIGVsaWYgb3MucGF0aC5pc2ZpbGUob3MucGF0aC5qb2luKGxpY19kaXIsIGxp
Y2Vuc2VfdHlwZSkpOgogICAgICAgICAgICAgICAgc3BkeF9nZW5lcmljID0gbGljZW5zZV90eXBl
CiAgICAgICAgICAgICAgICBsaWNlbnNlX3NvdXJjZSA9IGxpY19kaXIKICAgICAgICAgICAgICAg
IGJyZWFrCgogICAgICAgIG5vbl9nZW5lcmljX2xpYyA9IGQuZ2V0VmFyRmxhZygnTk9fR0VORVJJ
Q19MSUNFTlNFJywgbGljZW5zZV90eXBlKQogICAgICAgIGlmIHNwZHhfZ2VuZXJpYyBhbmQgbGlj
ZW5zZV9zb3VyY2U6CiAgICAgICAgICAgICMgd2UgcmVhbGx5IHNob3VsZCBjb3B5IHRvIGdlbmVy
aWNfICsgc3BkeF9nZW5lcmljLCBob3dldmVyLCB0aGF0IGVuZHMgdXAgbWVzc2luZyB0aGUgbWFu
aWZlc3QKICAgICAgICAgICAgIyBhdWRpdCB1cC4gVGhpcyBzaG91bGQgYmUgZml4ZWQgaW4gZW1p
dF9wa2dkYXRhIChvciwgd2UgYWN0dWFsbHkgZ290IGFuZCBmaXggYWxsIHRoZSByZWNpcGVzKQoK
ICAgICAgICAgICAgbGljX2ZpbGVzX3BhdGhzLmFwcGVuZCgoImdlbmVyaWNfIiArIGxpY2Vuc2Vf
dHlwZSwgb3MucGF0aC5qb2luKGxpY2Vuc2Vfc291cmNlLCBzcGR4X2dlbmVyaWMpLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOb25lLCBOb25lKSkKCiAgICAgICAgICAgICMg
VGhlIHVzZXIgbWF5IGF0dGVtcHQgdG8gdXNlIE5PX0dFTkVSSUNfTElDRU5TRSBmb3IgYSBnZW5l
cmljIGxpY2Vuc2Ugd2hpY2ggZG9lc24ndCBtYWtlIHNlbnNlCiAgICAgICAgICAgICMgYW5kIHNo
b3VsZCBub3QgYmUgYWxsb3dlZCwgd2FybiB0aGUgdXNlciBpbiB0aGlzIGNhc2UuCiAgICAgICAg
ICAgIGlmIGQuZ2V0VmFyRmxhZygnTk9fR0VORVJJQ19MSUNFTlNFJywgbGljZW5zZV90eXBlKToK
ICAgICAgICAgICAgICAgIGJiLndhcm4oIiVzOiAlcyBpcyBhIGdlbmVyaWMgbGljZW5zZSwgcGxl
YXNlIGRvbid0IHVzZSBOT19HRU5FUklDX0xJQ0VOU0UgZm9yIGl0LiIgJSAocG4sIGxpY2Vuc2Vf
dHlwZSkpCgogICAgICAgIGVsaWYgbm9uX2dlbmVyaWNfbGljIGFuZCBub25fZ2VuZXJpY19saWMg
aW4gbGljX2Noa3N1bXM6CiAgICAgICAgICAgICMgaWYgTk9fR0VORVJJQ19MSUNFTlNFIGlzIHNl
dCwgd2UgY29weSB0aGUgbGljZW5zZSBmaWxlcyBmcm9tIHRoZSBmZXRjaGVkIHNvdXJjZQogICAg
ICAgICAgICAjIG9mIHRoZSBwYWNrYWdlIHJhdGhlciB0aGFuIHRoZSBsaWNlbnNlX3NvdXJjZV9k
aXJzLgogICAgICAgICAgICBsaWNfZmlsZXNfcGF0aHMuYXBwZW5kKCgiZ2VuZXJpY18iICsgbGlj
ZW5zZV90eXBlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcy5wYXRoLmpv
aW4oc3JjZGlyLCBub25fZ2VuZXJpY19saWMpLCBOb25lLCBOb25lKSkKICAgICAgICAgICAgbm9u
X2dlbmVyaWNfbGljc1tub25fZ2VuZXJpY19saWNdID0gbGljZW5zZV90eXBlCiAgICAgICAgZWxz
ZToKICAgICAgICAgICAgIyBBZGQgZXhwbGljaXR5IGF2b2lkIG9mIENMT1NFRCBsaWNlbnNlIGJl
Y2F1c2UgdGhpcyBpc24ndCBnZW5lcmljCiAgICAgICAgICAgIGlmIGxpY2Vuc2VfdHlwZSAhPSAn
Q0xPU0VEJzoKICAgICAgICAgICAgICAgICMgQW5kIGhlcmUgaXMgd2hlcmUgd2Ugd2FybiBwZW9w
bGUgdGhhdCB0aGVpciBsaWNlbnNlcyBhcmUgbG91c3kKICAgICAgICAgICAgICAgIGJiLndhcm4o
IiVzOiBObyBnZW5lcmljIGxpY2Vuc2UgZmlsZSBleGlzdHMgZm9yOiAlcyBpbiBhbnkgcHJvdmlk
ZXIiICUgKHBuLCBsaWNlbnNlX3R5cGUpKQogICAgICAgICAgICBwYXNzCgogICAgaWYgbm90IGdl
bmVyaWNfZGlyZWN0b3J5OgogICAgICAgIGJiLmZhdGFsKCJDT01NT05fTElDRU5TRV9ESVIgaXMg
dW5zZXQuIFBsZWFzZSBzZXQgdGhpcyBpbiB5b3VyIGRpc3RybyBjb25maWciKQoKICAgIGZvciB1
cmwgaW4gbGljX2ZpbGVzLnNwbGl0KCk6CiAgICAgICAgdHJ5OgogICAgICAgICAgICAodHlwZSwg
aG9zdCwgcGF0aCwgdXNlciwgcHN3ZCwgcGFybSkgPSBiYi5mZXRjaC5kZWNvZGV1cmwodXJsKQog
ICAgICAgIGV4Y2VwdCBiYi5mZXRjaC5NYWxmb3JtZWRVcmw6CiAgICAgICAgICAgIGJiLmZhdGFs
KCIlczogTElDX0ZJTEVTX0NIS1NVTSBjb250YWlucyBhbiBpbnZhbGlkIFVSTDogICVzIiAlIChk
LmdldFZhcignUEYnKSwgdXJsKSkKICAgICAgICAjIFdlIHdhbnQgdGhlIGxpY2Vuc2UgZmlsZW5h
bWUgYW5kIHBhdGgKICAgICAgICBjaGtzdW0gPSBwYXJtLmdldCgnbWQ1JywgTm9uZSkKICAgICAg
ICBiZWdpbmxpbmUgPSBwYXJtLmdldCgnYmVnaW5saW5lJykKICAgICAgICBlbmRsaW5lID0gcGFy
bS5nZXQoJ2VuZGxpbmUnKQogICAgICAgIGxpY19jaGtzdW1zW3BhdGhdID0gKGNoa3N1bSwgYmVn
aW5saW5lLCBlbmRsaW5lKQoKICAgIHYgPSBGaW5kVmlzaXRvcigpCiAgICB0cnk6CiAgICAgICAg
di52aXNpdF9zdHJpbmcoZC5nZXRWYXIoJ0xJQ0VOU0UnKSkKICAgIGV4Y2VwdCBvZS5saWNlbnNl
LkludmFsaWRMaWNlbnNlIGFzIGV4YzoKICAgICAgICBiYi5mYXRhbCgnJXM6ICVzJyAlIChkLmdl
dFZhcignUEYnKSwgZXhjKSkKICAgIGV4Y2VwdCBTeW50YXhFcnJvcjoKICAgICAgICBiYi53YXJu
KCIlczogRmFpbGVkIHRvIHBhcnNlIGl0J3MgTElDRU5TRSBmaWVsZC4iICUgKGQuZ2V0VmFyKCdQ
RicpKSkKICAgICMgQWRkIGZpbGVzIGZyb20gTElDX0ZJTEVTX0NIS1NVTSB0byBsaXN0IG9mIGxp
Y2Vuc2UgZmlsZXMKICAgIGxpY19jaGtzdW1fcGF0aHMgPSBkZWZhdWx0ZGljdChPcmRlcmVkRGlj
dCkKICAgIGZvciBwYXRoLCBkYXRhIGluIHNvcnRlZChsaWNfY2hrc3Vtcy5pdGVtcygpKToKICAg
ICAgICBsaWNfY2hrc3VtX3BhdGhzW29zLnBhdGguYmFzZW5hbWUocGF0aCldW2RhdGFdID0gKG9z
LnBhdGguam9pbihzcmNkaXIsIHBhdGgpLCBkYXRhWzFdLCBkYXRhWzJdKQogICAgZm9yIGJhc2Vu
YW1lLCBmaWxlcyBpbiBsaWNfY2hrc3VtX3BhdGhzLml0ZW1zKCk6CiAgICAgICAgaWYgbGVuKGZp
bGVzKSA9PSAxOgogICAgICAgICAgICAjIERvbid0IGNvcHkgYWdhaW4gYSBMSUNFTlNFIGFscmVh
ZHkgaGFuZGxlZCBhcyBub24tZ2VuZXJpYwogICAgICAgICAgICBpZiBiYXNlbmFtZSBpbiBub25f
Z2VuZXJpY19saWNzOgogICAgICAgICAgICAgICAgY29udGludWUKICAgICAgICAgICAgZGF0YSA9
IGxpc3QoZmlsZXMudmFsdWVzKCkpWzBdCiAgICAgICAgICAgIGxpY19maWxlc19wYXRocy5hcHBl
bmQodHVwbGUoW2Jhc2VuYW1lXSArIGxpc3QoZGF0YSkpKQogICAgICAgIGVsc2U6CiAgICAgICAg
ICAgICMgSWYgdGhlcmUgYXJlIG11bHRpcGxlIGRpZmZlcmVudCBsaWNlbnNlIGZpbGVzIHdpdGgg
aWRlbnRpY2FsCiAgICAgICAgICAgICMgYmFzZW5hbWVzIHdlIHJlbmFtZSB0aGVtIHRvIDxmaWxl
Pi4wLCA8ZmlsZT4uMSwgLi4uCiAgICAgICAgICAgIGZvciBpLCBkYXRhIGluIGVudW1lcmF0ZShm
aWxlcy52YWx1ZXMoKSk6CiAgICAgICAgICAgICAgICBsaWNfZmlsZXNfcGF0aHMuYXBwZW5kKHR1
cGxlKFsiJXMuJWQiICUgKGJhc2VuYW1lLCBpKV0gKyBsaXN0KGRhdGEpKSkKCiAgICByZXR1cm4g
bGljX2ZpbGVzX3BhdGhzCn0KCgpweXRob24gZml4dXBfcGVybXMgKCkgewogICAgaW1wb3J0IHB3
ZCwgZ3JwCgogICAgIyBpbml0IHVzaW5nIGEgc3RyaW5nIHdpdGggdGhlIHNhbWUgZm9ybWF0IGFz
IGEgbGluZSBhcyBkb2N1bWVudGVkIGluCiAgICAjIHRoZSBmcy1wZXJtcy50eHQgZmlsZQogICAg
IyA8cGF0aD4gPG1vZGU+IDx1aWQ+IDxnaWQ+IDx3YWxrPiA8Zm1vZGU+IDxmdWlkPiA8ZmdpZD4K
ICAgICMgPHBhdGg+IGxpbmsgPGxpbmsgdGFyZ2V0PgogICAgIwogICAgIyBfX3N0cl9fIGNhbiBi
ZSB1c2VkIHRvIHByaW50IG91dCBhbiBlbnRyeSBpbiB0aGUgaW5wdXQgZm9ybWF0CiAgICAjCiAg
ICAjIGlmIGZzX3Blcm1zX2VudHJ5LnBhdGggaXMgTm9uZToKICAgICMgICAgYW4gZXJyb3Igb2Nj
dXJlZAogICAgIyBpZiBmc19wZXJtc19lbnRyeS5saW5rLCB5b3UgY2FuIHJldHJpZXZlOgogICAg
IyAgICBmc19wZXJtc19lbnRyeS5wYXRoID0gcGF0aAogICAgIyAgICBmc19wZXJtc19lbnRyeS5s
aW5rID0gdGFyZ2V0IG9mIGxpbmsKICAgICMgaWYgbm90IGZzX3Blcm1zX2VudHJ5LmxpbmssIHlv
dSBjYW4gcmV0cmlldmU6CiAgICAjICAgIGZzX3Blcm1zX2VudHJ5LnBhdGggPSBwYXRoCiAgICAj
ICAgIGZzX3Blcm1zX2VudHJ5Lm1vZGUgPSBleHBlY3RlZCBkaXIgbW9kZSBvciBOb25lCiAgICAj
ICAgIGZzX3Blcm1zX2VudHJ5LnVpZCA9IGV4cGVjdGVkIHVpZCBvciAtMQogICAgIyAgICBmc19w
ZXJtc19lbnRyeS5naWQgPSBleHBlY3RlZCBnaWQgb3IgLTEKICAgICMgICAgZnNfcGVybXNfZW50
cnkud2FsayA9ICd0cnVlJyBvciBzb21ldGhpbmcgZWxzZQogICAgIyAgICBmc19wZXJtc19lbnRy
eS5mbW9kZSA9IGV4cGVjdGVkIGZpbGUgbW9kZSBvciBOb25lCiAgICAjICAgIGZzX3Blcm1zX2Vu
dHJ5LmZ1aWQgPSBleHBlY3RlZCBmaWxlIHVpZCBvciAtMQogICAgIyAgICBmc19wZXJtc19lbnRy
eV9mZ2lkID0gZXhwZWN0ZWQgZmlsZSBnaWQgb3IgLTEKICAgIGNsYXNzIGZzX3Blcm1zX2VudHJ5
KCk6CiAgICAgICAgZGVmIF9faW5pdF9fKHNlbGYsIGxpbmUpOgogICAgICAgICAgICBsc3BsaXQg
PSBsaW5lLnNwbGl0KCkKICAgICAgICAgICAgaWYgbGVuKGxzcGxpdCkgPT0gMyBhbmQgbHNwbGl0
WzFdLmxvd2VyKCkgPT0gImxpbmsiOgogICAgICAgICAgICAgICAgc2VsZi5fc2V0bGluayhsc3Bs
aXRbMF0sIGxzcGxpdFsyXSkKICAgICAgICAgICAgZWxpZiBsZW4obHNwbGl0KSA9PSA4OgogICAg
ICAgICAgICAgICAgc2VsZi5fc2V0ZGlyKGxzcGxpdFswXSwgbHNwbGl0WzFdLCBsc3BsaXRbMl0s
IGxzcGxpdFszXSwgbHNwbGl0WzRdLCBsc3BsaXRbNV0sIGxzcGxpdFs2XSwgbHNwbGl0WzddKQog
ICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgbXNnID0gIkZpeHVwIFBlcm1zOiBpbnZh
bGlkIGNvbmZpZyBsaW5lICVzIiAlIGxpbmUKICAgICAgICAgICAgICAgIHBhY2thZ2VfcWFfaGFu
ZGxlX2Vycm9yKCJwZXJtLWNvbmZpZyIsIG1zZywgZCkKICAgICAgICAgICAgICAgIHNlbGYucGF0
aCA9IE5vbmUKICAgICAgICAgICAgICAgIHNlbGYubGluayA9IE5vbmUKCiAgICAgICAgZGVmIF9z
ZXRkaXIoc2VsZiwgcGF0aCwgbW9kZSwgdWlkLCBnaWQsIHdhbGssIGZtb2RlLCBmdWlkLCBmZ2lk
KToKICAgICAgICAgICAgc2VsZi5wYXRoID0gb3MucGF0aC5ub3JtcGF0aChwYXRoKQogICAgICAg
ICAgICBzZWxmLmxpbmsgPSBOb25lCiAgICAgICAgICAgIHNlbGYubW9kZSA9IHNlbGYuX3Byb2Nt
b2RlKG1vZGUpCiAgICAgICAgICAgIHNlbGYudWlkICA9IHNlbGYuX3Byb2N1aWQodWlkKQogICAg
ICAgICAgICBzZWxmLmdpZCAgPSBzZWxmLl9wcm9jZ2lkKGdpZCkKICAgICAgICAgICAgc2VsZi53
YWxrID0gd2Fsay5sb3dlcigpCiAgICAgICAgICAgIHNlbGYuZm1vZGUgPSBzZWxmLl9wcm9jbW9k
ZShmbW9kZSkKICAgICAgICAgICAgc2VsZi5mdWlkID0gc2VsZi5fcHJvY3VpZChmdWlkKQogICAg
ICAgICAgICBzZWxmLmZnaWQgPSBzZWxmLl9wcm9jZ2lkKGZnaWQpCgogICAgICAgIGRlZiBfc2V0
bGluayhzZWxmLCBwYXRoLCBsaW5rKToKICAgICAgICAgICAgc2VsZi5wYXRoID0gb3MucGF0aC5u
b3JtcGF0aChwYXRoKQogICAgICAgICAgICBzZWxmLmxpbmsgPSBsaW5rCgogICAgICAgIGRlZiBf
cHJvY21vZGUoc2VsZiwgbW9kZSk6CiAgICAgICAgICAgIGlmIG5vdCBtb2RlIG9yIChtb2RlIGFu
ZCBtb2RlID09ICItIik6CiAgICAgICAgICAgICAgICByZXR1cm4gTm9uZQogICAgICAgICAgICBl
bHNlOgogICAgICAgICAgICAgICAgcmV0dXJuIGludChtb2RlLDgpCgogICAgICAgICMgTm90ZSB1
aWQvZ2lkIC0xIGhhcyBzcGVjaWFsIHNpZ25pZmljYW5jZSBpbiBvcy5sY2hvd24KICAgICAgICBk
ZWYgX3Byb2N1aWQoc2VsZiwgdWlkKToKICAgICAgICAgICAgaWYgdWlkIGlzIE5vbmUgb3IgdWlk
ID09ICItIjoKICAgICAgICAgICAgICAgIHJldHVybiAtMQogICAgICAgICAgICBlbGlmIHVpZC5p
c2RpZ2l0KCk6CiAgICAgICAgICAgICAgICByZXR1cm4gaW50KHVpZCkKICAgICAgICAgICAgZWxz
ZToKICAgICAgICAgICAgICAgIHJldHVybiBwd2QuZ2V0cHduYW0odWlkKS5wd191aWQKCiAgICAg
ICAgZGVmIF9wcm9jZ2lkKHNlbGYsIGdpZCk6CiAgICAgICAgICAgIGlmIGdpZCBpcyBOb25lIG9y
IGdpZCA9PSAiLSI6CiAgICAgICAgICAgICAgICByZXR1cm4gLTEKICAgICAgICAgICAgZWxpZiBn
aWQuaXNkaWdpdCgpOgogICAgICAgICAgICAgICAgcmV0dXJuIGludChnaWQpCiAgICAgICAgICAg
IGVsc2U6CiAgICAgICAgICAgICAgICByZXR1cm4gZ3JwLmdldGdybmFtKGdpZCkuZ3JfZ2lkCgog
ICAgICAgICMgVXNlIGZvciBkZWJ1Z2dpbmcgdGhlIGVudHJpZXMKICAgICAgICBkZWYgX19zdHJf
XyhzZWxmKToKICAgICAgICAgICAgaWYgc2VsZi5saW5rOgogICAgICAgICAgICAgICAgcmV0dXJu
ICIlcyBsaW5rICVzIiAlIChzZWxmLnBhdGgsIHNlbGYubGluaykKICAgICAgICAgICAgZWxzZToK
ICAgICAgICAgICAgICAgIG1vZGUgPSAiLSIKICAgICAgICAgICAgICAgIGlmIHNlbGYubW9kZToK
ICAgICAgICAgICAgICAgICAgICBtb2RlID0gIjAlbyIgJSBzZWxmLm1vZGUKICAgICAgICAgICAg
ICAgIGZtb2RlID0gIi0iCiAgICAgICAgICAgICAgICBpZiBzZWxmLmZtb2RlOgogICAgICAgICAg
ICAgICAgICAgIGZtb2RlID0gIjAlbyIgJSBzZWxmLmZtb2RlCiAgICAgICAgICAgICAgICB1aWQg
PSBzZWxmLl9tYXB1Z2lkKHNlbGYudWlkKQogICAgICAgICAgICAgICAgZ2lkID0gc2VsZi5fbWFw
dWdpZChzZWxmLmdpZCkKICAgICAgICAgICAgICAgIGZ1aWQgPSBzZWxmLl9tYXB1Z2lkKHNlbGYu
ZnVpZCkKICAgICAgICAgICAgICAgIGZnaWQgPSBzZWxmLl9tYXB1Z2lkKHNlbGYuZmdpZCkKICAg
ICAgICAgICAgICAgIHJldHVybiAiJXMgJXMgJXMgJXMgJXMgJXMgJXMgJXMiICUgKHNlbGYucGF0
aCwgbW9kZSwgdWlkLCBnaWQsIHNlbGYud2FsaywgZm1vZGUsIGZ1aWQsIGZnaWQpCgogICAgICAg
IGRlZiBfbWFwdWdpZChzZWxmLCBpZCk6CiAgICAgICAgICAgIGlmIGlkIGlzIE5vbmUgb3IgaWQg
PT0gLTE6CiAgICAgICAgICAgICAgICByZXR1cm4gIi0iCiAgICAgICAgICAgIGVsc2U6CiAgICAg
ICAgICAgICAgICByZXR1cm4gIiVkIiAlIGlkCgogICAgIyBGaXggdGhlIHBlcm1pc3Npb24sIG93
bmVyIGFuZCBncm91cCBvZiBwYXRoCiAgICBkZWYgZml4X3Blcm1zKHBhdGgsIG1vZGUsIHVpZCwg
Z2lkLCBkaXIpOgogICAgICAgIGlmIG1vZGUgYW5kIG5vdCBvcy5wYXRoLmlzbGluayhwYXRoKToK
ICAgICAgICAgICAgI2JiLm5vdGUoIkZpeHVwIFBlcm1zOiBjaG1vZCAwJW8gJXMiICUgKG1vZGUs
IGRpcikpCiAgICAgICAgICAgIG9zLmNobW9kKHBhdGgsIG1vZGUpCiAgICAgICAgIyAtMSBpcyBh
IHNwZWNpYWwgdmFsdWUgdGhhdCBtZWFucyBkb24ndCBjaGFuZ2UgdGhlIHVpZC9naWQKICAgICAg
ICAjIGlmIHRoZXkgYXJlIEJPVEggLTEsIGRvbid0IGJvdGhlciB0byBsY2hvd24KICAgICAgICBp
ZiBub3QgKHVpZCA9PSAtMSBhbmQgZ2lkID09IC0xKToKICAgICAgICAgICAgI2JiLm5vdGUoIkZp
eHVwIFBlcm1zOiBsY2hvd24gJWQ6JWQgJXMiICUgKHVpZCwgZ2lkLCBkaXIpKQogICAgICAgICAg
ICBvcy5sY2hvd24ocGF0aCwgdWlkLCBnaWQpCgogICAgIyBSZXR1cm4gYSBsaXN0IG9mIGNvbmZp
Z3VyYXRpb24gZmlsZXMgYmFzZWQgb24gZWl0aGVyIHRoZSBkZWZhdWx0CiAgICAjIGZpbGVzL2Zz
LXBlcm1zLnR4dCBvciB0aGUgY29udGVudHMgb2YgRklMRVNZU1RFTV9QRVJNU19UQUJMRVMKICAg
ICMgcGF0aHMgYXJlIHJlc29sdmVkIHZpYSBCQlBBVEgKICAgIGRlZiBnZXRfZnNfcGVybXNfbGlz
dChkKToKICAgICAgICBzdHIgPSAiIgogICAgICAgIGJicGF0aCA9IGQuZ2V0VmFyKCdCQlBBVEgn
KQogICAgICAgIGZzX3Blcm1zX3RhYmxlcyA9IGQuZ2V0VmFyKCdGSUxFU1lTVEVNX1BFUk1TX1RB
QkxFUycpCiAgICAgICAgaWYgbm90IGZzX3Blcm1zX3RhYmxlczoKICAgICAgICAgICAgZnNfcGVy
bXNfdGFibGVzID0gJ2ZpbGVzL2ZzLXBlcm1zLnR4dCcKICAgICAgICBmb3IgY29uZl9maWxlIGlu
IGZzX3Blcm1zX3RhYmxlcy5zcGxpdCgpOgogICAgICAgICAgICBzdHIgKz0gIiAlcyIgJSBiYi51
dGlscy53aGljaChiYnBhdGgsIGNvbmZfZmlsZSkKICAgICAgICByZXR1cm4gc3RyCgoKCiAgICBk
dmFyID0gZC5nZXRWYXIoJ1BLR0QnKQoKICAgIGZzX3Blcm1zX3RhYmxlID0ge30KICAgIGZzX2xp
bmtfdGFibGUgPSB7fQoKICAgICMgQnkgZGVmYXVsdCBhbGwgb2YgdGhlIHN0YW5kYXJkIGRpcmVj
dG9yaWVzIHNwZWNpZmllZCBpbgogICAgIyBiaXRiYWtlLmNvbmYgd2lsbCBnZXQgMDc1NSByb290
OnJvb3QuCiAgICB0YXJnZXRfcGF0aF92YXJzID0gWyAgICAnYmFzZV9wcmVmaXgnLAogICAgICAg
ICAgICAgICAgJ3ByZWZpeCcsCiAgICAgICAgICAgICAgICAnZXhlY19wcmVmaXgnLAogICAgICAg
ICAgICAgICAgJ2Jhc2VfYmluZGlyJywKICAgICAgICAgICAgICAgICdiYXNlX3NiaW5kaXInLAog
ICAgICAgICAgICAgICAgJ2Jhc2VfbGliZGlyJywKICAgICAgICAgICAgICAgICdkYXRhZGlyJywK
ICAgICAgICAgICAgICAgICdzeXNjb25mZGlyJywKICAgICAgICAgICAgICAgICdzZXJ2aWNlZGly
JywKICAgICAgICAgICAgICAgICdzaGFyZWRzdGF0ZWRpcicsCiAgICAgICAgICAgICAgICAnbG9j
YWxzdGF0ZWRpcicsCiAgICAgICAgICAgICAgICAnaW5mb2RpcicsCiAgICAgICAgICAgICAgICAn
bWFuZGlyJywKICAgICAgICAgICAgICAgICdkb2NkaXInLAogICAgICAgICAgICAgICAgJ2JpbmRp
cicsCiAgICAgICAgICAgICAgICAnc2JpbmRpcicsCiAgICAgICAgICAgICAgICAnbGliZXhlY2Rp
cicsCiAgICAgICAgICAgICAgICAnbGliZGlyJywKICAgICAgICAgICAgICAgICdpbmNsdWRlZGly
JywKICAgICAgICAgICAgICAgICdvbGRpbmNsdWRlZGlyJyBdCgogICAgZm9yIHBhdGggaW4gdGFy
Z2V0X3BhdGhfdmFyczoKICAgICAgICBkaXIgPSBkLmdldFZhcihwYXRoKSBvciAiIgogICAgICAg
IGlmIGRpciA9PSAiIjoKICAgICAgICAgICAgY29udGludWUKICAgICAgICBmc19wZXJtc190YWJs
ZVtkaXJdID0gZnNfcGVybXNfZW50cnkoZC5leHBhbmQoIiVzIDA3NTUgcm9vdCByb290IGZhbHNl
IC0gLSAtIiAlIChkaXIpKSkKCiAgICAjIE5vdyB3ZSBhY3R1YWxseSBsb2FkIGZyb20gdGhlIGNv
bmZpZ3VyYXRpb24gZmlsZXMKICAgIGZvciBjb25mIGluIGdldF9mc19wZXJtc19saXN0KGQpLnNw
bGl0KCk6CiAgICAgICAgaWYgb3MucGF0aC5leGlzdHMoY29uZik6CiAgICAgICAgICAgIGYgPSBv
cGVuKGNvbmYpCiAgICAgICAgICAgIGZvciBsaW5lIGluIGY6CiAgICAgICAgICAgICAgICBpZiBs
aW5lLnN0YXJ0c3dpdGgoJyMnKToKICAgICAgICAgICAgICAgICAgICBjb250aW51ZQogICAgICAg
ICAgICAgICAgbHNwbGl0ID0gbGluZS5zcGxpdCgpCiAgICAgICAgICAgICAgICBpZiBsZW4obHNw
bGl0KSA9PSAwOgogICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCiAgICAgICAgICAgICAgICBp
ZiBsZW4obHNwbGl0KSAhPSA4IGFuZCBub3QgKGxlbihsc3BsaXQpID09IDMgYW5kIGxzcGxpdFsx
XS5sb3dlcigpID09ICJsaW5rIik6CiAgICAgICAgICAgICAgICAgICAgbXNnID0gIkZpeHVwIHBl
cm1zOiAlcyBpbnZhbGlkIGxpbmU6ICVzIiAlIChjb25mLCBsaW5lKQogICAgICAgICAgICAgICAg
ICAgIHBhY2thZ2VfcWFfaGFuZGxlX2Vycm9yKCJwZXJtLWxpbmUiLCBtc2csIGQpCiAgICAgICAg
ICAgICAgICAgICAgY29udGludWUKICAgICAgICAgICAgICAgIGVudHJ5ID0gZnNfcGVybXNfZW50
cnkoZC5leHBhbmQobGluZSkpCiAgICAgICAgICAgICAgICBpZiBlbnRyeSBhbmQgZW50cnkucGF0
aDoKICAgICAgICAgICAgICAgICAgICBpZiBlbnRyeS5saW5rOgogICAgICAgICAgICAgICAgICAg
ICAgICBmc19saW5rX3RhYmxlW2VudHJ5LnBhdGhdID0gZW50cnkKICAgICAgICAgICAgICAgICAg
ICAgICAgaWYgZW50cnkucGF0aCBpbiBmc19wZXJtc190YWJsZToKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGZzX3Blcm1zX3RhYmxlLnBvcChlbnRyeS5wYXRoKQogICAgICAgICAgICAgICAg
ICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgICAgICAgIGZzX3Blcm1zX3RhYmxlW2VudHJ5LnBh
dGhdID0gZW50cnkKICAgICAgICAgICAgICAgICAgICAgICAgaWYgZW50cnkucGF0aCBpbiBmc19s
aW5rX3RhYmxlOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZnNfbGlua190YWJsZS5wb3Ao
ZW50cnkucGF0aCkKICAgICAgICAgICAgZi5jbG9zZSgpCgogICAgIyBEZWJ1ZyAtLSBsaXN0IG91
dCBpbi1tZW1vcnkgdGFibGUKICAgICNmb3IgZGlyIGluIGZzX3Blcm1zX3RhYmxlOgogICAgIyAg
ICBiYi5ub3RlKCJGaXh1cCBQZXJtczogJXM6ICVzIiAlIChkaXIsIHN0cihmc19wZXJtc190YWJs
ZVtkaXJdKSkpCiAgICAjZm9yIGxpbmsgaW4gZnNfbGlua190YWJsZToKICAgICMgICAgYmIubm90
ZSgiRml4dXAgUGVybXM6ICVzOiAlcyIgJSAobGluaywgc3RyKGZzX2xpbmtfdGFibGVbbGlua10p
KSkKCiAgICAjIFdlIHByb2Nlc3MgbGlua3MgZmlyc3QsIHNvIHdlIGNhbiBnbyBiYWNrIGFuZCBm
aXh1cCBkaXJlY3Rvcnkgb3duZXJzaGlwCiAgICAjIGZvciBhbnkgbmV3bHkgY3JlYXRlZCBkaXJl
Y3RvcmllcwogICAgIyBQcm9jZXNzIGluIHNvcnRlZCBvcmRlciBzbyAvcnVuIGdldHMgY3JlYXRl
ZCBiZWZvcmUgL3J1bi9sb2NrLCBldGMuCiAgICBmb3IgZW50cnkgaW4gc29ydGVkKGZzX2xpbmtf
dGFibGUudmFsdWVzKCksIGtleT1sYW1iZGEgeDogeC5saW5rKToKICAgICAgICBsaW5rID0gZW50
cnkubGluawogICAgICAgIGRpciA9IGVudHJ5LnBhdGgKICAgICAgICBvcmlnaW4gPSBkdmFyICsg
ZGlyCiAgICAgICAgaWYgbm90IChjcGF0aC5leGlzdHMob3JpZ2luKSBhbmQgY3BhdGguaXNkaXIo
b3JpZ2luKSBhbmQgbm90IGNwYXRoLmlzbGluayhvcmlnaW4pKToKICAgICAgICAgICAgY29udGlu
dWUKCiAgICAgICAgaWYgbGlua1swXSA9PSAiLyI6CiAgICAgICAgICAgIHRhcmdldCA9IGR2YXIg
KyBsaW5rCiAgICAgICAgICAgIHB0YXJnZXQgPSBsaW5rCiAgICAgICAgZWxzZToKICAgICAgICAg
ICAgdGFyZ2V0ID0gb3MucGF0aC5qb2luKG9zLnBhdGguZGlybmFtZShvcmlnaW4pLCBsaW5rKQog
ICAgICAgICAgICBwdGFyZ2V0ID0gb3MucGF0aC5qb2luKG9zLnBhdGguZGlybmFtZShkaXIpLCBs
aW5rKQogICAgICAgIGlmIG9zLnBhdGguZXhpc3RzKHRhcmdldCk6CiAgICAgICAgICAgIG1zZyA9
ICJGaXh1cCBQZXJtczogVW5hYmxlIHRvIGNvcnJlY3QgZGlyZWN0b3J5IGxpbmssIHRhcmdldCBh
bHJlYWR5IGV4aXN0czogJXMgLT4gJXMiICUgKGRpciwgcHRhcmdldCkKICAgICAgICAgICAgcGFj
a2FnZV9xYV9oYW5kbGVfZXJyb3IoInBlcm0tbGluayIsIG1zZywgZCkKICAgICAgICAgICAgY29u
dGludWUKCiAgICAgICAgIyBDcmVhdGUgcGF0aCB0byBtb3ZlIGRpcmVjdG9yeSB0bywgbW92ZSBp
dCwgYW5kIHRoZW4gc2V0dXAgdGhlIHN5bWxpbmsKICAgICAgICBiYi51dGlscy5ta2RpcmhpZXIo
b3MucGF0aC5kaXJuYW1lKHRhcmdldCkpCiAgICAgICAgI2JiLm5vdGUoIkZpeHVwIFBlcm1zOiBS
ZW5hbWUgJXMgLT4gJXMiICUgKGRpciwgcHRhcmdldCkpCiAgICAgICAgb3MucmVuYW1lKG9yaWdp
biwgdGFyZ2V0KQogICAgICAgICNiYi5ub3RlKCJGaXh1cCBQZXJtczogTGluayAlcyAtPiAlcyIg
JSAoZGlyLCBsaW5rKSkKICAgICAgICBvcy5zeW1saW5rKGxpbmssIG9yaWdpbikKCiAgICBmb3Ig
ZGlyIGluIGZzX3Blcm1zX3RhYmxlOgogICAgICAgIG9yaWdpbiA9IGR2YXIgKyBkaXIKICAgICAg
ICBpZiBub3QgKGNwYXRoLmV4aXN0cyhvcmlnaW4pIGFuZCBjcGF0aC5pc2RpcihvcmlnaW4pKToK
ICAgICAgICAgICAgY29udGludWUKCiAgICAgICAgZml4X3Blcm1zKG9yaWdpbiwgZnNfcGVybXNf
dGFibGVbZGlyXS5tb2RlLCBmc19wZXJtc190YWJsZVtkaXJdLnVpZCwgZnNfcGVybXNfdGFibGVb
ZGlyXS5naWQsIGRpcikKCiAgICAgICAgaWYgZnNfcGVybXNfdGFibGVbZGlyXS53YWxrID09ICd0
cnVlJzoKICAgICAgICAgICAgZm9yIHJvb3QsIGRpcnMsIGZpbGVzIGluIG9zLndhbGsob3JpZ2lu
KToKICAgICAgICAgICAgICAgIGZvciBkciBpbiBkaXJzOgogICAgICAgICAgICAgICAgICAgIGVh
Y2hfZGlyID0gb3MucGF0aC5qb2luKHJvb3QsIGRyKQogICAgICAgICAgICAgICAgICAgIGZpeF9w
ZXJtcyhlYWNoX2RpciwgZnNfcGVybXNfdGFibGVbZGlyXS5tb2RlLCBmc19wZXJtc190YWJsZVtk
aXJdLnVpZCwgZnNfcGVybXNfdGFibGVbZGlyXS5naWQsIGRpcikKICAgICAgICAgICAgICAgIGZv
ciBmIGluIGZpbGVzOgogICAgICAgICAgICAgICAgICAgIGVhY2hfZmlsZSA9IG9zLnBhdGguam9p
bihyb290LCBmKQogICAgICAgICAgICAgICAgICAgIGZpeF9wZXJtcyhlYWNoX2ZpbGUsIGZzX3Bl
cm1zX3RhYmxlW2Rpcl0uZm1vZGUsIGZzX3Blcm1zX3RhYmxlW2Rpcl0uZnVpZCwgZnNfcGVybXNf
dGFibGVbZGlyXS5mZ2lkLCBkaXIpCn0KCgpweXRob24gZ2VuX3BhY2thZ2V2YXIgKCkgewpkZWYg
Z2VuX3BhY2thZ2V2YXIoZCk6CiAgICByZXQgPSBbXQogICAgcGtncyA9IChkLmdldFZhcigiUEFD
S0FHRVMiKSBvciAiIikuc3BsaXQoKQogICAgdmFycyA9IChkLmdldFZhcigiUEFDS0FHRVZBUlMi
KSBvciAiIikuc3BsaXQoKQogICAgZm9yIHAgaW4gcGtnczoKICAgICAgICBmb3IgdiBpbiB2YXJz
OgogICAgICAgICAgICByZXQuYXBwZW5kKHYgKyAiXyIgKyBwKQoKICAgICAgICAjIEVuc3VyZSB0
aGF0IGNoYW5nZXMgdG8gSU5DT01QQVRJQkxFX0xJQ0VOU0UgcmUtcnVuIGRvX3BhY2thZ2UgZm9y
CiAgICAgICAgIyBhZmZlY3RlZCByZWNpcGVzLgogICAgICAgIHJldC5hcHBlbmQoJ0xJQ0VOU0Vf
RVhDTFVTSU9OLSVzJyAlIHApCiAgICByZXR1cm4gIiAiLmpvaW4ocmV0KQp9CgoKcHl0aG9uIGdl
bmVyYXRlX3NzdGF0ZWZuICgpIHsKZGVmIGdlbmVyYXRlX3NzdGF0ZWZuKHNwZWMsIGhhc2gsIGQp
OgogICAgaWYgbm90IGhhc2g6CiAgICAgICAgaGFzaCA9ICJJTlZBTElEIgogICAgcmV0dXJuIGhh
c2hbOjJdICsgIi8iICsgc3BlYyArIGhhc2gKfQoKCnB5dGhvbiBnZXRfYm9vdF9kZXBlbmRlbmNp
ZXMgKCkgewpkZWYgZ2V0X2Jvb3RfZGVwZW5kZW5jaWVzKGQpOgogICAgIiIiCiAgICBSZXR1cm4g
dGhlIGRlcGVuZGVuY2llcyBmcm9tIGJvb3QgdGFza3MKICAgICIiIgoKICAgIGRlcGVuZHMgPSBb
XQogICAgYm9vdF9kZXBlbmRzX3N0cmluZyA9ICIiCiAgICB0YXNrZGVwZGF0YSA9IGQuZ2V0VmFy
KCJCQl9UQVNLREVQREFUQSIsIEZhbHNlKQogICAgIyBPbmx5IGJvb3RpbWcgYW5kIGJvb3RkaXJl
Y3RkaXNrIGluY2x1ZGUgdGhlIGRlcGVuZHMgZmxhZwogICAgYm9vdF90YXNrcyA9IFsiZG9fYm9v
dGltZyIsICJkb19ib290ZGlyZWN0ZGlzayIsXQoKICAgIGZvciB0YXNrIGluIGJvb3RfdGFza3M6
CiAgICAgICAgYm9vdF9kZXBlbmRzX3N0cmluZyA9ICIlcyAlcyIgJSAoYm9vdF9kZXBlbmRzX3N0
cmluZywKICAgICAgICAgICAgICAgIGQuZ2V0VmFyRmxhZyh0YXNrLCAiZGVwZW5kcyIpIG9yICIi
KQogICAgYm9vdF9kZXBlbmRzID0gW2RlcC5zcGxpdCgiOiIpWzBdIGZvciBkZXAKICAgICAgICAg
ICAgICAgIGluIGJvb3RfZGVwZW5kc19zdHJpbmcuc3BsaXQoKQogICAgICAgICAgICAgICAgaWYg
bm90IGRlcC5zcGxpdCgiOiIpWzBdLmVuZHN3aXRoKCItbmF0aXZlIildCiAgICBmb3IgZGVwIGlu
IGJvb3RfZGVwZW5kczoKICAgICAgICBpbmZvX2ZpbGUgPSBvcy5wYXRoLmpvaW4oZC5nZXRWYXIo
IkxJQ0VOU0VfRElSRUNUT1JZIiksCiAgICAgICAgICAgICAgICBkZXAsICJyZWNpcGVpbmZvIikK
ICAgICAgICAjIElmIHRoZSByZWNpcGUgYW5kIGRlcGVuZGVuY3kgbmFtZSBpcyB0aGUgc2FtZQog
ICAgICAgIGlmIG9zLnBhdGguZXhpc3RzKGluZm9fZmlsZSk6CiAgICAgICAgICAgIGRlcGVuZHMu
YXBwZW5kKGRlcCkKICAgICAgICAjIFdlIG5lZWQgdG8gc2VhcmNoIGZvciB0aGUgcHJvdmlkZXIg
b2YgdGhlIGRlcGVuZGVuY3kKICAgICAgICBlbHNlOgogICAgICAgICAgICBmb3IgdGFza2RlcCBp
biB0YXNrZGVwZGF0YS52YWx1ZXMoKToKICAgICAgICAgICAgICAgICMgVGhlIGZpZnRoIGZpZWxk
IGNvbnRhaW5zIHdoYXQgdGhlIHRhc2sgcHJvdmlkZXMKICAgICAgICAgICAgICAgIGlmIGRlcCBp
biB0YXNrZGVwWzRdOgogICAgICAgICAgICAgICAgICAgIGluZm9fZmlsZSA9IG9zLnBhdGguam9p
bigKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQuZ2V0VmFyKCJMSUNFTlNFX0RJUkVDVE9S
WSIpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFza2RlcFswXSwgInJlY2lwZWluZm8i
KQogICAgICAgICAgICAgICAgICAgIGlmIG9zLnBhdGguZXhpc3RzKGluZm9fZmlsZSk6CiAgICAg
ICAgICAgICAgICAgICAgICAgIGRlcGVuZHMuYXBwZW5kKHRhc2tkZXBbMF0pCiAgICAgICAgICAg
ICAgICAgICAgICAgIGJyZWFrCiAgICByZXR1cm4gZGVwZW5kc30KCgpweXRob24gZ2V0X2J1aWxk
cHJvY2Vzc19jcHV0aW1lICgpIHsKZGVmIGdldF9idWlsZHByb2Nlc3NfY3B1dGltZShwaWQpOgog
ICAgd2l0aCBvcGVuKCIvcHJvYy8lZC9zdGF0IiAlIHBpZCwgInIiKSBhcyBmOgogICAgICAgIGZp
ZWxkcyA9IGYucmVhZGxpbmUoKS5yc3RyaXAoKS5zcGxpdCgpCiAgICAjIDEzOiB1dGltZSwgMTQ6
IHN0aW1lLCAxNTogY3V0aW1lLCAxNjogY3N0aW1lCiAgICByZXR1cm4gc3VtKGludChmaWVsZCkg
Zm9yIGZpZWxkIGluIGZpZWxkc1sxMzoxNl0pCn0KCgpweXRob24gZ2V0X2J1aWxkdGltZWRhdGEg
KCkgewpkZWYgZ2V0X2J1aWxkdGltZWRhdGEodmFyLCBkKToKICAgIGltcG9ydCB0aW1lCiAgICB0
aW1lZGF0YSA9IGQuZ2V0VmFyKHZhciwgRmFsc2UpCiAgICBpZiB0aW1lZGF0YSBpcyBOb25lOgog
ICAgICAgIHJldHVybgogICAgb2xkdGltZSwgb2xkY3B1LCBvbGRwcm9jID0gdGltZWRhdGEKICAg
IHByb2NkaWZmID0gZ2V0X2J1aWxkcHJvY2Vzc19jcHV0aW1lKG9zLmdldHBpZCgpKSAtIG9sZHBy
b2MKICAgIGNwdWRpZmYgPSBnZXRfY3B1dGltZSgpIC0gb2xkY3B1CiAgICBlbmRfdGltZSA9IHRp
bWUudGltZSgpCiAgICB0aW1lZGlmZiA9IGVuZF90aW1lIC0gb2xkdGltZQogICAgaWYgY3B1ZGlm
ZiA+IDA6CiAgICAgICAgY3B1cGVyYyA9IGZsb2F0KHByb2NkaWZmKSAqIDEwMCAvIGNwdWRpZmYK
ICAgIGVsc2U6CiAgICAgICAgY3B1cGVyYyA9IE5vbmUKICAgIHJldHVybiB0aW1lZGlmZiwgY3B1
cGVyYwp9CgoKcHl0aG9uIGdldF9jb25mZmlsZXMgKCkgewpkZWYgZ2V0X2NvbmZmaWxlcyhwa2cs
IGQpOgogICAgcGtnZGVzdCA9IGQuZ2V0VmFyKCdQS0dERVNUJykKICAgIHJvb3QgPSBvcy5wYXRo
LmpvaW4ocGtnZGVzdCwgcGtnKQogICAgY3dkID0gb3MuZ2V0Y3dkKCkKICAgIG9zLmNoZGlyKHJv
b3QpCgogICAgY29uZmZpbGVzID0gZC5nZXRWYXIoJ0NPTkZGSUxFU18lcycgJSBwa2cpOwogICAg
aWYgY29uZmZpbGVzID09IE5vbmU6CiAgICAgICAgY29uZmZpbGVzID0gZC5nZXRWYXIoJ0NPTkZG
SUxFUycpCiAgICBpZiBjb25mZmlsZXMgPT0gTm9uZToKICAgICAgICBjb25mZmlsZXMgPSAiIgog
ICAgY29uZmZpbGVzID0gY29uZmZpbGVzLnNwbGl0KCkKICAgIGNvbmZfb3JpZ19saXN0ID0gZmls
ZXNfZnJvbV9maWxldmFycyhjb25mZmlsZXMpWzBdCgogICAgIyBSZW1vdmUgbGlua3MgYW5kIGRp
cmVjdG9yaWVzIGZyb20gY29uZl9vcmlnX2xpc3QgdG8gZ2V0IGNvbmZfbGlzdCB3aGljaCBvbmx5
IGNvbnRhaW5zIG5vcm1hbCBmaWxlcwogICAgY29uZl9saXN0ID0gW10KICAgIGZvciBmIGluIGNv
bmZfb3JpZ19saXN0OgogICAgICAgIGlmIG9zLnBhdGguaXNkaXIoZik6CiAgICAgICAgICAgIGNv
bnRpbnVlCiAgICAgICAgaWYgb3MucGF0aC5pc2xpbmsoZik6CiAgICAgICAgICAgIGNvbnRpbnVl
CiAgICAgICAgaWYgbm90IG9zLnBhdGguZXhpc3RzKGYpOgogICAgICAgICAgICBjb250aW51ZQog
ICAgICAgIGNvbmZfbGlzdC5hcHBlbmQoZikKCiAgICAjIFJlbW92ZSB0aGUgbGVhZGluZyAnLi8n
CiAgICBmb3IgaSBpbiByYW5nZSgwLCBsZW4oY29uZl9saXN0KSk6CiAgICAgICAgY29uZl9saXN0
W2ldID0gY29uZl9saXN0W2ldWzE6XQoKICAgIG9zLmNoZGlyKGN3ZCkKICAgIHJldHVybiBjb25m
X2xpc3QKfQoKCnB5dGhvbiBnZXRfY3B1dGltZSAoKSB7CmRlZiBnZXRfY3B1dGltZSgpOgogICAg
d2l0aCBvcGVuKCIvcHJvYy9zdGF0IiwgInIiKSBhcyBmOgogICAgICAgIGZpZWxkcyA9IGYucmVh
ZGxpbmUoKS5yc3RyaXAoKS5zcGxpdCgpWzE6XQogICAgcmV0dXJuIHN1bShpbnQoZmllbGQpIGZv
ciBmaWVsZCBpbiBmaWVsZHMpCn0KCgpweXRob24gZ2V0X2RlcGxveWVkX2RlcGVuZGVuY2llcyAo
KSB7CmRlZiBnZXRfZGVwbG95ZWRfZGVwZW5kZW5jaWVzKGQpOgogICAgIiIiCiAgICBHZXQgYWxs
IHRoZSBkZXBsb3llZCBkZXBlbmRlbmNpZXMgb2YgYW4gaW1hZ2UKICAgICIiIgoKICAgIGRlcGxv
eSA9IHt9CiAgICAjIEdldCBhbGwgdGhlIGRlcGVuZGVuY2llcyBmb3IgdGhlIGN1cnJlbnQgdGFz
ayAocm9vdGZzKS4KICAgICMgQWxzbyBnZXQgRVhUUkFfSU1BR0VERVBFTkRTIGJlY2F1c2UgdGhl
IGJvb3Rsb2FkZXIgaXMKICAgICMgdXN1YWxseSBpbiB0aGlzIHZhciBhbmQgbm90IGxpc3RlZCBp
biByb290ZnMuCiAgICAjIEF0IGxhc3QsIGdldCB0aGUgZGVwZW5kZW5jaWVzIGZyb20gYm9vdCBj
bGFzc2VzIGJlY2F1c2UKICAgICMgaXQgbWlnaHQgY29udGFpbiB0aGUgYm9vdGxvYWRlci4KICAg
IHRhc2tkYXRhID0gZC5nZXRWYXIoIkJCX1RBU0tERVBEQVRBIiwgRmFsc2UpCiAgICBkZXBlbmRz
ID0gbGlzdChzZXQoW2RlcFswXSBmb3IgZGVwCiAgICAgICAgICAgICAgICAgICAgaW4gbGlzdCh0
YXNrZGF0YS52YWx1ZXMoKSkKICAgICAgICAgICAgICAgICAgICBpZiBub3QgZGVwWzBdLmVuZHN3
aXRoKCItbmF0aXZlIildKSkKICAgIGV4dHJhX2RlcGVuZHMgPSBkLmdldFZhcigiRVhUUkFfSU1B
R0VERVBFTkRTIikKICAgIGJvb3RfZGVwZW5kcyA9IGdldF9ib290X2RlcGVuZGVuY2llcyhkKQog
ICAgZGVwZW5kcy5leHRlbmQoZXh0cmFfZGVwZW5kcy5zcGxpdCgpKQogICAgZGVwZW5kcy5leHRl
bmQoYm9vdF9kZXBlbmRzKQogICAgZGVwZW5kcyA9IGxpc3Qoc2V0KGRlcGVuZHMpKQoKICAgICMg
VG8gdmVyaWZ5IHdoYXQgd2FzIGRlcGxveWVkIGl0IGNoZWNrcyB0aGUgcm9vdGZzIGRlcGVuZGVu
Y2llcyBhZ2FpbnN0CiAgICAjIHRoZSBTU1RBVEVfTUFOSUZFU1RTIGZvciAiZGVwbG95IiB0YXNr
LgogICAgIyBUaGUgbWFuaWZlc3QgZmlsZSBuYW1lIGNvbnRhaW5zIHRoZSBhcmNoLiBCZWNhdXNl
IHdlIGFyZSBub3QgcnVubmluZwogICAgIyBpbiB0aGUgcmVjaXBlIGNvbnRleHQgaXQgaXMgbmVj
ZXNzYXJ5IHRvIGNoZWNrIGV2ZXJ5IGFyY2ggdXNlZC4KICAgIHNzdGF0ZV9tYW5pZmVzdF9kaXIg
PSBkLmdldFZhcigiU1NUQVRFX01BTklGRVNUUyIpCiAgICBzc3RhdGVfYXJjaHMgPSBkLmdldFZh
cigiU1NUQVRFX0FSQ0hTIikKICAgIGV4dHJhX2FyY2hzID0gZC5nZXRWYXIoIlBBQ0tBR0VfRVhU
UkFfQVJDSFMiKQogICAgYXJjaHMgPSBsaXN0KHNldCgoIiVzICVzIiAlIChzc3RhdGVfYXJjaHMs
IGV4dHJhX2FyY2hzKSkuc3BsaXQoKSkpCiAgICBmb3IgZGVwIGluIGRlcGVuZHM6CiAgICAgICAg
IyBTb21lIHJlY2lwZXMgaGF2ZSBhbiBhcmNoIG9uIHRoZWlyIG93biwgc28gd2UgdHJ5IHRoYXQg
Zmlyc3QuCiAgICAgICAgc3BlY2lhbF9hcmNoID0gZC5nZXRWYXIoIlBBQ0tBR0VfQVJDSF9wbi0l
cyIgJSBkZXApCiAgICAgICAgaWYgc3BlY2lhbF9hcmNoOgogICAgICAgICAgICBzc3RhdGVfbWFu
aWZlc3RfZmlsZSA9IG9zLnBhdGguam9pbihzc3RhdGVfbWFuaWZlc3RfZGlyLAogICAgICAgICAg
ICAgICAgICAgICJtYW5pZmVzdC0lcy0lcy5kZXBsb3kiICUgKHNwZWNpYWxfYXJjaCwgZGVwKSkK
ICAgICAgICAgICAgaWYgb3MucGF0aC5leGlzdHMoc3N0YXRlX21hbmlmZXN0X2ZpbGUpOgogICAg
ICAgICAgICAgICAgZGVwbG95W2RlcF0gPSBzc3RhdGVfbWFuaWZlc3RfZmlsZQogICAgICAgICAg
ICAgICAgY29udGludWUKCiAgICAgICAgZm9yIGFyY2ggaW4gYXJjaHM6CiAgICAgICAgICAgIHNz
dGF0ZV9tYW5pZmVzdF9maWxlID0gb3MucGF0aC5qb2luKHNzdGF0ZV9tYW5pZmVzdF9kaXIsCiAg
ICAgICAgICAgICAgICAgICAgIm1hbmlmZXN0LSVzLSVzLmRlcGxveSIgJSAoYXJjaCwgZGVwKSkK
ICAgICAgICAgICAgaWYgb3MucGF0aC5leGlzdHMoc3N0YXRlX21hbmlmZXN0X2ZpbGUpOgogICAg
ICAgICAgICAgICAgZGVwbG95W2RlcF0gPSBzc3RhdGVfbWFuaWZlc3RfZmlsZQogICAgICAgICAg
ICAgICAgYnJlYWsKCiAgICByZXR1cm4gZGVwbG95fQoKCnB5dGhvbiBnZXRfZGVwbG95ZWRfZmls
ZXMgKCkgewpkZWYgZ2V0X2RlcGxveWVkX2ZpbGVzKG1hbl9maWxlKToKICAgICIiIgogICAgR2V0
IHRoZSBmaWxlcyBkZXBsb3llZCBmcm9tIHRoZSBzc3RhdGUgbWFuaWZlc3QKICAgICIiIgoKICAg
IGRlcF9maWxlcyA9IFtdCiAgICBleGNsdWRlZF9maWxlcyA9IFtdCiAgICB3aXRoIG9wZW4obWFu
X2ZpbGUsICJyIikgYXMgbWFuaWZlc3Q6CiAgICAgICAgYWxsX2ZpbGVzID0gbWFuaWZlc3QucmVh
ZCgpCiAgICBmb3IgZiBpbiBhbGxfZmlsZXMuc3BsaXRsaW5lcygpOgogICAgICAgIGlmICgobm90
IChvcy5wYXRoLmlzbGluayhmKSBvciBvcy5wYXRoLmlzZGlyKGYpKSkgYW5kCiAgICAgICAgICAg
ICAgICBub3Qgb3MucGF0aC5iYXNlbmFtZShmKSBpbiBleGNsdWRlZF9maWxlcyk6CiAgICAgICAg
ICAgIGRlcF9maWxlcy5hcHBlbmQob3MucGF0aC5iYXNlbmFtZShmKSkKICAgIHJldHVybiBkZXBf
ZmlsZXMKfQoKCnB5dGhvbiBnZXRfZmlsZXN5c3RlbV9pZCAoKSB7CmRlZiBnZXRfZmlsZXN5c3Rl
bV9pZChwYXRoKToKICAgIHN0YXR1cywgcmVzdWx0ID0gb2UudXRpbHMuZ2V0c3RhdHVzb3V0cHV0
KCJzdGF0IC1mIC1jICclcycgJXMiICUgKCIldCIsIHBhdGgpKQogICAgaWYgc3RhdHVzID09IDA6
CiAgICAgICAgcmV0dXJuIHJlc3VsdAogICAgZWxzZToKICAgICAgICBiYi53YXJuKCJDYW4ndCBn
ZXQgdGhlIGZpbGVzeXN0ZW0gaWQgb2Y6ICVzIiAlIHBhdGgpCiAgICAgICAgcmV0dXJuIE5vbmUK
fQoKCnB5dGhvbiBnZXRfbGF5ZXJzX2JyYW5jaF9yZXYgKCkgewpkZWYgZ2V0X2xheWVyc19icmFu
Y2hfcmV2KGQpOgogICAgbGF5ZXJzID0gKGQuZ2V0VmFyKCJCQkxBWUVSUyIpIG9yICIiKS5zcGxp
dCgpCiAgICBsYXllcnNfYnJhbmNoX3JldiA9IFsiJS0xN3MgPSBcIiVzOiVzXCIiICUgKG9zLnBh
dGguYmFzZW5hbWUoaSksIFwKICAgICAgICBiYXNlX2dldF9tZXRhZGF0YV9naXRfYnJhbmNoKGks
IE5vbmUpLnN0cmlwKCksIFwKICAgICAgICBiYXNlX2dldF9tZXRhZGF0YV9naXRfcmV2aXNpb24o
aSwgTm9uZSkpIFwKICAgICAgICAgICAgZm9yIGkgaW4gbGF5ZXJzXQogICAgaSA9IGxlbihsYXll
cnNfYnJhbmNoX3JldiktMQogICAgcDEgPSBsYXllcnNfYnJhbmNoX3JldltpXS5maW5kKCI9IikK
ICAgIHMxID0gbGF5ZXJzX2JyYW5jaF9yZXZbaV1bcDE6XQogICAgd2hpbGUgaSA+IDA6CiAgICAg
ICAgcDIgPSBsYXllcnNfYnJhbmNoX3JldltpLTFdLmZpbmQoIj0iKQogICAgICAgIHMyPSBsYXll
cnNfYnJhbmNoX3JldltpLTFdW3AyOl0KICAgICAgICBpZiBzMSA9PSBzMjoKICAgICAgICAgICAg
bGF5ZXJzX2JyYW5jaF9yZXZbaS0xXSA9IGxheWVyc19icmFuY2hfcmV2W2ktMV1bMDpwMl0KICAg
ICAgICAgICAgaSAtPSAxCiAgICAgICAgZWxzZToKICAgICAgICAgICAgaSAtPSAxCiAgICAgICAg
ICAgIHAxID0gbGF5ZXJzX2JyYW5jaF9yZXZbaV0uZmluZCgiPSIpCiAgICAgICAgICAgIHMxPSBs
YXllcnNfYnJhbmNoX3JldltpXVtwMTpdCiAgICByZXR1cm4gbGF5ZXJzX2JyYW5jaF9yZXYKCn0K
CgpweXRob24gZ2V0X2xpYmNfbG9jYWxlc19kZXBlbmRlbmNpZXMgKCkgewpkZWYgZ2V0X2xpYmNf
bG9jYWxlc19kZXBlbmRlbmNpZXMoZCk6CiAgICBpZiAnbGliYy1sb2NhbGVzJyBpbiAoZC5nZXRW
YXIoJ0RJU1RST19GRUFUVVJFUycpIG9yICcnKS5zcGxpdCgpIDoKICAgICAgICByZXR1cm4gZC5n
ZXRWYXIoJ0xJQkNfTE9DQUxFX0RFUEVOREVOQ0lFUycpIG9yICcnCiAgICBlbHNlOgogICAgICAg
IHJldHVybiAnJ30KCgpweXRob24gZ2V0X2xpY19jaGVja3N1bV9maWxlX2xpc3QgKCkgewpkZWYg
Z2V0X2xpY19jaGVja3N1bV9maWxlX2xpc3QoZCk6CiAgICBmaWxlbGlzdCA9IFtdCiAgICBsaWNf
ZmlsZXMgPSBkLmdldFZhcigiTElDX0ZJTEVTX0NIS1NVTSIpIG9yICcnCiAgICB0bXBkaXIgPSBk
LmdldFZhcigiVE1QRElSIikKICAgIHMgPSBkLmdldFZhcigiUyIpCiAgICBiID0gZC5nZXRWYXIo
IkIiKQogICAgd29ya2RpciA9IGQuZ2V0VmFyKCJXT1JLRElSIikKCiAgICB1cmxzID0gbGljX2Zp
bGVzLnNwbGl0KCkKICAgIGZvciB1cmwgaW4gdXJsczoKICAgICAgICAjIFdlIG9ubHkgY2FyZSBh
Ym91dCBpdGVtcyB0aGF0IGFyZSBhYnNvbHV0ZSBwYXRocyBzaW5jZQogICAgICAgICMgYW55IG90
aGVycyBzaG91bGQgYmUgY292ZXJlZCBieSBTUkNfVVJJLgogICAgICAgIHRyeToKICAgICAgICAg
ICAgcGF0aCA9IGJiLmZldGNoLmRlY29kZXVybCh1cmwpWzJdCiAgICAgICAgICAgIGlmIG5vdCBw
YXRoOgogICAgICAgICAgICAgICAgcmFpc2UgYmIuZmV0Y2guTWFsZm9ybWVkVXJsKHVybCkKCiAg
ICAgICAgICAgIGlmIHBhdGhbMF0gPT0gJy8nOgogICAgICAgICAgICAgICAgaWYgcGF0aC5zdGFy
dHN3aXRoKCh0bXBkaXIsIHMsIGIsIHdvcmtkaXIpKToKICAgICAgICAgICAgICAgICAgICBjb250
aW51ZQogICAgICAgICAgICAgICAgZmlsZWxpc3QuYXBwZW5kKHBhdGggKyAiOiIgKyBzdHIob3Mu
cGF0aC5leGlzdHMocGF0aCkpKQogICAgICAgIGV4Y2VwdCBiYi5mZXRjaC5NYWxmb3JtZWRVcmw6
CiAgICAgICAgICAgIGJiLmZhdGFsKGQuZ2V0VmFyKCdQTicpICsgIjogTElDX0ZJTEVTX0NIS1NV
TSBjb250YWlucyBhbiBpbnZhbGlkIFVSTDogIiArIHVybCkKICAgIHJldHVybiAiICIuam9pbihm
aWxlbGlzdCkKfQoKCnB5dGhvbiBnZXRfbXVsdGlsaWJfZGF0YXN0b3JlICgpIHsKZGVmIGdldF9t
dWx0aWxpYl9kYXRhc3RvcmUodmFyaWFudCwgZCk6CiAgICBsb2NhbGRhdGEgPSBiYi5kYXRhLmNy
ZWF0ZUNvcHkoZCkKICAgIG92ZXJyaWRlcyA9IGxvY2FsZGF0YS5nZXRWYXIoIk9WRVJSSURFUyIs
IEZhbHNlKSArICI6dmlydGNsYXNzLW11bHRpbGliLSIgKyB2YXJpYW50CiAgICBsb2NhbGRhdGEu
c2V0VmFyKCJPVkVSUklERVMiLCBvdmVycmlkZXMpCiAgICBsb2NhbGRhdGEuc2V0VmFyKCJNTFBS
RUZJWCIsIHZhcmlhbnQgKyAiLSIpCiAgICByZXR1cm4gbG9jYWxkYXRhCn0KCgpweXRob24gZ2V0
X3BhY2thZ2VfYWRkaXRpb25hbF9tZXRhZGF0YSAoKSB7CmRlZiBnZXRfcGFja2FnZV9hZGRpdGlv
bmFsX21ldGFkYXRhIChwa2dfdHlwZSwgZCk6CiAgICBiYXNlX2tleSA9ICJQQUNLQUdFX0FERF9N
RVRBREFUQSIKICAgIGZvciBrZXkgaW4gKCIlc18lcyIgJSAoYmFzZV9rZXksIHBrZ190eXBlLnVw
cGVyKCkpLCBiYXNlX2tleSk6CiAgICAgICAgaWYgZC5nZXRWYXIoa2V5LCBGYWxzZSkgaXMgTm9u
ZToKICAgICAgICAgICAgY29udGludWUKICAgICAgICBkLnNldFZhckZsYWcoa2V5LCAidHlwZSIs
ICJsaXN0IikKICAgICAgICBpZiBkLmdldFZhckZsYWcoa2V5LCAic2VwYXJhdG9yIikgaXMgTm9u
ZToKICAgICAgICAgICAgZC5zZXRWYXJGbGFnKGtleSwgInNlcGFyYXRvciIsICJcXG4iKQogICAg
ICAgIG1ldGFkYXRhX2ZpZWxkcyA9IFtmaWVsZC5zdHJpcCgpIGZvciBmaWVsZCBpbiBvZS5kYXRh
LnR5cGVkX3ZhbHVlKGtleSwgZCldCiAgICAgICAgcmV0dXJuICJcbiIuam9pbihtZXRhZGF0YV9m
aWVsZHMpLnN0cmlwKCkKfQoKCnB5dGhvbiBnZXRfcGFja2FnZV9tYXBwaW5nICgpIHsKZGVmIGdl
dF9wYWNrYWdlX21hcHBpbmcgKHBrZywgYmFzZXBrZywgZCk6CiAgICBpbXBvcnQgb2UucGFja2Fn
ZWRhdGEKCiAgICBkYXRhID0gb2UucGFja2FnZWRhdGEucmVhZF9zdWJwa2dkYXRhKHBrZywgZCkK
ICAgIGtleSA9ICJQS0dfJXMiICUgcGtnCgogICAgaWYga2V5IGluIGRhdGE6CiAgICAgICAgIyBI
YXZlIHRvIGF2b2lkIHVuZG9pbmcgdGhlIHdyaXRlX2V4dHJhX3BrZ3MoZ2xvYmFsX3ZhcmlhbnRz
Li4uKQogICAgICAgIGlmIGJiLmRhdGEuaW5oZXJpdHNfY2xhc3MoJ2FsbGFyY2gnLCBkKSBhbmQg
ZGF0YVtrZXldID09IGJhc2Vwa2c6CiAgICAgICAgICAgIHJldHVybiBwa2cKICAgICAgICByZXR1
cm4gZGF0YVtrZXldCgogICAgcmV0dXJuIHBrZwp9CgoKcHl0aG9uIGdldF9wcm9jZXNzX2NwdXRp
bWUgKCkgewpkZWYgZ2V0X3Byb2Nlc3NfY3B1dGltZShwaWQpOgogICAgaW1wb3J0IHJlc291cmNl
CiAgICB3aXRoIG9wZW4oIi9wcm9jLyVkL3N0YXQiICUgcGlkLCAiciIpIGFzIGY6CiAgICAgICAg
ZmllbGRzID0gZi5yZWFkbGluZSgpLnJzdHJpcCgpLnNwbGl0KCkKICAgIHN0YXRzID0gewogICAg
ICAgICd1dGltZScgIDogZmllbGRzWzEzXSwKICAgICAgICAnc3RpbWUnICA6IGZpZWxkc1sxNF0s
CiAgICAgICAgJ2N1dGltZScgOiBmaWVsZHNbMTVdLAogICAgICAgICdjc3RpbWUnIDogZmllbGRz
WzE2XSwKICAgIH0KICAgIGlvc3RhdHMgPSB7fQogICAgaWYgb3MucGF0aC5pc2ZpbGUoIi9wcm9j
LyVkL2lvIiAlIHBpZCk6CiAgICAgICAgd2l0aCBvcGVuKCIvcHJvYy8lZC9pbyIgJSBwaWQsICJy
IikgYXMgZjoKICAgICAgICAgICAgd2hpbGUgVHJ1ZToKICAgICAgICAgICAgICAgIGkgPSBmLnJl
YWRsaW5lKCkuc3RyaXAoKQogICAgICAgICAgICAgICAgaWYgbm90IGk6CiAgICAgICAgICAgICAg
ICAgICAgYnJlYWsKICAgICAgICAgICAgICAgIGlmIG5vdCAiOiIgaW4gaToKICAgICAgICAgICAg
ICAgICAgICAjIG9uZSBtb3JlIGV4dHJhIGxpbmUgaXMgYXBwZW5kZWQgKGVtcHR5IG9yIGNvbnRh
aW5pbmcgIjAiKQogICAgICAgICAgICAgICAgICAgICMgbW9zdCBwcm9iYWJseSBkdWUgdG8gcmFj
ZSBjb25kaXRpb24gaW4ga2VybmVsIHdoaWxlCiAgICAgICAgICAgICAgICAgICAgIyB1cGRhdGlu
ZyBJTyBzdGF0cwogICAgICAgICAgICAgICAgICAgIGJyZWFrCiAgICAgICAgICAgICAgICBpID0g
aS5zcGxpdCgiOiAiKQogICAgICAgICAgICAgICAgaW9zdGF0c1tpWzBdXSA9IGlbMV0KICAgIHJl
c291cmNlcyA9IHJlc291cmNlLmdldHJ1c2FnZShyZXNvdXJjZS5SVVNBR0VfU0VMRikKICAgIGNo
aWxkcmVzID0gcmVzb3VyY2UuZ2V0cnVzYWdlKHJlc291cmNlLlJVU0FHRV9DSElMRFJFTikKICAg
IHJldHVybiBzdGF0cywgaW9zdGF0cywgcmVzb3VyY2VzLCBjaGlsZHJlcwp9CgoKcHl0aG9uIGdl
dF9yZWNpcGVfaW5mbyAoKSB7CmRlZiBnZXRfcmVjaXBlX2luZm8oZCk6CiAgICBpbmZvID0ge30K
ICAgIGluZm9bIlBWIl0gPSBkLmdldFZhcigiUFYiKQogICAgaW5mb1siUFIiXSA9IGQuZ2V0VmFy
KCJQUiIpCiAgICBpbmZvWyJMSUNFTlNFIl0gPSBkLmdldFZhcigiTElDRU5TRSIpCiAgICByZXR1
cm4gaW5mbwp9CgoKcHl0aG9uIGdldF90aW1lZGF0YSAoKSB7CmRlZiBnZXRfdGltZWRhdGEodmFy
LCBkLCBlbmRfdGltZSk6CiAgICBvbGR0aW1lID0gZC5nZXRWYXIodmFyLCBGYWxzZSkKICAgIGlm
IG9sZHRpbWUgaXMgTm9uZToKICAgICAgICByZXR1cm4KICAgIHJldHVybiBlbmRfdGltZSAtIG9s
ZHRpbWUKfQoKCnB5dGhvbiBpbmNvbXBhdGlibGVfbGljZW5zZSAoKSB7CmRlZiBpbmNvbXBhdGli
bGVfbGljZW5zZShkLCBkb250X3dhbnRfbGljZW5zZXMsIHBhY2thZ2U9Tm9uZSk6CiAgICAiIiIK
ICAgIFRoaXMgZnVuY3Rpb24gY2hlY2tzIGlmIGEgcmVjaXBlIGhhcyBvbmx5IGluY29tcGF0aWJs
ZSBsaWNlbnNlcy4gSXQgYWxzbwogICAgdGFrZSBpbnRvIGNvbnNpZGVyYXRpb24gJ29yJyBvcGVy
YW5kLiAgZG9udF93YW50X2xpY2Vuc2VzIHNob3VsZCBiZSBwYXNzZWQKICAgIGFzIGNhbm9uaWNh
bCAoU1BEWCkgbmFtZXMuCiAgICAiIiIKICAgIGltcG9ydCBvZS5saWNlbnNlCiAgICBsaWNlbnNl
ID0gZC5nZXRWYXIoIkxJQ0VOU0VfJXMiICUgcGFja2FnZSkgaWYgcGFja2FnZSBlbHNlIE5vbmUK
ICAgIGlmIG5vdCBsaWNlbnNlOgogICAgICAgIGxpY2Vuc2UgPSBkLmdldFZhcignTElDRU5TRScp
CgogICAgIyBIYW5kbGVzIGFuICJvciIgb3IgdHdvIGxpY2Vuc2Ugc2V0cyBwcm92aWRlZCBieQog
ICAgIyBmbGF0dGVuZWRfbGljZW5zZXMoKSwgcGljayBvbmUgdGhhdCB3b3JrcyBpZiBwb3NzaWJs
ZS4KICAgIGRlZiBjaG9vc2VfbGljX3NldChhLCBiKToKICAgICAgICByZXR1cm4gYSBpZiBhbGwo
b2UubGljZW5zZS5saWNlbnNlX29rKGNhbm9uaWNhbF9saWNlbnNlKGQsIGxpYyksCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBkb250X3dhbnRfbGljZW5zZXMpIGZvciBsaWMgaW4gYSkgZWxz
ZSBiCgogICAgdHJ5OgogICAgICAgIGxpY2Vuc2VzID0gb2UubGljZW5zZS5mbGF0dGVuZWRfbGlj
ZW5zZXMobGljZW5zZSwgY2hvb3NlX2xpY19zZXQpCiAgICBleGNlcHQgb2UubGljZW5zZS5MaWNl
bnNlRXJyb3IgYXMgZXhjOgogICAgICAgIGJiLmZhdGFsKCclczogJXMnICUgKGQuZ2V0VmFyKCdQ
JyksIGV4YykpCiAgICByZXR1cm4gYW55KG5vdCBvZS5saWNlbnNlLmxpY2Vuc2Vfb2soY2Fub25p
Y2FsX2xpY2Vuc2UoZCwgbCksIFwKCQlkb250X3dhbnRfbGljZW5zZXMpIGZvciBsIGluIGxpY2Vu
c2VzKQp9CgoKcHl0aG9uIGluY29tcGF0aWJsZV9saWNlbnNlX2NvbnRhaW5zICgpIHsKZGVmIGlu
Y29tcGF0aWJsZV9saWNlbnNlX2NvbnRhaW5zKGxpY2Vuc2UsIHRydWV2YWx1ZSwgZmFsc2V2YWx1
ZSwgZCk6CiAgICBsaWNlbnNlID0gY2Fub25pY2FsX2xpY2Vuc2UoZCwgbGljZW5zZSkKICAgIGJh
ZF9saWNlbnNlcyA9IChkLmdldFZhcignSU5DT01QQVRJQkxFX0xJQ0VOU0UnKSBvciAiIikuc3Bs
aXQoKQogICAgYmFkX2xpY2Vuc2VzID0gZXhwYW5kX3dpbGRjYXJkX2xpY2Vuc2VzKGQsIGJhZF9s
aWNlbnNlcykKICAgIHJldHVybiB0cnVldmFsdWUgaWYgbGljZW5zZSBpbiBiYWRfbGljZW5zZXMg
ZWxzZSBmYWxzZXZhbHVlCn0KCgpweXRob24gaXNfbWFjaGluZV9zcGVjaWZpYyAoKSB7CmRlZiBp
c19tYWNoaW5lX3NwZWNpZmljKGQpOgogICAgIiIiRGV0ZXJtaW5lIHdoZXRoZXIgdGhlIGN1cnJl
bnQgcmVjaXBlIGlzIG1hY2hpbmUgc3BlY2lmaWMiIiIKICAgIG1hY2hpbmVwYXRocyA9IHNldCht
YWNoaW5lX3BhdGhzKGQpKQogICAgc3JjdXJpID0gZC5nZXRWYXIoIlNSQ19VUkkiKS5zcGxpdCgp
CiAgICBmb3IgdXJsIGluIHNyY3VyaToKICAgICAgICBmZXRjaGVyID0gYmIuZmV0Y2gyLkZldGNo
KFtzcmN1cmldLCBkKQogICAgICAgIGlmIHVybC5zdGFydHN3aXRoKCJmaWxlOi8vIik6CiAgICAg
ICAgICAgIGlmIGFueShmZXRjaGVyLmxvY2FscGF0aCh1cmwpLnN0YXJ0c3dpdGgobXAgKyAiLyIp
IGZvciBtcCBpbiBtYWNoaW5lcGF0aHMpOgogICAgICAgICAgICAgICAgcmV0dXJuIFRydWUKfQoK
CnB5dGhvbiBsZWdpdGltaXplX3BhY2thZ2VfbmFtZSAoKSB7CmRlZiBsZWdpdGltaXplX3BhY2th
Z2VfbmFtZShzKToKICAgICIiIgogICAgTWFrZSBzdXJlIHBhY2thZ2UgbmFtZXMgYXJlIGxlZ2l0
aW1hdGUgc3RyaW5ncwogICAgIiIiCiAgICBpbXBvcnQgcmUKCiAgICBkZWYgZml4dXRmKG0pOgog
ICAgICAgIGNwID0gbS5ncm91cCgxKQogICAgICAgIGlmIGNwOgogICAgICAgICAgICByZXR1cm4g
KCdcXHUlcycgJSBjcCkuZW5jb2RlKCdsYXRpbi0xJykuZGVjb2RlKCd1bmljb2RlX2VzY2FwZScp
CgogICAgIyBIYW5kbGUgdW5pY29kZSBjb2RlcG9pbnRzIGVuY29kZWQgYXMgPFUwMTIzPiwgYXMg
aW4gZ2xpYmMgbG9jYWxlIGZpbGVzLgogICAgcyA9IHJlLnN1YignPFUoWzAtOUEtRmEtZl17MSw0
fSk+JywgZml4dXRmLCBzKQoKICAgICMgUmVtYWluaW5nIHBhY2thZ2UgbmFtZSB2YWxpZGl0eSBm
aXhlcwogICAgcmV0dXJuIHMubG93ZXIoKS5yZXBsYWNlKCdfJywgJy0nKS5yZXBsYWNlKCdAJywg
JysnKS5yZXBsYWNlKCcsJywgJysnKS5yZXBsYWNlKCcvJywgJy0nKQp9CgoKcHl0aG9uIGxpY2Vu
c2VfY3JlYXRlX21hbmlmZXN0ICgpIHsKICAgIGltcG9ydCBvZS5wYWNrYWdlZGF0YQogICAgZnJv
bSBvZS5yb290ZnMgaW1wb3J0IGltYWdlX2xpc3RfaW5zdGFsbGVkX3BhY2thZ2VzCgogICAgYnVp
bGRfaW1hZ2VzX2Zyb21fZmVlZHMgPSBkLmdldFZhcignQlVJTERfSU1BR0VTX0ZST01fRkVFRFMn
KQogICAgaWYgYnVpbGRfaW1hZ2VzX2Zyb21fZmVlZHMgPT0gIjEiOgogICAgICAgIHJldHVybiAw
CgogICAgcGtnX2RpYyA9IHt9CiAgICBmb3IgcGtnIGluIHNvcnRlZChpbWFnZV9saXN0X2luc3Rh
bGxlZF9wYWNrYWdlcyhkKSk6CiAgICAgICAgcGtnX2luZm8gPSBvcy5wYXRoLmpvaW4oZC5nZXRW
YXIoJ1BLR0RBVEFfRElSJyksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3J1bnRp
bWUtcmV2ZXJzZScsIHBrZykKICAgICAgICBwa2dfbmFtZSA9IG9zLnBhdGguYmFzZW5hbWUob3Mu
cmVhZGxpbmsocGtnX2luZm8pKQoKICAgICAgICBwa2dfZGljW3BrZ19uYW1lXSA9IG9lLnBhY2th
Z2VkYXRhLnJlYWRfcGtnZGF0YWZpbGUocGtnX2luZm8pCiAgICAgICAgaWYgbm90ICJMSUNFTlNF
IiBpbiBwa2dfZGljW3BrZ19uYW1lXS5rZXlzKCk6CiAgICAgICAgICAgIHBrZ19saWNfbmFtZSA9
ICJMSUNFTlNFXyIgKyBwa2dfbmFtZQogICAgICAgICAgICBwa2dfZGljW3BrZ19uYW1lXVsiTElD
RU5TRSJdID0gcGtnX2RpY1twa2dfbmFtZV1bcGtnX2xpY19uYW1lXQoKICAgIHJvb3Rmc19saWNl
bnNlX21hbmlmZXN0ID0gb3MucGF0aC5qb2luKGQuZ2V0VmFyKCdMSUNFTlNFX0RJUkVDVE9SWScp
LAogICAgICAgICAgICAgICAgICAgICAgICBkLmdldFZhcignSU1BR0VfTkFNRScpLCAnbGljZW5z
ZS5tYW5pZmVzdCcpCiAgICB3cml0ZV9saWNlbnNlX2ZpbGVzKGQsIHJvb3Rmc19saWNlbnNlX21h
bmlmZXN0LCBwa2dfZGljKQp9CgoKcHl0aG9uIGxpY2Vuc2VfZGVwbG95ZWRfbWFuaWZlc3QgKCkg
ewpkZWYgbGljZW5zZV9kZXBsb3llZF9tYW5pZmVzdChkKToKICAgICIiIgogICAgV3JpdGUgdGhl
IGxpY2Vuc2UgbWFuaWZlc3QgZm9yIHRoZSBkZXBsb3llZCByZWNpcGVzLgogICAgVGhlIGRlcGxv
eWVkIHJlY2lwZXMgdXN1YWxseSBpbmNsdWRlcyB0aGUgYm9vdGxvYWRlcgogICAgYW5kIGV4dHJh
IGZpbGVzIHRvIGJvb3QgdGhlIHRhcmdldC4KICAgICIiIgoKICAgIGRlcF9kaWMgPSB7fQogICAg
bWFuX2RpYyA9IHt9CiAgICBsaWNfZGlyID0gZC5nZXRWYXIoIkxJQ0VOU0VfRElSRUNUT1JZIikK
CiAgICBkZXBfZGljID0gZ2V0X2RlcGxveWVkX2RlcGVuZGVuY2llcyhkKQogICAgZm9yIGRlcCBp
biBkZXBfZGljLmtleXMoKToKICAgICAgICBtYW5fZGljW2RlcF0gPSB7fQogICAgICAgICMgSXQg
aXMgbmVjZXNzYXJ5IHRvIG1hcmsgdGhpcyB3aWxsIGJlIHVzZWQgZm9yIGltYWdlIG1hbmlmZXN0
CiAgICAgICAgbWFuX2RpY1tkZXBdWyJJTUFHRV9NQU5JRkVTVCJdID0gVHJ1ZQogICAgICAgIG1h
bl9kaWNbZGVwXVsiUE4iXSA9IGRlcAogICAgICAgIG1hbl9kaWNbZGVwXVsiRklMRVMiXSA9IFwK
ICAgICAgICAgICAgIiAiLmpvaW4oZ2V0X2RlcGxveWVkX2ZpbGVzKGRlcF9kaWNbZGVwXSkpCiAg
ICAgICAgd2l0aCBvcGVuKG9zLnBhdGguam9pbihsaWNfZGlyLCBkZXAsICJyZWNpcGVpbmZvIiks
ICJyIikgYXMgZjoKICAgICAgICAgICAgZm9yIGxpbmUgaW4gZi5yZWFkbGluZXMoKToKICAgICAg
ICAgICAgICAgIGtleSx2YWwgPSBsaW5lLnNwbGl0KCI6ICIsIDEpCiAgICAgICAgICAgICAgICBt
YW5fZGljW2RlcF1ba2V5XSA9IHZhbFs6LTFdCgogICAgbGljX21hbmlmZXN0X2RpciA9IG9zLnBh
dGguam9pbihkLmdldFZhcignTElDRU5TRV9ESVJFQ1RPUlknKSwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgZC5nZXRWYXIoJ0lNQUdFX05BTUUnKSkKICAgIGJiLnV0aWxzLm1r
ZGlyaGllcihsaWNfbWFuaWZlc3RfZGlyKQogICAgaW1hZ2VfbGljZW5zZV9tYW5pZmVzdCA9IG9z
LnBhdGguam9pbihsaWNfbWFuaWZlc3RfZGlyLCAnaW1hZ2VfbGljZW5zZS5tYW5pZmVzdCcpCiAg
ICB3cml0ZV9saWNlbnNlX2ZpbGVzKGQsIGltYWdlX2xpY2Vuc2VfbWFuaWZlc3QsIG1hbl9kaWMp
Cn0KCgpweXRob24gbHNiX2Rpc3Ryb19pZGVudGlmaWVyICgpIHsKZGVmIGxzYl9kaXN0cm9faWRl
bnRpZmllcihkKToKICAgIGFkanVzdCA9IGQuZ2V0VmFyKCdMU0JfRElTVFJPX0FESlVTVCcpCiAg
ICBhZGp1c3RfZnVuYyA9IE5vbmUKICAgIGlmIGFkanVzdDoKICAgICAgICB0cnk6CiAgICAgICAg
ICAgIGFkanVzdF9mdW5jID0gZ2xvYmFscygpW2FkanVzdF0KICAgICAgICBleGNlcHQgS2V5RXJy
b3I6CiAgICAgICAgICAgIHBhc3MKICAgIHJldHVybiBvZS5sc2IuZGlzdHJvX2lkZW50aWZpZXIo
YWRqdXN0X2Z1bmMpCn0KCgpweXRob24gbWFjaGluZV9wYXRocyAoKSB7CmRlZiBtYWNoaW5lX3Bh
dGhzKGQpOgogICAgIiIiTGlzdCBhbnkgZXhpc3RpbmcgbWFjaGluZSBzcGVjaWZpYyBmaWxlc3Bh
dGggZGlyZWN0b3JpZXMiIiIKICAgIG1hY2hpbmUgPSBkLmdldFZhcigiTUFDSElORSIpCiAgICBm
aWxlc3BhdGhwa2cgPSBkLmdldFZhcigiRklMRVNQQVRIUEtHIikuc3BsaXQoIjoiKQogICAgZm9y
IGJhc2VwYXRoIGluIGQuZ2V0VmFyKCJGSUxFU1BBVEhCQVNFIikuc3BsaXQoIjoiKToKICAgICAg
ICBmb3IgcGtncGF0aCBpbiBmaWxlc3BhdGhwa2c6CiAgICAgICAgICAgIG1hY2hpbmVwYXRoID0g
b3MucGF0aC5qb2luKGJhc2VwYXRoLCBwa2dwYXRoLCBtYWNoaW5lKQogICAgICAgICAgICBpZiBv
cy5wYXRoLmlzZGlyKG1hY2hpbmVwYXRoKToKICAgICAgICAgICAgICAgIHlpZWxkIG1hY2hpbmVw
YXRoCn0KCgpweXRob24gbWFwX2tlcm5lbF9hcmNoICgpIHsKZGVmIG1hcF9rZXJuZWxfYXJjaChh
LCBkKToKICAgIGltcG9ydCByZQoKICAgIHZhbGlkX2FyY2hzID0gZC5nZXRWYXIoJ3ZhbGlkX2Fy
Y2hzJykuc3BsaXQoKQoKICAgIGlmICAgcmUubWF0Y2goJyhpLjg2fGF0aGxvbnx4ODYuNjQpJCcs
IGEpOiAgcmV0dXJuICd4ODYnCiAgICBlbGlmIHJlLm1hdGNoKCdhcm1lYiQnLCBhKTogICAgICAg
ICAgICAgICAgIHJldHVybiAnYXJtJwogICAgZWxpZiByZS5tYXRjaCgnYWFyY2g2NCQnLCBhKTog
ICAgICAgICAgICAgICByZXR1cm4gJ2FybTY0JwogICAgZWxpZiByZS5tYXRjaCgnYWFyY2g2NF9i
ZSQnLCBhKTogICAgICAgICAgICByZXR1cm4gJ2FybTY0JwogICAgZWxpZiByZS5tYXRjaCgnbWlw
cyhpc2F8KSgzMnw2NHwpKHI2fCkoZWx8KSQnLCBhKTogICAgICByZXR1cm4gJ21pcHMnCiAgICBl
bGlmIHJlLm1hdGNoKCdwKHBjfG93ZXJwYykofDY0KScsIGEpOiAgICAgIHJldHVybiAncG93ZXJw
YycKICAgIGVsaWYgcmUubWF0Y2goJ3NoKDN8NCkkJywgYSk6ICAgICAgICAgICAgICAgcmV0dXJu
ICdzaCcKICAgIGVsaWYgcmUubWF0Y2goJ2JmaW4nLCBhKTogICAgICAgICAgICAgICAgICAgcmV0
dXJuICdibGFja2ZpbicKICAgIGVsaWYgcmUubWF0Y2goJ21pY3JvYmxhemVlW2JsXScsIGEpOiAg
ICAgICAgcmV0dXJuICdtaWNyb2JsYXplJwogICAgZWxpZiBhIGluIHZhbGlkX2FyY2hzOiAgICAg
ICAgICAgICAgICAgICAgICByZXR1cm4gYQogICAgZWxzZToKICAgICAgICBpZiBub3QgZC5nZXRW
YXIoIlRBUkdFVF9PUyIpLnN0YXJ0c3dpdGgoImxpbnV4Iik6CiAgICAgICAgICAgIHJldHVybiBh
CiAgICAgICAgYmIuZXJyb3IoImNhbm5vdCBtYXAgJyVzJyB0byBhIGxpbnV4IGtlcm5lbCBhcmNo
aXRlY3R1cmUiICUgYSkKfQoKCnB5dGhvbiBtYXBfdWJvb3RfYXJjaCAoKSB7CmRlZiBtYXBfdWJv
b3RfYXJjaChhLCBkKToKICAgIGltcG9ydCByZQoKICAgIGlmICAgcmUubWF0Y2goJ3AocGN8b3dl
cnBjKSh8NjQpJywgYSk6IHJldHVybiAncHBjJwogICAgZWxpZiByZS5tYXRjaCgnaS44NiQnLCBh
KTogcmV0dXJuICd4ODYnCiAgICByZXR1cm4gYQp9CgoKcHl0aG9uIG1hcHBpbmdfcmVuYW1lX2hv
b2sgKCkgewpkZWYgbWFwcGluZ19yZW5hbWVfaG9vayhkKToKICAgICIiIgogICAgUmV3cml0ZSB2
YXJpYWJsZXMgdG8gYWNjb3VudCBmb3IgcGFja2FnZSByZW5hbWluZyBpbiB0aGluZ3MKICAgIGxp
a2UgZGViaWFuLmJiY2xhc3Mgb3IgbWFudWFsIFBLRyB2YXJpYWJsZSBuYW1lIGNoYW5nZXMKICAg
ICIiIgogICAgcGtnID0gZC5nZXRWYXIoIlBLRyIpCiAgICBydW50aW1lX21hcHBpbmdfcmVuYW1l
KCJSREVQRU5EUyIsIHBrZywgZCkKICAgIHJ1bnRpbWVfbWFwcGluZ19yZW5hbWUoIlJSRUNPTU1F
TkRTIiwgcGtnLCBkKQogICAgcnVudGltZV9tYXBwaW5nX3JlbmFtZSgiUlNVR0dFU1RTIiwgcGtn
LCBkKX0KCgpweXRob24gbXVsdGlsaWJfcGtnX2V4dGVuZCAoKSB7CmRlZiBtdWx0aWxpYl9wa2df
ZXh0ZW5kKGQsIHBrZyk6CiAgICB2YXJpYW50cyA9IChkLmdldFZhcigiTVVMVElMSUJfVkFSSUFO
VFMiKSBvciAiIikuc3BsaXQoKQogICAgaWYgbm90IHZhcmlhbnRzOgogICAgICAgIHJldHVybiBw
a2cKICAgIHBrZ3MgPSBwa2cKICAgIGZvciB2IGluIHZhcmlhbnRzOgogICAgICAgIHBrZ3MgPSBw
a2dzICsgIiAiICsgdiArICItIiArIHBrZwogICAgcmV0dXJuIHBrZ3MKfQoKCnB5dGhvbiBvZV9m
aWx0ZXIgKCkgewpkZWYgb2VfZmlsdGVyKGYsIHN0ciwgZCk6CiAgICByZXR1cm4gb2UudXRpbHMu
c3RyX2ZpbHRlcihmLCBzdHIsIGQpCn0KCgpweXRob24gb2VfZmlsdGVyX291dCAoKSB7CmRlZiBv
ZV9maWx0ZXJfb3V0KGYsIHN0ciwgZCk6CiAgICByZXR1cm4gb2UudXRpbHMuc3RyX2ZpbHRlcl9v
dXQoZiwgc3RyLCBkKQp9CgoKcHl0aG9uIG9lX2ltcG9ydCAoKSB7CmRlZiBvZV9pbXBvcnQoZCk6
CiAgICBpbXBvcnQgc3lzCgogICAgYmJwYXRoID0gZC5nZXRWYXIoIkJCUEFUSCIpLnNwbGl0KCI6
IikKICAgIHN5cy5wYXRoWzA6MF0gPSBbb3MucGF0aC5qb2luKGRpciwgImxpYiIpIGZvciBkaXIg
aW4gYmJwYXRoXQoKICAgIGRlZiBpbmplY3QobmFtZSwgdmFsdWUpOgogICAgICAgICIiIk1ha2Ug
YSBweXRob24gb2JqZWN0IGFjY2Vzc2libGUgZnJvbSB0aGUgbWV0YWRhdGEiIiIKICAgICAgICBp
ZiBoYXNhdHRyKGJiLnV0aWxzLCAiX2NvbnRleHQiKToKICAgICAgICAgICAgYmIudXRpbHMuX2Nv
bnRleHRbbmFtZV0gPSB2YWx1ZQogICAgICAgIGVsc2U6CiAgICAgICAgICAgIF9fYnVpbHRpbnNf
X1tuYW1lXSA9IHZhbHVlCgogICAgaW1wb3J0IG9lLmRhdGEKICAgIGZvciB0b2ltcG9ydCBpbiBv
ZS5kYXRhLnR5cGVkX3ZhbHVlKCJPRV9JTVBPUlRTIiwgZCk6CiAgICAgICAgaW1wb3J0ZWQgPSBf
X2ltcG9ydF9fKHRvaW1wb3J0KQogICAgICAgIGluamVjdCh0b2ltcG9ydC5zcGxpdCgiLiIsIDEp
WzBdLCBpbXBvcnRlZCkKCiAgICByZXR1cm4gIiIKfQoKCnB5dGhvbiBvZV90ZXJtaW5hbCAoKSB7
CmRlZiBvZV90ZXJtaW5hbChjb21tYW5kLCB0aXRsZSwgZCk6CiAgICBpbXBvcnQgb2UuZGF0YQog
ICAgaW1wb3J0IG9lLnRlcm1pbmFsCgogICAgZW52ZGF0YSA9IGJiLmRhdGEuaW5pdCgpCgogICAg
Zm9yIHYgaW4gb3MuZW52aXJvbjoKICAgICAgICBlbnZkYXRhLnNldFZhcih2LCBvcy5lbnZpcm9u
W3ZdKQogICAgICAgIGVudmRhdGEuc2V0VmFyRmxhZyh2LCAnZXhwb3J0JywgJzEnKQoKICAgIGZv
ciBleHBvcnQgaW4gb2UuZGF0YS50eXBlZF92YWx1ZSgnT0VfVEVSTUlOQUxfRVhQT1JUUycsIGQp
OgogICAgICAgIHZhbHVlID0gZC5nZXRWYXIoZXhwb3J0KQogICAgICAgIGlmIHZhbHVlIGlzIG5v
dCBOb25lOgogICAgICAgICAgICBvcy5lbnZpcm9uW2V4cG9ydF0gPSBzdHIodmFsdWUpCiAgICAg
ICAgICAgIGVudmRhdGEuc2V0VmFyKGV4cG9ydCwgc3RyKHZhbHVlKSkKICAgICAgICAgICAgZW52
ZGF0YS5zZXRWYXJGbGFnKGV4cG9ydCwgJ2V4cG9ydCcsICcxJykKICAgICAgICBpZiBleHBvcnQg
PT0gIlBTRVVET19ESVNBQkxFRCI6CiAgICAgICAgICAgIGlmICJQU0VVRE9fVU5MT0FEIiBpbiBv
cy5lbnZpcm9uOgogICAgICAgICAgICAgICAgZGVsIG9zLmVudmlyb25bIlBTRVVET19VTkxPQUQi
XQogICAgICAgICAgICBlbnZkYXRhLmRlbFZhcigiUFNFVURPX1VOTE9BRCIpCgogICAgIyBBZGQg
aW4gYWxsIHZhcmlhYmxlcyBmcm9tIHRoZSB1c2VyJ3Mgb3JpZ2luYWwgZW52aXJvbm1lbnQgd2hp
Y2gKICAgICMgaGF2ZW4ndCBzdWJzZXF1bnRseSBiZWVuIHNldC9jaGFuZ2VkCiAgICBvcmlnYmJl
bnYgPSBkLmdldFZhcigiQkJfT1JJR0VOViIsIEZhbHNlKSBvciB7fQogICAgZm9yIGtleSBpbiBv
cmlnYmJlbnY6CiAgICAgICAgaWYga2V5IGluIGVudmRhdGE6CiAgICAgICAgICAgIGNvbnRpbnVl
CiAgICAgICAgdmFsdWUgPSBvcmlnYmJlbnYuZ2V0VmFyKGtleSkKICAgICAgICBpZiB2YWx1ZSBp
cyBub3QgTm9uZToKICAgICAgICAgICAgb3MuZW52aXJvbltrZXldID0gc3RyKHZhbHVlKQogICAg
ICAgICAgICBlbnZkYXRhLnNldFZhcihrZXksIHN0cih2YWx1ZSkpCiAgICAgICAgICAgIGVudmRh
dGEuc2V0VmFyRmxhZyhrZXksICdleHBvcnQnLCAnMScpCgogICAgIyBVc2Ugb3JpZ2luYWwgUEFU
SCBhcyBhIGZhbGxiYWNrCiAgICBwYXRoID0gZC5nZXRWYXIoJ1BBVEgnKSArICI6IiArIG9yaWdi
YmVudi5nZXRWYXIoJ1BBVEgnKQogICAgb3MuZW52aXJvblsnUEFUSCddID0gcGF0aAogICAgZW52
ZGF0YS5zZXRWYXIoJ1BBVEgnLCBwYXRoKQoKICAgICMgQSBjb21wbGV4IFBTMSBtaWdodCBuZWVk
IG1vcmUgZXNjYXBpbmcgb2YgY2hhcnMuCiAgICAjIExldHMgbm90IGV4cG9ydCBQUzEgaW5zdGVh
ZC4KICAgIGVudmRhdGEuZGVsVmFyKCJQUzEiKQoKICAgICMgUmVwbGFjZSBjb21tYW5kIHdpdGgg
YW4gZXhlY3V0YWJsZSB3cmFwcGVyIHNjcmlwdAogICAgY29tbWFuZCA9IGVtaXRfdGVybWluYWxf
ZnVuYyhjb21tYW5kLCBlbnZkYXRhLCBkKQoKICAgIHRlcm1pbmFsID0gb2UuZGF0YS50eXBlZF92
YWx1ZSgnT0VfVEVSTUlOQUwnLCBkKS5sb3dlcigpCiAgICBpZiB0ZXJtaW5hbCA9PSAnbm9uZSc6
CiAgICAgICAgYmIuZmF0YWwoJ0RldnNoZWxsIHVzYWdlIGRpc2FibGVkIHdpdGggT0VfVEVSTUlO
QUwnKQogICAgZWxpZiB0ZXJtaW5hbCAhPSAnYXV0byc6CiAgICAgICAgdHJ5OgogICAgICAgICAg
ICBvZS50ZXJtaW5hbC5zcGF3bih0ZXJtaW5hbCwgY29tbWFuZCwgdGl0bGUsIE5vbmUsIGQpCiAg
ICAgICAgICAgIHJldHVybgogICAgICAgIGV4Y2VwdCBvZS50ZXJtaW5hbC5VbnN1cHBvcnRlZFRl
cm1pbmFsOgogICAgICAgICAgICBiYi53YXJuKCdVbnN1cHBvcnRlZCB0ZXJtaW5hbCAiJXMiLCBk
ZWZhdWx0aW5nIHRvICJhdXRvIicgJQogICAgICAgICAgICAgICAgICAgIHRlcm1pbmFsKQogICAg
ICAgIGV4Y2VwdCBvZS50ZXJtaW5hbC5FeGVjdXRpb25FcnJvciBhcyBleGM6CiAgICAgICAgICAg
IGJiLmZhdGFsKCdVbmFibGUgdG8gc3Bhd24gdGVybWluYWwgJXM6ICVzJyAlICh0ZXJtaW5hbCwg
ZXhjKSkKCiAgICB0cnk6CiAgICAgICAgb2UudGVybWluYWwuc3Bhd25fcHJlZmVycmVkKGNvbW1h
bmQsIHRpdGxlLCBOb25lLCBkKQogICAgZXhjZXB0IG9lLnRlcm1pbmFsLk5vU3VwcG9ydGVkVGVy
bWluYWxzIGFzIG5vc3VwOgogICAgICAgIG5vc3VwLnRlcm1zLnJlbW92ZSgiZmFsc2UiKQogICAg
ICAgIGNtZHMgPSAnXG5cdCcuam9pbihub3N1cC50ZXJtcykucmVwbGFjZSgie2NvbW1hbmR9IiwK
ICAgICAgICAgICAgICAgICAgICAiZG9fdGVybWluYWwiKS5yZXBsYWNlKCJ7dGl0bGV9IiwgdGl0
bGUpCiAgICAgICAgYmIuZmF0YWwoJ05vIHZhbGlkIHRlcm1pbmFsIGZvdW5kLCB1bmFibGUgdG8g
b3BlbiBkZXZzaGVsbC5cbicgKwogICAgICAgICAgICAgICAgJ1RyaWVkIHRoZSBmb2xsb3dpbmcg
Y29tbWFuZHM6XG5cdCVzJyAlIGNtZHMpCiAgICBleGNlcHQgb2UudGVybWluYWwuRXhlY3V0aW9u
RXJyb3IgYXMgZXhjOgogICAgICAgIGJiLmZhdGFsKCdVbmFibGUgdG8gc3Bhd24gdGVybWluYWwg
JXM6ICVzJyAlICh0ZXJtaW5hbCwgZXhjKSkKfQoKCnB5dGhvbiBvZV90ZXJtaW5hbF9wcmlvcml0
aXplZCAoKSB7CmRlZiBvZV90ZXJtaW5hbF9wcmlvcml0aXplZCgpOgogICAgaW1wb3J0IG9lLnRl
cm1pbmFsCiAgICByZXR1cm4gIiAiLmpvaW4oby5uYW1lIGZvciBvIGluIG9lLnRlcm1pbmFsLnBy
aW9yaXRpemVkKCkpCn0KCgpweXRob24gb2Vjb3JlX3VwZGF0ZV9iYmxheWVycyAoKSB7CiAgICAj
IGJibGF5ZXJzLmNvbmYgaXMgb3V0IG9mIGRhdGUsIHNvIHNlZSBpZiB3ZSBjYW4gcmVzb2x2ZSB0
aGF0CgogICAgY3VycmVudF9sY29uZiA9IGludChkLmdldFZhcignTENPTkZfVkVSU0lPTicpKQog
ICAgbGNvbmZfdmVyc2lvbiA9IGludChkLmdldFZhcignTEFZRVJfQ09ORl9WRVJTSU9OJykpCgog
ICAgZmFpbG1zZyA9ICIiIllvdXIgdmVyc2lvbiBvZiBiYmxheWVycy5jb25mIGhhcyB0aGUgd3Jv
bmcgTENPTkZfVkVSU0lPTiAoaGFzICR7TENPTkZfVkVSU0lPTn0sIGV4cGVjdGluZyAke0xBWUVS
X0NPTkZfVkVSU0lPTn0pLgpQbGVhc2UgY29tcGFyZSB5b3VyIGZpbGUgYWdhaW5zdCBiYmxheWVy
cy5jb25mLnNhbXBsZSBhbmQgbWVyZ2UgYW55IGNoYW5nZXMgYmVmb3JlIGNvbnRpbnVpbmcuCiIk
e1NBTklUWV9ESUZGX1RPT0x9IGNvbmYvYmJsYXllcnMuY29uZiAke1NBTklUWV9CQkxBWUVSQ09O
Rl9TQU1QTEV9IgoKaXMgYSBnb29kIHdheSB0byB2aXN1YWxpc2UgdGhlIGNoYW5nZXMuIiIiCiAg
ICBmYWlsbXNnID0gZC5leHBhbmQoZmFpbG1zZykKCiAgICBpZiBub3QgY3VycmVudF9sY29uZjoK
ICAgICAgICByYWlzZSBOb3RJbXBsZW1lbnRlZEVycm9yKGZhaWxtc2cpCgogICAgbGluZXMgPSBb
XQoKICAgIGlmIGN1cnJlbnRfbGNvbmYgPCA0OgogICAgICAgIHJhaXNlIE5vdEltcGxlbWVudGVk
RXJyb3IoZmFpbG1zZykKCiAgICBiYmxheWVyc19mbiA9IGJibGF5ZXJzX2NvbmZfZmlsZShkKQog
ICAgbGluZXMgPSBzYW5pdHlfY29uZl9yZWFkKGJibGF5ZXJzX2ZuKQoKICAgIGlmIGN1cnJlbnRf
bGNvbmYgPT0gNCBhbmQgbGNvbmZfdmVyc2lvbiA+IDQ6CiAgICAgICAgdG9wZGlyX3ZhciA9ICck
JyArICd7VE9QRElSfScKICAgICAgICBpbmRleCwgYmJwYXRoX2xpbmUgPSBzYW5pdHlfY29uZl9m
aW5kX2xpbmUoJ0JCUEFUSCcsIGxpbmVzKQogICAgICAgIGlmIGJicGF0aF9saW5lOgogICAgICAg
ICAgICBzdGFydCA9IGJicGF0aF9saW5lLmZpbmQoJyInKQogICAgICAgICAgICBpZiBzdGFydCAh
PSAtMSBhbmQgKGxlbihiYnBhdGhfbGluZSkgIT0gKHN0YXJ0ICsgMSkpOgogICAgICAgICAgICAg
ICAgaWYgYmJwYXRoX2xpbmVbc3RhcnQgKyAxXSA9PSAnIic6CiAgICAgICAgICAgICAgICAgICAg
bGluZXNbaW5kZXhdID0gKGJicGF0aF9saW5lWzpzdGFydCArIDFdICsKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdG9wZGlyX3ZhciArIGJicGF0aF9saW5lW3N0YXJ0ICsgMTpd
KQogICAgICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICAgICBpZiBub3QgdG9wZGly
X3ZhciBpbiBiYnBhdGhfbGluZToKICAgICAgICAgICAgICAgICAgICAgICAgbGluZXNbaW5kZXhd
ID0gKGJicGF0aF9saW5lWzpzdGFydCArIDFdICsKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgdG9wZGlyX3ZhciArICc6JyArIGJicGF0aF9saW5lW3N0YXJ0ICsgMTpdKQogICAg
ICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgcmFpc2UgTm90SW1wbGVtZW50ZWRFcnJvcihm
YWlsbXNnKQogICAgICAgIGVsc2U6CiAgICAgICAgICAgIGluZGV4LCBiYmZpbGVzX2xpbmUgPSBz
YW5pdHlfY29uZl9maW5kX2xpbmUoJ0JCRklMRVMnLCBsaW5lcykKICAgICAgICAgICAgaWYgYmJm
aWxlc19saW5lOgogICAgICAgICAgICAgICAgbGluZXMuaW5zZXJ0KGluZGV4LCAnQkJQQVRIID0g
IicgKyB0b3BkaXJfdmFyICsgJyJcbicpCiAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAg
ICByYWlzZSBOb3RJbXBsZW1lbnRlZEVycm9yKGZhaWxtc2cpCgogICAgICAgIGN1cnJlbnRfbGNv
bmYgKz0gMQogICAgICAgIHNhbml0eV9jb25mX3VwZGF0ZShiYmxheWVyc19mbiwgbGluZXMsICdM
Q09ORl9WRVJTSU9OJywgY3VycmVudF9sY29uZikKICAgICAgICBiYi5ub3RlKCJZb3VyIGNvbmYv
YmJsYXllcnMuY29uZiBoYXMgYmVlbiBhdXRvbWF0aWNhbGx5IHVwZGF0ZWQuIikKICAgICAgICBy
ZXR1cm4KCiAgICBlbGlmIGN1cnJlbnRfbGNvbmYgPT0gNSBhbmQgbGNvbmZfdmVyc2lvbiA+IDU6
CiAgICAgICAgIyBOdWxsIHVwZGF0ZSwgdG8gYXZvaWQgaXNzdWVzIHdpdGggcGVvcGxlIHN3aXRj
aGluZyBiZXR3ZWVuIHBva3kgYW5kIG90aGVyIGRpc3Ryb3MKICAgICAgICBjdXJyZW50X2xjb25m
ID0gNgogICAgICAgIHNhbml0eV9jb25mX3VwZGF0ZShiYmxheWVyc19mbiwgbGluZXMsICdMQ09O
Rl9WRVJTSU9OJywgY3VycmVudF9sY29uZikKICAgICAgICBiYi5ub3RlKCJZb3VyIGNvbmYvYmJs
YXllcnMuY29uZiBoYXMgYmVlbiBhdXRvbWF0aWNhbGx5IHVwZGF0ZWQuIikKICAgICAgICByZXR1
cm4KCiAgICAgICAgc3RhdHVzLmFkZHJlc3VsdCgpCgogICAgZWxpZiBjdXJyZW50X2xjb25mID09
IDYgYW5kIGxjb25mX3ZlcnNpb24gPiA2OgogICAgICAgICMgSGFuZGxlIHJlbmFtZSBvZiBtZXRh
LXlvY3RvIC0+IG1ldGEtcG9reQogICAgICAgICMgVGhpcyBtYXJrcyB0aGUgc3RhcnQgb2Ygc2Vw
YXJhdGUgdmVyc2lvbiBudW1iZXJzIGJ1dCBjb2RlIGlzIG5lZWRlZCBpbiBPRS1Db3JlCiAgICAg
ICAgIyBmb3IgdGhlIG1pZ3JhdGlvbiwgb25lIGxhc3QgdGltZS4KICAgICAgICBsYXllcnMgPSBk
LmdldFZhcignQkJMQVlFUlMnKS5zcGxpdCgpCiAgICAgICAgbGF5ZXJzID0gWyBvcy5wYXRoLmJh
c2VuYW1lKHBhdGgpIGZvciBwYXRoIGluIGxheWVycyBdCiAgICAgICAgaWYgJ21ldGEteW9jdG8n
IGluIGxheWVyczoKICAgICAgICAgICAgZm91bmQgPSBGYWxzZQogICAgICAgICAgICB3aGlsZSBU
cnVlOgogICAgICAgICAgICAgICAgaW5kZXgsIG1ldGFfeW9jdG9fbGluZSA9IHNhbml0eV9jb25m
X2ZpbmRfbGluZShyJy4qbWV0YS15b2N0b1tcJyJcc1xuXScsIGxpbmVzKQogICAgICAgICAgICAg
ICAgaWYgbWV0YV95b2N0b19saW5lOgogICAgICAgICAgICAgICAgICAgIGxpbmVzW2luZGV4XSA9
IG1ldGFfeW9jdG9fbGluZS5yZXBsYWNlKCdtZXRhLXlvY3RvJywgJ21ldGEtcG9reScpCiAgICAg
ICAgICAgICAgICAgICAgZm91bmQgPSBUcnVlCiAgICAgICAgICAgICAgICBlbHNlOgogICAgICAg
ICAgICAgICAgICAgIGJyZWFrCiAgICAgICAgICAgIGlmIG5vdCBmb3VuZDoKICAgICAgICAgICAg
ICAgIHJhaXNlIE5vdEltcGxlbWVudGVkRXJyb3IoZmFpbG1zZykKICAgICAgICAgICAgaW5kZXgs
IG1ldGFfeW9jdG9fbGluZSA9IHNhbml0eV9jb25mX2ZpbmRfbGluZSgnTENPTkZfVkVSU0lPTi4q
XG4nLCBsaW5lcykKICAgICAgICAgICAgaWYgbWV0YV95b2N0b19saW5lOgogICAgICAgICAgICAg
ICAgbGluZXNbaW5kZXhdID0gJ1BPS1lfQkJMQVlFUlNfQ09ORl9WRVJTSU9OID0gIjEiXG4nCiAg
ICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICByYWlzZSBOb3RJbXBsZW1lbnRlZEVycm9y
KGZhaWxtc2cpCiAgICAgICAgICAgIHdpdGggb3BlbihiYmxheWVyc19mbiwgInciKSBhcyBmOgog
ICAgICAgICAgICAgICAgZi53cml0ZSgnJy5qb2luKGxpbmVzKSkKICAgICAgICAgICAgYmIubm90
ZSgiWW91ciBjb25mL2JibGF5ZXJzLmNvbmYgaGFzIGJlZW4gYXV0b21hdGljYWxseSB1cGRhdGVk
LiIpCiAgICAgICAgICAgIHJldHVybgogICAgICAgIGN1cnJlbnRfbGNvbmYgKz0gMQogICAgICAg
IHNhbml0eV9jb25mX3VwZGF0ZShiYmxheWVyc19mbiwgbGluZXMsICdMQ09ORl9WRVJTSU9OJywg
Y3VycmVudF9sY29uZikKICAgICAgICBiYi5ub3RlKCJZb3VyIGNvbmYvYmJsYXllcnMuY29uZiBo
YXMgYmVlbiBhdXRvbWF0aWNhbGx5IHVwZGF0ZWQuIikKICAgICAgICByZXR1cm4KCiAgICByYWlz
ZSBOb3RJbXBsZW1lbnRlZEVycm9yKGZhaWxtc2cpCn0KCgpweXRob24gb2Vjb3JlX3VwZGF0ZV9s
b2NhbGNvbmYgKCkgewogICAgIyBDaGVjayB3ZSBhcmUgdXNpbmcgYSB2YWxpZCBsb2NhbC5jb25m
CiAgICBjdXJyZW50X2NvbmYgID0gZC5nZXRWYXIoJ0NPTkZfVkVSU0lPTicpCiAgICBjb25mX3Zl
cnNpb24gPSAgZC5nZXRWYXIoJ0xPQ0FMQ09ORl9WRVJTSU9OJykKCiAgICBmYWlsbXNnID0gIiIi
WW91ciB2ZXJzaW9uIG9mIGxvY2FsLmNvbmYgd2FzIGdlbmVyYXRlZCBmcm9tIGFuIG9sZGVyL25l
d2VyIHZlcnNpb24gb2YKbG9jYWwuY29uZi5zYW1wbGUgYW5kIHRoZXJlIGhhdmUgYmVlbiB1cGRh
dGVzIG1hZGUgdG8gdGhpcyBmaWxlLiBQbGVhc2UgY29tcGFyZSB0aGUgdHdvCmZpbGVzIGFuZCBt
ZXJnZSBhbnkgY2hhbmdlcyBiZWZvcmUgY29udGludWluZy4KCk1hdGNoaW5nIHRoZSB2ZXJzaW9u
IG51bWJlcnMgd2lsbCByZW1vdmUgdGhpcyBtZXNzYWdlLgoKXCIke1NBTklUWV9ESUZGX1RPT0x9
IGNvbmYvbG9jYWwuY29uZiAke1NBTklUWV9MT0NBTENPTkZfU0FNUExFfVwiCgppcyBhIGdvb2Qg
d2F5IHRvIHZpc3VhbGlzZSB0aGUgY2hhbmdlcy4iIiIKICAgIGZhaWxtc2cgPSBkLmV4cGFuZChm
YWlsbXNnKQoKICAgIHJhaXNlIE5vdEltcGxlbWVudGVkRXJyb3IoZmFpbG1zZykKfQoKCnB5dGhv
biBvZWNvcmVfdXBkYXRlX3NpdGVjb25mICgpIHsKICAgICMgSWYgd2UgaGF2ZSBhIHNpdGUuY29u
ZiwgY2hlY2sgaXQncyB2YWxpZAogICAgY3VycmVudF9zY29uZiA9IGQuZ2V0VmFyKCdTQ09ORl9W
RVJTSU9OJykKICAgIHNjb25mX3ZlcnNpb24gPSBkLmdldFZhcignU0lURV9DT05GX1ZFUlNJT04n
KQoKICAgIGZhaWxtc2cgPSAiIiJZb3VyIHZlcnNpb24gb2Ygc2l0ZS5jb25mIHdhcyBnZW5lcmF0
ZWQgZnJvbSBhbiBvbGRlciB2ZXJzaW9uIG9mCnNpdGUuY29uZi5zYW1wbGUgYW5kIHRoZXJlIGhh
dmUgYmVlbiB1cGRhdGVzIG1hZGUgdG8gdGhpcyBmaWxlLiBQbGVhc2UgY29tcGFyZSB0aGUgdHdv
CmZpbGVzIGFuZCBtZXJnZSBhbnkgY2hhbmdlcyBiZWZvcmUgY29udGludWluZy4KCk1hdGNoaW5n
IHRoZSB2ZXJzaW9uIG51bWJlcnMgd2lsbCByZW1vdmUgdGhpcyBtZXNzYWdlLgoKXCIke1NBTklU
WV9ESUZGX1RPT0x9IGNvbmYvc2l0ZS5jb25mICR7U0FOSVRZX1NJVEVDT05GX1NBTVBMRX1cIgoK
aXMgYSBnb29kIHdheSB0byB2aXN1YWxpc2UgdGhlIGNoYW5nZXMuIiIiCiAgICBmYWlsbXNnID0g
ZC5leHBhbmQoZmFpbG1zZykKCiAgICByYWlzZSBOb3RJbXBsZW1lbnRlZEVycm9yKGZhaWxtc2cp
Cn0KCgpweXRob24gcGFja2FnZV9kZXBjaGFpbnMgKCkgewogICAgIiIiCiAgICBGb3IgYSBnaXZl
biBzZXQgb2YgcHJlZml4IGFuZCBwb3N0Zml4IG1vZGlmaWVycywgbWFrZSB0aG9zZSBwYWNrYWdl
cwogICAgUlJFQ09NTUVORFMgb24gdGhlIGNvcnJlc3BvbmRpbmcgcGFja2FnZXMgZm9yIGl0cyBS
REVQRU5EUy4KCiAgICBFeGFtcGxlOiAgSWYgcGFja2FnZSBBIGRlcGVuZHMgdXBvbiBwYWNrYWdl
IEIsIGFuZCBBJ3MgLmJiIGVtaXRzIGFuCiAgICBBLWRldiBwYWNrYWdlLCB0aGlzIHdvdWxkIG1h
a2UgQS1kZXYgUmVjb21tZW5kczogQi1kZXYuCgogICAgSWYgb25seSBvbmUgb2YgYSBnaXZlbiBz
dWZmaXggaXMgc3BlY2lmaWVkLCBpdCB3aWxsIHRha2UgdGhlIFJSRUNPTU1FTkRTCiAgICBiYXNl
ZCBvbiB0aGUgUkRFUEVORFMgb2YgKmFsbCogb3RoZXIgcGFja2FnZXMuIElmIG1vcmUgdGhhbiBv
bmUgb2YgYSBnaXZlbgogICAgc3VmZml4IGlzIHNwZWNpZmllZCwgaXRzIHdpbGwgb25seSB1c2Ug
dGhlIFJERVBFTkRTIG9mIHRoZSBzaW5nbGUgcGFyZW50CiAgICBwYWNrYWdlLgogICAgIiIiCgog
ICAgcGFja2FnZXMgID0gZC5nZXRWYXIoJ1BBQ0tBR0VTJykKICAgIHBvc3RmaXhlcyA9IChkLmdl
dFZhcignREVQQ0hBSU5fUE9TVCcpIG9yICcnKS5zcGxpdCgpCiAgICBwcmVmaXhlcyAgPSAoZC5n
ZXRWYXIoJ0RFUENIQUlOX1BSRScpIG9yICcnKS5zcGxpdCgpCgogICAgZGVmIHBrZ19hZGRkZXBy
cmVjcyhwa2csIGJhc2UsIHN1ZmZpeCwgZ2V0bmFtZSwgZGVwZW5kcywgZCk6CgogICAgICAgICNi
Yi5ub3RlKCdkZXBlbmRzIGZvciAlcyBpcyAlcycgJSAoYmFzZSwgZGVwZW5kcykpCiAgICAgICAg
cnJlY2xpc3QgPSBiYi51dGlscy5leHBsb2RlX2RlcF92ZXJzaW9uczIoZC5nZXRWYXIoJ1JSRUNP
TU1FTkRTXycgKyBwa2cpIG9yICIiKQoKICAgICAgICBmb3IgZGVwZW5kIGluIGRlcGVuZHM6CiAg
ICAgICAgICAgIGlmIGRlcGVuZC5maW5kKCctbmF0aXZlJykgIT0gLTEgb3IgZGVwZW5kLmZpbmQo
Jy1jcm9zcycpICE9IC0xIG9yIGRlcGVuZC5zdGFydHN3aXRoKCd2aXJ0dWFsLycpOgogICAgICAg
ICAgICAgICAgI2JiLm5vdGUoIlNraXBwaW5nICVzIiAlIGRlcGVuZCkKICAgICAgICAgICAgICAg
IGNvbnRpbnVlCiAgICAgICAgICAgIGlmIGRlcGVuZC5lbmRzd2l0aCgnLWRldicpOgogICAgICAg
ICAgICAgICAgZGVwZW5kID0gZGVwZW5kWzotNF0KICAgICAgICAgICAgaWYgZGVwZW5kLmVuZHN3
aXRoKCctZGJnJyk6CiAgICAgICAgICAgICAgICBkZXBlbmQgPSBkZXBlbmRbOi00XQogICAgICAg
ICAgICBwa2duYW1lID0gZ2V0bmFtZShkZXBlbmQsIHN1ZmZpeCkKICAgICAgICAgICAgI2JiLm5v
dGUoIkFkZGluZyAlcyBmb3IgJXMiICUgKHBrZ25hbWUsIGRlcGVuZCkpCiAgICAgICAgICAgIGlm
IHBrZ25hbWUgbm90IGluIHJyZWNsaXN0IGFuZCBwa2duYW1lICE9IHBrZzoKICAgICAgICAgICAg
ICAgIHJyZWNsaXN0W3BrZ25hbWVdID0gW10KCiAgICAgICAgI2JiLm5vdGUoJ3NldHRpbmc6IFJS
RUNPTU1FTkRTXyVzPSVzJyAlIChwa2csICcgJy5qb2luKHJyZWNsaXN0KSkpCiAgICAgICAgZC5z
ZXRWYXIoJ1JSRUNPTU1FTkRTXyVzJyAlIHBrZywgYmIudXRpbHMuam9pbl9kZXBzKHJyZWNsaXN0
LCBjb21tYXNlcD1GYWxzZSkpCgogICAgZGVmIHBrZ19hZGRycmVjcyhwa2csIGJhc2UsIHN1ZmZp
eCwgZ2V0bmFtZSwgcmRlcGVuZHMsIGQpOgoKICAgICAgICAjYmIubm90ZSgncmRlcGVuZHMgZm9y
ICVzIGlzICVzJyAlIChiYXNlLCByZGVwZW5kcykpCiAgICAgICAgcnJlY2xpc3QgPSBiYi51dGls
cy5leHBsb2RlX2RlcF92ZXJzaW9uczIoZC5nZXRWYXIoJ1JSRUNPTU1FTkRTXycgKyBwa2cpIG9y
ICIiKQoKICAgICAgICBmb3IgZGVwZW5kIGluIHJkZXBlbmRzOgogICAgICAgICAgICBpZiBkZXBl
bmQuZmluZCgndmlydHVhbC1sb2NhbGUtJykgIT0gLTE6CiAgICAgICAgICAgICAgICAjYmIubm90
ZSgiU2tpcHBpbmcgJXMiICUgZGVwZW5kKQogICAgICAgICAgICAgICAgY29udGludWUKICAgICAg
ICAgICAgaWYgZGVwZW5kLmVuZHN3aXRoKCctZGV2Jyk6CiAgICAgICAgICAgICAgICBkZXBlbmQg
PSBkZXBlbmRbOi00XQogICAgICAgICAgICBpZiBkZXBlbmQuZW5kc3dpdGgoJy1kYmcnKToKICAg
ICAgICAgICAgICAgIGRlcGVuZCA9IGRlcGVuZFs6LTRdCiAgICAgICAgICAgIHBrZ25hbWUgPSBn
ZXRuYW1lKGRlcGVuZCwgc3VmZml4KQogICAgICAgICAgICAjYmIubm90ZSgiQWRkaW5nICVzIGZv
ciAlcyIgJSAocGtnbmFtZSwgZGVwZW5kKSkKICAgICAgICAgICAgaWYgcGtnbmFtZSBub3QgaW4g
cnJlY2xpc3QgYW5kIHBrZ25hbWUgIT0gcGtnOgogICAgICAgICAgICAgICAgcnJlY2xpc3RbcGtn
bmFtZV0gPSBbXQoKICAgICAgICAjYmIubm90ZSgnc2V0dGluZzogUlJFQ09NTUVORFNfJXM9JXMn
ICUgKHBrZywgJyAnLmpvaW4ocnJlY2xpc3QpKSkKICAgICAgICBkLnNldFZhcignUlJFQ09NTUVO
RFNfJXMnICUgcGtnLCBiYi51dGlscy5qb2luX2RlcHMocnJlY2xpc3QsIGNvbW1hc2VwPUZhbHNl
KSkKCiAgICBkZWYgYWRkX2RlcChsaXN0LCBkZXApOgogICAgICAgIGlmIGRlcCBub3QgaW4gbGlz
dDoKICAgICAgICAgICAgbGlzdC5hcHBlbmQoZGVwKQoKICAgIGRlcGVuZHMgPSBbXQogICAgZm9y
IGRlcCBpbiBiYi51dGlscy5leHBsb2RlX2RlcHMoZC5nZXRWYXIoJ0RFUEVORFMnKSBvciAiIik6
CiAgICAgICAgYWRkX2RlcChkZXBlbmRzLCBkZXApCgogICAgcmRlcGVuZHMgPSBbXQogICAgZm9y
IHBrZyBpbiBwYWNrYWdlcy5zcGxpdCgpOgogICAgICAgIGZvciBkZXAgaW4gYmIudXRpbHMuZXhw
bG9kZV9kZXBzKGQuZ2V0VmFyKCdSREVQRU5EU18nICsgcGtnKSBvciAiIik6CiAgICAgICAgICAg
IGFkZF9kZXAocmRlcGVuZHMsIGRlcCkKCiAgICAjYmIubm90ZSgncmRlcGVuZHMgaXMgJXMnICUg
cmRlcGVuZHMpCgogICAgZGVmIHBvc3RfZ2V0bmFtZShuYW1lLCBzdWZmaXgpOgogICAgICAgIHJl
dHVybiAnJXMlcycgJSAobmFtZSwgc3VmZml4KQogICAgZGVmIHByZV9nZXRuYW1lKG5hbWUsIHN1
ZmZpeCk6CiAgICAgICAgcmV0dXJuICclcyVzJyAlIChzdWZmaXgsIG5hbWUpCgogICAgcGtncyA9
IHt9CiAgICBmb3IgcGtnIGluIHBhY2thZ2VzLnNwbGl0KCk6CiAgICAgICAgZm9yIHBvc3RmaXgg
aW4gcG9zdGZpeGVzOgogICAgICAgICAgICBpZiBwa2cuZW5kc3dpdGgocG9zdGZpeCk6CiAgICAg
ICAgICAgICAgICBpZiBub3QgcG9zdGZpeCBpbiBwa2dzOgogICAgICAgICAgICAgICAgICAgIHBr
Z3NbcG9zdGZpeF0gPSB7fQogICAgICAgICAgICAgICAgcGtnc1twb3N0Zml4XVtwa2ddID0gKHBr
Z1s6LWxlbihwb3N0Zml4KV0sIHBvc3RfZ2V0bmFtZSkKCiAgICAgICAgZm9yIHByZWZpeCBpbiBw
cmVmaXhlczoKICAgICAgICAgICAgaWYgcGtnLnN0YXJ0c3dpdGgocHJlZml4KToKICAgICAgICAg
ICAgICAgIGlmIG5vdCBwcmVmaXggaW4gcGtnczoKICAgICAgICAgICAgICAgICAgICBwa2dzW3By
ZWZpeF0gPSB7fQogICAgICAgICAgICAgICAgcGtnc1twcmVmaXhdW3BrZ10gPSAocGtnWzotbGVu
KHByZWZpeCldLCBwcmVfZ2V0bmFtZSkKCiAgICBpZiAiLWRiZyIgaW4gcGtnczoKICAgICAgICBw
a2dsaWJkZXBzID0gcmVhZF9saWJkZXBfZmlsZXMoZCkKICAgICAgICBwa2dsaWJkZXBsaXN0ID0g
W10KICAgICAgICBmb3IgcGtnIGluIHBrZ2xpYmRlcHM6CiAgICAgICAgICAgIGZvciBrIGluIHBr
Z2xpYmRlcHNbcGtnXToKICAgICAgICAgICAgICAgIGFkZF9kZXAocGtnbGliZGVwbGlzdCwgaykK
ICAgICAgICBkYmdkZWZhdWx0ZGVwcyA9ICgoZC5nZXRWYXIoJ0RFUENIQUlOX0RCR0RFRkFVTFRE
RVBTJykgPT0gJzEnKSBvciAoYmIuZGF0YS5pbmhlcml0c19jbGFzcygncGFja2FnZWdyb3VwJywg
ZCkpKQoKICAgIGZvciBzdWZmaXggaW4gcGtnczoKICAgICAgICBmb3IgcGtnIGluIHBrZ3Nbc3Vm
Zml4XToKICAgICAgICAgICAgaWYgZC5nZXRWYXJGbGFnKCdSUkVDT01NRU5EU18nICsgcGtnLCAn
bm9kZXBycmVjcycpOgogICAgICAgICAgICAgICAgY29udGludWUKICAgICAgICAgICAgKGJhc2Us
IGZ1bmMpID0gcGtnc1tzdWZmaXhdW3BrZ10KICAgICAgICAgICAgaWYgc3VmZml4ID09ICItZGV2
IjoKICAgICAgICAgICAgICAgIHBrZ19hZGRkZXBycmVjcyhwa2csIGJhc2UsIHN1ZmZpeCwgZnVu
YywgZGVwZW5kcywgZCkKICAgICAgICAgICAgZWxpZiBzdWZmaXggPT0gIi1kYmciOgogICAgICAg
ICAgICAgICAgaWYgbm90IGRiZ2RlZmF1bHRkZXBzOgogICAgICAgICAgICAgICAgICAgIHBrZ19h
ZGRycmVjcyhwa2csIGJhc2UsIHN1ZmZpeCwgZnVuYywgcGtnbGliZGVwbGlzdCwgZCkKICAgICAg
ICAgICAgICAgICAgICBjb250aW51ZQogICAgICAgICAgICBpZiBsZW4ocGtnc1tzdWZmaXhdKSA9
PSAxOgogICAgICAgICAgICAgICAgcGtnX2FkZHJyZWNzKHBrZywgYmFzZSwgc3VmZml4LCBmdW5j
LCByZGVwZW5kcywgZCkKICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgIHJkZXBzID0g
W10KICAgICAgICAgICAgICAgIGZvciBkZXAgaW4gYmIudXRpbHMuZXhwbG9kZV9kZXBzKGQuZ2V0
VmFyKCdSREVQRU5EU18nICsgYmFzZSkgb3IgIiIpOgogICAgICAgICAgICAgICAgICAgIGFkZF9k
ZXAocmRlcHMsIGRlcCkKICAgICAgICAgICAgICAgIHBrZ19hZGRycmVjcyhwa2csIGJhc2UsIHN1
ZmZpeCwgZnVuYywgcmRlcHMsIGQpCn0KCgpweXRob24gcGFja2FnZV9kb19maWxlZGVwcyAoKSB7
CiAgICBpZiBkLmdldFZhcignU0tJUF9GSUxFREVQUycpID09ICcxJzoKICAgICAgICByZXR1cm4K
CiAgICBwa2dkZXN0ID0gZC5nZXRWYXIoJ1BLR0RFU1QnKQogICAgcGFja2FnZXMgPSBkLmdldFZh
cignUEFDS0FHRVMnKQogICAgcnBtZGVwcyA9IGQuZ2V0VmFyKCdSUE1ERVBTJykKCiAgICBkZWYg
Y2h1bmtzKGZpbGVzLCBuKToKICAgICAgICByZXR1cm4gW2ZpbGVzW2k6aStuXSBmb3IgaSBpbiBy
YW5nZSgwLCBsZW4oZmlsZXMpLCBuKV0KCiAgICBwa2dsaXN0ID0gW10KICAgIGZvciBwa2cgaW4g
cGFja2FnZXMuc3BsaXQoKToKICAgICAgICBpZiBkLmdldFZhcignU0tJUF9GSUxFREVQU18nICsg
cGtnKSA9PSAnMSc6CiAgICAgICAgICAgIGNvbnRpbnVlCiAgICAgICAgaWYgcGtnLmVuZHN3aXRo
KCctZGJnJykgb3IgcGtnLmVuZHN3aXRoKCctZG9jJykgb3IgcGtnLmZpbmQoJy1sb2NhbGUtJykg
IT0gLTEgb3IgcGtnLmZpbmQoJy1sb2NhbGVkYXRhLScpICE9IC0xIG9yIHBrZy5maW5kKCctZ2Nv
bnYtJykgIT0gLTEgb3IgcGtnLmZpbmQoJy1jaGFybWFwLScpICE9IC0xIG9yIHBrZy5zdGFydHN3
aXRoKCdrZXJuZWwtbW9kdWxlLScpOgogICAgICAgICAgICBjb250aW51ZQogICAgICAgIGZvciBm
aWxlcyBpbiBjaHVua3MocGtnZmlsZXNbcGtnXSwgMTAwKToKICAgICAgICAgICAgcGtnbGlzdC5h
cHBlbmQoKHBrZywgZmlsZXMsIHJwbWRlcHMsIHBrZ2Rlc3QpKQoKICAgIHByb2Nlc3NlZCA9IG9l
LnV0aWxzLm11bHRpcHJvY2Vzc19leGVjKCBwa2dsaXN0LCBvZS5wYWNrYWdlLmZpbGVkZXBydW5u
ZXIpCgogICAgcHJvdmlkZXNfZmlsZXMgPSB7fQogICAgcmVxdWlyZXNfZmlsZXMgPSB7fQoKICAg
IGZvciByZXN1bHQgaW4gcHJvY2Vzc2VkOgogICAgICAgIChwa2csIHByb3ZpZGVzLCByZXF1aXJl
cykgPSByZXN1bHQKCiAgICAgICAgaWYgcGtnIG5vdCBpbiBwcm92aWRlc19maWxlczoKICAgICAg
ICAgICAgcHJvdmlkZXNfZmlsZXNbcGtnXSA9IFtdCiAgICAgICAgaWYgcGtnIG5vdCBpbiByZXF1
aXJlc19maWxlczoKICAgICAgICAgICAgcmVxdWlyZXNfZmlsZXNbcGtnXSA9IFtdCgogICAgICAg
IGZvciBmaWxlIGluIHByb3ZpZGVzOgogICAgICAgICAgICBwcm92aWRlc19maWxlc1twa2ddLmFw
cGVuZChmaWxlKQogICAgICAgICAgICBrZXkgPSAiRklMRVJQUk9WSURFU18iICsgZmlsZSArICJf
IiArIHBrZwogICAgICAgICAgICBkLnNldFZhcihrZXksICIgIi5qb2luKHByb3ZpZGVzW2ZpbGVd
KSkKCiAgICAgICAgZm9yIGZpbGUgaW4gcmVxdWlyZXM6CiAgICAgICAgICAgIHJlcXVpcmVzX2Zp
bGVzW3BrZ10uYXBwZW5kKGZpbGUpCiAgICAgICAgICAgIGtleSA9ICJGSUxFUkRFUEVORFNfIiAr
IGZpbGUgKyAiXyIgKyBwa2cKICAgICAgICAgICAgZC5zZXRWYXIoa2V5LCAiICIuam9pbihyZXF1
aXJlc1tmaWxlXSkpCgogICAgZm9yIHBrZyBpbiByZXF1aXJlc19maWxlczoKICAgICAgICBkLnNl
dFZhcigiRklMRVJERVBFTkRTRkxJU1RfIiArIHBrZywgIiAiLmpvaW4ocmVxdWlyZXNfZmlsZXNb
cGtnXSkpCiAgICBmb3IgcGtnIGluIHByb3ZpZGVzX2ZpbGVzOgogICAgICAgIGQuc2V0VmFyKCJG
SUxFUlBST1ZJREVTRkxJU1RfIiArIHBrZywgIiAiLmpvaW4ocHJvdmlkZXNfZmlsZXNbcGtnXSkp
Cn0KCgpweXRob24gcGFja2FnZV9kb19wa2djb25maWcgKCkgewogICAgaW1wb3J0IHJlCgogICAg
cGFja2FnZXMgPSBkLmdldFZhcignUEFDS0FHRVMnKQogICAgd29ya2RpciA9IGQuZ2V0VmFyKCdX
T1JLRElSJykKICAgIHBrZ2Rlc3QgPSBkLmdldFZhcignUEtHREVTVCcpCgogICAgc2hsaWJzX2Rp
cnMgPSBkLmdldFZhcignU0hMSUJTRElSUycpLnNwbGl0KCkKICAgIHNobGlic3dvcmtfZGlyID0g
ZC5nZXRWYXIoJ1NITElCU1dPUktESVInKQoKICAgIHBjX3JlID0gcmUuY29tcGlsZSgnKC4qKVwu
cGMkJykKICAgIHZhcl9yZSA9IHJlLmNvbXBpbGUoJyguKik9KC4qKScpCiAgICBmaWVsZF9yZSA9
IHJlLmNvbXBpbGUoJyguKik6ICguKiknKQoKICAgIHBrZ2NvbmZpZ19wcm92aWRlZCA9IHt9CiAg
ICBwa2djb25maWdfbmVlZGVkID0ge30KICAgIGZvciBwa2cgaW4gcGFja2FnZXMuc3BsaXQoKToK
ICAgICAgICBwa2djb25maWdfcHJvdmlkZWRbcGtnXSA9IFtdCiAgICAgICAgcGtnY29uZmlnX25l
ZWRlZFtwa2ddID0gW10KICAgICAgICBmb3IgZmlsZSBpbiBwa2dmaWxlc1twa2ddOgogICAgICAg
ICAgICAgICAgbSA9IHBjX3JlLm1hdGNoKGZpbGUpCiAgICAgICAgICAgICAgICBpZiBtOgogICAg
ICAgICAgICAgICAgICAgIHBkID0gYmIuZGF0YS5pbml0KCkKICAgICAgICAgICAgICAgICAgICBu
YW1lID0gbS5ncm91cCgxKQogICAgICAgICAgICAgICAgICAgIHBrZ2NvbmZpZ19wcm92aWRlZFtw
a2ddLmFwcGVuZChuYW1lKQogICAgICAgICAgICAgICAgICAgIGlmIG5vdCBvcy5hY2Nlc3MoZmls
ZSwgb3MuUl9PSyk6CiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCiAgICAgICAgICAg
ICAgICAgICAgZiA9IG9wZW4oZmlsZSwgJ3InKQogICAgICAgICAgICAgICAgICAgIGxpbmVzID0g
Zi5yZWFkbGluZXMoKQogICAgICAgICAgICAgICAgICAgIGYuY2xvc2UoKQogICAgICAgICAgICAg
ICAgICAgIGZvciBsIGluIGxpbmVzOgogICAgICAgICAgICAgICAgICAgICAgICBtID0gdmFyX3Jl
Lm1hdGNoKGwpCiAgICAgICAgICAgICAgICAgICAgICAgIGlmIG06CiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBuYW1lID0gbS5ncm91cCgxKQogICAgICAgICAgICAgICAgICAgICAgICAgICAg
dmFsID0gbS5ncm91cCgyKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgcGQuc2V0VmFyKG5h
bWUsIHBkLmV4cGFuZCh2YWwpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWUK
ICAgICAgICAgICAgICAgICAgICAgICAgbSA9IGZpZWxkX3JlLm1hdGNoKGwpCiAgICAgICAgICAg
ICAgICAgICAgICAgIGlmIG06CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZHIgPSBtLmdy
b3VwKDEpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBleHAgPSBwZC5leHBhbmQobS5ncm91
cCgyKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIGhkciA9PSAnUmVxdWlyZXMnOgog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBrZ2NvbmZpZ19uZWVkZWRbcGtnXSArPSBl
eHAucmVwbGFjZSgnLCcsICcgJykuc3BsaXQoKQoKICAgICMgVGFrZSBzaGFyZWQgbG9jayBzaW5j
ZSB3ZSdyZSBvbmx5IHJlYWRpbmcsIG5vdCB3cml0aW5nCiAgICBsZiA9IGJiLnV0aWxzLmxvY2tm
aWxlKGQuZXhwYW5kKCIke1BBQ0tBR0VMT0NLfSIpKQoKICAgIGZvciBwa2cgaW4gcGFja2FnZXMu
c3BsaXQoKToKICAgICAgICBwa2dzX2ZpbGUgPSBvcy5wYXRoLmpvaW4oc2hsaWJzd29ya19kaXIs
IHBrZyArICIucGNsaXN0IikKICAgICAgICBpZiBwa2djb25maWdfcHJvdmlkZWRbcGtnXSAhPSBb
XToKICAgICAgICAgICAgZiA9IG9wZW4ocGtnc19maWxlLCAndycpCiAgICAgICAgICAgIGZvciBw
IGluIHBrZ2NvbmZpZ19wcm92aWRlZFtwa2ddOgogICAgICAgICAgICAgICAgZi53cml0ZSgnJXNc
bicgJSBwKQogICAgICAgICAgICBmLmNsb3NlKCkKCiAgICAjIEdvIGZyb20gbGVhc3QgdG8gbW9z
dCBzcGVjaWZpYyBzaW5jZSB0aGUgbGFzdCBvbmUgZm91bmQgd2lucwogICAgZm9yIGRpciBpbiBy
ZXZlcnNlZChzaGxpYnNfZGlycyk6CiAgICAgICAgaWYgbm90IG9zLnBhdGguZXhpc3RzKGRpcik6
CiAgICAgICAgICAgIGNvbnRpbnVlCiAgICAgICAgZm9yIGZpbGUgaW4gb3MubGlzdGRpcihkaXIp
OgogICAgICAgICAgICBtID0gcmUubWF0Y2goJ14oLiopXC5wY2xpc3QkJywgZmlsZSkKICAgICAg
ICAgICAgaWYgbToKICAgICAgICAgICAgICAgIHBrZyA9IG0uZ3JvdXAoMSkKICAgICAgICAgICAg
ICAgIGZkID0gb3Blbihvcy5wYXRoLmpvaW4oZGlyLCBmaWxlKSkKICAgICAgICAgICAgICAgIGxp
bmVzID0gZmQucmVhZGxpbmVzKCkKICAgICAgICAgICAgICAgIGZkLmNsb3NlKCkKICAgICAgICAg
ICAgICAgIHBrZ2NvbmZpZ19wcm92aWRlZFtwa2ddID0gW10KICAgICAgICAgICAgICAgIGZvciBs
IGluIGxpbmVzOgogICAgICAgICAgICAgICAgICAgIHBrZ2NvbmZpZ19wcm92aWRlZFtwa2ddLmFw
cGVuZChsLnJzdHJpcCgpKQoKICAgIGZvciBwa2cgaW4gcGFja2FnZXMuc3BsaXQoKToKICAgICAg
ICBkZXBzID0gW10KICAgICAgICBmb3IgbiBpbiBwa2djb25maWdfbmVlZGVkW3BrZ106CiAgICAg
ICAgICAgIGZvdW5kID0gRmFsc2UKICAgICAgICAgICAgZm9yIGsgaW4gcGtnY29uZmlnX3Byb3Zp
ZGVkLmtleXMoKToKICAgICAgICAgICAgICAgIGlmIG4gaW4gcGtnY29uZmlnX3Byb3ZpZGVkW2td
OgogICAgICAgICAgICAgICAgICAgIGlmIGsgIT0gcGtnIGFuZCBub3QgKGsgaW4gZGVwcyk6CiAg
ICAgICAgICAgICAgICAgICAgICAgIGRlcHMuYXBwZW5kKGspCiAgICAgICAgICAgICAgICAgICAg
Zm91bmQgPSBUcnVlCiAgICAgICAgICAgIGlmIGZvdW5kID09IEZhbHNlOgogICAgICAgICAgICAg
ICAgYmIubm90ZSgiY291bGRuJ3QgZmluZCBwa2djb25maWcgbW9kdWxlICclcycgaW4gYW55IHBh
Y2thZ2UiICUgbikKICAgICAgICBkZXBzX2ZpbGUgPSBvcy5wYXRoLmpvaW4ocGtnZGVzdCwgcGtn
ICsgIi5wY2RlcHMiKQogICAgICAgIGlmIGxlbihkZXBzKToKICAgICAgICAgICAgZmQgPSBvcGVu
KGRlcHNfZmlsZSwgJ3cnKQogICAgICAgICAgICBmb3IgZGVwIGluIGRlcHM6CiAgICAgICAgICAg
ICAgICBmZC53cml0ZShkZXAgKyAnXG4nKQogICAgICAgICAgICBmZC5jbG9zZSgpCgogICAgYmIu
dXRpbHMudW5sb2NrZmlsZShsZikKfQoKCnB5dGhvbiBwYWNrYWdlX2RvX3NobGlicyAoKSB7CiAg
ICBpbXBvcnQgcmUsIHBpcGVzCiAgICBpbXBvcnQgc3VicHJvY2VzcyBhcyBzdWIKCiAgICBleGNs
dWRlX3NobGlicyA9IGQuZ2V0VmFyKCdFWENMVURFX0ZST01fU0hMSUJTJywgRmFsc2UpCiAgICBp
ZiBleGNsdWRlX3NobGliczoKICAgICAgICBiYi5ub3RlKCJub3QgZ2VuZXJhdGluZyBzaGxpYnMi
KQogICAgICAgIHJldHVybgoKICAgIGxpYl9yZSA9IHJlLmNvbXBpbGUoIl4uKlwuc28iKQogICAg
bGliZGlyX3JlID0gcmUuY29tcGlsZSgiLiovJXMkIiAlIGQuZ2V0VmFyKCdiYXNlbGliJykpCgog
ICAgcGFja2FnZXMgPSBkLmdldFZhcignUEFDS0FHRVMnKQogICAgdGFyZ2V0b3MgPSBkLmdldFZh
cignVEFSR0VUX09TJykKCiAgICB3b3JrZGlyID0gZC5nZXRWYXIoJ1dPUktESVInKQoKICAgIHZl
ciA9IGQuZ2V0VmFyKCdQS0dWJykKICAgIGlmIG5vdCB2ZXI6CiAgICAgICAgbXNnID0gIlBLR1Yg
bm90IGRlZmluZWQiCiAgICAgICAgcGFja2FnZV9xYV9oYW5kbGVfZXJyb3IoInBrZ3YtdW5kZWZp
bmVkIiwgbXNnLCBkKQogICAgICAgIHJldHVybgoKICAgIHBrZ2Rlc3QgPSBkLmdldFZhcignUEtH
REVTVCcpCgogICAgc2hsaWJzd29ya19kaXIgPSBkLmdldFZhcignU0hMSUJTV09SS0RJUicpCgog
ICAgIyBUYWtlIHNoYXJlZCBsb2NrIHNpbmNlIHdlJ3JlIG9ubHkgcmVhZGluZywgbm90IHdyaXRp
bmcKICAgIGxmID0gYmIudXRpbHMubG9ja2ZpbGUoZC5leHBhbmQoIiR7UEFDS0FHRUxPQ0t9Iikp
CgogICAgZGVmIGxpbnV4X3NvKGZpbGUsIG5lZWRlZCwgc29uYW1lcywgcmVuYW1lcywgcGtndmVy
KToKICAgICAgICBuZWVkc19sZGNvbmZpZyA9IEZhbHNlCiAgICAgICAgbGRpciA9IG9zLnBhdGgu
ZGlybmFtZShmaWxlKS5yZXBsYWNlKHBrZ2Rlc3QgKyAiLyIgKyBwa2csICcnKQogICAgICAgIGNt
ZCA9IGQuZ2V0VmFyKCdPQkpEVU1QJykgKyAiIC1wICIgKyBwaXBlcy5xdW90ZShmaWxlKSArICIg
Mj4vZGV2L251bGwiCiAgICAgICAgZmQgPSBvcy5wb3BlbihjbWQpCiAgICAgICAgbGluZXMgPSBm
ZC5yZWFkbGluZXMoKQogICAgICAgIGZkLmNsb3NlKCkKICAgICAgICBycGF0aCA9IFtdCiAgICAg
ICAgZm9yIGwgaW4gbGluZXM6CiAgICAgICAgICAgIG0gPSByZS5tYXRjaCgiXHMrUlBBVEhccyso
W15cc10qKSIsIGwpCiAgICAgICAgICAgIGlmIG06CiAgICAgICAgICAgICAgICBycGF0aHMgPSBt
Lmdyb3VwKDEpLnJlcGxhY2UoIiRPUklHSU4iLCBsZGlyKS5zcGxpdCgiOiIpCiAgICAgICAgICAg
ICAgICBycGF0aCA9IGxpc3QobWFwKG9zLnBhdGgubm9ybXBhdGgsIHJwYXRocykpCiAgICAgICAg
Zm9yIGwgaW4gbGluZXM6CiAgICAgICAgICAgIG0gPSByZS5tYXRjaCgiXHMrTkVFREVEXHMrKFte
XHNdKikiLCBsKQogICAgICAgICAgICBpZiBtOgogICAgICAgICAgICAgICAgZGVwID0gbS5ncm91
cCgxKQogICAgICAgICAgICAgICAgaWYgZGVwIG5vdCBpbiBuZWVkZWRbcGtnXToKICAgICAgICAg
ICAgICAgICAgICBuZWVkZWRbcGtnXS5hcHBlbmQoKGRlcCwgZmlsZSwgcnBhdGgpKQogICAgICAg
ICAgICBtID0gcmUubWF0Y2goIlxzK1NPTkFNRVxzKyhbXlxzXSopIiwgbCkKICAgICAgICAgICAg
aWYgbToKICAgICAgICAgICAgICAgIHRoaXNfc29uYW1lID0gbS5ncm91cCgxKQogICAgICAgICAg
ICAgICAgcHJvdiA9ICh0aGlzX3NvbmFtZSwgbGRpciwgcGtndmVyKQogICAgICAgICAgICAgICAg
aWYgbm90IHByb3YgaW4gc29uYW1lczoKICAgICAgICAgICAgICAgICAgICAjIGlmIGxpYnJhcnkg
aXMgcHJpdmF0ZSAob25seSB1c2VkIGJ5IHBhY2thZ2UpIHRoZW4gZG8gbm90IGJ1aWxkIHNobGli
IGZvciBpdAogICAgICAgICAgICAgICAgICAgIGlmIG5vdCBwcml2YXRlX2xpYnMgb3IgdGhpc19z
b25hbWUgbm90IGluIHByaXZhdGVfbGliczoKICAgICAgICAgICAgICAgICAgICAgICAgc29uYW1l
cy5hcHBlbmQocHJvdikKICAgICAgICAgICAgICAgIGlmIGxpYmRpcl9yZS5tYXRjaChvcy5wYXRo
LmRpcm5hbWUoZmlsZSkpOgogICAgICAgICAgICAgICAgICAgIG5lZWRzX2xkY29uZmlnID0gVHJ1
ZQogICAgICAgICAgICAgICAgaWYgc25hcF9zeW1saW5rcyBhbmQgKG9zLnBhdGguYmFzZW5hbWUo
ZmlsZSkgIT0gdGhpc19zb25hbWUpOgogICAgICAgICAgICAgICAgICAgIHJlbmFtZXMuYXBwZW5k
KChmaWxlLCBvcy5wYXRoLmpvaW4ob3MucGF0aC5kaXJuYW1lKGZpbGUpLCB0aGlzX3NvbmFtZSkp
KQogICAgICAgIHJldHVybiBuZWVkc19sZGNvbmZpZwoKICAgIGRlZiBkYXJ3aW5fc28oZmlsZSwg
bmVlZGVkLCBzb25hbWVzLCByZW5hbWVzLCBwa2d2ZXIpOgogICAgICAgIGlmIG5vdCBvcy5wYXRo
LmV4aXN0cyhmaWxlKToKICAgICAgICAgICAgcmV0dXJuCiAgICAgICAgbGRpciA9IG9zLnBhdGgu
ZGlybmFtZShmaWxlKS5yZXBsYWNlKHBrZ2Rlc3QgKyAiLyIgKyBwa2csICcnKQoKICAgICAgICBk
ZWYgZ2V0X2NvbWJpbmF0aW9ucyhiYXNlKToKICAgICAgICAgICAgIwogICAgICAgICAgICAjIEdp
dmVuIGEgYmFzZSBsaWJyYXJ5IG5hbWUsIGZpbmQgYWxsIGNvbWJpbmF0aW9ucyBvZiB0aGlzIHNw
bGl0IGJ5ICIuIiBhbmQgIi0iCiAgICAgICAgICAgICMKICAgICAgICAgICAgY29tYm9zID0gW10K
ICAgICAgICAgICAgb3B0aW9ucyA9IGJhc2Uuc3BsaXQoIi4iKQogICAgICAgICAgICBmb3IgaSBp
biByYW5nZSgxLCBsZW4ob3B0aW9ucykgKyAxKToKICAgICAgICAgICAgICAgIGNvbWJvcy5hcHBl
bmQoIi4iLmpvaW4ob3B0aW9uc1swOmldKSkKICAgICAgICAgICAgb3B0aW9ucyA9IGJhc2Uuc3Bs
aXQoIi0iKQogICAgICAgICAgICBmb3IgaSBpbiByYW5nZSgxLCBsZW4ob3B0aW9ucykgKyAxKToK
ICAgICAgICAgICAgICAgIGNvbWJvcy5hcHBlbmQoIi0iLmpvaW4ob3B0aW9uc1swOmldKSkKICAg
ICAgICAgICAgcmV0dXJuIGNvbWJvcwoKICAgICAgICBpZiAoZmlsZS5lbmRzd2l0aCgnLmR5bGli
Jykgb3IgZmlsZS5lbmRzd2l0aCgnLnNvJykpIGFuZCBub3QgcGtnLmVuZHN3aXRoKCctZGV2Jykg
YW5kIG5vdCBwa2cuZW5kc3dpdGgoJy1kYmcnKToKICAgICAgICAgICAgIyBEcm9wIHN1ZmZpeAog
ICAgICAgICAgICBuYW1lID0gb3MucGF0aC5iYXNlbmFtZShmaWxlKS5yc3BsaXQoIi4iLDEpWzBd
CiAgICAgICAgICAgICMgRmluZCBhbGwgY29tYmluYXRpb25zCiAgICAgICAgICAgIGNvbWJvcyA9
IGdldF9jb21iaW5hdGlvbnMobmFtZSkKICAgICAgICAgICAgZm9yIGNvbWJvIGluIGNvbWJvczoK
ICAgICAgICAgICAgICAgIGlmIG5vdCBjb21ibyBpbiBzb25hbWVzOgogICAgICAgICAgICAgICAg
ICAgIHByb3YgPSAoY29tYm8sIGxkaXIsIHBrZ3ZlcikKICAgICAgICAgICAgICAgICAgICBzb25h
bWVzLmFwcGVuZChwcm92KQogICAgICAgIGlmIGZpbGUuZW5kc3dpdGgoJy5keWxpYicpIG9yIGZp
bGUuZW5kc3dpdGgoJy5zbycpOgogICAgICAgICAgICBycGF0aCA9IFtdCiAgICAgICAgICAgIHAg
PSBzdWIuUG9wZW4oW2QuZXhwYW5kKCIke0hPU1RfUFJFRklYfW90b29sIiksICctbCcsIGZpbGVd
LHN0ZG91dD1zdWIuUElQRSxzdGRlcnI9c3ViLlBJUEUpCiAgICAgICAgICAgIG91dCwgZXJyID0g
cC5jb21tdW5pY2F0ZSgpCiAgICAgICAgICAgICMgSWYgcmV0dXJuZWQgc3VjY2Vzc2Z1bGx5LCBw
cm9jZXNzIHN0ZG91dCBmb3IgcmVzdWx0cwogICAgICAgICAgICBpZiBwLnJldHVybmNvZGUgPT0g
MDoKICAgICAgICAgICAgICAgIGZvciBsIGluIG91dC5zcGxpdCgiXG4iKToKICAgICAgICAgICAg
ICAgICAgICBsID0gbC5zdHJpcCgpCiAgICAgICAgICAgICAgICAgICAgaWYgbC5zdGFydHN3aXRo
KCdwYXRoICcpOgogICAgICAgICAgICAgICAgICAgICAgICBycGF0aC5hcHBlbmQobC5zcGxpdCgp
WzFdKQoKICAgICAgICBwID0gc3ViLlBvcGVuKFtkLmV4cGFuZCgiJHtIT1NUX1BSRUZJWH1vdG9v
bCIpLCAnLUwnLCBmaWxlXSxzdGRvdXQ9c3ViLlBJUEUsc3RkZXJyPXN1Yi5QSVBFKQogICAgICAg
IG91dCwgZXJyID0gcC5jb21tdW5pY2F0ZSgpCiAgICAgICAgIyBJZiByZXR1cm5lZCBzdWNjZXNz
ZnVsbHksIHByb2Nlc3Mgc3Rkb3V0IGZvciByZXN1bHRzCiAgICAgICAgaWYgcC5yZXR1cm5jb2Rl
ID09IDA6CiAgICAgICAgICAgIGZvciBsIGluIG91dC5zcGxpdCgiXG4iKToKICAgICAgICAgICAg
ICAgIGwgPSBsLnN0cmlwKCkKICAgICAgICAgICAgICAgIGlmIG5vdCBsIG9yIGwuZW5kc3dpdGgo
IjoiKToKICAgICAgICAgICAgICAgICAgICBjb250aW51ZQogICAgICAgICAgICAgICAgaWYgImlz
IG5vdCBhbiBvYmplY3QgZmlsZSIgaW4gbDoKICAgICAgICAgICAgICAgICAgICBjb250aW51ZQog
ICAgICAgICAgICAgICAgbmFtZSA9IG9zLnBhdGguYmFzZW5hbWUobC5zcGxpdCgpWzBdKS5yc3Bs
aXQoIi4iLCAxKVswXQogICAgICAgICAgICAgICAgaWYgbmFtZSBhbmQgbmFtZSBub3QgaW4gbmVl
ZGVkW3BrZ106CiAgICAgICAgICAgICAgICAgICAgIG5lZWRlZFtwa2ddLmFwcGVuZCgobmFtZSwg
ZmlsZSwgW10pKQoKICAgIGRlZiBtaW5nd19kbGwoZmlsZSwgbmVlZGVkLCBzb25hbWVzLCByZW5h
bWVzLCBwa2d2ZXIpOgogICAgICAgIGlmIG5vdCBvcy5wYXRoLmV4aXN0cyhmaWxlKToKICAgICAg
ICAgICAgcmV0dXJuCgogICAgICAgIGlmIGZpbGUuZW5kc3dpdGgoIi5kbGwiKToKICAgICAgICAg
ICAgIyBhc3N1bWUgYWxsIGRsbHMgYXJlIHNoYXJlZCBvYmplY3RzIHByb3ZpZGVkIGJ5IHRoZSBw
YWNrYWdlCiAgICAgICAgICAgIHNvbmFtZXMuYXBwZW5kKChvcy5wYXRoLmJhc2VuYW1lKGZpbGUp
LCBvcy5wYXRoLmRpcm5hbWUoZmlsZSkucmVwbGFjZShwa2dkZXN0ICsgIi8iICsgcGtnLCAnJyks
IHBrZ3ZlcikpCgogICAgICAgIGlmIChmaWxlLmVuZHN3aXRoKCIuZGxsIikgb3IgZmlsZS5lbmRz
d2l0aCgiLmV4ZSIpKToKICAgICAgICAgICAgIyB1c2Ugb2JqZHVtcCB0byBzZWFyY2ggZm9yICJE
TEwgTmFtZTogLipcLmRsbCIKICAgICAgICAgICAgcCA9IHN1Yi5Qb3BlbihbZC5leHBhbmQoIiR7
SE9TVF9QUkVGSVh9b2JqZHVtcCIpLCAiLXAiLCBmaWxlXSwgc3Rkb3V0ID0gc3ViLlBJUEUsIHN0
ZGVycj0gc3ViLlBJUEUpCiAgICAgICAgICAgIG91dCwgZXJyID0gcC5jb21tdW5pY2F0ZSgpCiAg
ICAgICAgICAgICMgcHJvY2VzcyB0aGUgb3V0cHV0LCBncmFiYmluZyBhbGwgLmRsbCBuYW1lcwog
ICAgICAgICAgICBpZiBwLnJldHVybmNvZGUgPT0gMDoKICAgICAgICAgICAgICAgIGZvciBtIGlu
IHJlLmZpbmRpdGVyKCJETEwgTmFtZTogKC4qP1wuZGxsKSQiLCBvdXQuZGVjb2RlKCksIHJlLk1V
TFRJTElORSB8IHJlLklHTk9SRUNBU0UpOgogICAgICAgICAgICAgICAgICAgIGRsbG5hbWUgPSBt
Lmdyb3VwKDEpCiAgICAgICAgICAgICAgICAgICAgaWYgZGxsbmFtZToKICAgICAgICAgICAgICAg
ICAgICAgICAgbmVlZGVkW3BrZ10uYXBwZW5kKChkbGxuYW1lLCBmaWxlLCBbXSkpCgogICAgaWYg
ZC5nZXRWYXIoJ1BBQ0tBR0VfU05BUF9MSUJfU1lNTElOS1MnKSA9PSAiMSI6CiAgICAgICAgc25h
cF9zeW1saW5rcyA9IFRydWUKICAgIGVsc2U6CiAgICAgICAgc25hcF9zeW1saW5rcyA9IEZhbHNl
CgogICAgdXNlX2xkY29uZmlnID0gYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycs
ICdsZGNvbmZpZycsIFRydWUsIEZhbHNlLCBkKQoKICAgIG5lZWRlZCA9IHt9CiAgICBzaGxpYl9w
cm92aWRlciA9IG9lLnBhY2thZ2UucmVhZF9zaGxpYl9wcm92aWRlcnMoZCkKCiAgICBmb3IgcGtn
IGluIHBhY2thZ2VzLnNwbGl0KCk6CiAgICAgICAgcHJpdmF0ZV9saWJzID0gZC5nZXRWYXIoJ1BS
SVZBVEVfTElCU18nICsgcGtnKSBvciBkLmdldFZhcignUFJJVkFURV9MSUJTJykgb3IgIiIKICAg
ICAgICBwcml2YXRlX2xpYnMgPSBwcml2YXRlX2xpYnMuc3BsaXQoKQogICAgICAgIG5lZWRzX2xk
Y29uZmlnID0gRmFsc2UKICAgICAgICBiYi5kZWJ1ZygyLCAiY2FsY3VsYXRpbmcgc2hsaWIgcHJv
dmlkZXMgZm9yICVzIiAlIHBrZykKCiAgICAgICAgcGtndmVyID0gZC5nZXRWYXIoJ1BLR1ZfJyAr
IHBrZykKICAgICAgICBpZiBub3QgcGtndmVyOgogICAgICAgICAgICBwa2d2ZXIgPSBkLmdldFZh
cignUFZfJyArIHBrZykKICAgICAgICBpZiBub3QgcGtndmVyOgogICAgICAgICAgICBwa2d2ZXIg
PSB2ZXIKCiAgICAgICAgbmVlZGVkW3BrZ10gPSBbXQogICAgICAgIHNvbmFtZXMgPSBsaXN0KCkK
ICAgICAgICByZW5hbWVzID0gbGlzdCgpCiAgICAgICAgZm9yIGZpbGUgaW4gcGtnZmlsZXNbcGtn
XToKICAgICAgICAgICAgICAgIHNvbmFtZSA9IE5vbmUKICAgICAgICAgICAgICAgIGlmIGNwYXRo
LmlzbGluayhmaWxlKToKICAgICAgICAgICAgICAgICAgICBjb250aW51ZQogICAgICAgICAgICAg
ICAgaWYgdGFyZ2V0b3MgPT0gImRhcndpbiIgb3IgdGFyZ2V0b3MgPT0gImRhcndpbjgiOgogICAg
ICAgICAgICAgICAgICAgIGRhcndpbl9zbyhmaWxlLCBuZWVkZWQsIHNvbmFtZXMsIHJlbmFtZXMs
IHBrZ3ZlcikKICAgICAgICAgICAgICAgIGVsaWYgdGFyZ2V0b3Muc3RhcnRzd2l0aCgibWluZ3ci
KToKICAgICAgICAgICAgICAgICAgICBtaW5nd19kbGwoZmlsZSwgbmVlZGVkLCBzb25hbWVzLCBy
ZW5hbWVzLCBwa2d2ZXIpCiAgICAgICAgICAgICAgICBlbGlmIG9zLmFjY2VzcyhmaWxlLCBvcy5Y
X09LKSBvciBsaWJfcmUubWF0Y2goZmlsZSk6CiAgICAgICAgICAgICAgICAgICAgbGRjb25maWcg
PSBsaW51eF9zbyhmaWxlLCBuZWVkZWQsIHNvbmFtZXMsIHJlbmFtZXMsIHBrZ3ZlcikKICAgICAg
ICAgICAgICAgICAgICBuZWVkc19sZGNvbmZpZyA9IG5lZWRzX2xkY29uZmlnIG9yIGxkY29uZmln
CiAgICAgICAgZm9yIChvbGQsIG5ldykgaW4gcmVuYW1lczoKICAgICAgICAgICAgYmIubm90ZSgi
UmVuYW1pbmcgJXMgdG8gJXMiICUgKG9sZCwgbmV3KSkKICAgICAgICAgICAgb3MucmVuYW1lKG9s
ZCwgbmV3KQogICAgICAgICAgICBwa2dmaWxlc1twa2ddLnJlbW92ZShvbGQpCgogICAgICAgIHNo
bGlic19maWxlID0gb3MucGF0aC5qb2luKHNobGlic3dvcmtfZGlyLCBwa2cgKyAiLmxpc3QiKQog
ICAgICAgIGlmIGxlbihzb25hbWVzKToKICAgICAgICAgICAgZmQgPSBvcGVuKHNobGlic19maWxl
LCAndycpCiAgICAgICAgICAgIGZvciBzIGluIHNvbmFtZXM6CiAgICAgICAgICAgICAgICBpZiBz
WzBdIGluIHNobGliX3Byb3ZpZGVyIGFuZCBzWzFdIGluIHNobGliX3Byb3ZpZGVyW3NbMF1dOgog
ICAgICAgICAgICAgICAgICAgIChvbGRfcGtnLCBvbGRfcGtndmVyKSA9IHNobGliX3Byb3ZpZGVy
W3NbMF1dW3NbMV1dCiAgICAgICAgICAgICAgICAgICAgaWYgb2xkX3BrZyAhPSBwa2c6CiAgICAg
ICAgICAgICAgICAgICAgICAgIGJiLndhcm4oJyVzLSVzIHdhcyByZWdpc3RlcmVkIGFzIHNobGli
IHByb3ZpZGVyIGZvciAlcywgY2hhbmdpbmcgaXQgdG8gJXMtJXMgYmVjYXVzZSBpdCB3YXMgYnVp
bHQgbGF0ZXInICUgKG9sZF9wa2csIG9sZF9wa2d2ZXIsIHNbMF0sIHBrZywgcGtndmVyKSkKICAg
ICAgICAgICAgICAgIGJiLmRlYnVnKDEsICdyZWdpc3RlcmluZyAlcy0lcyBhcyBzaGxpYiBwcm92
aWRlciBmb3IgJXMnICUgKHBrZywgcGtndmVyLCBzWzBdKSkKICAgICAgICAgICAgICAgIGZkLndy
aXRlKHNbMF0gKyAnOicgKyBzWzFdICsgJzonICsgc1syXSArICdcbicpCiAgICAgICAgICAgICAg
ICBpZiBzWzBdIG5vdCBpbiBzaGxpYl9wcm92aWRlcjoKICAgICAgICAgICAgICAgICAgICBzaGxp
Yl9wcm92aWRlcltzWzBdXSA9IHt9CiAgICAgICAgICAgICAgICBzaGxpYl9wcm92aWRlcltzWzBd
XVtzWzFdXSA9IChwa2csIHBrZ3ZlcikKICAgICAgICAgICAgZmQuY2xvc2UoKQogICAgICAgIGlm
IG5lZWRzX2xkY29uZmlnIGFuZCB1c2VfbGRjb25maWc6CiAgICAgICAgICAgIGJiLmRlYnVnKDEs
ICdhZGRpbmcgbGRjb25maWcgY2FsbCB0byBwb3N0aW5zdCBmb3IgJXMnICUgcGtnKQogICAgICAg
ICAgICBwb3N0aW5zdCA9IGQuZ2V0VmFyKCdwa2dfcG9zdGluc3RfJXMnICUgcGtnKQogICAgICAg
ICAgICBpZiBub3QgcG9zdGluc3Q6CiAgICAgICAgICAgICAgICBwb3N0aW5zdCA9ICcjIS9iaW4v
c2hcbicKICAgICAgICAgICAgcG9zdGluc3QgKz0gZC5nZXRWYXIoJ2xkY29uZmlnX3Bvc3RpbnN0
X2ZyYWdtZW50JykKICAgICAgICAgICAgZC5zZXRWYXIoJ3BrZ19wb3N0aW5zdF8lcycgJSBwa2cs
IHBvc3RpbnN0KQogICAgICAgIGJiLmRlYnVnKDEsICdMSUJOQU1FUzogcGtnICVzIHNvbmFtZXMg
JXMnICUgKHBrZywgc29uYW1lcykpCgogICAgYmIudXRpbHMudW5sb2NrZmlsZShsZikKCiAgICBh
c3N1bWVkX2xpYnMgPSBkLmdldFZhcignQVNTVU1FX1NITElCUycpCiAgICBpZiBhc3N1bWVkX2xp
YnM6CiAgICAgICAgbGliZGlyID0gZC5nZXRWYXIoImxpYmRpciIpCiAgICAgICAgZm9yIGUgaW4g
YXNzdW1lZF9saWJzLnNwbGl0KCk6CiAgICAgICAgICAgIGwsIGRlcF9wa2cgPSBlLnNwbGl0KCI6
IikKICAgICAgICAgICAgbGliX3ZlciA9IE5vbmUKICAgICAgICAgICAgZGVwX3BrZyA9IGRlcF9w
a2cucnNwbGl0KCJfIiwgMSkKICAgICAgICAgICAgaWYgbGVuKGRlcF9wa2cpID09IDI6CiAgICAg
ICAgICAgICAgICBsaWJfdmVyID0gZGVwX3BrZ1sxXQogICAgICAgICAgICBkZXBfcGtnID0gZGVw
X3BrZ1swXQogICAgICAgICAgICBpZiBsIG5vdCBpbiBzaGxpYl9wcm92aWRlcjoKICAgICAgICAg
ICAgICAgIHNobGliX3Byb3ZpZGVyW2xdID0ge30KICAgICAgICAgICAgc2hsaWJfcHJvdmlkZXJb
bF1bbGliZGlyXSA9IChkZXBfcGtnLCBsaWJfdmVyKQoKICAgIGxpYnNlYXJjaHBhdGggPSBbZC5n
ZXRWYXIoJ2xpYmRpcicpLCBkLmdldFZhcignYmFzZV9saWJkaXInKV0KCiAgICBmb3IgcGtnIGlu
IHBhY2thZ2VzLnNwbGl0KCk6CiAgICAgICAgYmIuZGVidWcoMiwgImNhbGN1bGF0aW5nIHNobGli
IHJlcXVpcmVtZW50cyBmb3IgJXMiICUgcGtnKQoKICAgICAgICBkZXBzID0gbGlzdCgpCiAgICAg
ICAgZm9yIG4gaW4gbmVlZGVkW3BrZ106CiAgICAgICAgICAgICMgaWYgbiBpcyBpbiBwcml2YXRl
IGxpYnJhcmllcywgZG9uJ3QgdHJ5IHRvIHNlYXJjaCBwcm92aWRlciBmb3IgaXQKICAgICAgICAg
ICAgIyB0aGlzIGNvdWxkIGNhdXNlIHByb2JsZW0gaW4gY2FzZSBzb21lIGFiYy5iYiBwcm92aWRl
cyBwcml2YXRlCiAgICAgICAgICAgICMgL29wdC9hYmMvbGliL2xpYmZvby5zby4xIGFuZCBjb250
YWlucyAvdXNyL2Jpbi9hYmMgZGVwZW5kaW5nIG9uIHN5c3RlbSBsaWJyYXJ5IGxpYmZvby5zby4x
CiAgICAgICAgICAgICMgYnV0IHNraXBwaW5nIGl0IGlzIHN0aWxsIGJldHRlciBhbHRlcm5hdGl2
ZSB0aGFuIHByb3ZpZGluZyBvd24KICAgICAgICAgICAgIyB2ZXJzaW9uIGFuZCB0aGVuIGFkZGlu
ZyBydW50aW1lIGRlcGVuZGVuY3kgZm9yIHRoZSBzYW1lIHN5c3RlbSBsaWJyYXJ5CiAgICAgICAg
ICAgIGlmIHByaXZhdGVfbGlicyBhbmQgblswXSBpbiBwcml2YXRlX2xpYnM6CiAgICAgICAgICAg
ICAgICBiYi5kZWJ1ZygyLCAnJXM6IERlcGVuZGVuY3kgJXMgY292ZXJlZCBieSBQUklWQVRFX0xJ
QlMnICUgKHBrZywgblswXSkpCiAgICAgICAgICAgICAgICBjb250aW51ZQogICAgICAgICAgICBp
ZiBuWzBdIGluIHNobGliX3Byb3ZpZGVyLmtleXMoKToKICAgICAgICAgICAgICAgIHNobGliX3By
b3ZpZGVyX3BhdGggPSBbXQogICAgICAgICAgICAgICAgZm9yIGsgaW4gc2hsaWJfcHJvdmlkZXJb
blswXV0ua2V5cygpOgogICAgICAgICAgICAgICAgICAgIHNobGliX3Byb3ZpZGVyX3BhdGguYXBw
ZW5kKGspCiAgICAgICAgICAgICAgICBtYXRjaCA9IE5vbmUKICAgICAgICAgICAgICAgIGZvciBw
IGluIG5bMl0gKyBzaGxpYl9wcm92aWRlcl9wYXRoICsgbGlic2VhcmNocGF0aDoKICAgICAgICAg
ICAgICAgICAgICBpZiBwIGluIHNobGliX3Byb3ZpZGVyW25bMF1dOgogICAgICAgICAgICAgICAg
ICAgICAgICBtYXRjaCA9IHAKICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWsKICAgICAgICAg
ICAgICAgIGlmIG1hdGNoOgogICAgICAgICAgICAgICAgICAgIChkZXBfcGtnLCB2ZXJfbmVlZGVk
KSA9IHNobGliX3Byb3ZpZGVyW25bMF1dW21hdGNoXQoKICAgICAgICAgICAgICAgICAgICBiYi5k
ZWJ1ZygyLCAnJXM6IERlcGVuZGVuY3kgJXMgcmVxdWlyZXMgcGFja2FnZSAlcyAodXNlZCBieSBm
aWxlczogJXMpJyAlIChwa2csIG5bMF0sIGRlcF9wa2csIG5bMV0pKQoKICAgICAgICAgICAgICAg
ICAgICBpZiBkZXBfcGtnID09IHBrZzoKICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWUK
CiAgICAgICAgICAgICAgICAgICAgaWYgdmVyX25lZWRlZDoKICAgICAgICAgICAgICAgICAgICAg
ICAgZGVwID0gIiVzICg+PSAlcykiICUgKGRlcF9wa2csIHZlcl9uZWVkZWQpCiAgICAgICAgICAg
ICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICAgICAgICAgZGVwID0gZGVwX3BrZwogICAg
ICAgICAgICAgICAgICAgIGlmIG5vdCBkZXAgaW4gZGVwczoKICAgICAgICAgICAgICAgICAgICAg
ICAgZGVwcy5hcHBlbmQoZGVwKQogICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCiAgICAgICAg
ICAgIGJiLm5vdGUoIkNvdWxkbid0IGZpbmQgc2hhcmVkIGxpYnJhcnkgcHJvdmlkZXIgZm9yICVz
LCB1c2VkIGJ5IGZpbGVzOiAlcyIgJSAoblswXSwgblsxXSkpCgogICAgICAgIGRlcHNfZmlsZSA9
IG9zLnBhdGguam9pbihwa2dkZXN0LCBwa2cgKyAiLnNobGliZGVwcyIpCiAgICAgICAgaWYgb3Mu
cGF0aC5leGlzdHMoZGVwc19maWxlKToKICAgICAgICAgICAgb3MucmVtb3ZlKGRlcHNfZmlsZSkK
ICAgICAgICBpZiBsZW4oZGVwcyk6CiAgICAgICAgICAgIGZkID0gb3BlbihkZXBzX2ZpbGUsICd3
JykKICAgICAgICAgICAgZm9yIGRlcCBpbiBkZXBzOgogICAgICAgICAgICAgICAgZmQud3JpdGUo
ZGVwICsgJ1xuJykKICAgICAgICAgICAgZmQuY2xvc2UoKQp9CgoKcHl0aG9uIHBhY2thZ2VfZG9f
c3BsaXRfbG9jYWxlcyAoKSB7CiAgICBpZiAoZC5nZXRWYXIoJ1BBQ0tBR0VfTk9fTE9DQUxFJykg
PT0gJzEnKToKICAgICAgICBiYi5kZWJ1ZygxLCAicGFja2FnZSByZXF1ZXN0ZWQgbm90IHNwbGl0
dGluZyBsb2NhbGVzIikKICAgICAgICByZXR1cm4KCiAgICBwYWNrYWdlcyA9IChkLmdldFZhcign
UEFDS0FHRVMnKSBvciAiIikuc3BsaXQoKQoKICAgIGRhdGFkaXIgPSBkLmdldFZhcignZGF0YWRp
cicpCiAgICBpZiBub3QgZGF0YWRpcjoKICAgICAgICBiYi5ub3RlKCJkYXRhZGlyIG5vdCBkZWZp
bmVkIikKICAgICAgICByZXR1cm4KCiAgICBkdmFyID0gZC5nZXRWYXIoJ1BLR0QnKQogICAgcG4g
PSBkLmdldFZhcignTE9DQUxFQkFTRVBOJykKCiAgICBpZiBwbiArICctbG9jYWxlJyBpbiBwYWNr
YWdlczoKICAgICAgICBwYWNrYWdlcy5yZW1vdmUocG4gKyAnLWxvY2FsZScpCgogICAgbG9jYWxl
ZGlyID0gb3MucGF0aC5qb2luKGR2YXIgKyBkYXRhZGlyLCAnbG9jYWxlJykKCiAgICBpZiBub3Qg
Y3BhdGguaXNkaXIobG9jYWxlZGlyKToKICAgICAgICBiYi5kZWJ1ZygxLCAiTm8gbG9jYWxlIGZp
bGVzIGluIHRoaXMgcGFja2FnZSIpCiAgICAgICAgcmV0dXJuCgogICAgbG9jYWxlcyA9IG9zLmxp
c3RkaXIobG9jYWxlZGlyKQoKICAgIHN1bW1hcnkgPSBkLmdldFZhcignU1VNTUFSWScpIG9yIHBu
CiAgICBkZXNjcmlwdGlvbiA9IGQuZ2V0VmFyKCdERVNDUklQVElPTicpIG9yICIiCiAgICBsb2Nh
bGVfc2VjdGlvbiA9IGQuZ2V0VmFyKCdMT0NBTEVfU0VDVElPTicpCiAgICBtbHByZWZpeCA9IGQu
Z2V0VmFyKCdNTFBSRUZJWCcpIG9yICIiCiAgICBmb3IgbCBpbiBzb3J0ZWQobG9jYWxlcyk6CiAg
ICAgICAgbG4gPSBsZWdpdGltaXplX3BhY2thZ2VfbmFtZShsKQogICAgICAgIHBrZyA9IHBuICsg
Jy1sb2NhbGUtJyArIGxuCiAgICAgICAgcGFja2FnZXMuYXBwZW5kKHBrZykKICAgICAgICBkLnNl
dFZhcignRklMRVNfJyArIHBrZywgb3MucGF0aC5qb2luKGRhdGFkaXIsICdsb2NhbGUnLCBsKSkK
ICAgICAgICBkLnNldFZhcignUlJFQ09NTUVORFNfJyArIHBrZywgJyVzdmlydHVhbC1sb2NhbGUt
JXMnICUgKG1scHJlZml4LCBsbikpCiAgICAgICAgZC5zZXRWYXIoJ1JQUk9WSURFU18nICsgcGtn
LCAnJXMtbG9jYWxlICVzJXMtdHJhbnNsYXRpb24nICUgKHBuLCBtbHByZWZpeCwgbG4pKQogICAg
ICAgIGQuc2V0VmFyKCdTVU1NQVJZXycgKyBwa2csICclcyAtICVzIHRyYW5zbGF0aW9ucycgJSAo
c3VtbWFyeSwgbCkpCiAgICAgICAgZC5zZXRWYXIoJ0RFU0NSSVBUSU9OXycgKyBwa2csICclcyAg
VGhpcyBwYWNrYWdlIGNvbnRhaW5zIGxhbmd1YWdlIHRyYW5zbGF0aW9uIGZpbGVzIGZvciB0aGUg
JXMgbG9jYWxlLicgJSAoZGVzY3JpcHRpb24sIGwpKQogICAgICAgIGlmIGxvY2FsZV9zZWN0aW9u
OgogICAgICAgICAgICBkLnNldFZhcignU0VDVElPTl8nICsgcGtnLCBsb2NhbGVfc2VjdGlvbikK
CiAgICBkLnNldFZhcignUEFDS0FHRVMnLCAnICcuam9pbihwYWNrYWdlcykpCgogICAgIyBEaXNh
YmxlZCBieSBSUCAxOC8wNi8wNwogICAgIyBXaWxkY2FyZHMgYXJlbid0IHN1cHBvcnRlZCBpbiBk
ZWJpYW4KICAgICMgVGhleSBicmVhayB3aXRoIGlwa2cgc2luY2UgZ2xpYmMtbG9jYWxlKiB3aWxs
IG1lYW4gdGhhdAogICAgIyBnbGliYy1sb2NhbGVkYXRhLXRyYW5zbGl0KiB3b24ndCBpbnN0YWxs
IGFzIGEgZGVwZW5kZW5jeQogICAgIyBmb3Igc29tZSBvdGhlciBwYWNrYWdlIHdoaWNoIGJyZWFr
cyBtZXRhLXRvb2xjaGFpbgogICAgIyBQcm9iYWJseSBicmVha3Mgc2luY2UgdmlydHVhbC1sb2Nh
bGUtIGlzbid0IHByb3ZpZGVkIGFueXdoZXJlCiAgICAjcmRlcCA9IChkLmdldFZhcignUkRFUEVO
RFNfJXMnICUgcG4pIG9yICIiKS5zcGxpdCgpCiAgICAjcmRlcC5hcHBlbmQoJyVzLWxvY2FsZSon
ICUgcG4pCiAgICAjZC5zZXRWYXIoJ1JERVBFTkRTXyVzJyAlIHBuLCAnICcuam9pbihyZGVwKSkK
fQoKCnB5dGhvbiBwYWNrYWdlX2ZpeHN5bWxpbmtzICgpIHsKICAgIGltcG9ydCBlcnJubwogICAg
cGtnZGVzdCA9IGQuZ2V0VmFyKCdQS0dERVNUJykKICAgIHBhY2thZ2VzID0gZC5nZXRWYXIoIlBB
Q0tBR0VTIiwgRmFsc2UpLnNwbGl0KCkKCiAgICBkYW5nbGluZ19saW5rcyA9IHt9CiAgICBwa2df
ZmlsZXMgPSB7fQogICAgZm9yIHBrZyBpbiBwYWNrYWdlczoKICAgICAgICBkYW5nbGluZ19saW5r
c1twa2ddID0gW10KICAgICAgICBwa2dfZmlsZXNbcGtnXSA9IFtdCiAgICAgICAgaW5zdF9yb290
ID0gb3MucGF0aC5qb2luKHBrZ2Rlc3QsIHBrZykKICAgICAgICBmb3IgcGF0aCBpbiBwa2dmaWxl
c1twa2ddOgogICAgICAgICAgICAgICAgcnBhdGggPSBwYXRoW2xlbihpbnN0X3Jvb3QpOl0KICAg
ICAgICAgICAgICAgIHBrZ19maWxlc1twa2ddLmFwcGVuZChycGF0aCkKICAgICAgICAgICAgICAg
IHJ0YXJnZXQgPSBjcGF0aC5yZWFscGF0aChwYXRoLCBpbnN0X3Jvb3QsIFRydWUsIGFzc3VtZV9k
aXIgPSBUcnVlKQogICAgICAgICAgICAgICAgaWYgbm90IGNwYXRoLmxleGlzdHMocnRhcmdldCk6
CiAgICAgICAgICAgICAgICAgICAgZGFuZ2xpbmdfbGlua3NbcGtnXS5hcHBlbmQob3MucGF0aC5u
b3JtcGF0aChydGFyZ2V0W2xlbihpbnN0X3Jvb3QpOl0pKQoKICAgIG5ld3JkZXBlbmRzID0ge30K
ICAgIGZvciBwa2cgaW4gZGFuZ2xpbmdfbGlua3M6CiAgICAgICAgZm9yIGwgaW4gZGFuZ2xpbmdf
bGlua3NbcGtnXToKICAgICAgICAgICAgZm91bmQgPSBGYWxzZQogICAgICAgICAgICBiYi5kZWJ1
ZygxLCAiJXMgY29udGFpbnMgZGFuZ2xpbmcgbGluayAlcyIgJSAocGtnLCBsKSkKICAgICAgICAg
ICAgZm9yIHAgaW4gcGFja2FnZXM6CiAgICAgICAgICAgICAgICBpZiBsIGluIHBrZ19maWxlc1tw
XToKICAgICAgICAgICAgICAgICAgICAgICAgZm91bmQgPSBUcnVlCiAgICAgICAgICAgICAgICAg
ICAgICAgIGJiLmRlYnVnKDEsICJ0YXJnZXQgZm91bmQgaW4gJXMiICUgcCkKICAgICAgICAgICAg
ICAgICAgICAgICAgaWYgcCA9PSBwa2c6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVh
awogICAgICAgICAgICAgICAgICAgICAgICBpZiBwa2cgbm90IGluIG5ld3JkZXBlbmRzOgogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgbmV3cmRlcGVuZHNbcGtnXSA9IFtdCiAgICAgICAgICAg
ICAgICAgICAgICAgIG5ld3JkZXBlbmRzW3BrZ10uYXBwZW5kKHApCiAgICAgICAgICAgICAgICAg
ICAgICAgIGJyZWFrCiAgICAgICAgICAgIGlmIGZvdW5kID09IEZhbHNlOgogICAgICAgICAgICAg
ICAgYmIubm90ZSgiJXMgY29udGFpbnMgZGFuZ2xpbmcgc3ltbGluayB0byAlcyIgJSAocGtnLCBs
KSkKCiAgICBmb3IgcGtnIGluIG5ld3JkZXBlbmRzOgogICAgICAgIHJkZXBlbmRzID0gYmIudXRp
bHMuZXhwbG9kZV9kZXBfdmVyc2lvbnMyKGQuZ2V0VmFyKCdSREVQRU5EU18nICsgcGtnKSBvciAi
IikKICAgICAgICBmb3IgcCBpbiBuZXdyZGVwZW5kc1twa2ddOgogICAgICAgICAgICBpZiBwIG5v
dCBpbiByZGVwZW5kczoKICAgICAgICAgICAgICAgIHJkZXBlbmRzW3BdID0gW10KICAgICAgICBk
LnNldFZhcignUkRFUEVORFNfJyArIHBrZywgYmIudXRpbHMuam9pbl9kZXBzKHJkZXBlbmRzLCBj
b21tYXNlcD1GYWxzZSkpCn0KCgpweXRob24gcGFja2FnZV9nZXRfYXV0b19wciAoKSB7CiAgICBp
bXBvcnQgb2UucHJzZXJ2aWNlCiAgICBpbXBvcnQgcmUKCiAgICAjIFN1cHBvcnQgcGVyIHJlY2lw
ZSBQUlNFUlZfSE9TVAogICAgcG4gPSBkLmdldFZhcignUE4nKQogICAgaG9zdCA9IGQuZ2V0VmFy
KCJQUlNFUlZfSE9TVF8iICsgcG4pCiAgICBpZiBub3QgKGhvc3QgaXMgTm9uZSk6CiAgICAgICAg
ZC5zZXRWYXIoIlBSU0VSVl9IT1NUIiwgaG9zdCkKCiAgICBwa2d2ID0gZC5nZXRWYXIoIlBLR1Yi
KQoKICAgICMgUFIgU2VydmVyIG5vdCBhY3RpdmUsIGhhbmRsZSBBVVRPSU5DCiAgICBpZiBub3Qg
ZC5nZXRWYXIoJ1BSU0VSVl9IT1NUJyk6CiAgICAgICAgaWYgJ0FVVE9JTkMnIGluIHBrZ3Y6CiAg
ICAgICAgICAgIGQuc2V0VmFyKCJQS0dWIiwgcGtndi5yZXBsYWNlKCJBVVRPSU5DIiwgIjAiKSkK
ICAgICAgICByZXR1cm4KCiAgICBhdXRvX3ByID0gTm9uZQogICAgcHYgPSBkLmdldFZhcigiUFYi
KQogICAgdmVyc2lvbiA9IGQuZ2V0VmFyKCJQUkFVVE9JTlgiKQogICAgcGtnYXJjaCA9IGQuZ2V0
VmFyKCJQQUNLQUdFX0FSQ0giKQogICAgY2hlY2tzdW0gPSBkLmdldFZhcigiQkJfVEFTS0hBU0gi
KQoKICAgIGlmIGQuZ2V0VmFyKCdQUlNFUlZfTE9DS0RPV04nKToKICAgICAgICBhdXRvX3ByID0g
ZC5nZXRWYXIoJ1BSQVVUT18nICsgdmVyc2lvbiArICdfJyArIHBrZ2FyY2gpIG9yIGQuZ2V0VmFy
KCdQUkFVVE9fJyArIHZlcnNpb24pIG9yIE5vbmUKICAgICAgICBpZiBhdXRvX3ByIGlzIE5vbmU6
CiAgICAgICAgICAgIGJiLmZhdGFsKCJDYW4gTk9UIGdldCBQUkFVVE8gZnJvbSBsb2NrZG93biBl
eHBvcnRlZCBmaWxlIikKICAgICAgICBkLnNldFZhcignUFJBVVRPJyxzdHIoYXV0b19wcikpCiAg
ICAgICAgcmV0dXJuCgogICAgdHJ5OgogICAgICAgIGNvbm4gPSBkLmdldFZhcigiX19QUlNFUlZf
Q09OTiIpCiAgICAgICAgaWYgY29ubiBpcyBOb25lOgogICAgICAgICAgICBjb25uID0gb2UucHJz
ZXJ2aWNlLnByc2Vydl9tYWtlX2Nvbm4oZCkKICAgICAgICBpZiBjb25uIGlzIG5vdCBOb25lOgog
ICAgICAgICAgICBpZiAiQVVUT0lOQyIgaW4gcGtndjoKICAgICAgICAgICAgICAgIHNyY3B2ID0g
YmIuZmV0Y2gyLmdldF9zcmNyZXYoZCkKICAgICAgICAgICAgICAgIGJhc2VfdmVyID0gIkFVVE9J
TkMtJXMiICUgdmVyc2lvbls6dmVyc2lvbi5maW5kKHNyY3B2KV0KICAgICAgICAgICAgICAgIHZh
bHVlID0gY29ubi5nZXRQUihiYXNlX3ZlciwgcGtnYXJjaCwgc3JjcHYpCiAgICAgICAgICAgICAg
ICBkLnNldFZhcigiUEtHViIsIHBrZ3YucmVwbGFjZSgiQVVUT0lOQyIsIHN0cih2YWx1ZSkpKQoK
ICAgICAgICAgICAgYXV0b19wciA9IGNvbm4uZ2V0UFIodmVyc2lvbiwgcGtnYXJjaCwgY2hlY2tz
dW0pCiAgICBleGNlcHQgRXhjZXB0aW9uIGFzIGU6CiAgICAgICAgYmIuZmF0YWwoIkNhbiBOT1Qg
Z2V0IFBSQVVUTywgZXhjZXB0aW9uICVzIiAlICBzdHIoZSkpCiAgICBpZiBhdXRvX3ByIGlzIE5v
bmU6CiAgICAgICAgYmIuZmF0YWwoIkNhbiBOT1QgZ2V0IFBSQVVUTyBmcm9tIHJlbW90ZSBQUiBz
ZXJ2aWNlIikKICAgIGQuc2V0VmFyKCdQUkFVVE8nLHN0cihhdXRvX3ByKSkKfQoKCnB5dGhvbiBw
YWNrYWdlX25hbWVfaG9vayAoKSB7CiAgICBiYi5idWlsZC5leGVjX2Z1bmMoJ2RlYmlhbl9wYWNr
YWdlX25hbWVfaG9vaycsIGQpCn0KCgpweXRob24gcGFja2FnZV9wYWNrYWdlX25hbWVfaG9vayAo
KSB7CiAgICAiIiIKICAgIEEgcGFja2FnZV9uYW1lX2hvb2sgZnVuY3Rpb24gY2FuIGJlIHVzZWQg
dG8gcmV3cml0ZSB0aGUgcGFja2FnZSBuYW1lcyBieQogICAgY2hhbmdpbmcgUEtHLiAgRm9yIGFu
IGV4YW1wbGUsIHNlZSBkZWJpYW4uYmJjbGFzcy4KICAgICIiIgogICAgcGFzcwp9CgoKcHl0aG9u
IHBhY2thZ2VfcWFfYWRkX21lc3NhZ2UgKCkgewpkZWYgcGFja2FnZV9xYV9hZGRfbWVzc2FnZSht
ZXNzYWdlcywgc2VjdGlvbiwgbmV3X21zZyk6CiAgICBpZiBzZWN0aW9uIG5vdCBpbiBtZXNzYWdl
czoKICAgICAgICBtZXNzYWdlc1tzZWN0aW9uXSA9IG5ld19tc2cKICAgIGVsc2U6CiAgICAgICAg
bWVzc2FnZXNbc2VjdGlvbl0gPSBtZXNzYWdlc1tzZWN0aW9uXSArICJcbiIgKyBuZXdfbXNnCn0K
CgpweXRob24gcGFja2FnZV9xYV9jaGVja19hcmNoICgpIHsKZGVmIHBhY2thZ2VfcWFfY2hlY2tf
YXJjaChwYXRoLG5hbWUsZCwgZWxmLCBtZXNzYWdlcyk6CiAgICAiIiIKICAgIENoZWNrIGlmIGFy
Y2hzIGFyZSBjb21wYXRpYmxlCiAgICAiIiIKICAgIGltcG9ydCByZQoKICAgIGlmIG5vdCBlbGY6
CiAgICAgICAgcmV0dXJuCgogICAgdGFyZ2V0X29zICAgPSBkLmdldFZhcignVEFSR0VUX09TJykK
ICAgIHRhcmdldF9hcmNoID0gZC5nZXRWYXIoJ1RBUkdFVF9BUkNIJykKICAgIHByb3ZpZGVzID0g
ZC5nZXRWYXIoJ1BST1ZJREVTJykKICAgIGJwbiA9IGQuZ2V0VmFyKCdCUE4nKQoKICAgIGlmIHRh
cmdldF9hcmNoID09ICJhbGxhcmNoIjoKICAgICAgICBwbiA9IGQuZ2V0VmFyKCdQTicpCiAgICAg
ICAgcGFja2FnZV9xYV9hZGRfbWVzc2FnZShtZXNzYWdlcywgImFyY2giLCBwbiArICI6IFJlY2lw
ZSBpbmhlcml0cyB0aGUgYWxsYXJjaCBjbGFzcywgYnV0IGhhcyBwYWNrYWdlZCBhcmNoaXRlY3R1
cmUtc3BlY2lmaWMgYmluYXJpZXMiKQogICAgICAgIHJldHVybgoKICAgICMgRklYTUU6IENyb3Nz
IHBhY2thZ2UgY29uZnVzZSB0aGlzIGNoZWNrLCBzbyBqdXN0IHNraXAgdGhlbQogICAgZm9yIHMg
aW4gWydjcm9zcycsICduYXRpdmVzZGsnLCAnY3Jvc3MtY2FuYWRpYW4nXToKICAgICAgICBpZiBi
Yi5kYXRhLmluaGVyaXRzX2NsYXNzKHMsIGQpOgogICAgICAgICAgICByZXR1cm4KCiAgICAjIGF2
b2lkIGZvbGxvd2luZyBsaW5rcyB0byAvdXNyL2JpbiAoZS5nLiBvbiB1ZGV2IGJ1aWxkcykKICAg
ICMgd2Ugd2lsbCBjaGVjayB0aGUgZmlsZXMgcG9pbnRlZCB0byBhbnl3YXkuLi4KICAgIGlmIG9z
LnBhdGguaXNsaW5rKHBhdGgpOgogICAgICAgIHJldHVybgoKICAgICNpZiB0aGlzIHdpbGwgdGhy
b3cgYW4gZXhjZXB0aW9uLCB0aGVuIGZpeCB0aGUgZGljdCBhYm92ZQogICAgKG1hY2hpbmUsIG9z
YWJpLCBhYml2ZXJzaW9uLCBsaXR0bGVlbmRpYW4sIGJpdHMpIFwKICAgICAgICA9IHBhY2thZ2Vf
cWFfZ2V0X21hY2hpbmVfZGljdChkKVt0YXJnZXRfb3NdW3RhcmdldF9hcmNoXQoKICAgICMgQ2hl
Y2sgdGhlIGFyY2hpdGVjdHVyZSBhbmQgZW5kaWFubmVzIG9mIHRoZSBiaW5hcnkKICAgIGlzXzMy
ID0gKCgidmlydHVhbC9rZXJuZWwiIGluIHByb3ZpZGVzKSBvciBiYi5kYXRhLmluaGVyaXRzX2Ns
YXNzKCJtb2R1bGUiLCBkKSkgYW5kIFwKICAgICAgICAgICAgKHRhcmdldF9vcyA9PSAibGludXgt
Z251eDMyIiBvciByZS5tYXRjaCgnbWlwczY0LiozMicsIGQuZ2V0VmFyKCdERUZBVUxUVFVORScp
KSkKICAgIGlmIG5vdCAoKG1hY2hpbmUgPT0gZWxmLm1hY2hpbmUoKSkgb3IgaXNfMzIpOgogICAg
ICAgIHBhY2thZ2VfcWFfYWRkX21lc3NhZ2UobWVzc2FnZXMsICJhcmNoIiwgIkFyY2hpdGVjdHVy
ZSBkaWQgbm90IG1hdGNoICglcywgZXhwZWN0ZWQgJXMpIG9uICVzIiAlIFwKICAgICAgICAgICAg
ICAgICAob2UucWEuZWxmX21hY2hpbmVfdG9fc3RyaW5nKGVsZi5tYWNoaW5lKCkpLCBvZS5xYS5l
bGZfbWFjaGluZV90b19zdHJpbmcobWFjaGluZSksIHBhY2thZ2VfcWFfY2xlYW5fcGF0aChwYXRo
LGQpKSkKICAgIGVsaWYgbm90ICgoYml0cyA9PSBlbGYuYWJpU2l6ZSgpKSBvciBpc18zMik6CiAg
ICAgICAgcGFja2FnZV9xYV9hZGRfbWVzc2FnZShtZXNzYWdlcywgImFyY2giLCAiQml0IHNpemUg
ZGlkIG5vdCBtYXRjaCAoJWQgdG8gJWQpICVzIG9uICVzIiAlIFwKICAgICAgICAgICAgICAgICAo
Yml0cywgZWxmLmFiaVNpemUoKSwgYnBuLCBwYWNrYWdlX3FhX2NsZWFuX3BhdGgocGF0aCxkKSkp
CiAgICBlbGlmIG5vdCBsaXR0bGVlbmRpYW4gPT0gZWxmLmlzTGl0dGxlRW5kaWFuKCk6CiAgICAg
ICAgcGFja2FnZV9xYV9hZGRfbWVzc2FnZShtZXNzYWdlcywgImFyY2giLCAiRW5kaWFubmVzIGRp
ZCBub3QgbWF0Y2ggKCVkIHRvICVkKSBvbiAlcyIgJSBcCiAgICAgICAgICAgICAgICAgKGxpdHRs
ZWVuZGlhbiwgZWxmLmlzTGl0dGxlRW5kaWFuKCksIHBhY2thZ2VfcWFfY2xlYW5fcGF0aChwYXRo
LGQpKSkKfQoKCnB5dGhvbiBwYWNrYWdlX3FhX2NoZWNrX2J1aWxkcGF0aHMgKCkgewpkZWYgcGFj
a2FnZV9xYV9jaGVja19idWlsZHBhdGhzKHBhdGgsIG5hbWUsIGQsIGVsZiwgbWVzc2FnZXMpOgog
ICAgIiIiCiAgICBDaGVjayBmb3IgYnVpbGQgcGF0aHMgaW5zaWRlIHRhcmdldCBmaWxlcyBhbmQg
ZXJyb3IgaWYgbm90IGZvdW5kIGluIHRoZSB3aGl0ZWxpc3QKICAgICIiIgogICAgIyBJZ25vcmUg
LmRlYnVnIGZpbGVzLCBub3QgaW50ZXJlc3RpbmcKICAgIGlmIHBhdGguZmluZCgiLmRlYnVnIikg
IT0gLTE6CiAgICAgICAgcmV0dXJuCgogICAgIyBJZ25vcmUgc3ltbGlua3MKICAgIGlmIG9zLnBh
dGguaXNsaW5rKHBhdGgpOgogICAgICAgIHJldHVybgoKICAgICMgSWdub3JlIGlwayBhbmQgZGVi
J3MgQ09OVFJPTCBkaXIKICAgIGlmIHBhdGguZmluZChuYW1lICsgIi9DT05UUk9MLyIpICE9IC0x
IG9yIHBhdGguZmluZChuYW1lICsgIi9ERUJJQU4vIikgIT0gLTE6CiAgICAgICAgcmV0dXJuCgog
ICAgdG1wZGlyID0gZC5nZXRWYXIoJ1RNUERJUicpCiAgICB3aXRoIG9wZW4ocGF0aCwgJ3JiJykg
YXMgZjoKICAgICAgICBmaWxlX2NvbnRlbnQgPSBmLnJlYWQoKS5kZWNvZGUoJ3V0Zi04JywgZXJy
b3JzPSdpZ25vcmUnKQogICAgICAgIGlmIHRtcGRpciBpbiBmaWxlX2NvbnRlbnQ6CiAgICAgICAg
ICAgIHBhY2thZ2VfcWFfYWRkX21lc3NhZ2UobWVzc2FnZXMsICJidWlsZHBhdGhzIiwgIkZpbGUg
JXMgaW4gcGFja2FnZSBjb250YWluZWQgcmVmZXJlbmNlIHRvIHRtcGRpciIgJSBwYWNrYWdlX3Fh
X2NsZWFuX3BhdGgocGF0aCxkKSkKCn0KCgpweXRob24gcGFja2FnZV9xYV9jaGVja19kYmcgKCkg
ewpkZWYgcGFja2FnZV9xYV9jaGVja19kYmcocGF0aCwgbmFtZSwgZCwgZWxmLCBtZXNzYWdlcyk6
CiAgICAiIiIKICAgIENoZWNrIGZvciAiLmRlYnVnIiBmaWxlcyBvciBkaXJlY3RvcmllcyBvdXRz
aWRlIG9mIHRoZSBkYmcgcGFja2FnZQogICAgIiIiCgogICAgaWYgbm90ICItZGJnIiBpbiBuYW1l
IGFuZCBub3QgIi1wdGVzdCIgaW4gbmFtZToKICAgICAgICBpZiAnLmRlYnVnJyBpbiBwYXRoLnNw
bGl0KG9zLnBhdGguc2VwKToKICAgICAgICAgICAgcGFja2FnZV9xYV9hZGRfbWVzc2FnZShtZXNz
YWdlcywgImRlYnVnLWZpbGVzIiwgIm5vbiBkZWJ1ZyBwYWNrYWdlIGNvbnRhaW5zIC5kZWJ1ZyBk
aXJlY3Rvcnk6ICVzIHBhdGggJXMiICUgXAogICAgICAgICAgICAgICAgICAgICAobmFtZSwgcGFj
a2FnZV9xYV9jbGVhbl9wYXRoKHBhdGgsZCkpKQp9CgoKcHl0aG9uIHBhY2thZ2VfcWFfY2hlY2tf
ZGVwcyAoKSB7CmRlZiBwYWNrYWdlX3FhX2NoZWNrX2RlcHMocGtnLCBwa2dkZXN0LCBza2lwLCBk
KToKCiAgICBsb2NhbGRhdGEgPSBiYi5kYXRhLmNyZWF0ZUNvcHkoZCkKICAgIGxvY2FsZGF0YS5z
ZXRWYXIoJ09WRVJSSURFUycsIHBrZykKCiAgICBkZWYgY2hlY2tfdmFsaWRfZGVwcyh2YXIpOgog
ICAgICAgIHRyeToKICAgICAgICAgICAgcnZhciA9IGJiLnV0aWxzLmV4cGxvZGVfZGVwX3ZlcnNp
b25zMihsb2NhbGRhdGEuZ2V0VmFyKHZhcikgb3IgIiIpCiAgICAgICAgZXhjZXB0IFZhbHVlRXJy
b3IgYXMgZToKICAgICAgICAgICAgYmIuZmF0YWwoIiVzXyVzOiAlcyIgJSAodmFyLCBwa2csIGUp
KQogICAgICAgIGZvciBkZXAgaW4gcnZhcjoKICAgICAgICAgICAgZm9yIHYgaW4gcnZhcltkZXBd
OgogICAgICAgICAgICAgICAgaWYgdiBhbmQgbm90IHYuc3RhcnRzd2l0aCgoJzwgJywgJz0gJywg
Jz4gJywgJzw9ICcsICc+PScpKToKICAgICAgICAgICAgICAgICAgICBlcnJvcl9tc2cgPSAiJXNf
JXMgaXMgaW52YWxpZDogJXMgKCVzKSAgIG9ubHkgY29tcGFyaXNvbnMgPCwgPSwgPiwgPD0sIGFu
ZCA+PSBhcmUgYWxsb3dlZCIgJSAodmFyLCBwa2csIGRlcCwgdikKICAgICAgICAgICAgICAgICAg
ICBwYWNrYWdlX3FhX2hhbmRsZV9lcnJvcigiZGVwLWNtcCIsIGVycm9yX21zZywgZCkKCiAgICBj
aGVja192YWxpZF9kZXBzKCdSREVQRU5EUycpCiAgICBjaGVja192YWxpZF9kZXBzKCdSUkVDT01N
RU5EUycpCiAgICBjaGVja192YWxpZF9kZXBzKCdSU1VHR0VTVFMnKQogICAgY2hlY2tfdmFsaWRf
ZGVwcygnUlBST1ZJREVTJykKICAgIGNoZWNrX3ZhbGlkX2RlcHMoJ1JSRVBMQUNFUycpCiAgICBj
aGVja192YWxpZF9kZXBzKCdSQ09ORkxJQ1RTJykKfQoKCnB5dGhvbiBwYWNrYWdlX3FhX2NoZWNr
X2Rlc2t0b3AgKCkgewpkZWYgcGFja2FnZV9xYV9jaGVja19kZXNrdG9wKHBhdGgsIG5hbWUsIGQs
IGVsZiwgbWVzc2FnZXMpOgogICAgIiIiCiAgICBSdW4gYWxsIGRlc2t0b3AgZmlsZXMgdGhyb3Vn
aCBkZXNrdG9wLWZpbGUtdmFsaWRhdGUuCiAgICAiIiIKICAgIGlmIHBhdGguZW5kc3dpdGgoIi5k
ZXNrdG9wIik6CiAgICAgICAgZGVza3RvcF9maWxlX3ZhbGlkYXRlID0gb3MucGF0aC5qb2luKGQu
Z2V0VmFyKCdTVEFHSU5HX0JJTkRJUl9OQVRJVkUnKSwnZGVza3RvcC1maWxlLXZhbGlkYXRlJykK
ICAgICAgICBvdXRwdXQgPSBvcy5wb3BlbigiJXMgJXMiICUgKGRlc2t0b3BfZmlsZV92YWxpZGF0
ZSwgcGF0aCkpCiAgICAgICAgIyBUaGlzIG9ubHkgcHJvZHVjZXMgb3V0cHV0IG9uIGVycm9ycwog
ICAgICAgIGZvciBsIGluIG91dHB1dDoKICAgICAgICAgICAgcGFja2FnZV9xYV9hZGRfbWVzc2Fn
ZShtZXNzYWdlcywgImRlc2t0b3AiLCAiRGVza3RvcCBmaWxlIGlzc3VlOiAiICsgbC5zdHJpcCgp
KQp9CgoKcHl0aG9uIHBhY2thZ2VfcWFfY2hlY2tfZGV2ICgpIHsKZGVmIHBhY2thZ2VfcWFfY2hl
Y2tfZGV2KHBhdGgsIG5hbWUsIGQsIGVsZiwgbWVzc2FnZXMpOgogICAgIiIiCiAgICBDaGVjayBm
b3IgIi5zbyIgbGlicmFyeSBzeW1saW5rcyBpbiBub24tZGV2IHBhY2thZ2VzCiAgICAiIiIKCiAg
ICBpZiBub3QgbmFtZS5lbmRzd2l0aCgiLWRldiIpIGFuZCBub3QgbmFtZS5lbmRzd2l0aCgiLWRi
ZyIpIGFuZCBub3QgbmFtZS5lbmRzd2l0aCgiLXB0ZXN0IikgYW5kIG5vdCBuYW1lLnN0YXJ0c3dp
dGgoIm5hdGl2ZXNkay0iKSBhbmQgcGF0aC5lbmRzd2l0aCgiLnNvIikgYW5kIG9zLnBhdGguaXNs
aW5rKHBhdGgpOgogICAgICAgIHBhY2thZ2VfcWFfYWRkX21lc3NhZ2UobWVzc2FnZXMsICJkZXYt
c28iLCAibm9uIC1kZXYvLWRiZy9uYXRpdmVzZGstIHBhY2thZ2UgY29udGFpbnMgc3ltbGluayAu
c286ICVzIHBhdGggJyVzJyIgJSBcCiAgICAgICAgICAgICAgICAgKG5hbWUsIHBhY2thZ2VfcWFf
Y2xlYW5fcGF0aChwYXRoLGQpKSkKfQoKCnB5dGhvbiBwYWNrYWdlX3FhX2NoZWNrX2Rldl9lbGYg
KCkgewpkZWYgcGFja2FnZV9xYV9jaGVja19kZXZfZWxmKHBhdGgsIG5hbWUsIGQsIGVsZiwgbWVz
c2FnZXMpOgogICAgIiIiCiAgICBDaGVjayB0aGF0IC1kZXYgZG9lc24ndCBjb250YWluIHJlYWwg
c2hhcmVkIGxpYnJhcmllcy4gIFRoZSB0ZXN0IGhhcyB0bwogICAgY2hlY2sgdGhhdCB0aGUgZmls
ZSBpcyBub3QgYSBsaW5rIGFuZCBpcyBhbiBFTEYgb2JqZWN0IGFzIHNvbWUgcmVjaXBlcwogICAg
aW5zdGFsbCBsaW5rLXRpbWUgLnNvIGZpbGVzIHRoYXQgYXJlIGxpbmtlciBzY3JpcHRzLgogICAg
IiIiCiAgICBpZiBuYW1lLmVuZHN3aXRoKCItZGV2IikgYW5kIHBhdGguZW5kc3dpdGgoIi5zbyIp
IGFuZCBub3Qgb3MucGF0aC5pc2xpbmsocGF0aCkgYW5kIGVsZjoKICAgICAgICBwYWNrYWdlX3Fh
X2FkZF9tZXNzYWdlKG1lc3NhZ2VzLCAiZGV2LWVsZiIsICItZGV2IHBhY2thZ2UgY29udGFpbnMg
bm9uLXN5bWxpbmsgLnNvOiAlcyBwYXRoICclcyciICUgXAogICAgICAgICAgICAgICAgIChuYW1l
LCBwYWNrYWdlX3FhX2NsZWFuX3BhdGgocGF0aCxkKSkpCn0KCgpweXRob24gcGFja2FnZV9xYV9j
aGVja19lbmNvZGluZyAoKSB7CmRlZiBwYWNrYWdlX3FhX2NoZWNrX2VuY29kaW5nKGtleXMsIGVu
Y29kZSwgZCk6CiAgICBkZWYgY2hlY2tfZW5jb2Rpbmcoa2V5LCBlbmMpOgogICAgICAgIHNhbmUg
PSBUcnVlCiAgICAgICAgdmFsdWUgPSBkLmdldFZhcihrZXkpCiAgICAgICAgaWYgdmFsdWU6CiAg
ICAgICAgICAgIHRyeToKICAgICAgICAgICAgICAgIHMgPSB2YWx1ZS5lbmNvZGUoZW5jKQogICAg
ICAgICAgICBleGNlcHQgVW5pY29kZURlY29kZUVycm9yIGFzIGU6CiAgICAgICAgICAgICAgICBl
cnJvcl9tc2cgPSAiJXMgaGFzIG5vbiAlcyBjaGFyYWN0ZXJzIiAlIChrZXksZW5jKQogICAgICAg
ICAgICAgICAgc2FuZSA9IEZhbHNlCiAgICAgICAgICAgICAgICBwYWNrYWdlX3FhX2hhbmRsZV9l
cnJvcigiaW52YWxpZC1jaGFycyIsIGVycm9yX21zZywgZCkKICAgICAgICByZXR1cm4gc2FuZQoK
ICAgIGZvciBrZXkgaW4ga2V5czoKICAgICAgICBzYW5lID0gY2hlY2tfZW5jb2Rpbmcoa2V5LCBl
bmNvZGUpCiAgICAgICAgaWYgbm90IHNhbmU6CiAgICAgICAgICAgIGJyZWFrCn0KCgpweXRob24g
cGFja2FnZV9xYV9jaGVja19leHBhbmRlZF9kICgpIHsKZGVmIHBhY2thZ2VfcWFfY2hlY2tfZXhw
YW5kZWRfZChwYWNrYWdlLCBkLCBtZXNzYWdlcyk6CiAgICAiIiIKICAgIENoZWNrIGZvciB0aGUg
ZXhwYW5kZWQgRCAoJHtEfSkgdmFsdWUgaW4gcGtnXyogYW5kIEZJTEVTCiAgICB2YXJpYWJsZXMs
IHdhcm4gdGhlIHVzZXIgdG8gdXNlIGl0IGNvcnJlY3RseS4KICAgICIiIgogICAgc2FuZSA9IFRy
dWUKICAgIGV4cGFuZGVkX2QgPSBkLmdldFZhcignRCcpCgogICAgZm9yIHZhciBpbiAnRklMRVMn
LCdwa2dfcHJlaW5zdCcsICdwa2dfcG9zdGluc3QnLCAncGtnX3ByZXJtJywgJ3BrZ19wb3N0cm0n
OgogICAgICAgIGJidmFyID0gZC5nZXRWYXIodmFyICsgIl8iICsgcGFja2FnZSkgb3IgIiIKICAg
ICAgICBpZiBleHBhbmRlZF9kIGluIGJidmFyOgogICAgICAgICAgICBpZiB2YXIgPT0gJ0ZJTEVT
JzoKICAgICAgICAgICAgICAgIHBhY2thZ2VfcWFfYWRkX21lc3NhZ2UobWVzc2FnZXMsICJleHBh
bmRlZC1kIiwgIkZJTEVTIGluICVzIHJlY2lwZSBzaG91bGQgbm90IGNvbnRhaW4gdGhlICR7RH0g
dmFyaWFibGUgYXMgaXQgcmVmZXJlbmNlcyB0aGUgbG9jYWwgYnVpbGQgZGlyZWN0b3J5IG5vdCB0
aGUgdGFyZ2V0IGZpbGVzeXN0ZW0sIGJlc3Qgc29sdXRpb24gaXMgdG8gcmVtb3ZlIHRoZSAke0R9
IHJlZmVyZW5jZSIgJSBwYWNrYWdlKQogICAgICAgICAgICAgICAgc2FuZSA9IEZhbHNlCiAgICAg
ICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICBwYWNrYWdlX3FhX2FkZF9tZXNzYWdlKG1lc3Nh
Z2VzLCAiZXhwYW5kZWQtZCIsICIlcyBpbiAlcyByZWNpcGUgY29udGFpbnMgJHtEfSwgaXQgc2hv
dWxkIGJlIHJlcGxhY2VkIGJ5ICREIGluc3RlYWQiICUgKHZhciwgcGFja2FnZSkpCiAgICAgICAg
ICAgICAgICBzYW5lID0gRmFsc2UKICAgIHJldHVybiBzYW5lCn0KCgpweXRob24gcGFja2FnZV9x
YV9jaGVja19ob3N0X3VzZXIgKCkgewpkZWYgcGFja2FnZV9xYV9jaGVja19ob3N0X3VzZXIocGF0
aCwgbmFtZSwgZCwgZWxmLCBtZXNzYWdlcyk6CiAgICAiIiJDaGVjayBmb3IgcGF0aHMgb3V0c2lk
ZSBvZiAvaG9tZSB3aGljaCBhcmUgb3duZWQgYnkgdGhlIHVzZXIgcnVubmluZyBiaXRiYWtlLiIi
IgoKICAgIGlmIG5vdCBvcy5wYXRoLmxleGlzdHMocGF0aCk6CiAgICAgICAgcmV0dXJuCgogICAg
ZGVzdCA9IGQuZ2V0VmFyKCdQS0dERVNUJykKICAgIHBuID0gZC5nZXRWYXIoJ1BOJykKICAgIGhv
bWUgPSBvcy5wYXRoLmpvaW4oZGVzdCwgJ2hvbWUnKQogICAgaWYgcGF0aCA9PSBob21lIG9yIHBh
dGguc3RhcnRzd2l0aChob21lICsgb3Muc2VwKToKICAgICAgICByZXR1cm4KCiAgICB0cnk6CiAg
ICAgICAgc3RhdCA9IG9zLmxzdGF0KHBhdGgpCiAgICBleGNlcHQgT1NFcnJvciBhcyBleGM6CiAg
ICAgICAgaW1wb3J0IGVycm5vCiAgICAgICAgaWYgZXhjLmVycm5vICE9IGVycm5vLkVOT0VOVDoK
ICAgICAgICAgICAgcmFpc2UKICAgIGVsc2U6CiAgICAgICAgcm9vdGZzX3BhdGggPSBwYXRoW2xl
bihkZXN0KTpdCiAgICAgICAgY2hlY2tfdWlkID0gaW50KGQuZ2V0VmFyKCdIT1NUX1VTRVJfVUlE
JykpCiAgICAgICAgaWYgc3RhdC5zdF91aWQgPT0gY2hlY2tfdWlkOgogICAgICAgICAgICBwYWNr
YWdlX3FhX2FkZF9tZXNzYWdlKG1lc3NhZ2VzLCAiaG9zdC11c2VyLWNvbnRhbWluYXRlZCIsICIl
czogJXMgaXMgb3duZWQgYnkgdWlkICVkLCB3aGljaCBpcyB0aGUgc2FtZSBhcyB0aGUgdXNlciBy
dW5uaW5nIGJpdGJha2UuIFRoaXMgbWF5IGJlIGR1ZSB0byBob3N0IGNvbnRhbWluYXRpb24iICUg
KHBuLCByb290ZnNfcGF0aCwgY2hlY2tfdWlkKSkKICAgICAgICAgICAgcmV0dXJuIEZhbHNlCgog
ICAgICAgIGNoZWNrX2dpZCA9IGludChkLmdldFZhcignSE9TVF9VU0VSX0dJRCcpKQogICAgICAg
IGlmIHN0YXQuc3RfZ2lkID09IGNoZWNrX2dpZDoKICAgICAgICAgICAgcGFja2FnZV9xYV9hZGRf
bWVzc2FnZShtZXNzYWdlcywgImhvc3QtdXNlci1jb250YW1pbmF0ZWQiLCAiJXM6ICVzIGlzIG93
bmVkIGJ5IGdpZCAlZCwgd2hpY2ggaXMgdGhlIHNhbWUgYXMgdGhlIHVzZXIgcnVubmluZyBiaXRi
YWtlLiBUaGlzIG1heSBiZSBkdWUgdG8gaG9zdCBjb250YW1pbmF0aW9uIiAlIChwbiwgcm9vdGZz
X3BhdGgsIGNoZWNrX2dpZCkpCiAgICAgICAgICAgIHJldHVybiBGYWxzZQogICAgcmV0dXJuIFRy
dWUKfQoKCnB5dGhvbiBwYWNrYWdlX3FhX2NoZWNrX2luZm9kaXIgKCkgewpkZWYgcGFja2FnZV9x
YV9jaGVja19pbmZvZGlyKHBhdGgsIG5hbWUsIGQsIGVsZiwgbWVzc2FnZXMpOgogICAgIiIiCiAg
ICBDaGVjayB0aGF0IC91c3Ivc2hhcmUvaW5mby9kaXIgaXNuJ3Qgc2hpcHBlZCBpbiBhIHBhcnRp
Y3VsYXIgcGFja2FnZQogICAgIiIiCiAgICBpbmZvZGlyID0gZC5leHBhbmQoIiR7aW5mb2Rpcn0v
ZGlyIikKCiAgICBpZiBpbmZvZGlyIGluIHBhdGg6CiAgICAgICAgcGFja2FnZV9xYV9hZGRfbWVz
c2FnZShtZXNzYWdlcywgImluZm9kaXIiLCAiVGhlIC91c3Ivc2hhcmUvaW5mby9kaXIgZmlsZSBp
cyBub3QgbWVhbnQgdG8gYmUgc2hpcHBlZCBpbiBhIHBhcnRpY3VsYXIgcGFja2FnZS4iKQp9CgoK
cHl0aG9uIHBhY2thZ2VfcWFfY2hlY2tfbGliZGlyICgpIHsKZGVmIHBhY2thZ2VfcWFfY2hlY2tf
bGliZGlyKGQpOgogICAgIiIiCiAgICBDaGVjayBmb3Igd3JvbmcgbGlicmFyeSBpbnN0YWxsYXRp
b24gcGF0aHMuIEZvciBpbnN0YW5jZSwgY2F0Y2gKICAgIHJlY2lwZXMgaW5zdGFsbGluZyAvbGli
L2Jhci5zbyB3aGVuICR7YmFzZV9saWJkaXJ9PSJsaWIzMiIgb3IKICAgIGluc3RhbGxpbmcgaW4g
L3Vzci9saWI2NCB3aGVuICR7bGliZGlyfT0iL3Vzci9saWIiCiAgICAiIiIKICAgIGltcG9ydCBy
ZQoKICAgIHBrZ2Rlc3QgPSBkLmdldFZhcignUEtHREVTVCcpCiAgICBiYXNlX2xpYmRpciA9IGQu
Z2V0VmFyKCJiYXNlX2xpYmRpciIpICsgb3Muc2VwCiAgICBsaWJkaXIgPSBkLmdldFZhcigibGli
ZGlyIikgKyBvcy5zZXAKICAgIGxpYmV4ZWNkaXIgPSBkLmdldFZhcigibGliZXhlY2RpciIpICsg
b3Muc2VwCiAgICBleGVjX3ByZWZpeCA9IGQuZ2V0VmFyKCJleGVjX3ByZWZpeCIpICsgb3Muc2Vw
CgogICAgbWVzc2FnZXMgPSBbXQoKICAgICMgVGhlIHJlJ3MgYXJlIHB1cnBvc2VseSBmdXp6eSwg
YXMgc29tZSB0aGVyZSBhcmUgc29tZSAuc28ueC55LnogZmlsZXMKICAgICMgdGhhdCBkb24ndCBm
b2xsb3cgdGhlIHN0YW5kYXJkIG5hbWluZyBjb252ZW50aW9uLiBJdCBjaGVja3MgbGF0ZXIKICAg
ICMgdGhhdCB0aGV5IGFyZSBhY3R1YWwgRUxGIGZpbGVzCiAgICBsaWJfcmUgPSByZS5jb21waWxl
KCJeL2xpYi4rXC5zbyhcLi4rKT8kIikKICAgIGV4ZWNfcmUgPSByZS5jb21waWxlKCJeJXMuKi9s
aWIuK1wuc28oXC4uKyk/JCIgJSBleGVjX3ByZWZpeCkKCiAgICBmb3Igcm9vdCwgZGlycywgZmls
ZXMgaW4gb3Mud2Fsayhwa2dkZXN0KToKICAgICAgICBpZiByb290ID09IHBrZ2Rlc3Q6CiAgICAg
ICAgICAgICMgU2tpcCBzdWJkaXJlY3RvcmllcyBmb3IgYW55IHBhY2thZ2VzIHdpdGggbGliZGly
IGluIElOU0FORV9TS0lQCiAgICAgICAgICAgIHNraXBwYWNrYWdlcyA9IFtdCiAgICAgICAgICAg
IGZvciBwYWNrYWdlIGluIGRpcnM6CiAgICAgICAgICAgICAgICBpZiAnbGliZGlyJyBpbiAoZC5n
ZXRWYXIoJ0lOU0FORV9TS0lQXycgKyBwYWNrYWdlKSBvciAiIikuc3BsaXQoKToKICAgICAgICAg
ICAgICAgICAgICBiYi5ub3RlKCJQYWNrYWdlICVzIHNraXBwaW5nIGxpYmRpciBRQSB0ZXN0IiAl
IChwYWNrYWdlKSkKICAgICAgICAgICAgICAgICAgICBza2lwcGFja2FnZXMuYXBwZW5kKHBhY2th
Z2UpCiAgICAgICAgICAgICAgICBlbGlmIGQuZ2V0VmFyKCdQQUNLQUdFX0RFQlVHX1NQTElUX1NU
WUxFJykgPT0gJ2RlYnVnLWZpbGUtZGlyZWN0b3J5JyBhbmQgcGFja2FnZS5lbmRzd2l0aCgiLWRi
ZyIpOgogICAgICAgICAgICAgICAgICAgIGJiLm5vdGUoIlBhY2thZ2UgJXMgc2tpcHBpbmcgbGli
ZGlyIFFBIHRlc3QgZm9yIFBBQ0tBR0VfREVCVUdfU1BMSVRfU1RZTEUgZXF1YWxzIGRlYnVnLWZp
bGUtZGlyZWN0b3J5IiAlIChwYWNrYWdlKSkKICAgICAgICAgICAgICAgICAgICBza2lwcGFja2Fn
ZXMuYXBwZW5kKHBhY2thZ2UpCiAgICAgICAgICAgIGZvciBwYWNrYWdlIGluIHNraXBwYWNrYWdl
czoKICAgICAgICAgICAgICAgIGRpcnMucmVtb3ZlKHBhY2thZ2UpCiAgICAgICAgZm9yIGZpbGUg
aW4gZmlsZXM6CiAgICAgICAgICAgIGZ1bGxfcGF0aCA9IG9zLnBhdGguam9pbihyb290LCBmaWxl
KQogICAgICAgICAgICByZWxfcGF0aCA9IG9zLnBhdGgucmVscGF0aChmdWxsX3BhdGgsIHBrZ2Rl
c3QpCiAgICAgICAgICAgIGlmIG9zLnNlcCBpbiByZWxfcGF0aDoKICAgICAgICAgICAgICAgIHBh
Y2thZ2UsIHJlbF9wYXRoID0gcmVsX3BhdGguc3BsaXQob3Muc2VwLCAxKQogICAgICAgICAgICAg
ICAgcmVsX3BhdGggPSBvcy5zZXAgKyByZWxfcGF0aAogICAgICAgICAgICAgICAgaWYgbGliX3Jl
Lm1hdGNoKHJlbF9wYXRoKToKICAgICAgICAgICAgICAgICAgICBpZiBiYXNlX2xpYmRpciBub3Qg
aW4gcmVsX3BhdGg6CiAgICAgICAgICAgICAgICAgICAgICAgICMgbWFrZSBzdXJlIGl0J3MgYW4g
YWN0dWFsIEVMRiBmaWxlCiAgICAgICAgICAgICAgICAgICAgICAgIGVsZiA9IG9lLnFhLkVMRkZp
bGUoZnVsbF9wYXRoKQogICAgICAgICAgICAgICAgICAgICAgICB0cnk6CiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBlbGYub3BlbigpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZXNz
YWdlcy5hcHBlbmQoIiVzOiBmb3VuZCBsaWJyYXJ5IGluIHdyb25nIGxvY2F0aW9uOiAlcyIgJSAo
cGFja2FnZSwgcmVsX3BhdGgpKQogICAgICAgICAgICAgICAgICAgICAgICBleGNlcHQgKG9lLnFh
Lk5vdEVMRkZpbGVFcnJvcik6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXNzCiAgICAg
ICAgICAgICAgICBpZiBleGVjX3JlLm1hdGNoKHJlbF9wYXRoKToKICAgICAgICAgICAgICAgICAg
ICBpZiBsaWJkaXIgbm90IGluIHJlbF9wYXRoIGFuZCBsaWJleGVjZGlyIG5vdCBpbiByZWxfcGF0
aDoKICAgICAgICAgICAgICAgICAgICAgICAgIyBtYWtlIHN1cmUgaXQncyBhbiBhY3R1YWwgRUxG
IGZpbGUKICAgICAgICAgICAgICAgICAgICAgICAgZWxmID0gb2UucWEuRUxGRmlsZShmdWxsX3Bh
dGgpCiAgICAgICAgICAgICAgICAgICAgICAgIHRyeToKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGVsZi5vcGVuKCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2VzLmFwcGVu
ZCgiJXM6IGZvdW5kIGxpYnJhcnkgaW4gd3JvbmcgbG9jYXRpb246ICVzIiAlIChwYWNrYWdlLCBy
ZWxfcGF0aCkpCiAgICAgICAgICAgICAgICAgICAgICAgIGV4Y2VwdCAob2UucWEuTm90RUxGRmls
ZUVycm9yKToKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhc3MKCiAgICBpZiBtZXNzYWdl
czoKICAgICAgICBwYWNrYWdlX3FhX2hhbmRsZV9lcnJvcigibGliZGlyIiwgIlxuIi5qb2luKG1l
c3NhZ2VzKSwgZCkKfQoKCnB5dGhvbiBwYWNrYWdlX3FhX2NoZWNrX2xpYmV4ZWMgKCkgewpkZWYg
cGFja2FnZV9xYV9jaGVja19saWJleGVjKHBhdGgsbmFtZSwgZCwgZWxmLCBtZXNzYWdlcyk6Cgog
ICAgIyBTa2lwIHRoZSBjYXNlIHdoZXJlIHRoZSBkZWZhdWx0IGlzIGV4cGxpY2l0bHkgL3Vzci9s
aWJleGVjCiAgICBsaWJleGVjID0gZC5nZXRWYXIoJ2xpYmV4ZWNkaXInKQogICAgaWYgbGliZXhl
YyA9PSAiL3Vzci9saWJleGVjIjoKICAgICAgICByZXR1cm4gVHJ1ZQoKICAgIGlmICdsaWJleGVj
JyBpbiBwYXRoLnNwbGl0KG9zLnBhdGguc2VwKToKICAgICAgICBwYWNrYWdlX3FhX2FkZF9tZXNz
YWdlKG1lc3NhZ2VzLCAibGliZXhlYyIsICIlczogJXMgaXMgdXNpbmcgbGliZXhlYyBwbGVhc2Ug
cmVsb2NhdGUgdG8gJXMiICUgKG5hbWUsIHBhY2thZ2VfcWFfY2xlYW5fcGF0aChwYXRoLCBkKSwg
bGliZXhlYykpCiAgICAgICAgcmV0dXJuIEZhbHNlCgogICAgcmV0dXJuIFRydWUKfQoKCnB5dGhv
biBwYWNrYWdlX3FhX2NoZWNrX3Blcm0gKCkgewpkZWYgcGFja2FnZV9xYV9jaGVja19wZXJtKHBh
dGgsbmFtZSxkLCBlbGYsIG1lc3NhZ2VzKToKICAgICIiIgogICAgQ2hlY2sgdGhlIHBlcm1pc3Np
b24gb2YgZmlsZXMKICAgICIiIgogICAgcmV0dXJuCn0KCgpweXRob24gcGFja2FnZV9xYV9jaGVj
a19yZGVwZW5kcyAoKSB7CmRlZiBwYWNrYWdlX3FhX2NoZWNrX3JkZXBlbmRzKHBrZywgcGtnZGVz
dCwgc2tpcCwgdGFza2RlcHMsIHBhY2thZ2VzLCBkKToKICAgICMgRG9uJ3QgZG8gdGhpcyBjaGVj
ayBmb3Iga2VybmVsL21vZHVsZSByZWNpcGVzLCB0aGVyZSBhcmVuJ3QgdG9vIG1hbnkgZGVidWcv
ZGV2ZWxvcG1lbnQKICAgICMgcGFja2FnZXMgYW5kIHlvdSBjYW4gZ2V0IGZhbHNlIHBvc2l0aXZl
cyBlLmcuIG9uIGtlcm5lbC1tb2R1bGUtbGlyYy1kZXYKICAgIGlmIGJiLmRhdGEuaW5oZXJpdHNf
Y2xhc3MoImtlcm5lbCIsIGQpIG9yIGJiLmRhdGEuaW5oZXJpdHNfY2xhc3MoIm1vZHVsZS1iYXNl
IiwgZCk6CiAgICAgICAgcmV0dXJuCgogICAgaWYgbm90ICItZGJnIiBpbiBwa2cgYW5kIG5vdCAi
cGFja2FnZWdyb3VwLSIgaW4gcGtnIGFuZCBub3QgIi1pbWFnZSIgaW4gcGtnOgogICAgICAgIGxv
Y2FsZGF0YSA9IGJiLmRhdGEuY3JlYXRlQ29weShkKQogICAgICAgIGxvY2FsZGF0YS5zZXRWYXIo
J09WRVJSSURFUycsIGxvY2FsZGF0YS5nZXRWYXIoJ09WRVJSSURFUycpICsgJzonICsgcGtnKQoK
ICAgICAgICAjIE5vdyBjaGVjayB0aGUgUkRFUEVORFMKICAgICAgICByZGVwZW5kcyA9IGJiLnV0
aWxzLmV4cGxvZGVfZGVwcyhsb2NhbGRhdGEuZ2V0VmFyKCdSREVQRU5EUycpIG9yICIiKQoKICAg
ICAgICAjIE5vdyBkbyB0aGUgc2FuaXR5IGNoZWNrISEhCiAgICAgICAgaWYgImJ1aWxkLWRlcHMi
IG5vdCBpbiBza2lwOgogICAgICAgICAgICBmb3IgcmRlcGVuZCBpbiByZGVwZW5kczoKICAgICAg
ICAgICAgICAgIGlmICItZGJnIiBpbiByZGVwZW5kIGFuZCAiZGVidWctZGVwcyIgbm90IGluIHNr
aXA6CiAgICAgICAgICAgICAgICAgICAgZXJyb3JfbXNnID0gIiVzIHJkZXBlbmRzIG9uICVzIiAl
IChwa2cscmRlcGVuZCkKICAgICAgICAgICAgICAgICAgICBwYWNrYWdlX3FhX2hhbmRsZV9lcnJv
cigiZGVidWctZGVwcyIsIGVycm9yX21zZywgZCkKICAgICAgICAgICAgICAgIGlmIChub3QgIi1k
ZXYiIGluIHBrZyBhbmQgbm90ICItc3RhdGljZGV2IiBpbiBwa2cpIGFuZCByZGVwZW5kLmVuZHN3
aXRoKCItZGV2IikgYW5kICJkZXYtZGVwcyIgbm90IGluIHNraXA6CiAgICAgICAgICAgICAgICAg
ICAgZXJyb3JfbXNnID0gIiVzIHJkZXBlbmRzIG9uICVzIiAlIChwa2csIHJkZXBlbmQpCiAgICAg
ICAgICAgICAgICAgICAgcGFja2FnZV9xYV9oYW5kbGVfZXJyb3IoImRldi1kZXBzIiwgZXJyb3Jf
bXNnLCBkKQogICAgICAgICAgICAgICAgaWYgcmRlcGVuZCBub3QgaW4gcGFja2FnZXM6CiAgICAg
ICAgICAgICAgICAgICAgcmRlcF9kYXRhID0gb2UucGFja2FnZWRhdGEucmVhZF9zdWJwa2dkYXRh
KHJkZXBlbmQsIGQpCiAgICAgICAgICAgICAgICAgICAgaWYgcmRlcF9kYXRhIGFuZCAnUE4nIGlu
IHJkZXBfZGF0YSBhbmQgcmRlcF9kYXRhWydQTiddIGluIHRhc2tkZXBzOgogICAgICAgICAgICAg
ICAgICAgICAgICBjb250aW51ZQogICAgICAgICAgICAgICAgICAgIGlmIG5vdCByZGVwX2RhdGEg
b3Igbm90ICdQTicgaW4gcmRlcF9kYXRhOgogICAgICAgICAgICAgICAgICAgICAgICBwa2dkYXRh
X2RpciA9IGQuZ2V0VmFyKCJQS0dEQVRBX0RJUiIpCiAgICAgICAgICAgICAgICAgICAgICAgIHRy
eToKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc3NpYmxlcyA9IG9zLmxpc3RkaXIoIiVz
L3J1bnRpbWUtcnByb3ZpZGVzLyVzLyIgJSAocGtnZGF0YV9kaXIsIHJkZXBlbmQpKQogICAgICAg
ICAgICAgICAgICAgICAgICBleGNlcHQgT1NFcnJvcjoKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHBvc3NpYmxlcyA9IFtdCiAgICAgICAgICAgICAgICAgICAgICAgIGZvciBwIGluIHBvc3Np
YmxlczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJkZXBfZGF0YSA9IG9lLnBhY2thZ2Vk
YXRhLnJlYWRfc3VicGtnZGF0YShwLCBkKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYg
cmRlcF9kYXRhIGFuZCAnUE4nIGluIHJkZXBfZGF0YSBhbmQgcmRlcF9kYXRhWydQTiddIGluIHRh
c2tkZXBzOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrCiAgICAgICAgICAg
ICAgICAgICAgaWYgcmRlcF9kYXRhIGFuZCAnUE4nIGluIHJkZXBfZGF0YSBhbmQgcmRlcF9kYXRh
WydQTiddIGluIHRhc2tkZXBzOgogICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZQogICAg
ICAgICAgICAgICAgICAgIGlmIHJkZXBfZGF0YSBhbmQgJ1BOJyBpbiByZGVwX2RhdGE6CiAgICAg
ICAgICAgICAgICAgICAgICAgIGVycm9yX21zZyA9ICIlcyByZGVwZW5kcyBvbiAlcywgYnV0IGl0
IGlzbid0IGEgYnVpbGQgZGVwZW5kZW5jeSwgbWlzc2luZyAlcyBpbiBERVBFTkRTIG9yIFBBQ0tB
R0VDT05GSUc/IiAlIChwa2csIHJkZXBlbmQsIHJkZXBfZGF0YVsnUE4nXSkKICAgICAgICAgICAg
ICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgICAgICAgICBlcnJvcl9tc2cgPSAiJXMgcmRl
cGVuZHMgb24gJXMsIGJ1dCBpdCBpc24ndCBhIGJ1aWxkIGRlcGVuZGVuY3k/IiAlIChwa2csIHJk
ZXBlbmQpCiAgICAgICAgICAgICAgICAgICAgcGFja2FnZV9xYV9oYW5kbGVfZXJyb3IoImJ1aWxk
LWRlcHMiLCBlcnJvcl9tc2csIGQpCgogICAgICAgIGlmICJmaWxlLXJkZXBzIiBub3QgaW4gc2tp
cDoKICAgICAgICAgICAgaWdub3JlZF9maWxlX3JkZXBzID0gc2V0KFsnL2Jpbi9zaCcsICcvdXNy
L2Jpbi9lbnYnLCAncnRsZChHTlVfSEFTSCknXSkKICAgICAgICAgICAgaWYgYmIuZGF0YS5pbmhl
cml0c19jbGFzcygnbmF0aXZlc2RrJywgZCk6CiAgICAgICAgICAgICAgICBpZ25vcmVkX2ZpbGVf
cmRlcHMgfD0gc2V0KFsnL2Jpbi9iYXNoJywgJy91c3IvYmluL3BlcmwnLCAncGVybCddKQogICAg
ICAgICAgICAjIEZvciBTYXZpbmcgdGhlIEZJTEVSREVQRU5EUwogICAgICAgICAgICBmaWxlcmRl
cGVuZHMgPSB7fQogICAgICAgICAgICByZGVwX2RhdGEgPSBvZS5wYWNrYWdlZGF0YS5yZWFkX3N1
YnBrZ2RhdGEocGtnLCBkKQogICAgICAgICAgICBmb3Iga2V5IGluIHJkZXBfZGF0YToKICAgICAg
ICAgICAgICAgIGlmIGtleS5zdGFydHN3aXRoKCJGSUxFUkRFUEVORFNfIik6CiAgICAgICAgICAg
ICAgICAgICAgZm9yIHN1YmtleSBpbiBiYi51dGlscy5leHBsb2RlX2RlcHMocmRlcF9kYXRhW2tl
eV0pOgogICAgICAgICAgICAgICAgICAgICAgICBpZiBzdWJrZXkgbm90IGluIGlnbm9yZWRfZmls
ZV9yZGVwcyBhbmQgXAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vdCBzdWJrZXku
c3RhcnRzd2l0aCgncGVybCgnKToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgV2UgYWxy
ZWFkeSBrbm93IGl0IHN0YXJ0cyB3aXRoIEZJTEVSREVQRU5EU18KICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGZpbGVyZGVwZW5kc1tzdWJrZXldID0ga2V5WzEzOl0KCiAgICAgICAgICAgIGlm
IGZpbGVyZGVwZW5kczoKICAgICAgICAgICAgICAgIG5leHQgPSByZGVwZW5kcwogICAgICAgICAg
ICAgICAgZG9uZSA9IHJkZXBlbmRzWzpdCiAgICAgICAgICAgICAgICAjIEZpbmQgYWxsIHRoZSBy
ZGVwZW5kcyBvbiB0aGUgZGVwZW5kZW5jeSBjaGFpbgogICAgICAgICAgICAgICAgd2hpbGUgbmV4
dDoKICAgICAgICAgICAgICAgICAgICBuZXcgPSBbXQogICAgICAgICAgICAgICAgICAgIGZvciBy
ZGVwIGluIG5leHQ6CiAgICAgICAgICAgICAgICAgICAgICAgIHJkZXBfZGF0YSA9IG9lLnBhY2th
Z2VkYXRhLnJlYWRfc3VicGtnZGF0YShyZGVwLCBkKQogICAgICAgICAgICAgICAgICAgICAgICBz
dWJfcmRlcHMgPSByZGVwX2RhdGEuZ2V0KCJSREVQRU5EU18iICsgcmRlcCkKICAgICAgICAgICAg
ICAgICAgICAgICAgaWYgbm90IHN1Yl9yZGVwczoKICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnRpbnVlCiAgICAgICAgICAgICAgICAgICAgICAgIGZvciBzdWJfcmRlcCBpbiBiYi51dGls
cy5leHBsb2RlX2RlcHMoc3ViX3JkZXBzKToKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlm
IHN1Yl9yZGVwIGluIGRvbmU6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGlu
dWUKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIG9lLnBhY2thZ2VkYXRhLmhhc19zdWJw
a2dkYXRhKHN1Yl9yZGVwLCBkKToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIEl0
J3MgYSBuZXcgcmRlcAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvbmUuYXBwZW5k
KHN1Yl9yZGVwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ldy5hcHBlbmQoc3Vi
X3JkZXApCiAgICAgICAgICAgICAgICAgICAgbmV4dCA9IG5ldwoKICAgICAgICAgICAgICAgICMg
QWRkIHRoZSBycHJvdmlkZXMgb2YgaXRzZWxmCiAgICAgICAgICAgICAgICBpZiBwa2cgbm90IGlu
IGRvbmU6CiAgICAgICAgICAgICAgICAgICAgZG9uZS5pbnNlcnQoMCwgcGtnKQoKICAgICAgICAg
ICAgICAgICMgVGhlIHB5dGhvbiBpcyBub3QgYSBwYWNrYWdlLCBidXQgcHl0aG9uLWNvcmUgcHJv
dmlkZXMgaXQsIHNvCiAgICAgICAgICAgICAgICAjIHNraXAgY2hlY2tpbmcgL3Vzci9iaW4vcHl0
aG9uIGlmIHB5dGhvbiBpcyBpbiB0aGUgcmRlcHMsIGluCiAgICAgICAgICAgICAgICAjIGNhc2Ug
dGhlcmUgaXMgYSBSREVQRU5EU19wa2cgPSAicHl0aG9uIiBpbiB0aGUgcmVjaXBlLgogICAgICAg
ICAgICAgICAgZm9yIHB5IGluIFsgZC5nZXRWYXIoJ01MUFJFRklYJykgKyAicHl0aG9uIiwgInB5
dGhvbiIgXToKICAgICAgICAgICAgICAgICAgICBpZiBweSBpbiBkb25lOgogICAgICAgICAgICAg
ICAgICAgICAgICBmaWxlcmRlcGVuZHMucG9wKCIvdXNyL2Jpbi9weXRob24iLE5vbmUpCiAgICAg
ICAgICAgICAgICAgICAgICAgIGRvbmUucmVtb3ZlKHB5KQogICAgICAgICAgICAgICAgZm9yIHJk
ZXAgaW4gZG9uZToKICAgICAgICAgICAgICAgICAgICAjIFRoZSBmaWxlIGRlcGVuZGVuY2llcyBt
YXkgY29udGFpbiBwYWNrYWdlIG5hbWVzLCBlLmcuLAogICAgICAgICAgICAgICAgICAgICMgcGVy
bAogICAgICAgICAgICAgICAgICAgIGZpbGVyZGVwZW5kcy5wb3AocmRlcCxOb25lKQoKICAgICAg
ICAgICAgICAgICAgICAjIEZvciBTYXZpbmcgdGhlIEZJTEVSUFJPVklERVMsIFJQUk9WSURFUyBh
bmQgRklMRVNfSU5GTwogICAgICAgICAgICAgICAgICAgIHJkZXBfZGF0YSA9IG9lLnBhY2thZ2Vk
YXRhLnJlYWRfc3VicGtnZGF0YShyZGVwLCBkKQogICAgICAgICAgICAgICAgICAgIGZvciBrZXkg
aW4gcmRlcF9kYXRhOgogICAgICAgICAgICAgICAgICAgICAgICBpZiBrZXkuc3RhcnRzd2l0aCgi
RklMRVJQUk9WSURFU18iKSBvciBrZXkuc3RhcnRzd2l0aCgiUlBST1ZJREVTXyIpOgogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgZm9yIHN1YmtleSBpbiBiYi51dGlscy5leHBsb2RlX2RlcHMo
cmRlcF9kYXRhW2tleV0pOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGVyZGVw
ZW5kcy5wb3Aoc3Via2V5LE5vbmUpCiAgICAgICAgICAgICAgICAgICAgICAgICMgQWRkIHRoZSBm
aWxlcyBsaXN0IHRvIHRoZSBycHJvdmlkZXMKICAgICAgICAgICAgICAgICAgICAgICAgaWYga2V5
ID09ICJGSUxFU19JTkZPIjoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgVXNlIGV2YWwo
KSB0byBtYWtlIGl0IGFzIGEgZGljdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIHN1
YmtleSBpbiBldmFsKHJkZXBfZGF0YVtrZXldKToKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBmaWxlcmRlcGVuZHMucG9wKHN1YmtleSxOb25lKQogICAgICAgICAgICAgICAgICAgIGlm
IG5vdCBmaWxlcmRlcGVuZHM6CiAgICAgICAgICAgICAgICAgICAgICAgICMgQnJlYWsgaWYgYWxs
IHRoZSBmaWxlIHJkZXBlbmRzIGFyZSBtZXQKICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWsK
ICAgICAgICAgICAgaWYgZmlsZXJkZXBlbmRzOgogICAgICAgICAgICAgICAgZm9yIGtleSBpbiBm
aWxlcmRlcGVuZHM6CiAgICAgICAgICAgICAgICAgICAgZXJyb3JfbXNnID0gIiVzIGNvbnRhaW5l
ZCBpbiBwYWNrYWdlICVzIHJlcXVpcmVzICVzLCBidXQgbm8gcHJvdmlkZXJzIGZvdW5kIGluIFJE
RVBFTkRTXyVzPyIgJSBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZmlsZXJkZXBlbmRz
W2tleV0ucmVwbGFjZSgiXyVzIiAlIHBrZywgIiIpLnJlcGxhY2UoIkB1bmRlcnNjb3JlQCIsICJf
IiksIHBrZywga2V5LCBwa2cpCiAgICAgICAgICAgICAgICAgICAgcGFja2FnZV9xYV9oYW5kbGVf
ZXJyb3IoImZpbGUtcmRlcHMiLCBlcnJvcl9tc2csIGQpCn0KCgpweXRob24gcGFja2FnZV9xYV9j
aGVja19ycGF0aCAoKSB7CmRlZiBwYWNrYWdlX3FhX2NoZWNrX3JwYXRoKGZpbGUsbmFtZSwgZCwg
ZWxmLCBtZXNzYWdlcyk6CiAgICAiIiIKICAgIENoZWNrIGZvciBkYW5nZXJvdXMgUlBBVEhzCiAg
ICAiIiIKICAgIGlmIG5vdCBlbGY6CiAgICAgICAgcmV0dXJuCgogICAgaWYgb3MucGF0aC5pc2xp
bmsoZmlsZSk6CiAgICAgICAgcmV0dXJuCgogICAgYmFkX2RpcnMgPSBbZC5nZXRWYXIoJ0JBU0Vf
V09SS0RJUicpLCBkLmdldFZhcignU1RBR0lOR19ESVJfVEFSR0VUJyldCgogICAgcGhkcnMgPSBl
bGYucnVuX29iamR1bXAoIi1wIiwgZCkKCiAgICBpbXBvcnQgcmUKICAgIHJwYXRoX3JlID0gcmUu
Y29tcGlsZSgiXHMrUlBBVEhccysoLiopIikKICAgIGZvciBsaW5lIGluIHBoZHJzLnNwbGl0KCJc
biIpOgogICAgICAgIG0gPSBycGF0aF9yZS5tYXRjaChsaW5lKQogICAgICAgIGlmIG06CiAgICAg
ICAgICAgIHJwYXRoID0gbS5ncm91cCgxKQogICAgICAgICAgICBmb3IgZGlyIGluIGJhZF9kaXJz
OgogICAgICAgICAgICAgICAgaWYgZGlyIGluIHJwYXRoOgogICAgICAgICAgICAgICAgICAgIHBh
Y2thZ2VfcWFfYWRkX21lc3NhZ2UobWVzc2FnZXMsICJycGF0aHMiLCAicGFja2FnZSAlcyBjb250
YWlucyBiYWQgUlBBVEggJXMgaW4gZmlsZSAlcyIgJSAobmFtZSwgcnBhdGgsIGZpbGUpKQp9CgoK
cHl0aG9uIHBhY2thZ2VfcWFfY2hlY2tfc3RhZ2VkICgpIHsKZGVmIHBhY2thZ2VfcWFfY2hlY2tf
c3RhZ2VkKHBhdGgsZCk6CiAgICAiIiIKICAgIENoZWNrIHN0YWdlZCBsYSBhbmQgcGMgZmlsZXMg
Zm9yIGNvbW1vbiBwcm9ibGVtcyBsaWtlIHJlZmVyZW5jZXMgdG8gdGhlIHdvcmsKICAgIGRpcmVj
dG9yeS4KCiAgICBBcyB0aGlzIGlzIHJ1biBhZnRlciBldmVyeSBzdGFnZSB3ZSBzaG91bGQgYmUg
YWJsZSB0byBmaW5kIHRoZSBvbmUKICAgIHJlc3BvbnNpYmxlIGZvciB0aGUgZXJyb3JzIGVhc2ls
eSBldmVuIGlmIHdlIGxvb2sgYXQgZXZlcnkgLnBjIGFuZCAubGEgZmlsZS4KICAgICIiIgoKICAg
IHNhbmUgPSBUcnVlCiAgICB0bXBkaXIgPSBkLmdldFZhcignVE1QRElSJykKICAgIHdvcmtkaXIg
PSBvcy5wYXRoLmpvaW4odG1wZGlyLCAid29yayIpCiAgICByZWNpcGVzeXNyb290ID0gZC5nZXRW
YXIoIlJFQ0lQRV9TWVNST09UIikKCiAgICBpZiBiYi5kYXRhLmluaGVyaXRzX2NsYXNzKCJuYXRp
dmUiLCBkKSBvciBiYi5kYXRhLmluaGVyaXRzX2NsYXNzKCJjcm9zcyIsIGQpOgogICAgICAgIHBr
Z2NvbmZpZ2NoZWNrID0gd29ya2RpcgogICAgZWxzZToKICAgICAgICBwa2djb25maWdjaGVjayA9
IHRtcGRpcgoKICAgICMgZmluZCBhbGwgLmxhIGFuZCAucGMgZmlsZXMKICAgICMgcmVhZCB0aGUg
Y29udGVudAogICAgIyBhbmQgY2hlY2sgZm9yIHN0dWZmIHRoYXQgbG9va3Mgd3JvbmcKICAgIGZv
ciByb290LCBkaXJzLCBmaWxlcyBpbiBvcy53YWxrKHBhdGgpOgogICAgICAgIGZvciBmaWxlIGlu
IGZpbGVzOgogICAgICAgICAgICBwYXRoID0gb3MucGF0aC5qb2luKHJvb3QsZmlsZSkKICAgICAg
ICAgICAgaWYgZmlsZS5lbmRzd2l0aCgiLmxhIik6CiAgICAgICAgICAgICAgICB3aXRoIG9wZW4o
cGF0aCkgYXMgZjoKICAgICAgICAgICAgICAgICAgICBmaWxlX2NvbnRlbnQgPSBmLnJlYWQoKQog
ICAgICAgICAgICAgICAgICAgIGZpbGVfY29udGVudCA9IGZpbGVfY29udGVudC5yZXBsYWNlKHJl
Y2lwZXN5c3Jvb3QsICIiKQogICAgICAgICAgICAgICAgICAgIGlmIHdvcmtkaXIgaW4gZmlsZV9j
b250ZW50OgogICAgICAgICAgICAgICAgICAgICAgICBlcnJvcl9tc2cgPSAiJXMgZmFpbGVkIHNh
bml0eSB0ZXN0ICh3b3JrZGlyKSBpbiBwYXRoICVzIiAlIChmaWxlLHJvb3QpCiAgICAgICAgICAg
ICAgICAgICAgICAgIHNhbmUgPSBwYWNrYWdlX3FhX2hhbmRsZV9lcnJvcigibGEiLCBlcnJvcl9t
c2csIGQpCiAgICAgICAgICAgIGVsaWYgZmlsZS5lbmRzd2l0aCgiLnBjIik6CiAgICAgICAgICAg
ICAgICB3aXRoIG9wZW4ocGF0aCkgYXMgZjoKICAgICAgICAgICAgICAgICAgICBmaWxlX2NvbnRl
bnQgPSBmLnJlYWQoKQogICAgICAgICAgICAgICAgICAgIGZpbGVfY29udGVudCA9IGZpbGVfY29u
dGVudC5yZXBsYWNlKHJlY2lwZXN5c3Jvb3QsICIiKQogICAgICAgICAgICAgICAgICAgIGlmIHBr
Z2NvbmZpZ2NoZWNrIGluIGZpbGVfY29udGVudDoKICAgICAgICAgICAgICAgICAgICAgICAgZXJy
b3JfbXNnID0gIiVzIGZhaWxlZCBzYW5pdHkgdGVzdCAodG1wZGlyKSBpbiBwYXRoICVzIiAlIChm
aWxlLHJvb3QpCiAgICAgICAgICAgICAgICAgICAgICAgIHNhbmUgPSBwYWNrYWdlX3FhX2hhbmRs
ZV9lcnJvcigicGtnY29uZmlnIiwgZXJyb3JfbXNnLCBkKQoKICAgIHJldHVybiBzYW5lCn0KCgpw
eXRob24gcGFja2FnZV9xYV9jaGVja19zdGF0aWNkZXYgKCkgewpkZWYgcGFja2FnZV9xYV9jaGVj
a19zdGF0aWNkZXYocGF0aCwgbmFtZSwgZCwgZWxmLCBtZXNzYWdlcyk6CiAgICAiIiIKICAgIENo
ZWNrIGZvciAiLmEiIGxpYnJhcnkgaW4gbm9uLXN0YXRpY2RldiBwYWNrYWdlcwogICAgVGhlcmUg
YXJlIGEgbnVtYmVyIG9mIGV4Y2VwdGlvbnMgdG8gdGhpcyBydWxlLCAtcGljIHBhY2thZ2VzIGNh
biBjb250YWluCiAgICBzdGF0aWMgbGlicmFyaWVzLCB0aGUgX25vbnNoYXJlZC5hIGJlbG9uZyB3
aXRoIHRoZWlyIC1kZXYgcGFja2FnZXMgYW5kCiAgICBsaWJnY2MuYSwgbGliZ2Nvdi5hIHdpbGwg
YmUgc2tpcHBlZCBpbiB0aGVpciBwYWNrYWdlcwogICAgIiIiCgogICAgaWYgbm90IG5hbWUuZW5k
c3dpdGgoIi1waWMiKSBhbmQgbm90IG5hbWUuZW5kc3dpdGgoIi1zdGF0aWNkZXYiKSBhbmQgbm90
IG5hbWUuZW5kc3dpdGgoIi1wdGVzdCIpIGFuZCBwYXRoLmVuZHN3aXRoKCIuYSIpIGFuZCBub3Qg
cGF0aC5lbmRzd2l0aCgiX25vbnNoYXJlZC5hIik6CiAgICAgICAgcGFja2FnZV9xYV9hZGRfbWVz
c2FnZShtZXNzYWdlcywgInN0YXRpY2RldiIsICJub24gLXN0YXRpY2RldiBwYWNrYWdlIGNvbnRh
aW5zIHN0YXRpYyAuYSBsaWJyYXJ5OiAlcyBwYXRoICclcyciICUgXAogICAgICAgICAgICAgICAg
IChuYW1lLCBwYWNrYWdlX3FhX2NsZWFuX3BhdGgocGF0aCxkKSkpCn0KCgpweXRob24gcGFja2Fn
ZV9xYV9jaGVja19zeW1saW5rX3RvX3N5c3Jvb3QgKCkgewpkZWYgcGFja2FnZV9xYV9jaGVja19z
eW1saW5rX3RvX3N5c3Jvb3QocGF0aCwgbmFtZSwgZCwgZWxmLCBtZXNzYWdlcyk6CiAgICAiIiIK
ICAgIENoZWNrIHRoYXQgdGhlIHBhY2thZ2UgZG9lc24ndCBjb250YWluIGFueSBhYnNvbHV0ZSBz
eW1saW5rcyB0byB0aGUgc3lzcm9vdC4KICAgICIiIgogICAgaWYgb3MucGF0aC5pc2xpbmsocGF0
aCk6CiAgICAgICAgdGFyZ2V0ID0gb3MucmVhZGxpbmsocGF0aCkKICAgICAgICBpZiBvcy5wYXRo
LmlzYWJzKHRhcmdldCk6CiAgICAgICAgICAgIHRtcGRpciA9IGQuZ2V0VmFyKCdUTVBESVInKQog
ICAgICAgICAgICBpZiB0YXJnZXQuc3RhcnRzd2l0aCh0bXBkaXIpOgogICAgICAgICAgICAgICAg
dHJpbW1lZCA9IHBhdGgucmVwbGFjZShvcy5wYXRoLmpvaW4gKGQuZ2V0VmFyKCJQS0dERVNUIiks
IG5hbWUpLCAiIikKICAgICAgICAgICAgICAgIHBhY2thZ2VfcWFfYWRkX21lc3NhZ2UobWVzc2Fn
ZXMsICJzeW1saW5rLXRvLXN5c3Jvb3QiLCAiU3ltbGluayAlcyBpbiAlcyBwb2ludHMgdG8gVE1Q
RElSIiAlICh0cmltbWVkLCBuYW1lKSkKfQoKCnB5dGhvbiBwYWNrYWdlX3FhX2NoZWNrX3Vuc2Fm
ZV9yZWZlcmVuY2VzX2luX3NjcmlwdHMgKCkgewpkZWYgcGFja2FnZV9xYV9jaGVja191bnNhZmVf
cmVmZXJlbmNlc19pbl9zY3JpcHRzKHBhdGgsIG5hbWUsIGQsIGVsZiwgbWVzc2FnZXMpOgogICAg
IiIiCiAgICBXYXJuIGlmIHNjcmlwdHMgaW4gYmFzZV9bYmluZGlyfHNiaW5kaXJ8bGliZGlyXSBy
ZWZlcmVuY2UgZmlsZXMgdW5kZXIgZXhlY19wcmVmaXgKICAgICIiIgogICAgaWYgdW5zYWZlX3Jl
ZmVyZW5jZXNfc2tpcHBhYmxlKHBhdGgsIG5hbWUsIGQpOgogICAgICAgIHJldHVybgoKICAgIGlm
IG5vdCBlbGY6CiAgICAgICAgaW1wb3J0IHN0YXQKICAgICAgICBpbXBvcnQgc3VicHJvY2Vzcwog
ICAgICAgIHBuID0gZC5nZXRWYXIoJ1BOJykKCiAgICAgICAgIyBFbnN1cmUgd2UncmUgY2hlY2tp
bmcgYW4gZXhlY3V0YWJsZSBzY3JpcHQKICAgICAgICBzdGF0aW5mbyA9IG9zLnN0YXQocGF0aCkK
ICAgICAgICBpZiBib29sKHN0YXRpbmZvLnN0X21vZGUgJiBzdGF0LlNfSVhVU1IpOgogICAgICAg
ICAgICAjIGdyZXAgc2hlbGwgc2NyaXB0cyBmb3IgcG9zc2libGUgcmVmZXJlbmNlcyB0byAvZXhl
Y19wcmVmaXgvCiAgICAgICAgICAgIGV4ZWNfcHJlZml4ID0gZC5nZXRWYXIoJ2V4ZWNfcHJlZml4
JykKICAgICAgICAgICAgc3RhdGVtZW50ID0gImdyZXAgLWUgJyVzL1teIDpdXHsxLFx9L1teIDpd
XHsxLFx9JyAlcyA+IC9kZXYvbnVsbCIgJSAoZXhlY19wcmVmaXgsIHBhdGgpCiAgICAgICAgICAg
IGlmIHN1YnByb2Nlc3MuY2FsbChzdGF0ZW1lbnQsIHNoZWxsPVRydWUpID09IDA6CiAgICAgICAg
ICAgICAgICBlcnJvcl9tc2cgPSBwbiArICI6IEZvdW5kIGEgcmVmZXJlbmNlIHRvICVzLyBpbiAl
cyIgJSAoZXhlY19wcmVmaXgsIHBhdGgpCiAgICAgICAgICAgICAgICBwYWNrYWdlX3FhX2hhbmRs
ZV9lcnJvcigidW5zYWZlLXJlZmVyZW5jZXMtaW4tc2NyaXB0cyIsIGVycm9yX21zZywgZCkKICAg
ICAgICAgICAgICAgIGVycm9yX21zZyA9ICJTaGVsbCBzY3JpcHRzIGluIGJhc2VfYmluZGlyIGFu
ZCBiYXNlX3NiaW5kaXIgc2hvdWxkIG5vdCByZWZlcmVuY2UgYW55dGhpbmcgaW4gZXhlY19wcmVm
aXgiCiAgICAgICAgICAgICAgICBwYWNrYWdlX3FhX2hhbmRsZV9lcnJvcigidW5zYWZlLXJlZmVy
ZW5jZXMtaW4tc2NyaXB0cyIsIGVycm9yX21zZywgZCkKfQoKCnB5dGhvbiBwYWNrYWdlX3FhX2No
ZWNrX3VzZWxlc3NfcnBhdGhzICgpIHsKZGVmIHBhY2thZ2VfcWFfY2hlY2tfdXNlbGVzc19ycGF0
aHMoZmlsZSwgbmFtZSwgZCwgZWxmLCBtZXNzYWdlcyk6CiAgICAiIiIKICAgIENoZWNrIGZvciBS
UEFUSHMgdGhhdCBhcmUgdXNlbGVzcyBidXQgbm90IGRhbmdlcm91cwogICAgIiIiCiAgICBkZWYg
cnBhdGhfZXEoYSwgYik6CiAgICAgICAgcmV0dXJuIG9zLnBhdGgubm9ybXBhdGgoYSkgPT0gb3Mu
cGF0aC5ub3JtcGF0aChiKQoKICAgIGlmIG5vdCBlbGY6CiAgICAgICAgcmV0dXJuCgogICAgaWYg
b3MucGF0aC5pc2xpbmsoZmlsZSk6CiAgICAgICAgcmV0dXJuCgogICAgbGliZGlyID0gZC5nZXRW
YXIoImxpYmRpciIpCiAgICBiYXNlX2xpYmRpciA9IGQuZ2V0VmFyKCJiYXNlX2xpYmRpciIpCgog
ICAgcGhkcnMgPSBlbGYucnVuX29iamR1bXAoIi1wIiwgZCkKCiAgICBpbXBvcnQgcmUKICAgIHJw
YXRoX3JlID0gcmUuY29tcGlsZSgiXHMrUlBBVEhccysoLiopIikKICAgIGZvciBsaW5lIGluIHBo
ZHJzLnNwbGl0KCJcbiIpOgogICAgICAgIG0gPSBycGF0aF9yZS5tYXRjaChsaW5lKQogICAgICAg
IGlmIG06CiAgICAgICAgICAgIHJwYXRoID0gbS5ncm91cCgxKQogICAgICAgICAgICBpZiBycGF0
aF9lcShycGF0aCwgbGliZGlyKSBvciBycGF0aF9lcShycGF0aCwgYmFzZV9saWJkaXIpOgogICAg
ICAgICAgICAgICAgIyBUaGUgZHluYW1pYyBsaW5rZXIgc2VhcmNoZXMgYm90aCB0aGVzZSBwbGFj
ZXMgYW55d2F5LiAgVGhlcmUgaXMgbm8gcG9pbnQgaW4KICAgICAgICAgICAgICAgICMgbG9va2lu
ZyB0aGVyZSBhZ2Fpbi4KICAgICAgICAgICAgICAgIHBhY2thZ2VfcWFfYWRkX21lc3NhZ2UobWVz
c2FnZXMsICJ1c2VsZXNzLXJwYXRocyIsICIlczogJXMgY29udGFpbnMgcHJvYmFibHktcmVkdW5k
YW50IFJQQVRIICVzIiAlIChuYW1lLCBwYWNrYWdlX3FhX2NsZWFuX3BhdGgoZmlsZSwgZCksIHJw
YXRoKSkKfQoKCnB5dGhvbiBwYWNrYWdlX3FhX2NoZWNrX3hvcmdfZHJpdmVyX2FiaSAoKSB7CmRl
ZiBwYWNrYWdlX3FhX2NoZWNrX3hvcmdfZHJpdmVyX2FiaShwYXRoLCBuYW1lLCBkLCBlbGYsIG1l
c3NhZ2VzKToKICAgICIiIgogICAgQ2hlY2sgdGhhdCBhbGwgcGFja2FnZXMgY29udGFpbmluZyBY
b3JnIGRyaXZlcnMgaGF2ZSBBQkkgZGVwZW5kZW5jaWVzCiAgICAiIiIKCiAgICAjIFNraXAgZGV2
LCBkYmcgb3IgbmF0aXZlc2RrIHBhY2thZ2VzCiAgICBpZiBuYW1lLmVuZHN3aXRoKCItZGV2Iikg
b3IgbmFtZS5lbmRzd2l0aCgiLWRiZyIpIG9yIG5hbWUuc3RhcnRzd2l0aCgibmF0aXZlc2RrLSIp
OgogICAgICAgIHJldHVybgoKICAgIGRyaXZlcmRpciA9IGQuZXhwYW5kKCIke2xpYmRpcn0veG9y
Zy9tb2R1bGVzL2RyaXZlcnMvIikKICAgIGlmIGRyaXZlcmRpciBpbiBwYXRoIGFuZCBwYXRoLmVu
ZHN3aXRoKCIuc28iKToKICAgICAgICBtbHByZWZpeCA9IGQuZ2V0VmFyKCdNTFBSRUZJWCcpIG9y
ICcnCiAgICAgICAgZm9yIHJkZXAgaW4gYmIudXRpbHMuZXhwbG9kZV9kZXBzKGQuZ2V0VmFyKCdS
REVQRU5EU18nICsgbmFtZSkgb3IgIiIpOgogICAgICAgICAgICBpZiByZGVwLnN0YXJ0c3dpdGgo
IiVzeG9yZy1hYmktIiAlIG1scHJlZml4KToKICAgICAgICAgICAgICAgIHJldHVybgogICAgICAg
IHBhY2thZ2VfcWFfYWRkX21lc3NhZ2UobWVzc2FnZXMsICJ4b3JnLWRyaXZlci1hYmkiLCAiUGFj
a2FnZSAlcyBjb250YWlucyBYb3JnIGRyaXZlciAoJXMpIGJ1dCBubyB4b3JnLWFiaS0gZGVwZW5k
ZW5jaWVzIiAlIChuYW1lLCBvcy5wYXRoLmJhc2VuYW1lKHBhdGgpKSkKfQoKCnB5dGhvbiBwYWNr
YWdlX3FhX2NsZWFuX3BhdGggKCkgewpkZWYgcGFja2FnZV9xYV9jbGVhbl9wYXRoKHBhdGgsIGQs
IHBrZz1Ob25lKToKICAgICIiIgogICAgUmVtb3ZlIHJlZHVuZGFudCBwYXRocyBmcm9tIHRoZSBw
YXRoIGZvciBkaXNwbGF5LiAgSWYgcGtnIGlzbid0IHNldCB0aGVuCiAgICBUTVBESVIgaXMgc3Ry
aXBwZWQsIG90aGVyd2lzZSBQS0dERVNUL3BrZyBpcyBzdHJpcHBlZC4KICAgICIiIgogICAgaWYg
cGtnOgogICAgICAgIHBhdGggPSBwYXRoLnJlcGxhY2Uob3MucGF0aC5qb2luKGQuZ2V0VmFyKCJQ
S0dERVNUIiksIHBrZyksICIvIikKICAgIHJldHVybiBwYXRoLnJlcGxhY2UoZC5nZXRWYXIoIlRN
UERJUiIpLCAiLyIpLnJlcGxhY2UoIi8vIiwgIi8iKQp9CgoKcHl0aG9uIHBhY2thZ2VfcWFfZ2V0
X21hY2hpbmVfZGljdCAoKSB7CmRlZiBwYWNrYWdlX3FhX2dldF9tYWNoaW5lX2RpY3QoZCk6CiAg
ICBtYWNoZGF0YSA9IHsKICAgICAgICAgICAgImRhcndpbjkiIDogewogICAgICAgICAgICAgICAg
ICAgICAgICAiYXJtIiA6ICAgICAgICg0MCwgICAgIDAsICAgIDAsICAgICAgICAgIFRydWUsICAg
ICAgICAgIDMyKSwKICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJlYWJpIiA6
IHsKICAgICAgICAgICAgICAgICAgICAgICAgImFybSIgOiAgICAgICAoNDAsICAgICAwLCAgICAw
LCAgICAgICAgICBUcnVlLCAgICAgICAgICAzMiksCiAgICAgICAgICAgICAgICAgICAgICB9LAog
ICAgICAgICAgICAiZWxmIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImFhcmNoNjQiIDog
ICAoMTgzLCAgICAwLCAgICAwLCAgICAgICAgICBUcnVlLCAgICAgICAgICA2NCksCiAgICAgICAg
ICAgICAgICAgICAgICAgICJhYXJjaDY0X2JlIiA6KDE4MywgICAgMCwgICAgMCwgICAgICAgICAg
RmFsc2UsICAgICAgICAgNjQpLAogICAgICAgICAgICAgICAgICAgICAgICAiaTU4NiIgOiAgICAg
ICgzLCAgICAgIDAsICAgIDAsICAgICAgICAgIFRydWUsICAgICAgICAgIDMyKSwKICAgICAgICAg
ICAgICAgICAgICAgICAgIng4Nl82NCI6ICAgICAoNjIsICAgICAwLCAgICAwLCAgICAgICAgICBU
cnVlLCAgICAgICAgICA2NCksCiAgICAgICAgICAgICAgICAgICAgICAgICJlcGlwaGFueSI6ICAg
KDQ2NDMsICAgMCwgICAgMCwgICAgICAgICAgVHJ1ZSwgICAgICAgICAgMzIpLAogICAgICAgICAg
ICAgICAgICAgICAgICAibWlwcyI6ICAgICAgICggOCwgICAgIDAsICAgIDAsICAgICAgICAgIEZh
bHNlLCAgICAgICAgIDMyKSwKICAgICAgICAgICAgICAgICAgICAgICAgIm1pcHNlbCI6ICAgICAo
IDgsICAgICAwLCAgICAwLCAgICAgICAgICBUcnVlLCAgICAgICAgICAzMiksCiAgICAgICAgICAg
ICAgICAgICAgICB9LAogICAgICAgICAgICAibGludXgiIDogewogICAgICAgICAgICAgICAgICAg
ICAgICAiYWFyY2g2NCIgOiAgICgxODMsICAgIDAsICAgIDAsICAgICAgICAgIFRydWUsICAgICAg
ICAgIDY0KSwKICAgICAgICAgICAgICAgICAgICAgICAgImFhcmNoNjRfYmUiIDooMTgzLCAgICAw
LCAgICAwLCAgICAgICAgICBGYWxzZSwgICAgICAgICA2NCksCiAgICAgICAgICAgICAgICAgICAg
ICAgICJhcm0iIDogICAgICAgKDQwLCAgICA5NywgICAgMCwgICAgICAgICAgVHJ1ZSwgICAgICAg
ICAgMzIpLAogICAgICAgICAgICAgICAgICAgICAgICAiYXJtZWIiOiAgICAgICg0MCwgICAgOTcs
ICAgIDAsICAgICAgICAgIEZhbHNlLCAgICAgICAgIDMyKSwKICAgICAgICAgICAgICAgICAgICAg
ICAgInBvd2VycGMiOiAgICAoMjAsICAgICAwLCAgICAwLCAgICAgICAgICBGYWxzZSwgICAgICAg
ICAzMiksCiAgICAgICAgICAgICAgICAgICAgICAgICJwb3dlcnBjNjQiOiAgKDIxLCAgICAgMCwg
ICAgMCwgICAgICAgICAgRmFsc2UsICAgICAgICAgNjQpLAogICAgICAgICAgICAgICAgICAgICAg
ICAiaTM4NiI6ICAgICAgICggMywgICAgIDAsICAgIDAsICAgICAgICAgIFRydWUsICAgICAgICAg
IDMyKSwKICAgICAgICAgICAgICAgICAgICAgICAgImk0ODYiOiAgICAgICAoIDMsICAgICAwLCAg
ICAwLCAgICAgICAgICBUcnVlLCAgICAgICAgICAzMiksCiAgICAgICAgICAgICAgICAgICAgICAg
ICJpNTg2IjogICAgICAgKCAzLCAgICAgMCwgICAgMCwgICAgICAgICAgVHJ1ZSwgICAgICAgICAg
MzIpLAogICAgICAgICAgICAgICAgICAgICAgICAiaTY4NiI6ICAgICAgICggMywgICAgIDAsICAg
IDAsICAgICAgICAgIFRydWUsICAgICAgICAgIDMyKSwKICAgICAgICAgICAgICAgICAgICAgICAg
Ing4Nl82NCI6ICAgICAoNjIsICAgICAwLCAgICAwLCAgICAgICAgICBUcnVlLCAgICAgICAgICA2
NCksCiAgICAgICAgICAgICAgICAgICAgICAgICJpYTY0IjogICAgICAgKDUwLCAgICAgMCwgICAg
MCwgICAgICAgICAgVHJ1ZSwgICAgICAgICAgNjQpLAogICAgICAgICAgICAgICAgICAgICAgICAi
YWxwaGEiOiAgICAgICgzNjkwMiwgIDAsICAgIDAsICAgICAgICAgIFRydWUsICAgICAgICAgIDY0
KSwKICAgICAgICAgICAgICAgICAgICAgICAgImhwcGEiOiAgICAgICAoMTUsICAgICAzLCAgICAw
LCAgICAgICAgICBGYWxzZSwgICAgICAgICAzMiksCiAgICAgICAgICAgICAgICAgICAgICAgICJt
NjhrIjogICAgICAgKCA0LCAgICAgMCwgICAgMCwgICAgICAgICAgRmFsc2UsICAgICAgICAgMzIp
LAogICAgICAgICAgICAgICAgICAgICAgICAibWlwcyI6ICAgICAgICggOCwgICAgIDAsICAgIDAs
ICAgICAgICAgIEZhbHNlLCAgICAgICAgIDMyKSwKICAgICAgICAgICAgICAgICAgICAgICAgIm1p
cHNlbCI6ICAgICAoIDgsICAgICAwLCAgICAwLCAgICAgICAgICBUcnVlLCAgICAgICAgICAzMiks
CiAgICAgICAgICAgICAgICAgICAgICAgICJtaXBzNjQiOiAgICAgKCA4LCAgICAgMCwgICAgMCwg
ICAgICAgICAgRmFsc2UsICAgICAgICAgNjQpLAogICAgICAgICAgICAgICAgICAgICAgICAibWlw
czY0ZWwiOiAgICggOCwgICAgIDAsICAgIDAsICAgICAgICAgIFRydWUsICAgICAgICAgIDY0KSwK
ICAgICAgICAgICAgICAgICAgICAgICAgIm1pcHNpc2EzMnI2IjogICAoIDgsICAwLCAgICAwLCAg
ICAgICAgICBGYWxzZSwgICAgICAgICAzMiksCiAgICAgICAgICAgICAgICAgICAgICAgICJtaXBz
aXNhMzJyNmVsIjogKCA4LCAgMCwgICAgMCwgICAgICAgICAgVHJ1ZSwgICAgICAgICAgMzIpLAog
ICAgICAgICAgICAgICAgICAgICAgICAibWlwc2lzYTY0cjYiOiAgICggOCwgIDAsICAgIDAsICAg
ICAgICAgIEZhbHNlLCAgICAgICAgIDY0KSwKICAgICAgICAgICAgICAgICAgICAgICAgIm1pcHNp
c2E2NHI2ZWwiOiAoIDgsICAwLCAgICAwLCAgICAgICAgICBUcnVlLCAgICAgICAgICA2NCksCiAg
ICAgICAgICAgICAgICAgICAgICAgICJuaW9zMiI6ICAgICAgKDExMywgICAgMCwgICAgMCwgICAg
ICAgICAgVHJ1ZSwgICAgICAgICAgMzIpLAogICAgICAgICAgICAgICAgICAgICAgICAiczM5MCI6
ICAgICAgICgyMiwgICAgIDAsICAgIDAsICAgICAgICAgIEZhbHNlLCAgICAgICAgIDMyKSwKICAg
ICAgICAgICAgICAgICAgICAgICAgInNoNCI6ICAgICAgICAoNDIsICAgICAwLCAgICAwLCAgICAg
ICAgICBUcnVlLCAgICAgICAgICAzMiksCiAgICAgICAgICAgICAgICAgICAgICAgICJzcGFyYyI6
ICAgICAgKCAyLCAgICAgMCwgICAgMCwgICAgICAgICAgRmFsc2UsICAgICAgICAgMzIpLAogICAg
ICAgICAgICAgICAgICAgICAgICAibWljcm9ibGF6ZSI6ICAoMTg5LCAgIDAsICAgIDAsICAgICAg
ICAgIEZhbHNlLCAgICAgICAgIDMyKSwKICAgICAgICAgICAgICAgICAgICAgICAgIm1pY3JvYmxh
emVlYiI6KDE4OSwgICAwLCAgICAwLCAgICAgICAgICBGYWxzZSwgICAgICAgICAzMiksCiAgICAg
ICAgICAgICAgICAgICAgICAgICJtaWNyb2JsYXplZWwiOigxODksICAgMCwgICAgMCwgICAgICAg
ICAgVHJ1ZSwgICAgICAgICAgMzIpLAogICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAg
ICAgImxpbnV4LXVjbGliYyIgOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJhcm0iIDogICAg
ICAgKCAgNDAsICAgIDk3LCAgICAwLCAgICAgICAgICBUcnVlLCAgICAgICAgICAzMiksCiAgICAg
ICAgICAgICAgICAgICAgICAgICJhcm1lYiI6ICAgICAgKCAgNDAsICAgIDk3LCAgICAwLCAgICAg
ICAgICBGYWxzZSwgICAgICAgICAzMiksCiAgICAgICAgICAgICAgICAgICAgICAgICJwb3dlcnBj
IjogICAgKCAgMjAsICAgICAwLCAgICAwLCAgICAgICAgICBGYWxzZSwgICAgICAgICAzMiksCiAg
ICAgICAgICAgICAgICAgICAgICAgICJpMzg2IjogICAgICAgKCAgIDMsICAgICAwLCAgICAwLCAg
ICAgICAgICBUcnVlLCAgICAgICAgICAzMiksCiAgICAgICAgICAgICAgICAgICAgICAgICJpNDg2
IjogICAgICAgKCAgIDMsICAgICAwLCAgICAwLCAgICAgICAgICBUcnVlLCAgICAgICAgICAzMiks
CiAgICAgICAgICAgICAgICAgICAgICAgICJpNTg2IjogICAgICAgKCAgIDMsICAgICAwLCAgICAw
LCAgICAgICAgICBUcnVlLCAgICAgICAgICAzMiksCiAgICAgICAgICAgICAgICAgICAgICAgICJp
Njg2IjogICAgICAgKCAgIDMsICAgICAwLCAgICAwLCAgICAgICAgICBUcnVlLCAgICAgICAgICAz
MiksCiAgICAgICAgICAgICAgICAgICAgICAgICJ4ODZfNjQiOiAgICAgKCAgNjIsICAgICAwLCAg
ICAwLCAgICAgICAgICBUcnVlLCAgICAgICAgICA2NCksCiAgICAgICAgICAgICAgICAgICAgICAg
ICJtaXBzIjogICAgICAgKCAgIDgsICAgICAwLCAgICAwLCAgICAgICAgICBGYWxzZSwgICAgICAg
ICAzMiksCiAgICAgICAgICAgICAgICAgICAgICAgICJtaXBzZWwiOiAgICAgKCAgIDgsICAgICAw
LCAgICAwLCAgICAgICAgICBUcnVlLCAgICAgICAgICAzMiksCiAgICAgICAgICAgICAgICAgICAg
ICAgICJtaXBzNjQiOiAgICAgKCAgIDgsICAgICAwLCAgICAwLCAgICAgICAgICBGYWxzZSwgICAg
ICAgICA2NCksCiAgICAgICAgICAgICAgICAgICAgICAgICJtaXBzNjRlbCI6ICAgKCAgIDgsICAg
ICAwLCAgICAwLCAgICAgICAgICBUcnVlLCAgICAgICAgICA2NCksCiAgICAgICAgICAgICAgICAg
ICAgICAgICJhdnIzMiI6ICAgICAgKDYzMTcsICAgICAwLCAgICAwLCAgICAgICAgICBGYWxzZSwg
ICAgICAgICAzMiksCiAgICAgICAgICAgICAgICAgICAgICAgICJzaDQiOiAgICAgICAgKDQyLCAg
ICAgICAwLCAgICAwLCAgICAgICAgICBUcnVlLCAgICAgICAgICAzMiksCgogICAgICAgICAgICAg
ICAgICAgICAgfSwKICAgICAgICAgICAgImxpbnV4LW11c2wiIDogewogICAgICAgICAgICAgICAg
ICAgICAgICAiYWFyY2g2NCIgOiAgICgxODMsICAgIDAsICAgIDAsICAgICAgICAgICAgVHJ1ZSwg
ICAgICAgICAgNjQpLAogICAgICAgICAgICAgICAgICAgICAgICAiYWFyY2g2NF9iZSIgOigxODMs
ICAgIDAsICAgIDAsICAgICAgICAgICAgRmFsc2UsICAgICAgICAgNjQpLAogICAgICAgICAgICAg
ICAgICAgICAgICAiYXJtIiA6ICAgICAgICggIDQwLCAgICA5NywgICAgMCwgICAgICAgICAgVHJ1
ZSwgICAgICAgICAgMzIpLAogICAgICAgICAgICAgICAgICAgICAgICAiYXJtZWIiOiAgICAgICgg
IDQwLCAgICA5NywgICAgMCwgICAgICAgICAgRmFsc2UsICAgICAgICAgMzIpLAogICAgICAgICAg
ICAgICAgICAgICAgICAicG93ZXJwYyI6ICAgICggIDIwLCAgICAgMCwgICAgMCwgICAgICAgICAg
RmFsc2UsICAgICAgICAgMzIpLAogICAgICAgICAgICAgICAgICAgICAgICAiaTM4NiI6ICAgICAg
ICggICAzLCAgICAgMCwgICAgMCwgICAgICAgICAgVHJ1ZSwgICAgICAgICAgMzIpLAogICAgICAg
ICAgICAgICAgICAgICAgICAiaTQ4NiI6ICAgICAgICggICAzLCAgICAgMCwgICAgMCwgICAgICAg
ICAgVHJ1ZSwgICAgICAgICAgMzIpLAogICAgICAgICAgICAgICAgICAgICAgICAiaTU4NiI6ICAg
ICAgICggICAzLCAgICAgMCwgICAgMCwgICAgICAgICAgVHJ1ZSwgICAgICAgICAgMzIpLAogICAg
ICAgICAgICAgICAgICAgICAgICAiaTY4NiI6ICAgICAgICggICAzLCAgICAgMCwgICAgMCwgICAg
ICAgICAgVHJ1ZSwgICAgICAgICAgMzIpLAogICAgICAgICAgICAgICAgICAgICAgICAieDg2XzY0
IjogICAgICggIDYyLCAgICAgMCwgICAgMCwgICAgICAgICAgVHJ1ZSwgICAgICAgICAgNjQpLAog
ICAgICAgICAgICAgICAgICAgICAgICAibWlwcyI6ICAgICAgICggICA4LCAgICAgMCwgICAgMCwg
ICAgICAgICAgRmFsc2UsICAgICAgICAgMzIpLAogICAgICAgICAgICAgICAgICAgICAgICAibWlw
c2VsIjogICAgICggICA4LCAgICAgMCwgICAgMCwgICAgICAgICAgVHJ1ZSwgICAgICAgICAgMzIp
LAogICAgICAgICAgICAgICAgICAgICAgICAibWlwczY0IjogICAgICggICA4LCAgICAgMCwgICAg
MCwgICAgICAgICAgRmFsc2UsICAgICAgICAgNjQpLAogICAgICAgICAgICAgICAgICAgICAgICAi
bWlwczY0ZWwiOiAgICggICA4LCAgICAgMCwgICAgMCwgICAgICAgICAgVHJ1ZSwgICAgICAgICAg
NjQpLAogICAgICAgICAgICAgICAgICAgICAgICAibWljcm9ibGF6ZSI6ICAoMTg5LCAgICAgMCwg
ICAgMCwgICAgICAgICAgRmFsc2UsICAgICAgICAgMzIpLAogICAgICAgICAgICAgICAgICAgICAg
ICAibWljcm9ibGF6ZWViIjooMTg5LCAgICAgMCwgICAgMCwgICAgICAgICAgRmFsc2UsICAgICAg
ICAgMzIpLAogICAgICAgICAgICAgICAgICAgICAgICAibWljcm9ibGF6ZWVsIjooMTg5LCAgICAg
MCwgICAgMCwgICAgICAgICAgVHJ1ZSwgICAgICAgICAgMzIpLAogICAgICAgICAgICAgICAgICAg
ICAgICAic2g0IjogICAgICAgICggIDQyLCAgICAgMCwgICAgMCwgICAgICAgICAgVHJ1ZSwgICAg
ICAgICAgMzIpLAogICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgInVjbGludXgt
dWNsaWJjIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImJmaW4iOiAgICAgICAoIDEwNiwg
ICAgIDAsICAgIDAsICAgICAgICAgIFRydWUsICAgICAgICAgMzIpLAogICAgICAgICAgICAgICAg
ICAgICAgfSwKICAgICAgICAgICAgImxpbnV4LWdudWVhYmkiIDogewogICAgICAgICAgICAgICAg
ICAgICAgICAiYXJtIiA6ICAgICAgICg0MCwgICAgIDAsICAgIDAsICAgICAgICAgIFRydWUsICAg
ICAgICAgIDMyKSwKICAgICAgICAgICAgICAgICAgICAgICAgImFybWViIiA6ICAgICAoNDAsICAg
ICAwLCAgICAwLCAgICAgICAgICBGYWxzZSwgICAgICAgICAzMiksCiAgICAgICAgICAgICAgICAg
ICAgICB9LAogICAgICAgICAgICAibGludXgtbXVzbGVhYmkiIDogewogICAgICAgICAgICAgICAg
ICAgICAgICAiYXJtIiA6ICAgICAgICg0MCwgICAgIDAsICAgIDAsICAgICAgICAgIFRydWUsICAg
ICAgICAgIDMyKSwKICAgICAgICAgICAgICAgICAgICAgICAgImFybWViIiA6ICAgICAoNDAsICAg
ICAwLCAgICAwLCAgICAgICAgICBGYWxzZSwgICAgICAgICAzMiksCiAgICAgICAgICAgICAgICAg
ICAgICB9LAogICAgICAgICAgICAibGludXgtdWNsaWJjZWFiaSIgOiB7CiAgICAgICAgICAgICAg
ICAgICAgICAgICJhcm0iIDogICAgICAgKDQwLCAgICAgMCwgICAgMCwgICAgICAgICAgVHJ1ZSwg
ICAgICAgICAgMzIpLAogICAgICAgICAgICAgICAgICAgICAgICAiYXJtZWIiIDogICAgICg0MCwg
ICAgIDAsICAgIDAsICAgICAgICAgIEZhbHNlLCAgICAgICAgIDMyKSwKICAgICAgICAgICAgICAg
ICAgICAgIH0sCiAgICAgICAgICAgICJsaW51eC1nbnVzcGUiIDogewogICAgICAgICAgICAgICAg
ICAgICAgICAicG93ZXJwYyI6ICAgICgyMCwgICAgIDAsICAgIDAsICAgICAgICAgIEZhbHNlLCAg
ICAgICAgIDMyKSwKICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJsaW51eC1t
dXNsc3BlIiA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgInBvd2VycGMiOiAgICAoMjAsICAg
ICAwLCAgICAwLCAgICAgICAgICBGYWxzZSwgICAgICAgICAzMiksCiAgICAgICAgICAgICAgICAg
ICAgICB9LAogICAgICAgICAgICAibGludXgtdWNsaWJjc3BlIiA6IHsKICAgICAgICAgICAgICAg
ICAgICAgICAgInBvd2VycGMiOiAgICAoMjAsICAgICAwLCAgICAwLCAgICAgICAgICBGYWxzZSwg
ICAgICAgICAzMiksCiAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAibGludXgt
Z251IiA6ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgInBvd2VycGMiOiAgICAoMjAs
ICAgICAwLCAgICAwLCAgICAgICAgICBGYWxzZSwgICAgICAgICAzMiksCiAgICAgICAgICAgICAg
ICAgICAgICAgICJzaDQiOiAgICAgICAgKDQyLCAgICAgMCwgICAgMCwgICAgICAgICAgVHJ1ZSwg
ICAgICAgICAgMzIpLAogICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgImxpbnV4
LWdudXgzMiIgOiAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ4ODZfNjQiOiAgICAg
KDYyLCAgICAgMCwgICAgMCwgICAgICAgICAgVHJ1ZSwgICAgICAgICAgMzIpLAogICAgICAgICAg
ICAgICAgICAgICAgfSwKICAgICAgICAgICAgImxpbnV4LWdudW4zMiIgOiAgICAgICB7CiAgICAg
ICAgICAgICAgICAgICAgICAgICJtaXBzNjQiOiAgICAgICAoIDgsICAgICAwLCAgICAwLCAgICAg
ICAgICBGYWxzZSwgICAgICAgICAzMiksCiAgICAgICAgICAgICAgICAgICAgICAgICJtaXBzNjRl
bCI6ICAgICAoIDgsICAgICAwLCAgICAwLCAgICAgICAgICBUcnVlLCAgICAgICAgICAzMiksCiAg
ICAgICAgICAgICAgICAgICAgICAgICJtaXBzaXNhNjRyNiI6ICAoIDgsICAgICAwLCAgICAwLCAg
ICAgICAgICBGYWxzZSwgICAgICAgICAzMiksCiAgICAgICAgICAgICAgICAgICAgICAgICJtaXBz
aXNhNjRyNmVsIjooIDgsICAgICAwLCAgICAwLCAgICAgICAgICBUcnVlLCAgICAgICAgICAzMiks
CiAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgIH0KCiAgICAjIEFkZCBpbiBhbnkgZXh0
cmEgdXNlciBzdXBwbGllZCBkYXRhIHdoaWNoIG1heSBjb21lIGZyb20gYSBCU1AgbGF5ZXIsIHJl
bW92aW5nIHRoZQogICAgIyBuZWVkIHRvIGFsd2F5cyBjaGFuZ2UgdGhpcyBjbGFzcyBkaXJlY3Rs
eQogICAgZXh0cmFfbWFjaGRhdGEgPSAoZC5nZXRWYXIoIlBBQ0tBR0VRQV9FWFRSQV9NQUNIREVG
RlVOQ1MiKSBvciAiIikuc3BsaXQoKQogICAgZm9yIG0gaW4gZXh0cmFfbWFjaGRhdGE6CiAgICAg
ICAgY2FsbCA9IG0gKyAiKG1hY2hkYXRhLCBkKSIKICAgICAgICBsb2NzID0geyAibWFjaGRhdGEi
IDogbWFjaGRhdGEsICJkIiA6IGR9CiAgICAgICAgbWFjaGRhdGEgPSBiYi51dGlscy5iZXR0ZXJf
ZXZhbChjYWxsLCBsb2NzKQoKICAgIHJldHVybiBtYWNoZGF0YQoKfQoKCnB5dGhvbiBwYWNrYWdl
X3FhX2hhbmRsZV9lcnJvciAoKSB7CmRlZiBwYWNrYWdlX3FhX2hhbmRsZV9lcnJvcihlcnJvcl9j
bGFzcywgZXJyb3JfbXNnLCBkKToKICAgIHBhY2thZ2VfcWFfd3JpdGVfZXJyb3IoZXJyb3JfY2xh
c3MsIGVycm9yX21zZywgZCkKICAgIGlmIGVycm9yX2NsYXNzIGluIChkLmdldFZhcigiRVJST1Jf
UUEiKSBvciAiIikuc3BsaXQoKToKICAgICAgICBiYi5lcnJvcigiUUEgSXNzdWU6ICVzIFslc10i
ICUgKGVycm9yX21zZywgZXJyb3JfY2xhc3MpKQogICAgICAgIGQuc2V0VmFyKCJRQV9TQU5FIiwg
RmFsc2UpCiAgICAgICAgcmV0dXJuIEZhbHNlCiAgICBlbGlmIGVycm9yX2NsYXNzIGluIChkLmdl
dFZhcigiV0FSTl9RQSIpIG9yICIiKS5zcGxpdCgpOgogICAgICAgIGJiLndhcm4oIlFBIElzc3Vl
OiAlcyBbJXNdIiAlIChlcnJvcl9tc2csIGVycm9yX2NsYXNzKSkKICAgIGVsc2U6CiAgICAgICAg
YmIubm90ZSgiUUEgSXNzdWU6ICVzIFslc10iICUgKGVycm9yX21zZywgZXJyb3JfY2xhc3MpKQog
ICAgcmV0dXJuIFRydWUKfQoKCnB5dGhvbiBwYWNrYWdlX3FhX2hhc2hfc3R5bGUgKCkgewpkZWYg
cGFja2FnZV9xYV9oYXNoX3N0eWxlKHBhdGgsIG5hbWUsIGQsIGVsZiwgbWVzc2FnZXMpOgogICAg
IiIiCiAgICBDaGVjayBpZiB0aGUgYmluYXJ5IGhhcyB0aGUgcmlnaHQgaGFzaCBzdHlsZS4uLgog
ICAgIiIiCgogICAgaWYgbm90IGVsZjoKICAgICAgICByZXR1cm4KCiAgICBpZiBvcy5wYXRoLmlz
bGluayhwYXRoKToKICAgICAgICByZXR1cm4KCiAgICBnbnVfaGFzaCA9ICItLWhhc2gtc3R5bGU9
Z251IiBpbiBkLmdldFZhcignTERGTEFHUycpCiAgICBpZiBub3QgZ251X2hhc2g6CiAgICAgICAg
Z251X2hhc2ggPSAiLS1oYXNoLXN0eWxlPWJvdGgiIGluIGQuZ2V0VmFyKCdMREZMQUdTJykKICAg
IGlmIG5vdCBnbnVfaGFzaDoKICAgICAgICByZXR1cm4KCiAgICBzYW5lID0gRmFsc2UKICAgIGhh
c19zeW1zID0gRmFsc2UKCiAgICBwaGRycyA9IGVsZi5ydW5fb2JqZHVtcCgiLXAiLCBkKQoKICAg
ICMgSWYgdGhpcyBiaW5hcnkgaGFzIHN5bWJvbHMsIHdlIGV4cGVjdCBpdCB0byBoYXZlIEdOVV9I
QVNIIHRvby4KICAgIGZvciBsaW5lIGluIHBoZHJzLnNwbGl0KCJcbiIpOgogICAgICAgIGlmICJT
WU1UQUIiIGluIGxpbmU6CiAgICAgICAgICAgIGhhc19zeW1zID0gVHJ1ZQogICAgICAgIGlmICJH
TlVfSEFTSCIgaW4gbGluZToKICAgICAgICAgICAgc2FuZSA9IFRydWUKICAgICAgICBpZiAiW21p
cHMzMl0iIGluIGxpbmUgb3IgIlttaXBzNjRdIiBpbiBsaW5lOgogICAgICAgICAgICBzYW5lID0g
VHJ1ZQoKICAgIGlmIGhhc19zeW1zIGFuZCBub3Qgc2FuZToKICAgICAgICBwYWNrYWdlX3FhX2Fk
ZF9tZXNzYWdlKG1lc3NhZ2VzLCAibGRmbGFncyIsICJObyBHTlVfSEFTSCBpbiB0aGUgZWxmIGJp
bmFyeTogJyVzJyIgJSBwYXRoKQoKfQoKCnB5dGhvbiBwYWNrYWdlX3FhX3BhY2thZ2UgKCkgewpk
ZWYgcGFja2FnZV9xYV9wYWNrYWdlKHdhcm5mdW5jcywgZXJyb3JmdW5jcywgc2tpcCwgcGFja2Fn
ZSwgZCk6CiAgICB3YXJuaW5ncyA9IHt9CiAgICBlcnJvcnMgPSB7fQoKICAgIGZvciBmdW5jIGlu
IHdhcm5mdW5jczoKICAgICAgICBmdW5jKHBhY2thZ2UsIGQsIHdhcm5pbmdzKQogICAgZm9yIGZ1
bmMgaW4gZXJyb3JmdW5jczoKICAgICAgICBmdW5jKHBhY2thZ2UsIGQsIGVycm9ycykKCiAgICBm
b3IgdyBpbiB3YXJuaW5nczoKICAgICAgICBwYWNrYWdlX3FhX2hhbmRsZV9lcnJvcih3LCB3YXJu
aW5nc1t3XSwgZCkKICAgIGZvciBlIGluIGVycm9yczoKICAgICAgICBwYWNrYWdlX3FhX2hhbmRs
ZV9lcnJvcihlLCBlcnJvcnNbZV0sIGQpCgogICAgcmV0dXJuIGxlbihlcnJvcnMpID09IDAKfQoK
CnB5dGhvbiBwYWNrYWdlX3FhX3RleHRyZWwgKCkgewpkZWYgcGFja2FnZV9xYV90ZXh0cmVsKHBh
dGgsIG5hbWUsIGQsIGVsZiwgbWVzc2FnZXMpOgogICAgIiIiCiAgICBDaGVjayBpZiB0aGUgYmlu
YXJ5IGNvbnRhaW5zIHJlbG9jYXRpb25zIGluIC50ZXh0CiAgICAiIiIKCiAgICBpZiBub3QgZWxm
OgogICAgICAgIHJldHVybgoKICAgIGlmIG9zLnBhdGguaXNsaW5rKHBhdGgpOgogICAgICAgIHJl
dHVybgoKICAgIHBoZHJzID0gZWxmLnJ1bl9vYmpkdW1wKCItcCIsIGQpCiAgICBzYW5lID0gVHJ1
ZQoKICAgIGltcG9ydCByZQogICAgdGV4dHJlbF9yZSA9IHJlLmNvbXBpbGUoIlxzK1RFWFRSRUxc
cysiKQogICAgZm9yIGxpbmUgaW4gcGhkcnMuc3BsaXQoIlxuIik6CiAgICAgICAgaWYgdGV4dHJl
bF9yZS5tYXRjaChsaW5lKToKICAgICAgICAgICAgc2FuZSA9IEZhbHNlCgogICAgaWYgbm90IHNh
bmU6CiAgICAgICAgcGFja2FnZV9xYV9hZGRfbWVzc2FnZShtZXNzYWdlcywgInRleHRyZWwiLCAi
RUxGIGJpbmFyeSAnJXMnIGhhcyByZWxvY2F0aW9ucyBpbiAudGV4dCIgJSBwYXRoKQp9CgoKcHl0
aG9uIHBhY2thZ2VfcWFfd2FsayAoKSB7CmRlZiBwYWNrYWdlX3FhX3dhbGsod2FybmZ1bmNzLCBl
cnJvcmZ1bmNzLCBza2lwLCBwYWNrYWdlLCBkKToKICAgIGltcG9ydCBvZS5xYQoKICAgICNpZiB0
aGlzIHdpbGwgdGhyb3cgYW4gZXhjZXB0aW9uLCB0aGVuIGZpeCB0aGUgZGljdCBhYm92ZQogICAg
dGFyZ2V0X29zICAgPSBkLmdldFZhcignVEFSR0VUX09TJykKICAgIHRhcmdldF9hcmNoID0gZC5n
ZXRWYXIoJ1RBUkdFVF9BUkNIJykKCiAgICB3YXJuaW5ncyA9IHt9CiAgICBlcnJvcnMgPSB7fQog
ICAgZm9yIHBhdGggaW4gcGtnZmlsZXNbcGFja2FnZV06CiAgICAgICAgICAgIGVsZiA9IG9lLnFh
LkVMRkZpbGUocGF0aCkKICAgICAgICAgICAgdHJ5OgogICAgICAgICAgICAgICAgZWxmLm9wZW4o
KQogICAgICAgICAgICBleGNlcHQgKElPRXJyb3IsIG9lLnFhLk5vdEVMRkZpbGVFcnJvcik6CiAg
ICAgICAgICAgICAgICAjIElPRXJyb3IgY2FuIGhhcHBlbiBpZiB0aGUgcGFja2FnaW5nIGNvbnRy
b2wgZmlsZXMgZGlzYXBwZWFyLAogICAgICAgICAgICAgICAgZWxmID0gTm9uZQogICAgICAgICAg
ICBmb3IgZnVuYyBpbiB3YXJuZnVuY3M6CiAgICAgICAgICAgICAgICBmdW5jKHBhdGgsIHBhY2th
Z2UsIGQsIGVsZiwgd2FybmluZ3MpCiAgICAgICAgICAgIGZvciBmdW5jIGluIGVycm9yZnVuY3M6
CiAgICAgICAgICAgICAgICBmdW5jKHBhdGgsIHBhY2thZ2UsIGQsIGVsZiwgZXJyb3JzKQoKICAg
IGZvciB3IGluIHdhcm5pbmdzOgogICAgICAgIHBhY2thZ2VfcWFfaGFuZGxlX2Vycm9yKHcsIHdh
cm5pbmdzW3ddLCBkKQogICAgZm9yIGUgaW4gZXJyb3JzOgogICAgICAgIHBhY2thZ2VfcWFfaGFu
ZGxlX2Vycm9yKGUsIGVycm9yc1tlXSwgZCkKfQoKCnB5dGhvbiBwYWNrYWdlX3FhX3dyaXRlX2Vy
cm9yICgpIHsKZGVmIHBhY2thZ2VfcWFfd3JpdGVfZXJyb3IodHlwZSwgZXJyb3IsIGQpOgogICAg
bG9nZmlsZSA9IGQuZ2V0VmFyKCdRQV9MT0dGSUxFJykKICAgIGlmIGxvZ2ZpbGU6CiAgICAgICAg
cCA9IGQuZ2V0VmFyKCdQJykKICAgICAgICB3aXRoIG9wZW4obG9nZmlsZSwgImErIikgYXMgZjoK
ICAgICAgICAgICAgZi53cml0ZSgiJXM6ICVzIFslc11cbiIgJSAocCwgZXJyb3IsIHR5cGUpKQp9
CgoKcHl0aG9uIHBhdGNoX2RvX3BhdGNoICgpIHsKICAgIGltcG9ydCBvZS5wYXRjaAoKICAgIHBh
dGNoc2V0bWFwID0gewogICAgICAgICJwYXRjaCI6IG9lLnBhdGNoLlBhdGNoVHJlZSwKICAgICAg
ICAicXVpbHQiOiBvZS5wYXRjaC5RdWlsdFRyZWUsCiAgICAgICAgImdpdCI6IG9lLnBhdGNoLkdp
dEFwcGx5VHJlZSwKICAgIH0KCiAgICBjbHMgPSBwYXRjaHNldG1hcFtkLmdldFZhcignUEFUQ0hU
T09MJykgb3IgJ3F1aWx0J10KCiAgICByZXNvbHZlcm1hcCA9IHsKICAgICAgICAibm9vcCI6IG9l
LnBhdGNoLk5PT1BSZXNvbHZlciwKICAgICAgICAidXNlciI6IG9lLnBhdGNoLlVzZXJSZXNvbHZl
ciwKICAgIH0KCiAgICByY2xzID0gcmVzb2x2ZXJtYXBbZC5nZXRWYXIoJ1BBVENIUkVTT0xWRScp
IG9yICd1c2VyJ10KCiAgICBjbGFzc2VzID0ge30KCiAgICBzID0gZC5nZXRWYXIoJ1MnKQoKICAg
IG9zLnB1dGVudignUEFUSCcsIGQuZ2V0VmFyKCdQQVRIJykpCgogICAgIyBXZSBtdXN0IHVzZSBv
bmUgVE1QRElSIHBlciBwcm9jZXNzIHNvIHRoYXQgdGhlICJwYXRjaCIgcHJvY2Vzc2VzCiAgICAj
IGRvbid0IGdlbmVyYXRlIHRoZSBzYW1lIHRlbXAgZmlsZSBuYW1lLgoKICAgIGltcG9ydCB0ZW1w
ZmlsZQogICAgcHJvY2Vzc190bXBkaXIgPSB0ZW1wZmlsZS5ta2R0ZW1wKCkKICAgIG9zLmVudmly
b25bJ1RNUERJUiddID0gcHJvY2Vzc190bXBkaXIKCiAgICBmb3IgcGF0Y2ggaW4gc3JjX3BhdGNo
ZXMoZCk6CiAgICAgICAgXywgXywgbG9jYWwsIF8sIF8sIHBhcm0gPSBiYi5mZXRjaC5kZWNvZGV1
cmwocGF0Y2gpCgogICAgICAgIGlmICJwYXRjaGRpciIgaW4gcGFybToKICAgICAgICAgICAgcGF0
Y2hkaXIgPSBwYXJtWyJwYXRjaGRpciJdCiAgICAgICAgICAgIGlmIG5vdCBvcy5wYXRoLmlzYWJz
KHBhdGNoZGlyKToKICAgICAgICAgICAgICAgIHBhdGNoZGlyID0gb3MucGF0aC5qb2luKHMsIHBh
dGNoZGlyKQogICAgICAgIGVsc2U6CiAgICAgICAgICAgIHBhdGNoZGlyID0gcwoKICAgICAgICBp
ZiBub3QgcGF0Y2hkaXIgaW4gY2xhc3NlczoKICAgICAgICAgICAgcGF0Y2hzZXQgPSBjbHMocGF0
Y2hkaXIsIGQpCiAgICAgICAgICAgIHJlc29sdmVyID0gcmNscyhwYXRjaHNldCwgb2VfdGVybWlu
YWwpCiAgICAgICAgICAgIGNsYXNzZXNbcGF0Y2hkaXJdID0gKHBhdGNoc2V0LCByZXNvbHZlcikK
ICAgICAgICAgICAgcGF0Y2hzZXQuQ2xlYW4oKQogICAgICAgIGVsc2U6CiAgICAgICAgICAgIHBh
dGNoc2V0LCByZXNvbHZlciA9IGNsYXNzZXNbcGF0Y2hkaXJdCgogICAgICAgIGJiLm5vdGUoIkFw
cGx5aW5nIHBhdGNoICclcycgKCVzKSIgJSAocGFybVsncGF0Y2huYW1lJ10sIG9lLnBhdGguZm9y
bWF0X2Rpc3BsYXkobG9jYWwsIGQpKSkKICAgICAgICB0cnk6CiAgICAgICAgICAgIHBhdGNoc2V0
LkltcG9ydCh7ImZpbGUiOmxvY2FsLCAic3RyaXBwYXRoIjogcGFybVsnc3RyaXBsZXZlbCddfSwg
VHJ1ZSkKICAgICAgICBleGNlcHQgRXhjZXB0aW9uIGFzIGV4YzoKICAgICAgICAgICAgYmIudXRp
bHMucmVtb3ZlKHByb2Nlc3NfdG1wZGlyLCBUcnVlKQogICAgICAgICAgICBiYi5mYXRhbChzdHIo
ZXhjKSkKICAgICAgICB0cnk6CiAgICAgICAgICAgIHJlc29sdmVyLlJlc29sdmUoKQogICAgICAg
IGV4Y2VwdCBiYi5CQkhhbmRsZWRFeGNlcHRpb24gYXMgZToKICAgICAgICAgICAgYmIudXRpbHMu
cmVtb3ZlKHByb2Nlc3NfdG1wZGlyLCBUcnVlKQogICAgICAgICAgICBiYi5mYXRhbChzdHIoZSkp
CgogICAgYmIudXRpbHMucmVtb3ZlKHByb2Nlc3NfdG1wZGlyLCBUcnVlKQogICAgZGVsIG9zLmVu
dmlyb25bJ1RNUERJUiddCn0KCgpweXRob24gcGF0Y2hfdGFza19wYXRjaF9wcmVmdW5jICgpIHsK
ICAgICMgUHJlZnVuYyBmb3IgZG9fcGF0Y2gKICAgIGZ1bmMgPSBkLmdldFZhcignQkJfUlVOVEFT
SycpCiAgICBzcmNzdWJkaXIgPSBkLmdldFZhcignUycpCgogICAgcGF0Y2hkaXIgPSBvcy5wYXRo
LmpvaW4oc3Jjc3ViZGlyLCAncGF0Y2hlcycpCiAgICBpZiBvcy5wYXRoLmV4aXN0cyhwYXRjaGRp
cik6CiAgICAgICAgaWYgb3MubGlzdGRpcihwYXRjaGRpcik6CiAgICAgICAgICAgIGQuc2V0VmFy
KCdQQVRDSF9IQVNfUEFUQ0hFU19ESVInLCAnMScpCiAgICAgICAgZWxzZToKICAgICAgICAgICAg
b3Mucm1kaXIocGF0Y2hkaXIpCn0KCgpweXRob24gcGF0Y2hfdGFza19wb3N0ZnVuYyAoKSB7CiAg
ICAjIFByZWZ1bmMgZm9yIHRhc2sgZnVuY3Rpb25zIGJldHdlZW4gZG9fdW5wYWNrIGFuZCBkb19w
YXRjaAogICAgaW1wb3J0IG9lLnBhdGNoCiAgICBpbXBvcnQgc2h1dGlsCiAgICBmdW5jID0gZC5n
ZXRWYXIoJ0JCX1JVTlRBU0snKQogICAgc3Jjc3ViZGlyID0gZC5nZXRWYXIoJ1MnKQoKICAgIGlm
IG9zLnBhdGguZXhpc3RzKHNyY3N1YmRpcik6CiAgICAgICAgaWYgZnVuYyA9PSAnZG9fcGF0Y2gn
OgogICAgICAgICAgICBoYXNwYXRjaGVzID0gKGQuZ2V0VmFyKCdQQVRDSF9IQVNfUEFUQ0hFU19E
SVInKSA9PSAnMScpCiAgICAgICAgICAgIHBhdGNoZGlyID0gb3MucGF0aC5qb2luKHNyY3N1YmRp
ciwgJ3BhdGNoZXMnKQogICAgICAgICAgICBpZiBvcy5wYXRoLmV4aXN0cyhwYXRjaGRpcik6CiAg
ICAgICAgICAgICAgICBzaHV0aWwucm10cmVlKHBhdGNoZGlyKQogICAgICAgICAgICAgICAgaWYg
aGFzcGF0Y2hlczoKICAgICAgICAgICAgICAgICAgICBzdGRvdXQsIF8gPSBiYi5wcm9jZXNzLnJ1
bignZ2l0IHN0YXR1cyAtLXBvcmNlbGFpbiBwYXRjaGVzJywgY3dkPXNyY3N1YmRpcikKICAgICAg
ICAgICAgICAgICAgICBpZiBzdGRvdXQ6CiAgICAgICAgICAgICAgICAgICAgICAgIGJiLnByb2Nl
c3MucnVuKCdnaXQgY2hlY2tvdXQgcGF0Y2hlcycsIGN3ZD1zcmNzdWJkaXIpCiAgICAgICAgc3Rk
b3V0LCBfID0gYmIucHJvY2Vzcy5ydW4oJ2dpdCBzdGF0dXMgLS1wb3JjZWxhaW4gLicsIGN3ZD1z
cmNzdWJkaXIpCiAgICAgICAgaWYgc3Rkb3V0OgogICAgICAgICAgICB1c2Vyb3B0aW9ucyA9IFtd
CiAgICAgICAgICAgIG9lLnBhdGNoLkdpdEFwcGx5VHJlZS5naXRDb21tYW5kVXNlck9wdGlvbnMo
dXNlcm9wdGlvbnMsIGQ9ZCkKICAgICAgICAgICAgYmIucHJvY2Vzcy5ydW4oJ2dpdCBhZGQgLjsg
Z2l0ICVzIGNvbW1pdCAtYSAtbSAiQ29tbWl0dGluZyBjaGFuZ2VzIGZyb20gJXNcblxuJXMiJyAl
ICgnICcuam9pbih1c2Vyb3B0aW9ucyksIGZ1bmMsIG9lLnBhdGNoLkdpdEFwcGx5VHJlZS5pZ25v
cmVfY29tbWl0X3ByZWZpeCArICcgLSBmcm9tICVzJyAlIGZ1bmMpLCBjd2Q9c3Jjc3ViZGlyKQp9
CgoKcHl0aG9uIHBlcmZvcm1fcGFja2FnZWNvcHkgKCkgewogICAgZW5hYmxlZCA9IG9lLmRhdGEu
dHlwZWRfdmFsdWUoJ0xJQ0VOU0VfQ1JFQVRFX1BBQ0tBR0UnLCBkKQogICAgaWYgZC5nZXRWYXIo
J0NMQVNTT1ZFUlJJREUnKSA9PSAnY2xhc3MtdGFyZ2V0JyBhbmQgZW5hYmxlZDoKICAgICAgICBs
aWNfZmlsZXNfcGF0aHMgPSBmaW5kX2xpY2Vuc2VfZmlsZXMoZCkKCiAgICAgICAgIyBMSUNFTlNF
X0ZJTEVTX0RJUkVDVE9SWSBzdGFydHMgd2l0aCAnLycgc28gb3MucGF0aC5qb2luIGNhbm5vdCBi
ZSB1c2VkIHRvIGpvaW4gRCBhbmQgTElDRU5TRV9GSUxFU19ESVJFQ1RPUlkKICAgICAgICBkZXN0
ZGlyID0gZC5nZXRWYXIoJ0QnKSArIG9zLnBhdGguam9pbihkLmdldFZhcignTElDRU5TRV9GSUxF
U19ESVJFQ1RPUlknKSwgZC5nZXRWYXIoJ1BOJykpCiAgICAgICAgY29weV9saWNlbnNlX2ZpbGVz
KGxpY19maWxlc19wYXRocywgZGVzdGRpcikKICAgICAgICBhZGRfcGFja2FnZV9hbmRfZmlsZXMo
ZCkKICAgIGRlc3QgPSBkLmdldFZhcignRCcpCiAgICBkdmFyID0gZC5nZXRWYXIoJ1BLR0QnKQoK
ICAgICMgU3RhcnQgYnkgcGFja2FnZSBwb3B1bGF0aW9uIGJ5IHRha2luZyBhIGNvcHkgb2YgdGhl
IGluc3RhbGxlZAogICAgIyBmaWxlcyB0byBvcGVyYXRlIG9uCiAgICAjIFByZXNlcnZlIHNwYXJz
ZSBmaWxlcyBhbmQgaGFyZCBsaW5rcwogICAgY21kID0gJ3RhciAtY2YgLSAtQyAlcyAtcCAuIHwg
dGFyIC14ZiAtIC1DICVzJyAlIChkZXN0LCBkdmFyKQogICAgKHJldHZhbCwgb3V0cHV0KSA9IG9l
LnV0aWxzLmdldHN0YXR1c291dHB1dChjbWQpCiAgICBpZiByZXR2YWw6CiAgICAgICAgYmIuZmF0
YWwoImZpbGUgY29weSBmYWlsZWQgd2l0aCBleGl0IGNvZGUgJXMgKGNtZCB3YXMgJXMpJXMiICUg
KHJldHZhbCwgY21kLCAiOlxuJXMiICUgb3V0cHV0IGlmIG91dHB1dCBlbHNlICIiKSkKCiAgICAj
IHJlcGxhY2UgUlBBVEhzIGZvciB0aGUgbmF0aXZlc2RrIGJpbmFyaWVzLCB0byBtYWtlIHRoZW0g
cmVsb2NhdGFibGUKICAgIGlmIGJiLmRhdGEuaW5oZXJpdHNfY2xhc3MoJ25hdGl2ZXNkaycsIGQp
IG9yIGJiLmRhdGEuaW5oZXJpdHNfY2xhc3MoJ2Nyb3NzLWNhbmFkaWFuJywgZCk6CiAgICAgICAg
cnBhdGhfcmVwbGFjZSAoZHZhciwgZCkKfQoKCnB5dGhvbiBwZXJmb3JtX3BhY2thZ2Vjb3B5X3By
ZXBlbmQgKCkgewpOb25lfQoKCnB5dGhvbiBwa2dhcmNoX21hcHBpbmcgKCkgewpkZWYgcGtnYXJj
aF9tYXBwaW5nKGQpOgogICAgIyBDb21wYXRpYmlsaXR5IG1hcHBpbmdzIG9mIFRVTkVfUEtHQVJD
SCAob3B0IGluKQogICAgaWYgZC5nZXRWYXIoIlBLR0FSQ0hDT01QQVRfQVJNVjdBIik6CiAgICAg
ICAgaWYgZC5nZXRWYXIoIlRVTkVfUEtHQVJDSCIpID09ICJhcm12N2EtdmZwLW5lb24iOgogICAg
ICAgICAgICBkLnNldFZhcigiVFVORV9QS0dBUkNIIiwgImFybXY3YSIpCn0KCgpweXRob24gcG9r
eV91cGRhdGVfYmJsYXllcnNjb25mICgpIHsKICAgIGN1cnJlbnRfdmVyc2lvbiA9IGludChkLmdl
dFZhcignUE9LWV9CQkxBWUVSU19DT05GX1ZFUlNJT04nLCBUcnVlKSBvciAtMSkKICAgIGxhdGVz
dF92ZXJzaW9uID0gaW50KGQuZ2V0VmFyKCdSRVFVSVJFRF9QT0tZX0JCTEFZRVJTX0NPTkZfVkVS
U0lPTicsIFRydWUpIG9yIC0xKQogICAgaWYgY3VycmVudF92ZXJzaW9uID09IC0xIG9yIGxhdGVz
dF92ZXJzaW9uID09IC0xOgogICAgICAgICMgb25lIG9yIHRoZSBvdGhlciBtaXNzaW5nID0+IG1h
bGZvcm1lZCBjb25maWd1cmF0aW9uCiAgICAgICAgcmFpc2UgTm90SW1wbGVtZW50ZWRFcnJvcigi
WW91IG5lZWQgdG8gdXBkYXRlIGJibGF5ZXJzLmNvbmYgbWFudWFsbHkgZm9yIHRoaXMgdmVyc2lv
biB0cmFuc2l0aW9uIikKCiAgICBzdWNjZXNzID0gVHJ1ZQoKICAgICMgY2hlY2sgZm9yIG91dCBv
ZiBkYXRlIHRlbXBsYXRlY29uZi5jZmcgZmlsZQogICAgbGluZXMgPSBbXQogICAgZm4gPSBvcy5w
YXRoLmpvaW4oZC5nZXRWYXIoJ1RPUERJUicsIFRydWUpLCAnY29uZi90ZW1wbGF0ZWNvbmYuY2Zn
JykKCiAgICBsaW5lcyA9IHNhbml0eV9jb25mX3JlYWQoZm4pCiAgICBpbmRleCwgbWV0YV95b2N0
b19saW5lID0gc2FuaXR5X2NvbmZfZmluZF9saW5lKHInXm1ldGEteW9jdG8vJywgbGluZXMpCiAg
ICBpZiBtZXRhX3lvY3RvX2xpbmU6CiAgICAgICAgbGluZXNbaW5kZXhdID0gbWV0YV95b2N0b19s
aW5lLnJlcGxhY2UoJ21ldGEteW9jdG8nLCAnbWV0YS1wb2t5JykKICAgICAgICB3aXRoIG9wZW4o
Zm4sICJ3IikgYXMgZjoKICAgICAgICAgICAgZi53cml0ZSgnJy5qb2luKGxpbmVzKSkKICAgICAg
ICBiYi5ub3RlKCJZb3VyIGNvbmYvdGVtcGxhdGVjb25mLmNmZyBmaWxlIHdhcyB1cGRhdGVkIGZy
b20gbWV0YS15b2N0byB0byBtZXRhLXBva3kiKQoKICAgICMgYWRkIGFueSBhZGRpdGlvbmFsIGxh
eWVyIGNoZWNrcy9jaGFuZ2VzIGhlcmUKCiAgICBpZiBzdWNjZXNzOgogICAgICAgIGN1cnJlbnRf
dmVyc2lvbiA9IGxhdGVzdF92ZXJzaW9uCiAgICAgICAgYmJsYXllcnNfZm4gPSBiYmxheWVyc19j
b25mX2ZpbGUoZCkKICAgICAgICBsaW5lcyA9IHNhbml0eV9jb25mX3JlYWQoYmJsYXllcnNfZm4p
CiAgICAgICAgIyBzYW5pdHlfY29uZl91cGRhdGUoKSB3aWxsIGVycm9uZW91c2x5IGZpbmQgYSBt
YXRjaCB3aGVuIHRoZSB2YXIgbmFtZQogICAgICAgICMgaXMgdXNlZCBpbiBhIGNvbW1lbnQsIHNv
IGRvIG91ciBvd24gaGVyZS4gVGhlIGNvZGUgYmVsb3cgY2FuIGJlCiAgICAgICAgIyByZW1vdmVk
IHdoZW4gc2FuaXR5X2NvbmZfdXBkYXRlKCkgaXMgZml4ZWQgaW4gT0UtQ29yZS4KICAgICAgICAj
c2FuaXR5X2NvbmZfdXBkYXRlKGJibGF5ZXJzX2ZuLCBsaW5lcywgJ1BPS1lfQkJMQVlFUlNfQ09O
Rl9WRVJTSU9OJywgY3VycmVudF92ZXJzaW9uKQogICAgICAgIGluZGV4LCBsaW5lID0gc2FuaXR5
X2NvbmZfZmluZF9saW5lKHInXlBPS1lfQkJMQVlFUlNfQ09ORl9WRVJTSU9OJywgbGluZXMpCiAg
ICAgICAgbGluZXNbaW5kZXhdID0gJ1BPS1lfQkJMQVlFUlNfQ09ORl9WRVJTSU9OID0gIiVkIlxu
JyAlIGN1cnJlbnRfdmVyc2lvbgogICAgICAgIHdpdGggb3BlbihiYmxheWVyc19mbiwgInciKSBh
cyBmOgogICAgICAgICAgICBmLndyaXRlKCcnLmpvaW4obGluZXMpKQogICAgICAgIGJiLm5vdGUo
IllvdXIgY29uZi9iYmxheWVycy5jb25mIGhhcyBiZWVuIGF1dG9tYXRpY2FsbHkgdXBkYXRlZC4i
KQogICAgaWYgc3VjY2VzczoKICAgICAgICByZXR1cm4KCiAgICByYWlzZSBOb3RJbXBsZW1lbnRl
ZEVycm9yKCJZb3UgbmVlZCB0byB1cGRhdGUgYmJsYXllcnMuY29uZiBtYW51YWxseSBmb3IgdGhp
cyB2ZXJzaW9uIHRyYW5zaXRpb24iKQp9CgoKcHl0aG9uIHBvcHVsYXRlX2xpY19xYV9jaGVja3N1
bSAoKSB7CiAgICAiIiIKICAgIENoZWNrIGZvciBjaGFuZ2VzIGluIHRoZSBsaWNlbnNlIGZpbGVz
LgogICAgIiIiCiAgICBpbXBvcnQgdGVtcGZpbGUKICAgIHNhbmUgPSBUcnVlCgogICAgbGljX2Zp
bGVzID0gZC5nZXRWYXIoJ0xJQ19GSUxFU19DSEtTVU0nKSBvciAnJwogICAgbGljID0gZC5nZXRW
YXIoJ0xJQ0VOU0UnKQogICAgcG4gPSBkLmdldFZhcignUE4nKQoKICAgIGlmIGxpYyA9PSAiQ0xP
U0VEIjoKICAgICAgICByZXR1cm4KCiAgICBpZiBub3QgbGljX2ZpbGVzIGFuZCBkLmdldFZhcign
U1JDX1VSSScpOgogICAgICAgIHNhbmUgPSBwYWNrYWdlX3FhX2hhbmRsZV9lcnJvcigibGljZW5z
ZS1jaGVja3N1bSIsIHBuICsgIjogUmVjaXBlIGZpbGUgZmV0Y2hlcyBmaWxlcyBhbmQgZG9lcyBu
b3QgaGF2ZSBsaWNlbnNlIGZpbGUgaW5mb3JtYXRpb24gKExJQ19GSUxFU19DSEtTVU0pIiwgZCkK
CiAgICBzcmNkaXIgPSBkLmdldFZhcignUycpCgogICAgZm9yIHVybCBpbiBsaWNfZmlsZXMuc3Bs
aXQoKToKICAgICAgICB0cnk6CiAgICAgICAgICAgICh0eXBlLCBob3N0LCBwYXRoLCB1c2VyLCBw
c3dkLCBwYXJtKSA9IGJiLmZldGNoLmRlY29kZXVybCh1cmwpCiAgICAgICAgZXhjZXB0IGJiLmZl
dGNoLk1hbGZvcm1lZFVybDoKICAgICAgICAgICAgc2FuZSA9IHBhY2thZ2VfcWFfaGFuZGxlX2Vy
cm9yKCJsaWNlbnNlLWNoZWNrc3VtIiwgcG4gKyAiOiBMSUNfRklMRVNfQ0hLU1VNIGNvbnRhaW5z
IGFuIGludmFsaWQgVVJMOiAiICsgdXJsLCBkKQogICAgICAgICAgICBjb250aW51ZQogICAgICAg
IHNyY2xpY2ZpbGUgPSBvcy5wYXRoLmpvaW4oc3JjZGlyLCBwYXRoKQogICAgICAgIGlmIG5vdCBv
cy5wYXRoLmlzZmlsZShzcmNsaWNmaWxlKToKICAgICAgICAgICAgcGFja2FnZV9xYV9oYW5kbGVf
ZXJyb3IoImxpY2Vuc2UtY2hlY2tzdW0iLCBwbiArICI6IExJQ19GSUxFU19DSEtTVU0gcG9pbnRz
IHRvIGFuIGludmFsaWQgZmlsZTogIiArIHNyY2xpY2ZpbGUsIGQpCiAgICAgICAgICAgIGNvbnRp
bnVlCgogICAgICAgIHJlY2lwZW1kNSA9IHBhcm0uZ2V0KCdtZDUnLCAnJykKICAgICAgICBiZWdp
bmxpbmUsIGVuZGxpbmUgPSAwLCAwCiAgICAgICAgaWYgJ2JlZ2lubGluZScgaW4gcGFybToKICAg
ICAgICAgICAgYmVnaW5saW5lID0gaW50KHBhcm1bJ2JlZ2lubGluZSddKQogICAgICAgIGlmICdl
bmRsaW5lJyBpbiBwYXJtOgogICAgICAgICAgICBlbmRsaW5lID0gaW50KHBhcm1bJ2VuZGxpbmUn
XSkKCiAgICAgICAgaWYgKG5vdCBiZWdpbmxpbmUpIGFuZCAobm90IGVuZGxpbmUpOgogICAgICAg
ICAgICBtZDVjaGtzdW0gPSBiYi51dGlscy5tZDVfZmlsZShzcmNsaWNmaWxlKQogICAgICAgICAg
ICB3aXRoIG9wZW4oc3JjbGljZmlsZSwgJ3JiJykgYXMgZjoKICAgICAgICAgICAgICAgIGxpY2Vu
c2UgPSBmLnJlYWQoKQogICAgICAgIGVsc2U6CiAgICAgICAgICAgIGZpID0gb3BlbihzcmNsaWNm
aWxlLCAncmInKQogICAgICAgICAgICBmbyA9IHRlbXBmaWxlLk5hbWVkVGVtcG9yYXJ5RmlsZSht
b2RlPSd3YicsIHByZWZpeD0ncG9reS4nLCBzdWZmaXg9Jy50bXAnLCBkZWxldGU9RmFsc2UpCiAg
ICAgICAgICAgIHRtcGxpY2ZpbGUgPSBmby5uYW1lOwogICAgICAgICAgICBsaW5lbm8gPSAwCiAg
ICAgICAgICAgIGxpbmVzb3V0ID0gMAogICAgICAgICAgICBsaWNlbnNlID0gW10KICAgICAgICAg
ICAgZm9yIGxpbmUgaW4gZmk6CiAgICAgICAgICAgICAgICBsaW5lbm8gKz0gMQogICAgICAgICAg
ICAgICAgaWYgKGxpbmVubyA+PSBiZWdpbmxpbmUpOgogICAgICAgICAgICAgICAgICAgIGlmICgo
bGluZW5vIDw9IGVuZGxpbmUpIG9yIG5vdCBlbmRsaW5lKToKICAgICAgICAgICAgICAgICAgICAg
ICAgZm8ud3JpdGUobGluZSkKICAgICAgICAgICAgICAgICAgICAgICAgbGljZW5zZS5hcHBlbmQo
bGluZSkKICAgICAgICAgICAgICAgICAgICAgICAgbGluZXNvdXQgKz0gMQogICAgICAgICAgICAg
ICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrCiAgICAgICAgICAgIGZv
LmZsdXNoKCkKICAgICAgICAgICAgZm8uY2xvc2UoKQogICAgICAgICAgICBmaS5jbG9zZSgpCiAg
ICAgICAgICAgIG1kNWNoa3N1bSA9IGJiLnV0aWxzLm1kNV9maWxlKHRtcGxpY2ZpbGUpCiAgICAg
ICAgICAgIGxpY2Vuc2UgPSBiJycuam9pbihsaWNlbnNlKQogICAgICAgICAgICBvcy51bmxpbmso
dG1wbGljZmlsZSkKCiAgICAgICAgaWYgcmVjaXBlbWQ1ID09IG1kNWNoa3N1bToKICAgICAgICAg
ICAgYmIubm90ZSAocG4gKyAiOiBtZDUgY2hlY2tzdW0gbWF0Y2hlZCBmb3IgIiwgdXJsKQogICAg
ICAgIGVsc2U6CiAgICAgICAgICAgIGlmIHJlY2lwZW1kNToKICAgICAgICAgICAgICAgIG1zZyA9
IHBuICsgIjogVGhlIExJQ19GSUxFU19DSEtTVU0gZG9lcyBub3QgbWF0Y2ggZm9yICIgKyB1cmwK
ICAgICAgICAgICAgICAgIG1zZyA9IG1zZyArICJcbiIgKyBwbiArICI6IFRoZSBuZXcgbWQ1IGNo
ZWNrc3VtIGlzICIgKyBtZDVjaGtzdW0KICAgICAgICAgICAgICAgIHRyeToKICAgICAgICAgICAg
ICAgICAgICBsaWNlbnNlX2xpbmVzID0gbGljZW5zZS5kZWNvZGUoJ3V0Zi04Jykuc3BsaXQoJ1xu
JykKICAgICAgICAgICAgICAgIGV4Y2VwdDoKICAgICAgICAgICAgICAgICAgICAjIExpY2Vuc2Ug
dGV4dCBtaWdodCBub3QgYmUgdmFsaWQgVVRGLTgsIGluIHdoaWNoCiAgICAgICAgICAgICAgICAg
ICAgIyBjYXNlIHdlIGRvbid0IGtub3cgaG93IHRvIGluY2x1ZGUgaXQgaW4gb3VyIG91dHB1dAog
ICAgICAgICAgICAgICAgICAgICMgYW5kIGhhdmUgdG8gc2tpcCBpdC4KICAgICAgICAgICAgICAg
ICAgICBwYXNzCiAgICAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgICAgIG1heF9s
aW5lcyA9IGludChkLmdldFZhcignUUFfTUFYX0xJQ0VOU0VfTElORVMnKSBvciAyMCkKICAgICAg
ICAgICAgICAgICAgICBpZiBub3QgbGljZW5zZV9saW5lcyBvciBsaWNlbnNlX2xpbmVzWy0xXSAh
PSAnJzoKICAgICAgICAgICAgICAgICAgICAgICAgIyBFbnN1cmUgdGhhdCBvdXIgbGljZW5zZSB0
ZXh0IGVuZHMgd2l0aCBhIGxpbmUgYnJlYWsKICAgICAgICAgICAgICAgICAgICAgICAgIyAod2ls
bCBiZSBhZGRlZCB3aXRoIGpvaW4oKSBiZWxvdykuCiAgICAgICAgICAgICAgICAgICAgICAgIGxp
Y2Vuc2VfbGluZXMuYXBwZW5kKCcnKQogICAgICAgICAgICAgICAgICAgIHJlbW92ZSA9IGxlbihs
aWNlbnNlX2xpbmVzKSAtIG1heF9saW5lcwogICAgICAgICAgICAgICAgICAgIGlmIHJlbW92ZSA+
IDA6CiAgICAgICAgICAgICAgICAgICAgICAgIHN0YXJ0ID0gbWF4X2xpbmVzIC8vIDIKICAgICAg
ICAgICAgICAgICAgICAgICAgZW5kID0gc3RhcnQgKyByZW1vdmUgLSAxCiAgICAgICAgICAgICAg
ICAgICAgICAgIGRlbCBsaWNlbnNlX2xpbmVzW3N0YXJ0OmVuZF0KICAgICAgICAgICAgICAgICAg
ICAgICAgbGljZW5zZV9saW5lcy5pbnNlcnQoc3RhcnQsICcuLi4nKQogICAgICAgICAgICAgICAg
ICAgIG1zZyA9IG1zZyArICJcbiIgKyBwbiArICI6IEhlcmUgaXMgdGhlIHNlbGVjdGVkIGxpY2Vu
c2UgdGV4dDoiICsgXAogICAgICAgICAgICAgICAgICAgICAgICAgICJcbiIgKyBcCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgIns6dl43MH0iLmZvcm1hdCgiIGJlZ2lubGluZT0lZCAiICUgYmVn
aW5saW5lIGlmIGJlZ2lubGluZSBlbHNlICIiKSArIFwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAiXG4iICsgIlxuIi5qb2luKGxpY2Vuc2VfbGluZXMpICsgXAogICAgICAgICAgICAgICAgICAg
ICAgICAgICJ7Ol5eNzB9Ii5mb3JtYXQoIiBlbmRsaW5lPSVkICIgJSBlbmRsaW5lIGlmIGVuZGxp
bmUgZWxzZSAiIikKICAgICAgICAgICAgICAgIGlmIGJlZ2lubGluZToKICAgICAgICAgICAgICAg
ICAgICBpZiBlbmRsaW5lOgogICAgICAgICAgICAgICAgICAgICAgICBzcmNmaWxlZGVzYyA9ICIl
cyAobGluZXMgJWQgdGhyb3VnaCB0byAlZCkiICUgKHNyY2xpY2ZpbGUsIGJlZ2lubGluZSwgZW5k
bGluZSkKICAgICAgICAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgICAgICAgICBz
cmNmaWxlZGVzYyA9ICIlcyAoYmVnaW5uaW5nIG9uIGxpbmUgJWQpIiAlIChzcmNsaWNmaWxlLCBi
ZWdpbmxpbmUpCiAgICAgICAgICAgICAgICBlbGlmIGVuZGxpbmU6CiAgICAgICAgICAgICAgICAg
ICAgc3JjZmlsZWRlc2MgPSAiJXMgKGVuZGluZyBvbiBsaW5lICVkKSIgJSAoc3JjbGljZmlsZSwg
ZW5kbGluZSkKICAgICAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgICAgc3JjZmls
ZWRlc2MgPSBzcmNsaWNmaWxlCiAgICAgICAgICAgICAgICBtc2cgPSBtc2cgKyAiXG4iICsgcG4g
KyAiOiBDaGVjayBpZiB0aGUgbGljZW5zZSBpbmZvcm1hdGlvbiBoYXMgY2hhbmdlZCBpbiAlcyB0
byB2ZXJpZnkgdGhhdCB0aGUgTElDRU5TRSB2YWx1ZSBcIiVzXCIgcmVtYWlucyB2YWxpZCIgJSAo
c3JjZmlsZWRlc2MsIGxpYykKCiAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICBtc2cg
PSBwbiArICI6IExJQ19GSUxFU19DSEtTVU0gaXMgbm90IHNwZWNpZmllZCBmb3IgIiArICB1cmwK
ICAgICAgICAgICAgICAgIG1zZyA9IG1zZyArICJcbiIgKyBwbiArICI6IFRoZSBtZDUgY2hlY2tz
dW0gaXMgIiArIG1kNWNoa3N1bQogICAgICAgICAgICBzYW5lID0gcGFja2FnZV9xYV9oYW5kbGVf
ZXJyb3IoImxpY2Vuc2UtY2hlY2tzdW0iLCBtc2csIGQpCgogICAgaWYgbm90IHNhbmU6CiAgICAg
ICAgYmIuZmF0YWwoIkZhdGFsIFFBIGVycm9ycyBmb3VuZCwgZmFpbGluZyB0YXNrLiIpCn0KCgpw
eXRob24gcG9wdWxhdGVfcGFja2FnZXMgKCkgewogICAgaW1wb3J0IGdsb2IsIHJlCgogICAgd29y
a2RpciA9IGQuZ2V0VmFyKCdXT1JLRElSJykKICAgIG91dGRpciA9IGQuZ2V0VmFyKCdERVBMT1lf
RElSJykKICAgIGR2YXIgPSBkLmdldFZhcignUEtHRCcpCiAgICBwYWNrYWdlcyA9IGQuZ2V0VmFy
KCdQQUNLQUdFUycpCiAgICBwbiA9IGQuZ2V0VmFyKCdQTicpCgogICAgYmIudXRpbHMubWtkaXJo
aWVyKG91dGRpcikKICAgIG9zLmNoZGlyKGR2YXIpCgogICAgYXV0b2RlYnVnID0gbm90IChkLmdl
dFZhcigiTk9BVVRPUEFDS0FHRURFQlVHIikgb3IgRmFsc2UpCgogICAgIyBTYW5pdHkgY2hlY2sg
UEFDS0FHRVMgZm9yIGR1cGxpY2F0ZXMKICAgICMgU2FuaXR5IHNob3VsZCBiZSBtb3ZlZCB0byBz
YW5pdHkuYmJjbGFzcyBvbmNlIHdlIGhhdmUgdGhlIGluZnJhc3R1Y3R1cmUKICAgIHBhY2thZ2Vf
bGlzdCA9IFtdCgogICAgZm9yIHBrZyBpbiBwYWNrYWdlcy5zcGxpdCgpOgogICAgICAgIGlmIHBr
ZyBpbiBwYWNrYWdlX2xpc3Q6CiAgICAgICAgICAgIG1zZyA9ICIlcyBpcyBsaXN0ZWQgaW4gUEFD
S0FHRVMgbXVsdGlwbGUgdGltZXMsIHRoaXMgbGVhZHMgdG8gcGFja2FnaW5nIGVycm9ycy4iICUg
cGtnCiAgICAgICAgICAgIHBhY2thZ2VfcWFfaGFuZGxlX2Vycm9yKCJwYWNrYWdlcy1saXN0Iiwg
bXNnLCBkKQogICAgICAgIGVsaWYgYXV0b2RlYnVnIGFuZCBwa2cuZW5kc3dpdGgoIi1kYmciKToK
ICAgICAgICAgICAgcGFja2FnZV9saXN0Lmluc2VydCgwLCBwa2cpCiAgICAgICAgZWxzZToKICAg
ICAgICAgICAgcGFja2FnZV9saXN0LmFwcGVuZChwa2cpCiAgICBkLnNldFZhcignUEFDS0FHRVMn
LCAnICcuam9pbihwYWNrYWdlX2xpc3QpKQogICAgcGtnZGVzdCA9IGQuZ2V0VmFyKCdQS0dERVNU
JykKCiAgICBzZWVuID0gW10KCiAgICAjIG9zLm1rZGlyIG1hc2tzIHRoZSBwZXJtaXNzaW9ucyB3
aXRoIHVtYXNrIHNvIHdlIGhhdmUgdG8gdW5zZXQgaXQgZmlyc3QKICAgIG9sZHVtYXNrID0gb3Mu
dW1hc2soMCkKCiAgICBkZWJ1ZyA9IFtdCiAgICBmb3Igcm9vdCwgZGlycywgZmlsZXMgaW4gY3Bh
dGgud2FsayhkdmFyKToKICAgICAgICBkaXIgPSByb290W2xlbihkdmFyKTpdCiAgICAgICAgaWYg
bm90IGRpcjoKICAgICAgICAgICAgZGlyID0gb3Muc2VwCiAgICAgICAgZm9yIGYgaW4gKGZpbGVz
ICsgZGlycyk6CiAgICAgICAgICAgIHBhdGggPSAiLiIgKyBvcy5wYXRoLmpvaW4oZGlyLCBmKQog
ICAgICAgICAgICBpZiAiLy5kZWJ1Zy8iIGluIHBhdGggb3IgcGF0aC5lbmRzd2l0aCgiLy5kZWJ1
ZyIpOgogICAgICAgICAgICAgICAgZGVidWcuYXBwZW5kKHBhdGgpCgogICAgZm9yIHBrZyBpbiBw
YWNrYWdlX2xpc3Q6CiAgICAgICAgcm9vdCA9IG9zLnBhdGguam9pbihwa2dkZXN0LCBwa2cpCiAg
ICAgICAgYmIudXRpbHMubWtkaXJoaWVyKHJvb3QpCgogICAgICAgIGZpbGVzdmFyID0gZC5nZXRW
YXIoJ0ZJTEVTXyVzJyAlIHBrZykgb3IgIiIKICAgICAgICBpZiAiLy8iIGluIGZpbGVzdmFyOgog
ICAgICAgICAgICBtc2cgPSAiRklMRVMgdmFyaWFibGUgZm9yIHBhY2thZ2UgJXMgY29udGFpbnMg
Jy8vJyB3aGljaCBpcyBpbnZhbGlkLiBBdHRlbXB0aW5nIHRvIGZpeCB0aGlzIGJ1dCB5b3Ugc2hv
dWxkIGNvcnJlY3QgdGhlIG1ldGFkYXRhLlxuIiAlIHBrZwogICAgICAgICAgICBwYWNrYWdlX3Fh
X2hhbmRsZV9lcnJvcigiZmlsZXMtaW52YWxpZCIsIG1zZywgZCkKICAgICAgICAgICAgZmlsZXN2
YXIucmVwbGFjZSgiLy8iLCAiLyIpCgogICAgICAgIG9yaWdmaWxlcyA9IGZpbGVzdmFyLnNwbGl0
KCkKICAgICAgICBmaWxlcywgc3ltbGlua19wYXRocyA9IGZpbGVzX2Zyb21fZmlsZXZhcnMob3Jp
Z2ZpbGVzKQoKICAgICAgICBpZiBhdXRvZGVidWcgYW5kIHBrZy5lbmRzd2l0aCgiLWRiZyIpOgog
ICAgICAgICAgICBmaWxlcy5leHRlbmQoZGVidWcpCgogICAgICAgIGZvciBmaWxlIGluIGZpbGVz
OgogICAgICAgICAgICBpZiAobm90IGNwYXRoLmlzbGluayhmaWxlKSkgYW5kIChub3QgY3BhdGgu
ZXhpc3RzKGZpbGUpKToKICAgICAgICAgICAgICAgIGNvbnRpbnVlCiAgICAgICAgICAgIGlmIGZp
bGUgaW4gc2VlbjoKICAgICAgICAgICAgICAgIGNvbnRpbnVlCiAgICAgICAgICAgIHNlZW4uYXBw
ZW5kKGZpbGUpCgogICAgICAgICAgICBkZWYgbWtkaXIoc3JjLCBkZXN0LCBwKToKICAgICAgICAg
ICAgICAgIHNyYyA9IG9zLnBhdGguam9pbihzcmMsIHApCiAgICAgICAgICAgICAgICBkZXN0ID0g
b3MucGF0aC5qb2luKGRlc3QsIHApCiAgICAgICAgICAgICAgICBmc3RhdCA9IGNwYXRoLnN0YXQo
c3JjKQogICAgICAgICAgICAgICAgb3MubWtkaXIoZGVzdCwgZnN0YXQuc3RfbW9kZSkKICAgICAg
ICAgICAgICAgIG9zLmNob3duKGRlc3QsIGZzdGF0LnN0X3VpZCwgZnN0YXQuc3RfZ2lkKQogICAg
ICAgICAgICAgICAgaWYgcCBub3QgaW4gc2VlbjoKICAgICAgICAgICAgICAgICAgICBzZWVuLmFw
cGVuZChwKQogICAgICAgICAgICAgICAgY3BhdGgudXBkYXRlY2FjaGUoZGVzdCkKCiAgICAgICAg
ICAgIGRlZiBta2Rpcl9yZWN1cnNlKHNyYywgZGVzdCwgcGF0aHMpOgogICAgICAgICAgICAgICAg
aWYgY3BhdGguZXhpc3RzKGRlc3QgKyAnLycgKyBwYXRocyk6CiAgICAgICAgICAgICAgICAgICAg
cmV0dXJuCiAgICAgICAgICAgICAgICB3aGlsZSBwYXRocy5zdGFydHN3aXRoKCIuLyIpOgogICAg
ICAgICAgICAgICAgICAgIHBhdGhzID0gcGF0aHNbMjpdCiAgICAgICAgICAgICAgICBwID0gIi4i
CiAgICAgICAgICAgICAgICBmb3IgYyBpbiBwYXRocy5zcGxpdCgiLyIpOgogICAgICAgICAgICAg
ICAgICAgIHAgPSBvcy5wYXRoLmpvaW4ocCwgYykKICAgICAgICAgICAgICAgICAgICBpZiBub3Qg
Y3BhdGguZXhpc3RzKG9zLnBhdGguam9pbihkZXN0LCBwKSk6CiAgICAgICAgICAgICAgICAgICAg
ICAgIG1rZGlyKHNyYywgZGVzdCwgcCkKCiAgICAgICAgICAgIGlmIGNwYXRoLmlzZGlyKGZpbGUp
IGFuZCBub3QgY3BhdGguaXNsaW5rKGZpbGUpOgogICAgICAgICAgICAgICAgbWtkaXJfcmVjdXJz
ZShkdmFyLCByb290LCBmaWxlKQogICAgICAgICAgICAgICAgY29udGludWUKCiAgICAgICAgICAg
IG1rZGlyX3JlY3Vyc2UoZHZhciwgcm9vdCwgb3MucGF0aC5kaXJuYW1lKGZpbGUpKQogICAgICAg
ICAgICBmcGF0aCA9IG9zLnBhdGguam9pbihyb290LGZpbGUpCiAgICAgICAgICAgIGlmIG5vdCBj
cGF0aC5pc2xpbmsoZmlsZSk6CiAgICAgICAgICAgICAgICBvcy5saW5rKGZpbGUsIGZwYXRoKQog
ICAgICAgICAgICAgICAgY29udGludWUKICAgICAgICAgICAgcmV0ID0gYmIudXRpbHMuY29weWZp
bGUoZmlsZSwgZnBhdGgpCiAgICAgICAgICAgIGlmIHJldCBpcyBGYWxzZSBvciByZXQgPT0gMDoK
ICAgICAgICAgICAgICAgIGJiLmZhdGFsKCJGaWxlIHBvcHVsYXRpb24gZmFpbGVkIikKCiAgICAg
ICAgIyBDaGVjayBpZiBzeW1saW5rIHBhdGhzIGV4aXN0CiAgICAgICAgZm9yIGZpbGUgaW4gc3lt
bGlua19wYXRoczoKICAgICAgICAgICAgaWYgbm90IG9zLnBhdGguZXhpc3RzKG9zLnBhdGguam9p
bihyb290LGZpbGUpKToKICAgICAgICAgICAgICAgIGJiLmZhdGFsKCJGaWxlICclcycgY2Fubm90
IGJlIHBhY2thZ2VkIGludG8gJyVzJyBiZWNhdXNlIGl0cyAiCiAgICAgICAgICAgICAgICAgICAg
ICAgICAicGFyZW50IGRpcmVjdG9yeSBzdHJ1Y3R1cmUgZG9lcyBub3QgZXhpc3QuIE9uZSBvZiAi
CiAgICAgICAgICAgICAgICAgICAgICAgICAiaXRzIHBhcmVudCBkaXJlY3RvcmllcyBpcyBhIHN5
bWxpbmsgd2hvc2UgdGFyZ2V0ICIKICAgICAgICAgICAgICAgICAgICAgICAgICJkaXJlY3Rvcnkg
aXMgbm90IGluY2x1ZGVkIGluIHRoZSBwYWNrYWdlLiIgJQogICAgICAgICAgICAgICAgICAgICAg
ICAgKGZpbGUsIHBrZykpCgogICAgb3MudW1hc2sob2xkdW1hc2spCiAgICBvcy5jaGRpcih3b3Jr
ZGlyKQoKICAgICMgSGFuZGxlIExJQ0VOU0VfRVhDTFVTSU9OCiAgICBwYWNrYWdlX2xpc3QgPSBb
XQogICAgZm9yIHBrZyBpbiBwYWNrYWdlcy5zcGxpdCgpOgogICAgICAgIGlmIGQuZ2V0VmFyKCdM
SUNFTlNFX0VYQ0xVU0lPTi0nICsgcGtnKToKICAgICAgICAgICAgbXNnID0gIiVzIGhhcyBhbiBp
bmNvbXBhdGlibGUgbGljZW5zZS4gRXhjbHVkaW5nIGZyb20gcGFja2FnaW5nLiIgJSBwa2cKICAg
ICAgICAgICAgcGFja2FnZV9xYV9oYW5kbGVfZXJyb3IoImluY29tcGF0aWJsZS1saWNlbnNlIiwg
bXNnLCBkKQogICAgICAgIGVsc2U6CiAgICAgICAgICAgIHBhY2thZ2VfbGlzdC5hcHBlbmQocGtn
KQogICAgZC5zZXRWYXIoJ1BBQ0tBR0VTJywgJyAnLmpvaW4ocGFja2FnZV9saXN0KSkKCiAgICB1
bnNoaXBwZWQgPSBbXQogICAgZm9yIHJvb3QsIGRpcnMsIGZpbGVzIGluIGNwYXRoLndhbGsoZHZh
cik6CiAgICAgICAgZGlyID0gcm9vdFtsZW4oZHZhcik6XQogICAgICAgIGlmIG5vdCBkaXI6CiAg
ICAgICAgICAgIGRpciA9IG9zLnNlcAogICAgICAgIGZvciBmIGluIChmaWxlcyArIGRpcnMpOgog
ICAgICAgICAgICBwYXRoID0gb3MucGF0aC5qb2luKGRpciwgZikKICAgICAgICAgICAgaWYgKCcu
JyArIHBhdGgpIG5vdCBpbiBzZWVuOgogICAgICAgICAgICAgICAgdW5zaGlwcGVkLmFwcGVuZChw
YXRoKQoKICAgIGlmIHVuc2hpcHBlZCAhPSBbXToKICAgICAgICBtc2cgPSBwbiArICI6IEZpbGVz
L2RpcmVjdG9yaWVzIHdlcmUgaW5zdGFsbGVkIGJ1dCBub3Qgc2hpcHBlZCBpbiBhbnkgcGFja2Fn
ZToiCiAgICAgICAgaWYgImluc3RhbGxlZC12cy1zaGlwcGVkIiBpbiAoZC5nZXRWYXIoJ0lOU0FO
RV9TS0lQXycgKyBwbikgb3IgIiIpLnNwbGl0KCk6CiAgICAgICAgICAgIGJiLm5vdGUoIlBhY2th
Z2UgJXMgc2tpcHBpbmcgUUEgdGVzdHM6IGluc3RhbGxlZC12cy1zaGlwcGVkIiAlIHBuKQogICAg
ICAgIGVsc2U6CiAgICAgICAgICAgIGZvciBmIGluIHVuc2hpcHBlZDoKICAgICAgICAgICAgICAg
IG1zZyA9IG1zZyArICJcbiAgIiArIGYKICAgICAgICAgICAgbXNnID0gbXNnICsgIlxuUGxlYXNl
IHNldCBGSUxFUyBzdWNoIHRoYXQgdGhlc2UgaXRlbXMgYXJlIHBhY2thZ2VkLiBBbHRlcm5hdGl2
ZWx5IGlmIHRoZXkgYXJlIHVubmVlZGVkLCBhdm9pZCBpbnN0YWxsaW5nIHRoZW0gb3IgZGVsZXRl
IHRoZW0gd2l0aGluIGRvX2luc3RhbGwuXG4iCiAgICAgICAgICAgIG1zZyA9IG1zZyArICIlczog
JWQgaW5zdGFsbGVkIGFuZCBub3Qgc2hpcHBlZCBmaWxlcy4iICUgKHBuLCBsZW4odW5zaGlwcGVk
KSkKICAgICAgICAgICAgcGFja2FnZV9xYV9oYW5kbGVfZXJyb3IoImluc3RhbGxlZC12cy1zaGlw
cGVkIiwgbXNnLCBkKQp9CgoKcHl0aG9uIHByZWxpbmtfc2V0dXAgKCkgewogICAgb2UudXRpbHMu
d3JpdGVfbGRfc29fY29uZihkKQp9CgoKcHl0aG9uIHByb2Nlc3NfZGlyICgpIHsKZGVmIHByb2Nl
c3NfZGlyIChyb290ZGlyLCBkaXJlY3RvcnksIGQpOgogICAgaW1wb3J0IHN0YXQKCiAgICByb290
ZGlyID0gb3MucGF0aC5ub3JtcGF0aChyb290ZGlyKQogICAgY21kID0gZC5leHBhbmQoJyR7Q0hS
UEFUSF9CSU59JykKICAgIHRtcGRpciA9IG9zLnBhdGgubm9ybXBhdGgoZC5nZXRWYXIoJ1RNUERJ
UicsIEZhbHNlKSkKICAgIGJhc2VwcmVmaXggPSBvcy5wYXRoLm5vcm1wYXRoKGQuZXhwYW5kKCck
e2Jhc2VfcHJlZml4fScpKQogICAgaG9zdG9zID0gZC5nZXRWYXIoIkhPU1RfT1MiKQoKICAgICNi
Yi5kZWJ1ZygiQ2hlY2tpbmcgJXMgZm9yIGJpbmFyaWVzIHRvIHByb2Nlc3MiICUgZGlyZWN0b3J5
KQogICAgaWYgbm90IG9zLnBhdGguZXhpc3RzKGRpcmVjdG9yeSk6CiAgICAgICAgcmV0dXJuCgog
ICAgaWYgImxpbnV4IiBpbiBob3N0b3M6CiAgICAgICAgcHJvY2Vzc19maWxlID0gcHJvY2Vzc19m
aWxlX2xpbnV4CiAgICBlbGlmICJkYXJ3aW4iIGluIGhvc3RvczoKICAgICAgICBwcm9jZXNzX2Zp
bGUgPSBwcm9jZXNzX2ZpbGVfZGFyd2luCiAgICBlbHNlOgogICAgICAgICMgUmVsb2NhdGlvbnMg
bm90IHN1cHBvcnRlZAogICAgICAgIHJldHVybgoKICAgIGRpcnMgPSBvcy5saXN0ZGlyKGRpcmVj
dG9yeSkKICAgIGZvciBmaWxlIGluIGRpcnM6CiAgICAgICAgZnBhdGggPSBkaXJlY3RvcnkgKyAi
LyIgKyBmaWxlCiAgICAgICAgZnBhdGggPSBvcy5wYXRoLm5vcm1wYXRoKGZwYXRoKQogICAgICAg
IGlmIG9zLnBhdGguaXNsaW5rKGZwYXRoKToKICAgICAgICAgICAgIyBTa2lwIHN5bWxpbmtzCiAg
ICAgICAgICAgIGNvbnRpbnVlCgogICAgICAgIGlmIG9zLnBhdGguaXNkaXIoZnBhdGgpOgogICAg
ICAgICAgICBwcm9jZXNzX2Rpcihyb290ZGlyLCBmcGF0aCwgZCkKICAgICAgICBlbHNlOgogICAg
ICAgICAgICAjYmIubm90ZSgiVGVzdGluZyAlcyBmb3IgcmVsb2NhdGFiaWxpdHkiICUgZnBhdGgp
CgogICAgICAgICAgICAjIFdlIG5lZWQgcmVhZCBhbmQgd3JpdGUgcGVybWlzc2lvbnMgZm9yIGNo
cnBhdGgsIGlmIHdlIGRvbid0IGhhdmUKICAgICAgICAgICAgIyB0aGVtIHRoZW4gc2V0IHRoZW0g
dGVtcG9yYXJpbHkuIFRha2UgYSBjb3B5IG9mIHRoZSBmaWxlcwogICAgICAgICAgICAjIHBlcm1p
c3Npb25zIHNvIHRoYXQgd2UgY2FuIHJlc3RvcmUgdGhlbSBhZnRlcndhcmRzLgogICAgICAgICAg
ICBwZXJtcyA9IG9zLnN0YXQoZnBhdGgpW3N0YXQuU1RfTU9ERV0KICAgICAgICAgICAgaWYgb3Mu
YWNjZXNzKGZwYXRoLCBvcy5XX09LfG9zLlJfT0spOgogICAgICAgICAgICAgICAgcGVybXMgPSBO
b25lCiAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAjIFRlbXBvcmFyaWx5IG1ha2Ug
dGhlIGZpbGUgd3JpdGVhYmxlIHNvIHdlIGNhbiBjaHJwYXRoIGl0CiAgICAgICAgICAgICAgICBv
cy5jaG1vZChmcGF0aCwgcGVybXN8c3RhdC5TX0lSV1hVKQogICAgICAgICAgICBwcm9jZXNzX2Zp
bGUoY21kLCBmcGF0aCwgcm9vdGRpciwgYmFzZXByZWZpeCwgdG1wZGlyLCBkKQoKICAgICAgICAg
ICAgaWYgcGVybXM6CiAgICAgICAgICAgICAgICBvcy5jaG1vZChmcGF0aCwgcGVybXMpCn0KCgpw
eXRob24gcHJvY2Vzc19maWxlX2RhcndpbiAoKSB7CmRlZiBwcm9jZXNzX2ZpbGVfZGFyd2luKGNt
ZCwgZnBhdGgsIHJvb3RkaXIsIGJhc2VwcmVmaXgsIHRtcGRpciwgZCk6CiAgICBpbXBvcnQgc3Vi
cHJvY2VzcyBhcyBzdWIKCiAgICBwID0gc3ViLlBvcGVuKFtkLmV4cGFuZCgiJHtIT1NUX1BSRUZJ
WH1vdG9vbCIpLCAnLUwnLCBmcGF0aF0sc3Rkb3V0PXN1Yi5QSVBFLHN0ZGVycj1zdWIuUElQRSkK
ICAgIG91dCwgZXJyID0gcC5jb21tdW5pY2F0ZSgpCiAgICAjIElmIHJldHVybmVkIHN1Y2Nlc3Nm
dWxseSwgcHJvY2VzcyBzdGRvdXQgZm9yIHJlc3VsdHMKICAgIGlmIHAucmV0dXJuY29kZSAhPSAw
OgogICAgICAgIHJldHVybgogICAgZm9yIGwgaW4gb3V0LnNwbGl0KCJcbiIpOgogICAgICAgIGlm
ICIoY29tcGF0aWJpbGl0eSIgbm90IGluIGw6CiAgICAgICAgICAgIGNvbnRpbnVlCiAgICAgICAg
cnBhdGggPSBsLnBhcnRpdGlvbigiKGNvbXBhdGliaWxpdHkiKVswXS5zdHJpcCgpCiAgICAgICAg
aWYgYmFzZXByZWZpeCBub3QgaW4gcnBhdGg6CiAgICAgICAgICAgIGNvbnRpbnVlCgogICAgICAg
IG5ld3BhdGggPSAiQGxvYWRlcl9wYXRoLyIgKyBvcy5wYXRoLnJlbHBhdGgocnBhdGgsIG9zLnBh
dGguZGlybmFtZShmcGF0aC5yZXBsYWNlKHJvb3RkaXIsICIvIikpKQogICAgICAgIHAgPSBzdWIu
UG9wZW4oW2QuZXhwYW5kKCIke0hPU1RfUFJFRklYfWluc3RhbGxfbmFtZV90b29sIiksICctY2hh
bmdlJywgcnBhdGgsIG5ld3BhdGgsIGZwYXRoXSxzdGRvdXQ9c3ViLlBJUEUsc3RkZXJyPXN1Yi5Q
SVBFKQogICAgICAgIG91dCwgZXJyID0gcC5jb21tdW5pY2F0ZSgpCn0KCgpweXRob24gcHJvY2Vz
c19maWxlX2xpbnV4ICgpIHsKZGVmIHByb2Nlc3NfZmlsZV9saW51eChjbWQsIGZwYXRoLCByb290
ZGlyLCBiYXNlcHJlZml4LCB0bXBkaXIsIGQpOgogICAgaW1wb3J0IHN1YnByb2Nlc3MgYXMgc3Vi
CgogICAgcCA9IHN1Yi5Qb3BlbihbY21kLCAnLWwnLCBmcGF0aF0sc3Rkb3V0PXN1Yi5QSVBFLHN0
ZGVycj1zdWIuUElQRSkKICAgIG91dCwgZXJyID0gcC5jb21tdW5pY2F0ZSgpCiAgICAjIElmIHJl
dHVybmVkIHN1Y2Nlc3NmdWxseSwgcHJvY2VzcyBzdGRvdXQgZm9yIHJlc3VsdHMKICAgIGlmIHAu
cmV0dXJuY29kZSAhPSAwOgogICAgICAgIHJldHVybgoKICAgIG91dCA9IG91dC5kZWNvZGUoJ3V0
Zi04JykKCiAgICAjIEhhbmRsZSBSVU5QQVRIIGFzIHdlbGwgYXMgUlBBVEgKICAgIG91dCA9IG91
dC5yZXBsYWNlKCJSVU5QQVRIPSIsIlJQQVRIPSIpCiAgICAjIFRocm93IGF3YXkgZXZlcnl0aGlu
ZyBvdGhlciB0aGFuIHRoZSBycGF0aCBsaXN0CiAgICBjdXJyX3JwYXRoID0gb3V0LnBhcnRpdGlv
bigiUlBBVEg9IilbMl0KICAgICNiYi5ub3RlKCJDdXJyZW50IHJwYXRoIGZvciAlcyBpcyAlcyIg
JSAoZnBhdGgsIGN1cnJfcnBhdGguc3RyaXAoKSkpCiAgICBycGF0aHMgPSBjdXJyX3JwYXRoLnN0
cmlwKCkuc3BsaXQoIjoiKQogICAgbmV3X3JwYXRocyA9IFtdCiAgICBtb2RpZmllZCA9IEZhbHNl
CiAgICBmb3IgcnBhdGggaW4gcnBhdGhzOgogICAgICAgICMgSWYgcnBhdGggaXMgYWxyZWFkeSBk
eW5hbWljIGNvcHkgaXQgdG8gbmV3X3JwYXRoIGFuZCBjb250aW51ZQogICAgICAgIGlmIHJwYXRo
LmZpbmQoIiRPUklHSU4iKSAhPSAtMToKICAgICAgICAgICAgbmV3X3JwYXRocy5hcHBlbmQocnBh
dGgpCiAgICAgICAgICAgIGNvbnRpbnVlCiAgICAgICAgcnBhdGggPSAgb3MucGF0aC5ub3JtcGF0
aChycGF0aCkKICAgICAgICBpZiBiYXNlcHJlZml4IG5vdCBpbiBycGF0aCBhbmQgdG1wZGlyIG5v
dCBpbiBycGF0aDoKICAgICAgICAgICAgIyBTa2lwIHN0YW5kYXJkIHNlYXJjaCBwYXRocwogICAg
ICAgICAgICBpZiBycGF0aCBpbiBbJy9saWInLCAnL3Vzci9saWInLCAnL2xpYjY0LycsICcvdXNy
L2xpYjY0J106CiAgICAgICAgICAgICAgICBiYi53YXJuKCJTa2lwcGluZyBSUEFUSCAlcyBhcyBp
cyBhIHN0YW5kYXJkIHNlYXJjaCBwYXRoIGZvciAlcyIgJSAocnBhdGgsIGZwYXRoKSkKICAgICAg
ICAgICAgICAgIG1vZGlmaWVkID0gVHJ1ZQogICAgICAgICAgICAgICAgY29udGludWUKICAgICAg
ICAgICAgbmV3X3JwYXRocy5hcHBlbmQocnBhdGgpCiAgICAgICAgICAgIGNvbnRpbnVlCiAgICAg
ICAgbmV3X3JwYXRocy5hcHBlbmQoIiRPUklHSU4vIiArIG9zLnBhdGgucmVscGF0aChycGF0aCwg
b3MucGF0aC5kaXJuYW1lKGZwYXRoLnJlcGxhY2Uocm9vdGRpciwgIi8iKSkpKQogICAgICAgIG1v
ZGlmaWVkID0gVHJ1ZQoKICAgICMgaWYgd2UgaGF2ZSBtb2RpZmllZCBzb21lIHJwYXRocyBjYWxs
IGNocnBhdGggdG8gdXBkYXRlIHRoZSBiaW5hcnkKICAgIGlmIG1vZGlmaWVkOgogICAgICAgIGFy
Z3MgPSAiOiIuam9pbihuZXdfcnBhdGhzKQogICAgICAgICNiYi5ub3RlKCJTZXR0aW5nIHJwYXRo
IGZvciAlcyB0byAlcyIgJShmcGF0aCwgYXJncykpCiAgICAgICAgcCA9IHN1Yi5Qb3BlbihbY21k
LCAnLXInLCBhcmdzLCBmcGF0aF0sc3Rkb3V0PXN1Yi5QSVBFLHN0ZGVycj1zdWIuUElQRSkKICAg
ICAgICBvdXQsIGVyciA9IHAuY29tbXVuaWNhdGUoKQogICAgICAgIGlmIHAucmV0dXJuY29kZSAh
PSAwOgogICAgICAgICAgICBiYi5mYXRhbCgiJXM6IGNocnBhdGggY29tbWFuZCBmYWlsZWQgd2l0
aCBleGl0IGNvZGUgJWQ6XG4lcyVzIiAlIChkLmdldFZhcignUE4nKSwgcC5yZXR1cm5jb2RlLCBv
dXQsIGVycikpCn0KCgpweXRob24gcHN0YWdpbmdfZmV0Y2ggKCkgewpkZWYgcHN0YWdpbmdfZmV0
Y2goc3N0YXRlZmV0Y2gsIHNzdGF0ZXBrZywgZCk6CiAgICBpbXBvcnQgYmIuZmV0Y2gyCgogICAg
IyBPbmx5IHRyeSBhbmQgZmV0Y2ggaWYgdGhlIHVzZXIgaGFzIGNvbmZpZ3VyZWQgYSBtaXJyb3IK
ICAgIG1pcnJvcnMgPSBkLmdldFZhcignU1NUQVRFX01JUlJPUlMnKQogICAgaWYgbm90IG1pcnJv
cnM6CiAgICAgICAgcmV0dXJuCgogICAgIyBDb3B5IHRoZSBkYXRhIG9iamVjdCBhbmQgb3ZlcnJp
ZGUgRExfRElSIGFuZCBTUkNfVVJJCiAgICBsb2NhbGRhdGEgPSBiYi5kYXRhLmNyZWF0ZUNvcHko
ZCkKCiAgICBkbGRpciA9IGxvY2FsZGF0YS5leHBhbmQoIiR7U1NUQVRFX0RJUn0iKQogICAgYmIu
dXRpbHMubWtkaXJoaWVyKGRsZGlyKQoKICAgIGxvY2FsZGF0YS5kZWxWYXIoJ01JUlJPUlMnKQog
ICAgbG9jYWxkYXRhLnNldFZhcignRklMRVNQQVRIJywgZGxkaXIpCiAgICBsb2NhbGRhdGEuc2V0
VmFyKCdETF9ESVInLCBkbGRpcikKICAgIGxvY2FsZGF0YS5zZXRWYXIoJ1BSRU1JUlJPUlMnLCBt
aXJyb3JzKQoKICAgICMgaWYgQkJfTk9fTkVUV09SSyBpcyBzZXQgYnV0IHdlIGFsc28gaGF2ZSBT
U1RBVEVfTUlSUk9SX0FMTE9XX05FVFdPUkssCiAgICAjIHdlJ2xsIHdhbnQgdG8gYWxsb3cgbmV0
d29yayBhY2Nlc3MgZm9yIHRoZSBjdXJyZW50IHNldCBvZiBmZXRjaGVzLgogICAgaWYgbG9jYWxk
YXRhLmdldFZhcignQkJfTk9fTkVUV09SSycpID09ICIxIiBhbmQgbG9jYWxkYXRhLmdldFZhcign
U1NUQVRFX01JUlJPUl9BTExPV19ORVRXT1JLJykgPT0gIjEiOgogICAgICAgIGxvY2FsZGF0YS5k
ZWxWYXIoJ0JCX05PX05FVFdPUksnKQoKICAgICMgVHJ5IGEgZmV0Y2ggZnJvbSB0aGUgc3N0YXRl
IG1pcnJvciwgaWYgaXQgZmFpbHMganVzdCByZXR1cm4gYW5kCiAgICAjIHdlIHdpbGwgYnVpbGQg
dGhlIHBhY2thZ2UKICAgIHVyaXMgPSBbJ2ZpbGU6Ly97MH07ZG93bmxvYWRmaWxlbmFtZT17MH0n
LmZvcm1hdChzc3RhdGVmZXRjaCksCiAgICAgICAgICAgICdmaWxlOi8vezB9LnNpZ2luZm87ZG93
bmxvYWRmaWxlbmFtZT17MH0uc2lnaW5mbycuZm9ybWF0KHNzdGF0ZWZldGNoKV0KICAgIGlmIGJi
LnV0aWxzLnRvX2Jvb2xlYW4oZC5nZXRWYXIoIlNTVEFURV9WRVJJRllfU0lHIiksIEZhbHNlKToK
ICAgICAgICB1cmlzICs9IFsnZmlsZTovL3swfS5zaWc7ZG93bmxvYWRmaWxlbmFtZT17MH0uc2ln
Jy5mb3JtYXQoc3N0YXRlZmV0Y2gpXQoKICAgIGZvciBzcmN1cmkgaW4gdXJpczoKICAgICAgICBs
b2NhbGRhdGEuc2V0VmFyKCdTUkNfVVJJJywgc3JjdXJpKQogICAgICAgIHRyeToKICAgICAgICAg
ICAgZmV0Y2hlciA9IGJiLmZldGNoMi5GZXRjaChbc3JjdXJpXSwgbG9jYWxkYXRhLCBjYWNoZT1G
YWxzZSkKICAgICAgICAgICAgZmV0Y2hlci5kb3dubG9hZCgpCgogICAgICAgIGV4Y2VwdCBiYi5m
ZXRjaDIuQkJGZXRjaEV4Y2VwdGlvbjoKICAgICAgICAgICAgYnJlYWsKfQoKCnB5dGhvbiByYWlz
ZV9zYW5pdHlfZXJyb3IgKCkgewpkZWYgcmFpc2Vfc2FuaXR5X2Vycm9yKG1zZywgZCwgbmV0d29y
a19lcnJvcj1GYWxzZSk6CiAgICBpZiBkLmdldFZhcigiU0FOSVRZX1VTRV9FVkVOVFMiKSA9PSAi
MSI6CiAgICAgICAgdHJ5OgogICAgICAgICAgICBiYi5ldmVudC5maXJlKGJiLmV2ZW50LlNhbml0
eUNoZWNrRmFpbGVkKG1zZywgbmV0d29ya19lcnJvciksIGQpCiAgICAgICAgZXhjZXB0IFR5cGVF
cnJvcjoKICAgICAgICAgICAgYmIuZXZlbnQuZmlyZShiYi5ldmVudC5TYW5pdHlDaGVja0ZhaWxl
ZChtc2cpLCBkKQogICAgICAgIHJldHVybgoKICAgIGJiLmZhdGFsKCIiIiBPRS1jb3JlJ3MgY29u
ZmlnIHNhbml0eSBjaGVja2VyIGRldGVjdGVkIGEgcG90ZW50aWFsIG1pc2NvbmZpZ3VyYXRpb24u
CiAgICBFaXRoZXIgZml4IHRoZSBjYXVzZSBvZiB0aGlzIGVycm9yIG9yIGF0IHlvdXIgb3duIHJp
c2sgZGlzYWJsZSB0aGUgY2hlY2tlciAoc2VlIHNhbml0eS5jb25mKS4KICAgIEZvbGxvd2luZyBp
cyB0aGUgbGlzdCBvZiBwb3RlbnRpYWwgcHJvYmxlbXMgLyBhZHZpc29yaWVzOgoKICAgICVzIiIi
ICUgbXNnKQp9CgoKcHl0aG9uIHJlYWRfbGliZGVwX2ZpbGVzICgpIHsKZGVmIHJlYWRfbGliZGVw
X2ZpbGVzKGQpOgogICAgcGtnbGliZGVwcyA9IHt9CiAgICBwYWNrYWdlcyA9IGQuZ2V0VmFyKCdQ
QUNLQUdFUycpLnNwbGl0KCkKICAgIGZvciBwa2cgaW4gcGFja2FnZXM6CiAgICAgICAgcGtnbGli
ZGVwc1twa2ddID0ge30KICAgICAgICBmb3IgZXh0ZW5zaW9uIGluICIuc2hsaWJkZXBzIiwgIi5w
Y2RlcHMiLCAiLmNsaWxpYmRlcHMiOgogICAgICAgICAgICBkZXBzZmlsZSA9IGQuZXhwYW5kKCIk
e1BLR0RFU1R9LyIgKyBwa2cgKyBleHRlbnNpb24pCiAgICAgICAgICAgIGlmIG9zLmFjY2Vzcyhk
ZXBzZmlsZSwgb3MuUl9PSyk6CiAgICAgICAgICAgICAgICBmZCA9IG9wZW4oZGVwc2ZpbGUpCiAg
ICAgICAgICAgICAgICBsaW5lcyA9IGZkLnJlYWRsaW5lcygpCiAgICAgICAgICAgICAgICBmZC5j
bG9zZSgpCiAgICAgICAgICAgICAgICBmb3IgbCBpbiBsaW5lczoKICAgICAgICAgICAgICAgICAg
ICBsLnJzdHJpcCgpCiAgICAgICAgICAgICAgICAgICAgZGVwcyA9IGJiLnV0aWxzLmV4cGxvZGVf
ZGVwX3ZlcnNpb25zMihsKQogICAgICAgICAgICAgICAgICAgIGZvciBkZXAgaW4gZGVwczoKICAg
ICAgICAgICAgICAgICAgICAgICAgaWYgbm90IGRlcCBpbiBwa2dsaWJkZXBzW3BrZ106CiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBwa2dsaWJkZXBzW3BrZ11bZGVwXSA9IGRlcHNbZGVwXQog
ICAgcmV0dXJuIHBrZ2xpYmRlcHMKfQoKCnB5dGhvbiByZWFkX3NobGliZGVwcyAoKSB7CiAgICBw
a2dsaWJkZXBzID0gcmVhZF9saWJkZXBfZmlsZXMoZCkKCiAgICBwYWNrYWdlcyA9IGQuZ2V0VmFy
KCdQQUNLQUdFUycpLnNwbGl0KCkKICAgIGZvciBwa2cgaW4gcGFja2FnZXM6CiAgICAgICAgcmRl
cGVuZHMgPSBiYi51dGlscy5leHBsb2RlX2RlcF92ZXJzaW9uczIoZC5nZXRWYXIoJ1JERVBFTkRT
XycgKyBwa2cpIG9yICIiKQogICAgICAgIGZvciBkZXAgaW4gcGtnbGliZGVwc1twa2ddOgogICAg
ICAgICAgICAjIEFkZCB0aGUgZGVwIGlmIGl0J3Mgbm90IGFscmVhZHkgdGhlcmUsIG9yIGlmIG5v
IGNvbXBhcmlzb24gaXMgc2V0CiAgICAgICAgICAgIGlmIGRlcCBub3QgaW4gcmRlcGVuZHM6CiAg
ICAgICAgICAgICAgICByZGVwZW5kc1tkZXBdID0gW10KICAgICAgICAgICAgZm9yIHYgaW4gcGtn
bGliZGVwc1twa2ddW2RlcF06CiAgICAgICAgICAgICAgICBpZiB2IG5vdCBpbiByZGVwZW5kc1tk
ZXBdOgogICAgICAgICAgICAgICAgICAgIHJkZXBlbmRzW2RlcF0uYXBwZW5kKHYpCiAgICAgICAg
ZC5zZXRWYXIoJ1JERVBFTkRTXycgKyBwa2csIGJiLnV0aWxzLmpvaW5fZGVwcyhyZGVwZW5kcywg
Y29tbWFzZXA9RmFsc2UpKQp9CgoKcHl0aG9uIHJlYWRfc3VicGFja2FnZV9tZXRhZGF0YSAoKSB7
CiAgICBpbXBvcnQgb2UucGFja2FnZWRhdGEKCiAgICB2YXJzID0gewogICAgICAgICJQTiIgOiBk
LmdldFZhcignUE4nKSwKICAgICAgICAiUEUiIDogZC5nZXRWYXIoJ1BFJyksCiAgICAgICAgIlBW
IiA6IGQuZ2V0VmFyKCdQVicpLAogICAgICAgICJQUiIgOiBkLmdldFZhcignUFInKSwKICAgIH0K
CiAgICBkYXRhID0gb2UucGFja2FnZWRhdGEucmVhZF9wa2dkYXRhKHZhcnNbIlBOIl0sIGQpCgog
ICAgZm9yIGtleSBpbiBkYXRhLmtleXMoKToKICAgICAgICBkLnNldFZhcihrZXksIGRhdGFba2V5
XSkKCiAgICBmb3IgcGtnIGluIGQuZ2V0VmFyKCdQQUNLQUdFUycpLnNwbGl0KCk6CiAgICAgICAg
c2RhdGEgPSBvZS5wYWNrYWdlZGF0YS5yZWFkX3N1YnBrZ2RhdGEocGtnLCBkKQogICAgICAgIGZv
ciBrZXkgaW4gc2RhdGEua2V5cygpOgogICAgICAgICAgICBpZiBrZXkgaW4gdmFyczoKICAgICAg
ICAgICAgICAgIGlmIHNkYXRhW2tleV0gIT0gdmFyc1trZXldOgogICAgICAgICAgICAgICAgICAg
IGlmIGtleSA9PSAiUE4iOgogICAgICAgICAgICAgICAgICAgICAgICBiYi5mYXRhbCgiUmVjaXBl
ICVzIGlzIHRyeWluZyB0byBjcmVhdGUgcGFja2FnZSAlcyB3aGljaCB3YXMgYWxyZWFkeSB3cml0
dGVuIGJ5IHJlY2lwZSAlcy4gVGhpcyB3aWxsIGNhdXNlIGNvcnJ1cHRpb24sIHBsZWFzZSByZXNv
bHZlIHRoaXMgYW5kIG9ubHkgcHJvdmlkZSB0aGUgcGFja2FnZSBmcm9tIG9uZSByZWNpcGUgb3Ig
dGhlIG90aGVyIG9yIG9ubHkgYnVpbGQgb25lIG9mIHRoZSByZWNpcGVzLiIgJSAodmFyc1trZXld
LCBwa2csIHNkYXRhW2tleV0pKQogICAgICAgICAgICAgICAgICAgIGJiLmZhdGFsKCJSZWNpcGUg
JXMgaXMgdHJ5aW5nIHRvIGNoYW5nZSAlcyBmcm9tICclcycgdG8gJyVzJy4gVGhpcyB3aWxsIGNh
dXNlIGRvX3BhY2thZ2Vfd3JpdGVfKiBmYWlsdXJlcyBzaW5jZSB0aGUgaW5jb3JyZWN0IGRhdGEg
d2lsbCBiZSB1c2VkIGFuZCB0aGV5IHdpbGwgYmUgdW5hYmxlIHRvIGZpbmQgdGhlIHJpZ2h0IHdv
cmtkaXIuIiAlICh2YXJzWyJQTiJdLCBrZXksIHZhcnNba2V5XSwgc2RhdGFba2V5XSkpCiAgICAg
ICAgICAgICAgICBjb250aW51ZQogICAgICAgICAgICAjCiAgICAgICAgICAgICMgSWYgd2Ugc2V0
IHVuc3VmZml4ZWQgdmFyaWFibGVzIGhlcmUgdGhlcmUgaXMgYSBjaGFuY2UgdGhleSBjb3VsZCBj
bG9iYmVyIG92ZXJyaWRlIHZlcnNpb25zCiAgICAgICAgICAgICMgb2YgdGhhdCB2YXJpYWJsZSwg
ZS5nLiBERVNDUklQVElPTiBjb3VsZCBjbG9iYmVyIERFU0NSSVBUSU9OXzxwa2duYW1lPgogICAg
ICAgICAgICAjIFdlIHRoZXJlZm9yZSBkb24ndCBjbG9iYmVyIGZvciB0aGUgdW5zdWZmaXhlZCB2
YXJpYWJsZSB2ZXJzaW9ucwogICAgICAgICAgICAjCiAgICAgICAgICAgIGlmIGtleS5lbmRzd2l0
aCgiXyIgKyBwa2cpOgogICAgICAgICAgICAgICAgZC5zZXRWYXIoa2V5LCBzZGF0YVtrZXldKQog
ICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgZC5zZXRWYXIoa2V5LCBzZGF0YVtrZXld
LCBwYXJzaW5nPVRydWUpCn0KCgpweXRob24gcmV0dXJuX3NwZHggKCkgewpkZWYgcmV0dXJuX3Nw
ZHgoZCwgbGljZW5zZSk6CiAgICAiIiIKICAgIFRoaXMgZnVuY3Rpb24gcmV0dXJucyB0aGUgc3Bk
eCBtYXBwaW5nIG9mIGEgbGljZW5zZSBpZiBpdCBleGlzdHMuCiAgICAgIiIiCiAgICByZXR1cm4g
ZC5nZXRWYXJGbGFnKCdTUERYTElDRU5TRU1BUCcsIGxpY2Vuc2UpCn0KCgpweXRob24gcnBhdGhf
cmVwbGFjZSAoKSB7CmRlZiBycGF0aF9yZXBsYWNlIChwYXRoLCBkKToKICAgIGJpbmRpcnMgPSBk
LmV4cGFuZCgiJHtiaW5kaXJ9ICR7c2JpbmRpcn0gJHtiYXNlX3NiaW5kaXJ9ICR7YmFzZV9iaW5k
aXJ9ICR7bGliZGlyfSAke2Jhc2VfbGliZGlyfSAke2xpYmV4ZWNkaXJ9ICR7UFJFUFJPQ0VTU19S
RUxPQ0FURV9ESVJTfSIpLnNwbGl0KCkKCiAgICBmb3IgYmluZGlyIGluIGJpbmRpcnM6CiAgICAg
ICAgI2JiLm5vdGUgKCJQcm9jZXNzaW5nIGRpcmVjdG9yeSAiICsgYmluZGlyKQogICAgICAgIGRp
cmVjdG9yeSA9IHBhdGggKyAiLyIgKyBiaW5kaXIKICAgICAgICBwcm9jZXNzX2RpciAocGF0aCwg
ZGlyZWN0b3J5LCBkKQp9CgoKcHl0aG9uIHJ1bl9idWlsZHN0YXRzICgpIHsKICAgIGltcG9ydCBi
Yi5idWlsZAogICAgaW1wb3J0IGJiLmV2ZW50CiAgICBpbXBvcnQgdGltZSwgc3VicHJvY2Vzcywg
cGxhdGZvcm0KCiAgICBibiA9IGQuZ2V0VmFyKCdCVUlMRE5BTUUnKQogICAgYnNkaXIgPSBvcy5w
YXRoLmpvaW4oZC5nZXRWYXIoJ0JVSUxEU1RBVFNfQkFTRScpLCBibikKICAgIHRhc2tkaXIgPSBv
cy5wYXRoLmpvaW4oYnNkaXIsIGQuZ2V0VmFyKCdQRicpKQoKICAgIGlmIGlzaW5zdGFuY2UoZSwg
YmIuZXZlbnQuQnVpbGRTdGFydGVkKToKICAgICAgICAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKICAgICAgICAj
IElmIHRoZSBrZXJuZWwgd2FzIG5vdCBjb25maWd1cmVkIHRvIHByb3ZpZGUgSS9PIHN0YXRpc3Rp
Y3MsIGlzc3VlCiAgICAgICAgIyBhIG9uZSB0aW1lIHdhcm5pbmcuCiAgICAgICAgIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjCiAgICAgICAgaWYgbm90IG9zLnBhdGguaXNmaWxlKCIvcHJvYy8lZC9pbyIgJSBvcy5n
ZXRwaWQoKSk6CiAgICAgICAgICAgIGJiLndhcm4oIlRoZSBMaW51eCBrZXJuZWwgb24geW91ciBi
dWlsZCBob3N0IHdhcyBub3QgY29uZmlndXJlZCB0byBwcm92aWRlIHByb2Nlc3MgSS9PIHN0YXRp
c3RpY3MuIChDT05GSUdfVEFTS19JT19BQ0NPVU5USU5HIGlzIG5vdCBzZXQpIikKCiAgICAgICAg
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjCiAgICAgICAgIyBhdCBmaXJzdCBwYXNzIG1ha2UgdGhlIGJ1aWxkc3Rh
dHMgaGllcmFyY2h5IGFuZCB0aGVuCiAgICAgICAgIyBzZXQgdGhlIGJ1aWxkbmFtZQogICAgICAg
ICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIwogICAgICAgIGJiLnV0aWxzLm1rZGlyaGllcihic2RpcikKICAgICAg
ICBzZXRfYnVpbGR0aW1lZGF0YSgiX190aW1lZGF0YV9idWlsZCIsIGQpCiAgICAgICAgYnVpbGRf
dGltZSA9IG9zLnBhdGguam9pbihic2RpciwgImJ1aWxkX3N0YXRzIikKICAgICAgICAjIHdyaXRl
IHN0YXJ0IG9mIGJ1aWxkIGludG8gYnVpbGRfdGltZQogICAgICAgIHdpdGggb3BlbihidWlsZF90
aW1lLCAiYSIpIGFzIGY6CiAgICAgICAgICAgIGhvc3RfaW5mbyA9IHBsYXRmb3JtLnVuYW1lKCkK
ICAgICAgICAgICAgZi53cml0ZSgiSG9zdCBJbmZvOiAiKQogICAgICAgICAgICBmb3IgeCBpbiBo
b3N0X2luZm86CiAgICAgICAgICAgICAgICBpZiB4OgogICAgICAgICAgICAgICAgICAgIGYud3Jp
dGUoeCArICIgIikKICAgICAgICAgICAgZi53cml0ZSgiXG4iKQogICAgICAgICAgICBmLndyaXRl
KCJCdWlsZCBTdGFydGVkOiAlMC4yZiBcbiIgJSB0aW1lLnRpbWUoKSkKCiAgICBlbGlmIGlzaW5z
dGFuY2UoZSwgYmIuZXZlbnQuQnVpbGRDb21wbGV0ZWQpOgogICAgICAgIGJ1aWxkX3RpbWUgPSBv
cy5wYXRoLmpvaW4oYnNkaXIsICJidWlsZF9zdGF0cyIpCiAgICAgICAgd2l0aCBvcGVuKGJ1aWxk
X3RpbWUsICJhIikgYXMgZjoKICAgICAgICAgICAgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAgICAgICAgICAg
ICMgV3JpdGUgYnVpbGQgc3RhdGlzdGljcyBmb3IgdGhlIGJ1aWxkCiAgICAgICAgICAgICMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIwogICAgICAgICAgICB0aW1lZGF0YSA9IGdldF9idWlsZHRpbWVkYXRhKCJfX3Rp
bWVkYXRhX2J1aWxkIiwgZCkKICAgICAgICAgICAgaWYgdGltZWRhdGE6CiAgICAgICAgICAgICAg
ICB0aW1lLCBjcHUgPSB0aW1lZGF0YQogICAgICAgICAgICAgICAgIyB3cml0ZSBlbmQgb2YgYnVp
bGQgYW5kIGNwdSB1c2VkIGludG8gYnVpbGRfdGltZQogICAgICAgICAgICAgICAgZi53cml0ZSgi
RWxhcHNlZCB0aW1lOiAlMC4yZiBzZWNvbmRzIFxuIiAlICh0aW1lKSkKICAgICAgICAgICAgICAg
IGlmIGNwdToKICAgICAgICAgICAgICAgICAgICBmLndyaXRlKCJDUFUgdXNhZ2U6ICUwLjFmJSUg
XG4iICUgY3B1KQoKICAgIGlmIGlzaW5zdGFuY2UoZSwgYmIuYnVpbGQuVGFza1N0YXJ0ZWQpOgog
ICAgICAgIHNldF90aW1lZGF0YSgiX190aW1lZGF0YV90YXNrIiwgZCwgZS50aW1lKQogICAgICAg
IGJiLnV0aWxzLm1rZGlyaGllcih0YXNrZGlyKQogICAgICAgICMgd3JpdGUgaW50byB0aGUgdGFz
ayBldmVudCBmaWxlIHRoZSBuYW1lIGFuZCBzdGFydCB0aW1lCiAgICAgICAgd2l0aCBvcGVuKG9z
LnBhdGguam9pbih0YXNrZGlyLCBlLnRhc2spLCAiYSIpIGFzIGY6CiAgICAgICAgICAgIGYud3Jp
dGUoIkV2ZW50OiAlcyBcbiIgJSBiYi5ldmVudC5nZXROYW1lKGUpKQogICAgICAgICAgICBmLndy
aXRlKCJTdGFydGVkOiAlMC4yZiBcbiIgJSBlLnRpbWUpCgogICAgZWxpZiBpc2luc3RhbmNlKGUs
IGJiLmJ1aWxkLlRhc2tTdWNjZWVkZWQpOgogICAgICAgIHdyaXRlX3Rhc2tfZGF0YSgicGFzc2Vk
Iiwgb3MucGF0aC5qb2luKHRhc2tkaXIsIGUudGFzayksIGUsIGQpCiAgICAgICAgaWYgZS50YXNr
ID09ICJkb19yb290ZnMiOgogICAgICAgICAgICBicyA9IG9zLnBhdGguam9pbihic2RpciwgImJ1
aWxkX3N0YXRzIikKICAgICAgICAgICAgd2l0aCBvcGVuKGJzLCAiYSIpIGFzIGY6CiAgICAgICAg
ICAgICAgICByb290ZnMgPSBkLmdldFZhcignSU1BR0VfUk9PVEZTJykKICAgICAgICAgICAgICAg
IGlmIG9zLnBhdGguaXNkaXIocm9vdGZzKToKICAgICAgICAgICAgICAgICAgICB0cnk6CiAgICAg
ICAgICAgICAgICAgICAgICAgIHJvb3Rmc19zaXplID0gc3VicHJvY2Vzcy5jaGVja19vdXRwdXQo
WyJkdSIsICItc2giLCByb290ZnNdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0
ZGVycj1zdWJwcm9jZXNzLlNURE9VVCkuZGVjb2RlKCd1dGYtOCcpCiAgICAgICAgICAgICAgICAg
ICAgICAgIGYud3JpdGUoIlVuY29tcHJlc3NlZCBSb290ZnMgc2l6ZTogJXMiICUgcm9vdGZzX3Np
emUpCiAgICAgICAgICAgICAgICAgICAgZXhjZXB0IHN1YnByb2Nlc3MuQ2FsbGVkUHJvY2Vzc0Vy
cm9yIGFzIGVycjoKICAgICAgICAgICAgICAgICAgICAgICAgYmIud2FybigiRmFpbGVkIHRvIGdl
dCByb290ZnMgc2l6ZTogJXMiICUgZXJyLm91dHB1dC5kZWNvZGUoJ3V0Zi04JykpCgogICAgZWxp
ZiBpc2luc3RhbmNlKGUsIGJiLmJ1aWxkLlRhc2tGYWlsZWQpOgogICAgICAgICMgQ2FuIGhhdmUg
YSBmYWlsdXJlIGJlZm9yZSBUYXNrU3RhcnRlZCBzbyBuZWVkIHRvIG1rZGlyIGhlcmUgdG9vCiAg
ICAgICAgYmIudXRpbHMubWtkaXJoaWVyKHRhc2tkaXIpCiAgICAgICAgd3JpdGVfdGFza19kYXRh
KCJmYWlsZWQiLCBvcy5wYXRoLmpvaW4odGFza2RpciwgZS50YXNrKSwgZSwgZCkKICAgICAgICAj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMKICAgICAgICAjIExldHMgbWFrZSB0aGluZ3MgZWFzaWVyIGFuZCB0ZWxs
IHBlb3BsZSB3aGVyZSB0aGUgYnVpbGQgZmFpbGVkIGluCiAgICAgICAgIyBidWlsZF9zdGF0dXMu
IFdlIGRvIHRoaXMgaGVyZSBiZWNhdXNlIEJ1aWxkQ29tcGxldGVkIHRyaWdnZXJzIG5vCiAgICAg
ICAgIyBtYXR0ZXIgd2hhdCB0aGUgc3RhdHVzIG9mIHRoZSBidWlsZCBhY3R1YWxseSBpcwogICAg
ICAgICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIwogICAgICAgIGJ1aWxkX3N0YXR1cyA9IG9zLnBhdGguam9pbihi
c2RpciwgImJ1aWxkX3N0YXRzIikKICAgICAgICB3aXRoIG9wZW4oYnVpbGRfc3RhdHVzLCAiYSIp
IGFzIGY6CiAgICAgICAgICAgIGYud3JpdGUoZC5leHBhbmQoIkZhaWxlZCBhdDogJHtQRn0gYXQg
dGFzazogJXMgXG4iICUgZS50YXNrKSkKfQoKCnB5dGhvbiBydW5xdWV1ZV9zdGF0cyAoKSB7CiAg
ICBpbXBvcnQgYnVpbGRzdGF0cwogICAgZnJvbSBiYiBpbXBvcnQgZXZlbnQsIHJ1bnF1ZXVlCiAg
ICAjIFdlIHNob3VsZCBub3QgcmVjb3JkIGFueSBzYW1wbGVzIGJlZm9yZSB0aGUgZmlyc3QgdGFz
ayBoYXMgc3RhcnRlZCwKICAgICMgYmVjYXVzZSB0aGF0J3MgdGhlIGZpcnN0IGFjdGl2aXR5IHNo
b3duIGluIHRoZSBwcm9jZXNzIGNoYXJ0LgogICAgIyBCZXNpZGVzLCBhdCB0aGF0IHBvaW50IHdl
IGFyZSBzdXJlIHRoYXQgdGhlIGJ1aWxkIHZhcmlhYmxlcwogICAgIyBhcmUgYXZhaWxhYmxlIHRo
YXQgd2UgbmVlZCB0byBmaW5kIHRoZSBvdXRwdXQgZGlyZWN0b3J5LgogICAgIyBUaGUgcGVyc2lz
dGVudCBTeXN0ZW1TdGF0cyBpcyBzdG9yZWQgaW4gdGhlIGRhdGFzdG9yZSBhbmQKICAgICMgY2xv
c2VkIHdoZW4gdGhlIGJ1aWxkIGlzIGRvbmUuCiAgICBzeXN0ZW1fc3RhdHMgPSBkLmdldFZhcign
X2J1aWxkc3RhdHNfc3lzdGVtX3N0YXRzJywgRmFsc2UpCiAgICBpZiBub3Qgc3lzdGVtX3N0YXRz
IGFuZCBpc2luc3RhbmNlKGUsIChiYi5ydW5xdWV1ZS5zY2VuZVF1ZXVlVGFza1N0YXJ0ZWQsIGJi
LnJ1bnF1ZXVlLnJ1blF1ZXVlVGFza1N0YXJ0ZWQpKToKICAgICAgICBzeXN0ZW1fc3RhdHMgPSBi
dWlsZHN0YXRzLlN5c3RlbVN0YXRzKGQpCiAgICAgICAgZC5zZXRWYXIoJ19idWlsZHN0YXRzX3N5
c3RlbV9zdGF0cycsIHN5c3RlbV9zdGF0cykKICAgIGlmIHN5c3RlbV9zdGF0czoKICAgICAgICAj
IEVuc3VyZSB0aGF0IHdlIHNhbXBsZSBhdCBpbXBvcnRhbnQgZXZlbnRzLgogICAgICAgIGRvbmUg
PSBpc2luc3RhbmNlKGUsIGJiLmV2ZW50LkJ1aWxkQ29tcGxldGVkKQogICAgICAgIHN5c3RlbV9z
dGF0cy5zYW1wbGUoZSwgZm9yY2U9ZG9uZSkKICAgICAgICBpZiBkb25lOgogICAgICAgICAgICBz
eXN0ZW1fc3RhdHMuY2xvc2UoKQogICAgICAgICAgICBkLmRlbFZhcignX2J1aWxkc3RhdHNfc3lz
dGVtX3N0YXRzJykKfQoKCnB5dGhvbiBydW50aW1lX21hcHBpbmdfcmVuYW1lICgpIHsKZGVmIHJ1
bnRpbWVfbWFwcGluZ19yZW5hbWUgKHZhcm5hbWUsIHBrZywgZCk6CiAgICAjYmIubm90ZSgiJXMg
YmVmb3JlOiAlcyIgJSAodmFybmFtZSwgZC5nZXRWYXIodmFybmFtZSkpKQoKICAgIG5ld19kZXBl
bmRzID0ge30KICAgIGRlcHMgPSBiYi51dGlscy5leHBsb2RlX2RlcF92ZXJzaW9uczIoZC5nZXRW
YXIodmFybmFtZSkgb3IgIiIpCiAgICBmb3IgZGVwZW5kIGluIGRlcHM6CiAgICAgICAgbmV3X2Rl
cGVuZCA9IGdldF9wYWNrYWdlX21hcHBpbmcoZGVwZW5kLCBwa2csIGQpCiAgICAgICAgbmV3X2Rl
cGVuZHNbbmV3X2RlcGVuZF0gPSBkZXBzW2RlcGVuZF0KCiAgICBkLnNldFZhcih2YXJuYW1lLCBi
Yi51dGlscy5qb2luX2RlcHMobmV3X2RlcGVuZHMsIGNvbW1hc2VwPUZhbHNlKSkKCiAgICAjYmIu
bm90ZSgiJXMgYWZ0ZXI6ICVzIiAlICh2YXJuYW1lLCBkLmdldFZhcih2YXJuYW1lKSkpCn0KCgpw
eXRob24gc2FuaXR5X2NoZWNrX2NvbmZmaWxlcyAoKSB7CmRlZiBzYW5pdHlfY2hlY2tfY29uZmZp
bGVzKGQpOgogICAgZnVuY3MgPSBkLmdldFZhcignQkJMQVlFUlNfQ09ORl9VUERBVEVfRlVOQ1Mn
KS5zcGxpdCgpCiAgICBmb3IgZnVuYyBpbiBmdW5jczoKICAgICAgICBjb25mZmlsZSwgY3VycmVu
dF92ZXJzaW9uLCByZXF1aXJlZF92ZXJzaW9uLCBmdW5jID0gZnVuYy5zcGxpdCgiOiIpCiAgICAg
ICAgaWYgY2hlY2tfY29uZl9leGlzdHMoY29uZmZpbGUsIGQpIGFuZCBkLmdldFZhcihjdXJyZW50
X3ZlcnNpb24pIGlzIG5vdCBOb25lIGFuZCBcCiAgICAgICAgICAgICAgICBkLmdldFZhcihjdXJy
ZW50X3ZlcnNpb24pICE9IGQuZ2V0VmFyKHJlcXVpcmVkX3ZlcnNpb24pOgogICAgICAgICAgICB0
cnk6CiAgICAgICAgICAgICAgICBiYi5idWlsZC5leGVjX2Z1bmMoZnVuYywgZCwgcHl0aG9uZXhj
ZXB0aW9uPVRydWUpCiAgICAgICAgICAgIGV4Y2VwdCBOb3RJbXBsZW1lbnRlZEVycm9yIGFzIGU6
CiAgICAgICAgICAgICAgICBiYi5mYXRhbChzdHIoZSkpCiAgICAgICAgICAgIGQuc2V0VmFyKCJC
Ql9JTlZBTElEQ09ORiIsIFRydWUpCn0KCgpweXRob24gc2FuaXR5X2NoZWNrX2xvY2FsZSAoKSB7
CmRlZiBzYW5pdHlfY2hlY2tfbG9jYWxlKGQpOgogICAgIiIiCiAgICBDdXJyZW50bHkgYml0YmFr
ZSBzd2l0Y2hlcyBsb2NhbGUgdG8gZW5fVVMuVVRGLTggc28gY2hlY2sgdGhhdCB0aGlzIGxvY2Fs
ZSBhY3R1YWxseSBleGlzdHMuCiAgICAiIiIKICAgIGltcG9ydCBsb2NhbGUKICAgIHRyeToKICAg
ICAgICBsb2NhbGUuc2V0bG9jYWxlKGxvY2FsZS5MQ19BTEwsICJlbl9VUy5VVEYtOCIpCiAgICBl
eGNlcHQgbG9jYWxlLkVycm9yOgogICAgICAgIHJhaXNlX3Nhbml0eV9lcnJvcigiWW91IHN5c3Rl
bSBuZWVkcyB0byBzdXBwb3J0IHRoZSBlbl9VUy5VVEYtOCBsb2NhbGUuIiwgZCkKfQoKCnB5dGhv
biBzYW5pdHlfY29uZl9maW5kX2xpbmUgKCkgewpkZWYgc2FuaXR5X2NvbmZfZmluZF9saW5lKHBh
dHRlcm4sIGxpbmVzKToKICAgIGltcG9ydCByZQogICAgcmV0dXJuIG5leHQoKChpbmRleCwgbGlu
ZSkKICAgICAgICBmb3IgaW5kZXgsIGxpbmUgaW4gZW51bWVyYXRlKGxpbmVzKQogICAgICAgIGlm
IHJlLnNlYXJjaChwYXR0ZXJuLCBsaW5lKSksIChOb25lLCBOb25lKSkKfQoKCnB5dGhvbiBzYW5p
dHlfY29uZl9yZWFkICgpIHsKZGVmIHNhbml0eV9jb25mX3JlYWQoZm4pOgogICAgd2l0aCBvcGVu
KGZuLCAncicpIGFzIGY6CiAgICAgICAgbGluZXMgPSBmLnJlYWRsaW5lcygpCiAgICByZXR1cm4g
bGluZXMKfQoKCnB5dGhvbiBzYW5pdHlfY29uZl91cGRhdGUgKCkgewpkZWYgc2FuaXR5X2NvbmZf
dXBkYXRlKGZuLCBsaW5lcywgdmVyc2lvbl92YXJfbmFtZSwgbmV3X3ZlcnNpb24pOgogICAgaW5k
ZXgsIGxpbmUgPSBzYW5pdHlfY29uZl9maW5kX2xpbmUociJeJXMiICUgdmVyc2lvbl92YXJfbmFt
ZSwgbGluZXMpCiAgICBsaW5lc1tpbmRleF0gPSAnJXMgPSAiJWQiXG4nICUgKHZlcnNpb25fdmFy
X25hbWUsIG5ld192ZXJzaW9uKQogICAgd2l0aCBvcGVuKGZuLCAidyIpIGFzIGY6CiAgICAgICAg
Zi53cml0ZSgnJy5qb2luKGxpbmVzKSkKfQoKCnB5dGhvbiBzYW5pdHlfaGFuZGxlX2FiaWNoYW5n
ZXMgKCkgewpkZWYgc2FuaXR5X2hhbmRsZV9hYmljaGFuZ2VzKHN0YXR1cywgZCk6CiAgICAjCiAg
ICAjIENoZWNrIHRoZSAnQUJJJyBvZiBUTVBESVIKICAgICMKICAgIGltcG9ydCBzdWJwcm9jZXNz
CgogICAgY3VycmVudF9hYmkgPSBkLmdldFZhcignT0VMQVlPVVRfQUJJJykKICAgIGFiaWZpbGUg
PSBkLmdldFZhcignU0FOSVRZX0FCSUZJTEUnKQogICAgaWYgb3MucGF0aC5leGlzdHMoYWJpZmls
ZSk6CiAgICAgICAgd2l0aCBvcGVuKGFiaWZpbGUsICJyIikgYXMgZjoKICAgICAgICAgICAgYWJp
ID0gZi5yZWFkKCkuc3RyaXAoKQogICAgICAgIGlmIG5vdCBhYmkuaXNkaWdpdCgpOgogICAgICAg
ICAgICB3aXRoIG9wZW4oYWJpZmlsZSwgInciKSBhcyBmOgogICAgICAgICAgICAgICAgZi53cml0
ZShjdXJyZW50X2FiaSkKICAgICAgICBlbGlmIGludChhYmkpIDw9IDExIGFuZCBjdXJyZW50X2Fi
aSA9PSAiMTIiOgogICAgICAgICAgICBzdGF0dXMuYWRkcmVzdWx0KCJUaGUgbGF5b3V0IG9mIFRN
UERJUiBjaGFuZ2VkIGZvciBSZWNpcGUgU3BlY2lmaWMgU3lzcm9vdHMuXG5Db252ZXJzaW9uIGRv
ZXNuJ3QgbWFrZSBzZW5zZSBhbmQgdGhpcyBjaGFuZ2Ugd2lsbCByZWJ1aWxkIGV2ZXJ5dGhpbmcg
c28gcGxlYXNlIGRlbGV0ZSBUTVBESVIgKCVzKS5cbiIgJSBkLmdldFZhcigiVE1QRElSIikpCiAg
ICAgICAgZWxpZiAoYWJpICE9IGN1cnJlbnRfYWJpKToKICAgICAgICAgICAgIyBDb2RlIHRvIGNv
bnZlcnQgZnJvbSBvbmUgQUJJIHRvIGFub3RoZXIgY291bGQgZ28gaGVyZSBpZiBwb3NzaWJsZS4K
ICAgICAgICAgICAgc3RhdHVzLmFkZHJlc3VsdCgiRXJyb3IsIFRNUERJUiBoYXMgY2hhbmdlZCBp
dHMgbGF5b3V0IHZlcnNpb24gbnVtYmVyICglcyB0byAlcykgYW5kIHlvdSBuZWVkIHRvIGVpdGhl
ciByZWJ1aWxkLCByZXZlcnQgb3IgYWRqdXN0IGl0IGF0IHlvdXIgb3duIHJpc2suXG4iICUgKGFi
aSwgY3VycmVudF9hYmkpKQogICAgZWxzZToKICAgICAgICB3aXRoIG9wZW4oYWJpZmlsZSwgInci
KSBhcyBmOgogICAgICAgICAgICBmLndyaXRlKGN1cnJlbnRfYWJpKQp9CgoKcHl0aG9uIHNldF9i
dWlsZHRpbWVkYXRhICgpIHsKZGVmIHNldF9idWlsZHRpbWVkYXRhKHZhciwgZCk6CiAgICBpbXBv
cnQgdGltZQogICAgdGltZSA9IHRpbWUudGltZSgpCiAgICBjcHV0aW1lID0gZ2V0X2NwdXRpbWUo
KQogICAgcHJvY3RpbWUgPSBnZXRfYnVpbGRwcm9jZXNzX2NwdXRpbWUob3MuZ2V0cGlkKCkpCiAg
ICBkLnNldFZhcih2YXIsICh0aW1lLCBjcHV0aW1lLCBwcm9jdGltZSkpCn0KCgpweXRob24gc2V0
X3BhY2thZ2V0cmlwbGV0ICgpIHsKZGVmIHNldF9wYWNrYWdldHJpcGxldChkKToKICAgIGFyY2hz
ID0gW10KICAgIHRvcyA9IFtdCiAgICB0dnMgPSBbXQoKICAgIGFyY2hzLmFwcGVuZChkLmdldFZh
cigiUEFDS0FHRV9BUkNIUyIpLnNwbGl0KCkpCiAgICB0b3MuYXBwZW5kKGQuZ2V0VmFyKCJUQVJH
RVRfT1MiKSkKICAgIHR2cy5hcHBlbmQoZC5nZXRWYXIoIlRBUkdFVF9WRU5ET1IiKSkKCiAgICBk
ZWYgc2V0dHJpcGxldChkLCB2YXJuYW1lLCBhcmNocywgdG9zLCB0dnMpOgogICAgICAgIHRyaXBs
ZXRzID0gW10KICAgICAgICBmb3IgaSBpbiByYW5nZShsZW4oYXJjaHMpKToKICAgICAgICAgICAg
Zm9yIGFyY2ggaW4gYXJjaHNbaV06CiAgICAgICAgICAgICAgICB0cmlwbGV0cy5hcHBlbmQoYXJj
aCArIHR2c1tpXSArICItIiArIHRvc1tpXSkKICAgICAgICB0cmlwbGV0cy5yZXZlcnNlKCkKICAg
ICAgICBkLnNldFZhcih2YXJuYW1lLCAiICIuam9pbih0cmlwbGV0cykpCgogICAgc2V0dHJpcGxl
dChkLCAiUEtHVFJJUExFVFMiLCBhcmNocywgdG9zLCB0dnMpCgogICAgdmFyaWFudHMgPSBkLmdl
dFZhcigiTVVMVElMSUJfVkFSSUFOVFMiKSBvciAiIgogICAgZm9yIGl0ZW0gaW4gdmFyaWFudHMu
c3BsaXQoKToKICAgICAgICBsb2NhbGRhdGEgPSBiYi5kYXRhLmNyZWF0ZUNvcHkoZCkKICAgICAg
ICBvdmVycmlkZXMgPSBsb2NhbGRhdGEuZ2V0VmFyKCJPVkVSUklERVMiLCBGYWxzZSkgKyAiOnZp
cnRjbGFzcy1tdWx0aWxpYi0iICsgaXRlbQogICAgICAgIGxvY2FsZGF0YS5zZXRWYXIoIk9WRVJS
SURFUyIsIG92ZXJyaWRlcykKCiAgICAgICAgYXJjaHMuYXBwZW5kKGxvY2FsZGF0YS5nZXRWYXIo
IlBBQ0tBR0VfQVJDSFMiKS5zcGxpdCgpKQogICAgICAgIHRvcy5hcHBlbmQobG9jYWxkYXRhLmdl
dFZhcigiVEFSR0VUX09TIikpCiAgICAgICAgdHZzLmFwcGVuZChsb2NhbGRhdGEuZ2V0VmFyKCJU
QVJHRVRfVkVORE9SIikpCgogICAgc2V0dHJpcGxldChkLCAiUEtHTUxUUklQTEVUUyIsIGFyY2hz
LCB0b3MsIHR2cykKfQoKCnB5dGhvbiBzZXRfdGltZWRhdGEgKCkgewpkZWYgc2V0X3RpbWVkYXRh
KHZhciwgZCwgc2VydmVyX3RpbWUpOgogICAgZC5zZXRWYXIodmFyLCBzZXJ2ZXJfdGltZSkKfQoK
CnB5dGhvbiBzZXRzY2VuZV9kZXB2YWxpZCAoKSB7CmRlZiBzZXRzY2VuZV9kZXB2YWxpZCh0YXNr
LCB0YXNrZGVwZW5kZWVzLCBub3RuZWVkZWQsIGQsIGxvZz1Ob25lKToKICAgICMgdGFza2RlcGVu
ZGVlcyBpcyBhIGRpY3Qgb2YgdGFza3Mgd2hpY2ggZGVwZW5kIG9uIHRhc2ssIGVhY2ggYmVpbmcg
YSAzIGl0ZW0gbGlzdCBvZiBbUE4sIFRBU0tOQU1FLCBGSUxFTkFNRV0KICAgICMgdGFzayBpcyBp
bmNsdWRlZCBpbiB0YXNrZGVwZW5kZWVzIHRvbwogICAgIyBSZXR1cm4gLSBGYWxzZSAtIFdlIG5l
ZWQgdGhpcyBkZXBlbmRlbmN5CiAgICAjICAgICAgICAtIFRydWUgLSBXZSBjYW4gc2tpcCB0aGlz
IGRlcGVuZGVuY3kKCiAgICBkZWYgbG9naXQobXNnLCBsb2cpOgogICAgICAgIGlmIGxvZyBpcyBu
b3QgTm9uZToKICAgICAgICAgICAgbG9nLmFwcGVuZChtc2cpCiAgICAgICAgZWxzZToKICAgICAg
ICAgICAgYmIuZGVidWcoMiwgbXNnKQoKICAgIGxvZ2l0KCJDb25zaWRlcmluZyBzZXRzY2VuZSB0
YXNrOiAlcyIgJSAoc3RyKHRhc2tkZXBlbmRlZXNbdGFza10pKSwgbG9nKQoKICAgIGRlZiBpc05h
dGl2ZUNyb3NzKHgpOgogICAgICAgIHJldHVybiB4LmVuZHN3aXRoKCItbmF0aXZlIikgb3IgIi1j
cm9zcy0iIGluIHggb3IgIi1jcm9zc3NkayIgaW4geCBvciB4LmVuZHN3aXRoKCItY3Jvc3MiKQoK
ICAgICMgV2Ugb25seSBuZWVkIHRvIHRyaWdnZXIgcG9wdWxhdGVfbGljIHRocm91Z2ggZGlyZWN0
IGRlcGVuZGVuY2llcwogICAgaWYgdGFza2RlcGVuZGVlc1t0YXNrXVsxXSA9PSAiZG9fcG9wdWxh
dGVfbGljIjoKICAgICAgICByZXR1cm4gVHJ1ZQoKICAgICMgc3Rhc2hfbG9jYWxlIGFuZCBnY2Nf
c3Rhc2hfYnVpbGRkaXIgYXJlIG5ldmVyIG5lZWRlZCBhcyBhIGRlcGVuZGVuY3kgZm9yIGJ1aWx0
IG9iamVjdHMKICAgIGlmIHRhc2tkZXBlbmRlZXNbdGFza11bMV0gPT0gImRvX3N0YXNoX2xvY2Fs
ZSIgb3IgdGFza2RlcGVuZGVlc1t0YXNrXVsxXSA9PSAiZG9fZ2NjX3N0YXNoX2J1aWxkZGlyIjoK
ICAgICAgICByZXR1cm4gVHJ1ZQoKICAgICMgV2Ugb25seSBuZWVkIHRvIHRyaWdnZXIgcGFja2Fn
ZWRhdGEgdGhyb3VnaCBkaXJlY3QgZGVwZW5kZW5jaWVzCiAgICAjIGJ1dCBuZWVkIHRvIHByZXNl
cnZlIHBhY2thZ2VkYXRhIG9uIHBhY2thZ2VkYXRhIGxpbmtzCiAgICBpZiB0YXNrZGVwZW5kZWVz
W3Rhc2tdWzFdID09ICJkb19wYWNrYWdlZGF0YSI6CiAgICAgICAgZm9yIGRlcCBpbiB0YXNrZGVw
ZW5kZWVzOgogICAgICAgICAgICBpZiB0YXNrZGVwZW5kZWVzW2RlcF1bMV0gPT0gImRvX3BhY2th
Z2VkYXRhIjoKICAgICAgICAgICAgICAgIHJldHVybiBGYWxzZQogICAgICAgIHJldHVybiBUcnVl
CgogICAgZm9yIGRlcCBpbiB0YXNrZGVwZW5kZWVzOgogICAgICAgIGxvZ2l0KCIgIGNvbnNpZGVy
aW5nIGRlcGVuZGVuY3k6ICVzIiAlIChzdHIodGFza2RlcGVuZGVlc1tkZXBdKSksIGxvZykKICAg
ICAgICBpZiB0YXNrID09IGRlcDoKICAgICAgICAgICAgY29udGludWUKICAgICAgICBpZiBkZXAg
aW4gbm90bmVlZGVkOgogICAgICAgICAgICBjb250aW51ZQogICAgICAgICMgZG9fcGFja2FnZV93
cml0ZV8qIGFuZCBkb19wYWNrYWdlIGRvZXNuJ3QgbmVlZCBkb19wYWNrYWdlCiAgICAgICAgaWYg
dGFza2RlcGVuZGVlc1t0YXNrXVsxXSA9PSAiZG9fcGFja2FnZSIgYW5kIHRhc2tkZXBlbmRlZXNb
ZGVwXVsxXSBpbiBbJ2RvX3BhY2thZ2UnLCAnZG9fcGFja2FnZV93cml0ZV9kZWInLCAnZG9fcGFj
a2FnZV93cml0ZV9pcGsnLCAnZG9fcGFja2FnZV93cml0ZV9ycG0nLCAnZG9fcGFja2FnZWRhdGEn
LCAnZG9fcGFja2FnZV9xYSddOgogICAgICAgICAgICBjb250aW51ZQogICAgICAgICMgZG9fcGFj
a2FnZV93cml0ZV8qIG5lZWQgZG9fcG9wdWxhdGVfc3lzcm9vdCBhcyB0aGV5J3JlIG1haW5seSBw
b3N0aW5zdGFsbCBkZXBlbmRlbmNpZXMKICAgICAgICBpZiB0YXNrZGVwZW5kZWVzW3Rhc2tdWzFd
ID09ICJkb19wb3B1bGF0ZV9zeXNyb290IiBhbmQgdGFza2RlcGVuZGVlc1tkZXBdWzFdIGluIFsn
ZG9fcGFja2FnZV93cml0ZV9kZWInLCAnZG9fcGFja2FnZV93cml0ZV9pcGsnLCAnZG9fcGFja2Fn
ZV93cml0ZV9ycG0nXToKICAgICAgICAgICAgcmV0dXJuIEZhbHNlCiAgICAgICAgIyBkb19wYWNr
YWdlL3BhY2thZ2VkYXRhL3BhY2thZ2VfcWEgZG9uJ3QgbmVlZCBkb19wb3B1bGF0ZV9zeXNyb290
CiAgICAgICAgaWYgdGFza2RlcGVuZGVlc1t0YXNrXVsxXSA9PSAiZG9fcG9wdWxhdGVfc3lzcm9v
dCIgYW5kIHRhc2tkZXBlbmRlZXNbZGVwXVsxXSBpbiBbJ2RvX3BhY2thZ2UnLCAnZG9fcGFja2Fn
ZWRhdGEnLCAnZG9fcGFja2FnZV9xYSddOgogICAgICAgICAgICBjb250aW51ZQogICAgICAgICMg
TmF0aXZlL0Nyb3NzIHBhY2thZ2VzIGRvbid0IGV4aXN0IGFuZCBhcmUgbm9leGVjIGFueXdheQog
ICAgICAgIGlmIGlzTmF0aXZlQ3Jvc3ModGFza2RlcGVuZGVlc1tkZXBdWzBdKSBhbmQgdGFza2Rl
cGVuZGVlc1tkZXBdWzFdIGluIFsnZG9fcGFja2FnZV93cml0ZV9kZWInLCAnZG9fcGFja2FnZV93
cml0ZV9pcGsnLCAnZG9fcGFja2FnZV93cml0ZV9ycG0nLCAnZG9fcGFja2FnZWRhdGEnLCAnZG9f
cGFja2FnZScsICdkb19wYWNrYWdlX3FhJ106CiAgICAgICAgICAgIGNvbnRpbnVlCgogICAgICAg
ICMgVGhpcyBpcyBkdWUgdG8gdGhlIFtkZXBlbmRzXSBpbiB1c2VyYWRkLmJiY2xhc3MgY29tcGxp
Y2F0aW5nIG1hdHRlcnMKICAgICAgICAjIFRoZSBsb2dpYyAqaXMqIHJldmVyc2VkIGhlcmUgZHVl
IHRvIHRoZSB3YXkgaGFyZCBzZXRzY2VuZSBkZXBlbmRlbmNpZXMgYXJlIGluamVjdGVkCiAgICAg
ICAgaWYgKHRhc2tkZXBlbmRlZXNbdGFza11bMV0gPT0gJ2RvX3BhY2thZ2UnIG9yIHRhc2tkZXBl
bmRlZXNbdGFza11bMV0gPT0gJ2RvX3BvcHVsYXRlX3N5c3Jvb3QnKSBhbmQgdGFza2RlcGVuZGVl
c1tkZXBdWzBdLmVuZHN3aXRoKCgnc2hhZG93LW5hdGl2ZScsICdzaGFkb3ctc3lzcm9vdCcsICdi
YXNlLXBhc3N3ZCcsICdwc2V1ZG8tbmF0aXZlJykpIGFuZCB0YXNrZGVwZW5kZWVzW2RlcF1bMV0g
PT0gJ2RvX3BvcHVsYXRlX3N5c3Jvb3QnOgogICAgICAgICAgICBjb250aW51ZQoKICAgICAgICAj
IENvbnNpZGVyIHN5c3Jvb3QgZGVwZW5kaW5nIG9uIHN5c3Jvb3QgdGFza3MKICAgICAgICBpZiB0
YXNrZGVwZW5kZWVzW3Rhc2tdWzFdID09ICdkb19wb3B1bGF0ZV9zeXNyb290JyBhbmQgdGFza2Rl
cGVuZGVlc1tkZXBdWzFdID09ICdkb19wb3B1bGF0ZV9zeXNyb290JzoKICAgICAgICAgICAgIyBi
YXNlLXBhc3N3ZC9zaGFkb3ctc3lzcm9vdCBkb24ndCBuZWVkIHRoZWlyIGRlcGVuZGVuY2llcwog
ICAgICAgICAgICBpZiB0YXNrZGVwZW5kZWVzW2RlcF1bMF0uZW5kc3dpdGgoKCJiYXNlLXBhc3N3
ZCIsICJzaGFkb3ctc3lzcm9vdCIpKToKICAgICAgICAgICAgICAgIGNvbnRpbnVlCiAgICAgICAg
ICAgICMgTm90aGluZyBuZWVkIGRlcGVuZCBvbiBsaWJjLWluaXRpYWwvZ2NjLWNyb3NzLWluaXRp
YWwKICAgICAgICAgICAgaWYgIi1pbml0aWFsIiBpbiB0YXNrZGVwZW5kZWVzW3Rhc2tdWzBdOgog
ICAgICAgICAgICAgICAgY29udGludWUKICAgICAgICAgICAgIyBGb3IgbWV0YS1leHRzZGstdG9v
bGNoYWluIHdlIHdhbnQgYWxsIHN5c3Jvb3QgZGVwZW5kZW5jaWVzCiAgICAgICAgICAgIGlmIHRh
c2tkZXBlbmRlZXNbZGVwXVswXSA9PSAnbWV0YS1leHRzZGstdG9vbGNoYWluJzoKICAgICAgICAg
ICAgICAgIHJldHVybiBGYWxzZQogICAgICAgICAgICAjIE5hdGl2ZS9Dcm9zcyBwb3B1bGF0ZV9z
eXNyb290IG5lZWQgdGhlaXIgZGVwZW5kZW5jaWVzCiAgICAgICAgICAgIGlmIGlzTmF0aXZlQ3Jv
c3ModGFza2RlcGVuZGVlc1t0YXNrXVswXSkgYW5kIGlzTmF0aXZlQ3Jvc3ModGFza2RlcGVuZGVl
c1tkZXBdWzBdKToKICAgICAgICAgICAgICAgIHJldHVybiBGYWxzZQogICAgICAgICAgICAjIFRh
cmdldCBwb3B1bGF0ZV9zeXNyb290IGRlcGVuZGVkIG9uIGJ5IGNyb3NzIHRvb2xzIG5lZWQgdG8g
YmUgaW5zdGFsbGVkCiAgICAgICAgICAgIGlmIGlzTmF0aXZlQ3Jvc3ModGFza2RlcGVuZGVlc1tk
ZXBdWzBdKToKICAgICAgICAgICAgICAgIHJldHVybiBGYWxzZQogICAgICAgICAgICAjIE5hdGl2
ZS9jcm9zcyB0b29scyBkZXBlbmRlZCB1cG9uIGJ5IHRhcmdldCBzeXNyb290IGFyZSBub3QgbmVl
ZGVkCiAgICAgICAgICAgIGlmIGlzTmF0aXZlQ3Jvc3ModGFza2RlcGVuZGVlc1t0YXNrXVswXSk6
CiAgICAgICAgICAgICAgICBjb250aW51ZQogICAgICAgICAgICAjIFRhcmdldCBwb3B1bGF0ZV9z
eXNyb290IG5lZWQgdGhlaXIgZGVwZW5kZW5jaWVzCiAgICAgICAgICAgIHJldHVybiBGYWxzZQoK
ICAgICAgICBpZiB0YXNrZGVwZW5kZWVzW3Rhc2tdWzFdID09ICdkb19zaGFyZWRfd29ya2Rpcic6
CiAgICAgICAgICAgIGNvbnRpbnVlCgogICAgICAgIGlmIHRhc2tkZXBlbmRlZXNbZGVwXVsxXSA9
PSAiZG9fcG9wdWxhdGVfbGljIjoKICAgICAgICAgICAgY29udGludWUKCgogICAgICAgICMgU2Fm
ZSBmYWxsdGhyb3VnaCBkZWZhdWx0CiAgICAgICAgbG9naXQoIiBEZWZhdWx0IHNldHNjZW5lIGRl
cGVuZGVuY3kgZmFsbCB0aHJvdWdoIGR1ZSB0byBkZXBlbmRlbmN5OiAlcyIgJSAoc3RyKHRhc2tk
ZXBlbmRlZXNbZGVwXSkpLCBsb2cpCiAgICAgICAgcmV0dXJuIEZhbHNlCiAgICByZXR1cm4gVHJ1
ZQp9CgoKcHl0aG9uIHNldHVwX2hvc3R0b29sc19kaXIgKCkgewpkZWYgc2V0dXBfaG9zdHRvb2xz
X2RpcihkZXN0LCB0b29sc3ZhciwgZCwgZmF0YWw9VHJ1ZSk6CiAgICB0b29scyA9IGQuZ2V0VmFy
KHRvb2xzdmFyKS5zcGxpdCgpCiAgICBvcmlnYmJlbnYgPSBkLmdldFZhcigiQkJfT1JJR0VOViIs
IEZhbHNlKQogICAgcGF0aCA9IG9yaWdiYmVudi5nZXRWYXIoIlBBVEgiKQogICAgYmIudXRpbHMu
bWtkaXJoaWVyKGRlc3QpCiAgICBub3Rmb3VuZCA9IFtdCiAgICBmb3IgdG9vbCBpbiB0b29sczoK
ICAgICAgICBkZXN0dG9vbCA9IG9zLnBhdGguam9pbihkZXN0LCB0b29sKQogICAgICAgIGlmIG5v
dCBvcy5wYXRoLmV4aXN0cyhkZXN0dG9vbCk6CiAgICAgICAgICAgIHNyY3Rvb2wgPSBiYi51dGls
cy53aGljaChwYXRoLCB0b29sLCBleGVjdXRhYmxlPVRydWUpCiAgICAgICAgICAgIGlmICJjY2Fj
aGUiIGluIHNyY3Rvb2w6CiAgICAgICAgICAgICAgICBzcmN0b29sID0gYmIudXRpbHMud2hpY2go
cGF0aCwgdG9vbCwgZXhlY3V0YWJsZT1UcnVlLCBkaXJlY3Rpb249MSkKICAgICAgICAgICAgaWYg
c3JjdG9vbDoKICAgICAgICAgICAgICAgIG9zLnN5bWxpbmsoc3JjdG9vbCwgZGVzdHRvb2wpCiAg
ICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICBub3Rmb3VuZC5hcHBlbmQodG9vbCkKICAg
IGlmIG5vdGZvdW5kIGFuZCBmYXRhbDoKICAgICAgICBiYi5mYXRhbCgiVGhlIGZvbGxvd2luZyBy
ZXF1aXJlZCB0b29scyAoYXMgc3BlY2lmaWVkIGJ5IEhPU1RUT09MUykgYXBwZWFyIHRvIGJlIHVu
YXZhaWxhYmxlIGluIFBBVEgsIHBsZWFzZSBpbnN0YWxsIHRoZW0gaW4gb3JkZXIgdG8gcHJvY2Vl
ZDpcbiAgJXMiICUgIiAiLmpvaW4obm90Zm91bmQpKQp9CgoKcHl0aG9uIHNob3VsZF9hcHBseSAo
KSB7CmRlZiBzaG91bGRfYXBwbHkocGFybSwgZCk6CiAgICAiIiJEZXRlcm1pbmUgaWYgd2Ugc2hv
dWxkIGFwcGx5IHRoZSBnaXZlbiBwYXRjaCIiIgogICAgaW1wb3J0IG9lLnBhdGNoCiAgICByZXR1
cm4gb2UucGF0Y2guc2hvdWxkX2FwcGx5KHBhcm0sIGQpCn0KCgpweXRob24gc3BsaXRfYW5kX3N0
cmlwX2ZpbGVzICgpIHsKICAgIGltcG9ydCBzdGF0LCBlcnJubwoKICAgIGR2YXIgPSBkLmdldFZh
cignUEtHRCcpCiAgICBwbiA9IGQuZ2V0VmFyKCdQTicpCgogICAgb2xkY3dkID0gb3MuZ2V0Y3dk
KCkKICAgIG9zLmNoZGlyKGR2YXIpCgogICAgIyBXZSBkZWZhdWx0IHRvICcuZGVidWcnIHN0eWxl
CiAgICBpZiBkLmdldFZhcignUEFDS0FHRV9ERUJVR19TUExJVF9TVFlMRScpID09ICdkZWJ1Zy1m
aWxlLWRpcmVjdG9yeSc6CiAgICAgICAgIyBTaW5nbGUgZGVidWctZmlsZS1kaXJlY3Rvcnkgc3R5
bGUgZGVidWcgaW5mbwogICAgICAgIGRlYnVnYXBwZW5kID0gIi5kZWJ1ZyIKICAgICAgICBkZWJ1
Z2RpciA9ICIiCiAgICAgICAgZGVidWdsaWJkaXIgPSAiL3Vzci9saWIvZGVidWciCiAgICAgICAg
ZGVidWdzcmNkaXIgPSAiL3Vzci9zcmMvZGVidWciCiAgICBlbGlmIGQuZ2V0VmFyKCdQQUNLQUdF
X0RFQlVHX1NQTElUX1NUWUxFJykgPT0gJ2RlYnVnLXdpdGhvdXQtc3JjJzoKICAgICAgICAjIE9y
aWdpbmFsIE9FLWNvcmUsIGEuay5hLiAiLmRlYnVnIiwgc3R5bGUgZGVidWcgaW5mbywgYnV0IHdp
dGhvdXQgc291cmNlcyBpbiAvdXNyL3NyYy9kZWJ1ZwogICAgICAgIGRlYnVnYXBwZW5kID0gIiIK
ICAgICAgICBkZWJ1Z2RpciA9ICIvLmRlYnVnIgogICAgICAgIGRlYnVnbGliZGlyID0gIiIKICAg
ICAgICBkZWJ1Z3NyY2RpciA9ICIiCiAgICBlbHNlOgogICAgICAgICMgT3JpZ2luYWwgT0UtY29y
ZSwgYS5rLmEuICIuZGVidWciLCBzdHlsZSBkZWJ1ZyBpbmZvCiAgICAgICAgZGVidWdhcHBlbmQg
PSAiIgogICAgICAgIGRlYnVnZGlyID0gIi8uZGVidWciCiAgICAgICAgZGVidWdsaWJkaXIgPSAi
IgogICAgICAgIGRlYnVnc3JjZGlyID0gIi91c3Ivc3JjL2RlYnVnIgoKICAgIHNvdXJjZWZpbGUg
PSBkLmV4cGFuZCgiJHtXT1JLRElSfS9kZWJ1Z3NvdXJjZXMubGlzdCIpCiAgICBiYi51dGlscy5y
ZW1vdmUoc291cmNlZmlsZSkKCiAgICAjIFJldHVybiB0eXBlIChiaXRzKToKICAgICMgMCAtIG5v
dCBlbGYKICAgICMgMSAtIEVMRgogICAgIyAyIC0gc3RyaXBwZWQKICAgICMgNCAtIGV4ZWN1dGFi
bGUKICAgICMgOCAtIHNoYXJlZCBsaWJyYXJ5CiAgICAjIDE2IC0ga2VybmVsIG1vZHVsZQogICAg
ZGVmIGlzRUxGKHBhdGgpOgogICAgICAgIHR5cGUgPSAwCiAgICAgICAgcmV0LCByZXN1bHQgPSBv
ZS51dGlscy5nZXRzdGF0dXNvdXRwdXQoImZpbGUgXCIlc1wiIiAlIHBhdGgucmVwbGFjZSgiXCIi
LCAiXFxcIiIpKQoKICAgICAgICBpZiByZXQ6CiAgICAgICAgICAgIG1zZyA9ICJzcGxpdF9hbmRf
c3RyaXBfZmlsZXM6ICdmaWxlICVzJyBmYWlsZWQiICUgcGF0aAogICAgICAgICAgICBwYWNrYWdl
X3FhX2hhbmRsZV9lcnJvcigic3BsaXQtc3RyaXAiLCBtc2csIGQpCiAgICAgICAgICAgIHJldHVy
biB0eXBlCgogICAgICAgICMgTm90IHN0cmlwcGVkCiAgICAgICAgaWYgIkVMRiIgaW4gcmVzdWx0
OgogICAgICAgICAgICB0eXBlIHw9IDEKICAgICAgICAgICAgaWYgIm5vdCBzdHJpcHBlZCIgbm90
IGluIHJlc3VsdDoKICAgICAgICAgICAgICAgIHR5cGUgfD0gMgogICAgICAgICAgICBpZiAiZXhl
Y3V0YWJsZSIgaW4gcmVzdWx0OgogICAgICAgICAgICAgICAgdHlwZSB8PSA0CiAgICAgICAgICAg
IGlmICJzaGFyZWQiIGluIHJlc3VsdDoKICAgICAgICAgICAgICAgIHR5cGUgfD0gOAogICAgICAg
IHJldHVybiB0eXBlCgoKICAgICMKICAgICMgRmlyc3QgbGV0cyBmaWd1cmUgb3V0IGFsbCBvZiB0
aGUgZmlsZXMgd2UgbWF5IGhhdmUgdG8gcHJvY2VzcyAuLi4gZG8gdGhpcyBvbmx5IG9uY2UhCiAg
ICAjCiAgICBlbGZmaWxlcyA9IHt9CiAgICBzeW1saW5rcyA9IHt9CiAgICBrZXJubW9kcyA9IFtd
CiAgICBpbm9kZXMgPSB7fQogICAgbGliZGlyID0gb3MucGF0aC5hYnNwYXRoKGR2YXIgKyBvcy5z
ZXAgKyBkLmdldFZhcigibGliZGlyIikpCiAgICBiYXNlbGliZGlyID0gb3MucGF0aC5hYnNwYXRo
KGR2YXIgKyBvcy5zZXAgKyBkLmdldFZhcigiYmFzZV9saWJkaXIiKSkKICAgIGlmIChkLmdldFZh
cignSU5ISUJJVF9QQUNLQUdFX1NUUklQJykgIT0gJzEnIG9yIFwKICAgICAgICAgICAgZC5nZXRW
YXIoJ0lOSElCSVRfUEFDS0FHRV9ERUJVR19TUExJVCcpICE9ICcxJyk6CiAgICAgICAgZm9yIHJv
b3QsIGRpcnMsIGZpbGVzIGluIGNwYXRoLndhbGsoZHZhcik6CiAgICAgICAgICAgIGZvciBmIGlu
IGZpbGVzOgogICAgICAgICAgICAgICAgZmlsZSA9IG9zLnBhdGguam9pbihyb290LCBmKQogICAg
ICAgICAgICAgICAgaWYgZmlsZS5lbmRzd2l0aCgiLmtvIikgYW5kIGZpbGUuZmluZCgiL2xpYi9t
b2R1bGVzLyIpICE9IC0xOgogICAgICAgICAgICAgICAgICAgIGtlcm5tb2RzLmFwcGVuZChmaWxl
KQogICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCgogICAgICAgICAgICAgICAgIyBTa2lwIGRl
YnVnIGZpbGVzCiAgICAgICAgICAgICAgICBpZiBkZWJ1Z2FwcGVuZCBhbmQgZmlsZS5lbmRzd2l0
aChkZWJ1Z2FwcGVuZCk6CiAgICAgICAgICAgICAgICAgICAgY29udGludWUKICAgICAgICAgICAg
ICAgIGlmIGRlYnVnZGlyIGFuZCBkZWJ1Z2RpciBpbiBvcy5wYXRoLmRpcm5hbWUoZmlsZVtsZW4o
ZHZhcik6XSk6CiAgICAgICAgICAgICAgICAgICAgY29udGludWUKCiAgICAgICAgICAgICAgICB0
cnk6CiAgICAgICAgICAgICAgICAgICAgbHRhcmdldCA9IGNwYXRoLnJlYWxwYXRoKGZpbGUsIGR2
YXIsIEZhbHNlKQogICAgICAgICAgICAgICAgICAgIHMgPSBjcGF0aC5sc3RhdChsdGFyZ2V0KQog
ICAgICAgICAgICAgICAgZXhjZXB0IE9TRXJyb3IgYXMgZToKICAgICAgICAgICAgICAgICAgICAo
ZXJyLCBzdHJlcnJvcikgPSBlLmFyZ3MKICAgICAgICAgICAgICAgICAgICBpZiBlcnIgIT0gZXJy
bm8uRU5PRU5UOgogICAgICAgICAgICAgICAgICAgICAgICByYWlzZQogICAgICAgICAgICAgICAg
ICAgICMgU2tpcCBicm9rZW4gc3ltbGlua3MKICAgICAgICAgICAgICAgICAgICBjb250aW51ZQog
ICAgICAgICAgICAgICAgaWYgbm90IHM6CiAgICAgICAgICAgICAgICAgICAgY29udGludWUKICAg
ICAgICAgICAgICAgICMgQ2hlY2sgaXRzIGFuIGV4Y3V0YWJsZQogICAgICAgICAgICAgICAgaWYg
KHNbc3RhdC5TVF9NT0RFXSAmIHN0YXQuU19JWFVTUikgb3IgKHNbc3RhdC5TVF9NT0RFXSAmIHN0
YXQuU19JWEdSUCkgb3IgKHNbc3RhdC5TVF9NT0RFXSAmIHN0YXQuU19JWE9USCkgXAogICAgICAg
ICAgICAgICAgICAgICAgICBvciAoKGZpbGUuc3RhcnRzd2l0aChsaWJkaXIpIG9yIGZpbGUuc3Rh
cnRzd2l0aChiYXNlbGliZGlyKSkgYW5kICgiLnNvIiBpbiBmIG9yICIubm9kZSIgaW4gZikpOgog
ICAgICAgICAgICAgICAgICAgICMgSWYgaXQncyBhIHN5bWxpbmssIGFuZCBwb2ludHMgdG8gYW4g
RUxGIGZpbGUsIHdlIGNhcHR1cmUgdGhlIHJlYWRsaW5rIHRhcmdldAogICAgICAgICAgICAgICAg
ICAgIGlmIGNwYXRoLmlzbGluayhmaWxlKToKICAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0
ID0gb3MucmVhZGxpbmsoZmlsZSkKICAgICAgICAgICAgICAgICAgICAgICAgaWYgaXNFTEYobHRh
cmdldCk6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAjYmIubm90ZSgiU3ltOiAlcyAoJWQp
IiAlIChsdGFyZ2V0LCBpc0VMRihsdGFyZ2V0KSkpCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBzeW1saW5rc1tmaWxlXSA9IHRhcmdldAogICAgICAgICAgICAgICAgICAgICAgICBjb250aW51
ZQoKICAgICAgICAgICAgICAgICAgICAjIEl0J3MgYSBmaWxlIChvciBoYXJkbGluayksIG5vdCBh
IGxpbmsKICAgICAgICAgICAgICAgICAgICAjIC4uLmJ1dCBpcyBpdCBFTEYsIGFuZCBpcyBpdCBh
bHJlYWR5IHN0cmlwcGVkPwogICAgICAgICAgICAgICAgICAgIGVsZl9maWxlID0gaXNFTEYoZmls
ZSkKICAgICAgICAgICAgICAgICAgICBpZiBlbGZfZmlsZSAmIDE6CiAgICAgICAgICAgICAgICAg
ICAgICAgIGlmIGVsZl9maWxlICYgMjoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICdh
bHJlYWR5LXN0cmlwcGVkJyBpbiAoZC5nZXRWYXIoJ0lOU0FORV9TS0lQXycgKyBwbikgb3IgIiIp
LnNwbGl0KCk6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmIubm90ZSgiU2tpcHBp
bmcgZmlsZSAlcyBmcm9tICVzIGZvciBhbHJlYWR5LXN0cmlwcGVkIFFBIHRlc3QiICUgKGZpbGVb
bGVuKGR2YXIpOl0sIHBuKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2U6CiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNnID0gIkZpbGUgJyVzJyBmcm9tICVzIHdhcyBh
bHJlYWR5IHN0cmlwcGVkLCB0aGlzIHdpbGwgcHJldmVudCBmdXR1cmUgZGVidWdnaW5nISIgJSAo
ZmlsZVtsZW4oZHZhcik6XSwgcG4pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFj
a2FnZV9xYV9oYW5kbGVfZXJyb3IoImFscmVhZHktc3RyaXBwZWQiLCBtc2csIGQpCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb250aW51ZQoKICAgICAgICAgICAgICAgICAgICAgICAgIyBB
dCB0aGlzIHBvaW50IHdlIGhhdmUgYW4gdW5zdHJpcHBlZCBlbGYgZmlsZS4gV2UgbmVlZCB0bzoK
ICAgICAgICAgICAgICAgICAgICAgICAgIyAgYSkgTWFrZSBzdXJlIGFueSBmaWxlIHdlIHN0cmlw
IGlzIG5vdCBoYXJkbGlua2VkIHRvIGFueXRoaW5nIGVsc2Ugb3V0c2lkZSB0aGlzIHRyZWUKICAg
ICAgICAgICAgICAgICAgICAgICAgIyAgYikgT25seSBzdHJpcCBhbnkgaGFyZGxpbmtlZCBmaWxl
IG9uY2UgKG5vIHJhY2VzKQogICAgICAgICAgICAgICAgICAgICAgICAjICBjKSBUcmFjayBhbnkg
aGFyZGxpbmtzIGJldHdlZW4gZmlsZXMgc28gdGhhdCB3ZSBjYW4gcmVjb25zdHJ1Y3QgbWF0Y2hp
bmcgZGVidWcgZmlsZSBoYXJkbGlua3MKCiAgICAgICAgICAgICAgICAgICAgICAgICMgVXNlIGEg
cmVmZXJlbmNlIG9mIGRldmljZSBJRCBhbmQgaW5vZGUgbnVtYmVyIHRvIGluZGVudGlmeSBmaWxl
cwogICAgICAgICAgICAgICAgICAgICAgICBmaWxlX3JlZmVyZW5jZSA9ICIlZF8lZCIgJSAocy5z
dF9kZXYsIHMuc3RfaW5vKQogICAgICAgICAgICAgICAgICAgICAgICBpZiBmaWxlX3JlZmVyZW5j
ZSBpbiBpbm9kZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcy51bmxpbmsoZmlsZSkK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9zLmxpbmsoaW5vZGVzW2ZpbGVfcmVmZXJlbmNl
XVswXSwgZmlsZSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlub2Rlc1tmaWxlX3JlZmVy
ZW5jZV0uYXBwZW5kKGZpbGUpCiAgICAgICAgICAgICAgICAgICAgICAgIGVsc2U6CiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbm9kZXNbZmlsZV9yZWZlcmVuY2VdID0gW2ZpbGVdCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAjIGJyZWFrIGhhcmRsaW5rCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBiYi51dGlscy5jb3B5ZmlsZShmaWxlLCBmaWxlKQogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgZWxmZmlsZXNbZmlsZV0gPSBlbGZfZmlsZQogICAgICAgICAgICAgICAgICAg
ICAgICAjIE1vZGlmaWVkIHRoZSBmaWxlIHNvIGNsZWFyIHRoZSBjYWNoZQogICAgICAgICAgICAg
ICAgICAgICAgICBjcGF0aC51cGRhdGVjYWNoZShmaWxlKQoKICAgICMKICAgICMgRmlyc3QgbGV0
cyBwcm9jZXNzIGRlYnVnIHNwbGl0dGluZwogICAgIwogICAgaWYgKGQuZ2V0VmFyKCdJTkhJQklU
X1BBQ0tBR0VfREVCVUdfU1BMSVQnKSAhPSAnMScpOgogICAgICAgIGZvciBmaWxlIGluIGVsZmZp
bGVzOgogICAgICAgICAgICBzcmMgPSBmaWxlW2xlbihkdmFyKTpdCiAgICAgICAgICAgIGRlc3Qg
PSBkZWJ1Z2xpYmRpciArIG9zLnBhdGguZGlybmFtZShzcmMpICsgZGVidWdkaXIgKyAiLyIgKyBv
cy5wYXRoLmJhc2VuYW1lKHNyYykgKyBkZWJ1Z2FwcGVuZAogICAgICAgICAgICBmcGF0aCA9IGR2
YXIgKyBkZXN0CgogICAgICAgICAgICAjIFNwbGl0IHRoZSBmaWxlLi4uCiAgICAgICAgICAgIGJi
LnV0aWxzLm1rZGlyaGllcihvcy5wYXRoLmRpcm5hbWUoZnBhdGgpKQogICAgICAgICAgICAjYmIu
bm90ZSgiU3BsaXQgJXMgLT4gJXMiICUgKGZpbGUsIGZwYXRoKSkKICAgICAgICAgICAgIyBPbmx5
IHN0b3JlIG9mZiB0aGUgaGFyZCBsaW5rIHJlZmVyZW5jZSBpZiB3ZSBzdWNjZXNzZnVsbHkgc3Bs
aXQhCiAgICAgICAgICAgIHNwbGl0ZGVidWdpbmZvKGZpbGUsIGZwYXRoLCBkZWJ1Z3NyY2Rpciwg
c291cmNlZmlsZSwgZCkKCiAgICAgICAgIyBIYXJkbGluayBvdXIgZGVidWcgc3ltYm9scyB0byB0
aGUgb3RoZXIgaGFyZGxpbmsgY29waWVzCiAgICAgICAgZm9yIHJlZiBpbiBpbm9kZXM6CiAgICAg
ICAgICAgIGlmIGxlbihpbm9kZXNbcmVmXSkgPT0gMToKICAgICAgICAgICAgICAgIGNvbnRpbnVl
CiAgICAgICAgICAgIGZvciBmaWxlIGluIGlub2Rlc1tyZWZdWzE6XToKICAgICAgICAgICAgICAg
IHNyYyA9IGZpbGVbbGVuKGR2YXIpOl0KICAgICAgICAgICAgICAgIGRlc3QgPSBkZWJ1Z2xpYmRp
ciArIG9zLnBhdGguZGlybmFtZShzcmMpICsgZGVidWdkaXIgKyAiLyIgKyBvcy5wYXRoLmJhc2Vu
YW1lKHNyYykgKyBkZWJ1Z2FwcGVuZAogICAgICAgICAgICAgICAgZnBhdGggPSBkdmFyICsgZGVz
dAogICAgICAgICAgICAgICAgdGFyZ2V0ID0gaW5vZGVzW3JlZl1bMF1bbGVuKGR2YXIpOl0KICAg
ICAgICAgICAgICAgIGZ0YXJnZXQgPSBkdmFyICsgZGVidWdsaWJkaXIgKyBvcy5wYXRoLmRpcm5h
bWUodGFyZ2V0KSArIGRlYnVnZGlyICsgIi8iICsgb3MucGF0aC5iYXNlbmFtZSh0YXJnZXQpICsg
ZGVidWdhcHBlbmQKICAgICAgICAgICAgICAgIGJiLnV0aWxzLm1rZGlyaGllcihvcy5wYXRoLmRp
cm5hbWUoZnBhdGgpKQogICAgICAgICAgICAgICAgI2JiLm5vdGUoIkxpbmsgJXMgLT4gJXMiICUg
KGZwYXRoLCBmdGFyZ2V0KSkKICAgICAgICAgICAgICAgIG9zLmxpbmsoZnRhcmdldCwgZnBhdGgp
CgogICAgICAgICMgQ3JlYXRlIHN5bWxpbmtzIGZvciBhbGwgY2FzZXMgd2Ugd2VyZSBhYmxlIHRv
IHNwbGl0IHN5bWJvbHMKICAgICAgICBmb3IgZmlsZSBpbiBzeW1saW5rczoKICAgICAgICAgICAg
c3JjID0gZmlsZVtsZW4oZHZhcik6XQogICAgICAgICAgICBkZXN0ID0gZGVidWdsaWJkaXIgKyBv
cy5wYXRoLmRpcm5hbWUoc3JjKSArIGRlYnVnZGlyICsgIi8iICsgb3MucGF0aC5iYXNlbmFtZShz
cmMpICsgZGVidWdhcHBlbmQKICAgICAgICAgICAgZnBhdGggPSBkdmFyICsgZGVzdAogICAgICAg
ICAgICAjIFNraXAgaXQgaWYgdGhlIHRhcmdldCBkb2Vzbid0IGV4aXN0CiAgICAgICAgICAgIHRy
eToKICAgICAgICAgICAgICAgIHMgPSBvcy5zdGF0KGZwYXRoKQogICAgICAgICAgICBleGNlcHQg
T1NFcnJvciBhcyBlOgogICAgICAgICAgICAgICAgKGVyciwgc3RyZXJyb3IpID0gZS5hcmdzCiAg
ICAgICAgICAgICAgICBpZiBlcnIgIT0gZXJybm8uRU5PRU5UOgogICAgICAgICAgICAgICAgICAg
IHJhaXNlCiAgICAgICAgICAgICAgICBjb250aW51ZQoKICAgICAgICAgICAgbHRhcmdldCA9IHN5
bWxpbmtzW2ZpbGVdCiAgICAgICAgICAgIGxwYXRoID0gb3MucGF0aC5kaXJuYW1lKGx0YXJnZXQp
CiAgICAgICAgICAgIGxiYXNlID0gb3MucGF0aC5iYXNlbmFtZShsdGFyZ2V0KQogICAgICAgICAg
ICBmdGFyZ2V0ID0gIiIKICAgICAgICAgICAgaWYgbHBhdGggYW5kIGxwYXRoICE9ICIuIjoKICAg
ICAgICAgICAgICAgIGZ0YXJnZXQgKz0gbHBhdGggKyBkZWJ1Z2RpciArICIvIgogICAgICAgICAg
ICBmdGFyZ2V0ICs9IGxiYXNlICsgZGVidWdhcHBlbmQKICAgICAgICAgICAgaWYgbHBhdGguc3Rh
cnRzd2l0aCgiLi4iKToKICAgICAgICAgICAgICAgIGZ0YXJnZXQgPSBvcy5wYXRoLmpvaW4oIi4u
IiwgZnRhcmdldCkKICAgICAgICAgICAgYmIudXRpbHMubWtkaXJoaWVyKG9zLnBhdGguZGlybmFt
ZShmcGF0aCkpCiAgICAgICAgICAgICNiYi5ub3RlKCJTeW1saW5rICVzIC0+ICVzIiAlIChmcGF0
aCwgZnRhcmdldCkpCiAgICAgICAgICAgIG9zLnN5bWxpbmsoZnRhcmdldCwgZnBhdGgpCgogICAg
ICAgICMgUHJvY2VzcyB0aGUgZGVidWdzcmNkaXIgaWYgcmVxdWVzdGVkLi4uCiAgICAgICAgIyBU
aGlzIGNvcGllcyBhbmQgcGxhY2VzIHRoZSByZWZlcmVuY2VkIHNvdXJjZXMgZm9yIGxhdGVyIGRl
YnVnZ2luZy4uLgogICAgICAgIGNvcHlkZWJ1Z3NvdXJjZXMoZGVidWdzcmNkaXIsIGQpCiAgICAj
CiAgICAjIEVuZCBvZiBkZWJ1ZyBzcGxpdHRpbmcKICAgICMKCiAgICAjCiAgICAjIE5vdyBsZXRz
IGdvIGJhY2sgb3ZlciB0aGluZ3MgYW5kIHN0cmlwIHRoZW0KICAgICMKICAgIGlmIChkLmdldFZh
cignSU5ISUJJVF9QQUNLQUdFX1NUUklQJykgIT0gJzEnKToKICAgICAgICBzdHJpcCA9IGQuZ2V0
VmFyKCJTVFJJUCIpCiAgICAgICAgc2ZpbGVzID0gW10KICAgICAgICBmb3IgZmlsZSBpbiBlbGZm
aWxlczoKICAgICAgICAgICAgZWxmX2ZpbGUgPSBpbnQoZWxmZmlsZXNbZmlsZV0pCiAgICAgICAg
ICAgICNiYi5ub3RlKCJTdHJpcCAlcyIgJSBmaWxlKQogICAgICAgICAgICBzZmlsZXMuYXBwZW5k
KChmaWxlLCBlbGZfZmlsZSwgc3RyaXApKQogICAgICAgIGZvciBmIGluIGtlcm5tb2RzOgogICAg
ICAgICAgICBzZmlsZXMuYXBwZW5kKChmLCAxNiwgc3RyaXApKQoKICAgICAgICBvZS51dGlscy5t
dWx0aXByb2Nlc3NfZXhlYyhzZmlsZXMsIG9lLnBhY2thZ2UucnVuc3RyaXApCgogICAgIwogICAg
IyBFbmQgb2Ygc3RyaXAKICAgICMKICAgIG9zLmNoZGlyKG9sZGN3ZCkKfQoKCnB5dGhvbiBzcGxp
dF9rZXJuZWxfbW9kdWxlX3BhY2thZ2VzICgpIHsKICAgIGltcG9ydCByZQoKICAgIG1vZGluZm9l
eHAgPSByZS5jb21waWxlKCIoW149XSspPSguKikiKQoKICAgIGRlZiBleHRyYWN0X21vZGluZm8o
ZmlsZSk6CiAgICAgICAgaW1wb3J0IHRlbXBmaWxlLCBzdWJwcm9jZXNzCiAgICAgICAgdGVtcGZp
bGUudGVtcGRpciA9IGQuZ2V0VmFyKCJXT1JLRElSIikKICAgICAgICB0ZiA9IHRlbXBmaWxlLm1r
c3RlbXAoKQogICAgICAgIHRtcGZpbGUgPSB0ZlsxXQogICAgICAgIGNtZCA9ICIlc29iamNvcHkg
LWogLm1vZGluZm8gLU8gYmluYXJ5ICVzICVzIiAlIChkLmdldFZhcigiSE9TVF9QUkVGSVgiKSBv
ciAiIiwgZmlsZSwgdG1wZmlsZSkKICAgICAgICBzdWJwcm9jZXNzLmNhbGwoY21kLCBzaGVsbD1U
cnVlKQogICAgICAgIGYgPSBvcGVuKHRtcGZpbGUpCiAgICAgICAgbCA9IGYucmVhZCgpLnNwbGl0
KCJcMDAwIikKICAgICAgICBmLmNsb3NlKCkKICAgICAgICBvcy5jbG9zZSh0ZlswXSkKICAgICAg
ICBvcy51bmxpbmsodG1wZmlsZSkKICAgICAgICB2YWxzID0ge30KICAgICAgICBmb3IgaSBpbiBs
OgogICAgICAgICAgICBtID0gbW9kaW5mb2V4cC5tYXRjaChpKQogICAgICAgICAgICBpZiBub3Qg
bToKICAgICAgICAgICAgICAgIGNvbnRpbnVlCiAgICAgICAgICAgIHZhbHNbbS5ncm91cCgxKV0g
PSBtLmdyb3VwKDIpCiAgICAgICAgcmV0dXJuIHZhbHMKCiAgICBkZWYgZnJvYl9tZXRhZGF0YShm
aWxlLCBwa2csIHBhdHRlcm4sIGZvcm1hdCwgYmFzZW5hbWUpOgogICAgICAgIHZhbHMgPSBleHRy
YWN0X21vZGluZm8oZmlsZSkKCiAgICAgICAgZHZhciA9IGQuZ2V0VmFyKCdQS0dEJykKCiAgICAg
ICAgIyBJZiBhdXRvbG9hZGluZyBpcyByZXF1ZXN0ZWQsIG91dHB1dCAvZXRjL21vZHVsZXMtbG9h
ZC5kLzxuYW1lPi5jb25mIGFuZCBhcHBlbmQKICAgICAgICAjIGFwcHJvcHJpYXRlIG1vZHByb2Jl
IGNvbW1hbmRzIHRvIHRoZSBwb3N0aW5zdAogICAgICAgIGF1dG9sb2FkbGlzdCA9IChkLmdldFZh
cigiS0VSTkVMX01PRFVMRV9BVVRPTE9BRCIpIG9yICIiKS5zcGxpdCgpCiAgICAgICAgYXV0b2xv
YWQgPSBkLmdldFZhcignbW9kdWxlX2F1dG9sb2FkXyVzJyAlIGJhc2VuYW1lKQogICAgICAgIGlm
IGF1dG9sb2FkIGFuZCBhdXRvbG9hZCA9PSBiYXNlbmFtZToKICAgICAgICAgICAgYmIud2Fybigi
bW9kdWxlX2F1dG9sb2FkXyVzIHdhcyByZXBsYWNlZCBieSBLRVJORUxfTU9EVUxFX0FVVE9MT0FE
IGZvciBjYXNlcyB3aGVyZSBiYXNlbmFtZSA9PSBtb2R1bGUgbmFtZSwgcGxlYXNlIGRyb3AgaXQi
ICUgYmFzZW5hbWUpCiAgICAgICAgaWYgYXV0b2xvYWQgYW5kIGJhc2VuYW1lIG5vdCBpbiBhdXRv
bG9hZGxpc3Q6CiAgICAgICAgICAgIGJiLndhcm4oIm1vZHVsZV9hdXRvbG9hZF8lcyBpcyBkZWZp
bmVkIGJ1dCAnJXMnIGlzbid0IGluY2x1ZGVkIGluIEtFUk5FTF9NT0RVTEVfQVVUT0xPQUQsIHBs
ZWFzZSBhZGQgaXQgdGhlcmUiICUgKGJhc2VuYW1lLCBiYXNlbmFtZSkpCiAgICAgICAgaWYgYmFz
ZW5hbWUgaW4gYXV0b2xvYWRsaXN0OgogICAgICAgICAgICBuYW1lID0gJyVzL2V0Yy9tb2R1bGVz
LWxvYWQuZC8lcy5jb25mJyAlIChkdmFyLCBiYXNlbmFtZSkKICAgICAgICAgICAgZiA9IG9wZW4o
bmFtZSwgJ3cnKQogICAgICAgICAgICBpZiBhdXRvbG9hZDoKICAgICAgICAgICAgICAgIGZvciBt
IGluIGF1dG9sb2FkLnNwbGl0KCk6CiAgICAgICAgICAgICAgICAgICAgZi53cml0ZSgnJXNcbicg
JSBtKQogICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgZi53cml0ZSgnJXNcbicgJSBi
YXNlbmFtZSkKICAgICAgICAgICAgZi5jbG9zZSgpCiAgICAgICAgICAgIHBvc3RpbnN0ID0gZC5n
ZXRWYXIoJ3BrZ19wb3N0aW5zdF8lcycgJSBwa2cpCiAgICAgICAgICAgIGlmIG5vdCBwb3N0aW5z
dDoKICAgICAgICAgICAgICAgIGJiLmZhdGFsKCJwa2dfcG9zdGluc3RfJXMgbm90IGRlZmluZWQi
ICUgcGtnKQogICAgICAgICAgICBwb3N0aW5zdCArPSBkLmdldFZhcignYXV0b2xvYWRfcG9zdGlu
c3RfZnJhZ21lbnQnKSAlIChhdXRvbG9hZCBvciBiYXNlbmFtZSkKICAgICAgICAgICAgZC5zZXRW
YXIoJ3BrZ19wb3N0aW5zdF8lcycgJSBwa2csIHBvc3RpbnN0KQoKICAgICAgICAjIFdyaXRlIG91
dCBhbnkgbW9kY29uZiBmcmFnbWVudAogICAgICAgIG1vZGNvbmZsaXN0ID0gKGQuZ2V0VmFyKCJL
RVJORUxfTU9EVUxFX1BST0JFQ09ORiIpIG9yICIiKS5zcGxpdCgpCiAgICAgICAgbW9kY29uZiA9
IGQuZ2V0VmFyKCdtb2R1bGVfY29uZl8lcycgJSBiYXNlbmFtZSkKICAgICAgICBpZiBtb2Rjb25m
IGFuZCBiYXNlbmFtZSBpbiBtb2Rjb25mbGlzdDoKICAgICAgICAgICAgbmFtZSA9ICclcy9ldGMv
bW9kcHJvYmUuZC8lcy5jb25mJyAlIChkdmFyLCBiYXNlbmFtZSkKICAgICAgICAgICAgZiA9IG9w
ZW4obmFtZSwgJ3cnKQogICAgICAgICAgICBmLndyaXRlKCIlc1xuIiAlIG1vZGNvbmYpCiAgICAg
ICAgICAgIGYuY2xvc2UoKQogICAgICAgIGVsaWYgbW9kY29uZjoKICAgICAgICAgICAgYmIuZXJy
b3IoIlBsZWFzZSBlbnN1cmUgbW9kdWxlICVzIGlzIGxpc3RlZCBpbiBLRVJORUxfTU9EVUxFX1BS
T0JFQ09ORiBzaW5jZSBtb2R1bGVfY29uZl8lcyBpcyBzZXQiICUgKGJhc2VuYW1lLCBiYXNlbmFt
ZSkpCgogICAgICAgIGZpbGVzID0gZC5nZXRWYXIoJ0ZJTEVTXyVzJyAlIHBrZykKICAgICAgICBm
aWxlcyA9ICIlcyAvZXRjL21vZHVsZXMtbG9hZC5kLyVzLmNvbmYgL2V0Yy9tb2Rwcm9iZS5kLyVz
LmNvbmYiICUgKGZpbGVzLCBiYXNlbmFtZSwgYmFzZW5hbWUpCiAgICAgICAgZC5zZXRWYXIoJ0ZJ
TEVTXyVzJyAlIHBrZywgZmlsZXMpCgogICAgICAgIGlmICJkZXNjcmlwdGlvbiIgaW4gdmFsczoK
ICAgICAgICAgICAgb2xkX2Rlc2MgPSBkLmdldFZhcignREVTQ1JJUFRJT05fJyArIHBrZykgb3Ig
IiIKICAgICAgICAgICAgZC5zZXRWYXIoJ0RFU0NSSVBUSU9OXycgKyBwa2csIG9sZF9kZXNjICsg
IjsgIiArIHZhbHNbImRlc2NyaXB0aW9uIl0pCgogICAgICAgIHJkZXBlbmRzID0gYmIudXRpbHMu
ZXhwbG9kZV9kZXBfdmVyc2lvbnMyKGQuZ2V0VmFyKCdSREVQRU5EU18nICsgcGtnKSBvciAiIikK
ICAgICAgICBtb2RpbmZvX2RlcHMgPSBbXQogICAgICAgIGlmICJkZXBlbmRzIiBpbiB2YWxzIGFu
ZCB2YWxzWyJkZXBlbmRzIl0gIT0gIiI6CiAgICAgICAgICAgIGZvciBkZXAgaW4gdmFsc1siZGVw
ZW5kcyJdLnNwbGl0KCIsIik6CiAgICAgICAgICAgICAgICBvbiA9IGxlZ2l0aW1pemVfcGFja2Fn
ZV9uYW1lKGRlcCkKICAgICAgICAgICAgICAgIGRlcGVuZGVuY3lfcGtnID0gZm9ybWF0ICUgb24K
ICAgICAgICAgICAgICAgIG1vZGluZm9fZGVwcy5hcHBlbmQoZGVwZW5kZW5jeV9wa2cpCiAgICAg
ICAgZm9yIGRlcCBpbiBtb2RpbmZvX2RlcHM6CiAgICAgICAgICAgIGlmIG5vdCBkZXAgaW4gcmRl
cGVuZHM6CiAgICAgICAgICAgICAgICByZGVwZW5kc1tkZXBdID0gW10KICAgICAgICBkLnNldFZh
cignUkRFUEVORFNfJyArIHBrZywgYmIudXRpbHMuam9pbl9kZXBzKHJkZXBlbmRzLCBjb21tYXNl
cD1GYWxzZSkpCgogICAgICAgICMgQXZvaWQgYXV0b21hdGljIC1kZXYgcmVjb21tZW5kYXRpb25z
IGZvciBtb2R1bGVzIGVuZGluZyB3aXRoIC1kZXYuCiAgICAgICAgZC5zZXRWYXJGbGFnKCdSUkVD
T01NRU5EU18nICsgcGtnLCAnbm9kZXBycmVjcycsIDEpCgogICAgICAgICMgUHJvdmlkZSB2aXJ0
dWFsIHBhY2thZ2Ugd2l0aG91dCBwb3N0Zml4CiAgICAgICAgcHJvdmlkZXZpcnQgPSBkLmdldFZh
cignS0VSTkVMX01PRFVMRV9QUk9WSURFX1ZJUlRVQUwnKQogICAgICAgIGlmIHByb3ZpZGV2aXJ0
ID09ICIxIjoKICAgICAgICAgICBwb3N0Zml4ID0gZm9ybWF0LnNwbGl0KCclcycpWzFdCiAgICAg
ICAgICAgZC5zZXRWYXIoJ1JQUk9WSURFU18nICsgcGtnLCBwa2cucmVwbGFjZShwb3N0Zml4LCAn
JykpCgogICAgbW9kdWxlX3JlZ2V4ID0gJ14oLiopXC5rP28kJwoKICAgIG1vZHVsZV9wYXR0ZXJu
X3ByZWZpeCA9IGQuZ2V0VmFyKCdLRVJORUxfTU9EVUxFX1BBQ0tBR0VfUFJFRklYJykKICAgIG1v
ZHVsZV9wYXR0ZXJuX3N1ZmZpeCA9IGQuZ2V0VmFyKCdLRVJORUxfTU9EVUxFX1BBQ0tBR0VfU1VG
RklYJykKICAgIG1vZHVsZV9wYXR0ZXJuID0gbW9kdWxlX3BhdHRlcm5fcHJlZml4ICsgJ2tlcm5l
bC1tb2R1bGUtJXMnICsgbW9kdWxlX3BhdHRlcm5fc3VmZml4CgogICAgcG9zdGluc3QgPSBkLmdl
dFZhcigncGtnX3Bvc3RpbnN0X21vZHVsZXMnKQogICAgcG9zdHJtID0gZC5nZXRWYXIoJ3BrZ19w
b3N0cm1fbW9kdWxlcycpCgogICAgbW9kdWxlcyA9IGRvX3NwbGl0X3BhY2thZ2VzKGQsIHJvb3Q9
JyR7bm9uYXJjaF9iYXNlX2xpYmRpcn0vbW9kdWxlcycsIGZpbGVfcmVnZXg9bW9kdWxlX3JlZ2V4
LCBvdXRwdXRfcGF0dGVybj1tb2R1bGVfcGF0dGVybiwgZGVzY3JpcHRpb249JyVzIGtlcm5lbCBt
b2R1bGUnLCBwb3N0aW5zdD1wb3N0aW5zdCwgcG9zdHJtPXBvc3RybSwgcmVjdXJzaXZlPVRydWUs
IGhvb2s9ZnJvYl9tZXRhZGF0YSwgZXh0cmFfZGVwZW5kcz0na2VybmVsLSVzJyAlIChkLmdldFZh
cigiS0VSTkVMX1ZFUlNJT04iKSkpCiAgICBpZiBtb2R1bGVzOgogICAgICAgIG1ldGFwa2cgPSBk
LmdldFZhcignS0VSTkVMX01PRFVMRVNfTUVUQV9QQUNLQUdFJykKICAgICAgICBkLmFwcGVuZFZh
cignUkRFUEVORFNfJyArIG1ldGFwa2csICcgJysnICcuam9pbihtb2R1bGVzKSkKCiAgICAjIElm
IG1vZHVsZXMtbG9hZC5kIGFuZCBtb2Rwcm9iZS5kIGFyZSBlbXB0eSBhdCB0aGlzIHBvaW50LCBy
ZW1vdmUgdGhlbSB0bwogICAgIyBhdm9pZCB3YXJuaW5ncy4gcmVtb3ZlZGlycyBvbmx5IHJhaXNl
cyBhbiBPU0Vycm9yIGlmIGFuIGVtcHR5CiAgICAjIGRpcmVjdG9yeSBjYW5ub3QgYmUgcmVtb3Zl
ZC4KICAgIGR2YXIgPSBkLmdldFZhcignUEtHRCcpCiAgICBmb3IgZGlyIGluIFsiJXMvZXRjL21v
ZHByb2JlLmQiICUgKGR2YXIpLCAiJXMvZXRjL21vZHVsZXMtbG9hZC5kIiAlIChkdmFyKSwgIiVz
L2V0YyIgJSAoZHZhcildOgogICAgICAgIGlmIGxlbihvcy5saXN0ZGlyKGRpcikpID09IDA6CiAg
ICAgICAgICAgIG9zLnJtZGlyKGRpcikKfQoKCnB5dGhvbiBzcGxpdGRlYnVnaW5mbyAoKSB7CmRl
ZiBzcGxpdGRlYnVnaW5mbyhmaWxlLCBkZWJ1Z2ZpbGUsIGRlYnVnc3JjZGlyLCBzb3VyY2VmaWxl
LCBkKToKICAgICMgRnVuY3Rpb24gdG8gc3BsaXQgYSBzaW5nbGUgZmlsZSBpbnRvIHR3byBjb21w
b25lbnRzLCBvbmUgaXMgdGhlIHN0cmlwcGVkCiAgICAjIHRhcmdldCBzeXN0ZW0gYmluYXJ5LCB0
aGUgb3RoZXIgY29udGFpbnMgYW55IGRlYnVnZ2luZyBpbmZvcm1hdGlvbi4gVGhlCiAgICAjIHR3
byBmaWxlcyBhcmUgbGlua2VkIHRvIHJlZmVyZW5jZSBlYWNoIG90aGVyLgogICAgIwogICAgIyBz
b3VyY2VmaWxlIGlzIGFsc28gZ2VuZXJhdGVkIGNvbnRhaW5pbmcgYSBsaXN0IG9mIGRlYnVnc291
cmNlcwoKICAgIGltcG9ydCBzdGF0CgogICAgZHZhciA9IGQuZ2V0VmFyKCdQS0dEJykKICAgIG9i
amNvcHkgPSBkLmdldFZhcigiT0JKQ09QWSIpCiAgICBkZWJ1Z2VkaXQgPSBkLmV4cGFuZCgiJHtT
VEFHSU5HX0xJQkRJUl9OQVRJVkV9L3JwbS9kZWJ1Z2VkaXQiKQoKICAgICMgV2UgaWdub3JlIGtl
cm5lbCBtb2R1bGVzLCB3ZSBkb24ndCBnZW5lcmF0ZSBkZWJ1ZyBpbmZvIGZpbGVzLgogICAgaWYg
ZmlsZS5maW5kKCIvbGliL21vZHVsZXMvIikgIT0gLTEgYW5kIGZpbGUuZW5kc3dpdGgoIi5rbyIp
OgogICAgICAgIHJldHVybiAxCgogICAgbmV3bW9kZSA9IE5vbmUKICAgIGlmIG5vdCBvcy5hY2Nl
c3MoZmlsZSwgb3MuV19PSykgb3Igb3MuYWNjZXNzKGZpbGUsIG9zLlJfT0spOgogICAgICAgIG9y
aWdtb2RlID0gb3Muc3RhdChmaWxlKVtzdGF0LlNUX01PREVdCiAgICAgICAgbmV3bW9kZSA9IG9y
aWdtb2RlIHwgc3RhdC5TX0lXUklURSB8IHN0YXQuU19JUkVBRAogICAgICAgIG9zLmNobW9kKGZp
bGUsIG5ld21vZGUpCgogICAgIyBXZSBuZWVkIHRvIGV4dHJhY3QgdGhlIGRlYnVnIHNyYyBpbmZv
cm1hdGlvbiBoZXJlLi4uCiAgICBpZiBkZWJ1Z3NyY2RpcjoKICAgICAgICBjbWQgPSAiJyVzJyAt
aSAtbCAnJXMnICclcyciICUgKGRlYnVnZWRpdCwgc291cmNlZmlsZSwgZmlsZSkKICAgICAgICAo
cmV0dmFsLCBvdXRwdXQpID0gb2UudXRpbHMuZ2V0c3RhdHVzb3V0cHV0KGNtZCkKICAgICAgICBp
ZiByZXR2YWw6CiAgICAgICAgICAgIGJiLmZhdGFsKCJkZWJ1Z2VkaXQgZmFpbGVkIHdpdGggZXhp
dCBjb2RlICVzIChjbWQgd2FzICVzKSVzIiAlIChyZXR2YWwsIGNtZCwgIjpcbiVzIiAlIG91dHB1
dCBpZiBvdXRwdXQgZWxzZSAiIikpCgogICAgYmIudXRpbHMubWtkaXJoaWVyKG9zLnBhdGguZGly
bmFtZShkZWJ1Z2ZpbGUpKQoKICAgIGNtZCA9ICInJXMnIC0tb25seS1rZWVwLWRlYnVnICclcycg
JyVzJyIgJSAob2JqY29weSwgZmlsZSwgZGVidWdmaWxlKQogICAgKHJldHZhbCwgb3V0cHV0KSA9
IG9lLnV0aWxzLmdldHN0YXR1c291dHB1dChjbWQpCiAgICBpZiByZXR2YWw6CiAgICAgICAgYmIu
ZmF0YWwoIm9iamNvcHkgZmFpbGVkIHdpdGggZXhpdCBjb2RlICVzIChjbWQgd2FzICVzKSVzIiAl
IChyZXR2YWwsIGNtZCwgIjpcbiVzIiAlIG91dHB1dCBpZiBvdXRwdXQgZWxzZSAiIikpCgogICAg
IyBTZXQgdGhlIGRlYnVnbGluayB0byBoYXZlIHRoZSB2aWV3IG9mIHRoZSBmaWxlIHBhdGggb24g
dGhlIHRhcmdldAogICAgY21kID0gIiclcycgLS1hZGQtZ251LWRlYnVnbGluaz0nJXMnICclcyci
ICUgKG9iamNvcHksIGRlYnVnZmlsZSwgZmlsZSkKICAgIChyZXR2YWwsIG91dHB1dCkgPSBvZS51
dGlscy5nZXRzdGF0dXNvdXRwdXQoY21kKQogICAgaWYgcmV0dmFsOgogICAgICAgIGJiLmZhdGFs
KCJvYmpjb3B5IGZhaWxlZCB3aXRoIGV4aXQgY29kZSAlcyAoY21kIHdhcyAlcyklcyIgJSAocmV0
dmFsLCBjbWQsICI6XG4lcyIgJSBvdXRwdXQgaWYgb3V0cHV0IGVsc2UgIiIpKQoKICAgIGlmIG5l
d21vZGU6CiAgICAgICAgb3MuY2htb2QoZmlsZSwgb3JpZ21vZGUpCgogICAgcmV0dXJuIDAKfQoK
CnB5dGhvbiBzcmNfcGF0Y2hlcyAoKSB7CmRlZiBzcmNfcGF0Y2hlcyhkLCBhbGw9RmFsc2UsIGV4
cGFuZD1UcnVlKToKICAgIGltcG9ydCBvZS5wYXRjaAogICAgcmV0dXJuIG9lLnBhdGNoLnNyY19w
YXRjaGVzKGQsIGFsbCwgZXhwYW5kKQp9CgoKcHl0aG9uIHNzdGF0ZV9hZGQgKCkgewpkZWYgc3N0
YXRlX2FkZChzcywgc291cmNlLCBkZXN0LCBkKToKICAgIGlmIG5vdCBzb3VyY2UuZW5kc3dpdGgo
Ii8iKToKICAgICAgICAgc291cmNlID0gc291cmNlICsgIi8iCiAgICBpZiBub3QgZGVzdC5lbmRz
d2l0aCgiLyIpOgogICAgICAgICBkZXN0ID0gZGVzdCArICIvIgogICAgc291cmNlID0gb3MucGF0
aC5ub3JtcGF0aChzb3VyY2UpCiAgICBkZXN0ID0gb3MucGF0aC5ub3JtcGF0aChkZXN0KQogICAg
c3JjYmFzZSA9IG9zLnBhdGguYmFzZW5hbWUoc291cmNlKQogICAgc3NbJ2RpcnMnXS5hcHBlbmQo
W3NyY2Jhc2UsIHNvdXJjZSwgZGVzdF0pCiAgICByZXR1cm4gc3MKfQoKCnB5dGhvbiBzc3RhdGVf
Y2hlY2toYXNoZXMgKCkgewpkZWYgc3N0YXRlX2NoZWNraGFzaGVzKHNxX2ZuLCBzcV90YXNrLCBz
cV9oYXNoLCBzcV9oYXNoZm4sIGQsIHNpZ2luZm89RmFsc2UpOgoKICAgIHJldCA9IFtdCiAgICBt
aXNzZWQgPSBbXQogICAgZXh0ZW5zaW9uID0gIi50Z3oiCiAgICBpZiBzaWdpbmZvOgogICAgICAg
IGV4dGVuc2lvbiA9IGV4dGVuc2lvbiArICIuc2lnaW5mbyIKCiAgICBkZWYgZ2V0cGF0aGNvbXBv
bmVudHModGFzaywgZCk6CiAgICAgICAgIyBNYWdpYyBkYXRhIGZyb20gQkJfSEFTSEZJTEVOQU1F
CiAgICAgICAgc3BsaXRoYXNoZm4gPSBzcV9oYXNoZm5bdGFza10uc3BsaXQoIiAiKQogICAgICAg
IHNwZWMgPSBzcGxpdGhhc2hmblsxXQogICAgICAgIGlmIHNwbGl0aGFzaGZuWzBdID09ICJUcnVl
IjoKICAgICAgICAgICAgZXh0cmFwYXRoID0gZC5nZXRWYXIoIk5BVElWRUxTQlNUUklORyIpICsg
Ii8iCiAgICAgICAgZWxzZToKICAgICAgICAgICAgZXh0cmFwYXRoID0gIiIKCiAgICAgICAgdG5h
bWUgPSBzcV90YXNrW3Rhc2tdWzM6XQoKICAgICAgICBpZiB0bmFtZSBpbiBbImZldGNoIiwgInVu
cGFjayIsICJwYXRjaCIsICJwb3B1bGF0ZV9saWMiLCAicHJlY29uZmlndXJlIl0gYW5kIHNwbGl0
aGFzaGZuWzJdOgogICAgICAgICAgICBzcGVjID0gc3BsaXRoYXNoZm5bMl0KICAgICAgICAgICAg
ZXh0cmFwYXRoID0gIiIKCiAgICAgICAgcmV0dXJuIHNwZWMsIGV4dHJhcGF0aCwgdG5hbWUKCgog
ICAgZm9yIHRhc2sgaW4gcmFuZ2UobGVuKHNxX2ZuKSk6CgogICAgICAgIHNwZWMsIGV4dHJhcGF0
aCwgdG5hbWUgPSBnZXRwYXRoY29tcG9uZW50cyh0YXNrLCBkKQoKICAgICAgICBzc3RhdGVmaWxl
ID0gZC5leHBhbmQoIiR7U1NUQVRFX0RJUn0vIiArIGV4dHJhcGF0aCArIGdlbmVyYXRlX3NzdGF0
ZWZuKHNwZWMsIHNxX2hhc2hbdGFza10sIGQpICsgIl8iICsgdG5hbWUgKyBleHRlbnNpb24pCgog
ICAgICAgIGlmIG9zLnBhdGguZXhpc3RzKHNzdGF0ZWZpbGUpOgogICAgICAgICAgICBiYi5kZWJ1
ZygyLCAiU1N0YXRlOiBGb3VuZCB2YWxpZCBzc3RhdGUgZmlsZSAlcyIgJSBzc3RhdGVmaWxlKQog
ICAgICAgICAgICByZXQuYXBwZW5kKHRhc2spCiAgICAgICAgICAgIGNvbnRpbnVlCiAgICAgICAg
ZWxzZToKICAgICAgICAgICAgbWlzc2VkLmFwcGVuZCh0YXNrKQogICAgICAgICAgICBiYi5kZWJ1
ZygyLCAiU1N0YXRlOiBMb29rZWQgZm9yIGJ1dCBkaWRuJ3QgZmluZCBmaWxlICVzIiAlIHNzdGF0
ZWZpbGUpCgogICAgbWlycm9ycyA9IGQuZ2V0VmFyKCJTU1RBVEVfTUlSUk9SUyIpCiAgICBpZiBt
aXJyb3JzOgogICAgICAgICMgQ29weSB0aGUgZGF0YSBvYmplY3QgYW5kIG92ZXJyaWRlIERMX0RJ
UiBhbmQgU1JDX1VSSQogICAgICAgIGxvY2FsZGF0YSA9IGJiLmRhdGEuY3JlYXRlQ29weShkKQoK
ICAgICAgICBkbGRpciA9IGxvY2FsZGF0YS5leHBhbmQoIiR7U1NUQVRFX0RJUn0iKQogICAgICAg
IGxvY2FsZGF0YS5kZWxWYXIoJ01JUlJPUlMnKQogICAgICAgIGxvY2FsZGF0YS5zZXRWYXIoJ0ZJ
TEVTUEFUSCcsIGRsZGlyKQogICAgICAgIGxvY2FsZGF0YS5zZXRWYXIoJ0RMX0RJUicsIGRsZGly
KQogICAgICAgIGxvY2FsZGF0YS5zZXRWYXIoJ1BSRU1JUlJPUlMnLCBtaXJyb3JzKQoKICAgICAg
ICBiYi5kZWJ1ZygyLCAiU1N0YXRlIHVzaW5nIHByZW1pcnJvciBvZjogJXMiICUgbWlycm9ycykK
CiAgICAgICAgIyBpZiBCQl9OT19ORVRXT1JLIGlzIHNldCBidXQgd2UgYWxzbyBoYXZlIFNTVEFU
RV9NSVJST1JfQUxMT1dfTkVUV09SSywKICAgICAgICAjIHdlJ2xsIHdhbnQgdG8gYWxsb3cgbmV0
d29yayBhY2Nlc3MgZm9yIHRoZSBjdXJyZW50IHNldCBvZiBmZXRjaGVzLgogICAgICAgIGlmIGxv
Y2FsZGF0YS5nZXRWYXIoJ0JCX05PX05FVFdPUksnKSA9PSAiMSIgYW5kIGxvY2FsZGF0YS5nZXRW
YXIoJ1NTVEFURV9NSVJST1JfQUxMT1dfTkVUV09SSycpID09ICIxIjoKICAgICAgICAgICAgbG9j
YWxkYXRhLmRlbFZhcignQkJfTk9fTkVUV09SSycpCgogICAgICAgIGZyb20gYmIuZmV0Y2gyIGlt
cG9ydCBGZXRjaENvbm5lY3Rpb25DYWNoZQogICAgICAgIGRlZiBjaGVja3N0YXR1c19pbml0KHRo
cmVhZF93b3JrZXIpOgogICAgICAgICAgICB0aHJlYWRfd29ya2VyLmNvbm5lY3Rpb25fY2FjaGUg
PSBGZXRjaENvbm5lY3Rpb25DYWNoZSgpCgogICAgICAgIGRlZiBjaGVja3N0YXR1c19lbmQodGhy
ZWFkX3dvcmtlcik6CiAgICAgICAgICAgIHRocmVhZF93b3JrZXIuY29ubmVjdGlvbl9jYWNoZS5j
bG9zZV9jb25uZWN0aW9ucygpCgogICAgICAgIGRlZiBjaGVja3N0YXR1cyh0aHJlYWRfd29ya2Vy
LCBhcmcpOgogICAgICAgICAgICAodGFzaywgc3N0YXRlZmlsZSkgPSBhcmcKCiAgICAgICAgICAg
IGxvY2FsZGF0YTIgPSBiYi5kYXRhLmNyZWF0ZUNvcHkobG9jYWxkYXRhKQogICAgICAgICAgICBz
cmN1cmkgPSAiZmlsZTovLyIgKyBzc3RhdGVmaWxlCiAgICAgICAgICAgIGxvY2FsZGF0YS5zZXRW
YXIoJ1NSQ19VUkknLCBzcmN1cmkpCiAgICAgICAgICAgIGJiLmRlYnVnKDIsICJTU3RhdGU6IEF0
dGVtcHRpbmcgdG8gZmV0Y2ggJXMiICUgc3JjdXJpKQoKICAgICAgICAgICAgdHJ5OgogICAgICAg
ICAgICAgICAgZmV0Y2hlciA9IGJiLmZldGNoMi5GZXRjaChzcmN1cmkuc3BsaXQoKSwgbG9jYWxk
YXRhMiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbm5lY3Rpb25fY2FjaGU9dGhyZWFk
X3dvcmtlci5jb25uZWN0aW9uX2NhY2hlKQogICAgICAgICAgICAgICAgZmV0Y2hlci5jaGVja3N0
YXR1cygpCiAgICAgICAgICAgICAgICBiYi5kZWJ1ZygyLCAiU1N0YXRlOiBTdWNjZXNzZnVsIGZl
dGNoIHRlc3QgZm9yICVzIiAlIHNyY3VyaSkKICAgICAgICAgICAgICAgIHJldC5hcHBlbmQodGFz
aykKICAgICAgICAgICAgICAgIGlmIHRhc2sgaW4gbWlzc2VkOgogICAgICAgICAgICAgICAgICAg
IG1pc3NlZC5yZW1vdmUodGFzaykKICAgICAgICAgICAgZXhjZXB0OgogICAgICAgICAgICAgICAg
bWlzc2VkLmFwcGVuZCh0YXNrKQogICAgICAgICAgICAgICAgYmIuZGVidWcoMiwgIlNTdGF0ZTog
VW5zdWNjZXNzZnVsIGZldGNoIHRlc3QgZm9yICVzIiAlIHNyY3VyaSkKICAgICAgICAgICAgICAg
IHBhc3MKICAgICAgICAgICAgYmIuZXZlbnQuZmlyZShiYi5ldmVudC5Qcm9jZXNzUHJvZ3Jlc3Mo
IkNoZWNraW5nIHNzdGF0ZSBtaXJyb3Igb2JqZWN0IGF2YWlsYWJpbGl0eSIsIGxlbih0YXNrbGlz
dCkgLSB0aHJlYWRfd29ya2VyLnRhc2tzLnFzaXplKCkpLCBkKQoKICAgICAgICB0YXNrbGlzdCA9
IFtdCiAgICAgICAgZm9yIHRhc2sgaW4gcmFuZ2UobGVuKHNxX2ZuKSk6CiAgICAgICAgICAgIGlm
IHRhc2sgaW4gcmV0OgogICAgICAgICAgICAgICAgY29udGludWUKICAgICAgICAgICAgc3BlYywg
ZXh0cmFwYXRoLCB0bmFtZSA9IGdldHBhdGhjb21wb25lbnRzKHRhc2ssIGQpCiAgICAgICAgICAg
IHNzdGF0ZWZpbGUgPSBkLmV4cGFuZChleHRyYXBhdGggKyBnZW5lcmF0ZV9zc3RhdGVmbihzcGVj
LCBzcV9oYXNoW3Rhc2tdLCBkKSArICJfIiArIHRuYW1lICsgZXh0ZW5zaW9uKQogICAgICAgICAg
ICB0YXNrbGlzdC5hcHBlbmQoKHRhc2ssIHNzdGF0ZWZpbGUpKQoKICAgICAgICBpZiB0YXNrbGlz
dDoKICAgICAgICAgICAgYmIuZXZlbnQuZmlyZShiYi5ldmVudC5Qcm9jZXNzU3RhcnRlZCgiQ2hl
Y2tpbmcgc3N0YXRlIG1pcnJvciBvYmplY3QgYXZhaWxhYmlsaXR5IiwgbGVuKHRhc2tsaXN0KSks
IGQpCgogICAgICAgICAgICBpbXBvcnQgbXVsdGlwcm9jZXNzaW5nCiAgICAgICAgICAgIG5wcm9j
ID0gbWluKG11bHRpcHJvY2Vzc2luZy5jcHVfY291bnQoKSwgbGVuKHRhc2tsaXN0KSkKCiAgICAg
ICAgICAgIGJiLmV2ZW50LmVuYWJsZV90aHJlYWRsb2NrKCkKICAgICAgICAgICAgcG9vbCA9IG9l
LnV0aWxzLlRocmVhZGVkUG9vbChucHJvYywgbGVuKHRhc2tsaXN0KSwKICAgICAgICAgICAgICAg
ICAgICB3b3JrZXJfaW5pdD1jaGVja3N0YXR1c19pbml0LCB3b3JrZXJfZW5kPWNoZWNrc3RhdHVz
X2VuZCkKICAgICAgICAgICAgZm9yIHQgaW4gdGFza2xpc3Q6CiAgICAgICAgICAgICAgICBwb29s
LmFkZF90YXNrKGNoZWNrc3RhdHVzLCB0KQogICAgICAgICAgICBwb29sLnN0YXJ0KCkKICAgICAg
ICAgICAgcG9vbC53YWl0X2NvbXBsZXRpb24oKQogICAgICAgICAgICBiYi5ldmVudC5kaXNhYmxl
X3RocmVhZGxvY2soKQoKICAgICAgICAgICAgYmIuZXZlbnQuZmlyZShiYi5ldmVudC5Qcm9jZXNz
RmluaXNoZWQoIkNoZWNraW5nIHNzdGF0ZSBtaXJyb3Igb2JqZWN0IGF2YWlsYWJpbGl0eSIpLCBk
KQoKICAgIGluaGVyaXRsaXN0ID0gZC5nZXRWYXIoIklOSEVSSVQiKQogICAgaWYgInRvYXN0ZXIi
IGluIGluaGVyaXRsaXN0OgogICAgICAgIGV2ZGF0YSA9IHsnbWlzc2VkJzogW10sICdmb3VuZCc6
IFtdfTsKICAgICAgICBmb3IgdGFzayBpbiBtaXNzZWQ6CiAgICAgICAgICAgIHNwZWMsIGV4dHJh
cGF0aCwgdG5hbWUgPSBnZXRwYXRoY29tcG9uZW50cyh0YXNrLCBkKQogICAgICAgICAgICBzc3Rh
dGVmaWxlID0gZC5leHBhbmQoZXh0cmFwYXRoICsgZ2VuZXJhdGVfc3N0YXRlZm4oc3BlYywgc3Ff
aGFzaFt0YXNrXSwgZCkgKyAiXyIgKyB0bmFtZSArICIudGd6IikKICAgICAgICAgICAgZXZkYXRh
WydtaXNzZWQnXS5hcHBlbmQoIChzcV9mblt0YXNrXSwgc3FfdGFza1t0YXNrXSwgc3FfaGFzaFt0
YXNrXSwgc3N0YXRlZmlsZSApICkKICAgICAgICBmb3IgdGFzayBpbiByZXQ6CiAgICAgICAgICAg
IHNwZWMsIGV4dHJhcGF0aCwgdG5hbWUgPSBnZXRwYXRoY29tcG9uZW50cyh0YXNrLCBkKQogICAg
ICAgICAgICBzc3RhdGVmaWxlID0gZC5leHBhbmQoZXh0cmFwYXRoICsgZ2VuZXJhdGVfc3N0YXRl
Zm4oc3BlYywgc3FfaGFzaFt0YXNrXSwgZCkgKyAiXyIgKyB0bmFtZSArICIudGd6IikKICAgICAg
ICAgICAgZXZkYXRhWydmb3VuZCddLmFwcGVuZCggKHNxX2ZuW3Rhc2tdLCBzcV90YXNrW3Rhc2td
LCBzcV9oYXNoW3Rhc2tdLCBzc3RhdGVmaWxlICkgKQogICAgICAgIGJiLmV2ZW50LmZpcmUoYmIu
ZXZlbnQuTWV0YWRhdGFFdmVudCgiTWlzc2VkU3N0YXRlIiwgZXZkYXRhKSwgZCkKCiAgICBpZiBo
YXNhdHRyKGJiLnBhcnNlLnNpZ2dlbiwgImNoZWNraGFzaGVzIik6CiAgICAgICAgYmIucGFyc2Uu
c2lnZ2VuLmNoZWNraGFzaGVzKG1pc3NlZCwgcmV0LCBzcV9mbiwgc3FfdGFzaywgc3FfaGFzaCwg
c3FfaGFzaGZuLCBkKQoKICAgIHJldHVybiByZXQKfQoKCnB5dGhvbiBzc3RhdGVfY2xlYW4gKCkg
ewpkZWYgc3N0YXRlX2NsZWFuKHNzLCBkKToKICAgIGltcG9ydCBvZS5wYXRoCiAgICBpbXBvcnQg
Z2xvYgoKICAgIGQyID0gZC5jcmVhdGVDb3B5KCkKICAgIHN0YW1wX2NsZWFuID0gZC5nZXRWYXIo
IlNUQU1QQ0xFQU4iKQogICAgZXh0cmFpbmYgPSBkLmdldFZhckZsYWcoImRvXyIgKyBzc1sndGFz
ayddLCAnc3RhbXAtZXh0cmEtaW5mbycpCiAgICBpZiBleHRyYWluZjoKICAgICAgICBkMi5zZXRW
YXIoIlNTVEFURV9NQU5NQUNIIiwgZXh0cmFpbmYpCiAgICAgICAgd2lsZGNhcmRfc3RmaWxlID0g
IiVzLmRvXyVzKi4lcyIgJSAoc3RhbXBfY2xlYW4sIHNzWyd0YXNrJ10sIGV4dHJhaW5mKQogICAg
ZWxzZToKICAgICAgICB3aWxkY2FyZF9zdGZpbGUgPSAiJXMuZG9fJXMqIiAlIChzdGFtcF9jbGVh
biwgc3NbJ3Rhc2snXSkKCiAgICBtYW5pZmVzdCA9IGQyLmV4cGFuZCgiJHtTU1RBVEVfTUFORklM
RVBSRUZJWH0uJXMiICUgc3NbJ3Rhc2snXSkKCiAgICBpZiBvcy5wYXRoLmV4aXN0cyhtYW5pZmVz
dCk6CiAgICAgICAgbG9ja3MgPSBbXQogICAgICAgIGZvciBsb2NrIGluIHNzWydsb2NrZmlsZXMt
c2hhcmVkJ106CiAgICAgICAgICAgIGxvY2tzLmFwcGVuZChiYi51dGlscy5sb2NrZmlsZShsb2Nr
KSkKICAgICAgICBmb3IgbG9jayBpbiBzc1snbG9ja2ZpbGVzJ106CiAgICAgICAgICAgIGxvY2tz
LmFwcGVuZChiYi51dGlscy5sb2NrZmlsZShsb2NrKSkKCiAgICAgICAgc3N0YXRlX2NsZWFuX21h
bmlmZXN0KG1hbmlmZXN0LCBkKQoKICAgICAgICBmb3IgbG9jayBpbiBsb2NrczoKICAgICAgICAg
ICAgYmIudXRpbHMudW5sb2NrZmlsZShsb2NrKQoKICAgICMgUmVtb3ZlIHRoZSBjdXJyZW50IGFu
ZCBwcmV2aW91cyBzdGFtcHMsIGJ1dCBrZWVwIHRoZSBzaWdkYXRhLgogICAgIwogICAgIyBUaGUg
Z2xvYigpIG1hdGNoZXMgZG9fdGFzayogd2hpY2ggbWF5IG1hdGNoIG11bHRpcGxlIHRhc2tzLCBm
b3IKICAgICMgZXhhbXBsZTogZG9fcGFja2FnZSBhbmQgZG9fcGFja2FnZV93cml0ZV9pcGssIHNv
IHdlIG5lZWQgdG8KICAgICMgZXhhY3RseSBtYXRjaCAqLmRvX3Rhc2suKiBhbmQgKi5kb190YXNr
X3NldHNjZW5lLioKICAgIHJtX3N0YW1wID0gJy5kb18lcy4nICUgc3NbJ3Rhc2snXQogICAgcm1f
c2V0c2NlbmUgPSAnLmRvXyVzX3NldHNjZW5lLicgJSBzc1sndGFzayddCiAgICAjIEZvciBCQl9T
SUdOQVRVUkVfSEFORExFUiA9ICJub29wIgogICAgcm1fbm9oYXNoID0gIi5kb18lcyIgJSBzc1sn
dGFzayddCiAgICBmb3Igc3RmaWxlIGluIGdsb2IuZ2xvYih3aWxkY2FyZF9zdGZpbGUpOgogICAg
ICAgICMgS2VlcCB0aGUgc2lnZGF0YQogICAgICAgIGlmICIuc2lnZGF0YS4iIGluIHN0ZmlsZSBv
ciAiLnNpZ2Jhc2VkYXRhLiIgaW4gc3RmaWxlOgogICAgICAgICAgICBjb250aW51ZQogICAgICAg
ICMgUHJlc2VydmUgdGFpbnQgZmlsZXMgaW4gdGhlIHN0YW1wcyBkaXJlY3RvcnkKICAgICAgICBp
ZiBzdGZpbGUuZW5kc3dpdGgoJy50YWludCcpOgogICAgICAgICAgICBjb250aW51ZQogICAgICAg
IGlmIHJtX3N0YW1wIGluIHN0ZmlsZSBvciBybV9zZXRzY2VuZSBpbiBzdGZpbGUgb3IgXAogICAg
ICAgICAgICAgICAgc3RmaWxlLmVuZHN3aXRoKHJtX25vaGFzaCk6CiAgICAgICAgICAgIG9lLnBh
dGgucmVtb3ZlKHN0ZmlsZSkKCiAgICAjIFJlbW92ZXMgdGhlIHVzZXJzL2dyb3VwcyBjcmVhdGVk
IGJ5IHRoZSBwYWNrYWdlCiAgICBmb3IgY2xlYW5mdW5jIGluIChkLmdldFZhcignU1NUQVRFQ0xF
QU5GVU5DUycpIG9yICcnKS5zcGxpdCgpOgogICAgICAgIGJiLmJ1aWxkLmV4ZWNfZnVuYyhjbGVh
bmZ1bmMsIGQpCn0KCgpweXRob24gc3N0YXRlX2NsZWFuX2NhY2hlZmlsZSAoKSB7CmRlZiBzc3Rh
dGVfY2xlYW5fY2FjaGVmaWxlKHNzLCBkKToKICAgIGltcG9ydCBvZS5wYXRoCgogICAgc3N0YXRl
cGtnZmlsZSA9IGQuZ2V0VmFyKCdTU1RBVEVfUEFUSFNQRUMnKSArICIqXyIgKyBzc1sndGFzaydd
ICsgIi50Z3oqIgogICAgYmIubm90ZSgiUmVtb3ZpbmcgJXMiICUgc3N0YXRlcGtnZmlsZSkKICAg
IG9lLnBhdGgucmVtb3ZlKHNzdGF0ZXBrZ2ZpbGUpCn0KCgpweXRob24gc3N0YXRlX2NsZWFuX2Nh
Y2hlZmlsZXMgKCkgewpkZWYgc3N0YXRlX2NsZWFuX2NhY2hlZmlsZXMoZCk6CiAgICBmb3IgdGFz
ayBpbiAoZC5nZXRWYXIoJ1NTVEFURVRBU0tTJykgb3IgIiIpLnNwbGl0KCk6CiAgICAgICAgbGQg
PSBkLmNyZWF0ZUNvcHkoKQogICAgICAgIHNzID0gc3N0YXRlX3N0YXRlX2Zyb212YXJzKGxkLCB0
YXNrKQogICAgICAgIHNzdGF0ZV9jbGVhbl9jYWNoZWZpbGUoc3MsIGxkKQp9CgoKcHl0aG9uIHNz
dGF0ZV9jbGVhbl9tYW5pZmVzdCAoKSB7CmRlZiBzc3RhdGVfY2xlYW5fbWFuaWZlc3QobWFuaWZl
c3QsIGQsIHByZWZpeD1Ob25lKToKICAgIGltcG9ydCBvZS5wYXRoCgogICAgbWZpbGUgPSBvcGVu
KG1hbmlmZXN0KQogICAgZW50cmllcyA9IG1maWxlLnJlYWRsaW5lcygpCiAgICBtZmlsZS5jbG9z
ZSgpCgogICAgZm9yIGVudHJ5IGluIGVudHJpZXM6CiAgICAgICAgZW50cnkgPSBlbnRyeS5zdHJp
cCgpCiAgICAgICAgaWYgcHJlZml4IGFuZCBub3QgZW50cnkuc3RhcnRzd2l0aCgiLyIpOgogICAg
ICAgICAgICBlbnRyeSA9IHByZWZpeCArICIvIiArIGVudHJ5CiAgICAgICAgYmIuZGVidWcoMiwg
IlJlbW92aW5nIG1hbmlmZXN0OiAlcyIgJSBlbnRyeSkKICAgICAgICAjIFdlIGNhbiByYWNlIGFn
YWluc3QgYW5vdGhlciBwYWNrYWdlIHBvcHVsYXRpbmcgZGlyZWN0b3JpZXMgYXMgd2UncmUgcmVt
b3ZpbmcgdGhlbQogICAgICAgICMgc28gd2UgaWdub3JlIGVycm9ycyBoZXJlLgogICAgICAgIHRy
eToKICAgICAgICAgICAgaWYgZW50cnkuZW5kc3dpdGgoIi8iKToKICAgICAgICAgICAgICAgIGlm
IG9zLnBhdGguaXNsaW5rKGVudHJ5WzotMV0pOgogICAgICAgICAgICAgICAgICAgIG9zLnJlbW92
ZShlbnRyeVs6LTFdKQogICAgICAgICAgICAgICAgZWxpZiBvcy5wYXRoLmV4aXN0cyhlbnRyeSkg
YW5kIGxlbihvcy5saXN0ZGlyKGVudHJ5KSkgPT0gMDoKICAgICAgICAgICAgICAgICAgICBvcy5y
bWRpcihlbnRyeVs6LTFdKQogICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgb3MucmVt
b3ZlKGVudHJ5KQogICAgICAgIGV4Y2VwdCBPU0Vycm9yOgogICAgICAgICAgICBwYXNzCgogICAg
cG9zdHJtID0gbWFuaWZlc3QgKyAiLnBvc3RybSIKICAgIGlmIG9zLnBhdGguZXhpc3RzKG1hbmlm
ZXN0ICsgIi5wb3N0cm0iKToKICAgICAgICBpbXBvcnQgc3VicHJvY2VzcwogICAgICAgIG9zLmNo
bW9kKHBvc3RybSwgMG83NTUpCiAgICAgICAgc3VicHJvY2Vzcy5jYWxsKHBvc3RybSwgc2hlbGw9
VHJ1ZSkKICAgICAgICBvZS5wYXRoLnJlbW92ZShwb3N0cm0pCgogICAgb2UucGF0aC5yZW1vdmUo
bWFuaWZlc3QpCn0KCgpweXRob24gc3N0YXRlX2NsZWFuYWxsICgpIHsKICAgIGJiLm5vdGUoIlJl
bW92aW5nIHNoYXJlZCBzdGF0ZSBmb3IgcGFja2FnZSAlcyIgJSBkLmdldFZhcignUE4nKSkKCiAg
ICBtYW5pZmVzdF9kaXIgPSBkLmdldFZhcignU1NUQVRFX01BTklGRVNUUycpCiAgICBpZiBub3Qg
b3MucGF0aC5leGlzdHMobWFuaWZlc3RfZGlyKToKICAgICAgICByZXR1cm4KCiAgICB0YXNrcyA9
IGQuZ2V0VmFyKCdTU1RBVEVUQVNLUycpLnNwbGl0KCkKICAgIGZvciBuYW1lIGluIHRhc2tzOgog
ICAgICAgIGxkID0gZC5jcmVhdGVDb3B5KCkKICAgICAgICBzaGFyZWRfc3RhdGUgPSBzc3RhdGVf
c3RhdGVfZnJvbXZhcnMobGQsIG5hbWUpCiAgICAgICAgc3N0YXRlX2NsZWFuKHNoYXJlZF9zdGF0
ZSwgbGQpCn0KCgpweXRob24gc3N0YXRlX2V2ZW50aGFuZGxlciAoKSB7CiAgICBkID0gZS5kYXRh
CiAgICAjIFdoZW4gd2Ugd3JpdGUgYW4gc3N0YXRlIHBhY2thZ2Ugd2UgcmV3cml0ZSB0aGUgU1NU
QVRFX1BLRwogICAgc3BrZyA9IGQuZ2V0VmFyKCdTU1RBVEVfUEtHJykKICAgIGlmIG5vdCBzcGtn
LmVuZHN3aXRoKCIudGd6Iik6CiAgICAgICAgdGFza25hbWUgPSBkLmdldFZhcigiQkJfUlVOVEFT
SyIpWzM6XQogICAgICAgIHNwZWMgPSBkLmdldFZhcignU1NUQVRFX1BLR1NQRUMnKQogICAgICAg
IHN3c3BlYyA9IGQuZ2V0VmFyKCdTU1RBVEVfU1dTUEVDJykKICAgICAgICBpZiB0YXNrbmFtZSBp
biBbImZldGNoIiwgInVucGFjayIsICJwYXRjaCIsICJwb3B1bGF0ZV9saWMiLCAicHJlY29uZmln
dXJlIl0gYW5kIHN3c3BlYzoKICAgICAgICAgICAgZC5zZXRWYXIoIlNTVEFURV9QS0dTUEVDIiwg
IiR7U1NUQVRFX1NXU1BFQ30iKQogICAgICAgICAgICBkLnNldFZhcigiU1NUQVRFX0VYVFJBUEFU
SCIsICIiKQogICAgICAgIHNzdGF0ZXBrZyA9IGQuZ2V0VmFyKCdTU1RBVEVfUEtHJykKICAgICAg
ICBiYi5zaWdnZW4uZHVtcF90aGlzX3Rhc2soc3N0YXRlcGtnICsgJ18nICsgdGFza25hbWUgKyAi
LnRneiIgIi5zaWdpbmZvIiwgZCkKfQoKCnB5dGhvbiBzc3RhdGVfZXZlbnRoYW5kbGVyMiAoKSB7
CiAgICBpbXBvcnQgZ2xvYgogICAgZCA9IGUuZGF0YQogICAgc3RhbXBzID0gZS5zdGFtcHMudmFs
dWVzKCkKICAgIHJlbW92ZXdvcmtkaXIgPSAoZC5nZXRWYXIoIlNTVEFURV9QUlVORV9PQlNPTEVU
RVdPUktESVIiLCBGYWxzZSkgPT0gIjEiKQogICAgc2VlbiA9IFtdCiAgICBmb3IgYSBpbiBkLmdl
dFZhcigiU1NUQVRFX0FSQ0hTIikuc3BsaXQoKToKICAgICAgICB0b3JlbW92ZSA9IFtdCiAgICAg
ICAgaSA9IGQuZXhwYW5kKCIke1NTVEFURV9NQU5JRkVTVFN9L2luZGV4LSIgKyBhKQogICAgICAg
IGlmIG5vdCBvcy5wYXRoLmV4aXN0cyhpKToKICAgICAgICAgICAgY29udGludWUKICAgICAgICB3
aXRoIG9wZW4oaSwgInIiKSBhcyBmOgogICAgICAgICAgICBsaW5lcyA9IGYucmVhZGxpbmVzKCkK
ICAgICAgICAgICAgZm9yIGwgaW4gbGluZXM6CiAgICAgICAgICAgICAgICAoc3RhbXAsIG1hbmlm
ZXN0LCB3b3JrZGlyKSA9IGwuc3BsaXQoKQogICAgICAgICAgICAgICAgaWYgc3RhbXAgbm90IGlu
IHN0YW1wczoKICAgICAgICAgICAgICAgICAgICB0b3JlbW92ZS5hcHBlbmQobCkKICAgICAgICAg
ICAgICAgICAgICBpZiBzdGFtcCBub3QgaW4gc2VlbjoKICAgICAgICAgICAgICAgICAgICAgICAg
YmIuZGVidWcoMiwgIlN0YW1wICVzIGlzIG5vdCByZWFjaGFibGUsIHJlbW92aW5nIHJlbGF0ZWQg
bWFuaWZlc3RzIiAlIHN0YW1wKQogICAgICAgICAgICAgICAgICAgICAgICBzZWVuLmFwcGVuZChz
dGFtcCkKCiAgICAgICAgaWYgdG9yZW1vdmU6CiAgICAgICAgICAgIGJiLm5vdGUoIlRoZXJlIGFy
ZSAlZCByZWNpcGVzIHRvIGJlIHJlbW92ZWQgZnJvbSBzeXNyb290ICVzLCByZW1vdmluZy4uLiIg
JSAobGVuKHRvcmVtb3ZlKSwgYSkpCgogICAgICAgIGZvciByIGluIHRvcmVtb3ZlOgogICAgICAg
ICAgICAoc3RhbXAsIG1hbmlmZXN0LCB3b3JrZGlyKSA9IHIuc3BsaXQoKQogICAgICAgICAgICBm
b3IgbSBpbiBnbG9iLmdsb2IobWFuaWZlc3QgKyAiLioiKToKICAgICAgICAgICAgICAgIGlmIG0u
ZW5kc3dpdGgoIi5wb3N0cm0iKToKICAgICAgICAgICAgICAgICAgICBjb250aW51ZQogICAgICAg
ICAgICAgICAgc3N0YXRlX2NsZWFuX21hbmlmZXN0KG0sIGQpCiAgICAgICAgICAgIGJiLnV0aWxz
LnJlbW92ZShzdGFtcCArICIqIikKICAgICAgICAgICAgaWYgcmVtb3Zld29ya2RpcjoKICAgICAg
ICAgICAgICAgIGJiLnV0aWxzLnJlbW92ZSh3b3JrZGlyLCByZWN1cnNlID0gVHJ1ZSkKICAgICAg
ICAgICAgbGluZXMucmVtb3ZlKHIpCiAgICAgICAgd2l0aCBvcGVuKGksICJ3IikgYXMgZjoKICAg
ICAgICAgICAgZm9yIGwgaW4gbGluZXM6CiAgICAgICAgICAgICAgICBmLndyaXRlKGwpCn0KCgpw
eXRob24gc3N0YXRlX2hhcmRjb2RlX3BhdGggKCkgewogICAgaW1wb3J0IHN1YnByb2Nlc3MsIHBs
YXRmb3JtCgogICAgIyBOZWVkIHRvIHJlbW92ZSBoYXJkY29kZWQgcGF0aHMgYW5kIGZpeCB0aGVz
ZSB3aGVuIHdlIGluc3RhbGwgdGhlCiAgICAjIHN0YWdpbmcgcGFja2FnZXMuCiAgICAjCiAgICAj
IE5vdGU6IHRoZSBsb2dpYyBpbiB0aGlzIGZ1bmN0aW9uIG5lZWRzIHRvIG1hdGNoIHRoZSByZXZl
cnNlIGxvZ2ljCiAgICAjIGluIHNzdGF0ZV9pbnN0YWxscGtnKHNzLCBkKQoKICAgIHN0YWdpbmdf
dGFyZ2V0ID0gZC5nZXRWYXIoJ1JFQ0lQRV9TWVNST09UJykKICAgIHN0YWdpbmdfaG9zdCA9IGQu
Z2V0VmFyKCdSRUNJUEVfU1lTUk9PVF9OQVRJVkUnKQogICAgc3N0YXRlX2J1aWxkZGlyID0gZC5n
ZXRWYXIoJ1NTVEFURV9CVUlMRERJUicpCgogICAgaWYgYmIuZGF0YS5pbmhlcml0c19jbGFzcygn
bmF0aXZlJywgZCkgb3IgYmIuZGF0YS5pbmhlcml0c19jbGFzcygnY3Jvc3MtY2FuYWRpYW4nLCBk
KToKICAgICAgICBzc3RhdGVfZ3JlcF9jbWQgPSAiZ3JlcCAtbCAtZSAnJXMnIiAlIChzdGFnaW5n
X2hvc3QpCiAgICAgICAgc3N0YXRlX3NlZF9jbWQgPSAic2VkIC1pIC1lICdzOiVzOkZJWE1FU1RB
R0lOR0RJUkhPU1Q6ZyciICUgKHN0YWdpbmdfaG9zdCkKICAgIGVsaWYgYmIuZGF0YS5pbmhlcml0
c19jbGFzcygnY3Jvc3MnLCBkKSBvciBiYi5kYXRhLmluaGVyaXRzX2NsYXNzKCdjcm9zc3Nkaycs
IGQpOgogICAgICAgIHNzdGF0ZV9ncmVwX2NtZCA9ICJncmVwIC1sIC1lICclcycgLWUgJyVzJyIg
JSAoc3RhZ2luZ190YXJnZXQsIHN0YWdpbmdfaG9zdCkKICAgICAgICBzc3RhdGVfc2VkX2NtZCA9
ICJzZWQgLWkgLWUgJ3M6JXM6RklYTUVTVEFHSU5HRElSVEFSR0VUOmc7IHM6JXM6RklYTUVTVEFH
SU5HRElSSE9TVDpnJyIgJSAoc3RhZ2luZ190YXJnZXQsIHN0YWdpbmdfaG9zdCkKICAgIGVsc2U6
CiAgICAgICAgc3N0YXRlX2dyZXBfY21kID0gImdyZXAgLWwgLWUgJyVzJyIgJSAoc3RhZ2luZ190
YXJnZXQpCiAgICAgICAgc3N0YXRlX3NlZF9jbWQgPSAic2VkIC1pIC1lICdzOiVzOkZJWE1FU1RB
R0lOR0RJUlRBUkdFVDpnJyIgJSAoc3RhZ2luZ190YXJnZXQpCgogICAgZXh0cmFfc3RhZ2luZ19m
aXhtZXMgPSBkLmdldFZhcignRVhUUkFfU1RBR0lOR19GSVhNRVMnKSBvciAnJwogICAgZm9yIGZp
eG1ldmFyIGluIGV4dHJhX3N0YWdpbmdfZml4bWVzLnNwbGl0KCk6CiAgICAgICAgZml4bWVfcGF0
aCA9IGQuZ2V0VmFyKGZpeG1ldmFyKQogICAgICAgIHNzdGF0ZV9zZWRfY21kICs9ICIgLWUgJ3M6
JXM6RklYTUVfJXM6ZyciICUgKGZpeG1lX3BhdGgsIGZpeG1ldmFyKQogICAgICAgIHNzdGF0ZV9n
cmVwX2NtZCArPSAiIC1lICclcyciICUgKGZpeG1lX3BhdGgpCgogICAgZml4bWVmbiA9ICBzc3Rh
dGVfYnVpbGRkaXIgKyAiZml4bWVwYXRoIgoKICAgIHNzdGF0ZV9zY2FuX2NtZCA9IGQuZ2V0VmFy
KCdTU1RBVEVfU0NBTl9DTUQnKQogICAgc3N0YXRlX2ZpbGVsaXN0X2NtZCA9ICJ0ZWUgJXMiICUg
KGZpeG1lZm4pCgogICAgIyBmaXhtZXBhdGggZmlsZSBuZWVkcyByZWxhdGl2ZSBwYXRocywgZHJv
cCBzc3RhdGVfYnVpbGRkaXIgcHJlZml4CiAgICBzc3RhdGVfZmlsZWxpc3RfcmVsYXRpdmVfY21k
ID0gInNlZCAtaSAtZSAnczpeJXM6OmcnICVzIiAlIChzc3RhdGVfYnVpbGRkaXIsIGZpeG1lZm4p
CgogICAgeGFyZ3Nfbm9fZW1wdHlfcnVuX2NtZCA9ICctLW5vLXJ1bi1pZi1lbXB0eScKICAgIGlm
IHBsYXRmb3JtLnN5c3RlbSgpID09ICdEYXJ3aW4nOgogICAgICAgIHhhcmdzX25vX2VtcHR5X3J1
bl9jbWQgPSAnJwoKICAgICMgTGltaXQgdGhlIGZpeHBhdGhzIGFuZCBzZWQgb3BlcmF0aW9ucyBi
YXNlZCBvbiB0aGUgaW5pdGlhbCBncmVwIHNlYXJjaAogICAgIyBUaGlzIGhhcyB0aGUgc2lkZSBl
ZmZlY3Qgb2YgbWFraW5nIHN1cmUgdGhlIHZmcyBjYWNoZSBpcyBob3QKICAgIHNzdGF0ZV9oYXJk
Y29kZV9jbWQgPSAiJXMgfCB4YXJncyAlcyB8ICVzIHwgeGFyZ3MgJXMgJXMiICUgKHNzdGF0ZV9z
Y2FuX2NtZCwgc3N0YXRlX2dyZXBfY21kLCBzc3RhdGVfZmlsZWxpc3RfY21kLCB4YXJnc19ub19l
bXB0eV9ydW5fY21kLCBzc3RhdGVfc2VkX2NtZCkKCiAgICBiYi5ub3RlKCJSZW1vdmluZyBoYXJk
Y29kZWQgcGF0aHMgZnJvbSBzc3RhdGUgcGFja2FnZTogJyVzJyIgJSAoc3N0YXRlX2hhcmRjb2Rl
X2NtZCkpCiAgICBzdWJwcm9jZXNzLmNoZWNrX291dHB1dChzc3RhdGVfaGFyZGNvZGVfY21kLCBz
aGVsbD1UcnVlLCBjd2Q9c3N0YXRlX2J1aWxkZGlyKQoKICAgICAgICAjIElmIHRoZSBmaXhtZWZu
IGlzIGVtcHR5LCByZW1vdmUgaXQuLgogICAgaWYgb3Muc3RhdChmaXhtZWZuKS5zdF9zaXplID09
IDA6CiAgICAgICAgb3MucmVtb3ZlKGZpeG1lZm4pCiAgICBlbHNlOgogICAgICAgIGJiLm5vdGUo
IlJlcGxhY2luZyBhYnNvbHV0ZSBwYXRocyBpbiBmaXhtZXBhdGggZmlsZTogJyVzJyIgJSAoc3N0
YXRlX2ZpbGVsaXN0X3JlbGF0aXZlX2NtZCkpCiAgICAgICAgc3VicHJvY2Vzcy5jaGVja19vdXRw
dXQoc3N0YXRlX2ZpbGVsaXN0X3JlbGF0aXZlX2NtZCwgc2hlbGw9VHJ1ZSkKfQoKCnB5dGhvbiBz
c3RhdGVfaGFyZGNvZGVfcGF0aF91bnBhY2sgKCkgewogICAgIyBGaXh1cCBoYXJkY29kZWQgcGF0
aHMKICAgICMKICAgICMgTm90ZTogVGhlIGxvZ2ljIGJlbG93IG11c3QgbWF0Y2ggdGhlIHJldmVy
c2UgbG9naWMgaW4KICAgICMgc3N0YXRlX2hhcmRjb2RlX3BhdGgoZCkKICAgIGltcG9ydCBzdWJw
cm9jZXNzCgogICAgc3N0YXRlaW5zdCA9IGQuZ2V0VmFyKCdTU1RBVEVfSU5TVERJUicpCiAgICBz
c3RhdGVmaXhtZWRpciA9IGQuZ2V0VmFyKCdTU1RBVEVfRklYTUVESVInKQogICAgZml4bWVmbiA9
IHNzdGF0ZWluc3QgKyAiZml4bWVwYXRoIgogICAgaWYgb3MucGF0aC5pc2ZpbGUoZml4bWVmbik6
CiAgICAgICAgc3RhZ2luZ190YXJnZXQgPSBkLmdldFZhcignUkVDSVBFX1NZU1JPT1QnKQogICAg
ICAgIHN0YWdpbmdfaG9zdCA9IGQuZ2V0VmFyKCdSRUNJUEVfU1lTUk9PVF9OQVRJVkUnKQoKICAg
ICAgICBpZiBiYi5kYXRhLmluaGVyaXRzX2NsYXNzKCduYXRpdmUnLCBkKSBvciBiYi5kYXRhLmlu
aGVyaXRzX2NsYXNzKCdjcm9zcy1jYW5hZGlhbicsIGQpOgogICAgICAgICAgICBzc3RhdGVfc2Vk
X2NtZCA9ICJzZWQgLWkgLWUgJ3M6RklYTUVTVEFHSU5HRElSSE9TVDolczpnJyIgJSAoc3RhZ2lu
Z19ob3N0KQogICAgICAgIGVsaWYgYmIuZGF0YS5pbmhlcml0c19jbGFzcygnY3Jvc3MnLCBkKSBv
ciBiYi5kYXRhLmluaGVyaXRzX2NsYXNzKCdjcm9zc3NkaycsIGQpOgogICAgICAgICAgICBzc3Rh
dGVfc2VkX2NtZCA9ICJzZWQgLWkgLWUgJ3M6RklYTUVTVEFHSU5HRElSVEFSR0VUOiVzOmc7IHM6
RklYTUVTVEFHSU5HRElSSE9TVDolczpnJyIgJSAoc3RhZ2luZ190YXJnZXQsIHN0YWdpbmdfaG9z
dCkKICAgICAgICBlbHNlOgogICAgICAgICAgICBzc3RhdGVfc2VkX2NtZCA9ICJzZWQgLWkgLWUg
J3M6RklYTUVTVEFHSU5HRElSVEFSR0VUOiVzOmcnIiAlIChzdGFnaW5nX3RhcmdldCkKCiAgICAg
ICAgZXh0cmFfc3RhZ2luZ19maXhtZXMgPSBkLmdldFZhcignRVhUUkFfU1RBR0lOR19GSVhNRVMn
KSBvciAnJwogICAgICAgIGZvciBmaXhtZXZhciBpbiBleHRyYV9zdGFnaW5nX2ZpeG1lcy5zcGxp
dCgpOgogICAgICAgICAgICBmaXhtZV9wYXRoID0gZC5nZXRWYXIoZml4bWV2YXIpCiAgICAgICAg
ICAgIHNzdGF0ZV9zZWRfY21kICs9ICIgLWUgJ3M6RklYTUVfJXM6JXM6ZyciICUgKGZpeG1ldmFy
LCBmaXhtZV9wYXRoKQoKICAgICAgICAjIEFkZCBzc3RhdGVpbnN0IHRvIGVhY2ggZmlsZW5hbWUg
aW4gZml4bWVwYXRoLCB1c2UgeGFyZ3MgdG8gZWZmaWNpZW50bHkgY2FsbCBzZWQKICAgICAgICBz
c3RhdGVfaGFyZGNvZGVfY21kID0gInNlZCAtZSAnczpeOiVzOmcnICVzIHwgeGFyZ3MgJXMiICUg
KHNzdGF0ZWluc3QsIGZpeG1lZm4sIHNzdGF0ZV9zZWRfY21kKQoKICAgICAgICAjIERlZmVyIGRv
X3BvcHVsYXRlX3N5c3Jvb3QgcmVsb2NhdGlvbiBjb21tYW5kCiAgICAgICAgaWYgc3N0YXRlZml4
bWVkaXI6CiAgICAgICAgICAgIGJiLnV0aWxzLm1rZGlyaGllcihzc3RhdGVmaXhtZWRpcikKICAg
ICAgICAgICAgd2l0aCBvcGVuKHNzdGF0ZWZpeG1lZGlyICsgIi9maXhtZXBhdGguY21kIiwgInci
KSBhcyBmOgogICAgICAgICAgICAgICAgc3N0YXRlX2hhcmRjb2RlX2NtZCA9IHNzdGF0ZV9oYXJk
Y29kZV9jbWQucmVwbGFjZShmaXhtZWZuLCBzc3RhdGVmaXhtZWRpciArICIvZml4bWVwYXRoIikK
ICAgICAgICAgICAgICAgIHNzdGF0ZV9oYXJkY29kZV9jbWQgPSBzc3RhdGVfaGFyZGNvZGVfY21k
LnJlcGxhY2Uoc3N0YXRlaW5zdCwgIkZJWE1FRklOQUxTU1RBVEVJTlNUIikKICAgICAgICAgICAg
ICAgIHNzdGF0ZV9oYXJkY29kZV9jbWQgPSBzc3RhdGVfaGFyZGNvZGVfY21kLnJlcGxhY2Uoc3Rh
Z2luZ19ob3N0LCAiRklYTUVGSU5BTFNTVEFURUhPU1QiKQogICAgICAgICAgICAgICAgc3N0YXRl
X2hhcmRjb2RlX2NtZCA9IHNzdGF0ZV9oYXJkY29kZV9jbWQucmVwbGFjZShzdGFnaW5nX3Rhcmdl
dCwgIkZJWE1FRklOQUxTU1RBVEVUQVJHRVQiKQogICAgICAgICAgICAgICAgZi53cml0ZShzc3Rh
dGVfaGFyZGNvZGVfY21kKQogICAgICAgICAgICBiYi51dGlscy5jb3B5ZmlsZShmaXhtZWZuLCBz
c3RhdGVmaXhtZWRpciArICIvZml4bWVwYXRoIikKICAgICAgICAgICAgcmV0dXJuCgogICAgICAg
IGJiLm5vdGUoIlJlcGxhY2luZyBmaXhtZSBwYXRocyBpbiBzc3RhdGUgcGFja2FnZTogJXMiICUg
KHNzdGF0ZV9oYXJkY29kZV9jbWQpKQogICAgICAgIHN1YnByb2Nlc3MuY2FsbChzc3RhdGVfaGFy
ZGNvZGVfY21kLCBzaGVsbD1UcnVlKQoKICAgICAgICAjIE5lZWQgdG8gcmVtb3ZlIHRoaXMgb3Ig
d2UnZCBjb3B5IGl0IGludG8gdGhlIHRhcmdldCBkaXJlY3RvcnkgYW5kIG1heQogICAgICAgICMg
Y29uZmxpY3Qgd2l0aCBhbm90aGVyIHdyaXRlcgogICAgICAgIG9zLnJlbW92ZShmaXhtZWZuKQp9
CgoKcHl0aG9uIHNzdGF0ZV9pbml0ICgpIHsKZGVmIHNzdGF0ZV9pbml0KHRhc2ssIGQpOgogICAg
c3MgPSB7fQogICAgc3NbJ3Rhc2snXSA9IHRhc2sKICAgIHNzWydkaXJzJ10gPSBbXQogICAgc3Nb
J3BsYWluZGlycyddID0gW10KICAgIHNzWydsb2NrZmlsZXMnXSA9IFtdCiAgICBzc1snbG9ja2Zp
bGVzLXNoYXJlZCddID0gW10KICAgIHJldHVybiBzcwp9CgoKcHl0aG9uIHNzdGF0ZV9pbnN0YWxs
ICgpIHsKZGVmIHNzdGF0ZV9pbnN0YWxsKHNzLCBkKToKICAgIGltcG9ydCBvZS5wYXRoCiAgICBp
bXBvcnQgb2Uuc3N0YXRlc2lnCiAgICBpbXBvcnQgc3VicHJvY2VzcwoKICAgIHNoYXJlZGZpbGVz
ID0gW10KICAgIHNoYXJlZGRpcnMgPSBbXQogICAgYmIudXRpbHMubWtkaXJoaWVyKGQuZXhwYW5k
KCIke1NTVEFURV9NQU5JRkVTVFN9IikpCgogICAgc3N0YXRlaW5zdCA9IGQuZXhwYW5kKCIke1dP
UktESVJ9L3NzdGF0ZS1pbnN0YWxsLSVzLyIgJSBzc1sndGFzayddKQoKICAgIG1hbmlmZXN0LCBk
MiA9IG9lLnNzdGF0ZXNpZy5zc3RhdGVfZ2V0X21hbmlmZXN0X2ZpbGVuYW1lKHNzWyd0YXNrJ10s
IGQpCgogICAgaWYgb3MuYWNjZXNzKG1hbmlmZXN0LCBvcy5SX09LKToKICAgICAgICBiYi5mYXRh
bCgiUGFja2FnZSBhbHJlYWR5IHN0YWdlZCAoJXMpPyEiICUgbWFuaWZlc3QpCgogICAgZC5zZXRW
YXIoIlNTVEFURV9JTlNUX1BPU1RSTSIsIG1hbmlmZXN0ICsgIi5wb3N0cm0iKQoKICAgIGxvY2tz
ID0gW10KICAgIGZvciBsb2NrIGluIHNzWydsb2NrZmlsZXMtc2hhcmVkJ106CiAgICAgICAgbG9j
a3MuYXBwZW5kKGJiLnV0aWxzLmxvY2tmaWxlKGxvY2ssIFRydWUpKQogICAgZm9yIGxvY2sgaW4g
c3NbJ2xvY2tmaWxlcyddOgogICAgICAgIGxvY2tzLmFwcGVuZChiYi51dGlscy5sb2NrZmlsZShs
b2NrKSkKCiAgICBmb3Igc3RhdGUgaW4gc3NbJ2RpcnMnXToKICAgICAgICBiYi5kZWJ1ZygyLCAi
U3RhZ2luZyBmaWxlcyBmcm9tICVzIHRvICVzIiAlIChzdGF0ZVsxXSwgc3RhdGVbMl0pKQogICAg
ICAgIGZvciB3YWxrcm9vdCwgZGlycywgZmlsZXMgaW4gb3Mud2FsayhzdGF0ZVsxXSk6CiAgICAg
ICAgICAgIGZvciBmaWxlIGluIGZpbGVzOgogICAgICAgICAgICAgICAgc3JjcGF0aCA9IG9zLnBh
dGguam9pbih3YWxrcm9vdCwgZmlsZSkKICAgICAgICAgICAgICAgIGRzdHBhdGggPSBzcmNwYXRo
LnJlcGxhY2Uoc3RhdGVbMV0sIHN0YXRlWzJdKQogICAgICAgICAgICAgICAgI2JiLmRlYnVnKDIs
ICJTdGFnaW5nICVzIHRvICVzIiAlIChzcmNwYXRoLCBkc3RwYXRoKSkKICAgICAgICAgICAgICAg
IHNoYXJlZGZpbGVzLmFwcGVuZChkc3RwYXRoKQogICAgICAgICAgICBmb3IgZGlyIGluIGRpcnM6
CiAgICAgICAgICAgICAgICBzcmNkaXIgPSBvcy5wYXRoLmpvaW4od2Fsa3Jvb3QsIGRpcikKICAg
ICAgICAgICAgICAgIGRzdGRpciA9IHNyY2Rpci5yZXBsYWNlKHN0YXRlWzFdLCBzdGF0ZVsyXSkK
ICAgICAgICAgICAgICAgICNiYi5kZWJ1ZygyLCAiU3RhZ2luZyAlcyB0byAlcyIgJSAoc3JjZGly
LCBkc3RkaXIpKQogICAgICAgICAgICAgICAgaWYgb3MucGF0aC5pc2xpbmsoc3JjZGlyKToKICAg
ICAgICAgICAgICAgICAgICBzaGFyZWRmaWxlcy5hcHBlbmQoZHN0ZGlyKQogICAgICAgICAgICAg
ICAgICAgIGNvbnRpbnVlCiAgICAgICAgICAgICAgICBpZiBub3QgZHN0ZGlyLmVuZHN3aXRoKCIv
Iik6CiAgICAgICAgICAgICAgICAgICAgZHN0ZGlyID0gZHN0ZGlyICsgIi8iCiAgICAgICAgICAg
ICAgICBzaGFyZWRkaXJzLmFwcGVuZChkc3RkaXIpCgogICAgIyBDaGVjayB0aGUgZmlsZSBsaXN0
IGZvciBjb25mbGljdHMgYWdhaW5zdCBmaWxlcyB3aGljaCBhbHJlYWR5IGV4aXN0CiAgICB3aGl0
ZWxpc3QgPSAoZC5nZXRWYXIoIlNTVEFURV9EVVBXSElURUxJU1QiKSBvciAiIikuc3BsaXQoKQog
ICAgbWF0Y2ggPSBbXQogICAgZm9yIGYgaW4gc2hhcmVkZmlsZXM6CiAgICAgICAgaWYgb3MucGF0
aC5leGlzdHMoZikgYW5kIG5vdCBvcy5wYXRoLmlzbGluayhmKToKICAgICAgICAgICAgZiA9IG9z
LnBhdGgubm9ybXBhdGgoZikKICAgICAgICAgICAgcmVhbG1hdGNoID0gVHJ1ZQogICAgICAgICAg
ICBmb3IgdyBpbiB3aGl0ZWxpc3Q6CiAgICAgICAgICAgICAgICB3ID0gb3MucGF0aC5ub3JtcGF0
aCh3KQogICAgICAgICAgICAgICAgaWYgZi5zdGFydHN3aXRoKHcpOgogICAgICAgICAgICAgICAg
ICAgIHJlYWxtYXRjaCA9IEZhbHNlCiAgICAgICAgICAgICAgICAgICAgYnJlYWsKICAgICAgICAg
ICAgaWYgcmVhbG1hdGNoOgogICAgICAgICAgICAgICAgbWF0Y2guYXBwZW5kKGYpCiAgICAgICAg
ICAgICAgICBzc3RhdGVfc2VhcmNoX2NtZCA9ICJncmVwIC1ybEYgJyVzJyAlcyAtLWV4Y2x1ZGU9
bWFzdGVyLmxpc3QgfCBzZWQgLWUgJ3M6Xi4qLzo6JyIgJSAoZiwgZC5leHBhbmQoIiR7U1NUQVRF
X01BTklGRVNUU30iKSkKICAgICAgICAgICAgICAgIHNlYXJjaF9vdXRwdXQgPSBzdWJwcm9jZXNz
LlBvcGVuKHNzdGF0ZV9zZWFyY2hfY21kLCBzaGVsbD1UcnVlLCBzdGRvdXQ9c3VicHJvY2Vzcy5Q
SVBFKS5jb21tdW5pY2F0ZSgpWzBdCiAgICAgICAgICAgICAgICBpZiBzZWFyY2hfb3V0cHV0Ogog
ICAgICAgICAgICAgICAgICAgIG1hdGNoLmFwcGVuZCgiICAobWF0Y2hlZCBpbiAlcykiICUgc2Vh
cmNoX291dHB1dC5kZWNvZGUoJ3V0Zi04JykucnN0cmlwKCkpCiAgICAgICAgICAgICAgICBlbHNl
OgogICAgICAgICAgICAgICAgICAgIG1hdGNoLmFwcGVuZCgiICAobm90IG1hdGNoZWQgdG8gYW55
IHRhc2spIikKICAgIGlmIG1hdGNoOgogICAgICAgIGJiLmVycm9yKCJUaGUgcmVjaXBlICVzIGlz
IHRyeWluZyB0byBpbnN0YWxsIGZpbGVzIGludG8gYSBzaGFyZWQgIiBcCiAgICAgICAgICAiYXJl
YSB3aGVuIHRob3NlIGZpbGVzIGFscmVhZHkgZXhpc3QuIFRob3NlIGZpbGVzIGFuZCB0aGVpciBt
YW5pZmVzdCAiIFwKICAgICAgICAgICJsb2NhdGlvbiBhcmU6XG4gICVzXG5QbGVhc2UgdmVyaWZ5
IHdoaWNoIHJlY2lwZSBzaG91bGQgcHJvdmlkZSB0aGUgIiBcCiAgICAgICAgICAiYWJvdmUgZmls
ZXMuXG5cblRoZSBidWlsZCBoYXMgc3RvcHBlZCwgYXMgY29udGludWluZyBpbiB0aGlzIHNjZW5h
cmlvIFdJTEwgIiBcCiAgICAgICAgICAiYnJlYWsgdGhpbmdzIC0gaWYgbm90IG5vdywgcG9zc2li
bHkgaW4gdGhlIGZ1dHVyZSAod2UndmUgc2VlbiBidWlsZHMgZmFpbCAiIFwKICAgICAgICAgICJz
ZXZlcmFsIG1vbnRocyBsYXRlcikuIElmIHRoZSBzeXN0ZW0ga25ldyBob3cgdG8gcmVjb3ZlciBm
cm9tIHRoaXMgIiBcCiAgICAgICAgICAiYXV0b21hdGljYWxseSBpdCB3b3VsZCwgaG93ZXZlciB0
aGVyZSBhcmUgc2V2ZXJhbCBkaWZmZXJlbnQgc2NlbmFyaW9zICIgXAogICAgICAgICAgIndoaWNo
IGNhbiByZXN1bHQgaW4gdGhpcyBhbmQgd2UgZG9uJ3Qga25vdyB3aGljaCBvbmUgdGhpcyBpcy4g
SXQgbWF5IGJlICIgXAogICAgICAgICAgInlvdSBoYXZlIHN3aXRjaGVkIHByb3ZpZGVycyBvZiBz
b21ldGhpbmcgbGlrZSB2aXJ0dWFsL2tlcm5lbCAoZS5nLiBmcm9tICIgXAogICAgICAgICAgImxp
bnV4LXlvY3RvIHRvIGxpbnV4LXlvY3RvLWRldiksIGluIHRoYXQgY2FzZSB5b3UgbmVlZCB0byBl
eGVjdXRlIHRoZSAiIFwKICAgICAgICAgICJjbGVhbiB0YXNrIGZvciBib3RoIHJlY2lwZXMgYW5k
IGl0IHdpbGwgcmVzb2x2ZSB0aGlzIGVycm9yLiBJdCBtYXkgYmUgIiBcCiAgICAgICAgICAieW91
IGNoYW5nZWQgRElTVFJPX0ZFQVRVUkVTIGZyb20gc3lzdGVtZCB0byB1ZGV2IG9yIHZpY2UgdmVy
c2EuIENsZWFuaW5nICIgXAogICAgICAgICAgInRob3NlIHJlY2lwZXMgc2hvdWxkIGFnYWluIHJl
c29sdmUgdGhpcyBlcnJvciwgaG93ZXZlciBzd2l0Y2hpbmcgIiBcCiAgICAgICAgICAiRElTVFJP
X0ZFQVRVUkVTIG9uIGFuIGV4aXN0aW5nIGJ1aWxkIGRpcmVjdG9yeSBpcyBub3Qgc3VwcG9ydGVk
IC0geW91ICIgXAogICAgICAgICAgInNob3VsZCByZWFsbHkgY2xlYW4gb3V0IHRtcCBhbmQgcmVi
dWlsZCAocmV1c2luZyBzc3RhdGUgc2hvdWxkIGJlIHNhZmUpLiAiIFwKICAgICAgICAgICJJdCBj
b3VsZCBiZSB0aGUgb3ZlcmxhcHBpbmcgZmlsZXMgZGV0ZWN0ZWQgYXJlIGhhcm1sZXNzIGluIHdo
aWNoIGNhc2UgIiBcCiAgICAgICAgICAiYWRkaW5nIHRoZW0gdG8gU1NUQVRFX0RVUFdISVRFTElT
VCBtYXkgYmUgdGhlIGNvcnJlY3Qgc29sdXRpb24uIEl0IGNvdWxkICIgXAogICAgICAgICAgImFs
c28gYmUgeW91ciBidWlsZCBpcyBpbmNsdWRpbmcgdHdvIGRpZmZlcmVudCBjb25mbGljdGluZyB2
ZXJzaW9ucyBvZiAiIFwKICAgICAgICAgICJ0aGluZ3MgKGUuZy4gYmx1ZXogNCBhbmQgYmx1ZXog
NSBhbmQgdGhlIGNvcnJlY3Qgc29sdXRpb24gZm9yIHRoYXQgd291bGQgIiBcCiAgICAgICAgICAi
YmUgdG8gcmVzb2x2ZSB0aGUgY29uZmxpY3QuIElmIGluIGRvdWJ0LCBwbGVhc2UgYXNrIG9uIHRo
ZSBtYWlsaW5nIGxpc3QsICIgXAogICAgICAgICAgInNoYXJpbmcgdGhlIGVycm9yIGFuZCBmaWxl
bGlzdCBhYm92ZS4iICUgXAogICAgICAgICAgKGQuZ2V0VmFyKCdQTicpLCAiXG4gICIuam9pbiht
YXRjaCkpKQogICAgICAgIGJiLmZhdGFsKCJJZiB0aGUgYWJvdmUgbWVzc2FnZSBpcyB0b28gbXVj
aCwgdGhlIHNpbXBsZXIgdmVyc2lvbiBpcyB5b3UncmUgYWR2aXNlZCB0byB3aXBlIG91dCB0bXAg
YW5kIHJlYnVpbGQgKHJldXNpbmcgc3N0YXRlIGlzIGZpbmUpLiBUaGF0IHdpbGwgbGlrZWx5IGZp
eCB0aGluZ3MgaW4gbW9zdCAoYnV0IG5vdCBhbGwpIGNhc2VzLiIpCgogICAgaWYgc3NbJ2ZpeG1l
ZGlyJ10gYW5kIG9zLnBhdGguZXhpc3RzKHNzWydmaXhtZWRpciddICsgIi9maXhtZXBhdGguY21k
Iik6CiAgICAgICAgc2hhcmVkZmlsZXMuYXBwZW5kKHNzWydmaXhtZWRpciddICsgIi9maXhtZXBh
dGguY21kIikKICAgICAgICBzaGFyZWRmaWxlcy5hcHBlbmQoc3NbJ2ZpeG1lZGlyJ10gKyAiL2Zp
eG1lcGF0aCIpCgogICAgIyBXcml0ZSBvdXQgdGhlIG1hbmlmZXN0CiAgICBmID0gb3BlbihtYW5p
ZmVzdCwgInciKQogICAgZm9yIGZpbGUgaW4gc2hhcmVkZmlsZXM6CiAgICAgICAgZi53cml0ZShm
aWxlICsgIlxuIikKCiAgICAjIFdlIHdhbnQgdG8gZW5zdXJlIHRoYXQgZGlyZWN0b3JpZXMgYXBw
ZWFyIGF0IHRoZSBlbmQgb2YgdGhlIG1hbmlmZXN0CiAgICAjIHNvIHRoYXQgd2hlbiB3ZSB0ZXN0
IHRvIHNlZSBpZiB0aGV5IHNob3VsZCBiZSBkZWxldGVkIGFueSBjb250ZW50cwogICAgIyBhZGRl
ZCBieSB0aGUgdGFzayB3aWxsIGhhdmUgYmVlbiByZW1vdmVkIGZpcnN0LgogICAgZGlycyA9IHNv
cnRlZChzaGFyZWRkaXJzLCBrZXk9bGVuKQogICAgIyBNdXN0IHJlbW92ZSBjaGlsZHJlbiBmaXJz
dCwgd2hpY2ggd2lsbCBoYXZlIGEgbG9uZ2VyIHBhdGggdGhhbiB0aGUgcGFyZW50CiAgICBmb3Ig
ZGkgaW4gcmV2ZXJzZWQoZGlycyk6CiAgICAgICAgZi53cml0ZShkaSArICJcbiIpCiAgICBmLmNs
b3NlKCkKCiAgICAjIEFwcGVuZCB0byB0aGUgbGlzdCBvZiBtYW5pZmVzdHMgZm9yIHRoaXMgUEFD
S0FHRV9BUkNICgogICAgaSA9IGQyLmV4cGFuZCgiJHtTU1RBVEVfTUFOSUZFU1RTfS9pbmRleC0k
e1NTVEFURV9NQU5NQUNIfSIpCiAgICBsID0gYmIudXRpbHMubG9ja2ZpbGUoaSArICIubG9jayIp
CiAgICBmaWxlZGF0YSA9IGQuZ2V0VmFyKCJTVEFNUCIpICsgIiAiICsgZDIuZ2V0VmFyKCJTU1RB
VEVfTUFORklMRVBSRUZJWCIpICsgIiAiICsgZC5nZXRWYXIoIldPUktESVIiKSArICJcbiIKICAg
IG1hbmlmZXN0cyA9IFtdCiAgICBpZiBvcy5wYXRoLmV4aXN0cyhpKToKICAgICAgICB3aXRoIG9w
ZW4oaSwgInIiKSBhcyBmOgogICAgICAgICAgICBtYW5pZmVzdHMgPSBmLnJlYWRsaW5lcygpCiAg
ICBpZiBmaWxlZGF0YSBub3QgaW4gbWFuaWZlc3RzOgogICAgICAgIHdpdGggb3BlbihpLCAiYSsi
KSBhcyBmOgogICAgICAgICAgICBmLndyaXRlKGZpbGVkYXRhKQogICAgYmIudXRpbHMudW5sb2Nr
ZmlsZShsKQoKICAgICMgUnVuIHRoZSBhY3R1YWwgZmlsZSBpbnN0YWxsCiAgICBmb3Igc3RhdGUg
aW4gc3NbJ2RpcnMnXToKICAgICAgICBpZiBvcy5wYXRoLmV4aXN0cyhzdGF0ZVsxXSk6CiAgICAg
ICAgICAgIG9lLnBhdGguY29weWhhcmRsaW5rdHJlZShzdGF0ZVsxXSwgc3RhdGVbMl0pCgogICAg
Zm9yIHBvc3RpbnN0IGluIChkLmdldFZhcignU1NUQVRFUE9TVElOU1RGVU5DUycpIG9yICcnKS5z
cGxpdCgpOgogICAgICAgICMgQWxsIGhvb2tzIHNob3VsZCBydW4gaW4gdGhlIFNTVEFURV9JTlNU
RElSCiAgICAgICAgYmIuYnVpbGQuZXhlY19mdW5jKHBvc3RpbnN0LCBkLCAoc3N0YXRlaW5zdCwp
KQoKICAgIGZvciBsb2NrIGluIGxvY2tzOgogICAgICAgIGJiLnV0aWxzLnVubG9ja2ZpbGUobG9j
aykKfQoKCnB5dGhvbiBzc3RhdGVfaW5zdGFsbHBrZyAoKSB7CmRlZiBzc3RhdGVfaW5zdGFsbHBr
ZyhzcywgZCk6CiAgICBmcm9tIG9lLmdwZ19zaWduIGltcG9ydCBnZXRfc2lnbmVyCgogICAgc3N0
YXRlaW5zdCA9IGQuZXhwYW5kKCIke1dPUktESVJ9L3NzdGF0ZS1pbnN0YWxsLSVzLyIgJSBzc1sn
dGFzayddKQogICAgc3N0YXRlZmV0Y2ggPSBkLmdldFZhcignU1NUQVRFX1BLR05BTUUnKSArICdf
JyArIHNzWyd0YXNrJ10gKyAiLnRneiIKICAgIHNzdGF0ZXBrZyA9IGQuZ2V0VmFyKCdTU1RBVEVf
UEtHJykgKyAnXycgKyBzc1sndGFzayddICsgIi50Z3oiCgogICAgaWYgbm90IG9zLnBhdGguZXhp
c3RzKHNzdGF0ZXBrZyk6CiAgICAgICAgcHN0YWdpbmdfZmV0Y2goc3N0YXRlZmV0Y2gsIHNzdGF0
ZXBrZywgZCkKCiAgICBpZiBub3Qgb3MucGF0aC5pc2ZpbGUoc3N0YXRlcGtnKToKICAgICAgICBi
Yi5ub3RlKCJTdGFnaW5nIHBhY2thZ2UgJXMgZG9lcyBub3QgZXhpc3QiICUgc3N0YXRlcGtnKQog
ICAgICAgIHJldHVybiBGYWxzZQoKICAgIHNzdGF0ZV9jbGVhbihzcywgZCkKCiAgICBkLnNldFZh
cignU1NUQVRFX0lOU1RESVInLCBzc3RhdGVpbnN0KQogICAgZC5zZXRWYXIoJ1NTVEFURV9QS0cn
LCBzc3RhdGVwa2cpCgogICAgaWYgYmIudXRpbHMudG9fYm9vbGVhbihkLmdldFZhcigiU1NUQVRF
X1ZFUklGWV9TSUciKSwgRmFsc2UpOgogICAgICAgIHNpZ25lciA9IGdldF9zaWduZXIoZCwgJ2xv
Y2FsJykKICAgICAgICBpZiBub3Qgc2lnbmVyLnZlcmlmeShzc3RhdGVwa2cgKyAnLnNpZycpOgog
ICAgICAgICAgICBiYi53YXJuKCJDYW5ub3QgdmVyaWZ5IHNpZ25hdHVyZSBvbiBzc3RhdGUgcGFj
a2FnZSAlcyIgJSBzc3RhdGVwa2cpCgogICAgIyBFbXB0eSBzc3RhdGVpbnN0IGRpcmVjdG9yeSwg
ZW5zdXJlIGl0cyBjbGVhbgogICAgaWYgb3MucGF0aC5leGlzdHMoc3N0YXRlaW5zdCk6CiAgICAg
ICAgb2UucGF0aC5yZW1vdmUoc3N0YXRlaW5zdCkKICAgIGJiLnV0aWxzLm1rZGlyaGllcihzc3Rh
dGVpbnN0KQoKICAgIHNzdGF0ZWluc3QgPSBkLmdldFZhcigiU1NUQVRFX0lOU1RESVIiKQogICAg
ZC5zZXRWYXIoJ1NTVEFURV9GSVhNRURJUicsIHNzWydmaXhtZWRpciddKQoKICAgIGZvciBmIGlu
IChkLmdldFZhcignU1NUQVRFUFJFSU5TVEZVTkNTJykgb3IgJycpLnNwbGl0KCkgKyBbJ3NzdGF0
ZV91bnBhY2tfcGFja2FnZSddOgogICAgICAgICMgQWxsIGhvb2tzIHNob3VsZCBydW4gaW4gdGhl
IFNTVEFURV9JTlNURElSCiAgICAgICAgYmIuYnVpbGQuZXhlY19mdW5jKGYsIGQsIChzc3RhdGVp
bnN0LCkpCgogICAgcmV0dXJuIHNzdGF0ZV9pbnN0YWxscGtnZGlyKHNzLCBkKQp9CgoKcHl0aG9u
IHNzdGF0ZV9pbnN0YWxscGtnZGlyICgpIHsKZGVmIHNzdGF0ZV9pbnN0YWxscGtnZGlyKHNzLCBk
KToKICAgIGltcG9ydCBvZS5wYXRoCiAgICBpbXBvcnQgc3VicHJvY2VzcwoKICAgIHNzdGF0ZWlu
c3QgPSBkLmdldFZhcigiU1NUQVRFX0lOU1RESVIiKQogICAgZC5zZXRWYXIoJ1NTVEFURV9GSVhN
RURJUicsIHNzWydmaXhtZWRpciddKQoKICAgIGZvciBmIGluIChkLmdldFZhcignU1NUQVRFUE9T
VFVOUEFDS0ZVTkNTJykgb3IgJycpLnNwbGl0KCk6CiAgICAgICAgIyBBbGwgaG9va3Mgc2hvdWxk
IHJ1biBpbiB0aGUgU1NUQVRFX0lOU1RESVIKICAgICAgICBiYi5idWlsZC5leGVjX2Z1bmMoZiwg
ZCwgKHNzdGF0ZWluc3QsKSkKCiAgICBkZWYgcHJlcGRpcihkaXIpOgogICAgICAgICMgcmVtb3Zl
IGRpciBpZiBpdCBleGlzdHMsIGVuc3VyZSBhbnkgcGFyZW50IGRpcmVjdG9yaWVzIGRvIGV4aXN0
CiAgICAgICAgaWYgb3MucGF0aC5leGlzdHMoZGlyKToKICAgICAgICAgICAgb2UucGF0aC5yZW1v
dmUoZGlyKQogICAgICAgIGJiLnV0aWxzLm1rZGlyaGllcihkaXIpCiAgICAgICAgb2UucGF0aC5y
ZW1vdmUoZGlyKQoKICAgIGZvciBzdGF0ZSBpbiBzc1snZGlycyddOgogICAgICAgIGlmIGQuZ2V0
VmFyKCdTU1RBVEVfU0tJUF9DUkVBVElPTicpID09ICcxJzoKICAgICAgICAgICAgY29udGludWUK
ICAgICAgICBwcmVwZGlyKHN0YXRlWzFdKQogICAgICAgIG9zLnJlbmFtZShzc3RhdGVpbnN0ICsg
c3RhdGVbMF0sIHN0YXRlWzFdKQogICAgc3N0YXRlX2luc3RhbGwoc3MsIGQpCgogICAgZm9yIHBs
YWluIGluIHNzWydwbGFpbmRpcnMnXToKICAgICAgICB3b3JrZGlyID0gZC5nZXRWYXIoJ1dPUktE
SVInKQogICAgICAgIHNyYyA9IHNzdGF0ZWluc3QgKyAiLyIgKyBwbGFpbi5yZXBsYWNlKHdvcmtk
aXIsICcnKQogICAgICAgIGRlc3QgPSBwbGFpbgogICAgICAgIGJiLnV0aWxzLm1rZGlyaGllcihz
cmMpCiAgICAgICAgcHJlcGRpcihkZXN0KQogICAgICAgIG9zLnJlbmFtZShzcmMsIGRlc3QpCgog
ICAgcmV0dXJuIFRydWUKfQoKCnB5dGhvbiBzc3RhdGVfcGFja2FnZSAoKSB7CmRlZiBzc3RhdGVf
cGFja2FnZShzcywgZCk6CiAgICBpbXBvcnQgb2UucGF0aAoKICAgIHRtcGRpciA9IGQuZ2V0VmFy
KCdUTVBESVInKQoKICAgIHNzdGF0ZWJ1aWxkID0gZC5leHBhbmQoIiR7V09SS0RJUn0vc3N0YXRl
LWJ1aWxkLSVzLyIgJSBzc1sndGFzayddKQogICAgc3N0YXRlcGtnID0gZC5nZXRWYXIoJ1NTVEFU
RV9QS0cnKSArICdfJysgc3NbJ3Rhc2snXSArICIudGd6IgogICAgYmIudXRpbHMucmVtb3ZlKHNz
dGF0ZWJ1aWxkLCByZWN1cnNlPVRydWUpCiAgICBiYi51dGlscy5ta2RpcmhpZXIoc3N0YXRlYnVp
bGQpCiAgICBiYi51dGlscy5ta2RpcmhpZXIob3MucGF0aC5kaXJuYW1lKHNzdGF0ZXBrZykpCiAg
ICBmb3Igc3RhdGUgaW4gc3NbJ2RpcnMnXToKICAgICAgICBpZiBub3Qgb3MucGF0aC5leGlzdHMo
c3RhdGVbMV0pOgogICAgICAgICAgICBjb250aW51ZQogICAgICAgIGlmIGQuZ2V0VmFyKCdTU1RB
VEVfU0tJUF9DUkVBVElPTicpID09ICcxJzoKICAgICAgICAgICAgY29udGludWUKICAgICAgICBz
cmNiYXNlID0gc3RhdGVbMF0ucnN0cmlwKCIvIikucnNwbGl0KCcvJywgMSlbMF0KICAgICAgICAj
IEZpbmQgYW5kIGVycm9yIGZvciBhYnNvbHV0ZSBzeW1saW5rcy4gV2UgY291bGQgYXR0ZW1wdCB0
byByZWxvY2F0ZSBidXQgaXRzIG5vdAogICAgICAgICMgY2xlYXIgd2hlcmUgdGhlIHN5bWxpbmsg
aXMgcmVsYXRpdmUgdG8gaW4gdGhpcyBjb250ZXh0LiBXZSBjb3VsZCBhZGQgdGhhdCBtYXJrdXAK
ICAgICAgICAjIHRvIHNzdGF0ZSB0YXNrcyBidXQgdGhlcmUgYXJlbid0IG1hbnkgb2YgdGhlc2Ug
c28gYmV0dGVyIGp1c3QgYXZvaWQgdGhlbSBlbnRpcmVseS4KICAgICAgICBmb3Igd2Fsa3Jvb3Qs
IGRpcnMsIGZpbGVzIGluIG9zLndhbGsoc3RhdGVbMV0pOgogICAgICAgICAgICBmb3IgZmlsZSBp
biBmaWxlcyArIGRpcnM6CiAgICAgICAgICAgICAgICBzcmNwYXRoID0gb3MucGF0aC5qb2luKHdh
bGtyb290LCBmaWxlKQogICAgICAgICAgICAgICAgaWYgbm90IG9zLnBhdGguaXNsaW5rKHNyY3Bh
dGgpOgogICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCiAgICAgICAgICAgICAgICBsaW5rID0g
b3MucmVhZGxpbmsoc3JjcGF0aCkKICAgICAgICAgICAgICAgIGlmIG5vdCBvcy5wYXRoLmlzYWJz
KGxpbmspOgogICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCiAgICAgICAgICAgICAgICBpZiBu
b3QgbGluay5zdGFydHN3aXRoKHRtcGRpcik6CiAgICAgICAgICAgICAgICAgICAgY29udGludWUK
ICAgICAgICAgICAgICAgIGJiLmVycm9yKCJzc3RhdGUgZm91bmQgYW4gYWJzb2x1dGUgcGF0aCBz
eW1saW5rICVzIHBvaW50aW5nIGF0ICVzLiBQbGVhc2UgcmVwbGFjZSB0aGlzIHdpdGggYSByZWxh
dGl2ZSBsaW5rLiIgJSAoc3JjcGF0aCwgbGluaykpCiAgICAgICAgYmIuZGVidWcoMiwgIlByZXBh
cmluZyB0cmVlICVzIGZvciBwYWNrYWdpbmcgYXQgJXMiICUgKHN0YXRlWzFdLCBzc3RhdGVidWls
ZCArIHN0YXRlWzBdKSkKICAgICAgICBvcy5yZW5hbWUoc3RhdGVbMV0sIHNzdGF0ZWJ1aWxkICsg
c3RhdGVbMF0pCgogICAgd29ya2RpciA9IGQuZ2V0VmFyKCdXT1JLRElSJykKICAgIGZvciBwbGFp
biBpbiBzc1sncGxhaW5kaXJzJ106CiAgICAgICAgcGRpciA9IHBsYWluLnJlcGxhY2Uod29ya2Rp
ciwgc3N0YXRlYnVpbGQpCiAgICAgICAgYmIudXRpbHMubWtkaXJoaWVyKHBsYWluKQogICAgICAg
IGJiLnV0aWxzLm1rZGlyaGllcihwZGlyKQogICAgICAgIG9zLnJlbmFtZShwbGFpbiwgcGRpcikK
CiAgICBkLnNldFZhcignU1NUQVRFX0JVSUxERElSJywgc3N0YXRlYnVpbGQpCiAgICBkLnNldFZh
cignU1NUQVRFX1BLRycsIHNzdGF0ZXBrZykKCiAgICBmb3IgZiBpbiAoZC5nZXRWYXIoJ1NTVEFU
RUNSRUFURUZVTkNTJykgb3IgJycpLnNwbGl0KCkgKyBcCiAgICAgICAgICAgICBbJ3NzdGF0ZV9j
cmVhdGVfcGFja2FnZScsICdzc3RhdGVfc2lnbl9wYWNrYWdlJ10gKyBcCiAgICAgICAgICAgICAo
ZC5nZXRWYXIoJ1NTVEFURVBPU1RDUkVBVEVGVU5DUycpIG9yICcnKS5zcGxpdCgpOgogICAgICAg
ICMgQWxsIGhvb2tzIHNob3VsZCBydW4gaW4gU1NUQVRFX0JVSUxERElSLgogICAgICAgIGJiLmJ1
aWxkLmV4ZWNfZnVuYyhmLCBkLCAoc3N0YXRlYnVpbGQsKSkKCiAgICBiYi5zaWdnZW4uZHVtcF90
aGlzX3Rhc2soc3N0YXRlcGtnICsgIi5zaWdpbmZvIiwgZCkKCiAgICBkLnNldFZhcignU1NUQVRF
X0lOU1RESVInLCBzc3RhdGVidWlsZCkKCiAgICByZXR1cm4KfQoKCnB5dGhvbiBzc3RhdGVfc2V0
c2NlbmUgKCkgewpkZWYgc3N0YXRlX3NldHNjZW5lKGQpOgogICAgc2hhcmVkX3N0YXRlID0gc3N0
YXRlX3N0YXRlX2Zyb212YXJzKGQpCiAgICBhY2NlbGVyYXRlID0gc3N0YXRlX2luc3RhbGxwa2co
c2hhcmVkX3N0YXRlLCBkKQogICAgaWYgbm90IGFjY2VsZXJhdGU6CiAgICAgICAgYmIuZmF0YWwo
Ik5vIHN1aXRhYmxlIHN0YWdpbmcgcGFja2FnZSBmb3VuZCIpCn0KCgpweXRob24gc3N0YXRlX3Np
Z25fcGFja2FnZSAoKSB7CiAgICBmcm9tIG9lLmdwZ19zaWduIGltcG9ydCBnZXRfc2lnbmVyCgog
ICAgaWYgZC5nZXRWYXIoJ1NTVEFURV9TSUdfS0VZJyk6CiAgICAgICAgc2lnbmVyID0gZ2V0X3Np
Z25lcihkLCAnbG9jYWwnKQogICAgICAgIHNzdGF0ZV9wa2cgPSBkLmdldFZhcignU1NUQVRFX1BL
RycpCiAgICAgICAgaWYgb3MucGF0aC5leGlzdHMoc3N0YXRlX3BrZyArICcuc2lnJyk6CiAgICAg
ICAgICAgIG9zLnVubGluayhzc3RhdGVfcGtnICsgJy5zaWcnKQogICAgICAgIHNpZ25lci5kZXRh
Y2hfc2lnbihzc3RhdGVfcGtnLCBkLmdldFZhcignU1NUQVRFX1NJR19LRVknLCBGYWxzZSksIE5v
bmUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGQuZ2V0VmFyKCdTU1RBVEVfU0lHX1BBU1NQ
SFJBU0UnKSwgYXJtb3I9RmFsc2UpCn0KCgpweXRob24gc3N0YXRlX3N0YXRlX2Zyb212YXJzICgp
IHsKZGVmIHNzdGF0ZV9zdGF0ZV9mcm9tdmFycyhkLCB0YXNrID0gTm9uZSk6CiAgICBpZiB0YXNr
IGlzIE5vbmU6CiAgICAgICAgdGFzayA9IGQuZ2V0VmFyKCdCQl9DVVJSRU5UVEFTSycpCiAgICAg
ICAgaWYgbm90IHRhc2s6CiAgICAgICAgICAgIGJiLmZhdGFsKCJzc3RhdGUgY29kZSBydW5uaW5n
IHdpdGhvdXQgdGFzayBjb250ZXh0PyEiKQogICAgICAgIHRhc2sgPSB0YXNrLnJlcGxhY2UoIl9z
ZXRzY2VuZSIsICIiKQoKICAgIGlmIHRhc2suc3RhcnRzd2l0aCgiZG9fIik6CiAgICAgICAgdGFz
ayA9IHRhc2tbMzpdCiAgICBpbnB1dHMgPSAoZC5nZXRWYXJGbGFnKCJkb18iICsgdGFzaywgJ3Nz
dGF0ZS1pbnB1dGRpcnMnKSBvciAiIikuc3BsaXQoKQogICAgb3V0cHV0cyA9IChkLmdldFZhckZs
YWcoImRvXyIgKyB0YXNrLCAnc3N0YXRlLW91dHB1dGRpcnMnKSBvciAiIikuc3BsaXQoKQogICAg
cGxhaW5kaXJzID0gKGQuZ2V0VmFyRmxhZygiZG9fIiArIHRhc2ssICdzc3RhdGUtcGxhaW5kaXJz
Jykgb3IgIiIpLnNwbGl0KCkKICAgIGxvY2tmaWxlcyA9IChkLmdldFZhckZsYWcoImRvXyIgKyB0
YXNrLCAnc3N0YXRlLWxvY2tmaWxlJykgb3IgIiIpLnNwbGl0KCkKICAgIGxvY2tmaWxlc3NoYXJl
ZCA9IChkLmdldFZhckZsYWcoImRvXyIgKyB0YXNrLCAnc3N0YXRlLWxvY2tmaWxlLXNoYXJlZCcp
IG9yICIiKS5zcGxpdCgpCiAgICBpbnRlcmNlcHRmdW5jcyA9IChkLmdldFZhckZsYWcoImRvXyIg
KyB0YXNrLCAnc3N0YXRlLWludGVyY2VwdGZ1bmNzJykgb3IgIiIpLnNwbGl0KCkKICAgIGZpeG1l
ZGlyID0gZC5nZXRWYXJGbGFnKCJkb18iICsgdGFzaywgJ3NzdGF0ZS1maXhtZWRpcicpIG9yICIi
CiAgICBpZiBub3QgdGFzayBvciBsZW4oaW5wdXRzKSAhPSBsZW4ob3V0cHV0cyk6CiAgICAgICAg
YmIuZmF0YWwoInNzdGF0ZSB2YXJpYWJsZXMgbm90IHNldHVwIGNvcnJlY3RseT8hIikKCiAgICBp
ZiB0YXNrID09ICJwb3B1bGF0ZV9saWMiOgogICAgICAgIGQuc2V0VmFyKCJTU1RBVEVfUEtHU1BF
QyIsICIke1NTVEFURV9TV1NQRUN9IikKICAgICAgICBkLnNldFZhcigiU1NUQVRFX0VYVFJBUEFU
SCIsICIiKQogICAgICAgIGQuc2V0VmFyKCdTU1RBVEVfRVhUUkFQQVRIV0lMRENBUkQnLCAiIikK
CiAgICBzcyA9IHNzdGF0ZV9pbml0KHRhc2ssIGQpCiAgICBmb3IgaSBpbiByYW5nZShsZW4oaW5w
dXRzKSk6CiAgICAgICAgc3N0YXRlX2FkZChzcywgaW5wdXRzW2ldLCBvdXRwdXRzW2ldLCBkKQog
ICAgc3NbJ2xvY2tmaWxlcyddID0gbG9ja2ZpbGVzCiAgICBzc1snbG9ja2ZpbGVzLXNoYXJlZCdd
ID0gbG9ja2ZpbGVzc2hhcmVkCiAgICBzc1sncGxhaW5kaXJzJ10gPSBwbGFpbmRpcnMKICAgIHNz
WydpbnRlcmNlcHRmdW5jcyddID0gaW50ZXJjZXB0ZnVuY3MKICAgIHNzWydmaXhtZWRpciddID0g
Zml4bWVkaXIKICAgIHJldHVybiBzcwp9CgoKcHl0aG9uIHNzdGF0ZV90YXNrX3Bvc3RmdW5jICgp
IHsKICAgIHNoYXJlZF9zdGF0ZSA9IHNzdGF0ZV9zdGF0ZV9mcm9tdmFycyhkKQoKICAgIGZvciBp
bnRlcmNlcHQgaW4gc2hhcmVkX3N0YXRlWydpbnRlcmNlcHRmdW5jcyddOgogICAgICAgIGJiLmJ1
aWxkLmV4ZWNfZnVuYyhpbnRlcmNlcHQsIGQsIChkLmdldFZhcigiV09SS0RJUiIpLCkpCgogICAg
b21hc2sgPSBvcy51bWFzaygwbzAwMikKICAgIGlmIG9tYXNrICE9IDBvMDAyOgogICAgICAgYmIu
bm90ZSgiVXNpbmcgdW1hc2sgMG8wMDIgKG5vdCAlMG8pIGZvciBzc3RhdGUgcGFja2FnaW5nIiAl
IG9tYXNrKQogICAgc3N0YXRlX3BhY2thZ2Uoc2hhcmVkX3N0YXRlLCBkKQogICAgb3MudW1hc2so
b21hc2spCgogICAgc3N0YXRlaW5zdCA9IGQuZ2V0VmFyKCJTU1RBVEVfSU5TVERJUiIpCiAgICBk
LnNldFZhcignU1NUQVRFX0ZJWE1FRElSJywgc2hhcmVkX3N0YXRlWydmaXhtZWRpciddKQoKICAg
IHNzdGF0ZV9pbnN0YWxscGtnZGlyKHNoYXJlZF9zdGF0ZSwgZCkKCiAgICBiYi51dGlscy5yZW1v
dmUoZC5nZXRWYXIoIlNTVEFURV9CVUlMRERJUiIpLCByZWN1cnNlPVRydWUpCn0KCgpweXRob24g
c3N0YXRlX3Rhc2tfcHJlZnVuYyAoKSB7CiAgICBzaGFyZWRfc3RhdGUgPSBzc3RhdGVfc3RhdGVf
ZnJvbXZhcnMoZCkKICAgIHNzdGF0ZV9jbGVhbihzaGFyZWRfc3RhdGUsIGQpCn0KCgpweXRob24g
c3RhZ2luZ19jb3B5ZGlyICgpIHsKZGVmIHN0YWdpbmdfY29weWRpcihjLCB0YXJnZXQsIGRlc3Qs
IHNlZW5kaXJzKToKICAgIGlmIGRlc3Qgbm90IGluIHNlZW5kaXJzOgogICAgICAgIGJiLnV0aWxz
Lm1rZGlyaGllcihkZXN0KQogICAgICAgIHNlZW5kaXJzLmFkZChkZXN0KQp9CgoKcHl0aG9uIHN0
YWdpbmdfY29weWZpbGUgKCkgewpkZWYgc3RhZ2luZ19jb3B5ZmlsZShjLCB0YXJnZXQsIGRlc3Qs
IHBvc3RpbnN0cywgc2VlbmRpcnMpOgogICAgaW1wb3J0IGVycm5vCgogICAgZGVzdGRpciA9IG9z
LnBhdGguZGlybmFtZShkZXN0KQogICAgaWYgZGVzdGRpciBub3QgaW4gc2VlbmRpcnM6CiAgICAg
ICAgYmIudXRpbHMubWtkaXJoaWVyKGRlc3RkaXIpCiAgICAgICAgc2VlbmRpcnMuYWRkKGRlc3Rk
aXIpCiAgICBpZiAiL3Vzci9iaW4vcG9zdGluc3QtIiBpbiBjOgogICAgICAgIHBvc3RpbnN0cy5h
cHBlbmQoZGVzdCkKICAgIGlmIG9zLnBhdGguaXNsaW5rKGMpOgogICAgICAgIGxpbmt0byA9IG9z
LnJlYWRsaW5rKGMpCiAgICAgICAgaWYgb3MucGF0aC5sZXhpc3RzKGRlc3QpOgogICAgICAgICAg
ICBpZiBub3Qgb3MucGF0aC5pc2xpbmsoZGVzdCk6CiAgICAgICAgICAgICAgICByYWlzZSBPU0Vy
cm9yKGVycm5vLkVFWElTVCwgIkxpbmsgJXMgYWxyZWFkeSBleGlzdHMgYXMgYSBmaWxlIiAlIGRl
c3QsIGRlc3QpCiAgICAgICAgICAgIGlmIG9zLnJlYWRsaW5rKGRlc3QpID09IGxpbmt0bzoKICAg
ICAgICAgICAgICAgIHJldHVybiBkZXN0CiAgICAgICAgICAgIHJhaXNlIE9TRXJyb3IoZXJybm8u
RUVYSVNULCAiTGluayAlcyBhbHJlYWR5IGV4aXN0cyB0byBhIGRpZmZlcmVudCBsb2NhdGlvbj8g
KCVzIHZzICVzKSIgJSAoZGVzdCwgb3MucmVhZGxpbmsoZGVzdCksIGxpbmt0byksIGRlc3QpCiAg
ICAgICAgb3Muc3ltbGluayhsaW5rdG8sIGRlc3QpCiAgICAgICAgI2JiLndhcm4oYykKICAgIGVs
c2U6CiAgICAgICAgdHJ5OgogICAgICAgICAgICBvcy5saW5rKGMsIGRlc3QpCiAgICAgICAgZXhj
ZXB0IE9TRXJyb3IgYXMgZXJyOgogICAgICAgICAgICBpZiBlcnIuZXJybm8gPT0gZXJybm8uRVhE
RVY6CiAgICAgICAgICAgICAgICBiYi51dGlscy5jb3B5ZmlsZShjLCBkZXN0KQogICAgICAgICAg
ICBlbHNlOgogICAgICAgICAgICAgICAgcmFpc2UKICAgIHJldHVybiBkZXN0Cn0KCgpweXRob24g
c3RhZ2luZ19wb3B1bGF0ZV9zeXNyb290X2RpciAoKSB7CmRlZiBzdGFnaW5nX3BvcHVsYXRlX3N5
c3Jvb3RfZGlyKHRhcmdldHN5c3Jvb3QsIG5hdGl2ZXN5c3Jvb3QsIG5hdGl2ZSwgZCk6CiAgICBp
bXBvcnQgZ2xvYgogICAgaW1wb3J0IHN1YnByb2Nlc3MKCiAgICBmaXhtZSA9IFtdCiAgICBwb3N0
aW5zdHMgPSBbXQogICAgc2VlbmRpcnMgPSBzZXQoKQogICAgc3RhZ2luZ2RpciA9IGQuZ2V0VmFy
KCJTVEFHSU5HX0RJUiIpCiAgICBpZiBuYXRpdmU6CiAgICAgICAgcGtnYXJjaHMgPSBbJyR7QlVJ
TERfQVJDSH0nLCAnJHtCVUlMRF9BUkNIfV8qJ10KICAgICAgICB0YXJnZXRkaXIgPSBuYXRpdmVz
eXNyb290CiAgICBlbHNlOgogICAgICAgIHBrZ2FyY2hzID0gWycke01BQ0hJTkVfQVJDSH0nXQog
ICAgICAgIHBrZ2FyY2hzID0gcGtnYXJjaHMgKyBsaXN0KHJldmVyc2VkKGQuZ2V0VmFyKCJQQUNL
QUdFX0VYVFJBX0FSQ0hTIikuc3BsaXQoKSkpCiAgICAgICAgcGtnYXJjaHMuYXBwZW5kKCdhbGxh
cmNoJykKICAgICAgICB0YXJnZXRkaXIgPSB0YXJnZXRzeXNyb290CgogICAgYmIudXRpbHMubWtk
aXJoaWVyKHRhcmdldGRpcikKICAgIGZvciBwa2dhcmNoIGluIHBrZ2FyY2hzOgogICAgICAgIGZv
ciBtYW5pZmVzdCBpbiBnbG9iLmdsb2IoZC5leHBhbmQoIiR7U1NUQVRFX01BTklGRVNUU30vbWFu
aWZlc3QtJXMtKi5wb3B1bGF0ZV9zeXNyb290IiAlIHBrZ2FyY2gpKToKICAgICAgICAgICAgaWYg
bWFuaWZlc3QuZW5kc3dpdGgoIi1pbml0aWFsLnBvcHVsYXRlX3N5c3Jvb3QiKToKICAgICAgICAg
ICAgICAgICMgc2tpcCBnbGliYy1pbml0aWFsIGFuZCBsaWJnY2MtaW5pdGlhbCBkdWUgdG8gZmls
ZSBvdmVybGFwCiAgICAgICAgICAgICAgICBjb250aW51ZQogICAgICAgICAgICB0bWFuaWZlc3Qg
PSB0YXJnZXRkaXIgKyAiLyIgKyBvcy5wYXRoLmJhc2VuYW1lKG1hbmlmZXN0KQogICAgICAgICAg
ICBpZiBvcy5wYXRoLmV4aXN0cyh0bWFuaWZlc3QpOgogICAgICAgICAgICAgICAgY29udGludWUK
ICAgICAgICAgICAgdHJ5OgogICAgICAgICAgICAgICAgb3MubGluayhtYW5pZmVzdCwgdG1hbmlm
ZXN0KQogICAgICAgICAgICBleGNlcHQgT1NFcnJvciBhcyBlcnI6CiAgICAgICAgICAgICAgICBp
ZiBlcnIuZXJybm8gPT0gZXJybm8uRVhERVY6CiAgICAgICAgICAgICAgICAgICAgYmIudXRpbHMu
Y29weWZpbGUobWFuaWZlc3QsIHRtYW5pZmVzdCkKICAgICAgICAgICAgICAgIGVsc2U6CiAgICAg
ICAgICAgICAgICAgICAgcmFpc2UKICAgICAgICAgICAgd2l0aCBvcGVuKG1hbmlmZXN0LCAiciIp
IGFzIGY6CiAgICAgICAgICAgICAgICBmb3IgbCBpbiBmOgogICAgICAgICAgICAgICAgICAgIGwg
PSBsLnN0cmlwKCkKICAgICAgICAgICAgICAgICAgICBpZiBsLmVuZHN3aXRoKCIvZml4bWVwYXRo
Iik6CiAgICAgICAgICAgICAgICAgICAgICAgIGZpeG1lLmFwcGVuZChsKQogICAgICAgICAgICAg
ICAgICAgICAgICBjb250aW51ZQogICAgICAgICAgICAgICAgICAgIGlmIGwuZW5kc3dpdGgoIi9m
aXhtZXBhdGguY21kIik6CiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCiAgICAgICAg
ICAgICAgICAgICAgZGVzdCA9IGwucmVwbGFjZShzdGFnaW5nZGlyLCAiIikKICAgICAgICAgICAg
ICAgICAgICBkZXN0ID0gdGFyZ2V0ZGlyICsgIi8iICsgIi8iLmpvaW4oZGVzdC5zcGxpdCgiLyIp
WzM6XSkKICAgICAgICAgICAgICAgICAgICBpZiBsLmVuZHN3aXRoKCIvIik6CiAgICAgICAgICAg
ICAgICAgICAgICAgIHN0YWdpbmdfY29weWRpcihsLCB0YXJnZXRkaXIsIGRlc3QsIHNlZW5kaXJz
KQogICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZQogICAgICAgICAgICAgICAgICAgIHRy
eToKICAgICAgICAgICAgICAgICAgICAgICAgc3RhZ2luZ19jb3B5ZmlsZShsLCB0YXJnZXRkaXIs
IGRlc3QsIHBvc3RpbnN0cywgc2VlbmRpcnMpCiAgICAgICAgICAgICAgICAgICAgZXhjZXB0IEZp
bGVFeGlzdHNFcnJvcjoKICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWUKCiAgICBzdGFn
aW5nX3Byb2Nlc3NmaXhtZShmaXhtZSwgdGFyZ2V0ZGlyLCB0YXJnZXRzeXNyb290LCBuYXRpdmVz
eXNyb290LCBkKQogICAgZm9yIHAgaW4gcG9zdGluc3RzOgogICAgICAgIHN1YnByb2Nlc3MuY2hl
Y2tfb3V0cHV0KHAsIHNoZWxsPVRydWUpCn0KCgpweXRob24gc3RhZ2luZ19wcm9jZXNzZml4bWUg
KCkgewpkZWYgc3RhZ2luZ19wcm9jZXNzZml4bWUoZml4bWUsIHRhcmdldCwgcmVjaXBlc3lzcm9v
dCwgcmVjaXBlc3lzcm9vdG5hdGl2ZSwgZCk6CiAgICBpbXBvcnQgc3VicHJvY2VzcwoKICAgIGlm
IG5vdCBmaXhtZToKICAgICAgICByZXR1cm4KICAgIGNtZCA9ICJzZWQgLWUgJ3M6XlteL10qLzol
cy86ZycgJXMgfCB4YXJncyBzZWQgLWkgLWUgJ3M6RklYTUVTVEFHSU5HRElSVEFSR0VUOiVzOmc7
IHM6RklYTUVTVEFHSU5HRElSSE9TVDolczpnJyIgJSAodGFyZ2V0LCAiICIuam9pbihmaXhtZSks
IHJlY2lwZXN5c3Jvb3QsIHJlY2lwZXN5c3Jvb3RuYXRpdmUpCiAgICBmb3IgZml4bWV2YXIgaW4g
WydDT01QT05FTlRTX0RJUicsICdIT1NUVE9PTFNfRElSJywgJ1BLR0RBVEFfRElSJ106CiAgICAg
ICAgZml4bWVfcGF0aCA9IGQuZ2V0VmFyKGZpeG1ldmFyKQogICAgICAgIGNtZCArPSAiIC1lICdz
OkZJWE1FXyVzOiVzOmcnIiAlIChmaXhtZXZhciwgZml4bWVfcGF0aCkKICAgIGJiLmRlYnVnKDIs
IGNtZCkKICAgIHN1YnByb2Nlc3MuY2hlY2tfb3V0cHV0KGNtZCwgc2hlbGw9VHJ1ZSkKCn0KCgpw
eXRob24gc3RhZ2luZ190YXNraGFuZGxlciAoKSB7CiAgICBiYnRhc2tzID0gZS50YXNrbGlzdAog
ICAgZm9yIHRhc2sgaW4gYmJ0YXNrczoKICAgICAgICBkZXBzID0gZC5nZXRWYXJGbGFnKHRhc2ss
ICJkZXBlbmRzIikKICAgICAgICBpZiBkZXBzIGFuZCAicG9wdWxhdGVfc3lzcm9vdCIgaW4gZGVw
czoKICAgICAgICAgICAgZC5hcHBlbmRWYXJGbGFnKHRhc2ssICJwcmVmdW5jcyIsICIgZXh0ZW5k
X3JlY2lwZV9zeXNyb290IikKfQoKCnB5dGhvbiBzeXNyb290X3N0cmlwICgpIHsKICAgIGltcG9y
dCBzdGF0LCBlcnJubwoKICAgIGR2YXIgPSBkLmdldFZhcignU1lTUk9PVF9ERVNURElSJykKICAg
IHBuID0gZC5nZXRWYXIoJ1BOJykKCiAgICBvcy5jaGRpcihkdmFyKQoKICAgICMgUmV0dXJuIHR5
cGUgKGJpdHMpOgogICAgIyAwIC0gbm90IGVsZgogICAgIyAxIC0gRUxGCiAgICAjIDIgLSBzdHJp
cHBlZAogICAgIyA0IC0gZXhlY3V0YWJsZQogICAgIyA4IC0gc2hhcmVkIGxpYnJhcnkKICAgICMg
MTYgLSBrZXJuZWwgbW9kdWxlCiAgICBkZWYgaXNFTEYocGF0aCk6CiAgICAgICAgdHlwZSA9IDAK
ICAgICAgICByZXQsIHJlc3VsdCA9IG9lLnV0aWxzLmdldHN0YXR1c291dHB1dCgiZmlsZSBcIiVz
XCIiICUgcGF0aC5yZXBsYWNlKCJcIiIsICJcXFwiIikpCgogICAgICAgIGlmIHJldDoKICAgICAg
ICAgICAgYmIuZXJyb3IoInNwbGl0X2FuZF9zdHJpcF9maWxlczogJ2ZpbGUgJXMnIGZhaWxlZCIg
JSBwYXRoKQogICAgICAgICAgICByZXR1cm4gdHlwZQoKICAgICAgICAjIE5vdCBzdHJpcHBlZAog
ICAgICAgIGlmICJFTEYiIGluIHJlc3VsdDoKICAgICAgICAgICAgdHlwZSB8PSAxCiAgICAgICAg
ICAgIGlmICJub3Qgc3RyaXBwZWQiIG5vdCBpbiByZXN1bHQ6CiAgICAgICAgICAgICAgICB0eXBl
IHw9IDIKICAgICAgICAgICAgaWYgImV4ZWN1dGFibGUiIGluIHJlc3VsdDoKICAgICAgICAgICAg
ICAgIHR5cGUgfD0gNAogICAgICAgICAgICBpZiAic2hhcmVkIiBpbiByZXN1bHQ6CiAgICAgICAg
ICAgICAgICB0eXBlIHw9IDgKICAgICAgICByZXR1cm4gdHlwZQoKCiAgICBlbGZmaWxlcyA9IHt9
CiAgICBpbm9kZXMgPSB7fQogICAgbGliZGlyID0gb3MucGF0aC5hYnNwYXRoKGR2YXIgKyBvcy5z
ZXAgKyBkLmdldFZhcigibGliZGlyIikpCiAgICBiYXNlbGliZGlyID0gb3MucGF0aC5hYnNwYXRo
KGR2YXIgKyBvcy5zZXAgKyBkLmdldFZhcigiYmFzZV9saWJkaXIiKSkKICAgIGlmIChkLmdldFZh
cignSU5ISUJJVF9TWVNST09UX1NUUklQJykgIT0gJzEnKToKICAgICAgICAjCiAgICAgICAgIyBG
aXJzdCBsZXRzIGZpZ3VyZSBvdXQgYWxsIG9mIHRoZSBmaWxlcyB3ZSBtYXkgaGF2ZSB0byBwcm9j
ZXNzCiAgICAgICAgIwogICAgICAgIGZvciByb290LCBkaXJzLCBmaWxlcyBpbiBvcy53YWxrKGR2
YXIpOgogICAgICAgICAgICBmb3IgZiBpbiBmaWxlczoKICAgICAgICAgICAgICAgIGZpbGUgPSBv
cy5wYXRoLmpvaW4ocm9vdCwgZikKCiAgICAgICAgICAgICAgICB0cnk6CiAgICAgICAgICAgICAg
ICAgICAgbHRhcmdldCA9IG9lLnBhdGgucmVhbHBhdGgoZmlsZSwgZHZhciwgRmFsc2UpCiAgICAg
ICAgICAgICAgICAgICAgcyA9IG9zLmxzdGF0KGx0YXJnZXQpCiAgICAgICAgICAgICAgICBleGNl
cHQgT1NFcnJvciBhcyBlOgogICAgICAgICAgICAgICAgICAgIChlcnIsIHN0cmVycm9yKSA9IGUu
YXJncwogICAgICAgICAgICAgICAgICAgIGlmIGVyciAhPSBlcnJuby5FTk9FTlQ6CiAgICAgICAg
ICAgICAgICAgICAgICAgIHJhaXNlCiAgICAgICAgICAgICAgICAgICAgIyBTa2lwIGJyb2tlbiBz
eW1saW5rcwogICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCiAgICAgICAgICAgICAgICBpZiBu
b3QgczoKICAgICAgICAgICAgICAgICAgICBjb250aW51ZQogICAgICAgICAgICAgICAgIyBDaGVj
ayBpdHMgYW4gZXhjdXRhYmxlCiAgICAgICAgICAgICAgICBpZiAoc1tzdGF0LlNUX01PREVdICYg
c3RhdC5TX0lYVVNSKSBvciAoc1tzdGF0LlNUX01PREVdICYgc3RhdC5TX0lYR1JQKSBvciAoc1tz
dGF0LlNUX01PREVdICYgc3RhdC5TX0lYT1RIKSBcCiAgICAgICAgICAgICAgICAgICAgICAgIG9y
ICgoZmlsZS5zdGFydHN3aXRoKGxpYmRpcikgb3IgZmlsZS5zdGFydHN3aXRoKGJhc2VsaWJkaXIp
KSBhbmQgIi5zbyIgaW4gZik6CiAgICAgICAgICAgICAgICAgICAgIyBJZiBpdCdzIGEgc3ltbGlu
aywgYW5kIHBvaW50cyB0byBhbiBFTEYgZmlsZSwgd2UgY2FwdHVyZSB0aGUgcmVhZGxpbmsgdGFy
Z2V0CiAgICAgICAgICAgICAgICAgICAgaWYgb3MucGF0aC5pc2xpbmsoZmlsZSk6CiAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnRpbnVlCgogICAgICAgICAgICAgICAgICAgICMgSXQncyBhIGZp
bGUgKG9yIGhhcmRsaW5rKSwgbm90IGEgbGluawogICAgICAgICAgICAgICAgICAgICMgLi4uYnV0
IGlzIGl0IEVMRiwgYW5kIGlzIGl0IGFscmVhZHkgc3RyaXBwZWQ/CiAgICAgICAgICAgICAgICAg
ICAgZWxmX2ZpbGUgPSBpc0VMRihmaWxlKQogICAgICAgICAgICAgICAgICAgIGlmIGVsZl9maWxl
ICYgMToKICAgICAgICAgICAgICAgICAgICAgICAgaWYgZWxmX2ZpbGUgJiAyOgogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaWYgJ2FscmVhZHktc3RyaXBwZWQnIGluIChkLmdldFZhcignSU5T
QU5FX1NLSVBfJyArIHBuKSBvciAiIikuc3BsaXQoKToKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBiYi5ub3RlKCJTa2lwcGluZyBmaWxlICVzIGZyb20gJXMgZm9yIGFscmVhZHktc3Ry
aXBwZWQgUUEgdGVzdCIgJSAoZmlsZVtsZW4oZHZhcik6XSwgcG4pKQogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYi53YXJu
KCJGaWxlICclcycgZnJvbSAlcyB3YXMgYWxyZWFkeSBzdHJpcHBlZCwgdGhpcyB3aWxsIHByZXZl
bnQgZnV0dXJlIGRlYnVnZ2luZyEiICUgKGZpbGVbbGVuKGR2YXIpOl0sIHBuKSkKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCgogICAgICAgICAgICAgICAgICAgICAgICBpZiBz
LnN0X2lubyBpbiBpbm9kZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcy51bmxpbmso
ZmlsZSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9zLmxpbmsoaW5vZGVzW3Muc3RfaW5v
XSwgZmlsZSkKICAgICAgICAgICAgICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGlub2Rlc1tzLnN0X2lub10gPSBmaWxlCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAjIGJyZWFrIGhhcmRsaW5rCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYi51dGls
cy5jb3B5ZmlsZShmaWxlLCBmaWxlKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxmZmls
ZXNbZmlsZV0gPSBlbGZfZmlsZQoKICAgICAgICAjCiAgICAgICAgIyBOb3cgc3RyaXAgdGhlbSAo
aW4gcGFyYWxsZWwpCiAgICAgICAgIwogICAgICAgIHN0cmlwID0gZC5nZXRWYXIoIlNUUklQIikK
ICAgICAgICBzZmlsZXMgPSBbXQogICAgICAgIGZvciBmaWxlIGluIGVsZmZpbGVzOgogICAgICAg
ICAgICBlbGZfZmlsZSA9IGludChlbGZmaWxlc1tmaWxlXSkKICAgICAgICAgICAgI2JiLm5vdGUo
IlN0cmlwICVzIiAlIGZpbGUpCiAgICAgICAgICAgIHNmaWxlcy5hcHBlbmQoKGZpbGUsIGVsZl9m
aWxlLCBzdHJpcCkpCgogICAgICAgIG9lLnV0aWxzLm11bHRpcHJvY2Vzc19leGVjKHNmaWxlcywg
b2UucGFja2FnZS5ydW5zdHJpcCkKfQoKCnB5dGhvbiB1bmluYXRpdmVfY2hhbmdlaW50ZXJwICgp
IHsKICAgIGltcG9ydCBzdWJwcm9jZXNzCiAgICBpbXBvcnQgc3RhdAogICAgaW1wb3J0IG9lLnFh
CgogICAgaWYgbm90IChiYi5kYXRhLmluaGVyaXRzX2NsYXNzKCduYXRpdmUnLCBkKSBvciBiYi5k
YXRhLmluaGVyaXRzX2NsYXNzKCdjcm9zc3NkaycsIGQpIG9yIGJiLmRhdGEuaW5oZXJpdHNfY2xh
c3MoJ2Nyb3NzJywgZCkpOgogICAgICAgIHJldHVybgoKICAgIHNzdGF0ZWluc3QgPSBkLmdldFZh
cignU1NUQVRFX0lOU1RESVInKQogICAgZm9yIHdhbGtyb290LCBkaXJzLCBmaWxlcyBpbiBvcy53
YWxrKHNzdGF0ZWluc3QpOgogICAgICAgIGZvciBmaWxlIGluIGZpbGVzOgogICAgICAgICAgICBp
ZiBmaWxlLmVuZHN3aXRoKCIuc28iKSBvciAiLnNvLiIgaW4gZmlsZToKICAgICAgICAgICAgICAg
IGNvbnRpbnVlCiAgICAgICAgICAgIGYgPSBvcy5wYXRoLmpvaW4od2Fsa3Jvb3QsIGZpbGUpCiAg
ICAgICAgICAgIGlmIG9zLnBhdGguaXNsaW5rKGYpOgogICAgICAgICAgICAgICAgY29udGludWUK
ICAgICAgICAgICAgcyA9IG9zLnN0YXQoZikKICAgICAgICAgICAgaWYgbm90ICgoc1tzdGF0LlNU
X01PREVdICYgc3RhdC5TX0lYVVNSKSBvciAoc1tzdGF0LlNUX01PREVdICYgc3RhdC5TX0lYR1JQ
KSBvciAoc1tzdGF0LlNUX01PREVdICYgc3RhdC5TX0lYT1RIKSk6CiAgICAgICAgICAgICAgICBj
b250aW51ZQogICAgICAgICAgICBlbGYgPSBvZS5xYS5FTEZGaWxlKGYpCiAgICAgICAgICAgIHRy
eToKICAgICAgICAgICAgICAgIGVsZi5vcGVuKCkKICAgICAgICAgICAgZXhjZXB0IG9lLnFhLk5v
dEVMRkZpbGVFcnJvcjoKICAgICAgICAgICAgICAgIGNvbnRpbnVlCiAgICAgICAgICAgIGlmIG5v
dCBlbGYuaXNEeW5hbWljKCk6CiAgICAgICAgICAgICAgICBjb250aW51ZQoKICAgICAgICAgICAg
c3VicHJvY2Vzcy5jaGVja19vdXRwdXQoKCJwYXRjaGVsZi11bmluYXRpdmUiLCAiLS1zZXQtaW50
ZXJwcmV0ZXIiLCBkLmdldFZhcigiVU5JTkFUSVZFX0xPQURFUiIpLCBmKSwgc3RkZXJyPXN1YnBy
b2Nlc3MuU1RET1VUKQp9CgoKcHl0aG9uIHVuaW5hdGl2ZV9ldmVudF9lbmFibGUgKCkgewogICAg
IiIiCiAgICBUaGlzIGV2ZW50IGhhbmRsZXIgaXMgY2FsbGVkIGluIHRoZSB3b3JrZXJzIGFuZCBp
cyByZXNwb25zaWJsZSBmb3Igc2V0dGluZwogICAgdXAgdW5pbmF0aXZlIGlmIGEgbG9hZGVyIGlz
IGZvdW5kLgogICAgIiIiCiAgICBlbmFibGVfdW5pbmF0aXZlKGQpCn0KCgpweXRob24gdW5pbmF0
aXZlX2V2ZW50X2ZldGNobG9hZGVyICgpIHsKICAgICIiIgogICAgVGhpcyBldmVudCBmaXJlcyBv
biB0aGUgcGFyZW50IGFuZCB3aWxsIHRyeSB0byBmZXRjaCB0aGUgdGFyYmFsbCBpZiB0aGUKICAg
IGxvYWRlciBpc24ndCBhbHJlYWR5IHByZXNlbnQuCiAgICAiIiIKCiAgICBjaGtzdW0gPSBkLmdl
dFZhckZsYWcoIlVOSU5BVElWRV9DSEVDS1NVTSIsIGQuZ2V0VmFyKCJCVUlMRF9BUkNIIikpCiAg
ICBpZiBub3QgY2hrc3VtOgogICAgICAgIGJiLmZhdGFsKCJVbmluYXRpdmUgc2VsZWN0ZWQgYnV0
IG5vdCBjb25maWd1cmVkIGNvcnJlY3RseSwgcGxlYXNlIHNldCBVTklOQVRJVkVfQ0hFQ0tTVU1b
JXNdIiAlIGQuZ2V0VmFyKCJCVUlMRF9BUkNIIikpCgogICAgbG9hZGVyID0gZC5nZXRWYXIoIlVO
SU5BVElWRV9MT0FERVIiKQogICAgbG9hZGVyY2hrc3VtID0gbG9hZGVyICsgIi5jaGtzdW0iCiAg
ICBpZiBvcy5wYXRoLmV4aXN0cyhsb2FkZXIpIGFuZCBvcy5wYXRoLmV4aXN0cyhsb2FkZXJjaGtz
dW0pOgogICAgICAgIHdpdGggb3Blbihsb2FkZXJjaGtzdW0sICJyIikgYXMgZjoKICAgICAgICAg
ICAgcmVhZGNoa3N1bSA9IGYucmVhZCgpLnN0cmlwKCkKICAgICAgICBpZiByZWFkY2hrc3VtID09
IGNoa3N1bToKICAgICAgICAgICAgcmV0dXJuCgogICAgaW1wb3J0IHN1YnByb2Nlc3MKICAgIHRy
eToKICAgICAgICAjIFNhdmUgYW5kIHJlc3RvcmUgY3dkIGFzIEZldGNoLmRvd25sb2FkKCkgZG9l
cyBhIGNoZGlyKCkKICAgICAgICBvbGRkaXIgPSBvcy5nZXRjd2QoKQoKICAgICAgICB0YXJiYWxs
ID0gZC5nZXRWYXIoIlVOSU5BVElWRV9UQVJCQUxMIikKICAgICAgICB0YXJiYWxsZGlyID0gb3Mu
cGF0aC5qb2luKGQuZ2V0VmFyKCJVTklOQVRJVkVfRExESVIiKSwgY2hrc3VtKQogICAgICAgIHRh
cmJhbGxwYXRoID0gb3MucGF0aC5qb2luKHRhcmJhbGxkaXIsIHRhcmJhbGwpCgogICAgICAgIGlm
IG5vdCBvcy5wYXRoLmV4aXN0cyh0YXJiYWxscGF0aCk6CiAgICAgICAgICAgIGJiLnV0aWxzLm1r
ZGlyaGllcih0YXJiYWxsZGlyKQogICAgICAgICAgICBpZiBkLmdldFZhcigiVU5JTkFUSVZFX1VS
TCIpID09ICJ1bnNldCI6CiAgICAgICAgICAgICAgICBiYi5mYXRhbCgiVW5pbmF0aXZlIHNlbGVj
dGVkIGJ1dCBub3QgY29uZmlndXJlZCwgcGxlYXNlIHNldCBVTklOQVRJVkVfVVJMIikKCiAgICAg
ICAgICAgIGxvY2FsZGF0YSA9IGJiLmRhdGEuY3JlYXRlQ29weShkKQogICAgICAgICAgICBsb2Nh
bGRhdGEuc2V0VmFyKCdGSUxFU1BBVEgnLCAiIikKICAgICAgICAgICAgbG9jYWxkYXRhLnNldFZh
cignRExfRElSJywgdGFyYmFsbGRpcikKCiAgICAgICAgICAgIHNyY3VyaSA9IGQuZXhwYW5kKCIk
e1VOSU5BVElWRV9VUkx9JHtVTklOQVRJVkVfVEFSQkFMTH07c2hhMjU2c3VtPSVzIiAlIGNoa3N1
bSkKICAgICAgICAgICAgYmIubm90ZSgiRmV0Y2hpbmcgdW5pbmF0aXZlIGJpbmFyeSBzaGltIGZy
b20gJXMiICUgc3JjdXJpKQoKICAgICAgICAgICAgZmV0Y2hlciA9IGJiLmZldGNoMi5GZXRjaChb
c3JjdXJpXSwgbG9jYWxkYXRhLCBjYWNoZT1GYWxzZSkKICAgICAgICAgICAgZmV0Y2hlci5kb3du
bG9hZCgpCiAgICAgICAgICAgIGxvY2FscGF0aCA9IGZldGNoZXIubG9jYWxwYXRoKHNyY3VyaSkK
ICAgICAgICAgICAgaWYgbG9jYWxwYXRoICE9IHRhcmJhbGxwYXRoIGFuZCBvcy5wYXRoLmV4aXN0
cyhsb2NhbHBhdGgpIGFuZCBub3Qgb3MucGF0aC5leGlzdHModGFyYmFsbHBhdGgpOgogICAgICAg
ICAgICAgICAgICAgIG9zLnN5bWxpbmsobG9jYWxwYXRoLCB0YXJiYWxscGF0aCkKCiAgICAgICAg
Y21kID0gZC5leHBhbmQoIlwKbWtkaXIgLXAgJHtVTklOQVRJVkVfU1RBR0lOR19ESVJ9LXVuaW5h
dGl2ZTsgXApjZCAke1VOSU5BVElWRV9TVEFHSU5HX0RJUn0tdW5pbmF0aXZlOyBcCnRhciAteGpm
ICR7VU5JTkFUSVZFX0RMRElSfS8lcy8ke1VOSU5BVElWRV9UQVJCQUxMfTsgXAoke1VOSU5BVElW
RV9TVEFHSU5HX0RJUn0tdW5pbmF0aXZlL3JlbG9jYXRlX3Nkay5weSBcCiAgJHtVTklOQVRJVkVf
U1RBR0lOR19ESVJ9LXVuaW5hdGl2ZS8ke0JVSUxEX0FSQ0h9LWxpbnV4IFwKICAke1VOSU5BVElW
RV9MT0FERVJ9IFwKICAke1VOSU5BVElWRV9MT0FERVJ9IFwKICAke1VOSU5BVElWRV9TVEFHSU5H
X0RJUn0tdW5pbmF0aXZlLyR7QlVJTERfQVJDSH0tbGludXgvJHtiaW5kaXJfbmF0aXZlfS9wYXRj
aGVsZi11bmluYXRpdmUgXAogICR7VU5JTkFUSVZFX1NUQUdJTkdfRElSfS11bmluYXRpdmUvJHtC
VUlMRF9BUkNIfS1saW51eCR7YmFzZV9saWJkaXJfbmF0aXZlfS9saWJjKi5zbyIgJSBjaGtzdW0p
CiAgICAgICAgc3VicHJvY2Vzcy5jaGVja19vdXRwdXQoY21kLCBzaGVsbD1UcnVlKQoKICAgICAg
ICB3aXRoIG9wZW4obG9hZGVyY2hrc3VtLCAidyIpIGFzIGY6CiAgICAgICAgICAgIGYud3JpdGUo
Y2hrc3VtKQoKICAgICAgICBlbmFibGVfdW5pbmF0aXZlKGQpCgogICAgZXhjZXB0IGJiLmZldGNo
Mi5CQkZldGNoRXhjZXB0aW9uIGFzIGV4YzoKICAgICAgICBiYi53YXJuKCJEaXNhYmxpbmcgdW5p
bmF0aXZlIGFzIHVuYWJsZSB0byBmZXRjaCB1bmluYXRpdmUgdGFyYmFsbDogJXMiICUgc3RyKGV4
YykpCiAgICAgICAgYmIud2FybigiVG8gYnVpbGQgeW91ciBvd24gdW5pbmF0aXZlIGxvYWRlciwg
cGxlYXNlIGJpdGJha2UgdW5pbmF0aXZlLXRhcmJhbGwgYW5kIHNldCBVTklOQVRJVkVfVEFSQkFM
TCBhcHByb3ByaWF0ZWx5LiIpCiAgICBleGNlcHQgc3VicHJvY2Vzcy5DYWxsZWRQcm9jZXNzRXJy
b3IgYXMgZXhjOgogICAgICAgIGJiLndhcm4oIkRpc2FibGluZyB1bmluYXRpdmUgYXMgdW5hYmxl
IHRvIGluc3RhbGwgdW5pbmF0aXZlIHRhcmJhbGw6ICVzIiAlIHN0cihleGMpKQogICAgICAgIGJi
Lndhcm4oIlRvIGJ1aWxkIHlvdXIgb3duIHVuaW5hdGl2ZSBsb2FkZXIsIHBsZWFzZSBiaXRiYWtl
IHVuaW5hdGl2ZS10YXJiYWxsIGFuZCBzZXQgVU5JTkFUSVZFX1RBUkJBTEwgYXBwcm9wcmlhdGVs
eS4iKQogICAgZmluYWxseToKICAgICAgICBvcy5jaGRpcihvbGRkaXIpCn0KCgpweXRob24gdW5z
YWZlX3JlZmVyZW5jZXNfc2tpcHBhYmxlICgpIHsKZGVmIHVuc2FmZV9yZWZlcmVuY2VzX3NraXBw
YWJsZShwYXRoLCBuYW1lLCBkKToKICAgIGlmIGJiLmRhdGEuaW5oZXJpdHNfY2xhc3MoJ25hdGl2
ZScsIGQpIG9yIGJiLmRhdGEuaW5oZXJpdHNfY2xhc3MoJ25hdGl2ZXNkaycsIGQpOgogICAgICAg
IHJldHVybiBUcnVlCgogICAgaWYgIi1kYmciIGluIG5hbWUgb3IgIi1kZXYiIGluIG5hbWU6CiAg
ICAgICAgcmV0dXJuIFRydWUKCiAgICAjIE90aGVyIHBhY2thZ2UgbmFtZXMgdG8gc2tpcDoKICAg
IGlmIG5hbWUuc3RhcnRzd2l0aCgia2VybmVsLW1vZHVsZS0iKToKICAgICAgICByZXR1cm4gVHJ1
ZQoKICAgICMgU2tpcCBzeW1saW5rcwogICAgaWYgb3MucGF0aC5pc2xpbmsocGF0aCk6CiAgICAg
ICAgcmV0dXJuIFRydWUKCiAgICAjIFNraXAgdW51c3VhbCByb290ZnMgbGF5b3V0cyB3aGljaCBt
YWtlIHRoZXNlIHRlc3RzIGlycmVsZXZhbnQKICAgIGV4ZWNfcHJlZml4ID0gZC5nZXRWYXIoJ2V4
ZWNfcHJlZml4JykKICAgIGlmIGV4ZWNfcHJlZml4ID09ICIiOgogICAgICAgIHJldHVybiBUcnVl
CgogICAgcGtnZGVzdCA9IGQuZ2V0VmFyKCdQS0dERVNUJykKICAgIHBrZ2Rlc3QgPSBwa2dkZXN0
ICsgIi8iICsgbmFtZQogICAgcGtnZGVzdCA9IG9zLnBhdGguYWJzcGF0aChwa2dkZXN0KQogICAg
YmFzZV9iaW5kaXIgPSBwa2dkZXN0ICsgZC5nZXRWYXIoJ2Jhc2VfYmluZGlyJykKICAgIGJhc2Vf
c2JpbmRpciA9IHBrZ2Rlc3QgKyBkLmdldFZhcignYmFzZV9zYmluZGlyJykKICAgIGJhc2VfbGli
ZGlyID0gcGtnZGVzdCArIGQuZ2V0VmFyKCdiYXNlX2xpYmRpcicpCiAgICBiaW5kaXIgPSBwa2dk
ZXN0ICsgZC5nZXRWYXIoJ2JpbmRpcicpCiAgICBzYmluZGlyID0gcGtnZGVzdCArIGQuZ2V0VmFy
KCdzYmluZGlyJykKICAgIGxpYmRpciA9IHBrZ2Rlc3QgKyBkLmdldFZhcignbGliZGlyJykKCiAg
ICBpZiBiYXNlX2JpbmRpciA9PSBiaW5kaXIgYW5kIGJhc2Vfc2JpbmRpciA9PSBzYmluZGlyIGFu
ZCBiYXNlX2xpYmRpciA9PSBsaWJkaXI6CiAgICAgICAgcmV0dXJuIFRydWUKCiAgICAjIFNraXAg
ZmlsZXMgbm90IGluIGJhc2VfW2JpbmRpcnxzYmluZGlyfGxpYmRpcl0KICAgIHBhdGggPSBvcy5w
YXRoLmFic3BhdGgocGF0aCkKICAgIGlmIG5vdCAoYmFzZV9iaW5kaXIgaW4gcGF0aCBvciBiYXNl
X3NiaW5kaXIgaW4gcGF0aCBvciBiYXNlX2xpYmRpciBpbiBwYXRoKToKICAgICAgICByZXR1cm4g
VHJ1ZQoKICAgIHJldHVybiBGYWxzZQp9CgoKcHl0aG9uIHdyaXRlX2RlcGxveV9tYW5pZmVzdCAo
KSB7CiAgICBsaWNlbnNlX2RlcGxveWVkX21hbmlmZXN0KGQpCn0KCgpweXRob24gd3JpdGVfbGlj
ZW5zZV9maWxlcyAoKSB7CmRlZiB3cml0ZV9saWNlbnNlX2ZpbGVzKGQsIGxpY2Vuc2VfbWFuaWZl
c3QsIHBrZ19kaWMpOgogICAgaW1wb3J0IHJlCgogICAgYmFkX2xpY2Vuc2VzID0gKGQuZ2V0VmFy
KCJJTkNPTVBBVElCTEVfTElDRU5TRSIpIG9yICIiKS5zcGxpdCgpCiAgICBiYWRfbGljZW5zZXMg
PSBtYXAobGFtYmRhIGw6IGNhbm9uaWNhbF9saWNlbnNlKGQsIGwpLCBiYWRfbGljZW5zZXMpCiAg
ICBiYWRfbGljZW5zZXMgPSBleHBhbmRfd2lsZGNhcmRfbGljZW5zZXMoZCwgYmFkX2xpY2Vuc2Vz
KQoKICAgIHdpdGggb3BlbihsaWNlbnNlX21hbmlmZXN0LCAidyIpIGFzIGxpY2Vuc2VfZmlsZToK
ICAgICAgICBmb3IgcGtnIGluIHNvcnRlZChwa2dfZGljKToKICAgICAgICAgICAgaWYgYmFkX2xp
Y2Vuc2VzOgogICAgICAgICAgICAgICAgdHJ5OgogICAgICAgICAgICAgICAgICAgIChwa2dfZGlj
W3BrZ11bIkxJQ0VOU0UiXSwgcGtnX2RpY1twa2ddWyJMSUNFTlNFUyJdKSA9IFwKICAgICAgICAg
ICAgICAgICAgICAgICAgb2UubGljZW5zZS5tYW5pZmVzdF9saWNlbnNlcyhwa2dfZGljW3BrZ11b
IkxJQ0VOU0UiXSwKICAgICAgICAgICAgICAgICAgICAgICAgYmFkX2xpY2Vuc2VzLCBjYW5vbmlj
YWxfbGljZW5zZSwgZCkKICAgICAgICAgICAgICAgIGV4Y2VwdCBvZS5saWNlbnNlLkxpY2Vuc2VF
cnJvciBhcyBleGM6CiAgICAgICAgICAgICAgICAgICAgYmIuZmF0YWwoJyVzOiAlcycgJSAoZC5n
ZXRWYXIoJ1AnKSwgZXhjKSkKICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgIHBrZ19k
aWNbcGtnXVsiTElDRU5TRVMiXSA9IHJlLnN1YignW3wmKCkqXScsICcgJywgcGtnX2RpY1twa2dd
WyJMSUNFTlNFIl0pCiAgICAgICAgICAgICAgICBwa2dfZGljW3BrZ11bIkxJQ0VOU0VTIl0gPSBy
ZS5zdWIoJyAgKicsICcgJywgcGtnX2RpY1twa2ddWyJMSUNFTlNFUyJdKQogICAgICAgICAgICAg
ICAgcGtnX2RpY1twa2ddWyJMSUNFTlNFUyJdID0gcGtnX2RpY1twa2ddWyJMSUNFTlNFUyJdLnNw
bGl0KCkKCiAgICAgICAgICAgIGlmIG5vdCAiSU1BR0VfTUFOSUZFU1QiIGluIHBrZ19kaWNbcGtn
XToKICAgICAgICAgICAgICAgICMgUm9vdGZzIG1hbmlmZXN0CiAgICAgICAgICAgICAgICBsaWNl
bnNlX2ZpbGUud3JpdGUoIlBBQ0tBR0UgTkFNRTogJXNcbiIgJSBwa2cpCiAgICAgICAgICAgICAg
ICBsaWNlbnNlX2ZpbGUud3JpdGUoIlBBQ0tBR0UgVkVSU0lPTjogJXNcbiIgJSBwa2dfZGljW3Br
Z11bIlBWIl0pCiAgICAgICAgICAgICAgICBsaWNlbnNlX2ZpbGUud3JpdGUoIlJFQ0lQRSBOQU1F
OiAlc1xuIiAlIHBrZ19kaWNbcGtnXVsiUE4iXSkKICAgICAgICAgICAgICAgIGxpY2Vuc2VfZmls
ZS53cml0ZSgiTElDRU5TRTogJXNcblxuIiAlIHBrZ19kaWNbcGtnXVsiTElDRU5TRSJdKQoKICAg
ICAgICAgICAgICAgICMgSWYgdGhlIHBhY2thZ2UgZG9lc24ndCBjb250YWluIGFueSBmaWxlLCB0
aGF0IGlzLCBpdHMgc2l6ZSBpcyAwLCB0aGUgbGljZW5zZQogICAgICAgICAgICAgICAgIyBpc24n
dCByZWxldmFudCBhcyBmYXIgYXMgdGhlIGZpbmFsIGltYWdlIGlzIGNvbmNlcm5lZC4gU28gZG9p
bmcgbGljZW5zZSBjaGVjawogICAgICAgICAgICAgICAgIyBkb2Vzbid0IG1ha2UgbXVjaCBzZW5z
ZSwgc2tpcCBpdC4KICAgICAgICAgICAgICAgIGlmIHBrZ19kaWNbcGtnXVsiUEtHU0laRV8lcyIg
JSBwa2ddID09ICIwIjoKICAgICAgICAgICAgICAgICAgICBjb250aW51ZQogICAgICAgICAgICBl
bHNlOgogICAgICAgICAgICAgICAgIyBJbWFnZSBtYW5pZmVzdAogICAgICAgICAgICAgICAgbGlj
ZW5zZV9maWxlLndyaXRlKCJSRUNJUEUgTkFNRTogJXNcbiIgJSBwa2dfZGljW3BrZ11bIlBOIl0p
CiAgICAgICAgICAgICAgICBsaWNlbnNlX2ZpbGUud3JpdGUoIlZFUlNJT046ICVzXG4iICUgcGtn
X2RpY1twa2ddWyJQViJdKQogICAgICAgICAgICAgICAgbGljZW5zZV9maWxlLndyaXRlKCJMSUNF
TlNFOiAlc1xuIiAlIHBrZ19kaWNbcGtnXVsiTElDRU5TRSJdKQogICAgICAgICAgICAgICAgbGlj
ZW5zZV9maWxlLndyaXRlKCJGSUxFUzogJXNcblxuIiAlIHBrZ19kaWNbcGtnXVsiRklMRVMiXSkK
CiAgICAgICAgICAgIGZvciBsaWMgaW4gcGtnX2RpY1twa2ddWyJMSUNFTlNFUyJdOgogICAgICAg
ICAgICAgICAgbGljX2ZpbGUgPSBvcy5wYXRoLmpvaW4oZC5nZXRWYXIoJ0xJQ0VOU0VfRElSRUNU
T1JZJyksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwa2dfZGljW3Br
Z11bIlBOIl0sICJnZW5lcmljXyVzIiAlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICByZS5zdWIoJ1wrJywgJycsIGxpYykpCiAgICAgICAgICAgICAgICAjIGFkZCBleHBs
aWNpdHkgYXZvaWQgb2YgQ0xPU0VEIGxpY2Vuc2UgYmVjYXVzZSBpc24ndCBnZW5lcmljCiAgICAg
ICAgICAgICAgICBpZiBsaWMgPT0gIkNMT1NFRCI6CiAgICAgICAgICAgICAgICAgICBjb250aW51
ZQoKICAgICAgICAgICAgICAgIGlmIG5vdCBvcy5wYXRoLmV4aXN0cyhsaWNfZmlsZSk6CiAgICAg
ICAgICAgICAgICAgICBiYi53YXJuKCJUaGUgbGljZW5zZSBsaXN0ZWQgJXMgd2FzIG5vdCBpbiB0
aGUgIlwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsaWNlbnNlcyBjb2xsZWN0ZWQgZm9y
IHJlY2lwZSAlcyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICUgKGxpYywgcGtnX2RpY1tw
a2ddWyJQTiJdKSkKCiAgICAjIFR3byBvcHRpb25zIGhlcmU6CiAgICAjIC0gSnVzdCBjb3B5IHRo
ZSBtYW5pZmVzdAogICAgIyAtIENvcHkgdGhlIG1hbmlmZXN0IGFuZCB0aGUgbGljZW5zZSBkaXJl
Y3RvcmllcwogICAgIyBXaXRoIGJvdGggb3B0aW9ucyBzZXQgd2Ugc2VlIGEgLjUgTSBpbmNyZWFz
ZSBpbiBjb3JlLWltYWdlLW1pbmltYWwKICAgIGNvcHlfbGljX21hbmlmZXN0ID0gZC5nZXRWYXIo
J0NPUFlfTElDX01BTklGRVNUJykKICAgIGNvcHlfbGljX2RpcnMgPSBkLmdldFZhcignQ09QWV9M
SUNfRElSUycpCiAgICBpZiBjb3B5X2xpY19tYW5pZmVzdCA9PSAiMSI6CiAgICAgICAgcm9vdGZz
X2xpY2Vuc2VfZGlyID0gb3MucGF0aC5qb2luKGQuZ2V0VmFyKCdJTUFHRV9ST09URlMnKSwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndXNyJywgJ3NoYXJlJywgJ2NvbW1vbi1saWNl
bnNlcycpCiAgICAgICAgYmIudXRpbHMubWtkaXJoaWVyKHJvb3Rmc19saWNlbnNlX2RpcikKICAg
ICAgICByb290ZnNfbGljZW5zZV9tYW5pZmVzdCA9IG9zLnBhdGguam9pbihyb290ZnNfbGljZW5z
ZV9kaXIsCiAgICAgICAgICAgICAgICBvcy5wYXRoLnNwbGl0KGxpY2Vuc2VfbWFuaWZlc3QpWzFd
KQogICAgICAgIGlmIG5vdCBvcy5wYXRoLmV4aXN0cyhyb290ZnNfbGljZW5zZV9tYW5pZmVzdCk6
CiAgICAgICAgICAgIG9zLmxpbmsobGljZW5zZV9tYW5pZmVzdCwgcm9vdGZzX2xpY2Vuc2VfbWFu
aWZlc3QpCgogICAgICAgIGlmIGNvcHlfbGljX2RpcnMgPT0gIjEiOgogICAgICAgICAgICBmb3Ig
cGtnIGluIHNvcnRlZChwa2dfZGljKToKICAgICAgICAgICAgICAgIHBrZ19yb290ZnNfbGljZW5z
ZV9kaXIgPSBvcy5wYXRoLmpvaW4ocm9vdGZzX2xpY2Vuc2VfZGlyLCBwa2cpCiAgICAgICAgICAg
ICAgICBiYi51dGlscy5ta2RpcmhpZXIocGtnX3Jvb3Rmc19saWNlbnNlX2RpcikKICAgICAgICAg
ICAgICAgIHBrZ19saWNlbnNlX2RpciA9IG9zLnBhdGguam9pbihkLmdldFZhcignTElDRU5TRV9E
SVJFQ1RPUlknKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBw
a2dfZGljW3BrZ11bIlBOIl0pCgogICAgICAgICAgICAgICAgcGtnX21hbmlmZXN0X2xpY2Vuc2Vz
ID0gW2Nhbm9uaWNhbF9saWNlbnNlKGQsIGxpYykgXAogICAgICAgICAgICAgICAgICAgICAgICBm
b3IgbGljIGluIHBrZ19kaWNbcGtnXVsiTElDRU5TRVMiXV0KCiAgICAgICAgICAgICAgICBsaWNl
bnNlcyA9IG9zLmxpc3RkaXIocGtnX2xpY2Vuc2VfZGlyKQogICAgICAgICAgICAgICAgZm9yIGxp
YyBpbiBsaWNlbnNlczoKICAgICAgICAgICAgICAgICAgICByb290ZnNfbGljZW5zZSA9IG9zLnBh
dGguam9pbihyb290ZnNfbGljZW5zZV9kaXIsIGxpYykKICAgICAgICAgICAgICAgICAgICBwa2df
bGljZW5zZSA9IG9zLnBhdGguam9pbihwa2dfbGljZW5zZV9kaXIsIGxpYykKICAgICAgICAgICAg
ICAgICAgICBwa2dfcm9vdGZzX2xpY2Vuc2UgPSBvcy5wYXRoLmpvaW4ocGtnX3Jvb3Rmc19saWNl
bnNlX2RpciwgbGljKQoKICAgICAgICAgICAgICAgICAgICBpZiByZS5tYXRjaCgiXmdlbmVyaWNf
LiokIiwgbGljKToKICAgICAgICAgICAgICAgICAgICAgICAgZ2VuZXJpY19saWMgPSBjYW5vbmlj
YWxfbGljZW5zZShkLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlLnNlYXJjaCgi
XmdlbmVyaWNfKC4qKSQiLCBsaWMpLmdyb3VwKDEpKQoKICAgICAgICAgICAgICAgICAgICAgICAg
IyBEbyBub3QgY29weSBnZW5lcmljIGxpY2Vuc2UgaW50byBwYWNrYWdlIGlmIGlzbid0CiAgICAg
ICAgICAgICAgICAgICAgICAgICMgZGVjbGFyZWQgaW50byBMSUNFTlNFUyBvZiB0aGUgcGFja2Fn
ZS4KICAgICAgICAgICAgICAgICAgICAgICAgaWYgbm90IHJlLnN1YignXCskJywgJycsIGdlbmVy
aWNfbGljKSBpbiBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JlLnN1YignXCsn
LCAnJywgbGljKSBmb3IgbGljIGluIFwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
cGtnX21hbmlmZXN0X2xpY2Vuc2VzXToKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRp
bnVlCgogICAgICAgICAgICAgICAgICAgICAgICBpZiBvZS5saWNlbnNlLmxpY2Vuc2Vfb2soZ2Vu
ZXJpY19saWMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFkX2xpY2Vuc2VzKSA9
PSBGYWxzZToKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCgogICAgICAgICAg
ICAgICAgICAgICAgICBpZiBub3Qgb3MucGF0aC5leGlzdHMocm9vdGZzX2xpY2Vuc2UpOgogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgb3MubGluayhwa2dfbGljZW5zZSwgcm9vdGZzX2xpY2Vu
c2UpCgogICAgICAgICAgICAgICAgICAgICAgICBpZiBub3Qgb3MucGF0aC5leGlzdHMocGtnX3Jv
b3Rmc19saWNlbnNlKToKICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9zLnN5bWxpbmsob3Mu
cGF0aC5qb2luKCcuLicsIGxpYyksIHBrZ19yb290ZnNfbGljZW5zZSkKICAgICAgICAgICAgICAg
ICAgICBlbHNlOgogICAgICAgICAgICAgICAgICAgICAgICBpZiAob2UubGljZW5zZS5saWNlbnNl
X29rKGNhbm9uaWNhbF9saWNlbnNlKGQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
bGljKSwgYmFkX2xpY2Vuc2VzKSA9PSBGYWxzZSBvcgogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIG9zLnBhdGguZXhpc3RzKHBrZ19yb290ZnNfbGljZW5zZSkpOgogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29udGludWUKCiAgICAgICAgICAgICAgICAgICAgICAgIG9zLmxpbmso
cGtnX2xpY2Vuc2UsIHBrZ19yb290ZnNfbGljZW5zZSkKCn0KCgpweXRob24gd3JpdGVfcGFja2Fn
ZV9tYW5pZmVzdCAoKSB7CiAgICAjIEdldCBsaXN0IG9mIGluc3RhbGxlZCBwYWNrYWdlcwogICAg
bGljZW5zZV9pbWFnZV9kaXIgPSBkLmV4cGFuZCgnJHtMSUNFTlNFX0RJUkVDVE9SWX0vJHtJTUFH
RV9OQU1FfScpCiAgICBiYi51dGlscy5ta2RpcmhpZXIobGljZW5zZV9pbWFnZV9kaXIpCiAgICBm
cm9tIG9lLnJvb3RmcyBpbXBvcnQgaW1hZ2VfbGlzdF9pbnN0YWxsZWRfcGFja2FnZXMKICAgIGZy
b20gb2UudXRpbHMgaW1wb3J0IGZvcm1hdF9wa2dfbGlzdAoKICAgIHBrZ3MgPSBpbWFnZV9saXN0
X2luc3RhbGxlZF9wYWNrYWdlcyhkKQogICAgb3V0cHV0ID0gZm9ybWF0X3BrZ19saXN0KHBrZ3Mp
CiAgICBvcGVuKG9zLnBhdGguam9pbihsaWNlbnNlX2ltYWdlX2RpciwgJ3BhY2thZ2UubWFuaWZl
c3QnKSwKICAgICAgICAndysnKS53cml0ZShvdXRwdXQpCn0KCgpweXRob24gd3JpdGVfcnBtX3Bl
cmZpbGVkYXRhICgpIHsKZGVmIHdyaXRlX3JwbV9wZXJmaWxlZGF0YShzcmNuYW1lLCBkKToKICAg
IHdvcmtkaXIgPSBkLmdldFZhcignV09SS0RJUicpCiAgICBwYWNrYWdlcyA9IGQuZ2V0VmFyKCdQ
QUNLQUdFUycpCiAgICBwa2dkID0gZC5nZXRWYXIoJ1BLR0QnKQoKICAgIGRlZiBkdW1wX2ZpbGVy
ZGVwcyh2YXJuYW1lLCBvdXRmaWxlLCBkKToKICAgICAgICBvdXRmaWxlLndyaXRlKCIjIS91c3Iv
YmluL2VudiBweXRob25cblxuIikKICAgICAgICBvdXRmaWxlLndyaXRlKCIjIERlcGVuZGVuY3kg
dGFibGVcbiIpCiAgICAgICAgb3V0ZmlsZS53cml0ZSgnZGVwcyA9IHtcbicpCiAgICAgICAgZm9y
IHBrZyBpbiBwYWNrYWdlcy5zcGxpdCgpOgogICAgICAgICAgICBkZXBlbmRzZmxpc3Rfa2V5ID0g
J0ZJTEUnICsgdmFybmFtZSArICdGTElTVCcgKyAiXyIgKyBwa2cKICAgICAgICAgICAgZGVwZW5k
c2ZsaXN0ID0gKGQuZ2V0VmFyKGRlcGVuZHNmbGlzdF9rZXkpIG9yICIiKQogICAgICAgICAgICBm
b3IgZGZpbGUgaW4gZGVwZW5kc2ZsaXN0LnNwbGl0KCk6CiAgICAgICAgICAgICAgICBrZXkgPSAi
RklMRSIgKyB2YXJuYW1lICsgIl8iICsgZGZpbGUgKyAiXyIgKyBwa2cKICAgICAgICAgICAgICAg
IGRlcHMgPSBmaWx0ZXJfbmF0aXZlc2RrX2RlcHMoc3JjbmFtZSwgZC5nZXRWYXIoa2V5KSBvciAi
IikKICAgICAgICAgICAgICAgIGRlcGVuZHNfZGljdCA9IGJiLnV0aWxzLmV4cGxvZGVfZGVwX3Zl
cnNpb25zKGRlcHMpCiAgICAgICAgICAgICAgICBmaWxlID0gZGZpbGUucmVwbGFjZSgiQHVuZGVy
c2NvcmVAIiwgIl8iKQogICAgICAgICAgICAgICAgZmlsZSA9IGZpbGUucmVwbGFjZSgiQGNsb3Nl
YnJhY2VAIiwgIl0iKQogICAgICAgICAgICAgICAgZmlsZSA9IGZpbGUucmVwbGFjZSgiQG9wZW5i
cmFjZUAiLCAiWyIpCiAgICAgICAgICAgICAgICBmaWxlID0gZmlsZS5yZXBsYWNlKCJAdGFiQCIs
ICJcdCIpCiAgICAgICAgICAgICAgICBmaWxlID0gZmlsZS5yZXBsYWNlKCJAc3BhY2VAIiwgIiAi
KQogICAgICAgICAgICAgICAgZmlsZSA9IGZpbGUucmVwbGFjZSgiQGF0QCIsICJAIikKICAgICAg
ICAgICAgICAgIG91dGZpbGUud3JpdGUoJyInICsgcGtnZCArIGZpbGUgKyAnIiA6ICInKQogICAg
ICAgICAgICAgICAgZm9yIGRlcCBpbiBkZXBlbmRzX2RpY3Q6CiAgICAgICAgICAgICAgICAgICAg
dmVyID0gZGVwZW5kc19kaWN0W2RlcF0KICAgICAgICAgICAgICAgICAgICBpZiBkZXAgYW5kIHZl
cjoKICAgICAgICAgICAgICAgICAgICAgICAgdmVyID0gdmVyLnJlcGxhY2UoIigiLCIiKQogICAg
ICAgICAgICAgICAgICAgICAgICB2ZXIgPSB2ZXIucmVwbGFjZSgiKSIsIiIpCiAgICAgICAgICAg
ICAgICAgICAgICAgIG91dGZpbGUud3JpdGUoZGVwICsgIiAiICsgdmVyICsgIiAiKQogICAgICAg
ICAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgICAgICAgIG91dGZpbGUud3JpdGUo
ZGVwICsgIiAiKQogICAgICAgICAgICAgICAgb3V0ZmlsZS53cml0ZSgnIixcbicpCiAgICAgICAg
b3V0ZmlsZS53cml0ZSgnfVxuXG4nKQogICAgICAgIG91dGZpbGUud3JpdGUoImltcG9ydCBzeXNc
biIpCiAgICAgICAgb3V0ZmlsZS53cml0ZSgid2hpbGUgMTpcbiIpCiAgICAgICAgb3V0ZmlsZS53
cml0ZSgiXHRsaW5lID0gc3lzLnN0ZGluLnJlYWRsaW5lKCkuc3RyaXAoKVxuIikKICAgICAgICBv
dXRmaWxlLndyaXRlKCJcdGlmIG5vdCBsaW5lOlxuIikKICAgICAgICBvdXRmaWxlLndyaXRlKCJc
dFx0c3lzLmV4aXQoMClcbiIpCiAgICAgICAgb3V0ZmlsZS53cml0ZSgiXHRpZiBsaW5lIGluIGRl
cHM6XG4iKQogICAgICAgIG91dGZpbGUud3JpdGUoIlx0XHRwcmludChkZXBzW2xpbmVdICsgJ1xc
bicpXG4iKQoKICAgICMgT0UtY29yZSBkZXBlbmRlbmNpZXMgYS5rLmEuIFJQTSByZXF1aXJlcwog
ICAgb3V0ZGVwZW5kcyA9IHdvcmtkaXIgKyAiLyIgKyBzcmNuYW1lICsgIi5yZXF1aXJlcyIKCiAg
ICBkZXBlbmRzZmlsZSA9IG9wZW4ob3V0ZGVwZW5kcywgJ3cnKQoKICAgIGR1bXBfZmlsZXJkZXBz
KCdSREVQRU5EUycsIGRlcGVuZHNmaWxlLCBkKQoKICAgIGRlcGVuZHNmaWxlLmNsb3NlKCkKICAg
IG9zLmNobW9kKG91dGRlcGVuZHMsIDBvNzU1KQoKICAgICMgT0UtY29yZSAvIFJQTSBQcm92aWRl
cwogICAgb3V0cHJvdmlkZXMgPSB3b3JrZGlyICsgIi8iICsgc3JjbmFtZSArICIucHJvdmlkZXMi
CgogICAgcHJvdmlkZXNmaWxlID0gb3BlbihvdXRwcm92aWRlcywgJ3cnKQoKICAgIGR1bXBfZmls
ZXJkZXBzKCdSUFJPVklERVMnLCBwcm92aWRlc2ZpbGUsIGQpCgogICAgcHJvdmlkZXNmaWxlLmNs
b3NlKCkKICAgIG9zLmNobW9kKG91dHByb3ZpZGVzLCAwbzc1NSkKCiAgICByZXR1cm4gKG91dGRl
cGVuZHMsIG91dHByb3ZpZGVzKQoKfQoKCnB5dGhvbiB3cml0ZV9zcGVjZmlsZSAoKSB7CiAgICBp
bXBvcnQgb2UucGFja2FnZWRhdGEKCiAgICAjIGFwcGVuZCBpbmZvcm1hdGlvbiBmb3IgbG9ncyBh
bmQgcGF0Y2hlcyB0byAlcHJlcAogICAgZGVmIGFkZF9wcmVwKGQsc3BlY19maWxlc19ib3R0b20p
OgogICAgICAgIGlmIGQuZ2V0VmFyRmxhZygnQVJDSElWRVJfTU9ERScsICdzcnBtJykgPT0gJzEn
IGFuZCBiYi5kYXRhLmluaGVyaXRzX2NsYXNzKCdhcmNoaXZlcicsIGQpOgogICAgICAgICAgICBz
cGVjX2ZpbGVzX2JvdHRvbS5hcHBlbmQoJyUlcHJlcCAtbiAlcycgJSBkLmdldFZhcignUE4nKSAp
CiAgICAgICAgICAgIHNwZWNfZmlsZXNfYm90dG9tLmFwcGVuZCgnJXMnICUgImVjaG8gXCJpbmNs
dWRlIGxvZ3MgYW5kIHBhdGNoZXMsIFBsZWFzZSBjaGVjayB0aGVtIGluIFNPVVJDRVNcIiIpCiAg
ICAgICAgICAgIHNwZWNfZmlsZXNfYm90dG9tLmFwcGVuZCgnJykKCiAgICAjIGFwcGVuZCB0aGUg
bmFtZSBvZiB0YXJiYWxsIHRvIGtleSB3b3JkICdTT1VSQ0UnIGluIHh4eC5zcGVjLgogICAgZGVm
IHRhaWxfc291cmNlKGQpOgogICAgICAgIGlmIGQuZ2V0VmFyRmxhZygnQVJDSElWRVJfTU9ERScs
ICdzcnBtJykgPT0gJzEnIGFuZCBiYi5kYXRhLmluaGVyaXRzX2NsYXNzKCdhcmNoaXZlcicsIGQp
OgogICAgICAgICAgICBhcl9vdXRkaXIgPSBkLmdldFZhcignQVJDSElWRVJfT1VURElSJykKICAg
ICAgICAgICAgaWYgbm90IG9zLnBhdGguZXhpc3RzKGFyX291dGRpcik6CiAgICAgICAgICAgICAg
ICByZXR1cm4KICAgICAgICAgICAgc291cmNlX2xpc3QgPSBvcy5saXN0ZGlyKGFyX291dGRpcikK
ICAgICAgICAgICAgc291cmNlX251bWJlciA9IDAKICAgICAgICAgICAgZm9yIHNvdXJjZSBpbiBz
b3VyY2VfbGlzdDoKICAgICAgICAgICAgICAgICMgVGhlIHJwbWJ1aWxkIGRvZXNuJ3QgbmVlZCB0
aGUgcm9vdCBwZXJtaXNzaW9uLCBidXQgaXQgbmVlZHMKICAgICAgICAgICAgICAgICMgdG8ga25v
dyB0aGUgZmlsZSdzIHVzZXIgYW5kIGdyb3VwIG5hbWUsIHRoZSBvbmx5IHVzZXIgYW5kCiAgICAg
ICAgICAgICAgICAjIGdyb3VwIGluIGZha2Vyb290IGlzICJyb290IiB3aGVuIHdvcmtpbmcgaW4g
ZmFrZXJvb3QuCiAgICAgICAgICAgICAgICBmID0gb3MucGF0aC5qb2luKGFyX291dGRpciwgc291
cmNlKQogICAgICAgICAgICAgICAgb3MuY2hvd24oZiwgMCwgMCkKICAgICAgICAgICAgICAgIHNw
ZWNfcHJlYW1ibGVfdG9wLmFwcGVuZCgnU291cmNlJXM6ICVzJyAlIChzb3VyY2VfbnVtYmVyLCBz
b3VyY2UpKQogICAgICAgICAgICAgICAgc291cmNlX251bWJlciArPSAxCgogICAgIyBJbiBSUE0s
IGRlcGVuZGVuY2llcyBhcmUgb2YgdGhlIGZvcm1hdDogcGtnIDw+PSBFcG9jaDpWZXJzaW9uLVJl
bGVhc2UKICAgICMgVGhpcyBmb3JtYXQgaXMgc2ltaWxhciB0byBPRSwgaG93ZXZlciB0aGVyZSBh
cmUgcmVzdHJpY3Rpb25zIG9uIHRoZQogICAgIyBjaGFyYWN0ZXJzIHRoYXQgY2FuIGJlIGluIGEg
ZmllbGQuICBJbiB0aGUgVmVyc2lvbiBmaWVsZCwgIi0iCiAgICAjIGNoYXJhY3RlcnMgYXJlIG5v
dCBhbGxvd2VkLiAgIi0iIGlzIGFsbG93ZWQgaW4gdGhlIFJlbGVhc2UgZmllbGQuCiAgICAjCiAg
ICAjIFdlIHRyYW5zbGF0ZSB0aGUgIi0iIGluIHRoZSB2ZXJzaW9uIHRvIGEgIisiLCBieSBsb2Fk
aW5nIHRoZSBQS0dWCiAgICAjIGZyb20gdGhlIGRlcGVuZGVudCByZWNpcGUsIHJlcGxhY2luZyB0
aGUgLSB3aXRoIGEgKywgYW5kIHRoZW4gdXNpbmcKICAgICMgdGhhdCB2YWx1ZSB0byBkbyBhIHJl
cGxhY2UgaW5zaWRlIG9mIHRoaXMgcmVjaXBlJ3MgZGVwZW5kZW5jaWVzLgogICAgIyBUaGlzIHBy
ZXNlcnZlcyB0aGUgIi0iIHNlcGFyYXRvciBiZXR3ZWVuIHRoZSB2ZXJzaW9uIGFuZCByZWxlYXNl
LCBhcwogICAgIyB3ZWxsIGFzIGFueSAiLSIgY2hhcmFjdGVycyBpbnNpZGUgb2YgdGhlIHJlbGVh
c2UgZmllbGQuCiAgICAjCiAgICAjIEFsbCBvZiB0aGlzIGhhcyB0byBoYXBwZW4gQkVGT1JFIHRo
ZSBtYXBwaW5nX3JlbmFtZV9ob29rIGFzCiAgICAjIGFmdGVyIHJlbmFtaW5nIHdlIGNhbm5vdCBs
b29rIHVwIHRoZSBkZXBlbmRlbmNpZXMgaW4gdGhlIHBhY2thZ2VkYXRhCiAgICAjIHN0b3JlLgog
ICAgZGVmIHRyYW5zbGF0ZV92ZXJzKHZhcm5hbWUsIGQpOgogICAgICAgIGRlcGVuZHMgPSBkLmdl
dFZhcih2YXJuYW1lKQogICAgICAgIGlmIGRlcGVuZHM6CiAgICAgICAgICAgIGRlcGVuZHNfZGlj
dCA9IGJiLnV0aWxzLmV4cGxvZGVfZGVwX3ZlcnNpb25zMihkZXBlbmRzKQogICAgICAgICAgICBu
ZXdkZXBzX2RpY3QgPSB7fQogICAgICAgICAgICBmb3IgZGVwIGluIGRlcGVuZHNfZGljdDoKICAg
ICAgICAgICAgICAgIHZlcmxpc3QgPSBbXQogICAgICAgICAgICAgICAgZm9yIHZlciBpbiBkZXBl
bmRzX2RpY3RbZGVwXToKICAgICAgICAgICAgICAgICAgICBpZiAnLScgaW4gdmVyOgogICAgICAg
ICAgICAgICAgICAgICAgICBzdWJkID0gb2UucGFja2FnZWRhdGEucmVhZF9zdWJwa2dkYXRhX2Rp
Y3QoZGVwLCBkKQogICAgICAgICAgICAgICAgICAgICAgICBpZiAnUEtHVicgaW4gc3ViZDoKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHB2ID0gc3ViZFsnUFYnXQogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgcGtndiA9IHN1YmRbJ1BLR1YnXQogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgcmVwcHYgPSBwa2d2LnJlcGxhY2UoJy0nLCAnKycpCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB2ZXIgPSB2ZXIucmVwbGFjZShwdiwgcmVwcHYpLnJlcGxhY2UocGtndiwgcmVwcHYpCiAg
ICAgICAgICAgICAgICAgICAgICAgIGlmICdQS0dSJyBpbiBzdWJkOgogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIyBNYWtlIHN1cmUgUEtHUiByYXRoZXIgdGhhbiBQUiBpbiB2ZXIKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHByID0gJy0nICsgc3ViZFsnUFInXQogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgcGtnciA9ICctJyArIHN1YmRbJ1BLR1InXQogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaWYgcGtnciBub3QgaW4gdmVyOgogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHZlciA9IHZlci5yZXBsYWNlKHByLCBwa2dyKQogICAgICAgICAgICAgICAgICAgICAg
ICB2ZXJsaXN0LmFwcGVuZCh2ZXIpCiAgICAgICAgICAgICAgICAgICAgZWxzZToKICAgICAgICAg
ICAgICAgICAgICAgICAgdmVybGlzdC5hcHBlbmQodmVyKQogICAgICAgICAgICAgICAgbmV3ZGVw
c19kaWN0W2RlcF0gPSB2ZXJsaXN0CiAgICAgICAgICAgIGRlcGVuZHMgPSBiYi51dGlscy5qb2lu
X2RlcHMobmV3ZGVwc19kaWN0KQogICAgICAgICAgICBkLnNldFZhcih2YXJuYW1lLCBkZXBlbmRz
LnN0cmlwKCkpCgogICAgIyBXZSBuZWVkIHRvIGNoYW5nZSB0aGUgc3R5bGUgdGhlIGRlcGVuZGVu
Y3kgZnJvbSBCQiB0byBSUE0KICAgICMgVGhpcyBuZWVkcyB0byBoYXBwZW4gQUZURVIgdGhlIG1h
cHBpbmdfcmVuYW1lX2hvb2sKICAgIGRlZiBwcmludF9kZXBzKHZhcmlhYmxlLCB0YWcsIGFycmF5
LCBkKToKICAgICAgICBkZXBlbmRzID0gdmFyaWFibGUKICAgICAgICBpZiBkZXBlbmRzOgogICAg
ICAgICAgICBkZXBlbmRzX2RpY3QgPSBiYi51dGlscy5leHBsb2RlX2RlcF92ZXJzaW9uczIoZGVw
ZW5kcykKICAgICAgICAgICAgZm9yIGRlcCBpbiBkZXBlbmRzX2RpY3Q6CiAgICAgICAgICAgICAg
ICBmb3IgdmVyIGluIGRlcGVuZHNfZGljdFtkZXBdOgogICAgICAgICAgICAgICAgICAgIHZlciA9
IHZlci5yZXBsYWNlKCcoJywgJycpCiAgICAgICAgICAgICAgICAgICAgdmVyID0gdmVyLnJlcGxh
Y2UoJyknLCAnJykKICAgICAgICAgICAgICAgICAgICBhcnJheS5hcHBlbmQoIiVzOiAlcyAlcyIg
JSAodGFnLCBkZXAsIHZlcikpCiAgICAgICAgICAgICAgICBpZiBub3QgbGVuKGRlcGVuZHNfZGlj
dFtkZXBdKToKICAgICAgICAgICAgICAgICAgICBhcnJheS5hcHBlbmQoIiVzOiAlcyIgJSAodGFn
LCBkZXApKQoKICAgIGRlZiB3YWxrX2ZpbGVzKHdhbGtwYXRoLCB0YXJnZXQsIGNvbmZmaWxlcywg
ZGlyZmlsZXMpOgogICAgICAgICMgV2UgY2FuIHJhY2UgYWdhaW5zdCB0aGUgaXBrL2RlYiBiYWNr
ZW5kcyB3aGljaCBjcmVhdGUgQ09OVFJPTCBvciBERUJJQU4gZGlyZWN0b3JpZXMKICAgICAgICAj
IHdoZW4gcGFja2FnaW5nLiBXZSBqdXN0IGlnbm9yZSB0aGVzZSBmaWxlcyB3aGljaCBhcmUgY3Jl
YXRlZCBpbgogICAgICAgICMgcGFja2FnZXMtc3BsaXQvIGFuZCBub3QgcGFja2FnZS8KICAgICAg
ICAjIFdlIGhhdmUgdGhlIG9kZCBzaXR1YXRpb24gd2hlcmUgdGhlIENPTlRST0wvREVCSUFOIGRp
cmVjdG9yeSBjYW4gYmUgcmVtb3ZlZCBpbiB0aGUgbWlkZGxlIG9mCiAgICAgICAgIyBvZiB0aGUg
d2FsaywgdGhlIGlzZGlyKCkgdGVzdCB3b3VsZCB0aGVuIGZhaWwgYW5kIHRoZSB3YWxrIGNvZGUg
d291bGQgYXNzdW1lIGl0cyBhIGZpbGUKICAgICAgICAjIGhlbmNlIHdlIGNoZWNrIGZvciB0aGUg
bmFtZXMgaW4gZmlsZXMgdG9vLgogICAgICAgIGZvciByb290cGF0aCwgZGlycywgZmlsZXMgaW4g
b3Mud2Fsayh3YWxrcGF0aCk6CiAgICAgICAgICAgIHBhdGggPSByb290cGF0aC5yZXBsYWNlKHdh
bGtwYXRoLCAiIikKICAgICAgICAgICAgaWYgcGF0aC5lbmRzd2l0aCgiREVCSUFOIikgb3IgcGF0
aC5lbmRzd2l0aCgiQ09OVFJPTCIpOgogICAgICAgICAgICAgICAgY29udGludWUKICAgICAgICAg
ICAgcGF0aCA9IHBhdGgucmVwbGFjZSgiJSIsICIlJSUlJSUlJSIpCiAgICAgICAgICAgIHBhdGgg
PSBwYXRoLnJlcGxhY2UoIlsiLCAiPyIpCiAgICAgICAgICAgIHBhdGggPSBwYXRoLnJlcGxhY2Uo
Il0iLCAiPyIpCgogICAgICAgICAgICAjIFRyZWF0IGFsbCBzeW1saW5rcyB0byBkaXJlY3Rvcmll
cyBhcyBub3JtYWwgZmlsZXMuCiAgICAgICAgICAgICMgb3Mud2FsaygpIGxpc3RzIHRoZW0gYXMg
ZGlyZWN0b3JpZXMuCiAgICAgICAgICAgIGRlZiBtb3ZlX3RvX2ZpbGVzKGRpcik6CiAgICAgICAg
ICAgICAgICBpZiBvcy5wYXRoLmlzbGluayhvcy5wYXRoLmpvaW4ocm9vdHBhdGgsIGRpcikpOgog
ICAgICAgICAgICAgICAgICAgIGZpbGVzLmFwcGVuZChkaXIpCiAgICAgICAgICAgICAgICAgICAg
cmV0dXJuIFRydWUKICAgICAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgICAgcmV0
dXJuIEZhbHNlCiAgICAgICAgICAgIGRpcnNbOl0gPSBbZGlyIGZvciBkaXIgaW4gZGlycyBpZiBu
b3QgbW92ZV90b19maWxlcyhkaXIpXQoKICAgICAgICAgICAgIyBEaXJlY3RvcnkgaGFuZGxpbmcg
Y2FuIGhhcHBlbiBpbiB0d28gd2F5cywgZWl0aGVyIERJUkZJTEVTIGlzIG5vdCBzZXQgYXQgYWxs
CiAgICAgICAgICAgICMgaW4gd2hpY2ggY2FzZSB3ZSBmYWxsIGJhY2sgdG8gdGhlIG9sZGVyIGJl
aGF2aW91ciBvZiBwYWNrYWdlcyBvd25pbmcgYWxsIHRoZWlyCiAgICAgICAgICAgICMgZGlyZWN0
b3JpZXMKICAgICAgICAgICAgaWYgZGlyZmlsZXMgaXMgTm9uZToKICAgICAgICAgICAgICAgIGZv
ciBkaXIgaW4gZGlyczoKICAgICAgICAgICAgICAgICAgICBpZiBkaXIgPT0gIkNPTlRST0wiIG9y
IGRpciA9PSAiREVCSUFOIjoKICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWUKICAgICAg
ICAgICAgICAgICAgICBkaXIgPSBkaXIucmVwbGFjZSgiJSIsICIlJSUlJSUlJSIpCiAgICAgICAg
ICAgICAgICAgICAgZGlyID0gZGlyLnJlcGxhY2UoIlsiLCAiPyIpCiAgICAgICAgICAgICAgICAg
ICAgZGlyID0gZGlyLnJlcGxhY2UoIl0iLCAiPyIpCiAgICAgICAgICAgICAgICAgICAgIyBBbGwg
cGFja2FnZXMgb3duIHRoZSBkaXJlY3RvcmllcyB0aGVpciBmaWxlcyBhcmUgaW4uLi4KICAgICAg
ICAgICAgICAgICAgICB0YXJnZXQuYXBwZW5kKCclZGlyICInICsgcGF0aCArICcvJyArIGRpciAr
ICciJykKICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICMgcGFja2FnZXMgb3duIG9u
bHkgZW1wdHkgZGlyZWN0b3JpZXMgb3IgZXhwbGljdCBkaXJlY3RvcnkuCiAgICAgICAgICAgICAg
ICAjIFRoaXMgd2lsbCBwcmV2ZW50IHRoZSBvdmVybGFwcGluZyBvZiBzZWN1cml0eSBwZXJtaXNz
aW9uLgogICAgICAgICAgICAgICAgaWYgcGF0aCBhbmQgbm90IGZpbGVzIGFuZCBub3QgZGlyczoK
ICAgICAgICAgICAgICAgICAgICB0YXJnZXQuYXBwZW5kKCclZGlyICInICsgcGF0aCArICciJykK
ICAgICAgICAgICAgICAgIGVsaWYgcGF0aCBhbmQgcGF0aCBpbiBkaXJmaWxlczoKICAgICAgICAg
ICAgICAgICAgICB0YXJnZXQuYXBwZW5kKCclZGlyICInICsgcGF0aCArICciJykKCiAgICAgICAg
ICAgIGZvciBmaWxlIGluIGZpbGVzOgogICAgICAgICAgICAgICAgaWYgZmlsZSA9PSAiQ09OVFJP
TCIgb3IgZmlsZSA9PSAiREVCSUFOIjoKICAgICAgICAgICAgICAgICAgICBjb250aW51ZQogICAg
ICAgICAgICAgICAgZmlsZSA9IGZpbGUucmVwbGFjZSgiJSIsICIlJSUlJSUlJSIpCiAgICAgICAg
ICAgICAgICBmaWxlID0gZmlsZS5yZXBsYWNlKCJbIiwgIj8iKQogICAgICAgICAgICAgICAgZmls
ZSA9IGZpbGUucmVwbGFjZSgiXSIsICI/IikKICAgICAgICAgICAgICAgIGlmIGNvbmZmaWxlcy5j
b3VudChwYXRoICsgJy8nICsgZmlsZSk6CiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0LmFwcGVu
ZCgnJWNvbmZpZyAiJyArIHBhdGggKyAnLycgKyBmaWxlICsgJyInKQogICAgICAgICAgICAgICAg
ZWxzZToKICAgICAgICAgICAgICAgICAgICB0YXJnZXQuYXBwZW5kKCciJyArIHBhdGggKyAnLycg
KyBmaWxlICsgJyInKQoKICAgICMgUHJldmVudCB0aGUgcHJlcm0vcG9zdHJtIHNjcmlwdHMgZnJv
bSBiZWluZyBydW4gZHVyaW5nIGFuIHVwZ3JhZGUKICAgIGRlZiB3cmFwX3VuaW5zdGFsbChzY3Jp
cHR2YXIpOgogICAgICAgIHNjciA9IHNjcmlwdHZhci5zdHJpcCgpCiAgICAgICAgaWYgc2NyLnN0
YXJ0c3dpdGgoIiMhIik6CiAgICAgICAgICAgIHBvcyA9IHNjci5maW5kKCJcbiIpICsgMQogICAg
ICAgIGVsc2U6CiAgICAgICAgICAgIHBvcyA9IDAKICAgICAgICBzY3IgPSBzY3JbOnBvc10gKyAn
aWYgWyAiJDEiID0gIjAiIF0gOyB0aGVuXG4nICsgc2NyW3BvczpdICsgJ1xuZmknCiAgICAgICAg
cmV0dXJuIHNjcgoKICAgIGRlZiBnZXRfcGVyZmlsZSh2YXJuYW1lLCBwa2csIGQpOgogICAgICAg
IGRlcHMgPSBbXQogICAgICAgIGRlcGVuZHNmbGlzdF9rZXkgPSAnRklMRScgKyB2YXJuYW1lICsg
J0ZMSVNUJyArICJfIiArIHBrZwogICAgICAgIGRlcGVuZHNmbGlzdCA9IChkLmdldFZhcihkZXBl
bmRzZmxpc3Rfa2V5KSBvciAiIikKICAgICAgICBmb3IgZGZpbGUgaW4gZGVwZW5kc2ZsaXN0LnNw
bGl0KCk6CiAgICAgICAgICAgIGtleSA9ICJGSUxFIiArIHZhcm5hbWUgKyAiXyIgKyBkZmlsZSAr
ICJfIiArIHBrZwogICAgICAgICAgICBkZXBlbmRzID0gZC5nZXRWYXIoa2V5KQogICAgICAgICAg
ICBpZiBkZXBlbmRzOgogICAgICAgICAgICAgICAgZGVwcy5hcHBlbmQoZGVwZW5kcykKICAgICAg
ICByZXR1cm4gIiAiLmpvaW4oZGVwcykKCiAgICBkZWYgYXBwZW5kX2Rlc2NyaXB0aW9uKHNwZWNf
cHJlYW1ibGUsIHRleHQpOgogICAgICAgICIiIgogICAgICAgIEFkZCB0aGUgZGVzY3JpcHRpb24g
dG8gdGhlIHNwZWMgZmlsZS4KICAgICAgICAiIiIKICAgICAgICBpbXBvcnQgdGV4dHdyYXAKICAg
ICAgICBkZWRlbnRfdGV4dCA9IHRleHR3cmFwLmRlZGVudCh0ZXh0KS5zdHJpcCgpCiAgICAgICAg
IyBCaXRiYWtlIHNhdmVzICJcbiIgYXMgIlxcbiIKICAgICAgICBpZiAnXFxuJyBpbiBkZWRlbnRf
dGV4dDoKICAgICAgICAgICAgZm9yIHQgaW4gZGVkZW50X3RleHQuc3BsaXQoJ1xcbicpOgogICAg
ICAgICAgICAgICAgc3BlY19wcmVhbWJsZS5hcHBlbmQodC5zdHJpcCgpKQogICAgICAgIGVsc2U6
CiAgICAgICAgICAgIHNwZWNfcHJlYW1ibGUuYXBwZW5kKCclcycgJSB0ZXh0d3JhcC5maWxsKGRl
ZGVudF90ZXh0LCB3aWR0aD03NSkpCgogICAgcGFja2FnZXMgPSBkLmdldFZhcignUEFDS0FHRVMn
KQogICAgaWYgbm90IHBhY2thZ2VzIG9yIHBhY2thZ2VzID09ICcnOgogICAgICAgIGJiLmRlYnVn
KDEsICJObyBwYWNrYWdlczsgbm90aGluZyB0byBkbyIpCiAgICAgICAgcmV0dXJuCgogICAgcGtn
ZGVzdCA9IGQuZ2V0VmFyKCdQS0dERVNUJykKICAgIGlmIG5vdCBwa2dkZXN0OgogICAgICAgIGJi
LmZhdGFsKCJObyBQS0dERVNUIikKCiAgICBvdXRzcGVjZmlsZSA9IGQuZ2V0VmFyKCdPVVRTUEVD
RklMRScpCiAgICBpZiBub3Qgb3V0c3BlY2ZpbGU6CiAgICAgICAgYmIuZmF0YWwoIk5vIE9VVFNQ
RUNGSUxFIikKCiAgICAjIENvbnN0cnVjdCB0aGUgU1BFQyBmaWxlLi4uCiAgICBzcmNuYW1lICAg
ID0gZC5nZXRWYXIoJ1BOJykKICAgIHNyY3N1bW1hcnkgPSAoZC5nZXRWYXIoJ1NVTU1BUlknKSBv
ciBkLmdldFZhcignREVTQ1JJUFRJT04nKSBvciAiLiIpCiAgICBzcmN2ZXJzaW9uID0gZC5nZXRW
YXIoJ1BLR1YnKS5yZXBsYWNlKCctJywgJysnKQogICAgc3JjcmVsZWFzZSA9IGQuZ2V0VmFyKCdQ
S0dSJykKICAgIHNyY2Vwb2NoICAgPSAoZC5nZXRWYXIoJ1BLR0UnKSBvciAiIikKICAgIHNyY2xp
Y2Vuc2UgPSBkLmdldFZhcignTElDRU5TRScpCiAgICBzcmNzZWN0aW9uID0gZC5nZXRWYXIoJ1NF
Q1RJT04nKQogICAgc3JjbWFpbnRhaW5lciAgPSBkLmdldFZhcignTUFJTlRBSU5FUicpCiAgICBz
cmNob21lcGFnZSAgICA9IGQuZ2V0VmFyKCdIT01FUEFHRScpCiAgICBzcmNkZXNjcmlwdGlvbiA9
IGQuZ2V0VmFyKCdERVNDUklQVElPTicpIG9yICIuIgogICAgc3JjY3VzdG9tdGFnc2NodW5rID0g
Z2V0X3BhY2thZ2VfYWRkaXRpb25hbF9tZXRhZGF0YSgicnBtIiwgZCkKCiAgICBzcmNkZXBlbmRz
ICAgICA9IGQuZ2V0VmFyKCdERVBFTkRTJykKICAgIHNyY3JkZXBlbmRzICAgID0gW10KICAgIHNy
Y3JyZWNvbW1lbmRzID0gW10KICAgIHNyY3JzdWdnZXN0cyAgID0gW10KICAgIHNyY3Jwcm92aWRl
cyAgID0gW10KICAgIHNyY3JyZXBsYWNlcyAgID0gW10KICAgIHNyY3Jjb25mbGljdHMgID0gW10K
ICAgIHNyY3JvYnNvbGV0ZXMgID0gW10KCiAgICBzcmNycHJlaW5zdCAgPSBbXQogICAgc3JjcnBv
c3RpbnN0ID0gW10KICAgIHNyY3JwcmVybSAgICA9IFtdCiAgICBzcmNycG9zdHJtICAgPSBbXQoK
ICAgIHNwZWNfcHJlYW1ibGVfdG9wID0gW10KICAgIHNwZWNfcHJlYW1ibGVfYm90dG9tID0gW10K
CiAgICBzcGVjX3NjcmlwdGxldHNfdG9wID0gW10KICAgIHNwZWNfc2NyaXB0bGV0c19ib3R0b20g
PSBbXQoKICAgIHNwZWNfZmlsZXNfdG9wID0gW10KICAgIHNwZWNfZmlsZXNfYm90dG9tID0gW10K
CiAgICBwZXJmaWxlZGVwcyA9IChkLmdldFZhcigiTUVSR0VQRVJGSUxFREVQUyIpIG9yICIwIikg
PT0gIjAiCiAgICBleHRyYV9wa2dkYXRhID0gKGQuZ2V0VmFyKCJSUE1fRVhUUkFfUEtHREFUQSIp
IG9yICIwIikgPT0gIjEiCgogICAgZm9yIHBrZyBpbiBwYWNrYWdlcy5zcGxpdCgpOgogICAgICAg
IGxvY2FsZGF0YSA9IGJiLmRhdGEuY3JlYXRlQ29weShkKQoKICAgICAgICByb290ID0gIiVzLyVz
IiAlIChwa2dkZXN0LCBwa2cpCgogICAgICAgIGxvY2FsZGF0YS5zZXRWYXIoJ1JPT1QnLCAnJykK
ICAgICAgICBsb2NhbGRhdGEuc2V0VmFyKCdST09UXyVzJyAlIHBrZywgcm9vdCkKICAgICAgICBw
a2duYW1lID0gbG9jYWxkYXRhLmdldFZhcignUEtHXyVzJyAlIHBrZykKICAgICAgICBpZiBub3Qg
cGtnbmFtZToKICAgICAgICAgICAgcGtnbmFtZSA9IHBrZwogICAgICAgIGxvY2FsZGF0YS5zZXRW
YXIoJ1BLRycsIHBrZ25hbWUpCgogICAgICAgIGxvY2FsZGF0YS5zZXRWYXIoJ09WRVJSSURFUycs
IGQuZ2V0VmFyKCJPVkVSUklERVMiLCBGYWxzZSkgKyAiOiIgKyBwa2cpCgogICAgICAgIGNvbmZm
aWxlcyA9IGdldF9jb25mZmlsZXMocGtnLCBkKQogICAgICAgIGRpcmZpbGVzID0gbG9jYWxkYXRh
LmdldFZhcignRElSRklMRVMnKQogICAgICAgIGlmIGRpcmZpbGVzIGlzIG5vdCBOb25lOgogICAg
ICAgICAgICBkaXJmaWxlcyA9IGRpcmZpbGVzLnNwbGl0KCkKCiAgICAgICAgc3BsaXRuYW1lICAg
ID0gcGtnbmFtZQoKICAgICAgICBzcGxpdHN1bW1hcnkgPSAobG9jYWxkYXRhLmdldFZhcignU1VN
TUFSWScpIG9yIGxvY2FsZGF0YS5nZXRWYXIoJ0RFU0NSSVBUSU9OJykgb3IgIi4iKQogICAgICAg
IHNwbGl0dmVyc2lvbiA9IChsb2NhbGRhdGEuZ2V0VmFyKCdQS0dWJykgb3IgIiIpLnJlcGxhY2Uo
Jy0nLCAnKycpCiAgICAgICAgc3BsaXRyZWxlYXNlID0gKGxvY2FsZGF0YS5nZXRWYXIoJ1BLR1In
KSBvciAiIikKICAgICAgICBzcGxpdGVwb2NoICAgPSAobG9jYWxkYXRhLmdldFZhcignUEtHRScp
IG9yICIiKQogICAgICAgIHNwbGl0bGljZW5zZSA9IChsb2NhbGRhdGEuZ2V0VmFyKCdMSUNFTlNF
Jykgb3IgIiIpCiAgICAgICAgc3BsaXRzZWN0aW9uID0gKGxvY2FsZGF0YS5nZXRWYXIoJ1NFQ1RJ
T04nKSBvciAiIikKICAgICAgICBzcGxpdGRlc2NyaXB0aW9uID0gKGxvY2FsZGF0YS5nZXRWYXIo
J0RFU0NSSVBUSU9OJykgb3IgIi4iKQogICAgICAgIHNwbGl0Y3VzdG9tdGFnc2NodW5rID0gZ2V0
X3BhY2thZ2VfYWRkaXRpb25hbF9tZXRhZGF0YSgicnBtIiwgbG9jYWxkYXRhKQoKICAgICAgICB0
cmFuc2xhdGVfdmVycygnUkRFUEVORFMnLCBsb2NhbGRhdGEpCiAgICAgICAgdHJhbnNsYXRlX3Zl
cnMoJ1JSRUNPTU1FTkRTJywgbG9jYWxkYXRhKQogICAgICAgIHRyYW5zbGF0ZV92ZXJzKCdSU1VH
R0VTVFMnLCBsb2NhbGRhdGEpCiAgICAgICAgdHJhbnNsYXRlX3ZlcnMoJ1JQUk9WSURFUycsIGxv
Y2FsZGF0YSkKICAgICAgICB0cmFuc2xhdGVfdmVycygnUlJFUExBQ0VTJywgbG9jYWxkYXRhKQog
ICAgICAgIHRyYW5zbGF0ZV92ZXJzKCdSQ09ORkxJQ1RTJywgbG9jYWxkYXRhKQoKICAgICAgICAj
IE1hcCB0aGUgZGVwZW5kZW5jaWVzIGludG8gdGhlaXIgZmluYWwgZm9ybQogICAgICAgIG1hcHBp
bmdfcmVuYW1lX2hvb2sobG9jYWxkYXRhKQoKICAgICAgICBzcGxpdHJkZXBlbmRzICAgID0gbG9j
YWxkYXRhLmdldFZhcignUkRFUEVORFMnKQogICAgICAgIHNwbGl0cnJlY29tbWVuZHMgPSBsb2Nh
bGRhdGEuZ2V0VmFyKCdSUkVDT01NRU5EUycpCiAgICAgICAgc3BsaXRyc3VnZ2VzdHMgICA9IGxv
Y2FsZGF0YS5nZXRWYXIoJ1JTVUdHRVNUUycpCiAgICAgICAgc3BsaXRycHJvdmlkZXMgICA9IGxv
Y2FsZGF0YS5nZXRWYXIoJ1JQUk9WSURFUycpCiAgICAgICAgc3BsaXRycmVwbGFjZXMgICA9IGxv
Y2FsZGF0YS5nZXRWYXIoJ1JSRVBMQUNFUycpCiAgICAgICAgc3BsaXRyY29uZmxpY3RzICA9IGxv
Y2FsZGF0YS5nZXRWYXIoJ1JDT05GTElDVFMnKQogICAgICAgIHNwbGl0cm9ic29sZXRlcyAgPSBb
XQoKICAgICAgICBzcGxpdHJwcmVpbnN0ICA9IGxvY2FsZGF0YS5nZXRWYXIoJ3BrZ19wcmVpbnN0
JykKICAgICAgICBzcGxpdHJwb3N0aW5zdCA9IGxvY2FsZGF0YS5nZXRWYXIoJ3BrZ19wb3N0aW5z
dCcpCiAgICAgICAgc3BsaXRycHJlcm0gICAgPSBsb2NhbGRhdGEuZ2V0VmFyKCdwa2dfcHJlcm0n
KQogICAgICAgIHNwbGl0cnBvc3RybSAgID0gbG9jYWxkYXRhLmdldFZhcigncGtnX3Bvc3RybScp
CgoKICAgICAgICBpZiBub3QgcGVyZmlsZWRlcHM6CiAgICAgICAgICAgICMgQWRkIGluIHN1bW1h
cnkgb2YgcGVyIGZpbGUgZGVwZW5kZW5jaWVzCiAgICAgICAgICAgIHNwbGl0cmRlcGVuZHMgPSBz
cGxpdHJkZXBlbmRzICsgIiAiICsgZ2V0X3BlcmZpbGUoJ1JERVBFTkRTJywgcGtnLCBkKQogICAg
ICAgICAgICBzcGxpdHJwcm92aWRlcyA9IHNwbGl0cnByb3ZpZGVzICsgIiAiICsgZ2V0X3BlcmZp
bGUoJ1JQUk9WSURFUycsIHBrZywgZCkKCiAgICAgICAgc3BsaXRyZGVwZW5kcyA9IGZpbHRlcl9u
YXRpdmVzZGtfZGVwcyhzcmNuYW1lLCBzcGxpdHJkZXBlbmRzKQoKICAgICAgICAjIEdhdGhlciBz
cGVjaWFsIHNyYy9maXJzdCBwYWNrYWdlIGRhdGEKICAgICAgICBpZiBzcmNuYW1lID09IHNwbGl0
bmFtZToKICAgICAgICAgICAgc3JjcmRlcGVuZHMgICAgPSBzcGxpdHJkZXBlbmRzCiAgICAgICAg
ICAgIHNyY3JyZWNvbW1lbmRzID0gc3BsaXRycmVjb21tZW5kcwogICAgICAgICAgICBzcmNyc3Vn
Z2VzdHMgICA9IHNwbGl0cnN1Z2dlc3RzCiAgICAgICAgICAgIHNyY3Jwcm92aWRlcyAgID0gc3Bs
aXRycHJvdmlkZXMKICAgICAgICAgICAgc3JjcnJlcGxhY2VzICAgPSBzcGxpdHJyZXBsYWNlcwog
ICAgICAgICAgICBzcmNyY29uZmxpY3RzICA9IHNwbGl0cmNvbmZsaWN0cwoKICAgICAgICAgICAg
c3JjcnByZWluc3QgICAgPSBzcGxpdHJwcmVpbnN0CiAgICAgICAgICAgIHNyY3Jwb3N0aW5zdCAg
ID0gc3BsaXRycG9zdGluc3QKICAgICAgICAgICAgc3JjcnByZXJtICAgICAgPSBzcGxpdHJwcmVy
bQogICAgICAgICAgICBzcmNycG9zdHJtICAgICA9IHNwbGl0cnBvc3RybQoKICAgICAgICAgICAg
ZmlsZV9saXN0ID0gW10KICAgICAgICAgICAgd2Fsa19maWxlcyhyb290LCBmaWxlX2xpc3QsIGNv
bmZmaWxlcywgZGlyZmlsZXMpCiAgICAgICAgICAgIGlmIG5vdCBmaWxlX2xpc3QgYW5kIGxvY2Fs
ZGF0YS5nZXRWYXIoJ0FMTE9XX0VNUFRZJywgRmFsc2UpICE9ICIxIjoKICAgICAgICAgICAgICAg
IGJiLm5vdGUoIk5vdCBjcmVhdGluZyBlbXB0eSBSUE0gcGFja2FnZSBmb3IgJXMiICUgc3BsaXRu
YW1lKQogICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgYmIubm90ZSgiQ3JlYXRpbmcg
UlBNIHBhY2thZ2UgZm9yICVzIiAlIHNwbGl0bmFtZSkKICAgICAgICAgICAgICAgIHNwZWNfZmls
ZXNfdG9wLmFwcGVuZCgnJWZpbGVzJykKICAgICAgICAgICAgICAgIGlmIGV4dHJhX3BrZ2RhdGE6
CiAgICAgICAgICAgICAgICAgICAgcGFja2FnZV9ycG1fZXh0cmFfcGtnZGF0YShzcGxpdG5hbWUs
IHNwZWNfZmlsZXNfdG9wLCBsb2NhbGRhdGEpCiAgICAgICAgICAgICAgICBzcGVjX2ZpbGVzX3Rv
cC5hcHBlbmQoJyVkZWZhdHRyKC0sLSwtLC0pJykKICAgICAgICAgICAgICAgIGlmIGZpbGVfbGlz
dDoKICAgICAgICAgICAgICAgICAgICBiYi5ub3RlKCJDcmVhdGluZyBSUE0gcGFja2FnZSBmb3Ig
JXMiICUgc3BsaXRuYW1lKQogICAgICAgICAgICAgICAgICAgIHNwZWNfZmlsZXNfdG9wLmV4dGVu
ZChmaWxlX2xpc3QpCiAgICAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgICAgIGJi
Lm5vdGUoIkNyZWF0aW5nIEVNUFRZIFJQTSBQYWNrYWdlIGZvciAlcyIgJSBzcGxpdG5hbWUpCiAg
ICAgICAgICAgICAgICBzcGVjX2ZpbGVzX3RvcC5hcHBlbmQoJycpCiAgICAgICAgICAgIGNvbnRp
bnVlCgogICAgICAgICMgUHJvY2VzcyBzdWJwYWNrYWdlIGRhdGEKICAgICAgICBzcGVjX3ByZWFt
YmxlX2JvdHRvbS5hcHBlbmQoJyUlcGFja2FnZSAtbiAlcycgJSBzcGxpdG5hbWUpCiAgICAgICAg
c3BlY19wcmVhbWJsZV9ib3R0b20uYXBwZW5kKCdTdW1tYXJ5OiAlcycgJSBzcGxpdHN1bW1hcnkp
CiAgICAgICAgaWYgc3JjdmVyc2lvbiAhPSBzcGxpdHZlcnNpb246CiAgICAgICAgICAgIHNwZWNf
cHJlYW1ibGVfYm90dG9tLmFwcGVuZCgnVmVyc2lvbjogJXMnICUgc3BsaXR2ZXJzaW9uKQogICAg
ICAgIGlmIHNyY3JlbGVhc2UgIT0gc3BsaXRyZWxlYXNlOgogICAgICAgICAgICBzcGVjX3ByZWFt
YmxlX2JvdHRvbS5hcHBlbmQoJ1JlbGVhc2U6ICVzJyAlIHNwbGl0cmVsZWFzZSkKICAgICAgICBp
ZiBzcmNlcG9jaCAhPSBzcGxpdGVwb2NoOgogICAgICAgICAgICBzcGVjX3ByZWFtYmxlX2JvdHRv
bS5hcHBlbmQoJ0Vwb2NoOiAlcycgJSBzcGxpdGVwb2NoKQogICAgICAgIGlmIHNyY2xpY2Vuc2Ug
IT0gc3BsaXRsaWNlbnNlOgogICAgICAgICAgICBzcGVjX3ByZWFtYmxlX2JvdHRvbS5hcHBlbmQo
J0xpY2Vuc2U6ICVzJyAlIHNwbGl0bGljZW5zZSkKICAgICAgICBzcGVjX3ByZWFtYmxlX2JvdHRv
bS5hcHBlbmQoJ0dyb3VwOiAlcycgJSBzcGxpdHNlY3Rpb24pCgogICAgICAgIGlmIHNyY2N1c3Rv
bXRhZ3NjaHVuayAhPSBzcGxpdGN1c3RvbXRhZ3NjaHVuazoKICAgICAgICAgICAgc3BlY19wcmVh
bWJsZV9ib3R0b20uYXBwZW5kKHNwbGl0Y3VzdG9tdGFnc2NodW5rKQoKICAgICAgICAjIFJlcGxh
Y2VzID09IE9ic29sZXRlcyAmJiBQcm92aWRlcwogICAgICAgIHJvYnNvbGV0ZXMgPSBiYi51dGls
cy5leHBsb2RlX2RlcF92ZXJzaW9uczIoc3BsaXRyb2Jzb2xldGVzIG9yICIiKQogICAgICAgIHJw
cm92aWRlcyA9IGJiLnV0aWxzLmV4cGxvZGVfZGVwX3ZlcnNpb25zMihzcGxpdHJwcm92aWRlcyBv
ciAiIikKICAgICAgICBycmVwbGFjZXMgPSBiYi51dGlscy5leHBsb2RlX2RlcF92ZXJzaW9uczIo
c3BsaXRycmVwbGFjZXMgb3IgIiIpCiAgICAgICAgZm9yIGRlcCBpbiBycmVwbGFjZXM6CiAgICAg
ICAgICAgIGlmIG5vdCBkZXAgaW4gcm9ic29sZXRlczoKICAgICAgICAgICAgICAgIHJvYnNvbGV0
ZXNbZGVwXSA9IHJyZXBsYWNlc1tkZXBdCiAgICAgICAgICAgIGlmIG5vdCBkZXAgaW4gcnByb3Zp
ZGVzOgogICAgICAgICAgICAgICAgcnByb3ZpZGVzW2RlcF0gPSBycmVwbGFjZXNbZGVwXQogICAg
ICAgIHNwbGl0cm9ic29sZXRlcyA9IGJiLnV0aWxzLmpvaW5fZGVwcyhyb2Jzb2xldGVzLCBjb21t
YXNlcD1GYWxzZSkKICAgICAgICBzcGxpdHJwcm92aWRlcyA9IGJiLnV0aWxzLmpvaW5fZGVwcyhy
cHJvdmlkZXMsIGNvbW1hc2VwPUZhbHNlKQoKICAgICAgICBwcmludF9kZXBzKHNwbGl0cmRlcGVu
ZHMsICJSZXF1aXJlcyIsIHNwZWNfcHJlYW1ibGVfYm90dG9tLCBkKQogICAgICAgIGlmIHNwbGl0
cnByZWluc3Q6CiAgICAgICAgICAgIHByaW50X2RlcHMoc3BsaXRyZGVwZW5kcywgIlJlcXVpcmVz
KHByZSkiLCBzcGVjX3ByZWFtYmxlX2JvdHRvbSwgZCkKICAgICAgICBpZiBzcGxpdHJwb3N0aW5z
dDoKICAgICAgICAgICAgcHJpbnRfZGVwcyhzcGxpdHJkZXBlbmRzLCAiUmVxdWlyZXMocG9zdCki
LCBzcGVjX3ByZWFtYmxlX2JvdHRvbSwgZCkKICAgICAgICBpZiBzcGxpdHJwcmVybToKICAgICAg
ICAgICAgcHJpbnRfZGVwcyhzcGxpdHJkZXBlbmRzLCAiUmVxdWlyZXMocHJldW4pIiwgc3BlY19w
cmVhbWJsZV9ib3R0b20sIGQpCiAgICAgICAgaWYgc3BsaXRycG9zdHJtOgogICAgICAgICAgICBw
cmludF9kZXBzKHNwbGl0cmRlcGVuZHMsICJSZXF1aXJlcyhwb3N0dW4pIiwgc3BlY19wcmVhbWJs
ZV9ib3R0b20sIGQpCgogICAgICAgIHByaW50X2RlcHMoc3BsaXRycmVjb21tZW5kcywgIlJlY29t
bWVuZHMiLCBzcGVjX3ByZWFtYmxlX2JvdHRvbSwgZCkKICAgICAgICBwcmludF9kZXBzKHNwbGl0
cnN1Z2dlc3RzLCAgIlN1Z2dlc3RzIiwgc3BlY19wcmVhbWJsZV9ib3R0b20sIGQpCiAgICAgICAg
cHJpbnRfZGVwcyhzcGxpdHJwcm92aWRlcywgICJQcm92aWRlcyIsIHNwZWNfcHJlYW1ibGVfYm90
dG9tLCBkKQogICAgICAgIHByaW50X2RlcHMoc3BsaXRyb2Jzb2xldGVzLCAiT2Jzb2xldGVzIiwg
c3BlY19wcmVhbWJsZV9ib3R0b20sIGQpCiAgICAgICAgcHJpbnRfZGVwcyhzcGxpdHJjb25mbGlj
dHMsICAiQ29uZmxpY3RzIiwgc3BlY19wcmVhbWJsZV9ib3R0b20sIGQpCgogICAgICAgIHNwZWNf
cHJlYW1ibGVfYm90dG9tLmFwcGVuZCgnJykKCiAgICAgICAgc3BlY19wcmVhbWJsZV9ib3R0b20u
YXBwZW5kKCclJWRlc2NyaXB0aW9uIC1uICVzJyAlIHNwbGl0bmFtZSkKICAgICAgICBhcHBlbmRf
ZGVzY3JpcHRpb24oc3BlY19wcmVhbWJsZV9ib3R0b20sIHNwbGl0ZGVzY3JpcHRpb24pCgogICAg
ICAgIHNwZWNfcHJlYW1ibGVfYm90dG9tLmFwcGVuZCgnJykKCiAgICAgICAgIyBOb3cgcHJvY2Vz
cyBzY3JpcHRsZXRzCiAgICAgICAgaWYgc3BsaXRycHJlaW5zdDoKICAgICAgICAgICAgc3BlY19z
Y3JpcHRsZXRzX2JvdHRvbS5hcHBlbmQoJyUlcHJlIC1uICVzJyAlIHNwbGl0bmFtZSkKICAgICAg
ICAgICAgc3BlY19zY3JpcHRsZXRzX2JvdHRvbS5hcHBlbmQoJyMgJXMgLSBwcmVpbnN0JyAlIHNw
bGl0bmFtZSkKICAgICAgICAgICAgc3BlY19zY3JpcHRsZXRzX2JvdHRvbS5hcHBlbmQoc3BsaXRy
cHJlaW5zdCkKICAgICAgICAgICAgc3BlY19zY3JpcHRsZXRzX2JvdHRvbS5hcHBlbmQoJycpCiAg
ICAgICAgaWYgc3BsaXRycG9zdGluc3Q6CiAgICAgICAgICAgIHNwZWNfc2NyaXB0bGV0c19ib3R0
b20uYXBwZW5kKCclJXBvc3QgLW4gJXMnICUgc3BsaXRuYW1lKQogICAgICAgICAgICBzcGVjX3Nj
cmlwdGxldHNfYm90dG9tLmFwcGVuZCgnIyAlcyAtIHBvc3RpbnN0JyAlIHNwbGl0bmFtZSkKICAg
ICAgICAgICAgc3BlY19zY3JpcHRsZXRzX2JvdHRvbS5hcHBlbmQoc3BsaXRycG9zdGluc3QpCiAg
ICAgICAgICAgIHNwZWNfc2NyaXB0bGV0c19ib3R0b20uYXBwZW5kKCcnKQogICAgICAgIGlmIHNw
bGl0cnByZXJtOgogICAgICAgICAgICBzcGVjX3NjcmlwdGxldHNfYm90dG9tLmFwcGVuZCgnJSVw
cmV1biAtbiAlcycgJSBzcGxpdG5hbWUpCiAgICAgICAgICAgIHNwZWNfc2NyaXB0bGV0c19ib3R0
b20uYXBwZW5kKCcjICVzIC0gcHJlcm0nICUgc3BsaXRuYW1lKQogICAgICAgICAgICBzY3JpcHR2
YXIgPSB3cmFwX3VuaW5zdGFsbChzcGxpdHJwcmVybSkKICAgICAgICAgICAgc3BlY19zY3JpcHRs
ZXRzX2JvdHRvbS5hcHBlbmQoc2NyaXB0dmFyKQogICAgICAgICAgICBzcGVjX3NjcmlwdGxldHNf
Ym90dG9tLmFwcGVuZCgnJykKICAgICAgICBpZiBzcGxpdHJwb3N0cm06CiAgICAgICAgICAgIHNw
ZWNfc2NyaXB0bGV0c19ib3R0b20uYXBwZW5kKCclJXBvc3R1biAtbiAlcycgJSBzcGxpdG5hbWUp
CiAgICAgICAgICAgIHNwZWNfc2NyaXB0bGV0c19ib3R0b20uYXBwZW5kKCcjICVzIC0gcG9zdHJt
JyAlIHNwbGl0bmFtZSkKICAgICAgICAgICAgc2NyaXB0dmFyID0gd3JhcF91bmluc3RhbGwoc3Bs
aXRycG9zdHJtKQogICAgICAgICAgICBzcGVjX3NjcmlwdGxldHNfYm90dG9tLmFwcGVuZChzY3Jp
cHR2YXIpCiAgICAgICAgICAgIHNwZWNfc2NyaXB0bGV0c19ib3R0b20uYXBwZW5kKCcnKQoKICAg
ICAgICAjIE5vdyBwcm9jZXNzIGZpbGVzCiAgICAgICAgZmlsZV9saXN0ID0gW10KICAgICAgICB3
YWxrX2ZpbGVzKHJvb3QsIGZpbGVfbGlzdCwgY29uZmZpbGVzLCBkaXJmaWxlcykKICAgICAgICBp
ZiBub3QgZmlsZV9saXN0IGFuZCBsb2NhbGRhdGEuZ2V0VmFyKCdBTExPV19FTVBUWScsIEZhbHNl
KSAhPSAiMSI6CiAgICAgICAgICAgIGJiLm5vdGUoIk5vdCBjcmVhdGluZyBlbXB0eSBSUE0gcGFj
a2FnZSBmb3IgJXMiICUgc3BsaXRuYW1lKQogICAgICAgIGVsc2U6CiAgICAgICAgICAgIHNwZWNf
ZmlsZXNfYm90dG9tLmFwcGVuZCgnJSVmaWxlcyAtbiAlcycgJSBzcGxpdG5hbWUpCiAgICAgICAg
ICAgIGlmIGV4dHJhX3BrZ2RhdGE6CiAgICAgICAgICAgICAgICBwYWNrYWdlX3JwbV9leHRyYV9w
a2dkYXRhKHNwbGl0bmFtZSwgc3BlY19maWxlc19ib3R0b20sIGxvY2FsZGF0YSkKICAgICAgICAg
ICAgc3BlY19maWxlc19ib3R0b20uYXBwZW5kKCclZGVmYXR0cigtLC0sLSwtKScpCiAgICAgICAg
ICAgIGlmIGZpbGVfbGlzdDoKICAgICAgICAgICAgICAgIGJiLm5vdGUoIkNyZWF0aW5nIFJQTSBw
YWNrYWdlIGZvciAlcyIgJSBzcGxpdG5hbWUpCiAgICAgICAgICAgICAgICBzcGVjX2ZpbGVzX2Jv
dHRvbS5leHRlbmQoZmlsZV9saXN0KQogICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAg
YmIubm90ZSgiQ3JlYXRpbmcgRU1QVFkgUlBNIFBhY2thZ2UgZm9yICVzIiAlIHNwbGl0bmFtZSkK
ICAgICAgICAgICAgc3BlY19maWxlc19ib3R0b20uYXBwZW5kKCcnKQoKICAgICAgICBkZWwgbG9j
YWxkYXRhCgogICAgYWRkX3ByZXAoZCxzcGVjX2ZpbGVzX2JvdHRvbSkKICAgIHNwZWNfcHJlYW1i
bGVfdG9wLmFwcGVuZCgnU3VtbWFyeTogJXMnICUgc3Jjc3VtbWFyeSkKICAgIHNwZWNfcHJlYW1i
bGVfdG9wLmFwcGVuZCgnTmFtZTogJXMnICUgc3JjbmFtZSkKICAgIHNwZWNfcHJlYW1ibGVfdG9w
LmFwcGVuZCgnVmVyc2lvbjogJXMnICUgc3JjdmVyc2lvbikKICAgIHNwZWNfcHJlYW1ibGVfdG9w
LmFwcGVuZCgnUmVsZWFzZTogJXMnICUgc3JjcmVsZWFzZSkKICAgIGlmIHNyY2Vwb2NoIGFuZCBz
cmNlcG9jaC5zdHJpcCgpICE9ICIiOgogICAgICAgIHNwZWNfcHJlYW1ibGVfdG9wLmFwcGVuZCgn
RXBvY2g6ICVzJyAlIHNyY2Vwb2NoKQogICAgc3BlY19wcmVhbWJsZV90b3AuYXBwZW5kKCdMaWNl
bnNlOiAlcycgJSBzcmNsaWNlbnNlKQogICAgc3BlY19wcmVhbWJsZV90b3AuYXBwZW5kKCdHcm91
cDogJXMnICUgc3Jjc2VjdGlvbikKICAgIHNwZWNfcHJlYW1ibGVfdG9wLmFwcGVuZCgnUGFja2Fn
ZXI6ICVzJyAlIHNyY21haW50YWluZXIpCiAgICBpZiBzcmNob21lcGFnZToKICAgICAgICBzcGVj
X3ByZWFtYmxlX3RvcC5hcHBlbmQoJ1VSTDogJXMnICUgc3JjaG9tZXBhZ2UpCiAgICBpZiBzcmNj
dXN0b210YWdzY2h1bms6CiAgICAgICAgc3BlY19wcmVhbWJsZV90b3AuYXBwZW5kKHNyY2N1c3Rv
bXRhZ3NjaHVuaykKICAgIHRhaWxfc291cmNlKGQpCgogICAgIyBSZXBsYWNlcyA9PSBPYnNvbGV0
ZXMgJiYgUHJvdmlkZXMKICAgIHJvYnNvbGV0ZXMgPSBiYi51dGlscy5leHBsb2RlX2RlcF92ZXJz
aW9uczIoc3Jjcm9ic29sZXRlcyBvciAiIikKICAgIHJwcm92aWRlcyA9IGJiLnV0aWxzLmV4cGxv
ZGVfZGVwX3ZlcnNpb25zMihzcmNycHJvdmlkZXMgb3IgIiIpCiAgICBycmVwbGFjZXMgPSBiYi51
dGlscy5leHBsb2RlX2RlcF92ZXJzaW9uczIoc3JjcnJlcGxhY2VzIG9yICIiKQogICAgZm9yIGRl
cCBpbiBycmVwbGFjZXM6CiAgICAgICAgaWYgbm90IGRlcCBpbiByb2Jzb2xldGVzOgogICAgICAg
ICAgICByb2Jzb2xldGVzW2RlcF0gPSBycmVwbGFjZXNbZGVwXQogICAgICAgIGlmIG5vdCBkZXAg
aW4gcnByb3ZpZGVzOgogICAgICAgICAgICBycHJvdmlkZXNbZGVwXSA9IHJyZXBsYWNlc1tkZXBd
CiAgICBzcmNyb2Jzb2xldGVzID0gYmIudXRpbHMuam9pbl9kZXBzKHJvYnNvbGV0ZXMsIGNvbW1h
c2VwPUZhbHNlKQogICAgc3JjcnByb3ZpZGVzID0gYmIudXRpbHMuam9pbl9kZXBzKHJwcm92aWRl
cywgY29tbWFzZXA9RmFsc2UpCgogICAgcHJpbnRfZGVwcyhzcmNkZXBlbmRzLCAiQnVpbGRSZXF1
aXJlcyIsIHNwZWNfcHJlYW1ibGVfdG9wLCBkKQogICAgcHJpbnRfZGVwcyhzcmNyZGVwZW5kcywg
IlJlcXVpcmVzIiwgc3BlY19wcmVhbWJsZV90b3AsIGQpCiAgICBpZiBzcmNycHJlaW5zdDoKICAg
ICAgICBwcmludF9kZXBzKHNyY3JkZXBlbmRzLCAiUmVxdWlyZXMocHJlKSIsIHNwZWNfcHJlYW1i
bGVfdG9wLCBkKQogICAgaWYgc3JjcnBvc3RpbnN0OgogICAgICAgIHByaW50X2RlcHMoc3JjcmRl
cGVuZHMsICJSZXF1aXJlcyhwb3N0KSIsIHNwZWNfcHJlYW1ibGVfdG9wLCBkKQogICAgaWYgc3Jj
cnByZXJtOgogICAgICAgIHByaW50X2RlcHMoc3JjcmRlcGVuZHMsICJSZXF1aXJlcyhwcmV1biki
LCBzcGVjX3ByZWFtYmxlX3RvcCwgZCkKICAgIGlmIHNyY3Jwb3N0cm06CiAgICAgICAgcHJpbnRf
ZGVwcyhzcmNyZGVwZW5kcywgIlJlcXVpcmVzKHBvc3R1bikiLCBzcGVjX3ByZWFtYmxlX3RvcCwg
ZCkKCiAgICBwcmludF9kZXBzKHNyY3JyZWNvbW1lbmRzLCAiUmVjb21tZW5kcyIsIHNwZWNfcHJl
YW1ibGVfdG9wLCBkKQogICAgcHJpbnRfZGVwcyhzcmNyc3VnZ2VzdHMsICJTdWdnZXN0cyIsIHNw
ZWNfcHJlYW1ibGVfdG9wLCBkKQogICAgcHJpbnRfZGVwcyhzcmNycHJvdmlkZXMgKyAoIiAvYmlu
L3NoIiBpZiBzcmNuYW1lLnN0YXJ0c3dpdGgoIm5hdGl2ZXNkay0iKSBlbHNlICIiKSwgIlByb3Zp
ZGVzIiwgc3BlY19wcmVhbWJsZV90b3AsIGQpCiAgICBwcmludF9kZXBzKHNyY3JvYnNvbGV0ZXMs
ICJPYnNvbGV0ZXMiLCBzcGVjX3ByZWFtYmxlX3RvcCwgZCkKICAgIHByaW50X2RlcHMoc3JjcmNv
bmZsaWN0cywgIkNvbmZsaWN0cyIsIHNwZWNfcHJlYW1ibGVfdG9wLCBkKQoKICAgIHNwZWNfcHJl
YW1ibGVfdG9wLmFwcGVuZCgnJykKCiAgICBzcGVjX3ByZWFtYmxlX3RvcC5hcHBlbmQoJyVkZXNj
cmlwdGlvbicpCiAgICBhcHBlbmRfZGVzY3JpcHRpb24oc3BlY19wcmVhbWJsZV90b3AsIHNyY2Rl
c2NyaXB0aW9uKQoKICAgIHNwZWNfcHJlYW1ibGVfdG9wLmFwcGVuZCgnJykKCiAgICBpZiBzcmNy
cHJlaW5zdDoKICAgICAgICBzcGVjX3NjcmlwdGxldHNfdG9wLmFwcGVuZCgnJXByZScpCiAgICAg
ICAgc3BlY19zY3JpcHRsZXRzX3RvcC5hcHBlbmQoJyMgJXMgLSBwcmVpbnN0JyAlIHNyY25hbWUp
CiAgICAgICAgc3BlY19zY3JpcHRsZXRzX3RvcC5hcHBlbmQoc3JjcnByZWluc3QpCiAgICAgICAg
c3BlY19zY3JpcHRsZXRzX3RvcC5hcHBlbmQoJycpCiAgICBpZiBzcmNycG9zdGluc3Q6CiAgICAg
ICAgc3BlY19zY3JpcHRsZXRzX3RvcC5hcHBlbmQoJyVwb3N0JykKICAgICAgICBzcGVjX3Njcmlw
dGxldHNfdG9wLmFwcGVuZCgnIyAlcyAtIHBvc3RpbnN0JyAlIHNyY25hbWUpCiAgICAgICAgc3Bl
Y19zY3JpcHRsZXRzX3RvcC5hcHBlbmQoc3JjcnBvc3RpbnN0KQogICAgICAgIHNwZWNfc2NyaXB0
bGV0c190b3AuYXBwZW5kKCcnKQogICAgaWYgc3JjcnByZXJtOgogICAgICAgIHNwZWNfc2NyaXB0
bGV0c190b3AuYXBwZW5kKCclcHJldW4nKQogICAgICAgIHNwZWNfc2NyaXB0bGV0c190b3AuYXBw
ZW5kKCcjICVzIC0gcHJlcm0nICUgc3JjbmFtZSkKICAgICAgICBzY3JpcHR2YXIgPSB3cmFwX3Vu
aW5zdGFsbChzcmNycHJlcm0pCiAgICAgICAgc3BlY19zY3JpcHRsZXRzX3RvcC5hcHBlbmQoc2Ny
aXB0dmFyKQogICAgICAgIHNwZWNfc2NyaXB0bGV0c190b3AuYXBwZW5kKCcnKQogICAgaWYgc3Jj
cnBvc3RybToKICAgICAgICBzcGVjX3NjcmlwdGxldHNfdG9wLmFwcGVuZCgnJXBvc3R1bicpCiAg
ICAgICAgc3BlY19zY3JpcHRsZXRzX3RvcC5hcHBlbmQoJyMgJXMgLSBwb3N0cm0nICUgc3JjbmFt
ZSkKICAgICAgICBzY3JpcHR2YXIgPSB3cmFwX3VuaW5zdGFsbChzcmNycG9zdHJtKQogICAgICAg
IHNwZWNfc2NyaXB0bGV0c190b3AuYXBwZW5kKHNjcmlwdHZhcikKICAgICAgICBzcGVjX3Njcmlw
dGxldHNfdG9wLmFwcGVuZCgnJykKCiAgICAjIFdyaXRlIHRoZSBTUEVDIGZpbGUKICAgIHNwZWNm
aWxlID0gb3BlbihvdXRzcGVjZmlsZSwgJ3cnKQoKICAgICMgUlBNU1BFQ19QUkVBTUJMRSBpcyBh
IHdheSB0byBhZGQgYXJiaXRyYXJ5IHRleHQgdG8gdGhlIHRvcAogICAgIyBvZiB0aGUgZ2VuZXJh
dGVkIHNwZWMgZmlsZQogICAgZXh0ZXJuYWxfcHJlYW1ibGUgPSBkLmdldFZhcigiUlBNU1BFQ19Q
UkVBTUJMRSIpCiAgICBpZiBleHRlcm5hbF9wcmVhbWJsZToKICAgICAgICBzcGVjZmlsZS53cml0
ZShleHRlcm5hbF9wcmVhbWJsZSArICJcbiIpCgogICAgZm9yIGxpbmUgaW4gc3BlY19wcmVhbWJs
ZV90b3A6CiAgICAgICAgc3BlY2ZpbGUud3JpdGUobGluZSArICJcbiIpCgogICAgZm9yIGxpbmUg
aW4gc3BlY19wcmVhbWJsZV9ib3R0b206CiAgICAgICAgc3BlY2ZpbGUud3JpdGUobGluZSArICJc
biIpCgogICAgZm9yIGxpbmUgaW4gc3BlY19zY3JpcHRsZXRzX3RvcDoKICAgICAgICBzcGVjZmls
ZS53cml0ZShsaW5lICsgIlxuIikKCiAgICBmb3IgbGluZSBpbiBzcGVjX3NjcmlwdGxldHNfYm90
dG9tOgogICAgICAgIHNwZWNmaWxlLndyaXRlKGxpbmUgKyAiXG4iKQoKICAgIGZvciBsaW5lIGlu
IHNwZWNfZmlsZXNfdG9wOgogICAgICAgIHNwZWNmaWxlLndyaXRlKGxpbmUgKyAiXG4iKQoKICAg
IGZvciBsaW5lIGluIHNwZWNfZmlsZXNfYm90dG9tOgogICAgICAgIHNwZWNmaWxlLndyaXRlKGxp
bmUgKyAiXG4iKQoKICAgIHNwZWNmaWxlLmNsb3NlKCkKfQoKCnB5dGhvbiB3cml0ZV90YXNrX2Rh
dGEgKCkgewpkZWYgd3JpdGVfdGFza19kYXRhKHN0YXR1cywgbG9nZmlsZSwgZSwgZCk6CiAgICBi
biA9IGQuZ2V0VmFyKCdCVUlMRE5BTUUnKQogICAgYnNkaXIgPSBvcy5wYXRoLmpvaW4oZC5nZXRW
YXIoJ0JVSUxEU1RBVFNfQkFTRScpLCBibikKICAgIHdpdGggb3Blbihvcy5wYXRoLmpvaW4obG9n
ZmlsZSksICJhIikgYXMgZjoKICAgICAgICBlbGFwc2VkdGltZSA9IGdldF90aW1lZGF0YSgiX190
aW1lZGF0YV90YXNrIiwgZCwgZS50aW1lKQogICAgICAgIGlmIGVsYXBzZWR0aW1lOgogICAgICAg
ICAgICBmLndyaXRlKGQuZXhwYW5kKCIke1BGfTogJXNcbiIgJSBlLnRhc2spKQogICAgICAgICAg
ICBmLndyaXRlKGQuZXhwYW5kKCJFbGFwc2VkIHRpbWU6ICUwLjJmIHNlY29uZHNcbiIgJSBlbGFw
c2VkdGltZSkpCiAgICAgICAgICAgIGNwdSwgaW9zdGF0cywgcmVzb3VyY2VzLCBjaGlsZHJlcyA9
IGdldF9wcm9jZXNzX2NwdXRpbWUob3MuZ2V0cGlkKCkpCiAgICAgICAgICAgIGlmIGNwdToKICAg
ICAgICAgICAgICAgIGYud3JpdGUoInV0aW1lOiAlc1xuIiAlIGNwdVsndXRpbWUnXSkKICAgICAg
ICAgICAgICAgIGYud3JpdGUoInN0aW1lOiAlc1xuIiAlIGNwdVsnc3RpbWUnXSkKICAgICAgICAg
ICAgICAgIGYud3JpdGUoImN1dGltZTogJXNcbiIgJSBjcHVbJ2N1dGltZSddKQogICAgICAgICAg
ICAgICAgZi53cml0ZSgiY3N0aW1lOiAlc1xuIiAlIGNwdVsnY3N0aW1lJ10pCiAgICAgICAgICAg
IGZvciBpIGluIGlvc3RhdHM6CiAgICAgICAgICAgICAgICBmLndyaXRlKCJJTyAlczogJXNcbiIg
JSAoaSwgaW9zdGF0c1tpXSkpCiAgICAgICAgICAgIHJ1c2FnZXMgPSBbInJ1X3V0aW1lIiwgInJ1
X3N0aW1lIiwgInJ1X21heHJzcyIsICJydV9taW5mbHQiLCAicnVfbWFqZmx0IiwgInJ1X2luYmxv
Y2siLCAicnVfb3VibG9jayIsICJydV9udmNzdyIsICJydV9uaXZjc3ciXQogICAgICAgICAgICBm
b3IgaSBpbiBydXNhZ2VzOgogICAgICAgICAgICAgICAgZi53cml0ZSgicnVzYWdlICVzOiAlc1xu
IiAlIChpLCBnZXRhdHRyKHJlc291cmNlcywgaSkpKQogICAgICAgICAgICBmb3IgaSBpbiBydXNh
Z2VzOgogICAgICAgICAgICAgICAgZi53cml0ZSgiQ2hpbGQgcnVzYWdlICVzOiAlc1xuIiAlIChp
LCBnZXRhdHRyKGNoaWxkcmVzLCBpKSkpCiAgICAgICAgaWYgc3RhdHVzIGlzICJwYXNzZWQiOgog
ICAgICAgICAgICBmLndyaXRlKCJTdGF0dXM6IFBBU1NFRCBcbiIpCiAgICAgICAgZWxzZToKICAg
ICAgICAgICAgZi53cml0ZSgiU3RhdHVzOiBGQUlMRUQgXG4iKQogICAgICAgIGYud3JpdGUoIkVu
ZGVkOiAlMC4yZiBcbiIgJSBlLnRpbWUpCn0KCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>