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

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>103180</bug_id>
          
          <creation_ts>2012-11-24 10:07:16 -0800</creation_ts>
          <short_desc>Remove use of deprecated logging from most of webkitpy.tool</short_desc>
          <delta_ts>2012-11-26 11:32:45 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Zan Dobersek">zan</reporter>
          <assigned_to name="Zan Dobersek">zan</assigned_to>
          <cc>abarth</cc>
    
    <cc>dpranke</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>774854</commentid>
    <comment_count>0</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2012-11-24 10:07:16 -0800</bug_when>
    <thetext>Remove use of deprecated logging from most of webkitpy.tool</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>774856</commentid>
    <comment_count>1</comment_count>
      <attachid>175860</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2012-11-24 10:26:23 -0800</bug_when>
    <thetext>Created attachment 175860
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>774858</commentid>
    <comment_count>2</comment_count>
      <attachid>175860</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2012-11-24 10:35:49 -0800</bug_when>
    <thetext>Comment on attachment 175860
Patch

I haven&apos;t really discussed this with anyone yet, but since logging through stderr is labeled as deprecated I think there&apos;s a tendency to have it removed.

The patch replaces such logging with the use of Logger instances. Replacements for the error method calls also include calls to sys.exit(1) to keep the deprecated behavior. This should probably be improved.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>775695</commentid>
    <comment_count>3</comment_count>
      <attachid>175860</attachid>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-11-26 11:14:53 -0800</bug_when>
    <thetext>Comment on attachment 175860
Patch

Nice cleanup!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>775711</commentid>
    <comment_count>4</comment_count>
      <attachid>175860</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-26 11:32:41 -0800</bug_when>
    <thetext>Comment on attachment 175860
Patch

Clearing flags on attachment: 175860

Committed r135744: &lt;http://trac.webkit.org/changeset/135744&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>775712</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-26 11:32:45 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>175860</attachid>
            <date>2012-11-24 10:26:23 -0800</date>
            <delta_ts>2012-11-26 11:32:41 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-103180-20121124192404.patch</filename>
            <type>text/plain</type>
            <size>147387</size>
            <attacher name="Zan Dobersek">zan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM1NjUzCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggODgwM2E2ZjQ3YTM3YjFiZTk2YWQ1ZjAzZTQ1MjNkZGEx
NGJmMjI4OC4uZGMxZmNjNTViYWM4OGE0ZTgxYTMyNDVkZDA2YWYwYTQ0NjYyMjc5NiAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDE4
NiBAQAogMjAxMi0xMS0yNCAgWmFuIERvYmVyc2VrICA8emFuZG9iZXJzZWtAZ21haWwuY29tPgog
CisgICAgICAgIFJlbW92ZSB1c2Ugb2YgZGVwcmVjYXRlZCBsb2dnaW5nIGZyb20gbW9zdCBvZiB3
ZWJraXRweS50b29sCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xMDMxODAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBSZW1vdmUgY2FsbHMgdG8gbG9nIGFuZCBlcnJvciBtZXRob2RzIG9mIHRoZSBkZXByZWNh
dGVkX2xvZ2dpbmcgbW9kdWxlLCByZXBsYWNpbmcgdGhlbQorICAgICAgICBieSB1c2luZyBQeXRo
b24ncyBMb2dnZXIgb2JqZWN0cy4gVGhpcyBwYXRjaCBjb3ZlcnMgdGhlIHN3aXRjaCBpbiBhbGwg
b2Ygd2Via2l0cHkudG9vbAorICAgICAgICBleGNlcHQgdGhlIFF1ZXVlRW5naW5lLgorCisgICAg
ICAgIFVuaXQgdGVzdHMgYXJlIGFkanVzdGVkIGZvciB0aGVzZSBjaGFuZ2VzLCBtb3Zpbmcgb3V0
cHV0IGZyb20gZXhwZWN0ZWQgc3RkZXJyIHRvIGV4cGVjdGVkIGxvZ3MuCisKKyAgICAgICAgKiBT
Y3JpcHRzL3dlYmtpdHB5L3Rvb2wvYm90L2NvbW1pdHF1ZXVldGFza191bml0dGVzdC5weToKKyAg
ICAgICAgKE1vY2tDb21taXRRdWV1ZS5ydW5fY29tbWFuZCk6CisgICAgICAgIChNb2NrQ29tbWl0
UXVldWUuY29tbWFuZF9wYXNzZWQpOgorICAgICAgICAoTW9ja0NvbW1pdFF1ZXVlLmNvbW1hbmRf
ZmFpbGVkKToKKyAgICAgICAgKE1vY2tDb21taXRRdWV1ZS5yZXBvcnRfZmxha3lfdGVzdHMpOgor
ICAgICAgICAoTW9ja0NvbW1pdFF1ZXVlLmFyY2hpdmVfbGFzdF90ZXN0X3Jlc3VsdHMpOgorICAg
ICAgICAoQ29tbWl0UXVldWVUYXNrVGVzdC5fcnVuX3Rocm91Z2hfdGFzayk6CisgICAgICAgIChD
b21taXRRdWV1ZVRhc2tUZXN0LnRlc3Rfc3VjY2Vzc19jYXNlKToKKyAgICAgICAgKHRlc3RfZmFz
dF9zdWNjZXNzX2Nhc2UpOgorICAgICAgICAodGVzdF9jbGVhbl9mYWlsdXJlKToKKyAgICAgICAg
KHRlc3RfdXBkYXRlX2ZhaWx1cmUpOgorICAgICAgICAodGVzdF9hcHBseV9mYWlsdXJlKToKKyAg
ICAgICAgKHRlc3RfdmFsaWRhdGVfY2hhbmdlbG9nX2ZhaWx1cmUpOgorICAgICAgICAodGVzdF9i
dWlsZF9mYWlsdXJlKToKKyAgICAgICAgKHRlc3RfcmVkX2J1aWxkX2ZhaWx1cmUpOgorICAgICAg
ICAodGVzdF9mbGFreV90ZXN0X2ZhaWx1cmUpOgorICAgICAgICAodGVzdF9mYWlsZWRfYXJjaGl2
ZSk6CisgICAgICAgICh0ZXN0X2RvdWJsZV9mbGFreV90ZXN0X2ZhaWx1cmUpOgorICAgICAgICAo
dGVzdF90ZXN0X2ZhaWx1cmUpOgorICAgICAgICAodGVzdF9yZWRfdGVzdF9mYWlsdXJlKToKKyAg
ICAgICAgKHRlc3RfdmVyeV9yZWRfdHJlZV9yZXRyeSk6CisgICAgICAgICh0ZXN0X3JlZF90cmVl
X3BhdGNoX3JlamVjdGlvbik6CisgICAgICAgICh0ZXN0X2xhbmRfZmFpbHVyZSk6CisgICAgICAg
ICogU2NyaXB0cy93ZWJraXRweS90b29sL2JvdC9mZWVkZXJzLnB5OgorICAgICAgICAoQ29tbWl0
UXVldWVGZWVkZXIuX3VwZGF0ZV93b3JrX2l0ZW1zKToKKyAgICAgICAgKEVXU0ZlZWRlci5mZWVk
KToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3Rvb2wvYm90L2ZlZWRlcnNfdW5pdHRlc3Qu
cHk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS90b29sL2JvdC9sYXlvdXR0ZXN0cmVzdWx0
c3JlYWRlci5weToKKyAgICAgICAgKExheW91dFRlc3RSZXN1bHRzUmVhZGVyLmFyY2hpdmUpOgor
ICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvdG9vbC9ib3QvbGF5b3V0dGVzdHJlc3VsdHNyZWFk
ZXJfdW5pdHRlc3QucHk6CisgICAgICAgICh0ZXN0X2FyY2hpdmVfbGFzdF9sYXlvdXRfdGVzdF9y
ZXN1bHRzKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3Rvb2wvYm90L3NoZXJpZmYucHk6
CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS90b29sL2NvbW1hbmRzL2Fic3RyYWN0c2VxdWVu
Y2VkY29tbWFuZC5weToKKyAgICAgICAgKEFic3RyYWN0U2VxdWVuY2VkQ29tbWFuZC5leGVjdXRl
KToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3Rvb2wvY29tbWFuZHMvY29tbWFuZHRlc3Qu
cHk6CisgICAgICAgIChDb21tYW5kc1Rlc3QuYXNzZXJ0X2V4ZWN1dGVfb3V0cHV0cyk6CisgICAg
ICAgICogU2NyaXB0cy93ZWJraXRweS90b29sL2NvbW1hbmRzL2Rvd25sb2FkLnB5OgorICAgICAg
ICAoQWJzdHJhY3RQYXRjaFByb2Nlc3NpbmdDb21tYW5kLl9wcm9jZXNzX3BhdGNoLmV4ZWN1dGUp
OgorICAgICAgICAoUHJvY2Vzc0J1Z3NNaXhpbi5fZmV0Y2hfbGlzdF9vZl9wYXRjaGVzX3RvX3By
b2Nlc3MpOgorICAgICAgICAoUHJvY2Vzc1VSTHNNaXhpbi5fZmV0Y2hfbGlzdF9vZl9wYXRjaGVz
X3RvX3Byb2Nlc3MpOgorICAgICAgICAoQWJzdHJhY3RSb2xsb3V0UHJlcENvbW1hbmQuX2NvbW1p
dF9pbmZvKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3Rvb2wvY29tbWFuZHMvZG93bmxv
YWRfdW5pdHRlc3QucHk6CisgICAgICAgIChBYnN0cmFjdFJvbGxvdXRQcmVwQ29tbWFuZFRlc3Qu
dGVzdF9jb21taXRfaW5mbyk6CisgICAgICAgIChEb3dubG9hZENvbW1hbmRzVGVzdC50ZXN0X2J1
aWxkKToKKyAgICAgICAgKERvd25sb2FkQ29tbWFuZHNUZXN0LnRlc3RfYnVpbGRfYW5kX3Rlc3Qp
OgorICAgICAgICAodGVzdF9hcHBseV9hdHRhY2htZW50KToKKyAgICAgICAgKHRlc3RfYXBwbHlf
ZnJvbV9idWcpOgorICAgICAgICAodGVzdF9hcHBseV93YXRjaF9saXN0KToKKyAgICAgICAgKHRl
c3RfbGFuZCk6CisgICAgICAgICh0ZXN0X2xhbmRfcmVkX2J1aWxkZXJzKToKKyAgICAgICAgKHRl
c3RfY2hlY2tfc3R5bGUpOgorICAgICAgICAodGVzdF9idWlsZF9hdHRhY2htZW50KToKKyAgICAg
ICAgKHRlc3RfbGFuZF9hdHRhY2htZW50KToKKyAgICAgICAgKHRlc3RfbGFuZF9mcm9tX2J1Zyk6
CisgICAgICAgICh0ZXN0X2xhbmRfZnJvbV91cmwpOgorICAgICAgICAodGVzdF9wcmVwYXJlX3Jv
bGxvdXQpOgorICAgICAgICAodGVzdF9jcmVhdGVfcm9sbG91dCk6CisgICAgICAgICh0ZXN0X2Ny
ZWF0ZV9yb2xsb3V0X3Jlc29sdmVkKToKKyAgICAgICAgKHRlc3Rfcm9sbG91dCk6CisgICAgICAg
ICogU2NyaXB0cy93ZWJraXRweS90b29sL2NvbW1hbmRzL2Vhcmx5d2FybmluZ3N5c3RlbS5weToK
KyAgICAgICAgKEFic3RyYWN0RWFybHlXYXJuaW5nU3lzdGVtLmhhbmRsZV9zY3JpcHRfZXJyb3Iu
ZG9lcyk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS90b29sL2NvbW1hbmRzL2Vhcmx5d2Fy
bmluZ3N5c3RlbV91bml0dGVzdC5weToKKyAgICAgICAgKEVhcmx5V2FybmluZ1N5dGVtVGVzdC5f
ZGVmYXVsdF9leHBlY3RlZF9zdGRlcnIpOgorICAgICAgICAoRWFybHlXYXJuaW5nU3l0ZW1UZXN0
Ll9kZWZhdWx0X2V4cGVjdGVkX2xvZ3MpOgorICAgICAgICAoRWFybHlXYXJuaW5nU3l0ZW1UZXN0
Ll90ZXN0X3Rlc3RpbmdfZXdzKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3Rvb2wvY29t
bWFuZHMvb3BlbmJ1Z3MucHk6CisgICAgICAgIChPcGVuQnVncy5leGVjdXRlKToKKyAgICAgICAg
KiBTY3JpcHRzL3dlYmtpdHB5L3Rvb2wvY29tbWFuZHMvb3BlbmJ1Z3NfdW5pdHRlc3QucHk6Cisg
ICAgICAgIChPcGVuQnVnc1Rlc3QudGVzdF9hcmdzX3BhcnNpbmcpOgorICAgICAgICAqIFNjcmlw
dHMvd2Via2l0cHkvdG9vbC9jb21tYW5kcy9wZXJmYWxpemVyLnB5OgorICAgICAgICAoUGVyZmFs
aXplci5oYW5kbGVfdW5leHBlY3RlZF9lcnJvcik6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRw
eS90b29sL2NvbW1hbmRzL3F1ZXJpZXMucHk6CisgICAgICAgIChQYXRjaGVzSW5Db21taXRRdWV1
ZS5leGVjdXRlKToKKyAgICAgICAgKFBhdGNoZXNUb0NvbW1pdFF1ZXVlLl9uZWVkc19jb21taXRf
cXVldWUpOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvdG9vbC9jb21tYW5kcy9xdWVyaWVz
X3VuaXR0ZXN0LnB5OgorICAgICAgICAoUXVlcnlDb21tYW5kc1Rlc3QudGVzdF9idWdzX3RvX2Nv
bW1pdCk6CisgICAgICAgIChRdWVyeUNvbW1hbmRzVGVzdC50ZXN0X3BhdGNoZXNfaW5fY29tbWl0
X3F1ZXVlKToKKyAgICAgICAgKFF1ZXJ5Q29tbWFuZHNUZXN0LnRlc3RfcGF0Y2hlc190b19jb21t
aXRfcXVldWUpOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvdG9vbC9jb21tYW5kcy9xdWV1
ZXMucHk6CisgICAgICAgIChBYnN0cmFjdFF1ZXVlLl9jY193YXRjaGVycyk6CisgICAgICAgIChB
YnN0cmFjdFF1ZXVlLmJlZ2luX3dvcmtfcXVldWUpOgorICAgICAgICAoRmVlZGVyUXVldWUuaGFu
ZGxlX3VuZXhwZWN0ZWRfZXJyb3IpOgorICAgICAgICAoQ29tbWl0UXVldWUuaGFuZGxlX3Njcmlw
dF9lcnJvcik6CisgICAgICAgIChBYnN0cmFjdFJldmlld1F1ZXVlLmhhbmRsZV91bmV4cGVjdGVk
X2Vycm9yKToKKyAgICAgICAgKEFic3RyYWN0UmV2aWV3UXVldWUuaGFuZGxlX3NjcmlwdF9lcnJv
cik6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS90b29sL2NvbW1hbmRzL3F1ZXVlc191bml0
dGVzdC5weToKKyAgICAgICAgKHRlc3RfYXV0b19yZXRyeSk6CisgICAgICAgICogU2NyaXB0cy93
ZWJraXRweS90b29sL2NvbW1hbmRzL3F1ZXVlc3Rlc3QucHk6CisgICAgICAgIChRdWV1ZXNUZXN0
LmFzc2VydF9vdXRwdXRzKToKKyAgICAgICAgKFF1ZXVlc1Rlc3QuX2RlZmF1bHRfYmVnaW5fd29y
a19xdWV1ZV9zdGRlcnIpOgorICAgICAgICAoUXVldWVzVGVzdCk6CisgICAgICAgIChRdWV1ZXNU
ZXN0Ll9kZWZhdWx0X2JlZ2luX3dvcmtfcXVldWVfbG9ncyk6CisgICAgICAgIChRdWV1ZXNUZXN0
LmFzc2VydF9xdWV1ZV9vdXRwdXRzKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3Rvb2wv
Y29tbWFuZHMvcm9sbF91bml0dGVzdC5weToKKyAgICAgICAgKFJvbGxDb21tYW5kc1Rlc3QudGVz
dF91cGRhdGVfY2hyb21pdW1fZGVwcyk6CisgICAgICAgICh0ZXN0X3VwZGF0ZV9jaHJvbWl1bV9k
ZXBzX29sZGVyX3JldmlzaW9uKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3Rvb2wvY29t
bWFuZHMvc2hlcmlmZmJvdC5weToKKyAgICAgICAgKFNoZXJpZmZCb3QuaGFuZGxlX3VuZXhwZWN0
ZWRfZXJyb3IpOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvdG9vbC9jb21tYW5kcy9zdGVw
c2VxdWVuY2UucHk6CisgICAgICAgIChTdGVwU2VxdWVuY2UucnVuX2FuZF9oYW5kbGVfZXJyb3Jz
KToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3Rvb2wvY29tbWFuZHMvdXBsb2FkLnB5Ogor
ICAgICAgICAoQXNzaWduVG9Db21taXR0ZXIuX2Fzc2lnbl9idWdfdG9fbGFzdF9wYXRjaF9hdHRh
Y2hlcik6CisgICAgICAgIChBYnN0cmFjdFBhdGNoVXBsb2FkaW5nQ29tbWFuZC5fcHJlcGFyZV9z
dGF0ZSk6CisgICAgICAgIChQb3N0Q29tbWl0cy5leGVjdXRlKToKKyAgICAgICAgKE1hcmtCdWdG
aXhlZC5fZGV0ZXJtaW5lX2J1Z19pZF9hbmRfc3ZuX3JldmlzaW9uKToKKyAgICAgICAgKE1hcmtC
dWdGaXhlZC5leGVjdXRlKToKKyAgICAgICAgKENyZWF0ZUJ1Zy5jcmVhdGVfYnVnX2Zyb21fY29t
bWl0KToKKyAgICAgICAgKENyZWF0ZUJ1Zy5leGVjdXRlKToKKyAgICAgICAgKiBTY3JpcHRzL3dl
YmtpdHB5L3Rvb2wvY29tbWFuZHMvdXBsb2FkX3VuaXR0ZXN0LnB5OgorICAgICAgICAodGVzdF9v
YnNvbGV0ZV9hdHRhY2htZW50cyk6CisgICAgICAgICh0ZXN0X2xhbmRfc2FmZWx5KToKKyAgICAg
ICAgKHRlc3RfbWFya19idWdfZml4ZWQpOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvdG9v
bC9tdWx0aWNvbW1hbmR0b29sLnB5OgorICAgICAgICAoQ29tbWFuZC5jaGVja19hcmd1bWVudHNf
YW5kX2V4ZWN1dGUpOgorICAgICAgICAoTXVsdGlDb21tYW5kVG9vbC5tYWluKToKKyAgICAgICAg
KiBTY3JpcHRzL3dlYmtpdHB5L3Rvb2wvbXVsdGljb21tYW5kdG9vbF91bml0dGVzdC5weToKKyAg
ICAgICAgKENvbW1hbmRUZXN0LnRlc3RfcmVxdWlyZWRfYXJndW1lbnRzKToKKyAgICAgICAgKiBT
Y3JpcHRzL3dlYmtpdHB5L3Rvb2wvc3RlcHMvYWRkc3ZubWltZXR5cGVmb3JwbmcucHk6CisgICAg
ICAgIChBZGRTdm5NaW1ldHlwZUZvclBuZy5ydW4pOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0
cHkvdG9vbC9zdGVwcy9hcHBseXBhdGNoLnB5OgorICAgICAgICAoQXBwbHlQYXRjaC5ydW4pOgor
ICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvdG9vbC9zdGVwcy9idWlsZC5weToKKyAgICAgICAg
KEJ1aWxkLnJ1bik6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS90b29sL3N0ZXBzL2NoZWNr
c3R5bGUucHk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS90b29sL3N0ZXBzL2Nsb3NlYnVn
LnB5OgorICAgICAgICAoQ2xvc2VCdWcucnVuKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5
L3Rvb2wvc3RlcHMvY2xvc2VidWdmb3JsYW5kZGlmZi5weToKKyAgICAgICAgKENsb3NlQnVnRm9y
TGFuZERpZmYucnVuKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3Rvb2wvc3RlcHMvY2xv
c2VidWdmb3JsYW5kZGlmZl91bml0dGVzdC5weToKKyAgICAgICAgKENsb3NlQnVnRm9yTGFuZERp
ZmZUZXN0LnRlc3RfZW1wdHlfc3RhdGUpOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvdG9v
bC9zdGVwcy9jb21taXQucHk6CisgICAgICAgIChDb21taXQucnVuKToKKyAgICAgICAgKiBTY3Jp
cHRzL3dlYmtpdHB5L3Rvb2wvc3RlcHMvY29tbWl0X3VuaXR0ZXN0LnB5OgorICAgICAgICAoQ29t
bWl0VGVzdC5fdGVzdF9jaGVja190ZXN0X2V4cGVjdGF0aW9ucyk6CisgICAgICAgICogU2NyaXB0
cy93ZWJraXRweS90b29sL3N0ZXBzL2Vuc3VyZWxvY2FsY29tbWl0aWZuZWVkZWQucHk6CisgICAg
ICAgIChFbnN1cmVMb2NhbENvbW1pdElmTmVlZGVkLnJ1bik6CisgICAgICAgICogU2NyaXB0cy93
ZWJraXRweS90b29sL3N0ZXBzL29ic29sZXRlcGF0Y2hlcy5weToKKyAgICAgICAgKE9ic29sZXRl
UGF0Y2hlcy5ydW4pOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvdG9vbC9zdGVwcy9wcmVw
YXJlY2hhbmdlbG9nLnB5OgorICAgICAgICAoUHJlcGFyZUNoYW5nZUxvZy5ydW4pOgorICAgICAg
ICAqIFNjcmlwdHMvd2Via2l0cHkvdG9vbC9zdGVwcy9yZW9wZW5idWdhZnRlcnJvbGxvdXQucHk6
CisgICAgICAgIChSZW9wZW5CdWdBZnRlclJvbGxvdXQucnVuKToKKyAgICAgICAgKiBTY3JpcHRz
L3dlYmtpdHB5L3Rvb2wvc3RlcHMvcnVudGVzdHMucHk6CisgICAgICAgIChSdW5UZXN0cy5ydW4p
OgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvdG9vbC9zdGVwcy9ydW50ZXN0c191bml0dGVz
dC5weToKKyAgICAgICAgKFJ1blRlc3RzVGVzdC50ZXN0X3dlYmtpdF9ydW5fdW5pdF90ZXN0cyk6
CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS90b29sL3N0ZXBzL3N0ZXBzX3VuaXR0ZXN0LnB5
OgorICAgICAgICAoU3RlcHNUZXN0LnRlc3RfdXBkYXRlX3N0ZXApOgorICAgICAgICAoU3RlcHNU
ZXN0LnRlc3RfcnVudGVzdHNfYXJncyk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS90b29s
L3N0ZXBzL3VwZGF0ZS5weToKKyAgICAgICAgKFVwZGF0ZS5ydW4pOgorICAgICAgICAqIFNjcmlw
dHMvd2Via2l0cHkvdG9vbC9zdGVwcy91cGRhdGVjaGFuZ2Vsb2dzd2l0aHJldmlld191bml0dGVz
dC5weToKKyAgICAgICAgKFVwZGF0ZUNoYW5nZUxvZ3NXaXRoUmV2aWV3ZXJUZXN0LnRlc3RfZ3Vl
c3NfcmV2aWV3ZXJfZnJvbV9idWcpOgorICAgICAgICAoVXBkYXRlQ2hhbmdlTG9nc1dpdGhSZXZp
ZXdlclRlc3QudGVzdF9ndWVzc19yZXZpZXdlcl9mcm9tX211bHRpcGF0Y2hfYnVnKToKKyAgICAg
ICAgKiBTY3JpcHRzL3dlYmtpdHB5L3Rvb2wvc3RlcHMvdXBkYXRlY2hhbmdlbG9nc3dpdGhyZXZp
ZXdlci5weToKKyAgICAgICAgKFVwZGF0ZUNoYW5nZUxvZ3NXaXRoUmV2aWV3ZXIuX2d1ZXNzX3Jl
dmlld2VyX2Zyb21fYnVnKToKKyAgICAgICAgKFVwZGF0ZUNoYW5nZUxvZ3NXaXRoUmV2aWV3ZXIu
cnVuKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3Rvb2wvc3RlcHMvdXBkYXRlY2hyb21p
dW1kZXBzLnB5OgorICAgICAgICAoVXBkYXRlQ2hyb21pdW1ERVBTLl92YWxpZGF0ZV9yZXZpc2lv
bnMpOgorICAgICAgICAoVXBkYXRlQ2hyb21pdW1ERVBTLnJ1bik6CisgICAgICAgICogU2NyaXB0
cy93ZWJraXRweS90b29sL3N0ZXBzL3ZhbGlkYXRlY2hhbmdlbG9ncy5weToKKyAgICAgICAgKFZh
bGlkYXRlQ2hhbmdlTG9ncy5fY2hlY2tfY2hhbmdlbG9nX2RpZmYpOgorICAgICAgICAoVmFsaWRh
dGVDaGFuZ2VMb2dzLnJ1bik6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS90b29sL3N0ZXBz
L3ZhbGlkYXRlY2hhbmdlbG9nc191bml0dGVzdC5weToKKyAgICAgICAgKFZhbGlkYXRlQ2hhbmdl
TG9nc1Rlc3QuX2Fzc2VydF9zdGFydF9saW5lX3Byb2R1Y2VzX291dHB1dCk6CisgICAgICAgICog
U2NyaXB0cy93ZWJraXRweS90b29sL3N0ZXBzL3ZhbGlkYXRlcmV2aWV3ZXIucHk6CisgICAgICAg
IChWYWxpZGF0ZVJldmlld2VyLnJ1bik6CisKKzIwMTItMTEtMjQgIFphbiBEb2JlcnNlayAgPHph
bmRvYmVyc2VrQGdtYWlsLmNvbT4KKwogICAgICAgICBBZGQgdGhlIC0tb3JkZXIgb3B0aW9uIHRv
IE5SV1QKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEw
MjIyOQogCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvYm90L2NvbW1p
dHF1ZXVldGFza191bml0dGVzdC5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9ib3Qv
Y29tbWl0cXVldWV0YXNrX3VuaXR0ZXN0LnB5CmluZGV4IDI5NThjNmNjMTIxY2RiMTU5MmNjZTk0
Y2E2YmNlMDAxN2UzYjJmYzAuLjIyMTFiMWRlMDIyNGE5MDhhMTQyNjQyOWFlNTE3OGVkNGFlNDQx
OTMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9ib3QvY29tbWl0cXVl
dWV0YXNrX3VuaXR0ZXN0LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9ib3Qv
Y29tbWl0cXVldWV0YXNrX3VuaXR0ZXN0LnB5CkBAIC0yNywxMSArMjcsMTEgQEAKICMgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KIAogZnJvbSBkYXRldGltZSBpbXBvcnQgZGF0ZXRpbWUKK2ltcG9ydCBsb2dnaW5nCiBp
bXBvcnQgdW5pdHRlc3QKIAogZnJvbSB3ZWJraXRweS5jb21tb24ubmV0IGltcG9ydCBidWd6aWxs
YQogZnJvbSB3ZWJraXRweS5jb21tb24ubmV0LmxheW91dHRlc3RyZXN1bHRzIGltcG9ydCBMYXlv
dXRUZXN0UmVzdWx0cwotZnJvbSB3ZWJraXRweS5jb21tb24uc3lzdGVtLmRlcHJlY2F0ZWRfbG9n
Z2luZyBpbXBvcnQgZXJyb3IsIGxvZwogZnJvbSB3ZWJraXRweS5jb21tb24uc3lzdGVtLmV4ZWN1
dGl2ZSBpbXBvcnQgU2NyaXB0RXJyb3IKIGZyb20gd2Via2l0cHkuY29tbW9uLnN5c3RlbS5vdXRw
dXRjYXB0dXJlIGltcG9ydCBPdXRwdXRDYXB0dXJlCiBmcm9tIHdlYmtpdHB5LmxheW91dF90ZXN0
cy5tb2RlbHMgaW1wb3J0IHRlc3RfcmVzdWx0cwpAQCAtNDEsNiArNDEsOCBAQCBmcm9tIHdlYmtp
dHB5LnRvb2wuYm90LmNvbW1pdHF1ZXVldGFzayBpbXBvcnQgKgogZnJvbSB3ZWJraXRweS50b29s
LmJvdC5leHBlY3RlZGZhaWx1cmVzIGltcG9ydCBFeHBlY3RlZEZhaWx1cmVzCiBmcm9tIHdlYmtp
dHB5LnRvb2wubW9ja3Rvb2wgaW1wb3J0IE1vY2tUb29sCiAKK19sb2cgPSBsb2dnaW5nLmdldExv
Z2dlcihfX25hbWVfXykKKwogCiBjbGFzcyBNb2NrQ29tbWl0UXVldWUoQ29tbWl0UXVldWVUYXNr
RGVsZWdhdGUpOgogICAgIGRlZiBfX2luaXRfXyhzZWxmLCBlcnJvcl9wbGFuKToKQEAgLTQ4LDE4
ICs1MCwxOCBAQCBjbGFzcyBNb2NrQ29tbWl0UXVldWUoQ29tbWl0UXVldWVUYXNrRGVsZWdhdGUp
OgogICAgICAgICBzZWxmLl9mYWlsdXJlX3N0YXR1c19pZCA9IDAKIAogICAgIGRlZiBydW5fY29t
bWFuZChzZWxmLCBjb21tYW5kKToKLSAgICAgICAgbG9nKCJydW5fd2Via2l0X3BhdGNoOiAlcyIg
JSBjb21tYW5kKQorICAgICAgICBfbG9nLmluZm8oInJ1bl93ZWJraXRfcGF0Y2g6ICVzIiAlIGNv
bW1hbmQpCiAgICAgICAgIGlmIHNlbGYuX2Vycm9yX3BsYW46CiAgICAgICAgICAgICBlcnJvciA9
IHNlbGYuX2Vycm9yX3BsYW4ucG9wKDApCiAgICAgICAgICAgICBpZiBlcnJvcjoKICAgICAgICAg
ICAgICAgICByYWlzZSBlcnJvcgogCiAgICAgZGVmIGNvbW1hbmRfcGFzc2VkKHNlbGYsIHN1Y2Nl
c3NfbWVzc2FnZSwgcGF0Y2gpOgotICAgICAgICBsb2coImNvbW1hbmRfcGFzc2VkOiBzdWNjZXNz
X21lc3NhZ2U9JyVzJyBwYXRjaD0nJXMnIiAlICgKKyAgICAgICAgX2xvZy5pbmZvKCJjb21tYW5k
X3Bhc3NlZDogc3VjY2Vzc19tZXNzYWdlPSclcycgcGF0Y2g9JyVzJyIgJSAoCiAgICAgICAgICAg
ICBzdWNjZXNzX21lc3NhZ2UsIHBhdGNoLmlkKCkpKQogCiAgICAgZGVmIGNvbW1hbmRfZmFpbGVk
KHNlbGYsIGZhaWx1cmVfbWVzc2FnZSwgc2NyaXB0X2Vycm9yLCBwYXRjaCk6Ci0gICAgICAgIGxv
ZygiY29tbWFuZF9mYWlsZWQ6IGZhaWx1cmVfbWVzc2FnZT0nJXMnIHNjcmlwdF9lcnJvcj0nJXMn
IHBhdGNoPSclcyciICUgKAorICAgICAgICBfbG9nLmluZm8oImNvbW1hbmRfZmFpbGVkOiBmYWls
dXJlX21lc3NhZ2U9JyVzJyBzY3JpcHRfZXJyb3I9JyVzJyBwYXRjaD0nJXMnIiAlICgKICAgICAg
ICAgICAgIGZhaWx1cmVfbWVzc2FnZSwgc2NyaXB0X2Vycm9yLCBwYXRjaC5pZCgpKSkKICAgICAg
ICAgc2VsZi5fZmFpbHVyZV9zdGF0dXNfaWQgKz0gMQogICAgICAgICByZXR1cm4gc2VsZi5fZmFp
bHVyZV9zdGF0dXNfaWQKQEAgLTc1LDEwICs3NywxMCBAQCBjbGFzcyBNb2NrQ29tbWl0UXVldWUo
Q29tbWl0UXVldWVUYXNrRGVsZWdhdGUpOgogCiAgICAgZGVmIHJlcG9ydF9mbGFreV90ZXN0cyhz
ZWxmLCBwYXRjaCwgZmxha3lfcmVzdWx0cywgcmVzdWx0c19hcmNoaXZlKToKICAgICAgICAgZmxh
a3lfdGVzdHMgPSBbcmVzdWx0LmZpbGVuYW1lIGZvciByZXN1bHQgaW4gZmxha3lfcmVzdWx0c10K
LSAgICAgICAgbG9nKCJyZXBvcnRfZmxha3lfdGVzdHM6IHBhdGNoPSclcycgZmxha3lfdGVzdHM9
JyVzJyBhcmNoaXZlPSclcyciICUgKHBhdGNoLmlkKCksIGZsYWt5X3Rlc3RzLCByZXN1bHRzX2Fy
Y2hpdmUuZmlsZW5hbWUpKQorICAgICAgICBfbG9nLmluZm8oInJlcG9ydF9mbGFreV90ZXN0czog
cGF0Y2g9JyVzJyBmbGFreV90ZXN0cz0nJXMnIGFyY2hpdmU9JyVzJyIgJSAocGF0Y2guaWQoKSwg
Zmxha3lfdGVzdHMsIHJlc3VsdHNfYXJjaGl2ZS5maWxlbmFtZSkpCiAKICAgICBkZWYgYXJjaGl2
ZV9sYXN0X3Rlc3RfcmVzdWx0cyhzZWxmLCBwYXRjaCk6Ci0gICAgICAgIGxvZygiYXJjaGl2ZV9s
YXN0X3Rlc3RfcmVzdWx0czogcGF0Y2g9JyVzJyIgJSBwYXRjaC5pZCgpKQorICAgICAgICBfbG9n
LmluZm8oImFyY2hpdmVfbGFzdF90ZXN0X3Jlc3VsdHM6IHBhdGNoPSclcyciICUgcGF0Y2guaWQo
KSkKICAgICAgICAgYXJjaGl2ZSA9IE1vY2soKQogICAgICAgICBhcmNoaXZlLmZpbGVuYW1lID0g
Im1vY2stYXJjaGl2ZS0lcy56aXAiICUgcGF0Y2guaWQoKQogICAgICAgICByZXR1cm4gYXJjaGl2
ZQpAQCAtMTIxLDE4ICsxMjMsMTggQEAgY2xhc3MgR29sZGVuU2NyaXB0RXJyb3IoU2NyaXB0RXJy
b3IpOgogCiAKIGNsYXNzIENvbW1pdFF1ZXVlVGFza1Rlc3QodW5pdHRlc3QuVGVzdENhc2UpOgot
ICAgIGRlZiBfcnVuX3Rocm91Z2hfdGFzayhzZWxmLCBjb21taXRfcXVldWUsIGV4cGVjdGVkX3N0
ZGVyciwgZXhwZWN0ZWRfZXhjZXB0aW9uPU5vbmUsIGV4cGVjdF9yZXRyeT1GYWxzZSk6CisgICAg
ZGVmIF9ydW5fdGhyb3VnaF90YXNrKHNlbGYsIGNvbW1pdF9xdWV1ZSwgZXhwZWN0ZWRfbG9ncywg
ZXhwZWN0ZWRfZXhjZXB0aW9uPU5vbmUsIGV4cGVjdF9yZXRyeT1GYWxzZSk6CiAgICAgICAgIHRv
b2wgPSBNb2NrVG9vbChsb2dfZXhlY3V0aXZlPVRydWUpCiAgICAgICAgIHBhdGNoID0gdG9vbC5i
dWdzLmZldGNoX2F0dGFjaG1lbnQoMTAwMDApCiAgICAgICAgIHRhc2sgPSBDb21taXRRdWV1ZVRh
c2soY29tbWl0X3F1ZXVlLCBwYXRjaCkKLSAgICAgICAgc3VjY2VzcyA9IE91dHB1dENhcHR1cmUo
KS5hc3NlcnRfb3V0cHV0cyhzZWxmLCB0YXNrLnJ1biwgZXhwZWN0ZWRfc3RkZXJyPWV4cGVjdGVk
X3N0ZGVyciwgZXhwZWN0ZWRfZXhjZXB0aW9uPWV4cGVjdGVkX2V4Y2VwdGlvbikKKyAgICAgICAg
c3VjY2VzcyA9IE91dHB1dENhcHR1cmUoKS5hc3NlcnRfb3V0cHV0cyhzZWxmLCB0YXNrLnJ1biwg
ZXhwZWN0ZWRfbG9ncz1leHBlY3RlZF9sb2dzLCBleHBlY3RlZF9leGNlcHRpb249ZXhwZWN0ZWRf
ZXhjZXB0aW9uKQogICAgICAgICBpZiBub3QgZXhwZWN0ZWRfZXhjZXB0aW9uOgogICAgICAgICAg
ICAgc2VsZi5hc3NlcnRFcXVhbChzdWNjZXNzLCBub3QgZXhwZWN0X3JldHJ5KQogICAgICAgICBy
ZXR1cm4gdGFzawogCiAgICAgZGVmIHRlc3Rfc3VjY2Vzc19jYXNlKHNlbGYpOgogICAgICAgICBj
b21taXRfcXVldWUgPSBNb2NrQ29tbWl0UXVldWUoW10pCi0gICAgICAgIGV4cGVjdGVkX3N0ZGVy
ciA9ICIiInJ1bl93ZWJraXRfcGF0Y2g6IFsnY2xlYW4nXQorICAgICAgICBleHBlY3RlZF9sb2dz
ID0gIiIicnVuX3dlYmtpdF9wYXRjaDogWydjbGVhbiddCiBjb21tYW5kX3Bhc3NlZDogc3VjY2Vz
c19tZXNzYWdlPSdDbGVhbmVkIHdvcmtpbmcgZGlyZWN0b3J5JyBwYXRjaD0nMTAwMDAnCiBydW5f
d2Via2l0X3BhdGNoOiBbJ3VwZGF0ZSddCiBjb21tYW5kX3Bhc3NlZDogc3VjY2Vzc19tZXNzYWdl
PSdVcGRhdGVkIHdvcmtpbmcgZGlyZWN0b3J5JyBwYXRjaD0nMTAwMDAnCkBAIC0xNDcsMTIgKzE0
OSwxMiBAQCBjb21tYW5kX3Bhc3NlZDogc3VjY2Vzc19tZXNzYWdlPSdQYXNzZWQgdGVzdHMnIHBh
dGNoPScxMDAwMCcKIHJ1bl93ZWJraXRfcGF0Y2g6IFsnbGFuZC1hdHRhY2htZW50JywgJy0tZm9y
Y2UtY2xlYW4nLCAnLS1ub24taW50ZXJhY3RpdmUnLCAnLS1wYXJlbnQtY29tbWFuZD1jb21taXQt
cXVldWUnLCAxMDAwMF0KIGNvbW1hbmRfcGFzc2VkOiBzdWNjZXNzX21lc3NhZ2U9J0xhbmRlZCBw
YXRjaCcgcGF0Y2g9JzEwMDAwJwogIiIiCi0gICAgICAgIHNlbGYuX3J1bl90aHJvdWdoX3Rhc2so
Y29tbWl0X3F1ZXVlLCBleHBlY3RlZF9zdGRlcnIpCisgICAgICAgIHNlbGYuX3J1bl90aHJvdWdo
X3Rhc2soY29tbWl0X3F1ZXVlLCBleHBlY3RlZF9sb2dzKQogCiAgICAgZGVmIHRlc3RfZmFzdF9z
dWNjZXNzX2Nhc2Uoc2VsZik6CiAgICAgICAgIGNvbW1pdF9xdWV1ZSA9IE1vY2tDb21taXRRdWV1
ZShbXSkKICAgICAgICAgY29tbWl0X3F1ZXVlLmRpZF9wYXNzX3Rlc3RpbmdfZXdzID0gbGFtYmRh
IHBhdGNoOiBUcnVlCi0gICAgICAgIGV4cGVjdGVkX3N0ZGVyciA9ICIiInJ1bl93ZWJraXRfcGF0
Y2g6IFsnY2xlYW4nXQorICAgICAgICBleHBlY3RlZF9sb2dzID0gIiIicnVuX3dlYmtpdF9wYXRj
aDogWydjbGVhbiddCiBjb21tYW5kX3Bhc3NlZDogc3VjY2Vzc19tZXNzYWdlPSdDbGVhbmVkIHdv
cmtpbmcgZGlyZWN0b3J5JyBwYXRjaD0nMTAwMDAnCiBydW5fd2Via2l0X3BhdGNoOiBbJ3VwZGF0
ZSddCiBjb21tYW5kX3Bhc3NlZDogc3VjY2Vzc19tZXNzYWdlPSdVcGRhdGVkIHdvcmtpbmcgZGly
ZWN0b3J5JyBwYXRjaD0nMTAwMDAnCkBAIC0xNjUsMjggKzE2NywyOCBAQCBjb21tYW5kX3Bhc3Nl
ZDogc3VjY2Vzc19tZXNzYWdlPSdCdWlsdCBwYXRjaCcgcGF0Y2g9JzEwMDAwJwogcnVuX3dlYmtp
dF9wYXRjaDogWydsYW5kLWF0dGFjaG1lbnQnLCAnLS1mb3JjZS1jbGVhbicsICctLW5vbi1pbnRl
cmFjdGl2ZScsICctLXBhcmVudC1jb21tYW5kPWNvbW1pdC1xdWV1ZScsIDEwMDAwXQogY29tbWFu
ZF9wYXNzZWQ6IHN1Y2Nlc3NfbWVzc2FnZT0nTGFuZGVkIHBhdGNoJyBwYXRjaD0nMTAwMDAnCiAi
IiIKLSAgICAgICAgc2VsZi5fcnVuX3Rocm91Z2hfdGFzayhjb21taXRfcXVldWUsIGV4cGVjdGVk
X3N0ZGVycikKKyAgICAgICAgc2VsZi5fcnVuX3Rocm91Z2hfdGFzayhjb21taXRfcXVldWUsIGV4
cGVjdGVkX2xvZ3MpCiAKICAgICBkZWYgdGVzdF9jbGVhbl9mYWlsdXJlKHNlbGYpOgogICAgICAg
ICBjb21taXRfcXVldWUgPSBNb2NrQ29tbWl0UXVldWUoWwogICAgICAgICAgICAgU2NyaXB0RXJy
b3IoIk1PQ0sgY2xlYW4gZmFpbHVyZSIpLAogICAgICAgICBdKQotICAgICAgICBleHBlY3RlZF9z
dGRlcnIgPSAiIiJydW5fd2Via2l0X3BhdGNoOiBbJ2NsZWFuJ10KKyAgICAgICAgZXhwZWN0ZWRf
bG9ncyA9ICIiInJ1bl93ZWJraXRfcGF0Y2g6IFsnY2xlYW4nXQogY29tbWFuZF9mYWlsZWQ6IGZh
aWx1cmVfbWVzc2FnZT0nVW5hYmxlIHRvIGNsZWFuIHdvcmtpbmcgZGlyZWN0b3J5JyBzY3JpcHRf
ZXJyb3I9J01PQ0sgY2xlYW4gZmFpbHVyZScgcGF0Y2g9JzEwMDAwJwogIiIiCi0gICAgICAgIHNl
bGYuX3J1bl90aHJvdWdoX3Rhc2soY29tbWl0X3F1ZXVlLCBleHBlY3RlZF9zdGRlcnIsIGV4cGVj
dF9yZXRyeT1UcnVlKQorICAgICAgICBzZWxmLl9ydW5fdGhyb3VnaF90YXNrKGNvbW1pdF9xdWV1
ZSwgZXhwZWN0ZWRfbG9ncywgZXhwZWN0X3JldHJ5PVRydWUpCiAKICAgICBkZWYgdGVzdF91cGRh
dGVfZmFpbHVyZShzZWxmKToKICAgICAgICAgY29tbWl0X3F1ZXVlID0gTW9ja0NvbW1pdFF1ZXVl
KFsKICAgICAgICAgICAgIE5vbmUsCiAgICAgICAgICAgICBTY3JpcHRFcnJvcigiTU9DSyB1cGRh
dGUgZmFpbHVyZSIpLAogICAgICAgICBdKQotICAgICAgICBleHBlY3RlZF9zdGRlcnIgPSAiIiJy
dW5fd2Via2l0X3BhdGNoOiBbJ2NsZWFuJ10KKyAgICAgICAgZXhwZWN0ZWRfbG9ncyA9ICIiInJ1
bl93ZWJraXRfcGF0Y2g6IFsnY2xlYW4nXQogY29tbWFuZF9wYXNzZWQ6IHN1Y2Nlc3NfbWVzc2Fn
ZT0nQ2xlYW5lZCB3b3JraW5nIGRpcmVjdG9yeScgcGF0Y2g9JzEwMDAwJwogcnVuX3dlYmtpdF9w
YXRjaDogWyd1cGRhdGUnXQogY29tbWFuZF9mYWlsZWQ6IGZhaWx1cmVfbWVzc2FnZT0nVW5hYmxl
IHRvIHVwZGF0ZSB3b3JraW5nIGRpcmVjdG9yeScgc2NyaXB0X2Vycm9yPSdNT0NLIHVwZGF0ZSBm
YWlsdXJlJyBwYXRjaD0nMTAwMDAnCiAiIiIKLSAgICAgICAgc2VsZi5fcnVuX3Rocm91Z2hfdGFz
ayhjb21taXRfcXVldWUsIGV4cGVjdGVkX3N0ZGVyciwgZXhwZWN0X3JldHJ5PVRydWUpCisgICAg
ICAgIHNlbGYuX3J1bl90aHJvdWdoX3Rhc2soY29tbWl0X3F1ZXVlLCBleHBlY3RlZF9sb2dzLCBl
eHBlY3RfcmV0cnk9VHJ1ZSkKIAogICAgIGRlZiB0ZXN0X2FwcGx5X2ZhaWx1cmUoc2VsZik6CiAg
ICAgICAgIGNvbW1pdF9xdWV1ZSA9IE1vY2tDb21taXRRdWV1ZShbCkBAIC0xOTQsMTQgKzE5Niwx
NCBAQCBjb21tYW5kX2ZhaWxlZDogZmFpbHVyZV9tZXNzYWdlPSdVbmFibGUgdG8gdXBkYXRlIHdv
cmtpbmcgZGlyZWN0b3J5JyBzY3JpcHRfZXJybwogICAgICAgICAgICAgTm9uZSwKICAgICAgICAg
ICAgIEdvbGRlblNjcmlwdEVycm9yKCJNT0NLIGFwcGx5IGZhaWx1cmUiKSwKICAgICAgICAgXSkK
LSAgICAgICAgZXhwZWN0ZWRfc3RkZXJyID0gIiIicnVuX3dlYmtpdF9wYXRjaDogWydjbGVhbidd
CisgICAgICAgIGV4cGVjdGVkX2xvZ3MgPSAiIiJydW5fd2Via2l0X3BhdGNoOiBbJ2NsZWFuJ10K
IGNvbW1hbmRfcGFzc2VkOiBzdWNjZXNzX21lc3NhZ2U9J0NsZWFuZWQgd29ya2luZyBkaXJlY3Rv
cnknIHBhdGNoPScxMDAwMCcKIHJ1bl93ZWJraXRfcGF0Y2g6IFsndXBkYXRlJ10KIGNvbW1hbmRf
cGFzc2VkOiBzdWNjZXNzX21lc3NhZ2U9J1VwZGF0ZWQgd29ya2luZyBkaXJlY3RvcnknIHBhdGNo
PScxMDAwMCcKIHJ1bl93ZWJraXRfcGF0Y2g6IFsnYXBwbHktYXR0YWNobWVudCcsICctLW5vLXVw
ZGF0ZScsICctLW5vbi1pbnRlcmFjdGl2ZScsIDEwMDAwXQogY29tbWFuZF9mYWlsZWQ6IGZhaWx1
cmVfbWVzc2FnZT0nUGF0Y2ggZG9lcyBub3QgYXBwbHknIHNjcmlwdF9lcnJvcj0nTU9DSyBhcHBs
eSBmYWlsdXJlJyBwYXRjaD0nMTAwMDAnCiAiIiIKLSAgICAgICAgc2VsZi5fcnVuX3Rocm91Z2hf
dGFzayhjb21taXRfcXVldWUsIGV4cGVjdGVkX3N0ZGVyciwgR29sZGVuU2NyaXB0RXJyb3IpCisg
ICAgICAgIHNlbGYuX3J1bl90aHJvdWdoX3Rhc2soY29tbWl0X3F1ZXVlLCBleHBlY3RlZF9sb2dz
LCBHb2xkZW5TY3JpcHRFcnJvcikKIAogICAgIGRlZiB0ZXN0X3ZhbGlkYXRlX2NoYW5nZWxvZ19m
YWlsdXJlKHNlbGYpOgogICAgICAgICBjb21taXRfcXVldWUgPSBNb2NrQ29tbWl0UXVldWUoWwpA
QCAtMjEwLDcgKzIxMiw3IEBAIGNvbW1hbmRfZmFpbGVkOiBmYWlsdXJlX21lc3NhZ2U9J1BhdGNo
IGRvZXMgbm90IGFwcGx5JyBzY3JpcHRfZXJyb3I9J01PQ0sgYXBwbHkKICAgICAgICAgICAgIE5v
bmUsCiAgICAgICAgICAgICBHb2xkZW5TY3JpcHRFcnJvcigiTU9DSyB2YWxpZGF0ZSBmYWlsdXJl
IiksCiAgICAgICAgIF0pCi0gICAgICAgIGV4cGVjdGVkX3N0ZGVyciA9ICIiInJ1bl93ZWJraXRf
cGF0Y2g6IFsnY2xlYW4nXQorICAgICAgICBleHBlY3RlZF9sb2dzID0gIiIicnVuX3dlYmtpdF9w
YXRjaDogWydjbGVhbiddCiBjb21tYW5kX3Bhc3NlZDogc3VjY2Vzc19tZXNzYWdlPSdDbGVhbmVk
IHdvcmtpbmcgZGlyZWN0b3J5JyBwYXRjaD0nMTAwMDAnCiBydW5fd2Via2l0X3BhdGNoOiBbJ3Vw
ZGF0ZSddCiBjb21tYW5kX3Bhc3NlZDogc3VjY2Vzc19tZXNzYWdlPSdVcGRhdGVkIHdvcmtpbmcg
ZGlyZWN0b3J5JyBwYXRjaD0nMTAwMDAnCkBAIC0yMTksNyArMjIxLDcgQEAgY29tbWFuZF9wYXNz
ZWQ6IHN1Y2Nlc3NfbWVzc2FnZT0nQXBwbGllZCBwYXRjaCcgcGF0Y2g9JzEwMDAwJwogcnVuX3dl
YmtpdF9wYXRjaDogWyd2YWxpZGF0ZS1jaGFuZ2Vsb2cnLCAnLS1ub24taW50ZXJhY3RpdmUnLCAx
MDAwMF0KIGNvbW1hbmRfZmFpbGVkOiBmYWlsdXJlX21lc3NhZ2U9J0NoYW5nZUxvZyBkaWQgbm90
IHBhc3MgdmFsaWRhdGlvbicgc2NyaXB0X2Vycm9yPSdNT0NLIHZhbGlkYXRlIGZhaWx1cmUnIHBh
dGNoPScxMDAwMCcKICIiIgotICAgICAgICBzZWxmLl9ydW5fdGhyb3VnaF90YXNrKGNvbW1pdF9x
dWV1ZSwgZXhwZWN0ZWRfc3RkZXJyLCBHb2xkZW5TY3JpcHRFcnJvcikKKyAgICAgICAgc2VsZi5f
cnVuX3Rocm91Z2hfdGFzayhjb21taXRfcXVldWUsIGV4cGVjdGVkX2xvZ3MsIEdvbGRlblNjcmlw
dEVycm9yKQogCiAgICAgZGVmIHRlc3RfYnVpbGRfZmFpbHVyZShzZWxmKToKICAgICAgICAgY29t
bWl0X3F1ZXVlID0gTW9ja0NvbW1pdFF1ZXVlKFsKQEAgLTIyOSw3ICsyMzEsNyBAQCBjb21tYW5k
X2ZhaWxlZDogZmFpbHVyZV9tZXNzYWdlPSdDaGFuZ2VMb2cgZGlkIG5vdCBwYXNzIHZhbGlkYXRp
b24nIHNjcmlwdF9lcnJvcgogICAgICAgICAgICAgTm9uZSwKICAgICAgICAgICAgIEdvbGRlblNj
cmlwdEVycm9yKCJNT0NLIGJ1aWxkIGZhaWx1cmUiKSwKICAgICAgICAgXSkKLSAgICAgICAgZXhw
ZWN0ZWRfc3RkZXJyID0gIiIicnVuX3dlYmtpdF9wYXRjaDogWydjbGVhbiddCisgICAgICAgIGV4
cGVjdGVkX2xvZ3MgPSAiIiJydW5fd2Via2l0X3BhdGNoOiBbJ2NsZWFuJ10KIGNvbW1hbmRfcGFz
c2VkOiBzdWNjZXNzX21lc3NhZ2U9J0NsZWFuZWQgd29ya2luZyBkaXJlY3RvcnknIHBhdGNoPScx
MDAwMCcKIHJ1bl93ZWJraXRfcGF0Y2g6IFsndXBkYXRlJ10KIGNvbW1hbmRfcGFzc2VkOiBzdWNj
ZXNzX21lc3NhZ2U9J1VwZGF0ZWQgd29ya2luZyBkaXJlY3RvcnknIHBhdGNoPScxMDAwMCcKQEAg
LTI0Miw3ICsyNDQsNyBAQCBjb21tYW5kX2ZhaWxlZDogZmFpbHVyZV9tZXNzYWdlPSdQYXRjaCBk
b2VzIG5vdCBidWlsZCcgc2NyaXB0X2Vycm9yPSdNT0NLIGJ1aWxkCiBydW5fd2Via2l0X3BhdGNo
OiBbJ2J1aWxkJywgJy0tZm9yY2UtY2xlYW4nLCAnLS1uby11cGRhdGUnLCAnLS1idWlsZC1zdHls
ZT1ib3RoJ10KIGNvbW1hbmRfcGFzc2VkOiBzdWNjZXNzX21lc3NhZ2U9J0FibGUgdG8gYnVpbGQg
d2l0aG91dCBwYXRjaCcgcGF0Y2g9JzEwMDAwJwogIiIiCi0gICAgICAgIHNlbGYuX3J1bl90aHJv
dWdoX3Rhc2soY29tbWl0X3F1ZXVlLCBleHBlY3RlZF9zdGRlcnIsIEdvbGRlblNjcmlwdEVycm9y
KQorICAgICAgICBzZWxmLl9ydW5fdGhyb3VnaF90YXNrKGNvbW1pdF9xdWV1ZSwgZXhwZWN0ZWRf
bG9ncywgR29sZGVuU2NyaXB0RXJyb3IpCiAKICAgICBkZWYgdGVzdF9yZWRfYnVpbGRfZmFpbHVy
ZShzZWxmKToKICAgICAgICAgY29tbWl0X3F1ZXVlID0gTW9ja0NvbW1pdFF1ZXVlKFsKQEAgLTI1
Myw3ICsyNTUsNyBAQCBjb21tYW5kX3Bhc3NlZDogc3VjY2Vzc19tZXNzYWdlPSdBYmxlIHRvIGJ1
aWxkIHdpdGhvdXQgcGF0Y2gnIHBhdGNoPScxMDAwMCcKICAgICAgICAgICAgIFNjcmlwdEVycm9y
KCJNT0NLIGJ1aWxkIGZhaWx1cmUiKSwKICAgICAgICAgICAgIFNjcmlwdEVycm9yKCJNT0NLIGNs
ZWFuIGJ1aWxkIGZhaWx1cmUiKSwKICAgICAgICAgXSkKLSAgICAgICAgZXhwZWN0ZWRfc3RkZXJy
ID0gIiIicnVuX3dlYmtpdF9wYXRjaDogWydjbGVhbiddCisgICAgICAgIGV4cGVjdGVkX2xvZ3Mg
PSAiIiJydW5fd2Via2l0X3BhdGNoOiBbJ2NsZWFuJ10KIGNvbW1hbmRfcGFzc2VkOiBzdWNjZXNz
X21lc3NhZ2U9J0NsZWFuZWQgd29ya2luZyBkaXJlY3RvcnknIHBhdGNoPScxMDAwMCcKIHJ1bl93
ZWJraXRfcGF0Y2g6IFsndXBkYXRlJ10KIGNvbW1hbmRfcGFzc2VkOiBzdWNjZXNzX21lc3NhZ2U9
J1VwZGF0ZWQgd29ya2luZyBkaXJlY3RvcnknIHBhdGNoPScxMDAwMCcKQEAgLTI2Niw3ICsyNjgs
NyBAQCBjb21tYW5kX2ZhaWxlZDogZmFpbHVyZV9tZXNzYWdlPSdQYXRjaCBkb2VzIG5vdCBidWls
ZCcgc2NyaXB0X2Vycm9yPSdNT0NLIGJ1aWxkCiBydW5fd2Via2l0X3BhdGNoOiBbJ2J1aWxkJywg
Jy0tZm9yY2UtY2xlYW4nLCAnLS1uby11cGRhdGUnLCAnLS1idWlsZC1zdHlsZT1ib3RoJ10KIGNv
bW1hbmRfZmFpbGVkOiBmYWlsdXJlX21lc3NhZ2U9J1VuYWJsZSB0byBidWlsZCB3aXRob3V0IHBh
dGNoJyBzY3JpcHRfZXJyb3I9J01PQ0sgY2xlYW4gYnVpbGQgZmFpbHVyZScgcGF0Y2g9JzEwMDAw
JwogIiIiCi0gICAgICAgIHNlbGYuX3J1bl90aHJvdWdoX3Rhc2soY29tbWl0X3F1ZXVlLCBleHBl
Y3RlZF9zdGRlcnIsIGV4cGVjdF9yZXRyeT1UcnVlKQorICAgICAgICBzZWxmLl9ydW5fdGhyb3Vn
aF90YXNrKGNvbW1pdF9xdWV1ZSwgZXhwZWN0ZWRfbG9ncywgZXhwZWN0X3JldHJ5PVRydWUpCiAK
ICAgICBkZWYgdGVzdF9mbGFreV90ZXN0X2ZhaWx1cmUoc2VsZik6CiAgICAgICAgIGNvbW1pdF9x
dWV1ZSA9IE1vY2tDb21taXRRdWV1ZShbCkBAIC0yODAsNyArMjgyLDcgQEAgY29tbWFuZF9mYWls
ZWQ6IGZhaWx1cmVfbWVzc2FnZT0nVW5hYmxlIHRvIGJ1aWxkIHdpdGhvdXQgcGF0Y2gnIHNjcmlw
dF9lcnJvcj0nTU8KICAgICAgICAgIyBDb21taXRRdWV1ZVRhc2sgd2lsbCBvbmx5IHJlcG9ydCBm
bGFreSB0ZXN0cyBpZiB3ZSBzdWNjZXNzZnVsbHkgcGFyc2VkCiAgICAgICAgICMgcmVzdWx0cy5o
dG1sIGFuZCByZXR1cm5lZCBhIExheW91dFRlc3RSZXN1bHRzIG9iamVjdCwgc28gd2UgZmFrZSBv
bmUuCiAgICAgICAgIGNvbW1pdF9xdWV1ZS50ZXN0X3Jlc3VsdHMgPSBsYW1iZGE6IExheW91dFRl
c3RSZXN1bHRzKFtdKQotICAgICAgICBleHBlY3RlZF9zdGRlcnIgPSAiIiJydW5fd2Via2l0X3Bh
dGNoOiBbJ2NsZWFuJ10KKyAgICAgICAgZXhwZWN0ZWRfbG9ncyA9ICIiInJ1bl93ZWJraXRfcGF0
Y2g6IFsnY2xlYW4nXQogY29tbWFuZF9wYXNzZWQ6IHN1Y2Nlc3NfbWVzc2FnZT0nQ2xlYW5lZCB3
b3JraW5nIGRpcmVjdG9yeScgcGF0Y2g9JzEwMDAwJwogcnVuX3dlYmtpdF9wYXRjaDogWyd1cGRh
dGUnXQogY29tbWFuZF9wYXNzZWQ6IHN1Y2Nlc3NfbWVzc2FnZT0nVXBkYXRlZCB3b3JraW5nIGRp
cmVjdG9yeScgcGF0Y2g9JzEwMDAwJwpAQCAtMjk5LDcgKzMwMSw3IEBAIHJlcG9ydF9mbGFreV90
ZXN0czogcGF0Y2g9JzEwMDAwJyBmbGFreV90ZXN0cz0nW10nIGFyY2hpdmU9J21vY2stYXJjaGl2
ZS0xMDAwMC56CiBydW5fd2Via2l0X3BhdGNoOiBbJ2xhbmQtYXR0YWNobWVudCcsICctLWZvcmNl
LWNsZWFuJywgJy0tbm9uLWludGVyYWN0aXZlJywgJy0tcGFyZW50LWNvbW1hbmQ9Y29tbWl0LXF1
ZXVlJywgMTAwMDBdCiBjb21tYW5kX3Bhc3NlZDogc3VjY2Vzc19tZXNzYWdlPSdMYW5kZWQgcGF0
Y2gnIHBhdGNoPScxMDAwMCcKICIiIgotICAgICAgICBzZWxmLl9ydW5fdGhyb3VnaF90YXNrKGNv
bW1pdF9xdWV1ZSwgZXhwZWN0ZWRfc3RkZXJyKQorICAgICAgICBzZWxmLl9ydW5fdGhyb3VnaF90
YXNrKGNvbW1pdF9xdWV1ZSwgZXhwZWN0ZWRfbG9ncykKIAogICAgIGRlZiB0ZXN0X2ZhaWxlZF9h
cmNoaXZlKHNlbGYpOgogICAgICAgICBjb21taXRfcXVldWUgPSBNb2NrQ29tbWl0UXVldWUoWwpA
QCAtMzE0LDcgKzMxNiw3IEBAIGNvbW1hbmRfcGFzc2VkOiBzdWNjZXNzX21lc3NhZ2U9J0xhbmRl
ZCBwYXRjaCcgcGF0Y2g9JzEwMDAwJwogICAgICAgICAjIEl0J3MgcG9zc2libGUgZGVsZWdhdGUg
dG8gZmFpbCB0byBhcmNoaXZlIGxheW91dCB0ZXN0cywgZG9uJ3QgdHJ5IHRvIHJlcG9ydAogICAg
ICAgICAjIGZsYWt5IHRlc3RzIHdoZW4gdGhhdCBoYXBwZW5zLgogICAgICAgICBjb21taXRfcXVl
dWUuYXJjaGl2ZV9sYXN0X3Rlc3RfcmVzdWx0cyA9IGxhbWJkYSBwYXRjaDogTm9uZQotICAgICAg
ICBleHBlY3RlZF9zdGRlcnIgPSAiIiJydW5fd2Via2l0X3BhdGNoOiBbJ2NsZWFuJ10KKyAgICAg
ICAgZXhwZWN0ZWRfbG9ncyA9ICIiInJ1bl93ZWJraXRfcGF0Y2g6IFsnY2xlYW4nXQogY29tbWFu
ZF9wYXNzZWQ6IHN1Y2Nlc3NfbWVzc2FnZT0nQ2xlYW5lZCB3b3JraW5nIGRpcmVjdG9yeScgcGF0
Y2g9JzEwMDAwJwogcnVuX3dlYmtpdF9wYXRjaDogWyd1cGRhdGUnXQogY29tbWFuZF9wYXNzZWQ6
IHN1Y2Nlc3NfbWVzc2FnZT0nVXBkYXRlZCB3b3JraW5nIGRpcmVjdG9yeScgcGF0Y2g9JzEwMDAw
JwpAQCAtMzMxLDcgKzMzMyw3IEBAIGNvbW1hbmRfcGFzc2VkOiBzdWNjZXNzX21lc3NhZ2U9J1Bh
c3NlZCB0ZXN0cycgcGF0Y2g9JzEwMDAwJwogcnVuX3dlYmtpdF9wYXRjaDogWydsYW5kLWF0dGFj
aG1lbnQnLCAnLS1mb3JjZS1jbGVhbicsICctLW5vbi1pbnRlcmFjdGl2ZScsICctLXBhcmVudC1j
b21tYW5kPWNvbW1pdC1xdWV1ZScsIDEwMDAwXQogY29tbWFuZF9wYXNzZWQ6IHN1Y2Nlc3NfbWVz
c2FnZT0nTGFuZGVkIHBhdGNoJyBwYXRjaD0nMTAwMDAnCiAiIiIKLSAgICAgICAgc2VsZi5fcnVu
X3Rocm91Z2hfdGFzayhjb21taXRfcXVldWUsIGV4cGVjdGVkX3N0ZGVycikKKyAgICAgICAgc2Vs
Zi5fcnVuX3Rocm91Z2hfdGFzayhjb21taXRfcXVldWUsIGV4cGVjdGVkX2xvZ3MpCiAKICAgICBk
ZWYgdGVzdF9kb3VibGVfZmxha3lfdGVzdF9mYWlsdXJlKHNlbGYpOgogICAgICAgICBjb21taXRf
cXVldWUgPSBGYWlsaW5nVGVzdENvbW1pdFF1ZXVlKFsKQEAgLTM0OCw5ICszNTAsOSBAQCBjb21t
YW5kX3Bhc3NlZDogc3VjY2Vzc19tZXNzYWdlPSdMYW5kZWQgcGF0Y2gnIHBhdGNoPScxMDAwMCcK
ICAgICAgICAgICAgICJmb28uaHRtbCIsCiAgICAgICAgIF0pCiAgICAgICAgICMgVGhlIChzdWJ0
bGUpIHBvaW50IG9mIHRoaXMgdGVzdCBpcyB0aGF0IHJlcG9ydF9mbGFreV90ZXN0cyBkb2VzIG5v
dCBhcHBlYXIKLSAgICAgICAgIyBpbiB0aGUgZXhwZWN0ZWRfc3RkZXJyIGZvciB0aGlzIHJ1bi4K
KyAgICAgICAgIyBpbiB0aGUgZXhwZWN0ZWRfbG9ncyBmb3IgdGhpcyBydW4uCiAgICAgICAgICMg
Tm90ZSBhbHNvIHRoYXQgdGhlcmUgaXMgbm8gYXR0ZW1wdCB0byBydW4gdGhlIHRlc3RzIHcvbyB0
aGUgcGF0Y2guCi0gICAgICAgIGV4cGVjdGVkX3N0ZGVyciA9ICIiInJ1bl93ZWJraXRfcGF0Y2g6
IFsnY2xlYW4nXQorICAgICAgICBleHBlY3RlZF9sb2dzID0gIiIicnVuX3dlYmtpdF9wYXRjaDog
WydjbGVhbiddCiBjb21tYW5kX3Bhc3NlZDogc3VjY2Vzc19tZXNzYWdlPSdDbGVhbmVkIHdvcmtp
bmcgZGlyZWN0b3J5JyBwYXRjaD0nMTAwMDAnCiBydW5fd2Via2l0X3BhdGNoOiBbJ3VwZGF0ZSdd
CiBjb21tYW5kX3Bhc3NlZDogc3VjY2Vzc19tZXNzYWdlPSdVcGRhdGVkIHdvcmtpbmcgZGlyZWN0
b3J5JyBwYXRjaD0nMTAwMDAnCkBAIC0zNjksNyArMzcxLDcgQEAgY29tbWFuZF9mYWlsZWQ6IGZh
aWx1cmVfbWVzc2FnZT0nUGF0Y2ggZG9lcyBub3QgcGFzcyB0ZXN0cycgc2NyaXB0X2Vycm9yPSdN
T0NLIHQKICAgICAgICAgdG9vbCA9IE1vY2tUb29sKGxvZ19leGVjdXRpdmU9VHJ1ZSkKICAgICAg
ICAgcGF0Y2ggPSB0b29sLmJ1Z3MuZmV0Y2hfYXR0YWNobWVudCgxMDAwMCkKICAgICAgICAgdGFz
ayA9IENvbW1pdFF1ZXVlVGFzayhjb21taXRfcXVldWUsIHBhdGNoKQotICAgICAgICBzdWNjZXNz
ID0gT3V0cHV0Q2FwdHVyZSgpLmFzc2VydF9vdXRwdXRzKHNlbGYsIHRhc2sucnVuLCBleHBlY3Rl
ZF9zdGRlcnI9ZXhwZWN0ZWRfc3RkZXJyKQorICAgICAgICBzdWNjZXNzID0gT3V0cHV0Q2FwdHVy
ZSgpLmFzc2VydF9vdXRwdXRzKHNlbGYsIHRhc2sucnVuLCBleHBlY3RlZF9sb2dzPWV4cGVjdGVk
X2xvZ3MpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3VjY2VzcywgRmFsc2UpCiAKICAgICBk
ZWYgdGVzdF90ZXN0X2ZhaWx1cmUoc2VsZik6CkBAIC0zODIsNyArMzg0LDcgQEAgY29tbWFuZF9m
YWlsZWQ6IGZhaWx1cmVfbWVzc2FnZT0nUGF0Y2ggZG9lcyBub3QgcGFzcyB0ZXN0cycgc2NyaXB0
X2Vycm9yPSdNT0NLIHQKICAgICAgICAgICAgIEdvbGRlblNjcmlwdEVycm9yKCJNT0NLIHRlc3Qg
ZmFpbHVyZSIpLAogICAgICAgICAgICAgU2NyaXB0RXJyb3IoIk1PQ0sgdGVzdCBmYWlsdXJlIGFn
YWluIiksCiAgICAgICAgIF0pCi0gICAgICAgIGV4cGVjdGVkX3N0ZGVyciA9ICIiInJ1bl93ZWJr
aXRfcGF0Y2g6IFsnY2xlYW4nXQorICAgICAgICBleHBlY3RlZF9sb2dzID0gIiIicnVuX3dlYmtp
dF9wYXRjaDogWydjbGVhbiddCiBjb21tYW5kX3Bhc3NlZDogc3VjY2Vzc19tZXNzYWdlPSdDbGVh
bmVkIHdvcmtpbmcgZGlyZWN0b3J5JyBwYXRjaD0nMTAwMDAnCiBydW5fd2Via2l0X3BhdGNoOiBb
J3VwZGF0ZSddCiBjb21tYW5kX3Bhc3NlZDogc3VjY2Vzc19tZXNzYWdlPSdVcGRhdGVkIHdvcmtp
bmcgZGlyZWN0b3J5JyBwYXRjaD0nMTAwMDAnCkBAIC00MDEsNyArNDAzLDcgQEAgYXJjaGl2ZV9s
YXN0X3Rlc3RfcmVzdWx0czogcGF0Y2g9JzEwMDAwJwogcnVuX3dlYmtpdF9wYXRjaDogWydidWls
ZC1hbmQtdGVzdCcsICctLWZvcmNlLWNsZWFuJywgJy0tbm8tdXBkYXRlJywgJy0tYnVpbGQnLCAn
LS10ZXN0JywgJy0tbm9uLWludGVyYWN0aXZlJ10KIGNvbW1hbmRfcGFzc2VkOiBzdWNjZXNzX21l
c3NhZ2U9J0FibGUgdG8gcGFzcyB0ZXN0cyB3aXRob3V0IHBhdGNoJyBwYXRjaD0nMTAwMDAnCiAi
IiIKLSAgICAgICAgc2VsZi5fcnVuX3Rocm91Z2hfdGFzayhjb21taXRfcXVldWUsIGV4cGVjdGVk
X3N0ZGVyciwgR29sZGVuU2NyaXB0RXJyb3IpCisgICAgICAgIHNlbGYuX3J1bl90aHJvdWdoX3Rh
c2soY29tbWl0X3F1ZXVlLCBleHBlY3RlZF9sb2dzLCBHb2xkZW5TY3JpcHRFcnJvcikKIAogICAg
IGRlZiB0ZXN0X3JlZF90ZXN0X2ZhaWx1cmUoc2VsZik6CiAgICAgICAgIGNvbW1pdF9xdWV1ZSA9
IEZhaWxpbmdUZXN0Q29tbWl0UXVldWUoWwpAQCAtNDIxLDcgKzQyMyw3IEBAIGNvbW1hbmRfcGFz
c2VkOiBzdWNjZXNzX21lc3NhZ2U9J0FibGUgdG8gcGFzcyB0ZXN0cyB3aXRob3V0IHBhdGNoJyBw
YXRjaD0nMTAwMDAnCiAKICAgICAgICAgIyBUZXN0cyBhbHdheXMgZmFpbCwgYW5kIGFsd2F5cyBy
ZXR1cm4gdGhlIHNhbWUgcmVzdWx0cywgYnV0IHdlCiAgICAgICAgICMgc2hvdWxkIHN0aWxsIGJl
IGFibGUgdG8gbGFuZCBpbiB0aGlzIGNhc2UhCi0gICAgICAgIGV4cGVjdGVkX3N0ZGVyciA9ICIi
InJ1bl93ZWJraXRfcGF0Y2g6IFsnY2xlYW4nXQorICAgICAgICBleHBlY3RlZF9sb2dzID0gIiIi
cnVuX3dlYmtpdF9wYXRjaDogWydjbGVhbiddCiBjb21tYW5kX3Bhc3NlZDogc3VjY2Vzc19tZXNz
YWdlPSdDbGVhbmVkIHdvcmtpbmcgZGlyZWN0b3J5JyBwYXRjaD0nMTAwMDAnCiBydW5fd2Via2l0
X3BhdGNoOiBbJ3VwZGF0ZSddCiBjb21tYW5kX3Bhc3NlZDogc3VjY2Vzc19tZXNzYWdlPSdVcGRh
dGVkIHdvcmtpbmcgZGlyZWN0b3J5JyBwYXRjaD0nMTAwMDAnCkBAIC00NDIsNyArNDQ0LDcgQEAg
Y29tbWFuZF9mYWlsZWQ6IGZhaWx1cmVfbWVzc2FnZT0nVW5hYmxlIHRvIHBhc3MgdGVzdHMgd2l0
aG91dCBwYXRjaCAodHJlZSBpcyByZWQKIHJ1bl93ZWJraXRfcGF0Y2g6IFsnbGFuZC1hdHRhY2ht
ZW50JywgJy0tZm9yY2UtY2xlYW4nLCAnLS1ub24taW50ZXJhY3RpdmUnLCAnLS1wYXJlbnQtY29t
bWFuZD1jb21taXQtcXVldWUnLCAxMDAwMF0KIGNvbW1hbmRfcGFzc2VkOiBzdWNjZXNzX21lc3Nh
Z2U9J0xhbmRlZCBwYXRjaCcgcGF0Y2g9JzEwMDAwJwogIiIiCi0gICAgICAgIHNlbGYuX3J1bl90
aHJvdWdoX3Rhc2soY29tbWl0X3F1ZXVlLCBleHBlY3RlZF9zdGRlcnIpCisgICAgICAgIHNlbGYu
X3J1bl90aHJvdWdoX3Rhc2soY29tbWl0X3F1ZXVlLCBleHBlY3RlZF9sb2dzKQogCiAgICAgZGVm
IHRlc3RfdmVyeV9yZWRfdHJlZV9yZXRyeShzZWxmKToKICAgICAgICAgbG90c19vZl9mYWlsaW5n
X3Rlc3RzID0gbWFwKGxhbWJkYSBudW06ICJ0ZXN0LSVzLmh0bWwiICUgbnVtLCByYW5nZSgwLCAx
MDApKQpAQCAtNDY0LDcgKzQ2Niw3IEBAIGNvbW1hbmRfcGFzc2VkOiBzdWNjZXNzX21lc3NhZ2U9
J0xhbmRlZCBwYXRjaCcgcGF0Y2g9JzEwMDAwJwogICAgICAgICAjIFRlc3RzIGFsd2F5cyBmYWls
LCBhbmQgcmV0dXJuIHNvIG1hbnkgZmFpbHVyZXMgdGhhdCB3ZSBkbyBub3QKICAgICAgICAgIyB0
cnVzdCB0aGUgcmVzdWx0cyAoc2VlIEV4cGVjdGVkRmFpbHVyZXMuX2Nhbl90cnVzdF9yZXN1bHRz
KSBzbyB3ZQogICAgICAgICAjIGp1c3QgZ2l2ZSB1cCBhbmQgcmV0cnkgdGhlIHBhdGNoLgotICAg
ICAgICBleHBlY3RlZF9zdGRlcnIgPSAiIiJydW5fd2Via2l0X3BhdGNoOiBbJ2NsZWFuJ10KKyAg
ICAgICAgZXhwZWN0ZWRfbG9ncyA9ICIiInJ1bl93ZWJraXRfcGF0Y2g6IFsnY2xlYW4nXQogY29t
bWFuZF9wYXNzZWQ6IHN1Y2Nlc3NfbWVzc2FnZT0nQ2xlYW5lZCB3b3JraW5nIGRpcmVjdG9yeScg
cGF0Y2g9JzEwMDAwJwogcnVuX3dlYmtpdF9wYXRjaDogWyd1cGRhdGUnXQogY29tbWFuZF9wYXNz
ZWQ6IHN1Y2Nlc3NfbWVzc2FnZT0nVXBkYXRlZCB3b3JraW5nIGRpcmVjdG9yeScgcGF0Y2g9JzEw
MDAwJwpAQCAtNDgzLDcgKzQ4NSw3IEBAIGFyY2hpdmVfbGFzdF90ZXN0X3Jlc3VsdHM6IHBhdGNo
PScxMDAwMCcKIHJ1bl93ZWJraXRfcGF0Y2g6IFsnYnVpbGQtYW5kLXRlc3QnLCAnLS1mb3JjZS1j
bGVhbicsICctLW5vLXVwZGF0ZScsICctLWJ1aWxkJywgJy0tdGVzdCcsICctLW5vbi1pbnRlcmFj
dGl2ZSddCiBjb21tYW5kX2ZhaWxlZDogZmFpbHVyZV9tZXNzYWdlPSdVbmFibGUgdG8gcGFzcyB0
ZXN0cyB3aXRob3V0IHBhdGNoICh0cmVlIGlzIHJlZD8pJyBzY3JpcHRfZXJyb3I9J01PQ0sgY2xl
YW4gdGVzdCBmYWlsdXJlJyBwYXRjaD0nMTAwMDAnCiAiIiIKLSAgICAgICAgc2VsZi5fcnVuX3Ro
cm91Z2hfdGFzayhjb21taXRfcXVldWUsIGV4cGVjdGVkX3N0ZGVyciwgZXhwZWN0X3JldHJ5PVRy
dWUpCisgICAgICAgIHNlbGYuX3J1bl90aHJvdWdoX3Rhc2soY29tbWl0X3F1ZXVlLCBleHBlY3Rl
ZF9sb2dzLCBleHBlY3RfcmV0cnk9VHJ1ZSkKIAogICAgIGRlZiB0ZXN0X3JlZF90cmVlX3BhdGNo
X3JlamVjdGlvbihzZWxmKToKICAgICAgICAgY29tbWl0X3F1ZXVlID0gRmFpbGluZ1Rlc3RDb21t
aXRRdWV1ZShbCkBAIC01MDMsNyArNTA1LDcgQEAgY29tbWFuZF9mYWlsZWQ6IGZhaWx1cmVfbWVz
c2FnZT0nVW5hYmxlIHRvIHBhc3MgdGVzdHMgd2l0aG91dCBwYXRjaCAodHJlZSBpcyByZWQKIAog
ICAgICAgICAjIFRlc3RzIGFsd2F5cyBmYWlsLCBidXQgdGhlIGNsZWFuIHRyZWUgb25seSBmYWls
cyBvbmUgdGVzdAogICAgICAgICAjIHdoaWxlIHRoZSBwYXRjaCBmYWlscyB0d28uICBTbyB3ZSBz
aG91bGQgcmVqZWN0IHRoZSBwYXRjaCEKLSAgICAgICAgZXhwZWN0ZWRfc3RkZXJyID0gIiIicnVu
X3dlYmtpdF9wYXRjaDogWydjbGVhbiddCisgICAgICAgIGV4cGVjdGVkX2xvZ3MgPSAiIiJydW5f
d2Via2l0X3BhdGNoOiBbJ2NsZWFuJ10KIGNvbW1hbmRfcGFzc2VkOiBzdWNjZXNzX21lc3NhZ2U9
J0NsZWFuZWQgd29ya2luZyBkaXJlY3RvcnknIHBhdGNoPScxMDAwMCcKIHJ1bl93ZWJraXRfcGF0
Y2g6IFsndXBkYXRlJ10KIGNvbW1hbmRfcGFzc2VkOiBzdWNjZXNzX21lc3NhZ2U9J1VwZGF0ZWQg
d29ya2luZyBkaXJlY3RvcnknIHBhdGNoPScxMDAwMCcKQEAgLTUyMiw3ICs1MjQsNyBAQCBhcmNo
aXZlX2xhc3RfdGVzdF9yZXN1bHRzOiBwYXRjaD0nMTAwMDAnCiBydW5fd2Via2l0X3BhdGNoOiBb
J2J1aWxkLWFuZC10ZXN0JywgJy0tZm9yY2UtY2xlYW4nLCAnLS1uby11cGRhdGUnLCAnLS1idWls
ZCcsICctLXRlc3QnLCAnLS1ub24taW50ZXJhY3RpdmUnXQogY29tbWFuZF9mYWlsZWQ6IGZhaWx1
cmVfbWVzc2FnZT0nVW5hYmxlIHRvIHBhc3MgdGVzdHMgd2l0aG91dCBwYXRjaCAodHJlZSBpcyBy
ZWQ/KScgc2NyaXB0X2Vycm9yPSdNT0NLIGNsZWFuIHRlc3QgZmFpbHVyZScgcGF0Y2g9JzEwMDAw
JwogIiIiCi0gICAgICAgIHRhc2sgPSBzZWxmLl9ydW5fdGhyb3VnaF90YXNrKGNvbW1pdF9xdWV1
ZSwgZXhwZWN0ZWRfc3RkZXJyLCBHb2xkZW5TY3JpcHRFcnJvcikKKyAgICAgICAgdGFzayA9IHNl
bGYuX3J1bl90aHJvdWdoX3Rhc2soY29tbWl0X3F1ZXVlLCBleHBlY3RlZF9sb2dzLCBHb2xkZW5T
Y3JpcHRFcnJvcikKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh0YXNrLnJlc3VsdHNfZnJvbV9w
YXRjaF90ZXN0X3J1bih0YXNrLl9wYXRjaCkuZmFpbGluZ190ZXN0cygpLCBbImZvby5odG1sIiwg
ImJhci5odG1sIl0pCiAgICAgICAgICMgZmFpbHVyZV9zdGF0dXNfaWQgc2hvdWxkIGJlIG9mIHRo
ZSB0ZXN0IHdpdGggcGF0Y2ggKDEpLCBub3QgdGhlIHRlc3Qgd2l0aG91dCBwYXRjaCAoMikuCiAg
ICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwodGFzay5mYWlsdXJlX3N0YXR1c19pZCwgMSkKQEAgLTUz
Nyw3ICs1MzksNyBAQCBjb21tYW5kX2ZhaWxlZDogZmFpbHVyZV9tZXNzYWdlPSdVbmFibGUgdG8g
cGFzcyB0ZXN0cyB3aXRob3V0IHBhdGNoICh0cmVlIGlzIHJlZAogICAgICAgICAgICAgTm9uZSwK
ICAgICAgICAgICAgIEdvbGRlblNjcmlwdEVycm9yKCJNT0NLIGxhbmQgZmFpbHVyZSIpLAogICAg
ICAgICBdKQotICAgICAgICBleHBlY3RlZF9zdGRlcnIgPSAiIiJydW5fd2Via2l0X3BhdGNoOiBb
J2NsZWFuJ10KKyAgICAgICAgZXhwZWN0ZWRfbG9ncyA9ICIiInJ1bl93ZWJraXRfcGF0Y2g6IFsn
Y2xlYW4nXQogY29tbWFuZF9wYXNzZWQ6IHN1Y2Nlc3NfbWVzc2FnZT0nQ2xlYW5lZCB3b3JraW5n
IGRpcmVjdG9yeScgcGF0Y2g9JzEwMDAwJwogcnVuX3dlYmtpdF9wYXRjaDogWyd1cGRhdGUnXQog
Y29tbWFuZF9wYXNzZWQ6IHN1Y2Nlc3NfbWVzc2FnZT0nVXBkYXRlZCB3b3JraW5nIGRpcmVjdG9y
eScgcGF0Y2g9JzEwMDAwJwpAQCAtNTUzLDcgKzU1NSw3IEBAIHJ1bl93ZWJraXRfcGF0Y2g6IFsn
bGFuZC1hdHRhY2htZW50JywgJy0tZm9yY2UtY2xlYW4nLCAnLS1ub24taW50ZXJhY3RpdmUnLCAn
LS1wCiBjb21tYW5kX2ZhaWxlZDogZmFpbHVyZV9tZXNzYWdlPSdVbmFibGUgdG8gbGFuZCBwYXRj
aCcgc2NyaXB0X2Vycm9yPSdNT0NLIGxhbmQgZmFpbHVyZScgcGF0Y2g9JzEwMDAwJwogIiIiCiAg
ICAgICAgICMgRklYTUU6IFRoaXMgc2hvdWxkIHJlYWxseSBiZSBleHBlY3RfcmV0cnk9VHJ1ZSBm
b3IgYSBiZXR0ZXIgdXNlciBleHBlcmlhbmNlLgotICAgICAgICBzZWxmLl9ydW5fdGhyb3VnaF90
YXNrKGNvbW1pdF9xdWV1ZSwgZXhwZWN0ZWRfc3RkZXJyLCBHb2xkZW5TY3JpcHRFcnJvcikKKyAg
ICAgICAgc2VsZi5fcnVuX3Rocm91Z2hfdGFzayhjb21taXRfcXVldWUsIGV4cGVjdGVkX2xvZ3Ms
IEdvbGRlblNjcmlwdEVycm9yKQogCiAgICAgZGVmIF9leHBlY3RfdmFsaWRhdGUoc2VsZiwgcGF0
Y2gsIGlzX3ZhbGlkKToKICAgICAgICAgY2xhc3MgTW9ja0RlbGVnYXRlKG9iamVjdCk6CmRpZmYg
LS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvYm90L2ZlZWRlcnMucHkgYi9Ub29s
cy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvYm90L2ZlZWRlcnMucHkKaW5kZXggNGJhMmYwNDg1MGMz
NjNlZjA1NWIxYzAzZTUzYzdlOGQ0ZGY5NWMyYi4uZjRiYzRiOTI3OTA1NGZiMjhjOGRjODlkNjgy
N2MyYmQ0YjVhYWRkMSAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL2Jv
dC9mZWVkZXJzLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9ib3QvZmVlZGVy
cy5weQpAQCAtMjYsMTAgKzI2LDEzIEBACiAjIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQogIyBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgog
CitpbXBvcnQgbG9nZ2luZworCiBmcm9tIHdlYmtpdHB5LmNvbW1vbi5jb25maWcuY29tbWl0dGVy
dmFsaWRhdG9yIGltcG9ydCBDb21taXR0ZXJWYWxpZGF0b3IKLWZyb20gd2Via2l0cHkuY29tbW9u
LnN5c3RlbS5kZXByZWNhdGVkX2xvZ2dpbmcgaW1wb3J0IGxvZwogZnJvbSB3ZWJraXRweS50b29s
LmdyYW1tYXIgaW1wb3J0IHBsdXJhbGl6ZQogCitfbG9nID0gbG9nZ2luZy5nZXRMb2dnZXIoX19u
YW1lX18pCisKIAogY2xhc3MgQWJzdHJhY3RGZWVkZXIob2JqZWN0KToKICAgICBkZWYgX19pbml0
X18oc2VsZiwgdG9vbCk6CkBAIC01MCw3ICs1Myw3IEBAIGNsYXNzIENvbW1pdFF1ZXVlRmVlZGVy
KEFic3RyYWN0RmVlZGVyKToKICAgICAgICAgIyBGSVhNRTogVGhpcyBpcyB0aGUgbGFzdCB1c2Ug
b2YgdXBkYXRlX3dvcmtfaXRlbXMsIHRoZSBjb21taXQtcXVldWUKICAgICAgICAgIyBzaG91bGQg
bW92ZSB0byBmZWVkaW5nIHBhdGNoZXMgb25lIGF0IGEgdGltZSBsaWtlIHRoZSBFV1MgZG9lcy4K
ICAgICAgICAgc2VsZi5fdG9vbC5zdGF0dXNfc2VydmVyLnVwZGF0ZV93b3JrX2l0ZW1zKHNlbGYu
cXVldWVfbmFtZSwgaXRlbV9pZHMpCi0gICAgICAgIGxvZygiRmVlZGluZyAlcyBpdGVtcyAlcyIg
JSAoc2VsZi5xdWV1ZV9uYW1lLCBpdGVtX2lkcykpCisgICAgICAgIF9sb2cuaW5mbygiRmVlZGlu
ZyAlcyBpdGVtcyAlcyIgJSAoc2VsZi5xdWV1ZV9uYW1lLCBpdGVtX2lkcykpCiAKICAgICBkZWYg
ZmVlZChzZWxmKToKICAgICAgICAgcGF0Y2hlcyA9IHNlbGYuX3ZhbGlkYXRlX3BhdGNoZXMoKQpA
QCAtODksNyArOTIsNyBAQCBjbGFzcyBFV1NGZWVkZXIoQWJzdHJhY3RGZWVkZXIpOgogICAgIGRl
ZiBmZWVkKHNlbGYpOgogICAgICAgICBpZHNfbmVlZGluZ19yZXZpZXcgPSBzZXQoc2VsZi5fdG9v
bC5idWdzLnF1ZXJpZXMuZmV0Y2hfYXR0YWNobWVudF9pZHNfZnJvbV9yZXZpZXdfcXVldWUoKSkK
ICAgICAgICAgbmV3X2lkcyA9IGlkc19uZWVkaW5nX3Jldmlldy5kaWZmZXJlbmNlKHNlbGYuX2lk
c19zZW50X3RvX3NlcnZlcikKLSAgICAgICAgbG9nKCJGZWVkaW5nIEVXUyAoJXMsICVzIG5ldyki
ICUgKHBsdXJhbGl6ZSgicj8gcGF0Y2giLCBsZW4oaWRzX25lZWRpbmdfcmV2aWV3KSksIGxlbihu
ZXdfaWRzKSkpCisgICAgICAgIF9sb2cuaW5mbygiRmVlZGluZyBFV1MgKCVzLCAlcyBuZXcpIiAl
IChwbHVyYWxpemUoInI/IHBhdGNoIiwgbGVuKGlkc19uZWVkaW5nX3JldmlldykpLCBsZW4obmV3
X2lkcykpKQogICAgICAgICBmb3IgYXR0YWNobWVudF9pZCBpbiBuZXdfaWRzOiAgIyBPcmRlciBk
b2Vzbid0IHJlYWxseSBtYXR0ZXIgZm9yIHRoZSBFV1MuCiAgICAgICAgICAgICBzZWxmLl90b29s
LnN0YXR1c19zZXJ2ZXIuc3VibWl0X3RvX2V3cyhhdHRhY2htZW50X2lkKQogICAgICAgICAgICAg
c2VsZi5faWRzX3NlbnRfdG9fc2VydmVyLmFkZChhdHRhY2htZW50X2lkKQpkaWZmIC0tZ2l0IGEv
VG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL2JvdC9mZWVkZXJzX3VuaXR0ZXN0LnB5IGIvVG9v
bHMvU2NyaXB0cy93ZWJraXRweS90b29sL2JvdC9mZWVkZXJzX3VuaXR0ZXN0LnB5CmluZGV4IDA2
MGE1Yzg1YmFhOTBhNTQzZjIwZmI3ZjVkMTEzZGVhNWQ2N2FmZmYuLmYwZTgyYjIwYzZhNDI3YTFj
MGRjMWU1MjQ4NTJiZjMxZTJmNDVhMWQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0
cHkvdG9vbC9ib3QvZmVlZGVyc191bml0dGVzdC5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtp
dHB5L3Rvb2wvYm90L2ZlZWRlcnNfdW5pdHRlc3QucHkKQEAgLTQ2LDkgKzQ2LDkgQEAgTU9DSyBz
ZXR0aW5nIGZsYWcgJ2NvbW1pdC1xdWV1ZScgdG8gJy0nIG9uIGF0dGFjaG1lbnQgJzEwMDAxJyB3
aXRoIGNvbW1lbnQgJ1JlamUKIAogLSBJZiB5b3UgaGF2ZSBjb21taXR0ZXIgcmlnaHRzIHBsZWFz
ZSBjb3JyZWN0IHRoZSBlcnJvciBpbiBUb29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9jb25m
aWcvY29tbWl0dGVycy5weSBieSBhZGRpbmcgeW91cnNlbGYgdG8gdGhlIGZpbGUgKG5vIHJldmll
dyBuZWVkZWQpLiAgVGhlIGNvbW1pdC1xdWV1ZSByZXN0YXJ0cyBpdHNlbGYgZXZlcnkgMiBob3Vy
cy4gIEFmdGVyIHJlc3RhcnQgdGhlIGNvbW1pdC1xdWV1ZSB3aWxsIGNvcnJlY3RseSByZXNwZWN0
IHlvdXIgY29tbWl0dGVyIHJpZ2h0cy4nCiBNT0NLOiB1cGRhdGVfd29ya19pdGVtczogY29tbWl0
LXF1ZXVlIFsxMDAwNSwgMTAwMDBdCi1GZWVkaW5nIGNvbW1pdC1xdWV1ZSBpdGVtcyBbMTAwMDUs
IDEwMDAwXQogIiIiCi0gICAgICAgIE91dHB1dENhcHR1cmUoKS5hc3NlcnRfb3V0cHV0cyhzZWxm
LCBmZWVkZXIuZmVlZCwgZXhwZWN0ZWRfc3RkZXJyPWV4cGVjdGVkX3N0ZGVycikKKyAgICAgICAg
ZXhwZWN0ZWRfbG9ncyA9ICJGZWVkaW5nIGNvbW1pdC1xdWV1ZSBpdGVtcyBbMTAwMDUsIDEwMDAw
XVxuIgorICAgICAgICBPdXRwdXRDYXB0dXJlKCkuYXNzZXJ0X291dHB1dHMoc2VsZiwgZmVlZGVy
LmZlZWQsIGV4cGVjdGVkX3N0ZGVycj1leHBlY3RlZF9zdGRlcnIsIGV4cGVjdGVkX2xvZ3M9ZXhw
ZWN0ZWRfbG9ncykKIAogICAgIGRlZiBfbW9ja19hdHRhY2htZW50KHNlbGYsIGlzX3JvbGxvdXQs
IGF0dGFjaF9kYXRlKToKICAgICAgICAgYXR0YWNobWVudCA9IE1vY2soKQpkaWZmIC0tZ2l0IGEv
VG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL2JvdC9sYXlvdXR0ZXN0cmVzdWx0c3JlYWRlci5w
eSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9ib3QvbGF5b3V0dGVzdHJlc3VsdHNyZWFk
ZXIucHkKaW5kZXggOTRhNzBiMmJjNTJhOWY0NmJiZmI5ZDBlNGY2YjI4NjYyNDEwZWY0NC4uNGUw
OWY4OTZmNDMxYmZlMjBjYjg1NGY1MzUxMzdiMjhiZjNlYzI4MCAxMDA2NDQKLS0tIGEvVG9vbHMv
U2NyaXB0cy93ZWJraXRweS90b29sL2JvdC9sYXlvdXR0ZXN0cmVzdWx0c3JlYWRlci5weQorKysg
Yi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvYm90L2xheW91dHRlc3RyZXN1bHRzcmVhZGVy
LnB5CkBAIC0yNiwxMSArMjYsMTQgQEAKICMgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCiAjIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAK
K2ltcG9ydCBsb2dnaW5nCisKIGZyb20gd2Via2l0cHkuY29tbW9uLm5ldC5sYXlvdXR0ZXN0cmVz
dWx0cyBpbXBvcnQgTGF5b3V0VGVzdFJlc3VsdHMKIGZyb20gd2Via2l0cHkuY29tbW9uLm5ldC51
bml0dGVzdHJlc3VsdHMgaW1wb3J0IFVuaXRUZXN0UmVzdWx0cwotZnJvbSB3ZWJraXRweS5jb21t
b24uc3lzdGVtLmRlcHJlY2F0ZWRfbG9nZ2luZyBpbXBvcnQgZXJyb3IsIGxvZwogZnJvbSB3ZWJr
aXRweS50b29sLnN0ZXBzLnJ1bnRlc3RzIGltcG9ydCBSdW5UZXN0cwogCitfbG9nID0gbG9nZ2lu
Zy5nZXRMb2dnZXIoX19uYW1lX18pCisKIAogY2xhc3MgTGF5b3V0VGVzdFJlc3VsdHNSZWFkZXIo
b2JqZWN0KToKICAgICBkZWYgX19pbml0X18oc2VsZiwgdG9vbCwgYXJjaGl2ZV9kaXJlY3Rvcnkp
OgpAQCAtOTIsNyArOTUsNyBAQCBjbGFzcyBMYXlvdXRUZXN0UmVzdWx0c1JlYWRlcihvYmplY3Qp
OgogICAgICAgICBpZiBub3QgemlwX3BhdGg6CiAgICAgICAgICAgICByZXR1cm4gTm9uZQogICAg
ICAgICBpZiBub3Qgc2VsZi5fdG9vbC5maWxlc3lzdGVtLmlzZGlyKHJlc3VsdHNfZGlyZWN0b3J5
KToKLSAgICAgICAgICAgIGxvZygiJXMgZG9lcyBub3QgZXhpc3QsIG5vdCBhcmNoaXZpbmcuIiAl
IHJlc3VsdHNfZGlyZWN0b3J5KQorICAgICAgICAgICAgX2xvZy5pbmZvKCIlcyBkb2VzIG5vdCBl
eGlzdCwgbm90IGFyY2hpdmluZy4iICUgcmVzdWx0c19kaXJlY3RvcnkpCiAgICAgICAgICAgICBy
ZXR1cm4gTm9uZQogICAgICAgICBhcmNoaXZlID0gc2VsZi5fdG9vbC53b3Jrc3BhY2UuY3JlYXRl
X3ppcCh6aXBfcGF0aCwgcmVzdWx0c19kaXJlY3RvcnkpCiAgICAgICAgICMgUmVtb3ZlIHRoZSBy
ZXN1bHRzIGRpcmVjdG9yeSB0byBwcmV2ZW50IGh0dHAgbG9ncywgZXRjLiBmcm9tIGdldHRpbmcg
aHVnZSBiZXR3ZWVuIHJ1bnMuCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rv
b2wvYm90L2xheW91dHRlc3RyZXN1bHRzcmVhZGVyX3VuaXR0ZXN0LnB5IGIvVG9vbHMvU2NyaXB0
cy93ZWJraXRweS90b29sL2JvdC9sYXlvdXR0ZXN0cmVzdWx0c3JlYWRlcl91bml0dGVzdC5weQpp
bmRleCA5NmUyZTRlZWY4YWRjM2YzOTExYTA2NmNlYzBmYzcwN2FhNTFiZjllLi42MDc5NjMyYmQx
ZDdkZGU1ZDgyYzA3MmE5MjhmN2MzYzQ0YWQwODkzIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRz
L3dlYmtpdHB5L3Rvb2wvYm90L2xheW91dHRlc3RyZXN1bHRzcmVhZGVyX3VuaXR0ZXN0LnB5Cisr
KyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9ib3QvbGF5b3V0dGVzdHJlc3VsdHNyZWFk
ZXJfdW5pdHRlc3QucHkKQEAgLTkxLDggKzkxLDggQEAgY2xhc3MgTGF5b3V0VGVzdFJlc3VsdHNS
ZWFkZXJUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAgICAgcGF0Y2ggPSB0b29sLmJ1Z3Mu
ZmV0Y2hfYXR0YWNobWVudCgxMDAwMSkKICAgICAgICAgdG9vbC5maWxlc3lzdGVtID0gTW9ja0Zp
bGVTeXN0ZW0oKQogICAgICAgICAjIFNob3VsZCBmYWlsIGJlY2F1c2UgdGhlIHJlc3VsdHNfZGly
ZWN0b3J5IGRvZXMgbm90IGV4aXN0LgotICAgICAgICBleHBlY3RlZF9zdGRlcnIgPSAiL21vY2st
cmVzdWx0cyBkb2VzIG5vdCBleGlzdCwgbm90IGFyY2hpdmluZy5cbiIKLSAgICAgICAgYXJjaGl2
ZSA9IE91dHB1dENhcHR1cmUoKS5hc3NlcnRfb3V0cHV0cyhzZWxmLCByZWFkZXIuYXJjaGl2ZSwg
W3BhdGNoXSwgZXhwZWN0ZWRfc3RkZXJyPWV4cGVjdGVkX3N0ZGVycikKKyAgICAgICAgZXhwZWN0
ZWRfbG9ncyA9ICIvbW9jay1yZXN1bHRzIGRvZXMgbm90IGV4aXN0LCBub3QgYXJjaGl2aW5nLlxu
IgorICAgICAgICBhcmNoaXZlID0gT3V0cHV0Q2FwdHVyZSgpLmFzc2VydF9vdXRwdXRzKHNlbGYs
IHJlYWRlci5hcmNoaXZlLCBbcGF0Y2hdLCBleHBlY3RlZF9sb2dzPWV4cGVjdGVkX2xvZ3MpCiAg
ICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYXJjaGl2ZSwgTm9uZSkKIAogICAgICAgICByZXN1bHRz
X2RpcmVjdG9yeSA9ICIvbW9jay1yZXN1bHRzIgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93
ZWJraXRweS90b29sL2JvdC9zaGVyaWZmLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29s
L2JvdC9zaGVyaWZmLnB5CmluZGV4IGE4YzkyOGM5YjdjYThhNzNjOGEzMWQ2NjJjMThhMzMyMmQ3
NWU4ODkuLmI0ZTk1YWVjMDczNWZiYTc3N2U3Y2I0NTM4NGQzYjU5MWQwMTI4MTUgMTAwNjQ0Ci0t
LSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9ib3Qvc2hlcmlmZi5weQorKysgYi9Ub29s
cy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvYm90L3NoZXJpZmYucHkKQEAgLTI3LDcgKzI3LDYgQEAK
ICMgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KIAogZnJvbSB3ZWJraXRweS5jb21tb24uY29uZmlnIGltcG9ydCB1cmxz
Ci1mcm9tIHdlYmtpdHB5LmNvbW1vbi5zeXN0ZW0uZGVwcmVjYXRlZF9sb2dnaW5nIGltcG9ydCBs
b2cKIGZyb20gd2Via2l0cHkuY29tbW9uLnN5c3RlbS5leGVjdXRpdmUgaW1wb3J0IFNjcmlwdEVy
cm9yCiBmcm9tIHdlYmtpdHB5LnRvb2wuZ3JhbW1hciBpbXBvcnQgam9pbl93aXRoX3NlcGFyYXRv
cnMKIApkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL2NvbW1hbmRzL2Fi
c3RyYWN0c2VxdWVuY2VkY29tbWFuZC5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9j
b21tYW5kcy9hYnN0cmFjdHNlcXVlbmNlZGNvbW1hbmQucHkKaW5kZXggNWVhZjI0OWM1NWEzZDJi
MDQwYTE2ZTRkZmRjNGU0NjZkNDNkY2Y4ZC4uMDU5M2YyY2ZjZGY1ODZlNWY2MDg0MGFkNDQ1YWNh
ZDcxYTg3ZDdkYiAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL2NvbW1h
bmRzL2Fic3RyYWN0c2VxdWVuY2VkY29tbWFuZC5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtp
dHB5L3Rvb2wvY29tbWFuZHMvYWJzdHJhY3RzZXF1ZW5jZWRjb21tYW5kLnB5CkBAIC0yNiwxMSAr
MjYsMTQgQEAKICMgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCiAjIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAKK2ltcG9ydCBsb2dnaW5n
CisKIGZyb20gd2Via2l0cHkuY29tbW9uLnN5c3RlbS5leGVjdXRpdmUgaW1wb3J0IFNjcmlwdEVy
cm9yCi1mcm9tIHdlYmtpdHB5LmNvbW1vbi5zeXN0ZW0uZGVwcmVjYXRlZF9sb2dnaW5nIGltcG9y
dCBsb2cKIGZyb20gd2Via2l0cHkudG9vbC5jb21tYW5kcy5zdGVwc2VxdWVuY2UgaW1wb3J0IFN0
ZXBTZXF1ZW5jZQogZnJvbSB3ZWJraXRweS50b29sLm11bHRpY29tbWFuZHRvb2wgaW1wb3J0IEFi
c3RyYWN0RGVjbGFyYXRpdmVDb21tYW5kCiAKK19sb2cgPSBsb2dnaW5nLmdldExvZ2dlcihfX25h
bWVfXykKKwogCiBjbGFzcyBBYnN0cmFjdFNlcXVlbmNlZENvbW1hbmQoQWJzdHJhY3REZWNsYXJh
dGl2ZUNvbW1hbmQpOgogICAgIHN0ZXBzID0gTm9uZQpAQCAtNDUsNyArNDgsNyBAQCBjbGFzcyBB
YnN0cmFjdFNlcXVlbmNlZENvbW1hbmQoQWJzdHJhY3REZWNsYXJhdGl2ZUNvbW1hbmQpOgogICAg
ICAgICB0cnk6CiAgICAgICAgICAgICBzdGF0ZSA9IHNlbGYuX3ByZXBhcmVfc3RhdGUob3B0aW9u
cywgYXJncywgdG9vbCkKICAgICAgICAgZXhjZXB0IFNjcmlwdEVycm9yLCBlOgotICAgICAgICAg
ICAgbG9nKGUubWVzc2FnZV93aXRoX291dHB1dCgpKQorICAgICAgICAgICAgX2xvZy5lcnJvcihl
Lm1lc3NhZ2Vfd2l0aF9vdXRwdXQoKSkKICAgICAgICAgICAgIHNlbGYuX2V4aXQoZS5leGl0X2Nv
ZGUgb3IgMikKIAogICAgICAgICBzZWxmLl9zZXF1ZW5jZS5ydW5fYW5kX2hhbmRsZV9lcnJvcnMo
dG9vbCwgb3B0aW9ucywgc3RhdGUpCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5
L3Rvb2wvY29tbWFuZHMvY29tbWFuZHRlc3QucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rv
b2wvY29tbWFuZHMvY29tbWFuZHRlc3QucHkKaW5kZXggZWVhMGE2MTU2MWUwNmM5ODZkOWFlZTUy
Y2JkOTdlN2I0MmYxNWRhMS4uNjVmNDViNThmMDRlYWM3ZjMyM2EzMmU1OTlmOWZmNWNjYzQxODJh
YiAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL2NvbW1hbmRzL2NvbW1h
bmR0ZXN0LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9jb21tYW5kcy9jb21t
YW5kdGVzdC5weQpAQCAtMzIsNyArMzIsNyBAQCBmcm9tIHdlYmtpdHB5LnRvb2wubW9ja3Rvb2wg
aW1wb3J0IE1vY2tPcHRpb25zLCBNb2NrVG9vbAogCiAKIGNsYXNzIENvbW1hbmRzVGVzdChUZXN0
Q2FzZSk6Ci0gICAgZGVmIGFzc2VydF9leGVjdXRlX291dHB1dHMoc2VsZiwgY29tbWFuZCwgYXJn
cz1bXSwgZXhwZWN0ZWRfc3Rkb3V0PSIiLCBleHBlY3RlZF9zdGRlcnI9IiIsIGV4cGVjdGVkX2V4
Y2VwdGlvbj1Ob25lLCBvcHRpb25zPU1vY2tPcHRpb25zKCksIHRvb2w9TW9ja1Rvb2woKSk6Cisg
ICAgZGVmIGFzc2VydF9leGVjdXRlX291dHB1dHMoc2VsZiwgY29tbWFuZCwgYXJncz1bXSwgZXhw
ZWN0ZWRfc3Rkb3V0PSIiLCBleHBlY3RlZF9zdGRlcnI9IiIsIGV4cGVjdGVkX2V4Y2VwdGlvbj1O
b25lLCBleHBlY3RlZF9sb2dzPU5vbmUsIG9wdGlvbnM9TW9ja09wdGlvbnMoKSwgdG9vbD1Nb2Nr
VG9vbCgpKToKICAgICAgICAgb3B0aW9ucy5ibG9ja3MgPSBOb25lCiAgICAgICAgIG9wdGlvbnMu
Y2MgPSAnTU9DSyBjYycKICAgICAgICAgb3B0aW9ucy5jb21wb25lbnQgPSAnTU9DSyBjb21wb25l
bnQnCkBAIC00NSw0ICs0NSw0IEBAIGNsYXNzIENvbW1hbmRzVGVzdChUZXN0Q2FzZSk6CiAgICAg
ICAgIG9wdGlvbnMucXVpZXQgPSBUcnVlCiAgICAgICAgIG9wdGlvbnMucmV2aWV3ZXIgPSAnTU9D
SyByZXZpZXdlcicKICAgICAgICAgY29tbWFuZC5iaW5kX3RvX3Rvb2wodG9vbCkKLSAgICAgICAg
T3V0cHV0Q2FwdHVyZSgpLmFzc2VydF9vdXRwdXRzKHNlbGYsIGNvbW1hbmQuZXhlY3V0ZSwgW29w
dGlvbnMsIGFyZ3MsIHRvb2xdLCBleHBlY3RlZF9zdGRvdXQ9ZXhwZWN0ZWRfc3Rkb3V0LCBleHBl
Y3RlZF9zdGRlcnI9ZXhwZWN0ZWRfc3RkZXJyLCBleHBlY3RlZF9leGNlcHRpb249ZXhwZWN0ZWRf
ZXhjZXB0aW9uKQorICAgICAgICBPdXRwdXRDYXB0dXJlKCkuYXNzZXJ0X291dHB1dHMoc2VsZiwg
Y29tbWFuZC5leGVjdXRlLCBbb3B0aW9ucywgYXJncywgdG9vbF0sIGV4cGVjdGVkX3N0ZG91dD1l
eHBlY3RlZF9zdGRvdXQsIGV4cGVjdGVkX3N0ZGVycj1leHBlY3RlZF9zdGRlcnIsIGV4cGVjdGVk
X2V4Y2VwdGlvbj1leHBlY3RlZF9leGNlcHRpb24sIGV4cGVjdGVkX2xvZ3M9ZXhwZWN0ZWRfbG9n
cykKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9jb21tYW5kcy9kb3du
bG9hZC5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9jb21tYW5kcy9kb3dubG9hZC5w
eQppbmRleCBiM2VlMTIzOWNmYzIxZTk0ODEzMWQ4Njk1ZDljYTQxODliMzNjYTBmLi5iZGQ3ODBk
MmMzZjg5NGU5OGM1Y2RlN2UwMWJiMzhjZTkzNzE0Y2JmIDEwMDY0NAotLS0gYS9Ub29scy9TY3Jp
cHRzL3dlYmtpdHB5L3Rvb2wvY29tbWFuZHMvZG93bmxvYWQucHkKKysrIGIvVG9vbHMvU2NyaXB0
cy93ZWJraXRweS90b29sL2NvbW1hbmRzL2Rvd25sb2FkLnB5CkBAIC0yNyw2ICsyNyw4IEBACiAj
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRQogIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogCitpbXBvcnQgbG9nZ2luZworCiBmcm9tIHdl
YmtpdHB5LnRvb2wgaW1wb3J0IHN0ZXBzCiAKIGZyb20gd2Via2l0cHkuY29tbW9uLmNoZWNrb3V0
LmNoYW5nZWxvZyBpbXBvcnQgQ2hhbmdlTG9nCkBAIC0zNyw3ICszOSw4IEBAIGZyb20gd2Via2l0
cHkudG9vbC5jb21tYW5kcy5zdGVwc2VxdWVuY2UgaW1wb3J0IFN0ZXBTZXF1ZW5jZQogZnJvbSB3
ZWJraXRweS50b29sLmNvbW1lbnRzIGltcG9ydCBidWdfY29tbWVudF9mcm9tX2NvbW1pdF90ZXh0
CiBmcm9tIHdlYmtpdHB5LnRvb2wuZ3JhbW1hciBpbXBvcnQgcGx1cmFsaXplCiBmcm9tIHdlYmtp
dHB5LnRvb2wubXVsdGljb21tYW5kdG9vbCBpbXBvcnQgQWJzdHJhY3REZWNsYXJhdGl2ZUNvbW1h
bmQKLWZyb20gd2Via2l0cHkuY29tbW9uLnN5c3RlbS5kZXByZWNhdGVkX2xvZ2dpbmcgaW1wb3J0
IGVycm9yLCBsb2cKKworX2xvZyA9IGxvZ2dpbmcuZ2V0TG9nZ2VyKF9fbmFtZV9fKQogCiAKIGNs
YXNzIENsZWFuKEFic3RyYWN0U2VxdWVuY2VkQ29tbWFuZCk6CkBAIC0xNjQsNyArMTY3LDcgQEAg
Y2xhc3MgQWJzdHJhY3RQYXRjaFByb2Nlc3NpbmdDb21tYW5kKEFic3RyYWN0RGVjbGFyYXRpdmVD
b21tYW5kKToKIAogICAgICAgICAjIEl0J3MgbmljZSB0byBwcmludCBvdXQgdG90YWwgc3RhdGlz
dGljcy4KICAgICAgICAgYnVnc190b19wYXRjaGVzID0gc2VsZi5fY29sbGVjdF9wYXRjaGVzX2J5
X2J1ZyhwYXRjaGVzKQotICAgICAgICBsb2coIlByb2Nlc3NpbmcgJXMgZnJvbSAlcy4iICUgKHBs
dXJhbGl6ZSgicGF0Y2giLCBsZW4ocGF0Y2hlcykpLCBwbHVyYWxpemUoImJ1ZyIsIGxlbihidWdz
X3RvX3BhdGNoZXMpKSkpCisgICAgICAgIF9sb2cuaW5mbygiUHJvY2Vzc2luZyAlcyBmcm9tICVz
LiIgJSAocGx1cmFsaXplKCJwYXRjaCIsIGxlbihwYXRjaGVzKSksIHBsdXJhbGl6ZSgiYnVnIiwg
bGVuKGJ1Z3NfdG9fcGF0Y2hlcykpKSkKIAogICAgICAgICBmb3IgcGF0Y2ggaW4gcGF0Y2hlczoK
ICAgICAgICAgICAgIHNlbGYuX3Byb2Nlc3NfcGF0Y2gocGF0Y2gsIG9wdGlvbnMsIGFyZ3MsIHRv
b2wpCkBAIC0xOTksMTMgKzIwMiwxMyBAQCBjbGFzcyBQcm9jZXNzQnVnc01peGluKG9iamVjdCk6
CiAgICAgICAgIGFsbF9wYXRjaGVzID0gW10KICAgICAgICAgZm9yIGJ1Z19pZCBpbiBhcmdzOgog
ICAgICAgICAgICAgcGF0Y2hlcyA9IHRvb2wuYnVncy5mZXRjaF9idWcoYnVnX2lkKS5yZXZpZXdl
ZF9wYXRjaGVzKCkKLSAgICAgICAgICAgIGxvZygiJXMgZm91bmQgb24gYnVnICVzLiIgJSAocGx1
cmFsaXplKCJyZXZpZXdlZCBwYXRjaCIsIGxlbihwYXRjaGVzKSksIGJ1Z19pZCkpCisgICAgICAg
ICAgICBfbG9nLmluZm8oIiVzIGZvdW5kIG9uIGJ1ZyAlcy4iICUgKHBsdXJhbGl6ZSgicmV2aWV3
ZWQgcGF0Y2giLCBsZW4ocGF0Y2hlcykpLCBidWdfaWQpKQogICAgICAgICAgICAgYWxsX3BhdGNo
ZXMgKz0gcGF0Y2hlcwogICAgICAgICBpZiBub3QgYWxsX3BhdGNoZXM6Ci0gICAgICAgICAgICBs
b2coIk5vIHJldmlld2VkIHBhdGNoZXMgZm91bmQsIGxvb2tpbmcgZm9yIHVucmV2aWV3ZWQgcGF0
Y2hlcy4iKQorICAgICAgICAgICAgX2xvZy5pbmZvKCJObyByZXZpZXdlZCBwYXRjaGVzIGZvdW5k
LCBsb29raW5nIGZvciB1bnJldmlld2VkIHBhdGNoZXMuIikKICAgICAgICAgICAgIGZvciBidWdf
aWQgaW4gYXJnczoKICAgICAgICAgICAgICAgICBwYXRjaGVzID0gdG9vbC5idWdzLmZldGNoX2J1
ZyhidWdfaWQpLnBhdGNoZXMoKQotICAgICAgICAgICAgICAgIGxvZygiJXMgZm91bmQgb24gYnVn
ICVzLiIgJSAocGx1cmFsaXplKCJwYXRjaCIsIGxlbihwYXRjaGVzKSksIGJ1Z19pZCkpCisgICAg
ICAgICAgICAgICAgX2xvZy5pbmZvKCIlcyBmb3VuZCBvbiBidWcgJXMuIiAlIChwbHVyYWxpemUo
InBhdGNoIiwgbGVuKHBhdGNoZXMpKSwgYnVnX2lkKSkKICAgICAgICAgICAgICAgICBhbGxfcGF0
Y2hlcyArPSBwYXRjaGVzCiAgICAgICAgIHJldHVybiBhbGxfcGF0Y2hlcwogCkBAIC0yMTcsNyAr
MjIwLDcgQEAgY2xhc3MgUHJvY2Vzc1VSTHNNaXhpbihvYmplY3QpOgogICAgICAgICAgICAgYnVn
X2lkID0gdXJscy5wYXJzZV9idWdfaWQodXJsKQogICAgICAgICAgICAgaWYgYnVnX2lkOgogICAg
ICAgICAgICAgICAgIHBhdGNoZXMgPSB0b29sLmJ1Z3MuZmV0Y2hfYnVnKGJ1Z19pZCkucGF0Y2hl
cygpCi0gICAgICAgICAgICAgICAgbG9nKCIlcyBmb3VuZCBvbiBidWcgJXMuIiAlIChwbHVyYWxp
emUoInBhdGNoIiwgbGVuKHBhdGNoZXMpKSwgYnVnX2lkKSkKKyAgICAgICAgICAgICAgICBfbG9n
LmluZm8oIiVzIGZvdW5kIG9uIGJ1ZyAlcy4iICUgKHBsdXJhbGl6ZSgicGF0Y2giLCBsZW4ocGF0
Y2hlcykpLCBidWdfaWQpKQogICAgICAgICAgICAgICAgIGFsbF9wYXRjaGVzICs9IHBhdGNoZXMK
IAogICAgICAgICAgICAgYXR0YWNobWVudF9pZCA9IHVybHMucGFyc2VfYXR0YWNobWVudF9pZCh1
cmwpCkBAIC0zNzAsOSArMzczLDkgQEAgY2xhc3MgQWJzdHJhY3RSb2xsb3V0UHJlcENvbW1hbmQo
QWJzdHJhY3RTZXF1ZW5jZWRDb21tYW5kKToKICAgICAgICAgICAgICMgICAgICAgU2hlcmlmZkJv
dCBiZWNhdXNlIHRoZSBTaGVyaWZmQm90IGp1c3QgZ3JlcHMgdGhlIG91dHB1dAogICAgICAgICAg
ICAgIyAgICAgICBvZiBjcmVhdGUtcm9sbG91dCBmb3IgYnVnIFVSTHMuICBJdCBzaG91bGQgZG8g
YmV0dGVyCiAgICAgICAgICAgICAjICAgICAgIHBhcnNpbmcgaW5zdGVhZC4KLSAgICAgICAgICAg
IGxvZygiUHJlcGFyaW5nIHJvbGxvdXQgZm9yIGJ1ZyAlcy4iICUgY29tbWl0X2luZm8uYnVnX2lk
KCkpCisgICAgICAgICAgICBfbG9nLmluZm8oIlByZXBhcmluZyByb2xsb3V0IGZvciBidWcgJXMu
IiAlIGNvbW1pdF9pbmZvLmJ1Z19pZCgpKQogICAgICAgICBlbHNlOgotICAgICAgICAgICAgbG9n
KCJVbmFibGUgdG8gcGFyc2UgYnVnIG51bWJlciBmcm9tIGRpZmYuIikKKyAgICAgICAgICAgIF9s
b2cuaW5mbygiVW5hYmxlIHRvIHBhcnNlIGJ1ZyBudW1iZXIgZnJvbSBkaWZmLiIpCiAgICAgICAg
IHJldHVybiBjb21taXRfaW5mbwogCiAgICAgZGVmIF9wcmVwYXJlX3N0YXRlKHNlbGYsIG9wdGlv
bnMsIGFyZ3MsIHRvb2wpOgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29s
L2NvbW1hbmRzL2Rvd25sb2FkX3VuaXR0ZXN0LnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90
b29sL2NvbW1hbmRzL2Rvd25sb2FkX3VuaXR0ZXN0LnB5CmluZGV4IGI3MWYzZGFhZmI2NjZiZjU4
ZDAzY2Q0YmM0ODFhODdlMjJlMDlkNjkuLmJhZTk5MjdmYjkwOWU5YjhkODAzMjg0ZjVhMTRiN2Q4
YzgzOWE2ZGYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9jb21tYW5k
cy9kb3dubG9hZF91bml0dGVzdC5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wv
Y29tbWFuZHMvZG93bmxvYWRfdW5pdHRlc3QucHkKQEAgLTQzLDE1ICs0MywxNSBAQCBjbGFzcyBB
YnN0cmFjdFJvbGxvdXRQcmVwQ29tbWFuZFRlc3QodW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAg
ICBjb21tYW5kLmJpbmRfdG9fdG9vbCh0b29sKQogICAgICAgICBvdXRwdXQgPSBPdXRwdXRDYXB0
dXJlKCkKIAotICAgICAgICBleHBlY3RlZF9zdGRlcnIgPSAiUHJlcGFyaW5nIHJvbGxvdXQgZm9y
IGJ1ZyA1MDAwMC5cbiIKLSAgICAgICAgY29tbWl0X2luZm8gPSBvdXRwdXQuYXNzZXJ0X291dHB1
dHMoc2VsZiwgY29tbWFuZC5fY29tbWl0X2luZm8sIFsxMjM0XSwgZXhwZWN0ZWRfc3RkZXJyPWV4
cGVjdGVkX3N0ZGVycikKKyAgICAgICAgZXhwZWN0ZWRfbG9ncyA9ICJQcmVwYXJpbmcgcm9sbG91
dCBmb3IgYnVnIDUwMDAwLlxuIgorICAgICAgICBjb21taXRfaW5mbyA9IG91dHB1dC5hc3NlcnRf
b3V0cHV0cyhzZWxmLCBjb21tYW5kLl9jb21taXRfaW5mbywgWzEyMzRdLCBleHBlY3RlZF9sb2dz
PWV4cGVjdGVkX2xvZ3MpCiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShjb21taXRfaW5mbykKIAog
ICAgICAgICBtb2NrX2NvbW1pdF9pbmZvID0gTW9jaygpCiAgICAgICAgIG1vY2tfY29tbWl0X2lu
Zm8uYnVnX2lkID0gbGFtYmRhOiBOb25lCiAgICAgICAgIHRvb2wuX2NoZWNrb3V0LmNvbW1pdF9p
bmZvX2Zvcl9yZXZpc2lvbiA9IGxhbWJkYSByZXZpc2lvbjogbW9ja19jb21taXRfaW5mbwotICAg
ICAgICBleHBlY3RlZF9zdGRlcnIgPSAiVW5hYmxlIHRvIHBhcnNlIGJ1ZyBudW1iZXIgZnJvbSBk
aWZmLlxuIgotICAgICAgICBjb21taXRfaW5mbyA9IG91dHB1dC5hc3NlcnRfb3V0cHV0cyhzZWxm
LCBjb21tYW5kLl9jb21taXRfaW5mbywgWzEyMzRdLCBleHBlY3RlZF9zdGRlcnI9ZXhwZWN0ZWRf
c3RkZXJyKQorICAgICAgICBleHBlY3RlZF9sb2dzID0gIlVuYWJsZSB0byBwYXJzZSBidWcgbnVt
YmVyIGZyb20gZGlmZi5cbiIKKyAgICAgICAgY29tbWl0X2luZm8gPSBvdXRwdXQuYXNzZXJ0X291
dHB1dHMoc2VsZiwgY29tbWFuZC5fY29tbWl0X2luZm8sIFsxMjM0XSwgZXhwZWN0ZWRfbG9ncz1l
eHBlY3RlZF9sb2dzKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNvbW1pdF9pbmZvLCBtb2Nr
X2NvbW1pdF9pbmZvKQogCiAgICAgZGVmIHRlc3RfcHJlcGFyZV9zdGF0ZShzZWxmKToKQEAgLTkw
LDQ1ICs5MCw2NiBAQCBjbGFzcyBEb3dubG9hZENvbW1hbmRzVGVzdChDb21tYW5kc1Rlc3QpOgog
ICAgICAgICByZXR1cm4gb3B0aW9ucwogCiAgICAgZGVmIHRlc3RfYnVpbGQoc2VsZik6Ci0gICAg
ICAgIGV4cGVjdGVkX3N0ZGVyciA9ICJVcGRhdGluZyB3b3JraW5nIGRpcmVjdG9yeVxuQnVpbGRp
bmcgV2ViS2l0XG4iCi0gICAgICAgIHNlbGYuYXNzZXJ0X2V4ZWN1dGVfb3V0cHV0cyhCdWlsZCgp
LCBbXSwgb3B0aW9ucz1zZWxmLl9kZWZhdWx0X29wdGlvbnMoKSwgZXhwZWN0ZWRfc3RkZXJyPWV4
cGVjdGVkX3N0ZGVycikKKyAgICAgICAgZXhwZWN0ZWRfbG9ncyA9ICJVcGRhdGluZyB3b3JraW5n
IGRpcmVjdG9yeVxuQnVpbGRpbmcgV2ViS2l0XG4iCisgICAgICAgIHNlbGYuYXNzZXJ0X2V4ZWN1
dGVfb3V0cHV0cyhCdWlsZCgpLCBbXSwgb3B0aW9ucz1zZWxmLl9kZWZhdWx0X29wdGlvbnMoKSwg
ZXhwZWN0ZWRfbG9ncz1leHBlY3RlZF9sb2dzKQogCiAgICAgZGVmIHRlc3RfYnVpbGRfYW5kX3Rl
c3Qoc2VsZik6Ci0gICAgICAgIGV4cGVjdGVkX3N0ZGVyciA9ICJVcGRhdGluZyB3b3JraW5nIGRp
cmVjdG9yeVxuQnVpbGRpbmcgV2ViS2l0XG5SdW5uaW5nIFB5dGhvbiB1bml0IHRlc3RzXG5SdW5u
aW5nIFBlcmwgdW5pdCB0ZXN0c1xuUnVubmluZyBKYXZhU2NyaXB0Q29yZSB0ZXN0c1xuUnVubmlu
ZyBXZWJLaXQgdW5pdCB0ZXN0c1xuUnVubmluZyBydW4td2Via2l0LXRlc3RzXG4iCi0gICAgICAg
IHNlbGYuYXNzZXJ0X2V4ZWN1dGVfb3V0cHV0cyhCdWlsZEFuZFRlc3QoKSwgW10sIG9wdGlvbnM9
c2VsZi5fZGVmYXVsdF9vcHRpb25zKCksIGV4cGVjdGVkX3N0ZGVycj1leHBlY3RlZF9zdGRlcnIp
CisgICAgICAgIGV4cGVjdGVkX2xvZ3MgPSAiIiJVcGRhdGluZyB3b3JraW5nIGRpcmVjdG9yeQor
QnVpbGRpbmcgV2ViS2l0CitSdW5uaW5nIFB5dGhvbiB1bml0IHRlc3RzCitSdW5uaW5nIFBlcmwg
dW5pdCB0ZXN0cworUnVubmluZyBKYXZhU2NyaXB0Q29yZSB0ZXN0cworUnVubmluZyBXZWJLaXQg
dW5pdCB0ZXN0cworUnVubmluZyBydW4td2Via2l0LXRlc3RzCisiIiIKKyAgICAgICAgc2VsZi5h
c3NlcnRfZXhlY3V0ZV9vdXRwdXRzKEJ1aWxkQW5kVGVzdCgpLCBbXSwgb3B0aW9ucz1zZWxmLl9k
ZWZhdWx0X29wdGlvbnMoKSwgZXhwZWN0ZWRfbG9ncz1leHBlY3RlZF9sb2dzKQogCiAgICAgZGVm
IHRlc3RfYXBwbHlfYXR0YWNobWVudChzZWxmKToKICAgICAgICAgb3B0aW9ucyA9IHNlbGYuX2Rl
ZmF1bHRfb3B0aW9ucygpCiAgICAgICAgIG9wdGlvbnMudXBkYXRlID0gVHJ1ZQogICAgICAgICBv
cHRpb25zLmxvY2FsX2NvbW1pdCA9IFRydWUKLSAgICAgICAgZXhwZWN0ZWRfc3RkZXJyID0gIlVw
ZGF0aW5nIHdvcmtpbmcgZGlyZWN0b3J5XG5Qcm9jZXNzaW5nIDEgcGF0Y2ggZnJvbSAxIGJ1Zy5c
blByb2Nlc3NpbmcgcGF0Y2ggMTAwMDAgZnJvbSBidWcgNTAwMDAuXG4iCi0gICAgICAgIHNlbGYu
YXNzZXJ0X2V4ZWN1dGVfb3V0cHV0cyhBcHBseUF0dGFjaG1lbnQoKSwgWzEwMDAwXSwgb3B0aW9u
cz1vcHRpb25zLCBleHBlY3RlZF9zdGRlcnI9ZXhwZWN0ZWRfc3RkZXJyKQorICAgICAgICBleHBl
Y3RlZF9sb2dzID0gIlVwZGF0aW5nIHdvcmtpbmcgZGlyZWN0b3J5XG5Qcm9jZXNzaW5nIDEgcGF0
Y2ggZnJvbSAxIGJ1Zy5cblByb2Nlc3NpbmcgcGF0Y2ggMTAwMDAgZnJvbSBidWcgNTAwMDAuXG4i
CisgICAgICAgIHNlbGYuYXNzZXJ0X2V4ZWN1dGVfb3V0cHV0cyhBcHBseUF0dGFjaG1lbnQoKSwg
WzEwMDAwXSwgb3B0aW9ucz1vcHRpb25zLCBleHBlY3RlZF9sb2dzPWV4cGVjdGVkX2xvZ3MpCiAK
ICAgICBkZWYgdGVzdF9hcHBseV9mcm9tX2J1ZyhzZWxmKToKICAgICAgICAgb3B0aW9ucyA9IHNl
bGYuX2RlZmF1bHRfb3B0aW9ucygpCiAgICAgICAgIG9wdGlvbnMudXBkYXRlID0gVHJ1ZQogICAg
ICAgICBvcHRpb25zLmxvY2FsX2NvbW1pdCA9IFRydWUKIAotICAgICAgICBleHBlY3RlZF9zdGRl
cnIgPSAiVXBkYXRpbmcgd29ya2luZyBkaXJlY3RvcnlcbjAgcmV2aWV3ZWQgcGF0Y2hlcyBmb3Vu
ZCBvbiBidWcgNTAwMDEuXG5ObyByZXZpZXdlZCBwYXRjaGVzIGZvdW5kLCBsb29raW5nIGZvciB1
bnJldmlld2VkIHBhdGNoZXMuXG4xIHBhdGNoIGZvdW5kIG9uIGJ1ZyA1MDAwMS5cblByb2Nlc3Np
bmcgMSBwYXRjaCBmcm9tIDEgYnVnLlxuUHJvY2Vzc2luZyBwYXRjaCAxMDAwMiBmcm9tIGJ1ZyA1
MDAwMS5cbiIKLSAgICAgICAgc2VsZi5hc3NlcnRfZXhlY3V0ZV9vdXRwdXRzKEFwcGx5RnJvbUJ1
ZygpLCBbNTAwMDFdLCBvcHRpb25zPW9wdGlvbnMsIGV4cGVjdGVkX3N0ZGVycj1leHBlY3RlZF9z
dGRlcnIpCisgICAgICAgIGV4cGVjdGVkX2xvZ3MgPSAiVXBkYXRpbmcgd29ya2luZyBkaXJlY3Rv
cnlcbjAgcmV2aWV3ZWQgcGF0Y2hlcyBmb3VuZCBvbiBidWcgNTAwMDEuXG5ObyByZXZpZXdlZCBw
YXRjaGVzIGZvdW5kLCBsb29raW5nIGZvciB1bnJldmlld2VkIHBhdGNoZXMuXG4xIHBhdGNoIGZv
dW5kIG9uIGJ1ZyA1MDAwMS5cblByb2Nlc3NpbmcgMSBwYXRjaCBmcm9tIDEgYnVnLlxuUHJvY2Vz
c2luZyBwYXRjaCAxMDAwMiBmcm9tIGJ1ZyA1MDAwMS5cbiIKKyAgICAgICAgc2VsZi5hc3NlcnRf
ZXhlY3V0ZV9vdXRwdXRzKEFwcGx5RnJvbUJ1ZygpLCBbNTAwMDFdLCBvcHRpb25zPW9wdGlvbnMs
IGV4cGVjdGVkX2xvZ3M9ZXhwZWN0ZWRfbG9ncykKIAotICAgICAgICBleHBlY3RlZF9zdGRlcnIg
PSAiVXBkYXRpbmcgd29ya2luZyBkaXJlY3RvcnlcbjIgcmV2aWV3ZWQgcGF0Y2hlcyBmb3VuZCBv
biBidWcgNTAwMDAuXG5Qcm9jZXNzaW5nIDIgcGF0Y2hlcyBmcm9tIDEgYnVnLlxuUHJvY2Vzc2lu
ZyBwYXRjaCAxMDAwMCBmcm9tIGJ1ZyA1MDAwMC5cblByb2Nlc3NpbmcgcGF0Y2ggMTAwMDEgZnJv
bSBidWcgNTAwMDAuXG4iCi0gICAgICAgIHNlbGYuYXNzZXJ0X2V4ZWN1dGVfb3V0cHV0cyhBcHBs
eUZyb21CdWcoKSwgWzUwMDAwXSwgb3B0aW9ucz1vcHRpb25zLCBleHBlY3RlZF9zdGRlcnI9ZXhw
ZWN0ZWRfc3RkZXJyKQorICAgICAgICBleHBlY3RlZF9sb2dzID0gIlVwZGF0aW5nIHdvcmtpbmcg
ZGlyZWN0b3J5XG4yIHJldmlld2VkIHBhdGNoZXMgZm91bmQgb24gYnVnIDUwMDAwLlxuUHJvY2Vz
c2luZyAyIHBhdGNoZXMgZnJvbSAxIGJ1Zy5cblByb2Nlc3NpbmcgcGF0Y2ggMTAwMDAgZnJvbSBi
dWcgNTAwMDAuXG5Qcm9jZXNzaW5nIHBhdGNoIDEwMDAxIGZyb20gYnVnIDUwMDAwLlxuIgorICAg
ICAgICBzZWxmLmFzc2VydF9leGVjdXRlX291dHB1dHMoQXBwbHlGcm9tQnVnKCksIFs1MDAwMF0s
IG9wdGlvbnM9b3B0aW9ucywgZXhwZWN0ZWRfbG9ncz1leHBlY3RlZF9sb2dzKQogCiAgICAgZGVm
IHRlc3RfYXBwbHlfd2F0Y2hfbGlzdChzZWxmKToKLSAgICAgICAgZXhwZWN0ZWRfc3RkZXJyID0g
IiIiUHJvY2Vzc2luZyAxIHBhdGNoIGZyb20gMSBidWcuCi1VcGRhdGluZyB3b3JraW5nIGRpcmVj
dG9yeQotTU9DSyBydW5fYW5kX3Rocm93X2lmX2ZhaWw6IFsnbW9jay11cGRhdGUtd2Via2l0J10s
IGN3ZD0vbW9jay1jaGVja291dFxuUHJvY2Vzc2luZyBwYXRjaCAxMDAwMCBmcm9tIGJ1ZyA1MDAw
MC4KKyAgICAgICAgZXhwZWN0ZWRfc3RkZXJyID0gIiIiTU9DSyBydW5fYW5kX3Rocm93X2lmX2Zh
aWw6IFsnbW9jay11cGRhdGUtd2Via2l0J10sIGN3ZD0vbW9jay1jaGVja291dAogTW9ja1dhdGNo
TGlzdDogZGV0ZXJtaW5lX2NjX2FuZF9tZXNzYWdlcwogIiIiCi0gICAgICAgIHNlbGYuYXNzZXJ0
X2V4ZWN1dGVfb3V0cHV0cyhBcHBseVdhdGNoTGlzdCgpLCBbMTAwMDBdLCBvcHRpb25zPXNlbGYu
X2RlZmF1bHRfb3B0aW9ucygpLCBleHBlY3RlZF9zdGRlcnI9ZXhwZWN0ZWRfc3RkZXJyLCB0b29s
PU1vY2tUb29sKGxvZ19leGVjdXRpdmU9VHJ1ZSkpCisgICAgICAgIGV4cGVjdGVkX2xvZ3MgPSAi
IiJQcm9jZXNzaW5nIDEgcGF0Y2ggZnJvbSAxIGJ1Zy4KK1VwZGF0aW5nIHdvcmtpbmcgZGlyZWN0
b3J5CitQcm9jZXNzaW5nIHBhdGNoIDEwMDAwIGZyb20gYnVnIDUwMDAwLgorTm8gYnVnIHdhcyB1
cGRhdGVkIGJlY2F1c2Ugbm8gaWQgd2FzIGdpdmVuLgorUmVzdWx0IG9mIHdhdGNobGlzdDogY2Mg
ImFiYXJ0aEB3ZWJraXQub3JnLCBlcmljQHdlYmtpdC5vcmcsIGxldmluQGNocm9taXVtLm9yZyIg
bWVzc2FnZXMgIk1lc3NhZ2UxLgorCitNZXNzYWdlMi4iCisiIiIKKyAgICAgICAgc2VsZi5hc3Nl
cnRfZXhlY3V0ZV9vdXRwdXRzKEFwcGx5V2F0Y2hMaXN0KCksIFsxMDAwMF0sIG9wdGlvbnM9c2Vs
Zi5fZGVmYXVsdF9vcHRpb25zKCksIGV4cGVjdGVkX3N0ZGVycj1leHBlY3RlZF9zdGRlcnIsIGV4
cGVjdGVkX2xvZ3M9ZXhwZWN0ZWRfbG9ncywgdG9vbD1Nb2NrVG9vbChsb2dfZXhlY3V0aXZlPVRy
dWUpKQogCiAgICAgZGVmIHRlc3RfbGFuZChzZWxmKToKLSAgICAgICAgZXhwZWN0ZWRfc3RkZXJy
ID0gIkJ1aWxkaW5nIFdlYktpdFxuUnVubmluZyBQeXRob24gdW5pdCB0ZXN0c1xuUnVubmluZyBQ
ZXJsIHVuaXQgdGVzdHNcblJ1bm5pbmcgSmF2YVNjcmlwdENvcmUgdGVzdHNcblJ1bm5pbmcgV2Vi
S2l0IHVuaXQgdGVzdHNcblJ1bm5pbmcgcnVuLXdlYmtpdC10ZXN0c1xuQ29tbWl0dGVkIHI0OTgy
NDogPGh0dHA6Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0LzQ5ODI0PlxuVXBkYXRpbmcgYnVn
IDUwMDAwXG4iCisgICAgICAgIGV4cGVjdGVkX2xvZ3MgPSAiIiJCdWlsZGluZyBXZWJLaXQKK1J1
bm5pbmcgUHl0aG9uIHVuaXQgdGVzdHMKK1J1bm5pbmcgUGVybCB1bml0IHRlc3RzCitSdW5uaW5n
IEphdmFTY3JpcHRDb3JlIHRlc3RzCitSdW5uaW5nIFdlYktpdCB1bml0IHRlc3RzCitSdW5uaW5n
IHJ1bi13ZWJraXQtdGVzdHMKK0NvbW1pdHRlZCByNDk4MjQ6IDxodHRwOi8vdHJhYy53ZWJraXQu
b3JnL2NoYW5nZXNldC80OTgyND4KK1VwZGF0aW5nIGJ1ZyA1MDAwMAorIiIiCiAgICAgICAgIG1v
Y2tfdG9vbCA9IE1vY2tUb29sKCkKICAgICAgICAgbW9ja190b29sLnNjbSgpLmNyZWF0ZV9wYXRj
aCA9IE1vY2socmV0dXJuX3ZhbHVlPSJQYXRjaDFcbk1vY2tQYXRjaFxuIikKICAgICAgICAgbW9j
a190b29sLmNoZWNrb3V0KCkubW9kaWZpZWRfY2hhbmdlbG9ncyA9IE1vY2socmV0dXJuX3ZhbHVl
PVtdKQotICAgICAgICBzZWxmLmFzc2VydF9leGVjdXRlX291dHB1dHMoTGFuZCgpLCBbNTAwMDBd
LCBvcHRpb25zPXNlbGYuX2RlZmF1bHRfb3B0aW9ucygpLCBleHBlY3RlZF9zdGRlcnI9ZXhwZWN0
ZWRfc3RkZXJyLCB0b29sPW1vY2tfdG9vbCkKKyAgICAgICAgc2VsZi5hc3NlcnRfZXhlY3V0ZV9v
dXRwdXRzKExhbmQoKSwgWzUwMDAwXSwgb3B0aW9ucz1zZWxmLl9kZWZhdWx0X29wdGlvbnMoKSwg
ZXhwZWN0ZWRfbG9ncz1leHBlY3RlZF9sb2dzLCB0b29sPW1vY2tfdG9vbCkKICAgICAgICAgIyBN
YWtlIHN1cmUgd2UncmUgbm90IGNhbGxpbmcgZXhwZW5zaXZlIGNhbGxzIHRvbyBvZnRlbi4KICAg
ICAgICAgc2VsZi5hc3NlcnRFcXVhbChtb2NrX3Rvb2wuc2NtKCkuY3JlYXRlX3BhdGNoLmNhbGxf
Y291bnQsIDApCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobW9ja190b29sLmNoZWNrb3V0KCku
bW9kaWZpZWRfY2hhbmdlbG9ncy5jYWxsX2NvdW50LCAxKQpAQCAtMTM5LDE4ICsxNjAsMTkgQEAg
TU9DSyBydW5fYW5kX3Rocm93X2lmX2ZhaWw6IFsnbW9jay1jaGVjay13ZWJraXQtc3R5bGUnLCAn
LS1naXQtY29tbWl0JywgJ01PQ0sgZ2kKIE1PQ0sgcnVuX2NvbW1hbmQ6IFsncnVieScsICctSScs
ICcvbW9jay1jaGVja291dC9XZWJzaXRlcy9idWdzLndlYmtpdC5vcmcvUHJldHR5UGF0Y2gnLCAn
L21vY2stY2hlY2tvdXQvV2Vic2l0ZXMvYnVncy53ZWJraXQub3JnL1ByZXR0eVBhdGNoL3ByZXR0
aWZ5LnJiJ10sIGN3ZD1Ob25lLCBpbnB1dD1QYXRjaDEKIE1PQ0s6IHVzZXIub3Blbl91cmw6IGZp
bGU6Ly8uLi4KIFdhcyB0aGF0IGRpZmYgY29ycmVjdD8KLUJ1aWxkaW5nIFdlYktpdAogTU9DSyBy
dW5fYW5kX3Rocm93X2lmX2ZhaWw6IFsnbW9jay1idWlsZC13ZWJraXQnXSwgY3dkPS9tb2NrLWNo
ZWNrb3V0LCBlbnY9eydMQ19BTEwnOiAnQycsICdNT0NLX0VOVklST05fQ09QWSc6ICcxJ30KLVJ1
bm5pbmcgUHl0aG9uIHVuaXQgdGVzdHMKIE1PQ0sgcnVuX2FuZF90aHJvd19pZl9mYWlsOiBbJ21v
Y2stdGVzdC13ZWJraXRweSddLCBjd2Q9L21vY2stY2hlY2tvdXQKLVJ1bm5pbmcgUGVybCB1bml0
IHRlc3RzCiBNT0NLIHJ1bl9hbmRfdGhyb3dfaWZfZmFpbDogWydtb2NrLXRlc3Qtd2Via2l0cGVy
bCddLCBjd2Q9L21vY2stY2hlY2tvdXQKLVJ1bm5pbmcgSmF2YVNjcmlwdENvcmUgdGVzdHMKIE1P
Q0sgcnVuX2FuZF90aHJvd19pZl9mYWlsOiBbJ21vY2stcnVuLWphdmFjcmlwdGNvcmUtdGVzdHMn
XSwgY3dkPS9tb2NrLWNoZWNrb3V0Ci1SdW5uaW5nIFdlYktpdCB1bml0IHRlc3RzCiBNT0NLIHJ1
bl9hbmRfdGhyb3dfaWZfZmFpbDogWydtb2NrLXJ1bi13ZWJraXQtdW5pdC10ZXN0cyddLCBjd2Q9
L21vY2stY2hlY2tvdXQKLVJ1bm5pbmcgcnVuLXdlYmtpdC10ZXN0cwogTU9DSyBydW5fYW5kX3Ro
cm93X2lmX2ZhaWw6IFsnbW9jay1ydW4td2Via2l0LXRlc3RzJywgJy0tcXVpZXQnXSwgY3dkPS9t
b2NrLWNoZWNrb3V0CisiIiIKKyAgICAgICAgZXhwZWN0ZWRfbG9ncyA9ICIiIkJ1aWxkaW5nIFdl
YktpdAorUnVubmluZyBQeXRob24gdW5pdCB0ZXN0cworUnVubmluZyBQZXJsIHVuaXQgdGVzdHMK
K1J1bm5pbmcgSmF2YVNjcmlwdENvcmUgdGVzdHMKK1J1bm5pbmcgV2ViS2l0IHVuaXQgdGVzdHMK
K1J1bm5pbmcgcnVuLXdlYmtpdC10ZXN0cwogQ29tbWl0dGVkIHI0OTgyNDogPGh0dHA6Ly90cmFj
LndlYmtpdC5vcmcvY2hhbmdlc2V0LzQ5ODI0PgogQ29tbWl0dGVkIHI0OTgyNDogPGh0dHA6Ly90
cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0LzQ5ODI0PgogTm8gYnVnIGlkIHByb3ZpZGVkLgpAQCAt
MTU5LDI3ICsxODEsMzMgQEAgTm8gYnVnIGlkIHByb3ZpZGVkLgogICAgICAgICBzZWxmLmFzc2Vy
dF9leGVjdXRlX291dHB1dHMoTGFuZENvd2JveSgpLCBbNTAwMDBdLCBvcHRpb25zPXNlbGYuX2Rl
ZmF1bHRfb3B0aW9ucygpLCBleHBlY3RlZF9zdGRlcnI9ZXhwZWN0ZWRfc3RkZXJyLCB0b29sPW1v
Y2tfdG9vbCkKIAogICAgIGRlZiB0ZXN0X2xhbmRfcmVkX2J1aWxkZXJzKHNlbGYpOgotICAgICAg
ICBleHBlY3RlZF9zdGRlcnIgPSAnQnVpbGRpbmcgV2ViS2l0XG5SdW5uaW5nIFB5dGhvbiB1bml0
IHRlc3RzXG5SdW5uaW5nIFBlcmwgdW5pdCB0ZXN0c1xuUnVubmluZyBKYXZhU2NyaXB0Q29yZSB0
ZXN0c1xuUnVubmluZyBXZWJLaXQgdW5pdCB0ZXN0c1xuUnVubmluZyBydW4td2Via2l0LXRlc3Rz
XG5Db21taXR0ZWQgcjQ5ODI0OiA8aHR0cDovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvNDk4
MjQ+XG5VcGRhdGluZyBidWcgNTAwMDBcbicKKyAgICAgICAgZXhwZWN0ZWRfbG9ncyA9ICIiIkJ1
aWxkaW5nIFdlYktpdAorUnVubmluZyBQeXRob24gdW5pdCB0ZXN0cworUnVubmluZyBQZXJsIHVu
aXQgdGVzdHMKK1J1bm5pbmcgSmF2YVNjcmlwdENvcmUgdGVzdHMKK1J1bm5pbmcgV2ViS2l0IHVu
aXQgdGVzdHMKK1J1bm5pbmcgcnVuLXdlYmtpdC10ZXN0cworQ29tbWl0dGVkIHI0OTgyNDogPGh0
dHA6Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0LzQ5ODI0PgorVXBkYXRpbmcgYnVnIDUwMDAw
CisiIiIKICAgICAgICAgbW9ja190b29sID0gTW9ja1Rvb2woKQogICAgICAgICBtb2NrX3Rvb2wu
YnVpbGRib3QubGlnaHRfdHJlZV9vbl9maXJlKCkKLSAgICAgICAgc2VsZi5hc3NlcnRfZXhlY3V0
ZV9vdXRwdXRzKExhbmQoKSwgWzUwMDAwXSwgb3B0aW9ucz1zZWxmLl9kZWZhdWx0X29wdGlvbnMo
KSwgZXhwZWN0ZWRfc3RkZXJyPWV4cGVjdGVkX3N0ZGVyciwgdG9vbD1tb2NrX3Rvb2wpCisgICAg
ICAgIHNlbGYuYXNzZXJ0X2V4ZWN1dGVfb3V0cHV0cyhMYW5kKCksIFs1MDAwMF0sIG9wdGlvbnM9
c2VsZi5fZGVmYXVsdF9vcHRpb25zKCksIGV4cGVjdGVkX2xvZ3M9ZXhwZWN0ZWRfbG9ncywgdG9v
bD1tb2NrX3Rvb2wpCiAKICAgICBkZWYgdGVzdF9jaGVja19zdHlsZShzZWxmKToKLSAgICAgICAg
ZXhwZWN0ZWRfc3RkZXJyID0gIiIiUHJvY2Vzc2luZyAxIHBhdGNoIGZyb20gMSBidWcuCi1VcGRh
dGluZyB3b3JraW5nIGRpcmVjdG9yeQotTU9DSyBydW5fYW5kX3Rocm93X2lmX2ZhaWw6IFsnbW9j
ay11cGRhdGUtd2Via2l0J10sIGN3ZD0vbW9jay1jaGVja291dAotUHJvY2Vzc2luZyBwYXRjaCAx
MDAwMCBmcm9tIGJ1ZyA1MDAwMC4KKyAgICAgICAgZXhwZWN0ZWRfc3RkZXJyID0gIiIiTU9DSyBy
dW5fYW5kX3Rocm93X2lmX2ZhaWw6IFsnbW9jay11cGRhdGUtd2Via2l0J10sIGN3ZD0vbW9jay1j
aGVja291dAogTU9DSyBydW5fYW5kX3Rocm93X2lmX2ZhaWw6IFsnbW9jay1jaGVjay13ZWJraXQt
c3R5bGUnLCAnLS1naXQtY29tbWl0JywgJ01PQ0sgZ2l0IGNvbW1pdCcsICctLWRpZmYtZmlsZXMn
LCAnTW9ja0ZpbGUxJ10sIGN3ZD0vbW9jay1jaGVja291dAogIiIiCi0gICAgICAgIHNlbGYuYXNz
ZXJ0X2V4ZWN1dGVfb3V0cHV0cyhDaGVja1N0eWxlKCksIFsxMDAwMF0sIG9wdGlvbnM9c2VsZi5f
ZGVmYXVsdF9vcHRpb25zKCksIGV4cGVjdGVkX3N0ZGVycj1leHBlY3RlZF9zdGRlcnIsIHRvb2w9
TW9ja1Rvb2wobG9nX2V4ZWN1dGl2ZT1UcnVlKSkKKyAgICAgICAgZXhwZWN0ZWRfbG9ncyA9ICJQ
cm9jZXNzaW5nIDEgcGF0Y2ggZnJvbSAxIGJ1Zy5cblVwZGF0aW5nIHdvcmtpbmcgZGlyZWN0b3J5
XG5Qcm9jZXNzaW5nIHBhdGNoIDEwMDAwIGZyb20gYnVnIDUwMDAwLlxuIgorICAgICAgICBzZWxm
LmFzc2VydF9leGVjdXRlX291dHB1dHMoQ2hlY2tTdHlsZSgpLCBbMTAwMDBdLCBvcHRpb25zPXNl
bGYuX2RlZmF1bHRfb3B0aW9ucygpLCBleHBlY3RlZF9zdGRlcnI9ZXhwZWN0ZWRfc3RkZXJyLCBl
eHBlY3RlZF9sb2dzPWV4cGVjdGVkX2xvZ3MsIHRvb2w9TW9ja1Rvb2wobG9nX2V4ZWN1dGl2ZT1U
cnVlKSkKIAogICAgIGRlZiB0ZXN0X2J1aWxkX2F0dGFjaG1lbnQoc2VsZik6Ci0gICAgICAgIGV4
cGVjdGVkX3N0ZGVyciA9ICJQcm9jZXNzaW5nIDEgcGF0Y2ggZnJvbSAxIGJ1Zy5cblVwZGF0aW5n
IHdvcmtpbmcgZGlyZWN0b3J5XG5Qcm9jZXNzaW5nIHBhdGNoIDEwMDAwIGZyb20gYnVnIDUwMDAw
LlxuQnVpbGRpbmcgV2ViS2l0XG4iCi0gICAgICAgIHNlbGYuYXNzZXJ0X2V4ZWN1dGVfb3V0cHV0
cyhCdWlsZEF0dGFjaG1lbnQoKSwgWzEwMDAwXSwgb3B0aW9ucz1zZWxmLl9kZWZhdWx0X29wdGlv
bnMoKSwgZXhwZWN0ZWRfc3RkZXJyPWV4cGVjdGVkX3N0ZGVycikKKyAgICAgICAgZXhwZWN0ZWRf
bG9ncyA9ICJQcm9jZXNzaW5nIDEgcGF0Y2ggZnJvbSAxIGJ1Zy5cblVwZGF0aW5nIHdvcmtpbmcg
ZGlyZWN0b3J5XG5Qcm9jZXNzaW5nIHBhdGNoIDEwMDAwIGZyb20gYnVnIDUwMDAwLlxuQnVpbGRp
bmcgV2ViS2l0XG4iCisgICAgICAgIHNlbGYuYXNzZXJ0X2V4ZWN1dGVfb3V0cHV0cyhCdWlsZEF0
dGFjaG1lbnQoKSwgWzEwMDAwXSwgb3B0aW9ucz1zZWxmLl9kZWZhdWx0X29wdGlvbnMoKSwgZXhw
ZWN0ZWRfbG9ncz1leHBlY3RlZF9sb2dzKQogCiAgICAgZGVmIHRlc3RfbGFuZF9hdHRhY2htZW50
KHNlbGYpOgogICAgICAgICAjIEZJWE1FOiBUaGlzIGV4cGVjdGVkIHJlc3VsdCBpcyBpbXBlcmZl
Y3QsIG5vdGljZSBob3cgaXQncyBzZWVpbmcgdGhlIHNhbWUgcGF0Y2ggYXMgc3RpbGwgdGhlcmUg
YWZ0ZXIgaXQgdGhvdWdodCBpdCB3b3VsZCBoYXZlIGNsZWFyZWQgdGhlIGZsYWdzLgotICAgICAg
ICBleHBlY3RlZF9zdGRlcnIgPSAiIiJQcm9jZXNzaW5nIDEgcGF0Y2ggZnJvbSAxIGJ1Zy4KKyAg
ICAgICAgZXhwZWN0ZWRfbG9ncyA9ICIiIlByb2Nlc3NpbmcgMSBwYXRjaCBmcm9tIDEgYnVnLgog
VXBkYXRpbmcgd29ya2luZyBkaXJlY3RvcnkKIFByb2Nlc3NpbmcgcGF0Y2ggMTAwMDAgZnJvbSBi
dWcgNTAwMDAuCiBCdWlsZGluZyBXZWJLaXQKQEAgLTE5MSwxMSArMjE5LDExIEBAIFJ1bm5pbmcg
cnVuLXdlYmtpdC10ZXN0cwogQ29tbWl0dGVkIHI0OTgyNDogPGh0dHA6Ly90cmFjLndlYmtpdC5v
cmcvY2hhbmdlc2V0LzQ5ODI0PgogTm90IGNsb3NpbmcgYnVnIDUwMDAwIGFzIGF0dGFjaG1lbnQg
MTAwMDAgaGFzIHJldmlldz0rLiAgQXNzdW1pbmcgdGhlcmUgYXJlIG1vcmUgcGF0Y2hlcyB0byBs
YW5kIGZyb20gdGhpcyBidWcuCiAiIiIKLSAgICAgICAgc2VsZi5hc3NlcnRfZXhlY3V0ZV9vdXRw
dXRzKExhbmRBdHRhY2htZW50KCksIFsxMDAwMF0sIG9wdGlvbnM9c2VsZi5fZGVmYXVsdF9vcHRp
b25zKCksIGV4cGVjdGVkX3N0ZGVycj1leHBlY3RlZF9zdGRlcnIpCisgICAgICAgIHNlbGYuYXNz
ZXJ0X2V4ZWN1dGVfb3V0cHV0cyhMYW5kQXR0YWNobWVudCgpLCBbMTAwMDBdLCBvcHRpb25zPXNl
bGYuX2RlZmF1bHRfb3B0aW9ucygpLCBleHBlY3RlZF9sb2dzPWV4cGVjdGVkX2xvZ3MpCiAKICAg
ICBkZWYgdGVzdF9sYW5kX2Zyb21fYnVnKHNlbGYpOgogICAgICAgICAjIEZJWE1FOiBUaGlzIGV4
cGVjdGVkIHJlc3VsdCBpcyBpbXBlcmZlY3QsIG5vdGljZSBob3cgaXQncyBzZWVpbmcgdGhlIHNh
bWUgcGF0Y2ggYXMgc3RpbGwgdGhlcmUgYWZ0ZXIgaXQgdGhvdWdodCBpdCB3b3VsZCBoYXZlIGNs
ZWFyZWQgdGhlIGZsYWdzLgotICAgICAgICBleHBlY3RlZF9zdGRlcnIgPSAiIiIyIHJldmlld2Vk
IHBhdGNoZXMgZm91bmQgb24gYnVnIDUwMDAwLgorICAgICAgICBleHBlY3RlZF9sb2dzID0gIiIi
MiByZXZpZXdlZCBwYXRjaGVzIGZvdW5kIG9uIGJ1ZyA1MDAwMC4KIFByb2Nlc3NpbmcgMiBwYXRj
aGVzIGZyb20gMSBidWcuCiBVcGRhdGluZyB3b3JraW5nIGRpcmVjdG9yeQogUHJvY2Vzc2luZyBw
YXRjaCAxMDAwMCBmcm9tIGJ1ZyA1MDAwMC4KQEAgLTIxOCwxMSArMjQ2LDExIEBAIFJ1bm5pbmcg
cnVuLXdlYmtpdC10ZXN0cwogQ29tbWl0dGVkIHI0OTgyNDogPGh0dHA6Ly90cmFjLndlYmtpdC5v
cmcvY2hhbmdlc2V0LzQ5ODI0PgogTm90IGNsb3NpbmcgYnVnIDUwMDAwIGFzIGF0dGFjaG1lbnQg
MTAwMDAgaGFzIHJldmlldz0rLiAgQXNzdW1pbmcgdGhlcmUgYXJlIG1vcmUgcGF0Y2hlcyB0byBs
YW5kIGZyb20gdGhpcyBidWcuCiAiIiIKLSAgICAgICAgc2VsZi5hc3NlcnRfZXhlY3V0ZV9vdXRw
dXRzKExhbmRGcm9tQnVnKCksIFs1MDAwMF0sIG9wdGlvbnM9c2VsZi5fZGVmYXVsdF9vcHRpb25z
KCksIGV4cGVjdGVkX3N0ZGVycj1leHBlY3RlZF9zdGRlcnIpCisgICAgICAgIHNlbGYuYXNzZXJ0
X2V4ZWN1dGVfb3V0cHV0cyhMYW5kRnJvbUJ1ZygpLCBbNTAwMDBdLCBvcHRpb25zPXNlbGYuX2Rl
ZmF1bHRfb3B0aW9ucygpLCBleHBlY3RlZF9sb2dzPWV4cGVjdGVkX2xvZ3MpCiAKICAgICBkZWYg
dGVzdF9sYW5kX2Zyb21fdXJsKHNlbGYpOgogICAgICAgICAjIEZJWE1FOiBUaGlzIGV4cGVjdGVk
IHJlc3VsdCBpcyBpbXBlcmZlY3QsIG5vdGljZSBob3cgaXQncyBzZWVpbmcgdGhlIHNhbWUgcGF0
Y2ggYXMgc3RpbGwgdGhlcmUgYWZ0ZXIgaXQgdGhvdWdodCBpdCB3b3VsZCBoYXZlIGNsZWFyZWQg
dGhlIGZsYWdzLgotICAgICAgICBleHBlY3RlZF9zdGRlcnIgPSAiIiIyIHBhdGNoZXMgZm91bmQg
b24gYnVnIDUwMDAwLgorICAgICAgICBleHBlY3RlZF9sb2dzID0gIiIiMiBwYXRjaGVzIGZvdW5k
IG9uIGJ1ZyA1MDAwMC4KIFByb2Nlc3NpbmcgMiBwYXRjaGVzIGZyb20gMSBidWcuCiBVcGRhdGlu
ZyB3b3JraW5nIGRpcmVjdG9yeQogUHJvY2Vzc2luZyBwYXRjaCAxMDAwMCBmcm9tIGJ1ZyA1MDAw
MC4KQEAgLTI0NSwxNiArMjczLDE0IEBAIFJ1bm5pbmcgcnVuLXdlYmtpdC10ZXN0cwogQ29tbWl0
dGVkIHI0OTgyNDogPGh0dHA6Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0LzQ5ODI0PgogTm90
IGNsb3NpbmcgYnVnIDUwMDAwIGFzIGF0dGFjaG1lbnQgMTAwMDAgaGFzIHJldmlldz0rLiAgQXNz
dW1pbmcgdGhlcmUgYXJlIG1vcmUgcGF0Y2hlcyB0byBsYW5kIGZyb20gdGhpcyBidWcuCiAiIiIK
LSAgICAgICAgc2VsZi5hc3NlcnRfZXhlY3V0ZV9vdXRwdXRzKExhbmRGcm9tVVJMKCksIFsiaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTUwMDAwIl0sIG9wdGlvbnM9c2Vs
Zi5fZGVmYXVsdF9vcHRpb25zKCksIGV4cGVjdGVkX3N0ZGVycj1leHBlY3RlZF9zdGRlcnIpCisg
ICAgICAgIHNlbGYuYXNzZXJ0X2V4ZWN1dGVfb3V0cHV0cyhMYW5kRnJvbVVSTCgpLCBbImh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01MDAwMCJdLCBvcHRpb25zPXNlbGYu
X2RlZmF1bHRfb3B0aW9ucygpLCBleHBlY3RlZF9sb2dzPWV4cGVjdGVkX2xvZ3MpCiAKICAgICBk
ZWYgdGVzdF9wcmVwYXJlX3JvbGxvdXQoc2VsZik6Ci0gICAgICAgIGV4cGVjdGVkX3N0ZGVyciA9
ICJQcmVwYXJpbmcgcm9sbG91dCBmb3IgYnVnIDUwMDAwLlxuVXBkYXRpbmcgd29ya2luZyBkaXJl
Y3RvcnlcbiIKLSAgICAgICAgc2VsZi5hc3NlcnRfZXhlY3V0ZV9vdXRwdXRzKFByZXBhcmVSb2xs
b3V0KCksIFs4NTIsICJSZWFzb24iXSwgb3B0aW9ucz1zZWxmLl9kZWZhdWx0X29wdGlvbnMoKSwg
ZXhwZWN0ZWRfc3RkZXJyPWV4cGVjdGVkX3N0ZGVycikKKyAgICAgICAgZXhwZWN0ZWRfbG9ncyA9
ICJQcmVwYXJpbmcgcm9sbG91dCBmb3IgYnVnIDUwMDAwLlxuVXBkYXRpbmcgd29ya2luZyBkaXJl
Y3RvcnlcbiIKKyAgICAgICAgc2VsZi5hc3NlcnRfZXhlY3V0ZV9vdXRwdXRzKFByZXBhcmVSb2xs
b3V0KCksIFs4NTIsICJSZWFzb24iXSwgb3B0aW9ucz1zZWxmLl9kZWZhdWx0X29wdGlvbnMoKSwg
ZXhwZWN0ZWRfbG9ncz1leHBlY3RlZF9sb2dzKQogCiAgICAgZGVmIHRlc3RfY3JlYXRlX3JvbGxv
dXQoc2VsZik6Ci0gICAgICAgIGV4cGVjdGVkX3N0ZGVyciA9ICIiIlByZXBhcmluZyByb2xsb3V0
IGZvciBidWcgNTAwMDAuCi1VcGRhdGluZyB3b3JraW5nIGRpcmVjdG9yeQotTU9DSyBjcmVhdGVf
YnVnCisgICAgICAgIGV4cGVjdGVkX3N0ZGVyciA9ICIiIk1PQ0sgY3JlYXRlX2J1ZwogYnVnX3Rp
dGxlOiBSRUdSRVNTSU9OKHI4NTIpOiBSZWFzb24KIGJ1Z19kZXNjcmlwdGlvbjogaHR0cDovL3Ry
YWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvODUyIGJyb2tlIHRoZSBidWlsZDoKIFJlYXNvbgpAQCAt
MjcyLDEzICsyOTgsMTIgQEAgSWYgeW91IHdvdWxkIGxpa2UgdG8gbGFuZCB0aGUgcm9sbG91dCBm
YXN0ZXIsIHlvdSBjYW4gdXNlIHRoZSBmb2xsb3dpbmcgY29tbWFuZDoKIHdoZXJlIEFUVEFDSE1F
TlRfSUQgaXMgdGhlIElEIG9mIHRoaXMgYXR0YWNobWVudC4KIC0tIEVuZCBjb21tZW50IC0tCiAi
IiIKLSAgICAgICAgc2VsZi5hc3NlcnRfZXhlY3V0ZV9vdXRwdXRzKENyZWF0ZVJvbGxvdXQoKSwg
Wzg1MiwgIlJlYXNvbiJdLCBvcHRpb25zPXNlbGYuX2RlZmF1bHRfb3B0aW9ucygpLCBleHBlY3Rl
ZF9zdGRlcnI9ZXhwZWN0ZWRfc3RkZXJyKQotICAgICAgICBzZWxmLmFzc2VydF9leGVjdXRlX291
dHB1dHMoQ3JlYXRlUm9sbG91dCgpLCBbIjg1NSA4NTIgODU0IiwgIlJlYXNvbiJdLCBvcHRpb25z
PXNlbGYuX2RlZmF1bHRfb3B0aW9ucygpLCBleHBlY3RlZF9zdGRlcnI9ZXhwZWN0ZWRfc3RkZXJy
KQorICAgICAgICBleHBlY3RlZF9sb2dzID0gIlByZXBhcmluZyByb2xsb3V0IGZvciBidWcgNTAw
MDAuXG5VcGRhdGluZyB3b3JraW5nIGRpcmVjdG9yeVxuIgorICAgICAgICBzZWxmLmFzc2VydF9l
eGVjdXRlX291dHB1dHMoQ3JlYXRlUm9sbG91dCgpLCBbODUyLCAiUmVhc29uIl0sIG9wdGlvbnM9
c2VsZi5fZGVmYXVsdF9vcHRpb25zKCksIGV4cGVjdGVkX3N0ZGVycj1leHBlY3RlZF9zdGRlcnIs
IGV4cGVjdGVkX2xvZ3M9ZXhwZWN0ZWRfbG9ncykKKyAgICAgICAgc2VsZi5hc3NlcnRfZXhlY3V0
ZV9vdXRwdXRzKENyZWF0ZVJvbGxvdXQoKSwgWyI4NTUgODUyIDg1NCIsICJSZWFzb24iXSwgb3B0
aW9ucz1zZWxmLl9kZWZhdWx0X29wdGlvbnMoKSwgZXhwZWN0ZWRfc3RkZXJyPWV4cGVjdGVkX3N0
ZGVyciwgZXhwZWN0ZWRfbG9ncz1leHBlY3RlZF9sb2dzKQogCiAgICAgZGVmIHRlc3RfY3JlYXRl
X3JvbGxvdXRfcmVzb2x2ZWQoc2VsZik6Ci0gICAgICAgIGV4cGVjdGVkX3N0ZGVyciA9ICIiIlBy
ZXBhcmluZyByb2xsb3V0IGZvciBidWcgNTAwMDQuCi1VcGRhdGluZyB3b3JraW5nIGRpcmVjdG9y
eQotTU9DSyBjcmVhdGVfYnVnCisgICAgICAgIGV4cGVjdGVkX3N0ZGVyciA9ICIiIk1PQ0sgY3Jl
YXRlX2J1ZwogYnVnX3RpdGxlOiBSRUdSRVNTSU9OKHIzMDAxKTogUmVhc29uCiBidWdfZGVzY3Jp
cHRpb246IGh0dHA6Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0LzMwMDEgYnJva2UgdGhlIGJ1
aWxkOgogUmVhc29uCkBAIC0yOTcsMjAgKzMyMiwyMiBAQCBJZiB5b3Ugd291bGQgbGlrZSB0byBs
YW5kIHRoZSByb2xsb3V0IGZhc3RlciwgeW91IGNhbiB1c2UgdGhlIGZvbGxvd2luZyBjb21tYW5k
Ogogd2hlcmUgQVRUQUNITUVOVF9JRCBpcyB0aGUgSUQgb2YgdGhpcyBhdHRhY2htZW50LgogLS0g
RW5kIGNvbW1lbnQgLS0KICIiIgotICAgICAgICBzZWxmLmFzc2VydF9leGVjdXRlX291dHB1dHMo
Q3JlYXRlUm9sbG91dCgpLCBbMzAwMSwgIlJlYXNvbiJdLCBvcHRpb25zPXNlbGYuX2RlZmF1bHRf
b3B0aW9ucygpLCBleHBlY3RlZF9zdGRlcnI9ZXhwZWN0ZWRfc3RkZXJyKQorICAgICAgICBleHBl
Y3RlZF9sb2dzID0gIlByZXBhcmluZyByb2xsb3V0IGZvciBidWcgNTAwMDQuXG5VcGRhdGluZyB3
b3JraW5nIGRpcmVjdG9yeVxuIgorICAgICAgICBzZWxmLmFzc2VydF9leGVjdXRlX291dHB1dHMo
Q3JlYXRlUm9sbG91dCgpLCBbMzAwMSwgIlJlYXNvbiJdLCBvcHRpb25zPXNlbGYuX2RlZmF1bHRf
b3B0aW9ucygpLCBleHBlY3RlZF9zdGRlcnI9ZXhwZWN0ZWRfc3RkZXJyLCBleHBlY3RlZF9sb2dz
PWV4cGVjdGVkX2xvZ3MpCiAKICAgICBkZWYgdGVzdF9yb2xsb3V0KHNlbGYpOgotICAgICAgICBl
eHBlY3RlZF9zdGRlcnIgPSAiIiJQcmVwYXJpbmcgcm9sbG91dCBmb3IgYnVnIDUwMDAwLgotVXBk
YXRpbmcgd29ya2luZyBkaXJlY3RvcnkKLU1PQ0s6IHVzZXIub3Blbl91cmw6IGZpbGU6Ly8uLi4K
KyAgICAgICAgZXhwZWN0ZWRfc3RkZXJyID0gIiIiTU9DSzogdXNlci5vcGVuX3VybDogZmlsZTov
Ly4uLgogV2FzIHRoYXQgZGlmZiBjb3JyZWN0PwotQnVpbGRpbmcgV2ViS2l0Ci1Db21taXR0ZWQg
cjQ5ODI0OiA8aHR0cDovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvNDk4MjQ+CiBNT0NLIHJl
b3Blbl9idWcgNTAwMDAgd2l0aCBjb21tZW50ICdSZXZlcnRlZCByODUyIGZvciByZWFzb246CiAK
IFJlYXNvbgogCiBDb21taXR0ZWQgcjQ5ODI0OiA8aHR0cDovL3RyYWMud2Via2l0Lm9yZy9jaGFu
Z2VzZXQvNDk4MjQ+JwogIiIiCi0gICAgICAgIHNlbGYuYXNzZXJ0X2V4ZWN1dGVfb3V0cHV0cyhS
b2xsb3V0KCksIFs4NTIsICJSZWFzb24iXSwgb3B0aW9ucz1zZWxmLl9kZWZhdWx0X29wdGlvbnMo
KSwgZXhwZWN0ZWRfc3RkZXJyPWV4cGVjdGVkX3N0ZGVycikKKyAgICAgICAgZXhwZWN0ZWRfbG9n
cyA9ICIiIlByZXBhcmluZyByb2xsb3V0IGZvciBidWcgNTAwMDAuCitVcGRhdGluZyB3b3JraW5n
IGRpcmVjdG9yeQorQnVpbGRpbmcgV2ViS2l0CitDb21taXR0ZWQgcjQ5ODI0OiA8aHR0cDovL3Ry
YWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvNDk4MjQ+CisiIiIKKyAgICAgICAgc2VsZi5hc3NlcnRf
ZXhlY3V0ZV9vdXRwdXRzKFJvbGxvdXQoKSwgWzg1MiwgIlJlYXNvbiJdLCBvcHRpb25zPXNlbGYu
X2RlZmF1bHRfb3B0aW9ucygpLCBleHBlY3RlZF9zdGRlcnI9ZXhwZWN0ZWRfc3RkZXJyLCBleHBl
Y3RlZF9sb2dzPWV4cGVjdGVkX2xvZ3MpCiAKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvdG9vbC9jb21tYW5kcy9lYXJseXdhcm5pbmdzeXN0ZW0ucHkgYi9Ub29scy9TY3JpcHRz
L3dlYmtpdHB5L3Rvb2wvY29tbWFuZHMvZWFybHl3YXJuaW5nc3lzdGVtLnB5CmluZGV4IDNlYmRm
MzkwYTM5MDBkOTU2OWU0NzUwM2ZiZmY3MzJlMTA3NGUwODEuLjk4YTlhMzZlZDczZTM1MWNjNjU2
MDQxZWY1MmQ5ZGRlY2FhYTA1ZGYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkv
dG9vbC9jb21tYW5kcy9lYXJseXdhcm5pbmdzeXN0ZW0ucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93
ZWJraXRweS90b29sL2NvbW1hbmRzL2Vhcmx5d2FybmluZ3N5c3RlbS5weQpAQCAtMjYsMTEgKzI2
LDExIEBACiAjIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQogIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogCitpbXBvcnQgbG9nZ2luZwog
ZnJvbSBvcHRwYXJzZSBpbXBvcnQgbWFrZV9vcHRpb24KIAogZnJvbSB3ZWJraXRweS5jb21tb24u
Y29uZmlnLmNvbW1pdHRlcnMgaW1wb3J0IENvbW1pdHRlckxpc3QKIGZyb20gd2Via2l0cHkuY29t
bW9uLmNvbmZpZy5wb3J0cyBpbXBvcnQgRGVwcmVjYXRlZFBvcnQKLWZyb20gd2Via2l0cHkuY29t
bW9uLnN5c3RlbS5kZXByZWNhdGVkX2xvZ2dpbmcgaW1wb3J0IGVycm9yLCBsb2cKIGZyb20gd2Vi
a2l0cHkuY29tbW9uLnN5c3RlbS5leGVjdXRpdmUgaW1wb3J0IFNjcmlwdEVycm9yCiBmcm9tIHdl
YmtpdHB5LnRvb2wuYm90LmVhcmx5d2FybmluZ3N5c3RlbXRhc2sgaW1wb3J0IEVhcmx5V2Fybmlu
Z1N5c3RlbVRhc2ssIEVhcmx5V2FybmluZ1N5c3RlbVRhc2tEZWxlZ2F0ZQogZnJvbSB3ZWJraXRw
eS50b29sLmJvdC5leHBlY3RlZGZhaWx1cmVzIGltcG9ydCBFeHBlY3RlZEZhaWx1cmVzCkBAIC0z
OSw2ICszOSw4IEBAIGZyb20gd2Via2l0cHkudG9vbC5ib3QucGF0Y2hhbmFseXNpc3Rhc2sgaW1w
b3J0IFVuYWJsZVRvQXBwbHlQYXRjaAogZnJvbSB3ZWJraXRweS50b29sLmJvdC5xdWV1ZWVuZ2lu
ZSBpbXBvcnQgUXVldWVFbmdpbmUKIGZyb20gd2Via2l0cHkudG9vbC5jb21tYW5kcy5xdWV1ZXMg
aW1wb3J0IEFic3RyYWN0UmV2aWV3UXVldWUKIAorX2xvZyA9IGxvZ2dpbmcuZ2V0TG9nZ2VyKF9f
bmFtZV9fKQorCiAKIGNsYXNzIEFic3RyYWN0RWFybHlXYXJuaW5nU3lzdGVtKEFic3RyYWN0UmV2
aWV3UXVldWUsIEVhcmx5V2FybmluZ1N5c3RlbVRhc2tEZWxlZ2F0ZSk6CiAgICAgX2J1aWxkX3N0
eWxlID0gInJlbGVhc2UiCkBAIC0xMzUsNyArMTM3LDcgQEAgY2xhc3MgQWJzdHJhY3RFYXJseVdh
cm5pbmdTeXN0ZW0oQWJzdHJhY3RSZXZpZXdRdWV1ZSwgRWFybHlXYXJuaW5nU3lzdGVtVGFza0Rl
bGUKICAgICBAY2xhc3NtZXRob2QKICAgICBkZWYgaGFuZGxlX3NjcmlwdF9lcnJvcihjbHMsIHRv
b2wsIHN0YXRlLCBzY3JpcHRfZXJyb3IpOgogICAgICAgICAjIEZJWE1FOiBXaHkgZG9lcyB0aGlz
IG5vdCBleGl0KDEpIGxpa2UgdGhlIHN1cGVyY2xhc3MgZG9lcz8KLSAgICAgICAgbG9nKHNjcmlw
dF9lcnJvci5tZXNzYWdlX3dpdGhfb3V0cHV0KCkpCisgICAgICAgIF9sb2cuZXJyb3Ioc2NyaXB0
X2Vycm9yLm1lc3NhZ2Vfd2l0aF9vdXRwdXQoKSkKIAogCiBjbGFzcyBHdGtFV1MoQWJzdHJhY3RF
YXJseVdhcm5pbmdTeXN0ZW0pOgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90
b29sL2NvbW1hbmRzL2Vhcmx5d2FybmluZ3N5c3RlbV91bml0dGVzdC5weSBiL1Rvb2xzL1Njcmlw
dHMvd2Via2l0cHkvdG9vbC9jb21tYW5kcy9lYXJseXdhcm5pbmdzeXN0ZW1fdW5pdHRlc3QucHkK
aW5kZXggN2ZlZmYwZDYyYzAwZTNjNjU0NDI3ZWFjOTU3MmI1NzlkMjEyYTYyNC4uOWUyYjBkOGUz
NjJhNTE3MDZiZGE5MGEyYzMyZDkwNDM0MGY0ZmVkYSAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0
cy93ZWJraXRweS90b29sL2NvbW1hbmRzL2Vhcmx5d2FybmluZ3N5c3RlbV91bml0dGVzdC5weQor
KysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvY29tbWFuZHMvZWFybHl3YXJuaW5nc3lz
dGVtX3VuaXR0ZXN0LnB5CkBAIC01OCwxMyArNTgsMTggQEAgY2xhc3MgRWFybHlXYXJuaW5nU3l0
ZW1UZXN0KFF1ZXVlc1Rlc3QpOgogICAgICAgICB9CiAgICAgICAgIGV4cGVjdGVkX3N0ZGVyciA9
IHsKICAgICAgICAgICAgICJiZWdpbl93b3JrX3F1ZXVlIjogc2VsZi5fZGVmYXVsdF9iZWdpbl93
b3JrX3F1ZXVlX3N0ZGVycihld3MubmFtZSksCi0gICAgICAgICAgICAiaGFuZGxlX3VuZXhwZWN0
ZWRfZXJyb3IiOiAiTW9jayBlcnJvciBtZXNzYWdlXG4iLAogICAgICAgICAgICAgIm5leHRfd29y
a19pdGVtIjogIiIsCiAgICAgICAgICAgICAicHJvY2Vzc193b3JrX2l0ZW0iOiAiTU9DSzogdXBk
YXRlX3N0YXR1czogJShuYW1lKXMgUGFzc1xuTU9DSzogcmVsZWFzZV93b3JrX2l0ZW06ICUobmFt
ZSlzIDEwMDAwXG4iICUgc3RyaW5nX3JlcGxhY2VtbnRzLAotICAgICAgICAgICAgImhhbmRsZV9z
Y3JpcHRfZXJyb3IiOiAiU2NyaXB0RXJyb3IgZXJyb3IgbWVzc2FnZVxuXG5NT0NLIG91dHB1dFxu
IiwKICAgICAgICAgfQogICAgICAgICByZXR1cm4gZXhwZWN0ZWRfc3RkZXJyCiAKKyAgICBkZWYg
X2RlZmF1bHRfZXhwZWN0ZWRfbG9ncyhzZWxmKToKKyAgICAgICAgZXhwZWN0ZWRfbG9ncyA9IHsK
KyAgICAgICAgICAgICJoYW5kbGVfdW5leHBlY3RlZF9lcnJvciI6ICJNb2NrIGVycm9yIG1lc3Nh
Z2VcbiIsCisgICAgICAgICAgICAiaGFuZGxlX3NjcmlwdF9lcnJvciI6ICJTY3JpcHRFcnJvciBl
cnJvciBtZXNzYWdlXG5cbk1PQ0sgb3V0cHV0XG4iLAorICAgICAgICB9CisgICAgICAgIHJldHVy
biBleHBlY3RlZF9sb2dzCisKICAgICBkZWYgX3Rlc3RfYnVpbGRlcl9ld3Moc2VsZiwgZXdzKToK
ICAgICAgICAgZXdzLmJpbmRfdG9fdG9vbChNb2NrVG9vbCgpKQogICAgICAgICBvcHRpb25zID0g
TW9jaygpCkBAIC03Niw4ICs4MSw4IEBAIGNsYXNzIEVhcmx5V2FybmluZ1N5dGVtVGVzdChRdWV1
ZXNUZXN0KToKICAgICAgICAgZXdzLnRlc3RfcmVzdWx0cyA9IGxhbWJkYTogTm9uZQogICAgICAg
ICBld3MuYmluZF90b190b29sKE1vY2tUb29sKCkpCiAgICAgICAgIGV4cGVjdGVkX3N0ZGVyciA9
IHNlbGYuX2RlZmF1bHRfZXhwZWN0ZWRfc3RkZXJyKGV3cykKLSAgICAgICAgZXhwZWN0ZWRfc3Rk
ZXJyWyJoYW5kbGVfc2NyaXB0X2Vycm9yIl0gPSAiU2NyaXB0RXJyb3IgZXJyb3IgbWVzc2FnZVxu
XG5NT0NLIG91dHB1dFxuIgotICAgICAgICBzZWxmLmFzc2VydF9xdWV1ZV9vdXRwdXRzKGV3cywg
ZXhwZWN0ZWRfc3RkZXJyPWV4cGVjdGVkX3N0ZGVycikKKyAgICAgICAgZXhwZWN0ZWRfbG9ncyA9
IHNlbGYuX2RlZmF1bHRfZXhwZWN0ZWRfbG9ncygpCisgICAgICAgIHNlbGYuYXNzZXJ0X3F1ZXVl
X291dHB1dHMoZXdzLCBleHBlY3RlZF9zdGRlcnI9ZXhwZWN0ZWRfc3RkZXJyLCBleHBlY3RlZF9s
b2dzPWV4cGVjdGVkX2xvZ3MpCiAKICAgICBkZWYgdGVzdF9idWlsZGVyX2V3c2VzKHNlbGYpOgog
ICAgICAgICBzZWxmLl90ZXN0X2J1aWxkZXJfZXdzKE1hY0VXUygpKQpkaWZmIC0tZ2l0IGEvVG9v
bHMvU2NyaXB0cy93ZWJraXRweS90b29sL2NvbW1hbmRzL29wZW5idWdzLnB5IGIvVG9vbHMvU2Ny
aXB0cy93ZWJraXRweS90b29sL2NvbW1hbmRzL29wZW5idWdzLnB5CmluZGV4IDFiNTFjOWZmNmQ3
N2Y3OWQyYjcwMzQyOTgxNjg5Mzk5NmQzYmY2NzEuLjhjNTVhYmExNGM5ZDliMGZhNjgxMzhkMWM0
NWI0MzNkOWE2NTQ0OWYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9j
b21tYW5kcy9vcGVuYnVncy5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvY29t
bWFuZHMvb3BlbmJ1Z3MucHkKQEAgLTI2LDExICsyNiwxMyBAQAogIyAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKICMg
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KIAoraW1wb3J0IGxvZ2dpbmcKIGltcG9ydCByZQogaW1wb3J0IHN5cwogCiBm
cm9tIHdlYmtpdHB5LnRvb2wubXVsdGljb21tYW5kdG9vbCBpbXBvcnQgQWJzdHJhY3REZWNsYXJh
dGl2ZUNvbW1hbmQKLWZyb20gd2Via2l0cHkuY29tbW9uLnN5c3RlbS5kZXByZWNhdGVkX2xvZ2dp
bmcgaW1wb3J0IGxvZworCitfbG9nID0gbG9nZ2luZy5nZXRMb2dnZXIoX19uYW1lX18pCiAKIAog
Y2xhc3MgT3BlbkJ1Z3MoQWJzdHJhY3REZWNsYXJhdGl2ZUNvbW1hbmQpOgpAQCAtNTgsNiArNjAs
NiBAQCBjbGFzcyBPcGVuQnVncyhBYnN0cmFjdERlY2xhcmF0aXZlQ29tbWFuZCk6CiAgICAgICAg
ICAgICAjIFRoaXMgd29uJ3Qgb3BlbiBidWdzIHVudGlsIHN0ZGluIGlzIGNsb3NlZCBidXQgY291
bGQgYmUgbWFkZSB0byBlYXNpbHkuICBUaGF0IHdvdWxkIGp1c3QgbWFrZSB1bml0IHRlc3Rpbmcg
c2xpZ2h0bHkgaGFyZGVyLgogICAgICAgICAgICAgYnVnX2lkcyA9IHNlbGYuX2ZpbmRfYnVnc19p
bl9pdGVyYWJsZShzeXMuc3RkaW4pCiAKLSAgICAgICAgbG9nKCIlcyBidWdzIGZvdW5kIGluIGlu
cHV0LiIgJSBsZW4oYnVnX2lkcykpCisgICAgICAgIF9sb2cuaW5mbygiJXMgYnVncyBmb3VuZCBp
biBpbnB1dC4iICUgbGVuKGJ1Z19pZHMpKQogCiAgICAgICAgIHNlbGYuX29wZW5fYnVncyhidWdf
aWRzKQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL2NvbW1hbmRzL29w
ZW5idWdzX3VuaXR0ZXN0LnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL2NvbW1hbmRz
L29wZW5idWdzX3VuaXR0ZXN0LnB5CmluZGV4IDA2ZGFjMWZkNjY0MmU1NDJhMDQ0YzQyOWQ0MjM2
MWM2ZTI3NzgxMTUuLmNhNjM4MjhhNzliNDRlNDI1NWVkNzBmOGQ3ZDBhYjJmNzczNTE3YjggMTAw
NjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9jb21tYW5kcy9vcGVuYnVnc191
bml0dGVzdC5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvY29tbWFuZHMvb3Bl
bmJ1Z3NfdW5pdHRlc3QucHkKQEAgLTQ2LDUgKzQ2LDYgQEAgY2xhc3MgT3BlbkJ1Z3NUZXN0KENv
bW1hbmRzVGVzdCk6CiAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG9wZW5idWdzLl9maW5k
X2J1Z3NfaW5fc3RyaW5nKGV4cGVjdGF0aW9uWzBdKSwgZXhwZWN0YXRpb25bMV0pCiAKICAgICBk
ZWYgdGVzdF9hcmdzX3BhcnNpbmcoc2VsZik6Ci0gICAgICAgIGV4cGVjdGVkX3N0ZGVyciA9ICIy
IGJ1Z3MgZm91bmQgaW4gaW5wdXQuXG5NT0NLOiB1c2VyLm9wZW5fdXJsOiBodHRwOi8vZXhhbXBs
ZS5jb20vMTIzNDVcbk1PQ0s6IHVzZXIub3Blbl91cmw6IGh0dHA6Ly9leGFtcGxlLmNvbS8yMzQ1
NlxuIgotICAgICAgICBzZWxmLmFzc2VydF9leGVjdXRlX291dHB1dHMoT3BlbkJ1Z3MoKSwgWyIx
MjM0NVxuMjM0NTYiXSwgZXhwZWN0ZWRfc3RkZXJyPWV4cGVjdGVkX3N0ZGVycikKKyAgICAgICAg
ZXhwZWN0ZWRfc3RkZXJyID0gIk1PQ0s6IHVzZXIub3Blbl91cmw6IGh0dHA6Ly9leGFtcGxlLmNv
bS8xMjM0NVxuTU9DSzogdXNlci5vcGVuX3VybDogaHR0cDovL2V4YW1wbGUuY29tLzIzNDU2XG4i
CisgICAgICAgIGV4cGVjdGVkX2xvZ3MgPSAiMiBidWdzIGZvdW5kIGluIGlucHV0LlxuIgorICAg
ICAgICBzZWxmLmFzc2VydF9leGVjdXRlX291dHB1dHMoT3BlbkJ1Z3MoKSwgWyIxMjM0NVxuMjM0
NTYiXSwgZXhwZWN0ZWRfc3RkZXJyPWV4cGVjdGVkX3N0ZGVyciwgZXhwZWN0ZWRfbG9ncz1leHBl
Y3RlZF9sb2dzKQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL2NvbW1h
bmRzL3BlcmZhbGl6ZXIucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvY29tbWFuZHMv
cGVyZmFsaXplci5weQppbmRleCBhZTlmNjNhNjVjZDU2OWE0MjA0YTcyNzMwMTc1Y2I4NmZlNjkz
NjI5Li5lZDBlMDE1NDg4Y2I5N2M1M2E0YWJmYzQzMDMwMWEyMWNmZDEwMzdjIDEwMDY0NAotLS0g
YS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvY29tbWFuZHMvcGVyZmFsaXplci5weQorKysg
Yi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvY29tbWFuZHMvcGVyZmFsaXplci5weQpAQCAt
MjYsNyArMjYsOCBAQAogIyAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKICMgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KIAotZnJvbSB3ZWJr
aXRweS5jb21tb24uc3lzdGVtLmRlcHJlY2F0ZWRfbG9nZ2luZyBpbXBvcnQgbG9nCitpbXBvcnQg
bG9nZ2luZworCiBmcm9tIHdlYmtpdHB5LnRvb2wuYm90LmV4cGVjdGVkZmFpbHVyZXMgaW1wb3J0
IEV4cGVjdGVkRmFpbHVyZXMKIGZyb20gd2Via2l0cHkudG9vbC5ib3QuaXJjX2NvbW1hbmQgaW1w
b3J0IElSQ0NvbW1hbmQKIGZyb20gd2Via2l0cHkudG9vbC5ib3QuaXJjX2NvbW1hbmQgaW1wb3J0
IEhlbHAKQEAgLTM4LDYgKzM5LDggQEAgZnJvbSB3ZWJraXRweS50b29sLmJvdC5zaGVyaWZmIGlt
cG9ydCBTaGVyaWZmCiBmcm9tIHdlYmtpdHB5LnRvb2wuY29tbWFuZHMucXVldWVzIGltcG9ydCBB
YnN0cmFjdFF1ZXVlCiBmcm9tIHdlYmtpdHB5LnRvb2wuY29tbWFuZHMuc3RlcHNlcXVlbmNlIGlt
cG9ydCBTdGVwU2VxdWVuY2VFcnJvckhhbmRsZXIKIAorX2xvZyA9IGxvZ2dpbmcuZ2V0TG9nZ2Vy
KF9fbmFtZV9fKQorCiAKIGNsYXNzIFBlcmZhbGl6ZXJUYXNrKFBhdGNoQW5hbHlzaXNUYXNrKToK
ICAgICBkZWYgX19pbml0X18oc2VsZiwgdG9vbCwgcGF0Y2gsIGxvZ2dlcik6CkBAIC0yMDQsNyAr
MjA3LDcgQEAgY2xhc3MgUGVyZmFsaXplcihBYnN0cmFjdFF1ZXVlLCBTdGVwU2VxdWVuY2VFcnJv
ckhhbmRsZXIpOgogICAgICAgICByZXR1cm4gVHJ1ZQogCiAgICAgZGVmIGhhbmRsZV91bmV4cGVj
dGVkX2Vycm9yKHNlbGYsIGZhaWx1cmVfbWFwLCBtZXNzYWdlKToKLSAgICAgICAgbG9nKG1lc3Nh
Z2UpCisgICAgICAgIF9sb2cuZXJyb3IobWVzc2FnZSkKIAogICAgICMgU3RlcFNlcXVlbmNlRXJy
b3JIYW5kbGVyIG1ldGhvZHMKIApkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90
b29sL2NvbW1hbmRzL3F1ZXJpZXMucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvY29t
bWFuZHMvcXVlcmllcy5weQppbmRleCBjYmRiOTAzZWU1ZWU0ODdkNjNkNTkzMzhhNDZiZWQzMDgw
NjQzMDJhLi43Y2M4NDY3MTU0ZGIyMzU0YTVmYTU3NDczZWUyNDQ5YTNiMzMzZmI4IDEwMDY0NAot
LS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvY29tbWFuZHMvcXVlcmllcy5weQorKysg
Yi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvY29tbWFuZHMvcXVlcmllcy5weQpAQCAtMjks
NiArMjksNyBAQAogIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogCiBpbXBvcnQgZm5tYXRjaAoraW1wb3J0IGxvZ2dp
bmcKIGltcG9ydCByZQogCiBmcm9tIGRhdGV0aW1lIGltcG9ydCBkYXRldGltZQpAQCAtNDUsMTAg
KzQ2LDExIEBAIGZyb20gd2Via2l0cHkuY29tbW9uLnN5c3RlbS5jcmFzaGxvZ3MgaW1wb3J0IENy
YXNoTG9ncwogZnJvbSB3ZWJraXRweS5jb21tb24uc3lzdGVtLnVzZXIgaW1wb3J0IFVzZXIKIGZy
b20gd2Via2l0cHkudG9vbC5ncmFtbWFyIGltcG9ydCBwbHVyYWxpemUKIGZyb20gd2Via2l0cHku
dG9vbC5tdWx0aWNvbW1hbmR0b29sIGltcG9ydCBBYnN0cmFjdERlY2xhcmF0aXZlQ29tbWFuZAot
ZnJvbSB3ZWJraXRweS5jb21tb24uc3lzdGVtLmRlcHJlY2F0ZWRfbG9nZ2luZyBpbXBvcnQgbG9n
CiBmcm9tIHdlYmtpdHB5LmxheW91dF90ZXN0cy5tb2RlbHMudGVzdF9leHBlY3RhdGlvbnMgaW1w
b3J0IFRlc3RFeHBlY3RhdGlvbnMKIGZyb20gd2Via2l0cHkubGF5b3V0X3Rlc3RzLnBvcnQgaW1w
b3J0IHBsYXRmb3JtX29wdGlvbnMsIGNvbmZpZ3VyYXRpb25fb3B0aW9ucwogCitfbG9nID0gbG9n
Z2luZy5nZXRMb2dnZXIoX19uYW1lX18pCisKIAogY2xhc3MgU3VnZ2VzdFJldmlld2VycyhBYnN0
cmFjdERlY2xhcmF0aXZlQ29tbWFuZCk6CiAgICAgbmFtZSA9ICJzdWdnZXN0LXJldmlld2VycyIK
QEAgLTgyLDcgKzg0LDcgQEAgY2xhc3MgUGF0Y2hlc0luQ29tbWl0UXVldWUoQWJzdHJhY3REZWNs
YXJhdGl2ZUNvbW1hbmQpOgogCiAgICAgZGVmIGV4ZWN1dGUoc2VsZiwgb3B0aW9ucywgYXJncywg
dG9vbCk6CiAgICAgICAgIHBhdGNoZXMgPSB0b29sLmJ1Z3MucXVlcmllcy5mZXRjaF9wYXRjaGVz
X2Zyb21fY29tbWl0X3F1ZXVlKCkKLSAgICAgICAgbG9nKCJQYXRjaGVzIGluIGNvbW1pdCBxdWV1
ZToiKQorICAgICAgICBfbG9nLmluZm8oIlBhdGNoZXMgaW4gY29tbWl0IHF1ZXVlOiIpCiAgICAg
ICAgIGZvciBwYXRjaCBpbiBwYXRjaGVzOgogICAgICAgICAgICAgcHJpbnQgcGF0Y2gudXJsKCkK
IApAQCAtOTksMTMgKzEwMSwxMyBAQCBjbGFzcyBQYXRjaGVzVG9Db21taXRRdWV1ZShBYnN0cmFj
dERlY2xhcmF0aXZlQ29tbWFuZCk6CiAgICAgQHN0YXRpY21ldGhvZAogICAgIGRlZiBfbmVlZHNf
Y29tbWl0X3F1ZXVlKHBhdGNoKToKICAgICAgICAgaWYgcGF0Y2guY29tbWl0X3F1ZXVlKCkgPT0g
IisiOiAjIElmIGl0J3MgYWxyZWFkeSBjcSssIGlnbm9yZSB0aGUgcGF0Y2guCi0gICAgICAgICAg
ICBsb2coIiVzIGFscmVhZHkgaGFzIGNxPSVzIiAlIChwYXRjaC5pZCgpLCBwYXRjaC5jb21taXRf
cXVldWUoKSkpCisgICAgICAgICAgICBfbG9nLmluZm8oIiVzIGFscmVhZHkgaGFzIGNxPSVzIiAl
IChwYXRjaC5pZCgpLCBwYXRjaC5jb21taXRfcXVldWUoKSkpCiAgICAgICAgICAgICByZXR1cm4g
RmFsc2UKIAogICAgICAgICAjIFdlIG9ubHkgbmVlZCB0byB3b3JyeSBhYm91dCBwYXRjaGVzIGZy
b20gY29udHJpYnV0ZXJzIHdobyBhcmUgbm90IHlldCBjb21taXR0ZXJzLgogICAgICAgICBjb21t
aXR0ZXJfcmVjb3JkID0gQ29tbWl0dGVyTGlzdCgpLmNvbW1pdHRlcl9ieV9lbWFpbChwYXRjaC5h
dHRhY2hlcl9lbWFpbCgpKQogICAgICAgICBpZiBjb21taXR0ZXJfcmVjb3JkOgotICAgICAgICAg
ICAgbG9nKCIlcyBjb21taXR0ZXIgPSAlcyIgJSAocGF0Y2guaWQoKSwgY29tbWl0dGVyX3JlY29y
ZCkpCisgICAgICAgICAgICBfbG9nLmluZm8oIiVzIGNvbW1pdHRlciA9ICVzIiAlIChwYXRjaC5p
ZCgpLCBjb21taXR0ZXJfcmVjb3JkKSkKICAgICAgICAgcmV0dXJuIG5vdCBjb21taXR0ZXJfcmVj
b3JkCiAKICAgICBkZWYgZXhlY3V0ZShzZWxmLCBvcHRpb25zLCBhcmdzLCB0b29sKToKZGlmZiAt
LWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9jb21tYW5kcy9xdWVyaWVzX3VuaXR0
ZXN0LnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL2NvbW1hbmRzL3F1ZXJpZXNfdW5p
dHRlc3QucHkKaW5kZXggZWYxZTBiMzg3ZDc3OTU4YjdhYjQ1NWY3ZjE0ZDcyYjM3OTRjMjcxNC4u
NTdiYmVkNjg2MzhmY2UxZjhkMGU3NDFkNWQyYjc1YTNlZGIwM2Q1MSAxMDA2NDQKLS0tIGEvVG9v
bHMvU2NyaXB0cy93ZWJraXRweS90b29sL2NvbW1hbmRzL3F1ZXJpZXNfdW5pdHRlc3QucHkKKysr
IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL2NvbW1hbmRzL3F1ZXJpZXNfdW5pdHRlc3Qu
cHkKQEAgLTY2LDIzICs2NiwyNCBAQCBjbGFzcyBNb2NrUG9ydEZhY3Rvcnkob2JqZWN0KToKIGNs
YXNzIFF1ZXJ5Q29tbWFuZHNUZXN0KENvbW1hbmRzVGVzdCk6CiAgICAgZGVmIHRlc3RfYnVnc190
b19jb21taXQoc2VsZik6CiAgICAgICAgIGV4cGVjdGVkX3N0ZGVyciA9ICJXYXJuaW5nLCBhdHRh
Y2htZW50IDEwMDAxIG9uIGJ1ZyA1MDAwMCBoYXMgaW52YWxpZCBjb21taXR0ZXIgKG5vbi1jb21t
aXR0ZXJAZXhhbXBsZS5jb20pXG4iCi0gICAgICAgIHNlbGYuYXNzZXJ0X2V4ZWN1dGVfb3V0cHV0
cyhCdWdzVG9Db21taXQoKSwgTm9uZSwgIjUwMDAwXG41MDAwM1xuIiwgZXhwZWN0ZWRfc3RkZXJy
KQorICAgICAgICBzZWxmLmFzc2VydF9leGVjdXRlX291dHB1dHMoQnVnc1RvQ29tbWl0KCksIE5v
bmUsICI1MDAwMFxuNTAwMDNcbiIsIGV4cGVjdGVkX3N0ZGVycj1leHBlY3RlZF9zdGRlcnIpCiAK
ICAgICBkZWYgdGVzdF9wYXRjaGVzX2luX2NvbW1pdF9xdWV1ZShzZWxmKToKICAgICAgICAgZXhw
ZWN0ZWRfc3Rkb3V0ID0gImh0dHA6Ly9leGFtcGxlLmNvbS8xMDAwMFxuaHR0cDovL2V4YW1wbGUu
Y29tLzEwMDAyXG4iCi0gICAgICAgIGV4cGVjdGVkX3N0ZGVyciA9ICJXYXJuaW5nLCBhdHRhY2ht
ZW50IDEwMDAxIG9uIGJ1ZyA1MDAwMCBoYXMgaW52YWxpZCBjb21taXR0ZXIgKG5vbi1jb21taXR0
ZXJAZXhhbXBsZS5jb20pXG5QYXRjaGVzIGluIGNvbW1pdCBxdWV1ZTpcbiIKLSAgICAgICAgc2Vs
Zi5hc3NlcnRfZXhlY3V0ZV9vdXRwdXRzKFBhdGNoZXNJbkNvbW1pdFF1ZXVlKCksIE5vbmUsIGV4
cGVjdGVkX3N0ZG91dCwgZXhwZWN0ZWRfc3RkZXJyKQorICAgICAgICBleHBlY3RlZF9zdGRlcnIg
PSAiV2FybmluZywgYXR0YWNobWVudCAxMDAwMSBvbiBidWcgNTAwMDAgaGFzIGludmFsaWQgY29t
bWl0dGVyIChub24tY29tbWl0dGVyQGV4YW1wbGUuY29tKVxuIgorICAgICAgICBleHBlY3RlZF9s
b2dzID0gIlBhdGNoZXMgaW4gY29tbWl0IHF1ZXVlOlxuIgorICAgICAgICBzZWxmLmFzc2VydF9l
eGVjdXRlX291dHB1dHMoUGF0Y2hlc0luQ29tbWl0UXVldWUoKSwgTm9uZSwgZXhwZWN0ZWRfc3Rk
b3V0LCBleHBlY3RlZF9zdGRlcnI9ZXhwZWN0ZWRfc3RkZXJyLCBleHBlY3RlZF9sb2dzPWV4cGVj
dGVkX2xvZ3MpCiAKICAgICBkZWYgdGVzdF9wYXRjaGVzX3RvX2NvbW1pdF9xdWV1ZShzZWxmKToK
ICAgICAgICAgZXhwZWN0ZWRfc3Rkb3V0ID0gImh0dHA6Ly9leGFtcGxlLmNvbS8xMDAwMyZhY3Rp
b249ZWRpdFxuIgotICAgICAgICBleHBlY3RlZF9zdGRlcnIgPSAiMTAwMDAgYWxyZWFkeSBoYXMg
Y3E9K1xuMTAwMDEgYWxyZWFkeSBoYXMgY3E9K1xuMTAwMDQgY29tbWl0dGVyID0gXCJFcmljIFNl
aWRlbFwiIDxlcmljQHdlYmtpdC5vcmc+XG4iCisgICAgICAgIGV4cGVjdGVkX2xvZ3MgPSAiMTAw
MDAgYWxyZWFkeSBoYXMgY3E9K1xuMTAwMDEgYWxyZWFkeSBoYXMgY3E9K1xuMTAwMDQgY29tbWl0
dGVyID0gXCJFcmljIFNlaWRlbFwiIDxlcmljQHdlYmtpdC5vcmc+XG4iCiAgICAgICAgIG9wdGlv
bnMgPSBNb2NrKCkKICAgICAgICAgb3B0aW9ucy5idWdzID0gRmFsc2UKLSAgICAgICAgc2VsZi5h
c3NlcnRfZXhlY3V0ZV9vdXRwdXRzKFBhdGNoZXNUb0NvbW1pdFF1ZXVlKCksIE5vbmUsIGV4cGVj
dGVkX3N0ZG91dCwgZXhwZWN0ZWRfc3RkZXJyLCBvcHRpb25zPW9wdGlvbnMpCisgICAgICAgIHNl
bGYuYXNzZXJ0X2V4ZWN1dGVfb3V0cHV0cyhQYXRjaGVzVG9Db21taXRRdWV1ZSgpLCBOb25lLCBl
eHBlY3RlZF9zdGRvdXQsIGV4cGVjdGVkX2xvZ3M9ZXhwZWN0ZWRfbG9ncywgb3B0aW9ucz1vcHRp
b25zKQogCiAgICAgICAgIGV4cGVjdGVkX3N0ZG91dCA9ICJodHRwOi8vZXhhbXBsZS5jb20vNTAw
MDNcbiIKICAgICAgICAgb3B0aW9ucy5idWdzID0gVHJ1ZQotICAgICAgICBzZWxmLmFzc2VydF9l
eGVjdXRlX291dHB1dHMoUGF0Y2hlc1RvQ29tbWl0UXVldWUoKSwgTm9uZSwgZXhwZWN0ZWRfc3Rk
b3V0LCBleHBlY3RlZF9zdGRlcnIsIG9wdGlvbnM9b3B0aW9ucykKKyAgICAgICAgc2VsZi5hc3Nl
cnRfZXhlY3V0ZV9vdXRwdXRzKFBhdGNoZXNUb0NvbW1pdFF1ZXVlKCksIE5vbmUsIGV4cGVjdGVk
X3N0ZG91dCwgZXhwZWN0ZWRfbG9ncz1leHBlY3RlZF9sb2dzLCBvcHRpb25zPW9wdGlvbnMpCiAK
ICAgICBkZWYgdGVzdF9wYXRjaGVzX3RvX3JldmlldyhzZWxmKToKICAgICAgICAgb3B0aW9ucyA9
IE1vY2soKQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL2NvbW1hbmRz
L3F1ZXVlcy5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9jb21tYW5kcy9xdWV1ZXMu
cHkKaW5kZXggNjJkNDI5ZDg4YTA5ZmYyMTEzNWQ3MzVkNTIzNTY2NDczNzIwZWIyYS4uZWRmYmVl
NDAyNTk1NDZlMDIxNmMzZWFhOTFiNGRlMWM4MGJiYTRiYyAxMDA2NDQKLS0tIGEvVG9vbHMvU2Ny
aXB0cy93ZWJraXRweS90b29sL2NvbW1hbmRzL3F1ZXVlcy5weQorKysgYi9Ub29scy9TY3JpcHRz
L3dlYmtpdHB5L3Rvb2wvY29tbWFuZHMvcXVldWVzLnB5CkBAIC0yOCw2ICsyOCw3IEBACiAjIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCiAKIGltcG9ydCBjb2RlY3MKK2ltcG9ydCBsb2dnaW5nCiBpbXBvcnQgb3MKIGlt
cG9ydCBzeXMKIGltcG9ydCB0aW1lCkBAIC00MSw3ICs0Miw2IEBAIGZyb20gd2Via2l0cHkuY29t
bW9uLmNvbmZpZy5jb21taXR0ZXJ2YWxpZGF0b3IgaW1wb3J0IENvbW1pdHRlclZhbGlkYXRvcgog
ZnJvbSB3ZWJraXRweS5jb21tb24uY29uZmlnLnBvcnRzIGltcG9ydCBEZXByZWNhdGVkUG9ydAog
ZnJvbSB3ZWJraXRweS5jb21tb24ubmV0LmJ1Z3ppbGxhIGltcG9ydCBBdHRhY2htZW50CiBmcm9t
IHdlYmtpdHB5LmNvbW1vbi5uZXQuc3RhdHVzc2VydmVyIGltcG9ydCBTdGF0dXNTZXJ2ZXIKLWZy
b20gd2Via2l0cHkuY29tbW9uLnN5c3RlbS5kZXByZWNhdGVkX2xvZ2dpbmcgaW1wb3J0IGVycm9y
LCBsb2cKIGZyb20gd2Via2l0cHkuY29tbW9uLnN5c3RlbS5leGVjdXRpdmUgaW1wb3J0IFNjcmlw
dEVycm9yCiBmcm9tIHdlYmtpdHB5LnRvb2wuYm90LmJvdGluZm8gaW1wb3J0IEJvdEluZm8KIGZy
b20gd2Via2l0cHkudG9vbC5ib3QuY29tbWl0cXVldWV0YXNrIGltcG9ydCBDb21taXRRdWV1ZVRh
c2ssIENvbW1pdFF1ZXVlVGFza0RlbGVnYXRlCkBAIC01NSw2ICs1NSw4IEBAIGZyb20gd2Via2l0
cHkudG9vbC5ib3Quc3R5bGVxdWV1ZXRhc2sgaW1wb3J0IFN0eWxlUXVldWVUYXNrLCBTdHlsZVF1
ZXVlVGFza0RlbGVnCiBmcm9tIHdlYmtpdHB5LnRvb2wuY29tbWFuZHMuc3RlcHNlcXVlbmNlIGlt
cG9ydCBTdGVwU2VxdWVuY2VFcnJvckhhbmRsZXIKIGZyb20gd2Via2l0cHkudG9vbC5tdWx0aWNv
bW1hbmR0b29sIGltcG9ydCBDb21tYW5kLCBUcnlBZ2FpbgogCitfbG9nID0gbG9nZ2luZy5nZXRM
b2dnZXIoX19uYW1lX18pCisKIAogY2xhc3MgQWJzdHJhY3RRdWV1ZShDb21tYW5kLCBRdWV1ZUVu
Z2luZURlbGVnYXRlKToKICAgICB3YXRjaGVycyA9IFsKQEAgLTc4LDcgKzgwLDcgQEAgY2xhc3Mg
QWJzdHJhY3RRdWV1ZShDb21tYW5kLCBRdWV1ZUVuZ2luZURlbGVnYXRlKToKICAgICAgICAgICAg
IHNlbGYuX3Rvb2wuYnVncy5hZGRfY2NfdG9fYnVnKGJ1Z19pZCwgc2VsZi53YXRjaGVycykKICAg
ICAgICAgZXhjZXB0IEV4Y2VwdGlvbiwgZToKICAgICAgICAgICAgIHRyYWNlYmFjay5wcmludF9l
eGMoKQotICAgICAgICAgICAgbG9nKCJGYWlsZWQgdG8gQ0Mgd2F0Y2hlcnMuIikKKyAgICAgICAg
ICAgIF9sb2cuZXJyb3IoIkZhaWxlZCB0byBDQyB3YXRjaGVycy4iKQogCiAgICAgZGVmIHJ1bl93
ZWJraXRfcGF0Y2goc2VsZiwgYXJncyk6CiAgICAgICAgIHdlYmtpdF9wYXRjaF9hcmdzID0gW3Nl
bGYuX3Rvb2wucGF0aCgpXQpAQCAtMTExLDEyICsxMTMsMTMgQEAgY2xhc3MgQWJzdHJhY3RRdWV1
ZShDb21tYW5kLCBRdWV1ZUVuZ2luZURlbGVnYXRlKToKICAgICAgICAgcmFpc2UgTm90SW1wbGVt
ZW50ZWRFcnJvciwgInN1YmNsYXNzZXMgbXVzdCBpbXBsZW1lbnQiCiAKICAgICBkZWYgYmVnaW5f
d29ya19xdWV1ZShzZWxmKToKLSAgICAgICAgbG9nKCJDQVVUSU9OOiAlcyB3aWxsIGRpc2NhcmQg
YWxsIGxvY2FsIGNoYW5nZXMgaW4gXCIlc1wiIiAlIChzZWxmLm5hbWUsIHNlbGYuX3Rvb2wuc2Nt
KCkuY2hlY2tvdXRfcm9vdCkpCisgICAgICAgIF9sb2cuaW5mbygiQ0FVVElPTjogJXMgd2lsbCBk
aXNjYXJkIGFsbCBsb2NhbCBjaGFuZ2VzIGluIFwiJXNcIiIgJSAoc2VsZi5uYW1lLCBzZWxmLl90
b29sLnNjbSgpLmNoZWNrb3V0X3Jvb3QpKQogICAgICAgICBpZiBzZWxmLl9vcHRpb25zLmNvbmZp
cm06CiAgICAgICAgICAgICByZXNwb25zZSA9IHNlbGYuX3Rvb2wudXNlci5wcm9tcHQoIkFyZSB5
b3Ugc3VyZT8gIFR5cGUgXCJ5ZXNcIiB0byBjb250aW51ZTogIikKICAgICAgICAgICAgIGlmIChy
ZXNwb25zZSAhPSAieWVzIik6Ci0gICAgICAgICAgICAgICAgZXJyb3IoIlVzZXIgZGVjbGluZWQu
IikKLSAgICAgICAgbG9nKCJSdW5uaW5nIFdlYktpdCAlcy4iICUgc2VsZi5uYW1lKQorICAgICAg
ICAgICAgICAgIF9sb2cuZXJyb3IoIlVzZXIgZGVjbGluZWQuIikKKyAgICAgICAgICAgICAgICBz
eXMuZXhpdCgxKQorICAgICAgICBfbG9nLmluZm8oIlJ1bm5pbmcgV2ViS2l0ICVzLiIgJSBzZWxm
Lm5hbWUpCiAgICAgICAgIHNlbGYuX3Rvb2wuc3RhdHVzX3NlcnZlci51cGRhdGVfc3RhdHVzKHNl
bGYubmFtZSwgIlN0YXJ0aW5nIFF1ZXVlIikKIAogICAgIGRlZiBzdG9wX3dvcmtfcXVldWUoc2Vs
ZiwgcmVhc29uKToKQEAgLTE5Myw3ICsxOTYsNyBAQCBjbGFzcyBGZWVkZXJRdWV1ZShBYnN0cmFj
dFF1ZXVlKToKICAgICAgICAgcmV0dXJuIE5vbmUKIAogICAgIGRlZiBoYW5kbGVfdW5leHBlY3Rl
ZF9lcnJvcihzZWxmLCB3b3JrX2l0ZW0sIG1lc3NhZ2UpOgotICAgICAgICBsb2cobWVzc2FnZSkK
KyAgICAgICAgX2xvZy5lcnJvcihtZXNzYWdlKQogCiAKIGNsYXNzIEFic3RyYWN0UGF0Y2hRdWV1
ZShBYnN0cmFjdFF1ZXVlKToKQEAgLTM1Nyw3ICszNjAsNyBAQCBjbGFzcyBDb21taXRRdWV1ZShB
YnN0cmFjdFBhdGNoUXVldWUsIFN0ZXBTZXF1ZW5jZUVycm9ySGFuZGxlciwgQ29tbWl0UXVldWVU
YXNrRAogICAgICAgICAjIEhpdHRpbmcgdGhpcyBlcnJvciBoYW5kbGVyIHNob3VsZCBiZSBwcmV0
dHkgcmFyZS4gIEl0IGRvZXMgb2NjdXIsCiAgICAgICAgICMgaG93ZXZlciwgd2hlbiBhIHBhdGNo
IG5vIGxvbmdlciBhcHBsaWVzIHRvIHRvcC1vZi10cmVlIGluIHRoZSBmaW5hbAogICAgICAgICAj
IGxhbmQgc3RlcC4KLSAgICAgICAgbG9nKHNjcmlwdF9lcnJvci5tZXNzYWdlX3dpdGhfb3V0cHV0
KCkpCisgICAgICAgIF9sb2cuZXJyb3Ioc2NyaXB0X2Vycm9yLm1lc3NhZ2Vfd2l0aF9vdXRwdXQo
KSkKIAogICAgIEBjbGFzc21ldGhvZAogICAgIGRlZiBoYW5kbGVfY2hlY2tvdXRfbmVlZHNfdXBk
YXRlKGNscywgdG9vbCwgc3RhdGUsIG9wdGlvbnMsIGVycm9yKToKQEAgLTQwNSwxMyArNDA4LDEz
IEBAIGNsYXNzIEFic3RyYWN0UmV2aWV3UXVldWUoQWJzdHJhY3RQYXRjaFF1ZXVlLCBTdGVwU2Vx
dWVuY2VFcnJvckhhbmRsZXIpOgogICAgICAgICAgICAgcmFpc2UgZQogCiAgICAgZGVmIGhhbmRs
ZV91bmV4cGVjdGVkX2Vycm9yKHNlbGYsIHBhdGNoLCBtZXNzYWdlKToKLSAgICAgICAgbG9nKG1l
c3NhZ2UpCisgICAgICAgIF9sb2cuZXJyb3IobWVzc2FnZSkKIAogICAgICMgU3RlcFNlcXVlbmNl
RXJyb3JIYW5kbGVyIG1ldGhvZHMKIAogICAgIEBjbGFzc21ldGhvZAogICAgIGRlZiBoYW5kbGVf
c2NyaXB0X2Vycm9yKGNscywgdG9vbCwgc3RhdGUsIHNjcmlwdF9lcnJvcik6Ci0gICAgICAgIGxv
ZyhzY3JpcHRfZXJyb3Iub3V0cHV0KQorICAgICAgICBfbG9nLmVycm9yKHNjcmlwdF9lcnJvci5v
dXRwdXQpCiAKIAogY2xhc3MgU3R5bGVRdWV1ZShBYnN0cmFjdFJldmlld1F1ZXVlLCBTdHlsZVF1
ZXVlVGFza0RlbGVnYXRlKToKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9v
bC9jb21tYW5kcy9xdWV1ZXNfdW5pdHRlc3QucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rv
b2wvY29tbWFuZHMvcXVldWVzX3VuaXR0ZXN0LnB5CmluZGV4IDg4YWIzZGUwNmI3YWZiYjAyNjcx
NDA3ZGY1YjE5NTc3MDcyOGY1ZjMuLjYxOGQyOTExMzUzOGM5ZWY4YWZhOGM0MzNmMDI3OWIxZDYw
OWQzOWQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9jb21tYW5kcy9x
dWV1ZXNfdW5pdHRlc3QucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL2NvbW1h
bmRzL3F1ZXVlc191bml0dGVzdC5weQpAQCAtMTQxLDEzICsxNDEsMTYgQEAgTU9DSyBzZXR0aW5n
IGZsYWcgJ2NvbW1pdC1xdWV1ZScgdG8gJy0nIG9uIGF0dGFjaG1lbnQgJzEwMDAxJyB3aXRoIGNv
bW1lbnQgJ1JlamUKIAogLSBJZiB5b3UgaGF2ZSBjb21taXR0ZXIgcmlnaHRzIHBsZWFzZSBjb3Jy
ZWN0IHRoZSBlcnJvciBpbiBUb29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9jb25maWcvY29t
bWl0dGVycy5weSBieSBhZGRpbmcgeW91cnNlbGYgdG8gdGhlIGZpbGUgKG5vIHJldmlldyBuZWVk
ZWQpLiAgVGhlIGNvbW1pdC1xdWV1ZSByZXN0YXJ0cyBpdHNlbGYgZXZlcnkgMiBob3Vycy4gIEFm
dGVyIHJlc3RhcnQgdGhlIGNvbW1pdC1xdWV1ZSB3aWxsIGNvcnJlY3RseSByZXNwZWN0IHlvdXIg
Y29tbWl0dGVyIHJpZ2h0cy4nCiBNT0NLOiB1cGRhdGVfd29ya19pdGVtczogY29tbWl0LXF1ZXVl
IFsxMDAwNSwgMTAwMDBdCi1GZWVkaW5nIGNvbW1pdC1xdWV1ZSBpdGVtcyBbMTAwMDUsIDEwMDAw
XQotRmVlZGluZyBFV1MgKDEgcj8gcGF0Y2gsIDEgbmV3KQogTU9DSzogc3VibWl0X3RvX2V3czog
MTAwMDIKICIiIiwKKyAgICAgICAgfQorICAgICAgICBleHBlY3RlZF9sb2dzID0geworICAgICAg
ICAgICAgInByb2Nlc3Nfd29ya19pdGVtIjogIiIiRmVlZGluZyBjb21taXQtcXVldWUgaXRlbXMg
WzEwMDA1LCAxMDAwMF0KK0ZlZWRpbmcgRVdTICgxIHI/IHBhdGNoLCAxIG5ldykKKyIiIiwKICAg
ICAgICAgICAgICJoYW5kbGVfdW5leHBlY3RlZF9lcnJvciI6ICJNb2NrIGVycm9yIG1lc3NhZ2Vc
biIsCiAgICAgICAgIH0KLSAgICAgICAgc2VsZi5hc3NlcnRfcXVldWVfb3V0cHV0cyhxdWV1ZSwg
dG9vbD10b29sLCBleHBlY3RlZF9zdGRlcnI9ZXhwZWN0ZWRfc3RkZXJyKQorICAgICAgICBzZWxm
LmFzc2VydF9xdWV1ZV9vdXRwdXRzKHF1ZXVlLCB0b29sPXRvb2wsIGV4cGVjdGVkX3N0ZGVycj1l
eHBlY3RlZF9zdGRlcnIsIGV4cGVjdGVkX2xvZ3M9ZXhwZWN0ZWRfbG9ncykKIAogCiBjbGFzcyBB
YnN0cmFjdFBhdGNoUXVldWVUZXN0KENvbW1hbmRzVGVzdCk6CkBAIC0yNDksOSArMjUyLDExIEBA
IE1PQ0s6IHVwZGF0ZV9zdGF0dXM6IGNvbW1pdC1xdWV1ZSBQYXNzCiBNT0NLOiByZWxlYXNlX3dv
cmtfaXRlbTogY29tbWl0LXF1ZXVlIDEwMDAwCiAiIiIsCiAgICAgICAgICAgICAiaGFuZGxlX3Vu
ZXhwZWN0ZWRfZXJyb3IiOiAiTU9DSyBzZXR0aW5nIGZsYWcgJ2NvbW1pdC1xdWV1ZScgdG8gJy0n
IG9uIGF0dGFjaG1lbnQgJzEwMDAwJyB3aXRoIGNvbW1lbnQgJ1JlamVjdGluZyBhdHRhY2htZW50
IDEwMDAwIGZyb20gY29tbWl0LXF1ZXVlLicgYW5kIGFkZGl0aW9uYWwgY29tbWVudCAnTW9jayBl
cnJvciBtZXNzYWdlJ1xuIiwKKyAgICAgICAgfQorICAgICAgICBleHBlY3RlZF9sb2dzID0gewog
ICAgICAgICAgICAgImhhbmRsZV9zY3JpcHRfZXJyb3IiOiAiU2NyaXB0RXJyb3IgZXJyb3IgbWVz
c2FnZVxuXG5NT0NLIG91dHB1dFxuIiwKICAgICAgICAgfQotICAgICAgICBzZWxmLmFzc2VydF9x
dWV1ZV9vdXRwdXRzKENvbW1pdFF1ZXVlKCksIHRvb2w9dG9vbCwgZXhwZWN0ZWRfc3RkZXJyPWV4
cGVjdGVkX3N0ZGVycikKKyAgICAgICAgc2VsZi5hc3NlcnRfcXVldWVfb3V0cHV0cyhDb21taXRR
dWV1ZSgpLCB0b29sPXRvb2wsIGV4cGVjdGVkX3N0ZGVycj1leHBlY3RlZF9zdGRlcnIsIGV4cGVj
dGVkX2xvZ3M9ZXhwZWN0ZWRfbG9ncykKIAogICAgIGRlZiB0ZXN0X2NvbW1pdF9xdWV1ZV9mYWls
dXJlKHNlbGYpOgogICAgICAgICBleHBlY3RlZF9zdGRlcnIgPSB7CkBAIC0yNjYsNiArMjcxLDgg
QEAgTU9DSzogdXBkYXRlX3N0YXR1czogY29tbWl0LXF1ZXVlIEZhaWwKIE1PQ0s6IHJlbGVhc2Vf
d29ya19pdGVtOiBjb21taXQtcXVldWUgMTAwMDAKICIiIiwKICAgICAgICAgICAgICJoYW5kbGVf
dW5leHBlY3RlZF9lcnJvciI6ICJNT0NLIHNldHRpbmcgZmxhZyAnY29tbWl0LXF1ZXVlJyB0byAn
LScgb24gYXR0YWNobWVudCAnMTAwMDAnIHdpdGggY29tbWVudCAnUmVqZWN0aW5nIGF0dGFjaG1l
bnQgMTAwMDAgZnJvbSBjb21taXQtcXVldWUuJyBhbmQgYWRkaXRpb25hbCBjb21tZW50ICdNb2Nr
IGVycm9yIG1lc3NhZ2UnXG4iLAorICAgICAgICB9CisgICAgICAgIGV4cGVjdGVkX2xvZ3MgPSB7
CiAgICAgICAgICAgICAiaGFuZGxlX3NjcmlwdF9lcnJvciI6ICJTY3JpcHRFcnJvciBlcnJvciBt
ZXNzYWdlXG5cbk1PQ0sgb3V0cHV0XG4iLAogICAgICAgICB9CiAgICAgICAgIHF1ZXVlID0gQ29t
bWl0UXVldWUoKQpAQCAtMjc4LDcgKzI4NSw3IEBAIE1PQ0s6IHJlbGVhc2Vfd29ya19pdGVtOiBj
b21taXQtcXVldWUgMTAwMDAKICAgICAgICAgICAgIHJhaXNlIFNjcmlwdEVycm9yKCdNT0NLIHNj
cmlwdCBlcnJvcicpCiAKICAgICAgICAgcXVldWUucnVuX3dlYmtpdF9wYXRjaCA9IG1vY2tfcnVu
X3dlYmtpdF9wYXRjaAotICAgICAgICBzZWxmLmFzc2VydF9xdWV1ZV9vdXRwdXRzKHF1ZXVlLCBl
eHBlY3RlZF9zdGRlcnI9ZXhwZWN0ZWRfc3RkZXJyKQorICAgICAgICBzZWxmLmFzc2VydF9xdWV1
ZV9vdXRwdXRzKHF1ZXVlLCBleHBlY3RlZF9zdGRlcnI9ZXhwZWN0ZWRfc3RkZXJyLCBleHBlY3Rl
ZF9sb2dzPWV4cGVjdGVkX2xvZ3MpCiAKICAgICBkZWYgdGVzdF9jb21taXRfcXVldWVfZmFpbHVy
ZV93aXRoX2ZhaWxpbmdfdGVzdHMoc2VsZik6CiAgICAgICAgIGV4cGVjdGVkX3N0ZGVyciA9IHsK
QEAgLTI5NSw2ICszMDIsOCBAQCBNT0NLOiB1cGRhdGVfc3RhdHVzOiBjb21taXQtcXVldWUgRmFp
bAogTU9DSzogcmVsZWFzZV93b3JrX2l0ZW06IGNvbW1pdC1xdWV1ZSAxMDAwMAogIiIiLAogICAg
ICAgICAgICAgImhhbmRsZV91bmV4cGVjdGVkX2Vycm9yIjogIk1PQ0sgc2V0dGluZyBmbGFnICdj
b21taXQtcXVldWUnIHRvICctJyBvbiBhdHRhY2htZW50ICcxMDAwMCcgd2l0aCBjb21tZW50ICdS
ZWplY3RpbmcgYXR0YWNobWVudCAxMDAwMCBmcm9tIGNvbW1pdC1xdWV1ZS4nIGFuZCBhZGRpdGlv
bmFsIGNvbW1lbnQgJ01vY2sgZXJyb3IgbWVzc2FnZSdcbiIsCisgICAgICAgIH0KKyAgICAgICAg
ZXhwZWN0ZWRfbG9ncyA9IHsKICAgICAgICAgICAgICJoYW5kbGVfc2NyaXB0X2Vycm9yIjogIlNj
cmlwdEVycm9yIGVycm9yIG1lc3NhZ2VcblxuTU9DSyBvdXRwdXRcbiIsCiAgICAgICAgIH0KICAg
ICAgICAgcXVldWUgPSBDb21taXRRdWV1ZSgpCkBAIC0zMDgsNyArMzE3LDcgQEAgTU9DSzogcmVs
ZWFzZV93b3JrX2l0ZW06IGNvbW1pdC1xdWV1ZSAxMDAwMAogICAgICAgICAgICAgcmFpc2UgU2Ny
aXB0RXJyb3IoJ01PQ0sgc2NyaXB0IGVycm9yJykKIAogICAgICAgICBxdWV1ZS5ydW5fd2Via2l0
X3BhdGNoID0gbW9ja19ydW5fd2Via2l0X3BhdGNoCi0gICAgICAgIHNlbGYuYXNzZXJ0X3F1ZXVl
X291dHB1dHMocXVldWUsIGV4cGVjdGVkX3N0ZGVycj1leHBlY3RlZF9zdGRlcnIpCisgICAgICAg
IHNlbGYuYXNzZXJ0X3F1ZXVlX291dHB1dHMocXVldWUsIGV4cGVjdGVkX3N0ZGVycj1leHBlY3Rl
ZF9zdGRlcnIsIGV4cGVjdGVkX2xvZ3M9ZXhwZWN0ZWRfbG9ncykKIAogICAgIGRlZiB0ZXN0X3Jv
bGxvdXQoc2VsZik6CiAgICAgICAgIHRvb2wgPSBNb2NrVG9vbChsb2dfZXhlY3V0aXZlPVRydWUp
CkBAIC0zMzYsOSArMzQ1LDExIEBAIE1PQ0s6IHVwZGF0ZV9zdGF0dXM6IGNvbW1pdC1xdWV1ZSBQ
YXNzCiBNT0NLOiByZWxlYXNlX3dvcmtfaXRlbTogY29tbWl0LXF1ZXVlIDEwMDAwCiAiIiIgJSB7
InBvcnRfbmFtZSI6IENvbW1pdFF1ZXVlLnBvcnRfbmFtZX0sCiAgICAgICAgICAgICAiaGFuZGxl
X3VuZXhwZWN0ZWRfZXJyb3IiOiAiTU9DSyBzZXR0aW5nIGZsYWcgJ2NvbW1pdC1xdWV1ZScgdG8g
Jy0nIG9uIGF0dGFjaG1lbnQgJzEwMDAwJyB3aXRoIGNvbW1lbnQgJ1JlamVjdGluZyBhdHRhY2ht
ZW50IDEwMDAwIGZyb20gY29tbWl0LXF1ZXVlLicgYW5kIGFkZGl0aW9uYWwgY29tbWVudCAnTW9j
ayBlcnJvciBtZXNzYWdlJ1xuIiwKKyAgICAgICAgfQorICAgICAgICBleHBlY3RlZF9sb2dzID0g
ewogICAgICAgICAgICAgImhhbmRsZV9zY3JpcHRfZXJyb3IiOiAiU2NyaXB0RXJyb3IgZXJyb3Ig
bWVzc2FnZVxuXG5NT0NLIG91dHB1dFxuIiwKICAgICAgICAgfQotICAgICAgICBzZWxmLmFzc2Vy
dF9xdWV1ZV9vdXRwdXRzKENvbW1pdFF1ZXVlKCksIHRvb2w9dG9vbCwgZXhwZWN0ZWRfc3RkZXJy
PWV4cGVjdGVkX3N0ZGVycikKKyAgICAgICAgc2VsZi5hc3NlcnRfcXVldWVfb3V0cHV0cyhDb21t
aXRRdWV1ZSgpLCB0b29sPXRvb2wsIGV4cGVjdGVkX3N0ZGVycj1leHBlY3RlZF9zdGRlcnIsIGV4
cGVjdGVkX2xvZ3M9ZXhwZWN0ZWRfbG9ncykKIAogICAgIGRlZiB0ZXN0X3JvbGxvdXRfbGFuZHMo
c2VsZik6CiAgICAgICAgIHRvb2wgPSBNb2NrVG9vbChsb2dfZXhlY3V0aXZlPVRydWUpCkBAIC0z
NjIsOSArMzczLDExIEBAIE1PQ0s6IHVwZGF0ZV9zdGF0dXM6IGNvbW1pdC1xdWV1ZSBQYXNzCiBN
T0NLOiByZWxlYXNlX3dvcmtfaXRlbTogY29tbWl0LXF1ZXVlIDEwMDA1CiAiIiIgJSB7InBvcnRf
bmFtZSI6IENvbW1pdFF1ZXVlLnBvcnRfbmFtZX0sCiAgICAgICAgICAgICAiaGFuZGxlX3VuZXhw
ZWN0ZWRfZXJyb3IiOiAiTU9DSyBzZXR0aW5nIGZsYWcgJ2NvbW1pdC1xdWV1ZScgdG8gJy0nIG9u
IGF0dGFjaG1lbnQgJzEwMDA1JyB3aXRoIGNvbW1lbnQgJ1JlamVjdGluZyBhdHRhY2htZW50IDEw
MDA1IGZyb20gY29tbWl0LXF1ZXVlLicgYW5kIGFkZGl0aW9uYWwgY29tbWVudCAnTW9jayBlcnJv
ciBtZXNzYWdlJ1xuIiwKKyAgICAgICAgfQorICAgICAgICBleHBlY3RlZF9sb2dzID0gewogICAg
ICAgICAgICAgImhhbmRsZV9zY3JpcHRfZXJyb3IiOiAiU2NyaXB0RXJyb3IgZXJyb3IgbWVzc2Fn
ZVxuXG5NT0NLIG91dHB1dFxuIiwKICAgICAgICAgfQotICAgICAgICBzZWxmLmFzc2VydF9xdWV1
ZV9vdXRwdXRzKENvbW1pdFF1ZXVlKCksIHRvb2w9dG9vbCwgd29ya19pdGVtPXJvbGxvdXRfcGF0
Y2gsIGV4cGVjdGVkX3N0ZGVycj1leHBlY3RlZF9zdGRlcnIpCisgICAgICAgIHNlbGYuYXNzZXJ0
X3F1ZXVlX291dHB1dHMoQ29tbWl0UXVldWUoKSwgdG9vbD10b29sLCB3b3JrX2l0ZW09cm9sbG91
dF9wYXRjaCwgZXhwZWN0ZWRfc3RkZXJyPWV4cGVjdGVkX3N0ZGVyciwgZXhwZWN0ZWRfbG9ncz1l
eHBlY3RlZF9sb2dzKQogCiAgICAgZGVmIHRlc3RfYXV0b19yZXRyeShzZWxmKToKICAgICAgICAg
cXVldWUgPSBDb21taXRRdWV1ZSgpCkBAIC0zNzMsOSArMzg2LDEwIEBAIE1PQ0s6IHJlbGVhc2Vf
d29ya19pdGVtOiBjb21taXQtcXVldWUgMTAwMDUKICAgICAgICAgdG9vbCA9IEFsd2F5c0NvbW1p
dFF1ZXVlVG9vbCgpCiAgICAgICAgIHNlcXVlbmNlID0gTmVlZHNVcGRhdGVTZXF1ZW5jZShOb25l
KQogCi0gICAgICAgIGV4cGVjdGVkX3N0ZGVyciA9ICJDb21taXQgZmFpbGVkIGJlY2F1c2UgdGhl
IGNoZWNrb3V0IGlzIG91dCBvZiBkYXRlLiAgUGxlYXNlIHVwZGF0ZSBhbmQgdHJ5IGFnYWluLlxu
TU9DSzogdXBkYXRlX3N0YXR1czogY29tbWl0LXF1ZXVlIFRlc3RzIHBhc3NlZCwgYnV0IGNvbW1p
dCBmYWlsZWQgKGNoZWNrb3V0IG91dCBvZiBkYXRlKS4gIFVwZGF0aW5nLCB0aGVuIGxhbmRpbmcg
d2l0aG91dCBidWlsZGluZyBvciByZS1ydW5uaW5nIHRlc3RzLlxuIgorICAgICAgICBleHBlY3Rl
ZF9zdGRlcnIgPSAiTU9DSzogdXBkYXRlX3N0YXR1czogY29tbWl0LXF1ZXVlIFRlc3RzIHBhc3Nl
ZCwgYnV0IGNvbW1pdCBmYWlsZWQgKGNoZWNrb3V0IG91dCBvZiBkYXRlKS4gIFVwZGF0aW5nLCB0
aGVuIGxhbmRpbmcgd2l0aG91dCBidWlsZGluZyBvciByZS1ydW5uaW5nIHRlc3RzLlxuIgorICAg
ICAgICBleHBlY3RlZF9sb2dzID0gIkNvbW1pdCBmYWlsZWQgYmVjYXVzZSB0aGUgY2hlY2tvdXQg
aXMgb3V0IG9mIGRhdGUuIFBsZWFzZSB1cGRhdGUgYW5kIHRyeSBhZ2Fpbi5cbiIKICAgICAgICAg
c3RhdGUgPSB7J3BhdGNoJzogTm9uZX0KLSAgICAgICAgT3V0cHV0Q2FwdHVyZSgpLmFzc2VydF9v
dXRwdXRzKHNlbGYsIHNlcXVlbmNlLnJ1bl9hbmRfaGFuZGxlX2Vycm9ycywgW3Rvb2wsIG9wdGlv
bnMsIHN0YXRlXSwgZXhwZWN0ZWRfZXhjZXB0aW9uPVRyeUFnYWluLCBleHBlY3RlZF9zdGRlcnI9
ZXhwZWN0ZWRfc3RkZXJyKQorICAgICAgICBPdXRwdXRDYXB0dXJlKCkuYXNzZXJ0X291dHB1dHMo
c2VsZiwgc2VxdWVuY2UucnVuX2FuZF9oYW5kbGVfZXJyb3JzLCBbdG9vbCwgb3B0aW9ucywgc3Rh
dGVdLCBleHBlY3RlZF9leGNlcHRpb249VHJ5QWdhaW4sIGV4cGVjdGVkX3N0ZGVycj1leHBlY3Rl
ZF9zdGRlcnIsIGV4cGVjdGVkX2xvZ3M9ZXhwZWN0ZWRfbG9ncykKIAogICAgICAgICBzZWxmLmFz
c2VydEVxdWFsKG9wdGlvbnMudXBkYXRlLCBUcnVlKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFs
KG9wdGlvbnMuYnVpbGQsIEZhbHNlKQpAQCAtNDY2LDExICs0ODAsMTMgQEAgTU9DSzogdXBkYXRl
X3N0YXR1czogc3R5bGUtcXVldWUgU3R5bGUgY2hlY2tlZAogTU9DSzogdXBkYXRlX3N0YXR1czog
c3R5bGUtcXVldWUgUGFzcwogTU9DSzogcmVsZWFzZV93b3JrX2l0ZW06IHN0eWxlLXF1ZXVlIDEw
MDAwCiAiIiIsCisgICAgICAgIH0KKyAgICAgICAgZXhwZWN0ZWRfbG9ncyA9IHsKICAgICAgICAg
ICAgICJoYW5kbGVfdW5leHBlY3RlZF9lcnJvciI6ICJNb2NrIGVycm9yIG1lc3NhZ2VcbiIsCiAg
ICAgICAgICAgICAiaGFuZGxlX3NjcmlwdF9lcnJvciI6ICJNT0NLIG91dHB1dFxuIiwKICAgICAg
ICAgfQogICAgICAgICB0b29sID0gTW9ja1Rvb2wobG9nX2V4ZWN1dGl2ZT1UcnVlLCBleGVjdXRp
dmVfdGhyb3dzX3doZW5fcnVuPXNldChbJ2NoZWNrLXN0eWxlJ10pKQotICAgICAgICBzZWxmLmFz
c2VydF9xdWV1ZV9vdXRwdXRzKFN0eWxlUXVldWUoKSwgZXhwZWN0ZWRfc3RkZXJyPWV4cGVjdGVk
X3N0ZGVyciwgdG9vbD10b29sKQorICAgICAgICBzZWxmLmFzc2VydF9xdWV1ZV9vdXRwdXRzKFN0
eWxlUXVldWUoKSwgZXhwZWN0ZWRfc3RkZXJyPWV4cGVjdGVkX3N0ZGVyciwgZXhwZWN0ZWRfbG9n
cz1leHBlY3RlZF9sb2dzLCB0b29sPXRvb2wpCiAKICAgICBkZWYgdGVzdF9zdHlsZV9xdWV1ZV93
aXRoX3dhdGNoX2xpc3RfZXhjZXB0aW9uKHNlbGYpOgogICAgICAgICBleHBlY3RlZF9zdGRlcnIg
PSB7CkBAIC00ODksOCArNTA1LDExIEBAIE1PQ0s6IHVwZGF0ZV9zdGF0dXM6IHN0eWxlLXF1ZXVl
IFN0eWxlIGNoZWNrZWQKIE1PQ0s6IHVwZGF0ZV9zdGF0dXM6IHN0eWxlLXF1ZXVlIFBhc3MKIE1P
Q0s6IHJlbGVhc2Vfd29ya19pdGVtOiBzdHlsZS1xdWV1ZSAxMDAwMAogIiIiLAorICAgICAgICB9
CisgICAgICAgIGV4cGVjdGVkX2xvZ3MgPSB7CisgICAgICAgICAgICAiYmVnaW5fd29ya19xdWV1
ZSI6IHNlbGYuX2RlZmF1bHRfYmVnaW5fd29ya19xdWV1ZV9sb2dzKCJzdHlsZS1xdWV1ZSIpLAog
ICAgICAgICAgICAgImhhbmRsZV91bmV4cGVjdGVkX2Vycm9yIjogIk1vY2sgZXJyb3IgbWVzc2Fn
ZVxuIiwKICAgICAgICAgICAgICJoYW5kbGVfc2NyaXB0X2Vycm9yIjogIk1PQ0sgb3V0cHV0XG4i
LAogICAgICAgICB9CiAgICAgICAgIHRvb2wgPSBNb2NrVG9vbChsb2dfZXhlY3V0aXZlPVRydWUs
IGV4ZWN1dGl2ZV90aHJvd3Nfd2hlbl9ydW49c2V0KFsnYXBwbHktd2F0Y2hsaXN0LWxvY2FsJ10p
KQotICAgICAgICBzZWxmLmFzc2VydF9xdWV1ZV9vdXRwdXRzKFN0eWxlUXVldWUoKSwgZXhwZWN0
ZWRfc3RkZXJyPWV4cGVjdGVkX3N0ZGVyciwgdG9vbD10b29sKQorICAgICAgICBzZWxmLmFzc2Vy
dF9xdWV1ZV9vdXRwdXRzKFN0eWxlUXVldWUoKSwgZXhwZWN0ZWRfc3RkZXJyPWV4cGVjdGVkX3N0
ZGVyciwgZXhwZWN0ZWRfbG9ncz1leHBlY3RlZF9sb2dzLCB0b29sPXRvb2wpCmRpZmYgLS1naXQg
YS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvY29tbWFuZHMvcXVldWVzdGVzdC5weSBiL1Rv
b2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9jb21tYW5kcy9xdWV1ZXN0ZXN0LnB5CmluZGV4IGI5
OTMwMmM4ZDY5ZGM5ZmM2NzZkMzEyMjk3YmZjZjY0MTA0YThmNDQuLmZjMmRjZTNiNDA4ZWE5ZDAz
YTQ1YjYxN2I4MjA0YWM5YjVmYWRjZjEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0
cHkvdG9vbC9jb21tYW5kcy9xdWV1ZXN0ZXN0LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0
cHkvdG9vbC9jb21tYW5kcy9xdWV1ZXN0ZXN0LnB5CkBAIC00OCwyNCArNDgsMzMgQEAgY2xhc3Mg
UXVldWVzVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgIyBUaGlzIGlzIF9wYXRjaDEgaW4g
bW9ja3Rvb2wucHkKICAgICBtb2NrX3dvcmtfaXRlbSA9IE1vY2tUb29sKCkuYnVncy5mZXRjaF9h
dHRhY2htZW50KDEwMDAwKQogCi0gICAgZGVmIGFzc2VydF9vdXRwdXRzKHNlbGYsIGZ1bmMsIGZ1
bmNfbmFtZSwgYXJncywgZXhwZWN0ZWRfc3Rkb3V0LCBleHBlY3RlZF9zdGRlcnIsIGV4cGVjdGVk
X2V4Y2VwdGlvbnMpOgorICAgIGRlZiBhc3NlcnRfb3V0cHV0cyhzZWxmLCBmdW5jLCBmdW5jX25h
bWUsIGFyZ3MsIGV4cGVjdGVkX3N0ZG91dCwgZXhwZWN0ZWRfc3RkZXJyLCBleHBlY3RlZF9leGNl
cHRpb25zLCBleHBlY3RlZF9sb2dzKToKICAgICAgICAgZXhjZXB0aW9uID0gTm9uZQogICAgICAg
ICBpZiBleHBlY3RlZF9leGNlcHRpb25zIGFuZCBmdW5jX25hbWUgaW4gZXhwZWN0ZWRfZXhjZXB0
aW9uczoKICAgICAgICAgICAgIGV4Y2VwdGlvbiA9IGV4cGVjdGVkX2V4Y2VwdGlvbnNbZnVuY19u
YW1lXQogCisgICAgICAgIGxvZ3MgPSBOb25lCisgICAgICAgIGlmIGV4cGVjdGVkX2xvZ3MgYW5k
IGZ1bmNfbmFtZSBpbiBleHBlY3RlZF9sb2dzOgorICAgICAgICAgICAgbG9ncyA9IGV4cGVjdGVk
X2xvZ3NbZnVuY19uYW1lXQorCiAgICAgICAgIE91dHB1dENhcHR1cmUoKS5hc3NlcnRfb3V0cHV0
cyhzZWxmLAogICAgICAgICAgICAgICAgIGZ1bmMsCiAgICAgICAgICAgICAgICAgYXJncz1hcmdz
LAogICAgICAgICAgICAgICAgIGV4cGVjdGVkX3N0ZG91dD1leHBlY3RlZF9zdGRvdXQuZ2V0KGZ1
bmNfbmFtZSwgIiIpLAogICAgICAgICAgICAgICAgIGV4cGVjdGVkX3N0ZGVycj1leHBlY3RlZF9z
dGRlcnIuZ2V0KGZ1bmNfbmFtZSwgIiIpLAotICAgICAgICAgICAgICAgIGV4cGVjdGVkX2V4Y2Vw
dGlvbj1leGNlcHRpb24pCisgICAgICAgICAgICAgICAgZXhwZWN0ZWRfZXhjZXB0aW9uPWV4Y2Vw
dGlvbiwKKyAgICAgICAgICAgICAgICBleHBlY3RlZF9sb2dzPWxvZ3MpCiAKICAgICBkZWYgX2Rl
ZmF1bHRfYmVnaW5fd29ya19xdWV1ZV9zdGRlcnIoc2VsZiwgbmFtZSk6CisgICAgICAgIHN0cmlu
Z19yZXBsYWNlbWVudHMgPSB7Im5hbWUiOiBuYW1lfQorICAgICAgICByZXR1cm4gIk1PQ0s6IHVw
ZGF0ZV9zdGF0dXM6ICUobmFtZSlzIFN0YXJ0aW5nIFF1ZXVlXG4iICUgc3RyaW5nX3JlcGxhY2Vt
ZW50cworCisgICAgZGVmIF9kZWZhdWx0X2JlZ2luX3dvcmtfcXVldWVfbG9ncyhzZWxmLCBuYW1l
KToKICAgICAgICAgY2hlY2tvdXRfZGlyID0gJy9tb2NrLWNoZWNrb3V0JwogICAgICAgICBzdHJp
bmdfcmVwbGFjZW1lbnRzID0geyJuYW1lIjogbmFtZSwgJ2NoZWNrb3V0X2Rpcic6IGNoZWNrb3V0
X2Rpcn0KLSAgICAgICAgcmV0dXJuICJDQVVUSU9OOiAlKG5hbWUpcyB3aWxsIGRpc2NhcmQgYWxs
IGxvY2FsIGNoYW5nZXMgaW4gXCIlKGNoZWNrb3V0X2RpcilzXCJcblJ1bm5pbmcgV2ViS2l0ICUo
bmFtZSlzLlxuTU9DSzogdXBkYXRlX3N0YXR1czogJShuYW1lKXMgU3RhcnRpbmcgUXVldWVcbiIg
JSBzdHJpbmdfcmVwbGFjZW1lbnRzCisgICAgICAgIHJldHVybiAiQ0FVVElPTjogJShuYW1lKXMg
d2lsbCBkaXNjYXJkIGFsbCBsb2NhbCBjaGFuZ2VzIGluIFwiJShjaGVja291dF9kaXIpc1wiXG5S
dW5uaW5nIFdlYktpdCAlKG5hbWUpcy5cbiIgJSBzdHJpbmdfcmVwbGFjZW1lbnRzCiAKLSAgICBk
ZWYgYXNzZXJ0X3F1ZXVlX291dHB1dHMoc2VsZiwgcXVldWUsIGFyZ3M9Tm9uZSwgd29ya19pdGVt
PU5vbmUsIGV4cGVjdGVkX3N0ZG91dD1Ob25lLCBleHBlY3RlZF9zdGRlcnI9Tm9uZSwgZXhwZWN0
ZWRfZXhjZXB0aW9ucz1Ob25lLCBvcHRpb25zPU5vbmUsIHRvb2w9Tm9uZSk6CisgICAgZGVmIGFz
c2VydF9xdWV1ZV9vdXRwdXRzKHNlbGYsIHF1ZXVlLCBhcmdzPU5vbmUsIHdvcmtfaXRlbT1Ob25l
LCBleHBlY3RlZF9zdGRvdXQ9Tm9uZSwgZXhwZWN0ZWRfc3RkZXJyPU5vbmUsIGV4cGVjdGVkX2V4
Y2VwdGlvbnM9Tm9uZSwgZXhwZWN0ZWRfbG9ncz1Ob25lLCBvcHRpb25zPU5vbmUsIHRvb2w9Tm9u
ZSk6CiAgICAgICAgIGlmIG5vdCB0b29sOgogICAgICAgICAgICAgdG9vbCA9IE1vY2tUb29sKCkK
ICAgICAgICAgICAgICMgVGhpcyBpcyBhIGhhY2sgdG8gbWFrZSBpdCBlYXN5IGZvciBjYWxsZXJz
IHRvIG5vdCBoYXZlIHRvIHNldHVwIGEgY3VzdG9tIE1vY2tGaWxlU3lzdGVtIGp1c3QgdG8gdGVz
dCB0aGUgY29tbWl0LXF1ZXVlCkBAIC04NiwxMyArOTUsMTMgQEAgY2xhc3MgUXVldWVzVGVzdCh1
bml0dGVzdC5UZXN0Q2FzZSk6CiAKICAgICAgICAgcXVldWUuZXhlY3V0ZShvcHRpb25zLCBhcmdz
LCB0b29sLCBlbmdpbmU9TW9ja1F1ZXVlRW5naW5lKQogCi0gICAgICAgIHNlbGYuYXNzZXJ0X291
dHB1dHMocXVldWUucXVldWVfbG9nX3BhdGgsICJxdWV1ZV9sb2dfcGF0aCIsIFtdLCBleHBlY3Rl
ZF9zdGRvdXQsIGV4cGVjdGVkX3N0ZGVyciwgZXhwZWN0ZWRfZXhjZXB0aW9ucykKLSAgICAgICAg
c2VsZi5hc3NlcnRfb3V0cHV0cyhxdWV1ZS53b3JrX2l0ZW1fbG9nX3BhdGgsICJ3b3JrX2l0ZW1f
bG9nX3BhdGgiLCBbd29ya19pdGVtXSwgZXhwZWN0ZWRfc3Rkb3V0LCBleHBlY3RlZF9zdGRlcnIs
IGV4cGVjdGVkX2V4Y2VwdGlvbnMpCi0gICAgICAgIHNlbGYuYXNzZXJ0X291dHB1dHMocXVldWUu
YmVnaW5fd29ya19xdWV1ZSwgImJlZ2luX3dvcmtfcXVldWUiLCBbXSwgZXhwZWN0ZWRfc3Rkb3V0
LCBleHBlY3RlZF9zdGRlcnIsIGV4cGVjdGVkX2V4Y2VwdGlvbnMpCi0gICAgICAgIHNlbGYuYXNz
ZXJ0X291dHB1dHMocXVldWUuc2hvdWxkX2NvbnRpbnVlX3dvcmtfcXVldWUsICJzaG91bGRfY29u
dGludWVfd29ya19xdWV1ZSIsIFtdLCBleHBlY3RlZF9zdGRvdXQsIGV4cGVjdGVkX3N0ZGVyciwg
ZXhwZWN0ZWRfZXhjZXB0aW9ucykKLSAgICAgICAgc2VsZi5hc3NlcnRfb3V0cHV0cyhxdWV1ZS5u
ZXh0X3dvcmtfaXRlbSwgIm5leHRfd29ya19pdGVtIiwgW10sIGV4cGVjdGVkX3N0ZG91dCwgZXhw
ZWN0ZWRfc3RkZXJyLCBleHBlY3RlZF9leGNlcHRpb25zKQotICAgICAgICBzZWxmLmFzc2VydF9v
dXRwdXRzKHF1ZXVlLnByb2Nlc3Nfd29ya19pdGVtLCAicHJvY2Vzc193b3JrX2l0ZW0iLCBbd29y
a19pdGVtXSwgZXhwZWN0ZWRfc3Rkb3V0LCBleHBlY3RlZF9zdGRlcnIsIGV4cGVjdGVkX2V4Y2Vw
dGlvbnMpCi0gICAgICAgIHNlbGYuYXNzZXJ0X291dHB1dHMocXVldWUuaGFuZGxlX3VuZXhwZWN0
ZWRfZXJyb3IsICJoYW5kbGVfdW5leHBlY3RlZF9lcnJvciIsIFt3b3JrX2l0ZW0sICJNb2NrIGVy
cm9yIG1lc3NhZ2UiXSwgZXhwZWN0ZWRfc3Rkb3V0LCBleHBlY3RlZF9zdGRlcnIsIGV4cGVjdGVk
X2V4Y2VwdGlvbnMpCisgICAgICAgIHNlbGYuYXNzZXJ0X291dHB1dHMocXVldWUucXVldWVfbG9n
X3BhdGgsICJxdWV1ZV9sb2dfcGF0aCIsIFtdLCBleHBlY3RlZF9zdGRvdXQsIGV4cGVjdGVkX3N0
ZGVyciwgZXhwZWN0ZWRfZXhjZXB0aW9ucywgZXhwZWN0ZWRfbG9ncykKKyAgICAgICAgc2VsZi5h
c3NlcnRfb3V0cHV0cyhxdWV1ZS53b3JrX2l0ZW1fbG9nX3BhdGgsICJ3b3JrX2l0ZW1fbG9nX3Bh
dGgiLCBbd29ya19pdGVtXSwgZXhwZWN0ZWRfc3Rkb3V0LCBleHBlY3RlZF9zdGRlcnIsIGV4cGVj
dGVkX2V4Y2VwdGlvbnMsIGV4cGVjdGVkX2xvZ3MpCisgICAgICAgIHNlbGYuYXNzZXJ0X291dHB1
dHMocXVldWUuYmVnaW5fd29ya19xdWV1ZSwgImJlZ2luX3dvcmtfcXVldWUiLCBbXSwgZXhwZWN0
ZWRfc3Rkb3V0LCBleHBlY3RlZF9zdGRlcnIsIGV4cGVjdGVkX2V4Y2VwdGlvbnMsIGV4cGVjdGVk
X2xvZ3MpCisgICAgICAgIHNlbGYuYXNzZXJ0X291dHB1dHMocXVldWUuc2hvdWxkX2NvbnRpbnVl
X3dvcmtfcXVldWUsICJzaG91bGRfY29udGludWVfd29ya19xdWV1ZSIsIFtdLCBleHBlY3RlZF9z
dGRvdXQsIGV4cGVjdGVkX3N0ZGVyciwgZXhwZWN0ZWRfZXhjZXB0aW9ucywgZXhwZWN0ZWRfbG9n
cykKKyAgICAgICAgc2VsZi5hc3NlcnRfb3V0cHV0cyhxdWV1ZS5uZXh0X3dvcmtfaXRlbSwgIm5l
eHRfd29ya19pdGVtIiwgW10sIGV4cGVjdGVkX3N0ZG91dCwgZXhwZWN0ZWRfc3RkZXJyLCBleHBl
Y3RlZF9leGNlcHRpb25zLCBleHBlY3RlZF9sb2dzKQorICAgICAgICBzZWxmLmFzc2VydF9vdXRw
dXRzKHF1ZXVlLnByb2Nlc3Nfd29ya19pdGVtLCAicHJvY2Vzc193b3JrX2l0ZW0iLCBbd29ya19p
dGVtXSwgZXhwZWN0ZWRfc3Rkb3V0LCBleHBlY3RlZF9zdGRlcnIsIGV4cGVjdGVkX2V4Y2VwdGlv
bnMsIGV4cGVjdGVkX2xvZ3MpCisgICAgICAgIHNlbGYuYXNzZXJ0X291dHB1dHMocXVldWUuaGFu
ZGxlX3VuZXhwZWN0ZWRfZXJyb3IsICJoYW5kbGVfdW5leHBlY3RlZF9lcnJvciIsIFt3b3JrX2l0
ZW0sICJNb2NrIGVycm9yIG1lc3NhZ2UiXSwgZXhwZWN0ZWRfc3Rkb3V0LCBleHBlY3RlZF9zdGRl
cnIsIGV4cGVjdGVkX2V4Y2VwdGlvbnMsIGV4cGVjdGVkX2xvZ3MpCiAgICAgICAgICMgU2hvdWxk
IHdlIGhhdmUgYSBkaWZmZXJlbnQgZnVuY3Rpb24gZm9yIHRlc3RpbmcgU3RlcFNlcXVlbmNlRXJy
b3JIYW5kbGVycz8KICAgICAgICAgaWYgaXNpbnN0YW5jZShxdWV1ZSwgU3RlcFNlcXVlbmNlRXJy
b3JIYW5kbGVyKToKLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0X291dHB1dHMocXVldWUuaGFuZGxl
X3NjcmlwdF9lcnJvciwgImhhbmRsZV9zY3JpcHRfZXJyb3IiLCBbdG9vbCwgeyJwYXRjaCI6IHNl
bGYubW9ja193b3JrX2l0ZW19LCBTY3JpcHRFcnJvcihtZXNzYWdlPSJTY3JpcHRFcnJvciBlcnJv
ciBtZXNzYWdlIiwgc2NyaXB0X2FyZ3M9Ik1vY2tFcnJvckNvbW1hbmQiLCBvdXRwdXQ9Ik1PQ0sg
b3V0cHV0IildLCBleHBlY3RlZF9zdGRvdXQsIGV4cGVjdGVkX3N0ZGVyciwgZXhwZWN0ZWRfZXhj
ZXB0aW9ucykKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0X291dHB1dHMocXVldWUuaGFuZGxlX3Nj
cmlwdF9lcnJvciwgImhhbmRsZV9zY3JpcHRfZXJyb3IiLCBbdG9vbCwgeyJwYXRjaCI6IHNlbGYu
bW9ja193b3JrX2l0ZW19LCBTY3JpcHRFcnJvcihtZXNzYWdlPSJTY3JpcHRFcnJvciBlcnJvciBt
ZXNzYWdlIiwgc2NyaXB0X2FyZ3M9Ik1vY2tFcnJvckNvbW1hbmQiLCBvdXRwdXQ9Ik1PQ0sgb3V0
cHV0IildLCBleHBlY3RlZF9zdGRvdXQsIGV4cGVjdGVkX3N0ZGVyciwgZXhwZWN0ZWRfZXhjZXB0
aW9ucywgZXhwZWN0ZWRfbG9ncykKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkv
dG9vbC9jb21tYW5kcy9yb2xsX3VuaXR0ZXN0LnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90
b29sL2NvbW1hbmRzL3JvbGxfdW5pdHRlc3QucHkKaW5kZXggMjM3YTFjOTRmMjlmOTQ1YWE1YWJl
MTVlNzMxYTIyMjEwZmY5NDg1MC4uY2Y3NjY1MzUyZTdmMTE3MWVhNmRkOWQ3NmM1MDQ2NjY5ZmYz
MzBmOCAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL2NvbW1hbmRzL3Jv
bGxfdW5pdHRlc3QucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL2NvbW1hbmRz
L3JvbGxfdW5pdHRlc3QucHkKQEAgLTM0LDIwICszNCwyMSBAQCBmcm9tIHdlYmtpdHB5LnRvb2wu
bW9ja3Rvb2wgaW1wb3J0IE1vY2tPcHRpb25zLCBNb2NrVG9vbAogCiBjbGFzcyBSb2xsQ29tbWFu
ZHNUZXN0KENvbW1hbmRzVGVzdCk6CiAgICAgZGVmIHRlc3RfdXBkYXRlX2Nocm9taXVtX2RlcHMo
c2VsZik6Ci0gICAgICAgIGV4cGVjdGVkX3N0ZGVyciA9ICIiIlVwZGF0aW5nIENocm9taXVtIERF
UFMgdG8gNjc2NAotTU9DSzogTW9ja0RFUFMud3JpdGVfdmFyaWFibGUoY2hyb21pdW1fcmV2LCA2
NzY0KQorICAgICAgICBleHBlY3RlZF9zdGRlcnIgPSAiIiJNT0NLOiBNb2NrREVQUy53cml0ZV92
YXJpYWJsZShjaHJvbWl1bV9yZXYsIDY3NjQpCiBNT0NLOiB1c2VyLm9wZW5fdXJsOiBmaWxlOi8v
Li4uCiBXYXMgdGhhdCBkaWZmIGNvcnJlY3Q/CisiIiIKKyAgICAgICAgZXhwZWN0ZWRfbG9ncyA9
ICIiIlVwZGF0aW5nIENocm9taXVtIERFUFMgdG8gNjc2NAogQ29tbWl0dGVkIHI0OTgyNDogPGh0
dHA6Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0LzQ5ODI0PgogIiIiCi0gICAgICAgIHNlbGYu
YXNzZXJ0X2V4ZWN1dGVfb3V0cHV0cyhSb2xsQ2hyb21pdW1ERVBTKCksIFs2NzY0XSwgZXhwZWN0
ZWRfc3RkZXJyPWV4cGVjdGVkX3N0ZGVycikKKyAgICAgICAgc2VsZi5hc3NlcnRfZXhlY3V0ZV9v
dXRwdXRzKFJvbGxDaHJvbWl1bURFUFMoKSwgWzY3NjRdLCBleHBlY3RlZF9zdGRlcnI9ZXhwZWN0
ZWRfc3RkZXJyLCBleHBlY3RlZF9sb2dzPWV4cGVjdGVkX2xvZ3MpCiAKICAgICBkZWYgdGVzdF91
cGRhdGVfY2hyb21pdW1fZGVwc19vbGRlcl9yZXZpc2lvbihzZWxmKToKICAgICAgICAgb3B0aW9u
cyA9IE1vY2tPcHRpb25zKG5vbl9pbnRlcmFjdGl2ZT1GYWxzZSkKLSAgICAgICAgZXhwZWN0ZWRf
c3RkZXJyID0gIiIiQ3VycmVudCBDaHJvbWl1bSBERVBTIHJldmlzaW9uIDY1NjQgaXMgbmV3ZXIg
dGhhbiA1NzY0LgotRVJST1I6IFVuYWJsZSB0byB1cGRhdGUgQ2hyb21pdW0gREVQUworICAgICAg
ICBleHBlY3RlZF9sb2dzID0gIiIiQ3VycmVudCBDaHJvbWl1bSBERVBTIHJldmlzaW9uIDY1NjQg
aXMgbmV3ZXIgdGhhbiA1NzY0LgorVW5hYmxlIHRvIHVwZGF0ZSBDaHJvbWl1bSBERVBTCiAiIiIK
LSAgICAgICAgc2VsZi5hc3NlcnRfZXhlY3V0ZV9vdXRwdXRzKFJvbGxDaHJvbWl1bURFUFMoKSwg
WzU3NjRdLCBvcHRpb25zPW9wdGlvbnMsIGV4cGVjdGVkX3N0ZGVycj1leHBlY3RlZF9zdGRlcnIs
IGV4cGVjdGVkX2V4Y2VwdGlvbj1TeXN0ZW1FeGl0KQorICAgICAgICBzZWxmLmFzc2VydF9leGVj
dXRlX291dHB1dHMoUm9sbENocm9taXVtREVQUygpLCBbNTc2NF0sIG9wdGlvbnM9b3B0aW9ucywg
ZXhwZWN0ZWRfbG9ncz1leHBlY3RlZF9sb2dzLCBleHBlY3RlZF9leGNlcHRpb249U3lzdGVtRXhp
dCkKIAogCiBjbGFzcyBQb3N0Um9sbENvbW1hbmRzVGVzdChDb21tYW5kc1Rlc3QpOgpkaWZmIC0t
Z2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL2NvbW1hbmRzL3NoZXJpZmZib3QucHkg
Yi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvY29tbWFuZHMvc2hlcmlmZmJvdC5weQppbmRl
eCBkMzBkYTM5NWI0NzY0ZWY2YTcxZmI5OGIyZDhhMDUwMGM0ZDExM2ZjLi4wZjkxYmUzZWY3NWU4
Y2UwNTI1ZGZkMTdkMzdhNmI4YjIyNDAxZTIxIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dl
YmtpdHB5L3Rvb2wvY29tbWFuZHMvc2hlcmlmZmJvdC5weQorKysgYi9Ub29scy9TY3JpcHRzL3dl
YmtpdHB5L3Rvb2wvY29tbWFuZHMvc2hlcmlmZmJvdC5weQpAQCAtMjYsMTMgKzI2LDE2IEBACiAj
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRQogIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogCi1mcm9tIHdlYmtpdHB5LmNvbW1vbi5zeXN0
ZW0uZGVwcmVjYXRlZF9sb2dnaW5nIGltcG9ydCBsb2cKK2ltcG9ydCBsb2dnaW5nCisKIGZyb20g
d2Via2l0cHkudG9vbC5ib3Quc2hlcmlmZiBpbXBvcnQgU2hlcmlmZgogZnJvbSB3ZWJraXRweS50
b29sLmJvdC5pcmNfY29tbWFuZCBpbXBvcnQgY29tbWFuZHMgYXMgaXJjX2NvbW1hbmRzCiBmcm9t
IHdlYmtpdHB5LnRvb2wuYm90LmlyY2JvdCBpbXBvcnQgSVJDQm90CiBmcm9tIHdlYmtpdHB5LnRv
b2wuY29tbWFuZHMucXVldWVzIGltcG9ydCBBYnN0cmFjdFF1ZXVlCiBmcm9tIHdlYmtpdHB5LnRv
b2wuY29tbWFuZHMuc3RlcHNlcXVlbmNlIGltcG9ydCBTdGVwU2VxdWVuY2VFcnJvckhhbmRsZXIK
IAorX2xvZyA9IGxvZ2dpbmcuZ2V0TG9nZ2VyKF9fbmFtZV9fKQorCiAKIGNsYXNzIFNoZXJpZmZC
b3QoQWJzdHJhY3RRdWV1ZSwgU3RlcFNlcXVlbmNlRXJyb3JIYW5kbGVyKToKICAgICBuYW1lID0g
InNoZXJpZmYtYm90IgpAQCAtNjMsNyArNjYsNyBAQCBjbGFzcyBTaGVyaWZmQm90KEFic3RyYWN0
UXVldWUsIFN0ZXBTZXF1ZW5jZUVycm9ySGFuZGxlcik6CiAgICAgICAgIHJldHVybiBUcnVlCiAK
ICAgICBkZWYgaGFuZGxlX3VuZXhwZWN0ZWRfZXJyb3Ioc2VsZiwgZmFpbHVyZV9tYXAsIG1lc3Nh
Z2UpOgotICAgICAgICBsb2cobWVzc2FnZSkKKyAgICAgICAgX2xvZy5lcnJvcihtZXNzYWdlKQog
CiAgICAgIyBTdGVwU2VxdWVuY2VFcnJvckhhbmRsZXIgbWV0aG9kcwogCmRpZmYgLS1naXQgYS9U
b29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvY29tbWFuZHMvc3RlcHNlcXVlbmNlLnB5IGIvVG9v
bHMvU2NyaXB0cy93ZWJraXRweS90b29sL2NvbW1hbmRzL3N0ZXBzZXF1ZW5jZS5weQppbmRleCBi
NjY2NTU0NDY1ZWFiZTExNDJmMjNjYTc5NmUwYTgwMTE3YjIxOTUyLi4xNjY4Y2RiNjNiMjlmZTAw
YjkzMjg3MzAyNmQ3MTdlODRkNTNkYjFkIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtp
dHB5L3Rvb2wvY29tbWFuZHMvc3RlcHNlcXVlbmNlLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvdG9vbC9jb21tYW5kcy9zdGVwc2VxdWVuY2UucHkKQEAgLTI2LDEzICsyNiwxNiBAQAog
IyAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UKICMgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KIAoraW1wb3J0IGxvZ2dpbmcKKwogZnJvbSB3
ZWJraXRweS50b29sIGltcG9ydCBzdGVwcwogCiBmcm9tIHdlYmtpdHB5LmNvbW1vbi5jaGVja291
dC5zY20gaW1wb3J0IENoZWNrb3V0TmVlZHNVcGRhdGUKLWZyb20gd2Via2l0cHkuY29tbW9uLnN5
c3RlbS5kZXByZWNhdGVkX2xvZ2dpbmcgaW1wb3J0IGxvZwogZnJvbSB3ZWJraXRweS5jb21tb24u
c3lzdGVtLmV4ZWN1dGl2ZSBpbXBvcnQgU2NyaXB0RXJyb3IKIGZyb20gd2Via2l0cHkudG9vbC5i
b3QucXVldWVlbmdpbmUgaW1wb3J0IFF1ZXVlRW5naW5lCiAKK19sb2cgPSBsb2dnaW5nLmdldExv
Z2dlcihfX25hbWVfXykKKwogCiBjbGFzcyBTdGVwU2VxdWVuY2VFcnJvckhhbmRsZXIoKToKICAg
ICBAY2xhc3NtZXRob2QKQEAgLTY5LDE0ICs3MiwxNCBAQCBjbGFzcyBTdGVwU2VxdWVuY2Uob2Jq
ZWN0KToKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgc2VsZi5fcnVuKHRvb2wsIG9wdGlvbnMs
IHN0YXRlKQogICAgICAgICBleGNlcHQgQ2hlY2tvdXROZWVkc1VwZGF0ZSwgZToKLSAgICAgICAg
ICAgIGxvZygiQ29tbWl0IGZhaWxlZCBiZWNhdXNlIHRoZSBjaGVja291dCBpcyBvdXQgb2YgZGF0
ZS4gIFBsZWFzZSB1cGRhdGUgYW5kIHRyeSBhZ2Fpbi4iKQorICAgICAgICAgICAgX2xvZy5pbmZv
KCJDb21taXQgZmFpbGVkIGJlY2F1c2UgdGhlIGNoZWNrb3V0IGlzIG91dCBvZiBkYXRlLiBQbGVh
c2UgdXBkYXRlIGFuZCB0cnkgYWdhaW4uIikKICAgICAgICAgICAgIGlmIG9wdGlvbnMucGFyZW50
X2NvbW1hbmQ6CiAgICAgICAgICAgICAgICAgY29tbWFuZCA9IHRvb2wuY29tbWFuZF9ieV9uYW1l
KG9wdGlvbnMucGFyZW50X2NvbW1hbmQpCiAgICAgICAgICAgICAgICAgY29tbWFuZC5oYW5kbGVf
Y2hlY2tvdXRfbmVlZHNfdXBkYXRlKHRvb2wsIHN0YXRlLCBvcHRpb25zLCBlKQogICAgICAgICAg
ICAgUXVldWVFbmdpbmUuZXhpdF9hZnRlcl9oYW5kbGVkX2Vycm9yKGUpCiAgICAgICAgIGV4Y2Vw
dCBTY3JpcHRFcnJvciwgZToKICAgICAgICAgICAgIGlmIG5vdCBvcHRpb25zLnF1aWV0OgotICAg
ICAgICAgICAgICAgIGxvZyhlLm1lc3NhZ2Vfd2l0aF9vdXRwdXQoKSkKKyAgICAgICAgICAgICAg
ICBfbG9nLmVycm9yKGUubWVzc2FnZV93aXRoX291dHB1dCgpKQogICAgICAgICAgICAgaWYgb3B0
aW9ucy5wYXJlbnRfY29tbWFuZDoKICAgICAgICAgICAgICAgICBjb21tYW5kID0gdG9vbC5jb21t
YW5kX2J5X25hbWUob3B0aW9ucy5wYXJlbnRfY29tbWFuZCkKICAgICAgICAgICAgICAgICBjb21t
YW5kLmhhbmRsZV9zY3JpcHRfZXJyb3IodG9vbCwgc3RhdGUsIGUpCmRpZmYgLS1naXQgYS9Ub29s
cy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvY29tbWFuZHMvdXBsb2FkLnB5IGIvVG9vbHMvU2NyaXB0
cy93ZWJraXRweS90b29sL2NvbW1hbmRzL3VwbG9hZC5weQppbmRleCA2YjUyZTZjODNiYWRkNzI2
ZjQzYzllODEzZmVkY2Q4ZjZjYTg4M2NkLi41Y2QwZGU5ZTA0Yjg1ZDUwOGIzN2MyYTEwNTY1M2Uy
MDNiMTU2M2YwIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvY29tbWFu
ZHMvdXBsb2FkLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9jb21tYW5kcy91
cGxvYWQucHkKQEAgLTI4LDYgKzI4LDcgQEAKICMgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCiAjIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CiAKK2ltcG9ydCBsb2dnaW5nCiBpbXBvcnQgb3MKIGltcG9ydCByZQogaW1wb3J0IHN5cwpAQCAt
MzgsNyArMzksNiBAQCBmcm9tIHdlYmtpdHB5LnRvb2wgaW1wb3J0IHN0ZXBzCiAKIGZyb20gd2Vi
a2l0cHkuY29tbW9uLmNoZWNrb3V0LmNoYW5nZWxvZyBpbXBvcnQgcGFyc2VfYnVnX2lkX2Zyb21f
Y2hhbmdlbG9nCiBmcm9tIHdlYmtpdHB5LmNvbW1vbi5jb25maWcuY29tbWl0dGVycyBpbXBvcnQg
Q29tbWl0dGVyTGlzdAotZnJvbSB3ZWJraXRweS5jb21tb24uc3lzdGVtLmRlcHJlY2F0ZWRfbG9n
Z2luZyBpbXBvcnQgZXJyb3IsIGxvZwogZnJvbSB3ZWJraXRweS5jb21tb24uc3lzdGVtLnVzZXIg
aW1wb3J0IFVzZXIKIGZyb20gd2Via2l0cHkudGhpcmRwYXJ0eS5tb2NrIGltcG9ydCBNb2NrCiBm
cm9tIHdlYmtpdHB5LnRvb2wuY29tbWFuZHMuYWJzdHJhY3RzZXF1ZW5jZWRjb21tYW5kIGltcG9y
dCBBYnN0cmFjdFNlcXVlbmNlZENvbW1hbmQKQEAgLTQ2LDYgKzQ2LDggQEAgZnJvbSB3ZWJraXRw
eS50b29sLmNvbW1lbnRzIGltcG9ydCBidWdfY29tbWVudF9mcm9tX3N2bl9yZXZpc2lvbgogZnJv
bSB3ZWJraXRweS50b29sLmdyYW1tYXIgaW1wb3J0IHBsdXJhbGl6ZSwgam9pbl93aXRoX3NlcGFy
YXRvcnMKIGZyb20gd2Via2l0cHkudG9vbC5tdWx0aWNvbW1hbmR0b29sIGltcG9ydCBBYnN0cmFj
dERlY2xhcmF0aXZlQ29tbWFuZAogCitfbG9nID0gbG9nZ2luZy5nZXRMb2dnZXIoX19uYW1lX18p
CisKIAogY2xhc3MgQ29tbWl0TWVzc2FnZUZvckN1cnJlbnREaWZmKEFic3RyYWN0RGVjbGFyYXRp
dmVDb21tYW5kKToKICAgICBuYW1lID0gImNvbW1pdC1tZXNzYWdlIgpAQCAtMTMzLDI0ICsxMzUs
MjQgQEAgY2xhc3MgQXNzaWduVG9Db21taXR0ZXIoQWJzdHJhY3REZWNsYXJhdGl2ZUNvbW1hbmQp
OgogICAgICAgICBidWcgPSBzZWxmLl90b29sLmJ1Z3MuZmV0Y2hfYnVnKGJ1Z19pZCkKICAgICAg
ICAgaWYgbm90IGJ1Zy5pc191bmFzc2lnbmVkKCk6CiAgICAgICAgICAgICBhc3NpZ25lZF90b19l
bWFpbCA9IGJ1Zy5hc3NpZ25lZF90b19lbWFpbCgpCi0gICAgICAgICAgICBsb2codSJCdWcgJXMg
aXMgYWxyZWFkeSBhc3NpZ25lZCB0byAlcyAoJXMpLiIgJSAoYnVnX2lkLCBhc3NpZ25lZF90b19l
bWFpbCwgY29tbWl0dGVycy5jb21taXR0ZXJfYnlfZW1haWwoYXNzaWduZWRfdG9fZW1haWwpKSkK
KyAgICAgICAgICAgIF9sb2cuaW5mbyh1IkJ1ZyAlcyBpcyBhbHJlYWR5IGFzc2lnbmVkIHRvICVz
ICglcykuIiAlIChidWdfaWQsIGFzc2lnbmVkX3RvX2VtYWlsLCBjb21taXR0ZXJzLmNvbW1pdHRl
cl9ieV9lbWFpbChhc3NpZ25lZF90b19lbWFpbCkpKQogICAgICAgICAgICAgcmV0dXJuCiAKICAg
ICAgICAgcmV2aWV3ZWRfcGF0Y2hlcyA9IGJ1Zy5yZXZpZXdlZF9wYXRjaGVzKCkKICAgICAgICAg
aWYgbm90IHJldmlld2VkX3BhdGNoZXM6Ci0gICAgICAgICAgICBsb2coIkJ1ZyAlcyBoYXMgbm8g
bm9uLW9ic29sZXRlIHBhdGNoZXMsIGlnbm9yaW5nLiIgJSBidWdfaWQpCisgICAgICAgICAgICBf
bG9nLmluZm8oIkJ1ZyAlcyBoYXMgbm8gbm9uLW9ic29sZXRlIHBhdGNoZXMsIGlnbm9yaW5nLiIg
JSBidWdfaWQpCiAgICAgICAgICAgICByZXR1cm4KIAogICAgICAgICAjIFdlIG9ubHkgbmVlZCB0
byBkbyBhbnl0aGluZyB3aXRoIHRoaXMgYnVnIGlmIG9uZSBvZiB0aGUgcisnZCBwYXRjaGVzIGRv
ZXMgbm90IGhhdmUgYSB2YWxpZCBjb21taXR0ZXIgKGNxKyBzZXQpLgogICAgICAgICBpZiBzZWxm
Ll9wYXRjaGVzX2hhdmVfY29tbWl0ZXJzKHJldmlld2VkX3BhdGNoZXMpOgotICAgICAgICAgICAg
bG9nKCJBbGwgcmV2aWV3ZWQgcGF0Y2hlcyBvbiBidWcgJXMgYWxyZWFkeSBoYXZlIGNvbW1pdC1x
dWV1ZSssIGlnbm9yaW5nLiIgJSBidWdfaWQpCisgICAgICAgICAgICBfbG9nLmluZm8oIkFsbCBy
ZXZpZXdlZCBwYXRjaGVzIG9uIGJ1ZyAlcyBhbHJlYWR5IGhhdmUgY29tbWl0LXF1ZXVlKywgaWdu
b3JpbmcuIiAlIGJ1Z19pZCkKICAgICAgICAgICAgIHJldHVybgogCiAgICAgICAgIGxhdGVzdF9w
YXRjaCA9IHJldmlld2VkX3BhdGNoZXNbLTFdCiAgICAgICAgIGF0dGFjaGVyX2VtYWlsID0gbGF0
ZXN0X3BhdGNoLmF0dGFjaGVyX2VtYWlsKCkKICAgICAgICAgY29tbWl0dGVyID0gY29tbWl0dGVy
cy5jb21taXR0ZXJfYnlfZW1haWwoYXR0YWNoZXJfZW1haWwpCiAgICAgICAgIGlmIG5vdCBjb21t
aXR0ZXI6Ci0gICAgICAgICAgICBsb2coIkF0dGFjaGVyICVzIGlzIG5vdCBhIGNvbW1pdHRlci4g
IEJ1ZyAlcyBsaWtlbHkgbmVlZHMgY29tbWl0LXF1ZXVlKy4iICUgKGF0dGFjaGVyX2VtYWlsLCBi
dWdfaWQpKQorICAgICAgICAgICAgX2xvZy5pbmZvKCJBdHRhY2hlciAlcyBpcyBub3QgYSBjb21t
aXR0ZXIuICBCdWcgJXMgbGlrZWx5IG5lZWRzIGNvbW1pdC1xdWV1ZSsuIiAlIChhdHRhY2hlcl9l
bWFpbCwgYnVnX2lkKSkKICAgICAgICAgICAgIHJldHVybgogCiAgICAgICAgIHJlYXNzaWduX21l
c3NhZ2UgPSB1IkF0dGFjaG1lbnQgJXMgd2FzIHBvc3RlZCBieSBhIGNvbW1pdHRlciBhbmQgaGFz
IHJldmlldyssIGFzc2lnbmluZyB0byAlcyBmb3IgY29tbWl0LiIgJSAobGF0ZXN0X3BhdGNoLmlk
KCksIGNvbW1pdHRlci5mdWxsX25hbWUpCkBAIC0yMDIsNyArMjA0LDggQEAgY2xhc3MgQWJzdHJh
Y3RQYXRjaFVwbG9hZGluZ0NvbW1hbmQoQWJzdHJhY3RTZXF1ZW5jZWRDb21tYW5kKToKICAgICAg
ICAgc3RhdGUgPSB7fQogICAgICAgICBzdGF0ZVsiYnVnX2lkIl0gPSBzZWxmLl9idWdfaWQob3B0
aW9ucywgYXJncywgdG9vbCwgc3RhdGUpCiAgICAgICAgIGlmIG5vdCBzdGF0ZVsiYnVnX2lkIl06
Ci0gICAgICAgICAgICBlcnJvcigiTm8gYnVnIGlkIHBhc3NlZCBhbmQgbm8gYnVnIHVybCBmb3Vu
ZCBpbiBDaGFuZ2VMb2dzLiIpCisgICAgICAgICAgICBfbG9nLmVycm9yKCJObyBidWcgaWQgcGFz
c2VkIGFuZCBubyBidWcgdXJsIGZvdW5kIGluIENoYW5nZUxvZ3MuIikKKyAgICAgICAgICAgIHN5
cy5leGl0KDEpCiAgICAgICAgIHJldHVybiBzdGF0ZQogCiAKQEAgLTMyMiw3ICszMjUsOCBAQCBj
bGFzcyBQb3N0Q29tbWl0cyhBYnN0cmFjdERlY2xhcmF0aXZlQ29tbWFuZCk6CiAgICAgZGVmIGV4
ZWN1dGUoc2VsZiwgb3B0aW9ucywgYXJncywgdG9vbCk6CiAgICAgICAgIGNvbW1pdF9pZHMgPSB0
b29sLnNjbSgpLmNvbW1pdF9pZHNfZnJvbV9jb21taXRpc2hfYXJndW1lbnRzKGFyZ3MpCiAgICAg
ICAgIGlmIGxlbihjb21taXRfaWRzKSA+IDEwOiAjIFdlIGNvdWxkIGxvd2VyIHRoaXMgbGltaXQs
IDEwIGlzIHRvbyBtYW55IGZvciBvbmUgYnVnIGFzLWlzLgotICAgICAgICAgICAgZXJyb3IoIndl
YmtpdC1wYXRjaCBkb2VzIG5vdCBzdXBwb3J0IGF0dGFjaGluZyAlcyBhdCBvbmNlLiAgQXJlIHlv
dSBzdXJlIHlvdSBwYXNzZWQgdGhlIHJpZ2h0IGNvbW1pdCByYW5nZT8iICUgKHBsdXJhbGl6ZSgi
cGF0Y2giLCBsZW4oY29tbWl0X2lkcykpKSkKKyAgICAgICAgICAgIF9sb2cuZXJyb3IoIndlYmtp
dC1wYXRjaCBkb2VzIG5vdCBzdXBwb3J0IGF0dGFjaGluZyAlcyBhdCBvbmNlLiAgQXJlIHlvdSBz
dXJlIHlvdSBwYXNzZWQgdGhlIHJpZ2h0IGNvbW1pdCByYW5nZT8iICUgKHBsdXJhbGl6ZSgicGF0
Y2giLCBsZW4oY29tbWl0X2lkcykpKSkKKyAgICAgICAgICAgIHN5cy5leGl0KDEpCiAKICAgICAg
ICAgaGF2ZV9vYnNvbGV0ZWRfcGF0Y2hlcyA9IHNldCgpCiAgICAgICAgIGZvciBjb21taXRfaWQg
aW4gY29tbWl0X2lkczoKQEAgLTMzMSw3ICszMzUsNyBAQCBjbGFzcyBQb3N0Q29tbWl0cyhBYnN0
cmFjdERlY2xhcmF0aXZlQ29tbWFuZCk6CiAgICAgICAgICAgICAjIFByZWZlciAtLWJ1Zy1pZD0s
IHRoZW4gYSBidWcgdXJsIGluIHRoZSBjb21taXQgbWVzc2FnZSwgdGhlbiBhIGJ1ZyB1cmwgaW4g
dGhlIGVudGlyZSBjb21taXQgZGlmZiAoaS5lLiBDaGFuZ2VMb2dzKS4KICAgICAgICAgICAgIGJ1
Z19pZCA9IG9wdGlvbnMuYnVnX2lkIG9yIHBhcnNlX2J1Z19pZF9mcm9tX2NoYW5nZWxvZyhjb21t
aXRfbWVzc2FnZS5tZXNzYWdlKCkpIG9yIHBhcnNlX2J1Z19pZF9mcm9tX2NoYW5nZWxvZyh0b29s
LnNjbSgpLmNyZWF0ZV9wYXRjaChnaXRfY29tbWl0PWNvbW1pdF9pZCkpCiAgICAgICAgICAgICBp
ZiBub3QgYnVnX2lkOgotICAgICAgICAgICAgICAgIGxvZygiU2tpcHBpbmcgJXM6IE5vIGJ1ZyBp
ZCBmb3VuZCBpbiBjb21taXQgb3Igc3BlY2lmaWVkIHdpdGggLS1idWctaWQuIiAlIGNvbW1pdF9p
ZCkKKyAgICAgICAgICAgICAgICBfbG9nLmluZm8oIlNraXBwaW5nICVzOiBObyBidWcgaWQgZm91
bmQgaW4gY29tbWl0IG9yIHNwZWNpZmllZCB3aXRoIC0tYnVnLWlkLiIgJSBjb21taXRfaWQpCiAg
ICAgICAgICAgICAgICAgY29udGludWUKIAogICAgICAgICAgICAgaWYgb3B0aW9ucy5vYnNvbGV0
ZV9wYXRjaGVzIGFuZCBidWdfaWQgbm90IGluIGhhdmVfb2Jzb2xldGVkX3BhdGNoZXM6CkBAIC0z
ODIsOCArMzg2LDkgQEAgY2xhc3MgTWFya0J1Z0ZpeGVkKEFic3RyYWN0RGVjbGFyYXRpdmVDb21t
YW5kKToKICAgICAgICAgICAgICAgICBub3RfZm91bmQuYXBwZW5kKCJidWcgaWQiKQogICAgICAg
ICAgICAgaWYgbm90IHN2bl9yZXZpc2lvbjoKICAgICAgICAgICAgICAgICBub3RfZm91bmQuYXBw
ZW5kKCJzdm4gcmV2aXNpb24iKQotICAgICAgICAgICAgZXJyb3IoIkNvdWxkIG5vdCBmaW5kICVz
IG9uIGNvbW1hbmQtbGluZSBvciBpbiAlcy4iCisgICAgICAgICAgICBfbG9nLmVycm9yKCJDb3Vs
ZCBub3QgZmluZCAlcyBvbiBjb21tYW5kLWxpbmUgb3IgaW4gJXMuIgogICAgICAgICAgICAgICAg
ICAgJSAoIiBvciAiLmpvaW4obm90X2ZvdW5kKSwgInIlcyIgJSBzdm5fcmV2aXNpb24gaWYgc3Zu
X3JldmlzaW9uIGVsc2UgImxhc3QgY29tbWl0IikpCisgICAgICAgICAgICBzeXMuZXhpdCgxKQog
CiAgICAgICAgIHJldHVybiAoYnVnX2lkLCBzdm5fcmV2aXNpb24pCiAKQEAgLTM5NSwxNSArNDAw
LDE2IEBAIGNsYXNzIE1hcmtCdWdGaXhlZChBYnN0cmFjdERlY2xhcmF0aXZlQ29tbWFuZCk6CiAg
ICAgICAgICAgICBpZiByZS5tYXRjaCgiXnJbMC05XSskIiwgc3ZuX3JldmlzaW9uLCByZS5JR05P
UkVDQVNFKToKICAgICAgICAgICAgICAgICBzdm5fcmV2aXNpb24gPSBzdm5fcmV2aXNpb25bMTpd
CiAgICAgICAgICAgICBpZiBub3QgcmUubWF0Y2goIl5bMC05XSskIiwgc3ZuX3JldmlzaW9uKToK
LSAgICAgICAgICAgICAgICBlcnJvcigiSW52YWxpZCBzdm4gcmV2aXNpb246ICclcyciICUgc3Zu
X3JldmlzaW9uKQorICAgICAgICAgICAgICAgIF9sb2cuZXJyb3IoIkludmFsaWQgc3ZuIHJldmlz
aW9uOiAnJXMnIiAlIHN2bl9yZXZpc2lvbikKKyAgICAgICAgICAgICAgICBzeXMuZXhpdCgxKQog
CiAgICAgICAgIG5lZWRzX3Byb21wdCA9IEZhbHNlCiAgICAgICAgIGlmIG5vdCBidWdfaWQgb3Ig
bm90IHN2bl9yZXZpc2lvbjoKICAgICAgICAgICAgIG5lZWRzX3Byb21wdCA9IFRydWUKICAgICAg
ICAgICAgIChidWdfaWQsIHN2bl9yZXZpc2lvbikgPSBzZWxmLl9kZXRlcm1pbmVfYnVnX2lkX2Fu
ZF9zdm5fcmV2aXNpb24odG9vbCwgYnVnX2lkLCBzdm5fcmV2aXNpb24pCiAKLSAgICAgICAgbG9n
KCJCdWc6IDwlcz4gJXMiICUgKHRvb2wuYnVncy5idWdfdXJsX2Zvcl9idWdfaWQoYnVnX2lkKSwg
dG9vbC5idWdzLmZldGNoX2J1Z19kaWN0aW9uYXJ5KGJ1Z19pZClbInRpdGxlIl0pKQotICAgICAg
ICBsb2coIlJldmlzaW9uOiAlcyIgJSBzdm5fcmV2aXNpb24pCisgICAgICAgIF9sb2cuaW5mbygi
QnVnOiA8JXM+ICVzIiAlICh0b29sLmJ1Z3MuYnVnX3VybF9mb3JfYnVnX2lkKGJ1Z19pZCksIHRv
b2wuYnVncy5mZXRjaF9idWdfZGljdGlvbmFyeShidWdfaWQpWyJ0aXRsZSJdKSkKKyAgICAgICAg
X2xvZy5pbmZvKCJSZXZpc2lvbjogJXMiICUgc3ZuX3JldmlzaW9uKQogCiAgICAgICAgIGlmIG9w
dGlvbnMub3Blbl9idWc6CiAgICAgICAgICAgICB0b29sLnVzZXIub3Blbl91cmwodG9vbC5idWdz
LmJ1Z191cmxfZm9yX2J1Z19pZChidWdfaWQpKQpAQCAtNDE3LDEwICs0MjMsMTAgQEAgY2xhc3Mg
TWFya0J1Z0ZpeGVkKEFic3RyYWN0RGVjbGFyYXRpdmVDb21tYW5kKToKICAgICAgICAgICAgIGJ1
Z19jb21tZW50ID0gIiVzXG5cbiVzIiAlIChvcHRpb25zLmNvbW1lbnQsIGJ1Z19jb21tZW50KQog
CiAgICAgICAgIGlmIG9wdGlvbnMudXBkYXRlX29ubHk6Ci0gICAgICAgICAgICBsb2coIkFkZGlu
ZyBjb21tZW50IHRvIEJ1ZyAlcy4iICUgYnVnX2lkKQorICAgICAgICAgICAgX2xvZy5pbmZvKCJB
ZGRpbmcgY29tbWVudCB0byBCdWcgJXMuIiAlIGJ1Z19pZCkKICAgICAgICAgICAgIHRvb2wuYnVn
cy5wb3N0X2NvbW1lbnRfdG9fYnVnKGJ1Z19pZCwgYnVnX2NvbW1lbnQpCiAgICAgICAgIGVsc2U6
Ci0gICAgICAgICAgICBsb2coIkFkZGluZyBjb21tZW50IHRvIEJ1ZyAlcyBhbmQgbWFya2luZyBh
cyBSZXNvbHZlZC9GaXhlZC4iICUgYnVnX2lkKQorICAgICAgICAgICAgX2xvZy5pbmZvKCJBZGRp
bmcgY29tbWVudCB0byBCdWcgJXMgYW5kIG1hcmtpbmcgYXMgUmVzb2x2ZWQvRml4ZWQuIiAlIGJ1
Z19pZCkKICAgICAgICAgICAgIHRvb2wuYnVncy5jbG9zZV9idWdfYXNfZml4ZWQoYnVnX2lkLCBi
dWdfY29tbWVudCkKIAogCkBAIC00NDMsNyArNDQ5LDggQEAgY2xhc3MgQ3JlYXRlQnVnKEFic3Ry
YWN0RGVjbGFyYXRpdmVDb21tYW5kKToKICAgICBkZWYgY3JlYXRlX2J1Z19mcm9tX2NvbW1pdChz
ZWxmLCBvcHRpb25zLCBhcmdzLCB0b29sKToKICAgICAgICAgY29tbWl0X2lkcyA9IHRvb2wuc2Nt
KCkuY29tbWl0X2lkc19mcm9tX2NvbW1pdGlzaF9hcmd1bWVudHMoYXJncykKICAgICAgICAgaWYg
bGVuKGNvbW1pdF9pZHMpID4gMzoKLSAgICAgICAgICAgIGVycm9yKCJBcmUgeW91IHN1cmUgeW91
IHdhbnQgdG8gY3JlYXRlIG9uZSBidWcgd2l0aCAlcyBwYXRjaGVzPyIgJSBsZW4oY29tbWl0X2lk
cykpCisgICAgICAgICAgICBfbG9nLmVycm9yKCJBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gY3Jl
YXRlIG9uZSBidWcgd2l0aCAlcyBwYXRjaGVzPyIgJSBsZW4oY29tbWl0X2lkcykpCisgICAgICAg
ICAgICBzeXMuZXhpdCgxKQogCiAgICAgICAgIGNvbW1pdF9pZCA9IGNvbW1pdF9pZHNbMF0KIApA
QCAtNDk5LDcgKzUwNiw4IEBAIGNsYXNzIENyZWF0ZUJ1ZyhBYnN0cmFjdERlY2xhcmF0aXZlQ29t
bWFuZCk6CiAgICAgZGVmIGV4ZWN1dGUoc2VsZiwgb3B0aW9ucywgYXJncywgdG9vbCk6CiAgICAg
ICAgIGlmIGxlbihhcmdzKToKICAgICAgICAgICAgIGlmIChub3QgdG9vbC5zY20oKS5zdXBwb3J0
c19sb2NhbF9jb21taXRzKCkpOgotICAgICAgICAgICAgICAgIGVycm9yKCJFeHRyYSBhcmd1bWVu
dHMgbm90IHN1cHBvcnRlZDsgcGF0Y2ggaXMgdGFrZW4gZnJvbSB3b3JraW5nIGRpcmVjdG9yeS4i
KQorICAgICAgICAgICAgICAgIF9sb2cuZXJyb3IoIkV4dHJhIGFyZ3VtZW50cyBub3Qgc3VwcG9y
dGVkOyBwYXRjaCBpcyB0YWtlbiBmcm9tIHdvcmtpbmcgZGlyZWN0b3J5LiIpCisgICAgICAgICAg
ICAgICAgc3lzLmV4aXQoMSkKICAgICAgICAgICAgIHNlbGYuY3JlYXRlX2J1Z19mcm9tX2NvbW1p
dChvcHRpb25zLCBhcmdzLCB0b29sKQogICAgICAgICBlbHNlOgogICAgICAgICAgICAgc2VsZi5j
cmVhdGVfYnVnX2Zyb21fcGF0Y2gob3B0aW9ucywgYXJncywgdG9vbCkKZGlmZiAtLWdpdCBhL1Rv
b2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9jb21tYW5kcy91cGxvYWRfdW5pdHRlc3QucHkgYi9U
b29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvY29tbWFuZHMvdXBsb2FkX3VuaXR0ZXN0LnB5Cmlu
ZGV4IDE4NWJiOTdmMzBhYTc3OTE0NTMzMDI2YjkxNzI1OTJiNDgzMTc0OWMuLjY2YjIwMTRjYmNm
MWJkNDIxMmYxMGE2ZWRiNWU0M2QxYmViNDUzMDggMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cHkvdG9vbC9jb21tYW5kcy91cGxvYWRfdW5pdHRlc3QucHkKKysrIGIvVG9vbHMvU2Ny
aXB0cy93ZWJraXRweS90b29sL2NvbW1hbmRzL3VwbG9hZF91bml0dGVzdC5weQpAQCAtNDcsMTQg
KzQ3LDE1IEBAIE1PQ0sgcmVhc3NpZ25fYnVnOiBidWdfaWQ9NTAwMDAsIGFzc2lnbmVlPWVyaWNA
d2Via2l0Lm9yZwogLS0gQmVnaW4gY29tbWVudCAtLQogQXR0YWNobWVudCAxMDAwMSB3YXMgcG9z
dGVkIGJ5IGEgY29tbWl0dGVyIGFuZCBoYXMgcmV2aWV3KywgYXNzaWduaW5nIHRvIEVyaWMgU2Vp
ZGVsIGZvciBjb21taXQuCiAtLSBFbmQgY29tbWVudCAtLQotQnVnIDUwMDAzIGlzIGFscmVhZHkg
YXNzaWduZWQgdG8gZm9vQGZvby5jb20gKE5vbmUpLgorIiIiCisgICAgICAgIGV4cGVjdGVkX2xv
Z3MgPSAiIiJCdWcgNTAwMDMgaXMgYWxyZWFkeSBhc3NpZ25lZCB0byBmb29AZm9vLmNvbSAoTm9u
ZSkuCiBCdWcgNTAwMDIgaGFzIG5vIG5vbi1vYnNvbGV0ZSBwYXRjaGVzLCBpZ25vcmluZy4KICIi
IgotICAgICAgICBzZWxmLmFzc2VydF9leGVjdXRlX291dHB1dHMoQXNzaWduVG9Db21taXR0ZXIo
KSwgW10sIGV4cGVjdGVkX3N0ZGVycj1leHBlY3RlZF9zdGRlcnIsIHRvb2w9dG9vbCkKKyAgICAg
ICAgc2VsZi5hc3NlcnRfZXhlY3V0ZV9vdXRwdXRzKEFzc2lnblRvQ29tbWl0dGVyKCksIFtdLCBl
eHBlY3RlZF9zdGRlcnI9ZXhwZWN0ZWRfc3RkZXJyLCBleHBlY3RlZF9sb2dzPWV4cGVjdGVkX2xv
Z3MsIHRvb2w9dG9vbCkKIAogICAgIGRlZiB0ZXN0X29ic29sZXRlX2F0dGFjaG1lbnRzKHNlbGYp
OgotICAgICAgICBleHBlY3RlZF9zdGRlcnIgPSAiT2Jzb2xldGluZyAyIG9sZCBwYXRjaGVzIG9u
IGJ1ZyA1MDAwMFxuIgotICAgICAgICBzZWxmLmFzc2VydF9leGVjdXRlX291dHB1dHMoT2Jzb2xl
dGVBdHRhY2htZW50cygpLCBbNTAwMDBdLCBleHBlY3RlZF9zdGRlcnI9ZXhwZWN0ZWRfc3RkZXJy
KQorICAgICAgICBleHBlY3RlZF9sb2dzID0gIk9ic29sZXRpbmcgMiBvbGQgcGF0Y2hlcyBvbiBi
dWcgNTAwMDBcbiIKKyAgICAgICAgc2VsZi5hc3NlcnRfZXhlY3V0ZV9vdXRwdXRzKE9ic29sZXRl
QXR0YWNobWVudHMoKSwgWzUwMDAwXSwgZXhwZWN0ZWRfbG9ncz1leHBlY3RlZF9sb2dzKQogCiAg
ICAgZGVmIHRlc3RfcG9zdChzZWxmKToKICAgICAgICAgb3B0aW9ucyA9IE1vY2tPcHRpb25zKCkK
QEAgLTY4LDExICs2OSwxMSBAQCBCdWcgNTAwMDIgaGFzIG5vIG5vbi1vYnNvbGV0ZSBwYXRjaGVz
LCBpZ25vcmluZy4KICAgICAgICAgb3B0aW9ucy5zdWdnZXN0X3Jldmlld2VycyA9IEZhbHNlCiAg
ICAgICAgIGV4cGVjdGVkX3N0ZGVyciA9ICIiIk1PQ0s6IHVzZXIub3Blbl91cmw6IGZpbGU6Ly8u
Li4KIFdhcyB0aGF0IGRpZmYgY29ycmVjdD8KLU9ic29sZXRpbmcgMiBvbGQgcGF0Y2hlcyBvbiBi
dWcgNTAwMDAKIE1PQ0sgcmVhc3NpZ25fYnVnOiBidWdfaWQ9NTAwMDAsIGFzc2lnbmVlPU5vbmUK
IE1PQ0sgYWRkX3BhdGNoX3RvX2J1ZzogYnVnX2lkPTUwMDAwLCBkZXNjcmlwdGlvbj1NT0NLIGRl
c2NyaXB0aW9uLCBtYXJrX2Zvcl9yZXZpZXc9VHJ1ZSwgbWFya19mb3JfY29tbWl0X3F1ZXVlPUZh
bHNlLCBtYXJrX2Zvcl9sYW5kaW5nPUZhbHNlCiBNT0NLOiB1c2VyLm9wZW5fdXJsOiBodHRwOi8v
ZXhhbXBsZS5jb20vNTAwMDAKICIiIgorICAgICAgICBleHBlY3RlZF9sb2dzID0gIk9ic29sZXRp
bmcgMiBvbGQgcGF0Y2hlcyBvbiBidWcgNTAwMDBcbiIKICAgICAgICAgc2VsZi5hc3NlcnRfZXhl
Y3V0ZV9vdXRwdXRzKFBvc3QoKSwgWzUwMDAwXSwgb3B0aW9ucz1vcHRpb25zLCBleHBlY3RlZF9z
dGRlcnI9ZXhwZWN0ZWRfc3RkZXJyKQogCiAgICAgZGVmIHRlc3RfYXR0YWNoX3RvX2J1ZyhzZWxm
KToKQEAgLTk1LDggKzk2LDkgQEAgZXh0cmEgY29tbWVudAogICAgICAgICBzZWxmLmFzc2VydF9l
eGVjdXRlX291dHB1dHMoQXR0YWNoVG9CdWcoKSwgWzUwMDAwLCAicGF0aC90by9maWxlLnR4dCJd
LCBvcHRpb25zPW9wdGlvbnMsIGV4cGVjdGVkX3N0ZGVycj1leHBlY3RlZF9zdGRlcnIpCiAKICAg
ICBkZWYgdGVzdF9sYW5kX3NhZmVseShzZWxmKToKLSAgICAgICAgZXhwZWN0ZWRfc3RkZXJyID0g
Ik9ic29sZXRpbmcgMiBvbGQgcGF0Y2hlcyBvbiBidWcgNTAwMDBcbk1PQ0sgcmVhc3NpZ25fYnVn
OiBidWdfaWQ9NTAwMDAsIGFzc2lnbmVlPU5vbmVcbk1PQ0sgYWRkX3BhdGNoX3RvX2J1ZzogYnVn
X2lkPTUwMDAwLCBkZXNjcmlwdGlvbj1QYXRjaCBmb3IgbGFuZGluZywgbWFya19mb3JfcmV2aWV3
PUZhbHNlLCBtYXJrX2Zvcl9jb21taXRfcXVldWU9RmFsc2UsIG1hcmtfZm9yX2xhbmRpbmc9VHJ1
ZVxuIgotICAgICAgICBzZWxmLmFzc2VydF9leGVjdXRlX291dHB1dHMoTGFuZFNhZmVseSgpLCBb
NTAwMDBdLCBleHBlY3RlZF9zdGRlcnI9ZXhwZWN0ZWRfc3RkZXJyKQorICAgICAgICBleHBlY3Rl
ZF9zdGRlcnIgPSAiTU9DSyByZWFzc2lnbl9idWc6IGJ1Z19pZD01MDAwMCwgYXNzaWduZWU9Tm9u
ZVxuTU9DSyBhZGRfcGF0Y2hfdG9fYnVnOiBidWdfaWQ9NTAwMDAsIGRlc2NyaXB0aW9uPVBhdGNo
IGZvciBsYW5kaW5nLCBtYXJrX2Zvcl9yZXZpZXc9RmFsc2UsIG1hcmtfZm9yX2NvbW1pdF9xdWV1
ZT1GYWxzZSwgbWFya19mb3JfbGFuZGluZz1UcnVlXG4iCisgICAgICAgIGV4cGVjdGVkX2xvZ3Mg
PSAiT2Jzb2xldGluZyAyIG9sZCBwYXRjaGVzIG9uIGJ1ZyA1MDAwMFxuIgorICAgICAgICBzZWxm
LmFzc2VydF9leGVjdXRlX291dHB1dHMoTGFuZFNhZmVseSgpLCBbNTAwMDBdLCBleHBlY3RlZF9z
dGRlcnI9ZXhwZWN0ZWRfc3RkZXJyLCBleHBlY3RlZF9sb2dzPWV4cGVjdGVkX2xvZ3MpCiAKICAg
ICBkZWYgdGVzdF9wcmVwYXJlX2RpZmZfd2l0aF9hcmcoc2VsZik6CiAgICAgICAgIHNlbGYuYXNz
ZXJ0X2V4ZWN1dGVfb3V0cHV0cyhQcmVwYXJlKCksIFs1MDAwMF0pCkBAIC0xMTcsMTIgKzExOSwx
MiBAQCBleHRyYSBjb21tZW50CiAgICAgICAgIG9wdGlvbnMuc3VnZ2VzdF9yZXZpZXdlcnMgPSBG
YWxzZQogICAgICAgICBleHBlY3RlZF9zdGRlcnIgPSAiIiJNT0NLOiB1c2VyLm9wZW5fdXJsOiBm
aWxlOi8vLi4uCiBXYXMgdGhhdCBkaWZmIGNvcnJlY3Q/Ci1PYnNvbGV0aW5nIDIgb2xkIHBhdGNo
ZXMgb24gYnVnIDUwMDAwCiBNT0NLIHJlYXNzaWduX2J1ZzogYnVnX2lkPTUwMDAwLCBhc3NpZ25l
ZT1Ob25lCiBNT0NLIGFkZF9wYXRjaF90b19idWc6IGJ1Z19pZD01MDAwMCwgZGVzY3JpcHRpb249
TU9DSyBkZXNjcmlwdGlvbiwgbWFya19mb3JfcmV2aWV3PVRydWUsIG1hcmtfZm9yX2NvbW1pdF9x
dWV1ZT1GYWxzZSwgbWFya19mb3JfbGFuZGluZz1GYWxzZQogTU9DSzogdXNlci5vcGVuX3VybDog
aHR0cDovL2V4YW1wbGUuY29tLzUwMDAwCiAiIiIKLSAgICAgICAgc2VsZi5hc3NlcnRfZXhlY3V0
ZV9vdXRwdXRzKFVwbG9hZCgpLCBbNTAwMDBdLCBvcHRpb25zPW9wdGlvbnMsIGV4cGVjdGVkX3N0
ZGVycj1leHBlY3RlZF9zdGRlcnIpCisgICAgICAgIGV4cGVjdGVkX2xvZ3MgPSAiT2Jzb2xldGlu
ZyAyIG9sZCBwYXRjaGVzIG9uIGJ1ZyA1MDAwMFxuIgorICAgICAgICBzZWxmLmFzc2VydF9leGVj
dXRlX291dHB1dHMoVXBsb2FkKCksIFs1MDAwMF0sIG9wdGlvbnM9b3B0aW9ucywgZXhwZWN0ZWRf
c3RkZXJyPWV4cGVjdGVkX3N0ZGVyciwgZXhwZWN0ZWRfbG9ncz1leHBlY3RlZF9sb2dzKQogCiAg
ICAgZGVmIHRlc3RfbWFya19idWdfZml4ZWQoc2VsZik6CiAgICAgICAgIHRvb2wgPSBNb2NrVG9v
bCgpCkBAIC0xMzAsMTEgKzEzMiw4IEBAIE1PQ0s6IHVzZXIub3Blbl91cmw6IGh0dHA6Ly9leGFt
cGxlLmNvbS81MDAwMAogICAgICAgICBvcHRpb25zID0gTW9jaygpCiAgICAgICAgIG9wdGlvbnMu
YnVnX2lkID0gNTAwMDAKICAgICAgICAgb3B0aW9ucy5jb21tZW50ID0gIk1PQ0sgY29tbWVudCIK
LSAgICAgICAgZXhwZWN0ZWRfc3RkZXJyID0gIiIiQnVnOiA8aHR0cDovL2V4YW1wbGUuY29tLzUw
MDAwPiBCdWcgd2l0aCB0d28gcisnZCBhbmQgY3ErJ2QgcGF0Y2hlcywgb25lIG9mIHdoaWNoIGhh
cyBhbiBpbnZhbGlkIGNvbW1pdC1xdWV1ZSBzZXR0ZXIuCi1SZXZpc2lvbjogOTg3NgotTU9DSzog
dXNlci5vcGVuX3VybDogaHR0cDovL2V4YW1wbGUuY29tLzUwMDAwCisgICAgICAgIGV4cGVjdGVk
X3N0ZGVyciA9ICIiIk1PQ0s6IHVzZXIub3Blbl91cmw6IGh0dHA6Ly9leGFtcGxlLmNvbS81MDAw
MAogSXMgdGhpcyBjb3JyZWN0PwotQWRkaW5nIGNvbW1lbnQgdG8gQnVnIDUwMDAwLgogTU9DSyBi
dWcgY29tbWVudDogYnVnX2lkPTUwMDAwLCBjYz1Ob25lCiAtLS0gQmVnaW4gY29tbWVudCAtLS0K
IE1PQ0sgY29tbWVudApAQCAtMTQzLDcgKzE0MiwxMSBAQCBDb21taXR0ZWQgcjk4NzY6IDxodHRw
Oi8vdHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC85ODc2PgogLS0tIEVuZCBjb21tZW50IC0tLQog
CiAiIiIKLSAgICAgICAgc2VsZi5hc3NlcnRfZXhlY3V0ZV9vdXRwdXRzKE1hcmtCdWdGaXhlZCgp
LCBbXSwgZXhwZWN0ZWRfc3RkZXJyPWV4cGVjdGVkX3N0ZGVyciwgdG9vbD10b29sLCBvcHRpb25z
PW9wdGlvbnMpCisgICAgICAgIGV4cGVjdGVkX2xvZ3MgPSAiIiJCdWc6IDxodHRwOi8vZXhhbXBs
ZS5jb20vNTAwMDA+IEJ1ZyB3aXRoIHR3byByKydkIGFuZCBjcSsnZCBwYXRjaGVzLCBvbmUgb2Yg
d2hpY2ggaGFzIGFuIGludmFsaWQgY29tbWl0LXF1ZXVlIHNldHRlci4KK1JldmlzaW9uOiA5ODc2
CitBZGRpbmcgY29tbWVudCB0byBCdWcgNTAwMDAuCisiIiIKKyAgICAgICAgc2VsZi5hc3NlcnRf
ZXhlY3V0ZV9vdXRwdXRzKE1hcmtCdWdGaXhlZCgpLCBbXSwgZXhwZWN0ZWRfc3RkZXJyPWV4cGVj
dGVkX3N0ZGVyciwgZXhwZWN0ZWRfbG9ncz1leHBlY3RlZF9sb2dzLCB0b29sPXRvb2wsIG9wdGlv
bnM9b3B0aW9ucykKIAogICAgIGRlZiB0ZXN0X2VkaXRfY2hhbmdlbG9nKHNlbGYpOgogICAgICAg
ICBzZWxmLmFzc2VydF9leGVjdXRlX291dHB1dHMoRWRpdENoYW5nZUxvZ3MoKSwgW10pCmRpZmYg
LS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvbXVsdGljb21tYW5kdG9vbC5weSBi
L1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9tdWx0aWNvbW1hbmR0b29sLnB5CmluZGV4IDM4
YzQxMGNmODlkNmI1YmEyZWE0NmRmZmFlODgzYjI4MmNjNWYzODQuLmUyZjkxYTdkYWQ2MjQxYTJi
MDExMzVlMjlkMTQ2NDYwMzVmYWJjMWUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0
cHkvdG9vbC9tdWx0aWNvbW1hbmR0b29sLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkv
dG9vbC9tdWx0aWNvbW1hbmR0b29sLnB5CkBAIC0zMSwxMiArMzEsMTQgQEAKICMgd2hpY2ggYXJl
IGNhbGxlZCB3aXRoIHRoZSBmb2xsb3dpbmcgZm9ybWF0OgogIyB0b29sLW5hbWUgW2dsb2JhbCBv
cHRpb25zXSBjb21tYW5kLW5hbWUgW2NvbW1hbmQgb3B0aW9uc10KIAoraW1wb3J0IGxvZ2dpbmcK
IGltcG9ydCBzeXMKIAogZnJvbSBvcHRwYXJzZSBpbXBvcnQgT3B0aW9uUGFyc2VyLCBJbmRlbnRl
ZEhlbHBGb3JtYXR0ZXIsIFNVUFBSRVNTX1VTQUdFLCBtYWtlX29wdGlvbgogCiBmcm9tIHdlYmtp
dHB5LnRvb2wuZ3JhbW1hciBpbXBvcnQgcGx1cmFsaXplCi1mcm9tIHdlYmtpdHB5LmNvbW1vbi5z
eXN0ZW0uZGVwcmVjYXRlZF9sb2dnaW5nIGltcG9ydCBsb2cKKworX2xvZyA9IGxvZ2dpbmcuZ2V0
TG9nZ2VyKF9fbmFtZV9fKQogCiAKIGNsYXNzIFRyeUFnYWluKEV4Y2VwdGlvbik6CkBAIC0xMDks
MTMgKzExMSwxMyBAQCBjbGFzcyBDb21tYW5kKG9iamVjdCk6CiAKICAgICBkZWYgY2hlY2tfYXJn
dW1lbnRzX2FuZF9leGVjdXRlKHNlbGYsIG9wdGlvbnMsIGFyZ3MsIHRvb2w9Tm9uZSk6CiAgICAg
ICAgIGlmIGxlbihhcmdzKSA8IGxlbihzZWxmLnJlcXVpcmVkX2FyZ3VtZW50cyk6Ci0gICAgICAg
ICAgICBsb2coIiVzIHJlcXVpcmVkLCAlcyBwcm92aWRlZC4gIFByb3ZpZGVkOiAlcyAgUmVxdWly
ZWQ6ICVzXG5TZWUgJyVzIGhlbHAgJXMnIGZvciB1c2FnZS4iICUgKAotICAgICAgICAgICAgICAg
IHBsdXJhbGl6ZSgiYXJndW1lbnQiLCBsZW4oc2VsZi5yZXF1aXJlZF9hcmd1bWVudHMpKSwKLSAg
ICAgICAgICAgICAgICBwbHVyYWxpemUoImFyZ3VtZW50IiwgbGVuKGFyZ3MpKSwKLSAgICAgICAg
ICAgICAgICAiJyVzJyIgJSAiICIuam9pbihhcmdzKSwKLSAgICAgICAgICAgICAgICAiICIuam9p
bihzZWxmLnJlcXVpcmVkX2FyZ3VtZW50cyksCi0gICAgICAgICAgICAgICAgdG9vbC5uYW1lKCks
Ci0gICAgICAgICAgICAgICAgc2VsZi5uYW1lKSkKKyAgICAgICAgICAgIF9sb2cuZXJyb3IoIiVz
IHJlcXVpcmVkLCAlcyBwcm92aWRlZC4gIFByb3ZpZGVkOiAlcyAgUmVxdWlyZWQ6ICVzXG5TZWUg
JyVzIGhlbHAgJXMnIGZvciB1c2FnZS4iICUgKAorICAgICAgICAgICAgICAgICAgICAgICBwbHVy
YWxpemUoImFyZ3VtZW50IiwgbGVuKHNlbGYucmVxdWlyZWRfYXJndW1lbnRzKSksCisgICAgICAg
ICAgICAgICAgICAgICAgIHBsdXJhbGl6ZSgiYXJndW1lbnQiLCBsZW4oYXJncykpLAorICAgICAg
ICAgICAgICAgICAgICAgICAiJyVzJyIgJSAiICIuam9pbihhcmdzKSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgIiAiLmpvaW4oc2VsZi5yZXF1aXJlZF9hcmd1bWVudHMpLAorICAgICAgICAgICAg
ICAgICAgICAgICB0b29sLm5hbWUoKSwKKyAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5uYW1l
KSkKICAgICAgICAgICAgIHJldHVybiAxCiAgICAgICAgIHJldHVybiBzZWxmLmV4ZWN1dGUob3B0
aW9ucywgYXJncywgdG9vbCkgb3IgMAogCkBAIC0zMDMsNyArMzA1LDcgQEAgY2xhc3MgTXVsdGlD
b21tYW5kVG9vbChvYmplY3QpOgogCiAgICAgICAgIChzaG91bGRfZXhlY3V0ZSwgZmFpbHVyZV9y
ZWFzb24pID0gc2VsZi5zaG91bGRfZXhlY3V0ZV9jb21tYW5kKGNvbW1hbmQpCiAgICAgICAgIGlm
IG5vdCBzaG91bGRfZXhlY3V0ZToKLSAgICAgICAgICAgIGxvZyhmYWlsdXJlX3JlYXNvbikKKyAg
ICAgICAgICAgIF9sb2cuZXJyb3IoZmFpbHVyZV9yZWFzb24pCiAgICAgICAgICAgICByZXR1cm4g
MCAjIEZJWE1FOiBTaG91bGQgdGhpcyByZWFsbHkgYmUgMD8KIAogICAgICAgICB3aGlsZSBUcnVl
OgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL211bHRpY29tbWFuZHRv
b2xfdW5pdHRlc3QucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvbXVsdGljb21tYW5k
dG9vbF91bml0dGVzdC5weQppbmRleCBjMTkwOTVjM2VmYWFhODRjYmY0NjYwNTkyYTQwYjIxM2I0
M2M0ODk5Li5lY2IxZGYwMDczZWNhN2Y3MzkwNzc1ZTk5YjJkZWEyMDJkYTNjYTNhIDEwMDY0NAot
LS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvbXVsdGljb21tYW5kdG9vbF91bml0dGVz
dC5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvbXVsdGljb21tYW5kdG9vbF91
bml0dGVzdC5weQpAQCAtODEsOCArODEsOCBAQCBjbGFzcyBDb21tYW5kVGVzdCh1bml0dGVzdC5U
ZXN0Q2FzZSk6CiAKICAgICBkZWYgdGVzdF9yZXF1aXJlZF9hcmd1bWVudHMoc2VsZik6CiAgICAg
ICAgIHR3b19yZXF1aXJlZF9hcmd1bWVudHMgPSBUcml2aWFsQ29tbWFuZChhcmd1bWVudF9uYW1l
cz0iQVJHMSBBUkcyIFtBUkczXSIpCi0gICAgICAgIGV4cGVjdGVkX21pc3NpbmdfYXJnc19lcnJv
ciA9ICIyIGFyZ3VtZW50cyByZXF1aXJlZCwgMSBhcmd1bWVudCBwcm92aWRlZC4gIFByb3ZpZGVk
OiAnZm9vJyAgUmVxdWlyZWQ6IEFSRzEgQVJHMlxuU2VlICd0cml2aWFsLXRvb2wgaGVscCB0cml2
aWFsJyBmb3IgdXNhZ2UuXG4iCi0gICAgICAgIGV4aXRfY29kZSA9IE91dHB1dENhcHR1cmUoKS5h
c3NlcnRfb3V0cHV0cyhzZWxmLCB0d29fcmVxdWlyZWRfYXJndW1lbnRzLmNoZWNrX2FyZ3VtZW50
c19hbmRfZXhlY3V0ZSwgW05vbmUsIFsiZm9vIl0sIFRyaXZpYWxUb29sKCldLCBleHBlY3RlZF9z
dGRlcnI9ZXhwZWN0ZWRfbWlzc2luZ19hcmdzX2Vycm9yKQorICAgICAgICBleHBlY3RlZF9sb2dz
ID0gIjIgYXJndW1lbnRzIHJlcXVpcmVkLCAxIGFyZ3VtZW50IHByb3ZpZGVkLiAgUHJvdmlkZWQ6
ICdmb28nICBSZXF1aXJlZDogQVJHMSBBUkcyXG5TZWUgJ3RyaXZpYWwtdG9vbCBoZWxwIHRyaXZp
YWwnIGZvciB1c2FnZS5cbiIKKyAgICAgICAgZXhpdF9jb2RlID0gT3V0cHV0Q2FwdHVyZSgpLmFz
c2VydF9vdXRwdXRzKHNlbGYsIHR3b19yZXF1aXJlZF9hcmd1bWVudHMuY2hlY2tfYXJndW1lbnRz
X2FuZF9leGVjdXRlLCBbTm9uZSwgWyJmb28iXSwgVHJpdmlhbFRvb2woKV0sIGV4cGVjdGVkX2xv
Z3M9ZXhwZWN0ZWRfbG9ncykKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChleGl0X2NvZGUsIDEp
CiAKIApkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL3N0ZXBzL2FkZHN2
bm1pbWV0eXBlZm9ycG5nLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL3N0ZXBzL2Fk
ZHN2bm1pbWV0eXBlZm9ycG5nLnB5CmluZGV4IDczYmVjMTVkYjZiM2I1N2JlOTZjMzVjMGMzMDVh
MDQzZWE2ODM3NTEuLjBlZjBmZWQ0NjI5YzVlM2ZmN2U5Zjk5ZjFlMWNmYmEzNWZkMzc3YTQgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9zdGVwcy9hZGRzdm5taW1ldHlw
ZWZvcnBuZy5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvc3RlcHMvYWRkc3Zu
bWltZXR5cGVmb3JwbmcucHkKQEAgLTIxLDEyICsyMSwxNSBAQAogIyAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKICMg
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KIAoraW1wb3J0IGxvZ2dpbmcKKwogZnJvbSB3ZWJraXRweS50b29sLnN0ZXBz
LmFic3RyYWN0c3RlcCBpbXBvcnQgQWJzdHJhY3RTdGVwCiBmcm9tIHdlYmtpdHB5LmNvbW1vbiBp
bXBvcnQgY2hlY2tzdm5jb25maWdmaWxlCi1mcm9tIHdlYmtpdHB5LmNvbW1vbi5zeXN0ZW0uZGVw
cmVjYXRlZF9sb2dnaW5nIGltcG9ydCBsb2cKIGZyb20gd2Via2l0cHkuY29tbW9uLmNoZWNrb3V0
LnNjbS5kZXRlY3Rpb24gaW1wb3J0IFNDTURldGVjdG9yCiBmcm9tIHdlYmtpdHB5LmNvbW1vbi5z
eXN0ZW0uc3lzdGVtaG9zdCBpbXBvcnQgU3lzdGVtSG9zdAogCitfbG9nID0gbG9nZ2luZy5nZXRM
b2dnZXIoX19uYW1lX18pCisKIAogY2xhc3MgQWRkU3ZuTWltZXR5cGVGb3JQbmcoQWJzdHJhY3RT
dGVwKToKICAgICBkZWYgX19pbml0X18oc2VsZiwgdG9vbCwgb3B0aW9ucywgaG9zdD1Ob25lLCBz
Y209Tm9uZSk6CkBAIC00NywxOSArNTAsMTkgQEAgY2xhc3MgQWRkU3ZuTWltZXR5cGVGb3JQbmco
QWJzdHJhY3RTdGVwKToKICAgICAgICAgICAgICAgICBjb25maWdfZmlsZV9wYXRoID0gY2hlY2tz
dm5jb25maWdmaWxlLmNvbmZpZ19maWxlX3BhdGgoc2VsZi5faG9zdCwgc2VsZi5fZnMpCiAKICAg
ICAgICAgICAgICAgICBpZiBmaWxlX21pc3Npbmc6Ci0gICAgICAgICAgICAgICAgICAgIGxvZygi
VGhlcmUgaXMgbm8gU1ZOIGNvbmZpZyBmaWxlLiBUaGUgc3ZuOm1pbWUtdHlwZSBvZiBwbmdzIHdv
bid0IHNldC4iKQorICAgICAgICAgICAgICAgICAgICBfbG9nLmluZm8oIlRoZXJlIGlzIG5vIFNW
TiBjb25maWcgZmlsZS4gVGhlIHN2bjptaW1lLXR5cGUgb2YgcG5ncyB3b24ndCBzZXQuIikKICAg
ICAgICAgICAgICAgICAgICAgaWYgbm90IHNlbGYuX3Rvb2wudXNlci5jb25maXJtKCJBcmUgeW91
IHN1cmUgeW91IHdhbnQgdG8gY29udGludWU/IiwgZGVmYXVsdD0ibiIpOgogICAgICAgICAgICAg
ICAgICAgICAgICAgc2VsZi5fZXhpdCgxKQogICAgICAgICAgICAgICAgIGVsaWYgYXV0b3Byb3Bf
bWlzc2luZyBhbmQgcG5nX21pc3Npbmc6Ci0gICAgICAgICAgICAgICAgICAgIGxvZyhjaGVja3N2
bmNvbmZpZ2ZpbGUuZXJyb3JzdHJfYXV0b3Byb3AoY29uZmlnX2ZpbGVfcGF0aCkgKyBjaGVja3N2
bmNvbmZpZ2ZpbGUuZXJyb3JzdHJfcG5nKGNvbmZpZ19maWxlX3BhdGgpKQorICAgICAgICAgICAg
ICAgICAgICBfbG9nLmluZm8oY2hlY2tzdm5jb25maWdmaWxlLmVycm9yc3RyX2F1dG9wcm9wKGNv
bmZpZ19maWxlX3BhdGgpICsgY2hlY2tzdm5jb25maWdmaWxlLmVycm9yc3RyX3BuZyhjb25maWdf
ZmlsZV9wYXRoKSkKICAgICAgICAgICAgICAgICAgICAgaWYgbm90IHNlbGYuX3Rvb2wudXNlci5j
b25maXJtKCJEbyB5b3Ugd2FudCB0byBjb250aW51ZT8iLCBkZWZhdWx0PSJuIik6CiAgICAgICAg
ICAgICAgICAgICAgICAgICBzZWxmLl9leGl0KDEpCiAgICAgICAgICAgICAgICAgZWxpZiBhdXRv
cHJvcF9taXNzaW5nOgotICAgICAgICAgICAgICAgICAgICBsb2coY2hlY2tzdm5jb25maWdmaWxl
LmVycm9yc3RyX2F1dG9wcm9wKGNvbmZpZ19maWxlX3BhdGgpKQorICAgICAgICAgICAgICAgICAg
ICBfbG9nLmluZm8oY2hlY2tzdm5jb25maWdmaWxlLmVycm9yc3RyX2F1dG9wcm9wKGNvbmZpZ19m
aWxlX3BhdGgpKQogICAgICAgICAgICAgICAgICAgICBpZiBub3Qgc2VsZi5fdG9vbC51c2VyLmNv
bmZpcm0oIkRvIHlvdSB3YW50IHRvIGNvbnRpbnVlPyIsIGRlZmF1bHQ9Im4iKToKICAgICAgICAg
ICAgICAgICAgICAgICAgIHNlbGYuX2V4aXQoMSkKICAgICAgICAgICAgICAgICBlbGlmIHBuZ19t
aXNzaW5nOgotICAgICAgICAgICAgICAgICAgICBsb2coY2hlY2tzdm5jb25maWdmaWxlLmVycm9y
c3RyX3BuZyhjb25maWdfZmlsZV9wYXRoKSkKKyAgICAgICAgICAgICAgICAgICAgX2xvZy5pbmZv
KGNoZWNrc3ZuY29uZmlnZmlsZS5lcnJvcnN0cl9wbmcoY29uZmlnX2ZpbGVfcGF0aCkpCiAgICAg
ICAgICAgICAgICAgICAgIGlmIG5vdCBzZWxmLl90b29sLnVzZXIuY29uZmlybSgiRG8geW91IHdh
bnQgdG8gY29udGludWU/IiwgZGVmYXVsdD0ibiIpOgogICAgICAgICAgICAgICAgICAgICAgICAg
c2VsZi5fZXhpdCgxKQogCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wv
c3RlcHMvYXBwbHlwYXRjaC5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9zdGVwcy9h
cHBseXBhdGNoLnB5CmluZGV4IDVjMzYxNjlmZDdjZjYyYzZjMWRjNjFiYWFjOTU4Y2QyZWJmMmU0
YjUuLjUwZWUxZjdlZDViZmIxYWM4YWIxZDUxZjQwMjdjODhjMDk1YWI4MWMgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9zdGVwcy9hcHBseXBhdGNoLnB5CisrKyBiL1Rv
b2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9zdGVwcy9hcHBseXBhdGNoLnB5CkBAIC0yNiw5ICsy
NiwxMyBAQAogIyAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKICMgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KIAoraW1wb3J0IGxvZ2dpbmcK
KwogZnJvbSB3ZWJraXRweS50b29sLnN0ZXBzLmFic3RyYWN0c3RlcCBpbXBvcnQgQWJzdHJhY3RT
dGVwCiBmcm9tIHdlYmtpdHB5LnRvb2wuc3RlcHMub3B0aW9ucyBpbXBvcnQgT3B0aW9ucwotZnJv
bSB3ZWJraXRweS5jb21tb24uc3lzdGVtLmRlcHJlY2F0ZWRfbG9nZ2luZyBpbXBvcnQgbG9nCisK
K19sb2cgPSBsb2dnaW5nLmdldExvZ2dlcihfX25hbWVfXykKKwogCiBjbGFzcyBBcHBseVBhdGNo
KEFic3RyYWN0U3RlcCk6CiAgICAgQGNsYXNzbWV0aG9kCkBAIC0zOCw1ICs0Miw1IEBAIGNsYXNz
IEFwcGx5UGF0Y2goQWJzdHJhY3RTdGVwKToKICAgICAgICAgXQogCiAgICAgZGVmIHJ1bihzZWxm
LCBzdGF0ZSk6Ci0gICAgICAgIGxvZygiUHJvY2Vzc2luZyBwYXRjaCAlcyBmcm9tIGJ1ZyAlcy4i
ICUgKHN0YXRlWyJwYXRjaCJdLmlkKCksIHN0YXRlWyJwYXRjaCJdLmJ1Z19pZCgpKSkKKyAgICAg
ICAgX2xvZy5pbmZvKCJQcm9jZXNzaW5nIHBhdGNoICVzIGZyb20gYnVnICVzLiIgJSAoc3RhdGVb
InBhdGNoIl0uaWQoKSwgc3RhdGVbInBhdGNoIl0uYnVnX2lkKCkpKQogICAgICAgICBzZWxmLl90
b29sLmNoZWNrb3V0KCkuYXBwbHlfcGF0Y2goc3RhdGVbInBhdGNoIl0pCmRpZmYgLS1naXQgYS9U
b29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvc3RlcHMvYnVpbGQucHkgYi9Ub29scy9TY3JpcHRz
L3dlYmtpdHB5L3Rvb2wvc3RlcHMvYnVpbGQucHkKaW5kZXggN2Y3ZGQ5ZjM2ZTU4ZTIyOTdjYTQw
OWQ5MTEwYjFlNzliOWEwMzkwYS4uYTJhNjI3MjI5MTlmNmJmOWNlZDMyMGI3MmE1N2JjZWZiYzFk
YmQwZiAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL3N0ZXBzL2J1aWxk
LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9zdGVwcy9idWlsZC5weQpAQCAt
MjYsOSArMjYsMTIgQEAKICMgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCiAjIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAKK2ltcG9ydCBs
b2dnaW5nCisKIGZyb20gd2Via2l0cHkudG9vbC5zdGVwcy5hYnN0cmFjdHN0ZXAgaW1wb3J0IEFi
c3RyYWN0U3RlcAogZnJvbSB3ZWJraXRweS50b29sLnN0ZXBzLm9wdGlvbnMgaW1wb3J0IE9wdGlv
bnMKLWZyb20gd2Via2l0cHkuY29tbW9uLnN5c3RlbS5kZXByZWNhdGVkX2xvZ2dpbmcgaW1wb3J0
IGxvZworCitfbG9nID0gbG9nZ2luZy5nZXRMb2dnZXIoX19uYW1lX18pCiAKIAogY2xhc3MgQnVp
bGQoQWJzdHJhY3RTdGVwKToKQEAgLTUyLDcgKzU1LDcgQEAgY2xhc3MgQnVpbGQoQWJzdHJhY3RT
dGVwKToKICAgICBkZWYgcnVuKHNlbGYsIHN0YXRlKToKICAgICAgICAgaWYgbm90IHNlbGYuX29w
dGlvbnMuYnVpbGQ6CiAgICAgICAgICAgICByZXR1cm4KLSAgICAgICAgbG9nKCJCdWlsZGluZyBX
ZWJLaXQiKQorICAgICAgICBfbG9nLmluZm8oIkJ1aWxkaW5nIFdlYktpdCIpCiAgICAgICAgIGlm
IHNlbGYuX29wdGlvbnMuYnVpbGRfc3R5bGUgPT0gImJvdGgiOgogICAgICAgICAgICAgc2VsZi5i
dWlsZCgiZGVidWciKQogICAgICAgICAgICAgc2VsZi5idWlsZCgicmVsZWFzZSIpCmRpZmYgLS1n
aXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvc3RlcHMvY2hlY2tzdHlsZS5weSBiL1Rv
b2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9zdGVwcy9jaGVja3N0eWxlLnB5CmluZGV4IDMzMDRm
MDE2Zjg2ZTY4NDVkNThlNjk1ODc3MDM2YTg2YmI3NDBiYzIuLjBjYjE1ZjRjMTExYzAwZGE5MzQx
NDE0MDFjZjQzMWFkMDk5ZGNiNzcgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkv
dG9vbC9zdGVwcy9jaGVja3N0eWxlLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9v
bC9zdGVwcy9jaGVja3N0eWxlLnB5CkBAIC0yOSw3ICsyOSw2IEBACiBmcm9tIHdlYmtpdHB5LmNv
bW1vbi5zeXN0ZW0uZXhlY3V0aXZlIGltcG9ydCBTY3JpcHRFcnJvcgogZnJvbSB3ZWJraXRweS50
b29sLnN0ZXBzLmFic3RyYWN0c3RlcCBpbXBvcnQgQWJzdHJhY3RTdGVwCiBmcm9tIHdlYmtpdHB5
LnRvb2wuc3RlcHMub3B0aW9ucyBpbXBvcnQgT3B0aW9ucwotZnJvbSB3ZWJraXRweS5jb21tb24u
c3lzdGVtLmRlcHJlY2F0ZWRfbG9nZ2luZyBpbXBvcnQgZXJyb3IKIAogY2xhc3MgQ2hlY2tTdHls
ZShBYnN0cmFjdFN0ZXApOgogICAgIEBjbGFzc21ldGhvZApkaWZmIC0tZ2l0IGEvVG9vbHMvU2Ny
aXB0cy93ZWJraXRweS90b29sL3N0ZXBzL2Nsb3NlYnVnLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJr
aXRweS90b29sL3N0ZXBzL2Nsb3NlYnVnLnB5CmluZGV4IGIzM2UzNzNiZjkyNGM3NmE1NWIyZTQy
NWY1NzI2YTM3YjhkMTJjNDIuLmU1OGJlNTQ2ODIwYmY1MzY4MWRlODZmZTg0ODk2N2RkODgyZGNh
ZTAgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9zdGVwcy9jbG9zZWJ1
Zy5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvc3RlcHMvY2xvc2VidWcucHkK
QEAgLTI2LDkgKzI2LDEyIEBACiAjIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQogIyBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogCitpbXBv
cnQgbG9nZ2luZworCiBmcm9tIHdlYmtpdHB5LnRvb2wuc3RlcHMuYWJzdHJhY3RzdGVwIGltcG9y
dCBBYnN0cmFjdFN0ZXAKIGZyb20gd2Via2l0cHkudG9vbC5zdGVwcy5vcHRpb25zIGltcG9ydCBP
cHRpb25zCi1mcm9tIHdlYmtpdHB5LmNvbW1vbi5zeXN0ZW0uZGVwcmVjYXRlZF9sb2dnaW5nIGlt
cG9ydCBsb2cKKworX2xvZyA9IGxvZ2dpbmcuZ2V0TG9nZ2VyKF9fbmFtZV9fKQogCiAKIGNsYXNz
IENsb3NlQnVnKEFic3RyYWN0U3RlcCk6CkBAIC00OCw2ICs1MSw2IEBAIGNsYXNzIENsb3NlQnVn
KEFic3RyYWN0U3RlcCk6CiAgICAgICAgIHBhdGNoZXMgPSBzZWxmLl90b29sLmJ1Z3MuZmV0Y2hf
YnVnKHN0YXRlWyJwYXRjaCJdLmJ1Z19pZCgpKS5wYXRjaGVzKCkKICAgICAgICAgZm9yIHBhdGNo
IGluIHBhdGNoZXM6CiAgICAgICAgICAgICBpZiBwYXRjaC5yZXZpZXcoKSA9PSAiPyIgb3IgcGF0
Y2gucmV2aWV3KCkgPT0gIisiOgotICAgICAgICAgICAgICAgIGxvZygiTm90IGNsb3NpbmcgYnVn
ICVzIGFzIGF0dGFjaG1lbnQgJXMgaGFzIHJldmlldz0lcy4gIEFzc3VtaW5nIHRoZXJlIGFyZSBt
b3JlIHBhdGNoZXMgdG8gbGFuZCBmcm9tIHRoaXMgYnVnLiIgJSAocGF0Y2guYnVnX2lkKCksIHBh
dGNoLmlkKCksIHBhdGNoLnJldmlldygpKSkKKyAgICAgICAgICAgICAgICBfbG9nLmluZm8oIk5v
dCBjbG9zaW5nIGJ1ZyAlcyBhcyBhdHRhY2htZW50ICVzIGhhcyByZXZpZXc9JXMuICBBc3N1bWlu
ZyB0aGVyZSBhcmUgbW9yZSBwYXRjaGVzIHRvIGxhbmQgZnJvbSB0aGlzIGJ1Zy4iICUgKHBhdGNo
LmJ1Z19pZCgpLCBwYXRjaC5pZCgpLCBwYXRjaC5yZXZpZXcoKSkpCiAgICAgICAgICAgICAgICAg
cmV0dXJuCiAgICAgICAgIHNlbGYuX3Rvb2wuYnVncy5jbG9zZV9idWdfYXNfZml4ZWQoc3RhdGVb
InBhdGNoIl0uYnVnX2lkKCksICJBbGwgcmV2aWV3ZWQgcGF0Y2hlcyBoYXZlIGJlZW4gbGFuZGVk
LiAgQ2xvc2luZyBidWcuIikKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9v
bC9zdGVwcy9jbG9zZWJ1Z2ZvcmxhbmRkaWZmLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90
b29sL3N0ZXBzL2Nsb3NlYnVnZm9ybGFuZGRpZmYucHkKaW5kZXggZTVhNjhkYmYxOTgyYzdlNmYx
NzcxMThiMDBhMDEwNDk2ZjFkZGNhZi4uMTY2MmQ2YTVkNDg4N2JlNjVkNjY2YWIxZTg5MzViYjNm
NDk4ZjMzMCAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL3N0ZXBzL2Ns
b3NlYnVnZm9ybGFuZGRpZmYucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL3N0
ZXBzL2Nsb3NlYnVnZm9ybGFuZGRpZmYucHkKQEAgLTI2LDEwICsyNiwxMyBAQAogIyAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UKICMgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KIAoraW1wb3J0IGxvZ2dpbmcKKwogZnJvbSB3ZWJraXRweS50
b29sLmNvbW1lbnRzIGltcG9ydCBidWdfY29tbWVudF9mcm9tX2NvbW1pdF90ZXh0CiBmcm9tIHdl
YmtpdHB5LnRvb2wuc3RlcHMuYWJzdHJhY3RzdGVwIGltcG9ydCBBYnN0cmFjdFN0ZXAKIGZyb20g
d2Via2l0cHkudG9vbC5zdGVwcy5vcHRpb25zIGltcG9ydCBPcHRpb25zCi1mcm9tIHdlYmtpdHB5
LmNvbW1vbi5zeXN0ZW0uZGVwcmVjYXRlZF9sb2dnaW5nIGltcG9ydCBsb2cKKworX2xvZyA9IGxv
Z2dpbmcuZ2V0TG9nZ2VyKF9fbmFtZV9fKQogCiAKIGNsYXNzIENsb3NlQnVnRm9yTGFuZERpZmYo
QWJzdHJhY3RTdGVwKToKQEAgLTQ2LDcgKzQ5LDcgQEAgY2xhc3MgQ2xvc2VCdWdGb3JMYW5kRGlm
ZihBYnN0cmFjdFN0ZXApOgogICAgICAgICAgICAgYnVnX2lkID0gc3RhdGUuZ2V0KCJwYXRjaCIp
LmJ1Z19pZCgpCiAKICAgICAgICAgaWYgYnVnX2lkOgotICAgICAgICAgICAgbG9nKCJVcGRhdGlu
ZyBidWcgJXMiICUgYnVnX2lkKQorICAgICAgICAgICAgX2xvZy5pbmZvKCJVcGRhdGluZyBidWcg
JXMiICUgYnVnX2lkKQogICAgICAgICAgICAgaWYgc2VsZi5fb3B0aW9ucy5jbG9zZV9idWc6CiAg
ICAgICAgICAgICAgICAgc2VsZi5fdG9vbC5idWdzLmNsb3NlX2J1Z19hc19maXhlZChidWdfaWQs
IGNvbW1lbnRfdGV4dCkKICAgICAgICAgICAgIGVsc2U6CkBAIC01NCw1ICs1Nyw1IEBAIGNsYXNz
IENsb3NlQnVnRm9yTGFuZERpZmYoQWJzdHJhY3RTdGVwKToKICAgICAgICAgICAgICAgICAjIHRv
IHRoZSBidWcsIGFuZCBpZiBzbyBvYnNvbGV0ZSBpdC4KICAgICAgICAgICAgICAgICBzZWxmLl90
b29sLmJ1Z3MucG9zdF9jb21tZW50X3RvX2J1ZyhidWdfaWQsIGNvbW1lbnRfdGV4dCkKICAgICAg
ICAgZWxzZToKLSAgICAgICAgICAgIGxvZyhjb21tZW50X3RleHQpCi0gICAgICAgICAgICBsb2co
Ik5vIGJ1ZyBpZCBwcm92aWRlZC4iKQorICAgICAgICAgICAgX2xvZy5pbmZvKGNvbW1lbnRfdGV4
dCkKKyAgICAgICAgICAgIF9sb2cuaW5mbygiTm8gYnVnIGlkIHByb3ZpZGVkLiIpCmRpZmYgLS1n
aXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvc3RlcHMvY2xvc2VidWdmb3JsYW5kZGlm
Zl91bml0dGVzdC5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9zdGVwcy9jbG9zZWJ1
Z2ZvcmxhbmRkaWZmX3VuaXR0ZXN0LnB5CmluZGV4IDBhNTY1NjRkZGFjYjlkMDE1ZTBhNzIwMGFm
MDM3MWRmNTBmZjllNTkuLjY5NjljNGU5YTIzMGU0NDdmZmQ4MDViYjVlZjYyM2I2YmQ0OTI0MTIg
MTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9zdGVwcy9jbG9zZWJ1Z2Zv
cmxhbmRkaWZmX3VuaXR0ZXN0LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9z
dGVwcy9jbG9zZWJ1Z2ZvcmxhbmRkaWZmX3VuaXR0ZXN0LnB5CkBAIC0zNiw1ICszNiw1IEBAIGNs
YXNzIENsb3NlQnVnRm9yTGFuZERpZmZUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICBkZWYg
dGVzdF9lbXB0eV9zdGF0ZShzZWxmKToKICAgICAgICAgY2FwdHVyZSA9IE91dHB1dENhcHR1cmUo
KQogICAgICAgICBzdGVwID0gQ2xvc2VCdWdGb3JMYW5kRGlmZihNb2NrVG9vbCgpLCBNb2NrT3B0
aW9ucygpKQotICAgICAgICBleHBlY3RlZF9zdGRlcnIgPSAiQ29tbWl0dGVkIHI0OTgyNDogPGh0
dHA6Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0LzQ5ODI0PlxuTm8gYnVnIGlkIHByb3ZpZGVk
LlxuIgotICAgICAgICBjYXB0dXJlLmFzc2VydF9vdXRwdXRzKHNlbGYsIHN0ZXAucnVuLCBbeyJj
b21taXRfdGV4dCIgOiAiTW9jayBjb21taXQgdGV4dCJ9XSwgZXhwZWN0ZWRfc3RkZXJyPWV4cGVj
dGVkX3N0ZGVycikKKyAgICAgICAgZXhwZWN0ZWRfbG9ncyA9ICJDb21taXR0ZWQgcjQ5ODI0OiA8
aHR0cDovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvNDk4MjQ+XG5ObyBidWcgaWQgcHJvdmlk
ZWQuXG4iCisgICAgICAgIGNhcHR1cmUuYXNzZXJ0X291dHB1dHMoc2VsZiwgc3RlcC5ydW4sIFt7
ImNvbW1pdF90ZXh0IjogIk1vY2sgY29tbWl0IHRleHQifV0sIGV4cGVjdGVkX2xvZ3M9ZXhwZWN0
ZWRfbG9ncykKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9zdGVwcy9j
b21taXQucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvc3RlcHMvY29tbWl0LnB5Cmlu
ZGV4IDBlNWNhOTE1N2FkMTlkYmM2OWY5ODYwZDY2NmE5MDZmMDNlNjQzZTYuLjJiZmZhNGMyYWFh
NzkwMWFlYzU1MmE5ODQyM2FkYmUwMTdmNjE4ZWUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cHkvdG9vbC9zdGVwcy9jb21taXQucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS90b29sL3N0ZXBzL2NvbW1pdC5weQpAQCAtMjYsMTYgKzI2LDE4IEBACiAjIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RQogIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgogCitpbXBvcnQgbG9nZ2luZwogaW1wb3J0IHN5cwogCiBmcm9tIHdl
YmtpdHB5LmNvbW1vbi5jaGVja291dC5zY20gaW1wb3J0IEF1dGhlbnRpY2F0aW9uRXJyb3IsIEFt
YmlndW91c0NvbW1pdEVycm9yCiBmcm9tIHdlYmtpdHB5LmNvbW1vbi5jb25maWcgaW1wb3J0IHVy
bHMKLWZyb20gd2Via2l0cHkuY29tbW9uLnN5c3RlbS5kZXByZWNhdGVkX2xvZ2dpbmcgaW1wb3J0
IGxvZwogZnJvbSB3ZWJraXRweS5jb21tb24uc3lzdGVtLmV4ZWN1dGl2ZSBpbXBvcnQgU2NyaXB0
RXJyb3IKIGZyb20gd2Via2l0cHkuY29tbW9uLnN5c3RlbS51c2VyIGltcG9ydCBVc2VyCiBmcm9t
IHdlYmtpdHB5LnRvb2wuc3RlcHMuYWJzdHJhY3RzdGVwIGltcG9ydCBBYnN0cmFjdFN0ZXAKIGZy
b20gd2Via2l0cHkudG9vbC5zdGVwcy5vcHRpb25zIGltcG9ydCBPcHRpb25zCiAKK19sb2cgPSBs
b2dnaW5nLmdldExvZ2dlcihfX25hbWVfXykKKwogCiBjbGFzcyBDb21taXQoQWJzdHJhY3RTdGVw
KToKICAgICAjIEZJWE1FOiBUaGlzIG9wdGlvbiBleGlzdHMgb25seSB0byBtYWtlIHN1cmUgd2Ug
ZG9uJ3QgYnJlYWsgc2NyaXB0cyB3aGljaCBpbmNsdWRlIC0taWdub3JlLWJ1aWxkZXJzCkBAIC04
OSw3ICs5MSw3IEBAIGNsYXNzIENvbW1pdChBYnN0cmFjdFN0ZXApOgogICAgICAgICAgICAgICAg
IHNjbSA9IHNlbGYuX3Rvb2wuc2NtKCkKICAgICAgICAgICAgICAgICBjb21taXRfdGV4dCA9IHNj
bS5jb21taXRfd2l0aF9tZXNzYWdlKHNlbGYuX2NvbW1pdF9tZXNzYWdlLCBnaXRfY29tbWl0PXNl
bGYuX29wdGlvbnMuZ2l0X2NvbW1pdCwgdXNlcm5hbWU9dXNlcm5hbWUsIHBhc3N3b3JkPXBhc3N3
b3JkLCBmb3JjZV9zcXVhc2g9Zm9yY2Vfc3F1YXNoLCBjaGFuZ2VkX2ZpbGVzPXNlbGYuX2NoYW5n
ZWRfZmlsZXMoc3RhdGUpKQogICAgICAgICAgICAgICAgIHN2bl9yZXZpc2lvbiA9IHNjbS5zdm5f
cmV2aXNpb25fZnJvbV9jb21taXRfdGV4dChjb21taXRfdGV4dCkKLSAgICAgICAgICAgICAgICBs
b2coIkNvbW1pdHRlZCByJXM6IDwlcz4iICUgKHN2bl9yZXZpc2lvbiwgdXJscy52aWV3X3Jldmlz
aW9uX3VybChzdm5fcmV2aXNpb24pKSkKKyAgICAgICAgICAgICAgICBfbG9nLmluZm8oIkNvbW1p
dHRlZCByJXM6IDwlcz4iICUgKHN2bl9yZXZpc2lvbiwgdXJscy52aWV3X3JldmlzaW9uX3VybChz
dm5fcmV2aXNpb24pKSkKICAgICAgICAgICAgICAgICBzZWxmLl9zdGF0ZVsiY29tbWl0X3RleHQi
XSA9IGNvbW1pdF90ZXh0CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICBleGNl
cHQgQW1iaWd1b3VzQ29tbWl0RXJyb3IsIGU6CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dl
YmtpdHB5L3Rvb2wvc3RlcHMvY29tbWl0X3VuaXR0ZXN0LnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJr
aXRweS90b29sL3N0ZXBzL2NvbW1pdF91bml0dGVzdC5weQppbmRleCAyNWQ5YjYxYTE0OTFjZjgy
Y2QyYjNmOGVmYzEyNTIxZWFhNDI3N2ZkLi5kMTM5YzYzYzY0OWZmMDQzNGU0NGNkODBlOTBmODc1
NmU0YWQxYTkzIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvc3RlcHMv
Y29tbWl0X3VuaXR0ZXN0LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9zdGVw
cy9jb21taXRfdW5pdHRlc3QucHkKQEAgLTUwLDEzICs1MCwxMyBAQCBjbGFzcyBDb21taXRUZXN0
KHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAgICAgfQogCiAgICAgICAgIHRvb2wuZXhlY3V0aXZl
ID0gTW9ja0V4ZWN1dGl2ZShzaG91bGRfbG9nPVRydWUsIHNob3VsZF90aHJvd193aGVuX3J1bj1G
YWxzZSkKLSAgICAgICAgY2FwdHVyZS5hc3NlcnRfb3V0cHV0cyhzZWxmLCBzdGVwLnJ1biwgW3N0
YXRlXSwgZXhwZWN0ZWRfc3RkZXJyPSJDb21taXR0ZWQgcjQ5ODI0OiA8aHR0cDovL3RyYWMud2Vi
a2l0Lm9yZy9jaGFuZ2VzZXQvNDk4MjQ+XG4iKQorICAgICAgICBjYXB0dXJlLmFzc2VydF9vdXRw
dXRzKHNlbGYsIHN0ZXAucnVuLCBbc3RhdGVdLCBleHBlY3RlZF9sb2dzPSJDb21taXR0ZWQgcjQ5
ODI0OiA8aHR0cDovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvNDk4MjQ+XG4iKQogCiAgICAg
ICAgIHN0YXRlID0gewogICAgICAgICAgICAgImNoYW5nZWRfZmlsZXMiOiBbInBsYXRmb3JtL2No
cm9taXVtLyIgKyBmaWxlbmFtZV0sCiAgICAgICAgIH0KICAgICAgICAgY2FwdHVyZS5hc3NlcnRf
b3V0cHV0cyhzZWxmLCBzdGVwLnJ1biwgW3N0YXRlXSwgZXhwZWN0ZWRfc3RkZXJyPSJNT0NLIHJ1
bl9hbmRfdGhyb3dfaWZfZmFpbDogWydtb2NrLWNoZWNrLXdlYmtpdC1zdHlsZScsICctLWRpZmYt
ZmlsZXMnLCAncGxhdGZvcm0vY2hyb21pdW0vIgotICAgICAgICAgICAgKyBmaWxlbmFtZSArICIn
XSwgY3dkPS9tb2NrLWNoZWNrb3V0XG5Db21taXR0ZWQgcjQ5ODI0OiA8aHR0cDovL3RyYWMud2Vi
a2l0Lm9yZy9jaGFuZ2VzZXQvNDk4MjQ+XG4iKQorICAgICAgICAgICAgKyBmaWxlbmFtZSArICIn
XSwgY3dkPS9tb2NrLWNoZWNrb3V0XG4iLCBleHBlY3RlZF9sb2dzPSJDb21taXR0ZWQgcjQ5ODI0
OiA8aHR0cDovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvNDk4MjQ+XG4iKQogCiAgICAgICAg
IHRvb2wuZXhlY3V0aXZlID0gTW9ja0V4ZWN1dGl2ZShzaG91bGRfbG9nPVRydWUsIHNob3VsZF90
aHJvd193aGVuX3J1bj1zZXQoWyJwbGF0Zm9ybS9jaHJvbWl1bS8iICsgZmlsZW5hbWVdKSkKICAg
ICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoU2NyaXB0RXJyb3IsIGNhcHR1cmUuYXNzZXJ0X291dHB1
dHMsIHNlbGYsIHN0ZXAucnVuLCBbc3RhdGVdKQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93
ZWJraXRweS90b29sL3N0ZXBzL2Vuc3VyZWxvY2FsY29tbWl0aWZuZWVkZWQucHkgYi9Ub29scy9T
Y3JpcHRzL3dlYmtpdHB5L3Rvb2wvc3RlcHMvZW5zdXJlbG9jYWxjb21taXRpZm5lZWRlZC5weQpp
bmRleCAyMTY3MzUxZTI4MjRmNTc4ZGJhYzIxMTliODVkNGY1NGYzOTI1Mjc3Li43NzhkN2FlNTZk
M2EwMmZkNDZhZDI4OWNjMjgxYzc5MTkxZmY1Y2U0IDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRz
L3dlYmtpdHB5L3Rvb2wvc3RlcHMvZW5zdXJlbG9jYWxjb21taXRpZm5lZWRlZC5weQorKysgYi9U
b29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvc3RlcHMvZW5zdXJlbG9jYWxjb21taXRpZm5lZWRl
ZC5weQpAQCAtMjYsOSArMjYsMTMgQEAKICMgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCiAjIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAK
K2ltcG9ydCBsb2dnaW5nCitpbXBvcnQgc3lzCisKIGZyb20gd2Via2l0cHkudG9vbC5zdGVwcy5h
YnN0cmFjdHN0ZXAgaW1wb3J0IEFic3RyYWN0U3RlcAogZnJvbSB3ZWJraXRweS50b29sLnN0ZXBz
Lm9wdGlvbnMgaW1wb3J0IE9wdGlvbnMKLWZyb20gd2Via2l0cHkuY29tbW9uLnN5c3RlbS5kZXBy
ZWNhdGVkX2xvZ2dpbmcgaW1wb3J0IGVycm9yCisKK19sb2cgPSBsb2dnaW5nLmdldExvZ2dlcihf
X25hbWVfXykKIAogCiBjbGFzcyBFbnN1cmVMb2NhbENvbW1pdElmTmVlZGVkKEFic3RyYWN0U3Rl
cCk6CkBAIC00MCw0ICs0NCw1IEBAIGNsYXNzIEVuc3VyZUxvY2FsQ29tbWl0SWZOZWVkZWQoQWJz
dHJhY3RTdGVwKToKIAogICAgIGRlZiBydW4oc2VsZiwgc3RhdGUpOgogICAgICAgICBpZiBzZWxm
Ll9vcHRpb25zLmxvY2FsX2NvbW1pdCBhbmQgbm90IHNlbGYuX3Rvb2wuc2NtKCkuc3VwcG9ydHNf
bG9jYWxfY29tbWl0cygpOgotICAgICAgICAgICAgZXJyb3IoIi0tbG9jYWwtY29tbWl0IHBhc3Nl
ZCwgYnV0ICVzIGRvZXMgbm90IHN1cHBvcnQgbG9jYWwgY29tbWl0cyIgJSBzZWxmLl90b29sLnNj
bSgpLmRpc3BsYXlfbmFtZSgpKQorICAgICAgICAgICAgX2xvZy5lcnJvcigiLS1sb2NhbC1jb21t
aXQgcGFzc2VkLCBidXQgJXMgZG9lcyBub3Qgc3VwcG9ydCBsb2NhbCBjb21taXRzIiAlIHNlbGYu
X3Rvb2wuc2NtKCkuZGlzcGxheV9uYW1lKCkpCisgICAgICAgICAgICBzeXMuZXhpdCgxKQpkaWZm
IC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL3N0ZXBzL29ic29sZXRlcGF0Y2hl
cy5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9zdGVwcy9vYnNvbGV0ZXBhdGNoZXMu
cHkKaW5kZXggZGU1MDhjNmNjNDA5NWI3MzU0MjcwZDY2ZDZkNWE3ZmFkMjBlMjkyYy4uZGZlZDk1
OWNiOTNiZGYwNGMwZTZjMTJlMzUwOWM3YjU4YzZiNTUwYyAxMDA2NDQKLS0tIGEvVG9vbHMvU2Ny
aXB0cy93ZWJraXRweS90b29sL3N0ZXBzL29ic29sZXRlcGF0Y2hlcy5weQorKysgYi9Ub29scy9T
Y3JpcHRzL3dlYmtpdHB5L3Rvb2wvc3RlcHMvb2Jzb2xldGVwYXRjaGVzLnB5CkBAIC0yNiwxMCAr
MjYsMTMgQEAKICMgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCiAjIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAKK2ltcG9ydCBsb2dnaW5n
CisKIGZyb20gd2Via2l0cHkudG9vbC5ncmFtbWFyIGltcG9ydCBwbHVyYWxpemUKIGZyb20gd2Vi
a2l0cHkudG9vbC5zdGVwcy5hYnN0cmFjdHN0ZXAgaW1wb3J0IEFic3RyYWN0U3RlcAogZnJvbSB3
ZWJraXRweS50b29sLnN0ZXBzLm9wdGlvbnMgaW1wb3J0IE9wdGlvbnMKLWZyb20gd2Via2l0cHku
Y29tbW9uLnN5c3RlbS5kZXByZWNhdGVkX2xvZ2dpbmcgaW1wb3J0IGxvZworCitfbG9nID0gbG9n
Z2luZy5nZXRMb2dnZXIoX19uYW1lX18pCiAKIAogY2xhc3MgT2Jzb2xldGVQYXRjaGVzKEFic3Ry
YWN0U3RlcCk6CkBAIC00Niw2ICs0OSw2IEBAIGNsYXNzIE9ic29sZXRlUGF0Y2hlcyhBYnN0cmFj
dFN0ZXApOgogICAgICAgICBwYXRjaGVzID0gc2VsZi5fdG9vbC5idWdzLmZldGNoX2J1ZyhidWdf
aWQpLnBhdGNoZXMoKQogICAgICAgICBpZiBub3QgcGF0Y2hlczoKICAgICAgICAgICAgIHJldHVy
bgotICAgICAgICBsb2coIk9ic29sZXRpbmcgJXMgb24gYnVnICVzIiAlIChwbHVyYWxpemUoIm9s
ZCBwYXRjaCIsIGxlbihwYXRjaGVzKSksIGJ1Z19pZCkpCisgICAgICAgIF9sb2cuaW5mbygiT2Jz
b2xldGluZyAlcyBvbiBidWcgJXMiICUgKHBsdXJhbGl6ZSgib2xkIHBhdGNoIiwgbGVuKHBhdGNo
ZXMpKSwgYnVnX2lkKSkKICAgICAgICAgZm9yIHBhdGNoIGluIHBhdGNoZXM6CiAgICAgICAgICAg
ICBzZWxmLl90b29sLmJ1Z3Mub2Jzb2xldGVfYXR0YWNobWVudChwYXRjaC5pZCgpKQpkaWZmIC0t
Z2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL3N0ZXBzL3ByZXBhcmVjaGFuZ2Vsb2cu
cHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvc3RlcHMvcHJlcGFyZWNoYW5nZWxvZy5w
eQppbmRleCAxOWNhYWNlMDExYTlmYTQyNzkxNDcwZjMwZGRlN2ViNTMzZjEwN2IzLi40ZDgwYWI2
MWZjNDA3N2VhOTdiNjRlOTRlOTJhYzcyNzZiNGY4YWQ4IDEwMDY0NAotLS0gYS9Ub29scy9TY3Jp
cHRzL3dlYmtpdHB5L3Rvb2wvc3RlcHMvcHJlcGFyZWNoYW5nZWxvZy5weQorKysgYi9Ub29scy9T
Y3JpcHRzL3dlYmtpdHB5L3Rvb2wvc3RlcHMvcHJlcGFyZWNoYW5nZWxvZy5weQpAQCAtMjYsMTEg
KzI2LDE1IEBACiAjIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQogIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogCitpbXBvcnQgbG9nZ2lu
ZworaW1wb3J0IHN5cworCiBmcm9tIHdlYmtpdHB5LmNvbW1vbi5jaGVja291dC5jaGFuZ2Vsb2cg
aW1wb3J0IENoYW5nZUxvZwogZnJvbSB3ZWJraXRweS5jb21tb24uc3lzdGVtLmV4ZWN1dGl2ZSBp
bXBvcnQgU2NyaXB0RXJyb3IKIGZyb20gd2Via2l0cHkudG9vbC5zdGVwcy5hYnN0cmFjdHN0ZXAg
aW1wb3J0IEFic3RyYWN0U3RlcAogZnJvbSB3ZWJraXRweS50b29sLnN0ZXBzLm9wdGlvbnMgaW1w
b3J0IE9wdGlvbnMKLWZyb20gd2Via2l0cHkuY29tbW9uLnN5c3RlbS5kZXByZWNhdGVkX2xvZ2dp
bmcgaW1wb3J0IGVycm9yCisKK19sb2cgPSBsb2dnaW5nLmdldExvZ2dlcihfX25hbWVfXykKIAog
CiBjbGFzcyBQcmVwYXJlQ2hhbmdlTG9nKEFic3RyYWN0U3RlcCk6CkBAIC03Myw1ICs3Nyw2IEBA
IGNsYXNzIFByZXBhcmVDaGFuZ2VMb2coQWJzdHJhY3RTdGVwKToKICAgICAgICAgdHJ5OgogICAg
ICAgICAgICAgc2VsZi5fdG9vbC5leGVjdXRpdmUucnVuX2FuZF90aHJvd19pZl9mYWlsKGFyZ3Ms
IHNlbGYuX29wdGlvbnMucXVpZXQsIGN3ZD1zZWxmLl90b29sLnNjbSgpLmNoZWNrb3V0X3Jvb3Qp
CiAgICAgICAgIGV4Y2VwdCBTY3JpcHRFcnJvciwgZToKLSAgICAgICAgICAgIGVycm9yKCJVbmFi
bGUgdG8gcHJlcGFyZSBDaGFuZ2VMb2dzLiIpCisgICAgICAgICAgICBfbG9nLmVycm9yKCJVbmFi
bGUgdG8gcHJlcGFyZSBDaGFuZ2VMb2dzLiIpCisgICAgICAgICAgICBzeXMuZXhpdCgxKQogICAg
ICAgICBzZWxmLmRpZF9tb2RpZnlfY2hlY2tvdXQoc3RhdGUpCmRpZmYgLS1naXQgYS9Ub29scy9T
Y3JpcHRzL3dlYmtpdHB5L3Rvb2wvc3RlcHMvcmVvcGVuYnVnYWZ0ZXJyb2xsb3V0LnB5IGIvVG9v
bHMvU2NyaXB0cy93ZWJraXRweS90b29sL3N0ZXBzL3Jlb3BlbmJ1Z2FmdGVycm9sbG91dC5weQpp
bmRleCBmMzY5Y2E5MjU0MjM0ODlkYTY2Zjg1MmQ2OWE3NmZjNjdlZThlNWYzLi4zOTM4OGY2MmUw
OWUyMzI2MWE1M2QwMTU1NzA0YzdlNTZjYTczZGMzIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRz
L3dlYmtpdHB5L3Rvb2wvc3RlcHMvcmVvcGVuYnVnYWZ0ZXJyb2xsb3V0LnB5CisrKyBiL1Rvb2xz
L1NjcmlwdHMvd2Via2l0cHkvdG9vbC9zdGVwcy9yZW9wZW5idWdhZnRlcnJvbGxvdXQucHkKQEAg
LTI2LDkgKzI2LDEyIEBACiAjIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQogIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogCitpbXBvcnQg
bG9nZ2luZworCiBmcm9tIHdlYmtpdHB5LnRvb2wuY29tbWVudHMgaW1wb3J0IGJ1Z19jb21tZW50
X2Zyb21fY29tbWl0X3RleHQKIGZyb20gd2Via2l0cHkudG9vbC5zdGVwcy5hYnN0cmFjdHN0ZXAg
aW1wb3J0IEFic3RyYWN0U3RlcAotZnJvbSB3ZWJraXRweS5jb21tb24uc3lzdGVtLmRlcHJlY2F0
ZWRfbG9nZ2luZyBpbXBvcnQgbG9nCisKK19sb2cgPSBsb2dnaW5nLmdldExvZ2dlcihfX25hbWVf
XykKIAogCiBjbGFzcyBSZW9wZW5CdWdBZnRlclJvbGxvdXQoQWJzdHJhY3RTdGVwKToKQEAgLTM4
LDcgKzQxLDcgQEAgY2xhc3MgUmVvcGVuQnVnQWZ0ZXJSb2xsb3V0KEFic3RyYWN0U3RlcCk6CiAK
ICAgICAgICAgYnVnX2lkID0gc3RhdGVbImJ1Z19pZCJdCiAgICAgICAgIGlmIG5vdCBidWdfaWQ6
Ci0gICAgICAgICAgICBsb2coY29tbWVudF90ZXh0KQotICAgICAgICAgICAgbG9nKCJObyBidWdz
IHdlcmUgdXBkYXRlZC4iKQorICAgICAgICAgICAgX2xvZy5pbmZvKGNvbW1lbnRfdGV4dCkKKyAg
ICAgICAgICAgIF9sb2cuaW5mbygiTm8gYnVncyB3ZXJlIHVwZGF0ZWQuIikKICAgICAgICAgICAg
IHJldHVybgogICAgICAgICBzZWxmLl90b29sLmJ1Z3MucmVvcGVuX2J1ZyhidWdfaWQsIGNvbW1l
bnRfdGV4dCkKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9zdGVwcy9y
dW50ZXN0cy5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9zdGVwcy9ydW50ZXN0cy5w
eQppbmRleCBhYTg3MjkxMjMwYmFmOGFjMzM3OTAwYTg1MGZiY2I3ZjExODE4OGEyLi42ZGM5MGY5
MmM3OTU3NzJiMzM5N2FhN2MxN2RhNjkyODEwYjA4Y2VkIDEwMDY0NAotLS0gYS9Ub29scy9TY3Jp
cHRzL3dlYmtpdHB5L3Rvb2wvc3RlcHMvcnVudGVzdHMucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93
ZWJraXRweS90b29sL3N0ZXBzL3J1bnRlc3RzLnB5CkBAIC0yNiwxMSArMjYsMTQgQEAKICMgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFCiAjIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAKK2ltcG9ydCBsb2dnaW5nCisKIGZyb20gd2Via2l0
cHkudG9vbC5zdGVwcy5hYnN0cmFjdHN0ZXAgaW1wb3J0IEFic3RyYWN0U3RlcAogZnJvbSB3ZWJr
aXRweS50b29sLnN0ZXBzLm9wdGlvbnMgaW1wb3J0IE9wdGlvbnMKLWZyb20gd2Via2l0cHkuY29t
bW9uLnN5c3RlbS5kZXByZWNhdGVkX2xvZ2dpbmcgaW1wb3J0IGxvZwogZnJvbSB3ZWJraXRweS5j
b21tb24uc3lzdGVtLmV4ZWN1dGl2ZSBpbXBvcnQgU2NyaXB0RXJyb3IKIAorX2xvZyA9IGxvZ2dp
bmcuZ2V0TG9nZ2VyKF9fbmFtZV9fKQorCiBjbGFzcyBSdW5UZXN0cyhBYnN0cmFjdFN0ZXApOgog
ICAgICMgRklYTUU6IFRoaXMga25vd2xlZGdlIHJlYWxseSBiZWxvbmdzIGluIHRoZSBjb21taXQt
cXVldWUuCiAgICAgTk9OX0lOVEVSQUNUSVZFX0ZBSUxVUkVfTElNSVRfQ09VTlQgPSAzMApAQCAt
NTIsMzEgKzU1LDMxIEBAIGNsYXNzIFJ1blRlc3RzKEFic3RyYWN0U3RlcCk6CiAKICAgICAgICAg
ICAgIHB5dGhvbl91bml0dGVzdHNfY29tbWFuZCA9IHNlbGYuX3Rvb2wucG9ydCgpLnJ1bl9weXRo
b25fdW5pdHRlc3RzX2NvbW1hbmQoKQogICAgICAgICAgICAgaWYgcHl0aG9uX3VuaXR0ZXN0c19j
b21tYW5kOgotICAgICAgICAgICAgICAgIGxvZygiUnVubmluZyBQeXRob24gdW5pdCB0ZXN0cyIp
CisgICAgICAgICAgICAgICAgX2xvZy5pbmZvKCJSdW5uaW5nIFB5dGhvbiB1bml0IHRlc3RzIikK
ICAgICAgICAgICAgICAgICBzZWxmLl90b29sLmV4ZWN1dGl2ZS5ydW5fYW5kX3Rocm93X2lmX2Zh
aWwocHl0aG9uX3VuaXR0ZXN0c19jb21tYW5kLCBjd2Q9c2VsZi5fdG9vbC5zY20oKS5jaGVja291
dF9yb290KQogCiAgICAgICAgICAgICBwZXJsX3VuaXR0ZXN0c19jb21tYW5kID0gc2VsZi5fdG9v
bC5wb3J0KCkucnVuX3BlcmxfdW5pdHRlc3RzX2NvbW1hbmQoKQogICAgICAgICAgICAgaWYgcGVy
bF91bml0dGVzdHNfY29tbWFuZDoKLSAgICAgICAgICAgICAgICBsb2coIlJ1bm5pbmcgUGVybCB1
bml0IHRlc3RzIikKKyAgICAgICAgICAgICAgICBfbG9nLmluZm8oIlJ1bm5pbmcgUGVybCB1bml0
IHRlc3RzIikKICAgICAgICAgICAgICAgICBzZWxmLl90b29sLmV4ZWN1dGl2ZS5ydW5fYW5kX3Ro
cm93X2lmX2ZhaWwocGVybF91bml0dGVzdHNfY29tbWFuZCwgY3dkPXNlbGYuX3Rvb2wuc2NtKCku
Y2hlY2tvdXRfcm9vdCkKIAogICAgICAgICAgICAgamF2YXNjcmlwdGNvcmVfdGVzdHNfY29tbWFu
ZCA9IHNlbGYuX3Rvb2wucG9ydCgpLnJ1bl9qYXZhc2NyaXB0Y29yZV90ZXN0c19jb21tYW5kKCkK
ICAgICAgICAgICAgIGlmIGphdmFzY3JpcHRjb3JlX3Rlc3RzX2NvbW1hbmQ6Ci0gICAgICAgICAg
ICAgICAgbG9nKCJSdW5uaW5nIEphdmFTY3JpcHRDb3JlIHRlc3RzIikKKyAgICAgICAgICAgICAg
ICBfbG9nLmluZm8oIlJ1bm5pbmcgSmF2YVNjcmlwdENvcmUgdGVzdHMiKQogICAgICAgICAgICAg
ICAgIHNlbGYuX3Rvb2wuZXhlY3V0aXZlLnJ1bl9hbmRfdGhyb3dfaWZfZmFpbChqYXZhc2NyaXB0
Y29yZV90ZXN0c19jb21tYW5kLCBxdWlldD1UcnVlLCBjd2Q9c2VsZi5fdG9vbC5zY20oKS5jaGVj
a291dF9yb290KQogCiAgICAgICAgIHdlYmtpdF91bml0X3Rlc3RzX2NvbW1hbmQgPSBzZWxmLl90
b29sLnBvcnQoKS5ydW5fd2Via2l0X3VuaXRfdGVzdHNfY29tbWFuZCgpCiAgICAgICAgIGlmIHdl
YmtpdF91bml0X3Rlc3RzX2NvbW1hbmQ6Ci0gICAgICAgICAgICBsb2coIlJ1bm5pbmcgV2ViS2l0
IHVuaXQgdGVzdHMiKQorICAgICAgICAgICAgX2xvZy5pbmZvKCJSdW5uaW5nIFdlYktpdCB1bml0
IHRlc3RzIikKICAgICAgICAgICAgIGFyZ3MgPSB3ZWJraXRfdW5pdF90ZXN0c19jb21tYW5kCiAg
ICAgICAgICAgICBpZiBzZWxmLl9vcHRpb25zLm5vbl9pbnRlcmFjdGl2ZToKICAgICAgICAgICAg
ICAgICBhcmdzLmFwcGVuZCgiLS1ndGVzdF9vdXRwdXQ9eG1sOiVzL3dlYmtpdF91bml0X3Rlc3Rz
X291dHB1dC54bWwiICUgc2VsZi5fdG9vbC5wb3J0KCkucmVzdWx0c19kaXJlY3RvcnkpCiAgICAg
ICAgICAgICB0cnk6CiAgICAgICAgICAgICAgICAgc2VsZi5fdG9vbC5leGVjdXRpdmUucnVuX2Fu
ZF90aHJvd19pZl9mYWlsKGFyZ3MsIGN3ZD1zZWxmLl90b29sLnNjbSgpLmNoZWNrb3V0X3Jvb3Qp
CiAgICAgICAgICAgICBleGNlcHQgU2NyaXB0RXJyb3IsIGU6Ci0gICAgICAgICAgICAgICAgbG9n
KCJFcnJvciBydW5uaW5nIHdlYmtpdF91bml0X3Rlc3RzOiAlcyIgJSBlLm1lc3NhZ2Vfd2l0aF9v
dXRwdXQoKSkKKyAgICAgICAgICAgICAgICBfbG9nLmluZm8oIkVycm9yIHJ1bm5pbmcgd2Via2l0
X3VuaXRfdGVzdHM6ICVzIiAlIGUubWVzc2FnZV93aXRoX291dHB1dCgpKQogCi0gICAgICAgIGxv
ZygiUnVubmluZyBydW4td2Via2l0LXRlc3RzIikKKyAgICAgICAgX2xvZy5pbmZvKCJSdW5uaW5n
IHJ1bi13ZWJraXQtdGVzdHMiKQogICAgICAgICBhcmdzID0gc2VsZi5fdG9vbC5wb3J0KCkucnVu
X3dlYmtpdF90ZXN0c19jb21tYW5kKCkKICAgICAgICAgaWYgc2VsZi5fb3B0aW9ucy5ub25faW50
ZXJhY3RpdmU6CiAgICAgICAgICAgICBhcmdzLmV4dGVuZChbCmRpZmYgLS1naXQgYS9Ub29scy9T
Y3JpcHRzL3dlYmtpdHB5L3Rvb2wvc3RlcHMvcnVudGVzdHNfdW5pdHRlc3QucHkgYi9Ub29scy9T
Y3JpcHRzL3dlYmtpdHB5L3Rvb2wvc3RlcHMvcnVudGVzdHNfdW5pdHRlc3QucHkKaW5kZXggYmY4
ODhlNTA1NDQ2Yzg2YWI3NTUxODE2MTc2NTI1NGUxMDY2MjQ2Ny4uMTIxMTdmN2M3MTgyZjNiYzc1
MDU4Yjk5ZjY0MWI0MTlhYTExMjAxYiAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS90b29sL3N0ZXBzL3J1bnRlc3RzX3VuaXR0ZXN0LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvdG9vbC9zdGVwcy9ydW50ZXN0c191bml0dGVzdC5weQpAQCAtMzgsOSArMzgsMTAgQEAg
Y2xhc3MgUnVuVGVzdHNUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAgICAgdG9vbC5fZGVw
cmVjYXRlZF9wb3J0LnJ1bl9weXRob25fdW5pdHRlc3RzX2NvbW1hbmQgPSBsYW1iZGE6IE5vbmUK
ICAgICAgICAgdG9vbC5fZGVwcmVjYXRlZF9wb3J0LnJ1bl9wZXJsX3VuaXR0ZXN0c19jb21tYW5k
ID0gbGFtYmRhOiBOb25lCiAgICAgICAgIHN0ZXAgPSBSdW5UZXN0cyh0b29sLCBNb2NrT3B0aW9u
cyh0ZXN0PVRydWUsIG5vbl9pbnRlcmFjdGl2ZT1UcnVlLCBxdWlldD1GYWxzZSkpCi0gICAgICAg
IGV4cGVjdGVkX3N0ZGVyciA9ICIiIlJ1bm5pbmcgV2ViS2l0IHVuaXQgdGVzdHMKLU1PQ0sgcnVu
X2FuZF90aHJvd19pZl9mYWlsOiBbJ21vY2stcnVuLXdlYmtpdC11bml0LXRlc3RzJywgJy0tZ3Rl
c3Rfb3V0cHV0PXhtbDovbW9jay1yZXN1bHRzL3dlYmtpdF91bml0X3Rlc3RzX291dHB1dC54bWwn
XSwgY3dkPS9tb2NrLWNoZWNrb3V0Ci1SdW5uaW5nIHJ1bi13ZWJraXQtdGVzdHMKKyAgICAgICAg
ZXhwZWN0ZWRfc3RkZXJyID0gIiIiTU9DSyBydW5fYW5kX3Rocm93X2lmX2ZhaWw6IFsnbW9jay1y
dW4td2Via2l0LXVuaXQtdGVzdHMnLCAnLS1ndGVzdF9vdXRwdXQ9eG1sOi9tb2NrLXJlc3VsdHMv
d2Via2l0X3VuaXRfdGVzdHNfb3V0cHV0LnhtbCddLCBjd2Q9L21vY2stY2hlY2tvdXQKIE1PQ0sg
cnVuX2FuZF90aHJvd19pZl9mYWlsOiBbJ21vY2stcnVuLXdlYmtpdC10ZXN0cycsICctLW5vLW5l
dy10ZXN0LXJlc3VsdHMnLCAnLS1uby1sYXVuY2gtc2FmYXJpJywgJy0tc2tpcC1mYWlsaW5nLXRl
c3RzJywgJy0tZXhpdC1hZnRlci1uLWZhaWx1cmVzPTMwJywgJy0tcmVzdWx0cy1kaXJlY3Rvcnk9
L21vY2stcmVzdWx0cycsICctLXF1aWV0J10sIGN3ZD0vbW9jay1jaGVja291dAogIiIiCisgICAg
ICAgIGV4cGVjdGVkX2xvZ3MgPSAiIiJSdW5uaW5nIFdlYktpdCB1bml0IHRlc3RzCitSdW5uaW5n
IHJ1bi13ZWJraXQtdGVzdHMKKyIiIgogICAgICAgICBPdXRwdXRDYXB0dXJlKCkuYXNzZXJ0X291
dHB1dHMoc2VsZiwgc3RlcC5ydW4sIFt7fV0sIGV4cGVjdGVkX3N0ZGVycj1leHBlY3RlZF9zdGRl
cnIpCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvc3RlcHMvc3RlcHNf
dW5pdHRlc3QucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvc3RlcHMvc3RlcHNfdW5p
dHRlc3QucHkKaW5kZXggOTlmMTc0OTMyZmVlODkyMmNiNTkyOGE4ZjllNmUzZWE3ODQ5YWFjMS4u
MzNiMzYyYmYzMDRkMjAyMmFkOTgyMGJiOWJjMzdkNGNmZmE4MzA5OSAxMDA2NDQKLS0tIGEvVG9v
bHMvU2NyaXB0cy93ZWJraXRweS90b29sL3N0ZXBzL3N0ZXBzX3VuaXR0ZXN0LnB5CisrKyBiL1Rv
b2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9zdGVwcy9zdGVwc191bml0dGVzdC5weQpAQCAtNTYs
OCArNTYsOCBAQCBjbGFzcyBTdGVwc1Rlc3QodW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICB0
b29sID0gTW9ja1Rvb2woKQogICAgICAgICBvcHRpb25zID0gc2VsZi5fc3RlcF9vcHRpb25zKCkK
ICAgICAgICAgb3B0aW9ucy51cGRhdGUgPSBUcnVlCi0gICAgICAgIGV4cGVjdGVkX3N0ZGVyciA9
ICJVcGRhdGluZyB3b3JraW5nIGRpcmVjdG9yeVxuIgotICAgICAgICBPdXRwdXRDYXB0dXJlKCku
YXNzZXJ0X291dHB1dHMoc2VsZiwgc2VsZi5fcnVuX3N0ZXAsIFtzdGVwcy5VcGRhdGUsIHRvb2ws
IG9wdGlvbnNdLCBleHBlY3RlZF9zdGRlcnI9ZXhwZWN0ZWRfc3RkZXJyKQorICAgICAgICBleHBl
Y3RlZF9sb2dzID0gIlVwZGF0aW5nIHdvcmtpbmcgZGlyZWN0b3J5XG4iCisgICAgICAgIE91dHB1
dENhcHR1cmUoKS5hc3NlcnRfb3V0cHV0cyhzZWxmLCBzZWxmLl9ydW5fc3RlcCwgW3N0ZXBzLlVw
ZGF0ZSwgdG9vbCwgb3B0aW9uc10sIGV4cGVjdGVkX2xvZ3M9ZXhwZWN0ZWRfbG9ncykKIAogICAg
IGRlZiB0ZXN0X3Byb21wdF9mb3JfYnVnX29yX3RpdGxlX3N0ZXAoc2VsZik6CiAgICAgICAgIHRv
b2wgPSBNb2NrVG9vbCgpCkBAIC0xMDQsMTMgKzEwNCwxNCBAQCBjbGFzcyBTdGVwc1Rlc3QodW5p
dHRlc3QuVGVzdENhc2UpOgogICAgICAgICB0b29sID0gTW9ja1Rvb2wobG9nX2V4ZWN1dGl2ZT1U
cnVlKQogICAgICAgICB0b29sLnBvcnQgPSBsYW1iZGE6IG1vY2tfcG9ydAogICAgICAgICBzdGVw
ID0gc3RlcHMuUnVuVGVzdHModG9vbCwgbW9ja19vcHRpb25zKQotICAgICAgICBleHBlY3RlZF9z
dGRlcnIgPSAiIiJSdW5uaW5nIFB5dGhvbiB1bml0IHRlc3RzCi1NT0NLIHJ1bl9hbmRfdGhyb3df
aWZfZmFpbDogWydUb29scy9TY3JpcHRzL3Rlc3Qtd2Via2l0cHknXSwgY3dkPS9tb2NrLWNoZWNr
b3V0Ci1SdW5uaW5nIFBlcmwgdW5pdCB0ZXN0cworICAgICAgICBleHBlY3RlZF9zdGRlcnIgPSAi
IiJNT0NLIHJ1bl9hbmRfdGhyb3dfaWZfZmFpbDogWydUb29scy9TY3JpcHRzL3Rlc3Qtd2Via2l0
cHknXSwgY3dkPS9tb2NrLWNoZWNrb3V0CiBNT0NLIHJ1bl9hbmRfdGhyb3dfaWZfZmFpbDogWydU
b29scy9TY3JpcHRzL3Rlc3Qtd2Via2l0cGVybCddLCBjd2Q9L21vY2stY2hlY2tvdXQKLVJ1bm5p
bmcgSmF2YVNjcmlwdENvcmUgdGVzdHMKIE1PQ0sgcnVuX2FuZF90aHJvd19pZl9mYWlsOiBbJ1Rv
b2xzL1NjcmlwdHMvcnVuLWphdmFzY3JpcHRjb3JlLXRlc3RzJ10sIGN3ZD0vbW9jay1jaGVja291
dAotUnVubmluZyBydW4td2Via2l0LXRlc3RzCiBNT0NLIHJ1bl9hbmRfdGhyb3dfaWZfZmFpbDog
WydUb29scy9TY3JpcHRzL3J1bi13ZWJraXQtdGVzdHMnLCAnLS1xdWlldCddLCBjd2Q9L21vY2st
Y2hlY2tvdXQKICIiIgotICAgICAgICBPdXRwdXRDYXB0dXJlKCkuYXNzZXJ0X291dHB1dHMoc2Vs
Ziwgc3RlcC5ydW4sIFt7fV0sIGV4cGVjdGVkX3N0ZGVycj1leHBlY3RlZF9zdGRlcnIpCisgICAg
ICAgIGV4cGVjdGVkX2xvZ3MgPSAiIiJSdW5uaW5nIFB5dGhvbiB1bml0IHRlc3RzCitSdW5uaW5n
IFBlcmwgdW5pdCB0ZXN0cworUnVubmluZyBKYXZhU2NyaXB0Q29yZSB0ZXN0cworUnVubmluZyBy
dW4td2Via2l0LXRlc3RzCisiIiIKKyAgICAgICAgT3V0cHV0Q2FwdHVyZSgpLmFzc2VydF9vdXRw
dXRzKHNlbGYsIHN0ZXAucnVuLCBbe31dLCBleHBlY3RlZF9zdGRlcnI9ZXhwZWN0ZWRfc3RkZXJy
LCBleHBlY3RlZF9sb2dzPWV4cGVjdGVkX2xvZ3MpCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRz
L3dlYmtpdHB5L3Rvb2wvc3RlcHMvdXBkYXRlLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90
b29sL3N0ZXBzL3VwZGF0ZS5weQppbmRleCBjYWUyYmJkOGQ5NDhjY2UxOGQ1OWNlYjU3ZWZlZmMy
YmY3YjA4MjA0Li4wNzM3ZWJjZDBiOTIxYjA0ODdkOTkyMWQwOGM4ZjczNjBkZDE3YTcyIDEwMDY0
NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvc3RlcHMvdXBkYXRlLnB5CisrKyBi
L1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9zdGVwcy91cGRhdGUucHkKQEAgLTI2LDkgKzI2
LDEyIEBACiAjIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQogIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogCitpbXBvcnQgbG9nZ2luZwor
CiBmcm9tIHdlYmtpdHB5LnRvb2wuc3RlcHMuYWJzdHJhY3RzdGVwIGltcG9ydCBBYnN0cmFjdFN0
ZXAKIGZyb20gd2Via2l0cHkudG9vbC5zdGVwcy5vcHRpb25zIGltcG9ydCBPcHRpb25zCi1mcm9t
IHdlYmtpdHB5LmNvbW1vbi5zeXN0ZW0uZGVwcmVjYXRlZF9sb2dnaW5nIGltcG9ydCBsb2cKKwor
X2xvZyA9IGxvZ2dpbmcuZ2V0TG9nZ2VyKF9fbmFtZV9fKQogCiAKIGNsYXNzIFVwZGF0ZShBYnN0
cmFjdFN0ZXApOgpAQCAtNDMsNyArNDYsNyBAQCBjbGFzcyBVcGRhdGUoQWJzdHJhY3RTdGVwKToK
ICAgICBkZWYgcnVuKHNlbGYsIHN0YXRlKToKICAgICAgICAgaWYgbm90IHNlbGYuX29wdGlvbnMu
dXBkYXRlOgogICAgICAgICAgICAgcmV0dXJuCi0gICAgICAgIGxvZygiVXBkYXRpbmcgd29ya2lu
ZyBkaXJlY3RvcnkiKQorICAgICAgICBfbG9nLmluZm8oIlVwZGF0aW5nIHdvcmtpbmcgZGlyZWN0
b3J5IikKICAgICAgICAgc2VsZi5fdG9vbC5leGVjdXRpdmUucnVuX2FuZF90aHJvd19pZl9mYWls
KHNlbGYuX3VwZGF0ZV9jb21tYW5kKCksIHF1aWV0PXNlbGYuX29wdGlvbnMucXVpZXQsIGN3ZD1z
ZWxmLl90b29sLnNjbSgpLmNoZWNrb3V0X3Jvb3QpCiAKICAgICBkZWYgX3VwZGF0ZV9jb21tYW5k
KHNlbGYpOgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL3N0ZXBzL3Vw
ZGF0ZWNoYW5nZWxvZ3N3aXRocmV2aWV3X3VuaXR0ZXN0LnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJr
aXRweS90b29sL3N0ZXBzL3VwZGF0ZWNoYW5nZWxvZ3N3aXRocmV2aWV3X3VuaXR0ZXN0LnB5Cmlu
ZGV4IDhlYzg4OTFmOWFkY2ZjMjgzN2FkNjgzNTA0YWE4YWRhMmY4NmMzZjAuLjMxODJjZjNhYjli
ZTExYThlOTM4NDY0NDJlNTI0MGU0OTU0N2RmNGYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cHkvdG9vbC9zdGVwcy91cGRhdGVjaGFuZ2Vsb2dzd2l0aHJldmlld191bml0dGVzdC5w
eQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvc3RlcHMvdXBkYXRlY2hhbmdlbG9n
c3dpdGhyZXZpZXdfdW5pdHRlc3QucHkKQEAgLTM2LDE0ICszNiwxNCBAQCBjbGFzcyBVcGRhdGVD
aGFuZ2VMb2dzV2l0aFJldmlld2VyVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgZGVmIHRl
c3RfZ3Vlc3NfcmV2aWV3ZXJfZnJvbV9idWcoc2VsZik6CiAgICAgICAgIGNhcHR1cmUgPSBPdXRw
dXRDYXB0dXJlKCkKICAgICAgICAgc3RlcCA9IFVwZGF0ZUNoYW5nZUxvZ3NXaXRoUmV2aWV3ZXIo
TW9ja1Rvb2woKSwgTW9ja09wdGlvbnMoKSkKLSAgICAgICAgZXhwZWN0ZWRfc3RkZXJyID0gIk5v
IHJldmlld2VkIHBhdGNoZXMgb24gYnVnIDUwMDAxLCBjYW5ub3QgaW5mZXIgcmV2aWV3ZXIuXG4i
Ci0gICAgICAgIGNhcHR1cmUuYXNzZXJ0X291dHB1dHMoc2VsZiwgc3RlcC5fZ3Vlc3NfcmV2aWV3
ZXJfZnJvbV9idWcsIFs1MDAwMV0sIGV4cGVjdGVkX3N0ZGVycj1leHBlY3RlZF9zdGRlcnIpCisg
ICAgICAgIGV4cGVjdGVkX2xvZ3MgPSAiTm8gcmV2aWV3ZWQgcGF0Y2hlcyBvbiBidWcgNTAwMDEs
IGNhbm5vdCBpbmZlciByZXZpZXdlci5cbiIKKyAgICAgICAgY2FwdHVyZS5hc3NlcnRfb3V0cHV0
cyhzZWxmLCBzdGVwLl9ndWVzc19yZXZpZXdlcl9mcm9tX2J1ZywgWzUwMDAxXSwgZXhwZWN0ZWRf
bG9ncz1leHBlY3RlZF9sb2dzKQogCiAgICAgZGVmIHRlc3RfZ3Vlc3NfcmV2aWV3ZXJfZnJvbV9t
dWx0aXBhdGNoX2J1ZyhzZWxmKToKICAgICAgICAgY2FwdHVyZSA9IE91dHB1dENhcHR1cmUoKQog
ICAgICAgICBzdGVwID0gVXBkYXRlQ2hhbmdlTG9nc1dpdGhSZXZpZXdlcihNb2NrVG9vbCgpLCBN
b2NrT3B0aW9ucygpKQotICAgICAgICBleHBlY3RlZF9zdGRlcnIgPSAiR3Vlc3NpbmcgXCJSZXZp
ZXdlcjJcIiBhcyByZXZpZXdlciBmcm9tIGF0dGFjaG1lbnQgMTAwMDEgb24gYnVnIDUwMDAwLlxu
IgotICAgICAgICBjYXB0dXJlLmFzc2VydF9vdXRwdXRzKHNlbGYsIHN0ZXAuX2d1ZXNzX3Jldmll
d2VyX2Zyb21fYnVnLCBbNTAwMDBdLCBleHBlY3RlZF9zdGRlcnI9ZXhwZWN0ZWRfc3RkZXJyKQor
ICAgICAgICBleHBlY3RlZF9sb2dzID0gIkd1ZXNzaW5nIFwiUmV2aWV3ZXIyXCIgYXMgcmV2aWV3
ZXIgZnJvbSBhdHRhY2htZW50IDEwMDAxIG9uIGJ1ZyA1MDAwMC5cbiIKKyAgICAgICAgY2FwdHVy
ZS5hc3NlcnRfb3V0cHV0cyhzZWxmLCBzdGVwLl9ndWVzc19yZXZpZXdlcl9mcm9tX2J1ZywgWzUw
MDAwXSwgZXhwZWN0ZWRfbG9ncz1leHBlY3RlZF9sb2dzKQogCiAgICAgZGVmIHRlc3RfZW1wdHlf
c3RhdGUoc2VsZik6CiAgICAgICAgIGNhcHR1cmUgPSBPdXRwdXRDYXB0dXJlKCkKZGlmZiAtLWdp
dCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9zdGVwcy91cGRhdGVjaGFuZ2Vsb2dzd2l0
aHJldmlld2VyLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL3N0ZXBzL3VwZGF0ZWNo
YW5nZWxvZ3N3aXRocmV2aWV3ZXIucHkKaW5kZXggY2MzZTk2NTI1YzE5YTgwMDk5NWFjMmRmZjU2
MDgxOWNhOGYzNzljYi4uZWYyMTBhMDJmMmEzYzg0OWY5NmMxMDJkNDQyNTc1ZDcyNjY2YmQzYSAx
MDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL3N0ZXBzL3VwZGF0ZWNoYW5n
ZWxvZ3N3aXRocmV2aWV3ZXIucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL3N0
ZXBzL3VwZGF0ZWNoYW5nZWxvZ3N3aXRocmV2aWV3ZXIucHkKQEAgLTI2LDExICsyNiwxNSBAQAog
IyAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UKICMgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KIAoraW1wb3J0IGxvZ2dpbmcKKwogZnJvbSB3
ZWJraXRweS5jb21tb24uY2hlY2tvdXQuY2hhbmdlbG9nIGltcG9ydCBDaGFuZ2VMb2cKIGZyb20g
d2Via2l0cHkudG9vbC5ncmFtbWFyIGltcG9ydCBwbHVyYWxpemUKIGZyb20gd2Via2l0cHkudG9v
bC5zdGVwcy5hYnN0cmFjdHN0ZXAgaW1wb3J0IEFic3RyYWN0U3RlcAogZnJvbSB3ZWJraXRweS50
b29sLnN0ZXBzLm9wdGlvbnMgaW1wb3J0IE9wdGlvbnMKLWZyb20gd2Via2l0cHkuY29tbW9uLnN5
c3RlbS5kZXByZWNhdGVkX2xvZ2dpbmcgaW1wb3J0IGxvZywgZXJyb3IKKworX2xvZyA9IGxvZ2dp
bmcuZ2V0TG9nZ2VyKF9fbmFtZV9fKQorCiAKIGNsYXNzIFVwZGF0ZUNoYW5nZUxvZ3NXaXRoUmV2
aWV3ZXIoQWJzdHJhY3RTdGVwKToKICAgICBAY2xhc3NtZXRob2QKQEAgLTQ1LDEwICs0OSwxMCBA
QCBjbGFzcyBVcGRhdGVDaGFuZ2VMb2dzV2l0aFJldmlld2VyKEFic3RyYWN0U3RlcCk6CiAgICAg
ICAgICMgaGVyZSBhcyB3ZSBkb24ndCBjdXJyZW50bHkgaGF2ZSBhIHdheSB0byBpbnZhbGlkYXRl
IGEgYnVnIGFmdGVyIG1ha2luZyBjaGFuZ2VzIChsaWtlIE9ic29sZXRlUGF0Y2hlcyBkb2VzKS4K
ICAgICAgICAgcGF0Y2hlcyA9IHNlbGYuX3Rvb2wuYnVncy5mZXRjaF9idWcoYnVnX2lkKS5yZXZp
ZXdlZF9wYXRjaGVzKCkKICAgICAgICAgaWYgbm90IHBhdGNoZXM6Ci0gICAgICAgICAgICBsb2co
IiVzIG9uIGJ1ZyAlcywgY2Fubm90IGluZmVyIHJldmlld2VyLiIgJSAoIk5vIHJldmlld2VkIHBh
dGNoZXMiLCBidWdfaWQpKQorICAgICAgICAgICAgX2xvZy5pbmZvKCIlcyBvbiBidWcgJXMsIGNh
bm5vdCBpbmZlciByZXZpZXdlci4iICUgKCJObyByZXZpZXdlZCBwYXRjaGVzIiwgYnVnX2lkKSkK
ICAgICAgICAgICAgIHJldHVybiBOb25lCiAgICAgICAgIHBhdGNoID0gcGF0Y2hlc1stMV0KLSAg
ICAgICAgbG9nKCJHdWVzc2luZyBcIiVzXCIgYXMgcmV2aWV3ZXIgZnJvbSBhdHRhY2htZW50ICVz
IG9uIGJ1ZyAlcy4iICUgKHBhdGNoLnJldmlld2VyKCkuZnVsbF9uYW1lLCBwYXRjaC5pZCgpLCBi
dWdfaWQpKQorICAgICAgICBfbG9nLmluZm8oIkd1ZXNzaW5nIFwiJXNcIiBhcyByZXZpZXdlciBm
cm9tIGF0dGFjaG1lbnQgJXMgb24gYnVnICVzLiIgJSAocGF0Y2gucmV2aWV3ZXIoKS5mdWxsX25h
bWUsIHBhdGNoLmlkKCksIGJ1Z19pZCkpCiAgICAgICAgIHJldHVybiBwYXRjaC5yZXZpZXdlcigp
LmZ1bGxfbmFtZQogCiAgICAgZGVmIHJ1bihzZWxmLCBzdGF0ZSk6CkBAIC01OSwxMiArNjMsMTIg
QEAgY2xhc3MgVXBkYXRlQ2hhbmdlTG9nc1dpdGhSZXZpZXdlcihBYnN0cmFjdFN0ZXApOgogICAg
ICAgICByZXZpZXdlciA9IHNlbGYuX29wdGlvbnMucmV2aWV3ZXIKICAgICAgICAgaWYgbm90IHJl
dmlld2VyOgogICAgICAgICAgICAgaWYgbm90IGJ1Z19pZDoKLSAgICAgICAgICAgICAgICBsb2co
Ik5vIGJ1ZyBpZCBwcm92aWRlZCBhbmQgLS1yZXZpZXdlcj0gbm90IHByb3ZpZGVkLiAgTm90IHVw
ZGF0aW5nIENoYW5nZUxvZ3Mgd2l0aCByZXZpZXdlci4iKQorICAgICAgICAgICAgICAgIF9sb2cu
aW5mbygiTm8gYnVnIGlkIHByb3ZpZGVkIGFuZCAtLXJldmlld2VyPSBub3QgcHJvdmlkZWQuICBO
b3QgdXBkYXRpbmcgQ2hhbmdlTG9ncyB3aXRoIHJldmlld2VyLiIpCiAgICAgICAgICAgICAgICAg
cmV0dXJuCiAgICAgICAgICAgICByZXZpZXdlciA9IHNlbGYuX2d1ZXNzX3Jldmlld2VyX2Zyb21f
YnVnKGJ1Z19pZCkKIAogICAgICAgICBpZiBub3QgcmV2aWV3ZXI6Ci0gICAgICAgICAgICBsb2co
IkZhaWxlZCB0byBndWVzcyByZXZpZXdlciBmcm9tIGJ1ZyAlcyBhbmQgLS1yZXZpZXdlcj0gbm90
IHByb3ZpZGVkLiAgTm90IHVwZGF0aW5nIENoYW5nZUxvZ3Mgd2l0aCByZXZpZXdlci4iICUgYnVn
X2lkKQorICAgICAgICAgICAgX2xvZy5pbmZvKCJGYWlsZWQgdG8gZ3Vlc3MgcmV2aWV3ZXIgZnJv
bSBidWcgJXMgYW5kIC0tcmV2aWV3ZXI9IG5vdCBwcm92aWRlZC4gIE5vdCB1cGRhdGluZyBDaGFu
Z2VMb2dzIHdpdGggcmV2aWV3ZXIuIiAlIGJ1Z19pZCkKICAgICAgICAgICAgIHJldHVybgogCiAg
ICAgICAgICMgY2FjaGVkX2xvb2t1cCgiY2hhbmdlbG9ncyIpIGlzIGFsd2F5cyBhYnNvbHV0ZSBw
YXRocy4KZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9zdGVwcy91cGRh
dGVjaHJvbWl1bWRlcHMucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvc3RlcHMvdXBk
YXRlY2hyb21pdW1kZXBzLnB5CmluZGV4IGM5ZmM2MzE3OTY2ZjczYzFiYTk1OWMyY2FmZGJlYTMx
ZDYxMzU1MjQuLjIzZDg2MWJmY2FmMTRjMWQyMDc4ZjFlZjM0MjBiYjA0ZDM4MWI1YWUgMTAwNjQ0
Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9zdGVwcy91cGRhdGVjaHJvbWl1bWRl
cHMucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL3N0ZXBzL3VwZGF0ZWNocm9t
aXVtZGVwcy5weQpAQCAtMjYsMTIgKzI2LDE1IEBACiAjIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQogIyBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgogCitpbXBvcnQgbG9nZ2luZworaW1wb3J0IHN5cwogaW1wb3J0IHVybGxpYjIKIAogZnJv
bSB3ZWJraXRweS50b29sLnN0ZXBzLmFic3RyYWN0c3RlcCBpbXBvcnQgQWJzdHJhY3RTdGVwCiBm
cm9tIHdlYmtpdHB5LnRvb2wuc3RlcHMub3B0aW9ucyBpbXBvcnQgT3B0aW9ucwogZnJvbSB3ZWJr
aXRweS5jb21tb24uY29uZmlnIGltcG9ydCB1cmxzCi1mcm9tIHdlYmtpdHB5LmNvbW1vbi5zeXN0
ZW0uZGVwcmVjYXRlZF9sb2dnaW5nIGltcG9ydCBsb2csIGVycm9yCisKK19sb2cgPSBsb2dnaW5n
LmdldExvZ2dlcihfX25hbWVfXykKIAogCiBjbGFzcyBVcGRhdGVDaHJvbWl1bURFUFMoQWJzdHJh
Y3RTdGVwKToKQEAgLTQ5LDE2ICs1MiwxNyBAQCBjbGFzcyBVcGRhdGVDaHJvbWl1bURFUFMoQWJz
dHJhY3RTdGVwKToKICAgICAgICAgaWYgbmV3X2Nocm9taXVtX3JldmlzaW9uIDwgY3VycmVudF9j
aHJvbWl1bV9yZXZpc2lvbjoKICAgICAgICAgICAgIG1lc3NhZ2UgPSAiQ3VycmVudCBDaHJvbWl1
bSBERVBTIHJldmlzaW9uICVzIGlzIG5ld2VyIHRoYW4gJXMuIiAlIChjdXJyZW50X2Nocm9taXVt
X3JldmlzaW9uLCBuZXdfY2hyb21pdW1fcmV2aXNpb24pCiAgICAgICAgICAgICBpZiBzZWxmLl9v
cHRpb25zLm5vbl9pbnRlcmFjdGl2ZToKLSAgICAgICAgICAgICAgICBlcnJvcihtZXNzYWdlKSAg
IyBDYXVzZXMgdGhlIHByb2Nlc3MgdG8gdGVybWluYXRlLgotICAgICAgICAgICAgbG9nKG1lc3Nh
Z2UpCisgICAgICAgICAgICAgICAgX2xvZy5lcnJvcihtZXNzYWdlKQorICAgICAgICAgICAgICAg
IHN5cy5leGl0KDEpCisgICAgICAgICAgICBfbG9nLmluZm8obWVzc2FnZSkKICAgICAgICAgICAg
IG5ld19jaHJvbWl1bV9yZXZpc2lvbiA9IHNlbGYuX3Rvb2wudXNlci5wcm9tcHQoIkVudGVyIG5l
dyBjaHJvbWl1bSByZXZpc2lvbiAoZW50ZXIgbm90aGluZyB0byBjYW5jZWwpOlxuIikKICAgICAg
ICAgICAgIHRyeToKICAgICAgICAgICAgICAgICBuZXdfY2hyb21pdW1fcmV2aXNpb24gPSBpbnQo
bmV3X2Nocm9taXVtX3JldmlzaW9uKQogICAgICAgICAgICAgZXhjZXB0IFZhbHVlRXJyb3IsIFR5
cGVFcnJvcjoKICAgICAgICAgICAgICAgICBuZXdfY2hyb21pdW1fcmV2aXNpb24gPSBOb25lCiAg
ICAgICAgICAgICBpZiBub3QgbmV3X2Nocm9taXVtX3JldmlzaW9uOgotICAgICAgICAgICAgICAg
IGVycm9yKCJVbmFibGUgdG8gdXBkYXRlIENocm9taXVtIERFUFMiKQotCisgICAgICAgICAgICAg
ICAgX2xvZy5lcnJvcigiVW5hYmxlIHRvIHVwZGF0ZSBDaHJvbWl1bSBERVBTIikKKyAgICAgICAg
ICAgICAgICBzeXMuZXhpdCgxKQogCiAgICAgZGVmIHJ1bihzZWxmLCBzdGF0ZSk6CiAgICAgICAg
ICMgTm90ZSB0aGF0IHN0YXRlWyJjaHJvbWl1bV9yZXZpc2lvbiJdIG11c3QgYmUgZGVmaW5lZCwg
YnV0IGNhbiBiZSBOb25lLgpAQCAtNjksNSArNzMsNSBAQCBjbGFzcyBVcGRhdGVDaHJvbWl1bURF
UFMoQWJzdHJhY3RTdGVwKToKICAgICAgICAgZGVwcyA9IHNlbGYuX3Rvb2wuY2hlY2tvdXQoKS5j
aHJvbWl1bV9kZXBzKCkKICAgICAgICAgY3VycmVudF9jaHJvbWl1bV9yZXZpc2lvbiA9IGRlcHMu
cmVhZF92YXJpYWJsZSgiY2hyb21pdW1fcmV2IikKICAgICAgICAgc2VsZi5fdmFsaWRhdGVfcmV2
aXNpb25zKGN1cnJlbnRfY2hyb21pdW1fcmV2aXNpb24sIG5ld19jaHJvbWl1bV9yZXZpc2lvbikK
LSAgICAgICAgbG9nKCJVcGRhdGluZyBDaHJvbWl1bSBERVBTIHRvICVzIiAlIG5ld19jaHJvbWl1
bV9yZXZpc2lvbikKKyAgICAgICAgX2xvZy5pbmZvKCJVcGRhdGluZyBDaHJvbWl1bSBERVBTIHRv
ICVzIiAlIG5ld19jaHJvbWl1bV9yZXZpc2lvbikKICAgICAgICAgZGVwcy53cml0ZV92YXJpYWJs
ZSgiY2hyb21pdW1fcmV2IiwgbmV3X2Nocm9taXVtX3JldmlzaW9uKQpkaWZmIC0tZ2l0IGEvVG9v
bHMvU2NyaXB0cy93ZWJraXRweS90b29sL3N0ZXBzL3ZhbGlkYXRlY2hhbmdlbG9ncy5weSBiL1Rv
b2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9zdGVwcy92YWxpZGF0ZWNoYW5nZWxvZ3MucHkKaW5k
ZXggYjZiMzNjMGI2YzM5NTBiODM3YmM2YjE0YjU3YzQ3OTg3YzY1ZjU5Yy4uMDYxYmFhNWVjOGE5
N2MyZmU0NzViM2E4ZjUzMWNkMGUzNzIxNzY4NCAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93
ZWJraXRweS90b29sL3N0ZXBzL3ZhbGlkYXRlY2hhbmdlbG9ncy5weQorKysgYi9Ub29scy9TY3Jp
cHRzL3dlYmtpdHB5L3Rvb2wvc3RlcHMvdmFsaWRhdGVjaGFuZ2Vsb2dzLnB5CkBAIC0yNiwxMCAr
MjYsMTQgQEAKICMgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCiAjIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAKK2ltcG9ydCBsb2dnaW5n
CitpbXBvcnQgc3lzCisKIGZyb20gd2Via2l0cHkudG9vbC5zdGVwcy5hYnN0cmFjdHN0ZXAgaW1w
b3J0IEFic3RyYWN0U3RlcAogZnJvbSB3ZWJraXRweS50b29sLnN0ZXBzLm9wdGlvbnMgaW1wb3J0
IE9wdGlvbnMKIGZyb20gd2Via2l0cHkuY29tbW9uLmNoZWNrb3V0LmRpZmZfcGFyc2VyIGltcG9y
dCBEaWZmUGFyc2VyCi1mcm9tIHdlYmtpdHB5LmNvbW1vbi5zeXN0ZW0uZGVwcmVjYXRlZF9sb2dn
aW5nIGltcG9ydCBlcnJvciwgbG9nCisKK19sb2cgPSBsb2dnaW5nLmdldExvZ2dlcihfX25hbWVf
XykKIAogCiAjIFRoaXMgaXMgY2xvc2VseSByZWxhdGVkIHRvIHRoZSBWYWxpZGF0ZVJldmlld2Vy
IHN0ZXAgYW5kIHRoZSBDb21taXR0ZXJWYWxpZGF0b3IgY2xhc3MuCkBAIC01Myw3ICs1Nyw3IEBA
IGNsYXNzIFZhbGlkYXRlQ2hhbmdlTG9ncyhBYnN0cmFjdFN0ZXApOgogICAgICAgICBpZiBzZWxm
Ll9vcHRpb25zLm5vbl9pbnRlcmFjdGl2ZToKICAgICAgICAgICAgIHJldHVybiBGYWxzZQogCi0g
ICAgICAgIGxvZygiVGhlIGRpZmYgdG8gJXMgbG9va3Mgd3JvbmcuICBBcmUgeW91IHN1cmUgeW91
ciBDaGFuZ2VMb2cgZW50cnkgaXMgYXQgdGhlIHRvcCBvZiB0aGUgZmlsZT8iICUgKGRpZmZfZmls
ZS5maWxlbmFtZSkpCisgICAgICAgIF9sb2cuaW5mbygiVGhlIGRpZmYgdG8gJXMgbG9va3Mgd3Jv
bmcuIEFyZSB5b3Ugc3VyZSB5b3VyIENoYW5nZUxvZyBlbnRyeSBpcyBhdCB0aGUgdG9wIG9mIHRo
ZSBmaWxlPyIgJSAoZGlmZl9maWxlLmZpbGVuYW1lKSkKICAgICAgICAgIyBGSVhNRTogRG8gd2Ug
bmVlZCB0byBtYWtlIHRoZSBmaWxlIHBhdGggYWJzb2x1dGU/CiAgICAgICAgIHNlbGYuX3Rvb2wu
c2NtKCkuZGlmZl9mb3JfZmlsZShkaWZmX2ZpbGUuZmlsZW5hbWUpCiAgICAgICAgIGlmIHNlbGYu
X3Rvb2wudXNlci5jb25maXJtKCJPSyB0byBjb250aW51ZT8iLCBkZWZhdWx0PSduJyk6CkBAIC03
Myw0ICs3Nyw1IEBAIGNsYXNzIFZhbGlkYXRlQ2hhbmdlTG9ncyhBYnN0cmFjdFN0ZXApOgogICAg
ICAgICAgICAgcGFyc2VkX2RpZmYgPSBEaWZmUGFyc2VyKGRpZmYuc3BsaXRsaW5lcygpKQogICAg
ICAgICAgICAgZm9yIGZpbGVuYW1lLCBkaWZmX2ZpbGUgaW4gcGFyc2VkX2RpZmYuZmlsZXMuaXRl
bXMoKToKICAgICAgICAgICAgICAgICBpZiBub3Qgc2VsZi5fY2hlY2tfY2hhbmdlbG9nX2RpZmYo
ZGlmZl9maWxlKToKLSAgICAgICAgICAgICAgICAgICAgZXJyb3IoIkNoYW5nZUxvZyBlbnRyeSBp
biAlcyBpcyBub3QgYXQgdGhlIHRvcCBvZiB0aGUgZmlsZS4iICUgZGlmZl9maWxlLmZpbGVuYW1l
KQorICAgICAgICAgICAgICAgICAgICBfbG9nLmVycm9yKCJDaGFuZ2VMb2cgZW50cnkgaW4gJXMg
aXMgbm90IGF0IHRoZSB0b3Agb2YgdGhlIGZpbGUuIiAlIGRpZmZfZmlsZS5maWxlbmFtZSkKKyAg
ICAgICAgICAgICAgICAgICAgc3lzLmV4aXQoMSkKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cHkvdG9vbC9zdGVwcy92YWxpZGF0ZWNoYW5nZWxvZ3NfdW5pdHRlc3QucHkgYi9Ub29s
cy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvc3RlcHMvdmFsaWRhdGVjaGFuZ2Vsb2dzX3VuaXR0ZXN0
LnB5CmluZGV4IDk2YmFlOWZhODE5ZmJlZDZkYmJjN2FlNTJiYzZhYmFhY2Y1YTNiYTEuLjY3OTlj
YjRiNmY1YjRiZDU4NmE1MTVhNDY4M2RhZTQ4OWIzNjczZWYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvdG9vbC9zdGVwcy92YWxpZGF0ZWNoYW5nZWxvZ3NfdW5pdHRlc3QucHkK
KysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL3N0ZXBzL3ZhbGlkYXRlY2hhbmdlbG9n
c191bml0dGVzdC5weQpAQCAtNDMsMTAgKzQzLDExIEBAIGNsYXNzIFZhbGlkYXRlQ2hhbmdlTG9n
c1Rlc3QodW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICBkaWZmX2ZpbGUgPSBNb2NrKCkKICAg
ICAgICAgZGlmZl9maWxlLmZpbGVuYW1lID0gIm1vY2svQ2hhbmdlTG9nIgogICAgICAgICBkaWZm
X2ZpbGUubGluZXMgPSBbKHN0YXJ0X2xpbmUsIHN0YXJ0X2xpbmUsICJmb28iKV0KLSAgICAgICAg
ZXhwZWN0ZWRfc3Rkb3V0ID0gZXhwZWN0ZWRfc3RkZXJyID0gIiIKKyAgICAgICAgZXhwZWN0ZWRf
c3Rkb3V0ID0gZXhwZWN0ZWRfc3RkZXJyID0gZXhwZWN0ZWRfbG9ncyA9ICIiCiAgICAgICAgIGlm
IHNob3VsZF9mYWlsIGFuZCBub3Qgbm9uX2ludGVyYWN0aXZlOgotICAgICAgICAgICAgZXhwZWN0
ZWRfc3RkZXJyID0gIlRoZSBkaWZmIHRvIG1vY2svQ2hhbmdlTG9nIGxvb2tzIHdyb25nLiAgQXJl
IHlvdSBzdXJlIHlvdXIgQ2hhbmdlTG9nIGVudHJ5IGlzIGF0IHRoZSB0b3Agb2YgdGhlIGZpbGU/
XG5PSyB0byBjb250aW51ZT9cbiIKLSAgICAgICAgcmVzdWx0ID0gT3V0cHV0Q2FwdHVyZSgpLmFz
c2VydF9vdXRwdXRzKHNlbGYsIHN0ZXAuX2NoZWNrX2NoYW5nZWxvZ19kaWZmLCBbZGlmZl9maWxl
XSwgZXhwZWN0ZWRfc3RkZXJyPWV4cGVjdGVkX3N0ZGVycikKKyAgICAgICAgICAgIGV4cGVjdGVk
X3N0ZGVyciA9ICJPSyB0byBjb250aW51ZT9cbiIKKyAgICAgICAgICAgIGV4cGVjdGVkX2xvZ3Mg
PSAiVGhlIGRpZmYgdG8gbW9jay9DaGFuZ2VMb2cgbG9va3Mgd3JvbmcuIEFyZSB5b3Ugc3VyZSB5
b3VyIENoYW5nZUxvZyBlbnRyeSBpcyBhdCB0aGUgdG9wIG9mIHRoZSBmaWxlP1xuIgorICAgICAg
ICByZXN1bHQgPSBPdXRwdXRDYXB0dXJlKCkuYXNzZXJ0X291dHB1dHMoc2VsZiwgc3RlcC5fY2hl
Y2tfY2hhbmdlbG9nX2RpZmYsIFtkaWZmX2ZpbGVdLCBleHBlY3RlZF9zdGRlcnI9ZXhwZWN0ZWRf
c3RkZXJyLCBleHBlY3RlZF9sb2dzPWV4cGVjdGVkX2xvZ3MpCiAgICAgICAgIHNlbGYuYXNzZXJ0
RXF1YWwobm90IHJlc3VsdCwgc2hvdWxkX2ZhaWwpCiAKICAgICBkZWYgdGVzdF9jaGVja19jaGFu
Z2Vsb2dfZGlmZihzZWxmKToKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9v
bC9zdGVwcy92YWxpZGF0ZXJldmlld2VyLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29s
L3N0ZXBzL3ZhbGlkYXRlcmV2aWV3ZXIucHkKaW5kZXggNWU5MzgyMWNlNmI3MDc2OGRjNDEzMGQ1
ZDllMmRlNmZjMTc5NzU3NS4uOTBkZGY1YmUzZjIwNzQzZGViMjMyYzdiNzM1M2E4ZDM2OGJjMzk2
OCAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL3N0ZXBzL3ZhbGlkYXRl
cmV2aWV3ZXIucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL3N0ZXBzL3ZhbGlk
YXRlcmV2aWV3ZXIucHkKQEAgLTI2LDEwICsyNiwxNCBAQAogIyAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKICMgT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KIAoraW1wb3J0IGxvZ2dpbmcKK2ltcG9ydCBzeXMKKwogZnJvbSB3ZWJraXRweS5j
b21tb24uY2hlY2tvdXQuY2hhbmdlbG9nIGltcG9ydCBDaGFuZ2VMb2cKIGZyb20gd2Via2l0cHku
dG9vbC5zdGVwcy5hYnN0cmFjdHN0ZXAgaW1wb3J0IEFic3RyYWN0U3RlcAogZnJvbSB3ZWJraXRw
eS50b29sLnN0ZXBzLm9wdGlvbnMgaW1wb3J0IE9wdGlvbnMKLWZyb20gd2Via2l0cHkuY29tbW9u
LnN5c3RlbS5kZXByZWNhdGVkX2xvZ2dpbmcgaW1wb3J0IGVycm9yLCBsb2cKKworX2xvZyA9IGxv
Z2dpbmcuZ2V0TG9nZ2VyKF9fbmFtZV9fKQogCiAKICMgRklYTUU6IFNvbWUgb2YgdGhpcyBsb2dp
YyBzaG91bGQgcHJvYmFibHkgYmUgdW5pZmllZCB3aXRoIENvbW1pdHRlclZhbGlkYXRvcj8KQEAg
LTUxLDUgKzU1LDYgQEAgY2xhc3MgVmFsaWRhdGVSZXZpZXdlcihBYnN0cmFjdFN0ZXApOgogICAg
ICAgICAgICAgICAgIGNvbnRpbnVlCiAgICAgICAgICAgICByZXZpZXdlcl90ZXh0ID0gY2hhbmdl
bG9nX2VudHJ5LnJldmlld2VyX3RleHQoKQogICAgICAgICAgICAgaWYgcmV2aWV3ZXJfdGV4dDoK
LSAgICAgICAgICAgICAgICBsb2coIiVzIGZvdW5kIGluICVzIGRvZXMgbm90IGFwcGVhciB0byBi
ZSBhIHZhbGlkIHJldmlld2VyIGFjY29yZGluZyB0byBjb21taXR0ZXJzLnB5LiIgJSAocmV2aWV3
ZXJfdGV4dCwgY2hhbmdlbG9nX3BhdGgpKQotICAgICAgICAgICAgZXJyb3IoJyVzIG5laXRoZXIg
bGlzdHMgYSB2YWxpZCByZXZpZXdlciBub3IgY29udGFpbnMgdGhlIHN0cmluZyAiVW5yZXZpZXdl
ZCIgb3IgIlJ1YmJlciBzdGFtcCIgKGNhc2UgaW5zZW5zaXRpdmUpLicgJSBjaGFuZ2Vsb2dfcGF0
aCkKKyAgICAgICAgICAgICAgICBfbG9nLmluZm8oIiVzIGZvdW5kIGluICVzIGRvZXMgbm90IGFw
cGVhciB0byBiZSBhIHZhbGlkIHJldmlld2VyIGFjY29yZGluZyB0byBjb21taXR0ZXJzLnB5LiIg
JSAocmV2aWV3ZXJfdGV4dCwgY2hhbmdlbG9nX3BhdGgpKQorICAgICAgICAgICAgX2xvZy5lcnJv
cignJXMgbmVpdGhlciBsaXN0cyBhIHZhbGlkIHJldmlld2VyIG5vciBjb250YWlucyB0aGUgc3Ry
aW5nICJVbnJldmlld2VkIiBvciAiUnViYmVyIHN0YW1wIiAoY2FzZSBpbnNlbnNpdGl2ZSkuJyAl
IGNoYW5nZWxvZ19wYXRoKQorICAgICAgICAgICAgc3lzLmV4aXQoMSkK
</data>

          </attachment>
      

    </bug>

</bugzilla>